//#include<ext/pb_ds/assoc_container.hpp>
//#include<ext/pb_ds/hash_policy.hpp>
#include<bits/stdc++.h>
#define closeSync ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define multiCase int T;cin>>T;for(int t=1;t<=T;t++)
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i<(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define perr(i,a,b) for(int i=(a);i>(b);i--)
#define pb push_back
#define eb emplace_back
#define mst(a,b) memset(a,b,sizeof(a))
using namespace std;
//using namespace __gnu_pbds;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> P;
const int INF=0x3f3f3f3f;
const ll LINF=0x3f3f3f3f3f3f3f3f;
const double eps=1e-12;
const double PI=acos(-1.0);
const double angcst=PI/180.0;
const ll mod=998244353;
ll gcd(ll a,ll b){return b==0?a:gcd(b,a%b);}
ll qmul(ll a,ll b){ll r=0;while(b){if(b&1)r=(r+a)%mod;b>>=1;a=(a+a)%mod;}return r;}
ll qpow(ll a,ll n){ll r=1;while(n){if(n&1)r=(r*a)%mod;n>>=1;a=(a*a)%mod;}return r;}
ll qpow(ll a,ll n,ll p){ll r=1;while(n){if(n&1)r=(r*a)%p;n>>=1;a=(a*a)%p;}return r;}

map<int,char> mp;

void solve()
{
    int n;
    cin>>n;
    while(n--)
    {
        int r=0;
        rep(i,1,5)
        {
            int d;cin>>d;
            r=r*10+d;
        }
        cout<<mp[r];
    }
}
int main()
{
    closeSync;
    mp[10010]='a';
	mp[11020]='b';
	mp[20011]='c';
	mp[21012]='d';
	mp[11011]='e';
	mp[21021]='f';
	mp[22022]='g';
	mp[12021]='h';
	//mp[11011]='i';
	mp[12012]='j';
	mp[10120]='k';
	mp[11130]='l';
	mp[20121]='m';
	mp[21122]='n';
	mp[11121]='o';
	mp[21131]='p';
	mp[22132]='q';
	mp[12131]='r';
	//mp[11121]='s';
	mp[12122]='t';
	mp[10221]='u';
	mp[11231]='v';
	mp[12113]='w';
	mp[20222]='x';
	mp[21223]='y';
	mp[11222]='z';
    //multiCase
    {
        solve();
    }
    return 0;
}
