#include #define endl '\n' using namespace std; const int maxn = 1e5 + 1; int n, k, x[maxn], y[maxn]; double s[maxn]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #ifdef ONLINE_JUDGE freopen("runners.in", "r", stdin); freopen("runners.out", "w", stdout); #endif cin >> n >> k; for(int i = 1;i <= k;i++){ cin >> s[i]; s[i] *= s[i]; } for(int i = 1;i <= n;i++){ cin >> x[i] >> y[i]; } for(int i = 1;i <= k;i++){ cout << x[i] << " " << y[i] << '\n'; } for(int i = 1;i <= k;i++){ cout << i << '\n'; } for(int i = k + 1;i <= n;i++){ int num = 1; double razl = x[i] - x[1]; double dist = razl * razl; razl = y[i] - y[1]; dist += razl * razl; dist *= s[1]; double ans = dist; for(int j = 2;j <= k;j++){ razl = x[i] - x[j]; dist = razl * razl; razl = y[i] - y[j]; dist += razl * razl; dist *= s[j]; if(dist < ans){ ans = dist; num = j; } } cout << num << '\n'; x[num] = x[i]; y[num] = y[i]; } return 0; }