Elly 有两个序列 $a_1, a_2, \dots, a_n$ 和 $b_1, b_2, \dots, b_n$。她想要执行以下操作:
- $1 \ x \ y$,将 $a_x$ 的值修改为 $y$。
- $2 \ x \ y$,将 $b_x$ 的值修改为 $y$。
- $3 \ x$,求 $c_x$ 的值,其中 $c_0 = 0$,$c_i = \max(c_{i-1} + b_i, a_i)$,对于 $1 \le i \le x$。
请实现一个高效的数据结构来处理这些操作。
输入格式
输入包含多组测试数据,以文件结束符(EOF)结束。对于每组测试数据:
第一行包含两个整数 $n$ 和 $m$,分别表示两个序列的长度和操作次数。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$。 第三行包含 $n$ 个整数 $b_1, b_2, \dots, b_n$。 接下来的 $m$ 行,每行包含一个操作。
- $1 \le n, m \le 2 \times 10^5$
- $-10^9 \le a_i, b_i, y \le 10^9$
- $1 \le x \le n$
- $n$ 的总和与 $m$ 的总和均不超过 $2 \times 10^6$。
输出格式
对于每个类型为 3 的操作,输出一个整数,表示 $c_x$ 的值。
样例
样例输入 1
4 9 1 2 3 3 -1 2 3 3 3 1 3 2 3 3 3 4 2 2 -4 3 1 3 2 3 3 3 4
样例输出 1
1 3 6 9 1 2 5 8