AT_pakencamp_2021_day2_i Multiple Swap

Description

[problemUrl]: https://atcoder.jp/contests/pakencamp-2021-day2/tasks/pakencamp_2021_day2_i 長さ $ N-1 $ の正整数 $ A=(A_2,A_3,\ldots,A_N),B=(B_2,B_3,\ldots,B_N) $ が与えられます。(添字が $ 2 $ から始まることに注意してください) 数列 $ A $ に対して以下の操作を $ 10^6 $ 回以下行って $ A=B $ にする方法があるか判定し、あるならば $ 1 $ つ構築してください。 - 整数 $ i\ (2\ \le\ i) $ とその倍数 $ j $ を選び、$ A_i $ の値と $ A_j $ の値を交換する。なお、このとき $ i=j $ であってもよい。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_2 $ $ A_3 $ $ \ldots $ $ A_N $ $ B_2 $ $ B_3 $ $ \ldots $ $ B_N $

Output Format

$ A=B $ とする方法が存在するならば、以下の形式で出力せよ。 > $ M $ $ I_1 $ $ J_1 $ $ I_2 $ $ J_2 $ $ \vdots $ $ I_M $ $ J_M $ ここで、 $ M\ (0\ \le\ M\ \le\ 10^6) $ は操作回数を表し、 $ I_k,J_k $ は $ k\ (1\ \le\ k\ \le\ M) $ 回目の操作で選ぶ $ i,j $ を表す。 $ A=B $ とする方法が存在しないならば、 `-1` と出力せよ。

Explanation/Hint

### 制約 - $ 2\ \le\ N\ \le\ 50000 $ - $ 1\ \le\ A_i,B_i\ \le\ 50000\ (2\ \le\ i\ \le\ N) $ - 入力は全て整数 ### Sample Explanation 3 原案: \[turtle0123\\\_\\\_\](https://atcoder.jp/users/turtle0123\_\_)