AT_code_festival_2018_final_j Complicated Operations

Description

[problemUrl]: https://atcoder.jp/contests/code-festival-2018-final/tasks/code_festival_2018_final_j 長さ $ N $ の数列 $ S_{0} $ と $ T $ が与えられます。 ここで、$ N $ はある自然数 $ r $ に対して $ 2^{r} $ と表せることが保証されます。 あなたは $ 0 $ 回以上 $ 500 $ 回以内、操作を行うことができます。あなたの目的は操作回数を $ k $ として $ S_{k} $ と $ T $ を一致させることです。 $ i $ 回目の操作は以下のようにして行われます。 - $ 0\ \leq\ x\

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S_{0,1} $ $ S_{0,2} $ $ ... $ $ S_{0,N} $ $ T_{1} $ $ T_{2} $ $ ... $ $ T_{N} $

Output Format

目的が達成不可能な場合は $ -1 $ を出力せよ。 目的が達成可能な場合は以下の形式で操作を出力せよ。操作が問題文中の制約を満たし、$ S_{K} $ が $ T $ と一致したならば正解となる。 > $ K $ $ x_1 $ $ y_1 $ $ f_1 $ $ s_1 $ $ : $ $ x_K $ $ y_K $ $ f_K $ $ s_K $

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 8192 $ - $ 1\ \leq\ S_{0,j},T_{j}\ \leq\ N $ - $ N $ はある自然数 $ r $ に対して $ 2^{r} $ と表せる - 与えられる入力は全て整数 ### Sample Explanation 1 \- $ 1 $ 回目の操作では $ x=0,y=0,f=1,s= $`xxyx` を指定して操作を行います - $ S_{1,1},S_{1,2},S_{1,4} $ はそれぞれ $ S_{0,1},S_{0,2},S_{0,4} $ に、$ S_{1,3} $ は $ S_{0,2} $ となります。よって $ S_{1}=(1,2,2,4) $ となります - $ 2 $ 回目の操作では $ x=0,y=1,f=-2,s= $`yyxx` を指定して操作を行います - $ S_{2,3},S_{2,4} $ はそれぞれ $ S_{0,3},S_{0,4} $ となり、$ S_{2,1},S_{2,2} $ はそれぞれ $ S_{1,3},S_{1,4} $ となります。よって $ S_{2}=(2,4,3,4) $ となります - $ S_{2} $ と $ T $ が一致したため正解です ### Sample Explanation 2 \- 目的が達成不可能な場合は `-1` を出力してください