Given an array of integers, and queries, support the following operations:
1 i kCombine consecutive elements beginning at index (including the element at index ) into one element in the current array. "Combining" means summing the values of the elements into one.
2 iUncombine the element at index in the current array into its original elements in the original array. (i.e. the element at index in the current array is transformed back into the elements in that is included in element )
3 i kOutput the sum of consecutive elements beginning at index (including the element at index ) in the current array.
. Let be the number of elements in the current array. Subtract from until is in the range . Let be the number of elements to the right of or at index in the current array. Subtract from until is in the range .
The first line will contain two integers, .
The second line will contain integers, the values of the original array .
The next lines will each contain a valid query as defined above.
For each type query, output the answer on its own line.
3 9 1 3 4 1 1 2 3 1 1 3 1 2 2 1 3 2 2 3 2 1 1 2 2 1 1 2 3 10000 100000
4 8 7 3 8