import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
String s[]=new String[n];
int i=0,j=0;
for(i=0;i<n;i++) {
s[i]=in.next();
StringBuilder s1=new StringBuilder("");
char k;
for(j=0;j<s[i].length();j++) {
k=s[i].charAt(j);
switch(k) {
case '0':s1.append("0000");break;
case '1':s1.append("0001");break;
case '2':s1.append("0010");break;
case '3':s1.append("0011");break;
case '4':s1.append("0100");break;
case '5':s1.append("0101");break;
case '6':s1.append("0110");break;
case '7':s1.append("0111");break;
case '8':s1.append("1000");break;
case '9':s1.append("1001");break;
case 'A':s1.append("1010");break;
case 'B':s1.append("1011");break;
case 'C':s1.append("1100");break;
case 'D':s1.append("1101");break;
case 'E':s1.append("1110");break;
case 'F':s1.append("1111");break;
default:break;
}
}
s[i]=s1.toString();//若要使用StringBuilder最后输出字符串结果 ,使用toString()方法。
StringBuilder s4=new StringBuilder("");
if(s[i].length()%3==2) {
s[i]="0"+s[i];
}
if(s[i].length()%3==1) {
s[i]="00"+s[i];
}
s4.append(s[i]);
int a;
a=(s4.charAt(0)-'0')*4+(s4.charAt(1)-'0')*2+s4.charAt(2)-'0';
if(a!=0) {
System.out.print(a);
}
for(j=3;j<s[i].length()-1;j+=3) {
a=(s4.charAt(j)-'0')*4+(s4.charAt(j+1)-'0')*2+s4.charAt(j+2)-'0';
System.out.print(a);
}
System.out.println();
}
}
}
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
String s[]=new String[n];
int i=0,j=0;
for(i=0;i<n;i++) {
s[i]=in.next();
StringBuilder s1=new StringBuilder("");
char k;
for(j=0;j<s[i].length();j++) {
k=s[i].charAt(j);
switch(k) {
case '0':s1.append("0000");break;
case '1':s1.append("0001");break;
case '2':s1.append("0010");break;
case '3':s1.append("0011");break;
case '4':s1.append("0100");break;
case '5':s1.append("0101");break;
case '6':s1.append("0110");break;
case '7':s1.append("0111");break;
case '8':s1.append("1000");break;
case '9':s1.append("1001");break;
case 'A':s1.append("1010");break;
case 'B':s1.append("1011");break;
case 'C':s1.append("1100");break;
case 'D':s1.append("1101");break;
case 'E':s1.append("1110");break;
case 'F':s1.append("1111");break;
default:break;
}
}
s[i]=s1.toString();//若要使用StringBuilder最后输出字符串结果 ,使用toString()方法。
StringBuilder s4=new StringBuilder("");
if(s[i].length()%3==2) {
s[i]="0"+s[i];
}
if(s[i].length()%3==1) {
s[i]="00"+s[i];
}
s4.append(s[i]);
int a;
a=(s4.charAt(0)-'0')*4+(s4.charAt(1)-'0')*2+s4.charAt(2)-'0';
if(a!=0) {
System.out.print(a);
}
for(j=3;j<s[i].length()-1;j+=3) {
a=(s4.charAt(j)-'0')*4+(s4.charAt(j+1)-'0')*2+s4.charAt(j+2)-'0';
System.out.print(a);
}
System.out.println();
}
}
}