#abc126f. [abc126_f]XOR Matching
[abc126_f]XOR Matching
問題文
以下の条件を満たす、長さ の数列 = {} を、存在するならば つ構築してください。
- は 以上 未満の整数を、それぞれちょうど つずつ含む。
- を満たす任意の について、$a_i \\ xor \\ a_{i + 1} \\ xor \\ ... \\ xor \\ a_j = K$ である。
xor (排他的論理和) とは
整数 の xor は以下のように定義されます。
- を二進表記した際の () の位の数は、 のうち二進表記した際の の位の数が となるものが奇数個ならば 、偶数個ならば である。
例えば、 です (二進表記すると: 011
101
\= 110
です)。
制約
- 入力は全て整数である。
入力
入力は以下の形式で標準入力から与えられる。
出力
条件を満たす数列 が存在しなければ -1
を出力せよ。
存在するならば、 の要素を空白区切りで出力せよ。
条件を満たす数列が複数存在する場合、どれを出力してもよい。
入力例 1
1 0
出力例 1
0 0 1 1
このケースでは、条件を満たす数列は複数存在します。
例えば = {} の場合、 を満たす として と があります。 であるため、この は与えられた条件を満たしています。
入力例 2
1 1
出力例 2
-1
条件を満たす数列は存在しません。
入力例 3
5 58
出力例 3
-1
条件を満たす数列は存在しません。