Home » Archimedes archive » Archimedes World » AW-1994-08-Disc2.adf » Disk2Aug94 » !AWAug94/Goodies/MathsCard/!MathsCard/Sums/Resources/Data
!AWAug94/Goodies/MathsCard/!MathsCard/Sums/Resources/Data
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 » Archimedes archive » Archimedes World » AW-1994-08-Disc2.adf » Disk2Aug94 |
Filename: | !AWAug94/Goodies/MathsCard/!MathsCard/Sums/Resources/Data |
Read OK: | ✔ |
File size: | 1C13A bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
20DEFFNstart_:PROCshut_:=FNwindow("Main") 40DEFFNmainW_:=FNwindow("Main") 70DEFFNdummy_:=TRUE 110DEFFNm_:LOCALH$:H$=$mn%:CASEH$OF 150WHEN"GrafIt":IFAnswer_%THENPROCpMI("GrafIt",0,"Answers off")ELSEPROCpMI("GrafIt",0,"Answers on") 170ENDCASE:=TRUE 200DEFFNsm_:LOCALH$:H$=$mn%:CASEH$OF 240WHEN"CreChoices":IFChoices_%=1PROCtMIx("CreChoices",0) 260IFChoices_%=2PROCtMIx("CreChoices",1) 270IFChoices_%=3PROCtMIx("CreChoices",2) 280ENDCASE:=TRUE 310DEFFNsma_:=FALSE 350DEFFNw_:CASE$wn%OF 370WHEN"Main":PROCshut_:WindowMain_%=FNfWS("Main") 380WHEN"GrafIt":GrafIt_%=FNfWS("GrafIt") 390WHEN"TakeCards":PROCTakeCards 400WHEN"AddCards":PROCAddCards 410WHEN"TimesCards":PROCTimesCards 420WHEN"DivCards":PROCDivCards 430WHEN"Add":PROCAdd 440WHEN"Subtract":PROCsubtract 450WHEN"Multiply":PROCmultiply 460WHEN"Divide":PROCDivide 470WHEN"Madd":PROCMadd 480WHEN"MetricSub":PROCMsub 490WHEN"Magic":PROCMagic 500WHEN"Sadd":PROCSadd 510WHEN"Wadd":PROCWadd 520WHEN"FrMD":PROCFrMD 530WHEN"LongMul":PROCLongMulty 540WHEN"LongDiv":PROCLongDivy 550WHEN"MetricSub":PROCMsub 560WHEN"MetricMul":PROCMmul 570WHEN"MetDiv":PROCMdiv 580WHEN"Choices":PROCchoices 590ENDCASE:=TRUE 640DEFFNb_:=TRUE 680DEFFNe_:=TRUE 710DEFFNpK_:=FALSE 740DEFFNh_:CASE$wn%OF 750WHEN"GrafIt":="This is the main window of the 'New_Appln' application." 760ENDCASE:IF!h%=-2THEN="This is the 'New_Appln' icon.|MClick SELECT to open the main window." 780="" 800DEFFNrM_:=TRUE 820DEFFNrB_:=TRUE 850DEFFNpB_:=TRUE 880DEFPROCiBasic_g:ENDPROC 890DEFPROCiSprite_g:ENDPROC 900DEFPROCiAnimate_g:ENDPROC 1010DEFFNi_(A$,B%):LOCALA%,C$:many_=12:last_=12:quit_=FALSE:SecAns_%=TRUE:Lda_%=TRUE:Lma_%=TRUE:DIMqual_$(10),qual_(10),act_$(10),gc_%(12),scoot_(10):EqSign_=TRUE:EqEquals_=FALSE:DIMLineType_(3):LineType_(3)=TRUE:LineType_(2)=FALSE:LineType_(1)=FALSE:DIMfinder_%(12) 1160maxsub=6:DIMsub_$(maxsub),sub_(maxsub):sub_$(1)="-":sub_(1)=TRUE:sub_$(2)="subtract":sub_(2)=FALSE:sub_$(3)="minus":sub_(3)=FALSE:sub_$(4)="take":sub_(4)=FALSE:sub_$(5)="take away":sub_(5)=FALSE:sub_$(6)="less":sub_(6)=FALSE 1200Takemaxy_=20:Takeminny_=10:maxadd=4:DIMadd_$(maxadd),add_(maxadd):add_$(1)="+":add_(1)=TRUE:add_$(2)="add":add_(2)=FALSE:add_$(3)="plus":add_(3)=FALSE:add_$(4)="and":add_(4)=FALSE:Addmaxy_=10:Addminy_=1 1280maxtimes=4:DIMtime_$(maxtimes),times_(maxtimes):time_$(1)="x":times_(1)=TRUE:time_$(2)="times":times_(2)=FALSE:time_$(3)="multiplied by":times_(3)=FALSE:maxtims=9:DIMtim_$(maxtims),tim_(maxtims) 1310tim_$(1)="2":tim_$(2)="3":tim_$(3)="4":tim_$(4)="5":tim_$(5)="6":tim_$(6)="7":tim_$(7)="8":tim_$(8)="9":tim_$(9)="10":tim_(1)=TRUE:tim_(2)=FALSE:tim_(3)=FALSE:tim_(4)=FALSE:tim_(5)=FALSE:tim_(6)=FALSE:tim_(7)=FALSE:tim_(8)=FALSE:tim_(9)=FALSE 1360maxdiv=3:DIMdive_$(maxdiv),dive_(maxdiv):DIMtempa_(10):dive_$(1)="�":dive_(1)=TRUE:dive_$(2)="shared by":dive_(2)=FALSE:dive_$(3)="divided by":dive_(3)=FALSE:maxdivs=9:DIMdiv_$(maxdivs),div_(maxdivs) 1390div_$(1)="2":div_$(2)="3":div_$(3)="4":div_$(4)="5":div_$(5)="6":div_$(6)="7":div_$(7)="8":div_$(8)="9":div_$(9)="10":div_(1)=TRUE:div_(2)=FALSE:div_(3)=FALSE:div_(4)=FALSE:div_(5)=FALSE:div_(6)=FALSE:div_(7)=FALSE:div_(8)=FALSE:div_(9)=FALSE 1440DIMaddy_(6):addy_(1)=TRUE:FORt_=2TO6:addy_(t_)=FALSE:NEXT:maxaddcarry_=3:DIMaddcarry_(maxaddcarry_):addcarry_(1)=FALSE:addcarry_(2)=FALSE:addcarry_(3)=TRUE:DIMaddytype_(6),lineaddy_(12):Anowts_%=FALSE:DIMsubby_(6):subby_(1)=TRUE:FORt_=2TO6:subby_(t_)=FALSE:NEXT 1510maxsubcarry_=3:DIMsubcarry_(maxsubcarry_):subcarry_(1)=TRUE:subcarry_(2)=FALSE:subcarry_(3)=FALSE:DIMsubbytype_(6),linesubby_(12):nowts_%=FALSE:DIMmulty_(6):multy_(1)=TRUE:FORt_=2TO6:multy_(t_)=FALSE:NEXT:maxmults=9:DIMmult_$(maxmults),mult_(maxmults) 1580FORt_=1TO9:mult_$(t_)=STR$(t_+1):NEXT:mult_(1)=TRUE:FORt_=2TO9:mult_(t_)=FALSE:NEXT:DIMmultytype_(6),linemulty_(12):Mnowts_%=FALSE:Remainder_$="Ran":DIMdvy_(5):dvy_(1)=TRUE:dvy_(2)=FALSE:dvy_(3)=FALSE:dvy_(4)=FALSE:dvy_(5)=FALSE:maxdvs=9:DIMdv_$(maxdvs),dv_(maxdvs) 1660dv_$(1)="2":dv_$(2)="3":dv_$(3)="4":dv_$(4)="5":dv_$(5)="6":dv_$(6)="7":dv_$(7)="8":dv_$(8)="9":dv_$(9)="10":dv_(1)=TRUE:dv_(2)=FALSE:dv_(3)=FALSE:dv_(4)=FALSE:dv_(5)=FALSE:dv_(6)=FALSE:dv_(7)=FALSE:dv_(8)=FALSE:dv_(9)=FALSE 1690DIMdvytype_(6),linedvy_(12):Dnowts_%=FALSE:DIMcz_$(12):Fracadd_=TRUE:Fractake_=FALSE:addoms_=FALSE:AddReps_=FALSE:subdoms_=FALSE:SubReps_=FALSE:maxfrac_=12:DIMf_(maxfrac_),frac_(maxfrac_):DIMFU1_(12),FD1_(12),FU2_(12),FD2_(12),FU3_(12),FD3_(12) 1780f_(1)=TRUE:f_(2)=FALSE:f_(3)=TRUE:f_(4)=FALSE:f_(5)=FALSE:f_(6)=FALSE:f_(7)=TRUE:FORr_=8TO12:f_(r_)=FALSE:NEXT:FORr_=1TO9:frac_(r_)=r_+1:NEXT:frac_(10)=12:frac_(11)=15:frac_(12)=20:DIMSadcarry_(3):Sadcarry_(1)=FALSE:Sadcarry_(2)=FALSE:Sadcarry_(3)=TRUE:DIMFracsign_$(12) 1850WFracadd_=TRUE:WFractake_=FALSE:Waddoms_=FALSE:WAddReps_=FALSE:Wsubdoms_=FALSE:WSubReps_=FALSE:Wmaxfrac_=12:DIMwf_(Wmaxfrac_),wfrac_(Wmaxfrac_):DIMWFU1_(12),WFD1_(12),WFU2_(12),WFD2_(12),WFU3_(12),WFD3_(12),Whole_(12,2) 1900f_(1)=TRUE:wf_(2)=FALSE:wf_(3)=TRUE:wf_(4)=FALSE:wf_(5)=FALSE:wf_(6)=FALSE:wf_(7)=TRUE:FORr_=8TO12:wf_(r_)=FALSE:NEXT:FORr_=1TO9:wfrac_(r_)=r_+1:NEXT:wfrac_(10)=12:wfrac_(11)=15:wfrac_(12)=20:DIMWSadcarry_(3):WSadcarry_(1)=FALSE:WSadcarry_(2)=FALSE:WSadcarry_(3)=TRUE 1940DIMWSTakecar_(3):WSTakecar_(1)=FALSE:WSTakecar_(2)=FALSE:WSTakecar_(3)=FALSE:Fracmult_=TRUE:Fracdiv_=FALSE:Frtdom_=FALSE:Frtrep_=FALSE:Frddom_=FALSE:Frdrep_=FALSE:DIMmf_(12),mfv_(12):FORr_=1TO9:mfv_(r_)=r_+1:NEXT:mfv_(10)=12:mfv_(11)=15:mfv_(12)=20 2020mf_(1)=TRUE:mf_(2)=TRUE:FORr_=3TO12:mf_(r_)=FALSE:NEXT:Frmwhole_=FALSE:Frdwhole_=FALSE:DIMLongMul_(6):LongMul_(1)=TRUE:FORt_=2TO6:LongMul_(t_)=FALSE:NEXT:Longstyle_=1:DIMLongchoice_$(8),froc_(8):DIMLongDiv_(7):LongDiv_(1)=TRUE:FORt_=2TO7:LongDiv_(t_)=FALSE:NEXT:LRemainder_$="Ran" 2170DIMmaddy_(6):maddy_(1)=TRUE:FORw_=2TO6:maddy_(w_)=FALSE:NEXT:maddcarry_$="Ran":DIMmt_(6):FORw_=1TO6:mt_(w_)=FALSE:NEXT:DIMthou_$(3),hun_$(3),top_$(12):DIMmsub_(6):msub_(1)=TRUE:FORw_=2TO6:msub_(w_)=FALSE:NEXT:msubcarry_$="Ran":DIMst_(6):FORw_=1TO6:st_(w_)=FALSE:NEXT 2280DIMmmul_(6):mmul_(1)=TRUE:FORw_=2TO6:mmul_(w_)=FALSE:NEXT:DIMmmt_(6):FORw_=1TO6:mmt_(w_)=FALSE:NEXT:DIMMmult_$(9),Mmult_(9):FORt_=1TO9:Mmult_$(t_)=STR$(t_+1):NEXT:Mmult_(1)=TRUE:FORt_=2TO9:Mmult_(t_)=FALSE:NEXT:DIMmd_(6):md_(1)=TRUE:FORw_=2TO6:md_(w_)=FALSE:NEXT 2360DIMmdt_(6):FORw_=1TO6:mdt_(w_)=FALSE:NEXT:DIMMdiv_$(9),Mdiv_(9):FORt_=1TO9:Mdiv_$(t_)=STR$(t_+1):NEXT:Mdiv_(1)=TRUE:FORt_=2TO9:Mdiv_(t_)=FALSE:NEXT:LineTypeards_%=FALSE:TakeCard_%=FALSE:DIMdunk_$(10):started_%=FALSE:twoxc=TRUE:threexc=FALSE:fourxc=FALSE:fivexc=FALSE:sixxc=FALSE 2460sevenxc=FALSE:eightxc=FALSE:ninexc=FALSE:tenxc=FALSE:EqSign_=TRUE:EqEquals_=FALSE:Addadd=FALSE:Addplus=FALSE:Addsign=TRUE:DIMNa_%(12),Nb_%(12),Nc_%(12),linetype_(10),equal_$(10) 2530save_%=OPENIN"<MathsSys$Path>Numbers":INPUT#save_%,rite_,StartY,Maintitle_$,Title_$,Choices_%,Sign_%,SecAns_%,Lda_%,Lma_%,direct_%,remmy_,pwon_:CLOSE#save_%:DefStartX=rite_:DefStartY=StartY:DefaultStartX=100:DefaultStartY=1240 2570DIMa_(12),b_(12),c_(12),rem_(12),a_$(12),b_$(12),c_$(12),rem_$(12):DIMmagic_(9,9):MagRange_$="1 to 25":DIMbas_(9),baa_(9):DIMpat_$(9),pattern_(9),bas_$(9):Answer_%=FALSE:mult_=2:gap_=0:Clue_$="":Zero_$="Random":metric_$="�":PROCiRes(A$,B%) 2690PROCiGraphics("",B%):=TRUE 2770DEFPROCshut_:IFFNgWx("GrafIt"):PROCcloseW(GrafIt_%) 2790IFFNfWS("TakeCards")PROCcloseW(TakeCard_%) 2800IFFNfWS("AddCards")PROCcloseW(AddCard_%) 2810IFFNfWS("TimesCards")PROCcloseW(TimesCard_%) 2820IFFNfWS("DivCards")PROCcloseW(DivCard_%) 2830IFFNfWS("Add")PROCcloseW(WAdd_%) 2840IFFNfWS("Subtract")PROCcloseW(WSub_%) 2850IFFNfWS("Multiply")PROCcloseW(WMult_%) 2860IFFNfWS("Divide")PROCcloseW(WDiv_%) 2870IFFNfWS("Magic")PROCcloseW(Magic_%) 2880IFFNfWS("Sadd")PROCcloseW(Sad_%) 2890IFFNfWS("Wadd")PROCcloseW(Wad_%) 2900IFFNfWS("FrMD")PROCcloseW(FrMD_%) 2910IFFNfWS("LongMul")PROCcloseW(LongMul_%) 2920IFFNfWS("LongDiv")PROCcloseW(LongDiv_%) 2930IFFNfWS("Madd")PROCcloseW(Madd_%) 2940IFFNfWS("MetricSub")PROCcloseW(Msub_%) 2950IFFNfWS("MetricMul")PROCcloseW(Mmul_%) 2960IFFNfWS("MetDiv")PROCcloseW(Mdiv_%) 2970IFFNfWS("Choices")PROCcloseW(Choice_%) 2980AddCard_%=FALSE:TakeCard_%=FALSE:TimesCard_%=FALSE:DivCard_%=FALSE:started_%=FALSE:ENDPROC:IFFNgWx("GrafIt"):PROCcloseW(GrafIt_%) 3020IFFNgWx("Add"):PROCcloseW(WAdd_%) 3030IFFNgWx("Subtract"):PROCcloseW(WSub_%) 3040IFFNgWx("Multiply"):PROCcloseW(WMult_%) 3050IFFNgWx("Divide"):PROCcloseW(WDiv_%) 3060IFFNgWx("Magic"):PROCcloseW(Magic_%) 3070IFFNgWx("MetricAdd"):PROCcloseW(Madd_%) 3080IFFNgWx("MetricSub"):PROCcloseW(Msub_%) 3090IFFNgWx("MetricMul"):PROCcloseW(Mmul_%) 3100IFFNgWx("LongMul"):PROCcloseW(LongMul_%) 3110IFFNgWx("StartX"):PROCcloseW(Start_X%) 3120IFFNgWx("AddCards"):PROCcloseW(AddCard_%) 3130IFFNgWx("TakeCards"):PROCcloseW(TakeCard_%) 3140IFFNgWx("TimesCards"):PROCcloseW(TimesCard_%) 3150IFFNgWx("DivCards"):PROCcloseW(DivCard_%) 3160AddCard_%=FALSE:TakeCard_%=FALSE:TimesCard_%=FALSE:DivCard_%=FALSE:started_%=FALSE:ENDPROC 3200DEFFNChoices_:PROCusI(WindowMain_%,"Choices"):=FNwindow("Choices") 3210DEFFNTakecards_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("TakeCards"):open2_%=FNwindow("GrafIt"):=TRUE 3230DEFFNAddcards_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("AddCards"):open2_%=FNwindow("GrafIt"):=TRUE 3250DEFFNTimesCards_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("TimesCards"):open2_%=FNwindow("GrafIt"):=TRUE 3270DEFFNDivCards_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("DivCards"):open2_%=FNwindow("GrafIt"):=TRUE 3290DEFFNAdd_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("Add"):open2_%=FNwindow("GrafIt"):=TRUE 3310DEFFNSubtract_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("Subtract"):open2_%=FNwindow("GrafIt"):=TRUE 3330DEFFNMultiply_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("Multiply"):open2_%=FNwindow("GrafIt"):=TRUE 3350DEFFNDivide_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("Divide"):open2_%=FNwindow("GrafIt"):=TRUE 3370DEFFNMagic_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("Magic"):open2_%=FNwindow("GrafIt"):=TRUE 3390DEFFNSadd_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("Sadd"):open2_%=FNwindow("GrafIt"):=TRUE 3410DEFFNWadd_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("Wadd"):open2_%=FNwindow("GrafIt"):=TRUE 3430DEFFNFrMD_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("FrMD"):open2_%=FNwindow("GrafIt"):=TRUE 3450DEFFNMadd_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("Madd"):open2_%=FNwindow("GrafIt"):=TRUE 3470DEFFNMetricSub_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open_%=FNwindow("MetricSub"):open2_%=FNwindow("GrafIt"):=TRUE 3490DEFFNMetricMul_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open_%=FNwindow("MetricMul"):open2_%=FNwindow("GrafIt"):=TRUE 3510DEFFNMetricDiv_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open_%=FNwindow("MetDiv"):open2_%=FNwindow("GrafIt"):=TRUE 3530DEFFNLongMul_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("LongMul"):open2_%=FNwindow("GrafIt"):=TRUE 3560DEFFNLongDiv_:Clue_$="":PROCshut_:started_%=FALSE:PROCcloseW(WindowMain_%):open1_%=FNwindow("LongDiv"):open2_%=FNwindow("GrafIt"):=TRUE 3620DEFPROCwhatqual:IFTakeCard_% tot_=maxsub:FORr_=1TOtot_:qual_$(r_)=sub_$(r_):qual_(r_)=sub_(r_):NEXT 3640IFAddCard_% tot_=maxadd:FORr_=1TOtot_:qual_$(r_)=add_$(r_):qual_(r_)=add_(r_):NEXT 3650IFTimesCard_% tot_=maxtimes:FORr_=1TOtot_:qual_$(r_)=time_$(r_):qual_(r_)=times_(r_):NEXT 3660IFDivCard_% tot_=maxdiv:FORr_=1TOtot_:qual_$(r_)=dive_$(r_):qual_(r_)=dive_(r_):NEXT 3670got_%=0:FORr_%=1TOtot_:IFqual_(r_%)=TRUEgot_%=got_%+1:gc_%(got_%)=r_% 3690NEXT:PROCqual(got_%):ENDPROC 3720DEFPROCqual(g_%):IFg_%=1THENFORtr_%=1TO10:act_$(tr_%)=qual_$(gc_%(g_%)):NEXT:ENDPROC 3740needed_%=10DIVg_%:REPEAT:FORy_=1TOg_%:finder_%(y_)=0:NEXT:flag_=TRUE:FORtr_%=1TO10:REPEAT:flig_=TRUE:ran_=RND(g_%):act_$=qual_$(gc_%(ran_)):IFtr_%>1ANDact_$(tr_%-1)=act_$ flig_=FALSE 3820UNTILflig_=TRUE:act_$(tr_%)=qual_$(gc_%(ran_)):finder_%(ran_)=finder_%(ran_)+1:NEXT:FORb_%=1TOg_%:IFfinder_%(b_%)<needed_% flag_=FALSE 3860NEXT:UNTILflag_=TRUE:ENDPROC 3880DEFPROCwhatlines_:got_%=0:FORr_%=1TO3:IFLineType_(r_%)=TRUEgot_%=got_%+1:gc_%(got_%)=r_% 3900NEXT:IFgot_%=1THENFORtr_%=1TO10:linetype_(tr_%)=gc_%(got_%):NEXT:ENDPROC 3920needed_%=10DIVgot_%:REPEAT:FORy_=1TOgot_%:finder_%(y_)=0:NEXT:flag_=TRUE:FORtr_%=1TO10:REPEAT:flig_=TRUE:ran_=RND(got_%):linetype_=gc_%(ran_):IFtr_%>1ANDlinetype_(tr_%-1)=linetype_ flig_=FALSE 4000UNTILflig_=TRUE:linetype_(tr_%)=gc_%(ran_):finder_%(ran_)=finder_%(ran_)+1:NEXT:FORy_=1TOgot_%:IFfinder_%(y_)<needed_% flag_=FALSE 4040NEXT:UNTILflag_=TRUE:ENDPROC 4080DEFPROCwhatequals:IFEqSign_=TRUEANDEqEquals_=FALSEFORtr_%=1TO10:equal_$(tr_%)="=":NEXT:ENDPROC 4100IFEqSign_=FALSEANDEqEquals_=TRUEFORtr_%=1TO10:equal_$(tr_%)="equals":NEXT:ENDPROC 4110PROCtwo("equals","="):equal_$()=dunk_$():ENDPROC 4130DEFPROCtwo(a_$,b_$):REPEAT:aa_=0:ap_=0:FORtr_%=1TO10:REPEAT:flug_=TRUE:r_=RND(2):IFr_=1 dunk_$=a_$ELSEdunk_$=b_$ 4180IFtr_%>1ANDdunk_$(tr_%-1)=dunk_$ flug_=FALSE 4190UNTILflug_=TRUE:IFr_=1 dunk_$(tr_%)=a_$:aa_=aa_+1ELSEdunk_$(tr_%)=b_$:ap_=ap_+1 4210NEXT:UNTILaa_>4ANDap_>4:ENDPROC 4230DEFFNEqSign_:IFEqSign_=TRUEANDEqEquals_=FALSEEqSign_=TRUE:PROCselectEq:=TRUE 4250IFEqSign_=TRUEEqSign_=FALSE:PROCUnselectEq:=TRUE 4260IFEqSign_=FALSEEqSign_=TRUE:PROCselectEq:=TRUE 4270 4280DEFFNEqEquals_:IFEqEquals_=TRUEANDEqSign_=FALSEEqEquals_=TRUE:PROCselectEquals:=TRUE 4300IFEqEquals_=TRUEEqEquals_=FALSE:PROCUnselectEquals:=TRUE 4310IFEqEquals_=FALSEEqEquals_=TRUE:PROCselectEquals:=TRUE 4320 4330DEFPROCselectEq:IFAddCard_%PROCsI(AddCard_%,"EqSign") 4350IFTakeCard_%PROCsI(TakeCard_%,"EqSign") 4360IFTimesCard_%PROCsI(TimesCard_%,"EqSign") 4370IFDivCard_%PROCsI(DivCard_%,"EqSign") 4380ENDPROC 4400DEFPROCUnselectEq:IFAddCard_%PROCusI(AddCard_%,"Eq") 4420IFTakeCard_%PROCusI(TakeCard_%,"Eq") 4430IFTimesCard_%PROCusI(TimesCard_%,"EqSign") 4440IFDivCard_%PROCusI(DivCard_%,"EqSign") 4450ENDPROC 4470DEFPROCselectEquals:IFAddCard_%PROCsI(AddCard_%,"EqEquals") 4490IFTakeCard_%PROCsI(TakeCard_%,"EqEquals") 4500IFTimesCard_%PROCsI(TimesCard_%,"EqEquals") 4510IFDivCard_%PROCsI(DivCard_%,"EqEquals") 4520ENDPROC 4540DEFPROCUnselectEquals:IFAddCard_%PROCusI(AddCard_%,"EqEquals") 4560IFTakeCard_%PROCusI(TakeCard_%,"EqEquals") 4570IFTimesCard_%PROCusI(TimesCard_%,"EqEquals") 4580IFDivCard_%PROCusI(DivCard_%,"EqEquals") 4590ENDPROC 4610DEFFNLineType1_:IFLineType_(2)=FALSEANDLineType_(3)=FALSETHENLineType_(1)=TRUE:PROCselectline1:=TRUE 4630IFLineType_(1)=FALSELineType_(1)=TRUE:PROCselectline1:=TRUE 4640IFLineType_(1)=TRUELineType_(1)=FALSE:PROCUnselectline1:=TRUE 4650DEFFNLineType2_:IFLineType_(1)=FALSEANDLineType_(3)=FALSETHENLineType_(2)=TRUE:PROCselectline2:=TRUE 4670IFLineType_(2)=FALSELineType_(2)=TRUE:PROCselectline2:=TRUE 4680IFLineType_(2)=TRUELineType_(2)=FALSE:PROCUnselectline2:=TRUE 4690DEFFNLineType3_:IFLineType_(1)=FALSEANDLineType_(2)=FALSETHENLineType_(3)=TRUE:PROCselectline3:=TRUE 4710IFLineType_(3)=FALSELineType_(3)=TRUE:PROCselectline3:=TRUE 4720IFLineType_(3)=TRUELineType_(3)=FALSE:PROCUnselectline3:=TRUE 4730 4740DEFPROCselectline1:IFTakeCard_%PROCsI(TakeCard_%,"LineType1") 4760IFAddCard_%PROCsI(AddCard_%,"LineType1") 4770IFTimesCard_%PROCsI(TimesCard_%,"LineType1") 4780IFDivCard_%PROCsI(DivCard_%,"LineType1") 4790ENDPROC 4800DEFPROCUnselectline1:IFTakeCard_%PROCusI(TakeCard_%,"LineType1") 4820IFAddCard_%PROCusI(AddCard_%,"LineType1") 4830IFTimesCard_%PROCusI(TimesCard_%,"LineType1") 4840IFDivCard_%PROCusI(DivCard_%,"LineType1") 4850ENDPROC 4860DEFPROCselectline2:IFTakeCard_%PROCsI(TakeCard_%,"LineType2") 4880IFAddCard_%PROCsI(AddCard_%,"LineType2") 4890IFTimesCard_%PROCsI(TimesCard_%,"LineType2") 4900IFDivCard_%PROCsI(DivCard_%,"LineType2") 4910ENDPROC 4920DEFPROCUnselectline2:IFTakeCard_%PROCusI(TakeCard_%,"LineType2") 4940IFAddCard_%PROCusI(AddCard_%,"LineType2") 4950IFTimesCard_%PROCusI(TimesCard_%,"LineType2") 4960IFDivCard_%PROCusI(DivCard_%,"LineType2") 4970ENDPROC 4980DEFPROCselectline3:IFTakeCard_%PROCsI(TakeCard_%,"LineType3") 5000IFAddCard_%PROCsI(AddCard_%,"LineType3") 5010IFTimesCard_%PROCsI(TimesCard_%,"LineType3") 5020IFDivCard_%PROCsI(DivCard_%,"LineType3") 5030ENDPROC 5040DEFPROCUnselectline3:IFTakeCard_%PROCusI(TakeCard_%,"LineType3") 5060IFAddCard_%PROCusI(AddCard_%,"LineType3") 5070IFTimesCard_%PROCusI(TimesCard_%,"LineType3") 5080IFDivCard_%PROCusI(DivCard_%,"LineType3") 5090ENDPROC 5110DEFFNAnswers_:IFAnswer_%=FALSEAnswer_%=TRUE:PROCpMI("GrafIt",0,"Answers off")ELSEIFAnswer_%=TRUEAnswer_%=FALSE:PROCpMI("GrafIt",0,"Answers on") 5130=FNsums 5200DEFPROCAddCards:AddCard_%=FNfWS("AddCards"):$!Addmaxy_%=STR$(Addmaxy_):PROCrI(AddCard_%,"Addmaxy"):$!Addminy_%=STR$(Addminy_):PROCrI(AddCard_%,"Addminy"):IFLineType_(1)PROCsI(AddCard_%,"LineType1") 5240IFLineType_(2)PROCsI(AddCard_%,"LineType2") 5250IFLineType_(3)PROCsI(AddCard_%,"LineType3") 5260IFEqSign_PROCsI(AddCard_%,"EqSign") 5270IFEqEquals_PROCsI(AddCard_%,"EqEquals") 5280IFadd_(1)PROCsI(AddCard_%,"add1") 5290IFadd_(2)PROCsI(AddCard_%,"add2") 5300IFadd_(3)PROCsI(AddCard_%,"add3") 5310IFadd_(4)PROCsI(AddCard_%,"add4") 5320ENDPROC 5360DEFFNadd_:c_=0:FORh_=1TO4:IFadd_(h_)c_=c_+1 5370NEXT:=c_ 5380DEFFNadd1_:IFadd_(1)ANDFNadd_=1 add_(1)=TRUE:PROCsI(AddCard_%,"add1"):=TRUE 5390IFadd_(1)add_(1)=FALSEELSEadd_(1)=TRUE 5400=TRUE 5410DEFFNadd2_:IFadd_(2)ANDFNadd_=1 add_(2)=TRUE:PROCsI(AddCard_%,"add2"):=TRUE 5420IFadd_(2)add_(2)=FALSEELSEadd_(2)=TRUE 5430=TRUE 5440DEFFNadd3_:IFadd_(3)ANDFNadd_=1 add_(3)=TRUE:PROCsI(AddCard_%,"add3"):=TRUE 5450IFadd_(3)add_(3)=FALSEELSEadd_(3)=TRUE 5460=TRUE 5470DEFFNadd4_:IFadd_(4)ANDFNadd_=1 add_(4)=TRUE:PROCsI(AddCard_%,"add4"):=TRUE 5480IFadd_(4)add_(4)=FALSEELSEadd_(4)=TRUE 5490=TRUE 5500DEFFNAddmaxy_:PROCgetaddmax:PROCsCI(!(AddCard_%+12),20):=TRUE 5510DEFPROCgetaddmax:Addmaxy_=VAL($!Addmaxy_%):IFAddmaxy_<4 Addmaxy_=4 5530IFAddmaxy_>500 Addmaxy_=500 5540$!Addmaxy_%=STR$(Addmaxy_):PROCrI(AddCard_%,"Addmaxy"):ENDPROC 5550DEFFNAddminy_:PROCgetaddmax:PROCgetaddmin:PROCsCI(!(AddCard_%+12),20):=TRUE 5560DEFPROCgetaddmin:Addminy_=VAL($!Addminy_%):IFAddminy_<1 Addminy_=0 5580IFAddminy_>Addmaxy_-4 Addminy_=Addmaxy_-4 5590$!Addminy_%=STR$(Addminy_):PROCrI(AddCard_%,"Addminy"):ENDPROC 5630DEFFNAddcGo_:PROCGetTitles:dummy_=RND(-TIME):PROCwhatlines_:PROCwhatqual:PROCwhatequals:PROCcalcadd:PROCusI(AddCard_%,"AddcGo"):last_=3:quit_=FALSE:Clue_$="CardsAdd":started_%=TRUE:=FNsums 5690DEFPROCcalcadd:SYS"Hourglass_On":PROCgetaddmax:PROCgetaddmin:FORtr_%=1TO10:SYS"Hourglass_Percentage",tr_%/10*100:REPEAT:flag_=0:REPEAT:dif_%=Addmaxy_-Addminy_:wh_=RND(2):IFwh_=1THENdd_%=RND(dif_%):Na_%=Addminy_+dd_%:dd_%=RND(dif_%)-1:Nb_%=Addminy_+dd_% 5760IFwh_=2THENdd_%=RND(dif_%)-1:Na_%=Addminy_+dd_%:dd_%=RND(dif_%) 5770Nb_%=Addminy_+dd_%:UNTILNa_%>=Addminy_ANDNb_%>=Addminy_:IFtr_%>1THEN 5810FORe_%=1TOtr_%-1:IFNa_%=Na_%(e_%)ANDNb_%=Nb_%(e_%)flag_=1 5820NEXT 5830ENDIF:UNTILflag_=0:Na_%(tr_%)=Na_%:Nb_%(tr_%)=Nb_%:Nc_%(tr_%)=Na_%(tr_%)+Nb_%(tr_%):NEXT:SYS"Hourglass_Off":ENDPROC 5920DEFPROCTakeCards:TakeCard_%=FNfWS("TakeCards"):$!Takemaxy_%=STR$(Takemaxy_):PROCrI(TakeCard_%,"Takemaxy"):$!Takeminny_%=STR$(Takeminny_):PROCrI(TakeCard_%,"Takeminny"):IFLineType_(1)PROCsI(TakeCard_%,"LineType1") 5960IFLineType_(2)PROCsI(TakeCard_%,"LineType2") 5970IFLineType_(3)PROCsI(TakeCard_%,"LineType3") 5980IFEqEquals_PROCsI(TakeCard_%,"EqEquals") 5990IFEqSign_PROCsI(TakeCard_%,"EqSign") 6000IFsub_(1)PROCsI(TakeCard_%,"sub1") 6010IFsub_(2)PROCsI(TakeCard_%,"sub2") 6020IFsub_(3)PROCsI(TakeCard_%,"sub3") 6030IFsub_(4)PROCsI(TakeCard_%,"sub4") 6040IFsub_(5)PROCsI(TakeCard_%,"sub5") 6050IFsub_(6)PROCsI(TakeCard_%,"sub6") 6060ENDPROC 6100DEFFNsub_:c_=0:FORh_=1TO6:IFsub_(h_)c_=c_+1 6110NEXT:=c_ 6120DEFFNsub1_:IFsub_(1)ANDFNsub_=1 sub_(1)=TRUE:PROCsI(TakeCard_%,"sub1"):=TRUE 6130IFsub_(1)sub_(1)=FALSEELSEsub_(1)=TRUE 6140=TRUE 6150DEFFNsub2_:IFsub_(2)ANDFNsub_=1 sub_(2)=TRUE:PROCsI(TakeCard_%,"sub2"):=TRUE 6160IFsub_(2)=TRUEsub_(2)=FALSEELSEsub_(2)=TRUE 6170=TRUE 6180DEFFNsub3_:IFsub_(3)ANDFNsub_=1 sub_(3)=TRUE:PROCsI(TakeCard_%,"sub3"):=TRUE 6190IFsub_(3)=TRUEsub_(3)=FALSEELSEsub_(3)=TRUE 6200=TRUE 6210DEFFNsub4_:IFsub_(4)ANDFNsub_=1 sub_(4)=TRUE:PROCsI(TakeCard_%,"sub4"):=TRUE 6220IFsub_(4)=TRUEsub_(4)=FALSEELSEsub_(4)=TRUE 6230=TRUE 6240DEFFNsub5_:IFsub_(5)ANDFNsub_=1 sub_(5)=TRUE:PROCsI(TakeCard_%,"sub5"):=TRUE 6250IFsub_(5)=TRUEsub_(5)=FALSEELSEsub_(5)=TRUE 6260=TRUE 6270DEFFNsub6_:IFsub_(6)ANDFNsub_=1 sub_(6)=TRUE:PROCsI(TakeCard_%,"sub6"):=TRUE 6280IFsub_(6)sub_(6)=FALSEELSEsub_(6)=TRUE 6290=TRUE 6310DEFFNTakemaxy_:PROCgettakemax:PROCsCI(!(TakeCard_%+12),19):=TRUE 6320DEFPROCgettakemax:Takemaxy_=VAL($!Takemaxy_%):IFTakemaxy_<4 Takemaxy_=4 6330$!Takemaxy_%=STR$(Takemaxy_):PROCrI(TakeCard_%,"Takemaxy"):ENDPROC 6360DEFFNTakeminny_:PROCgettakemax:PROCgettakemin:PROCsCI(!(TakeCard_%+12),19):=TRUE 6380DEFPROCgettakemin:Takeminny_=VAL($!Takeminny_%):IFTakeminny_<0 Takeminny_=0 6400IFTakeminny_>Takemaxy_-4 Takeminny_=Takemaxy_-4 6410$!Takeminny_%=STR$(Takeminny_):PROCrI(TakeCard_%,"Takeminny"):ENDPROC 6460DEFFNTakecGo_:PROCGetTitles:dummy_=RND(-TIME):PROCwhatlines_:PROCwhatqual:PROCwhatequals:PROCcalctake:PROCusI(TakeCard_%,"TakecGo"):last_=3:quit_=FALSE:Clue_$="CardsTake":started_%=TRUE:=FNsums 6520DEFPROCcalctake:SYS"Hourglass_On":PROCgettakemax:PROCgettakemin:many_=10:FORtr_%=1TO10:REPEAT:flag_=0:SYS"Hourglass_Percentage",tr_%/10*100:REPEAT:REPEAT:Na_%=RND(Takemaxy_):UNTILNa_%>=Takeminny_:REPEAT:Nb_%=RND(Takemaxy_+1):Nb_%=Nb_%-1:UNTILNb_%>=Takeminny_:UNTILNa_%-Nb_%>-1 6600IFtr_%>1THEN 6610FORe_%=1TOtr_%-1:IFNa_%=Na_%(e_%)ANDNb_%=Nb_%(e_%)flag_=1 6620NEXT 6630ENDIF:UNTILflag_=0:Na_%(tr_%)=Na_%:Nb_%(tr_%)=Nb_%:Nc_%(tr_%)=Na_%(tr_%)-Nb_%(tr_%):NEXT:SYS"Hourglass_Off":ENDPROC 6730DEFPROCTimesCards:TimesCard_%=FNfWS("TimesCards"):IFtim_(1)PROCsI(TimesCard_%,"tim1") 6750IFtim_(2)PROCsI(TimesCard_%,"tim2") 6760IFtim_(3)PROCsI(TimesCard_%,"tim3") 6770IFtim_(4)PROCsI(TimesCard_%,"tim4") 6780IFtim_(5)PROCsI(TimesCard_%,"tim5") 6790IFtim_(6)PROCsI(TimesCard_%,"tim6") 6800IFtim_(7)PROCsI(TimesCard_%,"tim7") 6810IFtim_(8)PROCsI(TimesCard_%,"tim8") 6820IFtim_(9)PROCsI(TimesCard_%,"tim9") 6830IFLineType_(1)PROCsI(TimesCard_%,"LineType1") 6840IFLineType_(2)PROCsI(TimesCard_%,"LineType2") 6850IFLineType_(3)PROCsI(TimesCard_%,"LineType3") 6860IFEqSign_PROCsI(TimesCard_%,"EqSign") 6870IFEqEquals_PROCsI(TimesCard_%,"EqEquals") 6880IFtimes_(1)PROCsI(TimesCard_%,"times1") 6890IFtimes_(2)PROCsI(TimesCard_%,"times2") 6900IFtimes_(3)PROCsI(TimesCard_%,"times3") 6910ENDPROC 6950DEFFNtim_:c_=0:FORh_=1TO9:IFtim_(h_)c_=c_+1 6960NEXT:=c_ 6970DEFFNtim1_:IFtim_(1)ANDFNtim_=1 tim_(1)=TRUE:PROCsI(TimesCard_%,"tim1"):=TRUE 6980IFtim_(1)tim_(1)=FALSEELSEtim_(1)=TRUE 6990=TRUE 7000DEFFNtim2_:IFtim_(2)ANDFNtim_=1 tim_(2)=TRUE:PROCsI(TimesCard_%,"tim2"):=TRUE 7010IFtim_(2)tim_(2)=FALSEELSEtim_(2)=TRUE 7020=TRUE 7030DEFFNtim3_:IFtim_(3)ANDFNtim_=1 tim_(3)=TRUE:PROCsI(TimesCard_%,"tim3"):=TRUE 7040IFtim_(3)tim_(3)=FALSEELSEtim_(3)=TRUE 7050=TRUE 7060DEFFNtim4_:IFtim_(4)ANDFNtim_=1 tim_(4)=TRUE:PROCsI(TimesCard_%,"tim4"):=TRUE 7070IFtim_(4)tim_(4)=FALSEELSEtim_(4)=TRUE 7080=TRUE 7090DEFFNtim5_:IFtim_(5)ANDFNtim_=1 tim_(5)=TRUE:PROCsI(TimesCard_%,"tim5"):=TRUE 7100IFtim_(5)tim_(5)=FALSEELSEtim_(5)=TRUE 7110=TRUE 7120DEFFNtim6_:IFtim_(6)ANDFNtim_=1 tim_(6)=TRUE:PROCsI(TimesCard_%,"tim6"):=TRUE 7130IFtim_(6)tim_(6)=FALSEELSEtim_(6)=TRUE 7140=TRUE 7150DEFFNtim7_:IFtim_(7)ANDFNtim_=1 tim_(7)=TRUE:PROCsI(TimesCard_%,"tim7"):=TRUE 7160IFtim_(7)tim_(7)=FALSEELSEtim_(7)=TRUE 7170=TRUE 7180DEFFNtim8_:IFtim_(8)ANDFNtim_=1 tim_(8)=TRUE:PROCsI(TimesCard_%,"tim8"):=TRUE 7190IFtim_(8)tim_(8)=FALSEELSEtim_(8)=TRUE 7200=TRUE 7210DEFFNtim9_:IFtim_(9)ANDFNtim_=1 tim_(9)=TRUE:PROCsI(TimesCard_%,"tim9"):=TRUE 7220IFtim_(9)tim_(9)=FALSEELSEtim_(9)=TRUE 7230=TRUE 7250DEFFNtimes1_:IFtimes_(1)ANDtimes_(2)+times_(3)=FALSEtimes_(1)=TRUE:PROCsI(TimesCard_%,"times1"):=TRUE 7260IFtimes_(1)times_(1)=FALSEELSEtimes_(1)=TRUE 7270=TRUE 7280DEFFNtimes2_:IFtimes_(2)ANDtimes_(1)+times_(3)=FALSEtimes_(2)=TRUE:PROCsI(TimesCard_%,"times2"):=TRUE 7290IFtimes_(2)=TRUEtimes_(2)=FALSEELSEtimes_(2)=TRUE 7300=TRUE 7310DEFFNtimes3_:IFtimes_(3)ANDtimes_(1)+times_(2)=FALSEtimes_(3)=TRUE:PROCsI(TimesCard_%,"times3"):=TRUE 7320IFtimes_(3)=TRUEtimes_(3)=FALSEELSEtimes_(3)=TRUE 7330=TRUE 7370DEFFNTimescGo_:PROCGetTitles:dummy_=RND(-TIME):PROCwhatlines_:PROCwhatqual:PROCwhatequals:PROCwhattimes:PROCcalctimes:last_=3:quit_=FALSE:Clue_$="CardsTimes":started_%=TRUE:PROCusI(TimesCard_%,"TimescGo"):=FNsums 7440DEFPROCwhattimes:SYS"Hourglass_On":got_%=0:FORr_%=1TO9:IFtim_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=r_% 7460NEXT:IFgot_%=1PROConetimes:SYS"Hourglass_Off":ENDPROC 7480IFgot_%>4PROCtimes(got_%,10):FORr_=1TO10:Nb_%(r_)=VAL(tim_$(finder_%(r_))):NEXT:SYS"Hourglass_Off":ENDPROC 7490needed_%=10DIVgot_%:FORr_=1TO10:gc_%(r_)=0:NEXT:got_%=0:FORr_%=1TO9:IFtim_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=r_% 7520NEXT:REPEAT:flag_=TRUE:FORr_=1TO10:finder_%(r_)=0:NEXT:FORr_=1TO10:SYS"Hourglass_Percentage",r_/10*100:REPEAT:flig_=TRUE:ran_%=RND(got_%):IFr_>1ANDVAL(tim_$(gc_%(ran_%)))=Nb_%(r_-1)flig_=FALSE 7600UNTILflig_=TRUE:Nb_%(r_)=VAL(tim_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 7630NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 7650DEFPROConetimes:FORr_%=1TO9:IFtim_(r_%)=TRUETHENFORtr_%=1TO10:Nb_%(tr_%)=VAL(tim_$(r_%)):NEXT 7680NEXT:ENDPROC 7700DEFPROCtimes(git_%,top_%):FORr_=1TOtop_%:finder_%(r_)=0:NEXT:FORh_=1TOgit_%:REPEAT:tf_=TRUE:h_%=gc_%(RND(git_%)):FORj_=1TOh_:IFfinder_%(j_)=h_% tf_=FALSE 7770NEXT:UNTILtf_=TRUE:finder_%(h_)=h_%:NEXT:k_=git_%+1:FORh_=k_TOtop_%:REPEAT:tf_=TRUE:REPEAT:h_%=gc_%(RND(git_%)):UNTILh_%<>finder_%(h_-1):IFh_>k_THEN 7860FORj_=k_TOh_:IFfinder_%(j_)=h_% tf_=FALSE 7880NEXT 7890ENDIF:UNTILtf_=TRUE:finder_%(h_)=h_%:NEXT:ENDPROC 7950DEFPROCcalctimes:SYS"Hourglass_On":FORtr_%=1TO10:SYS"Hourglass_Percentage",tr_%/10*100:REPEAT:flag_=0:Na_%=RND(10):Nb_%=Nb_%(tr_%):IFtr_%>1THEN 8020FORe_%=1TOtr_%-1:IFNa_%=Na_%(e_%)ANDNb_%=Nb_%(e_%)flag_=1 8030NEXT 8040ENDIF:UNTILflag_=0:Na_%(tr_%)=Na_%:Nb_%(tr_%)=Nb_%:Nc_%(tr_%)=Na_%(tr_%)*Nb_%(tr_%):NEXT:SYS"Hourglass_Off":ENDPROC 8130DEFPROCDivCards:DivCard_%=FNfWS("DivCards"):IFdiv_(1)=TRUEPROCsI(DivCard_%,"div1") 8150IFdiv_(2)=TRUEPROCsI(DivCard_%,"div2") 8160IFdiv_(3)=TRUEPROCsI(DivCard_%,"div3") 8170IFdiv_(4)=TRUEPROCsI(DivCard_%,"div4") 8180IFdiv_(5)=TRUEPROCsI(DivCard_%,"div5") 8190IFdiv_(6)=TRUEPROCsI(DivCard_%,"div6") 8200IFdiv_(7)=TRUEPROCsI(DivCard_%,"div7") 8210IFdiv_(8)=TRUEPROCsI(DivCard_%,"div8") 8220IFdiv_(9)=TRUEPROCsI(DivCard_%,"div9") 8230IFLineType_(1)=TRUEPROCsI(DivCard_%,"LineType1") 8240IFLineType_(2)=TRUEPROCsI(DivCard_%,"LineType2") 8250IFLineType_(3)=TRUEPROCsI(DivCard_%,"LineType3") 8260IFEqSign_=TRUEPROCsI(DivCard_%,"EqSign") 8270IFEqEquals_=TRUEPROCsI(DivCard_%,"EqEquals") 8280IFdive_(1)=TRUEPROCsI(DivCard_%,"dive1") 8290IFdive_(2)=TRUEPROCsI(DivCard_%,"dive2") 8300IFdive_(3)=TRUEPROCsI(DivCard_%,"dive3") 8310ENDPROC 8350DEFFNdiv_:c_=0:FORh_=1TO9:IFdiv_(h_)c_=c_+1 8360NEXT:=c_ 8370DEFFNdiv1_:IFdiv_(1)ANDFNdiv_=1 div_(1)=TRUE:PROCsI(DivCard_%,"div1"):=TRUE 8380IFdiv_(1)div_(1)=FALSEELSEdiv_(1)=TRUE 8390=TRUE 8400DEFFNdiv2_:IFdiv_(2)ANDFNdiv_=1 div_(2)=TRUE:PROCsI(DivCard_%,"div2"):=TRUE 8410IFdiv_(2)div_(2)=FALSEELSEdiv_(2)=TRUE 8420=TRUE 8430DEFFNdiv3_:IFdiv_(3)ANDFNdiv_=1 div_(3)=TRUE:PROCsI(DivCard_%,"div3"):=TRUE 8440IFdiv_(3)div_(3)=FALSEELSEdiv_(3)=TRUE 8450=TRUE 8460DEFFNdiv4_:IFdiv_(4)ANDFNdiv_=1 div_(4)=TRUE:PROCsI(DivCard_%,"div4"):=TRUE 8470IFdiv_(4)div_(4)=FALSEELSEdiv_(4)=TRUE 8480=TRUE 8490DEFFNdiv5_:IFdiv_(5)ANDFNdiv_=1 div_(5)=TRUE:PROCsI(DivCard_%,"div5"):=TRUE 8500IFdiv_(5)div_(5)=FALSEELSEdiv_(5)=TRUE 8510=TRUE 8520DEFFNdiv6_:IFdiv_(6)ANDFNdiv_=1 div_(6)=TRUE:PROCsI(DivCard_%,"div6"):=TRUE 8530IFdiv_(6)div_(6)=FALSEELSEdiv_(6)=TRUE 8540=TRUE 8550DEFFNdiv7_:IFdiv_(7)ANDFNdiv_=1 div_(7)=TRUE:PROCsI(DivCard_%,"div7"):=TRUE 8560IFdiv_(7)div_(7)=FALSEELSEdiv_(7)=TRUE 8570=TRUE 8580DEFFNdiv8_:IFdiv_(8)ANDFNdiv_=1 div_(8)=TRUE:PROCsI(DivCard_%,"div8"):=TRUE 8590IFdiv_(8)div_(8)=FALSEELSEdiv_(8)=TRUE 8600=TRUE 8610DEFFNdiv9_:IFdiv_(9)ANDFNdiv_=1 div_(9)=TRUE:PROCsI(DivCard_%,"div9"):=TRUE 8620IFdiv_(9)div_(9)=FALSEELSEdiv_(9)=TRUE 8630=TRUE 8650DEFFNdive1_:IFdive_(1)ANDdive_(2)+dive_(3)=FALSEdive_(1)=TRUE:PROCsI(DivCard_%,"dive1"):=TRUE 8660IFdive_(1)=TRUEdive_(1)=FALSEELSEdive_(1)=TRUE:PROCsI(DivCard_%,"dive1") 8670=TRUE 8680DEFFNdive2_:IFdive_(2)=TRUEANDdive_(1)+dive_(3)=FALSEdive_(2)=TRUE:PROCsI(DivCard_%,"dive2"):=TRUE 8690IFdive_(2)=TRUEdive_(2)=FALSEELSEdive_(2)=TRUE:PROCsI(DivCard_%,"dive2") 8700=TRUE 8710DEFFNdive3_:IFdive_(3)=TRUEANDdive_(1)+dive_(2)=FALSEdive_(3)=TRUE:PROCsI(DivCard_%,"dive3"):=TRUE 8720IFdive_(3)=TRUEdive_(3)=FALSEELSEdive_(3)=TRUE:PROCsI(DivCard_%,"dive3") 8730=TRUE 8770DEFFNDivcGo_:PROCGetTitles:dummy_=RND(-TIME):PROCwhatlines_:PROCwhatqual:PROCwhatequals:PROCwhatdiv:PROCcalcdiv:last_=3:quit_=FALSE:Clue_$="CardsDiv":started_%=TRUE:PROCusI(DivCard_%,"DivcGo"):=FNsums 8840DEFPROCcalcdiv:SYS"Hourglass_On":FORtr_%=1TO10:REPEAT:flag_=0:SYS"Hourglass_Percentage",tr_%/10*100:Na_%=RND(10):Nb_%=Nb_%(tr_%):IFtr_%>1THEN 8910FORe_%=1TOtr_%-1:IFNa_%=Na_%(e_%)ANDNb_%=Nb_%(e_%)flag_=1 8920NEXT 8930ENDIF:UNTILflag_=0:tempa_(tr_%)=Na_%:NEXT:FORr_=1TO10:Na_%(r_)=tempa_(r_)*Nb_%(r_):Nc_%(r_)=tempa_(r_):NEXT:SYS"Hourglass_Off":ENDPROC 8980DEFPROCwhatdiv:SYS"Hourglass_On":got_%=0:FORr_%=1TO9:IFdiv_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=r_% 9000NEXT:IFgot_%=1PROConediv:SYS"Hourglass_Off":ENDPROC 9020IFgot_%>4PROCtimes(got_%,10):FORr_=1TO10:Nb_%(r_)=VAL(div_$(finder_%(r_))):NEXT:SYS"Hourglass_Off":ENDPROC 9030needed_%=10DIVgot_%:FORr_=1TO10:gc_%(r_)=0:NEXT:got_%=0:FORr_%=1TO9:IFdiv_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=r_% 9060NEXT:REPEAT:flag_=TRUE:FORr_=1TO10:finder_%(r_)=0:NEXT:FORr_=1TO10:SYS"Hourglass_Percentage",r_/10*100:ran_%=RND(got_%):Nb_%(r_)=VAL(div_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 9140NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 9160DEFPROConediv:FORr_%=1TO9:IFdiv_(r_%)=TRUETHENFORtr_%=1TO10:Nb_%(tr_%)=VAL(div_$(r_%)):NEXT 9180NEXT:ENDPROC 9240DEFPROCAdd:WAdd_%=FNfWS("Add"):IFaddy_(1)PROCsI(WAdd_%,"Add1") 9260IFaddy_(2)PROCsI(WAdd_%,"Add2") 9270IFaddy_(3)PROCsI(WAdd_%,"Add3") 9280IFaddy_(4)PROCsI(WAdd_%,"Add4") 9290IFaddy_(5)PROCsI(WAdd_%,"Add5") 9300IFaddy_(6)PROCsI(WAdd_%,"Add6") 9310IFaddcarry_(1)PROCsI(WAdd_%,"AddCarry1") 9320IFaddcarry_(2)PROCsI(WAdd_%,"AddCarry2") 9330IFaddcarry_(3)PROCsI(WAdd_%,"AddCarry3") 9340IFAnowts_%PROCsI(WAdd_%,"Anowts") 9350ENDPROC 9390DEFFNAnowts_:IFaddcarry_(2)Anowts_%=FALSE:PROCusI(WAdd_%,"Anowts"):=TRUE 9400IFAnowts_%=FALSEAnowts_%=TRUEELSEAnowts_%=FALSE 9410PROCAcz:=TRUE 9430DEFPROCAcz:IFaddy_(1)ANDFNaddy_=1 Anowts_%=FALSE:PROCusI(WAdd_%,"Anowts") 9440ENDPROC 9460DEFFNaddy_:c_=0:FORt_=1TO6:IFaddy_(t_)c_=c_+1 9470NEXT:=c_ 9480DEFFNAdd1_:IFaddy_(1)ANDFNaddy_=1 addy_(1)=TRUE:PROCsI(WAdd_%,"Add1"):=TRUE 9490IFaddy_(1)addy_(1)=FALSEELSEaddy_(1)=TRUE 9500PROCAcz:=TRUE 9510DEFFNAdd2_:IFaddy_(2)ANDFNaddy_=1 addy_(2)=TRUE:PROCsI(WAdd_%,"Add2"):=TRUE 9520IFaddy_(2)addy_(2)=FALSEELSEaddy_(2)=TRUE 9530PROCAcz:=TRUE 9540DEFFNAdd3_:IFaddy_(3)ANDFNaddy_=1 addy_(3)=TRUE:PROCsI(WAdd_%,"Add3"):=TRUE 9550IFaddy_(3)addy_(3)=FALSEELSEaddy_(3)=TRUE 9560PROCAcz:=TRUE 9570DEFFNAdd4_:IFaddy_(4)ANDFNaddy_=1 addy_(4)=TRUE:PROCsI(WAdd_%,"Add4"):=TRUE 9580IFaddy_(4)addy_(4)=FALSEELSEaddy_(4)=TRUE 9590PROCAcz:=TRUE 9600DEFFNAdd5_:IFaddy_(5)ANDFNaddy_=1 addy_(5)=TRUE:PROCsI(WAdd_%,"Add5"):=TRUE 9610IFaddy_(5)addy_(5)=FALSEELSEaddy_(5)=TRUE 9620PROCAcz:=TRUE 9630DEFFNAdd6_:IFaddy_(6)ANDFNaddy_=1 addy_(6)=TRUE:PROCsI(WAdd_%,"Add6"):=TRUE 9640IFaddy_(6)addy_(6)=FALSEELSEaddy_(6)=TRUE 9650PROCAcz:=TRUE 9670DEFFNAddCarry1_:IFaddcarry_(1)ANDaddcarry_(2)+addcarry_(3)=FALSEaddcarry_(1)=TRUE:PROCsI(WAdd_%,"AddCarry1"):=TRUE 9680IFaddcarry_(1)=FALSEaddcarry_(1)=TRUE:PROCsI(WAdd_%,"AddCarry1"):addcarry_(2)=FALSE:PROCusI(WAdd_%,"AddCarry2"):addcarry_(3)=FALSE:PROCusI(WAdd_%,"AddCarry3"):=TRUE 9690DEFFNAddCarry2_:IFaddcarry_(2)ANDaddcarry_(1)+addcarry_(3)=FALSEaddcarry_(2)=TRUE:PROCsI(WAdd_%,"AddCarry2"):=TRUE 9700IFaddcarry_(2)=FALSEaddcarry_(2)=TRUE:PROCsI(WAdd_%,"AddCarry2"):addcarry_(1)=FALSE:PROCusI(WAdd_%,"AddCarry1"):addcarry_(3)=FALSE:PROCusI(WAdd_%,"AddCarry3"):Anowts_%=FALSE:PROCusI(WAdd_%,"Anowts"):=TRUE 9710DEFFNAddCarry3_:IFaddcarry_(3)ANDaddcarry_(1)+addcarry_(2)=FALSEaddcarry_(3)=TRUE:PROCsI(WAdd_%,"AddCarry3"):=TRUE 9720IFaddcarry_(3)=FALSEaddcarry_(3)=TRUE:PROCsI(WAdd_%,"AddCarry3"):addcarry_(1)=FALSE:PROCusI(WAdd_%,"AddCarry1"):addcarry_(2)=FALSE:PROCusI(WAdd_%,"AddCarry2"):=TRUE 9730 9760DEFFNAddgo_:PROCGetTitles:many_=12:PROCwhatadds:PROCaddup:started_%=TRUE:PROCusI(WAdd_%,"Addgo"):SYS"Hourglass_Off":last_=3:quit_=FALSE:Clue_$="Add1a":=FNsums 9810DEFPROCwhatadds:got_%=0:FORr_=1TO6:IFaddy_(r_)got_%=got_%+1:addytype_(got_%)=r_:gc_%(got_%)=r_ 9830NEXT:IFgot_%=1FORr_=1TO12:lineaddy_(r_)=addytype_(got_%):NEXT:ENDPROC 9850IFgot_%=6PROCtimes(got_%,12):FORr_=1TO12:lineaddy_(r_)=gc_%(finder_%(r_)):NEXT:SYS"Hourglass_Off":ENDPROC 9860needed_%=12DIVgot_%:SYS"Hourglass_On":REPEAT:FORr_=1TO12:finder_%(r_)=0:NEXT:flag_=TRUE:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:REPEAT:flig_=TRUE:ran_%=RND(got_%):IFr_>1ANDgc_%(ran_%)=lineaddy_(r_-1)flig_=FALSE 9970UNTILflig_=TRUE:lineaddy_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 10000NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 10030DEFPROCaddup:dummy_=RND(-TIME):FORt_=1TO12:a_(t_)=-1:b_(t_)=-1:NEXT:SYS"Hourglass_On":FORt_=1TO12:IFlineaddy_(t_)=1 ran_%=9 10080IFlineaddy_(t_)=2 ran_%=99 10090IFlineaddy_(t_)=3 ran_%=999 10100IFlineaddy_(t_)=4 ran_%=9999 10110IFlineaddy_(t_)=5 ran_%=99999 10120IFlineaddy_(t_)=6 ran_%=999999 10130SYS"Hourglass_Percentage",t_/10*100:REPEAT:flag_=0:a_=RND(ran_%):b_=RND(ran_%):IFAnowts_%PROCAnoughts 10150IFaddcarry_(1)PROCnoaddcarry 10170IFaddcarry_(2)PROCalladdcarry 10180IFt_>1THEN 10190FORe_=1TOt_-1:IFa_=a_(e_)ANDb_=b_(e_)flag_=1 10200NEXT 10210ENDIF:UNTILflag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_+b_:NEXT:ENDPROC 10270DEFPROCAnoughts:n_=RND(2):IFn_=1THEN 10300v_$=STR$(a_):FORw_=2TOLEN(v_$):rr_=RND(4):IFrr_=1ORrr_=2ORrr_=3THENMID$(v_$,w_,1)="0" 10320NEXT:a_=VAL(v_$) 10330ENDIF:IFn_=2THEN 10350v_$=STR$(b_):FORw_=2TOLEN(v_$):rr_=RND(4):IFrr_=1ORrr_=2ORrr_=3THENMID$(v_$,w_,1)="0" 10370NEXT:b_=VAL(v_$) 10380ENDIF:ENDPROC 10400DEFPROCnoaddcarry:a_$=STR$(a_):b_$=STR$(b_):la_=LEN(a_$):lb_=LEN(b_$):z_=la_:IFlb_<la_ z_=lb_ 10420FORr_=z_TO1STEP-1:IFVAL(MID$(a_$,r_,1))+VAL(MID$(b_$,r_,1))>9 flag_=1 10440NEXT:ENDPROC 10460DEFPROCalladdcarry:a_$=STR$(a_):b_$=STR$(b_):la_=LEN(a_$):lb_=LEN(b_$):z_=la_:IFlb_>la_ z_=lb_ 10480FORr_=z_TO1STEP-1:IFVAL(MID$(a_$,r_,1))+VAL(MID$(b_$,r_,1))<10 flag_=1 10490NEXT:ENDPROC 10550DEFPROCsubtract:WSub_%=FNfWS("Subtract"):IFsubby_(1)PROCsI(WSub_%,"Take1") 10570IFsubby_(2)PROCsI(WSub_%,"Take2") 10580IFsubby_(3)PROCsI(WSub_%,"Take3") 10590IFsubby_(4)PROCsI(WSub_%,"Take4") 10600IFsubby_(5)PROCsI(WSub_%,"Take5") 10610IFsubby_(6)PROCsI(WSub_%,"Take6") 10620IFsubcarry_(1)PROCsI(WSub_%,"SubCarry1") 10630IFsubcarry_(2)PROCsI(WSub_%,"SubCarry2") 10640IFsubcarry_(3)PROCsI(WSub_%,"SubCarry3") 10650IFnowts_%PROCsI(WSub_%,"nowts") 10660ENDPROC 10700DEFFNsubby_:c_=0:FORm_=1TO6:IFsubby_(m_)=TRUEc_=c_+1 10710NEXT:=c_ 10720DEFFNTake1_:IFsubby_(1)ANDFNsubby_=1 subby_(1)=TRUE:PROCsI(WSub_%,"Take1"):PROCcz:=TRUE 10730IFsubby_(1)subby_(1)=FALSEELSEsubby_(1)=TRUE 10740PROCcz:=TRUE 10750DEFFNTake2_:IFsubby_(2)ANDFNsubby_=1 subby_(2)=TRUE:PROCsI(WSub_%,"Take2"):PROCcz:=TRUE 10760IFsubby_(2)subby_(2)=FALSEELSEsubby_(2)=TRUE 10770PROCcz:=TRUE 10780DEFFNTake3_:IFsubby_(3)ANDFNsubby_=1 subby_(3)=TRUE:PROCsI(WSub_%,"Take3"):PROCcz:=TRUE 10790IFsubby_(3)subby_(3)=FALSEELSEsubby_(3)=TRUE 10800PROCcz:=TRUE 10810DEFFNTake4_:IFsubby_(4)ANDFNsubby_=1 subby_(4)=TRUE:PROCsI(WSub_%,"Take4"):PROCcz:=TRUE 10820IFsubby_(4)subby_(4)=FALSEELSEsubby_(4)=TRUE 10830PROCcz:=TRUE 10840DEFFNTake5_:IFsubby_(5)ANDFNsubby_=1 subby_(5)=TRUE:PROCsI(WSub_%,"Take5"):PROCcz:=TRUE 10850IFsubby_(5)subby_(5)=FALSEELSEsubby_(5)=TRUE 10860PROCcz:=TRUE 10870DEFFNTake6_:IFsubby_(6)ANDFNsubby_=1 subby_(6)=TRUE:PROCsI(WSub_%,"Take6"):PROCcz:=TRUE 10880IFsubby_(6)subby_(6)=FALSEELSEsubby_(6)=TRUE 10890PROCcz:=TRUE 10910DEFFNSubCarry1_:IFsubcarry_(1)ANDsubcarry_(2)+subcarry_(3)=FALSEsubcarry_(1)=TRUE:PROCsI(WSub_%,"SubCarry1"):PROCcz:=TRUE 10920IFsubcarry_(1)=FALSEsubcarry_(1)=TRUE:PROCsI(WSub_%,"SubCarry1"):subcarry_(2)=FALSE:PROCusI(WSub_%,"SubCarry2"):subcarry_(3)=FALSE:PROCusI(WSub_%,"SubCarry3"):nowts_%=FALSE:PROCusI(WSub_%,"nowts"):PROCcz:=TRUE 10930DEFFNSubCarry2_:IFsubcarry_(2)ANDsubcarry_(1)+subcarry_(3)=FALSEsubcarry_(2)=TRUE:PROCsI(WSub_%,"SubCarry2"):PROCcz:=TRUE 10940IFsubcarry_(2)=FALSEsubcarry_(2)=TRUE:PROCsI(WSub_%,"SubCarry2"):subcarry_(1)=FALSE:PROCusI(WSub_%,"SubCarry1"):subcarry_(3)=FALSE:PROCusI(WSub_%,"SubCarry3"):PROCcz:=TRUE 10950DEFFNSubCarry3_:IFsubcarry_(3)ANDsubcarry_(2)+subcarry_(3)=FALSEsubcarry_(3)=TRUE:PROCsI(WSub_%,"SubCarry3"):PROCcz:=TRUE 10960IFsubcarry_(3)=FALSEsubcarry_(3)=TRUE:PROCsI(WSub_%,"SubCarry3"):subcarry_(1)=FALSE:PROCusI(WSub_%,"SubCarry1"):subcarry_(2)=FALSE:PROCusI(WSub_%,"SubCarry2"):PROCcz:=TRUE 10970 10980DEFFNnowts_:IFsubcarry_(1)nowts_%=FALSE:PROCusI(WSub_%,"nowts"):=FALSE 10990IFnowts_%=FALSEnowts_%=TRUE:PROCsI(WSub_%,"nowts")ELSEIFnowts_%=TRUEnowts_%=FALSE:PROCusI(WSub_%,"nowts") 11000PROCcz:=TRUE 11020DEFPROCcz:z_%=0:FORg_%=1TO6:IFsubby_(g_%)=TRUEz_%=z_%+1 11030NEXT:IFz_%=1ANDsubby_(1)=TRUEnowts_%=FALSE:PROCusI(WSub_%,"nowts"):subcarry_(1)=TRUE:PROCsI(WSub_%,"SubCarry1"):subcarry_(2)=FALSE:PROCusI(WSub_%,"SubCarry2"):subcarry_(3)=FALSE:PROCusI(WSub_%,"SubCarry3") 11040ENDPROC 11080DEFFNTakego_:PROCGetTitles:PROCwhattakes:PROCtakeup:last_=3:quit_=FALSE:Clue_$="Sub1a":started_%=TRUE:SYS"Hourglass_Off":PROCusI(WSub_%,"Takego"):=FNsums 11150DEFPROCwhattakes:got_%=0:FORr_=1TO6:IFsubby_(r_)got_%=got_%+1:subbytype_(got_%)=r_:gc_%(got_%)=r_ 11170NEXT:IFgot_%=1FORr_=1TO12:linesubby_(r_)=subbytype_(got_%):NEXT:ENDPROC 11190IFgot_%=6PROCtimes(got_%,12):FORr_=1TO12:linesubby_(r_)=gc_%(finder_%(r_)):NEXT:SYS"Hourglass_Off":ENDPROC 11200needed_%=12DIVgot_%:REPEAT:FORr_=1TO12:finder_%(r_)=0:NEXT:flag_=TRUE:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:REPEAT:flig_=TRUE:ran_%=RND(got_%):IFr_>1ANDgc_%(ran_%)=linesubby_(r_-1)flig_=FALSE 11300UNTILflig_=TRUE:linesubby_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 11330NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 11360DEFPROCtakeup:dummy_=RND(-TIME):FORt_=1TO12:a_(t_)=-1:b_(t_)=-1:NEXT:SYS"Hourglass_On":FORt_=1TO12:IFlinesubby_(t_)=1 ran_%=9 11410IFlinesubby_(t_)=2 ran_%=99 11420IFlinesubby_(t_)=3 ran_%=999 11430IFlinesubby_(t_)=4 ran_%=9999 11440IFlinesubby_(t_)=5 ran_%=99999 11450IFlinesubby_(t_)=6 ran_%=999999 11460SYS"Hourglass_Percentage",t_/10*100:REPEAT:flag_=0:REPEAT:a_=RND(ran_%):PROCnoughts:b_=RND(ran_%):UNTILa_>b_:IFsubcarry_(1)=TRUEPROCnosubcarry 11510IFsubcarry_(2)=TRUEPROCallsubcarry 11520IFt_>1THEN 11530FORe_=1TOt_-1:IFa_=a_(e_)ANDb_=b_(e_)flag_=1 11540NEXT 11550ENDIF:UNTILflag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_-b_:NEXT:ENDPROC 11610DEFPROCnosubcarry:a_$=STR$(a_):b_$=STR$(b_):FORr_=1TOLEN(a_$):PROCcheckvall:NEXT:ENDPROC 11650DEFPROCallsubcarry:a_$=STR$(a_):b_$=STR$(b_):zz_=LEN(a_$):FORr_=zz_TO1STEP-1:IFr_<>1PROCcheckval 11680NEXT:ENDPROC 11700DEFPROCcheckval:IFVAL(MID$(b_$,r_,1))<=VAL(MID$(a_$,r_,1))flag_=1 11710ENDPROC 11730DEFPROCcheckvall:IFVAL(MID$(a_$,r_,1))<=VAL(MID$(b_$,r_,1))flag_=1 11740ENDPROC 11760DEFPROCnoughts:IFnowts_%=FALSEENDPROC 11770v_$=STR$(a_):FORw_=2TOLEN(v_$):rr_=RND(4):IFrr_=1ORrr_=2ORrr_=3THENMID$(v_$,w_,1)="0" 11790NEXT:a_=VAL(v_$):ENDPROC 11850DEFPROCmultiply:WMult_%=FNfWS("Multiply"):IFmulty_(1)PROCsI(WMult_%,"Multy1") 11870IFmulty_(2)PROCsI(WMult_%,"Multy2") 11880IFmulty_(3)PROCsI(WMult_%,"Multy3") 11890IFmulty_(4)PROCsI(WMult_%,"Multy4") 11900IFmulty_(5)PROCsI(WMult_%,"Multy5") 11910IFmulty_(6)PROCsI(WMult_%,"Multy6") 11920IFmult_(1)PROCsI(WMult_%,"mult1") 11930IFmult_(2)PROCsI(WMult_%,"mult2") 11940IFmult_(3)PROCsI(WMult_%,"mult3") 11950IFmult_(4)PROCsI(WMult_%,"mult4") 11960IFmult_(5)PROCsI(WMult_%,"mult5") 11970IFmult_(6)PROCsI(WMult_%,"mult6") 11980IFmult_(7)PROCsI(WMult_%,"mult7") 11990IFmult_(8)PROCsI(WMult_%,"mult8") 12000IFmult_(9)PROCsI(WMult_%,"mult9") 12010IFMnowts_%PROCsI(WMult_%,"Mnowts") 12020ENDPROC 12060DEFFNMnowts_:IFMnowts_%=FALSEMnowts_%=TRUEELSEMnowts_%=FALSE 12070PROCMcz:=TRUE 12090DEFPROCMcz:IFmulty_(1)ANDFNmulty_=1 Mnowts_%=FALSE:PROCusI(WMult_%,"Mnowts") 12100ENDPROC 12120DEFFNmulty_:c_=0:FORm_=1TO6:IFmulty_(m_)=TRUEc_=c_+1 12130NEXT:=c_ 12140DEFFNMulty1_:IFmulty_(1)ANDFNmulty_=1 multy_(1)=TRUE:PROCsI(WMult_%,"Multy1"):=TRUE 12150IFmulty_(1)multy_(1)=FALSEELSEmulty_(1)=TRUE 12160PROCMcz:=TRUE 12170DEFFNMulty2_:IFmulty_(2)ANDFNmulty_=1 multy_(2)=TRUE:PROCsI(WMult_%,"Multy2"):=TRUE 12180IFmulty_(2)multy_(2)=FALSEELSEmulty_(2)=TRUE 12190PROCMcz:=TRUE 12200DEFFNMulty3_:IFmulty_(3)ANDFNmulty_=1 multy_(3)=TRUE:PROCsI(WMult_%,"Multy3"):=TRUE 12210IFmulty_(3)multy_(3)=FALSEELSEmulty_(3)=TRUE 12220PROCMcz:=TRUE 12230DEFFNMulty4_:IFmulty_(4)ANDFNmulty_=1 multy_(4)=TRUE:PROCsI(WMult_%,"Multy4"):=TRUE 12240IFmulty_(4)multy_(4)=FALSEELSEmulty_(4)=TRUE 12250PROCMcz:=TRUE 12260DEFFNMulty5_:IFmulty_(5)ANDFNmulty_=1 multy_(5)=TRUE:PROCsI(WMult_%,"Multy5"):=TRUE 12270IFmulty_(5)multy_(5)=FALSEELSEmulty_(5)=TRUE 12280PROCMcz:=TRUE 12290DEFFNMulty6_:IFmulty_(6)ANDFNmulty_=1 multy_(6)=TRUE:PROCsI(WMult_%,"Multy6"):=TRUE 12300IFmulty_(6)multy_(6)=FALSEELSEmulty_(6)=TRUE 12310PROCMcz:=TRUE 12320DEFFNmult_:c_=0:FORm_=1TO9:IFmult_(m_)=TRUEc_=c_+1 12330NEXT:=c_ 12340DEFFNmult1_:IFmult_(1)ANDFNmult_=1mult_(1)=TRUE:PROCsI(WMult_%,"mult1"):=TRUE 12350IFmult_(1)mult_(1)=FALSEELSEmult_(1)=TRUE 12360=TRUE 12370DEFFNmult2_:IFmult_(2)ANDFNmult_=1 mult_(2)=TRUE:PROCsI(WMult_%,"mult2"):=TRUE 12380IFmult_(2)mult_(2)=FALSEELSEmult_(2)=TRUE 12390=TRUE 12400DEFFNmult3_:IFmult_(3)ANDFNmult_=1 mult_(3)=TRUE:PROCsI(WMult_%,"mult3"):=TRUE 12410IFmult_(3)mult_(3)=FALSEELSEmult_(3)=TRUE 12420=TRUE 12430DEFFNmult4_:IFmult_(4)ANDFNmult_=1 mult_(4)=TRUE:PROCsI(WMult_%,"mult4"):=TRUE 12440IFmult_(4)mult_(4)=FALSEELSEmult_(4)=TRUE 12450=TRUE 12460DEFFNmult5_:IFmult_(5)ANDFNmult_=1 mult_(5)=TRUE:PROCsI(WMult_%,"mult5"):=TRUE 12470IFmult_(5)mult_(5)=FALSEELSEmult_(5)=TRUE 12480=TRUE 12490DEFFNmult6_:IFmult_(6)ANDFNmult_=1 mult_(6)=TRUE:PROCsI(WMult_%,"mult6"):=TRUE 12500IFmult_(6)mult_(6)=FALSEELSEmult_(6)=TRUE 12510=TRUE 12520DEFFNmult7_:IFmult_(7)ANDFNmult_=1 mult_(7)=TRUE:PROCsI(WMult_%,"mult7"):=TRUE 12530IFmult_(7)mult_(7)=FALSEELSEmult_(7)=TRUE 12540=TRUE 12550DEFFNmult8_:IFmult_(8)ANDFNmult_=1 mult_(8)=TRUE:PROCsI(WMult_%,"mult8"):=TRUE 12560IFmult_(8)mult_(8)=FALSEELSEmult_(8)=TRUE 12570=TRUE 12580DEFFNmult9_:IFmult_(9)ANDFNmult_=1 mult_(9)=TRUE:PROCsI(WMult_%,"mult9"):=TRUE 12590IFmult_(9)mult_(9)=FALSEELSEmult_(9)=TRUE 12600=TRUE 12640DEFFNMultygo_:PROCGetTitles:dummy_=RND(-TIME):PROCwhatmultlines:PROCwhatmult:PROCcalcmult:last_=3:quit_=FALSE:Clue_$="Multy":started_%=TRUE:PROCusI(WMult_%,"Multygo"):SYS"Hourglass_Off":=FNsums 12690DEFPROCwhatmultlines:got_%=0:FORr_=1TO6:IFmulty_(r_)got_%=got_%+1:multytype_(got_%)=r_:gc_%(got_%)=r_ 12710NEXT:IFgot_%=1FORr_=1TO12:linemulty_(r_)=multytype_(got_%):NEXT:ENDPROC 12730IFgot_%=6PROCtimes(got_%,12):FORr_=1TO12:linemulty_(r_)=gc_%(finder_%(r_)):NEXT:SYS"Hourglass_Off":ENDPROC 12740needed_%=12DIVgot_%:SYS"Hourglass_On":REPEAT:FORr_=1TO12:finder_%(r_)=0:NEXT:flag_=TRUE:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:REPEAT:flig_=TRUE:ran_%=RND(got_%):IFr_>1ANDgc_%(ran_%)=linemulty_(r_-1)flig_=FALSE 12840UNTILflig_=TRUE:linemulty_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 12870NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 12900DEFPROCcalcmult:IFFNmult_=1ANDFNmulty_=1ANDmulty_(1)many_=9ELSEmany_=12 12920SYS"Hourglass_On":FORt_=1TOmany_:IFlinemulty_(t_)=1 ran_%=9:rn_%=0 12950IFlinemulty_(t_)=2 ran_%=99:rn_%=9 12960IFlinemulty_(t_)=3 ran_%=999:rn_%=99 12970IFlinemulty_(t_)=4 ran_%=9999:rn_%=999 12980IFlinemulty_(t_)=5 ran_%=99999:rn_%=9999 12990IFlinemulty_(t_)=6 ran_%=999999:rn_%=99999 13000SYS"Hourglass_Percentage",t_/12*100:REPEAT:flag_=0:REPEAT:a_=RND(ran_%):UNTILa_>rn_%:b_=Nb_%(t_):IFt_>1THEN 13040FORe_=1TOt_-1:IFa_=a_(e_)ANDb_=b_(e_)flag_=1 13050NEXT 13060ENDIF:IFMnowts_%PROCMnoughts 13080UNTILflag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:NEXT:started_%=TRUE:SYS"Hourglass_Off":ENDPROC 13130DEFPROCMnoughts:v_$=STR$(a_):FORw_=2TOLEN(v_$):rr_=RND(4):IFrr_=1ORrr_=2ORrr_=3THENMID$(v_$,w_,1)="0" 13150NEXT:a_=VAL(v_$):ENDPROC 13170DEFPROConemult:FORr_%=1TO9:IFmult_(r_%)=TRUETHENFORtr_%=1TO12:Nb_%(tr_%)=VAL(mult_$(r_%)):NEXT 13180NEXT:ENDPROC 13200DEFPROCwhatmult:FORr_=1TO12:gc_%(r_)=0:NEXT:got_%=0:FORr_%=1TO9:IFmult_(r_%)=TRUEgot_%=got_%+1:gc_%(got_%)=r_% 13230NEXT:IFgot_%=1PROConemult:ENDPROC 13250IFgot_%>5PROCtimes(got_%,12):FORr_=1TO12:Nb_%(r_)=VAL(mult_$(finder_%(r_))):NEXT:ENDPROC 13260SYS"Hourglass_On":needed_%=12DIVgot_%:REPEAT:flag_=TRUE:FORr_=1TO12:finder_%(r_)=0:NEXT:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:ran_%=RND(got_%):Nb_%(r_)=VAL(mult_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:NEXT 13340FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 13350NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 13410DEFPROCDivide:WDiv_%=FNfWS("Divide"):IFdvy_(1)PROCsI(WDiv_%,"Divy1") 13440IFdvy_(2)PROCsI(WDiv_%,"Divy2") 13450IFdvy_(3)PROCsI(WDiv_%,"Divy3") 13460IFdvy_(4)PROCsI(WDiv_%,"Divy4") 13470IFdvy_(5)PROCsI(WDiv_%,"Divy5") 13480IFdv_(1)PROCsI(WDiv_%,"dv1") 13490IFdv_(2)PROCsI(WDiv_%,"dv2") 13500IFdv_(3)PROCsI(WDiv_%,"dv3") 13510IFdv_(4)PROCsI(WDiv_%,"dv4") 13520IFdv_(5)PROCsI(WDiv_%,"dv5") 13530IFdv_(6)PROCsI(WDiv_%,"dv6") 13540IFdv_(7)PROCsI(WDiv_%,"dv7") 13550IFdv_(8)PROCsI(WDiv_%,"dv8") 13560IFdv_(9)PROCsI(WDiv_%,"dv9") 13570IFDnowts_%PROCsI(WDiv_%,"Dnowts") 13580PROCremainders:ENDPROC 13620DEFFNDnowts_:IFDnowts_%=FALSEDnowts_%=TRUEELSEDnowts_%=FALSE 13630PROCDcz:=TRUE 13650DEFPROCDcz:IFdvy_(1)ANDFNdvy=1 Dnowts_%=FALSE:PROCusI(WDiv_%,"Dnowts") 13660ENDPROC 13680DEFPROCremainders:IFRemainder_$="No"PROCsI(WDiv_%,"Drem1"):PROCusI(WDiv_%,"Drem2"):PROCusI(WDiv_%,"Drem3") 13700IFRemainder_$="All"PROCsI(WDiv_%,"Drem2"):PROCusI(WDiv_%,"Drem1"):PROCusI(WDiv_%,"Drem3") 13710IFRemainder_$="Ran"PROCsI(WDiv_%,"Drem3"):PROCusI(WDiv_%,"Drem1"):PROCusI(WDiv_%,"Drem2") 13720ENDPROC 13740DEFFNDrem1_:Remainder_$="No":PROCremainders:=TRUE 13750DEFFNDrem2_:Remainder_$="All":PROCremainders:=TRUE 13760DEFFNDrem3_:Remainder_$="Ran":PROCremainders:=TRUE 13780DEFFNdvy:c_=0:FORh_=1TO5:IFdvy_(h_)=TRUEc_=c_+1 13790NEXT:=c_ 13800DEFFNDivy1_:IFdvy_(1)ANDFNdvy=1 dvy_(1)=TRUE:PROCsI(WDiv_%,"Divy1"):=TRUE 13820IFdvy_(1)dvy_(1)=FALSEELSEdvy_(1)=TRUE 13830PROCDcz:=TRUE 13840DEFFNDivy2_:IFdvy_(2)ANDFNdvy=1 dvy_(2)=TRUE:PROCsI(WDiv_%,"Divy2"):=TRUE 13860IFdvy_(2)dvy_(2)=FALSEELSEdvy_(2)=TRUE 13870PROCDcz:=TRUE 13880DEFFNDivy3_:IFdvy_(3)ANDFNdvy=1 dvy_(3)=TRUE:PROCsI(WDiv_%,"Divy3"):=TRUE 13900IFdvy_(3)dvy_(3)=FALSEELSEdvy_(3)=TRUE 13910PROCDcz:=TRUE 13920DEFFNDivy4_:IFdvy_(4)ANDFNdvy=1 dvy_(4)=TRUE:PROCsI(WDiv_%,"Divy4"):=TRUE 13940IFdvy_(4)dvy_(4)=FALSEELSEdvy_(4)=TRUE 13950PROCDcz:=TRUE 13960DEFFNDivy5_:IFdvy_(5)ANDFNdvy=1 dvy_(5)=TRUE:PROCsI(WDiv_%,"Divy5"):=TRUE 13980IFdvy_(5)dvy_(5)=FALSEELSEdvy_(5)=TRUE 13990PROCDcz:=TRUE 14000DEFFNdv:c_=0:FORh_=1TO9:IFdv_(h_)=TRUEc_=c_+1 14010NEXT:=c_ 14020DEFFNdv1_:IFdv_(1)ANDFNdv=1 dv_(1)=TRUE:PROCsI(WDiv_%,"dv1"):=TRUE 14040IFdv_(1)dv_(1)=FALSEELSEdv_(1)=TRUE 14050=TRUE 14060DEFFNdv2_:IFdv_(2)ANDFNdv=1 dv_(2)=TRUE:PROCsI(WDiv_%,"dv2"):=TRUE 14080IFdv_(2)dv_(2)=FALSEELSEdv_(2)=TRUE 14090=TRUE 14100DEFFNdv3_:IFdv_(3)ANDFNdv=1 dv_(3)=TRUE:PROCsI(WDiv_%,"dv3"):=TRUE 14120IFdv_(3)dv_(3)=FALSEELSEdv_(3)=TRUE 14130=TRUE 14140DEFFNdv4_:IFdv_(4)ANDFNdv=1 dv_(4)=TRUE:PROCsI(WDiv_%,"dv4"):=TRUE 14160IFdv_(4)dv_(4)=FALSEELSEdv_(4)=TRUE 14170=TRUE 14180DEFFNdv5_:IFdv_(5)ANDFNdv=1 dv_(5)=TRUE:PROCsI(WDiv_%,"dv5"):=TRUE 14200IFdv_(5)dv_(5)=FALSEELSEdv_(5)=TRUE 14210=TRUE 14220DEFFNdv6_:IFdv_(6)ANDFNdv=1 dv_(6)=TRUE:PROCsI(WDiv_%,"dv6"):=TRUE 14240IFdv_(6)dv_(6)=FALSEELSEdv_(6)=TRUE 14250=TRUE 14260DEFFNdv7_:IFdv_(7)ANDFNdv=1 dv_(7)=TRUE:PROCsI(WDiv_%,"dv7"):=TRUE 14280IFdv_(7)dv_(7)=FALSEELSEdv_(7)=TRUE 14290=TRUE 14300DEFFNdv8_:IFdv_(8)ANDFNdv=1 dv_(8)=TRUE:PROCsI(WDiv_%,"dv8"):=TRUE 14320IFdv_(8)dv_(8)=FALSEELSEdv_(8)=TRUE 14330=TRUE 14340DEFFNdv9_:IFdv_(9)ANDFNdv=1 dv_(9)=TRUE:PROCsI(WDiv_%,"dv9"):=TRUE 14360IFdv_(9)dv_(9)=FALSEELSEdv_(9)=TRUE 14370=TRUE 14410DEFFNDivyGo_:PROCGetTitles:dummy_=RND(-TIME):PROCwhatdivline:PROCwhatdivy:PROCcalcdivy:last_=3:quit_=FALSE:Clue_$="Divy":started_%=TRUE:SYS"Hourglass_Off":PROCusI(WDiv_%,"DivyGo"):=FNsums 14460DEFFNsums:IFFNgWx("Choices")THENn_=FNwindow("GrafIt"):n_=FNwindow("Choices"):=TRUEELSE=FNwindow("GrafIt") 14470 14480DEFPROConedvy:FORr_%=1TO9:IFdv_(r_%)THENFORtr_%=1TO12:Nb_%(tr_%)=VAL(dv_$(r_%)):NEXT 14490NEXT:ENDPROC 14510DEFPROCwhatdivy:FORr_=1TO12:gc_%(r_)=0:NEXT:got_%=0:FORr_%=1TO9:IFdv_(r_%)=TRUEgot_%=got_%+1:gc_%(got_%)=r_% 14530NEXT:IFgot_%=1PROConedvy:ENDPROC 14550IFgot_%>5PROCtimes(got_%,12):FORr_=1TO12:Nb_%(r_)=VAL(dv_$(finder_%(r_))):NEXT:ENDPROC 14560SYS"Hourglass_On":needed_%=12DIVgot_%:REPEAT:FORr_=1TO12:finder_%(r_)=0:NEXT:flag_=TRUE:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:REPEAT:flig_=TRUE:ran_%=RND(got_%):Nb_%=VAL(dv_$(gc_%(ran_%))):IFr_>1THEN 14620IFNb_%=Nb_%(r_-1)flig_=FALSE 14630ENDIF:UNTILflig_=TRUE:Nb_%(r_)=VAL(dv_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 14680NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 14700DEFPROCwhatdivline:got_%=0:FORr_=1TO5:IFdvy_(r_)got_%=got_%+1:gc_%(got_%)=r_ 14720NEXT:IFgot_%=1THENFORr_=1TO12:linedvy_(r_)=gc_%(got_%):NEXT:ENDPROC 14740needed_%=12DIVgot_%:REPEAT:flag_=TRUE:FORr_=1TO12:REPEAT:flig_=TRUE:ran_%=RND(got_%):linedvy_=gc_%(ran_%):IFr_>1THEN 14790IFlinedvy_=linedvy_(r_-1)flig_=FALSE 14800ENDIF:UNTILflig_=TRUE:linedvy_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORtr_=1TOgot_%:IFfinder_%(tr_)<needed_% flag_=FALSE 14850NEXT:UNTILflag_=TRUE:ENDPROC 14890DEFPROCDnoughts:v_$=STR$(a_):FORw_=2TOLEN(v_$):rr_=RND(4):IFrr_=1ORrr_=2ORrr_=3THENMID$(v_$,w_,1)="0" 14910NEXT:a_=VAL(v_$):ENDPROC 14930DEFPROCcalcdivy:many_=12:tr_=FALSE:IFFNdvy=1ANDFNdv=1ANDdvy_(1)ANDRemainder_$="No" tr_=TRUE 14950IFtr_ANDdv_(7)ORtr_ANDdv_(8)ORtr_ANDdv_(9)many_=9 14960SYS"Hourglass_On":FORt_=1TOmany_:IFlinedvy_(t_)=1 ran_%=99:rn_%=9 14980IFlinedvy_(t_)=2 ran_%=999:rn_%=99 14990IFlinedvy_(t_)=3 ran_%=9999:rn_%=999 15000IFlinedvy_(t_)=4 ran_%=99999:rn_%=9999 15010IFlinedvy_(t_)=5 ran_%=999999:rn_%=99999 15020SYS"Hourglass_Percentage",t_/12*100:REPEAT:flag_=0:IFRemainder_$="No"THEN 15050REPEAT:a_=RND(ran_%):b_=Nb_%(t_):IFDnowts_%PROCDnoughts 15070UNTILa_MODb_=0ANDa_>rn_% 15080ENDIF:IFRemainder_$="All"PROCremp 15100IFRemainder_$="Ran"THEN 15110randy_=RND(2):IFrandy_=1THEN 15130REPEAT:a_=RND(ran_%):b_=Nb_%(t_):IFDnowts_%PROCDnoughts 15150UNTILa_MODb_=0ANDa_>rn_% 15160ENDIF:IFrandy_=2PROCremp 15180ENDIF:IFt_>1THEN 15210FORe_=1TOt_-1:IFa_=a_(e_)ANDb_=b_(e_)flag_=1 15220NEXT 15230ENDIF:UNTILflag_=0:a_(t_)=a_:b_(t_)=b_:IFa_MODb_<>0 c_(t_)=a_DIVb_:rem_(t_)=a_MODb_ELSEc_(t_)=a_/b_:rem_(t_)=0 15270NEXT:started_%=TRUE:SYS"Hourglass_Off":ENDPROC 15290DEFPROCremp:REPEAT:remflag=TRUE:a_=RND(ran_%):b_=Nb_%(t_):IFDnowts_%PROCDnoughts 15330c_=a_/b_:poin_=0:c_$=STR$(c_):FORcc_=1TOLEN(c_$):IFMID$(c_$,cc_,1)="." poin_=cc_ 15360NEXT:cz_$=MID$(c_$,poin_+1,LEN(c_$)-poin_+1):IFLEN(cz_$)>pwon_ANDMID$(cz_$,pwon_,1)="9"ANDVAL(MID$(cz_$,pwon_+1,1))>4 remflag=FALSE 15390UNTILa_MODb_<>0ANDa_>rn_%ANDremflag=TRUE:IFLEN(cz_$)>pwon_ANDVAL(MID$(cz_$,pwon_+1,1))>4THEN 15420d_=VAL(MID$(cz_$,pwon_,1)):d_=d_+1:d_$=STR$(d_):MID$(cz_$,pwon_,1)=d_$ 15440ENDIF:IFLEN(cz_$)<pwon_ cz_$=cz_$+STRING$(pwon_-LEN(cz_$),"0") 15470cz_$(t_)=MID$(cz_$,1,pwon_):ENDPROC 15540DEFPROCMagic:Magic_%=FNfWS("Magic"):IFMagRange_$="1 to 25"PROCsI(Magic_%,"Range1") 15560IFMagRange_$="25 to 50"PROCsI(Magic_%,"Range2") 15570IFMagRange_$="50 to 100"PROCsI(Magic_%,"Range3") 15580IFMagRange_$="100 to 1000"PROCsI(Magic_%,"Range4") 15590ENDPROC 15630DEFFNRange1_:IFMagRange_$="1 to 25"PROCsI(Magic_%,"Range1"):=TRUE 15640MagRange_$="1 to 25":PROCusI(Magic_%,"Range2"):PROCusI(Magic_%,"Range3"):PROCusI(Magic_%,"Range4"):=TRUE 15670DEFFNRange2_:IFMagRange_$="25 to 50"PROCsI(Magic_%,"Range2"):=TRUE 15680MagRange_$="25 to 50":PROCusI(Magic_%,"Range1"):PROCusI(Magic_%,"Range3"):PROCusI(Magic_%,"Range4"):=TRUE 15710DEFFNRange3_:IFMagRange_$="50 to 100"PROCsI(Magic_%,"Range3"):=TRUE 15720MagRange_$="50 to 100":PROCusI(Magic_%,"Range1"):PROCusI(Magic_%,"Range2"):PROCusI(Magic_%,"Range4"):=TRUE 15750DEFFNRange4_:IFMagRange_$="100 to 1000"PROCsI(Magic_%,"Range4"):=TRUE 15760MagRange_$="100 to 1000":PROCusI(Magic_%,"Range1"):PROCusI(Magic_%,"Range2"):PROCusI(Magic_%,"Range3"):=TRUE 15820DEFFNMag1_:Mag_=FALSE:PROCusI(Magic_%,"Mag1"):last_=3:quit_=FALSE:Clue_$="Magic":started_%=TRUE:=FNsums 15870DEFPROCMag1:dummy_=RND(-TIME):IFMag_=FALSEPROCprepare 15890left_=X%+60:startleft_=left_:origleft_=left_:on_=90:down_=Y%-140:origdown_=down_:startdown_=down_:side_=75:s_=0:number_=0:FORqq_=1TO3:FORww_=1TO3:number_=number_+1:MOVEleft_-40,down_:PRINTSTR$(number_)+")":t_=0:PROCboxes:down_=startdown_ 15980startleft_=startleft_+side_*3+on_:left_=startleft_:NEXT:startleft_=origleft_:left_=startleft_:startdown_=startdown_-side_*3-on_+70:down_=startdown_:NEXT:Mag_=TRUE:ENDPROC 16060DEFPROCboxes:s_=s_+1:FORq_=1TO3:FORw_=1TO3:t_=t_+1:MOVEleft_,down_:DRAWleft_+side_,down_:DRAWleft_+side_,down_-side_:DRAWleft_,down_-side_:DRAWleft_,down_:ins_=8:a_$=STR$(magic_(s_,t_)):IFAnswer_%=TRUEPROCmagicans 16150IFMID$(pat_$(pattern_(s_)),t_,1)="1"MOVEleft_+side_/2-LEN(a_$)/2*16,down_-side_/2+12:PRINTFNzero(a_$) 16160left_=left_+side_:NEXT:left_=startleft_:down_=down_-side_:NEXT:ENDPROC 16200DEFPROCmagicans:IFMID$(pat_$(pattern_(s_)),t_,1)="0"MOVEleft_+ins_,down_-ins_:DRAWleft_+side_-ins_,down_-ins_:DRAWleft_+side_-ins_,down_-side_+ins_:DRAWleft_+ins_,down_-side_+ins_:DRAWleft_+ins_,down_-ins_ 16220IFMID$(pat_$(pattern_(s_)),t_,1)="0"MOVEleft_+side_/2-LEN(a_$)/2*16,down_-side_/2+12:PRINTFNzero(a_$) 16230ENDPROC 16250DEFPROCprepare:pat_$(1)="001011001":pat_$(2)="001010110":pat_$(3)="110100100":pat_$(4)="000010111":pat_$(5)="111000100":pat_$(6)="100010101":bas_$(1)="294753618":bas_$(2)="816357492":bas_$(3)="492357816" 16290bas_$(4)="618753294":bas_$(5)="294753618":bas_$(6)="816357492":bas_$(7)="492357816":bas_$(8)="618753294":bas_$(9)="294753618":FORf_=1TO9:pattern_(f_)=-1:NEXT:FORf_=1TO9:REPEAT:flag_=0:pattern_=RND(6):IFf_>1ANDf_<7THEN 16370FORj_=1TOf_:IFpattern_(j_)=pattern_ flag_=1 16380NEXT 16390ENDIF:UNTILflag_=0:pattern_(f_)=pattern_:NEXT:IFMagRange_$="1 to 25"THENtoprange_=25:botrange_=0 16440IFMagRange_$="25 to 50"THENtoprange_=50:botrange_=24 16450IFMagRange_$="50 to 100"THENtoprange_=100:botrange_=49 16460IFMagRange_$="100 to 1000"THENtoprange_=1000:botrange_=99 16470FORf_=1TO9:baa_(f_)=-1:NEXT:FORf_=1TO9:REPEAT:flag_=0:REPEAT:baa_=RND(toprange_)-9:UNTILbaa_>botrange_:FORj_=1TO9:IFbaa_(j_)=baa_ flag_=1 16550NEXT:UNTILflag_=0:baa_(f_)=baa_:NEXT:FORq_=1TO9:n_=0:FORw_=1TO9:n_=n_+1:FORy_=1TO9:bas_(y_)=VAL(MID$(bas_$(q_),y_,1))+baa_(q_)-1:NEXT:magic_(q_,w_)=bas_(n_):NEXT:NEXT:ENDPROC 16730DEFPROCSadd:Sad_%=FNfWS("Sadd"):IFf_(1)PROCsI(Sad_%,"F1")ELSEPROCusI(Sad_%,"F1") 16750IFf_(2)PROCsI(Sad_%,"F2")ELSEPROCusI(Sad_%,"F2") 16760IFf_(3)PROCsI(Sad_%,"F3")ELSEPROCusI(Sad_%,"F3") 16770IFf_(4)PROCsI(Sad_%,"F4")ELSEPROCusI(Sad_%,"F4") 16780IFf_(5)PROCsI(Sad_%,"F5")ELSEPROCusI(Sad_%,"F5") 16790IFf_(6)PROCsI(Sad_%,"F6")ELSEPROCusI(Sad_%,"F6") 16800IFf_(7)PROCsI(Sad_%,"F7")ELSEPROCusI(Sad_%,"F7") 16810IFf_(8)PROCsI(Sad_%,"F8")ELSEPROCusI(Sad_%,"F8") 16820IFf_(9)PROCsI(Sad_%,"F9")ELSEPROCusI(Sad_%,"F9") 16830IFf_(10)PROCsI(Sad_%,"F10")ELSEPROCusI(Sad_%,"F10") 16840IFf_(11)PROCsI(Sad_%,"F11")ELSEPROCusI(Sad_%,"F11") 16850IFf_(12)PROCsI(Sad_%,"F12")ELSEPROCusI(Sad_%,"F12") 16860IFSadcarry_(1)PROCsI(Sad_%,"SadCarry1")ELSEPROCusI(Sad_%,"SadCarry1") 16870IFSadcarry_(2)PROCsI(Sad_%,"SadCarry2")ELSEPROCusI(Sad_%,"SadCarry2") 16880IFSadcarry_(3)PROCsI(Sad_%,"SadCarry3")ELSEPROCusI(Sad_%,"SadCarry3") 16890IFFracadd_PROCsI(Sad_%,"Fracadd")ELSEPROCusI(Sad_%,"Fracadd") 16900IFFractake_PROCsI(Sad_%,"Fractake")ELSEPROCusI(Sad_%,"Fractake") 16910IFaddoms_PROCsI(Sad_%,"addoms")ELSEPROCusI(Sad_%,"addoms") 16920IFAddReps_PROCsI(Sad_%,"AddReps")ELSEPROCusI(Sad_%,"AddReps") 16930IFsubdoms_PROCsI(Sad_%,"subdoms")ELSEPROCusI(Sad_%,"subdoms") 16940IFSubReps_PROCsI(Sad_%,"SubReps")ELSEPROCusI(Sad_%,"SubReps") 16950ENDPROC 16990DEFFNFracadd_:IFFractake_=FALSETHENPROCsI(Sad_%,"Fracadd"):=FALSE 17000IFFracadd_THEN 17010Fracadd_=FALSE:PROCusI(Sad_%,"Fracadd"):addoms_=FALSE:PROCusI(Sad_%,"addoms"):Sadcarry_(1)=FALSE:PROCusI(Sad_%,"SadCarry1"):Sadcarry_(2)=FALSE:PROCusI(Sad_%,"SadCarry2"):Sadcarry_(3)=FALSE:PROCusI(Sad_%,"SadCarry3"):AddReps_=FALSE:PROCusI(Sad_%,"AddReps") 17070ELSE:Fracadd_=TRUE:PROCsI(Sad_%,"Fracadd"):addoms_=FALSE:PROCusI(Sad_%,"addoms"):Sadcarry_(1)=FALSE:PROCusI(Sad_%,"SadCarry1"):Sadcarry_(2)=FALSE:PROCusI(Sad_%,"SadCarry2"):Sadcarry_(3)=TRUE:PROCsI(Sad_%,"SadCarry3"):AddReps_=FALSE:PROCusI(Sad_%,"AddReps") 17140ENDIF:=TRUE 17170DEFFNFractake_:IFFracadd_=FALSETHENPROCsI(Sad_%,"Fractake"):=FALSE 17180IFFractake_THEN 17190Fractake_=FALSE:PROCusI(Sad_%,"Fractake") 17200ELSE:Fractake_=TRUE:PROCsI(Sad_%,"Fractake") 17220ENDIF:subdoms_=FALSE:PROCusI(Sad_%,"subdoms"):SubReps_=FALSE:PROCusI(Sad_%,"SubReps"):=TRUE 17270DEFFNaddoms_:IFFracadd_=FALSEaddoms_=FALSE:PROCusI(Sad_%,"addoms"):=FALSE 17280IFaddoms_=TRUEaddoms_=FALSE:PROCusI(Sad_%,"addoms")ELSEaddoms_=TRUE:PROCsI(Sad_%,"addoms") 17290=TRUE 17310DEFFNAddReps_:IFFracadd_=FALSEAddReps_=FALSE:PROCusI(Sad_%,"AddReps"):=FALSE 17320IFAddReps_=TRUEAddReps_=FALSE:PROCusI(Sad_%,"AddReps")ELSEAddReps_=TRUE:PROCsI(Sad_%,"AddReps") 17330=TRUE 17350DEFFNsubdoms_:IFFractake_=FALSEsubdoms_=FALSE:PROCusI(Sad_%,"subdoms"):=FALSE 17360IFsubdoms_=TRUEsubdoms_=FALSE:PROCusI(Sad_%,"subdoms")ELSEsubdoms_=TRUE:PROCsI(Sad_%,"subdoms") 17370=TRUE 17390DEFFNSubReps_:IFFractake_=FALSESubReps_=FALSE:PROCusI(Sad_%,"SubReps"):=TRUE 17400IFSubReps_=TRUESubReps_=FALSE:PROCusI(Sad_%,"SubReps")ELSESubReps_=TRUE:PROCsI(Sad_%,"SubReps") 17410=TRUE 17430DEFFNf_:c_=0:FORh_=1TO12:IFf_(h_)=TRUEc_=c_+1 17440NEXT:=c_ 17450DEFFNF1_:IFf_(1)=TRUEANDFNf_=1 f_(1)=TRUE:PROCsI(Sad_%,"F1"):=FALSE 17460IFf_(1)=TRUEf_(1)=FALSEELSEf_(1)=TRUE 17470=TRUE 17480DEFFNF2_:IFf_(2)=TRUEANDFNf_=1 f_(2)=TRUE:PROCsI(Sad_%,"F2"):=FALSE 17490IFf_(2)=TRUEf_(2)=FALSEELSEf_(2)=TRUE 17500=TRUE 17510DEFFNF3_:IFf_(3)=TRUEANDFNf_=1 f_(3)=TRUE:PROCsI(Sad_%,"F3"):=FALSE 17520IFf_(3)=TRUEf_(3)=FALSEELSEf_(3)=TRUE 17530=TRUE 17540DEFFNF4_:IFf_(4)=TRUEANDFNf_=1 f_(4)=TRUE:PROCsI(Sad_%,"F4"):=FALSE 17550IFf_(4)=TRUEf_(4)=FALSEELSEf_(4)=TRUE 17560=TRUE 17570DEFFNF5_:IFf_(5)=TRUEANDFNf_=1 f_(5)=TRUE:PROCsI(Sad_%,"F5"):=FALSE 17580IFf_(5)=TRUEf_(5)=FALSEELSEf_(5)=TRUE 17590=TRUE 17600DEFFNF6_:IFf_(6)=TRUEANDFNf_=1 f_(6)=TRUE:PROCsI(Sad_%,"F6"):=FALSE 17610IFf_(6)=TRUEf_(6)=FALSEELSEf_(6)=TRUE 17620=TRUE 17630DEFFNF7_:IFf_(7)=TRUEANDFNf_=1 f_(7)=TRUE:PROCsI(Sad_%,"F7"):=FALSE 17640IFf_(7)=TRUEf_(7)=FALSEELSEf_(7)=TRUE 17650=TRUE 17660DEFFNF8_:IFf_(8)=TRUEANDFNf_=1 f_(8)=TRUE:PROCsI(Sad_%,"F8"):=FALSE 17670IFf_(8)=TRUEf_(8)=FALSEELSEf_(8)=TRUE 17680=TRUE 17690DEFFNF9_:IFf_(9)=TRUEANDFNf_=1 f_(9)=TRUE:PROCsI(Sad_%,"F9"):=FALSE 17700IFf_(9)=TRUEf_(9)=FALSEELSEf_(9)=TRUE 17710=TRUE 17720DEFFNF10_:IFf_(10)=TRUEANDFNf_=1 f_(10)=TRUE:PROCsI(Sad_%,"F10"):=FALSE 17730IFf_(10)=TRUEf_(10)=FALSEELSEf_(10)=TRUE 17740=TRUE 17750DEFFNF11_:IFf_(11)=TRUEANDFNf_=1 f_(11)=TRUE:PROCsI(Sad_%,"F11"):=FALSE 17760IFf_(11)=TRUEf_(11)=FALSEELSEf_(11)=TRUE 17770=TRUE 17780DEFFNF12_:IFf_(12)=TRUEANDFNf_=1 f_(12)=TRUE:PROCsI(Sad_%,"F12"):=FALSE 17790IFf_(12)=TRUEf_(12)=FALSEELSEf_(12)=TRUE 17800=TRUE 17820DEFFNSadCarry1_:IFFracadd_=FALSESadcarry_(1)=FALSE:PROCusI(Sad_%,"SadCarry1"):=FALSE 17830IFSadcarry_(1)=TRUEANDSadcarry_(2)+Sadcarry_(3)=FALSESadcarry_(1)=TRUE:PROCsI(Sad_%,"SadCarry1"):=TRUE 17840IFSadcarry_(1)=FALSESadcarry_(1)=TRUE:PROCsI(Sad_%,"SadCarry1"):Sadcarry_(2)=FALSE:PROCusI(Sad_%,"SadCarry2"):Sadcarry_(3)=FALSE:PROCusI(Sad_%,"SadCarry3"):=TRUE 17850 17860DEFFNSadCarry2_:IFFracadd_=FALSESadcarry_(2)=FALSE:PROCusI(Sad_%,"SadCarry2"):=FALSE 17870IFSadcarry_(2)=TRUEANDSadcarry_(1)+Sadcarry_(3)=FALSESadcarry_(2)=TRUE:PROCsI(Sad_%,"SadCarry2"):=TRUE 17880IFSadcarry_(2)=FALSESadcarry_(2)=TRUE:PROCsI(Sad_%,"SadCarry2"):Sadcarry_(1)=FALSE:PROCusI(Sad_%,"SadCarry1"):Sadcarry_(3)=FALSE:PROCusI(Sad_%,"SadCarry3"):=TRUE 17890 17900DEFFNSadCarry3_:IFFracadd_=FALSESadcarry_(3)=FALSE:PROCusI(Sad_%,"SadCarry3"):=FALSE 17910IFSadcarry_(3)=TRUEANDSadcarry_(1)+Sadcarry_(2)=FALSESadcarry_(3)=TRUE:PROCsI(Sad_%,"SadCarry3"):=TRUE 17920IFSadcarry_(3)=FALSESadcarry_(3)=TRUE:PROCsI(Sad_%,"SadCarry3"):Sadcarry_(1)=FALSE:PROCusI(Sad_%,"SadCarry1"):Sadcarry_(2)=FALSE:PROCusI(Sad_%,"SadCarry2"):=TRUE 17930 17960DEFFNFracGo_:PROCGetTitles:dummy_=RND(-TIME):quit_=FALSE:TIME=0:last_=12:FORg_=1TO12:FORgg_=0TO2:Whole_(g_,gg_)=0:NEXT:NEXT:PROCwhatfracsign:PROCwhatfracs:PROCcalcfracs:Clue_$="Sad":started_%=TRUE:PROCusI(Sad_%,"FracGo"):=FNsums 18020DEFPROCwhatfracsign:IFFracadd_=TRUEANDFractake_=FALSEFORg_=1TO12:Fracsign_$(g_)="+":NEXT:ENDPROC 18040IFFractake_=TRUEANDFracadd_=FALSEFORg_=1TO12:Fracsign_$(g_)="-":NEXT:ENDPROC 18050start_=RND(2):IFstart_=1THEN 18070FORg_=1TO12:IFg_MOD2=0 Fracsign_$(g_)="+"ELSEFracsign_$(g_)="-" 18080NEXT 18090ELSE:FORg_=1TO12:IFg_MOD2=1 Fracsign_$(g_)="+"ELSEFracsign_$(g_)="-" 18110NEXT 18120ENDIF:ENDPROC 18140DEFPROCwhatfracs:FORr_=1TO12:gc_%(r_)=0:NEXT:got_%=0:FORr_%=1TO12:IFf_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=frac_(r_%) 18160NEXT:ENDPROC 18180DEFPROCfracadd:IFquit_=TRUEENDPROC 18190REPEAT:goodadd_=TRUE:IFgot_%=1 FD1_=gc_%(1)ELSEran_%=RND(got_%):FD1_=gc_%(ran_%) 18210IFaddoms_=TRUEFD2_=FD1_ 18230IFaddoms_=FALSETHEN 18240IFgot_%=1 FD2_=gc_%(1)ELSEran_%=RND(got_%):FD2_=gc_%(ran_%) 18250ENDIF:REPEAT:flug_=0:REPEAT:FU1_=RND(FD1_):UNTILFU1_<FD1_:FORrt_=2TO10:IFFU1_MODrt_=0ANDFD1_MODrt_=0 flug_=1 18300NEXT:UNTILflug_=0:REPEAT:flug_=0:REPEAT:FU2_=RND(FD2_):UNTILFU2_<FD2_:FORrt_=2TO10:IFFU2_MODrt_=0ANDFD2_MODrt_=0 flug_=1 18350NEXT:UNTILflug_=0:IFSadcarry_(1)=TRUEANDFU2_/FD2_+FU1_/FD1_<1 goodadd_=FALSE 18380IFSadcarry_(2)=TRUEANDFU2_/FD2_+FU1_/FD1_>.9999 goodadd_=FALSE 18390IFr_>1ANDAddReps_=TRUETHEN 18400FORrtt_=1TOr_-1:IFFracsign_$(r_)="+"ANDFD1_=FD1_(rtt_)ANDFD2_=FD2_(rtt_)ANDFU1_=FU1_(rtt_)ANDFU2_=FU2_(rtt_)goodadd_=FALSE 18410NEXT 18420ENDIF:IFTIME>500 quit_=TRUE:VDU7:last_=r_-1:SYS"Hourglass_Off":ENDPROC 18440UNTILgoodadd_=TRUE:Fracsign_$(r_)="+":FD1_(r_)=FD1_:FD2_(r_)=FD2_:FU1_(r_)=FU1_:FU2_(r_)=FU2_:ENDPROC 18480DEFPROCfraktake:IFquit_=TRUEENDPROC 18490REPEAT:goodsub_=TRUE:IFgot_%=1 FD1_=gc_%(1)ELSEran_%=RND(got_%):FD1_=gc_%(ran_%) 18510IFsubdoms_=TRUEFD2_=FD1_ 18520IFsubdoms_=FALSETHEN 18530IFgot_%=1 FD2_=gc_%(1)ELSEran_%=RND(got_%):FD2_=gc_%(ran_%) 18540ENDIF:REPEAT:flug_=0:REPEAT:FU1_=RND(FD1_):UNTILFU1_<FD1_:FORrt_=2TO10:IFFU1_MODrt_=0ANDFD1_MODrt_=0 flug_=1 18580NEXT:UNTILflug_=0:REPEAT:flug_=0:REPEAT:FU2_=RND(FD2_):UNTILFU2_<FD2_:FORrt_=2TO10:IFFU2_MODrt_=0ANDFD2_MODrt_=0 flug_=1 18620NEXT:UNTILflug_=0:IFr_>1ANDSubReps_=TRUETHEN 18640FORrtt_=1TOr_-1:IFFracsign_$(r_)="-"ANDFD1_=FD1_(rtt_)ANDFD2_=FD2_(rtt_)ANDFU1_=FU1_(rtt_)ANDFU2_=FU2_(rtt_)goodsub_=FALSE 18650NEXT 18660ENDIF:IFFU1_/FD1_<FU2_/FD2_ goodsub_=FALSE 18680IFTIME>500 quit_=TRUE:last_=r_-1:VDU7:SYS"Hourglass_Off":ENDPROC 18690UNTILgoodsub_=TRUE:Fracsign_$(r_)="-":FD1_(r_)=FD1_:FD2_(r_)=FD2_:FU1_(r_)=FU1_:FU2_(r_)=FU2_:ENDPROC 18730DEFPROCcalcfracs:SYS"Hourglass_On":FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:IFquit_=TRUESYS"Hourglass_Off":ENDPROC 18760IFFracsign_$(r_)="+"PROCfracaddELSEPROCfraktake 18770IFquit_=TRUEr_=12 18780NEXT:FORr_=1TOlast_:a_=FU1_(r_):b_=FD1_(r_):c_=FU2_(r_):d_=FD2_(r_):IFb_=d_THEN 18840IFFracsign_$(r_)="+" f_=b_:f_$=STR$(f_):e_=a_+c_:e_$=STR$(e_) 18850IFFracsign_$(r_)="-" f_=b_:f_$=STR$(f_):e_=a_-c_:e_$=STR$(e_) 18860ELSE:x_=0:REPEAT:x_=x_+1:UNTILx_MODb_=0ANDx_MODd_=0:f_=x_:f_$=STR$(f_):IFFracsign_$(r_)="+" e_=f_/b_*a_+f_/d_*c_ 18900IFFracsign_$(r_)="-" e_=f_/b_*a_-f_/d_*c_ 18910ENDIF:whole_=0:IFe_>=f_ANDe_>0ANDf_>0 whole_=e_DIVf_:e_=e_MODf_ 18940Whole_(r_,2)=Whole_(r_,0)+Whole_(r_,1):Whole_(r_,2)=Whole_(r_,2)+whole_:IFe_<>0PROCreduce 18970FU3_(r_)=e_:FD3_(r_)=f_:NEXT:SYS"Hourglass_Off":ENDPROC 19050DEFPROCWadd:Wad_%=FNfWS("Wadd"):IFwf_(1)PROCsI(Wad_%,"WF1") 19070IFwf_(2)PROCsI(Wad_%,"WF2") 19080IFwf_(3)PROCsI(Wad_%,"WF3") 19090IFwf_(4)PROCsI(Wad_%,"WF4") 19100IFwf_(5)PROCsI(Wad_%,"WF5") 19110IFwf_(6)PROCsI(Wad_%,"WF6") 19120IFwf_(7)PROCsI(Wad_%,"WF7") 19130IFwf_(8)PROCsI(Wad_%,"WF8") 19140IFwf_(9)PROCsI(Wad_%,"WF9") 19150IFwf_(10)PROCsI(Wad_%,"WF10") 19160IFwf_(11)PROCsI(Wad_%,"WF11") 19170IFwf_(12)PROCsI(Wad_%,"WF12") 19180IFWSadcarry_(1)PROCsI(Wad_%,"WSadCarry1") 19190IFWSadcarry_(2)PROCsI(Wad_%,"WSadCarry2") 19200IFWSadcarry_(3)PROCsI(Wad_%,"WSadCarry3") 19210IFWFracadd_PROCsI(Wad_%,"WFracadd") 19220IFWFractake_PROCsI(Wad_%,"WFractake") 19230IFWaddoms_PROCsI(Wad_%,"Waddoms") 19240IFWAddReps_PROCsI(Wad_%,"WAddReps") 19250IFWsubdoms_PROCsI(Wad_%,"Wsubdoms") 19260IFWSubReps_PROCsI(Wad_%,"WSubReps") 19270IFWSTakecar_(1)PROCsI(Wad_%,"WSTakeCar1") 19280IFWSTakecar_(2)PROCsI(Wad_%,"WSTakeCar2") 19290IFWSTakecar_(3)PROCsI(Wad_%,"WSTakeCar3") 19300ENDPROC 19340DEFFNWFracadd_:IFWFractake_=FALSETHENPROCsI(Wad_%,"WFracadd"):=FALSE 19350IFWFracadd_=TRUETHEN 19360WFracadd_=FALSE:PROCusI(Wad_%,"WFracadd"):Waddoms_=FALSE:PROCusI(Wad_%,"Waddoms"):WSadcarry_(1)=FALSE:PROCusI(Wad_%,"WSadCarry1"):WSadcarry_(2)=FALSE:PROCusI(Wad_%,"WSadCarry2"):WSadcarry_(3)=FALSE:PROCusI(Wad_%,"WSadCarry3"):WAddReps_=FALSE:PROCusI(Wad_%,"WAddReps") 19420ELSE:WFracadd_=TRUE:PROCsI(Wad_%,"WFracadd"):Waddoms_=FALSE:PROCusI(Wad_%,"Waddoms"):WSadcarry_(1)=FALSE:PROCusI(Wad_%,"WSadCarry1"):WSadcarry_(2)=FALSE:PROCusI(Wad_%,"WSadCarry2"):WSadcarry_(3)=TRUE:PROCsI(Wad_%,"WSadCarry3"):WAddReps_=FALSE:PROCusI(Wad_%,"WAddReps") 19490ENDIF:=TRUE 19520DEFFNWFractake_:IFWFracadd_=FALSETHENPROCsI(Wad_%,"WFractake"):=FALSE 19530IFWFractake_THEN 19540WFractake_=FALSE:PROCusI(Wad_%,"WFractake"):WSTakecar_(1)=FALSE:WSTakecar_(2)=FALSE:WSTakecar_(3)=FALSE:PROCusI(Wad_%,"WSTakeCar1"):PROCusI(Wad_%,"WSTakeCar2"):PROCusI(Wad_%,"WSTakeCar3") 19570ELSE:WFractake_=TRUE:PROCsI(Wad_%,"WFractake"):WSTakecar_(3)=TRUE:PROCsI(Wad_%,"WSTakeCar3") 19600ENDIF:Wsubdoms_=FALSE:PROCusI(Wad_%,"Wsubdoms"):WSubReps_=FALSE:PROCusI(Wad_%,"WSubReps"):=TRUE 19650DEFFNWaddoms_:IFWFracadd_=FALSEWaddoms_=FALSE:PROCusI(Wad_%,"Waddoms"):=FALSE 19660IFWaddoms_ Waddoms_=FALSE:PROCusI(Wad_%,"Waddoms")ELSEWaddoms_=TRUE:PROCsI(Wad_%,"Waddoms") 19670=TRUE 19690DEFFNWAddReps_:IFWFracadd_=FALSEWAddReps_=FALSE:PROCusI(Wad_%,"WAddReps"):=FALSE 19700IFWAddReps_ WAddReps_=FALSE:PROCusI(Wad_%,"WAddReps")ELSEWAddReps_=TRUE:PROCsI(Wad_%,"WAddReps") 19710=TRUE 19730DEFFNWsubdoms_:IFWFractake_=FALSEWsubdoms_=FALSE:PROCusI(Wad_%,"Wsubdoms"):=FALSE 19740IFWsubdoms_ Wsubdoms_=FALSE:PROCusI(Wad_%,"Wsubdoms")ELSEWsubdoms_=TRUE:PROCsI(Wad_%,"Wsubdoms") 19750=TRUE 19770DEFFNWSubReps_:IFWFractake_=FALSEWSubReps_=FALSE:PROCusI(Wad_%,"WSubReps"):=TRUE 19780IFWSubReps_=TRUEWSubReps_=FALSE:PROCusI(Wad_%,"WSubReps")ELSEWSubReps_=TRUE:PROCsI(Wad_%,"WSubReps") 19790=TRUE 19810DEFFNWSadCarry1_:IFWFracadd_=FALSEWSadcarry_(1)=FALSE:PROCusI(Wad_%,"WSadCarry1"):=FALSE 19820IFWSadcarry_(1)ANDWSadcarry_(2)+WSadcarry_(3)=FALSEWSadcarry_(1)=TRUE:PROCsI(Wad_%,"WSadCarry1"):=TRUE 19830IFWSadcarry_(1)=FALSEWSadcarry_(1)=TRUE:PROCsI(Wad_%,"WSadCarry1"):WSadcarry_(2)=FALSE:PROCusI(Wad_%,"WSadCarry2"):WSadcarry_(3)=FALSE:PROCusI(Wad_%,"WSadCarry3"):=TRUE 19840 19850DEFFNWSadCarry2_:IFWFracadd_=FALSEWSadcarry_(2)=FALSE:PROCusI(Wad_%,"WSadCarry2"):=FALSE 19860IFWSadcarry_(2)ANDWSadcarry_(1)+WSadcarry_(3)=FALSEWSadcarry_(2)=TRUE:PROCsI(Wad_%,"WSadCarry2"):=TRUE 19870IFWSadcarry_(2)=FALSEWSadcarry_(2)=TRUE:PROCsI(Wad_%,"WSadCarry2"):WSadcarry_(1)=FALSE:PROCusI(Wad_%,"WSadCarry1"):WSadcarry_(3)=FALSE:PROCusI(Wad_%,"WSadCarry3"):=TRUE 19880 19890DEFFNWSadCarry3_:IFWFracadd_=FALSEWSadcarry_(3)=FALSE:PROCusI(Wad_%,"WSadCarry3"):=FALSE 19900IFWSadcarry_(3)=TRUEANDWSadcarry_(1)+WSadcarry_(2)=FALSEWSadcarry_(3)=TRUE:PROCsI(Wad_%,"WSadCarry3"):=TRUE 19910IFWSadcarry_(3)=FALSEWSadcarry_(3)=TRUE:PROCsI(Wad_%,"WSadCarry3"):WSadcarry_(1)=FALSE:PROCusI(Wad_%,"WSadCarry1"):WSadcarry_(2)=FALSE:PROCusI(Wad_%,"WSadCarry2"):=TRUE 19920 19930DEFFNWSTakeCar1_:IFWFractake_=FALSEWSTakecar_(1)=FALSE:PROCusI(Wad_%,"WSTakeCar1"):=FALSE 19950IFWSTakecar_(1)ANDWSTakecar_(2)+WSTakecar_(3)=FALSEWSTakecar_(1)=TRUE:PROCsI(Wad_%,"WSTakeCar1"):=FALSE 19960IFWSTakecar_(1)=FALSEWSTakecar_(1)=TRUE:PROCsI(Wad_%,"WSTakeCar"):WSTakecar_(2)=FALSE:PROCusI(Wad_%,"WSTakeCar2"):WSTakecar_(3)=FALSE:PROCusI(Wad_%,"WSTakeCar3")ELSEWSTakecar_(1)=FALSE:PROCusI(Wad_%,"WSTakeCar1") 19970=TRUE 19990DEFFNWSTakeCar2_:IFWFractake_=FALSEWSTakecar_(2)=FALSE:PROCusI(Wad_%,"WSTakeCar2"):=FALSE 20010IFWSTakecar_(2)=TRUEANDWSTakecar_(1)+WSTakecar_(3)=FALSEWSTakecar_(2)=TRUE:PROCsI(Wad_%,"WSTakeCar2"):=FALSE 20020IFWSTakecar_(2)=FALSEWSTakecar_(2)=TRUE:PROCsI(Wad_%,"WSTakeCar"):WSTakecar_(1)=FALSE:PROCusI(Wad_%,"WSTakeCar1"):WSTakecar_(3)=FALSE:PROCusI(Wad_%,"WSTakeCar3")ELSEWSTakecar_(2)=FALSE:PROCusI(Wad_%,"WSTakeCar2") 20030=TRUE 20050DEFFNWSTakeCar3_:IFWFractake_=FALSEWSTakecar_(3)=FALSE:PROCusI(Wad_%,"WSTakeCar3"):=FALSE 20070IFWSTakecar_(3)ANDWSTakecar_(1)+WSTakecar_(2)=FALSEWSTakecar_(3)=TRUE:PROCsI(Wad_%,"WSTakeCar3"):=FALSE 20080IFWSTakecar_(3)=FALSEWSTakecar_(3)=TRUE:PROCsI(Wad_%,"WSTakeCar"):WSTakecar_(1)=FALSE:PROCusI(Wad_%,"WSTakeCar2"):WSTakecar_(2)=FALSE:PROCusI(Wad_%,"WSTakeCar1")ELSEWSTakecar_(3)=FALSE:PROCusI(Wad_%,"WSTakeCar3") 20090=TRUE 20110DEFFNwf_:c_=0:FORh_=1TO12:IFwf_(h_)c_=c_+1 20120NEXT:=c_ 20130DEFFNWF1_:IFwf_(1)ANDFNwf_=1 wf_(1)=TRUE:PROCsI(Wad_%,"WF1"):=FALSE 20140IFwf_(1)wf_(1)=FALSEELSEwf_(1)=TRUE 20150=TRUE 20160DEFFNWF2_:IFwf_(2)ANDFNwf_=1 wf_(2)=TRUE:PROCsI(Wad_%,"WF2"):=FALSE 20170IFwf_(2)wf_(2)=FALSEELSEwf_(2)=TRUE 20180=TRUE 20190DEFFNWF3_:IFwf_(3)ANDFNwf_=1 wf_(3)=TRUE:PROCsI(Wad_%,"WF3"):=FALSE 20200IFwf_(3)wf_(3)=FALSEELSEwf_(3)=TRUE 20210=TRUE 20220DEFFNWF4_:IFwf_(4)ANDFNwf_=1 wf_(4)=TRUE:PROCsI(Wad_%,"WF4"):=FALSE 20230IFwf_(4)wf_(4)=FALSEELSEwf_(4)=TRUE 20240=TRUE 20250DEFFNWF5_:IFwf_(5)ANDFNwf_=1 wf_(5)=TRUE:PROCsI(Wad_%,"WF5"):=FALSE 20260IFwf_(5)wf_(5)=FALSEELSEwf_(5)=TRUE 20270=TRUE 20280DEFFNWF6_:IFwf_(6)ANDFNwf_=1 wf_(6)=TRUE:PROCsI(Wad_%,"WF6"):=FALSE 20290IFwf_(6)wf_(6)=FALSEELSEwf_(6)=TRUE 20300=TRUE 20310DEFFNWF7_:IFwf_(7)ANDFNwf_=1 wf_(7)=TRUE:PROCsI(Wad_%,"WF7"):=FALSE 20320IFwf_(7)wf_(7)=FALSEELSEwf_(7)=TRUE 20330=TRUE 20340DEFFNWF8_:IFwf_(8)ANDFNwf_=1 wf_(8)=TRUE:PROCsI(Wad_%,"WF8"):=FALSE 20350IFwf_(8)wf_(8)=FALSEELSEwf_(8)=TRUE 20360=TRUE 20370DEFFNWF9_:IFwf_(9)ANDFNwf_=1 wf_(9)=TRUE:PROCsI(Wad_%,"WF9"):=FALSE 20380IFwf_(9)wf_(9)=FALSEELSEwf_(9)=TRUE 20390=TRUE 20400DEFFNWF10_:IFwf_(10)ANDFNwf_=1 wf_(10)=TRUE:PROCsI(Wad_%,"WF10"):=FALSE 20410IFwf_(10)wf_(10)=FALSEELSEwf_(10)=TRUE 20420=TRUE 20430DEFFNWF11_:IFwf_(11)ANDFNwf_=1 wf_(11)=TRUE:PROCsI(Wad_%,"WF11"):=FALSE 20440IFwf_(11)wf_(11)=FALSEELSEwf_(11)=TRUE 20450=TRUE 20460DEFFNWF12_:IFwf_(12)ANDFNwf_=1 wf_(12)=TRUE:PROCsI(Wad_%,"WF12"):=FALSE 20470IFwf_(12)wf_(12)=FALSEELSEwf_(12)=TRUE 20480=TRUE 20520DEFFNWFracGo_:PROCGetTitles:dummy_=RND(-TIME):quit_=FALSE:TIME=0:last_=12:PROCwhatWfracsign:PROCwhatWfracs:PROCcalcWfracs:Clue_$="Wad":started_%=TRUE:PROCusI(Wad_%,"WFracGo"):=FNsums 20570DEFPROCwhatWfracsign:IFWFracadd_ANDWFractake_=FALSEFORg_=1TO12:Fracsign_$(g_)="+":NEXT:ENDPROC 20590IFWFractake_ANDWFracadd_=FALSEFORg_=1TO12:Fracsign_$(g_)="-":NEXT:ENDPROC 20600start_=RND(2):IFstart_=1THEN 20620FORg_=1TO12:IFg_MOD2=0 Fracsign_$(g_)="+"ELSEFracsign_$(g_)="-" 20630NEXT 20640ELSE:FORg_=1TO12:IFg_MOD2=1 Fracsign_$(g_)="+"ELSEFracsign_$(g_)="-" 20660NEXT 20670ENDIF:ENDPROC 20690DEFPROCwhatWfracs:got_%=0:FORr_%=1TO12:IFwf_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=frac_(r_%) 20710NEXT:ENDPROC 20730DEFPROCfracWadd:IFquit_=TRUEENDPROC 20740REPEAT:goodadd_=TRUE:REPEAT:WholeA_=RND(9):WholeB_=RND(9):UNTILWholeA_+WholeB_<8:IFgot_%=1 FD1_=gc_%(1)ELSEran_%=RND(got_%):FD1_=gc_%(ran_%) 20790IFWaddoms_=TRUEFD2_=FD1_ 20800IFWaddoms_=FALSETHEN 20820IFgot_%=1 FD2_=gc_%(1)ELSEran_%=RND(got_%):FD2_=gc_%(ran_%) 20830ENDIF:REPEAT:flug_=0:REPEAT:FU1_=RND(FD1_):UNTILFU1_<FD1_:FORrt_=2TO10:IFFU1_MODrt_=0ANDFD1_MODrt_=0 flug_=1 20880NEXT:UNTILflug_=0:REPEAT:flug_=0:REPEAT:FU2_=RND(FD2_):UNTILFU2_<FD2_:FORrt_=2TO10:IFFU2_MODrt_=0ANDFD2_MODrt_=0 flug_=1 20930NEXT:UNTILflug_=0:IFWSadcarry_(1)=TRUEANDFU2_/FD2_+FU1_/FD1_<1 goodadd_=FALSE 20960IFWSadcarry_(2)=TRUEANDFU2_/FD2_+FU1_/FD1_>.9999 goodadd_=FALSE 20980IFr_>1ANDWAddReps_=TRUETHEN 21000FORrtt_=1TOr_-1:IFFracsign_$(r_)="+"ANDFD1_=FD1_(rtt_)ANDFD2_=FD2_(rtt_)ANDFU1_=FU1_(rtt_)ANDFU2_=FU2_(rtt_)ANDWholeA_=Whole_(rtt_,0)ANDWholeB_=Whole_(rtt_,1)goodadd_=FALSE 21010NEXT 21020ENDIF:IFTIME>500 quit_=TRUE:VDU7:last_=r_-1:SYS"Hourglass_Off":ENDPROC 21040UNTILgoodadd_=TRUE:Fracsign_$(r_)="+":FD1_(r_)=FD1_:FD2_(r_)=FD2_:FU1_(r_)=FU1_:FU2_(r_)=FU2_:Whole_(r_,0)=WholeA_:Whole_(r_,1)=WholeB_:ENDPROC 21080DEFPROCfrakWtake:IFquit_=TRUEENDPROC 21090REPEAT:goodsub_=TRUE:REPEAT:WholeA_=RND(9):WholeB_=RND(9):UNTILWholeA_>WholeB_:IFgot_%=1 FD1_=gc_%(1)ELSEran_%=RND(got_%):FD1_=gc_%(ran_%) 21130IFWsubdoms_=TRUEFD2_=FD1_ 21140IFWsubdoms_=FALSETHEN 21160IFgot_%=1 FD2_=gc_%(1)ELSEran_%=RND(got_%):FD2_=gc_%(ran_%) 21170ENDIF:REPEAT:flug_=0:REPEAT:FU1_=RND(FD1_):UNTILFU1_<FD1_:FORrt_=2TO10:IFFU1_MODrt_=0ANDFD1_MODrt_=0 flug_=1 21220NEXT:UNTILflug_=0:REPEAT:flug_=0:REPEAT:FU2_=RND(FD2_):UNTILFU2_<FD2_:FORrt_=2TO10:IFFU2_MODrt_=0ANDFD2_MODrt_=0 flug_=1 21270NEXT:UNTILflug_=0:IFWSTakecar_(1)=TRUEANDFU1_/FD1_>=FU2_/FD2_ goodsub_=FALSE 21300IFWSTakecar_(2)=TRUEANDFU1_/FD1_<FU2_/FD2_ goodsub_=FALSE 21320IFr_>1ANDWSubReps_=TRUETHEN 21340FORrtt_=1TOr_-1:IFFracsign_$(r_)="-"ANDFD1_=FD1_(rtt_)ANDFD2_=FD2_(rtt_)ANDFU1_=FU1_(rtt_)ANDFU2_=FU2_(rtt_)ANDWholeA_=Whole_(rtt_,0)ANDWholeB_=Whole_(rtt_,1)goodsub_=FALSE 21350NEXT 21360ENDIF:IFTIME>500 quit_=TRUE:SYS"Hourglass_Off":VDU7:last_=r_-1:ENDPROC 21380UNTILgoodsub_=TRUE:Fracsign_$(r_)="-":FD1_(r_)=FD1_:FD2_(r_)=FD2_:FU1_(r_)=FU1_:FU2_(r_)=FU2_:Whole_(r_,0)=WholeA_:Whole_(r_,1)=WholeB_:ENDPROC 21440DEFFNesc(out_$):quit_=FALSE:=quit_:esc_$="Escape "+out_$:in_=INKEY.001:IFin_=27PROCmoan(esc_$):quit_=TRUE:SYS"Hourglass_Off" 21470=quit_ 21490DEFPROCcalcWfracs:SYS"Hourglass_On":FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:IFFracsign_$(r_)="+"PROCfracWaddELSEPROCfrakWtake 21520IFquit_=TRUEr_=12 21530NEXT:FORr_=1TOlast_:a_=FU1_(r_):b_=FD1_(r_):c_=FU2_(r_):d_=FD2_(r_):IFFracsign_$(r_)="+"PROCaddfracsELSEPROCtakefracs 21590NEXT:SYS"Hourglass_Off":ENDPROC 21620DEFPROCaddfracs:IFb_=d_THEN 21640f_=b_:e_=a_+c_ 21650ELSE:x_=0:REPEAT:x_=x_+1:UNTILx_MODb_=0ANDx_MODd_=0:f_=x_:e_=f_/b_*a_+f_/d_*c_ 21690ENDIF:whole_=0:IFe_>=f_ANDe_>0ANDf_>0 whole_=e_DIVf_:e_=e_MODf_ 21720Whole_(r_,2)=Whole_(r_,0)+Whole_(r_,1):Whole_(r_,2)=Whole_(r_,2)+whole_:IFe_<>0PROCreduce 21750FU3_(r_)=e_:FD3_(r_)=f_:ENDPROC 21780DEFPROCtakefracs:IFa_/b_<c_/d_THEN 21800IFb_=d_THEN 21810f_=b_:e_=a_-c_+b_ 21820ELSE:x_=0:REPEAT:x_=x_+1:UNTILx_MODb_=0ANDx_MODd_=0:f_=x_:e_=f_/b_*a_-f_/d_*c_+f_ 21860ENDIF 21870ENDIF:IFa_/b_>=c_/d_THEN 21900IFb_=d_THEN 21910f_=b_:e_=a_-c_ 21920ELSE:x_=0:REPEAT:x_=x_+1:UNTILx_MODb_=0ANDx_MODd_=0:f_=x_:e_=f_/b_*a_-f_/d_*c_ 21960ENDIF 21970ENDIF:Whole_(r_,2)=Whole_(r_,0)-Whole_(r_,1):IFe_<>0PROCreduce 22000FU3_(r_)=e_:FD3_(r_)=f_:IFa_/b_<c_/d_THENWhole_(r_,2)=Whole_(r_,2)-1 22020ENDPROC 22080DEFPROCFrMD:FrMD_%=FNfWS("FrMD"):IFFracmult_PROCsI(FrMD_%,"Fracmult") 22100IFFracdiv_PROCsI(FrMD_%,"Fracdiv") 22110IFFrtdom_PROCsI(FrMD_%,"Frtdom") 22120IFFrtrep_PROCsI(FrMD_%,"Frtrep") 22130IFFrddom_PROCsI(FrMD_%,"Frddom") 22140IFFrdrep_PROCsI(FrMD_%,"Frdrep") 22150IFmf_(1)PROCsI(FrMD_%,"MF1") 22160IFmf_(2)PROCsI(FrMD_%,"MF2") 22170IFmf_(3)PROCsI(FrMD_%,"MF3") 22180IFmf_(4)PROCsI(FrMD_%,"MF4") 22190IFmf_(5)PROCsI(FrMD_%,"MF5") 22200IFmf_(6)PROCsI(FrMD_%,"MF6") 22210IFmf_(7)PROCsI(FrMD_%,"MF7") 22220IFmf_(8)PROCsI(FrMD_%,"MF8") 22230IFmf_(9)PROCsI(FrMD_%,"MF9") 22240IFmf_(10)PROCsI(FrMD_%,"MF10") 22250IFmf_(11)PROCsI(FrMD_%,"MF11") 22260IFmf_(12)PROCsI(FrMD_%,"MF12") 22270IFFrmwhole_PROCsI(FrMD_%,"Frmwhole") 22280IFFrdwhole_PROCsI(FrMD_%,"Frdwhole") 22290ENDPROC 22330DEFFNmf_:c_=0:FORh_=1TO12:IFmf_(h_)c_=c_+1 22340NEXT:=c_ 22350DEFFNMF1_:IFmf_(1)ANDFNmf_=1 mf_(1)=TRUE:PROCsI(FrMD_%,"MF1"):=FALSE 22360IFmf_(1)=TRUEmf_(1)=FALSEELSEmf_(1)=TRUE 22370=TRUE 22380DEFFNMF2_:IFmf_(2)ANDFNmf_=1 mf_(2)=TRUE:PROCsI(FrMD_%,"MF2"):=FALSE 22390IFmf_(2)=TRUEmf_(2)=FALSEELSEmf_(2)=TRUE 22400=TRUE 22410DEFFNMF3_:IFmf_(3)ANDFNmf_=1 mf_(3)=TRUE:PROCsI(FrMD_%,"MF3"):=FALSE 22420IFmf_(3)=TRUEmf_(3)=FALSEELSEmf_(3)=TRUE 22430=TRUE 22440DEFFNMF4_:IFmf_(4)ANDFNmf_=1 mf_(4)=TRUE:PROCsI(FrMD_%,"MF4"):=FALSE 22450IFmf_(4)=TRUEmf_(4)=FALSEELSEmf_(4)=TRUE 22460=TRUE 22470DEFFNMF5_:IFmf_(5)ANDFNmf_=1 mf_(5)=TRUE:PROCsI(FrMD_%,"MF5"):=FALSE 22480IFmf_(5)=TRUEmf_(5)=FALSEELSEmf_(5)=TRUE 22490=TRUE 22500DEFFNMF6_:IFmf_(6)ANDFNmf_=1 mf_(6)=TRUE:PROCsI(FrMD_%,"MF6"):=FALSE 22510IFmf_(6)=TRUEmf_(6)=FALSEELSEmf_(6)=TRUE 22520=TRUE 22530DEFFNMF7_:IFmf_(7)ANDFNmf_=1 mf_(7)=TRUE:PROCsI(FrMD_%,"MF7"):=FALSE 22540IFmf_(7)=TRUEmf_(7)=FALSEELSEmf_(7)=TRUE 22550=TRUE 22560DEFFNMF8_:IFmf_(8)ANDFNmf_=1 mf_(8)=TRUE:PROCsI(FrMD_%,"MF8"):=FALSE 22570IFmf_(8)=TRUEmf_(8)=FALSEELSEmf_(8)=TRUE 22580=TRUE 22590DEFFNMF9_:IFmf_(9)ANDFNmf_=1 mf_(9)=TRUE:PROCsI(FrMD_%,"MF9"):=FALSE 22600IFmf_(9)=TRUEmf_(9)=FALSEELSEmf_(9)=TRUE 22610=TRUE 22620DEFFNMF10_:IFmf_(10)ANDFNmf_=1 mf_(10)=TRUE:PROCsI(FrMD_%,"MF10"):=FALSE 22630IFmf_(10)=TRUEmf_(10)=FALSEELSEmf_(10)=TRUE 22640=TRUE 22650DEFFNMF11_:IFmf_(11)ANDFNmf_=1 mf_(11)=TRUE:PROCsI(FrMD_%,"MF11"):=FALSE 22660IFmf_(11)=TRUEmf_(11)=FALSEELSEmf_(11)=TRUE 22670=TRUE 22680DEFFNMF12_:IFmf_(12)ANDFNmf_=1 mf_(12)=TRUE:PROCsI(FrMD_%,"MF12"):=FALSE 22690IFmf_(12)=TRUEmf_(12)=FALSEELSEmf_(12)=TRUE 22700=TRUE 22710DEFFNFracmult_:IFFracdiv_=FALSEFracmult_=TRUE:PROCsI(FrMD_%,"Fracmult"):=FALSE 22720IFFracmult_=TRUETHEN 22730Fracmult_=FALSE:PROCusI(FrMD_%,"Fracmult"):Frtdom_=FALSE:PROCusI(FrMD_%,"Frtdom"):Frtrep_=FALSE:PROCusI(FrMD_%,"Frtrep"):Frmwhole_=FALSE:PROCusI(FrMD_%,"Frmwhole") 22740ELSEFracmult_=TRUE:PROCsI(FrMD_%,"Fracmult") 22750ENDIF:=TRUE 22760DEFFNFrtdom_:IFFracmult_=FALSEFrtdom_=FALSE:PROCusI(FrMD_%,"Frtdom"):=FALSE 22770IFFrtdom_=TRUEFrtdom_=FALSE:PROCusI(FrMD_%,"Frtdom")ELSEFrtdom_=TRUE:PROCsI(FrMD_%,"Frtdom") 22780=TRUE 22790DEFFNFrtrep_:IFFracmult_=FALSEFrtrep_=FALSE:PROCusI(FrMD_%,"Frtrep"):=FALSE 22800IFFrtrep_=TRUEFrtrep_=FALSE:PROCusI(FrMD_%,"Frtrep")ELSEFrtrep_=TRUE:PROCsI(FrMD_%,"Frtrep") 22810=TRUE 22820DEFFNFracdiv_:IFFracmult_=FALSEFracdiv_=TRUE:PROCsI(FrMD_%,"Fracdiv"):=FALSE 22830IFFracdiv_=TRUETHEN 22840Fracdiv_=FALSE:PROCusI(FrMD_%,"Fracdiv"):Frddom_=FALSE:PROCusI(FrMD_%,"Frddom"):Frdrep_=FALSE:PROCusI(FrMD_%,"Frdrep"):Frdwhole_=FALSE:PROCusI(FrMD_%,"Frdwhole") 22850ELSEFracdiv_=TRUE:PROCsI(FrMD_%,"Fracdiv") 22860ENDIF:=TRUE 22870DEFFNFrddom_:IFFracdiv_=FALSEFrddom_=FALSE:PROCusI(FrMD_%,"Frddom"):=FALSE 22880IFFrddom_=TRUEFrddom_=FALSE:PROCusI(FrMD_%,"Frddom")ELSEFrddom_=TRUE:PROCsI(FrMD_%,"Frddom") 22890=TRUE 22900DEFFNFrdrep_:IFFracdiv_=FALSEFrdrep_=FALSE:PROCusI(FrMD_%,"Frdrep"):=FALSE 22910IFFrdrep_=TRUEFrdrep_=FALSE:PROCusI(FrMD_%,"Frdrep")ELSEFrdrep_=TRUE:PROCsI(FrMD_%,"Frdrep") 22920=TRUE 22930DEFFNFrmwhole_:IFFracmult_=FALSEFrmwhole_=FALSE:PROCusI(FrMD_%,"Frmwhole"):=FALSE 22940IFFrmwhole_=TRUEFrmwhole_=FALSE:PROCusI(FrMD_%,"Frmwhole")ELSEFrmwhole_=TRUE:PROCsI(FrMD_%,"Frmwhole") 22950=TRUE 22960DEFFNFrdwhole_:IFFracdiv_=FALSEFrdwhole_=FALSE:PROCusI(FrMD_%,"Frdwhole"):=FALSE 22970IFFrdwhole_=TRUEFrdwhole_=FALSE:PROCusI(FrMD_%,"Frdwhole")ELSEFrdwhole_=TRUE:PROCsI(FrMD_%,"Frmdwhole") 22980=TRUE 22990DEFFNFrMDgo_:PROCGetTitles:dummy_=RND(-TIME):quit_=FALSE:TIME=0:last_=12:quit_=FALSE:start_%=FALSE:FORr_%=1TO12:IFmf_(r_%)=TRUETHENstart_%=TRUE 23010NEXT:IFstart_%=FALSETHENqueer_$="Choose a denominator":V_$=FNalert(queer_$,"","OK","","",0):PROCusI(FrMD_%,"FrMDgo"):=FALSE 23030FORr_=1TO12:FORrr_=0TO2:Whole_(r_,rr_)=0:NEXT:NEXT:PROCwhatMfracsign:PROCwhatMfracs:PROCcalcMfracs:Clue_$="FrMD":started_%=TRUE:PROCusI(FrMD_%,"FrMDgo"):=FNsums 23050DEFPROCwhatMfracsign:IFFracmult_=TRUEANDFracdiv_=FALSETHENFORg_=1TO12:Fracsign_$(g_)="x":NEXT:ENDPROC 23060IFFracdiv_=TRUEANDFracmult_=FALSEFORg_=1TO12:Fracsign_$(g_)="�":NEXT:ENDPROC 23070start_=RND(2):IFstart_=1THEN 23090FORg_=1TO12:IFg_MOD2=0 Fracsign_$(g_)="x"ELSEFracsign_$(g_)="�" 23100NEXT 23110ELSE:FORg_=1TO12:IFg_MOD2=1 Fracsign_$(g_)="x"ELSEFracsign_$(g_)="�" 23130NEXT 23140ENDIF:ENDPROC 23160DEFPROCwhatMfracs:FORr_=1TO12:gc_%(r_)=0:NEXT:got_%=0:FORr_%=1TO12:IFmf_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=mfv_(r_%) 23170NEXT:ENDPROC 23180DEFPROCcalcMfracs:SYS"Hourglass_On":FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:PROCfractimes:NEXT:FORr_=1TOlast_:a_=FU1_(r_):b_=FD1_(r_):c_=FU2_(r_):d_=FD2_(r_):PROCtimesfracs:NEXT:SYS"Hourglass_Off":ENDPROC 23190DEFPROCfractimes:IFquit_=TRUEENDPROC 23200REPEAT:ranflag_=TRUE:IFTIME>500 quit_=TRUE:VDU7:last_=r_-1:SYS"Hourglass_Off":ENDPROC 23210IFFracsign_$(r_)="x"ANDFrmwhole_=TRUETHEN 23220REPEAT:Whole_(r_,0)=RND(9):Whole_(r_,1)=RND(9):UNTILWhole_(r_,0)*Whole_(r_,1)<10 23230ENDIF:IFFracsign_$(r_)="�"ANDFrdwhole_=TRUETHEN 23240Whole_(r_,0)=RND(9):Whole_(r_,1)=RND(9) 23250ENDIF:IFgot_%=1 FD1_(r_)=gc_%(1)ELSEran_%=RND(got_%):FD1_(r_)=gc_%(ran_%) 23260REPEAT:flug_=0:REPEAT:FU1_(r_)=RND(FD1_(r_)):UNTILFU1_(r_)<FD1_(r_):FORrt_=2TO10:IFFU1_(r_)MODrt_=0ANDFD1_(r_)MODrt_=0 flug_=1 23270NEXT:UNTILflug_=0:IFgot_%=1 FD2_(r_)=gc_%(1)ELSEIFFrtdom_=TRUEFD2_(r_)=FD1_(r_)ELSEran_%=RND(got_%):FD2_(r_)=gc_%(ran_%) 23280REPEAT:flug_=0:REPEAT:FU2_(r_)=RND(FD2_(r_)):UNTILFU2_(r_)<FD2_(r_):FORrt_=2TO10:IFFU2_(r_)MODrt_=0ANDFD2_(r_)MODrt_=0 flug_=1 23290NEXT:UNTILflug_=0:IFr_>1ANDFrtrep_=TRUETHEN 23300FORrtt_=1TOr_-1:IFFracsign_$(r_)="x"ANDFD1_(r_)=FD1_(rtt_)ANDFD2_(r_)=FD2_(rtt_)ANDFU1_(r_)=FU1_(rtt_)ANDFU2_(r_)=FU2_(rtt_)ANDWhole_(r_,0)=Whole_(rtt_,0)ANDWhole_(r_,1)=Whole_(rtt_,1)ranflag_=FALSE 23310NEXT 23320ENDIF:IFr_>1ANDFrdrep_=TRUETHEN 23330FORrtt_=1TOr_-1:IFFracsign_$(r_)="�"ANDFD1_(r_)=FD1_(rtt_)ANDFD2_(r_)=FD2_(rtt_)ANDFU1_(r_)=FU1_(rtt_)ANDFU2_(r_)=FU2_(rtt_)ANDWhole_(r_,0)=Whole_(rtt_,0)ANDWhole_(r_,1)=Whole_(rtt_,1)ranflag_=FALSE 23340NEXT 23350ENDIF:UNTILranflag_=TRUE:ENDPROC 23360DEFPROCtimesfracs:IFFrmwhole_=TRUEORFrdwhole_=TRUETHEN 23370a_=Whole_(r_,0)*b_+a_:c_=Whole_(r_,1)*d_+c_ 23380ENDIF:IFFracsign_$(r_)="x"THEN 23390e_=a_*c_:f_=b_*d_ 23400ELSE:e_=a_*d_:f_=b_*c_ 23410ENDIF:whole_=0:IFe_>=f_ whole_=e_DIVf_:e_=e_MODf_ 23420Whole_(r_,2)=whole_:IFe_<>0PROCreduce 23430FU3_(r_)=e_:FD3_(r_)=f_:ENDPROC 23440DEFPROCreduce:FORtr_=10TO2STEP-1:IFe_MODtr_=0ANDf_MODtr_=0 e_=e_/tr_:f_=f_/tr_:e_$=STR$(e_):f_$=STR$(f_) 23450NEXT:ENDPROC 23530DEFPROCLongMulty:LongMul_%=FNfWS("LongMul"):IFLongMul_(1)=TRUE:PROCsI(LongMul_%,"LongMul1") 23550IFLongMul_(2)=TRUE:PROCsI(LongMul_%,"LongMul2") 23560IFLongMul_(3)=TRUE:PROCsI(LongMul_%,"LongMul3") 23570IFLongMul_(4)=TRUE:PROCsI(LongMul_%,"LongMul4") 23580IFLongMul_(5)=TRUE:PROCsI(LongMul_%,"LongMul5") 23590IFLongMul_(6)=TRUE:PROCsI(LongMul_%,"LongMul6") 23600IFLongstyle_=1PROCsI(LongMul_%,"LongStyleA") 23610IFLongstyle_=2PROCsI(LongMul_%,"LongStyleB") 23620ENDPROC 23660DEFFNlongmul_:c_=0:FORh_=1TO6:IFLongMul_(h_)c_=c_+1 23670NEXT:=c_ 23680DEFFNLongMul1_:IFLongMul_(1)ANDFNlongmul_=1 LongMul_(1)=TRUE:PROCsI(LongMul_%,"LongMul1"):=FALSE 23690IFLongMul_(1)LongMul_(1)=FALSEELSELongMul_(1)=TRUE 23700=TRUE 23710DEFFNLongMul2_:IFLongMul_(2)ANDFNlongmul_=1 LongMul_(2)=TRUE:PROCsI(LongMul_%,"LongMul2"):=FALSE 23720IFLongMul_(2)LongMul_(2)=FALSEELSELongMul_(2)=TRUE 23730=TRUE 23740DEFFNLongMul3_:IFLongMul_(3)ANDFNlongmul_=1 LongMul_(3)=TRUE:PROCsI(LongMul_%,"LongMul3"):=FALSE 23750IFLongMul_(3)LongMul_(3)=FALSEELSELongMul_(3)=TRUE 23760=TRUE 23770DEFFNLongMul4_:IFLongMul_(4)ANDFNlongmul_=1 LongMul_(4)=TRUE:PROCsI(LongMul_%,"LongMul4"):=FALSE 23780IFLongMul_(4)LongMul_(4)=FALSEELSELongMul_(4)=TRUE 23790=TRUE 23800DEFFNLongMul5_:IFLongMul_(5)ANDFNlongmul_=1 LongMul_(5)=TRUE:PROCsI(LongMul_%,"LongMul5"):=FALSE 23810IFLongMul_(5)LongMul_(5)=FALSEELSELongMul_(5)=TRUE 23820=TRUE 23830DEFFNLongMul6_:IFLongMul_(6)ANDFNlongmul_=1 LongMul_(6)=TRUE:PROCsI(LongMul_%,"LongMul6"):=FALSE 23840IFLongMul_(6)LongMul_(6)=FALSEELSELongMul_(6)=TRUE 23850=TRUE 23870DEFFNLongStyleA_:Longstyle_=1:PROCsI(LongMul_%,"LongStyleA"):PROCusI(LongMul_%,"LongStyleB"):=TRUE 23890DEFFNLongStyleB_:Longstyle_=2:PROCsI(LongMul_%,"LongStyleB"):PROCusI(LongMul_%,"LongStyleA"):=TRUE 23940DEFFNLongMulgo_:PROCGetTitles:dummy_=RND(-TIME):flag_=FALSE:FORg_=1TO6:IFLongMul_(g_)=TRUEflag_=TRUE 23970NEXT:IFflag_=FALSETHENSYS"Hourglass_Off":V_$=FNalert("Choose a type","","OK","","",0):PROCusI(LongMul_%,"LongMulgo"):=FALSE 23980got_%=0:FORy_=1TO6:IFLongMul_(y_)=TRUEgot_%=got_%+1:gc_%(got_%)=y_ 23990NEXT:IFgot_%=1THEN 24010FORh_=1TO8:froc_(h_)=gc_%(got_%):NEXT 24020ENDIF:IFgot_%>1THEN 24040REPEAT:flag_=TRUE:FORr_=1TO8:finder_%(r_)=0:NEXT:needed_%=8DIVgot_%:FORh_=1TO8:r_=RND(got_%):froc_(h_)=gc_%(r_):finder_%(r_)=finder_%(r_)+1:NEXT:FORr_=1TOgot_%:IFfinder_%(r_)<needed_% flag_=FALSE 24130NEXT:UNTILflag_=TRUE 24150ENDIF:FORt_=1TO8:IFfroc_(t_)=1PROCworklong1 24180IFfroc_(t_)=2PROCworklong2 24190IFfroc_(t_)=3PROCworklong3 24200IFfroc_(t_)=4PROCworklong4 24210IFfroc_(t_)=5PROCworklong5 24220IFfroc_(t_)=6PROCworklong6 24230NEXT:PROCusI(LongMul_%,"LongMulgo"):last_=3:quit_=FALSE:started_%=TRUE:=FNsums 24260DEFPROCworklong1:REPEAT:a_=RND(99):UNTILa_>20:REPEAT:b_=RND(90):UNTILb_MOD10=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:last_=3:quit_=FALSE:Longchoice_$(t_)="LongMul1":Clue_$=Longchoice_$(t_):ENDPROC 24320DEFPROCworklong2:REPEAT:a_=RND(99):UNTILa_>12ANDa_MOD10<>0:REPEAT:b_=RND(99):UNTILb_>12ANDb_MOD10<>0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:Longchoice_$(t_)="LongMul2":Clue_$=Longchoice_$(t_):ENDPROC 24380DEFPROCworklong3:REPEAT:a_=RND(999):UNTILa_>100ANDa_MOD10<>0:REPEAT:b_=RND(99):UNTILb_>12ANDb_MOD10=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:Longchoice_$(t_)="LongMul3":Clue_$=Longchoice_$(t_):ENDPROC 24440DEFPROCworklong4:REPEAT:a_=RND(999):UNTILa_>100ANDa_MOD10<>0:REPEAT:b_=RND(99):UNTILb_>12ANDb_MOD10<>0:FORg_=1TO8:IFa_=a_(g_)ANDb_=b_(g_)flag_=1 24480a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:Longchoice_$(t_)="LongMul4":Clue_$=Longchoice_$(t_):ENDPROC 24510DEFPROCworklong5:REPEAT:a_=RND(9999):UNTILa_>1000ANDa_MOD10<>0:REPEAT:b_=RND(99):UNTILb_>12ANDb_MOD10<>0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:Longchoice_$(t_)="LongMul5":Clue_$=Longchoice_$(t_):ENDPROC 24570DEFPROCworklong6:REPEAT:a_=RND(9999):UNTILa_>1000ANDa_MOD10<>0:REPEATno_=TRUE:REPEAT:b_=RND(999):UNTILb_>99ANDb_MOD10<>0:e_$=STR$(b_):FORe_=1TOLEN(e_$):IFVAL(MID$(e_$,e_,1))=0 no_=FALSE 24620NEXT:UNTILno_=TRUE:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:Longchoice_$(t_)="LongMul6":Clue_$=Longchoice_$(t_):ENDPROC 24660DEFPROCLongMul2:left_=X%+80:on_=230:end_=100:down_=Y%-140:r_=0:FORq_=1TO2:FORw_=1TO4:r_=r_+1:a_$=STR$(a_(r_)):a_=a_(r_):b_$=STR$(b_(r_)):b_=b_(r_):c_$=STR$(c_(r_)):MOVEleft_+end_-LEN(a_$)*16-50-LEN(STR$(r_))*16,down_-100:PRINTFNzero(STR$(r_));")" 24780PROCsplit_(a_,down_-100):IFSign_%=TRUEMOVEleft_+end_+15,down_-100:PRINT"x" 24800PROCsplit_(b_,down_-140):IFSign_%=FALSEMOVEleft_+end_-LEN(STR$(b_))*16-20,down_-135:PRINT"x" 24820anslen_=LEN(c_$):ext_=0:IFanslen_>6 ext_=ext_+gap_*2 24850IFanslen_>3ANDanslen_<7 ext_=ext_+gap_ 24860MOVEleft_+end_-anslen_*16-ext_,down_-170:DRAWleft_+end_-anslen_*16+anslen_*16+ext_,down_-170:IFAnswer_%=TRUEPROCLongMulAns 24880left_=left_+on_:NEXT:left_=X%+80:down_=down_-290:NEXT:ENDPROC 24940DEFPROCLongMulAns:IFLma_%=TRUETHEN 24960IFLongchoice_$(r_)="LongMul2"ORLongchoice_$(r_)="LongMul4"ORLongchoice_$(r_)="LongMul5"THEN 24970IFLongstyle_=1THEN 24980d_=a_*VAL(MID$(b_$,1,1))*10:PROCsplit_(d_,down_-180):e_=a_*VAL(MID$(b_$,2,1)):PROCsplit_(e_,down_-220) 25000ENDIF:IFLongstyle_=2THEN 25020d_=a_*VAL(MID$(b_$,1,1))*10:PROCsplit_(d_,down_-220):e_=a_*VAL(MID$(b_$,2,1)):PROCsplit_(e_,down_-180) 25040ENDIF:MOVEleft_+end_-anslen_*16-10,down_-252:DRAWleft_+end_-anslen_*16+anslen_*16+gap_,down_-252:f_=d_+e_:PROCsplit_(f_,down_-260):IFSecAns_%=TRUEMOVEleft_+end_-anslen_*16-10,down_-290:DRAWleft_+end_-anslen_*16+anslen_*16+gap_,down_-290 25080ENDIF:IFLongchoice_$(r_)="LongMul3"ORLongchoice_$(r_)="LongMul1"THEN 25100d_=a_*VAL(MID$(b_$,1,1))*10:PROCsplit_(d_,down_-180):IFSecAns_%=TRUEMOVEleft_+end_-anslen_*16-10,down_-210:DRAWleft_+end_-anslen_*16+anslen_*16+gap_,down_-210 25120ENDIF:IFLongchoice_$(r_)="LongMul6"THEN 25140IFLongstyle_=1THEN 25150d_=a_*VAL(MID$(b_$,1,1))*100:PROCsplit_(d_,down_-180):e_=a_*VAL(MID$(b_$,2,1))*10:PROCsplit_(e_,down_-220):f_=a_*VAL(MID$(b_$,3,1)):PROCsplit_(f_,down_-260) 25180ENDIF:IFLongstyle_=2THEN 25200d_=a_*VAL(MID$(b_$,1,1))*100:PROCsplit_(d_,down_-260):e_=a_*VAL(MID$(b_$,2,1))*10:PROCsplit_(e_,down_-220):f_=a_*VAL(MID$(b_$,3,1)):PROCsplit_(f_,down_-180) 25230ENDIF:MOVEleft_+end_-anslen_*16-10,down_-292:DRAWleft_+end_-anslen_*16+anslen_*16+gap_,down_-292:g_=d_+e_+f_:PROCsplit_(g_,down_-300):IFSecAns_%=TRUEMOVEleft_+end_-anslen_*16-10,down_-332:DRAWleft_+end_-anslen_*16+anslen_*16+gap_,down_-332 25270ENDIF 25280ELSE:PROCsplit_(c_(r_),down_-180):IFSecAns_%=TRUEMOVEleft_+end_-anslen_*16-ext_,down_-210:DRAWleft_+end_-anslen_*16+anslen_*16+ext_,down_-210 25310ENDIF:ENDPROC 25340DEFPROCsplit_(a_,v_):gap_=6:a_$=FNzero(STR$(a_)):IFLEN(a_$)>6THEN 25370ra_$=MID$(a_$,LEN(a_$)-2,3):MOVEleft_+end_-LEN(ra_$)*16,v_:PRINTra_$:mid_$=MID$(a_$,LEN(a_$)-5,3):MOVEleft_+end_-LEN(ra_$)*16-LEN(mid_$)*16-gap_,v_:PRINTmid_$:la_$=MID$(a_$,1,LEN(a_$)-6):MOVEleft_+end_-LEN(ra_$)*16-LEN(mid_$)*16-gap_-LEN(la_$)*16-gap_,v_:PRINTla_$ 25460ENDIF:IFLEN(a_$)>3ANDLEN(a_$)<7THEN 25480ra_$=MID$(a_$,LEN(a_$)-2,3):MOVEleft_+end_-LEN(ra_$)*16,v_:PRINTra_$:la_$=MID$(a_$,1,LEN(a_$)-3):MOVEleft_+end_-LEN(ra_$)*16-LEN(la_$)*16-gap_,v_:PRINTla_$ 25540ENDIF:IFLEN(a_$)<4THEN 25560MOVEleft_+end_-LEN(a_$)*16,v_:PRINTa_$ 25580ENDIF:ENDPROC 25650DEFPROCLongDivy:LongDiv_%=FNfWS("LongDiv"):IFLongDiv_(1)PROCsI(LongDiv_%,"LongDiv1") 25670IFLongDiv_(2)PROCsI(LongDiv_%,"LongDiv2") 25680IFLongDiv_(3)PROCsI(LongDiv_%,"LongDiv3") 25690IFLongDiv_(4)PROCsI(LongDiv_%,"LongDiv4") 25700IFLongDiv_(5)PROCsI(LongDiv_%,"LongDiv5") 25710IFLongDiv_(6)PROCsI(LongDiv_%,"LongDiv6") 25720IFLongDiv_(7)PROCsI(LongDiv_%,"LongDiv7") 25730PROCLremainders:ENDPROC 25760DEFPROCLremainders:IFLRemainder_$="No"PROCsI(LongDiv_%,"LDrem1"):PROCusI(LongDiv_%,"LDrem2"):PROCusI(LongDiv_%,"LDrem3") 25780IFLRemainder_$="All"PROCusI(LongDiv_%,"LDrem1"):PROCsI(LongDiv_%,"LDrem2"):PROCusI(LongDiv_%,"LDrem3") 25790IFLRemainder_$="Ran"PROCusI(LongDiv_%,"LDrem1"):PROCusI(LongDiv_%,"LDrem2"):PROCsI(LongDiv_%,"LDrem3") 25800ENDPROC 25840DEFFNLDrem1_:LRemainder_$="No":PROCLremainders:=TRUE 25850DEFFNLDrem2_:LRemainder_$="All":PROCLremainders:=TRUE 25860DEFFNLDrem3_:LRemainder_$="Ran":PROCLremainders:=TRUE 25870DEFFNLongdivv_:c_=0:FORh_=1TO7:IFLongDiv_(h_)c_=c_+1 25880NEXT:=c_ 25890DEFFNLongDiv1_:IFLongDiv_(1)ANDFNLongdivv_=1 LongDiv_(1)=TRUE:PROCsI(LongDiv_%,"LongDiv1"):=FALSE 25900IFLongDiv_(1)LongDiv_(1)=FALSEELSELongDiv_(1)=TRUE 25910=TRUE 25920DEFFNLongDiv2_:IFLongDiv_(2)ANDFNLongdivv_=1 LongDiv_(2)=TRUE:PROCsI(LongDiv_%,"LongDiv2"):=FALSE 25930IFLongDiv_(2)LongDiv_(2)=FALSEELSELongDiv_(2)=TRUE 25940=TRUE 25950DEFFNLongDiv3_:IFLongDiv_(3)ANDFNLongdivv_=1 LongDiv_(3)=TRUE:PROCsI(LongDiv_%,"LongDiv3"):=FALSE 25960IFLongDiv_(3)LongDiv_(3)=FALSEELSELongDiv_(3)=TRUE 25970=TRUE 25980DEFFNLongDiv4_:IFLongDiv_(4)ANDFNLongdivv_=1 LongDiv_(4)=TRUE:PROCsI(LongDiv_%,"LongDiv4"):=FALSE 25990IFLongDiv_(4)LongDiv_(4)=FALSEELSELongDiv_(4)=TRUE 26000=TRUE 26010DEFFNLongDiv5_:IFLongDiv_(5)ANDFNLongdivv_=1 LongDiv_(5)=TRUE:PROCsI(LongDiv_%,"LongDiv5"):=FALSE 26020IFLongDiv_(5)LongDiv_(5)=FALSEELSELongDiv_(5)=TRUE 26030=TRUE 26040DEFFNLongDiv6_:IFLongDiv_(6)ANDFNLongdivv_=1 LongDiv_(6)=TRUE:PROCsI(LongDiv_%,"LongDiv6"):=FALSE 26050IFLongDiv_(6)LongDiv_(6)=FALSEELSELongDiv_(6)=TRUE 26060=TRUE 26070DEFFNLongDiv7_:IFLongDiv_(7)ANDFNLongdivv_=1 LongDiv_(7)=TRUE:PROCsI(LongDiv_%,"LongDiv7"):=FALSE 26080IFLongDiv_(7)LongDiv_(7)=FALSEELSELongDiv_(7)=TRUE 26090=TRUE 26130DEFFNLongDivgo_:PROCGetTitles:dummy_=RND(-TIME):SYS"Hourglass_On":flag_=FALSE:randi_%=RND(2):got_%=0:FORy_=1TO7:IFLongDiv_(y_)=TRUEgot_%=got_%+1:gc_%(got_%)=y_ 26160NEXT:IFgot_%=1THEN 26180FORh_=1TO8:froc_(h_)=gc_%(got_%):NEXT 26190ENDIF:IFgot_%>1THEN 26210REPEAT:flag_=TRUE:FORr_=1TO8:finder_%(r_)=0:NEXT:needed_%=8DIVgot_%:FORh_=1TO8:r_=RND(got_%):froc_(h_)=gc_%(r_):finder_%(r_)=finder_%(r_)+1:NEXT:FORr_=1TOgot_%:IFfinder_%(r_)<needed_% flag_=FALSE 26300NEXT:UNTILflag_=TRUE 26320ENDIF:FORt_=1TO6:SYS"Hourglass_Percentage",t_/6*100:IFfroc_(t_)=1 max_=999:min_=100:div_=90:minn_=0:mod_=TRUE 26350IFfroc_(t_)=2 max_=999:min_=100:div_=99:minn_=10:mod_=FALSE 26360IFfroc_(t_)=3 max_=9999:min_=1000:div_=90:minn_=10:mod_=TRUE 26370IFfroc_(t_)=4 max_=9999:min_=1000:div_=99:minn_=10:mod_=FALSE 26380IFfroc_(t_)=5 max_=99999:min_=10000:div_=99:minn_=10:mod_=FALSE 26390IFfroc_(t_)=6 max_=999999:min_=100000:div_=99:minn_=10:mod_=FALSE 26400IFfroc_(t_)=7 max_=999999:min_=100000:div_=999:minn_=100:mod_=FALSE 26410PROCworklongD1:NEXT:SYS"Hourglass_Off":PROCusI(LongDiv_%,"LongDivgo"):started_%=TRUE:last_=3:quit_=FALSE:Clue_$="LDivy":=FNsums 26450DEFPROCLdups:IFt_>1THEN 26470FORgg_=1TOt_-1:IFb_=b_(gg_)flag_=FALSE 26480NEXT 26490ENDIF:ENDPROC 26510DEFPROCworklongD1:IFLRemainder_$="No"PROClde 26530IFLRemainder_$="All"PROCldf 26540IFLRemainder_$="Ran"THEN 26550randi_%=RND(2):IFrandi_%=1PROCldeELSEPROCldf 26570ENDIF:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_DIVb_:rem_(t_)=a_MODb_:ENDPROC 26610DEFPROClde:REPEAT:REPEAT:flag_=TRUE:REPEAT:a_=RND(max_):UNTILa_>min_:IFmod_=TRUEREPEATb_=RND(div_):UNTILb_MOD10=0ANDb_>minn_ELSEREPEATb_=RND(div_):UNTILb_MOD10<>0ANDb_>minn_ 26660UNTILa_MODb_=0:PROCLdups:UNTILflag_=TRUE:ENDPROC 26710DEFPROCldf:REPEAT:REPEAT:flag_=TRUE:REPEAT:a_=RND(max_):UNTILa_>min_:IFmod_=TRUEREPEATb_=RND(div_):UNTILb_MOD10=0ANDb_>minn_ELSEREPEATb_=RND(div_):UNTILb_MOD10<>0ANDb_>minn_ 26770c_=a_/b_:c_$=STR$(c_):FORcc_=1TOLEN(c_$):IFMID$(c_$,cc_,1)="." poin_=cc_ 26790NEXT:cz_$=MID$(c_$,poin_+1,LEN(c_$)-poin_+1):IFLEN(cz_$)>pwon_ANDMID$(cz_$,pwon_,1)="9"ANDVAL(MID$(cz_$,pwon_+1,1))>4 flag_=FALSE 26820UNTILa_MODb_<>0ANDflag_=TRUE:IFLEN(cz_$)>pwon_ANDVAL(MID$(cz_$,pwon_+1,1))>4THEN 26850d_=VAL(MID$(cz_$,pwon_,1)):d_=d_+1:d_$=STR$(d_):MID$(cz_$,pwon_,1)=d_$ 26870ENDIF:IFLEN(cz_$)<pwon_ cz_$=cz_$+STRING$(pwon_-LEN(cz_$),"0") 26890cz_$(t_)=MID$(cz_$,1,pwon_):PROCLdups:UNTILflag_=TRUE:ENDPROC 26980DEFPROCMadd:Madd_%=FNfWS("Madd"):IFmaddy_(1)PROCsI(Madd_%,"Madd1") 27000IFmaddy_(2)PROCsI(Madd_%,"Madd2") 27010IFmaddy_(3)PROCsI(Madd_%,"Madd3") 27020IFmaddy_(4)PROCsI(Madd_%,"Madd4") 27030IFmaddy_(5)PROCsI(Madd_%,"Madd5") 27040IFmaddy_(6)PROCsI(Madd_%,"Madd6") 27050IFmt_(1)PROCsI(Madd_%,"mt1") 27060IFmt_(2)PROCsI(Madd_%,"mt2") 27070IFmt_(3)PROCsI(Madd_%,"mt3") 27080IFmt_(4)PROCsI(Madd_%,"mt4") 27090IFmt_(5)PROCsI(Madd_%,"mt5") 27100IFmt_(6)PROCsI(Madd_%,"mt6") 27110PROCmadcarry:ENDPROC 27140DEFPROCmadcarry:IFmaddcarry_$="No"PROCsI(Madd_%,"mcarry1"):PROCusI(Madd_%,"mcarry2"):PROCusI(Madd_%,"mcarry3") 27160IFmaddcarry_$="All"PROCusI(Madd_%,"mcarry1"):PROCsI(Madd_%,"mcarry2"):PROCusI(Madd_%,"mcarry3") 27170IFmaddcarry_$="Ran"PROCusI(Madd_%,"mcarry1"):PROCusI(Madd_%,"mcarry2"):PROCsI(Madd_%,"mcarry3") 27180ENDPROC 27220DEFFNmaddy_:c_=0:FORh_=1TO6:IFmaddy_(h_)c_=c_+1 27230NEXT:=c_ 27240DEFFNMadd1_:IFmaddy_(1)ANDFNmaddy_=1 maddy_(1)=TRUE:PROCsI(Madd_%,"Madd1"):=FALSE 27250IFmaddy_(1)maddy_(1)=FALSEELSEmaddy_(1)=TRUE 27260=TRUE 27270DEFFNMadd2_:IFmaddy_(2)ANDFNmaddy_=1 maddy_(2)=TRUE:PROCsI(Madd_%,"Madd2"):=FALSE 27280IFmaddy_(2)maddy_(2)=FALSEELSEmaddy_(2)=TRUE 27290=TRUE 27300DEFFNMadd3_:IFmaddy_(3)ANDFNmaddy_=1 maddy_(3)=TRUE:PROCsI(Madd_%,"Madd3"):=FALSE 27310IFmaddy_(3)maddy_(3)=FALSEELSEmaddy_(3)=TRUE 27320=TRUE 27330DEFFNMadd4_:IFmaddy_(4)ANDFNmaddy_=1 maddy_(4)=TRUE:PROCsI(Madd_%,"Madd4"):=FALSE 27340IFmaddy_(4)maddy_(4)=FALSEELSEmaddy_(4)=TRUE 27350=TRUE 27360DEFFNMadd5_:IFmaddy_(5)ANDFNmaddy_=1 maddy_(5)=TRUE:PROCsI(Madd_%,"Madd5"):=FALSE 27370IFmaddy_(5)maddy_(5)=FALSEELSEmaddy_(5)=TRUE 27380=TRUE 27390DEFFNMadd6_:IFmaddy_(6)ANDFNmaddy_=1 maddy_(6)=TRUE:PROCsI(Madd_%,"Madd6"):=FALSE 27400IFmaddy_(6)maddy_(6)=FALSEELSEmaddy_(6)=TRUE 27410=TRUE 27420DEFFNmt1_:IFmt_(1)mt_(1)=FALSE:PROCusI(Madd_%,"mt1")ELSEmt_(1)=TRUE:PROCsI(Madd_%,"mt1") 27430=TRUE 27440DEFFNmt2_:IFmt_(2)mt_(2)=FALSE:PROCusI(Madd_%,"mt2")ELSEmt_(2)=TRUE:PROCsI(Madd_%,"mt2") 27450=TRUE 27460DEFFNmt3_:IFmt_(3)mt_(3)=FALSE:PROCusI(Madd_%,"mt3")ELSEmt_(3)=TRUE:PROCsI(Madd_%,"mt3") 27470=TRUE 27480DEFFNmt4_:IFmt_(4)mt_(4)=FALSE:PROCusI(Madd_%,"mt4")ELSEmt_(4)=TRUE:PROCsI(Madd_%,"mt4") 27490=TRUE 27500DEFFNmt5_:IFmt_(5)mt_(5)=FALSE:PROCusI(Madd_%,"mt5")ELSEmt_(5)=TRUE:PROCsI(Madd_%,"mt5") 27510=TRUE 27520DEFFNmt6_:IFmt_(6)mt_(6)=FALSE:PROCusI(Madd_%,"mt6")ELSEmt_(6)=TRUE:PROCsI(Madd_%,"mt6") 27530=TRUE 27540DEFFNmcarry1_:maddcarry_$="No":PROCmadcarry:=TRUE 27550DEFFNmcarry2_:maddcarry_$="All":PROCmadcarry:=TRUE 27560DEFFNmcarry3_:maddcarry_$="Ran":PROCmadcarry:=TRUE 27600DEFFNMaddgo_:PROCGetTitles:many_=12:PROCSmadd_:PROCwhatmadds:PROCmaddup:started_%=TRUE:PROCusI(Madd_%,"Maddgo"):SYS"Hourglass_Off":last_=3:quit_=FALSE:Clue_$="Madd":=FNsums 27650DEFPROCSmadd_:IFNOTmaddy_(3)ANDNOTmaddy_(4)THENmt_(1)=FALSE:PROCusI(Madd_%,"mt1"):mt_(2)=FALSE:PROCusI(Madd_%,"mt2"):mt_(3)=FALSE:PROCusI(Madd_%,"mt3") 27660IFNOTmaddy_(5)ANDNOTmaddy_(6)THENmt_(4)=FALSE:PROCusI(Madd_%,"mt4"):mt_(5)=FALSE:PROCusI(Madd_%,"mt5"):mt_(6)=FALSE:PROCusI(Madd_%,"mt6") 27670ENDPROC 27680DEFPROCwhatmadds:SYS"Hourglass_On":thou_=0:hun_=0:IFmt_(1)hun_=hun_+1:hun_$(hun_)="�" 27710IFmt_(2)hun_=hun_+1:hun_$(hun_)="m" 27720IFmt_(3)hun_=hun_+1:hun_$(hun_)="cm" 27730IFmt_(4)thou_=thou_+1:thou_$(thou_)="kg" 27740IFmt_(5)thou_=thou_+1:thou_$(thou_)="km" 27750IFmt_(6)thou_=thou_+1:thou_$(thou_)="l" 27760got_%=0:FORr_%=1TO6:IFmaddy_(r_%)THENgot_%=got_%+1:gc_%(got_%)=r_%:addytype_(got_%)=r_% 27770NEXT:IFgot_%=1FORr_=1TO12:lineaddy_(r_)=gc_%(got_%):NEXT:ENDPROC 27790IFgot_%=6PROCtimes(got_%,12):FORr_=1TO12:lineaddy_(r_)=gc_%(finder_%(r_)):NEXT:SYS"Hourglass_Off":ENDPROC 27800needed_%=12DIVgot_%:REPEAT:FORr_=1TO12:finder_%(r_)=0:NEXT:flag_=TRUE:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:REPEAT:flig_=TRUE:ran_%=RND(got_%):IFr_>1ANDgc_%(ran_%)=lineaddy_(r_-1)flig_=FALSE 27900UNTILflig_=TRUE:lineaddy_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 27930NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 27960DEFPROCmaddup:dummy_=RND(-TIME):FORt_=1TO12:a_(t_)=-1:b_(t_)=-1:NEXT:SYS"Hourglass_On":FORt_=1TO12:IFlineaddy_(t_)=1 ran_%=99:rin_%=9 28010IFlineaddy_(t_)=2 ran_%=999:rin_%=99 28020IFlineaddy_(t_)=3 ran_%=999:rin_%=99 28030IFlineaddy_(t_)=4 ran_%=9999:rin_%=999 28040IFlineaddy_(t_)=5 ran_%=9999:rin_%=999 28050IFlineaddy_(t_)=6 ran_%=99999:rin_%=9999 28060IFlineaddy_(t_)<3 top_$(t_)="" 28070IFlineaddy_(t_)=3ORlineaddy_(t_)=4THEN 28080IFhun_=0 top_$(t_)="" 28090IFhun_=1 top_$(t_)=hun_$(1) 28100IFhun_>1 top_=RND(hun_):top_$(t_)=hun_$(top_) 28110ENDIF:IFlineaddy_(t_)=5ORlineaddy_(t_)=6THEN 28130IFthou_=0 top_$(t_)="" 28140IFthou_=1 top_$(t_)=thou_$(1) 28150IFthou_>1 top_=RND(thou_):top_$(t_)=thou_$(top_) 28160ENDIF:SYS"Hourglass_Percentage",t_/12*100:REPEAT:flag_=0:REPEAT:a_=RND(ran_%):b_=RND(ran_%):UNTILa_MOD10<>0ANDb_MOD10<>0ANDa_>rin_%ANDb_>rin_%:IFmaddcarry_$="No"PROCnomaddcarry 28240IFmaddcarry_$="All"PROCallmaddcarry 28250IFt_>1THEN 28260FORe_=1TOt_-1:IFa_=a_(e_)ANDb_=b_(e_)flag_=1 28270NEXT 28280ENDIF:UNTILflag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_+b_:NEXT:SYS"Hourglass_Off":ENDPROC 28340DEFPROCnomaddcarry:a_$=STR$(a_):b_$=STR$(b_):la_=LEN(a_$):lb_=LEN(b_$):z_=la_:IFlb_<la_ z_=lb_ 28360FORr_=z_TO1STEP-1:IFVAL(MID$(a_$,r_,1))+VAL(MID$(b_$,r_,1))>9 flag_=1 28380NEXT:ENDPROC 28400DEFPROCallmaddcarry:a_$=STR$(a_):b_$=STR$(b_):la_=LEN(a_$):lb_=LEN(b_$):z_=la_:IFlb_>la_ z_=lb_ 28420FORr_=z_TO1STEP-1:IFVAL(MID$(a_$,r_,1))+VAL(MID$(b_$,r_,1))<10 flag_=1 28430NEXT:ENDPROC 28450DEFPROCMDiv:X%=X%+90:left_=X%+80:on_=270:end_=100:down_=Y%-110:r_=0:IFmany_=9FORq_=1TO3ELSEFORq_=1TO4 28510FORw_=1TO3:r_=r_+1:IFquit_=TRUEa_=0:b_=0:c_=0ELSEa_=a_(r_):b_=b_(r_):c_=c_(r_) 28530dunkleft_=left_:a_$=FNzero(STR$(a_)):b_$=FNzero(STR$(b_)):c_$=FNzero(STR$(c_)):anslen_=LEN(a_$):dunkleft_=left_:lon_=LEN(a_$):left_=left_+lon_/2*16:pt_=left_:IFlinedvy_(r_)=1PROCpppoint(1,1) 28600IFlinedvy_(r_)=2PROCpppoint(2,1) 28610IFlinedvy_(r_)=3PROCpppoint(1,2) 28620IFlinedvy_(r_)=4PROCpppoint(2,2) 28630IFlinedvy_(r_)=5PROCpppoint(1,3) 28640IFlinedvy_(r_)=6PROCpppoint(2,3) 28650IFlinedvy_(r_)=1ANDLEN(c_$)<2 c_$="O"+c_$ 28670IFlinedvy_(r_)=1 left_$=LEFT$(c_$,1):right_$=RIGHT$(c_$,1) 28680IFlinedvy_(r_)=2 left_$=LEFT$(c_$,LEN(c_$)-1):right_$=RIGHT$(c_$,1) 28690IFlinedvy_(r_)=3ANDLEN(c_$)<3 c_$="O"+c_$ 28700IFlinedvy_(r_)=3 left_$=LEFT$(c_$,1):right_$=RIGHT$(c_$,2) 28710IFlinedvy_(r_)=4 left_$=LEFT$(c_$,LEN(c_$)-2):right_$=RIGHT$(c_$,2) 28720IFlinedvy_(r_)=5ANDLEN(c_$)<4 c_$="O"+c_$ 28730IFlinedvy_(r_)=5 left_$=LEFT$(c_$,1):right_$=RIGHT$(c_$,3) 28740IFlinedvy_(r_)=6 left_$=LEFT$(c_$,LEN(c_$)-3):right_$=RIGHT$(c_$,3) 28750left_=dunkleft_:left_=left_+on_:NEXT:left_=X%+80:down_=down_-180:NEXT:ENDPROC 28800DEFPROCpppoint(x_,y_):left_$=LEFT$(a_$,x_):right_$=RIGHT$(a_$,y_):al_=LEN(left_$)*16:ar_=LEN(right_$)*16:MOVEleft_+end_-ar_,down_-100:PRINTright_$:MOVEleft_+end_-ar_-20,down_-90:PRINT".":MOVEleft_+end_-ar_-al_-30,down_-100:PRINTleft_$ 28860MOVEleft_+end_-ar_-30-LEN(top_$(r_))*16,down_-25:PRINTtop_$(r_):MOVEleft_+end_-ar_-al_-50,down_-100:PRINT")":MOVEleft_+end_-ar_-al_-50,down_-94:DRAWleft_+end_,down_-94:MOVEleft_+end_-ar_-al_-55-LEN(b_$)*16,down_-100:PRINTb_$ 28900MOVEleft_+end_-ar_-al_-100-LEN(b_$)*16-LEN(STR$(r_))*16,down_-60:PRINTFNzero(STR$(r_));")":IFAnswer_%=TRUETHEN 28930left_$=LEFT$(c_$,LEN(c_$)-y_):right_$=RIGHT$(c_$,y_):IFleft_$="" left_$="O" 28950al_=LEN(left_$)*16:ar_=LEN(right_$)*16:MOVEleft_+end_-ar_,down_-60:PRINTright_$:MOVEleft_+end_-ar_-20,down_-50:PRINT".":MOVEleft_+end_-ar_-al_-30,down_-60:PRINTleft_$ 28990ENDIF:ENDPROC 29010DEFPROCMmult_:X%=X%+70:left_=X%+80:on_=270:end_=100:down_=Y%-90:r_=0:FORq_=1TO4:FORw_=1TO3:r_=r_+1:IFquit_=TRUEa_=0:b_=0:c_=0ELSEa_=a_(r_):b_=b_(r_):c_=c_(r_) 29090dunkleft_=left_:a_$=FNzero(STR$(a_)):b_$=FNzero(STR$(b_)):c_$=FNzero(STR$(c_)):anslen_=LEN(c_$):dunkleft_=left_:lon_=LEN(a_$):left_=left_+lon_/2*16:pt_=left_:MOVEleft_+end_-LEN(STR$(a_))*16-80-LEN(STR$(r_))*16,down_-100:PRINTFNzero(STR$(r_));")" 29160IFlineaddy_(r_)=1PROCppoint(1,1) 29170IFlineaddy_(r_)=2PROCppoint(2,1) 29180IFlineaddy_(r_)=3PROCppoint(1,2) 29190IFlineaddy_(r_)=4PROCppoint(2,2) 29200IFlineaddy_(r_)=5PROCppoint(1,3) 29210IFlineaddy_(r_)=6PROCppoint(2,3) 29220MOVEleft_+end_-anslen_*16-30,down_-172:DRAWleft_+end_-anslen_*16+anslen_*16,down_-172:left_=dunkleft_:left_=left_+on_:NEXT:left_=X%+80:down_=down_-180:NEXT:ENDPROC 29280DEFPROCppoint(x_,y_):left_$=LEFT$(a_$,x_):right_$=RIGHT$(a_$,y_):al_=LEN(left_$)*16:ar_=LEN(right_$)*16:MOVEleft_+end_-ar_,down_-100:PRINTright_$:IFSign_%=TRUEMOVEleft_+end_+10,down_-100:PRINTsign_$ 29330MOVEleft_+end_-ar_-20,down_-90:PRINT".":MOVEleft_+end_-ar_-al_-30,down_-100:PRINTleft_$:MOVEleft_+end_-ar_-30-LEN(top_$(r_))*16,down_-60:PRINTtop_$(r_):MOVEleft_+end_-ar_-30-LEN(b_$)*16,down_-140:PRINTb_$ 29370IFSign_%=FALSEMOVEleft_+end_-ar_-30-LEN(b_$)*16-30,down_-140:PRINTsign_$ 29380IFSecAns_%=TRUEMOVEleft_+end_-anslen_*16-30,down_-212:DRAWleft_+end_-anslen_*16+anslen_*16,down_-212 29390IFAnswer_%=TRUETHEN 29400left_$=LEFT$(c_$,LEN(c_$)-y_):right_$=RIGHT$(c_$,y_):IFleft_$="" left_$="O" 29420al_=LEN(left_$)*16:ar_=LEN(right_$)*16:MOVEleft_+end_-ar_,down_-180:PRINTright_$:MOVEleft_+end_-ar_-20,down_-170:PRINT".":MOVEleft_+end_-ar_-al_-30,down_-180:PRINTleft_$ 29460ENDIF:ENDPROC 29480DEFPROCmadd:IFClue_$="Madd" sign_$="+" 29500IFClue_$="Msub" sign_$="-" 29510IFMID$(Clue_$,1,3)="Sub" sign_$="-" 29520IFMID$(Clue_$,1,3)="Mul" sign_$="x" 29530X%=X%+50:left_=X%+80:on_=270:end_=100:down_=Y%-90:r_=0:IFmany_=9FORq_=1TO3ELSEFORq_=1TO4 29580FORw_=1TO3:r_=r_+1:IFquit_=TRUEa_=0:b_=0:c_=0ELSEa_=a_(r_):b_=b_(r_):c_=c_(r_) 29600dunkleft_=left_:a_$=FNzero(STR$(a_)):b_$=FNzero(STR$(b_)):c_$=FNzero(STR$(c_)):IFLEN(b_$)>LEN(c_$)anslen_=LEN(b_$)ELSEanslen_=LEN(c_$) 29630dunkleft_=left_:lon_=LEN(a_$):IFLEN(b_$)>lon_ lon_=LEN(b_$) 29660IFLEN(c_$)>lon_ lon_=LEN(c_$) 29670left_=left_+lon_/2*16:MOVEleft_+end_-LEN(STR$(a_))*16-60-LEN(STR$(r_))*16,down_-100:PRINTFNzero(STR$(r_));")":IFr_=10MOVEleft_+end_-LEN(STR$(a_))*16-60-LEN(STR$(r_))*16,down_-100:PRINT"1O)" 29700IFlineaddy_(r_)=1PROCpoint(1,1) 29710IFlineaddy_(r_)=2PROCpoint(2,1) 29720IFlineaddy_(r_)=3PROCpoint(1,2) 29730IFlineaddy_(r_)=4PROCpoint(2,2) 29740IFlineaddy_(r_)=5PROCpoint(1,3) 29750IFlineaddy_(r_)=6PROCpoint(2,3) 29760MOVEleft_+end_-anslen_*16-30,down_-172:DRAWleft_+end_-anslen_*16+anslen_*16,down_-172:left_=dunkleft_:left_=left_+on_:NEXT:left_=X%+80:down_=down_-180:NEXT:ENDPROC 29820DEFPROCpoint(x_,y_):left_$=LEFT$(a_$,x_):right_$=RIGHT$(a_$,y_):al_=LEN(left_$)*16:ar_=LEN(right_$)*16:MOVEleft_+end_-ar_,down_-100:PRINTright_$:IFSign_%=TRUEMOVEleft_+end_+10,down_-100:PRINTsign_$ 29870MOVEleft_+end_-ar_-20,down_-90:PRINT".":MOVEleft_+end_-ar_-al_-30,down_-100:PRINTleft_$:MOVEleft_+end_-ar_-30-LEN(top_$(r_))*16,down_-60:PRINTtop_$(r_):left_$=LEFT$(b_$,x_):right_$=RIGHT$(b_$,y_):al_=LEN(left_$)*16:ar_=LEN(right_$)*16 29920MOVEleft_+end_-ar_,down_-140:PRINTright_$:MOVEleft_+end_-ar_-20,down_-130:PRINT".":MOVEleft_+end_-ar_-al_-30,down_-140:PRINTleft_$:IFSign_%=FALSEMOVEleft_+end_-ar_-al_-50,down_-140:PRINTsign_$ 29960IFSecAns_%=TRUEMOVEleft_+end_-anslen_*16-30,down_-212:DRAWleft_+end_-anslen_*16+anslen_*16,down_-212 29970IFAnswer_%=TRUETHEN 29980left_$=LEFT$(c_$,LEN(c_$)-y_):right_$=RIGHT$(c_$,y_):IFleft_$="" left_$="O" 30000al_=LEN(left_$)*16:ar_=LEN(right_$)*16:MOVEleft_+end_-ar_,down_-180:PRINTright_$:MOVEleft_+end_-ar_-20,down_-170:PRINT".":MOVEleft_+end_-ar_-al_-30,down_-180:PRINTleft_$ 30040ENDIF:ENDPROC 30100DEFPROCMsub:Msub_%=FNfWS("MetricSub"):IFmsub_(1)PROCsI(Msub_%,"Msub1") 30120IFmsub_(2)PROCsI(Msub_%,"Msub2") 30130IFmsub_(3)PROCsI(Msub_%,"Msub3") 30140IFmsub_(4)PROCsI(Msub_%,"Msub4") 30150IFmsub_(5)PROCsI(Msub_%,"Msub5") 30160IFmsub_(6)PROCsI(Msub_%,"Msub6") 30170IFst_(1)PROCsI(Msub_%,"st1") 30180IFst_(2)PROCsI(Msub_%,"st2") 30190IFst_(3)PROCsI(Msub_%,"st3") 30200IFst_(4)PROCsI(Msub_%,"st4") 30210IFst_(5)PROCsI(Msub_%,"st5") 30220IFst_(6)PROCsI(Msub_%,"st6") 30230PROCmsubcarry:ENDPROC 30260DEFPROCmsubcarry:IFmsubcarry_$="No"PROCsI(Msub_%,"scarry1"):PROCusI(Msub_%,"scarry2"):PROCusI(Msub_%,"scarry3") 30280IFmsubcarry_$="All"PROCusI(Msub_%,"scarry1"):PROCsI(Msub_%,"scarry2"):PROCusI(Msub_%,"scarry3") 30290IFmsubcarry_$="Ran"PROCusI(Msub_%,"scarry1"):PROCusI(Msub_%,"scarry2"):PROCsI(Msub_%,"scarry3") 30300ENDPROC 30340DEFFNmsub_:c_=0:FORh_=1TO6:IFmsub_(h_)c_=c_+1 30350NEXT:=c_ 30360DEFFNMsub1_:IFmsub_(1)ANDFNmsub_=1 msub_(1)=TRUE:PROCsI(Msub_%,"Msub1"):=FALSE 30370IFmsub_(1)msub_(1)=FALSEELSEmsub_(1)=TRUE 30380=TRUE 30390DEFFNMsub2_:IFmsub_(2)ANDFNmsub_=1 msub_(2)=TRUE:PROCsI(Msub_%,"Msub2"):=FALSE 30400IFmsub_(2)msub_(2)=FALSEELSEmsub_(2)=TRUE 30410=TRUE 30420DEFFNMsub3_:IFmsub_(3)ANDFNmsub_=1 msub_(3)=TRUE:PROCsI(Msub_%,"Msub3"):=FALSE 30430IFmsub_(3)msub_(3)=FALSEELSEmsub_(3)=TRUE 30440=TRUE 30450DEFFNMsub4_:IFmsub_(4)ANDFNmsub_=1 msub_(4)=TRUE:PROCsI(Msub_%,"Msub4"):=FALSE 30460IFmsub_(4)msub_(4)=FALSEELSEmsub_(4)=TRUE 30470=TRUE 30480DEFFNMsub5_:IFmsub_(5)ANDFNmsub_=1 msub_(5)=TRUE:PROCsI(Msub_%,"Msub5"):=FALSE 30490IFmsub_(5)msub_(5)=FALSEELSEmsub_(5)=TRUE 30500=TRUE 30510DEFFNMsub6_:IFmsub_(6)ANDFNmsub_=1 msub_(6)=TRUE:PROCsI(Msub_%,"Msub6"):=FALSE 30520IFmsub_(6)msub_(6)=FALSEELSEmsub_(6)=TRUE 30530=TRUE 30540DEFFNst1_:IFst_(1)st_(1)=FALSEELSEst_(1)=TRUE 30550=TRUE 30560DEFFNst2_:IFst_(2)st_(2)=FALSEELSEst_(2)=TRUE 30570=TRUE 30580DEFFNst3_:IFst_(3)st_(3)=FALSEELSEst_(3)=TRUE 30590=TRUE 30600DEFFNst4_:IFst_(4)st_(4)=FALSEELSEst_(4)=TRUE 30610=TRUE 30620DEFFNst5_:IFst_(5)st_(5)=FALSEELSEst_(5)=TRUE 30630=TRUE 30640DEFFNst6_:IFst_(6)st_(6)=FALSEELSEst_(6)=TRUE 30650=TRUE 30660DEFFNscarry1_:msubcarry_$="No":PROCmsubcarry:=TRUE 30670DEFFNscarry2_:msubcarry_$="All":PROCmsubcarry:=TRUE 30680DEFFNscarry3_:msubcarry_$="Ran":PROCmsubcarry:=TRUE 30720DEFFNMsubgo_:PROCGetTitles:PROCTsub_:PROCwhatsubs:PROCsaddup:started_%=TRUE:PROCusI(Msub_%,"Msubgo"):SYS"Hourglass_Off":last_=3:quit_=FALSE:Clue_$="Msub":=FNsums 30770DEFPROCTsub_:IFNOTmsub_(3)ANDNOTmsub_(4)THENst_(1)=FALSE:PROCusI(Msub_%,"st1"):st_(2)=FALSE:PROCusI(Msub_%,"st2"):st_(3)=FALSE:PROCusI(Msub_%,"st3") 30780IFNOTmsub_(5)ANDNOTmsub_(6)THENst_(4)=FALSE:PROCusI(Msub_%,"st4"):st_(5)=FALSE:PROCusI(Msub_%,"st5"):st_(6)=FALSE:PROCusI(Msub_%,"st6") 30790ENDPROC 30800DEFPROCwhatsubs:SYS"Hourglass_On":thou_=0:hun_=0:IFst_(1)hun_=hun_+1:hun_$(hun_)="�" 30830IFst_(2)hun_=hun_+1:hun_$(hun_)="m" 30840IFst_(3)hun_=hun_+1:hun_$(hun_)="cm" 30850IFst_(4)thou_=thou_+1:thou_$(thou_)="kg" 30860IFst_(5)thou_=thou_+1:thou_$(thou_)="km" 30870IFst_(6)thou_=thou_+1:thou_$(thou_)="l" 30880got_%=0:FORr_=1TO6:IFmsub_(r_)=TRUEgot_%=got_%+1:addytype_(got_%)=r_:gc_%(got_%)=r_ 30890NEXT:IFgot_%=1FORr_=1TO12:lineaddy_(r_)=addytype_(got_%):NEXT:ENDPROC 30910IFgot_%=6PROCtimes(got_%,12):FORr_=1TO12:lineaddy_(r_)=gc_%(finder_%(r_)):NEXT:SYS"Hourglass_Off":ENDPROC 30920needed_%=12DIVgot_%:REPEAT:FORr_=1TO12:finder_%(r_)=0:NEXT:flag_=TRUE:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:REPEAT:flig_=TRUE:ran_%=RND(got_%):IFr_>1ANDgc_%(ran_%)=lineaddy_(r_-1)flig_=FALSE 31020UNTILflig_=TRUE:lineaddy_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 31050NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 31080DEFPROCsaddup:dummy_=RND(-TIME):FORt_=1TO12:a_(t_)=-1:b_(t_)=-1:NEXT:SYS"Hourglass_On":FORt_=1TO12:IFlineaddy_(t_)=1 ran_%=99:rin_%=9 31130IFlineaddy_(t_)=2 ran_%=999:rin_%=99 31140IFlineaddy_(t_)=3 ran_%=999:rin_%=99 31150IFlineaddy_(t_)=4 ran_%=9999:rin_%=999 31160IFlineaddy_(t_)=5 ran_%=9999:rin_%=999 31170IFlineaddy_(t_)=6 ran_%=99999:rin_%=9999 31180IFlineaddy_(t_)<3 top_$(t_)="" 31190IFlineaddy_(t_)=3ORlineaddy_(t_)=4THEN 31200IFhun_=0 top_$(t_)="" 31210IFhun_=1 top_$(t_)=hun_$(1) 31220IFhun_>1 top_=RND(hun_):top_$(t_)=hun_$(top_) 31230ENDIF:IFlineaddy_(t_)=5ORlineaddy_(t_)=6THEN 31250IFthou_=0 top_$(t_)="" 31260IFthou_=1 top_$(t_)=thou_$(1) 31270IFthou_>1 top_=RND(thou_):top_$(t_)=thou_$(top_) 31280ENDIF:SYS"Hourglass_Percentage",t_/12*100:REPEAT:flag_=0:REPEAT:a_=RND(ran_%):b_=RND(ran_%):UNTILa_MOD10<>0ANDb_MOD10<>0ANDa_>rin_%ANDb_>rin_%ANDa_>b_:IFmsubcarry_$="No"PROCnosubcarry 31360IFmsubcarry_$="All"PROCallsubcarry 31370IFt_>1THEN 31380FORe_=1TOt_-1:IFa_=a_(e_)ANDb_=b_(e_)flag_=1 31390NEXT 31400ENDIF:UNTILflag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_-b_:NEXT:SYS"Hourglass_Off":ENDPROC 31500DEFPROCMmul:Mmul_%=FNfWS("MetricMul"):IFmmul_(1)PROCsI(Mmul_%,"Mmul1") 31530IFmmul_(2)PROCsI(Mmul_%,"Mmul2") 31540IFmmul_(3)PROCsI(Mmul_%,"Mmul3") 31550IFmmul_(4)PROCsI(Mmul_%,"Mmul4") 31560IFmmul_(5)PROCsI(Mmul_%,"Mmul5") 31570IFmmul_(6)PROCsI(Mmul_%,"Mmul6") 31580IFmmt_(1)PROCsI(Mmul_%,"mmt1") 31590IFmmt_(2)PROCsI(Mmul_%,"mmt2") 31600IFmmt_(3)PROCsI(Mmul_%,"mmt3") 31610IFmmt_(4)PROCsI(Mmul_%,"mmt4") 31620IFmmt_(5)PROCsI(Mmul_%,"mmt5") 31630IFmmt_(6)PROCsI(Mmul_%,"mmt6") 31640IFMmult_(1)PROCsI(Mmul_%,"mmult1") 31660IFMmult_(2)PROCsI(Mmul_%,"mmult2") 31670IFMmult_(3)PROCsI(Mmul_%,"mmult3") 31680IFMmult_(4)PROCsI(Mmul_%,"mmult4") 31690IFMmult_(5)PROCsI(Mmul_%,"mmult5") 31700IFMmult_(6)PROCsI(Mmul_%,"mmult6") 31710IFMmult_(7)PROCsI(Mmul_%,"mmult7") 31720IFMmult_(8)PROCsI(Mmul_%,"mmult8") 31730IFMmult_(9)PROCsI(Mmul_%,"mmult9") 31740ENDPROC 31780DEFFNMmul_:c_=0:FORh_=1TO6:IFmmul_(h_)c_=c_+1 31790NEXT:=c_ 31800DEFFNMmul1_:IFmmul_(1)ANDFNMmul_=1 mmul_(1)=TRUE:PROCsI(Mmul_%,"Mmul1"):=TRUE 31810IFmmul_(1)mmul_(1)=FALSEELSEmmul_(1)=TRUE 31820=TRUE 31830DEFFNMmul2_:IFmmul_(2)ANDFNMmul_=1 mmul_(2)=TRUE:PROCsI(Mmul_%,"Mmul2"):=TRUE 31840IFmmul_(2)mmul_(2)=FALSEELSEmmul_(2)=TRUE 31850=TRUE 31860DEFFNMmul3_:IFmmul_(3)ANDFNMmul_=1 mmul_(3)=TRUE:PROCsI(Mmul_%,"Mmul3"):=TRUE 31870IFmmul_(3)mmul_(3)=FALSEELSEmmul_(3)=TRUE 31880=TRUE 31890DEFFNMmul4_:IFmmul_(4)ANDFNMmul_=1 mmul_(4)=TRUE:PROCsI(Mmul_%,"Mmul4"):=TRUE 31900IFmmul_(4)mmul_(4)=FALSEELSEmmul_(4)=TRUE 31910=TRUE 31920DEFFNMmul5_:IFmmul_(5)ANDFNMmul_=1 mmul_(5)=TRUE:PROCsI(Mmul_%,"Mmul5"):=TRUE 31930IFmmul_(5)mmul_(5)=FALSEELSEmmul_(5)=TRUE 31940=TRUE 31950DEFFNMmul6_:IFmmul_(6)ANDFNMmul_=1 mmul_(6)=TRUE:PROCsI(Mmul_%,"Mmul6"):=TRUE 31960IFmmul_(6)mmul_(6)=FALSEELSEmmul_(6)=TRUE 31970=TRUE 31980DEFFNmmt1_:IFmmt_(1)mmt_(1)=FALSEELSEmmt_(1)=TRUE 31990=TRUE 32000DEFFNmmt2_:IFmmt_(2)mmt_(2)=FALSEELSEmmt_(2)=TRUE 32010=TRUE 32020DEFFNmmt3_:IFmmt_(3)mmt_(3)=FALSEELSEmmt_(3)=TRUE 32030=TRUE 32040DEFFNmmt4_:IFmmt_(4)mmt_(4)=FALSEELSEmmt_(4)=TRUE 32050=TRUE 32060DEFFNmmt5_:IFmmt_(5)mmt_(5)=FALSEELSEmmt_(5)=TRUE 32070=TRUE 32080DEFFNmmt6_:IFmmt_(6)mmt_(6)=FALSEELSEmmt_(6)=TRUE 32090=TRUE 32100DEFFNMmult_:c_=0:FORh_=1TO9:IFMmult_(h_)c_=c_+1 32110NEXT:=c_ 32120DEFFNmmult1_:IFMmult_(1)ANDFNMmult_=1 Mmult_(1)=TRUE:PROCsI(Mmul_%,"mmult1"):=FALSE 32130IFMmult_(1)Mmult_(1)=FALSEELSEMmult_(1)=TRUE 32140=TRUE 32150DEFFNmmult2_:IFMmult_(2)ANDFNMmult_=1 Mmult_(2)=TRUE:PROCsI(Mmul_%,"mmult2"):=FALSE 32160IFMmult_(2)Mmult_(2)=FALSEELSEMmult_(2)=TRUE 32170=TRUE 32180DEFFNmmult3_:IFMmult_(3)ANDFNMmult_=1 Mmult_(3)=TRUE:PROCsI(Mmul_%,"mmult3"):=FALSE 32190IFMmult_(3)Mmult_(3)=FALSEELSEMmult_(3)=TRUE 32200=TRUE 32210DEFFNmmult4_:IFMmult_(4)ANDFNMmult_=1 Mmult_(4)=TRUE:PROCsI(Mmul_%,"mmult4"):=FALSE 32220IFMmult_(4)Mmult_(4)=FALSEELSEMmult_(4)=TRUE 32230=TRUE 32240DEFFNmmult5_:IFMmult_(5)ANDFNMmult_=1 Mmult_(5)=TRUE:PROCsI(Mmul_%,"mmult5"):=FALSE 32250IFMmult_(5)Mmult_(5)=FALSEELSEMmult_(5)=TRUE 32260=TRUE 32270DEFFNmmult6_:IFMmult_(6)ANDFNMmult_=1 Mmult_(6)=TRUE:PROCsI(Mmul_%,"mmult6"):=FALSE 32280IFMmult_(6)Mmult_(6)=FALSEELSEMmult_(6)=TRUE 32290=TRUE 32300DEFFNmmult7_:IFMmult_(7)ANDFNMmult_=1 Mmult_(7)=TRUE:PROCsI(Mmul_%,"mmult7"):=FALSE 32310IFMmult_(7)Mmult_(7)=FALSEELSEMmult_(7)=TRUE 32320=TRUE 32330DEFFNmmult8_:IFMmult_(8)ANDFNMmult_=1 Mmult_(8)=TRUE:PROCsI(Mmul_%,"mmult8"):=FALSE 32340IFMmult_(8)Mmult_(8)=FALSEELSEMmult_(8)=TRUE 32350=TRUE 32360DEFFNmmult9_:IFMmult_(9)ANDFNMmult_=1 Mmult_(9)=TRUE:PROCsI(Mmul_%,"mmult9"):=FALSE 32370IFMmult_(9)Mmult_(9)=FALSEELSEMmult_(9)=TRUE 32380=TRUE 32420DEFFNMmulgo_:PROCGetTitles:flag_=TRUE:dummy_=RND(-TIME):PROCMMmul_:get_%=0:FORr_%=1TO9:IFMmult_(r_%)=TRUEget_%=get_%+1 32440NEXT:IFget_%=0 flag_=FALSE:complain_$="Select a multiplicand" 32450got_%=0:FORr_=1TO6:IFmmul_(r_)=TRUEgot_%=got_%+1:addytype_(got_%)=r_ 32460NEXT:IFgot_%=0 flag_=FALSE:complain_$="Select a type" 32470IFflag_=FALSEV_$=FNalert(complain_$,"","OK","","",0):PROCusI(Mmul_%,"Mmulgo"):=FALSE 32480PROCwhatMmult:PROCwhatMmults:PROCMmultup:started_%=TRUE:PROCusI(Mmul_%,"Mmulgo"):SYS"Hourglass_Off":last_=3:quit_=FALSE:Clue_$="Mmul":sign_$="x":=FNsums 32530DEFPROCMMmul_:IFNOTmmul_(3)ANDNOTmmul_(4)THENmmt_(1)=FALSE:PROCusI(Mmul_%,"mmt1"):mmt_(2)=FALSE:PROCusI(Mmul_%,"mmt2"):mmt_(3)=FALSE:PROCusI(Mmul_%,"mmt3") 32540IFNOTmmul_(5)ANDNOTmmul_(6)THENmmt_(4)=FALSE:PROCusI(Mmul_%,"mmt4"):mmt_(5)=FALSE:PROCusI(Mmul_%,"mmt5"):mmt_(6)=FALSE:PROCusI(Mmul_%,"mmt6") 32550ENDPROC 32560DEFPROCwhatMmult:SYS"Hourglass_On":get_%=0:FORr_%=1TO9:IFMmult_(r_%)=TRUEget_%=get_%+1:gc_%(get_%)=r_% 32580NEXT:IFget_%=1FORtr_%=1TO12:Nb_%(tr_%)=VAL(Mmult_$(gc_%(1))):NEXT:SYS"Hourglass_Off":ENDPROC 32600needed_%=12DIVget_%:FORr_=1TO12:gc_%(r_)=0:NEXT:got_%=0:FORr_%=1TO9:IFMmult_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=r_% 32630NEXT:REPEAT:flag_=TRUE:FORr_=1TO12:finder_%(r_)=0:NEXT:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:ran_%=RND(got_%):Nb_%(r_)=VAL(Mmult_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 32720NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 32740DEFPROCwhatMmults:SYS"Hourglass_On":thou_=0:hun_=0:IFmmt_(1)=TRUEhun_=hun_+1:hun_$(hun_)="�" 32770IFmmt_(2)=TRUEhun_=hun_+1:hun_$(hun_)="m" 32780IFmmt_(3)=TRUEhun_=hun_+1:hun_$(hun_)="cm" 32790IFmmt_(4)=TRUEthou_=thou_+1:thou_$(thou_)="kg" 32800IFmmt_(5)=TRUEthou_=thou_+1:thou_$(thou_)="km" 32810IFmmt_(6)=TRUEthou_=thou_+1:thou_$(thou_)="l" 32820got_%=0:FORr_=1TO6:IFmmul_(r_)=TRUEgot_%=got_%+1:addytype_(got_%)=r_:gc_%(got_%)=r_ 32830NEXT:IFgot_%=1FORr_=1TO12:lineaddy_(r_)=addytype_(got_%):NEXT:ENDPROC 32850IFgot_%=6PROCtimes(got_%,12):FORr_=1TO12:lineaddy_(r_)=gc_%(finder_%(r_)):NEXT:SYS"Hourglass_Off":ENDPROC 32860needed_%=12DIVgot_%:REPEAT:FORr_=1TO12:finder_%(r_)=0:NEXT:flag_=TRUE:FORr_=1TO12:SYS"Hourglass_Percentage",r_/12*100:REPEAT:flig_=TRUE:ran_%=RND(got_%):IFr_>1ANDgc_%(ran_%)=lineaddy_(r_-1)flig_=FALSE 32950UNTILflig_=TRUE:lineaddy_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 32990NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 33020DEFPROCMmultup:dummy_=RND(-TIME):FORt_=1TO12:a_(t_)=-1:b_(t_)=-1:NEXT:SYS"Hourglass_On":FORt_=1TO12:IFlineaddy_(t_)=1 ran_%=99:rin_%=9 33070IFlineaddy_(t_)=2 ran_%=999:rin_%=99 33080IFlineaddy_(t_)=3 ran_%=999:rin_%=99 33090IFlineaddy_(t_)=4 ran_%=9999:rin_%=999 33100IFlineaddy_(t_)=5 ran_%=9999:rin_%=999 33110IFlineaddy_(t_)=6 ran_%=99999:rin_%=9999 33120IFlineaddy_(t_)<3 top_$(t_)="" 33140IFlineaddy_(t_)=3ORlineaddy_(t_)=4THEN 33150IFhun_=0 top_$(t_)="" 33160IFhun_=1 top_$(t_)=hun_$(1) 33170IFhun_>1 top_=RND(hun_):top_$(t_)=hun_$(top_) 33180ENDIF:IFlineaddy_(t_)=5ORlineaddy_(t_)=6THEN 33200IFthou_=0 top_$(t_)="" 33210IFthou_=1 top_$(t_)=thou_$(1) 33220IFthou_>1 top_=RND(thou_):top_$(t_)=thou_$(top_) 33230ENDIF:SYS"Hourglass_Percentage",t_/12*100:REPEAT:flag_=0:REPEAT:a_=RND(ran_%):b_=Nb_%(t_):UNTILa_>rin_%:IFt_>1THEN 33340FORe_=1TOt_-1:IFa_=a_(e_)ANDb_=b_(e_)flag_=1 33350NEXT 33360ENDIF:UNTILflag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:NEXT:SYS"Hourglass_Off":ENDPROC 33460DEFPROCMdiv:Mdiv_%=FNfWS("MetDiv"):IFmd_(1)PROCsI(Mdiv_%,"Md1") 33480IFmd_(2)PROCsI(Mdiv_%,"Md2") 33490IFmd_(3)PROCsI(Mdiv_%,"Md3") 33500IFmd_(4)PROCsI(Mdiv_%,"Md4") 33510IFmd_(5)PROCsI(Mdiv_%,"Md5") 33520IFmd_(6)PROCsI(Mdiv_%,"Md6") 33530IFmdt_(1)PROCsI(Mdiv_%,"mdt1") 33540IFmdt_(2)PROCsI(Mdiv_%,"mdt2") 33550IFmdt_(3)PROCsI(Mdiv_%,"mdt3") 33560IFmdt_(4)PROCsI(Mdiv_%,"mdt4") 33570IFmdt_(5)PROCsI(Mdiv_%,"mdt5") 33580IFmdt_(6)PROCsI(Mdiv_%,"mdt6") 33590IFMdiv_(1)PROCsI(Mdiv_%,"mdiv1") 33600IFMdiv_(2)PROCsI(Mdiv_%,"mdiv2") 33610IFMdiv_(3)PROCsI(Mdiv_%,"mdiv3") 33620IFMdiv_(4)PROCsI(Mdiv_%,"mdiv4") 33630IFMdiv_(5)PROCsI(Mdiv_%,"mdiv5") 33640IFMdiv_(6)PROCsI(Mdiv_%,"mdiv6") 33650IFMdiv_(7)PROCsI(Mdiv_%,"mdiv7") 33660IFMdiv_(8)PROCsI(Mdiv_%,"mdiv8") 33670IFMdiv_(9)PROCsI(Mdiv_%,"mdiv9") 33680ENDPROC 33710DEFFNMd_:c_=0:FORh_=1TO6:IFmd_(h_)c_=c_+1 33720NEXT:=c_ 33730DEFFNMd1_:IFmd_(1)ANDFNMd_=1 md_(1)=TRUE:PROCsI(Mdiv_%,"Md1"):=TRUE 33740IFmd_(1)md_(1)=FALSEELSEmd_(1)=TRUE 33750=TRUE 33760DEFFNMd2_:IFmd_(2)ANDFNMd_=1 md_(2)=TRUE:PROCsI(Mdiv_%,"Md2"):=TRUE 33770IFmd_(2)md_(2)=FALSEELSEmd_(2)=TRUE 33780=TRUE 33790DEFFNMd3_:IFmd_(3)ANDFNMd_=1 md_(3)=TRUE:PROCsI(Mdiv_%,"Md3"):=TRUE 33800IFmd_(3)md_(3)=FALSEELSEmd_(3)=TRUE 33810=TRUE 33820DEFFNMd4_:IFmd_(4)ANDFNMd_=1 md_(4)=TRUE:PROCsI(Mdiv_%,"Md4"):=TRUE 33830IFmd_(4)md_(4)=FALSEELSEmd_(4)=TRUE 33840=TRUE 33850DEFFNMd5_:IFmd_(5)ANDFNMd_=1 md_(5)=TRUE:PROCsI(Mdiv_%,"Md5"):=TRUE 33860IFmd_(5)md_(5)=FALSEELSEmd_(5)=TRUE 33870=TRUE 33880DEFFNMd6_:IFmd_(6)ANDFNMd_=1 md_(6)=TRUE:PROCsI(Mdiv_%,"Md6"):=TRUE 33890IFmd_(6)md_(6)=FALSEELSEmd_(6)=TRUE 33900=TRUE 33910DEFFNmdt1_:IFmdt_(1)mdt_(1)=FALSE:PROCusI(Mdiv_%,"mdt1")ELSEmdt_(1)=TRUE:PROCsI(Mdiv_%,"mdt1") 33920=TRUE 33930DEFFNmdt2_:IFmdt_(2)mdt_(2)=FALSE:PROCusI(Mdiv_%,"mdt2")ELSEmdt_(2)=TRUE:PROCsI(Mdiv_%,"mdt2") 33940=TRUE 33950DEFFNmdt3_:IFmdt_(3)mdt_(3)=FALSE:PROCusI(Mdiv_%,"mdt3")ELSEmdt_(3)=TRUE:PROCsI(Mdiv_%,"mdt3") 33960=TRUE 33970DEFFNmdt4_:IFmdt_(4)mdt_(4)=FALSE:PROCusI(Mdiv_%,"mdt4")ELSEmdt_(4)=TRUE:PROCsI(Mdiv_%,"mdt4") 33980=TRUE 33990DEFFNmdt5_:IFmdt_(5)mdt_(5)=FALSE:PROCusI(Mdiv_%,"mdt5")ELSEmdt_(5)=TRUE:PROCsI(Mdiv_%,"mdt5") 34000=TRUE 34010DEFFNmdt6_:IFmdt_(6)mdt_(6)=FALSE:PROCusI(Mdiv_%,"mdt6")ELSEmdt_(6)=TRUE:PROCsI(Mdiv_%,"mdt6") 34020=TRUE 34030DEFFNMdiv_:c_=0:FORh_=1TO9:IFMdiv_(h_)c_=c_+1 34040NEXT:=c_ 34050DEFFNmdiv1_:IFMdiv_(1)ANDFNMdiv_=1 Mdiv_(1)=TRUE:PROCsI(Mdiv_%,"mdiv1"):=FALSE 34060IFMdiv_(1)Mdiv_(1)=FALSEELSEMdiv_(1)=TRUE 34070=TRUE 34080DEFFNmdiv2_:IFMdiv_(2)ANDFNMdiv_=1 Mdiv_(2)=TRUE:PROCsI(Mdiv_%,"mdiv2"):=FALSE 34090IFMdiv_(2)Mdiv_(2)=FALSEELSEMdiv_(2)=TRUE 34100=TRUE 34110DEFFNmdiv3_:IFMdiv_(3)ANDFNMdiv_=1 Mdiv_(3)=TRUE:PROCsI(Mdiv_%,"mdiv3"):=FALSE 34120IFMdiv_(3)Mdiv_(3)=FALSEELSEMdiv_(3)=TRUE 34130=TRUE 34140DEFFNmdiv4_:IFMdiv_(4)ANDFNMdiv_=1 Mdiv_(4)=TRUE:PROCsI(Mdiv_%,"mdiv4"):=FALSE 34150IFMdiv_(4)Mdiv_(4)=FALSEELSEMdiv_(4)=TRUE 34160=TRUE 34170DEFFNmdiv5_:IFMdiv_(5)ANDFNMdiv_=1 Mdiv_(5)=TRUE:PROCsI(Mdiv_%,"mdiv5"):=FALSE 34180IFMdiv_(5)Mdiv_(5)=FALSEELSEMdiv_(5)=TRUE 34190=TRUE 34200DEFFNmdiv6_:IFMdiv_(6)ANDFNMdiv_=1 Mdiv_(6)=TRUE:PROCsI(Mdiv_%,"mdiv6"):=FALSE 34210IFMdiv_(6)Mdiv_(6)=FALSEELSEMdiv_(6)=TRUE 34220=TRUE 34230DEFFNmdiv7_:IFMdiv_(7)ANDFNMdiv_=1 Mdiv_(7)=TRUE:PROCsI(Mdiv_%,"mdiv7"):=FALSE 34240IFMdiv_(7)Mdiv_(7)=FALSEELSEMdiv_(7)=TRUE 34250=TRUE 34260DEFFNmdiv8_:IFMdiv_(8)ANDFNMdiv_=1 Mdiv_(8)=TRUE:PROCsI(Mdiv_%,"mdiv8"):=FALSE 34270IFMdiv_(8)Mdiv_(8)=FALSEELSEMdiv_(8)=TRUE 34280=TRUE 34290DEFFNmdiv9_:IFMdiv_(9)ANDFNMdiv_=1 Mdiv_(9)=TRUE:PROCsI(Mdiv_%,"mdiv9"):=FALSE 34300IFMdiv_(9)Mdiv_(9)=FALSEELSEMdiv_(9)=TRUE 34310=TRUE 34330DEFFNMetDivgo_:PROCGetTitles:flag_=TRUE:PROCDmadd_:dummy_=RND(-TIME):PROCwhatMdivline:PROCwhatMdivy:PROCcalcMdivy:Clue_$="MDiv":last_=3:quit_=FALSE:started_%=TRUE:SYS"Hourglass_Off":PROCusI(Mdiv_%,"MetDivgo"):=FNsums 34340DEFPROCDmadd_:IFNOTmd_(3)ANDNOTmd_(4)THENmdt_(1)=FALSE:PROCusI(Mdiv_%,"mdt1"):mdt_(2)=FALSE:PROCusI(Mdiv_%,"mdt2"):mdt_(3)=FALSE:PROCusI(Mdiv_%,"mdt3") 34350IFNOTmd_(5)ANDNOTmd_(6)THENmdt_(4)=FALSE:PROCusI(Mdiv_%,"mdt4"):mdt_(5)=FALSE:PROCusI(Mdiv_%,"mdt5"):mdt_(6)=FALSE:PROCusI(Mdiv_%,"mdt6") 34360ENDPROC 34370DEFPROCi_:x_=OPENIN"<MathsSys$Path>Resources.Sprites":INPUT#x_,code_$,A$:CLOSE#x_:X$="":FORr=1TOLEN(code_$):X$=X$+CHR$((ASC(MID$(code_$,r,1)))-140):NEXT:code_$=X$:Z$="":FORr=1TOLEN(A$):Z$=Z$+CHR$((ASC(MID$(A$,r,1)))-141):NEXT:A$=Z$:Register_$=A$:Info$(1)=code_$ 34490Info$(2)=Register_$:ENDPROC 34520DEFPROCwhatMdivy:thou_=0:hun_=0:IFmdt_(1)=TRUEhun_=hun_+1:hun_$(hun_)="�" 34550IFmdt_(2)=TRUEhun_=hun_+1:hun_$(hun_)="m" 34560IFmdt_(3)=TRUEhun_=hun_+1:hun_$(hun_)="cm" 34570IFmdt_(4)=TRUEthou_=thou_+1:thou_$(thou_)="kg" 34580IFmdt_(5)=TRUEthou_=thou_+1:thou_$(thou_)="km" 34590IFmdt_(6)=TRUEthou_=thou_+1:thou_$(thou_)="l" 34600get_%=0:FORr_%=1TO9:IFMdiv_(r_%)=TRUEget_%=get_%+1 34620NEXT:IFget_%=1THEN 34640FORr_%=1TO9:IFMdiv_(r_%)=TRUETHENFORtr_%=1TO12:Nb_%(tr_%)=VAL(Mdiv_$(r_%)):NEXT 34660NEXT:ENDPROC 34680ENDIF:needed_%=12DIVget_%:FORr_=1TO12:gc_%(r_)=0:NEXT:got_%=0:FORr_%=1TO9:IFMdiv_(r_%)=TRUETHENgot_%=got_%+1:gc_%(got_%)=r_% 34730NEXT:REPEAT:FORr_=1TO12:finder_%(r_)=0:NEXT:flag_=TRUE:FORr_=1TO12:REPEAT:flig_=TRUE:ran_%=RND(got_%):Nb_%=VAL(Mdiv_$(gc_%(ran_%))):IFr_>1THEN 34790IFNb_%=Nb_%(r_-1)flig_=FALSE 34800ENDIF:UNTILflig_=TRUE:Nb_%(r_)=VAL(Mdiv_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORt_=1TOgot_%:IFfinder_%(t_)<needed_% flag_=FALSE 34850NEXT:UNTILflag_=TRUE:SYS"Hourglass_Off":ENDPROC 34870DEFPROCwhatMdivline:got_%=0:FORr_=1TO6:IFmd_(r_)=TRUEgot_%=got_%+1:gc_%(got_%)=r_ 34890NEXT:IFgot_%=1THENFORr_=1TO12:linedvy_(r_)=gc_%(got_%):NEXT:ENDPROC 34910needed_%=12DIVgot_%:REPEAT:flag_=TRUE:FORr_=1TO12:REPEAT:flig_=TRUE:ran_%=RND(got_%):linedvy_=gc_%(ran_%):IFr_>1THEN 34960IFlinedvy_=linedvy_(r_-1)flig_=FALSE 34970ENDIF:UNTILflig_=TRUE:linedvy_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:NEXT:FORtr_=1TOgot_%:IFfinder_%(tr_)<needed_% flag_=FALSE 35020NEXT:UNTILflag_=TRUE:ENDPROC 35050DEFPROCcalcMdivy:many_=12:zer_=0:FORr_=1TO6:IFmd_(r_)=TRUEzer_=zer_+1 35080NEXT:trub_=TRUE:zer_=0:FORr_=1TO9:IFMdiv_(r_)=TRUEzer_=zer_+1 35100NEXT:IFzer_=1ANDMdiv_(8)=TRUEORzer_=1ANDMdiv_(9)=TRUEORzer_=1ANDMdiv_(7)=TRUEtrub_=FALSE 35120IFtrub_=FALSEANDzer_=1ANDmd_(1)=TRUEmany_=9 35130SYS"Hourglass_On":FORt_=1TOmany_:IFlinedvy_(t_)=1 ran_%=99:l_=9 35160IFlinedvy_(t_)=2 ran_%=999:l_=99 35170IFlinedvy_(t_)=3 ran_%=999:l_=99 35180IFlinedvy_(t_)=4 ran_%=9999:l_=999 35190IFlinedvy_(t_)=5 ran_%=9999:l_=999 35200IFlinedvy_(t_)=6 ran_%=99999:l_=9999 35210IFlinedvy_(t_)<3 top_$(t_)="" 35230IFlinedvy_(t_)=3ORlinedvy_(t_)=4THEN 35240IFhun_=0 top_$(t_)="" 35250IFhun_=1 top_$(t_)=hun_$(1) 35260IFhun_>1 top_=RND(hun_):top_$(t_)=hun_$(top_) 35270ENDIF:IFlinedvy_(t_)=5ORlinedvy_(t_)=6THEN 35290IFthou_=0 top_$(t_)="" 35300IFthou_=1 top_$(t_)=thou_$(1) 35310IFthou_>1 top_=RND(thou_):top_$(t_)=thou_$(top_) 35320ENDIF:SYS"Hourglass_Percentage",t_/12*100:REPEAT:flag_=0:REPEAT:a_=RND(ran_%):b_=Nb_%(t_):UNTILa_MODb_=0ANDa_>l_:IFt_>1THEN 35400FORe_=1TOt_-1:IFa_=a_(e_)ANDb_=b_(e_)flag_=1 35410NEXT 35420ENDIF:UNTILflag_=0:a_(t_)=a_:b_(t_)=b_:IFa_MODb_<>0 c_(t_)=a_DIVb_:rem_(t_)=a_MODb_ELSEc_(t_)=a_/b_:rem_(t_)=0 35460NEXT:started_%=TRUE:SYS"Hourglass_Off":ENDPROC 35500DEFFNTitle_:Title_$=$!Title_%:=TRUE 35510DEFFNMaintitle_:Maintitle_$=$!Maintitle_%:=TRUE 35530DEFFNzero(z_$):FORz_=1TOLEN(z_$):IFMID$(z_$,z_,1)="0"THENMID$(z_$,z_,1)="O" 35560NEXT:=z_$ 35580DEFFNCreate_:PROCusI(GrafIt_%,"Create"):MOUSETO1000,530:v_%=FNwindow("Demo"):=TRUE:V_$=FNalert("Contact CCS for complete version of Maths Card","","OK","","",0):PROCusI(GrafIt_%,"Create"):MOUSETO1000,630:=TRUE 35680DEFPROCGetTitles:ENDPROC 35740DEFFNGrafIt_(X%,Y%):IFClue_$="CardsAdd"PROCType1cards 35790IFClue_$="CardsTake"PROCType1cards 35800IFClue_$="CardsTimes"PROCType1cards 35810IFClue_$="CardsDiv"PROCType1cards 35820IFClue_$="Add1a"ORClue_$="Sub1a"PROCAddA 35830IFClue_$="Multy"PROCAddA 35840IFClue_$="Divy"PROCDivA 35850IFClue_$="Sad"PROCF1 35860IFClue_$="Wad"PROCF1 35870IFClue_$="FrMD"PROCF1 35880IFClue_$="Magic"PROCMag1 35890IFLEFT$(Clue_$,4)="Long"PROCLongMul2 35900IFClue_$="LDivy"PROCLDivA 35910IFClue_$="Madd"ORClue_$="Msub"PROCmadd 35920IFClue_$="Mmul"PROCMmult_ 35930IFClue_$="MDiv"PROCMDiv 35940=TRUE 35960DEFPROCType1cards:down_=Y%-150:left_=X%+120:long_=150:deep_=50:FORline_%=1TO10:MOVEleft_-20-LEN(STR$(line_%))*16,down_:PRINTFNzero(STR$(line_%))+")":left_=left_+20 36010IFlinetype_(line_%)=1PROCwriteline1ELSEIFlinetype_(line_%)=2PROCwriteline2ELSEIFlinetype_(line_%)=3PROCwriteline3 36020down_=down_-deep_-20:left_=X%+120:NEXT:ENDPROC 36050DEFPROCwriteline1:PROCblanks(Na_%(line_%)):left_=left_+long_:PROCqualword:left_=left_+long_:IFquit_=TRUEPROCrects("x")ELSEPROCrects(FNzero(STR$(Nb_%(line_%)))) 36090left_=left_+long_:PROCequalword:left_=left_+long_:IFquit_=TRUEPROCrects("x")ELSEPROCrects(FNzero(STR$(Nc_%(line_%)))) 36120left_=left_+long_:ENDPROC 36140DEFPROCwriteline2:IFquit_=TRUEPROCrects("x")ELSEPROCrects(FNzero(STR$(Na_%(line_%)))) 36160left_=left_+long_:PROCqualword:left_=left_+long_:PROCblanks(Nb_%(line_%)):left_=left_+long_:PROCequalword:left_=left_+long_:IFquit_=TRUEPROCrects("x")ELSEPROCrects(FNzero(STR$(Nc_%(line_%)))) 36220left_=left_+long_:ENDPROC 36250DEFPROCwriteline3:IFquit_=TRUEPROCrects("x")ELSEPROCrects(FNzero(STR$(Na_%(line_%)))) 36270left_=left_+long_:PROCqualword:left_=left_+long_:IFquit_=TRUEPROCrects("x")ELSEPROCrects(FNzero(STR$(Nb_%(line_%)))) 36300left_=left_+long_:PROCequalword:left_=left_+long_:PROCblanks(Nc_%(line_%)):left_=left_+long_:ENDPROC 36350DEFPROCblanks(num_):num_$=FNzero(STR$(num_)):remleft_=left_:remdown_=down_:left_=left_+long_/4:down_=down_+10:MOVEleft_,down_:DRAWleft_+long_/2,down_:DRAWleft_+long_/2,down_-deep_:DRAWleft_,down_-deep_:DRAWleft_,down_:IFAnswer_%=TRUETHEN 36400IFquit_=TRUEMOVEleft_+long_/4-LEN("x")/2*16,down_-10:PRINT"x"ELSEMOVEleft_+long_/4-LEN(num_$)/2*16,down_-10:PRINTnum_$ 36410ENDIF:left_=remleft_:down_=remdown_:ENDPROC 36450DEFPROCrects(word_$):MOVEleft_+long_/2-LEN(word_$)/2*16,down_:PRINTword_$:ENDPROC 36490DEFPROCqualword:PROCrects(act_$(line_%)):ENDPROC 36530DEFPROCequalword:PROCrects(equal_$(line_%)):ENDPROC 36570DEFPROCAddA:IFMID$(Clue_$,1,3)="Add" sign_$="+" 36590IFMID$(Clue_$,1,3)="Sub" sign_$="-" 36600IFMID$(Clue_$,1,3)="Mul" sign_$="x" 36610left_=X%+80:on_=270:end_=100:down_=Y%-90:r_=0:IFmany_=9FORq_=1TO3ELSEFORq_=1TO4 36640FORw_=1TO3:r_=r_+1:IFquit_=TRUEa_=0:b_=0:c_=0ELSEa_=a_(r_):b_=b_(r_):c_=c_(r_) 36660b_$=STR$(b_):c_$=STR$(c_):dunkleft_=left_:lon_=LEN(STR$(a_)):IFLEN(STR$(b_))>lon_ lon_=LEN(STR$(b_)) 36700IFLEN(STR$(c_))>lon_ lon_=LEN(STR$(c_)) 36710left_=left_+lon_/2*16:IFr_<>10MOVEleft_+end_-LEN(STR$(a_))*16-40-LEN(STR$(r_))*16,down_-100:PRINTSTR$(r_);")" 36730IFr_=10MOVEleft_+end_-LEN(STR$(a_))*16-40-LEN(STR$(r_))*16,down_-100:PRINT"1O)" 36740PROCsplit_(a_,down_-100):PROCsplit_(b_,down_-140):sl_=0:IFLEN(b_$)>3 sl_=sl_+gap_:IFLEN(b_$)>7 sl_=sl_+gap_ 36760IFSign_%=FALSEMOVEleft_+end_-LEN(b_$)*16-sl_-20,down_-140:PRINTsign_$ 36770IFSign_%=TRUEMOVEleft_+end_+10,down_-100:PRINTsign_$ 36800anslen_=LEN(STR$(c_)):IFanslen_<LEN(a_$)anslen_=LEN(a_$) 36820IFanslen_<LEN(b_$)anslen_=LEN(b_$) 36830IFAnswer_%=TRUEPROCsplit_(c_,down_-180) 36840MOVEleft_+end_-anslen_*16-5,down_-172:DRAWleft_+end_-anslen_*16+anslen_*16+gap_,down_-172:IFSecAns_%=TRUEMOVEleft_+end_-anslen_*16-5,down_-212:DRAWleft_+end_-anslen_*16+anslen_*16+gap_,down_-212 36860left_=dunkleft_:left_=left_+on_:NEXT:left_=X%+80:down_=down_-180:NEXT:ENDPROC 36890DEFPROCDivA:left_=X%+30:on_=280:end_=100:begleft_=left_:down_=Y%-120:r_=0:shift_=40:dshift_=150:SYS"Hourglass_On":IFmany_=12FORq_=1TO4ELSEFORq_=1TO3 36950FORw_=1TO3:r_=r_+1:SYS"Hourglass_Percentage",r_/12*100:a_=a_(r_):b_=b_(r_):c_=c_(r_):rem_=rem_(r_):lon_=LEN(STR$(a_)):dunkleft_=left_:left_=left_+lon_/2*16:b_$=FNzero(STR$(b_)) 37020IFr_<>10MOVEleft_+end_-LEN(STR$(a_))*16-40-LEN(STR$(r_))*16+40,down_-100:PRINTSTR$(r_);")" 37030IFr_=10MOVEleft_+end_-LEN(STR$(a_))*16-40-LEN(STR$(r_))*16+40,down_-100:PRINT"1O)" 37040a_$=FNzero(STR$(a_)):rem_$=FNzero(STR$(rem_)):gap_=5:IFLEN(a_$)>3THEN 37080ra_$=MID$(a_$,LEN(a_$)-2,3):MOVEleft_+end_-LEN(ra_$)*16+shift_,down_-dshift_:PRINTra_$:la_$=MID$(a_$,1,LEN(a_$)-3):MOVEleft_+end_-LEN(ra_$)*16-LEN(la_$)*16-gap_+shift_,down_-dshift_:PRINTla_$:MOVEleft_+end_-LEN(ra_$)*16-LEN(la_$)*16-gap_+shift_-20,down_-dshift_ 37150PRINT")":MOVEleft_+end_-LEN(ra_$)*16-LEN(la_$)*16-gap_-LEN(b_$)*16+16,down_-dshift_:PRINTb_$ 37180ELSEMOVEleft_+end_-LEN(a_$)*16+shift_,down_-dshift_:PRINTa_$:MOVEleft_+end_-LEN(a_$)*16+shift_-20,down_-dshift_:PRINT")":MOVEleft_+end_-LEN(a_$)*16-gap_-LEN(b_$)*16+16,down_-dshift_:PRINTb_$ 37240ENDIF:MOVEleft_+end_-LEN(a_$)*16-gap_+shift_-15,down_-dshift_+7:DRAWleft_+end_-LEN(a_$)*16-gap_+shift_-20+LEN(a_$)*16+gap_+20,down_-dshift_+7:anslen_=LEN(STR$(c_)):IFAnswer_%=TRUEPROCdvanswer 37300left_=dunkleft_:left_=left_+on_:NEXT:down_=down_-172:left_=begleft_:NEXT:SYS"Hourglass_Off":ENDPROC 37370DEFPROCdvanswer:c_$=FNzero(STR$(c_)):gap_=0:IFLEN(c_$)>3THEN 37400gap_=5:rc_$=MID$(c_$,LEN(c_$)-2,3):MOVEleft_+end_-LEN(rc_$)*16+shift_,down_-dshift_+40:PRINTrc_$:lc_$=MID$(c_$,1,LEN(c_$)-3):MOVEleft_+end_-LEN(rc_$)*16-LEN(lc_$)*16-gap_+shift_,down_-dshift_+40:PRINTlc_$ 37470ELSEMOVEleft_+end_-LEN(c_$)*16+shift_,down_-dshift_+40:PRINTc_$ 37490ENDIF:IFremmy_=1PROCrem 37510IFremmy_=2PROCdot 37520IFremmy_=3PROCfrac 37530ENDPROC 37550DEFPROCrem:IFrem_<>0MOVEleft_+end_+shift_+5,down_-dshift_+40:PRINT"r";rem_$ 37560ENDPROC 37580DEFPROCfrac:IFrem_<>0THEN 37600rt_=rem_:rb_=b_:rt_$=STR$(rt_):rb_$=STR$(rb_):FORtr_=10TO2STEP-1:IFrt_MODtr_=0ANDrb_MODtr_=0 rt_=rt_/tr_:rb_=rb_/tr_ 37640NEXT:rt_$=STR$(rt_):rb_$=STR$(rb_):MOVEleft_+end_+shift_+8,down_-dshift_+58:PRINTrt_$:MOVEleft_+end_+shift_+18,down_-dshift_+45:PRINT"/"rb_$ 37690ENDIF:ENDPROC 37720DEFPROCdot:IFrem_<>0THEN 37740MOVEleft_+end_+shift_+3,down_-dshift_+50:PRINT".":MOVEleft_+end_+shift_+3+15,down_-dshift_+40:PRINTFNzero(cz_$(r_)) 37770ENDIF:ENDPROC 37800DEFPROCLDivA:left_=X%+30:on_=280:end_=100:begleft_=left_:down_=Y%-120:r_=0:shift_=40:dshift_=150:SYS"Hourglass_On":FORqq_=1TO2:FORww_=1TO3:r_=r_+1:SYS"Hourglass_Percentage",r_/12*100:a_=a_(r_):b_=b_(r_):c_=c_(r_):rem_=rem_(r_) 37890a_$=FNzero(STR$(a_)):b_$=FNzero(STR$(b_)):c_$=FNzero(STR$(c_)):rem_$=FNzero(STR$(rem_)):lon_=LEN(STR$(a_)):dunkleft_=left_:left_=left_+lon_/2*16:MOVEleft_+end_-LEN(STR$(a_))*16-60-LEN(STR$(r_))*16+40,down_-80:PRINTSTR$(r_);")" 37940MOVEleft_+end_-LEN(a_$)*16,down_-dshift_:PRINTa_$:starthos_%=left_+end_-LEN(a_$)*16:drop_=40:MOVEleft_+end_-LEN(a_$)*16-15,down_-dshift_:PRINT")":MOVEleft_+end_-LEN(a_$)*16-20-LEN(b_$)*16,down_-dshift_:PRINTb_$:MOVEleft_+end_-LEN(a_$)*16-15,down_-dshift_+7 38000DRAWleft_+end_-LEN(a_$)*16+LEN(a_$)*16+15,down_-dshift_+7:IFAnswer_%=TRUEPROCldans 38020vert_%=down_-dshift_:left_=dunkleft_:left_=left_+on_:NEXT:down_=down_-300:left_=begleft_:NEXT:SYS"Hourglass_Off":ENDPROC 38120DEFPROCldans:MOVEleft_+end_-LEN(c_$)*16,down_-dshift_+40:PRINTc_$:IFrem_<>0THEN 38180IFremmy_=1THEN 38190MOVEleft_+end_-LEN(a_$)*16+LEN(a_$)*16+8,down_-dshift_+40:PRINT"r":MOVEleft_+end_-LEN(a_$)*16+LEN(a_$)*16+30,down_-dshift_+40:PRINTrem_$ 38230ENDIF:IFremmy_=2THEN 38250MOVEleft_+end_-LEN(a_$)*16+LEN(a_$)*16+4,down_-dshift_+50:PRINT".":MOVEleft_+end_-LEN(a_$)*16+LEN(a_$)*16+20,down_-dshift_+40:PRINTFNzero(cz_$(r_)) 38300ENDIF:IFremmy_=3THEN 38320rt_=rem_:rb_=b_:rt_$=STR$(rt_):rb_$=STR$(rb_):FORtr_=10TO2STEP-1:IFrt_MODtr_=0ANDrb_MODtr_=0 rt_=rt_/tr_:rb_=rb_/tr_ 38360NEXT:rt_$=STR$(rt_):rb_$=STR$(rb_):MOVEleft_+end_-LEN(a_$)*16+LEN(a_$)*16+8,down_-dshift_+65:PRINTFNzero(rt_$):MOVEleft_+end_-LEN(a_$)*16+LEN(a_$)*16+LEN(rt_$)*16+20,down_-dshift_+40:PRINTFNzero(rb_$) 38420MOVEleft_+end_-LEN(a_$)*16+LEN(a_$)*16+LEN(rt_$)*16+5,down_-dshift_+50:PRINT"/" 38440ENDIF 38450ENDIF:ENDPROC 38470DEFPROCsumM:started_=FALSE:re_=0:q_=0:w_=1:final_$="":j_=0:REPEAT:PROCgetansS:UNTILj_=LEN(a_$):IFa_MODb_<>0ANDRIGHT$(c_$)<>"0"THEN 38540vert_%=vert_%-drop_:re_$=STR$(re_):hos_%=starthos_%+j_*16-LEN(re_$)*16:MOVEhos_%,vert_%:PRINTre_$ 38580ENDIF:ENDPROC 38610DEFPROCgetansS:try_$="":re_$=STR$(re_):REPEAT:q_=q_+1:j_=j_+1:z_$=MID$(a_$,w_,q_):try_$=re_$+z_$:try_=VAL(try_$):IFtry_DIVb_<1 ans_=0 38680UNTILtry_DIVb_>0ORj_=LEN(a_$):ans_=try_DIVb_:re_=try_MODb_:IFstarted_=TRUETHEN 38710vert_%=vert_%-drop_:hos_%=starthos_%+j_*16-LEN(try_$)*16:MOVEhos_%,vert_%:PRINTtry_$ 38740ENDIF:started_=TRUE:jog_=ans_*b_:jog_$=STR$(jog_):vert_%=vert_%-drop_:hos_%=starthos_%+j_*16-LEN(jog_$)*16:IFj_=LEN(a_$)ANDRIGHT$(c_$)="0"THEN 38800ed_=1 38810ELSE:MOVEhos_%,vert_%:PRINTjog_$:hos_%=starthos_%+j_*16-LEN(try_$)*16:MOVEhos_%,vert_%-30:DRAWhos_%+LEN(try_$)*16,vert_%-30 38850ENDIF:w_=j_+1:q_=0:ENDPROC 38890DEFPROCF1:IFlast_=1ENDPROC 38900mdivartleft_=X%+0:left_=mdivartleft_:on_=300:end_=100:down_=Y%-90:bot_=120:r_=0:FORq_=1TO4:FORw_=1TO3:r_=r_+1:IFlast_>r_-1THEN 38940dunkleft_=left_:a_$=STR$(FU1_(r_)):b_$=STR$(FD1_(r_)):c_$=STR$(FU2_(r_)):d_$=STR$(FD2_(r_)):e_$=STR$(FU3_(r_)):f_$=STR$(FD3_(r_)):spotn_=50:MOVEleft_+spotn_-LEN(STR$(r_))*16,down_-50:PRINTFNzero(STR$(r_));")":spota_=70:tdown_=down_:down_=down_-30 39010IFWhole_(r_,0)<>0 whole_$=STR$(Whole_(r_,0)):MOVEleft_+spota_-30-LEN(whole_$)/2*16,down_-100:PRINTFNzero(whole_$) 39020MOVEleft_+spota_-LEN(b_$)/2*16,down_-bot_:PRINTFNzero(b_$):MOVEleft_+spota_-LEN(b_$)/2*16,down_-bot_+8:DRAWleft_+spota_+LEN(b_$)/2*16,down_-bot_+8:MOVEleft_+spota_-LEN(a_$)/2*16,down_-bot_+40:PRINTFNzero(a_$):IFWhole_(r_,1)<>0 spotp_=100ELSEspotp_=110 39080MOVEleft_+spotp_,down_-100:PRINTFracsign_$(r_):spotb_=160:IFWhole_(r_,1)<>0 whole_$=STR$(Whole_(r_,1)):MOVEleft_+spotb_-30-LEN(whole_$)/2*16,down_-100:PRINTFNzero(whole_$) 39130spotb_=160:MOVEleft_+spotb_-LEN(d_$)/2*16,down_-bot_:PRINTFNzero(d_$):MOVEleft_+spotb_-LEN(d_$)/2*16,down_-bot_+8:DRAWleft_+spotb_+LEN(d_$)/2*16,down_-bot_+8:MOVEleft_+spotb_-LEN(c_$)/2*16,down_-bot_+40:PRINTFNzero(c_$) 39160spote_=190:MOVEleft_+spote_,down_-100:PRINT"=":IFAnswer_%=TRUETHEN 39180e_=VAL(e_$):f_=VAL(f_$):IFWhole_(r_,2)<>0ORWhole_(r_,2)=0ANDe_=0THEN 39200whole_$=STR$(Whole_(r_,2)):spotc_=230:MOVEleft_+spotc_-LEN(whole_$)/2*16,down_-100:PRINTFNzero(whole_$):ona_=40:IFe_<>0 spotc_=220+LEN(whole_$)/2*16:MOVEleft_+ona_+spotc_-LEN(f_$)/2*16,down_-bot_:PRINTFNzero(f_$) 39240IFe_<>0MOVEleft_+ona_+spotc_-LEN(f_$)/2*16,down_-bot_+8:DRAWleft_+ona_+spotc_+LEN(f_$)/2*16,down_-bot_+8 39250IFe_<>0MOVEleft_+ona_+spotc_-LEN(e_$)/2*16,down_-bot_+40:PRINTFNzero(e_$) 39260ELSE:spotc_=240:MOVEleft_+spotc_-LEN(f_$)/2*16,down_-bot_:PRINTFNzero(f_$):MOVEleft_+spotc_-LEN(f_$)/2*16,down_-bot_+8:DRAWleft_+spotc_+LEN(f_$)/2*16,down_-bot_+8:MOVEleft_+spotc_-LEN(e_$)/2*16,down_-bot_+40:PRINTFNzero(e_$) 39310ENDIF 39320ENDIF 39330ENDIF:left_=dunkleft_:left_=left_+on_:down_=tdown_:NEXT:left_=mdivartleft_:down_=down_-180:NEXT:ENDPROC 39450DEFPROCWF1:IFquit_=TRUETHEN 39470FORt_=1TO12:FU1_(t_)=0:FU2_(t_)=0:FD1_(t_)=0:FD2_(t_)=0:FU3_(t_)=0:FU3_(t_)=0:Whole_(t_,0)=0:Whole_(t_,1)=0:Whole_(t_,2)=0:NEXT 39500ENDIF:mdivartleft_=X%+0:left_=mdivartleft_:on_=300:end_=100:down_=Y%-90:bot_=120:r_=0:FORq_=1TO4:FORw_=1TO3:r_=r_+1:dunkleft_=left_:a_$=STR$(FU1_(r_)):b_$=STR$(FD1_(r_)):c_$=STR$(FU2_(r_)):d_$=STR$(FD2_(r_)):e_$=STR$(FU3_(r_)):f_$=STR$(FD3_(r_)) 39600spotn_=50:MOVEleft_+spotn_-LEN(STR$(r_))*16,down_-50:PRINTFNzero(STR$(r_));")":spota_=70:tdown_=down_:down_=down_-30:IFWhole_(r_,0)<>0 whole_$=STR$(Whole_(r_,0)):MOVEleft_+spota_-30-LEN(whole_$)/2*16,down_-100:PRINTFNzero(whole_$) 39640MOVEleft_+spota_-LEN(b_$)/2*16,down_-bot_:PRINTFNzero(b_$):MOVEleft_+spota_-LEN(b_$)/2*16,down_-bot_+8:DRAWleft_+spota_+LEN(b_$)/2*16,down_-bot_+8:MOVEleft_+spota_-LEN(a_$)/2*16,down_-bot_+40:PRINTFNzero(a_$):IFWhole_(r_,1)<>0 spotp_=100ELSEspotp_=105 39700MOVEleft_+spotp_,down_-100:PRINTFracsign_$(r_):spotb_=160:IFWhole_(r_,1)<>0 whole_$=STR$(Whole_(r_,1)):MOVEleft_+spotb_-30-LEN(whole_$)/2*16,down_-100:PRINTFNzero(whole_$) 39740spotb_=160:MOVEleft_+spotb_-LEN(d_$)/2*16,down_-bot_:PRINTFNzero(d_$):MOVEleft_+spotb_-LEN(d_$)/2*16,down_-bot_+8:DRAWleft_+spotb_+LEN(d_$)/2*16,down_-bot_+8:MOVEleft_+spotb_-LEN(c_$)/2*16,down_-bot_+40:PRINTFNzero(c_$):IFAnswer_%=TRUETHEN 39780spote_=190:MOVEleft_+spote_,down_-100:PRINT"=":e_=VAL(e_$):f_=VAL(f_$):IFWhole_(r_,2)<>0ORWhole_(r_,2)=0ANDe_=0THEN 39810whole_$=STR$(Whole_(r_,2)):spotc_=230:MOVEleft_+spotc_-LEN(whole_$)/2*16,down_-100:PRINTFNzero(whole_$):ona_=30:IFe_<>0 spotc_=230:MOVEleft_+ona_+spotc_-LEN(f_$)/2*16,down_-bot_:PRINTFNzero(f_$) 39850IFe_<>0MOVEleft_+ona_+spotc_-LEN(f_$)/2*16,down_-bot_+8:DRAWleft_+ona_+spotc_+LEN(f_$)/2*16,down_-bot_+8 39860IFe_<>0MOVEleft_+ona_+spotc_-LEN(e_$)/2*16,down_-bot_+40:PRINTFNzero(e_$) 39870ELSE:spotc_=250:MOVEleft_+spotc_-LEN(f_$)/2*16,down_-bot_:PRINTFNzero(f_$):MOVEleft_+spotc_-LEN(f_$)/2*16,down_-bot_+8:DRAWleft_+spotc_+LEN(f_$)/2*16,down_-bot_+8:MOVEleft_+spotc_-LEN(e_$)/2*16,down_-bot_+40:PRINTFNzero(e_$) 39930ENDIF 39940ENDIF:left_=dunkleft_:left_=left_+on_:down_=tdown_:NEXT:left_=mdivartleft_:down_=down_-180:NEXT:ENDPROC 40060DEFPROCchoices:Choice_%=FNfWS("Choices"):$!StartX_%=STR$(rite_):$!pwon_%=STR$(pwon_):IFSign_%=TRUE:PROCsI(Choice_%,"signright"):PROCusI(Choice_%,"signleft")ELSEPROCusI(Choice_%,"signright"):PROCsI(Choice_%,"signleft") 40110IFSecAns_%=TRUEPROCsI(Choice_%,"SecAns") 40120IFLma_%=TRUEPROCsI(Choice_%,"Lma") 40130IFLda_%=TRUEPROCsI(Choice_%,"Lda") 40140IFdirect_%=TRUEPROCsI(Choice_%,"Direct") 40150IFremmy_=1PROCsI(Choice_%,"rem") 40160IFremmy_=2PROCsI(Choice_%,"dot") 40170IFremmy_=3PROCsI(Choice_%,"frac") 40180ENDPROC 40200DEFFNpwon_:IFremmy_<>2THEN=FALSE 40210pwon_$=$!pwon_%:pwon_=VAL(pwon_$):IFFNmouse=4ANDpwon_=3THEN=FALSE 40230IFFNmouse=4ANDpwon_<3THEN 40240pwon_=pwon_+1:$!pwon_%=STR$(pwon_):PROCrI(Choice_%,"pwon") 40270ENDIF:IFFNmouse=1ANDpwon_=1THEN=FALSE 40290IFFNmouse=1ANDpwon_>1THEN 40300pwon_=pwon_-1:$!pwon_%=STR$(pwon_):PROCrI(Choice_%,"pwon") 40330ENDIF:=FNredo 40360DEFFNredo:IFstarted_%=TRUEANDFNfWS("Divide")THEN=FNDivyGo_ 40380IFstarted_%=TRUEANDFNfWS("LongDiv")THEN=FNLongDivgo_ 40390=TRUE 40410DEFFNrem_:IFremmy_=1THENPROCsI(Choice_%,"rem"):=FALSE 40420remmy_=1:PROCsI(Choice_%,"rem"):PROCusI(Choice_%,"dot"):PROCusI(Choice_%,"frac"):=FNredo 40470DEFFNdot_:IFremmy_=2THENPROCsI(Choice_%,"dot"):=FALSE 40480remmy_=2:PROCsI(Choice_%,"dot"):PROCusI(Choice_%,"rem"):PROCusI(Choice_%,"frac"):=FNredo 40520DEFFNfrac_:IFremmy_=3THENPROCsI(Choice_%,"frac"):=FALSE 40530remmy_=3:PROCsI(Choice_%,"frac"):PROCusI(Choice_%,"rem"):PROCusI(Choice_%,"dot"):=FNredo 40570DEFFNDirect_:IFdirect_%=TRUEdirect_%=FALSEELSEdirect_%=TRUE 40590=TRUE 40610DEFPROCdo_:IFFNfWS("Add")ORFNfWS("Subtract")ORFNfWS("Multiply")ORFNfWS("LongMul")ORFNfWS("Madd")ORFNfWS("MetricSub")ORFNfWS("MetricMul")PROCdoo_ 40620ENDPROC 40630DEFPROCdoo_:IFFNgWx("GrafIt")ANDstarted_%THENn_=FNwindow("GrafIt"):n_=FNwindow("Choices") 40640ENDPROC 40660DEFFNsignleft_:IFNOTSign_%PROCsI(Choice_%,"signleft"):=TRUE 40670Sign_%=FALSE:PROCsI(Choice_%,"signleft"):PROCusI(Choice_%,"signright"):PROCdo_:=TRUE 40680DEFFNsignright_:IFSign_%PROCsI(Choice_%,"signright"):=TRUE 40690Sign_%=TRUE:PROCsI(Choice_%,"signright"):PROCusI(Choice_%,"signleft"):PROCdo_:=TRUE 40720DEFFNStartY_:StartY$=$!StartY_%:StartY=VAL(StartY$):IFFNmouse=4ANDStartY<1300THEN 40750StartY=StartY+1:$!StartY_%=STR$(StartY):PROCrI(Choice_%,"StartY") 40780ENDIF:IFFNmouse=1ANDStartY>1110THEN 40800StartY=StartY-1:$!StartY_%=STR$(StartY):PROCrI(Choice_%,"StartY") 40830ENDIF:=TRUE 40860DEFFNStartX_:StartX$=$!StartX_%:rite_=VAL(StartX$):IFFNmouse=4ANDrite_<16THEN 40890rite_=rite_+1:$!StartX_%=STR$(rite_):PROCrI(Choice_%,"StartX") 40920ENDIF:IFFNmouse=1ANDrite_>0THEN 40940rite_=rite_-1:$!StartX_%=STR$(rite_):PROCrI(Choice_%,"StartX") 40970ENDIF:=TRUE 41000DEFFNSaveChoice_:LOCALERROR:ONERRORLOCAL:PROCmoan(REPORT$):PROCusI(Choice_%,"SaveChoice"):ONERROROFF:=FALSE 41030DefStartX=rite_:DefStartY=StartY:save_%=OPENOUT"<MathsSys$Path>Numbers":PROCGetTitles:PRINT#save_%,rite_,StartY,Maintitle_$,Title_$,Choices_%,Sign_%,SecAns_%,Lda_%,Lma_%,direct_%,remmy_,pwon_:CLOSE#save_%:PROCusI(Choice_%,"SaveChoice"):=TRUE 41100DEFFNExit_:PROCcloseW(Choice_%):MOUSETO600,500:=TRUE 41120DEFFNSecAns_:IFSecAns_%=TRUESecAns_%=FALSE:PROCusI(Choice_%,"SecAns")ELSESecAns_%=TRUE:PROCsI(Choice_%,"SecAns") 41130PROCdo_:=TRUE 41150DEFFNLda_:IFLda_%=TRUELda_%=FALSE:PROCusI(Choice_%,"Lda")ELSELda_%=TRUE:PROCsI(Choice_%,"Lda") 41170=TRUE 41190DEFFNLma_:IFLma_%=TRUELma_%=FALSE:PROCusI(Choice_%,"Lma")ELSELma_%=TRUE:PROCsI(Choice_%,"Lma") 41210IFFNgWx("GrafIt")ANDFNfWS("LongMul")THENn_=FNwindow("GrafIt"):n_=FNwindow("Choices"):=TRUEELSE=TRUE 41220 41230DEFFNBothsums_:Choices_%=1:PROCtMIx("CreChoices",0):=TRUE 41240DEFFNBothans_:Choices_%=2:PROCtMIx("CreChoices",1):=TRUE 41250DEFFNHalfhalf_:Choices_%=3:PROCtMIx("CreChoices",2):=TRUE
$ݤstart_:�shut_:=�window("Main") (ݤmainW_:=�window("Main") Fݤdummy_:=� nݤm_:�H$:H$=$mn%:ȎH$� �T�"GrafIt":�Answer_%��pMI("GrafIt",0,"Answers off")��pMI("GrafIt",0,"Answers on") ��:=� �ݤsm_:�H$:H$=$mn%:ȎH$� �3�"CreChoices":�Choices_%=1�tMIx("CreChoices",0) %�Choices_%=2�tMIx("CreChoices",1) %�Choices_%=3�tMIx("CreChoices",2) �:=� 6 ݤsma_:=� ^ݤw_:Ȏ$wn%� r,�"Main":�shut_:WindowMain_%=�fWS("Main") |%�"GrafIt":GrafIt_%=�fWS("GrafIt") ��"TakeCards":�TakeCards ��"AddCards":�AddCards ��"TimesCards":�TimesCards ��"DivCards":�DivCards ��"Add":�Add ��"Subtract":�subtract ��"Multiply":�multiply ��"Divide":�Divide ��"Madd":�Madd ��"MetricSub":�Msub ��"Magic":�Magic ��"Sadd":�Sadd ��"Wadd":�Wadd �"FrMD":�FrMD �"LongMul":�LongMulty �"LongDiv":�LongDivy &�"MetricSub":�Msub 0�"MetricMul":�Mmul :�"MetDiv":�Mdiv D�"Choices":�choices N�:=� �ݤb_:=� �ݤe_:=� �ݤpK_:=� �ݤh_:Ȏ$wn%� �H�"GrafIt":="This is the main window of the 'New_Appln' application." �U�:�!h%=-2�="This is the 'New_Appln' icon.|MClick SELECT to open the main window." ="" ݤrM_:=� 4ݤrB_:=� RݤpB_:=� p��iBasic_g:� z��iSprite_g:� ���iAnimate_g:� ��ݤi_(A$,B%):�A%,C$:many_=12:last_=12:quit_=�:SecAns_%=�:Lda_%=�:Lma_%=�:�qual_$(10),qual_(10),act_$(10),gc_%(12),scoot_(10):EqSign_=�:EqEquals_=�:�LineType_(3):LineType_(3)=�:LineType_(2)=�:LineType_(1)=�:�finder_%(12) ��maxsub=6:�sub_$(maxsub),sub_(maxsub):sub_$(1)="-":sub_(1)=�:sub_$(2)="subtract":sub_(2)=�:sub_$(3)="minus":sub_(3)=�:sub_$(4)="take":sub_(4)=�:sub_$(5)="take away":sub_(5)=�:sub_$(6)="less":sub_(6)=� ��Takemaxy_=20:Takeminny_=10:maxadd=4:�add_$(maxadd),add_(maxadd):add_$(1)="+":add_(1)=�:add_$(2)="add":add_(2)=�:add_$(3)="plus":add_(3)=�:add_$(4)="and":add_(4)=�:Addmaxy_=10:Addminy_=1 �maxtimes=4:�time_$(maxtimes),times_(maxtimes):time_$(1)="x":times_(1)=�:time_$(2)="times":times_(2)=�:time_$(3)="multiplied by":times_(3)=�:maxtims=9:�tim_$(maxtims),tim_(maxtims) �tim_$(1)="2":tim_$(2)="3":tim_$(3)="4":tim_$(4)="5":tim_$(5)="6":tim_$(6)="7":tim_$(7)="8":tim_$(8)="9":tim_$(9)="10":tim_(1)=�:tim_(2)=�:tim_(3)=�:tim_(4)=�:tim_(5)=�:tim_(6)=�:tim_(7)=�:tim_(8)=�:tim_(9)=� P�maxdiv=3:�dive_$(maxdiv),dive_(maxdiv):�tempa_(10):dive_$(1)="�":dive_(1)=�:dive_$(2)="shared by":dive_(2)=�:dive_$(3)="divided by":dive_(3)=�:maxdivs=9:�div_$(maxdivs),div_(maxdivs) n�div_$(1)="2":div_$(2)="3":div_$(3)="4":div_$(4)="5":div_$(5)="6":div_$(6)="7":div_$(7)="8":div_$(8)="9":div_$(9)="10":div_(1)=�:div_(2)=�:div_(3)=�:div_(4)=�:div_(5)=�:div_(6)=�:div_(7)=�:div_(8)=�:div_(9)=� ���addy_(6):addy_(1)=�:�t_=2�6:addy_(t_)=�:�:maxaddcarry_=3:�addcarry_(maxaddcarry_):addcarry_(1)=�:addcarry_(2)=�:addcarry_(3)=�:�addytype_(6),lineaddy_(12):Anowts_%=�:�subby_(6):subby_(1)=�:�t_=2�6:subby_(t_)=�:� ��maxsubcarry_=3:�subcarry_(maxsubcarry_):subcarry_(1)=�:subcarry_(2)=�:subcarry_(3)=�:�subbytype_(6),linesubby_(12):nowts_%=�:�multy_(6):multy_(1)=�:�t_=2�6:multy_(t_)=�:�:maxmults=9:�mult_$(maxmults),mult_(maxmults) ,��t_=1�9:mult_$(t_)=�(t_+1):�:mult_(1)=�:�t_=2�9:mult_(t_)=�:�:�multytype_(6),linemulty_(12):Mnowts_%=�:Remainder_$="Ran":�dvy_(5):dvy_(1)=�:dvy_(2)=�:dvy_(3)=�:dvy_(4)=�:dvy_(5)=�:maxdvs=9:�dv_$(maxdvs),dv_(maxdvs) |�dv_$(1)="2":dv_$(2)="3":dv_$(3)="4":dv_$(4)="5":dv_$(5)="6":dv_$(6)="7":dv_$(7)="8":dv_$(8)="9":dv_$(9)="10":dv_(1)=�:dv_(2)=�:dv_(3)=�:dv_(4)=�:dv_(5)=�:dv_(6)=�:dv_(7)=�:dv_(8)=�:dv_(9)=� ���dvytype_(6),linedvy_(12):Dnowts_%=�:�cz_$(12):Fracadd_=�:Fractake_=�:addoms_=�:AddReps_=�:subdoms_=�:SubReps_=�:maxfrac_=12:�f_(maxfrac_),frac_(maxfrac_):�FU1_(12),FD1_(12),FU2_(12),FD2_(12),FU3_(12),FD3_(12) ��f_(1)=�:f_(2)=�:f_(3)=�:f_(4)=�:f_(5)=�:f_(6)=�:f_(7)=�:�r_=8�12:f_(r_)=�:�:�r_=1�9:frac_(r_)=r_+1:�:frac_(10)=12:frac_(11)=15:frac_(12)=20:�Sadcarry_(3):Sadcarry_(1)=�:Sadcarry_(2)=�:Sadcarry_(3)=�:�Fracsign_$(12) :�WFracadd_=�:WFractake_=�:Waddoms_=�:WAddReps_=�:Wsubdoms_=�:WSubReps_=�:Wmaxfrac_=12:�wf_(Wmaxfrac_),wfrac_(Wmaxfrac_):�WFU1_(12),WFD1_(12),WFU2_(12),WFD2_(12),WFU3_(12),WFD3_(12),Whole_(12,2) l�f_(1)=�:wf_(2)=�:wf_(3)=�:wf_(4)=�:wf_(5)=�:wf_(6)=�:wf_(7)=�:�r_=8�12:wf_(r_)=�:�:�r_=1�9:wfrac_(r_)=r_+1:�:wfrac_(10)=12:wfrac_(11)=15:wfrac_(12)=20:�WSadcarry_(3):WSadcarry_(1)=�:WSadcarry_(2)=�:WSadcarry_(3)=� ���WSTakecar_(3):WSTakecar_(1)=�:WSTakecar_(2)=�:WSTakecar_(3)=�:Fracmult_=�:Fracdiv_=�:Frtdom_=�:Frtrep_=�:Frddom_=�:Frdrep_=�:�mf_(12),mfv_(12):�r_=1�9:mfv_(r_)=r_+1:�:mfv_(10)=12:mfv_(11)=15:mfv_(12)=20 ��mf_(1)=�:mf_(2)=�:�r_=3�12:mf_(r_)=�:�:Frmwhole_=�:Frdwhole_=�:�LongMul_(6):LongMul_(1)=�:�t_=2�6:LongMul_(t_)=�:�:Longstyle_=1:�Longchoice_$(8),froc_(8):�LongDiv_(7):LongDiv_(1)=�:�t_=2�7:LongDiv_(t_)=�:�:LRemainder_$="Ran" z��maddy_(6):maddy_(1)=�:�w_=2�6:maddy_(w_)=�:�:maddcarry_$="Ran":�mt_(6):�w_=1�6:mt_(w_)=�:�:�thou_$(3),hun_$(3),top_$(12):�msub_(6):msub_(1)=�:�w_=2�6:msub_(w_)=�:�:msubcarry_$="Ran":�st_(6):�w_=1�6:st_(w_)=�:� ���mmul_(6):mmul_(1)=�:�w_=2�6:mmul_(w_)=�:�:�mmt_(6):�w_=1�6:mmt_(w_)=�:�:�Mmult_$(9),Mmult_(9):�t_=1�9:Mmult_$(t_)=�(t_+1):�:Mmult_(1)=�:�t_=2�9:Mmult_(t_)=�:�:�md_(6):md_(1)=�:�w_=2�6:md_(w_)=�:� 8��mdt_(6):�w_=1�6:mdt_(w_)=�:�:�Mdiv_$(9),Mdiv_(9):�t_=1�9:Mdiv_$(t_)=�(t_+1):�:Mdiv_(1)=�:�t_=2�9:Mdiv_(t_)=�:�:LineTypeards_%=�:TakeCard_%=�:�dunk_$(10):started_%=�:twoxc=�:threexc=�:fourxc=�:fivexc=�:sixxc=� ��sevenxc=�:eightxc=�:ninexc=�:tenxc=�:EqSign_=�:EqEquals_=�:Addadd=�:Addplus=�:Addsign=�:�Na_%(12),Nb_%(12),Nc_%(12),linetype_(10),equal_$(10) ��save_%=�"<MathsSys$Path>Numbers":�#save_%,rite_,StartY,Maintitle_$,Title_$,Choices_%,Sign_%,SecAns_%,Lda_%,Lma_%,direct_%,remmy_,pwon_:�#save_%:DefStartX=rite_:DefStartY=StartY:DefaultStartX=100:DefaultStartY=1240 ��a_(12),b_(12),c_(12),rem_(12),a_$(12),b_$(12),c_$(12),rem_$(12):�magic_(9,9):MagRange_$="1 to 25":�bas_(9),baa_(9):�pat_$(9),pattern_(9),bas_$(9):Answer_%=�:mult_=2:gap_=0:Clue_$="":Zero_$="Random":metric_$="�":�iRes(A$,B%) ��iGraphics("",B%):=� �-��shut_:�gWx("GrafIt"):�closeW(GrafIt_%) �)�fWS("TakeCards")�closeW(TakeCard_%) �'�fWS("AddCards")�closeW(AddCard_%) �+�fWS("TimesCards")�closeW(TimesCard_%) '�fWS("DivCards")�closeW(DivCard_%) �fWS("Add")�closeW(WAdd_%) $�fWS("Subtract")�closeW(WSub_%) "%�fWS("Multiply")�closeW(WMult_%) ,"�fWS("Divide")�closeW(WDiv_%) 6"�fWS("Magic")�closeW(Magic_%) @�fWS("Sadd")�closeW(Sad_%) J�fWS("Wadd")�closeW(Wad_%) T �fWS("FrMD")�closeW(FrMD_%) ^&�fWS("LongMul")�closeW(LongMul_%) h&�fWS("LongDiv")�closeW(LongDiv_%) r �fWS("Madd")�closeW(Madd_%) |%�fWS("MetricSub")�closeW(Msub_%) �%�fWS("MetricMul")�closeW(Mmul_%) �"�fWS("MetDiv")�closeW(Mdiv_%) �%�fWS("Choices")�closeW(Choice_%) �fAddCard_%=�:TakeCard_%=�:TimesCard_%=�:DivCard_%=�:started_%=�:�:�gWx("GrafIt"):�closeW(GrafIt_%) � �gWx("Add"):�closeW(WAdd_%) �%�gWx("Subtract"):�closeW(WSub_%) �&�gWx("Multiply"):�closeW(WMult_%) �#�gWx("Divide"):�closeW(WDiv_%) �#�gWx("Magic"):�closeW(Magic_%) �&�gWx("MetricAdd"):�closeW(Madd_%) &�gWx("MetricSub"):�closeW(Msub_%) &�gWx("MetricMul"):�closeW(Mmul_%) '�gWx("LongMul"):�closeW(LongMul_%) &%�gWx("StartX"):�closeW(Start_X%) 0(�gWx("AddCards"):�closeW(AddCard_%) :*�gWx("TakeCards"):�closeW(TakeCard_%) D,�gWx("TimesCards"):�closeW(TimesCard_%) N(�gWx("DivCards"):�closeW(DivCard_%) XDAddCard_%=�:TakeCard_%=�:TimesCard_%=�:DivCard_%=�:started_%=�:� �?ݤChoices_:�usI(WindowMain_%,"Choices"):=�window("Choices") �}ݤTakecards_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("TakeCards"):open2_%=�window("GrafIt"):=� �{ݤAddcards_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("AddCards"):open2_%=�window("GrafIt"):=� �ݤTimesCards_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("TimesCards"):open2_%=�window("GrafIt"):=� �{ݤDivCards_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("DivCards"):open2_%=�window("GrafIt"):=� �qݤAdd_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("Add"):open2_%=�window("GrafIt"):=� �{ݤSubtract_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("Subtract"):open2_%=�window("GrafIt"):=� {ݤMultiply_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("Multiply"):open2_%=�window("GrafIt"):=� wݤDivide_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("Divide"):open2_%=�window("GrafIt"):=� *uݤMagic_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("Magic"):open2_%=�window("GrafIt"):=� >sݤSadd_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("Sadd"):open2_%=�window("GrafIt"):=� RsݤWadd_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("Wadd"):open2_%=�window("GrafIt"):=� fsݤFrMD_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("FrMD"):open2_%=�window("GrafIt"):=� zsݤMadd_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("Madd"):open2_%=�window("GrafIt"):=� �|ݤMetricSub_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open_%=�window("MetricSub"):open2_%=�window("GrafIt"):=� �|ݤMetricMul_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open_%=�window("MetricMul"):open2_%=�window("GrafIt"):=� �yݤMetricDiv_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open_%=�window("MetDiv"):open2_%=�window("GrafIt"):=� �yݤLongMul_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("LongMul"):open2_%=�window("GrafIt"):=� �yݤLongDiv_:Clue_$="":�shut_:started_%=�:�closeW(WindowMain_%):open1_%=�window("LongDiv"):open2_%=�window("GrafIt"):=� $[��whatqual:�TakeCard_% tot_=maxsub:�r_=1�tot_:qual_$(r_)=sub_$(r_):qual_(r_)=sub_(r_):� 8O�AddCard_% tot_=maxadd:�r_=1�tot_:qual_$(r_)=add_$(r_):qual_(r_)=add_(r_):� BV�TimesCard_% tot_=maxtimes:�r_=1�tot_:qual_$(r_)=time_$(r_):qual_(r_)=times_(r_):� LQ�DivCard_% tot_=maxdiv:�r_=1�tot_:qual_$(r_)=dive_$(r_):qual_(r_)=dive_(r_):� VBgot_%=0:�r_%=1�tot_:�qual_(r_%)=�got_%=got_%+1:gc_%(got_%)=r_% j�:�qual(got_%):� �C��qual(g_%):�g_%=1��tr_%=1�10:act_$(tr_%)=qual_$(gc_%(g_%)):�:� ��needed_%=10�g_%:�:�y_=1�g_%:finder_%(y_)=0:�:flag_=�:�tr_%=1�10:�:flig_=�:ran_=�(g_%):act_$=qual_$(gc_%(ran_)):�tr_%>1�act_$(tr_%-1)=act_$ flig_=� �x�flig_=�:act_$(tr_%)=qual_$(gc_%(ran_)):finder_%(ran_)=finder_%(ran_)+1:�:�b_%=1�g_%:�finder_%(b_%)<needed_% flag_=� �:�flag_=�:� (P��whatlines_:got_%=0:�r_%=1�3:�LineType_(r_%)=�got_%=got_%+1:gc_%(got_%)=r_% <9�:�got_%=1��tr_%=1�10:linetype_(tr_%)=gc_%(got_%):�:� P�needed_%=10�got_%:�:�y_=1�got_%:finder_%(y_)=0:�:flag_=�:�tr_%=1�10:�:flig_=�:ran_=�(got_%):linetype_=gc_%(ran_):�tr_%>1�linetype_(tr_%-1)=linetype_ flig_=� �t�flig_=�:linetype_(tr_%)=gc_%(ran_):finder_%(ran_)=finder_%(ran_)+1:�:�y_=1�got_%:�finder_%(y_)<needed_% flag_=� ��:�flag_=�:� �G��whatequals:�EqSign_=��EqEquals_=��tr_%=1�10:equal_$(tr_%)="=":�:� ?�EqSign_=��EqEquals_=��tr_%=1�10:equal_$(tr_%)="equals":�:� +�two("equals","="):equal_$()=dunk_$():� "Y��two(a_$,b_$):�:aa_=0:ap_=0:�tr_%=1�10:�:flug_=�:r_=�(2):�r_=1 dunk_$=a_$�dunk_$=b_$ T)�tr_%>1�dunk_$(tr_%-1)=dunk_$ flug_=� ^H�flug_=�:�r_=1 dunk_$(tr_%)=a_$:aa_=aa_+1�dunk_$(tr_%)=b_$:ap_=ap_+1 r�:�aa_>4�ap_>4:� �:ݤEqSign_:�EqSign_=��EqEquals_=�EqSign_=�:�selectEq:=� �&�EqSign_=�EqSign_=�:�UnselectEq:=� �$�EqSign_=�EqSign_=�:�selectEq:=� � �BݤEqEquals_:�EqEquals_=��EqSign_=�EqEquals_=�:�selectEquals:=� �.�EqEquals_=�EqEquals_=�:�UnselectEquals:=� �,�EqEquals_=�EqEquals_=�:�selectEquals:=� � �0��selectEq:�AddCard_%�sI(AddCard_%,"EqSign") �'�TakeCard_%�sI(TakeCard_%,"EqSign") )�TimesCard_%�sI(TimesCard_%,"EqSign") %�DivCard_%�sI(DivCard_%,"EqSign") � 0/��UnselectEq:�AddCard_%�usI(AddCard_%,"Eq") D$�TakeCard_%�usI(TakeCard_%,"Eq") N*�TimesCard_%�usI(TimesCard_%,"EqSign") X&�DivCard_%�usI(DivCard_%,"EqSign") b� v6��selectEquals:�AddCard_%�sI(AddCard_%,"EqEquals") �)�TakeCard_%�sI(TakeCard_%,"EqEquals") �+�TimesCard_%�sI(TimesCard_%,"EqEquals") �'�DivCard_%�sI(DivCard_%,"EqEquals") �� �9��UnselectEquals:�AddCard_%�usI(AddCard_%,"EqEquals") �*�TakeCard_%�usI(TakeCard_%,"EqEquals") �,�TimesCard_%�usI(TimesCard_%,"EqEquals") �(�DivCard_%�usI(DivCard_%,"EqEquals") �� NݤLineType1_:�LineType_(2)=��LineType_(3)=��LineType_(1)=�:�selectline1:=� 1�LineType_(1)=�LineType_(1)=�:�selectline1:=� 3�LineType_(1)=�LineType_(1)=�:�Unselectline1:=� *NݤLineType2_:�LineType_(1)=��LineType_(3)=��LineType_(2)=�:�selectline2:=� >1�LineType_(2)=�LineType_(2)=�:�selectline2:=� H3�LineType_(2)=�LineType_(2)=�:�Unselectline2:=� RNݤLineType3_:�LineType_(1)=��LineType_(2)=��LineType_(3)=�:�selectline3:=� f1�LineType_(3)=�LineType_(3)=�:�selectline3:=� p3�LineType_(3)=�LineType_(3)=�:�Unselectline3:=� z �8��selectline1:�TakeCard_%�sI(TakeCard_%,"LineType1") �(�AddCard_%�sI(AddCard_%,"LineType1") �,�TimesCard_%�sI(TimesCard_%,"LineType1") �(�DivCard_%�sI(DivCard_%,"LineType1") �� �;��Unselectline1:�TakeCard_%�usI(TakeCard_%,"LineType1") �)�AddCard_%�usI(AddCard_%,"LineType1") �-�TimesCard_%�usI(TimesCard_%,"LineType1") �)�DivCard_%�usI(DivCard_%,"LineType1") �� �8��selectline2:�TakeCard_%�sI(TakeCard_%,"LineType2") (�AddCard_%�sI(AddCard_%,"LineType2") ,�TimesCard_%�sI(TimesCard_%,"LineType2") $(�DivCard_%�sI(DivCard_%,"LineType2") .� 8;��Unselectline2:�TakeCard_%�usI(TakeCard_%,"LineType2") L)�AddCard_%�usI(AddCard_%,"LineType2") V-�TimesCard_%�usI(TimesCard_%,"LineType2") `)�DivCard_%�usI(DivCard_%,"LineType2") j� t8��selectline3:�TakeCard_%�sI(TakeCard_%,"LineType3") �(�AddCard_%�sI(AddCard_%,"LineType3") �,�TimesCard_%�sI(TimesCard_%,"LineType3") �(�DivCard_%�sI(DivCard_%,"LineType3") �� �;��Unselectline3:�TakeCard_%�usI(TakeCard_%,"LineType3") �)�AddCard_%�usI(AddCard_%,"LineType3") �-�TimesCard_%�usI(TimesCard_%,"LineType3") �)�DivCard_%�usI(DivCard_%,"LineType3") �� �wݤAnswers_:�Answer_%=�Answer_%=�:�pMI("GrafIt",0,"Answers off")��Answer_%=�Answer_%=�:�pMI("GrafIt",0,"Answers on") =�sums P���AddCards:AddCard_%=�fWS("AddCards"):$!Addmaxy_%=�(Addmaxy_):�rI(AddCard_%,"Addmaxy"):$!Addminy_%=�(Addminy_):�rI(AddCard_%,"Addminy"):�LineType_(1)�sI(AddCard_%,"LineType1") x+�LineType_(2)�sI(AddCard_%,"LineType2") �+�LineType_(3)�sI(AddCard_%,"LineType3") �#�EqSign_�sI(AddCard_%,"EqSign") �'�EqEquals_�sI(AddCard_%,"EqEquals") �!�add_(1)�sI(AddCard_%,"add1") �!�add_(2)�sI(AddCard_%,"add2") �!�add_(3)�sI(AddCard_%,"add3") �!�add_(4)�sI(AddCard_%,"add4") �� �(ݤadd_:c_=0:�h_=1�4:�add_(h_)c_=c_+1 � �:=c_ ?ݤadd1_:�add_(1)��add_=1 add_(1)=�:�sI(AddCard_%,"add1"):=� �add_(1)add_(1)=��add_(1)=� =� "?ݤadd2_:�add_(2)��add_=1 add_(2)=�:�sI(AddCard_%,"add2"):=� ,�add_(2)add_(2)=��add_(2)=� 6=� @?ݤadd3_:�add_(3)��add_=1 add_(3)=�:�sI(AddCard_%,"add3"):=� J�add_(3)add_(3)=��add_(3)=� T=� ^?ݤadd4_:�add_(4)��add_=1 add_(4)=�:�sI(AddCard_%,"add4"):=� h�add_(4)add_(4)=��add_(4)=� r=� |5ݤAddmaxy_:�getaddmax:�sCI(!(AddCard_%+12),20):=� �>��getaddmax:Addmaxy_=�($!Addmaxy_%):�Addmaxy_<4 Addmaxy_=4 ��Addmaxy_>500 Addmaxy_=500 �6$!Addmaxy_%=�(Addmaxy_):�rI(AddCard_%,"Addmaxy"):� �@ݤAddminy_:�getaddmax:�getaddmin:�sCI(!(AddCard_%+12),20):=� �>��getaddmin:Addminy_=�($!Addminy_%):�Addminy_<1 Addminy_=0 �,�Addminy_>Addmaxy_-4 Addminy_=Addmaxy_-4 �6$!Addminy_%=�(Addminy_):�rI(AddCard_%,"Addminy"):� ��ݤAddcGo_:�GetTitles:dummy_=�(-�):�whatlines_:�whatqual:�whatequals:�calcadd:�usI(AddCard_%,"AddcGo"):last_=3:quit_=�:Clue_$="CardsAdd":started_%=�:=�sums :���calcadd:ș"Hourglass_On":�getaddmax:�getaddmin:�tr_%=1�10:ș"Hourglass_Percentage",tr_%/10*100:�:flag_=0:�:dif_%=Addmaxy_-Addminy_:wh_=�(2):�wh_=1�dd_%=�(dif_%):Na_%=Addminy_+dd_%:dd_%=�(dif_%)-1:Nb_%=Addminy_+dd_% �;�wh_=2�dd_%=�(dif_%)-1:Na_%=Addminy_+dd_%:dd_%=�(dif_%) �>Nb_%=Addminy_+dd_%:�Na_%>=Addminy_�Nb_%>=Addminy_:�tr_%>1� �7�e_%=1�tr_%-1:�Na_%=Na_%(e_%)�Nb_%=Nb_%(e_%)flag_=1 �� �e�:�flag_=0:Na_%(tr_%)=Na_%:Nb_%(tr_%)=Nb_%:Nc_%(tr_%)=Na_%(tr_%)+Nb_%(tr_%):�:ș"Hourglass_Off":� ���TakeCards:TakeCard_%=�fWS("TakeCards"):$!Takemaxy_%=�(Takemaxy_):�rI(TakeCard_%,"Takemaxy"):$!Takeminny_%=�(Takeminny_):�rI(TakeCard_%,"Takeminny"):�LineType_(1)�sI(TakeCard_%,"LineType1") H,�LineType_(2)�sI(TakeCard_%,"LineType2") R,�LineType_(3)�sI(TakeCard_%,"LineType3") \(�EqEquals_�sI(TakeCard_%,"EqEquals") f$�EqSign_�sI(TakeCard_%,"EqSign") p"�sub_(1)�sI(TakeCard_%,"sub1") z"�sub_(2)�sI(TakeCard_%,"sub2") �"�sub_(3)�sI(TakeCard_%,"sub3") �"�sub_(4)�sI(TakeCard_%,"sub4") �"�sub_(5)�sI(TakeCard_%,"sub5") �"�sub_(6)�sI(TakeCard_%,"sub6") �� �(ݤsub_:c_=0:�h_=1�6:�sub_(h_)c_=c_+1 � �:=c_ �@ݤsub1_:�sub_(1)��sub_=1 sub_(1)=�:�sI(TakeCard_%,"sub1"):=� ��sub_(1)sub_(1)=��sub_(1)=� �=� @ݤsub2_:�sub_(2)��sub_=1 sub_(2)=�:�sI(TakeCard_%,"sub2"):=� !�sub_(2)=�sub_(2)=��sub_(2)=� =� $@ݤsub3_:�sub_(3)��sub_=1 sub_(3)=�:�sI(TakeCard_%,"sub3"):=� .!�sub_(3)=�sub_(3)=��sub_(3)=� 8=� B@ݤsub4_:�sub_(4)��sub_=1 sub_(4)=�:�sI(TakeCard_%,"sub4"):=� L!�sub_(4)=�sub_(4)=��sub_(4)=� V=� `@ݤsub5_:�sub_(5)��sub_=1 sub_(5)=�:�sI(TakeCard_%,"sub5"):=� j!�sub_(5)=�sub_(5)=��sub_(5)=� t=� ~@ݤsub6_:�sub_(6)��sub_=1 sub_(6)=�:�sI(TakeCard_%,"sub6"):=� ��sub_(6)sub_(6)=��sub_(6)=� �=� �8ݤTakemaxy_:�gettakemax:�sCI(!(TakeCard_%+12),19):=� �C��gettakemax:Takemaxy_=�($!Takemaxy_%):�Takemaxy_<4 Takemaxy_=4 �:$!Takemaxy_%=�(Takemaxy_):�rI(TakeCard_%,"Takemaxy"):� �EݤTakeminny_:�gettakemax:�gettakemin:�sCI(!(TakeCard_%+12),19):=� �G��gettakemin:Takeminny_=�($!Takeminny_%):�Takeminny_<0 Takeminny_=0 2�Takeminny_>Takemaxy_-4 Takeminny_=Takemaxy_-4 =$!Takeminny_%=�(Takeminny_):�rI(TakeCard_%,"Takeminny"):� <�ݤTakecGo_:�GetTitles:dummy_=�(-�):�whatlines_:�whatqual:�whatequals:�calctake:�usI(TakeCard_%,"TakecGo"):last_=3:quit_=�:Clue_$="CardsTake":started_%=�:=�sums x���calctake:ș"Hourglass_On":�gettakemax:�gettakemin:many_=10:�tr_%=1�10:�:flag_=0:ș"Hourglass_Percentage",tr_%/10*100:�:�:Na_%=�(Takemaxy_):�Na_%>=Takeminny_:�:Nb_%=�(Takemaxy_+1):Nb_%=Nb_%-1:�Nb_%>=Takeminny_:�Na_%-Nb_%>-1 ��tr_%>1� �7�e_%=1�tr_%-1:�Na_%=Na_%(e_%)�Nb_%=Nb_%(e_%)flag_=1 �� �e�:�flag_=0:Na_%(tr_%)=Na_%:Nb_%(tr_%)=Nb_%:Nc_%(tr_%)=Na_%(tr_%)-Nb_%(tr_%):�:ș"Hourglass_Off":� JO��TimesCards:TimesCard_%=�fWS("TimesCards"):�tim_(1)�sI(TimesCard_%,"tim1") ^#�tim_(2)�sI(TimesCard_%,"tim2") h#�tim_(3)�sI(TimesCard_%,"tim3") r#�tim_(4)�sI(TimesCard_%,"tim4") |#�tim_(5)�sI(TimesCard_%,"tim5") �#�tim_(6)�sI(TimesCard_%,"tim6") �#�tim_(7)�sI(TimesCard_%,"tim7") �#�tim_(8)�sI(TimesCard_%,"tim8") �#�tim_(9)�sI(TimesCard_%,"tim9") �-�LineType_(1)�sI(TimesCard_%,"LineType1") �-�LineType_(2)�sI(TimesCard_%,"LineType2") �-�LineType_(3)�sI(TimesCard_%,"LineType3") �%�EqSign_�sI(TimesCard_%,"EqSign") �)�EqEquals_�sI(TimesCard_%,"EqEquals") �'�times_(1)�sI(TimesCard_%,"times1") �'�times_(2)�sI(TimesCard_%,"times2") �'�times_(3)�sI(TimesCard_%,"times3") �� &(ݤtim_:c_=0:�h_=1�9:�tim_(h_)c_=c_+1 0 �:=c_ :Aݤtim1_:�tim_(1)��tim_=1 tim_(1)=�:�sI(TimesCard_%,"tim1"):=� D�tim_(1)tim_(1)=��tim_(1)=� N=� XAݤtim2_:�tim_(2)��tim_=1 tim_(2)=�:�sI(TimesCard_%,"tim2"):=� b�tim_(2)tim_(2)=��tim_(2)=� l=� vAݤtim3_:�tim_(3)��tim_=1 tim_(3)=�:�sI(TimesCard_%,"tim3"):=� ��tim_(3)tim_(3)=��tim_(3)=� �=� �Aݤtim4_:�tim_(4)��tim_=1 tim_(4)=�:�sI(TimesCard_%,"tim4"):=� ��tim_(4)tim_(4)=��tim_(4)=� �=� �Aݤtim5_:�tim_(5)��tim_=1 tim_(5)=�:�sI(TimesCard_%,"tim5"):=� ��tim_(5)tim_(5)=��tim_(5)=� �=� �Aݤtim6_:�tim_(6)��tim_=1 tim_(6)=�:�sI(TimesCard_%,"tim6"):=� ��tim_(6)tim_(6)=��tim_(6)=� �=� �Aݤtim7_:�tim_(7)��tim_=1 tim_(7)=�:�sI(TimesCard_%,"tim7"):=� ��tim_(7)tim_(7)=��tim_(7)=� =� Aݤtim8_:�tim_(8)��tim_=1 tim_(8)=�:�sI(TimesCard_%,"tim8"):=� �tim_(8)tim_(8)=��tim_(8)=� =� *Aݤtim9_:�tim_(9)��tim_=1 tim_(9)=�:�sI(TimesCard_%,"tim9"):=� 4�tim_(9)tim_(9)=��tim_(9)=� >=� RVݤtimes1_:�times_(1)�times_(2)+times_(3)=�times_(1)=�:�sI(TimesCard_%,"times1"):=� \%�times_(1)times_(1)=��times_(1)=� f=� pVݤtimes2_:�times_(2)�times_(1)+times_(3)=�times_(2)=�:�sI(TimesCard_%,"times2"):=� z'�times_(2)=�times_(2)=��times_(2)=� �=� �Vݤtimes3_:�times_(3)�times_(1)+times_(2)=�times_(3)=�:�sI(TimesCard_%,"times3"):=� �'�times_(3)=�times_(3)=��times_(3)=� �=� ʳݤTimescGo_:�GetTitles:dummy_=�(-�):�whatlines_:�whatqual:�whatequals:�whattimes:�calctimes:last_=3:quit_=�:Clue_$="CardsTimes":started_%=�:�usI(TimesCard_%,"TimescGo"):=�sums \��whattimes:ș"Hourglass_On":got_%=0:�r_%=1�9:�tim_(r_%)=��got_%=got_%+1:gc_%(got_%)=r_% $+�:�got_%=1�onetimes:ș"Hourglass_Off":� 8[�got_%>4�times(got_%,10):�r_=1�10:Nb_%(r_)=�(tim_$(finder_%(r_))):�:ș"Hourglass_Off":� Bgneeded_%=10�got_%:�r_=1�10:gc_%(r_)=0:�:got_%=0:�r_%=1�9:�tim_(r_%)=��got_%=got_%+1:gc_%(got_%)=r_% `��:�:flag_=�:�r_=1�10:finder_%(r_)=0:�:�r_=1�10:ș"Hourglass_Percentage",r_/10*100:�:flig_=�:ran_%=�(got_%):�r_>1��(tim_$(gc_%(ran_%)))=Nb_%(r_-1)flig_=� �z�flig_=�:Nb_%(r_)=�(tim_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:�:�t_=1�got_%:�finder_%(t_)<needed_% flag_=� �"�:�flag_=�:ș"Hourglass_Off":� �J��onetimes:�r_%=1�9:�tim_(r_%)=���tr_%=1�10:Nb_%(tr_%)=�(tim_$(r_%)):� �:� }��times(git_%,top_%):�r_=1�top_%:finder_%(r_)=0:�:�h_=1�git_%:�:tf_=�:h_%=gc_%(�(git_%)):�j_=1�h_:�finder_%(j_)=h_% tf_=� Zq�:�tf_=�:finder_%(h_)=h_%:�:k_=git_%+1:�h_=k_�top_%:�:tf_=�:�:h_%=gc_%(�(git_%)):�h_%<>finder_%(h_-1):�h_>k_� �%�j_=k_�h_:�finder_%(j_)=h_% tf_=� �� �!�:�tf_=�:finder_%(h_)=h_%:�:� ~��calctimes:ș"Hourglass_On":�tr_%=1�10:ș"Hourglass_Percentage",tr_%/10*100:�:flag_=0:Na_%=�(10):Nb_%=Nb_%(tr_%):�tr_%>1� T7�e_%=1�tr_%-1:�Na_%=Na_%(e_%)�Nb_%=Nb_%(e_%)flag_=1 ^� he�:�flag_=0:Na_%(tr_%)=Na_%:Nb_%(tr_%)=Nb_%:Nc_%(tr_%)=Na_%(tr_%)*Nb_%(tr_%):�:ș"Hourglass_Off":� �I��DivCards:DivCard_%=�fWS("DivCards"):�div_(1)=��sI(DivCard_%,"div1") �#�div_(2)=��sI(DivCard_%,"div2") �#�div_(3)=��sI(DivCard_%,"div3") �#�div_(4)=��sI(DivCard_%,"div4") �#�div_(5)=��sI(DivCard_%,"div5") �#�div_(6)=��sI(DivCard_%,"div6") #�div_(7)=��sI(DivCard_%,"div7") #�div_(8)=��sI(DivCard_%,"div8") #�div_(9)=��sI(DivCard_%,"div9") &-�LineType_(1)=��sI(DivCard_%,"LineType1") 0-�LineType_(2)=��sI(DivCard_%,"LineType2") :-�LineType_(3)=��sI(DivCard_%,"LineType3") D%�EqSign_=��sI(DivCard_%,"EqSign") N)�EqEquals_=��sI(DivCard_%,"EqEquals") X%�dive_(1)=��sI(DivCard_%,"dive1") b%�dive_(2)=��sI(DivCard_%,"dive2") l%�dive_(3)=��sI(DivCard_%,"dive3") v� �(ݤdiv_:c_=0:�h_=1�9:�div_(h_)c_=c_+1 � �:=c_ �?ݤdiv1_:�div_(1)��div_=1 div_(1)=�:�sI(DivCard_%,"div1"):=� ��div_(1)div_(1)=��div_(1)=� �=� �?ݤdiv2_:�div_(2)��div_=1 div_(2)=�:�sI(DivCard_%,"div2"):=� ��div_(2)div_(2)=��div_(2)=� �=� �?ݤdiv3_:�div_(3)��div_=1 div_(3)=�:�sI(DivCard_%,"div3"):=� ��div_(3)div_(3)=��div_(3)=� !=� !?ݤdiv4_:�div_(4)��div_=1 div_(4)=�:�sI(DivCard_%,"div4"):=� !�div_(4)div_(4)=��div_(4)=� ! =� !*?ݤdiv5_:�div_(5)��div_=1 div_(5)=�:�sI(DivCard_%,"div5"):=� !4�div_(5)div_(5)=��div_(5)=� !>=� !H?ݤdiv6_:�div_(6)��div_=1 div_(6)=�:�sI(DivCard_%,"div6"):=� !R�div_(6)div_(6)=��div_(6)=� !\=� !f?ݤdiv7_:�div_(7)��div_=1 div_(7)=�:�sI(DivCard_%,"div7"):=� !p�div_(7)div_(7)=��div_(7)=� !z=� !�?ݤdiv8_:�div_(8)��div_=1 div_(8)=�:�sI(DivCard_%,"div8"):=� !��div_(8)div_(8)=��div_(8)=� !�=� !�?ݤdiv9_:�div_(9)��div_=1 div_(9)=�:�sI(DivCard_%,"div9"):=� !��div_(9)div_(9)=��div_(9)=� !�=� !�Nݤdive1_:�dive_(1)�dive_(2)+dive_(3)=�dive_(1)=�:�sI(DivCard_%,"dive1"):=� !�;�dive_(1)=�dive_(1)=��dive_(1)=�:�sI(DivCard_%,"dive1") !�=� !�Pݤdive2_:�dive_(2)=��dive_(1)+dive_(3)=�dive_(2)=�:�sI(DivCard_%,"dive2"):=� !�;�dive_(2)=�dive_(2)=��dive_(2)=�:�sI(DivCard_%,"dive2") !�=� "Pݤdive3_:�dive_(3)=��dive_(1)+dive_(2)=�dive_(3)=�:�sI(DivCard_%,"dive3"):=� ";�dive_(3)=�dive_(3)=��dive_(3)=�:�sI(DivCard_%,"dive3") "=� "B�ݤDivcGo_:�GetTitles:dummy_=�(-�):�whatlines_:�whatqual:�whatequals:�whatdiv:�calcdiv:last_=3:quit_=�:Clue_$="CardsDiv":started_%=�:�usI(DivCard_%,"DivcGo"):=�sums "�|��calcdiv:ș"Hourglass_On":�tr_%=1�10:�:flag_=0:ș"Hourglass_Percentage",tr_%/10*100:Na_%=�(10):Nb_%=Nb_%(tr_%):�tr_%>1� "�7�e_%=1�tr_%-1:�Na_%=Na_%(e_%)�Nb_%=Nb_%(e_%)flag_=1 "�� "�r�:�flag_=0:tempa_(tr_%)=Na_%:�:�r_=1�10:Na_%(r_)=tempa_(r_)*Nb_%(r_):Nc_%(r_)=tempa_(r_):�:ș"Hourglass_Off":� #Z��whatdiv:ș"Hourglass_On":got_%=0:�r_%=1�9:�div_(r_%)=��got_%=got_%+1:gc_%(got_%)=r_% #()�:�got_%=1�onediv:ș"Hourglass_Off":� #<[�got_%>4�times(got_%,10):�r_=1�10:Nb_%(r_)=�(div_$(finder_%(r_))):�:ș"Hourglass_Off":� #Fgneeded_%=10�got_%:�r_=1�10:gc_%(r_)=0:�:got_%=0:�r_%=1�9:�div_(r_%)=��got_%=got_%+1:gc_%(got_%)=r_% #d��:�:flag_=�:�r_=1�10:finder_%(r_)=0:�:�r_=1�10:ș"Hourglass_Percentage",r_/10*100:ran_%=�(got_%):Nb_%(r_)=�(div_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:�:�t_=1�got_%:�finder_%(t_)<needed_% flag_=� #�"�:�flag_=�:ș"Hourglass_Off":� #�H��onediv:�r_%=1�9:�div_(r_%)=���tr_%=1�10:Nb_%(tr_%)=�(div_$(r_%)):� #��:� $8��Add:WAdd_%=�fWS("Add"):�addy_(1)�sI(WAdd_%,"Add1") $,�addy_(2)�sI(WAdd_%,"Add2") $6�addy_(3)�sI(WAdd_%,"Add3") $@�addy_(4)�sI(WAdd_%,"Add4") $J�addy_(5)�sI(WAdd_%,"Add5") $T�addy_(6)�sI(WAdd_%,"Add6") $^(�addcarry_(1)�sI(WAdd_%,"AddCarry1") $h(�addcarry_(2)�sI(WAdd_%,"AddCarry2") $r(�addcarry_(3)�sI(WAdd_%,"AddCarry3") $|!�Anowts_%�sI(WAdd_%,"Anowts") $�� $�>ݤAnowts_:�addcarry_(2)Anowts_%=�:�usI(WAdd_%,"Anowts"):=� $�$�Anowts_%=�Anowts_%=��Anowts_%=� $��Acz:=� $�=��Acz:�addy_(1)��addy_=1 Anowts_%=�:�usI(WAdd_%,"Anowts") $�� $�*ݤaddy_:c_=0:�t_=1�6:�addy_(t_)c_=c_+1 $� �:=c_ %?ݤAdd1_:�addy_(1)��addy_=1 addy_(1)=�:�sI(WAdd_%,"Add1"):=� %"�addy_(1)addy_(1)=��addy_(1)=� %�Acz:=� %&?ݤAdd2_:�addy_(2)��addy_=1 addy_(2)=�:�sI(WAdd_%,"Add2"):=� %0"�addy_(2)addy_(2)=��addy_(2)=� %:�Acz:=� %D?ݤAdd3_:�addy_(3)��addy_=1 addy_(3)=�:�sI(WAdd_%,"Add3"):=� %N"�addy_(3)addy_(3)=��addy_(3)=� %X�Acz:=� %b?ݤAdd4_:�addy_(4)��addy_=1 addy_(4)=�:�sI(WAdd_%,"Add4"):=� %l"�addy_(4)addy_(4)=��addy_(4)=� %v�Acz:=� %�?ݤAdd5_:�addy_(5)��addy_=1 addy_(5)=�:�sI(WAdd_%,"Add5"):=� %�"�addy_(5)addy_(5)=��addy_(5)=� %��Acz:=� %�?ݤAdd6_:�addy_(6)��addy_=1 addy_(6)=�:�sI(WAdd_%,"Add6"):=� %�"�addy_(6)addy_(6)=��addy_(6)=� %��Acz:=� %�cݤAddCarry1_:�addcarry_(1)�addcarry_(2)+addcarry_(3)=�addcarry_(1)=�:�sI(WAdd_%,"AddCarry1"):=� %Ќ�addcarry_(1)=�addcarry_(1)=�:�sI(WAdd_%,"AddCarry1"):addcarry_(2)=�:�usI(WAdd_%,"AddCarry2"):addcarry_(3)=�:�usI(WAdd_%,"AddCarry3"):=� %�cݤAddCarry2_:�addcarry_(2)�addcarry_(1)+addcarry_(3)=�addcarry_(2)=�:�sI(WAdd_%,"AddCarry2"):=� %��addcarry_(2)=�addcarry_(2)=�:�sI(WAdd_%,"AddCarry2"):addcarry_(1)=�:�usI(WAdd_%,"AddCarry1"):addcarry_(3)=�:�usI(WAdd_%,"AddCarry3"):Anowts_%=�:�usI(WAdd_%,"Anowts"):=� %�cݤAddCarry3_:�addcarry_(3)�addcarry_(1)+addcarry_(2)=�addcarry_(3)=�:�sI(WAdd_%,"AddCarry3"):=� %���addcarry_(3)=�addcarry_(3)=�:�sI(WAdd_%,"AddCarry3"):addcarry_(1)=�:�usI(WAdd_%,"AddCarry1"):addcarry_(2)=�:�usI(WAdd_%,"AddCarry2"):=� & & �ݤAddgo_:�GetTitles:many_=12:�whatadds:�addup:started_%=�:�usI(WAdd_%,"Addgo"):ș"Hourglass_Off":last_=3:quit_=�:Clue_$="Add1a":=�sums &RY��whatadds:got_%=0:�r_=1�6:�addy_(r_)got_%=got_%+1:addytype_(got_%)=r_:gc_%(got_%)=r_ &f9�:�got_%=1�r_=1�12:lineaddy_(r_)=addytype_(got_%):�:� &z\�got_%=6�times(got_%,12):�r_=1�12:lineaddy_(r_)=gc_%(finder_%(r_)):�:ș"Hourglass_Off":� &��needed_%=12�got_%:ș"Hourglass_On":�:�r_=1�12:finder_%(r_)=0:�:flag_=�:�r_=1�12:ș"Hourglass_Percentage",r_/12*100:�:flig_=�:ran_%=�(got_%):�r_>1�gc_%(ran_%)=lineaddy_(r_-1)flig_=� &�u�flig_=�:lineaddy_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:�:�t_=1�got_%:�finder_%(t_)<needed_% flag_=� '"�:�flag_=�:ș"Hourglass_Off":� '.j��addup:dummy_=�(-�):�t_=1�12:a_(t_)=-1:b_(t_)=-1:�:ș"Hourglass_On":�t_=1�12:�lineaddy_(t_)=1 ran_%=9 '`�lineaddy_(t_)=2 ran_%=99 'j�lineaddy_(t_)=3 ran_%=999 't�lineaddy_(t_)=4 ran_%=9999 '~ �lineaddy_(t_)=5 ran_%=99999 '�!�lineaddy_(t_)=6 ran_%=999999 '�[ș"Hourglass_Percentage",t_/10*100:�:flag_=0:a_=�(ran_%):b_=�(ran_%):�Anowts_%�Anoughts '��addcarry_(1)�noaddcarry '��addcarry_(2)�alladdcarry '� �t_>1� '�*�e_=1�t_-1:�a_=a_(e_)�b_=b_(e_)flag_=1 '�� '�3�:�flag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_+b_:�:� (��Anoughts:n_=�(2):�n_=1� (<Ev_$=�(a_):�w_=2��(v_$):rr_=�(4):�rr_=1�rr_=2�rr_=3��v_$,w_,1)="0" (P�:a_=�(v_$) (Z�:�n_=2� (nEv_$=�(b_):�w_=2��(v_$):rr_=�(4):�rr_=1�rr_=2�rr_=3��v_$,w_,1)="0" (��:b_=�(v_$) (��:� (�Q��noaddcarry:a_$=�(a_):b_$=�(b_):la_=�(a_$):lb_=�(b_$):z_=la_:�lb_<la_ z_=lb_ (�6�r_=z_�1�-1:�(�a_$,r_,1))+�(�b_$,r_,1))>9 flag_=1 (��:� (�R��alladdcarry:a_$=�(a_):b_$=�(b_):la_=�(a_$):lb_=�(b_$):z_=la_:�lb_>la_ z_=lb_ (�7�r_=z_�1�-1:�(�a_$,r_,1))+�(�b_$,r_,1))<10 flag_=1 (��:� )6D��subtract:WSub_%=�fWS("Subtract"):�subby_(1)�sI(WSub_%,"Take1") )J!�subby_(2)�sI(WSub_%,"Take2") )T!�subby_(3)�sI(WSub_%,"Take3") )^!�subby_(4)�sI(WSub_%,"Take4") )h!�subby_(5)�sI(WSub_%,"Take5") )r!�subby_(6)�sI(WSub_%,"Take6") )|(�subcarry_(1)�sI(WSub_%,"SubCarry1") )�(�subcarry_(2)�sI(WSub_%,"SubCarry2") )�(�subcarry_(3)�sI(WSub_%,"SubCarry3") )��nowts_%�sI(WSub_%,"nowts") )�� )�.ݤsubby_:c_=0:�m_=1�6:�subby_(m_)=�c_=c_+1 )� �:=c_ )�HݤTake1_:�subby_(1)��subby_=1 subby_(1)=�:�sI(WSub_%,"Take1"):�cz:=� )�%�subby_(1)subby_(1)=��subby_(1)=� )� �cz:=� )�HݤTake2_:�subby_(2)��subby_=1 subby_(2)=�:�sI(WSub_%,"Take2"):�cz:=� *%�subby_(2)subby_(2)=��subby_(2)=� * �cz:=� *HݤTake3_:�subby_(3)��subby_=1 subby_(3)=�:�sI(WSub_%,"Take3"):�cz:=� *&%�subby_(3)subby_(3)=��subby_(3)=� *0 �cz:=� *:HݤTake4_:�subby_(4)��subby_=1 subby_(4)=�:�sI(WSub_%,"Take4"):�cz:=� *D%�subby_(4)subby_(4)=��subby_(4)=� *N �cz:=� *XHݤTake5_:�subby_(5)��subby_=1 subby_(5)=�:�sI(WSub_%,"Take5"):�cz:=� *b%�subby_(5)subby_(5)=��subby_(5)=� *l �cz:=� *vHݤTake6_:�subby_(6)��subby_=1 subby_(6)=�:�sI(WSub_%,"Take6"):�cz:=� *�%�subby_(6)subby_(6)=��subby_(6)=� *� �cz:=� *�gݤSubCarry1_:�subcarry_(1)�subcarry_(2)+subcarry_(3)=�subcarry_(1)=�:�sI(WSub_%,"SubCarry1"):�cz:=� *���subcarry_(1)=�subcarry_(1)=�:�sI(WSub_%,"SubCarry1"):subcarry_(2)=�:�usI(WSub_%,"SubCarry2"):subcarry_(3)=�:�usI(WSub_%,"SubCarry3"):nowts_%=�:�usI(WSub_%,"nowts"):�cz:=� *�gݤSubCarry2_:�subcarry_(2)�subcarry_(1)+subcarry_(3)=�subcarry_(2)=�:�sI(WSub_%,"SubCarry2"):�cz:=� *���subcarry_(2)=�subcarry_(2)=�:�sI(WSub_%,"SubCarry2"):subcarry_(1)=�:�usI(WSub_%,"SubCarry1"):subcarry_(3)=�:�usI(WSub_%,"SubCarry3"):�cz:=� *�gݤSubCarry3_:�subcarry_(3)�subcarry_(2)+subcarry_(3)=�subcarry_(3)=�:�sI(WSub_%,"SubCarry3"):�cz:=� *А�subcarry_(3)=�subcarry_(3)=�:�sI(WSub_%,"SubCarry3"):subcarry_(1)=�:�usI(WSub_%,"SubCarry1"):subcarry_(2)=�:�usI(WSub_%,"SubCarry2"):�cz:=� *� *�;ݤnowts_:�subcarry_(1)nowts_%=�:�usI(WSub_%,"nowts"):=� *�T�nowts_%=�nowts_%=�:�sI(WSub_%,"nowts")��nowts_%=�nowts_%=�:�usI(WSub_%,"nowts") *� �cz:=� +/��cz:z_%=0:�g_%=1�6:�subby_(g_%)=�z_%=z_%+1 +��:�z_%=1�subby_(1)=�nowts_%=�:�usI(WSub_%,"nowts"):subcarry_(1)=�:�sI(WSub_%,"SubCarry1"):subcarry_(2)=�:�usI(WSub_%,"SubCarry2"):subcarry_(3)=�:�usI(WSub_%,"SubCarry3") + � +H�ݤTakego_:�GetTitles:�whattakes:�takeup:last_=3:quit_=�:Clue_$="Sub1a":started_%=�:ș"Hourglass_Off":�usI(WSub_%,"Takego"):=�sums +�\��whattakes:got_%=0:�r_=1�6:�subby_(r_)got_%=got_%+1:subbytype_(got_%)=r_:gc_%(got_%)=r_ +�;�:�got_%=1�r_=1�12:linesubby_(r_)=subbytype_(got_%):�:� +�]�got_%=6�times(got_%,12):�r_=1�12:linesubby_(r_)=gc_%(finder_%(r_)):�:ș"Hourglass_Off":� +��needed_%=12�got_%:�:�r_=1�12:finder_%(r_)=0:�:flag_=�:�r_=1�12:ș"Hourglass_Percentage",r_/12*100:�:flig_=�:ran_%=�(got_%):�r_>1�gc_%(ran_%)=linesubby_(r_-1)flig_=� ,$v�flig_=�:linesubby_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:�:�t_=1�got_%:�finder_%(t_)<needed_% flag_=� ,B"�:�flag_=�:ș"Hourglass_Off":� ,`l��takeup:dummy_=�(-�):�t_=1�12:a_(t_)=-1:b_(t_)=-1:�:ș"Hourglass_On":�t_=1�12:�linesubby_(t_)=1 ran_%=9 ,��linesubby_(t_)=2 ran_%=99 ,��linesubby_(t_)=3 ran_%=999 ,� �linesubby_(t_)=4 ran_%=9999 ,�!�linesubby_(t_)=5 ran_%=99999 ,�"�linesubby_(t_)=6 ran_%=999999 ,�uș"Hourglass_Percentage",t_/10*100:�:flag_=0:�:a_=�(ran_%):�noughts:b_=�(ran_%):�a_>b_:�subcarry_(1)=��nosubcarry ,��subcarry_(2)=��allsubcarry - �t_>1� - *�e_=1�t_-1:�a_=a_(e_)�b_=b_(e_)flag_=1 -� -3�:�flag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_-b_:�:� -Z@��nosubcarry:a_$=�(a_):b_$=�(b_):�r_=1��(a_$):�checkvall:�:� -�M��allsubcarry:a_$=�(a_):b_$=�(b_):zz_=�(a_$):�r_=zz_�1�-1:�r_<>1�checkval -��:� -�3��checkval:�(�b_$,r_,1))<=�(�a_$,r_,1))flag_=1 -�� -�4��checkvall:�(�a_$,r_,1))<=�(�b_$,r_,1))flag_=1 -�� -���noughts:�nowts_%=�� -�Ev_$=�(a_):�w_=2��(v_$):rr_=�(4):�rr_=1�rr_=2�rr_=3��v_$,w_,1)="0" .�:a_=�(v_$):� .JG��multiply:WMult_%=�fWS("Multiply"):�multy_(1)�sI(WMult_%,"Multy1") .^#�multy_(2)�sI(WMult_%,"Multy2") .h#�multy_(3)�sI(WMult_%,"Multy3") .r#�multy_(4)�sI(WMult_%,"Multy4") .|#�multy_(5)�sI(WMult_%,"Multy5") .�#�multy_(6)�sI(WMult_%,"Multy6") .�!�mult_(1)�sI(WMult_%,"mult1") .�!�mult_(2)�sI(WMult_%,"mult2") .�!�mult_(3)�sI(WMult_%,"mult3") .�!�mult_(4)�sI(WMult_%,"mult4") .�!�mult_(5)�sI(WMult_%,"mult5") .�!�mult_(6)�sI(WMult_%,"mult6") .�!�mult_(7)�sI(WMult_%,"mult7") .�!�mult_(8)�sI(WMult_%,"mult8") .�!�mult_(9)�sI(WMult_%,"mult9") .�"�Mnowts_%�sI(WMult_%,"Mnowts") .�� /.ݤMnowts_:�Mnowts_%=�Mnowts_%=��Mnowts_%=� /&�Mcz:=� /:@��Mcz:�multy_(1)��multy_=1 Mnowts_%=�:�usI(WMult_%,"Mnowts") /D� /X.ݤmulty_:c_=0:�m_=1�6:�multy_(m_)=�c_=c_+1 /b �:=c_ /lGݤMulty1_:�multy_(1)��multy_=1 multy_(1)=�:�sI(WMult_%,"Multy1"):=� /v%�multy_(1)multy_(1)=��multy_(1)=� /��Mcz:=� /�GݤMulty2_:�multy_(2)��multy_=1 multy_(2)=�:�sI(WMult_%,"Multy2"):=� /�%�multy_(2)multy_(2)=��multy_(2)=� /��Mcz:=� /�GݤMulty3_:�multy_(3)��multy_=1 multy_(3)=�:�sI(WMult_%,"Multy3"):=� /�%�multy_(3)multy_(3)=��multy_(3)=� /��Mcz:=� /�GݤMulty4_:�multy_(4)��multy_=1 multy_(4)=�:�sI(WMult_%,"Multy4"):=� /�%�multy_(4)multy_(4)=��multy_(4)=� /��Mcz:=� /�GݤMulty5_:�multy_(5)��multy_=1 multy_(5)=�:�sI(WMult_%,"Multy5"):=� /�%�multy_(5)multy_(5)=��multy_(5)=� /��Mcz:=� 0GݤMulty6_:�multy_(6)��multy_=1 multy_(6)=�:�sI(WMult_%,"Multy6"):=� 0%�multy_(6)multy_(6)=��multy_(6)=� 0�Mcz:=� 0 ,ݤmult_:c_=0:�m_=1�9:�mult_(m_)=�c_=c_+1 0* �:=c_ 04Aݤmult1_:�mult_(1)��mult_=1mult_(1)=�:�sI(WMult_%,"mult1"):=� 0>"�mult_(1)mult_(1)=��mult_(1)=� 0H=� 0RBݤmult2_:�mult_(2)��mult_=1 mult_(2)=�:�sI(WMult_%,"mult2"):=� 0\"�mult_(2)mult_(2)=��mult_(2)=� 0f=� 0pBݤmult3_:�mult_(3)��mult_=1 mult_(3)=�:�sI(WMult_%,"mult3"):=� 0z"�mult_(3)mult_(3)=��mult_(3)=� 0�=� 0�Bݤmult4_:�mult_(4)��mult_=1 mult_(4)=�:�sI(WMult_%,"mult4"):=� 0�"�mult_(4)mult_(4)=��mult_(4)=� 0�=� 0�Bݤmult5_:�mult_(5)��mult_=1 mult_(5)=�:�sI(WMult_%,"mult5"):=� 0�"�mult_(5)mult_(5)=��mult_(5)=� 0�=� 0�Bݤmult6_:�mult_(6)��mult_=1 mult_(6)=�:�sI(WMult_%,"mult6"):=� 0�"�mult_(6)mult_(6)=��mult_(6)=� 0�=� 0�Bݤmult7_:�mult_(7)��mult_=1 mult_(7)=�:�sI(WMult_%,"mult7"):=� 0�"�mult_(7)mult_(7)=��mult_(7)=� 0�=� 1Bݤmult8_:�mult_(8)��mult_=1 mult_(8)=�:�sI(WMult_%,"mult8"):=� 1"�mult_(8)mult_(8)=��mult_(8)=� 1=� 1$Bݤmult9_:�mult_(9)��mult_=1 mult_(9)=�:�sI(WMult_%,"mult9"):=� 1."�mult_(9)mult_(9)=��mult_(9)=� 18=� 1`�ݤMultygo_:�GetTitles:dummy_=�(-�):�whatmultlines:�whatmult:�calcmult:last_=3:quit_=�:Clue_$="Multy":started_%=�:�usI(WMult_%,"Multygo"):ș"Hourglass_Off":=�sums 1�`��whatmultlines:got_%=0:�r_=1�6:�multy_(r_)got_%=got_%+1:multytype_(got_%)=r_:gc_%(got_%)=r_ 1�;�:�got_%=1�r_=1�12:linemulty_(r_)=multytype_(got_%):�:� 1�]�got_%=6�times(got_%,12):�r_=1�12:linemulty_(r_)=gc_%(finder_%(r_)):�:ș"Hourglass_Off":� 1Ĺneeded_%=12�got_%:ș"Hourglass_On":�:�r_=1�12:finder_%(r_)=0:�:flag_=�:�r_=1�12:ș"Hourglass_Percentage",r_/12*100:�:flig_=�:ran_%=�(got_%):�r_>1�gc_%(ran_%)=linemulty_(r_-1)flig_=� 2(v�flig_=�:linemulty_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:�:�t_=1�got_%:�finder_%(t_)<needed_% flag_=� 2F"�:�flag_=�:ș"Hourglass_Off":� 2d<��calcmult:�mult_=1��multy_=1�multy_(1)many_=9�many_=12 2xAș"Hourglass_On":�t_=1�many_:�linemulty_(t_)=1 ran_%=9:rn_%=0 2�%�linemulty_(t_)=2 ran_%=99:rn_%=9 2�'�linemulty_(t_)=3 ran_%=999:rn_%=99 2�)�linemulty_(t_)=4 ran_%=9999:rn_%=999 2�+�linemulty_(t_)=5 ran_%=99999:rn_%=9999 2�-�linemulty_(t_)=6 ran_%=999999:rn_%=99999 2�Zș"Hourglass_Percentage",t_/12*100:�:flag_=0:�:a_=�(ran_%):�a_>rn_%:b_=Nb_%(t_):�t_>1� 2�*�e_=1�t_-1:�a_=a_(e_)�b_=b_(e_)flag_=1 2�� 3�:�Mnowts_%�Mnoughts 3O�flag_=0:a_(t_)=a_:b_(t_)=b_:c_(t_)=a_*b_:�:started_%=�:ș"Hourglass_Off":� 3JP��Mnoughts:v_$=�(a_):�w_=2��(v_$):rr_=�(4):�rr_=1�rr_=2�rr_=3��v_$,w_,1)="0" 3^�:a_=�(v_$):� 3rK��onemult:�r_%=1�9:�mult_(r_%)=���tr_%=1�12:Nb_%(tr_%)=�(mult_$(r_%)):� 3|�:� 3�`��whatmult:�r_=1�12:gc_%(r_)=0:�:got_%=0:�r_%=1�9:�mult_(r_%)=�got_%=got_%+1:gc_%(got_%)=r_% 3��:�got_%=1�onemult:� 3�J�got_%>5�times(got_%,12):�r_=1�12:Nb_%(r_)=�(mult_$(finder_%(r_))):�:� 3��ș"Hourglass_On":needed_%=12�got_%:�:flag_=�:�r_=1�12:finder_%(r_)=0:�:�r_=1�12:ș"Hourglass_Percentage",r_/12*100:ran_%=�(got_%):Nb_%(r_)=�(mult_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:� 4.�t_=1�got_%:�finder_%(t_)<needed_% flag_=� 4&"�:�flag_=�:ș"Hourglass_Off":� 4b>��Divide:WDiv_%=�fWS("Divide"):�dvy_(1)�sI(WDiv_%,"Divy1") 4��dvy_(2)�sI(WDiv_%,"Divy2") 4��dvy_(3)�sI(WDiv_%,"Divy3") 4��dvy_(4)�sI(WDiv_%,"Divy4") 4��dvy_(5)�sI(WDiv_%,"Divy5") 4��dv_(1)�sI(WDiv_%,"dv1") 4��dv_(2)�sI(WDiv_%,"dv2") 4��dv_(3)�sI(WDiv_%,"dv3") 4��dv_(4)�sI(WDiv_%,"dv4") 4��dv_(5)�sI(WDiv_%,"dv5") 4��dv_(6)�sI(WDiv_%,"dv6") 4��dv_(7)�sI(WDiv_%,"dv7") 4��dv_(8)�sI(WDiv_%,"dv8") 4��dv_(9)�sI(WDiv_%,"dv9") 5!�Dnowts_%�sI(WDiv_%,"Dnowts") 5�remainders:� 54.ݤDnowts_:�Dnowts_%=�Dnowts_%=��Dnowts_%=� 5>�Dcz:=� 5R:��Dcz:�dvy_(1)��dvy=1 Dnowts_%=�:�usI(WDiv_%,"Dnowts") 5\� 5p_��remainders:�Remainder_$="No"�sI(WDiv_%,"Drem1"):�usI(WDiv_%,"Drem2"):�usI(WDiv_%,"Drem3") 5�S�Remainder_$="All"�sI(WDiv_%,"Drem2"):�usI(WDiv_%,"Drem1"):�usI(WDiv_%,"Drem3") 5�S�Remainder_$="Ran"�sI(WDiv_%,"Drem3"):�usI(WDiv_%,"Drem1"):�usI(WDiv_%,"Drem2") 5�� 5�,ݤDrem1_:Remainder_$="No":�remainders:=� 5�-ݤDrem2_:Remainder_$="All":�remainders:=� 5�-ݤDrem3_:Remainder_$="Ran":�remainders:=� 5�)ݤdvy:c_=0:�h_=1�5:�dvy_(h_)=�c_=c_+1 5� �:=c_ 5�=ݤDivy1_:�dvy_(1)��dvy=1 dvy_(1)=�:�sI(WDiv_%,"Divy1"):=� 5��dvy_(1)dvy_(1)=��dvy_(1)=� 6�Dcz:=� 6=ݤDivy2_:�dvy_(2)��dvy=1 dvy_(2)=�:�sI(WDiv_%,"Divy2"):=� 6$�dvy_(2)dvy_(2)=��dvy_(2)=� 6.�Dcz:=� 68=ݤDivy3_:�dvy_(3)��dvy=1 dvy_(3)=�:�sI(WDiv_%,"Divy3"):=� 6L�dvy_(3)dvy_(3)=��dvy_(3)=� 6V�Dcz:=� 6`=ݤDivy4_:�dvy_(4)��dvy=1 dvy_(4)=�:�sI(WDiv_%,"Divy4"):=� 6t�dvy_(4)dvy_(4)=��dvy_(4)=� 6~�Dcz:=� 6�=ݤDivy5_:�dvy_(5)��dvy=1 dvy_(5)=�:�sI(WDiv_%,"Divy5"):=� 6��dvy_(5)dvy_(5)=��dvy_(5)=� 6��Dcz:=� 6�'ݤdv:c_=0:�h_=1�9:�dv_(h_)=�c_=c_+1 6� �:=c_ 6�6ݤdv1_:�dv_(1)��dv=1 dv_(1)=�:�sI(WDiv_%,"dv1"):=� 6��dv_(1)dv_(1)=��dv_(1)=� 6�=� 6�6ݤdv2_:�dv_(2)��dv=1 dv_(2)=�:�sI(WDiv_%,"dv2"):=� 7 �dv_(2)dv_(2)=��dv_(2)=� 7 =� 76ݤdv3_:�dv_(3)��dv=1 dv_(3)=�:�sI(WDiv_%,"dv3"):=� 7(�dv_(3)dv_(3)=��dv_(3)=� 72=� 7<6ݤdv4_:�dv_(4)��dv=1 dv_(4)=�:�sI(WDiv_%,"dv4"):=� 7P�dv_(4)dv_(4)=��dv_(4)=� 7Z=� 7d6ݤdv5_:�dv_(5)��dv=1 dv_(5)=�:�sI(WDiv_%,"dv5"):=� 7x�dv_(5)dv_(5)=��dv_(5)=� 7�=� 7�6ݤdv6_:�dv_(6)��dv=1 dv_(6)=�:�sI(WDiv_%,"dv6"):=� 7��dv_(6)dv_(6)=��dv_(6)=� 7�=� 7�6ݤdv7_:�dv_(7)��dv=1 dv_(7)=�:�sI(WDiv_%,"dv7"):=� 7��dv_(7)dv_(7)=��dv_(7)=� 7�=� 7�6ݤdv8_:�dv_(8)��dv=1 dv_(8)=�:�sI(WDiv_%,"dv8"):=� 7��dv_(8)dv_(8)=��dv_(8)=� 7�=� 86ݤdv9_:�dv_(9)��dv=1 dv_(9)=�:�sI(WDiv_%,"dv9"):=� 8�dv_(9)dv_(9)=��dv_(9)=� 8"=� 8J�ݤDivyGo_:�GetTitles:dummy_=�(-�):�whatdivline:�whatdivy:�calcdivy:last_=3:quit_=�:Clue_$="Divy":started_%=�:ș"Hourglass_Off":�usI(WDiv_%,"DivyGo"):=�sums 8|\ݤsums:�gWx("Choices")�n_=�window("GrafIt"):n_=�window("Choices"):=��=�window("GrafIt") 8� 8�D��onedvy:�r_%=1�9:�dv_(r_%)��tr_%=1�12:Nb_%(tr_%)=�(dv_$(r_%)):� 8��:� 8�^��whatdivy:�r_=1�12:gc_%(r_)=0:�:got_%=0:�r_%=1�9:�dv_(r_%)=�got_%=got_%+1:gc_%(got_%)=r_% 8��:�got_%=1�onedvy:� 8�H�got_%>5�times(got_%,12):�r_=1�12:Nb_%(r_)=�(dv_$(finder_%(r_))):�:� 8�ș"Hourglass_On":needed_%=12�got_%:�:�r_=1�12:finder_%(r_)=0:�:flag_=�:�r_=1�12:ș"Hourglass_Percentage",r_/12*100:�:flig_=�:ran_%=�(got_%):Nb_%=�(dv_$(gc_%(ran_%))):�r_>1� 9�Nb_%=Nb_%(r_-1)flig_=� 9&{�:�flig_=�:Nb_%(r_)=�(dv_$(gc_%(ran_%))):finder_%(ran_%)=finder_%(ran_%)+1:�:�t_=1�got_%:�finder_%(t_)<needed_% flag_=� 9X"�:�flag_=�:ș"Hourglass_Off":� 9lG��whatdivline:got_%=0:�r_=1�5:�dvy_(r_)got_%=got_%+1:gc_%(got_%)=r_ 9�4�:�got_%=1��r_=1�12:linedvy_(r_)=gc_%(got_%):�:� 9�]needed_%=12�got_%:�:flag_=�:�r_=1�12:�:flig_=�:ran_%=�(got_%):linedvy_=gc_%(ran_%):�r_>1� 9�#�linedvy_=linedvy_(r_-1)flig_=� 9�x�:�flig_=�:linedvy_(r_)=gc_%(ran_%):finder_%(ran_%)=finder_%(ran_%)+1:�:�tr_=1�got_%:�finder_%(tr_)<needed_% flag_=� :�:�flag_=�:� :*P��Dnoughts:v_$=�(a_):�w_=2��(v_$):rr_=�(4):�rr_=1�rr_=2�rr_=3��v_$,w_,1)="0" :>�:a_=�(v_$):� :RJ��calcdivy:many_=12:tr_=�:�dvy=1��dv=1�dvy_(1)�Remainder_$="No" tr_=� :f,�tr_�dv_(7)�tr_�dv_(8)�tr_�dv_(9)many_=9 :p@ș"Hourglass_On":�t_=1�many_:�linedvy_(t_)=1 ran_%=99:rn_%=9 :�%�linedvy_(t_)=2 ran_%=999:rn_%=99 :�'�linedvy_(t_)=3 ran_%=9999:rn_%=999 :�)�linedvy_(t_)=4 ran_%=99999:rn_%=9999 :�+�linedvy_(t_)=5 ran_%=999999:rn_%=99999 :�Cș"Hourglass_Percentage",t_/12*100:�:flag_=0:�Remainder_$="No"� :�0�:a_=�(ran_%):b_=Nb_%(t_):�Dnowts_%�Dnoughts :��a_�b_=0�a_>rn_% :��:�Remainder_$="All"�remp :��Remainder_$="Ran"� ;randy_=�(2):�randy_=1� ;0�:a_=�(ran_%):b_=Nb_%(t_):�Dnowts_%�Dnoughts ;.�a_�b_=0�a_>rn_% ;8�:�randy_=2�remp ;L�:�t_>1� ;j*�e_=1�t_-1:�a_=a_(e_)�b_=b_(e_)flag_=1 ;t� ;~`�:�flag_=0:a_(t_)=a_:b_(t_)=b_:�a_�b_<>0 c_(t_)=a_�b_:rem_(t_)=a_�b_�c_(t_)=a_/b_:rem_(t_)=0 ;�%�:started_%=�:ș"Hourglass_Off":� ;�A��remp:�:remflag=�:a_=�(ran_%):b_=Nb_%(t_):�Dnowts_%�Dnoughts ;�Gc_=a_/b_:poin_=0:c_$=�(c_):�cc_=1��(c_$):�c_$,cc_,1)="." poin_=cc_ <