У Лабораторії Інтелектуальних Префіксних Алгоритмів (ЛІПА) тестують Машину, Префіксів Розгортаючу (МПР). Машина працює наступним чином: на вхід їй подається рядок довжини та послідовність 1 \leq a_1 < a_2 < \ldots < a_k \leq n. Спочатку рядок поміщають у спеціальний внутрішній регістр машини. Після цього для кожного від до машина бере префікс [1..a_i] поточного рядка та розгортає його. Рядок, який опиниться у регістрі після завершення роботи машини, є результатом роботи машини.
Наприклад, якщо на вхід машині подати рядок та послідовність a_1 = 2, a_2 = 4, на виході отримаємо рядок .
Учені ЛІПА хочуть знайти для заданого рядка таку послідовність, щоб результат роботи був якомога меншим у лексикографічному порядку. Рядок \alpha=\alpha_1\alpha_2 \ldots \alpha_n лексикографічно менший за рядок \beta=\beta_1\beta_2 \ldots \beta_m, якщо для деякого і для всіх 1 \leq t \leq k виконується \alpha_t=\beta_t та або \alpha_{k+1} < \beta_{k+1}, або довжина дорівнює , а довжина більша за .
Допоможіть їм з'ясувати, який мінімальний у лексикографічному порядку результат можна отримати.
Вхідний файл містить рядок (він непорожній і його довжина не перевищує ). Він складається з малих літер латинського алфавіту.
Виведіть мінімальний у лексикографічному порядку рядок, який може бути отриманий МПР на рядку як на вході.
Приклад 1