


"""simple docstring"""
def   _a			( _SCREAMING_SNAKE_CASE			,	_SCREAMING_SNAKE_CASE			,	_SCREAMING_SNAKE_CASE			)      ->			float:
							if principal <= 0:
														raise Exception("""Principal borrowed must be > 0"""			)
							if rate_per_annum < 0:
														raise Exception("""Rate of interest must be >= 0"""			)
							if years_to_repay <= 0 or not isinstance(_SCREAMING_SNAKE_CASE			,	_SCREAMING_SNAKE_CASE			):
														raise Exception("""Years to repay must be an integer > 0"""			)

							# Yearly rate is divided by 12 to get monthly rate
							snake_case_          =						rate_per_annum / 12

							# Years to repay is multiplied by 12 to get number of payments as payment is monthly
							snake_case_          =						years_to_repay * 12

							return (
							    principal
							    * rate_per_month
							    * (1 + rate_per_month) ** number_of_payments
							    / ((1 + rate_per_month) ** number_of_payments - 1)
							)


if __name__ == "__main__":
				import doctest

				doctest.testmod()








"""simple docstring"""
def   _a			( _SCREAMING_SNAKE_CASE			,	_SCREAMING_SNAKE_CASE			)      ->			str:
							return "\n".join(
							    f"""{number} * {i} = {number * i}""" for i in range(1			,	number_of_terms + 1			)			)


if __name__ == "__main__":
				print(multiplication_table(number=5, number_of_terms=10))



