#abc249g. [abc249_g]Xor Cards
[abc249_g]Xor Cards
問題文
枚のカードがあり、 の番号が付けられています。カード の表には整数 、裏には整数 が書かれています。
選んだカードの表に書かれた整数の排他的論理和が 以下となるように 枚以上の好きな枚数のカードを選ぶとき、選んだカードの裏に書かれた整数の排他的論理和としてあり得る最大値を求めてください。
排他的論理和とは 整数 の排他的論理和 は、以下のように定義されます。
- を二進表記した際の の位の数は、 を二進表記した際の の位の数のうち一方のみが であれば 、そうでなければ である。
例えば、 となります(二進表記すると )。
一般に 個の整数 の排他的論理和は $(\\cdots ((p_1 \\oplus p_2) \\oplus p_3) \\oplus \\cdots \\oplus p_k)$ と定義され、これは の順番によらないことが証明できます。
制約
- $0 \\leq A_i, B_i \\lt 2^{30} \\, (1 \\leq i \\leq N)$
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
問題文中の条件を満たすようにカードを選ぶとき、選んだカードの裏に書かれた整数の排他的論理和としてあり得る最大値を出力せよ。ただし、条件を満たすようにカードを選ぶことができないときは と出力せよ。
入力例 1
4 2
1 1
3 2
2 2
0 1
出力例 1
3
カード を選ぶことで、表に書かれた整数の排他的論理和は 、裏に書かれた整数の排他的論理和は となり、これが最大です。
入力例 2
1 2
3 4
出力例 2
-1
条件を満たすようにカードを選ぶことはできません。
入力例 3
10 326872757
487274679 568989827
267359104 968688210
669234369 189421955
1044049637 253386228
202278801 233212012
436646715 769734012
478066962 376960084
491389944 1033137442
214977048 1051768288
803550682 1053605300
出力例 3
1064164329