10 GOSUB 9000 100 PRINT CHR$(147):PRINT " PRIME WORKSHOP":PRINT 110 INPUT "NUMBER 2-9999 (0 QUITS)";N 120 IF N=0 THEN 9900 130 IF N<2 OR N>9999 OR N<>INT(N) THEN PRINT "WHOLE NUMBERS ONLY.":GOTO 110 140 M=N:P=2:F$="":C=0:D=1:T=N 150 IF P*P>M THEN 230 160 E=0 170 IF M/P<>INT(M/P) THEN 200 180 M=M/P:E=E+1:C=C+1:GOTO 170 200 IF E=0 THEN 220 210 GOSUB 500:D=D*(E+1):T=T-T/P 220 P=P+1:GOTO 150 230 IF M>1 THEN P=M:E=1:C=C+1:GOSUB 500:D=D*2:T=T-T/P 240 PRINT:PRINT "FACTORIZATION:":PRINT F$:PRINT 250 IF C=1 THEN PRINT N;"IS PRIME.":GOTO 270 260 PRINT N;"IS COMPOSITE." 270 PRINT "DIVISORS:";D 280 PRINT "EULER TOTIENT:";T 290 PRINT:PRINT "SPACE=ANOTHER Q=QUIT" 300 GET A$:IF A$=" " THEN 100 310 IF A$<>"Q" THEN 300 320 GOTO 9900 500 IF F$<>"" THEN F$=F$+" X " 510 F$=F$+MID$(STR$(P),2) 520 IF E>1 THEN F$=F$+"^"+MID$(STR$(E),2) 530 RETURN 9000 POKE 53280,0:POKE 53281,0:PRINT CHR$(147);CHR$(154) 9010 PRINT:PRINT:PRINT " PRIME WORKSHOP":PRINT 9020 PRINT CHR$(5);" FACTOR NUMBERS AND EXPLORE TOTIENTS":PRINT:PRINT 9030 PRINT CHR$(153);" CONTROLS":PRINT 9040 PRINT CHR$(158);" 2-9999";CHR$(5);" NUMBER ";CHR$(158);"RETURN";CHR$(5);" SOLVE" 9050 PRINT " ";CHR$(158);"SPACE";CHR$(5);" AGAIN ";CHR$(158);"Q";CHR$(5);" QUIT":PRINT:PRINT 9060 PRINT " HTTPS://C64.P20.DEV":PRINT 9070 PRINT CHR$(152);" RELEASED 22 OCTOBER 2026":PRINT:PRINT 9080 PRINT CHR$(158);" PRESS SPACE TO START" 9090 GET A$:IF A$<>" " THEN 9090 9100 RETURN 9900 POKE 53280,14:POKE 53281,6:PRINT CHR$(147):END