| 9 | return elts |
| 10 | |
| 11 | class Set: |
| 12 | def __init__(self): |
| 13 | self.elts = {} |
| 14 | def __len__(self): |
| 15 | return len(self.elts) |
| 16 | def __contains__(self, elt): |
| 17 | return elt in self.elts |
| 18 | def add(self, elt): |
| 19 | self.elts[elt] = elt |
| 20 | def elements(self): |
| 21 | return self.elts.keys() |
| 22 | def has_elt(self, elt): |
| 23 | return elt in self.elts |
| 24 | def remove(self, elt): |
| 25 | del self.elts[elt] |
| 26 | def copy(self): |
| 27 | c = Set() |
| 28 | c.elts.update(self.elts) |
| 29 | return c |
| 30 | |
| 31 | class Stack: |
| 32 | def __init__(self): |