Компоновка стікерів
Текст на стікері складається зі слів, які містять прописні та великі латинські букви. Слова відокремлено пропусками, переведеннями рядка та наступнми знаками пунктуації: ",", ".", "!", "?".
Перед словами та за ними може знаходитись довільне число пропусків та пустих рядків, але не більше одного знака пунктуації після кожного слова. Стікер друкується моноширинним шрифтом, тобто кожен символ займає на папері прямокутник фіксваного розміру. Стікер являє собою найменший прямокутник, який охоплює текст, плюс поле шириною в один символ.
Буде надруковано багато копій стікерів, тому необхідно мінімізувати кількість використаного паперу. Стікер необхідно зробити так, щоб він займав якомога меншу площу. Наприклад, розглянемо стікер з наступним текстом:
Our pink elephants have great size and a small price. Buy our elephants!
Якщо текст вивести у одному рядку, то його площа буде рівна (72 + 2) * (1 + 2) = 222 символів. З іншої сторони, якщо вивести текст наступним чином:
то достатньо використати лише (18 + 2) * (4 + 2) = 120 символів.
Ваша задача - розбити текст стікера на декілька рядків таким чином, щоб він займав найменшу площу. Переведення рядка можна вставляти після довільного слова або знаку пунктуації. Один пропуск повинен відокремлювати кожне слово від попереднього слова або знака пунктуації у одному рядку. Інші пропуски та символи переведення рядка зберігати не обов'яково.
Вхідні дані
Вхідні дані складаються з одного чи декількох рядків тексту стікера. Текст містить лише наступні символи: від "A" до "Z", від "a" до "z", а також ",", ".", "!", "?", пропуски та переведення рядка. Довжина тексту не більша 10000 символів. Текст завжди містить символы, які не є пропусками, і починається завжди з букви.
Вихідні дані
Вивести одне ціле число — площу найменшого стікера.