#1256. 5.二进制

5.二进制

当前没有测试数据。

5.二进制

题目描述

给定一个长度为nn的整数数列aaqq次操作:

  • 修改操作:11 xx yy,表示将a[x]a[x]的值改为yy
  • 询问操作:22 xx yy,表示询问$\sum_{i=1}^{n}\left(\left(a_{i}+x\right)\ \text{and}\ y\right)$的值。

输入格式

第一行包含两个整数nnqq

第二行包含nn个整数a[i]a[i]

之后qq行每行包含三个整数optoptxxyy

输出格式

对于每一个询问,输出一行一个整数,表示答案。

数据范围与提示

  • 对于40%40\%的数据,nnq5000q \leq 5000
  • 对于另外20%20\%的数据,所有询问满足x=0x = 0
  • 对于100%100\%的数据,1n,q1051 \leq n,q \leq 10^{5}0ai,x,y<2200 \leq a_i,x,y < 2^{20}

样例

6 6
8 9 1 13 9 3
1 4 5
2 6 9
1 3 7
2 7 7
1 6 1
2 11 13
45
19
21