Description
有一天,tangjz造了一个Hash函数:
unsigned int Hash(unsigned int v){
unsigned int t = v;
t = t + (t << 10);
t = t ^ (t >> 6);
t = t + (t << 3);
t = t ^ (t >> 11);
t = t + (t << 16);
return t;
}
小Q发现这个函数非常不靠谱,对于任意的t,他可以随手构出个数字v使得Hash(v)=t。
小Q现在想考考你,他将给出Q个t,你需要构造出满足条件的v。
Input
第一行包含一个正整数Q(1<=Q<=100000),表示询问的个数。
接下来Q行,每行一个整数t(0<=t<2^32),表示询问的t。
输入数据保证对于每个t至少存在一组解。
Output
对于每组数据输出一行一个整数,即合法的v,若有多组可行解,输出任意一组。
Sample Input
4614278301
1228622139
1841720774
2457244278
Sample Output
12
3
4