#P10639. 密码

密码

密码

题目描述

小 Y 想要加密一个长度为 nn 的整数数列 aa

他找了一个长度为 nn 的自然数数列 bb ,满足

$$\det\left(\begin{bmatrix}b_0&t_1&b_2&b_3&\dots&b_{n-1}\\b_1&b_2&b_3&b_4&\dots&b_{0}\\b_2&b_3&b_4&b_5&\dots&b_{1}\\\vdots&\vdots&\vdots&\vdots&\ddots&\vdots\\b_{n-1}&b_0&b_1&b_2&\dots&b_{n-2}\end{bmatrix}\right)\neq0 $$

tt 构成的循环矩阵线性无关。

他通过一些操作计算出了数列 $c_i=\sum\limits_{k=0}^{n-1}(b_{(k-i)\bmod n}-a_k)^2$。

一段时间后,小 H 想要破译 aa 的值,但不幸的是它只知道 bbcc。它需要求出所有可能的 aa。如果可能的 aa 太多,那它就只需要知道可能的 aa 的个数即可。

输入格式

第一行一个数 nn

第二行 nn 个自然数,表示 bib_i

第三行 nn 个自然数,表示 cic_i

输出格式

第一行一个数 kk,表示答案组数。

如果答案组数 10\le 10,则在接下来的 kk 行内,输出一个长为 nn 的整数数列表示所有可能的答案,按照字典序升序排列。

样例

Input #1:

4
1 2 3 4
4 3 2 1

Output #1:

0

Input #2:

3
1 2 3
0 6 6

Output #2:

1
1 2 3

Input #3:

1
10
64

Output #3:

2
2
18

数据范围

$1\le n\le 10^5,0\le b_i\le 10^3,0\le c_i\le 5\times 10^6$。

Subtask1:n,bi5,ci50n,b_i\le 5,c_i \le 50。(17pts)

Subtask2:n50,bi100,ci5×104n\le 50,b_i\le 100,c_i\le 5\times 10^4。(10 pts)

Subtask3:n100n\le 100。(15 pts)

Subtask4:nn22 的幂次(21 pts)

Subtask5:n1000n\le 1000。(23 pts)

Subtask6:无特殊限制。(14 pts)