def find_words(string, word_set):
    if ((string == '') or (not word_set)):
        return None
    if (string in word_set):
        return [string]
    tmp = ''
    out = []
    retro = False
    i = 0
    while (i < len(string)):
        if (not retro):
            tmp += string[i]
        if (tmp in word_set):
            out.append(tmp)
            tmp = ''
        if ((i == (len(string) - 1)) and (tmp != '')):
            if (not out):
                return None
            tmp = (out.pop() + tmp)
            retro = True
            i -= 1
        i += 1
    return out
def find_words(string, word_set):
    if ((string == ) or (not word_set)):
        return None
    if (string in word_set):
        return [string]
    tmp = 
    out = []
    retro = False
    i = 0
    while (i < len(string)):
        if (not retro):
            tmp += string[i]
        if (tmp in word_set):
            out.append(tmp)
            tmp = 
        if ((i == (len(string) - 1)) and (tmp != )):
            if (not out):
                return None
            tmp = (out.pop() + tmp)
            retro = True
            i -= 1
        i += 1
    return out