보내는 사람은 받는 사람에게 보낼 문장을 숨기기 위해 다음 규칙으로 이진 문자열을 만든다.
먼저 행의 수가 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이다.
각 테스트 케이스마다 변환되기 전의 원래 문장을 출력한다. 원래 문장이 공백으로 끝난다면, 끝의 공백을 모두 제거한 뒤 출력한다.