import java.util.Scanner; import java.util.*;

public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str = sc.next(); // 输出判断结果 System.out.println(solution(str)); } }

private static String solution(String str){
    // 将存在数字和点号以外的字符排除
    if(str.replaceAll("[0-9]|\\.","").length() > 0) return "NO";
    // 对字符串按点号进行切分
    String[] strs = str.split("\\.");
    // 非四组数据的为不合法,排除
    if(strs.length != 4) return "NO";
    
    for(String s : strs){
        // 空字符串排除
       if(s == null || s.length() == 0) return "NO";
        // 对01字样的进行筛除
        if(s.length() >= 2 && s.charAt(0) == '0') return "NO";
        int num = Integer.parseInt(s);
        
        if( num > 255 ){
          return "NO";
        }
    }
     return "YES" ;
}

}