#P21. 变换

变换

题目描述

nn 个变换,其中第 ii 个有两个属性值 pip_iqiq_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 以及两个序号 sstt,你需要计算并输出
ft(ft1(fs+1(fs(x))))f_t(f_{t-1}(\cdots f_{s+1}(f_s(x))))

输入格式

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

  • 修改操作以字母 m 开头,后接三个参数 i,p,qi,p',q',表示将第 ii 个变换的属性值修改成 p,qp',q'。保证任何时候属性都满足 1pi1000,0qi10001\leq p_i\leq 1000, 0\leq q_i\leq 1000
  • 查询操作以字母 q 开头,后接三个参数 x,s,tx,s,t,意义见题面,保证 sts\leq t, 0x1060\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\% 的数据,1n1031\leq n\leq 10^3, 1m1041\leq m\leq 10^4
  • 50%50\% 的数据,1n1041\leq n\leq 10^4, 1m1051\leq m\leq 10^5
  • 100%100\% 的数据,1n1051\leq n\leq 10^5, 1m21051\leq m\leq 2\cdot 10^5