#include <deque>
#include <iostream>
#include <iterator>
using namespace std;
int main()
{
deque<int> L;
int value1 = -2;
int value2 = -1;
L.push_back (value1);
L.push_back (value2);
L.push_back (1);
L.push_back (2);
L.push_front(5);
deque<int>::iterator it;
for(it=L.begin();it < L.end();it++)
{
cout << *(it)
<< "\n\n";
}
cout << "\n\n" ;
while(L.size() > 0)
{
cout << L.back() << "\n\n";
L.pop_back();
}
// output
copy(L.begin(), L.end(), ostream_iterator<int>(cout, " "));
return 0;
}