#include <iostream>
#include <list>
#include <algorithm>
#include <numeric>
using namespace std;
template<class T>
void print(list<T> l){
list<T>::iterator it = l.begin();
while (it != l.end()){
cout << *(it++) << " ";
}
cout << endl;
}
int main(){
list<int> li1(10, 0);
list<int> li2(5);
list<int>::iterator it;
iota(li2.begin(), li2.end(), 1);
cout << "li1:";
print<int>(li1);
cout << "li2:";
print<int>(li2);
it = li1.begin();
li1.insert(++it,20);
cout << "li1:";
print<int>(li1);
li1.insert(li1.begin(),2,25);
cout << "li1:";
print<int>(li1);
li1.insert(li1.end(),li2.begin(), li2.end());
cout << "li1:";
print<int>(li1);
return 0;
}