#include <cstdio>
#include <algorithm>
using namespace std;
struct point
{
    int x, y;
}; point v[10005];
int xb, yb;
inline int dist (point a)
{
    return (a.x - xb) * (a.x - xb) + (a.y - yb) * (a.y - yb);
}

bool cmp(point a, point b)
{
    int d1, d2;
    d1 = dist (a);
    d2 = dist (b);
    if (d1 == d2)
    {
        if (a.x == b.x)
            return a.y < b.y;
        else
            return a.x < b.x;
    }
    else
        return d1 < d2;
}
int main()
{
    int n, k, x, y;
    scanf("%d %d", &n, &k);
    scanf("%d %d", &xb, &yb);
    for (int i = 1; i <= n; ++i)
    {
        scanf("%d %d", &x, &y);
        v[i].x = x; v[i].y = y;
    }
    sort (v + 1, v + n + 1, cmp);
    for (int i = 1; i <= k; ++i)
        printf("%d %d\n", v[i].x, v[i].y);
    return 0;
}