#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #ifndef ONLINE_JUDGE #include ifstream cin ("f.in"); ofstream cout ("f.out"); #else #include #endif // ONLINE_JUDGE int N, K; double BossX, BossY; double DistSQ(double Ax, double Ay, double Bx, double By) { return sqrt((Ax - Bx) * (Ax - Bx) + (Ay - By) * (Ay - By)); } vector > > V; int main() { cin >> N >> K >> BossX >> BossY; for (int i = 1; i <= N; ++i) { int x, y; cin >> x >> y; V.push_back({DistSQ(BossX, BossY, x, y), {x, y}}); } sort(V.begin(), V.end()); for (int i = 0; i < min(K, N); ++i) cout << V[i].second.first << ' ' << V[i].second.second << '\n'; };