20096 - 队列问题

小明和他的小伙伴要拍照,他们中的某些人要站在一起,比如说有甲乙丙丁和小明五个人,甲想和小明站在一起,同时乙也想和小明站在一起,那么甲,乙和小明就属于同一组,同一组内就在拍照队列中处于连续的位置,那么下面6种情况都是可以的

  • 甲 乙 小明
  • 甲 小明 乙
  • 乙 甲 小明
  • 乙 小明 甲
  • 小明 甲 乙
  • 小明 乙 甲

并不强制要求甲乙与小明必须完全相邻。求由多少种不同的排列拍照方案。

输入

第一行包含两个整数 nm,分别表示总人数和请求数。
人的编号为 1n

接下来 m 行,每行两个整数 u, v,表示 u 想和 v 站在一起(相邻)。

输出

输出一个整数,表示满足所有请求的排列方案数对 10^9+7 取模的结果。

样例

输入

5 3
1 2
1 3
1 4

输出

48

提示

数据范围

  • 1 \le n \le 10^5
  • 0 \le m \le 10^5
  • 1 \le u, v \le n
  • 保证请求不产生矛盾
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题