新的精灵来到了黑暗森林,他将要穿过这片森林,迎接绽放的光芒。
静谧之森四处是黑暗,精灵无法通行,所幸的是其中有n棵灵树,灵树之间有m座四通八达的光之桥连通出了一条去路。然而,每座光之桥穿过都需要耗费一定的灵力,这对精灵来说非常伤。
幸运的是,这些灵树中有k棵灵树中还保留着精灵之光,精灵可以通过魔法在这些灵树之间架起新的光之桥。精灵通过自己架起的光之桥便不再需要耗费灵力了,但是精灵每架起一座光之桥都需要耗费一定的灵力,随着架桥数量的增多精灵需要耗费的灵力也将增多。精灵的身体最多只能支撑它架起q座光之桥。
现在,精灵想知道自己通过黑暗森林至少需要多少灵力,请你帮帮它。
第一行输入两个正整数n,m(2≤n≤1000,1≤m≤104),表示黑暗森林中灵树的数量以及光之桥的数量。精灵将从1号灵树开始前往n号灵树,数据保证精灵一定能够到达。
接下来m行每行三个正整数ui,vi,wi(1≤ui,vi≤n,1≤wi≤1000),表示ui号灵树与vj号灵树之间存在一座光之桥,通过它需要耗费wi灵力。
接下来一行,首先一个正整数k(0≤k≤min(n,100)),最后跟随k个正整数ui(1≤ui≤n),表示还保留着精灵之光的灵树数量和对应的灵树编号。
接下来一行,首先一个正整数q(0≤q≤9),最后跟随q个正整数wi(1≤ui≤1000),表示精灵最多能够额外架的光之桥数量和架起第i座光之桥需要耗费的灵力。
输出一行一个正整数,表示精灵通过黑暗森林最少需要多少灵力。
5 5
1 2 2
1 3 1
2 4 2
3 4 3
4 5 3
2 1 4
1 2
5