



def 	SCREAMING_SNAKE_CASE_							(	_snake_case	:int = 600_851_475_143				)  ->     int:

   try:
      _A      =       int(_snake_case				)
   except (TypeError, ValueError):
      raise TypeError('''Parameter n must be int or castable to int.'''				)
   if n <= 0:
      raise ValueError('''Parameter n must be greater than or equal to one.'''				)
   _A      =       1
   _A      =       2
   while i * i <= n:
      while n % i == 0:
         _A      =       i
         n //= i
      i += 1
   if n > 1:
      _A      =       n
   return int(_snake_case				)


if __name__ == "__main__":
   print(f'{solution() = }')








from graphs.minimum_spanning_tree_kruskal import kruskal

def 	SCREAMING_SNAKE_CASE_							(	)  ->     Tuple:
   _A      =       9
   _A      =       [
       [0, 1, 4],
       [0, 7, 8],
       [1, 2, 8],
       [7, 8, 7],
       [7, 6, 1],
       [2, 8, 2],
       [8, 6, 6],
       [2, 3, 7],
       [2, 5, 4],
       [6, 5, 2],
       [3, 5, 14],
       [3, 4, 9],
       [5, 4, 10],
       [1, 7, 11],
   ]

   _A      =       kruskal(_snake_case	,   _snake_case				)

   _A      =       [
       [7, 6, 1],
       [2, 8, 2],
       [6, 5, 2],
       [0, 1, 4],
       [2, 5, 4],
       [2, 3, 7],
       [0, 7, 8],
       [3, 4, 9],
   ]

   assert sorted(_snake_case				) == sorted(_snake_case				)



