def add(self, val):
_lists = self._lists<EOL>_maxes = self._maxes<EOL>if _maxes:<EOL><INDENT>pos = bisect_right(_maxes, val)<EOL>if pos == len(_maxes):<EOL><INDENT>pos -= <NUM_LIT:1><EOL>_lists[pos].append(val)<EOL>_maxes[pos] = val<EOL><DEDENT>else:<EOL><INDENT>insort(_lists[pos], val)<EOL><DEDENT>self._expand(pos)<EOL><DEDENT>else:<EOL><INDENT>_lists.append([val])<EOL>_maxes.append(val)<EOL><DEDENT>self._len += <NUM_LIT:1><EOL>
Add the element *val* to the list.