IDENTIFICATION DIVISION. PROGRAM-ID. DIGITAL-ROOT. DATA DIVISION. WORKING-STORAGE SECTION. 01 VARIABLES. 03 INPUT-NUMBER PIC 9(16). 03 INPUT-DIGITS REDEFINES INPUT-NUMBER, PIC 9 OCCURS 16 TIMES. 03 DIGIT-SUM PIC 999. 03 DIGIT-NO PIC 99. 03 PERSISTENCE PIC 9. 01 OUTPUT-FORMAT. 03 O-NUMBER PIC Z(15)9. 03 FILLER PIC X(16) VALUE ': PERSISTENCE = '. 03 O-PERSISTENCE PIC Z9. 03 FILLER PIC X(9) VALUE ', ROOT = '. 03 O-ROOT PIC Z9. PROCEDURE DIVISION. BEGIN. MOVE 627615 TO INPUT-NUMBER, PERFORM FIND-DIGITAL-ROOT. MOVE 39390 TO INPUT-NUMBER, PERFORM FIND-DIGITAL-ROOT. MOVE 588225 TO INPUT-NUMBER, PERFORM FIND-DIGITAL-ROOT. MOVE 393900588225 TO INPUT-NUMBER, PERFORM FIND-DIGITAL-ROOT. STOP RUN. FIND-DIGITAL-ROOT. MOVE ZERO TO PERSISTENCE. MOVE INPUT-NUMBER TO O-NUMBER. PERFORM SUMMATION UNTIL INPUT-NUMBER IS LESS THAN 10. MOVE INPUT-NUMBER TO O-ROOT. MOVE PERSISTENCE TO O-PERSISTENCE. DISPLAY OUTPUT-FORMAT. SUMMATION. MOVE ZERO TO DIGIT-SUM. ADD 1 TO PERSISTENCE. PERFORM ADD-DIGIT VARYING DIGIT-NO FROM 1 BY 1 UNTIL DIGIT-NO IS GREATER THAN 16. MOVE DIGIT-SUM TO INPUT-NUMBER. ADD-DIGIT. ADD INPUT-DIGITS(DIGIT-NO) TO DIGIT-SUM.