문자열을 인코딩하는 다음과 같은 방법이 있다.
인코딩할 문자열의 각 문자를 순서대로 $x_1, x_2, \dots, x_n$이라고 하자. 인코딩은 다음 절차를 따른다.
예를 들어 문자열 "hello"를 $m = 3$, 순열 $p = (2, 3, 1, 5, 4)$로 인코딩하면 다음과 같이 바뀐다.
"hello" → "elhol" → "lhelo" → "helol"
인코딩된 문자열과, 인코딩에 사용한 $m$ 및 순열 $p_1, \dots, p_n$이 주어질 때, 인코딩하기 전의 원래 문자열을 복원(디코딩)하는 프로그램을 작성하시오.
입력은 여러 개의 테스트 케이스로 이루어진다.
각 테스트 케이스의 첫째 줄에는 두 정수 $n$과 $m$이 주어진다. ($1 \le n \le 80$, $1 \le m \le 10^9$)
둘째 줄에는 인코딩에 사용한 서로 다른 $n$개의 정수 $p_1, p_2, \dots, p_n$이 주어진다. ($1 \le p_i \le n$)
셋째 줄에는 인코딩된 문자열이 주어진다. 이 문자열의 길이는 $n$이며, 공백이 포함될 수 있다.
입력의 마지막 줄에는 $0$이 두 개 주어지며, 이 줄은 처리하지 않는다.
각 테스트 케이스마다 디코딩한 원래 문자열을 한 줄에 출력한다.