Упаковщик строк по словам

Строки/запросы:

Упаковка большого числа строк (запросов на самом деле) в короткий список длинных запросов, которые включают все слова более коротких запросов, чтобы каждое из слов использовалось хотя бы один раз.