





from itertools import compress, repeat
from math import ceil, sqrt




def   _SCREAMING_SNAKE_CASE      (	snake_case_		:						int						):

     if num <= 2:
          return []
     if num == 3:
          return [2]

     # Odd sieve for numbers in range [3, num - 1]
     __magic_name__				=       bytearray(B'''\x01'''						) * ((num >> 1) - 1)

     for i in range(3 ,     int(sqrt(snake_case_						)						) + 1 ,     2						):
          if sieve[(i >> 1) - 1]:
               __magic_name__				=       i**2
               __magic_name__				=       repeat(
                   0 ,     ceil((num - i_squared) / (i << 1)						)						)

     return [2] + list(compress(range(3 ,     snake_case_ ,     2						) ,     snake_case_						)						)


if __name__ == "__main__":
    import doctest

    doctest.testmod()






def   _SCREAMING_SNAKE_CASE      (	snake_case_		:						int						):
     if not isinstance(snake_case_ ,     snake_case_						):
          __magic_name__				=       f'Input value of [number={number}] must be an integer'
          raise TypeError(snake_case_						)
     if number < 0 or number % 2 == 1:
          return False
     __magic_name__				=       int(number**0.5						)
     return number == number_sqrt * (number_sqrt + 1)


if __name__ == "__main__":
    import doctest

    doctest.testmod()