#include <iostream>
#include <vector>
#include <map>
#include <cstring>
#include <cstdio>
using namespace std;
map<int,int> np,mp;
vector<int> vb;
int arr[10];
int run[9999999+1];
int len;
bool check(int a)
{
char in[100];
int x;
if(a<100)
len=2;
else if(a<1000)
len=3;
else if(a<10000)
len=4;
else if(a<100000)
len=5;
else if(a<1000000)
len=6;
else if(a<10000000)
len=7;
int d[10];
for(int i=0;i<10;i++)
d[i]=0;
int k=len-1;
while(a)
{
x=a%10;
arr[k]=x;
if(d[x]==1 || x==0)
{
return 0;
}
k--;
d[x]=1;
a/=10;
}
return 1;
}
int sontn(int a)
{
if(!check(a))
return 0;
int pos=0,n;
//f=1;
mp.clear();
int d[10]={0};
for(int i=0;i<10;i++)
d[i]=0;
for(int x=len-1;x>=0;x--)
{
n=arr[pos];
pos =(pos+n)%len;
if(d[arr[pos]]==1)
{
return 0;
}
else
d[arr[pos]]=1;
}
return 1;
}
int main()
{
int k,n,c=1,found;
int num,org,f;
for(int i=9682415;i>=10;i--)
{
if(sontn(i))
run[i]=i;
else
run[i]=run[i+1];
}
while(cin>>num)
{
if(num==0)
break;
cout<<"Case "<<c++<<": "<<run[num]<<"\n";
//
}
return 0;
}