#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;

int main()
{   int N,M,nizN[10000],nizM[10000];
    cin >> N >> M;
    int suma=0;
    for(int i=1;i<=N;i++)cin >> nizN[i];
    for(int i=0;i<M*2;i++)cin >> nizM[i];
    // prvi for prolazak za negativne samo
    for(int i=1;i<=N;i++){
        if(nizN[i]<0){
            //brojac neprijatelja
            int brojac=0;
            for(int j=0;j<M*2;j++){
                //trazimo parove
                if(i==abs(nizM[j])){
                    // proverava se indeks da bi se znao sa koje strane je par
                    if(j%2==0){
                        nizM[j+1]=-nizM[j+1];
                    }
                    else{
                        nizM[j-1]=-nizM[j-1];
                    }
                    brojac++;
                }
            }
            suma+=nizN[i]*(-brojac);
           
        }
    }
    for(int i=1;i<=N;i++){
        if(nizN[i]>=0){
            //brojac prijatelja i neprijatelja
            int brojacp=0,brojacn=0;
            for(int j=0;j<M*2;j++){
                //trazimo parove
                if(i==abs(nizM[j])){
                    //proverava se indeks da bi se znao sa koje strane je par
                    if(j%2==0){
                        if(nizM[j+1]<0||nizM[j]<0)brojacn++;
                        else brojacp++;
                        
                    }
                    else {
                        if(nizM[j-1]<0||nizM[j]<0)brojacn++;
                        else brojacp++;
                    }
                }
            }
            suma+=nizN[i]*(brojacp-brojacn);
           
        }
    }
    cout << suma;

    return 0;
}