

'''simple docstring'''






from collections.abc import Callable

import numpy as np



def 			__a		(       lowerCAmelCase__ :    List[str]     ,  lowerCAmelCase__ :    Union[str, Any]     ,  lowerCAmelCase__ :    List[str]     ,  lowerCAmelCase__ :    Dict     ,  lowerCAmelCase__ :    Dict      ):
     a__   :      List[str]     =						int(np.ceil((x_end - xa) / step_size      )      )
     a__   :      Any     =						np.zeros((n + 1,)      )
     a__   :      Dict     =						ya
     a__   :      Optional[int]     =						xa

     for k in range(lowerCAmelCase__      ):
          a__   :      Optional[int]     =						y[k] + step_size * ode_func(lowerCAmelCase__     ,  y[k]      )
          a__   :      Tuple     =						y[k] + (
              (step_size / 2) * (ode_func(lowerCAmelCase__     ,  y[k]      ) + ode_func(x + step_size     ,  lowerCAmelCase__      ))
          )
          x += step_size

     return y


if __name__ == "__main__":
 import doctest

 doctest.testmod()

def 							UpperCAmelCase		(       lowercase				):







				"""simple docstring"""



				if not isinstance(lowercase				,     lowercase				):
								raise ValueError('''Input must be an integer'''				)
				if input_num <= 0:
								raise ValueError('''Input must be positive'''				)
				return sum(
				    divisor for divisor in range(1				,     input_num // 2 + 1				) if input_num % divisor == 0				)


if __name__ == "__main__":
		import doctest

		doctest.testmod()