[SGU282][JSOI2006]同构

Grade Open Time Friday, 19 September 2014, 10:08 am
Discount 0.8 Time Discount Friday, 26 September 2014, 10:08 am
Allow late Yes Close Time Friday, 26 September 2014, 10:08 am
Input file isomorphism.in Output file isomorphism.out

【题目描述】

我们把使得每对顶点都被恰好一条边连接,且被M种不同颜色之一染色的无向图叫做染色图。如果可以把某张染色图的顶点重新编号使得它和另一张染色图完全相同(即每条对应边的颜色都相同),我们就说这两张染色图是同构的。

给你N,M和素数P。你需要找到有N个顶点的两两互不同构的染色图数量。输出这个数模P的值。

【输入格式】

输入一行三个整数N,M,P(1<=N<=53,1<=M<=1000,P是素数且P<=10^6)。

【输出格式】

输出一行一个正整数,即互不同构的染色图数量模P的值。

【样例输入】

sample 1:

1 1 2


sample 2:

3 2 97


sample 3:

3 4 97

【样例输出】

sample 1:

1


sample 2:

4


sample 3:

20

【来源】

SGU282 Isomorphism

Novosibirsk SU Contest #2, by Novosibirsk Team #1