# from abs import math

n = int(eval(input()))

tmpt = 0

tmpx, tmpy = 0, 0

c = 0



def check(t, x, y):

    if t>=x+y and ( (t%2==0 and (x+y)%2==0) or (t%2==1 and (x+y)%2==1) ):

        return True

    else:

        return False



for i in range(n):

    t, x, y = list(map(int, input().split()))

    if x==tmpx and y==tmpy:

        break   



    target = t-tmpt

    tmpt = t

    t_x, t_y = abs(x-tmpx), abs(y-tmpy)

    tmpx = x

    tmpy = y

    if check(target, t_x, t_y):

        c+=1

    else:

        break



if n==c:

    print('Yes')

else:

    print('No')



# 最高で進んでもtを超えることはできない

# 1ターンにつき1進むので偶奇をみる



n = int(eval(input()))

pre = [0, 0, 0]  # time, x, y

for i in range(n):

    t, x, y = list(map(int, input().split()))

    t -= pre[0]

    x -= pre[1]

    y -= pre[2]

    if t < abs(x) + abs(y) or (abs(x) + abs(y)) % 2 != t % 2:

        print("No")

        exit()

    pre = [t, x, y]

print("Yes")
# from abs import math
n = int(eval(input()))
tmpt = 0
tmpx, tmpy = 0, 0
c = 0


def check(t, x, y):
    if t >= x + y and (
        (t % 2 == 0 and (x + y) % 2 == 0) or (t % 2 == 1 and (x + y) % 2 == 1)
    ):
        return True
    else:
        return False


for i in range(n):
    t, x, y = list(map(int, input().split()))
    if x == tmpx and y == tmpy:
        break
    target = t - tmpt
    tmpt = t
    t_x, t_y = abs(x - tmpx), abs(y - tmpy)
    tmpx = x
    tmpy = y
    if check(target, t_x, t_y):
        c += 1
    else:
        break
if n == c:
    print("Yes")
else:
    print("No")

# 最高で進んでもtを超えることはできない
# 1ターンにつき1進むので偶奇をみる
n = int(eval(input()))
pre = [0, 0, 0]  # time, x, y
for i in range(n):
    t, x, y = list(map(int, input().split()))
    t -= pre[0]
    x -= pre[1]
    y -= pre[2]
    if t < abs(x) + abs(y) or (abs(x) + abs(y)) % 2 != t % 2:
        print("No")
        exit()
    pre = [t, x, y]
print("Yes")

-# from abs import math +# 最高で進んでもtを超えることはできない +# 1ターンにつき1進むので偶奇をみる -tmpt = 0 -tmpx, tmpy = 0, 0 -c = 0 - - -def check(t, x, y): -    if t >= x + y and ( -        (t % 2 == 0 and (x + y) % 2 == 0) or (t % 2 == 1 and (x + y) % 2 == 1) -    ): -        return True -    else: -        return False - - +pre = [0, 0, 0]  # time, x, y -    if x == tmpx and y == tmpy: -        break -    target = t - tmpt -    tmpt = t -    t_x, t_y = abs(x - tmpx), abs(y - tmpy) -    tmpx = x -    tmpy = y -    if check(target, t_x, t_y): -        c += 1 -    else: -        break -if n == c: -    print("Yes") -else: -    print("No") +    t -= pre[0] +    x -= pre[1] +    y -= pre[2] +    if t < abs(x) + abs(y) or (abs(x) + abs(y)) % 2 != t % 2: +        print("No") +        exit() +    pre = [t, x, y] +print("Yes")