DataSection Data.s "In olden times when wishing still helped one, there lived a king "+ "whose daughters were all beautiful, but the youngest was so beautiful "+ "that the sun itself, which has seen so much, was astonished whenever "+ "it shone-in-her-face. Close-by-the-king's castle lay a great dark "+ "forest, and under an old lime-tree in the forest was a well, and when "+ "the day was very warm, the king's child went out into the forest and "+ "sat down by the side of the cool-fountain, and when she was bored she "+ "took a golden ball, and threw it up on high and caught it, and this "+ "ball was her favorite plaything." EndDataSection Procedure.i ww_pos(txt$,l.i) While Mid(txt$,l,1)<>Chr(32) And l>0 And Len(txt$)>l : l-1 : Wend If l>0 : ProcedureReturn l : Else : ProcedureReturn Len(Trim(txt$)) : EndIf EndProcedure Procedure WriteLine(txt$,ls.i) Shared d$,lw Select LCase(d$) Case "l" : PrintN(Mid(txt$,1,ls)) Case "r" : PrintN(RSet(Trim(Mid(txt$,1,ls)),lw,Chr(32))) EndSelect EndProcedure Procedure main(txt$,lw.i) If Len(txt$) p=ww_pos(txt$,lw) : WriteLine(txt$,p) : ProcedureReturn main(LTrim(Right(txt$,Len(txt$)-p)),lw) EndIf EndProcedure Procedure.i MaxWordLen(txt$) For i=1 To CountString(txt$,Chr(32))+1 wrd$=LTrim(StringField(txt$,i,Chr(32))) wrdl=Len(wrd$)+1 : If wrdl>l : l=wrdl : EndIf Next ProcedureReturn l EndProcedure OpenConsole() Read.s t$ Print("Input line width: ") : lw=Val(Input()) : minL=MaxWordLen(t$) If lw