#include<stdio.h>//二进制转十六进制
#include<algorithm>
#include<string.h>
#include<math.h>
const int N=1000007;
using namespace std;
int main()
{
int t;
char str[N],str1[N];
scanf("%d",&t);
while(t--)
{
memset(str1,0,sizeof(str1));//一定要初始化
scanf("%s",str);
int len=strlen(str);
int sum=0,s=0,j=0;
for(int i=len-1;i>=0;i--)
{
int y=1;
for(int q=sum;q>0;q--)
{
y=y*2;
}
s+=(str[i]-'0')*y;//计算四位二进制数等于十六进制的多少
sum+=1;
if(sum==4)//倒着二进制的每四位是十六进制的一位
{
if(s==10)
str1[j]='a';
else if(s==11)
str1[j]='b';
else if(s==12)
str1[j]='c';
else if(s==13)
str1[j]='d';
else if(s==14)
str1[j]='e';
else if(s==15)
str1[j]='f';
else
str1[j]=s+'0';
sum=0;
s=0;
j++;//四位记一次数
}
else if(i==0)
str1[j]=s+'0';//不够四位时,只可能是数组的第一位
}
int len1=strlen(str1);
int p=len1-1;
if(str[len1-1]=='0')//去除二进制的前导0
{
for(int j=len1-1;j>=0;j--)
{
if(str1[j]!='0')
{
p=j;
break;
}
}
}
for(int i=p;i>=0;i--)
{
printf("%c",str1[i]);
}
printf("\n");
}
return 0;
}