#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> P;
const int N=1e5+9;
const double PI=acos(-1);
#define line '\n'
#define gt getchar()
#define mid ((L+R)>>1)
int read(){int x=0,op=1;char c=gt;while(!isdigit(c)){if(c=='-')op=-1;c=gt;}while(isdigit(c))x=x*10+c-48,c=gt;return x*op;}
string get(int x)
{
string str="";
while(x)str=char(x%2+'0')+str,x/=2;
while(str.length()<4)str="0"+str;
return str;
}
map<char,string> mp;
char s[N];
int a[3];
int main()
{
for(int i=0;i<=15;++i)if(i<=9)mp[i+'0']=get(i);else mp[i-10+'A']=get(i);//预处理[1~F]对应的二进制
a[0]=1,a[1]=2,a[2]=4;
int T=read();while(T--){
cin>>s;int len=strlen(s);
string str="";
for(int i=0;i<len;++i)str+=mp[s[i]];//拆为二进制
while(str.length()%3!=0)str="0"+str;//转化为3的倍数,方便计算8进制
string ans="";
len=str.length();
for(int i=0;i<len;i+=3)
ans+=char((str[i]-'0')*a[2]+(str[i+1]-'0')*a[1]+str[i+2]);
int pos=-1;
for(int i=0;i<ans.length();++i)if(ans[i]!='0'){pos=i;break;}//找pos去前导0
if(pos==-1)cout<<0<<line;
else cout<<ans.substr(pos)<<line;
}
return 0;
}