마을에 우물을 세우면 그 마을과 도로로 직접 연결된 이웃 마을에도 우물 수가 더해질 때, 모든 마을의 요구량을 채우는 최소 우물 총 개수를 구한다.
현성이는 물을 마음껏 마시지 못하는 아프리카 아이들을 위해 마을에 우물을 설치하려고 한다.
마을마다 필요한 우물의 수가 다르다. 마을 A에 우물을 하나 설치하면 마을 A와, A와 길로 바로 이어진 모든 마을에서 우물이 하나씩 충족된다. 한 마을에 우물을 여러 개 설치할 수도 있다.
예를 들어 마을 A와 B, 마을 A와 C가 길로 이어져 있고 A, B, C 마을에 각각 우물이 5개, 10개, 7개 필요하다고 하자. A 마을에 우물을 5개 설치하면 B 마을과 C 마을에서도 우물이 5개씩 충족된다.
현성이는 평소에 기부를 많이 해서 돈이 넉넉하지 않다. 마을이 nnn개, 각 마을에 필요한 최소 우물 수가 W1,W2,…,WnW_1, W_2, \ldots, W_nW1,W2,…,Wn, 마을 사이를 잇는 길이 mmm개일 때, 모든 마을에서 필요한 우물 수가 충족되도록 설치해야 하는 우물의 최소 개수를 구하자.
첫째 줄에 마을의 개수 nnn (1≤n≤100,0001 \le n \le 100{,}0001≤n≤100,000)과 길의 개수 mmm (1≤m<100,0001 \le m < 100{,}0001≤m<100,000)이 주어진다.
둘째 줄에 각 마을에 필요한 최소 우물의 수 W1,W2,…,WnW_1, W_2, \ldots, W_nW1,W2,…,Wn (0≤Wi≤10,000,0000 \le W_i \le 10{,}000{,}0000≤Wi≤10,000,000)이 주어진다.
셋째 줄부터 mmm개의 줄에 길의 정보가 주어진다. 각 줄에는 길로 서로 오갈 수 있는 두 마을의 번호 aaa, bbb가 주어진다. 마을 번호는 111부터 nnn까지이며, 임의의 두 마을 사이에는 정확히 한 가지 경로가 존재한다.
첫째 줄에 설치해야 하는 우물의 최소 개수를 출력한다.