#include<iostream>
using namespace std;
const int N=;
typedef int Elemtype; struct SqStack
{
Elemtype *base;
int top; void Init();
void clear();
bool Empty();
void Push(Elemtype e);
void Pop(); Elemtype Gettop(); }; void SqStack::Init()
{
base=new Elemtype[N];
top=-;
} void SqStack::clear()
{
top==-;
} bool SqStack::Empty()
{
return top==-;
} void SqStack::Push(Elemtype e)
{
if(top==N-) return;
top++;
base[top]=e;
} void SqStack::Pop()
{
if(top==-) return;
top--;
} Elemtype SqStack::Gettop()
{
return base[top];
} int main()
{
int n;
cin>>n;
SqStack st;
st.Init();
for(int i=;i<n;i++)
{
int t;
cin>>t;
st.Push(t);
} while(st.Empty()==false)
{
int t=st.Gettop();
cout<<t<<endl;
st.Pop();
}
st.clear();
return ;
}
#include<iostream>
#include<stack>
using namespace std;
const int N=;
void run()
{
stack <int>s;
int n;
for(int i=;i<N;i++)
{
s.push(i+);
} cout<<s.size(); while(s.empty()==false)
{
int t=s.top();
cout<<t<<" ";
s.pop();
}
} int main()
{
run();
return ;
}