#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> v0,v1;
int m;
cin >> m;
while(m--)
{
int y,res;
cin >> y >> res;
if(res==0)
v0.push_back(y);
else
v1.push_back(y);
}
sort(v0.begin(),v0.end());
sort(v1.begin(),v1.end());
int maxn=0,ans=-1;
for(int i=0;i<v0.size();i++)
{
auto t1=lower_bound(v1.begin(),v1.end(),v0[i]);
int sum=v1.end()-t1;
auto t2=lower_bound(v0.begin(),v0.end(),v0[i]);
sum+=t2-v0.begin();
if(sum==maxn && v0[i]>ans)
ans=v0[i];
else if(sum>maxn)
{
ans=v0[i];
maxn=sum;
}
}
for(int i=0;i<v1.size();i++)
{
auto t1=lower_bound(v1.begin(),v1.end(),v1[i]);
int sum=v1.end()-t1;
auto t2=lower_bound(v0.begin(),v0.end(),v1[i]);
sum+=t2-v0.begin();
if(sum==maxn && v1[i]>ans)
ans=v1[i];
else if(sum>maxn)
{
ans=v1[i];
maxn=sum;
}
}
cout << ans << endl;
return 0;
}