the values in ascending order def __iter__(self)if self left !nonefor elem in self leftyield elem yield self val if self right !none for elem in self right yield elem below are the methods of the binarysearchtree class def __init__(self)self root none def insert(self,val) the __insert function is recursive and is not passed self parameter it is static function (not method of the classbut is hidden inside the insert function so users of the class will not know it exists def __insert(root,val) if root =nonereturn binarysearchtree __node(val if val root getval() root setleft(__insert(root getleft(),val) else root setright(__insert(root getright(),val) return root self root __insert(self root,val def __iter__(self)if self root !nonereturn self root __iter__( elsereturn [__iter__( def main() input("enter list of numbers" lst split( tree binarysearchtree( for in lsttree insert(float( ) for in treeprint( if __name__ ="__main__"main(when the program in sect is run with list of values (they must have an orderingit will print the values in ascending order for instanceif is entered at the keyboardthe program behaves as follows this copy belongs to 'acha