# Definirea alfabetului specificat
alfabet = "abcdefghijklmnoprstuvxz"

# Definirea unui dicționar pentru a stoca echivalențele literă-număr
echivalent = { litera : str(index+1).zfill(2) for index, litera in enumerate(alfabet) }

# Inversarea dictionarului
echivalent_inversat = {v: k for k, v in echivalent.items()}

# Solicitarea textului de la utilizator
text_utilizator = input("Introduceti textul: ")

# Inițierea textului transformat
text_transformed = ""
i = 0

# Parcurgerea textului utilizator
while i < len(text_utilizator):
    # Dacă întâlnim un spațiu, îl adăugăm direct la textul transformat
    if text_utilizator[i] == " ":
        text_transformed += " "
        i += 1
    # Dacă următoarele două caractere reprezintă un număr valid în alfabet, le transformăm în litera corespunzătoare
    elif i+1 < len(text_utilizator) and int(text_utilizator[i:i+2]) <= len(alfabet) and text_utilizator[i+1] != " ":
        text_transformed += echivalent_inversat[text_utilizator[i:i+2]]
        i += 2
    # Altfel, transformăm doar prima cifră în litera corespunzătoare
    else:
        text_transformed += echivalent_inversat.get(text_utilizator[i].zfill(2), " ")
        i += 1

# Scrierea rezultatului într-un fișier
with open("rezultat.txt", "w") as f:
    f.write(text_transformed)

# Deschiderea fișierului pentru citire și afișarea conținutului
with open("rezultat.txt", "r") as f:
    print(f.read())
