F. Fafa and Array
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Fafa has an array A of n positive integers, the function f(A) is defined as . He wants to do q queries of two types:

• 1 lrx — find the maximum possible value of f(A), if x is to be added to one element in the range [l,  r]. You can choose to which element to add x.
• 2 lrx — increase all the elements in the range [l,  r] by value x.

Note that queries of type 1 don't affect the array elements.

Input

The first line contains one integer n (3 ≤ n ≤ 105) — the length of the array.

The second line contains n positive integers a1, a2, ..., an (0 < ai ≤ 109) — the array elements.

The third line contains an integer q (1 ≤ q ≤ 105) — the number of queries.

Then q lines follow, line i describes the i-th query and contains four integers tilirixi .

It is guaranteed that at least one of the queries is of type 1.

Output

For each query of type 1, print the answer to the query.

Examples
Input
51 1 1 1 151 2 4 12 2 3 12 4 4 22 3 4 11 3 3 2
Output
28
Input
51 2 3 4 541 2 4 22 2 4 12 3 4 11 2 4 2
Output
610