#ABC220H. [ABC220H] Security Camera

[ABC220H] Security Camera

Score : 600600 points

Problem Statement

AtCoder Town has NN intersections and MM roads. Road ii connects Intersections AiA_i and BiB_i.

Takahashi, the mayor, has decided to install zero or more surveillance cameras at the intersections. Each intersection can be installed with zero or one surveillance camera.

How many of the 2N2^N ways to install surveillance cameras monitor an even number of roads?

Here, Road ii is said to be monitored when the following condition is satisfied:

a surveillance camera is installed at one or both of Intersections AiA_i and BiB_i.

Constraints

  • 2N402 \leq N \leq 40
  • 1MN(N1)21 \leq M \leq \frac{N(N-1)}{2}
  • 1Ai<BiN1 \leq A_i \lt B_i \leq N
  • (Ai,Bi)(Aj,Bj)(A_i,B_i) \neq (A_j,B_j) if iji \neq j.
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN MM

A1A_1 B1B_1

A2A_2 B2B_2

\vdots

AMA_M BMB_M

Output

Print the answer.

3 2
1 2
2 3
6

The sets of towns to install surveillance cameras to satisfy the condition are: $\{ \} , \{ 2 \} , \{ 1,2 \} ,\{1,3\},\{2,3\},\{1,2,3\}$. Note that it is allowed to install no surveillance camera.

20 3
5 6
3 4
1 2
458752

The town may not be connected.