Incredibly Cute Penguin Chicks
시간 제한6초메모리 제한1024 MB
C, I, P로 이루어진 문자열을, 두 문자의 개수가 같고 나머지 한 문자가 더 많은 조각들로 나누는 방법의 수를 998244353으로 나눈 나머지로 구한다.
문제
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 consisting of only C’s, I’s, and P’s, which is on the string-shaped worm the mother penguin found. The length of is between and , 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 .
힌트
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”.