program C086
    implicit none
    integer(8) :: N
    integer(8), allocatable, dimension(:) :: t, x, y
    integer(8) :: i, d, ju, dt 

    read(5,*) N
    allocate(t(N))
    allocate(x(N))
    allocate(y(N))
    do i = 1, N
        read(5,*) t(i), x(i), y(i)
    end do

    ju = 0
    d = x(1) + y(1)
    if (d<=t(1)) then
        if (mod(t(1)-d,2)/=0) then
            ju = ju + 1
        end if
    else
        ju = ju + 1
    end if

    do i = 2, N
        d = abs(x(i)-x(i-1)) + abs(y(i)-y(i-1))
        dt = t(i) - t(i-1)
        if (d<=dt) then
            if (mod(dt-d,2)/=0) then
                ju = ju + 1
            end if
        else
            ju = ju + 1
        end if


    end do

    if (ju == 0) then
        write(6,*) "Yes"
    else
        write(6,*) "No"
    end if

    





    
end program C086