2023 年上海市大学生程序设计竞赛 - 八月赛

E. Egg to be got

单点时限: 3.0 sec

内存限制: 512 MB

现在是彩蛋时间!

n 个彩蛋分布于 k×k 的网格图的端点上,每个彩蛋的坐标为 (xi,yi) ,其中 (1,1),(k,k) 两个端点上一定有一个彩蛋。

选取网格图中的 m 条边将这些彩蛋相连(每条边都连接网格图中距离为 1 的两个点)。当你在网格图中行走时,你只能走向右或向上的边,即若当前你在 (x,y) 点,你只能走另一个端点为 (x+1,y)(x,y+1) 的边。从任意一个点出发一定可以到达 (k,k) 点。

你会进行 Q 次彩蛋游戏,每次游戏你会出现在其中一个彩蛋所在端点上,随后你可以从当前点出发,走向右或向上的边获取彩蛋,每当你到达一个点时,若这个点上彩蛋的种类与你之前获取的都不同,你可以获取它。

你随时可以回到本次游戏的出发点,走另一条路径。

数据保证从 (1,1) 出发进行一次彩蛋游戏一定可以到达所有点。

每次游戏开始时,之前的游戏状态都会重置,即之前所有获得的彩蛋都会被放置回原处,你身上也不再持有彩蛋。现在请你求出,每次游戏你最多可以获取多少彩蛋。

下图为样例的彩蛋分布情况。

在这个网格图中,共有五种类型的彩蛋(分别用五种颜色表示),从 D 点出发分别可以获取红色(D,J),蓝色(H,L),绿色(I,M),粉色(K,N)四种类型的彩蛋,因此从 D 点开始进行的彩蛋游戏答案为 4。

输入格式

第一行三个整数 n,m,k (1n3×105,1m6×105,2k10000),分别表示彩蛋个数、边数和网格图大小。

接下来 n 行每行三个整数 xi,yi,ci (1xi,yik,1cin),表示第 i 个彩蛋的坐标和种类,其中第 1 个彩蛋的坐标一定为 (1,1) ,第 n 个彩蛋的坐标一定为 (k,k)

接下来 m 行每行两个整数 ui,vi (1ui,vin),表示第 i 条有向边所连接的两个彩蛋的编号,设 ui 对应坐标为 (x,y),数据保证 vi 对应坐标为 (x+1,y)(x,y+1)

n+m+2行一个整数Q (1Q105),表示游戏次数。

接下来 Q 行每行一个整数 qi (1qin),表示第 i 次游戏的初始所在彩蛋的编号。

输出格式

输出 Q 行每行一个整数,表示第 i 次游戏最多可以获取多少彩蛋。

样例

Input
14 16 5
1 1 1
2 1 2
2 2 1
3 2 3
2 3 4
2 4 3
3 4 1
4 2 1
4 3 4
4 4 3
5 3 5
5 4 1
4 5 4
5 5 5
1 2
2 3
3 4
3 5
4 8
5 6
6 7
7 10
8 9
9 10
9 11
10 12
10 13
11 12
12 14
13 14
5
1
2
7
10
14
Output
5
5
4
4
1