题目描述
有 n 个变换,其中第 i 个有两个属性值 pi 和 qi,当这个变换作用到 x 时,x 将会变成 fi(x),fi(x) 的定义为:
fi(x)=⌊pix⌋+qi
给定 m 条操作,操作分两种:
- 修改操作可以修改某个变换的属性值;
- 查询操作将会给定 x 以及两个序号 s 和 t,你需要计算并输出
ft(ft−1(⋯fs+1(fs(x))))
输入格式
第一行:两个正整数表示 n 和 m。
第二行:n 个整数,表示 p1,p2,⋯,pn。
第三行:n 个整数,表示 q1,q2,⋯,qn。
接下来 m 行,每行表示一个操作:
- 修改操作以字母
m
开头,后接三个参数 i,p′,q′,表示将第 i 个变换的属性值修改成 p′,q′。保证任何时候属性都满足 1≤pi≤1000,0≤qi≤1000。
- 查询操作以字母
q
开头,后接三个参数 x,s,t,意义见题面,保证 s≤t, 0≤x≤106。
输出格式
对每个询问操作,输出一个整数,表示所求的答案,以换行分隔。
3 3
2 1 2
1 1 1
q 100 1 3
m 2 2 0
q 100 1 3
27
13
数据范围
- 对 20% 的数据,1≤n≤103, 1≤m≤104
- 对 50% 的数据,1≤n≤104, 1≤m≤105
- 对 100% 的数据,1≤n≤105, 1≤m≤2⋅105。