#include <stdio.h>
 
#define SIZE 5
int stack[SIZE];
int sp;
 
void push(int value);
int pop(void);
 
int main(void) {
    sp = 0;
    int resp, data;
    int i;
 
    while(1) {
        printf("1:push 2:pop 0:end: ");         if(!resp) break;
 
        switch(resp) {
            case 1:
                push(data);
                break;
            case 2:
                break;
        }
    }
 
    for(i = 0; i < sp; i++) {
        printf("stack[%d]=%d\n", i
, stack
[i
]);     }
    return 0;
}
 
void push(int value) {
    if(sp >= SIZE) {
    } else {
        stack[sp++] = value;
    }
}
 
int pop(void) {
    if(sp <= 0) {
        return 0;
    } else {
        return stack[--sp];
    }
}
 
 
				I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgNQppbnQgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChpbnQgdmFsdWUpOwppbnQgcG9wKHZvaWQpOwoKaW50IG1haW4odm9pZCkgewogICAgc3AgPSAwOwogICAgaW50IHJlc3AsIGRhdGE7CiAgICBpbnQgaTsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAgcHJpbnRmKCIxOnB1c2ggMjpwb3AgMDplbmQ6ICIpOwogICAgICAgIHNjYW5mKCIlZCIsICZyZXNwKTsKICAgICAgICBpZighcmVzcCkgYnJlYWs7CgogICAgICAgIHN3aXRjaChyZXNwKSB7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgIHByaW50ZigicHVzaDogIik7CiAgICAgICAgICAgICAgICBzY2FuZigiJWQiLCAmZGF0YSk7CiAgICAgICAgICAgICAgICBwdXNoKGRhdGEpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgIHByaW50ZigicG9wID0gJWRcbiIsIHBvcCgpKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBwcmludGYoInNwPSVkXG4iLCBzcCk7CiAgICB9CgogICAgZm9yKGkgPSAwOyBpIDwgc3A7IGkrKykgewogICAgICAgIHByaW50Zigic3RhY2tbJWRdPSVkXG4iLCBpLCBzdGFja1tpXSk7CiAgICB9CiAgICByZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGludCB2YWx1ZSkgewogICAgaWYoc3AgPj0gU0laRSkgewogICAgICAgIHByaW50ZigiaXBhaWRheW9cbiIpOwogICAgfSBlbHNlIHsKICAgICAgICBzdGFja1tzcCsrXSA9IHZhbHVlOwogICAgfQp9CgppbnQgcG9wKHZvaWQpIHsKICAgIGlmKHNwIDw9IDApIHsKICAgICAgICBwcmludGYoImthcmFkYXlvXG4iKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHN0YWNrWy0tc3BdOwogICAgfQp9Cgo=