


'''simple docstring'''






import math


def 					_snake_case   (     A       )						->    list[int]:
							if not isinstance(A ,    A       ):
														lowerCAmelCase__          =	F"""Input value of [number={number}] must be an integer"""
														raise TypeError(A       )
							if number < 1:
														lowerCAmelCase__          =	F"""Input value of [number={number}] must be a positive integer"""
														raise ValueError(A       )
							lowerCAmelCase__          =	[number]
							while number != 1:
														if number % 2 == 0:
																					lowerCAmelCase__          =	math.floor(math.sqrt(A       )       )
														else:
																					lowerCAmelCase__          =	math.floor(
																					    math.sqrt(A       ) * math.sqrt(A       ) * math.sqrt(A       )       )
														sequence.append(A       )
							return sequence


if __name__ == "__main__":
		import doctest

		doctest.testmod()



'''simple docstring'''






from .hash_table import HashTable
from .number_theory.prime_numbers import is_prime, next_prime




class 		a__				(							a__  ):





							'''simple docstring'''






							def __init__(		self					,    *lowerCamelCase_					,    **lowerCamelCase_   )       ->							Optional[int]:
														super().__init__(*lowerCamelCase_					,    **lowerCamelCase_   )







							def   __SCREAMING_SNAKE_CASE							(		self					,    lowerCamelCase_					,    lowerCamelCase_   )       ->							Optional[int]:
														lowerCAmelCase__          =	(
														    next_prime(value % self.size_table   )
														    if not is_prime(value % self.size_table   )
														    else value % self.size_table
														)  # gt = bigger than
														return next_prime_gt - (data % next_prime_gt)







							def   __SCREAMING_SNAKE_CASE							(		self					,    lowerCamelCase_					,    lowerCamelCase_					,    lowerCamelCase_   )       ->							Optional[int]:
														return (increment * self.__hash_function_a(lowerCamelCase_					,    lowerCamelCase_   )) % self.size_table







							def   __SCREAMING_SNAKE_CASE							(		self					,    lowerCamelCase_					,    lowerCamelCase_=None   )       ->							Any:
														lowerCAmelCase__          =	1
														lowerCAmelCase__          =	self.hash_function(lowerCamelCase_   )

														while self.values[new_key] is not None and self.values[new_key] != key:
																					lowerCAmelCase__          =	(
																					    self.__hash_double_function(lowerCamelCase_					,    lowerCamelCase_					,    lowerCamelCase_   )
																					    if self.balanced_factor() >= self.lim_charge
																					    else None
																					)
																					if new_key is None:
																												break
																					else:
																												i += 1

														return new_key