#include <bits/stdc++.h>
using namespace std;
int main()
{
int T,N,ntest=1;
vector<int> v;
scanf("%d\n",&T);
while(T--)
{
scanf("%d\n",&N);
// To Binary (append an extra zero to the end)
v.clear();
while(N >= 2)
{
v.push_back(N % 2);
N /= 2;
}
v.push_back(N);
v.push_back(0);
// Reverse
reverse(v.begin(), v.end());
// Find next permutation
next_permutation(v.begin(), v.end());
// Transform to decimal
long long ans = 0;
int pos = 0;
for(int i = v.size() - 1; i >= 0; i--)
{
if(v[i])
ans |= (1LL << pos);
pos++;
}
printf("Case %d: %lld\n",ntest++,ans);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIAp7CiAgICBpbnQgVCxOLG50ZXN0PTE7CiAgICB2ZWN0b3I8aW50PiB2OwogICAgc2NhbmYoIiVkXG4iLCZUKTsKICAgIHdoaWxlKFQtLSkKICAgIHsKICAgICAgICBzY2FuZigiJWRcbiIsJk4pOwogICAgICAgIC8vIFRvIEJpbmFyeSAoYXBwZW5kIGFuIGV4dHJhIHplcm8gdG8gdGhlIGVuZCkKICAgICAgICB2LmNsZWFyKCk7CiAgICAgICAgd2hpbGUoTiA+PSAyKQogICAgICAgIHsKICAgICAgICAgICAgdi5wdXNoX2JhY2soTiAlIDIpOwogICAgICAgICAgICBOIC89IDI7CiAgICAgICAgfQogICAgICAgIHYucHVzaF9iYWNrKE4pOwogICAgICAgIHYucHVzaF9iYWNrKDApOyAKICAgICAgICAvLyBSZXZlcnNlCiAgICAgICAgcmV2ZXJzZSh2LmJlZ2luKCksIHYuZW5kKCkpOwogICAgICAgIC8vIEZpbmQgbmV4dCBwZXJtdXRhdGlvbgogICAgICAgIG5leHRfcGVybXV0YXRpb24odi5iZWdpbigpLCB2LmVuZCgpKTsKICAgICAgICAvLyBUcmFuc2Zvcm0gdG8gZGVjaW1hbAogICAgICAgIGxvbmcgbG9uZyBhbnMgPSAwOwogICAgICAgIGludCBwb3MgPSAwOwogICAgICAgIGZvcihpbnQgaSA9IHYuc2l6ZSgpIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgICAgewogICAgICAgICAgICBpZih2W2ldKQogICAgICAgICAgICAgICAgYW5zIHw9ICgxTEwgPDwgcG9zKTsKICAgICAgICAgICAgcG9zKys7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiQ2FzZSAlZDogJWxsZFxuIixudGVzdCsrLGFucyk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==