#include #include #include using namespace std; fstream fin("brackets.in", ios::in), fout("brackets.out", ios::out); string str; stack s; int br[8]; void check() { int flag = 1; int strLen = str.length(); for (int i = 0; i < strLen; i++) { if(str[i]>='a' && str[i] <='z') continue; if (str[i] == '{') br[0]++; else if (str[i] == '}') br[1]++; else if (str[i] == '(') br[2]++; else if (str[i] == ')') br[3]++; else if (str[i] == '[') br[4]++; else if (str[i] == ']') br[5]++; else if (str[i] == '<') br[6]++; else if (str[i] == '<') br[7]++; } for (int i = 0; i < 6; i += 2) { if (br[i] != br[i+1]) { fout << 0 << endl; flag = 0; break; } } if (flag) { for (int i = 0; i < str.length(); i++) { if(str[i]>='a' && str[i] <='z') continue; if (str[i] == '{' || str[i] == '(' || str[i] == '[' || str[i] == '<') s.push(str[i]); else { if ((s.top() == '{' && str[i] == '}') || (s.top() == '(' && str[i] == ')') || (s.top() == '[' && str[i] == ']') || (s.top() == '<' && str[i] == '>')) s.pop(); else { fout << 0 << endl; flag = 0; break; } } } } if (flag) fout << 1 << endl; } int main() { fin >> str; check(); return 0; }