秘密任务
题目背景
>飞雪连天射白鹿,笑书神侠倚碧鸳。
>谨纪念金庸先生。
但是这与本题没有联系。
题目描述
wgr 是 $R$ 国军队总指挥官。现在,他决定组织两个小队分别去执行两个秘密任务。
wgr 将派出 $N$ 名战士来执行这两个任务,他们的编号为 $1 \sim N$ 。由于任务无比重要,wgr 需要使派出的队伍配合绝对默契 。配合绝对默契指队伍中**任何**两名战士的配合都是默契的。同时,他还需要使两个队伍的战斗力差距尽可能小,队伍的战斗力定义为 $F=2^{k}$,$k$ 为队伍的人数,不允许有人剩余。
wgr 已经知道哪些战士之间的配合是默契的,但由于时间紧迫,wgr 来不及慢慢整理资料了,现在,他请你以最快的速度帮他完成资料的整理,并告诉他:
1. 一共有多少种不同的分组方案。两种方案被认为是不同的当且仅当其两支队伍战斗力差值不同。
2. 所有分组方案中,最小的战斗力差值是多少,由于这个差值可能很大,请对 $10^9+7$ 取模后再输出。
3. 有多少对战士配合默契但是不可能被分在同一小组。
**注意:** 特别地,由于队伍的默契程度十分重要,一支队伍 $N$ 名战士另一支队伍 $0$ 名战士也是合法的分组方案。
输入输出格式
输入格式
第一行两个正整数 $N,M$。
接下来 $M$ 行每行两个正整数 $x,y$,表示编号为 $x$ 的战士与编号为 $y$ 的战士之间配合默契。
输出格式
输出共两行。
第一行,如果存在合法的方案,输出一行两个数,为分组方案数与最小的战斗力差值模 $10^9+7$ 的结果;如果不存在合法的分组方案,第一行输出一个数 $-1$ 即可。
第二行,输出一个整数,表示有多少对战士配合默契但是不可能被分在同一小组。
输入输出样例
输入样例 #1
4 4
3 4
1 2
2 4
2 3
输出样例 #1
2 0
0
输入样例 #2
10 2
1 7
3 5
输出样例 #2
-1
2
说明
本题共有三个 Subtask。
- Subtask 1:共 $5$ 个测试点,一个测试点 $5$ 分,满足 $N≤30$;
- Subtask 2:共 $3$ 个测试点,一个测试点 $10$ 分,满足 $N≤300$;
- Subtask 3:共 $3$ 个测试点,一个测试点 $15$ 分,满足 $N≤2500$。
对于所有的数据,不会重复说明同一组关系,$1\le x,y\le n$ 且 $x\neq y$。此外保证 $0\le m≤n\times (n-1)/2$。
本题开启 Special Judge:
- 若你的答案第一行输出正确你可以得到该测试点 $60\%$ 的分数;
- 若你的答案第二行输出正确你可以得到该测试点 $40\%$ 的分数。
为了确保你能够得到部分分,**请按格式要求输出**。