#include using namespace std; using LL=long long; #define R(i,n) for(int i=0; i<(n); i++) using V=vector; V v(1e6); LL rt(LL a){ return v[a]!=a?v[a]=rt(v[a]):a; } int main(){ LL n,q; cin>>n>>q; V A(n+1); R(i,n) cin>>A[i]; R(i,n) if(i%2) A[i]*=-1; R(i,n) A[n-i]-=A[n-i-1]; R(i,n) v[i]=i; R(i,q){ LL l,r; cin>>l>>r; v[rt(--l)]=rt(r); } V S(n); R(i,n) S[v[rt(i)]]+=A[i]; LL ok=1; R(i,n) if(S[i]) ok=0; cout<<(ok?"YES\n":"NO\n"); return 0; }