#include using namespace std; void down_from(vector *vs) { (*vs)[5][4] = '#'; (*vs)[6][4] = '#'; (*vs)[7][4] = '#'; } void left_down_from(vector *vs) { (*vs)[5][3] = '#'; (*vs)[6][2] = '#'; (*vs)[7][1] = '#'; } void left_from(vector *vs) { (*vs)[4][3] = '#'; (*vs)[4][2] = '#'; (*vs)[4][1] = '#'; } void left_top_from(vector *vs) { (*vs)[3][3] = '#'; (*vs)[2][2] = '#'; (*vs)[1][1] = '#'; } void top_from(vector *vs) { (*vs)[3][4] = '#'; (*vs)[2][4] = '#'; (*vs)[1][4] = '#'; } void top_right_from(vector *vs) { (*vs)[3][5] = '#'; (*vs)[2][6] = '#'; (*vs)[1][7] = '#';; } void right_from(vector *vs) { (*vs)[4][5] = '#'; (*vs)[4][6] = '#'; (*vs)[4][7] = '#'; } void right_down_from(vector *vs) { (*vs)[5][5] = '#'; (*vs)[6][6] = '#'; (*vs)[7][7] = '#'; } //--------------------------------------------------------------------------------------------- vector empty_word() { vector v; for(int64_t i = 0; i < 9; i++) { string s = ""; for(int64_t ii = 0; ii < 9; ii++) { s += "."; } v.push_back(s); } v[4][4] = '*'; return v; } void a_from(vector *vs) { left_down_from(vs); down_from(vs); } void b_from(vector *vs) { left_from(vs); down_from(vs); } void c_from(vector *vs) { left_top_from(vs); down_from(vs); } void d_from(vector *vs) { top_from(vs); down_from(vs); } void e_from(vector *vs) { down_from(vs); top_right_from(vs); } void f_from(vector *vs) { down_from(vs); right_from(vs); } void g_from(vector *vs) { down_from(vs); right_down_from(vs); } void h_from(vector *vs) { left_from(vs); left_down_from(vs); } void i_from(vector *vs) { left_down_from(vs); left_top_from(vs); } void j_from(vector *vs) { top_from(vs); right_from(vs); } void k_from(vector *vs) { top_from(vs); left_down_from(vs); } void l_from(vector *vs) { left_down_from(vs); top_right_from(vs); } void m_from(vector *vs) { left_down_from(vs); right_from(vs); } void n_from(vector *vs) { left_down_from(vs); right_down_from(vs); } void o_from(vector *vs) { left_from(vs); left_top_from(vs); } void p_from(vector *vs) { left_from(vs); top_from(vs); } void q_from(vector *vs) { left_from(vs); top_right_from(vs); } void r_from(vector *vs) { left_from(vs); right_from(vs); } void s_from(vector *vs) { left_from(vs); right_down_from(vs); } void t_from(vector *vs) { left_top_from(vs); top_from(vs); } void u_from(vector *vs) { left_top_from(vs); top_right_from(vs); } void v_from(vector *vs) { top_from(vs); right_down_from(vs); } void w_from(vector *vs) { top_right_from(vs); right_from(vs); } void x_from(vector *vs) { top_right_from(vs); right_down_from(vs); } void y_from(vector *vs) { left_top_from(vs); right_from(vs); } void z_from(vector *vs) { right_down_from(vs); right_from(vs); } int main(int argc, char* argv[]) { ios_base::sync_with_stdio(false); cin.tie(NULL); array, 26> alphabet; for(int64_t i = 0; i < 26; i++) { alphabet[i] = empty_word(); } a_from(&alphabet[0]); b_from(&alphabet[1]); c_from(&alphabet[2]); d_from(&alphabet[3]); e_from(&alphabet[4]); f_from(&alphabet[5]); g_from(&alphabet[6]); h_from(&alphabet[7]); i_from(&alphabet[8]); j_from(&alphabet[9]); k_from(&alphabet[10]); l_from(&alphabet[11]); m_from(&alphabet[12]); n_from(&alphabet[13]); o_from(&alphabet[14]); p_from(&alphabet[15]); q_from(&alphabet[16]); r_from(&alphabet[17]); s_from(&alphabet[18]); t_from(&alphabet[19]); u_from(&alphabet[20]); v_from(&alphabet[21]); w_from(&alphabet[22]); x_from(&alphabet[23]); y_from(&alphabet[24]); z_from(&alphabet[25]); int64_t tt = 1; /* cin >> tt; */ while(tt--) { int64_t n, c; cin >> n >> c; for(int64_t i = 0; i < n; i++) { vector vs; for(int64_t ii = 0; ii < 9; ii++) { string s; cin >> s; vs.push_back(s); } for(int64_t ii = 0; ii < 26; ii++) { bool is_it = true; for(int64_t iii = 0; iii < 9; iii++) for(int64_t iv = 0; iv < 9; iv++) if(vs[iii][iv] != alphabet[ii][iii][iv]) is_it = false; if(is_it) { for(int64_t iii = 0; iii < 9; iii++) cout << alphabet[(ii + c) % 26][iii] << "\n"; break; } } } } return 0; }