//list学习
#include<iostream>
#include<list>
#include<string>
using namespace std;
int main() {
string str;
while (getline(cin, str)) {
list<char> slist;
for (int i = 0;i < str.size();i++) {
slist.push_back(str[i]);//push_back
}
slist.unique();//unique,don't delete the same data which are not adjoining
for(list<char>::iterator it = slist.begin();it!=slist.end();it++)
cout << *it;
cout << endl;
slist.reverse();//reverse
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.clear();//clear
slist.assign(10,'a');//assign
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.push_front('c');//push_front
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.pop_front();//pop_front
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
slist.pop_back();//pop_back
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
cout << slist.back() << endl;//back
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
cout << slist.front() << endl;//front
for (list<char>::reverse_iterator it = slist.rbegin();it != slist.rend();it++)//reverse_iterator,rbegin,rend
cout << *it;
cout << endl;
slist.insert(slist.begin(), '2');//insert
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.insert(slist.begin(), 2, '5');//insert
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.erase(slist.begin());//erase
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
list<char> plist;
plist.assign(7, 'b');
slist.merge(plist);//merge
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.remove('2');//remove
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.resize(10);//resize
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.resize(20, 'n');//resize
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
slist.sort();//sort
for (list<char>::iterator it = slist.begin();it != slist.end();it++)
cout << *it;
cout << endl;
}
return 0;
}