#!/bin/bash -uvx

abs() {
    local x="$(cat -)"
    [ $x -ge 0 ] && echo $x || echo -$x
}

t=0
x=0
y=0
preX=0
preY=0
isSuccess=true
isFirst=true

while IFS=" " read ti xi yi; do
    if $isFirst ; then
        isFirst=false
        continue;
    fi

    : $ti $xi $yi

    leftTime=$((ti - t))

    # x座標移動できるか
    moveX=$((xi - x))
    absX=$(echo $moveX | abs)

    # y座標移動できるか
    moveY=$((yi - y))
    absY=$(echo $moveY | abs)

    # 移動可能確認
    ## 移動時間が足りているか
    abs=$((absX + absY))
    leftTime=$((leftTime - abs))
    if [ $leftTime -lt 0 ]; then
        isSuccess=false
        break;
    fi

    ## 移動時間が偶数秒なのに移動量が奇数だとダメ
    diffT=$((ti - t))
    if [ $((abs % 2)) != $((diffT % 2)) ]; then
        isSuccess=false
        break;
    fi

    # 現在地更新
    t=$ti
    x=$((x + moveX))
    y=$((y + moveY))
done

$isSuccess && echo "Yes" || echo "No"
