search trees balanced binary 2059528