#include<bits/stdc++.h>
using namespace std;
const int maxn=1010;
struct point
{
int b,j;
};
int n,cas=0;
point a[maxn];
int cmp(point x,point y)
{
if(x.j==y.j) return x.b<y.b;
else return x.j>y.j;
}
int main()
{
while(scanf("%d",&n)==1&&n)
{
int ans=0,now=0;
for(int i=0;i<n;i++)
scanf("%d%d",&a[i].b,&a[i].j);
sort(a,a+n,cmp);
for(int i=0;i<n;i++)
{
now+=a[i].b;
ans=max(ans,now+a[i].j);
}
printf("Case %d: %d\n",++cas,ans);
}
return 0;
}