교수님이 보낸 이메일

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

프로그래밍 대회의 심사위원 역할은 꽤 고된 일입니다. 심사위원은 어렵고 흥미로운 문제를 준비해야 할 뿐 아니라, 무엇보다 대회 당일까지 그 문제를 비밀로 지켜야 합니다. 심사위원들은 흔히 이메일로 문제를 논의하지만, 이메일은 기밀 자료를 주고받기에 안전한 통로가 아닙니다. 실수로 엉뚱한 사람, 예컨대 자신의 학생이나 심지어 대회 참가자에게 메일이 전송될 수도 있기 때문입니다.

이 문제를 해결하기 위해 심사위원 중 한 명인 Nash V. Ruhdney 교수는 메시지를 기밀로 주고받는 방법을 제안했습니다. 길이가 nn인 메시지가 있을 때, 폭이 kk인 직사각형에 메시지를 행 우선(왼쪽에서 오른쪽, 위에서 아래) 으로 채워 넣은 다음, 정해진 순서대로 열 단위로 읽어 냅니다. 이때 열을 읽는 순서가 바로 암호화 키입니다.

예를 들면 다음과 같습니다.

메시지     : I am Prof. Nash V. Ruhdney
키         : 3 7 4 1 2 6 5
격자       : I   a m   P r
             o f .   N a s
             h   V .   R u
             h d n e y * *      ('*'는 메시지에 속하지 않는 빈 칸입니다)
암호문     : m .e N yIohha.VnrsuPaR f d

키는 11부터 kk까지의 순열입니다. 키의 jj번째 값은 jj번째 열의 순위를 뜻하며, 열은 순위가 작은 것부터 차례대로 읽습니다. 위 예에서 순위는 3 7 4 1 2 6 5이므로, 순위가 1144번째 열을 가장 먼저 읽고, 이어서 순위가 2255번째 열, 순위가 3311번째 열 순으로 읽어 나갑니다. 메시지 끝을 넘어선 빈 칸은 건너뜁니다.

교수는 암호문을 이메일로 보내고, 키는 전화나 문자 같은 다른 경로로 전달하여 이메일 유출 위험을 줄입니다.

당연히 교수가 손으로 직접 암호화하지는 않을 것입니다. 그를 대신해 암호화를 수행하는 프로그램을 작성하세요.

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스는 다음과 같습니다.

  • 첫째 줄: 길이가 nn (1n10001 \le n \le 1000)인 메시지로, ASCII 문자로 이루어지며 공백을 포함할 수 있습니다. 줄 전체가 메시지이므로 앞뒤 공백도 메시지의 일부입니다.
  • 둘째 줄: 직사각형의 폭 kk (1k10001 \le k \le 1000)와, 이어서 공백 하나로 구분된 kk개의 정수가 주어집니다. 이 kk개의 정수는 11부터 kk까지의 순열이며 암호화 키입니다.

입력은 파일의 끝에서 종료됩니다.

출력

각 메시지에 대해 암호문을 한 줄에 하나씩 출력하세요.