#include <iostream>
#include <string>
#include <array>
#include <cstring>
#include <cassert>
template<class e, class t, int N>
std::basic_istream<e,t>& operator>>(std::basic_istream<e,t>& in, const e(&str_lit)[N]) {
std::array<e, N-1> buffer; //get buffer
in >> std::ws; //skips whitespace
if (N)
in.read(&buffer[0], N-1); //read the rest
if (strncmp(&buffer[0], str_lit, N-1)) //if it failed
in.setstate(in.rdstate() | std::ios::badbit); //set the state
return in;
}
template<class e, class t>
std::basic_istream<e,t>& operator>>(std::basic_istream<e,t>& in, const e& char_lit) {
e buffer; //get buffer
in >> buffer; //read data
if (buffer != char_lit) //if it failed
in.setstate(in.rdstate() | std::ios::badbit); //set the state
return in;
}
//redirect mutable char arrays to their normal function
template<class e, class t, int N>
std::basic_istream<e,t>& operator>>(std::basic_istream<e,t>& in, e(&carray)[N]) {
return std::operator>>(in, carray);
}
int main()
{
std::string s;
if (std::cin >> '(' >> s >> ')')
std::cout << "SUCCEED";
else
std::cout << "FAIL";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDxjc3RyaW5nPgojaW5jbHVkZSA8Y2Fzc2VydD4KIAp0ZW1wbGF0ZTxjbGFzcyBlLCBjbGFzcyB0LCBpbnQgTj4Kc3RkOjpiYXNpY19pc3RyZWFtPGUsdD4mIG9wZXJhdG9yPj4oc3RkOjpiYXNpY19pc3RyZWFtPGUsdD4mIGluLCBjb25zdCBlKCZzdHJfbGl0KVtOXSkgewogICAgc3RkOjphcnJheTxlLCBOLTE+IGJ1ZmZlcjsgLy9nZXQgYnVmZmVyCiAgICBpbiA+PiBzdGQ6OndzOyAvL3NraXBzIHdoaXRlc3BhY2UKICAgIGlmIChOKSAgICAgICAgCiAgICAgICAgaW4ucmVhZCgmYnVmZmVyWzBdLCBOLTEpOyAvL3JlYWQgdGhlIHJlc3QKICAgIGlmIChzdHJuY21wKCZidWZmZXJbMF0sIHN0cl9saXQsIE4tMSkpIC8vaWYgaXQgZmFpbGVkCiAgICAgICAgaW4uc2V0c3RhdGUoaW4ucmRzdGF0ZSgpIHwgc3RkOjppb3M6OmJhZGJpdCk7IC8vc2V0IHRoZSBzdGF0ZQogICAgcmV0dXJuIGluOwp9CnRlbXBsYXRlPGNsYXNzIGUsIGNsYXNzIHQ+CnN0ZDo6YmFzaWNfaXN0cmVhbTxlLHQ+JiBvcGVyYXRvcj4+KHN0ZDo6YmFzaWNfaXN0cmVhbTxlLHQ+JiBpbiwgY29uc3QgZSYgY2hhcl9saXQpIHsKICAgIGUgYnVmZmVyOyAgLy9nZXQgYnVmZmVyCiAgICBpbiA+PiBidWZmZXI7IC8vcmVhZCBkYXRhCiAgICBpZiAoYnVmZmVyICE9IGNoYXJfbGl0KSAvL2lmIGl0IGZhaWxlZAogICAgICAgIGluLnNldHN0YXRlKGluLnJkc3RhdGUoKSB8IHN0ZDo6aW9zOjpiYWRiaXQpOyAvL3NldCB0aGUgc3RhdGUKICAgIHJldHVybiBpbjsKfQovL3JlZGlyZWN0IG11dGFibGUgY2hhciBhcnJheXMgdG8gdGhlaXIgbm9ybWFsIGZ1bmN0aW9uCnRlbXBsYXRlPGNsYXNzIGUsIGNsYXNzIHQsIGludCBOPgpzdGQ6OmJhc2ljX2lzdHJlYW08ZSx0PiYgb3BlcmF0b3I+PihzdGQ6OmJhc2ljX2lzdHJlYW08ZSx0PiYgaW4sIGUoJmNhcnJheSlbTl0pIHsKCXJldHVybiBzdGQ6Om9wZXJhdG9yPj4oaW4sIGNhcnJheSk7Cn0KIAppbnQgbWFpbigpCnsKCXN0ZDo6c3RyaW5nIHM7CiAgICAgICAgaWYgKHN0ZDo6Y2luID4+ICcoJyA+PiBzID4+ICcpJykKICAgICAgICAgICAgc3RkOjpjb3V0IDw8ICJTVUNDRUVEIjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiRkFJTCI7Cn0=