Home » Personal collection » Acorn ADFS disks » Electron » Acornsoft_Educational.ADF » TreeOfKldg/Tree

TreeOfKldg/Tree

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn ADFS disks » Electron » Acornsoft_Educational.ADF
Filename: TreeOfKldg/Tree
Read OK:
File size: 2FD5 bytes
Load address: 1900
Exec address: 1900
File contents
    0REM   ///  A/S  ///
   40*L.M/C 5240
   50MODE4:HIMEM=&5240:V%=0
   55H%=HIMEM-TOP-2500
  100DIMA$(4),A1 4
  200DIMT% H%,R%360,M%50:WS%=M%-70
  300!A1=&4F494541:TV%=T%:T%=T%+4:MK%=&7F7F0000:temp=&78
  400A1?4=&55:VDU15
  500*FX4,1
  600ONERRORGOTO17400
  700IF!V%=&0DFF0DFFTHEN30000
  900PROCVH:CLS
 1100PRINT'''
 1200PROCOFF
 1300PROCPRINT("Tree of Knowledge",9,38)
 1400PRINT''
 1500PROCPRINT("What would you like to do :",0,38)
 1600PRINT'
 1700PROCPRINT("1     Load a tree from cassette",3,38)
 1750PRINT
 1800PROCPRINT("2     Start a new tree",3,38)
 2000REPEATPRINTTAB(0,16);:PROCPRINT("?  ",0,38):PRINT:Z$=FNINPUT(1,16,0)
 2100A%=VALZ$:UNTILA%>0ANDA%<3
 2200ONA%GOTO3500,7600
 2300DEFPROCFILELOAD T%=TV%+4
 2400CLS:PRINT'':PROCPRINT("Which tree would you like loaded ?",0,38):PRINT:PROCPRINT("(Please type in the filename)",2,38):PRINT:PROCPRINT(":",0,38):W%=VPOS-1
 2500$WS%=FNCHECK(FNINPUT(10,W%,-1)):IF$WS%=""PROCERR(0,1):GOTO2500
 2600V%=0:$WS%="L."+$WS%+" "+STR$~TV%
 2700PROCX(WS%)
 2800CLS:PRINT"LOADING":CALL&FFF7:PROCVH:V%=!TV%+TV%:!V%=&DFF0DFF
 2900PROCSE:ENDPROC
 3000DEFPROCSE A$(1)=$T%:T%=FNADDSTR(T%):A$(2)=$T%:T%=FNADDSTR(T%):ENDPROC
 3500PROCFILELOAD:G%=T%:GOTO30000
 3600CLS:PRINT'':PROCPRINT(A$(1),FNCENTRE(A$(1)),38)
 3700PROCVL
 3900T%=G%:CLS:PROCPRINT("Are you thinking of "+FNVOWEL(A$(2),1)+FNsm(A$(2))+" ? ",0,34)
 4000Q%=FNY(0,8)
 4100IF Q%=0THEN700
 4200REPEATPRINT:PROCPRINT($(T%+1)+" ? ",0,34):Q%=FNY(0,8)
 4300P%=FNADDSTR(T%)+Q%:T%=!P%+G%
 4400UNTIL?T%<>ASC"*"
 4500CLS:PROCPRINT("Is it "+FNVOWEL($T%,1)+$T%+" ? ",0,34)
 4600Q%=FNY(0,8)
 4700IFQ%=4 PRINT'':PROCPRINT("HO-HO",16,38):NOW=TIME:FORY%=0TO5000:NEXT:GOTO3900
 4710CLS:IFR%-V%>99THEN4800
 4720PROCPRINT("I'm afraid that there is not enough memory left to expand the tree further",0,38):NOW=TIME:REPEATUNTILTIME-NOW>300:GOTO3900
 4800PROCPRINT("What "+FNsm(A$(2))+" were you thinking of ?",0,38):PRINT:PROCPRINT(":",0,38):W%=VPOS-1
 4900A$=FNANS(FNLEAD(FNAO(FNINPUT(26,W%,-1)))):IFA$=""PROCERR(8,1):GOTO4900
 4905CALL&5562,G%,V%,R%
 4906Y%=!(&82)AND&FFFF:U%=-1
 4907IFY%>70THEN4720
 4910REPEATU%=U%+1
 4915UNTIL(?(R%!(U%*4))AND&DF)=((ASCA$)AND&DF)ORU%=Y%
 4930IFU%=Y%THEN5000ELSEIFFNsm($R%!(U%*4))<>FNsm(A$)THEN4910
 4940CLS:SOUND17,-12,100,9:PROCPRINT("That "+FNsm(A$(2))+" is already on the tree",0,38):PRINT:Y%=TIME:REPEATUNTILTIME-Y%>320:GOTO4800
 5000V1%=V%+4:$V1%=A$:L%=V1%:V1%=FNADDSTR(V1%)
 5100$V1%="*":U%=V1%+1
 5200CLS:PROCPRINT("Please give me a question to tell the",0,38):PRINT:PROCPRINT("difference between "+FNVOWEL($L%,1)+$L%,0,38):PRINT:PROCPRINT("and "+FNVOWEL($T%,1)+$T%,0,38):PRINT:PROCPRINT(":",0,38):W%=VPOS-1
 5300$U%=FNLCAP(FNINPUT(66,W%,-1))
 5400IFLEN$U%<4PROCERR(8,1):GOTO5300
 5500$U%=FNQU($U%)
 5600V2%=V1%:V1%=FNADDSTR(V1%)
 5700K%=V1%:V1%=V1%+8:!V1%=&0DFF0DFF
 5800CLS:PROCPRINT(FNFINDIT($U%,FNVOWEL($T%,FNCAPS($U%))+$T%)+" ? ",0,34)
 5900Q%=FNY(1,8)
 6000K%!Q%=(T%-G%)ORMK%:K%!(4-Q%)=(L%-G%-4)ORMK%
 6010CALL&5748,V%,V1%:!P%=(V2%-G%-4)ORMK%
 6020V%=V1%-4
 6100GOTO3900
 6200CLS
 6601PROCPRINT("Do you wish to list the whole tree ? ",0,34):K%=FNY(0,0):IFK%=4PRINT:P%=G%:GOTO6610
 6602P%=G%+1
 6603PROCQPRINT:PROCPRINT("Which question would you like to list from ?",0,34):W%=VPOS-1
 6604L%=ASCFNINPUT(1,W%,-1)-48:IFL%=-49THEN6609ELSEIFL%<1ORL%>D%THENPROCERR(0,11):GOTO6604
 6605IFL%=D%PRINT:GOTO6609
 6606P%=R%!(L%*4)-1:PRINT:GOTO6610
 6609IF?(P%-1)=42THEN6603ELSEGOTO6200
 6610FORY%=0TO40:R%?Y%=&FF:NEXT:R%?0=0:PROCPRINT("Shall I print to printer ? ",0,34)
 6620K%=FNY(0,0):PRINT
 6630IFK%<>4CLS:PROCPRINT("Press SHIFT key each time for the next page",0,38):VDU14,26:NOW=TIME:REPEATUNTILTIME-NOW>250:S%=40:H=1:GOTO6700
 6640PROCPRINT("How many columns is the printer ?",0,34):W%=VPOS-1
 6650S%=VALFNINPUT(3,W%,-1):IFS%=0S%=80
 6660IFS%<20PROCERR(0,33):GOTO6650:ELSEVDU2,1,13,15:H=0
 6700CLS:PROCREAD(P%,1,42)
 6800VDU3,15:IFH=0THEN30000
 6850PRINT:PROCPRINT("Press ESCAPE to return to the menu",0,38)
 6855GOTO6855
 6900DEFPROCREAD(P%,T%,U%)
 7000IF?P%=42THEN7100
 7002IFR%?(T%-1)<>&FFR%?(T%-1)=&FF:J%=0:ELSEJ%=1
 7003PROCt(T%)
 7015PRINTSTRING$(T%*2-POS-2," ");CHR$(U%);"-- ";:F%=POS:PRINTFNCHOP($P%,F%,S%)
 7020IFLENB$=0THEN7040
 7021IFJ%=1R%?(T%-1)=(T%-1)
 7023REPEATPROCt(T%):PRINTSTRING$(T%*2-POS+1," ");" ";FNCHOP(B$,F%,S%):UNTILLENB$=0
 7030R%?(T%-1)=&FF
 7040ENDPROC
 7100PROCREAD(!(FNADDSTR(P%)+4)+G%,T%+1,89)
 7110R%?T%=T%:PROCt(T%):PRINT
 7140IFR%?(T%-1)<>&FFZ%=1ELSEZ%=0
 7150R%?T%=&FF:R%?(T%-1)=&FF
 7200PROCt(T%):PRINTSTRING$((T%*2-POS-2)," ");CHR$(U%);"-+ ";:F%=POS:PRINTFNCHOP($(P%+1)+" ?",F%,S%)
 7240R%?T%=T%
 7249IFZ%=0R%?(T%-1)=T%-1
 7250IFLENB$=0THEN7260ELSEREPEATPROCt(T%):PRINT" ";FNCHOP(B$,F%,S%)
 7251UNTILLENB$=0
 7260PROCt(T%):PRINT
 7300PROCREAD(!FNADDSTR(P%)+G%,T%+1,78)
 7400ENDPROC
 7600T%=TV%+4:V%=T%:PROCVH:CLS:PRINT'':PROCPRINT("What do you wish to call this new",0,38):PRINT:PROCPRINT("tree",12,38):PRINT:PROCPRINT("?",0,38)
 7700A$(1)=FNINPUT(20,7,-1):IFA$(1)=""PROCERR(0,1):GOTO7700
 7800A$(1)=FNLCAP(A$(1))
 7900PROCVH:CLS:PRINT'':PROCPRINT(A$(1),FNCENTRE(A$(1)),38)
 8000PROCVL
 8100CLS:PRINT'':PROCPRINT("Are you happy with this title ? ",0,34):W%=VPOS-1
 8200A%=FNY(1,8):IFA%=0THEN7600
 8300IFA%=4THEN8500
 8400PROCERR(8,32):GOTO8200
 8500PROCVL:CLS
 8600PROCPRINT("What is the singular of "+A$(1),0,38):PRINT
 8700PROCPRINT(FNVOWEL(A$(1),0),0,38):W%=VPOS-1
 8800PRINT:A$(2)=FNCHECK(FNINPUT(20,W%,LENFNVOWEL(A$(1),0)-2)):IFA$(2)=""PROCERR(8,3):GOTO8800
 8900CLS:PRINT':PROCPRINT("Please enter "+FNVOWEL(A$(2),1)+FNsm(A$(2)),0,38):PRINT:PROCPRINT(":",0,38):W%=VPOS-1
 9000PRINT:A$(3)=FNINPUT(26,W%,0):A$(3)=FNAO(FNCHECK(A$(3))):A$(3)=FNANS(FNLEAD(A$(3)))
 9100IFA$(3)="" PROCERR(8,2):GOTO9000
 9200PRINT:PROCPRINT("Please enter another "+FNsm(A$(2)),0,38):PRINT:PROCPRINT(":",0,9):W%=VPOS-1
 9300PRINT:A$(4)=FNINPUT(26,W%,0):A$(4)=FNAO(FNCHECK(A$(4))):A$(4)=FNANS(FNLEAD(A$(4))):IFA$(4)=""ORFNsm(A$(4))=FNsm(A$(3))PROCERR(8,2):GOTO9300
 9400CLS:PROCPRINT("Please give me a question to tell the",0,38):PRINT:PROCPRINT("difference between "+FNVOWEL(A$(3),1)+A$(3),0,38):PRINT:PROCPRINT("and "+FNVOWEL(A$(4),1)+A$(4),0,38):PRINT::PROCPRINT(":",0,38):W%=VPOS-1
 9500D$=FNLCAP(FNINPUT(66,W%,-1))
 9600IFLEND$<2THENPROCERR(8,1):GOTO9500:ELSED$=FNQU(D$)
 9700CLS:PROCPRINT(FNFINDIT(D$,FNVOWEL(A$(3),FNCAPS(D$))+A$(3))+" ? ",0,34)
 9800Q%=FNY(1,8):IFQ%=0THEN10000
 9900A$=A$(4):A$(4)=A$(3):A$(3)=A$
10000$T%=A$(1):T%=T%+LEN$T%+1:$T%=A$(2):T%=T%+LEN$T%+1:V%=T%:$V%="*"+D$:V%=FNADDSTR(V%)
10100P%=V%:V%=V%+8:!P%=(V%-T%)ORMK%
10200$V%=A$(3):V%=FNADDSTR(V%):P%!4=(V%-T%)ORMK%
10300$V%=A$(4):V%=FNADDSTR(V%)
10400!V%=&0DFF0DFF
10500G%=T%:GOTO700
10700DEFPROCX(S%) X%=S%MOD&100:Y%=S%DIV&100:ENDPROC
10800DEFFNCENTRE(A$) =17-LENA$/2
10900DEFPROCPRINT($WS%,Z%,B%)LOCALB$:IFLEN$WS%+Z%>B%THEN11000:ELSEPRINTSTRING$(Z%,CHR$9);:CALL&5276,WS%:VDU10:ENDPROC
11000A%=B%+1-Z%
11100REPEATA%=A%-1:UNTILWS%?A%=32ORA%=0
11200IFRIGHT$($WS%,LEN$WS%-A%-1)="?"THEN11100
11300PROCPRINT(LEFT$($WS%,A%),0,B%):PRINT:PROCPRINT(RIGHT$($WS%,LEN$WS%-A%-1),0,B%)
11400J%=2:ENDPROC
11500DEFFNINPUT(Z1%,V1%,E%)*FX15,1
11510E%=E%+POS
11600LOCALB$,C%,I%:C%=0:PRINTTAB(2+E%,V1%+1);:PROCON:REPEATA=ASCGET$:PROCOFF:IF(A=32ANDC%=0)ORA=13THEN12250
11700IFA>&7FORA<32ORA=&2ASOUND17,-12,100,9:GOTO12250
11800IFA<>127THEN12000ELSEIFLENB$=0THEN12250ELSEB$=LEFT$(B$,LENB$-1):IFPOS=0THENVDU11,8,32,8,11,32,10:ELSEVDU8,11,32,8,10,32
11900VDU8:C%=C%-1:GOTO12250
12000IFLENB$=Z1%SOUND17,-12,100,9:GOTO12250
12100C%=C%+1:B$=B$+CHR$A:VDU11:?&57D7=A:CALL&5246:VDU10:IFPOS=0VDU10
12250PROCON:UNTILA=13:PROCOFF
12300REPEATC%=INSTR(B$,"  ")
12400IFC%B$=LEFT$(B$,C%)+MID$(B$,C%+2)
12600UNTILC%=0
12700=FNCHECK(B$)
12800DEFFNVOWEL($WS%,Q%) LOCALS$:Y%=-1:REPEATY%=Y%+1:UNTILA1?Y%=(WS%?0AND&DF)ORY%=4:IFA1?Y%=(WS%?0AND&DF)Y%=0
12900IFY%<4S$=CHR$(65OR 32*Q%)+CHR$(78OR32*Q%)+" " ELSES$=CHR$(65OR 32*Q%)+" "
13000=S$
13100DEFFNY(A%,U%):Y%=POS:W%=VPOS
13200PRINTTAB(Y%,W%);:A$=CHR$(ASCFNINPUT(3,VPOS-1,-2)AND&DF):IFA$="Y"=4
13300IFA$="N"=0
13500PROCERR(U%,Y%)
13600GOTO13200
13700DEFFNSPACE =INSTR($WS%," ",A%)
13800DEFFNFINDIT($WS%,A$)
14000B%=INSTR($WS%," IT"):IFB%=0B%=INSTR($WS%," it"):IFB%=0THEN14200
14020IFWS%?(B%+2)=32ORWS%?(B%+2)=13THEN14400
14200="What would the answer be for "+A$
14400=LEFT$($WS%,B%)+A$+RIGHT$($WS%,LEN$WS%-B%-2)
14500DEFPROCERR(A%,B%)VDU28,B%,31,39,VPOS+(A%-1):CLS:VDU28,0,31,39,A%:ENDPROC
14600DEFFNCHECK($WS%)
14700IFASCRIGHT$($WS%,1)=32THEN$WS%=LEFT$($WS%,LEN$WS%-1):GOTO14700
14800=$WS%
14900A%=1:REPEATWS%?A%=WS%?A%OR32:A%=A%+1:UNTILWS%?A%=13
15000=$WS%
15100DEFFNCAPS($WS%) B%=0
15200A%=B%+1:B%=FNSPACE:IFMID$($WS%,B%+1,3)="IT "ORMID$($WS%,B%+1,3)="it "THEN15500
15300IFB%<>0THEN15200
15400=1
15500=(WS%?(B%-2)AND32)DIV32
15600DEFPROCON VDU23,1,1;0;0;0;:ENDPROC
15700DEFPROCOFF VDU23,1,0;0;0;0;:ENDPROC
15800DEFFNAO($WS%) A$=LEFT$($WS%,2):IFA$="A "ORA$="a "$WS%=MID$($WS%,3)
15900A$=LEFT$($WS%,3):IFA$="AN "ORA$="an "ORA$="An "THEN$WS%=MID$($WS%,4)
16000=$WS%
16100DEFFNANS($WS%) IFLEN$WS%<2THEN16400
16200IF$WS%="YES"OR$WS%="NO"THEN16400
16210IF$WS%="yes"OR$WS%="no"THEN16400
16220IF$WS%="Yes"OR$WS%="No"THEN16400
16300=$WS%
16400=""
16500DEFFNLEAD($WS%)
16600IF?WS%=32$WS%=RIGHT$($WS%,2):GOTO16600
16700=$WS%
16800DEFFNLCAP($WS%)?WS%=?WS%AND&DF:=$WS%
16900DEFFNQU(A$)
17000IFRIGHT$(A$,1)="?"THEN=FNCHECK(LEFT$(A$,LENA$-1))ELSE=A$
17300DEFFNADDSTR(WS%) =LEN$WS%+1+WS%
17400VDU3:IFERR=17OR ERR=4THEN700ELSEREPORT:*FX4
17500PRINTERL:STOP
17600CLS:PROCVH:PRINT':PROCPRINT("Do you wish to:",0,38)
17700PRINT':PROCPRINT("1   Edit questions",4,38)
17800PRINT:PROCPRINT("2   Edit answers",4,38):PRINT:PROCPRINT("3   Delete a node",4,38)
17810PRINT':PROCPRINT("( USE 1 / 2 / 3 / N )",7,38):PRINT:PROCPRINT("?   ",0,38):W%=VPOS-1
17900PRINT:A%=ASCFNINPUT(1,W%,0)-48
18000IFA%=30ORA%=62THEN30000
18100IFA%>3ORA%<1PROCERR(0,2):GOTO17900
18110ONA%GOTO18820,19900,21610
18400DEFPROCQPRINT D%=0:VDU26,12:PRINT':REPEATD%=D%+1
18500R%!(D%*4)=P%
18600IFP%=G%+1THENPROCPRINT(STR$(D%)+"  "+$P%+" ?",0,38):PRINT:P%=FNADDSTR(FNADDSTR(FNADDSTR(FNADDSTR(P%)+8)))+1:GOTO18800
18700PROCPRINT(STR$(D%)+"  "+$P%+" ?",0,38):PRINT:P%=FNADDSTR(FNADDSTR(P%)+8)+1
18800UNTILD%=4 OR ?(P%-1)<>42:D%=D%+1:PROCPRINT(STR$(D%)+"  None of these questions",0,38):PRINT:ENDPROC
18820P%=G%+1
18830PROCQPRINT
18900PROCPRINT("Which would you like to edit ?",0,34):W%=VPOS-1
19000L%=ASCFNINPUT(1,W%,-1)-48:IFL%=-49THEN19800ELSEIFL%<1ORL%>D%THENPROCERR(0,30):GOTO19000
19100IFL%=D%THEN19800
19200CLS:PRINT:PROCPRINT($(R%!(L%*4))+" ?",0,38):PRINT:PROCPRINT("Please type in the corrected version",0,38):PRINT:PROCPRINT(":",0,38):W%=VPOS-1
19300$WS%=FNQU(FNLCAP(FNINPUT(66,W%,-1)))
19400IFLEN$WS%<2:PROCERR(0,1):GOTO19300
19500CALL&55F0,G%,V%,WS%,R%!(L%*4)
19600IF?&7B>127THENV%=V%+(256-?&7B)ELSEV%=V%-?&7B
19700GOTO17600
19800IF?(P%-1)=42THEN18830ELSE GOTO17600
19900P%=G%+1
20000D%=0:F%=0
20100P1%=FNADDSTR(P%)+8
20200R%!4=P1%:VDU26,12:PRINT':REPEATD%=D%+1
20300IFP%=G%+1PROCPRINT(STR$(D%)+"  "+$P1%,0,38):PRINT:P1%=FNADDSTR(P1%):R%!((D%+1)*4)=P1%:GOTO20500
20400P%=P1%:PROCPRINT(STR$(D%)+"  "+$P%,0,38):PRINT:P1%=FNADDSTR(FNADDSTR(P1%))+8:R%!((D%+1)*4)=P1%
20500IFD%>1THENP%=P1%
20600UNTILD%=4OR?P1%=&FF
20700D%=D%+1:PROCPRINT(STR$(D%)+"  None of these answers",0,38):PRINT:PROCPRINT("Which would you like to edit ?",0,34):W%=VPOS-1
20800L%=ASCFNINPUT(1,W%,-1)-48:IFL%=-49THEN21600ELSEIFL%<1ORL%>D%THENPROCERR(0,30):GOTO20800
20900IFL%=D%THEN21600
21000CLS:PRINT:PROCPRINT($(R%!(L%*4)),0,38)
21100PRINT:PROCPRINT("Please type in the corrected version",0,38):PRINT:PROCPRINT(":",0,38):W%=VPOS-1
21200$WS%=FNANS(FNAO(FNLEAD(FNINPUT(31,W%,-1)))):IF$WS%=""PROCERR(0,1):GOTO21200
21300CALL&55F0,G%,V%,WS%,R%!(L%*4)
21400IF?&7B>127THENV%=V%+(256-?&7B)ELSEV%=V%-?&7B
21500GOTO17600
21600IF?P1%<>&FF D%=0:GOTO20200:ELSE17600
21610P%=FNADDSTR(FNADDSTR(FNADDSTR(FNADDSTR(G%+1)+8)))+1:IF?(P%-1)<>42THEN17600
21620PROCQPRINT
21630PROCPRINT("Which would you like to delete ?",0,34):W%=VPOS-1
21640L%=ASCFNINPUT(1,W%,-1)-48:IFL%=-49THEN21690ELSEIFL%<1ORL%>D%PROCERR(0,32):GOTO21640
21650IFL%=D%THEN21690
21660O%=R%!(L%*4)-1:S%=40:FORY%=0TO20:R%?Y%=&FF:NEXT:R%?0=0:CLS:PROCPRINT("Press the SHIFT key each time for the next page",0,38):NOW=TIME:REPEATUNTILTIME-NOW>250:CLS:VDU14:PROCREAD(O%,1,42)
21665PRINT:VDU15:PROCPRINT("Do you want to delete the Y or the N branch (Use Y or N) ?",0,38):W%=VPOS-1
21670A%=ASCFNINPUT(1,W%,-1)OR32
21675IFA%<>121ANDA%<>110THENPROCERR(0,21):GOTO21670
21680!V%=0:IFA%=121J%=4:P%=!(FNADDSTR(O%)+4)+G%:ELSEJ%=0:P%=O%
21681Z%=0:PROCDEL(P%,1)
21682?O%=&EF:R%!Z%=(O%-G%):Z%=Z%DIV4+1
21683CALL&52BD,G%,V%,R%,Z%:V%=!(&72)AND&FFFF
21686!V%=&DFF0DFF:GOTO17600
21690IF?(P%-1)=42THEN21620ELSE GOTO17600
21691DEFPROCDEL(P%,T%)IFT%=1IFJ%=0THEN21697ELSEIF?P%=42THEN21694
21692?P%=&EF
21693ENDPROC
21694PROCDEL(!(FNADDSTR(P%)+4)+G%,T%+1)
21695?P%=&EF:R%!Z%=(P%-G%):Z%=Z%+4
21697PROCDEL(!FNADDSTR(P%)+G%,T%+1)
21698ENDPROC
21700CLS:PROCPRINT("Would you like to save this tree ?",0,34):W%=VPOS-1
21800A$=CHR$(ASCFNINPUT(3,W%,-2)AND&DF):IFA$="N" RUN
21900IFA$<>"Y"PROCERR(8,35):GOTO21800
22000CLS:PROCPRINT("What name shall I give to the file ?",0,34):W%=VPOS-1
22100$WS%=FNCHECK(FNINPUT(10,W%,-1)):IF$WS%=""THEN$WS%="NULL"
22200$WS%="S."+$WS%+" "+STR$~TV%+" "+STR$~V%
22300!TV%=(V%-TV%):PROCX(WS%):CLS:PRINT"SAVING":PROCON:CALL&FFF7:PROCOFF
22400GOTO30000
22500DEFPROCFIND(A$)
22600Z%=PAGE:REPEATA%=Z%+4
22700IFLEN$A%>=LENA$IFINSTR($A%,A$)PRINTZ%?1*256+Z%?2
22800Z%=Z%+Z%?3:UNTILZ%?1>&7F:ENDPROC
22810DEFPROCt(T%)FORY%=0TOT%:IFR%?Y%=&FFTHEN22830
22820PRINTSTRING$((R%?Y%)*2-POS," ");"!";
22830NEXT:ENDPROC
22840DEFPROCVH VDU28,0,31,39,0:ENDPROC
22850DEFPROCVL VDU28,0,31,39,8:ENDPROC
28500DEFFNCHOP(A$,F%,D%)LOCALA%:A%=D%-F%:IFLENA$<A%THENB$="":=A$
28550REPEATA%=A%-1:UNTILMID$(A$,A%,1)=" "ORA%=0
28600IFLENA$-A%>0B$=RIGHT$(A$,LENA$-A%)ELSEB$=" "
28650IFB$="?"ORB$=" ?"THEN28550
28660IFA$="    "ORA$="  "THEN28710
28700IFA%<>0=LEFT$(A$,A%-1)
28710B$="":="etc"
30000PROCVH:CLS
30010PRINT':PROCOFF:PROCPRINT(A$(1),FNCENTRE(A$(1)),38)
30020PRINT':PROCPRINT("What would you like to do :",0,38)
30030PRINT':PROCPRINT("1  Think of "+FNVOWEL(A$(2),1)+FNsm(A$(2)),3,38):PRINT
30040PROCPRINT("2  Guess "+FNVOWEL(A$(2),1)+FNsm(A$(2)),3,38):PRINT
30060PROCPRINT("3  Edit the tree",3,38):PRINT
30070PROCPRINT("4  Print out the tree",3,38):PRINT
30080PROCPRINT("5  Save the tree",3,38):PRINT
30090PROCPRINT("6  Load another tree",3,38):PRINT
30100PROCPRINT("7  Start a new tree",3,38):PRINT
30110REPEATPRINTTAB(0,22);:PROCPRINT("?  ",0,38):PRINT:Z$=FNINPUT(1,22,0)
30120A%=VALZ$:UNTILA%>0ANDA%<8
30130ONA%GOTO3600,30200,17600,6200,22000,3500,7600
30200D%=0:P%=G%+1:P1%=FNADDSTR(P%)+8:!R%=P1%
30208CALL&5562,G%,V%,R%
30270D%=!(&82)AND&FFFF:W%=RND(D%)-1:CLS
30271IFD%=3IF?(R%!8)=&FF:PROCPRINT("Sorry .Not enough "+A$(1)+" on the tree",0,38):FORY%=0TO12000:NEXT:GOTO700
30280W%=R%!(W%*4):CALL&54DD,G%,V%,R%,W%
30330Q%=!(&82)AND&FFFF:B%=Q%
30340REPEAT
30341REPEATB1%=-1:M%?(B%-Q%)=&FF:S%=RND(B%)-1:REPEATB1%=B1%+1:UNTILM%?B1%=S%OR B1%>B%-Q%
30343UNTILB1%>B%-Q%:M%?(B%-Q%)=S%
30345PROCPRINT("The answer to the question",0,38):PRINT
30350PROCPRINT($((R%!(S%*4)AND&FFFF)+1)+" ?",0,38):PRINT
30360IFR%?(S%*4+3)=4THENA$=" yes"ELSEA$=" no"
30370PROCPRINT("is"+A$,0,38):PRINT
30380PROCPRINT("Your guess is ?",0,38):S%=VPOS-1
30390A$=FNANS(FNAO(FNLEAD(FNINPUT(22,S%,-1)))):IFA$=""THENPROCERR(0,15):GOTO30390
30400PRINT:IFFNsm($W%)=FNsm(A$)THENQ%=-1:PRINT':PROCPRINT("CORRECT",14,38):ELSECLS:PROCPRINT("WRONG",14,38):PRINT
30420Q%=Q%-1:UNTILQ%<1
30450IFQ%=0PROCPRINT("It was "+FNVOWEL($W%,1)+$W%,0,38)
30460W%=TIME:REPEATUNTILTIME-W%>400
30470GOTO30000
31000DEFFNFIND(A%)
31010Y%=G%:REPEATY%=Y%+1:UNTILY%=V%OR!Y%=A%
31020=Y%
31060DEFFNsm(A$)LOCALY%:$WS%=""
31070FORY%=1TOLENA$:$WS%=$WS%+CHR$(ASCMID$(A$,Y%,1)OR32):NEXT:=$WS%
�   ///  A/S  ///
(*L.M/C 5240
2�4:�=&5240:V%=0
7H%=�-�P-2500
d�A$(4),A1 4
��T% H%,R%360,M%50:WS%=M%-70
,7!A1=&4F494541:TV%=T%:T%=T%+4:MK%=&7F7F0000:temp=&78
�A1?4=&55:�15
�
*FX4,1
X��`xC
��!V%=&0DFF0DFF��Ppu
�	�VH:�
L�'''
��OFF
$�PRINT("Tree of Knowledge",9,38)
x�''
�.�PRINT("What would you like to do :",0,38)
@�'
�2�PRINT("1     Load a tree from cassette",3,38)
��
)�PRINT("2     Start a new tree",3,38)
�4��0,16);:�PRINT("?  ",0,38):�:Z$=�INPUT(1,16,0)
4A%=�Z$:�A%>0�A%<3
��A%�tlM,�tp]
���FILELOAD T%=TV%+4
	`��:�'':�PRINT("Which tree would you like loaded ?",0,38):�:�PRINT("(Please type in the filename)",2,38):�:�PRINT(":",0,38):W%=�-1
	�9$WS%=�CHECK(�INPUT(10,W%,-1)):�$WS%=""�ERR(0,1):�dDI
(!V%=0:$WS%="L."+$WS%+" "+�~TV%
��X(WS%)
�4�:�"LOADING":�&FFF7:�VH:V%=!TV%+TV%:!V%=&DFF0DFF
T	�SE:�
�<��SE A$(1)=$T%:T%=�ADDSTR(T%):A$(2)=$T%:T%=�ADDSTR(T%):�

��FILELOAD:G%=T%:�Ppu
)�:�'':�PRINT(A$(1),�CENTRE(A$(1)),38)
t�VL
<PT%=G%:�:�PRINT("Are you thinking of "+�VOWEL(A$(2),1)+�sm(A$(2))+" ? ",0,34)
�Q%=�Y(0,8)
� Q%=0��t|B
h,��:�PRINT($(T%+1)+" ? ",0,34):Q%=�Y(0,8)
�P%=�ADDSTR(T%)+Q%:T%=!P%+G%
0�?T%<>�"*"
�3�:�PRINT("Is it "+�VOWEL($T%,1)+$T%+" ? ",0,34)
�Q%=�Y(0,8)
\<�Q%=4 �'':�PRINT("HO-HO",16,38):NOW=�:�Y%=0�5000:�:�T|O
f�:�R%-V%>99��d@R
pu�PRINT("I'm afraid that there is not enough memory left to expand the tree further",0,38):NOW=�:���-NOW>300:�T|O
�W�PRINT("What "+�sm(A$(2))+" were you thinking of ?",0,38):�:�PRINT(":",0,38):W%=�-1
$?A$=�ANS(�LEAD(�AO(�INPUT(26,W%,-1)))):�A$=""�ERR(8,1):�TdS
)�&5562,G%,V%,R%
*Y%=!(&82)�&FFFF:U%=-1
+�Y%>70��DpR
.�U%=U%+1
3)�(?(R%!(U%*4))�&DF)=((�A$)�&DF)�U%=Y%
B.�U%=Y%��tHS��sm($R%!(U%*4))<>�sm(A$)��TnS
Le�:�17,-12,100,9:�PRINT("That "+�sm(A$(2))+" is already on the tree",0,38):�:Y%=�:���-Y%>320:�d@R
�,V1%=V%+4:$V1%=A$:L%=V1%:V1%=�ADDSTR(V1%)
�$V1%="*":U%=V1%+1
P��:�PRINT("Please give me a question to tell the",0,38):�:�PRINT("difference between "+�VOWEL($L%,1)+$L%,0,38):�:�PRINT("and "+�VOWEL($T%,1)+$T%,0,38):�:�PRINT(":",0,38):W%=�-1
�$U%=�LCAP(�INPUT(66,W%,-1))
�$U%<4�ERR(8,1):�ttT
|$U%=�QU($U%)
�V2%=V1%:V1%=�ADDSTR(V1%)
D#K%=V1%:V1%=V1%+8:!V1%=&0DFF0DFF
�@�:�PRINT(�FINDIT($U%,�VOWEL($T%,�CAPS($U%))+$T%)+" ? ",0,34)
Q%=�Y(1,8)
p-K%!Q%=(T%-G%)�MK%:K%!(4-Q%)=(L%-G%-4)�MK%
z$�&5748,V%,V1%:!P%=(V2%-G%-4)�MK%
�V%=V1%-4
�	�T|O
8�
�V�PRINT("Do you wish to list the whole tree ? ",0,34):K%=�Y(0,0):�K%=4�:P%=G%:�dRY
�P%=G%+1
�N�QPRINT:�PRINT("Which question would you like to list from ?",0,34):W%=�-1
�DL%=��INPUT(1,W%,-1)-48:�L%=-49��dQY��L%<1�L%>D%��ERR(0,11):�dLY
��L%=D%�:�dQY
�P%=R%!(L%*4)-1:�:�dRY
��?(P%-1)=42��dKY��TxX
�J�Y%=0�40:R%?Y%=&FF:�:R%?0=0:�PRINT("Shall I print to printer ? ",0,34)
�K%=�Y(0,0):�
�o�K%<>4�:�PRINT("Press SHIFT key each time for the next page",0,38):�14,26:NOW=�:���-NOW>250:S%=40:H=1:�TlZ
�;�PRINT("How many columns is the printer ?",0,34):W%=�-1
�"S%=��INPUT(3,W%,-1):�S%=0S%=80
*�S%<20�ERR(0,33):�dzY:��2,1,13,15:H=0
,�:�READ(P%,1,42)
��3,15:�H=0��Ppu
�7�:�PRINT("Press ESCAPE to return to the menu",0,38)
�	�dGZ
���READ(P%,T%,U%)
X�?P%=42��t|[
Z+�R%?(T%-1)<>&FFR%?(T%-1)=&FF:J%=0:�J%=1
[
�t(T%)
g7��T%*2-�-2," ");�(U%);"-- ";:F%=�:�CHOP($P%,F%,S%)
l�B$=0��t@[
m�J%=1R%?(T%-1)=(T%-1)
o6��t(T%):��T%*2-�+1," ");" ";�CHOP(B$,F%,S%):��B$=0
vR%?(T%-1)=&FF
��
�&�READ(!(�ADDSTR(P%)+4)+G%,T%+1,89)
�R%?T%=T%:�t(T%):�
��R%?(T%-1)<>&FFZ%=1�Z%=0
�R%?T%=&FF:R%?(T%-1)=&FF
 I�t(T%):��(T%*2-�-2)," ");�(U%);"-+ ";:F%=�:�CHOP($(P%+1)+" ?",F%,S%)
HR%?T%=T%
Q�Z%=0R%?(T%-1)=T%-1
R,�B$=0��D\\���t(T%):�" ";�CHOP(B$,F%,S%)
S
��B$=0
\�t(T%):�
�"�READ(!�ADDSTR(P%)+G%,T%+1,78)
��
�wT%=TV%+4:V%=T%:�VH:�:�'':�PRINT("What do you wish to call this new",0,38):�:�PRINT("tree",12,38):�:�PRINT("?",0,38)
2A$(1)=�INPUT(20,7,-1):�A$(1)=""�ERR(0,1):�TT^
xA$(1)=�LCAP(A$(1))
�-�VH:�:�'':�PRINT(A$(1),�CENTRE(A$(1)),38)
@�VL
�@�:�'':�PRINT("Are you happy with this title ? ",0,34):W%=�-1
 A%=�Y(1,8):�A%=0��tp]
 l�A%=4��Tta
 ��ERR(8,32):�TH`
