AtCoder Regular Contest 171
F
Both Reversible
AtCoder
⌀ 3730
原题
← E→
翻译中…

Problem Statement

翻译中…

A string $T$ is called a good string when it satisfies the following condition:

翻译中…
  • There is a pair of strings $(A, B)$ that satisfies all of the following:
  • Both $A$ and $B$ are non-empty.
    • $A + B = T$.
    • Both $A + \mathrm{rev}(B)$ and $\mathrm{rev}(A) + B$ are palindromes.
翻译中…

Here, $A + B$ denotes the string formed by concatenating strings $A$ and $B$ in this order. Also, $\mathrm{rev}(A)$ denotes the string formed by reversing the order of the characters in string $A$.

翻译中…

There is a string $S$ of length $N$ consisting of lowercase English letters and the character ?. Among the $26^{(\text{number of ?s})}$ ways to replace the ?s in $S$ with lowercase English letters, how many result in a good string? Find the count modulo $998244353$.

翻译中…

Constraints

翻译中…
  • $2 \leq N \leq 5 \times 10^4$
  • $S$ is a string of length $N$ consisting of lowercase English letters and ?.
翻译中…

Input

翻译中…

The input is given from Standard Input in the following format:

翻译中…

N
S

翻译中…

Output

翻译中…

Print the number, modulo $998244353$, of ways to replace the characters that satisfy the condition in the problem statement.

翻译中…

样例

Input #1
4
?ba?
Output #1
1
The string `abab` is good, because if we set $A =$ `ab` and $B =$ `ab`, then $A + B =$ `abab`, and both $A + \mathrm{rev}(B) =$ `abba` and $\mathrm{rev}(A) + B =$ `baab` are palindromes. Among the strings that can be formed by replacing the `?`s in $S$ with lowercase English letters, there is only one good string, which is `abab`.
Input #2
10
?y?x?x????
Output #2
676
Input #3
30
???a?????aab?a???c????c?aab???
Output #3
193994800
Input #4
36
????????????????????????????????????
Output #4
363594614
题目信息
题号
arc171_f
时间限制
2 s
内存限制
1024 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。