#include<stdio.h>
int is_ipv4(string ip)
{
int num = 0;
int dot_cnt = 0;
int num_cnt = 0;
int num_flag = 0;
for(int i=0; ip[i] != '\0'; ++i)
{
if(ip[i]>='0' && ip[i]<='9')
{
num = num*10 + (ip[i]-'0');
num_cnt++;
if(num_cnt > 3 || num > 255)
{
return 0;
}
num_flag = 1;
}
else if(ip[i] == '.')
{
if(ip[i+1] != '\0' && num_flag == 1)
{
num_cnt=0;
num = 0;
num_flag = 0;
dot_cnt++;
if(dot_cnt>3)
{
return 0;
}
}
else
{
return 0;
}
}
else
{
return 0;
}
}
if(dot_cnt < 3)
{
return 0;
}
return 1;
}
int is_ipv4(const char* in)
{
int sum = 0;
int flag = 1;
int dot_cnt = 0;
for(int i=0; in[i] != '\0'; ++i)
{
if(in[i] >= '0' && in[i] <= '9')
{
sum = sum*10 + (int)(in[i]-'0');
if(sum > 255)
{
return 0;
}
}
else if(in[i] == '.' && i>0 && in[i-1] !='.' && in[i+1] !='\0' && dot_cnt<=2)
{
sum = 0;
++dot_cnt;
}
else
{
return 0;
}
}
if(dot_cnt < 3)
{
return 0;
}
return 1;
}
int main()
{
char in[16]=".1.2.3.4";
//scanf("%s", in);
int flag = is_ipv4(in);
if(flag == 0)
{
printf("NO");
}
else
{
printf("YES");
}
}