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: N=int(input())
  
  T=[]
  X=[]
  Y=[]
  for i in range(N):
      t,x,y=map(int, input().split())
      T.append(t)
      X.append(x)
      Y.append(y)
  
  flag=0
  for i in range(N):
      if i==0:
          if T[i]<X[i]+Y[i] or (X[i]!=0 and Y[i]!=0 and T[i]%(X[i]+Y[i])!=0):
              flag=1
              break
          if (X[i]==Y[i]==0 and T[i]%2!=0) or (((X[i]==1 and Y[i]==0) or (X[i]==0 and Y[i]==1)) and T[i]%2!=1):
              flag=1
              break
      else:
      if T[i]-T[i-1]<(X[i]-X[i-1])+(Y[i]-Y[i-1]) or (X[i]-X[i-1]!=0 and Y[i]-Y[i-1]!=0 and T[i]-T[i-1]%((X[i]-X[i-1])+(Y[i]-Y[i-1]))!=0):
          flag=1
          break
      if (X[i]-X[i-1]==Y[i]-Y[i-1]==0 and T[i]%2!=0) or (((X[i]-X[i-1]==1 and Y[i]-Y[i-1]==0) or (X[i]-X[i-1]==0 and Y[i]-Y[i-1]==1)) and T[i]-T[i-1]%2!=1):
          flag=1
          break
  
  if flag==0:
      print("Yes")
  else:
      print("No")
  
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"}]