atcoder#ARC092B. [ABC091D] Two Sequences

[ABC091D] Two Sequences

配点 : 500500

問題文

22 つの長さ NN の非負整数列 a1,...,aN,b1,...,bNa_1, ..., a_N, b_1, ..., b_N が与えられます。

1i,jN1 \leq i, j \leq N となるように整数 i,ji, j を選ぶ方法は N2N^2 通りありますが,この N2N^2 通りの i,ji, j それぞれについて,ai+bja_i + b_j を計算し,紙に書き出します。 つまり,紙に N2N^2 個の整数を書きます。

この N2N^2 個の整数のxorを計算してください。

xorの説明

整数 c1,c2,...,cmc_1, c_2, ..., c_m のxor XX は,以下のように定義されます。

  • XX22 進数表記したときの 2k2^k(0k0 \leq k, kk は整数)の位の値は,c1,c2,...cmc_1, c_2, ...c_m のうち,22 進数表記したときの 2k2^k の位の値が 11 となるものの個数が奇数個ならば 11,偶数個ならば 00 となります

例えば,3355 のxorの値は,3322 進数表記が 0110115522 進数表記が 101101 のため,22 進数表記が 11011066 となります。

制約

  • 入力は全て整数
  • 1N200,0001 \leq N \leq 200,000
  • 0ai,bi<2280 \leq a_i, b_i < 2^{28}

入力

入力は以下の形式で標準入力から与えられる。

NN

a1a_1 a2a_2 ...... aNa_N

b1b_1 b2b_2 ...... bNb_N

出力

求めた結果を出力せよ。

2
1 2
3 4
2

紙には 4(1+3),5(1+4),5(2+3),6(2+4)4(1+3), 5(1+4), 5(2+3), 6(2+4)22=42^2 = 4 つの数が書かれます。

6
4 6 0 0 3 3
0 5 6 5 0 3
8
5
1 2 3 4 5
1 2 3 4 5
2
1
0
0
0