AT_arc198_c [ARC198C] Error Swap
Description
長さ $ N $ の整数列 $ A=(A_1,A_2,\dots,A_N) $ と $ B=(B_1,B_2,\dots,B_N) $ が与えられます。
あなたは以下の操作を $ 31000 $ 回まで行うことができます。
- $ 1 \le i < j \le N $ を満たす整数の組 $ (i,j) $ を選び、 $ A_i $ を $ A_j - 1 $ に、 $ A_j $ を $ A_i + 1 $ に置き換える。
あなたの目標は $ A=B $ とすることです。目標が達成可能か判定し、可能な場合はそのような操作列を一つ出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1\ A_2\ \dots\ A_N $ $ B_1\ B_2\ \dots\ B_N $
Output Format
$ A = B $ とすることができるならば、`Yes` を、そうでないならば `No` を出力せよ。
更に、`Yes` の場合は以下の形式で操作列を出力せよ。
> $ M $ $ i_1\ j_1 $ $ i_2\ j_2 $ $ \vdots $ $ i_M\ j_M $
$ M $ は操作列の長さを表し、 $ 0 \le M \le 31000 $ を満たす必要がある。また、 $ i_k,j_k $ は $ k $ 回目の操作で選ぶ $ i,j $ を表し、 $ 1 \le i_k < j_k \le N $ を満たす必要がある。
答えが複数ある場合は、そのどれを出力しても正解になる。
Explanation/Hint
### Sample Explanation 1
以下のように操作をすると $ A = B $ とすることができます。
- $ (i,j) = (1,4) $ を選ぶ。 $ A = (3,2,1,3) $ となる。
- $ (i,j) = (3,4) $ を選ぶ。 $ A = (3,2,2,2) $ となる。
操作回数を最小化する必要はないため、以下のような出力も正解です。
```
Yes
6
1 4
3 4
1 2
1 2
1 2
1 2
```
### Constraints
- $ 2 \le N \le 100 $
- $ 1 \le A_i,B_i \le 100 $