var things = {} func get_unique_count(): return things.size() func add(thing): if(things.has(thing)): things[thing] += 1 else: things[thing] = 1 func has(thing): return things.has(thing) func get(thing): var to_return = 0 if(things.has(thing)): to_return = things[thing] return to_return func sum(): var count = 0 for key in things: count += things[key] return count func to_s(): var to_return = "" for key in things: to_return += str(key, ": ", things[key], "\n") to_return += str("sum: ", sum()) return to_return func get_max_count(): var max_val = null for key in things: if(max_val == null or things[key] > max_val): max_val = things[key] return max_val func add_array_items(array): for i in range(array.size()): add(array[i])