#include<bits/stdc++.h>
using namespace std;
bool mp[2501][2501];
int a[2501];
int main()
{
int n,m,q;
cin >> n >> m >> q;
for (int i=2;i<=n;++i)
{
cin >> a[i];
}
for(int i=1;i<=m;++i)
{
int u,v;
cin >> u >> v;
mp[u][v]=1;
mp[v][u]=1;
}
int ans=-1;
for (int i=2;i<=n;++i)
{
if (mp[1][i]==0) continue;
for (int j=2;j<=n;++j)
{
if (i==j||mp[i][j]==0) continue;
for (int k=2;k<=n;++k)
{
if (k==j||mp[k][j]==0) continue;
for (int l=2;l<=n;++l)
{
if (k==l||mp[k][l]==0||mp[l][1]==0) continue;
ans=max(ans,a[i]+a[j]+a[k]+a[l]);
}
}
}
}
cout << ans << endl;
return 0;
}