1 #include<cstdio>
2 #include<cstring>
3 #include<algorithm>
4 using namespace std;
5 struct node
6 {
7 int value;
8 int ddl;
9 };
10 node a[10010];
11 bool day[10010];
12 int n,ans;
13 bool cmp(node x,node y)
14 {
15 return x.value>y.value;
16 }
17 int main()
18 {
19 while (scanf("%d",&n)!=EOF)
20 {
21 memset(a,0,sizeof(a));
22 memset(day,0,sizeof(day));
23 for (int i=1;i<=n;i++) scanf("%d%d",&a[i].value,&a[i].ddl);
24 sort(a+1,a+n+1,cmp);
25 ans=0;
26 for (int i=1;i<=n;i++)
27 {
28 int p=a[i].ddl;
29 while (p>0 && day[p]==1) p--;
30 if (p!=0)
31 {
32 ans+=a[i].value;
33 day[p]=1;
34 }
35 }
36 printf("%d\n",ans);
37 }
38 return 0;
39 }