#include<iostream>
#include<cstdlib>
using namespace std;

struct tak{
	
	int a;
	int s;
	
};

class par{
	
	public:
		int x;
		int y;
		
};

int rezTakmicenja(int n, tak a[]);

int main(){
	
	int n, m, max;
	
	cin>>n>>m;
	tak a[n];
	par b[m], temp;
	
	for(int i=0; i<n; i++){
		cin>>a[i].a;
		a[i].s=0;
	}
	for(int i=0; i<m; i++){
		cin>>b[i].x>>b[i].y;
	}
	
	for(int i=0; i<m; i++){
		if(abs(a[b[i].x-1].a)>abs(a[b[i].y-1].a)){
			if(a[b[i].x-1].a>0){
				a[b[i].x-1].s++;
				a[b[i].y-1].s++;
			}
			else{
				a[b[i].x-1].s--;
				a[b[i].y-1].s--;
			}
		}
		else{
			if(a[b[i].y-1].a>0){
				a[b[i].x-1].s++;
				a[b[i].y-1].s++;
			}
			else{
				a[b[i].x-1].s--;
				a[b[i].y-1].s--;
			}
		}
	}
	
	
	cout<<rezTakmicenja(n, a);
	
	return 0;
}

int rezTakmicenja(int n, tak a[]){
	
	int sum=0;
	
	for(int i=0; i<n; i++){
		sum+=a[i].a*a[i].s;
	}
	
	return sum;
	
}