#include <cstdio>
#include <cstring>
bool func(char * str, int kol){
for (int i = 0; i < kol; i++){
if (str[i] == ')'){
for (int j = i - 1; j >= 0; j--){
if (str[j] == '('){
str[i] = str[j] = '*';
func(str, kol);
break;
}
if (str[j] == '{'){
printf("ERROR");
return false;
}
}
}
if (str[i] == '}'){
for (int j = i - 1; j >= 0; j--){
if (str[j] == '{'){
str[i] = str[j] = '*';
func(str, kol);
break;
}
if (str[j] == '('){
printf("ERROR");
return false;
}
}
}
}
return true;
}
int main(void) {
char test[] = "(";
printf("%s", (func(test, strlen(test))) ? "OK" : "FAIL");
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNzdHJpbmc+Cgpib29sIGZ1bmMoY2hhciAqIHN0ciwgaW50IGtvbCl7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IGtvbDsgaSsrKXsKICAgICAgICBpZiAoc3RyW2ldID09ICcpJyl7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBpIC0gMTsgaiA+PSAwOyBqLS0pewogICAgICAgICAgICAgICAgaWYgKHN0cltqXSA9PSAnKCcpewogICAgICAgICAgICAgICAgICAgIHN0cltpXSA9IHN0cltqXSA9ICcqJzsKICAgICAgICAgICAgICAgICAgICBmdW5jKHN0ciwga29sKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChzdHJbal0gPT0gJ3snKXsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkVSUk9SIik7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoc3RyW2ldID09ICd9Jyl7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBpIC0gMTsgaiA+PSAwOyBqLS0pewogICAgICAgICAgICAgICAgaWYgKHN0cltqXSA9PSAneycpewogICAgICAgICAgICAgICAgICAgIHN0cltpXSA9IHN0cltqXSA9ICcqJzsKICAgICAgICAgICAgICAgICAgICBmdW5jKHN0ciwga29sKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChzdHJbal0gPT0gJygnKXsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkVSUk9SIik7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCmludCBtYWluKHZvaWQpIHsKCWNoYXIgdGVzdFtdID0gIigiOwoJcHJpbnRmKCIlcyIsIChmdW5jKHRlc3QsIHN0cmxlbih0ZXN0KSkpID8gIk9LIiA6ICJGQUlMIik7CglyZXR1cm4gMDsKfQ==