#include <bits/stdc++.h>
using namespace std;
const long double eps = 1e-17;
int T, n;
struct P {
  int idx;
  long double ang, x, y;
  bool operator<(const P& a) const { return ang < a.ang; }
} p[100010];
int main() {
  while (cin >> n) {
    for (int i = 0; i < n; i++) {
      cin >> p[i].x >> p[i].y;
      p[i].idx = i + 1;
      p[i].ang = atan2(p[i].y * 1.0, p[i].x * 1.0);
    }
    sort(p, p + n);
    long double ang = 1000;
    int ansi, ansj;
    for (int i = 0; i < n; i++) {
      int a = i, b = (i + 1) % n;
      long double delta = p[b].ang - p[a].ang;
      if (delta < 0) delta += 2 * acos(-1.0);
      if (delta < ang) {
        ang = delta;
        ansi = p[a].idx;
        ansj = p[b].idx;
      }
    }
    printf("%d %d\n", ansi, ansj);
  }
  return 0;
}
