#include <iostream> #include <vector> #include <cstring> using namespace std; int main() { string s; while (getline(cin, s)) { vector<string> strs; char tmp[101]; #pragma warning(disable : 4996) strcpy(tmp, s.c_str()); #pragma warning(disable : 4996) char* tokens = strtok(tmp, "."); while (tokens) { strs.push_back(tokens); #pragma warning(disable : 4996) tokens = strtok(NULL, "."); } bool isAble = true; if (strs.size() != 4) { isAble = false; } else { for (auto s : strs) { if (s.size() > 1 && (s[0] - '0' < 1)) { isAble = false; break; } int i = stoi(s); if (i < 0 || i > 255) { isAble = false; break; } } } cout << (isAble ? "YES" : "NO") << endl; } }