#include <bits/stdc++.h>
using namespace std;
const int MN = 200111;
struct Point {
  int id;
  int x, y;
  long double f;
} a[MN];
bool operator<(const Point& a, const Point& b) { return a.f < b.f; }
const long double PI = acos((long double)-1.0);
const long double EPS = 1e-9;
int main() {
  ios ::sync_with_stdio(false);
  int n;
  while (scanf("%d", &n) == 1) {
    for (int i = (1), _b = (n); i <= _b; i++) {
      scanf("%d%d", &a[i].x, &a[i].y);
      a[i].id = i;
      a[i].f = atan2(a[i].y, a[i].x);
    }
    for (int i = (n + 1), _b = (n + n); i <= _b; i++) {
      a[i] = a[i - n];
      a[i].f += 2 * PI;
    }
    sort(a + 1, a + n + n + 1);
    long double res = 1e100;
    int u = -1, v = -1;
    for (int i = (1), _b = (n + n - 1); i <= _b; i++) {
      long double cur = a[i + 1].f - a[i].f;
      while (cur < -EPS) cur += 2 * PI;
      while (cur > 2 * PI + EPS) cur -= 2 * PI;
      if (cur > PI + 1e-10) cur = 2 * PI - cur;
      if (cur < res) {
        res = cur;
        u = a[i].id;
        v = a[i + 1].id;
      }
    }
    cout << u << ' ' << v << endl;
  }
}
