#include using namespace std; typedef long long ll; ll n,m,b[100005],d[100005],s[100005]; ll fa[100005],sz[100005]; ll find(ll x) { if(fa[x]==x)return x; return fa[x]=find(fa[x]); } int main() { ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); cin>>n>>m; for(int i=1;i<=n;i++) { cin>>b[i]; if(i&1^1) b[i]=-b[i]; d[i]=b[i]-b[i-1]; fa[i]=i; sz[i]=1; } d[n+1]=-b[n],fa[n+1]=n+1,sz[n+1]=1; for(int i=1;i<=m;i++) { ll l,r; cin>>l>>r; ll fu=find(l),fv=find(r+1); if(fu!=fv) { if(sz[fu]>sz[fv])swap(fu,fv); fa[fu]=fv; sz[fv]+=sz[fu]; sz[fu]=0; } } for(int i=1;i<=n;i++) { ll fd=find(i); s[fd]+=d[i]; } for(int i=1;i<=n;i++) { if(find(i)==i&&s[i]!=0) { cout<<"NO"<