回文计数问题
题号:NC247907
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

给你一个由小写英文字母组成的字符串 s

你需要计算满足以下条件的,由字符串组成的非空集合 A 的个数:

1. 对于 ps非空子串。

2. 对于 ,记 ,有 p,q,p-t,q-t 四个字符串均为回文串或空串

在这里,lcs(p,q) 表示 p,q 的最长公共后缀,p-t 表示 p 删除末尾的 t 后剩下的字符串。

由于答案可能很大,所以你只需要输出对 998244353 取模后的结果。

输入描述:

一行一个由小写英文字母组成的字符串 s

输出描述:

一行一个整数,表示答案。

数据保证
示例1

输入

复制
abaaba

输出

复制
8

说明

合法的集合有:\left\{a\right\},\left\{b\right\},\left\{aa\right\},\left\{aba\right\},\left\{baab\right\},\left\{abaaba\right\},\left\{a,aa\right\},\left\{aba,abaaba\right\}
示例2

输入

复制
aaaa

输出

复制
15