#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
template <class T>
typename T::value_type arr_sum(const T &v, int n) {
  typename T::value_type sum = 0;
  for (int i = (0); i < (n); ++i) sum += v[i];
  return sum;
}
struct Sync_stdio {
  Sync_stdio() {
    cin.tie(NULL);
    ios_base::sync_with_stdio(false);
  }
} _sync_stdio;
struct Z {
  int first;
  int second;
  int idx;
};
;
int main() {
  int n;
  cin >> n;
  vector<Z> v(n);
  for (int i = (0); i < (n); ++i) {
    cin >> v[i].first >> v[i].second;
    v[i].idx = i;
  }
  sort(v.begin(), v.end(), [](const Z &a, const Z &b) {
    return atan2(a.first, a.second) < atan2(b.first, b.second);
  });
  long double ans = INT_MAX;
  int res1 = 0;
  int res2 = 1;
  for (int i = (0); i < (n); ++i) {
    long double x0 = v[i].first;
    long double y0 = v[i].second;
    long double x1 = v[(i + 1) % n].first;
    long double y1 = v[(i + 1) % n].second;
    long double angle = atan2(x1, y1) - atan2(x0, y0);
    if (angle < 0) {
      angle += 2 * 3.14159265359;
    }
    if (angle < ans) {
      ans = angle;
      res1 = v[i].idx;
      res2 = v[(i + 1) % n].idx;
    };
  }
  cout << res1 + 1 << " " << res2 + 1 << "\n";
}
