#include <cstdio>
#include <cmath>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn=1010;
int c[maxn];
struct node{
int x,w;
}e[maxn];
int cmp(node a,node b)
{
if(a.w==b.w)return a.x>b.x;
return a.w<b.w;
}
void init()
{
int i,j,k,m,n,t;
c[1]=1;
for(i=2;i<=1000;i++)
{
c[i]=1;
m=i;
n=(int)sqrt(m+0.5);
for(j=2;j<=n;j++)
{
if(m%j==0)
{
t=0;
while(m%j==0){t++;m/=j;}
c[i]*=(t+1);
}
}
if(m>1)c[i]*=2;
}
for(i=1;i<=1000;i++)
{
e[i].x=i;
e[i].w=c[i];
}
sort(e+1,e+1001,cmp);
}
int main()
{
init();
int T,n,tt=0;
scanf("%d",&T);
while(T--)
{
int i,j,k;
scanf("%d",&n);
printf("Case %d: %d\n",++tt,e[n].x);
}
return 0;
}