第一行,一个整数 n (1≤n≤3×10
5),表示序列的长度。
第二行,共 n 个整数 a
i (0≤a
i<2
24),表示序列。
第三行,一个整数 q (1≤q≤3×10
5),表示询问的数量。
接下来 q 行,每行表示一个操作,输入有两种格式:
-
第一种操作的格式为 "1 l r x",表示将序列中编号在区间 [l,r] 的所有元素,修改为和 x 二进制与操作后的值,其中 1≤l≤r≤n, 0≤x<224;
-
第二种操作的格式为 "2 l r",表示询问序列中编号在区间 [l,r] 的所有元素的平方和,模 998244353 的值,其中 1≤l≤r≤n。
数据保证至少有一个第二种操作,即保证至少询问一次答案。