编程题
### 问题描述
野兽先辈一个包含 $n$ 个整数的数组,他需要进行以下操作:
1. 反转子数组。
2. 计算子数组中值的总和。
### 输入格式
第一行输入包含两个整数 $n$ 和 $m$,表示数组的大小和操作的数量。数组元素编号为 $1, 2, \dots, n$。
接下来一行包含 $n$ 个整数 $x_1, x_2, \dots, x_n$,表示数组的内容。
最后,有 $m$ 行描述操作。每行包含三个整数 $t$,$a$ 和 $b$。如果 $t=1$,反转从 $a$ 到 $b$ 的子数组。如果 $t=2$,计算从 $a$ 到 $b$ 的值的总和。
### 输出格式
对于 $t=2$ 的每个操作,一行一个整数,输出答案。
### 样例输入
```
8 3
2 1 3 4 5 3 4 4
2 2 4
1 3 6
2 2 4
```
### 样例输出
```
8
9
```
### 评测数据规模
$1 \leq n, m \leq 10^5$,$0 \leq x_i \leq 10^9$,$1 \leq a \leq b \leq n$。