#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
   string str;
   vector<string> vec;
   while(getline(cin,str,'.')){
   vec.push_back(str);}
   int flag=1;
   
   for(int i=0;i<vec.size();i++){
    if(vec[i]=="" || vec[i]=="\n")flag=0;
   }
   
    if(vec.size()!=4){
        flag=0;
      }
    else {
    for(int i=0;i<vec.size();i++){
        if(vec[i].size()>1 && i!=3){if(vec[i][0]>'9' ||vec[i][0]<='0')flag=0;
        }
        if((vec[3][0]<='0'||vec[3][0]>'9' )&& vec[3].size()>2)flag=0;
      int ip=  atoi(vec[i].c_str());
      if(ip<0 || ip>255){
        flag=0;
        break;}
        }
    }
   if(flag) cout<<"YES"<<endl;else  cout<<"NO"<<endl;
}
// 64 位输出请用 printf("%lld")