#include <bits/stdc++.h>
using namespace std;
const long double PI = 3.1415926535897;
struct P {
  long long x, y;
  long double arc;
  P(long long _x = 0, long long _y = 0) {
    x = _x, y = _y;
    arc = atan2((long double)x, (long double)y);
  }
  long long operator*(const P& he) const { return x * he.y - y * he.x; }
  bool operator<(const P& he) const { return arc < he.arc; }
  P operator-(const P& he) const { return P{x - he.x, y - he.y}; }
  P operator-() const { return P{-x, -y}; }
};
int n;
int main() {
  cin >> n;
  vector<pair<P, int> > pts;
  for (int i = 0; i < n; i++) {
    int x, y;
    cin >> x >> y;
    pts.push_back({{x, y}, i});
  }
  sort(pts.begin(), pts.end());
  pts.push_back(pts[0]);
  pts.back().first.arc += 2 * PI;
  long double res = 100000;
  int x, y;
  for (int i = 0; i < n; i++) {
    long double ans = abs(pts[i].first.arc - pts[i + 1].first.arc);
    if (ans < res) {
      res = ans;
      x = pts[i].second + 1;
      y = pts[i + 1].second + 1;
    }
  }
  cout << x << " " << y << endl;
}
