A - Synteza mowy
Grupa studentów dostała do napisania program na zaliczenie,
który miałby wypowiadać tekst wprowadzany z klawiatury.
Postanowili uprościć trochę problem i napisali moduł
odpowiedzialny za czytanie ludzkim głosem sylab.
Pozostał im do napisania jeszcze drugi moduł
- dzielący wyrazy na sylaby.
Ustalili następujące reguły:
- samogłoski to: a,e,i,o,u,y,ą,ę,ó
- spółgłoski to: b,c,ć,d,f,g,...
- dwuznaki to: ch, cz, dz, dź, dż, rz, sz
- głoski ciekawe to: pojedyncze spółgłoski (chyba, że z literą sąsiednią
w danym wyrazie tworzą dwuznak) i dwuznaki (w wyrazie "czas", "cz" jest głoską,
a samo "c" czy "z" nie)
W wyrazach:
- dwie sąsiadujące samogłoski należą do dwóch różnych sylab, chyba,
że pierwsza z nich to "i", np. "wie-le", ale "mo-ich"
- jeżeli pomiędzy dwoma samogłoskami niesąsiadującymi, pomiędzy którymi nie ma
innej samogłoski znajduje się k głosek, to dół(k/2) pierwszych głosek będzie w sylabie
z pierwszą samogłoską, a góra(k/2) ostatnich - z drugą samogłoską,
np. bar-dzo, k=2,
osz-klo-ny, k=3 (dla sz-kl), k=1 (dla -n).
- głoski leżące przed pierwszą samogłoską należą do pierwszej sylaby (szko-ła)
- głoski leżące po ostatniej samogłosce należą do ostatniej sylaby (par-ter)
Polskie znaki są zapisane w standardzie ISO-8859-2, tj. mają następujące kody:
ą-177, ę-234, ó-243, ć-230, ł-179, ń-241, ś-182, ź-165, ż-191.
Występują tylko małe polskie litery.
Zadanie
Napisz program, który zamieni podane wyrazy na sylaby.
Wejście
W każdej linii jest zapisany jeden wyraz (niedłuższy niż 255 znaków),
ostatnim wyrazem danych jest wyraz "koniec".
Nie ma wyjątków typu "mar-znąć".
Wyjście
Twój program powinien w kolejnych liniach powinien zapisać
po jednym wyrazie nie zmieniając wielkości liter w formacie: sylaba1-sylaba2-...-sylabaN
Przykład
Dla danych:
początek
środek
koniec
Program powinien dać odpowiedź:
po-czą-tek
śro-dek
ko-niec