uses crt; const abc = ['a'..'z']; s: string = ' yes yes no yes no for for for for.'; var s_res, prev, _word: string; p: byte; begin clrscr; s_res := s; prev := ''; p := 1; repeat while not (s_res[p] in abc) and (p <= length(s_res)) do inc(p); while (s_res[p] in abc) and (p <= length(s_res)) do begin _word := _word + s_res[p]; inc(p); end; if _word = prev then begin delete(s_res, p - length(_word), length(_word)); dec(p, length(_word)); end else prev := _word; _word := ''; until p > length(s_res); writeln(s_res); readln; end.