小 A 最近喜欢上了一部番《BanG Dream! It's MyGO!!!!!》。
MyGO 现在他有一个长度为 $$$n$$$ 的数列 $$$\{a_n\}$$$ ,现在要把它分成若干段,要求每段的异或和均严格大于 $$$k$$$。
划分出的每段必须连续,并且每个元素恰好在其中的一个段中。
小 A 想知道,对于所有的划分方案,划分段数三次方的总和是多少,由于这个数可能很大,你只需要输出它对 $$$998244353$$$ 取模后的结果即可。
形式化的,对于所有数列 $$$\{a_n\}$$$ 的划分 $$$\{x_0,x_1,x_2\dots x_m\}$$$,满足 $$$x_0=0$$$, $$$x_m=n$$$ 和 $$$x_{i-1} \lt x_i$$$,求: $$$$$$ \sum_{x_0,x_1,x_2\dots x_m}^{}m^3[\bigwedge_{i=0}^{m-1}[\bigoplus_{j=x_i+1}^{x_{i+1}}a_j \gt k]] \quad \mathrm{mod} \quad 998244353 $$$$$$
其中,部分符号解释如下:
输入共包含两行。
第一行包含两个整数 $$$n,k$$$ ($$$1\leq n \leq {10^6},1\leq k \leq {10^9}$$$) 。
第二行包含 $$$n$$$ 个整数 $$$a_1,a_2,\cdots,a_n$$$ ($$$0\leq a_i \leq 10^6$$$)。
输出一个数 $$$n$$$ ,表示所有方案中划分段数三次方的和对 $$$998244353$$$ 取模后的结果。
3 21 2 3
8
4 41 4 7 9
36