#ATabc368g. [ABC368G] Add and Multiply Queries

[ABC368G] Add and Multiply Queries

题目描述

给定两个长度为 NN 的正整数序列 A,BA, B。需要处理 QQ 个按顺序给出的查询。查询有以下三种类型:

  • 类型 11:格式为 1 i x。将 AiA_i 替换为 xx
  • 类型 22:格式为 2 i x。将 BiB_i 替换为 xx
  • 类型 33:格式为 3 l r。需要解决以下问题并输出答案:
    • 初始时 v=0v = 0。依次对 i=l,l+1,,ri = l, l + 1, \dots, r 进行操作,每次操作将 vv 替换为 v+Aiv + A_iv×Biv \times B_i。求最终能得到的 vv 的最大值。 需要注意的是,输入中类型 33 的查询的答案保证在 101810^{18} 以下。

输入格式

输入从标准输入按以下格式给出:

N
A_1 A_2 ... A_N
B_1 B_2 ... B_N
Q
query_1
query_2
...
query_Q

其中 queryiquery_i 是第 ii 个查询,可以是以下三种格式之一:

1 i x
2 i x
3 l r

输出格式

设类型 33 的查询个数为 qq,则输出 qq 行。第 ii 行输出第 ii 个类型 33 的查询的答案。

样例 1

输入

3
3 2 4
1 2 2
3
3 1 3
1 1 1
3 1 3

输出

12
7

样例 2

输入

6
65 32 12 5 8 312
4 1 3 15 16 2
6
3 2 6
3 1 5
1 5 6
2 4 9
3 2 6
3 3 5

输出

46080
69840
27648
1728

说明/提示

制約

  • 1N1051 \leq N \leq 10^5
  • 1Ai1091 \leq A_i \leq 10^9
  • 1Bi1091 \leq B_i \leq 10^9
  • 1Q1051 \leq Q \leq 10^5
  • 类型 11, 22 的查询中,1iN1 \leq i \leq N
  • 类型 11, 22 的查询中,1x1091 \leq x \leq 10^9
  • 类型 33 的查询中,1lrN1 \leq l \leq r \leq N
  • 类型 33 的查询中,输出值在 101810^{18} 以下