#include <stdio.h>
#include <stdbool.h>
#include <ctype.h>
bool valid(int i) {
if(i >= 0 && i <= 255) return true;
return false;
}
int main() {
int i1,i2,i3,i4;
char ip[20];
while (fgets(ip, sizeof(ip), stdin) != NULL) {
int count = 0;
int otherchar = 0;
int startnum = 0;
int isstart = 1;
int startwithzero = 0;
for(int i = 0; ip[i] != '\n' && ip[i] != '\0'; i++) {
if(ip[i] == '.') {
count++;
isstart = 1;
}
else if(!isdigit(ip[i])) {
otherchar = 1;
} else {
if(isstart && (i + 1 != '\n') && (i + 1 != '\0')) {
if(ip[i] == '0' && isdigit(ip[i + 1])) {
startwithzero = 1;
}
}
isstart = 0;
}
}
if(count != 3 || otherchar == 1 || startwithzero == 1) {
printf("NO\n");
continue;
}
sscanf(ip,"%d.%d.%d.%d", &i1, &i2, &i3, &i4);
if(valid(i1) && valid(i2) && valid(i3) && valid(i4)) {
printf("YES\n");
} else{
printf("NO\n");
}
}
return 0;
}