#include <iostream>
using namespace std;
class Stack {
private:
int size;
int Top;
int *Arr;
public:
Stack(int s) {
Arr = new int[s];
Top = -1;
size = s;
}
bool IsEmpty() {
return (Top == -1);
}
bool IsFull() {
return (Top + 1 == size);
}
void Push(int value) {
if (IsFull()) {
cout << "Can't Add .. Stack is full." << endl;
} else {
Top++;
Arr[Top] = value;
}
}
int Pop() {
if (IsEmpty()) {
cout << "Can't Delete... Stack is empty." << endl;
} else {
return (Arr[Top--]);
}
}
int Peek() {
if (IsEmpty()) {
cout << "No Values ..." << endl;
} else {
return (Arr[Top]);
}
}
void Display() {
for (int i = Top; i >= 0; i--) {
cout << Arr[i] << " ";
}
cout << endl;
}
};
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBTdGFjayB7CnByaXZhdGU6CiAgICBpbnQgc2l6ZTsKICAgIGludCBUb3A7CiAgICBpbnQgKkFycjsKCnB1YmxpYzoKICAgIFN0YWNrKGludCBzKSB7CiAgICAgICAgQXJyID0gbmV3IGludFtzXTsKICAgICAgICBUb3AgPSAtMTsKICAgICAgICBzaXplID0gczsKICAgIH0KCiAgICBib29sIElzRW1wdHkoKSB7CiAgICAgICAgcmV0dXJuIChUb3AgPT0gLTEpOwogICAgfQoKICAgIGJvb2wgSXNGdWxsKCkgewogICAgICAgIHJldHVybiAoVG9wICsgMSA9PSBzaXplKTsKICAgIH0KCiAgICB2b2lkIFB1c2goaW50IHZhbHVlKSB7CiAgICAgICAgaWYgKElzRnVsbCgpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkNhbid0IEFkZCAuLiBTdGFjayBpcyBmdWxsLiIgPDwgZW5kbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBUb3ArKzsKICAgICAgICAgICAgQXJyW1RvcF0gPSB2YWx1ZTsKICAgICAgICB9CiAgICB9CgogICAgaW50IFBvcCgpIHsKICAgICAgICBpZiAoSXNFbXB0eSgpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkNhbid0IERlbGV0ZS4uLiBTdGFjayBpcyBlbXB0eS4iIDw8IGVuZGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIChBcnJbVG9wLS1dKTsKICAgICAgICB9CiAgICB9CgogICAgaW50IFBlZWsoKSB7CiAgICAgICAgaWYgKElzRW1wdHkoKSkgewogICAgICAgICAgICBjb3V0IDw8ICJObyBWYWx1ZXMgLi4uIiA8PCBlbmRsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAoQXJyW1RvcF0pOwogICAgICAgIH0KICAgIH0KCiAgICB2b2lkIERpc3BsYXkoKSB7CiAgICAgICAgZm9yIChpbnQgaSA9IFRvcDsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgY291dCA8PCBBcnJbaV0gPDwgIiAiOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9Cn07CgoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQ==