F. Two Subarrays
time limit per test
3 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

You are given two integer arrays $$$a$$$ and $$$b$$$, both of size $$$n$$$.

Let's define the cost of the subarray $$$[l, r]$$$ as $$$a_l + a_{l + 1} + \cdots + a_{r - 1} + a_r + b_l + b_r$$$. If $$$l=r$$$, then the cost of the subarray is $$$a_l + 2 \cdot b_l$$$.

You have to perform queries of three types:

  • "$$$1$$$ $$$p$$$ $$$x$$$" — assign $$$a_{p} := x$$$;
  • "$$$2$$$ $$$p$$$ $$$x$$$" — assign $$$b_{p} := x$$$;
  • "$$$3$$$ $$$l$$$ $$$r$$$" — find two non-empty non-overlapping subarrays within the segment $$$[l, r]$$$ with the maximum total cost and print their total cost.
Input

The first line contains a single integer $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$).

The second line contains $$$n$$$ integers $$$a_1, a_2, \dots, a_n$$$ ($$$-10^9 \le a_i \le 10^9$$$).

The third line contains $$$n$$$ integers $$$b_1, b_2, \dots, b_n$$$ ($$$-10^9 \le b_i \le 10^9$$$).

The fourth line contains a single integer $$$q$$$ ($$$1 \le q \le 2 \cdot 10^5$$$).

The next $$$q$$$ lines contain the queries: one per line. Each query is of one of three types:

  • "$$$1$$$ $$$p$$$ $$$x$$$" ($$$1 \le p \le n$$$; $$$-10^9 \le x \le 10^9$$$);
  • "$$$2$$$ $$$p$$$ $$$x$$$" ($$$1 \le p \le n$$$; $$$-10^9 \le x \le 10^9$$$);
  • "$$$3$$$ $$$l$$$ $$$r$$$" ($$$1 \le l < r \le n$$$).

It is guaranteed that there is at least one query of the third type.

Output

For each query of the third type, print the maximum possible total cost of two non-empty non-overlapping subarrays within the segment $$$[l, r]$$$.

Examples
Input
7
3 -1 4 -3 2 4 0
0 6 1 0 -3 -2 -1
6
3 1 7
1 2 0
3 3 6
2 5 -3
1 3 2
3 1 5
Output
18
7
16
Input
10
2 -1 -3 -2 0 4 5 6 2 5
2 -4 -5 -1 6 2 5 -6 4 2
10
3 6 7
1 10 -2
3 5 7
3 2 8
2 1 -5
2 7 4
3 1 3
3 3 8
3 2 3
1 4 4
Output
23
28
28
-17
27
-22