AT_abc470_c [ABC470C] Inc, Dec, Xor

Description

長さ $ N $ の整数列 $ A=(A_1,A_2,\ldots,A_N) $ があります。はじめ、 $ A $ の要素は全て $ 0 $ です。 $ Q $ 個のクエリが与えられるので、順に処理してください。クエリは $ 2 $ 種類あり、以下のいずれかの形式で与えられます。 - `1 x`: $ A_x $ の値を $ 1 $ 増やす。 - `2`: $ i=1,2,\ldots,N $ に対し、 $ A_i \geq 1 $ ならば $ A_i $ の値を $ 1 $ 減らす。 各クエリを処理した直後の $ A_1,A_2,\ldots,A_N $ のビット単位 $ \mathrm{XOR} $ を求めてください。 ビット単位 $ \mathrm{XOR} $ 演算とは 非負整数 $ A, B $ のビット単位 $ \mathrm{XOR} $ 、 $ A \oplus B $ は、以下のように定義されます。 - $ A \oplus B $ を二進表記した際の $ 2^k $ ( $ k \geq 0 $ ) の位の数は、 $ A, B $ を二進表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $ 、そうでなければ $ 0 $ である。 例えば、 $ 3 \oplus 5 = 6 $ となります (二進表記すると: $ 011 \oplus 101 = 110 $ )。 一般に $ k $ 個の非負整数 $ p_1, p_2, p_3, \dots, p_k $ のビット単位 $ \mathrm{XOR} $ は $ (\dots ((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k) $ と定義され、これは $ p_1, p_2, p_3, \dots, p_k $ の順番によらないことが証明できます。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ \text{query}_1 $ $ \text{query}_2 $ $ \vdots $ $ \text{query}_Q $ 各クエリは以下の $ 2 $ 種類のいずれかの形式で与えられる。 > $ 1 $ $ x $ > $ 2 $

Output Format

$ Q $ 行出力せよ。 $ i $ 行目 $ (1\le i\le Q) $ には、 $ i $ 番目のクエリを処理した直後の $ A $ に対する $ A_1,A_2,\ldots,A_N $ のビット単位 $ \mathrm{XOR} $ を出力せよ。

Explanation/Hint

### Sample Explanation 1 $ 1 $ 番目のクエリを処理した後 $ A=(0,1) $ となります。 $ 0,1 $ のビット単位 $ \mathrm{XOR} $ は $ 1 $ なので、 $ 1 $ 行目には $ 1 $ を出力してください。 $ 2 $ 番目のクエリを処理した後 $ A=(0,2) $ となります。 $ 0,2 $ のビット単位 $ \mathrm{XOR} $ は $ 2 $ なので、 $ 2 $ 行目には $ 2 $ を出力してください。 $ 3 $ 番目のクエリを処理した後 $ A=(1,2) $ となります。 $ 1,2 $ のビット単位 $ \mathrm{XOR} $ は $ 3 $ なので、 $ 3 $ 行目には $ 3 $ を出力してください。 $ 4 $ 番目のクエリを処理した後 $ A=(0,1) $ となります。 $ 0,1 $ のビット単位 $ \mathrm{XOR} $ は $ 1 $ なので、 $ 4 $ 行目には $ 1 $ を出力してください。 $ 5 $ 番目のクエリを処理した後 $ A=(0,0) $ となります。 $ 0,0 $ のビット単位 $ \mathrm{XOR} $ は $ 0 $ なので、 $ 5 $ 行目には $ 0 $ を出力してください。 ### Constraints - $ 1\le N\le 5\times 10^5 $ - $ 1\le Q\le 5\times 10^5 $ - $ 1\le x\le N $ - 入力される値は全て整数