CauchySheep 有一个字符串 $s$。
他观察了该字符串所有不同的非空子串,并建立了一个有向图:如果 $|b| + 1 = |a|$ 且 $b$ 是 $a$ 的子串,则从 $a$ 到 $b$ 连一条有向边。
你需要计算该图中从 $s$ 出发的简单路径数量,结果对 $998\,244\,353$ 取模。
输入
输入的第一行包含一个由小写拉丁字母组成的字符串 $s$ ($1 \le |s| \le 300\,000$)。
输出
输出一个整数:CauchySheep 的图中从 $s$ 出发的简单路径数量,对 $998\,244\,353$ 取模。
样例
输入格式 1
abba
输出格式 1
13
输入格式 2
benbeipo
输出格式 2
255
输入格式 3
iqiiiiiiqq
输出格式 3
300
输入格式 4
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
输出格式 4
35
说明