#3360. 道路(road)

道路(road)

###题目描述

给定一个无向图,初始有 nn 个节点和 mm 条边,边上有权值 ww

添加 QQ 条新边(连接原始节点与两个特殊节点 S=n+1S = n+1T=n+2T = n+2,边权为 ww)。

对于初始的 mm 条边, 判断该边是否在 SSTT 的某条最短路径上。

如果是,输出该最短路的权值之和 ww;

否则 输出“GG”。

输入格式

第一行:整数 nn(原始节点数量)。

第二行:两个整数 mmQQ(初始边数和新边数)。

接下来 mm 行:每行三个整数 u,v,wu, v, w,表示第 ii 条初始边。

接下来 QQ 行:每行三个整数 u,v,wu,v,w,表示新边(uuvvn+1n+1n+2n+2)。

输出格式

输出 mm 行,第 ii 行表示第 ii 条初始边的结果。

如果经过这条边不能同时到达 SSTT,那么输出一行“GG”(不包含引号) 否则输出一个数,表示经过这条边的 SSTT 之间的最短路。

样例 1 输入

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

样例 1 输出

12 
11 
15

数据范围

• 对于30%30\%的数据,n5,m,Q5n≤5,m,Q≤5

• 对于50%50\%的数据,n50,m,Q5n≤50,m,Q≤5

• 对于70%70\%的数据,n50,m,Q1000n≤50,m,Q≤1000

• 对于100%100\%的数据,n,m,Q104,0<w100n,m,Q≤10^4,0<w≤100