#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]);




}