#include<algorithm>
#include<iostream>
using namespace std;
bool cmd(pair<long long,long long> i,pair<long long,long long> v){
	if(i.second==v.second){
		return 1;
	}
	return i.second<v.second;
}
int main(){
	long long n;
	cin>>n;
	pair<long long,long long> r[n];
	for(int i=0;i<n;i++){
		cin>>r[i].first;
		cin>>r[i].second;
	}
	sort(r+0,r+n,cmd);
	unsigned long long maxsum=r[0].first;
	unsigned long long currentsum=r[0].first; 
	for(int i=1;i<n;i++){
		if(r[i].second==r[i-1].second){
			currentsum+=r[i].first;
		}else currentsum=r[i].first;
		if(maxsum<currentsum){
			maxsum=currentsum;
		}
	}
	cout<<maxsum;
	return 0;
}
//6 700 1000 1024 768 1600 600 800 1000 1280 768 600 1000
