众所周知,一个无向图是欧拉图当且仅当每个顶点的度数均为偶数。
Yuuka 有一个包含 $n$ 个顶点和 $m$ 条边的无向图。顶点编号为 $1, 2, \dots, n$。所有边初始时均为蓝色。Yuuka 计划将其中一些边涂成红色,其余边保持蓝色。如果由红色边构成的子图是欧拉图,她会将 $x^2$ 加入计数器,其中 $x$ 是红色边的数量。
考虑所有 $2^m$ 种涂色方案,Yuuka 想知道计数器的总值对 $(10^9 + 7)$ 取模后的结果。
输入格式
输入包含零个或多个测试用例,并以文件结束符(EOF)终止。对于每个测试用例:
第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 2 \cdot 10^5, 0 \le m \le 2 \cdot 10^5$)。
接下来的 $m$ 行中,第 $i$ 行包含两个整数 $a_i$ 和 $b_i$,表示顶点 $a_i$ 和 $b_i$ 之间的一条边 ($1 \le a_i, b_i \le n$)。
保证所有测试用例的 $n$ 之和与 $m$ 之和均不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示结果。
样例
样例输入 1
4 4 1 2 1 3 1 4 2 3 6 6 1 2 2 3 3 1 4 5 5 6 6 4 2 3 1 1 1 2 1 2
样例输出 1
9 54 14