class Stack:
    class StackElem:
        def __init__(self, elt, prec):
            self.elt = elt
            self.prec = prec

    def __init__(self, elts=[]):
        self.first = None
        for e in elts:
            self.add(e)

    def add(self, e):
        se = self.StackElem(e, self.first)
        self.first = se

    def pop(self):
        e = self.first.elt
        self.first = self.first.prec
        return e

    def empty(self):
        return self.first is None
