#include <bits/stdc++.h>
using namespace std;
struct Vector {
  long long x, y;
  int num;
};
long long vmult(const Vector& a, const Vector& b) {
  return a.x * b.y - a.y * b.x;
}
long long smult(const Vector& a, const Vector& b) {
  return a.x * b.x + a.y * b.y;
}
bool isTop(const Vector& p) { return (p.y > 0 || (p.y == 0 && p.x > 0)); }
bool isLess(const Vector& a, const Vector& b) {
  bool ta = isTop(a);
  bool tb = isTop(b);
  if (ta != tb) return ta;
  return (vmult(a, b) > 0);
}
bool compare(const Vector& a1, const Vector& b1, const Vector& a2,
             const Vector& b2) {
  Vector p1;
  p1.x = smult(a1, b1);
  p1.y = abs(vmult(a1, b1));
  Vector p2;
  p2.x = smult(a2, b2);
  p2.y = abs(vmult(a2, b2));
  return (vmult(p1, p2) > 0);
}
void merge(Vector array[], int l, int r, int split) {
  Vector buffer[r - l + 1];
  int li = 0;
  int ri = 1;
  int index = 0;
  while ((li <= split - l) && (ri <= r - split)) {
    if (isLess(array[l + li], array[split + ri])) {
      buffer[index] = array[l + li];
      index++;
      li++;
    } else {
      buffer[index] = array[split + ri];
      index++;
      ri++;
    }
  }
  if (li > split - l) {
    while (ri <= r - split) {
      buffer[index] = array[split + ri];
      index++;
      ri++;
    }
  } else {
    while (li <= split - l) {
      buffer[index] = array[l + li];
      index++;
      li++;
    }
  }
  for (int i = 0; i < r - l + 1; i++) {
    array[i + l] = buffer[i];
  }
}
void sort(Vector array[], int l, int r) {
  int split;
  if (l < r) {
    split = (r + l) / 2;
    sort(array, l, split);
    sort(array, split + 1, r);
    merge(array, l, r, split);
  }
}
void find(Vector array[], int n) {
  int a = 0;
  int b = n - 1;
  for (int i = 0; i < n - 1; i++) {
    if (compare(array[i], array[i + 1], array[a], array[b])) {
      a = i;
      b = i + 1;
    }
  }
  cout << array[a].num << " " << array[b].num << endl;
}
int main(int argc, const char* argv[]) {
  int n;
  Vector array[100010];
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> array[i].x >> array[i].y;
    array[i].num = i + 1;
  }
  sort(array, 0, n - 1);
  find(array, n);
  return 0;
}
