#include <bits/stdc++.h>
using namespace std;
const long double pi = 3.141592653589793238462643383;
long double Abs(long double x) {
  if (x < 0) return -x;
  return x;
}
pair<long double, int> a[100005];
int main() {
  int(n);
  scanf("%d", &n);
  ;
  for (int i = 1; i <= n; i++) {
    int(x);
    scanf("%d", &x);
    ;
    int(y);
    scanf("%d", &y);
    ;
    if (x == 0) {
      if (y > 0)
        a[i] = make_pair(pi / 2, i);
      else
        a[i] = make_pair(pi * 3 / 2, i);
      continue;
    }
    long double v = atan((long double)(Abs(y) / Abs(x)));
    if (x >= 0 && y >= 0) a[i] = make_pair(v, i);
    if (x >= 0 && y <= 0) a[i] = make_pair(pi * 2 - v, i);
    if (x <= 0 && y >= 0) a[i] = make_pair(pi - v, i);
    if (x <= 0 && y <= 0) a[i] = make_pair(pi + v, i);
  }
  sort(a + 1, a + n + 1);
  int p = 0;
  long double z = 1e9;
  for (int i = 1; i <= n - 1; i++) {
    if (a[i + 1].first - a[i].first < z) {
      z = a[i + 1].first - a[i].first;
      p = i;
    }
  }
  if (a[1].first + 2 * pi - a[n].first < z) {
    cout << a[1].second << " " << a[n].second;
  } else
    cout << a[p].second << " " << a[p + 1].second;
  return 0;
}
