const
se:set of char=[’a’..’z’,’A’..’Z’];
yin:set of char=[’a’,’e’,’i’,’o’,’u’,’A’,’E’,’I’,’O’,’U’];
var
i,j,len,total,tc,l:longint;
st:string;
flag:boolean;
begin
read (st);
len:=length (st);
for i:=l to len do
if st[i] in se then begin write(’.’); inc (tc); end
else write(st[i]); {suan sum letter}
writeln; {end fang’an yin}
if (tc/3-trunc(tc/3))>(trunc(tc/3)+l-tc/3) then
j:=trunc(tc/3)+l
else
j:=trunc(tc/3);
for i:=l to len do
begin
if st[i] in se then inc (total);
write(st[i]);
if total=j then break;
end;
for j:=i+l to len do
if st[j] in se then write(’.’)
else write(st[j]);
writeln; {end fang’an er}
total:=0;
for j:=i+l to len do
if (st[j] in yin) then flag:=true;
if flag then
begin
for j:=l to i do
write (st[j]);
for j:=i+l to len do
if (st[j] in yin) or not (st[j] in se) then write(st[j])
else write (’.’);
writeln
end
else
begin
if (2*tc/3-trunc(2*tc/3))>(trunc(2*tc/3)+l-2*tc/3) then
j:=trunc(2*tc/3)+l
else
j:=trunc(2*tc/3);
for i:=l to len do
begin
if st[i] in se then inc (total);
write(st[i]);
if total=j then break;
end;
for j:=i+l to len do
if st[j] in se then write(’.’)
else write(st[j]);
writeln; {end fang’an san}
end;
end.