import sys sys.setrecursionlimit(5*10**7) import math import bisect import heapq from collections import deque, defaultdict import random import itertools #from decimal import Decimal #from copy import copy, deepcopy #from sortedcontainers import SortedList # ------------------------------------------------- pin = sys.stdin.readline def ST(): return pin().rstrip() def IN(): return int(pin()) def IM(): return map(int, pin().split()) def IL(): return list(IM()) def SR(n:int)->list: return [pin().rstrip() for _ in range(n)] def IMatrix(n:int)->list: return [IL() for _ in range(n)] INF = 2*10**18+1 mod = 998244353 # ------------------------------------------------- #import pypyjit #pypyjit.set_param("max_unroll_recursion=-1") def pref_sum(L:list)->list: ret = [L[0]%2] for i in range(1, len(L)): ret.append((ret[-1]+L[i]) % 2) return ret N, Q = IM() ans = IL() for _ in range(Q): l, r = IM() ans[l-1] += 1 if r != N: ans[r-1] -= 1 ans = pref_sum(ans) for i in range(N): ans[i] += A[i] if ans[i] >= 2: ans[i] %= 2 print(*ans)