#include <stdio.h>

#define STACK_SIZE 100
int stack[STACK_SIZE];
int sp=0; 

int push(int x){
    printf("push> sp= %d\n", sp);  

    if(sp == STACK_SIZE)
        return -1;
    stack[sp] = x;
    sp++;
    return 1;
}

int pop(void){
    printf("pop> sp= %d\n", sp);   

    if(sp == 0)
        return -1;
    sp--;
    return stack[sp];
}

void printStack(void){
    printf("printStack> ");
    for(int i = 0; i < sp; i++){
        printf("%d ", stack[i]);
    }
    printf("\n");
}

int main() {
    
    push(1);
    push(2);
    push(3);

    printStack();   

    printf("%d\n", pop());
    printf("%d\n", pop());
    printf("%d\n", pop());
    printf("%d\n", pop());
   
    return 0;
}