#ABC150F. Xor Shift

Xor Shift

题目描述

Given are two sequences a={a0,,aN1}a=\{a_0,\ldots,a_{N-1}\} and b={b0,,bN1}b=\{b_0,\ldots,b_{N-1}\} of NN non-negative integers each.

Snuke will choose an integer kk such that 0k<N0 \leq k \lt N and an integer xx not less than 00, to make a new sequence of length NN, a={a0,,aN1}a'=\{a_0',\ldots,a_{N-1}'\}, as follows:

  • ai=ai+kmodN XOR xa_i'= a_{i+k \mod N}\ XOR \ x

Find all pairs (k,x)(k,x) such that aa' will be equal to bb.

What is  XOR \text{ XOR }?

The XOR of integers AA and BB, A XOR BA \text{ XOR } B, is defined as follows:

  • When A XOR BA \text{ XOR } B is written in base two, the digit in the 2k2^k's place (k0k \geq 0) is 11 if either AA or BB, but not both, has 11 in the 2k2^k's place, and 00 otherwise.

For example, 3 XOR 5=63 \text{ XOR } 5 = 6. (In base two: 011 XOR 101=110011 \text{ XOR } 101 = 110.)

给定两个序列 a={a0,,aN1}a=\{a_0,\ldots,a_{N-1}\}b={b0,,bN1}b=\{b_0,\ldots,b_{N-1}\} 各为 NN 个非负整数

斯努克将选择一个整数 kk 使 0k<N0 \leq k \lt N 和一个不小于 00 的整数 xx 组成一个长度为 NN , a={a0,,aN1}a'=\{a_0',\ldots,a_{N-1}'\} 的新序列,如下所示:

  • ai=ai+kmodN XOR xa_i'= a_{i+k \mod N}\ XOR \ x

找出所有 (k,x)(k,x) 对,使得 aa' 等于 bb

 XOR \text{ XOR } 是多少??

整数 AABB , A XOR BA \text{ XOR } B 的 XOR 定义如下:

  • 当以二进制写入 A XOR BA \text{ XOR } B 时,如果 AABB (而不是两者)的 2k2^k2k2^k 位上有 11 ,那么 2k2^k 位上的数字( k0k \geq 0 )就是 11 ,否则就是 00

例如, 3 XOR 5=63 \text{ XOR } 5 = 6 。(二进制: 011 XOR 101=110011 \text{ XOR } 101 = 110 )。

输入格式

输入内容按以下格式标准输入:

NN
a0a_0 a1a_1 ...... aN1a_{N-1}
b0b_0 b1b_1 ...... bN1b_{N-1}

输出格式

kk 升序打印所有 (k,x)(k, x)aa' 相等的线对 bb ,每对打印一行( kk 相同的线对按 xx 升序打印)。

如果没有相同的数据对,则输出结果为空。

样例 #1

样例输入 #1

3
0 2 1
1 2 3

样例输出 #1

1 3

样例 #2

样例输入 #2

5
0 0 0 0 0
2 2 2 2 2

样例输出 #2

0 2
1 2
2 2
3 2
4 2

样例 #3

样例输入 #3

6
0 1 3 7 6 4
1 5 4 6 2 3

样例输出 #3

2 2
5 5

样例 #4

样例输入 #4

2
1 2
0 0

样例输出 #4

 

说明

数据规模与约定

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0ai,bi<2300 \leq a_i,b_i \lt 2^{30}
  • 所有输入值均为整数。

样例 11 解释

如果 (k,x)=(1,3)(k,x)=(1,3)

  • a0=(a1 XOR 3)=1a_0'=(a_1\ XOR \ 3)=1

  • a1=(a2 XOR 3)=2a_1'=(a_2\ XOR \ 3)=2

  • a2=(a0 XOR 3)=3a_2'=(a_0\ XOR \ 3)=3

得出 a=ba' = b

样例 44 解释

没有任何一对符合条件。