NEW 10 REM Init counters 15 SUM = 0 16 NL = 0 17 DUP = 0 20 INPUT "Line (empty to stop):"; LINE$ 22 IF LINE$ = "" THEN GOTO 200 25 NL = NL + 1 30 L = LEN(LINE$) 40 HALF = L / 2 49 REM For debugging purposes 50 FH$ = LEFT$(LINE$, HALF) 60 SH$ = RIGHT$(LINE$, HALF) 65 PRINT "Halves: "; FH$; ", "; SH$ 69 REM Loop on the first half 70 FOR I = 1 TO HALF 80 C$ = MID$(LINE$, I, 1) 89 REM Loop on the second half 90 FOR J = HALF + 1 TO L 100 O$ = MID$(LINE$, J, 1) 109 REM Found the same character 110 IF C$ = O$ THEN GOTO 140 120 NEXT J 130 NEXT I 135 REM Being there is not normal 136 PRINT "Did not find duplicate!" 137 GOTO 20 140 REM Figure the priority 141 DUP = DUP + 1 142 V = ASC(C$) 145 PRIO = 0 146 REM Ascii code for "a" is 97 147 REM prio for a-z is 1-26 148 REM hence substract 96 150 IF V > 96 THEN PRIO = V - 96 156 REM Ascii code for "A" is 65 157 REM prio for A-Z is 27-52 158 REM hence substract 65-27 160 IF V < 91 THEN PRIO = V - 38 170 SUM = SUM + PRIO 174 REM For debugging purposes 175 PRINT "Found ";C$;" 180 PRINT NL; " lines ";DUP;" dups" 189 REM Now go read next line 190 GOTO 20 199 REM We are done! 200 PRINT "Sum is: ";SUM