






def     snake_case   (UpperCAmelCase__      ,       UpperCAmelCase__      ,       UpperCAmelCase__    )			->							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
  UpperCamelCase_:   List[str]        =							rate_per_annum / 1_2

  # Years to repay is multiplied by 12 to get number of payments as payment is monthly
  UpperCamelCase_:   List[str]        =							years_to_repay * 1_2

  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()


def 			lowerCAmelCase(      SCREAMING_SNAKE_CASE_ = 1_0_0_0_0_0_0			)->						int:



    """simple docstring"""






    UpperCamelCase_			  =						[i - 1 for i in range(limit + 1			)]

    for i in range(2			,						limit + 1			):
        if phi[i] == i - 1:
            for j in range(2 * i			,						limit + 1			,						SCREAMING_SNAKE_CASE_			):
                phi[j] -= phi[j] // i

    return sum(phi[2 : limit + 1]			)


if __name__ == "__main__":
 print(solution())
