Щаслива конкатенація
Обмеження: 2 сек., 256 МіБ
Зеник та Марічка є щасливими власниками послідовності із n щасливих рядків si — рядків, які складаються лише із щасливих цифр 4 та 7.
На честь дня щасливих чисел вони вирішили об’єднати усі свої рядки в один великий, сполучаючи їх у тому порядку, в якому вони задані.
Проте, перед тим Марічка наказала Зенику k разів виконати наступну операцію: вибрати перший або останній символ довільного рядка та видалити його. Зауважте, що після цього деякі із рядків можуть стати пустими.
Зенику стало цікаво, який лексикографічно мінімальний рядок він може отримати після виконання усіх операцій та об’єднання рядків в один.
Вхідні дані
У першому рядку задано два цілих числа n та k — кількість рядків у послідовності та кількість операцій, які має виконати Зеник.
У наступних n рядках задано щасливі рядки si, по одному на рядок.
Вихідні дані
Виведіть лексикографічно мінімальний кінцевий рядок, який може отримати Зеник.
Обмеження
1≤n,|si|≤105,
1≤k<∑ni=1|si|≤105.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
4 7 4744 474 7777 474 | 4447447 |
Примітки
Рядок s вважається
лексикографічно меншим за рядок t,
якщо s є префіксом t, або ж s містить меншу цифру у першій позиції, в
якій s і t відрізняються. Наприклад,
47
є меншим за 7
, 74
,
477
та 474
, проте більшим за 4
та
44
.