100 M=8192:GOSUB500:GOTO150 110 Z=M+INT(Y/8)*320+INT(X/8)*8+(YAND7) 120 POKEZ,PEEK(Z)ORT%(XAND7):RETURN 130 Z=M+INT(Y/8)*320+INT(X/8)*8+(YAND7) 140 POKEZ,PEEK(Z)ANDNOTT%(XAND7):RETURN 150 FORI=0TO7:T%(7-I)=2^I:NEXT 160 SYS49152:POKE53272,PEEK(53272)OR8:POKE53265,PEEK(53265)OR32 170 S=99:DIML%(S),M%(S),S%(20) 180 FORT=1TOS:L%(T)=RND(0)*S*3+12:X=L%(T) 190 M%(T)=2*T:Y=M%(T):GOSUB110:NEXT:TI$="000000":S%(1)=1:S%(2)=S:P=2 200 L=S%(P):P=P-1:F=S%(P):P=P-1:I=F 210 J=L:D=L%((F+L)/2) 220 IFL%(I)DTHENJ=J-1:GOTO230 240 IFI<=JTHENGOSUB330:T=L%(I):L%(I)=L%(J):L%(J)=T:I=I+1:J=J-1 250 IFI<=JTHEN220 260 IFF0THEN200 290 T$=TI$:POKE198,0 300 GETA$:IFA$=""THEN300 310 POKE53265,PEEK(53265)AND223:PRINT"[147]":POKE53272,21 320 PRINTS"ITEMS SORTED IN "MID$(T$,3,2)":"RIGHT$(T$,2)".":END 330 Y=M%(I):X=L%(I):GOSUB130:Y=M%(J):X=L%(J):GOSUB130 340 Y=M%(I):X=L%(J):GOSUB110:Y=M%(J):X=L%(I):GOSUB110:RETURN 500 X=0:FORI=49152TO49190:READA:X=X+A:POKEI,A:NEXT 510 IFX<>6678THENPRINT"ERROR IN DATA STATEMENTS.":STOP 520 RETURN 530 DATA 169,32,133,252,162,32,169 540 DATA 0,168,145,251,200,208,251 550 DATA 230,252,202,208,246,169,4 560 DATA 133,254,170,160,0,169,16 570 DATA 145,253,200,208,251,230,254 580 DATA 202,208,246,96