J E S 2 J O B L O G 11.38.36 JOB 40 IEF677I WARNING MESSAGE(S) FOR JOB SOEQ#ASM ISSUED 11.38.36 JOB 40 $HASP373 SOEQ#ASM STARTED - INIT 6 - CLASS C - SYS TK4- 11.38.36 JOB 40 IEF403I SOEQ#ASM - STARTED - TIME=11.38.36 11.38.36 JOB 40 IEFACTRT - Stepname Procstep Program Retcode 11.38.36 JOB 40 SOEQ#ASM CLG ASM IFOX00 RC= 0000 11.38.37 JOB 40 SOEQ#ASM CLG LKED IEWL RC= 0000 11.38.37 JOB 40 SOEQ#ASM CLG GO PGM=*.DD RC= 0000 11.38.37 JOB 40 IEF404I SOEQ#ASM - ENDED - TIME=11.38.37 11.38.37 JOB 40 $HASP395 SOEQ#ASM ENDED ------ JES2 JOB STATISTICS ------ 21 OCT 18 JOB EXECUTION DATE 606 CARDS READ 1,939 SYSOUT PRINT RECORDS 0 SYSOUT PUNCH RECORDS 0.00 MINUTES EXECUTION TIME 1 //SOEQ#ASM JOB 'S322-0C4','WFJM', JOB 40 // CLASS=C,MSGCLASS=A,MSGLEVEL=(1,1), // REGION=128K,TIME=(1,0),PRTY=8 2 //CLG EXEC ASMFCLG, // MAC1='SYS2.MACLIB', // MAC2='SYS1.AMODGEN', // MAC3='SYS1.MACLIB', // PARM.ASM='NODECK,LOAD', // PARM.LKED='MAP,LIST,LET,NCAL', // COND.LKED=(8,LE,ASM), // PARM.GO='', // COND.GO=((8,LE,ASM),(4,LT,LKED)) 3 XXASMFCLG PROC MAC='SYS1.MACLIB',MAC1='SYS1.MACLIB', 00000100 XX MAC2='SYS1.MACLIB',MAC3='SYS1.MACLIB',SOUT='*' 00000200 4 XXASM EXEC PGM=IFOX00,PARM=OBJ,REGION=128K 00000300 5 XXSYSLIB DD DSN=&MAC,DISP=SHR 00000400 6 XX DD DSN=&MAC1,DISP=SHR 00000500 7 XX DD DSN=&MAC2,DISP=SHR 00000600 8 XX DD DSN=&MAC3,DISP=SHR 00000700 9 //ASM.SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSDA,SPACE=(1700,(600,100)) X/SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSSQ,SPACE=(1700,(600,100)), 00000800 XX SEP=(SYSLIB) 00000900 10 //ASM.SYSUT2 DD DSN=&&SYSUT2,UNIT=SYSDA,SPACE=(1700,(300,50)) X/SYSUT2 DD DSN=&&SYSUT2,UNIT=SYSSQ,SPACE=(1700,(300,50)), 00001000 XX SEP=(SYSLIB,SYSUT1) 00001100 11 //ASM.SYSUT3 DD DSN=&&SYSUT3,UNIT=SYSDA,SPACE=(1700,(300,50)) X/SYSUT3 DD DSN=&&SYSUT3,UNIT=SYSSQ,SPACE=(1700,(300,50)) 00001200 12 XXSYSPRINT DD SYSOUT=&SOUT,DCB=BLKSIZE=1089 00001300 13 XXSYSPUNCH DD SYSOUT=B 00001400 14 //ASM.SYSGO DD DSN=&&OBJSET,UNIT=SYSDA,SPACE=(80,(2000,500)) X/SYSGO DD DSN=&&OBJSET,UNIT=SYSSQ,SPACE=(80,(200,50)), 00001500 XX DISP=(MOD,PASS) 00001600 15 //ASM.SYSIN DD * 16 XXLKED EXEC PGM=IEWL,PARM=(XREF,LET,LIST,NCAL),REGION=128K, 00001700 XX COND=(8,LT,ASM) 00001800 17 XXSYSLIN DD DSN=&&OBJSET,DISP=(OLD,DELETE) 00001900 18 XX DD DDNAME=SYSIN 00002000 19 XXSYSLMOD DD DSN=&&GOSET(GO),UNIT=SYSDA,SPACE=(1024,(50,20,1)), 00002100 XX DISP=(MOD,PASS) 00002200 20 XXSYSUT1 DD DSN=&&SYSUT1,UNIT=(SYSDA,SEP=(SYSLIN,SYSLMOD)), 00002300 XX SPACE=(1024,(50,20)) 00002400 21 XXSYSPRINT DD SYSOUT=&SOUT 00002500 22 XXGO EXEC PGM=*.LKED.SYSLMOD,COND=((8,LT,ASM),(4,LT,LKED)) 00002600 23 //GO.SYSUDUMP DD SYSOUT=*,OUTLIM=2000 24 //GO.SYSPRINT DD SYSOUT=*,OUTLIM=5000 25 //GO.SYSIN DD * // STMT NO. MESSAGE - 5 IEF653I SUBSTITUTION JCL - DSN=SYS1.MACLIB,DISP=SHR 6 IEF653I SUBSTITUTION JCL - DSN=SYS2.MACLIB,DISP=SHR 7 IEF653I SUBSTITUTION JCL - DSN=SYS1.AMODGEN,DISP=SHR 8 IEF653I SUBSTITUTION JCL - DSN=SYS1.MACLIB,DISP=SHR 12 IEF653I SUBSTITUTION JCL - SYSOUT=*,DCB=BLKSIZE=1089 21 IEF653I SUBSTITUTION JCL - SYSOUT=* 22 IEF686I DDNAME REFERRED TO ON DDNAME KEYWORD IN PRIOR STEP WAS NOT RESOLVED IEF236I ALLOC. FOR SOEQ#ASM ASM CLG IEF237I 148 ALLOCATED TO SYSLIB IEF237I 148 ALLOCATED TO IEF237I 248 ALLOCATED TO IEF237I 148 ALLOCATED TO IEF237I 180 ALLOCATED TO SYSUT1 IEF237I 140 ALLOCATED TO SYSUT2 IEF237I 170 ALLOCATED TO SYSUT3 IEF237I JES2 ALLOCATED TO SYSPRINT IEF237I JES2 ALLOCATED TO SYSPUNCH IEF237I 190 ALLOCATED TO SYSGO IEF237I JES2 ALLOCATED TO SYSIN IEF142I SOEQ#ASM ASM CLG - STEP WAS EXECUTED - COND CODE 0000 IEF285I SYS1.MACLIB KEPT *-------41 IEF285I VOL SER NOS= MVSRES. IEF285I SYS2.MACLIB KEPT *--------0 IEF285I VOL SER NOS= MVSRES. IEF285I SYS1.AMODGEN KEPT *--------0 IEF285I VOL SER NOS= MVSDLB. IEF285I SYS1.MACLIB KEPT *--------0 IEF285I VOL SER NOS= MVSRES. IEF285I SYS18294.T113836.RA000.SOEQ#ASM.SYSUT1 DELETED *------280 IEF285I VOL SER NOS= WORK02. IEF285I SYS18294.T113836.RA000.SOEQ#ASM.SYSUT2 DELETED *-------33 IEF285I VOL SER NOS= WORK00. IEF285I SYS18294.T113836.RA000.SOEQ#ASM.SYSUT3 DELETED *-------12 IEF285I VOL SER NOS= WORK01. IEF285I JES2.JOB00040.SO0103 SYSOUT IEF285I JES2.JOB00040.SO0104 SYSOUT IEF285I SYS18294.T113836.RA000.SOEQ#ASM.OBJSET PASSED *-------47 IEF285I VOL SER NOS= WORK03. IEF285I JES2.JOB00040.SI0101 SYSIN IEF373I STEP /ASM / START 18294.1138 IEF374I STEP /ASM / STOP 18294.1138 CPU 0MIN 00.22SEC SRB 0MIN 00.02SEC VIRT 128K SYS 208K ************************************************************************************************************************************ * 1. Jobstep of job: SOEQ#ASM Stepname: ASM Program name: IFOX00 Executed on 21.10.18 from 11.38.36 to 11.38.36 * * elapsed time 00:00:00,31 CPU-Identifier: TK4- Page-in: 0 * * CPU time 00:00:00,24 Virtual Storage used: 128K Page-out: 0 * * corr. CPU: 00:00:00,24 CPU time has been corrected by 1 / 1,0 multiplier * * * * I/O Operation * * Number of records read via DD * or DD DATA: 582 * * 148......41 148.......0 248.......0 148.......0 180.....280 140......33 170......12 DMY.......0 DMY.......0 190......47 * * DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,40 * ************************************************************************************************************************************ IEF236I ALLOC. FOR SOEQ#ASM LKED CLG IEF237I 190 ALLOCATED TO SYSLIN IEF237I DMY ALLOCATED TO IEF237I 180 ALLOCATED TO SYSLMOD IEF237I 170 ALLOCATED TO SYSUT1 IEF237I JES2 ALLOCATED TO SYSPRINT IEF142I SOEQ#ASM LKED CLG - STEP WAS EXECUTED - COND CODE 0000 IEF285I SYS18294.T113836.RA000.SOEQ#ASM.OBJSET DELETED *-------48 IEF285I VOL SER NOS= WORK03. IEF285I SYS18294.T113836.RA000.SOEQ#ASM.GOSET PASSED *-------10 IEF285I VOL SER NOS= WORK02. IEF285I SYS18294.T113836.RA000.SOEQ#ASM.SYSUT1 DELETED *--------0 IEF285I VOL SER NOS= WORK01. IEF285I JES2.JOB00040.SO0105 SYSOUT IEF373I STEP /LKED / START 18294.1138 IEF374I STEP /LKED / STOP 18294.1138 CPU 0MIN 00.02SEC SRB 0MIN 00.00SEC VIRT 128K SYS 176K ************************************************************************************************************************************ * 2. Jobstep of job: SOEQ#ASM Stepname: LKED Program name: IEWL Executed on 21.10.18 from 11.38.36 to 11.38.37 * * elapsed time 00:00:00,03 CPU-Identifier: TK4- Page-in: 0 * * CPU time 00:00:00,02 Virtual Storage used: 128K Page-out: 0 * * corr. CPU: 00:00:00,02 CPU time has been corrected by 1 / 1,0 multiplier * * * * I/O Operation * * Number of records read via DD * or DD DATA: 0 * * 190......48 DMY.......0 180......10 170.......0 DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,03 * ************************************************************************************************************************************ IEF236I ALLOC. FOR SOEQ#ASM GO CLG IEF237I 180 ALLOCATED TO PGM=*.DD IEF237I JES2 ALLOCATED TO SYSUDUMP IEF237I JES2 ALLOCATED TO SYSPRINT IEF237I JES2 ALLOCATED TO SYSIN IEF142I SOEQ#ASM GO CLG - STEP WAS EXECUTED - COND CODE 0000 IEF285I SYS18294.T113836.RA000.SOEQ#ASM.GOSET KEPT *--------0 IEF285I VOL SER NOS= WORK02. IEF285I JES2.JOB00040.SO0106 SYSOUT IEF285I JES2.JOB00040.SO0107 SYSOUT IEF285I JES2.JOB00040.SI0102 SYSIN IEF373I STEP /GO / START 18294.1138 IEF374I STEP /GO / STOP 18294.1138 CPU 0MIN 00.02SEC SRB 0MIN 00.00SEC VIRT 16K SYS 180K ************************************************************************************************************************************ * 3. Jobstep of job: SOEQ#ASM Stepname: GO Program name: PGM=*.DD Executed on 21.10.18 from 11.38.37 to 11.38.37 * * elapsed time 00:00:00,03 CPU-Identifier: TK4- Page-in: 0 * * CPU time 00:00:00,02 Virtual Storage used: 16K Page-out: 0 * * corr. CPU: 00:00:00,02 CPU time has been corrected by 1 / 1,0 multiplier * * * * I/O Operation * * Number of records read via DD * or DD DATA: 1 * * 180.......0 DMY.......0 DMY.......0 DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,03 * ************************************************************************************************************************************ IEF237I 180 ALLOCATED TO SYS00001 IEF285I SYS18294.T113837.RA000.SOEQ#ASM.R0000001 KEPT *--------0 IEF285I VOL SER NOS= WORK02. IEF285I SYS18294.T113836.RA000.SOEQ#ASM.GOSET DELETED IEF285I VOL SER NOS= WORK02. IEF375I JOB /SOEQ#ASM/ START 18294.1138 IEF376I JOB /SOEQ#ASM/ STOP 18294.1138 CPU 0MIN 00.26SEC SRB 0MIN 00.02SEC EXTERNAL SYMBOL DICTIONARY PAGE 1 SYMBOL TYPE ID ADDR LENGTH LDID ASM 0201 11.38 10/21/18 MAIN SD 0001 000000 00051C SIOSDATA SD 0002 000520 000198 TEXT SD 0003 0006B8 000045 PAGE 2 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 1 * 1 2 3 4 5 6 71 2 *23456789*12345*789012345678901234*678901234567890123456789012345678901 3 * $Id: soeq_asm.asm 1035 2018-07-20 16:18:30Z mueller $ 4 * 5 * Copyright 2017-2018 by Walter F.J. Mueller 6 * 7 * This program is free software; you may redistribute and/or modify 8 * it under the terms of the GNU General Public License version 3. 9 * See Licence.txt in distribition directory for further details. 10 * 11 * Revision History: 12 * Date Rev Version Comment 13 * 2018-07-13 1034 1.0.3 at CHOPAT quit points 14 * 2018-03-03 996 1.0.2 use sios as path for sios snippets 15 * 2017-12-23 972 1.0.1 change (n-1)/2 --> n/2 16 * 2017-11-19 965 1.1 no XR in inner loop, bit reversed prime[] 17 * 2017-11-18 963 1.0 Initial version 18 * 19 PRINT NOGEN don't show macro expansions 20 * 21 * Prime number search 22 * 23 * Code configuration options via hercjis variable substitutions 24 * SET_CHOPAT 0 normal code execution (default) 25 * 1 quit after init, before sieve 26 * 2 quit after sieve, before print 27 * 28 * Return codes: 29 * RC = 0 ok 30 * RC = 4 open SYSPRINT failed 31 * RC = 8 open SYSIN failed 32 * RC = 12 unexpected SYSIN EOF 33 * RC = 16 NMAX out of range 34 * 35 * local macros -------------------------------------------------------- 36 * 37 * 38 * OTXTDSC - setup text descriptor for simple output system - 39 * 40 MACRO 41 &LABEL OTXTDSC &TEXT 42 TEXT CSECT 43 SPTR&SYSNDX DC &TEXT 44 &SYSECT CSECT 45 DS 0F 46 &LABEL DC AL1(L'SPTR&SYSNDX),AL3(SPTR&SYSNDX) 47 MEND 48 * 49 * main preamble ------------------------------------------------------- 50 * 000000 51 MAIN START 0 start main code csect at base 0 52 SAVE (14,12) Save input registers 000004 18CF 55 LR R12,R15 base register := entry address 00000 56 USING MAIN,R12 declare base register 000006 50D0 C474 00474 57 ST R13,SAVE+4 set back pointer in current save area PAGE 3 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 00000A 182D 58 LR R2,R13 remember callers save area 00000C 41D0 C470 00470 59 LA R13,SAVE setup current save area 000010 50D2 0008 00008 60 ST R13,8(R2) set forw pointer in callers save area 61 * 62 * open datasets ------------------------------------------------------- 63 * 64 OPEN (SYSPRINT,OUTPUT) open SYSPRINT 00001E 12FF 70 LTR R15,R15 test return code 000020 4780 C02C 0002C 71 BE OOPENOK 000024 9204 C4BB 004BB 72 MVI RC+3,X'04' 000028 47F0 C2B4 002B4 73 B EXIT quit with RC=4 74 OOPENOK OPEN (SYSIN,INPUT) open SYSIN 000036 12FF 80 LTR R15,R15 test return code 000038 4780 C044 00044 81 BE IOPENOK 00003C 9208 C4BB 004BB 82 MVI RC+3,X'08' 000040 47F0 C2B4 002B4 83 B EXIT quit with RC=8 00044 84 IOPENOK EQU * 85 * 86 * read input parameters, and check range ------------------------------ 87 * 000044 45E0 C408 00408 88 BAL R14,IGETLINE read input line 000048 45E0 C458 00458 89 BAL R14,IINT10 get NMAX 00004C 5010 C4BC 004BC 90 ST R1,NMAX 000050 45E0 C458 00458 91 BAL R14,IINT10 get PRNT 000054 4210 C4D0 004D0 92 STC R1,PRNT 93 * 000058 5810 C4BC 004BC 94 L R1,NMAX 00005C 5910 C4E8 004E8 95 C R1,=F'10' is NMAX >= 10 000060 4740 C06C 0006C 96 BL NMAXBAD if < not 000064 5910 C4EC 004EC 97 C R1,=F'100000000' is NMAX <= 100000000 000068 47D0 C080 00080 98 BNH NMAXOK if <= yes 00006C 5810 C4D4 004D4 99 NMAXBAD L R1,MSGPERR 000070 45E0 C312 00312 100 BAL R14,OTEXT print error 000074 45E0 C340 00340 101 BAL R14,OPUTLINE write line 000078 9210 C4BB 004BB 102 MVI RC+3,X'10' 00007C 47F0 C2B4 002B4 103 B EXIT quit with RC=16 00080 104 NMAXOK EQU * 105 * 106 * setup phase --------------------------------------------------------- 107 * 108 * calculate sqrt(nmax) ----------------------------------- 109 * use simple bi-section method 110 * R4 low bound 111 * R5 high bound 112 * R7 middle (low+high)/2 113 * 000080 4140 0001 00001 114 LA R4,1 set low bound 000084 5850 C4BC 004BC 115 L R5,NMAX set high bound 000088 4160 0020 00020 116 LA R6,32 set iteration limit 00008C 1874 117 NMSQRTLP LR R7,R4 R7:= low 00008E 1A75 118 AR R7,R5 R7:= (low+high) 000090 8A70 0001 00001 119 SRA R7,1 R7:= (low+high)/2 000094 1837 120 LR R3,R7 000096 1C27 121 MR R2,R7 (R2,R3) := R7*R7 000098 1222 122 LTR R2,R2 more than 32 bit ? PAGE 4 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 00009A 4770 C0AC 000AC 123 BNE NMSQRTHI if != yes, mid too high 00009E 5530 C4BC 004BC 124 CL R3,NMAX mid*mid > NMAX 0000A2 4720 C0AC 000AC 125 BH NMSQRTHI if > yes, mid too high 0000A6 1847 126 LR R4,R7 here mid to low: low := mid 0000A8 47F0 C0AE 000AE 127 B NMSQRTGO 0000AC 1857 128 NMSQRTHI LR R5,R7 here mid to high: high := mid 0000AE 1885 129 NMSQRTGO LR R8,R5 R8 := high 0000B0 1B84 130 SR R8,R4 R8 := high-low 0000B2 1816 131 LR R1,R6 0000B4 5980 C4F0 004F0 132 C R8,=F'1' spread <= 1 ? 0000B8 47D0 C0C6 000C6 133 BNH NMSQRTOK if <= yes, quit 0000BC 4660 C08C 0008C 134 BCT R6,NMSQRTLP 135 ABEND 99 abort if doesn't converge 000C6 139 NMSQRTOK EQU * 0000C6 5040 C4C0 004C0 140 ST R4,NMSQRT 142 * allocate PRIME array ----------------------------------- 0000CA 5820 C4BC 004BC 143 L R2,NMAX 0000CE 0620 144 BCTR R2,0 NMAX-1 0000D0 8A20 0001 00001 145 SRA R2,1 (NMAX-1)/2 0000D4 5020 C4C4 004C4 146 ST R2,BIMAX 0000D8 5A20 C4F4 004F4 147 A R2,=F'7' BIMAX+7 0000DC 8A20 0003 00003 148 SRA R2,3 (BIMAX+7)/8 0000E0 5020 C4C8 004C8 149 ST R2,WIMAX 0000E4 1852 150 LR R5,R2 0000E6 5A50 C4F0 004F0 151 A R5,=F'1' WIMAX+1 152 GETMAIN RU,LV=(5) allocate storage for PRIME 0000FE 5010 C4CC 004CC 164 ST R1,PRIME store sieve base 000102 1891 165 LR R9,R1 R9 := PRIME base 166 * 167 * set each PRIME array byte to X'01' --------------------- 000104 1841 168 LR R4,R1 R4 := PRIME 169 * R5 := sizeof(PRIME) (still) 000106 1766 170 XR R6,R6 R6 := 0 000108 5870 C4F8 004F8 171 L R7,=X'FF000000' R7 := padding=0xFF and length=0 00010C 0E46 172 MVCL R4,R6 set all PRIME words to 0xFFFF 173 * 00010E 9501 C4D1 004D1 174 CLI CHOPAT,X'01' quit after init, before sieve ? 000112 4780 C2B4 002B4 175 BE EXIT if = quit 176 * 177 * sieve phase --------------------------------------------------------- 178 * outer loop: ind R6 n 179 * inc R4 2 180 * lim R5 sqrt(NMAX) 181 * inner loop: ind R3 i 182 * inc R6 n 183 * lim R7 bimax 184 * R9 &prime 185 * R8 0x80 186 * R10 0x07 187 * R11 0xFF7F 188 * R0,R1,R2,R15 temporaries 189 * 190 * 191 * equivalent C code: PAGE 5 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 192 * for (n=3; n<=nmsqrt; n+=2) { 193 * i = n/2; 194 * if ((prime[i>>3] & (0x80>>(i&0x7))) == 0) continue; 195 * for (i=(n*n)/2; i<=bimax ; i+=n) { 196 * prime[i>>3] &= (0xff7f>>(i&0x7); '!!pseudo code !!' 197 * } 198 * } 199 * 000116 4160 0003 00003 200 LA R6,3 outer ind: R6:=3 00011A 4140 0002 00002 201 LA R4,2 outer inc: R4:=2 00011E 5850 C4C0 004C0 202 L R5,NMSQRT outer lim: R5:=NMSQRT 000122 5870 C4C4 004C4 203 L R7,BIMAX inner lim: R7:=BIMAX 000126 4180 0080 00080 204 LA R8,X'80' R8:=0x80 00012A 41A0 0007 00007 205 LA R10,X'07' R10:=0x07 00012E 58B0 C4FC 004FC 206 L R11,=X'FFFFFF7F' R11:=0xffffff7f 207 * 000132 1826 208 SIEVO LR R2,R6 R2:=n 000134 8A20 0001 00001 209 SRA R2,1 R2:=n/2 000138 18F2 210 LR R15,R2 i 00013A 14FA 211 NR R15,R10 i&0x07 00013C 1818 212 LR R1,R8 0x80 00013E 8810 F000 00000 213 SRL R1,0(R15) 0x80>>(i&0x7) 000142 8820 0003 00003 214 SRL R2,3 i>>3 000146 4322 9000 00000 215 IC R2,0(R2,R9) prime[i>>3] 00014A 1421 216 NR R2,R1 prime[i>>3] & (0x80>>(i&0x7)) 00014C 4780 C178 00178 217 BZ SIEVOC if =0 not, continue outer loop 218 * 000150 1816 219 LR R1,R6 R1:=n 000152 1C06 220 MR R0,R6 R1:=n*n (lower half, enough) 000154 1831 221 LR R3,R1 R3:=n*n too 000156 8A30 0001 00001 222 SRA R3,1 R3:=(n*n)/2 223 * 00015A 1823 224 SIEVI LR R2,R3 i 00015C 142A 225 NR R2,R10 i&0x7 00015E 181B 226 LR R1,R11 0xff7f 000160 8810 2000 00000 227 SRL R1,0(R2) 0xff7f>>(i&0x7) 000164 1823 228 LR R2,R3 i 000166 8820 0003 00003 229 SRL R2,3 i>>3 00016A 4302 9000 00000 230 IC R0,0(R2,R9) prime[i>>3] 00016E 1401 231 NR R0,R1 & 0xff7f>>(i&0x7) 000170 4202 9000 00000 232 STC R0,0(R2,R9) prime[i>>3] &= 0xff7f>>(i&0x7) 000174 8736 C15A 0015A 233 BXLE R3,R6,SIEVI 234 * 000178 8764 C132 00132 235 SIEVOC BXLE R6,R4,SIEVO 236 * 00017C 9502 C4D1 004D1 237 CLI CHOPAT,X'02' quit after sieve, before print ? 000180 4780 C2B4 002B4 238 BE EXIT if = quit 239 * 240 * print primes table -------------------------------------------------- 241 * loop: ind R3 i 242 * inc R4 1 243 * lim R5 imax 244 * R2 np 245 * R9 &prime 246 * R8 0x80 PAGE 6 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 247 * R10 0x07 248 * R11 1 00184 249 PRT EQU * 000184 9500 C4D0 004D0 250 CLI PRNT,X'00' primes to be printed ? 000188 4780 C208 00208 251 BE NOPRNT if = skip 00018C 5810 C4D8 004D8 252 L R1,MSGLIST 000190 45E0 C312 00312 253 BAL R14,OTEXT print heading 000194 5810 C4BC 004BC 254 L R1,NMAX 000198 45E0 C3D0 003D0 255 BAL R14,OINT10 print nmax 00019C 45E0 C340 00340 256 BAL R14,OPUTLINE write line 257 * 0001A0 4110 0002 00002 258 LA R1,2 0001A4 45E0 C3D0 003D0 259 BAL R14,OINT10 print "2" (1st prime...) 0001A8 4120 0001 00001 260 LA R2,1 np=1 0001AC 4130 0001 00001 261 LA R3,1 ind: R3:=1 0001B0 4140 0001 00001 262 LA R4,1 inc: R4:=1 0001B4 5850 C4C4 004C4 263 L R5,BIMAX lim: R5:=BIMAX 0001B8 4180 0080 00080 264 LA R8,X'80' R8:=0x80 0001BC 41A0 0007 00007 265 LA R10,X'07' R10:=0x07 0001C0 41B0 0001 00001 266 LA R11,1 R11:=1 0001C4 1863 267 PRTLOOP LR R6,R3 i 0001C6 146A 268 NR R6,R10 i&0x7 0001C8 1818 269 LR R1,R8 0x80 0001CA 8810 6000 00000 270 SRL R1,0(R6) 0x80>>(i&0x7) 0001CE 1863 271 LR R6,R3 i 0001D0 8860 0003 00003 272 SRL R6,3 i>>3 0001D4 4306 9000 00000 273 IC R0,0(R6,R9) prime[i>>3] 0001D8 1401 274 NR R0,R1 prime[i>>3] & (0x80>>(i&0x7)) 0001DA 4780 C1FA 001FA 275 BE PRTLOOPC if = not, continue 0001DE 1813 276 LR R1,R3 R1:=i 0001E0 8B10 0001 00001 277 SLA R1,1 R1:=2*i 0001E4 1A1B 278 AR R1,R11 R1:=1+2*i 0001E6 45E0 C3D0 003D0 279 BAL R14,OINT10 and print F(10) 0001EA 1A2B 280 AR R2,R11 np+=1 0001EC 5920 C4E8 004E8 281 C R2,=F'10' check whether = 10 0001F0 4770 C1FA 001FA 282 BNZ PRTLOOPC if != not, continue 0001F4 45E0 C340 00340 283 BAL R14,OPUTLINE write line 0001F8 1722 284 XR R2,R2 np=0 001FA 285 PRTLOOPC EQU * 0001FA 8734 C1C4 001C4 286 BXLE R3,R4,PRTLOOP 287 * 0001FE 1222 288 LTR R2,R2 check prime count np 000200 4780 C208 00208 289 BZ NOPRNT 000204 45E0 C340 00340 290 BAL R14,OPUTLINE write line 00208 291 NOPRNT EQU * 292 * 293 * print primes count -------------------------------------------------- 294 * loop: ind R3 i 295 * inc R4 1 296 * lim R5 imax 297 * R2 np 298 * R7 il 299 * R6 nl 300 * R9 &prime 301 * R8 0x80 PAGE 7 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 302 * R10 0x07 303 * R11 1 304 * 00208 305 TBL EQU * 000208 4120 0001 00001 306 LA R2,1 np=1 00020C 4170 0004 00004 307 LA R7,4 il=4 000210 4160 000A 0000A 308 LA R6,10 nl=10 000214 4130 0001 00001 309 LA R3,1 ind: R3:=1 000218 4140 0001 00001 310 LA R4,1 inc: R4:=1 00021C 5850 C4C4 004C4 311 L R5,BIMAX lim: R5:=BIMAX 000220 4180 0080 00080 312 LA R8,X'80' R8:=0x80 000224 41A0 0007 00007 313 LA R10,X'07' R10:=0x07 000228 41B0 0001 00001 314 LA R11,1 R11:=1 00022C 18F3 315 TBLLOOP LR R15,R3 i 00022E 14FA 316 NR R15,R10 i&0x7 000230 1818 317 LR R1,R8 0x80 000232 8810 F000 00000 318 SRL R1,0(R15) 0x80>>(i&0x7) 000236 18F3 319 LR R15,R3 i 000238 88F0 0003 00003 320 SRL R15,3 i>>3 00023C 430F 9000 00000 321 IC R0,0(R15,R9) prime[i>>3] 000240 1401 322 NR R0,R1 prime[i>>3] & (1<<(i&0x7)) 000242 4780 C248 00248 323 BE NOPRIME if = not 000246 1A2B 324 AR R2,R11 np+= 1 000248 1937 325 NOPRIME CR R3,R7 test i != il 00024A 4770 C284 00284 326 BNE TBLLOOPC 00024E 1867 327 LR R6,R7 nl=il 000250 8B60 0001 00001 328 SLA R6,1 nl=2*il 000254 5A60 C500 00500 329 A R6,=F'2' nl=2+2*il 330 * 000258 5810 C4DC 004DC 331 L R1,MSGPI 00025C 45E0 C312 00312 332 BAL R14,OTEXT print "pi(...." 000260 1816 333 LR R1,R6 000262 45E0 C3D0 003D0 334 BAL R14,OINT10 print nl 000266 5810 C4E0 004E0 335 L R1,MSGPISEP 00026A 45E0 C312 00312 336 BAL R14,OTEXT print "):..." 00026E 1812 337 LR R1,R2 000270 45E0 C3D0 003D0 338 BAL R14,OINT10 print np 000274 45E0 C340 00340 339 BAL R14,OPUTLINE write line 340 * 000278 1817 341 LR R1,R7 R1:=il 00027A 1A1B 342 AR R1,R11 R1:=il+1 00027C 5C00 C4E8 004E8 343 M R0,=F'10' R1:=10*(il+1) 000280 1B1B 344 SR R1,R11 R1:=10*(il+1)-1 000282 1871 345 LR R7,R1 update il 346 * 00284 347 TBLLOOPC EQU * 000284 8734 C22C 0022C 348 BXLE R3,R4,TBLLOOP 349 * 000288 5960 C4BC 004BC 350 C R6,NMAX is nl != nmax ? 00028C 4780 C2B2 002B2 351 BE TBLNOTR if = not, skip extra summary 352 * 000290 5810 C4DC 004DC 353 L R1,MSGPI 000294 45E0 C312 00312 354 BAL R14,OTEXT print "pi(...." 000298 5810 C4BC 004BC 355 L R1,NMAX 00029C 45E0 C3D0 003D0 356 BAL R14,OINT10 print nmax PAGE 8 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 0002A0 5810 C4E0 004E0 357 L R1,MSGPISEP 0002A4 45E0 C312 00312 358 BAL R14,OTEXT print "):..." 0002A8 1812 359 LR R1,R2 0002AA 45E0 C3D0 003D0 360 BAL R14,OINT10 print np 0002AE 45E0 C340 00340 361 BAL R14,OPUTLINE write line 362 * 002B2 363 TBLNOTR EQU * 364 * 365 * close datasets and return to OS ------------------------------------- 366 * 367 EXIT CLOSE SYSPRINT close SYSPRINT 373 CLOSE SYSIN close SYSIN 0002CA 58D0 C474 00474 379 L R13,SAVE+4 get old save area back 0002CE 5800 C4B8 004B8 380 L R0,RC get return code 0002D2 500D 0010 00010 381 ST R0,16(R13) store in old save R15 382 RETURN (14,12) return to OS (will setup RC) 385 * 386 * include simple output system ---------------------------------------- 387 * 388 * simple output system procedures ------------------------------------- 389 * calling and register convention: 390 * R1 holds value (or descriptor pointer) 391 * R0,R1 may be modified 392 * R14,R15 may be modified 393 * R2-R11 are not changed 394 * 395 * in short 396 * R1 holds input or output value (or pointer) 397 * call with BAL R14, 398 * 399 * OSKIP02 -------------------------------------------------- 400 * add 2 blanks 401 * 0002DC 4110 0002 00002 402 OSKIP02 LA R1,2 403 * 404 * OSKIP ---------------------------------------------------- 405 * add blanks, count in R1 406 * 0002E0 5A10 C3A4 003A4 407 OSKIP A R1,OLPTR new edit position 0002E4 5010 C3A4 003A4 408 ST R1,OLPTR store pointer 0002E8 07FE 409 BR R14 410 * 411 * OTAB ---------------------------------------------------- 412 * set output column, position in R1 413 * 0002EA 5A10 C504 00504 414 OTAB A R1,=A(OLBUF+1) new edit position 0002EE 5010 C3A4 003A4 415 ST R1,OLPTR store pointer 0002F2 07FE 416 BR R14 417 * 418 * OSFILL --------------------------------------------------- 419 * add " ***" pattern, total length in R1 420 * 0002F4 58F0 C3A4 003A4 421 OSFILL L R15,OLPTR R15 points to edit position 0002F8 9240 F000 00000 422 MVI 0(R15),C' ' initial blank 0002FC 47F0 C304 00304 423 B OSFILLN PAGE 9 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 000300 925C F000 00000 424 OSFILLL MVI 0(R15),C'*' further '*' 000304 41FF 0001 00001 425 OSFILLN LA R15,1(R15) 000308 4610 C300 00300 426 BCT R1,OSFILLL 00030C 50F0 C3A4 003A4 427 ST R15,OLPTR store pointer 000310 07FE 428 BR R14 429 * 430 * OTEXT ---------------------------------------------------- 431 * print text, R1 hold descriptor address 432 * descriptor format 433 * DC AL1() 434 * DC AL2(
) 435 * 000312 50E0 C33C 0033C 436 OTEXT ST R14,OTEXTL save R14 000316 18E1 437 LR R14,R1 000318 88E0 0018 00018 438 SRL R14,24 R14 now string length 00031C 58F0 C3A4 003A4 439 L R15,OLPTR R15 points to edit position 000320 180F 440 LR R0,R15 R0 too 000322 1A0E 441 AR R0,R14 push pointer, add length 000324 5000 C3A4 003A4 442 ST R0,OLPTR store pointer 000328 06E0 443 BCTR R14,0 decrement length for EX 00032A 44E0 C334 00334 444 EX R14,OTEXTMVC copy string via EX:MVC 00032E 58E0 C33C 0033C 445 L R14,OTEXTL restore R14 linkage 000332 07FE 446 BR R14 447 * 000334 D200 F000 1000 00000 00000 448 OTEXTMVC MVC 0(1,R15),0(R1) length via EX, dst R15, src R1 00033C 449 OTEXTL DS F save area for R14 (return linkage) 450 * 451 * OPUTLINE ------------------------------------------------- 452 * write line to SYSPRINT 453 * 000340 50E0 C3A0 003A0 454 OPUTLINE ST R14,OPUTLNEL save R14 000344 58F0 C508 00508 455 L R15,=A(OLBUF) 000348 9500 F085 00085 456 CLI 133(R15),X'00' check fence byte 00034C 4770 C39A 0039A 457 BNE OPUTLNEA crash if fence blown 000350 5810 C50C 0050C 458 L R1,=A(SYSPRINT) R1 point to DCB 000354 180F 459 LR R0,R15 R1 point to buffer 460 PUT (1),(0) write line 00035C 58F0 C508 00508 463 L R15,=A(OLBUF) point to CC of OLBUF 000360 9240 F000 00000 464 MVI 0(R15),C' ' blank OLBUF(0) 000364 D283 F001 F000 00001 00000 465 MVC 1(L'OLBUF-1,R15),0(R15) propagate blank 00036A 41FF 0001 00001 466 LA R15,1(R15) point to 1st print char in OLBUF 00036E 50F0 C3A4 003A4 467 ST R15,OLPTR reset current position pointer 000372 41F0 0001 00001 468 LA R15,1 000376 4AF0 C3A8 003A8 469 AH R15,OLCNT increment line counter 00037A 40F0 C3A8 003A8 470 STH R15,OLCNT 00037E 4BF0 C3AA 003AA 471 SH R15,OLMAX R15 := OLCNT-OLMAX 000382 4740 C394 00394 472 BL OPUTLNES if < no new page 000386 17FF 473 XR R15,R15 R15 := 0 000388 40F0 C3A8 003A8 474 STH R15,OLCNT clear line counter 00038C 58F0 C508 00508 475 L R15,=A(OLBUF) point to CC of OLBUF 000390 92F1 F000 00000 476 MVI 0(R15),C'1' set new page CC in OLBUF 000394 58E0 C3A0 003A0 477 OPUTLNES L R14,OPUTLNEL restore R14 linkage 000398 07FE 478 BR R14 479 * 480 OPUTLNEA ABEND 255 abend in case of errors PAGE 10 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 484 * 0003A0 485 OPUTLNEL DS F save area for R14 (return linkage) 486 * 487 * Work area for simple output system ------------------------ 488 * 0003A4 00000581 489 OLPTR DC A(OLBUF+1) current output line position 0003A8 0000 490 OLCNT DC H'0' line counter 0003AA 003C 491 OLMAX DC H'60' lines per page 0003B0 492 OCVD DS D buffer for CVD (8 byte, DW aligned) 493 * 0003B8 494 ODTEMP DS D double buffer for conversions 0003C0 4E00000000000000 495 ODNZERO DC X'4E000000',X'00000000' denormalized double zero 0003C8 4E00000000000001 496 ODNONE DC X'4E000000',X'00000001' denormalized double one 497 * 498 * DCB and OLBUF in separate CSECT 499 * 000520 500 SIOSDATA CSECT 000520 501 DS 0F 502 SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT, X RECFM=FBA,LRECL=133,BLKSIZE=0 000580 4040404040404040 556 OLBUF DC CL133' ',X'00' output line buffer and fence byte 557 * 0003D0 558 MAIN CSECT 559 * 560 * OINT10 --------------------------------------------------- 561 * print integer, like PL/I F(10) or C %10d format 562 * very fast, for non-negative numbers only ! 563 * 0003D0 5510 C510 00510 564 OINT10 CL R1,=F'999999999' too large ? 0003D4 4720 C3F6 003F6 565 BH OINT10F if > yes, do OSFILL 0003D8 4E10 C3B0 003B0 566 CVD R1,OCVD convert 0003DC 58F0 C3A4 003A4 567 L R15,OLPTR R15 points to edit position 0003E0 D209 F000 C3FE 00000 003FE 568 MVC 0(OEI10L,R15),OEI10 setup pattern 0003E6 DE09 F000 C3B3 00000 003B3 569 ED 0(OEI10L,R15),OCVD+3 and edit 0003EC 41FF 000A 0000A 570 LA R15,OEI10L(R15) push pointer 0003F0 50F0 C3A4 003A4 571 ST R15,OLPTR store pointer 0003F4 07FE 572 BR R14 573 * 0003F6 4110 000A 0000A 574 OINT10F LA R1,10 0003FA 47F0 C2F4 002F4 575 B OSFILL 576 * 0003FE 4020202020202020 577 OEI10 DC C' ',7X'20',X'21',X'20' pat: bddddddd(d 0000A 578 OEI10L EQU *-OEI10 579 * include simple input system ----------------------------------------- 580 * 581 * simple input system procedures -------------------------------------- 582 * calling and register convention: 583 * R1 holds value (or descriptor pointer) 584 * R0,R1 may be modified 585 * R14,R15 may be modified 586 * R2-R11 are not changed 587 * 588 * in short 589 * R1 holds input or output value (or pointer) 590 * call with BAL R14, PAGE 11 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 591 * 592 * IGETLINE ------------------------------------------------- 593 * read line from SYSIN 594 * EOF handling: 595 * - IEOFOK holds the 'EOF OK' flag 596 * - if EOF seen and IEOFOK = X'00', program ends with RC=8 597 * - if EOF seen and IEOFOK != X'00', program ends with RC=0 598 * 000408 50E0 C428 00428 599 IGETLINE ST R14,IGETLNEL save R14 00040C 5810 C514 00514 600 L R1,=A(SYSIN) 000410 5800 C518 00518 601 L R0,=A(ILBUF) 602 GET (1),(0) read line 00041A 5800 C518 00518 605 L R0,=A(ILBUF) 00041E 5000 C444 00444 606 ST R0,ILPTR set input ptr to begin of line 000422 58E0 C428 00428 607 L R14,IGETLNEL restore R14 linkage 000426 07FE 608 BR R14 609 * 000428 610 IGETLNEL DS F save area for R14 (return linkage) 611 * 612 * IEOFHDL -------------------------------------------------- 613 * EODAD call-back routine. R2-R13 are preserved. R0,R1,R14,R15 are, 614 * modified, with R14 holding address of calling macro. So code 615 * executes in the same environment as prior to the GET call, 616 * especially base registers are kept. 617 * 00042C 58F0 C44C 0044C 618 IEOFHDL L R15,IEOFEXIT load user exit address 000430 12FF 619 LTR R15,R15 test address 000432 077F 620 BNER R15 if !=, use user exit 000434 41E0 C2B4 002B4 621 LA R14,EXIT 000438 9500 C448 00448 622 CLI IEOFOK,X'00' is EOF ok ? 00043C 077E 623 BNER R14 if != yes, jump to EXIT 00043E 9208 C4BB 004BB 624 MVI RC+3,X'08' otherwise set RC=8 000442 07FE 625 BR R14 and jump to EXIT 626 * 627 * Work area for simple output system ------------------------ 628 * 000444 00000668 629 ILPTR DC A(ILBUF) current input line position 000448 630 IEOFOK DS X'00' EOF ok flag 00044C 631 IEOFEXIT DS F'0' user exit address (if != 0) 000450 632 ICVB DS D buffer for CVB (8 byte, DW aligned) 633 * 634 * DCB and OLBUF in separate CSECT 635 * 000606 636 SIOSDATA CSECT 000608 637 DS 0F 638 SYSIN DCB DSORG=PS,MACRF=GM,DDNAME=SYSIN,EODAD=IEOFHDL X RECFM=FB,LRECL=80,BLKSIZE=0 000668 4040404040404040 692 ILBUF DC CL80' ' input line buffer 000458 693 MAIN CSECT 694 * 695 * IINT10 --------------------------------------------------- 696 * read integer, like PL/I F(10) or C %10d format 697 * 000458 58F0 C444 00444 698 IINT10 L R15,ILPTR get input pointer 00045C F279 C450 F000 00450 00000 699 PACK ICVB(8),0(10,R15) pack next 10 char PAGE 12 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 11.38 10/21/18 000462 4F10 C450 00450 700 CVB R1,ICVB and convert 000466 41FF 000A 0000A 701 LA R15,10(R15) push pointer by 10 char 00046A 50F0 C444 00444 702 ST R15,ILPTR and update 00046E 07FE 703 BR R14 704 * 705 * Work area definitions ----------------------------------------------- 706 * 000470 707 SAVE DS 18F local save area 0004B8 00000000 708 RC DC F'0' return code 0004BC 00989680 709 NMAX DC F'10000000' highest prime to search for 0004C0 710 NMSQRT DS F sqrt(NMAX) 0004C4 711 BIMAX DS F highest prime array bit index 0004C8 712 WIMAX DS F highest prime array word index 0004CC 713 PRIME DS F prime array pointer 0004D0 00 714 PRNT DC X'00' print enable flag 0004D1 00 715 CHOPAT DC FL1'0' chop flag 716 * 717 * message strings 718 * 719 MSGPERR OTXTDSC C'NMAX must be >= 10 and <= 100000000, abort' 725 MSGLIST OTXTDSC C'List of Primes up to ' 731 MSGPI OTXTDSC C'pi(' 737 MSGPISEP OTXTDSC C'): ' 743 * 744 * spill literal pool 745 * 0004E8 746 LTORG 0004E8 0000000A 747 =F'10' 0004EC 05F5E100 748 =F'100000000' 0004F0 00000001 749 =F'1' 0004F4 00000007 750 =F'7' 0004F8 FF000000 751 =X'FF000000' 0004FC FFFFFF7F 752 =X'FFFFFF7F' 000500 00000002 753 =F'2' 000504 00000581 754 =A(OLBUF+1) 000508 00000580 755 =A(OLBUF) 00050C 00000520 756 =A(SYSPRINT) 000510 3B9AC9FF 757 =F'999999999' 000514 00000608 758 =A(SYSIN) 000518 00000668 759 =A(ILBUF) 760 * 761 * other defs and end 762 * 763 YREGS , 000000 782 END MAIN define main entry point RELOCATION DICTIONARY PAGE 13 POS.ID REL.ID FLAGS ADDRESS ASM 0201 11.38 10/21/18 0001 0002 08 000019 0001 0002 08 000031 0001 0002 08 0002B9 0001 0002 08 0002C5 0001 0002 0C 0003A4 0001 0002 0C 000444 0001 0002 0C 000504 0001 0002 0C 000508 0001 0002 0C 00050C 0001 0002 0C 000514 0001 0002 0C 000518 0001 0003 08 0004D5 0001 0003 08 0004D9 0001 0003 08 0004DD 0001 0003 08 0004E1 0002 0001 08 000629 CROSS-REFERENCE PAGE 14 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 11.38 10/21/18 BIMAX 00004 000004C4 00711 00146 00203 00263 00311 CHOPAT 00001 000004D1 00715 00174 00237 EXIT 00004 000002B4 00369 00073 00083 00103 00175 00238 00621 ICVB 00008 00000450 00632 00699 00700 IEOFEXIT 00004 0000044C 00631 00618 IEOFHDL 00004 0000042C 00618 00660 IEOFOK 00001 00000448 00630 00622 IGETLINE 00004 00000408 00599 00088 IGETLNEL 00004 00000428 00610 00599 00607 IHB0006F 00001 000000F0 00156 00161 IINT10 00004 00000458 00698 00089 00091 ILBUF 00080 00000668 00692 00629 00759 ILPTR 00004 00000444 00629 00606 00698 00702 IOPENOK 00001 00000044 00084 00081 MAIN 00001 00000000 00051 00056 00558 00693 00722 00728 00734 00740 00782 MSGLIST 00001 000004D8 00730 00252 MSGPERR 00001 000004D4 00724 00099 MSGPI 00001 000004DC 00736 00331 00353 MSGPISEP 00001 000004E0 00742 00335 00357 NMAX 00004 000004BC 00709 00090 00094 00115 00124 00143 00254 00350 00355 NMAXBAD 00004 0000006C 00099 00096 NMAXOK 00001 00000080 00104 00098 NMSQRT 00004 000004C0 00710 00140 00202 NMSQRTGO 00002 000000AE 00129 00127 NMSQRTHI 00002 000000AC 00128 00123 00125 NMSQRTLP 00002 0000008C 00117 00134 NMSQRTOK 00001 000000C6 00139 00133 NOPRIME 00002 00000248 00325 00323 NOPRNT 00001 00000208 00291 00251 00289 OCVD 00008 000003B0 00492 00566 00569 OEI10 00001 000003FE 00577 00568 00578 OEI10L 00001 0000000A 00578 00568 00569 00570 OINT10 00004 000003D0 00564 00255 00259 00279 00334 00338 00356 00360 OINT10F 00004 000003F6 00574 00565 OLBUF 00133 00000580 00556 00465 00489 00754 00755 OLCNT 00002 000003A8 00490 00469 00470 00474 OLMAX 00002 000003AA 00491 00471 OLPTR 00004 000003A4 00489 00407 00408 00415 00421 00427 00439 00442 00467 00567 00571 OOPENOK 00004 0000002C 00076 00071 OPUTLINE 00004 00000340 00454 00101 00256 00283 00290 00339 00361 OPUTLNEA 00002 0000039A 00481 00457 OPUTLNEL 00004 000003A0 00485 00454 00477 OPUTLNES 00004 00000394 00477 00472 OSFILL 00004 000002F4 00421 00575 OSFILLL 00004 00000300 00424 00426 OSFILLN 00004 00000304 00425 00423 OTEXT 00004 00000312 00436 00100 00253 00332 00336 00354 00358 OTEXTL 00004 0000033C 00449 00436 00445 OTEXTMVC 00006 00000334 00448 00444 PRIME 00004 000004CC 00713 00164 PRNT 00001 000004D0 00714 00092 00250 PRTLOOP 00002 000001C4 00267 00286 PRTLOOPC 00001 000001FA 00285 00275 00282 RC 00004 000004B8 00708 00072 00082 00102 00380 00624 R0 00001 00000000 00765 00220 00230 00231 00232 00273 00274 00321 00322 00343 00380 00381 00440 00441 00442 00459 CROSS-REFERENCE PAGE 15 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 11.38 10/21/18 00601 00605 00606 R1 00001 00000001 00766 00090 00092 00094 00095 00097 00099 00131 00164 00165 00168 00212 00213 00216 00219 00221 00226 00227 00231 00252 00254 00258 00269 00270 00274 00276 00277 00278 00317 00318 00322 00331 00333 00335 00337 00341 00342 00344 00345 00353 00355 00357 00359 00402 00407 00408 00414 00415 00426 00437 00448 00458 00564 00566 00574 00600 00700 R10 00001 0000000A 00775 00205 00211 00225 00265 00268 00313 00316 R11 00001 0000000B 00776 00206 00226 00266 00278 00280 00314 00324 00342 00344 R12 00001 0000000C 00777 00055 00056 R13 00001 0000000D 00778 00057 00058 00059 00060 00379 00381 R14 00001 0000000E 00779 00088 00089 00091 00100 00101 00253 00255 00256 00259 00279 00283 00290 00332 00334 00336 00338 00339 00354 00356 00358 00360 00361 00409 00416 00428 00436 00437 00438 00441 00443 00444 00445 00446 00454 00477 00478 00572 00599 00607 00608 00621 00623 00625 00703 R15 00001 0000000F 00780 00055 00070 00070 00080 00080 00210 00211 00213 00315 00316 00318 00319 00320 00321 00421 00422 00424 00425 00425 00427 00439 00440 00448 00455 00456 00459 00463 00464 00465 00465 00466 00466 00467 00468 00469 00470 00471 00473 00473 00474 00475 00476 00567 00568 00569 00570 00570 00571 00618 00619 00619 00620 00698 00699 00701 00701 00702 R2 00001 00000002 00767 00058 00060 00121 00122 00122 00143 00144 00145 00146 00147 00148 00149 00150 00208 00209 00210 00214 00215 00215 00216 00224 00225 00227 00228 00229 00230 00232 00260 00280 00281 00284 00284 00288 00288 00306 00324 00337 00359 R3 00001 00000003 00768 00120 00124 00221 00222 00224 00228 00233 00261 00267 00271 00276 00286 00309 00315 00319 00325 00348 R4 00001 00000004 00769 00114 00117 00126 00130 00140 00168 00172 00201 00235 00262 00286 00310 00348 R5 00001 00000005 00770 00115 00118 00128 00129 00150 00151 00202 00263 00311 R6 00001 00000006 00771 00116 00131 00134 00170 00170 00172 00200 00208 00219 00220 00233 00235 00267 00268 00270 00271 00272 00273 00308 00327 00328 00329 00333 00350 R7 00001 00000007 00772 00117 00118 00119 00120 00121 00126 00128 00171 00203 00307 00325 00327 00341 00345 R8 00001 00000008 00773 00129 00130 00132 00204 00212 00264 00269 00312 00317 R9 00001 00000009 00774 00165 00215 00230 00232 00273 00321 SAVE 00004 00000470 00707 00057 00059 00379 SIEVI 00002 0000015A 00224 00233 SIEVO 00002 00000132 00208 00235 SIEVOC 00004 00000178 00235 00217 SIOSDATA 00001 00000520 00500 00636 SPTR0020 00042 000006B8 00721 00724 00724 SPTR0021 00021 000006E2 00727 00730 00730 SPTR0022 00003 000006F7 00733 00736 00736 SPTR0023 00003 000006FA 00739 00742 00742 SYSIN 00004 00000608 00642 00078 00377 00758 SYSPRINT 00004 00000520 00506 00068 00371 00756 TBLLOOP 00002 0000022C 00315 00348 TBLLOOPC 00001 00000284 00347 00326 TBLNOTR 00001 000002B2 00363 00351 TEXT 00001 000006B8 00720 00726 00732 00738 WIMAX 00004 000004C8 00712 00149 LITERAL CROSS-REFERENCE PAGE 16 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 11.38 10/21/18 =F'10' 00004 000004E8 00747 00095 00281 00343 =F'100000000' 00004 000004EC 00748 00097 =F'1' 00004 000004F0 00749 00132 00151 =F'7' 00004 000004F4 00750 00147 =X'FF000000' 00004 000004F8 00751 00171 =X'FFFFFF7F' 00004 000004FC 00752 00206 =F'2' 00004 00000500 00753 00329 =A(OLBUF+1) 00004 00000504 00754 00414 =A(OLBUF) 00004 00000508 00755 00455 00463 00475 =A(SYSPRINT) 00004 0000050C 00756 00458 =F'999999999' 00004 00000510 00757 00564 =A(SYSIN) 00004 00000514 00758 00600 =A(ILBUF) 00004 00000518 00759 00601 00605 ASSEMBLER DIAGNOSTICS AND STATISTICS PAGE 17 ASM 0201 11.38 10/21/18 NO STATEMENTS FLAGGED IN THIS ASSEMBLY HIGHEST SEVERITY WAS 0 OPTIONS FOR THIS ASSEMBLY ALIGN, ALOGIC, BUFSIZE(STD), NODECK, ESD, FLAG(0), LINECOUNT(55), LIST, NOMCALL, YFLAG, WORKSIZE(2097152) NOMLOGIC, NONUMBER, OBJECT, NORENT, RLD, NOSTMT, NOLIBMAC, NOTERMINAL, NOTEST, XREF(SHORT) SYSPARM() WORK FILE BUFFER SIZE/NUMBER = 8702/ 1 TOTAL RECORDS READ FROM SYSTEM INPUT 582 TOTAL RECORDS READ FROM SYSTEM LIBRARY 3778 TOTAL RECORDS PUNCHED 47 TOTAL RECORDS PRINTED 781 F64-LEVEL LINKAGE EDITOR OPTIONS SPECIFIED MAP,LIST,LET,NCAL DEFAULT OPTION(S) USED - SIZE=(98304,55296) MODULE MAP CONTROL SECTION ENTRY NAME ORIGIN LENGTH NAME LOCATION NAME LOCATION NAME LOCATION NAME LOCATION MAIN 00 51C SIOSDATA 520 198 TEXT 6B8 45 ENTRY ADDRESS 00 TOTAL LENGTH 700 ****GO DOES NOT EXIST BUT HAS BEEN ADDED TO DATA SET AUTHORIZATION CODE IS 0. List of Primes up to 100000 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997 1009 1013 1019 1021 1031 1033 1039 1049 1051 1061 1063 1069 1087 1091 1093 1097 1103 1109 1117 1123 1129 1151 1153 1163 1171 1181 1187 1193 1201 1213 1217 1223 1229 1231 1237 1249 1259 1277 1279 1283 1289 1291 1297 1301 1303 1307 1319 1321 1327 1361 1367 1373 1381 1399 1409 1423 1427 1429 1433 1439 1447 1451 1453 1459 1471 1481 1483 1487 1489 1493 1499 1511 1523 1531 1543 1549 1553 1559 1567 1571 1579 1583 1597 1601 1607 1609 1613 1619 1621 1627 1637 1657 1663 1667 1669 1693 1697 1699 1709 1721 1723 1733 1741 1747 1753 1759 1777 1783 1787 1789 1801 1811 1823 1831 1847 1861 1867 1871 1873 1877 1879 1889 1901 1907 1913 1931 1933 1949 1951 1973 1979 1987 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053 2063 2069 2081 2083 2087 2089 2099 2111 2113 2129 2131 2137 2141 2143 2153 2161 2179 2203 2207 2213 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287 2293 2297 2309 2311 2333 2339 2341 2347 2351 2357 2371 2377 2381 2383 2389 2393 2399 2411 2417 2423 2437 2441 2447 2459 2467 2473 2477 2503 2521 2531 2539 2543 2549 2551 2557 2579 2591 2593 2609 2617 2621 2633 2647 2657 2659 2663 2671 2677 2683 2687 2689 2693 2699 2707 2711 2713 2719 2729 2731 2741 2749 2753 2767 2777 2789 2791 2797 2801 2803 2819 2833 2837 2843 2851 2857 2861 2879 2887 2897 2903 2909 2917 2927 2939 2953 2957 2963 2969 2971 2999 3001 3011 3019 3023 3037 3041 3049 3061 3067 3079 3083 3089 3109 3119 3121 3137 3163 3167 3169 3181 3187 3191 3203 3209 3217 3221 3229 3251 3253 3257 3259 3271 3299 3301 3307 3313 3319 3323 3329 3331 3343 3347 3359 3361 3371 3373 3389 3391 3407 3413 3433 3449 3457 3461 3463 3467 3469 3491 3499 3511 3517 3527 3529 3533 3539 3541 3547 3557 3559 3571 3581 3583 3593 3607 3613 3617 3623 3631 3637 3643 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727 3733 3739 3761 3767 3769 3779 3793 3797 3803 3821 3823 3833 3847 3851 3853 3863 3877 3881 3889 3907 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989 4001 4003 4007 4013 4019 4021 4027 4049 4051 4057 4073 4079 4091 4093 4099 4111 4127 4129 4133 4139 4153 4157 4159 4177 4201 4211 4217 4219 4229 4231 4241 4243 4253 4259 4261 4271 4273 4283 4289 4297 4327 4337 4339 4349 4357 4363 4373 4391 4397 4409 4421 4423 4441 4447 4451 4457 4463 4481 4483 4493 4507 4513 4517 4519 4523 4547 4549 4561 4567 4583 4591 4597 4603 4621 4637 4639 4643 4649 4651 4657 4663 4673 4679 4691 4703 4721 4723 4729 4733 4751 4759 4783 4787 4789 4793 4799 4801 4813 4817 4831 4861 4871 4877 4889 4903 4909 4919 4931 4933 4937 4943 4951 4957 4967 4969 4973 4987 4993 4999 5003 5009 5011 5021 5023 5039 5051 5059 5077 5081 5087 5099 5101 5107 5113 5119 5147 5153 5167 5171 5179 5189 5197 5209 5227 5231 5233 5237 5261 5273 5279 5281 5297 5303 5309 5323 5333 5347 5351 5381 5387 5393 5399 5407 5413 5417 5419 5431 5437 5441 5443 5449 5471 5477 5479 5483 5501 5503 5507 5519 5521 5527 5531 5557 5563 5569 5573 5581 5591 5623 5639 5641 5647 5651 5653 5657 5659 5669 5683 5689 5693 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791 5801 5807 5813 5821 5827 5839 5843 5849 5851 5857 5861 5867 5869 5879 5881 5897 5903 5923 5927 5939 5953 5981 5987 6007 6011 6029 6037 6043 6047 6053 6067 6073 6079 6089 6091 6101 6113 6121 6131 6133 6143 6151 6163 6173 6197 6199 6203 6211 6217 6221 6229 6247 6257 6263 6269 6271 6277 6287 6299 6301 6311 6317 6323 6329 6337 6343 6353 6359 6361 6367 6373 6379 6389 6397 6421 6427 6449 6451 6469 6473 6481 6491 6521 6529 6547 6551 6553 6563 6569 6571 6577 6581 6599 6607 6619 6637 6653 6659 6661 6673 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761 6763 6779 6781 6791 6793 6803 6823 6827 6829 6833 6841 6857 6863 6869 6871 6883 6899 6907 6911 6917 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997 7001 7013 7019 7027 7039 7043 7057 7069 7079 7103 7109 7121 7127 7129 7151 7159 7177 7187 7193 7207 7211 7213 7219 7229 7237 7243 7247 7253 7283 7297 7307 7309 7321 7331 7333 7349 7351 7369 7393 7411 7417 7433 7451 7457 7459 7477 7481 7487 7489 7499 7507 7517 7523 7529 7537 7541 7547 7549 7559 7561 7573 7577 7583 7589 7591 7603 7607 7621 7639 7643 7649 7669 7673 7681 7687 7691 7699 7703 7717 7723 7727 7741 7753 7757 7759 7789 7793 7817 7823 7829 7841 7853 7867 7873 7877 7879 7883 7901 7907 7919 7927 7933 7937 7949 7951 7963 7993 8009 8011 8017 8039 8053 8059 8069 8081 8087 8089 8093 8101 8111 8117 8123 8147 8161 8167 8171 8179 8191 8209 8219 8221 8231 8233 8237 8243 8263 8269 8273 8287 8291 8293 8297 8311 8317 8329 8353 8363 8369 8377 8387 8389 8419 8423 8429 8431 8443 8447 8461 8467 8501 8513 8521 8527 8537 8539 8543 8563 8573 8581 8597 8599 8609 8623 8627 8629 8641 8647 8663 8669 8677 8681 8689 8693 8699 8707 8713 8719 8731 8737 8741 8747 8753 8761 8779 8783 8803 8807 8819 8821 8831 8837 8839 8849 8861 8863 8867 8887 8893 8923 8929 8933 8941 8951 8963 8969 8971 8999 9001 9007 9011 9013 9029 9041 9043 9049 9059 9067 9091 9103 9109 9127 9133 9137 9151 9157 9161 9173 9181 9187 9199 9203 9209 9221 9227 9239 9241 9257 9277 9281 9283 9293 9311 9319 9323 9337 9341 9343 9349 9371 9377 9391 9397 9403 9413 9419 9421 9431 9433 9437 9439 9461 9463 9467 9473 9479 9491 9497 9511 9521 9533 9539 9547 9551 9587 9601 9613 9619 9623 9629 9631 9643 9649 9661 9677 9679 9689 9697 9719 9721 9733 9739 9743 9749 9767 9769 9781 9787 9791 9803 9811 9817 9829 9833 9839 9851 9857 9859 9871 9883 9887 9901 9907 9923 9929 9931 9941 9949 9967 9973 10007 10009 10037 10039 10061 10067 10069 10079 10091 10093 10099 10103 10111 10133 10139 10141 10151 10159 10163 10169 10177 10181 10193 10211 10223 10243 10247 10253 10259 10267 10271 10273 10289 10301 10303 10313 10321 10331 10333 10337 10343 10357 10369 10391 10399 10427 10429 10433 10453 10457 10459 10463 10477 10487 10499 10501 10513 10529 10531 10559 10567 10589 10597 10601 10607 10613 10627 10631 10639 10651 10657 10663 10667 10687 10691 10709 10711 10723 10729 10733 10739 10753 10771 10781 10789 10799 10831 10837 10847 10853 10859 10861 10867 10883 10889 10891 10903 10909 10937 10939 10949 10957 10973 10979 10987 10993 11003 11027 11047 11057 11059 11069 11071 11083 11087 11093 11113 11117 11119 11131 11149 11159 11161 11171 11173 11177 11197 11213 11239 11243 11251 11257 11261 11273 11279 11287 11299 11311 11317 11321 11329 11351 11353 11369 11383 11393 11399 11411 11423 11437 11443 11447 11467 11471 11483 11489 11491 11497 11503 11519 11527 11549 11551 11579 11587 11593 11597 11617 11621 11633 11657 11677 11681 11689 11699 11701 11717 11719 11731 11743 11777 11779 11783 11789 11801 11807 11813 11821 11827 11831 11833 11839 11863 11867 11887 11897 11903 11909 11923 11927 11933 11939 11941 11953 11959 11969 11971 11981 11987 12007 12011 12037 12041 12043 12049 12071 12073 12097 12101 12107 12109 12113 12119 12143 12149 12157 12161 12163 12197 12203 12211 12227 12239 12241 12251 12253 12263 12269 12277 12281 12289 12301 12323 12329 12343 12347 12373 12377 12379 12391 12401 12409 12413 12421 12433 12437 12451 12457 12473 12479 12487 12491 12497 12503 12511 12517 12527 12539 12541 12547 12553 12569 12577 12583 12589 12601 12611 12613 12619 12637 12641 12647 12653 12659 12671 12689 12697 12703 12713 12721 12739 12743 12757 12763 12781 12791 12799 12809 12821 12823 12829 12841 12853 12889 12893 12899 12907 12911 12917 12919 12923 12941 12953 12959 12967 12973 12979 12983 13001 13003 13007 13009 13033 13037 13043 13049 13063 13093 13099 13103 13109 13121 13127 13147 13151 13159 13163 13171 13177 13183 13187 13217 13219 13229 13241 13249 13259 13267 13291 13297 13309 13313 13327 13331 13337 13339 13367 13381 13397 13399 13411 13417 13421 13441 13451 13457 13463 13469 13477 13487 13499 13513 13523 13537 13553 13567 13577 13591 13597 13613 13619 13627 13633 13649 13669 13679 13681 13687 13691 13693 13697 13709 13711 13721 13723 13729 13751 13757 13759 13763 13781 13789 13799 13807 13829 13831 13841 13859 13873 13877 13879 13883 13901 13903 13907 13913 13921 13931 13933 13963 13967 13997 13999 14009 14011 14029 14033 14051 14057 14071 14081 14083 14087 14107 14143 14149 14153 14159 14173 14177 14197 14207 14221 14243 14249 14251 14281 14293 14303 14321 14323 14327 14341 14347 14369 14387 14389 14401 14407 14411 14419 14423 14431 14437 14447 14449 14461 14479 14489 14503 14519 14533 14537 14543 14549 14551 14557 14561 14563 14591 14593 14621 14627 14629 14633 14639 14653 14657 14669 14683 14699 14713 14717 14723 14731 14737 14741 14747 14753 14759 14767 14771 14779 14783 14797 14813 14821 14827 14831 14843 14851 14867 14869 14879 14887 14891 14897 14923 14929 14939 14947 14951 14957 14969 14983 15013 15017 15031 15053 15061 15073 15077 15083 15091 15101 15107 15121 15131 15137 15139 15149 15161 15173 15187 15193 15199 15217 15227 15233 15241 15259 15263 15269 15271 15277 15287 15289 15299 15307 15313 15319 15329 15331 15349 15359 15361 15373 15377 15383 15391 15401 15413 15427 15439 15443 15451 15461 15467 15473 15493 15497 15511 15527 15541 15551 15559 15569 15581 15583 15601 15607 15619 15629 15641 15643 15647 15649 15661 15667 15671 15679 15683 15727 15731 15733 15737 15739 15749 15761 15767 15773 15787 15791 15797 15803 15809 15817 15823 15859 15877 15881 15887 15889 15901 15907 15913 15919 15923 15937 15959 15971 15973 15991 16001 16007 16033 16057 16061 16063 16067 16069 16073 16087 16091 16097 16103 16111 16127 16139 16141 16183 16187 16189 16193 16217 16223 16229 16231 16249 16253 16267 16273 16301 16319 16333 16339 16349 16361 16363 16369 16381 16411 16417 16421 16427 16433 16447 16451 16453 16477 16481 16487 16493 16519 16529 16547 16553 16561 16567 16573 16603 16607 16619 16631 16633 16649 16651 16657 16661 16673 16691 16693 16699 16703 16729 16741 16747 16759 16763 16787 16811 16823 16829 16831 16843 16871 16879 16883 16889 16901 16903 16921 16927 16931 16937 16943 16963 16979 16981 16987 16993 17011 17021 17027 17029 17033 17041 17047 17053 17077 17093 17099 17107 17117 17123 17137 17159 17167 17183 17189 17191 17203 17207 17209 17231 17239 17257 17291 17293 17299 17317 17321 17327 17333 17341 17351 17359 17377 17383 17387 17389 17393 17401 17417 17419 17431 17443 17449 17467 17471 17477 17483 17489 17491 17497 17509 17519 17539 17551 17569 17573 17579 17581 17597 17599 17609 17623 17627 17657 17659 17669 17681 17683 17707 17713 17729 17737 17747 17749 17761 17783 17789 17791 17807 17827 17837 17839 17851 17863 17881 17891 17903 17909 17911 17921 17923 17929 17939 17957 17959 17971 17977 17981 17987 17989 18013 18041 18043 18047 18049 18059 18061 18077 18089 18097 18119 18121 18127 18131 18133 18143 18149 18169 18181 18191 18199 18211 18217 18223 18229 18233 18251 18253 18257 18269 18287 18289 18301 18307 18311 18313 18329 18341 18353 18367 18371 18379 18397 18401 18413 18427 18433 18439 18443 18451 18457 18461 18481 18493 18503 18517 18521 18523 18539 18541 18553 18583 18587 18593 18617 18637 18661 18671 18679 18691 18701 18713 18719 18731 18743 18749 18757 18773 18787 18793 18797 18803 18839 18859 18869 18899 18911 18913 18917 18919 18947 18959 18973 18979 19001 19009 19013 19031 19037 19051 19069 19073 19079 19081 19087 19121 19139 19141 19157 19163 19181 19183 19207 19211 19213 19219 19231 19237 19249 19259 19267 19273 19289 19301 19309 19319 19333 19373 19379 19381 19387 19391 19403 19417 19421 19423 19427 19429 19433 19441 19447 19457 19463 19469 19471 19477 19483 19489 19501 19507 19531 19541 19543 19553 19559 19571 19577 19583 19597 19603 19609 19661 19681 19687 19697 19699 19709 19717 19727 19739 19751 19753 19759 19763 19777 19793 19801 19813 19819 19841 19843 19853 19861 19867 19889 19891 19913 19919 19927 19937 19949 19961 19963 19973 19979 19991 19993 19997 20011 20021 20023 20029 20047 20051 20063 20071 20089 20101 20107 20113 20117 20123 20129 20143 20147 20149 20161 20173 20177 20183 20201 20219 20231 20233 20249 20261 20269 20287 20297 20323 20327 20333 20341 20347 20353 20357 20359 20369 20389 20393 20399 20407 20411 20431 20441 20443 20477 20479 20483 20507 20509 20521 20533 20543 20549 20551 20563 20593 20599 20611 20627 20639 20641 20663 20681 20693 20707 20717 20719 20731 20743 20747 20749 20753 20759 20771 20773 20789 20807 20809 20849 20857 20873 20879 20887 20897 20899 20903 20921 20929 20939 20947 20959 20963 20981 20983 21001 21011 21013 21017 21019 21023 21031 21059 21061 21067 21089 21101 21107 21121 21139 21143 21149 21157 21163 21169 21179 21187 21191 21193 21211 21221 21227 21247 21269 21277 21283 21313 21317 21319 21323 21341 21347 21377 21379 21383 21391 21397 21401 21407 21419 21433 21467 21481 21487 21491 21493 21499 21503 21517 21521 21523 21529 21557 21559 21563 21569 21577 21587 21589 21599 21601 21611 21613 21617 21647 21649 21661 21673 21683 21701 21713 21727 21737 21739 21751 21757 21767 21773 21787 21799 21803 21817 21821 21839 21841 21851 21859 21863 21871 21881 21893 21911 21929 21937 21943 21961 21977 21991 21997 22003 22013 22027 22031 22037 22039 22051 22063 22067 22073 22079 22091 22093 22109 22111 22123 22129 22133 22147 22153 22157 22159 22171 22189 22193 22229 22247 22259 22271 22273 22277 22279 22283 22291 22303 22307 22343 22349 22367 22369 22381 22391 22397 22409 22433 22441 22447 22453 22469 22481 22483 22501 22511 22531 22541 22543 22549 22567 22571 22573 22613 22619 22621 22637 22639 22643 22651 22669 22679 22691 22697 22699 22709 22717 22721 22727 22739 22741 22751 22769 22777 22783 22787 22807 22811 22817 22853 22859 22861 22871 22877 22901 22907 22921 22937 22943 22961 22963 22973 22993 23003 23011 23017 23021 23027 23029 23039 23041 23053 23057 23059 23063 23071 23081 23087 23099 23117 23131 23143 23159 23167 23173 23189 23197 23201 23203 23209 23227 23251 23269 23279 23291 23293 23297 23311 23321 23327 23333 23339 23357 23369 23371 23399 23417 23431 23447 23459 23473 23497 23509 23531 23537 23539 23549 23557 23561 23563 23567 23581 23593 23599 23603 23609 23623 23627 23629 23633 23663 23669 23671 23677 23687 23689 23719 23741 23743 23747 23753 23761 23767 23773 23789 23801 23813 23819 23827 23831 23833 23857 23869 23873 23879 23887 23893 23899 23909 23911 23917 23929 23957 23971 23977 23981 23993 24001 24007 24019 24023 24029 24043 24049 24061 24071 24077 24083 24091 24097 24103 24107 24109 24113 24121 24133 24137 24151 24169 24179 24181 24197 24203 24223 24229 24239 24247 24251 24281 24317 24329 24337 24359 24371 24373 24379 24391 24407 24413 24419 24421 24439 24443 24469 24473 24481 24499 24509 24517 24527 24533 24547 24551 24571 24593 24611 24623 24631 24659 24671 24677 24683 24691 24697 24709 24733 24749 24763 24767 24781 24793 24799 24809 24821 24841 24847 24851 24859 24877 24889 24907 24917 24919 24923 24943 24953 24967 24971 24977 24979 24989 25013 25031 25033 25037 25057 25073 25087 25097 25111 25117 25121 25127 25147 25153 25163 25169 25171 25183 25189 25219 25229 25237 25243 25247 25253 25261 25301 25303 25307 25309 25321 25339 25343 25349 25357 25367 25373 25391 25409 25411 25423 25439 25447 25453 25457 25463 25469 25471 25523 25537 25541 25561 25577 25579 25583 25589 25601 25603 25609 25621 25633 25639 25643 25657 25667 25673 25679 25693 25703 25717 25733 25741 25747 25759 25763 25771 25793 25799 25801 25819 25841 25847 25849 25867 25873 25889 25903 25913 25919 25931 25933 25939 25943 25951 25969 25981 25997 25999 26003 26017 26021 26029 26041 26053 26083 26099 26107 26111 26113 26119 26141 26153 26161 26171 26177 26183 26189 26203 26209 26227 26237 26249 26251 26261 26263 26267 26293 26297 26309 26317 26321 26339 26347 26357 26371 26387 26393 26399 26407 26417 26423 26431 26437 26449 26459 26479 26489 26497 26501 26513 26539 26557 26561 26573 26591 26597 26627 26633 26641 26647 26669 26681 26683 26687 26693 26699 26701 26711 26713 26717 26723 26729 26731 26737 26759 26777 26783 26801 26813 26821 26833 26839 26849 26861 26863 26879 26881 26891 26893 26903 26921 26927 26947 26951 26953 26959 26981 26987 26993 27011 27017 27031 27043 27059 27061 27067 27073 27077 27091 27103 27107 27109 27127 27143 27179 27191 27197 27211 27239 27241 27253 27259 27271 27277 27281 27283 27299 27329 27337 27361 27367 27397 27407 27409 27427 27431 27437 27449 27457 27479 27481 27487 27509 27527 27529 27539 27541 27551 27581 27583 27611 27617 27631 27647 27653 27673 27689 27691 27697 27701 27733 27737 27739 27743 27749 27751 27763 27767 27773 27779 27791 27793 27799 27803 27809 27817 27823 27827 27847 27851 27883 27893 27901 27917 27919 27941 27943 27947 27953 27961 27967 27983 27997 28001 28019 28027 28031 28051 28057 28069 28081 28087 28097 28099 28109 28111 28123 28151 28163 28181 28183 28201 28211 28219 28229 28277 28279 28283 28289 28297 28307 28309 28319 28349 28351 28387 28393 28403 28409 28411 28429 28433 28439 28447 28463 28477 28493 28499 28513 28517 28537 28541 28547 28549 28559 28571 28573 28579 28591 28597 28603 28607 28619 28621 28627 28631 28643 28649 28657 28661 28663 28669 28687 28697 28703 28711 28723 28729 28751 28753 28759 28771 28789 28793 28807 28813 28817 28837 28843 28859 28867 28871 28879 28901 28909 28921 28927 28933 28949 28961 28979 29009 29017 29021 29023 29027 29033 29059 29063 29077 29101 29123 29129 29131 29137 29147 29153 29167 29173 29179 29191 29201 29207 29209 29221 29231 29243 29251 29269 29287 29297 29303 29311 29327 29333 29339 29347 29363 29383 29387 29389 29399 29401 29411 29423 29429 29437 29443 29453 29473 29483 29501 29527 29531 29537 29567 29569 29573 29581 29587 29599 29611 29629 29633 29641 29663 29669 29671 29683 29717 29723 29741 29753 29759 29761 29789 29803 29819 29833 29837 29851 29863 29867 29873 29879 29881 29917 29921 29927 29947 29959 29983 29989 30011 30013 30029 30047 30059 30071 30089 30091 30097 30103 30109 30113 30119 30133 30137 30139 30161 30169 30181 30187 30197 30203 30211 30223 30241 30253 30259 30269 30271 30293 30307 30313 30319 30323 30341 30347 30367 30389 30391 30403 30427 30431 30449 30467 30469 30491 30493 30497 30509 30517 30529 30539 30553 30557 30559 30577 30593 30631 30637 30643 30649 30661 30671 30677 30689 30697 30703 30707 30713 30727 30757 30763 30773 30781 30803 30809 30817 30829 30839 30841 30851 30853 30859 30869 30871 30881 30893 30911 30931 30937 30941 30949 30971 30977 30983 31013 31019 31033 31039 31051 31063 31069 31079 31081 31091 31121 31123 31139 31147 31151 31153 31159 31177 31181 31183 31189 31193 31219 31223 31231 31237 31247 31249 31253 31259 31267 31271 31277 31307 31319 31321 31327 31333 31337 31357 31379 31387 31391 31393 31397 31469 31477 31481 31489 31511 31513 31517 31531 31541 31543 31547 31567 31573 31583 31601 31607 31627 31643 31649 31657 31663 31667 31687 31699 31721 31723 31727 31729 31741 31751 31769 31771 31793 31799 31817 31847 31849 31859 31873 31883 31891 31907 31957 31963 31973 31981 31991 32003 32009 32027 32029 32051 32057 32059 32063 32069 32077 32083 32089 32099 32117 32119 32141 32143 32159 32173 32183 32189 32191 32203 32213 32233 32237 32251 32257 32261 32297 32299 32303 32309 32321 32323 32327 32341 32353 32359 32363 32369 32371 32377 32381 32401 32411 32413 32423 32429 32441 32443 32467 32479 32491 32497 32503 32507 32531 32533 32537 32561 32563 32569 32573 32579 32587 32603 32609 32611 32621 32633 32647 32653 32687 32693 32707 32713 32717 32719 32749 32771 32779 32783 32789 32797 32801 32803 32831 32833 32839 32843 32869 32887 32909 32911 32917 32933 32939 32941 32957 32969 32971 32983 32987 32993 32999 33013 33023 33029 33037 33049 33053 33071 33073 33083 33091 33107 33113 33119 33149 33151 33161 33179 33181 33191 33199 33203 33211 33223 33247 33287 33289 33301 33311 33317 33329 33331 33343 33347 33349 33353 33359 33377 33391 33403 33409 33413 33427 33457 33461 33469 33479 33487 33493 33503 33521 33529 33533 33547 33563 33569 33577 33581 33587 33589 33599 33601 33613 33617 33619 33623 33629 33637 33641 33647 33679 33703 33713 33721 33739 33749 33751 33757 33767 33769 33773 33791 33797 33809 33811 33827 33829 33851 33857 33863 33871 33889 33893 33911 33923 33931 33937 33941 33961 33967 33997 34019 34031 34033 34039 34057 34061 34123 34127 34129 34141 34147 34157 34159 34171 34183 34211 34213 34217 34231 34253 34259 34261 34267 34273 34283 34297 34301 34303 34313 34319 34327 34337 34351 34361 34367 34369 34381 34403 34421 34429 34439 34457 34469 34471 34483 34487 34499 34501 34511 34513 34519 34537 34543 34549 34583 34589 34591 34603 34607 34613 34631 34649 34651 34667 34673 34679 34687 34693 34703 34721 34729 34739 34747 34757 34759 34763 34781 34807 34819 34841 34843 34847 34849 34871 34877 34883 34897 34913 34919 34939 34949 34961 34963 34981 35023 35027 35051 35053 35059 35069 35081 35083 35089 35099 35107 35111 35117 35129 35141 35149 35153 35159 35171 35201 35221 35227 35251 35257 35267 35279 35281 35291 35311 35317 35323 35327 35339 35353 35363 35381 35393 35401 35407 35419 35423 35437 35447 35449 35461 35491 35507 35509 35521 35527 35531 35533 35537 35543 35569 35573 35591 35593 35597 35603 35617 35671 35677 35729 35731 35747 35753 35759 35771 35797 35801 35803 35809 35831 35837 35839 35851 35863 35869 35879 35897 35899 35911 35923 35933 35951 35963 35969 35977 35983 35993 35999 36007 36011 36013 36017 36037 36061 36067 36073 36083 36097 36107 36109 36131 36137 36151 36161 36187 36191 36209 36217 36229 36241 36251 36263 36269 36277 36293 36299 36307 36313 36319 36341 36343 36353 36373 36383 36389 36433 36451 36457 36467 36469 36473 36479 36493 36497 36523 36527 36529 36541 36551 36559 36563 36571 36583 36587 36599 36607 36629 36637 36643 36653 36671 36677 36683 36691 36697 36709 36713 36721 36739 36749 36761 36767 36779 36781 36787 36791 36793 36809 36821 36833 36847 36857 36871 36877 36887 36899 36901 36913 36919 36923 36929 36931 36943 36947 36973 36979 36997 37003 37013 37019 37021 37039 37049 37057 37061 37087 37097 37117 37123 37139 37159 37171 37181 37189 37199 37201 37217 37223 37243 37253 37273 37277 37307 37309 37313 37321 37337 37339 37357 37361 37363 37369 37379 37397 37409 37423 37441 37447 37463 37483 37489 37493 37501 37507 37511 37517 37529 37537 37547 37549 37561 37567 37571 37573 37579 37589 37591 37607 37619 37633 37643 37649 37657 37663 37691 37693 37699 37717 37747 37781 37783 37799 37811 37813 37831 37847 37853 37861 37871 37879 37889 37897 37907 37951 37957 37963 37967 37987 37991 37993 37997 38011 38039 38047 38053 38069 38083 38113 38119 38149 38153 38167 38177 38183 38189 38197 38201 38219 38231 38237 38239 38261 38273 38281 38287 38299 38303 38317 38321 38327 38329 38333 38351 38371 38377 38393 38431 38447 38449 38453 38459 38461 38501 38543 38557 38561 38567 38569 38593 38603 38609 38611 38629 38639 38651 38653 38669 38671 38677 38693 38699 38707 38711 38713 38723 38729 38737 38747 38749 38767 38783 38791 38803 38821 38833 38839 38851 38861 38867 38873 38891 38903 38917 38921 38923 38933 38953 38959 38971 38977 38993 39019 39023 39041 39043 39047 39079 39089 39097 39103 39107 39113 39119 39133 39139 39157 39161 39163 39181 39191 39199 39209 39217 39227 39229 39233 39239 39241 39251 39293 39301 39313 39317 39323 39341 39343 39359 39367 39371 39373 39383 39397 39409 39419 39439 39443 39451 39461 39499 39503 39509 39511 39521 39541 39551 39563 39569 39581 39607 39619 39623 39631 39659 39667 39671 39679 39703 39709 39719 39727 39733 39749 39761 39769 39779 39791 39799 39821 39827 39829 39839 39841 39847 39857 39863 39869 39877 39883 39887 39901 39929 39937 39953 39971 39979 39983 39989 40009 40013 40031 40037 40039 40063 40087 40093 40099 40111 40123 40127 40129 40151 40153 40163 40169 40177 40189 40193 40213 40231 40237 40241 40253 40277 40283 40289 40343 40351 40357 40361 40387 40423 40427 40429 40433 40459 40471 40483 40487 40493 40499 40507 40519 40529 40531 40543 40559 40577 40583 40591 40597 40609 40627 40637 40639 40693 40697 40699 40709 40739 40751 40759 40763 40771 40787 40801 40813 40819 40823 40829 40841 40847 40849 40853 40867 40879 40883 40897 40903 40927 40933 40939 40949 40961 40973 40993 41011 41017 41023 41039 41047 41051 41057 41077 41081 41113 41117 41131 41141 41143 41149 41161 41177 41179 41183 41189 41201 41203 41213 41221 41227 41231 41233 41243 41257 41263 41269 41281 41299 41333 41341 41351 41357 41381 41387 41389 41399 41411 41413 41443 41453 41467 41479 41491 41507 41513 41519 41521 41539 41543 41549 41579 41593 41597 41603 41609 41611 41617 41621 41627 41641 41647 41651 41659 41669 41681 41687 41719 41729 41737 41759 41761 41771 41777 41801 41809 41813 41843 41849 41851 41863 41879 41887 41893 41897 41903 41911 41927 41941 41947 41953 41957 41959 41969 41981 41983 41999 42013 42017 42019 42023 42043 42061 42071 42073 42083 42089 42101 42131 42139 42157 42169 42179 42181 42187 42193 42197 42209 42221 42223 42227 42239 42257 42281 42283 42293 42299 42307 42323 42331 42337 42349 42359 42373 42379 42391 42397 42403 42407 42409 42433 42437 42443 42451 42457 42461 42463 42467 42473 42487 42491 42499 42509 42533 42557 42569 42571 42577 42589 42611 42641 42643 42649 42667 42677 42683 42689 42697 42701 42703 42709 42719 42727 42737 42743 42751 42767 42773 42787 42793 42797 42821 42829 42839 42841 42853 42859 42863 42899 42901 42923 42929 42937 42943 42953 42961 42967 42979 42989 43003 43013 43019 43037 43049 43051 43063 43067 43093 43103 43117 43133 43151 43159 43177 43189 43201 43207 43223 43237 43261 43271 43283 43291 43313 43319 43321 43331 43391 43397 43399 43403 43411 43427 43441 43451 43457 43481 43487 43499 43517 43541 43543 43573 43577 43579 43591 43597 43607 43609 43613 43627 43633 43649 43651 43661 43669 43691 43711 43717 43721 43753 43759 43777 43781 43783 43787 43789 43793 43801 43853 43867 43889 43891 43913 43933 43943 43951 43961 43963 43969 43973 43987 43991 43997 44017 44021 44027 44029 44041 44053 44059 44071 44087 44089 44101 44111 44119 44123 44129 44131 44159 44171 44179 44189 44201 44203 44207 44221 44249 44257 44263 44267 44269 44273 44279 44281 44293 44351 44357 44371 44381 44383 44389 44417 44449 44453 44483 44491 44497 44501 44507 44519 44531 44533 44537 44543 44549 44563 44579 44587 44617 44621 44623 44633 44641 44647 44651 44657 44683 44687 44699 44701 44711 44729 44741 44753 44771 44773 44777 44789 44797 44809 44819 44839 44843 44851 44867 44879 44887 44893 44909 44917 44927 44939 44953 44959 44963 44971 44983 44987 45007 45013 45053 45061 45077 45083 45119 45121 45127 45131 45137 45139 45161 45179 45181 45191 45197 45233 45247 45259 45263 45281 45289 45293 45307 45317 45319 45329 45337 45341 45343 45361 45377 45389 45403 45413 45427 45433 45439 45481 45491 45497 45503 45523 45533 45541 45553 45557 45569 45587 45589 45599 45613 45631 45641 45659 45667 45673 45677 45691 45697 45707 45737 45751 45757 45763 45767 45779 45817 45821 45823 45827 45833 45841 45853 45863 45869 45887 45893 45943 45949 45953 45959 45971 45979 45989 46021 46027 46049 46051 46061 46073 46091 46093 46099 46103 46133 46141 46147 46153 46171 46181 46183 46187 46199 46219 46229 46237 46261 46271 46273 46279 46301 46307 46309 46327 46337 46349 46351 46381 46399 46411 46439 46441 46447 46451 46457 46471 46477 46489 46499 46507 46511 46523 46549 46559 46567 46573 46589 46591 46601 46619 46633 46639 46643 46649 46663 46679 46681 46687 46691 46703 46723 46727 46747 46751 46757 46769 46771 46807 46811 46817 46819 46829 46831 46853 46861 46867 46877 46889 46901 46919 46933 46957 46993 46997 47017 47041 47051 47057 47059 47087 47093 47111 47119 47123 47129 47137 47143 47147 47149 47161 47189 47207 47221 47237 47251 47269 47279 47287 47293 47297 47303 47309 47317 47339 47351 47353 47363 47381 47387 47389 47407 47417 47419 47431 47441 47459 47491 47497 47501 47507 47513 47521 47527 47533 47543 47563 47569 47581 47591 47599 47609 47623 47629 47639 47653 47657 47659 47681 47699 47701 47711 47713 47717 47737 47741 47743 47777 47779 47791 47797 47807 47809 47819 47837 47843 47857 47869 47881 47903 47911 47917 47933 47939 47947 47951 47963 47969 47977 47981 48017 48023 48029 48049 48073 48079 48091 48109 48119 48121 48131 48157 48163 48179 48187 48193 48197 48221 48239 48247 48259 48271 48281 48299 48311 48313 48337 48341 48353 48371 48383 48397 48407 48409 48413 48437 48449 48463 48473 48479 48481 48487 48491 48497 48523 48527 48533 48539 48541 48563 48571 48589 48593 48611 48619 48623 48647 48649 48661 48673 48677 48679 48731 48733 48751 48757 48761 48767 48779 48781 48787 48799 48809 48817 48821 48823 48847 48857 48859 48869 48871 48883 48889 48907 48947 48953 48973 48989 48991 49003 49009 49019 49031 49033 49037 49043 49057 49069 49081 49103 49109 49117 49121 49123 49139 49157 49169 49171 49177 49193 49199 49201 49207 49211 49223 49253 49261 49277 49279 49297 49307 49331 49333 49339 49363 49367 49369 49391 49393 49409 49411 49417 49429 49433 49451 49459 49463 49477 49481 49499 49523 49529 49531 49537 49547 49549 49559 49597 49603 49613 49627 49633 49639 49663 49667 49669 49681 49697 49711 49727 49739 49741 49747 49757 49783 49787 49789 49801 49807 49811 49823 49831 49843 49853 49871 49877 49891 49919 49921 49927 49937 49939 49943 49957 49991 49993 49999 50021 50023 50033 50047 50051 50053 50069 50077 50087 50093 50101 50111 50119 50123 50129 50131 50147 50153 50159 50177 50207 50221 50227 50231 50261 50263 50273 50287 50291 50311 50321 50329 50333 50341 50359 50363 50377 50383 50387 50411 50417 50423 50441 50459 50461 50497 50503 50513 50527 50539 50543 50549 50551 50581 50587 50591 50593 50599 50627 50647 50651 50671 50683 50707 50723 50741 50753 50767 50773 50777 50789 50821 50833 50839 50849 50857 50867 50873 50891 50893 50909 50923 50929 50951 50957 50969 50971 50989 50993 51001 51031 51043 51047 51059 51061 51071 51109 51131 51133 51137 51151 51157 51169 51193 51197 51199 51203 51217 51229 51239 51241 51257 51263 51283 51287 51307 51329 51341 51343 51347 51349 51361 51383 51407 51413 51419 51421 51427 51431 51437 51439 51449 51461 51473 51479 51481 51487 51503 51511 51517 51521 51539 51551 51563 51577 51581 51593 51599 51607 51613 51631 51637 51647 51659 51673 51679 51683 51691 51713 51719 51721 51749 51767 51769 51787 51797 51803 51817 51827 51829 51839 51853 51859 51869 51871 51893 51899 51907 51913 51929 51941 51949 51971 51973 51977 51991 52009 52021 52027 52051 52057 52067 52069 52081 52103 52121 52127 52147 52153 52163 52177 52181 52183 52189 52201 52223 52237 52249 52253 52259 52267 52289 52291 52301 52313 52321 52361 52363 52369 52379 52387 52391 52433 52453 52457 52489 52501 52511 52517 52529 52541 52543 52553 52561 52567 52571 52579 52583 52609 52627 52631 52639 52667 52673 52691 52697 52709 52711 52721 52727 52733 52747 52757 52769 52783 52807 52813 52817 52837 52859 52861 52879 52883 52889 52901 52903 52919 52937 52951 52957 52963 52967 52973 52981 52999 53003 53017 53047 53051 53069 53077 53087 53089 53093 53101 53113 53117 53129 53147 53149 53161 53171 53173 53189 53197 53201 53231 53233 53239 53267 53269 53279 53281 53299 53309 53323 53327 53353 53359 53377 53381 53401 53407 53411 53419 53437 53441 53453 53479 53503 53507 53527 53549 53551 53569 53591 53593 53597 53609 53611 53617 53623 53629 53633 53639 53653 53657 53681 53693 53699 53717 53719 53731 53759 53773 53777 53783 53791 53813 53819 53831 53849 53857 53861 53881 53887 53891 53897 53899 53917 53923 53927 53939 53951 53959 53987 53993 54001 54011 54013 54037 54049 54059 54083 54091 54101 54121 54133 54139 54151 54163 54167 54181 54193 54217 54251 54269 54277 54287 54293 54311 54319 54323 54331 54347 54361 54367 54371 54377 54401 54403 54409 54413 54419 54421 54437 54443 54449 54469 54493 54497 54499 54503 54517 54521 54539 54541 54547 54559 54563 54577 54581 54583 54601 54617 54623 54629 54631 54647 54667 54673 54679 54709 54713 54721 54727 54751 54767 54773 54779 54787 54799 54829 54833 54851 54869 54877 54881 54907 54917 54919 54941 54949 54959 54973 54979 54983 55001 55009 55021 55049 55051 55057 55061 55073 55079 55103 55109 55117 55127 55147 55163 55171 55201 55207 55213 55217 55219 55229 55243 55249 55259 55291 55313 55331 55333 55337 55339 55343 55351 55373 55381 55399 55411 55439 55441 55457 55469 55487 55501 55511 55529 55541 55547 55579 55589 55603 55609 55619 55621 55631 55633 55639 55661 55663 55667 55673 55681 55691 55697 55711 55717 55721 55733 55763 55787 55793 55799 55807 55813 55817 55819 55823 55829 55837 55843 55849 55871 55889 55897 55901 55903 55921 55927 55931 55933 55949 55967 55987 55997 56003 56009 56039 56041 56053 56081 56087 56093 56099 56101 56113 56123 56131 56149 56167 56171 56179 56197 56207 56209 56237 56239 56249 56263 56267 56269 56299 56311 56333 56359 56369 56377 56383 56393 56401 56417 56431 56437 56443 56453 56467 56473 56477 56479 56489 56501 56503 56509 56519 56527 56531 56533 56543 56569 56591 56597 56599 56611 56629 56633 56659 56663 56671 56681 56687 56701 56711 56713 56731 56737 56747 56767 56773 56779 56783 56807 56809 56813 56821 56827 56843 56857 56873 56891 56893 56897 56909 56911 56921 56923 56929 56941 56951 56957 56963 56983 56989 56993 56999 57037 57041 57047 57059 57073 57077 57089 57097 57107 57119 57131 57139 57143 57149 57163 57173 57179 57191 57193 57203 57221 57223 57241 57251 57259 57269 57271 57283 57287 57301 57329 57331 57347 57349 57367 57373 57383 57389 57397 57413 57427 57457 57467 57487 57493 57503 57527 57529 57557 57559 57571 57587 57593 57601 57637 57641 57649 57653 57667 57679 57689 57697 57709 57713 57719 57727 57731 57737 57751 57773 57781 57787 57791 57793 57803 57809 57829 57839 57847 57853 57859 57881 57899 57901 57917 57923 57943 57947 57973 57977 57991 58013 58027 58031 58043 58049 58057 58061 58067 58073 58099 58109 58111 58129 58147 58151 58153 58169 58171 58189 58193 58199 58207 58211 58217 58229 58231 58237 58243 58271 58309 58313 58321 58337 58363 58367 58369 58379 58391 58393 58403 58411 58417 58427 58439 58441 58451 58453 58477 58481 58511 58537 58543 58549 58567 58573 58579 58601 58603 58613 58631 58657 58661 58679 58687 58693 58699 58711 58727 58733 58741 58757 58763 58771 58787 58789 58831 58889 58897 58901 58907 58909 58913 58921 58937 58943 58963 58967 58979 58991 58997 59009 59011 59021 59023 59029 59051 59053 59063 59069 59077 59083 59093 59107 59113 59119 59123 59141 59149 59159 59167 59183 59197 59207 59209 59219 59221 59233 59239 59243 59263 59273 59281 59333 59341 59351 59357 59359 59369 59377 59387 59393 59399 59407 59417 59419 59441 59443 59447 59453 59467 59471 59473 59497 59509 59513 59539 59557 59561 59567 59581 59611 59617 59621 59627 59629 59651 59659 59663 59669 59671 59693 59699 59707 59723 59729 59743 59747 59753 59771 59779 59791 59797 59809 59833 59863 59879 59887 59921 59929 59951 59957 59971 59981 59999 60013 60017 60029 60037 60041 60077 60083 60089 60091 60101 60103 60107 60127 60133 60139 60149 60161 60167 60169 60209 60217 60223 60251 60257 60259 60271 60289 60293 60317 60331 60337 60343 60353 60373 60383 60397 60413 60427 60443 60449 60457 60493 60497 60509 60521 60527 60539 60589 60601 60607 60611 60617 60623 60631 60637 60647 60649 60659 60661 60679 60689 60703 60719 60727 60733 60737 60757 60761 60763 60773 60779 60793 60811 60821 60859 60869 60887 60889 60899 60901 60913 60917 60919 60923 60937 60943 60953 60961 61001 61007 61027 61031 61043 61051 61057 61091 61099 61121 61129 61141 61151 61153 61169 61211 61223 61231 61253 61261 61283 61291 61297 61331 61333 61339 61343 61357 61363 61379 61381 61403 61409 61417 61441 61463 61469 61471 61483 61487 61493 61507 61511 61519 61543 61547 61553 61559 61561 61583 61603 61609 61613 61627 61631 61637 61643 61651 61657 61667 61673 61681 61687 61703 61717 61723 61729 61751 61757 61781 61813 61819 61837 61843 61861 61871 61879 61909 61927 61933 61949 61961 61967 61979 61981 61987 61991 62003 62011 62017 62039 62047 62053 62057 62071 62081 62099 62119 62129 62131 62137 62141 62143 62171 62189 62191 62201 62207 62213 62219 62233 62273 62297 62299 62303 62311 62323 62327 62347 62351 62383 62401 62417 62423 62459 62467 62473 62477 62483 62497 62501 62507 62533 62539 62549 62563 62581 62591 62597 62603 62617 62627 62633 62639 62653 62659 62683 62687 62701 62723 62731 62743 62753 62761 62773 62791 62801 62819 62827 62851 62861 62869 62873 62897 62903 62921 62927 62929 62939 62969 62971 62981 62983 62987 62989 63029 63031 63059 63067 63073 63079 63097 63103 63113 63127 63131 63149 63179 63197 63199 63211 63241 63247 63277 63281 63299 63311 63313 63317 63331 63337 63347 63353 63361 63367 63377 63389 63391 63397 63409 63419 63421 63439 63443 63463 63467 63473 63487 63493 63499 63521 63527 63533 63541 63559 63577 63587 63589 63599 63601 63607 63611 63617 63629 63647 63649 63659 63667 63671 63689 63691 63697 63703 63709 63719 63727 63737 63743 63761 63773 63781 63793 63799 63803 63809 63823 63839 63841 63853 63857 63863 63901 63907 63913 63929 63949 63977 63997 64007 64013 64019 64033 64037 64063 64067 64081 64091 64109 64123 64151 64153 64157 64171 64187 64189 64217 64223 64231 64237 64271 64279 64283 64301 64303 64319 64327 64333 64373 64381 64399 64403 64433 64439 64451 64453 64483 64489 64499 64513 64553 64567 64577 64579 64591 64601 64609 64613 64621 64627 64633 64661 64663 64667 64679 64693 64709 64717 64747 64763 64781 64783 64793 64811 64817 64849 64853 64871 64877 64879 64891 64901 64919 64921 64927 64937 64951 64969 64997 65003 65011 65027 65029 65033 65053 65063 65071 65089 65099 65101 65111 65119 65123 65129 65141 65147 65167 65171 65173 65179 65183 65203 65213 65239 65257 65267 65269 65287 65293 65309 65323 65327 65353 65357 65371 65381 65393 65407 65413 65419 65423 65437 65447 65449 65479 65497 65519 65521 65537 65539 65543 65551 65557 65563 65579 65581 65587 65599 65609 65617 65629 65633 65647 65651 65657 65677 65687 65699 65701 65707 65713 65717 65719 65729 65731 65761 65777 65789 65809 65827 65831 65837 65839 65843 65851 65867 65881 65899 65921 65927 65929 65951 65957 65963 65981 65983 65993 66029 66037 66041 66047 66067 66071 66083 66089 66103 66107 66109 66137 66161 66169 66173 66179 66191 66221 66239 66271 66293 66301 66337 66343 66347 66359 66361 66373 66377 66383 66403 66413 66431 66449 66457 66463 66467 66491 66499 66509 66523 66529 66533 66541 66553 66569 66571 66587 66593 66601 66617 66629 66643 66653 66683 66697 66701 66713 66721 66733 66739 66749 66751 66763 66791 66797 66809 66821 66841 66851 66853 66863 66877 66883 66889 66919 66923 66931 66943 66947 66949 66959 66973 66977 67003 67021 67033 67043 67049 67057 67061 67073 67079 67103 67121 67129 67139 67141 67153 67157 67169 67181 67187 67189 67211 67213 67217 67219 67231 67247 67261 67271 67273 67289 67307 67339 67343 67349 67369 67391 67399 67409 67411 67421 67427 67429 67433 67447 67453 67477 67481 67489 67493 67499 67511 67523 67531 67537 67547 67559 67567 67577 67579 67589 67601 67607 67619 67631 67651 67679 67699 67709 67723 67733 67741 67751 67757 67759 67763 67777 67783 67789 67801 67807 67819 67829 67843 67853 67867 67883 67891 67901 67927 67931 67933 67939 67943 67957 67961 67967 67979 67987 67993 68023 68041 68053 68059 68071 68087 68099 68111 68113 68141 68147 68161 68171 68207 68209 68213 68219 68227 68239 68261 68279 68281 68311 68329 68351 68371 68389 68399 68437 68443 68447 68449 68473 68477 68483 68489 68491 68501 68507 68521 68531 68539 68543 68567 68581 68597 68611 68633 68639 68659 68669 68683 68687 68699 68711 68713 68729 68737 68743 68749 68767 68771 68777 68791 68813 68819 68821 68863 68879 68881 68891 68897 68899 68903 68909 68917 68927 68947 68963 68993 69001 69011 69019 69029 69031 69061 69067 69073 69109 69119 69127 69143 69149 69151 69163 69191 69193 69197 69203 69221 69233 69239 69247 69257 69259 69263 69313 69317 69337 69341 69371 69379 69383 69389 69401 69403 69427 69431 69439 69457 69463 69467 69473 69481 69491 69493 69497 69499 69539 69557 69593 69623 69653 69661 69677 69691 69697 69709 69737 69739 69761 69763 69767 69779 69809 69821 69827 69829 69833 69847 69857 69859 69877 69899 69911 69929 69931 69941 69959 69991 69997 70001 70003 70009 70019 70039 70051 70061 70067 70079 70099 70111 70117 70121 70123 70139 70141 70157 70163 70177 70181 70183 70199 70201 70207 70223 70229 70237 70241 70249 70271 70289 70297 70309 70313 70321 70327 70351 70373 70379 70381 70393 70423 70429 70439 70451 70457 70459 70481 70487 70489 70501 70507 70529 70537 70549 70571 70573 70583 70589 70607 70619 70621 70627 70639 70657 70663 70667 70687 70709 70717 70729 70753 70769 70783 70793 70823 70841 70843 70849 70853 70867 70877 70879 70891 70901 70913 70919 70921 70937 70949 70951 70957 70969 70979 70981 70991 70997 70999 71011 71023 71039 71059 71069 71081 71089 71119 71129 71143 71147 71153 71161 71167 71171 71191 71209 71233 71237 71249 71257 71261 71263 71287 71293 71317 71327 71329 71333 71339 71341 71347 71353 71359 71363 71387 71389 71399 71411 71413 71419 71429 71437 71443 71453 71471 71473 71479 71483 71503 71527 71537 71549 71551 71563 71569 71593 71597 71633 71647 71663 71671 71693 71699 71707 71711 71713 71719 71741 71761 71777 71789 71807 71809 71821 71837 71843 71849 71861 71867 71879 71881 71887 71899 71909 71917 71933 71941 71947 71963 71971 71983 71987 71993 71999 72019 72031 72043 72047 72053 72073 72077 72089 72091 72101 72103 72109 72139 72161 72167 72169 72173 72211 72221 72223 72227 72229 72251 72253 72269 72271 72277 72287 72307 72313 72337 72341 72353 72367 72379 72383 72421 72431 72461 72467 72469 72481 72493 72497 72503 72533 72547 72551 72559 72577 72613 72617 72623 72643 72647 72649 72661 72671 72673 72679 72689 72701 72707 72719 72727 72733 72739 72763 72767 72797 72817 72823 72859 72869 72871 72883 72889 72893 72901 72907 72911 72923 72931 72937 72949 72953 72959 72973 72977 72997 73009 73013 73019 73037 73039 73043 73061 73063 73079 73091 73121 73127 73133 73141 73181 73189 73237 73243 73259 73277 73291 73303 73309 73327 73331 73351 73361 73363 73369 73379 73387 73417 73421 73433 73453 73459 73471 73477 73483 73517 73523 73529 73547 73553 73561 73571 73583 73589 73597 73607 73609 73613 73637 73643 73651 73673 73679 73681 73693 73699 73709 73721 73727 73751 73757 73771 73783 73819 73823 73847 73849 73859 73867 73877 73883 73897 73907 73939 73943 73951 73961 73973 73999 74017 74021 74027 74047 74051 74071 74077 74093 74099 74101 74131 74143 74149 74159 74161 74167 74177 74189 74197 74201 74203 74209 74219 74231 74257 74279 74287 74293 74297 74311 74317 74323 74353 74357 74363 74377 74381 74383 74411 74413 74419 74441 74449 74453 74471 74489 74507 74509 74521 74527 74531 74551 74561 74567 74573 74587 74597 74609 74611 74623 74653 74687 74699 74707 74713 74717 74719 74729 74731 74747 74759 74761 74771 74779 74797 74821 74827 74831 74843 74857 74861 74869 74873 74887 74891 74897 74903 74923 74929 74933 74941 74959 75011 75013 75017 75029 75037 75041 75079 75083 75109 75133 75149 75161 75167 75169 75181 75193 75209 75211 75217 75223 75227 75239 75253 75269 75277 75289 75307 75323 75329 75337 75347 75353 75367 75377 75389 75391 75401 75403 75407 75431 75437 75479 75503 75511 75521 75527 75533 75539 75541 75553 75557 75571 75577 75583 75611 75617 75619 75629 75641 75653 75659 75679 75683 75689 75703 75707 75709 75721 75731 75743 75767 75773 75781 75787 75793 75797 75821 75833 75853 75869 75883 75913 75931 75937 75941 75967 75979 75983 75989 75991 75997 76001 76003 76031 76039 76079 76081 76091 76099 76103 76123 76129 76147 76157 76159 76163 76207 76213 76231 76243 76249 76253 76259 76261 76283 76289 76303 76333 76343 76367 76369 76379 76387 76403 76421 76423 76441 76463 76471 76481 76487 76493 76507 76511 76519 76537 76541 76543 76561 76579 76597 76603 76607 76631 76649 76651 76667 76673 76679 76697 76717 76733 76753 76757 76771 76777 76781 76801 76819 76829 76831 76837 76847 76871 76873 76883 76907 76913 76919 76943 76949 76961 76963 76991 77003 77017 77023 77029 77041 77047 77069 77081 77093 77101 77137 77141 77153 77167 77171 77191 77201 77213 77237 77239 77243 77249 77261 77263 77267 77269 77279 77291 77317 77323 77339 77347 77351 77359 77369 77377 77383 77417 77419 77431 77447 77471 77477 77479 77489 77491 77509 77513 77521 77527 77543 77549 77551 77557 77563 77569 77573 77587 77591 77611 77617 77621 77641 77647 77659 77681 77687 77689 77699 77711 77713 77719 77723 77731 77743 77747 77761 77773 77783 77797 77801 77813 77839 77849 77863 77867 77893 77899 77929 77933 77951 77969 77977 77983 77999 78007 78017 78031 78041 78049 78059 78079 78101 78121 78137 78139 78157 78163 78167 78173 78179 78191 78193 78203 78229 78233 78241 78259 78277 78283 78301 78307 78311 78317 78341 78347 78367 78401 78427 78437 78439 78467 78479 78487 78497 78509 78511 78517 78539 78541 78553 78569 78571 78577 78583 78593 78607 78623 78643 78649 78653 78691 78697 78707 78713 78721 78737 78779 78781 78787 78791 78797 78803 78809 78823 78839 78853 78857 78877 78887 78889 78893 78901 78919 78929 78941 78977 78979 78989 79031 79039 79043 79063 79087 79103 79111 79133 79139 79147 79151 79153 79159 79181 79187 79193 79201 79229 79231 79241 79259 79273 79279 79283 79301 79309 79319 79333 79337 79349 79357 79367 79379 79393 79397 79399 79411 79423 79427 79433 79451 79481 79493 79531 79537 79549 79559 79561 79579 79589 79601 79609 79613 79621 79627 79631 79633 79657 79669 79687 79691 79693 79697 79699 79757 79769 79777 79801 79811 79813 79817 79823 79829 79841 79843 79847 79861 79867 79873 79889 79901 79903 79907 79939 79943 79967 79973 79979 79987 79997 79999 80021 80039 80051 80071 80077 80107 80111 80141 80147 80149 80153 80167 80173 80177 80191 80207 80209 80221 80231 80233 80239 80251 80263 80273 80279 80287 80309 80317 80329 80341 80347 80363 80369 80387 80407 80429 80447 80449 80471 80473 80489 80491 80513 80527 80537 80557 80567 80599 80603 80611 80621 80627 80629 80651 80657 80669 80671 80677 80681 80683 80687 80701 80713 80737 80747 80749 80761 80777 80779 80783 80789 80803 80809 80819 80831 80833 80849 80863 80897 80909 80911 80917 80923 80929 80933 80953 80963 80989 81001 81013 81017 81019 81023 81031 81041 81043 81047 81049 81071 81077 81083 81097 81101 81119 81131 81157 81163 81173 81181 81197 81199 81203 81223 81233 81239 81281 81283 81293 81299 81307 81331 81343 81349 81353 81359 81371 81373 81401 81409 81421 81439 81457 81463 81509 81517 81527 81533 81547 81551 81553 81559 81563 81569 81611 81619 81629 81637 81647 81649 81667 81671 81677 81689 81701 81703 81707 81727 81737 81749 81761 81769 81773 81799 81817 81839 81847 81853 81869 81883 81899 81901 81919 81929 81931 81937 81943 81953 81967 81971 81973 82003 82007 82009 82013 82021 82031 82037 82039 82051 82067 82073 82129 82139 82141 82153 82163 82171 82183 82189 82193 82207 82217 82219 82223 82231 82237 82241 82261 82267 82279 82301 82307 82339 82349 82351 82361 82373 82387 82393 82421 82457 82463 82469 82471 82483 82487 82493 82499 82507 82529 82531 82549 82559 82561 82567 82571 82591 82601 82609 82613 82619 82633 82651 82657 82699 82721 82723 82727 82729 82757 82759 82763 82781 82787 82793 82799 82811 82813 82837 82847 82883 82889 82891 82903 82913 82939 82963 82981 82997 83003 83009 83023 83047 83059 83063 83071 83077 83089 83093 83101 83117 83137 83177 83203 83207 83219 83221 83227 83231 83233 83243 83257 83267 83269 83273 83299 83311 83339 83341 83357 83383 83389 83399 83401 83407 83417 83423 83431 83437 83443 83449 83459 83471 83477 83497 83537 83557 83561 83563 83579 83591 83597 83609 83617 83621 83639 83641 83653 83663 83689 83701 83717 83719 83737 83761 83773 83777 83791 83813 83833 83843 83857 83869 83873 83891 83903 83911 83921 83933 83939 83969 83983 83987 84011 84017 84047 84053 84059 84061 84067 84089 84121 84127 84131 84137 84143 84163 84179 84181 84191 84199 84211 84221 84223 84229 84239 84247 84263 84299 84307 84313 84317 84319 84347 84349 84377 84389 84391 84401 84407 84421 84431 84437 84443 84449 84457 84463 84467 84481 84499 84503 84509 84521 84523 84533 84551 84559 84589 84629 84631 84649 84653 84659 84673 84691 84697 84701 84713 84719 84731 84737 84751 84761 84787 84793 84809 84811 84827 84857 84859 84869 84871 84913 84919 84947 84961 84967 84977 84979 84991 85009 85021 85027 85037 85049 85061 85081 85087 85091 85093 85103 85109 85121 85133 85147 85159 85193 85199 85201 85213 85223 85229 85237 85243 85247 85259 85297 85303 85313 85331 85333 85361 85363 85369 85381 85411 85427 85429 85439 85447 85451 85453 85469 85487 85513 85517 85523 85531 85549 85571 85577 85597 85601 85607 85619 85621 85627 85639 85643 85661 85667 85669 85691 85703 85711 85717 85733 85751 85781 85793 85817 85819 85829 85831 85837 85843 85847 85853 85889 85903 85909 85931 85933 85991 85999 86011 86017 86027 86029 86069 86077 86083 86111 86113 86117 86131 86137 86143 86161 86171 86179 86183 86197 86201 86209 86239 86243 86249 86257 86263 86269 86287 86291 86293 86297 86311 86323 86341 86351 86353 86357 86369 86371 86381 86389 86399 86413 86423 86441 86453 86461 86467 86477 86491 86501 86509 86531 86533 86539 86561 86573 86579 86587 86599 86627 86629 86677 86689 86693 86711 86719 86729 86743 86753 86767 86771 86783 86813 86837 86843 86851 86857 86861 86869 86923 86927 86929 86939 86951 86959 86969 86981 86993 87011 87013 87037 87041 87049 87071 87083 87103 87107 87119 87121 87133 87149 87151 87179 87181 87187 87211 87221 87223 87251 87253 87257 87277 87281 87293 87299 87313 87317 87323 87337 87359 87383 87403 87407 87421 87427 87433 87443 87473 87481 87491 87509 87511 87517 87523 87539 87541 87547 87553 87557 87559 87583 87587 87589 87613 87623 87629 87631 87641 87643 87649 87671 87679 87683 87691 87697 87701 87719 87721 87739 87743 87751 87767 87793 87797 87803 87811 87833 87853 87869 87877 87881 87887 87911 87917 87931 87943 87959 87961 87973 87977 87991 88001 88003 88007 88019 88037 88069 88079 88093 88117 88129 88169 88177 88211 88223 88237 88241 88259 88261 88289 88301 88321 88327 88337 88339 88379 88397 88411 88423 88427 88463 88469 88471 88493 88499 88513 88523 88547 88589 88591 88607 88609 88643 88651 88657 88661 88663 88667 88681 88721 88729 88741 88747 88771 88789 88793 88799 88801 88807 88811 88813 88817 88819 88843 88853 88861 88867 88873 88883 88897 88903 88919 88937 88951 88969 88993 88997 89003 89009 89017 89021 89041 89051 89057 89069 89071 89083 89087 89101 89107 89113 89119 89123 89137 89153 89189 89203 89209 89213 89227 89231 89237 89261 89269 89273 89293 89303 89317 89329 89363 89371 89381 89387 89393 89399 89413 89417 89431 89443 89449 89459 89477 89491 89501 89513 89519 89521 89527 89533 89561 89563 89567 89591 89597 89599 89603 89611 89627 89633 89653 89657 89659 89669 89671 89681 89689 89753 89759 89767 89779 89783 89797 89809 89819 89821 89833 89839 89849 89867 89891 89897 89899 89909 89917 89923 89939 89959 89963 89977 89983 89989 90001 90007 90011 90017 90019 90023 90031 90053 90059 90067 90071 90073 90089 90107 90121 90127 90149 90163 90173 90187 90191 90197 90199 90203 90217 90227 90239 90247 90263 90271 90281 90289 90313 90353 90359 90371 90373 90379 90397 90401 90403 90407 90437 90439 90469 90473 90481 90499 90511 90523 90527 90529 90533 90547 90583 90599 90617 90619 90631 90641 90647 90659 90677 90679 90697 90703 90709 90731 90749 90787 90793 90803 90821 90823 90833 90841 90847 90863 90887 90901 90907 90911 90917 90931 90947 90971 90977 90989 90997 91009 91019 91033 91079 91081 91097 91099 91121 91127 91129 91139 91141 91151 91153 91159 91163 91183 91193 91199 91229 91237 91243 91249 91253 91283 91291 91297 91303 91309 91331 91367 91369 91373 91381 91387 91393 91397 91411 91423 91433 91453 91457 91459 91463 91493 91499 91513 91529 91541 91571 91573 91577 91583 91591 91621 91631 91639 91673 91691 91703 91711 91733 91753 91757 91771 91781 91801 91807 91811 91813 91823 91837 91841 91867 91873 91909 91921 91939 91943 91951 91957 91961 91967 91969 91997 92003 92009 92033 92041 92051 92077 92083 92107 92111 92119 92143 92153 92173 92177 92179 92189 92203 92219 92221 92227 92233 92237 92243 92251 92269 92297 92311 92317 92333 92347 92353 92357 92363 92369 92377 92381 92383 92387 92399 92401 92413 92419 92431 92459 92461 92467 92479 92489 92503 92507 92551 92557 92567 92569 92581 92593 92623 92627 92639 92641 92647 92657 92669 92671 92681 92683 92693 92699 92707 92717 92723 92737 92753 92761 92767 92779 92789 92791 92801 92809 92821 92831 92849 92857 92861 92863 92867 92893 92899 92921 92927 92941 92951 92957 92959 92987 92993 93001 93047 93053 93059 93077 93083 93089 93097 93103 93113 93131 93133 93139 93151 93169 93179 93187 93199 93229 93239 93241 93251 93253 93257 93263 93281 93283 93287 93307 93319 93323 93329 93337 93371 93377 93383 93407 93419 93427 93463 93479 93481 93487 93491 93493 93497 93503 93523 93529 93553 93557 93559 93563 93581 93601 93607 93629 93637 93683 93701 93703 93719 93739 93761 93763 93787 93809 93811 93827 93851 93871 93887 93889 93893 93901 93911 93913 93923 93937 93941 93949 93967 93971 93979 93983 93997 94007 94009 94033 94049 94057 94063 94079 94099 94109 94111 94117 94121 94151 94153 94169 94201 94207 94219 94229 94253 94261 94273 94291 94307 94309 94321 94327 94331 94343 94349 94351 94379 94397 94399 94421 94427 94433 94439 94441 94447 94463 94477 94483 94513 94529 94531 94541 94543 94547 94559 94561 94573 94583 94597 94603 94613 94621 94649 94651 94687 94693 94709 94723 94727 94747 94771 94777 94781 94789 94793 94811 94819 94823 94837 94841 94847 94849 94873 94889 94903 94907 94933 94949 94951 94961 94993 94999 95003 95009 95021 95027 95063 95071 95083 95087 95089 95093 95101 95107 95111 95131 95143 95153 95177 95189 95191 95203 95213 95219 95231 95233 95239 95257 95261 95267 95273 95279 95287 95311 95317 95327 95339 95369 95383 95393 95401 95413 95419 95429 95441 95443 95461 95467 95471 95479 95483 95507 95527 95531 95539 95549 95561 95569 95581 95597 95603 95617 95621 95629 95633 95651 95701 95707 95713 95717 95723 95731 95737 95747 95773 95783 95789 95791 95801 95803 95813 95819 95857 95869 95873 95881 95891 95911 95917 95923 95929 95947 95957 95959 95971 95987 95989 96001 96013 96017 96043 96053 96059 96079 96097 96137 96149 96157 96167 96179 96181 96199 96211 96221 96223 96233 96259 96263 96269 96281 96289 96293 96323 96329 96331 96337 96353 96377 96401 96419 96431 96443 96451 96457 96461 96469 96479 96487 96493 96497 96517 96527 96553 96557 96581 96587 96589 96601 96643 96661 96667 96671 96697 96703 96731 96737 96739 96749 96757 96763 96769 96779 96787 96797 96799 96821 96823 96827 96847 96851 96857 96893 96907 96911 96931 96953 96959 96973 96979 96989 96997 97001 97003 97007 97021 97039 97073 97081 97103 97117 97127 97151 97157 97159 97169 97171 97177 97187 97213 97231 97241 97259 97283 97301 97303 97327 97367 97369 97373 97379 97381 97387 97397 97423 97429 97441 97453 97459 97463 97499 97501 97511 97523 97547 97549 97553 97561 97571 97577 97579 97583 97607 97609 97613 97649 97651 97673 97687 97711 97729 97771 97777 97787 97789 97813 97829 97841 97843 97847 97849 97859 97861 97871 97879 97883 97919 97927 97931 97943 97961 97967 97973 97987 98009 98011 98017 98041 98047 98057 98081 98101 98123 98129 98143 98179 98207 98213 98221 98227 98251 98257 98269 98297 98299 98317 98321 98323 98327 98347 98369 98377 98387 98389 98407 98411 98419 98429 98443 98453 98459 98467 98473 98479 98491 98507 98519 98533 98543 98561 98563 98573 98597 98621 98627 98639 98641 98663 98669 98689 98711 98713 98717 98729 98731 98737 98773 98779 98801 98807 98809 98837 98849 98867 98869 98873 98887 98893 98897 98899 98909 98911 98927 98929 98939 98947 98953 98963 98981 98993 98999 99013 99017 99023 99041 99053 99079 99083 99089 99103 99109 99119 99131 99133 99137 99139 99149 99173 99181 99191 99223 99233 99241 99251 99257 99259 99277 99289 99317 99347 99349 99367 99371 99377 99391 99397 99401 99409 99431 99439 99469 99487 99497 99523 99527 99529 99551 99559 99563 99571 99577 99581 99607 99611 99623 99643 99661 99667 99679 99689 99707 99709 99713 99719 99721 99733 99761 99767 99787 99793 99809 99817 99823 99829 99833 99839 99859 99871 99877 99881 99901 99907 99923 99929 99961 99971 99989 99991 pi( 10): 4 pi( 100): 25 pi( 1000): 168 pi( 10000): 1229 pi( 100000): 9592