#include <iostream>
#include <algorithm>
#include <deque>
#include <forward_list>
#include <list>
#include <vector>
using container = std::deque<bool>;
template<typename C>
void uniquify(C& v) {
v.erase(std::unique(v.begin(), v.end(),
[](bool a, bool b){ return !(a||b); }),
v.end());
}
template<typename C>
std::ostream& show(std::ostream& out, const C& v) {
char sep = '{';
for (auto const& val : v) {
out << sep << ' ' << (val ? "true" : "false");
sep = ',';
}
return out << '}';
}
int main() {
container vec{false, false, false, false, true, true, false, true, false, false};
show(std::cout, vec) << '\n';
uniquify(vec);
show(std::cout, vec) << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxmb3J3YXJkX2xpc3Q+CiNpbmNsdWRlIDxsaXN0PgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBjb250YWluZXIgPSBzdGQ6OmRlcXVlPGJvb2w+OwoKCnRlbXBsYXRlPHR5cGVuYW1lIEM+CnZvaWQgdW5pcXVpZnkoQyYgdikgewoJdi5lcmFzZShzdGQ6OnVuaXF1ZSh2LmJlZ2luKCksIHYuZW5kKCksCiAgICAgICAgICAgICAgICAgICAgICAgIFtdKGJvb2wgYSwgYm9vbCBiKXsgcmV0dXJuICEoYXx8Yik7IH0pLAogICAgICAgICAgICB2LmVuZCgpKTsKfQp0ZW1wbGF0ZTx0eXBlbmFtZSBDPgpzdGQ6Om9zdHJlYW0mIHNob3coc3RkOjpvc3RyZWFtJiBvdXQsIGNvbnN0IEMmIHYpIHsKCWNoYXIgc2VwID0gJ3snOwoJZm9yIChhdXRvIGNvbnN0JiB2YWwgOiB2KSB7CgkJb3V0IDw8IHNlcCA8PCAnICcgPDwgKHZhbCA/ICJ0cnVlIiA6ICJmYWxzZSIpOwoJCXNlcCA9ICcsJzsKCX0KCXJldHVybiBvdXQgPDwgJ30nOwp9CmludCBtYWluKCkgewoJY29udGFpbmVyIHZlY3tmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZX07CglzaG93KHN0ZDo6Y291dCwgdmVjKSA8PCAnXG4nOwoJdW5pcXVpZnkodmVjKTsKCXNob3coc3RkOjpjb3V0LCB2ZWMpIDw8ICdcbic7CglyZXR1cm4gMDsKfQo=
{ false, false, false, false, true, true, false, true, false, false}
{ false, true, true, false, true, false}