#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
long long t, n, size;
int arr[20];
int parse(){
memset(arr, -1, sizeof(arr));
int i=0, tmp=n;
while(tmp){
arr[i++] = tmp%10;
tmp/=10;
}
return i;
}
long long reparse(int *p){
long long x=0;
for(int i=size-1; i>=0; i--)
{
x+=p[i];
x*=10;
}
return x/10;
}
int main()
{
cin>>t;
for(int ks=1; ks<=t; ks++){
cin>>n;
cout<<"Case #"<<ks<<": ";
size = parse();
long long minv=n, maxv=n;
for(int i=size-1; i>=0; i--)
{
for(int j=i-1; j>=0; j--)
{
if(i==size-1 && arr[j]==0)
continue;
swap(arr[i], arr[j]);
long long tmp = reparse(arr);
minv = min(tmp, minv);
maxv = max(tmp, maxv);
swap(arr[i], arr[j]);
}
}
cout<<minv<<" "<<maxv<<endl;
}
return 0;
}