#include <algorithm>
#include <iomanip>
#include <complex>
#include "assert.h"
#include <cstdio>
#include <regex.h>
#include <stack>
#include <time.h>
#include <cstdlib>
#include <ctype.h>
#include <cctype>
#include <queue>
#include <cmath>
#include <iostream>
#include <sstream>
#include <string>
#include <cstring>
#include <utility>
#include <vector>
#include <map>
#include <numeric>
#include <set>
#include <unistd.h>
#include <bitset>
using namespace std;
int main(){
regex_t reg;
string pattern = "[^tpr]{2,}";
string str = "topcoder";
regmatch_t matches[1];
regcomp(®,pattern.c_str(),REG_EXTENDED|REG_ICASE);
if (regexec(®,str.c_str(),1,matches,0)==0) {
cout << "Match " ;
cout << str.substr(matches[0].rm_so,matches[0].rm_eo-matches[0].rm_so) ;
cout << " found starting at: " ;
cout << matches[0].rm_so ;
cout << " and ending at " ;
cout << matches[0].rm_eo ;
cout << endl;
} else {
cout << "Match not found.";
cout << endl;
}
regfree(®);
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxjb21wbGV4PgojaW5jbHVkZSAiYXNzZXJ0LmgiCiNpbmNsdWRlIDxjc3RkaW8+CiNpbmNsdWRlIDxyZWdleC5oPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8Y3R5cGUuaD4KI2luY2x1ZGUgPGNjdHlwZT4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxjc3RyaW5nPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPG51bWVyaWM+CiNpbmNsdWRlIDxzZXQ+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPGJpdHNldD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgppbnQgbWFpbigpewoKICAgICByZWdleF90IHJlZzsKCiAgICAgc3RyaW5nIHBhdHRlcm4gPSAiW150cHJdezIsfSI7CiAgICAgc3RyaW5nIHN0ciA9ICJ0b3Bjb2RlciI7CgogICAgIHJlZ21hdGNoX3QgbWF0Y2hlc1sxXTsKCiAgICAgcmVnY29tcCgmcmVnLHBhdHRlcm4uY19zdHIoKSxSRUdfRVhURU5ERUR8UkVHX0lDQVNFKTsKCiAgICAgaWYgKHJlZ2V4ZWMoJnJlZyxzdHIuY19zdHIoKSwxLG1hdGNoZXMsMCk9PTApIHsKICAgICAgICAgICBjb3V0IDw8ICJNYXRjaCAiIDsKICAgICAgICAgICBjb3V0IDw8IHN0ci5zdWJzdHIobWF0Y2hlc1swXS5ybV9zbyxtYXRjaGVzWzBdLnJtX2VvLW1hdGNoZXNbMF0ucm1fc28pIDsKICAgICAgICAgICBjb3V0IDw8ICIgZm91bmQgc3RhcnRpbmcgYXQ6ICIgOwogICAgICAgICAgIGNvdXQgPDwgbWF0Y2hlc1swXS5ybV9zbyA7CiAgICAgICAgICAgY291dCA8PCAiIGFuZCBlbmRpbmcgYXQgIiA7CiAgICAgICAgICAgY291dCA8PCBtYXRjaGVzWzBdLnJtX2VvIDsKICAgICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgY291dCA8PCAiTWF0Y2ggbm90IGZvdW5kLiI7CiAgICAgICAgICAgY291dCA8PCBlbmRsOwogICAgIH0KICAgICByZWdmcmVlKCZyZWcpOwoKICAgcmV0dXJuIDA7Cn0K