N, Q = map(int, input().split()) A = list(map(int, input().split())) c = [0] * (N + 1) # xor版いもす法 for _ in range(Q): L, R = map(int, input().split()) c[L - 1] ^= 1 c[R] ^= 1 for i in range(N): c[i + 1] ^= c[i] print(*[c[i] ^ A[i] for i in range(N)])