#include <iostream>
#include <vector>

using namespace std;

template <class Container>
void insert_sorted(Container& where, Container& what)
{
	typename Container::iterator src = what.begin();
	typename Container::iterator src_end = what.end();
	
	size_t index = 0;
	
	while(src != src_end)
	{
		if(*src < where[index])
		{
			where.insert(where.begin() + index, *src);
			++src;
		}
			++index;
	}
}

int main()
{
	vector<int> foo{ 0, 5, 7, 9, 11, 14 };
	vector<int> bar{ 1, 2, 4, 8, 10, 12 };
	
	insert_sorted(foo, bar);
	
	for(vector<int>::iterator i = foo.begin(); i != foo.end(); ++i)
	{
		cout << *i << " ";
	}
	
	return 0;
}