#include <bits/stdc++.h>
using namespace std;
double dot(complex<double> a, complex<double> b) {
  return (conj(a) * b).real();
}
double cross(complex<double> a, complex<double> b) {
  return (conj(a) * b).imag();
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long double x, y, minangle = 600;
  int n, s, e;
  cin >> n;
  vector<pair<long double, int>> v;
  for (int i = 1; i <= n; i++) {
    cin >> x >> y;
    v.push_back({atan2(x, y) * 180.0 / 3.14159265359, i});
    while (v.back().first < 0) v.back().first += 360.0;
    while (v.back().first > 360.0) v.back().first -= 360.0;
  }
  sort(v.begin(), v.end());
  for (int i = 0; i < v.size(); i++) {
    if (min(abs(v[i].first - v[(i + 1) % n].first),
            360.0 - abs(v[i].first - v[(i + 1) % n].first)) -
            minangle <=
        -1e-20) {
      minangle = min(abs(v[i].first - v[(i + 1) % n].first),
                     360.0 - abs(v[i].first - v[(i + 1) % n].first));
      s = v[i].second;
      e = v[(i + 1) % n].second;
    }
  }
  cout << s << ' ' << e;
  return 0;
}
