#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;

void swap(int *xp, int *yp)  
{  
    int temp = *xp;  
    *xp = *yp;  
    *yp = temp;  
}  
  
void selectionSort(int arr[], int n, int indeksi[])  
{  
    int i, j, max_idx;  
  
    for (i = 0; i < n-1; i++)  
    {   
        max_idx = 0;  
        for (j = i+1; j < n; j++)  
        if (abs(arr[j]) > abs(arr[max_idx]))  
            max_idx = j;  
        arr[max_idx]=INT_MIN;
		indeksi[i] = max_idx+1;
    }  
}

main()
{
	int n, m;
	scanf("%d%d",&n,&m);
	int druz[n], indeksi[n], druzenje[n];
	int parovi[m*2];
	int pozitiv[m];
	for(int i = 0; i<n; i++)
	{
		scanf("%d", &druz[i]);
		druzenje[i]=druz[i];
		indeksi[i] = i;
	}
	for(int i = 0; i<m*2; i+=2)
	{
		scanf("%d%d", &parovi[i], &parovi[i+1]);
		pozitiv[i/2] = 0;
	}
	selectionSort(druz, n, indeksi);
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < m; j++)
		{
			if(parovi[j*2] == indeksi[i] || parovi[j*2+1] == indeksi[i])
			{
				if(pozitiv[j] == 0)
					if(druzenje[indeksi[i]-1]>0)
						pozitiv[j] = 1;
					else
						pozitiv[j] = -1;
			}
		}
	}
	long int s = 0;
	for(int i = 0; i<m*2; i+=2)
	{
		s+= pozitiv[i/2]*druzenje[parovi[i]-1];
		s+= pozitiv[i/2]*druzenje[parovi[i+1]-1];
	}
	printf("%d",s);
}