




import math



def 							_A   (						lowerCAmelCase_     :					int			):
     """simple docstring"""

     if 1 < number < 4:
          # 2 and 3 are primes
          return True
     elif number < 2 or number % 2 == 0 or number % 3 == 0:
          # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
          return False

     # All primes number are in format of 6k +/- 1
     for i in range(5   ,				int(math.sqrt(lowerCAmelCase_			) + 1			)   ,				6			):
          if number % i == 0 or number % (i + 2) == 0:
               return False
     return True



def 							_A   (						lowerCAmelCase_     :					Union[str, Any] = 6008_5147_5143			):
     """simple docstring"""

     try:
          lowerCAmelCase__		= int(lowerCAmelCase_			)
     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."			)
     lowerCAmelCase__		= 0
     if is_prime(lowerCAmelCase_			):
          return n
     while n % 2 == 0:
          n //= 2
     if is_prime(lowerCAmelCase_			):
          return n
     for i in range(3   ,				int(math.sqrt(lowerCAmelCase_			)			) + 1   ,				2			):
          if n % i == 0:
               if is_prime(n // i			):
                    lowerCAmelCase__		= n // i
                    break
               elif is_prime(lowerCAmelCase_			):
                    lowerCAmelCase__		= i
     return max_number


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








"""simple docstring"""







from collections import Counter
from functools import total_ordering

from data_structures.heap.heap import Heap


@total_ordering
class     __UpperCAmelCase:




						"""simple docstring"""




						def __init__(   self       ,  snake_case__       ,  snake_case__			):
												'''simple docstring'''
												lowercase__				:      Optional[Any]=       word
												lowercase__				:      Any=       count




						def __eq__(   self       ,  snake_case__			):
												'''simple docstring'''
												if not isinstance(snake_case__       ,  snake_case__			):
																		return NotImplemented
												return self.count == other.count




						def __lt__(   self       ,  snake_case__			):
												'''simple docstring'''
												if not isinstance(snake_case__       ,  snake_case__			):
																		return NotImplemented
												return self.count < other.count





def 						lowercase__(A					,		A						)				->list[str]:




						"""simple docstring"""



						lowercase__				:      Heap[WordCount]=       Heap()
						lowercase__				:      str=       Counter(A						)
						heap.build_max_heap(
						    [WordCount(A					,		A						) for word, count in count_by_word.items()]						)
						return [heap.extract_max().word for _ in range(min(A					,		len(A						)						)						)]


if __name__ == "__main__":
			import doctest

			doctest.testmod()






