#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
enum class En{A, B};
std::vector<En> vec{En::A, En::B, En::A, En::B, En::A, En::B, En::A};
for(const auto& i : vec) std::cout << int(i) << ", ";
std::cout << std::endl;
auto elem = vec.front();
vec.erase( std::remove(std::begin(vec), std::end(vec), elem),
std::end(vec));
for(const auto& i : vec) std::cout << int(i) << ", ";
std::cout << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKaW50IG1haW4oKQp7CiAgICBlbnVtIGNsYXNzIEVue0EsIEJ9OwogICAgc3RkOjp2ZWN0b3I8RW4+IHZlY3tFbjo6QSwgRW46OkIsIEVuOjpBLCBFbjo6QiwgRW46OkEsIEVuOjpCLCBFbjo6QX07CiAKICAgIGZvcihjb25zdCBhdXRvJiBpIDogdmVjKSBzdGQ6OmNvdXQgPDwgaW50KGkpIDw8ICIsICI7CiAgICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoKICAgIGF1dG8gZWxlbSA9IHZlYy5mcm9udCgpOwoJdmVjLmVyYXNlKAlzdGQ6OnJlbW92ZShzdGQ6OmJlZ2luKHZlYyksIHN0ZDo6ZW5kKHZlYyksIGVsZW0pLCAKICAgICAgICAgIAkJc3RkOjplbmQodmVjKSk7CgogICAgZm9yKGNvbnN0IGF1dG8mIGkgOiB2ZWMpIHN0ZDo6Y291dCA8PCBpbnQoaSkgPDwgIiwgIjsKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgogICAgcmV0dXJuIDA7Cn0=
0, 1, 0, 1, 0, 1, 0,
1, 1, 1,