#define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; #include using namespace std; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); int n,m; cin>>n>>m; vector H(n+1); rep(i,n) cin>>H[i+1]; vector X(m),Y(m); rep(i,m) cin>>X[i]>>Y[i]; vector> dp(n+1,vector(2,-1)); vector> G(n+1); rep(i,m) G[X[i]].push_back(Y[i]); dp[1][0]=0; for(int i=1;i> dp1(n+1,vector(2,-1)); vector> G1(n+1); rep(i,m) G1[Y[i]].push_back(X[i]); dp1[n][0]=0; for(int i=n;i>1;i--){ for(auto nx:G1[i]){ if(H[i]