#include<bits/stdc++.h>
#include<atcoder/maxflow>
using namespace atcoder;
using namespace std;
using ll=long long;

int main(){
    int N,Q;
    cin>>N>>Q;
    vector<int> A(N);
    for(int i=0;i<N;i++){
        cin>>A[i];
    }
    vector<int> D(N);
    for(int i=0;i<Q;i++){
        int L,R;
        cin>>L>>R;
        L--;
        D[L]++;
        if(R<N)D[R]++;
    }
    for(int i=1;i<N;i++)D[i]+=D[i-1];
    for(int i=0;i<N;i++)cout<<(A[i]+D[i])%2<<" \n"[i==N-1];
}