100 DEF FN L(N) = LEN(STR$(INT(ABS(N)))) 110 DEF FN N(N) = VAL(MID$(STR$(INT(ABS(N))),(FN L(N)-1)/2,3)) 120 DEF FN EVEN(N) = INT(N/2) = N/2 130 FOR I = 1 TO 20 140 READ N 150 PRINT N":", 160 GOSUB 100"MIDDLE THREE DIGITS 170 PRINT R$ 180 NEXT 190 END 200 R$ = "" 210 IF FN EVEN(FN L(N)) THEN R$ = "?EVEN," 220 IF FN L(N) < 3 THEN R$ = R$ + "ONLY " + STR$(FN L(N)) + " DIGIT" + MID$("S",FN L(N) - 1, 1) 230 IF RIGHT$(R$, 1) = "," THEN R$ = LEFT$(R$, LEN(R$) - 1) : RETURN 240 IF LEFT$(R$, 1) = "?" THEN RETURN 250 IF R$ <> "" THEN R$ = "?" + R$ : RETURN 260 R$ = STR$(FN N(N)) 270 IF LEN(R$) = 1 THEN R$ = "00" + R$ 280 IF LEN(R$) = 2 THEN R$ = "0" + R$ 290 RETURN 300 DATA123,12345,1234567,987654321,10001,-10001,-123,-100,100,-12345 310 DATA1,2,-1,-10,2002,-2002,0