#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
template <typename Seq1, typename Seq2, typename OutputIterator>
void append(const Seq1 &seq1, const Seq2 &seq2, OutputIterator it)
{
for (auto a: seq1)
*it = a;
for (auto a: seq2)
*it = a;
}
int main()
{
vector<int> first = {1,2,3}, second = {4,5,6,7}, destination;
append(first, second, back_inserter(destination));
for (auto i: destination)
cout << i << ' ';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aXRlcmF0b3I+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPHR5cGVuYW1lIFNlcTEsIHR5cGVuYW1lIFNlcTIsIHR5cGVuYW1lIE91dHB1dEl0ZXJhdG9yPiAKdm9pZCBhcHBlbmQoY29uc3QgU2VxMSAmc2VxMSwgY29uc3QgU2VxMiAmc2VxMiwgT3V0cHV0SXRlcmF0b3IgaXQpCnsKCWZvciAoYXV0byBhOiBzZXExKQoJCSppdCA9IGE7Cglmb3IgKGF1dG8gYTogc2VxMikKCQkqaXQgPSBhOwp9CgppbnQgbWFpbigpIAp7Cgl2ZWN0b3I8aW50PiBmaXJzdCA9IHsxLDIsM30sIHNlY29uZCA9IHs0LDUsNiw3fSwgZGVzdGluYXRpb247CglhcHBlbmQoZmlyc3QsIHNlY29uZCwgYmFja19pbnNlcnRlcihkZXN0aW5hdGlvbikpOwoJZm9yIChhdXRvIGk6IGRlc3RpbmF0aW9uKQoJCWNvdXQgPDwgaSA8PCAnICc7Cn0=