/* Lecture Code 4.1
 *
 * Set algorithms.
 *
 */
 
 #include <iostream>
 #include <algorithm>
 #include <set>
 using namespace std;
 
 int main()
 {
	 set<int> evens, odds;
	 for(int i = 0; i < 10; i++)
	 {
		 evens.insert(i * 2);
		 odds.insert(i * 2 + 1);
	 }
	 
	 set<int> result;
	 set_union(evens.begin(), evens.end(), odds.begin(), odds.end(),
			inserter(result, result.begin()));
	 
	 for(set<int>::iterator itr = result.begin(); itr != result.end(); ++itr)
		 cout << *itr << ' ';
	 
	 cout << endl;
	 
	 return 0;
 }