#include <iostream>
#include<math.h>

using namespace std;

struct Takmicar
{
int druzeljubivost;
int sreca;
int prijatelji;
int neprijatelji;
};


int main()
{

   int br_takmicara, br_parova;
   cin>>br_takmicara>>br_parova;
   int srecasvih=0;

   if(br_takmicara >= 100000 || br_takmicara <= 1)
   {
       cout<<"Operation failed. Value overflow."<<endl;
       return 0;
   }
   if(br_parova>= 100000 || br_parova<=1)
   {
       cout<<"Operation failed. Value overflow."<<endl;
       return 0;
   }

    Takmicar takmicar [br_takmicara];

     for(int i = 0; i<br_takmicara; i++)
     {
         cin>>takmicar[i].druzeljubivost;

         takmicar[i].sreca = 0;
         takmicar[i].prijatelji = 0;
         takmicar[i].neprijatelji = 0;
     }
    for(int j = 0; j < br_parova; j++)
    {
        int pom1 = 0, pom2= 0;
        cin>>pom1>>pom2;

        if(takmicar[pom1].druzeljubivost < 0 || takmicar[pom2].druzeljubivost < 0)
         {
            takmicar[pom1-1].neprijatelji++;
            takmicar[pom2-1].neprijatelji++;
         }
         else
         {
            takmicar[pom1-1].prijatelji++;
            takmicar[pom2-1].prijatelji++;
         }

    }
    for(int i = 0; i < br_takmicara;i++ )
    {
        takmicar[i].sreca = takmicar[i].druzeljubivost * (takmicar[i].prijatelji - takmicar[i].neprijatelji);
    }

    for(int i = 0; i < br_takmicara;i++)
    {
        srecasvih += takmicar[i].sreca;

    }

    cout<<srecasvih;
    return 0;
}