메시지를 암호화하는 가장 간단한 방법 중 하나는 글자를 일정한 칸수만큼 밀어 쓰는 것입니다.
예를 들어 원문의 각 글자를 $5$칸씩 민다면 A는 암호문에서 F가 됩니다. (B $\to$ G, C $\to$ H, …, T $\to$ Y, U $\to$ Z, V $\to$ A, …, Z $\to$ E) 알파벳의 끝을 넘어가면 다시 A로 돌아옵니다. 복호화하려면 같은 칸수만큼 반대로 밀면 됩니다.
조금 더 까다로운 방식은 밀어 쓸 칸수를 키워드로 정합니다. 키워드가 ACT라고 합시다. 암호화하려면 먼저 원문에서 알파벳이 아닌 문자를 모두 제거한 뒤, 남은 글자를 키워드 길이와 같은 너비의 격자에 채워 넣습니다. 다음 메시지를 암호화한다고 합시다.
BANANA & PEEL
이 메시지를 키워드 ACT를 머리글로 하는 격자로 나타내면 다음과 같습니다.
| A | C | T |
| B | A | N |
| A | N | A |
| P | E | E |
| L |
이제 각 글자를 밀어 쓰되, 미는 칸수는 그 열의 머리글에 놓인 키워드 글자에 따라 달라집니다. 머리글이 A이면 그 열의 글자는 밀지 않고, B이면 $1$칸씩 밀며, 이런 식으로 알파벳 순서에 따라 밀어 씁니다. 이 예시에서 세 번째 열은 T가 알파벳의 $20$번째 글자이므로 $19$칸씩 밀립니다.
암호화된 결과는 다음과 같습니다.
| A | C | T |
| B | C | G |
| A | P | T |
| P | G | X |
| L |
키워드와 암호화할 문자열을 입력받아 문자열을 암호화하는 프로그램을 작성하세요. 키워드는 $6$글자를 넘지 않으며, 메시지는 항상 대문자로만 주어집니다.
첫째 줄에 키워드가 주어진다. 둘째 줄에 암호화할 메시지가 주어진다. 키워드의 길이는 $6$글자를 넘지 않으며, 메시지 전체 길이도 $60$글자를 넘지 않는다.
암호화된 메시지를 한 줄에 출력한다.