#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;
}