Клуб писателей
Забудьте о Facebook и Second Life, The Writers’ Club — это следующая большая вещь в Интернете. The Writers’ Club — это платформа, где писатели и любители коротких рассказов могут встречаться, публиковать свои работы, читать и обсуждать произведения других авторов. Как и в любом другом виртуальном сообществе, сайт позволяет читателям создавать списки своих любимых писателей. Администраторы заметили, что читатели часто предпочитают писателей, которых уже любят их любимые авторы. Например, если Джон любит рассказы, написанные Алисой, то многие из читателей Джона также будут любить рассказы Алисы. Более того, читатели Джона, как правило, восхищаются и любимыми писателями Алисы.
Сайт хочет запустить сервис рекомендаций, основанный на этом наблюдении. Продолжая с вышеупомянутым примером, сайт хотел бы рекомендовать Алису (и её любимых писателей, и их любимых писателей, и так далее) всем читателям Джона. Конечно, сервис рекомендаций должен быть достаточно умным, чтобы не рекомендовать писателя, который уже является любимым для читателя, получающего рекомендацию.
Входные данные
Ваша программа будет тестироваться на одном или нескольких тестовых случаях. Первая строка каждого тестового случая содержит два положительных целых числа: T и N, где T — общее количество пользователей (не превышает 100000), а N — количество писателей (не превышает 100). Далее следуют N строк, по одной для каждого писателя. Каждая строка состоит из одного или нескольких имён, где первое имя — это имя писателя, а остальные — имена его поклонников. Например:
writer reader_1 reader_2 … reader_d
Здесь writer — это имя писателя, а reader_1 … reader_d — имена его поклонников. Имя — это последовательность из одной или более строчных букв, не длиннее 16 символов. Имена уникальны в пределах одного тестового случая. Имена разделены одним или несколькими пробелами.
Последняя строка входного файла состоит из двух нулей.
Выходные данные
Для каждого тестового случая первая строка вывода должна быть:
— CASE k
Где k — номер тестового случая (начиная с 1), а '-' — это знак минуса.
Далее следует ноль или более строк, по одной строке для каждого рекомендуемого писателя. Формат:
writer reader_1 reader_2 ...
Где writer — это имя писателя, которого рекомендуется для reader_1, reader_2 и так далее. Строки вывода должны быть отсортированы в алфавитном порядке по писателям, и для каждого писателя читатели также должны быть отсортированы в алфавитном порядке. Никакой писатель не должен быть рекомендован самому себе. Все имена в выводе разделены одним пробелом.