#include <bits/stdc++.h>
using namespace std;
struct slog {
int id;
int v;
int p;
int n;
bool pos;

} niz[100009];
int m, n, a, b, rez;



int main () {

cin >> n >> m;
for (int i=1; i<=n; i++) {
    scanf("%d", &a);
    niz[i].v=a;

}
for (int i=1; i<=m; i++) {
    cin >> a >> b;
    if (abs(niz[a].v)>=abs(niz[b].v)) {
        if (niz[a].v<0) {
            niz[a].n++;
            niz[b].n++;
        }
        else {
            niz[a].p++;
            niz[b].p++;
}
    }
    else {
             if (niz[b].v<0) {
            niz[a].n++;
            niz[b].n++;
        }
        else {
            niz[a].p++;
            niz[b].p++;
    }

}


}
for (int i=1; i<=n; i++) {
    rez+=niz[i].v*(niz[i].p-niz[i].n);
}
cout << rez << endl;

return 0;
}