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: /// ローカル環境なら _in.txt から入力を受ける
  fn read_input() -> String {
      use std::fs::File;
      use std::io::Read;
      let mut s = String::new();
      match option_env!("LOCAL") {
          Some(_) => File::open("src/_in.txt")
              .expect("File not found")
              .read_to_string(&mut s)
              .unwrap(),
          None => std::io::stdin().read_to_string(&mut s).unwrap(),
      };
      s
  }
  
  fn main() {
      let s = read_input();
      let mut ws = s.split_whitespace();
      let in_n: i32 = ws.next().unwrap().parse().unwrap();
      let mut txy: Vec<(i32, i32, i32)> = (0..in_n)
          .map(|_| {
              let t: i32 = ws.next().unwrap().parse().unwrap();
              let x: i32 = ws.next().unwrap().parse().unwrap();
              let y: i32 = ws.next().unwrap().parse().unwrap();
              (t, x, y)
          })
          .collect();
      txy.insert(0, (0, 0, 0));
  
      let mut ok = true;
      for window in txy.windows(2) {
          let ((t1, x1, y1), (t2, x2, y2)) = (window[0], window[1]);
          let dt = t2 - t1;
          let d = (x1 - x2).abs() + (y1 - y2).abs();
          ok &= dt >= d && (dt - d) % 2 == 0
      }
      println!("{}", if ok { "Yes" } else { "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"}]