第一行,一个整数 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。
数据保证至少有一个第二种操作,即保证至少询问一次答案。