{$T-} program STATISTICS; const NL=chr(10); CR=chr(13); var CHAR_COUNT:integer; LINE_COUNT:integer; CHAR_OVERFLOW:integer; CH:char; SOURCE:text; procedure CHARACTER; begin CHAR_COUNT := succ(CHAR_COUNT); if CHAR_COUNT=10000 then begin CHAR_COUNT := 0; CHAR_OVERFLOW := succ(CHAR_OVERFLOW) end end; procedure LINECOUNT; begin LINE_COUNT := succ(LINE_COUNT) end; procedure WRITE_DOUBLE_INTEGER(HIGH,LOW:integer); begin write(output,HIGH,LOW/1000 mod 10,',',LOW/100 mod 10,LOW/10 mod 10,LOW mod 10) end; begin CHAR_COUNT := 0; LINE_COUNT := 0; CHAR_OVERFLOW := 0; reset(SOURCE,argv[1]@); while not eof(SOURCE) do begin read(SOURCE,CH); if CH=NL then LINECOUNT; CHARACTER end; write(output,NL,'Total characters = '); WRITE_DOUBLE_INTEGER(CHAR_OVERFLOW,CHAR_COUNT); write(output,NL,'Total lines = ',LINE_COUNT) end.