DECLARE SUB PER (K) OPEN "INPUT.TXT" FOR INPUT AS #1 OPEN "OUTPUT.TXT" FOR OUTPUT AS #2 INPUT #1, N DIM B(31) AS INTEGER DIM A(N, -1 TO 31) AS INTEGER FOR I = 1 TO 31 B(I) = 1 NEXT I MIN = 50 I = 1 DO UNTIL EOF(1) INPUT #1, H IF H = 0 THEN I = I + 1 ELSE A(I, H) = 1 END IF LOOP CALL PER(1) D$ = "" FOR I = 1 TO N IF A(I, -1) <> 0 THEN D$ = D$ + STR$(A(I, -1)) NEXT I IF D$ = "" THEN PRINT #2, "-1" ELSE D$ = RIGHT$(D$, LEN(D$) - 1): PRINT #2, D$ CLOSE #1, #2 SYSTEM SUB PER (K) SHARED A() AS INTEGER, B() AS INTEGER SHARED N, MIN FOR I = 1 TO 31 IF MIN < 50 THEN GOTO 5 IF A(K, I) = 1 THEN IF B(I) = 1 THEN B(I) = -1 A(K, 0) = I ' PRINT A(K, 0) ' SLEEP IF K < N THEN CALL PER(K + 1) ELSE MAX = 0 FOR L = 1 TO 31 IF B(L) = -1 AND L > MAX THEN MAX = L NEXT L IF MAX < MIN THEN MIN = MAX ' PRINT MAX, MIN ' SLEEP FOR G = 1 TO K A(G, -1) = A(G, 0) NEXT G GOTO 5 END IF END IF A(K, 0) = 0 B(I) = 1 END IF END IF NEXT I 5 END SUB