#include <stdio.h>
#include<malloc.h>
/*
一种是 1 的数量是偶数的,牛牛称之为 1 数,
一种是 0 的数量是偶数的,牛牛称之为 0 数,
如果一个数同时是 1 数和 0 数,那称之为 10 数。---->1和0的数量都是偶数
即输出 0 或 1 或 10,如果既不是 0 类也不是 1 类则输出 100
*/
//二进制转换函数
// int dectobin(int n) {
// int sum = 0;
// int y, x = 1; // y表示余数,x为叠加的系数
// while (n != 0) {
// y = n % 2;
// sum += x * y;
// x *= 10;
// n /= 2;
// }
// return sum;
// }
void judge(int s) {
int flag = 0, flag1 = 0; //flag记录0个数,flag1记录1
while (s != 0) {
if (s % 2 == 0)
flag++;
else
flag1++;
s /= 2;
}
if (flag % 2 == 0 && flag1 % 2 == 0)
printf("10 ");
else if (flag % 2 != 0 && flag1 % 2 != 0)
printf("100 ");
else if (flag % 2 == 0 && flag1 % 2 != 0)
printf("0 ");
else
printf("1 ");
}
int main() {
int n, i;
scanf("%d", &n);
int* arr = (int*)malloc(n * sizeof(int));
int* a = (int*)malloc(100 * sizeof(int));
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
for (i = 0; i < n; i++)
judge(arr[i]);
}