//#include <stdio.h>
//
//int fin[600];
//int top=0;
//char s[100];
//void push()
//{
// int x=0;
// int i=5;
// int sign=1;
// if(s[i]=='-')
// {
// sign=-1;
// i=i+1;
// }
// while(s[i]>='0'&&s[i]<='9')
// {
// x=x*10+(s[i]-'0');
// i=i+1;
// }
// fin[top]=sign*x;
// top=top+1;
//}
//
//void topff()
//{
// if(top==0)
// {
// printf("-1\n");
// }
// else
// {
// printf("%d\n",fin[top-1]);
// }
//}
//void pop()
//{
// if(top==0)
// {
// printf("-1\n");
// }
// else
// {
// printf("%d\n",fin[top-1]);
// top=top-1;
// }
//}
//
//void size()
//{
// printf("%d\n",top);
//}
//void empty()
//{
// if(top==0)
// {
// printf("true\n");
// }
// else
// {
// printf("false\n");
// }
//}
//
//int main()
//{
// char buf[20];
// gets(buf);
// int n=0;
// int j=0;
// while(buf[j]>='0'&&buf[j]<='9')
// {
// n=n*10+(buf[j]-'0');
// j=j+1;
// }
// int i=0;
// while(i<n)
// {
// gets(s);
// if(s[0]=='p'&&s[1]=='u')
// {
// push();
// }
// else if(s[0]=='t')
// {
// topff();
// }
// else if(s[0]=='p'&&s[1]=='o')
// {
// pop();
// }
// else if(s[0]=='s')
// {
// size();
// }
// else if(s[0]=='e')
// {
// empty();
// }
// i=i+1
// }
// return 0;
//}
//#include <stdio.h>
//int data[55555] = {};
//char fin[55555] = {};
//int main()
//{
// int n,top = 0,kf,k;
// scanf("%d\n",&n);
// for(int i=0;i<n;i++)
// {
// gets(fin);
// }
// for(int i=0;i<n;i++)
// {
// gets(fin);
// if(fin[0]=='p'&&fin[1]=='u') //push()
// {
// kf=6; //fin의 top 위치 초기화
// k=1; //if 문 1 ~ 9 숫자 확인 변수 초기화
// for(int j=6;j<strlen(fin)-2;j++)
// {
// data[top]=data[top]*10+fin[kf+1]; //자릿수 추가
// printf("%d\n",data[top]);
// }
// top++;
// }
//
// else if(fin[0]=='t') //top()
// {
// if(top<=0)
// {
// printf("-1\n");
// }
// else
// {
// printf("%d\n",data[top-1]);
// }
// }
//
// else if(fin[0]=='p'&&fin[1]=='o') //pop()
// {
// top--;
// data[top]=0;
// }
//
// else if(fin[0]=='s') //size()
// {
// printf("%d\n",strlen(data));
// }
//
// else if(fin[0]=='e') //empty()
// {
// if(strlen(data)==0)
// {
// printf("true\n");
// }
// else
// {
// printf("false\n");
// }
// }
// }
// return 0;
//}
// if(fin[0]=='p'&&fin[1]=='u') //push()
// {
// kf=6; //fin의 top 위치 초기화
// k=1; //if 문 1 ~ 9 숫자 확인 변수 초기화
// while(1)
// {
// if(fin[kf]==' ')
// {
// break;
// }
// for(int j=0;j<9;j++)
// {
// if(fin[kf+1]==k)
// {
// data[top]=data[top]*10+fin[kf+1]; //자릿수 추가
// }
// k++;
// printf("ok\n");
// }
// kf++;
// }
// top++;
// }
//#include <stdio.h>
//#include <math.h>
//int main()
//{
// double n;
// double result;
// while(1)
// {
// scanf("%lf",&n);
// result=sqrt(n);
// printf("\n%lf의 \n루트 값:\n%.16lf\n\n------------------------------------------\n\n",n,result);
// }
// return 0;
//}
#include <stdio.h>
char data[55555] = {}; //gets에 받기
char fin[55555] = {}; //마지막에 출력 할때 씀
char input[55555] = {}; //원소 체크 (pop 상호작용 가능)
int n = 0; //몰루?
int push()
{
int k = 0;
int top = 7;
if(strlen(data)==9) //원소 개수가 하나 일때
{
k=data[top-1]-48;
}
else
{
for(int j=6;j<strlen(data)-2;j++) //원소 개수가 여러개 일때
{
k=(k+data[j]-48)*10;
}
k=k/10;
}
fin[n]=k;
input[n]=k;
top++;
n++;
}
int topp(int top)
{
if(input[top-1]==0)
{
fin[n]=-1;
}
else
{
fin[n]=input[top-1];
}
n++;
}
int pop(int top)
{
top-=1;
}
//int size() //input 사용
//{
// input[]
//}
int main()
{
int c,top = 0;
scanf("%d\n",&c);
for(int i=0;i<c;i++)
{
gets(data);
if(data[1]=='u') //push()
{
push();
}
else if(data[0]=='t') //top()
{
topp(top);
}
else if(data[1]=='o') //pop()
{
pop(top);
}
else if(data[0]=='s') //size()
{
// size();
}
top++;
}
}



