锤爆
题号:NC21203
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

夭寿啦!GJX又双叒叕在皮了ヽ(Д´) ┻━┻。由于其皮值过高,同学们决定将GJX锤爆。为防止被锤爆,GJX决定躲进翠英山深处。翠英山中有n个地点可供GJX藏匿,这n个地点间有m条路径,每条路径有其长度c。一位不愿意透露姓名的010110000100000101010001同学表示“我今天就是要锤爆GJX头”,他使用一种未知的高科技,在翠英山上建起了k个传送门,每个传送门连接pq两个地点,任何人可以瞬间从p传送至q,但是每个传送门只能使用一次且不能反向传送。求同学们需要走多长的路才能找到GJX并锤爆他的头。

数据保证你一定能找到GJX并锤爆他的头。

输入描述:

第一行,3个数n,m,k,分别代表翠英山上的地点数量、路径数量、传送门数量。

第二行,2个数x,y,分别代表同学们的起点编号以及郭嘉烜的藏匿地点编号。

接下来m行,每行3个数a,b,c,代表a和b之间有一条长度为c的路。

接下来k行,每行2个数p,q,代表p和q之间有一个p到q的传送门。

输出描述:

一行,1个数s,代表同学们需要走的总路程。
示例1

输入

复制
5 8 2
1 5
1 2 2
1 3 1
1 5 12
2 3 8
2 4 4
3 4 3
3 5 6
4 5 3
1 4
1 3

输出

复制
3

备注:

数据范围

1<n<=200000,1<=m<=400000,0<=k<=40000,1<=c<=200000

建议使用C/C++解答本题。