from enum import Enum
import string

down = R"""........................................*........#........#........#............."""

left_down = R"""........................................*.......#.......#.......#................"""

left = R""".....................................###*........................................"""

left_top = R"""..........#.........#.........#.........*........................................"""

top = R""".............#........#........#........*........................................"""

top_right = R"""................#.......#.......#.......*........................................"""

right = R"""........................................*###....................................."""

down_right = R"""........................................*.........#.........#.........#.........."""

class Directions(Enum):
    DOWN = down
    LEFT_DOWN = left_down
    LEFT = left
    LEFT_TOP = left_top
    TOP = top
    TOP_RIGHT = top_right
    RIGHT = right
    DOWN_RIGHT = down_right

# row, column
detection = {Directions.DOWN: 67,
            Directions.LEFT_DOWN: 64,
            Directions.LEFT: 37,
            Directions.LEFT_TOP: 10,
            Directions.TOP: 13,
            Directions.TOP_RIGHT: 16,
            Directions.RIGHT: 43,
            Directions.DOWN_RIGHT: 70}

alphabet = {"A": [Directions.DOWN, Directions.LEFT_DOWN],
            "B": [Directions.DOWN, Directions.LEFT],
            "C": [Directions.DOWN, Directions.LEFT_TOP],
            "D": [Directions.DOWN, Directions.TOP],
            "E": [Directions.DOWN, Directions.TOP_RIGHT],
            "F": [Directions.DOWN, Directions.RIGHT],
            "G": [Directions.DOWN, Directions.DOWN_RIGHT],
            "H": [Directions.LEFT, Directions.LEFT_DOWN],
            "I": [Directions.LEFT_DOWN, Directions.LEFT_TOP],
            "J": [Directions.RIGHT, Directions.TOP],
            "K": [Directions.TOP, Directions.LEFT_DOWN],
            "L": [Directions.LEFT_DOWN, Directions.TOP_RIGHT],
            "M": [Directions.RIGHT, Directions.LEFT_DOWN],
            "N": [Directions.LEFT_DOWN, Directions.DOWN_RIGHT],
            "O": [Directions.LEFT, Directions.LEFT_TOP],
            "P": [Directions.LEFT, Directions.TOP],
            "Q": [Directions.LEFT, Directions.TOP_RIGHT],
            "R": [Directions.LEFT, Directions.RIGHT],
            "S": [Directions.LEFT, Directions.DOWN_RIGHT],
            "T": [Directions.TOP, Directions.LEFT_TOP],
            "U": [Directions.TOP_RIGHT, Directions.LEFT_TOP],
            "V": [Directions.TOP, Directions.DOWN_RIGHT],
            "W": [Directions.TOP_RIGHT, Directions.RIGHT],
            "X": [Directions.TOP_RIGHT, Directions.RIGHT_DOWN],
            "Y": [Directions.LEFT_TOP, Directions.RIGHT],
            "Z": [Directions.RIGHT_DOWN, Directions.RIGHT]}

def combine_directions(directions):
    result = directions[0].value
    for direction in directions[1:]:
        new_result = ""
        for i in range(0, 9*9):
            if result[i] == "#":
                new_result += "#"
                continue
            else:
                new_result += direction.value[i]
        result = new_result
    return result


def detect_directions(flag):
    result = []
    # print(enumerate(flag))
    for direction, positions in detection.items():
        # print(direction)
        # print(positions)
        # print(flag[positions[0] * positions[1]])
        # print(positions[0] * positions[1])
        if flag[positions] == "#":
            result.append(direction)
            # print(direction)
    return result

def input_flag():
    result = ""
    for i in range(0,9):
        result += input()
    return result

def detect_letter(directions):
    for letter, direction in alphabet.items():
        if direction[0] in directions and direction[1] in directions:
            return letter

def print_flag(flag):
    for i, char in enumerate(flag):
        i = i + 1
        # print(i)
        # if i == 0:
        #     print(".")
        #     continue
        if i % 9 == 0 and i != 0:
            print(char)
        elif i >= len(flag):
            continue
        else:
            print(char, end="")

    # print(".", end="")

def caesar(data, key):
    result = ""
    for char in data:
        index = [i for i in string.ascii_uppercase].index(char)
        index += key
        if index >= len(string.ascii_uppercase):
            index = index - len(string.ascii_uppercase)
        result += [i for i in string.ascii_uppercase][index]
    return result

def main():
    # print(caesar(string.ascii_uppercase, 2))
    # test = combine_directions([Directions.TOP, Directions.RIGHT])
    # print_flag(test)
    flag_count, caesar_constant = input().split(" ")
    flag_count = int(flag_count)
    caesar_constant = int(caesar_constant)
    flags = []
    for i in range(0, flag_count):
        flags.append(input_flag())
    # print(flags)
    text = ""
    for flag in flags:
        text += detect_letter(detect_directions(flag))
    text = caesar(text, caesar_constant)
    # print(text)
    for char in text:
        print_flag(combine_directions(alphabet[char]))

if __name__ == "__main__":
    main()