#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define loop(i,a,b) for(int i=a;i pii; typedef vector vi; typedef vector vvi; typedef vector vp; typedef vector vvp; typedef vector vs; typedef vector vd; typedef tuple tp; typedef vector vt; typedef vector vvd; typedef pair pip; typedef vectorvip; const double PI=acos(-1); const double EPS=1e-7; const int inf=1e9; const ll INF=2e18; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int main(){ int n,m; cin>>n>>m; vi in(n); rep(i,n)cin>>in[i]; vvi fl(n,vi(2)); bool h=false; rep(i,m){ int a,b; cin>>a>>b; a--;b--; if(in[a]==in[b])continue; int t=in[a]>in[b]?0:1; if(fl[a][t ]&&fl[a][t ]!=in[b])h=true; if(fl[b][t^1]&&fl[b][t^1]!=in[a])h=true; fl[a][t ]=in[b]; fl[b][t^1]=in[a]; } if(h)cout<<"YES"<