#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 << ' ';
}