




def 		a_							( __lowerCAmelCase				):

  if isinstance(__lowerCAmelCase   , __lowerCAmelCase				):
    raise TypeError('''\'float\' object cannot be interpreted as an integer'''				)
  if isinstance(__lowerCAmelCase   , __lowerCAmelCase				):
    raise TypeError('''\'str\' object cannot be interpreted as an integer'''				)

  if num == 0:
    return "0b0"

  lowerCAmelCase__										=      False

  if num < 0:
    lowerCAmelCase__										=      True
    lowerCAmelCase__										=      -num

  lowerCAmelCase__										=      []
  while num > 0:
    binary.insert(0   , num % 2				)
    num >>= 1

  if negative:
    return "-0b" + "".join(str(__lowerCAmelCase				) for e in binary				)

  return "0b" + "".join(str(__lowerCAmelCase				) for e in binary				)


if __name__ == "__main__":
      import doctest

      doctest.testmod()







import numpy as np
def 		a_							( __lowerCAmelCase   , __lowerCAmelCase   , __lowerCAmelCase   , __lowerCAmelCase   , __lowerCAmelCase				):
  lowerCAmelCase__										=      int(np.ceil((x_end - xa) / h				)				)
  lowerCAmelCase__										=      np.zeros((n + 1,)				)
  lowerCAmelCase__										=      ya
  lowerCAmelCase__										=      xa

  for k in range(__lowerCAmelCase				):
    lowerCAmelCase__										=      f(__lowerCAmelCase   , y[k]				)
    lowerCAmelCase__										=      f(x + 0.5 * h   , y[k] + 0.5 * h * ka				)
    lowerCAmelCase__										=      f(x + 0.5 * h   , y[k] + 0.5 * h * ka				)
    lowerCAmelCase__										=      f(x + h   , y[k] + h * ka				)
    lowerCAmelCase__										=      y[k] + (1 / 6) * h * (ka + 2 * ka + 2 * ka + ka)
    x += h

  return y


if __name__ == "__main__":
      import doctest

      doctest.testmod()

