#P21. 变换

变换

题目描述

有 nn 个变换,其中第 ii 个有两个属性值 pip_i 和 qiq_i,当这个变换作用到 xx 时,xx 将会变成 fi(x)f_i(x),fi(x)f_i(x) 的定义为:

fi(x)=⌊xpi⌋+qif_i(x)=\lfloor \frac{x}{p_i} \rfloor + q_i

给定 mm 条操作,操作分两种:

  • 修改操作可以修改某个变换的属性值;
  • 查询操作将会给定 xx 以及两个序号 ss 和 tt,你需要计算并输出 
ft(ft−1(⋯fs+1(fs(x))))f_t(f_{t-1}(\cdots f_{s+1}(f_s(x))))

输入格式

第一行:两个正整数表示 nn 和 mm。 第二行:nn 个整数,表示 p1,p2,⋯ ,pnp_1,p_2,\cdots,p_n。 第三行:nn 个整数,表示 q1,q2,⋯ ,qnq_1,q_2,\cdots,q_n。 接下来 mm 行,每行表示一个操作:

  • 修改操作以字母 m 开头,后接三个参数 i,p′,q′i,p',q',表示将第 ii 个变换的属性值修改成 p′,q′p',q'。保证任何时候属性都满足 1≤pi≤1000,0≤qi≤10001\leq p_i\leq 1000, 0\leq q_i\leq 1000。
  • 查询操作以字母 q 开头,后接三个参数 x,s,tx,s,t,意义见题面,保证 s≤ts\leq t, 0≤x≤1060\leq x\leq 10^6。

输出格式

对每个询问操作,输出一个整数,表示所求的答案,以换行分隔。

3 3
2 1 2
1 1 1
q 100 1 3
m 2 2 0
q 100 1 3
27
13

数据范围

  • 对 20%20\% 的数据,1≤n≤1031\leq n\leq 10^3, 1≤m≤1041\leq m\leq 10^4
  • 对 50%50\% 的数据,1≤n≤1041\leq n\leq 10^4, 1≤m≤1051\leq m\leq 10^5
  • 对 100%100\% 的数据,1≤n≤1051\leq n\leq 10^5, 1≤m≤2⋅1051\leq m\leq 2\cdot 10^5。