program POrderedWords; {$APPTYPE CONSOLE} uses SysUtils, Classes, IdHTTP; function IsOrdered(const s:string): Boolean; var I: Integer; begin Result := Length(s)<2; // empty or 1 char strings are ordered for I := 2 to Length(s) do if s[I] WordSize) then begin Result := slInput[I] + ' '; WordSize := Length(slInput[I]); end; end; finally slInput.Free; end; end; begin try WriteLn(ProcessDictionary('http://www.puzzlers.org/pub/wordlists/unixdict.txt')); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.