



import math






def        A       (      _lowerCamelCase						):





							'''simple docstring'''




							assert isinstance(_lowerCamelCase       ,				_lowerCamelCase						) and (
							    number >= 0
							), "'number' must been an int and positive"

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

							_lowerCAmelCase  :							Union[str, Any]				     =					range(3       ,				int(math.sqrt(_lowerCamelCase						) + 1						)       ,				2						)
							return not any(not number % i for i in odd_numbers						)






def        A       (      _lowerCamelCase       ,				_lowerCamelCase=1       ,				**_lowerCamelCase						):





							'''simple docstring'''




							_lowerCAmelCase  :							List[Any]				     =					factor * value
							_lowerCAmelCase  :							List[str]				     =					value

							while not is_prime(_lowerCamelCase						):
														value += 1 if not ("desc" in kwargs and kwargs["desc"] is True) else -1

							if value == first_value_val:
														return next_prime(value + 1       ,				**_lowerCamelCase						)
							return value





def        A       (      _lowerCamelCase						):





							'''simple docstring'''




							if length <= 0 or not isinstance(_lowerCamelCase       ,				_lowerCamelCase						):
														raise ValueError("Length must be a positive integer."						)
							return [n * (2 * n - 1) for n in range(_lowerCamelCase						)]


if __name__ == "__main__":
						print(hexagonal_numbers(length=5))
						print(hexagonal_numbers(length=10))
