Паліндром#8302

Паліндром

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

Дано рядок, який складається з малих латинських літер. Потрібно знайти найдовший рядок-паліндром, який можна отримати, видаливши не більше ніж літер.

Паліндромом будемо вважати рядок ненульової довжини, який читається однаково зліва направо і справа наліво.

Вхідні дані

Перший рядок — послідовність з латинських літер (довжина рядка не перевищує літер).

Другий рядок — число (0 \leq M \leq 1000) — максимальна кількість можливих видалень.

Вихідні дані

Максимальний за довжиною паліндром.

Якщо таких декілька, то виведіть перший за алфавітним порядком.

Якщо паліндром утворити неможливо, то виведіть -1.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading