#include<iostream>
#define SIZE 100
using namespace std;
struct stack{
int top;
int arr[SIZE];
};
void push(struct stack *s, int val){
if(s->top<SIZE-1){
s->top++;
s->arr[s->top] = val;
}else{
cout<<"stack is full";
}
}
int pop(struct stack *s){
if(s->top!=-1){
int val = s->arr[s->top];
s->top--;
return val;
}else{
cout<<"stack is empty";
}
}
int main(){
struct stack s;
s.top = -1;
push(&s, 10);
push(&s, 20);
push(&s, 30);
push(&s, 40);
push(&s, 50);
push(&s, 60);
pop(&s);
pop(&s);
push(&s, 70);
pop(&s);
pop(&s);
pop(&s);
push(&s, 80);
cout<<pop(&s);
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNkZWZpbmUgU0laRSAxMDAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBzdGFja3sKICAgIGludCB0b3A7CiAgICBpbnQgYXJyW1NJWkVdOwp9OwoKdm9pZCBwdXNoKHN0cnVjdCBzdGFjayAqcywgaW50IHZhbCl7CiAgICBpZihzLT50b3A8U0laRS0xKXsKICAgICAgICBzLT50b3ArKzsKICAgICAgICBzLT5hcnJbcy0+dG9wXSA9IHZhbDsKICAgIH1lbHNlewogICAgICAgIGNvdXQ8PCJzdGFjayBpcyBmdWxsIjsKICAgIH0KfQoKaW50IHBvcChzdHJ1Y3Qgc3RhY2sgKnMpewogICAgaWYocy0+dG9wIT0tMSl7CiAgICAgICAgaW50IHZhbCA9IHMtPmFycltzLT50b3BdOwogICAgICAgIHMtPnRvcC0tOwogICAgICAgIHJldHVybiB2YWw7CiAgICB9ZWxzZXsKICAgICAgICBjb3V0PDwic3RhY2sgaXMgZW1wdHkiOwogICAgfQp9CgppbnQgbWFpbigpewogICAgc3RydWN0IHN0YWNrIHM7CiAgICBzLnRvcCA9IC0xOwogICAgcHVzaCgmcywgMTApOwogICAgcHVzaCgmcywgMjApOwogICAgcHVzaCgmcywgMzApOwogICAgcHVzaCgmcywgNDApOwogICAgcHVzaCgmcywgNTApOwogICAgcHVzaCgmcywgNjApOwogICAgcG9wKCZzKTsKICAgIHBvcCgmcyk7CiAgICBwdXNoKCZzLCA3MCk7CiAgICBwb3AoJnMpOwogICAgcG9wKCZzKTsKICAgIHBvcCgmcyk7CiAgICBwdXNoKCZzLCA4MCk7CiAgICBjb3V0PDxwb3AoJnMpOwp9Cg==