using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace takmicenje1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] unos = Console.ReadLine().Split();
            int N = int.Parse(unos[0]);
            int M = int.Parse(unos[1]);
            int[] druzeljubivost = new int[N];
            for (int i = 0; i < N; i++)
            {
                druzeljubivost[i] = int.Parse(Console.ReadLine());
            }
            int[,] poznanstva = new int[N, 2];
            for (int i = 0; i < M; i++)
            {
                unos = Console.ReadLine().Split();
                int osoba1 = int.Parse(unos[0]);
                int osoba2 = int.Parse(unos[1]);
                if (Math.Abs(druzeljubivost[osoba1 - 1]) > Math.Abs(druzeljubivost[osoba2 - 1]))
                {
                    if (druzeljubivost[osoba1 - 1] > 0)
                    {
                        poznanstva[osoba1 - 1, 0]++;
                        poznanstva[osoba2 - 1, 0]++;
                    }
                    else
                    {
                        poznanstva[osoba1 - 1, 1]++;
                        poznanstva[osoba2 - 1, 1]++;
                    }
                }
                else
                {
                    if (druzeljubivost[osoba2 - 1] > 0)
                    {
                        poznanstva[osoba2 - 1, 0]++;
                        poznanstva[osoba1 - 1, 0]++;
                    }
                    else
                    {
                        poznanstva[osoba2 - 1, 1]++;
                        poznanstva[osoba1 - 1, 1]++;
                    }
                }
            }
            int ukupnaSreca = 0;
            for (int i = 1; i <= N; i++)
            {
                ukupnaSreca += druzeljubivost[i - 1] * (poznanstva[i - 1, 0] - poznanstva[i - 1, 1]);
            }
            Console.WriteLine(ukupnaSreca);
        }
    }
}