class StackWithMax: def __init__(self): self.og = Stack() self.max = Stack() def push(self, item): if self.og.size() == 0: self.og.push(item) self.max.push(item) else: if item >= self.max.peek(): self.max.push(item) self.og.push(item) def pop(self): if self.og.size == 0: print("Empty stack error") else: result = self.og.pop() if result == self.max.peek(): self.max.pop() return result def show(self): print(self.og.show()) def getMax(self): print(str(self.max.peek()))