Алфавітний покажчик#4060

Алфавітний покажчик

1 секунда
16 мегабайтів
Дуже складна

Документи текстових процесорів, на відміну від простих текстових файлів, містять не лише текст, а й різноманітну службову інформацію. Одним із видів такої інформації є поля, які можуть описувати вставлені в документ малюнки, формули, а також керуючу інформацію. Поля з керуючою інформацією не відображаються при перегляді документа у звичайному режимі та не враховуються при розбитті на рядки та сторінки.

Вважатимемо, що в документі певного текстового процесора поля описуються наступним чином:

Таким чином, ознакою початку поля є комбінація символів "{/". Наприклад, правильний опис поля може виглядати так: {/AПриклад}.

Одним із видів полів є поля для формування алфавітного покажчика. Вважатимемо, що кодом такого поля є символ "Z". Алфавітний покажчик містить інформацію про терміни, що зустрічаються в документі, із зазначенням номерів сторінок, на яких ці терміни зустрічаються.

Алфавітний покажчик формується з полів з кодом "Z" за такими правилами:

Приклад алфавітного покажчика:

ААрбуз 12, 48Аспірин 34ППродавець 73ЯЯблуко 2

Нехай дано текст, що складається зі слів з вставленими в нього полями різного типу (межа слова — пробіл, початок і кінець рядка). Вважається, що поле розташоване на тій же сторінці, що й найближче розташоване перед ним слово.

Потрібно розбити заданий текст на рядки і сторінки за такими правилами:

і для отриманого тексту побудувати предметний покажчик.

Вхідні дані

Перший рядок містить два цілих числа і , розділених пробілом — максимальна кількість символів у рядку і кількість рядків на сторінці, відповідно (10 \leq S \leq 100, 1 \leq N \leq 100).

Наступні рядки містять вихідний текст. Кількість рядків тексту не більше . Довжина рядка не більше . Гарантується, що у відформатованому тексті немає слів, що мають довжину більше . Гарантується, що перед першим полем є хоча б одне слово. Гарантується, що в тексті є хоча б одне поле з кодом "Z".

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading

Примітка

Після розбиття вихідного тексту на рядки і сторінки він буде мати вигляд:

Це приклад до 1 сторінка

задачі

"Алфавітний 2 сторінка

покажчик", на

основі якого 3 сторінка

показується

побудова 4 сторінка

алфавітного

покажчика. 5 сторінка