





class  _a  :






							"""simple docstring"""

							def __init__(   self					:  int				,						a					:  int     )						->None:
													SCREAMING_SNAKE_CASE__  :					Tuple =       data
													SCREAMING_SNAKE_CASE__  :					BinaryTreeNode | None =       None
													SCREAMING_SNAKE_CASE__  :					BinaryTreeNode | None =       None







def    UpperCAmelCase				(  _lowerCamelCase   :	List[str]      , _lowerCamelCase   :	Optional[int]  ):





						'''simple docstring'''


						if node is None:
												SCREAMING_SNAKE_CASE__  :					Union[str, Any] =       BinaryTreeNode(_UpperCamelCase  )
												return node

						# binary search tree is not empty,
						# so we will insert it into the tree
						# if new_value is less than value of data in node,
						#  add it to left subtree and proceed recursively
						if new_value < node.data:
												SCREAMING_SNAKE_CASE__  :					Any =       insert(node.left_child      , _UpperCamelCase  )
						else:
												# if new_value is greater than value of data in node,
												#  add it to right subtree and proceed recursively
												SCREAMING_SNAKE_CASE__  :					List[Any] =       insert(node.right_child      , _UpperCamelCase  )
						return node







def    UpperCAmelCase				(  _lowerCamelCase   :	Tuple  ):  # if node is None,return





						'''simple docstring'''


						if node:
												SCREAMING_SNAKE_CASE__  :					str =       inorder(node.left_child  )
												SCREAMING_SNAKE_CASE__  :					Union[str, Any] =       [*inorder_array, node.data]
												SCREAMING_SNAKE_CASE__  :					Optional[int] =       inorder_array + inorder(node.right_child  )
						else:
												SCREAMING_SNAKE_CASE__  :					Tuple =       []
						return inorder_array







def    UpperCAmelCase				(  ):





						'''simple docstring'''


						SCREAMING_SNAKE_CASE__  :					Dict =       insert(_UpperCamelCase      , 15  )
						insert(_UpperCamelCase      , 10  )
						insert(_UpperCamelCase      , 25  )
						insert(_UpperCamelCase      , 6  )
						insert(_UpperCamelCase      , 14  )
						insert(_UpperCamelCase      , 20  )
						insert(_UpperCamelCase      , 60  )
						return root







def    UpperCAmelCase				(  ):





						'''simple docstring'''


						SCREAMING_SNAKE_CASE__  :					Tuple =       make_tree()
						print("Printing values of binary search tree in Inorder Traversal."  )
						inorder(_UpperCamelCase  )


if __name__ == "__main__":
				import doctest

				doctest.testmod()
				main()




class 							lowerCAmelCase_		:







		def __init__(    self  :   int       ,		UpperCAmelCase_  :   int					)       ->		None:


						'''simple docstring'''







						_UpperCAmelCase						:  Tuple     					=	data
						_UpperCAmelCase						:  BinaryTreeNode | None     					=	None
						_UpperCAmelCase						:  BinaryTreeNode | None     					=	None


def 	_A	(   _UpperCamelCase      ,					_UpperCamelCase			):
				if node is None:
								_UpperCAmelCase						:  Union[str, Any]     					=	BinaryTreeNode(_UpperCamelCase			)
								return node

				# binary search tree is not empty,
				# so we will insert it into the tree
				# if new_value is less than value of data in node,
				#  add it to left subtree and proceed recursively
				if new_value < node.data:
								_UpperCAmelCase						:  Any     					=	insert(node.left_child      ,					_UpperCamelCase			)
				else:
								# if new_value is greater than value of data in node,
								#  add it to right subtree and proceed recursively
								_UpperCAmelCase						:  List[Any]     					=	insert(node.right_child      ,					_UpperCamelCase			)
				return node


def 	_A	(   _UpperCamelCase			):  # if node is None,return
				if node:
								_UpperCAmelCase						:  str     					=	inorder(node.left_child			)
								_UpperCAmelCase						:  Union[str, Any]     					=	[*inorder_array, node.data]
								_UpperCAmelCase						:  Optional[int]     					=	inorder_array + inorder(node.right_child			)
				else:
								_UpperCAmelCase						:  Tuple     					=	[]
				return inorder_array


def 	_A	(   ):
				_UpperCAmelCase						:  Dict     					=	insert(_UpperCamelCase      ,					15			)
				insert(_UpperCamelCase      ,					10			)
				insert(_UpperCamelCase      ,					25			)
				insert(_UpperCamelCase      ,					6			)
				insert(_UpperCamelCase      ,					14			)
				insert(_UpperCamelCase      ,					20			)
				insert(_UpperCamelCase      ,					60			)
				return root


def 	_A	(   ):
				# main function
				_UpperCAmelCase						:  Tuple     					=	make_tree()
				print('''Printing values of binary search tree in Inorder Traversal.'''			)
				inorder(_UpperCamelCase			)


if __name__ == "__main__":
					import doctest

					doctest.testmod()
					main()
