





def    A				(							UpperCAmelCase  ,  UpperCAmelCase  ,  UpperCAmelCase				):
					_snake_case       :					str				       =   len(_lowerCamelCase				)
					_snake_case       :					List[str]				       =   [[0] * n for i in range(_lowerCamelCase				)]
					for i in range(_lowerCamelCase				):
										_snake_case       :					Tuple				       =   y_points[i]

					for i in range(2  ,  _lowerCamelCase				):
										for j in range(_lowerCamelCase  ,  _lowerCamelCase				):
															_snake_case       :					List[str]				       =   (
															    (xa - x_points[j - i + 1]) * q[j][i - 1]
															    - (xa - x_points[j]) * q[j - 1][i - 1]
															) / (x_points[j] - x_points[j - i + 1])

					return [q[n - 1][n - 1], q]


if __name__ == "__main__":
				import doctest

				doctest.testmod()






import math

from numpy import inf
from scipy.integrate import quad







def    A				(							UpperCAmelCase				):
					if num <= 0:
										raise ValueError("math domain error"				)

					return quad(UpperCAmelCase  ,  0  ,  UpperCAmelCase  ,  args=(UpperCAmelCase)				)[0]







def    A				(							UpperCAmelCase  ,  UpperCAmelCase				):
					return math.pow(UpperCAmelCase  ,  z - 1				) * math.exp(-x				)


if __name__ == "__main__":
							from doctest import testmod

							testmod()