#include <bits/stdc++.h>
using namespace std;
int main()
{
    string str;
    cin>>str;
    regex reg("[^.]+");
    int iCount = 0;
    for(sregex_iterator i(str.begin(),str.end(),reg),end_i; i!=end_i; ++i)
    {
        string stp = i->str();
        if(stp.find('+') != -1 || stp.find('-') != -1 || (stp.length()!=1 && stp[0] == '0'))
        {       //有+ - 有开头无效0
            cout << "NO";
            return 0;
        }          
        stringstream ss; int itp;
        ss<<stp;  ss>>itp;
        if(itp>255)
        {
            cout << "NO";
            return 0;
        }   
        iCount++;
    }
    if(iCount == 4)
        cout << "YES";
    else cout << "NO";
    return 0;
}