program cetnosti3; type typy=(samohlaska,souhlaska,cislice,ostatni); var cetnosti: array[typy] of integer; a:array[0..3] of string; i:typy; c:char; j:integer; function getType(c:char):typy; type tznaky=set of char; var znaky,sam,souh,cis,ost:tznaky; begin znaky:=['a'..'z']; sam:=['a','e','i','o','u','y']; souh:=znaky-sam; cis:=['0'..'9']; if c in sam then getType:=samohlaska else if c in souh then getType:=souhlaska else if c in cis then getType:=cislice else getType:=ostatni; end; begin a[0]:='samohlasky'; a[1]:='souhlasky'; a[2]:='cislice'; a[3]:='ostatni'; for i:=samohlaska to ostatni do cetnosti[i]:=0; while not eoln do begin read(c); inc(cetnosti[getType(c)]); end; for i:=samohlaska to ostatni do begin write(a[ord(i)],':'); for j:=1 to cetnosti[i] do write('*'); writeln; end; readln; end.