Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

AL_15_03 - Formatowanie

Chcielibyśmy, abyś tym razem i Ty miał swój udział w organizacji rundy AlgoLigi. My wymyślimy zadania, napiszemy do nich treści, a Ty napisz program, który poprawnie je sformatuje. W trosce o środowisko naturalne oraz w celu zminimalizowania wpływu zawodów na wycinkę lasów deszczowych Amazonii nasze założenia co do formatowania treści zadań są następujące:

  1. Długość linii tekstu nie może przekraczać w znaków.
  2. Wyrazy składające się z więcej niż 3 liter dzielą się na sylaby. Dla uproszczenia zakładamy że występują jedynie sylaby trzyliterowe i dwuliterowe. Każdy wyraz dzielimy w taki sposób, aby składał się z maksymalnej liczby sylab trzyliterowych, przy czym sylaby trzyliterowe zawsze występują na początku. Przykłady:
    • rozwiązanie = roz-wią-zan-ie
    • zadanie = zad-an-ie
    • znaków = zna-ków
  3. Zgodnie z podziałem na sylaby, fragmenty wyrazów które nie mieszczą się w danej linii należy przenieść do kolejnej, tak aby całość zadania zajęła jak najmniej miejsca.
  4. Przenosząc wyraz do nowej linii należy na końcu bieżącej umieścić znak -
  5. Wyrazy powinny być oddzielone pojedynczą spacją.
  6. Na końcach linii nie powinny występować żadne dodatkowe białe znaki.
  7. Sformatowana treść zadania powinna być zakończona znakiem przejścia do nowej linii.

Wejście

W pierwszej linii wejścia znajduje się liczba w (4 ≤ w ≤ 1000) określająca szerokość docelowej strony w znakach. W kolejnych liniach znajduje się tekst który należy sformatować zgodnie z założeniami podanymi powyżej. Tekst składa się wyłącznie z wielkich i małych liter alfabetu angielskiego oraz białych znaków (spacji, tabulatorów, przejść do nowej linii). Długość każdego wyrazu nie przekracza 1000 znaków.

Wyjście

Na wyjściu należy wypisać odpowiednio sformatowany tekst.

Przykład

Wejście

10
zawody w programowaniu

czasem wymagaja rozwiazywania zadan

Wyjście

zawody w
programow-
aniu cza-
sem wym-
agaja roz-
wiazywania
zadan

Uwaga!

Sędzia podczas sprawdzenia uwzględnia również białe znaki, dlatego proszę się dokładnie stosować do treści zadania. Zamieściliśmy również test przykładowy do pobrania.


Dodane przez:Maciej Boniecki
Data dodania:2014-03-29
Limit czasu wykonania programu:0.5s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU
Pochodzenie:ALGOLIGA
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.