#include <iostream>
#include <string>
using namespace std;

class uzel
{
private:
	int dannye;
	uzel* u_sled;
	uzel* u_pred;
public:
	friend class spisok;
};

class spisok
{
private:
	uzel* u_golova;
	uzel* u_hvost;
public:
	spisok(): u_golova(NULL), u_hvost(NULL) {}
	//Создаём новый узел списка
	void push(int znach)
	{
		uzel* u_NovUzel = new uzel;
		u_NovUzel->dannye = znach;
		if (u_golova != NULL)
		{
			u_golova->u_pred = u_NovUzel;
		}
		u_NovUzel->u_pred = NULL;
		u_NovUzel->u_sled = u_golova;
		if (u_NovUzel->u_sled == NULL) u_hvost = u_NovUzel;
		u_golova = u_NovUzel;
	}
	//Вывод списка начиная с головы
	void sled()
	{
		uzel* u_SledUzel = u_golova;
		while (u_SledUzel)
		{
			cout << u_SledUzel->dannye << endl;
			u_SledUzel = u_SledUzel->u_sled;
		}
	}
	//Вывод списка начиная с хвоста
	void pred()
	{
		uzel* u_PredUzel = u_hvost;
		while (u_PredUzel)
		{
			cout << u_PredUzel->dannye << endl;
			u_PredUzel = u_PredUzel->u_pred;
		}
	}
};

int main()
{
	spisok stek;
	string vvod = "&";
	while (vvod != "exit")
	{
		int znach;
		cin >> vvod;
		if (vvod == "push") { cin >> znach; stek.push(znach); }
		if (vvod == "sled") stek.sled();
		if (vvod == "pred") stek.pred();
	}

}