#include <iostream>
#include <string>
#include <algorithm>
#include <list>
using namespace std;
int main()
{
list<int> data{1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6};
for (auto i = data.begin(); i != data.end();)
{
auto n = std::next(i);
if (n == data.end())
break;
if (*i == *n)
{
i = data.erase(i);
i = data.erase(i);
}
else
i++;
}
for (auto x : data)
cout << x << " ";
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bGlzdD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGxpc3Q8aW50PiBkYXRhezEsIDIsIDIsIDIsIDMsIDQsIDQsIDQsIDQsIDQsIDQsIDQsIDQsIDQsIDUsIDUsIDUsIDZ9OwoKICAgIGZvciAoYXV0byBpID0gZGF0YS5iZWdpbigpOyBpICE9IGRhdGEuZW5kKCk7KQogICAgewogICAgICAgIGF1dG8gbiA9IHN0ZDo6bmV4dChpKTsKICAgICAgICAKICAgICAgICBpZiAobiA9PSBkYXRhLmVuZCgpKQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgaWYgKCppID09ICpuKQogICAgICAgIHsKICAgICAgICAgICAgaSA9IGRhdGEuZXJhc2UoaSk7CiAgICAgICAgICAgIGkgPSBkYXRhLmVyYXNlKGkpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgaSsrOwogICAgfQoKICAgIGZvciAoYXV0byB4IDogZGF0YSkKICAgICAgICBjb3V0IDw8IHggPDwgIiAiOwoKICAgIGNvdXQgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==