from collections import deque
class MessageDeque(deque):
def append(self, item):
dropped_message = self.popleft() if len(self) == self.maxlen else None
super(MessageDeque, self).append(item)
if dropped_message:
raise MemoryError(dropped_message)
m = MessageDeque(maxlen=2)
m.append("hello")
m.append("goodbye")
m.append("aloha")
ZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVxdWUKCmNsYXNzIE1lc3NhZ2VEZXF1ZShkZXF1ZSk6CiAgICBkZWYgYXBwZW5kKHNlbGYsIGl0ZW0pOgogICAgICAgIGRyb3BwZWRfbWVzc2FnZSA9IHNlbGYucG9wbGVmdCgpIGlmIGxlbihzZWxmKSA9PSBzZWxmLm1heGxlbiBlbHNlIE5vbmUKICAgICAgICBzdXBlcihNZXNzYWdlRGVxdWUsIHNlbGYpLmFwcGVuZChpdGVtKQogICAgICAgIGlmIGRyb3BwZWRfbWVzc2FnZToKICAgICAgICAgICAgcmFpc2UgTWVtb3J5RXJyb3IoZHJvcHBlZF9tZXNzYWdlKQoKbSA9IE1lc3NhZ2VEZXF1ZShtYXhsZW49MikKbS5hcHBlbmQoImhlbGxvIikKbS5hcHBlbmQoImdvb2RieWUiKQptLmFwcGVuZCgiYWxvaGEiKQo=