//NiceDuck
#include "bits/stdc++.h"
typedef long long ll;
using namespace std;
#define FILE "000"
#define foru(i,a,b) for(int i=(int)(a); i<=(int)(b); ++i)
#define ford(i,a,b) for(int i=(int)(a); i>=(int)(b); --i)
#define fastio ios_base::sync_with_stdio(0);cin.tie(0);
#define pb push_back
#define fi first
#define se second
#define el "\n"
#define MASK(i) (1LL<<(i))
#define BIT(i,j) (((i)>>(j))&1)
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define LOG 20
const int MAX=4e5+5;
int n,m;
vector<int> adj[MAX];
ll val[MAX];
int compCount,compID[MAX];
ll compSum[MAX];
stack<int> st;
int timer,low[MAX],num[MAX];
bool inStack[MAX];
void tarjan(int u)
{
low[u]=num[u]=++timer;
st.push(u); inStack[u]=1;
for(int v:adj[u])
{
if(!num[v])
{
tarjan(v);
low[u]=min(low[u],low[v]);
}
else if(inStack[v])
{
low[u]=min(low[u],num[v]);
}
}
if(low[u]==num[u])
{
++compCount;
while(true)
{
int v=st.top(); st.pop();
inStack[v]=0;
compID[v]=compCount;
compSum[compCount]+=val[v];
if(v==u) break;
}
}
}
vector<int> adjTree[MAX];
int in[MAX];
ll f[MAX];
vector<int> topo;
void topoSort()
{
topo.pb(0);
queue<int> q;
foru(i,1,compCount)
{
if(!in[i]) q.push(i);
}
while(!q.empty())
{
int u=q.front(); q.pop();
topo.pb(u);
for(int v:adjTree[u])
{
--in[v];
if(!in[v]) q.push(v);
}
}
}
void calc()
{
f[compID[1]]=compSum[compID[1]];
foru(i,1,compCount)
{
int u=topo[i];
if(f[u]!=0)
{
for(int v:adjTree[u])
{
// cerr<<v<<el;
// cerr<<f[v]<<' '<<compSum[v]<<el;
f[v]=max(f[v],f[u]+compSum[v]);
}
}
}
cout<<f[compID[n]];
}
int main()
{
fastio
if(fopen(FILE ".inp","r"))
{
freopen(FILE ".inp","r",stdin); freopen(FILE ".out","w",stdout);
}
cin>>n>>m;
foru(i,1,n) cin>>val[i];
foru(i,1,m)
{
int u,v; cin>>u>>v;
adj[u].pb(v);
}
foru(i,1,n)
{
if(!num[i]) tarjan(i);
}
foru(i,1,n)
{
int u=compID[i];
for(int x:adj[i])
{
int v=compID[x];
if(u!=v)
{
adjTree[u].pb(v);
in[v]++;
}
}
}
topoSort();
calc();
return 0;
}
Ly9OaWNlRHVjawojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRklMRSAiMDAwIgojZGVmaW5lIGZvcnUoaSxhLGIpIGZvcihpbnQgaT0oaW50KShhKTsgaTw9KGludCkoYik7ICsraSkKI2RlZmluZSBmb3JkKGksYSxiKSBmb3IoaW50IGk9KGludCkoYSk7IGk+PShpbnQpKGIpOyAtLWkpCiNkZWZpbmUgZmFzdGlvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTsKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBNQVNLKGkpICgxTEw8PChpKSkKI2RlZmluZSBCSVQoaSxqKSAoKChpKT4+KGopKSYxKQojZGVmaW5lIFRJTUUgMS4wKmNsb2NrKCkvQ0xPQ0tTX1BFUl9TRUMKI2RlZmluZSBMT0cgMjAKCmNvbnN0IGludCBNQVg9NGU1KzU7CmludCBuLG07CnZlY3RvcjxpbnQ+IGFkaltNQVhdOwpsbCB2YWxbTUFYXTsKCmludCBjb21wQ291bnQsY29tcElEW01BWF07CmxsIGNvbXBTdW1bTUFYXTsKc3RhY2s8aW50PiBzdDsKaW50IHRpbWVyLGxvd1tNQVhdLG51bVtNQVhdOwpib29sIGluU3RhY2tbTUFYXTsKdm9pZCB0YXJqYW4oaW50IHUpCnsKICAgIGxvd1t1XT1udW1bdV09Kyt0aW1lcjsKICAgIHN0LnB1c2godSk7IGluU3RhY2tbdV09MTsKICAgIGZvcihpbnQgdjphZGpbdV0pCiAgICB7CiAgICAgICAgaWYoIW51bVt2XSkKICAgICAgICB7CiAgICAgICAgICAgIHRhcmphbih2KTsKICAgICAgICAgICAgbG93W3VdPW1pbihsb3dbdV0sbG93W3ZdKTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZihpblN0YWNrW3ZdKQogICAgICAgIHsKICAgICAgICAgICAgbG93W3VdPW1pbihsb3dbdV0sbnVtW3ZdKTsKICAgICAgICB9CiAgICB9CiAgICBpZihsb3dbdV09PW51bVt1XSkKICAgIHsKICAgICAgICArK2NvbXBDb3VudDsKICAgICAgICB3aGlsZSh0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHY9c3QudG9wKCk7IHN0LnBvcCgpOwogICAgICAgICAgICBpblN0YWNrW3ZdPTA7CiAgICAgICAgICAgIGNvbXBJRFt2XT1jb21wQ291bnQ7CiAgICAgICAgICAgIGNvbXBTdW1bY29tcENvdW50XSs9dmFsW3ZdOwogICAgICAgICAgICBpZih2PT11KSBicmVhazsKICAgICAgICB9CiAgICB9Cn0KCnZlY3RvcjxpbnQ+IGFkalRyZWVbTUFYXTsKaW50IGluW01BWF07CmxsIGZbTUFYXTsKdmVjdG9yPGludD4gdG9wbzsKdm9pZCB0b3BvU29ydCgpCnsKICAgIHRvcG8ucGIoMCk7CiAgICBxdWV1ZTxpbnQ+IHE7CiAgICBmb3J1KGksMSxjb21wQ291bnQpCiAgICB7CiAgICAgICAgaWYoIWluW2ldKSBxLnB1c2goaSk7CiAgICB9CiAgICB3aGlsZSghcS5lbXB0eSgpKQogICAgewogICAgICAgIGludCB1PXEuZnJvbnQoKTsgcS5wb3AoKTsKICAgICAgICB0b3BvLnBiKHUpOwogICAgICAgIGZvcihpbnQgdjphZGpUcmVlW3VdKQogICAgICAgIHsKICAgICAgICAgICAgLS1pblt2XTsKICAgICAgICAgICAgaWYoIWluW3ZdKSBxLnB1c2godik7CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIGNhbGMoKQp7CiAgICBmW2NvbXBJRFsxXV09Y29tcFN1bVtjb21wSURbMV1dOwogICAgZm9ydShpLDEsY29tcENvdW50KQogICAgewogICAgICAgIGludCB1PXRvcG9baV07CiAgICAgICAgaWYoZlt1XSE9MCkKICAgICAgICB7CiAgICAgICAgICAgIGZvcihpbnQgdjphZGpUcmVlW3VdKQogICAgICAgICAgICB7Ci8vICAgICAgICAgICAgICAgIGNlcnI8PHY8PGVsOwovLyAgICAgICAgICAgICAgICBjZXJyPDxmW3ZdPDwnICc8PGNvbXBTdW1bdl08PGVsOwogICAgICAgICAgICAgICAgZlt2XT1tYXgoZlt2XSxmW3VdK2NvbXBTdW1bdl0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgY291dDw8Zltjb21wSURbbl1dOwp9CgppbnQgbWFpbigpCnsKICAgIGZhc3RpbwogICAgaWYoZm9wZW4oRklMRSAiLmlucCIsInIiKSkKICAgIHsKICAgICAgICBmcmVvcGVuKEZJTEUgIi5pbnAiLCJyIixzdGRpbik7IGZyZW9wZW4oRklMRSAiLm91dCIsInciLHN0ZG91dCk7CiAgICB9CiAgICBjaW4+Pm4+Pm07CiAgICBmb3J1KGksMSxuKSBjaW4+PnZhbFtpXTsKICAgIGZvcnUoaSwxLG0pCiAgICB7CiAgICAgICAgaW50IHUsdjsgY2luPj51Pj52OwogICAgICAgIGFkalt1XS5wYih2KTsKICAgIH0KICAgIGZvcnUoaSwxLG4pCiAgICB7CiAgICAgICAgaWYoIW51bVtpXSkgdGFyamFuKGkpOwogICAgfQoKICAgIGZvcnUoaSwxLG4pCiAgICB7CiAgICAgICAgaW50IHU9Y29tcElEW2ldOwogICAgICAgIGZvcihpbnQgeDphZGpbaV0pCiAgICAgICAgewogICAgICAgICAgICBpbnQgdj1jb21wSURbeF07CiAgICAgICAgICAgIGlmKHUhPXYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGFkalRyZWVbdV0ucGIodik7CiAgICAgICAgICAgICAgICBpblt2XSsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgdG9wb1NvcnQoKTsKICAgIGNhbGMoKTsKCiAgICByZXR1cm4gMDsKfQo=