AT_abc244_f [ABC244F] Shortest Good Path

Description

[problemUrl]: https://atcoder.jp/contests/abc244/tasks/abc244_f $ N $ 個の頂点と $ M $ 本の辺からなる単純(自己ループおよび多重辺を持たない)かつ連結な無向グラフが与えられます。 $ i\ =\ 1,\ 2,\ \ldots,\ M $ について、$ i $ 番目の辺は頂点 $ u_i $ と頂点 $ v_i $ を結びます。 下記の $ 2 $ つの条件をともに満たす整数列 $ (A_1,\ A_2,\ \ldots,\ A_k) $ を長さ $ k $ の**パス**と呼びます。 - すべての $ i\ =\ 1,\ 2,\ \dots,\ k $ について、$ 1\ \leq\ A_i\ \leq\ N $ 。 - すべての $ i\ =\ 1,\ 2,\ \ldots,\ k-1 $ について、頂点 $ A_i $ と頂点 $ A_{i+1} $ は辺で直接結ばれている。 空列も長さ $ 0 $ のパスとみなします。 $ S\ =\ s_1s_2\ldots\ s_N $ を $ 0 $ と $ 1 $ のみからなる長さ $ N $ の文字列とします。 パス $ A\ =\ (A_1,\ A_2,\ \ldots,\ A_k) $ が下記を満たすとき、パス $ A $ を $ S $ に関する**良いパス**と呼びます。 - すべての $ i\ =\ 1,\ 2,\ \ldots,\ N $ について、次を満たす。 - $ s_i\ =\ 0 $ ならば、$ A $ に含まれる $ i $ の個数は偶数である。 - $ s_i\ =\ 1 $ ならば、$ A $ に含まれる $ i $ の個数は奇数である。 $ S $ として考えられる文字列(すなわち、$ 0 $ と $ 1 $ のみからなる長さ $ N $ の文字列)は $ 2^N $ 個ありますが、そのすべてにわたる「 $ S $ に関する良いパスのうち最短のものの長さ」の総和を出力してください。 この問題の制約下において、$ 0 $ と $ 1 $ からなる長さ $ N $ のどのような文字列を $ S $ として選んでも、$ S $ に関する良いパスが少なくとも $ 1 $ つ存在することが示せます。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ u_1 $ $ v_1 $ $ u_2 $ $ v_2 $ $ \vdots $ $ u_M $ $ v_M $

Output Format

答えを出力せよ。

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 17 $ - $ N-1\ \leq\ M\ \leq\ \frac{N(N-1)}{2} $ - $ 1\ \leq\ u_i,\ v_i\ \leq\ N $ - 与えられるグラフは単純かつ連結 - 入力はすべて整数 ### Sample Explanation 1 \- $ 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 $ です。