atcoder#ARC092B. [ABC091D] Two Sequences

[ABC091D] Two Sequences

题目描述

2 2 つの長さ N N の非負整数列 a1, ..., aN, b1, ..., bN a_1,\ ...,\ a_N,\ b_1,\ ...,\ b_N が与えられます。

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

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

xorの説明

整数 c1, c2, ..., cm c_1,\ c_2,\ ...,\ c_m のxor X X は,以下のように定義されます。

  • X X 2 2 進数表記したときの 2k 2^k (0  k 0\ \leq\ k , k k は整数)の位の値は,c1, c2, ...cm c_1,\ c_2,\ ...c_m のうち,2 2 進数表記したときの 2k 2^k の位の値が 1 1 となるものの個数が奇数個ならば 1 1 ,偶数個ならば 0 0 となります

例えば,3 3 5 5 のxorの値は,3 3 2 2 進数表記が 011 011 5 5 2 2 進数表記が 101 101 のため,2 2 進数表記が 110 110 6 6 となります。

输入格式

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

N N a1 a_1 a2 a_2 ... ... aN a_N b1 b_1 b2 b_2 ... ... bN b_N

输出格式

求めた結果を出力せよ。

题目大意

给你长度为 nn 的两串序列 a,ba,b

a,ba,b 两序列各任取一数相加形成的 n2n^2 个和的 xor\operatorname{xor}

1n2000001\le n \le 200000

0ai<2280\le a_i<2^{28}

2
1 2
3 4
2
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

提示

制約

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

Sample Explanation 1

紙には 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 = 4 2^2\ =\ 4 つの数が書かれます。