该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

异段(xor)

题目描述

Y 同学有一个长度为 nn 的整数序列 a1,a2,,ana_1,a_2,\ldots,a_n。现在需要处理 qq 次操作,操作有两种:

  • 1 l r:询问 i=lrai\sum_{i=l}^{r} a_i
  • 2 l r x:对于所有 lirl \le i \le r,将 aia_i 改为 aixorxa_i \operatorname{xor} x

请你按顺序输出所有询问操作的答案。

输入格式

第一行包含一个整数 nn

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n

第三行包含一个整数 qq

接下来 qq 行,每行表示一次操作,格式如题目描述所示。

输出格式

对于每个 1 l r 操作,输出一行一个整数,表示对应区间和。

样例

样例输入 #1

5
1 2 3 4 5
4
1 1 5
2 2 4 3
1 1 5
1 2 3

样例输出 #1

15
14
1

数据范围与约定

对于 100%100\% 的数据,保证 1n,q2×1051 \le n,q \le 2\times 10^50ai,x1090 \le a_i,x \le 10^91lrn1 \le l \le r \le n

测试点编号 分值 nn \le qq \le 特殊性质
121 \sim 2 1010 2020
353 \sim 5 1515 50005000 特殊性质 A
686 \sim 8 20002000 特殊性质 B
9129 \sim 12 2020 2×1052\times 10^5
131613 \sim 16 10510^5
172017 \sim 20 2×1052\times 10^5
  • 特殊性质 A:保证没有修改操作。
  • 特殊性质 B:保证 ai,x1023a_i,x \le 1023