#include<iostream>
#include<cstdlib>
using namespace std;

bool jif(int t, int x_0, int x_1, int y_0, int y_1);

int main(){
  
  int N;
  int x[110000]={0};
  int y[110000]={0};
  int t[110000]={0};

  bool judge=true;
  
  cin >> N;
  for(int i=1;i<=N;i++) cin >> t[i] >> x[i] >> y[i];

  for(int i=0;i<N;i++){
     //Is it possible to reach from (i-1) to i?
     if(t < abs(x_0 - x_1) + abs(y_0 - y_1)){
       judge = false;
       break;
     }else{
       judge = judge && jif(t[i+1]-t[i],x[i+1],x[i],y[i+1],y[i]);
       if(judge==false) break;
    }
  }

  if(judge) cout << "Yes" << endl;
  else cout << "No" << endl;

  return 0;
}

bool jif(int t, int x_0, int x_1, int y_0, int y_1){
  if (t == 0 && x_0 == x_1 && y_0 == y_1)return true;
  else if(t == 0 && (x_0 != x_1 || y_0 != y_1 )) return false;
  else return jif(t-1, x_0-1, x_1, y_0, y_1) || jif(t-1, x_0, x_1-1, y_0, y_1) || jif(t-1, x_0, x_1, y_0-1, y_1) || jif(t-1, x_0, x_1, y_0, y_1-1);
}
