注意

入出力の量が多くなることがあるため、高速な入出力を行うことを推奨します。
例:

問題文

英小文字からなる長さ NN の文字列 S,TS, T があり、SSii 番目の文字を SiS_i, TTjj 番目の文字を TjT_j で表します。 (1i,jN)(1 \leq i,j \leq N)

以下の一連の操作を 00 回以上 NN 回以下行って、 SSTT に一致させることを考えます。

  1. 相異なる正整数 a,ba, b を選ぶ。 (1a,bN)(1 \leq a,b \leq N)
  2. SaS_aSbS_b を入れ替える。

SSTT に一致させるとき、操作列の一例を出力してください。
ここで、操作回数を最小化する必要はありません。
ただし、 00 回以上 NN 回以下の操作で SSTT に一致させることができない場合は 1-1 を出力してください。

答えが複数考えられる場合、どれを出力しても正解とみなされます。

制約

  • 1N5×1051 \leq N \leq 5 \times 10^5
  • NN は整数
  • SS は長さ NN の英小文字からなる文字列
  • TT は長さ NN の英小文字からなる文字列

入力

入力は以下の形式で標準入力から与えられます。

NN
SS
TT

出力

SSTT に一致させることができる場合:
11 行目に行う操作回数を出力してください。
ii 回目の操作で選んだ a,ba, bi+1i+1 行目に空白区切りで出力してください。

SSTT に一致させることができない場合:
11 行目に 1-1 を出力してください。

入力例 1

3
aac
caa

出力例 1

1
1 3

例えば a=1,b=3a=1, b=3 として 11 回操作を行うと SSTT は一致します。

入力例 2

4
abcd
bcda

出力例 2

3
1 2
2 3
3 4

入力例 3

12
neverendidol
neverendidol

出力例 3

0

操作を一回を行わなくてよい場合もあります。

入力例 4

3
abc
xyz

出力例 4

-1

00 回以上 NN 回以下の操作で SSTT に一致させることができないので 1-1 を出力します。

提出


Go (1.21)