output_description: If AtCoDeer can carry out his plan, print `Yes`; if he cannot, print `No`.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      t_1 x_1 y_1
      t_2 x_2 y_2
      :
      t_N x_N y_N
attempt: #13 C - Traveling
  N = int(input())
  
  plan = []
  for _ in range(N):
      ti,xi,yi = map(int,input().split())
      plan.append((ti,xi,yi))
      
  #今いる場所の座標と時間
  spot = (0,0,0)#始点
  result = 'Yes'
  for t,x,y in plan:
      tdiff = t-spot[0]
      xdiff = abs(x-spot[1])
      ydiff = abs(y-spot[2])
      #(x,y)の変化量の和の偶奇と時間の差の偶奇が一致している
      #時間の変化量より(x,y)の変化量の方が小さい
      if (tdiff%2 == (xdiff+ydiff)%2) and ((xdiff + ydiff)<=tdiff):
      '''
      xdiff<=tdiff and ydiff<=t だと(3,3,2)などの範囲外に対応できない
      if (tdiff%2 == (xdiff+ydiff)%2) and (xdiff<=tdiff) and (ydiff<=tdiff):
      '''
          spot = (t,x,y)
      else:
          result = 'No'
          break
  print(result)
problem_description: Statement
  
  AtCoDeer the deer is going on a trip in a two-dimensional plane. In his plan,
  he will depart from point (0, 0) at time 0, then for each i between 1 and N
  (inclusive), he will visit point (x_i,y_i) at time t_i.
  
  If AtCoDeer is at point (x, y) at time t, he can be at one of the following
  points at time t+1: (x+1,y), (x-1,y), (x,y+1) and (x,y-1). Note that **he
  cannot stay at his place**. Determine whether he can carry out his plan.
samples: [{"input": "2\n    3 1 2\n    6 1 1", "output": "Yes\n    \n\nFor example, he can travel as follows: (0,0), (0,1), (1,1), (1,2), (1,1),\n(1,0), then (1,1).\n\n* * *"}, {"input": "1\n    2 100 100", "output": "No\n    \n\nIt is impossible to be at (100,100) two seconds after being at (0,0).\n\n* * *"}, {"input": "2\n    5 1 1\n    100 1 1", "output": "No"}]