UOJ Logo Universal Online Judge

UOJ

统计

在一个 $n$ 个点 $m$ 条边的图上,点的标号是 $1,2,\cdots,n$,第 $i$ 条边连接的是 $a_i$ 和 $b_i$。

一个点的子集被称为好的,当且仅当子集中的任意两点都能仅通过子集中的点联通。

我们现在想要知道有多少个好的子集,对 $2$ 取模。

输入格式

第一行两个整数 $n,m$。

接下来 $m$ 行,每行两个整数 $a_i,b_i$ 。

输出格式

一个整数,表示好的子集个数对 $2$ 取模的结果。

样例一

input

3 2
1 2
2 3

output

0

样例二

input

3 3
1 2
2 3
3 1

output

1

限制与约定

Subtask1(30分):$1 \leq n \leq 18,0 \leq m \leq \frac{n(n-1)}{2},1 \leq a_i,b_i \leq n, 0 < |a_i-b_i| \leq 13$;

Subtask2(30分):$1 \leq n \leq 50,0 \leq m \leq \frac{n(n-1)}{2},1 \leq a_i,b_i \leq n, 0 < |a_i-b_i| \leq 8$;

Subtask3(40分):$1 \leq n \leq 50,0 \leq m \leq \frac{n(n-1)}{2},1 \leq a_i,b_i \leq n, 0 < |a_i-b_i| \leq 13$。

时间限制:1s

空间限制:512MB

下载

输入数据下载