#include <iostream>
#include <regex.h>
using namespace std;
int main()
{
regex_t regex;
int result = regcomp(®ex, "RESERVE [A-Z][a-z]*[A-Z][a-z]* [0-9]{7}", REG_EXTENDED);
if(result){
cout<<"ERROR"<<endl;
}
result = regexec(®ex, "RESERVE MrKim 1111111", 0, NULL, 0);
if(!result){
cout<<"MATCH: " << result <<endl;
}
else if(result == REG_NOMATCH){
cout<<"NO MATCH"<<endl;
}
else{
char msg[100];
regerror(result, ®ex, msg, 100);
cout<<msg<<endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXguaD4gCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICByZWdleF90IHJlZ2V4OwoKICAgIGludCByZXN1bHQgPSByZWdjb21wKCZyZWdleCwgIlJFU0VSVkUgW0EtWl1bYS16XSpbQS1aXVthLXpdKiBbMC05XXs3fSIsIFJFR19FWFRFTkRFRCk7ICAgIAogICAgaWYocmVzdWx0KXsKICAgICAgICBjb3V0PDwiRVJST1IiPDxlbmRsOwogICAgfQoKCiAgICByZXN1bHQgPSByZWdleGVjKCZyZWdleCwgIlJFU0VSVkUgTXJLaW0gMTExMTExMSIsIDAsIE5VTEwsIDApOwogICAgaWYoIXJlc3VsdCl7CiAgICAgICAgY291dDw8Ik1BVENIOiAiIDw8IHJlc3VsdCA8PGVuZGw7CiAgICB9CiAgICBlbHNlIGlmKHJlc3VsdCA9PSBSRUdfTk9NQVRDSCl7CiAgICAgICAgY291dDw8Ik5PIE1BVENIIjw8ZW5kbDsKICAgIH0KICAgIGVsc2V7CiAgICAgICAgY2hhciBtc2dbMTAwXTsKICAgICAgICByZWdlcnJvcihyZXN1bHQsICZyZWdleCwgbXNnLCAxMDApOwogICAgICAgIGNvdXQ8PG1zZzw8ZW5kbDsKICAgIH0KCn0=