#D1015. 字符串匹配

字符串匹配

题目背景

给定字符串 TTSS 。有个空字符 AA ,每次可以把 SS 的首字母插入 AA 的开头或者结尾后删除,最多操作|S|次。有多少种方案使得 TTAA 的前缀?

题目描述

奆有一个长度为 mm 的字符串 TT ,所有前缀为 TT 的字符串都是魔咒。

奆还有一个长度为 nn 的字符串 SS 和一个空字符串 AA

在占卜过程中,奆需要执行一系列操作。有以下两种:

  • 删除 SS 的第一个字符,并将其添加到 AA 的最前面。
  • 删除 SS 的第一个字符,并将其添加到 AA 的最后面。

奆可以进行的操作不超过 nn 次。为了完成占卜,她想知道将 AA 变为魔咒(即前缀为 TT ) 的操作方案数。请计算答案对 998244353998244353 取模的结果。

输入格式

第一行输入一个长度为 nn 的字符串 SS ( 1n30001≤n≤3000 )。

第二行输入长度为 mm ( 1mn1≤m≤n ) 的字符串 TT

这两个字符串都只包含小写字母。

输出格式

输出方案数对 998244353998244353 取模的结果。

输入输出样例 #1

输入 #1

abab
ba

输出 #1

12

输入输出样例 #2

输入 #2

rotator
rotator

输出 #2

4

输入输出样例 #3

输入 #3

cacdcdbbbb
bdcaccdbbb

输出 #3

24

说明/提示

对于40%40\%的数据:1n1001\le n \le 100

对于100%100\%的数据:1n30001\le n\le 3000