#include <iostream>
#include <string>
#include <list>
using namespace std;
list<string> createCodeList()
{
list<string> codeList;
string input;
cout << "Enter your coded text: " << endl;
getline(cin, input);
string::size_type start = 0, end;
while ((end = input.find("pe", start)) != string::npos)
{
codeList.push_back(input.substr(start, end-start));
codeList.push_back("pe");
start = end + 2;
}
if (start < input.size())
codeList.push_back(input.substr(start));
return codeList;
}
void removeCodeWords(list<string>& codeList)
{
for (auto it = codeList.begin(); it != codeList.end(); )
{
if (*it == "pe")
{
it = codeList.erase(it);
}
else
{
++it;
}
}
}
void printCodeList(const list<string>& codeList)
{
for (const string& code : codeList)
{
cout << code;
}
cout << endl;
}
int main()
{
list<string> codeList = createCodeList();
removeCodeWords(codeList);
printCodeList(codeList);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bGlzdD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpsaXN0PHN0cmluZz4gY3JlYXRlQ29kZUxpc3QoKQp7CiAgICBsaXN0PHN0cmluZz4gY29kZUxpc3Q7CiAgICBzdHJpbmcgaW5wdXQ7CgogICAgY291dCA8PCAiRW50ZXIgeW91ciBjb2RlZCB0ZXh0OiAiIDw8IGVuZGw7CiAgICBnZXRsaW5lKGNpbiwgaW5wdXQpOwogICAKICAgIHN0cmluZzo6c2l6ZV90eXBlIHN0YXJ0ID0gMCwgZW5kOwogICAgd2hpbGUgKChlbmQgPSBpbnB1dC5maW5kKCJwZSIsIHN0YXJ0KSkgIT0gc3RyaW5nOjpucG9zKQogICAgewogICAgICAgIGNvZGVMaXN0LnB1c2hfYmFjayhpbnB1dC5zdWJzdHIoc3RhcnQsIGVuZC1zdGFydCkpOwogICAgICAgIGNvZGVMaXN0LnB1c2hfYmFjaygicGUiKTsKICAgICAgICBzdGFydCA9IGVuZCArIDI7CiAgICB9CiAgICBpZiAoc3RhcnQgPCBpbnB1dC5zaXplKCkpCiAgICAgICAgY29kZUxpc3QucHVzaF9iYWNrKGlucHV0LnN1YnN0cihzdGFydCkpOwoKICAgIHJldHVybiBjb2RlTGlzdDsKfQoKdm9pZCByZW1vdmVDb2RlV29yZHMobGlzdDxzdHJpbmc+JiBjb2RlTGlzdCkKewogICAgZm9yIChhdXRvIGl0ID0gY29kZUxpc3QuYmVnaW4oKTsgaXQgIT0gY29kZUxpc3QuZW5kKCk7ICkKICAgIHsKICAgICAgICBpZiAoKml0ID09ICJwZSIpCiAgICAgICAgewogICAgICAgICAgICBpdCA9IGNvZGVMaXN0LmVyYXNlKGl0KTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgKytpdDsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgcHJpbnRDb2RlTGlzdChjb25zdCBsaXN0PHN0cmluZz4mIGNvZGVMaXN0KQp7CiAgICBmb3IgKGNvbnN0IHN0cmluZyYgY29kZSA6IGNvZGVMaXN0KQogICAgewogICAgICAgIGNvdXQgPDwgY29kZTsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKfQoKaW50IG1haW4oKQp7CiAgICBsaXN0PHN0cmluZz4gY29kZUxpc3QgPSBjcmVhdGVDb2RlTGlzdCgpOwogICAgcmVtb3ZlQ29kZVdvcmRzKGNvZGVMaXN0KTsKICAgIHByaW50Q29kZUxpc3QoY29kZUxpc3QpOwogICAgcmV0dXJuIDA7Cn0=