code: def push(self, x):
          
          assert x not in self.rank
          i = len(self.heap)
          self.heap.append(x)    # add a new leaf
          self.rank[x] = i
          self.up(i)
docs: Insert new element x in the heap.
             Assumption: x is not already in the heap