Edge Coloring

Count subsets of edges of a multigraph, modulo 100000007, such that every vertex has an odd number of chosen incident edges.

Medium6MathBit manipulationGreedyGraphNo attempts yetTime limit2sMemory limit256 MB

Problem

An undirected graph GG is given. GG has no self loops, but it can have more than one edge between the same pair of vertices. Choose a subset of the edges of GG. For every vertex vv, the number of chosen edges incident to vv must be odd. A vertex with no chosen incident edge counts as even. Find the number of valid choices modulo 100000007100000007.

Input

The first line has nn and mm. nn is the number of vertices and mm is the number of edges. Each of the next mm lines has uu and vv. The iith edge joins uu and vv. Vertices are numbered from 11 to nn.

  • 1n1001 \le n \le 100
  • 0m8000 \le m \le 800
  • Every edge satisfies uvu \ne v and 1u,vn1 \le u, v \le n.

Output

Print the number of valid choices modulo 100000007100000007.

Hint

Dashed edges are not chosen and solid edges are chosen. The figure below shows the four possible cases.