dlzka, posun = [int(i) for i in input().split()]

dirs_to_znak = {(0,1): 0, (0,2): 1, (0,3): 2, (0,4): 3, (0,5):4, (0,6):5, (0,7):6,
                (1,2):7,  (1,3):8, (4,6):9, (1,4):10, (1,5):11, (1,6):12, (1,7):13,
                (2,3):14, (2,4):15, (2,5):16, (2,6):17, (2,7):18, (3,4):19, (3,5):20, (4,7):21,
                (5,6):22, (5,7):23, (3,6):24, (6,7):25}

znak_to_dirs = {v:k for k,v in dirs_to_znak.items()}

def vykresli(smery):
    output_arr = [["." for _ in range(9)] for _ in range(9)]
    output_arr[4][4] = "*"
    for dir in smery:
        vektor = vektory[dir]
        for i in range(1,4):
            output_arr[4+i*vektor[0]][4+i*vektor[1]] = "#"

    for row in output_arr:
        print("".join(row))

vektory = [(1,0), (1,-1), (0,-1), (-1,-1),(-1,0),(-1,1),(0,1),(1,1)]
dirs = [[3,4,5],[2,-1,6],[1,0,7]]
to_encode = [-1 for _ in range(dlzka)]
for i in range(dlzka):
    dir_tuple = []
    for r in range(9):
        row = input()
        if 3 <= r <= 5:
            for c in [3,4,5]:
                if row[c] == "#":
                    dir_tuple.append(dirs[r-3][c-3])
    dir_tuple = sorted(dir_tuple)
    to_encode[i] = dirs_to_znak[tuple(dir_tuple)]

decoded = [(i+posun)%26 for i in to_encode]

for cislo in decoded:
    dirs_to_draw = znak_to_dirs[cislo]
    vykresli(dirs_to_draw)

