please review my script. at the end i also want to theck if s symbol melongs to base64 encodinf scheme or not and add it into reconstructed string only if it belongs: # Define the dictionary
word_dict = {
    'a': ['pple', 'irplane', 'nt', 'vocado', 'rrow', 'stronaut', 'larm', 'nchor', 'crobat', 'lbum'],
    'b': ['anana', 'all', 'ook', 'utterfly', 'ird', 'each', 'asket', 'icycle', 'ottle', 'ear'],
    'c': ['at', 'ar', 'ake', 'loud', 'andle', 'omputer', 'ookie', 'amera', 'lown', 'astle'],
    'd': ['og', 'uck', 'oor', 'ragon', 'olphin', 'iamond', 'rum', 'esk', 'oll', 'inosaur'],
    'e': ['lephant', 'gg', 'agle', 'arth', 'nvelope', 'ngine', 'lf', 'raser', 'scalator', 'asel'],
    'f': ['ish', 'lower', 'rog', 'ire', 'ox', 'lag', 'ruit', 'eather', 'ence', 'lashlight'],
    'g': ['rape', 'uitar', 'lobe', 'ame', 'oat', 'host', 'lasses', 'arden', 'em', 'ift'],
    'h': ['ouse', 'at', 'eart', 'orse', 'ammer', 'elicopter', 'oney', 'amburger', 'orn', 'edgehog'],
    'i': ['ce-cream', 'gloo', 'sland', 'nk', 'nsect', 'ron', 'ce', 'guana', 'nvitation', 'nstrument'],
    'j': ['acket', 'ellyfish', 'ar', 'ungle', 'uice', 'igsaw', 'ump', 'ewel', 'et', 'ack-o-lantern'],
    'k': ['angaroo', 'ite', 'ey', 'ing', 'oala', 'ayak', 'ettle', 'itchen', 'eyboard', 'night'],
    'l': ['emon', 'ion', 'adder', 'amp', 'eaf', 'ighthouse', 'og', 'aptop', 'ock', 'adybug'],
    'm': ['ango', 'onkey', 'oon', 'ountain', 'ushroom', 'ouse', 'ailbox', 'agnet', 'icrophone', 'ask'],
    'n': ['otebook', 'est', 'ail', 'et', 'ose', 'ut', 'inja', 'ecklace', 'ewspaper', 'oodles'],
    'o': ['range', 'wl', 'cean', 'ctopus', 'nion', 'ven', 'yster', 'tter', 'live', 'rnament'],
    'p': ['ineapple', 'ear', 'izza', 'umpkin', 'enguin', 'encil', 'lane', 'yramid', 'anda', 'opcorn'],
    'q': ['ueen', 'uilt', 'uestion', 'uill', 'uail', 'uiver', 'uartz', 'ueue', 'uarterback', 'uadrilateral'],
    'r': ['abbit', 'ainbow', 'obot', 'ocket', 'ing', 'accoon', 'uler', 'ose', 'adio', 'ug'],
    's': ['tar', 'un', 'nake', 'ock', 'poon', 'quirrel', 'hip', 'nowman', 'pider', 'andwich'],
    't': ['able', 'ree', 'iger', 'urtle', 'rain', 'elescope', 'ooth', 'rumpet', 'omato', 'ambourine'],
    'u': ['mbrella', 'nicorn', 'niform', 'tensil', 'niverse', 'nicycle', 'kulele', 'nderground', 'rn', 'pholsterer'],
    'v': ['iolin', 'olcano', 'an', 'est', 'egetable', 'ine', 'acuum', 'ase', 'ulture', 'ideo'],
    'w': ['atermelon', 'hale', 'orm', 'agon', 'and', 'indmill', 'atch', 'ing', 'allet', 'heel'],
    'x': ['ylophone', '-ray', 'ebec', 'ylitol', 'enon', 'anthan', 'erosis', 'erophyte', 'ylulose', 'mas'],
    'y': ['ellow', 'acht', 'ogurt', 'olk', 'ak', 'awn', 'ucca', 'odel', 'urt', 'ew'],
    'z': ['ebra', 'ipper', 'oo', 'igzag', 'ero', 'ombie', 'ap', 'elda', 'one', 'en']}

def reconstruct_string(file_path, word_dict):
    reconstructed_string = ""

    with open(file_path, 'r') as file:
        words = file.read().split()

    for word in words:
        if word[0].isalpha():
            # char = word[0].lower()
            char = word[0]
            word_found = False

            if char in word_dict:
                for partial_word in word_dict[char]:
                    if word == char + partial_word:
                        # reconstructed_string += word
                        word_found = True
                        break

            if not word_found:
                reconstructed_string += char
        else:
            reconstructed_string += word[0]

    return reconstructed_string

# Usage
file_path = 'feedback.txt'  # Replace with the actual path to your file
result = reconstruct_string(file_path, word_dict)
print(result)