IDENTIFICATION DIVISION. PROGRAM-ID. primes. AUTHOR. Dan Ballard. DATA DIVISION. WORKING-STORAGE SECTION. 01 Cnt PIC S9(10) VALUE 3. 01 TMax PIC S9(10) VALUE 3. 01 I PIC S9(10) VALUE 0. 01 isp PIC S9(10) VALUE 1. 01 tmp PIC S9(10) VALUE 1. 01 break PIC 9 VALUE 0. 01 MAX PIC S9(10) VALUE 20. 01 SQT PIC S9(10) VALUE 4. 01 SQ PIC S9(10) VALUE 2. PROCEDURE DIVISION. Main. ACCEPT MAX IF MAX < 1 DISPLAY "Invalid Max Num" EXIT END-IF PERFORM UNTIL Cnt > MAX MOVE 3 TO I MOVE 0 TO break MOVE 1 TO isp PERFORM UNTIL I > SQ OR break = 1 MOVE Cnt TO isp DIVIDE Cnt BY i GIVING tmp REMAINDER isp IF isp = 0 MOVE 1 TO break END-IF ADD 2 TO I END-PERFORM IF NOT isp = 0 DISPLAY Cnt END-IF ADD 2 TO Cnt IF Cnt > SQT ADD 1 TO SQ MULTIPLY SQ BY SQ GIVING SQT END-IF END-PERFORM STOP RUN.