#include<bits/stdc++.h>
//注意学会使用结构体和相应的排序,直接记录好相应的编号
//避免使用堆这种数据结构来减少时间复杂度,编起来太复杂
using namespace std;
const int maxn =2005;
int n,x,y;
struct node{
int id;
double dis;
}pos[maxn];
double get(double x,double y,double xx,double yy){
return (x-xx)*(x-xx) + (y -yy)*(y-yy);
}
bool cmp(node a,node b)
{
return a.dis==b.dis? a.id<b.id:a.dis<b.dis;
//先看一下二者的距离是否相等,如果相等的话,返回id小的,否则返回距离小的
}
int main(){
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
cin>>n>>x>>y;
for(int i=1,tx,ty;i<=n;i++)
{
cin>>tx>>ty;
pos[i].id = i;
pos[i].dis = get(tx,ty,x,y);
}
sort(pos+1,pos+n,cmp);
for(int i=1;i<=3;++i)
cout<<pos[i].id<<endl;
return 0;
}