J. 光之桥

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

新的精灵来到了黑暗森林,他将要穿过这片森林,迎接绽放的光芒。

静谧之森四处是黑暗,精灵无法通行,所幸的是其中有nn棵灵树,灵树之间有mm座四通八达的光之桥连通出了一条去路。然而,每座光之桥穿过都需要耗费一定的灵力,这对精灵来说非常伤。

幸运的是,这些灵树中有kk棵灵树中还保留着精灵之光,精灵可以通过魔法在这些灵树之间架起新的光之桥。精灵通过自己架起的光之桥便不再需要耗费灵力了,但是精灵每架起一座光之桥都需要耗费一定的灵力,随着架桥数量的增多精灵需要耗费的灵力也将增多。精灵的身体最多只能支撑它架起qq座光之桥。

现在,精灵想知道自己通过黑暗森林至少需要多少灵力,请你帮帮它。

输入格式

第一行输入两个正整数n,m(2n1000,1m104)n,m(2\leq n\leq 1000,1\leq m\leq 10^4),表示黑暗森林中灵树的数量以及光之桥的数量。精灵将从11号灵树开始前往nn号灵树,数据保证精灵一定能够到达。

接下来mm行每行三个正整数ui,vi,wi(1ui,vin,1wi1000)u_i,v_i,w_i(1\leq u_i,v_i\leq n,1\leq w_i\leq 1000),表示uiu_i号灵树与vjv_j号灵树之间存在一座光之桥,通过它需要耗费wiw_i灵力。

接下来一行,首先一个正整数k(0kmin(n,100))k(0\leq k\leq min(n,100)),最后跟随kk个正整数ui(1uin)u_i(1\leq u_i\leq n),表示还保留着精灵之光的灵树数量和对应的灵树编号。

接下来一行,首先一个正整数q(0q9)q(0\leq q\leq 9),最后跟随qq个正整数wi(1ui1000)w_i(1\leq u_i\leq 1000),表示精灵最多能够额外架的光之桥数量和架起第ii座光之桥需要耗费的灵力。

输出格式

输出一行一个正整数,表示精灵通过黑暗森林最少需要多少灵力。

样例

输入样例

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

输出样例

5