Форматування тексту#2182

Форматування тексту

1 секунда
64 мегабайти
Середня

Багато систем форматування тексту, наприклад T_EX або Wiki, використовують для розбиття тексту на абзаци порожні рядки. Текст являє собою послідовність слів, розділених пропусками, символами нового рядка та такими розділовими знаками: ",", ".", "?", "!", "-", ":", та "'" (ASCII-коди , , , , , , ). Кожне слово в тексті складається з великих і малих літер латинського алфавіту та цифр. Текст може містити декілька абзаців, в такому випадку сусідні абзаци розділяються одним або кількома порожніми рядками. Також може бути один або кілька порожніх рядків перед першим абзацом та після останнього абзацу.

Завдання — відформатувати заданий текст за наступними правилами. Кожен абзац потрібно розділити на рядки довжиною не більше . Перший рядок кожного абзацу має починатися з відступу у пробілів. Слова у рядку мають бути розділені рівно одним пробілом. Якщо після слова йдуть знаки пунктуації, вони мають йти одразу після цього слова без додаткових пробілів. Якщо наступне слово разом із пунктуацією поміщається у поточному рядку, його потрібно помістити туди. Інакше, це слово розміщується на новому рядку. У форматованому тексті абзаци не повинні бути розділені порожніми рядками, а наприкінці рядків не повинно бути пробілів.

Напишіть програму, яка за числами та і заданим текстом виведе текст, відформатований описаним чином.

Вхідні дані

У першому рядку вхідних даних знаходяться два цілі числа: та (5 \leq w \leq 100, 1 \leq b \leq 8, b < w).

Далі йде один або кілька рядків, що містять текст. Довжина слова в тексті разом з пунктуацією не перевищує , а довжина першого слова абзацу разом із пунктуацією не перевищує w - b.

Розмір вхідного файлу не перевищує Кбайт. Довжина кожного рядка у вхідних даних не перевищує .

Вихідні дані

Вихідний файл має містити текст, відформатований згідно до вимог задачі.

Приклади

Приклад 1

Loading
Loading