#abc199d. D - RGB Coloring 2

D - RGB Coloring 2

Score : 400400 points

问题描述

我们有一个包含 NN 个顶点和 MM 条边的简单无向图。顶点编号为从 11NN,边编号为从 11MM。 第 ii 条边连接顶点 AiA_i 和顶点 BiB_i

找出一种将此图中每个顶点涂成红色、绿色或蓝色的方法的数量,使得满足以下条件:

  • 直接通过一条边相连的两个顶点总是被涂成不同的颜色。

这里,并不要求使用所有颜色。

以上为通义千问 qwen-max 翻译,仅供参考。

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.

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.