시간 제한메모리 제한제출정답맞힌 사람정답 비율
6 초 1024 MB75444156.944%

문제

The Incredibly Cute Penguin Chicks love to eat worms. One day, their mother found a long string-shaped worm with a number of letters on it. She decided to cut this worm into pieces and feed the chicks.

The chicks somehow love International Collegiate Programming Contest and want to eat pieces with ICPC-ish character strings on them. Here, a string is ICPC-ish if the following conditions hold.

  • It consists of only C’s, I’s, and P’s.
  • Two of these three characters appear the same number of times (possibly zero times) in the string and the remaining character appears strictly more times.

For example, ICPC and PPPPPP are ICPC-ish, but PIC, PIPCCC and PIPE are not.

You are given the string on the worm the mother found. The mother wants to provide one or more parts of the worm all with an ICPC-ish string, without wasting remains. Your task is to count the number of ways the worm can be prepared in such a manner.

입력

The input is a single line containing a character string $S$ consisting of only C’s, I’s, and P’s, which is on the string-shaped worm the mother penguin found. The length of $S$ is between $1$ and $10^6$, inclusive.

출력

Print in a line the number of ways to represent the string S as a concatenation of one or more ICPC-ish strings modulo a prime number $998\,244\,353 = 2^{23} \times 7 \times 17 + 1$.

예제 입력 1

ICPC

예제 출력 1

2

예제 입력 2

CCCIIIPPP

예제 출력 2

69

예제 입력 3

PICCICCIPPI

예제 출력 3

24

힌트

In the first sample, the string “ICPC” can be represented in the following two ways.

  • A single ICPC-ish string, “ICPC”.
  • Concatenation of four ICPC-ish strings, “I”, “C”, “P”, and “C”.