Супер Філліс
Філліс працює у великій багатонаціональній корпорації. Її завдання полягає в тому, щоб переходити з одного відділу в інший, виявляючи та усуваючи будь-які надлишкові дії в повсякденній діяльності працівників. І вона досить добре справляється зі своєю роботою.
Під час останнього завдання їй надали діаграму, що показує ланцюг командування у відділі:
Рисунок 1
Коли хтось має надіслати звіт своїм начальникам, вони використовують цю діаграму, надсилаючи один звіт уздовж кожної стрілки. Філліс майже одразу зрозуміла, що тут є надлишкові зв'язки. Наприклад, оскільки D надсилає звіт до B, а B надсилає звіт до A, немає потреби, щоб D надсилав звіт безпосередньо до A, оскільки він буде включений у звіт, який B надсилає до A. Таким чином, зв'язок від D до A можна видалити. Якби також існував зв'язок від C до B, тоді зв'язки від D до B і від C до A також могли б бути видалені. Філліс хотіла б вашої допомоги в цьому. Дано опис діаграми, як наведено вище, вона хотіла б програму, яка визначає всі зв'язки, які можна видалити з діаграми.
Вхідні дані
Перший рядок кожного тестового випадку містить додатне ціле число m, що вказує кількість зв'язків у діаграмі. Далі йдуть m рядків, кожен з яких містить два рядки s_1 s_2, що вказують на те, що є зв'язок від працівника s_1 до його/її начальника s_2. У будь-якому тестовому випадку не буде більше ніж 200 працівників, і жоден зв'язок не з'явиться більше одного разу. Рядок, що містить лише 0, завершить введення.
Вихідні дані
Для кожного тестового випадку виведіть кількість зв'язків, які слід видалити, а потім список видалених зв'язків у лексикографічному порядку. Зв'язок s_1 s_2 слід представляти рядком s_1,s_2.