uses crt;
var st, buf:string;
i:integer;
f:boolean;
procedure reverse(var st:string);
var i:integer;
b:char;
begin
for i:=1 to length(st) div 2 do
begin
ch := st[i];
st[i] := st[length(st)-i+1];
st[length(st)-i+1]:= ch;
end;
begin
write('-> ');
readln(st);
buf:='';
for i:=1 to length(st) do
begin
if st[i]<>' ' then
begin
buf := buf + st[i];
f:=true;
end else begin
if f then
begin
reverse(buf);
writeln(buf);
f := false;
end;
buf := '';
end;
end;
if buf<>'' then
begin
reverse(buf);
writeln(buf);
buf:='';
end;
end.