#Yuanyin0001. 完美旅程

完美旅程

题目描述

在一个拥有 nn 个城市的国家中,有 n1n−1 条双向道路连接这些城市,构成一棵树。你正在访问这个国家,其中有 mm 条特定的道路是你一定要经过的。旅行社提供了 kk 条可选的旅游路线。每条路线从城市 sis_i 出发,沿最短路径到达城市 tit_i

你的目标是从这 kk 条旅游路线中选择尽可能少的路线,确保所有 mm 条关键道路至少被经过一次。

请计算你需要选择的最少旅游路线数量,以及达到这一最小值可能的方法数,结果对 998244353998244353 取模。一个方案定义为选择的旅游路线集合。当且仅当存在一条旅游路线在一个方案中被选择而在另一个中未被选择时,两个方案被视为不同。

如果无法经过所有特定道路,则输出 1-1

题目保证答案对 998244353998244353 取模后非零。

输入格式

第一行包含三个整数 nn,mm,kk (2n2×1052 \le n \le 2 \times 10^5 ,1mmin(n,22)1 \le m \le min(n,22) ,1k2×1051 \le k \le 2 \times 10^5),分别表示城市数量、特定道路数量和旅游路线数量。

接下来的 n1n−1 行,每行包含两个整数 uu,vv (1u,vn1 \le u,v \le n),保证给定的图是一棵树。

接下来一行包含 mm 个不同的整数 xi(1xin1)x_i(1 \le x_i \le n - 1),表示特定道路的编号(按输入顺序)。

接下来的 kk 行,每行包含两个整数 ss,tt (1s,tn1 \le s,t \le n) 表示旅游路线从 sstt

输出格式

输出你需要选择的最少旅游路线数量,以及达到这一最小值的方法数(对 998244353998244353 取模)。

如果无法经过所有特定道路,则输出 1−1

样例

3 2 2
1 2
1 3
1 2
2 3
1 2
1 1
7 3 3
1 2
1 3
2 4
2 5
3 6
6 7
1 3 5
1 4
2 7
2 4
2 2

说明/提示

样例2解释

我们需要选择至少 22 条路线,共有两种可能的方案:

  • 路线 11 和路线 22:路线 11 覆盖道路 11 和道路 33,路线 22 覆盖道路 11 和道路 55
  • 路线 22 和路线 33:路线 22 覆盖道路 11 和道路 55,路线 33 覆盖道路 33