#include <cassert>
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7};
auto p = v.begin() + 3;
std::vector<int> w = v;
v.erase(p, v.end());
w.swap(v);
assert(p == w.end());
std::cout << "v:";
for (auto n : v) { std::cout << " " << n; }
std::cout << "\n";
std::cout << "w:";
for (auto n : w) { std::cout << " " << n; }
std::cout << "\n";
}
I2luY2x1ZGUgPGNhc3NlcnQ+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KCmludCBtYWluKCkKewoJc3RkOjp2ZWN0b3I8aW50PiB2ID0gezEsIDIsIDMsIDQsIDUsIDYsIDd9OwoJYXV0byBwID0gdi5iZWdpbigpICsgMzsKCiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHcgPSB2OwogICAgdi5lcmFzZShwLCB2LmVuZCgpKTsKICAgIHcuc3dhcCh2KTsKICAgIAogICAgYXNzZXJ0KHAgPT0gdy5lbmQoKSk7CgogICAgc3RkOjpjb3V0IDw8ICJ2OiI7CiAgICBmb3IgKGF1dG8gbiA6IHYpIHsgc3RkOjpjb3V0IDw8ICIgIiA8PCBuOyB9CiAgICBzdGQ6OmNvdXQgPDwgIlxuIjsKCiAgICBzdGQ6OmNvdXQgPDwgInc6IjsKICAgIGZvciAoYXV0byBuIDogdykgeyBzdGQ6OmNvdXQgPDwgIiAiIDw8IG47IH0KICAgIHN0ZDo6Y291dCA8PCAiXG4iOwp9