Veni, vidi, vici

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

문제

원철이는 암호학 수업에서 카이사르 암호를 배웠다. 카이사르 암호는 아주 유명한 치환 암호이고, 규칙은 다음과 같다.

  1. a를 0, b를 1로 보고, 같은 방식으로 z를 25로 본다.
  2. nn으로 번호 xx를 암호화하면 y(x+n)mod26y \equiv (x+n) \bmod 26이 된다. 예를 들어 n=1n = 1이면 a는 b가 되고, b는 c가 되고, z는 a가 된다.
  3. 암호화된 번호 yy를 복호화하면 x(yn)mod26x \equiv (y-n) \bmod 26이 된다.

원철이는 이 암호의 약점도 같이 배웠다. 글자의 빈도수를 세는 것만으로 암호가 쉽게 풀린다는 점이다. 원철이는 한 글자를 두 글자로 늘려 암호화하면 이 약점을 피할 수 있다고 생각했다. 즉 글자 "x"를 x(y+zn)mod26x \equiv (y+z-n) \bmod 26을 만족하는 두 글자 "yz"로 바꾸는 방식이고, 원철이는 이것을 원철 암호라고 부르기로 했다. 단어를 암호화할 때는 맨 앞 글자부터 차례대로 한 글자씩 바꾸고 그 결과를 순서대로 이어 붙인다.

그런데 이렇게 하면 암호문의 길이가 항상 짝수라서 원철 암호를 썼다는 사실이 드러난다. 그래서 원철이는 암호화한 단어의 맨 뒤에 더미(dummy) 글자를 한 개 마음대로 붙일 수도 있다. 따라서 길이가 홀수인 암호문은 마지막 한 글자가 더미이고, 길이가 짝수인 암호문에는 더미가 없다.

원철이가 원철 암호로 한 말을 복호화하라.

입력

첫째 줄에 암호화에 사용한 키를 뜻하는 정수 nn (0n<260 \le n < 26)이 주어진다.

둘째 줄에 100개 이하의 단어가 공백 하나로 구분되어 주어진다. 각 단어의 길이는 2 이상 101 이하이고 영어 소문자 'a'부터 'z'로만 이루어져 있다. 이 단어는 모두 원철 암호로 암호화된 단어이다.

출력

입력에 주어진 순서대로 각 단어를 복호화해서 공백 하나로 구분해 한 줄에 출력한다.