#include <iostream>
#include <stack>
using namespace std;
char a[100000];
bool match(char x, char y)
{
switch(x)
{
case '(': return (y == ')');
case '[': return (y == ']');
case '{': return (y == '}');
}
}
bool check()
{
stack<char> b;
for(int i = 0; a[i]; i++)
{
if(a[i] == '(' && a[i] == '[' && a[i] == '{')
{
b.push(a[i]);
}
else
{
if(b.empty())
{
return false;
}
else if(match(b.top(), a[i]))
{
return true;
}
else
{
return false;
}
}
}
}
int main() {
cin >> a;
if(check())
{
cout << "yes";
}
else
{
cout << "no";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RhY2s+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNoYXIgYVsxMDAwMDBdOyAKCmJvb2wgbWF0Y2goY2hhciB4LCBjaGFyIHkpCnsKCXN3aXRjaCh4KQoJewoJCWNhc2UgJygnOiByZXR1cm4gKHkgPT0gJyknKTsKCQljYXNlICdbJzogcmV0dXJuICh5ID09ICddJyk7CgkJY2FzZSAneyc6IHJldHVybiAoeSA9PSAnfScpOwoJfQoJCn0KCmJvb2wgY2hlY2soKQp7CglzdGFjazxjaGFyPiBiOwoJZm9yKGludCBpID0gMDsgYVtpXTsgaSsrKQoJewoJCWlmKGFbaV0gPT0gJygnICYmIGFbaV0gPT0gJ1snICYmIGFbaV0gPT0gJ3snKQoJCXsKCQkJYi5wdXNoKGFbaV0pOwoJCX0KCQllbHNlCgkJewoJCQlpZihiLmVtcHR5KCkpCgkJCXsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQllbHNlIGlmKG1hdGNoKGIudG9wKCksIGFbaV0pKQoJCQl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCX0KfQoKaW50IG1haW4oKSB7CgljaW4gPj4gYTsKCWlmKGNoZWNrKCkpCgl7CgkJY291dCA8PCAieWVzIjsKCX0KCWVsc2UKCXsKCQljb3V0IDw8ICJubyI7Cgl9CglyZXR1cm4gMDsKfQ==