





"""simple docstring"""




from __future__ import annotations


class  __UpperCamelCase       :






							def __init__(     self   ,      lowerCAmelCase__   )			->				None:
								a   :	Any			=       data
								a   :	Node | None			=       None
								a   :	Node | None			=       None






def    _SCREAMING_SNAKE_CASE	(			_lowercase		:					Node | None      )				->None:  # In Order traversal of the tree






	'''simple docstring'''






	if tree:
		display(tree.left      )
		print(tree.data      )
		display(tree.right      )






def    _SCREAMING_SNAKE_CASE	(			_lowercase		:					Node | None      )				->int:






	'''simple docstring'''






	return 1 + max(depth_of_tree(tree.left      )					, depth_of_tree(tree.right      )      ) if tree else 0






def    _SCREAMING_SNAKE_CASE	(			_lowercase		:					Node      )				->bool:






	'''simple docstring'''






	if not tree:
		return True
	if tree.left and tree.right:
		return is_full_binary_tree(tree.left      ) and is_full_binary_tree(tree.right      )
	else:
		return not tree.left and not tree.right






def    _SCREAMING_SNAKE_CASE	(			)				->None:  # Main function for testing.






	'''simple docstring'''






	a   :	Tuple			=       Node(1      )
	a   :	List[str]			=       Node(2      )
	a   :	int			=       Node(3      )
	a   :	Tuple			=       Node(4      )
	a   :	int			=       Node(5      )
	a   :	List[str]			=       Node(6      )
	a   :	List[Any]			=       Node(7      )
	a   :	Dict			=       Node(8      )
	a   :	Optional[int]			=       Node(9      )

	print(is_full_binary_tree(_lowercase      )      )
	print(depth_of_tree(_lowercase      )      )
	print("Tree is: "      )
	display(_lowercase      )


if __name__ == "__main__":
		main()









"""simple docstring"""




a		:				str  			=    8.314_4598






def    _SCREAMING_SNAKE_CASE	(			_lowercase		:					float					, _lowercase		:					float      )				->float:






	'''simple docstring'''






	if temperature < 0:
		raise Exception("Temperature cannot be less than 0 K"      )
	if molar_mass <= 0:
		raise Exception("Molar mass cannot be less than or equal to 0 kg/mol"      )
	else:
		return (3 * UNIVERSAL_GAS_CONSTANT * temperature / molar_mass) ** 0.5


if __name__ == "__main__":
		import doctest

		# run doctest
		doctest.testmod()

		# example
		a		:				Any  			=    300
		a		:				Dict  			=    28
		a		:				Dict  			=    rms_speed_of_molecule(temperature, molar_mass)
		print(F'''Vrms of Nitrogen gas at 300 K is {vrms} m/s''')


