#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=100005;
struct ve{
long double k;
int z;
}a[N];
bool cmp(const ve &a,const ve &b)
{
return a.k<b.k;
}
int main()
{
int n,i,id1,id2,x,y;
long double mi;
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d%d",&x,&y),a[i].z=i,a[i].k=atan2(y,x);
sort(a+1,a+n+1,cmp);
id1=a[1].z; id2=a[n].z;
mi=a[1].k+2*acos(-1)-a[n].k;
for (i=2;i<=n;i++)
{
long double tmp=a[i].k-a[i-1].k;
if (tmp<mi)
{
mi=tmp;
id1=a[i-1].z;
id2=a[i].z;
}
}
printf("%d %d\n",id1,id2);
}
I2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxjbWF0aD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE49MTAwMDA1OwpzdHJ1Y3QgdmV7Cglsb25nIGRvdWJsZSBrOwoJaW50IHo7Cn1hW05dOwoKYm9vbCBjbXAoY29uc3QgdmUgJmEsY29uc3QgdmUgJmIpCnsKCXJldHVybiBhLms8Yi5rOwp9CgppbnQgbWFpbigpCnsKCWludCBuLGksaWQxLGlkMix4LHk7Cglsb25nIGRvdWJsZSBtaTsKCXNjYW5mKCIlZCIsJm4pOwoJZm9yIChpPTE7aTw9bjtpKyspCgkJc2NhbmYoIiVkJWQiLCZ4LCZ5KSxhW2ldLno9aSxhW2ldLms9YXRhbjIoeSx4KTsKCXNvcnQoYSsxLGErbisxLGNtcCk7CglpZDE9YVsxXS56OyBpZDI9YVtuXS56OwoJbWk9YVsxXS5rKzIqYWNvcygtMSktYVtuXS5rOwoJZm9yIChpPTI7aTw9bjtpKyspCgl7CgkJbG9uZyBkb3VibGUgdG1wPWFbaV0uay1hW2ktMV0uazsKCQlpZiAodG1wPG1pKQoJCXsKCQkJbWk9dG1wOwoJCQlpZDE9YVtpLTFdLno7CgkJCWlkMj1hW2ldLno7CgkJfQoJfQoJcHJpbnRmKCIlZCAlZFxuIixpZDEsaWQyKTsKfQ==