- Time limit: 1.00 s
- Memory limit: 512 MB
Your task is to maintain a list of arrays which initially has a single array. You have to process the following types of queries:
- Set the value in array to .
- Calculate the sum of values in range in array .
- Create a copy of array and add it to the end of the list.
Input
The first input line has two integers and : the array size and the number of queries.
The next line has integers : the initial contents of the array.
Finally, there are lines describing the queries. The format of each line is one of the following: "1 ", "2 " or "3 ".
Output
Print the answer to each sum query.
Constraints
Example
Input:
5 6 2 3 1 2 5 3 1 2 1 1 5 2 2 1 5 1 2 2 5 2 1 1 5 2 2 1 5
Output:
13 13 13 15