#include <stdio.h>

def translate(x): #helper function used to translate a letter into a number
    if x == 'A':
        return 0
    elif x == 'B':
        return 1
    elif x == 'C':
        return 2
    elif x == 'D':
        return 3
    elif x == 'E':
        return 4
    elif x == 'F':
        return 5
    elif x == 'G':
        return 6
    elif x == 'H':
        return 7
    elif x == 'I':
        return 8
    elif x == 'J':
        return 9
    elif x == 'K':
        return 10
    elif x == 'L':
        return 11
    elif x == 'M':
        return 12
    elif x == 'N':
        return 13
    elif x == 'O':
        return 14
    elif x == 'P':
        return 15
    elif x == 'Q':
        return 16
    elif x == 'R':
        return 17
    elif x == 'S':
        return 18
    elif x == 'T':
        return 19
    elif x == 'U':
        return 20
    elif x == 'V':
        return 21
    elif x == 'W':
        return 22
    elif x == 'X':
        return 23
    elif x == 'Y':
        return 24
    elif x == 'Z':
        return 25
        
def backToLetter(x):  #a helper function used to turn a number back into a letter
    if x == 0:
        return 'A'
    elif x == 1:
        return 'B'
    elif x == 2:
        return 'C'
    elif x == 3:
        return 'D'
    elif x == 4:
        return 'E'
    elif x == 5:
        return 'F'
    elif x == 6:
        return 'G'
    elif x == 7:
        return 'H'
    elif x == 8:
        return 'I'
    elif x == 9:
        return 'J'
    elif x == 10:
        return 'K'
    elif x == 11:
        return 'L'
    elif x == 12:
        return 'M'
    elif x == 13:
        return 'N'
    elif x == 14:
        return 'O'
    elif x == 15:
        return 'P'
    elif x == 16:
        return 'Q'
    elif x == 17:
        return 'R'
    elif x == 18:
        return 'S'
    elif x == 19:
        return 'T'
    elif x == 20:
        return 'U'
    elif x == 21:
        return 'V'
    elif x == 22:
        return 'W'
    elif x == 23:
        return 'X'
    elif x == 24:
        return 'Y'
    elif x == 25:
        return 'Z'

def affineCrypt(plaintext):               #a function representing the Affine Cipher. Takes a string input
    newtext = plaintext.replace(" ", '')  #replacing all spaces
    p = 0
    i = ""
    c = ""
    for x in newtext:                     #going through each letter of the plaintext
        p = translate(x)                  #translating each letter into a number
        c += backToLetter(((5*p)+9) % 26) #employ the formula and turn the result back into a letter and place it into the ciphertext string
    return c

if __name__ == "__main__":
	plaintext = "CRYPTOISFUN"
	print(affineCrypt(plaintext))