#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
const int SIZE = 5;
int a1[ SIZE ] = { 1, 3, 5, 7, 9 };
int a2[ SIZE ] = { 2, 4, 5, 7, 9 };
vector< int > v1( a1, a1 + SIZE );
vector< int > v2( a2, a2 + SIZE );
vector< int > results( v1.size() );
copy_backward( v1.begin(), v1.end(), results.end() );
vector< int > results2( v1.size() + v2.size() );
merge( v1.begin(), v1.end(), v2.begin(), v2.end(),results2.begin() );
vector< int >::iterator endLocation;
endLocation = unique( results2.begin(), results2.end() );
reverse( v1.begin(), v1.end() );
cout << endl;
return 0;
}