#include <stdio.h>
#define SIZE 5
int stack[SIZE];
int sp;
void push(int value);
int pop(void);
int isFull(void);
int isEmpty(void);
void display(void);
void initialize(void);
int main(void) {
initialize();
int resp, data;
while(1) {
if(!resp) break;
switch(resp) {
case 1: scanf("%d", &data
); push(data);
break;
case 2: pop();
break;
case 3: initialize();
break;
}
}
display();
return 0;
}
void push(int value)
{
if(isFull()) {
} else {
stack[sp++] = value;
}
}
int pop(void)
{
if(isEmpty()) {
} else {
return sp--;
}
}
int isFull(void)
{
if(sp>=SIZE) {
return 1;
} else {
return 0;
}
}
int isEmpty(void)
{
if(sp <= 0) {
return 1;
} else {
return 0;
}
}
void display(void)
{
for(int i=0; i<sp; i++) {
printf("stack[%d]=%d\n",i
,stack
[i
]); }
}
void initialize(void)
{
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgNQppbnQgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChpbnQgdmFsdWUpOwppbnQgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBkaXNwbGF5KHZvaWQpOwp2b2lkIGluaXRpYWxpemUodm9pZCk7CgoKaW50IG1haW4odm9pZCkgewoJaW5pdGlhbGl6ZSgpOwoJaW50IHJlc3AsIGRhdGE7CgkKCXdoaWxlKDEpIHsKCQlzY2FuZigiJWQiLCAmcmVzcCk7CgkJCgkJaWYoIXJlc3ApIGJyZWFrOwoJCQoJCXN3aXRjaChyZXNwKSB7CgkJCWNhc2UgMTogc2NhbmYoIiVkIiwgJmRhdGEpOwoJCQkJcHVzaChkYXRhKTsKCQkJCWJyZWFrOwoJCQljYXNlIDI6IHBvcCgpOwoJCQkJCWJyZWFrOwoJCQljYXNlIDM6IGluaXRpYWxpemUoKTsKCQkJCQlicmVhazsKCQl9CgkJcHJpbnRmKCJzcD0lZFxuIiwgc3ApOwoJfQoJZGlzcGxheSgpOwoJCglyZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGludCB2YWx1ZSkKewoJaWYoaXNGdWxsKCkpIHsKCQlwcmludGYoIuOCueOCv+ODg+OCr+a6gOadryIpOwoJfSBlbHNlIHsKCQlzdGFja1tzcCsrXSA9IHZhbHVlOwoJfQp9CgppbnQgcG9wKHZvaWQpCnsKCWlmKGlzRW1wdHkoKSkgewoJCXByaW50Zigi44K544K/44OD44Kv56m6Iik7Cgl9IGVsc2UgewoJCXJldHVybiBzcC0tOwoJfQp9CgppbnQgaXNGdWxsKHZvaWQpCnsKCWlmKHNwPj1TSVpFKSB7CgkJcmV0dXJuIDE7Cgl9IGVsc2UgewoJCXJldHVybiAwOwoJfQp9CgppbnQgaXNFbXB0eSh2b2lkKQp7CglpZihzcCA8PSAwKSB7CgkJcmV0dXJuIDE7Cgl9IGVsc2UgewoJCXJldHVybiAwOwoJfQp9Cgp2b2lkIGRpc3BsYXkodm9pZCkKewoJcHJpbnRmKCJcbiIpOwoJZm9yKGludCBpPTA7IGk8c3A7IGkrKykgewoJCXByaW50Zigic3RhY2tbJWRdPSVkXG4iLGksc3RhY2tbaV0pOwoJfQp9Cgp2b2lkIGluaXRpYWxpemUodm9pZCkKewoJc3AgPSAwOwp9