#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
struct Point{
int number;
int dd;
Point(int nn,int ddd):number(nn),dd(ddd){}
};
bool cmp(const Point &s,const Point &ss)
{
if(ss.dd==s.dd)
return s.number<ss.number;
else
return s.dd<ss.dd;
}
int CalcDistance(int x1, int y1, int x2, int y2)
{
return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
int main()
{
int n,x,y;
cin>>n>>x>>y;
vector<Point>v;
int xx,yy;
for(int i=0;i<n;i++)
{
cin>>xx>>yy;
int dis=CalcDistance(x,y,xx,yy);
v.push_back(Point(i+1,dis));
}
sort(v.begin(),v.end(),cmp);
for (int i = 0; i < 3; i++) {
cout << v[i].number << endl;
}
return 0;
///从近到远,依次输出距离该市民最近的三个检测点编号
}