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