





'''simple docstring'''


lowerCAmelCase      :  Any      							=1_000
def 							UpperCAmelCase_						(		__lowerCamelCase      :      float				):
   return x * x
def 							UpperCAmelCase_						(		__lowerCamelCase      :      str			,__lowerCamelCase      :      float			,__lowerCamelCase      :      float			,__lowerCamelCase      :      int = 4				):
   assert callable(
       __lowerCamelCase				), F'the function(object) passed should be callable your input : {function}'
   assert isinstance(__lowerCamelCase			,(float, int)				), F'a should be float or integer your input : {a}'
   assert isinstance(function(__lowerCamelCase				)			,(float, int)				), (
       "the function should return integer or float return type of your function, "
       F'{type(__lowerCamelCase				)}'
   )
   assert isinstance(__lowerCamelCase			,(float, int)				), F'b should be float or integer your input : {b}'
   assert (
       isinstance(__lowerCamelCase			,__lowerCamelCase				) and precision > 0
   ), F'precision should be positive integer your input : {precision}'

   # just applying the formula of simpson for approximate integration written in
   # mentioned article in first comment of this file and above this function

   lowercase_    :Optional[Any]					    =				(b - a) / N_STEPS
   lowercase_    :Optional[Any]					    =				function(__lowerCamelCase				) + function(__lowerCamelCase				)

   for i in range(1			,__lowerCamelCase				):
      lowercase_    :Union[str, Any]					    =				a + h * i
      result += function(__lowerCamelCase				) * (4 if i % 2 else 2)

   result *= h / 3
   return round(__lowerCamelCase			,__lowerCamelCase				)


if __name__ == "__main__":
 import doctest

 doctest.testmod()









'''simple docstring'''


import math
def 							UpperCAmelCase_						(		__lowerCamelCase      :      int				):

   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 							UpperCAmelCase_						(		__lowerCamelCase      :      int = 2_00_00_00				):
   return sum(num for num in range(3			,__lowerCamelCase			,2				) if is_prime(__lowerCamelCase				)				) + 2 if n > 2 else 0


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


