#include <iostream>
#include <vector>
int main()
{
std::vector<int> v1;
std::vector<int> v2;
std::vector<int> v;
v1.push_back(0);v1.push_back(1);v1.push_back(2);v1.push_back(4);
v1.push_back(6);v1.push_back(7);
v1.push_back(8);v1.push_back(9);v1.push_back(10);v1.push_back(11);
v1.push_back(12);v1.push_back(13);
v2.push_back(2);v2.push_back(4);v2.push_back(6);v2.push_back(8);
v2.push_back(10);v2.push_back(12);v2.push_back(13);
enum { unmatched, once, many } state = unmatched;
for (int i = 0, j = 0; i < v1.size() && j < v2.size(); ++i)
if (v1[i] == v2[j])
if (state == unmatched)
{
++j;
state = once;
}
else if (state == once)
{
v.push_back(v2[j - 1]);
v.push_back(v2[j++]);
state = many;
}
else
v.push_back(v2[j++]);
else
state = unmatched;
for (int i = 0; i < v.size(); ++i)
std::cout << v[i] << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKaW50IG1haW4oKQp7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHYxOwogICAgc3RkOjp2ZWN0b3I8aW50PiB2MjsKICAgIHN0ZDo6dmVjdG9yPGludD4gdjsKCiAgICB2MS5wdXNoX2JhY2soMCk7djEucHVzaF9iYWNrKDEpO3YxLnB1c2hfYmFjaygyKTt2MS5wdXNoX2JhY2soNCk7CiAgICB2MS5wdXNoX2JhY2soNik7djEucHVzaF9iYWNrKDcpOwogICAgdjEucHVzaF9iYWNrKDgpO3YxLnB1c2hfYmFjayg5KTt2MS5wdXNoX2JhY2soMTApO3YxLnB1c2hfYmFjaygxMSk7CiAgICB2MS5wdXNoX2JhY2soMTIpO3YxLnB1c2hfYmFjaygxMyk7CgogICAgdjIucHVzaF9iYWNrKDIpO3YyLnB1c2hfYmFjayg0KTt2Mi5wdXNoX2JhY2soNik7djIucHVzaF9iYWNrKDgpOwogICAgdjIucHVzaF9iYWNrKDEwKTt2Mi5wdXNoX2JhY2soMTIpO3YyLnB1c2hfYmFjaygxMyk7CgogICAgZW51bSB7IHVubWF0Y2hlZCwgb25jZSwgbWFueSB9IHN0YXRlID0gdW5tYXRjaGVkOwogICAgZm9yIChpbnQgaSA9IDAsIGogPSAwOyBpIDwgdjEuc2l6ZSgpICYmIGogPCB2Mi5zaXplKCk7ICsraSkKICAgICAgICBpZiAodjFbaV0gPT0gdjJbal0pCiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSB1bm1hdGNoZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICsrajsKICAgICAgICAgICAgICAgIHN0YXRlID0gb25jZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmIChzdGF0ZSA9PSBvbmNlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2LnB1c2hfYmFjayh2MltqIC0gMV0pOwogICAgICAgICAgICAgICAgdi5wdXNoX2JhY2sodjJbaisrXSk7CiAgICAgICAgICAgICAgICBzdGF0ZSA9IG1hbnk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgdi5wdXNoX2JhY2sodjJbaisrXSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBzdGF0ZSA9IHVubWF0Y2hlZDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdi5zaXplKCk7ICsraSkKICAgICAgICBzdGQ6OmNvdXQgPDwgdltpXSA8PCAnXG4nOwp9