#include"iostream"
#include"list"
#include"iterator"
#include"string"
#include"cstdlib"
#include"algorithm"
using namespace std;
template
void print(T,string);
int main(int argc,char * argv[])
{
listc1,c2,c3,c4;
c1.push_back(3);
c1.push_back(6);
c2.push_back(2);
c2.push_back(4);
c3.push_back(5);
c3.push_back(1);
c4.push_back(40);
c4.push_back(41);
print(c1,"c1");
print(c2,"c2");
print(c3,"c3");
print(c4,"c4");
cout<<"...................."<<endl;
c2.splice(c2.begin(),c1);
print(c1,"c1");
print(c2,"c2");
print(c3,"c3");
print(c4,"c4");
cout<<"...................."<<endl;
c2.splice(c2.begin(),c3,c3.begin());
print(c1,"c1");
print(c2,"c2");
print(c3,"c3");
print(c4,"c4");
cout<<"...................."<<endl;
c2.splice(c2.begin(),c4,c4.begin(),c4.end());
print(c1,"c1");
print(c2,"c2");
print(c3,"c3");
print(c4,"c4");
system("pause");return 0;
}
template
void print(T c,string s)
{
cout<<s<<'=';copy(c.begin(),c.end(),ostream_iterator(cout," "));cout<<endl;
}