#include <stdio.h>
int main() {
char stack[1005];
int top = 0;
int ch;
int valid = 1;
while ((ch = getchar()) != EOF && ch != '\n' && ch != '\r') {
if (ch == '(' || ch == '[' || ch == '{') {
stack[top++] = ch;
} else if (ch == ')' || ch == ']' || ch == '}') {
if (top == 0) {
valid = 0;
break;
}
char last = stack[top - 1];
if ((ch == ')' && last == '(') ||
(ch == ']' && last == '[') ||
(ch == '}' && last == '{')) {
top--;
} else {
valid = 0;
break;
}
}
}
if (valid && top == 0) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}