Дилберт только что закончил колледж и решил пойти куда-нибудь с друзьями. У Дилберта странные привычки, и поэтому он решил отпраздновать этот важный момент своей жизни большим количеством выпивки. Он начнет пить напитки с низким содержанием алкоголя, такие как пиво, а затем перейдет к напитку с большим содержанием алкоголя, например к вину, до тех пор, пока не закончатся доступные напитки. Как только Дилберт начнет пить вино, он больше не будет пить пиво, поэтому содержание алкоголя в напитках никогда не уменьшается со временем.
Вы должны помочь Дилберту, указав порядок, в котором он может пить напитки так, как он хочет.
Каждый тест начинается с n(1≤n≤100) — количества доступных напитков. Далее следуют n строк, содержащих название каждого напитка, которое состоит из менее чем 51 символов и не содержит пробелов. Затем следует строка с целым числом m,(0≤m≤200) и m строк в виде b1 b2, что указывает на то что напиток b2 содержит больше алкоголя чем напиток b1, поэтому Дилберт должен выпить b1 прежде, чем он начнет пить b2. Убедитесь, что это отношение транзитивно. Поэтому если имеется также отношение b2 b3, то следует выпить b1 прежде чем b3. После каждого теста расположена пустая строка. В случае отсутствия связи между двумя напитками Дилберт должен начать пить тот, который указан первым во входных данных. Ввод завершается концом файла (EOF).
Для каждого теста выведите сообщение: "Case #C: Dilbert should drink beverages in this order:
b1 b2 ... bn."
, где C — номер набора входных данных, начиная с 1, а b1 b2 ... bn — список напитков, для которых содержание алкоголя в напитке bi не ниже содержания алкоголя в напитке bi−1. После каждого теста следует вывести пустую строку.