April 22, 2018 (1) test1 computes differences in zeros (2) test2 computes Dirichlet products (3) test2a isolates different values in zeta function zeros (4) test2b finds maxima and minima in Dirichlet products (for computing scaling factors) (5) test2c computes scaling factors (6) test2d extrapolates scaling factors (7) test2e does Mobius inversion (8) test3 convolves zeros and differences with Mobius function (9) test3a finds minima of convolutions with Mobius function (10) test4 computes Dirichlet inverses (11) test4a finds maxima and minimum of Dirichlet inverses (12) test5 computes probit function (13) test5a computes probit function, fixed-point arithmetic used (13) test8 computes generalized Ramanujan sums (14) test9 tests Mobius, Dirichlet inverses subroutines (15) test10 compares output of probit program to sqrt(2)*erfinv(2*p-1) (16) test11 computes convolutions of differences of zeros with Mobius function at x values that are the products of the successive primes /******************************************************************************/ /* */ /* COMPUTE DIFFERENCES OF ZEROS (test1) */ /* 03/09/18 (dkc) */ /* */ /******************************************************************************/ #include <math.h> #include <stdio.h> #include "zerosi.h" // unsigned int numzeros=201; // number of zeros unsigned int scale=0; // if set, divide zeros by their logarithms unsigned int inc=0; // offset in computing differences (0 for next) unsigned int clip=0; // if set, use threshold //double delta=2.0; // threshold double delta=0.4; // threshold for theta' // // void main () { unsigned int i; long double temp,maxdif,mindif; FILE *Outfp; Outfp = fopen("out1.dat","w"); if (Outfp==NULL) return; if (scale!=0) { for (i=0; i<(numzeros+inc+1); i++) riem[i]=riem[i]/log(riem[i]); } maxdif=-1000000.0; mindif=1000000.0; for (i=1; i<numzeros; i++) { temp=riem[i+inc]-riem[i-1]; if ((clip!=0)&&(temp>delta)) continue; if (temp>maxdif) maxdif=temp; if (temp<mindif) mindif=temp; fprintf(Outfp," %llf, \n",temp); } printf("mindif=%llf, maxdif=%llf \n",mindif,maxdif); fclose(Outfp); return; } /*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C COMPUTE DIRICHLET PRODUCTS (test2) C C 04/22/18 (DKC) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/ #include <stdio.h> #include <math.h> #include "table2.h" #include "zerosi.h" // 100000 zeros //#include "zeros1.h" // 20001 zeros of the Riemann zeta function //#include "rand.h" // 2001 uniformly distributed values extern char *malloc(); unsigned int pcheck(unsigned int N, unsigned int p, unsigned int pprod, unsigned int subcur, unsigned int size, unsigned int *table); double interp1(double ND, double ND1, unsigned int I, double init, double *out); unsigned int primed(unsigned int *out, unsigned int tsize, unsigned int *table,unsigned int limit); // unsigned int MAXN=100000; unsigned int I=1; // number of values to interpolate unsigned int numlim=100000; unsigned int scale=0; // if set, divide zeros by their logarithms unsigned int check=1; // check if N is prime, etc. unsigned int p=2; // power of prime (up to 17 complete) unsigned int pprod=1; // if set when p>1 and odd, do primes and combinations unsigned int subcur=0; // sub-curves, set to 0 to do all // 0, 1, 2 for p=3 // 0, 1, 2 for p=5 // 0, 1, 2, 3 for p=7 // 0, 1, 2, 3 for p=9 // 0, 1, 2, 3, 4 for p=11 // 0, 1, 2, 3, 4, 5, 6 for p=13 // 0, 1, 2, 3, 4, 5, 6 for p=15 // 0, 1, 2, 3, 4, 5, 6 for p=17; unsigned int rnd=0; // if set, scale up the standard uniform distribution double rndfact=5600.0; // factor unsigned int tsize=17984; // prime look-up table size // void main() { unsigned int i,N,count,t1size; unsigned int *table1; double *output; double init,sum,max; double min,temp; FILE *Outfp; Outfp = fopen("out2.dat","w"); output=(double*) malloc(800008); if (output==NULL) { printf("not enough memory \n"); return; } table1=(unsigned int*) malloc(800008); if (table1==NULL) { printf("not enough memory \n"); return; } t1size=primed(table1,tsize,table,250000); // make larger prime look-up table printf("prime look-up table size=%d, last prime=%d \n",t1size,table1[t1size-1]); if (rnd!=0) { for (i=0; i<MAXN; i++) riem[i]=riem[i]*rndfact; } if (scale!=0) { for (i=0; i<MAXN; i++) riem[i]=riem[i]/log(riem[i]); } init=riem[0]; for (i=0; i<(numlim+1); i++) init=interp1(riem[i],riem[i+1],I,init,&output[i*I]); // count=0; min=10000000; max=0.0; for (N=1; N<=MAXN; N++) { sum=0.0; for (i=1; i<=N; i++) { if (N==(N/i)*i) sum=sum+output[N/i-1]; } if (check!=0) { if (pcheck(N,p,pprod,subcur,t1size,table1)==1) { count=count+1; temp=sum-output[0]; if (temp>max) max=temp; if (temp<min) min=temp; fprintf(Outfp," %llf, \n",temp); } } else fprintf(Outfp," %llf, \n",sum); } printf("count=%d, max=%llf, min=%llf \n",count,max,min); fclose(Outfp); return; } /*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C ISOLATE DIFFERENT VALUES IN ZETA FUNCTION ZEROS (test2a) C C 01/30/18 (DKC) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/ #include <stdio.h> #include <math.h> #include "table2.h" //#include "out2e.h" #include "zerosi.h" // 100000 zeros of the Riemann zeta function unsigned int pcheck(unsigned int N, unsigned int p, unsigned int pprod, unsigned int subcur, unsigned int size, unsigned int *table); // unsigned int MAXN=11000; unsigned int p=3; // power of prime (up to 17 complete) unsigned int pprod=1; // if set when p>1 and odd, do primes and combinations unsigned int subcur=1; // sub-curves, set to 0 to do all // 0, 1, 2 for p=3 // 0, 1, 2 for p=5 // 0, 1, 2, 3 for p=7 // 0, 1, 2, 3 for p=9 // 0, 1, 2, 3, 4 for p=11 // 0, 1, 2, 3, 4, 5, 6 for p=13 // 0, 1, 2, 3, 4, 5, 6 for p=15 // 0, 1, 2, 3, 4, 5, 6 for p=17; unsigned int tsize=17984; // void main() { unsigned int N,count; FILE *Outfp; Outfp = fopen("out2a.dat","w"); count=0; for (N=1; N<=MAXN; N++) { if (pcheck(N,p,pprod,subcur,tsize,table)==1) { count=count+1; fprintf(Outfp," %llf, \n",riem[N-1]); } } printf("count=%d \n",count); fclose(Outfp); return; } /*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C COMPUTE DIRICHLET PRODUCTS, FOR SCALING FACTORS (test2b) C C 04/14/18 (DKC) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/ #include <stdio.h> #include <math.h> #include "table2.h" #include "zerosi.h" extern char *malloc(); unsigned int pcheck(unsigned int N, unsigned int p, unsigned int pprod, unsigned int subcur, unsigned int size, unsigned int *table); double interp1(double ND, double ND1, unsigned int I, double init, double *out); // unsigned int hmax=22; unsigned int I=1; unsigned int numlim=50000; unsigned int delta=500; // 100000>=I*numlim>=hmax*delta unsigned int p=3; // power of prime (up to 17 complete) unsigned int pprod=1; // products of powers of primes unsigned int subcur=1; // sub-curves, set to 0 to do all // 0, 1, 2 for p=3 // 0, 1, 2 for p=5 // 0, 1, 2, 3 for p=7 // 0, 1, 2, 3 for p=9 // 0, 1, 2, 3, 4 for p=11 // 0, 1, 2, 3, 4, 5, 6 for p=13 // 0, 1, 2, 3, 4, 5, 6 for p=15 // 0, 1, 2, 3, 4, 5, 6 for p=17; unsigned int maxmin=1; // if set, output maximum unsigned int tsize=17984; // void main() { unsigned int h,i,N,count,MAXN; double *output; double init,sum,max; double min,temp; FILE *Outfp; Outfp = fopen("out2b.dat","w"); output=(double*) malloc(800008); if (output==NULL) { printf("not enough memory \n"); return; } init=riem[0]; for (i=0; i<(numlim+1); i++) init=interp1(riem[i],riem[i+1],I,init,&output[i*I]); // for (h=1; h<=hmax; h++) { MAXN=h*delta; count=0; min=10000000; max=0.0; for (N=1; N<=MAXN; N++) { sum=0.0; for (i=1; i<=N; i++) { if (N==(N/i)*i) sum=sum+output[N/i-1]; } if (pcheck(N,p,pprod,subcur,tsize,table)==1) { count=count+1; temp=sum-output[0]; if (temp>max) max=temp; if (temp<min) min=temp; } } printf("h=%d, count=%d, max=%llf, min=%llf \n",h,count,max,min); if (maxmin!=0) fprintf(Outfp," %llf, \n",max); else fprintf(Outfp," %llf, \n",min); } fclose(Outfp); return; } /*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C COMPUTE SCALING FACTORS (test2c) C C 04/14/18 (DKC) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/ #include <stdio.h> #include <math.h> #include "out2b1.h" #include "out2b2.h" unsigned int hmax=20; long double min1=83.619076; long double min2=66.318290; // void main() { unsigned int h; long double factor; FILE *Outfp; Outfp = fopen("out2c.dat","w"); for (h=1; h<=hmax; h++) { factor=(max1[h-1]-min1)/(max2[h-1]-min2); printf("max1=%llf max2=%llf factor=%llf \n",max1[h-1],max2[h-1],factor); fprintf(Outfp," %llf, \n",factor); } fclose(Outfp); return; } /*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C EXTEND QUADRATIC CURVE (test2d) C C 04/14/18 (DKC) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/ #include <stdio.h> #include <math.h> void main() { unsigned int i; double temp,temp1,p1,p2,p3; FILE *Outfp; Outfp = fopen("out2d.dat","w"); p1=-0.00007625; p2=.001507; p3=1.805; for (i=1; i<=6; i++) { temp=p1*(double)i*(double)i; temp1=p2*(double)i; temp=temp+temp1+p3; printf(" %llf \n",temp); fprintf(Outfp," %llf \n",temp); } fclose(Outfp); return; } /*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C MOBIUS INVERSION (test2e) C C 04/14/18 (DKC) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/ #include <stdio.h> #include <math.h> #include "table2.h" #include "out2.h" int mobius(unsigned int a, unsigned int *table, unsigned int tsize); unsigned int NMAX=11000; unsigned int scalup=1; double factor=1.811297; double norm=66.318290; void main() { unsigned int tsize=17984; unsigned int i,N; double sum; FILE *Outfp; Outfp = fopen("out2e.dat","w"); if (scalup!=0) { for (i=0; i<NMAX; i++) riem[i]=(riem[i]+norm)*factor; } for (N=1; N<=NMAX; N++) { sum=0.0; for (i=1; i<=N; i++) { if (N==(N/i)*i) { sum=sum+riem[i-1]*mobius(N/i,table,tsize); } } fprintf(Outfp," %llf, \n",sum); } fclose(Outfp); return; } /****************************************************************************** * * * COMPUTE CONVOLUTION WITH MOBIUS FUNCTION (test3) * * 04/20/18 (dkc) * * * * Normally distributed. * * * ******************************************************************************/ #include <math.h> #include <stdio.h> #include "zerosi.h" #include "table2.h" extern char *malloc(); int mobius(unsigned int a, unsigned int *table, unsigned int tsize); unsigned int pcheck(unsigned int N, unsigned int p, unsigned int pprod, unsigned int subcur, unsigned int size, unsigned int *table); unsigned int primed(unsigned int *out, unsigned int tsize, unsigned int *table,unsigned int limit); // unsigned int MAXN=100000; // maximum N value (or upper bound if "check!=0") unsigned int newcnt=100000; // for curves and sub-curves ("check" not equal to 0) unsigned int scale=0; // if set, divide zeros by their logarithms unsigned int diff=1; // if set, take differences unsigned int inc=0; // offset for differences (0 for next) // unsigned int check=1; // check if N is prime, etc. unsigned int p=4; // power of prime (up to 17 complete) unsigned int pprod=1; // if set when p>1 and odd, do primes and combinations unsigned int subcur=0; // sub-curves, set to 0 to do all // 0, 1, 2 for p=3 // 0, 1, 2 for p=5 // 0, 1, 2, 3 for p=7 // 0, 1, 2, 3 for p=9 // 0, 1, 2, 3, 4 for p=11 // 0, 1, 2, 3, 4, 5, 6 for p=13 // 0, 1, 2, 3, 4, 5, 6 for p=15 // 0, 1, 2, 3, 4, 5, 6 for p=17; unsigned int tsize=17984; void main () { unsigned int i,N,count,t1size; unsigned int *table1; double sum; double max,min; FILE *Outfp; Outfp = fopen("out3.dat","w"); if (Outfp==NULL) return; table1=(unsigned int*) malloc(800008); if (table1==NULL) { printf("not enough memory \n"); return; } t1size=primed(table1,tsize,table,250000); // make larger prime look-up table printf("prime look-up table size=%d, last prime=%d \n",t1size,table1[t1size-1]); // count=0; max=0.0; min=1000000; for (N=1; N<=MAXN; N++) { if (check!=0) { if (pcheck(N,p,pprod,subcur,t1size,table1)==1) { count=count+1; if (count>newcnt) goto zskip; } else continue; } sum=0.0; for (i=1; i<=N; i++) { if (N==(N/i)*i) { if (scale==0) { if (diff==0) sum=sum+riem[i-1]*mobius(i,table1,t1size); else sum=sum+(riem[i+inc]-riem[i-1])*mobius(i,table1,t1size); } else { if (diff==0) sum=sum+riem[i-1]/log(riem[i-1])*mobius(i,table1,t1size); else sum=sum+(riem[i+inc]/log(riem[i+inc])-riem[i-1]/log(riem[i-1]))*mobius(i,table1,t1size); } } } if (sum>max) max=sum; if (sum<min) min=sum; printf("sum=%llf, N=%d \n",sum,N); fprintf(Outfp," %llf, \n",sum); } count=count+1; zskip: printf("max=%llf min=%llf count=%d \n",max,min,count-1); fclose(Outfp); return; } /****************************************************************************** * * * FIND MINIMA OF CONVOLUTIONS OF ZEROS WITH THE MOBIUS FUNCTION (test3a) * * 03/08/16 (dkc) * * * * The output (y(x)) is a step function where values drop at x values having * * a large number of small prime divisors (square-free). When the difference * * between every other zeta function zero is considered, the number of prime * * factors is usually non-decreasing. * * * ******************************************************************************/ #include <math.h> #include <stdio.h> #include "zerosi.h" #include "table2.h" int mobius(unsigned int a, unsigned int *table, unsigned int tsize); // unsigned int iters=10000; // number of iterations unsigned int delta=1; // amount to increment index // unsigned int scale=0; // if set, divide zeros by their logarithms unsigned int outmin=0; // select minimum or maximum unsigned int diff=1; // if set, take differences unsigned int inc=0; // offset for differences (0 for next) // void main () { unsigned int h,i,N; unsigned int tsize=17984; // prime look-up table size unsigned int MAXN,savind,savind1; double sum; double max,min,oldmin,oldmax; FILE *Outfp; Outfp = fopen("out3a.dat","w"); if (Outfp==NULL) return; // oldmin=1000000.0; oldmax=-1.0; for (h=1; h<=iters; h++) { // if (h!=(h/2)*2) // continue; if (h==(h/1000)*1000) printf("h=%d \n",h); MAXN=h*delta; max=0.0; min=1000000; savind=1; savind1=1; for (N=1; N<=MAXN; N++) { sum=0.0; for (i=1; i<=N; i++) { if (N==(N/i)*i) { if (scale==0) { if (diff==0) sum=sum+riem[i-1]*mobius(i,table,tsize); else sum=sum+(riem[i+inc]-riem[i-1])*mobius(i,table,tsize); } else { if (diff==0) sum=sum+riem[i-1]/log(riem[i-1])*mobius(i,table,tsize); else sum=sum+(riem[i+inc]/log(riem[i+inc])-riem[i-1]/log(riem[i-1]))*mobius(i,table,tsize); } } } if (sum>max) { max=sum; savind1=MAXN; } if (sum<min) { min=sum; savind=MAXN; } } if (outmin!=0) { if (min<oldmin) { printf("h=%d, min=%llf index=%d \n",MAXN,min,savind); oldmin=min; } } else { if (max>oldmax) { printf("h=%d, max=%llf index=%d \n",MAXN,max,savind1); oldmax=max; } } if (outmin!=0) fprintf(Outfp," %llf \n",min); else fprintf(Outfp," %llf \n",max); } fclose(Outfp); return; } /****************************************************************************** * * * COMPUTE DIRICHLET INVERSE (test4) * * 03/08/18 (dkc) * * * * Normally distributed. Probit bounds upper part of sorted curve but not * * the bottom. For differences, probit is bounded and the mean of the * * distribution is almost zero. * * * ******************************************************************************/ #include <math.h> #include <stdio.h> #include "zerosi.h" //#include "out4.h" extern char *malloc(); void dirinv(double *input, double *output, unsigned int size); // unsigned int MAXN=1000; unsigned int scale=0; // if set, divide zeros by their logarithms unsigned int diff=1; // if set, input differences of zeros unsigned int inc=1; // offset for differences (0 for next zero) unsigned int sort=0; // if set, sort output // void main () { unsigned int i,N,index; double *dirin,temp,min,max; double *output; FILE *Outfp; Outfp = fopen("out4.dat","w"); if (Outfp==NULL) return; output=(double*) malloc(800008); if (output==NULL) { printf("not enough memory \n"); return; } dirin=(double*) malloc(800008); if (dirin==NULL) { printf("not enough memory \n"); return; } // // Dirichlet inverse // for (N=1; N<=MAXN; N++) { if (scale!=0) { if (diff==0) dirin[N-1]=riem[N-1]/log(riem[N-1]); else dirin[N-1]=riem[N+inc]/log(riem[N+inc])-riem[N-1]/log(riem[N-1]); } else { if (diff==0) dirin[N-1]=riem[N-1]; else dirin[N-1]=riem[N+inc]-riem[N-1]; } } dirinv(dirin,output,MAXN); // // sort // if (sort!=0) { min=1000000.0; index=0; for (N=0; N<MAXN; N++) { min=output[N]; index=N; for (i=N+1; i<MAXN; i++) { if (output[i]<min) { min=output[i]; index=i; } } if (index!=N) { temp=output[N]; output[N]=output[index]; output[index]=temp; } } } min=1000000.0; max=0.0; for (N=1; N<=MAXN; N++) { if (output[N-1]>max) max=output[N-1]; if (output[N-1]<min) min=output[N-1]; fprintf(Outfp," %llf, \n",output[N-1]); } printf("min=%llf max=%llf \n",min,max); fclose(Outfp); return; } /****************************************************************************** * * * COMPUTE MAXIMA AND MINIMA OF DIRICHLET INVERSES (test4a) * * 03/08/18 (dkc) * * * * Dirichlet inverses of the differences of zeta function zeros are computed. * * The inverses are normally distributed and the means of the distributions * * are almost zero. The probit function is bounded by the inverses. The * * minima or maxima of the distributions are output. * * * ******************************************************************************/ #include <math.h> #include <stdio.h> #include "zerosi.h" extern char *malloc(); void dirinv(double *input, double *output, unsigned int size); // unsigned int hmax=5000; // maximum h value unsigned int delta=1; // h increment unsigned int outmin=0; // select minimum or maximum // unsigned int diff=1; // if set, take differences unsigned int scale=0; // if set, divide zeros by their logarithms unsigned int inc=1; // offset for differences (0 for next zero) unsigned int outall=0; // if set, output all minima or maxima unsigned int sort=0; // if set, sort output // void main () { unsigned int h,MAXN,N; double *dirin,max,min,oldmin,oldmax; double *output; FILE *Outfp; Outfp = fopen("out4a.dat","w"); if (Outfp==NULL) return; output=(double*) malloc(800008); if (output==NULL) { printf("not enough memory \n"); return; } dirin=(double*) malloc(800008); if (dirin==NULL) { printf("not enough memory \n"); return; } // // Dirichlet inverse // oldmin=1000000; oldmax=-1.0; for (h=1; h<=hmax; h++) { MAXN=h*delta; if (delta!=1) printf("MAXN=%d \n",MAXN); if ((MAXN+inc)>999999) break; // if ((MAXN>630)&&(delta==1)) { // if (MAXN!=(MAXN/30)*30) // continue; // } for (N=1; N<=MAXN; N++) { if (scale!=0) { if (diff!=0) dirin[N-1]=riem[N+inc]/log(riem[N+inc])-riem[N-1]/log(riem[N-1]); else dirin[N-1]=riem[N-1]/log(riem[N-1]); } else { if (diff!=0) dirin[N-1]=riem[N+inc]-riem[N-1]; else dirin[N-1]=riem[N-1]; } } dirinv(dirin,output,MAXN); if ((h==1)&&(delta==1)) fprintf(Outfp," %llf \n",output[0]); min=1000000.0; max=0.0; for (N=1; N<=MAXN; N++) { if (output[N-1]>max) max=output[N-1]; if (output[N-1]<min) min=output[N-1]; } if (min<oldmin) { if (outmin!=0) printf("h=%d, min=%llf \n",MAXN,min); oldmin=min; } if (max>oldmax) { if (outmin==0) printf("h=%d, max=%llf \n",MAXN,max); oldmax=max; } if (outmin==0) { if (outall==0) fprintf(Outfp," %llf \n",oldmax); else fprintf(Outfp," %llf \n",max); } else { if (outall==0) fprintf(Outfp," %llf \n",oldmin); else fprintf(Outfp," %llf \n",min); } } fclose(Outfp); return; } /******************************************************************************/ /* */ /* COMPUTE PROBIT FUNCTION (test5) */ /* 03/09/18 (dkc) */ /* */ /* Steinbrecher and Shaw's method is used. Matlab uses sqrt(2)*erfinv(2p-1). */ /* For MAXN=1000, Matlab doesn't appear to compute the tails very accurately. */ /* */ /* 03/16/18 Changed initial p value from 0 to 1/(MAXN+1) (optional). */ /* */ /******************************************************************************/ #include <math.h> #include <stdio.h> unsigned int MAXN=99999; unsigned int pzero=0; // if set, start with p=0 unsigned int takeabs=0; void main () { long double sum,pi,save[10],p,temp,temp1,savep[601],pio4,pinc,d[300],savpos; long double oldsum,maxsum,oldmax; unsigned int i,j,k,maxk,first; FILE *Outfp; Outfp = fopen("out5.dat","w"); if (Outfp==NULL) return; pi=3.14159265358979323846; pio4=pi/4.0; save[0]=1.0; save[1]=pio4*(save[0]); save[2]=pio4*(save[0]*save[1]+save[1]*save[0]/6.0); save[3]=pio4*(save[0]*save[2]+save[1]*save[1]/6.0+save[2]*save[0]/15.0); save[4]=pio4*(save[0]*save[3]+save[1]*save[2]/6.0+save[2]*save[1]/15.0+save[3]*save[0]/28.0); save[5]=pio4*(save[0]*save[4]+save[1]*save[3]/6.0*save[2]*save[2]/15.0+save[3]*save[1]/28.0+save[4]*save[0]/45.0); maxk=200; d[0]=1.0; for (k=1; k<=maxk; k++) { sum=0.0; for (j=0; j<k; j++) { sum=sum+d[j]*d[k-1-j]/(double)(j+1)/(double)(2*j+1); } sum=sum*pio4; d[k]=sum; // if (d[k]!=save[k]) { // printf(" k=%d %llf %llf \n",k,d[k],save[k]); // return; // } } first=1; p=0.0; if (pzero==0) { pinc=1.0/(double)(MAXN+1); p=p+pinc; } else pinc=1.0/(double)MAXN; for (i=0; i<MAXN; i++) { temp=2*p-1; temp1=1.0; for (k=0; k<=(2*maxk+1); k++) { savep[k]=temp1; temp1=temp1*temp; } sum=0.0; for (k=0; k<=maxk; k++) sum=sum+d[k]/(double)(2*k+1)*savep[2*k+1]; sum=sum*sqrt(pi/2.0); if (i==0) maxsum=sum; if (i==1) oldmax=sum; if (takeabs!=0) { if (sum<0.0) sum=-sum; } if ((sum>0.0)&&(first!=0)) { savpos=oldsum; first=0; } // printf("p=%llf %llf \n",p,sum); fprintf(Outfp," %llf, \n",sum); oldsum=sum; p=p+pinc; } // printf("smallest value=%llf \n",maxsum); printf("next smallest value=%llf \n",oldmax); printf("last negative value=%llf \n",savpos); fclose(Outfp); return; } /******************************************************************************/ /* */ /* COMPUTE PROBIT FUNCTION (test5a) */ /* 03/16/18 (dkc) */ /* */ /* Steinbrecher and Shaw's method is used. Matlab uses sqrt(2)*erfinv(2p-1). */ /* For MAXN=1000, Matlab doesn't appear to compute the tails very accurately. */ /* */ /* The floating point results (presumably having a 53-bit mantissa) are */ /* compared to results using 62 bit fixed-point arithmetic. No significant */ /* difference was found. */ /* */ /* 03/16/18 Changed initial p value from 0 to 1/(MAXN+1). */ /* */ /******************************************************************************/ #include <math.h> #include <stdio.h> void mul64_64(unsigned int a0, unsigned int a2, unsigned int m0, unsigned int m2, unsigned int *product); void div128_64(unsigned int a0, unsigned int a1, unsigned int a2, unsigned int a3, unsigned int *quotient, unsigned int d2, unsigned int d3); void add64(unsigned int *a, unsigned int *b); void shift(unsigned int A[2], unsigned int B[2], unsigned int shift); void lshiftn(unsigned int *a, unsigned int *b, unsigned int shift, unsigned int n); void add128(unsigned int *a, unsigned int *b); void sub128(unsigned int *a, unsigned int *b); // unsigned int MAXN=99999; unsigned int takeabs=0; // void main () { long double sum,pi,p,temp,temp1,savep[601],pio4,pinc,d[300],savpos; long double oldsum,maxsum,oldmax,sqpi2,temp2,temp3,temp4,maxdif; unsigned int i,j,k,maxk,first,Z[4],SQP[2]; unsigned int D[300*4],P[4],Q[4],S[4],T[2],PI[2],PI4[2],SP[601*4],PINC[4],PR[4]; FILE *Outfp; Outfp = fopen("out5a.dat","w"); if (Outfp==NULL) return; pi=3.14159265358979323846; // 3.243F6 A8885 A308D 31319 8A2E0 37073 sqpi2=1.25331413732; // sqrt(pi/2) SQP[0]=0x140d931f; SQP[1]=0xf6762ea7; PI[0]=0x3243F6A8; PI[1]=0x885A308D; PI4[0]=PI[0]; PI4[1]=PI[1]; T[0]=0; T[1]=2; add64(T,PI4); shift(PI4,PI4,2); pio4=pi/4.0; maxk=200; d[0]=1.0; D[0]=0x08000000; D[1]=0; D[2]=0; D[3]=0; for (k=1; k<=maxk; k++) { sum=0.0; S[0]=0; S[1]=0; S[2]=0; S[3]=0; for (j=0; j<k; j++) { sum=sum+d[j]*d[k-1-j]/(double)(j+1)/(double)(2*j+1); mul64_64(D[4*j],D[4*j+1],D[4*(k-1-j)],D[4*(k-1-j)+1],P); div128_64(P[0],P[1],P[2],P[3],Q,0,(j+1)*(2*j+1)); add128(Q,S); } sum=sum*pio4; mul64_64(S[0],S[1],PI4[0],PI4[1],P); d[k]=sum; lshiftn(P,P,9,4); D[4*k]=P[0]; D[4*k+1]=P[1]; D[4*k+2]=P[2]; D[4*k+3]=P[3]; } maxdif=0.0; Z[0]=0; Z[1]=0; Z[2]=0; Z[3]=0; first=1; p=0.0; pinc=1.0/(double)(MAXN+1); p=p+pinc; div128_64(0x40000000,0,0,0,PINC,0,MAXN+1); PR[0]=0; PR[1]=0; PR[2]=0; PR[3]=0; add128(PINC,PR); for (i=0; i<MAXN; i++) { temp=2*p-1; temp1=1.0; S[0]=0x40000000; // 1 S[1]=0; S[2]=0; S[3]=0; SP[0]=S[0]; SP[1]=S[1]; SP[2]=S[2]; SP[3]=S[3]; P[0]=PR[0]; // p P[1]=PR[1]; P[2]=PR[2]; P[3]=PR[3]; lshiftn(P,P,1,4); // 2*p sub128(S,P); // 1-2*p if ((P[0]&0x80000000)!=0) sub128(Z,P); S[0]=P[0]; S[1]=P[1]; S[2]=P[2]; S[3]=P[3]; for (k=0; k<=(2*maxk+1); k++) { savep[k]=temp1; temp1=temp1*temp; SP[4*k+4]=P[0]; SP[4*k+5]=P[1]; SP[4*k+6]=P[2]; SP[4*k+7]=P[3]; mul64_64(P[0],P[1],S[0],S[1],Q); lshiftn(Q,Q,2,4); P[0]=Q[0]; P[1]=Q[1]; P[2]=Q[2]; P[3]=Q[3]; } sum=0.0; S[0]=0; S[1]=0; S[2]=0; S[3]=0; for (k=0; k<=maxk; k++) { div128_64(D[4*k],D[4*k+1],D[4*k+2],D[4*k+3],Q,0,2*k+1); mul64_64(SP[4*(2*k+1)],SP[4*(2*k+1)+1],Q[0],Q[1],Q); lshiftn(Q,Q,5,4); add128(Q,S); sum=sum+d[k]/(double)(2*k+1)*savep[2*k+1]; } sum=sum*sqrt(pi/2.0); mul64_64(S[0],S[1],SQP[0],SQP[1],P); lshiftn(P,S,3,4); // // compare results // temp2=sum; if (temp2<0.0) temp2=-temp2; temp3=((double)S[0]+(double)S[1]/65536.0/65536.0)/65536.0/8192.0; temp4=temp2-temp3; if (temp4<0.0) temp4=-temp4; if (temp4>maxdif) maxdif=temp4; // printf("sum=%llf, %llf \n",sum,((double)S[0]+(double)S[1]/65536.0/65536.0)/65536.0/8192.0); // if (i==0) maxsum=sum; if (i==1) oldmax=sum; if (takeabs!=0) { if (sum<0.0) sum=-sum; } if ((sum>0.0)&&(first!=0)) { savpos=oldsum; first=0; } fprintf(Outfp," %llf, \n",sum); oldsum=sum; p=p+pinc; add128(PINC,PR); } // printf("\n"); printf("maximum difference=%llf \n",maxdif); printf("smallest value=%llf \n",maxsum); printf("next smallest value=%llf \n",oldmax); printf("last negative value=%llf \n",savpos); fclose(Outfp); return; } /****************************************************************************** * * * 64x64 BIT MULTIPLY (UNSIGNED) * * 01/12/07 (dkc) * * * ******************************************************************************/ unsigned int carry(unsigned int a, unsigned int b, unsigned int sum); void mul64_64(unsigned int a0, unsigned int a2, unsigned int m0, unsigned int m2, unsigned int *product) { unsigned int a1,a3,m1,m3,temp; unsigned int p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15; unsigned int s0,s1,s2,s3; unsigned int c1,c2,c3; a1=a0&0xffff; a0=a0>>16; a3=a2&0xffff; a2=a2>>16; m1=m0&0xffff; m0=m0>>16; m3=m2&0xffff; m2=m2>>16; p0=a0*m0; p1=a0*m1; p2=a1*m0; p3=a0*m2; p4=a1*m1; p5=a2*m0; p6=a0*m3; p7=a1*m2; p8=a2*m1; p9=a3*m0; p10=a1*m3; p11=a2*m2; p12=a3*m1; p13=a2*m3; p14=a3*m2; p15=a3*m3; s3=p15+(p14<<16); c3=carry(p15,(p14<<16),s3); temp=s3+(p13<<16); c3+=carry(s3,(p13<<16),temp); s3=temp; s2=p12+(p14>>16); c2=carry(p12,(p14>>16),s2); temp=s2+(p13>>16); c2+=carry(s2,(p13>>16),temp); s2=temp; temp=s2+p11; c2+=carry(s2,p11,temp); s2=temp; temp=s2+p10; c2+=carry(s2,p10,temp); s2=temp; temp=s2+(p9<<16); c2+=carry(s2,(p9<<16),temp); s2=temp; temp=s2+(p8<<16); c2+=carry(s2,(p8<<16),temp); s2=temp; temp=s2+(p7<<16); c2+=carry(s2,(p7<<16),temp); s2=temp; temp=s2+(p6<<16); c2+=carry(s2,(p6<<16),temp); s2=temp; s1=p5+(p9>>16); c1=carry(p5,(p9>16),s1); temp=s1+(p8>>16); c1+=carry(s1,(p8>>16),temp); s1=temp; temp=s1+(p7>>16); c1+=carry(s1,(p7>>16),temp); s1=temp; temp=s1+(p6>>16); c1+=carry(s1,(p6>>16),temp); s1=temp; temp=s1+p4; c1+=carry(s1,p4,temp); s1=temp; temp=s1+p3; c1+=carry(s1,p3,temp); s1=temp; temp=s1+(p2<<16); c1+=carry(s1,(p2<<16),temp); s1=temp; temp=s1+(p1<<16); c1+=carry(s1,(p1<<16),temp); s1=temp; s0=p0+(p2>>16); s0=s0+(p1>>16); temp=s2+c3; c2+=carry(s2,c3,temp); s2=temp; temp=s1+c2; c1+=carry(s1,c2,temp); s1=temp; s0=s0+c1; *product=s0; *(product+1)=s1; *(product+2)=s2; *(product+3)=s3; return; } /*****************************************************************************/ /* */ /* 128/64 BIT DIVIDE (UNSIGNED) */ /* 01/12/07 (dkc) */ /* */ /*****************************************************************************/ unsigned int carry(unsigned int a, unsigned int b, unsigned int sum); unsigned int lmbd(unsigned int mode, unsigned int a); void div128_64(unsigned int a0, unsigned int a1, unsigned int a2, unsigned int a3, unsigned int *quotient, unsigned int d2, unsigned int d3) { unsigned int i,d0,d1,dshift,ashift,count,flag; unsigned int shift,c,c0,c1,c2,temp,temp0,temp1,temp2,temp3; if (d2==0) { if ((a0==0)&&(a1==0)&&(a2==0)&&(a3<d3)) { *quotient=0; *(quotient+1)=0; *(quotient+2)=0; *(quotient+3)=0; return; } } else { if ((a0==0)&&(a1==0)&&(a2<d2)) { *quotient=0; *(quotient+1)=0; *(quotient+2)=0; *(quotient+3)=0; return; } } dshift=lmbd(1,d2); if (d2==0) dshift+=lmbd(1,d3); dshift+=64; ashift=lmbd(1,a0); if (a0==0) ashift+=lmbd(1,a1); if ((a0|a1)==0) ashift+=lmbd(1,a2); if ((a0|a1|a2)==0) ashift+=lmbd(1,a3); shift=dshift-ashift; count=shift+1; d0=0; d1=0; if (shift<32) { if (shift!=0) { d1=d2>>(32-shift); d2=(d2<<shift)|(d3>>(32-shift)); } else d1=0; // added to get MSVC to work d3=d3<<shift; flag=3; shift=32-shift; } else { shift=shift-32; d1=d2; d2=d3; d3=0; if (shift<32) { if (shift!=0) { d0=d1>>(32-shift); d1=(d1<<shift)|(d2>>(32-shift)); } else d0=0; // added to get MSVC to work d2=d2<<shift; flag=2; shift=32-shift; } else { shift=shift-32; d0=d1; d1=d2; d2=0; if (shift<32) { if (shift!=0) // added to get MSVC to work d0=(d0<<shift)|(d1>>(32-shift)); d1=d1<<shift; flag=1; shift=32-shift; } else { shift=shift-32; d0=d1; d1=0; d0=d0<<shift; flag=0; shift=32-shift; } } } d0=~d0; d1=~d1; d2=~d2; d3=~d3; temp=d3+1; c=carry(d3,1,temp); d3=temp; temp=d2+c; c=carry(d2,c,temp); d2=temp; temp=d1+c; c=carry(d1,c,temp); d1=temp; d0=d0+c; for (i=0; i<count; i++) { temp3=a3+d3; c2=carry(a3,d3,temp3); temp=a2+c2; c1=carry(a2,c2,temp); temp2=temp+d2; c1+=carry(temp,d2,temp2); temp=a1+c1; c0=carry(a1,c1,temp); temp1=temp+d1; c0+=carry(temp,d1,temp1); temp0=a0+d0+c0; if ((temp0>>31)==0) { a0=temp0<<1; if ((temp1>>31)!=0) c=1; else c=0; a0=a0+c; a1=temp1<<1; if ((temp2>>31)!=0) c=1; else c=0; a1=a1+c; a2=temp2<<1; if ((temp3>>31)!=0) c=1; else c=0; a2=a2+c; a3=temp3<<1; a3=a3+1; } else { a0=a0<<1; if ((a1>>31)!=0) c=1; else c=0; a0=a0+c; a1=a1<<1; if ((a2>>31)!=0) c=1; else c=0; a1=a1+c; a2=a2<<1; if ((a3>>31)!=0) c=1; else c=0; a2=a2+c; a3=a3<<1; } } shift=shift-1; if (flag==3) { a0=0; a1=0; a2=0; a3=a3<<shift; a3=a3>>shift; } else { if (flag==2) { a0=0; a1=0; a2=a2<<shift; a2=a2>>shift; } else { if (flag==1) { a0=0; a1=a1<<shift; a1=a1>>shift; } else { a0=a0<<shift; a0=a0>>shift; } } } *quotient=a0; *(quotient+1)=a1; *(quotient+2)=a2; *(quotient+3)=a3; return; } /****************************************************************************** * * * 64-BIT ADD * * 01/12/07 (dkc) * * * ******************************************************************************/ unsigned int carry(unsigned int a, unsigned int b, unsigned int sum); void add64(unsigned int *a, unsigned int *b) { unsigned int high0,high1,low0,low1,templo,temphi,c; high0=*a; low0=*(a+1); high1=*b; low1=*(b+1); templo=low0+low1; c=carry(low0,low1,templo); temphi=high0+high1+c; *b=temphi; *(b+1)=templo; return; } /*****************************************************************************/ /* */ /* RIGHT-SHIFT 64 BITS */ /* 10/16/09 (dkc) */ /* */ /*****************************************************************************/ void shift(unsigned int A[2], unsigned int B[2], unsigned int shift) { unsigned int temp; B[0]=A[0]; B[1]=A[1]; while (shift>31) { B[1]=B[0]; B[0]=0; shift=shift-32; } if (shift==0) return; B[1]=B[1]>>shift; temp=B[0]<<(32-shift); B[1]=B[1]|temp; B[0]=B[0]>>shift; return; } /*****************************************************************************/ /* */ /* LEFT-SHIFT 32*N BITS */ /* 10/16/09 (dkc) */ /* */ /*****************************************************************************/ void lshiftn(unsigned int *a, unsigned int *b, unsigned int shift, unsigned int n) { unsigned int i; for (i=0; i<n; i++) *(b+i)=*(a+i); while (shift>31) { for (i=0; i<n-1; i++) *(b+i)=*(b+i+1); *(b+n-1)=0; shift=shift-32; } if (shift==0) return; for (i=0; i<n-1; i++) *(b+i)=(*(b+i)<<shift)|(*(b+i+1)>>(32-shift)); *(b+n-1)=*(b+n-1)<<shift; return; } /****************************************************************************** * * * 128-BIT ADD * * 01/12/07 (dkc) * * * ******************************************************************************/ unsigned int carry(unsigned int a, unsigned int b, unsigned int sum); void add128(unsigned int *a, unsigned int *b) { unsigned int a0,a1,a2,a3,b0,b1,b2,b3; unsigned int s0,s1,s2,s3,temp,c1,c2,c3; a0=*a; a1=*(a+1); a2=*(a+2); a3=*(a+3); b0=*b; b1=*(b+1); b2=*(b+2); b3=*(b+3); s3=a3+b3; c3=carry(a3,b3,s3); s2=a2+b2; c2=carry(a2,b2,s2); s1=a1+b1; c1=carry(a1,b1,s1); s0=a0+b0; temp=s2+c3; c2+=carry(s2,c3,temp); s2=temp; temp=s1+c2; c1+=carry(s1,c2,temp); s1=temp; s0=s0+c1; *b=s0; *(b+1)=s1; *(b+2)=s2; *(b+3)=s3; return; } /****************************************************************************** * * * 128-BIT SUBTRACT * * 01/12/07 (dkc) * * * ******************************************************************************/ unsigned int carry(unsigned int a, unsigned int b, unsigned int sum); void sub128(unsigned int *a, unsigned int *b) { unsigned int a0,a1,a2,a3,b0,b1,b2,b3; unsigned int s0,s1,s2,s3,temp,c,c1,c2,c3; a0=*a; a1=*(a+1); a2=*(a+2); a3=*(a+3); b0=*b; b1=*(b+1); b2=*(b+2); b3=*(b+3); b0=~b0; b1=~b1; b2=~b2; b3=~b3; temp=b3+1; c=carry(b3,1,temp); b3=temp; temp=b2+c; c=carry(b2,c,temp); b2=temp; temp=b1+c; c=carry(b1,c,temp); b1=temp; b0=b0+c; s3=a3+b3; c3=carry(a3,b3,s3); s2=a2+b2; c2=carry(a2,b2,s2); s1=a1+b1; c1=carry(a1,b1,s1); s0=a0+b0; temp=s2+c3; c2+=carry(s2,c3,temp); s2=temp; temp=s1+c2; c1+=carry(s1,c2,temp); s1=temp; s0=s0+c1; *b=s0; *(b+1)=s1; *(b+2)=s2; *(b+3)=s3; return; } /*****************************************************************************/ /* */ /* LEFT-MOST BIT DETECTION */ /* 01/12/07 (dkc) */ /* */ /*****************************************************************************/ unsigned int lmbd(unsigned int mode, unsigned int a) { unsigned int i,mask,count; if (mode==0) a=~a; if (a==0) return(32); count=0; mask=0x80000000; for (i=0; i<32; i++) { if ((a&mask)!=0) break; count+=1; mask>>=1; } return(count); } /*****************************************************************************/ /* */ /* CARRY */ /* 01/12/07 (dkc) */ /* */ /*****************************************************************************/ unsigned int carry(unsigned int a, unsigned int b, unsigned int sum) { unsigned int c; if ((a&b)>>31!=0) c=1; else { if ((a|b)>>31==0) c=0; else { if (sum>=0x80000000) c=0; else c=1; } } return c; } /*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C COMPUTE RAMANUJAN SUMS (test8) C C 01/30/18 (DKC) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/ #include <stdio.h> #include <math.h> #include "table2.h" #include "zerosi.h" // 100000 zeros extern char *malloc(); unsigned int pcheck(unsigned int N, unsigned int p, unsigned int pprod, unsigned int subcur, unsigned int size, unsigned int *table); double interp1(double ND, double ND1, unsigned int I, double init, double *out); unsigned int euclid(unsigned int d, unsigned int e); // unsigned int MAXN=1000; unsigned int I=1; // number of values to interpolate unsigned int numlim=1000; unsigned int scale=0; // if set, divide zeros by their logarithms unsigned int check=0; // check if N is prime, etc. unsigned int p=1; // power of prime (up to 17 complete) unsigned int kay=19; // k unsigned int pprod=1; // if set when p>1 and odd, do primes and combinations unsigned int subcur=0; // sub-curves, set to 0 to do all // 0, 1, 2 for p=3 // 0, 1, 2 for p=5 // 0, 1, 2, 3 for p=7 // 0, 1, 2, 3 for p=9 // 0, 1, 2, 3, 4 for p=11 // 0, 1, 2, 3, 4, 5, 6 for p=13 // 0, 1, 2, 3, 4, 5, 6 for p=15 // 0, 1, 2, 3, 4, 5, 6 for p=17; unsigned int outscale=0; // if set, divide output by logarithms unsigned int tsize=17984; // void main() { unsigned int i,N,count,d; double *output; double init,sum; FILE *Outfp; Outfp = fopen("out8.dat","w"); output=(double*) malloc(800008); if (output==NULL) { printf("not enough memory \n"); return; } if (scale!=0) { for (i=0; i<MAXN; i++) riem[i]=riem[i]/log(riem[i]); } init=riem[0]; for (i=0; i<(numlim+1); i++) init=interp1(riem[i],riem[i+1],I,init,&output[i*I]); // count=0; for (N=1; N<=MAXN; N++) { sum=0.0; for (i=1; i<=N; i++) { d=euclid(i,kay); if (N==(N/d)*d) { sum=sum+output[d-1]*output[kay/d-1]; } } if (check!=0) { if (pcheck(N,p,pprod,subcur,tsize,table)==1) { count=count+1; fprintf(Outfp," %llf, \n",sum-output[0]); } } else { if (outscale==0) fprintf(Outfp," %llf, \n",sum); else fprintf(Outfp," %llf, \n",sum/log(sum)); } } printf("count=%d \n",count); fclose(Outfp); return; } /****************************************************************************** * * * TEST PHI AND MOBIUS SUBROUTINES (test9) * * 04/02/10 (dkc) * * * ******************************************************************************/ #include <math.h> #include <stdio.h> #include "table2.h" extern char *malloc(); int liouvill(unsigned int a, unsigned int *table, unsigned int tsize); unsigned int phi(unsigned int a, unsigned int *table, unsigned int tsize); int mobius(unsigned int a, unsigned int *table, unsigned int tsize); void dirinv(double *input, double *output, unsigned int count); unsigned int MAXN=20; double input[20]={ 0.187385, -0.242368, -0.272794, 0.000679, -0.330931, 0.341767, -0.387108, 0.000040, -0.038278, 0.408796, -0.468534, -0.008380, -0.510324, 0.481443, 0.416066, -0.039088, -0.575670, 0.053345, -0.614358, -0.022332}; void main () { double sum; unsigned int i,j,N; unsigned int tsize=17984; int k; double *recur; double *dirin; int *save; int *save1; save=(int*) malloc(8008); if (save==NULL) { printf("not enough memory \n"); return; } save1=(int*) malloc(8008); if (save1==NULL) { printf("not enough memory \n"); return; } recur=(double*) malloc(8008); if (recur==NULL) { printf("not enough memory \n"); return; } dirin=(double*) malloc(8008); if (dirin==NULL) { printf("not enough memory \n"); return; } // // compute phi function // printf("phi and mobius\n"); save[0]=1; save1[0]=1; printf(" %d %d %d \n",1,1,1); for (i=2; i<=MAXN; i++) { j=phi(i,table,tsize); k=mobius(i,table,tsize); save[i-1]=j; save1[i-1]=k; printf(" %d %d %d \n",i,j,k); } // // compute Dirichlet inverse (phi function) // printf("\n"); printf("inverse of completely multiplicative function \n"); for (i=1; i<=MAXN; i++) { k=save[i-1]*save1[i-1]; printf(" %d %d %d %d \n",i,save[i-1],save1[i-1],k); } printf("\n"); printf("inverse of phi function (gives strange function) \n"); // // compute Dirichlet inverse (phi function) // recur[0]=1.0/(double)save[0]; printf(" %d %llf \n",1,recur[0]); for (N=2; N<=MAXN; N++) { sum=0.0; for (i=1; i<N; i++) { if (N==(N/i)*i) sum=sum+save[N/i-1]*recur[i-1]; } recur[N-1]=-1.0/(double)save[0]*sum; printf(" %d %llf \n",N,recur[N-1]); } // // compute Dirichlet inverse (Liouville function) // printf("\n"); printf("inverse of completely multiplicative function \n"); for (i=1; i<=MAXN; i++) { k=liouvill(i, table, tsize); save[i-1]=k; printf(" %d %d %d %d \n",i,k,save1[i-1],k*save1[i-1]); save1[i-1]=k*save1[i-1]; } printf("\n"); printf("inverse of Liouville function (gives abs of Mobius) \n"); // // compute Dirichlet inverse (Liouville function) // recur[0]=1.0/(double)save[0]; printf(" %d %llf \n",1,recur[0]); for (N=2; N<=MAXN; N++) { sum=0.0; for (i=1; i<N; i++) { if (N==(N/i)*i) sum=sum+save[N/i-1]*recur[i-1]; } recur[N-1]=-1.0/(double)save[0]*sum; printf(" %d %llf %d \n",N,recur[N-1],save1[N-1]); } printf("\n"); printf("compute inverse of inverse \n"); for (i=0; i<MAXN; i++) save1[i]=(int)recur[i]; recur[0]=1.0/(double)save1[0]; printf(" %d %llf \n",1,recur[0]); for (N=2; N<=MAXN; N++) { sum=0.0; for (i=1; i<N; i++) { if (N==(N/i)*i) sum=sum+save1[N/i-1]*recur[i-1]; } recur[N-1]=-1.0/(double)save1[0]*sum; printf(" %d %llf %d \n",N,recur[N-1],save1[N-1]); } // // call subroutine // printf("\n"); printf("same as above, computed using subroutine \n"); for (i=0; i<MAXN; i++) dirin[i]=(double)save[i]; dirinv(dirin,recur,MAXN); for (i=0; i<MAXN; i++) printf(" %d %llf \n",i+1,recur[i]); // // compute Dirichlet inverse (constant function) // printf("\n"); printf("inverse of a constant function (1 in this case, gives Mobius) \n"); recur[0]=1.0/(double)1; printf(" %d %llf \n",1,recur[0]); for (N=2; N<=MAXN; N++) { sum=0.0; for (i=1; i<N; i++) { if (N==(N/i)*i) sum=sum+recur[i-1]; } if (sum!=0.0) recur[N-1]=-1.0/(double)sum; else recur[N-1]=0.0; printf(" %d %llf %d \n",N,recur[N-1],save1[N-1]); } // // compute Dirichlet inverse // printf("\n"); printf("inverse of inverse of zeta function zeros \n"); recur[0]=1.0/input[0]; printf(" %d %llf \n",1,recur[0]); for (N=2; N<=MAXN; N++) { sum=0.0; for (i=1; i<N; i++) { if (N==(N/i)*i) sum=sum+input[N/i-1]*recur[i-1]; } recur[N-1]=-1.0/(double)input[0]*sum; printf(" %d %llf %llf \n",N,recur[N-1],input[N-1]); } return; } /******************************************************************************/ /* */ /* TEST PROBIT PROGRAM (test10) */ /* 03/15/18 (dkc) */ /* *; /* Compare output of the probit program (test 5) to sqrt(2)*erfinv(2*p-1) */ /* (computed by Matlab). */ /* */ /******************************************************************************/ #include <math.h> #include <stdio.h> #include "out5a.dat" #include "out5b.dat" // unsigned int numbp=1000; // number of probability increments // void main () { unsigned int i; long double temp,maxdif,mindif,sum1,sum2; FILE *Outfp; Outfp = fopen("out10.dat","w"); if (Outfp==NULL) return; maxdif=-1000000.0; mindif=1000000.0; sum1=0.0; sum2=0.0; for (i=0; i<numbp; i++) { sum1=sum1+prob1[i]; sum2=sum2+prob2[i]; temp=prob1[i]-prob2[i]; if (temp<0.0) temp=-temp; if (temp>maxdif) maxdif=temp; if (temp<mindif) mindif=temp; printf(" %llf \n",temp); fprintf(Outfp," %llf, \n",temp); } printf("mindif=%llf, maxdif=%llf \n",mindif,maxdif); printf("sum1=%llf, sum2=%llf \n",sum1,sum2); fclose(Outfp); return; } /*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C CONVOLUTIONS OF DIFFERENCES OF ZEROS WITH MOBIUS FUNCTION AT PRODUCTS OF C c SUCCESSIVE PRIMES (test11) C C 03/19/18 (DKC) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/ #include <stdio.h> #include <math.h> #include "zerosi.h" #include "table2.h" extern char *malloc(); // unsigned int MAXN=4; int inc=1; // starts with 1 // void main() { unsigned int i,j,k,p,t,u,index; double sum,temp; unsigned int *f; FILE *Outfp; Outfp = fopen("out11.dat","w"); f=(unsigned int*) malloc(800008); if (f==NULL) { printf("not enough memory \n"); return; } // temp=riem[inc]-riem[0]; printf("sum=%llf \n",temp); f[0]=1; f[1]=0; // f[2]=2; f[3]=1; // f[4]=3; f[5]=1; // f[6]=2*3; f[7]=0; // index=2; k=4; sum=-riem[1]+riem[1+inc]-riem[2]+riem[2+inc]+riem[5]-riem[5+inc]; printf("sum=%llf \n",temp-sum); //printf("\n"); for (i=0; i<MAXN; i++) { p=table[index]; index=index+1; for (j=0; j<k; j++) { f[2*j+k*2]=f[2*j]*p; f[2*j+k*2+1]=f[2*j+1]^1; t=f[2*j+k*2]; u=f[2*j+k*2+1]; printf("t=%d u=%d \n",t,u); if (u==1) sum=sum-riem[t-1]+riem[t+inc-1]; else sum=sum+riem[t-1]-riem[t+inc-1]; } printf("sum=%llf \n",temp-sum); printf("\n"); k=k*2; } fclose(Outfp); return; } /*****************************************************************************/ /* */ /* DIRICHLET INVERSE */ /* 03/15/18 (dkc) */ /* */ /*****************************************************************************/ void dirinv(double *input, double *output, unsigned int MAXN) { unsigned int i,N; double sum; output[0]=1.0/input[0]; for (N=2; N<=MAXN; N++) { sum=0.0; for (i=1; i<N; i++) { if (N==(N/i)*i) sum=sum+input[N/i-1]*output[i-1]; } output[N-1]=-1.0/input[0]*sum; } return; } /*****************************************************************************/ /* */ /* EUCLIDEAN G.C.D. */ /* 11/14/06 (dkc) */ /* */ /*****************************************************************************/ unsigned int euclid(unsigned int d, unsigned int e) { unsigned int a,b,temp; a=d; b=e; if (b>a) { temp=a; a=b; b=temp; } loop: temp=a-(a/b)*b; a=b; b=temp; if (b!=0) goto loop; return(a); } /****************************************************************************** * * * INTERPOLATE BETWEEN FRACTIONS * * 04/02/10 (dkc) * * * ******************************************************************************/ #include <math.h> double interp1(double ND, double ND1, unsigned int I, double init, double *out) { unsigned int i; double F,inc; inc=(ND1-ND)/(double)I; F=init; for (i=0; i<I; i++) { out[i]=F; F=F+inc; } return ND1; } /****************************************************************************** * * * COMPUTE LIOUVILLE FUNCTION * * 04/02/10 (dkc) * * * ******************************************************************************/ #include <math.h> int liouvill(unsigned int a, unsigned int *table, unsigned int tsize) { unsigned int i,b,count,p; if (a==1) return(1); count=0; for (i=0; i<tsize; i++) { p=table[i]; if (p>a) break; if (a==(a/p)*p) { b=a; while (b==(b/p)*p) { count=count+1; b=b/p; } } } if ((count&1)==0) return 1; else return -1; } /****************************************************************************** * * * COMPUTE MOBIUS FUNCTION * * 04/02/10 (dkc) * * * ******************************************************************************/ #include <math.h> int mobius(unsigned int a, unsigned int *table, unsigned int tsize) { unsigned int i,count,p; if (a==1) return(1); count=0; for (i=0; i<tsize; i++) { p=table[i]; if (p>a) break; if (a==(a/p)*p) { a=a/p; if (a==(a/p)*p) return(0); count=count+1; if (a==1) break; } } if ((count&1)==0) return(1); else return(-1); } /****************************************************************************** * * * FIND CURVES AND SUB-CURVES OF DIRICHLET PRODUCTS OF ZETA FUNCTION ZEROS * * 04/22/18 (dkc) * * * * For 32-bit words and N<=100000, the products of primes either don't * * overflow or still give correct results if they do. * * * ******************************************************************************/ #include <math.h> unsigned int pcheck(unsigned int N, unsigned int power, unsigned int extra, unsigned int subcur, unsigned int tsize, unsigned int *table) { unsigned int i,j,k,l; unsigned int p,q,r,s,pth,qth; // use "unsigned long long" for 64-bit words if ((power==17)&&(extra!=0)) goto acskip; if ((power==15)&&(extra!=0)) goto gskip; if ((power==13)&&(extra!=0)) goto fskip; if ((power==11)&&(extra!=0)) goto eskip; if ((power==9)&&(extra!=0)) goto dskip; if ((power==7)&&(extra!=0)) goto cskip; if ((power==5)&&(extra!=0)) goto bskip; if ((power==3)&&(extra!=0)) goto askip; for (i=0; i<tsize; i++) { p=table[i]; pth=p; for (j=1; j<power; j++) pth=pth*p; if (N==pth) return(1); if (N<pth) break; } return(0); // // 3 // askip: if (subcur==2) goto agskip; for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==1) return(0); agskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (p==N) return(1); if (N<p) break; } return(0); // // 5 // bskip: if (subcur==2) goto ahskip; for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==1) return(0); ahskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p*p*p; if (p==N) return(1); if (N<p) break; } return(0); // // 7 // cskip: if (subcur==2) goto afskip; if (subcur==3) goto aiskip; for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==1) return(0); afskip: for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } if (subcur==2) return(0); aiskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p*p; if (N<pth) break; p=p*p*pth; if (p==N) return(1); if (N<p) break; } return(0); // // 9 // dskip: if (subcur==2) goto nskip; if (subcur==3) goto ajskip; for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==1) return(0); nskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==2) return(0); ajskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p*p; if (N<pth) break; p=p*p*p*p*pth; if (p==N) return(1); if (N<p) break; } return(0); // // 11 // eskip: if (subcur==4) goto akskip; if (subcur==3) goto pskip; if (subcur==2) goto oskip; for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p; if (N<pth) break; p=p*p*pth; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; qth=q*q*q; if (N<qth) break; q=q*q*qth; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==1) return(0); oskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==2) return(0); pskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } if (subcur==3) return(0); akskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p; if (N<pth) break; pth=p*p*p*p*pth; if (N<pth) break; p=p*p*p*pth; if (p==N) return(1); if (N<p) break; } return(0); // // 13 // fskip: if (subcur==6) goto alskip; if (subcur==5) goto uskip; if (subcur==4) goto tskip; if (subcur==3) goto rskip; if (subcur==2) goto qskip; for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p; if (N<pth) break; p=p*p*p*pth; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; qth=q*q*q; if (N<qth) break; q=q*q*q*qth; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==1) return(0); qskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q*q; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==2) return(0); rskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } if (subcur==3) return(0); tskip: for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if (N<(p*q*r)) break; for (l=k+1; l<tsize; l++) { s=table[l]; if ((p*q*r*s)==N) return(1); if (N<(p*q*r*s)) break; } } } } if (subcur==4) return(0); uskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==5) return(0); alskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p*p; if (N<pth) break; pth=p*p*p*p*pth; if (N<pth) break; p=p*p*p*p*pth; if (p==N) return(1); if (N<p) break; } return(0); // // 15 // gskip: if (subcur==2) goto kskip; if (subcur==3) goto mskip; if (subcur==4) goto lskip; if (subcur==5) goto abskip; if (subcur==6) goto amskip; for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p; if (N<pth) break; p=p*p*p*pth; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; qth=q*q*q*q; if (N<qth) break; q=q*q*q*qth; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==1) return(0); kskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p; if (N<pth) break; p=p*p*pth; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; qth=q*q*q; if (N<qth) break; q=q*q*qth; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==2) return(0); mskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if (N<(p*q*r)) // N=62801 fix break; r=r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } if (subcur==3) return(0); lskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r*r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } if (subcur==4) return(0); abskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==5) return(0); amskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p*p; if (N<pth) break; pth=p*p*p*p*p*pth; if (N<pth) break; p=p*p*p*p*p*pth; if (p==N) return(1); if (N<p) break; } return(0); // // 17 // acskip: if (subcur==2) goto adskip; if (subcur==3) goto sskip; if (subcur==4) goto aaskip; if (subcur==5) goto aeskip; if (subcur==6) goto anskip; for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p*p; if (N<pth) break; p=p*p*p*pth; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; qth=q*q*q*q*q; if (N<qth) break; q=q*q*q*qth; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==1) return(0); adskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p; if (N<pth) break; p=p*p*pth; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; qth=q*q*q*q; if (N<qth) break; q=q*q*qth; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==2) return(0); sskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r*r; if ((p*q*r)==N) return(1); if (N<(p*q*r)) break; } } } if (subcur==3) return(0); aaskip: for (i=0; i<tsize; i++) { p=table[i]; p=p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if (N<(p*q*r)) break; for (l=k+1; l<tsize; l++) { s=table[l]; if ((p*q*r*s)==N) return(1); if (N<(p*q*r*s)) break; } } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if (N<(p*q*r)) break; for (l=k+1; l<tsize; l++) { s=table[l]; if ((p*q*r*s)==N) return(1); if (N<(p*q*r*s)) break; } } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; r=r*r; if (N<(p*q*r)) break; for (l=k+1; l<tsize; l++) { s=table[l]; if ((p*q*r*s)==N) return(1); if (N<(p*q*r*s)) break; } } } } for (i=0; i<tsize; i++) { p=table[i]; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; if (N<(p*q)) break; for (k=j+1; k<tsize; k++) { r=table[k]; if (N<(p*q*r)) break; for (l=k+1; l<tsize; l++) { s=table[l]; s=s*s; if ((p*q*r*s)==N) return(1); if (N<(p*q*r*s)) break; } } } } if (subcur==4) return(0); aeskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p; if (N<pth) break; p=p*p*pth; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; q=q*q*q; if ((p*q)==N) return(1); if (N<(p*q)) break; } } for (i=0; i<tsize; i++) { p=table[i]; p=p*p*p; if (N<p) break; for (j=i+1; j<tsize; j++) { q=table[j]; qth=q*q*q; if (N<qth) break; q=q*q*qth; if (N<q) break; if ((p*q)==N) return(1); if (N<(p*q)) break; } } if (subcur==5) return(0); anskip: for (i=0; i<tsize; i++) { p=table[i]; pth=p*p*p*p*p; if (N<pth) break; pth=p*p*p*p*pth; if (N<pth) break; pth=p*p*p*p*pth; if (N<pth) break; p=p*p*p*p*pth; if (p==N) return(1); if (N<p) break; } return(0); } /****************************************************************************** * * * COMPUTE PHI FUNCTION * * 04/02/10 (dkc) * * * ******************************************************************************/ #include <math.h> int mobius(unsigned int a, unsigned int *table, unsigned int tsize); unsigned int phi(unsigned int a, unsigned int *table, unsigned int tsize) { unsigned int i,sum; int m; sum=0; for (i=1; i<=a; i++) { if (a==(a/i)*i) { m=mobius(a/i,table,tsize); sum=sum+m*i; } } return(sum); } /*****************************************************************************/ /* */ /* COMPUTE PRIMES */ /* 11/04/15 (dkc) */ /* */ /*****************************************************************************/ #include <math.h> unsigned int primed(unsigned int *out, unsigned int tsize, unsigned int *table,unsigned int limit) { unsigned int d; unsigned int i,j,k,l,flag,count; count=tsize; for (i=0; i<tsize; i++) out[i]=table[i]; j=table[tsize-1]+1; /********************/ /* loop through d */ /********************/ for (d=j; d<=limit; d++) { if(d==(d/2)*2) continue; if(d==(d/3)*3) continue; if(d==(d/5)*5) continue; if(d==(d/7)*7) continue; if(d==(d/11)*11) continue; /************************************************/ /* look for prime factors using look-up table */ /************************************************/ l=(unsigned int)(10.0+sqrt((double)d)); k=0; if (l>table[tsize-1]) return(0); else { for (i=0; i<tsize; i++) { if (table[i]<=l) k=i; else break; } } flag=1; l=k; for (i=0; i<=l; i++) { k=table[i]; if ((d/k)*k==d) { flag=0; break; } } if (flag==1) out[count]=d; count=count+flag; } return(count); } // // out2b1.h (for test2c) // double max1[22]={ 1266.394397, 2248.206668, 3101.465229, 3945.569667, 4753.444678, 5532.594836, 6287.163423, 7038.997455, 7756.555210, 8433.845192, 9211.566768, 9916.961389, 10559.967275, 11307.573377, 11966.432638, 12645.929691, 13331.232541, 14001.299249, 14640.828482, 15343.388244, 15969.532539, 16613.224419}; // // out2b2.h (for test2c) // double max2[22]={ 747.781093, 1298.985120, 1775.450189, 2244.102389, 2691.311325, 3121.320407, 3538.119657, 3951.774034, 4346.264148, 4717.268985, 5145.218934, 5531.171801, 5883.544060, 6292.291852, 6652.370291, 7023.583115, 7398.442451, 7763.545705, 8112.719580, 8496.181222, 8837.650185, 9188.017550}; // // out2e.h (for test2a) // double riem[11000]={ 145.724305, 31.839672, 38.077158, 41.689625, 45.302092, 50.205289, 55.108487, 57.381833, 59.655179, 63.867455, 68.079731, 71.097841, 74.115953, 76.297075, 78.478197, 82.714892, 86.951586, 88.553388, 90.155193, 93.050087, 95.944984, 99.092951, 102.240920, 104.868021, 107.495123, 108.839770, 110.184419, 114.061286, 117.938156, 119.719807, 121.501460, 123.735324, 125.969189, 128.252106, 130.535027, 133.829354, 137.123680, 138.427948, 139.732217, 141.717884, 143.703549, 146.939437, 150.175324, 151.828234, 153.481144, 155.917141, 158.353138, 159.606407, 160.859676, 164.194988, 167.530299, 169.485996, 171.441695, 172.545944, 173.650192, 176.331418, 179.012645, 181.264681, 183.516720, 185.697240, 187.877756, 189.436453, 190.995152, 192.554668, 194.114184, 197.610824, 201.107465, 201.872851, 202.638234, 204.853052, 207.067873, 208.794456, 210.521037, 212.843212, 215.165389, 217.501366, 219.837343, 221.265283, 222.693223, 223.879613, 225.066003, 228.018294, 230.970587, 232.838052, 234.705518, 236.072127, 237.438738, 239.621394, 241.804051, 242.944057, 244.084062, 247.126616, 250.169173, 251.636473, 253.103776, 254.360362, 255.616947, 257.417501, 259.218057, 261.834599, 264.451141, 265.738777, 267.026412, 269.408952, 271.791491, 272.580977, 273.370467, 275.271818, 277.173169, 279.970006, 282.766844, 284.111444, 285.456046, 286.590276, 287.724507, 289.842797, 291.961087, 293.629060, 295.297036, 297.566913, 299.836796, 301.328735, 302.820675, 304.550530, 306.280388, 307.020719, 307.761052, 310.930424, 314.099797, 315.315769, 316.531744, 318.059794, 319.587840, 321.341150, 323.094464, 324.488326, 325.882188, 327.956661, 330.031134, 332.446853, 334.862569, 335.518543, 336.174521, 337.650853, 339.127187, 341.108052, 343.088921, 345.453114, 347.817306, 348.771017, 349.724730, 351.704179, 353.683628, 355.142704, 356.601781, 357.633161, 358.664537, 361.607387, 364.550242, 365.663140, 366.776041, 368.312090, 369.848140, 370.939470, 372.030798, 374.305391, 376.579983, 378.092644, 379.605304, 381.520165, 383.435025, 384.935735, 386.436446, 387.522432, 388.608419, 390.077828, 391.547237, 394.171858, 396.796479, 398.288372, 399.780271, 400.428521, 401.076773, 403.409990, 405.743207, 406.627413, 407.511622, 409.719701, 411.927779, 413.662975, 415.398168, 417.130471, 418.862774, 419.530278, 420.197783, 421.742973, 423.288162, 425.851897, 428.415628, 429.543693, 430.671762, 432.288938, 433.906119, 435.258868, 436.611617, 438.218339, 439.825064, 440.954975, 442.084885, 444.861689, 447.638489, 448.512439, 449.386390, 450.719231, 452.052076, 453.357349, 454.662622, 456.523764, 458.384908, 460.410185, 462.435456, 463.408537, 464.381618, 466.400966, 468.420312, 469.565021, 470.709734, 471.552601, 472.395468, 474.903035, 477.410603, 479.207372, 481.004141, 481.961522, 482.918903, 484.102533, 485.286161, 487.141413, 488.996664, 490.376518, 491.756369, 493.536468, 495.316569, 497.243684, 499.170799, 499.953783, 500.736769, 502.365755, 503.994738, 504.880920, 505.767105, 508.697662, 511.628215, 512.303893, 512.979572, 514.451049, 515.922527, 517.581204, 519.239883, 520.366943, 521.493999, 523.004561, 524.515123, 526.567717, 528.620311, 530.170912, 531.721511, 532.995700, 534.269890, 534.820421, 535.370950, 537.549960, 539.728970, 541.414426, 543.099883, 544.738201, 546.376517, 547.325115, 548.273715, 550.236819, 552.199921, 552.982892, 553.765863, 555.115808, 556.465751, 559.083047, 561.700340, 562.656415, 563.612488, 564.756013, 565.899539, 567.310074, 568.720607, 570.070322, 571.420037, 573.466069, 575.512101, 576.524884, 577.537671, 579.627029, 581.716387, 582.607929, 583.499473, 584.697112, 585.894752, 587.158943, 588.423135, 590.760648, 593.098156, 594.537387, 595.976616, 596.809963, 597.643314, 599.021010, 600.398709, 602.364793, 604.330874, 604.843449, 605.356025, 607.738329, 610.120632, 611.477422, 612.834214, 614.209193, 615.584169, 616.656495, 617.728824, 618.645898, 619.562974, 621.923844, 624.284709, 625.811782, 627.338860, 628.176409, 629.013960, 630.864729, 632.715496, 633.704607, 634.693718, 636.025230, 637.356741, 638.815064, 640.273384, 642.563474, 644.853566, 645.880323, 646.907082, 647.632854, 648.358624, 649.980706, 651.602784, 653.002562, 654.402338, 656.251645, 658.100950, 659.373107, 660.645266, 661.982623, 663.319983, 664.932823, 666.545658, 667.428541, 668.311425, 669.291775, 670.272119, 672.999034, 675.725951, 676.453138, 677.180325, 678.956338, 680.732349, 681.183527, 681.634699, 683.547963, 685.461223, 686.762001, 688.062780, 689.522229, 690.981674, 692.755894, 694.530114, 695.899985, 697.269860, 698.089640, 698.909417, 700.142537, 701.375659, 702.845740, 704.315825, 706.679530, 709.043231, 709.757787, 710.472342, 711.543416, 712.614492, 714.566277, 716.518066, 717.241663, 717.965263, 719.357140, 720.749013, 722.620430, 724.491848, 726.171020, 727.850190, 728.776386, 729.702583, 730.947419, 732.192255, 733.005476, 733.818700, 736.034889, 738.251076, 739.487998, 740.724920, 742.143731, 743.562539, 744.883337, 746.204133, 747.372842, 748.541554, 750.131938, 751.722325, 752.117556, 752.512785, 755.168592, 757.824397, 759.159015, 760.493631, 761.202266, 761.910904, 763.208591, 764.506279, 765.991424, 767.476570, 768.702186, 769.927802, 771.864933, 773.802063, 774.634434, 775.466806, 777.459986, 779.453165, 780.333964, 781.214763, 781.973094, 782.731426, 784.316832, 785.902239, 787.959682, 790.017122, 791.303769, 792.590417, 793.532328, 794.474240, 795.648598, 796.822954, 798.421203, 800.019453, 801.125567, 802.231675, 803.512980, 804.794280, 807.095794, 809.397306, 809.923560, 810.449816, 811.995615, 813.541414, 814.427500, 815.313587, 816.469522, 817.625458, 819.965139, 822.304817, 823.199550, 824.094280, 825.320295, 826.546311, 827.973131, 829.399948, 830.857609, 832.315270, 832.835592, 833.355913, 835.146764, 836.937613, 838.741592, 840.545572, 842.007518, 843.469462, 844.283413, 845.097361, 845.884152, 846.670942, 848.570049, 850.469157, 851.590033, 852.710909, 854.545320, 856.379727, 857.318030, 858.256334, 859.854898, 861.453467, 862.511877, 863.570287, 864.753288, 865.936291, 866.721414, 867.506537, 870.122193, 872.737848, 873.647521, 874.557194, 875.477918, 876.398638, 877.927121, 879.455602, 880.351805, 881.248007, 882.925133, 884.602256, 885.762567, 886.922881, 888.496046, 890.069212, 891.804090, 893.538969, 894.121806, 894.704640, 895.973301, 897.241961, 898.211791, 899.181619, 901.129747, 903.077875, 904.643109, 906.208345, 907.381487, 908.554630, 909.163065, 909.771501, 911.785214, 913.798925, 914.628010, 915.457093, 916.407046, 917.357001, 919.473092, 921.589182, 922.914625, 924.240065, 925.415651, 926.591241, 927.552004, 928.512765, 929.459932, 930.407093, 932.006534, 933.605972, 935.557294, 937.508615, 938.092354, 938.676093, 940.371545, 942.066999, 943.352009, 944.637018, 945.480633, 946.324246, 947.686193, 949.048138, 950.059617, 951.071094, 953.630689, 956.190283, 956.645437, 957.100590, 958.368511, 959.636428, 960.597042, 961.557656, 963.207081, 964.856508, 965.844976, 966.833444, 968.540306, 970.247165, 971.520005, 972.792843, 974.023408, 975.253974, 976.870230, 978.486487, 978.865253, 979.244015, 980.345325, 981.446637, 983.689436, 985.932229, 987.121295, 988.310359, 989.554790, 990.799224, 991.633056, 992.466887, 993.885094, 995.303296, 996.636811, 997.970326, 998.948030, 999.925734, 1001.479281, 1003.032832, 1004.868625, 1006.704420, 1007.707386, 1008.710350, 1009.312773, 1009.915194, 1011.501506, 1013.087822, 1013.925158, 1014.762493, 1016.862148, 1018.961806, 1020.412358, 1021.862908, 1022.175518, 1022.488126, 1024.473970, 1026.459815, 1027.395322, 1028.330830, 1029.410544, 1030.490253, 1031.511065, 1032.531874, 1034.677238, 1036.822600, 1037.904513, 1038.986424, 1040.326130, 1041.665830, 1042.311887, 1042.957939, 1044.073475, 1045.189015, 1047.054501, 1048.919983, 1049.860160, 1050.800333, 1052.439211, 1054.078087, 1055.245932, 1056.413776, 1057.614320, 1058.814864, 1060.103466, 1061.392081, 1062.078751, 1062.765423, 1064.030516, 1065.295607, 1067.578508, 1069.861407, 1070.826339, 1071.791271, 1072.556999, 1073.322723, 1074.593670, 1075.864619, 1077.452618, 1079.040618, 1079.615357, 1080.190093, 1082.119405, 1084.048715, 1085.001966, 1085.955219, 1087.817683, 1089.680146, 1090.564992, 1091.449839, 1092.397557, 1093.345273, 1094.242408, 1095.139542, 1096.740044, 1098.340542, 1100.178787, 1102.017035, 1102.901270, 1103.785509, 1105.098326, 1106.411143, 1107.257966, 1108.104791, 1109.758114, 1111.411439, 1112.359164, 1113.306887, 1114.115019, 1114.923153, 1117.254534, 1119.585916, 1120.556456, 1121.526997, 1122.512715, 1123.498432, 1124.799307, 1126.100181, 1126.703078, 1127.305976, 1129.022087, 1130.738197, 1132.322522, 1133.906849, 1135.038106, 1136.169366, 1137.127056, 1138.084749, 1140.030105, 1141.975460, 1142.276041, 1142.576619, 1143.862060, 1145.147501, 1146.344513, 1147.541523, 1149.331940, 1151.122352, 1152.818987, 1154.515623, 1154.994099, 1155.472570, 1156.380415, 1157.288257, 1158.888408, 1160.488560, 1161.621260, 1162.753958, 1163.961534, 1165.169113, 1166.719304, 1168.269499, 1169.499020, 1170.728541, 1172.008731, 1173.288920, 1174.216891, 1175.144862, 1176.422840, 1177.700816, 1178.127523, 1178.554235, 1181.253872, 1183.953509, 1184.544307, 1185.135107, 1186.409845, 1187.684583, 1188.820830, 1189.957076, 1191.054295, 1192.151515, 1193.499330, 1194.847145, 1195.800695, 1196.754236, 1198.185029, 1199.615819, 1201.380043, 1203.144260, 1204.138807, 1205.133351, 1206.195118, 1207.256888, 1207.830473, 1208.404068, 1210.059010, 1211.713948, 1212.934523, 1214.155099, 1216.088294, 1218.021491, 1218.551653, 1219.081814, 1220.270316, 1221.458815, 1223.074287, 1224.689763, 1225.677378, 1226.664995, 1227.181456, 1227.697913, 1229.456457, 1231.215004, 1233.164679, 1235.114353, 1235.755319, 1236.396286, 1237.673991, 1238.951691, 1239.820282, 1240.688870, 1241.767129, 1242.845389, 1244.474033, 1246.102679, 1247.377289, 1248.651895, 1249.653357, 1250.654816, 1252.445236, 1254.235658, 1254.892510, 1255.549366, 1256.778277, 1258.007186, 1259.087106, 1260.167025, 1260.981868, 1261.796711, 1264.066289, 1266.335866, 1267.390624, 1268.445382, 1269.355561, 1270.265743, 1271.104011, 1271.942280, 1273.578330, 1275.214380, 1276.203325, 1277.192272, 1278.151208, 1279.110147, 1280.997895, 1282.885643, 1283.755535, 1284.625427, 1286.346780, 1288.068132, 1288.765498, 1289.462860, 1290.231838, 1291.000819, 1292.208402, 1293.415983, 1295.254109, 1297.092235, 1298.333131, 1299.574027, 1300.715339, 1301.856654, 1302.720927, 1303.585200, 1305.083201, 1306.581196, 1307.420136, 1308.259078, 1309.679421, 1311.099764, 1311.748926, 1312.398089, 1314.656588, 1316.915082, 1318.136874, 1319.358664, 1319.678601, 1319.998538, 1321.499860, 1323.001183, 1323.907621, 1324.814061, 1326.082599, 1327.351141, 1329.136707, 1330.922276, 1331.806024, 1332.689769, 1333.855766, 1335.021759, 1336.405130, 1337.788501, 1338.992200, 1340.195901, 1340.797507, 1341.399115, 1342.470975, 1343.542837, 1345.478822, 1347.414805, 1348.727976, 1350.041144, 1351.086549, 1352.131953, 1353.196324, 1354.260695, 1354.775275, 1355.289856, 1357.475363, 1359.660870, 1359.942013, 1360.223153, 1361.963123, 1363.703091, 1365.002472, 1366.301846, 1367.675660, 1369.049473, 1369.890764, 1370.732057, 1371.939721, 1373.147387, 1373.870557, 1374.593724, 1375.845447, 1377.097170, 1379.286724, 1381.476282, 1382.285053, 1383.093830, 1383.740876, 1384.387923, 1385.999994, 1387.612063, 1388.636290, 1389.660517, 1390.623212, 1391.585907, 1392.864632, 1394.143359, 1395.390828, 1396.638297, 1398.350680, 1400.063060, 1401.110105, 1402.157149, 1402.999496, 1403.841840, 1404.703896, 1405.565950, 1406.743328, 1407.920703, 1409.602788, 1411.284876, 1412.364271, 1413.443667, 1415.063635, 1416.683604, 1417.100458, 1417.517308, 1419.048649, 1420.579992, 1421.893423, 1423.206856, 1423.860785, 1424.514716, 1425.426992, 1426.339266, 1428.685465, 1431.031663, 1431.731302, 1432.430941, 1433.876436, 1435.321930, 1435.739383, 1436.156839, 1437.601471, 1439.046109, 1440.062973, 1441.079841, 1442.580386, 1444.080931, 1445.388778, 1446.696625, 1447.554061, 1448.411500, 1450.177431, 1451.943366, 1452.792627, 1453.641890, 1454.276853, 1454.911810, 1456.287621, 1457.663429, 1458.659094, 1459.654764, 1461.728862, 1463.802958, 1464.750239, 1465.697517, 1466.498132, 1467.298743, 1468.297270, 1469.295796, 1470.732832, 1472.169870, 1473.324396, 1474.478922, 1475.225743, 1475.972564, 1477.654533, 1479.336502, 1480.833477, 1482.330451, 1483.076681, 1483.822910, 1485.197013, 1486.571112, 1487.469113, 1488.367114, 1488.805723, 1489.244331, 1491.353166, 1493.462003, 1494.832240, 1496.202482, 1496.987249, 1497.772015, 1499.071043, 1500.370072, 1501.363420, 1502.356770, 1503.677995, 1504.999222, 1505.817834, 1506.636442, 1507.726720, 1508.816996, 1510.309755, 1511.802510, 1513.651536, 1515.500564, 1516.092641, 1516.684716, 1517.501326, 1518.317939, 1519.419544, 1520.521152, 1521.943920, 1523.366690, 1524.276834, 1525.186978, 1527.111338, 1529.035700, 1529.615130, 1530.194563, 1531.452305, 1532.710048, 1534.319340, 1535.928629, 1536.397358, 1536.866089, 1538.109537, 1539.352987, 1540.062268, 1540.771548, 1543.051668, 1545.331787, 1546.176212, 1547.020639, 1548.099447, 1549.178252, 1550.262683, 1551.347112, 1552.095744, 1552.844373, 1554.287330, 1555.730286, 1557.094777, 1558.459267, 1559.147946, 1559.836626, 1561.664790, 1563.492950, 1564.535444, 1565.577941, 1566.713480, 1567.849018, 1568.599870, 1569.350721, 1570.500337, 1571.649951, 1572.535104, 1573.420260, 1575.391320, 1577.362381, 1578.577622, 1579.792868, 1580.617215, 1581.441561, 1582.174602, 1582.907643, 1584.788583, 1586.669519, 1587.226982, 1587.784446, 1588.738886, 1589.693322, 1591.256699, 1592.820080, 1594.136620, 1595.453157, 1596.858767, 1598.264377, 1599.209543, 1600.154710, 1600.850619, 1601.546531, 1602.518799, 1603.491068, 1604.922440, 1606.353820, 1607.823475, 1609.293129, 1610.433998, 1611.574869, 1612.551011, 1613.527154, 1614.952010, 1616.376869, 1617.040423, 1617.703979, 1619.304418, 1620.904856, 1621.368213, 1621.831566, 1622.949437, 1624.067308, 1626.412277, 1628.757247, 1629.334471, 1629.911699, 1630.809064, 1631.706432, 1632.968422, 1634.230416, 1635.006071, 1635.781730, 1637.233691, 1638.685654, 1639.706354, 1640.727055, 1642.381481, 1644.035910, 1644.648868, 1645.261823, 1646.939798, 1648.617776, 1649.567454, 1650.517133, 1651.509811, 1652.502487, 1652.948928, 1653.395371, 1655.121624, 1656.847881, 1658.319472, 1659.791064, 1661.122710, 1662.454354, 1663.370109, 1664.285859, 1664.839944, 1665.394027, 1666.940922, 1668.487817, 1669.705218, 1670.922622, 1671.633637, 1672.344655, 1673.692044, 1675.039437, 1676.649744, 1678.260048, 1679.436763, 1680.613477, 1681.349588, 1682.085700, 1683.181927, 1684.278155, 1685.306173, 1686.334191, 1687.098133, 1687.862074, 1690.155691, 1692.449303, 1693.001854, 1693.554408, 1694.671276, 1695.788143, 1696.969364, 1698.150576, 1699.501237, 1700.851899, 1701.428470, 1702.005043, 1703.359946, 1704.714851, 1705.525716, 1706.336581, 1708.270771, 1710.204957, 1711.242403, 1712.279847, 1713.576989, 1714.874129, 1715.157905, 1715.441683, 1716.589558, 1717.737435, 1719.372100, 1721.006766, 1721.805218, 1722.603671, 1724.138511, 1725.673348, 1726.942825, 1728.212298, 1728.845878, 1729.479463, 1731.151444, 1732.823425, 1733.579256, 1734.335086, 1735.154284, 1735.973477, 1736.919496, 1737.865514, 1739.867362, 1741.869211, 1743.239017, 1744.608825, 1744.957456, 1745.306089, 1746.654179, 1748.002277, 1748.957894, 1749.913512, 1751.054992, 1752.196469, 1753.342249, 1754.488028, 1755.836819, 1757.185609, 1758.042244, 1758.898878, 1760.813302, 1762.727725, 1763.350556, 1763.973386, 1764.789879, 1765.606372, 1766.877785, 1768.149192, 1768.818195, 1769.487197, 1771.162165, 1772.837137, 1774.477563, 1776.117991, 1776.761558, 1777.405124, 1778.408465, 1779.411806, 1780.479196, 1781.546584, 1783.006354, 1784.466129, 1785.320688, 1786.175243, 1786.741719, 1787.308197, 1789.333783, 1791.359369, 1792.474491, 1793.589612, 1794.631448, 1795.673285, 1796.899897, 1798.126509, 1798.566549, 1799.006591, 1800.084322, 1801.162052, 1802.792897, 1804.423736, 1805.607053, 1806.790375, 1807.981856, 1809.173339, 1810.046408, 1810.919475, 1812.330396, 1813.741315, 1814.696612, 1815.651910, 1816.433942, 1817.215971, 1818.490432, 1819.764893, 1820.551337, 1821.337780, 1823.568649, 1825.799519, 1826.514079, 1827.228643, 1828.144147, 1829.059649, 1829.750809, 1830.441969, 1832.108621, 1833.775274, 1834.362672, 1834.950072, 1836.427183, 1837.904288, 1839.145521, 1840.386754, 1841.479167, 1842.571582, 1843.784399, 1844.997219, 1846.180780, 1847.364343, 1848.274550, 1849.184760, 1849.752482, 1850.320207, 1851.534615, 1852.749023, 1854.904875, 1857.060730, 1857.461226, 1857.861722, 1859.455437, 1861.049152, 1861.648030, 1862.246908, 1863.241613, 1864.236315, 1865.748812, 1867.261312, 1868.108827, 1868.956343, 1869.843607, 1870.730877, 1872.361071, 1873.991271, 1875.424912, 1876.858556, 1877.609150, 1878.359743, 1879.322485, 1880.285231, 1881.181504, 1882.077779, 1883.152454, 1884.227131, 1885.456542, 1886.685949, 1888.499443, 1890.312937, 1891.119888, 1891.926842, 1892.463046, 1892.999250, 1894.794946, 1896.590644, 1897.403310, 1898.215975, 1899.091411, 1899.966844, 1900.910984, 1901.855119, 1903.286301, 1904.717490, 1906.229209, 1907.740931, 1909.131331, 1910.521732, 1910.721976, 1910.922222, 1912.449781, 1913.977339, 1914.349739, 1914.722138, 1916.563977, 1918.405818, 1919.316676, 1920.227530, 1921.460828, 1922.694127, 1923.974785, 1925.255443, 1926.302526, 1927.349608, 1928.300814, 1929.252021, 1930.466827, 1931.681636, 1932.547109, 1933.412579, 1933.929833, 1934.447083, 1936.751998, 1939.056910, 1940.038253, 1941.019597, 1941.857662, 1942.695726, 1943.625242, 1944.554760, 1945.621087, 1946.687413, 1948.062961, 1949.438511, 1950.033911, 1950.629312, 1952.189873, 1953.750434, 1954.803493, 1955.856550, 1957.089170, 1958.321792, 1959.935432, 1961.549067, 1961.859447, 1962.169829, 1962.973861, 1963.777894, 1965.104276, 1966.430659, 1967.575551, 1968.720443, 1970.390211, 1972.059978, 1973.001503, 1973.943026, 1974.910127, 1975.877225, 1976.660865, 1977.444508, 1978.995339, 1980.546173, 1981.310165, 1982.074156, 1983.114406, 1984.154661, 1985.032082, 1985.909505, 1988.118469, 1990.327434, 1990.798056, 1991.268678, 1992.367949, 1993.467219, 1994.612550, 1995.757876, 1996.403305, 1997.048731, 1998.117864, 1999.186998, 2000.894048, 2002.601098, 2003.649098, 2004.697100, 2005.602891, 2006.508686, 2007.762457, 2009.016223, 2010.180182, 2011.344145, 2012.249216, 2013.154286, 2014.050415, 2014.946547, 2015.820135, 2016.693724, 2018.204132, 2019.714540, 2021.273970, 2022.833403, 2023.900862, 2024.968317, 2025.618768, 2026.269218, 2026.983876, 2027.698534, 2029.222460, 2030.746387, 2031.926159, 2033.105933, 2033.687808, 2034.269684, 2036.274436, 2038.279193, 2038.685568, 2039.091945, 2040.807771, 2042.523596, 2043.222938, 2043.922281, 2045.098512, 2046.274743, 2046.874826, 2047.474910, 2048.474284, 2049.473655, 2051.478344, 2053.483033, 2054.549007, 2055.614982, 2056.227708, 2056.840432, 2058.078525, 2059.316618, 2060.423588, 2061.530561, 2062.291988, 2063.053412, 2064.619737, 2066.186061, 2066.674365, 2067.162667, 2068.609564, 2070.056462, 2071.798604, 2073.540746, 2074.177444, 2074.814138, 2075.802641, 2076.791145, 2077.628834, 2078.466526, 2079.474959, 2080.483405, 2081.721719, 2082.960035, 2084.391152, 2085.822272, 2087.072351, 2088.322431, 2089.180236, 2090.038046, 2090.769100, 2091.500154, 2093.242663, 2094.985176, 2095.719427, 2096.453680, 2096.969260, 2097.484840, 2098.824338, 2100.163836, 2101.899051, 2103.634259, 2104.622218, 2105.610174, 2106.709180, 2107.808188, 2108.746942, 2109.685695, 2110.168987, 2110.652279, 2112.166873, 2113.681465, 2114.716314, 2115.751160, 2117.211142, 2118.671125, 2119.364201, 2120.057278, 2121.557976, 2123.058675, 2124.131872, 2125.205073, 2126.044681, 2126.884288, 2127.774256, 2128.664223, 2129.947910, 2131.231598, 2131.660358, 2132.089117, 2134.439203, 2136.789288, 2137.651753, 2138.514222, 2139.070084, 2139.625949, 2140.816834, 2142.007718, 2143.031559, 2144.055398, 2145.362311, 2146.669223, 2147.320852, 2147.972480, 2149.303604, 2150.634728, 2152.003422, 2153.372110, 2154.374835, 2155.377564, 2156.753219, 2158.128870, 2158.795433, 2159.461993, 2160.463106, 2161.464219, 2161.947298, 2162.430376, 2164.402194, 2166.374013, 2167.313276, 2168.252537, 2169.714961, 2171.177386, 2171.784120, 2172.390856, 2173.456060, 2174.521263, 2175.678356, 2176.835454, 2178.037266, 2179.239074, 2179.889238, 2180.539399, 2181.563003, 2182.586607, 2184.293761, 2186.000916, 2187.450825, 2188.900730, 2189.369878, 2189.839025, 2190.661849, 2191.484672, 2192.859524, 2194.234377, 2194.865646, 2195.496918, 2196.842005, 2198.187092, 2199.809654, 2201.432216, 2202.151070, 2202.869927, 2203.767207, 2204.664488, 2206.363071, 2208.061659, 2208.572845, 2209.084032, 2210.172513, 2211.260989, 2212.054241, 2212.847493, 2213.988829, 2215.130165, 2217.001098, 2218.872026, 2219.629773, 2220.387522, 2221.634424, 2222.881328, 2223.501982, 2224.122636, 2224.915995, 2225.709353, 2227.331777, 2228.954200, 2229.839625, 2230.725052, 2231.601095, 2232.477143, 2234.060425, 2235.643707, 2236.752884, 2237.862060, 2238.673944, 2239.485830, 2240.915199, 2242.344568, 2242.779221, 2243.213871, 2244.149924, 2245.085980, 2246.283851, 2247.481719, 2249.532656, 2251.583590, 2252.000252, 2252.416915, 2253.606291, 2254.795668, 2255.524200, 2256.252733, 2257.807454, 2259.362179, 2259.987528, 2260.612878, 2261.606219, 2262.599558, 2263.969356, 2265.339161, 2266.233431, 2267.127699, 2268.951445, 2270.775191, 2271.461444, 2272.147701, 2273.032431, 2273.917163, 2274.617213, 2275.317264, 2276.548950, 2277.780637, 2278.901843, 2280.023048, 2281.440673, 2282.858299, 2284.005909, 2285.153518, 2286.009262, 2286.865007, 2287.879442, 2288.893875, 2290.053549, 2291.213223, 2292.319755, 2293.426293, 2294.351241, 2295.276185, 2295.611478, 2295.946774, 2298.254686, 2300.562593, 2301.482169, 2302.401744, 2303.261802, 2304.121860, 2305.187977, 2306.254092, 2307.100942, 2307.947793, 2308.759081, 2309.570369, 2311.155382, 2312.740396, 2313.574425, 2314.408455, 2315.830097, 2317.251741, 2317.997046, 2318.742349, 2320.257438, 2321.772528, 2322.833730, 2323.894940, 2324.197916, 2324.500893, 2325.877262, 2327.253636, 2328.014587, 2328.775538, 2330.328727, 2331.881920, 2333.471626, 2335.061335, 2335.912121, 2336.762903, 2337.046313, 2337.329723, 2338.713704, 2340.097680, 2341.499726, 2342.901769, 2343.467339, 2344.032910, 2345.162154, 2346.291398, 2347.591679, 2348.891962, 2350.210057, 2351.528153, 2352.568420, 2353.608688, 2354.591179, 2355.573670, 2356.484296, 2357.394925, 2358.165837, 2358.936747, 2359.775790, 2360.614837, 2362.542487, 2364.470132, 2365.472432, 2366.474733, 2367.161982, 2367.849234, 2369.407815, 2370.966394, 2371.358843, 2371.751293, 2373.232064, 2374.712834, 2375.537307, 2376.361784, 2377.325988, 2378.290196, 2379.214834, 2380.139471, 2382.095257, 2384.051052, 2384.830699, 2385.610348, 2386.605013, 2387.599683, 2388.303012, 2389.006340, 2389.896775, 2390.787211, 2392.324149, 2393.861083, 2394.431577, 2395.002070, 2396.783399, 2398.564732, 2399.481831, 2400.398933, 2401.073048, 2401.747164, 2403.244482, 2404.741802, 2406.017170, 2407.292537, 2407.438801, 2407.585063, 2408.694410, 2409.803754, 2411.069537, 2412.335320, 2414.007084, 2415.678851, 2416.651342, 2417.623833, 2418.482067, 2419.340301, 2420.241610, 2421.142922, 2422.047308, 2422.951696, 2424.069601, 2425.187512, 2426.548914, 2427.910317, 2428.580381, 2429.250445, 2430.556604, 2431.862763, 2433.264286, 2434.665810, 2435.862228, 2437.058646, 2437.288959, 2437.519271, 2439.138623, 2440.757977, 2441.208778, 2441.659579, 2442.626772, 2443.593965, 2445.596363, 2447.598764, 2448.426760, 2449.254759, 2450.407533, 2451.560310, 2451.925688, 2452.291067, 2453.915630, 2455.540195, 2456.377972, 2457.215755, 2458.271819, 2459.327885, 2459.951348, 2460.574812, 2462.325418, 2464.076022, 2464.981609, 2465.887193, 2467.362724, 2468.838255, 2469.614269, 2470.390287, 2471.021881, 2471.653475, 2472.484088, 2473.314704, 2474.773119, 2476.231539, 2477.341958, 2478.452374, 2479.681118, 2480.909862, 2482.075045, 2483.240229, 2483.885984, 2484.531740, 2485.905029, 2487.278320, 2488.140391, 2489.002465, 2490.041780, 2491.081097, 2491.859400, 2492.637704, 2493.557710, 2494.477717, 2496.746953, 2499.016191, 2499.437584, 2499.858979, 2500.697066, 2501.535151, 2502.686850, 2503.838552, 2504.700665, 2505.562777, 2506.601394, 2507.640017, 2508.744333, 2509.848642, 2511.354618, 2512.860596, 2513.399283, 2513.937966, 2515.427194, 2516.916423, 2517.948554, 2518.980682, 2520.020104, 2521.059526, 2521.775738, 2522.491950, 2523.206844, 2523.921741, 2525.235639, 2526.549540, 2528.052898, 2529.556253, 2530.724954, 2531.893659, 2532.802072, 2533.710484, 2534.617761, 2535.525038, 2536.057081, 2536.589126, 2538.524861, 2540.460594, 2540.831367, 2541.202141, 2542.137261, 2543.072385, 2544.576381, 2546.080375, 2547.364735, 2548.649098, 2549.601083, 2550.553068, 2551.625700, 2552.698322, 2553.336014, 2553.973710, 2555.089692, 2556.205674, 2556.847412, 2557.489151, 2559.189501, 2560.889854, 2562.468070, 2564.046286, 2564.223606, 2564.400930, 2565.597509, 2566.794092, 2568.237822, 2569.681555, 2570.338617, 2570.995682, 2571.895936, 2572.796192, 2574.094930, 2575.393666, 2575.946786, 2576.499905, 2578.312776, 2580.125642, 2581.402988, 2582.680337, 2583.379959, 2584.079584, 2584.731370, 2585.383158, 2586.494059, 2587.604958, 2588.563290, 2589.521620, 2590.941528, 2592.361438, 2593.114420, 2593.867400, 2595.472390, 2597.077380, 2597.768390, 2598.459402, 2599.462828, 2600.466255, 2601.855352, 2603.244450, 2603.950463, 2604.656470, 2605.510739, 2606.365009, 2606.974727, 2607.584446, 2609.702030, 2611.819612, 2612.680041, 2613.540474, 2614.564649, 2615.588817, 2616.521949, 2617.455082, 2618.141390, 2618.827695, 2620.092111, 2621.356523, 2622.350588, 2623.344652, 2624.399658, 2625.454662, 2626.618234, 2627.781801, 2628.743362, 2629.704920, 2631.427735, 2633.150548, 2633.592878, 2634.035211, 2635.018818, 2636.002424, 2636.777393, 2637.552364, 2638.794191, 2640.036022, 2640.810146, 2641.584273, 2643.662276, 2645.740283, 2646.244883, 2646.749487, 2647.673864, 2648.598242, 2649.522701, 2650.447156, 2651.724131, 2653.001106, 2654.081232, 2655.161359, 2655.719296, 2656.277232, 2657.362534, 2658.447834, 2659.936412, 2661.424990, 2662.891181, 2664.357370, 2664.739711, 2665.122056, 2666.599500, 2668.076946, 2668.734009, 2669.391073, 2669.805472, 2670.219873, 2671.930558, 2673.641241, 2674.857583, 2676.073929, 2676.985198, 2677.896465, 2679.090583, 2680.284702, 2681.196652, 2682.108606, 2683.193397, 2684.278186, 2685.245669, 2686.213151, 2687.218984, 2688.224816, 2688.835498, 2689.446177, 2690.671941, 2691.897706, 2693.659183, 2695.420659, 2696.449591, 2697.478526, 2698.129164, 2698.779807, 2699.413580, 2700.047356, 2701.414338, 2702.781322, 2703.823490, 2704.865661, 2705.612401, 2706.359137, 2707.820369, 2709.281600, 2710.455929, 2711.630260, 2712.247780, 2712.865302, 2714.580113, 2716.294927, 2716.938958, 2717.582990, 2718.277959, 2718.972930, 2720.083925, 2721.194917, 2721.869507, 2722.544098, 2724.509896, 2726.475694, 2727.283039, 2728.090385, 2729.226539, 2730.362692, 2731.128441, 2731.894190, 2732.824643, 2733.755095, 2734.761609, 2735.768131, 2737.154867, 2738.541603, 2739.145455, 2739.749304, 2740.654952, 2741.560602, 2743.479289, 2745.397976, 2746.056968, 2746.715959, 2747.878645, 2749.041331, 2749.670744, 2750.300156, 2751.501241, 2752.702330, 2753.184690, 2753.667051, 2755.141707, 2756.616362, 2758.051032, 2759.485706, 2760.607665, 2761.729623, 2762.185113, 2762.640605, 2763.840115, 2765.039623, 2766.387786, 2767.735952, 2768.635738, 2769.535525, 2769.839386, 2770.143248, 2771.638263, 2773.133279, 2774.221490, 2775.309704, 2776.817292, 2778.324882, 2779.371177, 2780.417471, 2781.076082, 2781.734692, 2782.505580, 2783.276468, 2784.209612, 2785.142756, 2786.638699, 2788.134643, 2788.793425, 2789.452208, 2791.002660, 2792.553110, 2793.236218, 2793.919325, 2795.388421, 2796.857515, 2797.505903, 2798.154291, 2799.292318, 2800.430349, 2801.522907, 2802.615467, 2803.076427, 2803.537386, 2804.501706, 2805.466026, 2807.641843, 2809.817662, 2810.481527, 2811.145393, 2811.805821, 2812.466249, 2813.752645, 2815.039040, 2815.731648, 2816.424259, 2817.548804, 2818.673350, 2819.788674, 2820.903998, 2821.759516, 2822.615033, 2823.920980, 2825.226925, 2826.218900, 2827.210878, 2828.599850, 2829.988823, 2830.872055, 2831.755287, 2832.473048, 2833.190810, 2833.859041, 2834.527272, 2835.750468, 2836.973661, 2838.202658, 2839.431654, 2840.698680, 2841.965707, 2843.312226, 2844.658744, 2845.144264, 2845.629785, 2846.354277, 2847.078771, 2848.854939, 2850.631106, 2851.015420, 2851.399734, 2852.674198, 2853.948663, 2854.422497, 2854.896328, 2856.669112, 2858.441897, 2859.705483, 2860.969069, 2861.746143, 2862.523211, 2863.421136, 2864.319058, 2865.193856, 2866.068653, 2867.033357, 2867.998057, 2868.758943, 2869.519827, 2871.383980, 2873.248134, 2873.892170, 2874.536204, 2875.585908, 2876.635609, 2877.717446, 2878.799280, 2880.137792, 2881.476300, 2881.891069, 2882.305838, 2883.522380, 2884.738923, 2885.597151, 2886.455382, 2887.232322, 2888.009261, 2889.858414, 2891.707571, 2892.822790, 2893.938009, 2894.576399, 2895.214798, 2896.300261, 2897.385728, 2897.773978, 2898.162224, 2899.850264, 2901.538302, 2902.356519, 2903.174735, 2903.935296, 2904.695858, 2906.386199, 2908.076543, 2908.775499, 2909.474449, 2910.618723, 2911.762999, 2912.921677, 2914.080355, 2915.137217, 2916.194082, 2916.421000, 2916.647919, 2917.719589, 2918.791259, 2920.278075, 2921.764891, 2923.242703, 2924.720516, 2925.502982, 2926.285443, 2927.031501, 2927.777564, 2928.987773, 2930.197982, 2930.925064, 2931.652151, 2932.933627, 2934.215105, 2934.959376, 2935.703647, 2936.903124, 2938.102603, 2938.898685, 2939.694762, 2941.545989, 2943.397215, 2944.271314, 2945.145411, 2945.519352, 2945.893294, 2947.120919, 2948.348547, 2949.217857, 2950.087168, 2950.941513, 2951.795858, 2953.187068, 2954.578275, 2956.030363, 2957.482452, 2958.129386, 2958.776322, 2959.685868, 2960.595418, 2961.683594, 2962.771769, 2964.013256, 2965.254739, 2966.074758, 2966.894785, 2967.442715, 2967.990645, 2969.096965, 2970.203285, 2972.085750, 2973.968216, 2974.502515, 2975.036811, 2976.542258, 2978.047705, 2978.556388, 2979.065074, 2979.843944, 2980.622815, 2981.574747, 2982.526682, 2984.017136, 2985.507589, 2986.275521, 2987.043455, 2988.219396, 2989.395341, 2990.586906, 2991.778472, 2992.628307, 2993.478144, 2994.868162, 2996.258179, 2996.729799, 2997.201421, 2998.194122, 2999.186827, 3000.356437, 3001.526044, 3001.936180, 3002.346317, 3004.567764, 3006.789210, 3007.550021, 3008.310839, 3009.195509, 3010.080179, 3010.569512, 3011.058841, 3012.580384, 3014.101932, 3014.926740, 3015.751551, 3016.575361, 3017.399172, 3018.634011, 3019.868848, 3020.889606, 3021.910368, 3023.089068, 3024.267769, 3025.515258, 3026.762748, 3027.611407, 3028.460072, 3029.346804, 3030.233535, 3030.889292, 3031.545048, 3032.415391, 3033.285735, 3034.838042, 3036.390342, 3037.593711, 3038.797086, 3039.647617, 3040.498150, 3041.809148, 3043.120145, 3043.506698, 3043.893248, 3045.077429, 3046.261610, 3047.584730, 3048.907859, 3049.721464, 3050.535070, 3050.885742, 3051.236415, 3052.922966, 3054.609519, 3056.112008, 3057.614499, 3058.387674, 3059.160850, 3059.857553, 3060.554254, 3061.775434, 3062.996617, 3063.416507, 3063.836395, 3065.229124, 3066.621858, 3067.495397, 3068.368933, 3070.012678, 3071.656418, 3072.401265, 3073.146106, 3073.768756, 3074.391404, 3076.100391, 3077.809381, 3078.477090, 3079.144796, 3079.917756, 3080.690712, 3081.601114, 3082.511515, 3083.505645, 3084.499774, 3085.738846, 3086.977922, 3088.757175, 3090.536432, 3090.862134, 3091.187834, 3092.362140, 3093.536447, 3094.079659, 3094.622870, 3095.771890, 3096.920910, 3098.149657, 3099.378407, 3100.300172, 3101.221936, 3102.036969, 3102.852002, 3104.357008, 3105.862021, 3106.865602, 3107.869188, 3108.724754, 3109.580322, 3110.671177, 3111.762031, 3112.649266, 3113.536499, 3114.234134, 3114.931772, 3115.632385, 3116.332995, 3118.458184, 3120.583368, 3121.206601, 3121.829832, 3122.917639, 3124.005446, 3124.824757, 3125.644070, 3126.519897, 3127.395726, 3128.809268, 3130.222810, 3130.655691, 3131.088572, 3132.337814, 3133.587051, 3134.483935, 3135.380817, 3136.663191, 3137.945570, 3139.223126, 3140.500685, 3141.709400, 3142.918116, 3143.324977, 3143.731839, 3144.348539, 3144.965238, 3146.403608, 3147.841980, 3148.647421, 3149.452863, 3150.707983, 3151.963099, 3153.421240, 3154.879382, 3155.502932, 3156.126483, 3156.994781, 3157.863075, 3159.035957, 3160.208841, 3161.455000, 3162.701162, 3163.152137, 3163.603111, 3164.677428, 3165.751743, 3166.460222, 3167.168704, 3169.214406, 3171.260118, 3171.980087, 3172.700057, 3173.509450, 3174.318842, 3175.360197, 3176.401551, 3177.399590, 3178.397628, 3178.765615, 3179.133601, 3180.833344, 3182.533087, 3183.382185, 3184.231285, 3185.368786, 3186.506290, 3187.389370, 3188.272450, 3189.757472, 3191.242495, 3191.824635, 3192.406777, 3193.512961, 3194.619153, 3195.409199, 3196.199249, 3196.931933, 3197.664619, 3198.820000, 3199.975381, 3201.442283, 3202.909187, 3204.398961, 3205.888737, 3206.162898, 3206.437061, 3207.314879, 3208.192694, 3209.202544, 3210.212389, 3211.631465, 3213.050540, 3213.743826, 3214.437115, 3215.054367, 3215.671617, 3217.404912, 3219.138207, 3219.849933, 3220.561660, 3221.929675, 3223.297690, 3224.305639, 3225.313585, 3225.938854, 3226.564123, 3227.545328, 3228.526535, 3229.111370, 3229.696203, 3231.075609, 3232.455019, 3234.025643, 3235.596270, 3236.236627, 3236.876987, 3237.932837, 3238.988688, 3239.918839, 3240.848993, 3241.942455, 3243.035920, 3243.764830, 3244.493739, 3245.726955, 3246.960170, 3247.783663, 3248.607160, 3249.198630, 3249.790102, 3251.861012, 3253.931920, 3254.757144, 3255.582365, 3256.280378, 3256.978388, 3257.960638, 3258.942885, 3259.661134, 3260.379383, 3261.543063, 3262.706742, 3263.604826, 3264.502907, 3265.857360, 3267.211812, 3268.214653, 3269.217492, 3270.472272, 3271.727055, 3271.988539, 3272.250022, 3274.184525, 3276.119025, 3276.485671, 3276.852314, 3277.748558, 3278.644808, 3279.337471, 3280.030135, 3281.430591, 3282.831048, 3284.283765, 3285.736483, 3286.595891, 3287.455299, 3288.691989, 3289.928677, 3290.308519, 3290.688357, 3291.551065, 3292.413773, 3293.817280, 3295.220785, 3296.060819, 3296.900850, 3297.913208, 3298.925565, 3299.941668, 3300.957773, 3302.170069, 3303.382366, 3304.693213, 3306.004058, 3306.639832, 3307.275601, 3308.072363, 3308.869127, 3310.151361, 3311.433591, 3311.804743, 3312.175898, 3313.273037, 3314.370172, 3316.275521, 3318.180869, 3319.130492, 3320.080123, 3320.341218, 3320.602318, 3321.913987, 3323.225657, 3324.278195, 3325.330736, 3326.185596, 3327.040454, 3328.180910, 3329.321366, 3329.822504, 3330.323640, 3331.732171, 3333.140703, 3334.302666, 3335.464633, 3336.730159, 3337.995689, 3338.806338, 3339.616986, 3340.511754, 3341.406522, 3342.002881, 3342.599243, 3343.446676, 3344.294108, 3346.085234, 3347.876361, 3348.231176, 3348.585991, 3350.287183, 3351.988373, 3352.712145, 3353.435921, 3354.288901, 3355.141879, 3356.207952, 3357.274025, 3358.484234, 3359.694442, 3360.362180, 3361.029916, 3361.751034, 3362.472151, 3363.476423, 3364.480691, 3366.289450, 3368.098208, 3369.045621, 3369.993034, 3370.752225, 3371.511416, 3372.183222, 3372.855023, 3374.035989, 3375.216954, 3376.057864, 3376.898773, 3377.816604, 3378.734437, 3380.064934, 3381.395437, 3382.526270, 3383.657102, 3384.220013, 3384.782923, 3386.335864, 3387.888801, 3388.789532, 3389.690264, 3390.619025, 3391.547791, 3391.931879, 3392.315966, 3393.803667, 3395.291371, 3395.658532, 3396.025694, 3398.001178, 3399.976658, 3400.816363, 3401.656069, 3402.680403, 3403.704740, 3404.546108, 3405.387475, 3405.866962, 3406.346450, 3407.895297, 3409.444146, 3410.428356, 3411.412572, 3411.953293, 3412.494014, 3413.573815, 3414.653618, 3416.334338, 3418.015059, 3418.698775, 3419.382490, 3420.405277, 3421.428064, 3422.704980, 3423.981895, 3424.220986, 3424.460077, 3425.425845, 3426.391612, 3427.468602, 3428.545588, 3430.076891, 3431.608196, 3432.639386, 3433.670572, 3434.475095, 3435.279616, 3436.120237, 3436.960860, 3438.152403, 3439.343947, 3440.409689, 3441.475430, 3441.987792, 3442.500152, 3443.695083, 3444.890017, 3445.717555, 3446.545095, 3447.708187, 3448.871282, 3450.694738, 3452.518204, 3452.966429, 3453.414654, 3454.080398, 3454.746142, 3455.742611, 3456.739082, 3457.674499, 3458.609911, 3459.758030, 3460.906146, 3461.785560, 3462.664972, 3464.003339, 3465.341705, 3466.401141, 3467.460578, 3468.096640, 3468.732704, 3470.138039, 3471.543372, 3472.212041, 3472.880710, 3474.186469, 3475.492229, 3475.873761, 3476.255291, 3476.916122, 3477.576956, 3479.536932, 3481.496909, 3482.564862, 3483.632812, 3484.334682, 3485.036555, 3486.101740, 3487.166924, 3488.054094, 3488.941262, 3489.492356, 3490.043454, 3491.490159, 3492.936867, 3493.905949, 3494.875029, 3495.573126, 3496.271226, 3497.631222, 3498.991218, 3500.001637, 3501.012056, 3502.407371, 3503.802687, 3504.247821, 3504.692952, 3505.613914, 3506.534871, 3507.393647, 3508.252425, 3509.244597, 3510.236771, 3511.216136, 3512.195500, 3513.940953, 3515.686409, 3516.452168, 3517.217924, 3517.952139, 3518.686356, 3519.351442, 3520.016532, 3521.633885, 3523.251235, 3523.947608, 3524.643980, 3525.266367, 3525.888754, 3527.072532, 3528.256305, 3529.264276, 3530.272246, 3531.823776, 3533.375310, 3534.093938, 3534.812563, 3536.002072, 3537.191580, 3537.733544, 3538.275509, 3539.154017, 3540.032525, 3540.845093, 3541.657659, 3543.045435, 3544.433211, 3545.761107, 3547.089005, 3547.575769, 3548.062539, 3549.481658, 3550.900773, 3551.752474, 3552.604176, 3553.395977, 3554.187782, 3555.444471, 3556.701162, 3557.367905, 3558.034649, 3558.958807, 3559.882967, 3560.552991, 3561.223017, 3563.354861, 3565.486707, 3566.008374, 3566.530043, 3567.668797, 3568.807554, 3569.306146, 3569.804742, 3570.814326, 3571.823912, 3572.921875, 3574.019838, 3575.074500, 3576.129164, 3576.793374, 3577.457584, 3579.353412, 3581.249233, 3581.337536, 3581.425838, 3582.811482, 3584.197126, 3585.619288, 3587.041450, 3587.528933, 3588.016418, 3588.776011, 3589.535600, 3590.363826, 3591.192049, 3592.333643, 3593.475236, 3594.827130, 3596.179023, 3597.393106, 3598.607189, 3599.618225, 3600.629258, 3600.971961, 3601.314660, 3602.627964, 3603.941269, 3604.644369, 3605.347469, 3606.727091, 3608.106714, 3608.816096, 3609.525470, 3610.243200, 3610.960932, 3612.402044, 3613.843153, 3615.317040, 3616.790925, 3617.329547, 3617.868170, 3618.672470, 3619.476771, 3620.624006, 3621.771244, 3622.576141, 3623.381036, 3623.829426, 3624.277820, 3626.059038, 3627.840255, 3628.966212, 3630.092170, 3630.941831, 3631.791491, 3632.536917, 3633.282346, 3634.391081, 3635.499817, 3636.670875, 3637.841933, 3638.528771, 3639.215610, 3640.100149, 3640.984687, 3641.770229, 3642.555770, 3643.930753, 3645.305735, 3646.513113, 3647.720489, 3648.911088, 3650.101677, 3650.865055, 3651.628435, 3652.326181, 3653.023927, 3653.555264, 3654.086599, 3655.787256, 3657.487912, 3658.049204, 3658.610494, 3659.798412, 3660.986329, 3662.208571, 3663.430810, 3664.361178, 3665.291545, 3666.120532, 3666.949515, 3668.208950, 3669.468385, 3670.246657, 3671.024928, 3671.781201, 3672.537466, 3673.451392, 3674.365322, 3675.092578, 3675.819832, 3677.961754, 3680.103678, 3680.710671, 3681.317663, 3681.858439, 3682.399211, 3683.791133, 3685.183058, 3685.656359, 3686.129662, 3687.442930, 3688.756198, 3689.380719, 3690.005242, 3691.476583, 3692.947924, 3693.492653, 3694.037384, 3695.301583, 3696.565776, 3697.929199, 3699.292622, 3700.082827, 3700.873034, 3701.692172, 3702.511309, 3703.340637, 3704.169964, 3704.863182, 3705.556402, 3706.729738, 3707.903075, 3709.130915, 3710.358755, 3711.620713, 3712.882674, 3713.841329, 3714.799985, 3715.535674, 3716.271361, 3716.895717, 3717.520073, 3719.016320, 3720.512565, 3721.527209, 3722.541852, 3722.897171, 3723.252489, 3724.201846, 3725.151207, 3726.808348, 3728.465489, 3729.368755, 3730.272024, 3731.558251, 3732.844473, 3733.296223, 3733.747970, 3734.839812, 3735.931655, 3736.575486, 3737.219321, 3738.144267, 3739.069214, 3740.452868, 3741.836521, 3742.880334, 3743.924144, 3745.156198, 3746.388251, 3746.681955, 3746.975658, 3748.637322, 3750.298984, 3751.089041, 3751.879096, 3752.434594, 3752.990095, 3754.264478, 3755.538860, 3756.239343, 3756.939828, 3757.715972, 3758.492111, 3760.384467, 3762.276823, 3763.216808, 3764.156796, 3764.866646, 3765.576496, 3766.145547, 3766.714606, 3767.930635, 3769.146662, 3769.952095, 3770.757528, 3772.116535, 3773.475542, 3773.909998, 3774.344450, 3775.802383, 3777.260314, 3778.338494, 3779.416672, 3780.225434, 3781.034200, 3782.156242, 3783.278288, 3784.477300, 3785.676312, 3786.048843, 3786.421376, 3787.122375, 3787.823376, 3788.956918, 3790.090462, 3791.777412, 3793.464363, 3794.191001, 3794.917639, 3796.011909, 3797.106181, 3798.034537, 3798.962898, 3799.488460, 3800.014022, 3801.245460, 3802.476896, 3803.638020, 3804.799149, 3805.289776, 3805.780408, 3807.047964, 3808.315519, 3809.090167, 3809.864821, 3811.659590, 3813.454362, 3814.018129, 3814.581889, 3815.648430, 3816.714978, 3817.118489, 3817.521999, 3818.717885, 3819.913770, 3820.841840, 3821.769911, 3822.548070, 3823.326230, 3825.214250, 3827.102270, 3827.624717, 3828.147167, 3828.973273, 3829.799380, 3830.805070, 3831.810763, 3833.072743, 3834.334721, 3835.079474, 3835.824228, 3836.635914, 3837.447598, 3838.206332, 3838.965070, 3840.083669, 3841.202266, 3842.808513, 3844.414761, 3845.210724, 3846.006693, 3846.936186, 3847.865676, 3848.899956, 3849.934234, 3850.338502, 3850.742769, 3851.663747, 3852.584724, 3854.193681, 3855.802638, 3856.394742, 3856.986844, 3858.027453, 3859.068065, 3860.449646, 3861.831233, 3862.481394, 3863.131554, 3864.359992, 3865.588429, 3866.309179, 3867.029930, 3868.058859, 3869.087790, 3869.885281, 3870.682769, 3871.174058, 3871.665344, 3873.359649, 3875.053952, 3876.474556, 3877.895158, 3878.584060, 3879.272963, 3879.857114, 3880.441262, 3881.364482, 3882.287700, 3883.665096, 3885.042489, 3885.595313, 3886.148136, 3887.162589, 3888.177042, 3889.227116, 3890.277192, 3891.514744, 3892.752297, 3893.439494, 3894.126693, 3895.816857, 3897.507016, 3898.062487, 3898.617961, 3899.181035, 3899.744111, 3900.877674, 3902.011239, 3902.619582, 3903.227927, 3904.549615, 3905.871300, 3907.195146, 3908.518987, 3909.444179, 3910.369375, 3911.296955, 3912.224531, 3913.085600, 3913.946669, 3914.706604, 3915.466546, 3916.747992, 3918.029441, 3918.883105, 3919.736766, 3920.607742, 3921.478721, 3921.924765, 3922.370806, 3924.353720, 3926.336632, 3927.420851, 3928.505066, 3928.843067, 3929.181066, 3930.560593, 3931.940117, 3932.491916, 3933.043716, 3933.817684, 3934.591653, 3935.748468, 3936.905284, 3938.007208, 3939.109132, 3940.430564, 3941.751992, 3942.417946, 3943.083899, 3944.048195, 3945.012490, 3946.124604, 3947.236719, 3948.380673, 3949.524628, 3950.210247, 3950.895869, 3951.324617, 3951.753366, 3953.206754, 3954.660137, 3955.359846, 3956.059558, 3957.746179, 3959.432803, 3960.447278, 3961.461751, 3962.107263, 3962.752780, 3963.441352, 3964.129922, 3964.979701, 3965.829480, 3967.275157, 3968.720835, 3969.340889, 3969.960947, 3970.910749, 3971.860552, 3973.132769, 3974.404988, 3975.310777, 3976.216571, 3977.560818, 3978.905061, 3979.396618, 3979.888177, 3981.182138, 3982.476096, 3983.033479, 3983.590863, 3984.540035, 3985.489203, 3986.000833, 3986.512463, 3988.651155, 3990.789843, 3991.359414, 3991.928987, 3992.917445, 3993.905904, 3994.682914, 3995.459922, 3996.652118, 3997.844316, 3998.415398, 3998.986481, 4000.210020, 4001.433549, 4002.388349, 4003.343147, 4003.925412, 4004.507677, 4005.859473, 4007.211268, 4008.439948, 4009.668633, 4010.800393, 4011.932156, 4012.720652, 4013.509144, 4013.940062, 4014.370977, 4015.433301, 4016.495627, 4017.448037, 4018.400444, 4019.558595, 4020.716747, 4021.669799, 4022.622853, 4024.238936, 4025.855015, 4026.233985, 4026.612957, 4027.267482, 4027.922009, 4029.540287, 4031.158565, 4031.854183, 4032.549802, 4033.377110, 4034.204413, 4034.860416, 4035.516417, 4036.564600, 4037.612785, 4039.216447, 4040.820106, 4041.796816, 4042.773523, 4043.631804, 4044.490089, 4045.210411, 4045.930737, 4046.922161, 4047.913587, 4048.576276, 4049.238962, 4050.350178, 4051.461391, 4052.712235, 4053.963075, 4054.880444, 4055.797817, 4056.570757, 4057.343696, 4058.715735, 4060.087771, 4061.070392, 4062.053015, 4062.734507, 4063.415995, 4064.318957, 4065.221919, 4066.303794, 4067.385668, 4067.794360, 4068.203053, 4069.423754, 4070.644452, 4072.623987, 4074.603527, 4074.803284, 4075.003041, 4076.158534, 4077.314030, 4078.037347, 4078.760669, 4079.515181, 4080.269688, 4081.975761, 4083.681834, 4083.860093, 4084.038356, 4085.003311, 4085.968269, 4087.346499, 4088.724735, 4089.771178, 4090.817620, 4091.737753, 4092.657889, 4093.900819, 4095.143743, 4095.840915, 4096.538089, 4097.456750, 4098.375409, 4098.560047, 4098.744685, 4100.373126, 4102.001569, 4102.990581, 4103.979589, 4105.443169, 4106.906745, 4107.354743, 4107.802746, 4109.023399, 4110.244054, 4110.870859, 4111.497662, 4112.772072, 4114.046481, 4114.701024, 4115.355567, 4116.531566, 4117.707568, 4118.258889, 4118.810204, 4119.817626, 4120.825048, 4122.645993, 4124.466937, 4125.312188, 4126.157439, 4126.622321, 4127.087203, 4127.975974, 4128.864745, 4130.099517, 4131.334293, 4131.774226, 4132.214155, 4133.422191, 4134.630228, 4135.867013, 4137.103801, 4138.159997, 4139.216191, 4140.056244, 4140.896300, 4141.708072, 4142.519847, 4143.907925, 4145.296003, 4145.981972, 4146.667945, 4147.487713, 4148.307482, 4149.082902, 4149.858326, 4150.611135, 4151.363943, 4153.145572, 4154.927206, 4155.644275, 4156.361342, 4157.653860, 4158.946376, 4159.746453, 4160.546532, 4160.885360, 4161.224185, 4162.346929, 4163.469677, 4164.691591, 4165.913506, 4167.065989, 4168.218469, 4168.418358, 4168.618247, 4170.285222, 4171.952197, 4172.866590, 4173.780985, 4174.870680, 4175.960371, 4176.874510, 4177.788650, 4178.547421, 4179.306191, 4180.080278, 4180.854365, 4181.904984, 4182.955601, 4183.463456, 4183.971311, 4185.888455, 4187.805599, 4188.840683, 4189.875763, 4190.327180, 4190.778597, 4191.622500, 4192.466403, 4193.759917, 4195.053430, 4195.880323, 4196.707216, 4197.512370, 4198.317526, 4199.200083, 4200.082641, 4201.226011, 4202.369381, 4203.149150, 4203.928924, 4205.616240, 4207.303554, 4207.957108, 4208.610660, 4209.496549, 4210.382436, 4211.328516, 4212.274591, 4212.587871, 4212.901155, 4214.235936, 4215.570717, 4216.710039, 4217.849363, 4218.819175, 4219.788987, 4220.973023, 4222.157053, 4222.998942, 4223.840831, 4224.787286, 4225.733740, 4226.397671, 4227.061598, 4228.701592, 4230.341585, 4230.645378, 4230.949168, 4231.631917, 4232.314674, 4233.347740, 4234.380808, 4236.059839, 4237.738870, 4238.835648, 4239.932428, 4240.383325, 4240.834217, 4242.038228, 4243.242238, 4243.790263, 4244.338285, 4245.291080, 4246.243873, 4247.384325, 4248.524781, 4249.334099, 4250.143421, 4251.474846, 4252.806272, 4253.629659, 4254.453047, 4255.256024, 4256.058998, 4257.621234, 4259.183472, 4259.854244, 4260.525018, 4261.027804, 4261.530593, 4262.582291, 4263.633990, 4264.574908, 4265.515828, 4266.294445, 4267.073060, 4268.700965, 4270.328870, 4271.502944, 4272.677015, 4273.157149, 4273.637282, 4274.433733, 4275.230183, 4276.161426, 4277.092662, 4278.338632, 4279.584601, 4280.288562, 4280.992522, 4282.129618, 4283.266711, 4283.665502, 4284.064296, 4285.927854, 4287.791410, 4288.433046, 4289.074682, 4290.218409, 4291.362125, 4292.152586, 4292.943047, 4293.855359, 4294.767672, 4295.526054, 4296.284434, 4296.739257, 4297.194083, 4299.008898, 4300.823712, 4301.819688, 4302.815661, 4303.550591, 4304.285523, 4305.553380, 4306.821237, 4307.235619, 4307.650003, 4309.020737, 4310.391476, 4311.133341, 4311.875207, 4312.739618, 4313.604030, 4314.537487, 4315.470947, 4316.218271, 4316.965598, 4318.422839, 4319.880080, 4321.207639, 4322.535197, 4323.321432, 4324.107669, 4324.573612, 4325.039554, 4325.886008, 4326.732463, 4327.826289, 4328.920111, 4330.101584, 4331.283060, 4331.730842, 4332.178624, 4333.877267, 4335.575912, 4336.350037, 4337.124164, 4337.834918, 4338.545673, 4339.753546, 4340.961416, 4342.037113, 4343.112811, 4343.807143, 4344.501473, 4345.294386, 4346.087303, 4346.738035, 4347.388764, 4348.593858, 4349.798950, 4351.552106, 4353.305259, 4353.809268, 4354.313276, 4355.170271, 4356.027267, 4357.233947, 4358.440632, 4358.874312, 4359.307993, 4360.198298, 4361.088605, 4362.651384, 4364.214164, 4364.612742, 4365.011318, 4366.138481, 4367.265640, 4368.258903, 4369.252167, 4370.839939, 4372.427710, 4372.793372, 4373.159034, 4374.243106, 4375.327180, 4376.194032, 4377.060884, 4377.734716, 4378.408547, 4379.270139, 4380.131735, 4381.289583, 4382.447432, 4383.928190, 4385.408951, 4386.322877, 4387.236805, 4388.001303, 4388.765802, 4389.225798, 4389.685791, 4391.153496, 4392.621202, 4393.589047, 4394.556896, 4395.203190, 4395.849484, 4396.514080, 4397.178674, 4398.577629, 4399.976582, 4400.954882, 4401.933176, 4403.151567, 4404.369954, 4405.381051, 4406.392148, 4407.278171, 4408.164190, 4408.355262, 4408.546330, 4409.843237, 4411.140146, 4411.903341, 4412.666537, 4414.117813, 4415.569096, 4416.363999, 4417.158899, 4418.295792, 4419.432685, 4420.246892, 4421.061101, 4422.060645, 4423.060188, 4424.059774, 4425.059358, 4425.731235, 4426.403116, 4427.651953, 4428.900795, 4429.435644, 4429.970494, 4430.562401, 4431.154306, 4433.499741, 4435.845183, 4436.065002, 4436.284821, 4437.437369, 4438.589912, 4439.203996, 4439.818074, 4440.815791, 4441.813504, 4442.695711, 4443.577925, 4444.522585, 4445.467245, 4446.537473, 4447.607702, 4448.542572, 4449.477438, 4450.739413, 4452.001385, 4452.579913, 4453.158443, 4454.486828, 4455.815216, 4456.891774, 4457.968333, 4458.447722, 4458.927114, 4459.590650, 4460.254190, 4461.255269, 4462.256347, 4463.486352, 4464.716358, 4465.853203, 4466.990045, 4468.310265, 4469.630489, 4470.124933, 4470.619375, 4471.660369, 4472.701367, 4473.104582, 4473.507794, 4475.099756, 4476.691716, 4477.413626, 4478.135537, 4478.833526, 4479.531516, 4480.555556, 4481.579595, 4482.758302, 4483.937005, 4485.279539, 4486.622074, 4487.521473, 4488.420871, 4488.767503, 4489.114134, 4490.544838, 4491.975538, 4492.388743, 4492.801951, 4493.638008, 4494.474068, 4495.675541, 4496.877016, 4498.525141, 4500.173261, 4500.702481, 4501.231698, 4501.863868, 4502.496038, 4503.898176, 4505.300315, 4506.006716, 4506.713120, 4507.752192, 4508.791266, 4509.506667, 4510.222071, 4511.177010, 4512.131948, 4512.858240, 4513.584532, 4515.017107, 4516.449680, 4517.696651, 4518.943624, 4519.831757, 4520.719894, 4521.298149, 4521.876401, 4522.929787, 4523.983172, 4524.274345, 4524.565520, 4526.279070, 4527.992619, 4528.628696, 4529.264771, 4530.182519, 4531.100265, 4532.556078, 4534.011892, 4534.757880, 4535.503870, 4536.195079, 4536.886286, 4538.274825, 4539.663365, 4540.430027, 4541.196690, 4541.847992, 4542.499291, 4543.309852, 4544.120413, 4544.923680, 4545.726945, 4547.544757, 4549.362567, 4550.157754, 4550.952942, 4551.895988, 4552.839038, 4553.455191, 4554.071340, 4555.001099, 4555.930861, 4557.094228, 4558.257591, 4558.779138, 4559.300686, 4560.573952, 4561.847225, 4562.826593, 4563.805964, 4564.501569, 4565.197168, 4566.540111, 4567.883054, 4569.131311, 4570.379572, 4571.016764, 4571.653957, 4572.265260, 4572.876564, 4573.823823, 4574.771085, 4575.840487, 4576.909895, 4577.407984, 4577.906074, 4579.680468, 4581.454861, 4582.265989, 4583.077111, 4584.227548, 4585.377982, 4585.763265, 4586.148549, 4587.142890, 4588.137232, 4589.351975, 4590.566719, 4591.560462, 4592.554205, 4593.084915, 4593.615623, 4594.318042, 4595.020465, 4596.553132, 4598.085799, 4599.388649, 4600.691495, 4601.174437, 4601.657378, 4602.986026, 4604.314672, 4604.938597, 4605.562514, 4606.156895, 4606.751276, 4607.608923, 4608.466572, 4609.903896, 4611.341216, 4612.141014, 4612.940814, 4614.227261, 4615.513715, 4616.160685, 4616.807656, 4617.804319, 4618.800981, 4620.082166, 4621.363347, 4621.788372, 4622.213396, 4623.476984, 4624.740576, 4625.145754, 4625.550934, 4626.753461, 4627.955985, 4628.663727, 4629.371470, 4631.342844, 4633.314220, 4633.987213, 4634.660204, 4635.096806, 4635.533404, 4636.465310, 4637.397216, 4638.431782, 4639.466344, 4640.390539, 4641.314731, 4642.288854, 4643.262973, 4644.015009, 4644.767054, 4646.255181, 4647.743309, 4648.270657, 4648.798005, 4650.066857, 4651.335708, 4652.317873, 4653.300042, 4654.119672, 4654.939305, 4655.854385, 4656.769465, 4657.296775, 4657.824089, 4658.573454, 4659.322818, 4660.988266, 4662.653714, 4663.738088, 4664.822466, 4665.489476, 4666.156485, 4667.405218, 4668.653946, 4669.152321, 4669.650692, 4670.466832, 4671.282975, 4672.528073, 4673.773172, 4674.725939, 4675.678709, 4676.349425, 4677.020142, 4677.803130, 4678.586119, 4680.175630, 4681.765139, 4682.683771, 4683.602405, 4684.646110, 4685.689816, 4686.292817, 4686.895817, 4687.599695, 4688.303574, 4689.400367, 4690.497154, 4691.214815, 4691.932476, 4692.999046, 4694.065614, 4695.629214, 4697.192816, 4697.870006, 4698.547197, 4699.345430, 4700.143664, 4700.852352, 4701.561036, 4703.244285, 4704.927533, 4705.319870, 4705.712208, 4706.273180, 4706.834153, 4708.213080, 4709.592010, 4710.063487, 4710.534966, 4712.138281, 4713.741594, 4714.843295, 4715.945000, 4716.800642, 4717.656285, 4718.375833, 4719.095380, 4719.888355, 4720.681332, 4721.369601, 4722.057870, 4723.290697, 4724.523518, 4725.598691, 4726.673867, 4727.482098, 4728.290330, 4729.285773, 4730.281215, 4731.561019, 4732.840826, 4733.542816, 4734.244802, 4735.155169, 4736.065530, 4737.071316, 4738.077104, 4739.032031, 4739.986956, 4740.379038, 4740.771119, 4741.638610, 4742.506102, 4744.305153, 4746.104206, 4747.145392, 4748.186583, 4748.747763, 4749.308939, 4750.165510, 4751.022083, 4751.978535, 4752.934987, 4753.712848, 4754.490706, 4755.895365, 4757.300028, 4757.526411, 4757.752796, 4759.009434, 4760.266072, 4761.630078, 4762.994090, 4763.347892, 4763.701693, 4765.556747, 4767.411802, 4767.774550, 4768.137302, 4769.253730, 4770.370162, 4770.632929, 4770.895697, 4772.028475, 4773.161248, 4774.261837, 4775.362434, 4776.338812, 4777.315188, 4778.720656, 4780.126121, 4781.024231, 4781.922336, 4782.292474, 4782.662607, 4783.875093, 4785.087575, 4785.951577, 4786.815578, 4787.916070, 4789.016561, 4789.847010, 4790.677459, 4791.137257, 4791.597054, 4792.769300, 4793.941548, 4795.650951, 4797.360351, 4798.037979, 4798.715609, 4799.379346, 4800.043091, 4801.101600, 4802.160111, 4803.005481, 4803.850855, 4804.403180, 4804.955507, 4805.975655, 4806.995801, 4808.552341, 4810.108881, 4810.673306, 4811.237728, 4812.413952, 4813.590174, 4814.318132, 4815.046089, 4816.238607, 4817.431129, 4818.293243, 4819.155357, 4820.035944, 4820.916532, 4821.460824, 4822.005119, 4823.101291, 4824.197464, 4824.959604, 4825.721749, 4827.347036, 4828.972324, 4829.835180, 4830.698033, 4831.883533, 4833.069039, 4833.405750, 4833.742465, 4834.276885, 4834.811301, 4836.391887, 4837.972474, 4838.805113, 4839.637751, 4840.258477, 4840.879209, 4842.030145, 4843.181076, 4844.446394, 4845.711711, 4846.431457, 4847.151205, 4848.219604, 4849.287999, 4850.458063, 4851.628128, 4852.069293, 4852.510456, 4853.428547, 4854.346640, 4855.074871, 4855.803095, 4856.706875, 4857.610650, 4859.459282, 4861.307915, 4861.893761, 4862.479608, 4863.247560, 4864.015509, 4865.028971, 4866.042435, 4866.942449, 4867.842466, 4868.653150, 4869.463834, 4870.404073, 4871.344312, 4872.440067, 4873.535820, 4874.156366, 4874.776913, 4875.728150, 4876.679384, 4878.249867, 4879.820357, 4880.822130, 4881.823900, 4882.313941, 4882.803977, 4883.660110, 4884.516239, 4885.568769, 4886.621301, 4887.013813, 4887.406323, 4888.901610, 4890.396895, 4891.111615, 4891.826333, 4893.368055, 4894.909773, 4895.552885, 4896.195998, 4896.954981, 4897.713967, 4898.596090, 4899.478213, 4900.902353, 4902.326494, 4902.835940, 4903.345381, 4904.274854, 4905.204323, 4905.529864, 4905.855404, 4907.568743, 4909.282079, 4910.269117, 4911.256154, 4912.459270, 4913.662388, 4914.331303, 4915.000215, 4915.763329, 4916.526447, 4917.406705, 4918.286964, 4918.907496, 4919.528023, 4921.013944, 4922.499865, 4923.082087, 4923.664306, 4924.988680, 4926.313051, 4926.967359, 4927.621670, 4928.803813, 4929.985958, 4931.151804, 4932.317653, 4932.936071, 4933.554490, 4934.238251, 4934.922010, 4936.152846, 4937.383680, 4937.924092, 4938.464503, 4939.184274, 4939.904046, 4941.824548, 4943.745051, 4944.739316, 4945.733584, 4946.009635, 4946.285685, 4947.378211, 4948.470740, 4949.218874, 4949.967005, 4951.208339, 4952.449676, 4953.118108, 4953.786545, 4954.748003, 4955.709460, 4956.544076, 4957.378695, 4958.596243, 4959.813795, 4960.943229, 4962.072669, 4962.794978, 4963.517291, 4964.937116, 4966.356939, 4966.696787, 4967.036639, 4967.705877, 4968.375115, 4969.244900, 4970.114688, 4971.353949, 4972.593198, 4973.854736, 4975.116275, 4975.840158, 4976.564043, 4977.833846, 4979.103650, 4979.762473, 4980.421294, 4981.028472, 4981.635648, 4983.002804, 4984.369960, 4985.177646, 4985.985331, 4986.684758, 4987.384184, 4988.263448, 4989.142713, 4990.010518, 4990.878321, 4992.585460, 4994.292602, 4995.176728, 4996.060853, 4996.586645, 4997.112434, 4998.054258, 4998.996080, 4999.683049, 5000.370017, 5001.661226, 5002.952434, 5003.280006, 5003.607580, 5005.054144, 5006.500704, 5007.737678, 5008.974654, 5009.653297, 5010.331941, 5010.993278, 5011.654611, 5013.264179, 5014.873746, 5015.308615, 5015.743486, 5016.770850, 5017.798212, 5018.466851, 5019.135489, 5019.931465, 5020.727442, 5021.753920, 5022.780400, 5024.265933, 5025.751467, 5026.707556, 5027.663646, 5028.472801, 5029.281955, 5030.090666, 5030.899379, 5031.603585, 5032.307790, 5033.066582, 5033.825374, 5035.313876, 5036.802384, 5037.603841, 5038.405295, 5038.707030, 5039.008764, 5040.778787, 5042.548809, 5043.238567, 5043.928327, 5045.140133, 5046.351936, 5046.948965, 5047.545998, 5048.659449, 5049.772906, 5050.555618, 5051.338332, 5051.701754, 5052.065175, 5053.238460, 5054.411746, 5055.879168, 5057.346587, 5058.422579, 5059.498571, 5060.346821, 5061.195075, 5061.571584, 5061.948089, 5063.198732, 5064.449376, 5065.481613, 5066.513851, 5067.236886, 5067.959922, 5068.707299, 5069.454675, 5070.604218, 5071.753763, 5072.541822, 5073.329878, 5074.495623, 5075.661377, 5077.146778, 5078.632181, 5079.133893, 5079.635606, 5080.347773, 5081.059944, 5081.782139, 5082.504330, 5083.527337, 5084.550346, 5085.475178, 5086.400012, 5087.430776, 5088.461541, 5089.759319, 5091.057097, 5091.723977, 5092.390860, 5093.659679, 5094.928498, 5095.235955, 5095.543416, 5096.861377, 5098.179342, 5099.249724, 5100.320106, 5100.772297, 5101.224489, 5102.239677, 5103.254866, 5103.699139, 5104.143407, 5106.443191, 5108.742978, 5108.898748, 5109.054519, 5110.169452, 5111.284387, 5112.218196, 5113.152008, 5114.006910, 5114.861811, 5115.237556, 5115.613304, 5117.053986, 5118.494666, 5119.254971, 5120.015273, 5121.208742, 5122.402208, 5123.146245, 5123.890284, 5125.009682, 5126.129080, 5127.071751, 5128.014423, 5129.181012, 5130.347602, 5131.001014, 5131.654425, 5132.125980, 5132.597533, 5133.794377, 5134.991218, 5135.711752, 5136.432286, 5137.554042, 5138.675802, 5140.304537, 5141.933257, 5142.542640, 5143.152026, 5143.876547, 5144.601067, 5145.176082, 5145.751092, 5147.029839, 5148.308586, 5149.338487, 5150.368387, 5151.028741, 5151.689093, 5152.437562, 5153.186034, 5154.422553, 5155.659073, 5156.696186, 5157.733298, 5158.851207, 5159.969114, 5160.899016, 5161.828914, 5162.440048, 5163.051179, 5164.144342, 5165.237505, 5165.803342, 5166.369184, 5166.932941, 5167.496694, 5169.223022, 5170.949351, 5171.874315, 5172.799277, 5173.670886, 5174.542493, 5175.375697, 5176.208897, 5177.224783, 5178.240665, 5179.129007, 5180.017347, 5180.686336, 5181.355328, 5182.752535, 5184.149746, 5184.500013, 5184.850280, 5185.626080, 5186.401880, 5187.803678, 5189.205473, 5190.638015, 5192.070552, 5192.664791, 5193.259027, 5194.232425, 5195.205824, 5195.598386, 5195.990957, 5197.064901, 5198.138844, 5199.104311, 5200.069775, 5201.078672, 5202.087569, 5202.843826, 5203.600082, 5205.149283, 5206.698485, 5207.344183, 5207.989876, 5208.540324, 5209.090774, 5210.591194, 5212.091613, 5212.979469, 5213.867325, 5214.404288, 5214.941252, 5215.619641, 5216.298033, 5217.303325, 5218.308611, 5219.372433, 5220.436253, 5222.120770, 5223.805287, 5224.106956, 5224.408630, 5225.700351, 5226.992077, 5227.477340, 5227.962606, 5228.792191, 5229.621774, 5230.680927, 5231.740079, 5232.654588, 5233.569101, 5234.690709, 5235.812317, 5236.389624, 5236.966931, 5238.037904, 5239.108873, 5240.659186, 5242.209497, 5242.727620, 5243.245742, 5244.055891, 5244.866045, 5245.938606, 5247.011166, 5247.557177, 5248.103189, 5249.111223, 5250.119257, 5250.695637, 5251.272015, 5253.161260, 5255.050508, 5255.776160, 5256.501813, 5257.217895, 5257.933977, 5258.932086, 5259.930194, 5260.510096, 5261.089999, 5262.519313, 5263.948627, 5264.625074, 5265.301523, 5265.919534, 5266.537549, 5267.490573, 5268.443593, 5269.684501, 5270.925408, 5271.934908, 5272.944409, 5274.033906, 5275.123401, 5276.189240, 5277.255082, 5277.727673, 5278.200262, 5278.886823, 5279.573390, 5280.373324, 5281.173259, 5282.611610, 5284.049958, 5284.691380, 5285.332798, 5286.545782, 5287.758768, 5288.930483, 5290.102195, 5290.525716, 5290.949235, 5292.138248, 5293.327262, 5294.228242, 5295.129225, 5295.982802, 5296.836378, 5297.676887, 5298.517395, 5299.453771, 5300.390144, 5300.687721, 5300.985298, 5302.920722, 5304.856147, 5305.982133, 5307.108118, 5307.748234, 5308.388348, 5308.712509, 5309.036669, 5310.610065, 5312.183459, 5312.517138, 5312.850819, 5313.861396, 5314.871975, 5316.014673, 5317.157371, 5318.061129, 5318.964885, 5320.014154, 5321.063424, 5321.853385, 5322.643348, 5323.790178, 5324.937010, 5326.217664, 5327.498316, 5327.646493, 5327.794673, 5328.971715, 5330.148758, 5330.718230, 5331.287700, 5332.164333, 5333.040970, 5334.510700, 5335.980433, 5336.866065, 5337.751693, 5339.066574, 5340.381456, 5340.828221, 5341.274996, 5342.110518, 5342.946037, 5343.608035, 5344.270031, 5345.866438, 5347.462844, 5347.954927, 5348.447007, 5349.136977, 5349.826951, 5350.843308, 5351.859668, 5353.261118, 5354.662569, 5355.547867, 5356.433164, 5357.388185, 5358.343208, 5359.185676, 5360.028145, 5360.764080, 5361.500012, 5362.207525, 5362.915035, 5363.830764, 5364.746496, 5365.646406, 5366.546318, 5368.189422, 5369.832527, 5370.524825, 5371.217121, 5371.821123, 5372.425125, 5373.516359, 5374.607593, 5375.635647, 5376.663703, 5377.565541, 5378.467371, 5379.054951, 5379.642528, 5380.613664, 5381.584796, 5382.659479, 5383.734165, 5384.189527, 5384.644888, 5386.643051, 5388.641215, 5389.186357, 5389.731501, 5390.552267, 5391.373034, 5392.303445, 5393.233858, 5393.621839, 5394.009825, 5395.220731, 5396.431643, 5397.489748, 5398.547852, 5399.323601, 5400.099347, 5401.167808, 5402.236266, 5403.415069, 5404.593874, 5405.330933, 5406.067989, 5406.890762, 5407.713531, 5408.852590, 5409.991648, 5410.943265, 5411.894885, 5412.599974, 5413.305066, 5413.504620, 5413.704178, 5415.124438, 5416.544699, 5418.120892, 5419.697077, 5420.335739, 5420.974398, 5421.975580, 5422.976764, 5423.783834, 5424.590908, 5425.202005, 5425.813099, 5426.896470, 5427.979843, 5428.804615, 5429.629386, 5430.817684, 5432.005985, 5432.490681, 5432.975377, 5434.359967, 5435.744556, 5436.364020, 5436.983485, 5438.586221, 5440.188958, 5440.926094, 5441.663232, 5441.999526, 5442.335824, 5443.341658, 5444.347489, 5445.450395, 5446.553303, 5446.986167, 5447.419032, 5448.699094, 5449.979159, 5451.457942, 5452.936719, 5453.687882, 5454.439041, 5455.100451, 5455.761859, 5456.408269, 5457.054683, 5458.567685, 5460.080692, 5460.490576, 5460.900458, 5462.201626, 5463.502797, 5463.821283, 5464.139770, 5465.120932, 5466.102092, 5467.622074, 5469.142056, 5470.071123, 5471.000190, 5471.844950, 5472.689708, 5473.619880, 5474.550060, 5475.357017, 5476.163971, 5476.700555, 5477.237141, 5478.018689, 5478.800233, 5480.355108, 5481.909981, 5482.624261, 5483.338544, 5484.336567, 5485.334593, 5486.328874, 5487.323153, 5488.314969, 5489.306780, 5489.935922, 5490.565065, 5491.893485, 5493.221897, 5493.640394, 5494.058888, 5495.093847, 5496.128808, 5496.774713, 5497.420619, 5498.379710, 5499.338799, 5501.011778, 5502.684756, 5503.638646, 5504.592535, 5505.034448, 5505.476359, 5506.362831, 5507.249304, 5507.934316, 5508.619325, 5509.883835, 5511.148342, 5512.069832, 5512.991322, 5513.339621, 5513.687921, 5515.494601, 5517.301281, 5517.667592, 5518.033904, 5519.169870, 5520.305839, 5521.405128, 5522.504417, 5523.497953, 5524.491491, 5525.199306, 5525.907121, 5526.397213, 5526.887304, 5527.914735, 5528.942159, 5529.731356, 5530.520554, 5532.004240, 5533.487921, 5534.625779, 5535.763638, 5536.236582, 5536.709524, 5537.840284, 5538.971046, 5539.775076, 5540.579101, 5541.064862, 5541.550621, 5543.022153, 5544.493685, 5545.195460, 5545.897230, 5546.702609, 5547.507997, 5548.149388, 5548.790781, 5550.467562, 5552.144343, 5553.080508, 5554.016670, 5554.696875, 5555.377081, 5556.230363, 5557.083650, 5557.962821, 5558.841994, 5559.565281, 5560.288566, 5560.976604, 5561.664640, 5562.985410, 5564.306183, 5565.378691, 5566.451202, 5567.663190, 5568.875181, 5569.337404, 5569.799629, 5570.523789, 5571.247953, 5572.691549, 5574.135150, 5574.912879, 5575.690608, 5576.244097, 5576.797586, 5577.679704, 5578.561818, 5579.453867, 5580.345922, 5581.529405, 5582.712892, 5583.798037, 5584.883178, 5586.220906, 5587.558634, 5588.046613, 5588.534591, 5589.067343, 5589.600092, 5590.554006, 5591.507919, 5592.472094, 5593.436265, 5594.467683, 5595.499101, 5596.458985, 5597.418869, 5598.208844, 5598.998818, 5600.387357, 5601.775893, 5602.226707, 5602.677519, 5604.169685, 5605.661852, 5605.932606, 5606.203362, 5607.456287, 5608.709210, 5609.458290, 5610.207372, 5610.837477, 5611.467578, 5612.119404, 5612.771232, 5614.873501, 5616.975765, 5617.499226, 5618.022691, 5618.727936, 5619.433181, 5620.478143, 5621.523104, 5622.222835, 5622.922566, 5623.854348, 5624.786130, 5625.696262, 5626.606395, 5627.591654, 5628.576910, 5629.318943, 5630.060979, 5631.174475, 5632.287975, 5633.215450, 5634.142925, 5635.377802, 5636.612679, 5637.445883, 5638.279090, 5639.107286, 5639.935478, 5640.585916, 5641.236355, 5641.715675, 5642.194995, 5643.750700, 5645.306403, 5645.803852, 5646.301297, 5647.827578, 5649.353860, 5650.261812, 5651.169763, 5652.101368, 5653.032968, 5653.350855, 5653.668743, 5654.821550, 5655.974359, 5657.369144, 5658.763930, 5659.104180, 5659.444431, 5660.212890, 5660.981349, 5661.955531, 5662.929716, 5664.055343, 5665.180970, 5666.789041, 5668.397110, 5668.693795, 5668.990479, 5669.969899, 5670.949320, 5671.839958, 5672.730597, 5673.488844, 5674.247089, 5674.881543, 5675.515998, 5676.635891, 5677.755779, 5679.005678, 5680.255578, 5681.305778, 5682.355979, 5682.752949, 5683.149911, 5684.450433, 5685.750957, 5686.737195, 5687.723434, 5688.504719, 5689.286005, 5689.962396, 5690.638787, 5691.754022, 5692.869262, 5693.401821, 5693.934380, 5694.770285, 5695.606187, 5697.230051, 5698.853915, 5699.814881, 5700.775845, 5701.712678, 5702.649514, 5703.086205, 5703.522898, 5704.347501, 5705.172102, 5706.125670, 5707.079242, 5708.280494, 5709.481757, 5710.245671, 5711.009588, 5711.555167, 5712.100744, 5713.654049, 5715.207355, 5716.102364, 5716.997370, 5717.545653, 5718.093934, 5719.608657, 5721.123377, 5721.745482, 5722.367588, 5722.855637, 5723.343683, 5724.482822, 5725.621960, 5725.930353, 5726.238746, 5727.968106, 5729.697463, 5730.638044, 5731.578624, 5732.656405, 5733.734189, 5734.276665, 5734.819136, 5735.708037, 5736.596938, 5737.571798, 5738.546656, 5739.436226, 5740.325801, 5741.081443, 5741.837087, 5743.041442, 5744.245797, 5744.693021, 5745.140245, 5746.203351, 5747.266454, 5748.900019, 5750.533584, 5751.179618, 5751.825649, 5752.687484, 5753.549318, 5753.943539, 5754.337761, 5755.656447, 5756.975134, 5757.455936, 5757.936735, 5758.940757, 5759.944770, 5761.137770, 5762.330772, 5763.699158, 5765.067542, 5765.399214, 5765.730886, 5766.859168, 5767.987449, 5768.678319, 5769.369187, 5770.575084, 5771.780973, 5772.777452, 5773.773932, 5774.144630, 5774.515330, 5775.259754, 5776.004178, 5777.173554, 5778.342927, 5779.735445, 5781.127966, 5782.011463, 5782.894952, 5783.687769, 5784.480590, 5785.594085, 5786.707578, 5787.196623, 5787.685666, 5788.108781, 5788.531896, 5790.119741, 5791.707589, 5792.507241, 5793.306892, 5794.048484, 5794.790074, 5796.070928, 5797.351779, 5798.041517, 5798.731256, 5799.956980, 5801.182703, 5801.954864, 5802.727022, 5803.566118, 5804.405223, 5805.256687, 5806.108152, 5806.770464, 5807.432775, 5808.375707, 5809.318641, 5810.057716, 5810.796790, 5812.849249, 5814.901709, 5815.189676, 5815.477642, 5816.336599, 5817.195557, 5817.829868, 5818.464179, 5819.629995, 5820.795811, 5821.756762, 5822.717711, 5823.313389, 5823.909068, 5824.965257, 5826.021450, 5826.872105, 5827.722765, 5828.835968, 5829.949173, 5830.835973, 5831.722772, 5833.134831, 5834.546893, 5834.919236, 5835.291579, 5836.382311, 5837.473042, 5837.979049, 5838.485059, 5839.246838, 5840.008615, 5841.052837, 5842.097057, 5843.616179, 5845.135301, 5845.570959, 5846.006622, 5847.357092, 5848.707559, 5849.581283, 5850.455017, 5850.777038, 5851.099060, 5852.371235, 5853.643408, 5854.546670, 5855.449933, 5856.513749, 5857.577569, 5857.933697, 5858.289825, 5859.057841, 5859.825852, 5861.576436, 5863.327022, 5864.151757, 5864.976491, 5865.965640, 5866.954788, 5867.567801, 5868.180817, 5868.940141, 5869.699468, 5870.595665, 5871.491866, 5872.373056, 5873.254249, 5874.099530, 5874.944814, 5876.196878, 5877.448939, 5878.495869, 5879.542800, 5880.268694, 5880.994587, 5881.654649, 5882.314711, 5883.888350, 5885.461988, 5886.003892, 5886.545796, 5887.185979, 5887.826162, 5888.638811, 5889.451464, 5890.550336, 5891.649207, 5892.233372, 5892.817540, 5894.423310, 5896.029079, 5897.119967, 5898.210851, 5898.750011, 5899.289171, 5900.094651, 5900.900133, 5901.692914, 5902.485695, 5903.240115, 5903.994536, 5905.491024, 5906.987511, 5907.298320, 5907.609128, 5908.681106, 5909.753080, 5910.718475, 5911.683870, 5912.964311, 5914.244740, 5915.109647, 5915.974554, 5916.563378, 5917.152201, 5918.406130, 5919.660058, 5920.312933, 5920.965806, 5921.515873, 5922.065944, 5922.785047, 5923.504147, 5925.051534, 5926.598920, 5927.815780, 5929.032642, 5929.663806, 5930.294971, 5931.022763, 5931.750556, 5932.892204, 5934.033854, 5934.550435, 5935.067017, 5936.303161, 5937.539298, 5938.378579, 5939.217856, 5939.673682, 5940.129511, 5941.476129, 5942.822745, 5943.484116, 5944.145484, 5945.533331, 5946.921176, 5948.062961, 5949.204748, 5949.841387, 5950.478029, 5950.912227, 5951.346420, 5952.284928, 5953.223431, 5954.178483, 5955.133538, 5956.187603, 5957.241672, 5957.954718, 5958.667768, 5960.172429, 5961.677091, 5962.435041, 5963.192995, 5963.767243, 5964.341491, 5965.355051, 5966.368610, 5967.537617, 5968.706621, 5969.390469, 5970.074317, 5970.845375, 5971.616431, 5972.489205, 5973.361978, 5973.833854, 5974.305731, 5976.200978, 5978.096227, 5978.968548, 5979.840868, 5980.387264, 5980.933664, 5982.111155, 5983.288647, 5983.738261, 5984.187878, 5985.331221, 5986.474564, 5986.833123, 5987.191678, 5988.776226, 5990.360765, 5991.106741, 5991.852713, 5992.565887, 5993.279065, 5994.549538, 5995.820005, 5996.652838, 5997.485672, 5998.567154, 5999.648638, 6000.418818, 6001.188998, 6001.771136, 6002.353272, 6003.415011, 6004.476750, 6005.024423, 6005.572094, 6006.597931, 6007.623768, 6009.104519, 6010.585269, 6011.513722, 6012.442173, 6013.405828, 6014.369485, 6014.741924, 6015.114365, 6015.816815, 6016.519265, 6018.174202, 6019.829138, 6020.177089, 6020.525042, 6021.476484, 6022.427917, 6023.121591, 6023.815267, 6025.306703, 6026.798138, 6027.386656, 6027.975168, 6029.313097, 6030.651024, 6031.398019, 6032.145011, 6033.058812, 6033.972617, 6034.509559, 6035.046506, 6035.778824, 6036.511140, 6037.489681, 6038.468218, 6039.613513, 6040.758807, 6042.144424, 6043.530041, 6043.954107, 6044.378170, 6045.379993, 6046.381818, 6047.383706, 6048.385596, 6049.164886, 6049.944179, 6050.718612, 6051.493039, 6052.615400, 6053.737763, 6054.498658, 6055.259555, 6055.760549, 6056.261541, 6057.391200, 6058.520857, 6060.328691, 6062.136523, 6062.634088, 6063.131649, 6063.619042, 6064.106437, 6065.342670, 6066.578904, 6067.081742, 6067.584580, 6068.442638, 6069.300697, 6070.523413, 6071.746129, 6072.372439, 6072.998751, 6074.296422, 6075.594097, 6076.685813, 6077.777523, 6078.136973, 6078.496423, 6079.689686, 6080.882945, 6081.973840, 6083.064735, 6083.931064, 6084.797391, 6085.243985, 6085.690580, 6086.353288, 6087.015995, 6088.196449, 6089.376904, 6090.596170, 6091.815434, 6092.831468, 6093.847502, 6094.975210, 6096.102917, 6096.573790, 6097.044659, 6097.891134, 6098.737604, 6099.384146, 6100.030691, 6101.311538, 6102.592381, 6103.387473, 6104.182560, 6105.030140, 6105.877724, 6106.715366, 6107.553011, 6108.673925, 6109.794844, 6110.942601, 6112.090357, 6112.952974, 6113.815588, 6114.647363, 6115.479138, 6115.952415, 6116.425694, 6117.728002, 6119.030314, 6119.502744, 6119.975179, 6120.590643, 6121.206109, 6123.175400, 6125.144691, 6125.744290, 6126.343893, 6127.296432, 6128.248970, 6128.722370, 6129.195775, 6130.378642, 6131.561508, 6132.457180, 6133.352853, 6134.243347, 6135.133844, 6135.730862, 6136.327876, 6137.489917, 6138.651955, 6139.156401, 6139.660846, 6141.320318, 6142.979785, 6143.583253, 6144.186723, 6145.549012, 6146.911299, 6147.351336, 6147.791372, 6148.564289, 6149.337205, 6149.902098, 6150.466993, 6151.621890, 6152.776786, 6154.028041, 6155.279294, 6155.795080, 6156.310864, 6157.652383, 6158.993902, 6159.958394, 6160.922886, 6161.478039, 6162.033193, 6162.946470, 6163.859748, 6165.085904, 6166.312058, 6167.009548, 6167.707041, 6168.320185, 6168.933332, 6169.720830, 6170.508328, 6171.458201, 6172.408072, 6174.083906, 6175.759738, 6176.525760, 6177.291783, 6178.015456, 6178.739133, 6179.311680, 6179.884229, 6181.118815, 6182.353400, 6182.798782, 6183.244165, 6184.417520, 6185.590874, 6186.315583, 6187.040291, 6188.303764, 6189.567235, 6190.466651, 6191.366065, 6191.863633, 6192.361198, 6193.988047, 6195.614896, 6196.309485, 6197.004078, 6197.524719, 6198.045362, 6199.173959, 6200.302553, 6200.739802, 6201.177049, 6202.189196, 6203.201345, 6204.199307, 6205.197264, 6206.647112, 6208.096957, 6208.923999, 6209.751041, 6210.414108, 6211.077174, 6212.056771, 6213.036362, 6213.446449, 6213.856534, 6215.137798, 6216.419062, 6217.578258, 6218.737457, 6219.157117, 6219.576774, 6220.177422, 6220.778063, 6222.363564, 6223.949061, 6224.886909, 6225.824756, 6226.724475, 6227.624197, 6228.439112, 6229.254027, 6230.265521, 6231.277010, 6231.833736, 6232.390462, 6232.955545, 6233.520624, 6234.621362, 6235.722100, 6236.947604, 6238.173109, 6239.296890, 6240.420677, 6241.089005, 6241.757331, 6242.792976, 6243.828619, 6244.319113, 6244.809605, 6246.436588, 6248.063573, 6248.233831, 6248.404093, 6249.344597, 6250.285102, 6251.387439, 6252.489778, 6253.059565, 6253.629352, 6254.632881, 6255.636408, 6257.276451, 6258.916495, 6259.613678, 6260.310861, 6261.149091, 6261.987321, 6262.340006, 6262.692687, 6263.681487, 6264.670283, 6265.920667, 6267.171056, 6267.567878, 6267.964704, 6269.261358, 6270.558013, 6271.446238, 6272.334462, 6273.409559, 6274.484653, 6275.294181, 6276.103704, 6276.873018, 6277.642330, 6278.889631, 6280.136935, 6280.775477, 6281.414021, 6282.198385, 6282.982749, 6283.685860, 6284.388971, 6284.988688, 6285.588405, 6287.431316, 6289.274230, 6290.107196, 6290.940161, 6291.525317, 6292.110474, 6293.382211, 6294.653943, 6295.105579, 6295.557211, 6296.283668, 6297.010123, 6298.079022, 6299.147921, 6300.370220, 6301.592520, 6301.969389, 6302.346264, 6303.448395, 6304.550524, 6305.540832, 6306.531143, 6307.691695, 6308.852247, 6309.849846, 6310.847447, 6311.504220, 6312.160994, 6312.891775, 6313.622553, 6314.385872, 6315.149190, 6316.059490, 6316.969794, 6317.799640, 6318.629484, 6319.724728, 6320.819968, 6322.527512, 6324.235056, 6324.471012, 6324.706970, 6325.253382, 6325.799791, 6326.982729, 6328.165665, 6329.158071, 6330.150475, 6331.212370, 6332.274265, 6332.601593, 6332.928920, 6333.855034, 6334.781152, 6335.870810, 6336.960461, 6337.966108, 6338.971756, 6340.293429, 6341.615101, 6342.295403, 6342.975702, 6343.771565, 6344.567421, 6345.346592, 6346.125767, 6346.988589, 6347.851412, 6348.217020, 6348.582630, 6350.274519, 6351.966408, 6352.586321, 6353.206232, 6354.317668, 6355.429105, 6356.211498, 6356.993897, 6358.088534, 6359.183168, 6359.985580, 6360.787990, 6361.460430, 6362.132871, 6363.404390, 6364.675908, 6365.118933, 6365.561955, 6366.512938, 6367.463920, 6367.903165, 6368.342408, 6370.266578, 6372.190746, 6372.953269, 6373.715793, 6374.623053, 6375.530310, 6376.093151, 6376.655993, 6377.446965, 6378.237935, 6379.159137, 6380.080335, 6381.215678, 6382.351019, 6382.875732, 6383.400457, 6384.461287, 6385.522113, 6386.684685, 6387.847256, 6388.703051, 6389.558842, 6390.225960, 6390.893076, 6392.345661, 6393.798249, 6394.594591, 6395.390928, 6395.722376, 6396.053821, 6396.812287, 6397.570755, 6398.738799, 6399.906847, 6400.571906, 6401.236963, 6402.785612, 6404.334261, 6405.113728, 6405.893198, 6406.866552, 6407.839911, 6408.557688, 6409.275465, 6409.809225, 6410.342986, 6411.580846, 6412.818706, 6413.634480, 6414.450256, 6415.340838, 6416.231416, 6417.120240, 6418.009065, 6418.456895, 6418.904731, 6420.609538, 6422.314346, 6423.369357, 6424.424367, 6424.832494, 6425.240621, 6426.179302, 6427.117980, 6428.120627, 6429.123274, 6429.672731, 6430.222191, 6430.936060, 6431.649926, 6432.761079, 6433.872228, 6435.466595, 6437.060964, 6437.354711, 6437.648465, 6438.888398, 6440.128330, 6440.609311, 6441.090292, 6442.323664, 6443.557038, 6444.392265, 6445.227494, 6446.057357, 6446.887221, 6447.569703, 6448.252186, 6448.937702, 6449.623218, 6450.878675, 6452.134132, 6453.087497, 6454.040859, 6455.440673, 6456.840490, 6457.416168, 6457.991845, 6458.796503, 6459.601160, 6460.173326, 6460.745489, 6461.485011, 6462.224536, 6463.682522, 6465.140507, 6465.743250, 6466.345996, 6467.083415, 6467.820837, 6469.352330, 6470.883829, 6471.396279, 6471.908730, 6472.832683, 6473.756637, 6475.018330, 6476.280027, 6476.698638, 6477.117252, 6478.249229, 6479.381199, 6480.083892, 6480.786585, 6481.175287, 6481.563991, 6482.777307, 6483.990622, 6485.652701, 6487.314778, 6488.047971, 6488.781166, 6489.259461, 6489.737757, 6490.663812, 6491.589868, 6492.731623, 6493.873378, 6494.306431, 6494.739485, 6495.786685, 6496.833881, 6497.855514, 6498.877149, 6499.683747, 6500.490346, 6501.292354, 6502.094362, 6503.215975, 6504.337588, 6505.625797, 6506.914010, 6507.477930, 6508.041850, 6509.127463, 6510.213081, 6510.432244, 6510.651411, 6511.837620, 6513.023831, 6513.605899, 6514.187968, 6515.438549, 6516.689130, 6517.726929, 6518.764730, 6519.867596, 6520.970462, 6521.819678, 6522.668897, 6523.291319, 6523.913746, 6524.482136, 6525.050535, 6526.707111, 6528.363687, 6528.822788, 6529.281888, 6529.951606, 6530.621326, 6531.404571, 6532.187814, 6533.288624, 6534.389431, 6535.936753, 6537.484073, 6537.861669, 6538.239263, 6539.508410, 6540.777553, 6541.510547, 6542.243550, 6542.617760, 6542.991974, 6544.101241, 6545.210501, 6545.915813, 6546.621128, 6547.778960, 6548.936786, 6550.054737, 6551.172689, 6552.044059, 6552.915434, 6553.503850, 6554.092265, 6555.390209, 6556.688152, 6557.430646, 6558.173137, 6559.242313, 6560.311485, 6560.576969, 6560.842454, 6562.091517, 6563.340582, 6564.136680, 6564.932778, 6565.335087, 6565.737397, 6567.710432, 6569.683469, 6570.488402, 6571.293348, 6571.892217, 6572.491086, 6573.212749, 6573.934406, 6574.800394, 6575.666381, 6576.522454, 6577.378525, 6578.437676, 6579.496826, 6580.368046, 6581.239258, 6581.797168, 6582.355080, 6583.819912, 6585.284744, 6585.978477, 6586.672207, 6587.669346, 6588.666481, 6589.583948, 6590.501416, 6591.521265, 6592.541115, 6593.159827, 6593.778537, 6594.365001, 6594.951464, 6595.582325, 6596.213187, 6597.818405, 6599.423622, 6600.260246, 6601.096869, 6602.209694, 6603.322517, 6604.064042, 6604.805565, 6605.560303, 6606.315042, 6607.106756, 6607.898465, 6608.811096, 6609.723725, 6610.752433, 6611.781141, 6612.642469, 6613.503797, 6613.984168, 6614.464540, 6615.646230, 6616.827926, 6617.845069, 6618.862215, 6620.396646, 6621.931074, 6622.319419, 6622.707765, 6623.213389, 6623.719012, 6624.838885, 6625.958757, 6626.676321, 6627.393880, 6628.286681, 6629.179477, 6629.929504, 6630.679530, 6632.158709, 6633.637890, 6634.615393, 6635.592896, 6636.094371, 6636.595843, 6637.389311, 6638.182777, 6639.413452, 6640.644126, 6641.613453, 6642.582781, 6642.970670, 6643.358560, 6644.530969, 6645.703378, 6646.059799, 6646.416223, 6647.601041, 6648.785854, 6650.250610, 6651.715362, 6652.448778, 6653.182196, 6654.023033, 6654.863864, 6655.928001, 6656.992140, 6657.354283, 6657.716430, 6658.356227, 6658.996028, 6660.376557, 6661.757093, 6662.621522, 6663.485953, 6664.364912, 6665.243869, 6665.937299, 6666.630728, 6668.292365, 6669.954000, 6670.092564, 6670.231129, 6671.498397, 6672.765664, 6673.570669, 6674.375670, 6675.385060, 6676.394449, 6676.663332, 6676.932214, 6678.079741, 6679.227267, 6679.805628, 6680.383986, 6682.201831, 6684.019676, 6684.793917, 6685.568161, 6686.218216, 6686.868270, 6687.674946, 6688.481618, 6689.136702, 6689.791785, 6691.077931, 6692.364084, 6693.162560, 6693.961038, 6694.367849, 6694.774659, 6696.100513, 6697.426364, 6698.297054, 6699.167743, 6699.967367, 6700.766991, 6702.042166, 6703.317341, 6704.415384, 6705.513430, 6705.884202, 6706.254973, 6707.058571, 6707.862173, 6708.643219, 6709.424268, 6710.256862, 6711.089455, 6712.144983, 6713.200509, 6714.363663, 6715.526820, 6716.504375, 6717.481930, 6718.318586, 6719.155241, 6719.869995, 6720.584752, 6721.520582, 6722.456413, 6723.149531, 6723.842636, 6725.122716, 6726.402800, 6727.164535, 6727.926274, 6728.211244, 6728.496211, 6729.498880, 6730.501544, 6732.226473, 6733.951407, 6734.628160, 6735.304915, 6736.197105, 6737.089296, 6737.721939, 6738.354585, 6739.363470, 6740.372353, 6741.063177, 6741.754005, 6742.268852, 6742.783699, 6744.378368, 6745.973043, 6746.420609, 6746.868172, 6748.349267, 6749.830363, 6750.362502, 6750.894641, 6751.649202, 6752.403760, 6753.793320, 6755.182880, 6755.829989, 6756.477104, 6757.281173, 6758.085242, 6758.608506, 6759.131770, 6760.213603, 6761.295435, 6762.041888, 6762.788344, 6763.998241, 6765.208142, 6766.526053, 6767.843962, 6768.716867, 6769.589775, 6769.971124, 6770.352469, 6771.022898, 6771.693328, 6772.819625, 6773.945922, 6774.890932, 6775.835944, 6776.786806, 6777.737670, 6778.244773, 6778.751878, 6779.996786, 6781.241691, 6782.135613, 6783.029542, 6784.197195, 6785.364849, 6786.003314, 6786.641778, 6787.688865, 6788.735952, 6789.420380, 6790.104811, 6790.937870, 6791.770927, 6792.341893, 6792.912859, 6793.693063, 6794.473268, 6796.304310, 6798.135356, 6798.824137, 6799.512919, 6800.020383, 6800.527849, 6801.809792, 6803.091734, 6803.637074, 6804.182414, 6805.048638, 6805.914860, 6807.015210, 6808.115560, 6808.715815, 6809.316072, 6810.424142, 6811.532215, 6811.987403, 6812.442584, 6813.701204, 6814.959823, 6816.340723, 6817.721624, 6818.305258, 6818.888890, 6819.886685, 6820.884480, 6821.527438, 6822.170395, 6822.547555, 6822.924716, 6824.252594, 6825.580474, 6826.445145, 6827.309817, 6828.045299, 6828.780778, 6830.251093, 6831.721410, 6832.430839, 6833.140268, 6834.005160, 6834.870051, 6835.299556, 6835.729062, 6837.369311, 6839.009560, 6839.467905, 6839.926248, 6840.727238, 6841.528226, 6842.153242, 6842.778251, 6843.689336, 6844.600422, 6845.856659, 6847.112893, 6848.418982, 6849.725073, 6850.378887, 6851.032703, 6851.699326, 6852.365950, 6853.397393, 6854.428838, 6854.971825, 6855.514810, 6856.353361, 6857.191915, 6858.228593, 6859.265269, 6860.467939, 6861.670612, 6862.156389, 6862.642164, 6863.766731, 6864.891301, 6865.778055, 6866.664808, 6868.058904, 6869.453000, 6869.735772, 6870.018544, 6870.850392, 6871.682239, 6872.796786, 6873.911335, 6874.624021, 6875.336708, 6875.636106, 6875.935505, 6877.488583, 6879.041658, 6880.349817, 6881.657970, 6882.413215, 6883.168463, 6883.843359, 6884.518259, 6885.163969, 6885.809680, 6886.760270, 6887.710859, 6888.787639, 6889.864418, 6890.735326, 6891.606234, 6892.189298, 6892.772360, 6893.554163, 6894.335962, 6895.961740, 6897.587517, 6897.919399, 6898.251281, 6899.532539, 6900.813796, 6902.000616, 6903.187435, 6903.407972, 6903.628504, 6904.639692, 6905.650875, 6906.043525, 6906.436172, 6907.657628, 6908.879083, 6909.970210, 6911.061339, 6912.031089, 6913.000836, 6914.056922, 6915.113007, 6915.780311, 6916.447618, 6917.270822, 6918.094024, 6919.021239, 6919.948455, 6920.853875, 6921.759294, 6922.605035, 6923.450779, 6924.153741, 6924.856702, 6926.007278, 6927.157852, 6927.268779, 6927.379707, 6929.559231, 6931.738756, 6932.308144, 6932.877535, 6933.568713, 6934.259889, 6934.989197, 6935.718507, 6936.639562, 6937.560621, 6938.351120, 6939.141621, 6939.954721, 6940.767818, 6941.681673, 6942.595529, 6943.873895, 6945.152258, 6945.937729, 6946.723203, 6947.449970, 6948.176738, 6949.277974, 6950.379212, 6951.144675, 6951.910142, 6953.125710, 6954.341281, 6954.837339, 6955.333392, 6955.813998, 6956.294604, 6957.361153, 6958.427706, 6959.329901, 6960.232099, 6961.794361, 6963.356622, 6963.803520, 6964.250421, 6965.690823, 6967.131224, 6967.366537, 6967.601846, 6968.448131, 6969.294411, 6969.958749, 6970.623089, 6972.212416, 6973.801736, 6974.194532, 6974.587328, 6975.317448, 6976.047564, 6977.218565, 6978.389571, 6979.437580, 6980.485589, 6981.429539, 6982.373489, 6983.326837, 6984.280184, 6984.958165, 6985.636144, 6986.457308, 6987.278476, 6988.037411, 6988.796348, 6989.554518, 6990.312679, 6991.043782, 6991.774887, 6993.368567, 6994.962244, 6995.986593, 6997.010939, 6997.621801, 6998.232662, 6998.678156, 6999.123649, 7000.405038, 7001.686427, 7002.825124, 7003.963820, 7004.099598, 7004.235377, 7005.539992, 7006.844606, 7007.507367, 7008.170128, 7009.048035, 7009.925941, 7010.992536, 7012.059133, 7013.304215, 7014.549299, 7015.585051, 7016.620808, 7017.000645, 7017.380479, 7018.173450, 7018.966420, 7019.934143, 7020.901869, 7021.340403, 7021.778942, 7023.226360, 7024.673775, 7025.447347, 7026.220920, 7027.101098, 7027.981274, 7029.301834, 7030.622393, 7031.144494, 7031.666595, 7032.375850, 7033.085109, 7034.271334, 7035.457556, 7036.272788, 7037.088021, 7038.098045, 7039.108064, 7039.312813, 7039.517562, 7040.333302, 7041.149041, 7042.782226, 7044.415411, 7045.460381, 7046.505350, 7047.209671, 7047.913998, 7048.677509, 7049.441019, 7050.411144, 7051.381270, 7051.748901, 7052.116531, 7053.363310, 7054.610086, 7055.320295, 7056.030507, 7057.003809, 7057.977109, 7059.089353, 7060.201596, 7060.909101, 7061.616603, 7062.496694, 7063.376787, 7064.630224, 7065.883662, 7066.852400, 7067.821137, 7068.123383, 7068.425629, 7069.277286, 7070.128940, 7071.059629, 7071.990316, 7072.864868, 7073.739414, 7074.440808, 7075.142204, 7077.015853, 7078.889499, 7079.268239, 7079.646979, 7080.425368, 7081.203760, 7082.260536, 7083.317308, 7083.569734, 7083.822155, 7085.390296, 7086.958436, 7087.516485, 7088.074537, 7088.944669, 7089.814804, 7090.475092, 7091.135381, 7092.247100, 7093.358817, 7094.700649, 7096.042483, 7096.753312, 7097.464147, 7098.170270, 7098.876393, 7100.069759, 7101.263121, 7101.817503, 7102.371887, 7102.824704, 7103.277517, 7104.194618, 7105.111714, 7106.495643, 7107.879572, 7108.833953, 7109.788331, 7110.629646, 7111.470962, 7112.290062, 7113.109159, 7114.070686, 7115.032215, 7115.706327, 7116.380438, 7117.478741, 7118.577037, 7119.294133, 7120.011231, 7120.784773, 7121.558316, 7122.354700, 7123.151082, 7123.959207, 7124.767328, 7126.054675, 7127.342025, 7128.704970, 7130.067915, 7130.548769, 7131.029619, 7131.872908, 7132.716203, 7132.996262, 7133.276321, 7134.689651, 7136.102977, 7136.700207, 7137.297439, 7138.380043, 7139.462648, 7140.117152, 7140.771658, 7142.291014, 7143.810364, 7144.372366, 7144.934370, 7145.552157, 7146.169943, 7147.570003, 7148.970063, 7149.717113, 7150.464166, 7151.125588, 7151.787007, 7152.583537, 7153.380068, 7154.121495, 7154.862922, 7155.521412, 7156.179898, 7158.066730, 7159.953562, 7160.328189, 7160.702817, 7161.990735, 7163.278652, 7163.639033, 7163.999412, 7165.125740, 7166.252070, 7166.795176, 7167.338277, 7168.184894, 7169.031507, 7170.404506, 7171.777502, 7172.321137, 7172.864775, 7173.498279, 7174.131788, 7175.397817, 7176.663849, 7177.842902, 7179.021953, 7179.784782, 7180.547610, 7181.290292, 7182.032977, 7182.944066, 7183.855156, 7184.412291, 7184.969428, 7185.933822, 7186.898218, 7187.501284, 7188.104348, 7189.399377, 7190.694405, 7191.965454, 7193.236506, 7193.958931, 7194.681360, 7195.491845, 7196.302329, 7196.706551, 7197.110771, 7198.411644, 7199.712514, 7200.774630, 7201.836749, 7202.439219, 7203.041689, 7203.388091, 7203.734492, 7205.158363, 7206.582233, 7207.316913, 7208.051595, 7209.271285, 7210.490976, 7211.581741, 7212.672506, 7213.320557, 7213.968608, 7214.861329, 7215.754052, 7216.186625, 7216.619200, 7217.408283, 7218.197365, 7219.481080, 7220.764795, 7221.411907, 7222.059022, 7223.407297, 7224.755572, 7225.328599, 7225.901628, 7226.924319, 7227.947006, 7228.933694, 7229.920380, 7230.608869, 7231.297353, 7232.168640, 7233.039928, 7234.038598, 7235.037263, 7235.736953, 7236.436646, 7237.006618, 7237.576591, 7238.383727, 7239.190868, 7241.111071, 7243.031274, 7243.674245, 7244.317215, 7244.768261, 7245.219308, 7246.239949, 7247.260593, 7248.137344, 7249.014091, 7249.542420, 7250.070748, 7251.272299, 7252.473853, 7253.184135, 7253.894417, 7254.863467, 7255.832516, 7256.788144, 7257.743768, 7258.839702, 7259.935636, 7260.431539, 7260.927439, 7262.441160, 7263.954883, 7264.518460, 7265.082038, 7265.698395, 7266.314754, 7267.134397, 7267.954040, 7268.556091, 7269.158141, 7270.447428, 7271.736714, 7272.642687, 7273.548656, 7274.736220, 7275.923786, 7276.884071, 7277.844359, 7278.521498, 7279.198637, 7279.496698, 7279.794758, 7281.121271, 7282.447779, 7283.405271, 7284.362757, 7285.043890, 7285.725019, 7286.674497, 7287.623981, 7288.055653, 7288.487328, 7290.007052, 7291.526772, 7292.450136, 7293.373498, 7294.517819, 7295.662142, 7296.007082, 7296.352020, 7297.210924, 7298.069825, 7299.145483, 7300.221144, 7300.703699, 7301.186254, 7301.854807, 7302.523360, 7304.081226, 7305.639090, 7306.677275, 7307.715458, 7308.245065, 7308.774666, 7309.656578, 7310.538491, 7311.486366, 7312.434240, 7313.489034, 7314.543828, 7315.139395, 7315.734957, 7316.558652, 7317.382348, 7318.362932, 7319.343519, 7319.818182, 7320.292847, 7321.413860, 7322.534874, 7324.001852, 7325.468825, 7326.132537, 7326.796253, 7327.846475, 7328.896701, 7329.370743, 7329.844781, 7330.505754, 7331.166726, 7331.993282, 7332.819835, 7334.262528, 7335.705222, 7336.119723, 7336.534227, 7337.397299, 7338.260373, 7339.721407, 7341.182441, 7341.697434, 7342.212428, 7343.230779, 7344.249124, 7344.961997, 7345.674869, 7347.050105, 7348.425340, 7348.817069, 7349.208802, 7349.720120, 7350.231442, 7351.220350, 7352.209258, 7353.081912, 7353.954566, 7355.489583, 7357.024601, 7358.026570, 7359.028540, 7359.306969, 7359.585398, 7360.672772, 7361.760141, 7362.502858, 7363.245576, 7364.088836, 7364.932107, 7365.805618, 7366.679129, 7367.593035, 7368.506939, 7369.309409, 7370.111883, 7371.300649, 7372.489418, 7372.780823, 7373.072230, 7374.975407, 7376.878582, 7377.260150, 7377.641720, 7378.512258, 7379.382794, 7380.043363, 7380.703925, 7381.541000, 7382.378075, 7383.264190, 7384.150311, 7384.778436, 7385.406560, 7386.773569, 7388.140578, 7389.214254, 7390.287931, 7391.155341, 7392.022753, 7392.595563, 7393.168371, 7393.974199, 7394.780027, 7395.723436, 7396.666846, 7397.855819, 7399.044789, 7399.563264, 7400.081735, 7400.864079, 7401.646424, 7402.179181, 7402.711934, 7404.355142, 7405.998355, 7406.857275, 7407.716198, 7408.495943, 7409.275688, 7410.470766, 7411.665840, 7412.015746, 7412.365652, 7413.227071, 7414.088478, 7414.683986, 7415.279497, 7416.395276, 7417.511049, 7418.754430, 7419.997808, 7420.498485, 7420.999160, 7422.277481, 7423.555809, 7424.252850, 7424.949890, 7425.731184, 7426.512476, 7427.844607, 7429.176738, 7429.592353, 7430.007969, 7430.722146, 7431.436320, 7432.627599, 7433.818880, 7434.246135, 7434.673392, 7435.488253, 7436.303114, 7437.946294, 7439.589470, 7440.764110, 7441.938747, 7442.145424, 7442.352103, 7443.129594, 7443.907080, 7444.743347, 7445.579612, 7446.689508, 7447.799402, 7448.530590, 7449.261772, 7450.003303, 7450.744831, 7451.833039, 7452.921248, 7453.761874, 7454.602505, 7455.687662, 7456.772813, 7457.485312, 7458.197815, 7459.441850, 7460.685889, 7461.249184, 7461.812479, 7462.752434, 7463.692384, 7464.339423, 7464.986458, 7465.390378, 7465.794300, 7467.103352, 7468.412400, 7469.688223, 7470.964050, 7471.818348, 7472.672645, 7473.384426, 7474.096208, 7475.196848, 7476.297490, 7476.935789, 7477.574085, 7478.008351, 7478.442616, 7479.972338, 7481.502058, 7482.109040, 7482.716018, 7483.432406, 7484.148794, 7484.870098, 7485.591400, 7486.792467, 7487.993538, 7489.253395, 7490.513254, 7491.378083, 7492.242914, 7492.766529, 7493.290140, 7494.185003, 7495.079861, 7495.872664, 7496.665469, 7497.232186, 7497.798904, 7499.092831, 7500.386760, 7500.822328, 7501.257895, 7503.045000, 7504.832105, 7505.330719, 7505.829336, 7506.468427, 7507.107522, 7507.978297, 7508.849073, 7510.214003, 7511.578931, 7512.052719, 7512.526508, 7513.484184, 7514.441865, 7514.819459, 7515.197049, 7516.442903, 7517.688755, 7518.324304, 7518.959840, 7520.428686, 7521.897533, 7522.866961, 7523.836385, 7524.553433, 7525.270483, 7525.907960, 7526.545434, 7527.416231, 7528.287028, 7528.846355, 7529.405691, 7530.506438, 7531.607188, 7532.830834, 7534.054482, 7534.454058, 7534.853634, 7535.917423, 7536.981210, 7538.141920, 7539.302630, 7540.118565, 7540.934497, 7541.710181, 7542.485869, 7543.394972, 7544.304071, 7545.154715, 7546.005358, 7546.825644, 7547.645932, 7548.122033, 7548.598134, 7549.316835, 7550.035541, 7552.009268, 7553.982995, 7554.338288, 7554.693581, 7555.830755, 7556.967926, 7557.643730, 7558.319532, 7558.808488, 7559.297446, 7560.616356, 7561.935270, 7562.513862, 7563.092453, 7564.116760, 7565.141066, 7565.756109, 7566.371149, 7567.465277, 7568.559404, 7569.505258, 7570.451114, 7571.291996, 7572.132872, 7573.418268, 7574.703666, 7575.544379, 7576.385093, 7576.862105, 7577.339123, 7577.763729, 7578.188331, 7579.516360, 7580.844388, 7581.428720, 7582.013053, 7583.138577, 7584.264101, 7585.368322, 7586.472539, 7587.555063, 7588.637588, 7589.197270, 7589.756949, 7590.438579, 7591.120209, 7592.137975, 7593.155745, 7594.121291, 7595.086839, 7595.916772, 7596.746703, 7597.477353, 7598.207999, 7598.789734, 7599.371464, 7600.334344, 7601.297228, 7602.946816, 7604.596399, 7605.419820, 7606.243237, 7606.512950, 7606.782659, 7608.018381, 7609.254102, 7610.005373, 7610.756643, 7611.290702, 7611.824760, 7612.607341, 7613.389929, 7614.707823, 7616.025723, 7616.832980, 7617.640229, 7618.765793, 7619.891358, 7620.330011, 7620.768660, 7622.018672, 7623.268684, 7624.091127, 7624.913561, 7625.734883, 7626.556208, 7627.442101, 7628.327997, 7628.909647, 7629.491297, 7630.213157, 7630.935019, 7631.976870, 7633.018724, 7633.980166, 7634.941608, 7636.438502, 7637.935397, 7638.536194, 7639.136990, 7639.802883, 7640.468773, 7641.243668, 7642.018557, 7642.548950, 7643.079347, 7644.559792, 7646.040234, 7646.782804, 7647.525373, 7647.870039, 7648.214704, 7649.477118, 7650.739536, 7651.990403, 7653.241274, 7653.639707, 7654.038138, 7655.386036, 7656.733934, 7657.434973, 7658.136012, 7659.038154, 7659.940298, 7660.440739, 7660.941179, 7661.959523, 7662.977868, 7663.295057, 7663.612242, 7665.108598, 7666.604952, 7667.942535, 7669.280118, 7669.764572, 7670.249026, 7671.001287, 7671.753542, 7672.845718, 7673.937899, 7674.512376, 7675.086854, 7676.208458, 7677.330068, 7677.784515, 7678.238964, 7679.620862, 7681.002764, 7681.450879, 7681.898995, 7682.514592, 7683.130186, 7684.751205, 7686.372225, 7687.279837, 7688.187454, 7689.134071, 7690.080689, 7690.433805, 7690.786917, 7691.728524, 7692.670130, 7693.423811, 7694.177488, 7695.006486, 7695.835488, 7696.781102, 7697.726719, 7698.797386, 7699.868054, 7700.809202, 7701.750350, 7703.007742, 7704.265132, 7704.437011, 7704.608890, 7705.482660, 7706.356426, 7707.848245, 7709.340062, 7709.928675, 7710.517292, 7710.965146, 7711.412997, 7712.331219, 7713.249440, 7713.980898, 7714.712358, 7716.169372, 7717.626387, 7718.507161, 7719.387938, 7720.324018, 7721.260098, 7722.180375, 7723.100652, 7723.531210, 7723.961767, 7724.750834, 7725.539896, 7726.425414, 7727.310932, 7728.397252, 7729.483568, 7730.251572, 7731.019573, 7732.005763, 7732.991951, 7733.822416, 7734.652879, 7735.549844, 7736.446809, 7737.721227, 7738.995647, 7739.574831, 7740.154013, 7740.824309, 7741.494604, 7742.491301, 7743.488000, 7744.173500, 7744.858998, 7745.646487, 7746.433971, 7747.056031, 7747.678092, 7749.606062, 7751.534024, 7752.088971, 7752.643913, 7753.379446, 7754.114979, 7754.670481, 7755.225978, 7756.454329, 7757.682675, 7758.181006, 7758.679341, 7759.903086, 7761.126831, 7761.836939, 7762.547049, 7763.026184, 7763.505321, 7764.884091, 7766.262859, 7767.009340, 7767.755817, 7768.939842, 7770.123871, 7770.913306, 7771.702742, 7772.600325, 7773.497906, 7774.450221, 7775.402532, 7775.484781, 7775.567030, 7776.469556, 7777.372082, 7778.761705, 7780.151329, 7780.965939, 7781.780549, 7782.706105, 7783.631658, 7784.893690, 7786.155720, 7786.510524, 7786.865328, 7787.801950, 7788.738574, 7789.574398, 7790.410225, 7791.436455, 7792.462685, 7793.402919, 7794.343154, 7794.661267, 7794.979377, 7795.960097, 7796.940815, 7797.843110, 7798.745403, 7800.407499, 7802.069593, 7802.567621, 7803.065650, 7804.128856, 7805.192064, 7805.360199, 7805.528331, 7806.681725, 7807.835128, 7808.767792, 7809.700458, 7810.211626, 7810.722796, 7811.786877, 7812.850961, 7814.116978, 7815.382997, 7816.084384, 7816.785772, 7817.592625, 7818.399482, 7819.206898, 7820.014317, 7821.383069, 7822.751824, 7823.240228, 7823.728629, 7824.412771, 7825.096912, 7825.923452, 7826.749989, 7827.656791, 7828.563591, 7829.096479, 7829.629360, 7831.333956, 7833.038551, 7833.714469, 7834.390391, 7835.347692, 7836.304991, 7837.251007, 7838.197022, 7838.473855, 7838.750684, 7839.579720, 7840.408757, 7841.687594, 7842.966429, 7843.747307, 7844.528184, 7845.399284, 7846.270380, 7846.679724, 7847.089061, 7848.643769, 7850.198476, 7851.142673, 7852.086873, 7852.579109, 7853.071349, 7854.454271, 7855.837192, 7856.125352, 7856.413511, 7857.561221, 7858.708930, 7858.987815, 7859.266700, 7860.227385, 7861.188072, 7862.388253, 7863.588435, 7864.936554, 7866.284672, 7866.883833, 7867.482995, 7868.181649, 7868.880302, 7869.708985, 7870.537668, 7871.437194, 7872.336719, 7873.591162, 7874.845608, 7874.991149, 7875.136692, 7876.211422, 7877.286151, 7878.226658, 7879.167167, 7879.943726, 7880.720285, 7881.699411, 7882.678538, 7884.261317, 7885.844093, 7886.315545, 7886.786996, 7887.243298, 7887.699598, 7888.757861, 7889.816124, 7890.350144, 7890.884165, 7891.884747, 7892.885333, 7893.943177, 7895.001020, 7895.675315, 7896.349608, 7897.880960, 7899.412314, 7899.680076, 7899.947839, 7901.102403, 7902.256967, 7902.948884, 7903.640794, 7904.565757, 7905.490723, 7906.509653, 7907.528591, 7908.303201, 7909.077813, 7909.506368, 7909.934926, 7910.578424, 7911.221918, 7912.876465, 7914.531007, 7915.614763, 7916.698519, 7917.267272, 7917.836023, 7918.619659, 7919.403291, 7920.494844, 7921.586395, 7921.976391, 7922.366387, 7923.119247, 7923.872103, 7925.129259, 7926.386415, 7927.201253, 7928.016092, 7928.727486, 7929.438884, 7930.647792, 7931.856699, 7932.451302, 7933.045904, 7934.251471, 7935.457036, 7936.394313, 7937.331585, 7938.010644, 7938.689696, 7939.224644, 7939.759589, 7940.622831, 7941.486070, 7942.536879, 7943.587691, 7944.043947, 7944.500210, 7946.014979, 7947.529750, 7948.682838, 7949.835926, 7950.460962, 7951.085998, 7951.657896, 7952.229791, 7952.836671, 7953.443550, 7954.850138, 7956.256721, 7956.967043, 7957.677366, 7958.284013, 7958.890660, 7959.825635, 7960.760612, 7961.566824, 7962.373036, 7963.525135, 7964.677232, 7965.789818, 7966.902405, 7967.559678, 7968.216948, 7969.206561, 7970.196176, 7971.016051, 7971.835929, 7972.160245, 7972.484558, 7973.638952, 7974.793348, 7975.183988, 7975.574623, 7977.366934, 7979.159244, 7979.715038, 7980.270835, 7981.062891, 7981.854944, 7983.001773, 7984.148599, 7984.737749, 7985.326896, 7986.270935, 7987.214972, 7987.962172, 7988.709374, 7989.817940, 7990.926510, 7991.399299, 7991.872089, 7992.759003, 7993.645917, 7994.295706, 7994.945494, 7996.681548, 7998.417600, 7999.090529, 7999.763461, 8000.656539, 8001.549613, 8002.148644, 8002.747676, 8003.408772, 8004.069866, 8004.931078, 8005.792288, 8006.896058, 8007.999825, 8008.691271, 8009.382719, 8010.185169, 8010.987617, 8012.390391, 8013.793166, 8014.612999, 8015.432830, 8015.659910, 8015.886993, 8017.398585, 8018.910178, 8019.732918, 8020.555659, 8021.287992, 8022.020321, 8022.569333, 8023.118344, 8023.806130, 8024.493914, 8025.559762, 8026.625613, 8027.668273, 8028.710935, 8030.027408, 8031.343884, 8032.022988, 8032.702089, 8033.381305, 8034.060521, 8034.870765, 8035.681007, 8036.559878, 8037.438755, 8037.966475, 8038.494191, 8039.925740, 8041.357292, 8041.855418, 8042.353550, 8043.220625, 8044.087704, 8044.920859, 8045.754012, 8047.004707, 8048.255401, 8049.340806, 8050.426207, 8051.036537, 8051.646868, 8052.130864, 8052.614859, 8053.964582, 8055.314304, 8055.739837, 8056.165371, 8056.680629, 8057.195888, 8058.403449, 8059.611012, 8060.935842, 8062.260673, 8063.247798, 8064.234920, 8064.681057, 8065.127197, 8066.081615, 8067.036031, 8067.695666, 8068.355296, 8069.532417, 8070.709535, 8071.561379, 8072.413227, 8072.904610, 8073.395993, 8074.249951, 8075.103906, 8075.993737, 8076.883560, 8078.130866, 8079.378169, 8080.153051, 8080.927935, 8082.132885, 8083.337833, 8084.164713, 8084.991594, 8085.345588, 8085.699585, 8086.400734, 8087.101878, 8088.001442, 8088.901007, 8090.189324, 8091.477640, 8091.940686, 8092.403727, 8093.699573, 8094.995414, 8095.726610, 8096.457801, 8097.710969, 8098.964136, 8099.134797, 8099.305455, 8100.581585, 8101.857710, 8102.968948, 8104.080183, 8104.198656, 8104.317126, 8105.661124, 8107.005125, 8107.408508, 8107.811891, 8108.508643, 8109.205391, 8111.246329, 8113.287268, 8113.704991, 8114.122714, 8114.849919, 8115.577122, 8116.370844, 8117.164561, 8118.031126, 8118.897694, 8119.686868, 8120.476041, 8121.277857, 8122.079666, 8122.920653, 8123.761642, 8124.916336, 8126.071033, 8126.756583, 8127.442134, 8128.335536, 8129.228935, 8130.288750, 8131.348567, 8132.303675, 8133.258781, 8134.094671, 8134.930561, 8135.645840, 8136.361118, 8136.931457, 8137.501795, 8138.312894, 8139.123992, 8139.993527, 8140.863057, 8142.055127, 8143.247198, 8144.228409, 8145.209619, 8146.308770, 8147.407918, 8148.015865, 8148.623809, 8149.354513, 8150.085216, 8150.609928, 8151.134643, 8152.459232, 8153.783819, 8154.731732, 8155.679647, 8156.273751, 8156.867855, 8157.217165, 8157.566475, 8159.145303, 8160.724129, 8161.496314, 8162.268496, 8163.566911, 8164.865327, 8165.287589, 8165.709851, 8166.760411, 8167.810970, 8168.329202, 8168.847438, 8169.840342, 8170.833244, 8171.216065, 8171.598889, 8172.819043, 8174.039198, 8175.186789, 8176.334381, 8177.343424, 8178.352469, 8179.166230, 8179.979988, 8180.229789, 8180.479591, 8182.209124, 8183.938657, 8184.218765, 8184.498873, 8185.395574, 8186.292277, 8187.165101, 8188.037923, 8188.886450, 8189.734982, 8190.340495, 8190.946002, 8191.936225, 8192.926449, 8194.498595, 8196.070739, 8196.811092, 8197.551447, 8198.056536, 8198.561615, 8199.471833, 8200.382053, 8200.916621, 8201.451191, 8202.470354, 8203.489518, 8204.355316, 8205.221114, 8206.392781, 8207.564453, 8207.858428, 8208.152414, 8209.650717, 8211.149024, 8211.907615, 8212.666206, 8213.390685, 8214.115168, 8214.995464, 8215.875761, 8217.093866, 8218.311966, 8218.813272, 8219.314572, 8219.951096, 8220.587618, 8221.203394, 8221.819170, 8222.868693, 8223.918217, 8225.532028, 8227.145838, 8227.590348, 8228.034858, 8229.055014, 8230.075169, 8230.956680, 8231.838193, 8232.330025, 8232.821859, 8233.616895, 8234.411930, 8235.727120, 8237.042310, 8237.354961, 8237.667608, 8238.883383, 8240.099158, 8240.812461, 8241.525766, 8242.350814, 8243.175867, 8244.391457, 8245.607048, 8246.707340, 8247.807636, 8248.406360, 8249.005086, 8249.694678, 8250.384280, 8250.960347, 8251.536415, 8252.709989, 8253.883561, 8254.465589, 8255.047615, 8255.828872, 8256.610130, 8258.257791, 8259.905453, 8260.615386, 8261.325316, 8261.895433, 8262.465551, 8263.341739, 8264.217927, 8264.959858, 8265.701794, 8266.969622, 8268.237447, 8268.781743, 8269.326040, 8270.083497, 8270.840951, 8271.627169, 8272.413383, 8273.156228, 8273.899072, 8275.415206, 8276.931335, 8277.671756, 8278.412178, 8279.340078, 8280.267978, 8280.985217, 8281.702455, 8282.604765, 8283.507073, 8284.121067, 8284.735057, 8285.073307, 8285.411558, 8287.125347, 8288.839135, 8289.386112, 8289.933093, 8290.897783, 8291.862474, 8292.829629, 8293.796785, 8294.729507, 8295.662226, 8296.350671, 8297.039114, 8298.105155, 8299.171195, 8299.781658, 8300.392122, 8301.393258, 8302.394400, 8303.034764, 8303.675132, 8304.215342, 8304.755552, 8305.869958, 8306.984362, 8308.313054, 8309.641742, 8310.821836, 8312.001929, 8312.604667, 8313.207410, 8313.302833, 8313.398254, 8314.716277, 8316.034298, 8316.799718, 8317.565137, 8318.570844, 8319.576552, 8320.189766, 8320.802981, 8321.663622, 8322.524255, 8323.861419, 8325.198586, 8325.711407, 8326.224222, 8327.121631, 8328.019043, 8329.425389, 8330.831734, 8331.315267, 8331.798798, 8332.453107, 8333.107415, 8333.988526, 8334.869640, 8335.461177, 8336.052711, 8336.916308, 8337.779904, 8339.076787, 8340.373663, 8341.498274, 8342.622879, 8343.147266, 8343.671656, 8344.840450, 8346.009245, 8346.428878, 8346.848506, 8347.761201, 8348.673895, 8349.452816, 8350.231739, 8351.500047, 8352.768356, 8353.260956, 8353.753562, 8354.442086, 8355.130613, 8355.941581, 8356.752546, 8358.430086, 8360.107626, 8360.728615, 8361.349605, 8362.016418, 8362.683231, 8363.723908, 8364.764585, 8365.361853, 8365.959121, 8366.591645, 8367.224172, 8368.201160, 8369.178149, 8369.906210, 8370.634274, 8371.966522, 8373.298771, 8374.192003, 8375.085234, 8375.919033, 8376.752835, 8377.371380, 8377.989922, 8378.835546, 8379.681172, 8380.991866, 8382.302560, 8382.912254, 8383.521949, 8383.984551, 8384.447145, 8385.275404, 8386.103663, 8387.315080, 8388.526497, 8389.011919, 8389.497342, 8391.129356, 8392.761368, 8393.433960, 8394.106556, 8395.057534, 8396.008520, 8396.616375, 8397.224231, 8397.553831, 8397.883429, 8399.151149, 8400.418867, 8401.284741, 8402.150615, 8403.026582, 8403.902550, 8404.669053, 8405.435558, 8406.519197, 8407.602833, 8408.442811, 8409.282785, 8410.248187, 8411.213588, 8412.120479, 8413.027367, 8413.579704, 8414.132042, 8415.378667, 8416.625291, 8416.967421, 8417.309559, 8418.210991, 8419.112423, 8419.522031, 8419.931634, 8421.787710, 8423.643784, 8424.594525, 8425.545267, 8425.929512, 8426.313761, 8427.247263, 8428.180768, 8429.040949, 8429.901127, 8430.696625, 8431.492123, 8432.193311, 8432.894496, 8433.982052, 8435.069607, 8435.883308, 8436.697005, 8437.216901, 8437.736798, 8439.116769, 8440.496740, 8441.081133, 8441.665526, 8443.038527, 8444.411527, 8445.195715, 8445.979904, 8446.486281, 8446.992663, 8447.733364, 8448.474070, 8449.215326, 8449.956579, 8450.816423, 8451.676266, 8452.884066, 8454.091864, 8454.663102, 8455.234340, 8456.841263, 8458.448189, 8458.920139, 8459.392089, 8460.009266, 8460.626441, 8461.392384, 8462.158330, 8463.430623, 8464.702918, 8465.467309, 8466.231698, 8466.788601, 8467.345508, 8468.238411, 8469.131315, 8469.680618, 8470.229919, 8471.675446, 8473.120972, 8474.169055, 8475.217135, 8476.123671, 8477.030204, 8477.499263, 8477.968325, 8478.872610, 8479.776894, 8480.722185, 8481.667474, 8482.004945, 8482.342415, 8483.398056, 8484.453707, 8485.559393, 8486.665074, 8487.842748, 8489.020421, 8489.350101, 8489.679775, 8490.748826, 8491.817875, 8492.952164, 8494.086450, 8494.696656, 8495.306862, 8496.319312, 8497.331764, 8497.843754, 8498.355746, 8499.265320, 8500.174891, 8501.146640, 8502.118384, 8502.330782, 8502.543180, 8504.283754, 8506.024325, 8507.163897, 8508.303474, 8508.684084, 8509.064685, 8510.106269, 8511.147857, 8511.666566, 8512.185274, 8512.784227, 8513.383177, 8514.908277, 8516.433372, 8516.972288, 8517.511201, 8518.034240, 8518.557276, 8519.755398, 8520.953520, 8521.989602, 8523.025682, 8523.919044, 8524.812403, 8525.463206, 8526.114003, 8527.389386, 8528.664771, 8529.332460, 8530.000152, 8530.554646, 8531.109140, 8531.659142, 8532.209144, 8533.241348, 8534.273548, 8535.256920, 8536.240285, 8537.571520, 8538.902758, 8539.582213, 8540.261665, 8541.126250, 8541.990836, 8542.631688, 8543.272541, 8544.244448, 8545.216356, 8545.937701, 8546.659043, 8547.624294, 8548.589540, 8549.305901, 8550.022258, 8551.064518, 8552.106783, 8552.484457, 8552.862132, 8554.021699, 8555.181268, 8556.776555, 8558.371844, 8558.816313, 8559.260783, 8559.970768, 8560.680744, 8561.294912, 8561.909079, 8563.052286, 8564.195494, 8564.683551, 8565.171607, 8565.996647, 8566.821690, 8568.000128, 8569.178571, 8570.137827, 8571.097084, 8572.158377, 8573.219667, 8573.808639, 8574.397615, 8575.016825, 8575.636033, 8577.009998, 8578.383963, 8578.883805, 8579.383647, 8580.458829, 8581.534011, 8582.121366, 8582.708722, 8583.035797, 8583.362872, 8584.756515, 8586.150156, 8587.408391, 8588.666627, 8589.293473, 8589.920318, 8591.101179, 8592.282039, 8592.919516, 8593.556993, 8594.077779, 8594.598565, 8595.364350, 8596.130136, 8597.033227, 8597.936316, 8599.291358, 8600.646402, 8600.977033, 8601.307660, 8602.237960, 8603.168258, 8604.515729, 8605.863195, 8606.285933, 8606.708679, 8607.977759, 8609.246837, 8610.002881, 8610.758926, 8611.366375, 8611.973815, 8612.878904, 8613.783997, 8614.478803, 8615.173607, 8615.958381, 8616.743154, 8617.420577, 8618.098001, 8620.079487, 8622.060974, 8622.316781, 8622.572589, 8623.546509, 8624.520427, 8624.943874, 8625.367322, 8626.430729, 8627.494138, 8628.505958, 8629.517783, 8630.172614, 8630.827446, 8631.556292, 8632.285138, 8633.264653, 8634.244170, 8635.135366, 8636.026561, 8636.803256, 8637.579951, 8638.965616, 8640.351282, 8640.926177, 8641.501070, 8642.557246, 8643.613425, 8644.145442, 8644.677460, 8645.397322, 8646.117186, 8646.675810, 8647.234434, 8648.447180, 8649.659925, 8650.595902, 8651.531882, 8652.624531, 8653.717169, 8654.385941, 8655.054717, 8656.161442, 8657.268170, 8658.067832, 8658.867494, 8659.075310, 8659.283123, 8660.775891, 8662.268659, 8663.161954, 8664.055232, 8664.391492, 8664.727753, 8665.566793, 8666.405831, 8667.206830, 8668.007828, 8669.572118, 8671.136408, 8671.951396, 8672.766386, 8673.532970, 8674.299551, 8674.932898, 8675.566249, 8676.504020, 8677.441789, 8677.946557, 8678.451324, 8679.463528, 8680.475726, 8681.325671, 8682.175621, 8683.026425, 8683.877235, 8685.229688, 8686.582140, 8687.100885, 8687.619624, 8688.294359, 8688.969097, 8690.167186, 8691.365276, 8692.499485, 8693.633688, 8694.018187, 8694.402687, 8694.921835, 8695.440984, 8696.815188, 8698.189388, 8698.360992, 8698.532594, 8699.734158, 8700.935718, 8702.174305, 8703.412890, 8704.590015, 8705.767137, 8706.264606, 8706.762077, 8707.323342, 8707.884612, 8708.847757, 8709.810903, 8710.483239, 8711.155576, 8712.228769, 8713.301964, 8714.298546, 8715.295130, 8715.773753, 8716.252370, 8717.053670, 8717.854969, 8719.336619, 8720.818266, 8721.400342, 8721.982417, 8723.003519, 8724.024620, 8724.732040, 8725.439455, 8726.351676, 8727.263898, 8727.977815, 8728.691731, 8729.349415, 8730.007098, 8730.419533, 8730.831967, 8732.653351, 8734.474730, 8735.094704, 8735.714675, 8736.830261, 8737.945848, 8738.435679, 8738.925508, 8739.883592, 8740.841676, 8741.528199, 8742.214720, 8743.367593, 8744.520465, 8745.037250, 8745.554038, 8746.503486, 8747.452935, 8748.132641, 8748.812339, 8749.762245, 8750.712152, 8751.653279, 8752.594405, 8753.897088, 8755.199769, 8756.107298, 8757.014828, 8757.448349, 8757.881871, 8758.613579, 8759.345290, 8759.940299, 8760.535308, 8761.819288, 8763.103266, 8763.677242, 8764.251219, 8765.144799, 8766.038378, 8767.322197, 8768.606011, 8769.492442, 8770.378874, 8770.869653, 8771.360429, 8772.298612, 8773.236795, 8774.213334, 8775.189875, 8776.092917, 8776.995957, 8777.866307, 8778.736661, 8778.970581, 8779.204499, 8780.283449, 8781.362398, 8782.066665, 8782.770930, 8784.569981, 8786.369030, 8786.909888, 8787.450744, 8787.932856, 8788.414973, 8789.705298, 8790.995618, 8791.540089, 8792.084556, 8792.580206, 8793.075859, 8794.112071, 8795.148283, 8796.238111, 8797.327940, 8798.137184, 8798.946424, 8799.660793, 8800.375161, 8801.349965, 8802.324769, 8803.347065, 8804.369359, 8805.517107, 8806.664857, 8806.920879, 8807.176904, 8808.445540, 8809.714176, 8810.105231, 8810.496285, 8811.278223, 8812.060162, 8812.980506, 8813.900851, 8814.700035, 8815.499217, 8816.979328, 8818.459431, 8819.254871, 8820.050309, 8821.001802, 8821.953291, 8822.115684, 8822.278076, 8823.191852, 8824.105629, 8825.452908, 8826.800189, 8827.366459, 8827.932730, 8828.812616, 8829.692497, 8830.097923, 8830.503350, 8831.866785, 8833.230223, 8834.119715, 8835.009203, 8835.827643, 8836.646083, 8837.940365, 8839.234645, 8839.734143, 8840.233637, 8840.868814, 8841.503992, 8842.403710, 8843.303425, 8843.834430, 8844.365432, 8845.304251, 8846.243073, 8847.542373, 8848.841670, 8849.664365, 8850.487060, 8851.327503, 8852.167947, 8853.052885, 8853.937820, 8854.601180, 8855.264537, 8856.447649, 8857.630764, 8858.005074, 8858.379384, 8859.425678, 8860.471974, 8861.515210, 8862.558449, 8862.969030, 8863.379616, 8863.900212, 8864.420808, 8866.232619, 8868.044434, 8868.944658, 8869.844876, 8870.472523, 8871.100167, 8871.830583, 8872.560998, 8873.198493, 8873.835986, 8874.984678, 8876.133366, 8876.417122, 8876.700880, 8878.117608, 8879.534343, 8880.000230, 8880.466114, 8881.740363, 8883.014610, 8883.842243, 8884.669875, 8885.535448, 8886.401020, 8886.945590, 8887.490160, 8888.966860, 8890.443565, 8890.971950, 8891.500334, 8892.143882, 8892.787425, 8893.349806, 8893.912186, 8894.860246, 8895.808303, 8896.858312, 8897.908319, 8899.003547, 8900.098773, 8901.123976, 8902.149175, 8902.971142, 8903.793099, 8904.365400, 8904.937700, 8905.751532, 8906.565362, 8907.087697, 8907.610035, 8909.131075, 8910.652110, 8911.016441, 8911.380775, 8912.242144, 8913.103510, 8914.127040, 8915.150566, 8915.828355, 8916.506140, 8917.953464, 8919.400787, 8920.089538, 8920.778294, 8921.428023, 8922.077755, 8922.922377, 8923.766998, 8924.555191, 8925.343386, 8926.183933, 8927.024476, 8927.414876, 8927.805274, 8928.967387, 8930.129497, 8931.756489, 8933.383483, 8933.894140, 8934.404798, 8934.828147, 8935.251497, 8936.414497, 8937.577498, 8938.346126, 8939.114755, 8939.959687, 8940.804615, 8941.776572, 8942.748523, 8943.258588, 8943.768651, 8944.659312, 8945.549971, 8946.354105, 8947.158238, 8948.254588, 8949.350939, 8950.513100, 8951.675257, 8952.437239, 8953.199223, 8954.105750, 8955.012279, 8955.613390, 8956.214502, 8956.708354, 8957.202195, 8958.046580, 8958.890965, 8960.141879, 8961.392795, 8962.198206, 8963.003616, 8963.634040, 8964.264471, 8965.650022, 8967.035570, 8967.838493, 8968.641415, 8968.982314, 8969.323211, 8970.520259, 8971.717307, 8972.672327, 8973.627342, 8974.280775, 8974.934207, 8975.700100, 8976.465992, 8977.049045, 8977.632096, 8978.416239, 8979.200380, 8980.737356, 8982.274331, 8983.302187, 8984.330042, 8984.868144, 8985.406246, 8986.248838, 8987.091428, 8987.610808, 8988.130187, 8989.275077, 8990.419969, 8991.127199, 8991.834432, 8992.394306, 8992.954183, 8994.501015, 8996.047844, 8996.261057, 8996.474278, 8997.856292, 8999.238308, 8999.638108, 9000.037912, 9001.526699, 9003.015482, 9003.793673, 9004.571862, 9005.011783, 9005.451700, 9006.256365, 9007.061030, 9007.964945, 9008.868860, 9009.519931, 9010.171002, 9010.968443, 9011.765883, 9013.262953, 9014.760024, 9015.476501, 9016.192977, 9017.182581, 9018.172185, 9018.836060, 9019.499931, 9019.987054, 9020.474175, 9021.446785, 9022.419401, 9023.614547, 9024.809694, 9025.455119, 9026.100542, 9026.784259, 9027.467979, 9028.001014, 9028.534050, 9030.059180, 9031.584316, 9032.431401, 9033.278484, 9034.187477, 9035.096475, 9035.742719, 9036.388962, 9037.693379, 9038.997797, 9039.092184, 9039.186574, 9039.879462, 9040.572347, 9041.627146, 9042.681942, 9043.692905, 9044.703870, 9045.733585, 9046.763302, 9047.892198, 9049.021094, 9049.330440, 9049.639784, 9050.704218, 9051.768656, 9052.650647, 9053.532640, 9054.401746, 9055.270853, 9056.090135, 9056.909418, 9057.452865, 9057.996312, 9058.952128, 9059.907942, 9060.781194, 9061.654447, 9062.225859, 9062.797269, 9064.618495, 9066.439720, 9067.084973, 9067.730222, 9068.255661, 9068.781097, 9069.412719, 9070.044339, 9071.076975, 9072.109610, 9072.655570, 9073.201540, 9074.634392, 9076.067245, 9076.177758, 9076.288269, 9077.613808, 9078.939348, 9079.968864, 9080.998380, 9081.636714, 9082.275047, 9083.288906, 9084.302769, 9085.058641, 9085.814512, 9086.860726, 9087.906940, 9088.574544, 9089.242150, 9090.016407, 9090.790661, 9091.203637, 9091.616611, 9092.483251, 9093.349891, 9095.025580, 9096.701269, 9097.273190, 9097.845108, 9098.814480, 9099.783854, 9100.527268, 9101.270682, 9102.181076, 9103.091472, 9103.503075, 9103.914676, 9104.853006, 9105.791337, 9106.983466, 9108.175589, 9108.790588, 9109.405587, 9110.139146, 9110.872701, 9111.724846, 9112.576988, 9113.873160, 9115.169327, 9115.864414, 9116.559501, 9117.812734, 9119.065965, 9119.485329, 9119.904695, 9120.366252, 9120.827808, 9122.022006, 9123.216201, 9123.813049, 9124.409893, 9125.155808, 9125.901726, 9127.076866, 9128.252005, 9129.537584, 9130.823163, 9131.508409, 9132.193655, 9132.822282, 9133.450904, 9133.924826, 9134.398746, 9135.885229, 9137.371712, 9138.105595, 9138.839476, 9139.269248, 9139.699020, 9140.655332, 9141.611643, 9142.395452, 9143.179264, 9144.018929, 9144.858595, 9146.233582, 9147.608563, 9148.331489, 9149.054412, 9150.116385, 9151.178357, 9151.624703, 9152.071046, 9152.922548, 9153.774046, 9154.428089, 9155.082132, 9155.768727, 9156.455321, 9157.735129, 9159.014939, 9159.906264, 9160.797587, 9161.481725, 9162.165864, 9163.157093, 9164.148323, 9165.161903, 9166.175482, 9166.870272, 9167.565051, 9168.327810, 9169.090569, 9170.009117, 9170.927664, 9171.970152, 9173.012644, 9173.279954, 9173.547265, 9174.318109, 9175.088954, 9176.081920, 9177.074885, 9178.712548, 9180.350210, 9180.994235, 9181.638262, 9182.163183, 9182.688104, 9183.768548, 9184.848994, 9185.194269, 9185.539544, 9186.590616, 9187.641691, 9188.612442, 9189.583190, 9190.374553, 9191.165912, 9191.668916, 9192.171921, 9193.699904, 9195.227883, 9195.729929, 9196.231979, 9197.000076, 9197.768175, 9199.227732, 9200.687292, 9201.149984, 9201.612676, 9202.524190, 9203.435703, 9203.946713, 9204.457720, 9205.022338, 9205.586952, 9206.902015, 9208.217076, 9208.776396, 9209.335715, 9210.745621, 9212.155528, 9213.111469, 9214.067408, 9214.550033, 9215.032661, 9215.998292, 9216.963924, 9217.488468, 9218.013014, 9219.070616, 9220.128216, 9220.958768, 9221.789322, 9222.820843, 9223.852360, 9224.247060, 9224.641756, 9225.394459, 9226.147161, 9227.431400, 9228.715640, 9230.120319, 9231.524998, 9231.816155, 9232.107314, 9232.881651, 9233.655984, 9234.690560, 9235.725135, 9236.317384, 9236.909640, 9237.707261, 9238.504884, 9238.996289, 9239.487695, 9240.947499, 9242.407299, 9243.387566, 9244.367833, 9244.992506, 9245.617179, 9246.722562, 9247.827944, 9248.202513, 9248.577079, 9249.784777, 9250.992469, 9251.954295, 9252.916120, 9253.379204, 9253.842286, 9254.639151, 9255.436019, 9256.311835, 9257.187651, 9257.818963, 9258.450276, 9259.815117, 9261.179958, 9262.027542, 9262.875126, 9264.167305, 9265.459484, 9265.780010, 9266.100537, 9266.855663, 9267.610787, 9268.032309, 9268.453830, 9269.819410, 9271.184987, 9271.938333, 9272.691678, 9273.483539, 9274.275393, 9275.039277, 9275.803162, 9277.045069, 9278.286977, 9279.055067, 9279.823160, 9280.510451, 9281.197739, 9282.277181, 9283.356628, 9284.285308, 9285.213988, 9285.622323, 9286.030656, 9286.946922, 9287.863189, 9288.714413, 9289.565641, 9289.821813, 9290.077983, 9291.961201, 9293.844421, 9294.716803, 9295.589187, 9296.201380, 9296.813568, 9297.378182, 9297.942801, 9299.171284, 9300.399768, 9300.860672, 9301.321573, 9302.189161, 9303.056745, 9304.031545, 9305.006343, 9305.764070, 9306.521796, 9307.498605, 9308.475412, 9308.980398, 9309.485382, 9310.769139, 9312.052892, 9313.276680, 9314.500468, 9314.911747, 9315.323022, 9316.257350, 9317.191681, 9317.784020, 9318.376363, 9319.184830, 9319.993301, 9320.599359, 9321.205415, 9322.485229, 9323.765042, 9324.390605, 9325.016169, 9326.387983, 9327.759800, 9328.612338, 9329.464874, 9329.856327, 9330.247779, 9331.193606, 9332.139435, 9332.833987, 9333.528540, 9335.071510, 9336.614479, 9336.833916, 9337.053355, 9337.591509, 9338.129662, 9339.049877, 9339.970092, 9341.156147, 9342.342201, 9343.370800, 9344.399396, 9345.398246, 9346.397097, 9347.117126, 9347.837158, 9348.518758, 9349.200364, 9350.089526, 9350.978684, 9351.407034, 9351.835386, 9352.779207, 9353.723025, 9354.813843, 9355.904660, 9356.706342, 9357.508022, 9358.677774, 9359.847531, 9360.306909, 9360.766283, 9361.743814, 9362.721337, 9363.827424, 9364.933512, 9365.788817, 9366.644121, 9366.960692, 9367.277267, 9368.378722, 9369.480181, 9370.271116, 9371.062052, 9371.682309, 9372.302566, 9372.966609, 9373.630648, 9375.572368, 9377.514085, 9377.851441, 9378.188790, 9379.223553, 9380.258315, 9380.666229, 9381.074143, 9381.892871, 9382.711591, 9383.692559, 9384.673527, 9385.525854, 9386.378178, 9387.164203, 9387.950225, 9388.811927, 9389.673639, 9390.339735, 9391.005826, 9392.518218, 9394.030605, 9394.350955, 9394.671308, 9395.738505, 9396.805695, 9397.882394, 9398.959096, 9399.668101, 9400.377104, 9400.826034, 9401.274968, 9401.973686, 9402.672403, 9403.505317, 9404.338226, 9405.568029, 9406.797837, 9407.977966, 9409.158091, 9409.567150, 9409.976208, 9411.378295, 9412.780386, 9413.151856, 9413.523333, 9414.067470, 9414.611607, 9415.975094, 9417.338576, 9417.838920, 9418.339265, 9419.412443, 9420.485620, 9421.024057, 9421.562496, 9422.379523, 9423.196550, 9424.159459, 9425.122370, 9426.551838, 9427.981303, 9428.706716, 9429.432132, 9430.095581, 9430.759026, 9431.286029, 9431.813029, 9432.785205, 9433.757377, 9434.526917, 9435.296465, 9436.086799, 9436.877133, 9437.599214, 9438.321295, 9439.780461, 9441.239629, 9442.052242, 9442.864852, 9443.390372, 9443.915891, 9444.711331, 9445.506771, 9446.665311, 9447.823851, 9448.618572, 9449.413297, 9450.064263, 9450.715232, 9451.657668, 9452.600100, 9452.931988, 9453.263875, 9454.317127, 9455.370374, 9456.459050, 9457.547727, 9458.848093, 9460.148454, 9460.669776, 9461.191111, 9462.117620, 9463.044129, 9463.767384, 9464.490635, 9465.298799, 9466.106962, 9466.290914, 9466.474865, 9468.133615, 9469.792363, 9470.712012, 9471.631659, 9471.670832, 9471.710005, 9473.209213, 9474.708424, 9475.539695, 9476.370966, 9477.339592, 9478.308214, 9479.008729, 9479.709243, 9480.598753, 9481.488253, 9482.334533, 9483.180811, 9483.838065, 9484.495316, 9485.090309, 9485.685298, 9486.449892, 9487.214497, 9488.474337, 9489.734181, 9491.015534, 9492.296889, 9493.107617, 9493.918342, 9494.208056, 9494.497767, 9495.376487, 9496.255205, 9497.241967, 9498.228729, 9499.100778, 9499.972831, 9500.797226, 9501.621622, 9502.095743, 9502.569868, 9503.775346, 9504.980830, 9505.733621, 9506.486414, 9507.323956, 9508.161496, 9509.346900, 9510.532307, 9511.549641, 9512.566975, 9513.222191, 9513.877410, 9514.211178, 9514.544940, 9515.499037, 9516.453132, 9517.330309, 9518.207484, 9518.841920, 9519.476357, 9520.805865, 9522.135370, 9522.899524, 9523.663672, 9524.735400, 9525.807125, 9526.408098, 9527.009072, 9528.084334, 9529.159598, 9529.360005, 9529.560413, 9531.071362, 9532.582308, 9533.078719, 9533.575133, 9534.493833, 9535.412536, 9536.025656, 9536.638778, 9537.107508, 9537.576235, 9539.640596, 9541.704956, 9541.988341, 9542.271724, 9543.180200, 9544.088676, 9545.046910, 9546.005140, 9546.572777, 9547.140412, 9547.874658, 9548.608905, 9549.352435, 9550.095963, 9551.056655, 9552.017347, 9553.025126, 9554.032906, 9554.895420, 9555.757931, 9556.699465, 9557.640999, 9558.358504, 9559.076012, 9559.894381, 9560.712754, 9561.977293, 9563.241828, 9563.730679, 9564.219526, 9565.056804, 9565.894080, 9566.250387, 9566.606696, 9567.992782, 9569.378866, 9569.664008, 9569.949153, 9571.260719, 9572.572288, 9573.940031, 9575.307772, 9575.942018, 9576.576260, 9577.096010, 9577.615759, 9578.344055, 9579.072350, 9579.831010, 9580.589665, 9581.786687, 9582.983708, 9583.639956, 9584.296205, 9585.089033, 9585.881860, 9586.560498, 9587.239137, 9588.543638, 9589.848138, 9590.447310, 9591.046481, 9592.363936, 9593.681379, 9594.174358, 9594.667337, 9595.442378, 9596.217423, 9597.388877, 9598.560328, 9598.879682, 9599.199030, 9599.667647, 9600.136262, 9601.325735, 9602.515210, 9603.894804, 9605.274399, 9606.092927, 9606.911453, 9607.475856, 9608.040256, 9608.962094, 9609.883930, 9610.764616, 9611.645303, 9612.371289, 9613.097273, 9613.796799, 9614.496322, 9615.663669, 9616.831015, 9617.438714, 9618.046417, 9618.566292, 9619.086167, 9620.220265, 9621.354362, 9622.369740, 9623.385114, 9624.706652, 9626.028191, 9626.494933, 9626.961674, 9627.660383, 9628.359095, 9629.185912, 9630.012731, 9630.465992, 9630.919251, 9632.101580, 9633.283910, 9634.116646, 9634.949385, 9635.624107, 9636.298835, 9637.591145, 9638.883451, 9639.876573, 9640.869694, 9641.326096, 9641.782497, 9642.379408, 9642.976318, 9644.488828, 9646.001334, 9646.519457, 9647.037580, 9647.788591, 9648.539600, 9649.094272, 9649.648944, 9650.539759, 9651.430577, 9652.257719, 9653.084860, 9654.568214, 9656.051571, 9656.812299, 9657.573028, 9658.231811, 9658.890592, 9659.944675, 9660.998761, 9661.283920, 9661.569082, 9662.596240, 9663.623401, 9664.304936, 9664.986471, 9665.993323, 9667.000175, 9668.045840, 9669.091502, 9669.742529, 9670.393553, 9671.065037, 9671.736521, 9673.176859, 9674.617195, 9675.199307, 9675.781418, 9676.758593, 9677.735763, 9678.312362, 9678.888959, 9679.689710, 9680.490461, 9681.414913, 9682.339368, 9682.829932, 9683.320491, 9684.064005, 9684.807514, 9686.508986, 9688.210455, 9688.861968, 9689.513482, 9690.334768, 9691.156052, 9691.907301, 9692.658550, 9693.153229, 9693.647911, 9694.669973, 9695.692034, 9696.855816, 9698.019596, 9698.552367, 9699.085140, 9699.604607, 9700.124071, 9701.203423, 9702.282778, 9703.344881, 9704.406984, 9705.274128, 9706.141276, 9707.015058, 9707.888837, 9709.014748, 9710.140658, 9710.823401, 9711.506140, 9711.764829, 9712.023519, 9712.995973, 9713.968432, 9714.626724, 9715.285018, 9716.715026, 9718.145033, 9718.548945, 9718.952855, 9720.436187, 9721.919516, 9722.395362, 9722.871206, 9723.693629, 9724.516043, 9725.416216, 9726.316389, 9727.136858, 9727.957323, 9728.704293, 9729.451263, 9730.486000, 9731.520736, 9732.008977, 9732.497217, 9733.307646, 9734.118078, 9734.801754, 9735.485432, 9737.163533, 9738.841631, 9739.744624, 9740.647616, 9741.088945, 9741.530273, 9742.038954, 9742.547635, 9743.756694, 9744.965749, 9745.666109, 9746.366471, 9746.793114, 9747.219762, 9748.543679, 9749.867592, 9750.518398, 9751.169204, 9752.338545, 9753.507886, 9754.295813, 9755.083743, 9755.646394, 9756.209044, 9757.471958, 9758.734871, 9759.408311, 9760.081757, 9761.131412, 9762.181066, 9762.454000, 9762.726933, 9763.707520, 9764.688108, 9765.153345, 9765.618582, 9766.955315, 9768.292045, 9769.289852, 9770.287654, 9771.223142, 9772.158626, 9773.063545, 9773.968467, 9774.772295, 9775.576122, 9775.810261, 9776.044396, 9776.964231, 9777.884062, 9779.183561, 9780.483061, 9781.122797, 9781.762531, 9782.464961, 9783.167387, 9783.849020, 9784.530654, 9785.837003, 9787.143354, 9787.956715, 9788.770076, 9789.736190, 9790.702305, 9791.453703, 9792.205102, 9793.012402, 9793.819701, 9794.416954, 9795.014208, 9795.787360, 9796.560516, 9797.456222, 9798.351930, 9798.826609, 9799.301290, 9801.128697, 9802.956106, 9803.533250, 9804.110393, 9804.737112, 9805.363828, 9806.217802, 9807.071778, 9807.826346, 9808.580911, 9809.746256, 9810.911599, 9811.526504, 9812.141403, 9812.630451, 9813.119501, 9814.400987, 9815.682474, 9816.137240, 9816.592008, 9817.449845, 9818.307677, 9819.677094, 9821.046509, 9822.184985, 9823.323459, 9823.521392, 9823.719327, 9824.993846, 9826.268362, 9826.463477, 9826.658590, 9827.448223, 9828.237850, 9829.370197, 9830.502539, 9831.293177, 9832.083814, 9833.085711, 9834.087606, 9834.799600, 9835.511581, 9836.802418, 9838.093255, 9838.602909, 9839.112564, 9839.824187, 9840.535811, 9841.506896, 9842.477979, 9843.641915, 9844.805851, 9845.158782, 9845.511719, 9846.457384, 9847.403052, 9847.549988, 9847.696924, 9849.205222, 9850.713518, 9851.971347, 9853.229172, 9853.926713, 9854.624256, 9855.457352, 9856.290450, 9856.862952, 9857.435456, 9858.419300, 9859.403146, 9859.866474, 9860.329800, 9861.391059, 9862.452320, 9863.319991, 9864.187664, 9864.948611, 9865.709553, 9866.702822, 9867.696093, 9868.643777, 9869.591462, 9870.061691, 9870.531918, 9872.236146, 9873.940377, 9874.264025, 9874.587676, 9875.189183, 9875.790693, 9876.646956, 9877.503231, 9878.369338, 9879.235446, 9879.883700, 9880.531955, 9881.364617, 9882.197276, 9883.452840, 9884.708407, 9886.031837, 9887.355272, 9887.669111, 9887.982955, 9888.573738, 9889.164520, 9890.161666, 9891.158812, 9891.944395, 9892.729977, 9893.691803, 9894.653632, 9895.576988, 9896.500347, 9896.934443, 9897.368538, 9898.128709, 9898.888881, 9900.097980, 9901.307078, 9902.549753, 9903.792430, 9904.203676, 9904.614923, 9905.734622, 9906.854324, 9907.523761, 9908.193200, 9908.974597, 9909.755995, 9910.370022, 9910.984043, 9911.439742, 9911.895435, 9913.399870, 9914.904300, 9915.761270, 9916.618238, 9917.413385, 9918.208528, 9919.113687, 9920.018841, 9920.854797, 9921.690754, 9922.407571, 9923.124386, 9923.969699, 9924.815013, 9925.954311, 9927.093608, 9927.367045, 9927.640488, 9928.579647, 9929.518804, 9930.490670, 9931.462540, 9931.830505, 9932.198464, 9933.924975, 9935.651487, 9936.440692, 9937.229901, 9938.051944, 9938.873987, 9939.467916, 9940.061846, 9940.446767, 9940.831687, 9942.009403, 9943.187127, 9944.153083, 9945.119040, 9945.655193, 9946.191348, 9947.041357, 9947.891364, 9949.390591, 9950.889818, 9951.112618, 9951.335419, 9952.460591, 9953.585763, 9954.318297, 9955.050834, 9956.213473, 9957.376110, 9958.101205, 9958.826296, 9959.242387, 9959.658480, 9960.545322, 9961.432162, 9962.103418, 9962.774670, 9963.659706, 9964.544742, 9966.247785, 9967.950832, 9968.232343, 9968.513859, 9969.471090, 9970.428318, 9971.327126, 9972.225931, 9972.912481, 9973.599030, 9974.122647, 9974.646266, 9975.650476, 9976.654686, 9977.808682, 9978.962679, 9979.555603, 9980.148533, 9980.690415, 9981.232296, 9982.331311, 9983.430321, 9984.654924, 9985.879528, 9986.687272, 9987.495007, 9988.258119, 9989.021229, 9989.616262, 9990.211290, 9991.233019, 9992.254748, 9992.736531, 9993.218314, 9993.930755, 9994.643202, 9995.682468, 9996.721734, 9997.735662, 9998.749590, 10000.016418, 10001.283245, 10001.858715, 10002.434190, 10003.086632, 10003.739075, 10004.310815, 10004.882556, 10006.366403, 10007.850241, 10008.282544, 10008.714846, 10009.571265, 10010.427686, 10011.054908, 10011.682131, 10012.416686, 10013.151239, 10014.504749, 10015.858261, 10016.349327, 10016.840391, 10018.403952, 10019.967512, 10020.448868, 10020.930224, 10021.668063, 10022.405902, 10023.019510, 10023.633115, 10024.409647, 10025.186178, 10025.952425, 10026.718678, 10027.844089, 10028.969499, 10029.776781, 10030.584058, 10031.444260, 10032.304463, 10033.277002, 10034.249538, 10035.046505, 10035.843476, 10036.642048, 10037.440622, 10038.516797, 10039.592975, 10039.908693, 10040.224413, 10041.494089, 10042.763765, 10043.377602, 10043.991444, 10044.421532, 10044.851621, 10045.637188, 10046.422758, 10048.223744, 10050.024731, 10050.780875, 10051.537019, 10051.968093, 10052.399165, 10053.280430, 10054.161697, 10055.177847, 10056.193994, 10056.445795, 10056.697598, 10058.012456, 10059.327317, 10059.851513, 10060.375713, 10061.429734, 10062.483757, 10063.205392, 10063.927026, 10064.981813, 10066.036600, 10066.795608, 10067.554615, 10068.502081, 10069.449549, 10070.462999, 10071.476450, 10072.330408, 10073.184364, 10073.620357, 10074.056347, 10074.482306, 10074.908264, 10076.154422, 10077.400585, 10078.118123, 10078.835661, 10079.864527, 10080.893392, 10082.112359, 10083.331325, 10083.994389, 10084.657452, 10085.702808, 10086.748162, 10086.851721, 10086.955291, 10087.945547, 10088.935803, 10090.232249, 10091.528696, 10092.196804, 10092.864913, 10093.236630, 10093.608348, 10094.797920, 10095.987495, 10096.478136, 10096.968774, 10098.439077, 10099.909375, 10100.922722, 10101.936066, 10102.378564, 10102.821062, 10103.701684, 10104.582308, 10105.353263, 10106.124214, 10106.882564, 10107.640911, 10108.267897, 10108.894879, 10109.616413, 10110.337945, 10111.757022, 10113.176091, 10114.022469, 10114.868839, 10115.702786, 10116.536736, 10116.957089, 10117.377442, 10118.691868, 10120.006293, 10120.664196, 10121.322099, 10122.105065, 10122.888031, 10123.739945, 10124.591856, 10125.219874, 10125.847893, 10126.767843, 10127.687792, 10128.162603, 10128.637413, 10130.113961, 10131.590508, 10132.513344, 10133.436178, 10134.465703, 10135.495226, 10135.962869, 10136.430511, 10137.000056, 10137.569600, 10138.461801, 10139.354003, 10140.046135, 10140.738265, 10142.147584, 10143.556902, 10143.907929, 10144.258955, 10144.939101, 10145.619246, 10147.231853, 10148.844464, 10149.282323, 10149.720184, 10150.428774, 10151.137368, 10152.312356, 10153.487345, 10154.300550, 10155.113756, 10155.775421, 10156.437087, 10157.100227, 10157.763364, 10158.388423, 10159.013482, 10159.799867, 10160.586256, 10162.019760, 10163.453264, 10164.368306, 10165.283346, 10166.156650, 10167.029952, 10167.579228, 10168.128499, 10168.820767, 10169.513038, 10170.643957, 10171.774873, 10172.239920, 10172.704972, 10173.670164, 10174.635355, 10175.512767, 10176.390174, 10177.276795, 10178.163419, 10178.737883, 10179.312348, 10180.327579, 10181.342807, 10182.669774, 10183.996741, 10184.834486, 10185.672231, 10186.001427, 10186.330626, 10187.216765, 10188.102906, 10188.860579, 10189.618248, 10190.442441, 10191.266633, 10191.910499, 10192.554364, 10193.582525, 10194.610684, 10196.007363, 10197.404043, 10197.847678, 10198.291312, 10199.323556, 10200.355803, 10200.969090, 10201.582372, 10202.170714, 10202.759054, 10204.138280, 10205.517507, 10206.102768, 10206.688030, 10207.515083, 10208.342141, 10208.620378, 10208.898615, 10210.033885, 10211.169154, 10212.345117, 10213.521081, 10214.739669, 10215.958252, 10216.185985, 10216.413717, 10217.759996, 10219.106283, 10219.641653, 10220.177027, 10220.747515, 10221.317999, 10221.834045, 10222.350091, 10223.857988, 10225.365882, 10225.765183, 10226.164481, 10227.425655, 10228.686823, 10229.316819, 10229.946815, 10230.958658, 10231.970498, 10232.718830, 10233.467162, 10234.407513, 10235.347864, 10236.293674, 10237.239479, 10237.657945, 10238.076411, 10239.038097, 10239.999784, 10240.710533, 10241.421281, 10242.153246, 10242.885211, 10243.626828, 10244.368446, 10246.222748, 10248.077051, 10248.570178, 10249.063316, 10249.525168, 10249.987022, 10250.868397, 10251.749771, 10252.416339, 10253.082903, 10254.259591, 10255.436274, 10255.914232, 10256.392194, 10257.388222, 10258.384253, 10259.090168, 10259.796086, 10260.813812, 10261.831535, 10262.748194, 10263.664850, 10264.428817, 10265.192777, 10266.287838, 10267.382899, 10268.240958, 10269.099016, 10269.557088, 10270.015163, 10271.075763, 10272.136364, 10272.435500, 10272.734635, 10273.469113, 10274.203590, 10275.694472, 10277.185352, 10277.980362, 10278.775376, 10279.583700, 10280.392020, 10281.537673, 10282.683325, 10283.056893, 10283.430465, 10284.302500, 10285.174533, 10285.868256, 10286.561977, 10287.671527, 10288.781071, 10289.598439, 10290.415803, 10291.192491, 10291.969180, 10292.140328, 10292.311479, 10293.835104, 10295.358731, 10296.403201, 10297.447671, 10298.325922, 10299.204173, 10300.047313, 10300.890452, 10301.304639, 10301.718825, 10302.517596, 10303.316366, 10304.353141, 10305.389917, 10305.792081, 10306.194247, 10307.270385, 10308.346522, 10309.310380, 10310.274235, 10311.528005, 10312.781778, 10313.435982, 10314.090183, 10314.359387, 10314.628591, 10315.917057, 10317.205523, 10318.238082, 10319.270643, 10319.931795, 10320.592944, 10321.021015, 10321.449086, 10322.353148, 10323.257204, 10324.260683, 10325.264159, 10325.719570, 10326.174984, 10327.758907, 10329.342832, 10330.142897, 10330.942963, 10331.748641, 10332.554316, 10333.162990, 10333.771664, 10334.586278, 10335.400902, 10335.870627, 10336.340353, 10337.402293, 10338.464236, 10339.615107, 10340.765982, 10341.201548, 10341.637116, 10342.616459, 10343.595802, 10344.462946, 10345.330090, 10346.468171, 10347.606249, 10348.491951, 10349.377648, 10349.654699, 10349.931744, 10351.320909, 10352.710072, 10353.343950, 10353.977828, 10354.355228, 10354.732630, 10355.657493, 10356.582359, 10357.217072, 10357.851794, 10359.564424, 10361.277047, 10361.899360, 10362.521671, 10363.349243, 10364.176812, 10364.744687, 10365.312559, 10366.388185, 10367.463815, 10367.811868, 10368.159918, 10369.525438, 10370.890961, 10371.400160, 10371.909355, 10372.593440, 10373.277531, 10374.302685, 10375.327840, 10376.262175, 10377.196513, 10377.858375, 10378.520238, 10379.846714, 10381.173188, 10382.072794, 10382.972399, 10383.462269, 10383.952136, 10384.602280, 10385.252421, 10385.876525, 10386.500631, 10387.551095, 10388.601553, 10389.395287, 10390.189019, 10391.031132, 10391.873242, 10393.099994, 10394.326751, 10395.196007, 10396.065259, 10396.737488, 10397.409714, 10397.910971, 10398.412226, 10399.572658, 10400.733089, 10401.511371, 10402.289653, 10403.091994, 10403.894337, 10404.768771, 10405.643210, 10406.058783, 10406.474350, 10407.188583, 10407.902815, 10409.568585, 10411.234359, 10411.952783, 10412.671207, 10413.669617, 10414.668026, 10414.878475, 10415.088922, 10416.391480, 10417.694038, 10418.157640, 10418.621243, 10419.257709, 10419.894174, 10420.766389, 10421.638607, 10423.068231, 10424.497853, 10424.859901, 10425.221952, 10426.216352, 10427.210754, 10428.276918, 10429.343085, 10429.826100, 10430.309110, 10431.596344, 10432.883582, 10433.562299, 10434.241013, 10434.680738, 10435.120465, 10436.316158, 10437.511852, 10437.767250, 10438.022638, 10439.017378, 10440.012119, 10441.036657, 10442.061196, 10443.276422, 10444.491652, 10445.467517, 10446.443379, 10446.988739, 10447.534100, 10448.188901, 10448.843695, 10449.304913, 10449.766131, 10451.092460, 10452.418790, 10453.356911, 10454.295033, 10454.650563, 10455.006090, 10455.889708, 10456.773327, 10457.844852, 10458.916378, 10459.944977, 10460.973573, 10461.560078, 10462.146583, 10463.367004, 10464.587425, 10465.213270, 10465.839115, 10466.666950, 10467.494784, 10468.089211, 10468.683636, 10469.333024, 10469.982412, 10470.775149, 10471.567885, 10472.606253, 10473.644619, 10475.137098, 10476.629575, 10477.009978, 10477.390381, 10478.064571, 10478.738761, 10479.898607, 10481.058453, 10481.639249, 10482.220045, 10482.975865, 10483.731685, 10484.652149, 10485.572613, 10486.449778, 10487.326946, 10487.995237, 10488.663531, 10489.437596, 10490.211663, 10490.884214, 10491.556765, 10493.379214, 10495.201663, 10495.533922, 10495.866181, 10496.676879, 10497.487578, 10498.262000, 10499.036420, 10499.759852, 10500.483280, 10501.086844, 10501.690406, 10502.646211, 10503.602017, 10504.599467, 10505.596918, 10506.211170, 10506.825424, 10508.321954, 10509.818486, 10510.189274, 10510.560063, 10511.547285, 10512.534504, 10513.021927, 10513.509349, 10514.787022, 10516.064691, 10516.950841, 10517.836994, 10518.358003, 10518.879014, 10519.252534, 10519.626052, 10520.679934, 10521.733799, 10522.714756, 10523.695710, 10524.894445, 10526.093176, 10526.861135, 10527.629096, 10528.661772, 10529.694453, 10530.239079, 10530.783700, 10531.284444, 10531.785187, 10532.804393, 10533.823598, 10534.431250, 10535.038898, 10536.299081, 10537.559267, 10538.107199, 10538.655133, 10539.535168, 10540.415197, 10541.374456, 10542.333719, 10543.127526, 10543.921336, 10545.148812, 10546.376281, 10546.924372, 10547.472458, 10548.264286, 10549.056120, 10549.608225, 10550.160332, 10551.408629, 10552.656928, 10553.032545, 10553.408159, 10553.822177, 10554.236190, 10556.043872, 10557.851555, 10558.751837, 10559.652119, 10560.292082, 10560.932048, 10561.618157, 10562.304261, 10562.903636, 10563.503010, 10564.689692, 10565.876373, 10566.492234, 10567.108095, 10567.954398, 10568.800699, 10569.722064, 10570.643433, 10571.057474, 10571.471518, 10572.635313, 10573.799109, 10574.879544, 10575.959977, 10576.656722, 10577.353475, 10578.452568, 10579.551660, 10580.369004, 10581.186353, 10581.624780, 10582.063206, 10582.739426, 10583.415645, 10584.087174, 10584.758700, 10585.934266, 10587.109831, 10588.086848, 10589.063867, 10589.730986, 10590.398106, 10591.597205, 10592.796300, 10593.533471, 10594.270643, 10594.872501, 10595.474357, 10596.224009, 10596.973660, 10598.080172, 10599.186688, 10600.053470, 10600.920255, 10601.307338, 10601.694419, 10602.686998, 10603.679574, 10604.154090, 10604.628607, 10605.877257, 10607.125909, 10608.710413, 10610.294918, 10610.511864, 10610.728812, 10611.408588, 10612.088363, 10613.018869, 10613.949369, 10614.663009, 10615.376645, 10616.088020, 10616.799394, 10617.816037, 10618.832682, 10619.318662, 10619.804644, 10621.219924, 10622.635203, 10623.419520, 10624.203838, 10624.672459, 10625.141080, 10626.192820, 10627.244560, 10628.460042, 10629.675528, 10630.076962, 10630.478396, 10631.404036, 10632.329677, 10632.972590, 10633.615504, 10634.250219, 10634.884932, 10635.775251, 10636.665565, 10637.557446, 10638.449329, 10639.802362, 10641.155396, 10641.985667, 10642.815938, 10643.338141, 10643.860343, 10644.978625, 10646.096906, 10646.389924, 10646.682942, 10647.355768, 10648.028590, 10649.647048, 10651.265507, 10651.488546, 10651.711586, 10652.721802, 10653.732020, 10654.135481, 10654.538939, 10656.134970, 10657.731006, 10658.320963, 10658.910928, 10659.871352, 10660.831774, 10661.625537, 10662.419303, 10663.202789, 10663.986273, 10664.802514, 10665.618753, 10666.033444, 10666.448135, 10667.220490, 10667.992847, 10669.029268, 10670.065690, 10671.318345, 10672.571002, 10673.381776, 10674.192555, 10675.066072, 10675.939589, 10676.355098, 10676.770608, 10677.687780, 10678.604950, 10679.743796, 10680.882642, 10681.529166, 10682.175694, 10682.644012, 10683.112330, 10684.280325, 10685.448320, 10686.073976, 10686.699631, 10687.430268, 10688.160900, 10689.363399, 10690.565897, 10691.741831, 10692.917765, 10693.732957, 10694.548151, 10694.935247, 10695.322345, 10695.857813, 10696.393281, 10697.549242, 10698.705205, 10699.295062, 10699.884919, 10700.789232, 10701.693546, 10702.715286, 10703.737026, 10704.520517};