type
ElementKind = enum inner, leaf
TElement[TKey, TData] = object
case kind: ElementKind
of inner:
key: TKey
left, right: ref TElement[Tkey, TData]
of leaf:
data: ref TData
dHlwZQogIEVsZW1lbnRLaW5kID0gZW51bSBpbm5lciwgbGVhZgogIFRFbGVtZW50W1RLZXksIFREYXRhXSA9IG9iamVjdAogICAgY2FzZSBraW5kOiBFbGVtZW50S2luZAogICAgb2YgaW5uZXI6CiAgICAgIGtleTogVEtleQogICAgICBsZWZ0LCByaWdodDogcmVmIFRFbGVtZW50W1RrZXksIFREYXRhXQogICAgb2YgbGVhZjoKICAgICAgZGF0YTogcmVmIFREYXRh