#include <stdio.h>
#define SIZE 5
int stack[SIZE];
int sp = 0;
void push(int data) {
printf("push()sp = %d\n", sp
);
if (sp >= SIZE) return;
stack[sp] = data;
sp++;
}
int pop(void) {
if (sp <= 0) return -1;
sp--;
return stack[sp];
}
void printStack(void) {
for (int i = 0; i < sp; i++) {
}
}
int main(void) {
push(1);
push(2);
push(3);
printStack();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgNQoKaW50IHN0YWNrW1NJWkVdOwppbnQgc3AgPSAwOwoKdm9pZCBwdXNoKGludCBkYXRhKSB7CiAgICBwcmludGYoInB1c2goKXNwID0gJWRcbiIsIHNwKTsKCiAgICBpZiAoc3AgPj0gU0laRSkgcmV0dXJuOwoKICAgIHN0YWNrW3NwXSA9IGRhdGE7CiAgICBzcCsrOwp9CgppbnQgcG9wKHZvaWQpIHsKICAgIHByaW50ZigicG9wKClzcCA9ICVkXG4iLCBzcCk7CgogICAgaWYgKHNwIDw9IDApIHJldHVybiAtMTsKCiAgICBzcC0tOwogICAgcmV0dXJuIHN0YWNrW3NwXTsKfQoKdm9pZCBwcmludFN0YWNrKHZvaWQpIHsKICAgIHByaW50ZigicHJpbnRzdGFjazogIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IHNwOyBpKyspIHsKICAgICAgICBwcmludGYoIiVkICIsIHN0YWNrW2ldKTsKICAgIH0KICAgIHByaW50ZigiXG4iKTsKfQoKaW50IG1haW4odm9pZCkgewogICAgcHVzaCgxKTsKICAgIHB1c2goMik7CiAgICBwdXNoKDMpOwoKICAgIHByaW50U3RhY2soKTsKCiAgICBwcmludGYoIiVkXG4iLCBwb3AoKSk7CiAgICBwcmludGYoIiVkXG4iLCBwb3AoKSk7CiAgICBwcmludGYoIiVkXG4iLCBwb3AoKSk7CiAgICBwcmludGYoIiVkXG4iLCBwb3AoKSk7CgogICAgcmV0dXJuIDA7Cn0=