#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
#include <iterator>

using namespace std;

template <typename Iterator>
void printContainer(Iterator itBegin,
                    Iterator itEnd)
{
        copy(itBegin, itEnd, ostream_iterator<typename iterator_traits<Iterator>::value_type>(cout, " "));
        cout << endl;
}

int main() {
	vector<int> v{1, 2, 3, 4, 5, 6};
	list<int>   l{1, 2, 3, 4, 5, 6};
	printContainer(begin(v), end(v));
	printContainer(begin(l), end(l));
	
	return 0;
}