#include<iostream>
#include<algorithm>
using namespace std;

struct pixels
{	int w,h;
	
};

bool operator< (pixels mon1,pixels mon2)
{	return mon1.h<mon2.h;
	
}

pixels mon[10240];

int main()
{	int n;
	cin>>n;
	for(int i=0;i<n;i++)
		{cin>>mon[i].w>>mon[i].h;}
	sort(mon,mon+n);
	int j=0;
	long long msum=0;
	while(j<n)
	{	long long sum=mon[j].w;
		while(j<n-1&&mon[j].h==mon[j+1].h){j++;sum=sum+mon[j].w;}
		msum=max(sum,msum);
		j++;
	}
	cout<<msum<<endl;
	                  
	return 0;
}

