#abc199d. [abc199_d]RGB Coloring 2

[abc199_d]RGB Coloring 2

Problem Statement

We have a simple undirected graph with NN vertices and MM edges. The vertices are numbered 11 through NN, and the edges are numbered 11 through MM.
Edge ii connects Vertex AiA_i and Vertex BiB_i.
Find the number of ways to paint each vertex in this graph red, green, or blue so that the following condition is satisfied:

  • two vertices directly connected by an edge are always painted in different colors.

Here, it is not mandatory to use all the colors.

Constraints

  • 1leNle201 \\le N \\le 20
  • 0leMlefracN(N1)20 \\le M \\le \\frac{N(N - 1)}{2}
  • 1leAileN1 \\le A_i \\le N
  • 1leBileN1 \\le B_i \\le N
  • The given graph is simple (that is, has no multi-edges and no self-loops).

Input

Input is given from Standard Input in the following format:

NN MM A1A_1 B1B_1 A2A_2 B2B_2 A3A_3 B3B_3 hspace15ptvdots\\hspace{15pt} \\vdots AMA_M BMB_M

Output

Print the answer.


Sample Input 1

3 3
1 2
2 3
3 1

Sample Output 1

6

Let c1,c2,c3c_1, c_2, c_3 be the colors of Vertices 1,2,31, 2, 3 and R, G, B denote red, green, blue, respectively. There are six ways to satisfy the condition:

  • c1c2c3=c_1c_2c_3 = RGB
  • c1c2c3=c_1c_2c_3 = RBG
  • c1c2c3=c_1c_2c_3 = GRB
  • c1c2c3=c_1c_2c_3 = GBR
  • c1c2c3=c_1c_2c_3 = BRG
  • c1c2c3=c_1c_2c_3 = BGR

Sample Input 2

3 0

Sample Output 2

27

Since the graph has no edge, we can freely choose the colors of the vertices.


Sample Input 3

4 6
1 2
2 3
3 4
2 4
1 3
1 4

Sample Output 3

0

There may be no way to satisfy the condition.


Sample Input 4

20 0

Sample Output 4

3486784401

The answer may not fit into the 3232-bit signed integer type.