using System;
namespace Prijatelji
{
    struct Prijatelji
    {
        public int sreca;
        public int poznaje;
    }
    class Program
    {
        static void Main(string[] args)
        {
            string[] nm = Console.ReadLine().Split();
            int n = int.Parse(nm[0]);
            int m = int.Parse(nm[1]);

            Prijatelji[] takmicar = new Prijatelji[n];
            for (int i = 0; i < n; i++)
            {
                takmicar[i].sreca = int.Parse(Console.ReadLine());
                takmicar[i].poznaje = 0;
            }
            for (int i = 0; i < m; i++)
            {
                string[] par = Console.ReadLine().Split();
                int x = int.Parse(par[0]);
                int y = int.Parse(par[1]);
                takmicar[x - 1].poznaje++;
                takmicar[y - 1].poznaje++;
            }
            int zbir_prijatelji = 0, zbir_neprijatelji = 0;
            for (int i = 0; i < n; i++)
            {
                zbir_prijatelji += takmicar[i].sreca * takmicar[i].poznaje;
                zbir_neprijatelji += takmicar[i].sreca * (takmicar[i].poznaje * -1);
            }
            Console.WriteLine(Math.Max(zbir_prijatelji, zbir_neprijatelji));
        }
    }
}