#include <bits/stdc++.h>
using namespace std;
int const N = 100000 + 10;
int n;
long double x, y;
struct Angle {
  long double ag;
  int flag;
} ang[N];
bool cmp(Angle a, Angle b) { return a.ag < b.ag; }
int main() {
  while (~scanf("%d", &n)) {
    for (int i = 0; i < n; i++) {
      cin >> x >> y;
      ang[i].ag = atan2(y, x);
      ang[i].flag = i + 1;
    }
    sort(ang, ang + n, cmp);
    long double m = 2 * acos(-1);
    int m1 = 0, m2 = 0;
    for (int i = 0; i < n; i++) {
      long double tmp = ang[(i + 1) % n].ag - ang[i].ag;
      if (tmp < 0) tmp += 2 * acos(-1);
      if (tmp < m) {
        m = tmp;
        m1 = ang[i].flag;
        m2 = ang[(i + 1) % n].flag;
      }
    }
    printf("%d %d\n", m1, m2);
  }
}
