#include <iostream>
#include <sstream>
#include <list>
#include <iterator>
#include <algorithm>
int main()
{
std::list<int> list1, list2;
/*
list1.push_back(3);
list1.push_back(1);
list1.push_back(6);
list2.push_back(8);
list2.push_back(2);
list2.push_back(4);
*/
std::istringstream stream1("1 3 5 7 9 10 8 6 4 2");
std::istringstream stream2("11 18 45 22 97 23 10 39 57 77");
std::istream_iterator<int> first1(stream1), last1;
std::istream_iterator<int> first2(stream2), last2;
std::copy(first1, last1, back_inserter(list1));
std::copy(first2, last2, back_inserter(list2));
list1.sort();
list2.sort();
list1.merge(list2);
// list1.insert(list1.end(), list2.begin(), list2.end());
std::copy(list1.begin(), list1.end(), std::ostream_iterator<int>(cout, " "));
return 0;
}