#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl puts("")
#define X (int)6e6+100
int n,bg,ed,num;
struct node{
int f,s;
}c;
vector<node> a;
vector<int> t;
bool cmp(node a,node b){
return a.f==b.f?a.s>=b.s:a.f<=b.f;
}
bool cmp2(int a,int b){
return a>b;
}
int ans;
signed main(){
scanf("%lld",&n);
for(int i = 1;i<=n;i++){
scanf("%lld",&c.f);
scanf("%lld",&c.s);
a.push_back(c);
}
sort(a.begin(),a.end(),cmp);
for(int i = 0;i<n;i++){
if(i==0||a[i].f!=a[i-1].f){
t.push_back(a[i].s);
}else t.push_back(a[i].s/2);
}
sort(t.begin(),t.end(),cmp2);
printf("%lld ",t[0]+t[1]);
return 0;
}