let str;
while(str = readline()){
  console.log(unSafeIp(str.split('.')))
}

function unSafeIp(arr){
  //无效情况:1.根据.号分割后,输入的不是数字  2.根据.号分割后,数组的长度不等于4  3.根据.号分割后,数组有元素为空
  if(arr.length != 4){
    return 'NO';
  }else{
    for(let v of arr){
      if(isNaN(v) || v=='' || v<0 || v>255){
        return 'NO';
      }
    }
  }

  return 'YES';
}