Given an array of
numbers (initially, each number is set to
), you need to answer
queries of
types:
1 i' v'
: Add
to the
number.
2 l' r' x'
: Query the sum
after undoing the
most recent type
queries (note: the undo queries are NOT persistent).
Constraints




It is guaranteed that there have been at least
type
queries.
Input Specification
The first line will contain
and
, the number of elements in the array and the number of queries.
The next
lines will contain a query from those listed above.
Note that this problem will be online enforced, meaning that input will be given in an encrypted format. To encrypt the data, the values
in queries will be given as
,
,
, and
, where
denotes the bitwise XOR operation. Note that
at any time is defined as the answer to the latest query. If no queries have occurred so far,
.
Output Specification
Output the answer to each type
query.
Sample Input (Encrypted)
Copy
5 6
1 1 5
1 5 9
2 1 5 0
2 15 11 15
1 6 7
2 4 0 5
Sample Input (Unencrypted)
Copy
5 6
1 1 5
1 5 9
2 1 5 0
2 1 5 1
1 3 2
2 1 5 0
Sample Output
Copy
14
5
16
Comments