#codefestival2018finalj. [code_festival_2018_final_j]Complicated Operations

[code_festival_2018_final_j]Complicated Operations

問題文

長さ NN の数列 S0S_{0}TT が与えられます。 ここで、NN はある自然数 rr に対して 2r2^{r} と表せることが保証されます。

あなたは 00 回以上 500500 回以内、操作を行うことができます。あなたの目的は操作回数を kk として SkS_{k}TT を一致させることです。

ii 回目の操作は以下のようにして行われます。

  • 0leqx<i,0leqy<i0 \\leq x < i, 0\\leq y < i を満たす整数 x,yx,y\-(N1)leqfleqN1\-(N-1) \\leq f \\leq N-1 を満たす整数 ff を指定する
  • その後、x,y のみからなる長さ NN の文字列 ss を指定する
  • x,y,f,sx,y,f,s を用いて長さ NN の数列 SiS_{i} を作る
    • Si,jS_{i,j}sjs_{j}x ならば、Sx,jS_{x,j} となる
    • Si,jS_{i,j}sjs_jy ならば、Sy,jfS_{y,j-f} となる。ただし、1leqjfleqN1 \\leq j-f \\leq N を満たさなくてはならない

目的が達成可能かどうか判定し、可能ならば、操作の一例を出力してください。不可能ならば代わりに -1 を出力してください。

操作についてはサンプル 11 も参照してください。

制約

  • 2leqNleq81922 \\leq N \\leq 8192
  • 1leqS0,j,TjleqN1 \\leq S_{0,j},T_{j} \\leq N
  • NN はある自然数 rr に対して 2r2^{r} と表せる
  • 与えられる入力は全て整数

入力

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

NN S0,1S_{0,1} S0,2S_{0,2} ...... S0,NS_{0,N} T1T_{1} T2T_{2} ...... TNT_{N}

出力

目的が達成不可能な場合は \-1\-1 を出力せよ。

目的が達成可能な場合は以下の形式で操作を出力せよ。操作が問題文中の制約を満たし、SKS_{K}TT と一致したならば正解となる。

KK x1x_1 y1y_1 f1f_1 s1s_1 :: xKx_K yKy_K fKf_K sKs_K


入力例 1

4
1 2 3 4
2 4 3 4

出力例 1

2
0 0 1 xxyx
0 1 -2 yyxx
  • 11 回目の操作では x=0,y=0,f=1,s=x=0,y=0,f=1,s=xxyx を指定して操作を行います
  • S1,1,S1,2,S1,4S_{1,1},S_{1,2},S_{1,4} はそれぞれ S0,1,S0,2,S0,4S_{0,1},S_{0,2},S_{0,4} に、S1,3S_{1,3}S0,2S_{0,2} となります。よって S1=(1,2,2,4)S_{1}=(1,2,2,4) となります
  • 22 回目の操作では x=0,y=1,f=2,s=x=0,y=1,f=-2,s=yyxx を指定して操作を行います
  • S2,3,S2,4S_{2,3},S_{2,4} はそれぞれ S0,3,S0,4S_{0,3},S_{0,4} となり、S2,1,S2,2S_{2,1},S_{2,2} はそれぞれ S1,3,S1,4S_{1,3},S_{1,4} となります。よって S2=(2,4,3,4)S_{2}=(2,4,3,4) となります
  • S2S_{2}TT が一致したため正解です

入力例 2

4
3 1 2 3
1 2 3 4

出力例 2

-1
  • 目的が達成不可能な場合は -1 を出力してください