512003 - 卡片染色

【题目描述】卡片染色(card)

小光想给n张牌染出Sr张红色,Sb张蓝色和Sg张绿色(n=Sr+Sb+Sg)。两种染色方法相同当且仅当其中一种可以通过任意的洗牌法,即可以使用多种洗牌法,而每种方法可以使用多次洗成另一种,已知m种不同的洗牌法,问有多少种不同的染色方案。

输入

  第一行输入5个整数:Sr,Sb,Sg,m,p(m≤60,m+1<p<100,max{Sr,Sb,Sg}≤20)。 接下来m行,每行描述一种洗牌法,每行有n个用空格隔开的整数X1,X2,...,Xn,恰为1到n的一个排列,表示使用这种洗牌法,第 i位变为原来的 Xi位的牌。输入数据保证任意多次洗牌都可用这m种洗牌法中的一种代替,且对每种洗牌法,都存在一种洗牌法使得能回到原状态。

输出

 不同染法除以p的余数。

样例

输入

1 1 1 2 7
2 3 1
3 1 2

输出

2

提示

【样例说明】   有2 种本质上不同的染色法RGB和RBG,使用洗牌法231一次可得GBR和BGR,使用洗牌法312一次可得BRG和GRB。

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题