IDENTIFICATION DIVISION.
       PROGRAM-ID. PNPSOLVE.

      *---------------------------------------------------------------*
      *       PNPSOLVE - Beta version  developed October  2011        *
      *                - Final version completed December 2013        *
      *---------------------------------------------------------------*
      *                 Author - William T. Voris                     *
      *---------------------------------------------------------------*
      *    This computer program is the main driver and display       *
      *    module for the P NP solution. It displays a screen and     *
      *    requests someone to enter from 2 to 25 positive and        *
      *    negative integers. It then determines how many integers    *
      *    are in the sequence and sets up progressive logic to       *
      *    find all equations that sum to a value. It works           *
      *    differently from the check module with highly efficient    *
      *    algorithms that find every equation in the sequence.       *
      *    It first does a call to check module to see if there is    *
      *    at least one equation to validate the sequence of          *
      *    integers having a subset that when summed equals a value.  *
      *    The sub module is limited in the amount of integers that   *
      *    it evaluates for a possible solution. The assumption       *
      *    being that an equation that contains more than 7 to 14     *
      *    integers that sum to a value is not an "easy to arrive at" *
      *    solution. However, both the check and the solve computer   *
      *    programming modules use a common polynomial clock. The     *
      *    clock is set up to present a consistent technique for      *
      *    timing, such that it is possible to determine how many     *
      *    equations are evaluated in the process of both a check     *
      *    for one solution and a process for all solutions.          *
      *---------------------------------------------------------------*
      *    Log of changes: Looping logic rewritten       Sep 2013     *
      *                   (major overhaul and rewrite of program)     *
      *                  : Added algorithm F5 logic      Oct 2013     *
      *                  : Added report logic            Nov 2013     *
      *                  : Added elapsed time display    Dec 2013     *
      *                  : Fixed set 18 and 20 logic     Dec 2013     *
      *                  : Added screen color schemes    Dec 2013     *
      *                  : Added text viewer for output  Jan 2014     *
      *                  : Cosmetic clean up             Jan 2014     *
      *                  : Make files drive independent  Mar 2017     *
      *pending           : Add Null Value                May 2017     *
      *---------------------------------------------------------------*
      *    Log of errors : Minutes display at 12:00 midnight          *
      *                  : Pressing invalid Funtion keys adversely    *
      *                    effects reports. (not important)           *
      *                  : Full screen mode and screen savers         *
      *                    show some incompatibilities (no solution)  *
      *                  : Built-in error messages overlap programming*
      *                    messages (compiler error)                  *
      *                  : When zero keyed in sequence and integers   *
      *                    follow, they are still displayed, but are  *
      *                    not part of the evaluation.                *
      *                  : Several in line messages, should be        *
      *                    in working storage (cosmetic)              *
      *                  : Negative conditionals with file access     *
      *                    (cosmetic)                                 *
      *                  : R or r - displayed in message area when    *
      *                    roll mode selected (cosmetic)              *
      *---------------------------------------------------------------*

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CONSOLE  IS CRT
           CURSOR   IS CURSOR-POSITION.

       INPUT-OUTPUT SECTION.
       FILE-CONTROL.

           SELECT   OUTPUT-FILE
                    ASSIGN WS-OUTPUT-FILE
                    ORGANIZATION IS LINE SEQUENTIAL
                    FILE STATUS  IS FILE-STATUS-CODE.

           SELECT   STATS-FILE
                    ASSIGN WS-STATS-FILE
                    ORGANIZATION IS LINE SEQUENTIAL
                    FILE STATUS  IS FILE-STATS-CODE.

           SELECT   SUMMARY-FILE
                    ASSIGN WS-SUMMARY-FILE
                    ORGANIZATION IS LINE SEQUENTIAL
                    FILE STATUS  IS FILE-SUMMARY-CODE.

           SELECT   DETAILS-FILE
                    ASSIGN WS-DETAILS-FILE
                    ORGANIZATION IS LINE SEQUENTIAL
                    FILE STATUS  IS FILE-DETAILS-CODE.

       DATA DIVISION.
       FILE SECTION.

       FD  OUTPUT-FILE
           LABEL RECORDS  ARE STANDARD
           BLOCK CONTAINS 0 RECORDS
           DATA RECORD    IS OUTPUT-RECORD.
       01  OUTPUT-RECORD  PIC X(80).

       FD  STATS-FILE
           LABEL RECORDS  ARE STANDARD
           BLOCK CONTAINS 0 RECORDS
           DATA RECORD    IS STATS-RECORD.
       01  STATS-RECORD   PIC X(80).

       FD  SUMMARY-FILE
           LABEL RECORDS  ARE STANDARD
           BLOCK CONTAINS 0 RECORDS
           DATA RECORD    IS SUMMARY-RECORD.
       01  SUMMARY-RECORD PIC X(80).

       FD  DETAILS-FILE
           LABEL RECORDS  ARE STANDARD
           BLOCK CONTAINS 0 RECORDS
           DATA RECORD    IS DETAILS-RECORD.
       01  DETAILS-RECORD.
           05 DETAILS-COUNTER  PIC ZZZZZZZ.
           05 DETAILS-FIELDS.
              10 DETAIL-PERIOD PIC X(2).
              10 DETAIL-AREAS  PIC X(71).

      *---------------------------------------------------------------*
      *                   WORKING STORAGE SECTION                     *
      *---------------------------------------------------------------*
      *    This area of the program is used for the storage and       *
      *    manipulation of numerous variables. This includes          *
      *    switches, data display fields, subscripts, etc.            *
      *---------------------------------------------------------------*

       WORKING-STORAGE SECTION.

       01  WS-OUTPUT-FILE     PIC X(14) VALUE "ALGORITH.TXT".
       01  WS-STATS-FILE      PIC X(14) VALUE "PNPSTATS.TXT".
       01  WS-SUMMARY-FILE    PIC X(14) VALUE "SUMMARY.DOC".
       01  WS-DETAILS-FILE    PIC X(14) VALUE "DETAILS.DOC".
       01  WORK-PERIOD        PIC X(02) VALUE ". ".
       01  DETAILS-CTR        PIC 9(07) VALUE ZERO.

       01  FILE-STATUS-CODE   PIC X(02) VALUE "00".
           88 FILE-STATUS-OK            VALUE "00".
       01  FILE-SUMMARY-CODE  PIC X(02) VALUE "00".
           88 FILE-SUMMARY-OK           VALUE "00".
       01  FILE-DETAILS-CODE  PIC X(02) VALUE "00".
           88 FILE-DETAILS-OK           VALUE "00".
       01  FILE-STATS-CODE    PIC X(02) VALUE "00".
           88 FILE-STATS-OK             VALUE "00".

       01  CLOCK-NOTE         PIC X(9) VALUE "Minutes =".
       01  CLOCK-SW           PIC X(1) VALUE "N".
           88 CLOCK-ON                 VALUE "Y".
           88 CLOCK-OFF                VALUE "N".
       01  DETAILS-SW         PIC X(1) VALUE "Y".
           88 DETAILS-ON               VALUE "Y".
           88 DETAILS-OFF              VALUE "N".
       01  ELAP-TIME          PIC 999999.
       01  ELAP-TIME-HMS REDEFINES ELAP-TIME.
           05 ELAPTIME-HH     PIC 99.
           05 ELAPTIME-MM     PIC 99.
           05 ELAPTIME-SS     PIC 99.
       01  WORK-ELAP.
           05 ELAP-MINUTES    PIC ZZZ9.
           05 ELAP-HH-MM      PIC 9999.
       01  ELAPSED            PIC X(6) VALUE 'Mins ='.
       01  CLOCK-TIME         PIC 999999.
       01  WORK-TIME REDEFINES CLOCK-TIME.
           05 WORKTIME-HH     PIC 99.
           05 WORKTIME-MM     PIC 99.
           05 WORKTIME-SS     PIC 99.
       01  CACULATE-TIME.
           05 WORK-MIN-B      PIC 9999.
           05 WORK-MIN-E      PIC 9999.
           05 WORK-MIN        PIC 9999.
           05 WORK-SEC-B      PIC 99.
           05 WORK-SEC-E      PIC 99.
       01  WORK-SECONDS       PIC 99.

       01  DETAILS-HEADING.
           05  DETAIL-HEADING-1    PIC X(30) VALUE
           "Equation Results              ".
           05  DETAIL-HEADING-2    PIC X(31) VALUE
           "   List of subsets             ".
           05  DETAIL-HEADING-3    PIC X(19) VALUE
           "          Poly Time".

       01  STATS-DETAIL.
           05 DETAIL-HEADING-1     PIC X(32) VALUE
           "   List of subsets that sum to ".
           05 DETAIL-SUM-VALUE     PIC ----9.
           05 FILLER               PIC X(24) VALUE SPACES.
           05 STATS-TOTAL          PIC X(09) VALUE "Total =  ".
           05 TOTAL-SOLVE-D        PIC ZZ,ZZZ,ZZ9.

       01  STATS-SEPARATE.
           05 FILLER               PIC X(10) VALUE SPACES.
           05 DASH-LINE            PIC X(70) VALUE
           "________________________________________________________".

       01  STATS-HEADING.
           05  STATS-HEADING-1     PIC X(53) VALUE
           "   Statistical Analysis            # Eq. Evaluated".
           05  STATS-HEADING-2     PIC X(30) VALUE
           "  Sum Value   Subsets      ".

       01  STATS-ALL-TOTALS.
           05 MIN-OR-SEC      PIC X(16) VALUE "     Minutes =  ".
           05 DISPLAY-TIME    PIC ZZZ9.
           05 FILLER          PIC X(08) VALUE SPACES.
           05 STATS-TOT       PIC X(09) VALUE "Tot =    ".
           05 TOTAL-SOLVE     PIC ZZ,ZZZ,ZZ9.
           05 FILLER          PIC X(06) VALUE SPACES.
           05 FILLER          PIC X(10) VALUE "  Tot =   ".
           05 SETS-ALL-TOTAL  PIC Z,ZZZ,ZZ9.

       01  STATS-LINE.
           05 FILLER          PIC X(05).
           05 SET-MSG         PIC X(21).
           05 FILLER          PIC X(10).
           05 SET-CLOCK-P     PIC ZZZ,ZZZ,ZZ9.
           05 FILLER          PIC X(08).
           05 SET-VALUE       PIC ----9.
           05 SET-EQUAL       PIC X(03) VALUE "   ".
           05 SET-TOTAL       PIC Z,ZZZ,ZZ9.

       01  STATS-PNP.
           05 POLY-EXP        PIC X(10) VALUE
              "     P =  ".
           05 CLOCK-CHECK     PIC ZZ,ZZZ,ZZ9.
           05 FILLER          PIC X(17) VALUE
              "          E =  ".
           05 EXPON-SOLVE     PIC ZZ,ZZZ,ZZ9.
           05 FILLER          PIC X(15) VALUE
              "         NP =  ".
           05 CLOCK-SOLVE     PIC ZZ,ZZZ,ZZ9.

       01  STATS-TOTALS.
           05 SET-SUB-TOTAL   PIC 9999999.
           05 SET-SUB-TOTAL-2 PIC 9999999.
           05 SET-CLOCK       PIC 999999999 VALUE ZEROS.

       01  STATS-HELP         PIC X(50) VALUE
           "    Home for Top - Esc to Return - F1 Help        ".

       01  STATS-ERROR.
           05 FILLER          PIC X(14) VALUE SPACES.
           05 STATS-ERROR-MSG PIC X(46) VALUE
           "Process cancelled - Unable to determine totals".

       01  STATS-TRUNCATE.
           05 FILLER          PIC X(14) VALUE SPACES.
           05 STATS-TRUNC-MSG PIC X(46) VALUE
           "Process truncated - Unable to list all subsets".
       01  TRUNCATE-SW        PIC X(01) VALUE 'Y'.

       01  STATS-INTEGERS-VALUES.
           03 O1              PIC S99.
           03 O2              PIC S99.
           03 O3              PIC S99.
           03 O4              PIC S99.
           03 O5              PIC S99.
           03 O6              PIC S99.
           03 O7              PIC S99.
           03 O8              PIC S99.
           03 O9              PIC S99.
           03 O10             PIC S99.
           03 O11             PIC S99.
           03 O12             PIC S99.
           03 O13             PIC S99.
           03 O14             PIC S99.
           03 O15             PIC S99.
           03 O16             PIC S99.
           03 O17             PIC S99.
           03 O18             PIC S99.
           03 O19             PIC S99.
           03 O20             PIC S99.
           03 O21             PIC S99.
           03 O22             PIC S99.
           03 O23             PIC S99.
           03 O24             PIC S99.
           03 O25             PIC S99.

       01  STATS-INTEGERS.
           03 FILLER          PIC X(5).
           03 D1              PIC -ZZ.
           03 D2              PIC -ZZ.
           03 D3              PIC -ZZ.
           03 D4              PIC -ZZ.
           03 D5              PIC -ZZ.
           03 D6              PIC -ZZ.
           03 D7              PIC -ZZ.
           03 D8              PIC -ZZ.
           03 D9              PIC -ZZ.
           03 D10             PIC -ZZ.
           03 D11             PIC -ZZ.
           03 D12             PIC -ZZ.
           03 D13             PIC -ZZ.
           03 D14             PIC -ZZ.
           03 D15             PIC -ZZ.
           03 D16             PIC -ZZ.
           03 D17             PIC -ZZ.
           03 D18             PIC -ZZ.
           03 D19             PIC -ZZ.
           03 D20             PIC -ZZ.
           03 D21             PIC -ZZ.
           03 D22             PIC -ZZ.
           03 D23             PIC -ZZ.
           03 D24             PIC -ZZ.
           03 D25             PIC -ZZ.

       01  SOLVE-SAVE-1       PIC 9999999999.
       01  SOLVE-SAVE-2       PIC 9999999999.
       01  SAVE-OUT-LINE      PIC X(73).
       01  FIRST-OUT-LINE     PIC X(73).
       01  SAVE-OUTPUT-RECORD PIC X(80).
       01  NUMBER-IN-EQUATION PIC 9(03) VALUE 000.
       01  TOTAL-ZERO-S       PIC ZZ,ZZZ,ZZ9.
       01  SPACE-LINE         PIC X(73) VALUE SPACES.

       01  PNPCHECK-PGM       PIC X(8)  VALUE "PNPCHECK".
       01  PNPLISTS-PGM       PIC X(8)  VALUE "PNPLISTS".
       01  HELP-PROGRAM       PIC X(8)  VALUE "PNPVIEW ".

       01  RESPONSE           PIC X(01).
           88 AFFIRMATIVE               VALUE "y" "Y".
           88 NEGATED                   VALUE "N" "n".
       01  PAGE-SW            PIC X(01) VALUE "?".
       01  ON-1-SW            PIC X(01) VALUE "Y".
       01  ON-2-SW            PIC X(01) VALUE "N".
       01  DUP-SW             PIC X(01) VALUE "N".
       01  COLOR-1ST-SW       PIC X(01) VALUE "Y".
       01  COLOR-VARY-SW      PIC 9(01) VALUE 1.
           88 COLOR-VARY-1              VALUE 1.
           88 COLOR-VARY-2              VALUE 2.
           88 COLOR-VARY-3              VALUE 3.
           88 COLOR-VARY-4              VALUE 4.
           88 COLOR-VARY-5              VALUE 5.
           88 COLOR-VARY-6              VALUE 6.
       01  YORN-1             PIC X     VALUE "°".
           88 AFFIRM-1                  VALUE "y" "Y".
       01  YORN               PIC X     VALUE "°".
           88 AFFIRM                    VALUE "y" "Y".
       01  BYTE-READY         PIC 99    VALUE 0 COMP.
       01  TEMP-RESULT        PIC 99    VALUE 0 COMP.
       01  ERROR-TYPE         PIC 9     VALUE 0.

       01  SUBSCRIPTS.
           05  MAX-SUB        PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-1      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-2      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-3      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-4      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-5      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-6      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-7      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-8      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-9      PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-10     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-11     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-12     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-13     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-14     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-15     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-16     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-17     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-18     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-19     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-20     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-21     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-22     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-23     PIC 9(3)  VALUE ZERO.
           05  MAX-SUB-24     PIC 9(3)  VALUE ZERO.
           05  SUB-BASE-2     PIC 9(3)  VALUE ZERO.
           05  SUB-1          PIC 9(3)  VALUE ZERO.
           05  SUB-2          PIC 9(3)  VALUE ZERO.
           05  SUB-3          PIC 9(3)  VALUE ZERO.
           05  SUB-4          PIC 9(3)  VALUE ZERO.
           05  SUB-5          PIC 9(3)  VALUE 001.
           05  SUB-6          PIC 9(3)  VALUE 001.
           05  SUB-7          PIC 9(3)  VALUE 001.
           05  SUB-8          PIC 9(3)  VALUE 001.
           05  SUB-9          PIC 9(3)  VALUE 001.
           05  SUB-10         PIC 9(3)  VALUE 001.
           05  SUB-11         PIC 9(3)  VALUE 001.
           05  SUB-12         PIC 9(3)  VALUE 001.
           05  SUB-13         PIC 9(3)  VALUE 001.
           05  SUB-14         PIC 9(3)  VALUE 001.
           05  SUB-15         PIC 9(3)  VALUE 001.
           05  SUB-16         PIC 9(3)  VALUE 001.
           05  SUB-17         PIC 9(3)  VALUE 001.
           05  SUB-18         PIC 9(3)  VALUE 001.
           05  SUB-19         PIC 9(3)  VALUE 001.
           05  SUB-20         PIC 9(3)  VALUE 001.
           05  SUB-21         PIC 9(3)  VALUE 001.
           05  SUB-22         PIC 9(3)  VALUE 001.
           05  SUB-23         PIC 9(3)  VALUE 001.
           05  SUB-24         PIC 9(3)  VALUE 001.
           05  SUB-D          PIC 9(3)  VALUE 001.
           05  SUB-L          PIC 9(3)  VALUE 001.
           05  SUB-L2         PIC 9(3)  VALUE 001.
           05  SUBC-O         PIC 9(3)  VALUE 001.
           05  SUBC-L         PIC 9(3)  VALUE 001.
           05  SUB-O          PIC 9(3)  VALUE 001.

      *---------------------------------------------------------------*
      *                                                               *
      *     DOS Function key and display screen interrupt values      *
      *                                                               *
      *---------------------------------------------------------------*

       01  FUNCTION-TABLE.
           03  FUNCTION-NUMBER  PIC 9(2) COMP.
               88  F1-KEY       VALUE 1.
               88  F2-KEY       VALUE 2.
               88  F3-KEY       VALUE 3.
               88  F4-KEY       VALUE 4.
               88  F5-KEY       VALUE 5.
               88  F6-KEY       VALUE 6.
               88  F7-KEY       VALUE 7.
               88  F8-KEY       VALUE 8.
               88  F9-KEY       VALUE 9.
               88  F10-KEY      VALUE 10.
               88  ESCAPE-KEY   VALUE 11.
               88  ENTER-KEY    VALUE 12.
               88  HOME-KEY     VALUE 15.
           03  FILLER           PIC X(3) VALUE X"02003B".
           03  FILLER           PIC X(3) VALUE X"02003C".
           03  FILLER           PIC X(3) VALUE X"02003D".
           03  FILLER           PIC X(3) VALUE X"02003E".
           03  FILLER           PIC X(3) VALUE X"02003F".
           03  FILLER           PIC X(3) VALUE X"020040".
           03  FILLER           PIC X(3) VALUE X"020041".
           03  FILLER           PIC X(3) VALUE X"020042".
           03  FILLER           PIC X(3) VALUE X"020043".
           03  FILLER           PIC X(3) VALUE X"020044".
           03  FILLER           PIC X(2) VALUE X"011B".
           03  FILLER           PIC X(2) VALUE X"010D".
           03  FILLER           PIC X(3) VALUE X"020045".
           03  FILLER           PIC X(3) VALUE X"020046".
           03  FILLER           PIC X(3) VALUE X"020047".
           03  FILLER           PIC X(3) VALUE X"020049".
           03  FILLER           PIC X(3) VALUE X"020051".
           03  FILLER           PIC X(3) VALUE X"020052".
           03  FILLER           PIC X(3) VALUE X"020053".
           03  FILLER           PIC X(1) VALUE X"00".

       01  FUNCTION-CONTROL     PIC X(1)  VALUE X"B0".
       01  SCREEN-IO            PIC X(1)  VALUE X"B7".
       01  ENABLE-FUNCTIONS     PIC 9(2)  VALUE 0     COMP.
       01  CURSOR-POSITION      PIC 9(4).
       01  WRITE-ATTR           PIC 9(2)  VALUE 3     COMP.
       01  WRITE-CHAR           PIC 9(2)  VALUE 1     COMP.
       01  FORM-PARAMS.
           03 IO-LENGTH         PIC 9(4)  VALUE 2000  COMP.
           03 SCREEN-OFFSET     PIC 9(4)  VALUE 1     COMP.
           03 BUFFER-OFFSET     PIC 9(4)  VALUE 1     COMP.

       01  IO-LNK.
           05 FILE-NAME         PIC X(12).
           05 PCA-COLOR-SW      PIC 9(02).
           05 IO-RESTRICTED     PIC X(01).
           05 LNK-MSG-SW        PIC X(01).

      *---------------------------------------------------------------*
      *                                                               *
      *     The copy members for the screens are below.               *
      *     The REDEFINES is for editing purposes.                    *
      *                                                               *
      *---------------------------------------------------------------*

       COPY "PNPSOLVE.DDS".
       01  PNPSOLVE-02 REDEFINES PNPSOLVE-00.
           03 FILLER           PIC X(267).
           03 I1               PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I2               PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I3               PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I4               PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I5               PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I6               PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I7               PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I8               PIC -ZZ.
           03 FILLER           PIC X(35).
           03 I9               PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I10              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I11              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I12              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I13              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I14              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I15              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I16              PIC -ZZ.
           03 FILLER           PIC X(35).
           03 I17              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I18              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I19              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I20              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I21              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I22              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I23              PIC -ZZ.
           03 FILLER           PIC X(3).
           03 I24              PIC -ZZ.
           03 FILLER           PIC X(2).
           03 I25              PIC -ZZ.
       01  PNPSOLVE-SAVE.
           03 FILLER           PIC X(495).

       COPY "PNPSOLV2.DDS".
       COPY "PNPSOLV3.DDS".
       COPY "PNPSOLV4.DDS".
       COPY "PNPSOLV5.DDS".
       COPY "PNPSOLV6.DDS".

       01  OUT-DISPLAY-TABLE.
           05 OUT-LINE OCCURS 14 TIMES.
              10 FILLER       PIC X(2).
              10 INTEGER-LIST OCCURS 15 TIMES.
                 15 INT-DIS   PIC --9.
                 15 COM-DIS   PIC X(1).
              10 PRINT-TICK   PIC ZZZ,ZZZ,ZZ9.

       01  OUT-DISPLAY-TABLE2.
           05 OUT-LINE2 OCCURS 14 TIMES.
              10 FILLER       PIC X(2).
              10 INTEGER-LIST2 OCCURS 15 TIMES.
                 15 INT-DIS2  PIC --9.
                 15 COM-DIS2  PIC X(1).
              10 FILLER       PIC X(11).

       01  WS-OUTPUT-RECORD.
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-1        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-2        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-3        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-4        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-5        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-6        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-7        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-8        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-9        PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-10       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-11       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-12       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-13       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-14       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-15       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-16       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-17       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-18       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-19       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-20       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-21       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-22       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-23       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-24       PIC 9(2).
           05 FILLER          PIC X(1) VALUE SPACE.
           05 WS-SUB-25       PIC 9(2).
           05 FILLER          PIC X(5).

       01  EOF-MESSAGE.
           05 MSG-AREA     PIC X(31) VALUE
             "Number of equations summing to ".
           05 SUM-VALUE-P  PIC ----9.
           05 EQUAL-SIGN   PIC X(3) VALUE " = ".
           05 TOTAL-ZERO-P PIC ZZ,ZZZ,ZZ9.
           05 EOF-RESET    PIC X(30)
              VALUE '    "Y" then Enter resets'.

       01  STATS-MSG       PIC X(23) VALUE
           "Press F7 for statistics".

       01  RESULTS-FIELDS.
           05  RESULT-2            PIC S9999 VALUE ZERO.
           05  RESULT-3            PIC S9999 VALUE ZERO.
           05  RESULT-4            PIC S9999 VALUE ZERO.
           05  RESULT-5            PIC S9999 VALUE ZERO.
           05  RESULT-6            PIC S9999 VALUE ZERO.
           05  RESULT-7            PIC S9999 VALUE ZERO.
           05  RESULT-8            PIC S9999 VALUE ZERO.
           05  RESULT-9            PIC S9999 VALUE ZERO.
           05  RESULT-10           PIC S9999 VALUE ZERO.
           05  RESULT-11           PIC S9999 VALUE ZERO.
           05  RESULT-12           PIC S9999 VALUE ZERO.
           05  RESULT-13           PIC S9999 VALUE ZERO.
           05  RESULT-14           PIC S9999 VALUE ZERO.
           05  RESULT-15           PIC S9999 VALUE ZERO.
           05  RESULT-16           PIC S9999 VALUE ZERO.
           05  RESULT-17           PIC S9999 VALUE ZERO.
           05  RESULT-18           PIC S9999 VALUE ZERO.
           05  RESULT-19           PIC S9999 VALUE ZERO.
           05  RESULT-20           PIC S9999 VALUE ZERO.
           05  RESULT-21           PIC S9999 VALUE ZERO.
           05  RESULT-22           PIC S9999 VALUE ZERO.
           05  RESULT-23           PIC S9999 VALUE ZERO.
           05  RESULT-24           PIC S9999 VALUE ZERO.
           05  RESULT-25           PIC S9999 VALUE ZERO.
           05  RESULT-ST           PIC S9999 VALUE ZERO.
           05  TOTAL-ZERO          PIC 99999999 VALUE ZERO.

       01  SUM-VALUES.
           05  SUM-VALUE           PIC S9999 VALUE ZERO.
           05  SUM-VALUE-I         PIC ----9 VALUE ZERO.

      *---------------------------------------------------------------*
      *                         LINKAGE SECTION                       *
      *---------------------------------------------------------------*
      *      This is the common section between the main program      *
      *      (PNPSOLVE) and the subroutine (PNPCHECK). This           *
      *      contains the polynomial and exponential clock tick       *
      *      accumulators, the sum value amount, the output result    *
      *      line, the polynomial/exponential switch, the process     *
      *      level from 07 through 14 and the set of integers.        *
      *---------------------------------------------------------------*

       01  IO-LINK.
           05 POLYNOMIAL-CLOCK.
               10 CHECK-TICK      PIC 9999999999.
               10 SOLVE-TICK      PIC 9999999999.
           05 EXPON-TICK          PIC 9999999999.
           05 SUM-VALUE-CK        PIC S9999.
           05 IO-OUT-LINE         PIC X(73).
           05 POLY-EXP-SW         PIC X.
           05 PROCESS-LEVEL       PIC 99.
              88 PROCESS-LEVEL-OK VALUES 07 08 09 10 11 12 13 14.
           05 TABLE-OF-INTEGERS.
              10 INT              PIC S99 OCCURS 25 TIMES.

       PROCEDURE DIVISION.

       INITIAL-SETUP.

           OPEN OUTPUT STATS-FILE
           IF   NOT FILE-STATS-OK
                MOVE "Y" TO IO-RESTRICTED.

           OPEN OUTPUT SUMMARY-FILE
                OUTPUT DETAILS-FILE
           WRITE STATS-RECORD   FROM SPACE-LINE.
           WRITE STATS-RECORD   FROM STATS-HEADING.
           WRITE STATS-RECORD   FROM SPACE-LINE.
           WRITE SUMMARY-RECORD FROM SPACE-LINE.
           WRITE SUMMARY-RECORD FROM STATS-HEADING.
           WRITE SUMMARY-RECORD FROM SPACE-LINE.
           WRITE DETAILS-RECORD FROM DETAILS-HEADING.
           WRITE DETAILS-RECORD FROM SPACE-LINE.

           OPEN OUTPUT OUTPUT-FILE
           IF NOT FILE-STATUS-OK
              NEXT SENTENCE.

           MOVE TIME-OF-DAY     TO CLOCK-TIME.
           IF WORKTIME-SS < 20
              MOVE 1 TO COLOR-VARY-SW
           ELSE
              IF WORKTIME-SS < 30
                 MOVE 2 TO COLOR-VARY-SW
              ELSE
                 MOVE 5 TO COLOR-VARY-SW.

           CALL FUNCTION-CONTROL USING ENABLE-FUNCTIONS
                                       FUNCTION-TABLE.
           DISPLAY SPACES.

           MOVE 07    TO  PROCESS-LEVEL.
           MOVE "P"   TO  POLY-EXP-SW.
           MOVE ZERO  TO  SUM-VALUE-CK.
           MOVE ZERO  TO  DETAILS-CTR.
           DISPLAY "Key integers then Enter, help F1"  AT 2503.

      *---------------------------------------------------------------*
      *                         MAIN-LOOP SECTION                     *
      *---------------------------------------------------------------*
      *   This section of the program accepts the input of keyed      *
      *   integers and then determines navigation based on the key    *
      *   pressed on the keyboard. It then executes the processing    *
      *   of input routines. Finally it repeats the cycle until       *
      *   the Esc key is pressed and confirmed.                       *
      *---------------------------------------------------------------*

       MAIN-LOOP.

           PERFORM DATA-INPUT-RTN THRU DATA-INPUT-RTN-X.

           IF ESCAPE-KEY
             IF NOT AFFIRM-1
                DISPLAY  "    Are you sure ?  Y / N         " AT 2503
                PERFORM YORN-RTN THRU YORN-RTN-X
                DISPLAY  "                                  " AT 2503
                PERFORM RESET-RTN  THRU RESET-RTN-X
                DISPLAY SPACES
                DISPLAY "  Press F1 for help!               " AT 2503
                MOVE    " " TO RESPONSE
                GO TO MAIN-LOOP.

           IF   F8-KEY
                ADD 1       TO COLOR-VARY-SW
                IF COLOR-VARY-SW = 7
                   MOVE 1   TO COLOR-VARY-SW
                   MOVE "Y" TO COLOR-1ST-SW
                ELSE
                   MOVE "Y" TO COLOR-1ST-SW.

           IF   F1-KEY
                MOVE "PNPSOLVE.HLP"  TO FILE-NAME
                PERFORM CALL-HELP THRU CALL-HELP-X
                MOVE SPACES TO
                     I1,  I2,  I3,  I4 , I5,  I6,  I7 , I8,
                     I9,  I10, I11, I12, I13, I14, I15, I16,
                     I17, I18, I19, I20, I21, I22, I23, I24, I25
                DISPLAY SPACES.

           IF   F2-KEY
                IF   PNPSOLVE-SAVE > SPACES
                     MOVE PNPSOLVE-SAVE TO PNPSOLVE-02
                     DISPLAY PNPSOLVE-02
                     GO TO MAIN-LOOP.

           IF   F3-KEY
                PERFORM DEPTH-RTN THRU DEPTH-RTN-X
                GO TO MAIN-LOOP.

           IF   F4-KEY
                PERFORM CLOCK-RTN THRU CLOCK-RTN-X
                GO TO MAIN-LOOP.

           IF F5-KEY
              IF NOT FILE-STATUS-OK
                 DISPLAY 'Algorithms not available, Press Enter'
                                  AT 2503
                 ACCEPT  RESPONSE AT 2578
              ELSE
                 CLOSE   OUTPUT-FILE
                 PERFORM ALGORITHM-RTN THRU ALGORITHM-RTN-X
                 OPEN    OUTPUT OUTPUT-FILE
                 DISPLAY SPACES
                 GO TO MAIN-LOOP.

           IF   F6-KEY
                PERFORM SUM-VALUE-RTN THRU SUM-VALUE-RTN-X
                GO TO MAIN-LOOP.

           IF   F7-KEY
                IF IO-RESTRICTED = "Y"
                   DISPLAY
                   "Statistics not available, press Enter"
                   AT 2503
                   ACCEPT  RESPONSE AT 2578
                   DISPLAY
                   "                                     "
                   AT 2503
                   GO TO MAIN-LOOP
                ELSE
                   WRITE   STATS-RECORD   FROM STATS-HELP
                   CLOSE   STATS-FILE
                   MOVE   "PNPSTATS.TXT"  TO FILE-NAME
                   PERFORM CALL-HELP      THRU CALL-HELP-X
                   OPEN    OUTPUT STATS-FILE
                   WRITE   STATS-RECORD   FROM SPACE-LINE
                   WRITE   STATS-RECORD   FROM STATS-HEADING
                   WRITE   STATS-RECORD   FROM SPACE-LINE
                   WRITE   SUMMARY-RECORD FROM SPACE-LINE
                   GO      TO MAIN-LOOP.

           IF F9-KEY
              IF CLOCK-OFF
                 MOVE "Y" TO CLOCK-SW
                 DISPLAY "The minutes display clock is on   " at 2503
                 GO TO MAIN-LOOP
              ELSE
              IF CLOCK-ON
                 MOVE "N" TO CLOCK-SW
                 DISPLAY "The minutes display clock is off  " at 2503
                 GO TO MAIN-LOOP.

           IF F10-KEY
              IF DETAILS-ON
                 MOVE "N" TO DETAILS-SW
                 CLOSE DETAILS-FILE
                 DISPLAY "The details file is inactive      " at 2503
                 GO TO MAIN-LOOP
              ELSE
              IF DETAILS-OFF
                 MOVE "Y" TO  DETAILS-SW
                 OPEN  OUTPUT DETAILS-FILE
                 WRITE DETAILS-RECORD FROM DETAILS-HEADING
                 WRITE DETAILS-RECORD FROM SPACE-LINE
                 DISPLAY "The details file is active        " at 2503
                 GO TO MAIN-LOOP.

           IF HOME-KEY
              IF DETAILS-OFF
                 MOVE   "Y"            TO LNK-MSG-SW
                 MOVE   "DETAILS.DOC"  TO FILE-NAME
                 PERFORM CALL-HELP     THRU CALL-HELP-X
                 MOVE   "N"            TO LNK-MSG-SW
                 GO TO MAIN-LOOP.

           IF FILE-STATUS-OK
              CLOSE   OUTPUT-FILE
              OPEN    OUTPUT OUTPUT-FILE.

           IF I1 GREATER THAN SPACES AND I2 GREATER THAN SPACES
              DISPLAY
              "                                              " AT 2503
              MOVE PNPSOLVE-02 TO PNPSOLVE-SAVE
           ELSE
              DISPLAY
              "Please enter at least two integers            " AT 2503
              GO TO MAIN-LOOP.

           IF POLY-EXP-SW = "E"
              DISPLAY "E" AT 0979
           ELSE
              DISPLAY " " AT 0979.

           PERFORM PROCESS-BIG-DATA THRU PROCESS-BIG-DATA-X.
           PERFORM WIPE-BIG-DATA    THRU WIPE-BIG-DATA-X.
           PERFORM END-REPORTS      THRU END-REPORTS-X.
           PERFORM END-BIG-DATA     THRU END-BIG-DATA-X.

           PERFORM RESET-RTN        THRU RESET-RTN-X
           DISPLAY SPACES
           DISPLAY STATS-MSG        AT 2503.
           MOVE SPACE               TO RESPONSE
           GO TO MAIN-LOOP.

       MAIN-LOOP-X. EXIT.

       PROCESS-BIG-DATA.

           MOVE TIME-OF-DAY     TO CLOCK-TIME.
           MOVE CLOCK-TIME      TO WORK-TIME.
           MULTIPLY WORKTIME-HH BY 60 GIVING WORK-MIN-B
           ADD WORKTIME-MM      TO WORK-MIN-B.
           MOVE WORKTIME-SS     TO WORK-SEC-B.

           PERFORM P-CHECK-RTN THRU P-CHECK-RTN-X
           IF IO-OUT-LINE EQUAL SPACES
              DISPLAY
              "No equations found for depth of processing level"
                                    AT 0908
              DISPLAY PROCESS-LEVEL AT 0957
              DISPLAY 'º'           AT 0978
              MOVE ZERO             TO CHECK-TICK
                                       EXPON-TICK
           ELSE
              DISPLAY IO-OUT-LINE   AT 0904
              DISPLAY 'º'           AT 0978.

           PERFORM SET-SUBSCRIPTS THRU SET-SUBSCRIPTS-X.
           PERFORM REPORT-RTN     THRU REPORT-RTN-X.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-BASE-2
           PERFORM SET-TWOS THRU SET-TWOS-X.

           MOVE " 2 integer sets"  TO SET-MSG.
           MOVE SUM-VALUE          TO SET-VALUE.
           MOVE TOTAL-ZERO         TO SET-TOTAL.
           MOVE TOTAL-ZERO         TO SET-SUB-TOTAL.
           MOVE SOLVE-TICK         TO SET-CLOCK-P.
           MOVE STATS-LINE         TO STATS-RECORD,
                                      SUMMARY-RECORD.
           WRITE STATS-RECORD.
           WRITE SUMMARY-RECORD.

           MOVE SOLVE-TICK         TO SOLVE-SAVE-1.
           MOVE ZEROS              TO SOLVE-SAVE-2.

           MOVE 1  TO SUB-1
           SUBTRACT 1 FROM MAX-SUB GIVING MAX-SUB-1
           SUBTRACT 2 FROM MAX-SUB GIVING MAX-SUB-2
           IF INT(SUB-1) NOT EQUAL ZEROS AND
              INT(SUB-3) NOT EQUAL ZEROS
              PERFORM SET-THREES   THRU SET-THREES-X
           MOVE " 3 integer sets"  TO SET-MSG
           PERFORM SET-RTN         THRU SET-RTN-X.

           DISPLAY "Seeking, please wait...               "
                     AT 2505.

           MOVE     1 TO SUB-1
           SUBTRACT 1 FROM MAX-SUB GIVING MAX-SUB-1
           SUBTRACT 2 FROM MAX-SUB GIVING MAX-SUB-2
           SUBTRACT 3 FROM MAX-SUB GIVING MAX-SUB-3

           IF INT(SUB-1) NOT EQUAL ZEROS AND
              INT(SUB-4) NOT EQUAL ZEROS
              PERFORM SET-FOURS    THRU SET-FOURS-X
           MOVE " 4 integer sets"  TO SET-MSG
           PERFORM SET-RTN         THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP  THRU PROCESS-SETUP-X.
           IF INT(SUB-1) NOT EQUAL ZEROS AND
              INT(SUB-5) NOT EQUAL ZEROS
              PERFORM SET-FIVES    THRU SET-FIVES-X
              MOVE " 5 integer sets"  TO SET-MSG
              PERFORM SET-RTN         THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP  THRU PROCESS-SETUP-X.
           IF MAX-SUB > 8
              DISPLAY 'At 6 integers'    AT 2552.
           IF INT(SUB-1) NOT EQUAL ZEROS AND
              INT(SUB-6) NOT EQUAL ZEROS
              PERFORM SET-SIXES    THRU SET-SIXES-X
              MOVE " 6 integer sets"  TO SET-MSG
              PERFORM SET-RTN         THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP  THRU PROCESS-SETUP-X.
           IF MAX-SUB > 8
              DISPLAY 'At 7 integers'    AT 2552.
           IF INT(SUB-1) NOT EQUAL ZEROS AND
              INT(SUB-7) NOT EQUAL ZEROS
              PERFORM SET-SEVENS   THRU SET-SEVENS-X
              MOVE " 7 integer sets"  TO SET-MSG
              PERFORM SET-RTN         THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP  THRU PROCESS-SETUP-X.
           IF MAX-SUB > 8
              DISPLAY 'At 8 integers'    AT 2552.
           IF INT(SUB-1) NOT EQUAL ZEROS AND
              INT(SUB-8) NOT EQUAL ZEROS
              PERFORM SET-EIGHTS   THRU SET-EIGHTS-X
              MOVE " 8 integer sets"  TO SET-MSG
              PERFORM SET-RTN         THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP  THRU PROCESS-SETUP-X.
           IF MAX-SUB > 8
              DISPLAY 'At 9 integers'    AT 2552.
           IF INT(SUB-1) NOT EQUAL ZEROS AND
              INT(SUB-9) NOT EQUAL ZEROS
              PERFORM SET-NINES    THRU SET-NINES-X
              MOVE " 9 integer sets"  TO SET-MSG
              PERFORM SET-RTN         THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF MAX-SUB > 8
              DISPLAY 'At 10 integers'           AT 2552.
           IF INT(SUB-1) NOT EQUAL  ZEROS AND
              INT(SUB-10) NOT EQUAL ZEROS
              PERFORM SET-TENS      THRU SET-TENS-X
              MOVE "10 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 11 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-11) NOT EQUAL ZEROS
              PERFORM SET-ELEVENS   THRU SET-ELEVENS-X
              MOVE "11 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 12 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-12) NOT EQUAL ZEROS
              PERFORM SET-TWELVES   THRU SET-TWELVES-X
              MOVE "12 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 13 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-13) NOT EQUAL ZEROS
              PERFORM SET-THIRTEENS THRU SET-THIRTEENS-X
              MOVE "13 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 14 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-14) NOT EQUAL ZEROS
              PERFORM SET-FOURTEENS THRU SET-FOURTEENS-X
              MOVE "14 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 15 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-15) NOT EQUAL ZEROS
              PERFORM SET-FIFTEENS  THRU SET-FIFTEENS-X
              MOVE "15 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 16 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-16) NOT EQUAL ZEROS
              PERFORM SET-SIXTEENS  THRU SET-SIXTEENS-X
              MOVE "16 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 17 integers'           AT 2552.
           PERFORM  PROCESS-SETUP    THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL  ZEROS AND
              INT(SUB-17) NOT EQUAL  ZEROS
              PERFORM SET-SEVENTEENS THRU SET-SEVENTEENS-X
              MOVE "17 integer sets"    TO SET-MSG
              PERFORM SET-RTN           THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 18 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-18) NOT EQUAL ZEROS
              PERFORM SET-EIGHTEENS THRU SET-EIGHTEENS-X
              MOVE "18 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 19 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-19) NOT EQUAL ZEROS
              PERFORM SET-NINETEENS THRU SET-NINETEENS-X
              MOVE "19 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           IF MAX-SUB > 8
              DISPLAY 'At 20 integers'           AT 2552.
           PERFORM  PROCESS-SETUP   THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL ZEROS AND
              INT(SUB-20) NOT EQUAL ZEROS
              PERFORM SET-TWENTY    THRU SET-TWENTY-X
              MOVE "20 integer sets"   TO SET-MSG
              PERFORM SET-RTN          THRU SET-RTN-X.

           DISPLAY "Final sets    "    AT 2552.

           PERFORM  PROCESS-SETUP    THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL  ZEROS AND
              INT(SUB-21) NOT EQUAL  ZEROS
              PERFORM SET-TWENTY-ONE THRU SET-TWENTY-ONE-X
              MOVE "21 integer sets"    TO SET-MSG
              PERFORM SET-RTN           THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP    THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL  ZEROS AND
              INT(SUB-22) NOT EQUAL  ZEROS
              PERFORM SET-TWENTY-TWO THRU SET-TWENTY-TWO-X
              MOVE "22 integer sets"    TO SET-MSG
              PERFORM SET-RTN           THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP      THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL    ZEROS AND
              INT(SUB-23) NOT EQUAL    ZEROS
              PERFORM SET-TWENTY-THREE THRU SET-TWENTY-THREE-X
              MOVE "23 integer sets"      TO SET-MSG
              PERFORM SET-RTN             THRU SET-RTN-X.

           PERFORM  PROCESS-SETUP      THRU PROCESS-SETUP-X.
           IF INT(SUB-1)  NOT EQUAL    ZEROS AND
              INT(SUB-24) NOT EQUAL    ZEROS
              PERFORM SET-TWENTY-FOUR  THRU SET-TWENTY-FOUR-X
              MOVE "24 integer sets"      TO SET-MSG
              PERFORM SET-RTN             THRU SET-RTN-X.

           IF I1 NOT EQUAL ZEROS
              IF I25 EQUAL ZEROS OR SPACES
                 NEXT SENTENCE
              ELSE
                 PERFORM TWENTY-FIVE-RTN THRU TWENTY-FIVE-RTN-X
                 MOVE "25 integer sets"  TO SET-MSG
                 PERFORM SET-RTN         THRU SET-RTN-X.

           WRITE SUMMARY-RECORD FROM SPACE-LINE.

       PROCESS-BIG-DATA-X. EXIT.

       SET-SUBSCRIPTS.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3.
           MOVE 4  TO SUB-4.
           MOVE 5  TO SUB-5.
           MOVE 6  TO SUB-6.
           MOVE 7  TO SUB-7.
           MOVE 8  TO SUB-8.
           MOVE 9  TO SUB-9.
           MOVE 10 TO SUB-10.
           MOVE 11 TO SUB-11.
           MOVE 12 TO SUB-12.
           MOVE 13 TO SUB-13.
           MOVE 14 TO SUB-14.
           MOVE 15 TO SUB-15.
           MOVE 16 TO SUB-16.
           MOVE 17 TO SUB-17.
           MOVE 18 TO SUB-18.
           MOVE 19 TO SUB-19.
           MOVE 20 TO SUB-20.
           MOVE 21 TO SUB-21.
           MOVE 22 TO SUB-22.
           MOVE 23 TO SUB-23.
           MOVE 24 TO SUB-24.

       SET-SUBSCRIPTS-X. EXIT.

       REPORT-RTN.

           MOVE O1    TO D1
           MOVE O2    TO D2
           MOVE O3    TO D3
           MOVE O4    TO D4
           MOVE O5    TO D5
           MOVE O6    TO D6
           MOVE O7    TO D7
           MOVE O8    TO D8
           MOVE O9    TO D9
           MOVE O10   TO D10
           MOVE O11   TO D11
           MOVE O12   TO D12
           MOVE O13   TO D13
           MOVE O14   TO D14
           MOVE O15   TO D15
           MOVE O16   TO D16
           MOVE O17   TO D17
           MOVE O18   TO D18
           MOVE O19   TO D19
           MOVE O20   TO D20
           MOVE O21   TO D21
           MOVE O22   TO D22
           MOVE O23   TO D23
           MOVE O24   TO D24
           MOVE O25   TO D25
           WRITE STATS-RECORD   FROM STATS-INTEGERS.
           WRITE STATS-RECORD   FROM SPACE-LINE.
           WRITE SUMMARY-RECORD FROM STATS-INTEGERS.
           WRITE SUMMARY-RECORD FROM SPACE-LINE.
           WRITE DETAILS-RECORD FROM STATS-INTEGERS.
           WRITE DETAILS-RECORD FROM SPACE-LINE.

       REPORT-RTN-X. EXIT.

       END-REPORTS.

           MOVE TIME-OF-DAY        TO CLOCK-TIME.
           MOVE CLOCK-TIME         TO WORK-TIME.
           MULTIPLY WORKTIME-HH    BY 60 GIVING WORK-MIN-E
           ADD WORKTIME-MM         TO WORK-MIN-E
           SUBTRACT WORK-MIN-E     FROM WORK-MIN-B
                                   GIVING WORK-MIN.
           MOVE WORK-MIN           TO DISPLAY-TIME.
           MOVE "     Minutes =  " TO MIN-OR-SEC.

           IF WORK-MIN = ZERO
              MOVE WORKTIME-SS        TO WORK-SEC-E
              SUBTRACT WORK-SEC-B     FROM WORK-SEC-E
              GIVING WORK-SECONDS
              MOVE "     Seconds =  " TO MIN-OR-SEC
              IF WORK-SECONDS = ZERO
                 MOVE 1               TO DISPLAY-TIME
              ELSE
                 MOVE WORK-SECONDS    TO DISPLAY-TIME.

           MOVE TOTAL-ZERO      TO SETS-ALL-TOTAL
                                   TOTAL-SOLVE-D.
           IF TOTAL-ZERO = ZERO
              MOVE ZERO         TO CLOCK-CHECK
              MOVE ZERO         TO CLOCK-SOLVE
              MOVE ZERO         TO EXPON-SOLVE
              MOVE SOLVE-TICK   TO TOTAL-SOLVE
              MOVE ZERO         TO TOTAL-SOLVE-D
           ELSE
              MOVE SOLVE-TICK   TO TOTAL-SOLVE
              MOVE CHECK-TICK   TO CLOCK-CHECK
              MOVE EXPON-TICK   TO EXPON-SOLVE.

           WRITE STATS-RECORD   FROM STATS-ALL-TOTALS.
           WRITE STATS-RECORD   FROM SPACE-LINE.
           WRITE STATS-RECORD   FROM STATS-PNP.
           WRITE STATS-RECORD   FROM SPACE-LINE.

           WRITE SUMMARY-RECORD FROM STATS-ALL-TOTALS.
           WRITE SUMMARY-RECORD FROM SPACE-LINE.
           WRITE SUMMARY-RECORD FROM STATS-PNP.
           WRITE SUMMARY-RECORD FROM SPACE-LINE.

           WRITE DETAILS-RECORD FROM SPACE-LINE.
           WRITE DETAILS-RECORD FROM STATS-DETAIL.
           WRITE DETAILS-RECORD FROM STATS-SEPARATE.
           WRITE DETAILS-RECORD FROM SPACE-LINE.

       END-REPORTS-X. EXIT.

       END-BIG-DATA.

           DISPLAY SPACE-LINE  AT 2503.
           MOVE TOTAL-ZERO     TO TOTAL-ZERO-P.
           MOVE SUM-VALUE      TO SUM-VALUE-P.
           DISPLAY EOF-MESSAGE AT 2503.

           MOVE '?'            TO RESPONSE
           ACCEPT  RESPONSE    AT 2578.

           IF NEGATED
              EXIT PROGRAM
              STOP RUN.

           IF NOT AFFIRMATIVE
              GO TO END-BIG-DATA.

       END-BIG-DATA-X. EXIT.

       PROCESS-SETUP.

           MOVE SPACES TO  OUT-LINE (14).

           MOVE     1  TO SUB-1
           SUBTRACT 1  FROM MAX-SUB GIVING MAX-SUB-1
           SUBTRACT 2  FROM MAX-SUB GIVING MAX-SUB-2
           SUBTRACT 3  FROM MAX-SUB GIVING MAX-SUB-3
           SUBTRACT 4  FROM MAX-SUB GIVING MAX-SUB-4
           SUBTRACT 5  FROM MAX-SUB GIVING MAX-SUB-5
           SUBTRACT 6  FROM MAX-SUB GIVING MAX-SUB-6
           SUBTRACT 7  FROM MAX-SUB GIVING MAX-SUB-7
           SUBTRACT 8  FROM MAX-SUB GIVING MAX-SUB-8
           SUBTRACT 9  FROM MAX-SUB GIVING MAX-SUB-9
           SUBTRACT 10 FROM MAX-SUB GIVING MAX-SUB-10
           SUBTRACT 11 FROM MAX-SUB GIVING MAX-SUB-11
           SUBTRACT 12 FROM MAX-SUB GIVING MAX-SUB-12
           SUBTRACT 13 FROM MAX-SUB GIVING MAX-SUB-13
           SUBTRACT 14 FROM MAX-SUB GIVING MAX-SUB-14
           SUBTRACT 15 FROM MAX-SUB GIVING MAX-SUB-15
           SUBTRACT 16 FROM MAX-SUB GIVING MAX-SUB-16
           SUBTRACT 17 FROM MAX-SUB GIVING MAX-SUB-17
           SUBTRACT 18 FROM MAX-SUB GIVING MAX-SUB-18
           SUBTRACT 19 FROM MAX-SUB GIVING MAX-SUB-19
           SUBTRACT 20 FROM MAX-SUB GIVING MAX-SUB-20
           SUBTRACT 21 FROM MAX-SUB GIVING MAX-SUB-21
           SUBTRACT 22 FROM MAX-SUB GIVING MAX-SUB-22
           SUBTRACT 23 FROM MAX-SUB GIVING MAX-SUB-23.

       PROCESS-SETUP-X. EXIT.

       SET-TWOS.

           IF SUB-1 LESS THAN MAX-SUB
              PERFORM TWOS-RTN THRU TWOS-RTN-X
                      VARYING SUB-2 FROM SUB-BASE-2 BY 1
                      UNTIL   SUB-2 GREATER THAN MAX-SUB
              ADD  1 TO SUB-1
              ADD  1 TO SUB-BASE-2
              GO     TO SET-TWOS.

       SET-TWOS-X. EXIT.

       TWOS-RTN.

           ADD INT(SUB-1)
               INT(SUB-2)
               GIVING RESULT-2
               ADD 1 TO SOLVE-TICK.
               IF RESULT-2 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-RTN THRU DISPLAY-RTN-X.

           MOVE SUB-1 TO   WS-SUB-1
           MOVE SUB-2 TO   WS-SUB-2

           PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

       TWOS-RTN-X. EXIT.

       DISPLAY-RTN.

           MOVE INT(SUB-1)     TO   INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO   COM-DIS(SUB-O, SUB-L).
           ADD 1               TO   SUB-L
           MOVE INT(SUB-2)     TO   INT-DIS(SUB-O, SUB-L).
           IF   SOLVE-TICK    EQUAL ZEROS
                MOVE 1         TO   SOLVE-TICK.
           MOVE SOLVE-TICK     TO   PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                       SET-CLOCK
           PERFORM SCREEN-RTN  THRU SCREEN-RTN-X.

       DISPLAY-RTN-X. EXIT.

       SET-THREES.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           IF MAX-SUB EQUAL 3
              PERFORM THREES-SUB-RTN THRU THREES-SUB-RTN-X
              GO TO SET-THREES-X
           ELSE
              PERFORM THREES-SUB-RTN THRU THREES-SUB-RTN-X.
       SET-THREES-A.
           ADD 1 TO SUB-3.
           IF SUB-3 NOT GREATER THAN MAX-SUB
              PERFORM THREES-SUB-RTN THRU THREES-SUB-RTN-X
              GO TO SET-THREES-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              ADD 1      TO SUB-3.
       SET-THREES-B.
           IF SUB-3 NOT GREATER THAN MAX-SUB
              PERFORM THREES-SUB-RTN THRU THREES-SUB-RTN-X
              GO TO SET-THREES-A.
           IF SUB-2 NOT GREATER THAN MAX-SUB-1
              PERFORM THREES-SUB-RTN THRU THREES-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-THREES-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              PERFORM THREES-SUB-RTN THRU THREES-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-2
              GO TO SET-THREES-A.

       SET-THREES-X. EXIT.

       THREES-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.

           IF SUB-3 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           MOVE ZERO TO RESULT-3.
           IF DUP-SW = 'N'
           IF SUB-3 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3)
                  GIVING RESULT-3
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-3 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-3-RTN THRU DISPLAY-3-RTN-X.

       THREES-SUB-RTN-X. EXIT.

       DISPLAY-3-RTN.

           MOVE INT(SUB-1)          TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"                 TO COM-DIS(SUB-O, SUB-L).
           ADD 1                    TO SUB-L
           MOVE INT(SUB-2)          TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"                 TO COM-DIS(SUB-O, SUB-L).
           ADD 1                    TO SUB-L
           MOVE INT(SUB-3)          TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK          TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                          SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-3-RTN-X. EXIT.

       SET-FOURS.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           IF MAX-SUB EQUAL 4
              PERFORM FOURS-SUB-RTN THRU FOURS-SUB-RTN-X
              GO TO SET-FOURS-X
           ELSE
              PERFORM FOURS-SUB-RTN THRU FOURS-SUB-RTN-X.
       SET-FOURS-A.
           ADD 1 TO SUB-4.
           IF SUB-4 NOT GREATER THAN MAX-SUB
              PERFORM FOURS-SUB-RTN THRU FOURS-SUB-RTN-X
              GO TO SET-FOURS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
              ADD 1      TO SUB-4.
       SET-FOURS-B.
           IF SUB-4 NOT GREATER THAN MAX-SUB
              PERFORM FOURS-SUB-RTN THRU FOURS-SUB-RTN-X
              GO TO SET-FOURS-A.
           IF SUB-3 NOT GREATER THAN MAX-SUB-1
              PERFORM FOURS-SUB-RTN THRU FOURS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-FOURS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4.
       SET-FOURS-C.
           IF SUB-3 NOT GREATER THAN MAX-SUB-1
              PERFORM FOURS-SUB-RTN THRU FOURS-SUB-RTN-X
              GO TO SET-FOURS-B.
           IF SUB-2 NOT GREATER THAN MAX-SUB-2
              PERFORM FOURS-SUB-RTN THRU FOURS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-FOURS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4.
              PERFORM FOURS-SUB-RTN THRU FOURS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-3
              GO TO SET-FOURS-A.

       SET-FOURS-X. EXIT.

       FOURS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.

           IF SUB-4 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-4 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4)
                  GIVING RESULT-4
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-4 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-4-RTN THRU DISPLAY-4-RTN-X.

       FOURS-SUB-RTN-X. EXIT.

       DISPLAY-4-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-4-RTN-X. EXIT.

       SET-FIVES.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           IF MAX-SUB EQUAL 5
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X
              GO TO SET-FIVES-X
           ELSE
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X.
       SET-FIVES-A.
           ADD 1 TO SUB-5.
           IF SUB-5 NOT GREATER THAN MAX-SUB
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X
              GO TO SET-FIVES-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
              ADD 1      TO SUB-5.
       SET-FIVES-B.
           IF SUB-5 NOT GREATER THAN MAX-SUB
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X
              GO TO SET-FIVES-A.
           IF SUB-4 NOT GREATER THAN MAX-SUB-1
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-FIVES-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5.
       SET-FIVES-C.
           IF SUB-4 NOT GREATER THAN MAX-SUB-1
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X
              GO TO SET-FIVES-B.
           IF SUB-3 NOT GREATER THAN MAX-SUB-2
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-FIVES-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5.
       SET-FIVES-D.
           IF SUB-3 NOT GREATER THAN MAX-SUB-2
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X
              GO TO SET-FIVES-C.
           IF SUB-2 NOT GREATER THAN MAX-SUB-3
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-FIVES-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              PERFORM FIVES-SUB-RTN THRU FIVES-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-4
              GO TO SET-FIVES-A.

       SET-FIVES-X. EXIT.

       FIVES-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.

           IF SUB-5 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-5 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5)
                  GIVING RESULT-5
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-5 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-5-RTN THRU DISPLAY-5-RTN-X.

       FIVES-SUB-RTN-X. EXIT.

       DISPLAY-5-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-5-RTN-X. EXIT.

       SET-SIXES.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           IF MAX-SUB EQUAL 6
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              GO TO SET-SIXES-X
           ELSE
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X.
       SET-SIXES-A.
           ADD 1 TO SUB-6.
           IF SUB-6 NOT GREATER THAN MAX-SUB
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              GO TO SET-SIXES-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
              ADD 1      TO SUB-6.
       SET-SIXES-B.
           IF SUB-6 NOT GREATER THAN MAX-SUB
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              GO TO SET-SIXES-A.
           IF SUB-5 NOT GREATER THAN MAX-SUB-1
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-SIXES-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6.
       SET-SIXES-C.
           IF SUB-5 NOT GREATER THAN MAX-SUB-1
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              GO TO SET-SIXES-B.
           IF SUB-4 NOT GREATER THAN MAX-SUB-2
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-SIXES-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6.
       SET-SIXES-D.
           IF SUB-4 NOT GREATER THAN MAX-SUB-2
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              GO TO SET-SIXES-C.
           IF SUB-3 NOT GREATER THAN MAX-SUB-3
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-SIXES-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6.
       SET-SIXES-E.
           IF SUB-3 NOT GREATER THAN MAX-SUB-3
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              GO TO SET-SIXES-D.
           IF SUB-2 NOT GREATER THAN MAX-SUB-4
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-SIXES-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              PERFORM SIXES-SUB-RTN THRU SIXES-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-5
              GO TO SET-SIXES-A.

       SET-SIXES-X. EXIT.

       SIXES-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.

           IF SUB-6 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-6 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6)
                  GIVING RESULT-6
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-6 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-6-RTN THRU DISPLAY-6-RTN-X.

       SIXES-SUB-RTN-X. EXIT.

       DISPLAY-6-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-6-RTN-X. EXIT.

       SET-SEVENS.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           IF MAX-SUB EQUAL 7
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              GO TO SET-SEVENS-X
           ELSE
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X.
       SET-SEVENS-A.
           ADD 1 TO SUB-7.
           IF SUB-7 NOT GREATER THAN MAX-SUB
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              GO TO SET-SEVENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
              ADD 1      TO SUB-7.
       SET-SEVENS-B.
           IF SUB-7 NOT GREATER THAN MAX-SUB
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              GO TO SET-SEVENS-A.
           IF SUB-6 NOT GREATER THAN MAX-SUB-1
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-SEVENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7.
       SET-SEVENS-C.
           IF SUB-6 NOT GREATER THAN MAX-SUB-1
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              GO TO SET-SEVENS-B.
           IF SUB-5 NOT GREATER THAN MAX-SUB-2
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-SEVENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7.
       SET-SEVENS-D.
           IF SUB-5 NOT GREATER THAN MAX-SUB-2
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              GO TO SET-SEVENS-C.
           IF SUB-4 NOT GREATER THAN MAX-SUB-3
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-SEVENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7.
       SET-SEVENS-E.
           IF SUB-4 NOT GREATER THAN MAX-SUB-3
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              GO TO SET-SEVENS-D.
           IF SUB-3 NOT GREATER THAN MAX-SUB-4
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-SEVENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7.
       SET-SEVENS-F.
           IF SUB-3 NOT GREATER THAN MAX-SUB-4
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              GO TO SET-SEVENS-E.
           IF SUB-2 NOT GREATER THAN MAX-SUB-5
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-SEVENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              PERFORM SEVENS-SUB-RTN THRU SEVENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-6
              GO TO SET-SEVENS-A.

       SET-SEVENS-X. EXIT.

       SEVENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.

           IF SUB-7 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6 AND
              SUB-6 < SUB-7
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-7 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6 AND
              SUB-6 < SUB-7)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7)
                  GIVING RESULT-7
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-7 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-7-RTN THRU DISPLAY-7-RTN-X.

       SEVENS-SUB-RTN-X. EXIT.

       DISPLAY-7-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-7-RTN-X. EXIT.

       SET-EIGHTS.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           IF MAX-SUB EQUAL 8
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              GO TO SET-EIGHTS-X
           ELSE
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X.
       SET-EIGHTS-A.
           ADD 1 TO SUB-8.
           IF SUB-8 NOT GREATER THAN MAX-SUB
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              GO TO SET-EIGHTS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
              ADD 1      TO SUB-8.
       SET-EIGHTS-B.
           IF SUB-8 NOT GREATER THAN MAX-SUB
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              GO TO SET-EIGHTS-A.
           IF SUB-7 NOT GREATER THAN MAX-SUB-1
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-EIGHTS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8.
       SET-EIGHTS-C.
           IF SUB-7 NOT GREATER THAN MAX-SUB-1
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              GO TO SET-EIGHTS-B.
           IF SUB-6 NOT GREATER THAN MAX-SUB-2
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-EIGHTS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8.
       SET-EIGHTS-D.
           IF SUB-6 NOT GREATER THAN MAX-SUB-2
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              GO TO SET-EIGHTS-C.
           IF SUB-5 NOT GREATER THAN MAX-SUB-3
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-EIGHTS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8.
       SET-EIGHTS-E.
           IF SUB-5 NOT GREATER THAN MAX-SUB-3
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              GO TO SET-EIGHTS-D.
           IF SUB-4 NOT GREATER THAN MAX-SUB-4
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-EIGHTS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8.
       SET-EIGHTS-F.
           IF SUB-4 NOT GREATER THAN MAX-SUB-4
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              GO TO SET-EIGHTS-E.
           IF SUB-3 NOT GREATER THAN MAX-SUB-5
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-EIGHTS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8.
       SET-EIGHTS-G.
           IF SUB-3 NOT GREATER THAN MAX-SUB-5
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              GO TO SET-EIGHTS-F.
           IF SUB-2 NOT GREATER THAN MAX-SUB-6
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-EIGHTS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              PERFORM EIGHTS-SUB-RTN THRU EIGHTS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-7
              GO TO SET-EIGHTS-A.

       SET-EIGHTS-X. EXIT.

       EIGHTS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.

           IF SUB-8 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6 AND
              SUB-6 < SUB-7 AND
              SUB-7 < SUB-8
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-8 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6 AND
              SUB-6 < SUB-7 AND
              SUB-7 < SUB-8)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8)
                  GIVING RESULT-8
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-8 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-8-RTN THRU DISPLAY-8-RTN-X.

       EIGHTS-SUB-RTN-X. EXIT.

       DISPLAY-8-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-8-RTN-X. EXIT.

       SET-NINES.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           MOVE 9 TO SUB-9
           IF MAX-SUB EQUAL 9
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-X
           ELSE
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X.
       SET-NINES-A.
           ADD 1         TO SUB-9.
           IF SUB-9 NOT GREATER THAN MAX-SUB
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
              ADD 1      TO SUB-9.
       SET-NINES-B.
           IF SUB-9 NOT GREATER THAN MAX-SUB
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-A.
           IF SUB-8 NOT GREATER THAN MAX-SUB-1
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-NINES-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9.
       SET-NINES-C.
           IF SUB-8 NOT GREATER THAN MAX-SUB-1
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-B.
           IF SUB-7 NOT GREATER THAN MAX-SUB-2
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-NINES-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9.
       SET-NINES-D.
           IF SUB-7 NOT GREATER THAN MAX-SUB-2
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-C.
           IF SUB-6 NOT GREATER THAN MAX-SUB-3
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-NINES-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9.
       SET-NINES-E.
           IF SUB-6 NOT GREATER THAN MAX-SUB-3
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-D.
           IF SUB-5 NOT GREATER THAN MAX-SUB-4
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-NINES-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9.
       SET-NINES-F.
           IF SUB-5 NOT GREATER THAN MAX-SUB-4
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-E.
           IF SUB-4 NOT GREATER THAN MAX-SUB-5
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-NINES-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9.
       SET-NINES-G.
           IF SUB-4 NOT GREATER THAN MAX-SUB-5
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-F.
           IF SUB-3 NOT GREATER THAN MAX-SUB-6
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-NINES-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9.
       SET-NINES-H.
           IF SUB-3 NOT GREATER THAN MAX-SUB-6
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              GO TO SET-NINES-G.
           IF SUB-2 NOT GREATER THAN MAX-SUB-7
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-NINES-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              PERFORM NINES-SUB-RTN THRU NINES-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-8
              GO TO SET-NINES-A.

       SET-NINES-X. EXIT.

       NINES-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.

           IF SUB-9 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6 AND
              SUB-6 < SUB-7 AND
              SUB-7 < SUB-8 AND
              SUB-8 < SUB-9
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-9 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6 AND
              SUB-6 < SUB-7 AND
              SUB-7 < SUB-8 AND
              SUB-8 < SUB-9)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9)
                  GIVING RESULT-9
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-9 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-9-RTN THRU DISPLAY-9-RTN-X.

       NINES-SUB-RTN-X. EXIT.

       DISPLAY-9-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-9-RTN-X. EXIT.

       SET-TENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           MOVE 9 TO SUB-9
           MOVE 10 TO SUB-10
           IF MAX-SUB EQUAL 10
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-X
           ELSE
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X.
       SET-TENS-A.
           ADD 1         TO SUB-10.
           IF SUB-10 NOT GREATER THAN MAX-SUB
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
              ADD 1      TO SUB-10.
       SET-TENS-B.
           IF SUB-10 NOT GREATER THAN MAX-SUB
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-A.
           IF SUB-9 NOT GREATER THAN MAX-SUB-1
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10.
       SET-TENS-C.
           IF SUB-9 NOT GREATER THAN MAX-SUB-1
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-B.
           IF SUB-8 NOT GREATER THAN MAX-SUB-2
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10.
       SET-TENS-D.
           IF SUB-8 NOT GREATER THAN MAX-SUB-2
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-C.
           IF SUB-7 NOT GREATER THAN MAX-SUB-3
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10.
       SET-TENS-E.
           IF SUB-7 NOT GREATER THAN MAX-SUB-3
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-D.
           IF SUB-6 NOT GREATER THAN MAX-SUB-4
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10.
       SET-TENS-F.
           IF SUB-6 NOT GREATER THAN MAX-SUB-4
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-E.
           IF SUB-5 NOT GREATER THAN MAX-SUB-5
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10.
       SET-TENS-G.
           IF SUB-5 NOT GREATER THAN MAX-SUB-5
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-F.
           IF SUB-4 NOT GREATER THAN MAX-SUB-6
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10.
       SET-TENS-H.
           IF SUB-4 NOT GREATER THAN MAX-SUB-6
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-G.
           IF SUB-3 NOT GREATER THAN MAX-SUB-7
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10.
       SET-TENS-I.
           IF SUB-3 NOT GREATER THAN MAX-SUB-7
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              GO TO SET-TENS-H.
           IF SUB-2 NOT GREATER THAN MAX-SUB-8
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-TENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              PERFORM TENS-SUB-RTN THRU TENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-9
              GO TO SET-TENS-A.

       SET-TENS-X. EXIT.

       TENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.

           IF SUB-10 NOT GREATER THAN MAX-SUB
           IF SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6 AND
              SUB-6 < SUB-7 AND
              SUB-7 < SUB-8 AND
              SUB-8 < SUB-9 AND
              SUB-9 < SUB-10
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-10 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2 AND
              SUB-2 < SUB-3 AND
              SUB-3 < SUB-4 AND
              SUB-4 < SUB-5 AND
              SUB-5 < SUB-6 AND
              SUB-6 < SUB-7 AND
              SUB-7 < SUB-8 AND
              SUB-8 < SUB-9 AND
              SUB-9 < SUB-10)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10)
                  GIVING RESULT-10
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-10 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-10-RTN THRU DISPLAY-10-RTN-X.

       TENS-SUB-RTN-X. EXIT.

       DISPLAY-10-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-10-RTN-X. EXIT.

       SET-ELEVENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           MOVE 9 TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           IF MAX-SUB EQUAL 11
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-X
           ELSE
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X.
       SET-ELEVENS-A.
           ADD 1          TO SUB-11.
           IF SUB-11 NOT GREATER THAN MAX-SUB
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
              ADD 1       TO SUB-11.
       SET-ELEVENS-B.
           IF SUB-11 NOT GREATER THAN MAX-SUB
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-A.
           IF SUB-10 NOT GREATER THAN MAX-SUB-1
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11.
       SET-ELEVENS-C.
           IF SUB-10 NOT GREATER THAN MAX-SUB-1
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-B.
           IF SUB-9 NOT GREATER THAN MAX-SUB-2
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11.
       SET-ELEVENS-D.
           IF SUB-9 NOT GREATER THAN MAX-SUB-2
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-C.
           IF SUB-8 NOT GREATER THAN MAX-SUB-3
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11.
       SET-ELEVENS-E.
           IF SUB-8 NOT GREATER THAN MAX-SUB-3
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-D.
           IF SUB-7 NOT GREATER THAN MAX-SUB-4
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11.
       SET-ELEVENS-F.
           IF SUB-7 NOT GREATER THAN MAX-SUB-4
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-E.
           IF SUB-6 NOT GREATER THAN MAX-SUB-5
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11.
       SET-ELEVENS-G.
           IF SUB-6 NOT GREATER THAN MAX-SUB-5
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-F.
           IF SUB-5 NOT GREATER THAN MAX-SUB-6
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11.
       SET-ELEVENS-H.
           IF SUB-5 NOT GREATER THAN MAX-SUB-6
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-G.
           IF SUB-4 NOT GREATER THAN MAX-SUB-7
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11.
       SET-ELEVENS-I.
           IF SUB-4 NOT GREATER THAN MAX-SUB-7
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-H.
           IF SUB-3 NOT GREATER THAN MAX-SUB-8
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11.
       SET-ELEVENS-J.
           IF SUB-3 NOT GREATER THAN MAX-SUB-8
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              GO TO SET-ELEVENS-I.
           IF SUB-2 NOT GREATER THAN MAX-SUB-9
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-ELEVENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              PERFORM ELEVENS-SUB-RTN THRU ELEVENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-10
              GO TO SET-ELEVENS-A.

       SET-ELEVENS-X. EXIT.

       ELEVENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.

           IF SUB-11 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-11 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11)
                  GIVING RESULT-11
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-11 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-11-RTN THRU DISPLAY-11-RTN-X.

       ELEVENS-SUB-RTN-X. EXIT.

       DISPLAY-11-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-11-RTN-X. EXIT.

       SET-TWELVES.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           MOVE 9 TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           IF MAX-SUB EQUAL 12
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-X
           ELSE
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X.
       SET-TWELVES-A.
           ADD 1          TO SUB-12.
           IF SUB-12 NOT GREATER THAN MAX-SUB
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
              ADD 1       TO SUB-12.
       SET-TWELVES-B.
           IF SUB-12 NOT GREATER THAN MAX-SUB
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-A.
           IF SUB-11 NOT GREATER THAN MAX-SUB-1
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-11
              GO TO SET-TWELVES-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12.
       SET-TWELVES-C.
           IF SUB-11 NOT GREATER THAN MAX-SUB-1
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-B.
           IF SUB-10 NOT GREATER THAN MAX-SUB-2
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12.
       SET-TWELVES-D.
           IF SUB-10 NOT GREATER THAN MAX-SUB-2
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-C.
           IF SUB-9 NOT GREATER THAN MAX-SUB-3
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12.
       SET-TWELVES-E.
           IF SUB-9 NOT GREATER THAN MAX-SUB-3
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-D.
           IF SUB-8 NOT GREATER THAN MAX-SUB-4
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12.
       SET-TWELVES-F.
           IF SUB-8 NOT GREATER THAN MAX-SUB-4
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-E.
           IF SUB-7 NOT GREATER THAN MAX-SUB-5
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12.
       SET-TWELVES-G.
           IF SUB-7 NOT GREATER THAN MAX-SUB-5
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-F.
           IF SUB-6 NOT GREATER THAN MAX-SUB-6
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12.
       SET-TWELVES-H.
           IF SUB-6 NOT GREATER THAN MAX-SUB-6
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-G.
           IF SUB-5 NOT GREATER THAN MAX-SUB-7
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12.
       SET-TWELVES-I.
           IF SUB-5 NOT GREATER THAN MAX-SUB-7
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-H.
           IF SUB-4 NOT GREATER THAN MAX-SUB-8
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12.
       SET-TWELVES-J.
           IF SUB-4 NOT GREATER THAN MAX-SUB-8
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-I.
           IF SUB-3 NOT GREATER THAN MAX-SUB-9
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12.
       SET-TWELVES-K.
           IF SUB-3 NOT GREATER THAN MAX-SUB-9
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              GO TO SET-TWELVES-J.
           IF SUB-2 NOT GREATER THAN MAX-SUB-10
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-TWELVES-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              PERFORM TWELVES-SUB-RTN THRU TWELVES-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-11
              GO TO SET-TWELVES-A.

       SET-TWELVES-X. EXIT.

       TWELVES-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.

           IF SUB-12 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-12 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12)
                  GIVING RESULT-12
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-12 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-12-RTN THRU DISPLAY-12-RTN-X.

       TWELVES-SUB-RTN-X. EXIT.

       DISPLAY-12-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-12-RTN-X. EXIT.

       SET-THIRTEENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           MOVE 9 TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           IF MAX-SUB EQUAL 13
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-X
           ELSE
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X.
       SET-THIRTEENS-A.
           ADD 1          TO SUB-13.
           IF SUB-13 NOT GREATER THAN MAX-SUB
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
              ADD 1       TO SUB-13.
       SET-THIRTEENS-B.
           IF SUB-13 NOT GREATER THAN MAX-SUB
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-A.
           IF SUB-12 NOT GREATER THAN MAX-SUB-1
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-12
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13.
       SET-THIRTEENS-C.
           IF SUB-12 NOT GREATER THAN MAX-SUB-1
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-B.
           IF SUB-11 NOT GREATER THAN MAX-SUB-2
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-11
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13.
       SET-THIRTEENS-D.
           IF SUB-11 NOT GREATER THAN MAX-SUB-2
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-C.
           IF SUB-10 NOT GREATER THAN MAX-SUB-3
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13.
       SET-THIRTEENS-E.
           IF SUB-10 NOT GREATER THAN MAX-SUB-3
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-D.
           IF SUB-9 NOT GREATER THAN MAX-SUB-4
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13.
       SET-THIRTEENS-F.
           IF SUB-9 NOT GREATER THAN MAX-SUB-4
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-E.
           IF SUB-8 NOT GREATER THAN MAX-SUB-5
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13.
       SET-THIRTEENS-G.
           IF SUB-8 NOT GREATER THAN MAX-SUB-5
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-F.
           IF SUB-7 NOT GREATER THAN MAX-SUB-6
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13.
       SET-THIRTEENS-H.
           IF SUB-7 NOT GREATER THAN MAX-SUB-6
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-G.
           IF SUB-6 NOT GREATER THAN MAX-SUB-7
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13.
       SET-THIRTEENS-I.
           IF SUB-6 NOT GREATER THAN MAX-SUB-7
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-H.
           IF SUB-5 NOT GREATER THAN MAX-SUB-8
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13.
       SET-THIRTEENS-J.
           IF SUB-5 NOT GREATER THAN MAX-SUB-8
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-I.
           IF SUB-4 NOT GREATER THAN MAX-SUB-9
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13.
       SET-THIRTEENS-K.
           IF SUB-4 NOT GREATER THAN MAX-SUB-9
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-J.
           IF SUB-3 NOT GREATER THAN MAX-SUB-10
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13.
       SET-THIRTEENS-L.
           IF SUB-3 NOT GREATER THAN MAX-SUB-10
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              GO TO SET-THIRTEENS-K.
           IF SUB-2 NOT GREATER THAN MAX-SUB-11
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-THIRTEENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              PERFORM THIRTEENS-SUB-RTN THRU THIRTEENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-12
              GO TO SET-THIRTEENS-A.

       SET-THIRTEENS-X. EXIT.

       THIRTEENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.

           IF SUB-13 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-13 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13)
                  GIVING RESULT-13
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-13 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-13-RTN THRU DISPLAY-13-RTN-X.

       THIRTEENS-SUB-RTN-X. EXIT.

       DISPLAY-13-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-13-RTN-X. EXIT.

       SET-FOURTEENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           MOVE 9 TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           IF MAX-SUB EQUAL 14
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-X
           ELSE
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X.
       SET-FOURTEENS-A.
           ADD 1          TO SUB-14.
           IF SUB-14 NOT GREATER THAN MAX-SUB
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              ADD 1       TO SUB-14.
       SET-FOURTEENS-B.
           IF SUB-14 NOT GREATER THAN MAX-SUB
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-A.
           IF SUB-13 NOT GREATER THAN MAX-SUB-1
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-13
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14.
       SET-FOURTEENS-C.
           IF SUB-13 NOT GREATER THAN MAX-SUB-1
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-B.
           IF SUB-12 NOT GREATER THAN MAX-SUB-2
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-12
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14.
       SET-FOURTEENS-D.
           IF SUB-12 NOT GREATER THAN MAX-SUB-2
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-C.
           IF SUB-11 NOT GREATER THAN MAX-SUB-3
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14.
       SET-FOURTEENS-E.
           IF SUB-11 NOT GREATER THAN MAX-SUB-3
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-D.
           IF SUB-10 NOT GREATER THAN MAX-SUB-4
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14.
       SET-FOURTEENS-F.
           IF SUB-10 NOT GREATER THAN MAX-SUB-4
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-E.
           IF SUB-9 NOT GREATER THAN MAX-SUB-5
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14.
       SET-FOURTEENS-G.
           IF SUB-9 NOT GREATER THAN MAX-SUB-5
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-F.
           IF SUB-8 NOT GREATER THAN MAX-SUB-6
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14.
       SET-FOURTEENS-H.
           IF SUB-8 NOT GREATER THAN MAX-SUB-6
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-G.
           IF SUB-7 NOT GREATER THAN MAX-SUB-7
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14.
       SET-FOURTEENS-I.
           IF SUB-7 NOT GREATER THAN MAX-SUB-7
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-H.
           IF SUB-6 NOT GREATER THAN MAX-SUB-8
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14.
       SET-FOURTEENS-J.
           IF SUB-6 NOT GREATER THAN MAX-SUB-8
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-I.
           IF SUB-5 NOT GREATER THAN MAX-SUB-9
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14.
       SET-FOURTEENS-K.
           IF SUB-5 NOT GREATER THAN MAX-SUB-9
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-J.
           IF SUB-4 NOT GREATER THAN MAX-SUB-10
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14.
       SET-FOURTEENS-L.
           IF SUB-4 NOT GREATER THAN MAX-SUB-10
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-K.
           IF SUB-3 NOT GREATER THAN MAX-SUB-11
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14.
       SET-FOURTEENS-M.
           IF SUB-3 NOT GREATER THAN MAX-SUB-11
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              GO TO SET-FOURTEENS-K.
           IF SUB-2 NOT GREATER THAN MAX-SUB-12
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-FOURTEENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              PERFORM FOURTEENS-SUB-RTN THRU FOURTEENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-13
              GO TO SET-FOURTEENS-A.

       SET-FOURTEENS-X. EXIT.

       FOURTEENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.

           IF SUB-14 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-14 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14)
                  GIVING RESULT-14
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-14 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-14-RTN THRU DISPLAY-14-RTN-X.

       FOURTEENS-SUB-RTN-X. EXIT.

       DISPLAY-14-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-14-RTN-X. EXIT.

       SET-FIFTEENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           MOVE 9 TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           IF MAX-SUB EQUAL 15
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-X
           ELSE
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X.
       SET-FIFTEENS-A.
           ADD 1          TO SUB-15.
           IF SUB-15 NOT GREATER THAN MAX-SUB
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              ADD 1       TO SUB-15.
       SET-FIFTEENS-B.
           IF SUB-15 NOT GREATER THAN MAX-SUB
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-A.
           IF SUB-14 NOT GREATER THAN MAX-SUB-1
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15.
       SET-FIFTEENS-C.
           IF SUB-14 NOT GREATER THAN MAX-SUB-1
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-B.
           IF SUB-13 NOT GREATER THAN MAX-SUB-2
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-13
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15.
       SET-FIFTEENS-D.
           IF SUB-13 NOT GREATER THAN MAX-SUB-2
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-C.
           IF SUB-12 NOT GREATER THAN MAX-SUB-3
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15.
       SET-FIFTEENS-E.
           IF SUB-12 NOT GREATER THAN MAX-SUB-3
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-D.
           IF SUB-11 NOT GREATER THAN MAX-SUB-4
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15.
       SET-FIFTEENS-F.
           IF SUB-11 NOT GREATER THAN MAX-SUB-4
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-E.
           IF SUB-10 NOT GREATER THAN MAX-SUB-5
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15.
       SET-FIFTEENS-G.
           IF SUB-10 NOT GREATER THAN MAX-SUB-5
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-F.
           IF SUB-9 NOT GREATER THAN MAX-SUB-6
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15.
       SET-FIFTEENS-H.
           IF SUB-9 NOT GREATER THAN MAX-SUB-6
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-G.
           IF SUB-8 NOT GREATER THAN MAX-SUB-7
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15.
       SET-FIFTEENS-I.
           IF SUB-8 NOT GREATER THAN MAX-SUB-7
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-H.
           IF SUB-7 NOT GREATER THAN MAX-SUB-8
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15.
       SET-FIFTEENS-J.
           IF SUB-7 NOT GREATER THAN MAX-SUB-8
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-I.
           IF SUB-6 NOT GREATER THAN MAX-SUB-9
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15.
       SET-FIFTEENS-K.
           IF SUB-6 NOT GREATER THAN MAX-SUB-9
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-J.
           IF SUB-5 NOT GREATER THAN MAX-SUB-10
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15.
       SET-FIFTEENS-L.
           IF SUB-5 NOT GREATER THAN MAX-SUB-10
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-K.
           IF SUB-4 NOT GREATER THAN MAX-SUB-11
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15.
       SET-FIFTEENS-M.
           IF SUB-4 NOT GREATER THAN MAX-SUB-11
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-L.
           IF SUB-3 NOT GREATER THAN MAX-SUB-12
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              MOVE SUB-2 TO SUB-15
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15.
       SET-FIFTEENS-N.
           IF SUB-3 NOT GREATER THAN MAX-SUB-12
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              GO TO SET-FIFTEENS-M.
           IF SUB-2 NOT GREATER THAN MAX-SUB-13
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-FIFTEENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              PERFORM FIFTEENS-SUB-RTN THRU FIFTEENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-14
              GO TO SET-FIFTEENS-A.

       SET-FIFTEENS-X. EXIT.

       FIFTEENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.

           IF SUB-15 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-15 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15)
                  GIVING RESULT-15
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-15 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-15-RTN THRU DISPLAY-15-RTN-X.

       FIFTEENS-SUB-RTN-X. EXIT.

       DISPLAY-15-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.
           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-15-RTN-X. EXIT.

       SET-SIXTEENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1 TO SUB-1
           MOVE 2 TO SUB-2
           MOVE 3 TO SUB-3
           MOVE 4 TO SUB-4
           MOVE 5 TO SUB-5
           MOVE 6 TO SUB-6
           MOVE 7 TO SUB-7
           MOVE 8 TO SUB-8
           MOVE 9 TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           IF MAX-SUB EQUAL 16
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-X
           ELSE
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X.
       SET-SIXTEENS-A.
           ADD 1          TO SUB-16.
           IF SUB-16 NOT GREATER THAN MAX-SUB
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              ADD 1       TO SUB-16.
       SET-SIXTEENS-B.
           IF SUB-16 NOT GREATER THAN MAX-SUB
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-A.
           IF SUB-15 NOT GREATER THAN MAX-SUB-1
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1       TO SUB-15
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16.
       SET-SIXTEENS-C.
           IF SUB-15 NOT GREATER THAN MAX-SUB-1
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-B.
           IF SUB-14 NOT GREATER THAN MAX-SUB-2
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-14
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16.
       SET-SIXTEENS-D.
           IF SUB-14 NOT GREATER THAN MAX-SUB-2
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-C.
           IF SUB-13 NOT GREATER THAN MAX-SUB-3
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16.
       SET-SIXTEENS-E.
           IF SUB-13 NOT GREATER THAN MAX-SUB-3
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-D.
           IF SUB-12 NOT GREATER THAN MAX-SUB-4
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16.
       SET-SIXTEENS-F.
           IF SUB-12 NOT GREATER THAN MAX-SUB-4
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-E.
           IF SUB-11 NOT GREATER THAN MAX-SUB-5
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16.
       SET-SIXTEENS-G.
           IF SUB-11 NOT GREATER THAN MAX-SUB-5
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-F.
           IF SUB-10 NOT GREATER THAN MAX-SUB-6
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16.
       SET-SIXTEENS-H.
           IF SUB-10 NOT GREATER THAN MAX-SUB-6
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-G.
           IF SUB-9 NOT GREATER THAN MAX-SUB-7
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16.
       SET-SIXTEENS-I.
           IF SUB-9 NOT GREATER THAN MAX-SUB-7
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-H.
           IF SUB-8 NOT GREATER THAN MAX-SUB-8
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16.
       SET-SIXTEENS-J.
           IF SUB-8 NOT GREATER THAN MAX-SUB-8
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-I.
           IF SUB-7 NOT GREATER THAN MAX-SUB-9
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16.
       SET-SIXTEENS-K.
           IF SUB-7 NOT GREATER THAN MAX-SUB-9
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-J.
           IF SUB-6 NOT GREATER THAN MAX-SUB-10
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16.
       SET-SIXTEENS-L.
           IF SUB-6 NOT GREATER THAN MAX-SUB-10
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-K.
           IF SUB-5 NOT GREATER THAN MAX-SUB-11
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16.
       SET-SIXTEENS-M.
           IF SUB-5 NOT GREATER THAN MAX-SUB-11
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-L.
           IF SUB-4 NOT GREATER THAN MAX-SUB-12
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16.
       SET-SIXTEENS-N.
           IF SUB-4 NOT GREATER THAN MAX-SUB-12
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-M.
           IF SUB-3 NOT GREATER THAN MAX-SUB-13
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              MOVE SUB-2 TO SUB-15
              MOVE SUB-2 TO SUB-16
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16.
       SET-SIXTEENS-O.
           IF SUB-3 NOT GREATER THAN MAX-SUB-13
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              GO TO SET-SIXTEENS-M.
           IF SUB-2 NOT GREATER THAN MAX-SUB-14
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-SIXTEENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              PERFORM SIXTEENS-SUB-RTN THRU SIXTEENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-15
              GO TO SET-SIXTEENS-A.

       SET-SIXTEENS-X. EXIT.

       SIXTEENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.

           IF SUB-16 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-16 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16)
                  GIVING RESULT-16
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-16 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-16-RTN THRU DISPLAY-16-RTN-X.

       SIXTEENS-SUB-RTN-X. EXIT.

       DISPLAY-16-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-16-RTN-X. EXIT.

       SET-SEVENTEENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3
           MOVE 4  TO SUB-4
           MOVE 5  TO SUB-5
           MOVE 6  TO SUB-6
           MOVE 7  TO SUB-7
           MOVE 8  TO SUB-8
           MOVE 9  TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           MOVE 17 TO SUB-17
           IF MAX-SUB EQUAL 17
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-X
           ELSE
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X.
       SET-SEVENTEENS-A.
           ADD 1          TO SUB-17.
           IF SUB-17 NOT GREATER THAN MAX-SUB
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1       TO SUB-16
              MOVE SUB-16 TO SUB-17
              ADD 1       TO SUB-17.
       SET-SEVENTEENS-B.
           IF SUB-17 NOT GREATER THAN MAX-SUB
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-A.
           IF SUB-16 NOT GREATER THAN MAX-SUB-1
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1       TO SUB-16
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              MOVE SUB-15 TO SUB-17
              ADD 1       TO SUB-16
              ADD 2       TO SUB-17.
       SET-SEVENTEENS-C.
           IF SUB-16 NOT GREATER THAN MAX-SUB-1
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-B.
           IF SUB-15 NOT GREATER THAN MAX-SUB-2
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-15
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              MOVE SUB-14 TO SUB-17
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16
              ADD 3       TO SUB-17.
       SET-SEVENTEENS-D.
           IF SUB-15 NOT GREATER THAN MAX-SUB-2
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-C.
           IF SUB-14 NOT GREATER THAN MAX-SUB-3
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              MOVE SUB-13 TO SUB-17
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16
              ADD 4       TO SUB-17.
       SET-SEVENTEENS-E.
           IF SUB-14 NOT GREATER THAN MAX-SUB-3
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-D.
           IF SUB-13 NOT GREATER THAN MAX-SUB-4
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16
              ADD 5       TO SUB-17.
       SET-SEVENTEENS-F.
           IF SUB-13 NOT GREATER THAN MAX-SUB-4
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-E.
           IF SUB-12 NOT GREATER THAN MAX-SUB-5
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16
              ADD 6       TO SUB-17.
       SET-SEVENTEENS-G.
           IF SUB-12 NOT GREATER THAN MAX-SUB-5
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-F.
           IF SUB-11 NOT GREATER THAN MAX-SUB-6
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16
              ADD 7       TO SUB-17.
       SET-SEVENTEENS-H.
           IF SUB-11 NOT GREATER THAN MAX-SUB-6
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-G.
           IF SUB-10 NOT GREATER THAN MAX-SUB-7
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16
              ADD 8      TO SUB-17.
       SET-SEVENTEENS-I.
           IF SUB-10 NOT GREATER THAN MAX-SUB-7
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-H.
           IF SUB-9 NOT GREATER THAN MAX-SUB-8
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16
              ADD 9      TO SUB-17.
       SET-SEVENTEENS-J.
           IF SUB-9 NOT GREATER THAN MAX-SUB-8
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-I.
           IF SUB-8 NOT GREATER THAN MAX-SUB-9
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16
              ADD 10     TO SUB-17.
       SET-SEVENTEENS-K.
           IF SUB-8 NOT GREATER THAN MAX-SUB-9
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-J.
           IF SUB-7 NOT GREATER THAN MAX-SUB-10
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16
              ADD 11     TO SUB-17.
       SET-SEVENTEENS-L.
           IF SUB-7 NOT GREATER THAN MAX-SUB-10
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-K.
           IF SUB-6 NOT GREATER THAN MAX-SUB-11
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16
              ADD 12     TO SUB-17.
       SET-SEVENTEENS-M.
           IF SUB-6 NOT GREATER THAN MAX-SUB-11
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-L.
           IF SUB-5 NOT GREATER THAN MAX-SUB-12
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16
              ADD 13     TO SUB-17.
       SET-SEVENTEENS-N.
           IF SUB-5 NOT GREATER THAN MAX-SUB-12
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-M.
           IF SUB-4 NOT GREATER THAN MAX-SUB-13
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16
              ADD 14     TO SUB-17.
       SET-SEVENTEENS-O.
           IF SUB-4 NOT GREATER THAN MAX-SUB-13
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-N.
           IF SUB-3 NOT GREATER THAN MAX-SUB-14
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              MOVE SUB-2 TO SUB-15
              MOVE SUB-2 TO SUB-16
              MOVE SUB-2 TO SUB-17
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16
              ADD 15     TO SUB-17.
       SET-SEVENTEENS-P.
           IF SUB-3 NOT GREATER THAN MAX-SUB-14
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              GO TO SET-SEVENTEENS-O.
           IF SUB-2 NOT GREATER THAN MAX-SUB-15
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-SEVENTEENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              ADD 16     TO SUB-17
              PERFORM SEVENTEENS-SUB-RTN THRU SEVENTEENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-16
              GO TO SET-SEVENTEENS-A.

       SET-SEVENTEENS-X. EXIT.

       SEVENTEENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.
           MOVE SUB-17 TO  WS-SUB-17.

           IF SUB-17 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-17 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16),
                  INT(SUB-17)
                  GIVING RESULT-17
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-17 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-17-RTN THRU DISPLAY-17-RTN-X.

       SEVENTEENS-SUB-RTN-X. EXIT.

       DISPLAY-17-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-17)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-17-RTN-X. EXIT.

       SET-EIGHTEENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3
           MOVE 4  TO SUB-4
           MOVE 5  TO SUB-5
           MOVE 6  TO SUB-6
           MOVE 7  TO SUB-7
           MOVE 8  TO SUB-8
           MOVE 9  TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           MOVE 17 TO SUB-17
           MOVE 18 TO SUB-18
           IF MAX-SUB EQUAL 18
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-X
           ELSE
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X.
       SET-EIGHTEENS-A.
           ADD 1          TO SUB-18.
           IF SUB-18 NOT GREATER THAN MAX-SUB
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1       TO SUB-17
              MOVE SUB-17 TO SUB-18
              ADD 1       TO SUB-18.
       SET-EIGHTEENS-B.
           IF SUB-18 NOT GREATER THAN MAX-SUB
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-A.
           IF SUB-17 NOT GREATER THAN MAX-SUB-1
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1       TO SUB-17
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1       TO SUB-16
              MOVE SUB-16 TO SUB-17
              MOVE SUB-16 TO SUB-18
              ADD 1       TO SUB-17
              ADD 2       TO SUB-18.
       SET-EIGHTEENS-C.
           IF SUB-17 NOT GREATER THAN MAX-SUB-1
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-B.
           IF SUB-16 NOT GREATER THAN MAX-SUB-2
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-16
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              MOVE SUB-15 TO SUB-17
              MOVE SUB-15 TO SUB-18
              ADD 1       TO SUB-16
              ADD 2       TO SUB-17
              ADD 3       TO SUB-18.
       SET-EIGHTEENS-D.
           IF SUB-16 NOT GREATER THAN MAX-SUB-2
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-C.
           IF SUB-15 NOT GREATER THAN MAX-SUB-3
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1       TO SUB-15
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              MOVE SUB-14 TO SUB-17
              MOVE SUB-14 TO SUB-18
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16
              ADD 3       TO SUB-17
              ADD 4       TO SUB-18.
       SET-EIGHTEENS-E.
           IF SUB-15 NOT GREATER THAN MAX-SUB-3
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-D.
           IF SUB-14 NOT GREATER THAN MAX-SUB-4
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              MOVE SUB-13 TO SUB-17
              MOVE SUB-13 TO SUB-18
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16
              ADD 4       TO SUB-17
              ADD 5       TO SUB-18.
       SET-EIGHTEENS-F.
           IF SUB-14 NOT GREATER THAN MAX-SUB-4
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-E.
           IF SUB-13 NOT GREATER THAN MAX-SUB-5
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16
              ADD 5       TO SUB-17
              ADD 6       TO SUB-18.
       SET-EIGHTEENS-G.
           IF SUB-13 NOT GREATER THAN MAX-SUB-5
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-F.
           IF SUB-12 NOT GREATER THAN MAX-SUB-6
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16
              ADD 6       TO SUB-17
              ADD 7       TO SUB-18.
       SET-EIGHTEENS-H.
           IF SUB-12 NOT GREATER THAN MAX-SUB-6
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-G.
           IF SUB-11 NOT GREATER THAN MAX-SUB-7
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-11
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16
              ADD 7       TO SUB-17
              ADD 8       TO SUB-18.
       SET-EIGHTEENS-I.
           IF SUB-11 NOT GREATER THAN MAX-SUB-7
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-H.
           IF SUB-10 NOT GREATER THAN MAX-SUB-8
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16
              ADD 8      TO SUB-17
              ADD 9      TO SUB-18.
       SET-EIGHTEENS-J.
           IF SUB-10 NOT GREATER THAN MAX-SUB-8
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-I.
           IF SUB-9 NOT GREATER THAN MAX-SUB-9
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16
              ADD 9      TO SUB-17
              ADD 10     TO SUB-18.
       SET-EIGHTEENS-K.
           IF SUB-9 NOT GREATER THAN MAX-SUB-9
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-J.
           IF SUB-8 NOT GREATER THAN MAX-SUB-10
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16
              ADD 10     TO SUB-17
              ADD 11     TO SUB-18.
       SET-EIGHTEENS-L.
           IF SUB-8 NOT GREATER THAN MAX-SUB-10
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-K.
           IF SUB-7 NOT GREATER THAN MAX-SUB-11
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16
              ADD 11     TO SUB-17
              ADD 12     TO SUB-18.
       SET-EIGHTEENS-M.
           IF SUB-7 NOT GREATER THAN MAX-SUB-11
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-L.
           IF SUB-6 NOT GREATER THAN MAX-SUB-12
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16
              ADD 12     TO SUB-17
              ADD 13     TO SUB-18.
       SET-EIGHTEENS-N.
           IF SUB-6 NOT GREATER THAN MAX-SUB-12
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-M.
           IF SUB-5 NOT GREATER THAN MAX-SUB-13
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16
              ADD 13     TO SUB-17
              ADD 14     TO SUB-18.
       SET-EIGHTEENS-O.
           IF SUB-5 NOT GREATER THAN MAX-SUB-13
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-N.
           IF SUB-4 NOT GREATER THAN MAX-SUB-14
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16
              ADD 14     TO SUB-17
              ADD 15     TO SUB-18.
       SET-EIGHTEENS-P.
           IF SUB-4 NOT GREATER THAN MAX-SUB-14
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-O.
           IF SUB-3 NOT GREATER THAN MAX-SUB-15
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              MOVE SUB-2 TO SUB-15
              MOVE SUB-2 TO SUB-16
              MOVE SUB-2 TO SUB-17
              MOVE SUB-2 TO SUB-18
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16
              ADD 15     TO SUB-17
              ADD 16     TO SUB-18.
       SET-EIGHTEENS-Q.
           IF SUB-3 NOT GREATER THAN MAX-SUB-15
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              GO TO SET-EIGHTEENS-P.
           IF SUB-2 NOT GREATER THAN MAX-SUB-16
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-EIGHTEENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              ADD 16     TO SUB-17
              ADD 17     TO SUB-18
              PERFORM EIGHTEENS-SUB-RTN THRU EIGHTEENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-17
              GO TO SET-EIGHTEENS-A.

       SET-EIGHTEENS-X. EXIT.

       EIGHTEENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.
           MOVE SUB-17 TO  WS-SUB-17.
           MOVE SUB-18 TO  WS-SUB-18.

           IF SUB-18 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-18 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16),
                  INT(SUB-17),
                  INT(SUB-18)
                  GIVING RESULT-18
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-18 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-18-RTN THRU DISPLAY-18-RTN-X.

       EIGHTEENS-SUB-RTN-X. EXIT.

       DISPLAY-18-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-17)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-18)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-18-RTN-X. EXIT.

       SET-NINETEENS.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3
           MOVE 4  TO SUB-4
           MOVE 5  TO SUB-5
           MOVE 6  TO SUB-6
           MOVE 7  TO SUB-7
           MOVE 8  TO SUB-8
           MOVE 9  TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           MOVE 17 TO SUB-17
           MOVE 18 TO SUB-18
           MOVE 19 TO SUB-19
           IF MAX-SUB EQUAL 19
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-X
           ELSE
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X.
       SET-NINETEENS-A.
           ADD 1          TO SUB-19.
           IF SUB-19 NOT GREATER THAN MAX-SUB
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-18
              MOVE SUB-18 TO SUB-19
              ADD 1       TO SUB-19.
       SET-NINETEENS-B.
           IF SUB-19 NOT GREATER THAN MAX-SUB
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-A.
           IF SUB-18 NOT GREATER THAN MAX-SUB-1
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1       TO SUB-18
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-17
              MOVE SUB-17 TO SUB-18
              MOVE SUB-17 TO SUB-19
              ADD 1       TO SUB-18
              ADD 2       TO SUB-19.
       SET-NINETEENS-C.
           IF SUB-18 NOT GREATER THAN MAX-SUB-1
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-B.
           IF SUB-17 NOT GREATER THAN MAX-SUB-2
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-17
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-16
              MOVE SUB-16 TO SUB-17
              MOVE SUB-16 TO SUB-18
              MOVE SUB-16 TO SUB-19
              ADD 1       TO SUB-17
              ADD 2       TO SUB-18
              ADD 3       TO SUB-19.
       SET-NINETEENS-D.
           IF SUB-17 NOT GREATER THAN MAX-SUB-2
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-C.
           IF SUB-16 NOT GREATER THAN MAX-SUB-3
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1       TO SUB-16
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              MOVE SUB-15 TO SUB-17
              MOVE SUB-15 TO SUB-18
              MOVE SUB-15 TO SUB-19
              ADD 1       TO SUB-16
              ADD 2       TO SUB-17
              ADD 3       TO SUB-18
              ADD 4       TO SUB-19.
       SET-NINETEENS-E.
           IF SUB-16 NOT GREATER THAN MAX-SUB-3
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-D.
           IF SUB-15 NOT GREATER THAN MAX-SUB-4
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1       TO SUB-15
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              MOVE SUB-14 TO SUB-17
              MOVE SUB-14 TO SUB-18
              MOVE SUB-14 TO SUB-19
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16
              ADD 3       TO SUB-17
              ADD 4       TO SUB-18
              ADD 5       TO SUB-19.
       SET-NINETEENS-F.
           IF SUB-15 NOT GREATER THAN MAX-SUB-4
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-E.
           IF SUB-14 NOT GREATER THAN MAX-SUB-5
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              MOVE SUB-13 TO SUB-17
              MOVE SUB-13 TO SUB-18
              MOVE SUB-13 TO SUB-19
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16
              ADD 4       TO SUB-17
              ADD 5       TO SUB-18
              ADD 6       TO SUB-19.
       SET-NINETEENS-G.
           IF SUB-14 NOT GREATER THAN MAX-SUB-5
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-F.
           IF SUB-13 NOT GREATER THAN MAX-SUB-6
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16
              ADD 5       TO SUB-17
              ADD 6       TO SUB-18
              ADD 7       TO SUB-19.
       SET-NINETEENS-H.
           IF SUB-13 NOT GREATER THAN MAX-SUB-6
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-G.
           IF SUB-12 NOT GREATER THAN MAX-SUB-7
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16
              ADD 6       TO SUB-17
              ADD 7       TO SUB-18
              ADD 8       TO SUB-19.
       SET-NINETEENS-I.
           IF SUB-12 NOT GREATER THAN MAX-SUB-7
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-H.
           IF SUB-11 NOT GREATER THAN MAX-SUB-8
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16
              ADD 7       TO SUB-17
              ADD 8       TO SUB-18
              ADD 9       TO SUB-19.
       SET-NINETEENS-J.
           IF SUB-11 NOT GREATER THAN MAX-SUB-8
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-I.
           IF SUB-10 NOT GREATER THAN MAX-SUB-9
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16
              ADD 8      TO SUB-17
              ADD 9      TO SUB-18
              ADD 10     TO SUB-19.
       SET-NINETEENS-K.
           IF SUB-10 NOT GREATER THAN MAX-SUB-9
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-J.
           IF SUB-9 NOT GREATER THAN MAX-SUB-10
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16
              ADD 9      TO SUB-17
              ADD 10     TO SUB-18
              ADD 11     TO SUB-19.
       SET-NINETEENS-L.
           IF SUB-9 NOT GREATER THAN MAX-SUB-10
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-K.
           IF SUB-8 NOT GREATER THAN MAX-SUB-11
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16
              ADD 10     TO SUB-17
              ADD 11     TO SUB-18
              ADD 12     TO SUB-19.
       SET-NINETEENS-M.
           IF SUB-8 NOT GREATER THAN MAX-SUB-11
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-L.
           IF SUB-7 NOT GREATER THAN MAX-SUB-12
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16
              ADD 11     TO SUB-17
              ADD 12     TO SUB-18
              ADD 13     TO SUB-19.
       SET-NINETEENS-N.
           IF SUB-7 NOT GREATER THAN MAX-SUB-12
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-M.
           IF SUB-6 NOT GREATER THAN MAX-SUB-13
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16
              ADD 12     TO SUB-17
              ADD 13     TO SUB-18
              ADD 14     TO SUB-19.
       SET-NINETEENS-O.
           IF SUB-6 NOT GREATER THAN MAX-SUB-13
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-N.
           IF SUB-5 NOT GREATER THAN MAX-SUB-14
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16
              ADD 13     TO SUB-17
              ADD 14     TO SUB-18
              ADD 15     TO SUB-19.
       SET-NINETEENS-P.
           IF SUB-5 NOT GREATER THAN MAX-SUB-14
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-O.
           IF SUB-4 NOT GREATER THAN MAX-SUB-15
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16
              ADD 14     TO SUB-17
              ADD 15     TO SUB-18
              ADD 16     TO SUB-19.
       SET-NINETEENS-Q.
           IF SUB-4 NOT GREATER THAN MAX-SUB-15
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-P.
           IF SUB-3 NOT GREATER THAN MAX-SUB-16
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              MOVE SUB-2 TO SUB-15
              MOVE SUB-2 TO SUB-16
              MOVE SUB-2 TO SUB-17
              MOVE SUB-2 TO SUB-18
              MOVE SUB-2 TO SUB-19
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16
              ADD 15     TO SUB-17
              ADD 16     TO SUB-18
              ADD 17     TO SUB-19.
       SET-NINETEENS-R.
           IF SUB-3 NOT GREATER THAN MAX-SUB-16
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              GO TO SET-NINETEENS-Q.
           IF SUB-2 NOT GREATER THAN MAX-SUB-17
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-NINETEENS-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              ADD 16     TO SUB-17
              ADD 17     TO SUB-18
              ADD 18     TO SUB-19
              PERFORM NINETEENS-SUB-RTN THRU NINETEENS-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-18
              GO TO SET-NINETEENS-A.

       SET-NINETEENS-X. EXIT.

       NINETEENS-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.
           MOVE SUB-17 TO  WS-SUB-17.
           MOVE SUB-18 TO  WS-SUB-18.
           MOVE SUB-19 TO  WS-SUB-19.

           IF SUB-19 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-19 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16),
                  INT(SUB-17),
                  INT(SUB-18),
                  INT(SUB-19)
                  GIVING RESULT-19
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-19 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-19-RTN THRU DISPLAY-19-RTN-X.

       NINETEENS-SUB-RTN-X. EXIT.

       DISPLAY-19-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-17)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-18)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-19)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-19-RTN-X. EXIT.

       SET-TWENTY.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3
           MOVE 4  TO SUB-4
           MOVE 5  TO SUB-5
           MOVE 6  TO SUB-6
           MOVE 7  TO SUB-7
           MOVE 8  TO SUB-8
           MOVE 9  TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           MOVE 17 TO SUB-17
           MOVE 18 TO SUB-18
           MOVE 19 TO SUB-19
           MOVE 20 TO SUB-20
           IF MAX-SUB EQUAL 20
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-X
           ELSE
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X.
       SET-TWENTY-A.
           ADD 1          TO SUB-20.
           IF SUB-20 NOT GREATER THAN MAX-SUB
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-19
              MOVE SUB-19 TO SUB-20
              ADD 1       TO SUB-20.
       SET-TWENTY-B.
           IF SUB-20 NOT GREATER THAN MAX-SUB
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-A.
           IF SUB-19 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1       TO SUB-19
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-18
              MOVE SUB-18 TO SUB-19
              MOVE SUB-18 TO SUB-20
              ADD 1       TO SUB-19
              ADD 2       TO SUB-20.
       SET-TWENTY-C.
           IF SUB-19 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-B.
           IF SUB-18 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-18
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-17
              MOVE SUB-17 TO SUB-18
              MOVE SUB-17 TO SUB-19
              MOVE SUB-17 TO SUB-20
              ADD 1       TO SUB-18
              ADD 2       TO SUB-19
              ADD 3       TO SUB-20.
       SET-TWENTY-D.
           IF SUB-18 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-C.
           IF SUB-17 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1       TO SUB-17
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-16
              MOVE SUB-16 TO SUB-17
              MOVE SUB-16 TO SUB-18
              MOVE SUB-16 TO SUB-19
              MOVE SUB-16 TO SUB-20
              ADD 1       TO SUB-17
              ADD 2       TO SUB-18
              ADD 3       TO SUB-19
              ADD 4       TO SUB-20.
       SET-TWENTY-E.
           IF SUB-17 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-D.
           IF SUB-16 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1       TO SUB-16
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              MOVE SUB-15 TO SUB-17
              MOVE SUB-15 TO SUB-18
              MOVE SUB-15 TO SUB-19
              MOVE SUB-15 TO SUB-20
              ADD 1       TO SUB-16
              ADD 2       TO SUB-17
              ADD 3       TO SUB-18
              ADD 4       TO SUB-19
              ADD 5       TO SUB-20.
       SET-TWENTY-F.
           IF SUB-16 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-E.
           IF SUB-15 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1       TO SUB-15
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              MOVE SUB-14 TO SUB-17
              MOVE SUB-14 TO SUB-18
              MOVE SUB-14 TO SUB-19
              MOVE SUB-14 TO SUB-20
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16
              ADD 3       TO SUB-17
              ADD 4       TO SUB-18
              ADD 5       TO SUB-19
              ADD 6       TO SUB-20.
       SET-TWENTY-G.
           IF SUB-15 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-F.
           IF SUB-14 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              MOVE SUB-13 TO SUB-17
              MOVE SUB-13 TO SUB-18
              MOVE SUB-13 TO SUB-19
              MOVE SUB-13 TO SUB-20
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16
              ADD 4       TO SUB-17
              ADD 5       TO SUB-18
              ADD 6       TO SUB-19
              ADD 7       TO SUB-20.
       SET-TWENTY-H.
           IF SUB-14 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-G.
           IF SUB-13 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16
              ADD 5       TO SUB-17
              ADD 6       TO SUB-18
              ADD 7       TO SUB-19
              ADD 8       TO SUB-20.
       SET-TWENTY-I.
           IF SUB-13 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-H.
           IF SUB-12 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16
              ADD 6       TO SUB-17
              ADD 7       TO SUB-18
              ADD 8       TO SUB-19
              ADD 9       TO SUB-20.
       SET-TWENTY-J.
           IF SUB-12 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-I.
           IF SUB-11 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-TWENTY-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16
              ADD 7       TO SUB-17
              ADD 8       TO SUB-18
              ADD 9       TO SUB-19
              ADD 10      TO SUB-20.
       SET-TWENTY-K.
           IF SUB-11 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-J.
           IF SUB-10 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16
              ADD 8      TO SUB-17
              ADD 9      TO SUB-18
              ADD 10     TO SUB-19
              ADD 11     TO SUB-20.
       SET-TWENTY-L.
           IF SUB-10 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-K.
           IF SUB-9 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16
              ADD 9      TO SUB-17
              ADD 10     TO SUB-18
              ADD 11     TO SUB-19
              ADD 12     TO SUB-20.
       SET-TWENTY-M.
           IF SUB-9 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-L.
           IF SUB-8 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16
              ADD 10     TO SUB-17
              ADD 11     TO SUB-18
              ADD 12     TO SUB-19
              ADD 13     TO SUB-20.
       SET-TWENTY-N.
           IF SUB-8 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-M.
           IF SUB-7 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16
              ADD 11     TO SUB-17
              ADD 12     TO SUB-18
              ADD 13     TO SUB-19
              ADD 14     TO SUB-20.
       SET-TWENTY-O.
           IF SUB-7 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-N.
           IF SUB-6 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16
              ADD 12     TO SUB-17
              ADD 13     TO SUB-18
              ADD 14     TO SUB-19
              ADD 15     TO SUB-20.
       SET-TWENTY-P.
           IF SUB-6 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-O.
           IF SUB-5 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16
              ADD 13     TO SUB-17
              ADD 14     TO SUB-18
              ADD 15     TO SUB-19
              ADD 16     TO SUB-20.
       SET-TWENTY-Q.
           IF SUB-5 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-P.
           IF SUB-4 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16
              ADD 14     TO SUB-17
              ADD 15     TO SUB-18
              ADD 16     TO SUB-19
              ADD 17     TO SUB-20.
       SET-TWENTY-R.
           IF SUB-4 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-Q.
           IF SUB-3 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16
              ADD 15     TO SUB-17
              ADD 16     TO SUB-18
              ADD 17     TO SUB-19
              ADD 18     TO SUB-20.
       SET-TWENTY-S.
           IF SUB-3 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              GO TO SET-TWENTY-R.
           IF SUB-2 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-TWENTY-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              ADD 16     TO SUB-17
              ADD 17     TO SUB-18
              ADD 18     TO SUB-19
              ADD 19     TO SUB-20
              PERFORM TWENTY-SUB-RTN THRU TWENTY-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-19
              GO TO SET-TWENTY-A.

       SET-TWENTY-X. EXIT.

       TWENTY-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.
           MOVE SUB-17 TO  WS-SUB-17.
           MOVE SUB-18 TO  WS-SUB-18.
           MOVE SUB-19 TO  WS-SUB-19.
           MOVE SUB-20 TO  WS-SUB-20.

           IF SUB-20 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-20 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16),
                  INT(SUB-17),
                  INT(SUB-18),
                  INT(SUB-19)
                  GIVING RESULT-ST
              ADD INT(SUB-20)
                  RESULT-ST
                  GIVING RESULT-20
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-20 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-20-RTN THRU DISPLAY-20-RTN-X.

       TWENTY-SUB-RTN-X. EXIT.

       DISPLAY-20-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-17)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-18)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-19)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-20)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-20-RTN-X. EXIT.

       SET-TWENTY-ONE.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3
           MOVE 4  TO SUB-4
           MOVE 5  TO SUB-5
           MOVE 6  TO SUB-6
           MOVE 7  TO SUB-7
           MOVE 8  TO SUB-8
           MOVE 9  TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           MOVE 17 TO SUB-17
           MOVE 18 TO SUB-18
           MOVE 19 TO SUB-19
           MOVE 20 TO SUB-20
           MOVE 21 TO SUB-21
           IF MAX-SUB EQUAL 21
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-X
           ELSE
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X.
       SET-TWENTY-ONE-A.
           ADD 1          TO SUB-21.
           IF SUB-21 NOT GREATER THAN MAX-SUB
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-20
              MOVE SUB-20 TO SUB-21
              ADD 1       TO SUB-21.
       SET-TWENTY-ONE-B.
           IF SUB-21 NOT GREATER THAN MAX-SUB
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-A.
           IF SUB-20 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-20
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-19
              MOVE SUB-19 TO SUB-20
              MOVE SUB-19 TO SUB-21
              ADD 1       TO SUB-20
              ADD 2       TO SUB-21.
       SET-TWENTY-ONE-C.
           IF SUB-20 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-B.
           IF SUB-19 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-19
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-18
              MOVE SUB-18 TO SUB-19
              MOVE SUB-18 TO SUB-20
              MOVE SUB-18 TO SUB-21
              ADD 1       TO SUB-19
              ADD 2       TO SUB-20
              ADD 3       TO SUB-21.
       SET-TWENTY-ONE-D.
           IF SUB-19 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-C.
           IF SUB-18 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-18
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-17
              MOVE SUB-17 TO SUB-18
              MOVE SUB-17 TO SUB-19
              MOVE SUB-17 TO SUB-20
              MOVE SUB-17 TO SUB-21
              ADD 1       TO SUB-18
              ADD 2       TO SUB-19
              ADD 3       TO SUB-20
              ADD 4       TO SUB-21.
       SET-TWENTY-ONE-E.
           IF SUB-18 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-D.
           IF SUB-17 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-17
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-16
              MOVE SUB-16 TO SUB-17
              MOVE SUB-16 TO SUB-18
              MOVE SUB-16 TO SUB-19
              MOVE SUB-16 TO SUB-20
              MOVE SUB-16 TO SUB-21
              ADD 1       TO SUB-17
              ADD 2       TO SUB-18
              ADD 3       TO SUB-19
              ADD 4       TO SUB-20
              ADD 5       TO SUB-21.
       SET-TWENTY-ONE-F.
           IF SUB-17 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-E.
           IF SUB-16 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-16
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              MOVE SUB-15 TO SUB-17
              MOVE SUB-15 TO SUB-18
              MOVE SUB-15 TO SUB-19
              MOVE SUB-15 TO SUB-20
              MOVE SUB-15 TO SUB-21
              ADD 1       TO SUB-16
              ADD 2       TO SUB-17
              ADD 3       TO SUB-18
              ADD 4       TO SUB-19
              ADD 5       TO SUB-20
              ADD 6       TO SUB-21.
       SET-TWENTY-ONE-G.
           IF SUB-16 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-F.
           IF SUB-15 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-15
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              MOVE SUB-14 TO SUB-17
              MOVE SUB-14 TO SUB-18
              MOVE SUB-14 TO SUB-19
              MOVE SUB-14 TO SUB-20
              MOVE SUB-14 TO SUB-21
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16
              ADD 3       TO SUB-17
              ADD 4       TO SUB-18
              ADD 5       TO SUB-19
              ADD 6       TO SUB-20
              ADD 7       TO SUB-21.
       SET-TWENTY-ONE-H.
           IF SUB-15 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-G.
           IF SUB-14 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              MOVE SUB-13 TO SUB-17
              MOVE SUB-13 TO SUB-18
              MOVE SUB-13 TO SUB-19
              MOVE SUB-13 TO SUB-20
              MOVE SUB-13 TO SUB-21
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16
              ADD 4       TO SUB-17
              ADD 5       TO SUB-18
              ADD 6       TO SUB-19
              ADD 7       TO SUB-20
              ADD 8       TO SUB-21.
       SET-TWENTY-ONE-I.
           IF SUB-14 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-H.
           IF SUB-13 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16
              ADD 5       TO SUB-17
              ADD 6       TO SUB-18
              ADD 7       TO SUB-19
              ADD 8       TO SUB-20
              ADD 9       TO SUB-21.
       SET-TWENTY-ONE-J.
           IF SUB-13 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-I.
           IF SUB-12 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16
              ADD 6       TO SUB-17
              ADD 7       TO SUB-18
              ADD 8       TO SUB-19
              ADD 9       TO SUB-20
              ADD 10      TO SUB-21.
       SET-TWENTY-ONE-K.
           IF SUB-12 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-J.
           IF SUB-11 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16
              ADD 7       TO SUB-17
              ADD 8       TO SUB-18
              ADD 9       TO SUB-19
              ADD 10      TO SUB-20
              ADD 11      TO SUB-21.
       SET-TWENTY-ONE-L.
           IF SUB-11 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-K.
           IF SUB-10 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16
              ADD 8      TO SUB-17
              ADD 9      TO SUB-18
              ADD 10     TO SUB-19
              ADD 11     TO SUB-20
              ADD 12     TO SUB-21.
       SET-TWENTY-ONE-M.
           IF SUB-10 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-L.
           IF SUB-9 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16
              ADD 9      TO SUB-17
              ADD 10     TO SUB-18
              ADD 11     TO SUB-19
              ADD 12     TO SUB-20
              ADD 13     TO SUB-21.
       SET-TWENTY-ONE-N.
           IF SUB-9 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-M.
           IF SUB-8 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16
              ADD 10     TO SUB-17
              ADD 11     TO SUB-18
              ADD 12     TO SUB-19
              ADD 13     TO SUB-20
              ADD 14     TO SUB-21.
       SET-TWENTY-ONE-O.
           IF SUB-8 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-N.
           IF SUB-7 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16
              ADD 11     TO SUB-17
              ADD 12     TO SUB-18
              ADD 13     TO SUB-19
              ADD 14     TO SUB-20
              ADD 15     TO SUB-21.
       SET-TWENTY-ONE-P.
           IF SUB-7 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-O.
           IF SUB-6 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16
              ADD 12     TO SUB-17
              ADD 13     TO SUB-18
              ADD 14     TO SUB-19
              ADD 15     TO SUB-20
              ADD 16     TO SUB-21.
       SET-TWENTY-ONE-Q.
           IF SUB-6 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-P.
           IF SUB-5 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16
              ADD 13     TO SUB-17
              ADD 14     TO SUB-18
              ADD 15     TO SUB-19
              ADD 16     TO SUB-20
              ADD 17     TO SUB-21.
       SET-TWENTY-ONE-R.
           IF SUB-5 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-Q.
           IF SUB-4 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16
              ADD 14     TO SUB-17
              ADD 15     TO SUB-18
              ADD 16     TO SUB-19
              ADD 17     TO SUB-20
              ADD 18     TO SUB-21.
       SET-TWENTY-ONE-S.
           IF SUB-4 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-R.
           IF SUB-3 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              MOVE SUB-2 TO SUB-15
              MOVE SUB-2 TO SUB-16
              MOVE SUB-2 TO SUB-17
              MOVE SUB-2 TO SUB-18
              MOVE SUB-2 TO SUB-19
              MOVE SUB-2 TO SUB-20
              MOVE SUB-2 TO SUB-21
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16
              ADD 15     TO SUB-17
              ADD 16     TO SUB-18
              ADD 17     TO SUB-19
              ADD 18     TO SUB-20
              ADD 19     TO SUB-21.
       SET-TWENTY-ONE-T.
           IF SUB-3 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              GO TO SET-TWENTY-ONE-S.
           IF SUB-2 NOT GREATER THAN MAX-SUB-19
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-TWENTY-ONE-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              ADD 16     TO SUB-17
              ADD 17     TO SUB-18
              ADD 18     TO SUB-19
              ADD 19     TO SUB-20
              ADD 20     TO SUB-21
              PERFORM TWENTY-ONE-SUB-RTN THRU TWENTY-ONE-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-20
              GO TO SET-TWENTY-ONE-A.

       SET-TWENTY-ONE-X. EXIT.

       TWENTY-ONE-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.
           MOVE SUB-17 TO  WS-SUB-17.
           MOVE SUB-18 TO  WS-SUB-18.
           MOVE SUB-19 TO  WS-SUB-19.
           MOVE SUB-20 TO  WS-SUB-20.
           MOVE SUB-21 TO  WS-SUB-21.

           IF SUB-21 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20 AND
              SUB-20 < SUB-21
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-21 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20 AND
              SUB-20 < SUB-21)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16),
                  INT(SUB-17),
                  INT(SUB-18),
                  INT(SUB-19)
                  GIVING RESULT-ST
              ADD INT(SUB-20),
                  INT(SUB-21),
                  RESULT-ST
                  GIVING RESULT-21
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-21 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-21-RTN THRU DISPLAY-21-RTN-X.

       TWENTY-ONE-SUB-RTN-X. EXIT.

       DISPLAY-21-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-17)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-18)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-19)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-20)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-21)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-21-RTN-X. EXIT.

       SET-TWENTY-TWO.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3
           MOVE 4  TO SUB-4
           MOVE 5  TO SUB-5
           MOVE 6  TO SUB-6
           MOVE 7  TO SUB-7
           MOVE 8  TO SUB-8
           MOVE 9  TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           MOVE 17 TO SUB-17
           MOVE 18 TO SUB-18
           MOVE 19 TO SUB-19
           MOVE 20 TO SUB-20
           MOVE 21 TO SUB-21
           MOVE 22 TO SUB-22
           IF MAX-SUB EQUAL 22
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-X
           ELSE
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X.
       SET-TWENTY-TWO-A.
           ADD 1          TO SUB-22.
           IF SUB-22 NOT GREATER THAN MAX-SUB
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-21
              MOVE SUB-21 TO SUB-22
              ADD 1       TO SUB-22.
       SET-TWENTY-TWO-B.
           IF SUB-22 NOT GREATER THAN MAX-SUB
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-A.
           IF SUB-21 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-21
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-20
              MOVE SUB-20 TO SUB-21
              MOVE SUB-20 TO SUB-22
              ADD 1       TO SUB-21
              ADD 2       TO SUB-22.
       SET-TWENTY-TWO-C.
           IF SUB-21 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-B.
           IF SUB-20 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-20
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-19
              MOVE SUB-19 TO SUB-20
              MOVE SUB-19 TO SUB-21
              MOVE SUB-19 TO SUB-22
              ADD 1       TO SUB-20
              ADD 2       TO SUB-21
              ADD 3       TO SUB-22.
       SET-TWENTY-TWO-D.
           IF SUB-20 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-C.
           IF SUB-19 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-19
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-18
              MOVE SUB-18 TO SUB-19
              MOVE SUB-18 TO SUB-20
              MOVE SUB-18 TO SUB-21
              MOVE SUB-18 TO SUB-22
              ADD 1       TO SUB-19
              ADD 2       TO SUB-20
              ADD 3       TO SUB-21
              ADD 4       TO SUB-22.
       SET-TWENTY-TWO-E.
           IF SUB-19 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-D.
           IF SUB-18 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-18
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-17
              MOVE SUB-17 TO SUB-18
              MOVE SUB-17 TO SUB-19
              MOVE SUB-17 TO SUB-20
              MOVE SUB-17 TO SUB-21
              MOVE SUB-17 TO SUB-22
              ADD 1       TO SUB-18
              ADD 2       TO SUB-19
              ADD 3       TO SUB-20
              ADD 4       TO SUB-21
              ADD 5       TO SUB-22.
       SET-TWENTY-TWO-F.
           IF SUB-18 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-E.
           IF SUB-17 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-17
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-16
              MOVE SUB-16 TO SUB-17
              MOVE SUB-16 TO SUB-18
              MOVE SUB-16 TO SUB-19
              MOVE SUB-16 TO SUB-20
              MOVE SUB-16 TO SUB-21
              MOVE SUB-16 TO SUB-22
              ADD 1       TO SUB-17
              ADD 2       TO SUB-18
              ADD 3       TO SUB-19
              ADD 4       TO SUB-20
              ADD 5       TO SUB-21
              ADD 6       TO SUB-22.
       SET-TWENTY-TWO-G.
           IF SUB-17 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-F.
           IF SUB-16 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-16
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              MOVE SUB-15 TO SUB-17
              MOVE SUB-15 TO SUB-18
              MOVE SUB-15 TO SUB-19
              MOVE SUB-15 TO SUB-20
              MOVE SUB-15 TO SUB-21
              MOVE SUB-15 TO SUB-22
              ADD 1       TO SUB-16
              ADD 2       TO SUB-17
              ADD 3       TO SUB-18
              ADD 4       TO SUB-19
              ADD 5       TO SUB-20
              ADD 6       TO SUB-21
              ADD 7       TO SUB-22.
       SET-TWENTY-TWO-H.
           IF SUB-16 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-G.
           IF SUB-15 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-15
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              MOVE SUB-14 TO SUB-17
              MOVE SUB-14 TO SUB-18
              MOVE SUB-14 TO SUB-19
              MOVE SUB-14 TO SUB-20
              MOVE SUB-14 TO SUB-21
              MOVE SUB-14 TO SUB-22
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16
              ADD 3       TO SUB-17
              ADD 4       TO SUB-18
              ADD 5       TO SUB-19
              ADD 6       TO SUB-20
              ADD 7       TO SUB-21
              ADD 8       TO SUB-22.
       SET-TWENTY-TWO-I.
           IF SUB-15 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-H.
           IF SUB-14 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              MOVE SUB-13 TO SUB-17
              MOVE SUB-13 TO SUB-18
              MOVE SUB-13 TO SUB-19
              MOVE SUB-13 TO SUB-20
              MOVE SUB-13 TO SUB-21
              MOVE SUB-13 TO SUB-22
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16
              ADD 4       TO SUB-17
              ADD 5       TO SUB-18
              ADD 6       TO SUB-19
              ADD 7       TO SUB-20
              ADD 8       TO SUB-21
              ADD 9       TO SUB-22.
       SET-TWENTY-TWO-J.
           IF SUB-14 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-I.
           IF SUB-13 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16
              ADD 5       TO SUB-17
              ADD 6       TO SUB-18
              ADD 7       TO SUB-19
              ADD 8       TO SUB-20
              ADD 9       TO SUB-21
              ADD 10      TO SUB-22.
       SET-TWENTY-TWO-K.
           IF SUB-13 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-J.
           IF SUB-12 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16
              ADD 6       TO SUB-17
              ADD 7       TO SUB-18
              ADD 8       TO SUB-19
              ADD 9       TO SUB-20
              ADD 10      TO SUB-21
              ADD 11      TO SUB-22.
       SET-TWENTY-TWO-L.
           IF SUB-12 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-K.
           IF SUB-11 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16
              ADD 7       TO SUB-17
              ADD 8       TO SUB-18
              ADD 9       TO SUB-19
              ADD 10      TO SUB-20
              ADD 11      TO SUB-21
              ADD 12      TO SUB-22.
       SET-TWENTY-TWO-M.
           IF SUB-11 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-L.
           IF SUB-10 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16
              ADD 8      TO SUB-17
              ADD 9      TO SUB-18
              ADD 10     TO SUB-19
              ADD 11     TO SUB-20
              ADD 12     TO SUB-21
              ADD 13     TO SUB-22.
       SET-TWENTY-TWO-N.
           IF SUB-10 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-M.
           IF SUB-9 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16
              ADD 9      TO SUB-17
              ADD 10     TO SUB-18
              ADD 11     TO SUB-19
              ADD 12     TO SUB-20
              ADD 13     TO SUB-21
              ADD 14     TO SUB-22.
       SET-TWENTY-TWO-O.
           IF SUB-9 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-N.
           IF SUB-8 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16
              ADD 10     TO SUB-17
              ADD 11     TO SUB-18
              ADD 12     TO SUB-19
              ADD 13     TO SUB-20
              ADD 14     TO SUB-21
              ADD 15     TO SUB-22.
       SET-TWENTY-TWO-P.
           IF SUB-8 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-O.
           IF SUB-7 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16
              ADD 11     TO SUB-17
              ADD 12     TO SUB-18
              ADD 13     TO SUB-19
              ADD 14     TO SUB-20
              ADD 15     TO SUB-21
              ADD 16     TO SUB-22.
       SET-TWENTY-TWO-Q.
           IF SUB-7 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-P.
           IF SUB-6 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16
              ADD 12     TO SUB-17
              ADD 13     TO SUB-18
              ADD 14     TO SUB-19
              ADD 15     TO SUB-20
              ADD 16     TO SUB-21
              ADD 17     TO SUB-22.
       SET-TWENTY-TWO-R.
           IF SUB-6 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-Q.
           IF SUB-5 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16
              ADD 13     TO SUB-17
              ADD 14     TO SUB-18
              ADD 15     TO SUB-19
              ADD 16     TO SUB-20
              ADD 17     TO SUB-21
              ADD 18     TO SUB-22.
       SET-TWENTY-TWO-S.
           IF SUB-5 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-R.
           IF SUB-4 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16
              ADD 14     TO SUB-17
              ADD 15     TO SUB-18
              ADD 16     TO SUB-19
              ADD 17     TO SUB-20
              ADD 18     TO SUB-21
              ADD 19     TO SUB-22.
       SET-TWENTY-TWO-T.
           IF SUB-4 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-S.
           IF SUB-3 NOT GREATER THAN MAX-SUB-19
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              MOVE SUB-2 TO SUB-15
              MOVE SUB-2 TO SUB-16
              MOVE SUB-2 TO SUB-17
              MOVE SUB-2 TO SUB-18
              MOVE SUB-2 TO SUB-19
              MOVE SUB-2 TO SUB-20
              MOVE SUB-2 TO SUB-21
              MOVE SUB-2 TO SUB-22
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16
              ADD 15     TO SUB-17
              ADD 16     TO SUB-18
              ADD 17     TO SUB-19
              ADD 18     TO SUB-20
              ADD 19     TO SUB-21
              ADD 20     TO SUB-22.
       SET-TWENTY-TWO-U.
           IF SUB-3 NOT GREATER THAN MAX-SUB-19
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              GO TO SET-TWENTY-TWO-T.
           IF SUB-2 NOT GREATER THAN MAX-SUB-20
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-TWENTY-TWO-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              ADD 16     TO SUB-17
              ADD 17     TO SUB-18
              ADD 18     TO SUB-19
              ADD 19     TO SUB-20
              ADD 20     TO SUB-21
              ADD 21     TO SUB-22
              PERFORM TWENTY-TWO-SUB-RTN THRU TWENTY-TWO-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-21
              GO TO SET-TWENTY-TWO-A.

       SET-TWENTY-TWO-X. EXIT.

       TWENTY-TWO-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.
           MOVE SUB-17 TO  WS-SUB-17.
           MOVE SUB-18 TO  WS-SUB-18.
           MOVE SUB-19 TO  WS-SUB-19.
           MOVE SUB-20 TO  WS-SUB-20.
           MOVE SUB-21 TO  WS-SUB-21.
           MOVE SUB-22 TO  WS-SUB-22.

           IF SUB-22 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20 AND
              SUB-20 < SUB-21 AND
              SUB-21 < SUB-22
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-22 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20 AND
              SUB-20 < SUB-21 AND
              SUB-21 < SUB-22)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16),
                  INT(SUB-17),
                  INT(SUB-18),
                  INT(SUB-19), GIVING RESULT-ST
              ADD INT(SUB-20),
                  INT(SUB-21),
                  INT(SUB-22)
                  RESULT-ST
                  GIVING RESULT-22
                  ADD 1  TO SOLVE-TICK
              IF  RESULT-22 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-22-RTN THRU DISPLAY-22-RTN-X.

       TWENTY-TWO-SUB-RTN-X. EXIT.

       DISPLAY-22-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-17)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-18)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-19)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-20)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-21)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-22)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-22-RTN-X. EXIT.

       SET-TWENTY-THREE.

           IF TOTAL-ZERO EQUAL ZERO
              PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3
           MOVE 4  TO SUB-4
           MOVE 5  TO SUB-5
           MOVE 6  TO SUB-6
           MOVE 7  TO SUB-7
           MOVE 8  TO SUB-8
           MOVE 9  TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           MOVE 17 TO SUB-17
           MOVE 18 TO SUB-18
           MOVE 19 TO SUB-19
           MOVE 20 TO SUB-20
           MOVE 21 TO SUB-21
           MOVE 22 TO SUB-22
           MOVE 23 TO SUB-23
           IF MAX-SUB EQUAL 23
             PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
             GO TO SET-TWENTY-THREE-X
           ELSE
             PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X.
       SET-TWENTY-THREE-A.
           ADD 1          TO SUB-23.
           IF SUB-23 NOT GREATER THAN MAX-SUB
            PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
            GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-22
              MOVE SUB-22 TO SUB-23
              ADD 1       TO SUB-23.
       SET-TWENTY-THREE-B.
           IF SUB-23 NOT GREATER THAN MAX-SUB
            PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
            GO TO SET-TWENTY-THREE-A.
           IF SUB-22 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-22
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-21
              MOVE SUB-21 TO SUB-22
              MOVE SUB-21 TO SUB-23
              ADD 1       TO SUB-22
              ADD 2       TO SUB-23.
       SET-TWENTY-THREE-C.
           IF SUB-22 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-B.
           IF SUB-21 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-21
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-20
              MOVE SUB-20 TO SUB-21
              MOVE SUB-20 TO SUB-22
              MOVE SUB-20 TO SUB-23
              ADD 1       TO SUB-21
              ADD 2       TO SUB-22
              ADD 3       TO SUB-23.
       SET-TWENTY-THREE-D.
           IF SUB-21 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-C.
           IF SUB-20 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-20
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-19
              MOVE SUB-19 TO SUB-20
              MOVE SUB-19 TO SUB-21
              MOVE SUB-19 TO SUB-22
              MOVE SUB-19 TO SUB-23
              ADD 1       TO SUB-20
              ADD 2       TO SUB-21
              ADD 3       TO SUB-22
              ADD 4       TO SUB-23.
       SET-TWENTY-THREE-E.
           IF SUB-20 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-D.
           IF SUB-19 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-19
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-18
              MOVE SUB-18 TO SUB-19
              MOVE SUB-18 TO SUB-20
              MOVE SUB-18 TO SUB-21
              MOVE SUB-18 TO SUB-22
              MOVE SUB-18 TO SUB-23
              ADD 1       TO SUB-19
              ADD 2       TO SUB-20
              ADD 3       TO SUB-21
              ADD 4       TO SUB-22
              ADD 5       TO SUB-23.
       SET-TWENTY-THREE-F.
           IF SUB-19 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-E.
           IF SUB-18 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-18
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-17
              MOVE SUB-17 TO SUB-18
              MOVE SUB-17 TO SUB-19
              MOVE SUB-17 TO SUB-20
              MOVE SUB-17 TO SUB-21
              MOVE SUB-17 TO SUB-22
              MOVE SUB-17 TO SUB-23
              ADD 1       TO SUB-18
              ADD 2       TO SUB-19
              ADD 3       TO SUB-20
              ADD 4       TO SUB-21
              ADD 5       TO SUB-22
              ADD 6       TO SUB-23.
       SET-TWENTY-THREE-G.
           IF SUB-18 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-F.
           IF SUB-17 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-17
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-16
              MOVE SUB-16 TO SUB-17
              MOVE SUB-16 TO SUB-18
              MOVE SUB-16 TO SUB-19
              MOVE SUB-16 TO SUB-20
              MOVE SUB-16 TO SUB-21
              MOVE SUB-16 TO SUB-22
              MOVE SUB-16 TO SUB-23
              ADD 1       TO SUB-17
              ADD 2       TO SUB-18
              ADD 3       TO SUB-19
              ADD 4       TO SUB-20
              ADD 5       TO SUB-21
              ADD 6       TO SUB-22
              ADD 7       TO SUB-23.
       SET-TWENTY-THREE-H.
           IF SUB-17 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-G.
           IF SUB-16 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-16
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              MOVE SUB-15 TO SUB-17
              MOVE SUB-15 TO SUB-18
              MOVE SUB-15 TO SUB-19
              MOVE SUB-15 TO SUB-20
              MOVE SUB-15 TO SUB-21
              MOVE SUB-15 TO SUB-22
              MOVE SUB-15 TO SUB-23
              ADD 1       TO SUB-16
              ADD 2       TO SUB-17
              ADD 3       TO SUB-18
              ADD 4       TO SUB-19
              ADD 5       TO SUB-20
              ADD 6       TO SUB-21
              ADD 7       TO SUB-22
              ADD 8       TO SUB-23.
       SET-TWENTY-THREE-I.
           IF SUB-16 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-H.
           IF SUB-15 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-15
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              MOVE SUB-14 TO SUB-17
              MOVE SUB-14 TO SUB-18
              MOVE SUB-14 TO SUB-19
              MOVE SUB-14 TO SUB-20
              MOVE SUB-14 TO SUB-21
              MOVE SUB-14 TO SUB-22
              MOVE SUB-14 TO SUB-23
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16
              ADD 3       TO SUB-17
              ADD 4       TO SUB-18
              ADD 5       TO SUB-19
              ADD 6       TO SUB-20
              ADD 7       TO SUB-21
              ADD 8       TO SUB-22
              ADD 9       TO SUB-23.
       SET-TWENTY-THREE-J.
           IF SUB-15 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-I.
           IF SUB-14 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              MOVE SUB-13 TO SUB-17
              MOVE SUB-13 TO SUB-18
              MOVE SUB-13 TO SUB-19
              MOVE SUB-13 TO SUB-20
              MOVE SUB-13 TO SUB-21
              MOVE SUB-13 TO SUB-22
              MOVE SUB-13 TO SUB-23
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16
              ADD 4       TO SUB-17
              ADD 5       TO SUB-18
              ADD 6       TO SUB-19
              ADD 7       TO SUB-20
              ADD 8       TO SUB-21
              ADD 9       TO SUB-22
              ADD 10      TO SUB-23.
       SET-TWENTY-THREE-K.
           IF SUB-14 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-J.
           IF SUB-13 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
                             SUB-23
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16
              ADD 5       TO SUB-17
              ADD 6       TO SUB-18
              ADD 7       TO SUB-19
              ADD 8       TO SUB-20
              ADD 9       TO SUB-21
              ADD 10      TO SUB-22
              ADD 11      TO SUB-23.
       SET-TWENTY-THREE-L.
           IF SUB-13 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-K.
           IF SUB-12 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
                             SUB-23
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16
              ADD 6       TO SUB-17
              ADD 7       TO SUB-18
              ADD 8       TO SUB-19
              ADD 9       TO SUB-20
              ADD 10      TO SUB-21
              ADD 11      TO SUB-22
              ADD 12      TO SUB-23.
       SET-TWENTY-THREE-M.
           IF SUB-12 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-L.
           IF SUB-11 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
                             SUB-23
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16
              ADD 7       TO SUB-17
              ADD 8       TO SUB-18
              ADD 9       TO SUB-19
              ADD 10      TO SUB-20
              ADD 11      TO SUB-21
              ADD 12      TO SUB-22
              ADD 13      TO SUB-23.
       SET-TWENTY-THREE-N.
           IF SUB-11 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-M.
           IF SUB-10 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16
              ADD 8      TO SUB-17
              ADD 9      TO SUB-18
              ADD 10     TO SUB-19
              ADD 11     TO SUB-20
              ADD 12     TO SUB-21
              ADD 13     TO SUB-22
              ADD 14     TO SUB-23.
       SET-TWENTY-THREE-O.
           IF SUB-10 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-N.
           IF SUB-9 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16
              ADD 9      TO SUB-17
              ADD 10     TO SUB-18
              ADD 11     TO SUB-19
              ADD 12     TO SUB-20
              ADD 13     TO SUB-21
              ADD 14     TO SUB-22
              ADD 15     TO SUB-23.
       SET-TWENTY-THREE-P.
           IF SUB-9 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-O.
           IF SUB-8 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16
              ADD 10     TO SUB-17
              ADD 11     TO SUB-18
              ADD 12     TO SUB-19
              ADD 13     TO SUB-20
              ADD 14     TO SUB-21
              ADD 15     TO SUB-22
              ADD 16     TO SUB-23.
       SET-TWENTY-THREE-Q.
           IF SUB-8 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-P.
           IF SUB-7 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16
              ADD 11     TO SUB-17
              ADD 12     TO SUB-18
              ADD 13     TO SUB-19
              ADD 14     TO SUB-20
              ADD 15     TO SUB-21
              ADD 16     TO SUB-22
              ADD 17     TO SUB-23.
       SET-TWENTY-THREE-R.
           IF SUB-7 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-Q.
           IF SUB-6 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16
              ADD 12     TO SUB-17
              ADD 13     TO SUB-18
              ADD 14     TO SUB-19
              ADD 15     TO SUB-20
              ADD 16     TO SUB-21
              ADD 17     TO SUB-22
              ADD 18     TO SUB-23.
       SET-TWENTY-THREE-S.
           IF SUB-6 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-R.
           IF SUB-5 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16
              ADD 13     TO SUB-17
              ADD 14     TO SUB-18
              ADD 15     TO SUB-19
              ADD 16     TO SUB-20
              ADD 17     TO SUB-21
              ADD 18     TO SUB-22
              ADD 19     TO SUB-23.
       SET-TWENTY-THREE-T.
           IF SUB-5 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-S.
           IF SUB-4 NOT GREATER THAN MAX-SUB-19
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16
              ADD 14     TO SUB-17
              ADD 15     TO SUB-18
              ADD 16     TO SUB-19
              ADD 17     TO SUB-20
              ADD 18     TO SUB-21
              ADD 19     TO SUB-22
              ADD 20     TO SUB-23.
       SET-TWENTY-THREE-U.
           IF SUB-4 NOT GREATER THAN MAX-SUB-19
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-T.
           IF SUB-3 NOT GREATER THAN MAX-SUB-20
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
              MOVE SUB-2 TO SUB-4
              MOVE SUB-2 TO SUB-5
              MOVE SUB-2 TO SUB-6
              MOVE SUB-2 TO SUB-7
              MOVE SUB-2 TO SUB-8
              MOVE SUB-2 TO SUB-9
              MOVE SUB-2 TO SUB-10
              MOVE SUB-2 TO SUB-11
              MOVE SUB-2 TO SUB-12
              MOVE SUB-2 TO SUB-13
              MOVE SUB-2 TO SUB-14
              MOVE SUB-2 TO SUB-15
              MOVE SUB-2 TO SUB-16
              MOVE SUB-2 TO SUB-17
              MOVE SUB-2 TO SUB-18
              MOVE SUB-2 TO SUB-19
              MOVE SUB-2 TO SUB-20
              MOVE SUB-2 TO SUB-21
              MOVE SUB-2 TO SUB-22
              MOVE SUB-2 TO SUB-23
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16
              ADD 15     TO SUB-17
              ADD 16     TO SUB-18
              ADD 17     TO SUB-19
              ADD 18     TO SUB-20
              ADD 19     TO SUB-21
              ADD 20     TO SUB-22
              ADD 21     TO SUB-23.
       SET-TWENTY-THREE-V.
           IF SUB-3 NOT GREATER THAN MAX-SUB-20
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              GO TO SET-TWENTY-THREE-U.
           IF SUB-2 NOT GREATER THAN MAX-SUB-21
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-TWENTY-THREE-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
              MOVE SUB-1 TO SUB-23
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              ADD 16     TO SUB-17
              ADD 17     TO SUB-18
              ADD 18     TO SUB-19
              ADD 19     TO SUB-20
              ADD 20     TO SUB-21
              ADD 21     TO SUB-22
              ADD 22     TO SUB-23
              PERFORM TWENTY-THREE-SUB-RTN THRU TWENTY-THREE-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-22
              GO TO SET-TWENTY-THREE-A.

       SET-TWENTY-THREE-X. EXIT.

       TWENTY-THREE-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.
           MOVE SUB-17 TO  WS-SUB-17.
           MOVE SUB-18 TO  WS-SUB-18.
           MOVE SUB-19 TO  WS-SUB-19.
           MOVE SUB-20 TO  WS-SUB-20.
           MOVE SUB-21 TO  WS-SUB-21.
           MOVE SUB-22 TO  WS-SUB-22.
           MOVE SUB-23 TO  WS-SUB-23.

           IF SUB-23 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20 AND
              SUB-20 < SUB-21 AND
              SUB-21 < SUB-22 AND
              SUB-22 < SUB-23
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-23 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20 AND
              SUB-20 < SUB-21 AND
              SUB-21 < SUB-22 AND
              SUB-22 < SUB-23)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16),
                  INT(SUB-17),
                  INT(SUB-18),
                  INT(SUB-19),
                  INT(SUB-20)  GIVING RESULT-ST
              ADD INT(SUB-21),
                  INT(SUB-22)
                  INT(SUB-23)
                  RESULT-ST
                  GIVING RESULT-23
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-23 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-23-RTN THRU DISPLAY-23-RTN-X.

       TWENTY-THREE-SUB-RTN-X. EXIT.

       DISPLAY-23-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-17)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-18)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-19)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-20)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-21)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-22)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-23)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-23-RTN-X. EXIT.

       SET-TWENTY-FOUR.

           MOVE 1  TO SUB-1
           MOVE 2  TO SUB-2
           MOVE 3  TO SUB-3
           MOVE 4  TO SUB-4
           MOVE 5  TO SUB-5
           MOVE 6  TO SUB-6
           MOVE 7  TO SUB-7
           MOVE 8  TO SUB-8
           MOVE 9  TO SUB-9
           MOVE 10 TO SUB-10
           MOVE 11 TO SUB-11
           MOVE 12 TO SUB-12
           MOVE 13 TO SUB-13
           MOVE 14 TO SUB-14
           MOVE 15 TO SUB-15
           MOVE 16 TO SUB-16
           MOVE 17 TO SUB-17
           MOVE 18 TO SUB-18
           MOVE 19 TO SUB-19
           MOVE 20 TO SUB-20
           MOVE 21 TO SUB-21
           MOVE 22 TO SUB-22
           MOVE 23 TO SUB-23
           MOVE 24 TO SUB-24
           IF MAX-SUB EQUAL 24
             PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
             GO TO SET-TWENTY-FOUR-X
           ELSE
             PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X.
       SET-TWENTY-FOUR-A.
           ADD 1          TO SUB-24.
           IF SUB-24 NOT GREATER THAN MAX-SUB
            PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
            GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-23
              MOVE SUB-23 TO SUB-24
              ADD 1       TO SUB-24.
       SET-TWENTY-FOUR-B.
           IF SUB-24 NOT GREATER THAN MAX-SUB
            PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
            GO TO SET-TWENTY-FOUR-A.
           IF SUB-23 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-23
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-22
              MOVE SUB-22 TO SUB-23
              MOVE SUB-22 TO SUB-24
              ADD 1       TO SUB-23
              ADD 2       TO SUB-24.
       SET-TWENTY-FOUR-C.
           IF SUB-23 NOT GREATER THAN MAX-SUB-1
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-B.
           IF SUB-22 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-22
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-21
              MOVE SUB-21 TO SUB-22
              MOVE SUB-21 TO SUB-23
              MOVE SUB-21 TO SUB-24
              ADD 1       TO SUB-22
              ADD 2       TO SUB-23
              ADD 3       TO SUB-24.
       SET-TWENTY-FOUR-D.
           IF SUB-22 NOT GREATER THAN MAX-SUB-2
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-C.
           IF SUB-21 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-21
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-20
              MOVE SUB-20 TO SUB-21
              MOVE SUB-20 TO SUB-22
              MOVE SUB-20 TO SUB-23
              MOVE SUB-20 TO SUB-24
              ADD 1       TO SUB-21
              ADD 2       TO SUB-22
              ADD 3       TO SUB-23
              ADD 4       TO SUB-24.
       SET-TWENTY-FOUR-E.
           IF SUB-21 NOT GREATER THAN MAX-SUB-3
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-D.
           IF SUB-20 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-20
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-19
              MOVE SUB-19 TO SUB-20
              MOVE SUB-19 TO SUB-21
              MOVE SUB-19 TO SUB-22
              MOVE SUB-19 TO SUB-23
              MOVE SUB-19 TO SUB-24
              ADD 1       TO SUB-20
              ADD 2       TO SUB-21
              ADD 3       TO SUB-22
              ADD 4       TO SUB-23
              ADD 5       TO SUB-24.
       SET-TWENTY-FOUR-F.
           IF SUB-20 NOT GREATER THAN MAX-SUB-4
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-E.
           IF SUB-19 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-19
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-18
              MOVE SUB-18 TO SUB-19
              MOVE SUB-18 TO SUB-20
              MOVE SUB-18 TO SUB-21
              MOVE SUB-18 TO SUB-22
              MOVE SUB-18 TO SUB-23
              MOVE SUB-18 TO SUB-24
              ADD 1       TO SUB-19
              ADD 2       TO SUB-20
              ADD 3       TO SUB-21
              ADD 4       TO SUB-22
              ADD 5       TO SUB-23
              ADD 6       TO SUB-24.
       SET-TWENTY-FOUR-G.
           IF SUB-19 NOT GREATER THAN MAX-SUB-5
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-F.
           IF SUB-18 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-18
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-17
              MOVE SUB-17 TO SUB-18
              MOVE SUB-17 TO SUB-19
              MOVE SUB-17 TO SUB-20
              MOVE SUB-17 TO SUB-21
              MOVE SUB-17 TO SUB-22
              MOVE SUB-17 TO SUB-23
              MOVE SUB-17 TO SUB-24
              ADD 1       TO SUB-18
              ADD 2       TO SUB-19
              ADD 3       TO SUB-20
              ADD 4       TO SUB-21
              ADD 5       TO SUB-22
              ADD 6       TO SUB-23
              ADD 7       TO SUB-24.
       SET-TWENTY-FOUR-H.
           IF SUB-18 NOT GREATER THAN MAX-SUB-6
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-G.
           IF SUB-17 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-17
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-16
              MOVE SUB-16 TO SUB-17
              MOVE SUB-16 TO SUB-18
              MOVE SUB-16 TO SUB-19
              MOVE SUB-16 TO SUB-20
              MOVE SUB-16 TO SUB-21
              MOVE SUB-16 TO SUB-22
              MOVE SUB-16 TO SUB-23
              MOVE SUB-16 TO SUB-24
              ADD 1       TO SUB-17
              ADD 2       TO SUB-18
              ADD 3       TO SUB-19
              ADD 4       TO SUB-20
              ADD 5       TO SUB-21
              ADD 6       TO SUB-22
              ADD 7       TO SUB-23
              ADD 8       TO SUB-24.
       SET-TWENTY-FOUR-I.
           IF SUB-17 NOT GREATER THAN MAX-SUB-7
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-H.
           IF SUB-16 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-16
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-15
              MOVE SUB-15 TO SUB-16
              MOVE SUB-15 TO SUB-17
              MOVE SUB-15 TO SUB-18
              MOVE SUB-15 TO SUB-19
              MOVE SUB-15 TO SUB-20
              MOVE SUB-15 TO SUB-21
              MOVE SUB-15 TO SUB-22
              MOVE SUB-15 TO SUB-23
              MOVE SUB-15 TO SUB-24
              ADD 1       TO SUB-16
              ADD 2       TO SUB-17
              ADD 3       TO SUB-18
              ADD 4       TO SUB-19
              ADD 5       TO SUB-20
              ADD 6       TO SUB-21
              ADD 7       TO SUB-22
              ADD 8       TO SUB-23
              ADD 9       TO SUB-24.
       SET-TWENTY-FOUR-J.
           IF SUB-16 NOT GREATER THAN MAX-SUB-8
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-I.
           IF SUB-15 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-15
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-14
              MOVE SUB-14 TO SUB-15
              MOVE SUB-14 TO SUB-16
              MOVE SUB-14 TO SUB-17
              MOVE SUB-14 TO SUB-18
              MOVE SUB-14 TO SUB-19
              MOVE SUB-14 TO SUB-20
              MOVE SUB-14 TO SUB-21
              MOVE SUB-14 TO SUB-22
              MOVE SUB-14 TO SUB-23
              MOVE SUB-14 TO SUB-24
              ADD 1       TO SUB-15
              ADD 2       TO SUB-16
              ADD 3       TO SUB-17
              ADD 4       TO SUB-18
              ADD 5       TO SUB-19
              ADD 6       TO SUB-20
              ADD 7       TO SUB-21
              ADD 8       TO SUB-22
              ADD 9       TO SUB-23
              ADD 10      TO SUB-24.
       SET-TWENTY-FOUR-K.
           IF SUB-15 NOT GREATER THAN MAX-SUB-9
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-J.
           IF SUB-14 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-14
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-13
              MOVE SUB-13 TO SUB-14
              MOVE SUB-13 TO SUB-15
              MOVE SUB-13 TO SUB-16
              MOVE SUB-13 TO SUB-17
              MOVE SUB-13 TO SUB-18
              MOVE SUB-13 TO SUB-19
              MOVE SUB-13 TO SUB-20
              MOVE SUB-13 TO SUB-21
              MOVE SUB-13 TO SUB-22
              MOVE SUB-13 TO SUB-23
              MOVE SUB-13 TO SUB-24
              ADD 1       TO SUB-14
              ADD 2       TO SUB-15
              ADD 3       TO SUB-16
              ADD 4       TO SUB-17
              ADD 5       TO SUB-18
              ADD 6       TO SUB-19
              ADD 7       TO SUB-20
              ADD 8       TO SUB-21
              ADD 9       TO SUB-22
              ADD 10      TO SUB-23
              ADD 11      TO SUB-24.
       SET-TWENTY-FOUR-L.
           IF SUB-14 NOT GREATER THAN MAX-SUB-10
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-K.
           IF SUB-13 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-13
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-12
              MOVE SUB-12 TO SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
                             SUB-23
                             SUB-24
              ADD 1       TO SUB-13
              ADD 2       TO SUB-14
              ADD 3       TO SUB-15
              ADD 4       TO SUB-16
              ADD 5       TO SUB-17
              ADD 6       TO SUB-18
              ADD 7       TO SUB-19
              ADD 8       TO SUB-20
              ADD 9       TO SUB-21
              ADD 10      TO SUB-22
              ADD 11      TO SUB-23
              ADD 12      TO SUB-24.
       SET-TWENTY-FOUR-M.
           IF SUB-13 NOT GREATER THAN MAX-SUB-11
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-L.
           IF SUB-12 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-12
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-11
              MOVE SUB-11 TO SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
                             SUB-23
                             SUB-24
              ADD 1       TO SUB-12
              ADD 2       TO SUB-13
              ADD 3       TO SUB-14
              ADD 4       TO SUB-15
              ADD 5       TO SUB-16
              ADD 6       TO SUB-17
              ADD 7       TO SUB-18
              ADD 8       TO SUB-19
              ADD 9       TO SUB-20
              ADD 10      TO SUB-21
              ADD 11      TO SUB-22
              ADD 12      TO SUB-23
              ADD 13      TO SUB-24.
       SET-TWENTY-FOUR-N.
           IF SUB-12 NOT GREATER THAN MAX-SUB-12
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-M.
           IF SUB-11 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1       TO SUB-11
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1       TO SUB-10
              MOVE SUB-10 TO SUB-11
                             SUB-12
                             SUB-13
                             SUB-14
                             SUB-15
                             SUB-16
                             SUB-17
                             SUB-18
                             SUB-19
                             SUB-20
                             SUB-21
                             SUB-22
                             SUB-23
                             SUB-24
              ADD 1       TO SUB-11
              ADD 2       TO SUB-12
              ADD 3       TO SUB-13
              ADD 4       TO SUB-14
              ADD 5       TO SUB-15
              ADD 6       TO SUB-16
              ADD 7       TO SUB-17
              ADD 8       TO SUB-18
              ADD 9       TO SUB-19
              ADD 10      TO SUB-20
              ADD 11      TO SUB-21
              ADD 12      TO SUB-22
              ADD 13      TO SUB-23
              ADD 14      TO SUB-24.
       SET-TWENTY-FOUR-O.
           IF SUB-11 NOT GREATER THAN MAX-SUB-13
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-N.
           IF SUB-10 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-10
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-9
              MOVE SUB-9 TO SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-10
              ADD 2      TO SUB-11
              ADD 3      TO SUB-12
              ADD 4      TO SUB-13
              ADD 5      TO SUB-14
              ADD 6      TO SUB-15
              ADD 7      TO SUB-16
              ADD 8      TO SUB-17
              ADD 9      TO SUB-18
              ADD 10     TO SUB-19
              ADD 11     TO SUB-20
              ADD 12     TO SUB-21
              ADD 13     TO SUB-22
              ADD 14     TO SUB-23
              ADD 15     TO SUB-24.
       SET-TWENTY-FOUR-P.
           IF SUB-10 NOT GREATER THAN MAX-SUB-14
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-O.
           IF SUB-9 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-9
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-8
              MOVE SUB-8 TO SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-9
              ADD 2      TO SUB-10
              ADD 3      TO SUB-11
              ADD 4      TO SUB-12
              ADD 5      TO SUB-13
              ADD 6      TO SUB-14
              ADD 7      TO SUB-15
              ADD 8      TO SUB-16
              ADD 9      TO SUB-17
              ADD 10     TO SUB-18
              ADD 11     TO SUB-19
              ADD 12     TO SUB-20
              ADD 13     TO SUB-21
              ADD 14     TO SUB-22
              ADD 15     TO SUB-23
              ADD 16     TO SUB-24.
       SET-TWENTY-FOUR-Q.
           IF SUB-9 NOT GREATER THAN MAX-SUB-15
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-P.
           IF SUB-8 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-8
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-7
              MOVE SUB-7 TO SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-8
              ADD 2      TO SUB-9
              ADD 3      TO SUB-10
              ADD 4      TO SUB-11
              ADD 5      TO SUB-12
              ADD 6      TO SUB-13
              ADD 7      TO SUB-14
              ADD 8      TO SUB-15
              ADD 9      TO SUB-16
              ADD 10     TO SUB-17
              ADD 11     TO SUB-18
              ADD 12     TO SUB-19
              ADD 13     TO SUB-20
              ADD 14     TO SUB-21
              ADD 15     TO SUB-22
              ADD 16     TO SUB-23
              ADD 17     TO SUB-24.
       SET-TWENTY-FOUR-R.
           IF SUB-8 NOT GREATER THAN MAX-SUB-16
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-Q.
           IF SUB-7 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-7
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-6
              MOVE SUB-6 TO SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-7
              ADD 2      TO SUB-8
              ADD 3      TO SUB-9
              ADD 4      TO SUB-10
              ADD 5      TO SUB-11
              ADD 6      TO SUB-12
              ADD 7      TO SUB-13
              ADD 8      TO SUB-14
              ADD 9      TO SUB-15
              ADD 10     TO SUB-16
              ADD 11     TO SUB-17
              ADD 12     TO SUB-18
              ADD 13     TO SUB-19
              ADD 14     TO SUB-20
              ADD 15     TO SUB-21
              ADD 16     TO SUB-22
              ADD 17     TO SUB-23
              ADD 18     TO SUB-24.
       SET-TWENTY-FOUR-S.
           IF SUB-7 NOT GREATER THAN MAX-SUB-17
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-R.
           IF SUB-6 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-6
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-5
              MOVE SUB-5 TO SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-6
              ADD 2      TO SUB-7
              ADD 3      TO SUB-8
              ADD 4      TO SUB-9
              ADD 5      TO SUB-10
              ADD 6      TO SUB-11
              ADD 7      TO SUB-12
              ADD 8      TO SUB-13
              ADD 9      TO SUB-14
              ADD 10     TO SUB-15
              ADD 11     TO SUB-16
              ADD 12     TO SUB-17
              ADD 13     TO SUB-18
              ADD 14     TO SUB-19
              ADD 15     TO SUB-20
              ADD 16     TO SUB-21
              ADD 17     TO SUB-22
              ADD 18     TO SUB-23
              ADD 19     TO SUB-24.
       SET-TWENTY-FOUR-T.
           IF SUB-6 NOT GREATER THAN MAX-SUB-18
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-S.
           IF SUB-5 NOT GREATER THAN MAX-SUB-19
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-5
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-4
              MOVE SUB-4 TO SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-5
              ADD 2      TO SUB-6
              ADD 3      TO SUB-7
              ADD 4      TO SUB-8
              ADD 5      TO SUB-9
              ADD 6      TO SUB-10
              ADD 7      TO SUB-11
              ADD 8      TO SUB-12
              ADD 9      TO SUB-13
              ADD 10     TO SUB-14
              ADD 11     TO SUB-15
              ADD 12     TO SUB-16
              ADD 13     TO SUB-17
              ADD 14     TO SUB-18
              ADD 15     TO SUB-19
              ADD 16     TO SUB-20
              ADD 17     TO SUB-21
              ADD 18     TO SUB-22
              ADD 19     TO SUB-23
              ADD 20     TO SUB-24.
       SET-TWENTY-FOUR-U.
           IF SUB-5 NOT GREATER THAN MAX-SUB-19
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-T.
           IF SUB-4 NOT GREATER THAN MAX-SUB-20
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-4
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-3
              MOVE SUB-3 TO SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-4
              ADD 2      TO SUB-5
              ADD 3      TO SUB-6
              ADD 4      TO SUB-7
              ADD 5      TO SUB-8
              ADD 6      TO SUB-9
              ADD 7      TO SUB-10
              ADD 8      TO SUB-11
              ADD 9      TO SUB-12
              ADD 10     TO SUB-13
              ADD 11     TO SUB-14
              ADD 12     TO SUB-15
              ADD 13     TO SUB-16
              ADD 14     TO SUB-17
              ADD 15     TO SUB-18
              ADD 16     TO SUB-19
              ADD 17     TO SUB-20
              ADD 18     TO SUB-21
              ADD 19     TO SUB-22
              ADD 20     TO SUB-23
              ADD 21     TO SUB-24.
       SET-TWENTY-FOUR-V.
           IF SUB-4 NOT GREATER THAN MAX-SUB-20
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-U.
           IF SUB-3 NOT GREATER THAN MAX-SUB-21
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-3
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-2
              MOVE SUB-2 TO SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-3
              ADD 2      TO SUB-4
              ADD 3      TO SUB-5
              ADD 4      TO SUB-6
              ADD 5      TO SUB-7
              ADD 6      TO SUB-8
              ADD 7      TO SUB-9
              ADD 8      TO SUB-10
              ADD 9      TO SUB-11
              ADD 10     TO SUB-12
              ADD 11     TO SUB-13
              ADD 12     TO SUB-14
              ADD 13     TO SUB-15
              ADD 14     TO SUB-16
              ADD 15     TO SUB-17
              ADD 16     TO SUB-18
              ADD 17     TO SUB-19
              ADD 18     TO SUB-20
              ADD 19     TO SUB-21
              ADD 20     TO SUB-22
              ADD 21     TO SUB-23
              ADD 22     TO SUB-24.
       SET-TWENTY-FOUR-W.
           IF SUB-3 NOT GREATER THAN MAX-SUB-21
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              GO TO SET-TWENTY-FOUR-V.
           IF SUB-2 NOT GREATER THAN MAX-SUB-22
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X
              ADD 1      TO SUB-2
              GO TO SET-TWENTY-FOUR-A
           ELSE
              ADD 1      TO SUB-1
              MOVE SUB-1 TO SUB-2
                            SUB-3
                            SUB-4
                            SUB-5
                            SUB-6
                            SUB-7
                            SUB-8
                            SUB-9
                            SUB-10
                            SUB-11
                            SUB-12
                            SUB-13
                            SUB-14
                            SUB-15
                            SUB-16
                            SUB-17
                            SUB-18
                            SUB-19
                            SUB-20
                            SUB-21
                            SUB-22
                            SUB-23
                            SUB-24
              ADD 1      TO SUB-2
              ADD 2      TO SUB-3
              ADD 3      TO SUB-4
              ADD 4      TO SUB-5
              ADD 5      TO SUB-6
              ADD 6      TO SUB-7
              ADD 7      TO SUB-8
              ADD 8      TO SUB-9
              ADD 9      TO SUB-10
              ADD 10     TO SUB-11
              ADD 11     TO SUB-12
              ADD 12     TO SUB-13
              ADD 13     TO SUB-14
              ADD 14     TO SUB-15
              ADD 15     TO SUB-16
              ADD 16     TO SUB-17
              ADD 17     TO SUB-18
              ADD 18     TO SUB-19
              ADD 19     TO SUB-20
              ADD 20     TO SUB-21
              ADD 21     TO SUB-22
              ADD 22     TO SUB-23
              ADD 23     TO SUB-24
              PERFORM TWENTY-FOUR-SUB-RTN THRU TWENTY-FOUR-SUB-RTN-X.

           IF SUB-1 NOT GREATER THAN MAX-SUB-23
              GO TO SET-TWENTY-FOUR-A.

       SET-TWENTY-FOUR-X. EXIT.

       TWENTY-FOUR-SUB-RTN.

           MOVE SUB-1 TO   WS-SUB-1.
           MOVE SUB-2 TO   WS-SUB-2.
           MOVE SUB-3 TO   WS-SUB-3.
           MOVE SUB-4 TO   WS-SUB-4.
           MOVE SUB-5 TO   WS-SUB-5.
           MOVE SUB-6 TO   WS-SUB-6.
           MOVE SUB-7 TO   WS-SUB-7.
           MOVE SUB-8 TO   WS-SUB-8.
           MOVE SUB-9 TO   WS-SUB-9.
           MOVE SUB-10 TO  WS-SUB-10.
           MOVE SUB-11 TO  WS-SUB-11.
           MOVE SUB-12 TO  WS-SUB-12.
           MOVE SUB-13 TO  WS-SUB-13.
           MOVE SUB-14 TO  WS-SUB-14.
           MOVE SUB-15 TO  WS-SUB-15.
           MOVE SUB-16 TO  WS-SUB-16.
           MOVE SUB-17 TO  WS-SUB-17.
           MOVE SUB-18 TO  WS-SUB-18.
           MOVE SUB-19 TO  WS-SUB-19.
           MOVE SUB-20 TO  WS-SUB-20.
           MOVE SUB-21 TO  WS-SUB-21.
           MOVE SUB-22 TO  WS-SUB-22.
           MOVE SUB-23 TO  WS-SUB-23.
           MOVE SUB-24 TO  WS-SUB-24.

           IF SUB-24 NOT GREATER THAN MAX-SUB
           IF SUB-1  < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20 AND
              SUB-20 < SUB-21 AND
              SUB-21 < SUB-22 AND
              SUB-22 < SUB-23 AND
              SUB-23 < SUB-24
              PERFORM OUTPUT-SUBSCIPTS THRU OUTPUT-SUBSCIPTS-X.

           IF DUP-SW = 'N'
           IF SUB-24 NOT GREATER THAN MAX-SUB
           IF (SUB-1 < SUB-2  AND
              SUB-2  < SUB-3  AND
              SUB-3  < SUB-4  AND
              SUB-4  < SUB-5  AND
              SUB-5  < SUB-6  AND
              SUB-6  < SUB-7  AND
              SUB-7  < SUB-8  AND
              SUB-8  < SUB-9  AND
              SUB-9  < SUB-10 AND
              SUB-10 < SUB-11 AND
              SUB-11 < SUB-12 AND
              SUB-12 < SUB-13 AND
              SUB-13 < SUB-14 AND
              SUB-14 < SUB-15 AND
              SUB-15 < SUB-16 AND
              SUB-16 < SUB-17 AND
              SUB-17 < SUB-18 AND
              SUB-18 < SUB-19 AND
              SUB-19 < SUB-20 AND
              SUB-20 < SUB-21 AND
              SUB-21 < SUB-22 AND
              SUB-22 < SUB-23 AND
              SUB-23 < SUB-24)
              ADD INT(SUB-1),
                  INT(SUB-2),
                  INT(SUB-3),
                  INT(SUB-4),
                  INT(SUB-5),
                  INT(SUB-6),
                  INT(SUB-7),
                  INT(SUB-8),
                  INT(SUB-9),
                  INT(SUB-10),
                  INT(SUB-11),
                  INT(SUB-12),
                  INT(SUB-13),
                  INT(SUB-14),
                  INT(SUB-15),
                  INT(SUB-16),
                  INT(SUB-17),
                  INT(SUB-18),
                  INT(SUB-19),
                  INT(SUB-20)  GIVING RESULT-ST
              ADD INT(SUB-21),
                  INT(SUB-22)
                  INT(SUB-23)
                  INT(SUB-24)
                  RESULT-ST
                  GIVING RESULT-24
                  ADD 1 TO SOLVE-TICK
              IF  RESULT-24 = SUM-VALUE
                  ADD 1 TO TOTAL-ZERO
                           DETAILS-CTR
                  PERFORM DISPLAY-24-RTN THRU DISPLAY-24-RTN-X.

       TWENTY-FOUR-SUB-RTN-X. EXIT.

       DISPLAY-24-RTN.

           MOVE INT(SUB-1)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-2)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-3)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-4)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-5)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-6)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-7)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-8)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-9)     TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-10)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-11)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-12)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-13)    TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(SUB-14)    TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(SUB-15)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-16)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-17)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-18)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-19)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-20)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-21)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-22)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-23)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(SUB-24)    TO INT-DIS2(SUB-O, SUB-L2).
           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

       DISPLAY-24-RTN-X. EXIT.

       TWENTY-FIVE-RTN.

           ADD INT(1),  INT(2),  INT(3),  INT(4),  INT(5),
               INT(6),  INT(7),  INT(8),  INT(9),  INT(10),
               INT(11), INT(12), INT(13), INT(14)
               GIVING RESULT-ST.
           ADD INT(15), INT(16), INT(17), INT(18), INT(19),
               INT(20), INT(21), INT(22), INT(23), INT(24)
               INT(25), RESULT-ST
               GIVING RESULT-25.

           ADD 1 TO SOLVE-TICK.

           IF RESULT-25 = SUM-VALUE
               ADD 1 TO TOTAL-ZERO
                        DETAILS-CTR
               PERFORM DISPLAY-25-RTN THRU DISPLAY-25-RTN-X.

       TWENTY-FIVE-RTN-X. EXIT.

       DISPLAY-25-RTN.

           MOVE INT(1)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(2)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(3)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(4)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(5)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(6)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(7)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(8)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(9)         TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(10)        TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(11)        TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(12)        TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(13)        TO INT-DIS(SUB-O, SUB-L).
           MOVE "+"            TO COM-DIS(SUB-O, SUB-L).
           ADD 1               TO SUB-L
           MOVE INT(14)        TO INT-DIS(SUB-O, SUB-L).
           MOVE SOLVE-TICK     TO PRINT-TICK(SUB-O), CLOCK-SOLVE
                                                     SET-CLOCK.

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE 1              TO SUB-L2
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD  1              TO SUB-L2
           MOVE INT(15)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(16)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(17)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(18)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(19)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(20)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(21)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(22)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(23)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(24)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE "+"            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2
           MOVE INT(25)        TO INT-DIS2(SUB-O, SUB-L2).
           MOVE " "            TO COM-DIS2(SUB-O, SUB-L2).
           ADD 1               TO SUB-L2

           IF OUT-LINE2 (SUB-O) EQUAL OUT-LINE (SUB-O)
              GO TO DISPLAY-25-RTN-X.

           MOVE OUT-LINE2 (SUB-O)      TO OUT-LINE (SUB-O).

           PERFORM SCREEN-RTN THRU SCREEN-RTN-X.

           MOVE  01 TO     WS-SUB-1.
           MOVE  02 TO     WS-SUB-2.
           MOVE  03 TO     WS-SUB-3.
           MOVE  04 TO     WS-SUB-4.
           MOVE  05 TO     WS-SUB-5.
           MOVE  06 TO     WS-SUB-6.
           MOVE  07 TO     WS-SUB-7.
           MOVE  08 TO     WS-SUB-8.
           MOVE  09 TO     WS-SUB-9.
           MOVE  10 TO     WS-SUB-10.
           MOVE  11 TO     WS-SUB-11.
           MOVE  12 TO     WS-SUB-12.
           MOVE  13 TO     WS-SUB-13.
           MOVE  14 TO     WS-SUB-14.
           MOVE  15 TO     WS-SUB-15.
           MOVE  16 TO     WS-SUB-16.
           MOVE  17 TO     WS-SUB-17.
           MOVE  18 TO     WS-SUB-18.
           MOVE  19 TO     WS-SUB-19.
           MOVE  20 TO     WS-SUB-20.
           MOVE  21 TO     WS-SUB-21.
           MOVE  22 TO     WS-SUB-22.
           MOVE  23 TO     WS-SUB-23.
           MOVE  24 TO     WS-SUB-24.
           MOVE  25 TO     WS-SUB-25.

           MOVE  WS-OUTPUT-RECORD TO OUTPUT-RECORD
           PERFORM WRITE-RTN THRU WRITE-RTN-X.

       DISPLAY-25-RTN-X. EXIT.

      *---------------------------------------------------------------*
      *    This logic routine branches and passes control to          *
      *    another program called PNPCHECK. This program provides     *
      *    the P portion of the P NP solution. It passes values       *
      *    that are referenced in the IO-LINK area in working         *
      *    storage.                                                   *
      *---------------------------------------------------------------*

       P-CHECK-RTN.

           MOVE SPACES TO IO-OUT-LINE.
           CALL PNPCHECK-PGM USING IO-LINK
                ON OVERFLOW
                DISPLAY "Memory resources exhausted"     AT 2504
                STOP " PRESS ENTER ".
           CANCEL PNPCHECK-PGM.
           DISPLAY "                                   " AT 2504.
           PERFORM DATA-MOVE-RTN THRU DATA-MOVE-RTN-X.

       P-CHECK-RTN-X. EXIT.

       RESET-RTN.

           MOVE 1          TO SUB-O, SUB-L
           MOVE 1          TO SUB-5
           MOVE "N"        TO DUP-SW.
           MOVE "?"        TO PAGE-SW.
           MOVE "Y"        TO ON-1-SW.
           MOVE "N"        TO ON-2-SW.
           MOVE "Y"        TO TRUNCATE-SW.

           MOVE SOLVE-TICK TO SOLVE-SAVE-1
           MOVE SPACES     TO STATS-INTEGERS.
           MOVE SPACES     TO STATS-INTEGERS-VALUES.
           MOVE SPACES     TO OUT-DISPLAY-TABLE.
           MOVE SPACES     TO OUT-DISPLAY-TABLE2.
           MOVE SPACES     TO SAVE-OUTPUT-RECORD.
           MOVE ZERO       TO DETAILS-CTR.
           MOVE ZERO       TO TABLE-OF-INTEGERS.
           MOVE ZERO       TO RESULTS-FIELDS.
           MOVE ZERO       TO CHECK-TICK.
           MOVE ZERO       TO SOLVE-TICK.
           WRITE STATS-RECORD FROM SPACE-LINE.

           MOVE SPACES     TO
                I1,  I2,  I3,  I4,  I5,  I6,  I7,  I8,
                I9,  I10, I11, I12, I13, I14, I15, I16,
                I17, I18, I19, I20, I21, I22, I23, I24, I25.

       RESET-RTN-X. EXIT.

       SCREEN-RTN.

           IF PAGE-SW = 'T' OR 't'
               GO TO SCREEN-SKIP.

           IF ON-1-SW = 'Y'
               MOVE 'N'               TO ON-1-SW
               MOVE OUT-LINE (SUB-O)  TO FIRST-OUT-LINE.

           IF SUB-O = 1
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1104.

           IF SUB-O = 2
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1204.

           IF SUB-O = 3
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1304.

           IF SUB-O = 4
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1404.

           IF SUB-O = 5
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1504.

           IF SUB-O = 6
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1604.

           IF SUB-O = 7
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1704.

           IF SUB-O = 8
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1804.

           IF SUB-O = 9
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 1904.

           IF SUB-O = 10
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 2004.

           IF SUB-O = 11
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 2104.

           IF SUB-O = 12
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 2204.

           IF SUB-O = 13
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  OUT-LINE (SUB-O) TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY OUT-LINE (SUB-O)  AT 2304.

       SCREEN-SKIP.

           IF OUT-LINE (14) GREATER THAN SPACES
              PERFORM PAGING-RTN    THRU PAGING-RTN-X.

           IF SUB-O = 14
             IF OUT-LINE (14) EQUAL SPACES
                PERFORM SPACE-OUT  THRU SPACE-OUT-X
                MOVE 0             TO SUB-O.

           ADD  1                  TO SUB-O.
           ADD  1                  TO SUB-D.
           MOVE 1                  TO SUB-L.

       SCREEN-RTN-X. EXIT.

       PAGING-RTN.

           MOVE OUT-LINE (14) TO SAVE-OUT-LINE
           MOVE SPACES        TO OUT-LINE (14)
           MOVE 0             TO SUB-O

           IF PAGE-SW = "r" OR "R" OR "t" OR "T"
              DISPLAY " "            AT 2575
           ELSE
              DISPLAY "            " AT 2567
              DISPLAY
               'Enter pages, "R"+Enter rolls, "X"+Enter reset.'
                              AT 2505.

           IF PAGE-SW = "t" OR "T" OR "r" OR "R"
              MOVE TOTAL-ZERO      TO TOTAL-ZERO-S
              DISPLAY TOTAL-ZERO-S AT 2567
           ELSE
              ACCEPT PAGE-SW       AT 2575.

           DISPLAY
               "Seeking, please wait...                       "
                                 AT 2505.

           IF PAGE-SW = "t" OR "T" OR "r" OR "R"
              IF CLOCK-ON
                 PERFORM ELAPSED-TIME THRU ELAPSED-TIME-X.

           ADD 1                 TO SUB-O.

           IF PAGE-SW = "t" OR "T"
              DISPLAY FIRST-OUT-LINE AT 1104
              DISPLAY SPACE-LINE     AT 1204
              DISPLAY SPACE-LINE     AT 1304
              DISPLAY SPACE-LINE     AT 1404
              DISPLAY SPACE-LINE     AT 1504
              DISPLAY SPACE-LINE     AT 1604
              DISPLAY SPACE-LINE     AT 1704
              DISPLAY SPACE-LINE     AT 1804
              DISPLAY SPACE-LINE     AT 1904
              DISPLAY SPACE-LINE     AT 2004
              DISPLAY SPACE-LINE     AT 2104
              DISPLAY SPACE-LINE     AT 2204
              DISPLAY SPACE-LINE     AT 2304
              MOVE "Y" TO ON-2-SW
           ELSE
               MOVE  DETAILS-CTR      TO DETAILS-COUNTER
               MOVE  SAVE-OUT-LINE    TO DETAILS-FIELDS
               MOVE  WORK-PERIOD      TO DETAIL-PERIOD
               WRITE DETAILS-RECORD
               DISPLAY SAVE-OUT-LINE  AT 1104.

           IF ON-2-SW = "N"
              DISPLAY SPACE-LINE    AT 1204
              DISPLAY SPACE-LINE    AT 1304
              DISPLAY SPACE-LINE    AT 1404
              DISPLAY SPACE-LINE    AT 1504
              DISPLAY SPACE-LINE    AT 1604
              DISPLAY SPACE-LINE    AT 1704
              DISPLAY SPACE-LINE    AT 1804
              DISPLAY SPACE-LINE    AT 1904
              DISPLAY SPACE-LINE    AT 2004
              DISPLAY SPACE-LINE    AT 2104
              DISPLAY SPACE-LINE    AT 2204
              DISPLAY SPACE-LINE    AT 2304.

           IF  PAGE-SW = "x" OR "X"
               PERFORM RESET-RTN    THRU RESET-RTN-X
               DISPLAY SPACES
               MOVE SPACE TO RESPONSE
               WRITE DETAILS-RECORD FROM SPACE-LINE
               WRITE DETAILS-RECORD FROM STATS-ERROR
               WRITE DETAILS-RECORD FROM STATS-SEPARATE
               WRITE DETAILS-RECORD FROM SPACE-LINE
               WRITE STATS-RECORD   FROM STATS-ERROR
               WRITE STATS-RECORD   FROM STATS-SEPARATE
               WRITE STATS-RECORD   FROM SPACE-LINE
               GO TO MAIN-LOOP.

           IF PAGE-SW = "t" OR "T"
              IF TRUNCATE-SW =  "Y"
                 MOVE "N"             TO   TRUNCATE-SW
                 WRITE DETAILS-RECORD FROM SPACE-LINE
                 WRITE DETAILS-RECORD FROM STATS-TRUNCATE
                 WRITE STATS-RECORD   FROM SPACE-LINE
                 WRITE STATS-RECORD   FROM STATS-TRUNCATE.

       PAGING-RTN-X. EXIT.

       SPACE-OUT.

           IF SUB-O = 2
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 1204.

           IF SUB-O = 3
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 1304.

           IF SUB-O = 4
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 1404.

           IF SUB-O = 5
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 1504.

           IF SUB-O = 6
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 1604.

           IF SUB-O = 7
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 1704.

           IF SUB-O = 8
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 1804.

           IF SUB-O = 9
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 1904.

           IF SUB-O = 10
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 2004.

           IF SUB-O = 11
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 2104.

           IF SUB-O = 12
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 2204.

           IF SUB-O = 13
               ADD 1 TO SUB-O
               DISPLAY SPACE-LINE        AT 2304.

       SPACE-OUT-X. EXIT.

       CALL-HELP.

           IF COLOR-1ST-SW = 'Y'
              MOVE 'N' TO COLOR-1ST-SW
              IF COLOR-VARY-1
                 MOVE 0 TO PCA-COLOR-SW
              ELSE
                 IF COLOR-VARY-2
                    MOVE 2 TO PCA-COLOR-SW
                 ELSE
                    IF COLOR-VARY-3
                       MOVE 8 TO PCA-COLOR-SW
                    ELSE
                       IF COLOR-VARY-4
                          MOVE 6 TO PCA-COLOR-SW
                       ELSE
                          IF COLOR-VARY-5
                             MOVE 4 TO PCA-COLOR-SW
                          ELSE
                             IF COLOR-VARY-6
                                MOVE 10 TO PCA-COLOR-SW.

           CALL HELP-PROGRAM USING IO-LNK
                ON OVERFLOW
                DISPLAY "Memory resources exhausted" AT 2501
                STOP " PRESS ENTER ".
           CANCEL HELP-PROGRAM.

       CALL-HELP-X. EXIT.

       OUTPUT-SUBSCIPTS.

           IF  WS-OUTPUT-RECORD NOT EQUAL SAVE-OUTPUT-RECORD
               MOVE "N"               TO DUP-SW
               MOVE  WS-OUTPUT-RECORD TO OUTPUT-RECORD
               PERFORM WRITE-RTN THRU WRITE-RTN-X
               MOVE  WS-OUTPUT-RECORD TO SAVE-OUTPUT-RECORD
               MOVE  SPACES           TO WS-OUTPUT-RECORD
           ELSE
               MOVE "Y"               TO DUP-SW.

       OUTPUT-SUBSCIPTS-X. EXIT.

       WRITE-RTN.

           IF NOT FILE-STATUS-OK
               NEXT SENTENCE
           ELSE
               WRITE OUTPUT-RECORD.

       WRITE-RTN-X. EXIT.

       DATA-INPUT-RTN.

           IF COLOR-VARY-1
              CALL SCREEN-IO USING WRITE-ATTR
                                   FORM-PARAMS
                                   PNPSOLVE-00-ATTR
              DISPLAY PNPSOLVE-00.

           IF COLOR-VARY-2
              CALL SCREEN-IO USING WRITE-ATTR
                                   FORM-PARAMS
                                   PNPSOLV2-00-ATTR
              DISPLAY PNPSOLV2-00.

           IF COLOR-VARY-3
              CALL SCREEN-IO USING WRITE-ATTR
                                   FORM-PARAMS
                                   PNPSOLV3-00-ATTR
              DISPLAY PNPSOLV3-00.

           IF COLOR-VARY-4
              CALL SCREEN-IO USING WRITE-ATTR
                                   FORM-PARAMS
                                   PNPSOLV4-00-ATTR
              DISPLAY PNPSOLV4-00.

           IF COLOR-VARY-5
              CALL SCREEN-IO USING WRITE-ATTR
                                   FORM-PARAMS
                                   PNPSOLV5-00-ATTR
              DISPLAY PNPSOLV5-00.

           IF COLOR-VARY-6
              CALL SCREEN-IO USING WRITE-ATTR
                                   FORM-PARAMS
                                   PNPSOLV6-00-ATTR
              DISPLAY PNPSOLV6-00.

           ACCEPT     PNPSOLVE-01.

           PERFORM DATA-MOVE-RTN THRU DATA-MOVE-RTN-X.

       DATA-INPUT-RTN-X. EXIT.

       DATA-MOVE-RTN.

           MOVE ZERO TO MAX-SUB.

           IF I1  GREATER THAN SPACES
              MOVE I1 TO INT (1) O1
              ADD 1 TO MAX-SUB
           IF I2  GREATER THAN SPACES
              MOVE I2 TO INT (2) O2
              ADD 1 TO MAX-SUB
           IF I3  GREATER THAN SPACES
              MOVE I3 TO INT (3) O3
              ADD 1 TO MAX-SUB
           IF I4  GREATER THAN SPACES
              MOVE I4 TO INT (4) O4
              ADD 1 TO MAX-SUB
           IF I5  GREATER THAN SPACES
              MOVE I5 TO INT (5) O5
              ADD 1 TO MAX-SUB
           IF I6  GREATER THAN SPACES
              MOVE I6 TO INT (6) O6
              ADD 1 TO MAX-SUB
           IF I7  GREATER THAN SPACES
              MOVE I7 TO INT (7) O7
              ADD 1 TO MAX-SUB
           IF I8  GREATER THAN SPACES
              MOVE I8 TO INT (8) O8
              ADD 1 TO MAX-SUB
           IF I9  GREATER THAN SPACES
              MOVE I9 TO INT (9) O9
              ADD 1 TO MAX-SUB
           IF I10 GREATER THAN SPACES
              MOVE I10 TO INT (10) O10
              ADD 1 TO MAX-SUB
           IF I11 GREATER THAN SPACES
              MOVE I11 TO INT (11) O11
              ADD 1 TO MAX-SUB
           IF I12 GREATER THAN SPACES
              MOVE I12 TO INT (12) O12
              ADD 1 TO MAX-SUB
           IF I13 GREATER THAN SPACES
              MOVE I13 TO INT (13) O13
              ADD 1 TO MAX-SUB
           IF I14 GREATER THAN SPACES
              MOVE I14 TO INT (14) O14
              ADD 1 TO MAX-SUB
           IF I15 GREATER THAN SPACES
              MOVE I15 TO INT (15) O15
              ADD 1 TO MAX-SUB
           IF I16 GREATER THAN SPACES
              MOVE I16 TO INT (16) O16
              ADD 1 TO MAX-SUB
           IF I17 GREATER THAN SPACES
              MOVE I17 TO INT (17) O17
              ADD 1 TO MAX-SUB
           IF I18 GREATER THAN SPACES
              MOVE I18 TO INT (18) O18
              ADD 1 TO MAX-SUB
           IF I19 GREATER THAN SPACES
              MOVE I19 TO INT (19) O19
              ADD 1 TO MAX-SUB
           IF I20 GREATER THAN SPACES
              MOVE I20 TO INT (20) O20
              ADD 1 TO MAX-SUB
           IF I21 GREATER THAN SPACES
              MOVE I21 TO INT (21) O21
              ADD 1 TO MAX-SUB
           IF I22 GREATER THAN SPACES
              MOVE I22 TO INT (22) O22
              ADD 1 TO MAX-SUB
           IF I23 GREATER THAN SPACES
              MOVE I23 TO INT (23) O23
              ADD 1 TO MAX-SUB
           IF I24 GREATER THAN SPACES
              MOVE I24 TO INT (24) O24
              ADD 1 TO MAX-SUB
           IF I25 GREATER THAN SPACES
              MOVE I25 TO INT (25) O25
              ADD 1 TO MAX-SUB.

       DATA-MOVE-RTN-X. EXIT.

       DEPTH-RTN.

            DISPLAY "           Depth of Processing             "
            AT 1212.
            DISPLAY "  This value determines how many integers  "
            AT 1412.
            DISPLAY " are evaluated in a subset to check for an "
            AT 1512.
            DISPLAY " equation that sums to a value. The higher "
            AT 1612.
            DISPLAY " the number the longer the processing time."
            AT 1712.
            DISPLAY " Choose 7 through 14 for the process level "
            AT 1812.
            DISPLAY "Key in the integer process level here ---> "
            AT 2012.
            DISPLAY "    or press enter for default value.      "
            AT 2112.
            DISPLAY "                                           "
            AT 2502.

            ACCEPT PROCESS-LEVEL AT 2056.

            IF PROCESS-LEVEL-OK
               DISPLAY SPACES
            ELSE
               MOVE 7 TO PROCESS-LEVEL
               GO TO DEPTH-RTN.

       DEPTH-RTN-X. EXIT.

       CLOCK-RTN.

            DISPLAY "           Timing Variations               "
            AT 1212.
            DISPLAY "  For the check module you may select to   "
            AT 1412.
            DISPLAY "  display the amount of time to find an    "
            AT 1512.
            DISPLAY "  equation that sums to a value in either  "
            AT 1612.
            DISPLAY "   polynomial time or exponential time.    "
            AT 1712.
            DISPLAY "  Choose P for polynomial (the default)    "
            AT 1812.
            DISPLAY " or E for exponential time. Change it ---> "
            AT 1912.
            DISPLAY "    or press enter for default value.      "
            AT 2012.
            DISPLAY "                                           "
            AT 2502.

            ACCEPT POLY-EXP-SW   AT 1956.

            IF POLY-EXP-SW = "p"
               MOVE "P"          TO POLY-EXP-SW.

            IF POLY-EXP-SW = "e"
               MOVE "E"          TO POLY-EXP-SW.

            IF POLY-EXP-SW = "P" OR "E"
               DISPLAY SPACES
            ELSE
               MOVE  "P" TO POLY-EXP-SW
               GO TO CLOCK-RTN.

       CLOCK-RTN-X. EXIT.

       ELAPSED-TIME.

           IF CLOCK-ON
              MOVE TIME-OF-DAY     TO ELAP-TIME
              MULTIPLY ELAPTIME-HH BY 60
                   GIVING ELAP-HH-MM
              ADD ELAPTIME-MM      TO ELAP-HH-MM
              SUBTRACT WORK-MIN-B  FROM ELAP-HH-MM
                   GIVING ELAP-HH-MM
              MOVE ELAP-HH-MM      TO ELAP-MINUTES
              IF   ELAP-HH-MM GREATER THAN ZERO
                 DISPLAY CLOCK-NOTE   AT 2538
                 DISPLAY ELAP-MINUTES AT 2547
                 GO TO ELAPSED-TIME-X
              ELSE
                 GO TO ELAPSED-TIME-X.

           IF MAX-SUB > 16
              MOVE TIME-OF-DAY     TO ELAP-TIME
              MULTIPLY ELAPTIME-HH BY 60
                   GIVING ELAP-HH-MM
              ADD ELAPTIME-MM      TO ELAP-HH-MM
              SUBTRACT WORK-MIN-B  FROM ELAP-HH-MM
                   GIVING ELAP-HH-MM
              MOVE ELAP-HH-MM      TO ELAP-MINUTES
              DISPLAY ELAPSED      AT 2567
              DISPLAY ELAP-MINUTES AT 2573.

       ELAPSED-TIME-X. EXIT.

       SUM-VALUE-RTN.

           DISPLAY SPACE-LINE  AT 2503.
           DISPLAY "            Sum Value Variation            "
           AT 1309.
           DISPLAY "            ___________________            "
           AT 1409.
           DISPLAY "  To change the summation value from zero  "
           AT 1609.
           DISPLAY "  to another positive or negative integer  "
           AT 1709.
           DISPLAY "  overkey with a value then press Enter -->"
           AT 1809.

           ACCEPT SUM-VALUE-I   AT 1854.
           MOVE SUM-VALUE-I     TO SUM-VALUE
                                   SUM-VALUE-CK.

           IF SUM-VALUE   > 2475 OR SUM-VALUE < -2475
              DISPLAY "            Value out of range.    "
              AT 2009
              GO TO SUM-VALUE-RTN
           ELSE
              DISPLAY "                                   "
              AT 2009.

           DISPLAY SPACES.

       SUM-VALUE-RTN-X. EXIT.

       ALGORITHM-RTN.

           CALL PNPLISTS-PGM
                ON OVERFLOW
                DISPLAY "Memory resources exhausted" AT 2504
                STOP " PRESS ENTER ".
           CANCEL PNPLISTS-PGM.

       ALGORITHM-RTN-X. EXIT.

       SET-RTN.

           SUBTRACT  SOLVE-SAVE-1  FROM SOLVE-TICK
              GIVING SOLVE-SAVE-2.
           MOVE SOLVE-SAVE-2       TO SET-CLOCK-P
           MOVE SOLVE-TICK         TO SOLVE-SAVE-1.

           MOVE SUM-VALUE          TO SET-VALUE
                                      DETAIL-SUM-VALUE.

           SUBTRACT SET-SUB-TOTAL FROM TOTAL-ZERO GIVING
                    SET-SUB-TOTAL-2
           MOVE SET-SUB-TOTAL-2    TO SET-TOTAL.
           MOVE TOTAL-ZERO         TO SET-SUB-TOTAL.
           MOVE STATS-LINE         TO STATS-RECORD
                                      SUMMARY-RECORD.

           WRITE STATS-RECORD.
           WRITE SUMMARY-RECORD.

       SET-RTN-X. EXIT.

       WIPE-BIG-DATA.

           IF SUB-O = 2
               DISPLAY SPACE-LINE        AT 1204
               ADD 1 TO SUB-O.

           IF SUB-O = 3
               DISPLAY SPACE-LINE        AT 1304
               ADD 1 TO SUB-O.

           IF SUB-O = 4
               DISPLAY SPACE-LINE        AT 1404
               ADD 1 TO SUB-O.

           IF SUB-O = 5
               DISPLAY SPACE-LINE        AT 1504
               ADD 1 TO SUB-O.

           IF SUB-O = 6
               DISPLAY SPACE-LINE        AT 1604
               ADD 1 TO SUB-O.

           IF SUB-O = 7
               DISPLAY SPACE-LINE        AT 1704
               ADD 1 TO SUB-O.

           IF SUB-O = 8
               DISPLAY SPACE-LINE        AT 1804
               ADD 1 TO SUB-O.

           IF SUB-O = 9
               DISPLAY SPACE-LINE        AT 1904
               ADD 1 TO SUB-O.

           IF SUB-O = 10
               DISPLAY SPACE-LINE        AT 2004
               ADD 1 TO SUB-O.

           IF SUB-O = 11
               DISPLAY SPACE-LINE        AT 2104
               ADD 1 TO SUB-O.

           IF SUB-O = 12
               DISPLAY SPACE-LINE        AT 2204
               ADD 1 TO SUB-O.

           IF SUB-O = 13
               DISPLAY SPACE-LINE        AT 2304
               ADD 1 TO SUB-O.

       WIPE-BIG-DATA-X. EXIT.

       YORN-RTN.

           MOVE ZERO             TO BYTE-READY.
           PERFORM READ-AND-WAIT THRU READ-AND-WAIT-X
                   UNTIL BYTE-READY NOT = ZERO.
           CALL X"83" USING YORN.

           IF AFFIRM
              IF NOT FILE-STATUS-OK
                 EXIT PROGRAM
                 STOP RUN
              ELSE
                 CLOSE DETAILS-FILE
                 CLOSE SUMMARY-FILE
                 CLOSE OUTPUT-FILE
                 OPEN  OUTPUT OUTPUT-FILE
                 CLOSE OUTPUT-FILE
                 EXIT PROGRAM
                 STOP RUN.

       YORN-RTN-X. EXIT.

       READ-AND-WAIT.

           MOVE 2371 TO CURSOR-POSITION.
           CALL X"E6" USING TEMP-RESULT, CURSOR-POSITION.
           CALL X"D9" USING BYTE-READY.

           IF ESCAPE-KEY
              MOVE 1 TO BYTE-READY.

       READ-AND-WAIT-X. EXIT.

      *---------------------------------------------------------------*
      *                       END OF PROGRAM                          *
      *---------------------------------------------------------------*
0