#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 t[3]; int n,m; vi in; vvi G; void dfs(int a,int b,int c){ t[c]=in[a]; if(c==2){ if(t[0]t[1]&&t[2]>t[1]&&t[0]!=t[2]){ cout<<"YES"<>n>>m; in=vi(n); rep(i,n)cin>>in[i]; G=vvi(n); rep(i,m){ int a,b; cin>>a>>b; a--;b--; G[a].pb(b); G[b].pb(a); } rep(i,n)dfs(i,-1,0); cout<<"NO"<