def find_letter(letters, l, index):
    """
    Find the first occurrence of a letter in a word after a given index.

    Searches forward in the word after index-th letter. If no matching letter is found,
    search backwards for the latest occurrence before the index-th letter.

    :return: index of the found occurrence, otherwise -1
    """
    try:
        index_offset = letters.index(l, index + 1)
    except ValueError:
        letters.reverse()
        try:
            index_offset = len(letters) - letters.index(l, len(letters) - index) - 1
        except ValueError:
            index_offset = -1
    return index_offset