#include <iostream>
#include <list>
using namespace std;
void printlist(list<int> lst){
for(list<int>::iterator it = lst.begin(); it != lst.end(); it++)
cout<< *it << ' ';
cout<<endl;
}
bool lastdigit(const int& value){return (value%10)>4;}
bool lastdigit1(const int& value){return (value%10) == 0;}
int main() {
list<int> mylist;
mylist.push_back(10);
printlist(mylist);
mylist.push_back(20);
printlist(mylist);
mylist.push_back(30);
printlist(mylist);
mylist.push_back(40);
printlist(mylist);
mylist.push_back(50);
printlist(mylist);
mylist.push_front(200);
printlist(mylist);
mylist.push_front(100);
printlist(mylist);
mylist.push_front(300);
printlist(mylist);
mylist.sort();
printlist(mylist);
mylist.pop_front();
printlist(mylist);
mylist.pop_front();
printlist(mylist);
cout << mylist.front() << endl;
mylist.front() = mylist.front() + 1000;
printlist(mylist);
mylist.pop_back();
printlist(mylist);
mylist.pop_back();
printlist(mylist);
cout << mylist.back() << endl;
mylist.back() = mylist.back() + 1000;
printlist(mylist);
mylist.remove(20);
printlist(mylist);
mylist.remove_if(lastdigit);
printlist(mylist);
printlist(mylist);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdm9pZCBwcmludGxpc3QobGlzdDxpbnQ+IGxzdCl7Cglmb3IobGlzdDxpbnQ+OjppdGVyYXRvciBpdCA9IGxzdC5iZWdpbigpOyBpdCAhPSBsc3QuZW5kKCk7IGl0KyspCgkgY291dDw8ICppdCA8PCAnICc7Cgljb3V0PDxlbmRsOwp9CmJvb2wgbGFzdGRpZ2l0KGNvbnN0IGludCYgdmFsdWUpe3JldHVybiAodmFsdWUlMTApPjQ7fQpib29sIGxhc3RkaWdpdDEoY29uc3QgaW50JiB2YWx1ZSl7cmV0dXJuICh2YWx1ZSUxMCkgPT0gMDt9CgppbnQgbWFpbigpIHsKCWxpc3Q8aW50PiBteWxpc3Q7IAoJbXlsaXN0LnB1c2hfYmFjaygxMCk7CglwcmludGxpc3QobXlsaXN0KTsKCW15bGlzdC5wdXNoX2JhY2soMjApOwoJcHJpbnRsaXN0KG15bGlzdCk7CglteWxpc3QucHVzaF9iYWNrKDMwKTsKCXByaW50bGlzdChteWxpc3QpOwoJbXlsaXN0LnB1c2hfYmFjayg0MCk7CglwcmludGxpc3QobXlsaXN0KTsKCW15bGlzdC5wdXNoX2JhY2soNTApOwoJcHJpbnRsaXN0KG15bGlzdCk7CglteWxpc3QucHVzaF9mcm9udCgyMDApOwoJcHJpbnRsaXN0KG15bGlzdCk7CglteWxpc3QucHVzaF9mcm9udCgxMDApOwoJcHJpbnRsaXN0KG15bGlzdCk7CglteWxpc3QucHVzaF9mcm9udCgzMDApOwoJcHJpbnRsaXN0KG15bGlzdCk7CglteWxpc3Quc29ydCgpOwoJcHJpbnRsaXN0KG15bGlzdCk7CglteWxpc3QucG9wX2Zyb250KCk7CglwcmludGxpc3QobXlsaXN0KTsKCW15bGlzdC5wb3BfZnJvbnQoKTsKCXByaW50bGlzdChteWxpc3QpOwoJY291dCA8PCBteWxpc3QuZnJvbnQoKSA8PCBlbmRsOwoJbXlsaXN0LmZyb250KCkgPSBteWxpc3QuZnJvbnQoKSArIDEwMDA7CglwcmludGxpc3QobXlsaXN0KTsKCW15bGlzdC5wb3BfYmFjaygpOwoJcHJpbnRsaXN0KG15bGlzdCk7CglteWxpc3QucG9wX2JhY2soKTsKCXByaW50bGlzdChteWxpc3QpOwoJY291dCA8PCBteWxpc3QuYmFjaygpIDw8IGVuZGw7CglteWxpc3QuYmFjaygpID0gbXlsaXN0LmJhY2soKSArIDEwMDA7CglwcmludGxpc3QobXlsaXN0KTsKCW15bGlzdC5yZW1vdmUoMjApOwogICAgcHJpbnRsaXN0KG15bGlzdCk7CiAgICBteWxpc3QucmVtb3ZlX2lmKGxhc3RkaWdpdCk7CiAgICBwcmludGxpc3QobXlsaXN0KTsKICAgIHByaW50bGlzdChteWxpc3QpOwoJcmV0dXJuIDA7Cn0=