CSES - Polynomial Queries
  • Time limit: 1.00 s
  • Memory limit: 512 MB
Your task is to maintain an array of $n$ values and efficiently process the following types of queries:
  1. Increase the first value in range $[a,b]$ by $1$, the second value by $2$, the third value by $3$, and so on.
  2. Calculate the sum of values in range $[a,b]$.
Input

The first input line has two integers $n$ and $q$: the size of the array and the number of queries.

The next line has $n$ values $t_1,t_2,\dots,t_n$: the initial contents of the array.

Finally, there are $q$ lines describing the queries. The format of each line is either "1 $a$ $b$" or "2 $a$ $b$".

Output

Print the answer to each sum query.

Constraints
  • $1 \le n, q \le 2 \cdot 10^5$
  • $1 \le t_i \le 10^6$
  • $1 \le a \le b \le n$
Example

Input:
5 3
4 2 3 1 7
2 1 5
1 1 5
2 1 5


Output:
17
32