#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;
}