【模板】区间一次函数复合求值
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给定 n 个一次函数 m 次操作,每次操作形式如下 :

 表示将第 x 个一次函数的 k 修改为 k' 即:  。

 表示将  内的一次函数的 b 加 v 即 

 表示求  的结果。

输入描述:

第一行两个整数 n,m

接下来一行  n 个整数,表示 k_i

接下来一行  n 个整数,表示 b_i

接下来 m 行,为操作,如题意所示。


输出描述:

对于每个 3 操作,输出一行一个整数为答案。
示例1

输入

复制
10 5
1 1 4 5 1 4 1 9 1 8
1 9 1 8 1 0 5 1 9 0
1 3 5
1 5 9
3 1 3 5
1 7 8
3 5 8 10

输出

复制
76
26254