#include <bits/stdc++.h>
using namespace std;
struct people {
  long long a, b, id;
} p[300010];
long long n, s[300010], t;
bool v[300010], ans[300010];
bool cmp(people a, people b) { return a.a == b.a ? a.b > b.b : a.a > b.a; }
long double check(people a, people b) {
  return (long double)a.a * b.a * (b.b - a.b) / (b.a - a.a) / b.b / a.b;
}
int main() {
  scanf("%lld", &n);
  for (int i = 1; i <= n; i++) scanf("%lld%lld", &p[i].a, &p[i].b), p[i].id = i;
  sort(p + 1, p + n + 1, cmp);
  s[1] = 1, t = 1;
  long long maxb = p[1].b;
  for (int i = 2; i <= n; i++)
    if (p[i].b <= maxb)
      v[i] = 1;
    else
      maxb = p[i].b;
  for (int i = 2; i <= n; i++) {
    if (v[i] || check(p[i], p[s[t]]) > 0) continue;
    while (t > 1 && check(p[i], p[s[t]]) < check(p[s[t - 1]], p[s[t]])) t--;
    s[++t] = i;
  }
  for (int i = 1; i <= t; i++) {
    ans[p[s[i]].id] = 1;
    for (int j = s[i] + 1; j <= n && p[s[i]].a == p[j].a && p[s[i]].b == p[j].b;
         j++)
      ans[p[j].id] = 1;
  }
  for (int i = 1; i <= n; i++)
    if (ans[i]) printf("%d ", i);
  return 0;
}
