카이사르 암호

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

문제

헥토르는 최근 '카이사르 암호'라고 불리는 메시지 암호화 방법을 알게 되었습니다. 이 방법은 각 글자가 알파벳에서 차지하는 위치를 기반으로 합니다. 이 문제에서는 26개의 글자로 이루어진 표준 영어 알파벳을 다룹니다.

a b c d e f g h i j k l m n o p q r s t u v w x y z

카이사르 암호로 메시지를 암호화하려면 먼저 0부터 25까지의 정수 중 하나를 고릅니다. 이 값을 K라고 부릅니다(K가 0이면 암호화 효과가 전혀 없습니다). 그런 다음 메시지의 각 글자를 알파벳에서 K칸 뒤에 있는 글자로 바꿉니다. K칸 뒤의 글자가 알파벳의 끝을 넘어가면 알파벳이 무한히 반복된다고 봅니다. 즉 'z' 바로 다음은 다시 'a'이고, 그다음은 'b'입니다.

예를 들어 K = 2일 때 메시지 'zoska'는 'bqumc'로 암호화됩니다.

헥토르는 빅토르에게 카이사르 암호로 암호화한 메시지를 보냈지만, 사용한 K 값은 알려 주지 않았습니다. 대신 암호화하기 전 원래 메시지의 첫 글자가 무엇이었는지를 함께 알려 주었습니다. 이 정보만으로 메시지를 해독할 수 있을까요?

원래 메시지의 첫 글자와 위 방식으로 암호화된 메시지가 주어졌을 때, 메시지를 해독하는 프로그램을 작성하세요.

입력

첫 번째 줄에 테스트 케이스의 개수를 나타내는 자연수 Z (1 ≤ Z ≤ 10)가 주어집니다. 이어서 각 테스트 케이스가 차례로 주어지며, 각 케이스는 세 줄로 이루어집니다.

각 테스트 케이스의 첫 번째 줄에는 암호화된 메시지의 글자 수를 나타내는 자연수 N (1 ≤ N ≤ 1000000)이 주어집니다.

두 번째 줄에는 암호화된 메시지를 이루는 N개의 영어 소문자가 주어집니다.

세 번째 줄에는 원래 메시지의 첫 글자에 해당하는 영어 소문자 한 개가 주어집니다.

출력

각 테스트 케이스마다 해독된 메시지를 한 줄에 하나씩 출력합니다.