#P52077. 「2020 营员交流」小 ω 的魔方

「2020 营员交流」小 ω 的魔方

题目描述

ω\omega 在家里闷得慌,于是开始玩起了魔方。不一会儿,她就变成了甩杜宇生千里的魔方高手

在长时间的训练中,小 ω\omega 对魔方已经玩腻了,不拘泥于只是还原魔方。于是她开始拆起了魔方。

与众不同的是,别人拆魔方都是拆那 2626 个小块,她却开始拆那 5454 张贴纸。

不一会儿,她就将原来魔方的 5454 张贴纸拆完了,得到一个雪(hei)白(de)雪(fa)白(liang)的魔方。

正巧,小 χ\chi 来到她家做客,看到小 ω\omega 桌上琳琅满目的贴纸,也想自己组装一个魔方。

这些贴纸各不相同,有的画着可爱的猫猫,有的画着蜘蛛侠,有的上面还有小 ω\omega 的***

已知,桌上有 YY黄色贴纸、WW白色贴纸、RR红色贴纸、OO橙色贴纸、BB蓝色贴纸以及 GG绿色贴纸。每种颜色的贴纸均有无限多个

χ\chi 对每种贴纸的喜好程度各有不同,具体地,(无视颜色的条件下) 她也将所有贴纸分别为三类:好看的一般般的以及难看的,她分别将这三种贴纸的好看度定义为 1,0,11, 0, -1

我们用 CiC_i (C{Y,W,R,O,B,G},i{1,0,1}C \in \left\{ \texttt Y, \texttt W, \texttt R, \texttt O, \texttt B, \texttt G \right\}, i \in \left\{ -1, 0, 1 \right\} ) 表示颜色为 CC 且好看度为 ii 的贴纸种数,例如,B1B_{-1} 表示难看的蓝色贴纸的种数。

然后,她将一个魔方的好看度定义为所有 5454 张贴纸的好看度之和。

由于小 χ\chi 不懂魔方,因此她认为:只要使用了每种颜色的贴纸各 99 张,所得到的就是一个合法的魔方。尽管它可能不满足相对,甚至无法复原,抑或是根本不存在 (比如棱块就是不存在的)。

自然,小 χ\chi 就有很多 "组装" 魔方的方案 ("组装" 即贴贴纸)。她想知道,对于每种最终的好看度 kk,有多少种 (本质) 不同的 "组装" 魔方的方案,使得最终的好看度为 kk 呢?

χ\chi 瞥了一眼小 ω\omega 的书房,发现小 ω\omega 还有四阶、五阶,乃至 nn (n1000n \leq 1000) 阶魔方。于是她想对这些魔方都进行组装 (反正她们待在家里,时间充裕),于是你也需要帮她对这些高阶魔方进行回答。

当然,对于 nn 阶魔方,上面的参数也需要进行更改。具体地,你需要将上文中的 26,54,926, 54, 9 分别替换为 6n212n+8,6n2,n26 n^2 - 12 n + 8, 6 n^2, n^2,特别地,当 n=1n = 1 时将它们替换为 1,6,11, 6, 1

注意:如果两种方案可以在三维空间中旋转整个魔方全等,则认为这两种方案是 (本质) 相同的。注意小 ω\omega 和小 χ\chi 生活在三维空间中,因此它们不能对魔方进行镜像

两个方案全等,当且仅当每个位置上使用的贴纸种类相同,注意一种贴纸可以使用多次,你不需要关心贴纸的朝向问题,即不妨假设贴纸上的图案是完全对称的。

输入格式

第一行包含两个正整数 n,Pn, P,分别表示魔方的阶数以及输出控制参数。输出控制参数的具体含义将在「输出格式」中解释。

第二行包含三个非负整数 Y1,Y0,Y1Y_{-1}, Y_0, Y_1,分别表示难看的,一般般的,好看的黄色贴纸的种数。

第三行包含三个非负整数 W1,W0,W1W_{-1}, W_0, W_1,意义同上。

第四行包含三个非负整数 R1,R0,R1R_{-1}, R_0, R_1,意义同上。

第五行包含三个非负整数 O1,O0,O1O_{-1}, O_0, O_1,意义同上。

第六行包含三个非负整数 B1,B0,B1B_{-1}, B_0, B_1,意义同上。

第七行包含三个非负整数 G1,G0,G1G_{-1}, G_0, G_1,意义同上。

输出格式

