Упорядочивание коров
Каждый день фермер Джон доит своих 8 коров по имени Бесси, Лютик, Белинда, Беатрис, Белла, Блю, Бетси и Сью.
Коровы, к сожалению, довольно разборчивы и требуют, чтобы фермер Джон доил их в порядке, учитывающем n ограничений. Каждое ограничение имеет форму "X следует доить рядом с Y", в котором указано, что корова X должна появляться в порядке доения либо сразу после коровы Y, либо непосредственно перед коровой. Y.
Помогите фермеру Джону определить такой порядок коров, который удовлетворяет всем этим требованиям. Гарантируется, что требуемый порядок всегда возможен. Если существует несколько порядков, то выведите алфавитно наименьший. То есть первая корова должна иметь наименьшее в алфавитном порядке имя из всех возможных коров, которые могут появиться первыми в любом допустимом порядке. Среди всех порядков, начинающихся с той же самой первой по алфавиту коровы, вторая корова должна быть в алфавитном порядке наименьшей среди всех возможных порядков и так далее.
Входные данные
Первая строка содержит число n (1 ≤ n ≤ 7). Каждая из следующих n строк содержит предложение, описывающее ограничение в форме "X must be milked beside Y", где X и Y - имена некоторые из коров фермера Джона (восемь возможных имён перечислены выше).
Выходные данные
Выведите 8 строк - порядок коров (по одной корове в строке), с соблюдением всех ограничений. Если существует несколько порядков, выведите алфавитно наимньший.