Задано набір слів. Відсортуйте їх згідно з наступним правилом.
Скажемо, що рядок менший за рядок , якщо реверс рядка лексикографічно менший за реверс рядка . Іншими словами, a < b, якщо reverse(a) < reverse(b), де — це операція перевороту рядка.
Наприклад,
reverse("Canteen") = "neetnaC",
reverse("Home") = "emoH".
Отже, вірно, що "" < "", оскільки "" < "".
Крім того, є спеціальне слово "ADAUniversity", яке завжди повинно знаходитися на початку відсортованого списку незалежно від результату порівняння.
Сортування повинно бути стабільним, тобто для слів з однаковими ключами їхній відносний порядок потрібно зберегти.
Дано текст, що містить набір слів. Кожне слово складається з літер латинського алфавіту (у верхньому або нижньому регістрі). Між словами присутні лише пробіли. Кількість слів не перевищує , довжина кожного слова — не більше символів.
Виведіть усі слова, відсортовані згідно з описаним правилом. Кожне слово слід виводити в окремому рядку.
Приклад 1