ez_code   1년 전

문제

야스는 비밀 메시지를 받았습니다. 이는 라틴 알파벳 대문자의 연속입니다. (즉 다음의 글자로 이루어져 있습니다: ABCDEFGHIJKLMNOPQRSTUVWXYZ) 한셀은 이것이 카이사르 암호라는 것을 압니다. 카이사르 암호는 메시지의 각 문자를 알파벳에서 특정한 문자 수만큼 이동하는 암호입니다. 이 과정에서 알파벳 끝에 있는 글자가 알파벳 앞에 있는 글자로 당겨지게 됩니다. 아래의 메시지를 예로 들겠습니다.

ABCEGIKMOQSUVWXYZ

문자 수 4를 기준으로 카이사르 암호를 적용하면, 메시지는 아래와 같아집니다.

EFGIKMOQSUWYZABCD

야스는 암호를 해독하려 합니다. 그러나 아쉽게도 기준이 된 문자 수를 모릅니다. 하지만 언어적 경험이 많은 야스는 원문에서 어떤 글자가 가장 많이 나왔는지 예측할 수 있습니다. 항상 그를 따라다니는 운은 가장 많이 나온 글자가 딱 하나라는 것도 보장합니다 - 즉, 원문에서 똑같이 가장 많이 등장하는 글자 두 개는 존재하지 않습니다. 

야스가 암호를 풀어 원문을 작성할 수 있도록 도웁시다.

입력

첫 줄에 메시지의 길이를 나타내는 정수 n과 (1 <= n <= 1 000 000) 원문에서 가장 많이 등장하는 라틴 대문자를 나타내는 c가 주어집니다; n과 c는 하나의 공백으로 구분되어 있습니다. 둘째 줄에는 공백 없이 n개의 라틴 대문자로 이루어진 암호가 주어집니다.

출력

해독한 원문을 한 줄에 출력합니다. 모호함 없이 원문을 되살릴 수 있음은 보장됩니다. 

댓글을 작성하려면 로그인해야 합니다.