#include <iostream>
#include <stdlib.h>
#include <vector>
using namespace std;

int main(int argc, const char * argv[]) {
    int N, M;
    cin>>N>>M;
    long long int A[N];
    int X[M],Y[M];

    /*for (auto i =0 ; i < N; i ++)
    {
        Takmicar t(i);
        takmicari.push_back(t);
    }*/
    for (auto i = 0 ; i < N; i ++)
    {
        cin>>A[i];
       /* takmicari[i].dodaj_druzeljubivost(A[i]);*/
    }
    
    for (auto i = 0 ; i < M; i ++)
    {
        cin>>X[i]>>Y[i];
       /* takmicari[X[i]-1].dodaj_odnos(Y[i]-1);
        takmicari[Y[i]-1].dodaj_odnos(X[i]-1);
        takmicari[X[i]-1].povecaj_odnose();
        takmicari[Y[i]-1].povecaj_odnose();*/
    }
    int Tip_Odnosa[M];
    int prijatelji[N];
    int neprijatelji[N];
    for (int i= 0 ; i < N ; i ++)
    {
        prijatelji[i]=0;
        neprijatelji[i]=0;
    }

    for (auto i = 0 ; i < M; i ++)
    {
        if ( abs(A[(X[i]-1)])>abs(A[(Y[i]-1)]))
        {
            if (A[X[i]-1]>=0)
            {
                Tip_Odnosa[i]=1;
                prijatelji[X[i]-1]++;
                prijatelji[Y[i]-1]++;
                continue;
            }
            else
            {
                Tip_Odnosa[i]=-1;
                neprijatelji[X[i]-1]++;
                neprijatelji[Y[i]-1]++;
                continue;
            }
        }
        else
        {
            if (A[Y[i]-1]>=0)
            {
                Tip_Odnosa[i]=1;
                prijatelji[X[i]-1]++;
                prijatelji[Y[i]-1]++;
                continue;
            }
            else
            {
                Tip_Odnosa[i]=-1;
                neprijatelji[X[i]-1]++;
                neprijatelji[Y[i]-1]++;
                continue;
            }
        }
    }
    long long int max_druzeljubivost=0;
    for (auto i = 0 ; i < N; i ++)
    {
        max_druzeljubivost+=A[i]*(prijatelji[i]-neprijatelji[i]);
       
    }

    cout<<max_druzeljubivost<<endl;
    
    
    return 0;
}