#CF437C. 孩子与玩具

孩子与玩具

C. 孩子与玩具

每个测试的时间限制:11
内存限制:256256 兆字节

儿童节那天,孩子收到了 Delayyy 送的一个玩具作为礼物。然而,这个孩子太淘气了,迫不及待地想破坏它。

这个玩具由 nn 个部件和 mm 条绳子组成。每条绳子连接两个部件,且每对部件之间最多有一条绳子。为了拆解玩具,孩子必须移除所有部件。他一次只能移除一个部件,每次移除都会消耗一定的能量。我们定义部件 ii 的能量值为 viv_i。孩子移除部件 ii 所消耗的能量为 vf1+vf2++vfkv_{f_1} + v_{f_2} + \dots + v_{f_k},其中 f1,f2,,fkf_1, f_2, \dots, f_k 是那些与 ii 直接相连且尚未被移走的部件。

帮助孩子找出移除所有 nn 个部件所需的最小总能量。

输入
第一行包含两个整数 nnmm1n10001 \le n \le 10000m20000 \le m \le 2000)。
第二行包含 nn 个整数:v1,v2,,vnv_1, v_2, \dots, v_n0vi1050 \le v_i \le 10^5)。
接下来 mm 行,每行包含两个整数 xix_iyiy_i,表示连接部件 xix_iyiy_i 的一条绳子(1xi,yin1 \le x_i, y_i \le nxiyix_i \ne y_i)。

所有部件编号为 11nn

输出
输出孩子移除所有玩具部件所需的最小总能量。

示例

输入

4 3
10 20 30 40
1 4
1 2
2 3

输出

40

输入

4 4
100 100 100 100
1 2
2 3
2 4
3 4

输出

400

输入

7 10
40 10 20 10 20 80 40
1 5
4 7
4 5
5 2
5 7
6 4
1 6
1 3
4 3
1 4

输出

160

说明
在第一个样例中,一种最优的操作顺序是:

  1. 先移除部件 33,消耗能量 2020
  2. 再移除部件 22,消耗能量 1010
  3. 然后移除部件 44,消耗能量 1010
  4. 最后移除部件 11,消耗能量 00

总能耗为 20+10+10+0=4020 + 10 + 10 + 0 = 40,这是最小值。

在第二个样例中,无论孩子按什么顺序移除部件,他都将消耗 400400 能量。