#include <stdio.h>
#include <stdlib.h>
#include <math.h>
	
typedef struct {
	int x;
	int y;
	int rank;
} cell;
	
int main(void) 
{
	int n, k, xBoss, yBoss, i, j;
	scanf("%d %d %d %d", &n, &k, &xBoss, &yBoss);
	cell *v = calloc(n, sizeof(cell));
	for (i = 0; i < n; i++) {
		scanf ("%d %d", &v[i].x, &v[i].y);
		v[i].rank = pow(xBoss - v[i].x, 2) + pow(yBoss - v[i].y, 2);
	}
	for (j = 0; j < n - 1; j++) {
		cell min = v[j]; 
		for (i = j + 1; i < n; i++) {
			if (v[i].rank < min.rank || (v[i].rank == min.rank && 
			    (v[i].x < min.x || 
			    (v[i].x == min.x && v[i].y < min.y)))) {
				min = v[i];
				v[i] = v[j];
				v[j] = min;
			}
		}
	}
	for (i = 0; i < k; i++) {
		printf("%d %d\n", v[i].x, v[i].y);
	}
	return 0;
}