#include <bits/stdc++.h>
using namespace std;
typedef struct st_node {
  long double x;
  long double y;
  long double angle;
  int id;
} Node;
Node node[100005];
bool cmp(const Node &n1, const Node &n2) { return n1.angle < n2.angle; }
long double fun(int x, int y) {
  return min(node[y].angle - node[x].angle,
             node[x].angle + 2 * acos(-1.0) - node[y].angle);
}
int main() {
  int n;
  long double tmp;
  cin >> n;
  for (int i = 0; i < (n); ++i) {
    cin >> node[i].x >> node[i].y;
    tmp = atan2(node[i].y, node[i].x);
    if (tmp < 0) tmp += 2 * acos(-1.0);
    node[i].id = i + 1;
    node[i].angle = tmp;
  }
  sort(node, node + n, cmp);
  int ans[2];
  ans[0] = 0, ans[1] = n - 1;
  long double min_angle = fun(0, n - 1);
  for (int i = (1); i <= (n - 1); ++i) {
    tmp = fun(i - 1, i);
    if (tmp < min_angle) {
      min_angle = tmp;
      ans[0] = i - 1;
      ans[1] = i;
    }
  }
  printf("%d %d\n", node[ans[0]].id, node[ans[1]].id);
  return 0;
}
