Супер Філліс#6652

Супер Філліс

1 секунда
64 мегабайти
Складна

Філліс працює у великій багатонаціональній корпорації. Її завдання полягає в тому, щоб переходити з одного відділу в інший, виявляючи та усуваючи будь-які надлишкові дії в повсякденній діяльності працівників. І вона досить добре справляється зі своєю роботою.

Під час останнього завдання їй надали діаграму, що показує ланцюг командування у відділі:

Рисунок 1

Коли хтось має надіслати звіт своїм начальникам, вони використовують цю діаграму, надсилаючи один звіт уздовж кожної стрілки. Філліс майже одразу зрозуміла, що тут є надлишкові зв'язки. Наприклад, оскільки надсилає звіт до , а надсилає звіт до , немає потреби, щоб надсилав звіт безпосередньо до , оскільки він буде включений у звіт, який надсилає до . Таким чином, зв'язок від до можна видалити. Якби також існував зв'язок від до , тоді зв'язки від до і від до також могли б бути видалені. Філліс хотіла б вашої допомоги в цьому. Дано опис діаграми, як наведено вище, вона хотіла б програму, яка визначає всі зв'язки, які можна видалити з діаграми.

Вхідні дані

Перший рядок кожного тестового випадку містить додатне ціле число , що вказує кількість зв'язків у діаграмі. Далі йдуть рядків, кожен з яких містить два рядки s_1 s_2, що вказують на те, що є зв'язок від працівника s_1 до його/її начальника s_2. У будь-якому тестовому випадку не буде більше ніж працівників, і жоден зв'язок не з'явиться більше одного разу. Рядок, що містить лише , завершить введення.

Вихідні дані

Для кожного тестового випадку виведіть кількість зв'язків, які слід видалити, а потім список видалених зв'язків у лексикографічному порядку. Зв'язок s_1 s_2 слід представляти рядком s_1,s_2.

Приклади

Приклад 1

Loading
Loading