#include #include using namespace std; bool IsValid(string str) { int brOpen = 0; int brClose = 0; for (int i = 0; i < str.length(); i++) { if (str[i] == '[') brOpen++; if (str[i] == ']') brClose++; } if (brOpen != brClose) return false; brOpen = 0; brClose = 0; for (int i = 0; i < str.length(); i++) { if (str[i] == '<') brOpen++; if (str[i] == '>') brClose++; } if (brOpen != brClose) return false; brOpen = 0; brClose = 0; for (int i = 0; i < str.length(); i++) { if (str[i] == '{') brOpen++; if (str[i] == '}') brClose++; } if (brOpen != brClose) return false; brOpen = 0; brClose = 0; for (int i = 0; i < str.length(); i++) { if (str[i] == '(') brOpen++; if (str[i] == ')') brClose++; } if (brOpen != brClose) return false; return true; } bool isBracket(char bracket) { if (bracket == '{') return true; if (bracket == '(') return true; if (bracket == '[') return true; if (bracket == '<') return true; return false; } int main() { string strInput; cin >> strInput; if (!IsValid(strInput)) { cout << 0 << endl; return 0; } char normalBracket; char curlyBracket; char squareBracket; char cornerBracket; bool check = false; for (int i = 0; i < strInput.length(); i++) for (int j = i; j < strInput.length(); j++) { if (strInput[i] == '(') { normalBracket = strInput[i]; if (strInput[j] == ')') { check = true; strInput[i] = ' '; strInput[j] = ' '; continue; } else { } } if (strInput[i] == '{') { curlyBracket = strInput[i]; if (strInput[j] == '}') { check = true; strInput[i] = ' '; strInput[j] = ' '; continue; } else { } } if (strInput[i] == '[') { squareBracket = strInput[i]; if (strInput[j] == ']') { check = true; strInput[i] = ' '; strInput[j] = ' '; continue; } else { } } if (strInput[i] == '<') { cornerBracket = strInput[i]; if (strInput[j] == '>') { check = true; strInput[i] = ' '; strInput[j] = ' '; continue; } else { } } } cout << check << endl; return 0; }