#arc098d. [arc098_d]Donation

[arc098_d]Donation

问题描述

有一个简单的无向图,有 NN 个顶点和 MM 条边。顶点编号为 11NN,边的编号为 11MM。边 ii 连接顶点 UiU_iViV_i。此外,顶点 ii 有两个预设的整数 AiA_iBiB_i。你将在这个图上进行以下游戏。

首先,在其中选择一个顶点并站在上面,口袋里有 WW 日元(日本的货币)。这里,必须满足 AsWA_s \leq W,其中 ss 是你选择的顶点。然后,按任意顺序、任意次数执行以下两种操作:

  • 选择一个直接与你所站的顶点相连的顶点 vv,并移动到顶点 vv。这时,在执行此操作时,你的口袋里必须至少有 AvA_v 日元。
  • 向你所站的顶点 vv 捐赠 BvB_v 日元。这时,你口袋里的钱不能少于 00 日元。

当你向每个顶点捐赠一次时,你赢得了比赛。找到能够使你赢得比赛的最小初始金额 WW

约束条件

  • 1N1051 \leq N \leq 10^5
  • N1M105N-1 \leq M \leq 10^5
  • 1Ai,Bi1091 \leq A_i,B_i \leq 10^9
  • 1Ui<ViN1 \leq U_i < V_i \leq N
  • 给定的图是连通且简单的(任意一对顶点之间最多只有一条边)。

输入

输入形式如下,从标准输入读取:

NN MM A1A_1 B1B_1 A2A_2 B2B_2 :: ANA_N BNB_N U1U_1 V1V_1 U2U_2 V2V_2 :: UMU_M VMV_M

输出

打印使你赢得比赛的最小初始金额 WW


示例输入 1

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

示例输出 1

6

如果你最初有 6 日元,你可以按照以下方式赢得比赛:

  • 站在顶点 4 上。这是可能的,因为你至少有 6 日元。
  • 向顶点 4 捐赠 2 日元。现在你有 4 日元。
  • 移动到顶点 3。这是可能的,因为你至少有 4 日元。
  • 向顶点 3 捐赠 1 日元。现在你有 3 日元。
  • 移动到顶点 2。这是可能的,因为你至少有 1 日元。
  • 移动到顶点 1。这是可能的,因为你至少有 3 日元。
  • 向顶点 1 捐赠 1 日元。现在你有 2 日元。
  • 移动到顶点 2。这是可能的,因为你至少有 1 日元。
  • 向顶点 2 捐赠 2 日元。现在你有 0 日元。

如果最初的金额少于 6 日元,你将无法赢得比赛。因此,答案是 6。


示例输入 2

5 8
6 4
15 13
15 19
15 1
20 7
1 3
1 4
1 5
2 3
2 4
2 5
3 5
4 5

示例输出 2

44

示例输入 3

9 10
131 2
98 79
242 32
231 38
382 82
224 22
140 88
209 70
164 64
6 8
1 6
1 4
1 3
4 7
4 9
3 7
3 9
5 9
2 5

示例输出 3

582