图 $G$ 的一个团(clique)是指 $G$ 的顶点集 $X$,满足 $X$ 中任意两个不同的顶点在 $G$ 中均相邻。给定一个包含 $n$ 个顶点和 $m$ 条边的无向图 $G$,请找出图 $G$ 中不同的非空团的数量。
输入格式
第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 1000$),分别表示顶点数和边数。
接下来 $m$ 行,每行包含两个整数 $u_i$ 和 $v_i$ ($1 \le u_i, v_i \le n, u_i \neq v_i$),描述连接第 $u_i$ 个顶点和第 $v_i$ 个顶点的一条无向边。
保证每对不同的顶点之间最多只有一条边。
输出格式
输出一行,包含一个整数,表示团的数量。注意答案可能非常大,请输出其对 $(10^9 + 7)$ 取模的结果。
样例
输入 1
3 2 1 2 2 3
输出 1
5
输入 2
3 3 1 2 1 3 2 3
输出 2
7
说明
在第一个样例中,团为 $\{1\}, \{2\}, \{3\}, \{1, 2\}$ 和 $\{2, 3\}$。
在第二个样例中,团为 $\{1\}, \{2\}, \{3\}, \{1, 2\}, \{1, 3\}, \{2, 3\}$ 和 $\{1, 2, 3\}$。