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 $