#include <algorithm>
#include <iostream>
#include <vector>
#include <set>
using namespace std;
const int MAX = 200005;
pair<int, int> p[MAX];
vector<pair<int, int> > v;
int a[MAX], b[MAX];
pair<long long, long long> intersect(pair<int, int> a, pair<int, int> b)
{
	return make_pair(a.first * (b.second - a.second), a.second * (b.first - a.first));
}
bool cmp(pair<long long, long long> a, pair<long long, long long> b)
{
	return (a.first * b.second < a.second * b.first);
}
int main()
{
	ios::sync_with_stdio(false);
	int n;
	cin >> n;
	int tn = n;
	for (int i = 0; i < n; i++)
	{
		cin >> p[i].first >> p[i].second;
		a[i] = p[i].first;
		b[i] = p[i].second;
	}
	sort(p, p + n);
	for (int i = 0; i < n; i++)
	{
		while (!v.empty() && v.back().second <= p[i].second)
			v.pop_back();
		v.push_back(p[i]);
	}
	n = v.size();
	for (int i = 0; i < n; i++)
		p[i] = v[i];
	v.clear();
	for (int i = 0; i < n; i++)
	{
		while (v.size() > 1 && cmp(intersect(p[i], v.back()), intersect(v[v.size() - 2], v.back())))
			v.pop_back();
		v.push_back(p[i]);
	}
	set<pair<int, int> > s;
	for (int i = 0; i < v.size(); i++)
		s.insert(v[i]);
	vector<int> ans;
	for (int i = 0; i < tn; i++)
		if (s.count(make_pair(a[i], b[i])))
			ans.push_back(i + 1);
	for (int i = 0; i < ans.size(); i++)
		cout << ans[i] << " ";
	cout << endl;
	return 0;
}