#include<bits/stdc++.h>
#define ll long long
#define Il inline
#define Re register
#define mem(u,v) memset(u,v,sizeof(u))
#define rep(i,a,b) for(Re ll i=(a);i<=(b);i++)
#define drep(i,a,b) for(Re ll i=(a);i>=(b);i--)
#define go(u) for(ll i=head[u],v=e[i].to;i;i=e[i].nxt,v=e[i].to)
#define writesp(x) write(x),putchar(' ')
#define writeln(x) write(x),puts("")
using namespace std;
Il ll read(){ll sum=0,f=0;char ch=getchar();for(;!isdigit(ch);ch=getchar())f|=(ch=='-');for(;isdigit(ch);ch=getchar())sum=((sum<<1)+(sum<<3)+(ch^48));return f?-sum:sum;}
void write(const ll x){if(x<0){putchar('-');write(-x);return;}if(x>9)write(x/10);putchar(x%10+'0');}
#define N 1100000
ll n,a,b,c,d,e;char f[5][5][5][5][5];
int main(){
	f[1][0][0][1][0]='a';
	f[1][1][0][2][0]='b';
	f[2][0][0][1][1]='c';
	f[2][1][0][1][2]='d';
	f[1][1][0][1][1]='e';
	f[2][1][0][2][1]='f';
	f[2][2][0][2][2]='g';
	f[1][2][0][2][1]='h';
	//f[1][1][0][1][1]='i';
	f[1][2][0][1][2]='j';
	f[1][0][1][2][0]='k';
	f[1][1][1][3][0]='l';
	f[2][0][1][2][1]='m';
	f[2][1][1][2][2]='n';
	f[1][1][1][2][1]='o';
	f[2][1][1][3][1]='p';
	f[2][2][1][3][2]='q';
	f[1][2][1][3][1]='r';
	//f[1][1][1][2][1]='s';
	f[1][2][1][2][2]='t';
	f[1][0][2][2][1]='u';
	f[1][1][2][3][1]='v';
	f[1][2][1][1][3]='w';
	f[2][0][2][2][2]='x';
	f[2][1][2][2][3]='y';
	f[1][1][2][2][2]='z';
	cin>>n;
	while(n--)cin>>a>>b>>c>>d>>e,cout<<f[a][b][c][d][e];
}
### Prompt

Your task is to create a cpp solution to the following problem:



Input

The first line of the input contains a single integer N (1 ≤ N ≤ 24). The next N lines contain 5 space-separated integers each. The first three integers will be between 0 and 2, inclusive. The last two integers will be between 0 and 3, inclusive. The sum of the first three integers will be equal to the sum of the last two integers.

Output

Output the result – a string of lowercase English letters.

Examples

Input


1
1 0 0 1 0


Output


a


Input


10
2 0 0 1 1
1 1 1 2 1
2 1 0 1 2
1 1 0 1 1
2 1 0 2 1
1 1 1 2 1
1 2 1 3 1
2 0 0 1 1
1 1 0 1 1
1 1 2 2 2


Output


codeforcez

### Response

```cpp
#include<bits/stdc++.h>
#define ll long long
#define Il inline
#define Re register
#define mem(u,v) memset(u,v,sizeof(u))
#define rep(i,a,b) for(Re ll i=(a);i<=(b);i++)
#define drep(i,a,b) for(Re ll i=(a);i>=(b);i--)
#define go(u) for(ll i=head[u],v=e[i].to;i;i=e[i].nxt,v=e[i].to)
#define writesp(x) write(x),putchar(' ')
#define writeln(x) write(x),puts("")
using namespace std;
Il ll read(){ll sum=0,f=0;char ch=getchar();for(;!isdigit(ch);ch=getchar())f|=(ch=='-');for(;isdigit(ch);ch=getchar())sum=((sum<<1)+(sum<<3)+(ch^48));return f?-sum:sum;}
void write(const ll x){if(x<0){putchar('-');write(-x);return;}if(x>9)write(x/10);putchar(x%10+'0');}
#define N 1100000
ll n,a,b,c,d,e;char f[5][5][5][5][5];
int main(){
	f[1][0][0][1][0]='a';
	f[1][1][0][2][0]='b';
	f[2][0][0][1][1]='c';
	f[2][1][0][1][2]='d';
	f[1][1][0][1][1]='e';
	f[2][1][0][2][1]='f';
	f[2][2][0][2][2]='g';
	f[1][2][0][2][1]='h';
	//f[1][1][0][1][1]='i';
	f[1][2][0][1][2]='j';
	f[1][0][1][2][0]='k';
	f[1][1][1][3][0]='l';
	f[2][0][1][2][1]='m';
	f[2][1][1][2][2]='n';
	f[1][1][1][2][1]='o';
	f[2][1][1][3][1]='p';
	f[2][2][1][3][2]='q';
	f[1][2][1][3][1]='r';
	//f[1][1][1][2][1]='s';
	f[1][2][1][2][2]='t';
	f[1][0][2][2][1]='u';
	f[1][1][2][3][1]='v';
	f[1][2][1][1][3]='w';
	f[2][0][2][2][2]='x';
	f[2][1][2][2][3]='y';
	f[1][1][2][2][2]='z';
	cin>>n;
	while(n--)cin>>a>>b>>c>>d>>e,cout<<f[a][b][c][d][e];
}
```