#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")