글자
시간 제한2초메모리 제한256 MB
격자에 적힌 글자들을 중력 방향(왼쪽, 오른쪽, 위, 아래)의 순서대로 밀어 최종 격자를 출력합니다.
문제
마틴은 선형대수 강의를 듣고 있다. 말할 필요도 없이, 강의하는 교수는 우주에서 가장 지루한 사람이다.
칠판에 행렬이 적혀 있다. 일부 칸에는 영문 알파벳이 적혀 있고, 나머지 칸은 비어 있다. 다음은 행렬의 예이다:
마틴은 이 행렬이 무엇을 나타내는지 전혀 모른다. 지난 30분 동안 강의를 듣지 않았다. 대신 중력이 갑자기 행렬에 작용해서, 모든 글자가 아래로 미끄러져 바닥에 닿거나 바로 아래 글자에 부딪힐 때까지 내려간다고 상상한다. 첫 번째 단계 후 행렬은 다음과 같다:
그다음 중력의 방향이 바뀌어 글자를 왼쪽으로 당긴다. 이것이 두 번째 단계이다. 모든 글자는 왼쪽 끝에 닿거나 왼쪽 글자에 부딪힐 때까지 왼쪽으로 미끄러진다. 행렬은 다음과 같이 된다:
마틴은 강의가 끝날 때까지 이 과정을 머릿속으로 계속 진행한다. 각 단계에서 모든 글자가 제자리에 내려앉은 뒤에 중력 방향이 바뀔 수 있다. 방향은 왼쪽, 오른쪽, 위, 아래 네 가지이다.
주어진 중력 방향 변화의 순서에 따라 모든 글자의 최종 위치를 구하는 프로그램을 작성하라.
입력
첫 줄에 세 정수 , , 가 주어진다. 은 행렬의 크기이고, 는 단계 수이다.
둘째 줄에는 길이가 인 문자열이 주어진다. 문자는 L, R, U, D 중 하나이며, 각각 해당 단계의 중력 방향인 왼쪽, 오른쪽, 위, 아래를 뜻한다.
이어지는 줄에 행렬이 주어진다. 각 줄은 개의 문자로 이루어지며, 소문자 영문자이거나 빈 칸을 뜻하는 '.'(점)이다.
출력
마지막 단계가 끝난 후의 행렬을 입력과 같은 형식으로 출력한다.
제한