





def A_     (		A__    )  ->		bool:
							if not all(x.isalpha() for x in string    ):
														raise ValueError('String must only contain alphabetic characters.'    )

							a__						:     List[str]			=    sorted(string.lower()    )
							return len(A__    ) == len(set(A__    )    )


if __name__ == "__main__":
				lowercase				:	Union[str, Any]      						=  input("""Enter a string """).strip()

				lowercase				:	Union[str, Any]      						=  is_isogram(input_str)
				print(F"""{input_str} is {'an' if isogram else 'not an'} isogram.""")









def A_     (		A__		,				A__		,				A__    )  ->		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(A__		,				A__    ):
              raise Exception('Years to repay must be an integer > 0'    )

       # Yearly rate is divided by 12 to get monthly rate
       a__						:     str			=    rate_per_annum / 12

       # Years to repay is multiplied by 12 to get number of payments as payment is monthly
       a__						:     List[Any]			=    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()


