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

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
#define sz(a) int(a.size())
#define pb push_back
#define all(c) c.begin(), c.end()
#define rall(c) c.rbegin(),c.rend()
#define present(container, element) (container.find(element) != container.end())  //for set and maps works in O(log n)
#define cpresent(container, element) (find(all(container).element) != container.end())  //for vectors works in O(n)
#define gcd(m,n) __gcd(m,n)
#define lcm(m,n) m*n/(gcd(m,n))
// #define INF 100000000
// #define in_range(x,y,n,m) (x>=0 && x<n && y>=0 && y<m)
#define int ll
// #define mod 10000007  //given number is not a prime number
typedef long long ll; // range of int is -2* 10^9 to 2* 10^9
typedef vector< int > vi;
typedef vector< ll > vl;
typedef vector< vi > vvi;
typedef pair< int, int > ii;  

void print(const vi& v){
    int n = sz(v);
    for(int i=0;i<n;i++)
        cout<<v[i]<<" ";
    cout<<endl; }

void input(vi& v){
    int n = sz(v);
    for(int i=0;i<n;i++)
        cin>>v[i]; }

void solve(){
    map<int,int> braille;
    braille[10010] = 0;
    braille[11020] = 1;
    braille[20011] = 2;
    braille[21012] = 3;
    braille[11011] = 4;
    braille[21021] = 5;
    braille[22022] = 6;
    braille[12021] = 7;
    // braille[11011] = 8;
    braille[12012] = 9;
    braille[10120] = 10;
    braille[11130] = 11;
    braille[20121] = 12;
    braille[21122] = 13;
    braille[11121] = 14;
    braille[21131] = 15;
    braille[22132] = 16;
    braille[12131] = 17;
    // braille[11121] = 18;
    braille[12122] = 19;
    braille[10221] = 20;
    braille[11231] = 21;
    braille[12113] = 22;
    braille[20222] = 23;
    braille[21223] = 24;
    braille[11222] = 25;
    int n;
    cin>>n;
    string ans="";
    while(n--){
        int s=0;
        for(int i=0;i<5;i++){
            int x;
            cin>>x;
            s = s*10 + x;
        }
        ans += braille[s]+'a';
    }
    cout<<ans<<endl;
}

signed main () {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int t=1;
    #ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    #endif
    // cin>>t;
    while(t--)
        solve();
    return 0;
}