program string_2;
var s, slovo, otv:String; ns, ks, i, m: Integer;
begin
Writeln ('Введите строку:'); Readln(s);
i:=1; ns:=1; otv:=''; s:=s+' ';
while i<=Length(s) do
begin
while (i<=Length(s)) and (s[i]<>' ') do i:=i+1; {ищем очередной пробел}
ks:=i; slovo:=Copy(s, ns, ks-ns); {выделяем слово}
m:=Length(slovo) div 2; {половина длины слова}
if (Length(slovo) mod 2=0) and (Copy(slovo,1,m)=Copy(slovo,m+1,m))
{если слово имеет четную длину}
then otv:= otv+slovo+ ','; {добавляем слово к ответу}
while (i<=Length(s)) and (s[i]=' ') do i:=i+1; {пропускаем пробелы}
ns:=i; {начало следующего слова}
end;
Delete(otv, Length(otv), 1); {удаляем лишнюю запятую в конце}
Writeln(otv);
Readln
end.
var s, slovo, otv:String; ns, ks, i, m: Integer;
begin
Writeln ('Введите строку:'); Readln(s);
i:=1; ns:=1; otv:=''; s:=s+' ';
while i<=Length(s) do
begin
while (i<=Length(s)) and (s[i]<>' ') do i:=i+1; {ищем очередной пробел}
ks:=i; slovo:=Copy(s, ns, ks-ns); {выделяем слово}
m:=Length(slovo) div 2; {половина длины слова}
if (Length(slovo) mod 2=0) and (Copy(slovo,1,m)=Copy(slovo,m+1,m))
{если слово имеет четную длину}
then otv:= otv+slovo+ ','; {добавляем слово к ответу}
while (i<=Length(s)) and (s[i]=' ') do i:=i+1; {пропускаем пробелы}
ns:=i; {начало следующего слова}
end;
Delete(otv, Length(otv), 1); {удаляем лишнюю запятую в конце}
Writeln(otv);
Readln
end.