#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int n,res=0;
string a;
char d[100000]={""};
cin>>n;
int e=1,ans=1;
while(n--)
{
cin>>a;
memset(d,0,sizeof(d));
for(int i=0;i<a.size();i++)
a[i]-='0';
d[0]=a[0];
for(int i=0;i<a.size();i++)
{
int pos=lower_bound(d,d+ans,a[i])-d;
d[pos]=a[i];
ans=max(ans,pos+1);
}
cout<<"Case #"<<e++<<": "<<ans<<endl;
}
return 0;
}