#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
stack < char > st;
bool was = true;
int ans = 0;
cin >> s;
int i = 0;
while (i < s.size()){
if (s[i] != '(' && s[i] != '{' && s[i] != '[' && s[i] != '<')
s.erase(i,1), i--;
else
if (s[i] != ')' && s[i] != '}' && s[i] != ']' && s[i] != '>')
s.erase(i,1), i--;
cout << s << endl;
i++;
}
for (int i = 0; i < s.size(); i++){
if (s[i] == '(' || s[i] == '{' || s[i] == '[' || s[i] == '<') st.push(s[i]);
else
if (!st.empty() && s[i] == ')' && st.top() == '(' )
st.pop();
else
if (!st.empty() && s[i] == '}' && st.top() == '{' )
st.pop();
else
if (!st.empty() &&s[i] == ']' && st.top() == '[')
st.pop();
else
if (!st.empty() && s[i] == '>' && st.top() == '<')
st.pop();
else
was = false;
}
if (was == false) cout << "NO", exit(0);
if (st.empty())
cout << "YES" ;
else
cout << "NO";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAgCiAgICBpbnQgbWFpbigpIHsKICAgIHN0cmluZyBzOwogICAgc3RhY2sgPCBjaGFyID4gc3Q7CiAgICBib29sIHdhcyAgPSB0cnVlOwogICAgaW50IGFucyA9IDA7CiAgICAKICBjaW4gPj4gczsKICBpbnQgaSA9IDA7CiAgIHdoaWxlIChpIDwgcy5zaXplKCkpewogICAgICBpZiAoc1tpXSAhPSAnKCcgJiYgc1tpXSAhPSAneycgJiYgc1tpXSAhPSAnWycgJiYgc1tpXSAhPSAnPCcpIAogICAgICAgIHMuZXJhc2UoaSwxKSwgaS0tOwogICAgICAgIGVsc2UKICAgICAgaWYgKHNbaV0gIT0gJyknICYmIHNbaV0gIT0gJ30nICYmIHNbaV0gIT0gJ10nICYmIHNbaV0gIT0gJz4nKSAKICAgICAgcy5lcmFzZShpLDEpLCBpLS07CiAgICAJY291dCA8PCBzIDw8IGVuZGw7ICAKICAgICAgaSsrOwogICAgfQogICAgCiAgICBmb3IgKGludCBpID0gMDsgaSA8IHMuc2l6ZSgpOyBpKyspewogICAgCiAgICAgIGlmIChzW2ldID09ICcoJyB8fCBzW2ldID09ICd7JyB8fCBzW2ldID09ICdbJyB8fCBzW2ldID09ICc8Jykgc3QucHVzaChzW2ldKTsKICAgICAgCiAgICAgIGVsc2UKICAgICAgaWYgKCFzdC5lbXB0eSgpICYmIHNbaV0gPT0gJyknICYmIHN0LnRvcCgpID09ICcoJyApCiAgICAgICAgc3QucG9wKCk7CiAgICAgIGVsc2UKICAgICAgaWYgKCFzdC5lbXB0eSgpICYmIHNbaV0gPT0gJ30nICYmIHN0LnRvcCgpID09ICd7JyApCiAgICAgICAgc3QucG9wKCk7CiAgICAgIGVsc2UKICAgICAgaWYgKCFzdC5lbXB0eSgpICYmc1tpXSA9PSAnXScgJiYgc3QudG9wKCkgPT0gJ1snKQogICAgICAgIHN0LnBvcCgpOwogICAgICBlbHNlCiAgICAgICAgaWYgKCFzdC5lbXB0eSgpICYmIHNbaV0gPT0gJz4nICYmIHN0LnRvcCgpID09ICc8JykKICAgICAgICAgIHN0LnBvcCgpOwogICAgICBlbHNlCiAgICAgICAgd2FzID0gZmFsc2U7ICAgCiAgICAgIAogICAgICB9IAogICAgIAogICAgICAgICAgCiAgaWYgKHdhcyA9PSBmYWxzZSkgY291dCA8PCAiTk8iLCBleGl0KDApOwogIAogIGlmIChzdC5lbXB0eSgpKQogICAgY291dCA8PCAiWUVTIiA7CiAgZWxzZQogICAgIGNvdXQgPDwgIk5PIjsKIH0=