#lg6662. [POI 2019/2020 R1] Przedszkole / 幼儿园

[POI 2019/2020 R1] Przedszkole / 幼儿园

AdditionalFile3235.zip

#3235. 「POI2020 R1」Przedszkole

标签: 传统 | 时间限制: 1000 ms | 内存限制: 256 MiB |

题目描述

题目译自 POI XXVII - I etap 「Przedszkole」

有一个 nn 个点 mm 条边的无向图,每个点从 11 到 nn 编号。你有 kk 种颜色,要给每个点染色,使得有边相连的两个点颜色不一样。求出染色方案数,对 109+710^9+7 取模。

输入格式

第一行包含 33 个整数 nn,mm 和 zz,表示图中点个数,边条数和询问个数。

接下来 mm 行,每行包含两个整数 aia_i 和 bib_i,表示点 aia_i 和 bib_i 之间有一条边相连。保证不会有重边和自环。

接下来 zz 行,每行包含一个整数 kik_i,表示你有 kik_i 种颜色。

输出格式

对于每组数据,输出你有 kik_i 种颜色时的染色方案数,对 109+710^9+7 取模。

样例

输入

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

输出

12

附加样例

附加样例参见 prz/prz*.in 和 prz/prz*.out:

  • 附加样例 11:n=5,m=10n=5,m=10,两个询问 k∈{5,6}k \in \{5, 6\};

  • 附加样例 22:n=11,m=40n=11,m=40,一个询问 k=15k=15;

  • 附加样例 33:n=100,m=15n=100,m=15,55 个询问,kk 从 [10,100][10, 100] 里面随机;

  • 附加样例 44:n=100,m=100n=100,m=100,所有点构成了一个环;三个询问 k∈{5,10,15}k \in \{5, 10, 15\}。

数据范围与提示

对于 100%100\% 的数据,$1 \le n \le 10^5, 0 \le m \le \min(10^5, n(n-1)/2), 1 \le z \le 1000, 1 \le a_i, b_i \le n, 1 \le k_i \le 10^9$。

Subtask # 额外限制 分值
1 n ≤8,k≤8,z≤50n \le 8, k \le 8, z \le 50 88
2 n ≤15n \le 15 2626
3 m≤24m \le 24 3333
4 每个点恰好有两条边和它相连 3333