






"""simple docstring"""





from collections.abc import Callable

import numpy as np







def   lowerCAmelCase_( SCREAMING_SNAKE_CASE ,	SCREAMING_SNAKE_CASE ,	SCREAMING_SNAKE_CASE ,	SCREAMING_SNAKE_CASE ,	SCREAMING_SNAKE_CASE					)					->	np.array:
    """simple docstring"""

    UpperCamelCase__         =    int(np.ceil((x_end - xa) / step_size					)					)
    UpperCamelCase__         =    np.zeros((n + 1,)					)
    UpperCamelCase__         =    ya
    UpperCamelCase__         =    xa

    for k in range(SCREAMING_SNAKE_CASE					):
        UpperCamelCase__         =    y[k] + step_size * ode_func(SCREAMING_SNAKE_CASE ,	y[k]					)
        UpperCamelCase__         =    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"""





def   lowerCAmelCase_( SCREAMING_SNAKE_CASE					)					->	bool:
    """simple docstring"""

    UpperCamelCase__         =    (1 + 24 * n) ** 0.5
    return ((1 + root) / 6) % 1 == 0







def   lowerCAmelCase_( SCREAMING_SNAKE_CASE = 50_00					)					->	int:
    """simple docstring"""

    UpperCamelCase__         =    [(i * (3 * i - 1)) // 2 for i in range(1 ,	SCREAMING_SNAKE_CASE					)]
    for i, pentagonal_i in enumerate(SCREAMING_SNAKE_CASE					):
        for j in range(SCREAMING_SNAKE_CASE ,	len(SCREAMING_SNAKE_CASE					)					):
            UpperCamelCase__         =    pentagonal_nums[j]
            UpperCamelCase__         =    pentagonal_i + pentagonal_j
            UpperCamelCase__         =    pentagonal_j - pentagonal_i
            if is_pentagonal(SCREAMING_SNAKE_CASE					) and is_pentagonal(SCREAMING_SNAKE_CASE					):
                return b

    return -1


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




