






'''simple docstring'''



from collections.abc import Callable

import numpy as np



def  __UpperCAmelCase						(					SCREAMING_SNAKE_CASE__:						Callable,       SCREAMING_SNAKE_CASE__:						float,       SCREAMING_SNAKE_CASE__:						float,       SCREAMING_SNAKE_CASE__:						float,       SCREAMING_SNAKE_CASE__:						float     )	->      np.array:

   """simple docstring"""
   __a					  =     int(np.ceil((x_end - xa) / step_size     )     )
   __a					  =     np.zeros((n + 1,)     )
   __a					  =     ya
   __a					  =     xa

   for k in range(SCREAMING_SNAKE_CASE__     ):
      __a					  =     y[k] + step_size * ode_func(SCREAMING_SNAKE_CASE__,       y[k]     )
      __a					  =     y[k] + (
          (step_size / 2) * (ode_func(SCREAMING_SNAKE_CASE__,       y[k]     ) + ode_func(x + step_size,       SCREAMING_SNAKE_CASE__     ))
      )
      x += step_size

   return y


if __name__ == "__main__":
 import doctest

 doctest.testmod()







'''simple docstring'''



from math import isqrt



def  __UpperCAmelCase						(					SCREAMING_SNAKE_CASE__:						int     )	->      bool:

   """simple docstring"""
   return all(number % divisor != 0 for divisor in range(2,       isqrt(SCREAMING_SNAKE_CASE__     ) + 1     )     )



def  __UpperCAmelCase						(					SCREAMING_SNAKE_CASE__:						int = 10**6     )	->      int:

   """simple docstring"""
   __a					  =     0
   __a					  =     1
   __a					  =     7
   while prime_candidate < max_prime:
      primes_count += is_prime(SCREAMING_SNAKE_CASE__     )

      cube_index += 1
      prime_candidate += 6 * cube_index

   return primes_count


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