#agc060a. [agc060_a]No Majority
[agc060_a]No Majority
Problem Statement
A string consisting of lowercase English letters is said to be good if and only if the following condition is satisfied.
- Every (contiguous) substring of whose length is or greater satisfies the following:
- no character occupies the majority of that substring.
For example, acbca
is not good because c
occupies the majority of the substring cbc
.
You are given a string of length consisting of lowercase English letters and ?
. You want to replace each ?
with a lowercase English letter of your choice to make a good string. Find the number of ways to make a good string, modulo .
Constraints
- is a string of length consisting of lowercase English letters and
?
.
Input
The input is given from Standard Input in the following format:
Output
Print the answer.
Sample Input 1
3
a?b
Sample Output 1
24
Every way other than aab
and abb
satisfies the condition.
Sample Input 2
3
a?a
Sample Output 2
0
Sample Input 3
20
ugsyakganihodnwmktgi
Sample Output 3
1
Sample Input 4
20
??a???h?m?y?ts???tl?
Sample Output 4
444225229