



'''simple docstring'''



class _UpperCamelCase		:





				'''simple docstring'''





				def __init__(							self  :  Optional[Any]  ,       _lowerCAmelCase  :  Union[str, Any]):







											'''simple docstring'''

											__lowercase       	=val
											__lowercase       	=None
											__lowercase       	=None

				def 				__lowerCamelCase     (							self  :  int  ,       _lowerCAmelCase  :  Optional[int]):







											'''simple docstring'''

											if self.val:
																		if val < self.val:
																									if self.left is None:
																																__lowercase       	=Node(_lowerCAmelCase)
																									else:
																																self.left.insert(_lowerCAmelCase)
																		elif val > self.val:
																									if self.right is None:
																																__lowercase       	=Node(_lowerCAmelCase)
																									else:
																																self.right.insert(_lowerCAmelCase)
											else:
																		__lowercase       	=val



def   _A       (   _lowerCAmelCase  ,   _lowerCAmelCase					):



							"""simple docstring"""



							if root:
														inorder(root.left  ,   _lowerCAmelCase					)
														res.append(root.val					)
														inorder(root.right  ,   _lowerCAmelCase					)



def   _A       (   _lowerCAmelCase					):



							"""simple docstring"""



							if len(_lowerCAmelCase					) == 0:
														return arr
							__lowercase       	=Node(arr[0]					)
							for i in range(1  ,   len(_lowerCAmelCase					)					):
														root.insert(arr[i]					)
							# Traverse BST in order.
							__lowercase       	=[]
							inorder(_lowerCAmelCase  ,   _lowerCAmelCase					)
							return res


if __name__ == "__main__":
		print(tree_sort([10, 1, 3, 2, 9, 14, 13]))








'''simple docstring'''



from functools import lru_cache



def   _A       (   _lowerCAmelCase					):



							"""simple docstring"""



							__lowercase       	=2
							__lowercase       	=set()
							while i * i <= n:
														if n % i:
																					i += 1
														else:
																					n //= i
																					factors.add(_lowerCAmelCase					)
							if n > 1:
														factors.add(_lowerCAmelCase					)
							return factors



@lru_cache
def   _A       (   _lowerCAmelCase					):



							"""simple docstring"""



							return len(unique_prime_factors(_lowerCAmelCase					)					)



def   _A       (   _lowerCAmelCase					):



							"""simple docstring"""



							return len(set(_lowerCAmelCase					)					) in (0, 1)



def   _A       (   _lowerCAmelCase					):



							"""simple docstring"""



							__lowercase       	=2

							while True:
														# Increment each value of a generated range
														__lowercase       	=[base + i for i in range(_lowerCAmelCase					)]

														# Run elements through out unique_prime_factors function
														# Append our target number to the end.
														__lowercase       	=[upf_len(_lowerCAmelCase					) for x in group]
														checker.append(_lowerCAmelCase					)

														# If all numbers in the list are equal, return the group variable.
														if equality(_lowerCAmelCase					):
																					return group

														# Increment our base variable by 1
														base += 1



def   _A       (   _lowerCAmelCase = 4					):



							"""simple docstring"""



							__lowercase       	=run(_lowerCAmelCase					)
							return results[0] if len(_lowerCAmelCase					) else None


if __name__ == "__main__":
		print(solution())