容易得到,最终魔方的好看度的取值范围为 [6n2,6n2]\left[ - 6 n^2, 6 n^2 \right] 中的一个整数。我们保证 PP 是一个不超过 12n2+112 n^2 + 1 的正奇数

具体地,你只需要输出一行,包含 PP 个整数,其中第 ii (1iP1 \leq i \leq P) 个整数表示所有满足 kiP+12(modP)k \equiv i - \dfrac {P + 1} 2 \pmod Pk[6n2,6n2]k \in \left[ - 6 n^2, 6 n^2 \right] 的答案 (即好看度为 kk 的方案数) 109+710^9 + 7 后的异或和

注意:设置 PP 仅仅是为了减少输出量大小,标准算法不依赖于 PP 的取值。

样例 1

1 1
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0

30

特别地,一阶魔方无法进行 (除了整体外的) 旋转,于是它只是一个用于观赏的立方体。

所有颜色的贴纸只有一种,因此最终魔方的好看度一定为 00。这 3030 种不同的魔方如下图 (用展开图表示):

30 种不同方案
1 13
1 2 3
4 5 6
7 8 9
8 7 6
5 4 3
0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0

没有绿色贴纸,故无法组装成魔方。

2 1
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0

940906141

精确的答案是 135277941853080=2332513131220653001135277941853080 = 2^3 \cdot 3^2 \cdot 5 \cdot 13 \cdot 131 \cdot 220653001

2 49
0 3 1
4 1 0
0 5 9
2 6 0
0 5 3
5 8 0

0 0 0 0 0 0 0 0 0 0 0 0 544749501 63051590 218701224 413209526 327036606 45871124 278106738 7308476 883834532 409278631 11668780 265789093 928895648 709317318 640274261 565809249 497467741 298018595 559073055 546178223 415655107 865831011 530349718 975815643 473116100 0 0 0 0 0 0 0 0 0 0 0 0

2 7
0 3 1
4 1 0
0 5 9
2 6 0
0 5 3
5 8 0

853739401 367219837 1039890180 359147035 571647095 900068407 155830037

该组样例为样例四的 "压缩" 后版本,因为避免过大的输出,常常会设置一个压缩系数。在本例是,七个数分别代表 3,2,1,0,1,2,3-3, -2, -1, 0, 1, 2, 3 这七个同余类。

如,输出的第五个数就表示所有好看度 1(mod7)\equiv 1 \pmod 7 的方案数的异或和,即有 571647095=0027810673870931731841565510700571647095 = 0 \oplus 0 \oplus 278106738 \oplus 709317318 \oplus 415655107 \oplus 0 \oplus 0

36 13
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18

656572069 316067026 492665298 350073114 109939730 141830812 721782114 395247388 823354680 250237378 268736953 334191590 721990568

样例 7

见附加文件中的 ex_rubik7.inex_rubik7.out

该组样例满足子任务 2525 的性质。

数据范围与提示

对于所有的测试点,均满足 1n1000;1Pmin{12n2+1,200467};0Y1,Y0,Y1,,G1,G0,G1109+61 \leq n \leq 1000; 1 \leq P \leq \min \left\{ 12 n^2 + 1, 200467 \right\}; 0 \leq Y_{-1}, Y_0, Y_1, \cdots, G_{-1}, G_0, G_1 \leq 10^9 + 6,且 PP 为奇数。

具体的子任务的数据规模见下表:

子任务 分值 nn 其它性质
1 44 =1= 1 S
2 33 D
3 33
4 33 =2= 2 S
5 22 D
6 22
7 33 =3= 3 S
8 22 D
9 22
10 44 10\leq 10 S
11 33 D
12 33 M
13 22
14 44 35\leq 35 S
15 33 D
16 33 M
17 22
18 55 200\leq 200 S
19 44 D
20 44 M
21 33
22 66
1000\leq 1000
±1(mod6)\equiv \pm 1 \pmod 6
S
23 55 D
24 55 M
25 44
26 55 1000\leq 1000 S
27 44 D
28 44 M
29 33

表中“其它性质”一栏,变量的含义如下:

  • S (single):对于所有颜色 CC,保证 C1=C1=0C_{-1} = C_1 = 0
  • D (double):对于所有颜色 CC,保证 C0=0C_0 = 0
  • M (monic):对于所有颜色 CC,保证 C1=C0=C1=1C_{-1} = C_0 = C_1 = 1