#4999. Problem 1. Moo Decomposition
Problem 1. Moo Decomposition
Problem 1. Moo Decomposition
USACO 2025 US Open Contest, Gold
You have a long string of Ms and Os and an integer . Count the number of ways of ways to decompose into subsequences such that each subsequence is MOOOO....O with exactly Os, modulo .
Since the string is very long, you are not given it explicitly. Instead, you are given an integer (), and a string of length (). The string is the concatenation of copies of the string .
INPUT FORMAT (input arrives from the terminal / stdin):
The first line contains , , and .
The second line contains the string of length . Every character is either an M or an O.
It is guaranteed that the number of decompositions of is nonzero.
OUTPUT FORMAT (print output to the terminal / stdout):
Output the number of decompositions of string , modulo .
SAMPLE INPUT:
2 6 1 MOOMOO
SAMPLE OUTPUT:
1
The only way to decompose into MOOs is to let the first three characters form a MOO and the last three characters form another MOO.
SAMPLE INPUT:
2 6 1 MMOOOO
SAMPLE OUTPUT:
6
There are six distinct ways to decompose the string into subsequences (uppercase letters form one MOO, lowercase letters form another):
- MmOOoo
- MmOoOo
- MmOooO
- MmoOOo
- MmoOoO
- MmooOO
SAMPLE INPUT:
1 4 2 MMOO
SAMPLE OUTPUT:
4
SAMPLE INPUT:
1 4 100 MMOO
SAMPLE OUTPUT:
976371285
Make sure to take the answer modulo .
SCORING: Inputs 5-7: , Inputs 8-10: , , Inputs 11-13: Inputs 14-19: Inputs 20-25: No additional constraints.
Problem credits: Dhruv Rohatgi