#781. 奇怪的函数

奇怪的函数

Description

鸡尾酒有一个奇怪的函数 F(x)F(x),这个函数的输入参数是一个正整数 xx,为了得到这个函数的运算结果,这个函数需要依次进行 nn 个步骤,每个步骤是如下三种形式之一:

  1. x+=valix+=val_i
  2. x=min(x,vali)x=min(x,val_i)
  3. x=max(x,vali)x=max(x,val_i)

依次执行完这 nn 个步骤之后,这个函数就可以安心输出答案了。

现在,鸡尾酒得到了这个函数,他想简化这个函数,确切的来说,他有 qq个问题,每个问题要么是修改这个函数的某一个步骤,要么给定一个xx,询问当前 F(x)F(x) 的值,请帮助他完成这个过程。

Format

Input

第一行一个正整数 nn,表示这个函数的步骤数量。

接下来 nn 行,每行两个正整数"opt val",opt(1opt3)opt(1\leq opt \leq3)表示这是第几种操作,valval 表示这一次操作对应的权值。

接下来一行一个正整数 qq,表示问题的个数。

接下来 qq 行,每行要么是如下四种操作之一:

"1 pos val" 表示把第 pospos 个步骤改成 x+=valix+=val_i

"2 pos val" 表示把第 pospos 个步骤改成x=min(x,val)x=min(x,val)

"3 pos val" 表示把第 pospos个步骤改成x=max(x,val)x=max(x,val)

"4 x" 表示询问,此时 F(x)F(x) 是多少。

Output

对于每一个操作 4,输出一行一个数字表示答案。

Samples

10
1 48
1 50
1 180
2 957
1 103
1 100
1 123
3 500
1 66
1 70
3
4 20
4 50
4 700
760
790
1419

Limitation

对于 100% 的数据:n,q300000n,q\leq 300000,操作 2,3,4 涉及的 valval[1,108][1,10^8]之间,所有加法操作涉及的 valval[1,200][1,200]之间。

特殊性质1:保证所有的 qq个操作都是操作 44

特殊性质2:保证任意时刻,操作序列中最多有 1010个取 axmin$的操作。

特殊性质3:保证任意时刻,操作序列中不存在取maxmax的操作。