시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
보내는 사람은 받는 사람에게 보낼 문장을 숨기기 위해 다음 규칙으로 이진 문자열을 만든다.
먼저 행의 수가 R, 열의 수가 C인 행렬을 정하고, 원래 문장의 각 글자를 숫자로 바꾼다.
0, A는 1, B는 2, ..., Z는 26으로 바꾼다.이렇게 얻은 비트들을 행렬의 왼쪽 위 칸부터 시계 방향 소용돌이 순서로 채운다. 모든 비트를 넣은 뒤에도 빈 칸이 남으면 나머지 칸은 0으로 채운다. 예를 들어 문장이 "ACM"이고 R=4, C=4라면 A=00001, C=00011, M=01101을 소용돌이 순서로 채우고, 마지막으로 남는 한 칸은 0으로 채운다.
마지막으로 행렬을 행 우선 순서로 읽은 이진 문자열을 보낸다. 위 경우 전달되는 문자열은 0000110100101100이다.
행렬의 크기 R, C와 받은 이진 문자열이 주어졌을 때, 원래 문장을 복원하시오.
첫째 줄에 테스트 케이스의 개수 T가 주어진다 (1 <= T <= 1,000). 각 테스트 케이스는 한 줄로 주어지며, R, 공백, C, 공백, 받은 메시지로 이루어져 있다.
1 <= R, C <= 21이다. 받은 메시지는 0과 1로만 이루어져 있고, 길이는 항상 R*C이다.
각 테스트 케이스마다 변환되기 전의 원래 문장을 출력한다. 원래 문장이 공백으로 끝난다면, 끝의 공백을 모두 제거한 뒤 출력한다.