[P0]
10 PRINT " \SQ SQUARE \SQ":Y=0
15 X=1:Z(1)=1:GOSUB 70:PRINT CSR 0;"]          [";
16 FOR I=0 TO 11:J(I)=0:NEXT I
17 J(0)=1:J(11)=1
20 FOR I=1 TO G+1:Z$=MID(I*3-2,2):W$=MID(I*3,1):A(I-1)=VAL(Z$)
30 D(I-1)=VAL(W$)-1:J(A(I-1))=1:NEXT I:J(0)=1:J(11)=1
31 IF H<>-1 THEN 36
32 IF J(X)=1;PRINT CSR 4;"OVER","UNTIL:";Y:GOTO 67
33 PRINT CSR X;" ";
34 IF KEY="3";IF J(X+1)=0;X=X+1:IF X=10;Z(1)=0
35 IF KEY="1";IF J(X-1)=0;X=X-1:IF Z(1)=0;IF X=1 THEN 15
36 IF KEY="Z"; IF H=-1;H=1
37 H=H-SGN (1+H):W$="\CL":IF H<>-1;W$="_"
38 Z$="\CI":IF Z(1)=0;Z$=" "
42 PRINT CSR X;W$;CSR 10;Z$;
43 FOR I=0 TO 2:IF I>G THEN 65
44 IF X<>A(I);PRINT CSR A(I);" ";
45 J(A(I))=0:V=A(I):A(I)=V+D(I):IF J(A(I))=1;D(I)=-D(I):A(I)=V
50 J(A(I))=1:PRINT CSR A(I);"\SQ";
65 NEXT I:IF KEY="Z";IF H=-1;IF J(X)=0;H=1
66 FOR V=1 TO (2-G)*5:NEXT V:GOTO 31
67 INPUT "CONT[Y/N]",W$:IF W$="Y";Y=Y-1:GOTO 15
68 GOTO 10
70 Y=Y+1:PRINT CSR 2;"SCINE:";Y;:FOR V=1 TO 100:NEXT V:GOTO 70+Y
71 G=0:$="090":RETURN
72 G=0:$="050":RETURN
73 G=1:$="022090":RETURN
74 G=1:$="080092":RETURN
75 G=1:$="060080":RETURN
76 G=1:$="060072":RETURN
77 G=2:$="072080092":RETURN
78 G=2:$="042062082":RETURN
79 G=2:$="022062092":RETURN
80 G=2:$="062070080":RETURN
81 PRINT CSR 2;"THE END":END