#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Point {
int id;
int distance;
Point(int id, int distance) : id(id), distance(distance){}
};
int CalcDistance(int x1, int y1, int x2, int y2)
{
return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
bool cmp(const Point &p1, const Point &p2)
{
if (p1.distance == p2.distance) {
return p1.id < p2.id;
}
return p1.distance < p2.distance;
}
int main()
{
int n, X, Y;
cin >> n >> X >> Y;
vector<Point> points;
int px, py;
int dis;
for (int i = 0; i < n; i++) {
cin >> px >> py;
dis = CalcDistance(X, Y, px, py);
points.push_back(Point(i + 1, dis));
}
sort(points.begin(), points.end(), cmp);
for (int i = 0; i < 3; i++) {
cout << points[i].id << endl;
}
return 0;
}