#include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm>
using namespace std;
// 蓝色只能用红色抓换,不能用转换得到的蓝色再次转换,因此直接2选1
int main() {
int n;
cin >> n;
vector<int> cost(n);
for(auto& v : cost) {
cin >> v;
}
vector<int> exCost(n);
for(auto& v : exCost) {
int b, c;
cin >> b >> c;
v = cost[b-1] + cost[c-1];
}
int sum = 0;
for(auto i = 0; i < n; i++) {
sum += min(cost[i], exCost[i]);
}
cout << sum << endl;
}
// 64 位输出请用 printf("%lld")



京公网安备 11010502036488号