luogu#P3993. [BJOI2017] 同构

[BJOI2017] 同构

题目描述

你有 nn 个点,你可以在这 nn 个点之间连无向边,两个点之间至多只能连一条边,也不允许连自环,问至多能连多少条边。

但这个问题的答案显然是 n(n1)2\dfrac{n(n-1)}{2} 条。所以有一个额外的限制,要求这个图不存在非平凡的自同构。

一个图 GG 有非平凡的自同构定义为存在一个 11nn 的置换 p(1)p(1)p(n)p(n) 满足对于所有点 u,vu,v(u,v)(u, v) 之间有边当且仅当 (p(u),p(v))(p(u), p(v)) 之间有边,并且这个置换非平凡也就是存在一个点 uu 使得 p(u)up(u) \ne u

比如对于一个 55 个点的图 (1,2),(2,3),(3,4),(4,5),(5,1),(1,3)(1,2),(2,3),(3,4),(4,5),(5,1),(1,3),那么 p(1)=3p(1)=3p(2)=2p(2)=2p(3)=1p(3)=1p(4)=5p(4)=5p(5)=4p(5)=4 为这个图的一个非平凡的自同构。

你要回答一个 nn 个点的无向简单的不存在非平凡自同构的图最多有多少条边,如果答案不存在,即不存在 nn 个点满足条件的图,请输出 -1,否则输出答案对 109+710^9+7 取模的结果。

输入格式

本题有多组数据。
一行一个正整数 TT 表示数据组数。
对于每组数据:
一个正整数 nn 表示你要回答的图的点的个数。

输出格式

对于每组数据:
一行一个整数代表答案对 109+710^9+7 取模的结果,如果不存在 nn 个点满足条件的图,就输出 -1

6
1
2
3
4
5
6

0
-1
-1
-1
-1
9

提示

测试点 数据范围
11 n,T6n ,T \le 6
22 n,T10n,T \le 10
3,43,4 n,T100n,T \le 100
5,65,6 n105n \le 10^5
7,87,8 n109n \le 10^9
99 n1018n \le 10^{18}
1010 n=10100n=10^{100}

对于 100%100\% 的数据,1n101001 \le n \le 10^{100}1T1041 \le T \le 10^4