众所周知,梁山上生活着梁山伯与祝英台。某天他们看了《Jack and Rose》之后,也想体验了一下这种虚拟的感觉,但他们把握不住,两人在梁山上找不到了彼此。他们不想像罗密欧与朱丽叶一样化为蝴蝶,所以梁山伯需要以最快的速度找到祝英台。梁山被祝家庄的前人立上了 n 个路标,尽管梁山伯已经在梁山生活了几百年,但依然不认识路,只能跟着路标走。祝英台预判到了梁山伯只认识路标,同时又预判到了梁山伯预判了祝英台预判梁山伯只认识路标,知道梁山伯知道祝英台为了让梁山伯找到自己会故意等在路标旁而去通过路标找祝英台,所以祝英台顺水推舟,就等在某一路标旁。但带恶人梁非凡在某些路标之间埋下了恶臭的蘑菇,梁山伯每次经过这些蘑菇都会扣血,因为梁山伯没有复活币,所以血量为非正数就会化成蝴蝶,直接飞到祝英台的身旁。祝英台又提前预判了梁非凡的蘑菇,通过星象占卜预知了所有蘑菇的位置,现在她想知道如果梁山伯能以人形态来到她的身旁,则在整个路线中最大权值的最小值是多少?
第一行两个整数 n,m,分别为路标的数量和路标间的路径数(2 ≤ n ≤ 100000,1 ≤ m ≤ 1000000)
接下来 m 行,每行三个整数 u,v,t,表示可以从第 u 个路标走向第 v 个路标,并且这条路的权值为 t(1 ≤ u,v ≤ n,u ≠ v,1 ≤ t ≤ 1e9)
然后一行一个整数 q ,表示有 q 个路径上有蘑菇(1 ≤ q ≤ m)
接下来 q 行,每行两个整数 id,k,表示上面给出的第 id 条路径上有蘑菇,且会扣 k 单位血(1 ≤ id ≤ m,1 ≤ k ≤ 1e9)
最后是一行三个整数 start,end,blood,分别代表梁山伯初始位于第 start 个路标,且初始血量为 blood,祝英台位于第 end 个路标(1 ≤ start,end ≤ n,start ≠ end,1 ≤ blood ≤ 1e9)
保证:
1、不存在重复路径,u->v 和 v->u 是不同路径
2、一条路径上最多只有一个蘑菇
如果梁山伯能以人形态来到祝英台的身边,则输出经过的路径中最大权值的最小值,如果是蝴蝶形态或者无法找到则输出 -1
4 5 1 2 1 2 3 3 3 1 2 4 2 4 1 4 2 4 1 4 3 5 2 3 5 1 1 3 5
4