Your task is to maintain an array of $n$ values and efficiently process the following types of queries:
Increase each value in range[a,b]byx.Set each value in range[a,b]tox.Calculate the sum of values in range[a,b].
The first input line has two integers $n$ and $q$ : the array size 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 one of the following: "1 $a$ $b$ $x$ ", "2 $a$ $b$ $x$ ", or "3 $a$ $b$ ".
Print the answer to each sum query.
6 5 2 3 1 1 5 3 3 3 5 1 2 4 2 3 3 5 2 2 4 5 3 3 5
· \n · · · · · \n · · \n · · · \n · · \n · · · \n · · \n
7 11 15
\n \n \n