charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

def getChar(a, b):
    if (a > b):
        c = a
        a = b
        b = c
    
    if(a == 1):
        if(b == 2):
            return "A"
        if(b == 3):
            return "B"
        if(b == 4):
            return "C"
        if(b == 5):
            return "D"
        if(b == 6):
            return "E"
        if(b == 7):
            return "F"
        if(b == 8):
            return "G"
    
    if(a == 2):
        if(b == 3):
            return "H"
        if(b == 4):
            return "I"
        if(b == 5):
            return "K"
        if(b == 6):
            return "L"
        if(b == 7):
            return "M"
        if(b == 8):
            return "N"
    
    if(a == 3):
        if(b == 4):
            return "O"
        if(b == 5):
            return "P"
        if(b == 6):
            return "Q"
        if(b == 7):
            return "R"
        if(b == 8):
            return "S"
    
    if(a == 4):
        if(b == 5):
            return "T"
        if(b == 6):
            return "U"
        if(b == 7):
            return "Y"

    if(a == 5):
        if(b == 6):
            return "J"
        if(b == 8):
            return "V"

    if(a == 6):
        if(b == 7):
            return "W"
        if(b == 8):
            return "X"

    if(a == 7):
        if(b == 8):
            return "Z"

def check(inp):
    a = 0
    b = 0
    if(inp[67] == "#"):
        a = 1
    elif(inp[64] == "#"):
        a = 2
    elif(inp[39] == "#"):
        a = 3
    elif(inp[10] == "#"):
        a = 4
    elif(inp[13] == "#"):
        a = 5
    elif(inp[16] == "#"):
        a = 6
    elif(inp[45] == "#"):
        a = 7
    elif(inp[70] == "#"):
        a = 8

    
    if(inp[64] == "#" and a != 2):
        b = 2
    elif(inp[39] == "#" and a != 3):
        b = 3
    elif(inp[10] == "#" and a != 4):
        b = 4
    elif(inp[13] == "#" and a != 5):
        b = 5
    elif(inp[16] == "#" and a != 6):
        b = 6
    elif(inp[45] == "#" and a != 7):
        b = 7
    elif(inp[70] == "#"):
        b = 8

    return getChar(a, b)

def getArms(char):
    if(char == "A"):
        return 1, 2
    if(char == "B"):
        return 1, 3
    if(char == "C"):
        return 1, 4
    if(char == "D"):
        return 1, 5
    if(char == "E"):
        return 1, 6
    if(char == "F"):
        return 1, 7
    if(char == "G"):
        return 1, 8
    if(char == "H"):
        return 2, 3
    if(char == "I"):
        return 2, 4
    if(char == "J"):
        return 5, 6
    if(char == "K"):
        return 2, 5
    if(char == "L"):
        return 2, 6
    if(char == "M"):
        return 2, 7
    if(char == "N"):
        return 2, 8
    if(char == "O"):
        return 3, 4
    if(char == "P"):
        return 3, 5
    if(char == "Q"):
        return 3, 6
    if(char == "R"):
        return 3, 7
    if(char == "S"):
        return 3, 8
    if(char == "T"):
        return 4, 5
    if(char == "U"):
        return 4, 6
    if(char == "V"):
        return 5, 8
    if(char == "W"):
        return 6, 7
    if(char == "X"):
        return 6, 8
    if(char == "Y"):
        return 4, 7
    if(char == "Z"):
        return 7, 8

def cipher(C, char):
    index = C
    for i in range(len(charset)):
        if(charset[i] == char):
            index += i
            break
    index = index%len(charset)
    return charset[index]

def processOut(a, b):
    out = ""
    temp = "........."
    for _ in range(9):
        out = out + temp
    
    out = insert(out, 40, "*")

    if(a == 1):
        out = insert(out, 49, "#")
        out = insert(out, 58, "#")
        out = insert(out, 67, "#")
        #out[49] = '#'
        #out[58] = '#'
        #out[67] = '#'
    if(a == 2 or b == 2):
        out = insert(out, 48, "#")
        out = insert(out, 56, "#")
        out = insert(out, 64, "#")
        #out[48] = '#'
        #out[56] = '#'
        #out[64] = '#'
    if(a == 3 or b == 3):
        out = insert(out, 37, "#")
        out = insert(out, 38, "#")
        out = insert(out, 39, "#")
        #out[39] = "#"
        #out[40] = "#"
        #out[41] = "#"
    if(a == 4 or b == 4):
        out = insert(out, 10, "#")
        out = insert(out, 20, "#")
        out = insert(out, 30, "#")
        #out[10] = "#"
        #out[20] = "#"
        #out[30] = "#"
    if(a == 5 or b == 5):
        out = insert(out, 13, "#")
        out = insert(out, 22, "#")
        out = insert(out, 31, "#")
        #out[13] = "#"
        #out[22] = "#"
        #out[31] = "#"
    if(a == 6 or b == 6):
        out = insert(out, 16, "#")
        out = insert(out, 24, "#")
        out = insert(out, 32, "#")
        #out[16] = "#"
        #out[24] = "#"
        #out[32] = "#"
    if(a == 7 or b == 7):
        out = insert(out, 41, "#")
        out = insert(out, 42, "#")
        out = insert(out, 43, "#")
        #out[43] = "#"
        #out[44] = "#"
        #out[45] = "#"
    if(b == 8):
        out = insert(out, 50, "#")
        out = insert(out, 60, "#")
        out = insert(out, 70, "#")
        #out[50] = "#"
        #out[60] = "#"
        #out[70] = "#"

    for i in range(9):
        finOut = ""
        for j in range(9):
            finOut = finOut + out[i*9+j]
        print(finOut)
            

def insert(string, pos, char):
    out = ""
    for i in range(len(string)):
        if(i != pos):
            out = out + string[i]
        else:
            out = out + char
    return out


n, c = input().split()
N = int(n)
C = int(c)

for _ in range(N):
    inp = ""
    for i in range(9):
        a = input()
        inp = inp + a

    #print(inp)
    #print(check(inp))

    cipherChar = cipher(C, check(inp))
    #print(cipherChar)
    a, b = getArms(cipherChar)
    #print(f"arms: {a} {b}")
    processOut(a, b)