!4	�VL:�
!�3�PRINT("What is the singular of "+A$(1),0,38):�
!�'�PRINT(�VOWEL(A$(1),0),0,38):W%=�-1
"`M�:A$(2)=�CHECK(�INPUT(20,W%,��VOWEL(A$(1),0)-2)):�A$(2)=""�ERR(8,3):�D`b
"�Z�:�':�PRINT("Please enter "+�VOWEL(A$(2),1)+�sm(A$(2)),0,38):�:�PRINT(":",0,38):W%=�-1
#(M�:A$(3)=�INPUT(26,W%,0):A$(3)=�AO(�CHECK(A$(3))):A$(3)=�ANS(�LEAD(A$(3)))
#��A$(3)="" �ERR(8,2):�Thc
#�N�:�PRINT("Please enter another "+�sm(A$(2)),0,38):�:�PRINT(":",0,9):W%=�-1
$T|�:A$(4)=�INPUT(26,W%,0):A$(4)=�AO(�CHECK(A$(4))):A$(4)=�ANS(�LEAD(A$(4))):�A$(4)=""��sm(A$(4))=�sm(A$(3))�ERR(8,2):�DTd
$���:�PRINT("Please give me a question to tell the",0,38):�:�PRINT("difference between "+�VOWEL(A$(3),1)+A$(3),0,38):�:�PRINT("and "+�VOWEL(A$(4),1)+A$(4),0,38):�::�PRINT(":",0,38):W%=�-1
%D$=�LCAP(�INPUT(66,W%,-1))
%�&�D$<2��ERR(8,1):�T\e:�D$=�QU(D$)
%�B�:�PRINT(�FINDIT(D$,�VOWEL(A$(3),�CAPS(D$))+A$(3))+" ? ",0,34)
&HQ%=�Y(1,8):�Q%=0��TPg
&�!A$=A$(4):A$(4)=A$(3):A$(3)=A$
'Q$T%=A$(1):T%=T%+�$T%+1:$T%=A$(2):T%=T%+�$T%+1:V%=T%:$V%="*"+D$:V%=�ADDSTR(V%)
't!P%=V%:V%=V%+8:!P%=(V%-T%)�MK%
'�-$V%=A$(3):V%=�ADDSTR(V%):P%!4=(V%-T%)�MK%
(<$V%=A$(4):V%=�ADDSTR(V%)
(�!V%=&0DFF0DFF
)G%=T%:�t|B
)�#��X(S%) X%=S%�&100:Y%=S%�&100:�
*0ݤCENTRE(A$) =17-�A$/2
*�H��PRINT($WS%,Z%,B%)�B$:�$WS%+Z%>B%��dxj:���Z%,�9);:�&5276,WS%:�10:�
*�A%=B%+1-Z%
+\�A%=A%-1:�WS%?A%=32�A%=0
+���$WS%,�$WS%-A%-1)="?"��D\k
,$;�PRINT(�$WS%,A%),0,B%):�:�PRINT(�$WS%,�$WS%-A%-1),0,B%)
,�
J%=2:�
,�ݤINPUT(Z1%,V1%,E%)*FX15,1
,�E%=E%+�
-PG�B$,C%,I%:C%=0:�2+E%,V1%+1);:�ON:�A=��:�OFF:�(A=32�C%=0)�A=13��dZo
-�(�A>&7F�A<32�A=&2A�17,-12,100,9:�dZo
.U�A<>127��d`n��B$=0��dZo�B$=�B$,�B$-1):�=0��11,8,32,8,11,32,10:��8,11,32,8,10,32
.|�8:C%=C%-1:�dZo
.��B$=Z1%�17,-12,100,9:�dZo
/D4C%=C%+1:B$=B$+�A:�11:?&57D7=A:�&5246:�10:�=0�10
/��ON:�A=13:�OFF
0�C%=�B$,"  ")
0p�C%B$=�B$,C%)+�B$,C%+2)
18	�C%=0
1�=�CHECK(B$)
2VݤVOWEL($WS%,Q%) �S$:Y%=-1:�Y%=Y%+1:�A1?Y%=(WS%?0�&DF)�Y%=4:�A1?Y%=(WS%?0�&DF)Y%=0
2d=�Y%<4S$=�(65� 32*Q%)+�(78�32*Q%)+" " �S$=�(65� 32*Q%)+" "
2�=S$
3,ݤY(A%,U%):Y%=�:W%=�
3�3�Y%,W%);:A$=�(��INPUT(3,�-1,-2)�&DF):�A$="Y"=4
3�
�A$="N"=0
4��ERR(U%,Y%)
5 	�tPs
5�ݤSPACE =�$WS%," ",A%)
5�ݤFINDIT($WS%,A$)
6�3B%=�$WS%," IT"):�B%=0B%=�$WS%," it"):�B%=0��Dxw
6�%�WS%?(B%+2)=32�WS%?(B%+2)=13��D@x
7x'="What would the answer be for "+A$
8@#=�$WS%,B%)+A$+�$WS%,�$WS%-B%-2)
8�8��ERR(A%,B%)�28,B%,31,39,�+(A%-1):�:�28,0,31,39,A%:�
9ݤCHECK($WS%)
9l+��$WS%,1)=32�$WS%=�$WS%,�$WS%-1):�Dly
9�	=$WS%
:4-A%=1:�WS%?A%=WS%?A%�32:A%=A%+1:�WS%?A%=13
:�	=$WS%
:�ݤCAPS($WS%) B%=0
;`CA%=B%+1:B%=�SPACE:�$WS%,B%+1,3)="IT "��$WS%,B%+1,3)="it "��tL|
;��B%<>0��D`{
<(=1
<�=(WS%?(B%-2)�32)�32
<���ON �23,1,1;0;0;0;:�
=T��OFF �23,1,0;0;0;0;:�
=�8ݤAO($WS%) A$=�$WS%,2):�A$="A "�A$="a "$WS%=�$WS%,3)
>9A$=�$WS%,3):�A$="AN "�A$="an "�A$="An "�$WS%=�$WS%,4)
>�	=$WS%
>�ݤANS($WS%) �$WS%<2��PP@
?H�$WS%="YES"�$WS%="NO"��PP@
?R�$WS%="yes"�$WS%="no"��PP@
?\�$WS%="Yes"�$WS%="No"��PP@
?�	=$WS%
@=""
@tݤLEAD($WS%)
@��?WS%=32$WS%=�$WS%,2):�`X@
A<	=$WS%
A�#ݤLCAP($WS%)?WS%=?WS%�&DF:=$WS%
BݤQU(A$)
Bh'��A$,1)="?"�=�CHECK(�A$,�A$-1))�=A$
C�ݤADDSTR(WS%) =�$WS%+1+WS%
C��3:�=17� �=4��t|B��:*FX4
D\�:�
D�+�:�VH:�':�PRINT("Do you wish to:",0,38)
E$(�':�PRINT("1   Edit questions",4,38)
E�H�:�PRINT("2   Edit answers",4,38):�:�PRINT("3   Delete a node",4,38)
E�H�':�PRINT("( USE 1 / 2 / 3 / N )",7,38):�:�PRINT("?   ",0,38):W%=�-1
E��:A%=��INPUT(1,W%,0)-48
FP�A%=30�A%=62��Ppu
F��A%>3�A%<1�ERR(0,2):�`lE
F��A%�pDI,�p|M,�@jT
G�$��QPRINT D%=0:�26,12:�':�D%=D%+1
HDR%!(D%*4)=P%
H�c�P%=G%+1��PRINT(�(D%)+"  "+$P%+" ?",0,38):�:P%=�ADDSTR(�ADDSTR(�ADDSTR(�ADDSTR(P%)+8)))+1:�@pI
IB�PRINT(�(D%)+"  "+$P%+" ?",0,38):�:P%=�ADDSTR(�ADDSTR(P%)+8)+1
IpR�D%=4 � ?(P%-1)<>42:D%=D%+1:�PRINT(�(D%)+"  None of these questions",0,38):�:�
I�P%=G%+1
I��QPRINT
I�8�PRINT("Which would you like to edit ?",0,34):W%=�-1
J8DL%=��INPUT(1,W%,-1)-48:�L%=-49��@XM��L%<1�L%>D%��ERR(0,30):�PxJ
J��L%=D%��@XM
Kv�:�:�PRINT($(R%!(L%*4))+" ?",0,38):�:�PRINT("Please type in the corrected version",0,38):�:�PRINT(":",0,38):W%=�-1
Kd%$WS%=�QU(�LCAP(�INPUT(66,W%,-1)))
K��$WS%<2:�ERR(0,1):�@dK
L,�&55F0,G%,V%,WS%,R%!(L%*4)
L�)�?&7B>127�V%=V%+(256-?&7B)�V%=V%-?&7B
L�	�`@D
MX�?(P%-1)=42��pNI� �`@D
M�P%=G%+1
N 
D%=0:F%=0
N�P1%=�ADDSTR(P%)+8
N�R%!4=P1%:�26,12:�':�D%=D%+1
OLS�P%=G%+1�PRINT(�(D%)+"  "+$P1%,0,38):�:P1%=�ADDSTR(P1%):R%!((D%+1)*4)=P1%:�PTP
O�VP%=P1%:�PRINT(�(D%)+"  "+$P%,0,38):�:P1%=�ADDSTR(�ADDSTR(P1%))+8:R%!((D%+1)*4)=P1%
P�D%>1�P%=P1%
Px�D%=4�?P1%=&FF
P�oD%=D%+1:�PRINT(�(D%)+"  None of these answers",0,38):�:�PRINT("Which would you like to edit ?",0,34):W%=�-1
Q@DL%=��INPUT(1,W%,-1)-48:�L%=-49��@`T��L%<1�L%>D%��ERR(0,30):�@@Q
Q��L%=D%��@`T
R!�:�:�PRINT($(R%!(L%*4)),0,38)
RlS�:�PRINT("Please type in the corrected version",0,38):�:�PRINT(":",0,38):W%=�-1
R�C$WS%=�ANS(�AO(�LEAD(�INPUT(31,W%,-1)))):�$WS%=""�ERR(0,1):�`PR
S4�&55F0,G%,V%,WS%,R%!(L%*4)
S�)�?&7B>127�V%=V%+(256-?&7B)�V%=V%-?&7B
S�	�`@D
T`�?P1%<>&FF D%=0:�`hN:��`@D
TjEP%=�ADDSTR(�ADDSTR(�ADDSTR(�ADDSTR(G%+1)+8)))+1:�?(P%-1)<>42��`@D
Tt�QPRINT
T~:�PRINT("Which would you like to delete ?",0,34):W%=�-1
T�CL%=��INPUT(1,W%,-1)-48:�L%=-49��pzT��L%<1�L%>D%�ERR(0,32):�pHT
T��L%=D%��pzT
T��O%=R%!(L%*4)-1:S%=40:�Y%=0�20:R%?Y%=&FF:�:R%?0=0:�:�PRINT("Press the SHIFT key each time for the next page",0,38):NOW=�:���-NOW>250:�:�14:�READ(O%,1,42)
T�Z�:�15:�PRINT("Do you want to delete the Y or the N branch (Use Y or N) ?",0,38):W%=�-1
T�A%=��INPUT(1,W%,-1)�32
T�%�A%<>121�A%<>110��ERR(0,21):�pfT
T�8!V%=0:�A%=121J%=4:P%=!(�ADDSTR(O%)+4)+G%:�J%=0:P%=O%
T�Z%=0:�DEL(P%,1)
T�#?O%=&EF:R%!Z%=(O%-G%):Z%=Z%�4+1
T�&�&52BD,G%,V%,R%,Z%:V%=!(&72)�&FFFF
T�!V%=&DFF0DFF:�`@D
T��?(P%-1)=42��@tT� �`@D
T�,��DEL(P%,T%)�T%=1�J%=0��`AT��?P%=42��p~T
T�?P%=&EF
T��
T�"�DEL(!(�ADDSTR(P%)+4)+G%,T%+1)
T�!?P%=&EF:R%!Z%=(P%-G%):Z%=Z%+4
T��DEL(!�ADDSTR(P%)+G%,T%+1)
T��
T�>�:�PRINT("Would you like to save this tree ?",0,34):W%=�-1
U((A$=�(��INPUT(3,W%,-2)�&DF):�A$="N" �
U��A$<>"Y"�ERR(8,35):�PhU
U�@�:�PRINT("What name shall I give to the file ?",0,34):W%=�-1
VT6$WS%=�CHECK(�INPUT(10,W%,-1)):�$WS%=""�$WS%="NULL"
V�%$WS%="S."+$WS%+" "+�~TV%+" "+�~V%
W5!TV%=(V%-TV%):�X(WS%):�:�"SAVING":�ON:�&FFF7:�OFF
W�	�Ppu
W���FIND(A$)
XHZ%=�:�A%=Z%+4
X�%�$A%>=�A$�$A%,A$)�Z%?1*256+Z%?2
YZ%=Z%+Z%?3:�Z%?1>&7F:�
Y#��t(T%)�Y%=0�T%:�R%?Y%=&FF��PnY
Y$��(R%?Y%)*2-�," ");"!";
Y.�:�
Y8��VH �28,0,31,39,0:�
YB��VL �28,0,31,39,8:�
oT2ݤCHOP(A$,F%,D%)�A%:A%=D%-F%:�A$<A%�B$="":=A$
o� �A%=A%-1:��A$,A%,1)=" "�A%=0
o�"�A$-A%>0B$=�A$,�A$-A%)�B$=" "
o��B$="?"�B$=" ?"��pFo
o��A$="    "�A$="  "��Pfp
p�A%<>0=�A$,A%-1)
p&B$="":="etc"
u0	�VH:�
u:+�':�OFF:�PRINT(A$(1),�CENTRE(A$(1)),38)
uD1�':�PRINT("What would you like to do :",0,38)
uN?�':�PRINT("1  Think of "+�VOWEL(A$(2),1)+�sm(A$(2)),3,38):�
uX9�PRINT("2  Guess "+�VOWEL(A$(2),1)+�sm(A$(2)),3,38):�
ul%�PRINT("3  Edit the tree",3,38):�
uv*�PRINT("4  Print out the tree",3,38):�
u�%�PRINT("5  Save the tree",3,38):�
u�)�PRINT("6  Load another tree",3,38):�
u�(�PRINT("7  Start a new tree",3,38):�
u�4��0,22);:�PRINT("?  ",0,38):�:Z$=�INPUT(1,22,0)
u�A%=�Z$:�A%>0�A%<8
u�*�A%�TPN,�`xu,�`@D,�TxX,�`pU,�tlM,�tp]
u�*D%=0:P%=G%+1:P1%=�ADDSTR(P%)+8:!R%=P1%
v�&5562,G%,V%,R%
v> D%=!(&82)�&FFFF:W%=�(D%)-1:�
v?`�D%=3�?(R%!8)=&FF:�PRINT("Sorry .Not enough "+A$(1)+" on the tree",0,38):�Y%=0�12000:�:�t|B
vH#W%=R%!(W%*4):�&54DD,G%,V%,R%,W%
vzQ%=!(&82)�&FFFF:B%=Q%
v��
v�F�B1%=-1:M%?(B%-Q%)=&FF:S%=�(B%)-1:�B1%=B1%+1:�M%?B1%=S%� B1%>B%-Q%
v��B1%>B%-Q%:M%?(B%-Q%)=S%
v�/�PRINT("The answer to the question",0,38):�
v�.�PRINT($((R%!(S%*4)�&FFFF)+1)+" ?",0,38):�
v�%�R%?(S%*4+3)=4�A$=" yes"�A$=" no"
v��PRINT("is"+A$,0,38):�
v�)�PRINT("Your guess is ?",0,38):S%=�-1
v�AA$=�ANS(�AO(�LEAD(�INPUT(22,S%,-1)))):�A$=""��ERR(0,15):�pvv
v�S�:�sm($W%)=�sm(A$)�Q%=-1:�':�PRINT("CORRECT",14,38):��:�PRINT("WRONG",14,38):�
v�Q%=Q%-1:�Q%<1
v�1�Q%=0�PRINT("It was "+�VOWEL($W%,1)+$W%,0,38)
v�W%=�:���-W%>400
w	�Ppu
yݤFIND(A%)
y" Y%=G%:�Y%=Y%+1:�Y%=V%�!Y%=A%
y,=Y%
yTݤsm(A$)�Y%:$WS%=""
y^0�Y%=1��A$:$WS%=$WS%+�(��A$,Y%,1)�32):�:=$WS%
�
00000000  0d 00 00 15 f4 20 20 20  2f 2f 2f 20 20 41 2f 53  |.....   ///  A/S|
00000010  20 20 2f 2f 2f 0d 00 28  0f 2a 4c 2e 4d 2f 43 20  |  ///..(.*L.M/C |
00000020  35 32 34 30 0d 00 32 13  eb 34 3a d3 3d 26 35 32  |5240..2..4:.=&52|
00000030  34 30 3a 56 25 3d 30 0d  00 37 10 48 25 3d 93 2d  |40:V%=0..7.H%=.-|
00000040  b8 50 2d 32 35 30 30 0d  00 64 0f de 41 24 28 34  |.P-2500..d..A$(4|
00000050  29 2c 41 31 20 34 0d 00  c8 1f de 54 25 20 48 25  |),A1 4.....T% H%|
00000060  2c 52 25 33 36 30 2c 4d  25 35 30 3a 57 53 25 3d  |,R%360,M%50:WS%=|
00000070  4d 25 2d 37 30 0d 01 2c  37 21 41 31 3d 26 34 46  |M%-70..,7!A1=&4F|
00000080  34 39 34 35 34 31 3a 54  56 25 3d 54 25 3a 54 25  |494541:TV%=T%:T%|
00000090  3d 54 25 2b 34 3a 4d 4b  25 3d 26 37 46 37 46 30  |=T%+4:MK%=&7F7F0|
000000a0  30 30 30 3a 74 65 6d 70  3d 26 37 38 0d 01 90 10  |000:temp=&78....|
000000b0  41 31 3f 34 3d 26 35 35  3a ef 31 35 0d 01 f4 0a  |A1?4=&55:.15....|
000000c0  2a 46 58 34 2c 31 0d 02  58 0b ee 85 e5 8d 60 78  |*FX4,1..X.....`x|
000000d0  43 0d 02 bc 17 e7 21 56  25 3d 26 30 44 46 46 30  |C.....!V%=&0DFF0|
000000e0  44 46 46 8c 8d 50 70 75  0d 03 84 09 f2 56 48 3a  |DFF..Ppu.....VH:|
000000f0  db 0d 04 4c 08 f1 27 27  27 0d 04 b0 08 f2 4f 46  |...L..'''.....OF|
00000100  46 0d 05 14 24 f2 50 52  49 4e 54 28 22 54 72 65  |F...$.PRINT("Tre|
00000110  65 20 6f 66 20 4b 6e 6f  77 6c 65 64 67 65 22 2c  |e of Knowledge",|
00000120  39 2c 33 38 29 0d 05 78  07 f1 27 27 0d 05 dc 2e  |9,38)..x..''....|
00000130  f2 50 52 49 4e 54 28 22  57 68 61 74 20 77 6f 75  |.PRINT("What wou|
00000140  6c 64 20 79 6f 75 20 6c  69 6b 65 20 74 6f 20 64  |ld you like to d|
00000150  6f 20 3a 22 2c 30 2c 33  38 29 0d 06 40 06 f1 27  |o :",0,38)..@..'|
00000160  0d 06 a4 32 f2 50 52 49  4e 54 28 22 31 20 20 20  |...2.PRINT("1   |
00000170  20 20 4c 6f 61 64 20 61  20 74 72 65 65 20 66 72  |  Load a tree fr|
00000180  6f 6d 20 63 61 73 73 65  74 74 65 22 2c 33 2c 33  |om cassette",3,3|
00000190  38 29 0d 06 d6 05 f1 0d  07 08 29 f2 50 52 49 4e  |8)........).PRIN|
000001a0  54 28 22 32 20 20 20 20  20 53 74 61 72 74 20 61  |T("2     Start a|
000001b0  20 6e 65 77 20 74 72 65  65 22 2c 33 2c 33 38 29  | new tree",3,38)|
000001c0  0d 07 d0 34 f5 f1 8a 30  2c 31 36 29 3b 3a f2 50  |...4...0,16);:.P|
000001d0  52 49 4e 54 28 22 3f 20  20 22 2c 30 2c 33 38 29  |RINT("?  ",0,38)|
000001e0  3a f1 3a 5a 24 3d a4 49  4e 50 55 54 28 31 2c 31  |:.:Z$=.INPUT(1,1|
000001f0  36 2c 30 29 0d 08 34 15  41 25 3d bb 5a 24 3a fd  |6,0)..4.A%=.Z$:.|
00000200  41 25 3e 30 80 41 25 3c  33 0d 08 98 11 ee 41 25  |A%>0.A%<3.....A%|
00000210  e5 8d 74 6c 4d 2c 8d 74  70 5d 0d 08 fc 17 dd f2  |..tlM,.tp]......|
00000220  46 49 4c 45 4c 4f 41 44  20 54 25 3d 54 56 25 2b  |FILELOAD T%=TV%+|
00000230  34 0d 09 60 84 db 3a f1  27 27 3a f2 50 52 49 4e  |4..`..:.'':.PRIN|
00000240  54 28 22 57 68 69 63 68  20 74 72 65 65 20 77 6f  |T("Which tree wo|
00000250  75 6c 64 20 79 6f 75 20  6c 69 6b 65 20 6c 6f 61  |uld you like loa|
00000260  64 65 64 20 3f 22 2c 30  2c 33 38 29 3a f1 3a f2  |ded ?",0,38):.:.|
00000270  50 52 49 4e 54 28 22 28  50 6c 65 61 73 65 20 74  |PRINT("(Please t|
00000280  79 70 65 20 69 6e 20 74  68 65 20 66 69 6c 65 6e  |ype in the filen|
00000290  61 6d 65 29 22 2c 32 2c  33 38 29 3a f1 3a f2 50  |ame)",2,38):.:.P|
000002a0  52 49 4e 54 28 22 3a 22  2c 30 2c 33 38 29 3a 57  |RINT(":",0,38):W|
000002b0  25 3d bc 2d 31 0d 09 c4  39 24 57 53 25 3d a4 43  |%=.-1...9$WS%=.C|
000002c0  48 45 43 4b 28 a4 49 4e  50 55 54 28 31 30 2c 57  |HECK(.INPUT(10,W|
000002d0  25 2c 2d 31 29 29 3a e7  24 57 53 25 3d 22 22 f2  |%,-1)):.$WS%="".|
000002e0  45 52 52 28 30 2c 31 29  3a e5 8d 64 44 49 0d 0a  |ERR(0,1):..dDI..|
000002f0  28 21 56 25 3d 30 3a 24  57 53 25 3d 22 4c 2e 22  |(!V%=0:$WS%="L."|
00000300  2b 24 57 53 25 2b 22 20  22 2b c3 7e 54 56 25 0d  |+$WS%+" "+.~TV%.|
00000310  0a 8c 0b f2 58 28 57 53  25 29 0d 0a f0 34 db 3a  |....X(WS%)...4.:|
00000320  f1 22 4c 4f 41 44 49 4e  47 22 3a d6 26 46 46 46  |."LOADING":.&FFF|
00000330  37 3a f2 56 48 3a 56 25  3d 21 54 56 25 2b 54 56  |7:.VH:V%=!TV%+TV|
00000340  25 3a 21 56 25 3d 26 44  46 46 30 44 46 46 0d 0b  |%:!V%=&DFF0DFF..|
00000350  54 09 f2 53 45 3a e1 0d  0b b8 3c dd f2 53 45 20  |T..SE:....<..SE |
00000360  41 24 28 31 29 3d 24 54  25 3a 54 25 3d a4 41 44  |A$(1)=$T%:T%=.AD|
00000370  44 53 54 52 28 54 25 29  3a 41 24 28 32 29 3d 24  |DSTR(T%):A$(2)=$|
00000380  54 25 3a 54 25 3d a4 41  44 44 53 54 52 28 54 25  |T%:T%=.ADDSTR(T%|
00000390  29 3a e1 0d 0d ac 19 f2  46 49 4c 45 4c 4f 41 44  |):......FILELOAD|
000003a0  3a 47 25 3d 54 25 3a e5  8d 50 70 75 0d 0e 10 29  |:G%=T%:..Ppu...)|
000003b0  db 3a f1 27 27 3a f2 50  52 49 4e 54 28 41 24 28  |.:.'':.PRINT(A$(|
000003c0  31 29 2c a4 43 45 4e 54  52 45 28 41 24 28 31 29  |1),.CENTRE(A$(1)|
000003d0  29 2c 33 38 29 0d 0e 74  07 f2 56 4c 0d 0f 3c 50  |),38)..t..VL..<P|
000003e0  54 25 3d 47 25 3a db 3a  f2 50 52 49 4e 54 28 22  |T%=G%:.:.PRINT("|
000003f0  41 72 65 20 79 6f 75 20  74 68 69 6e 6b 69 6e 67  |Are you thinking|
00000400  20 6f 66 20 22 2b a4 56  4f 57 45 4c 28 41 24 28  | of "+.VOWEL(A$(|
00000410  32 29 2c 31 29 2b a4 73  6d 28 41 24 28 32 29 29  |2),1)+.sm(A$(2))|
00000420  2b 22 20 3f 20 22 2c 30  2c 33 34 29 0d 0f a0 0e  |+" ? ",0,34)....|
00000430  51 25 3d a4 59 28 30 2c  38 29 0d 10 04 0f e7 20  |Q%=.Y(0,8)..... |
00000440  51 25 3d 30 8c 8d 74 7c  42 0d 10 68 2c f5 f1 3a  |Q%=0..t|B..h,..:|
00000450  f2 50 52 49 4e 54 28 24  28 54 25 2b 31 29 2b 22  |.PRINT($(T%+1)+"|
00000460  20 3f 20 22 2c 30 2c 33  34 29 3a 51 25 3d a4 59  | ? ",0,34):Q%=.Y|
00000470  28 30 2c 38 29 0d 10 cc  1f 50 25 3d a4 41 44 44  |(0,8)....P%=.ADD|
00000480  53 54 52 28 54 25 29 2b  51 25 3a 54 25 3d 21 50  |STR(T%)+Q%:T%=!P|
00000490  25 2b 47 25 0d 11 30 0e  fd 3f 54 25 3c 3e 97 22  |%+G%..0..?T%<>."|
000004a0  2a 22 0d 11 94 33 db 3a  f2 50 52 49 4e 54 28 22  |*"...3.:.PRINT("|
000004b0  49 73 20 69 74 20 22 2b  a4 56 4f 57 45 4c 28 24  |Is it "+.VOWEL($|
000004c0  54 25 2c 31 29 2b 24 54  25 2b 22 20 3f 20 22 2c  |T%,1)+$T%+" ? ",|
000004d0  30 2c 33 34 29 0d 11 f8  0e 51 25 3d a4 59 28 30  |0,34)....Q%=.Y(0|
000004e0  2c 38 29 0d 12 5c 3c e7  51 25 3d 34 20 f1 27 27  |,8)..\<.Q%=4 .''|
000004f0  3a f2 50 52 49 4e 54 28  22 48 4f 2d 48 4f 22 2c  |:.PRINT("HO-HO",|
00000500  31 36 2c 33 38 29 3a 4e  4f 57 3d 91 3a e3 59 25  |16,38):NOW=.:.Y%|
00000510  3d 30 b8 35 30 30 30 3a  ed 3a e5 8d 54 7c 4f 0d  |=0.5000:.:..T|O.|
00000520  12 66 14 db 3a e7 52 25  2d 56 25 3e 39 39 8c 8d  |.f..:.R%-V%>99..|
00000530  64 40 52 0d 12 70 75 f2  50 52 49 4e 54 28 22 49  |d@R..pu.PRINT("I|
00000540  27 6d 20 61 66 72 61 69  64 20 74 68 61 74 20 74  |'m afraid that t|
00000550  68 65 72 65 20 69 73 20  6e 6f 74 20 65 6e 6f 75  |here is not enou|
00000560  67 68 20 6d 65 6d 6f 72  79 20 6c 65 66 74 20 74  |gh memory left t|
00000570  6f 20 65 78 70 61 6e 64  20 74 68 65 20 74 72 65  |o expand the tre|
00000580  65 20 66 75 72 74 68 65  72 22 2c 30 2c 33 38 29  |e further",0,38)|
00000590  3a 4e 4f 57 3d 91 3a f5  fd 91 2d 4e 4f 57 3e 33  |:NOW=.:...-NOW>3|
000005a0  30 30 3a e5 8d 54 7c 4f  0d 12 c0 57 f2 50 52 49  |00:..T|O...W.PRI|
000005b0  4e 54 28 22 57 68 61 74  20 22 2b a4 73 6d 28 41  |NT("What "+.sm(A|
000005c0  24 28 32 29 29 2b 22 20  77 65 72 65 20 79 6f 75  |$(2))+" were you|
000005d0  20 74 68 69 6e 6b 69 6e  67 20 6f 66 20 3f 22 2c  | thinking of ?",|
000005e0  30 2c 33 38 29 3a f1 3a  f2 50 52 49 4e 54 28 22  |0,38):.:.PRINT("|
000005f0  3a 22 2c 30 2c 33 38 29  3a 57 25 3d bc 2d 31 0d  |:",0,38):W%=.-1.|
00000600  13 24 3f 41 24 3d a4 41  4e 53 28 a4 4c 45 41 44  |.$?A$=.ANS(.LEAD|
00000610  28 a4 41 4f 28 a4 49 4e  50 55 54 28 32 36 2c 57  |(.AO(.INPUT(26,W|
00000620  25 2c 2d 31 29 29 29 29  3a e7 41 24 3d 22 22 f2  |%,-1)))):.A$="".|
00000630  45 52 52 28 38 2c 31 29  3a e5 8d 54 64 53 0d 13  |ERR(8,1):..TdS..|
00000640  29 13 d6 26 35 35 36 32  2c 47 25 2c 56 25 2c 52  |)..&5562,G%,V%,R|
00000650  25 0d 13 2a 19 59 25 3d  21 28 26 38 32 29 80 26  |%..*.Y%=!(&82).&|
00000660  46 46 46 46 3a 55 25 3d  2d 31 0d 13 2b 0f e7 59  |FFFF:U%=-1..+..Y|
00000670  25 3e 37 30 8c 8d 44 70  52 0d 13 2e 0c f5 55 25  |%>70..DpR.....U%|
00000680  3d 55 25 2b 31 0d 13 33  29 fd 28 3f 28 52 25 21  |=U%+1..3).(?(R%!|
00000690  28 55 25 2a 34 29 29 80  26 44 46 29 3d 28 28 97  |(U%*4)).&DF)=((.|
000006a0  41 24 29 80 26 44 46 29  84 55 25 3d 59 25 0d 13  |A$).&DF).U%=Y%..|
000006b0  42 2e e7 55 25 3d 59 25  8c 8d 74 48 53 8b e7 a4  |B..U%=Y%..tHS...|
000006c0  73 6d 28 24 52 25 21 28  55 25 2a 34 29 29 3c 3e  |sm($R%!(U%*4))<>|
000006d0  a4 73 6d 28 41 24 29 8c  8d 54 6e 53 0d 13 4c 65  |.sm(A$)..TnS..Le|
000006e0  db 3a d4 31 37 2c 2d 31  32 2c 31 30 30 2c 39 3a  |.:.17,-12,100,9:|
000006f0  f2 50 52 49 4e 54 28 22  54 68 61 74 20 22 2b a4  |.PRINT("That "+.|
00000700  73 6d 28 41 24 28 32 29  29 2b 22 20 69 73 20 61  |sm(A$(2))+" is a|
00000710  6c 72 65 61 64 79 20 6f  6e 20 74 68 65 20 74 72  |lready on the tr|
00000720  65 65 22 2c 30 2c 33 38  29 3a f1 3a 59 25 3d 91  |ee",0,38):.:Y%=.|
00000730  3a f5 fd 91 2d 59 25 3e  33 32 30 3a e5 8d 64 40  |:...-Y%>320:..d@|
00000740  52 0d 13 88 2c 56 31 25  3d 56 25 2b 34 3a 24 56  |R...,V1%=V%+4:$V|
00000750  31 25 3d 41 24 3a 4c 25  3d 56 31 25 3a 56 31 25  |1%=A$:L%=V1%:V1%|
00000760  3d a4 41 44 44 53 54 52  28 56 31 25 29 0d 13 ec  |=.ADDSTR(V1%)...|
00000770  15 24 56 31 25 3d 22 2a  22 3a 55 25 3d 56 31 25  |.$V1%="*":U%=V1%|
00000780  2b 31 0d 14 50 b3 db 3a  f2 50 52 49 4e 54 28 22  |+1..P..:.PRINT("|
00000790  50 6c 65 61 73 65 20 67  69 76 65 20 6d 65 20 61  |Please give me a|
000007a0  20 71 75 65 73 74 69 6f  6e 20 74 6f 20 74 65 6c  | question to tel|
000007b0  6c 20 74 68 65 22 2c 30  2c 33 38 29 3a f1 3a f2  |l the",0,38):.:.|
000007c0  50 52 49 4e 54 28 22 64  69 66 66 65 72 65 6e 63  |PRINT("differenc|
000007d0  65 20 62 65 74 77 65 65  6e 20 22 2b a4 56 4f 57  |e between "+.VOW|
000007e0  45 4c 28 24 4c 25 2c 31  29 2b 24 4c 25 2c 30 2c  |EL($L%,1)+$L%,0,|
000007f0  33 38 29 3a f1 3a f2 50  52 49 4e 54 28 22 61 6e  |38):.:.PRINT("an|
00000800  64 20 22 2b a4 56 4f 57  45 4c 28 24 54 25 2c 31  |d "+.VOWEL($T%,1|
00000810  29 2b 24 54 25 2c 30 2c  33 38 29 3a f1 3a f2 50  |)+$T%,0,38):.:.P|
00000820  52 49 4e 54 28 22 3a 22  2c 30 2c 33 38 29 3a 57  |RINT(":",0,38):W|
00000830  25 3d bc 2d 31 0d 14 b4  1f 24 55 25 3d a4 4c 43  |%=.-1....$U%=.LC|
00000840  41 50 28 a4 49 4e 50 55  54 28 36 36 2c 57 25 2c  |AP(.INPUT(66,W%,|
00000850  2d 31 29 29 0d 15 18 1a  e7 a9 24 55 25 3c 34 f2  |-1))......$U%<4.|
00000860  45 52 52 28 38 2c 31 29  3a e5 8d 74 74 54 0d 15  |ERR(8,1):..ttT..|
00000870  7c 10 24 55 25 3d a4 51  55 28 24 55 25 29 0d 15  ||.$U%=.QU($U%)..|
00000880  e0 1c 56 32 25 3d 56 31  25 3a 56 31 25 3d a4 41  |..V2%=V1%:V1%=.A|
00000890  44 44 53 54 52 28 56 31  25 29 0d 16 44 23 4b 25  |DDSTR(V1%)..D#K%|
000008a0  3d 56 31 25 3a 56 31 25  3d 56 31 25 2b 38 3a 21  |=V1%:V1%=V1%+8:!|
000008b0  56 31 25 3d 26 30 44 46  46 30 44 46 46 0d 16 a8  |V1%=&0DFF0DFF...|
000008c0  40 db 3a f2 50 52 49 4e  54 28 a4 46 49 4e 44 49  |@.:.PRINT(.FINDI|
000008d0  54 28 24 55 25 2c a4 56  4f 57 45 4c 28 24 54 25  |T($U%,.VOWEL($T%|
000008e0  2c a4 43 41 50 53 28 24  55 25 29 29 2b 24 54 25  |,.CAPS($U%))+$T%|
000008f0  29 2b 22 20 3f 20 22 2c  30 2c 33 34 29 0d 17 0c  |)+" ? ",0,34)...|
00000900  0e 51 25 3d a4 59 28 31  2c 38 29 0d 17 70 2d 4b  |.Q%=.Y(1,8)..p-K|
00000910  25 21 51 25 3d 28 54 25  2d 47 25 29 84 4d 4b 25  |%!Q%=(T%-G%).MK%|
00000920  3a 4b 25 21 28 34 2d 51  25 29 3d 28 4c 25 2d 47  |:K%!(4-Q%)=(L%-G|
00000930  25 2d 34 29 84 4d 4b 25  0d 17 7a 24 d6 26 35 37  |%-4).MK%..z$.&57|
00000940  34 38 2c 56 25 2c 56 31  25 3a 21 50 25 3d 28 56  |48,V%,V1%:!P%=(V|
00000950  32 25 2d 47 25 2d 34 29  84 4d 4b 25 0d 17 84 0c  |2%-G%-4).MK%....|
00000960  56 25 3d 56 31 25 2d 34  0d 17 d4 09 e5 8d 54 7c  |V%=V1%-4......T||
00000970  4f 0d 18 38 05 db 0d 19  c9 56 f2 50 52 49 4e 54  |O..8.....V.PRINT|
00000980  28 22 44 6f 20 79 6f 75  20 77 69 73 68 20 74 6f  |("Do you wish to|
00000990  20 6c 69 73 74 20 74 68  65 20 77 68 6f 6c 65 20  | list the whole |
000009a0  74 72 65 65 20 3f 20 22  2c 30 2c 33 34 29 3a 4b  |tree ? ",0,34):K|
000009b0  25 3d a4 59 28 30 2c 30  29 3a e7 4b 25 3d 34 f1  |%=.Y(0,0):.K%=4.|
000009c0  3a 50 25 3d 47 25 3a e5  8d 64 52 59 0d 19 ca 0b  |:P%=G%:..dRY....|
000009d0  50 25 3d 47 25 2b 31 0d  19 cb 4e f2 51 50 52 49  |P%=G%+1...N.QPRI|
000009e0  4e 54 3a f2 50 52 49 4e  54 28 22 57 68 69 63 68  |NT:.PRINT("Which|
000009f0  20 71 75 65 73 74 69 6f  6e 20 77 6f 75 6c 64 20  | question would |
00000a00  79 6f 75 20 6c 69 6b 65  20 74 6f 20 6c 69 73 74  |you like to list|
00000a10  20 66 72 6f 6d 20 3f 22  2c 30 2c 33 34 29 3a 57  | from ?",0,34):W|
00000a20  25 3d bc 2d 31 0d 19 cc  44 4c 25 3d 97 a4 49 4e  |%=.-1...DL%=..IN|
00000a30  50 55 54 28 31 2c 57 25  2c 2d 31 29 2d 34 38 3a  |PUT(1,W%,-1)-48:|
00000a40  e7 4c 25 3d 2d 34 39 8c  8d 64 51 59 8b e7 4c 25  |.L%=-49..dQY..L%|
00000a50  3c 31 84 4c 25 3e 44 25  8c f2 45 52 52 28 30 2c  |<1.L%>D%..ERR(0,|
00000a60  31 31 29 3a e5 8d 64 4c  59 0d 19 cd 11 e7 4c 25  |11):..dLY.....L%|
00000a70  3d 44 25 f1 3a e5 8d 64  51 59 0d 19 ce 1a 50 25  |=D%.:..dQY....P%|
00000a80  3d 52 25 21 28 4c 25 2a  34 29 2d 31 3a f1 3a e5  |=R%!(L%*4)-1:.:.|
00000a90  8d 64 52 59 0d 19 d1 1a  e7 3f 28 50 25 2d 31 29  |.dRY.....?(P%-1)|
00000aa0  3d 34 32 8c 8d 64 4b 59  8b e5 8d 54 78 58 0d 19  |=42..dKY...TxX..|
00000ab0  d2 4a e3 59 25 3d 30 b8  34 30 3a 52 25 3f 59 25  |.J.Y%=0.40:R%?Y%|
00000ac0  3d 26 46 46 3a ed 3a 52  25 3f 30 3d 30 3a f2 50  |=&FF:.:R%?0=0:.P|
00000ad0  52 49 4e 54 28 22 53 68  61 6c 6c 20 49 20 70 72  |RINT("Shall I pr|
00000ae0  69 6e 74 20 74 6f 20 70  72 69 6e 74 65 72 20 3f  |int to printer ?|
00000af0  20 22 2c 30 2c 33 34 29  0d 19 dc 10 4b 25 3d a4  | ",0,34)....K%=.|
00000b00  59 28 30 2c 30 29 3a f1  0d 19 e6 6f e7 4b 25 3c  |Y(0,0):....o.K%<|
00000b10  3e 34 db 3a f2 50 52 49  4e 54 28 22 50 72 65 73  |>4.:.PRINT("Pres|
00000b20  73 20 53 48 49 46 54 20  6b 65 79 20 65 61 63 68  |s SHIFT key each|
00000b30  20 74 69 6d 65 20 66 6f  72 20 74 68 65 20 6e 65  | time for the ne|
00000b40  78 74 20 70 61 67 65 22  2c 30 2c 33 38 29 3a ef  |xt page",0,38):.|
00000b50  31 34 2c 32 36 3a 4e 4f  57 3d 91 3a f5 fd 91 2d  |14,26:NOW=.:...-|
00000b60  4e 4f 57 3e 32 35 30 3a  53 25 3d 34 30 3a 48 3d  |NOW>250:S%=40:H=|
00000b70  31 3a e5 8d 54 6c 5a 0d  19 f0 3b f2 50 52 49 4e  |1:..TlZ...;.PRIN|
00000b80  54 28 22 48 6f 77 20 6d  61 6e 79 20 63 6f 6c 75  |T("How many colu|
00000b90  6d 6e 73 20 69 73 20 74  68 65 20 70 72 69 6e 74  |mns is the print|
00000ba0  65 72 20 3f 22 2c 30 2c  33 34 29 3a 57 25 3d bc  |er ?",0,34):W%=.|
00000bb0  2d 31 0d 19 fa 22 53 25  3d bb a4 49 4e 50 55 54  |-1..."S%=..INPUT|
00000bc0  28 33 2c 57 25 2c 2d 31  29 3a e7 53 25 3d 30 53  |(3,W%,-1):.S%=0S|
00000bd0  25 3d 38 30 0d 1a 04 2a  e7 53 25 3c 32 30 f2 45  |%=80...*.S%<20.E|
00000be0  52 52 28 30 2c 33 33 29  3a e5 8d 64 7a 59 3a 8b  |RR(0,33):..dzY:.|
00000bf0  ef 32 2c 31 2c 31 33 2c  31 35 3a 48 3d 30 0d 1a  |.2,1,13,15:H=0..|
00000c00  2c 14 db 3a f2 52 45 41  44 28 50 25 2c 31 2c 34  |,..:.READ(P%,1,4|
00000c10  32 29 0d 1a 90 13 ef 33  2c 31 35 3a e7 48 3d 30  |2).....3,15:.H=0|
00000c20  8c 8d 50 70 75 0d 1a c2  37 f1 3a f2 50 52 49 4e  |..Ppu...7.:.PRIN|
00000c30  54 28 22 50 72 65 73 73  20 45 53 43 41 50 45 20  |T("Press ESCAPE |
00000c40  74 6f 20 72 65 74 75 72  6e 20 74 6f 20 74 68 65  |to return to the|
00000c50  20 6d 65 6e 75 22 2c 30  2c 33 38 29 0d 1a c7 09  | menu",0,38)....|
00000c60  e5 8d 64 47 5a 0d 1a f4  14 dd f2 52 45 41 44 28  |..dGZ......READ(|
00000c70  50 25 2c 54 25 2c 55 25  29 0d 1b 58 10 e7 3f 50  |P%,T%,U%)..X..?P|
00000c80  25 3d 34 32 8c 8d 74 7c  5b 0d 1b 5a 2b e7 52 25  |%=42..t|[..Z+.R%|
00000c90  3f 28 54 25 2d 31 29 3c  3e 26 46 46 52 25 3f 28  |?(T%-1)<>&FFR%?(|
00000ca0  54 25 2d 31 29 3d 26 46  46 3a 4a 25 3d 30 3a 8b  |T%-1)=&FF:J%=0:.|
00000cb0  4a 25 3d 31 0d 1b 5b 0a  f2 74 28 54 25 29 0d 1b  |J%=1..[..t(T%)..|
00000cc0  67 37 f1 c4 54 25 2a 32  2d b1 2d 32 2c 22 20 22  |g7..T%*2-.-2," "|
00000cd0  29 3b bd 28 55 25 29 3b  22 2d 2d 20 22 3b 3a 46  |);.(U%);"-- ";:F|
00000ce0  25 3d b1 3a f1 a4 43 48  4f 50 28 24 50 25 2c 46  |%=.:..CHOP($P%,F|
00000cf0  25 2c 53 25 29 0d 1b 6c  0f e7 a9 42 24 3d 30 8c  |%,S%)..l...B$=0.|
00000d00  8d 74 40 5b 0d 1b 6d 19  e7 4a 25 3d 31 52 25 3f  |.t@[..m..J%=1R%?|
00000d10  28 54 25 2d 31 29 3d 28  54 25 2d 31 29 0d 1b 6f  |(T%-1)=(T%-1)..o|
00000d20  36 f5 f2 74 28 54 25 29  3a f1 c4 54 25 2a 32 2d  |6..t(T%):..T%*2-|
00000d30  b1 2b 31 2c 22 20 22 29  3b 22 20 22 3b a4 43 48  |.+1," ");" ";.CH|
00000d40  4f 50 28 42 24 2c 46 25  2c 53 25 29 3a fd a9 42  |OP(B$,F%,S%):..B|
00000d50  24 3d 30 0d 1b 76 11 52  25 3f 28 54 25 2d 31 29  |$=0..v.R%?(T%-1)|
00000d60  3d 26 46 46 0d 1b 80 05  e1 0d 1b bc 26 f2 52 45  |=&FF........&.RE|
00000d70  41 44 28 21 28 a4 41 44  44 53 54 52 28 50 25 29  |AD(!(.ADDSTR(P%)|
00000d80  2b 34 29 2b 47 25 2c 54  25 2b 31 2c 38 39 29 0d  |+4)+G%,T%+1,89).|
00000d90  1b c6 15 52 25 3f 54 25  3d 54 25 3a f2 74 28 54  |...R%?T%=T%:.t(T|
00000da0  25 29 3a f1 0d 1b e4 1c  e7 52 25 3f 28 54 25 2d  |%):......R%?(T%-|
00000db0  31 29 3c 3e 26 46 46 5a  25 3d 31 8b 5a 25 3d 30  |1)<>&FFZ%=1.Z%=0|
00000dc0  0d 1b ee 1b 52 25 3f 54  25 3d 26 46 46 3a 52 25  |....R%?T%=&FF:R%|
00000dd0  3f 28 54 25 2d 31 29 3d  26 46 46 0d 1c 20 49 f2  |?(T%-1)=&FF.. I.|
00000de0  74 28 54 25 29 3a f1 c4  28 54 25 2a 32 2d b1 2d  |t(T%):..(T%*2-.-|
00000df0  32 29 2c 22 20 22 29 3b  bd 28 55 25 29 3b 22 2d  |2)," ");.(U%);"-|
00000e00  2b 20 22 3b 3a 46 25 3d  b1 3a f1 a4 43 48 4f 50  |+ ";:F%=.:..CHOP|
00000e10  28 24 28 50 25 2b 31 29  2b 22 20 3f 22 2c 46 25  |($(P%+1)+" ?",F%|
00000e20  2c 53 25 29 0d 1c 48 0c  52 25 3f 54 25 3d 54 25  |,S%)..H.R%?T%=T%|
00000e30  0d 1c 51 17 e7 5a 25 3d  30 52 25 3f 28 54 25 2d  |..Q..Z%=0R%?(T%-|
00000e40  31 29 3d 54 25 2d 31 0d  1c 52 2c e7 a9 42 24 3d  |1)=T%-1..R,..B$=|
00000e50  30 8c 8d 44 5c 5c 8b f5  f2 74 28 54 25 29 3a f1  |0..D\\...t(T%):.|
00000e60  22 20 22 3b a4 43 48 4f  50 28 42 24 2c 46 25 2c  |" ";.CHOP(B$,F%,|
00000e70  53 25 29 0d 1c 53 0a fd  a9 42 24 3d 30 0d 1c 5c  |S%)..S...B$=0..\|
00000e80  0c f2 74 28 54 25 29 3a  f1 0d 1c 84 22 f2 52 45  |..t(T%):....".RE|
00000e90  41 44 28 21 a4 41 44 44  53 54 52 28 50 25 29 2b  |AD(!.ADDSTR(P%)+|
00000ea0  47 25 2c 54 25 2b 31 2c  37 38 29 0d 1c e8 05 e1  |G%,T%+1,78).....|
00000eb0  0d 1d b0 77 54 25 3d 54  56 25 2b 34 3a 56 25 3d  |...wT%=TV%+4:V%=|
00000ec0  54 25 3a f2 56 48 3a db  3a f1 27 27 3a f2 50 52  |T%:.VH:.:.'':.PR|
00000ed0  49 4e 54 28 22 57 68 61  74 20 64 6f 20 79 6f 75  |INT("What do you|
00000ee0  20 77 69 73 68 20 74 6f  20 63 61 6c 6c 20 74 68  | wish to call th|
00000ef0  69 73 20 6e 65 77 22 2c  30 2c 33 38 29 3a f1 3a  |is new",0,38):.:|
00000f00  f2 50 52 49 4e 54 28 22  74 72 65 65 22 2c 31 32  |.PRINT("tree",12|
00000f10  2c 33 38 29 3a f1 3a f2  50 52 49 4e 54 28 22 3f  |,38):.:.PRINT("?|
00000f20  22 2c 30 2c 33 38 29 0d  1e 14 32 41 24 28 31 29  |",0,38)...2A$(1)|
00000f30  3d a4 49 4e 50 55 54 28  32 30 2c 37 2c 2d 31 29  |=.INPUT(20,7,-1)|
00000f40  3a e7 41 24 28 31 29 3d  22 22 f2 45 52 52 28 30  |:.A$(1)="".ERR(0|
00000f50  2c 31 29 3a e5 8d 54 54  5e 0d 1e 78 16 41 24 28  |,1):..TT^..x.A$(|
00000f60  31 29 3d a4 4c 43 41 50  28 41 24 28 31 29 29 0d  |1)=.LCAP(A$(1)).|
00000f70  1e dc 2d f2 56 48 3a db  3a f1 27 27 3a f2 50 52  |..-.VH:.:.'':.PR|
00000f80  49 4e 54 28 41 24 28 31  29 2c a4 43 45 4e 54 52  |INT(A$(1),.CENTR|
00000f90  45 28 41 24 28 31 29 29  2c 33 38 29 0d 1f 40 07  |E(A$(1)),38)..@.|
00000fa0  f2 56 4c 0d 1f a4 40 db  3a f1 27 27 3a f2 50 52  |.VL...@.:.'':.PR|
00000fb0  49 4e 54 28 22 41 72 65  20 79 6f 75 20 68 61 70  |INT("Are you hap|
00000fc0  70 79 20 77 69 74 68 20  74 68 69 73 20 74 69 74  |py with this tit|
00000fd0  6c 65 20 3f 20 22 2c 30  2c 33 34 29 3a 57 25 3d  |le ? ",0,34):W%=|
00000fe0  bc 2d 31 0d 20 08 19 41  25 3d a4 59 28 31 2c 38  |.-1. ..A%=.Y(1,8|
00000ff0  29 3a e7 41 25 3d 30 8c  8d 74 70 5d 0d 20 6c 0e  |):.A%=0..tp]. l.|
00001000  e7 41 25 3d 34 8c 8d 54  74 61 0d 20 d0 14 f2 45  |.A%=4..Tta. ...E|
00001010  52 52 28 38 2c 33 32 29  3a e5 8d 54 48 60 0d 21  |RR(8,32):..TH`.!|
00001020  34 09 f2 56 4c 3a db 0d  21 98 33 f2 50 52 49 4e  |4..VL:..!.3.PRIN|
00001030  54 28 22 57 68 61 74 20  69 73 20 74 68 65 20 73  |T("What is the s|
00001040  69 6e 67 75 6c 61 72 20  6f 66 20 22 2b 41 24 28  |ingular of "+A$(|
00001050  31 29 2c 30 2c 33 38 29  3a f1 0d 21 fc 27 f2 50  |1),0,38):..!.'.P|
00001060  52 49 4e 54 28 a4 56 4f  57 45 4c 28 41 24 28 31  |RINT(.VOWEL(A$(1|
00001070  29 2c 30 29 2c 30 2c 33  38 29 3a 57 25 3d bc 2d  |),0),0,38):W%=.-|
00001080  31 0d 22 60 4d f1 3a 41  24 28 32 29 3d a4 43 48  |1."`M.:A$(2)=.CH|
00001090  45 43 4b 28 a4 49 4e 50  55 54 28 32 30 2c 57 25  |ECK(.INPUT(20,W%|
000010a0  2c a9 a4 56 4f 57 45 4c  28 41 24 28 31 29 2c 30  |,..VOWEL(A$(1),0|
000010b0  29 2d 32 29 29 3a e7 41  24 28 32 29 3d 22 22 f2  |)-2)):.A$(2)="".|
000010c0  45 52 52 28 38 2c 33 29  3a e5 8d 44 60 62 0d 22  |ERR(8,3):..D`b."|
000010d0  c4 5a db 3a f1 27 3a f2  50 52 49 4e 54 28 22 50  |.Z.:.':.PRINT("P|
000010e0  6c 65 61 73 65 20 65 6e  74 65 72 20 22 2b a4 56  |lease enter "+.V|
000010f0  4f 57 45 4c 28 41 24 28  32 29 2c 31 29 2b a4 73  |OWEL(A$(2),1)+.s|
00001100  6d 28 41 24 28 32 29 29  2c 30 2c 33 38 29 3a f1  |m(A$(2)),0,38):.|
00001110  3a f2 50 52 49 4e 54 28  22 3a 22 2c 30 2c 33 38  |:.PRINT(":",0,38|
00001120  29 3a 57 25 3d bc 2d 31  0d 23 28 4d f1 3a 41 24  |):W%=.-1.#(M.:A$|
00001130  28 33 29 3d a4 49 4e 50  55 54 28 32 36 2c 57 25  |(3)=.INPUT(26,W%|
00001140  2c 30 29 3a 41 24 28 33  29 3d a4 41 4f 28 a4 43  |,0):A$(3)=.AO(.C|
00001150  48 45 43 4b 28 41 24 28  33 29 29 29 3a 41 24 28  |HECK(A$(3))):A$(|
00001160  33 29 3d a4 41 4e 53 28  a4 4c 45 41 44 28 41 24  |3)=.ANS(.LEAD(A$|
00001170  28 33 29 29 29 0d 23 8c  1d e7 41 24 28 33 29 3d  |(3))).#...A$(3)=|
00001180  22 22 20 f2 45 52 52 28  38 2c 32 29 3a e5 8d 54  |"" .ERR(8,2):..T|
00001190  68 63 0d 23 f0 4e f1 3a  f2 50 52 49 4e 54 28 22  |hc.#.N.:.PRINT("|
000011a0  50 6c 65 61 73 65 20 65  6e 74 65 72 20 61 6e 6f  |Please enter ano|
000011b0  74 68 65 72 20 22 2b a4  73 6d 28 41 24 28 32 29  |ther "+.sm(A$(2)|
000011c0  29 2c 30 2c 33 38 29 3a  f1 3a f2 50 52 49 4e 54  |),0,38):.:.PRINT|
000011d0  28 22 3a 22 2c 30 2c 39  29 3a 57 25 3d bc 2d 31  |(":",0,9):W%=.-1|
000011e0  0d 24 54 7c f1 3a 41 24  28 34 29 3d a4 49 4e 50  |.$T|.:A$(4)=.INP|
000011f0  55 54 28 32 36 2c 57 25  2c 30 29 3a 41 24 28 34  |UT(26,W%,0):A$(4|
00001200  29 3d a4 41 4f 28 a4 43  48 45 43 4b 28 41 24 28  |)=.AO(.CHECK(A$(|
00001210  34 29 29 29 3a 41 24 28  34 29 3d a4 41 4e 53 28  |4))):A$(4)=.ANS(|
00001220  a4 4c 45 41 44 28 41 24  28 34 29 29 29 3a e7 41  |.LEAD(A$(4))):.A|
00001230  24 28 34 29 3d 22 22 84  a4 73 6d 28 41 24 28 34  |$(4)=""..sm(A$(4|
00001240  29 29 3d a4 73 6d 28 41  24 28 33 29 29 f2 45 52  |))=.sm(A$(3)).ER|
00001250  52 28 38 2c 32 29 3a e5  8d 44 54 64 0d 24 b8 bc  |R(8,2):..DTd.$..|
00001260  db 3a f2 50 52 49 4e 54  28 22 50 6c 65 61 73 65  |.:.PRINT("Please|
00001270  20 67 69 76 65 20 6d 65  20 61 20 71 75 65 73 74  | give me a quest|
00001280  69 6f 6e 20 74 6f 20 74  65 6c 6c 20 74 68 65 22  |ion to tell the"|
00001290  2c 30 2c 33 38 29 3a f1  3a f2 50 52 49 4e 54 28  |,0,38):.:.PRINT(|
000012a0  22 64 69 66 66 65 72 65  6e 63 65 20 62 65 74 77  |"difference betw|
000012b0  65 65 6e 20 22 2b a4 56  4f 57 45 4c 28 41 24 28  |een "+.VOWEL(A$(|
000012c0  33 29 2c 31 29 2b 41 24  28 33 29 2c 30 2c 33 38  |3),1)+A$(3),0,38|
000012d0  29 3a f1 3a f2 50 52 49  4e 54 28 22 61 6e 64 20  |):.:.PRINT("and |
000012e0  22 2b a4 56 4f 57 45 4c  28 41 24 28 34 29 2c 31  |"+.VOWEL(A$(4),1|
000012f0  29 2b 41 24 28 34 29 2c  30 2c 33 38 29 3a f1 3a  |)+A$(4),0,38):.:|
00001300  3a f2 50 52 49 4e 54 28  22 3a 22 2c 30 2c 33 38  |:.PRINT(":",0,38|
00001310  29 3a 57 25 3d bc 2d 31  0d 25 1c 1e 44 24 3d a4  |):W%=.-1.%..D$=.|
00001320  4c 43 41 50 28 a4 49 4e  50 55 54 28 36 36 2c 57  |LCAP(.INPUT(66,W|
00001330  25 2c 2d 31 29 29 0d 25  80 26 e7 a9 44 24 3c 32  |%,-1)).%.&..D$<2|
00001340  8c f2 45 52 52 28 38 2c  31 29 3a e5 8d 54 5c 65  |..ERR(8,1):..T\e|
00001350  3a 8b 44 24 3d a4 51 55  28 44 24 29 0d 25 e4 42  |:.D$=.QU(D$).%.B|
00001360  db 3a f2 50 52 49 4e 54  28 a4 46 49 4e 44 49 54  |.:.PRINT(.FINDIT|
00001370  28 44 24 2c a4 56 4f 57  45 4c 28 41 24 28 33 29  |(D$,.VOWEL(A$(3)|
00001380  2c a4 43 41 50 53 28 44  24 29 29 2b 41 24 28 33  |,.CAPS(D$))+A$(3|
00001390  29 29 2b 22 20 3f 20 22  2c 30 2c 33 34 29 0d 26  |))+" ? ",0,34).&|
000013a0  48 19 51 25 3d a4 59 28  31 2c 38 29 3a e7 51 25  |H.Q%=.Y(1,8):.Q%|
000013b0  3d 30 8c 8d 54 50 67 0d  26 ac 21 41 24 3d 41 24  |=0..TPg.&.!A$=A$|
000013c0  28 34 29 3a 41 24 28 34  29 3d 41 24 28 33 29 3a  |(4):A$(4)=A$(3):|
000013d0  41 24 28 33 29 3d 41 24  0d 27 10 51 24 54 25 3d  |A$(3)=A$.'.Q$T%=|
000013e0  41 24 28 31 29 3a 54 25  3d 54 25 2b a9 24 54 25  |A$(1):T%=T%+.$T%|
000013f0  2b 31 3a 24 54 25 3d 41  24 28 32 29 3a 54 25 3d  |+1:$T%=A$(2):T%=|
00001400  54 25 2b a9 24 54 25 2b  31 3a 56 25 3d 54 25 3a  |T%+.$T%+1:V%=T%:|
00001410  24 56 25 3d 22 2a 22 2b  44 24 3a 56 25 3d a4 41  |$V%="*"+D$:V%=.A|
00001420  44 44 53 54 52 28 56 25  29 0d 27 74 21 50 25 3d  |DDSTR(V%).'t!P%=|
00001430  56 25 3a 56 25 3d 56 25  2b 38 3a 21 50 25 3d 28  |V%:V%=V%+8:!P%=(|
00001440  56 25 2d 54 25 29 84 4d  4b 25 0d 27 d8 2d 24 56  |V%-T%).MK%.'.-$V|
00001450  25 3d 41 24 28 33 29 3a  56 25 3d a4 41 44 44 53  |%=A$(3):V%=.ADDS|
00001460  54 52 28 56 25 29 3a 50  25 21 34 3d 28 56 25 2d  |TR(V%):P%!4=(V%-|
00001470  54 25 29 84 4d 4b 25 0d  28 3c 1c 24 56 25 3d 41  |T%).MK%.(<.$V%=A|
00001480  24 28 34 29 3a 56 25 3d  a4 41 44 44 53 54 52 28  |$(4):V%=.ADDSTR(|
00001490  56 25 29 0d 28 a0 11 21  56 25 3d 26 30 44 46 46  |V%).(..!V%=&0DFF|
000014a0  30 44 46 46 0d 29 04 0f  47 25 3d 54 25 3a e5 8d  |0DFF.)..G%=T%:..|
000014b0  74 7c 42 0d 29 cc 23 dd  f2 58 28 53 25 29 20 58  |t|B.).#..X(S%) X|
000014c0  25 3d 53 25 83 26 31 30  30 3a 59 25 3d 53 25 81  |%=S%.&100:Y%=S%.|
000014d0  26 31 30 30 3a e1 0d 2a  30 1a dd a4 43 45 4e 54  |&100:..*0...CENT|
000014e0  52 45 28 41 24 29 20 3d  31 37 2d a9 41 24 2f 32  |RE(A$) =17-.A$/2|
000014f0  0d 2a 94 48 dd f2 50 52  49 4e 54 28 24 57 53 25  |.*.H..PRINT($WS%|
00001500  2c 5a 25 2c 42 25 29 ea  42 24 3a e7 a9 24 57 53  |,Z%,B%).B$:..$WS|
00001510  25 2b 5a 25 3e 42 25 8c  8d 64 78 6a 3a 8b f1 c4  |%+Z%>B%..dxj:...|
00001520  5a 25 2c bd 39 29 3b 3a  d6 26 35 32 37 36 2c 57  |Z%,.9);:.&5276,W|
00001530  53 25 3a ef 31 30 3a e1  0d 2a f8 0e 41 25 3d 42  |S%:.10:..*..A%=B|
00001540  25 2b 31 2d 5a 25 0d 2b  5c 1c f5 41 25 3d 41 25  |%+1-Z%.+\..A%=A%|
00001550  2d 31 3a fd 57 53 25 3f  41 25 3d 33 32 84 41 25  |-1:.WS%?A%=32.A%|
00001560  3d 30 0d 2b c0 1f e7 c2  24 57 53 25 2c a9 24 57  |=0.+....$WS%,.$W|
00001570  53 25 2d 41 25 2d 31 29  3d 22 3f 22 8c 8d 44 5c  |S%-A%-1)="?"..D\|
00001580  6b 0d 2c 24 3b f2 50 52  49 4e 54 28 c0 24 57 53  |k.,$;.PRINT(.$WS|
00001590  25 2c 41 25 29 2c 30 2c  42 25 29 3a f1 3a f2 50  |%,A%),0,B%):.:.P|
000015a0  52 49 4e 54 28 c2 24 57  53 25 2c a9 24 57 53 25  |RINT(.$WS%,.$WS%|
000015b0  2d 41 25 2d 31 29 2c 30  2c 42 25 29 0d 2c 88 0a  |-A%-1),0,B%).,..|
000015c0  4a 25 3d 32 3a e1 0d 2c  ec 1e dd a4 49 4e 50 55  |J%=2:..,....INPU|
000015d0  54 28 5a 31 25 2c 56 31  25 2c 45 25 29 2a 46 58  |T(Z1%,V1%,E%)*FX|
000015e0  31 35 2c 31 0d 2c f6 0b  45 25 3d 45 25 2b b1 0d  |15,1.,..E%=E%+..|
000015f0  2d 50 47 ea 42 24 2c 43  25 2c 49 25 3a 43 25 3d  |-PG.B$,C%,I%:C%=|
00001600  30 3a f1 8a 32 2b 45 25  2c 56 31 25 2b 31 29 3b  |0:..2+E%,V1%+1);|
00001610  3a f2 4f 4e 3a f5 41 3d  97 be 3a f2 4f 46 46 3a  |:.ON:.A=..:.OFF:|
00001620  e7 28 41 3d 33 32 80 43  25 3d 30 29 84 41 3d 31  |.(A=32.C%=0).A=1|
00001630  33 8c 8d 64 5a 6f 0d 2d  b4 28 e7 41 3e 26 37 46  |3..dZo.-.(.A>&7F|
00001640  84 41 3c 33 32 84 41 3d  26 32 41 d4 31 37 2c 2d  |.A<32.A=&2A.17,-|
00001650  31 32 2c 31 30 30 2c 39  3a e5 8d 64 5a 6f 0d 2e  |12,100,9:..dZo..|
00001660  18 55 e7 41 3c 3e 31 32  37 8c 8d 64 60 6e 8b e7  |.U.A<>127..d`n..|
00001670  a9 42 24 3d 30 8c 8d 64  5a 6f 8b 42 24 3d c0 42  |.B$=0..dZo.B$=.B|
00001680  24 2c a9 42 24 2d 31 29  3a e7 b1 3d 30 8c ef 31  |$,.B$-1):..=0..1|
00001690  31 2c 38 2c 33 32 2c 38  2c 31 31 2c 33 32 2c 31  |1,8,32,8,11,32,1|
000016a0  30 3a 8b ef 38 2c 31 31  2c 33 32 2c 38 2c 31 30  |0:..8,11,32,8,10|
000016b0  2c 33 32 0d 2e 7c 14 ef  38 3a 43 25 3d 43 25 2d  |,32..|..8:C%=C%-|
000016c0  31 3a e5 8d 64 5a 6f 0d  2e e0 1f e7 a9 42 24 3d  |1:..dZo......B$=|
000016d0  5a 31 25 d4 31 37 2c 2d  31 32 2c 31 30 30 2c 39  |Z1%.17,-12,100,9|
000016e0  3a e5 8d 64 5a 6f 0d 2f  44 34 43 25 3d 43 25 2b  |:..dZo./D4C%=C%+|
000016f0  31 3a 42 24 3d 42 24 2b  bd 41 3a ef 31 31 3a 3f  |1:B$=B$+.A:.11:?|
00001700  26 35 37 44 37 3d 41 3a  d6 26 35 32 34 36 3a ef  |&57D7=A:.&5246:.|
00001710  31 30 3a e7 b1 3d 30 ef  31 30 0d 2f da 12 f2 4f  |10:..=0.10./...O|
00001720  4e 3a fd 41 3d 31 33 3a  f2 4f 46 46 0d 30 0c 11  |N:.A=13:.OFF.0..|
00001730  f5 43 25 3d a7 42 24 2c  22 20 20 22 29 0d 30 70  |.C%=.B$,"  ").0p|
00001740  1b e7 43 25 42 24 3d c0  42 24 2c 43 25 29 2b c1  |..C%B$=.B$,C%)+.|
00001750  42 24 2c 43 25 2b 32 29  0d 31 38 09 fd 43 25 3d  |B$,C%+2).18..C%=|
00001760  30 0d 31 9c 0f 3d a4 43  48 45 43 4b 28 42 24 29  |0.1..=.CHECK(B$)|
00001770  0d 32 00 56 dd a4 56 4f  57 45 4c 28 24 57 53 25  |.2.V..VOWEL($WS%|
00001780  2c 51 25 29 20 ea 53 24  3a 59 25 3d 2d 31 3a f5  |,Q%) .S$:Y%=-1:.|
00001790  59 25 3d 59 25 2b 31 3a  fd 41 31 3f 59 25 3d 28  |Y%=Y%+1:.A1?Y%=(|
000017a0  57 53 25 3f 30 80 26 44  46 29 84 59 25 3d 34 3a  |WS%?0.&DF).Y%=4:|
000017b0  e7 41 31 3f 59 25 3d 28  57 53 25 3f 30 80 26 44  |.A1?Y%=(WS%?0.&D|
000017c0  46 29 59 25 3d 30 0d 32  64 3d e7 59 25 3c 34 53  |F)Y%=0.2d=.Y%<4S|
000017d0  24 3d bd 28 36 35 84 20  33 32 2a 51 25 29 2b bd  |$=.(65. 32*Q%)+.|
000017e0  28 37 38 84 33 32 2a 51  25 29 2b 22 20 22 20 8b  |(78.32*Q%)+" " .|
000017f0  53 24 3d bd 28 36 35 84  20 33 32 2a 51 25 29 2b  |S$=.(65. 32*Q%)+|
00001800  22 20 22 0d 32 c8 07 3d  53 24 0d 33 2c 18 dd a4  |" ".2..=S$.3,...|
00001810  59 28 41 25 2c 55 25 29  3a 59 25 3d b1 3a 57 25  |Y(A%,U%):Y%=.:W%|
00001820  3d bc 0d 33 90 33 f1 8a  59 25 2c 57 25 29 3b 3a  |=..3.3..Y%,W%);:|
00001830  41 24 3d bd 28 97 a4 49  4e 50 55 54 28 33 2c bc  |A$=.(..INPUT(3,.|
00001840  2d 31 2c 2d 32 29 80 26  44 46 29 3a e7 41 24 3d  |-1,-2).&DF):.A$=|
00001850  22 59 22 3d 34 0d 33 f4  0d e7 41 24 3d 22 4e 22  |"Y"=4.3...A$="N"|
00001860  3d 30 0d 34 bc 0f f2 45  52 52 28 55 25 2c 59 25  |=0.4...ERR(U%,Y%|
00001870  29 0d 35 20 09 e5 8d 74  50 73 0d 35 84 1a dd a4  |).5 ...tPs.5....|
00001880  53 50 41 43 45 20 3d a7  24 57 53 25 2c 22 20 22  |SPACE =.$WS%," "|
00001890  2c 41 25 29 0d 35 e8 15  dd a4 46 49 4e 44 49 54  |,A%).5....FINDIT|
000018a0  28 24 57 53 25 2c 41 24  29 0d 36 b0 33 42 25 3d  |($WS%,A$).6.3B%=|
000018b0  a7 24 57 53 25 2c 22 20  49 54 22 29 3a e7 42 25  |.$WS%," IT"):.B%|
000018c0  3d 30 42 25 3d a7 24 57  53 25 2c 22 20 69 74 22  |=0B%=.$WS%," it"|
000018d0  29 3a e7 42 25 3d 30 8c  8d 44 78 77 0d 36 c4 25  |):.B%=0..Dxw.6.%|
000018e0  e7 57 53 25 3f 28 42 25  2b 32 29 3d 33 32 84 57  |.WS%?(B%+2)=32.W|
000018f0  53 25 3f 28 42 25 2b 32  29 3d 31 33 8c 8d 44 40  |S%?(B%+2)=13..D@|
00001900  78 0d 37 78 27 3d 22 57  68 61 74 20 77 6f 75 6c  |x.7x'="What woul|
00001910  64 20 74 68 65 20 61 6e  73 77 65 72 20 62 65 20  |d the answer be |
00001920  66 6f 72 20 22 2b 41 24  0d 38 40 23 3d c0 24 57  |for "+A$.8@#=.$W|
00001930  53 25 2c 42 25 29 2b 41  24 2b c2 24 57 53 25 2c  |S%,B%)+A$+.$WS%,|
00001940  a9 24 57 53 25 2d 42 25  2d 32 29 0d 38 a4 38 dd  |.$WS%-B%-2).8.8.|
00001950  f2 45 52 52 28 41 25 2c  42 25 29 ef 32 38 2c 42  |.ERR(A%,B%).28,B|
00001960  25 2c 33 31 2c 33 39 2c  bc 2b 28 41 25 2d 31 29  |%,31,39,.+(A%-1)|
00001970  3a db 3a ef 32 38 2c 30  2c 33 31 2c 33 39 2c 41  |:.:.28,0,31,39,A|
00001980  25 3a e1 0d 39 08 11 dd  a4 43 48 45 43 4b 28 24  |%:..9....CHECK($|
00001990  57 53 25 29 0d 39 6c 2b  e7 97 c2 24 57 53 25 2c  |WS%).9l+...$WS%,|
000019a0  31 29 3d 33 32 8c 24 57  53 25 3d c0 24 57 53 25  |1)=32.$WS%=.$WS%|
000019b0  2c a9 24 57 53 25 2d 31  29 3a e5 8d 44 6c 79 0d  |,.$WS%-1):..Dly.|
000019c0  39 d0 09 3d 24 57 53 25  0d 3a 34 2d 41 25 3d 31  |9..=$WS%.:4-A%=1|
000019d0  3a f5 57 53 25 3f 41 25  3d 57 53 25 3f 41 25 84  |:.WS%?A%=WS%?A%.|
000019e0  33 32 3a 41 25 3d 41 25  2b 31 3a fd 57 53 25 3f  |32:A%=A%+1:.WS%?|
000019f0  41 25 3d 31 33 0d 3a 98  09 3d 24 57 53 25 0d 3a  |A%=13.:..=$WS%.:|
00001a00  fc 15 dd a4 43 41 50 53  28 24 57 53 25 29 20 42  |....CAPS($WS%) B|
00001a10  25 3d 30 0d 3b 60 43 41  25 3d 42 25 2b 31 3a 42  |%=0.;`CA%=B%+1:B|
00001a20  25 3d a4 53 50 41 43 45  3a e7 c1 24 57 53 25 2c  |%=.SPACE:..$WS%,|
00001a30  42 25 2b 31 2c 33 29 3d  22 49 54 20 22 84 c1 24  |B%+1,3)="IT "..$|
00001a40  57 53 25 2c 42 25 2b 31  2c 33 29 3d 22 69 74 20  |WS%,B%+1,3)="it |
00001a50  22 8c 8d 74 4c 7c 0d 3b  c4 0f e7 42 25 3c 3e 30  |"..tL|.;...B%<>0|
00001a60  8c 8d 44 60 7b 0d 3c 28  06 3d 31 0d 3c 8c 17 3d  |..D`{.<(.=1.<..=|
00001a70  28 57 53 25 3f 28 42 25  2d 32 29 80 33 32 29 81  |(WS%?(B%-2).32).|
00001a80  33 32 0d 3c f0 19 dd f2  4f 4e 20 ef 32 33 2c 31  |32.<....ON .23,1|
00001a90  2c 31 3b 30 3b 30 3b 30  3b 3a e1 0d 3d 54 1a dd  |,1;0;0;0;:..=T..|
00001aa0  f2 4f 46 46 20 ef 32 33  2c 31 2c 30 3b 30 3b 30  |.OFF .23,1,0;0;0|
00001ab0  3b 30 3b 3a e1 0d 3d b8  38 dd a4 41 4f 28 24 57  |;0;:..=.8..AO($W|
00001ac0  53 25 29 20 41 24 3d c0  24 57 53 25 2c 32 29 3a  |S%) A$=.$WS%,2):|
00001ad0  e7 41 24 3d 22 41 20 22  84 41 24 3d 22 61 20 22  |.A$="A ".A$="a "|
00001ae0  24 57 53 25 3d c1 24 57  53 25 2c 33 29 0d 3e 1c  |$WS%=.$WS%,3).>.|
00001af0  39 41 24 3d c0 24 57 53  25 2c 33 29 3a e7 41 24  |9A$=.$WS%,3):.A$|
00001b00  3d 22 41 4e 20 22 84 41  24 3d 22 61 6e 20 22 84  |="AN ".A$="an ".|
00001b10  41 24 3d 22 41 6e 20 22  8c 24 57 53 25 3d c1 24  |A$="An ".$WS%=.$|
00001b20  57 53 25 2c 34 29 0d 3e  80 09 3d 24 57 53 25 0d  |WS%,4).>..=$WS%.|
00001b30  3e e4 1d dd a4 41 4e 53  28 24 57 53 25 29 20 e7  |>....ANS($WS%) .|
00001b40  a9 24 57 53 25 3c 32 8c  8d 50 50 40 0d 3f 48 1e  |.$WS%<2..PP@.?H.|
00001b50  e7 24 57 53 25 3d 22 59  45 53 22 84 24 57 53 25  |.$WS%="YES".$WS%|
00001b60  3d 22 4e 4f 22 8c 8d 50  50 40 0d 3f 52 1e e7 24  |="NO"..PP@.?R..$|
00001b70  57 53 25 3d 22 79 65 73  22 84 24 57 53 25 3d 22  |WS%="yes".$WS%="|
00001b80  6e 6f 22 8c 8d 50 50 40  0d 3f 5c 1e e7 24 57 53  |no"..PP@.?\..$WS|
00001b90  25 3d 22 59 65 73 22 84  24 57 53 25 3d 22 4e 6f  |%="Yes".$WS%="No|
00001ba0  22 8c 8d 50 50 40 0d 3f  ac 09 3d 24 57 53 25 0d  |"..PP@.?..=$WS%.|
00001bb0  40 10 07 3d 22 22 0d 40  74 10 dd a4 4c 45 41 44  |@..="".@t...LEAD|
00001bc0  28 24 57 53 25 29 0d 40  d8 1f e7 3f 57 53 25 3d  |($WS%).@...?WS%=|
00001bd0  33 32 24 57 53 25 3d c2  24 57 53 25 2c 32 29 3a  |32$WS%=.$WS%,2):|
00001be0  e5 8d 60 58 40 0d 41 3c  09 3d 24 57 53 25 0d 41  |..`X@.A<.=$WS%.A|
00001bf0  a0 23 dd a4 4c 43 41 50  28 24 57 53 25 29 3f 57  |.#..LCAP($WS%)?W|
00001c00  53 25 3d 3f 57 53 25 80  26 44 46 3a 3d 24 57 53  |S%=?WS%.&DF:=$WS|
00001c10  25 0d 42 04 0c dd a4 51  55 28 41 24 29 0d 42 68  |%.B....QU(A$).Bh|
00001c20  27 e7 c2 41 24 2c 31 29  3d 22 3f 22 8c 3d a4 43  |'..A$,1)="?".=.C|
00001c30  48 45 43 4b 28 c0 41 24  2c a9 41 24 2d 31 29 29  |HECK(.A$,.A$-1))|
00001c40  8b 3d 41 24 0d 43 94 1e  dd a4 41 44 44 53 54 52  |.=A$.C....ADDSTR|
00001c50  28 57 53 25 29 20 3d a9  24 57 53 25 2b 31 2b 57  |(WS%) =.$WS%+1+W|
00001c60  53 25 0d 43 f8 1d ef 33  3a e7 9f 3d 31 37 84 20  |S%.C...3:..=17. |
00001c70  9f 3d 34 8c 8d 74 7c 42  8b f6 3a 2a 46 58 34 0d  |.=4..t|B..:*FX4.|
00001c80  44 5c 08 f1 9e 3a fa 0d  44 c0 2b db 3a f2 56 48  |D\...:..D.+.:.VH|
00001c90  3a f1 27 3a f2 50 52 49  4e 54 28 22 44 6f 20 79  |:.':.PRINT("Do y|
00001ca0  6f 75 20 77 69 73 68 20  74 6f 3a 22 2c 30 2c 33  |ou wish to:",0,3|
00001cb0  38 29 0d 45 24 28 f1 27  3a f2 50 52 49 4e 54 28  |8).E$(.':.PRINT(|
00001cc0  22 31 20 20 20 45 64 69  74 20 71 75 65 73 74 69  |"1   Edit questi|
00001cd0  6f 6e 73 22 2c 34 2c 33  38 29 0d 45 88 48 f1 3a  |ons",4,38).E.H.:|
00001ce0  f2 50 52 49 4e 54 28 22  32 20 20 20 45 64 69 74  |.PRINT("2   Edit|
00001cf0  20 61 6e 73 77 65 72 73  22 2c 34 2c 33 38 29 3a  | answers",4,38):|
00001d00  f1 3a f2 50 52 49 4e 54  28 22 33 20 20 20 44 65  |.:.PRINT("3   De|
00001d10  6c 65 74 65 20 61 20 6e  6f 64 65 22 2c 34 2c 33  |lete a node",4,3|
00001d20  38 29 0d 45 92 48 f1 27  3a f2 50 52 49 4e 54 28  |8).E.H.':.PRINT(|
00001d30  22 28 20 55 53 45 20 31  20 2f 20 32 20 2f 20 33  |"( USE 1 / 2 / 3|
00001d40  20 2f 20 4e 20 29 22 2c  37 2c 33 38 29 3a f1 3a  | / N )",7,38):.:|
00001d50  f2 50 52 49 4e 54 28 22  3f 20 20 20 22 2c 30 2c  |.PRINT("?   ",0,|
00001d60  33 38 29 3a 57 25 3d bc  2d 31 0d 45 ec 1b f1 3a  |38):W%=.-1.E...:|
00001d70  41 25 3d 97 a4 49 4e 50  55 54 28 31 2c 57 25 2c  |A%=..INPUT(1,W%,|
00001d80  30 29 2d 34 38 0d 46 50  15 e7 41 25 3d 33 30 84  |0)-48.FP..A%=30.|
00001d90  41 25 3d 36 32 8c 8d 50  70 75 0d 46 b4 1d e7 41  |A%=62..Ppu.F...A|
00001da0  25 3e 33 84 41 25 3c 31  f2 45 52 52 28 30 2c 32  |%>3.A%<1.ERR(0,2|
00001db0  29 3a e5 8d 60 6c 45 0d  46 be 16 ee 41 25 e5 8d  |):..`lE.F...A%..|
00001dc0  70 44 49 2c 8d 70 7c 4d  2c 8d 40 6a 54 0d 47 e0  |pDI,.p|M,.@jT.G.|
00001dd0  24 dd f2 51 50 52 49 4e  54 20 44 25 3d 30 3a ef  |$..QPRINT D%=0:.|
00001de0  32 36 2c 31 32 3a f1 27  3a f5 44 25 3d 44 25 2b  |26,12:.':.D%=D%+|
00001df0  31 0d 48 44 10 52 25 21  28 44 25 2a 34 29 3d 50  |1.HD.R%!(D%*4)=P|
00001e00  25 0d 48 a8 63 e7 50 25  3d 47 25 2b 31 8c f2 50  |%.H.c.P%=G%+1..P|
00001e10  52 49 4e 54 28 c3 28 44  25 29 2b 22 20 20 22 2b  |RINT(.(D%)+"  "+|
00001e20  24 50 25 2b 22 20 3f 22  2c 30 2c 33 38 29 3a f1  |$P%+" ?",0,38):.|
00001e30  3a 50 25 3d a4 41 44 44  53 54 52 28 a4 41 44 44  |:P%=.ADDSTR(.ADD|
00001e40  53 54 52 28 a4 41 44 44  53 54 52 28 a4 41 44 44  |STR(.ADDSTR(.ADD|
00001e50  53 54 52 28 50 25 29 2b  38 29 29 29 2b 31 3a e5  |STR(P%)+8)))+1:.|
00001e60  8d 40 70 49 0d 49 0c 42  f2 50 52 49 4e 54 28 c3  |.@pI.I.B.PRINT(.|
00001e70  28 44 25 29 2b 22 20 20  22 2b 24 50 25 2b 22 20  |(D%)+"  "+$P%+" |
00001e80  3f 22 2c 30 2c 33 38 29  3a f1 3a 50 25 3d a4 41  |?",0,38):.:P%=.A|
00001e90  44 44 53 54 52 28 a4 41  44 44 53 54 52 28 50 25  |DDSTR(.ADDSTR(P%|
00001ea0  29 2b 38 29 2b 31 0d 49  70 52 fd 44 25 3d 34 20  |)+8)+1.IpR.D%=4 |
00001eb0  84 20 3f 28 50 25 2d 31  29 3c 3e 34 32 3a 44 25  |. ?(P%-1)<>42:D%|
00001ec0  3d 44 25 2b 31 3a f2 50  52 49 4e 54 28 c3 28 44  |=D%+1:.PRINT(.(D|
00001ed0  25 29 2b 22 20 20 4e 6f  6e 65 20 6f 66 20 74 68  |%)+"  None of th|
00001ee0  65 73 65 20 71 75 65 73  74 69 6f 6e 73 22 2c 30  |ese questions",0|
00001ef0  2c 33 38 29 3a f1 3a e1  0d 49 84 0b 50 25 3d 47  |,38):.:..I..P%=G|
00001f00  25 2b 31 0d 49 8e 0b f2  51 50 52 49 4e 54 0d 49  |%+1.I...QPRINT.I|
00001f10  d4 38 f2 50 52 49 4e 54  28 22 57 68 69 63 68 20  |.8.PRINT("Which |
00001f20  77 6f 75 6c 64 20 79 6f  75 20 6c 69 6b 65 20 74  |would you like t|
00001f30  6f 20 65 64 69 74 20 3f  22 2c 30 2c 33 34 29 3a  |o edit ?",0,34):|
00001f40  57 25 3d bc 2d 31 0d 4a  38 44 4c 25 3d 97 a4 49  |W%=.-1.J8DL%=..I|
00001f50  4e 50 55 54 28 31 2c 57  25 2c 2d 31 29 2d 34 38  |NPUT(1,W%,-1)-48|
00001f60  3a e7 4c 25 3d 2d 34 39  8c 8d 40 58 4d 8b e7 4c  |:.L%=-49..@XM..L|
00001f70  25 3c 31 84 4c 25 3e 44  25 8c f2 45 52 52 28 30  |%<1.L%>D%..ERR(0|
00001f80  2c 33 30 29 3a e5 8d 50  78 4a 0d 4a 9c 0f e7 4c  |,30):..PxJ.J...L|
00001f90  25 3d 44 25 8c 8d 40 58  4d 0d 4b 00 76 db 3a f1  |%=D%..@XM.K.v.:.|
00001fa0  3a f2 50 52 49 4e 54 28  24 28 52 25 21 28 4c 25  |:.PRINT($(R%!(L%|
00001fb0  2a 34 29 29 2b 22 20 3f  22 2c 30 2c 33 38 29 3a  |*4))+" ?",0,38):|
00001fc0  f1 3a f2 50 52 49 4e 54  28 22 50 6c 65 61 73 65  |.:.PRINT("Please|
00001fd0  20 74 79 70 65 20 69 6e  20 74 68 65 20 63 6f 72  | type in the cor|
00001fe0  72 65 63 74 65 64 20 76  65 72 73 69 6f 6e 22 2c  |rected version",|
00001ff0  30 2c 33 38 29 3a f1 3a  f2 50 52 49 4e 54 28 22  |0,38):.:.PRINT("|
00002000  3a 22 2c 30 2c 33 38 29  3a 57 25 3d bc 2d 31 0d  |:",0,38):W%=.-1.|
00002010  4b 64 25 24 57 53 25 3d  a4 51 55 28 a4 4c 43 41  |Kd%$WS%=.QU(.LCA|
00002020  50 28 a4 49 4e 50 55 54  28 36 36 2c 57 25 2c 2d  |P(.INPUT(66,W%,-|
00002030  31 29 29 29 0d 4b c8 1c  e7 a9 24 57 53 25 3c 32  |1))).K....$WS%<2|
00002040  3a f2 45 52 52 28 30 2c  31 29 3a e5 8d 40 64 4b  |:.ERR(0,1):..@dK|
00002050  0d 4c 2c 1e d6 26 35 35  46 30 2c 47 25 2c 56 25  |.L,..&55F0,G%,V%|
00002060  2c 57 53 25 2c 52 25 21  28 4c 25 2a 34 29 0d 4c  |,WS%,R%!(L%*4).L|
00002070  90 29 e7 3f 26 37 42 3e  31 32 37 8c 56 25 3d 56  |.).?&7B>127.V%=V|
00002080  25 2b 28 32 35 36 2d 3f  26 37 42 29 8b 56 25 3d  |%+(256-?&7B).V%=|
00002090  56 25 2d 3f 26 37 42 0d  4c f4 09 e5 8d 60 40 44  |V%-?&7B.L....`@D|
000020a0  0d 4d 58 1b e7 3f 28 50  25 2d 31 29 3d 34 32 8c  |.MX..?(P%-1)=42.|
000020b0  8d 70 4e 49 8b 20 e5 8d  60 40 44 0d 4d bc 0b 50  |.pNI. ..`@D.M..P|
000020c0  25 3d 47 25 2b 31 0d 4e  20 0d 44 25 3d 30 3a 46  |%=G%+1.N .D%=0:F|
000020d0  25 3d 30 0d 4e 84 15 50  31 25 3d a4 41 44 44 53  |%=0.N..P1%=.ADDS|
000020e0  54 52 28 50 25 29 2b 38  0d 4e e8 1f 52 25 21 34  |TR(P%)+8.N..R%!4|
000020f0  3d 50 31 25 3a ef 32 36  2c 31 32 3a f1 27 3a f5  |=P1%:.26,12:.':.|
00002100  44 25 3d 44 25 2b 31 0d  4f 4c 53 e7 50 25 3d 47  |D%=D%+1.OLS.P%=G|
00002110  25 2b 31 f2 50 52 49 4e  54 28 c3 28 44 25 29 2b  |%+1.PRINT(.(D%)+|
00002120  22 20 20 22 2b 24 50 31  25 2c 30 2c 33 38 29 3a  |"  "+$P1%,0,38):|
00002130  f1 3a 50 31 25 3d a4 41  44 44 53 54 52 28 50 31  |.:P1%=.ADDSTR(P1|
00002140  25 29 3a 52 25 21 28 28  44 25 2b 31 29 2a 34 29  |%):R%!((D%+1)*4)|
00002150  3d 50 31 25 3a e5 8d 50  54 50 0d 4f b0 56 50 25  |=P1%:..PTP.O.VP%|
00002160  3d 50 31 25 3a f2 50 52  49 4e 54 28 c3 28 44 25  |=P1%:.PRINT(.(D%|
00002170  29 2b 22 20 20 22 2b 24  50 25 2c 30 2c 33 38 29  |)+"  "+$P%,0,38)|
00002180  3a f1 3a 50 31 25 3d a4  41 44 44 53 54 52 28 a4  |:.:P1%=.ADDSTR(.|
00002190  41 44 44 53 54 52 28 50  31 25 29 29 2b 38 3a 52  |ADDSTR(P1%))+8:R|
000021a0  25 21 28 28 44 25 2b 31  29 2a 34 29 3d 50 31 25  |%!((D%+1)*4)=P1%|
000021b0  0d 50 14 10 e7 44 25 3e  31 8c 50 25 3d 50 31 25  |.P...D%>1.P%=P1%|
000021c0  0d 50 78 12 fd 44 25 3d  34 84 3f 50 31 25 3d 26  |.Px..D%=4.?P1%=&|
000021d0  46 46 0d 50 dc 6f 44 25  3d 44 25 2b 31 3a f2 50  |FF.P.oD%=D%+1:.P|
000021e0  52 49 4e 54 28 c3 28 44  25 29 2b 22 20 20 4e 6f  |RINT(.(D%)+"  No|
000021f0  6e 65 20 6f 66 20 74 68  65 73 65 20 61 6e 73 77  |ne of these answ|
00002200  65 72 73 22 2c 30 2c 33  38 29 3a f1 3a f2 50 52  |ers",0,38):.:.PR|
00002210  49 4e 54 28 22 57 68 69  63 68 20 77 6f 75 6c 64  |INT("Which would|
00002220  20 79 6f 75 20 6c 69 6b  65 20 74 6f 20 65 64 69  | you like to edi|
00002230  74 20 3f 22 2c 30 2c 33  34 29 3a 57 25 3d bc 2d  |t ?",0,34):W%=.-|
00002240  31 0d 51 40 44 4c 25 3d  97 a4 49 4e 50 55 54 28  |1.Q@DL%=..INPUT(|
00002250  31 2c 57 25 2c 2d 31 29  2d 34 38 3a e7 4c 25 3d  |1,W%,-1)-48:.L%=|
00002260  2d 34 39 8c 8d 40 60 54  8b e7 4c 25 3c 31 84 4c  |-49..@`T..L%<1.L|
00002270  25 3e 44 25 8c f2 45 52  52 28 30 2c 33 30 29 3a  |%>D%..ERR(0,30):|
00002280  e5 8d 40 40 51 0d 51 a4  0f e7 4c 25 3d 44 25 8c  |..@@Q.Q...L%=D%.|
00002290  8d 40 60 54 0d 52 08 21  db 3a f1 3a f2 50 52 49  |.@`T.R.!.:.:.PRI|
000022a0  4e 54 28 24 28 52 25 21  28 4c 25 2a 34 29 29 2c  |NT($(R%!(L%*4)),|
000022b0  30 2c 33 38 29 0d 52 6c  53 f1 3a f2 50 52 49 4e  |0,38).RlS.:.PRIN|
000022c0  54 28 22 50 6c 65 61 73  65 20 74 79 70 65 20 69  |T("Please type i|
000022d0  6e 20 74 68 65 20 63 6f  72 72 65 63 74 65 64 20  |n the corrected |
000022e0  76 65 72 73 69 6f 6e 22  2c 30 2c 33 38 29 3a f1  |version",0,38):.|
000022f0  3a f2 50 52 49 4e 54 28  22 3a 22 2c 30 2c 33 38  |:.PRINT(":",0,38|
00002300  29 3a 57 25 3d bc 2d 31  0d 52 d0 43 24 57 53 25  |):W%=.-1.R.C$WS%|
00002310  3d a4 41 4e 53 28 a4 41  4f 28 a4 4c 45 41 44 28  |=.ANS(.AO(.LEAD(|
00002320  a4 49 4e 50 55 54 28 33  31 2c 57 25 2c 2d 31 29  |.INPUT(31,W%,-1)|
00002330  29 29 29 3a e7 24 57 53  25 3d 22 22 f2 45 52 52  |))):.$WS%="".ERR|
00002340  28 30 2c 31 29 3a e5 8d  60 50 52 0d 53 34 1e d6  |(0,1):..`PR.S4..|
00002350  26 35 35 46 30 2c 47 25  2c 56 25 2c 57 53 25 2c  |&55F0,G%,V%,WS%,|
00002360  52 25 21 28 4c 25 2a 34  29 0d 53 98 29 e7 3f 26  |R%!(L%*4).S.).?&|
00002370  37 42 3e 31 32 37 8c 56  25 3d 56 25 2b 28 32 35  |7B>127.V%=V%+(25|
00002380  36 2d 3f 26 37 42 29 8b  56 25 3d 56 25 2d 3f 26  |6-?&7B).V%=V%-?&|
00002390  37 42 0d 53 fc 09 e5 8d  60 40 44 0d 54 60 1f e7  |7B.S....`@D.T`..|
000023a0  3f 50 31 25 3c 3e 26 46  46 20 44 25 3d 30 3a e5  |?P1%<>&FF D%=0:.|
000023b0  8d 60 68 4e 3a 8b 8d 60  40 44 0d 54 6a 45 50 25  |.`hN:..`@D.TjEP%|
000023c0  3d a4 41 44 44 53 54 52  28 a4 41 44 44 53 54 52  |=.ADDSTR(.ADDSTR|
000023d0  28 a4 41 44 44 53 54 52  28 a4 41 44 44 53 54 52  |(.ADDSTR(.ADDSTR|
000023e0  28 47 25 2b 31 29 2b 38  29 29 29 2b 31 3a e7 3f  |(G%+1)+8)))+1:.?|
000023f0  28 50 25 2d 31 29 3c 3e  34 32 8c 8d 60 40 44 0d  |(P%-1)<>42..`@D.|
00002400  54 74 0b f2 51 50 52 49  4e 54 0d 54 7e 3a f2 50  |Tt..QPRINT.T~:.P|
00002410  52 49 4e 54 28 22 57 68  69 63 68 20 77 6f 75 6c  |RINT("Which woul|
00002420  64 20 79 6f 75 20 6c 69  6b 65 20 74 6f 20 64 65  |d you like to de|
00002430  6c 65 74 65 20 3f 22 2c  30 2c 33 34 29 3a 57 25  |lete ?",0,34):W%|
00002440  3d bc 2d 31 0d 54 88 43  4c 25 3d 97 a4 49 4e 50  |=.-1.T.CL%=..INP|
00002450  55 54 28 31 2c 57 25 2c  2d 31 29 2d 34 38 3a e7  |UT(1,W%,-1)-48:.|
00002460  4c 25 3d 2d 34 39 8c 8d  70 7a 54 8b e7 4c 25 3c  |L%=-49..pzT..L%<|
00002470  31 84 4c 25 3e 44 25 f2  45 52 52 28 30 2c 33 32  |1.L%>D%.ERR(0,32|
00002480  29 3a e5 8d 70 48 54 0d  54 92 0f e7 4c 25 3d 44  |):..pHT.T...L%=D|
00002490  25 8c 8d 70 7a 54 0d 54  9c 9c 4f 25 3d 52 25 21  |%..pzT.T..O%=R%!|
000024a0  28 4c 25 2a 34 29 2d 31  3a 53 25 3d 34 30 3a e3  |(L%*4)-1:S%=40:.|
000024b0  59 25 3d 30 b8 32 30 3a  52 25 3f 59 25 3d 26 46  |Y%=0.20:R%?Y%=&F|
000024c0  46 3a ed 3a 52 25 3f 30  3d 30 3a db 3a f2 50 52  |F:.:R%?0=0:.:.PR|
000024d0  49 4e 54 28 22 50 72 65  73 73 20 74 68 65 20 53  |INT("Press the S|
000024e0  48 49 46 54 20 6b 65 79  20 65 61 63 68 20 74 69  |HIFT key each ti|
000024f0  6d 65 20 66 6f 72 20 74  68 65 20 6e 65 78 74 20  |me for the next |
00002500  70 61 67 65 22 2c 30 2c  33 38 29 3a 4e 4f 57 3d  |page",0,38):NOW=|
00002510  91 3a f5 fd 91 2d 4e 4f  57 3e 32 35 30 3a db 3a  |.:...-NOW>250:.:|
00002520  ef 31 34 3a f2 52 45 41  44 28 4f 25 2c 31 2c 34  |.14:.READ(O%,1,4|
00002530  32 29 0d 54 a1 5a f1 3a  ef 31 35 3a f2 50 52 49  |2).T.Z.:.15:.PRI|
00002540  4e 54 28 22 44 6f 20 79  6f 75 20 77 61 6e 74 20  |NT("Do you want |
00002550  74 6f 20 64 65 6c 65 74  65 20 74 68 65 20 59 20  |to delete the Y |
00002560  6f 72 20 74 68 65 20 4e  20 62 72 61 6e 63 68 20  |or the N branch |
00002570  28 55 73 65 20 59 20 6f  72 20 4e 29 20 3f 22 2c  |(Use Y or N) ?",|
00002580  30 2c 33 38 29 3a 57 25  3d bc 2d 31 0d 54 a6 1a  |0,38):W%=.-1.T..|
00002590  41 25 3d 97 a4 49 4e 50  55 54 28 31 2c 57 25 2c  |A%=..INPUT(1,W%,|
000025a0  2d 31 29 84 33 32 0d 54  ab 25 e7 41 25 3c 3e 31  |-1).32.T.%.A%<>1|
000025b0  32 31 80 41 25 3c 3e 31  31 30 8c f2 45 52 52 28  |21.A%<>110..ERR(|
000025c0  30 2c 32 31 29 3a e5 8d  70 66 54 0d 54 b0 38 21  |0,21):..pfT.T.8!|
000025d0  56 25 3d 30 3a e7 41 25  3d 31 32 31 4a 25 3d 34  |V%=0:.A%=121J%=4|
000025e0  3a 50 25 3d 21 28 a4 41  44 44 53 54 52 28 4f 25  |:P%=!(.ADDSTR(O%|
000025f0  29 2b 34 29 2b 47 25 3a  8b 4a 25 3d 30 3a 50 25  |)+4)+G%:.J%=0:P%|
00002600  3d 4f 25 0d 54 b1 13 5a  25 3d 30 3a f2 44 45 4c  |=O%.T..Z%=0:.DEL|
00002610  28 50 25 2c 31 29 0d 54  b2 23 3f 4f 25 3d 26 45  |(P%,1).T.#?O%=&E|
00002620  46 3a 52 25 21 5a 25 3d  28 4f 25 2d 47 25 29 3a  |F:R%!Z%=(O%-G%):|
00002630  5a 25 3d 5a 25 81 34 2b  31 0d 54 b3 26 d6 26 35  |Z%=Z%.4+1.T.&.&5|
00002640  32 42 44 2c 47 25 2c 56  25 2c 52 25 2c 5a 25 3a  |2BD,G%,V%,R%,Z%:|
00002650  56 25 3d 21 28 26 37 32  29 80 26 46 46 46 46 0d  |V%=!(&72).&FFFF.|
00002660  54 b6 16 21 56 25 3d 26  44 46 46 30 44 46 46 3a  |T..!V%=&DFF0DFF:|
00002670  e5 8d 60 40 44 0d 54 ba  1b e7 3f 28 50 25 2d 31  |..`@D.T...?(P%-1|
00002680  29 3d 34 32 8c 8d 40 74  54 8b 20 e5 8d 60 40 44  |)=42..@tT. ..`@D|
00002690  0d 54 bb 2c dd f2 44 45  4c 28 50 25 2c 54 25 29  |.T.,..DEL(P%,T%)|
000026a0  e7 54 25 3d 31 e7 4a 25  3d 30 8c 8d 60 41 54 8b  |.T%=1.J%=0..`AT.|
000026b0  e7 3f 50 25 3d 34 32 8c  8d 70 7e 54 0d 54 bc 0b  |.?P%=42..p~T.T..|
000026c0  3f 50 25 3d 26 45 46 0d  54 bd 05 e1 0d 54 be 22  |?P%=&EF.T....T."|
000026d0  f2 44 45 4c 28 21 28 a4  41 44 44 53 54 52 28 50  |.DEL(!(.ADDSTR(P|
000026e0  25 29 2b 34 29 2b 47 25  2c 54 25 2b 31 29 0d 54  |%)+4)+G%,T%+1).T|
000026f0  bf 21 3f 50 25 3d 26 45  46 3a 52 25 21 5a 25 3d  |.!?P%=&EF:R%!Z%=|
00002700  28 50 25 2d 47 25 29 3a  5a 25 3d 5a 25 2b 34 0d  |(P%-G%):Z%=Z%+4.|
00002710  54 c1 1e f2 44 45 4c 28  21 a4 41 44 44 53 54 52  |T...DEL(!.ADDSTR|
00002720  28 50 25 29 2b 47 25 2c  54 25 2b 31 29 0d 54 c2  |(P%)+G%,T%+1).T.|
00002730  05 e1 0d 54 c4 3e db 3a  f2 50 52 49 4e 54 28 22  |...T.>.:.PRINT("|
00002740  57 6f 75 6c 64 20 79 6f  75 20 6c 69 6b 65 20 74  |Would you like t|
00002750  6f 20 73 61 76 65 20 74  68 69 73 20 74 72 65 65  |o save this tree|
00002760  20 3f 22 2c 30 2c 33 34  29 3a 57 25 3d bc 2d 31  | ?",0,34):W%=.-1|
00002770  0d 55 28 28 41 24 3d bd  28 97 a4 49 4e 50 55 54  |.U((A$=.(..INPUT|
00002780  28 33 2c 57 25 2c 2d 32  29 80 26 44 46 29 3a e7  |(3,W%,-2).&DF):.|
00002790  41 24 3d 22 4e 22 20 f9  0d 55 8c 1c e7 41 24 3c  |A$="N" ..U...A$<|
000027a0  3e 22 59 22 f2 45 52 52  28 38 2c 33 35 29 3a e5  |>"Y".ERR(8,35):.|
000027b0  8d 50 68 55 0d 55 f0 40  db 3a f2 50 52 49 4e 54  |.PhU.U.@.:.PRINT|
000027c0  28 22 57 68 61 74 20 6e  61 6d 65 20 73 68 61 6c  |("What name shal|
000027d0  6c 20 49 20 67 69 76 65  20 74 6f 20 74 68 65 20  |l I give to the |
000027e0  66 69 6c 65 20 3f 22 2c  30 2c 33 34 29 3a 57 25  |file ?",0,34):W%|
000027f0  3d bc 2d 31 0d 56 54 36  24 57 53 25 3d a4 43 48  |=.-1.VT6$WS%=.CH|
00002800  45 43 4b 28 a4 49 4e 50  55 54 28 31 30 2c 57 25  |ECK(.INPUT(10,W%|
00002810  2c 2d 31 29 29 3a e7 24  57 53 25 3d 22 22 8c 24  |,-1)):.$WS%="".$|
00002820  57 53 25 3d 22 4e 55 4c  4c 22 0d 56 b8 25 24 57  |WS%="NULL".V.%$W|
00002830  53 25 3d 22 53 2e 22 2b  24 57 53 25 2b 22 20 22  |S%="S."+$WS%+" "|
00002840  2b c3 7e 54 56 25 2b 22  20 22 2b c3 7e 56 25 0d  |+.~TV%+" "+.~V%.|
00002850  57 1c 35 21 54 56 25 3d  28 56 25 2d 54 56 25 29  |W.5!TV%=(V%-TV%)|
00002860  3a f2 58 28 57 53 25 29  3a db 3a f1 22 53 41 56  |:.X(WS%):.:."SAV|
00002870  49 4e 47 22 3a f2 4f 4e  3a d6 26 46 46 46 37 3a  |ING":.ON:.&FFF7:|
00002880  f2 4f 46 46 0d 57 80 09  e5 8d 50 70 75 0d 57 e4  |.OFF.W....Ppu.W.|
00002890  0e dd f2 46 49 4e 44 28  41 24 29 0d 58 48 11 5a  |...FIND(A$).XH.Z|
000028a0  25 3d 90 3a f5 41 25 3d  5a 25 2b 34 0d 58 ac 25  |%=.:.A%=Z%+4.X.%|
000028b0  e7 a9 24 41 25 3e 3d a9  41 24 e7 a7 24 41 25 2c  |..$A%>=.A$..$A%,|
000028c0  41 24 29 f1 5a 25 3f 31  2a 32 35 36 2b 5a 25 3f  |A$).Z%?1*256+Z%?|
000028d0  32 0d 59 10 1a 5a 25 3d  5a 25 2b 5a 25 3f 33 3a  |2.Y..Z%=Z%+Z%?3:|
000028e0  fd 5a 25 3f 31 3e 26 37  46 3a e1 0d 59 1a 23 dd  |.Z%?1>&7F:..Y.#.|
000028f0  f2 74 28 54 25 29 e3 59  25 3d 30 b8 54 25 3a e7  |.t(T%).Y%=0.T%:.|
00002900  52 25 3f 59 25 3d 26 46  46 8c 8d 50 6e 59 0d 59  |R%?Y%=&FF..PnY.Y|
00002910  24 1b f1 c4 28 52 25 3f  59 25 29 2a 32 2d b1 2c  |$...(R%?Y%)*2-.,|
00002920  22 20 22 29 3b 22 21 22  3b 0d 59 2e 07 ed 3a e1  |" ");"!";.Y...:.|
00002930  0d 59 38 18 dd f2 56 48  20 ef 32 38 2c 30 2c 33  |.Y8...VH .28,0,3|
00002940  31 2c 33 39 2c 30 3a e1  0d 59 42 18 dd f2 56 4c  |1,39,0:..YB...VL|
00002950  20 ef 32 38 2c 30 2c 33  31 2c 33 39 2c 38 3a e1  | .28,0,31,39,8:.|
00002960  0d 6f 54 32 dd a4 43 48  4f 50 28 41 24 2c 46 25  |.oT2..CHOP(A$,F%|
00002970  2c 44 25 29 ea 41 25 3a  41 25 3d 44 25 2d 46 25  |,D%).A%:A%=D%-F%|
00002980  3a e7 a9 41 24 3c 41 25  8c 42 24 3d 22 22 3a 3d  |:..A$<A%.B$="":=|
00002990  41 24 0d 6f 86 20 f5 41  25 3d 41 25 2d 31 3a fd  |A$.o. .A%=A%-1:.|
000029a0  c1 41 24 2c 41 25 2c 31  29 3d 22 20 22 84 41 25  |.A$,A%,1)=" ".A%|
000029b0  3d 30 0d 6f b8 22 e7 a9  41 24 2d 41 25 3e 30 42  |=0.o."..A$-A%>0B|
000029c0  24 3d c2 41 24 2c a9 41  24 2d 41 25 29 8b 42 24  |$=.A$,.A$-A%).B$|
000029d0  3d 22 20 22 0d 6f ea 18  e7 42 24 3d 22 3f 22 84  |=" ".o...B$="?".|
000029e0  42 24 3d 22 20 3f 22 8c  8d 70 46 6f 0d 6f f4 1b  |B$=" ?"..pFo.o..|
000029f0  e7 41 24 3d 22 20 20 20  20 22 84 41 24 3d 22 20  |.A$="    ".A$=" |
00002a00  20 22 8c 8d 50 66 70 0d  70 1c 14 e7 41 25 3c 3e  | "..Pfp.p...A%<>|
00002a10  30 3d c0 41 24 2c 41 25  2d 31 29 0d 70 26 10 42  |0=.A$,A%-1).p&.B|
00002a20  24 3d 22 22 3a 3d 22 65  74 63 22 0d 75 30 09 f2  |$="":="etc".u0..|
00002a30  56 48 3a db 0d 75 3a 2b  f1 27 3a f2 4f 46 46 3a  |VH:..u:+.':.OFF:|
00002a40  f2 50 52 49 4e 54 28 41  24 28 31 29 2c a4 43 45  |.PRINT(A$(1),.CE|
00002a50  4e 54 52 45 28 41 24 28  31 29 29 2c 33 38 29 0d  |NTRE(A$(1)),38).|
00002a60  75 44 31 f1 27 3a f2 50  52 49 4e 54 28 22 57 68  |uD1.':.PRINT("Wh|
00002a70  61 74 20 77 6f 75 6c 64  20 79 6f 75 20 6c 69 6b  |at would you lik|
00002a80  65 20 74 6f 20 64 6f 20  3a 22 2c 30 2c 33 38 29  |e to do :",0,38)|
00002a90  0d 75 4e 3f f1 27 3a f2  50 52 49 4e 54 28 22 31  |.uN?.':.PRINT("1|
00002aa0  20 20 54 68 69 6e 6b 20  6f 66 20 22 2b a4 56 4f  |  Think of "+.VO|
00002ab0  57 45 4c 28 41 24 28 32  29 2c 31 29 2b a4 73 6d  |WEL(A$(2),1)+.sm|
00002ac0  28 41 24 28 32 29 29 2c  33 2c 33 38 29 3a f1 0d  |(A$(2)),3,38):..|
00002ad0  75 58 39 f2 50 52 49 4e  54 28 22 32 20 20 47 75  |uX9.PRINT("2  Gu|
00002ae0  65 73 73 20 22 2b a4 56  4f 57 45 4c 28 41 24 28  |ess "+.VOWEL(A$(|
00002af0  32 29 2c 31 29 2b a4 73  6d 28 41 24 28 32 29 29  |2),1)+.sm(A$(2))|
00002b00  2c 33 2c 33 38 29 3a f1  0d 75 6c 25 f2 50 52 49  |,3,38):..ul%.PRI|
00002b10  4e 54 28 22 33 20 20 45  64 69 74 20 74 68 65 20  |NT("3  Edit the |
00002b20  74 72 65 65 22 2c 33 2c  33 38 29 3a f1 0d 75 76  |tree",3,38):..uv|
00002b30  2a f2 50 52 49 4e 54 28  22 34 20 20 50 72 69 6e  |*.PRINT("4  Prin|
00002b40  74 20 6f 75 74 20 74 68  65 20 74 72 65 65 22 2c  |t out the tree",|
00002b50  33 2c 33 38 29 3a f1 0d  75 80 25 f2 50 52 49 4e  |3,38):..u.%.PRIN|
00002b60  54 28 22 35 20 20 53 61  76 65 20 74 68 65 20 74  |T("5  Save the t|
00002b70  72 65 65 22 2c 33 2c 33  38 29 3a f1 0d 75 8a 29  |ree",3,38):..u.)|
00002b80  f2 50 52 49 4e 54 28 22  36 20 20 4c 6f 61 64 20  |.PRINT("6  Load |
00002b90  61 6e 6f 74 68 65 72 20  74 72 65 65 22 2c 33 2c  |another tree",3,|
00002ba0  33 38 29 3a f1 0d 75 94  28 f2 50 52 49 4e 54 28  |38):..u.(.PRINT(|
00002bb0  22 37 20 20 53 74 61 72  74 20 61 20 6e 65 77 20  |"7  Start a new |
00002bc0  74 72 65 65 22 2c 33 2c  33 38 29 3a f1 0d 75 9e  |tree",3,38):..u.|
00002bd0  34 f5 f1 8a 30 2c 32 32  29 3b 3a f2 50 52 49 4e  |4...0,22);:.PRIN|
00002be0  54 28 22 3f 20 20 22 2c  30 2c 33 38 29 3a f1 3a  |T("?  ",0,38):.:|
00002bf0  5a 24 3d a4 49 4e 50 55  54 28 31 2c 32 32 2c 30  |Z$=.INPUT(1,22,0|
00002c00  29 0d 75 a8 15 41 25 3d  bb 5a 24 3a fd 41 25 3e  |).u..A%=.Z$:.A%>|
00002c10  30 80 41 25 3c 38 0d 75  b2 2a ee 41 25 e5 8d 54  |0.A%<8.u.*.A%..T|
00002c20  50 4e 2c 8d 60 78 75 2c  8d 60 40 44 2c 8d 54 78  |PN,.`xu,.`@D,.Tx|
00002c30  58 2c 8d 60 70 55 2c 8d  74 6c 4d 2c 8d 74 70 5d  |X,.`pU,.tlM,.tp]|
00002c40  0d 75 f8 2a 44 25 3d 30  3a 50 25 3d 47 25 2b 31  |.u.*D%=0:P%=G%+1|
00002c50  3a 50 31 25 3d a4 41 44  44 53 54 52 28 50 25 29  |:P1%=.ADDSTR(P%)|
00002c60  2b 38 3a 21 52 25 3d 50  31 25 0d 76 00 13 d6 26  |+8:!R%=P1%.v...&|
00002c70  35 35 36 32 2c 47 25 2c  56 25 2c 52 25 0d 76 3e  |5562,G%,V%,R%.v>|
00002c80  20 44 25 3d 21 28 26 38  32 29 80 26 46 46 46 46  | D%=!(&82).&FFFF|
00002c90  3a 57 25 3d b3 28 44 25  29 2d 31 3a db 0d 76 3f  |:W%=.(D%)-1:..v?|
00002ca0  60 e7 44 25 3d 33 e7 3f  28 52 25 21 38 29 3d 26  |`.D%=3.?(R%!8)=&|
00002cb0  46 46 3a f2 50 52 49 4e  54 28 22 53 6f 72 72 79  |FF:.PRINT("Sorry|
00002cc0  20 2e 4e 6f 74 20 65 6e  6f 75 67 68 20 22 2b 41  | .Not enough "+A|
00002cd0  24 28 31 29 2b 22 20 6f  6e 20 74 68 65 20 74 72  |$(1)+" on the tr|
00002ce0  65 65 22 2c 30 2c 33 38  29 3a e3 59 25 3d 30 b8  |ee",0,38):.Y%=0.|
00002cf0  31 32 30 30 30 3a ed 3a  e5 8d 74 7c 42 0d 76 48  |12000:.:..t|B.vH|
00002d00  23 57 25 3d 52 25 21 28  57 25 2a 34 29 3a d6 26  |#W%=R%!(W%*4):.&|
00002d10  35 34 44 44 2c 47 25 2c  56 25 2c 52 25 2c 57 25  |54DD,G%,V%,R%,W%|
00002d20  0d 76 7a 19 51 25 3d 21  28 26 38 32 29 80 26 46  |.vz.Q%=!(&82).&F|
00002d30  46 46 46 3a 42 25 3d 51  25 0d 76 84 05 f5 0d 76  |FFF:B%=Q%.v....v|
00002d40  85 46 f5 42 31 25 3d 2d  31 3a 4d 25 3f 28 42 25  |.F.B1%=-1:M%?(B%|
00002d50  2d 51 25 29 3d 26 46 46  3a 53 25 3d b3 28 42 25  |-Q%)=&FF:S%=.(B%|
00002d60  29 2d 31 3a f5 42 31 25  3d 42 31 25 2b 31 3a fd  |)-1:.B1%=B1%+1:.|
00002d70  4d 25 3f 42 31 25 3d 53  25 84 20 42 31 25 3e 42  |M%?B1%=S%. B1%>B|
00002d80  25 2d 51 25 0d 76 87 1c  fd 42 31 25 3e 42 25 2d  |%-Q%.v...B1%>B%-|
00002d90  51 25 3a 4d 25 3f 28 42  25 2d 51 25 29 3d 53 25  |Q%:M%?(B%-Q%)=S%|
00002da0  0d 76 89 2f f2 50 52 49  4e 54 28 22 54 68 65 20  |.v./.PRINT("The |
00002db0  61 6e 73 77 65 72 20 74  6f 20 74 68 65 20 71 75  |answer to the qu|
00002dc0  65 73 74 69 6f 6e 22 2c  30 2c 33 38 29 3a f1 0d  |estion",0,38):..|
00002dd0  76 8e 2e f2 50 52 49 4e  54 28 24 28 28 52 25 21  |v...PRINT($((R%!|
00002de0  28 53 25 2a 34 29 80 26  46 46 46 46 29 2b 31 29  |(S%*4).&FFFF)+1)|
00002df0  2b 22 20 3f 22 2c 30 2c  33 38 29 3a f1 0d 76 98  |+" ?",0,38):..v.|
00002e00  25 e7 52 25 3f 28 53 25  2a 34 2b 33 29 3d 34 8c  |%.R%?(S%*4+3)=4.|
00002e10  41 24 3d 22 20 79 65 73  22 8b 41 24 3d 22 20 6e  |A$=" yes".A$=" n|
00002e20  6f 22 0d 76 a2 1a f2 50  52 49 4e 54 28 22 69 73  |o".v...PRINT("is|
00002e30  22 2b 41 24 2c 30 2c 33  38 29 3a f1 0d 76 ac 29  |"+A$,0,38):..v.)|
00002e40  f2 50 52 49 4e 54 28 22  59 6f 75 72 20 67 75 65  |.PRINT("Your gue|
00002e50  73 73 20 69 73 20 3f 22  2c 30 2c 33 38 29 3a 53  |ss is ?",0,38):S|
00002e60  25 3d bc 2d 31 0d 76 b6  41 41 24 3d a4 41 4e 53  |%=.-1.v.AA$=.ANS|
00002e70  28 a4 41 4f 28 a4 4c 45  41 44 28 a4 49 4e 50 55  |(.AO(.LEAD(.INPU|
00002e80  54 28 32 32 2c 53 25 2c  2d 31 29 29 29 29 3a e7  |T(22,S%,-1)))):.|
00002e90  41 24 3d 22 22 8c f2 45  52 52 28 30 2c 31 35 29  |A$=""..ERR(0,15)|
00002ea0  3a e5 8d 70 76 76 0d 76  c0 53 f1 3a e7 a4 73 6d  |:..pvv.v.S.:..sm|
00002eb0  28 24 57 25 29 3d a4 73  6d 28 41 24 29 8c 51 25  |($W%)=.sm(A$).Q%|
00002ec0  3d 2d 31 3a f1 27 3a f2  50 52 49 4e 54 28 22 43  |=-1:.':.PRINT("C|
00002ed0  4f 52 52 45 43 54 22 2c  31 34 2c 33 38 29 3a 8b  |ORRECT",14,38):.|
00002ee0  db 3a f2 50 52 49 4e 54  28 22 57 52 4f 4e 47 22  |.:.PRINT("WRONG"|
00002ef0  2c 31 34 2c 33 38 29 3a  f1 0d 76 d4 11 51 25 3d  |,14,38):..v..Q%=|
00002f00  51 25 2d 31 3a fd 51 25  3c 31 0d 76 f2 31 e7 51  |Q%-1:.Q%<1.v.1.Q|
00002f10  25 3d 30 f2 50 52 49 4e  54 28 22 49 74 20 77 61  |%=0.PRINT("It wa|
00002f20  73 20 22 2b a4 56 4f 57  45 4c 28 24 57 25 2c 31  |s "+.VOWEL($W%,1|
00002f30  29 2b 24 57 25 2c 30 2c  33 38 29 0d 76 fc 13 57  |)+$W%,0,38).v..W|
00002f40  25 3d 91 3a f5 fd 91 2d  57 25 3e 34 30 30 0d 77  |%=.:...-W%>400.w|
00002f50  06 09 e5 8d 50 70 75 0d  79 18 0e dd a4 46 49 4e  |....Ppu.y....FIN|
00002f60  44 28 41 25 29 0d 79 22  20 59 25 3d 47 25 3a f5  |D(A%).y" Y%=G%:.|
00002f70  59 25 3d 59 25 2b 31 3a  fd 59 25 3d 56 25 84 21  |Y%=Y%+1:.Y%=V%.!|
00002f80  59 25 3d 41 25 0d 79 2c  07 3d 59 25 0d 79 54 17  |Y%=A%.y,.=Y%.yT.|
00002f90  dd a4 73 6d 28 41 24 29  ea 59 25 3a 24 57 53 25  |..sm(A$).Y%:$WS%|
00002fa0  3d 22 22 0d 79 5e 30 e3  59 25 3d 31 b8 a9 41 24  |="".y^0.Y%=1..A$|
00002fb0  3a 24 57 53 25 3d 24 57  53 25 2b bd 28 97 c1 41  |:$WS%=$WS%+.(..A|
00002fc0  24 2c 59 25 2c 31 29 84  33 32 29 3a ed 3a 3d 24  |$,Y%,1).32):.:=$|
00002fd0  57 53 25 0d ff                                    |WS%..|
00002fd5
TreeOfKldg/Tree.m0
TreeOfKldg/Tree.m1
TreeOfKldg/Tree.m2
TreeOfKldg/Tree.m4
TreeOfKldg/Tree.m5