#include #define endl '\n' using namespace std; const int MAXN = 1e5 + 50; int computers[MAXN][2]; int runners[MAXN][2]; int main() { #ifndef __LOCAL__ freopen("runners.in", "r", stdin); freopen("runners.out", "w", stdout); #endif // __LOCAL__ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, k; cin >> n >> k; for (int i = 0; i < k; i++) { double s; cin >> s; } for (int i = 0; i < n; i++) { cin >> computers[i][0] >> computers[i][1]; if (i < k) { runners[i][0] = computers[i][0]; runners[i][1] = computers[i][1]; } } for (int i = 0; i < k; i++) cout << computers[i][0] << " " << computers[i][1] << endl; for (int i = 0; i < k; i++) cout << i+1 << endl; for (int i = k; i < n; i++) { int64_t MIN = 1e18, MININDEX = -1; for (int j = 0; j < k; j++) { int64_t dist = (computers[i][0] - runners[i][0])*(computers[i][0] - runners[i][0]) + (computers[i][1] - runners[i][1])*(computers[i][1] - runners[i][1]); if (dist < MIN) { MIN = dist; MININDEX = j; } } runners[MININDEX][0] = computers[i][0]; runners[MININDEX][1] = computers[i][1]; cout << MININDEX+1 << endl; } return 0; }