#diverta2019f. [diverta2019_f]Edge Ordering

[diverta2019_f]Edge Ordering

問題文

NN 個の頂点と、MM 本の辺からなる単純かつ連結な無向グラフ GG が与えられます。 頂点には 11 から NN の番号が、辺には 11 から MM の番号がついています。

ii は頂点 aia_ibib_i を双方向につなぐ辺です。 ここで、頂点 1,2,ldots,N1,2,\\ldots,N と辺 1,2,ldots,N11,2,\\ldots,N-1 からなる部分グラフが GG の全域木となることが保証されます。

頂点 1,2,ldots,N1,2,\\ldots,N と辺 1,2,ldots,N11,2,\\ldots,N-1 からなる木が GG の最小全域木となるような辺への重みの割り当て方を 良い割り当て と呼びます。

それぞれの辺に 11 から MM までの相異なる整数の重みを割り当てる方法は M!M! 通りあります。 それらのうち、良い割り当てであるようなもの全てについて最小全域木に含まれる辺の重みの和を求め、それらの総和を 109+710^{9}+7 で割ったあまりを出力してください。

制約

  • 入力は全て整数
  • 2leqNleq202 \\leq N \\leq 20
  • N1leqMleqN(N1)/2N-1 \\leq M \\leq N(N-1)/2
  • 1leqai,bileqN1 \\leq a_i, b_i \\leq N
  • GG に自己ループや多重辺は存在しない
  • 頂点 1,2,ldots,N1,2,\\ldots,N と辺 1,2,ldots,N11,2,\\ldots,N-1 からなる部分グラフは GG の全域木となる

入力

入力は以下の形式で標準入力から与えられる。

NN MM a1a_1 b1b_1 vdots\\vdots aMa_M bMb_M

出力

答えを出力せよ。


入力例 1

3 3
1 2
2 3
1 3

出力例 1

6
  • 33 に重み 33 が割り当てられたときに限り、良い割り当てとなります。
  • これらの良い割り当てにおける GG の最小全域木に含まれる辺の重みの和は 33 であり、良い割り当ての個数は 22 つなので答えは 66 となります。

入力例 2

4 4
1 2
3 2
3 4
1 3

出力例 2

50

入力例 3

15 28
10 7
5 9
2 13
2 14
6 1
5 12
2 10
3 9
10 15
11 12
12 6
2 12
12 8
4 10
15 3
13 14
1 15
15 12
4 14
1 7
5 11
7 13
9 10
2 7
1 9
5 6
12 14
5 2

出力例 3

657573092
  • 総和を 109+710^{9}+7 で割ったあまりを出力してください。