import sys

def huj(r, c, ofce, vlky, sachof):
    sachov = sachof
    for y in range(r):
        for x in range(c):
            je_tam = 0
            for (vx, vy, vz) in vlky:
                if x == vx and vy == y:
                    je_tam = 1
            if je_tam:
                sys.stdout.write('W')
                continue
            
            je_tam = 0
            for (vx, vy, vz) in ofce:
                if x == vx and vy == y:
                    je_tam = 1
            if je_tam:
                sys.stdout.write('S')
                continue

            sys.stdout.write(sachov[y][x][0])
        sys.stdout.write('\n')
def main():
    t, r, c = [int(i) for i in input().split()]
    sachof = []
    for kaj in range(r):
        lajna = list(input())
        sachof.append(lajna)

    #print(sachof)

    ofce = []
    vlky = []
    for y in range(r):
        for x in range(c):
            #print(x, y)
            if sachof[y][x] == 'S':
                ofce.append((x, y, 0))
                sachof[y][x] = '.'
            elif sachof[y][x] == 'W':
                vlky.append((x, y, 0))
                sachof[y][x] = '.'
            sachof[y][x] = ('.', 0)

    for koilo in range(t):
        vlky = [ ((x + 1) % c, y, z) for (x, y, z) in vlky ]
        ofce = [ (x, (y + 1) % r, z) for (x, y, z) in ofce ]

        vlky_a_ofce = []
        for (vx, vy, vz) in vlky:
            for (ox, oy, oz) in ofce:
                if ox == vx and oy == vy:
                    vlky_a_ofce.append((vx, vy, vz, oz))

        for (vx, vy, vz, oz) in vlky_a_ofce:
            vlky.remove((vx, vy, vz))
            vlky.append((vx, vy, 0))
            ofce.remove((vx, vy, oz))
            sachof[vy][vx] = ('*', 0)
        sachov = sachof

        for (ox, oy, oz) in ofce.copy():
            if sachov[oy][ox][0] == '#':    
                ofce.remove((ox, oy, oz))
                ofce.append((ox, oy, 0))
                sachof[oy][ox] = ('.', -1)

        vlky2 = []
        for (vx, vy, vz) in vlky:
            vz2 = vz + 1
            if vz2 == 10:
                sachof[vy][vx] = ('*', 0)
            else:
                vlky2.append((vx, vy, vz2))
        vlky = vlky2

        vlky2 = []
        for (vx, vy, vz) in ofce:
            vz2 = vz + 1
            if vz2 == 5:
                sachof[vy][vx] = ('*', 0)
            else:
                vlky2.append((vx, vy, vz2))
        ofce = vlky2

        
        for y in range(r):
            for x in range(c):
                soile, life = sachov[y][x]
                life += 1
                if soile == '.':
                    if life == 3:
                        sachov[y][x] = ('#', 0)
                    else:
                        sachov[y][x] = (soile, life)

    huj(r, c, ofce, vlky, sachof)



main()

