class Stack:
def __init__(self):
self.values = []
def push(self, item):
self.values.append(item)
def pop(self):
if not self.values:
print("Empty Stack")
return None
return self.values.pop()
def peek(self):
if not self.values:
print("Empty Stack")
return None
return self.values[-1]
def is_empty(self):
return not self.values
def size(self):
return len(self.values)
"""
class Stack:
def __init__(self):
self.values = []
def push(self, item):
self.values.append(item)
def pop(self):
if len(self.values) == 0:
print("Empty Stack")
return None
return self.values.pop()
def peek(self):
if len(self.values) == 0:
print("Empty Stack")
return None
return self.values[-1]
def is_empty(self):
return len(self.values) == 0
def size(self):
return len(self.values)
"""
Y2xhc3MgU3RhY2s6CiAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgc2VsZi52YWx1ZXMgPSBbXQogICAgZGVmIHB1c2goc2VsZiwgaXRlbSk6CiAgICAgICAgc2VsZi52YWx1ZXMuYXBwZW5kKGl0ZW0pCiAgICBkZWYgcG9wKHNlbGYpOgogICAgICAgIGlmIG5vdCBzZWxmLnZhbHVlczoKICAgICAgICAgICAgcHJpbnQoIkVtcHR5IFN0YWNrIikKICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICByZXR1cm4gc2VsZi52YWx1ZXMucG9wKCkKICAgIGRlZiBwZWVrKHNlbGYpOgogICAgICAgIGlmIG5vdCBzZWxmLnZhbHVlczoKICAgICAgICAgICAgcHJpbnQoIkVtcHR5IFN0YWNrIikKICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICByZXR1cm4gc2VsZi52YWx1ZXNbLTFdCiAgICBkZWYgaXNfZW1wdHkoc2VsZik6CiAgICAgICAgcmV0dXJuIG5vdCBzZWxmLnZhbHVlcwogICAgZGVmIHNpemUoc2VsZik6CiAgICAgICAgcmV0dXJuIGxlbihzZWxmLnZhbHVlcykKICAgICAgICAKIiIiCgpjbGFzcyBTdGFjazoKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzZWxmLnZhbHVlcyA9IFtdCiAgICBkZWYgcHVzaChzZWxmLCBpdGVtKToKICAgICAgICBzZWxmLnZhbHVlcy5hcHBlbmQoaXRlbSkKICAgIGRlZiBwb3Aoc2VsZik6CiAgICAgICAgaWYgbGVuKHNlbGYudmFsdWVzKSA9PSAwOgogICAgICAgICAgICBwcmludCgiRW1wdHkgU3RhY2siKQogICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgIHJldHVybiBzZWxmLnZhbHVlcy5wb3AoKQogICAgZGVmIHBlZWsoc2VsZik6CiAgICAgICAgaWYgbGVuKHNlbGYudmFsdWVzKSA9PSAwOgogICAgICAgICAgICBwcmludCgiRW1wdHkgU3RhY2siKQogICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgIHJldHVybiBzZWxmLnZhbHVlc1stMV0KICAgIGRlZiBpc19lbXB0eShzZWxmKToKICAgICAgICByZXR1cm4gbGVuKHNlbGYudmFsdWVzKSA9PSAwCiAgICBkZWYgc2l6ZShzZWxmKToKICAgICAgICByZXR1cm4gbGVuKHNlbGYudmFsdWVzKQogICAgICAgIAoiIiI=