Считываем строку, сразу разбиваем её на слова.
Считываем контрольное слово.
Каждое слово можно рассмотреть как множество (set) его букв, тогда слово подходит, если мощность пересечения множества его букв с множеством букв контрольного слова не меньше 3.
Код (Python 3):
words = input().split()
key_set = set(input())
chosen_words = [word for word in words if len(key_set.intersection(set(word))) >= 3]
print(*chosen_words, sep="; ")
Пример ввода:
фартук мокасины юбка кафтан
шарфик
Пример вывода:
фартук; мокасины; кафтан