#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
	// your code goes here
	list <int> list1;
	
	list1.push_back(10);
	list1.push_back(40);
	
	list1.push_front(60);
	list1.push_front(70);
	
	cout << "we have just created a list travesing using C++11 range based for loop" << endl;
	for( int i:list1 )
		cout << i << " ";
	cout <<endl;
	
	
	list1.pop_back();
	cout << "list after doing pop back" << endl;
	for( int i:list1 )
		cout << i << " ";
	cout << endl;
	
	// printing using iterator there are 2 sytels for iterator.
	cout << "travesing list using auto iterator" << endl;
	for( auto itr = list1.begin() ; itr != list1.end(); itr++ )
	{
		cout << *itr << " ";
	}
	cout << endl;
	
	// printing using std:: iterator.
	cout << "travesing list using std :: iterator" << endl;
	list<int> :: iterator itr;
	for( itr = list1.begin() ; itr != list1.end(); itr++ )
	{
		cout << *itr << " ";
	}
	cout << endl;
	
	
	
	return 0;
}