#Lutece2418. 赛马 Ⅱ

赛马 Ⅱ

Migrated from Lutece 2418 赛马 Ⅱ

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

Macaron_lin 又要举行赛马啦!这次的比赛方式有些不同。

赛马场由 nn 个小场地与 mm 条路组成,小场地编号为 11nn。每条路双向连接着两个小场地,并有一定长度,小场地的大小忽略不计。比赛中,选手需要以某个小场地为起点出发,经过若干小场地后回到起点,途中不能重复经过同一条路。

Macaron_lin 觉得这样不够刺激,于是又加入了一些新规则。比赛共分为 kk 轮,第一轮场上不树立旗帜。从第二轮开始,每轮比赛开始前,Macaron_lin 都会在一个没有树立旗帜的小场地上树立起一个旗帜,且这个旗帜在之后的比赛中会一直保留。每轮比赛中,选手需要以某个没有旗帜的小场地为起点出发,经过若干没有旗帜的小场地后回到起点,途中不能重复经过同一条路。

Cjj 又要来参加赛马,他想知道每轮比赛的最短路径长度。

Input

第一行三个整数 n,m,kn,m,k (2kn500,1mn(n1)22 \le k \le n \le 500,1 \le m \le \frac{n(n-1)}{2}),表示小场地的个数、路的条数以及比赛的轮数。

接下来 mm 行,每行三个整数 u,v,wu,v,w (1u,vn,uv,1w1061 \le u,v \le n,u \neq v,1 \le w \le 10^6),表示 uu 号小场地和 vv 号小场地间有一条长度为 ww 的路。数据保证无重边。

接下来 k1k-1 行,每行一个整数,表示从第二轮开始每轮树立起旗帜的小场地编号。数据保证不会重复。

Output

输出 kk 行,第 ii 行表示第 ii 轮比赛的最短路径长度。如果没有满足条件的路径,输出 1-1

Samples

4 5 3
1 2 1
2 3 1
3 4 1
4 1 1
2 4 10
3
4
4
12
-1

Resources

2020 UESTC ICPC Training for Graph