실행 시간 제한 | 메모리 제한 |
---|---|
1 초 | 128 MB |
2차 세계대전 당시, 통신이 필요할 상황에서는 암호를 이용한 통신이 이루어졌습니다. 일본군은 독특한 암호용 언어를 활용했는데, 이 언어는 다른 많은 언어들처럼 각 단어가 대문자와 소문자(A-Z 및 a-z)의 연속된 문자열로 구성되어 있습니다. 단어에 있는 각 인접한 문자 쌍이 유효한 쌍이어야 유효한 단어로 간주됩니다.
미군은 일본군의 암호 통신을 도청하였고, 일본군이 도청을 인지하기 전에 한 단어를 들었습니다. 일본군의 암호용 언어의 발음은 너무 빠르고 독특하여 미군이 정확히 들은 것은 단어 속 대문자의 총 개수 U (1 <= U <= 250)와 소문자의 총 개수 L (1 <= L <= 250)뿐이었습니다.
미군은 모든 P (1 <= P <= 200)개의 유효한 인접 문자 쌍을 알고 있습니다. 그들은 듣고 파악한 제한된 데이터와 일치하는 유효한 단어의 수를 알고 싶어합니다. 하지만 이 경우의 수는 매우 클 수 있으므로, 결과를 97654321로 나눈 나머지 값을 알고자 합니다.
2 2 7 AB ab BA ba Aa Bb bB
7
미군이 들은 단어에는 2개의 대문자와 2개의 소문자로 이루어져 있습니다.
유효한 인접 문자 쌍은 AB, ab, BA, ba, Aa, Bb, bB입니다.
가능한 단어는 다음과 같습니다:
AabB ABba abBA BAab BbBb bBAa bBbB