import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n + 1];
        int[] x = new int[n + 1];
        int[] y = new int[n + 1];
        for(int i = 1;i <= n;i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        boolean isPossible = true;
        for(int i = 1;i <= n;i++) {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        }

        String ans = isPossible ? "Yes" : "No";
        System.out.println(ans);
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n + 1];
        int[] x = new int[n + 1];
        int[] y = new int[n + 1];
        for(int i = 1;i <= n;i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        boolean isPossible = true;
        for(int i = 1;i <= n;i++) {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        }

        String ans = isPossible ? "Yes" : "No";
        System.out.println(ans);
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n + 1];
        int[] x = new int[n + 1];
        int[] y = new int[n + 1];
        for(int i = 1;i <= n;i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        boolean isPossible = true;
        for(int i = 1;i <= n;i++) {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        }

        String ans = isPossible ? "Yes" : "No";
        System.out.println(ans);
    } main {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n + 1];
        int[] x = new int[n + 1];
        int[] y = new int[n + 1];
        for(int i = 1;i <= n;i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        boolean isPossible = true;
        for(int i = 1;i <= n;i++) {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        }

        String ans = isPossible ? "Yes" : "No";
        System.out.println(ans);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] t = new int[n + 1]; t new int[n + 1] n + 1 n 1 int[] x = new int[n + 1]; x new int[n + 1] n + 1 n 1 int[] y = new int[n + 1]; y new int[n + 1] n + 1 n 1 for(int i = 1;i <= n;i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        } int i = 1; int i = 1; i 1 i <= n i n i++ i++ i {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        } {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        } t[i] = sc.nextInt() t[i] t i sc.nextInt() sc.nextInt sc x[i] = sc.nextInt() x[i] x i sc.nextInt() sc.nextInt sc y[i] = sc.nextInt() y[i] y i sc.nextInt() sc.nextInt sc boolean isPossible = true; isPossible true for(int i = 1;i <= n;i++) {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        } int i = 1; int i = 1; i 1 i <= n i n i++ i++ i {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        } {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        } int dt = t[i] - t[i - 1]; dt t[i] - t[i - 1] t[i] t i t[i - 1] t i - 1 i 1 int dx = Math.abs(x[i] - x[i - 1]); dx Math.abs(x[i] - x[i - 1]) Math.abs Math x[i] - x[i - 1] x[i] x i x[i - 1] x i - 1 i 1 int dy = Math.abs(y[i] - y[i - 1]); dy Math.abs(y[i] - y[i - 1]) Math.abs Math y[i] - y[i - 1] y[i] y i y[i - 1] y i - 1 i 1 if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            } dx + dy > dt dx + dy dx dy dt {
                isPossible = false;
                break;
            } isPossible = false isPossible false break; if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            } dt % 2 == 0 dt % 2 dt 2 0 {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            } if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                } (dx + dy) % 2 != 0 (dx + dy) % 2 (dx + dy) dx dy 2 0 {
                    isPossible = false;
                    break;
                } isPossible = false isPossible false break; if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            } dt % 2 != 0 dt % 2 dt 2 0 {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            } if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                } (dx + dy) % 2 == 0 (dx + dy) % 2 (dx + dy) dx dy 2 0 {
                    isPossible = false;
                    break;
                } isPossible = false isPossible false break; String ans = isPossible ? "Yes" : "No"; ans isPossible ? "Yes" : "No" isPossible "Yes" "No" System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n + 1];
        int[] x = new int[n + 1];
        int[] y = new int[n + 1];
        for(int i = 1;i <= n;i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        boolean isPossible = true;
        for(int i = 1;i <= n;i++) {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        }

        String ans = isPossible ? "Yes" : "No";
        System.out.println(ans);
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n + 1];
        int[] x = new int[n + 1];
        int[] y = new int[n + 1];
        for(int i = 1;i <= n;i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        boolean isPossible = true;
        for(int i = 1;i <= n;i++) {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        }

        String ans = isPossible ? "Yes" : "No";
        System.out.println(ans);
    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n + 1];
        int[] x = new int[n + 1];
        int[] y = new int[n + 1];
        for(int i = 1;i <= n;i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        boolean isPossible = true;
        for(int i = 1;i <= n;i++) {
            int dt = t[i] - t[i - 1];
            int dx = Math.abs(x[i] - x[i - 1]);
            int dy = Math.abs(y[i] - y[i - 1]);

            if(dx + dy > dt) {
                isPossible = false;
                break;
            }
            else if(dt % 2 == 0) {
                if((dx + dy) % 2 != 0) {
                    isPossible = false;
                    break;
                }
            }
            else if(dt % 2 != 0) {
                if((dx + dy) % 2 == 0) {
                    isPossible = false;
                    break;
                }
            }
        }

        String ans = isPossible ? "Yes" : "No";
        System.out.println(ans);
    }
}