#include <bits/stdc++.h>
using namespace std;
int n;
long double x[100010], y[100010];
long double sgn(long double x) {
  if (x > 0.0) return 1;
  return -1;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> x[i] >> y[i];
  }
  vector<pair<long double, int>> vec;
  for (int i = 0; i < n; i++) {
    vec.push_back(pair<long double, int>(atan2(y[i], x[i]), i));
  }
  sort(vec.begin(), vec.end());
  int s = vec[0].second;
  int t = vec[n - 1].second;
  pair<long double, pair<int, int>> ret = make_pair(
      abs(atan2(x[s] * y[t] - x[t] * y[s], x[s] * x[t] + y[s] * y[t])),
      make_pair(s, t));
  for (int i = 0; i + 1 < vec.size(); i++) {
    s = vec[i].second;
    t = vec[i + 1].second;
    ret = min(ret, make_pair(abs(atan2(x[s] * y[t] - x[t] * y[s],
                                       x[s] * x[t] + y[s] * y[t])),
                             make_pair(s, t)));
  }
  cout << ret.second.first + 1 << " " << ret.second.second + 1 << endl;
}
