[AGC063C] Add Mod Operations

题意翻译

给定两个长度为 $N$ 的非负整数序列 $A,B$。你需要通过 $0$ 至 $N$ 次以下的操作,使 $A$ 变成 $B$(如果不行,报告无解;否则给出相应构造方案,注意你并不需要最小化操作次数): - 选择两个整数 $x,y(0\le x<y\le 10^{18})$,对于所有 $1\le i\le N$,使 $A_i\leftarrow(A_i+x)\bmod y$。 翻译自 @[zyc212303](https://www.luogu.com.cn/user/556366)。

题目描述

[problemUrl]: https://atcoder.jp/contests/agc063/tasks/agc063_c 非負整数列 $ A\ =\ (A_1,\ \ldots,\ A_N) $ および $ B=(B_1,\ \ldots,\ B_N) $ が与えられます. 以下の操作を $ 0 $ 回以上 $ N $ 回以下行うことで,$ A $ を $ B $ に一致させることができるか否かを判定してください. - 操作:$ 0\leq\ x\ <\ y\leq\ 10^{18} $ を満たす整数 $ x,y $ を選ぶ.すべての $ i $ に対して,$ A_i $ を $ (A_i+x)\bmod\ y $ に置き換える. $ A $ を $ B $ に一致させることが可能な場合には,そのような手順をひとつ出力してください.

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられます. > $ N $ $ A_1 $ $ \ldots $ $ A_N $ $ B_1 $ $ \ldots $ $ B_N $

输出格式


$ 0 $ 回以上 $ N $ 回以下の操作で $ A $ を $ B $ に一致させることが不可能な場合には,`No` と出力してください. ``` No ``` 可能な場合には,操作手順を次の形式で出力してください. > Yes $ K $ $ x_1 $ $ y_1 $ $ \vdots $ $ x_K $ $ y_K $ ここで $ K $ は操作回数で,$ x_i,\ y_i $ は $ i $ 回目の操作で選ぶ整数 $ x,y $ を表します.これらは次を満たす必要があります. - $ 0\leq\ K\leq\ N $ - $ 0\leq\ x_i\ <\ y_i\ \leq\ 10^{18} $ 条件を満たす操作手順が複数存在する場合には,そのどれを出力しても正解と見なされます.

输入输出样例

输入样例 #1

4
7 2 4 5
3 3 5 0

输出样例 #1

Yes
2
3 5
3 6

输入样例 #2

1
5
3

输出样例 #2

Yes
1
2 4

输入样例 #3

2
3 1
3 1

输出样例 #3

Yes
0

输入样例 #4

2
0 0
1 2

输出样例 #4

No

说明

### 制約 - $ 1\leq\ N\leq\ 1000 $ - $ 0\leq\ A_i\leq\ 10^9 $ - $ 0\leq\ B_i\leq\ 10^9 $ ### Sample Explanation 1 次のようにして $ A $ を $ B $ に一致させることができます. - はじめ $ A\ =\ (7,2,4,5) $ です. - $ (x,y)\ =\ (3,5) $ として操作を行うと,$ A\ =\ (0,0,2,3) $ になります. - $ (x,y)\ =\ (3,6) $ として操作を行うと,$ A\ =\ (3,3,5,0) $ になります.