1class orderedset(object):
2    def __init__(self):
3        self.items = []
4        self.set = set()
5
6    def add(self, item):
7        if item in self.set:
8            return False
9        self.items.append(item)
10        self.set.add(item)
11        return True
12
13    def pop(self):
14        item = self.items.pop()
15        self.set.remove(item)
16        return item
17