#include <bits/stdc++.h>

using namespace std;

void var (string ulaz, int k,vector <string> & prnpr, string izlaz="")
{
    if (k==0)
    {
        prnpr.push_back(izlaz);
        return;
    }
    else
    {
        for (int i=0;i<ulaz.size();i++)
        {
            var (ulaz,k-1,prnpr,izlaz+ulaz[i]);
        }
    }
}

int main()
{
    int n,m;
    cin>>n>>m;
    int prvi,drugi;
    long long maks=-99999999;
    long long druzeljubivost[n];
    int prijatelji1[m];
    int prijatelji2[m];
    for (int i=0;i<n;i++)
    {
        cin>>druzeljubivost[i];
    }
    for (int i=0;i<m;i++)
    {
        cin>>prvi;
        cin>>drugi;
        prijatelji1[i]=prvi;
        prijatelji2[i]=drugi;
    }
    vector <string> prnpr;
    var ("10",m,prnpr);
    pair <int, int> pn[n];
    string t;
    for (int j=0;j<prnpr.size();j++)
    {
        for (int i=0;i<n;i++)
        {
            pn[i].first=0;
            pn[i].second=0;
        }
        t=prnpr[j];
        for (int i=0;i<m;i++)
        {
            int prvi=prijatelji1[i];
            int drugi=prijatelji2[i];
            if (t[i]=='1')
            {
                pn[prvi-1].first++;
                pn[drugi-1].first++;
            }
             if (t[i]=='0')
            {
                pn[prvi-1].second++;
                pn[drugi-1].second++;
            }
        }
        long long s=0;
        for (int i=0;i<n;i++)
        {
            long long u=druzeljubivost[i]*(pn[i].first-pn[i].second);
            s=s+u;
        }
        if (s>maks)
            maks=s;
    }
    cout<<maks;
}