program Project1;
const
//Разделители слов.
D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
Fn = 'file.txt';
var
F : Text;
S, S1, Sw1, Sw2 : String;
i, j, Pos1, Len : Integer;
begin
Assign(F, Fn);
Reset(F);
while not Eof(f) do begin
Readln(F, S);
Len := Length(S);
//Предыдущее слово.
Sw1 := '';
//Текущее (очередное) слово.
Sw2 := '';
//Позиция начала слова (индекс первой буквы в слове).
Pos1 := 0;
//Результирующая строка.
S1 := '';
//Счётчик слов.
j := 0;
for i := 1 to Len do begin
//Пропускаем разделители.
if S[i] in D then Continue;
//Отслеживаем начало слова.
if (i = 1) or (S[i - 1] in D) then Pos1 := i;
//Отслеживаем конец слова.
if (i = Len) or (S[i + 1] in D) then begin
//Счётчик слов.
Inc(j);
Sw1 := Sw2;
Sw2 := Copy(S, Pos1, i - Pos1 + 1);
//Распечатываем пары.
if j mod 2 = 0 then begin
if S1 <> '' then S1 := S1 + ' ';
S1 := S1 + Sw2 + ' ' + Sw1;
end;
end;
end;
//Распечатываем последнее слово, если оно оказалось без пары.
if (j > 0) and (j mod 2 <> 0) then begin
if S1 <> '' then S1 := S1 + ' ';
S1 := S1 + Sw2;
end;
Writeln(S1);
end;
Close(F);
Readln;
end.