10 RECORD A1$(42) 11 Z1=42 15 DIM N(6),T(6,1) 20 RECORD X(128) 63 M4=1\M8=0 65 PRINT "ENTER NAME OF INPUT FILE"; 70 LINPUT F$ 71 PRINT "ENTER NAME OF OUTPUT DATA FILE"; 72 LINPUT F4$ 73 OPEN 9,F4$ 80 OPEN 8,F$ 85 PRINT "ENTER TOTAL NO. OF ITEMS ON SHEET"; 90 INPUT N1 95 PRINT "ENTER NO. OF ITEMS SKIPPED AT TOP OF SHEET"; 100 INPUT N2 105 PRINT "ENTER NO. OF ITEMS SKIPPED AT BOTTOM OF SHEET"; 110 INPUT N3 115 PRINT "IS DATA IN FORM 'A' OR FORM 'B'"; 117 RESTORE 118 FOR I=0 TO 6\READ T(I,0)\NEXT I 120 LINPUT Z$ 125 FOR I=0 TO 6\READ T(I,1)\NEXT I 127 IF Z$="A" THEN 140 129 IF Z$<>"B" THEN 115 130 FOR I=0 TO 6\READ T(I,1)\NEXT I 135 GO TO 115 140 T1=TIM(6)\T2=TIM(0) 142 C=7 145 K=N1+1 150 X1=N1-N2-N3 155 X2=X1/2 160 GO SUB 500 163 IF E=1 THEN 250 165 IF N(C)=9 THEN 220 170 K=K-1 175 IF K>N1-N3 THEN 160 180 IF K<=N2 THEN 160 185 IF INT(K/2)=K/2 THEN 205 190 X(X2)=N(C) 195 X2=X2-1 200 GOTO 160 205 X(X1)=N(C) 210 X1=X1-1 215 GO TO 160 220 PUT 9,20,M4 223 PRINT "RECORD";M4-1;"CPU=";TIM(0)-T2;"SEC." 225 GO TO 145 250 X(1)=N1-N2-N3 255 X(2)=M4-1 260 M4=0 265 PUT 9,20,M4 266 PRINT "CPU TIME USED";TIM(0)-T2;"SECONDS" 267 PRINT"ELAPSED TIME";TIM(6)-T1;"MINUTES" 270 STOP 500 IF C<6 THEN 690 505 GOSUB 800 510 IF A$="EOF" THEN 700 515 CHANGE A$ TO N 518 C=1 520 FOR I=1 TO 6 530 FOR J=0 TO 6 540 IF N(I)=T(J,0) THEN 580 550 NEXT J 560 N(I)=0 570 GOTO 590 580 N(I)=T(J,1) 590 NEXT I 600 RETURN 690 C=C+1 695 RETURN 700 E=1 705 RETURN 800 IF Z1=42 GO TO 850 810 Z1=Z1+1 820 A$=A1$(Z1) 830 RETURN 850 GET 8,10,M8 860 Z1=0 870 GO TO 820 875 DATA 0,64,65,67,71,79,76,0,5,4,3,2,1,9,1,0,5,4,3,2,9 880 END