#2408. Chocolate Giving

Chocolate Giving

题目描述

FarmerJohn\red{Farmer John}有B\red{B}头奶牛(1<=B<=25000),\red{(1<=B<=25000),}有N(2×B<=N<=50000)\red{N(2\times B<=N<=50000)}个农场,编号1−N,\red{1-N,}有M(N−1<=M<=100000)\red{M(N-1<=M<=100000)}条双向边,第i\red{i}条边连接农场Ri\red{R_i}和Si(1<=Ri<=N\red{S_i(1<=R_i<=N};1<=Si<=N),\red{1<=S_i<=N),}该边的长度是Li(1<=Li<=2000)\red{L_i(1<=L_i<=2000)}。

居住在农场Pi\red{P_i}的奶牛A(1<=Pi<=N),\red{A(1<=P_i<=N),}它想送一份新年礼物给居住在农场Qi(1<=Qi<=N)\red{Q_i(1<=Q_i<=N)}的奶牛B,\red{B,}但是奶牛A\red{A}必须先到FJ(\red{FJ(}居住在编号1\red{1}的农场)\red{)} 那里取礼物,然后再送给奶牛B\red{B}。

你的任务是:奶牛A\red{A}至少需要走多远的路程?

输入格式

第1\red{1}行:三个整数:N,M,B\red{N,M,B}。

第2..M+1\red{2..M+1}行:每行三个整数:Ri,Si\red{R_i,S_i}和Li,\red{L_i,}描述一条边的信息。

第M+2..M+B+1\red{M+2..M+B+1}行:共B\red{B}行,每行两个整数Pi\red{P_i}和Qi,\red{Q_i,}表示住在Pi\red{P_i}农场的奶牛送礼物给住在Qi\red{Q_i}农场的奶牛。

输出格式

共B\red{B}行,每行一个整数,表示住在Pi\red{P_i}农场的奶牛送礼给住在Qi\red{Q_i}农场的奶牛至少需要走的路程

样例

输入样例

6 7 3

1 2 3

5 4 3

3 1 1

6 1 9

3 4 2

1 4 4

3 2 2

2 4

5 1

3 6

输出样例

6

6

10