問題文
N 個の頂点と M 本の辺からなる単純(自己ループおよび多重辺を持たない)かつ連結な無向グラフが与えられます。
i=1,2,ldots,M について、i 番目の辺は頂点 ui と頂点 vi を結びます。
下記の 2 つの条件をともに満たす整数列 (A1,A2,ldots,Ak) を長さ k のパスと呼びます。
- すべての i=1,2,dots,k について、1leqAileqN 。
- すべての i=1,2,ldots,k−1 について、頂点 Ai と頂点 Ai+1 は辺で直接結ばれている。
空列も長さ 0 のパスとみなします。
S=s1s2ldotssN を 0 と 1 のみからなる長さ N の文字列とします。 パス A=(A1,A2,ldots,Ak) が下記を満たすとき、パス A を S に関する良いパスと呼びます。
- すべての i=1,2,ldots,N について、次を満たす。
- si=0 ならば、A に含まれる i の個数は偶数である。
- si=1 ならば、A に含まれる i の個数は奇数である。
S として考えられる文字列(すなわち、0 と 1 のみからなる長さ N の文字列)は 2N 個ありますが、そのすべてにわたる「 S に関する良いパスのうち最短のものの長さ」の総和を出力してください。
この問題の制約下において、0 と 1 からなる長さ N のどのような文字列を S として選んでも、S に関する良いパスが少なくとも 1 つ存在することが示せます。
制約
- 2leqNleq17
- N−1leqMleqfracN(N−1)2
- 1lequi,vileqN
- 与えられるグラフは単純かつ連結
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
N M
u1 v1
u2 v2
vdots
uM vM
出力
答えを出力せよ。
入力例 1
3 2
1 2
2 3
出力例 1
14
- S=000 のとき、空列 () は S に関する最短の良いパスであり、その長さは 0 です。
- S=100 のとき、(1) は S に関する最短の良いパスであり、その長さは 1 です。
- S=010 のとき、(2) は S に関する最短の良いパスであり、その長さは 1 です。
- S=110 のとき、(1,2) は S に関する最短の良いパスであり、その長さは 2 です。
- S=001 のとき、(3) は S に関する最短の良いパスであり、その長さは 1 です。
- S=101 のとき、(1,2,3,2) は S に関する最短の良いパスであり、その長さは 4 です。
- S=011 のとき、(2,3) は S に関する最短の良いパスであり、その長さは 2 です。
- S=111 のとき、(1,2,3) は S に関する最短の良いパスであり、その長さは 3 です。
よって、求める答えは 0+1+1+2+1+4+2+3=14 です。
入力例 2
5 5
4 2
2 3
1 3
2 1
1 5
出力例 2
108