atcoder#ABC199D. [ABC199D] RGB Coloring 2

[ABC199D] RGB Coloring 2

Score : 400400 points

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

  • 1N201 \le N \le 20
  • 0MN(N1)20 \le M \le \frac{N(N - 1)}{2}
  • 1AiN1 \le A_i \le N
  • 1BiN1 \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

\hspace{15pt} \vdots

AMA_M BMB_M

Output

Print the answer.

3 3
1 2
2 3
3 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
3 0
27

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

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

There may be no way to satisfy the condition.

20 0
3486784401

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