#include <iostream>
using namespace std;
#define MAX_SIZE 100
class Stack {
private:
int arr[MAX_SIZE];
int top;
public:
Stack() {
top = -1;
}
void push(int x) {
if (top >= MAX_SIZE - 1) {
cout << "Stack Overflow" << endl;
return;
}
arr[++top] = x;
}
void pop() {
if (top < 0) {
cout << "Stack Underflow" << endl;
return;
}
top--;
}
int peek() {
if (top < 0) {
cout << "Stack is empty" << endl;
return 0;
}
return arr[top];
}
bool isEmpty() {
return (top < 0);
}
};
int main() {
Stack s;
s.push(5);
s.push(10);
s.push(15);
cout << "Top element is: " << s.peek() << endl;
s.pop();
cout << "Top element after pop is: " << s.peek() << endl;
cout << "Stack is empty: " << (s.isEmpty() ? "true" : "false") << endl;
return 0;
}