P14482 天阶梦游

题目背景

[ドリームレス・ドリームス (Acoustic Arrange)](https://music.163.com/#/song?id=529391584&uct2=U2FsdGVkX1+ckL1JzohOyzor5KJV7Qawv87o4pAhuNE=)。 > 夢の終わりが知りたくないのは > > あなたの望む世界じゃないから > > こんな続きを愛して欲しい >

题目描述

> 你得到了一台遗留的密码机并用伪代码还原了这台密码机的原理。 $s$ 是一个长度为 $n$ 的序列。另定义一个正整数 $m$。还有三个 $0\sim m-1$ 的排列 $f_1,f_2,f_3$。 而加密函数 `encode` 传入 $s,k_1,k_2,k_3,f_1,f_2,f_3$。它的定义如下: ```cpp function rotate(f[], k, x) m = length(f) return (f[(x + m - k) mod m] + k) mod m function encode(s[], k1, k2, k3, f1[], f2[], f3[]) t = [] n = length(s) m = length(f1) for i = 1 ... n t[i] = rotate(f3, k3, rotate(f2, k2, rotate(f1, k1, s[i]))) k1 = (k1 + 1) mod m if (i mod m) = 0 k2 = (k2 + 1) mod m if (i mod (m * m)) = 0 k3 = (k3 + 1) mod m return t ``` 其中 $0\le k_1,k_2,k_3

输入格式

第一行两个数,表示 $n,m$。 第二行共 $n$ 个数,第 $i$ 个数表示 $s_i$。 第三行共 $n$ 个数,第 $i$ 个数表示 $t_i$。 第四行共 $m$ 个数,第 $i$ 个数表示 $f_{1,i-1}$。 第五行共 $m$ 个数,第 $i$ 个数表示 $f_{2,i-1}$。 第六行共 $m$ 个数,第 $i$ 个数表示 $f_{3,i-1}$。

输出格式

共若干行,每行三个整数 $k1_i,k2_i,k3_i$,表示一种方案。 所有方案按 $(k1,k2,k3)$ 的字典序顺序输出。

说明/提示

本题捆绑测试,如下是捆绑细节。 |Sub|约束|Score| | :----------: | :----------: | :----:| |1|$n\leq100,m \leq26$|$3$| |2|$n\leq100,m\leq100$|$13$| |3|$n\leq1000,m\leq300$|$13$| |4|$n\leq10^6,m\le 200$|$37$| |5|$n\leq5000,m\le1000$|$10$| |6|$n\leq2\times 10^5,m\le1000$|$10$| |7|$n\leq10^6,m\le1000$|$7$| |8|$n\le 20,m\le 1000$|$7$| 对于所有数据,保证 $1\le n\le 10^6,1\le m\le 1000,0\le s_i,t_i,f_{1,i},f_{2,i},f_{3,i} 你不想做一场,永不会醒的梦吗