#include #include #include using namespace std ; //ifstream cin ("input") ; //ofstream cout ("output") ; int x_boss, y_boss ; class cmp { public : bool operator () (const pair &A, const pair &B) { if (dist (make_pair(x_boss, y_boss), A) != dist (make_pair(x_boss, y_boss), B)) { return dist (make_pair(x_boss, y_boss), A) > dist (make_pair(x_boss, y_boss), B) ; } return A > B ; } private : int sq (int A) { return A * A ; } int dist (const pair &A, const pair &B) { return sq (A.first - B.first) + sq (A.second - B.second) ; } }; priority_queue , vector>, cmp> H ; int main(int argc, char const *argv[]) { int n, k; cin >> n >> k ; cin >> x_boss >> y_boss ; for (int i = 1 ; i <= n ; ++ i) { int x, y ; cin >> x >> y ; H.push ({x, y}) ; } while (k --) { cout << H.top().first << ' ' << H.top().second << '\n' ; H.pop() ; } return 0; }