IBM은 ACM 프로그래밍 대회에 참가하는 팀들이 주고받는 모든 메시지를 암호화하기로 했다. 메시지의 글자를 그대로 보내는 대신, 네 개의 비밀 키에 대한 나머지를 전송한다. 이 비밀 키는 네 개의 두 자리 정수이며, 어느 두 개를 고르더라도 서로소이다.
먼저 메시지의 각 글자를 숫자로 바꾼다. $A = 01$, $B = 02$, $\ldots$, $Z = 26$이고 빈칸(공백)은 $27$이다. 그런 다음 글자 3개씩 묶어 6자리 수를 만든다. (마지막 묶음이 글자 3개가 되지 않으면 오른쪽을 빈칸으로 채운 뒤 6자리 수로 만든다.) 예를 들면 다음과 같다.
THE CAT IN THE HAT -> 200805 270301 202709 142720 080527 080120
각 6자리 정수는 네 비밀 키로 나눈 나머지로 바꾸어 암호화한다. 각 나머지는 필요하면 앞에 $0$을 붙여 두 자리로 만든다. 네 나머지를 이어 붙인 뒤, 앞쪽의 $0$들을 모두 제거한다. 예를 들어 비밀 키가 $34$, $81$, $65$, $43$이면 첫 번째 정수 $200805$의 나머지는 $1$, $6$, $20$, $38$이고, 위 규칙에 따라 이어 붙이면 암호 $1062038$이 된다. 위 예시 메시지 전체는 다음과 같이 암호화된다.
1062038 1043103 1473907 22794503 15135731 16114011
비밀 키와 암호화된 메시지가 주어질 때, 원래 메시지를 복원하여 출력하시오.
입력은 여러 개의 테스트 케이스로 이루어져 있다. 첫째 줄에는 테스트 케이스의 수를 나타내는 양의 정수 $n$이 주어진다. 이어지는 $2n$개의 줄에 테스트 케이스가 주어진다.
각 테스트 케이스의 첫째 줄에는 암호화된 메시지의 묶음 개수를 나타내는 양의 정수($50$ 미만)가 주어진다. 둘째 줄에는 네 개의 키와 그 뒤에 암호화된 메시지가 주어진다. 네 개의 키와 각 메시지 묶음은 공백 하나로 구분된다.
네 키의 곱은 항상 $272727$(6자리 묶음이 가질 수 있는 최댓값)보다 크므로, 암호화된 각 메시지는 원래 메시지 하나로만 복원된다.
각 테스트 케이스에 대해, 복원한 메시지를 한 줄에 출력한다. 뒤에 오는 빈칸은 출력하지 않는다.