



def   _lowerCAmelCase   (						):
      for n in range(1						,  1_000_000	):
            yield n * (n + 1) // 2

def   _lowerCAmelCase   (						A__	):
      lowercase__     =  1
      lowercase__     =  2
      while i * i <= n:
            lowercase__     =  0
            while n % i == 0:
                  n //= i
                  multiplicity += 1
            divisors_count *= multiplicity + 1
            i += 1
      if n > 1:
            divisors_count *= 2
      return divisors_count

def   _lowerCAmelCase   (						):
      return next(i for i in triangle_number_generator() if count_divisors(A__	) > 500	)


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





def   _lowerCAmelCase   (						A__						,  A__						,  A__	):
      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
      lowercase__     =  rate_per_annum / 12

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