Ви — мисливець за скарбами, який подорожує по світу. Нарешті, вам потрапив до рук стародавній манускрипт, у якому вказано місце, де сховано скарб. На перший погляд текст манускрипту виглядає як беззмістовний рядок символів. Насправді ж місце розміщення скарбу сховано у вигляді найбільшої повторюваної підпослідовності тексту.
Давайте уточнимо, що таке найбільша повторювана підпослідовність рядка. Розіб'ємо спочатку вхідний рядок на дві частини і . Знайдемо найбільшу спільну підпослідовність рядків та (найдовший рядок , який є підпослідовністю та ). Оскільки існує декілька способів розбити на дві частини, то існує декілька можливих послідовностей . Найбільшою повторюваною підпослідовністю буде найдовша з них. Наприклад, найбільшою повторюваною підпослідовністю рядка "ABCABCABAB" є "ABAB", яка отримується в результаті розбиття "ABCABCABAB" на "ABCABC" та "ABAB".
Вам потрібно знайти найбільшу повторювану підпослідовність і знайти схований скарб!
Вхідні дані складаються з декількох тестів. Кожен тест складається з одного рядка і містить до великих літер. Гарантується, що кожен вхідний рядок містить як мінімум одну повторювану підпослідовність.
Останній рядок містить "#END" і не опрацьовується.
Для кожного тесту в окремому рядку потрібно вивести найбільшу повторювану підпослідовність. Якщо таких підпослідовностей існує декілька, то виведіть довільну з них.
Приклад 1