from string import ascii_uppercase

def chiffrement_affine(a,b,lettre):
    lettre = lettre.upper() # on convertir la lettre en majuscule... au cas où...
    x = ascii_uppercase.index(lettre)
    r = (a * x + b) % 26
    
    return ascii_uppercase[r]
   
def dechiffrement_affine(a,b,lettre):
    lettre = lettre.upper() # on convertir la lettre en majuscule... au cas où...
    x = ascii_uppercase.index(lettre)
    
    # calcule l'inverse de a modulo 26
    
    i = 0
    while (a*i%26 != 1):
        i += 1
    
    # calcule le rang de la lettre initiale
    
    y = ( i * (x-b) ) % 26
    
    return ascii_uppercase[y]