#codefestival2018finalj. [code_festival_2018_final_j]Complicated Operations

[code_festival_2018_final_j]Complicated Operations

问题文

给定长度为 NN 的数列 S0S_{0}TT。其中,保证存在一个自然数 rr,使得 NN 可以表示为 2r2^{r}

你可以进行 00500500 次操作。你的目标是找到操作次数 kk,使得 SkS_{k}TT 相等。

ii 次操作的步骤如下:

  • 指定满足 0x<i,0y<i0 \leq x < i, 0 \leq y < i 的整数 x,yx, y,以及满足 (N1)fN1-(N-1) \leq f \leq N-1 的整数 ff
  • 然后,指定一个只包含 xy 的长度为 NN 的字符串 ss
  • 使用 x,y,f,sx, y, f, s 构造长度为 NN 的数列 SiS_{i}
    • 如果 sjs_{j}x,则 Si,jS_{i,j}Sx,jS_{x,j}
    • 如果 sjs_jy,则 Si,jS_{i,j}Sy,jfS_{y,j-f}。注意,必须满足 1jfN1 \leq j-f \leq N

判断是否可以达到目标,如果可以,请输出一种操作示例。如果不可能,请输出 -1

请参考示例 11 中的操作说明。

制约条件

  • 2N81922 \leq N \leq 8192
  • 1S0,j,TjN1 \leq S_{0,j}, T_{j} \leq N
  • 存在一个自然数 rr,使得 NN 可以表示为 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