매장 바닥은 n×m 크기의 정사각형 칸으로 나뉜 직사각형이다. 두 칸은 변을 공유하면 인접한다. 어느 한 칸 위에는 소포가 놓여 있고, 나머지 각 칸은 비어 있거나 창고지기가 옮길 수 없을 만큼 무거운 상자로 막혀 있다. 창고지기는 소포를 시작 칸에서 목표 칸으로 밀어서 옮겨야 한다.
창고지기는 빈 칸 위에서만 움직이며, 지금 서 있는 칸에서 인접한 빈 칸으로 한 칸씩 걸어간다. 소포와 인접한 칸에 서 있을 때는 소포를 밀 수 있는데, 그러면 소포는 자신의 반대쪽(소포 건너편) 칸으로 한 칸 이동한다. 단, 그 반대쪽 칸에 무거운 상자가 없어야 한다.
다음을 수행하는 프로그램을 작성하시오.
첫째 줄에 공백 하나로 구분된 두 양의 정수 n, m (n,m≤100)이 주어진다. 이는 매장의 크기이다. 이어지는 n개의 각 줄에는 문자 S, M, P, K, w로 이루어진 길이 m의 문자열이 하나씩 주어진다. j번째 줄의 i번째 문자는 좌표 (i,j) 칸의 종류를 나타내며 의미는 다음과 같다.
문자 M, P, K는 입력에 각각 정확히 한 번씩 나타난다.
표준 출력에 다음을 출력한다.