#include <stdio.h>
#include <stdlib.h>
int** alocirajmatricu(int n, int m)
{
  int** a=(int**)malloc(n*sizeof(int*));
  for(int i=0;i<n;i++)
    a[i]=(int*)malloc(m*sizeof(int));
  return a;
}
int** ucitaj(int n, int m)
{
  int** a=alocirajmatricu(n,m);
  int i,j;
  for(i=0;i<n;i++)
    for(j=0;j<m;j++) scanf("%d", &a[i][j]);
  return a;
}
void oslobodi(int** a, int n)
{
  for(int i=0;i<n;i++)
  {
    free(a[i]);
    a[i]=NULL;
  }
}
int main(void) 
{
  int n,m,i,x,y,sreca=0;
  scanf("%d%d", &n, &m);
  int* a=(int*)malloc(n*sizeof(int));
  for(i=0;i<n;i++)
    scanf("%d", &a[i]);
  int** b=ucitaj(m,2);
  for(i=0;i<m;i++)
  {
    x=b[i][0]-1;
    y=b[i][1]-1;
    if(a[x]>=0 && a[y]>=0)
      sreca+=a[x]+a[y];
    if(a[x]>=0 && a[y]<0)
    {
      if(a[x]>=0-a[y])
        sreca+=a[x]+a[y];
      else
        sreca-=a[x]+a[y];
    }
    if(a[x]<0 && a[y]>=0)
    {
      if(a[y]>=0-a[x])
        sreca+=a[x]+a[y];
      else
        sreca-=a[x]+a[y];
    }
    if(a[x]<0 && a[y]<0)
      sreca-=a[x]+a[y];
  }
  oslobodi(b,m);
  free(a);
  a=NULL;
  printf("%d", sreca);
}