#P17236. 『STA - R10』刷墙墙刷

『STA - R10』刷墙墙刷

背景

爱丽丝是一只喜欢对称的兔子。
现在她钦定你去帮忙刷墙。

现在有一面墙,用字符串 aa 来表示每个位置的颜色。
期望达到的效果用字符串 bb 来表示。字符集为小写字母。

你可以进行任意多次操作,每次选定 aa 的一个长度为 LL 的子区间和一个长度为 LL 的字符串 cc,将该区间赋值为 cc
出于效率考虑,你选定的 LL 必须 3\ge 3
出于对称考虑,你选定的字符串必须是奇数长度的回文串。
如果你能完成这项任务,就可以获得 220220 菲林的奖励!

爱丽丝确定好了一些位置的颜色,没确定的用 ? 标注。你想知道有多少种可能的 bb 的取值使得你可以获得菲林。
爱丽丝提醒你这个数字太大了。所以你决定对 998244353998244353 取模。

题目描述

形式化题意:
规定字符集为小写字母。
对于给定的长度为 nn 的字符串 a,ba, b,定义一次操作为,选定 aa 的一个长度为奇数且 3\ge 3 的子区间 [l,r][l, r],将其赋值为一个回文串。
aa 可以经过有限次操作变成 bb,则称 aa 是好的。

现在给定一个 aa 和一个含有小写字母和 ?bb(注意 ? 的个数可以是 [0,n][0, n] 中的任意一个整数),若 bb 中的 ? 可以取任意小写字母,有多少种可能的取值使得 aa 是好的?

输出答案对 998244353998244353 取模的结果。

输入格式

第一行一个正整数 nn,表示字符串长度。
第二行一个长度为 nn 的字符串 aa,只含有小写字母。
第三行一个长度为 nn 的字符串 bb,只含有小写字母和 ?

输出格式

一行一个整数,方案数对 998244353998244353 取模的结果。

5
alice
alic?

2

提示

本题采用捆绑测试

::cute-table{tuack} | Subtask | nn\le | 特殊性质 | 分值 | |:-:|:-:|:-:|:-:| | 11 | 55 | 无 | 1010 | | 22 | 10510^5 | bb 中只包含小写字母| 1010 | | 33 | 10510^5 | bb 中只包含 ? | 2020 | | 44 | 2×1032 \times 10^3 | 无 | 2020 | | 55 | 10610^6 | 无 | 4040 |