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

异段(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:对于所有 l≤i≤rl \le i \le r,将 aia_i 改为 aixor⁡xa_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\% 的数据,保证 1≤n,q≤2×1051 \le n,q \le 2\times 10^5,0≤ai,x≤1090 \le a_i,x \le 10^9,1≤l≤r≤n1 \le l \le r \le n。

测试点编号 分值 n≤n \le q≤q \le 特殊性质
1∼21 \sim 2 1010 2020 无
3∼53 \sim 5 1515 50005000 特殊性质 A
6∼86 \sim 8 20002000 特殊性质 B
9∼129 \sim 12 2020 2×1052\times 10^5 无
13∼1613 \sim 16 10510^5
17∼2017 \sim 20 2×1052\times 10^5
  • 特殊性质 A:保证没有修改操作。
  • 特殊性质 B:保证 ai,x≤1023a_i,x \le 1023。