
def 						__magic_name__			(   __a      :	float	,		__a      :	float	,		__a      :	int						):



     '''simple docstring'''




     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(__a	,		__a						):
          raise Exception("""Years to repay must be an integer > 0"""						)

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

     # Years to repay is multiplied by 12 to get number of payments as payment is monthly
     UpperCamelCase__				=    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()







from __future__ import annotations






def 						__magic_name__			(   __a      :	list[list[int]]						):



     '''simple docstring'''




     for i in range(1	,		len(matrix[0]						)						):
          matrix[0][i] += matrix[0][i - 1]

     # preprocessing the first column
     for i in range(1	,		len(__a						)						):
          matrix[i][0] += matrix[i - 1][0]

     # updating the path cost for current position
     for i in range(1	,		len(__a						)						):
          for j in range(1	,		len(matrix[0]						)						):
               matrix[i][j] += min(matrix[i - 1][j]	,		matrix[i][j - 1]						)

     return matrix[-1][-1]


if __name__ == "__main__":
    import doctest

    doctest.testmod()





