编程题
### 问题描述
野兽先辈想维护一个数组列表,初始时只有一个数组。他需要处理以下类型的查询:
1. 将数组 $k$ 中的第 $a$ 个元素设置为 $x$。注意,每个数组的位置编号为 $1, 2, \dots, n$。
2. 计算数组 $k$ 中范围 $[a, b]$ 内值的总和。
3. 创建数组 $k$ 的副本并将其添加到列表的末尾。
### 输入格式
第一行有两个整数 $n$ 和 $q$,表示数组大小和查询数量。
接下来一行有 $n$ 个整数 $t_1, t_2, \dots, t_n$,表示数组的初始内容。
最后有 $q$ 行描述查询。每行的格式为以下之一:$1$ $k$ $a$ $x$、$2$ $k$ $a$ $b$ 或 $3$ $k$。
### 输出格式
打印每个求和查询的答案。
### 样例输入
```
5 6
2 3 1 2 5
3 1
2 1 1 5
2 2 1 5
1 2 2 5
2 1 1 5
2 2 1 5
```
### 样例输出
```
13
13
13
15
```
### 评测数据规模
$1 \leq n, q \leq 10^5$,$1 \leq t_i, x \leq 10^9$,$1 \leq a \leq b \leq n$。