#include<stdio.h>
#include<cmath>
#include<vector>
using namespace std;
vector<int> vec2;
vector<int> vec1;
int main()
{
int t, n ,i, s, j, m ;
vec1.reserve(31);
vec2.reserve(31);
scanf("%d",&t);
for(i=30;i>=0;i++){
vec1[30-i] = pow(2,i);
}
for(i=1; i<=t; i++) {
s = 0;
scanf("%d",&n);
for(j=0;j<31;j++) {
if(n>=vec1[j]) {
vec2[j] = 1;
n = n - vec1[j];
}
else{
vec2[j] = 0;
}
}
m = 1;
for(j=30;m==1;j--) {
if(vec2[j]==1 && vec2[j-1]==0) {
m = 0;
}
}
vec2[j] = 0;
vec2[j-1] = 1;
for(j=0; j<31; j++){
if(vec2[j]==1) s = s + vec1[j];
}
printf("Case %d: %d\n",i,s);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8Y21hdGg+CiNpbmNsdWRlPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZlY3RvcjxpbnQ+IHZlYzI7CnZlY3RvcjxpbnQ+IHZlYzE7CgppbnQgbWFpbigpCnsKICAgIGludCB0LCBuICxpLCBzLCBqLCBtIDsKICAgIHZlYzEucmVzZXJ2ZSgzMSk7CiAgICB2ZWMyLnJlc2VydmUoMzEpOwogICAgc2NhbmYoIiVkIiwmdCk7CiAgICBmb3IoaT0zMDtpPj0wO2krKyl7CiAgICAgICAgdmVjMVszMC1pXSA9IHBvdygyLGkpOwogICAgfQogICAgZm9yKGk9MTsgaTw9dDsgaSsrKSB7CiAgICAgICAgcyA9IDA7CiAgICAgICAgc2NhbmYoIiVkIiwmbik7CiAgICAgICAgZm9yKGo9MDtqPDMxO2orKykgewogICAgICAgICAgICBpZihuPj12ZWMxW2pdKSB7CiAgICAgICAgICAgICAgICB2ZWMyW2pdID0gMTsKICAgICAgICAgICAgICAgIG4gPSBuIC0gdmVjMVtqXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgdmVjMltqXSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbSA9IDE7CiAgICAgICAgZm9yKGo9MzA7bT09MTtqLS0pIHsKICAgICAgICAgICAgaWYodmVjMltqXT09MSAmJiB2ZWMyW2otMV09PTApIHsKICAgICAgICAgICAgICAgIG0gPSAwOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZlYzJbal0gPSAwOwogICAgICAgIHZlYzJbai0xXSA9IDE7CiAgICAgICAgZm9yKGo9MDsgajwzMTsgaisrKXsKICAgICAgICAgICAgaWYodmVjMltqXT09MSkgcyA9IHMgKyB2ZWMxW2pdOwogICAgICAgIH0KCiAgICAgICAgcHJpbnRmKCJDYXNlICVkOiAlZFxuIixpLHMpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K