#P4727. [HNOI2009] 图的同构计数

    ID: 3667 远端评测题 2000ms 125MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>数学2009各省省选湖南群论置换Polya原理逆元

[HNOI2009] 图的同构计数

Description

小雪在了解到以上情况后,自认为直接挑战终极难题还有不少困难,于是决定先从简单的问题做起,具体来说,他对图同构问题产生了浓厚的兴趣。AA 图与 BB 图被认为是同构的是指:AA 图的顶点经过一定的重新标号以后,AA 图的顶点集和边集要完全与 BB 图一一对应。

小雪现在专注于如何判断两个图是否同构,同时他还想知道两两互不同构的含 NN 个点的图有多少种。众所周知含 NN 个点的简单图最多有 N×(N1)/2N\times(N-1)/2 条边,这样含 NN 个点的图有 2N×(N1)/22^{N\times(N-1)/2} 种可能的情况。显然这些图中有很多图是同构的,小雪想知道的便是:若同构的图算成一种,则有多少种不同的图。他把这个任务丢给了你,在他想出来之前快点解决吧!

Input Format

输入包含一个非负整数 NN,表示图的顶点数,且 0N600 \leq N \leq 60

Output Format

输出包含一个整数,表示含 NN 个点的图在同构意义下不同构的图的数目。因为答案可能很大,所以输出的最终答案是 mod 997\bmod ~ 997 的结果(997997 是一个素数)。

1
1
2
2
3
4
5
34
9
493

Hint

对于 40%40 \% 的数据,N20N \le 20
对于 100%100 \% 的数据,0N600 \le N \le 60