#include #include using namespace std; typedef long long int ll; typedef double ld; typedef pair ii; typedef vector vi; typedef vector vii; #define PB push_back #define ff first #define ss second #define MP make_pair #define FOR(p,a,b) for( ll p = (a); p < (ll)(b); ++p) #define F(a) FOR(i,0,a) #define FF(a) FOR(j,0,a) #define EPS (1e-10) #define EQ(a,b) (fabs(a-b) <= fabs(a+b)*EPS) char a[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','#','#','.','.','.','.'}, {'.','.','#','.','#','.','.','.','.'}, {'.','#','.','.','#','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char b[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','#','#','#','*','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char c[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char d[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char e[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char f[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','*','#','#','#','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char g[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','.','#','#','.','.','.'}, {'.','.','.','.','#','.','#','.','.'}, {'.','.','.','.','#','.','.','#','.'}, {'.','.','.','.','.','.','.','.','.'} }; char h[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','#','#','#','*','.','.','.','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char i[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char j[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','*','#','#','#','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char k[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char l[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char m[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','*','#','#','#','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char n[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','#','.','#','.','.','.'}, {'.','.','#','.','.','.','#','.','.'}, {'.','#','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','.','.','.'} }; char o[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','#','#','#','*','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char p[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','#','#','#','*','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char q[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','#','#','#','*','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char r[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','#','#','#','*','#','#','#','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char s[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','#','#','#','*','.','.','.','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','.','.','.'} }; char t[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','#','.','.','#','.','.','.','.'}, {'.','.','#','.','#','.','.','.','.'}, {'.','.','.','#','#','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char u[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','#','.'}, {'.','.','#','.','.','.','#','.','.'}, {'.','.','.','#','.','#','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char v[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','#','.','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','.','.','.'} }; char w[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','.','.','.','*','#','#','#','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char x[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','.','.','.','*','.','.','.','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','.','.','.'} }; char y[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','#','.','.','.','.','.','.','.'}, {'.','.','#','.','.','.','.','.','.'}, {'.','.','.','#','.','.','.','.','.'}, {'.','.','.','.','*','#','#','#','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'} }; char z[9][9] = { {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','*','#','#','#','.'}, {'.','.','.','.','.','#','.','.','.'}, {'.','.','.','.','.','.','#','.','.'}, {'.','.','.','.','.','.','.','#','.'}, {'.','.','.','.','.','.','.','.','.'} }; void printLetter(char letter[9][9]) { // printf("here \n"); // printf("%c", letter[0][0]); for(int index = 0; index < 9; ++index) { for(int jindex = 0; jindex < 9; ++jindex) { printf("%c", letter[index][jindex]); } printf("\n"); } } void print(string slovo) { for(int index = 0; index < slovo.length(); ++index) { switch (slovo[index]) { case 'a': printLetter(a); break; case 'b': printLetter(b); break; case 'c': printLetter(c); break; case 'd': printLetter(d); break; case 'e': printLetter(e); break; case 'f': printLetter(f); break; case 'g': printLetter(g); break; case 'h': printLetter(h); break; case 'i': printLetter(i); break; case 'j': printLetter(j); break; case 'k': printLetter(k); break; case 'l': printLetter(l); break; case 'm': printLetter(m); break; case 'n': printLetter(n); break; case 'o': printLetter(o); break; case 'p': printLetter(p); break; case 'q': printLetter(q); break; case 'r': printLetter(r); break; case 's': printLetter(s); break; case 't': printLetter(t); break; case 'u': printLetter(u); break; case 'v': printLetter(v); break; case 'w': printLetter(w); break; case 'x': printLetter(x); break; case 'y': printLetter(y); break; case 'z': printLetter(z); break; default:break; } } } bool getLetter(string row1, string row2, string row3, char letter[9][9]) { int offset = 2; int position; if( row1[3] == letter[3][3] && row1[4] == letter[3][4] && row1[5] == letter[3][5] && row2[3] == letter[4][3] && row2[4] == letter[4][4] && row2[5] == letter[4][5] && row3[3] == letter[5][3] && row3[4] == letter[5][4] && row3[5] == letter[5][5] ) { return true; } return false; } int main() { ll N, C; char symbol[9]; scanf(" %lld %lld\n", &N, &C); // char vstup[30]; string vstup1, vstup2, vstup3, word; FOR(index,0,N) { FOR(jindex,0,9) { getline(cin, vstup1); if (jindex < 3 || jindex > 5) { continue; } getline(cin, vstup2); getline(cin, vstup3); jindex +=2; //------------------------------- if (getLetter(vstup1, vstup2, vstup3, a)) { word.append("a"); continue; } if (getLetter(vstup1, vstup2, vstup3, b)) { word.append("b"); continue; } if (getLetter(vstup1, vstup2, vstup3, c)) { word.append("c"); continue; } if (getLetter(vstup1, vstup2, vstup3, d)) { word.append("d"); continue; } if (getLetter(vstup1, vstup2, vstup3, e)) { word.append("e"); continue; } if (getLetter(vstup1, vstup2, vstup3, f)) { word.append("f"); continue; } if (getLetter(vstup1, vstup2, vstup3, g)) { word.append("g"); continue; } if (getLetter(vstup1, vstup2, vstup3, h)) { word.append("h"); continue; } if (getLetter(vstup1, vstup2, vstup3, i)) { word.append("i"); continue; } if (getLetter(vstup1, vstup2, vstup3, j)) { word.append("j"); continue; } if (getLetter(vstup1, vstup2, vstup3, k)) { word.append("k"); continue; } if (getLetter(vstup1, vstup2, vstup3, l)) { word.append("l"); continue; } if (getLetter(vstup1, vstup2, vstup3, m)) { word.append("m"); continue; } if (getLetter(vstup1, vstup2, vstup3, n)) { word.append("n"); continue; } if (getLetter(vstup1, vstup2, vstup3, o)) { word.append("o"); continue; } if (getLetter(vstup1, vstup2, vstup3, p)) { word.append("p"); continue; } if (getLetter(vstup1, vstup2, vstup3, q)) { word.append("q"); continue; } if (getLetter(vstup1, vstup2, vstup3, r)) { word.append("r"); continue; } if (getLetter(vstup1, vstup2, vstup3, s)) { word.append("s"); continue; } if (getLetter(vstup1, vstup2, vstup3, t)) { word.append("t"); continue; } if (getLetter(vstup1, vstup2, vstup3, u)) { word.append("u"); continue; } if (getLetter(vstup1, vstup2, vstup3, v)) { word.append("v"); continue; } if (getLetter(vstup1, vstup2, vstup3, w)) { word.append("w"); continue; } if (getLetter(vstup1, vstup2, vstup3, x)) { word.append("x"); continue; } if (getLetter(vstup1, vstup2, vstup3, y)) { word.append("y"); continue; } if (getLetter(vstup1, vstup2, vstup3, z)) { word.append("z"); continue; } } } for(int zz = 0; zz < word.length(); ++zz) { if(word[zz] + C > 'z') { word[zz] -= 26; } word[zz] += C; } // cout << word << endl; // printf("%d", word[1]); print(word); // word = "abcdefghijklmnopqrstuvwxyz"; // print(word); // cout << vstup1 << endl; // cout << vstup2 << endl; // cout << vstup3 << endl; // scanf(".........\n"); //skip first and last line // scanf("\n"); // scanf(".........\n"); //skip first and last line // string slovo = "asleep"; // print(slovo); return 0; }