#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")