import java.util.*;

class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int N=sc.nextInt();
        int[] t=new int[N];
        int[] x=new int[N];
        int[] y=new int[N];
        for(int i=0;i<N;i++){
            t[i]=sc.nextInt();
            x[i]=sc.nextInt();
            y[i]=sc.nextInt();
        }
        int dx=0;
        int dy=0;
        int dt=0;
        for(int i=0;i<N;i++){
            if(i==0){
                dx=Math.abs(x[i]);
                dy=Math.abs(y[i]);
                dt=t[i];
                if(!(dx+dy<=dt && (((dx+dy)%2==0 && (dt%2)==0) || ((dx+dy)%2!=0 && (dt%2)!=0)))){
                    System.out.println("No");
                    System.exit(0);
                }
            }else{
                dx=Math.abs(x[i]-x[i-1]);
                dy=Math.abs(y[i]-y[i-1]);
                dt=t[i]-t[i-1];
                if(!(dx+dy<=dt && (((dx+dy)%2==0 && (dt%2)==0) || ((dx+dy)%2!=0 && (dt%2)!=0)))){
                    System.out.println("No");
                    System.exit(0);
                }
            }
        }
        System.out.println("Yes");
    }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz