#include <bits/stdc++.h>
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++) {
    judge = judge && jif(t[i + 1] - t[i], x[i + 1], x[i], y[i + 1], y[i]);
  }
  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 < abs(x_0 - x_1) + abs(y_0 - y_1))
    return false;
  else 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);
}
