The program does not break words that begin in the middle of a line.  To conserve I/O, the program prints a series of blanks only after it has ascertained that the word that follows them would not overflow the line.  For this reason, whenever a newline occurs or a new series of blanks begins, the program prints first the previous series of blanks and then any saved word.  There is no limit to the length of a word or a series of blanks.  Function nonblank saves characters in array word up to the max line length.  For longer words, it prints the previous series of blanks and the saved word and thereafter prints nonblanks one at a time.  Function blnkchar keeps a counter of number of blanks, blankcnt. When the series of blanks would overflow the line, it breaks the line and reduces the counter.  Integer prtcnt counts the number of characters already printed on the current line.