'''simple docstring'''




from itertools import count
from math import asin, pi, sqrt

def      UpperCamelCase_							( _UpperCAmelCase  :				float   )   ->   float:


       """simple docstring"""







       return (
           (1 - 2 * point) * sqrt(point - point**2   ) + 2 * point + asin(sqrt(1 - point   )   )
       ) / 4

def      UpperCamelCase_							( _UpperCAmelCase  :				int   )   ->   float:


       """simple docstring"""







       _UpperCAmelCase					:  Any											=   (circles_number + 1 - sqrt(2 * circles_number   )) / (
           2 * (circles_number**2 + 1)
       )
       _UpperCAmelCase					:  Tuple											=   circles_number * intersection_y

       _UpperCAmelCase					:  int											=   intersection_x * intersection_y / 2
       _UpperCAmelCase					:  str											=   circle_bottom_arc_integral(
           1 / 2   ) - circle_bottom_arc_integral(_UpperCAmelCase   )

       return triangle_area + concave_region_area

def      UpperCamelCase_							( _UpperCAmelCase  :				float = 1 / 1_000   )   ->   int:


       """simple docstring"""







       _UpperCAmelCase					:  List[Any]											=   (1 - pi / 4) / 4

       for n in count(1   ):
              if concave_triangle_area(_UpperCAmelCase   ) / l_section_area < fraction:
                     return n

       return -1


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


'''simple docstring'''




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

def      UpperCamelCase_							( _UpperCAmelCase  :				int   )   ->   list[int]:


       """simple docstring"""







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

       # Odd sieve for numbers in range [3, num - 1]
       _UpperCAmelCase					:  Optional[int]											=   bytearray(b"\x01"   ) * ((num >> 1) - 1)

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

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


if __name__ == "__main__":
  import doctest

  doctest.testmod()

