#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<vector>
#include<stack>
#include<queue>
#include<deque>
#include<map>
#include<set>
#include<limits>
#include<climits>
#include<cmath>
#include<functional>
#include<ctime>
#include<cstdlib>
#include<fstream>
#include<typeinfo>
using namespace std;
typedef long long int ll;
typedef short int i16;
typedef unsigned long long int u64;
typedef unsigned int u32;
typedef unsigned short int u16;
typedef unsigned char u8;
int n;
string s;
void input()
{
s.clear();
scanf("%d", &n);
}
void solve()
{
while(n)
{
s+=((n%2)+'0');
n>>=1;
}
//cout<<s<<'\n';
s+='0';
int i,j,ones=0;
for(i=0;i<s.size();i++)
{
if(s[i]=='1')
ones++;
if(s[i]=='1' && s[i+1]=='0')
{
ones--;
swap(s[i],s[i+1]);
for(j=0;j<i && ones;j++)
{
ones--;
s[j]='1';
}
break;
}
else
s[i]='0';
}
int ans=0,curr=1;
for(i=0;i<s.size();i++)
{
ans+=curr*(s[i]-'0');
curr<<=1;
}
printf("%d\n", ans);
}
int main()
{
int i,t;
scanf("%d", &t);
for(i=1;i<=t;i++)
{
input();
printf("Case %d: ", i);
solve();
}
return 0;
}
I2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxzdHJpbmc+CiNpbmNsdWRlPGNzdHJpbmc+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8c3RhY2s+CiNpbmNsdWRlPHF1ZXVlPgojaW5jbHVkZTxkZXF1ZT4KI2luY2x1ZGU8bWFwPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlPGxpbWl0cz4KI2luY2x1ZGU8Y2xpbWl0cz4KI2luY2x1ZGU8Y21hdGg+CiNpbmNsdWRlPGZ1bmN0aW9uYWw+CiNpbmNsdWRlPGN0aW1lPgojaW5jbHVkZTxjc3RkbGliPgojaW5jbHVkZTxmc3RyZWFtPgojaW5jbHVkZTx0eXBlaW5mbz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGw7CnR5cGVkZWYgc2hvcnQgaW50IGkxNjsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHU2NDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdTMyOwp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGludCB1MTY7CnR5cGVkZWYgdW5zaWduZWQgY2hhciB1ODsKCmludCBuOwoKc3RyaW5nIHM7Cgp2b2lkIGlucHV0KCkKewogICAgcy5jbGVhcigpOwogICAgc2NhbmYoIiVkIiwgJm4pOwp9Cgp2b2lkIHNvbHZlKCkKewogICAgd2hpbGUobikKICAgIHsKICAgICAgICBzKz0oKG4lMikrJzAnKTsKICAgICAgICBuPj49MTsKICAgIH0KICAgIC8vY291dDw8czw8J1xuJzsKICAgIHMrPScwJzsKICAgIGludCBpLGosb25lcz0wOwogICAgZm9yKGk9MDtpPHMuc2l6ZSgpO2krKykKICAgIHsKICAgICAgICBpZihzW2ldPT0nMScpCiAgICAgICAgICAgIG9uZXMrKzsKICAgICAgICBpZihzW2ldPT0nMScgJiYgc1tpKzFdPT0nMCcpCiAgICAgICAgewogICAgICAgICAgICBvbmVzLS07CiAgICAgICAgICAgIHN3YXAoc1tpXSxzW2krMV0pOwogICAgICAgICAgICBmb3Ioaj0wO2o8aSAmJiBvbmVzO2orKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgb25lcy0tOwogICAgICAgICAgICAgICAgc1tqXT0nMSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgc1tpXT0nMCc7CiAgICB9CiAgICBpbnQgYW5zPTAsY3Vycj0xOwogICAgZm9yKGk9MDtpPHMuc2l6ZSgpO2krKykKICAgIHsKICAgICAgICBhbnMrPWN1cnIqKHNbaV0tJzAnKTsKICAgICAgICBjdXJyPDw9MTsKICAgIH0KICAgIHByaW50ZigiJWRcbiIsIGFucyk7Cn0KCmludCBtYWluKCkKewogICAgaW50IGksdDsKICAgIHNjYW5mKCIlZCIsICZ0KTsKICAgIGZvcihpPTE7aTw9dDtpKyspCiAgICB7CiAgICAgICAgaW5wdXQoKTsKICAgICAgICBwcmludGYoIkNhc2UgJWQ6ICIsIGkpOwogICAgICAgIHNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=