lcalc-1.23+dfsg.orig/0000755000175000017500000000000011227146630013051 5ustar tobitobilcalc-1.23+dfsg.orig/src/0000755000175000017500000000000012172064517013643 5ustar tobitobilcalc-1.23+dfsg.orig/src/Ldokchitser.cc0000600000175000017500000000046111064333027016410 0ustar tobitobi#include "L.h" void mult_poly_taylor(Complex *poly1, Complex *poly2, Complex *poly_product, int precision_digits) { int j,k; for (k=0;k<=precision_digits;k++) poly_product[k] = 0; for (k=0;k<=precision_digits;k++) for (j=0;j<=k;j++) poly_product[k] = poly_product[k] + poly1[j]*poly2[k-j]; } lcalc-1.23+dfsg.orig/src/._.DS_Store0000644000175000017500000000012210655551550015540 0ustar tobitobiMac OS X  2 R@lcalc-1.23+dfsg.orig/src/Lcommandline_values_zeros.cc0000644000175000017500000001356311064076122021357 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "L.h" #include "Lcommandline_values_zeros.h" //-----functions-------------------------------------------------------------- void compute_values(Double x,Double y,const char *return_type,const char *file_name,Double x3,Double y3,Long count) { fstream file; Complex s,u; Double x2,y2; //cout << setprecision(DIGITS3); if(strcmp(file_name,"")) //i.e. if a file_name has been provided... { file.open(file_name, ios::in); if(!file.is_open()) { cout << endl << "FAILED TO FIND THE FILE: " << file_name<< endl; exit(1); } while (!file.eof()) { file >> x2; file >> y2; s=Complex(x2,y2); if(!file.eof()) switch(current_L_type) { case 1: u=int_L.value(s,global_derivative,return_type); //global_derivative specifies which derivative to compute. Default is 0 which //is just the plain L-value cout << real(u) << " " << imag(u) << endl; //cout << imag(s) << " " << abs(u)<< endl; break; case 2: u=Double_L.value(s,global_derivative,return_type); cout << real(u) << " " << imag(u) << endl; break; case 3: u=Complex_L.value(s,global_derivative,return_type); cout << real(u) << " " << imag(u) << endl; break; } } file.close(); } else // else use the x and y provided { Long n=0; s=Complex(x,y); //#pragma omp sections { do{ n++; cout << setprecision(DIGITS); if(count>0)cout << real(s) << " " << imag(s) <<" "; cout << setprecision(DIGITS3); switch(current_L_type) { case 1: u=int_L.value(s,global_derivative,return_type); cout << real(u) << " " << imag(u) << endl; //cout << imag(s) << " " << abs(u)<< endl; break; case 2: u=Double_L.value(s,global_derivative,return_type); cout << real(u) << " " << imag(u) << endl; break; case 3: u=Complex_L.value(s,global_derivative,return_type); cout << real(u) << " " << imag(u) << endl; break; } s=s+Complex(x3-x,y3-y)/(double)count; } while(n0, we look for the first //count zeros (starting at t1 not yet implemented) using steps of no smaller //than step_size. //if count >0 then t2 is not used, so it's value is irrelevant. void compute_zeros(Double x, Double y,Double step_size, Long count,int rank, bool test_explicit_formula) { if(current_L_type==1){ if(count==0) int_L.find_zeros(x,y,step_size); //else int_L.find_zeros_via_gram(x,count,step_size); else int_L.find_zeros_via_N(count,false,step_size,rank,test_explicit_formula); //else int_L.find_zeros_elaborate(x,count,step_size); } if(current_L_type==2){ if(count==0) Double_L.find_zeros(x,y,step_size); //else Double_L.find_zeros_via_gram(x,count,step_size); else Double_L.find_zeros_via_N(count,false,step_size,rank,test_explicit_formula); //else Double_L.find_zeros_elaborate(x,count,step_size); } if(current_L_type==3){ if(count==0) Complex_L.find_zeros(x,y,step_size); //Complex_L.find_zeros_via_gram(x,count,step_size); Complex_L.find_zeros_via_N(count,true,step_size,rank,test_explicit_formula); } } //find the zeros of the function obtained by interpolating L and L2. Assumes //they are of the same quasi degree and have same number of dirichlet //coefficients. The interpolated L-function has all its basic data as t times the //data of the first L-function and (1-t) times the data of the second L-function. //does not work with integer L_functions since interpolation gives at least doubles void L_interpolate(Double x, Double y,Double step_size, int n) { double t; char message_stamp[300]; ostrstream os2(message_stamp,300); t=0; do{ os2.seekp(0); os2 << t << ends; if(current_L_type==2){ Double_L3=Double_L*(1-t)+Double_L2*t; Double_L3.find_zeros(x,y,step_size,"cout",message_stamp); } if(current_L_type==3){ Complex_L3=Complex_L*(1-t)+Complex_L2*t; Complex_L3.find_zeros(x,y,step_size,"cout",message_stamp); } t=t+1./n; }while(t<=1); } lcalc-1.23+dfsg.orig/src/Lcommandline.cc0000644000175000017500000005505511151172034016554 0ustar tobitobi/* Copyright (C) Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ //--------------------------------------------------- // // Command line interface to the L function package // By Michael Rubinstein // //--------------------------------------------------- #include "Lcommandline.h" #include "cmdline.h" int main (int argc, char *argv[]) { int i; Long n; bool do_zeros=false,do_values=false,file_to_open=false,do_twists=false,file_of_s_values=false; bool file2_to_open=false,do_print=false,do_interpolate=false; char data_filename[1000]; //filename of file containing data for L-function. char data_filename2[1000]; //filename of file containing data for L-function. int number_coeff_print=30; bool do_hardy=false; bool do_explicit=false; //whether to test the explicit formula when looking for zeros //used for elliptic curves // y^2 + a1 xy + a3 y = x^3 + a2 x^2 + a4 x + a6 bool do_elliptic_curve=false; char a1[200]; char a2[200]; char a3[200]; char a4[200]; char a6[200]; int rank=-1; bool do_tau=false; bool check_rank=false; bool do_compute_rank=false; bool limit_the_rank=false; bool do_only_even_twists=false; char s_file_name[1000]; //file of s values //int derivative=0; //which derivative of L to compute (0 is just the L-value) Double x=0,y=0,step_size=1025; Double x2=0,y2=0; Long count=0; char twist_type; //type of twist to do: quadratic, primitive, all, nth Long D1,D2; // for twists int print_character=0; //1 is all chi(n) , 2 is just chi(-1) bool do_exit=false; gengetopt_args_info args_info; /* call the cmdline parser */ if (cmdline_parser (argc, argv, &args_info) != 0){ exit(1) ; } if(args_info.zeros_given){ /* Whether zeros was given. */ do_zeros=true; count=args_info.zeros_arg; } if(args_info.zeros_interval_given){ /* Whether zeros-interval was given. */ do_zeros=true; if(!args_info.x_given||!args_info.y_given){ cout << "x and y options must be used" << endl; exit(1); } if(!args_info.stepsize_given){ cout << "stepsize option must be used" << endl; exit(1); } #ifdef USE_LONG_DOUBLE sscanf(args_info.x_arg,"%Lg",&x); sscanf(args_info.y_arg,"%Lg",&y); #elif USE_MPFR x=args_info.x_arg; y=args_info.y_arg; #else sscanf(args_info.x_arg,"%lg",&x); sscanf(args_info.y_arg,"%lg",&y); #endif if(yNCPU){ cout << "ERROR: You only have " << NCPU << " processors available." << endl; cout << "Specify fewer processors" << endl; exit(1); } omp_set_num_threads(args_info.openmp_arg); } else //default is 1 omp_set_num_threads(1); #endif #ifndef _OPENMP if(args_info.openmp_given){ /* whether a number of threads was specified */ cout << endl; cout << "ERROR: lcalc has not been compiled with openmp enabled." << endl; cout << "You need to uncomment the line: " << endl; cout << "#OPENMP_FLAG = -fopenmp" << endl; cout << "in the Makefile, and recompile by typing:"<< endl; cout << endl; cout << "make clean" << endl; cout << "make" << endl; cout << endl; exit(1); } #endif //placed here rather than at top since //precision depends on user input. initialize_globals(); //the L-functions used throughout are global and //need to be re-initialized now that we have initialized //Pi in initialize_globals. initialize_commandline_globals(); if(args_info.derivative_given){ /* Whether derivative was given. */ global_derivative = args_info.derivative_arg; //DIGITS3=(int)(DIGITS3/pow(2.,global_derivative)); // now taken care of in Lvalue.h } if(do_zeros){ input_mean_spacing_given = (6.28/log(count*1.+100))*2./DIGITS; //only used //for the zeta funciton, and then in the band limited interpolation scheme. Is a //rough estimate for the average distance between sample points. //Dividing by DIGITS/2 more than accounts for searching for and then zooming in //on zeros. //cout << " input_mean_spacing_given " << input_mean_spacing_given << endl; } if(args_info.use_dirichlet_series_given){ /* Whether to compute just using the Dirichlet series */ only_use_dirichlet_series=true; N_use_dirichlet_series=args_info.use_dirichlet_series_arg; //how many terms to use } if(args_info.verbose_given){ /* Whether vebosity level was specified. */ my_verbose=args_info.verbose_arg; } A=1./(16*Pi*Pi*2.3*DIGITS); //controls the 'support' of g(w) if(file2_to_open){ initialize_new_L(data_filename2); switch(current_L_type) { case 1: int_L2=int_L; break; case 2: Double_L2=Double_L; break; case 3: Complex_L2=Complex_L; break; } } if(file_to_open){ initialize_new_L(data_filename); if(args_info.url_given){ /* Whether file-input was given. */ system("rm temporary_url_file_lcalc"); } } else current_L_type=1; //default is zeta, and type 1, i.e. int, is simplest if(do_interpolate) //compute the zeros on the critical line //of the L-series that interpolate between f and f2. Must be used in combination with //with the option: -zi x y increment //By interpolate I mean take t*(basic data of L) and (1-t)*(basic data of L2). { L_interpolate(x,y,step_size); return 0; } Double *coeff; if(do_elliptic_curve||do_tau){ //determine how many dirichlet coefficients are needed //and initialize the curve int N_terms; //number of dirichlet coefficients Double C = DIGITS2*log(10.); Double T; Double tmp_Q; //the maximum normalized conductor (including twists) Double t2; if(do_elliptic_curve){ #ifdef INCLUDE_PARI t2=.5; //t2=.5 because of the GAMMA(s+1/2) pari_init(1000000000,2); //pari_init_opts(400000000,2,INIT_DFTm); // the last option is to prevent //pari from giving its interrupt signal when its elliptic curve a_p //algorithm is called and interrupted with ctrl-c. Requires a more current //version of pari, so use pari_init above until I have a configure set up //that detects which pari, if any, is installed. coeff = new Double[3]; //compute the conductor which is copied to coeff[1] data_E(a1,a2,a3,a4,a6,2,coeff); tmp_Q=sqrt(coeff[1])/(2*Pi); delete [] coeff; #else cout << "You need to uncomment the line: PARI_DEFINE = -DINCLUDE_PARI" <1) cout << "T = " << T << endl; if(count>0&&!args_info.number_samples_given) T=T+(count+100)*Pi/log(T+3); if(my_verbose>1) cout << "T = " << T << endl; //based on the number of terms used in the gamma_sum routine. possible updates to gamma_sum condition should //thus be reflected here Complex delta=int_L.find_delta(1+I*T+t2,1); N_terms = Int(2.3 * DIGITS*tmp_Q/real(delta)); do{ N_terms=(int)(N_terms*1.3); if(my_verbose>4) cout << "N_terms to precompute = " << N_terms << endl; }while(N_terms*real(delta)/tmp_Q-log((1.+t2)*N_terms)<2.3*DIGITS); N_terms=(int)(N_terms*1.3+40); if(my_verbose>4) cout << "N_terms to precompute = " << N_terms << endl; #ifdef INCLUDE_PARI if(do_elliptic_curve){ allocatemoremem((int) N_terms*16+1000000); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double if (my_verbose>0) cout << "Will precompute " << N_terms << " elliptic L-function dirichlet coefficients..." << endl; initialize_new_L(a1,a2,a3,a4,a6,N_terms); } #endif //ifdef INCLUDE_PARI if(do_tau){ tmp_Q=1./(2*Pi); coeff = new Double[N_terms+1]; ramanujan_tau(coeff,N_terms); Double *g; Complex *l; Complex *p; Complex *r; g=new Double[2]; l=new Complex[2]; g[1]=1.; l[1]=5.5; p = new Complex[1]; r = new Complex[1]; if (my_verbose>0) cout << "Will precompute " << N_terms << " Ramanujan tau(n) dirichlet coefficients..." << endl; current_L_type=2; //the normalized dirichlet coeffs are real Double_L=L_function("Ramanujan Tau",2,N_terms,coeff,0,tmp_Q,1,1,g,l,0,p,r); delete [] g; delete [] l; delete [] p; delete [] r; delete [] coeff; } } if(do_print) print_L(number_coeff_print); if(check_rank&&rank>=0) verify_rank(rank); if(do_compute_rank&&!do_twists) compute_rank(); if(do_values){ if(do_twists){ switch(twist_type){ case 'q': if(do_compute_rank) quadratic_twists(D1,D2,x,y,0,0,"values and ranks",do_only_even_twists,do_explicit); else if(limit_the_rank) quadratic_twists(D1,D2,x,y,0,0,"values and ranks",do_only_even_twists,rank,do_explicit); else quadratic_twists(D1,D2,x,y,0,0,"values",do_only_even_twists,do_explicit); break; case 'p': if(do_compute_rank) all_twists(D1,D2,x,y,0,0,"values and ranks",0,print_character,do_explicit); else all_twists(D1,D2,x,y,0,0,"values",0,print_character,do_explicit); break; case 'a': if(do_compute_rank) all_twists(D1,D2,x,y,0,0,"values and ranks",1,print_character,do_explicit); else all_twists(D1,D2,x,y,0,0,"values",1,print_character,do_explicit); break; case 'A': if(do_compute_rank) all_twists(D1,D2,x,y,0,0,"values and ranks",2,print_character,do_explicit); else all_twists(D1,D2,x,y,0,0,"values",2,print_character,do_explicit); break; case 'g': if(do_compute_rank) all_twists(D1,D2,x,y,0,0,"values and ranks",-1,print_character,do_explicit); else all_twists(D1,D2,x,y,0,0,"values",-1,print_character,do_explicit); break; case 'c': if(do_compute_rank) all_twists(D1,D2,x,y,0,0,"values and ranks",-2,print_character,do_explicit); else all_twists(D1,D2,x,y,0,0,"values",-2,print_character,do_explicit); break; } } else if(file_of_s_values){ if(!do_hardy) compute_values(x,y,"pure",s_file_name); else compute_values(x,y,"rotated pure",s_file_name); } else{ input_mean_spacing_given=(y2-y)/count; //used in Riemann Siegel band limited routine //cout << " input_mean_spacing_given " << input_mean_spacing_given << endl; //for zeta, if applicable. if(!do_hardy) compute_values(x,y,"pure","",x2,y2,count); else compute_values(x,y,"rotated pure","",x2,y2,count); } } else if(do_zeros){ if(do_twists){ switch(twist_type){ case 'q': if(limit_the_rank) quadratic_twists(D1,D2,x,y,count,step_size,"zeros and ranks",do_only_even_twists,do_explicit,rank); else quadratic_twists(D1,D2,x,y,count,step_size,"zeros",do_only_even_twists,do_explicit); break; case 'p': all_twists(D1,D2,x,y,count,step_size,"zeros",0,print_character,do_explicit); break; case 'a': all_twists(D1,D2,x,y,count,step_size,"zeros",1,print_character,do_explicit); break; case 'A': all_twists(D1,D2,x,y,count,step_size,"zeros",2,print_character,do_explicit); break; case 'g': all_twists(D1,D2,x,y,count,step_size,"zeros",-1,print_character,do_explicit); break; case 'c': all_twists(D1,D2,x,y,count,step_size,"zeros",-2,print_character,do_explicit); break; } } else{ compute_zeros(x,y,step_size,count,rank,do_explicit); } } else{ //else allow for printing of characters. "print character" is a dummy char str, //so all_twists will print out the character without doing zeros or values if(do_twists){ switch(twist_type){ case 'p': all_twists(D1,D2,x,y,count,step_size,"print character",0,print_character,do_explicit); break; case 'a': all_twists(D1,D2,x,y,count,step_size,"print character",1,print_character,do_explicit); break; case 'A': all_twists(D1,D2,x,y,count,step_size,"print character",2,print_character,do_explicit); break; case 'g': all_twists(D1,D2,x,y,count,step_size,"print character",-1,print_character,do_explicit); break; case 'c': all_twists(D1,D2,x,y,count,step_size,"print character",-2,print_character,do_explicit); break; } } } delete_globals(); cmdline_parser_free (&args_info); /* release allocated memory */ return 0; } lcalc-1.23+dfsg.orig/src/make_ggo0000700000175000017500000000075411064333152015327 0ustar tobitobi#If you modify L_cmd.ggo you should: /usr/local/bin/gengetopt < Lcommandline.ggo #to produce cmdline.c and .h #and then move the cmdline.h file to the ../include/ directory: mv -f cmdline.h ../include/ #or simply just run this script by typing ./make_ggo #To download and install gengetopt: #http://www.gnu.org/software/gengetopt/ #Do not use fink's installed version. It doesn't seem to work. #Rather do a ./configure, make, make install of #GNU Gengetopt 2.14 (or more recent version). lcalc-1.23+dfsg.orig/src/cmdline.c0000644000175000017500000015766511227145237015445 0ustar tobitobi/* File autogenerated by gengetopt version 2.22.1 generated with the following command: /usr/local/bin/gengetopt The developers of gengetopt consider the fixed text that goes in all gengetopt output files to be in the public domain: we make no copyright claims on it. */ /* If we use autoconf. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include "getopt.h" #include "cmdline.h" const char *gengetopt_args_info_purpose = "This program computes zeros and values of L-function."; const char *gengetopt_args_info_usage = "Usage: lcalc [OPTIONS]..."; const char *gengetopt_args_info_description = ""; const char *gengetopt_args_info_help[] = { " -h, --help Print help and exit", " -V, --version Print version and exit", " -v, --value compute L-function at x+iy. Should be used in \n conjuction with x and y options \n (default=off)", " -x, --x=Double Used with value,value-line-segment, and \n zeros-interval options (default=`.5')", " -y, --y=Double Used with value,value-line-segment, and \n zeros-interval options (default=`0')", " --value-file=filename compute L-function at points specified in file", " --value-line-segment compute L-function along a line segment \n connecting (x,y) to (X,Y) at number-sample \n points (default=off)", " --use-dirichlet-series=INT\n compute values of the L-function using \n specified number of terms of the Dirichlet \n series rather than an approximate functional \n equation.", " --hardy compute the Hardy Z function, i.e. the \n L-function rotated to be real on the critical \n line (default=off)", " -X, --X=Double Used with value-line-segment (default=`.5')", " -Y, --Y=Double Used with value-line-segment (default=`100')", " -n, --number-samples=INT Used with value-line-segment, and interpolate \n options (default=`1000')", " -z, --zeros=INT number of zeros to find", " --explicit test the explicit formula (beta-still in \n development) (default=off)", " -Z, --zeros-interval number of zeros to find in an interval \n (1/2+ix,1/2+iy) using steps of size stepsize. \n Use with the x,y, and stepsize options \n (default=off)", " --stepsize=Double Used with zeros-interval", " -d, --derivative=INT compute derivative. use -d -1 to specify \n logarithmic derivative.", " -e, --elliptic-curve specify an elliptic curve over Q. Use with the \n a1 a2 a3 a4 a6 options (default=off)", " --a1=rational_number Used with the elliptic-curve option", " --a2=rational_number Used with the elliptic-curve option", " --a3=rational_number Used with the elliptic-curve option", " --a4=rational_number Used with the elliptic-curve option", " --a6=rational_number Used with the elliptic-curve option", " -F, --file-input=filename input a file with basic L-function data", " -u, --url=url input a web based file with basic L-function \n data. Specify the url of the file", " -i, --interpolate=filename2 interpolate between two L-functions and find \n their zeros. Should be used in conjunction \n with file-input", " -C, --output-character=STRING if twisting, output the character (possible \n values=\"1\", \"2\" default=`1')", " -o, --output-data=number Dirichlet coeffs\n output basic data for the underlying L-function \n (default=`10')", " --verbose=INT verbosity > 0 outputs extra info (default=`0')", " -P, --precision=INT number digits precision (default=`14')", " -S, --sacrifice=INT number digits to sacrifice (default=`2')", " -r, --rank-compute compute the rank (default=off)", " --rank-verify=INT verify if specified rank is correct", " -l, --rank-limit=INT when doing quadratic twists limit to \n L-functions with specified rank", " -t, --tau Ramanujan tau L-function (weight 12, full \n level) (default=off)", " -q, --twist-quadratic twist by fundamental quadratic characters, \n start <= discriminant <= finish. Use with \n start and finish options. (default=off)", " -s, --start=integer Used with various twisting options", " -f, --finish=integer Used with various twisting options. Default has \n finish=start", " --twist-quadratic-even twist by fundamental quadratic characters, even \n functional eqn, start <= discriminant <= \n finish (default=off)", " -p, --twist-primitive twist by all primitive Dirichlet characters \n with start <= conductor <= finish. For \n L-functions with complex Dirichlet \n coefficients, conjugate characters are \n considered equivalent (default=off)", " -A, --twist-all twist by all Dirichlet characters with start <= \n conductor <= finish. (default=off)", " -a, --twist-all-no-conj-pairs twist by all Dirichlet characters with start <= \n conductor <= finish. For L-functions with \n complex Dirichlet coefficients, conjugate \n pairs of characters are considered equivalent \n (default=off)", " -c, --twist-complex-no-conj-pairs\n twist by all complex primitive Dirichlet \n characters with start <= conductor <= finish. \n For L-functions with complex Dirichlet \n coefficients, conjugate pairs of characters \n are considered equivalent (default=off)", " -g, --twist-generic twist by a generic complex Dirichlet characters \n with start <= conductor <= finish. \n (default=off)", " -D, --degree=degree can only be used in conjuction with \n twist-primitive (?). Select characters of \n specified degree. Not yet implemented", " -O, --openmp=INT whether to use openmp parallelization (beta- \n very little parallelization currently \n implemented) . Specify the number of threads \n to use.", 0 }; typedef enum {ARG_NO , ARG_FLAG , ARG_STRING , ARG_INT } cmdline_parser_arg_type; static void clear_given (struct gengetopt_args_info *args_info); static void clear_args (struct gengetopt_args_info *args_info); static int cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params, const char *additional_error); char *cmdline_parser_output_character_values[] = {"1", "2", 0} ; /* Possible values for output-character. */ static char * gengetopt_strdup (const char *s); static void clear_given (struct gengetopt_args_info *args_info) { args_info->help_given = 0 ; args_info->version_given = 0 ; args_info->value_given = 0 ; args_info->x_given = 0 ; args_info->y_given = 0 ; args_info->value_file_given = 0 ; args_info->value_line_segment_given = 0 ; args_info->use_dirichlet_series_given = 0 ; args_info->hardy_given = 0 ; args_info->X_given = 0 ; args_info->Y_given = 0 ; args_info->number_samples_given = 0 ; args_info->zeros_given = 0 ; args_info->explicit_given = 0 ; args_info->zeros_interval_given = 0 ; args_info->stepsize_given = 0 ; args_info->derivative_given = 0 ; args_info->elliptic_curve_given = 0 ; args_info->a1_given = 0 ; args_info->a2_given = 0 ; args_info->a3_given = 0 ; args_info->a4_given = 0 ; args_info->a6_given = 0 ; args_info->file_input_given = 0 ; args_info->url_given = 0 ; args_info->interpolate_given = 0 ; args_info->output_character_given = 0 ; args_info->output_data_given = 0 ; args_info->verbose_given = 0 ; args_info->precision_given = 0 ; args_info->sacrifice_given = 0 ; args_info->rank_compute_given = 0 ; args_info->rank_verify_given = 0 ; args_info->rank_limit_given = 0 ; args_info->tau_given = 0 ; args_info->twist_quadratic_given = 0 ; args_info->start_given = 0 ; args_info->finish_given = 0 ; args_info->twist_quadratic_even_given = 0 ; args_info->twist_primitive_given = 0 ; args_info->twist_all_given = 0 ; args_info->twist_all_no_conj_pairs_given = 0 ; args_info->twist_complex_no_conj_pairs_given = 0 ; args_info->twist_generic_given = 0 ; args_info->degree_given = 0 ; args_info->openmp_given = 0 ; } static void clear_args (struct gengetopt_args_info *args_info) { args_info->value_flag = 0; args_info->x_arg = gengetopt_strdup (".5"); args_info->x_orig = NULL; args_info->y_arg = gengetopt_strdup ("0"); args_info->y_orig = NULL; args_info->value_file_arg = NULL; args_info->value_file_orig = NULL; args_info->value_line_segment_flag = 0; args_info->use_dirichlet_series_orig = NULL; args_info->hardy_flag = 0; args_info->X_arg = gengetopt_strdup (".5"); args_info->X_orig = NULL; args_info->Y_arg = gengetopt_strdup ("100"); args_info->Y_orig = NULL; args_info->number_samples_arg = 1000; args_info->number_samples_orig = NULL; args_info->zeros_orig = NULL; args_info->explicit_flag = 0; args_info->zeros_interval_flag = 0; args_info->stepsize_arg = NULL; args_info->stepsize_orig = NULL; args_info->derivative_orig = NULL; args_info->elliptic_curve_flag = 0; args_info->a1_arg = NULL; args_info->a1_orig = NULL; args_info->a2_arg = NULL; args_info->a2_orig = NULL; args_info->a3_arg = NULL; args_info->a3_orig = NULL; args_info->a4_arg = NULL; args_info->a4_orig = NULL; args_info->a6_arg = NULL; args_info->a6_orig = NULL; args_info->file_input_arg = NULL; args_info->file_input_orig = NULL; args_info->url_arg = NULL; args_info->url_orig = NULL; args_info->interpolate_arg = NULL; args_info->interpolate_orig = NULL; args_info->output_character_arg = gengetopt_strdup ("1"); args_info->output_character_orig = NULL; args_info->output_data_arg = 10; args_info->output_data_orig = NULL; args_info->verbose_arg = 0; args_info->verbose_orig = NULL; args_info->precision_arg = 14; args_info->precision_orig = NULL; args_info->sacrifice_arg = 2; args_info->sacrifice_orig = NULL; args_info->rank_compute_flag = 0; args_info->rank_verify_orig = NULL; args_info->rank_limit_orig = NULL; args_info->tau_flag = 0; args_info->twist_quadratic_flag = 0; args_info->start_arg = NULL; args_info->start_orig = NULL; args_info->finish_arg = NULL; args_info->finish_orig = NULL; args_info->twist_quadratic_even_flag = 0; args_info->twist_primitive_flag = 0; args_info->twist_all_flag = 0; args_info->twist_all_no_conj_pairs_flag = 0; args_info->twist_complex_no_conj_pairs_flag = 0; args_info->twist_generic_flag = 0; args_info->degree_orig = NULL; args_info->openmp_orig = NULL; } static void init_args_info(struct gengetopt_args_info *args_info) { args_info->help_help = gengetopt_args_info_help[0] ; args_info->version_help = gengetopt_args_info_help[1] ; args_info->value_help = gengetopt_args_info_help[2] ; args_info->x_help = gengetopt_args_info_help[3] ; args_info->y_help = gengetopt_args_info_help[4] ; args_info->value_file_help = gengetopt_args_info_help[5] ; args_info->value_line_segment_help = gengetopt_args_info_help[6] ; args_info->use_dirichlet_series_help = gengetopt_args_info_help[7] ; args_info->hardy_help = gengetopt_args_info_help[8] ; args_info->X_help = gengetopt_args_info_help[9] ; args_info->Y_help = gengetopt_args_info_help[10] ; args_info->number_samples_help = gengetopt_args_info_help[11] ; args_info->zeros_help = gengetopt_args_info_help[12] ; args_info->explicit_help = gengetopt_args_info_help[13] ; args_info->zeros_interval_help = gengetopt_args_info_help[14] ; args_info->stepsize_help = gengetopt_args_info_help[15] ; args_info->derivative_help = gengetopt_args_info_help[16] ; args_info->elliptic_curve_help = gengetopt_args_info_help[17] ; args_info->a1_help = gengetopt_args_info_help[18] ; args_info->a2_help = gengetopt_args_info_help[19] ; args_info->a3_help = gengetopt_args_info_help[20] ; args_info->a4_help = gengetopt_args_info_help[21] ; args_info->a6_help = gengetopt_args_info_help[22] ; args_info->file_input_help = gengetopt_args_info_help[23] ; args_info->url_help = gengetopt_args_info_help[24] ; args_info->interpolate_help = gengetopt_args_info_help[25] ; args_info->output_character_help = gengetopt_args_info_help[26] ; args_info->output_data_help = gengetopt_args_info_help[27] ; args_info->verbose_help = gengetopt_args_info_help[28] ; args_info->precision_help = gengetopt_args_info_help[29] ; args_info->sacrifice_help = gengetopt_args_info_help[30] ; args_info->rank_compute_help = gengetopt_args_info_help[31] ; args_info->rank_verify_help = gengetopt_args_info_help[32] ; args_info->rank_limit_help = gengetopt_args_info_help[33] ; args_info->tau_help = gengetopt_args_info_help[34] ; args_info->twist_quadratic_help = gengetopt_args_info_help[35] ; args_info->start_help = gengetopt_args_info_help[36] ; args_info->finish_help = gengetopt_args_info_help[37] ; args_info->twist_quadratic_even_help = gengetopt_args_info_help[38] ; args_info->twist_primitive_help = gengetopt_args_info_help[39] ; args_info->twist_all_help = gengetopt_args_info_help[40] ; args_info->twist_all_no_conj_pairs_help = gengetopt_args_info_help[41] ; args_info->twist_complex_no_conj_pairs_help = gengetopt_args_info_help[42] ; args_info->twist_generic_help = gengetopt_args_info_help[43] ; args_info->degree_help = gengetopt_args_info_help[44] ; args_info->openmp_help = gengetopt_args_info_help[45] ; } void cmdline_parser_print_version (void) { printf ("%s %s\n", CMDLINE_PARSER_PACKAGE, CMDLINE_PARSER_VERSION); } static void print_help_common(void) { cmdline_parser_print_version (); if (strlen(gengetopt_args_info_purpose) > 0) printf("\n%s\n", gengetopt_args_info_purpose); if (strlen(gengetopt_args_info_usage) > 0) printf("\n%s\n", gengetopt_args_info_usage); printf("\n"); if (strlen(gengetopt_args_info_description) > 0) printf("%s\n\n", gengetopt_args_info_description); } void cmdline_parser_print_help (void) { int i = 0; print_help_common(); while (gengetopt_args_info_help[i]) printf("%s\n", gengetopt_args_info_help[i++]); } void cmdline_parser_init (struct gengetopt_args_info *args_info) { clear_given (args_info); clear_args (args_info); init_args_info (args_info); } void cmdline_parser_params_init(struct cmdline_parser_params *params) { if (params) { params->override = 0; params->initialize = 1; params->check_required = 1; params->check_ambiguity = 0; params->print_errors = 1; } } struct cmdline_parser_params * cmdline_parser_params_create(void) { struct cmdline_parser_params *params = (struct cmdline_parser_params *)malloc(sizeof(struct cmdline_parser_params)); cmdline_parser_params_init(params); return params; } static void free_string_field (char **s) { if (*s) { free (*s); *s = 0; } } static void cmdline_parser_release (struct gengetopt_args_info *args_info) { free_string_field (&(args_info->x_arg)); free_string_field (&(args_info->x_orig)); free_string_field (&(args_info->y_arg)); free_string_field (&(args_info->y_orig)); free_string_field (&(args_info->value_file_arg)); free_string_field (&(args_info->value_file_orig)); free_string_field (&(args_info->use_dirichlet_series_orig)); free_string_field (&(args_info->X_arg)); free_string_field (&(args_info->X_orig)); free_string_field (&(args_info->Y_arg)); free_string_field (&(args_info->Y_orig)); free_string_field (&(args_info->number_samples_orig)); free_string_field (&(args_info->zeros_orig)); free_string_field (&(args_info->stepsize_arg)); free_string_field (&(args_info->stepsize_orig)); free_string_field (&(args_info->derivative_orig)); free_string_field (&(args_info->a1_arg)); free_string_field (&(args_info->a1_orig)); free_string_field (&(args_info->a2_arg)); free_string_field (&(args_info->a2_orig)); free_string_field (&(args_info->a3_arg)); free_string_field (&(args_info->a3_orig)); free_string_field (&(args_info->a4_arg)); free_string_field (&(args_info->a4_orig)); free_string_field (&(args_info->a6_arg)); free_string_field (&(args_info->a6_orig)); free_string_field (&(args_info->file_input_arg)); free_string_field (&(args_info->file_input_orig)); free_string_field (&(args_info->url_arg)); free_string_field (&(args_info->url_orig)); free_string_field (&(args_info->interpolate_arg)); free_string_field (&(args_info->interpolate_orig)); free_string_field (&(args_info->output_character_arg)); free_string_field (&(args_info->output_character_orig)); free_string_field (&(args_info->output_data_orig)); free_string_field (&(args_info->verbose_orig)); free_string_field (&(args_info->precision_orig)); free_string_field (&(args_info->sacrifice_orig)); free_string_field (&(args_info->rank_verify_orig)); free_string_field (&(args_info->rank_limit_orig)); free_string_field (&(args_info->start_arg)); free_string_field (&(args_info->start_orig)); free_string_field (&(args_info->finish_arg)); free_string_field (&(args_info->finish_orig)); free_string_field (&(args_info->degree_orig)); free_string_field (&(args_info->openmp_orig)); clear_given (args_info); } /** * @param val the value to check * @param values the possible values * @return the index of the matched value: * -1 if no value matched, * -2 if more than one value has matched */ static int check_possible_values(const char *val, char *values[]) { int i, found, last; size_t len; if (!val) /* otherwise strlen() crashes below */ return -1; /* -1 means no argument for the option */ found = last = 0; for (i = 0, len = strlen(val); values[i]; ++i) { if (strncmp(val, values[i], len) == 0) { ++found; last = i; if (strlen(values[i]) == len) return i; /* exact macth no need to check more */ } } if (found == 1) /* one match: OK */ return last; return (found ? -2 : -1); /* return many values or none matched */ } static void write_into_file(FILE *outfile, const char *opt, const char *arg, char *values[]) { int found = -1; if (arg) { if (values) { found = check_possible_values(arg, values); } if (found >= 0) fprintf(outfile, "%s=\"%s\" # %s\n", opt, arg, values[found]); else fprintf(outfile, "%s=\"%s\"\n", opt, arg); } else { fprintf(outfile, "%s\n", opt); } } int cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info) { int i = 0; if (!outfile) { fprintf (stderr, "%s: cannot dump options to stream\n", CMDLINE_PARSER_PACKAGE); return EXIT_FAILURE; } if (args_info->help_given) write_into_file(outfile, "help", 0, 0 ); if (args_info->version_given) write_into_file(outfile, "version", 0, 0 ); if (args_info->value_given) write_into_file(outfile, "value", 0, 0 ); if (args_info->x_given) write_into_file(outfile, "x", args_info->x_orig, 0); if (args_info->y_given) write_into_file(outfile, "y", args_info->y_orig, 0); if (args_info->value_file_given) write_into_file(outfile, "value-file", args_info->value_file_orig, 0); if (args_info->value_line_segment_given) write_into_file(outfile, "value-line-segment", 0, 0 ); if (args_info->use_dirichlet_series_given) write_into_file(outfile, "use-dirichlet-series", args_info->use_dirichlet_series_orig, 0); if (args_info->hardy_given) write_into_file(outfile, "hardy", 0, 0 ); if (args_info->X_given) write_into_file(outfile, "X", args_info->X_orig, 0); if (args_info->Y_given) write_into_file(outfile, "Y", args_info->Y_orig, 0); if (args_info->number_samples_given) write_into_file(outfile, "number-samples", args_info->number_samples_orig, 0); if (args_info->zeros_given) write_into_file(outfile, "zeros", args_info->zeros_orig, 0); if (args_info->explicit_given) write_into_file(outfile, "explicit", 0, 0 ); if (args_info->zeros_interval_given) write_into_file(outfile, "zeros-interval", 0, 0 ); if (args_info->stepsize_given) write_into_file(outfile, "stepsize", args_info->stepsize_orig, 0); if (args_info->derivative_given) write_into_file(outfile, "derivative", args_info->derivative_orig, 0); if (args_info->elliptic_curve_given) write_into_file(outfile, "elliptic-curve", 0, 0 ); if (args_info->a1_given) write_into_file(outfile, "a1", args_info->a1_orig, 0); if (args_info->a2_given) write_into_file(outfile, "a2", args_info->a2_orig, 0); if (args_info->a3_given) write_into_file(outfile, "a3", args_info->a3_orig, 0); if (args_info->a4_given) write_into_file(outfile, "a4", args_info->a4_orig, 0); if (args_info->a6_given) write_into_file(outfile, "a6", args_info->a6_orig, 0); if (args_info->file_input_given) write_into_file(outfile, "file-input", args_info->file_input_orig, 0); if (args_info->url_given) write_into_file(outfile, "url", args_info->url_orig, 0); if (args_info->interpolate_given) write_into_file(outfile, "interpolate", args_info->interpolate_orig, 0); if (args_info->output_character_given) write_into_file(outfile, "output-character", args_info->output_character_orig, cmdline_parser_output_character_values); if (args_info->output_data_given) write_into_file(outfile, "output-data", args_info->output_data_orig, 0); if (args_info->verbose_given) write_into_file(outfile, "verbose", args_info->verbose_orig, 0); if (args_info->precision_given) write_into_file(outfile, "precision", args_info->precision_orig, 0); if (args_info->sacrifice_given) write_into_file(outfile, "sacrifice", args_info->sacrifice_orig, 0); if (args_info->rank_compute_given) write_into_file(outfile, "rank-compute", 0, 0 ); if (args_info->rank_verify_given) write_into_file(outfile, "rank-verify", args_info->rank_verify_orig, 0); if (args_info->rank_limit_given) write_into_file(outfile, "rank-limit", args_info->rank_limit_orig, 0); if (args_info->tau_given) write_into_file(outfile, "tau", 0, 0 ); if (args_info->twist_quadratic_given) write_into_file(outfile, "twist-quadratic", 0, 0 ); if (args_info->start_given) write_into_file(outfile, "start", args_info->start_orig, 0); if (args_info->finish_given) write_into_file(outfile, "finish", args_info->finish_orig, 0); if (args_info->twist_quadratic_even_given) write_into_file(outfile, "twist-quadratic-even", 0, 0 ); if (args_info->twist_primitive_given) write_into_file(outfile, "twist-primitive", 0, 0 ); if (args_info->twist_all_given) write_into_file(outfile, "twist-all", 0, 0 ); if (args_info->twist_all_no_conj_pairs_given) write_into_file(outfile, "twist-all-no-conj-pairs", 0, 0 ); if (args_info->twist_complex_no_conj_pairs_given) write_into_file(outfile, "twist-complex-no-conj-pairs", 0, 0 ); if (args_info->twist_generic_given) write_into_file(outfile, "twist-generic", 0, 0 ); if (args_info->degree_given) write_into_file(outfile, "degree", args_info->degree_orig, 0); if (args_info->openmp_given) write_into_file(outfile, "openmp", args_info->openmp_orig, 0); i = EXIT_SUCCESS; return i; } int cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info) { FILE *outfile; int i = 0; outfile = fopen(filename, "w"); if (!outfile) { fprintf (stderr, "%s: cannot open file for writing: %s\n", CMDLINE_PARSER_PACKAGE, filename); return EXIT_FAILURE; } i = cmdline_parser_dump(outfile, args_info); fclose (outfile); return i; } void cmdline_parser_free (struct gengetopt_args_info *args_info) { cmdline_parser_release (args_info); } /** @brief replacement of strdup, which is not standard */ char * gengetopt_strdup (const char *s) { char *result = NULL; if (!s) return result; result = (char*)malloc(strlen(s) + 1); if (result == (char*)0) return (char*)0; strcpy(result, s); return result; } int cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info) { return cmdline_parser2 (argc, argv, args_info, 0, 1, 1); } int cmdline_parser_ext (int argc, char * const *argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params) { int result; result = cmdline_parser_internal (argc, argv, args_info, params, NULL); if (result == EXIT_FAILURE) { cmdline_parser_free (args_info); exit (EXIT_FAILURE); } return result; } int cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required) { int result; struct cmdline_parser_params params; params.override = override; params.initialize = initialize; params.check_required = check_required; params.check_ambiguity = 0; params.print_errors = 1; result = cmdline_parser_internal (argc, argv, args_info, ¶ms, NULL); if (result == EXIT_FAILURE) { cmdline_parser_free (args_info); exit (EXIT_FAILURE); } return result; } int cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog_name) { return EXIT_SUCCESS; } static char *package_name = 0; /** * @brief updates an option * @param field the generic pointer to the field to update * @param orig_field the pointer to the orig field * @param field_given the pointer to the number of occurrence of this option * @param prev_given the pointer to the number of occurrence already seen * @param value the argument for this option (if null no arg was specified) * @param possible_values the possible values for this option (if specified) * @param default_value the default value (in case the option only accepts fixed values) * @param arg_type the type of this option * @param check_ambiguity @see cmdline_parser_params.check_ambiguity * @param override @see cmdline_parser_params.override * @param no_free whether to free a possible previous value * @param multiple_option whether this is a multiple option * @param long_opt the corresponding long option * @param short_opt the corresponding short option (or '-' if none) * @param additional_error possible further error specification */ static int update_arg(void *field, char **orig_field, unsigned int *field_given, unsigned int *prev_given, char *value, char *possible_values[], const char *default_value, cmdline_parser_arg_type arg_type, int check_ambiguity, int override, int no_free, int multiple_option, const char *long_opt, char short_opt, const char *additional_error) { char *stop_char = 0; const char *val = value; int found; char **string_field; stop_char = 0; found = 0; if (!multiple_option && prev_given && (*prev_given || (check_ambiguity && *field_given))) { if (short_opt != '-') fprintf (stderr, "%s: `--%s' (`-%c') option given more than once%s\n", package_name, long_opt, short_opt, (additional_error ? additional_error : "")); else fprintf (stderr, "%s: `--%s' option given more than once%s\n", package_name, long_opt, (additional_error ? additional_error : "")); return 1; /* failure */ } if (possible_values && (found = check_possible_values((value ? value : default_value), possible_values)) < 0) { if (short_opt != '-') fprintf (stderr, "%s: %s argument, \"%s\", for option `--%s' (`-%c')%s\n", package_name, (found == -2) ? "ambiguous" : "invalid", value, long_opt, short_opt, (additional_error ? additional_error : "")); else fprintf (stderr, "%s: %s argument, \"%s\", for option `--%s'%s\n", package_name, (found == -2) ? "ambiguous" : "invalid", value, long_opt, (additional_error ? additional_error : "")); return 1; /* failure */ } if (field_given && *field_given && ! override) return 0; if (prev_given) (*prev_given)++; if (field_given) (*field_given)++; if (possible_values) val = possible_values[found]; switch(arg_type) { case ARG_FLAG: *((int *)field) = !*((int *)field); break; case ARG_INT: if (val) *((int *)field) = strtol (val, &stop_char, 0); break; case ARG_STRING: if (val) { string_field = (char **)field; if (!no_free && *string_field) free (*string_field); /* free previous string */ *string_field = gengetopt_strdup (val); } break; default: break; }; /* check numeric conversion */ switch(arg_type) { case ARG_INT: if (val && !(stop_char && *stop_char == '\0')) { fprintf(stderr, "%s: invalid numeric value: %s\n", package_name, val); return 1; /* failure */ } break; default: ; }; /* store the original value */ switch(arg_type) { case ARG_NO: case ARG_FLAG: break; default: if (value && orig_field) { if (no_free) { *orig_field = value; } else { if (*orig_field) free (*orig_field); /* free previous string */ *orig_field = gengetopt_strdup (value); } } }; return 0; /* OK */ } int cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params, const char *additional_error) { int c; /* Character of the parsed option. */ int error = 0; struct gengetopt_args_info local_args_info; int override; int initialize; int check_required; int check_ambiguity; package_name = argv[0]; override = params->override; initialize = params->initialize; check_required = params->check_required; check_ambiguity = params->check_ambiguity; if (initialize) cmdline_parser_init (args_info); cmdline_parser_init (&local_args_info); optarg = 0; optind = 0; opterr = params->print_errors; optopt = '?'; while (1) { int option_index = 0; static struct option long_options[] = { { "help", 0, NULL, 'h' }, { "version", 0, NULL, 'V' }, { "value", 0, NULL, 'v' }, { "x", 1, NULL, 'x' }, { "y", 1, NULL, 'y' }, { "value-file", 1, NULL, 0 }, { "value-line-segment", 0, NULL, 0 }, { "use-dirichlet-series", 1, NULL, 0 }, { "hardy", 0, NULL, 0 }, { "X", 1, NULL, 'X' }, { "Y", 1, NULL, 'Y' }, { "number-samples", 1, NULL, 'n' }, { "zeros", 1, NULL, 'z' }, { "explicit", 0, NULL, 0 }, { "zeros-interval", 0, NULL, 'Z' }, { "stepsize", 1, NULL, 0 }, { "derivative", 1, NULL, 'd' }, { "elliptic-curve", 0, NULL, 'e' }, { "a1", 1, NULL, 0 }, { "a2", 1, NULL, 0 }, { "a3", 1, NULL, 0 }, { "a4", 1, NULL, 0 }, { "a6", 1, NULL, 0 }, { "file-input", 1, NULL, 'F' }, { "url", 1, NULL, 'u' }, { "interpolate", 1, NULL, 'i' }, { "output-character", 1, NULL, 'C' }, { "output-data", 1, NULL, 'o' }, { "verbose", 1, NULL, 0 }, { "precision", 1, NULL, 'P' }, { "sacrifice", 1, NULL, 'S' }, { "rank-compute", 0, NULL, 'r' }, { "rank-verify", 1, NULL, 0 }, { "rank-limit", 1, NULL, 'l' }, { "tau", 0, NULL, 't' }, { "twist-quadratic", 0, NULL, 'q' }, { "start", 1, NULL, 's' }, { "finish", 1, NULL, 'f' }, { "twist-quadratic-even", 0, NULL, 0 }, { "twist-primitive", 0, NULL, 'p' }, { "twist-all", 0, NULL, 'A' }, { "twist-all-no-conj-pairs", 0, NULL, 'a' }, { "twist-complex-no-conj-pairs", 0, NULL, 'c' }, { "twist-generic", 0, NULL, 'g' }, { "degree", 1, NULL, 'D' }, { "openmp", 1, NULL, 'O' }, { NULL, 0, NULL, 0 } }; c = getopt_long (argc, argv, "hVvx:y:X:Y:n:z:Zd:eF:u:i:C:o:P:S:rl:tqs:f:pAacgD:O:", long_options, &option_index); if (c == -1) break; /* Exit from `while (1)' loop. */ switch (c) { case 'h': /* Print help and exit. */ cmdline_parser_print_help (); cmdline_parser_free (&local_args_info); exit (EXIT_SUCCESS); case 'V': /* Print version and exit. */ cmdline_parser_print_version (); cmdline_parser_free (&local_args_info); exit (EXIT_SUCCESS); case 'v': /* compute L-function at x+iy. Should be used in conjuction with x and y options. */ if (update_arg((void *)&(args_info->value_flag), 0, &(args_info->value_given), &(local_args_info.value_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "value", 'v', additional_error)) goto failure; break; case 'x': /* Used with value,value-line-segment, and zeros-interval options. */ if (update_arg( (void *)&(args_info->x_arg), &(args_info->x_orig), &(args_info->x_given), &(local_args_info.x_given), optarg, 0, ".5", ARG_STRING, check_ambiguity, override, 0, 0, "x", 'x', additional_error)) goto failure; break; case 'y': /* Used with value,value-line-segment, and zeros-interval options. */ if (update_arg( (void *)&(args_info->y_arg), &(args_info->y_orig), &(args_info->y_given), &(local_args_info.y_given), optarg, 0, "0", ARG_STRING, check_ambiguity, override, 0, 0, "y", 'y', additional_error)) goto failure; break; case 'X': /* Used with value-line-segment. */ if (update_arg( (void *)&(args_info->X_arg), &(args_info->X_orig), &(args_info->X_given), &(local_args_info.X_given), optarg, 0, ".5", ARG_STRING, check_ambiguity, override, 0, 0, "X", 'X', additional_error)) goto failure; break; case 'Y': /* Used with value-line-segment. */ if (update_arg( (void *)&(args_info->Y_arg), &(args_info->Y_orig), &(args_info->Y_given), &(local_args_info.Y_given), optarg, 0, "100", ARG_STRING, check_ambiguity, override, 0, 0, "Y", 'Y', additional_error)) goto failure; break; case 'n': /* Used with value-line-segment, and interpolate options. */ if (update_arg( (void *)&(args_info->number_samples_arg), &(args_info->number_samples_orig), &(args_info->number_samples_given), &(local_args_info.number_samples_given), optarg, 0, "1000", ARG_INT, check_ambiguity, override, 0, 0, "number-samples", 'n', additional_error)) goto failure; break; case 'z': /* number of zeros to find. */ if (update_arg( (void *)&(args_info->zeros_arg), &(args_info->zeros_orig), &(args_info->zeros_given), &(local_args_info.zeros_given), optarg, 0, 0, ARG_INT, check_ambiguity, override, 0, 0, "zeros", 'z', additional_error)) goto failure; break; case 'Z': /* number of zeros to find in an interval (1/2+ix,1/2+iy) using steps of size stepsize. Use with the x,y, and stepsize options. */ if (update_arg((void *)&(args_info->zeros_interval_flag), 0, &(args_info->zeros_interval_given), &(local_args_info.zeros_interval_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "zeros-interval", 'Z', additional_error)) goto failure; break; case 'd': /* compute derivative. use -d -1 to specify logarithmic derivative.. */ if (update_arg( (void *)&(args_info->derivative_arg), &(args_info->derivative_orig), &(args_info->derivative_given), &(local_args_info.derivative_given), optarg, 0, 0, ARG_INT, check_ambiguity, override, 0, 0, "derivative", 'd', additional_error)) goto failure; break; case 'e': /* specify an elliptic curve over Q. Use with the a1 a2 a3 a4 a6 options. */ if (update_arg((void *)&(args_info->elliptic_curve_flag), 0, &(args_info->elliptic_curve_given), &(local_args_info.elliptic_curve_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "elliptic-curve", 'e', additional_error)) goto failure; break; case 'F': /* input a file with basic L-function data. */ if (update_arg( (void *)&(args_info->file_input_arg), &(args_info->file_input_orig), &(args_info->file_input_given), &(local_args_info.file_input_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "file-input", 'F', additional_error)) goto failure; break; case 'u': /* input a web based file with basic L-function data. Specify the url of the file. */ if (update_arg( (void *)&(args_info->url_arg), &(args_info->url_orig), &(args_info->url_given), &(local_args_info.url_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "url", 'u', additional_error)) goto failure; break; case 'i': /* interpolate between two L-functions and find their zeros. Should be used in conjunction with file-input. */ if (update_arg( (void *)&(args_info->interpolate_arg), &(args_info->interpolate_orig), &(args_info->interpolate_given), &(local_args_info.interpolate_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "interpolate", 'i', additional_error)) goto failure; break; case 'C': /* if twisting, output the character. */ if (update_arg( (void *)&(args_info->output_character_arg), &(args_info->output_character_orig), &(args_info->output_character_given), &(local_args_info.output_character_given), optarg, cmdline_parser_output_character_values, "1", ARG_STRING, check_ambiguity, override, 0, 0, "output-character", 'C', additional_error)) goto failure; break; case 'o': /* output basic data for the underlying L-function. */ if (update_arg( (void *)&(args_info->output_data_arg), &(args_info->output_data_orig), &(args_info->output_data_given), &(local_args_info.output_data_given), optarg, 0, "10", ARG_INT, check_ambiguity, override, 0, 0, "output-data", 'o', additional_error)) goto failure; break; case 'P': /* number digits precision. */ if (update_arg( (void *)&(args_info->precision_arg), &(args_info->precision_orig), &(args_info->precision_given), &(local_args_info.precision_given), optarg, 0, "14", ARG_INT, check_ambiguity, override, 0, 0, "precision", 'P', additional_error)) goto failure; break; case 'S': /* number digits to sacrifice. */ if (update_arg( (void *)&(args_info->sacrifice_arg), &(args_info->sacrifice_orig), &(args_info->sacrifice_given), &(local_args_info.sacrifice_given), optarg, 0, "2", ARG_INT, check_ambiguity, override, 0, 0, "sacrifice", 'S', additional_error)) goto failure; break; case 'r': /* compute the rank. */ if (update_arg((void *)&(args_info->rank_compute_flag), 0, &(args_info->rank_compute_given), &(local_args_info.rank_compute_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "rank-compute", 'r', additional_error)) goto failure; break; case 'l': /* when doing quadratic twists limit to L-functions with specified rank. */ if (update_arg( (void *)&(args_info->rank_limit_arg), &(args_info->rank_limit_orig), &(args_info->rank_limit_given), &(local_args_info.rank_limit_given), optarg, 0, 0, ARG_INT, check_ambiguity, override, 0, 0, "rank-limit", 'l', additional_error)) goto failure; break; case 't': /* Ramanujan tau L-function (weight 12, full level). */ if (update_arg((void *)&(args_info->tau_flag), 0, &(args_info->tau_given), &(local_args_info.tau_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "tau", 't', additional_error)) goto failure; break; case 'q': /* twist by fundamental quadratic characters, start <= discriminant <= finish. Use with start and finish options.. */ if (update_arg((void *)&(args_info->twist_quadratic_flag), 0, &(args_info->twist_quadratic_given), &(local_args_info.twist_quadratic_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "twist-quadratic", 'q', additional_error)) goto failure; break; case 's': /* Used with various twisting options. */ if (update_arg( (void *)&(args_info->start_arg), &(args_info->start_orig), &(args_info->start_given), &(local_args_info.start_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "start", 's', additional_error)) goto failure; break; case 'f': /* Used with various twisting options. Default has finish=start. */ if (update_arg( (void *)&(args_info->finish_arg), &(args_info->finish_orig), &(args_info->finish_given), &(local_args_info.finish_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "finish", 'f', additional_error)) goto failure; break; case 'p': /* twist by all primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate characters are considered equivalent. */ if (update_arg((void *)&(args_info->twist_primitive_flag), 0, &(args_info->twist_primitive_given), &(local_args_info.twist_primitive_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "twist-primitive", 'p', additional_error)) goto failure; break; case 'A': /* twist by all Dirichlet characters with start <= conductor <= finish.. */ if (update_arg((void *)&(args_info->twist_all_flag), 0, &(args_info->twist_all_given), &(local_args_info.twist_all_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "twist-all", 'A', additional_error)) goto failure; break; case 'a': /* twist by all Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent. */ if (update_arg((void *)&(args_info->twist_all_no_conj_pairs_flag), 0, &(args_info->twist_all_no_conj_pairs_given), &(local_args_info.twist_all_no_conj_pairs_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "twist-all-no-conj-pairs", 'a', additional_error)) goto failure; break; case 'c': /* twist by all complex primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent. */ if (update_arg((void *)&(args_info->twist_complex_no_conj_pairs_flag), 0, &(args_info->twist_complex_no_conj_pairs_given), &(local_args_info.twist_complex_no_conj_pairs_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "twist-complex-no-conj-pairs", 'c', additional_error)) goto failure; break; case 'g': /* twist by a generic complex Dirichlet characters with start <= conductor <= finish.. */ if (update_arg((void *)&(args_info->twist_generic_flag), 0, &(args_info->twist_generic_given), &(local_args_info.twist_generic_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "twist-generic", 'g', additional_error)) goto failure; break; case 'D': /* can only be used in conjuction with twist-primitive (?). Select characters of specified degree. Not yet implemented. */ if (update_arg( (void *)&(args_info->degree_arg), &(args_info->degree_orig), &(args_info->degree_given), &(local_args_info.degree_given), optarg, 0, 0, ARG_INT, check_ambiguity, override, 0, 0, "degree", 'D', additional_error)) goto failure; break; case 'O': /* whether to use openmp parallelization (beta- very little parallelization currently implemented) . Specify the number of threads to use.. */ if (update_arg( (void *)&(args_info->openmp_arg), &(args_info->openmp_orig), &(args_info->openmp_given), &(local_args_info.openmp_given), optarg, 0, 0, ARG_INT, check_ambiguity, override, 0, 0, "openmp", 'O', additional_error)) goto failure; break; case 0: /* Long option with no short option */ /* compute L-function at points specified in file. */ if (strcmp (long_options[option_index].name, "value-file") == 0) { if (update_arg( (void *)&(args_info->value_file_arg), &(args_info->value_file_orig), &(args_info->value_file_given), &(local_args_info.value_file_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "value-file", '-', additional_error)) goto failure; } /* compute L-function along a line segment connecting (x,y) to (X,Y) at number-sample points. */ else if (strcmp (long_options[option_index].name, "value-line-segment") == 0) { if (update_arg((void *)&(args_info->value_line_segment_flag), 0, &(args_info->value_line_segment_given), &(local_args_info.value_line_segment_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "value-line-segment", '-', additional_error)) goto failure; } /* compute values of the L-function using specified number of terms of the Dirichlet series rather than an approximate functional equation.. */ else if (strcmp (long_options[option_index].name, "use-dirichlet-series") == 0) { if (update_arg( (void *)&(args_info->use_dirichlet_series_arg), &(args_info->use_dirichlet_series_orig), &(args_info->use_dirichlet_series_given), &(local_args_info.use_dirichlet_series_given), optarg, 0, 0, ARG_INT, check_ambiguity, override, 0, 0, "use-dirichlet-series", '-', additional_error)) goto failure; } /* compute the Hardy Z function, i.e. the L-function rotated to be real on the critical line. */ else if (strcmp (long_options[option_index].name, "hardy") == 0) { if (update_arg((void *)&(args_info->hardy_flag), 0, &(args_info->hardy_given), &(local_args_info.hardy_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "hardy", '-', additional_error)) goto failure; } /* test the explicit formula (beta-still in development). */ else if (strcmp (long_options[option_index].name, "explicit") == 0) { if (update_arg((void *)&(args_info->explicit_flag), 0, &(args_info->explicit_given), &(local_args_info.explicit_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "explicit", '-', additional_error)) goto failure; } /* Used with zeros-interval. */ else if (strcmp (long_options[option_index].name, "stepsize") == 0) { if (update_arg( (void *)&(args_info->stepsize_arg), &(args_info->stepsize_orig), &(args_info->stepsize_given), &(local_args_info.stepsize_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "stepsize", '-', additional_error)) goto failure; } /* Used with the elliptic-curve option. */ else if (strcmp (long_options[option_index].name, "a1") == 0) { if (update_arg( (void *)&(args_info->a1_arg), &(args_info->a1_orig), &(args_info->a1_given), &(local_args_info.a1_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "a1", '-', additional_error)) goto failure; } /* Used with the elliptic-curve option. */ else if (strcmp (long_options[option_index].name, "a2") == 0) { if (update_arg( (void *)&(args_info->a2_arg), &(args_info->a2_orig), &(args_info->a2_given), &(local_args_info.a2_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "a2", '-', additional_error)) goto failure; } /* Used with the elliptic-curve option. */ else if (strcmp (long_options[option_index].name, "a3") == 0) { if (update_arg( (void *)&(args_info->a3_arg), &(args_info->a3_orig), &(args_info->a3_given), &(local_args_info.a3_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "a3", '-', additional_error)) goto failure; } /* Used with the elliptic-curve option. */ else if (strcmp (long_options[option_index].name, "a4") == 0) { if (update_arg( (void *)&(args_info->a4_arg), &(args_info->a4_orig), &(args_info->a4_given), &(local_args_info.a4_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "a4", '-', additional_error)) goto failure; } /* Used with the elliptic-curve option. */ else if (strcmp (long_options[option_index].name, "a6") == 0) { if (update_arg( (void *)&(args_info->a6_arg), &(args_info->a6_orig), &(args_info->a6_given), &(local_args_info.a6_given), optarg, 0, 0, ARG_STRING, check_ambiguity, override, 0, 0, "a6", '-', additional_error)) goto failure; } /* verbosity > 0 outputs extra info. */ else if (strcmp (long_options[option_index].name, "verbose") == 0) { if (update_arg( (void *)&(args_info->verbose_arg), &(args_info->verbose_orig), &(args_info->verbose_given), &(local_args_info.verbose_given), optarg, 0, "0", ARG_INT, check_ambiguity, override, 0, 0, "verbose", '-', additional_error)) goto failure; } /* verify if specified rank is correct. */ else if (strcmp (long_options[option_index].name, "rank-verify") == 0) { if (update_arg( (void *)&(args_info->rank_verify_arg), &(args_info->rank_verify_orig), &(args_info->rank_verify_given), &(local_args_info.rank_verify_given), optarg, 0, 0, ARG_INT, check_ambiguity, override, 0, 0, "rank-verify", '-', additional_error)) goto failure; } /* twist by fundamental quadratic characters, even functional eqn, start <= discriminant <= finish. */ else if (strcmp (long_options[option_index].name, "twist-quadratic-even") == 0) { if (update_arg((void *)&(args_info->twist_quadratic_even_flag), 0, &(args_info->twist_quadratic_even_given), &(local_args_info.twist_quadratic_even_given), optarg, 0, 0, ARG_FLAG, check_ambiguity, override, 1, 0, "twist-quadratic-even", '-', additional_error)) goto failure; } break; case '?': /* Invalid option. */ /* `getopt_long' already printed an error message. */ goto failure; default: /* bug: option not considered. */ fprintf (stderr, "%s: option unknown: %c%s\n", CMDLINE_PARSER_PACKAGE, c, (additional_error ? additional_error : "")); abort (); } /* switch */ } /* while */ cmdline_parser_release (&local_args_info); if ( error ) return (EXIT_FAILURE); return 0; failure: cmdline_parser_release (&local_args_info); return (EXIT_FAILURE); } lcalc-1.23+dfsg.orig/src/Lcommandline_numbertheory.cc0000644000175000017500000005507011146437661021372 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "Lcommandline_numbertheory.h" using namespace std; bool isprime(long long N) { long long a; double maxrand,b; // From http://www.utm.edu/research/primes/prove/prove2_3.html // If n < 1,373,653 is a both 2 and 3-SPRP, then n is prime. // If n < 25,326,001 is a 2, 3 and 5-SPRP, then n is prime. // If n < 25,000,000,000 is a 2, 3, 5 and 7-SPRP, then either n = 3,215,031,751 or n is prime. (This is actually true for n < 118,670,087,467.) // If n < 2,152,302,898,747 is a 2, 3, 5, 7 and 11-SPRP, then n is prime. // If n < 3,474,749,660,383 is a 2, 3, 5, 7, 11 and 13-SPRP, then n is prime. // If n < 341,550,071,728,321 is a 2, 3, 5, 7, 11, 13 and 17-SPRP, then n is prime. if(N==2 || N==3 || N==5 || N==7 || N==11 || N== 13 || N== 17) return true; if(!N%2 || !N%3 || !N%5 || !N%7 || !N%11 || !N%13 || !N%17) return false; if(N<1373653) { if(RM(2,N) && RM(3,N)) return true; else return false; } if(N<25326001) { if(RM(2,N) && RM(3,N) && RM(5,N)) return true; else return false; } if(Nstrtoll("341550071728321",0,10)) { srand((unsigned int)time((time_t *)NULL)); for (int i=1;i<=20;i++) { b=(rand())/(maxrand+1); a=(long long)(N*b+1); if(!RM(a,N) && !(a==N)) return false; } } return true; } bool RM(long long a, long long N) { long long q,t,b,e; //factoring N-1 to (2^t)*q q=N-1; t=0; while(!(q&1)) { q >>= 1; t++; } // Set b=a^q Mod N b=1; while(q>0) { if (1 & q) b=multmodN(b,a,N); a=multmodN(a,a,N); q >>= 1; } e=0; if(b==1) return true; while(b!=1 && b!=(N-1) && e<=(t-2)) { b=multmodN(b,b,N); e++; } if(b==(N-1)) return true; else return false; } long long multmodN(long long a, long long b, long long N) { long long s; if((a<1073741823) && (b<1073741823)) return (a*b)%N; s=0; while(a > 0) { if(a & 1) s=(s+b)%N; b=(2*b)%N; a>>=1; } return s; } long long nextprime(long long n) { long long m=n; do{ m++; }while(!isprime(m)); return m; } //assumes n is positive bool issquarefree(long long n) { long long i=1; for(i=2;(i*i)<=n&&n%(i*i)!=0;i++); if(n%(i*i)==0) return false; else return true; } // checks if n is a fundamental discriminant bool isfunddiscriminant(long long n) { long long m=n; if(n<0) m=-n; if(m%2==1) { if((n<-2&&m%4==3)||(n>2&&m%4==1) ) return(issquarefree(m)); else return false; } else if(m%8==4) { if((n<-2&&(m/4)%4==1)||(n>2&&(m/4)%4==3) ) return(issquarefree(m/4)); else return false; } else if(m%16==8) return(issquarefree(m/8)); else return false; } long long nextfunddiscriminant(long long n) { long long m=n; do{ m++; }while(!isfunddiscriminant(m)); return m; } //=================== Kronecker routines ========================= //takes any integers n and m and computes the kronecker symbol (n|m). //integer airthmetic such as n%4 is much faster than long long arithmetic. //so one should use my_kronecker(int n,int m) rather than //my_kronecker(long long n,long long m) whenever possible //XXX below I think we should replace the %2 %4 and %8 operations //with something that looks just at the last 1,2,3 bits. Should be much faster int my_kronecker(int n,int m) { int i,p,s,t; if(n%2==0&&m%2==0) return(0); if(m==0) return(0); s=1; //if m is negative if(m<0){ m=-m; if(n<0) s = -s; } //if m is even p=0; while(m%2==0){ m=m/2; p=1-p; } if(p==1){ //i.e. m divisable by an odd power of 2 t=n%8; if(t<0)t=t+8; //is this step needed? yes! t might be negative if(t==3||t==5) s=-s; } //if n is negative if(n<0){ n=-n; if(m%4==3)s=-s; } if(m==1) return(s); n=n%m; if(n==0)return(0); else{ p=0; while(n%2 == 0){ //if n is even n = n/2; p = 1-p; } if(p==1){ t = m%8; if(t==3) s = -s; if(t==5) s = -s; } if(n!=1){ if(m%4==3){ if(n%4==3)s = -s; //uses quadratic reciprocity } i=n; n = m%n; //so n -> smaller than n if(n==0)return(0); m=i; // m -> previous n, so we now have n < m //at this point n and m are both positive and m is odd and n < m //so we can call a simplified routine do{ p=0; while(n%2 == 0){ //if n is even n = n/2; p = 1-p; } if(p==1){ t = m%8; if(t==3) s = -s; if(t==5) s = -s; } if(n!=1){ if(m%4==3){ if(n%4==3)s = -s; //uses quadratic reciprocity } i=n; n = m%n; if(n==0)return(0); m=i; } else m=n; }while(m!=1); } } return(s); } //takes any integers n and m and computes the kronecker symbol (n|m) int my_kronecker(long long n,long long m) { long long i; int p,s,t; if(n%2==0&&m%2==0) return(0); if(m==0) return(0); s=1; //if m is negative if(m<0){ m=-m; if(n<0) s = -s; } //if m is even p=0; while(m%2==0){ m=m/2; p=1-p; } if(p==1){ //i.e. m divisable by an odd power of 2 t=n%8; if(t<0)t=t+8; //is this step needed? yes! t might be negative if(t==3||t==5) s=-s; } //if n is negative if(n<0){ n=-n; if(m%4==3)s=-s; } if(m==1) return(s); n=n%m; if(n==0)return(0); else{ p=0; while(n%2 == 0){ //if n is even n = n/2; p = 1-p; } if(p==1){ t = m%8; if(t==3) s = -s; if(t==5) s = -s; } if(n!=1){ if(m%4==3){ if(n%4==3)s = -s; //uses quadratic reciprocity } i=n; n = m%n; //so n -> smaller than n if(n==0)return(0); m=i; // m -> previous n, so we now have n < m //at this point n and m are both positive and m is odd and n < m //so we can call a simplified routine if(m < INT_MAX) //faster to use ints if longs aren't needed { //s=s*simplified_jacobi(int(n),int(m)); int nn,mm,ii; nn=Int(n); mm=Int(m); do{ p=0; while(nn%2 == 0){ //if n is even nn = nn/2; p = 1-p; } if(p==1){ t = mm%8; if(t==3) s = -s; if(t==5) s = -s; } if(nn!=1){ if(mm%4==3){ if(nn%4==3)s = -s; //uses quadratic reciprocity } ii=nn; nn = mm%nn; if(nn==0)return(0); mm=ii; } else mm=nn; }while(mm!=1); } else s=s*simplified_jacobi(n,m); } } return(s); } //assumes n and m are positive and m is odd and n < m int simplified_jacobi(int n,int m) { int p,s,t,i; s=1; do{ p=0; while(n%2 == 0){ //if n is even n = n/2; p = 1-p; } if(p==1){ t = m%8; if(t==3) s = -s; if(t==5) s = -s; } if(n!=1){ if(m%4==3){ if(n%4==3)s = -s; //uses quadratic reciprocity } i=n; n = m%n; if(n==0)return(0); m=i; } else m=n; }while(m!=1); return(s); } //assumes n and m are positive and m is odd and n < m int simplified_jacobi(long long n,long long m) { long long i; int p,s,t; s=1; p=0; while(n%2 == 0){ //if n is even n = n/2; p = 1-p; } if(p==1){ t = m%8; if(t==3) s = -s; if(t==5) s = -s; } if(n!=1){ if(m%4==3){ if(n%4==3)s = -s; //uses quadratic reciprocity } i=n; n = m%n; if(n==0)return(0); m=i; //at this point n and m are both positive and m is odd //so we can call a simplified routine if(m < INT_MAX) s=s*simplified_jacobi(Int(n),Int(m)); else s=s*simplified_jacobi(n,m); } return(s); } //===================end Kronecker routines ====================== //d a fund. discriminant //returns L(1,chi_d) where chi_d(n) is (d|n), Kronecker's symbol //can be used to check L-function computation of L(1,chi), //and as alternative method (though less efficient) for computing //the class number of Q(srt(d)). Double L_1_chi(long long d) { long long j=0; Double L=0; if(isfunddiscriminant(d)) { if(d<0){ for(j=1;j<=-d;j++) L=L+j*my_kronecker(d,j); L=-L*Pi*exp(-((Double)3)/2*log(Double(-d))); } else{ for(j=1;j<=d-1;j++){ L=L+my_kronecker(d,j)*log(sin(j*Pi/d)); } L=-L*exp(-log(Double(d))/2); } return L; } else return 0; } //returns the class number of the quadratic field q(sqrt(D)) //as described by (15) and (16) of Davenport. int class_number(long long d) { int h,w=2; long long t,u; double x; double epsilon; if(isfunddiscriminant(d)){ if(d<0){ if(d==-4)w=4; if(d==-3)w=6; h=Int(w*exp(log(Double(-d))/2)*L_1_chi(d)/(2*Pi)+.000001); } else{ u=0; do{ //xxx here I should replace with //a continued fraction algorithm u++; x=sqrt(4+1.*d*u*u)+.000001; t=(long long)x; }while(x-t>.00001); cout << "t = " << t << " u = " << u << endl; epsilon=(t+u*sqrt(1.*d))/2; h=Int(exp(log(Double(d))/2)*L_1_chi(d)/log(epsilon)+.000001); } return h; } else return 0; } //returns co[n]=tau(n)/n^(11/2), n=0...N. //these are the (normalized) coefficients of the weight 12 modular form void ramanujan_tau(Double *c0, int N_terms) { Double *c; Double *c1; Double x=(-1+sqrt(1+8.*N_terms))/2+.0000001; int i=Int(x); int k,m,n; c= new Double[i+2]; c1= new Double[N_terms+2]; for(i=0;i<=N_terms;i++)c0[i]=0; c0[0]=1; for(n=0;n<=x;n++){c[n]=(2*n+1);if(n%2==1)c[n]=-c[n];} for(k=1;k<=8;k++){ for(m=0;m<=N_terms;m++){ c1[m]=0; x=(-1+sqrt(1+8.*m))/2+.00000001; for(n=0;n<=x;n++){ c1[m]=c1[m]+c[n]*c0[m-(n*(n+1))/2]; } } for(m=0;m<=N_terms;m++)c0[m]=c1[m]; } c0[0]=0; c0[1]=1; for(n=0;n<=N_terms-1;n++){ x=1./(Double)(n+1); x=x*x*x; c0[n+1]=c1[n]*x*x*sqrt((Double)(n+1)); //i.e. divided by (n+1)^5.5 } delete [] c; delete [] c1; } long long gcd(long long a,long long b) { long long r; if(a>b){r=a;a=b;b=r;} if(a==0)return b; do{ r=(b%a);b=a;a=r; }while(r>0); return b; } //computes a^k mod q using binary expansion of k long long power_mod_q(long long a, long long k,long long q) { long long r,m; if(k==0) return 1; //cout << a <<"^"<0); //cout << " = " << r << endl; return(r); } //returns a primitive root for the cyclic //group of (Z/p^alpha Z). Assumes p is an odd prime. //first find a generator r mod p, then checks if r or r+p //is a generator mod p^alpha. //algorithm is from Henri Cohen's book int prim_root(long long p, int alpha) { int a,j,k; long long **factors; bool is_primitive; //is 'a' a primitive root or not factors = new long long *[30]; for(k=0;k<=29;k++) factors[k]= new long long[3]; for(k=0;k<=29;k++) for(j=0;j<=2;j++)factors[k][j]=0; factor(p-1,factors); //find a generator mod p a=1; do{ is_primitive=true; a++; if(factors[0][1]>0){ if(my_kronecker((long long)a,p)!=-1) is_primitive=false; //cout << 2 << " there " << my_kronecker(a,p)<< " " << is_primitive << endl; } k=1; if(is_primitive&&factors[0][2]>0) do{ if(power_mod_q(a,(p-1)/factors[k][0],p)==1) is_primitive=false; //cout << (p-1)/factors[k][0] << " here " << is_primitive << endl; k++; }while(k<=factors[0][2]&&is_primitive); }while(!is_primitive&&aq){ k++; factors[k][0]=Q; factors[k][1]=1; } factors[0][2]=k; for(m=1;m<=k;m++)factors[m][2]=prim_root(factors[m][0],factors[m][1]); } //characters are implemented as described in Davenport, especially //(1) of Chapter 4, pg 29. int characters() { long long q; //conductor long long q_1; //conductor of the inducing character chi_1 int n; //as in chi[n] int K; //number of distinct odd primes dividing q int j,k; //loop variables int loop1,loop2; //looping bounds int a,b; //various ints Complex u,w,z; //used to generate the character Complex *chi; //the character Complex *chi_1; //the primitive character inducing chi Complex *sum; //to check that sum over chi is zero Complex SUM; //to check that sum over n is zero Double total=0; //sum of abs(SUM) over all chi long long **factors; //stores the factors of q int *m, *v; //as in (1) chapter 4 of Davenport int m_prime, v_prime; int *phi; //stores the values of phi(p^alpha) int *power_p;// stores p_j^alpha_j int PHI; //is set to phi(q/2^alpha_0) int M; //for looping 0..PHI-1 int dial; //for creating an "analog dial" looping through the m[j]'s int r; //generator for the cyclic group of (Z/p^alpha Z) bool is_primitive; //for storing whether chi is primitive or not factors = new long long *[30]; for(k=0;k<=29;k++) factors[k]= new long long[3]; for(k=0;k<=29;k++) for(j=0;j<=2;j++)factors[k][j]=0; cin >> q; factor(q,factors); K=factors[0][2]; for(k=0;k<=K;k++) cout << q <<" " << factors[k][0] << " " << factors[k][1] <<" " << factors[k][2] << endl; m = new int [K+1]; v = new int [K+1]; phi = new int [K+1]; power_p = new int [K+1]; chi = new Complex[q+1]; chi_1 = new Complex[q+1]; sum = new Complex[q+1]; for(n=0;n<=q;n++)sum[n]=0; PHI=1; //shortcut for evaluating phi(p_j^alpha_j) for(j=1;j<=K;j++){ phi[j]=(factors[j][0]-1); //(p-1) power_p[j]=power_mod_q(factors[j][0],factors[j][1],q+1);//p^alpha if(factors[j][1]>1) phi[j]=phi[j]*power_p[j]/factors[j][0]; PHI=PHI*phi[j]; } if(factors[0][1]>2) loop1=power_mod_q(2,factors[0][1]-2,q); //shortcut for evaluating 2^(alpha_0-2) (1) is_primitive=false; // m[j]'s,m_prime are set. now compute chi(n) for(n=1;n<=q-1;n++){ chi[n]=1; chi_1[n]=1; } chi[0]=0; chi_1[0]=0; chi[q]=0; chi_1[q]=0; q_1=q; for(k=1;k<=K;k++) { b=power_mod_q(factors[k][0],factors[k][1],q+1);//=p^alpha //q+1 is needed so that p2){ if(m_prime%2==0){ is_primitive=false; if(m[0]==0&&m_prime==0)q_1=q_1/(4*loop1); //strip powers of 2 else q_1=q_1/gcd(m_prime,loop1); } n=1; if(m[0]==0) w=1.; else w=-1.; z=exp(2.*m_prime*I*Pi/(1.*loop1)); u=1.; b=4*loop1;//=2^alpha_0 for(v[0]=1;v[0]<=2;v[0]++){ n=(-n)%b; if(n<0)n=n+b; u=u*w; for(v_prime=1;v_prime<=loop1;v_prime++){ n=(5*n)%b; u=u*z; a=n; do{ chi[a]=chi[a]*u; if(m[0]!=0||m_prime!=0)chi_1[a]=chi_1[a]*u; a=a+b; }while(a1)chi[n]=0; if(gcd(n,q_1)>1)chi_1[n]=0; } cout << "inducing q_1 = " << q_1 << endl; cout << "M = " << M << " ;" ; cout << m_prime << " "; for(n=0;n<=K;n++) cout << m[n] << " "; if(is_primitive) cout << "is primitive" << endl; else cout << "NOT primitive" << endl; //end compute chi(n) // check that sum over characters is 0; SUM=0; for(n=0;n<=q;n++){ sum[n]=sum[n]+chi[n]; SUM=SUM+chi[n]; cout << q << " " << n << " " << chi[n] << " " << chi_1[n] << endl; } cout <<"SUM over n = " << abs(SUM) <1) do{ dial++; m[dial]=(m[dial]+1)%phi[dial]; }while(m[dial]==0&&dial   Ò Æ €  ~ S . - !  Û Ô Ó È ¶ € û ú  < þýŽ-¼»P<;:ü¾½‘KÉÄŠrTNMLKêé¼»¢“Ž#¶\GÍ㘒‘l0+   ÿ#NOTES:endif LDFLAGS = $(LDFLAGS2)else LDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpariifeq ($(PARI_DEFINE),-DINCLUDE_PARI)endif #endif # LDFLAGS2 = $(LDFLAGS1) #else LDFLAGS2 = $(LDFLAGS1) -Xlinker -rpath -Xlinker $(LOCATION_PARI_LIBRARY) #ifeq ($(PARI_DEFINE),-DINCLUDE_PARI) #see notes below #You need to use this flag if you are linking a shared library that will be dlopened' #'Libtool provides the `-export-dynamic' link flag (see section Link mode), which does this declaration. LDFLAGS1 = -Xlinker -export-dynamic #not sure why pari calls these when linking but on the web I foundelse LDFLAGS2 =ifeq ($(OS_NAME),Darwin)#For Mac os x we omit shared library optionsINCLUDEFILES= -I../include#INCLUDEFILES= -I../include -I../../packages/gcc4.3/usr/local/includeendif LOCATION_PARI_LIBRARY = . LOCATION_PARI_H = . #supplied as a dummy so as to avoid more ifeq's belowelse LOCATION_PARI_LIBRARY = /usr/local/lib #usual location #On mac os x it's the former, on linux I think usually the latter. #depending on whether static or dynamic libraries are being used. #location of libpari.a or of libpari.so LOCATION_PARI_H = /usr/local/include/pari #usual location #location of pari.h.ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)#by a factor of 1.5#warning- O2 doesn't help with -DUSE_LONG_DOUBLE on mac, and actually seems to hurt, making runtime longer#CCFLAGS = -Wa,-W -O2 -fno-exceptions -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)#CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)endif #MACHINE_SPECIFIC_FLAGS = -mpowerpc -mpowerpc64 -m64 MACHINE_SPECIFIC_FLAGS = -ffast-math -mpowerpc -mpowerpc64 -m64 #MACHINE_SPECIFIC_FLAGS = -ffast-math -mpowerpc -mpowerpc64 -ftree-vectorize -ftree-vectorizer-verbose=5 -funroll-loops #MACHINE_SPECIFIC_FLAGS = -ffast-math -maltivec -mpowerpc -mpowerpc64 -ftree-vectorize -ftree-vectorizer-verbose=5 -funroll-loops #MACHINE_SPECIFIC_FLAGS = -fast -mcpu=G5 -mtune=G5ifeq ($(G5),TRUE)#G5 = TRUE#endif#MACHINE_SPECIFIC_FLAGS = -fast -mcpu=G4 -mtune=G4#ifeq ($(G4),TRUE)#G4 = FALSEMACHINE_SPECIFIC_FLAGS = -ffast-math#MACHINE_SPECIFIC_FLAGS = -Wno-long-double#EXTRA = -ftree-vectorize -ftree-vectorizer-verbose=5 -funroll-loops#EXTRA= -pg#CC = /Users/michaelrubinstein/math/L/packages/gcc4.3/usr/local/bin/g++#LD = /home/mrubinst/local/bin/g++#CC = /home/mrubinst/local/bin/g++#cc = /home/mrubinst/local/bin/gccCC = g++OS_NAME := $(shell uname)endif GMP_FLAGS=else GMP_FLAGS= gmpfrxx.o mpfr_mul_d.o -lmpfr -lgmp -lgmpxx -lm #GMP_FLAGS= -L/usr/local/lib -lmpfrcpp -lgmp -lmpfrifeq ($(PREPROCESSOR_DEFINE),-DUSE_MPFR)#PREPROCESSOR_DEFINE = -DUSE_MPFR#OPENMP_FLAG = -fopenmp#PREPROCESSOR_DEFINE = -DUSE_LONG_DOUBLE#PARI_DEFINE = -DINCLUDE_PARI# g++ with -DINCLUDE_PARI sends a #define INCLUDE_PARI to the preprocessor.# elliptic curve routines. Doing so disables the -e option.# Comment out the following line to remove the use of pari's#compilers, optimization options depending on the chip, etc#the c compiler, that will generate options which are specific to the#the location of all the relevant files,#the operating system, whether gmp, or pari are installed and#todo: set up a configuration file that will detect## Makefile for the L-function calculator version 0.2#da  Íf   òÒ»º³zypN# ù Å Ä Ã Ä ¼  ~ makedepend -f depends -- $(CCFLAGS) -Y../include -- $(SRCS)depend:SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c cp -rf ../include $(INSTALL_DIR)/include/Lfunction ranlib $(INSTALL_DIR)/lib/libLfunction.a cp -f libLfunction.a $(INSTALL_DIR)/lib/. cp -f lcalc $(INSTALL_DIR)/bin/.install: rm -f *.o lcalc libLfunction.a example_programs/exampleclean: ranlib libLfunction.a ar ruv libLfunction.a $(OBJ_L)libLfunction.a: $(OBJ_L) $(CC) $(CCFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline.ccLcommandline.o: ../include/Lcommandline_values_zeros.hLcommandline.o: ../include/Lcommandline_twist.hLcommandline.o: ../include/Lcommandline_elliptic.hlcalc-1.23+dfsg.orig/src/Lgamma.cc0000644000175000017500000001014411064076122015342 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "Lgamma.h" //temme's uniform asymptotics coded by Kyle Wichert //based on Temmes paper: The asymptotic expansion of the incomplete //gamma functions, SIAM J. Math Anal, vol 10, number 4, July 1978 Complex Q(Complex z, Complex w) { if(my_verbose==2) cout << "entering temme Q z= " << z << " " << " w= " << w << endl; Complex b=1.,sum=.5,eta,c[501],X,r=0.,R,v; int k=0,n=2; eta=(w-z); eta=eta/z; //cout << eta<< endl; do{ //b=b*(-1)*( ((Double) n)/((Double)(n+1)))*eta; b=-b*eta; v=b/(n+1); sum=sum+v; n++; }while(abs(v)>tolerance); //cout << "my eta = " << exp(log(2*(eta-log(1+eta)))/2) << endl; eta=eta*sqrt(2*sum); //cout << "eta ratio = " <= tolerance) { n++; tmp=tmp*eta; c[0]+=(n+2)*temme_a[n+2]*tmp; } r=c[0]; do { k++; // (3.9) n=0; c[k]=0; tmp=1.; do { X= n==0? -temme_g[k]/3:(Double)0; for (int i= n==0? 1:0;i<=k;i++){ X+=temme_g[k-i]*dfac(n+2*i)/dfac(n)*(n+2*i+2)*temme_a[n+2*i+2]; } c[k]+=X*tmp; n++; tmp=tmp*eta; } while(my_norm(X*tmp/c[k]) >= my_norm(tolerance*eta)); // End (3.9) //tmp=1.; //for(int i=1;i<=k;i++) tmp=tmp/z; //r+=c[k]*tmp; tmp2=c[k]*pow(1./z,k); r+=tmp2; } while(my_norm(tmp2/r) >= tolerance_sqrd); R=1.0/sqrt(2*Pi*z) * exp(-.5*z*eta*eta) * r; //erfc depends on eta*sqrt(z/2) so eta*=sqrt(z/2) eta=eta*sqrt(z/2); //cout < 64) { if(abs(z) > 70) n=10; else if(abs(z) > 14) n=20; else n=30; x=2*z; for (int i=n;i>0;i-=2) x=2*z+i/x; x=2*exp((-1)*z*z)/(sqrt(Pi)*x); return x; } else { if(abs(z) < 1.4) n=20; else if(abs(z) < 4.2) n=55; else n=125; x=2*n+1; for (int i=2*n-1;i>0;i-=2) x=i+(1-2*(((i+1)/2)%2))*(i+1)*z*z/x; x=1-2*z*exp(-z*z)/(sqrt(Pi)*x); return x; } } Complex erfc2(Complex z) { //if(my_verbose==2) cout << "entering erfc2\n"; Complex x; int n; if(real(z)<0) return (2-erfc2(-z)); //inc_GAMMA requires two variables to be of same type if(my_norm(z) > .5) return (cfrac_GAMMA(.5+0*I,z*z)*z/sqrt(Pi)); else return ((GAMMA(.5,z*z)-comp_inc_GAMMA(.5+0*I,z*z))*z/sqrt(Pi)); } lcalc-1.23+dfsg.orig/src/example_data_files/0000755000175000017500000000000011043506042017437 5ustar tobitobilcalc-1.23+dfsg.orig/src/example_data_files/data_tau0000644000175000017500000162112110336020615021151 0ustar tobitobi2 2 20000 0 1 1 5.5 0 .1591549430918953357688837633725143620344 1 0 0 1 -0.5303300858899107 0.5987336124929453 -0.71875 0.6912133332047349 -0.3175264481385601 -0.3765476965589636 0.911504835123284 -0.6415180612711476 -0.3665712263667185 1.000872909497037 -0.4303397839793044 -0.4315613032925095 0.1996945722577632 0.4138526559929608 0.2353515625 -1.179650499416253 0.3402163285338567 0.9878027871269625 -0.4968095832409032 -0.2254517626366456 -0.5307930160584486 0.6039751046808207 0.5457485827381502 -0.522224128 0.2288699430418783 -0.9828320387972901 0.2706436569017551 1.162514717338632 -0.2194785145985146 -0.3315122110568912 -1.036318849478234 0.5992562527494858 0.6256041506754977 -0.2602747884490863 0.4610911065386374 -0.4319869472570347 -0.5238615369393351 -0.2583902581324878 0.6300442953177975 0.4153452998335415 0.119563852643124 -0.01776527886859975 -0.7193774037009956 -0.4434258374422694 -0.3203061691407475 1.709172005305176 0.1409128912214842 -0.8582118322161387 0.2769511666560237 -0.7062964049946003 0.3101846867414912 -0.5242407305685585 0.5212253995507228 0.6918166998877683 -0.3432250460680304 0.5914307311671261 -0.6165165298944821 -0.9449626830605435 -0.2974565964949406 1.05456988403534 0.1758108993633553 0.2415621482726227 0.314239501953125 -0.298300926930995 -0.3178036199907008 -1.400911795679086 0.847873796455432 0.3616201962813526 0.1380315509131823 0.6440619714364049 -0.5847468146675662 0.08264249829148113 0.2290956748421435 -0.3126731386884182 -0.7099832532475043 -0.3768763886193774 0.1370321277885184 1.393695673240482 0.1626781379905675 0.0530634842082397 -0.2202701085346928 -0.8174440932727971 0.162043454395089 -0.8153901537181387 0.009421461868242718 0.6960366362883745 0.9123004963504585 -0.4744297476367122 0.2351620624565643 0.1625034146787787 -0.4341071064893399 -0.1984875037116161 -0.9064253363741249 0.682782457038955 -0.6204789284426355 0.8869421366421695 0.4551355546909224 -0.6420780484793523 0.375348592 0.7738963517671897 0.3745702331245215 -1.918814048239093 -0.3933702146032284 -0.1558352643289586 0.2780206316694132 0.6220057011843813 0.7064105278855523 0.457445359887758 -0.3668912098715547 -0.2586451054810038 -0.08862108874092794 -0.4347476180485794 -0.3136535104577946 0.4174756452791089 -0.835557453087142 0.2768543706078604 0.5011421408702584 0.4441946782998211 0.3772286969661969 0.001746580965064762 -0.5592701371773748 0.2486811918013018 0.2382744016971405 -1.052181613399551 -0.1281076748411713 -0.7056153879520308 0.8696681874174301 -0.01063666959394131 0.1581979562003546 1.430213941247408 -0.4307154316636929 -0.3719548641471819 0.7429456729266787 -0.6793466095174804 -1.075257133973512 -0.5261188396158165 -0.1917780697534161 0.975534739786882 0.1870725041977808 1.02333872910818 -0.3415654406302938 -0.4319380172527074 -0.1509822780921354 0.8035456726711965 -0.04382780321707798 -0.5138402705869581 0.3104906183409937 -1.244283248554031 0.1658199724960968 -0.8546527390422803 0.9003870166144823 0.7567671013630559 0.1998688875463938 -0.2291456604027053 0.1857179980327256 1.100312945026521 -0.7391187460940216 -0.3138805464292538 -0.7163174062107458 -0.227425434446522 -0.02814116213777368 -0.2435837282870992 -0.298529434255358 0.4142139119067512 0.4335151961955627 1.64117474808569 -0.2055003717303694 -0.8137548415004707 0.4324259302551279 -0.6336933289159252 0.01276879418680607 -0.4662803624162555 -0.3691291691053381 0.1966422924859133 0.2355570031140488 -0.5657809208998653 0.2516043688129062 0.6838727486079987 0.3187123206616311 -0.3813860077011191 -0.08618044986400047 0.6314064362947452 0.5505262282106598 -0.298595137714473 0.1052638948914554 -1.180680227540379 -1.228467378813096 0.3700831403134695 -0.3621000790855932 0.7863276952927915 0.1881457521923785 1.462932458144669 -0.4703720995048226 -0.1786027915913888 0.6168397544053497 -0.6906188935435831 0.3405133065980811 0.1654523311540962 -0.4760098176900407 -0.838772980210918 -0.4104205187025823 -0.4377422390297567 0.507650541089869 0.2870922091288623 1.017604819009405 -0.3874609382108786 -0.1015686270444285 0.9886650495610455 0.08264412911625352 -1.118198432391639 0.3767980250961514 0.3856215508274468 -0.329868336933127 -0.01227959762207647 -0.8958561554778048 0.1248301594546413 -0.2425970369992158 0.04948084154750054 -0.4972432530443335 0.509091506957738 0.1371672810047457 0.8906667937347339 0.3902234756716642 0.3350162101435756 0.2305597416201372 -0.1497426307329158 -0.4250908380263719 -1.240750252096574 -0.2213998948178157 -0.225648561621375 1.059637785756141 -1.675521000796077 -0.1468242021434638 1.181402478807212 0.6791919284497656 0.8344524451550611 -0.2355698018945854 -0.5922213428954166 0.09740086923271832 -0.01832714735025024 -0.0009262644332164785 1.014602930388752 -0.7579721041504004 -0.59320746114186 -0.1318831178071897 -0.4262974582084852 -0.3021749832807669 -0.4894312549762419 0.5580035654059687 0.8225671850988135 -0.1736227940709476 0.6045023202856709 0.3742090692978431 -0.4882014923268392 -0.7754507064819336 1.333141509461823 0.005640945899337496 0.1626636899331749 0.2144037912316527 -0.7457741876662557 -0.7584854823026858 -1.189542252434902 0.5462249718590171 -0.3623621827779787 0.197258855050345 -0.2840570366766451 1.006905353144343 1.118449607224896 0.360277945774425 -0.1565928751817076 -0.2776325882415205 0.09729625651306428 0.2790166494017561 -0.5226799824009133 -0.2599145160772222 -0.6049314649357153 -0.5173554223397687 0.2126710709249283 -0.237241728132032 0.7162632714237535 -0.542707316102413 0.5473102727183715 -0.462919541969916 0.4088048070497427 0.229069725788746 -0.1563973159289121 0.6648172591760227 0.3915753007730158 -0.4261444456041817 0.5310420695439776 -0.05939929564700205 -0.6473121788770236 0.2725049548340764 -0.6531708059123679 -0.3937581911349342 -0.9836899622179488 0.6598808420770363 -0.2606522833322849 0.2247338184323006 0.006689474836698866 0.4532480605023398 0.4633577583886807 0.2324809293921855 0.728932764641398 -0.4013363618645281 0.3204388204643646 0.2708799043201775 -1.148858466804404 0.121522837762667 0.9720803568472739 -0.235523969636516 -1.871740146803166 -0.5835290586416954 0.166970977683616 -1.001718765141596 1.462783132508914 0.1664602971469983 1.163529487475843 0.2172065335696153 0.372415720461332 0.1206105501835742 -1.165262051159088 -0.03813937927467228 0.2253717252904743 0.129179779543882 0.2738879128437328 0.3785892490440032 -0.6435847816207289 -0.2196700994783033 -0.8796178409834298 0.5875379420398229 0.2771274288987745 -0.8703643451126365 -0.9683289118171718 -0.05306042460491367 1.516442830241995 0.4315586749862753 -0.2602980118769291 0.5860616729849122 -0.3318015912143066 0.336066637551846 0.6997053851395983 -0.01619313758604217 0.2499567012257842 0.2472825046489915 -1.660998614460415 -0.5002763323322692 -0.2651119840937891 -0.1042853238636434 0.4241522755809927 -1.037223462043902 0.2418853840045439 0.3000506443756983 0.4451842220669702 0.3409963811138869 0.2659542843885936 -0.3626782935070493 1.394739397452384 -0.4041847948472199 -0.02424565374420488 0.2022604742213447 0.00104573673072464 -0.1167993293003722 0.05712359670842129 -0.3348538295916347 -1.394811673089603 0.1421464845977322 -0.2664515115072971 0.1583539850304262 0.197401639537979 0.1426628932927241 -0.3955845623273145 0.6261502464800083 -0.6299764983893688 1.557918546893027 -0.5016963665113835 -0.1962662235888501 0.9620831659328799 -0.4907498909967489 -0.4224756502591304 -0.4170132341822416 1.435037085667255 0.5206995755226297 -0.2605019847837629 -0.7758370961790002 0.0113967472577254 -0.6374896607115593 -0.8530931489493598 0.09471843380483901 -0.7124795338717141 -0.7822642346250229 0.8563171596808338 0.3662559771301635 0.9633410317735707 0.4614935973445345 1.059123444666676 -0.08774434899163776 -0.2227018794951649 -0.1229062645 -0.6425214358293547 0.4448265466373925 0.1430678418610934 -0.5562380028326677 0.03667818779103418 0.2321478792222926 -0.4323640327658915 -0.6437925881827713 -0.8907220028431034 -0.1522536359256337 -0.3150050334437743 1.379147597171848 0.3558235216406256 0.2054821926403606 -0.5650282564196125 0.4472351133074204 0.5840854388649652 -0.5243188206500621 0.277676886997816 0.112006596236439 0.6305634136418908 0.593014270692221 -1.096464711222296 -0.4778479606818038 0.6160419534024173 -0.2045067101713204 -0.3970958606939605 -0.447066597726274 -0.2586158094427535 0.00651224006160936 -0.2324626766230818 -0.2313110560060029 0.3153555881695594 -0.06620118918523119 0.4811098034014992 -0.3287888524193261 0.5966082917590136 -0.02624117894779102 -0.08497876969037334 0.6305942669667346 0.5505583907632567 -0.2699865426107212 0.9144138147439832 0.1859011695644715 -0.327932167235453 -0.4723473972206328 -0.7449942043712123 -0.1183261606282852 -1.583644564138928 -0.1776691754999549 0.4157078586903161 0.3124748504724165 -0.5117093218737748 0.07941302221796841 0.1123245269172699 0.5390919710993345 0.7121890880021022 0.6580071877623045 1.159398305409518 -0.3000606200443595 -1.631382713434307 0.1196682210655986 0.2668908524435654 0.273599655154893 -0.1371972090399934 0.8885791962625323 -1.286205002073312 -0.1989890788743997 0.5275101097452413 -0.626533278056382 0.6587943444484804 -0.8613380546207567 -0.01778078634924166 -0.4425352369101296 -0.5158544491433477 -0.3192649250279964 0.3363098971137117 0.3140727956435646 1.904103008164556 -0.4288833083121363 0.1864288499635984 0.009719437628375259 -0.1361672519389436 -0.001255355068640298 0.6130662306281635 -0.5380744592172217 -0.3637773342225795 0.961245548273613 -0.1458417655818349 0.3145957638178984 -0.7651988735882416 -0.1787396066071857 -1.371361066887262 0.2260783676263566 -0.4438129080670045 -0.07802191686006911 -0.2425200517856033 0.2595601194887571 -0.1575382489462298 0.7562555346309273 0.9826264856535446 -0.4362321259236759 0.7015058309629563 0.2201850661332632 0.5349274768599833 -0.3205857674377501 -0.4872223759352008 0.5071610600905221 0.1112508944513221 0.2589079393572751 -0.0311188423695353 -0.4584233476454744 -0.9708442272016381 -0.7070050512162938 -1.326309854083414 0.007645106270645316 1.710663957780678 -0.08626544865343044 -0.2791777258240044 -0.2719027372193594 1.058623167679573 0.3955064889995238 -0.02438195995330524 -1.027966270271575 0.1177363501489852 0.6308500449034793 0.3910685453358481 0.1410358954224864 -0.6352140729257916 0.192171567515901 0.6062106284105818 0.267342558605787 -0.1792469589125813 0.1506439926583586 0.4299386339880045 -1.276937875342729 0.4094576012595469 -0.593147476263116 -0.8589609734749499 0.488280375590689 -1.572725806233419 0.08304591294486303 -0.2283486221451533 1.222494048341475 0.3161923319670568 -0.05159913207334015 0.6567062270440699 0.3781479159738681 -0.6765256274812902 0.2771929199596133 1.148335277863214 0.3296185573886839 -0.5247928954628974 0.3208133557568673 -0.1787789454766149 -0.7011655942218213 0.1481740991464734 -0.1127858673099165 0.007666806901887785 -0.06125607814084941 -0.7069129378342435 -0.3798559622539475 0.1825235933832475 -0.7355247115465041 -0.3005033501741776 -0.2902551039391644 -0.0199809327500056 0.5870656010833174 0.9505960521270307 -0.2168014884348984 0.9874468062837147 0.3104554499003834 0.470800821605905 0.08294220198953146 -0.3154103723756504 -0.2015903160677798 -0.5712931263174575 -0.2076641628913211 0.8759068354981419 -0.5775484522324225 0.3078066903876024 -0.2816275863524135 -0.5246983452810057 0.07532903677935278 0.1913654323201582 0.3432891234214371 -1.441636307146517 0.3693226944843762 -0.327468686048619 0.3463961296002882 -0.4134967449872303 -0.1016688030165482 -0.1698625635531125 0.5216803821520878 0.3070332841794244 0.8943285848982098 0.09906187192727106 0.1382317478070119 -0.9017954019290141 -0.2850030777276664 1.216916372372314 -0.003547629764704905 0.8987102191759295 0.614281656186639 0.001207260050574357 -0.2457325598040255 -1.229474122641621 -1.023678647866806 -0.2620909921150366 -0.3865749756802426 -0.7376124981605738 -0.5439263541046964 1.153966202228504 -0.1699383471793281 0.1718917554903039 -0.3435246504703643 0.01095707572913278 0.609274209375731 1.868850151890858 0.1646984434144445 -0.5936060835162579 -0.5155234591387097 0.1786454286516544 -0.06081255098625933 -0.2050578321346396 0.9926401128177168 0.5919469966692016 -0.7908499292378119 0.5095936180730636 -0.0885497329360744 -1.696603883651293 1.2703603448491 -0.669502986909794 -0.7757579043017648 -0.4877307642668754 0.2256016427460262 0.3703710168122493 -0.6170546930285076 -0.4131773872543558 0.6011262466069219 0.3680178223649099 -0.1975032610190112 0.10906568002141 0.1634620310084377 -0.007352207844225628 0.6179735236754527 1.191400901948218 0.04836762242429851 -0.9457875499609331 -0.1195214064304546 0.0747400123183478 0.1750758047063525 -0.3906948805398556 -0.1452510003426252 0.9885829455255023 0.09775216529285499 -0.05301665528255511 0.3413123725143605 -0.7099341295866423 -0.2977162491829775 -1.642967919065246 0.4664878051590401 0.3048101970502838 -0.7451042434611234 -0.257100161448888 -0.1469690131703371 0.7021299480975953 -1.17959435018659 0.5332721469403061 0.5135339549736844 1.055490428102404 0.2336399112684484 1.323747940698747 -0.8042152564093764 0.5132586044313769 0.5848862923284633 -0.3818796379161348 0.1380438669956648 -0.3339760185336944 -0.7432320676260011 -0.0896559462429158 0.1759643663670922 -0.7803593728109975 0.4554670801583213 -0.3636603567926559 -0.3710748169987162 -0.7428788806393144 -0.004181086139973182 0.2262420129231844 -0.1325595588298289 -0.6634053209654074 0.3351390104866837 0.2417730101659747 0.8808775378698142 0.6743026191451044 0.6344407593997999 -0.4899622903788308 0.1405968612949038 -1.00319074161443 -0.1413366477242502 1.277948576877332 -0.2249407127392689 -0.426717910502967 0.3145138045987242 0.7073453739443621 -0.1282790964746438 -0.2914088886333207 0.4066550368967782 0.1463875705075577 -0.2360945867256094 -0.894080946299221 -0.4324450088971826 -0.2002251223760562 -0.1410435584825926 -0.2985613166430882 -0.4915335380619991 -0.354582824027196 -0.7396722644449649 1.884520257114715 -0.1043609636949091 0.7225250099894104 0.01285819963262121 -0.01097307913970584 0.2741211930351794 -0.6070932345493338 -0.0005545856502234326 0.4501139726392523 0.1481226482037508 0.5544133935493459 -0.03029436194871768 0.0209568200896127 -0.4538233760868481 1.381214739480426 0.739710594389859 -0.3551732461672343 -0.625910785596324 -1.402134664890046 0.1413072529831614 -1.403115232147792 0.2146152552322775 -0.2552386171497267 -0.1046880284509855 0.2208085524251784 -0.1809223193446889 -0.8600651716838476 0.2097903949157675 0.5244051499139161 0.8486139135446472 -0.2342148140275217 0.3340954904994591 1.041328281579844 0.4022563020298315 0.4924986222523658 0.266064677142638 -0.5907473684859711 -0.2659972571003062 -0.09752823931172426 -0.5102216480224214 0.3619358579850071 0.6223595109283633 -1.099902536026143 0.2240515478883205 -0.1722499965673214 -0.5651730309916939 0.5230875105928434 -0.7610433408971227 0.4078093270643948 -0.4642884028021347 0.3384648860632665 0.1381520399648652 0.7981966319243753 -1.05148270429148 -1.452457066525977 -0.006044037952055113 0.1731236753405369 0.808452046023914 0.09739221869512214 0.4524209629544084 0.4102792447956563 0.1283707564563107 0.6446241792479522 0.3778493323929896 -1.142556709773784 -0.2019814956680561 0.7605509783000998 -0.4541307528425409 1.561722073486117 0.4963823297344503 -0.7122189300133437 -0.5108887321217529 0.1637032141606887 -0.5852572457154519 -0.4551115535673217 -0.5616850273780962 -0.2169584187254881 -0.1189188630170066 0.2536148480188567 0.1181055068805154 -2.01622560964653 0.5411907074987338 0.3043552519132635 0.3407484482494904 0.08271463771309866 0.6028680795265973 -0.1571994925993154 -0.07587318086227782 0.6696533737250779 0.7054102665200632 0.568639300224586 -0.01945154648150543 -0.5089677695085744 0.3146272343026376 -0.09375741784820064 0.2292956546324434 -0.1683683207437623 -0.166227962503612 -0.01754859198049056 0.4723766762718163 -0.1042488755346715 -0.2063475253113698 0.02611495228173877 0.167056646441991 -1.248782823835241 -1.749008282672415 -0.3129460740406478 -0.1887039187933235 0.02449944298594401 0.278487549339069 1.600770426144278 0.2996514837572395 -0.3621928013116102 -0.1356136090088797 1.012390016478706 -0.3097580809603031 1.134401867995751 -0.7106030043720015 0.3258208222792419 -0.1472604073311948 -0.6611840563784884 -0.1420445969185608 0.3514404680289204 -0.3344067493157393 0.4288508959955589 0.8037051232814899 -0.5624781964050312 0.5814882244777766 -0.0006576710392488679 -0.1233808750654518 0.3276930567391696 -0.3267055820596923 -0.2609093616903158 -0.2771654896572274 -1.135975040102002 0.2105918819083561 -0.4380172781095811 0.5669612041038119 -1.644580484067035 0.1371517444342643 0.3970318484528046 0.008825960790867466 -0.09364032995031801 0.1232819512597175 0.768786920169786 1.018527367676754 -0.3222992035136518 -0.1672425561598258 0.2344492943948393 -0.08972167710802346 1.394912243429633 -0.2551470033603951 0.6045793203411164 0.4169636573424021 -0.5689893999583741 -0.3163993266111906 0.3961965628872949 -0.03556435486226601 -1.829136984495886 0.04506679822871464 -0.38756755926972 0.1628201412821798 0.2680155168847289 -0.291977678660889 0.03235513778086103 -0.3659095206258741 -0.3910753161988404 -0.4849411569120975 0.3497395760141222 -0.2357562642269067 0.2656978489898967 0.1739122944160424 0.05310980382755096 -0.64016675799684 1.688324870519833 0.3950928403916706 0.4727019620532186 -0.3274715527426423 -0.1560612832040736 0.8398543577188878 -0.3853878243311069 -0.240792901040695 0.6184208396295413 -0.2204623844043462 0.004005213434657366 -0.3962745559096108 -0.2636190936207373 0.271374848619987 -0.004564445628108403 0.1076275158392832 -0.4964684872105017 -0.05956907600757931 -0.5812983599693309 0.1391941466907006 -0.818157647985112 -0.377695300210012 0.4364365474382141 0.891789243694413 -0.5385437651632284 -0.6148638028884462 -0.244745570203984 0.3805310692181207 0.1918574925596073 0.8651713345349317 -0.2779522237942379 0.1621849036653633 0.2255940068386869 -0.1415402486996275 1.230953868166185 -1.204735914373886 0.1695240829569008 0.07275980765403572 -0.8477440398084389 1.20428071932218 0.5820171836885997 0.6821132092215724 -0.8161019155271099 0.2523540974340784 1.747589298966945 -0.27975448180899 -1.120673739743535 -0.8491330316426836 -1.541981317314651 -0.3493784612751499 0.2508582209456502 -0.2223984439624912 0.2558064009789489 0.009429685951783484 -1.216486327546519 -0.5997626949552002 -0.03566530427002058 0.2735731343208841 0.8758174292208081 0.4048855970063188 1.649726284036935 -0.1783552566219418 0.5435201872545277 0.4256590902060808 0.6966442132784766 -1.009803111863146 0.1981088371736105 0.130048852501206 -0.8900996539201713 -0.09886882801355247 -0.3990278915234049 0.01317263715799236 1.011198420647573 0.07221359041617306 0.7034218813968641 0.001592016994590822 -0.69768155739142 -0.3251274667452377 -0.798883541836662 -0.7292458562169153 -0.367335359179998 0.1929220649030633 0.1349376272369333 0.248194669973161 -0.314073782935692 0.07734427606735071 -0.4748438818691011 0.4263678626957116 -0.293459460412677 0.4058079843529149 0.4132626111453658 0.2266741087311074 -0.4773649873804261 0.7272740323884013 -0.3853358412452624 0.3064012980873487 -0.01072978616434651 0.2353673376542255 0.7790555044116909 0.3435523531504628 -0.5266567675452539 0.1286156798934844 0.1143628573035164 0.3517787145141738 -0.688016485827695 0.08354727309460026 0.4245706121064488 -0.9590686280415091 0.1626452654527528 -0.5211163885343454 1.114725701002093 -0.5912201642897722 -0.5797710674536577 -0.3720296475868575 -0.517846454781097 0.05685202903681844 -0.4256597306202028 -0.2836881347480282 0.9079452938898156 -0.434486042705326 0.2379329891348386 0.2583886844772014 -0.302573272124262 -0.6431718378556678 0.2788984490727742 -0.05899969640969902 1.212606501596397 0.3508948226099157 0.9648824380828415 0.01650325834663025 -0.1986607653386492 1.018566399812698 -0.21690333702447 0.5148679023975685 -0.6014651211367937 -0.9581954599256848 0.4189371329253994 0.7033820188326924 -0.9051485317156285 -0.009695375764486321 -0.01343330294379795 -0.9072165636586014 -0.2678181665873754 -0.1169145271394695 -1.244023890371629 0.1480563473147941 0.7121766634814123 -0.07020558924840796 -0.9944957007816608 -0.5614197154405576 0.4685319911099246 0.5360251973851213 0.683378464330115 0.01293048691620068 -0.1587314559516466 1.303646922707741 1.177473357798871 -0.06243912868687591 -1.350359927364239 0.8549834939375862 -0.02290014640214941 -0.2073954152368026 -0.7729136656377338 -0.6210205503919844 0.3218175202441795 0.336873133853215 0.1448249097742838 0.2604478188716722 1.667095763444084 -0.3214917346323605 -1.269152034138005 -0.3390386571177805 0.2665467575030188 0.09506005511561456 0.887716356856567 0.2041659951113385 -1.778561959864762 -0.2280093926902493 -0.2849589088498624 -0.3297067800377537 -0.5021911838844904 -0.2171476848442522 0.00927745726583133 -0.8038856551928945 0.8350773579228992 0.4555328468390512 0.3527772382615719 -0.6192277192997928 1.032297340821723 0.8340638119010475 -0.01451668785352094 0.1125511290368523 0.08628427060112118 0.1211001443950819 -0.1075374461400559 -0.3706927854153187 -0.001120463234561456 -0.1676863065698203 1.508663535577858 -0.06993168436876494 0.04938529936947225 -0.3482710697927207 0.03420181741582319 -0.4795598661592682 0.2076064707626661 0.3587818941288783 -0.4143203049437458 0.3756762373506563 -0.8351206317762664 -0.6089967465396126 -1.700394735413625 0.08510787822637302 0.3518908374304796 0.2783134613252531 -0.4082146678402714 0.4347944904225454 -1.365534690478507 0.09481185350992083 0.7745718932423701 0.8892046321464774 0.1181909967526044 -0.07858118272700954 0.6156407632721596 -0.1528573322272923 1.472016668072543 -0.004065938362779526 -0.2368497740486736 0.2697276693137478 -0.9334367720581775 0.3748971990383234 0.6138763502771493 -0.5148142263358229 0.6749935087332284 -0.09679775295587285 -0.5183385812010612 0.9327781995510224 -0.8703232303451758 0.1593659675080775 -0.3003824778959451 -0.3933792585163295 -1.920488999244848 0.01059648978147103 -0.1035041029117444 0.1515809913243882 0.5760315294576427 -0.5041296859711382 1.652586299410953 -0.2938284550670026 0.09172089180575167 -0.5236727495881606 0.4526650156820754 -0.3937135911994071 -0.8576231174262883 -0.2496798401593001 0.1432089480328962 0.1124105708239055 0.8592049383629038 0.1672716098725474 0.7955468096831328 -0.5579078495412229 0.3017203943062472 0.3029739327482528 -0.1559712944111646 -0.281444747430605 0.2047455202108358 -0.4645197473012895 1.041707070670266 0.732435765882187 0.01746028525022832 -0.1632391485507464 0.7248055481390346 -0.3816864874847339 -1.158142455814789 0.2782633185191696 -0.5107755428634323 0.01945004110180369 -0.6179805710424038 -0.1014868461587094 -1.5488060496222 0.4652556285678607 -0.4265854451423012 0.7645431065910255 -0.8925708600725073 -0.4683678911210687 0.6225486558681564 0.1736664963984203 -0.9175080747920042 0.4694665167495142 1.55146559933999 0.2192897642842762 0.3064175111307068 0.4476762161710245 0.5767846560164714 0.09008322791860246 -1.059999550646267 0.7070271603441506 0.4828450238339191 -0.1628289879699355 0.6341328061012507 -1.134170197319906 0.03448835520539237 -0.052535491047605 -0.4093512884177252 0.1873438286450797 0.2386157633280733 0.4782492329601403 0.4578446682867798 -0.07358811174209841 -0.8525116186251153 -0.6453673642810484 -0.3846991803782635 -0.004808060038877264 -0.01266796860810076 -0.4766130677257111 -0.7597680262599718 -0.7790201039883968 0.08565952578906189 -0.0006402463263125235 0.1755767964185198 -0.3330383888418643 1.294359227672849 0.6520271170599534 0.7013070733933009 0.3104066558546855 0.2788921750753274 0.1389947383593392 -0.3166283501230951 -0.523920424586005 -0.2588708792499404 0.3911780995029688 0.2631105056689015 0.6897968719546576 0.4481789257183554 -0.6119829951418967 -0.5333052024892031 -0.2303154022087621 -0.3515519475748066 -0.09115936945294037 0.9765584275766066 -0.08869844693092772 0.3375147379885645 -0.005810866912533193 -0.2946624870249933 0.8257420230156656 -0.9555005240845648 -0.9911074615676513 0.2130435025218534 -0.208867377404584 -0.09748926438255252 0.3148071652559506 -0.4351271133731883 -0.6986827564839779 -0.3383014091267048 -0.09474104552067175 -0.0206523981423722 0.2677746950242436 0.2583982932206055 0.1087483377283622 -0.625823154970734 1.345313230514776 -0.257510708227789 -0.3139273015858524 0.5685694057969872 1.002940569540414 0.1662544856579978 -0.2702528272416382 0.3484498874326626 -0.120010390210099 -0.3827699044343377 0.8997600833379463 0.3775395105556927 0.3280084543466368 0.4178400637346549 0.3550575765514228 0.1436100226996757 -1.051375376490782 -1.679829006629339 0.2586582981048037 -0.1376920386999048 -0.2861036357214033 -1.383824576290839 -0.1964188931571736 0.36884502420784 -0.8362868191232624 1.112523279971386 0.2191203992703714 -0.6764115188182909 -0.5360018675633439 -0.2377546391792904 -0.1951709233438006 1.796533163363997 -0.2676737990815825 0.9214851863886988 -0.0578408114533959 0.2770960394172604 -0.2072993831280183 0.04121701401300969 0.003899097017508652 -0.1468588870515249 0.8375320992705948 -0.1391832181443171 -0.6318357426595153 0.1124353113100913 0.01248857392010333 0.8887017827677748 0.5015795926043897 0.1888139905245979 -0.1619859275525283 -0.5864824345619355 -0.03963687715220242 0.08691801486351071 -0.2220277460910472 -0.515489062074846 0.20719724955345 -0.6429100333858607 -0.196856937356433 0.4445824200530426 -0.5242752784098401 0.3572094377681191 -0.4304301632596878 -0.3339837181819667 0.02811632734959321 -0.822227465293397 0.462576561789899 -0.05087964576192324 0.3764994279198628 -0.8676880601402108 0.3775579834783336 -0.9897983757070664 0.8713153176322399 0.8434780847769453 0.6322253232068402 0.2737711583832483 -0.1616500179817976 0.685875162688789 -0.1923867446081485 0.54749028661512 0.1363479507034987 -0.9991248039248609 -0.1991853395209941 0.005889406877771755 -0.3723606356804764 -0.1963440111415235 1.495938718162344 -0.2960898824030193 -0.2828102634895497 0.8280858914340389 0.6959864053685925 0.7982301772845474 -0.5597583293915266 -1.644073796972406 -0.07084584960539368 0.7730872810314472 -0.7020233590873587 -0.9481812307917158 -1.089943284236434 0.6362062104673668 -0.2721964797718278 -0.5508638473357176 -0.7417414726326605 0.2488982679753597 0.2025222611756717 -0.1082390832104612 0.1870891960365428 -0.5707339354209611 0.1771175305941446 0.5482751682104795 -0.1919033467246791 1.658082639467444 0.04754724567154674 1.98693761063045 0.238482393685283 0.06725246977273809 0.4138480532078533 -0.9265980898551492 -0.5776145332922352 -0.8133872773995477 0.1928600282526047 0.4264115454375548 -0.5029132455690862 1.088852434474579 0.3939710205752484 -1.053100072722496 0.01841049335776728 -0.06259636564701641 -0.1199829461454587 0.2600509535639363 -0.1796563790060324 -0.9368407158167728 0.3518238008474083 -0.9767636653730658 -0.4250168048654542 -0.4181366942386388 -0.1282195012471835 0.08163449014746031 1.193842754143422 0.1597965242248575 -0.3576029659270147 -0.2684335910585026 0.1638133099077131 -0.06230069418638574 0.2598417435394227 0.1470010798102402 0.1905492385674109 -0.7062313263254298 0.5320222321643442 1.06465890807002 0.179240400390637 -0.7700941672978503 -0.6777345785382444 0.6369339561034854 -0.3048594480738384 0.4950907232929406 0.2263013461278016 0.3158380336343184 0.8704273290374982 -0.2672872168804843 -0.3751265329177443 0.9642983328741214 -0.1738551197532658 -0.7058706272849606 0.1545429009379923 0.3783081579028582 -0.5157120450207315 -0.197415715698272 -0.07763373284048841 -0.01064595444384672 -0.319976159610635 -0.9976838855454142 0.4741580250433984 -1.235277246777585 -0.1116577824027808 -0.3088593978561547 0.1061854063470118 0.4657499577156851 -0.1911546419043016 -0.7194939391419012 0.1583360486987337 0.5152405860452772 0.6233533169652412 0.7828344516422382 0.18804593952143 -0.1081039100474974 -1.002468941918901 1.140050472637049 -0.9994177898169236 -0.0995179505121325 0.4595305536870949 1.431462388579519 -0.3831767506052924 0.1116212188116106 0.01742656362864727 0.2706620688479628 0.005819354002636992 1.334519287593471 -0.347635190067936 0.1458975237898812 0.3219598072217318 -0.9424536417097503 -0.0007516232752083634 -0.8183829192964389 -0.2387089817700235 0.3670633589614333 0.03824543255623596 -0.5666113905552597 -0.2940221026195414 -1.280833838993407 -0.04105758513417779 -0.2178057174621385 -0.01111403219810373 -0.372279547080565 0.5755300196106222 -0.4474308087856072 -0.7324997314210648 0.1562633611279378 1.002520890033152 0.1876202486483591 0.1883590581456678 0.6007626869210735 0.1897928360869876 -0.4581502858590204 0.7435941972603591 0.4934823131538325 0.1915120238958699 0.4210550440129153 0.7441142215783806 -0.8210799656095903 -0.272170911771045 0.6596034794722593 0.1353607177554365 -0.8526603123041111 -0.1418824284179224 -0.6799396176247081 -0.1171014185728717 0.6072581841869151 -0.04671434413525339 -0.5855427210829561 0.4561184363700156 -0.1452049067075704 0.2843264041727574 1.165719022841539 -0.2781078281949586 -0.1801663335695335 -1.076195736137515 -0.09432344489738911 0.124211162439905 -0.7272897803190287 0.4527956082173587 1.376696470433737 -0.5522477170098319 -1.052843242599096 -1.771247166098266 0.004623854199263823 -0.2611868366397598 -0.5265780937474875 0.3605942634300569 0.4200151203573163 0.3132911026684037 1.557741102982167 0.3373325717933359 0.5596612887375745 0.05172215953087857 0.3202790606421142 -0.6914972755142574 -0.1794237481326495 -0.1919454746518272 0.284507702053158 0.1606939181117072 0.5220384282693922 0.5833114064012749 -0.1133868094282863 0.30365437362375 -0.5507218381054164 0.0913493554740844 0.06660964992791145 0.7167414962507279 0.9763862933259314 -0.2774090444206421 -1.586551704534839 -1.03143290532334 -0.01863189690851036 -0.2162735554487672 0.2214915851813671 -0.2744734669868842 -0.609437564714306 -0.179498112096651 0.05241625759556674 0.1872358015633296 -0.8461158484438728 -0.4233076883654912 -0.5905612405448799 1.333470009057657 -0.7941062902203535 0.7702816808421293 -0.1916972342826677 -0.008191412091490125 1.067723216611559 -0.09181269361292399 1.024232011203504 0.2087432177058232 -0.9342657662095761 -0.05165002370559305 0.6719149035992524 0.6131607008073525 0.2991272741060843 -0.217583427131328 0.2177152145153624 -0.1627973081020671 -0.3353785295823716 -0.3418635963472797 0.6338332734535159 0.5120946649702943 -1.293771745764936 0.6059321980284245 0.8659460790619916 0.8893810985708358 -0.01459829896250067 -0.4033430656455476 -1.659431388592224 -0.6154779585205991 -0.0007537567575892299 -0.8282282013680622 -0.1261495822394771 -0.6295024606924686 -0.8074735536553422 0.3777111263263969 1.367182543329528 -0.6924013665872538 0.2341458828812933 -0.08681673962629254 0.4144643644916389 -0.1511140719565663 1.01109520477715 0.2413593492928485 -0.3803240165892164 -0.7612449758541734 0.05638524267915891 0.1150595768372273 0.007674368585616324 0.1508105998293773 0.9287396003797518 -0.1344995841327969 0.8042470953201744 0.1600669758871497 -1.774631567697727 1.069265100737282 -0.1073211792381043 -0.164103449890625 -0.3666403751021788 -0.1614087468882065 0.4672016494319185 0.4618122820023489 0.2574187114779201 -0.04386606092274044 1.621573928584661 -0.7645456270330181 0.4854101817781857 0.08336762041204533 -0.4387167198431745 -0.1028300113376608 -0.7399146390879493 -0.3551373312040892 -0.8054446664386602 0.1821377156014577 -0.5142888066391138 -0.3015665289284834 -1.060913906121883 -0.02636244747480584 0.5495827721311208 0.2699209209186785 -0.9416438034270147 -0.3990041674133155 0.4540808683791256 0.04972237946025247 -0.1742410140371568 0.3107616485504847 0.2446660122563651 0.08929078600117946 0.6309135733859321 0.731948277814617 0.3889973966192384 0.009306546292260536 0.1893149771612044 0.64020643954348 0.9095817355199051 0.05528631511622892 -1.245369395218698 0.261685936747183 0.3931920916647081 -0.01384954488658546 0.1737922037168627 0.2264098677877128 -0.4448543821039053 0.662267102222388 -1.036465069180675 -0.4515958844000206 -1.046281734443254 0.1659647183248871 0.3045162964478282 -0.2557481561791996 0.6875469292681317 -0.01299279170299059 -0.608003579812509 -0.35317251860062 0.8366808163381281 -0.8489367175871232 -0.314211146111133 0.4061140593015962 -0.8553987735348588 0.1920817394282937 -0.8553720467586339 -0.3753151363939005 0.19155417385158 -0.5369008843932402 1.491486586795151 -0.4198114091841937 1.40699973948617 -0.6016074400878613 0.0887168136598559 0.9011729729922942 0.2229995825203252 -0.1727925846640715 0.7315899409034249 -0.1995802625296803 0.004590374992653082 0.3506457974082433 0.0499140115566819 -0.03667607295242091 -0.8274882819061856 -0.1863794535949677 0.7574276905528812 -0.453217453555109 1.048185503305992 -0.2274325325072899 0.006901045119233452 -1.019243277752255 0.1092830104315452 0.2982991102106821 -0.4686430270114856 0.7880840111910258 -0.09115893046313672 0.0003487827387320997 -0.1799214564160179 0.5432805507524371 -1.008912161078106 -0.1737854869260112 -0.8204610708855347 -0.4427801540079875 -0.382046396359859 0.1383680841947069 -0.6172249924718483 0.351495908106957 -0.2293456838258759 0.6024417405860896 0.5691538083115492 0.2854126498737842 -0.2331830082834623 0.2322937407211191 -1.098533026393683 0.1463900136576522 0.5912175934708701 0.872170509368142 0.4836456915236444 0.185880113036979 -0.9129272178585817 -0.2105579342910058 -0.5044434186080414 -0.01119291260589108 0.690020471098822 0.04966028422531173 1.915565844141676 0.1670825488228399 -0.1888467916702182 -0.4077108334046826 1.101273418645947 -0.3088446503752348 0.1605213259373462 0.1709249642816448 -0.3420523973124397 -0.2266618289968708 0.04835932368344858 -0.1243355144332441 -1.14810438874963 0.1137832939121162 -0.9384975943196023 -0.7397639298669257 -0.7383399969089675 -0.3457976711948275 0.09106403741547828 -0.3206266028837678 0.1842942116852666 0.1076604802079587 -0.1832489381979887 0.3017521973503731 0.2554229217187843 -0.4288122097017909 -0.3141545357391672 -0.2101149572253065 2.263529950292168 0.04510202631651582 -0.115566754351862 0.9700463740921157 0.2931797081907114 0.06107849071495584 -0.3097357788139488 0.2055387369956537 1.284171328897572 -0.7169426864775204 -0.8631561140788236 -0.1421366920893072 -0.007378725078305034 -0.3957138433610909 0.167194402531288 -0.01715890299830391 -0.1960665093762078 0.4640393701121769 1.225953010653178 0.2073990060291551 -0.2276239562681183 -0.6572349293472379 0.4430444936633047 -0.1854774193866703 -0.3363447014113375 -0.06087252970793156 -1.400396536298715 -0.1409075630755764 -0.1017024263034675 0.2357012452004818 0.2270525321113446 -0.02816572682546141 -0.2191626015878083 0.8118470889729624 0.1838311473923197 -0.8953694735928545 -1.342186691541049 0.5354645843918089 -0.3426855686779288 -0.2506880721360127 -0.1061406587147677 0.291994177320793 -0.2437963548368447 0.08276399372570602 0.9640624678650257 1.138244530474855 -0.5399352187264864 0.2043827579784419 -0.5019913645749894 0.3053688953905474 1.101722268765642 -0.3279671769968455 0.7286087357322862 -0.2987900234336647 -0.01675891914025973 -0.002124085184809279 -0.4210030437095461 -0.1023185312008864 1.376860996322449 0.139805136562106 -1.617556368393555 0.3677910750967756 0.3707363094989163 0.002420662841994596 0.0007228271712988007 -0.1364911319371332 0.8417574901386271 0.2632921754639796 -0.7337493360419122 -0.08073325372178777 -0.7361274829158123 0.3082800091701994 -1.581115371543364 -0.6129108148691865 -0.04315790660601025 0.4338936157274318 0.2808195525188609 -0.5118859070015109 0.313266668427653 -0.231455431688404 0.8222908385764913 -1.13094985396646 -0.4416333956436264 0.2856059612344909 -0.9641124257491381 -0.8333175320130908 1.642607345109593 0.1297959392674541 0.690918352955037 0.09825354542213394 0.4479193951139231 -0.1017478005077594 0.8761239145954782 1.172556325280908 -0.1841748374063986 0.1474064267180899 1.479402131909858 -0.2056797549564975 -0.9996843948667208 -0.11963928902301 0.006560369533662405 -0.1918278001938128 -0.5396256472472414 -0.652811870631091 0.136446645245126 0.3653080457896696 1.118943402649603 -0.08990372147494158 -0.8144651758298767 0.09861049399749532 -0.5759679394521123 0.4495841694442692 0.03204902342940071 -1.527245493576227 -0.2734333238905994 -0.3086612230149788 -1.547645932551025 0.9244598452401934 0.1069610228519557 0.4328033989564132 0.5654458830433362 0.06515810870751403 -0.6291754337794621 -0.9267991830214286 -0.1227750166039447 -0.3791478913793919 1.505563138616902 0.5943270006527565 0.4776925472135513 1.076854071659407 -0.6342464858409452 0.8177590844521161 -0.4211496233178123 -0.4735084350723451 -0.3467792177530378 -0.1330376618602968 0.3051108278522357 0.979282640509167 -0.7974644279818146 -0.1356618306023548 -0.3496027939705648 0.01277994018851743 -1.015813772228099 0.6451392985716473 0.6650047119446302 0.760607438439285 0.05896468644721737 0.01891438387680981 0.7173444904643204 0.3707703853217811 0.695889248622205 -0.4644723324625522 -0.4666873829728908 0.1045419115920477 -0.2920208024134516 -0.8748994819081505 -0.1979454689303552 -0.2417227385504802 -0.4937158818051561 -0.2882451075895938 0.2217535768586832 -0.5398126175123765 -0.7115237319176354 -0.3694513854626837 0.9919167672564724 -1.368574037118275 -0.6330047404986435 -0.1050630766338312 0.7644569732230182 0.3599144891952876 0.5128502447510336 0.4720466259140643 0.2203446402463297 -0.1339957359113365 0.1968139434105436 0.2116164959840772 0.7098965590105737 -0.01670528342377002 0.06530128859821836 -0.5362689452737693 -0.08180515344405707 0.09787021233111573 1.183196394030802 -0.3730457867780414 0.007877583659704259 0.0004110605591607038 0.5369845004110155 0.3700015202551983 0.227785549697583 -0.4406413532639925 0.7133317659508099 0.4236719773582728 -1.628580580170229 0.9248154767795999 -0.5896693590194104 0.1948089925843297 -0.5662747964389614 0.2614649589724788 -1.215519147392985 -0.07156148344234362 1.262676472770467 -1.092870648917897 -0.08008080188150976 0.1665627762800548 -0.4924753534476238 0.1048237690119438 -1.895409864828945 0.251823996655939 -0.2339221572081275 -0.5407114690620127 0.2264651528261091 0.1556303808458618 0.3688350499235994 0.5499866903915486 0.5918978382234006 -0.2191655960638106 -0.2697072849844022 0.05852750705479867 0.6844697076250239 0.2531610147582972 -0.08122369508711799 0.9856657668252203 0.8969006531708263 0.2043551897840609 -0.7278215076553839 -0.3885721943578005 -0.4250614260394447 0.005690328418118168 1.753364728080945 0.3189905276731593 -0.2060884224951609 -0.4131565725676599 -0.9837001173919516 -0.1041742320938967 0.7320802464633335 0.2793019287667772 -0.7656054083789472 0.1743112872209023 -0.3265913965531351 -0.06065006393638931 -0.3817189231692783 -0.4461189553713014 -0.1657094425848848 0.3648758420226763 -0.1539345084368121 0.1132306164301025 0.6741596456298302 -0.2251625691847449 -0.8127468597964685 -0.2476325867473552 0.4203888002639574 -0.08625567759714578 0.9722780656322306 -0.7062627865634854 -0.4441193833151005 -0.5911725767561309 -0.5713788347552957 0.7497739664313178 -0.3564542507725051 0.3074700399991835 -0.713857804603848 -0.504207316004625 0.6319575969694776 0.274629554841845 0.09889039984721421 -0.2503354075753748 1.517518155257658 0.2257401614996883 0.7925723865646581 -0.3844791239931128 -0.03036391730865013 -0.4815107056919262 -0.1474467775354625 0.551006787783633 -0.02771103176928972 -0.1261830225639221 0.08247379549255882 0.3501910827034256 1.337464313232554 0.1604637093936512 -0.2286441751470253 -0.1660676840785542 0.6144189652387925 -0.1479082384513272 -0.2988557842459533 -0.07996158038688767 -0.1999626680626898 -0.6430817101422807 -0.6359104363844482 -0.4449980207703164 -0.4748524885852647 -0.5117061862621398 0.09606260215742152 0.0223666679531035 -0.615678924543979 0.1053557807450013 -0.2865437564925786 -0.08175305865177096 -0.4672273863258575 0.1150303653539953 0.243743909910707 0.6977942883011773 -1.647766598333595 0.3189750493522613 -0.2177356791429404 1.215164931778005 -0.00206035510770957 -0.2221749656867999 0.7487315206729543 0.9532852076224545 0.7959636962466822 0.4800274985678763 0.2980779335380872 -0.002503356808730337 0.2459499624258639 0.007124084703969445 0.1354586976951738 -1.229539719654862 -1.172072141571442 0.1420320312891611 0.4518658014554236 0.1482687398730837 -0.3972030643686601 0.6597432966298863 0.4268890287981373 0.2006589904360031 0.4644193668812536 -0.3776887111128874 0.3704061894013425 0.3091348733954193 -1.84408584629343 0.527410990412685 1.266106742139226 -0.7608854017696938 0.4037276430742032 -0.2484766110874973 -0.7045519361906708 -0.6797767779679315 -1.809202816442516 -0.3624161596835051 -0.2933568921038347 0.01752453371643821 0.09814801689160613 0.08418006666826711 0.1919339666156752 0.3366030857818608 1.074876984049792 -0.6244495469745568 -0.08502252063657845 -0.08462300166958316 0.7870140882057958 0.7161364962613703 0.7651507680139833 -1.084273514677855 0.4358538389403673 0.01214463660834347 0.01524637252765165 -0.2810805169601409 -0.2554903560708827 0.4098993706831453 0.1751589069689702 0.1883099864062945 0.7314054100237676 -0.1706695131519736 -0.7578910277853309 0.4565601149154128 0.09607312054147965 -0.07680500683959443 0.1051213112404291 -0.3302948816679551 -0.1744762966039826 -0.8841110394140065 1.464209465780907 -0.4357138891701058 1.24120656572338 0.6730695072717628 0.08764715891405576 -0.0875401584565145 -0.726147910991834 -0.141357764800253 -0.5449363599521561 0.1288337517184178 -1.369768759993905 -0.4707826917776215 -0.2744779534720755 -0.2589193623815539 0.53804417215328 0.9432249169356074 -0.1198815108320582 -0.3090183931788782 -1.347246118212472 0.1511222826054428 -1.655171933787395 1.451791300318637 -0.1787586956643662 0.2663270936826175 -0.4294449088051948 -0.2942976509052995 -0.1206604997339277 -0.004920114708628299 0.3799206877376633 1.019472224827231 1.106302066653747 -0.442866646951971 -0.1606813015543349 0.6173781996851205 1.128325621358428 -0.1870883830672649 0.8323795447934065 -0.1598852860290165 -0.3416912279212549 -0.5474583374219104 0.4326000093474609 1.13039667323027 0.2179779872434208 0.007698636316194845 -0.6912217413345906 -0.1427351628739834 0.0117571960367632 -0.04575914463884098 -0.7082675132146167 0.1641255721668289 -0.2177409234229528 0.05703034304783738 -0.3634871254417495 -1.025904511613398 -0.3660346192410564 0.0005942153634215552 -0.1436092513879415 -0.227263238601322 0.2694983648718502 -0.8000896624019819 0.4082115447271409 0.08868600825105338 0.412383605964331 -0.02619051005631109 -0.6826569964544793 -0.4720076006879255 0.1655967560652674 -0.01813825276772454 0.7047994408356684 -0.1238228909642694 0.0125475525986186 -0.1100999574708658 -0.05873845864932063 0.4862527947521774 0.7827464032510421 0.2197265229067507 0.8269796905976179 -0.4764253311805851 -0.2135144082085428 0.4428895963783439 -0.6178310907638096 -0.8253659809641851 0.3805533004033058 0.9017704860786591 -0.29854200972406 -0.3747538257583842 1.921268943718919 -0.1866182980383789 -0.839505153111203 0.3771948936139575 -0.1655884234588176 0.2164885198572525 0.6320550208176459 -0.5513979552071154 -0.8400922516877251 0.7241841296871189 -0.5508076191115368 0.1284973670613169 0.09319733154189921 -0.4107787786711367 0.2734775189147254 0.2295936252818734 0.247758661256842 -0.06268024145922288 -1.687152590064593 -0.1065001337615278 0.1322055022628649 -0.3264928188634544 0.5356909698242852 0.1938507094389189 -0.4381243483874603 -0.7806547260102915 -0.5149499272216355 -0.005510517460731948 -1.528795578898723 0.125608561014239 0.9237787443542227 -0.08178861989319607 0.8034102447941055 0.4950296034984145 1.752240292059212 0.5080936740683624 -1.094636237790028 -0.3255570975682655 -0.1402322817020615 0.6528774351239721 0.2012285609040629 -0.3579693654616249 -0.3984242228300941 -0.1311888327442091 0.6234782438213714 0.2748905442884133 0.2873428146447364 0.2408443688623745 -0.4555604248736315 0.4615585935009415 -0.5276917058498565 0.21598678293769 0.4387767412515278 0.1593018653023808 -0.02739699733587455 0.4988759598954385 -0.3537003060043064 1.01849309592015 0.5727329695838722 0.01436129541406644 -1.600792314976947 0.05489133978714374 -0.05839343504318516 -0.6674535612316577 -0.2171291894459382 -0.3054868504925683 -0.08486320402764758 -0.6832409124663029 -0.3877991565435739 -0.8764162341071009 0.009313282772828939 0.3726275582474816 -0.8737898720377306 -0.04864234842924341 -0.6585486187850846 -0.7097273920164202 0.4922745933899735 -0.2400618766460329 1.721012412592178 -0.1016572872635765 -0.1031318626966496 0.4548233415258562 1.620191731633234 -0.3383880905292442 0.5809608989809072 -0.07594801371048954 0.8013915671940339 -0.1425569096695073 1.240919308819858 -0.455662228759034 0.001725277545233904 0.2267012051449987 0.244169151601582 -0.4219024079087005 -1.466831638245487 0.4974656338336321 -1.127633483085512 -0.1600114026271695 0.2026503039346726 0.4106169345406726 1.044220222945211 0.08271626996143344 0.6108739473427597 0.356922779969458 -0.8552343565500405 -0.108582709318987 0.18447851571937 -0.6295580380142896 0.3312180718744793 -0.5524486002606892 -0.8696348664320041 0.1891157296032796 -1.119174518422846 -0.009259714576416009 0.4674141300706936 -0.2212360587160892 0.1036549635446955 -0.384386188598058 -0.2951330146754985 0.4840474140432109 0.6206363519050975 0.6141977880650095 -0.1043516950051415 0.3771269356707228 -1.33399960308492 0.2708796375172298 -0.8890420466676974 -0.08564397874743475 0.2456479743673806 0.3277336893192146 -0.6135788922869716 -0.1375439044801137 0.1397557144102547 0.8213784453229551 0.3859581635414261 -0.5900281808805952 0.3646220212562038 0.2262310957617023 0.5761365413645245 1.036176095761559 0.06168708134534484 0.4733571808850841 -1.195268557708086 -0.1209331105580633 0.1645914425410217 -0.3301562821372078 0.4553674347226624 0.2353681180974446 1.387471516171391 0.4865821361091305 -0.5710130546909788 -0.5953683477504954 0.9350554987683156 -0.8227888845532185 -1.1507900429875 0.2972007854595718 -0.01229031659946059 -0.1625024249961205 0.7631128395821523 -0.1357473631563016 -1.158915915648236 -0.3058862561651978 -0.8801326073358109 0.1220887175537996 0.09801461679113542 0.5621496527375016 -1.039347930279821 -0.8966381568239001 0.9879018438593454 -0.2560672429613582 -0.272490584554639 -0.2206801730039613 0.3276023705571368 -0.3362997055252862 0.4799312083968907 -0.292844006739767 0.2324618849737102 -0.01829021237827737 0.1249391248863458 -0.07120072044772618 0.4350121208718689 0.2170913039457178 0.1518477341361793 -0.2375858165433019 0.8345170488734085 -0.1265451182604637 1.316141387038586 0.6481654451364784 -1.207182042864458 -0.2428088022567657 0.3472313793881952 0.3240290673483299 0.5947393811719207 0.4521125599276037 0.4662847561358736 -0.8746586426426012 0.1288621067888643 0.2040175493717827 -0.9502907890311608 0.006097488658086836 0.04952403384400868 0.006718204879984615 1.135445785567736 -0.6459479700326993 -0.6970088468586891 0.4029278426228586 -0.0941206200860461 -0.2011438575285052 -0.7744558319862592 -0.04542782366900214 -0.3924858089272893 -0.0008677181613502342 -0.7175056236563919 -0.09311365752490892 -1.389091750625672 0.4223528371631689 -0.4631825838944135 -0.6864376403841407 0.3404634624289269 0.8836845256486647 0.6254452022626987 -0.3719242404678712 0.5095358977690225 0.8590606594065912 -0.3047361112803456 -0.1479049111617223 -0.2514477437323223 0.1883779005826825 -0.1697559680164346 0.1679175401159615 0.1004571576954437 0.6644257394504173 1.252784483904938 0.1372870156270175 0.09982730694069292 0.5301589830529121 -0.1008077729082837 -0.1395354170699263 -1.203258282895728 0.1781063197543911 -0.4620271341763746 -0.2376827681702632 -0.01050693187064388 -0.8294132078517376 0.8914442652376809 0.282827793841635 -0.5289156639774372 0.2920815342144703 -0.1597135623602657 0.1864385745521126 1.64888053416476 -0.1235471992586558 0.3756759584849043 -0.5178983147732178 0.01563589971972638 0.3905641054495447 -0.947903054070346 -0.1789942199865861 0.7064268038888415 -0.007875398180314373 -0.7476882513340147 0.1562683820524994 -0.09108138417819114 -1.047190047364537 -0.6229533359322507 0.5067306750056219 0.3353086489750715 -1.343236046671555 -1.534434636105948 -0.1129833789907018 0.605175609991779 -0.05392978921587109 0.01466864000303919 0.0517014899533433 -0.3393486049955525 0.4266543725273103 -0.1676330933637119 0.2307609994082318 0.9584350600172344 0.8860559453946574 1.412769317352027 0.1794114153588431 -0.896017580728514 -0.1284014018433766 0.3880744605874752 0.01095258808067681 -0.108892538161361 -0.08119642602509229 -0.149873342497394 -0.1370363890374899 0.606151931818088 0.147385316846772 0.4380106446800812 0.3318928475275243 1.448620476244356 -1.706100193905452 0.6792045284438412 0.1365656760120154 0.2762856091239643 -0.4254619038559886 -0.6313450382658276 -0.3015294618106915 -0.01759119297625588 0.2589603708509682 -0.5251859074107318 -0.08816975565858887 0.4848901836824625 -0.3662704129900145 -0.3958731185982314 -0.1847934587304936 -1.241833314775081 0.152194853483878 -1.243032816319804 0.2029943962947353 0.210419220999167 1.219434041374368 -0.404147347464002 -0.2002205610598352 0.009129645068946224 -1.444313096615369 -0.4594958252434962 -0.2215931568886453 0.3811626836556361 0.4812052718414145 1.467819355572041 -0.07616071567297113 -0.3367746024821006 1.333333898018658 0.01678752558499085 0.8908638613661016 -0.8832721752634496 0.3505564868168166 -0.0003937697571614712 0.07302223071007732 -0.8269030766268 -0.07387227704047866 0.07689810157570645 0.7338838064008896 -0.3511094250680727 -0.2662041683338044 1.568419716328445 -0.19560961336821 -0.08036760965300156 1.060562753642747 -0.1562152046580711 -0.5900045666217499 -0.02150975875971911 0.2969712470890682 0.3462635785576292 0.3587213788718291 -0.68014643946209 -0.3168683301449014 0.2980443897760996 0.1260884382166778 -1.676983578990159 -0.2645128098247788 -0.6710604743066195 -0.9527555868309018 1.008191530438695 0.3394587298764254 0.5252131226354441 -0.4886913180437987 -0.9846656142608528 -0.07839095751538853 0.2709926987762605 -0.1469523663839098 1.00205099313581 -0.05352493134923023 0.2377163128988993 -0.02185862258164536 -0.5635021130458707 0.005284399388037232 -0.5515315639709312 0.07788368618373212 0.100331702902727 -1.062141993817184 1.182433736250786 0.07381304803290988 -0.07140282366564564 -0.8563193982752817 0.4602985699505814 -0.05962782830413957 1.513240203220573 -0.05499068890398938 0.2387929820741239 -0.4713052927857508 -0.1929713664233276 0.6797848015344203 0.4499095979035698 -0.1001337398121268 -0.2625767381206282 0.2054274173023438 -0.2512026277935716 0.311029279894155 -0.5197016561325069 -0.05371938385381247 0.7317344483395533 -0.04609523828794589 0.8351808466192632 -0.05732781105194402 -0.01832946798677342 0.2733793585654625 0.1489564557386363 0.2808119453880212 0.361981960506366 0.340954533225009 -0.01685313580938832 0.249650156838887 -1.6080350917739 -0.2357754330118745 -0.8717151484512481 -0.7105439920964547 -1.353338805012394 -0.1894389118122533 -0.01873472807631462 0.1305179001582636 0.2372161993547985 0.1771216139492743 -0.2782263648851601 0.03810572098433671 -0.5927382985299785 0.4360519622900909 -1.095165794471674 -0.5866306402590574 0.4034421160201913 0.02698300690696903 0.2703117927331186 0.5102651556403992 0.4152624540303908 0.4601610834598079 0.1889126111818628 0.09748589137649129 0.9636359349006577 0.5249198576024224 0.1604698986285576 1.180883191828147 -0.439068436645592 -0.4473218051460146 1.609299038305383 -0.8017759151170997 0.01937210852624205 -0.1451890819395687 -0.01834314529122636 -0.2190823291298915 -0.3622702000301808 -0.3637402339385017 0.4190208690878152 0.8471327222532427 -1.833014758512476 -0.2903505707244882 0.1886925347805113 0.1847907410413881 0.2094008397786864 0.5298659430802115 0.43632613496236 0.2526029913865172 -0.1238978879367774 -0.003123329655329114 0.159082232957326 -0.5046559001951467 -1.297984715114704 0.1041271362926537 -1.401580981125371 0.3862530412975106 1.01548858692241 0.1570253727659265 -0.3248263849120419 -0.3832893556133451 -0.5286975146844834 -0.4391588619284369 1.010856848788023 -0.8826364851110204 -0.5403599090846928 -0.4233254784792329 0.3172320696238277 -0.7586337451986024 0.2830225533726268 0.8719017979577275 0.6449453129692276 -0.1960682257622764 1.246491772550771 -0.4099914441498051 0.1672131474692253 -0.951443832377224 0.9239534824416838 0.5028490335649722 -0.593725277568404 1.382244971953616 -0.2307446442725602 -0.337399294240853 0.6618045257201858 -0.3689046219350523 -0.03570048055063203 0.2921396714711975 0.3702693433523159 -0.1915184734390756 -1.087089046743706 -0.1319982398332226 0.3114804440887594 0.2744759897522221 -0.004291418928161216 0.05740244229564933 0.5838130692442756 -0.237262896398799 0.4605287497228006 0.302677376992085 -0.1578376122456601 0.240045263321093 -0.4266695773083182 -0.2907668170483691 -0.5728586047142283 0.8450041859770614 -0.002732887019945009 -0.8793311086013398 0.3212302601871144 0.06444021136209567 -0.2388890041750306 -1.053732793703541 -0.7606101292251323 -0.3024387546934392 -0.08137757278845402 -0.03566600807088488 -0.8488732946388617 0.5608832992079044 -0.3480428670006622 0.4914028445783084 0.453924100131437 -0.1491407151061895 0.2682825273247979 0.4313637446850627 -0.4898584841668577 0.2613808814447217 -0.4356193174830701 -0.2261388715163478 0.4825711728225767 0.6377848417165435 -0.4676235339697675 -0.5774512050963415 -0.5818621298166752 0.5339441954595073 1.69779577514221 0.5584906520175918 -0.3224442540017322 -0.005582552383727126 0.444270737697383 0.03319673596997839 0.7937446550484178 -0.1626114467885389 -0.1465373993898771 -0.1379128445393154 0.1572792546302092 0.2278367417387683 0.8232852118066379 0.4968348172842738 -0.2055672908603124 0.4768225744438864 -0.3627438465150734 0.5180071585514421 -1.895625411102999 -0.1097398118577321 -0.1664193390527716 0.221750468969301 0.2873436667235496 -0.1737743510567941 -1.615103763945148 -0.04329322617148151 0.1350707146712852 -1.514008268213743 -0.7981869876622194 -0.08474490441707777 -0.3988104934608317 -0.484655007510544 1.88587192310371 0.1423584094017928 0.001054891421208547 -0.7213158861130681 0.1024199129656429 0.03303993249886719 0.101499766593339 0.3521603962097844 0.7224206950701335 -0.07795909528167429 0.1898674373817984 -0.241650855350616 -0.50757285142387 0.374535719948311 0.005299399153691008 0.721043345535371 1.737236752734142 -0.5646206501602314 -0.6236071059244289 0.04628007079014165 0.6120885319202656 0.4084041058863883 0.2105780082640141 -0.9185255396305825 -0.4886276480459589 -0.337785239646562 0.2419399666513019 0.3866168500206184 -0.7251716564129441 -0.2625615058072431 1.046340454124493 0.3067034981740075 1.031083287274294 -0.1674984115045884 0.1261627413709402 -0.7761276047681057 1.20075511018054 0.1417504526855026 -1.126516356404708 -0.5084044875225104 -0.05387186630445689 -0.5113964176966306 -0.923236044512431 0.2204796970657939 0.2270356957354965 0.3743444303951981 1.334305221346327 0.2094501387051995 0.1501972488503424 -0.2006281978734765 -1.229106460897063 -0.133157423766472 -0.579840771838869 0.1046954934622828 -0.01381108712667106 -0.1052160663023071 -0.7267505540215465 0.005645869934585129 -1.936012611208629 0.4057875709346414 -0.7283512534402034 0.5291017807122794 -0.5767725081669146 0.642620680152565 0.6570646657219869 0.6551046883814097 -0.0213540164662494 0.4916604902291264 0.1628056806129404 0.1637974309929606 1.720459554751335 0.1439118067077906 -0.938401799227255 -0.2470012150785819 0.6825363983337364 0.2424186161419559 -0.6435487266430016 0.3815692825423946 0.9877465776659964 0.2145909463372193 -1.772085931417429 -0.2732475842513599 0.3353993184449575 0.1609505199360625 0.3254238051777452 -0.4151606619770096 1.802441323431128 0.2548564047695471 -0.8442283576516568 0.05733075590052436 -0.7464251810373148 1.271311704514784 0.9599463051784244 -0.6046030650724394 -0.6354915000962289 -1.354498934801203 0.1186144197477323 0.05277736324268707 0.9197196927877606 -0.1393419143110062 0.02488758872054993 -0.7591475714835524 -0.5329325812703445 -0.5193148509298887 -0.3948854260788435 -0.05919609055949794 -0.3817892970952168 -0.02210003061856746 -0.6113271314385831 -0.1435402382192809 0.8109781556052672 0.007886900631663573 -1.190580615164179 -0.7077357284111876 0.6054384833414821 -0.08975979282809585 0.2917380409589015 -0.07737384632261296 -0.3843773223035227 0.4363482623323334 0.4211623241553286 0.4998115207551905 0.9761630505034947 0.0009531940863215587 0.2127600884455325 0.4340130838813166 0.7475366519324195 -0.3235194178344623 1.450203270803804 -0.1946647426850562 0.2675081126376352 -0.1684053517361964 -0.4783184289650237 0.3004910674193722 -0.3626784921686928 -0.3984846266135923 0.01634914205521285 0.6792647198440781 -0.2199360265982339 0.05206843459935855 -0.4261741278027259 0.1155089248490096 -0.6020583392884935 -0.01506271443940901 -0.1445800322736785 0.1974310441782931 0.0009887935714221637 0.1486024913545249 0.8996658986240341 0.2372860192530633 -0.188046530646412 -0.9927480940015562 -0.1045585921866909 -0.0828711617284253 -0.996478237131709 -1.27137758410757 -0.2843049927616604 -0.09950066258037074 0.3625229275611649 0.2552807706826998 0.5500478623923274 -0.3186025273543064 -0.4495919556968456 0.5252579345330221 -0.2263507220038408 0.2429708804501014 -0.2374372009412112 1.007784290389721 0.2474342160793322 -0.2617085175200238 0.06462312487754629 -0.242871841064809 -0.5400988771639716 -0.2232981576557494 -0.2858144633719318 1.008489073106225 -0.5296027513959429 0.4354434086842185 1.119425912509 -0.07027483221600377 0.4128712613689446 -0.3498075699218071 -1.233964596437519 0.183452756076366 -0.1174112687402481 0.4521914166591575 -0.006424283631456191 0.1799325489001314 -0.2168421482584317 0.3605924358148643 0.726434691577962 -0.1587061470555969 0.4664467164889251 -0.3220472849771978 -0.2319691785373646 0.2056963414822288 0.5354597958553079 0.310530921564136 0.5642907320072026 0.6181718421477653 -0.1567295665896222 0.07700653064586202 1.086892193809074 -0.3605772412614756 0.06847288668834949 -0.618215869507056 -2.230649570914066 -0.3769162015006269 -0.9050443523779302 0.09554762715640126 -0.4119385960143168 -0.2778749363644833 0.03432517323186879 0.05002256063386464 -0.6233330056360574 0.1683418975822813 -0.02292273255393935 0.3857036516634446 -0.6863093477019041 -0.5742266242959452 1.026569686589204 -0.7301035574094608 0.09738118733940085 -0.7484547023855136 0.841148821978882 0.5583544472761909 -0.294032148797769 0.5370893596993226 0.6674237458997141 -0.002452168994637989 -0.4861713170869923 -0.3539833847438879 0.8638136148808725 0.2792602056848502 0.6212004861817523 -0.4572986638389094 0.08753328541835241 -0.2227466548541567 1.10312617794124 0.424599671099292 -0.310052078587751 -0.8261169729387775 1.443572750785696 0.08709964532768165 -0.0009121067214624823 -0.2968052193254557 -0.2548567882070082 0.07009842200530182 0.7230900267975243 -0.1698536217390723 -0.1187464203222443 0.8769434575385366 -0.9728254644853768 0.09515381175787772 -0.8498289064000815 -0.2601413979267237 1.019564596048649 -0.1508829940661919 0.1424584781159466 -0.7075803303225314 -0.00595409276261165 -0.2768526845019403 -0.8067308294325918 0.7905549477687903 -0.1811607882627702 0.06013243638288607 -0.605459515356514 -0.3850885979330509 -1.776727308200157 0.2920643597038945 0.4272838878089509 0.1238046850327621 -0.01144194053122794 -0.03532510136736622 -0.5098475934670418 0.1850634517241826 0.7260282712332422 -0.5178070268012728 -0.2246514780098346 -0.3759691482386062 -1.166389513157116 0.841396101734745 0.5777075477843404 1.30804324216693 0.7976368250479741 0.00988105548778225 0.06420891246104572 -0.2931129538275338 0.2128567135224835 -0.1174636513931266 0.3531251784062102 0.6098499401237903 0.03199855998332473 0.3232030760394758 -0.1298673185384356 -0.2432716368579729 0.4499021944549965 -0.02779791839268477 0.9477046305376222 -0.2374488186896121 -0.3601173847667395 0.4487206905780532 -1.478765827551716 -0.573703829195645 0.007573676836910387 0.3131923934214183 -0.4488736421357369 0.3443034398563133 -1.390946889174337 0.4211384570982785 0.7168885044357585 1.043953516565547 -0.541942850236784 0.1016628107219855 1.291774142748655 0.0103881902300948 -0.2406126857007735 -0.5662457451722598 -0.00804296999925228 -0.1244326416510107 -0.3443204156435415 -0.5431810504727503 0.723090781895379 -0.9191548545987789 -0.4103084395978808 0.4954692440379275 0.255579814577586 -0.07000065718711895 -1.091154221895437 -0.3563366885365027 -0.7448389179097333 -0.7775985300778897 0.5477880250532537 -0.1586361929686947 0.1234821022000988 -0.2948882071968779 0.4264041064593986 -0.1154609284134723 0.5699237342360088 -0.04203444606789508 -0.01443076436196282 0.1778613243990511 1.065560610922708 -0.4633236288344658 0.9104429057500301 -0.3361408543504864 0.4953879273276848 -0.6494285400504506 0.2805258516057577 0.6861260810534582 -0.2565560907032027 0.8212126351499071 0.007909287596107793 -0.459237258484977 0.409161656648251 -0.2696840587258783 0.7246120747550189 0.007741917142629635 -0.001468167028545805 -0.5466460156531969 0.170074126055595 0.8800463908405277 0.5963177127946374 0.780537231448117 0.3522379033281428 0.0003997398859922962 0.7049928771291167 -1.122487740318146 -2.394399223076499 0.06690091878403823 -0.3177626812315149 -0.1625382356875034 -0.8085058774765024 0.4282275190638689 -1.172715225546708 0.5119073559470909 -0.1565338366312975 -0.7250580356311349 -0.4378633629629688 0.8780900083342627 0.5317869632477864 -0.1241746061792052 -0.2303546298362023 -0.117661685177995 -0.4627693911724446 -0.219802922019158 -1.366393509123638 0.6653975844753516 -0.598423837118931 -0.5362142067923428 0.1926829664593192 0.3271114291265125 1.621156990321436 0.2016972683837549 0.3684893806766307 0.9653961408061026 -0.1551738425964221 -0.02990279059296192 0.391917110571866 0.1559388634589447 0.0815956883219978 -0.00406994855116072 0.9981462688185612 0.03893946465638396 0.2560053850532216 -0.4925385520387546 -0.4995096466509699 -0.1822856720135532 -0.7598839822022172 -0.4265164311378592 -0.4585608341031577 -0.2029938399508858 0.6361102877387661 0.9411405117200834 -0.2855937190489069 1.449162156933445 0.5891986965825592 0.0569156502031503 -0.2681731606016208 -0.4541617108234078 0.531505621209809 0.1944404216186475 -0.4876050116724057 -0.218755337312658 0.2543788256755976 -0.2477710908711369 -1.064884827272362 -0.5856613954288117 1.566316931374363 -0.1365168873677557 -0.8038293004722249 -0.05945114585628958 -0.4365687612963195 -0.859969440823143 0.0753876522258398 -0.1974065314754212 -0.6892119307225157 -0.2574276233942622 -0.3006787416892699 0.1129871353057581 0.4646957401369185 0.2326646757157703 -0.6478772238255132 0.1304070296070398 0.00555472550352028 0.3923989940987145 0.6142934029498002 -0.4813133623648996 1.506088905540386 0.427151539131985 -0.8947505142321417 -0.8020033768787769 -0.5528484864422859 0.2727428269971411 0.8235121886187551 -0.4087094970364212 0.2112195902696354 0.5626345629554187 0.5788649472787772 0.0334323455150874 -0.1004971357202829 -0.2914602787479122 0.6180711160370508 0.365820584334288 -0.6537409649120363 0.4993820391491506 -0.9275918584569733 -0.1030233199279018 0.01555402478423393 -0.240812745928467 1.569031053461157 0.0673881440783942 -0.31907253193295 0.09240525193987034 0.05166129303832792 -0.3941019063995119 0.8789616702482155 -0.1297537472942598 1.108137585008104 0.1210147305345792 -0.06438628360570113 -0.334592449562872 -0.3549881664468948 -0.2219462305367858 -0.2700535106439796 -0.2062970227600327 -0.001716595730819065 0.01261305048597738 0.4843175308333232 -0.100399428098148 -1.89584206144206 -0.8118974123421844 0.9032875686929104 -0.4823785599221656 -0.7468922283213709 0.07492887929054509 -0.5054005043093877 0.6604568583309982 0.02956863869552995 0.0675676000000545 -1.725749004862607 -0.2085215957437784 1.20227907894295 -0.01877012195249989 -0.03664581901322127 -0.09216723432416059 -0.4605930415773472 -0.287128611072172 -0.26087980918583 0.2359196626696673 0.1243009722166423 0.8975626546315782 0.2049474583695086 0.5496686091604795 -0.4907159360673854 1.98850316683381 -0.2480674929081478 0.5548746820923355 0.7128199719541826 0.2249299907167156 0.7954502839171175 -0.1614941536500541 0.8947968803588083 0.3243348604260249 -1.135641331685536 -0.364626822052113 -0.2057991497876451 -0.01760897464614761 -1.018083482598186 0.3224425907033411 0.006695314142813972 -0.09118953721564627 0.6694833954027576 -0.44371700919104 0.2106888722979187 -1.150553743791199 -0.2062024852896265 0.1666356241046844 0.8795493598672749 -0.5150259877077552 0.02203966875868361 0.453643705038866 -1.515569501390862 0.26032607594272 0.1942438045846207 0.4536295310253347 -0.8175915182146326 0.3346545175284407 -1.198719243409733 -0.1015869414712794 0.434084566181639 -0.7276553243440697 0.4637622277765041 -0.7909802096787221 0.4853215817674067 0.5323967016505209 1.100812691260765 -0.746174292688782 -0.1266367170881502 -0.8153513426219462 -0.5753322872966876 -0.04704919540811037 -0.03645212485836852 0.2326838642033319 0.3686048181918543 -0.1182633877514182 0.5545283660507188 -0.2341837160132052 0.8146889226749879 -0.3879841561955085 0.8813458573249027 0.2531038251004909 -0.7169856017353573 -0.002434413964120758 0.7295690569743557 0.4752260405220385 0.2537746414930143 -0.02647090203596483 0.1848997298157627 0.1614950218375228 -1.218622167137274 0.4388419316162019 -0.5588799705681464 -0.2525978363957863 0.9149922264132841 -0.4016866921863059 -0.07019935402593007 0.5747616003864269 0.3675484048254223 -0.5558843079968256 1.949782191544802 -0.3082365814968078 -1.490155744136806 -0.003659831850813394 1.034117800282503 -0.2631697482484228 0.3207185345539674 -0.05795606830846935 -0.1516487226941058 0.4042812036661161 -0.3103467312169794 0.2485354967667089 -0.195175925075513 -0.9994328858211787 -0.2639602974070288 0.04834432342214757 -0.5210917717410967 0.0004727010594600339 -1.685708458276402 0.09541776143454452 -0.6455007610481702 -0.1647371460774063 0.3218472803911617 0.5350564730399266 -0.2308486769811212 -0.2355293845312781 -0.02475939229307801 0.4351151901920538 -1.14986131627083 0.5615252191650958 0.6755314071151577 0.2026106981954552 -0.3395215620175477 0.1875286037149144 -0.0619713854441904 0.3273329832709949 1.13290937368254 0.09075663452091255 0.1369795172618728 0.1216289162018569 -0.6171937273908693 0.8164820600733138 -0.7970973793295723 -0.3018393880464336 -0.5393948031782458 -0.3619547970299871 0.9894589650026684 0.1236639648110364 0.5133604047823138 0.3148249186412615 0.97292889502265 0.5825851142402657 0.05491638089193228 -0.6445962326203 0.2747519522427416 -0.3135404771250327 -0.751516105298013 1.182042222923182 0.6935014103476352 -0.2564918611260197 0.1412502445282802 -0.2357295607463918 -0.2872224899577469 0.4841527698581786 -0.513487787254103 -0.2853666410754533 0.2881338732591661 0.2675215215170026 -0.3767341613783904 -0.002890022487227197 0.08574401079705035 -0.3659386157036347 -1.873374006553296 0.06730398715179114 0.156381495863583 -1.015882198651434 -0.9206022090494554 -0.2118908537276394 -0.06534226103698447 0.1001511352465007 0.5163828508870413 -0.552565598872034 0.47632061526882 -0.5840384266987813 -0.4585546031702561 -0.854737757716617 0.9045873349583733 -0.08512928857151512 0.1806501416457752 0.2316525525254371 0.4180320967555173 0.1814006772455561 1.83194526273806 0.2874481433997005 0.1671167282357656 -0.02564640428262115 0.7743495666975871 -0.1685104303462908 -0.182693989226513 0.6088742990961745 0.1225880249575812 0.02937897307477408 -0.5161889775288113 0.4977135098029886 -0.5094477788189115 -1.00259317496505 0.6237050375818527 0.3915639139766889 -0.5527416045671758 0.4385339120256789 -0.1070455276230188 -0.04829399878403268 -0.0009426875946988291 -0.4345413864951773 -0.3386684678773779 -0.09773676511206093 1.464060009797387 -0.4740592490580374 0.4339654441922138 0.09718242513377423 -0.01690037464745548 0.4089611312200811 0.05932066476063556 -0.1354584600133746 -0.69341881635144 0.5438113426129837 -0.4826795701609713 0.1666056019212578 -1.473206528134172 -0.284766279575243 0.5472746629976919 -1.200418032952832 0.144124144111001 0.0116453933720193 0.8833350954876278 0.06128852676144118 -0.3700057397506717 1.314692207606418 0.00203042607691102 -0.1554820198259589 -0.532877275667526 -0.07745855945560336 -0.9273222411412284 0.1642622021815799 -0.2949531092569158 0.2785641832251113 -1.656409524603744 -0.6810346911516106 0.4570684892647531 0.2173961352155867 -0.2641504047717829 0.4577576561158239 0.067579425299739 -0.1926361527608988 -0.5344121754571473 0.003913159904535536 1.454429219837796 0.5018366351984029 1.32250005395058 -0.08866822185472993 0.3727408056805686 -0.02325525527999414 0.2896130412347649 0.1039799687576191 -0.2014257092377248 0.1198154816179835 -1.405660083792498 -0.6501597654366941 1.023440351332015 0.2810853835179168 1.08921813850126 0.1207158322782725 0.9289146029513645 0.8334926134426678 0.1011850405502718 -0.2349598243775124 -1.766822794821594 -0.2513753202601503 0.1834624633703854 0.1783737143880912 0.7344150232289153 0.2680387981352502 -1.166279219470082 0.7426724153752318 -0.6180006710463283 -0.190970328961488 -0.9563424735311667 0.05393585647673033 0.2254373869345613 -0.2989117560275729 -0.6346573601993387 -0.120412788856131 -0.04189126804577008 -0.0381726715010522 -0.1383982742288798 0.1162285213239183 0.2890955453943246 0.2096198215723346 0.01452212227648088 -0.09749118818580987 -0.9211300214198155 -1.21348350068613 -0.6794468188693853 0.71180198340526 0.2255684544098439 -0.6790658194231842 -0.07092476987765098 0.1817364670701987 0.02064933750106438 -0.3397545352257511 0.4999690522406159 0.05628958465261415 1.565774604554411 0.1726182556047525 -0.2450923756929859 0.1292925418002706 1.319083339217268 0.112169047302928 -0.3831474260016828 -0.5112713313860983 0.3655691574703441 -1.443499677329338 1.658667657306587 0.286343890922205 1.302605528412107 0.2769974987379829 0.2741269922039778 0.2662211234910474 -0.9965291870928804 0.0788465885201188 0.2610650114103041 -0.5842764654213098 -0.510427361111623 -0.4444899784837326 0.499418920478565 -0.3864031334010426 -0.3280293592044383 0.3789197231949698 0.4121891058384016 0.008887759027075977 0.6645616261540555 -0.002878747156159975 -0.06829891594211447 0.2232705803303974 -0.007584738607675387 0.4505371513495064 -0.9842975693609676 -0.7301908104381527 -0.644146572888754 0.1894762235399049 -0.4548986550192679 0.8578388077819264 -1.070218042204692 -0.4664255210656026 -1.223176610890085 -0.1966126188590688 -0.09178060454097581 0.003280695295202889 0.7767366890053403 -0.0003833369958383733 -0.4224896860647708 -0.03524216211585237 0.1051237295895986 -0.4464093220436939 0.3111247793500027 0.3568367251825481 0.6940336170181626 0.3891293484047723 0.7749763762481434 0.1023843493880271 -0.8803856677505872 0.3903905512406666 -0.8353066761993277 0.4178081962279566 0.3832179297285919 0.8385130507924499 -0.3986221153136968 0.1858508984017301 -0.1970521657821218 0.02288793631719402 0.1669821194788656 0.5880508094892992 -0.3091115109161915 -0.1489270574068937 0.0144856334675131 0.6491637972359583 -0.189576035886882 -0.1661347391736834 -1.146887427838185 -0.3136887684712162 0.009180970858009908 -0.4360855710487575 0.2773693360633496 -0.2920125105031978 0.9547140439477749 0.2342114766435372 1.445088759533802 0.3870783312110703 0.157533103543987 0.5112978255550702 -0.8394043612822696 1.056797161214517 0.3834373441561159 -0.8711240944153683 0.2683397872385583 0.1759108785841134 -0.3406844829227872 -0.3664147894655604 -0.2361979345997192 -0.4326378804008295 0.5714142523954614 -0.2375451312825239 -0.8202882732748439 -0.1378975727772178 -0.9691741753205536 -0.4646348708776249 -0.2104859675503944 -1.487013231231913 -0.147255959942878 0.09767345734049573 0.1133515892082323 0.1997781608521087 0.5846983551533715 -0.7845714596814711 -0.9698519564832107 -0.05310674155346809 1.48669878219429 0.5301627109924717 0.5170864517892778 -0.162145692415306 -1.556675013679413 -0.003479161338256855 0.2391883959820442 0.2432723024524846 -0.1764243353226297 0.2861797158530281 1.517766547590228 -0.8847480927444451 1.175132799760587 -0.07236176109223774 -0.5720902805240539 1.011002067073975 2.382065628617582 -0.5934093508331131 0.1526258155219198 -0.1218454346252723 -0.2282672157575665 0.4319353866521995 -1.410213897982385 -0.1250559194053739 0.1121176403143096 0.3054531267994734 -0.05837009944304555 0.6093160286123156 0.6497947344611361 -0.0169965613480015 -0.2293584146088184 -0.3943364855389202 -0.260525228483556 0.1450099181440655 0.06749502949373155 -0.418324850776181 -0.180951569867166 0.8207632003369563 0.3624758316217265 -1.172382078349577 -0.3343131224932647 -0.05672464843595056 -0.5521405544606766 0.5865732517851105 -0.01236528494642505 -0.2998729637204688 -0.6821952678848903 -0.2869094028213584 -0.1618924022898905 0.3336706618360843 0.1547117435619841 -1.256079808632492 -0.1471185077907451 0.06511128510070521 -0.0005790129175182625 0.4808280156092012 -0.9587867972223248 -0.7984454286153848 0.719779992471163 0.8054842504406656 -0.168988747138759 -0.2533347295927331 -0.154180316592841 0.2780449193286504 0.0421107372427575 0.3363599933114024 -0.3376435184372471 1.108299071819904 0.3404216142857975 0.2233483159066389 -0.4828729546152854 0.6004942303166644 -0.5685232798112634 0.1839074523358043 -0.1781347382066465 -0.1803043463046861 0.7003161646154149 -0.1618094515408179 0.4463202813891667 -0.2969446028892342 0.2086286598753182 0.4229193785857441 0.5664706080091821 -0.1838608507036195 0.1634342738506692 0.1854048797537623 -0.2291772076355504 -0.0162072727296277 -0.06741281937624601 0.5387166050738823 0.5922062796560329 0.8743495479240603 -0.4045178186280622 -0.3526720060027911 -1.050675528042652 0.1963896867991894 -1.208456484680138 -0.03127074722802435 0.2501748908041322 0.02563443744407731 -1.126562026212017 -0.3804293652405972 1.662644755643003 -0.47020382461402 0.08598414768117063 -0.3690510049916794 1.093938117983403 -0.6294937772524561 -0.7602672981269715 0.2474983598957509 0.09069462171267631 -0.4603273179600249 0.2793548875532825 0.1548674172255661 0.828902623052718 -1.185740766651547 -0.0824408517423125 0.1049764375393537 -0.1190614942718025 0.3065480973189623 -1.662448515925544 0.2618323860029416 -0.8285422876191336 -0.3906551345891917 0.580229530883811 -0.1176025934618604 1.128936773672002 -0.1393802183962846 -0.3952020396084094 0.3773424418605897 0.008428376770325607 -0.5007130282939046 -0.2472812171093726 -0.5260433043747674 0.6661050823997681 1.735599098514783 0.5880808710330893 0.3357014583973661 0.2818832442721601 -0.1423907267185324 -0.4049903121939155 -0.4054145322685044 -0.265343402862483 -0.3209223344691662 0.9912286902745744 -0.2719799143474773 0.2547441666911873 0.639759126255123 0.2339514420685512 -0.1168553919872174 -0.3436782761224395 0.1699307981482935 1.075644790864305 -0.1043763555132456 -0.6226636627690086 0.2868012970324473 1.143733775401456 -0.3764795031130295 0.5517241545052403 -0.004313322765049245 -0.4324030037567906 -0.03463123799101499 0.1766439691279877 -0.726798864840443 0.4245225221305374 0.0433837340522239 -1.043295322017707 -0.1241171085277974 -1.003957690290192 -0.6274846452709875 0.02467801169618179 -0.5055844772539962 -0.04332456368033664 -0.004177719618855789 -1.196086117283419 -0.001810014776235973 -0.08792935197105284 -0.2847790362245246 0.3488110530914921 0.5014586193750832 -0.817046188099446 -0.1208015301355995 0.1491290056251413 0.5588128334683776 -1.436127939825089 -0.3783012967046941 0.2420965280534361 0.5741975456951013 0.06731880011245985 0.8636852789603174 -0.4914876655797719 0.2387883849840714 1.459540589949435 0.3127194018154126 0.5320956288254703 0.2640222894106238 1.463651654536564 0.3003125614327663 0.2835904843399268 -0.3315847990521406 -0.2023063055335583 0.6446263738377522 -0.05579461572330412 -0.09698641957654584 -1.397152560123939 -0.6696353222555308 -0.3511467467089251 0.3313875151340294 0.4455728276023436 0.0424692585399542 -1.379519853958533 0.2257405314850283 0.05204073702994558 0.2611744964925422 0.6030353011451383 -0.1329354744907591 -0.002886918478867987 1.005192876411319 -0.7897504317381719 0.3412940400934169 1.658512158936622 0.1240559577237395 -0.8467485220396163 -0.1396123028663947 -0.3849318467970765 -0.1201012839493417 0.1533623746065751 0.2109239871716119 -0.5746099682435866 -0.195604323705192 0.2661864384092143 -0.6974824731065733 -0.3514452239168095 -0.3139012313830686 -0.8698578425724838 -0.2970325017607317 -0.3827349946675336 0.1430338876109127 1.079483119953749 -0.2577130065744009 0.2339201174157438 -0.3629948788338208 -0.1999672781009149 0.3431060846796812 -0.06872883865612681 0.04307536919184692 -0.7036569377741664 -1.250002243167565 -0.4922952205860332 -0.4756534004308012 0.8739756400829326 0.2769601358950321 1.395956878718312 0.385985642667404 0.05451541558097583 -0.1003297728791453 1.323809369176073 0.2254228625799864 0.113153844316338 0.007712033805624061 -0.5195140067647441 -0.929862066839508 -0.2686983440311125 -0.4045376115932001 1.976529185371512 0.1092948908027748 -0.5926255571267411 -0.5599461437959026 -0.3145791739212538 0.5216857677463892 1.951439669813316 -0.2883056236965911 -0.04553971000612542 -0.3882441799852065 -0.02426681800562026 0.3785345516731514 -0.6116208941225099 0.4060235819833872 0.1639159946551805 -0.2210581998169268 0.3683872476786438 0.1732012433849297 -0.2816217307009694 -0.08219830368690234 0.4106565138758449 0.2024370293101679 -0.3579447537864779 -0.1151884105949944 0.1753019644493264 0.08788070291881121 -0.5866129776341149 0.4945118491886556 -0.3280591298499558 0.08163610108071569 -0.1382889949851159 -0.1435968756313444 -0.5982096031852375 -0.3575271427703793 -1.393642024136528 -0.3051601274515101 -0.3718208203806381 0.431024111962616 0.003526185855368991 1.090395639040374 -0.2115626119619938 -0.222944828551141 -1.446607977112769 -0.1169012845441664 0.2103744081533337 -0.515628310055617 0.96487594535266 0.8956687927934059 -1.10455952807746 0.2355298706988715 -0.177278964913771 -0.801209097595254 0.3958622383664122 0.303019386511453 0.05717346043849298 0.1935924722742328 0.4958028572327429 0.1890384134280062 -1.337215943115648 0.4167104547323168 0.5085230693165008 0.378580270828742 1.222921442017674 0.6394259567899113 0.1187670491888562 -0.3351461266796045 1.715076991613006 0.3722021393739136 -0.9843622436662821 -0.05244455424466096 1.134073492277364 0.07590836916391606 -0.1976104245548083 -0.8047855336172924 0.4628733405443074 0.3059429313832709 -1.396029217445621 -0.4203249818408064 0.2151191107748076 0.4875889815981734 1.015936590528997 0.01610289887425041 -0.4195122657060573 -0.6525856799833049 0.3930510660994436 0.07819546219457243 0.3809180426835735 0.1422705656141079 -1.522666074954786 0.01469599385830544 -0.9213913820017948 -0.1710143359406652 -0.3298207013070764 -0.04373833504723581 -0.3518053084558011 -0.4441055514451897 -0.1603731969278091 -0.7092975641113096 -0.2666840995621919 0.2174745393393132 -0.474133385947319 0.1212568850439497 0.6986142029115422 0.7312425270165861 -0.06480637730352383 -0.325844862607479 0.7015401930219074 -0.2004582602710564 0.8077706171792874 0.1584922137278528 -0.3417175909269074 0.1014057282041703 -1.020544807870003 0.1060462189284618 0.1272053000997193 -0.8715609230224103 0.8399800939766124 0.3372424363460545 0.4677998633991413 -0.1148989840339534 0.1975739533038622 0.2518285610564612 0.9927498085401801 -0.6935092523720422 -0.01212982075588459 -0.05094488805295376 -1.477359389913033 -0.0283649752832709 1.18964633341087 0.3265130569340166 1.16903590367911 0.1427874250871542 -0.5367939781213772 0.1519627749919268 -0.07205821274116578 -0.9752102931961417 0.02161962852459769 0.2477847399203105 1.290620344337773 0.1558992734863377 -0.5547854216680362 -0.1292647286780882 -0.3959298718486513 -0.8849292072458205 0.01805100321314318 0.8738602016207818 -0.4870023029532328 0.4323030558170706 0.542844830731791 0.1154717814211734 1.201332260810568 0.3137569372854486 -0.4568821629935756 0.001092668301235372 -0.8631753381119778 -0.3011110642901307 0.4130421149288769 -0.3970748516669714 0.6519325515647029 -1.20893784486869 -0.6312805950998456 -0.4221234953957533 0.1233075794267976 0.6505755071706083 -0.6305264108577238 -0.1580796960951409 0.150236917667156 0.01102298119587336 -1.717289310187369 -0.130434664697929 -1.196876853542286 0.009655186490854997 -1.25447189705794 -0.07183782278321683 0.01693434164797353 1.559278468788221 0.1557012468595706 0.6215851195087549 0.9762183456811744 0.1924943072346758 0.3214342122648277 -0.2396380292965682 -0.5609180261114527 0.03828315358778845 1.10647386195075 0.210648735242367 -0.5021343020343404 0.8941421712046083 1.04656147551364 -0.2263920953079766 0.06396135703752513 -0.2544718469473027 0.703834202285912 -0.2462955627270729 -0.2503524934573585 -0.5118769768772646 0.4669976587151272 -0.1964375462393685 -1.082945479580836 -0.09373793471095139 0.0488773131900087 0.9779742052531628 -0.2303476539250837 0.7147937849368184 0.6997774777934429 -0.6714544973044906 -0.1712153022306001 0.9649401359134581 0.9629229774653626 -0.2141089156276732 -0.01575677439776008 -0.3367573686102585 -0.1607202136889114 0.3736450888339017 -0.8570610517146692 -0.1755191203394218 -1.197648016997416 0.9594746850362285 -0.03730151969103278 -0.4911782712372698 0.1878052963480731 0.1555759857858237 -0.8108820431446681 -0.0222242743872199 0.2252116965951423 -0.05205084622805007 -0.7306320379298292 0.1140882339652458 -0.6086145285858081 -0.1017883570004821 -0.4228444332665087 -1.482157666101245 0.339568981363835 -0.5700396032722144 -0.4570192354712025 -0.8463089759179382 0.6374470741015567 0.04509000067177343 0.5028820094755188 0.107317252430568 0.9999790840008786 -0.4173772489947498 0.8251237393273236 0.970571197793047 0.2429203373293022 -0.4057824725195867 -0.4582270569216852 -0.2799606277703232 0.381353768457263 -0.2311464038406924 1.709446112009478 0.01645948022654475 1.436289743167934 -0.008085610052098983 0.2964274572689274 0.3564608699382547 -1.502713605944267 0.1354942224791152 -0.0576769835384626 0.5555316971771211 -0.3384072629046977 -0.09289203817723692 -0.7969703961906776 0.5211540991272062 0.4249624125083613 -0.3878862939182501 -0.1600338409360377 -0.2313063426755038 0.1048565917145144 0.4019324138605873 0.6657904772588698 -0.5790006988102125 0.5773578243626474 -0.05095046626847453 -0.0004545909911911409 -0.1040929039002666 0.8798031412526059 -0.05574899401899676 -1.081422815075465 -0.08528250590770792 -1.111588072671356 0.09253002936374358 0.6806445257760276 -1.198225079975435 0.22650581001673 -0.776514331748409 0.174414819799725 0.5525639188993698 0.4629556488595554 -0.6582491846072011 -0.1181994246229064 0.9122030245366904 -1.765786145186456 -0.04648192531489778 -0.180344029558283 0.3854638368708403 0.01140669558664203 0.3850980840050783 1.088329639798522 -0.1915804819552947 -0.01227136900699832 0.2889961465779616 -0.5973468769186043 -0.1633844697299623 -0.7852010939062873 0.726429584136884 -0.9703417907052366 -0.6380461314906577 -0.7396020083934832 0.1455639166397328 1.185974662467862 -0.06685326742096816 -0.493337673438241 -0.2853410120306155 0.3309299461125362 1.278341408652798 0.2777462871354668 0.06357677193617788 -0.8538378220609346 0.3918911436863659 0.2788601547015488 0.7144851495864691 0.4120386239883174 0.2048142157358385 -1.136755958115432 0.8777874738080387 -0.4307852053492099 -0.4402218249544542 1.089677777006403 0.09480111442525177 -0.4345233153560381 0.3609499134169776 -0.02781803972784084 0.2277475553716438 0.2744337073575003 0.3732225833260589 1.220859893990144 0.0639898931874137 0.4687092992156915 -0.006668172409816452 -0.7131014640232752 -0.2014833709592688 0.3796090218541522 0.2632288626378905 -0.06472544458735049 -0.5867052700286671 -0.07809407692034459 -0.6002118510070842 -0.3234016785495584 0.08521412845421278 -1.221516470258287 -0.7829470805046196 -0.1479161879896977 -0.5983850236868016 0.5313957696147605 -0.2535586400005047 -0.05958474201802313 -0.4414359154832914 -0.004125861626827074 0.7040196967720941 -1.446497588981984 0.1812091382513082 0.8570646470619953 -0.7419637137156136 0.2435028556663531 -0.2294208001132152 0.7165420332558646 -1.433547176704926 -0.1195974743936573 -0.1156002846969129 0.6792083585292614 0.01043386939471813 -0.7037112199083723 0.3665756854509468 0.1620544782461551 -0.0368543778503826 1.293790583386901 -0.006235194784001135 0.2167547897953769 -0.06201681949455579 0.7990215540023499 0.3756155711161409 -0.01374848450453619 -0.2081408731790471 0.964181941309092 0.1154745626206431 0.2235210034114346 0.07729253941316513 -0.179142187036334 0.1927681584554 -1.225616557149477 0.9147608131740999 -0.5642786735080103 0.1941191710607901 0.4178932871996364 0.0008053329498410154 0.1122491509215607 0.07616030662315305 -0.4899933616728793 0.2882108394168786 0.4071612229771433 -0.1429230909896792 1.591995739332541 -1.084351916196584 -0.3932930597033898 -0.2164868635763977 1.06004796358006 0.02289882599575042 -1.572641047429177 -0.2186994331706546 -0.3392492847468018 -0.03549568392180869 0.6414830318805385 0.3620335435630525 0.07721405435167317 0.5985909012062384 -0.7668782714237308 -0.08782094186718382 -0.9935463873504247 -0.02458255626762294 -0.6544380441878168 -0.3737763479935406 0.2333697301848556 0.5452268705594865 -1.264323871941458 -0.00665434464733334 0.2583471444565987 -0.1492171508606662 -0.2228962780807844 0.03115077182053512 -0.3558966672441932 -0.6166563805340095 0.4749223520778924 -0.4151139672661441 -0.2678918644848469 0.297792719178317 0.9371059775950408 -0.4385722103438461 0.4285374886562842 -0.1230135505455276 0.2394018922902547 0.1132331144439703 -0.1918863030665602 0.6002429540891917 0.1852558987764834 0.3276544154302285 0.1123345492500567 1.046713158114959 -0.4175258186968734 -0.2018188644885741 -0.6430822988927406 1.222158716078543 0.3596968137912221 0.1583258096587074 0.02236430263180752 0.1136353503756434 0.6388522843618858 -1.018906723940072 0.4908888978711944 -0.2529215394031573 -0.2283635755974326 0.4452148399544863 -0.4899711382445138 -0.4783512616527794 0.2954644480559688 0.08781652283528951 -1.655084314476122 0.2934042925101949 0.0340882666639543 -0.3351977934773715 0.2520998075602287 -0.1423715654780343 0.1431927271389746 0.4455261959929997 0.2417446580903324 0.9814780587814275 0.8797528929322493 0.2921098519522384 0.8835747845488967 -0.1629578732201763 0.08313372968692249 -0.04942534884132603 0.3949267740773417 -0.5567235482679531 0.1836538958256349 -0.1450333560950061 -1.647418444575786 -1.01096503916199 -0.5105163890152032 -0.1313938721043102 -1.85848147505988 -0.08494977891593433 0.0871522898396382 0.8947477779983416 0.03671020452949109 0.1350614078120476 -0.5348868641224838 -0.0701125553701839 -0.3019657679316323 -0.4424917986018645 0.3635858863341382 -0.2840930380373624 -0.7593047259988406 0.05005246884073042 1.166992661284466 0.2323505233107828 -0.350584108662947 -1.05801198017714 0.1899977801600429 0.2730934391324529 1.403244112161568 0.006988331561027087 0.1555809934408787 0.8107662906654761 -0.3571348498047757 0.1702357750974844 -0.0007545001792357789 -0.4899076608366487 0.6979551616976611 -0.2263527035009718 1.232158853578902 -0.4260726241264921 1.135268178436036 0.670907679916815 -0.1078716397476957 -0.9292657445875246 -0.1385762633041526 -0.6443545608471185 0.9625538592728017 0.5805185300053942 0.101063632040037 -0.4412236267617008 1.573052858642272 0.07436939799959219 -0.2663852026324251 0.1685736800909419 -0.4354528374996123 -0.1067175599877548 -0.8914995225386049 -0.4851515844020078 -0.04106843058569889 0.211296352314105 0.824274451049078 0.1663711378929064 0.427460729883606 -0.3306492705962782 -1.271497549645217 0.3725558552382627 -1.612999123683687 -0.152386539570392 0.7168227268235889 -1.060505214375906 -1.684522180829989 0.2415973992512771 0.002768456928365805 0.6255448218105955 -0.7176852813638805 0.2798507876867478 1.366573533675584 -0.2739102566545082 -0.3152800043290819 -0.2326965068744181 -0.8415022277314946 0.2158999059877107 0.1991689753031184 0.01452945195026004 -0.450028660649761 0.1288103278565697 -0.4486192653068728 0.1875779136625516 -0.417116618522538 1.380351468207236 0.9326719579172585 -0.3037375249513986 -0.003155005676836657 -0.01821271681190329 0.1144120733739783 0.8489483258936331 0.3350880251783053 0.0743935739678164 -0.5849978931081654 0.03096779542185938 0.356134123371935 0.2023897131311238 -0.3431656378758832 0.1151501416880707 -0.8605036657429932 -0.4140226617976808 0.1964386432119994 0.04500551028087534 -0.1074270288864857 0.8664728977628943 1.279129992271544 0.2056615599977886 -0.4018011769808473 -1.187796402701623 0.1703443242323539 -0.004939114052831715 1.515936670274353 0.09621285009666768 -0.8198337548878135 0.4633970578875035 0.7997843299530744 -0.06592439098538383 -0.5655214749507356 0.349248145562976 -0.2460381883585712 0.9000625383546504 -0.06788849401804695 -0.2610680273939254 0.1471152573246618 -0.3253529800214918 -1.319379637734761 -0.9127046605876123 -0.3297356756076111 0.4476255090852348 0.09992908902848112 0.05469392960190071 -0.0181036072326637 0.6164166156501449 -0.07136945812309345 -0.8592364201951764 -0.9045319169595633 0.4291372252737971 -0.3722486309951032 -0.3081010434552243 0.5845952925916319 -0.1029314313986437 -0.1043883715684101 -0.4250020586614625 1.642890743362827 -0.03680835267467543 -0.9499218334629835 -0.6580968436288834 -0.1691714013677893 -0.6175535494483372 -0.1862845647616519 -0.0009149665887478165 0.01996329942590669 -0.2874980794684409 -0.01105010473939938 -0.1294902471405336 1.625148069065888 -0.571799269459752 0.1326144569324288 0.7779049486967681 0.1847248634131281 0.294086857222954 0.2779192737895839 0.5980179619370786 -0.3648907547102997 -0.2168615334076153 0.2673240612044427 -0.1074715530912914 -0.1921242830804836 -0.5207364469110596 1.002227602465192 -0.5537814005225148 0.4124950909091979 0.1121043678580246 0.3269982243107592 -0.3239648329621943 -0.5065979985263334 0.09215785887333672 0.4545287231324537 0.4535565097651849 0.6186557854442919 -0.1471608426515383 -0.3535888649497511 -0.09783450708629636 0.631113838434143 0.7983933156740906 -0.1805703797703055 -0.175654908505483 0.8508517262364115 -0.748726957044254 0.434874354302369 0.4611935334077459 -0.2406426015550265 -0.8327295270058276 -0.1147755775869681 0.5935319184809872 -1.003704513890956 -0.01254958002360172 0.1171773064391154 -0.2478837757465485 0.6392817786244256 0.2805672865715953 -1.454048919084821 -0.05497134571957377 -1.15662146042967 -0.5209539877249314 -1.097421825681888 0.156517917021805 -0.5859719834604383 0.1249815808204087 1.57505087197813 -0.329142129812231 -0.5593763172311484 0.8324148901168797 -1.316990402755196 0.05534084337483441 -1.353050095417278 -0.4782650787048228 0.4022980375198293 0.7074601240811325 -0.6019155521179601 0.3671199214330921 -0.2643854146412142 0.4714857449690221 0.4582752792447078 0.02596953750327674 0.9073467179038521 -0.1302745113449355 0.6165797022741162 0.4441735354367275 0.1303534168814593 0.3253993466467857 0.9938762140984019 0.174430516835282 0.2833278192057345 -0.07411666002679632 -0.2008023985694255 1.113204348165957 1.207957024411869 -0.2046852260208368 -0.008126644385553125 -0.1523459327239873 -0.679125882146521 -0.1933700278501552 -0.4442525281843174 0.3066082886960287 0.01046348592902807 -0.3055425414661649 -0.7746246310831446 -1.314058464453326 -0.3974424894419945 -0.03271451514817455 0.304816637378986 0.6415353056771147 0.5184710241408877 0.6338868768708387 0.6184091568717274 0.532502358030261 -1.065838046080488 -0.08728779385952433 0.01564146767923517 -0.4474568464052374 0.7136077047240218 -0.2414950507679378 -0.4984542378947845 -0.2984892906847849 -0.9935573499760073 -0.7358178883409787 0.1733965470616527 0.659458928756753 0.2487153975045268 0.302825402338527 -0.0004512995064122698 -0.15372476975086 1.557456887965121 -0.4958880629736337 -0.8056660850700768 -1.115115899525618 -0.1932663452377032 0.6102985823388144 -0.2831696690379672 -0.3769042823635997 -0.7083734989126154 0.006517924657806184 -0.4834615577725792 -0.2202375861251955 1.434324898495071 -0.4047016977592962 -0.8408515692614166 -0.3756853054090141 0.8185781431049811 0.6146079770849132 0.1437958980200915 -0.4145639715118386 -0.2326655955012132 0.4667608012429116 -0.2508775350279809 -0.1548305479850981 -0.02465233384424195 -0.05198010014130972 1.322721979448288 0.7618746770270042 0.2481537462016717 0.5511974771347982 0.951829897041542 -0.2315129696235601 -0.7611842361573735 -0.5239140697047281 0.6053766845305172 -0.3470448608806293 -0.9022740129335858 0.1445099551110537 -0.8083530748804871 0.2798623230733266 0.4075013005555036 -0.1737373933153049 0.3156308650574163 -0.4557829543852739 1.14031280366463 -0.2545219589703716 0.03375974004058413 1.289474184566552 0.8125341580397885 -0.1232815314242384 0.6019467434861547 -0.024788505303876 0.004594902426868491 -0.06625897683198612 -0.410639294996528 0.0902953752380712 -0.8449403258485502 -0.2307000154251307 -0.05014301240995921 0.2942212385502402 0.2938425243201785 -0.08052942188662829 -1.605089132125898 -0.06134492215144603 0.4815297687180057 -0.4425694982056295 -0.4447379796083654 -0.1715050798920526 -0.1821107137333272 -0.6979893748314389 -1.062531569371679 -0.8219908691502414 0.4378991009489818 0.6402049564770661 0.1369354696800854 -0.3290758553311232 0.1149901615703483 -0.1841472472546134 -0.5374415797560668 -0.09825425137556899 1.394986392316045 -0.3154081870990169 -0.2195199162706959 0.6127427258868012 -0.6152487486705425 -0.2472848347706939 0.5971290768029021 1.109225157358052 0.279729331327035 -0.06833945216129331 -0.6456348365478727 0.2765025358968772 -1.324954042730909 0.5039677957672865 -0.2758133989415504 0.001574378355121495 -0.05910955857434216 -0.02626408512210809 1.469749484509769 0.00910510243707229 0.9708908161858707 -0.6021610609834741 -0.08519090883108835 0.8191787101535664 -0.7639786272774964 0.3696447616205958 0.2906313916769104 0.546083268874355 -0.08505294846548235 0.04991499653424435 0.6161248520023763 0.8856927432277176 -0.6721320477923058 0.4107172278952153 0.4862145832894723 -0.06156778416088815 0.2498037454944844 0.2081470327589805 -0.443011764797542 0.001100423373349494 -3.279583254636556 0.3805148190201885 1.907889798374138 -0.1261958224258112 -0.4822467947999942 0.7366771474182787 -0.6178337544039201 0.1090519724332735 0.170718989280373 0.2456396594994354 0.5510389784112272 -0.9303206948898606 -0.6753640152576696 -0.1805580172723091 -0.5521989557953237 -1.120671607446796 -0.6352048155563568 -0.3316924078354098 0.00772341267209248 -0.5040644590014353 0.2836478644104315 -0.2702222164278382 0.3290536785219528 -0.7659923691424266 -0.2539070980227651 0.161610728069063 -0.3647671772602618 -0.2004537508353916 1.008932010125966 0.1333503035303863 0.9950050973827667 -0.238897206555114 0.9152120152470956 0.0900266970984807 0.2718734786885675 0.2275766266509741 -0.6542432663415912 -0.05327545306888107 0.1844941718429028 0.1715554651157978 -0.1043239517789008 -0.6643893029508535 1.316880898681035 0.1860634444608949 -0.2170919863751998 -0.05294142426401586 0.3748383875176499 -0.6723373585207272 0.9903266466504137 0.05346139486482066 -0.1157748506809246 -0.1891106759495228 0.377749162964192 0.6381240685158378 -0.328218422338617 -0.7842520118075399 0.7724541636310551 0.2450268897512262 0.2329058165281878 -0.3221286028600677 -0.9460019795498631 0.005572142081397991 -0.3879472304635449 1.051845772900135 -0.2028430917923095 -0.4727597137495675 -0.4812085929439646 0.3833131142891144 -0.3259780983510769 0.2804998895056731 0.5445971583654358 0.07541577708194537 0.7177285003002953 0.08470090724430297 0.2856526269386804 0.2526779623193923 -0.7456445168874459 -0.8744509553057987 1.037553514189589 0.1566801662472412 0.1606796462803461 -0.1992322633300739 -0.4212889055980021 -0.7019013698206863 0.3606578494611222 -0.00829218804132863 -0.4151978649657777 -0.1184294486576457 0.1040552339545071 0.5027015080804352 -0.1096244811510524 -0.2425887179292806 -1.011410518223579 -0.3746393875813039 -0.2663492712303882 0.009987427505916573 -0.2889678825780922 0.3965215745488454 -1.585026942518898 0.2117886625492138 0.0559591523879945 0.04830319829419195 -1.043835492779191 -0.270385635253771 -0.007416571259231644 0.3303708961503565 -0.6264440425485939 0.6867660016857804 -0.6641670059955056 -0.1778242646105796 0.8512940227790712 1.703465949569401 0.1823241422351807 0.8137568523585218 0.5384935519559005 -0.153125017437582 1.504273003559242 -0.3209428332254196 -0.7366778211440743 0.2374679671514616 0.0007254341946184501 -0.007779221112699878 -0.0551219024794837 0.07007040877495967 -0.3640321797497862 0.1799667748339128 0.772724719313446 -0.5410748152836649 0.1787281106675349 0.08890087280156876 0.5009489276696736 0.3127476127369794 0.8197382516614026 -0.5082869476988416 -0.08640319936251491 0.2287806308595634 0.3366641208662302 -0.7492340734139316 -0.6193064749636455 0.243154137809819 0.7636021350905045 0.4751850805466222 -0.5121559978005611 0.1628361719886547 -0.475566168468769 -0.2058075620150368 -0.9456366253298198 0.01484391116483007 -0.5121399955812812 0.05774898911588505 0.07539430862394045 -0.2247137874364027 0.889315966110195 0.0794823425992511 0.2934688679748732 -0.1857237732523102 -1.175033152360481 -0.321460606063422 -1.744091285386265 -0.1869112054706227 0.8930031520966335 -0.2322902228138825 0.4206688080549233 0.4498103926352152 0.1124225760635662 -0.7682470215885521 0.8424180367991873 -0.4405169681441045 -0.6831649221587306 -0.3602025959064385 -1.674235027119741 0.1850858215387233 -0.09505636081504409 -0.1465225708168583 0.7705132673986417 0.5395625496006836 -0.5420577837148883 0.3348212683696854 0.1335173456268129 -0.4086592604165848 1.793743629999943 0.009329138882003955 1.497776532011633 -1.140275045255891 0.438027488180608 0.2785218873853041 0.7128107646207055 -0.119495411566686 1.063114731604561 -0.257151852759495 -0.004918395099839385 0.4644970468215658 -0.7096117619352521 0.209943424987707 -0.3579423740974972 -0.2504483565922263 0.02988519645334658 0.6585815684856212 -0.2859773032732463 0.03929688048999185 -0.5851841769494518 0.659217700242859 -0.4954450483212711 0.2751158688121802 -0.2942216812130203 -0.1115916435453765 1.646748920021339 -1.546462643237094 1.160410355201158 0.2143314974927638 -0.9694168944118925 -0.2713565232119043 0.08075098034193713 -0.004841725453558776 0.6275838929571326 0.4379542342333141 0.3681619911904963 0.2436844604674384 -0.8264256432714383 -0.300322545809283 0.004131887674215206 -0.2021420387611227 -0.8620519226480667 -0.6102552096977578 0.1644624544992578 -0.7784287649113936 -0.1170921817634643 -0.1032197038153913 0.2272764714200504 0.178601703859873 -1.632806762898166 0.3442682958346173 -0.2805923325322157 -0.008902929885367398 0.2285995590660823 1.207377098514838 0.1279818667745554 0.4684258085716342 -0.05457991574718687 -0.4445689498676313 -1.858804454077244 0.0002088279491364076 0.3074785962069165 0.09896615281555682 0.1927783266092232 0.4385315796501223 0.5164225267373552 0.3252803267491637 -0.1694893795863147 -0.04078137681341542 -0.6040696228903588 0.9946239142090406 0.2671238240033356 0.1862038915531082 0.8381697818341781 0.3375949726138922 -0.4912376208811265 -0.8317801628718936 -0.4136422707318227 -0.2651073611493849 -0.2154318269427425 0.04262136133004279 -0.2087630862824442 0.2738384828922634 0.6669396061779519 0.08284562290362492 0.3687715984517818 -0.799626107479434 -0.3695533494636007 0.01140727221051282 1.104807639277809 -0.3766131862459511 0.5615522201063038 -0.1836339933570154 -0.1373169697867313 0.486170779150647 -0.007891242331944322 0.360702119657647 1.213223049986051 0.7040466763048816 -0.6098245364125394 -0.1580619068289647 0.7818528030769073 0.1708861469101151 -0.4370186876967765 0.8893548454818195 -0.13961450492153 0.3354500244971572 0.5379405699816671 0.3558835589763539 -0.5200932286046431 -1.291258211167872 -0.6577286473354986 -0.534674300931034 -0.4157407111873528 0.08764862171013786 -1.287327742634758 -0.2785363204377633 -0.6334649607755153 -0.6623174777168767 -0.464971193685329 0.5221977997837997 -0.4214182741837214 0.09941389468552424 0.2895749320526004 -0.143715581217553 0.6979187408700155 -0.199162778331156 -0.1546828785487149 -0.5314177892557843 -0.5466002110916027 0.2356852645677072 0.5772290635707478 -0.126068112637106 -0.6256507336525317 -0.02962472882185077 -0.7728280519273888 0.2988421240107628 0.5279705783298213 -0.006701572998842934 -0.4570766941280024 0.2924937816917008 0.4131384493550817 0.1055548250682838 -0.009285278103731691 -0.05320892061788417 1.230085263932825 -0.2742462444622463 1.146913657831044 -0.6270801849050079 1.651926031645182 0.1000379380412278 0.5283398086720467 0.03786706560738414 0.2023414505912378 1.085967682696042 -0.5440694694686233 -0.2441101801368948 -0.3109300212874468 -0.08081288000412824 0.6593694122883441 -0.8025168069460328 0.05322689037404074 0.0166746428494946 -0.8598858998500959 -0.1266391026932781 0.09610951336062483 -0.6387544063643379 1.225818866361264 0.1023385213295769 0.7950121350436214 -0.8620899247887951 0.3664948588127079 -0.2386005956988956 0.4922660053956139 -0.1357100556895547 -1.24975559327056 0.1392523440802057 0.02895435256670682 0.05304158769043418 -0.08314495179622011 0.1332203111735362 -3.102849791101276e-05 0.4215342498413911 -0.6874086881950703 0.2756134239338811 -0.2930740348760967 0.06812588260534774 0.2433344375644199 -0.3880607928365213 -1.437816890461055 -0.0624723231831482 0.2772873882398907 -0.4429215301212023 0.3238555592881417 0.2524304090501053 -0.4420689735973362 0.009720668331741587 -0.3780058145931429 0.370507763366296 -0.09044082107209431 -0.07899608996572763 0.05452310008996217 -0.3561202726699921 -0.5163047433910939 -0.1919699242059392 -0.871210811568274 0.4620915864960874 -0.197463551263743 0.008937724961307309 0.7511359579857656 0.06445994823763633 1.059235256885534 0.8527893883344433 -0.1097172987527782 -0.3195436144131246 -1.774095244373878 0.4622967695496868 0.269769666764071 0.9010981347669133 0.1529302886341905 0.7177162847003717 -0.5338126524623314 -0.2567442833958357 0.8138852844039289 0.009935589949836123 0.3366034652168504 0.3612125940585852 -0.4433668469395762 -0.1258028873783085 0.4483184072505241 0.2400507974432889 1.355251464124407 0.1475518119863851 -0.9333867864195399 -0.04832493763211351 -0.3921097657905944 0.314346952769643 -0.0691937003171751 0.5909759906796289 -1.266218076057236 0.5807993698458551 -0.5975529870842957 -0.15146868395566 -0.01582888652550619 -0.2139574920405957 -0.7493822633927835 0.03656974539138239 1.905765117763721 -0.1433544762572104 -0.1854492217675914 -0.6471083917372642 -0.04163836398405175 -0.220226172912792 0.5839502012866908 0.6236507932257767 0.7688765388107095 -0.1001860413137647 -1.357554916449353 -0.4292576846250828 0.3506395737060252 -0.5110451281224704 0.9248357288187308 0.711417582539454 0.2224445608516616 -0.0851020151224282 -1.146715078427616 -1.497573202180412 -0.004417890721725902 0.2328512017178057 0.1865915854772532 -0.6062498734334297 -1.952444708229497 -0.853459697207044 0.1001049086161578 -0.2070194332783266 1.881632352668136 -0.01027361197859081 0.0367240338622814 -0.1967730200879599 0.2100770766009203 0.009727921817786839 -1.391021716141221 0.2778359684062145 1.152318819421677 0.1921227862973608 0.7340192748149797 -0.4929727731825675 0.8067248058452747 -0.2222193734930063 -0.7430584581417394 -0.2568732247445671 -0.1362861136263466 0.9721028743193943 -0.8772548078600998 -0.3935086435046175 0.3844011484182838 -0.1000693281769333 0.6787623751733687 -0.2343480402716382 2.207999198953805 -0.1110515653452504 1.028469911094961 0.718120952820994 -0.2013808781188711 -0.2313968766306009 0.4141657663800063 0.06522237340293432 -0.993170217476142 0.06570677755108964 -0.8384644771007378 -0.004233011193398495 0.1226254170344789 -0.08436609426781749 0.6136013819631918 0.6399948425758188 0.1089699024531399 0.6883603454505721 0.7075268558290591 0.1411222580079699 -0.3925850204480438 0.7433005621018827 0.1359439827766956 -1.700780326728892 -1.229365740589268 -0.5385441495227856 0.5727340954758106 0.2128146029771701 -0.1312200161720206 0.1722652046097126 -0.9849588037999399 0.4860801403726634 -0.4057079888347738 0.2803841983724042 -0.1969673972124978 -0.5951867344682158 -0.3640948789124295 -0.5360877994401571 -1.011972971850724 -0.2278977224100959 -0.8036122864663271 0.2865691169963496 0.1545776339170212 -0.5737279399232689 -0.3471212421188303 -0.1682377107306391 -0.2051773684837357 0.9620846286416865 -0.1535596627413589 -0.150095375038887 0.5940326382535157 1.181678041573918 -0.1626118519519448 -0.3420339032212658 0.01869229978245614 0.1748267286141844 0.540634612814425 -0.661052088797918 -0.145969072244076 -0.5556564832413524 1.820008031931235 -0.08867816285927646 -0.1274481732132153 1.206602648431398 0.5772166040536908 -0.4900003297015804 1.739073241430933 0.6815052596315458 -1.725572852801811 0.3148703774478631 0.5785180379087363 0.3568971895393758 -1.26053263260011 0.122370827015704 0.2438443307375424 -0.4572732137734197 -0.3005591031522464 -0.3509748509675182 -1.828688776453371 0.4678376996078296 -0.7658668229521192 0.01893303891672767 0.659638153941976 0.3959333902725468 0.7135376858077668 -0.1963649726624343 0.6542521197365825 0.843309481101111 -0.7806738319334057 0.5765160275295703 0.5469193627511458 -0.1788956301072898 1.306770775912562 -0.1651874506666196 -0.01003412819832479 -0.3480851363956858 -0.09195831275751042 0.00227586856876138 0.2297719157351016 0.07779684105751901 -0.2520686732307417 -0.3096136351559688 -1.372558140986415 -0.06126154381087894 -0.06518932116930094 -0.2442322513952662 -0.07433726094715377 0.4102150160838152 -0.5003193239481627 0.08370603445889931 -0.2146386496078637 -0.3044207557086861 -0.9684853678592431 0.226275713580532 -0.0743313165907927 -0.3940727771512822 0.4992508954892525 0.3038041530408707 0.2219722898685886 -0.25622779580187 0.1856254775161468 0.001449332208014873 -0.90902841888318 -1.191746897117226 -0.0007744791270945562 -0.1703580714754707 -0.1198345992469845 -0.08172182849797127 1.589324679073573 0.1266900261022991 0.5039885029136948 -1.428111407640637 -0.1544897045737554 0.4033744351607002 1.042808351111211 -0.07809002293227317 -0.4393203906326739 0.04315697516641333 1.005920478474076 -0.04833771264915553 0.01253545414094304 0.4501830472554793 0.7887298555400982 -0.7113013414509975 0.03413577738848685 0.1845776035498318 -0.2427317498420288 0.6659923770833888 -0.9466669181722833 -0.2407296070102057 0.6112924177356432 0.6567083415441837 -0.2721267685998682 -0.1422782957589224 -0.02584008932984962 0.5846221056309254 0.3047286047847331 0.259786691982111 0.9081015535247582 -0.3314781735591645 0.4302270972533065 0.2310220300561005 -0.7944772158966252 -0.3064832982832423 0.1435003606507337 -0.2559220115309921 0.1875632840613181 0.1646767556822685 -0.1576757655798819 0.2479948289343304 0.3867991734736635 -0.7826126872786031 0.4923331643007557 0.3085789932817638 -0.2863837189945685 -0.6771376916137075 -0.3576869475694751 -0.9003921792546946 0.4731917397893392 0.7569156772692932 -0.3798034042018651 0.171001888919447 -0.8152952057461139 -0.01544989787262055 -0.5772465155181172 -0.2356101384814272 -0.2652772389635187 0.04499113780879285 -0.5880628494364856 -0.4209466710864849 0.9834842296449123 0.2062206886875069 0.5375141220659221 0.07771319160451759 -1.175335512829035 -0.1869116228740793 -0.740290160826059 -0.08340992061673995 -0.809843355448332 0.05882770019083379 -0.7182768894297146 -0.4366129170893076 0.2681843975422142 0.6733542644933052 -0.2658598682932107 0.1090185190181058 0.5023713935116498 -0.6046971577064828 0.5245648363772111 0.1923739752783754 0.02948223524094889 0.702048884486891 0.702118182065031 1.005307187085351 -0.2821634212209378 0.4832151287135075 0.3731055498370735 0.08825718237359841 0.9141175184288381 0.3005357489840217 0.8857677827681538 -0.1523869914534218 -0.0110691407393682 0.2203772677685968 -0.9438757850123449 0.8565381178541491 -0.5985446490913757 -0.05867478979348714 -0.2267121669725915 -0.07163206371283419 0.1713712071731462 -0.3909186192235937 -0.007029161978954235 0.423302573723114 0.5353944201347602 -0.1148537517866163 -1.083353585058303 0.2115012032508811 -0.3230920131701847 0.6146300976870567 1.145167072574056 -1.000134618956961 -1.034918761786494 0.192936643573299 0.08169519282015765 -0.0005594406580140124 -0.639416774435951 0.2187222059283873 0.8814215148916824 -0.05431636123990642 -1.198901126247313 0.04477862394646499 0.4594805637988193 -0.05382837993525142 -0.4651276896966771 -0.4466029967083827 -0.4876476769743238 -0.3831214292651928 -0.09549808683465204 -0.1056570261136102 -0.5346408064505607 -0.1006924143743866 -0.3448513650682812 -0.0623945196939486 1.017477547671351 0.2691811538910076 0.3691988277037374 0.5076037657964028 0.6127949110910138 -0.00281043080834181 -0.9670426551604538 -0.9144132115324656 0.7592051090555926 -0.9213089162886074 -0.1637137217889721 -0.7652235901753265 1.700680513065561 0.330717610046461 0.1113480064136427 -0.203784114307764 -0.9266276400562882 -0.324608963705503 0.1003218956903223 0.55350518274533 -0.6452039425502012 -0.1116758532091808 -0.1146042690435625 1.164856306862608 0.8976263828896521 0.2591339425563986 0.1264341186791581 -0.4577962809493802 0.3385514562238004 -0.1283080432943866 0.4243195182506257 0.09982490079591734 -0.2185209871883063 0.3845803468304053 -0.3767084803585932 -0.3558464573668005 -0.0311460063025764 -0.5549058229059306 1.285376735257578 -0.3889554386571587 0.1315483029194783 -0.5468144882998278 1.03764162541155 -0.2270085866746663 -0.1360952686310312 -0.0669078974673573 0.9014312568203151 -0.458823509739298 -0.02540814950801942 -0.6367965607147951 -0.3582825384405993 0.1921126871328479 0.2860105844541265 0.5974255160484974 1.525730181835167 0.6447487284523734 1.751122987089747 0.02856987148429221 -0.9716916863477063 -0.6930894267532752 -0.6015790210124006 0.489619850782939 -1.195110928503471 0.05692810307138191 -0.2521564353691169 -0.1204038600194813 -1.61854554667122 0.5073445133610653 -0.3740009021808549 -0.7076222026399539 -0.2076283737827539 -0.2656206109871743 -0.04980288245933567 -0.0796541198832305 -0.9296633692891058 -0.2719089884926791 -0.3269135099023814 0.6518321349753837 -0.2141198186724688 0.5863294330036842 -1.327467602551059 0.3075070063317796 -0.4774687578001719 0.141892545658133 0.1821988473832453 0.007324435022120452 -0.3260807232067082 0.1334329783195892 -0.2093189437716232 0.3854176837347869 0.07819921475892307 0.00765177975651501 0.1916506412312074 1.026725734386222 1.088402034185078 0.1047748022638085 -0.2574730519466376 0.386266582794967 -0.0460214910459462 0.7170852927357662 0.3981606735074392 0.305879813795099 0.00298520729048783 -0.8149591055433406 -0.2728531748663678 -0.3484611606075667 0.03530413972605614 0.8878555211213898 -1.558726832483843 0.01132467738664072 1.142289684424324 -0.1490845676091073 1.099001245087408 -0.08634075058282603 0.4051837689948185 0.2219926922091113 0.3677824357103691 -0.9124114634413922 0.4166522837225745 -0.1825061671589266 0.06339870334956449 0.4976627067834364 0.03667354859977136 -0.3347577821081487 -0.2794214227122375 -0.3619695867513208 0.7262282372457994 0.06259275638442492 -0.8028546278165374 0.3412932514749255 0.312888094314781 0.5171362687582408 0.05567703685139146 -0.523831727371073 0.006607881888106503 -0.2721400837009483 -0.1185166056892817 0.9397904842129071 -0.8381272211608358 -0.3703291712200431 0.6479497184669136 -0.1778723493583317 -0.2956042934583414 -0.7087102200269586 -1.788872542031166 -0.1725820345505352 1.059547249896424 -0.5626622621178589 -0.2375996966564176 -0.9558888618667543 0.09898793431456192 -0.323203958552458 -0.9788454212341755 0.4477196974241014 -0.426013174385508 0.07769968534663887 -1.629262120810244 0.3958517303699115 1.521751951133877 0.3282540964707268 0.5938939093517918 -0.509088406474976 -0.009833525127435804 -0.8194112772078791 1.250498302162577 0.3370202618283413 0.03417617225044326 1.717749326247836 -0.02440324319770473 -0.06290479541259703 0.549892562041471 0.07152852693059546 0.4577060851732402 -0.4877550236707753 -0.3946256176395886 -0.3856333443024746 0.4702262958175579 -0.01319863706376194 0.3070606797076771 -1.028863591791529 0.2085531594442681 0.2826301815986337 0.1151784922946212 0.6585850401028464 -0.2360900799167667 0.2094196219290671 0.1923407699846222 -0.08022775102084527 0.4968101017270644 0.202474350720355 0.1178391233271767 -0.005706252492532668 -0.2398114896627555 0.3242051701226565 -1.440924327194746 -0.1945383619844735 0.425038931272712 -0.4300861149169831 1.458585154443995 -0.01000201469203223 0.141522833483669 0.6314007198988827 -0.0699676035985545 -0.9591857379578067 -0.009225208823334869 -0.3210822428715455 -1.22034539901091 0.3952375087079203 -0.04897949504210001 -0.1547174603190887 0.7200418165409349 -0.1048638452239769 0.3914099127830643 0.203846858351361 0.7084194512866879 -0.5533684186623518 -0.9420654807068323 -0.2233550515428896 -0.6027664166843383 0.6773885549788834 0.01206878196651572 -0.5176886344160755 0.4718984291988162 0.000246115773539735 -0.4753208301494043 -0.1128330759792643 0.3215106697838065 0.5882127232443158 -0.971967194639626 -0.3964411768251761 0.5009952588544671 0.4102810624172282 0.136382865044125 -0.7690864251632107 -0.6357685573227009 -0.2638267892535302 -0.1443211827828381 -0.1418676003513652 -0.7643051968145177 0.05106499209434166 0.8749974935864183 0.2536666535157479 -1.155348494575712 0.4072519369615932 -0.9750859340011774 0.1923393159022461 -0.825407807024169 0.5053504888773366 0.3165303599583756 -0.008670441910367295 -0.3530548655020911 0.9205993217765116 0.6834397120518932 0.1166386918761272 0.5681848606129838 0.01344412774094665 0.6067397954253264 0.2260129618016777 1.802598573280337 0.1565478594259119 -0.4271564103659853 0.3192896507856038 -0.7277721701729458 0.01910224284049087 -0.3311672317071301 0.07667514093366623 0.6328903880426073 0.2675759244641561 0.7560068459517119 -0.0005243869796600717 -1.070555392047019 -0.6543383916141223 1.66022858373597 -0.4771198932895072 -0.1226870801201958 0.3215908938146552 -0.01126997098545646 0.09972673274901162 -0.1794034252853307 1.258983913379955 -0.2948615474334354 0.05545056717489585 0.1238842235747976 -0.1123142908107056 -0.8021130445470952 0.5284623890854863 -1.1348455955238 -0.3282711066548773 0.2489673334308318 0.1507754912302219 -1.798359358119346 -0.1348520537160079 0.2506378223124909 -0.1922568153105744 -0.5887427665060665 -0.3237421311878665 0.09036645299738631 -0.2917069301060846 0.1355922990553431 -0.4317981812245217 0.4303139315047562 0.238432140480121 -0.1323340987138941 -0.4683529216222425 0.2208339418547726 0.1200405978415399 0.009346647903799063 0.329295517961171 -0.5264846542523224 0.1259200911686123 -0.6341938146192406 -1.278052526541242 -1.70307082426765 -0.1312218090654549 1.959397845077931 -0.3546904125793177 -0.1614828170543755 -0.03427158736678318 1.281021202665336 -0.06270977956372918 1.072393708272277 0.2864306839154132 0.4098150206883205 -0.3026333128842831 0.960223685805109 0.1515760089086151 0.8051842827315522 -1.278946318337841 0.004385298903019559 0.2808642726353432 0.211799869220955 0.5901512252818927 0.9353424661847891 -0.5936652403282899 0.5370045681202513 0.3094397695760571 -0.260677232881783 -0.2189580515032684 -0.04445269607767605 -0.4740900008706864 -0.4357712005285696 0.6544085504138178 -1.401708985790057 -0.2326512336421566 -0.001498936450142108 0.06226672823545919 0.4554355664426424 0.6128495994685795 0.312739484437472 0.003406990890051111 -0.7326858225977273 0.04645878430532518 1.049798397661615 0.1149979151104473 1.069354453973522 0.4887066001677593 -0.3073532510088906 -0.3852501723779511 -0.1233920656935001 0.2012680631721233 0.333748918345563 -0.2473707272186387 -1.848910133789597 -0.4364668198843457 1.053993594169429 0.1230202343775328 -1.574098653525915 -0.06237261431025699 0.4065792231470304 -0.283970439526539 0.4383210505997173 0.4208588307783747 0.09824481915515802 -0.2992603523722603 -0.7313031729766908 -0.7839535625109644 -0.4583936919028641 0.08311840451096277 0.6646342296853219 0.1043660266960661 0.02383881095826788 -0.5764116304958394 -0.5003514437176576 -0.09310144484461198 -1.206018067600163 -0.03631323187856251 0.427748784698885 -0.837860547667356 -0.2285479498260592 1.18298057853315 0.309272274376548 0.4779978297100847 -0.0173306466983207 0.479972249130766 -0.09921581318304053 0.1294945522531023 -0.6224831937402147 0.2184634310056417 -0.4849799738264322 1.223561175006344 0.16493439712519 -0.01820367206824286 -0.2873585225845595 0.06779497601999851 0.2279124088987276 0.3305722464169867 0.403642040024912 -0.2134879354435868 0.70404164997858 0.01215661472416186 0.316468339256521 0.5227395296043019 -0.4866188634082365 0.3639704953137992 0.6192629930812673 -0.1482659532342167 -0.2853402140424523 -0.5444207900608324 -0.4504290430639812 -0.9895005881242485 -0.5892673975056293 -0.05164417344576611 -1.338449262914605 0.9491757636106485 0.5821355585836379 -0.4460865270062579 1.40009733612735 0.7567310806181003 -0.149501427995451 0.1559340947263158 -0.265909202750389 1.486412519838367 0.6572794721464207 -0.3539548924879611 -0.1151797641173939 -0.003323395205720904 -0.8753758607753542 0.2578312763479558 1.444941255254614 0.4489148754745873 0.009570878543711928 -0.4581063485726473 -0.2134211412534883 0.3784780048810062 -0.5792145302814348 -0.3294413071916232 0.105224991184231 -0.1180750237590267 -0.4274106621567448 -0.04642153477414124 -0.5251617898935376 -0.3018858677568209 -1.663948873846857 -0.585021000694987 -0.6771161731265081 -0.5384690827113189 -0.2894849439345928 0.1644299454677874 1.658649227845214 -1.119626417768432 0.05920900634139444 -0.7655700609125126 1.063946270912535 -0.3835241341809466 -0.718453906436629 0.0004837176359337659 0.9085891271210481 -0.4022565512801318 -0.2540579098761442 0.1351582223794492 0.1213610226858541 -0.08889746169369753 -0.8492082125287344 -0.3834763960176693 -0.06755562208167845 -0.2302005748365197 1.149337670633044 0.06297479928861563 -0.01817989789964541 0.2264277763572502 0.8946783561240566 0.515918612136422 1.217290994827865 0.1289608189703416 -0.08828134176425104 0.4506898369228844 0.5550763069961034 0.3299062845578278 -0.7434344304414431 -0.5407057797927926 -0.529850130588511 -0.2044899108507073 1.813207671318276 -0.07555001693497558 1.274613377190384 0.2145572192422521 0.0493798335112643 0.003157634526192271 -0.5252509921653248 -0.3752151203186255 0.1927739899385353 0.4278336300630253 0.8007848398421229 -1.002566479752192 -0.7876556750317112 0.09607501639927875 -0.6541005083761026 0.08149676927658048 0.2449826849548865 0.321093396781884 -0.2188577372757005 -0.09943030440668971 -0.2276529504616311 0.9422519459607407 0.3678732866415999 0.395831321138268 -0.4572737524389665 -0.2266015009210958 -1.645305026760228 -0.1570067047210824 -0.1789350033159919 0.006068005304673564 0.2289485963962967 -0.04787568588568633 -0.516807198948527 0.2703875180341409 0.2142516479207926 -0.8148862124986969 -0.06017281786981678 -0.385034635441629 0.1818654896245848 -0.7017776483280136 -0.3807409527984254 0.119139437628251 -1.299922134560267 0.476796795097979 -0.1318921816390767 0.6185714506937041 -0.2843101458919205 1.140334037634415 0.902994710259761 -0.306375693435719 0.1483034417248334 0.3377382203572348 0.1471718550581016 -0.4230108059366477 -0.8660162532533514 0.01339167590299217 -0.009143210252280418 -0.034051918060364 -0.3686276666279881 0.3717201734275682 0.02860139754802495 -0.1128843191646227 0.6887573182027343 -0.1591970768491079 -0.1715633784621003 -0.1872729061940558 0.4416028334796599 -0.0489483041389225 -0.2429973934777983 -0.01696979906431002 0.5006146319404804 0.4380332496384074 0.007673499330444383 0.06887254619478078 -1.043462830757433 0.3085123801661185 0.1459376717039927 -0.2385966694273773 0.6750102057944015 -0.03767418514681366 2.444481629977254 -0.502596278111283 -0.9865732479654851 -0.06130954915320972 0.8161277859384977 0.1909810835937949 -1.171886656214913 0.6081457660690335 0.2332946870507987 0.7842340083365661 -0.1009206255250047 0.7275600893781886 -0.0548494681254112 -0.004016548687421251 -0.001233603856657476 0.4244658916416322 -1.88523095000706 0.2380511971875625 0.2226228183815427 -1.516064481888847 0.4482907281598541 0.7376609832041306 -0.7089660693408708 0.5707638960958795 -0.01218325260323119 -0.3801875421309053 1.219449099906327 -1.32392163894741 -0.6604547021313629 0.2874085983134962 0.6755157186038797 0.1377823871406673 0.178469277951691 -0.6850666920742602 -0.3549759981510733 0.002682242274523134 0.1826829199613449 0.127604146273893 0.1472585094957417 -0.7674260619395579 -0.08270549596246607 0.004265428970513515 -0.1502722839503281 0.1578030671472133 -0.1451383375085632 0.1826034756018891 -1.573775078383948 -0.7361667580525191 -0.06738587938554162 -0.3834767964687792 -0.7017589874254127 0.2787122552796762 -0.131693631743626 0.2175989100132994 0.2600601270438912 0.671503519463133 0.2705472436674258 -0.1355416650166588 -0.3007656624024362 0.08877347824398815 -0.01513074381950148 0.5786719122169455 0.4255864953426914 -0.4829388369619626 1.188646944944917 0.3950104873092168 0.6055674749342141 -0.2007768055632768 0.2555928103459136 -0.2905084703759563 -0.8217371758066844 -0.2149977282637479 0.691745068894025 -0.06548627386564507 0.2780634852444993 0.3739715153819703 -0.09457819818014265 -0.2261349264024233 -0.01427521295866053 -0.1564828104329169 -0.01999837429596257 -0.3022477029280811 1.645390286751769 0.1850894394955887 0.9423876296092403 0.007653068503536796 -1.104116180498375 0.2410533181373295 0.1786083455514292 -0.5650988503115452 0.653935833023938 0.5875780562218871 0.7580606635226922 -0.4828352644042733 -0.6357348410374531 -0.4555676652947145 0.3515314697954205 -0.2627191220485159 -0.4325773089440245 -0.1676831715459796 0.5828103821097941 -0.1487712989764217 0.9514258364487785 0.9298984422685475 -0.4218389259443396 0.1360594136182092 1.180796318776005 -1.041445965361354 -0.1779948349700421 -0.004194533170171863 -1.083230538021039 -0.6223987443258059 -1.514404654426101 -0.2169907365131252 -0.1009883414793302 -0.7463595285436009 0.3143196586197985 -0.3842835838416952 -0.4295644309596425 0.01049252737929752 -1.840353005306957 0.0007786131463494019 0.05876451671252978 0.6932458940782847 0.9883087579787394 -0.09019542587871524 -2.02352350833688 1.192716310550662 0.1149173171919033 -0.3162452238440549 -0.308066972071913 0.2015355815264464 -0.868888954930033 -0.1868023575256961 1.646755721260085 0.0005417626695170249 0.1451168975337485 -0.3738789330796595 0.2408532081471454 1.423517221101356 -0.05090584092399449 1.269821945628895 -0.3385465151929549 0.09067001223462406 0.3440570911438302 0.1685191100301176 0.4712117881142978 0.7157013771850166 -0.2645756614945163 0.428774991444611 -0.2328649426665644 0.5803716166897775 -0.8198270934425677 0.6219261662885922 0.5356394614662356 -0.6491909983734945 -0.5877721762701474 0.08301460302535334 0.2609603435076845 -0.9826624530180975 0.6551863693758763 0.2322121148881963 -0.3055621585709772 0.2267238170482719 0.009128515700894138 -0.2820226258943335 -1.143796988388583 -0.1682923533209296 -0.3156856970851612 0.1221639906261718 0.2737472466555383 0.1492162712326899 0.4426028355296244 0.2454205309677042 0.1569922204653713 -0.2978962619783653 0.1048735251298473 0.7246395870529557 0.09926516247185055 -0.2017662861691862 0.03201040889979833 0.3173621649378527 0.4379170033404144 -0.7267246784335764 0.4666515265107767 -0.1021855741518936 1.071887697812723 -0.4148363815970832 -1.161120206886264 -0.8597483259181956 -0.5717918135130121 0.2733578869234994 0.001718731487332735 -0.1954210049037579 0.05752220652527014 0.2492663575826845 -0.8585055129806822 0.08229335727202836 -0.09517457302551655 -0.04052689317564554 0.06293966242897696 -0.2078454349113036 1.429140112268709 -0.1977586476889844 -0.8641168507108068 -0.04327264839605129 0.1869440652732278 -0.005515952420911839 -0.9565179979486207 -0.5293469964732413 -1.030849870999527 -0.171461369465105 0.8766714228933683 -0.1357673578435548 -0.3653635448592705 -0.667531587772946 -0.1777090667963531 0.2649049938112483 0.7431520909455207 0.2311711602282448 0.2188865584599548 0.4029893375476694 1.066801754627553 -0.5780525997613756 -0.09391027042620184 0.2431886065356766 0.3302302231637018 -0.05241323531087375 0.7689909246168861 -0.3373484235319553 -0.4347691619523461 1.275516439282741 1.471156760960202 0.151458941552826 0.3080753777708932 -1.837799391892203 -0.32627171537291 -0.3124697953648523 -0.4675446605404681 0.07713709757738743 -0.07635452877693226 0.1422202952952262 0.07395434834808844 0.4049590689995114 0.2014270303261021 -0.2818734217471685 1.497946454231742 0.2635227696046909 -0.1643391766320063 0.2585916077205777 0.02210503890208962 0.2774212837141047 0.5918263693104731 -0.1349047444691142 0.3221451308741097 -0.3358011855291912 -0.0009156288811227106 0.5647404619102141 1.241787676061676 -0.1512184238621824 0.1284480323244657 -0.8306649927465878 -1.227426526979004 -0.1850196988747552 -1.594837525066667 0.4262948619602615 -0.8066415352744511 0.07539479221096036 -0.6961986622793037 0.2315255486751291 0.871726643455411 -1.165506261170224 -0.9910070712134601 -0.03998034007996845 -0.4322687946331318 0.8692362498256073 0.09215838070332043 0.3655098224164232 0.1915324770234351 -0.3488885681530706 0.4570098100627674 0.1594589829053407 -0.8992275921349974 -0.1432880975832026 -0.2571231016156377 -0.2464421317794872 -1.134921887172693 0.3153276423872812 0.02848974964067886 0.3435887837575017 -0.07224349689089858 0.0336712401255112 -0.5645021963034462 -0.002945838053376666 0.5067381203656327 0.5318136468444636 0.5820541098571708 -0.3257782731479731 -0.1015108208296222 0.6103922880070277 -1.442894725170299 -0.7987242586330748 0.6623802328760092 0.5789133540027869 0.1046622696231616 0.4745131170627734 0.4326051843371883 0.2431888041426616 -0.09620529613969507 0.2931921852990449 1.03541325596144 0.3696450797718634 0.2975999491695265 -0.4367332897215727 -1.208953781770437 0.5183174715958302 1.098568237213296 -0.1120161034493276 -0.08494690363261449 0.7625318700251034 0.4983736118193896 -0.3069894972090126 -0.3277545365746534 0.008632268806288253 0.8377477523961445 0.0532966546182277 -0.2045820232504434 -0.3950126174692433 0.6142825214919039 -0.327781708054002 0.06798741203365473 -0.4639265828289784 -0.4635128436283233 0.3466985020715536 -0.4258217480935778 0.676806483713167 0.0151831442448989 0.4919298699662684 0.1305107477461943 0.4536405335193435 -0.03920805960849483 -0.008248767299756564 -1.242527701306827 -0.3263706241474963 -0.4138576902229236 -0.8321043733459925 -0.06383390294869158 -0.08546033969730922 -0.405384478459583 0.1692137632651129 0.01801250759558495 0.1252357288392067 0.3305617792579671 -0.02739753797420044 -1.692842214788223 -0.1017575506802536 -0.4240635667983819 -0.4661398180766749 0.06007889076934584 -0.1758536963092624 0.6911709296086402 -0.5876787006351857 -0.1303688096685745 -0.1534685384395271 1.939003390399155 0.03414598331474365 -0.1700108381980293 -0.4534691308711389 0.3894612748389186 0.1882609048016836 0.6559484801673325 -0.6142435143111009 -0.9026183306261439 0.1432175014946936 -0.2191572298756772 -0.279591878820078 1.66735666744641 0.0009103623613638471 -0.4443879871274082 -0.01599562643982281 -0.08598368587090985 -0.2568481577248261 -0.3027427706776682 -0.1360701398346157 0.3706964347225016 1.005422083278273 -0.2887562430785873 -0.2096328151222538 0.3073012964490911 -0.4790405738881994 1.356440283230521 -0.6537618724049319 0.2444099728358066 0.3960994195961796 0.007380433496571553 -0.09502335410601853 1.024913164794742 0.2680290928592022 0.2469079261318913 0.8951092528134398 -1.139268295910286 -0.01568113869904794 -0.6580507250570972 -0.2975190678585873 -0.9631430831301204 0.915216617973214 -0.4569746344904351 -0.2826068158840092 -0.2308539990806683 -0.6376047671994574 0.09914834397607075 0.02380390527381864 1.409420121540826 0.01943438034478791 -0.03214345339453187 -0.124913146421495 0.4219871152945472 0.2442663473000095 0.621207665496972 -0.07413692681635707 0.7410985891935286 0.1383524116124645 -0.01344417859429646 0.3197390871371822 0.3760367898570909 -0.06592054527185107 -0.1740780120400187 -1.13827158194473 -0.03516868953937504 -0.1086898032000204 0.5806295131717885 0.7449592684736099 -0.9025825876997419 0.260241424522164 0.4686565816843561 -0.6029671708593127 -1.640739060778022 0.1315576548204726 -0.599757556231466 0.7520149966310888 -0.8860742018706161 -0.3780298769505051 -1.20514211768925 -0.2852518596208994 -0.09446008525996427 -0.4218512173909189 -0.1278382529459941 -0.2188710880718767 -0.6841618344731143 -0.4745377064147109 -0.8919548782440747 0.08374362179237399 -0.3699162408834724 0.6022647649729226 1.217978630230859 -0.4941743554114698 1.006351759206697 0.1091414807829521 0.5830232984638182 0.0223313607395155 -0.04801158100186975 0.5399203007693949 0.2696383808939336 0.4370025729902405 -0.1787471359629903 -0.003550726524418371 -0.2954241009834467 0.4015330737044552 0.5515964576993849 -0.3550471865858135 1.150328295243334 -0.6013643367430292 0.4580651245331149 -0.1117346477418037 -0.2618783567886035 1.459109983352868 0.8994947118613321 0.1093553817343605 0.4740860573644571 0.2258392612673771 -0.9688737245958335 -0.4664514875628273 -0.09914335496450948 -0.1329802830050066 -1.442390428603886 -0.0116882994257781 0.01342968816995084 0.6148178684781799 0.3784325859084525 0.8037521038447453 0.2365017332748059 -0.3301404896423795 0.4824081001293368 -0.1030133335689448 0.9001237634674678 0.6147986586077679 -1.517221544213856 0.4335933800776288 -0.6906083860084309 0.1978377773695961 -0.3297870355792884 0.6357168793153728 -0.6171679125418323 -0.1376795624558232 -0.8519500012582756 -0.2302081052665932 0.05580037498878405 0.9227983950508816 0.004070836558583383 -0.2459470620892095 0.4108202756053657 -1.072005984259014 0.418978799985148 -0.2573806361429356 -0.6212006322068858 0.1374654206703678 0.5184703126633884 -0.5837940891050265 0.1483414382807251 -1.011281062755685 -1.230547342279636 0.06715926105017508 -0.1460555969167062 1.034012787651012 -1.010154965076203 0.305116021337291 -0.1011713566599775 -0.06376520981802149 -0.2046612745439889 0.01933165850700861 -0.1416526744638892 -1.024572226680443 -0.3912491264659883 -0.195482224891121 1.646862684343682 -0.1602809499364838 0.3207361895427437 -0.2940830759960694 0.5723840091979362 0.2969872548913732 0.1647537771933544 -0.4320540463357851 -0.2623197738311421 -0.5258302700243366 1.112354917582582 -0.4674042242138323 1.293043977058589 0.06535168922507174 0.5517473415054583 0.3802390357501413 0.2389350564849639 -0.003299332025969398 1.72919571959819 -0.3869124206478308 -0.915341299717277 -0.602672464295418 0.4515214133101187 -0.1345843274196716 -1.136405729239861 -0.03587569580636531 0.5530973847514008 -0.09805788959421453 0.7784117367123154 -0.04896959584946566 -0.7382563671153514 0.6462719985652596 -0.04337643173449965 0.5947572026200715 -0.584081370844964 0.2963908627935559 0.3351649743915712 0.3203396858663507 1.049125160020305 -0.4852479060223576 0.3699123264803896 -0.5444011525848839 0.5330724909829846 0.03722882944998763 -0.6553955090177099 0.1484040846559528 -0.7300810452323488 -0.1949219770997657 -0.3909604409984204 -0.753383330501181 0.1502530334159183 -1.034028157108572 1.15497351028569 0.390899665246904 0.4397542153427018 0.790274423777416 0.1204823032068461 -0.004960126179449195 -1.249395500444506 -0.5484237818441051 -0.01954736631112637 1.158810112944467 -0.2385499742397564 -0.1700866879764918 -0.3807644360589054 -0.07854716374767336 -1.947817822635394 0.08042388013146051 -0.6680309003459177 -0.51270159567461 0.2682146539937401 0.1645862086219536 1.575502799997782 0.3368371756645056 0.1720418014361336 0.1035076651089393 -1.084160527823667 -0.2580546830122786 -0.2648718891491617 0.1399860871953962 -0.2727593388934102 0.06552048127037949 -0.4568607939394416 0.2763506440639815 0.0817765776927802 -0.0005994703321959766 -0.8084453835784146 0.8939819114630717 1.382821282957543 0.1293185467990128 -1.080766695962203 0.3423284740486788 0.2627103833674098 -0.4559154859239476 -0.3944989058753782 -0.1706852958532789 0.01096664026459643 0.7251556157748883 -0.01640350318636767 0.1224259986909704 -1.384649768766322 0.2986938056540817 -0.1629457083315811 0.0131306506413698 0.3789751065321523 0.5897063946989777 0.3008177574974608 0.6098060506193945 0.0105223104142742 0.1449864362988113 0.342914479872764 -0.3582546291567142 0.01129560151068127 0.2745958473836485 1.146088827955197 0.1800584991462425 -0.958448165597092 -0.2378201447096526 1.870481488936985 0.0328652901653342 -0.8372154564229938 0.4436304633391407 0.06256612700244592 -0.600815925450546 1.373397768713725 -0.3996268818875117 0.7579507326617465 -0.07264435915464743 -0.1300025439746316 0.1648422102498482 1.377727464119245 0.3273164024579139 -0.8708993663917481 -1.035446741632342 -0.05081045271519943 0.4227247216424747 -1.119405649929011 -0.4090792997239265 0.3229581743132094 0.2860572922980906 -0.5941242479040582 -0.09345713127660599 -1.590283610366093 -0.5247398578944068 -0.6404769542299183 0.1676002872037386 0.005576175438744137 -0.2722504675606833 0.118263759513995 -0.3992548668644232 -0.4922930491023509 -0.5159734644621377 -0.5231673666448985 0.7895706127204606 -0.5622241311976658 -0.0291238089951814 0.6816542178228878 0.1954587617521848 0.7056073424987102 -0.1457092264313136 -0.1687700511018445 -0.424937645307188 0.1788013699429266 0.3985516006703462 0.2947413456388744 -1.499043062976494 -0.3709211777871608 -0.3677846625144355 -1.011752711471204 -0.3476203407826193 1.030427978936514 -0.07490925431265402 1.05415243181293 -0.06086563483955421 0.752629320601264 0.1523227277688058 0.1105014838518298 0.656166437835855 0.4172563598497915 0.2723180223178888 0.9211454831572001 0.361896449562666 0.9700632484119669 -0.1528060617533261 -0.2052368290637519 0.3625687071245301 0.2741338131815976 0.199793460161465 0.3478408177639872 0.01272557847976575 -0.1556130843007301 -0.04547262861054518 -1.921968686570177 -0.4959522136022779 -0.04326744254537662 0.9935065977993357 0.5712457010757735 -0.08535361351225486 -0.3317851543734142 -0.08293381213292655 0.742980100581962 -1.37681295047683 -0.4584717451501306 0.4882230485956393 0.1797506864159979 -0.05471045416617409 0.001032981657210616 0.03465296690798522 -1.349249115691548 0.1357336315129694 2.688089233892886 -0.2738533616630015 -0.2616170488666419 0.7007529949142983 -0.6475567938616211 -0.2526071528066482 1.363136275192909 -0.7915402696517748 -0.8782414056856652 0.2431853020844956 -0.4692552924079111 0.7621377988384381 -0.2952669181059532 -0.4797298790434002 -0.675152068895791 -0.1153747030174673 -0.2326752671806389 -0.0958042051350287 0.5100384471819092 -0.293777282359077 -0.2171313375156665 -0.2216949977770931 0.004040276264754698 0.2458501605683162 0.3159098067758164 -0.9715356885334905 0.6252097463221745 0.07421943041881188 -0.3379892486340089 -0.08862702883891455 -0.6884660270379711 -0.03475826389747869 0.3657507652703558 -0.4106608722155464 0.05642684803929519 0.2137016654321381 -0.2933515556778039 0.09688811899806744 -1.310254187749661 0.8252000294137962 -1.698084865294043 -0.06501211780482839 -0.749776401428879 -0.1293638472262183 0.1104534881439949 0.2737505447882797 0.8312960545157156 0.6745451459172146 0.5567999841303281 0.2701754842974573 0.1983113926963548 1.271469254458779 1.050740655494913 -0.3307695461507537 -0.1855448772196646 0.5306818727783209 0.9317774413973234 0.2931355026250371 0.3415837439796012 0.1132299439646107 -1.734057151380505 0.0567694638584459 -0.6700874024253626 -0.06545227689237468 -0.04306307048954054 0.0004999355930640911 0.5553820945664579 0.5510769737064758 0.2798565506274737 0.1796060776576143 0.3783834188912605 -0.1324614646487855 -1.37779885819513 -0.7764350707438317 -0.1110619645645971 0.1437474020618969 0.5457560208272849 -0.23014493129171 0.2590710229330113 0.1317101743298045 -0.1767060560425948 0.008962777138356746 1.793730928663173 -0.5186365891959538 -0.4881565090830014 -0.03145953323755418 0.3715958450205819 -0.183585224985376 -0.02130557852149942 0.3677408604333395 0.7795888478203705 0.1404126936659397 -0.1598710860153126 0.2559794979007733 0.7359064325731912 0.2257985725625261 -1.311246551499673 0.7812857445989723 -0.7987104014191899 0.3611350827309954 0.6964992507667203 -0.2902362190329377 -2.126694095098734 -1.626912151772497 -0.532299356259472 -0.07643336972519729 0.3706943171902522 -0.05127792878372023 0.004327332860873271 -0.4684591770595265 -0.2632015457010999 0.08306360469040019 0.1208002543028744 0.1962251757417336 0.4402572428295682 -1.667267205470823 -0.3673703067283983 -0.001076796035761538 0.4748967954688074 -0.2107229152620739 -0.419747395007414 0.2826008513735404 0.08367644375538362 -0.01999988622595687 -0.3740499623376969 0.4917868837920522 1.290030710274095 0.2226225910225254 -0.413538053719651 0.1564225077657162 -0.6612106865378597 -0.3532697042112797 0.678727598659857 0.8784438054519698 0.2183114599812065 -0.9229981426451294 0.04964151060374451 -0.242397171169348 -1.321076172710177 0.6016509754165039 0.3449523127003731 0.1400869068504749 1.724823128568339 0.6203934569941544 -0.1847524881029764 -0.03583940242360145 1.179490838831827 0.2442974395284966 0.1949938897190478 0.283414854910803 0.3683390686171313 0.005303458650031598 -0.7156474614557939 -0.771327573077374 0.6665358648696913 0.129574777513618 1.499712390199494 -0.7013615672010229 0.09854642897801119 -0.1201709768193633 0.1935370701337633 -0.1976756634912504 0.1602811910829463 0.02949186452833488 -0.4879071890969541 -0.1535905090328713 -0.3396833006331925 0.1409228036141493 -0.0259117462238054 0.1068221136804791 0.8307258331083613 -0.5275811247695833 0.1091608844893014 0.7454638329696944 -0.285818629915794 -0.8811537264069713 -0.3418847090157612 -0.5427612094251076 0.1953251995838832 -0.3564670416126103 0.07329911401209321 -0.5776451489442213 -1.001872916827171 0.1636047185677101 -0.1364563748748008 -0.492631361167589 -0.3907595332113212 0.215208720071582 -0.6890166796588179 -0.05366147124580015 -0.08959311899411249 -0.3184382298205 -0.1936673569342724 0.9369992845299875 -0.007358625656277235 0.3187893145708394 -1.460748535828456 -0.09729566395679097 0.4113238594419305 0.2417477541393988 1.169120237196116 -0.3894823823478311 -0.517818087353756 -0.08127650912896406 -0.6896124040124969 0.6185129586331866 -0.693881912751638 1.006535010464701 1.426734285486906 0.3277443489560217 -0.2834089952234454 0.2421848740361467 -0.5269649754630049 0.5071771861279534 -0.8538401031771035 0.07309861890561703 1.192440887110308 -0.1195562287758024 -0.1050185685722207 -0.07717934795287509 0.8297114756797173 0.336577892345179 -0.3275616784233242 -0.163194007455029 -0.6222925409335034 0.0222161997807501 -1.577994751029016 0.04840984298126167 1.512612361812904 0.07339676865881736 0.5914900397623475 0.1575231198912371 -0.4566041850085459 -0.153316065419363 0.3219325807126229 -0.9230147869516472 0.291962281506608 -0.007701518354190056 -0.001650453834929394 -0.1321286371882298 -0.6319677266371447 0.4885029633753459 0.1961465507849274 1.53891628273772 -0.4973238038948782 0.3603310898086277 -0.3633242595102901 0.9646966845451286 0.2873509461515752 -0.1196257378012269 0.009981935393770921 -0.175335550052209 0.5871123352850017 0.03761353930093705 0.3561411628827174 0.2463052524872614 -0.7438444458162736 -0.01095096493050917 -0.7421658291272594 0.4308701239837716 0.07480525358490922 -0.2651486304170632 -0.4955770691314146 0.07628859845123948 0.5411056106671327 -0.8303773805175809 0.2604563786078321 -0.3835388316418282 -0.8713751237688406 0.1299798606522236 0.4984372100066175 0.1752286300389824 -0.1626985056106336 -0.699549580583044 0.08167445193251657 -0.1422506142160572 -1.026537600504227 0.2031946073399704 0.4996534073589277 -0.6929198987779875 -0.02915592707184649 -0.1938723226799498 -0.3910359218115231 -0.3727132226147277 0.7880180872130884 -0.87964136116222 -1.534422724859412 0.3880784384596617 0.2264803059246176 -0.6908109017634649 1.29344514418568 -0.3512828652754466 0.7838364000450934 -0.1453777913202781 -0.0687881342871951 0.3608062932882733 0.2078990981520029 0.5284894093827703 -1.130484451100736 -0.3471836134525484 0.9503484327564309 -0.138450629924077 0.3560904581808829 -0.7918628806753047 0.9894458889672602 0.2706949862588873 0.445541133842611 0.5636935854633284 -0.02517489542164002 -0.2648568789924438 -0.07951156771389814 -0.5236875288075811 0.7749519370260745 0.1739638382413025 0.07715407471114856 0.09783749408629562 0.3408315946612485 -0.2185962839021653 1.429817842388756 0.01204547313206186 -0.5689710370353982 -0.3524370242774186 0.5554556716461621 0.003650771411390859 -0.2044900699925259 0.03622096995776944 -0.05306293402445252 0.3025959376662357 0.08598803417418548 0.004022415077261149 0.005058279280665789 -0.1366148749708932 0.6798295569828605 0.5220026145004325 0.9224375250034906 -0.9896188411067605 -0.9388713480659131 0.3416103073257847 -0.4173226248192452 -0.2402900784661198 -0.06394620734184567 0.2412464427875728 -0.5597520099934813 1.162618639782868 0.1008463137251212 0.5675688262433465 -1.452640209822506 -0.1204315884488084 -0.7105538378306298 0.648687357111869 -0.4636927380013629 -0.2664667224523459 0.5912161116398055 0.04867401588924351 -0.6514365230771371 -0.00416051425967798 -0.2349944462312517 -0.4119268349940468 0.4684343303837571 -0.000519532029370917 0.2758129248460779 0.2240589914983311 -1.099248107760872 0.1551811107989792 -0.5656771854847134 -0.05575027654231953 0.01445658168992916 -0.6050131960371383 -0.8316959219362577 -0.1649988309551663 -1.644402081365125 -0.4525334265787139 -0.2681684821769741 -0.3680669077237279 -0.2773229816989191 0.5273823352801239 1.417533632852669 -0.41099328817833 0.9562464586771816 0.02643575291705276 -0.3647923814426584 0.4668950067944155 0.7663164256041163 0.5290916283457399 -0.3916493478974708 0.4429882613332054 0.3744750653671265 -0.5298562657612802 0.2983383475399232 -0.2032319975875178 0.8834845955824097 1.136426673296793 0.3050762687660831 0.2114013006519306 -0.8853294271320503 0.5143484919570797 0.9139426545063405 0.1045026920040253 0.326512016744641 0.03101974537307028 1.067858606537404 -0.08855564176530602 -0.6408406005454248 -0.745754652031523 -0.1505502159580536 0.1639311341337437 1.04299699979353 -0.2018390533729313 -0.6250799948194902 -0.007682167240996062 -0.1016386039727169 0.1676148146567446 -1.235835158728739 0.1005378753945589 -0.2573245866215063 -0.2251604179323755 0.153904494775967 0.6082289081114829 -0.07877011984210629 0.3978140232144445 -1.282939766786128 -0.004868945063680986 0.7500841797235142 -0.5910215402268528 0.338042038157834 -0.1470973038177039 0.2742247125740579 1.28581287374255 0.05976996411004301 -0.5063135809271276 -0.153688959973269 0.3174240031188563 -1.078202818253098 -0.7663740459621048 0.1080113187030171 -0.4908852458717813 0.7027428439974435 -0.08354454433298697 0.284043331818577 0.6929558060071926 -0.7204311784802183 0.4451613870151918 -0.4433748806387131 0.2728662027379818 0.1296856174449335 -0.2033483596597125 -0.2766311751151837 -1.18062402929752 -1.294194169113235 -0.1423086624139049 0.7987304671314224 -0.2230867706159366 0.01125773870536277 0.1806752310898014 0.4152551792917477 -0.4965975661864331 0.5084749201745336 0.1252628709432883 0.5337376452618757 0.1311873388500664 -0.372009377077927 -0.3030381695516043 -0.07147324745181818 -0.3219420652381326 -0.3166795861973156 0.4350235504203346 -0.5114150446808839 0.1748790321227117 -1.35915127677167 0.5139822236400322 0.008622997378592553 -0.6297140636155001 0.06395672792870387 0.1116270412496216 0.9942723604650114 -0.3839484706422541 0.9872401987897643 0.07809426588430778 1.880624082714222 0.1323756643858494 0.001841891685786466 -0.0601137580405597 0.2249298237504167 -0.2533547959217169 0.2910388604348336 -0.3100831289081772 0.387819794878534 -1.06332028231021 -0.01675321355796982 0.5143416713822389 -0.8426877902110953 0.2338438577658814 0.1898506078708961 -0.7884410928535228 -0.5675414198566339 0.718523158810456 -0.4102404711606556 -0.2742265023899163 0.7334730930820165 0.2056300280082984 0.4229614722542118 0.8255515937072812 1.324903452847864 -0.004715265602320017 0.4559267196394616 -0.1268488025850274 0.8011167360954928 0.06281317913955024 0.1963286068183407 0.09356313290472086 0.6598700667244457 0.3878559339589547 -0.05453348617986636 -0.8049172635443583 -0.5893701765591152 1.122020402647187 -1.341399502790065 -0.6232082786290835 -0.3729831012372475 -0.09807102626993441 -0.1584068857209386 0.3033966876071045 -0.4261438306518263 -0.9014728588558878 0.5137066327416209 -1.263281069420166 -0.6277410696680764 -0.8042405706544016 -0.7037892693293989 -0.08094206185475743 -0.9187175928100124 0.1545220212850558 -0.9361160631129752 0.121056972138561 0.4197449536076925 0.5853968451277237 0.362338979163 0.7478788576401448 0.008283600669276723 -0.03228957751820166 0.4778962750377889 -0.05945935781766259 -0.01571683516656574 0.4139769564812056 -0.4047349359735208 0.03095541985103283 -0.3822129842787969 -0.7727227912323382 -0.2031794161634287 -0.3446056973375862 -1.955022065894932 -0.02303523558988173 1.549796625044409 0.1216356677190684 -0.1003675675630226 1.736373995821608 1.699152542905412 0.1381643667981732 -1.089274573020571 0.1965302015463683 -1.026923140320265 -0.03579464478855277 0.1002452481050274 0.5305114770569953 0.805760531358466 0.09596406158956826 0.8458724769973722 1.11237051402105 -0.3342675493720545 -0.1922318389169669 0.006075673140446986 -0.3027103569332693 -0.5364758429667726 0.1772963069659776 0.1361189113744115 -0.07687823517484295 -0.5554828286484376 0.2928167476704341 0.5945460250154002 -0.7438808419563346 1.171363901856397 0.006557682627690781 0.6697134091744721 -0.4064142284373976 -0.06519762274687761 0.3617886750110844 0.09757658101821991 0.08699857953335981 -1.295975199331343 0.0858564116113214 -0.08973420776985751 0.4522198430289882 0.6667802102079575 -0.08204829225140509 -0.5027123932600553 1.592936095818081 -0.6494664806216839 0.07802137087266145 -1.261532273014915 0.08824454318408524 0.2465480061556142 0.000307067970278781 0.262251695599669 0.1241503285630889 0.9515909561396966 0.5084734845210279 -1.7223167772368 -1.082123505880898 0.867337770873034 -0.3817209852290714 0.1890989335239243 -1.021499532371925 -0.7810405559186271 0.08961981678452648 -0.7277392870590029 -0.3433415183097399 -0.01198064484344852 0.08176646054121496 -0.1585755867032689 -1.224309657608223 0.1654214808306048 -0.02233259089883853 0.8056054218804914 0.4558646616981794 -0.003493405163373162 0.1790625161329966 -0.3780074954903955 -1.405523426402075 1.181929219008539 -0.180535823942969 -1.078688713235862 0.3027012917596775 -0.3363532607979762 0.2560820554950392 -0.3639777993717957 0.1550482783321129 1.674508354066496 0.3015049998127211 -0.314446455574413 0.2492475627599959 -0.01003953684789314 0.09447021101310737 1.046205090553252 0.2286584813223851 0.2903200513385686 -0.3713987317305857 0.1021317635380719 -0.2192984075187944 -0.1161726844714353 -0.2366970731635257 0.4241615139913208 -0.8218039837543742 -0.132837456465828 -0.1106420551107745 1.076731420062325 0.5731775576119292 -0.7435273466693727 -0.3004164061996192 1.817690222904187 0.2331687713477973 -0.5275690435371229 -0.08667411248858087 -0.744245528562436 0.2512770081663434 0.3868453448539563 0.1215395682093716 -0.3887091858503627 -0.004184735849772555 -0.2254554077021378 0.03575104628988578 0.6090430662676407 0.7301161487889468 0.7746695482795536 -0.3140648071545283 -0.2419766013265634 -1.108833169420018 -0.5552831908244169 0.2145279694970195 0.226439501724894 -0.4779721367102032 0.005466225372908758 0.5572048430292867 0.04805710932777051 -0.8647587979073919 -0.1240200870028552 0.6408808313146369 -0.7039664913690242 -0.04238086838393761 1.960533251501146 -0.1326752713276545 0.05240981243710732 -0.03250909728826699 0.2282149105326449 0.5974497361213308 0.1966555170585828 -0.5155913525212301 0.4006102181494959 -0.8817505360645629 0.8788327852487146 -0.1214071506284636 -0.6639844137704632 -0.04559998042492622 -1.231649647063009 -0.5001703974472103 0.3608399220650472 -0.5801482960683851 -1.662894586600593 0.7983118214200117 0.04049297763787165 0.403192621514967 0.0100512558383193 0.3354315565117653 -0.5312672775870847 -0.04809808652263657 -0.0783744744863758 0.1395835144791646 -0.5288447403099872 -0.1481503015098984 -0.6346844651010543 0.2098899517346681 -1.287260571635877 -0.4395919992779205 0.0004219078500533959 1.503733484529633 -1.109599042026881 0.04372086398533781 -1.38286037535172 0.1422733057936927 -0.4950946662502943 0.06314189248334595 0.6221544435859515 0.07915105976992619 1.868147100984322 0.8816464642383479 0.04604147815027197 0.3548582900474561 -0.5680837792043444 0.4394009025564781 0.4371174057768618 0.4954212786696142 -0.5379140711904979 -0.3077131769494743 1.326701261051687 -0.1593853833671786 0.674891224305233 -0.5987091361457515 0.9390656026624907 0.6137301407058329 0.2364748317332371 0.2095875316093956 -0.01859592072144958 0.5114076823158002 -0.04811878925496453 -0.004469821776519461 -1.09664569199318 0.634994568763988 0.1413228129386271 0.1311406691085752 0.1673780678790639 -0.7129401764655897 -0.4163264893361723 -0.3532555655607751 1.23612741825286 0.4481336181324787 -0.01287861556605828 -0.3118769788451917 -0.490389983115293 0.4549721572334002 -0.3982498738255298 -0.1494911651457815 0.2073196432645437 0.1805771629643972 -1.106092674292854 0.2147785470503808 -0.1673408835943514 -0.5494534495040442 0.7287485053786505 0.1407195896303821 -0.07817373835641789 -0.1897197199922639 -0.1569826283065952 -0.5256783964498584 0.1784491941738995 -0.3686111134148049 -0.4212513704863518 -0.1350984958012906 1.236024378852745 -0.8113301382897978 -1.004066436340125 -0.1240714883662832 0.2907107039634442 -0.1583727101770494 -0.9443015885623466 0.1822629296945097 0.03623081612674969 0.04387632113401091 -0.01214919008965688 -0.5704467943261015 -0.2021035631891278 -0.1414600218263282 0.6036381571043505 0.3302172737568146 -0.6061060623586874 -0.3637158524726328 -0.5848465558802418 -0.6065564313438461 0.31446275024422 -0.51023815178885 0.07330610930758776 -0.2925959182463025 1.279064110326814 0.0189927682562296 1.05502808374305 0.2293163221213939 -0.4082038035385495 -0.04693530117996932 0.5188133444808416 -0.0936796113195805 0.1622524374975232 0.9217122496892908 0.6402797208609887 -0.2251370656236893 0.5677164648796827 0.05879745403791614 0.5999616110223471 0.5532908977341929 0.07019157826836077 -0.03204717550516143 -1.351498803271745 0.532428968121434 -0.2547031016823435 -0.8504224082096391 -0.427090396619601 -0.01308749206242853 -0.1325036842746518 0.6411724460247584 -0.3373876557913624 0.02297631957773581 0.2946231603137452 -0.005662013255412287 0.4957813281685515 0.6343204533106455 -0.3302204857001992 0.0005488447325824989 0.7380245234941573 0.04663158078305288 -0.7441207378461246 -0.3859576096704171 0.1537122928768368 -0.1849849957453613 0.9158937171378893 -0.6359401129386222 -0.04457989840581964 0.4333041751108039 0.7079628224389631 -0.1637208638451378 0.5612389226043145 -0.07908759836185841 0.02811460607966727 0.1442860952943238 -0.04275127055552872 0.7616218536763392 0.5141889422710392 -0.5127072067771448 -0.6457769543607964 -0.1283910725162282 -0.4931906945579374 -0.7281862110845316 -0.8401342133404852 -0.03570118504564659 -0.8798576769637272 1.170542291997352 0.9060277734438126 0.260650695900752 -0.5076438167004962 -1.051452141497717 -0.2916632622197304 -0.7740382864276939 0.1429733847952038 0.4238248517952014 -0.2726910662749504 -0.2821863205366579 0.006775428783392398 -0.3348279560043162 0.206760760187313 -0.7762185076632874 0.389179998959678 0.4070100099405032 -1.213484655589215 -0.1503965659175547 0.2693759988480527 -0.08561556401136887 -1.077970237888477 0.1072891203896825 0.1504876591145477 0.873654387188708 -0.1572135189715782 0.0295895633487346 0.1465153536081018 0.1229962996665282 1.300214129000554 0.7409520372118367 -0.3848527512014052 -0.9075487148037724 -0.231818111317934 0.1862236843421067 0.4830471272364662 0.9171258795540236 -0.3111628499947821 -0.236300675932561 0.05140410509742221 0.05755807635233492 -0.525174015658989 0.731600882636665 0.4381140096398728 -0.286279771731344 0.2940551565837833 -0.02759876853886521 -0.5542844856591165 0.3539666602904793 -0.8948613980483657 -0.3198077630509496 -0.01224440658813753 -0.03432408740744353 0.9774678660068751 0.001531019724855138 -0.01097446858279466 1.362325840345805 -1.561423965777008 0.4188284142952988 0.326597512368802 -0.4328224942523949 0.08918523684853932 -0.87955889569832 0.59855347568401 0.1681315504933417 1.924461432641824 0.4490562164204241 -0.3878485534698611 0.6147520736324363 0.1549694173586994 0.2041409393736552 -0.2003999007869236 -0.1627718285937661 -0.01009053888498949 -0.08133268129738527 0.3514834664019407 -0.2674897170788249 2.805049935241835 0.3047329538118201 -0.9627846595132116 -0.2651001921325868 -1.519440737788234 -0.1411666767442879 -1.147021101333394 -0.180090750522233 0.04706424006133429 0.1863819757854002 -0.1820415220291067 -0.4254265712230691 -0.2311537256688841 0.4613117843634779 -0.8102894316519568 0.3766908682346747 -0.0005210067208385972 0.2029758825951074 -1.687703818668836 0.1938521110825391 -0.01121711142020478 -0.5724823757217804 -0.314837927374682 0.0781454538567509 -1.116916406919353 -0.1240548759604696 -0.2541672509057497 -0.4919626023554861 1.868252916750027 0.10604866377043 -0.5720051547762034 -0.4351204941158234 -0.1665834765384724 0.03644897090761735 -0.642896553529623 0.05837953084386639 -0.5581364864967815 0.3731704442468056 -0.3548923427417756 -0.3227519698435841 0.4226046332354231 0.2610789666165835 0.5305934547316321 -0.6446473444665317 1.173424412093153 -0.4634955762708712 0.9450148028741296 -0.3512354824413551 0.6523039592561848 -0.740317931389294 0.2415543555565667 0.5231217086273067 0.5786613139555772 -0.02891116502738295 0.3277182076482322 0.4417800914261124 0.1618447561625444 -0.7020559364570154 1.208320002900746 0.3055128999658509 1.886165272744511 -0.06000888797505734 0.6361991485040213 -0.009780251968640732 0.6076221204643174 0.2755139078285584 0.286483294874848 -1.26023089830818 0.113108330138392 0.1424988158684965 -1.611924754487226 -0.1044520613712384 -0.7749164145573657 -1.048212892641989 0.5769612244310877 0.148126053668397 -0.7639006458275757 0.314287162611581 -0.3534040151106286 0.7101128591006644 -0.171936794782476 0.1668308003248358 0.7231557089324765 0.7070344593754647 -0.07549368424187501 -1.034907167701074 -0.262885031204445 0.2570713782714545 -0.06935025291503308 0.02415107831895022 1.517272373047466 -0.5261826771455209 0.9635414267860043 0.01286942367719519 -1.390846994274155 -0.4800501900678983 0.03897423153581903 0.324360961312055 -0.02075640526133848 0.5502788872723682 -1.343154437306875 -0.08692958352421183 -1.836056246704542 -0.05707747312532217 -0.01098265764469839 -0.1953668407021628 0.005304625890305767 0.234737566272566 0.0378044273729702 0.1493524766311099 -0.2169033455626125 0.1042422973906692 0.2742900028971814 -0.2177835042750282 0.790340952032229 0.2743604760279189 0.641957194857721 0.1898288720194258 -0.4419526894534097 0.5072068350556669 -0.4980071581892414 -0.09296790586308144 -1.097487548117059 0.1191036618578857 -0.6222775644080965 0.3110985108128364 -0.6076231719993588 -0.6271303534764742 0.1129765629995856 0.1739796265102962 1.078575996994526 0.1106404279389587 -1.003201812043427 0.07333881458808554 -0.2243642547543725 -0.0370768730430092 -1.226649001118691 0.3172485502373963 0.2090464377513096 -0.4845522452964404 0.261243123011098 0.7390902943601136 1.508260550167006 0.3869981657862809 0.0006396471349512277 0.1971877676081205 -0.07418183002463305 0.5841618054787115 0.4505068814007179 -0.001870042447541675 0.6228722974557511 -0.3306370261589102 -0.1704499689679128 0.1121980181728976 0.4480437762979442 -0.3021544501897196 -0.2534267157618112 0.7671797327512443 -0.777147077441253 0.1482519458700946 0.2826898125242877 -0.1115678779449965 1.356120141822841 -0.6988248596731659 -0.8391736440306002 -0.5117027429719848 0.3229360093825865 0.2312626787524454 -0.6327433601221476 0.5857811493958386 0.5548973462658601 0.3192108067577288 -0.004728649881939198 0.09401636868919437 -0.2800044079576498 1.0160778662996 -0.194484474871411 -0.2099376548734315 -0.1601210383451863 0.4106785374803691 -0.05392499950841981 -0.03032080618496908 -0.3165489728830828 -0.852441878880152 -0.7032417309689879 -0.2629391718607038 1.1208535202149 0.2562014927427381 -1.083090897731745 0.7091658459658806 0.4296740629781953 -0.5284641312485968 0.02097511349689662 -0.2696850830276203 -0.3235316404126377 0.5130852970590156 0.335521989718416 -0.6485520333818459 -0.8065234072084229 0.1651004934199926 0.1899375030444883 -0.06298573939721726 -0.7250256106728953 -0.4542195228218123 0.1254348529481137 -0.9095569282699352 -0.3032468462554484 -0.4720195473844207 -0.2995613186910159 0.5220369132303245 -1.567880201706381 -0.07107747489018555 0.3861504370944587 -0.6014332925649246 1.382420414943967 0.210078915636912 -0.5114388639709597 0.1047987534268934 0.7463165219220578 -1.090716174091441 1.556759047966264 -0.2454756584470126 -0.1136121194808796 -0.3879909025775897 0.2561774150446385 0.7403562947927611 0.6085279585580465 -0.5696614028433471 -0.286845311409568 -0.1140841364937649 0.5532020063177462 0.1258960175031794 0.7975119449536371 -0.5387817393139457 0.4971626702920612 0.02182406556559194 -0.3554832802669069 0.2224799759037642 0.4194769865992306 0.8275965254079974 1.04731018174935 -0.2084468056436389 0.2472332499023967 0.1059773713536139 -0.8146394355605648 -0.2020122982933962 -0.7333178372937622 -0.6264571490653688 0.3962446144486274 0.8075156303124249 -0.07709645401615718 0.01991730408417693 0.3839160598924757 0.4886415707552349 -0.02137507768781354 0.2168770700317413 0.3798789397966504 0.1749138408524525 -0.002446805876068122 -0.05927804051027649 -0.396728138088819 0.1865729394498911 1.632062966102639 -0.1146685474613119 -0.3922523979500743 0.08505073130116411 -0.6508767520583715 -0.9613024751358979 -0.3366823261168441 0.1414306014262905 0.1460927501249052 -0.2757970005203381 0.1864938115101701 0.2514471992927161 1.07203276685939 0.1643380008869244 0.08849502528636172 -0.3704961302339898 -0.006574630192235663 -0.2217322280805073 -1.40434002475937 0.03436877164159178 -0.7969533420654153 -0.4416136312653821 0.3495485079692192 -0.372047870820533 -0.1204377120935961 0.2542172848382187 -2.674242836783877 -0.4283850607880371 0.2757340419783921 0.2148025949267788 -0.2729238596049104 0.1812231193463602 -2.246176064521309 0.02618307183864135 0.1691164098536326 0.5412256156122004 0.3140474830714423 0.1437231676700582 0.8326665945192286 -0.06746079772753572 -0.2554614173626477 1.105296689307045 0.3943477822502895 -0.4454667153844324 0.4360958740242001 0.4570606261513219 -0.3429897018482179 -0.2480883417357555 0.06871984809135638 0.5059324088417061 0.8918915564029145 -0.1047794116252465 0.002928174310121619 0.3413002261706589 0.268880187125148 -0.5264850912303062 0.783612095464957 0.8794950076380519 0.1923313541238797 0.006432808883297912 -0.747133876469057 -0.06904499530064677 0.2210012983076177 0.7834881321428442 -0.1430308764545586 -0.007323868174861629 -0.2199208859651569 -0.6309052421764046 -0.0225216692767699 0.4425192270159849 0.04106563684081277 -0.6199749112065323 -1.40847558754148 -0.1810802481554711 0.6287150232308614 0.284677996522297 -0.04872348813153884 0.205953324979041 -0.2296272798712737 0.03821463815209593 1.397373808964544 0.5989364172032055 -0.5082489742479142 -0.01146553945235784 -0.860815930740281 0.3358196839217099 0.5831993504018282 -0.6844547980639171 0.3729133969076232 -0.1977084404521792 -0.9218439251277807 0.2942194003236803 0.7321885831996851 -0.1751909352483202 0.2717796162693047 0.2099735229438765 0.636256246985727 -0.2284897058160102 -0.002123632684243268 -0.009572990084424991 0.1606297667539136 1.184332242552271 -0.01396933078897983 0.258271973153772 0.1201274884161291 -0.5482383660741987 0.5248629081495716 -0.2878869457068847 -1.886516357371655 0.1564975193839883 -0.2583703997304129 -0.6371026410579888 -0.2608199276283496 -1.381559675277152 0.3360955013759555 0.2422983567419514 0.3115091289299537 0.001480880233666288 0.2889315815890185 0.4577678511989778 -1.439338325599661 0.3818632222741874 1.303338832970148 -0.2190486602863813 -0.7164184752186504 -0.5381507804836866 -0.1108537791265346 -0.3457394460657377 -0.2344192623630331 -0.3121490965176787 -0.3483804149579768 0.3347870922199352 -0.1603361179223033 -0.5720989066773029 -0.7232038851357525 -0.06539371918829115 1.016527397726155 -0.8250472631635365 -0.03592862928180528 0.3343871256260336 -0.3847564292486788 -0.2142435147305006 0.3454855521371782 -0.07967515745025837 0.2104857242828645 -0.003342461755640081 0.8423878735787682 0.9107301873694926 0.26599982370646 -0.1767765354935899 1.042237266926369 0.6347398045387257 -0.5878688935387774 -0.01224452058494775 0.475241604714106 0.6652841889132166 -0.5842007977219453 -0.09736093896840627 -1.781790699118581 -0.008980790860659164 0.1570087037019614 0.4026074353761163 1.28557168270881 -0.08257305562020256 0.4593576599808143 0.8424268517544746 0.09416837629494304 -0.5177179591124028 0.4291301139919791 -0.2441175537782459 0.6983740334988727 -0.1704662333983612 0.4929285289770077 -0.3247785447960856 0.5783249358895362 0.2974717049648857 0.6400059550503793 -0.168571448003432 -0.3149375392267905 -0.5867963782432831 -1.104468508431736 0.2854897025149747 1.421657949539292 0.266296927526142 -0.2171869336335566 -1.133933791082617 0.9197677047259425 -0.5550230371982204 -0.02598940308486624 -0.3068264894486611 -1.134974650323123 -0.03392063197134566 -0.01464377125821061 -0.06570491398787608 -0.5912630374742723 -0.3732644529505447 0.1783113717344836 -0.333801419945901 0.399140389149389 0.1327694593579941 0.3656280372766957 0.6491524722252754 0.1720423116043595 -0.2476629084567805 -0.5912445635701916 -0.2662294486322148 -0.709592369558392 0.574318569200195 -0.9670169111378318 -0.2594228264290176 -0.5768288621547458 -0.0259211097021252 -0.1818141815196201 1.325436702023402 -0.1447226299015445 0.1221602910906292 -0.09761337263804898 -0.9064876397718026 -0.08640799939268601 -0.3711130499020217 -0.4779013785678624 -0.9100142209125683 -0.1588222510546717 0.09080062593762089 1.03093541508883 0.2491486166120868 -0.238781247449898 -0.5106670253445739 -0.3707797022468369 -0.2901792434595835 -0.08394226554677074 0.008356291519712055 -0.1018189589472834 0.4270691753066362 0.9725369797484289 0.0852347647298852 0.9026672333811235 0.5063967041370445 0.0006315989514080691 0.454525261168738 -0.0129865107106978 0.7728598481328585 -1.09235544593173 0.6351487757201205 0.06132224448113248 1.300364524318058 -0.5548290836824592 0.01978211814156965 -0.04706852701452353 0.6229027744560246 -0.10875276103728 -0.09959879894285421 0.05740635869138361 0.2108502661996314 0.1541402847371382 0.4300351435874982 0.4325375524990052 -0.005738332371823018 -0.728793505538595 -0.1194365383987144 -1.100862651395656 -0.07054388714084203 0.1136800166783823 0.3874761514292474 1.474013633408084 -0.1446844895860844 -0.6420890650740519 0.3227665952187589 0.5438431128720804 -0.1379525385050163 0.4552120500949326 0.2242471246122983 -0.632617001557456 0.449429716584002 0.003172928399331474 -0.180083647052232 -1.478679113814171 -0.7725678322857882 -0.5601110938694485 0.2423710504007842 1.040142036720027 1.07327265886252 -0.1724003552251896 -0.338057361558551 0.03450123030171361 0.06110993670754063 -0.9553917189950026 -0.2666934592776428 0.06468686192455017 0.02770943397061068 0.05191245028724372 -0.5303189935062994 0.3664779778821239 -0.5656663758979156 -0.5719709335242339 -0.4375879435472637 0.3210112862830408 -1.230859602949231 0.1260801315994822 -0.1288279633602551 -0.5141625259886448 -0.5499521145100509 1.168856157111895 0.2430115944543582 0.5235441186486214 1.232745058449084 0.9032605147915053 -0.2022433767803815 -0.7684548443681307 -0.313269946738389 0.1448575902395564 -0.9065707034061602 0.7080418376639656 -0.0208735941705904 -0.7919230346849776 -0.7617076628570498 -0.434184645521615 -0.01095833025424974 -0.3496088692840136 -0.1572043988735583 1.375586651394322 0.09203859318939374 -1.121110098971479 0.7969342357083599 0.004770094399461317 0.1836336934259467 0.4081653076989699 0.03058783963382427 0.6173442213708392 -0.7045145433616559 -0.8424315262643236 0.1794675528020175 1.179180994911818 -0.1258954643839476 0.07553787390303643 0.4226573786635181 -0.1482114199241296 -0.464693684558305 0.2860889002073428 -0.225370352725543 1.839606184581297 -0.5256976384545827 0.8668866544715842 0.08487076060890136 -0.323932308783766 0.2933382257299552 -0.67448320760258 -0.05560860529008171 0.3387603352767249 0.5447341762207063 -1.010224404885561 -0.3530887209893804 -0.03225489712420423 -0.1494986245850743 -0.06301026817680346 -0.3061902245834544 -0.4148468383865037 -0.06905255538918817 0.9892088652000253 0.0002410832794037068 0.01226903723572562 0.1320086055055532 0.5359879137115955 -0.4665860754667078 0.1359339022725631 -0.07555594245405817 0.4001673241556601 0.5735110544022809 1.028769557409498 0.3755227603508964 0.7988933853448855 0.5895085980540005 0.1858400740465821 0.1254048381841127 -0.6973735377695904 -0.3609662698152983 -0.1609300795549826 1.519565848992825 0.1686087918354918 -0.120122845680736 -0.4873879857000507 -1.052400553530027 -0.7359073514713175 -0.09249742636486147 -0.5671136315715167 0.1426726186005373 -0.7525099346570774 -0.2455193090229066 -0.3471701599937833 -0.8921172191136795 -0.7681596715629512 0.06268471101240397 -1.453724930093386 -1.156838215623343 -0.2640755630667553 0.9364495180399479 -0.6518542875778575 -0.06299639546947773 0.988504920194674 0.09564186468537678 -0.4351299845905697 -0.1168829112586529 0.6153933775615741 -0.006049313850184097 -0.4266341443837339 0.5219188110253803 -1.159155824540841 -0.5771739513508864 -0.105016206112934 0.242958658250435 -0.07463811776086833 0.006507876179468236 0.7803979504105011 0.3916730087156117 0.1732747966409036 0.3167910205423131 1.191728092038071 -0.04218605185344898 -0.345333087401394 0.4164157635721732 -1.564328514274897 0.9845212962456193 0.119225675904117 0.5146014452072779 0.3934067009491947 0.8091577514927885 -0.1834647597696324 0.3922331966356662 0.3256708921248458 0.1972810290580542 0.02287993684994914 -0.6289580446098384 1.403374495228187 0.2943736614349369 -0.1611792044023191 0.2616318107272309 0.09747723328775892 -0.38671924873517 1.56852320982191 -0.1755021067454051 -0.8275317038388651 -1.621167825983075 1.030096964364271 -0.1472972123121558 -0.7593206748090634 0.08616483591054185 -0.0029393068024122 0.4528158855096304 -1.437670128442023 0.1011867292881924 -0.09907365485008914 -0.147887929794146 0.1518463816725369 0.9683331474652146 0.408657483432282 -0.2185164788496847 0.3063800982162445 -0.2597414232281045 0.4106373814448754 0.6028558849032246 -0.3853142539181997 1.18965482740969 1.775941460798815 0.2284583549529489 -0.3654030346114308 -1.218328422079928 -1.058329207363429 -0.5778889090721328 -0.2389232274417565 0.1284828125087633 -0.6143376402221025 0.2304407871539365 -1.061007411365483 -0.4577496922669992 -0.6310274652293555 0.01475274339815444 0.2005421674787233 0.308663528203734 0.2008148455602208 -0.14554045159399 0.00112490637963261 0.09636648623393643 0.70904137641958 -0.6474587324393412 -0.3486780167892557 0.08672473418376082 -1.089495992390585 -0.2485706429104574 -1.193356587338941 0.00845644715545474 1.079182204884485 0.378179160663684 0.1323760760801111 -0.2730679943114457 0.4769513498077184 -0.2013180851644976 -0.5054678943457628 -1.159070410158688 0.6215503212075981 0.03432585058727243 0.6375396188195038 -0.7951546104073802 -1.143554058376649 0.04141563852065958 1.32406465210231 0.7611770494487 -0.3677208264592146 0.1715096399621288 0.5747521190987338 0.1154896854921783 0.7238032021989483 0.6478069345880179 -1.348453319657952 -0.2021578072338505 -0.380490121561176 0.07844440468108474 1.912877856411915 -0.8109840403513696 0.5115292937254872 -0.281815164141331 -0.127090397144296 0.3215581583968611 -0.4207917340555104 0.03159958135214661 0.7612148704720394 -0.598272797820261 0.5506670941437187 0.002188068550925044 0.1276965116718421 -0.2134775402283172 -0.5674233687598103 0.767121190604365 0.01490103590089341 0.2455905700684025 0.1109544807515968 -0.4545271678895943 0.8019228265031668 0.9409440174439079 0.5710150043209876 -0.1291368903599757 -0.4644384631751012 -0.3109312567184876 -0.1312371732000073 -0.3800037980403144 -0.2364311776770019 -0.3701434758811072 1.563085315515796 0.06342613886740489 0.359791521404925 -0.1566716783312086 -0.2285900850609617 -0.3602046271159692 -1.385877397897644 -0.01323203116845973 0.03342660931476291 0.3731992316957001 0.03300578970223252 0.4968156265842369 -0.3366357990355316 -0.08594236536712804 -0.3030121154817002 0.1622801482447959 0.4855598807584077 -0.6861360712111324 0.8674135530457981 -0.008450484651423781 -0.8549518063009284 -0.1149515862892315 -0.7128406326813221 0.07864852984800794 0.7101493375277437 -0.4237451693619561 0.7035023660898866 0.5090672751230053 -0.6487020503742774 0.007291234968146686 0.03670935794247779 -0.05374220501658416 0.05455740952390706 -0.5113346917479515 0.1746733711649385 0.1565012887102475 -1.343676851465582 -0.1185399129373854 -0.5103504503018209 -0.09802090211347061 -0.2301396227431529 0.09500449143748559 -1.268821476186915 0.2612563714112576 0.1638461122510247 0.6499813340211793 -0.4512578416094197 0.5407793309940548 0.06294467683703367 0.2992539573873479 -1.078422270564657 0.2630873825795096 0.5844616296100911 -0.2216213828934002 -0.2374500208085305 -0.001021307655880495 -0.9919958489283957 -0.0595291018493012 0.1273866163493123 0.1032191494350829 0.5810742808559669 0.2598582215814644 -0.5628293041240672 0.07441635937896578 1.145256877473798 -0.2159298463525091 -0.4555088247646421 -0.1937019497516423 0.138447874715729 -0.8442832371765991 0.8682854431774459 1.375154107253407 0.007776612948929341 0.2085751421324046 1.278336591610347 -0.2934020477726324 0.1601660986507012 -0.5621753275728375 0.1765517290981328 -0.100829944608158 0.810858336404329 0.834018861757114 0.512498220940483 -0.296400716786863 0.5316901576968406 0.1799141023178618 -0.09729928210698713 0.0450149391592856 -0.2171478037896561 -0.3401977513941264 0.07282980670583364 0.4906597162016569 -0.5712783865187265 -0.04094893607623148 0.009788780883877924 0.1545568366383017 -0.5342159475075003 0.4066986195512531 1.564582081750197 -0.1190226684219112 0.235652267457493 0.5269075409391615 -1.611484391201155 0.03117512194452657 -0.9098467823830303 0.3470681841837501 -0.2551647750903562 -0.5065745981006372 -0.07988128148320339 -0.1237629890530401 0.2538362308282821 -0.1653273221290303 -0.3604725644137026 0.6705089875993785 -0.5869076845855575 -0.009018553430257108 -0.1814400386430173 -0.1370092633090808 -0.2215025522544996 0.1892343019030509 -2.00360358063817 0.1182086022991238 -0.6852578224474828 0.04221826715419903 0.0005920239470276241 0.1887427101075456 0.1277757121455884 -0.1592213634990149 -0.214093500086754 -0.2518656117685071 0.5386602135198797 -0.5625989773366866 -2.017985592129361 0.1420711155014572 1.175801237040906 -0.3776549612459785 0.2014840043250002 -0.4969754935859263 0.8876363446532449 -0.5943916526170372 0.2636355279024449 -0.2272663231661341 -0.0626027436171145 0.5416631180070178 0.1648044742399592 -0.1269620261004981 0.835684753646789 0.1534634808998901 -0.59662501468847 0.1017630795863863 1.712792120515027 -0.7612164937752787 0.8667266740367409 -0.09824677670974513 0.3046209265031319 0.4440660964864881 -0.131208002478999 -0.059574391152187 -0.005100273156176438 0.2702625019189791 0.2170546620302145 0.2214265032907683 0.2938703433092183 -0.2735226846648759 1.255773783562648 0.3410458908060685 0.3293321436941808 -1.549918022947696 -0.1263183837377184 -0.1907580421522263 0.1441311258268446 0.2145770694891684 0.02427364463053684 -0.01186046253559433 -0.4290168598319489 0.3144895806335394 0.000144341814421124 -0.3388025868366052 -0.135523785475746 -1.380912053297973 -0.8782412307731954 -0.2603331513704341 1.569567566688743 0.3207501997534634 -0.1421616330597442 0.1211080746607141 0.2558318900178528 0.6033943287986768 0.8473950668459621 0.2598464358287906 -0.265115429097827 -0.1235108279360922 1.240504614760614 -0.1566936861149369 -0.8603706489271118 0.1190166793610252 0.03869203700851614 0.8777410066511652 -0.1573367135293346 -0.3720896435046524 -1.248805348446824 -0.01807803338773313 -0.3233753518277687 -0.4542895462126829 0.5955853820039412 -0.1336961125962464 -1.09433002471499 0.6269018797553632 0.3062382612230172 -0.07593941128242286 1.397588803515941 0.6038163059005521 0.3273099844507756 -0.1282044652884732 -0.3170909685294963 -1.244691472899735 -1.270516885864657 -0.4665594272706571 -0.6776701642352519 0.3958929762364171 0.670237920514726 -0.4685862913799759 0.3367729079668389 -0.04207590416002375 -0.508454886415177 -0.04408831800521459 0.6325357430592093 -0.06698558204574057 -0.9679727576634013 -0.2094415500166621 -1.532123631558502 0.7060260258410164 -0.7388160805134343 -0.09739718634722556 0.02876219123566348 -0.1965619667199593 -1.36328667734294 0.8736755652084998 -0.07029807308022845 0.3065515507686018 0.05184762000695714 0.2707422004346399 0.5691356708701412 -0.1780765377783554 0.006883351618005725 0.985608640293314 0.3725148447964555 0.1077316650080389 0.1569417375332576 -0.04621948135615744 -0.1298306827675016 1.212640924108926 0.807614945370436 -0.01946852592116098 0.5210759566439994 0.03487300575615207 0.4349408671286711 0.2836665965914624 -0.1514881123573302 -0.09502270475143425 0.007917088435764467 0.1601415316429956 -0.4997781768128041 0.5611595324215626 -0.5094120523082643 -0.1928205343279426 -1.717473163149251 -0.3850278845612047 -0.1388877442526971 0.4026821405555798 -0.6059058742259108 -0.2203950395382256 1.478265447065627 -0.6188913182918863 0.3205977779171833 0.3149018754034866 1.086695516639037 0.1859253004588586 -0.9277373368431236 1.34175031033019 0.8645165960162149 -0.1007615390711677 -0.4189180784414485 0.3701202601905505 -0.08410050119273213 -0.744182570527155 -0.09383925958865828 0.001804394983745102 -0.2368688341670315 -0.08250928161433832 -0.5152470239391804 1.098821822333457 0.6507588895896893 0.1893993555712468 1.488671165596695 -0.2158897142432232 0.2547011993369774 0.00040013414485788 -0.07336583849878074 -0.6639659725045979 0.4266034326119083 -0.3701466208504268 -0.1298119937545297 0.2018302685822798 -1.335564875799217 -0.6534509106485137 -0.7550883959074398 -0.5774511134457637 -0.1685152910499398 -0.6020668705780652 -0.5418804745655762 -0.8508321310128989 0.1311879329028767 0.05720757597248095 0.4736357251959907 -1.259422709917559 0.4413750021107715 0.07349116162039437 -0.728366565621816 -0.1663730644707546 1.343969283790579 -0.5104712708618101 0.02055163496856255 0.7867697959115829 -0.6764804244565013 -0.05359708466013901 0.2863000649270163 0.559551261445457 -0.3732104222505622 -0.8342372576331252 -0.01756391031308994 0.1007919524733567 -0.3671594508658797 0.1412720873918552 -0.4382952225766783 -0.7422771293653797 0.7493305983631429 0.2309337407121749 -0.3469831243478719 -0.1446330281497954 -0.4109164750372379 0.4727890183587129 0.2443792139623585 0.6152598468871682 0.8494412388628816 0.02177982431987717 0.6146417769273046 0.2863674101591301 0.7615251216593818 -0.4371375404217163 0.4505325178741045 0.04295721289586182 -0.104339875368181 -0.2266952855937366 -0.3992116952578902 -0.4481249877466106 1.705048948926935 0.6743134047121594 0.5036240728276015 -0.4724681229957103 -0.4544600378402489 0.8554219638035209 1.130057721270746 -0.2065276480259044 -0.1760469306387514 -0.3801526582841936 -0.01552017168563728 0.3215734525642982 0.01266166538435733 0.893352792843028 -0.7151166705559839 0.327434055377923 -0.4866523863658964 -0.001468196000602826 0.02613774827160015 -0.7933038325797435 -0.2910871089699486 0.3806100969076313 -0.2910029171318134 0.3792784135795841 0.05529937563846464 -0.7247350594890509 0.517194246158215 -0.07072393299997713 -0.2717008866765375 0.1672024717752132 -0.3217263099745239 -0.3153707827745353 0.9517046786276315 0.4462739487093949 -0.3739360074352967 -0.2738000809884671 -0.3943752016102822 -0.1056252997791086 0.05240912019190633 0.01969159183515956 -1.249872898221903 0.2386637382553093 -1.118076529043855 -0.5671879521311212 0.6604787215542943 0.2379162935020625 -1.43525546093656 0.2542220949405949 0.2114487646000714 0.2212094921271668 0.3322078537073063 -1.750535008612756 0.2562578802287682 -0.4946239995493709 -0.0196927900851238 -0.4116518218884078 0.864315527974297 0.001673194431579699 2.500403203113155 -0.004702543742921244 0.01986510698186836 -0.06067616469926473 -0.0005461089523202628 1.150569476389681 -2.175925467692253 -0.1777072611734915 -0.3346386092290497 -0.09434449025915316 0.2730684051486714 0.3102419828974701 0.2145918916635763 0.04197028143728922 0.5818340005087722 -0.1888686402361658 0.4329383039021023 0.5601202072835945 -1.312183641134741 0.1819910622091832 -1.712806865284006 0.1560616049142683 -0.07109747321014299 0.4563509829620641 -0.507177324302291 0.525055524284102 0.02452082878239846 -0.1041773225267173 -1.490408598566273 0.06099542789487168 1.880878258441784 0.05697178545626787 1.689753309021338 0.2237242661744284 -0.5088211311298503 -0.678361118665729 0.2208386098065895 0.2787306437656937 -0.2504310058498449 0.21308725269892 0.610447593762118 1.50634040237158 -0.5515131533779885 -0.09033872010100265 -1.092888026145731 -0.006693921992970967 -0.152638309902231 -0.8039468245502636 1.602167753851835 -0.4236521273029608 -0.0327287782863328 0.4347825056451019 -0.003564915468876531 0.628036470527119 -0.08695491718770053 -0.4241496923974178 0.2670819289490526 0.08360403636276252 -0.4830168638156054 0.2999130523832124 0.6396841933624671 0.4733318197517801 -1.495609524028435 0.1304814535643993 0.1941062189256242 0.2323971487445071 1.563146526274433 0.03600331086352761 0.1841549375949169 -0.3538223639990435 -0.3625089628476338 -0.07801964705270409 0.3699342664955318 0.4126063504853687 0.2165340980658207 0.6997067166012751 -1.063786359653546 -1.236977671550628 0.2420862921660923 0.1748687491659522 -1.355254176878116 -0.1357319874161112 -0.02306922336489082 -0.05299540236737519 0.568378391396173 0.07412602631321712 -1.401231495756427 0.009600887578615618 -0.006850674388191409 -0.7817276182475658 -1.09696046185943 0.03784937085633679 1.013273741338797 -1.164512807111387 -0.3052628914573563 0.47970048921133 0.9103424646678512 0.1108037089912334 0.2444431578428699 0.1974146484480347 -0.7779089719889092 -0.4175656461425267 -1.941200257799629 -0.3100284717309573 0.7284043097034391 0.1305356485649035 -0.1345063909807079 0.05536029405978275 0.7370460883467899 -0.5760001889207115 0.0803641712843241 -0.8712743890353482 -0.6983566067864475 0.162077486504934 1.135392098159782 0.503772127529126 1.16086472171163 -0.891910753214274 -0.6189895110334825 0.08971668381749667 0.1257607997696177 0.7831694556795902 1.700506919816319 0.09879230923001123 0.4775719777183768 -0.001240043235636938 1.855266782768082 -0.01058713829918697 -0.8137648611484564 -0.07423232396731622 0.03844403411204476 0.005860202995538209 -0.6595241801796752 -0.1754965777136374 0.3096078581037442 -0.861864915051535 0.3261052343693419 0.7251447635930791 0.1122810962440433 -0.07032943633521893 -0.9012910399023024 1.054285239988945 0.2114279137293663 -0.09796515267988655 0.6055885313079215 -0.6534287420837749 -0.06317521071406579 -0.1473889523392915 0.01915861341338818 0.810486565967713 0.1663559605181328 0.1935125452859476 -0.3880669514647057 0.2750195982654481 0.13914740825118 -0.1417699923389921 0.3092776703679361 -0.1456549059530461 -0.6617612102205908 0.1018892875476104 0.2693715661545433 -0.1344547299243231 0.3267259403775115 -0.5315114504966052 1.022582478747605 -0.7505332852418702 0.5674226170180822 -0.2187585569910422 1.012916439746863 -0.1421685889962138 -1.325666175274579 -0.1734169963845731 0.3858507384338924 -0.4390656496526087 -0.6909951827285844 0.2686641600701269 0.372706298430299 -0.4057968651811848 -0.8853868059611585 -0.2410502567782659 0.3517472437511062 0.6146996937703417 -0.359340264638681 -0.3280917758309616 0.004534614892417615 0.1866265316420088 -0.4943584218997748 0.1875188131185176 -1.180386479179528 -0.1325939331732968 -0.6876928702341948 -0.3346986561430904 -1.03975467273851 0.2061460423389186 -0.3729964423165278 0.09576190501275991 -0.8328066557411756 -0.2380629891597821 0.08640941476451314 -0.4512322690545344 -0.05831381849326848 0.9495210316980598 0.4292252440154868 -0.2306269536684948 -0.1030878990734915 0.6250500602480038 -0.0137137361235324 0.1276200115514485 0.5806691312286363 0.2525057919767852 0.05589530574439267 0.06086894191976067 1.300632827723401 0.8044066851164198 0.7734285990128805 0.5322947010598819 -0.3553382872046488 0.01591513442821504 -0.2582647126374679 -0.06214265098820469 -0.1440629025212539 -0.3359539059883113 0.8166252584828907 -0.3390303605657464 -0.5629691889645491 0.07244278553067612 0.008617706460973295 0.7711258881463856 -0.7746838287023011 -0.07450200504774988 0.921146410575636 0.6133911584517808 -0.2061562063133302 0.6606637616529124 -0.3981167192477568 0.5819958110713381 -0.0621948978596266 0.2121268542980147 0.4329387560045687 0.3107585723176559 -0.6210558193041851 -0.5503289065343548 -1.36663812406217 -0.8352968642171392 0.02215271231059262 -0.446082377931789 0.3762181434928323 0.2966540903619771 1.147386093367924 -1.055652448236734 0.1530242256623153 0.6984396334093517 -0.246420628951952 0.07500278078494561 0.2065838031116436 0.7175631733159967 -0.6533107090623836 -0.1234885754030489 -0.7558655800368774 -0.2133507527912339 -0.002217642593923291 0.9588122147172868 0.7980637943261978 0.3192139264531906 -1.069753503659346 -0.4655743769827387 0.3802889051466359 0.140211539654715 0.3279791031205104 0.6389989710424068 -0.4181463296286165 -0.2430371682030689 1.23118480556419 0.07187155169280063 0.07393288512848799 -0.4811932628378787 -0.8132860182415618 -0.1765594815765548 -0.7694928150309976 -0.3269907664650071 -0.4568741924391499 -0.5632922785173992 0.2827864926210625 -0.06913033877078761 0.3908437335652788 0.4410098288312609 0.3412324962445946 -0.5270824579867447 -0.6748357320995202 0.04503815350503736 -0.2611371119500013 -0.1502572666943782 -0.008640183677472288 -0.1004494197323707 -0.434894448753237 0.1064915532802236 -1.354634284028642 -1.411744202898829 1.632482654689602 -0.6406159525076672 0.2577441077297096 -0.2774074300454006 -0.3118138349724633 0.004309804014987318 0.5451127699282891 0.6708218124670858 0.8570905052536985 0.3601608874088255 0.3553818724382291 -0.2620720777778969 0.2966054033142973 0.2356004814287993 -1.136966643502904 -0.3888346958404257 1.040665315393571 -0.005549101391448597 -0.3005717345803497 -0.4140981391057519 -0.5153397854755941 0.4108067471347644 0.917478705918307 -0.3392913574436633 -0.1536087549937964 0.2107757095620727 0.3301874578065385 -0.04433758971696649 1.676375609569327 -0.1616534334818715 0.004735556334663163 -0.8135826546462389 0.6190722012229085 -0.2749607827640671 0.2801609804841279 0.8590992758526859 -0.4383996275515092 -0.3279609812788895 -0.537973914908674 -0.1614689107127046 -0.2133336462486235 0.5652459825226002 0.4338496051740805 -0.1183000993263596 1.880640682095779 -0.008295140897772824 -0.2911042349114233 0.5674561099233262 -0.0008790409487441353 -0.3784476353379923 1.633201642132718 -0.3272953437069135 1.212336869715783 0.2643452787949313 0.2605605518364931 -0.07707026693136446 0.2619979475221757 0.5269133547493271 -1.64601605399022 -0.9972451522481874 0.3570354583750638 -0.09195740569622003 -1.860056474526814 -0.8363130464375677 0.4778595980656951 -0.131901258120719 0.2108966723165999 0.4104156330591409 -1.303692166695464 0.0002393377059977511 -0.7115607076891641 0.6768932180958754 -0.7553704256935598 -0.825966245164376 -0.2395619830879943 -0.6720711397397274 -0.5512180453775173 0.427268964093802 -1.433607296582893 1.414168395325844 0.3973784213239459 0.1024949574695402 -0.194251772662365 0.8271303433972653 -0.1902551980491889 0.1501733949023229 -0.241650112518082 -0.09731710502140893 -1.255505945312796 0.375671778520464 0.8662802826209547 0.008833665055862139 -1.083928212409653 0.2563942094580021 1.163171930165483 0.2793010429620815 -0.7021440234170592 -0.7606656466129285 0.05115666729089731 -0.5484873534496721 -0.1747936500586908 0.4459288849470724 -0.09372206948363766 0.3349845834414411 -0.335634895886997 -0.4341166169404686 -0.5024230423927779 0.8329708143721694 -0.2392633666829787 -0.07625929094761233 1.451308923445089 0.5257420027839333 -0.1556167213881869 0.1233895652457853 0.3183987295820004 0.6325953115226139 0.04075717746055375 0.1330479046992382 -0.3585139493461852 -0.03997741974248074 -0.1379210596763046 0.01307387432500367 1.763547828916627 -0.07044800581862867 0.7694580015736006 -0.7014792609692836 0.4958380763098948 -0.9661947156425806 0.08573522459677356 -0.1316033975370359 0.2149085487307954 0.7470313248886211 -0.8181057218045079 -0.504784031050626 -0.009044152590740082 1.019416449888992 0.481007927081493 0.4036789013393859 -0.3582964658001078 -0.7100544502739035 -0.5758997309340487 -0.3210494691028184 0.4455134231759183 0.4401155738398348 -0.2064517516701348 0.4785030547753034 -0.3225805415492865 0.1958526076486469 -0.1062293818806037 0.4286939556307418 0.9706411812333439 0.07226076317113403 0.2814243993659246 -0.2161101997238504 -0.2950980078415016 -0.2354642038379424 0.2206269780578073 -0.1673885437754069 -0.6243471985958718 0.5780151188715861 -0.5960788330969969 -0.6047421871088284 -0.237732705116451 -0.3449505560352651 0.06571062732913117 -0.01790380583534422 -0.1368225473721255 -0.3910029483142351 0.2346539474104901 -0.4309113098217272 0.7741263968139418 -0.1670819798248541 -0.7481767804892669 -0.3192304681741641 0.04885408123287856 0.03143630252516433 -0.3412630003186573 -0.002436814998697153 1.28655402550017 -0.0897999960120614 -1.069472042117992 0.2177743725852809 -1.501237109290073 0.02331436634225844 -0.6959197724530417 0.4480972755791108 0.1532790290105631 -0.3126649618766557 0.692949415011024 0.02659234807815233 0.002434202333974636 -0.3731256786567025 -0.2990732152144103 -0.1558335311608285 0.1181964531959919 -0.1091405589103787 -0.4918146903930614 0.8512270573012892 0.8141839523985459 0.270118874376788 0.3489083763708919 -0.2553697236027688 -0.2153140480897968 -0.5998091288777625 -0.2745557847503617 0.2358579309242098 -0.749410990710244 0.2174994220101719 1.160356894839201 0.09657879045566874 0.380860610521758 -0.9459766219339834 0.6051070633715538 0.5634924584456242 0.3062791057151665 -0.2122389568993092 -0.4375413166144661 -0.2322310678173882 0.7433398990360457 0.8676620933088287 -0.01582294396969914 -0.07262099939681489 0.3527730640810105 0.4173276288788159 0.1999380793058605 -0.06098274226209758 0.5284028525530855 -0.2495725539352658 -0.1605642852206591 0.2850214391528437 -1.02256868577687 -0.2719218817772754 1.152381612621078 -0.7398032532522243 -0.5694860762093111 -0.4274689302173181 0.3544889271092261 0.1164180160503843 0.6055302382552733 -0.7770684623755691 -0.2919455101082844 0.3262849217261086 -0.4100048760940227 -0.3351421684726595 0.2334564607920066 -0.3166755145882456 0.1523051532384637 0.2864031696696562 0.2301775334320678 -0.1483488803085935 1.294105160802389 -0.09261963925449619 1.140979620343054 0.3423995783199514 -0.03116102816590838 -0.3506551629827515 0.3965424066297331 0.7026629912816673 0.9378065946306372 0.6830215046161456 -1.939990326473164 0.1462721435502603 -0.2525282545096042 -0.006932428866381431 -0.4812796208994123 0.03134757727564563 0.4906899667842705 -0.0355953993253813 0.1677099268919501 -0.7794523703567179 0.02357051729734659 -0.01154691463747393 -0.3222565084234115 -0.5148926099375787 -0.937372083158685 -0.8161016583768103 0.04513712135453887 0.04517930199743053 -1.830733655541034 0.2115128543177726 -1.098169632253439 0.4051608510221302 -0.4126543490547289 0.5009751086796825 0.5926973059911206 -0.15413057091032 -0.05654481278539185 -0.6925322295080387 0.3221647146730409 0.04510613746488961 -0.09529242666274218 0.06764919568684566 -1.840936382105674 -0.3267495456813295 0.2782289592022601 -0.2685656510595202 0.8178411233538542 0.3564518466350549 0.3527652135834561 0.5566401292401242 -0.38790587067295 -0.2578542217168325 0.109893943609384 0.07807907193109753 -1.12137110763477 -0.1324784418037114 -0.005951656398702106 0.2820991751664898 1.687875457804436 0.2349424672753212 -0.1393322043139511 0.0002841305392467362 0.3677981082787183 1.739261669114516 0.3808446037622569 0.5157071670030323 0.3711708464083776 -1.01181136064024 0.9017460511497415 0.160039098870937 0.9198004083035913 0.2557499841064151 0.2682494701747715 0.9984096957622017 -1.37079456558903 0.3276558280387169 0.1574484090623393 -0.4801863790701707 -0.9760959161984081 -0.09053741624809886 -0.3310089714488472 0.3329124821741104 -0.2170256866491336 -0.2922325487495145 0.620504714590667 1.179814694410242 0.493064427623679 0.3581658562185548 -1.164842118179568 -0.2447081136207911 -0.03073927922479151 0.2928477196552529 -0.2263129699501534 -0.2893586558170222 0.03238338088790749 0.3368682243916875 -1.125696611211966 -0.4495387391263151 0.3465859010297608 -0.004095958105753903 -0.5823558483764457 0.6392447883041528 1.250913487756512 -0.1504269962952736 -0.06017101311499871 -0.3662289265214848 0.4455058258128535 -0.1745070655929388 -0.3388531370527967 -0.4528318604882725 -0.6622373887393125 0.1346545731024708 0.5138667262626097 0.2190290799827482 -0.3470155434215661 0.1934470084462545 -0.391416689556407 0.2542115660592102 0.1010780503921299 -0.5350669995871836 -1.3175185297 0.1807280658076065 -0.5553804243329881 -0.5276811387559012 -0.6248346443999744 -0.06168352451144898 -0.8401830414436825 -0.4853644666534704 0.02382940530138976 0.1220121020118118 1.394716215099945 -0.1441826853040968 -0.1419931482641885 -0.2886082720743094 0.9394316307524102 0.3469648876318314 0.8727788135028726 -0.07220358209360027 0.3500448670115148 -0.09784280999963463 -0.1910394496914857 -0.755406764000162 0.002660219593488059 0.05532613030727951 -0.4493969903539467 -0.9004388478066757 -0.05535291799422656 -0.6983815601042961 0.9303697404330852 -0.2359620581089364 -0.3550929707652981 0.115130411780371 0.5262638960705467 -0.07175087686362311 1.762887108158969 -0.1987880742470708 0.3720740032940025 -0.1735982539616194 0.6634792194111103 -0.5252000155771809 0.265929779165623 0.07245558677782903 1.693975167570365 0.06139888650550662 0.06898721396181921 0.2398264980889365 -1.310132570457551 -0.2003317460396415 -1.736416694538406 0.864841890831304 -0.2125433472889966 0.1740641041094899 0.7523137661668788 0.2378061170268367 -0.4008948594547475 -0.4096556829444767 -0.1616901139942719 0.3320820026892687 0.6864012837759713 -0.1235169616836536 -0.2459763512327192 0.4085172577926399 9.267967145851048e-05 0.5016933110667042 -0.560378816187016 0.007551857282025357 0.1565357331396545 0.2057400880524845 0.2899771848294982 0.2715877487666695 0.6739262217734614 0.1075737942923905 0.968729580851075 -0.6407255656395827 -1.135104366163277 0.2551993944269357 0.2549437042604259 -0.4861102706653106 1.241169306902523 0.1728759928967564 -0.9678349064543823 0.3801581334837832 -0.2398360140309553 -0.2888162577713425 1.689798625333392 -0.3320767897517928 -0.4471894820057599 -0.3806330172098923 -0.4849304705547556 0.1147941229464405 -0.2486744202179862 -0.1514901821790694 -0.302600269700916 -0.3204413000114439 -0.03625368286047745 0.3954377206842604 -0.1864252714436679 -1.18513288393092 -0.03168156150679913 -0.5502458442955428 -0.2453882173152895 0.04045499323551099 0.04208941406519182 -0.0852132506126165 -1.033263935937493 -0.2700170951610246 0.4731145880851632 0.2234221814902548 0.02204227423478137 0.8901377285164687 0.7198448961602028 -0.1912677082815876 -0.3364634994439274 -0.01123830292355311 -1.550848893322266 0.2201919193886081 -0.05614290101637208 -0.3277574057710413 -1.323481312079835 -0.05518362116038858 0.2248312617519994 0.6813053201130613 -0.2757725356727185 0.05813716050447446 0.1006463858360026 0.3076463156019448 0.6199496900317109 0.5363814269994703 -0.1561975105803023 -0.5077442652951043 0.6283048277118395 0.1412530318883268 1.281793078533776 0.0025787648932819 -0.1331833006310109 0.1532483619870659 -1.466420962058142 0.5374009306463234 -0.3631043160393992 0.840587474563869 0.1227089321208239 -0.2685862816527333 -0.007612094511283705 -0.02967682209225161 -1.346217153069092 0.06546474487807545 -0.2938081251094823 0.5535773665405253 -1.085126122692829 1.190583684532067 -0.3857242330230083 0.003933230872917194 0.2657939587727827 0.4477477102013049 0.4746753719421784 0.3322221228900186 1.211949078020444 -0.8709433476659125 0.4267892768652475 0.3522277453348412 1.045710915551056 -0.2410030914508322 0.5880917350828994 -0.451466832217992 0.4762628220482343 0.439836803325876 -0.142451065447786 -0.09669197801138806 -0.3630461506821275 1.102874894701151 1.370865600400914 -0.2855793316599359 0.6189606650536206 0.194190182640269 -0.1404016694478097 -0.7977612311794475 -0.6799466370163806 -0.4349699696815917 -1.911193457019921 0.3906824121605287 0.07433643301072365 -0.0720066181996657 -0.1232188684003334 -0.0003847195787397517 0.5285248031798987 -0.01054308500218418 -0.5530998173354111 0.02923280327635978 1.090833934058215 -0.08886193585730873 -1.271774666127203 0.1930572171533956 -0.1799311582659923 0.2439068098405534 0.004008709623502239 -0.4097991667627565 -0.5291966662451846 -0.1397061192650568 -0.02408456799749318 -0.09478489428125489 0.4008422118335364 0.120486285855168 -1.711506919163414 -0.2656682878375163 -0.2568760640926215 -0.3966204677328985 -0.2257443278074818 -0.4347318574108375 0.8134178080258789 -0.6888751993873872 0.7363746739295043 0.04582221613908596 -0.1234603589224808 -1.007385197008358 -0.4831556314859124 -0.178543112135039 -0.2638492092311593 -1.01542794684677 0.526615765599191 0.328436856059648 0.1904669243763911 -0.3083633701480115 0.4651408018857984 -0.4049611858882657 0.4214105583343059 0.6440126361486193 -0.1145405761525975 0.2716117343026042 1.076858245342579 0.04204448076664932 -0.9074224025518827 0.2522070469703782 0.7689679583777922 -0.2789285185472484 -0.08208534987137586 0.5014995527318084 0.1163002948233236 -0.0188247607636637 -0.004568429976046337 0.271603247844279 1.700626989701992 0.07826651180347806 0.8760151672342688 -0.03998387016814473 1.743131080065235 0.2003689082168865 0.4659881357679176 -0.4716310126904884 -0.7177135029715193 0.1077214649200012 -0.1753770737502763 -0.155635369959129 -1.701877031764191 0.2355312936581856 0.2599010204373658 0.6231554326148261 -0.5617814660115982 -0.4356717009942508 -0.1460683473482139 0.9249440811787429 -0.4969018592679677 -0.04826068119575028 -0.04347977530406596 -0.4735864383513684 0.270923785472018 -0.3148201508638088 0.2905783438723895 -0.2230933251069733 -0.5736465437634518 -0.5704408316879325 0.2182728867306357 -0.05962107441975645 0.6590935593166393 -1.04119596730063 0.3862985990404377 -0.4467596298109228 0.6720515625475058 1.939719595457275 -0.1940126558490395 0.3623029118454135 0.02976609782933741 -0.4881782548190111 -0.5818057808283595 0.8878972057323092 -0.3444707787569746 -0.2347222556456512 0.3355401965472922 0.05041124799542487 0.06764607811194787 -0.1985802815578492 -0.02182511239949487 -0.4086263672788375 -0.2947745095528839 0.139315650583279 -0.9834131131606498 0.2874695509948109 -0.3949446688938453 0.4537792462535643 -1.599696340532596 -0.07080826537406057 1.594531728760678 0.5182537624871266 0.3320147718353574 -0.9512762133623497 -0.001427732293314823 0.01264366995168393 -0.2463859308114597 -0.7943159568656228 0.4877816417311814 0.3457617918377101 0.6268242646063663 -0.2322991554289636 -0.6274662316583668 0.3774773709514638 -0.9443252790607123 -0.3780249940245516 -0.4934280325544399 0.1515417675381993 0.206257202716449 -0.5638017269226765 -0.4292833794324387 -0.3485148195217698 -0.6085966506950046 0.002608372895738361 -1.930935334789309 0.1199336542535235 0.4368175170453268 0.376328466655613 0.5378876826423632 0.284533803992479 0.6573602332023071 0.1898276099987642 0.3887931819088883 0.317613757193036 0.03747325503161245 -0.01584901880194051 -0.07471347896075102 0.8925676949945893 0.1107056831815607 0.1516623678074656 0.1785873130999462 -0.173035171489341 0.2003784579275541 0.3103407748230192 -0.7296300523940815 0.8934298367298587 1.048928782294346 0.2627494150299506 -0.5390138651304094 -0.3488966186315754 0.59881654832996 0.156034609468375 0.7794605046367377 -0.1512388150931512 0.3744267657105593 -0.8733204961940337 0.5478366011233887 -0.3992983749608998 -0.05132506131939089 -0.6154005233413716 -1.208673154283075 0.2904809059897517 -0.04203071283061616 0.5141109448765899 0.8102954386578596 0.344129089321592 -0.02098794449206496 -0.0428246743404342 -0.3938127660900052 -0.006561932393305276 -0.2449592109365727 -0.3328266198550804 -0.3204933299458815 1.212052789958565 1.167400135118031 -0.1952473804094569 -0.1019171785705839 0.3302626243937629 1.19729310333377 0.438278382377766 -0.8922063318641431 0.3808632384023591 -0.3081965832518748 -0.002191264345154288 -0.412225005446584 -0.273960678877489 -0.05583242242682726 0.457172070179512 -0.1770606455978802 -0.157568574067637 -0.5025101637568311 -0.08721938762025684 0.1920249667869401 -1.054995161817404 -1.429522098294795 0.06209750681165473 0.05700698708445708 0.1309012300629189 -0.09079718756858292 -0.1205315506089508 -1.325829602357614 0.2420567455340101 -0.07687659438665376 0.8659265508094114 0.3325235616941422 -1.515909732917803 0.9244731659918554 0.1488065558118604 0.08062062806611799 -0.01206603401421199 -0.1168583866921144 -0.1212332237939106 -1.187299663849312 -1.531172261722985 -0.2781948509301106 -0.06787263439890147 -0.1580419024212227 0.6348518759706052 0.3548787478994133 0.02894537140606965 -0.9095267048103114 -0.1147881974495285 0.5583280714102795 0.985779925783334 0.6063538487947059 0.0002830220129597439 0.4246945809469095 -0.1630651503357234 -1.009290314833743 -0.1255069590329451 0.5035271540302717 -0.1022361465083824 0.308160203164274 0.594336586325512 -0.3864830025293161 -0.273874402960106 0.2257909299897304 -0.09863366658270338 0.409908318375498 0.08988531723343854 0.4930832627555752 -0.05527051050753934 0.1755431775568899 0.3203562949909299 1.063803396256841 -1.261362792251529 -0.1382168623081237 -0.14166380052693 1.730733463770454 0.2523598992676772 0.5522831794815859 -0.444506652390447 -0.01482428039076433 0.08716739751147656 0.3482712410547014 0.2605180896742433 -0.439549772352971 -1.12730167111107 1.232028379488123 0.2193669409649049 0.2133562139576543 0.3362040229766106 -0.4010844367214341 0.114249979285965 0.4044633597345011 0.05776421943809446 -0.328224371415584 0.1107133454788121 0.4406175423273078 -1.205787539794964 -0.2032829713460136 -0.3536981386277367 1.025613745866622 0.1122796783479889 0.4822950317477425 -0.1955706734806929 0.06639975143355185 1.014070348881132 -1.435536006416816 0.1959852595619355 0.1696720621388906 0.01546013910854794 0.6783109219320672 -0.5859127302300299 0.1289189559695604 -0.09724194367998037 0.4651565212251537 -0.2978080371206459 0.08201424120774056 -0.2488769470882958 -0.7669287806302179 0.07282332038113941 -0.6739788134143488 -0.6165523699359566 -0.9455661594663637 0.004184963223678161 -0.1980628650342411 0.4888552533633774 0.2811953188143884 -0.6434086843027221 -0.4772489934346543 -0.05650880417037261 -0.8484840436318446 0.3234082987734372 -0.5701348173836859 -0.2142194051515722 -0.3229537990668322 -0.4146400642090439 -0.5977854240763004 -0.2167145031849149 0.2613224968373055 0.2317641581817272 -1.060163958881376 1.205331947399175 1.255110274321389 0.0740417723865123 0.1684790404177346 0.08661356952142885 0.3073661296661551 -0.2852860686820456 -1.146663078773082 0.4823247159078827 0.2916040553495054 0.2758210865966614 0.58252523201568 1.637548664865613 -1.138958242777593 0.3488132900336898 1.666257008513943 -0.7246376625028117 -0.05884060868928619 0.2204798070719211 -1.615724797760656 -0.3859414309560953 0.3994243375234653 0.6827086323199572 0.1645032289057861 -0.3774969318942256 0.01052097730847332 0.3359455270563279 -1.553542934783869 0.8399382028877792 -0.449957952571708 0.2465882130834752 -0.07064797245635943 0.7077284102499873 -0.001424144921585348 0.2234907895434304 -0.03744241099568362 0.02566877820816394 0.744758626715337 -0.1535702985870206 0.3416494141280995 -0.1947760022454374 0.08457126917192911 -0.3701273057897735 0.5175332100798031 0.252574379722345 -0.2262158059387041 0.0820329842664388 -0.1719697590016206 -0.7202241513163636 -0.5485644877657705 0.2898785368956527 -0.9756119943862729 -0.07146605525194751 0.5501807195926305 -0.3061219388616276 1.749114786262934 -0.1708585998960838 -0.8581613488343475 0.3318014073150328 0.1725154348180446 0.03756950756220256 0.9833075282850889 0.4098539671567848 0.2060354419956407 0.4050171437517203 -0.225563405391584 -0.2799986821530001 1.450349762793549 -0.00173035360396301 0.02858470344100707 0.2424015224551799 -0.09187112669874389 0.3964133116041064 -0.1858196283106649 -0.2190997493309051 -0.9564818914030222 -0.1338625856282894 -1.121651986494037 0.004924262334264093 0.98237694356184 -0.07211341146133468 0.2851718461121016 -0.6523512236734083 0.09363085794545366 1.207583028197833 -0.8972733681973046 -0.6082428186658491 0.9596511254440425 -0.8498742479302527 -1.41040042465607 -0.876066074246169 -0.2825414592237699 -0.1268661763065638 -0.8101518917320087 -0.2801944961121052 -0.03912260799913049 0.05132077950968272 1.993282981724732 -0.1073077588711404 -1.543327327450789 0.2803980638374222 0.3091757697410041 0.2885364084733734 0.3123356667852323 -0.3308395971519809 -1.019711667206616 0.1648955448951235 -0.5103576469983702 0.1024853298977401 -0.10945035434535 -0.3496834370520571 0.0003255868835432219 -1.087641396064787 -0.2745520540813966 -0.02822782134371775 -0.2483721708375572 0.046147624129433 0.0842439213738326 0.4560233631230243 0.5416068428749924 -0.1716324558657767 0.2510771974691233 -0.05096976647537799 0.8600996449237062 0.8100559719755098 -0.1935590824013101 -0.6500886246828418 0.5516830656120867 0.1386981696167666 0.321067276545359 -0.4216188538612048 0.2502898674284313 -0.2225925776763526 0.3210128585868242 -0.1943632499523543 0.8701249518307914 -0.3233725234931901 1.096847205048496 -0.261063472922139 1.295715022517453 0.1721048653020927 0.6486962413977642 0.6627829911205719 0.2560296968157664 0.1887270305242016 -0.3094163840546844 -0.01535536428358835 0.7904494493258444 -0.2335569670579488 0.4636291134011924 0.04409426942740181 -1.484963191651866 0.1805518887266297 -1.274656724532156 1.645534596201513e-05 -0.1093850321503377 -0.5345815748180784 -0.2286616704721622 0.3645535086519622 1.621405076390412 0.3735355653452391 -0.1313479491796076 0.1554259780879434 0.8751498614270418 0.0175901786803927 -1.21754821001485 -0.1290475731735122 -0.3090596912448649 -0.5259341347440539 -1.361276806768333 0.7625175550121761 0.2204847628606549 0.0792261908074071 -0.3050235089887537 -0.1470538444214501 0.9934261237290651 -0.6002862335075952 -0.1375317833884515 -0.171750346573206 -0.6682739003888352 -0.07654362946082403 1.560528102676501 0.2344424767371397 -0.4869956922302038 0.01317430511549339 -0.330944977677652 0.200467856120067 -0.03569643685283252 -0.469870772534389 0.3620505532957379 0.04796348840711797 -0.06409175545494354 -0.1070624525621449 -1.250545109196626 -0.02891524035369381 -0.5027193155948935 -0.09195065059580611 -0.01802470399925464 0.273811938907967 -0.4389488128859472 -0.2601745341139503 0.6481865582467443 0.4620293045272214 -0.2027721952096734 -0.5860156039804836 -1.827075467563233 0.1047208621018273 -1.503863436381699 0.01211319136299766 0.8765819385724463 -0.3983499971135919 0.5494510770106302 -0.2838352067242123 0.06784121790308152 -0.5617443247617266 -0.4649758500407254 1.155775222212491 -0.0281859293091344 0.05818638447116971 -0.2364308939140239 0.4052390254891588 -0.01011882236515508 0.9408560833256802 -0.1450095701781893 0.6265452629493344 -0.3591556490393857 -0.1430669705454823 0.03551727590761826 0.2326645408902792 1.522302749906327 -0.08110353310653869 1.651166345777781 0.9727122661026587 0.7429693029301095 0.2830969098294694 -1.600232356409844 0.3255981296773108 -0.01292551985601322 -0.4316278527824703 -0.2889964827190203 0.01346558580485142 0.2738592915100049 -0.1785109446192935 -0.05876869988667793 -0.3220798061898696 -0.8820582665379619 0.2351307780182044 0.1138027106804761 -0.1704991432862615 0.4762114030464598 -0.2377567394231982 0.8384472788658991 -0.304427773975315 0.543994631187814 -0.7187306253715233 -0.5183918848026787 0.199975199761209 0.08629196945103361 0.4950030946103817 0.430144478978607 -0.01247755265927335 1.091374119369059 0.2079476057699988 0.5288824127631083 0.4260306520684224 -0.2454027175082631 0.03669550103224844 -1.541441383626048 -0.7494643101860934 0.3964456978383599 0.6715135410307916 -2.204590015012193 0.7871504147765157 -0.3292954288378399 0.3169003269641874 0.001215684339928844 0.666959040430894 -0.2027001248742048 0.00839453475061358 -0.8882064248111319 -0.2899740208895121 -0.3190515362758173 0.3974199601094703 0.01053849597411868 -0.0463770431213529 0.5537140599679614 -1.01068457858963 0.9935870542386596 -0.1942866010269293 0.5768011310037805 0.09834930170822399 0.2196507939430018 -0.1670841066702939 -0.1765983406214194 0.02208207714797757 -0.08673685095849398 -0.2984698888343434 0.1982817682590266 -0.309686360403801 -0.9917480584337215 -0.7909018621965446 -0.4917252277212664 -0.407758360866221 0.1210721719265204 -0.1357809392869638 0.7002477128764805 0.7199522154408561 -0.3078761507847061 0.1301623733796335 -0.6462342273966027 -0.1859547152399178 -0.1581557260904832 -0.6926133282098482 0.5055571713865042 -0.490468211498495 1.726944247612774 -0.9022060052541638 0.04046207343990982 -0.1179690430622052 -0.8908766303613876 -0.1153377396392758 0.4057275648958948 0.6081375060337738 0.5726003277008351 -0.3866750668893796 -0.5865638241631541 0.002342940365905107 -0.801395522089004 0.3155804388390195 0.8708156609087793 -0.09895513155248624 0.1463667881169132 0.768834352594713 0.06640702188085637 1.035440169810651 0.7918252348239461 -1.156683683781994 0.4126890668740485 -0.05308864478440871 -0.2107391691273544 0.9115645489484763 -0.3993762067594986 -0.9978862472037276 0.07266125193334975 -0.01392370300323618 -1.00622145093906 -0.01947586003240741 0.1734010624035595 0.2495437345836331 0.9357525549441403 -0.1114101940772675 -0.9853145451209666 0.01318413567806816 -0.1206003425408568 0.7377006661959041 0.1786588685310049 0.0717375561417173 2.681847351719695 -0.6111093384764593 0.07589213488578635 0.2603817062716929 -0.9171354794978364 -0.3892725050574778 1.012081105352345 0.6251785270817999 0.612768138724067 -0.4278304355734455 0.06756159906732478 -0.3011712496568675 0.00757329322604886 0.3940662559275327 0.6521515108577006 -0.7109051229116378 0.2418965740868417 0.0722766263450625 0.04032824076880882 1.317479357680842 -0.9952932034174695 0.465234617599784 0.1285597197643309 0.4990400434327146 -0.2319608793160418 -0.2038594940568487 0.06058288485890954 -0.1356227593734924 0.704035905037559 -0.3599681087245325 -0.02335364277806221 -0.06050892471599792 -1.057856194578415 -1.170968404826025 -1.621489097882385 -0.1505068535909308 -0.5019231179563206 -0.5454285362861794 -0.1965723676801007 -0.9107070896691137 0.1611954305429562 0.1067983383893665 -1.891716020851822 -0.3136094095041961 0.4397189599269384 -0.2196445664569696 -0.3766672777469847 -0.2871923782752391 1.764269839302544 0.5267080467374233 -0.6982905702487747 0.08905160695455928 0.04269554191039134 0.444662938156474 1.066465643328081 0.005368222845097344 -0.9468024303151035 -0.0650319479481809 -0.2524674839422618 -0.1143403549380779 -0.2559359124494507 -0.3254112735987076 -0.572594383957755 0.1652473803628132 -0.01127020284212851 -0.05779001772738863 0.2073730395833135 0.9329265139886939 0.1349769410702991 -0.3752227782212439 0.3603955451189986 -0.1789685155029986 -0.7995808948673592 0.2081996476133033 0.6800088566788809 1.00738633018386 0.3719033056454513 -0.07209518406218157 0.9495343537440465 0.5157219354564928 -0.02508171024895422 0.6519696387968205 1.499209525113426 -0.7298824218504825 -0.16915541880219 -0.3037381220457666 -0.08286369869184597 -0.2698873594414365 0.1802973142604007 0.06958992244698321 0.5389263429836363 0.2334689641555302 -0.3097538035843574 0.5223532870172456 -0.3676560097036244 0.1255064330201303 -0.9312344800167828 0.2151591525649685 0.00869488273166163 0.3800013386794723 -1.135868039084411 0.1044577366812161 0.5284867349075683 0.7548042939395011 -0.5515115053003901 0.1930904684057053 -1.144076909380112 -0.7265533600663914 0.5974123898142909 0.5366797130798628 -1.040940454459758 1.003497503810882 -0.5504493280010943 0.4261797729038743 0.3726748280241687 0.3883836846546231 0.135055415573256 -0.08197716987187312 2.001399618660803 0.7275906661361811 -1.882952571726069 0.184088838147092 -0.04246504368407679 -0.2280105500421264 0.1734551516539236 0.1088117314506453 -0.296838046843042 0.2484113214576944 -0.02212490276779425 0.08143730913084993 -0.1242737962064044 -0.2034224602365757 -0.7768358007682251 -0.3150333800663969 0.2993482767826982 -1.498581215239844 -0.08340214620723721 0.08623795741239183 -0.3143479409235869 -0.4635544436966326 0.9374818853345741 -0.009913088949110095 -0.01057301154495444 0.1033523517604639 -1.001818499457991 -0.2867148006489326 0.2626062449245856 -0.8959159615208668 0.550641323242205 0.07741179062047152 0.2294823111896762 0.7046727946324776 0.7897795328688115 -0.9652050158944191 -2.120655596458806 -0.1201844497435054 0.764690739023024 0.06758960064667645 -0.2294032424873608 0.311546146199608 -0.0008286299664825304 -0.3061153312048762 1.510567825172574 -0.6640915655049607 -0.01973722105985173 -0.9222828614969099 0.121397618592035 -0.8642717764397959 -0.69083057137893 0.9151231992356829 0.9931000783843839 0.4267400432522903 0.4034321824111849 -0.3068055207330029 -0.4940707835022405 -1.571518289135901 0.7799137136794623 0.6684983793138509 0.3186029737535733 0.1658477130709029 -0.1095100924447498 -0.1293179848638084 -0.2937156239626666 0.5799050369764664 -0.01461313543144017 0.1593955349897255 0.5753518396480902 -0.4756720028613839 -0.5966555201427788 0.9698086758824321 0.8827045271077406 0.1207962145194945 0.2223744748041788 0.4061622179964295 0.1563083973772035 0.02565972039576669 -0.2361815325782692 -0.3498259588363105 0.4813679429249849 -0.5021150603411203 0.5469016007915115 -0.3784105022001207 0.9390014297229676 -0.2661310905344773 0.4136233520034052 -0.3469695828535574 0.2990188944054579 -0.2557139161050522 -0.459872875657465 0.4140148203412482 0.08788786002461119 0.7813452523470392 -0.196402203240219 -0.2900477926226707 -0.7332495503828663 0.2268719747133513 -0.1646862970417754 -0.6930198578281346 0.6314906527471275 -0.2238765691887953 -0.4369083549518756 0.005321400069247941 1.164385992195291 -0.0898759694704967 0.397895383151404 0.04876825990298139 -0.4777816838114637 0.003084457354615561 0.04500515240136255 -0.1218549598068857 -0.040892856671374 -0.098660447695647 0.279630412075385 0.133679601124615 -0.40204871777761 -0.4196156435193231 0.00812673066171269 0.727908876798222 -0.1937706758797136 0.2697517361897708 0.9754027073866711 0.03457185829482069 -0.5893320394715168 -0.3310050388632635 0.303139539380185 0.03942328598292491 -0.4895639486097036 -0.5202267417051465 -0.3856722045606343 0.2653343900418111 -1.359382501277111 0.113445783801568 -0.8956458443500641 0.113829333481833 0.4874049112221037 -0.07860177779943392 -0.1505054294542564 0.513616928319914 -0.8864404888335869 0.3066687586903542 -0.6407755145643426 0.039420133511905 0.3517956222401109 0.4997554668018844 -1.169119938389101 -0.2647677702854298 -0.7323569509550982 0.4117421221383516 -0.1028306762427449 -0.1177185835511887 -0.01073915229659 -0.709118877022073 -0.1406116587026671 -0.09844277543449408 -1.747592128436031 0.001964262545585524 -0.253008009233937 0.4820851194626866 0.4650583637639769 1.511350342908553 0.4690835485923515 0.0004107295819918912 1.285329378058755 -0.2308842495094879 -0.2529587759785701 0.06355189331123638 -0.09926462933089619 -0.02110066703568632 -0.4341324079468478 -0.8428666935600433 -0.112635686042608 0.171701471750803 0.7797355493602113 -0.2672802660377475 1.443744654238525 1.811103239177961 0.1862808630762973 0.08193053829570633 0.2853414530869288 0.5466885303805636 0.8962898508524063 -0.5530326424115248 0.4155412547088302 0.3438522432622571 -0.08198016253159998 0.2329848204974151 0.2821612624835007 0.05849013044170148 -0.8303548223251069 -0.5334698937475764 0.7211916051944662 0.06130095137183314 0.3412393181928871 -0.006647928471235178 -0.5271164912393229 0.6101276805216818 -0.3115632449214203 -0.4182871720325173 -0.7643807809451605 -0.1836587977025881 -0.5001261837802985 -0.0181032297543547 -0.1286593839064292 0.2501558106567254 -0.1516681064122906 0.1287279497419314 -0.4718616179548333 -0.8445986391189679 1.566264535950306 0.502045948023444 1.706851929291389 -0.3262579469694706 -0.2386684591213491 -0.3241867604015949 -0.08018795847369124 -0.1991314760695578 0.1144626857277651 0.1443170125645122 -0.1179817550682885 -0.1928280665146986 1.759118647860495 0.01370377679370188 -2.863753588861564 -0.7414064361774512 -0.1789143674580171 -0.1616067471486005 0.4871667707408555 0.3520857854949287 -1.943490730839572 -0.4815935748775463 -0.1850754515940041 -0.08558803319045927 -0.3855959812521002 -0.2281623734385129 -0.5643249424428602 0.3131013844409568 0.008673035655252745 0.4213351701440339 -0.6886170619522923 0.3886761854187227 -0.3260700014150585 -0.07610255858913696 0.2031228053144504 -0.3468480304662266 1.105487774307617 -0.09947045254603301 0.04437796390006835 -0.7251178797015935 -0.6866800527922976 0.0836202023027357 -0.8177306633810456 0.3361044150407705 1.359598545936757 -0.2051312388904343 0.005496955848008848 0.9924942587593373 0.5410447504451695 -0.2610990893100714 -0.9592133979955892 0.4182134058057355 0.4249412238259193 0.1518779022918618 1.118435839700719 -0.1748377053067136 1.010766732484391 0.1896921496262203 0.5716193884305999 -1.220290713383462 0.6248550669720444 -0.2509478160048765 -1.405436668988189 -0.959905808155237 0.8652232133686224 0.2014211719716558 0.6710361140109855 0.231756807563745 -0.1475840057850634 0.4323755764889696 -0.1687901414967846 0.01377609804950469 0.3540152951499655 0.3061311941543748 0.0002838253708367129 -0.319319592719994 -0.5025796055728667 0.1406845009241611 -0.4270530876043698 -0.0570568899484002 1.150030813679255 0.3118674214503171 0.2295768262312921 -0.5705039708160494 -1.193513277517398 -0.5215712759789589 -0.07063063752611148 0.05324641124461629 -0.287514875529425 -0.2850599105222605 0.6302378177952719 0.1053237558114741 0.4645427874615312 0.623315783468085 -0.2039792511806515 0.2370377015519486 1.11569875565309 0.3925981445743399 -0.2063562176430083 -0.1130444642654631 -0.141419642646262 0.4294842962522875 0.3040523066611993 -0.2590348410336793 -0.4021981979140705 0.3809238444639984 0.875430122055893 -0.5917362459860207 1.328006710570694 -0.1422262545828968 0.1573391070129346 -0.8539348422073471 -0.4911341611434477 0.1409934867866189 -0.02368363068689546 0.1477514903058496 -0.5148094374663598 -0.2664226642696675 -0.5802771551245459 -0.1561334788600222 0.520794707132774 -0.2781925147307532 -0.5846232201618878 0.2607221396827086 0.2255269238442862 -0.01563531634755933 0.1125983841722895 -0.8903248037602906 -0.1144569261190864 -0.3723543957994155 -0.08816709285771593 1.36248076423028 -0.7263811598922445 0.1496397514110907 -1.032027336046779 -0.1465237088562074 0.06786740648846133 -0.1978690982910978 -0.4775289570358305 0.1196138999441796 -0.5182984878694822 -0.4847840220618376 -0.6264798691769452 -0.3811336185409859 -0.1560656017551008 -0.4697493043139508 0.1621562020560343 -0.2065282604575512 -0.5806829654885436 0.005870298359036864 -0.2500339300738047 0.05690165571289045 0.4902428688141802 0.5005657261350038 0.8901365325520488 1.160855830335575 -0.2354497402897133 0.3174262351615756 -0.3807255703606493 0.07441023248223405 -0.02791769873761142 0.120232282982863 -0.4260312930415674 -0.09708207616998606 0.4608834109482141 -0.09088330701919242 -0.9320336544177799 1.721324173122557 0.06441923818086352 0.003727776076033192 1.668251732014924 0.5736968973822206 0.1432101323927223 -0.2839357688150464 -0.06504011469414249 0.1456553044668527 -1.772427379077541 0.5745349998131132 0.1890313074056082 0.2866450421749724 -1.734230943650742 0.1713454150948881 0.6888802418694554 0.1586981750136433 0.9087378479596429 -0.6073165519564969 0.1285108974821597 -1.355470444730791 0.4991862573131374 0.5488485558273114 0.7035915063596052 -0.2446785161593316 -0.4623731414975961 -0.0433254186251069 0.8825729553107301 -0.0007582032089934592 0.6129708437542954 0.3391019529060673 -1.166182365403549 0.6053209198570357 -0.002889765813458256 -0.4674443476977209 1.426222759017484 -0.07361431244405553 0.7097372970733965 0.6358133372562479 0.2381406831007124 -0.05678738398242766 0.0913822058871208 -0.2436763668641723 0.708669724570778 -0.07295295723896235 -0.248177090315469 0.2466712076266145 -0.3497147572260879 -0.1153133906067366 -1.424052362222751 0.2586142344138087 0.370276740819922 -0.5192398745816587 -0.8443424615267512 0.0506455085933436 -0.8737497724207852 0.1339921950153778 -0.3343913063314431 0.283536104805177 0.06712859980957132 -0.1364672206181675 -0.3028373912070486 0.1828850540559145 -0.1713435819669267 0.2747405463389668 0.06254112388144541 -0.5395989552476029 -0.9491893011836898 0.3648179869609061 0.1703479714936058 -0.1957972460065779 0.3890539487428101 -0.6437332686611601 -1.025724448791323 -0.3249835778317977 0.668233429057402 -0.003808943141715231 -0.1373245921343923 0.5128518143704502 0.5862051631176102 -0.2361025085244897 -1.056723887879248 -0.4026293106935116 0.2791419021776786 -1.248638916027664 -2.299141063363896 0.08682231213770239 0.008037730281261167 0.970441742462898 0.04041154283409987 -0.9019220425653562 0.6385281850287671 0.4482176073831829 1.238878710513459 -0.05905119780501732 -0.1083417871128378 0.06179277605369444 -0.2197124535175927 0.4914185159390169 0.8374741505195253 -0.4399386323176905 0.555327873234966 -0.05320371955808725 0.1380575887102402 -0.70194455699223 1.21366499732781 0.3421710622691573 -0.2001645035341886 -0.1513529434397603 0.9674542213884951 0.06077809184522318 1.211171852849886 0.3007671943627309 -0.3305851087760986 -0.476038276734919 -0.3317786852227071 0.351201122033033 1.064826547174436 -0.06705181701853337 0.01324888641689431 0.5805683806425281 0.8270174015693916 -0.179544022857322 -0.8777525828544177 -0.173894351030623 -0.4084532371663129 -0.2250294065586198 0.9657246931265691 -0.4395569982336694 -1.012208140221084 0.1158882539043223 -0.09693042285818708 0.5212171280468028 1.938127926250201 0.1997798407440305 -1.087771636233525 0.4512775881061986 -0.1657671721026561 0.01651766419757298 0.6336237806545111 -0.7520572014019792 0.1390918643184894 -0.6816739544100444 -0.08808479563412429 -0.1004287269836082 -0.6105999276086227 -0.06976402278595882 0.1041224036665611 -0.7410911127283988 -0.0003466744957859332 -0.5502925723274542 -0.2753961350918955 0.2878878947735117 1.75608760605322 0.07217541550230527 0.05176527225927055 -0.09067947036036317 -1.161497147958438 -0.4780561158533672 -0.1827800858348435 1.019455516096458 0.4309564750924047 0.01347470611089153 -0.1677907137062954 -0.863042735442263 -0.7430503287086897 0.1900080093840585 -0.1011792430450462 -0.243633590553207 0.01894267775390734 -0.1516800178189806 -0.2170926740072978 0.8096836311658837 0.1651977702988517 -0.8091406183774739 1.346913666031527 0.1664748389849524 -0.9917333409143896 -0.9286732041471029 0.02521311383409734 0.03872040390632867 -0.3148894397530682 0.5153173354792914 -0.4342660710616568 0.8789625929160841 -0.2021585235287611 0.3190354538830751 0.2786131529988236 0.6635759069933097 -0.4621610697771042 0.6338032813612159 -0.3647475429049718 -0.2506703828571897 -0.6019901457531703 0.1337261440269974 -1.425186446525296 -0.163181906309888 -0.2891122684919515 0.85836339878288 0.3347649304346627 -0.643404489741747 0.3032883338531801 0.1983439305764767 -0.3403939971077348 -0.959031877842673 0.02113254984048839 0.1101115733013905 -1.293620741632609 -0.06858353726624043 -0.2729097409749488 0.0264119669322243 -0.01893716984833099 -0.107954272611184 1.516937965408281 0.4930284544837956 0.4193028271273916 0.344829715095038 -1.032503784038368 0.1733720697851021 1.139998756248974 0.8834202687697642 0.2672269544050029 0.1135541818273025 -0.03132424718815072 -0.1777907147981543 0.1701825114199562 0.7039960076769762 -0.2235368962359515 0.4167605547591874 0.3994846875975674 0.2532160473339141 0.3958806649423143 -0.1799453793882988 0.3391649935044125 -0.09662553038179947 -0.8282679439284368 0.009926718872294472 -0.9059386444651932 0.1729304179452582 0.09785359318777248 0.03445254344953278 -1.106488991803739 0.1110081334287901 -0.2069441269144626 0.5223519607029867 0.2455538070056591 -0.04147139627962304 1.234332486397222 -0.009703838950068192 0.9764827239123373 -0.1016381010250026 -0.04036232087347413 1.391509064306201 -0.2512554406824682 -0.5772123442721249 -0.1384253878350463 -0.4613528008183046 0.3545738051594637 0.1365457057531979 -0.01344502900151392 0.5235024634101464 -0.1500825907729695 0.02440658129917847 -0.6197379254206381 -0.9093936855992302 0.8457069187877414 -0.2111565841791852 0.4300727378034883 0.41455524024497 -0.6290747544629101 -0.001583145238763911 -0.1709831050396534 -0.2104233477129999 0.462397101753896 0.1447022476622157 -0.7235435166130645 -0.4722652284876784 -0.8907960114437599 -0.01872284745318879 -0.6525476867631609 -1.125961183155546 -0.2680519476084682 0.8266397349500658 -1.382416580784742 0.01534819933511705 0.06561005248178937 -0.6057905864519105 -0.674510551651293 -0.4125964586841286 1.074910318030204 -0.5828334247003237 0.006437465228485656 -0.117016582940551 0.9954813008385849 -0.2148811430122201 0.8016127376770043 -0.2815268345191513 0.7893847409295754 -0.1950460907190805 -0.09212842334140151 -1.236580304977522 -0.6039752099717387 -0.2209632414128201 -1.245109810640076 -0.04712329540295841 0.6549775212239363 -0.03362223979268306 -0.113300039919841 0.6744762931945889 -0.3364495955472709 -0.01944908617880508 -0.4551975858678125 0.4245333384163121 1.437951948009819 0.1481855871064617 1.202073384329805 -0.490573036302373 1.734130925121051 -0.3851406834342432 1.014002240038011 -0.275613438011394 -0.371922325453013 0.4257779637270569 0.1672591609923371 0.4625506472746574 0.7127983292545333 -0.1659339699318882 -0.1464760736644077 -0.6558222043697408 0.4962918619052318 -0.02952720773549432 1.189586726194562 -0.7099428526974347 -0.9323586797548074 -0.003504358569270121 0.08833192971923437 -0.07026687237400796 -1.561559919346514 0.06285292167457748 0.3103610305719448 1.273686763206277 -0.07128611857416435 0.4444840811848986 0.1562485360451505 0.4696442854320246 -0.6131089076941263 -0.3436272298469021 -0.9953638055236357 -0.2410682601323131 -0.115665125769389 0.1567678503391884 1.119898127252958 0.2148998319218928 0.887748459321467 0.9486929288614907 -0.342500907342125 -0.2338983599715041 0.09093261067944922 -0.5619097840419894 0.3474029231011514 0.7135573877729848 0.4015679194462122 0.1260062675352144 -0.7768337372313333 -1.295504701216125 0.6759323927767682 -0.05249627970710653 -0.5070385366651331 -0.08345162167046317 0.4689409771346306 0.5191111763160652 -0.6054657690471628 0.6067891320621294 -0.09514918039853226 0.2259276033620999 -0.01396322542891707 -0.09853723670402605 0.005046352471148321 0.8640467204664746 -1.62720876983984 0.5364930988705701 0.8577399716874903 -0.8070308429479679 -0.1480555764215466 -1.445394727689819 -1.8872111368155 -0.3149598079560306 -0.702826799825514 -0.6899614068469925 -0.7137037776862618 0.005215014225433506 0.001192534842744354 1.039161518093255 -1.206433881140314 -0.6631768719910662 0.3521037843516396 0.4567595156941643 -0.06544105398949082 -0.01812465236496594 0.951889133544691 0.4435247870748494 0.1687729731443016 0.01294177406103092 -0.4199260258429831 -0.08525411419368258 0.4504845055846666 -0.2916245696576766 0.4339302061737824 -0.09071109307336836 1.231246591903399 -0.2427353074622592 -1.013893585921826 -0.6610485291912025 -0.1588700141470253 0.2092818376971623 0.6923487904097732 0.3438548789169511 0.2974965832292518 -0.2493751518486199 0.5934819345347463 -0.0178879543928955 0.8519474149575045 -0.1628435166427867 -0.443766499724011 1.304784888487357 0.3902785343638102 -0.110602014960691 -0.150934067237624 0.38304529278806 -1.21447796504587 -0.06108261971127636 0.1400745920576381 0.1700473900463356 -0.7974451108212016 0.1252056723600145 1.178501185475402 0.2838238999941688 -0.205771735798136 -0.1020040970660761 0.3939749770563247 0.101743280649137 0.7217789409017501 -0.2634733439198891 -1.152508471970594 0.2744110572871871 0.1096015631110501 -0.06249363239529339 -0.09719632890532022 0.02512622799304215 -0.3728096641777776 0.1271792479102367 0.4222442173107231 0.4393913757214817 -0.1146649099920967 0.7641655222020527 0.6847918550763097 0.2467097844393894 -1.351538669369254 -0.2254109329284137 0.1311411129171007 -0.5828905493412865 -0.5911493902621597 -0.773531590234033 -0.01986956917282667 -0.002582531320966446 0.4236920576900577 -0.07505381643677797 -0.258894212492104 0.8557298171492529 -0.1568830162504186 0.03710592522593239 -0.1393768426885172 1.216420783206728 0.1057626817610926 0.00489240578763166 1.494430008538238 -0.43515890990169 0.8085673120759339 0.6471858802728124 -0.02292013615742738 -0.1198465491118911 0.2289423474780046 0.02597529981252128 -1.652397131388634 -0.2096867169392113 -0.6246559770486526 -0.3818598384104814 0.6532176598024512 0.1329862983669908 0.3503186504503392 -0.207576452664405 -0.6011032146975208 0.2762712004056569 -1.16825936879445 -0.3756961484469526 -0.3150502341471947 -0.142880341334365 -0.02644145892101142 0.4996056672971748 0.2273227493241896 -0.3027104204866418 -0.7735883493168597 0.3196651655317582 -0.02593987252200854 -0.8590510512979846 -0.7286156815026964 -0.006400438176888754 0.9205513238606474 -0.7016171925493867 -0.7161369618537621 -0.2502619344883218 0.3230828788331559 -0.001083716685641141 -1.255027930061096 0.2520769366783973 0.09421262850173293 -0.1529213135702269 1.0192615366089 -0.1705067811209684 0.6526090826152487 -0.7459599879210127 0.2088449018949377 0.5154634458154089 0.3220984378139135 -0.5372919685764265 -0.7469406253571749 -0.2656928586587277 -0.4891930157743715 0.1059350267637298 1.433609775928256 -0.0723279365327632 -0.2039998748126135 -1.042333600890235 0.2284717664097388 0.3371671936110522 0.8341998369500977 0.3345800264899404 0.322088373907889 0.07653786526095584 -0.8598580694135265 -0.1922714559583011 0.4289921215083494 0.4053340406727481 1.139891030811631 0.1413240500928358 0.144951328813433 -0.4640374959271417 0.8292375064386956 0.3437913708186106 0.002781916096438621 0.6127160663611164 -0.07212928293006758 -0.5164690221270464 1.705139324643466 0.5171174071288879 -0.6785360392125155 0.260675166246248 -0.2942701855083014 0.4377385931933305 0.284533621830527 0.1304820584427659 -0.9220783121421209 -0.1678655729834897 0.8738760100005089 -0.01175094585218425 -0.5616158387063047 0.1872356171455751 1.668550987168466 -1.167486237232009 -0.5701182447293957 -0.3624486411930563 0.6716872856369733 0.1580790191174805 1.166679098226303 -0.3013255259302305 0.8763374425519547 -0.05919826001892914 -0.8723809049630958 -0.3217723678207399 -0.5298025109625791 0.3063126543582094 0.1697951551574687 -0.9559722561927915 0.1663184717413971 -0.1985309645842354 -1.492273250423909 0.2265338957978189 -0.309941575666807 0.4327294313636046 -1.270259889001788 0.3859594775161055 -0.4241139113217463 0.004932220353121671 -0.03340611182966952 0.1756279464351657 -0.6977444858792049 0.1039168981967064 0.6353410200477633 -0.3356408138495346 -0.8365221995267723 -0.3393346071814412 0.09660101319192109 -0.4009331755469316 0.06719277062207192 -0.0007106953794598174 0.3762390743897548 0.5677477330142031 0.5082513637637778 0.1984128440712585 -0.2668865035337734 -0.8804691674095816 0.2667794286990472 -0.6466348646360238 0.9468194210580843 0.06506464973772572 -0.366086887493268 -0.4078353455912022 -0.825964905666331 0.005976804680693056 0.01082342994399876 0.1351584439021088 -0.2754785070728932 0.09514303394051335 -0.05575947638477628 0.3250710470847485 -0.6319032199116078 0.1563739497760059 -1.344098333648034 0.07515148813418447 0.3610575043154001 -0.06569953092882687 0.398233259137621 0.1424348092207309 0.001549116252973548 0.4253846798080788 -0.001728495129825185 0.7162187329384161 -0.156346278765996 0.6018427621459232 -0.7458301978734001 1.445469628295028 0.04263893311238712 -0.1320348673221546 0.7825864181922424 0.2043442135474429 -0.3189423175590235 0.9537240728523573 0.9930069762835969 0.171016763810012 -0.01879500607768586 -0.1329207778342437 -0.8261855638482226 -0.260563354184587 -0.5069768014738412 0.3122280019282259 -1.780114483490596 -0.08359057844365547 1.846055388760437 -0.04792404877967065 0.4124383981894657 -0.3953469010944849 0.1137677996157555 -0.0719086756040304 0.3115888064813078 0.5475980938902141 0.09182320856869128 -0.2282084242545425 -1.734152179795364 0.3231442181571071 1.542764512737158 0.07018075393710323 -0.344038302060939 -0.2768762893823072 0.3739040323103112 -0.1171148833512492 1.476102740884996 0.1626895814402603 -0.2852076521876629 -0.004956808585604962 -0.7550943598484761 -0.417606200773612 0.9590388114194546 0.2792106519093536 -0.2104220685091032 0.1706579881764959 -0.9261447784699498 0.3363320601778723 0.001969838104073796 -0.3299945842172857 -0.5208131284387425 0.9031896965104652 -0.3946918368363687 -0.17784334280702 1.405908805253574 -1.039127627472686 -0.5863657437528796 0.4498115144875409 -0.7927181971081469 0.0856391962381914 -0.5026295513382317 -0.04644787100573659 0.6463228280350637 -0.679364084436304 -0.8036860833659856 0.2761287238469786 0.0157285747067536 -0.5687226474158362 0.1400558369351024 0.3881960679616052 0.8216041375550907 -0.2173372351206121 -0.7954414214322105 0.38379370847082 0.2142565873842243 -0.5092355097665502 -0.4669238106406522 0.2054291455485757 0.9387264502083595 -0.4270134498182308 -0.04115026585102744 -0.3302253622535326 0.009285555646386848 -0.002325655943891236 -0.2097756112792948 0.3806519775658345 -0.4213030603092505 -0.112323842835421 -0.9355820765261217 -0.7484183586760013 -1.037883116991958 -0.4960402504282597 0.5274737694589096 -0.804587374615843 0.1764664523295949 -0.2847896787344874 1.268931185271451 -0.09383038736102095 0.5232785922176884 0.1382449793037404 0.2508658778301631 -0.2967512191089288 -0.8010581329592346 0.02357460212891117 0.8358063048793919 0.601231760803106 0.1626389607069776 0.2311025782046661 0.03432568528667233 0.8869120536894665 0.08351985746927476 0.7433684468266993 -0.6083593931787598 -0.06007080735652712 1.057018243723714 0.000794931096346976 0.7926091658587969 0.08438934940705374 -1.035477437362451 -0.2415311830688466 -0.3731020136272502 -0.777203997382926 0.06774900997498533 -0.165855157642891 1.485138147320898 0.004617453860108952 0.3530851808631892 0.3885653352285723 0.556637562129271 -0.2045710399711154 -0.4757323172181898 -0.5567396743989751 -0.2025566981048099 0.1558552940607477 -0.1608787301926197 -0.5671108394225363 0.3799035502842878 -0.6197682490567982 -0.7907437427171601 0.1629986760060883 1.183414459355223 -0.5221249345716603 0.6828509263731213 0.06543852479736748 -0.9726852855770249 0.05196763782662855 0.6349735350329282 -0.176997092531867 1.033198442974292 -0.3352585774764152 0.3089427263582488 0.9805326700553634 -0.1883491252169189 0.5535187710545589 1.598739841329601 -0.558964513323288 -0.02013036784879881 0.1667278470737308 1.168392523069368 0.8347918741235927 -0.8616045071031875 -0.1726182675778916 0.2264431265185715 -0.2156211943326182 -0.8707442398607941 -0.3848617282710018 0.481188610084282 -0.2324548404119039 0.01074677617097327 -0.5337250214383585 -0.01452935960821394 -0.05210218338079337 0.3317348502649913 -0.4055839636301766 -1.507532676941636 0.3878320745362925 -0.3661979874141354 -0.2024176820076244 0.2324146491738983 0.2430999659982391 -0.431505023457085 0.1126493759862906 -0.1756291427579777 -0.352475528114391 -1.917559474821923 -0.132354974547576 -1.191125824526353 -0.01264243866301166 0.220565827598968 -0.7812037643002719 -0.91212887302984 0.2653514241219268 0.08635958896037384 0.409951738502393 -0.1686163961791067 0.6395876653751781 -0.6703675313510297 -0.04921488730725137 -1.875300348417525 -0.2268480497286643 -0.4400013046421452 1.062558525715252 0.3006861780523054 0.121205853861217 0.1056227172522996 1.603279379094484 -0.2143135555074757 -0.1640163918334827 0.5033779962346849 0.1234195714152871 0.7132929190008559 0.00919096335204799 0.104959178451855 0.6505006282716363 -0.1076313165980788 0.05261713072699924 0.2224010764459396 -0.164222484175065 -0.8987151938492365 0.3301215656012745 0.08780452464582764 0.2960808658852905 0.5768293109679679 0.2571994711742591 -0.1964200279263562 -0.3710163666681908 1.644029657095498 -0.08746967299360252 1.254936035876947 -0.02467121826040462 -0.08279826953545709 0.1523948699634672 -0.9943685330609117 -0.08597627608945516 0.4136500806824887 -0.1208688073866388 0.640956607181792 0.4480205978009165 1.207496758978955 -0.2140635177551905 0.6393820385168122 -0.05512282244202453 -0.8344203236332433 -0.373374468703214 1.127060978539739 0.01647571402314435 -1.675910044921176 -0.1678326815393482 -0.2226216229865897 -0.6629281512965455 -0.9580454002684231 0.2580686236269406 0.2400109591401925 0.4932848436607434 -0.003778160882265433 -0.3284137963092311 -0.5241085474827124 0.6528565200091972 1.509980462305898 0.1513245002209792 -0.1266696469284473 -0.7378469622359911 0.4110917900479644 0.2388760730954313 -1.014077014055262 1.254865489297511 -0.8661328199978399 0.3125062295312845 -0.1569498374457441 -0.06999272840019412 -0.2688580710215803 0.7098199125607896 0.322302240511234 0.2450782381452558 -0.7283058864768709 -0.3087240007832322 0.3437606410106321 -0.6045757157973222 0.5777036603685434 -0.7425137405226524 0.04942840826630545 -0.9596717062559523 -0.0973576436062833 0.07928510514949184 -0.6613369164593211 0.2113356069483965 -0.01472609681512162 0.1410196503335316 0.07850118613268174 -1.325378639013043 0.1899470073211868 -0.3485750789170869 -0.6568536637999861 -0.4797108173654199 -0.3240122537303203 0.06108329419715691 0.2370160280266654 0.004214665459533988 1.064276530762756 0.4642381554309479 1.578895272785172 0.3494356341562762 0.03423167250706122 -0.7662958200050549 -0.2598256189707924 0.1159103202761917 -0.1842049922920206 -0.005075724840128599 -0.5312320556387546 -0.6208660356956278 -0.1726861706575721 0.1131836521716851 0.784835266115543 -0.4799784785208362 -0.800636132304793 0.3071748915928376 0.2828107960456882 -0.4464878494431342 -0.721301906218573 -0.05580397861249867 0.3044698543278686 0.5199174013304865 -0.4817818083103829 0.2266687331718498 0.2077876924226417 -0.06291454889444109 -0.06602600451022414 0.2785090971403391 -0.7718851189554357 0.3828458130305821 -0.7955333537862889 0.8824421491836237 0.07110982440597106 -0.7928719403952659 -0.07316003418034724 0.3590950782516281 2.278568147082435 -0.1390333162159371 1.026874242891988 0.153522575180669 -0.01272461676017835 0.222849931484946 -0.5353141970470681 -0.8796315874643865 1.054703034820432 1.419888547238523 -0.4146819690727465 -0.03140031741848769 -0.2704154970025465 -1.037567914627219 0.679007918863716 -0.564242717235294 -0.2712914242241883 0.1162947416933533 -0.2174990168090558 0.3810177219084793 -0.1183160033599651 0.0006555767060512541 0.5176284964483665 -0.4818521498247442 0.3658535226781864 0.5101339707156282 -0.4959494537206769 0.1347345531656266 0.7381215619784012 0.1831783165237871 1.598935415937625 -0.0643614015846766 -0.8358496165069164 -0.02295342350988777 -0.2365330192230389 0.4503606642887811 -0.9601587390771704 -0.5197209567607206 0.1287990423104703 0.03582677886092271 0.6962505323592874 0.2919359123640305 0.2361956656065952 -0.6095283455833325 1.556456615702909 0.08534898960661282 -0.9332242083242021 0.009641346814588728 0.5342881568954526 -0.9970249196219388 -0.2511760943312883 -0.4744748494471158 -0.01820959194015196 0.6992183025988647 -1.701879026126881 -0.6455660378400762 0.2353328846999235 -0.1635456139588525 0.6504518186122316 0.04681825156031211 0.1744810456785515 0.6108145264750588 -0.4081377747076887 -0.2943736655646977 -1.537200449765179 0.08518216970154951 0.4323160629929102 0.3942656453495273 -0.9116713596781332 -0.7328120534099669 -0.2414274287416804 0.280995465263785 0.3228034677997375 0.2593301460512681 -0.5516679906658015 -0.9615985800664661 0.352198006284393 -0.1023920311458364 0.2607594426091686 -0.6759658218018045 0.3533891073671752 0.5937941818134873 -0.4846032742525004 -0.02618761134725849 0.2821240210712009 0.004279504173126759 -0.2106376632259365 0.2785564037887976 -0.9876285908709062 0.4758405514877105 -0.009723119622491507 -0.1022338466414438 -0.09602082354362966 0.5798377836546752 0.2780202251134239 -0.4246802928928111 0.1899733011505513 -0.2588637804514651 -0.4085710023006591 0.4177175017912418 0.3635290306444528 0.1302093165638662 -0.7541919154822174 0.3468891787877328 -0.2838795949717499 -0.1033526250330853 -0.1173375884840359 -0.1299216883536661 -0.03428995352815745 0.4351740266624953 0.4182838054481076 0.1160668426070938 0.1356307813146937 0.4378194798091106 0.2496064283058516 0.1207312087714087 0.06943732681494152 1.277022752768863 1.208999283840353 -0.195094271701243 -1.366726678678359 -0.5019856182410695 0.4200356940770051 0.242506028406158 0.02594265634203889 -0.3071102943626837 0.8659413389071059 0.8725547561568551 0.4836394196894099 -0.04053930583273843 0.7330392485739852 0.09489461567728119 0.01417909606874391 0.008223894756819845 0.3661361277529075 -0.1214183287912231 0.06900196557532856 0.06071501797516038 0.1077353827050453 0.2740784062068966 -0.6110344795269256 0.3664529578044367 0.001351672636930025 -0.1136240948438891 -2.223075262465419 0.2470952233407553 0.07616208885695408 0.03191145566913768 0.1748767741486432 -0.5218328199488926 -0.09617891282156885 -0.09644874073301639 -0.04535085212169887 0.889980827314688 0.6654594669530113 0.2019183821993955 -0.8317081684265611 0.1614682498195685 0.2800875021366742 0.6893878172715425 -0.6805818505805267 0.1231094629422612 -1.473004310523391 0.06994639201685879 0.1182941667961343 0.8383424625816772 -0.3193593154450836 0.150778224090235 0.3799834258792563 -1.446149549856593 -1.063689960298503 -0.4788852622501944 0.6948740922491555 -0.4152272999699947 0.7129071179964129 -0.07864977698770013 -0.007262531400062996 -1.487155981577289 -0.8523269888747416 -0.07804966253354011 -0.1082607007729448 -0.5733014680032307 -0.8845447244730037 0.4592744739699083 -0.6597814109632434 -0.01698306411962588 0.6161781619411835 0.004848919478401516 -1.274656363838374 -0.04615015583137638 1.150503306318642 0.1954943421042179 0.04351639514998892 0.09597856232667878 0.699941089743749 -0.01516818161821558 0.3996053145062016 -0.1529907628442852 -0.2406144465633368 -0.3652687277197608 -0.3213965976850713 0.201890650831937 1.303291020419548 0.09098522123536885 -0.300313449459895 -0.2538087219794639 -0.1103961437970417 -0.2341952686084958 1.473301605401901 -0.5838911817856302 0.4279878950844438 0.1288688285541051 0.01294439828728817 -0.02299896498801444 1.176869131530026 -0.265491000754741 1.139728210076428 -0.5555052869428494 0.7727377811222435 -0.004069487558990657 -0.7059368910445241 0.09334213519950046 0.7277831129253143 0.5533797326585191 0.5944294101814248 0.07965823978637501 0.2596722314692343 -0.07739513796935174 -0.3511123549236403 -0.3233672022645284 -0.2370565224658117 -0.3579782204155112 0.5249884249534942 0.04777767223742658 -0.4835517558834442 -1.296382152782147 0.01080774236292719 -0.6811627031989157 -0.1988732805985781 0.5232094753302243 -0.6258400198377674 0.2699631171579053 0.521802629259975 -0.4328171188139058 -0.01466648807460367 0.2588343703010945 0.7161578373283498 0.6214867510436953 0.3250194465271669 -0.771238686931029 -0.6107884257971304 -0.12372319142131 -0.9342515778813909 1.062862938552797 0.7192780043194287 0.05352124400273928 0.4882916257811736 0.1878568245056392 -0.06725073309838693 0.02908832314196483 -0.6999622533702879 -0.005443580226529631 0.002778441931777699 0.0006542172392549948 -0.2525499450970006 -0.5382994261930623 -0.5168120884026042 0.9997946916395617 0.7004268887153785 0.3226279302850616 0.8783763535402981 -0.1180635783933371 0.2473021975830925 0.4597111670384413 0.614412208773313 -0.2377420603686661 -0.0629566671507089 0.9997430765940558 -0.698518502774502 0.3759860364465756 -0.5309771726181279 -0.7238317231376669 -2.033132316989398 0.006461145399490233 -0.3779689112008273 -0.5152636125632017 -0.4305936517607392 -0.646710545891697 1.017131991888781 -0.3418380400710559 0.07382839247796762 0.3502589989077214 -0.4628227004079362 0.3895214236076879 -0.4238220502290102 -0.35824630906718 0.6755827169774395 -0.1747329559284129 0.2156570179256317 -0.09464762750483055 -1.063634341750101 -0.9284626651005965 0.0899518924446614 0.1882544515883154 -0.4616297822509811 -0.01181066400592058 -1.060621679407588 -0.09688224863372004 -1.028198832384002 0.1729403678474304 -0.7119580252148872 -0.07809561798889676 1.152027221973354 0.9732348745148215 -0.6540140365835452 0.04386121277734292 0.4183054505566263 0.005780884686962526 -0.5187910438712727 0.07969391325425068 -0.7510944906963783 0.04074492749713806 1.779220758144482 0.07697122699683524 1.533501390693955 0.2474802987437953 0.01013915955008133 0.8346202724907602 -0.3859294919135048 0.9335924305000396 1.38864454501028 0.03573675920230156 -0.1668273835620499 -0.5197214994873033 -0.7888016676918795 0.3721639040753353 -0.2345622803773533 0.7713453603177385 0.5844947366915756 0.06984109503375215 -0.8710829437584372 0.2949091909609772 -1.355478868229631 -0.1379177095117276 0.1924534670881446 -0.8515877631901878 0.1266498225662521 -0.1434793429714247 -0.00695644441628852 -0.1836979917276405 0.6010002397306503 0.1595050795746196 0.2130037018432376 0.0229214108452386 0.8979614079071939 0.008024288669374541 0.6624830924947928 0.7842670969873455 -0.7455210032446741 -0.2257013226286757 0.5273160900124321 0.6124536834221144 -0.3006446846136444 -0.6303752364054171 -0.9498872334540577 0.5353529722476207 0.9765249888962728 -0.3211506509939975 1.603375198303295 0.884076510616964 1.056655790866896 -0.1355485570635918 -0.8399798594138826 -0.3937226430070262 0.03829581435902828 0.4357919470244908 -0.6193392985853984 0.2726559566649436 -1.688861559750075 -0.3668532218004897 0.4214091945307343 -0.08875276095632084 -1.629350657229175 -0.1474654320125636 -0.003351364092153177 0.09655986132397792 0.2682422414342982 0.05015766396418824 -0.08549610796440699 -0.3064779515176929 -0.6550835089260573 0.007570574914463227 0.2796071952282556 0.1984484707106562 -1.480720210282638 0.01060573955803628 0.08227027468259145 -0.409632683982131 -0.6483958591223385 -0.872599972095491 1.264392219310272 -0.05612405227711588 0.08252517279975893 -0.4997765125522571 -0.05236999985225712 0.01037211188516086 -0.1035944526261585 0.5855460288361427 1.000894077751228 -0.3056991513108693 -0.1379168829638401 -0.09472137923694429 -0.1419042053855182 -0.7658716891006966 0.3841325667060008 -0.3468018464940753 0.4189802972204698 0.1517133078112853 -1.437979513463958 -0.4020223767957516 -0.2702412828062646 -0.6543808385078326 -0.2623088806434563 0.3371493128506012 -0.502501829914258 0.5777420934148985 0.3027587976884733 -0.1864277145696118 0.5765343528502994 -0.3560600727667731 0.5053973070518785 0.229408761406311 1.361667520076422 0.7383559708187228 -0.009434110456406677 -0.3090818800018187 1.001305787933493 -0.2016279558416383 1.493477841253195 -0.5045697455617603 0.172204996915903 -1.179279201810631 -0.7012749118822391 0.2237138738277696 0.1290374615296725 0.1843996901929266 -0.5131512596201264 -0.6262118131549703 0.7853494669958719 -0.2689025068901187 1.654028857686385 0.09439601611762306 -0.7170721237118746 -0.005684800459702408 0.6986308333295281 0.5744697442672716 0.190972296799076 0.7893140380210545 0.0399670205502969 0.8031343504538742 -0.3460869338958359 -0.2940849407159305 0.4239646094373616 0.05355715581061252 0.1124453435277899 0.6655009716031587 -0.4363941083019931 -0.1666931715527255 -1.637521580321813 -0.5208149287301708 -0.4855023349976672 0.2278109415660781 0.09180095584328614 -0.01330642008889492 1.654631008471843 0.9759945673721941 -0.01215926713216559 0.001055245051767868 0.3666055124420937 -0.03116459119543508 -1.622928289612837 0.1789968611038322 -0.4374539594728092 -0.5241298685046153 1.655185584341694 -0.1222407781024588 -0.3630155016135255 1.073135395976551 -0.3643979753158715 -1.512579734257158 -0.4590941217714454 -0.0609441106966199 -0.3035696639000999 -0.4286033560711457 0.4530601512732413 0.1633771837587427 -0.3663432708615448 -0.8874176137089109 -0.9470464057729598 0.4607979540968393 0.2033113629025184 -0.2531709930171027 0.3966342122234893 -0.8733241030955619 1.115063288273815 -0.0006870529290490319 -0.2736327778324369 -0.07695985673315023 0.1330927579640779 -0.5067136304365525 0.2914340767093404 -0.1277317025635362 -0.6829979186201351 0.3675537301856974 -1.14411781743862 0.0269968989895204 -0.8583717447903693 1.720974441586234 0.3010923621909892 0.1795414024800099 0.01149968137279134 -0.1149859541600659 -0.1626712330336596 -0.1824638266973404 0.5987210893812331 0.2283919271351513 -0.8592008562512804 -0.2498977880629936 -0.4148509825514176 -0.2170197371465533 1.264123484498988 0.1403124332847668 -0.7338547709894381 0.5811135994362356 -0.6225018199589463 0.123495285045108 0.1454445711171779 -0.7360160483910257 0.1433339564836945 0.4347789728802728 0.1912199453651747 0.8428890683616967 -0.274355941132731 -0.2840657216054139 0.3447672224939659 -0.1676218380207183 -0.8142795120064293 0.3117132687250466 -0.4086046366772704 0.1125086950787454 -0.03853457405433619 -0.138395121386291 -0.2604769191437417 1.246193498741015 1.023502846005455 -0.3474650435450075 0.006310532399082521 0.3147142921296336 -1.924668478649741 0.1620488057996522 0.8599549465135028 -0.9983284697027613 0.8180230688036169 -0.004841126515702459 1.911622758013362 -0.3822218798343461 -0.3176096409602179 0.6065899550927386 -0.7843147863234331 0.2134251043705091 0.1585277263531422 0.1674176228493897 -0.8997251458293108 0.16556739019477 0.1106800387334077 -0.1451764008309585 0.263464729062874 0.03852780723899014 -0.03453314871167987 -0.2347255997815445 0.07038683222871372 0.3326154999051949 0.796241250048643 -0.0832576977634485 -0.518453836647098 0.377786272220428 1.014576309307376 -0.05561758558968961 0.3104665494577861 0.9820953346826143 -0.477172964361178 -0.05264330213957202 -1.092063279851723 -0.558394852601559 0.6935659196561142 -0.01697608290120096 0.254439280414848 0.4301171329292319 0.6090871245728761 -0.2322405619941742 0.29528522059954 0.9216181679243393 0.1714695771757293 -0.2474793441351184 0.3019837689038872 -0.1384908821426356 0.0116037615158616 -0.5684542948453597 0.06278116595092909 -0.1071112152438713 -0.5239687179989339 0.6157769790465033 -0.3022635933057626 -1.165206586793532 0.3986311376126054 0.3032384015715045 -0.6105295043908462 -0.3466671800345786 -1.499165598618824 -0.0009114950172988078 -0.6186147969924058 -0.2648517423613282 0.1355420910937359 -0.03050575672712377 -1.920716739405878 -1.097589589632393 -0.0002721789063628796 0.4552913024360065 1.268517008905395 0.1115311993661786 0.4404564306801003 0.05047393948715777 0.5267677130448132 0.05139542133165297 -1.497639345359184 -0.03337879658184136 -0.5715664318324603 -0.281690423223529 0.05838643858253673 -0.7579159984881808 -0.3169618439729548 -0.05106150284457299 0.7220151746382433 0.4582671636563816 -0.6655451423545907 -0.05864690098143618 -0.05809790134406221 -0.09914206219295983 0.2049242445199041 0.006995224072307158 0.4075247557414286 0.5072702720073367 -0.09878907042638896 -0.7174176307133402 0.2762916223382507 0.5466907006267826 -0.2426915160209009 0.0519916581388465 -0.2676441584908224 -0.4649252310002699 0.3620809535254098 -0.1840038705070031 0.1044280151309959 0.1937632801262597 0.8320127635115913 0.8465506363166094 1.084112619987409 0.09424446465752577 0.2771871080656971 0.3590225585303856 1.042616386665385 -0.3941159122204045 0.403749007277027 0.05968865075443766 0.1266457471992112 -0.1160821273482145 -0.05555116334994813 0.5461666122078436 1.799881332692533 -0.5657570661591377 -1.057235517597479 0.7330751160181957 0.5953653511486234 0.04980344178107326 0.006876547451667742 0.3295905995116442 -0.1079780323089654 -0.1751310226138499 -1.228403427421932 0.2307901555350697 -0.8109945086010858 -0.4078190231006356 0.01747552649904466 -0.4572042693122384 0.009607837116132922 0.2305711670004724 0.01625101032079975 -1.617585254518892 0.6516195368197153 -0.7801986913975473 -0.1783481510679598 0.2052704855664015 0.9323254552983238 -0.1633816415538047 -0.007347281095793966 -0.4745218475828255 0.2393420023022184 0.173031706837164 1.307601905275799 -0.4234865631687147 0.6400322320165603 0.2479529999817962 1.584073875696841 -0.09782377378666461 0.7254382377855111 0.04049310380435419 -0.4701262874879236 0.1927494591824155 -1.10157574360482 -0.03922021591137396 -1.46972966203942 0.2393997329789985 -0.5809762457018205 -0.1068228142933914 -0.1179598424051334 -0.3820196652445504 0.2060122561001093 -0.794406071731207 0.7924526644851174 -0.3341944746570499 -0.3941736986397691 0.0871540096583292 0.08949346704297782 0.3504661021395417 0.7100828939844842 -0.01172296717954532 -1.159153409363392 0.07163048409286758 -0.3096317211675162 -0.3138633292683373 -0.2953778473965428 -0.1828347809543358 0.05377165682615816 -0.170843254925483 -1.886830296901832 0.4258565624347671 0.5069982799742094 0.0004855855431688238 -0.5460731744868665 0.7653859696020098 -1.215115681569938 -0.658557364902821 0.1662960378531208 0.6658570751437793 -0.777418472484437 -0.06811985601502403 0.6968754282633128 -1.125790294425324 -0.5112214036856518 0.6509412154763295 0.7175297208589179 0.2346384001633298 -0.4026349413071739 0.8457903216490587 -0.298787009910885 0.5777523097144115 0.3630343131397125 0.4277862746844688 1.063019517377642 0.01946701922739951 0.2467013738271474 0.3692150963630242 -0.2456362239982426 0.3137837971817294 -0.3148631155208451 -0.4623028656962317 -0.6806140013253318 1.478072476414776 0.004630560501135851 0.5255608651941432 -0.6185200121518512 -0.05418487503732222 0.4615683569346531 0.2292451469853169 -0.3772217706805932 -0.2635756035532171 0.1873137665952858 -0.04887436195386729 0.6524267118803255 0.4953710752068082 0.1150492362112633 -0.1015754349905456 -1.179218391175749 0.4424537277088881 -0.2601637143155322 -0.2423660518231192 2.018940861089934 0.2161128455891632 -0.3394815881855154 0.4768874461715314 -0.531896181463999 -0.03699714620745575 -1.550158017131986 0.1363601165641018 -0.3362102088211122 -0.3340000632234097 0.164312684995988 0.6018832219026337 1.020879235960671 -0.3998924113864814 -0.5390834523079685 -0.0151089713739234 0.730969854676474 0.4656617546245876 -0.3839076492638258 0.03831289991113781 -0.3895001738263478 -0.1482639012748223 -0.5022024397137906 0.2993724982506499 1.834098456533263 -0.003992458955655221 -0.3299024419411493 -0.2687384708971984 -0.4269578156286636 -0.6744357711071655 -0.3812259706999682 -0.3086808060731294 0.4484863882683887 -0.4415233833701688 0.2272846809896501 0.05383424232932892 1.766267957908157 0.1576039678395937 0.114524916689931 0.7652104835296638 0.06935061078950132 -1.082501400857154 -0.1308875188417624 -0.3512801657929134 -0.7273444991105084 -0.734166707883099 -0.04675754878881987 -0.05550555043868424 1.744484731885237 0.6431019321043523 -0.8933499936530426 -0.2294235445659619 -0.1936314552842593 0.6730330374903338 -0.5570654650550763 0.05102056296482865 -2.049439336896667 0.3973598496303934 -1.871413441594422 -0.5491108009655827 -0.04935458374616149 -0.4687767339013355 1.297500575932442 -0.1578262066039074 -0.0885623935812571 -0.5918993855697302 -0.5635910044434754 0.6411445629232476 0.3764288561730052 0.1338301478067631 0.3181645088049145 -0.5826037875972545 0.001086383317850565 -0.1518140805063004 0.1102397064203665 0.04504989869956625 0.06384256267422106 -0.9670281550796275 1.450026370388199 -0.2643025203614417 1.045971804807504 -0.4160591808566216 -0.002470292036476221 0.1738180915324433 -0.2700452565557291 -0.03801029737255132 0.2969212913105322 -0.444282837482327 -0.8660667269135187 0.07223231629895308 0.1650568930853539 0.1084960019619397 0.8474183765103834 0.5009473540979751 -0.9183089763040994 -0.3257725023834722 0.2031947944750885 -0.4442386146516301 0.5847015773856317 -0.03605577006324169 0.1457933444254635 -0.1197863598159825 -0.7708411634233525 0.2458148061724851 0.8869766192563899 0.4698763185305263 0.4290178000743238 0.2258260842402586 0.1508002901625392 -0.858312879787602 0.3109835128077281 -0.008052078191475773 -0.1832282467003577 0.6667066482659491 -0.09205327876804024 -0.0692137760617956 1.552819888395981 -0.1375559031765565 0.4066648741376284 0.02079321361974907 -0.1814965423783866 -0.01117945531366773 0.6075600987633616 0.6589498225546434 -0.421335560847557 0.4138969070645523 1.67222140930707 0.2194811844021231 -0.5985625603726205 -1.127741069675205 -0.1736346056669833 0.03385303923346756 0.5528567158903281 -0.02206595478653954 0.4904941882745232 0.2149875852799076 0.774635909800594 0.2293333823268081 0.3066849858862314 -0.009552574700259426 -0.3592247140073709 -0.1588215267716524 0.1297783783193346 -0.1753068567857994 -1.033931924996375 -0.0371315543712981 -1.841010112844828 0.8977651571667047 -0.856118226105917 0.4480669969917182 -0.5528385606220638 0.2248936678029681 0.2168794008925052 -0.6317537004909044 -0.008231679793704538 -0.03186164330187793 -0.8994443176635255 0.2230142531620097 -1.261824239401322 -0.3665487384639591 0.5772881368204532 -0.7964738892245744 -0.5846778558926226 0.06913850202889997 -0.4810724763381194 -0.03962574736254559 -0.01206798594930476 -1.028311834571212 0.5323645981687093 0.04627764134159763 -0.01266957266300679 0.0901618624237767 -0.1072584487941509 0.5750807726861855 0.8188897844377606 -0.2065430313361178 -0.2090394714680041 0.2551477446337052 -0.7338178287932736 -0.3478692138264979 0.1029606882734665 0.5476980462387131 -1.060924834320881 0.478685656806771 0.6046010330675718 0.1941009607753601 -0.104491328622219 0.116225672543363 -1.284211124034437 0.3545730078688054 0.25020675748159 -0.8842494046559695 0.05651695245842711 0.001233803181526347 0.5827625109909383 0.2356723193817229 0.06720733963053141 -0.004130088542283553 -0.399270271879398 0.045599735513051 0.01273284777554634 -0.3481032252864509 0.525007423764474 0.1605535995760375 0.4832665038408208 0.172561517043692 1.353944719056034 -0.1965914720654676 0.2437811099001501 1.36263648166148 -1.11149529569522 0.1531361231931155 0.5741363500925982 0.9230720011913129 0.9531813600839508 -0.1629711229399275 0.2234824909307354 -0.6492379399980286 -0.135187961385505 -0.7193610919101772 -0.602541133366047 0.8290881498662216 -0.2129173447887174 -0.1296179618863641 0.3332011183712708 0.5368287891059854 0.6346863466500803 -0.003914065930141124 -1.08509247887905 -0.0245351357459531 -0.9354458263679296 -0.5435422867152955 -0.94159305548196 0.3632566124723721 0.9459422662020127 -0.1309427016724255 0.2369145603211432 -1.135160225256403 0.3634914407631595 0.6041882532217552 -0.01294969384031363 -0.02125245906241179 0.1836982681055935 0.3489840975394484 0.3840774530307623 0.09021571281127601 0.00389224604306264 0.5107837540006694 0.03451846041818867 1.240382097244998 0.04623064969720397 0.2423473971588232 -1.317357621704096 0.3583964926846188 -0.6553136250444862 0.12242882116048 0.8216780412015321 -0.8641380879902446 0.5963932881919486 -0.05258134977667202 -0.1923137730577085 0.006146194824119835 -0.5948696176776346 -0.7474578941117145 -0.5669163318702779 0.02633918241575287 1.713391703908037 0.01704664039952073 -0.3918340543493891 0.1584124339946513 -0.4097086150450101 -0.223792463098593 -0.06235948642930136 0.3310512486337184 0.3575320190622218 -0.3294451145984801 -1.211665435817585 0.3264456538383042 -0.1798740283166465 -0.3930268784598953 -0.7569931992085779 0.1875073628523156 -0.8416468831205065 0.007129852388632714 1.465533763414056 -0.4054869202134909 0.1546811190777364 -0.1994236230626773 -0.5564138002403072 -0.0893413237807118 0.2788645697694876 0.09231880707672872 0.2388240532940253 -0.2939029888127865 -0.1026826708873138 0.0186510141440522 -0.4905795999262434 -0.1473059857030839 -0.2130872972533157 -0.3079252995906108 -0.204225430076242 -0.9447429219945735 0.02143319443330436 0.4786667012575423 0.2843519755132431 0.3527020790484333 -0.959866686657899 -0.2485426852175368 0.3232853982572494 -1.668731535323193 0.2870349450051244 0.8701332870253388 -0.5970462826917949 0.1782985105277309 0.0007989653581367589 0.3180694763093564 0.5610768472542117 -0.9536908598462022 2.287298145438564 0.4699118075828783 0.1305789156594251 -0.5123393548420683 0.2565797986718313 0.639123122783689 0.967496154284044 -0.07365234750370686 -0.005692685005874402 0.05009502512908518 -0.01292540131934669 -0.5717298915654287 0.6660780065585458 0.06779647166486534 1.224217131945782 0.2775680765860307 -0.1148887794229577 0.3628316044387255 -0.8532557841133472 -0.6431352577578934 -0.03151869248983414 0.473030507189105 0.1109189335100713 -0.3687466225639057 -0.4820168742267381 0.1961777117998049 -1.234752246829078 0.8162422071489782 -0.1203617781681055 -0.6459307115824073 0.3002833934442637 0.6267023504020686 0.331724115327 -0.5336986148955507 -0.2499867417374534 0.14791813890987 0.972658990037769 -0.3091947959501358 1.106837351377944 0.005765982187121631 -0.3850349879463179 0.0254619858764324 1.112368952390237 0.7317475031174459 0.131642126780194 -0.1429973456986961 -0.3854001141976525 -0.5541982027713674 -0.5927538672372382 0.09479498396782791 -0.483986116023319 -0.00481225704014761 0.01339025970562743 0.1566722888485008 -0.5233140422099115 -0.1217555322496769 1.063311580904557 -0.2925281967882851 0.3825023360653622 -0.4811911904457325 0.8279302963304218 -0.610053703617991 -0.01267902659820718 0.7626386095470991 0.7520619690141211 -0.2429257168368195 -0.7829736681804017 -0.1514326269641291 0.590324987600077 0.1388819714484085 -0.1367289485792568 0.3767438209968473 -0.2504059924836075 -0.4770291077989407 -1.271738921637591 0.1482080363019191 -0.2933621896184176 -0.2514220995213018 -0.3450468257710194 -0.2864049789299264 -0.4164059225030848 0.5138228855813858 -0.3165778168060479 -0.6321761024046034 -0.7604312349856394 0.05257870395374206 0.1343898583216862 0.5855494326154649 -0.9909546105866975 0.7649430398882837 -0.6025092145245708 -0.01584101192030392 -1.267004241044881 -0.007122167680644681 0.02040979104333232 -0.7797001180355513 -0.4666369677365518 -0.2006941857883705 -0.4337095114077826 1.089315579124683 -0.2701144155236036 -0.1254239845207409 0.1304267959164872 -0.0852426417149398 0.3901387887750615 -0.2558355291755804 0.08573429880263474 -0.1396127345451961 0.9354473963461816 -0.4773627127912516 -0.4312232220579254 -0.7796757564497945 0.1447406524392967 0.8046282318569568 -0.2620354936288394 0.587643903716767 -0.2839250024123283 0.3662504046681435 1.347817593296035 -0.4395738429931271 0.6490404173923451 0.1748959869041427 0.3015944421116722 0.8615794562007459 0.5290259226606369 0.3273027120668064 1.262361166044363 0.1746025556537616 0.1757300590715728 0.4518147173412113 0.049774958295463 -0.3119982819430524 0.09360708681477507 -0.02959261766049094 0.6857358637357446 0.2382675722376649 -0.4231475453587468 -0.002158887101757068 -1.571025172086713 -0.3333291012143625 -0.2317841223363756 -0.2178703520471108 0.1099597604960853 1.359497235385305 0.8539009217537552 -0.2221970629821751 0.9900869609778674 -0.3488248868953235 -0.9863647966083697 0.3294413846331449 1.295489086135263 -0.60529875000153 -0.8971843413832329 -0.2749604054461434 0.5469969904721843 -0.7912091218436744 0.07453591037000933 -0.07866992770444962 -1.1341266016777 1.282487065558844 -1.11273532731382 0.6525962777227606 -0.9687914617200307 0.09102014040710774 0.0104738059452103 0.0774576772575388 0.05218100533271895 0.2669832521357188 0.07706421591552028 0.5357155693909824 0.1859075780483092 0.4135200814944942 0.7019192509980055 0.05365421426708445 0.9670755755655327 0.08086580460768997 -1.896506413979216 0.1085380313072521 -0.3202547444310782 0.02619996474195268 -0.01726927862207965 0.07512267501496979 -0.6544629622159008 0.3106776127725247 -0.1807970550829127 0.2074911828430603 -1.842286223937285 -0.2649347130753951 -0.404893680547083 -0.8733808288368732 -0.3895670930106274 0.2032651976977499 -0.3654427713821214 -0.1700960509482061 0.279135622703599 -0.3985672630989539 -0.4546212615802513 -0.3035524607599535 0.2679226223006239 0.07668243961845446 0.1415011981059206 -0.08737388480963856 0.6987177318436041 -0.5855576631726472 0.5669981021332274 0.1391160681864913 0.8137169735678487 0.6668477684610291 0.3756362312205699 -0.589915278981635 0.3906270800204981 -0.6334673349522735 -0.3735039738886389 -0.6857401234129132 0.1137580572808631 -0.2877617920602741 -0.3169047380169497 -0.29260821501012 1.255954937274675 0.5153334012472882 0.8401694164839504 -0.1267144490277814 0.219275036244123 0.004184149000832346 0.8842908694170422 -0.9170445144949744 0.2383564769456684 -0.5243777597003185 -0.4519590302755969 0.485433030097646 -0.1045442283032366 -0.1556107007687652 -0.2138286387707383 -0.2394553899018888 0.3102645438886986 -0.1824005235731039 0.005797293725948729 0.6026701479935622 -0.0004517446179402284 0.04549686287431493 -0.2878545123855641 -0.2933241835606954 0.4457947995122311 -0.1328966808050793 -0.747829807520201 -0.4128151631883562 0.4054726833008536 -0.1355249718646811 -0.2913572592855737 0.3915195625810582 0.7377349215684621 0.8758846826299168 0.8615917329170975 0.02300382676735476 -0.193112578340702 -0.7542595699653474 0.6797232176232937 0.3097559235669067 -1.014176642145526 0.4016949788458551 0.2633401773280695 -0.1777480696563717 0.1155799570178584 0.08271206327633769 0.5305801810557759 -0.556382636222835 0.03325198567751182 -0.6576506627345488 -0.08297026673386892 -0.1961756358740813 0.8665661334740998 0.6903990021952133 0.6386489663246387 -0.282704379928555 0.5763133493814308 0.05045578570613696 -1.140026735657478 0.3475759565892239 0.1446020501481104 -0.6534647513484315 0.1548336384003776 0.3871839434246672 0.4485701453589863 -0.2641754159682724 1.015703197966853 0.2073380842542494 0.9418396206972419 0.9554261543695443 0.5368725714557984 -0.07968370411668355 0.8652428664752401 -1.401405950172826 -0.1594937746867772 -0.6125172009103813 -1.715504472900185 0.10093072845208 -0.267309914090566 -0.2332148907931454 0.4665695298525825 1.07104944109833 -2.744314602452929 -0.06389539020790111 0.4574481121530283 0.006290335993585281 -0.5337707296652752 0.6625920230612032 -1.228720664478264 -0.7432721689530487 -0.8707124395204905 0.010366556454701 -0.02458904980399116 -0.3513821184795134 -0.02467664815841334 0.1265102283276057 -0.3073478890665491 -0.2305164467106642 -0.8831756506714827 0.2019308360789431 1.172462687229225 0.09961199240518206 -1.193799382014618 1.032986393176127 0.2559351070020827 0.1089975194363884 0.03080354209601267 0.3542768847575651 -0.3518588206085465 -0.1323801223961061 -0.7612883211750088 -0.1422423004894332 -0.4578206020265197 0.223061713062204 0.8213153627433442 -0.8355365352426188 0.08708645032800684 -0.4271703850677804 0.1991160799056554 -0.09123894333227997 -0.4455298767491702 0.1402826961480253 0.4291858607481313 0.5749629458391764 0.2152994359866826 1.136287048027374 0.3505484276446831 0.140469531722298 -1.008580050652834 0.1897214637613014 0.9774108747024496 0.1446524836226179 -1.495232244424793 -0.08309180588181635 -0.002966285981512368 0.2422870240896364 -0.1977829339359053 0.374534710938913 -0.2991768821248215 -0.04336857947159491 -0.4297023011440122 -0.0001547839066980267 0.6363795479114481 0.4287429097104428 0.4035393775608224 1.211602954386164 0.8182135085548319 -0.7333517297612715 -0.2022002767176336 -0.1639992774656233 0.5064437656253202 0.5731630946965902 0.3378093578087446 0.4639536720033722 0.318323612132507 -0.1393232201754095 -1.084711606799722 0.4065228448859938 -0.5038356687305389 0.2092146386363655 -0.365345135902195 -0.2313277327811482 0.5191593408876729 -0.005815939273447527 0.1192491600797541 -0.9196283130373746 1.884334407037561 0.008699271253721781 0.602540436656455 0.1659224865801812 -0.6894624060735096 0.7343214307972882 0.6692695420501931 0.07712307292396442 -0.2949197007083381 0.08641501149487973 -0.268603433351115 0.01779581321065003 -0.4388967941495914 -0.200981900797334 0.3523130397827855 -0.7478542331425923 -0.249741739838841 -0.159532707170839 -0.3959675056195354 0.8264628210696581 -0.2580222809063504 -0.005580297785762561 -0.9993190523474992 -0.6384158883803164 0.6132382661237605 -0.181857865563817 0.939270377382966 -0.4855381988640192 -0.001889007946328185 -0.005990397319337939 -0.9563345895664629 -0.3482371375234379 0.02817149983294948 -0.6078053865669467 0.06850235400401039 0.2440311227001117 1.932763476079146 0.5082938979821338 0.222038638870159 -0.06140542594469384 -0.3590328249194409 -0.9919726086834386 -0.6008225213013624 0.04454193328801195 -0.6988870788715369 0.4440005449131679 -0.3502579018414135 -0.5626035649970219 -0.4813155968088398 -0.03318069950700635 -1.567279036601706 -0.8142786123343264 0.2132294702184868 -0.7283541566429627 -0.02598675027330492 0.1211775240744081 1.71854844180384 -0.4019640771528246 -0.5257438626909874 -0.09845402803197126 -0.5081519368838884 0.068944260311973 -0.1025927596033439 -0.2090496997219411 -0.5152124683537233 -0.7306503243792486 0.4577009350741441 0.4436079915621871 -0.05624926333521829 0.461864135780005 0.1176144184835327 -0.2673535006490064 1.763655530609411 0.02694631175255708 -0.09757436368729067 0.5729137413931307 0.1151035750480595 0.593654494472504 -0.5867525394558126 0.5187864482048073 -0.4754579173209159 -0.1712744363223734 0.7658581211208156 0.3876900147843644 1.861534362375136 0.3150819634202381 0.58276309016729 0.4115179254869344 -0.2405718701976597 0.8433752436747679 -0.6498529236165391 -0.7111736310956677 -1.262644277159375 0.3396641981472607 -0.1825168294378515 -0.2125474395189685 -0.0007593219142911115 -0.002957213599366596 -0.3429478367702588 -0.3689777909372877 0.9076422389038908 -0.06271882974072068 1.400850039370273 -0.1030880508050869 1.440061405809854 0.2610778150134558 -0.490862025707637 -0.69929264329753 0.1854404599527643 0.2774513944875879 0.1383888533442206 -1.001318165100456 -0.04318066718133917 0.298164371787439 0.4458595051148942 -0.03947114876607609 -1.586883258394613 -0.3615017398852315 -0.3385967156395926 0.5409385707123284 -1.572112749301804 -0.3742048025518923 0.7137122186364766 -0.1974779656744708 -0.1473113333271472 0.08950383569648553 0.9422191630709609 0.5388976950586495 -0.3011058804458448 -0.09482374587906539 0.07273968615815518 0.5401522006829469 1.745573391101448 -0.1563102031479723 -1.131546844361016 -0.3870545865821837 0.08808284947082436 0.1967106600742518 0.3335596288752113 -0.4984541386873633 -0.02067042581684771 0.5365629023738737 -0.7899569367505667 0.4408453863103459 -0.7946692467026943 -0.5464669585727686 1.435186701452097 -0.1015236132547017 0.3532980058810697 -0.5590487497044095 -0.08527493164754482 0.2680084380985966 0.02900104168849306 -0.3991419722377327 0.05983090446715161 0.206441164657131 -0.3031393455467442 -0.05860226142210392 -0.4021908622161906 -0.8321375731937445 -0.01083923815756601 -0.2212836011572509 0.2586238515447762 0.3690693470888864 -0.1388839884589422 -0.4885111631998614 -0.1093409434116146 0.09344206589563082 1.173539076836963 -0.514453725848964 1.583304820436548 -0.2070962214050253 -0.5415736622563674 0.1088432651851518 -1.080070837737829 -0.4598026151073492 -0.6707956344976408 -0.1453814086899257 -0.2228777675812515 0.2707776784907184 -1.79990165328265 -0.1844704507607927 -0.6265826590686162 -0.00385873464094592 -0.6263694419461737 0.08252630036279994 0.3055849640904383 -0.06162850776037999 0.3070858574491349 1.01927781862648 -0.06250082681141012 0.6289569957406219 -0.6147056145177051 0.0229460265213262 -1.106367854829705 1.346487567210182 0.9836539097048459 -0.3029487817157572 -0.5996883891337544 -0.02203839796682292 -0.5446619722807594 0.1759556494158502 1.017801573599626 -0.1123992001519499 -0.2940350955975094 -0.3940247005561265 -0.2577354917705902 1.746047528932153 -0.1012886042714302 0.2431413599835667 0.6004040834875661 0.6616828377542957 1.510263921807737 -0.09532719696576679 -0.1115348304114199 0.2409054535846629 -0.71945402038535 -0.0005478212509912817 0.1087135178369034 0.046964750120333 0.03058459529106178 0.7155473994115864 0.5108623098349052 -0.172134763704923 0.170887367461787 -1.425574594290157 -0.006616069129045847 -0.3711501740750611 0.5690657154310318 0.1387433919957112 -1.490228009966804 0.180935202891522 0.9730307742277534 0.3434188501072291 -0.3377258749937043 -0.342355442224464 0.4446238366978423 -0.7229121779027089 -0.1420908523134239 1.00381604588853 0.629847402007286 0.4657578401093549 0.5477169059289368 0.3295861210286217 0.1106009847886085 0.2488601995269822 0.7349871933913734 0.4505531533986801 0.2740595122137072 0.15658893003958 0.1663996107774537 -0.6501721470013302 -1.832858161048257 0.3580534546862552 0.1756105406970257 0.1463159647322919 0.3909652049813314 0.1233946944283667 -1.3102815589161 -0.1298422893079009 -0.4071614505746672 -0.2704887335011382 0.1600559008712216 -0.07585362113944367 -1.2986126150082 0.1151512808740747 -0.322780485084057 -0.3004605695430285 -0.115031266056395 -0.002142680058506652 -0.1579140687271582 -0.3117824140157995 0.3487540526486436 -0.1675364749608838 0.5476510953685616 -1.316710657592981 -0.6602254495866136 -0.3315675384662481 0.1986157736512547 -0.326808940308409 0.2469746759156699 0.17924586725794 1.141162658227928 -0.1201151484194567 -1.341568603851118 0.3651142472513326 0.195784828120359 0.04407975736075519 -1.11638125614804 -0.1939686347601285 -0.4697081519403476 -0.5565637510638911 0.542798598704505 -0.0299248551671763 -0.3831040279190981 0.05517800776284813 -0.8052861476034975 0.1555731557185487 0.2721416243828999 0.1313113047565566 0.4955431554300363 0.6948672159268923 -0.2352413392652108 -1.046502701571549 0.3704100133087218 0.9005454924597468 0.1463442462426621 -0.08811014293826148 -0.5517174882626491 0.397628983368005 0.3788557020962354 0.03922656713575547 0.02070120529383777 -0.05857680785424507 2.21354777032006 0.3710108275988332 0.3778690683799636 -0.4408613079912632 -0.2756631305020867 -0.8554450949738868 0.7675585173857169 -0.2952877834073375 -0.1081135557890981 0.3661655910260923 1.439397807330081 -0.1051704979216059 -0.003204308522584329 0.3282947760415443 1.303539817965738 -0.5572393820766376 0.1375867733164915 -0.4482879957619565 0.2882869529981775 0.09840003067233741 0.2603738931319942 -0.6730004771474346 -1.913377869344156 -0.4941496105265238 0.0007291550154227071 0.3972830282826571 -0.144080814148742 -0.1811521362832994 0.5249975109859227 -0.4985831579337406 -0.8173417597678027 0.9196226780296386 0.122977238088058 0.07693897297904431 -0.07738008971895238 0.3553675096819895 1.364367769279606 0.08300531041005613 -0.600951629477408 0.02283764187140112 0.7211043531533209 0.0006775567086899955 1.243804749437045 -0.2945358339131478 0.07015799198648437 0.1422886876974695 0.1437353812523602 -0.1484163485311218 0.6236064994586411 0.2434179612868653 -0.6849637278948412 -0.2006681110399205 0.06498408521477889 0.1679850650363547 0.4993468166155081 0.7306881868056446 -0.870587962065117 -1.052293132041872 0.2167262818191993 0.05889950120664493 0.06239750890340814 0.3978256769761007 -0.6925081452899228 -0.2894308374002699 0.1312389042597145 -0.3119126630131535 -0.0308065165013847 -0.1373931578436512 -1.681295345322624 -0.1670322931986745 -0.7425717619248334 0.09371253787833654 1.649056760338424 0.01214714427785897 -0.3508411224769248 -0.9512694774613303 -1.074633205361178 -0.1339125443261403 -1.308457849470305 0.258884083389707 0.9430358984396285 -0.04263672779670685 -0.5220211928303399 -0.1970684564060993 -0.004003791548882667 0.2328192281479883 0.5993483630507709 0.01129898928724139 -0.2538532616749195 0.4983947742525982 -0.1378122313881522 -0.4134394206233933 -0.7885264214601583 -0.6182764185048756 1.200801206423136 0.08478444677781388 -0.444801366086909 0.3469259410531981 -0.8101165715131107 -0.3902733215934784 1.47312728179968 -0.2863533783021611 0.3060379579418909 0.6953934962796706 -0.4310455462961821 1.058867192096434 0.8031073817282813 0.4235801557858038 -1.829452042620216 0.09324548013265424 -0.3603870729352719 -0.369374507481374 -1.385032529905717 -0.3933536640295907 0.4230837543649985 1.127849862115276 -0.1582964343985792 2.063218494137677 -0.643462572806395 0.2822943633242297 0.02885581575380751 -0.1035892285797823 -0.0247424606476875 -0.1965903490744082 0.1455543269917829 0.01554883500410812 0.8896012253692713 -0.002294914807781266 0.5432589781941907 -0.6348970998817319 -0.3661090660286215 0.1395836983380219 -0.4156073698587276 -0.1053396553712269 0.3691669925324058 -0.06406400923996643 0.6651990885567014 0.2659416254457952 -0.7752070312177607 -0.2334816614034597 -0.1396682423251274 -0.4304902473276448 0.643086535590487 0.1948275263206742 0.1672321307844884 -0.001459368742779818 0.5950670960379476 -0.2518520583298159 0.754962776143222 0.2672347215758666 -1.386001136975885 0.2226046720463478 0.1696378887127972 0.3830055418860343 -0.5012483177747897 -0.04437613560375511 1.113494412108147 0.08806510083560341 0.2151513840896512 0.1983699486536685 -1.628445319993903 0.6665128608202578 -0.4454995857904141 -0.6841420973802832 0.7232444729623471 -0.2823256599995909 1.197155830376872 0.2193116715478894 -0.02890078015378906 0.2119975472784079 -0.004865695150407331 0.3506599201829501 0.2906193429859509 -0.09121463064843972 0.7126985158085608 -0.3599496656931345 -1.040448766208561 1.190544345808941 -0.6770019648569727 -0.115777135322585 -0.3251593858041379 1.17052837541683 -0.2659889210589206 -0.02632638658218868 -0.0953182243939933 -0.3285179766590411 0.2688015119942179 0.700606440140502 0.006264840729556067 -0.5364697486839698 1.477820217285993 -0.1829385896223126 -1.909715549221038 0.189858103429719 0.8299779420705097 -0.9147255979185513 -1.117570281212823 -0.7867709714490716 0.1209003931727731 0.09797980288402613 -0.2379621774617946 -0.04857271193418721 -1.888349632651866 -0.625519477864046 -0.7786631256201508 0.0630778706730665 0.1825039664458726 -0.1034111262827106 0.6969668577890913 0.3841087511098244 0.5596270691481711 -0.1953412898963327 -0.5555200498052008 -0.006725743585920402 -0.03723695227426388 0.3795293797007483 -0.7352445898737335 -1.045371001758415 0.3702623484925253 -0.3534840224650488 1.009524220498079 -0.570554038086366 1.79810137422404 -0.7953426007046611 -0.6381530636621923 -0.9505469137769799 0.2181153035070611 -0.0522621361440528 -0.5714179658486794 0.1523985063128172 0.02396337141078074 -0.1026385310269209 -0.4228965048679627 -0.2679074540829083 0.4574334501799662 -0.08500193783355643 0.4272609189522125 0.007614832231628602 0.106561554581856 0.2587518615000927 0.04640900040895059 -0.2081593733874876 -0.2984413065171618 0.1801442740001699 0.9222895595592765 -0.1787155713021583 1.566497373847311 0.01374177860042759 1.064555207222172 0.1447747285146149 0.9531104907820438 -0.4405589024233242 1.165747363959023 0.1599766615949652 0.1038183410160262 -0.05789130124702992 0.01143346312107888 1.010318185225857 0.6086086722771422 0.1515782185521801 0.1489142684305038 1.117462096844317 -1.255199927595864 0.1813117470967754 -0.8495747737001343 -0.7355977525198856 0.0004835485737985143 -0.1035868298717842 1.469447519044447 -0.09204018672257888 -0.3360545563269953 -0.03887272542968797 0.9325017888333775 -0.7828755370477807 -0.4007936726307511 0.5313233500317295 -0.2360993792541676 -0.2074803367282808 -0.4823793655770566 0.07236692100757904 -0.6199172898380295 -0.6676573708712927 0.4451351913788942 0.2072315368102612 0.01043452518199833 -0.9476242724424866 -0.05098112151078156 0.3654062749030417 0.04125299273598125 -0.07272674789550773 -0.1695431988915341 0.04751392649129281 -0.6510808016438661 0.4038371981488492 -0.502339672853621 0.1027076260370249 -0.4241270239982176 1.269903883778021 -0.03105531771919772 0.00390250057632534 0.006617800960498658 0.08231175568301069 0.518008868668699 0.774678896469467 -1.338197730119918 -0.1318636455474642 0.4547972485731419 -0.2181374177064088 0.8587785279645308 -0.306579821604532 -0.1469870815687561 -0.6200196358078484 -0.5036191063775337 -0.5278607979457827 -0.5034460976342499 0.2746145107416674 -0.182761605799987 -0.2249354200680545 -0.02131278415937996 0.3657222054506959 -0.8770722946005153 0.8382631889941216 -1.766953987508295 0.3679864543870313 -0.3986728478709085 -1.27646821392618 0.08609543748323654 -0.7566401161643508 0.01731847033293823 0.444187982314548 1.852846021753687 0.1503003167788232 -0.1393047124972636 0.06253240391266117 -0.4964241944022814 0.2794653806982702 -0.6898879675461576 0.6873711528505251 -0.384354695721922 0.4528170952541637 -0.2313580460828094 -0.09270225331938023 0.01562665624286639 -0.6323872780798511 -0.0147601808989454 -0.1620331218592158 1.128738966121049 0.05569450649094141 -0.8895549522372748 0.3398422862563481 0.7919581090788929 -0.440020958161069 -0.3131616282134211 0.4561599776432747 0.1125334571611363 0.1737158130524846 -0.2658863755746542 0.2069594808464758 -1.395352736602121 0.3300204566819149 1.699373597014284 0.0301093489078968 0.569892552734471 0.8368580918470461 1.189204583483604 0.0124994753148824 -0.5863368391956971 -0.802183843758378 -0.4557465874871873 0.09947375960200708 -0.08959491909429466 -0.313684963590192 0.7799661023129482 -0.1997677710254853 -0.6486358355291904 0.2421509366532745 0.8894775389939863 -0.207787423252171 1.028626978858701 -0.1707305331800857 -0.5402217792222321 0.2798826896693893 0.2394506100383692 -0.154836381828014 -0.5156685473578977 -0.01043777538622086 -0.4839881566929745 0.0008752853240357037 0.6542447310704089 0.1675629796943606 -0.9117095894952264 0.3351514987471285 0.6243087423663863 0.6620622028954923 -0.4448294604225722 -0.1040224171247803 0.1788046107820733 0.397349896284453 0.1889788080501008 0.2637457756346673 0.5408232904105974 0.488352401062371 -0.8528153383443088 0.1926817857519809 0.682743604310083 -1.223409658977791 -0.4145769236253978 -0.152390851953112 -0.5315360287675112 -0.1621273266070751 -0.03617215156783686 -0.005293720654726101 1.884206717520712 0.7720515367419271 -1.224889423380258 -0.3113633351987212 0.4864915117170757 0.05097717834956202 -0.1101130165229 -0.1888723735005235 -0.5869943806489097 -0.3123595527769046 0.3604057482558298 0.3944830888384777 0.2318324808569354 -0.01484171132889028 -1.871869763248337 0.3935928679056154 -0.004923246056524683 0.1112511453660407 1.703077272999829 -0.0396714765587016 -1.619324387172664 -0.3593527562979427 -0.2458635485248272 0.2628194296375334 -0.4648012633675423 -0.09674772362168077 0.1078973914706339 -0.2869645849806128 -0.5058941736362687 -1.125400497023483 0.08699388642414854 -0.1381278536376667 1.245871475074785 0.03078392592197442 -0.9587619073412452 0.4621164442306612 0.7338245681268265 0.1761601450293338 -0.04953851676317245 -0.2643362483935366 0.1759333960902667 -0.2222215562192165 -0.5835418970783615 0.08628391245464739 -1.300212162680509 -0.9480911500624114 -0.9610208144509041 -0.04331441910838325 0.3067646091705698 -0.0367292668478334 -0.08847757660442512 0.544403773844629 -0.51593903737275 0.2753872124387096 0.5555309710498713 -0.2649812344398462 0.3811581280662673 0.8787476008198566 -0.2662795771437309 0.01546226530821274 0.08209236328708876 -0.2627528319318095 0.6635276852999482 0.2073781140003452 -0.1090358055072237 1.641160712690913 1.09407625074468 -0.4179096998745204 0.6204627170693143 -1.192167378689109 1.138458202780024 0.813750535466122 -0.1238498256291415 -0.4921535625225401 -0.643471235659744 -0.1201093200933759 0.2621849106185968 -0.9362477235462016 -0.05707447072974015 -0.6859528744098796 -0.09633866661570696 -0.09070162662480173 0.08198786843997571 -0.4156920253595525 0.8926007512950036 -0.197028775646609 0.08986693076520745 0.03648041716473494 0.1761696540762669 -0.4575675560002377 0.3685251051405244 -0.1102551465793865 0.6357225144658634 0.716255353223008 -0.321784338551265 0.599529916049462 0.0007758219699014195 0.1052753270217401 0.1157806079802512 -0.5039983659690597 0.8352252420498859 -0.187640476951156 0.01720263315496003 -0.1888454832716452 0.5893902781210136 1.004225174942877 0.2352064226192763 -0.5247329232794257 0.962179894119232 0.366869665798979 -0.2819331294504911 -0.2362838677782395 -0.3683701058732785 0.1455463108893743 0.589311930714038 0.01335100445122765 -0.5483944517611491 -0.3589573490939679 0.357521249278779 0.042167376534953 0.7374086127060541 0.6641303855330419 0.2983430547235281 -0.4109803273235902 -0.2997182963662468 0.23577110192819 0.5476850613507024 -0.04091712706831994 -0.1186678568827789 -0.4308058898370086 -0.3865632780376002 -0.1807532488706951 -0.263897852627078 -0.2962609198213511 -0.9501737726515126 -0.7582754191609569 -0.7932945203914085 -0.01527583582778713 -0.1122405592688229 0.3017424589398542 -0.3342752557414239 -0.477653668798227 -0.4225574642001518 -0.2945748540521477 -1.025658920537641 0.0009426332399927051 -0.6767510861753462 0.1084472363827703 -0.03539087953807926 0.04908984583339469 -1.103607243060572 0.02814087035875829 0.5605589140921459 -0.3837463099428702 0.8799884183201776 -0.04560204154910028 -1.086486790654639 0.005451530874266553 0.8731625073984387 -0.002682557685371125 -1.04026896287347 -0.3780861729723541 -0.822945195456577 -0.36053406734522 0.3077818588203573 0.707463877978195 -0.05100666059599494 -0.4891963718631783 -0.1831405329437493 1.255015455440574 0.1004659573447183 0.4979117226593718 -0.457419683377257 0.4629803492637926 0.4263926641097571 0.2213187434641929 1.948446498445688 -0.06204316558847407 -0.3113993987356169 0.03391259763193471 0.4413410651096581 0.3269584082950989 0.2016532237138224 0.2968533315368931 -0.05092405908791466 -1.474410450875186 -0.7782055730023434 -0.05348183421952453 -0.02694002976753782 0.7692192178346229 0.3688946583860653 0.7703788072423068 -0.2656867301577284 0.5302940157115177 -0.1701490266918103 0.3768280778461232 0.03628867079620591 0.8791581890772485 1.340053523380725 0.2459102095707901 -0.9690152050700394 0.3379279386640245 0.2911130138996573 -0.3135396912654369 0.1155633667396583 0.06596730951382644 -0.8684454732883728 0.3454763872353231 0.1495658989541808 -0.001074249410521934 -1.024706508230177 0.1246246248534721 0.6747369158898237 -0.5582794952225885 0.4746686047738418 -0.2484248186662007 0.5313227712703293 0.0006588604615972117 -0.6352654317416842 -0.1462718921231679 -1.963596729519915 0.3036644618590537 -0.160744080480232 0.5829643434031453 0.01367339399472425 -0.04705504970266144 1.142317751218984 0.2999956303640705 -0.990662380109373 -0.07555768064252438 1.479845497424181 -0.007666760209294026 0.5167073008749147 0.7672660222625984 -1.47833403728503 0.4410733697147444 -0.1748760428365082 -0.2236209351578146 -0.3699178356943381 0.8720758970479152 -0.3356717561513495 -0.1168446341970032 1.002399836636706 0.1422178141858817 0.102215197172982 -0.498836662231805 -0.8335689019086621 0.147072720703634 0.09579463190446115 -0.6688160675707022 0.8442143648076909 -0.7517607332625927 0.1849051741955681 -0.5570142704283528 -0.6754405833206236 -0.5071262665621927 -0.404363136602965 -0.116404024503092 -0.4593036250106567 0.19346037498247 -1.070858849352367 0.6327771986957353 -0.3306200756181663 -0.4064006558094804 0.6943862776787775 -0.6709837599448956 1.940030189359902 0.2077034323091937 0.6805954322309106 0.600376673518268 0.40283518989058 -0.1985953935797782 0.2740101358274157 -0.1368094772974698 0.004624266769936235 -0.1582178014751019 -0.6245387929004727 -0.2754378869924251 -0.476749577350299 -0.4685384614576332 0.1698295105343667 -1.441194306049523 0.01130074497502146 -0.1617911238176901 0.8155108527933037 0.2865096453817194 -0.3525672744855793 0.4695168311318053 -1.881204481503591 -0.4586253783186745 0.2561546122114045 -0.4846912864628002 -0.1520227140367706 0.1416312441558999 0.6864738696320821 -0.1731591458842731 -0.2649252777860555 -0.03933864054517736 -0.2183983697598912 -0.5663175465232615 -0.4683588183115087 -0.1200183983754346 -0.2945772394041429 0.3398570507289976 1.545725310609503 -0.1925546808246207 0.2652974086787546 0.07984130895977909 0.3343365577979042 0.2221738984710126 0.595742996404879 -0.5531326884834209 -0.4161507514833069 0.2559683799180988 1.661452532830426 0.3314987273406854 0.5479681960858417 -0.01041154905477555 0.3157182082635836 0.05390200957458143 0.6812511531394188 -0.7380549762892908 -0.2913010783428963 0.6554005658743837 1.059351584996812 0.1362577757936964 -1.391988425281637 0.136466970124569 -0.3917174343058845 0.2855440829547682 0.1386946957987219 -0.08162018393338188 0.0006834673003544671 0.8243253387586945 0.1104628619913954 0.0417741644214225 -0.8189086591252933 0.1027160233716888 -1.001743530419997 0.68038155671127 0.1117787575190356 -0.006598822804194795 0.6218610645585515 -0.3977922074574344 -0.7580275264532415 0.7495220752400507 0.788460857690252 -0.1792738631306449 0.2236948736499201 -0.1993592102955327 1.275670215932886 -0.1454296153725367 -0.1299802692456926 -0.3898927412670415 1.10617679705793 -0.0316978102001159 -0.3272489177415484 -0.6862007190874638 -0.02023767039689185 0.08150587934295482 0.005894547796967555 -0.4025509754810798 -0.07227229302055736 0.5718033932109098 0.5929418506970265 -1.038657545914921 0.2361928199054406 -0.05728165192485375 -0.9068998743229717 -0.1267471166057989 -0.06931829458402161 -0.372685672815685 0.7528572633927302 -0.1132269181722408 0.3755978275735108 -0.1506367245598029 -0.404742452428195 -0.8787931376727761 0.3171297131218077 0.3820663287611833 -0.2025013077483379 0.6033218846716313 -0.1965154016935351 0.2351350385305579 -1.434741138496612 -1.201506317949005 -0.4575275036299127 -0.06877618463825766 0.4624942718760386 -0.2755955911122084 0.03201503430134029 0.1467058348586624 0.2505806811226913 1.497244537276414 -0.2495488557186973 0.6863501048640441 -1.456003217842218 -0.192869222077714 -0.01932725765585228 -0.4235907972366954 -0.566403182641367 -0.05760125236246122 0.3802004163863401 -0.005970317534540906 -0.2963483420733458 0.244866972100754 -0.2322770467520715 -0.2202223149000231 -3.19912586012177 0.6297754193939319 0.1774103621214811 -0.269659548089026 -0.3107639542792519 0.1697672654935486 -0.1709057899088242 -0.283057131254409 0.579298453224514 0.363065287720805 -0.2881157592159876 0.1972877648975891 1.589989389783341 -0.4107039939092375 0.1710120490190452 0.03790441345995302 -0.1951740444193209 0.4082806943918388 0.8288087354730348 0.1679447121476043 0.6585287932822428 0.5895821964162946 -0.5835131115383752 0.2712187845710052 -0.1641197590893771 0.04515396065123563 -1.019369795918016 0.7207988133477015 0.4297281777739397 0.6965939385116479 -1.124645984908985 -0.004573034940417164 0.2222736027872543 0.7985911843209172 0.1710298292450959 -0.0339181770156667 1.130386466244071 0.1512867891768459 -0.01243046129286567 -0.5272925463233731 0.7989269599871213 1.69063265664492 -0.003208631234604925 -0.5235631794181479 0.04466836554871399 0.1058402212089436 0.6212181637054821 -0.9973515313124676 0.1275114528199665 -0.167876254803977 0.1293308021167491 -0.0009768105759235372 0.09620430507152056 -0.08147145474341703 -0.3733235451446435 -0.1192870527487606 0.103384145076455 -0.06541649017032357 -0.6454319200165993 -0.1543466638517065 0.6351820277627349 -0.4202519427664863 -1.645508924603613 -0.2056725051277407 0.2159379770817947 1.348482196327528 -0.0659556829509521 0.008884733185129777 1.380879862942488 0.6970810937223076 -0.2485929175903179 0.446902688161028 0.5864146163681945 -0.07090769162033998 -0.366068483066789 -0.100683489178424 -0.1114908375924821 -1.068564749702146 0.06587295550801568 0.3009842899386504 -0.275409022395214 -0.9112171595183103 -0.06563586161723482 0.2175628643061473 0.7737621162610979 -0.3716558872235431 -0.506632902337718 -0.3889828484521243 -0.6055654732893656 0.0530939020001208 -0.01007031832404697 -0.2243091939086987 -0.6217821042571825 1.118860166082078 0.2853821207552719 -0.7026361619446478 -0.7131922971771365 0.005979808550128959 -0.7772952942285342 -0.2417916563859004 -0.1730147842304177 -0.1719166596120948 0.1258547540643892 -0.4248563074613677 -0.8529327817602126 -0.2765840211405806 -0.9490089071929876 -0.1041189669166172 -0.03617611224112532 0.1268049910131405 0.2606193069574073 -0.3499489491621567 1.069969694641982 -0.4918713866223922 0.08870632913136912 0.02892074840964464 0.9990750749410856 -1.090894706080476 -0.6249793954400382 0.3125607363555473 1.293972383794248 0.2897069162383307 -0.03958318760684153 0.7113845135273399 -0.004440550502351308 -0.8446266998279217 0.27756087361113 0.1978041601146352 0.636761560910558 0.1243717768772835 0.67120862982345 0.08400793730993866 1.179315229261708 0.4111898891266635 -0.149884184076986 0.2259968943110392 -0.3976591107983128 -0.5329238884095087 -0.631233398316711 -0.2724340826640808 0.3484265832175071 -1.712109670568887 0.5096983455521649 0.3329099753936954 0.5021213445211563 1.019922321744412 -0.559027738899841 0.3732406236518568 -0.1953527041226807 -0.1096998049063801 -0.5513447016196316 0.487223579903506 -0.7786221215620387 0.03989775780528648 0.3224141896667141 0.4964505121536293 -1.020772220705654 0.1640670613257507 1.89244800358919 -0.2226033772986246 0.900658809596638 -0.7423889458084674 0.6067881698508619 -0.1921592619407759 -0.4673734732770003 1.013591239174839 -1.128620702365156 -0.00439304265441573 -1.489557108162928 0.1421800538239506 0.7195764844709994 -0.2534427725872594 0.0004343418359699028 -0.08058455397591005 0.3701169502902745 0.008335110543802607 1.109683313146858 -0.5249975616865951 -0.033003335799025 0.2146431133574843 -0.8117472194229914 0.04195350897468895 -0.3754943806906142 0.2026990447808134 0.3900452777672382 -0.1995178843689785 -1.721042334277458 0.1077521572250127 2.500147979916848 -0.4670399653939417 0.4626562626571367 1.03680702012273 0.2734293232450787 0.02921283981687802 -0.108333566134146 -0.8219037772716945 0.1070105273540121 0.1648513605000881 2.157742357261309 0.05322794072625928 -0.06180344025622616 -0.526514884802161 -0.5367458551999967 -0.9011117140190875 0.7512743761169759 0.1872525079725554 0.2051945311112105 0.5776750778676949 0.4908048447158825 -0.2492357968101124 0.02950810358624738 0.5446082372083834 -1.343546101007812 -0.04851205244861905 -0.05173249968526663 -0.05316307103759491 -0.5712321344934718 0.1369786535829614 -0.5603617626590855 -0.4273190518020358 0.5157832713941326 0.1300589408420252 -0.2406706219317874 -0.4485916233779279 -1.541854725123223 -1.410686750579143 -0.3707996029952555 0.1772721381686921 -1.358105840740446 -0.2605295039781161 -1.247745617362661 -0.003222112258411684 0.4571942648500636 1.332918487941764 -0.6255787235052692 0.2845092798784303 -0.728379224524741 0.2402875567920337 0.5487537628118005 -0.07218795396043318 -0.9398985903077967 0.09749548949928999 1.542673416907286 0.294589256227496 -0.2847374500267347 0.3968510235186115 -0.3507064725376188 -0.3153056445119222 -0.2025992936712916 -0.1920708609785482 -0.5661844327893613 -0.6212095186798436 -0.3433272180170511 0.008887548555242925 0.02372601740242989 -0.3551691698091224 0.5487366171021321 0.5154066563945554 0.4401762564687717 0.03457626087116999 1.659529995550308 0.4903278487922652 0.04514110676382006 -0.05174779659223612 0.4709393174067886 0.2407714386651311 -0.3161646383443757 0.6872946387725849 0.5324633610368105 0.1163601641458587 -0.7201890868232558 0.0475887501138516 0.552886249514439 -0.5734964500307691 -0.0158444983747693 -0.3536136061492786 0.5073024225109117 -0.1111990656851763 -0.130210846596734 0.2666035066955277 -0.7035318441117639 0.4112978721201506 1.988672027340792 0.344431614450716 -0.4743861718346005 0.1057414274745983 -1.044246075816782 0.6690285187008935 -0.2869223372175563 -0.1119100212668366 0.6232511790766883 -0.1307518252804929 -0.9568155835727461 0.0004161655344668176 0.7095786548342645 -0.1390799642521477 0.00470978832883362 -0.5466686700193253 0.2518685551098252 -0.5046573135016275 -0.03816775444187432 0.6891280105035461 1.627098594534675 0.9133964044016257 0.06731117509230196 1.372328080432692 0.2498310603482449 -0.4599753145226598 -0.2359699813723198 -0.5173418695886489 -0.902615745084177 -0.1002848536574329 0.3117617392521737 -0.2637523157013592 -0.6355030914110558 0.4142093051038282 -0.4090338017725589 0.1214606620059828 0.1617064912095699 0.3859420386114629 -0.4870653288970202 0.4354190664875093 -1.002420785949627 0.006353696408842923 -0.2032389416398566 0.1108171025511046 -0.9274069261277206 0.08409740451638817 -0.1456302519610808 0.3712433265465657 0.386069504091221 -0.08772798813693089 -0.2750043872239009 -0.03026709239323113 0.4613321920633314 -0.427236792579259 -0.5793284725707245 -0.5781187385039734 -0.9629462666209921 0.00185265786033957 -0.3245482150235346 0.2426812788767715 0.4134702165410674 0.2004687475504517 -0.3360480965922366 -0.3629077123758117 -0.1430582598427141 -0.6268126242325933 -0.8140972908787594 -0.2446780352679172 -0.208467988251575 0.572061077938851 1.073974603476074 -0.3838799179645354 0.5970794880094401 0.1783782536883423 -0.4495604610674825 0.3470649361297363 0.8967691537184815 0.1930283776028655 -0.4165754948968891 -0.6827209970816156 -1.30312064583217 -0.8880421592354584 -0.4693281605338379 0.4086261073643448 0.4517626800424056 0.1667604157925567 -0.4125704655106886 -0.3160909337021641 0.4267837641252131 0.005324268438837773 0.09082148266138762 0.1280343430860272 0.06050417398038144 -0.5548340355315677 0.6365225237480666 0.05903987426552881 1.095901506678724 -0.1539654577619463 -0.8242194848836129 -0.5033522433173301 -0.007535183458447502 -0.05416354692923406 0.7624955224001638 0.2781099948357805 0.1205966284005086 0.06160986973379724 -0.4248684136909776 -0.3207927022484637 0.9293719848510327 -0.2249456121462113 1.089802904105504 0.7327719801783621 -0.2143121307076959 0.07044769969691947 1.827349937632223 -0.1499518492853847 1.230665012543147 -0.5710230664820178 -0.0320207399241083 -0.7268926819442483 -0.3134306002547558 0.3943149216206665 0.9978167327941089 -0.4071507495065997 -0.171224223879781 -0.9639758120340283 -0.3127980269885233 0.06020443616789733 0.7159312831426475 0.2797857361718999 -0.3503694362386558 -0.1174683843301682 -0.001837720377754625 0.3946957950856986 0.1286630448081525 -0.3186646370767789 0.5308486783330494 -0.2051557249625108 -0.0477427071940992 0.1647211179880519 0.3847802788628648 0.2061441759182202 -0.1761604100664192 0.01842656405226408 1.564962162131031 0.1195657857310197 -1.771195222036308 0.04845296392667668 0.9859639297532318 -0.322993861644372 0.2505214537298078 -0.9259191649707351 0.4998094676298181 -0.4108305680753945 -0.06265100660906978 -0.4256482635027737 -1.296511621369472 0.1283274717648648 0.4462538401248203 -0.2863019579479599 -0.580422479202925 0.2944833822831373 -0.08207910899706924 0.2907471821389201 -0.4287825402335794 -0.1200876803986315 0.04834832617247474 0.6061550103172975 -0.3842883990431087 -0.002898903771508392 -1.259768977680427 0.7551730357806559 -0.672429931933382 -0.0254861309174174 -0.02834438728327816 0.2622179207690934 0.260277954511016 0.06577158339229819 0.2204309589680826 0.8685780983638494 0.3681166696974645 0.3733346098313533 0.6420610515950861 0.05374659679816711 -0.4948088108527142 -1.039729767658629 -0.004297161301079789 -0.1798132027654701 -1.991633276685602 -0.02779450033124539 -0.004427145085635137 -0.008393885086987362 0.7047366428523262 -0.121029233104136 1.028007583052827 0.8097164563398878 -0.5161394618035662 -0.1042923372524029 -0.9376584929748207 0.6538629715072755 -0.4000633568461913 -0.2124556513995984 0.09846919950179747 -1.195025918118408 0.2666965006485087 -0.4660714664838209 -0.9288118636182505 0.5345896892344628 -0.1793900354134648 0.3521309111844519 -0.9923117209046626 -0.06180110614584149 -0.004115548304654936 0.653180863113203 0.1360780627679759 0.6343064148294494 0.2097762177097589 -0.1913642668612654 0.08198984316153422 -0.7862680223005698 -0.9776162916529311 0.8818830289377597 -0.5576231056111224 0.20612500043185 -0.4886442870220488 -0.02147464430863043 0.3006429661166502 0.5464421205287607 0.2536727704814809 -0.005330483372037211 0.6684047573222803 -0.4253878060708217 0.1368702398139295 0.2817470209532575 0.9808992384596077 -0.06518675935598597 0.9759139144368607 0.041564341785936 0.07662704542752025 0.3863019807374745 -0.9499822274438224 0.2804622765510232 -0.4185016897301004 -0.2007863254289219 0.05848010033826261 0.3365922668900344 -0.8342508641112164 -0.2661783733564413 1.73883896718777 0.6826730095183505 -1.112928705707646 -0.5957737603191416 -1.228097604896908 -0.0002237504263561086 2.038882637159287 0.3882656586454123 0.1840977706712268 0.5884537552614787 -0.6614126367726574 0.05925436218978686 0.05407573281468653 0.7333724616340317 0.2953443203171028 -0.1804282520207647 0.08170574966919561 0.2625635968761555 -0.6337184420265108 0.08557544900785813 0.3091995250061912 -0.3299472195037269 0.883139409034716 -0.3485242856450251 -0.007908821852920295 -0.9907346125200017 -0.1014789885189023 1.194884870821483 -0.4511677188288206 -0.02441718106193244 1.58097704042614 -0.4500244134425556 0.6472353735677097 0.3012719194181048 0.3851990436538077 0.5955147692262518 -0.6731880522395073 -0.2318165113496177 0.1599360121284468 0.1279183253206453 -0.153711116875781 0.2852720155758484 0.4546229394411337 -0.4170399753227392 0.5018404213600005 -0.7035895937237938 -0.9821262755046503 0.2021294575125727 -0.8539293516197566 -0.3579151209521411 0.5263405955429373 -0.8114233060767518 -0.1643041886493586 -0.4980147417162588 -0.1552820969245479 -0.1860993398374662 -0.2476615310350486 -0.1254097178238903 -1.898767516383607 0.2840514659685445 -0.2686679092894613 0.009861976233408778 -0.1289862759913834 -0.6485573219478882 -0.8062239832043804 0.0255188416385039 -1.369355575910398 -0.006057895803671165 0.2570529195547944 0.5815842040255434 0.8674545810009322 0.1639563041016729 -0.6210815718423028 -0.07494773952394684 0.3993191597215472 0.1777333747973614 -0.205279721749849 -0.08876562511439187 -0.3600970913823711 0.904136929394132 0.2207959513258337 0.2207904628478975 -0.06235507705401303 -0.4787630279748338 -0.6026289937002522 -0.6555555598929131 0.3959609805386389 -1.973257838709136 0.02592117345002451 0.006829917299290447 0.6849188411306384 -0.4226831260550324 0.6614854689746057 0.2600685618650852 0.04438205640365041 -0.5769868816204737 1.60634954082045 0.211203889791539 0.3362201893476814 -0.2026035818206152 -0.7384457084368484 -0.1099478442191516 1.738181663653892 0.04662522437386713 0.1471293984488813 0.5865942229599301 2.387548177314051 0.2910867868893765 0.5531498152782705 0.08874590516948586 -0.004724752028462106 0.6968062273364914 -0.6695525160646607 -0.3864772574496029 0.2440848316046735 0.1907155708074089 0.726397419477858 0.04145788537689423 -0.1136286793339521 0.4215364098676736 -1.179747194897413 0.08325261075306027 -0.934276255984664 -0.7124456211348501 0.02211783130382531 -0.09463697647322962 -0.00123241440525399 0.4674654777847262 0.4681215532239721 0.2234022754912701 0.5617034856317712 -0.1830973698092908 -0.9166484640030697 -0.6555009149989988 -0.2616577776116171 -0.2094863443308215 -1.357027598915017 0.5324866394234347 -0.2947413551339937 -0.1681525989867715 0.149591111395381 -0.1541726326020495 0.9457177016820577 0.2008452049780305 0.3109783954453631 0.5007915425682485 0.3220831007716374 0.2470187609630036 1.06558825894198 -0.01921429182836065 0.1315485993104718 -0.1931997313038264 -0.3113972975955775 0.006443081023740727 0.6550660765674718 -0.7731196934337193 0.221217274669099 0.1071816000247479 0.7047287773344026 0.1793968610383903 -0.0537932637122664 -0.3201274757035776 -0.09241071203846285 0.4475395076152247 -0.2489179378695899 0.3214362801090782 0.08039835859307745 -0.09391183775111427 -0.502759781278363 0.3101617242123864 -0.7707663898100975 -0.8220586510697966 -0.08576893191893614 -0.1667690573461948 -1.02214265669128 0.64707414597552 -0.9704943578236961 -0.03887643524534826 0.005384450564756357 -0.3965517360506413 0.2326428740896241 -0.6783261794883205 -0.2783938825003743 -0.005759113655563856 -0.005722049318076249 -0.5595131342677188 -0.1015053439806618 0.3107896589501935 -0.2523172856725616 0.2164827581911872 0.4574547875663774 0.05952244029705715 0.6374899418027539 -0.2751423255393563 -0.3102674463683926 -0.126962852810741 -0.02477793434476444 -0.08604734911390871 0.495676942866377 0.2379871282969383 0.4178674089476319 -0.3395595993577771 -1.464447591177542 -0.3051255627813235 -0.9614410355769519 -0.3010771215807586 -0.09261383866427965 -0.07456579290226067 0.1124153060876781 -0.3181776927041307 -0.6450278934217977 0.7498685127002268 0.5856592988823003 -0.03722470573180834 0.4955228926871981 0.1411126898659789 -0.2083772277740691 0.7167404764192162 0.3456064424676334 0.7215945898960752 -0.5773399257738603 0.1350767177916236 -0.7234493952276311 1.07848923405951 -0.3745981239186414 0.2264988867220295 1.289608609636247 -0.01773732090663032 0.05222585323419519 0.07027069026210594 0.04172528724167071 0.165551438883442 -0.4257915691252986 0.1789268244740287 -0.9759586409338706 0.03113953014524165 0.3161137316534035 -0.1562475259143453 0.799510801054547 0.007180455594908666 0.2287289123334584 -0.2629277543502414 -0.273667180261592 0.8596868967974569 -0.1663146964945746 0.1751258585439945 0.6857289006476704 0.001518945902065649 -0.4426605948567205 -0.3913966089335168 0.06235193943024789 0.06319922172919408 0.6287741233763647 0.3946296148143996 -0.005559408102049099 0.4894639685109021 -0.3695367728689429 -0.08151825348370734 -0.2675205344305367 -0.2507079444095103 0.7364933937488369 -0.4857259936757658 -0.1199527907380233 -0.1642004446595041 -0.2379988621874121 0.02364206135052141 -1.228870086570997 0.5872519476964779 -0.01488383952085397 -0.375453984430919 -0.525383169388749 0.2076276299205618 0.9890636404980557 -0.2976418860295073 0.4998099895635232 -0.1071864727930699 1.124073038474767 -0.01491002145699078 0.3163348022700459 -0.6353320907785353 0.9651400780468643 0.02267228498561653 0.0004307308001173321 1.032216956749282 0.3099954193397729 -0.2726898659182426 -1.480743947229325 0.6502053537111938 0.3393474095604166 0.3424749476718856 -0.3257526789020688 -0.174006879538407 -1.255377792285338 0.2615538634050164 0.1766601755340217 -0.1880184898267928 -0.1861642548779415 0.4455484495199125 0.3995967210191949 -0.04838538758083041 0.6950175356869157 0.4666149973950703 -0.7064867884591981 -1.484459073213047 -0.7542203467567644 -0.4804937869091018 -0.03509324051754417 0.3532567596354606 0.0318687283554155 0.2692187889122564 -1.627230930572139 0.3188283195255426 1.639919682040346 0.1546778029039214 -0.5148425911489943 -1.049044799026156 -1.503418189175858 -0.07582308743841129 -0.06229242623584918 -0.5374864718702403 -0.1029773298080001 0.1446162765990063 -0.9625125637898209 -0.3824437332183067 0.3786383866866981 -0.003593213728637092 0.733938958118487 -0.08645295074451115 1.140380936575244 -0.1096514517088011 -0.2306457942858709 -1.051999626698157 0.4760004875903964 -0.2063938622749214 -0.09329295319879635 -0.5161622149625668 -0.2723951641111353 0.6435474216247165 0.5614851880894648 -0.2038306606193225 1.46710168963422 -0.1428581966057684 -1.65482329853323 0.3769893084678023 0.2947362037179872 0.5716800488461642 -0.1975880417513691 0.1454076571022451 0.6352934215323115 -0.07980813318359012 -0.748270681092146 -1.107951580033638 -0.2325577490918317 0.08337505901925225 0.3939388840137614 0.04010238005112496 -0.0310233795737895 -0.07770150006317546 0.02579642264958945 0.03175778141025452 0.02327180297974555 -0.6895426707081397 -0.04978167734950301 1.004203402589081 -0.009974736735324501 0.2040989925996094 0.09372981579480739 1.150935710126693 -1.857780464419132e-05 0.1229401188860768 2.347257133923251 0.2523867241970395 0.3679110252058617 -0.2561744244761894 0.7365297016075584 -0.8177669616097752 -0.2017132007547714 0.1650190209634822 1.438789279738461 -0.3202554698391845 -0.1754732756292489 -0.02726114347141024 0.2887142341210452 -0.07299403811554601 0.8343681077107221 0.2785155808315816 0.1456925068468842 0.9915298950326937 0.2565610008610936 -0.2323450403618874 -0.9985547732841488 -0.07391775555420077 0.07762829339048055 -0.1559462964474489 0.342418740477554 -0.03740427974027282 -1.233551153900729 0.2939537388870442 0.1660212796596038 -0.4488936658465565 -0.5702876365470954 0.4745719220865554 -0.1664144789607395 -0.4334316226980692 0.1939032089385129 0.00649357719755718 -1.123416338594443 0.1511385707136415 1.199552571477373 -0.5183806173340535 0.4736584433759859 0.00207497265668648 -1.236355532017771 0.005820090866109731 -0.1773349906089367 -1.727675256331955 -0.2263247869146909 0.8280701058810858 0.5756644537438418 0.5676331228118117 -0.02981306074487724 -0.1732044867859778 -0.0541499595173233 -0.111755249541458 0.005467005042580003 -0.04729761431799745 -0.9329244068143822 -1.192055614235697 -0.05841922473430081 -0.3174309161692054 0.6569374264473954 -0.2132211773376764 -0.3478467583167143 -1.020599796864758 -0.3091290041577923 0.6086005002159743 1.405890887035854 0.2056877566739489 -1.18479206837156 -0.1864092171440951 -0.5216231964531834 -0.08218494441814889 0.7950473983239423 0.2766697648853989 0.5008615274718157 0.1062780965966587 -0.3025222770690935 0.2064240817879323 -1.828316896084615 0.005351316353551757 0.3278864796127302 -0.1102292067484759 0.4497303455981665 -0.1864022569258251 -0.00101481662550266 -0.06906614253853006 0.46615651527702 -1.487602373082292 0.6341997518349695 0.4130009146750784 -0.6598020457927022 0.5105936711731299 0.5960359086187179 0.3361949313682983 0.1175575035627699 0.8058051369758625 -0.4241114044459876 -0.1913215026066234 -0.4713176338821828 0.6082997991876778 -1.062210454570526 0.7929900162990081 0.02420061806457349 -0.02495958247407059 0.4121827539098046 0.2526012546902072 0.16152016712267 0.0965420960132264 -0.7201219922344387 0.5395177414396494 0.2305901980570154 0.1225877751877519 -0.1638584175452464 0.6252103243489726 -0.2661220828325707 0.4297208638836682 -0.6458302984225174 0.09726200125589217 -0.3196115778032128 0.0002763055390114722 1.679950216911869 0.2750907774172897 -0.8918952184560833 0.8950401111113745 0.4873004764860125 -0.2458394943312556 0.7307277372700737 0.005948771662914061 -0.7227899476141171 -0.7758784924667567 0.5156903444460954 0.1669680250660162 -0.0757721510903001 0.2162701213186444 -1.655040668005535 0.5923343740133912 -0.2654586339277387 -0.168130084392566 -0.9435579235911066 0.1347925400032486 1.58124548849573 0.6238974479956297 0.2684232995201893 -0.9907907298041172 -0.2196418020621091 0.1437264811350323 0.1500257233599671 0.3033515428619354 -1.45209534534061 -0.1123485956627758 1.237265197660951 0.08834422942048774 0.7835177952696843 0.04939885278409114 -0.5588500424861526 0.3409473844516927 -0.4647621975617008 -0.07403579079848778 -0.5585953552231806 0.2959965708221307 -0.2347692965655649 0.5057534240251829 -0.0267162329524539 0.1882100866079174 0.8860074837012096 1.421167323055851 0.07413816019920555 -0.2241199514412159 -0.03688103000161414 0.3538371897962113 0.02477921834161539 -0.2813896724204506 -0.7581273228816159 0.8175292819904389 -0.1081982749772444 -0.6223022692506798 0.7090532551032259 -0.6281699913096075 -0.3577750586129308 -0.5011697815754744 -0.8626791508851257 -0.09068939232432444 -0.1999791691231906 -0.3459364147386615 -0.3026569946018682 -1.003344006578788 1.244232033278074 -0.1281035421293966 0.1715402286295886 -0.6634128233345998 -0.4486803496993013 -0.3068815043312297 0.5112109684098516 -0.03918295494882653 0.3675782394213256 -0.1737988252097745 1.141045633521716 -0.1339595009513182 -0.07860672272307753 -0.08583114343651391 -0.2160446724182251 -0.951487984095303 0.198701096331034 -0.6408084509208497 -0.1592241915082242 -0.3874455450593522 -1.884785340815292 -1.000290191097162 -0.02493028808646765 -0.08132932560236829 -0.1203590705535908 -0.3373955490692263 0.1939973744412641 -0.002525271939069767 0.3496306135323633 -0.3222402913344519 1.000041679937177 0.3734006923621598 -0.09960482067626043 -0.1519307103770028 -0.8238191012543646 1.598200427380403 0.5736446110657335 -0.05998475043715762 -0.9444694119106646 0.1931269347723622 -0.8128137592832797 0.8548521934952837 2.59186163309537 0.4599316822715867 0.01031627623945562 0.4109614886897093 0.2099396986479949 -1.420630351985775 -0.4136385351241438 -0.3059798957076868 0.1366445434384799 -0.187850593567269 1.416886350957008 0.4051194951130963 0.002497984445752739 0.4259496191848455 -0.6427789298939053 0.1874207816874595 0.133185035498122 0.1833519302375172 0.8515281739582367 0.09118325514462636 0.1506298384217834 0.2261037812559011 -0.6865768614070983 -0.3835112292299396 0.7634306539066563 -0.8966474133141065 1.120565326928236 0.04003657204813953 0.00473358540688707 -1.402597262678321 -0.2156612804401824 0.1394158411778253 -1.05689314171125 0.1519729375780535 0.1117186540335817 0.03677852558491646 0.7424355373349181 0.03273166656690291 0.8272327648821557 -0.8046551879166508 -1.168994273350981 0.6672946843495745 0.789712408275501 -0.5109950076259087 0.6027746588738609 0.01744177544153935 -0.1072582289672596 0.737608005933137 0.01663117699685455 -0.1239494931429751 1.387725117352919 -0.02066920755788441 1.126596535896592 0.4396025176505544 -0.4006802981758949 0.01100774618501113 0.2708983323383484 -0.6978530315339463 0.02198791345967661 0.7123152081003701 -0.1135483127364225 -0.1178146211584112 -1.716247267976691 0.9737158670135282 0.3218467163514339 0.251328101041858 0.05640002770018281 0.005824433772012551 -0.6619256859762835 -0.2647783342690248 -0.8328514571613685 -0.002813202704019496 0.08175949614158289 -0.2976896370678483 -1.123854195454076 -0.02004882521572625 0.6899320094959465 0.2024156189413212 1.33568420215359 0.115030369882029 -0.08981783728467085 0.02691547715834663 -0.7864709986037527 -0.145464240795206 -0.8731161290664001 -0.2951593693482631 -0.1934166812912502 -0.4191415849735661 0.4830132572914113 -0.3479386441268509 -2.061544589300857 -0.3404492142865419 -0.3244495755377175 0.2572727917840308 -0.4448940749366413 0.2343808077571045 -0.345267727829537 -0.1537986338040269 -0.3647933779657968 0.26410817897629 0.1460248791239916 -0.1259982869479526 -0.6531194536945816 0.5820306656560269 -0.7739512744888296 -0.1510449581417067 -0.5252419401868823 0.33001251417991 0.1004208420256041 0.4216280776745202 -0.3543282297363116 0.3222408489951198 0.2301538882389165 -0.1619257549653073 -0.003506895175510782 -0.05991487035911745 -0.3169633626175867 0.235792499579656 -0.03664664475146186 -0.5720013011249029 0.3108296946944868 -0.1403120487324803 -0.943276318444116 0.5320281031459035 1.32200333677114 0.09939521514555211 0.4396879122737355 0.1189871144945125 0.3290235635923598 0.1632598568967722 0.6157795052101831 0.6505288701200486 0.06979831727272409 0.4299631522893891 1.041992576328254 -0.1108636152876318 0.2157712007682243 0.6144997766365893 0.1517162166704032 -0.1385450878646245 0.3471538738281718 1.00168020484813 0.2479749654756106 -0.7998759471144316 -0.819097293518907 0.0999233569508339 0.4072619949847156 -0.0003392241200183442 -0.5946443921298947 0.2672462146485834 0.1479744234798711 0.03934085628843426 -0.2808868677212592 -0.7408226924357467 0.8983796709771823 -0.2389173531072386 -0.1853648642154946 -0.002534446083546463 1.818999031060758 -0.3303279190081547 0.07341995892450742 -0.9150488765591358 -0.8732071271341213 0.09039474668268592 -0.421444827746244 0.1520606273476824 0.3673837720534851 -0.2376110943665292 0.1541826928812841 0.3831864240722746 -0.6480432597109699 0.1343998119367595 0.1669463696522397 1.039749483549802 0.8296498649150978 0.412144476328513 -0.3370390854054173 0.03827881735753187 0.4236201103263084 -0.1499189125562075 -1.195865496767413 -0.1512066058602085 -0.1362294978338154 -0.7191913112899452 -0.2350538475034741 0.8862361579080913 -0.192187786372974 0.4450390307152975 -0.5671059910192044 -0.6935045857222254 -0.1456583002067746 -0.1712626815928119 -0.2959250256212089 -1.018314349079322 1.969632453379005 0.3355628405198486 -0.7360625909380775 0.7939021608056753 -0.6100794645303738 -0.2942787573052572 0.007027670065857531 -0.4048169652636854 0.3429151539821106 0.002507745298031864 -1.254455435205411 0.1274192560317723 1.082659146990285 0.1484947617217334 0.140596767273752 0.2623524354897511 -1.281951891015592 0.1031409682628098 -0.2187594883020849 -0.2845259838258591 -0.5897279427558686 0.0849170040183841 -0.5556175301070368 -0.5208145705665591 -0.6790084724242919 0.02859804962091327 -0.2429110097722918 -0.04109342469016667 1.414061079403976 0.1678754439774486 0.719486333390423 0.2584831025684354 -0.3017621486686917 0.3729502475861523 0.6855161199447865 -0.3563583036360338 1.307301911565755 -0.5944223436455761 -0.2179958421414203 -0.324909773079386 -1.774710813613923 0.5743956888206565 -0.05695672964390795 0.9611239591143723 -0.6059022331814058 -0.2278690827238933 -0.4672653073516589 -0.1364500266175112 0.41235705147061 -0.01112373374235996 0.8610370042213499 -0.3655009560712347 -0.4763924759191806 0.1715785626481383 -0.5119325275200763 -0.6506848404868997 0.09255082516575054 -0.1779374056253213 -0.8815748996503439 -0.8789747864502027 -0.0006496492855824872 0.4277236278170667 -0.2078331552668457 -0.7269837156458031 1.201536037369149 -0.1007295723032984 1.435028703823295 -0.08536381660449037 0.2198389816438653 0.3845028943805419 1.236818497835081 0.5760324052305704 0.3212038914660809 -0.06652187633756149 -0.091941331606332 -1.232711587721848 0.1809408673858157 0.1608209260204964 -0.3370786910832596 -0.121875972267817 0.3556673074402425 0.1588663798707015 -0.4478213753878629 0.7075103626351392 -0.09644353395791593 0.8314940420360354 0.008779477161411784 0.09013907760801011 1.195916856241878 -0.2047871944707306 0.7718491254961921 -0.8151153225743552 0.01119170817455084 -0.7331391373931998 -0.9493045793931766 -0.1873195385372991 -0.5021069242853053 0.2712314166571569 0.3236961147691059 0.1420324926487686 0.04207259399396211 -0.3957941051719843 0.4246077906186109 1.383225135904721 0.1563997648999052 -0.8255961596178426 1.133662893167155 -0.3326902135162205 0.2546601961344192 0.06025192508242912 1.089699983724364 -0.1001796826947937 1.041028732501241 -0.1358585905236784 0.0256747169041144 1.003396000039041 -0.07630750515357522 -0.3227206845285003 -0.3509465069935052 0.7224335625388868 0.1722545709861693 0.1521226986369548 -0.6184634853290496 -0.1546168608693929 -0.5315988762171456 -0.2933796675249613 0.1877840241452406 -0.5543554273738326 1.041241604231758 -0.4229445782654929 -0.3931987196503064 -0.7302044244427167 -0.3821362450709653 -0.2636603216372467 -1.033158467777785 -0.02767685744011817 -0.25772699466521 0.1885234785563761 -2.111295936376217 0.3015244409762288 0.8863134134559143 -0.2224612663320115 -0.6221782971183218 0.2136863435814897 -0.2300231777597974 -0.5554200986405101 -0.754723256781907 -0.282505453758976 0.6012870983759537 -0.1311152306555801 0.2430163155335068 -0.1343984506469212 0.1459977970284133 0.4320278018301428 -1.057544937717356 -0.2737848431788179 -0.4419077817851064 0.3889005116366046 0.3220365269770049 0.1899585080560776 0.606243056146458 -0.2101404404139552 0.4001191696839465 1.094416241373752 -1.094897437251231 0.04088656908019603 1.455627037670297 -0.02525873944396259 -1.94610043486429 -0.2036022370172929 -0.4585502095946168 0.6622500558137892 -0.06946496015874572 0.01133584678608191 -1.122119310719421 0.05599790076317906 -0.7067747339177837 -0.2014612307701258 0.008912775858438067 0.237058629064461 0.008082917454020507 0.001297614770411567 0.4272189962735408 0.07517526336243643 -1.134070334588732 0.2103968675475877 0.7548984389603933 0.2528600654526068 0.3917227351310513 -0.8655320929909555 1.285326311580818 0.5049177320692189 0.4939130785516044 0.2080232478953865 -1.196024399304485 0.1152682352918627 0.07789805017230175 0.3451795238228622 1.333322956405722 1.219105188316316 0.3274590058023333 0.1785527669271603 -0.6411638603376192 0.1916791965603248 -0.1115147041908446 -0.07747738072163408 0.7824075873623372 -0.07121109236518294 -0.5691915984371075 -0.09890327907612541 0.03670971930020345 0.3407833711496354 0.0107511493158592 -0.5685312293253391 0.42142258695961 -0.2084102711692885 0.9219013451256474 -0.04693157436094569 -0.05505853279606004 -0.5021289583426706 0.8441986679919754 0.003486724194542651 1.084535184364623 -0.6136512554540888 0.1375721691575023 0.7447637659492768 -0.7991200534255365 0.04657958368690783 -0.1760037140172312 0.4226483343478031 0.2700810563898001 0.5600458576066042 -0.2205471883314482 -0.185376090254006 -0.5578496378452452 -0.5042320137344957 -0.8217966941093969 0.06387174219898152 -0.1679870813427652 0.06563918576810417 0.07394514242820983 1.418231433322072 -0.0390310377596586 -0.5805851310976128 0.4399019446858137 -0.1462300581651734 0.07360692897950132 -0.2724084923447467 -1.421369213112168 0.1447397339056776 -1.624521185816027 0.2456095184787148 0.6075500258514702 1.191214745221447 -0.2995579962275117 -0.1152913989412188 0.1111316568545618 -0.08968752016307037 0.6601792536137685 0.7335165806565642 -0.128511374060324 -0.1665488286707888 0.765959473782897 -0.182266938783294 -0.01709167573758251 -0.441588146589042 1.037691625448632 -0.09142880944667342 -1.847819167856952 0.1354788754114909 -0.2336991887106228 0.285388834848371 -0.04450465770376192 -0.2091344932312914 0.0884144482212731 -0.6037356925456905 -2.838932332686426 -0.2312747623274896 0.2989182921966181 -0.5796354374697815 -0.8534046075884679 0.1818977580405199 -0.2453725537779961 -0.3362311518181335 -0.2378340385125644 -0.03644420294063112 1.19064906177733 -0.1534121938015582 0.3921891664798499 -0.472996925711644 0.1111402127239705 -0.142006278937151 0.2040302933039898 -0.00155289893338725 0.2121863635695576 -0.432830339315793 -0.5442658690966767 -0.142595252732175 0.5023144777521987 -0.7135389248882553 -0.3755955785238454 -0.4155730698923037 -0.001186533856864449 0.2270865894316061 1.050006501277165 -0.10199910355184 1.370636492409028 0.008718308668292004 -0.07174900250879113 0.3962275728790977 0.5716376601733987 0.08756152634101419 0.3347667348167879 -0.1172036375132609 0.9515821065259108 1.061852061499993 0.3855195271598433 0.07585357699505543 0.5645423352297968 0.03224904292149081 -0.5400026331341994 0.116630662342887 -1.310431310519103 -0.8550583021390643 0.6077882656230461 0.01194391880193288 -0.09249817891241226 -0.5611943166053405 1.470475306928198 -0.02177834271291261 0.7274146874652894 -0.8402445557693606 0.6243644111986276 0.7469569793147154 -0.1503774875525681 -0.04675512152989691 -0.4607328536794735 -0.3334264922703002 0.4707134515165994 0.3858206717747404 0.2310417185478597 0.02583953164565494 -1.50484481220823 -0.2611860195173745 0.6022784019574153 0.1217782550567994 -0.586053846885111 0.05179184040771295 0.1042455746957603 -0.7410693721284773 0.007505397742046301 0.65757629161817 -0.3493395671870463 0.269539722166355 -0.05262469234213353 -0.01553910800205474 1.208366558604375 0.4565165864848975 -0.3950148323609133 -0.4258800217380336 -0.721753457823338 -0.3092881615895409 0.0204382373110636 -0.9276333724927743 0.7594098624504684 -0.1977671938115179 0.2105812218100815 -0.05104853928017232 -0.1453316574496517 0.4888815679901089 -0.4531219814840146 0.398752021823901 -1.192860721925836 -0.3883016342159005 1.014314067798509 0.2221737524154634 1.17948327259053 -0.1441329072392275 0.8750181193818759 0.284574595391218 0.3660013175604081 -0.3374258301119335 0.8310313295984753 1.006104172556187 0.9408849405679834 0.00112622630383386 -0.1629314432198309 -0.0129741585594467 -1.798714932525088 -0.08518679799907906 1.166736590047454 -1.501947221535718 0.02768657657440944 0.007408356397144369 -0.7319440495233311 0.3500329052476361 -0.2169428875542591 -0.06370722124946486 0.1824512583726979 -0.1415557560487963 -1.343581591076385 -0.2783505911593902 -0.3183680515195855 -0.3901697220884752 0.5437109236523344 1.000476381837631 -0.8297919736901312 -0.1984671243176417 -0.2668682584140213 0.1370215962804411 -0.02322812838803498 -0.8634575624575952 -0.1803236024731526 0.138320654620943 -0.976254896527906 0.4189257239663207 -0.4756802135171239 -0.1782415561119232 -0.9097673347817783 0.3283840546516324 -1.250381669494684 -0.1652026631009129 0.08591848932645424 -0.001878023642747715 0.4500756221743339 -0.1532291104804115 -0.3909569297902541 0.6204072742679843 -0.2009662257905798 0.7633244178399086 -0.1885085586712366 0.09859750882326296 0.1416624158314269 -0.6911997952327142 -0.09440578072823343 -0.2968740201051301 -0.02549383401366196 0.3799382714958257 -0.06197652856213923 0.6824724013026066 0.231589666443172 0.05878909420539587 0.3707447317608235 -0.4685765214371305 -0.0948341680277508 0.124319587543236 -0.5275144245646168 1.374479902035368 0.9747845068457566 0.1847566153870266 -0.5096041164449597 0.4537329277280147 -0.1714675586327825 0.08503106718898985 -0.5585277523474075 0.7255247577114518 -0.7279246384753681 0.3835367785199609 -0.2141591982598468 -0.08862732271301108 1.035102237587579 -0.5390950621455588 0.492710668789356 -0.2130281212338537 0.7249491954095192 0.01905403305292664 -0.5224492034555099 0.4531908578039885 1.105081900841674 0.2040479101701469 -0.2274010642349008 0.2716994776635231 0.5498258421450033 -0.1832213825386332 0.9424033691030441 -0.1079827845732683 -0.4881446437845504 -0.1116269122375312 1.377898201857316 -0.009250373165921297 -1.301429179793009 -0.4467436333476476 0.6184955342140107 1.234301691697172 -0.1352480308201307 -0.1410677093529478 -1.465878553251161 0.2241845799495645 -0.1588303995967818 -0.552729779286727 0.05942255567433385 0.860255238483517 0.8579974888658223 0.3117645608024271 -0.3520929942160024 -0.003161548837359273 -0.1841036232665042 -0.2520349210464907 -0.1651381302211339 0.9016516760103943 -1.053762279464453 0.3098192592328339 -0.1422511162954186 0.1234712579086544 1.138203319563988 0.9449372145014011 0.3218277720705036 -0.01217155805948089 0.4333273399099342 -0.08326643931972491 -1.07913935895582 -1.772793304571154 -0.7037128774873773 -0.6817773409086006 -0.1290251781138168 -0.1119102711803162 0.59720513767228 -0.243611187271814 -1.134154955239406 -1.068349424155671 0.6943212878040187 -0.04994032308861056 0.004627890405507379 -0.7016569359583437 -0.4848804377609875 -0.2275806102113133 1.147921444893848 -0.06303142397222387 -1.095692865942333 -0.3703687611687398 -0.430056516778449 -0.231030840065345 0.4627558492615637 -0.2614148291099641 1.474538986177463 0.4118778628534766 -0.2873483819592292 -0.3067031129225746 -0.01237510510450703 0.4031598312676066 -0.7305155469742068 -0.3394144131119221 -0.1591792393600928 0.05111535691045901 -0.0009189091506347797 0.1670208522281008 -0.6768420627423125 -0.7952780882771013 0.3007866392503448 0.5857328789393038 0.4363871185428655 -0.362052513697819 -0.142529907172143 -0.7539479824852489 -0.5620493151245795 0.360909029587182 0.9812424219945926 0.1151807651680503 0.4134237268330589 -0.2927829663862919 0.01765200521018026 -0.4877804858460751 0.6079562447519496 -0.7522160605254292 0.3314119059587345 0.01378296237022472 0.4203817555447754 0.3891114138105849 -0.4801219966477091 0.6019112037887322 1.518631327333041 -0.04597222537072074 0.01523411290541809 0.00776603246911917 -1.323314193991274 0.2893171396258816 0.3704972948936411 0.3135645774472606 0.2233908336951176 -0.5058808328929992 0.6841137808025731 -0.09456388508709673 -1.047581846759816 0.4233204984371566 0.5473128840519846 -0.2116761568597271 0.3283018311272603 0.179940854672476 1.559100869984886 -0.1939035484127098 -0.9490631875032153 0.1676118905263871 0.391364069070193 -0.09123921388983877 0.2919130366232868 -0.3356545672014976 -0.006627466622074888 0.3135547801801224 -0.3965212157564138 0.3376270325989149 -0.4616781539214044 0.3763181822947272 -0.5651301585050557 0.7783670634487252 -1.009180965007693 0.5128381615407229 -0.3719921637315896 0.2313176645328558 0.6413155948779194 0.3059097000103056 0.5601498223916382 -0.03513056885531905 -0.8285707238139002 0.0964215305013038 -0.1357401947276032 -1.680893165278874 1.147778497899113 0.07675076474589938 1.404194037624811 0.1655623762586541 0.1026057019480547 0.0517673082951399 0.3000450398831423 -0.2340561170784963 0.5091338811610935 0.04582476173949805 -0.01076896507812002 -0.5029650621640371 1.792693121381299 0.2534454791428014 -1.806826611322044 1.154062417242093 0.3205586352758509 0.08422821804305267 -0.123357918020546 0.1230609984782437 -1.558428317048516 -0.5467360672310094 -0.6486402055891414 -1.097071143160699 -0.2578285092122088 0.1266328794690042 -0.3666691998879522 -0.6921008900532295 0.3461795990342384 0.1966356313388005 -0.7753141933895812 0.3679996987350635 -0.1807169910286092 0.0445171088972135 0.6856500182702359 0.01132518159838975 0.7608964095604287 0.05399765724373435 -0.1795803688263894 0.1102697361889572 -0.6196406488811542 -0.5157656200010987 -1.278477901717511 0.115517653588905 1.279626490649838 -0.478711591409019 -0.08753298732460546 -0.6422024964332679 -0.5171877837745508 -0.0003349559261480003 0.3425281914848738 0.6160126309199196 -0.3828403152466239 0.006887137340614936 0.5111743234559128 -0.2343517093017402 -0.3976773480026478 0.5793089574632855 0.5277366877401009 0.8608095122168921 0.2847560515282605 -0.03252103118264078 -0.4875054456276956 -1.649097114906017 -1.836765804989519 0.294242555603539 -0.02519619472574839 0.02681046727793024 -0.102538700589046 0.02496185597432355 0.2751064578335627 0.160834189358943 0.271857633743092 0.05767486110166601 -0.1638028120895317 -0.1349850567501776 -0.278487581922589 -0.0304443191354282 0.01515543769197702 -0.2673962255693853 1.462177686900306 -0.08174523044374184 0.5224941205712473 0.5828214685102303 -0.6641366672584428 -0.2293876773674093 0.3832974002544925 0.02526748468683351 -0.05717791451667599 0.3865011223882918 0.2647464745720092 -0.1618709069277586 -0.2093306216408814 0.5838205844676529 -0.3201074214322859 0.08946239195446087 0.5631238457671536 -0.06028793300901303 -0.5945658029440397 0.5251417772620651 0.3694938358716569 -0.7817137768082076 -0.3142354724924664 -0.03735769617612024 -0.1134857858510756 0.3405191490296935 0.6091980077477304 0.4374416924210499 -0.01778766828527995 -0.2884163647600868 0.4080008626774873 0.174948738594578 0.2210517478392196 -0.2414126456249679 -1.545281104443296 0.303919436410303 -0.4955900076352989 0.3354958287713832 0.334851887405415 1.243811565903771 -0.3699571973392014 -0.001682699390540108 0.5213778094106725 -0.2440652053552566 -0.5790009423589887 0.7841880214326867 -0.5512025684281241 0.9797555681241189 0.03196049527781122 0.2970437645196764 0.4545616175679552 0.3284825754949269 -0.4135637009157586 -0.5516186156714383 0.06337861269604435 0.277120194560086 0.1754124158292232 0.09142909519402675 0.4766265159986556 -0.4581650845104939 0.4673918797597401 -0.0182970404292158 1.018254587284099 -0.07749843865461119 -0.1307491760816166 0.5066729723931299 0.1278051585546083 -0.361446444310529 0.06666779412392802 -0.03430538904039538 0.6844009248934722 -0.1220123989281627 -0.766850498049837 -0.02753073421958988 0.9928428181843105 -0.718734966625631 -0.8423278900641327 -0.1943542974869872 -0.9236531291727883 0.7173671467097256 0.06006609101880712 0.3033333943024396 -0.5188621039890593 -0.5930576876415131 0.01265739760740149 -0.1702419430261158 -0.3863052873177728 -0.3178093188425602 -1.15234407234347 -0.0668640870201648 0.001703850407272178 -0.1745989924554363 -0.1755784508635209 0.2726758565689315 0.2657744149693365 0.6974386246430399 -0.6912931140231995 -0.6198795861941029 0.5374390868964972 0.3293506971624607 -1.623465846451682 -0.2776511974100812 0.3683062614036168 -0.3738011649573421 0.07570035661913439 -0.4790262263903436 -0.04852272948508223 -0.2740980210786577 0.5409491784866142 0.4075347236162677 -0.3627437466437129 0.3972828816011895 -1.587936620585268 -0.07682233827354937 -0.1628977706270097 -1.228664393006813 0.254054358013463 -0.3754958885819803 -0.9190132148522314 -0.005389585237224763 0.3578298076708831 0.4199806110026832 -0.1308358600647793 -1.032333252901953 0.3454737279553525 0.2302611803515585 1.347715447640915 0.01389714227704511 0.4036274044776335 0.1854081016752651 0.8342193168643832 -0.2130572349120413 -0.3835292996096374 -0.7295149869829664 -0.01864816086826991 -0.4052717049695724 -1.030015518898983 0.5945584150795908 1.270099150155952 1.080075404272442 0.769598256115158 -0.002529724572569204 1.879985392549137 -0.2328806948859794 2.383849532821822 -0.2164623426892767 0.20153740722824 0.04145533191827008 -0.4275494951231131 -0.3273962139432369 -0.5592153381333437 -0.1819064388854432 0.6212709188557088 0.4467667836801273 1.642169093428519 0.2432302202127511 0.2216849272895858 -0.6253551583113349 -0.08148481183065515 0.1596581906171259 0.7516012491362506 -0.04006000715493843 0.2624570757658581 0.5728224722620501 -0.9658459458068186 0.07860097505822913 -0.1048216190896333 -0.2747130574829022 -0.637942504826586 -0.1517215510191097 -0.01521271314169716 -0.3054417339903853 -0.8894220733779664 -0.9755985058726073 -0.42086836737345 0.666679567671992 -0.214515798533682 -0.4597360739227331 -0.6099695485523957 0.1150243231727777 -0.3076563899957999 0.1717910491398115 -0.3064483967721136 0.07574025622934293 0.2531031238177125 0.3576987374191787 -0.1349082017327629 -0.07536567529480712 0.9135059434596873 -0.1796547977034008 0.2916195596210815 -0.6908213363228843 0.3574396674686685 0.5357523954110439 1.048456191979681 -0.4785369055298123 0.1994267609117091 0.01710574236224937 0.2922556360860007 0.6582843172268398 0.05246201224462085 0.03341624093415049 -0.3975800746894051 -0.4149759362606529 0.1477896272836526 0.220005759432672 -0.3601855804507243 0.08757111389894053 0.778361126619011 -0.5246072224445909 -0.03751045177409437 0.0003267372749188547 -0.7155530835526803 -0.006506639571008527 -0.4691167430234703 0.03408476880429935 -1.165184162256646 -0.2842505163146242 0.2701750898559166 -0.6323585077753104 0.8116189911132563 -0.07208983806755898 -0.8468544310035723 0.09581858347015119 -0.9690776221428276 -0.2122207713898062 -0.4461787326302987 0.777272648335491 -0.2177061333422076 -0.5455874477419043 -0.2239269112383635 -0.1138685118427996 0.5230592990071554 -0.4236771976668342 0.06789062255450501 0.7989539272325371 0.222465131462054 -0.09855658243091117 -0.04143999262991732 -0.1590359879689341 -0.381427245631937 0.369838168182697 -0.02981865972743941 -0.4892132529015199 -0.5910767470603342 0.0853460629126636 0.1744103350516697 0.3923535927636952 -0.5566207074968295 -0.08941831505590984 -0.4785041551563995 -0.1628010509495246 1.882505471888582 0.2584765123180185 -0.5008449346088369 1.334634007692578 -0.01711402207502205 0.3902738089128008 -1.444322853578496 -0.1253606517310526 -0.1282007325401018 0.3007574209406618 0.2774550919078328 -0.6282275009759319 -0.3425567151130129 0.3990786582796989 -0.7947994731427437 -0.3327493726178054 -0.8474466692157168 0.1841147807679169 -0.3730572500375164 1.131365786043627 0.5115878337715988 0.4073781845971451 1.42548866422454 0.08495583644771415 0.466936315596553 0.7709540670367302 0.1090885740858215 -0.2986969142844326 -0.1384692414456311 0.1400472160426189 0.0744808656621971 1.269158791852766 -0.195235489369865 0.3456979403188708 -0.2346818305770269 0.07989080913498066 -0.1918645686190289 -0.5242338992294412 0.2242765066029733 0.1296222712450159 -0.773407148921302 0.2307625221011919 -1.675923424107543 -0.3234773125039758 0.04682049834672161 -0.326361622778312 0.2843593386648021 -0.008198562452898385 -0.3920786169691837 0.2262569224345937 0.1147476807609498 -0.6618873318837286 0.8847943804119894 0.6147352079885359 0.7830820644019977 -0.7822369286051875 1.667476654000402 0.05569325360770407 1.068655242347546 0.06273219585764422 1.485556838754555 0.0395828394027824 -0.1541577705115944 0.008820046473780048 0.09468206870735418 -0.4138685120695109 -0.270590773843526 -0.4967121269308726 -0.02755461358625124 -0.09189283778512745 -0.3700240468387079 0.429343067785247 -1.344943047481242 -0.6320092614079705 -0.4266125335428963 0.1857570022327589 0.7047360381843844 0.1831405259022089 0.06392121873372583 0.5643632862451435 0.001787343945073851 0.8296104753354429 0.3715582425573253 -1.24855084773527 -0.5509643364551527 -0.06322896294251273 -0.1633663670679095 0.697433162069389 -0.6297619030701023 -0.2086354095040528 -0.01881562335077592 0.208925431643002 -0.03782691133308 0.09729688180640188 0.4075224929928499 0.5315889435328157 -0.4826152078175149 -0.1727130721924131 -0.9332621473027386 -0.2501879817245405 -0.3806871669990638 -0.0121339188747893 -0.9350812956696568 -0.8524192886487746 0.6839272292688012 -0.7442517165900746 -0.4717331116992144 -0.08926194173154947 0.1333628685654175 0.08547818131434937 -0.0593355048588918 0.3545864527837359 -0.07534597472201514 -0.0516951095018082 0.3548415565249149 0.4904298644276192 0.2425971417337746 -0.8318350485851728 -1.952368608464533 -0.2378558987683859 0.2275222416115864 0.4388649595734886 0.2202037063443237 -0.4185873362572349 0.6725014244998047 -0.5462914115862397 0.1260764674743805 -0.1996301438786171 -0.4464255216355534 0.4026905986894745 -0.01180381865320772 -0.1092725767653056 0.503333051126816 0.00155880282898065 0.03795893468385299 0.6136959346062971 -0.455401045287416 0.7624397226980171 0.6108778290034574 -0.4455535105206919 0.02195768623607663 0.05254173988607497 0.5577683279959798 -0.200430736191738 0.5535725695068692 -0.08052870463446866 0.2993883851444746 -1.228021350851745 0.4530841347898801 -0.2167233582881968 -0.1152933645979235 -0.2961527609916024 0.4348172559805611 -0.16248258380198 -0.5194579521000802 -0.06706552444611072 0.8804961341845029 -0.2177733577712692 -0.4806960516192743 0.8170433448954669 0.7553496750841212 0.2043437413750454 0.1739752531218532 -1.508697220607565 0.4793574214285738 -0.9418351874408885 0.3744605900854586 0.3096268663447445 0.2179052601937617 0.1937842227299141 0.03333571340693655 1.086338041678221 0.5021297138075101 0.5612638194408482 0.09763405233637663 -0.7832059022233518 0.003956360993792756 0.126708175730282 1.150300203027195 -0.1629394154184016 1.045511917738445 0.3258017335043932 0.1269855934656096 0.312313632912153 -0.1985320146550574 0.5626841515992881 0.428025915794396 -0.1181914798009396 -0.5018149388543007 0.3346528498339766 -0.3356712846859461 0.01999421605438538 0.4271586770169501 -0.1063535449035399 0.387949275651482 -0.3914411107950131 -0.69405867692713 -0.1064981542939212 0.115331789886952 -0.197249227163203 0.3167276553144183 -0.0005965716969287769 -0.2379504625784523 -0.4243286302474114 0.1991619749446587 -0.3760259740560964 -1.071058119379758 -0.8774930488054173 0.4320546724480669 0.1849144425917697 1.353539422560125 -0.1099826289158668 0.6343865525374516 0.5777925032212121 -0.2604036754184476 -0.336884808811278 -0.1974677300553621 0.6328729014607514 -0.364012501565008 0.002183464063540214 -3.149109162242078 -0.5723227914072523 -0.1102729621170137 0.5125416772667291 0.05926740350537203 -0.07020301579733434 1.180840436584833 0.3462995438362434 -1.242063061421615 -0.2529416503088359 -0.5860676551277159 -0.2728439844576717 -0.6208821670406535 0.2680648318229803 -1.294901091408814 0.3514610475340197 0.4564553250482136 -0.3296268352309272 -1.86761366591449 0.04652141329715809 -0.2806777694605146 -0.3381064408067684 -0.9754939952906349 1.008399682861772 -0.1181490379157741 0.6064611219986445 -0.1414599168200713 0.05613011778649776 0.9111240430205746 -0.7021913206732124 1.087481850452247 0.196536760995526 -0.004508772113134715 0.1950134174796244 -0.6363325214727168 0.2324449564574937 0.8667019716183275 -0.3048083406870391 -0.042745123871509 -0.1464617832806789 -0.005887662023089691 -0.3838546143895603 0.01141457248656173 0.8779649629981445 -0.04516544205050867 0.7151253648327373 0.7487153658700941 0.8901574477782626 -2.383973064317625 0.2017853588478008 -0.2959971791059353 0.1063147601175951 0.6534671635713327 -1.014456677887839 0.3569307115713959 1.02847425946169 1.361022873833984 -0.2712793742766426 -0.01461104195630572 -0.3819407094106085 0.2619015501031532 0.06739986123331737 0.5771769308319625 0.08302667423929598 0.329239160154091 0.2231585164634232 -0.0491215232294103 0.04282653332545402 -0.2660033857918541 -0.4036951476381132 -0.4904129553872403 0.7587179797369084 0.6289363578742858 -0.2920353273339857 0.3464462652517201 0.002965463044281759 -0.2362756216316103 -0.06772130200276992 0.5556237723923785 -0.5908061345272443 -1.660879922011008 0.3009216838903331 0.2815402887840227 1.0396701420808 0.6252628269713656 -0.007902467649169546 0.6116858533293992 -0.3114532063694364 -0.3290026947351165 -0.05884249930686457 -0.8328147377455287 -0.6160152150758088 0.6451841990033599 -0.4252838014565047 0.1248677865508836 0.2429527921269879 -0.207588898592844 -0.3028264362859773 -0.02902572841198958 -0.1750176775101913 0.0689612347730493 0.2463056900662294 0.4311836025336859 0.3943170001945883 0.2889493589849454 0.06959902133510881 -0.3616997066686433 -0.5150145864026532 -0.5742081401300374 0.1253865667644969 0.2345716437090113 1.629845398060543 0.1151608840425674 -0.8289511696307506 1.266264991305798 0.08596068472044069 -1.231069294516507 -0.1908082684491356 0.2974569069300325 0.1986879893228196 0.1017402760493416 0.1212281994439616 -1.430451865203584 -0.4881810076929061 -0.1262596994078612 0.7349724794599434 1.045381725363398 -0.003416525168650466 -0.002541640107791095 -0.01772713658890676 -0.1435831995230962 0.5057924393091429 0.765290163001585 -0.01750396328764903 0.5352407450626806 -0.630051959368816 -0.8627298277502784 0.1785280922161319 0.5777878277459869 -0.116476656239424 -1.432442274765669 0.1606964412290935 -0.4554114642395216 -0.04920766710650778 -0.1262805212497277 -0.2575070132673015 -0.8081784049889341 -0.9299119818093342 0.8733039586488339 -0.4600155040888503 0.4990690300496735 0.01071674103500227 -0.2278774819560696 0.4534066648673055 0.08473447734191511 -0.1557925051654275 -1.138224049962395 0.3780408339557039 -0.1862775939382526 0.0203071379051467 -0.1071932446582555 -0.3766135591657511 0.606555556841732 -0.5742967419391886 -0.356796703721234 -0.3730884702322048 -0.005523442604797404 -0.6455892628558667 1.368375969955784 0.344026214091952 -1.048350426770787 0.009881723237634909 -0.7306618092389467 -0.01946807695059777 -1.026439716436274 0.2366419813814055 -1.152233968077945 -0.02893343567874448 0.05247948343942031 -0.6930057703159103 0.1277809355415731 -0.09263454393258183 0.5993424379969495 -0.1984719045042303 0.4311132379635368 0.7125922600460259 1.516727658359685 -0.160655721201968 0.6282418187438149 0.2706541981425196 0.2343502710461527 -0.02530910597632145 1.088731831972115 0.1220499658960481 -0.3820623668938112 0.1287584469323648 -0.7590418568016524 0.6728942024451701 0.3712375491243863 -0.3313202723452183 1.387372994315141 -0.0868925227828142 -0.5640462684685049 0.8809119004511872 -0.07399129595296644 0.2393156098992194 1.56144422169368 -1.201552362227665 -0.3608965141508417 -0.03338145587329671 -0.05890462854763516 0.4055752965838827 0.4148261543715874 0.5719197753741467 -0.0006515982345026958 -0.3336423252607337 -1.59653400571522 -0.3099575862304769 1.55478093409288 -0.3003608001747386 0.282541451243954 0.1259268899299485 -0.5319750322180856 -0.0002637027729776058 0.255870129845968 0.5260852437646313 -0.2845905577284985 -0.08067907722487083 1.414683192653156 -0.06755695518975581 -1.364834608553025 -0.130900527008544 -0.3444852556363303 -0.3081611732747633 1.011977799383809 0.3521827287023821 0.3373933560996572 0.2984853131974761 -0.5819494296712173 -0.3276760736779397 -0.1515104677103223 -0.6073641781966902 1.088578577920044 -0.2926471290148219 0.2999627011757736 0.2415700341610451 -0.04894265131841301 0.2456490626385102 1.071721783320883 -0.0734230732892676 -0.1461285442275759 -1.144246937645265 -0.06050880001252945 -0.4604778936572545 -0.01168176429247622 0.3550663203850237 -0.3806560050352488 -0.00412417181313872 0.7095186305304755 0.2826793866618114 -0.2417603563844742 -0.6779403544249317 -0.08640994312682332 0.3720867967719339 0.04100323441711957 -0.08494090085407828 -1.148772464990145 -0.7619094738231684 -1.170946977486698 -0.09363069365662524 1.579641668878486 0.03057432718856882 -0.3608526713746234 -0.4300225711898576 0.5238904102572685 1.130335752839721 -1.730944232847931 -0.2717932255297927 0.05643446189298631 0.3758896507620624 -0.6917459778456015 -0.281971286998186 -0.02929332162936176 0.2438354234117636 -0.3336345545607937 0.05160073663682458 1.044763856414647 0.01162290737113587 0.1650813672349601 0.1151600134345733 -1.080643800177953 -0.4610659291641377 -0.4941993980794608 -0.03862383764565018 -1.018299994810595 -0.6222451529989962 -1.088890647778668 0.3029661157895258 0.1895173658815708 -0.05549760156526449 0.007681067614838183 -0.0051912850069046 -0.6643137493350907 -0.6805570416555019 0.3782835439891323 0.2833107893254124 -0.1649318993225913 0.5511937575858062 -0.6956852865506515 -0.8297449497963973 0.409198327717968 0.1509422438342226 0.914064703665446 -0.1249734872408845 0.09962053004624499 0.7141114659081171 0.3401913741586123 0.8546186555959601 1.519220354191961 0.008049451169153881 -0.5454747035179615 0.4825191222478505 0.9295503059971979 0.4703773442599937 -0.667375581188606 0.1353215570897487 1.067758917484229 0.6424280981138987 1.079276355654764 0.04236344686998343 -0.6761220596607465 -0.1677344935703651 0.3276501473770281 -0.1346169900971338 -0.2557529006779451 -0.4575488176148485 -0.2745619813520858 0.191169446046475 -1.439116341726959 0.9087327829579238 0.779777486873506 0.3112548027757067 0.4611314995782912 0.01143715486260446 0.001403457576447687 0.09622311127742036 -0.1982809529792981 -0.1856870100781815 -0.1040347097080185 0.1174694675619632 -1.233109693482319 0.04886050727910364 0.3789327483448121 1.062571259009173 -0.3683318779032088 0.1602066998705638 -0.3382673205558568 0.363412839835307 -0.8100297628244015 -0.05354038906654492 0.01584660252646107 -0.0003139681106760987 0.2377315198929277 0.2558007295817637 -0.6409774972541138 -0.06776330439681437 -1.776180660446915 0.7010962599139512 1.90598877861084 0.1135402242894805 0.994034657504283 -0.3413504405559848 0.1852511690762804 -0.2856677173014756 0.2228423887143939 0.7134771312386838 0.006623923194933884 1.070198472398565 -1.169626204448406 0.1925472775984836 1.531301112579421 -0.6235627710293672 -0.006747710440812767 -0.09751093114398714 -1.144932348653424 -0.1068530293191205 0.01582392477490512 -0.6735449213964355 -0.1074148609146945 -0.4707402588989625 -1.196981853751643 0.7537959865284852 -0.001514601243580797 -0.1398138521561354 0.3159318339675424 -0.3080113199717043 -0.2159399650508775 0.03320011839940858 -1.166494908184388 -0.1642466973505311 0.07417364871182199 -0.08740077097871939 -1.429281762157889 -0.1720701100836204 -0.1825842817496836 -0.4431887671783905 -0.4802520407893969 -0.1946194154505734 0.2991542889974683 0.3164081952838054 -0.366960418967603 0.1379182803290908 1.215939661799274 -0.9083451923842957 0.04671179981749294 -0.196546945564531 1.241318456727071 -0.4596512314849818 0.1490651109377775 -0.1331526772455975 1.666443772894724 -0.1615496421162696 0.2588674139038891 -0.5631560265207053 -1.076738195047291 0.06958355122413093 -0.08207267642654265 -0.08074045727347835 0.4129435195273025 0.002704828300976929 0.3839874459886499 -1.190041493970473 0.4676094741887394 -0.1151106175572891 1.005320868954445 0.3000966821883784 -0.3525000834192678 -0.1558482844076755 -0.3151341990625842 0.3468761733397359 0.2463066810035333 -0.6659746184950772 0.0541054328512992 0.4622154023291581 0.9141296704546238 -0.1746547440516431 0.4680611437324242 -0.4001905578463711 -0.1452814857864798 0.06699043929709851 0.1674563616299689 -0.2585320849124407 -0.6883523238754041 -0.07643707233915968 0.2576434147158845 -0.2721224853509033 -0.2109659795603164 -0.01287304404177399 0.6230913552706654 -0.01607434251661179 -0.07923287297896831 0.2275205481228982 -0.8401195567484481 -0.2804186366845101 0.2001843955714429 -7.654880683987212e-05 -0.2366143461558347 -0.4591750793851059 0.04481024948770691 0.07187234079147814 -0.09655228012212191 1.751245931771998 0.005596152264141392 0.46575774734801 0.1521807527579849 -0.3528263953449209 1.622989415867071 -0.8323889024520588 -0.3152240589625918 0.08281805841869685 0.4708763335275242 0.07539259107082422 1.092827344528168 0.1641363199606544 -0.9716109918710597 -0.1356753482065457 0.2044243649908435 -0.7652130061717747 0.02080790692309262 -0.4493990985831056 -1.019685746945108 0.3521667556132439 -0.7155643048552545 0.1405986882841912 0.707415616580428 0.5438527696404606 1.173157350094403 -0.6578769188928263 0.4858339009358187 -0.2123650720402275 -0.3273506740521803 0.4562804401426733 0.1730220945738987 -0.1509346486231546 0.7528821001005117 -0.02051955130998175 0.6555755848823585 1.189591851029713 0.7669904523518746 0.08344039279964861 -0.07849550771534355 -0.09607395991162646 -0.5914702313516925 0.6622790477015846 0.6420781589685653 -0.0245009416647171 -0.1435259305447627 0.1714956781095002 -0.8574853848045821 0.5761212075392321 -0.4390996798344343 -0.3158568467929255 -0.8225476457599435 -0.1811967366839144 -0.0764471213583479 0.5803561359990103 0.5749181962033839 -0.1900933622571729 -0.0002688645706983686 -0.1624073633771796 -0.5527039973053145 -0.1029197726311376 0.4820908943224029 -0.7411833902073875 -1.22125147319074 -0.7657481493629685 -1.335567945521522 -0.1735823321664054 0.08384932094118416 -0.1737539730024262 -0.4783584319582976 0.1681628805751628 -0.740560517603406 -0.3213807230520704 0.1268117008241954 0.6737933292051854 0.07640975214802351 -0.6323223917950541 -0.6370497155027736 0.3593888764039113 0.5600209736968793 -0.5020638080429101 0.130981461322469 -0.3554473339532491 0.5076374561616914 -0.6350693763945192 -0.5753779681749753 -0.1786008052074487 -0.00632130408995329 0.1852719910872569 -0.2575618385124984 0.269648923583706 -0.1560762213379743 -0.05975236821247559 -0.8061477467373315 -0.3354527349450291 -0.1114262462490938 0.08494981832102901 -0.0266153233076379 0.5133450757107253 0.3998838792862382 -0.2838536188680895 0.3325941030300775 0.812531257118383 0.4669106425425257 0.182296705343175 1.341502693402004 0.3918163954355372 -0.8772479087994254 -0.1320012376246749 -0.8392502847259036 -0.01525345534839247 -1.311526505124131 0.2492760807882919 -0.6610366688147378 0.7229919406878514 -0.0008974636356909095 1.184082007038846 -0.8942500829996431 0.03728118313453278 0.2482851898672054 0.8483915289131909 0.6977460079934188 -0.02749635277147666 0.1558253276520026 0.3669336546046774 0.3510264735160953 -0.3018297692155736 0.1872476412864292 0.2258332176792829 0.3113684487813415 -0.003650448454787214 1.726273580272803 1.335783560199289 -0.4386836293863025 -0.1975558296361711 0.5454171012824149 0.02781643575915791 -1.061839987946076 -0.08323092514572418 -1.124815141059701 -0.06264070832223877 1.644365613987854 0.06885311714323479 -0.02895580301808928 -1.53784774343465 0.6402584552629885 -0.4283025033442786 0.8947053098223273 -0.02638545950557183 0.529784242873637 -0.2763422568421794 -0.1840227222880043 -0.1535556119499469 0.1045623899365292 -0.2306622274213804 0.2466010920676006 0.384449933588036 0.1322094452495246 0.08033870363776356 0.5500625081523218 0.1205059545425035 -1.38900703457677 -0.004198670190137048 0.1998266955466521 0.2170378957008604 0.09210449523353305 0.2650474034350375 -1.21637760167686 0.1448920155747958 -1.10700464357866 0.2701565374539975 -0.5905848314211388 -0.2613273558026619 0.01003788454393311 0.9108276901265583 1.614761509573438 0.4882849091267171 -0.4699065757150714 0.07365634933858892 0.9461443183397164 0.5457502718116664 -0.9424657732458528 0.3213301143194282 -0.6366973524205404 0.06682965140728717 0.03026223829278746 -0.7839686415104004 0.2434326470393966 -0.8387759752982104 -0.7949810971915162 -0.1700226470989338 -1.470976097838251 -0.3993524619404082 -0.4696427004060618 -0.5763073266753624 1.59295276270692 0.2519823281014935 1.020820049949141 0.4920070215312911 0.05882247548148351 0.3464414228569165 -0.682635929413006 -0.4584791606185326 0.4544772398815569 -0.136560904490031 -0.4378557905838864 0.2221648605206897 -1.523173442941116 -0.4693793485089039 -0.1445531705622994 0.04460102602092601 0.4911496972819678 -1.008581705616126 -0.04902414659391019 0.0497657825974981 0.1893906474671037 -0.007945256507736143 0.3979388533259592 0.125618669168445 0.2282043086446149 -0.1118238390356313 0.01273776179411089 0.2732509984601869 0.01427309740257997 -1.393504562081286 -0.1743931106730834 -0.3451170178097226 -0.1303847529081389 0.2566906732971818 0.02701416914000094 -0.7894871071127286 -1.024206294218382 -0.05574296440012726 0.3455852750984479 -0.1350757089206425 -0.722083554346006 0.0005422970038252199 1.771766688999892 0.03890811143244381 -0.2311267122082034 0.84202879206299 0.2561075751022306 -0.2262406350580038 1.082284283461379 -0.5016552724701934 0.2477984498238234 0.06884320579738061 0.2448795835420658 0.1193160398285477 0.1930159880296866 0.7082902352941461 1.636500542372038 -0.8856141760098359 0.1851717060813799 0.4004460938560672 -0.1122279284425122 0.7323123227174095 -0.3721922192794942 0.08936872877627743 -0.01037644070452484 -0.8159740032508997 -0.2086956565521118 0.2873755186184271 0.9117679916752005 -0.219685802798848 0.1063056003413774 -0.06957290772410248 -1.086357093307086 0.07753274106865614 0.63146430383595 -0.25118327482372 -0.3727016113042249 1.597175498509808 -0.2648366094354374 -0.2340744427790644 -0.7524624991714494 0.09960168924985964 -0.2903738117158329 0.386274703305557 2.172565806073662 0.7325872024176608 0.4043042002953744 -0.7127473457060588 0.2526862758519233 -0.6918355863523258 -0.4312345573317397 -0.01089915033805585 -0.7771466142724184 -0.9977662234467723 -0.1720512063076888 0.3587579216048598 0.3893369561410712 -0.07263948552877664 1.146493200085776 -0.1518335380230317 0.1364588199119048 0.1444767582195244 -0.3796321984769469 0.1979247152871504 1.437748493429051 -1.130631742149133 -0.432485588851693 0.009314670064903408 -0.9841419479700686 -0.1278224028117996 -1.603419994876808 0.194715703112995 0.4215334004371692 0.1914643643920555 -0.8925096845609907 0.2324411430342268 1.197043881558685 0.2250782136795167 0.1894802320026999 -0.3973925605898638 0.0387885067721551 0.3129817269528472 -0.2331599817467821 0.1840155901377568 0.521391789800843 0.1834208062289531 -1.201648584852293 0.2179213695000774 -0.6888142610462755 0.6407652818246232 0.3707735689307415 -0.1296016495303669 -0.03529553257653354 0.1588607769577229 2.4527252133972 -0.4504842451645836 -0.1708427771431475 0.02951793448347028 0.1804516167200482 -0.3259630263493851 0.9103757180551718 -0.3631656055398673 -0.6900758083893945 -0.4038596831769442 -0.1020416765084975 -0.5924472616915256 -0.9571508874083855 -0.2389309489003715 -0.3528141976328616 -0.1891526402975607 -0.004933007332881055 0.05533457506575002 0.1571470600921149 -0.3072373996038419 -0.8013745623233803 0.2117139726343736 -1.566849247633999 0.5683034338373533 -0.3773199932999114 -0.904238755530923 -0.6237339396808503 0.9138888638075007 -0.002173241437072715 -0.2670869977988884 -0.03523028696165712 -0.1219917949897029 0.8382853359012776 0.2410138309013512 -0.226738266764713 1.15934312014765 -1.966590349921533 -0.5993036083820713 -0.08951153005657052 0.2619143648866109 1.624586360904082 0.09336298384630448 0.7384436616629931 -0.5152163349044551 0.2849106057572409 0.00823081398307102 -1.973695873432724 0.8899651376575671 -1.578619929719274 -0.006714862090795415 0.3935353127756824 1.210750317471555 0.212185422673531 0.3792478853172616 0.4593538567339031 -0.4152455299631324 -0.06896199625609251 0.2580864018599567 -0.1464323101652283 -0.001989828417263251 -0.5293083756504599 -0.01386163428584713 0.04726188334414648 -0.2048319321417846 -0.0472091213426192 0.1543722515014787 0.2076779399928165 0.5158362959802892 0.8651348975986867 0.1543276020367291 1.497155830906051 -0.480993541336598 0.1739439085819984 -0.029326922632005 0.005730406685207852 -0.9822247273293251 1.868665913229378 -0.274283668986854 0.5292466252207301 0.311417286116858 0.2286718398874369 0.1440911545675325 -0.5061601507796855 0.2266075031115277 -0.6803596037833128 0.1706211416018335 -0.3467952081238082 0.3999471211904062 1.539996777109173 -0.504717623958422 -1.729228257919031 0.604829726182011 0.06300173909627285 0.1983095149404917 -0.4452426997188424 -0.07069548552043227 -0.05591744429401808 0.2091490345428318 0.4579526748327388 -0.1431527009991163 0.9432412528161261 -0.0277941332127884 -0.01120213488768426 -0.02497249553950878 -0.3144320156062186 0.6628452014654943 1.629604221368292 0.3234580998420161 0.02688656877910481 0.5929496216793209 -0.9962621202418968 0.1719865075128498 -0.3028027275427616 -0.3502717371303475 -0.7397489802081504 0.3224450969393152 -1.03736980938291 0.7611591518724493 0.8277097465159268 -0.3223995391075103 -0.7983698038040835 -0.1121376414916715 -0.1733243662442767 0.2998025695630743 -0.2383827477620733 -0.1761798195898988 0.05859622110556497 -0.4519900867363364 0.993089044046398 -0.1359012636316895 0.2828632225504127 -0.6703579697530287 -1.227619256351642 0.01044367905725551 -0.06343997758831328 0.5220488710102161 -0.5698071128631257 -0.458372528186593 -1.047195043705826 0.002267660330226616 0.6370203942818586 -1.326039045466405 -1.898637285547492 0.02070661723898777 0.5368907558297912 -0.01053506389190671 -0.4301625028104717 -0.08223367773754728 -0.02674705504823785 0.0002896180075888381 -0.08991694735445771 -1.459129935129682 -0.9735153049046611 1.153958740171276 -0.2920305041494521 -0.2408445180969067 0.2193728059613567 0.1774689223745221 -0.1521130101625509 -0.02435985234543995 0.3047821116149997 -0.1448163907563159 0.3797974800567714 0.4204672356714936 0.07266292352853974 -0.1138045363372222 0.3305559254459071 -0.05322589838132081 1.372964875871592 -0.3085640754634874 -1.301021887410664 -0.2559714011735782 2.098081504197217 -0.2296002078934338 -0.2350603768621485 -0.4994383107685072 -0.04044782165317129 0.6958904631063215 -0.3668140622883372 0.2466503022232911 -0.490904544395753 0.9083530119788954 0.6881470955123502 -0.197914306026372 0.4797252897752629 0.03770512907409088 -0.4594655859286775 0.6184870097527758 0.01947900136444311 0.2689713939586493 -0.2512973746628785 0.1355699205071209 0.09887266590928756 -0.01300413323426098 0.5356740041814063 -0.1411902748086249 0.4779200397220331 0.7904085200887122 1.415625885800449 -0.07735322079525477 0.7288330347884187 -0.9974863283478956 0.7507477732767591 0.07721317701216129 -0.60853431191156 -0.8961270175060487 0.09458977086522809 -0.985120607058835 1.395223385014362 0.269843154174695 -1.42103128426617 -0.9193746819451728 0.3323428424970196 -0.1171173589065374 -0.577375111903906 -0.3534808062461985 -1.508368620356763 0.1328110968418447 -0.4451191821898406 0.2887945959549839 0.1956924615145738 -0.3237387248311532 1.022595702486711 0.3889387677324616 -0.2895280509978276 0.2924840180003644 0.8374111629686984 -0.1224349830420037 0.9707352280828163 0.5795914007739208 1.085628379248313 0.008489102278304189 0.5750323752980997 0.08094868800054056 -0.2755329210151025 -1.089579481759692 0.763153871857031 -0.8496777625102886 -0.2748760482072742 0.1284626189633543 0.5924100808717793 0.01735705579966246 -0.05290842939005979 0.5892555113256153 -0.1362050843254721 0.001890581926799732 0.8586257487876858 -0.7964636932441476 -0.3144854240046481 0.04611480870070285 0.5578125267311793 -0.574844987153771 1.099308724392848 -0.141641582319194 0.1154202673905783 0.02158665520037647 -0.5906504757270366 0.2561583748736052 -0.8792429189630899 0.4064685601208413 -0.8580075132442945 -0.3392437732083359 0.006901918949571024 -0.6002702501863644 -0.2136619977923328 0.7931667273357685 -0.4715959277123049 0.1768399478827233 -0.650359667944206 -0.1029403677545919 -0.001492720205751953 -1.023309738208895 -0.3916319603134957 -0.8289836315376343 -0.01094415709695092 0.04879485507547147 0.3394953520313447 -0.09766290387176337 0.375323543108286 0.4487106720833099 -0.295153239974949 0.1922494094028478 -1.458082928101885 -0.1057390912021003 -0.1310374836611121 -0.1961872713241968 0.583607150227842 0.1065354187298634 1.648601284725171 -0.1148345468253406 -0.13630347342457 0.9483041146218593 -0.85611870914175 0.5641579114835812 -0.7927438818066354 1.568711135384959 -0.3941608633882148 -0.1283856441172132 -1.972326984238509 0.2369975168429705 -0.9511356399358571 0.7187320640264317 -0.2737851656959875 -0.3756427525408412 0.006346009468820389 0.01223430320851613 -0.845823224585012 -0.07182403273922058 -0.9850994223249534 -0.3014281611271009 -0.3193532751414512 -0.09400519150326667 0.9809483229580501 0.7431152194961532 0.1917213833091325 0.01301196769847686 0.1153508196703699 0.003633118736693113 0.6055019097934444 -0.2018429407223981 0.137079220195544 0.5817511359557472 0.06797900718915727 0.05129679802597301 -0.7213036629059136 -0.537369550274195 -0.3094298411888121 1.476812597210458 0.2026771007408055 0.1618900954455821 0.1531770543807992 0.6501323153146861 0.328242331204872 -0.4827819974765347 0.9988646182540548 -0.4878997657800387 1.49278851960147 -0.12963556089401 -0.03602748861707619 0.2675537035277307 -0.6183976258998926 0.4125485319294099 -0.4161538452979501 0.5295486684386667 0.1088889815907258 1.029476899448395 0.5095966096912772 -0.420177866550235 -0.9185796621568499 -0.3862947201276057 0.4079480302914407 0.03370444968352322 -1.793131742629944 0.07133278588154093 -0.5802074864685096 0.07502914206479465 -0.7783070755848098 -0.3908777153377755 1.408227922921096 0.7304722883243883 0.007054518702794342 -0.04261953785968729 -0.07896828237233969 -1.180827721792032 0.26503700472932 0.3703595192588433 1.397289403607355 -0.04914621466430662 0.3046264478669991 -0.602132588935803 0.253572914884672 0.6827563178015194 0.6948420949699133 -0.6156414875718965 0.5406532849358473 1.131103949987143 -1.217750073646415 0.3282687605513406 0.3307476907830126 0.1215919447330985 0.08879425540904659 -0.06669473574340523 0.05631151401928342 0.2022152247514258 -0.2354856570121918 -0.9018299808425764 -0.007945865721196495 0.1338920309224375 0.1047654968194806 -0.2532707879620013 0.8707631271180917 0.001572598824410362 -0.5185130397879847 -0.983903792254095 -0.1632631616707459 -0.01434862146237045 1.867983996249589 0.4315639887070522 -0.005474347304130621 0.3268657142138348 -1.516354584252239 -0.02038802791259536 0.2231942409737419 0.007942262781443221 0.3949691500389591 0.3497655151211591 -2.335166369233054 0.222561362272792 -0.6577593263220419 -0.16419436198035 0.01712461807627592 -1.168075174641108 -0.2378687662589893 -0.1729434169522422 -0.5669941915590615 0.1872331847008153 0.412382157258476 -0.05954604341491695 0.1058974456682093 -0.09531664092018341 -0.3722483763305877 0.4779817546031955 0.1838229951344709 -1.33702413057257 0.7322285527107767 -0.1121265836476199 0.8842040808203496 -0.1327709955781856 0.264402459776397 -0.321161817822474 -0.1519151994822764 0.0524460636892708 -1.735323634871898 0.03350371492410381 -0.1454907072233318 -0.1997544780362635 -1.31222463723691 -0.01016038909705383 0.2576955362996171 -1.027843372079355 0.7669621933744073 -0.08822357082987986 0.561332274746987 0.2622652299480278 -0.1017852829063798 0.205803579701313 0.004594381974579142 0.07101036623809172 -0.7891393892161129 -0.0737940569692067 0.4337030817645243 -0.1921391689906928 -0.6247562701615121 -0.164019253490059 0.07835012980067632 0.1847167318756573 0.6063872543273627 0.3509518794548981 -0.1563661205325657 0.1380893284640976 0.2140872056418465 -0.1428558458150386 0.06805446723850082 0.592041835380131 0.4041512989848882 -0.1732725960228672 1.768724591115255 -0.7203510892718585 0.04995758197140399 -0.5423062537837341 1.463593316988924 0.9518117821480728 0.4305617579199132 -0.3009212852190776 0.732740628591898 -0.2964808465909861 1.057072033590323 -0.5371800624902563 0.1268566020450654 -0.03670808784481498 0.2206651995086197 0.7030406565947165 0.4886431375308256 -0.235029973723358 1.027626020711936 -0.2046282552543315 -0.3628548916082864 0.5568145566537717 -0.7016479311078336 0.3664555346059644 -0.8282106042861486 0.3641173114408017 -0.02865569024110191 -0.197657363258251 0.3574170498962764 0.1230484274920571 0.1389825002238085 0.4695472608511747 0.5330978585469182 -0.3266925197514514 -0.06042457069563398 -0.1865421459900639 0.3546827616894095 -0.7795502511589119 -1.075994524921875 0.1905689534095343 -0.03284022019404421 -0.444658845788085 -0.728070309612679 -0.002404842705373074 -0.2900290437732299 0.04818717809649501 0.001321755014227835 0.2621731443465082 0.1653302084506435 0.2541419966826334 -0.3391855525359832 0.6259944628865687 -1.128751137081235 0.1681530590545723 -0.8332709153264373 0.3647042189371802 0.8730724460960969 -0.4536130713745402 0.1332917642729417 0.5514131848978495 0.6974271661639014 -0.9077187640135544 -0.6059778459484473 0.1978112352903553 -0.4803247935547121 0.1297849604599067 0.004129764276749416 0.4416624252689072 1.049100474386484 0.3019068739937996 -0.4244818158313836 -0.04582551235376078 -1.575958581597526 -0.6115496782324203 -0.04172846179507672 0.03092557237010426 -0.007294522843046461 0.2451673867495452 0.812267459480727 -0.2276310605248505 -1.779695693195509 -0.3125659421548279 -0.06583853140849626 0.05467061436985478 -0.2009996587602122 -0.7926763855445634 -0.1283757216284343 0.007272806856264576 -0.3954364296950629 0.1729618698676757 0.006907069107056968 -0.3079463102381019 0.8474556248058722 0.698818108659079 0.4044539664954689 -0.02964296229626629 -0.3102429581473848 0.08249494639063366 1.646515523069192 -0.6897647192377884 -0.1912223780310639 -1.020132984889195 0.2989561876144247 -0.4101724553442139 -0.8256711565795601 0.7214126193591242 -0.212536061721281 0.1884465843732152 -0.1153115537451812 0.004109305415336914 0.3105057420871406 0.1369655472353619 0.1093784046092156 -0.08422118900311401 -0.05825739306501929 0.07640089146764624 -0.7460685703283522 0.4260502395643815 -0.1577813430651517 -0.4330809434711019 0.2019328655512408 -0.4594837783863069 0.4278261347421231 0.2985594983369426 -0.04951856037062818 -0.3189858752441825 1.180928892699655 -0.004570229007622302 -0.9747586489560471 1.045097660592215 -0.08997306742714534 0.4108381414132162 0.6902174850764574 0.09448200045551756 -0.4690521099604844 -0.48851165503776 -0.2223578988228963 0.8313216746838252 0.07749720787270366 0.1093308386008862 0.3434439808787729 0.1705841182631908 -0.9422720379321898 0.2111332739128726 -0.3030413624006968 0.7887719372088573 -0.07105173932947347 0.03298382552381075 -0.04034619099551955 -0.2690151698812284 -0.4935224833159223 -0.2296004476569739 -0.005602379966603998 0.4211673631121902 0.7519054479308341 0.3293645859940176 -0.09123850395927773 0.1668743954496564 1.309211955989615 0.7247693137143176 -0.07884940387617699 -1.132067814234281 -0.3378410562130013 -0.01174824982237111 -0.4034226372764769 0.5657130356147729 0.1557067393303636 -0.1995198003518975 -0.1585355942603152 0.4020517280098878 -0.6733363001919872 -0.6084933654446995 -0.289880072904417 -0.2725706365735979 -0.1642976010685516 -0.08115335073873264 0.73180882937873 0.9465868519802972 -0.1800785115640439 0.1306842733171339 0.126790458181435 -0.09511707455049678 -0.2449030769172249 -0.1095576060476625 -0.009059284906755788 0.9725047560811678 -0.3074038618681053 0.3464703244498528 0.04665346431111402 0.5437547855047444 0.6520160041534017 0.4008582579821845 1.810224141786667 -0.2891517144673774 0.0602104885226217 0.001176082587308699 0.7116828793255719 -1.215947088264446 -0.125076137756513 -0.4232372405906409 -1.009792850085189 0.432626803084784 0.3625736018755929 0.5673224674766932 -1.639822249385925 -0.1202118220996946 -0.7661389282101244 -0.2016786477293954 -0.2738570221325042 0.1900270167733735 0.4082219591047586 -0.1739371859279965 0.3872533193223475 -0.8103661241655055 -0.492001667790486 0.2217555789064946 0.4887531546451839 -0.3293853569571336 -0.2310816877326526 -0.6529343436812101 0.414171024023101 -0.06408518368556086 -0.8211772591462602 -0.03920883332027996 -1.333140061790363 -0.6521554534933951 -0.2979334118584352 0.4313100439071114 -0.381646913046275 0.2239093163741081 0.5277620899836104 0.4080851906870582 -0.05662714625947015 -0.44316666100952 -0.3604317685408066 0.2422941297171378 -1.382275473631329 -0.145442692989472 -0.008547049823844754 -0.1499701849202355 0.04294809642401562 -0.09369151838354928 -0.1268061704243987 -0.2072761907912077 -0.3823798882875499 -0.5592801270491632 1.401800524421172 -0.1809658590418247 -0.4715424650112126 -0.7143485288832261 0.98515047034769 0.3578856917659185 -1.093537455169161 -0.198315604651931 1.297536440190013 0.1384888670094869 0.5642391498446042 -0.2036418700541222 0.1223126270202046 0.004582149351778573 0.3379251297375255 0.1273880094210558 1.183014376931724 0.2306376103603492 1.708049838258606 0.1443267239717746 -0.6177637740295857 0.7184033161983276 0.1069388199533953 -0.3645139237880378 0.2958043902944095 -0.8657546664753267 0.1990798313308912 -0.8682191112960298 0.391533363645006 -0.1366894547899153 0.4803404650411311 0.3518027322233133 -0.1016902741461474 0.1653642578826087 -0.8122303425794855 0.005841025652116154 -1.050075408332954 -0.2890897020957572 2.005871498835451 -0.2034110566985083 -0.3806358179619828 -0.4545408812666216 -0.0004002214486870539 0.4881217277928124 0.4220712636143995 -0.1884696989338831 0.2104737068155666 0.3323547353674545 0.1101741449180008 -0.1572987690150829 1.385021082765326 0.3193065046324787 -0.6627262179407354 0.6029676177028583 -1.231565806588602 -0.1003975510539987 -0.7231989666013063 -0.5518961260953241 0.3489481654789908 -0.007520630511488845 0.6354165376410362 0.159402233816076 -0.5438067538097722 0.5251512431449699 0.5696506280760998 0.2733001926937598 0.5305066000873321 0.5567614535910105 -0.1194530050914852 -0.4865665609118195 0.451982792169873 1.493994879188128 -0.1168072751838737 0.08146334422930236 -0.8299456574691435 0.2856617892864337 0.706982445559129 -0.1751083428583134 -0.01059891267841798 0.05622807291092498 1.344734443546951 -0.889032421006653 -0.1065714905466988 -0.2190869581161459 -0.5320252703348025 -0.002511407997698722 -0.2333865559459401 -0.2100679465600336 1.160636283250504 -0.3283126136466015 -0.268427774543804 -0.3726510486012622 0.02910750305327568 -0.1485777968431489 -0.9067249695206693 -1.089493069621754 -0.2428526720050624 0.2324965121334971 -0.5759268830228298 -0.4444815815015539 -0.06046511451359045 0.2853037525000487 -0.2333837018139842 -0.4468705367434412 0.4075856848341554 0.1131372509382403 0.4815506367868161 0.7660710956203509 -1.099491946305231 -0.2300834983752743 -0.469363605733693 0.1500258956960579 -0.257194663546943 -0.9973603344639148 -1.003421665749227 -0.01124230489445019 0.7695531985844695 0.154381333903492 -1.101881203129683 0.1465177988908455 -0.04805893427364168 0.0004661818618488353 -0.3337682244740508 -0.5129055377703911 -0.06296372551391075 -0.8661359671477882 -0.09457607597465693 0.4150696185073928 0.1224062290037512 -0.6429387162438756 0.5917336729230261 0.358263983486876 -0.3929708712428311 -0.1381830998349704 -1.09817965092802 0.3393619719660529 -1.211551540110939 -0.1389453940124157 -0.3479125555410496 0.7141193452952546 1.610853679593189 0.8729318352888056 -0.1231291061553694 1.264686995586057 -0.2132977881940984 -0.189346645305791 1.66494198575284 -0.1246287682005628 -0.1844500510783801 0.9864439098958898 0.4067265219090317 -0.2159369590086649 0.4840678704409766 -0.2534233216854979 -0.5202330228404789 -0.1787641919563785 0.9449636809104616 -0.1118448503435586 -0.7134968125317308 -0.5204811602693437 -0.08890898216631676 0.6913871787376097 0.8992498978618525 0.0003243715202335178 0.001509671541459532 0.3773620512246804 0.08688636429415003 -0.2052520687402237 -0.8253763231940104 0.4005956627367641 0.01577278103809793 -1.119422138224931 0.144206911394456 0.1270469270670133 -0.9137241206971545 0.8523076082359344 0.3531823992438998 0.2923275133491278 0.05454348260316386 0.5790724986441174 -0.249200969732234 0.7602850807292091 0.391552037124539 0.3651398529696654 -0.2026991780383754 -0.2107417323115252 1.451286061587244 0.1389101856395989 -0.6775871422546295 0.1030175592802988 0.2059985450843599 -1.048950688394839 0.1129679491882168 0.1008980555224286 0.01344293371738883 0.2035281996210394 -0.5048837520588618 0.1281543249270213 0.7554401447549279 0.4285144710281614 -1.132847997405049 0.6658325758130273 -0.1584103415843224 0.5091434523434423 -0.4814150420290195 -0.459414496687107 -1.579044248319565 -0.01120268300560416 -0.1394240683457144 0.5748397419857081 0.8779854071506663 0.3474879946490408 0.05093159972994036 -0.6168650696293941 -1.256008805290443 0.07211584002197334 -0.7542337367494999 0.3723681002458574 0.6906227965211944 -1.030921020793332 0.3207053497574551 -0.02712991975822246 0.4093408765058223 0.6955810430237919 -0.4541885486164406 0.0926983314486361 -0.351918958421066 0.6043620654066428 0.2445275501684096 0.04970363315903742 -0.6796246022898955 0.1980329025007185 -0.2796081097546117 0.1779972831634029 0.9335552102027541 -0.588353040356705 -0.1172872437447848 0.266450055225232 0.392282101792556 -1.056357460614693 1.917237959759227 0.1268885618032932 -0.7262409338550058 -0.1033533017019411 -0.1829503350423432 -0.7696727860234283 0.4951563697637458 0.1357471700195013 -0.7667334169475041 0.08252822921970335 -0.009780823345356576 0.1672283967664974 -0.8353012348086346 -0.1688564256064608 0.5527583208571433 -0.8022451271362545 -0.6848297028164481 -0.02161475742328586 1.025126669193461 0.180318228301361 -1.358899608323727 0.1901307335494934 -0.189011637828152 0.1760317764307848 -0.2198334664449504 0.07314368742416184 1.752959230987849 0.017718864950549 0.4193920339709505 -0.9352624715803206 0.1108518611310026 0.08934079711787592 -0.7786946931998886 -0.4080667280632063 0.2650011946162728 -0.9507064227284571 -1.736465197640824 -0.2629578495969144 -0.1734110399072996 -0.2494725504938976 0.09399651929252087 -0.04546796902419793 1.149242223483371 -0.1783605050824514 0.001921785645397193 -0.1139724691068783 -0.1123676024131074 -0.9473706638254343 0.05891811255918292 0.4338660777116123 -0.3825538871856953 -0.6841277384986089 0.05943338932147009 0.004796386220248362 1.014243964803079 -0.3091142438036569 0.6529524947731886 -0.2550929752828559 0.0191657077579523 0.5471011697381115 1.274214844067019 0.1900153954818227 0.756144612851022 0.9004773073049994 -0.4692097806416766 0.3054169537702304 0.1606614465272335 -0.4351144920063091 0.01479705364205778 -0.2362691719779924 0.2793999542431448 0.1136383308046628 0.5743956427612418 0.1094875751953445 -0.7311792006731886 0.6485094467960151 0.6417751934981575 0.1710741663062473 0.002448165280448943 -0.248376485347124 0.2157085880591244 0.05633663721677191 0.06268933177776191 0.5810037725703502 0.6380717136028879 -0.5147602210117637 -0.02554246596488473 -0.3181843798123447 -0.342350978098538 -0.1492478258872467 -0.5132472053015915 -0.2928915597742686 0.1930938229727382 0.1564993518445258 0.001029062312316028 0.2986111447606806 -0.01624481642022718 -0.1170051242230282 1.106771563504251 -0.2268596842600183 -0.06163264203003916 0.331110103456474 0.5729485449824175 0.1492441467484389 1.101129154331925 0.3161185387534881 -0.5140161071320326 -0.8195998276339536 0.7321346344108655 0.1260768059232478 0.04840153699636242 0.437459616980326 -0.05698421592504173 -0.03484832263533762 0.9668254857004515 -0.02426481315416956 -0.243650996825711 0.07256111329953596 -0.06743721978524109 -1.082113557403857 -0.7792916847870504 -0.1244440480846118 0.08995310425537238 -0.5840089260910976 0.8556742221772168 -0.4105425185119848 -0.3980005041449679 0.2118901321354097 0.1542609834057294 0.3967806562577093 -0.5173758036421083 -0.432649221880674 -1.149106579974159 -0.02590878909630506 -0.6325580317318024 0.008116888285643832 0.2864059921391388 0.1809820362700419 -0.7241595431842662 -0.003302586119311563 -1.973880789558506 -0.6822983068455146 -0.5726994763262977 0.1138826164299769 0.3537779790178285 0.5671731999532932 0.7203508589815396 0.2951469932787544 -0.6172044672014333 0.7961512051109272 0.03064253758505127 -0.1026596851428298 0.4010623880660185 0.3690671926975091 -0.9393168177826301 0.6073008592036455 -0.6125389970449959 -0.08128848062029377 -0.8253088739854633 0.3965156515119431 -0.2187554350868197 -0.3674919227801586 0.7803361503072228 0.03604029016965804 0.3196412837666815 -0.001290930732850498 -0.1064003915357309 -0.09634146534049974 -1.60911629940831 0.1586075239120296 -0.2592659281371673 -0.2111993143551281 -0.7962564296798819 -0.0626831351753126 -0.003632404401682511 0.1384099438676427 -0.7389845009043126 0.2608241269980722 0.1310547398728771 1.153657813715488 0.01271055923197396 -0.4317862454057078 0.005825806400922022 -0.08190724369728165 0.6387300683619679 -0.1850366092084845 -0.4071783572964883 -0.3460995212660663 1.400360435541791 0.1141875176167663 -0.1438743943765246 0.7606663250409259 -0.1709240743170931 0.1456051929082309 -0.5342192022335405 0.3196554228435128 0.1977199344691543 0.397435195070207 0.09114352807857674 0.05615859273639202 0.4253727485188088 -0.6153721717030238 0.4604207142701591 0.1308920754958294 1.807157618173685 -0.2019818402900878 0.6114583661805441 1.199669237991537 0.4658370000555759 -0.3209064808904281 -0.8764746509383071 0.7636945654858944 0.4064893390607258 -0.162429024440209 0.8808310020331215 0.9345475733918374 -1.909974386028575 0.2320413240205343 -0.4204678682743482 -0.3147399788070807 0.1844550838528956 -0.3942155125011835 -0.2129678702164703 -1.100352268944957 0.6030561240235851 0.008391383234481489 0.3495865171526635 -0.09842236883256132 -1.475399549663754 -0.1870861693737292 1.120319821593794 0.1077544580635875 -0.2799347036071824 -0.1060331787709415 0.1640314505748375 -0.08264917862868804 -0.6195466459873453 -0.2802279301789517 -0.04571602284480911 0.3165030812188681 1.026677233330253 0.08515207117192404 -0.1834088979364639 0.3862861354496727 1.414047714139918 0.5422989389563803 -0.09830674356449627 0.2424626062938575 -0.1817110635520993 -0.6111426395992897 0.1206011335208729 -1.002646469477158 0.6851504869728527 0.3020155997091918 -0.8984587962041634 0.5421078215764352 0.8968708918631696 -0.1879961431608584 -0.7677620168845075 0.1577799398195631 0.4882860090336127 -0.321130903262857 0.1760825645730781 -0.2006399414928245 0.2556458828129137 0.1548274874509 -1.400426367060388 0.4422100381069525 0.0132350297961456 0.2174379211542247 -1.52239711176879 0.42502080976213 -0.1767545299830091 -0.1238089849033789 0.3543463400658435 -0.4291865239520848 0.2190988446973622 -0.08077200499843089 0.04118055495534378 -1.261113374928103 -0.3451650541980116 -0.1220700710749565 -0.2375550067886483 -0.2010554568913067 -0.1725813885264351 -0.6863029010789078 -0.0005482177876973121 0.1174584334022227 -0.1008555159024258 -0.6050958200551699 -0.6393010883573387 0.4640500387687836 0.7435000212376257 0.01652563074364316 0.2350308698168427 -0.09053955319449404 -0.9270815409836538 -0.210298368566938 0.1967876652432963 0.9523107182128401 -0.2846593372573219 -0.4973470518785911 -0.4303934258080351 -0.8661946489750237 -0.7349015185678083 1.028835236464108 -1.655893917445659 0.1982408804892389 2.265505807082605 0.1339233309037081 -0.9548828327224754 0.002102097241012178 0.7905640351940764 0.255237062688649 1.760148951679978 0.04248499522530872 0.8642827178107448 -0.2602276522300194 -0.1672891229285011 0.04514139630362313 -0.5075786042033363 -0.08894161993319898 -0.4168375400792435 -1.056382441991397 -0.4573113905014702 -0.01250015446277141 0.3679751956437602 -0.002981426205617537 0.5219320423424078 0.1709023217907706 -0.1156676336692769 -0.6978277741335951 -0.2988827215144703 0.4971166173723507 1.061822690033705 1.034964323565345 1.037227522599901 -0.02393757344477585 0.608536134680594 0.06123096572234472 -0.2588138569786658 0.9708931367846264 0.1220986666914701 -0.9313503403507299 -0.3993387096644867 0.5823923953946567 0.05517832019999933 0.5491096383557005 -0.7895169884136508 0.2188430163770399 0.1467466441062418 -0.6353269340354001 0.2934356275423297 -0.3143252131929901 0.02813388731067019 -0.2088913127677795 -1.50440881323393 0.02998741542110591 0.2736271345235957 -0.1788125921178258 -0.05922314104751576 -0.170853640803252 -0.7211396370487668 0.06113180670956616 -0.5383977846923198 0.05053644081671098 1.738486600546968 -0.08579140029323279 -0.04833197146894092 0.9763039496399621 0.2754966653194735 -0.4428397373767078 0.7585081250239668 -0.1475531878307951 -0.3100061501168475 -0.7432642984342416 -0.6795158814042167 -0.4337257531925501 -0.2620691334027481 0.4830949093507204 1.21902268859192 -0.1870820060186869 0.01705777072138298 -0.7059202354449016 1.542607038418775 0.2057181537111861 1.369644745255279 -0.3494667317393082 0.07740588986131722 -0.05828006455314547 0.2122612934668445 0.02016010323746469 -0.02994651607112691 0.5946968358264114 -0.3379864392529636 -0.1795464420741599 1.285292294246392 0.003156342449110957 0.01053268844837164 -0.3577527125544977 0.3034011453944006 -0.8951311365088995 -0.8267506719273813 0.3184147059482335 0.2526975798440033 0.07389205988104815 -0.03142532787651324 -0.001251106346632494 1.197816081965195 -0.1950544023535992 -0.548562457749504 2.357200464270023 -0.06077794046244336 -0.2019733514239469 -0.2372242711420465 -0.6540098451909482 0.7137933820894731 -0.1968430668555853 -0.8639095712482279 -1.371295792581411 -1.644037974059841 -0.4782230607571301 0.06797917532548688 0.04132227337584263 -0.7097127569799763 -0.4877978295372193 -1.001078448850232 0.3466148837624953 -1.064754763647799 -0.1422607645577094 0.0626648187831861 -1.266163847125168 -0.5647532190584404 0.726973599706253 -0.9176221246880296 0.4440680109778183 0.2590152648013809 -0.08349962830126059 -0.05822666909630065 0.1456053112221756 -0.007385166037501503 0.5176530310742933 0.1030799570556619 -0.1227042735452678 -0.1081985958255593 0.1755440162587987 0.9531135615880895 -0.4221931647646545 0.619936719164875 0.1150952510409524 -0.4877718147372352 -0.3960592657330697 -0.992670780194948 -0.3290723185839631 0.1781830926439879 0.304629466669098 -0.5030792207703653 -0.261486900250925 0.6081636020172586 0.4854178859664491 -1.85216688645485 0.6177508205823561 0.1673403481131087 0.3103340921867815 0.0442339460708862 0.01630196459147747 0.6577497292367233 0.3968929994778885 0.5201895965113782 0.1200205767916663 -0.2352095114719771 1.274127208239225 -0.05086056648204532 -0.01717388116769001 -1.597302714370912 0.4565534611811308 1.250143129876897 0.5969907805100224 -0.5339865118176262 0.5700963259671107 0.2743975248434687 -0.1838049306613451 -0.3397228275544083 -0.005551202858066117 -0.1962376576942929 0.3088408270879724 0.3005554716275466 0.1650537155154156 0.8556923942358998 -0.6633970574027589 0.5015877381499884 -0.2038719025449978 1.008853916126554 0.03191049855336029 0.01116784415811613 0.4644444344853476 0.2192010940894011 -0.2362651428677863 0.7312170905060473 -0.2365073314376534 -0.9089522719904565 0.1797040132772752 0.3677915931841226 1.00614272860886 -1.357487612232078 0.3512044112496298 1.227023156679098 0.1824957267038619 0.04070634881095651 -0.2725189850748172 0.2547221428326661 -0.2777684388687019 1.011695538782845 0.1840327829478928 -0.7101207286499253 0.262176408655813 -1.482096271764413 0.2075800465911938 0.8454008300333317 0.06563770917300227 -0.2549537935141284 -0.05360473114604285 -0.2142577208499103 -0.7251698822780374 -0.5374743783690333 0.6987197150173504 0.009090658802749632 -0.2291958341928521 -0.0003972169347760006 0.2945349481380881 0.1778516867485752 -0.7151599137438631 -0.1398368157761862 0.3313686106316299 0.3138701254658037 0.2716098354072634 -0.9061756851532088 0.4455743445320747 -0.02347518316823263 -0.6578086359588495 1.132158092239966 -0.01263745056019168 -0.03856598230898232 -0.1547333856380132 -0.7439430992259919 -0.7396599701460048 -0.1689365070678825 -0.195409062807408 -1.232179485785268 0.0753032385147259 0.4434312314094332 -0.07451897693326685 -0.9657304780787968 -0.4982088574246246 0.446661975505376 0.4702373476830178 -0.0382195033119944 -0.4628608631278733 0.3128344156044168 0.09156718496213886 -0.5941289230185809 -0.1856393243875391 -0.2427173132366749 -0.1326051860120857 1.538876463109001 0.1013139677632465 -1.779591248942587 0.2290594689182275 -0.0009725022940025468 -0.001410794485500091 -0.2720258486751841 0.07498284034108478 -0.3366382998954774 0.2383287444930761 0.1979184482472182 1.141919114446779 0.8312060350836245 0.02935531775413525 0.4124366466323643 -0.9465081459269938 -1.013561534640712 -0.4934030643532524 -0.9535425164767847 -0.0609256659172222 -0.07149414619766982 0.1883164856848639 0.4543664019387781 0.1560348652071747 1.019603241537867 -0.2790935772038526 1.011476822331982 0.09099307295377781 0.03597125130489998 -0.9349120714841623 -1.401618955734869 -0.2694150910283108 0.2027142769032953 -0.1973220381243113 0.413827267534688 0.7644017354545313 -0.9759977352343456 -0.3518629914164652 0.4168260405446524 -0.7117972772799851 0.1396847350536817 -0.1410305626255892 1.663775342578473 -0.09188677242391072 0.5624449047569494 -0.8983659961129666 1.160946504569755 0.08321317392691459 -0.001995476544469052 -0.03658599510567744 -0.9384671913517147 0.06192346861934106 -0.1017912033172594 0.6948027186179229 -0.1466387526525721 -0.2715072108805132 0.2744041882179198 0.9208740147552271 0.5966706814521628 -1.096775742761597 1.327418148558076 0.1127181316231024 -0.6541524976196155 0.2359069910558814 0.3927384031398446 -0.3989746242274422 1.122798918528147 0.6581362733395516 1.146385717539164 0.2126066052474601 -0.5404279337981422 -0.5552014301098208 -0.8941082423925764 0.08574913204213143 0.2272507284229509 -0.4211399667599199 0.2348178192936453 -0.3640192517798556 -0.5852838683051849 -0.1674010556296349 -0.3946480191270379 0.1304486594761343 0.9983024808143864 0.1054796104473861 -0.3559246138274332 -4.915081812460069e-05 1.288810763802492 0.6799389228014645 -0.2660700248812613 0.297185745719347 -0.2304805267847338 -0.009577119202402751 1.012698820402292 -0.0830156088007932 0.09212792853099309 0.2788370718956724 -0.2193539107041298 -0.1537836253367424 0.106006118140004 -1.19587692703021 -0.1812622727439637 -0.3574033510765833 -0.6861006437604065 0.1457934722257228 -0.07929266395778913 -0.513746441816847 0.2219484154996589 0.8125557580070691 -1.157729049742417 0.6019799960013835 -0.01326945408820431 0.3458686761784749 -0.4423864334201847 -0.1352043165775232 0.9068272668755536 -0.1255142126952127 -0.4439406993294555 -0.6582294251335365 0.1839916153467297 0.2342967581898367 0.09243146975419064 0.5132719690672061 0.790860234840057 -0.4821091850878758 0.8121463909095636 0.1271922539205307 -0.6722607805952948 -0.391429207575157 -0.2429236246624222 -0.8961510501097114 -0.2618750787618552 0.1006945353491696 0.5514194986812544 0.2371580364011795 -0.01265223775553115 -0.5158673595908375 0.004418913609166021 0.2571732180999389 -0.6012573387788065 -0.1455796843261463 -1.343358299050893 0.1318795266328286 0.6136499616491339 -0.2053128256121765 0.203207500344826 0.1604780270207968 0.2730617168321426 -0.0827383001616494 -0.2645515313982424 0.01922641874522271 -0.3896133518904097 0.5359319965128517 -0.2415281551699534 0.09886693021677022 -0.6821182224090474 1.502962579431843 -1.508816628247275 0.01680168523502736 -0.8155689480046389 -0.7457415883237667 -0.3939970878170384 0.1301367543651895 -0.3429847021653248 -0.1781346662845059 -1.965249384045411 -0.02232128257624882 0.1059908589443891 -0.115488495763999 0.1616887040625793 0.5479709518926782 1.811084404943249 0.3424304525985636 -0.2736060737261014 -0.2509069001349741 -0.3882520367835797 0.3028014008985637 0.4745975617769554 -0.01168968118814007 -0.1382200488280114 0.2298345518026973 1.618811144779635 -0.3817554056080544 0.6534505035634525 -0.2592228293001818 -0.1062333099037817 0.1784367165589181 -1.228850266161622 0.01425219819603292 -0.04750628965479185 0.8224618267978704 0.8438672008903834 0.2984234654441524 0.6946074991735325 0.02977426951812094 -0.9932856700204233 0.2922490618112557 -0.01924536596890606 0.7018819579089909 -0.4863770573915189 -0.07478969940480183 -0.673174899847609 -0.119234782355675 -0.4521415708698876 -0.8640182170132472 0.07743234658575286 0.1462504725293912 -0.0004254387032255843 0.0787925958273191 0.3719379096713115 -0.05337580644491671 0.6207702910746298 0.07943462095238667 -0.1744632595489936 -0.3287779723619405 0.4437206355212664 0.726951309973197 0.4241871391401888 0.08283623920184202 0.6041036153214653 0.6439114474053667 -0.02059703421538178 -0.3332089532454656 -0.5082891010259587 0.1914385386968415 0.70349009311372 -0.6797734334319103 0.2251458656213864 -0.01135502411326087 0.9649040071489625 0.07063111126274621 -0.1227825146948179 0.2076956656030029 -0.1042263570043112 0.7776871547590611 1.245768517231706 -0.6815214562558273 -0.9056566706919268 0.1925651431121722 0.03768178211476781 1.139238114935457 0.2397973522309026 -0.06507623851109565 -1.025254427377408 -0.06934927673146801 0.3476424059413645 0.004036922735970567 -1.469088613341994 -0.04022064077887057 0.9150346865958513 0.713939458413603 -0.5404065333066969 -0.0830211220681422 0.2073815399561149 0.1558152882244656 -0.8550172268418832 0.7502567604350435 -0.5021459550805725 0.5754750298490729 -0.08548976826586284 -0.3610167124232473 1.641087305639216 0.2045611656289119 -0.9823656250179063 0.005330660592573141 -1.222336262303553 -0.1409585329849893 -0.01294122641966205 -0.5678249777584258 -0.3590950082624058 -0.251734630771921 1.077741334166388 0.4502566555818021 -0.5024295576045574 -0.6427330586407803 -1.357502098420416 -0.2248785413128706 -0.1481924347867273 -0.2263391938568396 -0.1857278780043372 0.4773700355592685 -0.721559093691483 -0.5545719596602092 0.04893335925305073 0.3056354547994332 -0.9365690014677985 -0.3118827403776613 -0.05655642808409039 -0.6118675788724572 1.366203326397083 -0.2525765033230121 -0.9071792557059291 -1.936724639254757 0.1369733492074009 0.07554608577403364 1.102683972597146 -0.1310454772315364 1.651740740479806 0.1925342962732542 -0.4096306866838871 -1.398644589991209 0.462817206676529 -0.7270112716041393 -1.655083056385586 -0.3870422404683039 -0.5340433664317795 -0.3282534626603626 0.02898196884557397 0.05014012119899122 0.2376702342044199 0.07445922941734444 0.396349803539838 -1.081196221308206 1.146408326821819 0.3605961584094533 0.2183377070068976 0.551620494606189 0.7292447452173312 1.013563390213611 1.34886111871961 0.5294871839473035 0.484107838659942 -0.03942284690332664 0.602536624228456 -0.1992806911369902 0.1681474424884877 0.06534667306200649 0.05339493235434679 -0.000521405827381655 -0.03147765474651076 -0.2802926042653443 -0.4225588221799698 0.0133705362874531 0.464328160586792 0.2933254736331824 -0.02874614733474719 0.03961886740712867 1.258518608086522 -0.5785020539407222 -0.01677354815993691 -0.02294425069940966 0.1614415618593735 0.6744603679198525 0.2736562470897643 0.2616481291951588 1.0835774978842 0.09542290661747439 0.1915200912861708 -0.3093178942457876 -0.422760516884081 -0.002125939318939408 0.2076178489305149 -0.5553958920065393 -0.1768803391992995 0.2806489134624635 -0.1220024020005342 0.6151651735128487 0.7290010892597134 0.01277277101473132 0.3302593397566649 -0.1284608295422909 -0.4213705412646818 -0.2125786846299811 -2.807095352312937 -0.1527983751276962 -1.232528727955027 0.90766361144111 -1.432981885573397 -0.360057041762578 0.2546341773780741 0.1362291051333016 0.2742589867687425 -0.102407846018495 1.358327408105083 0.119719008755302 -0.08496262451918001 -0.5891868683816329 -0.1567953745937573 -0.4313799359947473 -0.1946606951807031 0.8736181913573842 -0.5344674421748716 -0.3905216440721886 1.37806287136224 0.06210229954180805 0.2171823593887879 0.06547474275135881 0.6846943213500067 0.3054660471941042 0.2838512577583591 0.256231967544118 1.827049829935743 -0.2419773368726026 -0.004741390421138043 0.1399271737935459 -0.5800972651767581 1.287746063680194 -0.04885241172740078 -0.2792801842011998 -0.2474161863678992 0.4451265288801195 0.1062279643862463 -0.1010103403637186 -0.2582715106809884 -0.0796197652339219 -1.618968348709519 -0.2466781614149973 -0.8636076319432525 -0.5488390345962991 -0.1324437928544999 -0.2234866975963475 -1.225679338013641 -0.8167243571895074 0.008040805712648313 0.06074431358888657 1.163111464601468 0.3681121234191531 -0.03615660473432059 -0.5710903257437884 -0.4054747115716309 -0.1851336250848281 -0.001798807770996984 0.4812334006837686 -0.7763977455735293 0.3418131835869285 0.1416015371244675 -0.4078068434130842 0.3710599287443747 0.3537317472133443 -0.2267588446318329 0.04353233064758962 0.2888339444862962 0.6796763244558085 -1.830151242032017 -0.06167754534267485 0.4613179346606717 -0.004860574172178867 1.379026604279347 0.002422775861578686 -0.09558719716919441 0.3681006218240457 -0.6478350823644752 -0.901893657515357 -0.9084115361192869 -0.09925607504292679 0.4045935966322372 -0.4645771988802145 1.069440852510731 -0.05418965932345764 -0.4134904537727495 -0.9244348554083678 -0.1510932059553238 0.1184521271320738 -1.333889299874957 -0.2471275280654791 0.3533530359458094 -0.6391958506417025 0.9250509753614513 0.3806250636752349 1.052921660848928 -0.1366102763424624 -0.3695191737909008 0.09300773858510482 -0.5964726057589241 -0.2109307488569403 0.2630096697035191 0.90255659242957 -0.5100911019167372 0.06081444205680256 -0.2570075086102198 -0.1378333304914238 0.8424922682459719 0.8445550782590946 -0.05978777144640373 0.2979296131212906 0.148874810627647 0.5525104166715064 -0.751186645878044 0.0774644391949751 0.002437346678588759 1.253565611371376 0.2107945070696582 0.2635220057044378 0.2423267906408766 0.2125052966742705 0.2459719076985488 0.02305863297147964 0.01498141834800159 -0.6418460155694552 -0.1462348981957497 -0.143679034418995 -0.02262082844165833 0.3992488204613606 -0.734389832805788 -0.1541024380635924 1.672441228037348 -0.3023557057894758 -0.3719336986041298 0.3042220208245219 -0.999914721700676 -0.147288457371042 0.6793970199071333 -0.1157566787672963 0.3104256032712974 -0.08080372654568821 -0.9121566533495236 -0.3495371439218802 0.3283047412999811 1.320424568355325 -0.1589416560326246 -0.2048657692082675 0.6672748755797775 -0.6054879639494157 1.19282441718662 -0.3564091628882681 -0.7367700555866785 -0.5881746915170962 0.3651508582908846 0.1028907484401506 0.666935118316282 0.4910247878015881 -0.08744839516675289 -0.01578585721844034 -0.7712184491830459 0.6190982117141911 0.7644281620552086 0.3085491097179515 1.082338858646833 1.203356425742313 -0.7634862731254701 0.1826832176847512 1.131350662065187 -0.06060554754189157 -0.06057469185384063 -0.1779470612544429 -1.232814537595296 0.06832175933581293 -1.582495542167097 -0.0358747504152255 -0.1225375842451329 0.2518356685914756 -0.394963947260028 0.01157451373338125 0.2548633786435894 -0.5538064109427735 -0.2170177197639168 0.1563277909693371 -1.064725146900324 -0.613445830540323 0.2736252572711341 0.5215335607677511 -0.2342540028736905 0.3896040320450762 -0.6787051285206815 0.2094510401762357 -0.5804107871897459 -0.5754740550103961 0.9860320442769216 0.8483670976724269 -0.04319557955255919 -0.09596559216927208 -1.830187169088557 -0.8456281486678395 -0.3436554324021364 0.1338136980440174 0.02284979054402094 -0.1760774224641636 0.3178922434434888 -1.28925323406246 0.3427055455602758 0.0007571693897419357 -0.5043631817763637 -0.01603445745344381 1.779509330776212 0.1306658718493073 0.09864362419083535 -1.076526882383361 0.3525017332343904 -0.2586852799548191 -0.9243014892554808 0.9569071644931485 0.281064682573209 -0.3324237660865739 0.128042955471532 -0.3148322571298117 -1.116347126866483 0.3327642205283997 0.6660042781785122 -0.4787094939434918 0.3514979257537613 0.5008041063522812 0.0643617965873861 -0.5123327370711316 0.7741888914965341 0.2616797308850862 -0.3614655700352238 0.03912825297224358 -1.484458609774488 -0.1093844000320278 0.8452996061845774 -0.7641137133407792 -1.339026635916496 0.2276618914855167 0.3135401218776288 0.4419797469303826 0.1430584495204485 0.3227571140353934 -1.629977743988126 0.003535096478009364 0.2392928605440355 1.024033101946676 1.035327599902362 -0.5281014719829284 -0.1099400404885307 -0.2316574713328662 -0.3178217555827968 0.5100334538909621 0.9807499758550119 -0.285258020934849 1.185484084075575 -0.3608402616976211 -0.4607880229165555 -0.3486179089347911 0.2703410469090876 0.2572710813825761 0.8230086240588106 -0.2061887215551523 1.66681616662113 0.08200822546022635 -0.6804043075254618 -0.01987319455948962 1.422011268287932 -0.0214799849508431 0.7427236927071197 0.03962280571438929 -0.5926207491216161 -1.131937070834663 -0.3463183317991501 -0.05871055447017814 0.7838867186961701 0.2055461867276461 0.4660612711286717 -0.09471022509514317 1.646761841537618 0.05246887686792558 1.564172783296552 -0.1062667248032079 -0.4420189016288928 0.4206011271824186 -0.1365909602325316 0.3869447683540134 -0.00937136420562976 -1.133030422292414 -0.8293811724635558 -0.5562784912065601 -1.104753201686462 0.3561011284809139 1.188295001265465 0.285855269390463 -0.3497091491558367 -0.09008549508659768 0.2949553876611281 -0.3175704315081272 1.250428999300874 0.211471833371858 0.2006745358985708 -0.4133713563717945 0.8852552630599131 0.1917981373436156 -0.9649540086417863 -0.1985697788187627 -1.124093795043015 -1.183600786265337 0.4031929516869798 -0.2905342317274029 -0.9276184845613115 1.75822258472581 0.2214789435392732 0.02721922417781753 0.1486931975946938 -0.8340449428008331 -1.253671916609375 0.6409957377237715 0.319168418246855 -0.3683822613156874 -1.652686356424188 0.02229015154547473 0.07104235850907513 0.6967683928585487 0.7022289170642018 -0.4297240495796251 0.002866444575351806 0.08885451371476766 0.14376188039207 0.01113053840512942 -0.4371240616245896 -0.05803976712076665 -0.5695883735063353 0.2088507580650557 -0.2899724714989547 0.008321715623304322 -0.2340811571808195 0.129909239375517 -0.7384190210417153 -0.4510759230629389 -0.04999304755741292 0.1699672551973433 0.230193823187197 -1.080742294435146 -0.2969571627063149 -0.6191074139250388 -0.2973120485056623 -0.2646164311681693 0.691521462147009 0.0540497460649956 1.169716423735636 -0.4188326664284103 0.3171829360097225 -0.634960554326396 0.2632956299611364 0.5939934311013466 -0.661195478093425 0.4731638606090331 -0.2836885182654524 0.09833931187505041 -0.1290917562635577 0.163445920466944 0.1295201236963756 -0.002969794265842395 -1.052487093027269 0.218615322544456 -0.7480550814135692 0.3474316291206785 -0.002432688573827941 0.02960961338106104 0.4483103882078256 0.6195998194032984 -0.01170366524618333 0.0939005873876466 -0.636878008339577 0.6938185651165975 -0.3973186991624816 0.2664962583057128 0.2555963349934259 -0.1182073891713414 0.1119539901200358 -0.1018366171291251 0.1618746998665379 1.33792443969146 -0.2279764663103877 0.7581185771702043 -0.09395746172285752 0.08416000564248965 0.4272363438438299 -0.0302325203568257 -1.166224001424633 0.03379884323302958 0.8768886914811103 0.04815248028180899 0.26579524961172 -0.1633549638331611 -1.023450798042397 0.7031273268936985 -0.1098532873216993 -0.3069716785091564 -0.04068420544208612 0.04076997090399779 0.1605891287092176 1.173579860833057 -0.1108520920051703 -0.1763472490336739 -1.199386369391617 0.4596642430250329 0.943306482935423 -0.4902759335233775 1.325169234910765 0.20167573900753 0.1447363953228944 -0.04275554460680302 -0.1843356053710862 0.01530191074047465 -1.23155998457862 0.06197351825138535 -0.7523048901831774 -0.1643059330787464 -0.6491233493461226 0.6296607327062687 1.857993553554228 -0.395350381443038 -0.3277273180842931 0.1475350991878964 -0.1585877030381081 -0.0919869667442117 0.01954169772815774 0.08381437568525166 -1.756868461032404 -0.805106858482496 0.2922502405567925 -0.1882028768539997 0.4828914518186561 0.03922931444329068 1.48069351608074 0.4823493754812194 -0.2735379135617566 0.5054445844801878 -0.3675719481330626 -0.2960981740657621 -0.6080760173823739 1.336015701368018 0.04896238577930864 -0.3215676887109744 -0.4543341209179004 -0.00035892303757796 1.485634028621859 -0.2252283135905544 0.04364828083670694 -0.2210002410237216 0.8364788853784484 0.5352570193536335 0.4849139351957661 -0.03240603645183361 0.8279415821772989 -0.2670355988447766 -1.000557028869041 -0.1385594222503792 0.9279362297793589 -0.1634266270119618 -0.6470913481355142 -0.7537261525236476 0.5583418207653408 0.2049635639263625 0.9546040167196014 -0.3711786910924736 -0.2814832043785522 -0.1197437232946175 0.5389969430159587 -0.2729719258787212 0.6233125809241228 -0.2173867136910662 -0.2361997550392798 0.1218204915776637 -1.343501200138142 -0.2614968890880421 -0.7531394974939116 0.07009299139805783 0.006566096142532292 -0.09309582843113359 -0.546070701163447 0.4341750414524454 -0.7054141783326103 -0.5641669465068694 0.0175756686155608 -0.3256852762559492 -0.3926729632439329 0.07330056045930132 -0.3737088184610315 -0.191995248502398 -0.8290363580909799 -0.9178600264939284 0.2562943202269976 -0.3200379386069045 -0.1007295636245367 -0.2928923860100224 -0.09756107258958939 -0.6024345306933148 0.5886488289823653 0.007861761892890597 -0.5400966915995682 -0.3838224660229537 0.580605440583201 -0.1846987171815255 -0.4960658511116886 0.3530770400083091 0.3860677278145822 0.2331064685248422 0.1801097026484821 1.429622154936067 -1.297473850552624 -0.6533817163127419 0.3233495028528398 0.2973053820884971 0.006300060926110826 -0.1131492192733089 -0.2041205478954912 0.08680825276766571 0.2112339970341568 0.2127071437755848 -0.3674185442735132 0.1548416256150972 0.1365657508175994 -0.2144990883073198 -0.4860914324551588 -0.07325546478601105 0.006763056297770913 0.1740672590839887 0.8219248562631898 0.1500484682655066 0.6546408588826464 -0.2336727390670425 0.6862019041994197 0.365626926652184 1.005665756669275 0.1078070756538879 -0.00615623178160593 -0.4793628419404031 1.026937182401764 -0.5439138259353189 0.7161463727853586 -0.1423909143656052 0.009164298144639718 -0.2557755656110564 1.119920138972423 -0.2650545863872195 0.2353518330040172 -0.03521378588082432 0.8744574122188603 0.2618340922588907 -0.501269034659069 0.7613079335810888 -1.021170508243102 0.2656164699269634 0.4891003094712912 -0.08998219928723683 0.09585387828305209 -0.0196062491118194 0.25749343879694 -0.3597286894882982 -1.752112795648156 -0.7940804907309248 0.8222994074517199 -0.06836960099217415 0.1604748861571411 0.4281835145898568 -0.001421288716393808 -0.2466864978535875 0.4538105802582421 -0.403615658201406 0.1658066584051188 -0.04349461958389723 0.8080532036180478 0.31562092608237 0.1392922966587344 0.4067254061030676 -0.06543277124382313 0.09869657203421309 0.226703680853197 0.3574312420060116 0.8248917416228601 -0.1591945078468835 -0.3710391548615063 0.5014621825643895 -0.9917773068153639 0.005671830426085204 -0.5214367237575487 0.105038696225211 -0.5764707073364497 -0.6199567681615815 1.569581707280358 -0.1491263375786761 0.05444127812107434 -0.8720040671774735 0.9471996545602503 0.2530994996790739 -0.4770311522134313 -0.6740783573356715 -0.6702257886270098 0.449976615735494 -1.533667196014044 0.4383113855465129 0.01494377549513528 0.3023596466719178 0.1933659143906749 0.2716689023622842 -0.0003723279416908566 0.1712721159975862 0.5446639275448596 -0.5619567022115276 0.0320769993263226 0.3170235952941213 0.8920939901115543 -0.05595592582247 -0.3174722573323867 -0.1385871821926937 -0.9521562509228149 0.3141071817820579 0.3484743391897338 0.5622368433709478 -0.3387671217995301 -1.528578640671878 -0.3834750805245583 -0.6656227395821722 -0.6698547111053933 0.1003479254123498 -0.6468132810391394 -0.08934950397538637 -0.005974639108495086 -0.3813838062606889 0.05919378618488746 -0.1630055059455016 -0.2736720064358298 -0.3866447846743233 0.0708084879608111 0.6081099290525176 0.2521987601816718 -0.6116748669906081 -0.9912937805355682 -0.1546464037193493 -0.2947523956942179 0.3738170080595877 -0.01363785818309327 -0.3089306563279157 -0.5900230802380599 0.4228168870807842 0.5605519846680092 0.6040238227172623 -0.238305589954469 0.4727424652723895 -1.615138521967368 -0.8836662224398647 -0.3366224851026864 0.9189714547252142 -1.548996887383601 0.03120494506000392 1.019706190407449 0.2988136361659101 0.4081292923081506 0.856867470770867 -0.07782411301401553 0.1170277305172833 0.3752215848630819 -0.21182674322534 1.081019451960885 0.9252668150187329 -0.4556613507650177 -0.08724101151477276 -0.7245318561630916 0.4787343007524054 -0.101048302376826 -0.005579590799648803 0.830376876281253 0.4553029405574017 1.599194939634522 0.8238905580375938 0.107054390144616 0.2168729784371842 0.1701777051504829 0.2386262396342021 -1.399599679503285 0.3341980454613308 -0.315803042764578 0.03746674530072969 1.573682913711923 -0.8975274683784057 -0.448906523382021 0.0007552668985841139 -0.222082976726645 0.3028943845695495 -0.1365071733229689 0.0198568370392663 0.652144521238736 -0.1130268200373489 -0.6057703558886857 -0.3949679064731962 -0.178866781308313 -0.2081319824128064 0.565939466124705 -0.1811869631387932 -1.104060546349715 0.2470111552176686 0.2855002170139218 -0.04485068844376787 -0.2071192555810132 -0.5016290950003226 0.6311564936175784 -0.2744634317525028 0.2505209318007713 0.06521498583941378 0.9466824564422945 0.1199690477931284 0.4506244719917055 0.1111783189568887 -0.03382692093458287 0.09120073706179675 0.9428074702968042 0.9133743252833787 0.1692928153090864 0.2909202519129756 -0.6297246469909098 0.3928689017220898 -0.436349564326433 0.5173963927780991 0.2498254076685221 -0.1977846653477285 -0.06400927675284623 -0.2917773882765323 -1.415419626059968 -0.4148833894414747 0.5515207627622694 -0.9276081948301346 0.08523184298500476 0.2166795685950264 0.4472261756482457 0.4551087818347214 -1.039382258564896 0.4496864648127571 -1.526891509348312 -0.09149012536438904 0.2913671496962867 0.009700488649546282 -0.1228821880819372 -0.5214775659316272 1.498508653082564 0.5554701623228102 -0.5411569825500706 -0.1092667936499137 0.1641331282726841 -0.513634900643499 -0.1452433342000624 0.1196230601549395 0.1038457606311203 -0.3794788531745594 -0.372696909588574 -0.7691641142727127 0.1639331360852102 0.007619231574252658 -0.4959936774717285 -0.01515932823100748 -0.09317078411454553 0.3285238739045019 -1.187013268171471 0.04872202251294834 1.506877358978991 -0.5027236872826105 -1.150747254808482 0.09854573944202616 0.9099523294136652 -0.2969432604739644 -0.1062257890176632 0.5072511236199085 -0.8272972393725591 -0.03456346853458688 -0.02433368881708277 0.594845794335972 0.04523108827803814 0.006673793637057707 0.3420240022261625 -0.5209840488554184 1.777883753255631 0.09145283231198824 -0.8671077013770859 -0.1512352096420158 -0.1986509240495242 -0.8841237834517177 0.4781095295746777 -0.04965526093615853 0.203372988110176 -0.3661713666011096 -0.7960721491880475 0.4758510624228049 -0.01279420024982025 -0.8243441915660623 -0.2327646515430941 -0.5089318637810875 -0.2745024441996822 1.077794067805481 0.4609124424099142 0.7479777783470202 -0.003311960508755539 -1.187321835244975 0.1076227778259369 0.1498402363376025 0.4496489073394033 -0.03275698786404382 -0.3289952936108954 0.42964792232611 -0.00110679670597351 -0.3797442374830337 -0.4370377695561711 0.02074789606041613 0.6747751366538955 -0.06508401901269166 -0.8078407971909133 -1.057097934900974 0.1994206961294321 -0.145432917612452 0.1718764269341036 0.8184729141232239 1.609449377712081 -1.234671211974307 0.2221796132656095 -0.163965212521826 0.9484623186294943 0.3910499311805728 -0.4008080723592499 -0.1656410009926953 -1.213841535099333 0.4195643721102885 -0.4215172488236797 0.5407837760526291 -0.3877140184831183 0.2234809528003524 0.1369092583674472 0.2706580147672187 0.07358427853648448 0.02646182619700363 0.8161555063664279 0.05804481582065033 0.3735107913520532 -0.4739217650822471 -0.8359609399213838 -0.0001726685199143639 0.9409989887784261 1.379325761938494 1.490262045280624 0.1456032144222385 -1.128236713266901 -0.03825682745634212 -0.2809589164048221 0.1317192346929454 -0.3470819246255888 -0.0411481163176723 0.7949170055676944 -0.04467708605788743 -0.1767862285272365 0.6180429905172562 0.4646465264238578 -0.2872304035004576 -0.6177988130105305 0.2176609577540722 0.7233972458934501 -0.1331537916987981 0.8045585585461369 -0.06907871272794902 -0.6917527957578261 -0.4561367185662697 -0.139310503256825 0.209157353170932 1.46701927748003 0.1026502047946587 0.04421094279420608 -0.8810573101971582 0.3053771619915164 -0.2925741275700669 1.772719896673496 -0.1758943335352101 0.7658623122196602 -0.1702716363467389 -0.3326541340308535 -0.5714149720626025 0.4864995849855411 -0.1327362468906947 0.04878293636026466 0.9801374656263518 0.002419049203466219 -0.1702427768661167 -0.5665534763373354 -0.2634181797716341 -0.0542257498012696 -0.4614534404393778 0.1891458198328335 0.4100947738574763 -1.657859890355259 -0.5816910724614779 -0.798160542254549 -0.3538161913780976 -0.6698861329639364 -0.6871566591805288 0.08165141144360996 0.04443766769182408 0.32279500827929 -0.3440231334169384 -0.2023655238184165 0.8982618326632151 -0.8077646484855141 -0.135780251102673 -0.3103784394139824 -0.2393399663878532 -0.4122077514471099 0.1640928175314668 -0.7485463546200697 -0.02081094090732039 -0.2735373098142028 -0.4191991243526076 -0.3918866703803811 0.07082069870959508 -0.349907965569613 -0.2458764675311181 -0.4169091580623311 0.0597604341035334 0.03378465056815776 0.7875206569720905 0.9237109907583072 -0.2289724098295154 -0.7141060261685206 0.6759888102012899 -0.1756394366613969 2.230173287350019e-05 0.1582277981187507 0.05801017349535929 -0.1592193696654477 -0.138029557352955 0.07074113343467618 0.1212661633412315 0.3597019555629221 0.4940749946402073 1.562890493424731 -0.8598798934244654 -1.016700485717098 -0.4737105723863577 -0.5286944935514978 0.06965776916988445 -0.2285726614620636 0.210646962567195 -0.448916333389473 -0.464118301177147 -0.07884780990801349 -0.07745448357573903 -0.6724026867790572 0.6457024467922827 -0.1183462997504691 -0.1748966269994269 -1.361798838255281 0.1639036526029983 -0.2016261527292491 0.666979487687771 0.4977248897713265 0.7219260458533938 0.2050742504449539 1.033430890018884 0.6655852008732615 -0.1169297032253078 0.333374865934365 0.02045629060752598 1.910540500282971 0.1617631437204476 2.19078253401864 -0.1993003102974216 -0.2124823753268836 -0.5268437615225152 -0.01089129255203076 0.7612713798958164 -0.1557423118651579 0.07293724249699016 0.629113748457675 -0.2327711832383525 -0.002756811526047058 0.3544057549911969 -0.4388386067030483 -0.2118370194638206 -0.1110919546172896 -0.8275950027260478 0.05901615728200647 0.3177370747730848 0.04620753611263399 0.25826846728846 1.427521339959259 -0.01670739869518106 1.178612394882645 0.1755100784366236 -1.726813894311403 0.2716916792388219 0.2045176690017723 0.01893089442212658 -1.452838360919571 -0.1213211562109747 -0.4092667519867255 -0.1920063010258178 -1.038238302515277 0.06500434014556751 -0.827830277834824 0.03398978617525521 -0.9740991657864335 0.1357745296285946 0.7179706672826949 0.6632016951694545 -0.6998085580051504 -0.03918847818966067 0.4147084305273775 0.2666071778179572 -0.02578330775924126 0.404884469098099 0.1726247186408944 0.009559042820064607 1.113041351639874 0.3710940343123487 0.3325259277936736 0.2327877616390786 -1.725862748756642 0.3299483072289581 0.1298135248822547 -0.343752833107681 -0.2998546065336915 0.6261827708146969 0.8399459577579321 0.1075361957016318 0.6964966969562133 -0.15130988090429 0.2265508713001955 0.9689530896401591 -0.5604924798778912 0.1419269274708152 -0.2094842506796482 0.7975440253830022 -0.8249344876558264 -0.0153617147772469 -1.82879501255847 -0.4648777747726701 0.7378882268655688 -0.5398789698022689 -0.1701514947990204 -0.2913904368633518 -1.151997636799895 0.08606640132299535 0.9610277065655043 -0.0359782389174177 0.3267624738896961 -0.7613253408864761 -0.000814396405379532 0.2465906824888318 -0.5050226062836456 -1.465731761199825 0.1551145294529248 0.01494784631140103 -1.064274444981663 0.07885930847855943 0.006462605788540144 0.1253864162764528 0.1893331593917352 0.1046331672195149 -0.4206824769406246 0.005366315934017612 0.4705503107088232 1.275130956893724 1.073966998758828 0.07690293780745747 -0.01292506491444689 -0.794572572663523 -0.3510897378132657 0.1904710462029045 -0.2922757101452106 -0.1938969479866759 -1.679654658857592 -0.01883587998266223 0.1613873075700072 -1.024487140720792 -0.3981494292285561 -0.8073229481082705 -0.4392504581057995 -0.1099186449558242 0.2347146074614322 -0.875663189974861 -0.01275636599442933 -1.233574864328763 0.3193185259700013 -0.3940189742364923 2.62214285010266 0.383677843957301 0.4667660471147037 0.8486513630186452 0.3452862672897589 0.0840697993184735 -0.1981182574100799 0.006854792055411389 0.008631502142023359 -0.584980048165324 1.65011782821898 0.1532635295022603 1.43204132044785 -0.01707679522628055 0.4406119168313429 -0.1452358215882505 0.1265977631231827 -0.2419337406246109 -0.8337434373897563 0.03116680965854007 -0.7850873846483155 -0.1904039827785052 0.258428204004037 0.467782036252983 0.3475987499782687 0.3186699212378202 0.8557848391075196 -0.06035300132968113 -0.4941468510872219 0.2162237126814673 0.955605201183359 -0.2525492342793845 0.4170175125101879 -0.3222288552113142 0.6911988757872655 -0.444653817415115 -0.3865524508424225 -0.07860358992368476 -1.273323238225879 -0.2884967194814838 1.331686897768011 -0.9740869898394175 0.9441493528469391 0.2749188127920367 0.5703365301667949 -0.253604676851599 -0.6021849004078275 -0.0457632275705763 -0.4848310803248652 0.6708717527390438 0.2219471476619257 -0.2281185584817955 0.7149436057928036 0.05494215920560225 -0.1835306919603151 -0.5787885304630184 0.002590919636250273 0.2818288941619889 1.127156670428848 -0.2804822553863224 -1.580888671468456 -0.540283825072824 -0.4032355866387271 0.1301444442537744 -0.3167326513794332 0.04973297210296977 0.6692116648074699 0.8174727413726645 0.07232717264882588 -0.1935125186872148 -0.5552356483943461 -0.2102470809853027 -0.7121448277405941 0.9100942421661375 0.263596809425531 1.169160412013456 0.4578493880071072 -0.998248916922564 0.1107171283440824 0.1746352730587266 0.3936219414168368 0.4294912094668381 -0.4106450866329445 -0.0006447139804097095 1.181591945015947 -0.2022397612411082 0.2843366739123622 0.1074979746344329 0.5197940326389061 0.01137701219020802 -1.613215736468257 0.4710425895580589 -0.2513168741472919 0.367739439444773 0.9927826208228825 0.1692026286364623 -0.349411938515637 0.5386185018135625 -0.0896558149600305 -0.00558888147510553 -1.348878973173224 -0.01197460412951501 -0.2371786574080166 -0.2936512249812598 -0.2239562852032991 -1.369768678392673 0.1830666895821451 -0.5269291078134919 -0.4295688891297577 0.2463905060670805 0.7723847473892499 -0.3058949933466328 0.5232641176728889 0.1332916281454557 -1.038695680416845 -0.1164874244175794 -0.6335572963482948 0.735718120378561 -0.6885193520454305 0.09365541314977315 -0.3252670269396641 0.02992757411353734 -0.3958890629697529 0.04599916161863814 -0.03986710004081589 0.3785137346938612 0.03236076112512021 -0.1051547871912128 0.406377027044278 -0.4197142071748087 -0.2103305906424386 0.5259538330103068 -2.706720955379975 -0.2042117407165928 -0.2339116121730471 0.2607766822516553 -0.8157503617974321 -0.5526300122701981 0.7651242749750211 -0.06420821533666973 0.02972204097338644 0.172194758508033 0.01359397137923357 -0.3713624297139965 -0.5508765640164565 0.975742596197973 -0.7909727092651181 0.1632759854891081 0.1995022196265631 0.3602286619710275 0.7166936662900065 0.3427174533202405 -0.3696019970436344 -0.2520221936012058 0.8562178820416622 0.08387473980154711 -0.4265641314252099 0.8783588139604959 1.032709582679105 -0.2681121781236651 0.5132979166002336 -0.664725680088463 -0.4153796213176673 -0.9158504911635695 -0.1106175246189552 -0.2329505942826202 -0.1478202313841176 -0.02145825488267121 0.2920036829199599 -0.1598820281121318 0.6445137294907686 0.4724586798968688 0.5112632289174006 0.1462690884916736 0.07247827426747792 -0.2151695343391437 0.116749396005536 0.8242014626198486 0.05806333673058063 -0.3036671809701751 0.07519567910488384 1.702638623615344 0.2205369811754218 0.3110724432483599 0.4602032550020747 0.003175358956240912 0.4881642993755481 0.4250041560612511 0.7667863678392518 -0.4002130029524788 -0.5435739941236406 -0.4618197442440318 0.4194810632786438 -0.1341127020617755 0.3990774262295393 -0.07762271131347265 -1.751639116234379 0.1985138851867617 -0.8573352986089066 -0.03521764161776793 0.8979282170845727 1.40331963403995 0.258698661099542 -0.4199287447939823 0.0003434516849826751 1.466883854574607 -0.1055883831207385 -0.2188614282811413 0.529315715569746 -0.07195040306786329 -1.317976683186849 0.1117613216636784 0.1158771491524886 -0.2764106722597167 0.6081316618292097 0.2118012180331515 1.331397646807969 -1.352423253480225 0.09596573655176431 -0.03853444797868152 -0.5088512066471024 0.01765777058820202 -0.08293647864904267 0.5336295085007825 -0.7474938686119609 -0.02639539933851466 0.7105162344588484 -0.09195980031788109 0.02436261178279274 0.06443246989293212 -0.2033798096916387 -0.4962577328352287 -0.2722778839953673 -0.150992898806912 -0.7683444968617952 0.5225419473425813 -0.01551423342257921 -0.01671986562432214 -1.158038156567561 0.06395799001804504 0.8387336657270936 0.999796858476502 -0.8900880371232109 -0.09474817309304226 0.470470571389204 -0.3158805527163833 -0.2706418971225953 -1.422264336381135 0.0653582907132047 -0.8282291514593302 -1.800717381386515 -0.04024788241234768 1.454062167419402 -0.330211038948589 -0.1711292208072674 0.4863845376147716 -0.3993807636262981 -0.5275763537732652 -0.1678762234623918 -0.5367370595290649 0.3663151878058721 0.1614217912187482 -0.3048196756459939 -0.3249693796401346 0.1205578489540708 -0.579833454201291 0.1169477623577639 -0.03582994863623454 -2.049230144852141 0.3819395481911046 -0.08187656193940562 -0.004016345247040106 0.04388664332499268 0.5340732667893757 0.3200011171741743 -0.3458555667663992 1.313814108592942 0.6338875996378741 -1.534910489519093 -0.1282850309119495 1.558778378326855 0.09795564416893607 0.3368359069251406 -0.02138727939071155 -0.08170101827648084 -1.670801815236461 1.60568246245104 0.5278339300540313 -0.3839147001351886 0.6305268931494462 -0.2339608669356712 -0.06817908722460136 1.184229217400011 0.1288526944084411 -1.220534927141071 0.1230158330507756 0.7382525973074824 -0.2762883254256406 0.8319722759075298 -0.03212892653068408 0.2809674222549466 0.1719941578041043 -0.05364241178985535 -0.37337142198815 0.1362531638957616 -0.487860457155859 0.7156536792854591 0.0123851393803323 -0.1159551562392169 0.2664377435133796 -0.3925402792320332 0.5610129665299448 0.02600427084718146 -1.586999424248047 0.00788446007729433 0.859924452549519 0.002241999914859849 0.1908698779371484 -0.279579114322166 0.2661849302559071 -0.8745992478003523 -0.739212748599502 0.102912293252093 0.1042482406353712 0.7522679579506448 -0.2351455837362212 0.2462734202682072 -0.08548678652490754 0.02291123801468113 0.1447425061479383 0.3037726355659441 1.003233919817666 -0.06312125652711324 0.3977133817088455 -0.008482133874312745 -0.2331961937854755 0.5374532392811856 -0.29768164458563 -0.3100350940555027 0.1997579897594769 -0.8653696873796802 0.08708438523470087 -0.1238403172274392 -0.9356453754102972 -0.4128941258743467 0.7138410938109767 -0.2371589791282539 0.3703244980961475 0.5553706914582178 -0.1129335239159351 0.7434654913829332 -0.02264273040845401 1.00374446354272 0.602646342916156 0.593233574747033 -0.5655788162248196 0.8542337728171159 0.001386081110881908 0.2279843858672024 0.5021178141897858 -1.089768652406349 -0.08813701849353213 -0.1696864915231296 0.1338911024435094 -0.6707131835012177 0.1450042245228115 0.6063887697550957 0.1357305144316302 0.5646209639195896 -0.4410259932860437 -0.1522161276931944 0.3036640288243963 0.6690225753161779 -0.7276304999967121 -0.5112227694665753 0.005976927641263814 -1.065556537301959 -0.07832211738819451 0.2467911736268057 -0.1099761618934698 0.7139544400238468 -1.183119343743169 -0.3483768440572304 -0.0715823327509691 0.8197614995407713 -0.508534927627137 -0.1608927637312188 -0.1911286003973006 -0.07500198993812701 -0.04620986980967488 0.4396941569906052 0.4240418046509372 0.4967761491605702 0.2821704834470316 -0.3410015776527159 -0.360629155368411 0.1023883257498143 -1.277547841112612 -0.1961221870366495 -0.1972315120256935 0.004308436351198853 -0.09770973762075004 -1.63000218362535 -0.5035666353765006 0.6667604692192899 1.42727746840294 0.0711450153676849 0.01330158555059384 -0.05706998624405261 0.8836066260485363 -0.9447984977785089 -0.7950759162203752 -0.8251778344219103 0.9256227569922866 0.1919819369161456 0.08970820778210907 0.9056518636897268 -0.4116526311232385 -0.05349549563689973 0.04394511244440286 -1.057183185457301 -0.06968521646399149 -0.633756875598839 -0.09561709015743812 -0.5901840870030105 0.09431438662363992 -0.5953692682822151 -0.2858088537628475 -0.2733842731695637 -0.2960808204229427 0.6913425358535292 0.1642717612596176 -0.4110490837314776 0.7079391402312073 0.1927518570292457 0.1949790432040645 -1.541395967104559 -0.5526399777759659 -0.2182428126010331 0.493861661770947 0.4472982160727733 0.2916026169749931 -0.5120162951858446 -0.004611157905884383 0.2848065906960576 -0.4819103409525703 -0.0009881821868409715 0.6023849947272393 1.194606486674412 0.1415703167464824 0.2199269647801496 -0.2802724155152094 -0.3783803199484119 0.1948913084332062 0.8588396092177258 0.2924831439752298 0.4392012844698429 0.2616931942183084 -0.2101628376276465 0.6067384056162183 -1.631142107493821 0.9214009052877697 1.640485178173871 -0.3168257640019096 -0.2977644776847134 0.7273555735177083 0.451534708927478 0.5520420406199261 -1.216580185600575 -0.3042871949762395 -0.2175344464029202 0.291919839396864 -0.01012693246733473 0.577596330897672 0.7531998083637215 -0.1976406735550646 -0.3078845383542925 -0.492540669837476 0.008694943892279759 -0.07162395014086247 -0.8597077126363054 -0.1111026743778592 0.00597652023798394 -1.061402431664418 -0.3003483091624195 0.1878647194585698 0.002798710925000543 0.9985863990901143 0.3515238894443583 0.2494933927729093 1.263778675055233 0.02252049026429529 0.5741979381831984 0.289158565318286 -0.0192281999635027 -0.09198848547467328 0.7991714594633794 0.147471233597685 -0.02417771808576341 0.1574221468776636 -0.445364672176391 -1.093824626086371 -0.3159204083023297 0.01173350158515047 -0.2073396108464937 0.1103710075953516 -0.4443596279421863 0.06590613301600801 1.217253651697017 0.2579764258480871 0.9693170145769003 0.4119793969437701 -0.08015070517400247 -0.4269609587447145 0.8438746367009075 -0.1587533973371651 -0.241485862792313 -0.3869353369827631 -0.2967186488697183 0.04423066736148673 0.1272158241475111 0.11687726859046 -0.8326436415843405 0.1667081705093222 0.323978117014933 0.5878707711615507 -0.132968472525831 -0.4971748487697198 -1.563768065355326 -0.01343509046864025 -0.2790681324111713 0.005607186120750364 1.243770526495015 -0.2296375902002349 -0.492905239860704 0.5312944908636577 -0.5217215756906052 -0.388581127960367 -0.5788953698516139 -0.1392679924260822 0.0729297856354483 1.13618327762142 0.2984311113481673 -0.2920216602495725 0.2623908173103977 0.1049152706754294 -0.311113771117201 -0.1217013738034364 -0.2492607981476386 0.1819472995396276 0.8092907850457202 -0.418843847500411 -1.216856143660415 -1.308130772950574 0.04890123965393709 1.124647464612919 -1.897064386100735 0.1524155924143816 0.1951920360032165 -0.4055385053052983 -0.6146225659097359 0.09160337449699808 0.2550850413595152 0.1216594412917461 -0.05397966721165814 -1.371824942904106 -0.5353577592909889 0.0004394474012955936 -0.1694096349988515 -0.4148744341635904 -0.3610790635387239 -0.8010995644663063 -0.01745663354130735 0.8421880666745918 -0.2235395521942463 0.01046724213989953 0.2566931919085093 -1.249958892278483 -0.2341263500807219 -0.06438080949474397 1.055500429782642 -0.2231559342000035 -0.3568559956472051 0.3663682362547642 -0.8443284709717134 1.240255487951303 0.8843582524401249 -0.5266708498668673 0.6926693532225732 -0.5411834612385139 -0.9187104611463436 -0.2139522239488786 0.8741278247227973 -0.4158098397469041 -0.1022416413352972 0.2620206010504389 0.1356013717247536 0.4765262397156311 1.838623781561642 -0.4136117067623487 0.2266628364087592 0.9060078296813273 1.981611126604209 -0.1689647424355135 -0.4014790790034724 -0.2103248589332412 0.8887714088473152 0.05807649673203695 0.4693091994024642 -0.1752631127176085 0.5568258661147082 0.1557662320833305 -0.3418540925341709 0.1497321257056986 -0.04118576813842182 0.007749785368476008 -0.07382813756906748 0.2160268553906773 1.71116044069322 -0.30512639053749 -0.2227552013176217 0.6032380251004223 0.3691570095415174 0.3164243732440095 -0.00285185056742086 1.31437005807586 -0.6768590392746489 -0.468124767676461 -0.02376727805981882 -0.5318995664291288 -1.518537276680418 -0.117931874322624 0.5690055502712668 0.5504667789968355 -0.9998384199528509 -0.08289504580636702 0.1624284822179848 -0.03254116063812511 -0.3815360547710124 0.1252541724578448 -1.567722927026147 -0.474114923145795 -0.01792050065923281 -0.2552839025160577 0.5924145114676613 -0.1296466671952229 1.196357390427604 -0.2900383729210926 0.3691454752991377 -0.5128552116743319 0.2667604525797893 -0.4979807088757298 0.5237578471544525 0.3375022967635588 0.4906116240236629 -0.2193569077940382 -0.4813578122158042 -0.4702437110606689 -0.01246244671500566 -0.1585787159527526 0.7899699090713157 -0.7076966980098729 -0.04760624817231941 0.2438844216458631 0.495283407188085 0.5611093167021339 -0.2699427150348847 -0.04660957635553295 0.4639897727640272 -0.9908869223164499 1.632429352525972 0.1041579973133533 -0.9313183275409852 -0.3930982919773868 -0.0826673689185073 0.3888642970332836 -0.9021065584403081 0.05857859627154484 -0.7424714531312008 0.08733809805505599 0.2040673319232601 -0.9392414951871534 1.318044980966916 -0.3348984921100603 0.469477873439528 0.2839159308332529 0.8560800019802889 0.231705645407647 0.001194439125244872 0.007212029642546152 -0.9808713533977895 -0.6175089232499374 0.6096287046230991 0.395749067004413 -0.4864145779264352 -0.2110158927218826 -2.788313663740712 0.06609503729446076 0.3325699808644026 0.2533820014123596 -0.6436678952406127 -0.003911649102557799 -1.770495670886491 -0.0238675863385039 -0.1224350783255606 -0.1651485644346044 0.4669527535039583 0.02168671219081369 0.09060215256349179 -0.02547423735714998 -0.08129459602194371 -0.1482964204533703 0.9645395961635133 0.1811743588845958 0.8942853016117567 0.2132185310309286 0.05148392633227702 0.532148435424322 -0.263833179577848 -0.004309849769830548 0.07568540116905408 0.9865261638339867 0.003028561826710842 0.1027624191822345 0.1498238007425538 -0.08179591761159478 -0.6072066413048728 -0.5172854015856247 -0.7284089790359091 0.04685482459043495 -1.252366685995534 0.3125405111106055 0.8976835662688796 0.4197741820856142 0.5522943516443916 -0.1607640179561216 -0.7847607553551823 0.05342990630576633 -1.312388642830455 0.2596304909147878 -0.5621338338936255 -0.1343231234730977 -1.303798025701846 0.2045335733699927 -0.009503135800894277 0.3596045140877417 0.4471437641256241 0.720921438659533 0.6227680673791285 -0.1438697467262331 -0.2722781683257248 0.4749879375611117 -0.03828674372700586 0.1542715294056521 -0.7284568299615646 -0.2584854884315821 1.550092822759284 0.3461056432801592 -0.3351423430435844 0.07981755732937419 -0.4236555583376119 0.6960988581488308 2.145614860792008 0.4701060605794099 0.154500697809285 -0.3889113827165399 -1.33135448385617 0.3398225336750602 0.04460118750818229 0.05342563379963176 -0.8697445204795388 -0.1865678025582923 0.7979291859849033 0.1290374175182865 -0.1238254682189701 0.6200194773414981 -0.4254324661950592 -0.3588365811328998 -0.09623799046615697 0.3883909247020907 1.197554249128553 -0.522163388038997 0.4968274038759587 0.05453420136393336 -0.8471625056982028 -0.1595425833430482 -1.400502182039711 0.005695295559836247 0.3539809582861333 0.6322948707591425 0.4561623734685762 0.0745705930369078 0.4108716088453139 -0.13341831196473 -0.3900369427718183 0.9268006835740115 -1.294335333588324 -0.002491039732525191 1.754895256803858 0.1341777592678688 0.2517867352194734 0.6533641760722859 0.08794515886168162 -0.2466344419987714 -0.3157259083719726 0.3902323399527879 0.2804673788463807 -0.2487691186145262 1.210559452917516 0.0005566568725993238 -0.7347274570226956 -0.6816488394627255 0.1651384688653371 0.2928029353484653 0.07758810975789392 0.1341516493913216 1.027237970496434 0.08613111820876973 0.05934883307069007 0.05264301939888378 -0.2062683190363866 0.09291214705934085 0.1414621980084152 0.2302334771940454 -0.3386899447701037 -1.142327113084131 0.2063824584330351 0.05973409305324468 -0.2036653978454848 -0.2177484823633271 0.008655641379510613 -0.4135172208636177 -1.792979060059189 -0.3622417364692179 0.281435266085747 -0.7656612264854158 0.8911274467891264 0.4676288712518942 -0.6360064015443472 -0.0987903461148997 -2.119281243380201 0.1110394751623871 -0.9845587985666611 -0.1513251573235425 1.100408681431784 -0.6932998104324538 -1.035123019911014 -0.475329473584813 -0.1605614840905693 -0.7495185023611832 0.04984375937818425 -0.2203740293005348 1.073393502510585 -0.1042651667704382 0.297139993234505 0.04347654663665297 -0.02154095587995905 0.3157615307672345 0.9723842879513301 -0.1496386065676809 0.8487250328281266 -0.07417605106727264 -0.214603469340852 0.4403621442427752 0.7327192862630643 -0.723005343903242 0.5725368966373757 -0.3824696059258632 -1.075711886650978 0.01582797384299805 -1.103983997808277 -0.1809694769262483 -0.5588769227799937 -0.009009857663802216 -1.087030460328107 0.2795457340729387 0.00543387108008212 -0.7737521124703552 0.4588194018146338 0.1652313624393164 1.622124783057928 -0.5668995836694455 0.357111921398713 0.4053741252112437 -0.2344936288971591 0.8087011274110475 -0.7662737126109046 0.265231961999999 0.6735689451773545 -0.0245350899979743 -0.4012343935869074 0.06823194211764005 -0.1430699594653568 -0.3172427561012731 0.4434016246604268 0.08043415990038956 0.1786251965677544 0.1744634451989582 0.7858433558949618 0.2502424123781389 1.013146040036505 -0.2180763082569251 0.5289719234949257 -0.8306372058768475 -0.3428251790086239 0.6804168474363286 2.347231004735358 -0.9051949302624626 -0.3268764812848374 0.4137540120487906 0.6741030305767083 0.1265730644250372 -0.8430903652879327 -0.4393664252474943 -0.5300764861530824 0.04252608690468872 -0.001976403164308574 -0.5511029287368295 -0.1865371829383592 -0.06070300595319588 0.5472081871439723 0.1955911149311549 -0.3835044288854172 0.06256927429880771 -0.6867525100940103 0.2445408208356476 0.5002298305882208 -0.9329135436103996 1.470850164630881 0.01857256420582937 -0.0006661215413926002 1.518734686748496 0.6393628411238228 -0.1914319666536053 -0.4523563018990488 0.09488367186094941 0.2980402464287574 -0.2190236846890265 -0.3836928077967107 -0.2583591953697084 0.1128837529021281 -0.4465083768442535 -0.04862167116489344 1.030691606212397 0.1613082690701637 -0.65269799159592 0.09660560499246366 0.09815108013996195 0.9963936050959095 0.3768680825522093 0.6244773615056833 0.2044931498562311 -0.165854091931066 -0.309225726150814 0.9552194667209127 0.2992784951955408 -0.3742564033953452 -0.3970691141589235 -1.605481999799461 -0.004599571743976449 -0.002978224025736097 0.5710304989256995 0.1089015194911094 0.3651943456104172 0.1785729908437716 0.1003566234867681 -0.6120390485565789 0.1729247318565713 -0.7399360490314502 -0.1031408842177146 0.07337841028256376 -0.1077221347886118 -0.4942989183920329 0.4398659573188926 -0.1540688793311486 -0.5862734262988045 0.1732421594540462 -0.1348111104190725 -2.198345582627192 -0.02353496940674179 -0.008309363559327362 0.2198750717401871 -0.113378013556003 0.3641670913762277 -0.2460005216423152 0.1133294565105399 -0.04716231840956685 0.4336671729456835 -0.2728510076478144 -0.4262411122308794 -0.9311642120714152 -0.7210360136424374 -0.7681391611787154 -0.2780119059341957 0.3282726619931929 -0.002915201067007344 0.6747481259870199 0.2562631217855211 -0.8036838733052716 -0.2869323089738728 0.3290145988207594 -0.3538644618411677 0.0005528349127626539 0.5086997237457539 0.2023971306807182 -0.5303701447030313 -0.6728973819842998 -0.2253591157297635 -0.04852926717020697 0.2058382980273463 0.1641875527943046 -0.5931401749308367 0.2022481955160235 0.7698593868858127 0.6477401463395499 -0.5360400080531121 -0.06404102041051336 0.2570874935655604 -0.8134563142490723 -0.3031469593627384 -0.9264714054789247 1.547549058094009 -0.09201874620507965 -0.3313794413360298 0.2962108259372961 -0.3401065629735876 1.03532513869376 0.7453453493773368 -0.6455562683727526 -0.2478487475841034 1.359102502968799 -0.4588539010597256 1.116832495031345 0.2729836967700902 0.1654777799454682 -0.3558706399786785 0.3738126493941502 -0.2939094965802991 0.03934066683742154 0.07826823846396982 0.420755761640156 0.5859934291300196 -1.488636676628417 0.08951449023735962 -0.1326343711389712 0.008144018610798994 0.1700662901642692 -0.187744961883222 -0.1328130488486721 0.414895933028647 -0.02556873625738719 -0.0001505211332928768 0.7719119208517168 0.4049549255149523 -0.1399641695955967 0.2665330853899761 -1.874622071522344 0.190668015505029 -0.2654634439734451 0.226479100628777 0.7473674539411554 -0.01473215246184631 0.9731267763894818 -0.6098959401945625 0.07764713822118316 0.4226701730324743 1.187436640780876 -0.121751497973574 -0.2357865218162942 0.723502090929896 0.2963987513714924 0.6329559989765502 0.9016055120920274 -0.7068792900572813 -0.2885994128405014 0.03745755206568219 -0.7748775501404732 -0.2344588625361945 -1.048357501874119 0.1524777886341465 0.677012840039396 -0.3863382752348809 0.4782267779937743 -0.3342340760424363 -0.4445070593426145 -0.1335695480702648 0.1196528056701274 -0.246361016374012 0.01724731843420714 0.8447723998458697 0.4354074471425289 0.1081763337983945 -1.406769961406611 0.06120339825088731 0.2486272336037539 -0.5916886169127686 0.03273360625273435 0.5320835530937307 -1.278652885768477 0.1094369106265332 0.3044410258181608 0.1433608010600222 -0.1662980433282762 0.07499909123111279 -0.01689663361392999 0.5820749117284886 -0.5718775967665599 -0.1612480859066592 -0.402866201861707 0.07854626930303613 0.6260799910256595 0.2132978048445366 -0.2227345182191175 0.5162615142776069 0.4415832168992386 -0.4642669318205165 0.3540792490521294 0.7504284512472462 -0.042793435643429 -0.7042819128793335 0.9172993482179145 -0.1927575357334662 0.7857717787317561 -0.08344166213601156 0.3393089513307472 -0.2204869262810958 0.715964940576824 0.2604632218626737 -0.3567654030732639 0.1910867803357449 -0.3062013771850261 0.01256014189636591 -0.5375980316527987 -0.1873755795623695 -0.1578479482712531 0.273018933188471 -0.8137695538659009 -0.3610794390864984 -0.7067657541236586 0.3077384335171534 -0.7934118160090056 0.6874994389606091 0.1648764407312674 -0.2761931017647348 -0.3386745836401087 -0.3770309761461209 0.6918442968298468 0.3100432825616893 0.03829304275598119 -0.3306427700097077 -0.714480937861021 -0.1196037128928275 -0.741664776531748 -0.0211903565794325 0.5953042821831036 -0.05971431074915568 -0.2002431560710402 -0.2298828548387786 0.9159422772906428 0.06069995145943023 -1.05778664354511 -0.5046474433592409 -1.468798603593405 0.04675766192789636 -1.144016345743914 -1.727871727802947 1.125992850784718 0.3852217829144668 -1.163843519071548 0.2028049590025491 0.08673950525651454 0.5473151457664236 0.001102802462852089 -0.4055091976108878 0.02356226442396431 -0.03599212751215136 -0.7749576569609459 -0.2681696139453962 -0.2410029125534161 0.2532479727997316 -0.1025328796420099 -0.1516920322046226 1.111381205470655 0.2748692815884336 0.174254748283978 -0.6570219663707274 1.703355324903938 0.3322411228289094 1.110702873484635 -0.09840912432764858 0.2322007467838979 0.08276628398324397 0.3895638427297454 -0.6366455938646106 0.09897672221640764 -0.08599631256395818 -0.02566661179415547 0.2619151415605688 0.5145123284536248 0.3079536469623471 0.7849937167951683 0.007955944906420546 -0.5045455048367857 0.1326005156114331 -0.1826424451110641 -0.2505539277300917 1.232267009123458 -0.2599905427251402 0.1136699402845232 0.6784107204776232 -0.6532242715459686 -0.4720661837620753 0.2253351174331107 -1.472174890061817 0.6080969295202076 0.1248660809906006 1.518842811267309 0.4302039665344267 1.100609198166066 0.2019102244298479 -0.2456247592888274 0.0192128048100955 -1.153787098617076 0.01480559556936609 0.6107386719636987 0.1629493700115502 0.4391549946873702 0.2259372122305245 0.9982530222843584 0.1231176095064339 0.5482408026321727 -0.2444203389134025 -0.4531855536607428 -0.1231730551556989 0.05746314239863921 0.4942854879996683 -0.1455695341017378 -0.5219513773528713 0.7932642305279796 -0.03416346011741962 -0.6104429304659987 0.005052210172372886 -1.100473679633846 -0.8847240843254663 0.2729786518817931 -0.7275512985866014 0.1006327629604797 -0.07594864181213772 0.7584091419633502 -0.384814739471859 1.227343768765027 0.03449272961203417 -1.205516648966713 0.03760836165838884 -0.138753827500224 0.9399715641798211 0.1175485359960523 0.7786603892606554 0.5058041508935442 -0.1002489894922986 -0.03039042226043679 -0.3635176930874507 0.3950863888258877 0.9197148452992391 -1.138717594258187 0.2322223844660698 -0.525691988768222 -0.3653339178384906 0.05843035299588567 -0.6987925144726135 0.4248493044514513 -0.4819310209598501 0.4740843445803228 -0.8230888334126032 -0.3528757349068437 -0.06815319529950392 -1.404257846705005 1.718981376332276 -1.529914932535912 -0.2647334907159397 -0.8031409701017379 0.7438478600340437 -0.1475754852278806 -0.373135743999101 -1.284607175075392 -0.06317626508310471 0.3996358163296512 0.2452103878436073 1.582274118105036 -0.05871841983948829 0.3002449189474185 -0.4680549911940516 -0.09484352693145508 0.0009615386309612542 0.06024082475648134 -0.3250768802162265 -0.03072466848679144 0.4595808066258404 -0.2551466351677493 0.6184615940077633 -0.6972545362788263 -0.5397421013471287 -1.256092893381641 0.001532529752053144 -0.02773522099209385 -0.6335217138283966 -1.486821094982146 -0.7563688382878873 1.09215265633764 0.09335624588108915 -0.3758496783525533 -0.3763950417162066 0.7185481176230838 0.8617101844902566 -0.3697209322375309 -0.1262931689226826 -0.4213822916593604 -0.01466256572160097 -0.6247414772176006 -0.04846273309692602 1.015814469622203 -0.330251655230401 0.9843675329019876 -0.3758288758992002 -0.2087227649657514 0.09251752801371346 0.08254578765190122 0.1316157776229111 -0.5604841521803058 0.3343105269694866 0.3934704113508905 0.1854642572366804 -0.6542829702085916 0.5077571570531105 0.2513154123992177 0.7552178115693211 1.435820831342067 0.3504967678252956 0.1880892068554045 -0.1963688957620652 -0.3882310840505096 0.6584899565495497 -0.3305670246374298 0.44778021014198 -0.5248415505757659 0.068639249912406 0.004959670153164779 0.4633757918542045 1.338631798533522 0.03459693382252711 0.3939840599502547 0.1773377702075943 0.2861325631502975 0.3842730796363407 -0.8816839832879334 -0.03560031610267894 -0.9142700250492736 0.1730650872059772 -0.02407883749927284 0.1606037796895108 0.1281539884757022 0.2478619186428272 -0.4825057708085841 0.09086865654120543 -0.2423284103175268 -0.08330865784343708 0.1726700258137011 -0.03316743959969859 -0.3902503420406714 -0.7313119873887826 -0.2288437608189539 0.5033836436225305 0.6433241130706973 -0.4626551082501696 0.1313289989259244 -0.09034065435337715 0.2176982591718153 -0.2653616574120609 0.7901155500738406 -0.2063270140525833 -0.2395258636054919 -0.1662126461371374 -1.170537424016693 0.5439725350268827 0.9699410400671166 -0.4404463423466668 0.7627839590076634 -0.3543842918265218 0.9279153319422131 0.004830427951837568 -0.9091326898073162 0.07282736274142905 0.6149552973887092 0.6950619083965763 0.1075396570595738 -0.310882234505271 0.3221007601939052 1.039625475157082 -0.3662631938311242 0.5604124702209224 1.017339740190331 -0.5456786721337079 -0.2977861338059188 -0.1480373489573611 -0.7195583319903497 1.583499699871042 -0.6521853001013167 1.219303677606796 -0.2218614120137065 0.1176692375358235 -0.004193497853531018 -0.004262650190421475 -1.573288461573785 0.2505691375438225 -0.0005215205837932129 -0.0214314569821515 -1.470926384341241 -1.222364118765871 0.06002019953317474 -0.3386307072094354 0.6830216160854617 -0.5684208922673545 -0.6112091020986248 -0.6570146529537849 0.4824359137444901 -0.08003137960980478 0.1976538816963037 0.05745690926501765 -0.826684092240398 0.1710135460758321 -0.9063170334910358 0.1165201243450679 -0.01880673579058836 0.6660136162904571 0.8516846282199988 -0.4441377381756003 -0.2001372173746951 0.5579216563688344 -0.9961682176916157 -0.2945070787097609 0.02648186467275081 -0.07210636252741906 0.003637709727706265 -0.07321609287845557 0.7847125016980399 -0.1812428655456851 -1.688502716138947 -0.6436430622744359 0.5748114612538205 0.4637403337079571 0.1836065439758514 0.1061532583513974 1.02356865348192 0.1919428727032795 0.08149896753580828 -0.5130700803235172 0.2727598447741731 0.08237181837506044 -0.6364655286436324 -0.6423208727493217 -0.3325862406744785 -1.324362198881863 0.8104080832188629 0.1753192291311538 -0.09578576086151994 -0.6451689627019377 -0.03209977123668311 0.1759522186305999 1.532542043159646 -0.44538646376881 -0.135249486953213 -0.5647095542208763 0.7013349405023127 -0.09087452280064526 0.6653300614570345 -0.007026283071417406 -0.001061767407010767 0.1499034017782611 0.4009799288099984 -0.4385922096067465 -0.475266991832243 -0.2433338591608568 -0.5689408369422784 0.465498602655275 0.06985652996817056 0.220529449412228 1.167616148224238 0.2166150403484225 0.5311167729714753 -0.3049796537426375 0.05842237884774906 -0.5121528594518201 -0.5897930325903206 0.1332853998308556 1.087315109729361 0.5368044299419129 -0.775943912796919 0.1570619595415939 -0.2970390856760092 0.05140511947972791 -0.1896927459260862 -0.6609974711147591 0.09614645611515431 -1.027847549593903 0.2012588205031291 0.270759220257739 0.3026800715194192 0.5768780252723336 0.3992237239966156 0.1165203753062488 1.193182766111374 0.08791131861892915 0.1788479078663683 0.02238619202997727 -0.3009908072615672 -0.3360297540163965 -0.07193000686982783 0.9537443831195681 0.000433152317933964 -0.07376460035061187 -0.9950093439537889 -0.9238645284663842 0.1280059208658915 0.04671401723424042 -0.6162163565243386 0.4422158140641907 -0.7553217750986558 0.3238195120530542 1.063430086521129 -0.09455034272337501 -0.8806762087188518 -0.0552192432795515 0.1476165783784835 0.9398374017653301 -0.0283870467946283 0.000183851915125865 0.9421229881076109 -0.7458049182645515 -0.280991739591291 0.1460508559770344 0.800255576170101 0.07433297471276462 3.254439556772235 -0.9313060909484125 0.5697494907851368 0.09781847432855288 -0.2867938832589376 -0.0274526812833739 0.2595211649545192 0.1149979487720205 -1.031208945892196 0.6159768822376841 0.6892837823114912 -0.6479037158396012 -0.3229542837125649 0.09693377861975727 -0.9293161994379658 -0.08182442167307961 -0.02087001275517367 -0.2285491844505677 1.596864797409905 0.01826210745888853 0.1132198875873424 0.08898446361138876 -0.878876059451925 1.094494088728553 -0.1492182782972394 0.3940619446446058 -0.4676352335486578 0.2575155745041807 1.342583148626416 0.05365839665435535 -0.1561383762445231 -0.06290646412909781 -1.114926500737718 -0.01004587192021447 -0.1749801105493198 -0.2055701075764031 -0.8727214999235112 0.1151307764523603 -0.00717321476711323 -1.026825105708355 -1.047070510481711 -0.08760934771141132 0.4954774263246404 -1.096618568194026 -0.09494453388003672 -0.7143088401927941 -0.8090929782030334 -0.7330353441097724 0.2439566762845126 0.5259460278670166 -0.1772422083223238 -1.258619646970754 -1.164364191468807 -0.01337127282518909 -0.2514727597495101 -0.04910446661362753 0.4823430444864105 0.1669953436300704 -0.0006310213453650322 0.6984033995624139 0.8388771919956454 0.230304362765203 -0.002091619093367802 0.2269491193580694 -0.6955258000030368 0.1072107471463856 -2.12440264835899 0.4323849213526635 0.4050192449414527 -0.1477569373599245 -1.649204949446182 -0.8415341185331758 -0.4960736355235064 0.245097919829865 0.7076607510079482 0.8589859798618682 1.400071947542194 0.1934365957569271 0.4769556602935295 0.07600994259932799 -0.6458471900310733 0.3192534857021587 0.9445938472812729 0.1812374379215528 -1.356056494763513 0.7558192505948971 -0.1837948099350979 0.2069441344084836 -1.486090176434899 0.1533249341811639 -0.5671143081942427 1.163329611669939 -0.2179257426851079 -0.177535914310345 0.3186389713390214 -0.1661277550543704 0.2496003288271919 -0.1608429281417649 1.002584435979849 0.268813148442489 -0.9038574700291337 0.1805211777225552 -0.5816575597294963 1.216225660787421 0.3369162451290613 -0.01120722697197893 0.2088408748835227 0.1492328936563546 0.5785620282777721 0.6860459990189932 -0.006011008164695376 0.3019925241962135 0.4012873449109772 0.1447322463714375 1.178618073929128 0.03579582176764729 0.6263981532754572 0.01004295091217715 0.208173824115952 0.1369055185493026 -0.03929971467010193 -0.8044778414846407 -0.311065810565384 0.6681955466765449 -0.1390150459356446 -0.2223689043243515 1.670174772894481 0.08903541606893442 0.06114971973342467 0.5475678204707255 -0.4281946308996615 0.2349690852423368 -0.3100916177126231 -0.6045756383159101 -0.06955649104658566 -1.120336481988941 0.7493850955280814 -0.1417184936817041 -1.133128449414132 0.1538986196708372 0.6498328741507325 0.01661219070172883 -0.2883165682240513 -0.4920416679543503 -0.2376243889908747 -0.09025290589830573 -0.07953425018415933 0.9541173393335741 -0.00694744176462853 0.1185483413803761 -0.6668806748576225 -0.5285276671327461 0.6446752928185746 -0.2118587486853211 0.03406769339531145 0.3431806696688735 -0.531757702801401 -0.209947427041012 0.7966585005164327 -0.04646209715164429 -0.2179702625165492 -0.1798694001360463 0.002383663637942231 -0.1309554215567074 1.088312233552532 0.4392554098434275 -1.550113258131998 -0.01258887269427001 -0.498498336938486 0.4804465191302147 -0.31587331927643 0.2343705198048219 0.07908315059569233 -0.05189470447990787 -0.2290488874773188 -0.1517041986463061 0.7974280024218957 0.5868044020595176 -1.557686535900393 0.1504479908358541 0.2983381285971308 0.1097486966009594 0.2316173108004888 -0.662436643919165 -0.4590341979789939 -0.1302245715599052 1.083584005312714 -0.05620568560797615 -0.2327332550533795 -0.6546036535277459 0.08033514922993348 -0.002505542012663664 -0.4043583436130427 -0.5178581668424433 -0.3454069517087379 -0.1377488983849304 -0.5648844053986858 0.02140535309554543 -0.1102306489877393 -1.764684855976319 0.364654555230205 0.1332483194374406 0.2461646544838613 -0.7822889620705246 1.392639903583314 0.07341114781990438 0.4638206971296958 0.1398944682197138 1.209290838685838 -0.1880411565445312 -0.4578895522295248 0.1850587560866461 0.2592678228129833 0.007130303385165442 0.845551559939045 -0.6638956891788503 0.3492825776488209 0.07959331325520909 -0.3324667107989133 0.0330779466892741 -0.4825511348188548 0.3286656672175624 -0.5947916070331075 -0.2348064613441846 0.1355769408788485 -0.4485038228783946 -1.557937897435182 -0.2861779840834719 0.370835746657285 -0.2280805119782327 -0.005856832204724179 -0.5257309299603269 0.1357810093447816 0.3336172685654898 0.01128475514678515 -0.002145617740037534 0.02877340667378473 0.09067748478140344 -0.5332017453160226 0.9265529376092196 -0.4171715660196869 -0.245223094688389 -0.07425499471290932 0.196113219435202 -0.5908150290102834 0.3837168953104944 -1.173095254475033 0.5989176197942553 0.03800742479213678 0.4724159252593589 -0.9768519353897177 -0.02537485042810304 0.8841517055601613 0.3460656707683697 1.173837156083823 -0.2907244301498018 0.4522314253881732 0.1421560123981572 0.120146026934589 1.120334910847762 0.03137951633054702 0.733137104023209 0.3035680291428143 -0.01946428925828843 1.404649028240987 -0.03479498476790881 -0.2445227458476713 -0.8210207106799841 0.4522602394049006 0.3577132387908816 1.334484283021637 0.3678968829809337 0.1177442681451537 -0.5700572812849085 -0.6181819913651572 -0.7899071449065738 0.04987413912537529 -0.003413981487535574 0.2398588031142344 0.1483981650642325 0.4705301298292212 -0.5279336837755277 1.047835638787624 -0.2912258339650254 -0.9416326272828401 -0.4251193520226914 -0.3309709922955845 -0.07269054187825486 -0.2695686956475283 -0.418634477457366 -0.3975497866958005 -0.2643436256668278 -0.5666800223897598 0.04885847466354764 1.248836430213052 1.568207202789892 -0.7374300425116967 0.3203062249796891 -1.015029006280718 -0.2994688289256007 -0.4172666551052146 0.6603191928191219 0.5528215925517792 0.2074970684573935 1.777982835450893 -0.3473542850866509 -0.8421133529360078 -0.0455678180324994 -0.9956308830303349 0.0600864199020192 1.815524894820219 -0.8553577772840322 0.4272616642855562 0.1784293429042108 0.02424450678171891 -0.02635911305608616 -0.004733313695092009 0.2414049748101571 0.5457368024351927 0.1096149802826952 -0.01076950086682337 -0.7625891800936128 -0.1700648762709828 0.2008341475744209 0.06154341563755691 -0.6374956811576007 -0.3180875763090078 0.6221352272288329 0.1336699763812681 -0.9196618024637964 0.1218664034228066 -0.5219765455204187 -0.04692543223646392 -0.5377558950519208 0.4648247629572115 0.08357334186857125 -0.154685281884277 0.1972415988018712 0.5666350534497576 0.5770517637431362 0.9196302436890583 -0.08870256521494077 0.1016880273806517 -0.5865977759725286 -0.3800069225831066 -0.3780183991757414 -0.1860910602851372 -0.2248883177887493 0.2984790313472794 0.07768066872726188 -0.7707261722752831 -0.1693340227863256 -0.9119727971611005 -0.2631985057506654 -0.5541986523499103 -0.04001787023693742 0.0006463801683628344 -0.6308736306762596 -0.8514828997160121 0.9003357814190333 -0.6324819898979974 0.4944578587145704 -0.6643542428514652 -0.004749415107076751 -0.3122886594197086 -0.04684507987482344 -0.8634529540696233 0.3094047201622718 -0.8279649881076857 0.828142206149279 1.103836351434901 0.08518381033917122 0.06907231871148892 -0.1645937920001002 0.5304732585767717 -1.615264894740934 -0.6217580358177778 0.03780517338619488 -1.84569556634201 0.6024039402093508 0.3725047775367555 -0.0828632995409975 -0.0125134546983189 0.1212626769891718 0.7138749612756046 0.325150099677296 1.118522462440565 -0.4657138601480942 1.455647977375088 0.5278713724750582 -0.8073188719961772 0.3057181004596321 -0.04933152103827912 0.06134069608374761 -1.846137309969645 0.2124655859231828 0.465149832976918 -0.5939156700140118 -0.3401308533216618 0.5947423737060942 1.2672119387387 -0.4707997166805891 -0.6252245213116888 1.285752139584901 0.2617168834443251 0.1816385356081212 0.003184372211430421 0.2966253718837327 0.847037098407855 -0.0482242992318262 0.02904219001339877 -0.7615495858630562 0.2812405481522033 -0.18423822204664 -0.1158852756282253 0.1842413113728314 0.7943406387284231 -0.2129635492105422 -0.4155448290499126 0.1707747819718001 -0.7505009739095508 0.4119783025880738 0.4040800607680585 1.642933981333486 -1.322953987496299 -0.3584672839170762 0.1903073957374384 -0.07114757778859088 -1.006169575678468 0.268897790699114 0.7780609580432064 0.367460864240606 -0.07215463425961523 -0.2486935086811077 0.1415854302673034 0.7035451465120628 -0.1653222439308877 0.321096713302183 0.8061411909317546 -0.7695182299476742 -0.01113400279118577 0.05046047301310809 1.135587986811026 0.3061969690895834 -0.7051669462669294 0.00740511854101758 0.05155727313359003 -0.02544242414203764 1.05136859365183 -0.00267623253945462 1.96274072371588 1.171032149332364 -0.6565986367919019 0.8629577666699783 0.6498268126199377 -0.6803701615732851 -1.709023956118278 -0.4548853128562361 0.08461471831840911 -1.093759214877475 -0.6284034827526526 0.07851832656011914 0.1278120419816385 0.438282213609839 0.2564300798913926 1.000844844279759 -1.810782086763055 -0.4268612473466005 -0.9802255275422411 0.3727301971171953 -0.2492686629367526 0.8749956986288657 -0.1287623749334946 0.3784985857203086 0.2691118357835006 0.007067846185343844 0.740111034632113 -0.0006324371055793408 0.4944976528465612 0.268312660063993 -0.3837776740128492 0.6398081838056411 0.01379889873794512 -0.8987956546793517 -0.5290738790528612 -0.1867312301973674 -0.5115146843313201 -0.5792535750174623 -0.2936129661209734 0.0347053597829729 0.2213995735390782 -0.02456412380500635 -0.007637979729180995 -0.5048154459504283 -0.2384455856304184 -1.952963864671547 0.1734352488570371 -0.08950538534351318 -0.8312483871036731 0.01753983104835092 -0.2221343396050999 0.2226994053527175 1.123324013770271 0.108117617115401 -1.509864137790907 -0.2389054865387904 -0.6622548626313427 -0.3952352789673075 -1.928619952316249 -0.2301262435103687 0.09823369122766601 -0.02342170514982868 -0.1001926117522078 -0.6529671108357898 -0.1636581577817839 -0.3289762487182663 0.2450335657947615 0.537698272505151 1.116472664686284 0.8383289469341446 -0.07320073143474178 0.084253548247923 0.1276842885655778 0.2836371626784543 -0.04680524476821657 -0.3671733934837907 0.3433336638116024 0.2032767568327836 0.9067693703772154 -0.1577713885359241 -0.09399077614464495 -0.3379751501188689 0.1921015075979368 -0.3147413253159226 1.278571652638744 0.02268515745334092 -0.1912008591019056 -0.4518133457481011 -0.07717249336465273 -0.2206998635398931 1.387889202736129 0.2353427259136996 -0.2522173548188975 0.3368969098121712 0.5343530604301534 -0.2069764486501479 -0.2373055315887616 -0.1498975833505674 0.7400493414798511 0.08004487684184262 0.2150426431498798 -0.4857706246226511 0.1847779553909497 0.6440742035141807 1.075815254377316 -0.08278454133675885 0.6732665719531413 -0.07428577043692092 1.557437256031935 -0.748766287071475 0.1740582699744 0.4229091341142978 0.1451533576966077 0.169689744940176 -1.307856493228076 -0.6249946349145312 -0.5653851014027608 -0.3599399751905838 -0.7429388509986978 0.1091269423195413 0.07581031662046039 -0.1382449284264472 0.6927530817297562 -0.2089367834207563 -0.2048355077773374 0.0262702282554667 -0.08509673760230353 -0.3827810877219545 -0.007274128471243829 -0.3570822606163271 -0.2684107185005726 0.6112099169290145 0.2851221067179371 -0.3480027903006098 -0.1210061964859231 -0.05812500637835241 1.395546869449747 -0.08469686989140855 0.6043569543313895 0.05154613745654216 -0.6467730759970222 -0.00761894215710637 0.2260255325778688 0.1977121812239898 -0.2995249721361644 0.1723645081951057 -0.362896072269891 -0.2239288120329136 0.001373384984902207 -0.5572276361483162 0.2948309933575213 0.06081025156466733 -0.3501672911562342 1.035664360171225 -0.2431696006834072 -0.3631657233193306 1.01458393273019 0.06370074081285107 -0.3369337041872565 0.716761618610133 0.2754904678473091 -0.3054967318522611 0.0885823069149882 -0.06954807767702521 0.0438908316435348 0.7392105100135645 -0.9602120935517604 0.3135043069114995 1.6246136539406 -1.048358079756622 0.7658186753860475 0.01053743032602056 0.4276231275633424 0.01137160874929367 -1.955958013721189 -0.2246966453456411 1.616346390121838 -0.1017195365663877 0.1208880525291745 0.1372993899473382 -0.9504084641454091 -1.085219987326203 -0.2444053379259966 0.08319978348275228 -0.902156182936777 0.05028921508646116 0.07749319580633096 0.07391573295406612 0.3106309879505605 0.31408119952151 0.4281317529419801 -0.05608913210230729 0.4362342998956989 0.006630618841771725 -0.1738467107375836 -0.7925411947845429 -1.154583462037891 0.5518601049354684 -0.3127663667350046 -0.4288075720610037 0.3833569902770746 0.8771232555390917 -0.1248126540790777 0.01215523777697674 0.04501988496185733 -0.3316792780238021 0.3399109298891364 -0.1214150148018481 -2.343891944689146 0.03520401206150911 0.8759531463686218 0.8763159126135771 -0.6428338104113127 0.2659206349234336 0.01525968123102639 0.3312738579598579 0.09458209797421135 -0.5175300556387975 0.04202605722319711 -0.3464209776278402 -0.5252660632327563 0.03433721018882979 0.3005909519625975 -0.1857845199821655 -0.8091877607627842 -0.2813258748128276 -1.099444965159407 0.3187831194792373 -0.2520924304233822 -0.3503617877914017 -0.390215621082326 0.6195630913944532 -0.166335374731909 -0.5091764806123065 -0.7089050110864621 0.1670806177349182 -0.2557133760290988 0.6291421623541849 -1.191307776329217 0.01402270118063523 -0.36039391618269 0.6771095642580358 -0.07933440955438709 -0.1205560931738281 -0.2570878803597473 0.3838914948393417 1.436795936741086 0.4102571757366443 0.3614967830833823 0.4332383619918684 1.601022980818575 0.01375669482256963 -0.6937739425992058 -0.2218079371602052 0.1764007890987371 0.3864068169520609 0.07764507086054236 -0.008674437038433305 0.1753118048423544 -0.4881960626490875 0.2968409456209071 0.8897773404026315 -0.08852956639716623 0.3797889764888452 -1.233912580819636 -0.3391769959866491 0.3538174596484762 -0.1713405708811469 0.5792358378633166 0.0003286117894374491 -0.3311922854679332 0.6655790699435364 0.4418800890600416 0.341636846669884 0.259901290822125 -0.04996379136523782 1.093061899455773 0.1939318493393604 -0.4455300975015262 -0.5405450582540797 0.7320438607523619 -0.231085793907111 -1.005058000003362 -0.3460982308358809 -0.008298986504004653 -0.1926076987797279 2.326912551604214 -0.1107567347596125 -1.499178801784112 0.6986014211472328 0.5483763539215597 -0.1708184921908589 -0.7994721749197214 0.6813832726682705 0.1478898306381823 0.3961250860003343 -0.02669148361708492 -0.3600903423016482 0.5706842047237463 0.2594337740723672 0.02793991253158035 -0.4664615942595871 -0.758552598061204 -0.7602863956006477 0.04454933230529839 -0.09802518425046536 0.1925436544703185 0.1081872711309041 0.3360326076025295 1.321867293249268 0.9595127080032025 -0.1211654515034963 0.442712391956159 0.4569586505756904 0.01683315966189549 -0.4424012711790947 -0.6777008947661207 0.0863889350680717 -0.3452130410626068 -0.1708131549987127 0.04580620100727077 0.1037308501251652 1.088696163187027 0.4560086038052079 0.09615698368080985 0.2438349381039081 0.307862202909866 -0.2275074286456179 -1.540199735638265 0.5493443602104344 -0.9902249982913204 -0.6045185082754723 -0.3866483687491315 -0.1260133877183856 0.6760771351144839 -0.07687205065948506 0.1437056020197347 -0.628904448515238 -0.7555884161511605 -0.4397695980127684 0.4513749699268388 -0.4359895607301917 -0.9103213260870652 -0.00147533380236273 -0.503016592532268 0.8304067304762934 0.1052130726313519 0.03825232881148075 0.5874738101627274 -0.1333528760974778 -0.5268003654081439 -0.9042866844924329 -0.9352462664463612 0.7008430150633468 -0.163453543507493 0.3598480759549726 -0.9707709214076194 -0.3305831992069857 0.4312079773515486 0.1560603327554574 -0.5855051804535971 0.5932618612986224 -0.303943416232795 -0.1508967401039507 1.385637391129345 -0.5745490501383809 0.3948256022912824 0.4890058704755555 -0.1746285986202956 -0.2275061962200831 0.8647095028524799 -0.4634427394407026 -0.4160520550872235 0.01490232203344416 -0.1531900109053481 0.2978417759782493 -0.9854798129054666 0.2537581845796285 -1.284465318118539 -0.8848827883367467 -0.1632693072053544 -0.3014462453099725 -0.1827467237048694 0.3023508576947456 0.7329107324029518 -0.491222293037299 0.004056676951668987 -0.3562159758830168 -0.3472639936343055 -0.2004727516620935 0.002555129984571147 -0.6187250263683192 0.3167659832920648 -0.4083828685655831 0.4464160028504802 -0.464748111177123 -0.4145084832371145 0.0179504905794258 0.2330151466871284 0.4626498402577963 1.513346893018529 -0.4360942279619536 0.6271701492546983 0.2809702111434746 -0.7265540515456882 -0.3884597780966327 1.942800647792498 -0.09004747921835128 1.658777256296303 -1.295617724545242 -0.2886251329943795 -0.0882036894036943 1.242290026722384 -0.05126091592614791 -0.01625511922938649 0.7913974010685284 -0.645417014690848 0.307018669950553 0.2873282634705979 0.1643713424442318 0.3713985056928754 -0.5487790872877565 0.0901020197772601 0.6736570360368273 0.2166400475375679 0.5230862473118054 0.9646471365524962 0.2249203670183682 0.1684477199740475 -0.02171794768399028 -1.369100965663652 0.01771626615587645 0.6869804907398591 0.2380264477894997 0.08772366695146007 0.3700348931255298 -0.005730769946057625 -0.1317853984797387 0.01372596365009825 -0.3369404577313142 0.7784819024708696 -0.454889966405624 0.1958399663028243 0.44363288992385 0.5643542306258968 -0.08761657309220358 0.02077834978890605 -0.05123042362312366 0.4101313898255823 -0.5433799205277925 -0.475460698174881 -0.03563434781518485 -0.1387972952306781 0.0009012901212900637 0.7435771093854862 -0.1995309006362598 -0.7267817723995921 0.769461688033796 0.2892165514946288 -0.2695409893985081 -1.000832131964548 0.5491140909761508 -0.912633297755145 0.1415379423419237 0.3333979988815312 -1.193289294560228 -0.2088063789130037 -0.1414811573356274 -0.5342008931172517 0.8200498165913401 0.03077736554194669 -0.5021268248919684 -0.00561724495350783 0.08818133883639073 0.7323841387383273 0.1941468904874742 -0.3144393355829329 -0.1053035399583315 -0.5454120400760385 0.4380340393640779 -0.3067692372453701 0.00810029164579687 -0.4694208646641027 -0.005739990531824509 0.6885292846895888 -0.171405321912363 0.978084339098344 0.1460945403167914 0.1760607061735871 0.1289462119238317 -0.2692599648636937 0.02957092790031477 -0.3070732707909126 -1.431378869700734 -0.3318687524474767 0.3351172888898338 -1.259280319985091 0.2119317372177819 0.6610515553682218 0.7128157847280485 -1.370964444153247 -0.09530566233185216 0.007232500985944233 -0.1914796572747827 0.03233180225471561 -0.08904178569438526 -0.007331137789347805 -0.2111950785226733 -1.634123731365164 0.03677682620296225 0.2821538624182907 -0.0008215429554927732 0.5852428665100661 0.576518750768226 1.105144618286737 0.0009166729706608897 -0.4793729662833683 -0.9082947312406788 0.01175868476700641 0.08291513544653796 0.5827649715457693 0.815670271782731 -0.274717547884389 0.3955361928974898 -0.9348770116627289 -0.438304925470082 -0.4473955496211568 -0.02261270905974665 -0.7938461175534767 -0.1789452709034107 0.1955449084117816 -0.4150291223761683 0.2106933239389876 -0.2591453755519433 0.3252981469690216 0.1691447066650039 -0.09555825669927176 1.292570788648281 -0.566528400774422 -0.5266214750217608 -0.9438460807920076 0.04415671867603037 0.3583740847664957 0.009967557187480896 0.5385138360209789 -0.1801459347871029 -0.6540999978256837 0.4381510610366321 1.152239745668987 0.3304414013150495 -0.06962356735650005 0.2688650506698149 0.4274526546056364 0.4231588634262354 -0.5941999260255395 0.9440482669234426 -0.5916825227047345 0.3680727298334777 -0.01166656925818359 -0.979018712878854 0.09278539908110102 -0.06495088809187152 0.8052598488269346 -0.2187284911361166 0.4588693700112327 0.5013712861198325 -0.1199861565413826 -0.06033448694173 -0.3839513395086443 -0.09745696494602787 -1.296679589825393 -0.1652449185035671 0.01081159101077798 0.1413904370585726 -0.6047002285244962 -0.048696610086921 1.236608570236271 -0.3092881382690439 0.210444965570377 0.9196730744570512 0.6980747344930203 -0.4098052414502079 0.4932551601828721 -0.8181744365478031 1.679477680950447 0.09511513345061189 0.6017822468612544 0.1824538622813971 -1.348422142143908 0.6151887479512416 1.031583554530766 -0.1982925575697108 -0.3445382152252794 -0.158724395708118 -1.769082958622374 -0.7828216933558731 -0.9097402419048946 -0.2063197775401466 1.80316837722412 0.1512541986811428 -0.3342757545355187 -0.006717903180855837 -0.6867600876069795 0.4004492567134293 0.5735895359080879 -0.107826385636742 -0.1599954449052077 -0.5086071352318381 0.8998940909224057 0.3784108452438564 -1.656616749087626 0.1115931536655655 -0.1310042156849729 -0.2164251566960521 -0.108994378108201 0.4911624399124606 -0.09630016707204271 0.4558268042575792 0.5288627203616196 -0.001044664410922952 -0.1383995052109345 1.4530585827324 0.1719153989284452 0.2762028711375116 2.380769014079104 1.224082154942372 0.8681912864345623 0.2093169557294784 0.3646311216651088 0.2255374843312502 0.363010805454584 -0.7455957374435097 -0.0003119442361009118 -1.408317201149764 -0.7341859930178827 0.3109673952473664 -0.567426285034199 0.1161418334668689 -1.010485004169732 0.4204023095588591 -0.1935360555708029 0.116065774757832 1.076534966853044 0.2665595731320122 0.0120186664339598 0.0589042907866589 -1.395634274077172 -0.3427644409044454 0.5611147129688219 -0.9207339894157099 -0.1885040496068347 0.4262189096200092 -0.5568871401112975 -0.08372959027071065 -0.4298197753445451 -0.008341336375158619 -0.6687353951674644 -0.7707829778206982 -0.3632699595004577 -0.07427582403117598 -1.949403496539717 -0.4923027379796166 -0.3893946756669989 -0.4357213928370973 -0.7949757750123323 -0.2945545461197304 0.131470210357391 0.4218465173485367 1.118585817896224 0.09909596250694616 -0.705774360150673 -0.1136267143899549 -0.195730650798215 -0.6901607741724229 -0.3424787126837422 0.2476237446011022 -0.1207658254300622 -0.2605212653116823 1.198994127840231 -0.4978348789661304 0.178487238195647 -0.5787262032133028 -0.4896372073372895 0.02182322402316835 0.3166578197522611 1.454074763064785 -0.3849237759540554 -0.004924409523484529 -0.3388600876543311 -0.003151933586545021 0.05710297721657448 0.1112503179473574 -0.3341750748243373 -0.4827354685919972 -0.2372839148431657 0.2234296881594867 0.60715877992522 -0.1522311560025607 0.3802523241141108 0.4961673230011595 0.158293977092486 -0.193242452843663 0.9914244939873206 0.5504206425780327 0.253027598713301 -0.6722773975703175 -0.9199985092703042 -0.279735209461819 -0.4861089355319669 1.020362131814248 0.3176841359165818 -0.09358546882064273 0.6352785116269031 -0.3859720333364313 -1.478285263688622 -0.6729523844733939 1.797734431711617 -0.2596786921878035 0.07349304501094933 -0.277510380755158 1.107267768234321 0.1873617611337806 0.5658121267841361 -0.1330417225365187 1.54486280083528 0.3763341510212425 0.3711393453228695 0.4248252284550823 0.3905563059689062 0.0319503753058301 -0.02040049644589093 -0.4432532294540167 0.0993936419716359 0.1552387095242328 -0.2588154041044025 -0.08625233400077709 0.6823482103990746 0.3132105503799095 0.2453188832100831 -0.01820394362631136 0.3464639789145372 -1.124764696023749 -0.1608215617884584 -0.04429309318519393 -0.9403854722705932 1.007478333536603 0.1962159063449396 0.3226312892364254 -0.5454635852108315 0.2645085900670198 -0.5466871791946373 -0.5605685759812001 -0.1734098972128786 0.001077360573539965 -0.1589788956195995 -0.4203444870070264 -0.0605826107345694 -0.1070209391546951 0.7234618003842507 0.5491448382934933 0.6347496370339413 -0.3273443133806492 0.01862528242226648 0.1978672229326382 1.12931054750906 -0.2006749367825107 -0.8996463431588697 -0.03592933827899039 0.2552465542321632 -0.2247815044394332 -0.034348639581642 -0.7876134412270753 0.9142830683176159 -0.005855765592275489 0.2430618246997466 -0.1872516942936297 0.3638037872162246 0.5266179349921162 1.0740519712512 -0.2952016461335673 -1.08608134158302 0.06203139289314434 0.1715271780592998 0.2522951606509287 1.357669312805355 -0.7545425983192865 0.8331061368031966 0.107421911103501 -0.1211908520750585 -0.1976526665960808 -1.3999676145317 0.08531883080091215 0.6579175157780039 -0.7685985137934692 -0.9651135313209412 -0.2014742824521474 -0.00811338055168967 -0.160024851413628 -0.3850374314252732 0.419355196992101 -0.4639685042680125 0.2209101491626401 -0.5261406930572382 -0.6276002918732169 -0.6172546254431523 0.6621487337746039 -0.6181898567286808 -0.3621363904334624 -0.3419894934391616 0.08868804721720283 0.9611920578382251 0.5158442710439153 -0.4573729932620383 -0.2288280650042153 -0.1351937717047403 -0.3367455693718329 0.009323092136158449 -0.2398820350608733 -0.2115948626366982 -0.5479362190038776 -1.255925412612761 0.4251684374070348 -0.623663827943836 -0.163841622604633 -0.2634142368891282 1.328904158661272 0.1830017866538533 0.09988720775357753 -0.04711495016296094 0.1429191624893041 0.4329776300040393 -0.8478598373679501 -0.5587444232944381 -0.7575578958092759 0.8302109832651179 0.01067573971024895 -0.0452006062865391 -0.2114410278363842 -1.092559481178753 -0.6196337071125066 -0.3548689059815611 1.131383407221753 0.2816703322422344 0.4569347922551671 -0.2543697953024483 0.1539172749810085 0.03035901637011742 -0.1200896027357736 -0.04152232745511682 -0.2922288166369282 1.377191954189817 0.4617818675135197 0.2181682622986312 0.4880741929362394 0.9084419690504532 -0.2551887969152443 -0.9877828230372812 -0.3150432551185466 0.1278460621098083 -0.005699338729791974 -1.032394399059191 -0.1378083943173755 -0.8615268701198683 0.007705356528949681 1.316790181548524 -0.07061346376776929 -0.8327468453067201 -0.1759289716337096 1.530574466371146 0.5143537306398228 0.3577426067871409 0.7994899340443042 0.02333518244157762 0.5256241555769958 -0.001206221813577046 0.1942058101180513 -0.1122052427439524 0.8913017491957038 -0.03179966603073129 -0.1232564808584671 0.4861341049879206 0.3294704660551836 0.5616344437213847 0.2288400961519233 -0.8041917083846741 -0.1428597577532175 -0.4265944150702191 0.09314141836360994 -0.7513594594126469 -0.4777058525863249 -1.09930858932965 1.016939480981323 0.4160736149768002 -0.03417420167629367 -1.257399325411226 0.631689860826751 0.01176745900484231 -0.01713414537625534 0.5539998235586175 -0.1169726942949401 0.3121980125218624 0.9907074899147245 0.00317605782222595 0.4837293835765827 -1.451728411468164 0.359627600172067 0.8681575681892149 -0.04579908823077267 0.02263478136924534 -0.1243082958460804 0.7506429564288163 0.08942234786811271 -0.8273595430939203 0.8668254860876168 0.2324028763796723 0.355516070479199 -0.09842904072219989 0.06241336729127972 -0.7088857666533442 0.9945281948456448 0.1642266443053301 -0.3074444390023234 -0.5840340189888709 0.2333459296825417 -1.593566642225239 0.2743537934617298 0.4732036933113702 -0.1594629266323883 0.3001451821197367 0.1642688389374801 -0.01439982465074879 -0.05601490471233741 -0.03465951874481433 -2.033247869353847 0.4301369748774237 0.1136569262996517 0.09198502961146912 -0.2222894472081433 -0.2646119303074134 -0.2669564959782315 -0.2179309915429025 -0.5434509416192497 0.2031078706726436 -0.3782806949983897 -0.2981736248699898 0.01245640231441804 1.338439456688398 -0.05566301012330688 1.764389596448877 -0.8249523031935044 1.175912074162325 0.05708012537590312 -1.109459009107437 0.07131136572531023 -0.8250114620417371 -0.1179459819735839 -0.3725784941113713 -0.04240242811548601 0.3441997699800601 0.4766157059446334 0.1901469143613611 0.4474097955007789 -0.3638044168055986 -0.04656538109694486 0.9766831588162599 -0.3754840220409475 1.153420406446125 -0.3059099380294594 -0.1210496690887317 0.3485793561877478 -0.1933046779253569 0.1041674502806828 -0.3074088212878383 -1.02680003340464 0.6457797030287129 -0.8718783892530149 -0.5146696385918872 -0.11854659793373 -0.5306257649000876 -0.6655303356929656 -0.6006506449842298 0.03128756136729241 -0.1258773534519064 0.04391041339427503 -0.3663541343364366 0.2065389381076526 -0.3437352605420599 0.5273435495444189 -0.002632354192441313 -0.0221991701369834 0.3153054988806442 -0.2193710828167126 -0.7344359877006558 -0.1638120438959609 0.3438654961722965 -0.3399185725384259 -0.3781011784285596 -0.5681710485291953 0.1251631288536229 -0.6403718599010968 0.4815072535892323 -0.2901177162679056 0.3026816971743025 -0.3390835314030882 -0.2799110961829862 0.24272122660376 -0.1437346092673408 0.4425182019007054 0.2330065722218126 -0.506029935922104 0.9030462877820883 -0.5977143455521473 -0.1034572147420829 -0.02089418155715344 0.6891371099926922 0.8887855180668111 0.0003829782398301991 -0.2274616188406243 -0.7183018218612387 0.1180629444394292 0.02848096303775915 -0.1711687861883643 0.07948273286479135 0.5080802994107871 -0.3200909166884213 0.3497573080746699 0.2829816583769306 lcalc-1.23+dfsg.orig/src/example_data_files/data_L40000644000175000017500000000013610337161022020632 0ustar tobitobi1 1 4 4 1 .5 .5 0 1.128379167095512573896158903121545171688101258657997713688 1 0 0 1 0 -1 0 lcalc-1.23+dfsg.orig/src/example_data_files/data_maass0000644000175000017500000161451210336020605021471 0ustar tobitobi2 3 29900 0 2 .5 0 6.88987567594535 .5 0 -6.88987567594535 .3183098861837906715 1 0 0 1 1.549304477941 0.246899772454 1.400344365369 0.737060385348 0.382522923066 -0.261420075765 0.620255317985 -0.939040502362 1.141930955533 -0.953564652618 0.345815082176 0.278827029162 -0.405019294007 0.181980041427 -0.439380000652 1.307341714534 -1.454859655278 0.092558582508 1.032138357565 -0.064544557221 -1.477361986307 1.138068521407 0.153172176643 -0.456741988350 0.431987964852 -0.478748658812 -0.366077584780 0.752113845466 0.281942493079 0.024851953513 -1.300988747885 -0.235434895752 2.025470372527 -0.192682381781 -1.314980076216 0.199265655591 0.143401426352 0.068842330054 0.457165623690 -0.304032996756 -0.099999171530 0.783239363516 -1.335318888308 -0.692129554529 1.763214656419 0.360568410495 -0.108518016488 -0.931659543987 -0.707632407815 0.322782371838 0.390453859200 1.398065719554 -0.741727440906 -0.702834730313 -0.162147871002 0.022852692960 1.165253348702 -1.587730961890 0.254834725622 1.167275968835 0.038503242864 0.245484039274 -1.576247693680 0.205512357560 -0.364760338251 -0.027093886291 1.830728603559 0.280988858972 -0.298523676914 -1.633423858179 -0.582444865574 1.067847736870 0.308723172507 -0.112769492994 0.129613889482 0.249280943734 0.106657730225 -0.531173888853 -0.323849609621 0.820837567439 -0.471039683316 -0.904532379870 -0.090384607020 0.963589787896 1.213476253196 0.185696737305 -0.591343006570 -1.067353171633 -1.072319418147 -0.072890983089 1.593687841356 0.006135941667 0.558630252984 0.068221264491 -0.321343664457 -0.003257115477 -1.443424303416 0.895435830429 -0.639596069814 0.864185296900 0.500088174089 -1.231844841664 0.172946052607 -0.047573236218 2.166029479761 -0.812652045480 -0.670412986895 -0.153741680955 -1.088904994927 0.049198645023 0.114863031754 0.811772544336 0.035405779536 0.838825222941 1.053218385615 -0.261829873537 -2.459878689023 -0.341765370064 0.112882587272 -0.090714453278 1.808465885509 -0.075065677717 0.034801293071 -1.073706811287 0.380329521311 1.169661030978 -1.141098831771 0.193381620629 0.318401215840 -0.611125874762 -0.329689929677 -0.024196671652 -0.041976679356 -0.352866670949 0.810885651369 0.771802673105 0.435337297458 0.095356176553 -0.269821687633 0.089024258505 -2.530670897853 -0.265879599204 0.412595638289 0.554353320765 1.654421280492 -0.230026529415 0.279040538018 -0.186967522887 -0.174714280425 -0.283609628026 0.057409932734 -1.227646820375 0.386212082393 0.018317390433 0.096402968990 1.146454208308 -0.822950084566 0.345182108034 -0.958907274050 -0.297513959092 1.271727318895 1.503612983019 -0.425750893893 -0.173529734987 -1.401396066576 -0.724341128164 -0.040034104864 -0.922255487809 1.492893973286 -0.086916257817 1.096804829435 0.037735832119 0.287700786630 0.119401525200 0.420625987839 -0.392010413209 -1.653655048356 -0.592479073396 -0.969219721790 1.892818855695 -0.112929898723 0.288200171096 0.705893052633 0.146870820896 0.009506441902 -1.246634847872 0.504919941966 0.125154510659 0.105695510566 0.454923599618 -0.389192788351 -0.351065363110 -0.005046263594 0.050740954318 -1.304644192864 -0.493490008649 1.387302741793 0.761559327719 -0.283296647221 -0.006689474360 1.338886150258 -0.196617658466 0.452025741312 -0.224090677747 -1.908502729318 -1.068692436064 -0.122513518855 -0.088260592576 -0.073705427902 1.633495545162 1.957773452793 -0.403291978905 -1.259045453071 0.577294707093 -0.296941198742 -0.006496799570 -0.238192674750 0.263651363249 -0.984210654379 0.364522206363 0.076223681043 -0.889835254886 0.340104239850 0.428899226190 1.257682838010 -1.117022837137 0.032002326748 -1.123129436302 1.299595674112 0.061547408285 0.466502612380 1.131828873246 -0.405654195529 0.265760691584 -2.223370106205 -0.131146712291 -0.529498244165 -0.611250249720 -0.079958439741 1.616881849977 -0.140544308678 0.681413267435 1.634588325788 -0.686689342504 -0.116299590627 0.025807834584 0.015414556329 -0.223328838767 -1.663498770719 -0.439756562025 0.343762191185 -1.085221914270 1.812161072968 0.237910099371 -0.191661859993 0.378139946901 0.299607010792 -0.052092042782 0.287788071030 -0.706265363280 -0.946820054355 1.027402010049 -0.146029746129 1.030458857997 -0.037488011961 -0.263529255204 -0.037940771004 -1.481531873389 -0.546697913418 0.504065535728 -0.574419834308 -0.017996767139 1.195757337529 0.435533015457 0.393481165393 0.079918423651 0.147735751333 -0.023336990912 -0.119447442799 1.266155548822 0.137925682348 -1.613726541982 -2.287355896060 0.016843814679 -0.411928453639 0.079480329047 1.221681135189 0.709142358560 0.858862082226 -0.000804181070 1.495354561398 -0.996264520043 -0.356381132080 -1.170253594600 0.123595582572 0.456517798532 -0.289669620438 0.317324264807 -0.157902048678 -0.204754493753 -0.439397666688 0.213367153163 -0.040668392192 0.860352875397 -1.901998716137 1.124432653930 0.349079164952 -0.304142211105 0.028379215022 -0.003996729760 0.042699821319 0.478964510375 1.776206638686 0.180936560584 -0.743826362287 -1.583557033105 0.534792185682 -0.717189177781 -1.161786766450 -0.200643605113 -0.460939709071 0.121005695951 1.149455262446 -0.127352011705 2.329554327682 -0.037958786044 -0.188578083081 -0.094259821190 -0.268850395471 1.115206226987 -1.266656821445 -0.187118521329 -1.122224953422 -0.019969830271 0.028359752908 0.439003169099 -1.428854557068 0.200426456481 1.349358135246 -0.023697944419 -0.134659747441 0.504974584342 0.485808380476 0.207105756673 0.058464293681 -1.431567589615 0.260039379753 -0.350135305755 0.184989626140 -0.133488066252 1.240632096654 1.762560582426 -0.607343488584 -1.203932018346 -1.494661999755 -0.084381792101 -0.917930481499 0.532518496658 -0.429296915726 -0.991432908804 2.932552729060 -0.022397377873 -0.102072477455 0.787068264431 0.446509815623 -0.003341682089 -0.500023635113 0.285499298008 0.227547620496 -0.365482446331 0.008592431340 -0.987646254636 -1.931416952166 -0.265097967389 0.223644474107 0.209709669123 0.193902443799 1.593305019765 0.095533287169 0.288789042397 0.704815170009 0.050201684666 -0.281801961230 0.183735108449 -0.543907139116 -0.735493485386 -0.004561083306 -0.327358991573 0.078613187768 1.487844452033 -0.577866786709 -0.150886839420 -0.764566280220 -0.391507231205 1.253918519691 -1.893151274288 1.179887276653 -0.005974152725 0.200686194766 -0.812603438947 -0.010364032581 0.006929396367 1.210157011149 0.605006853765 -0.304620618703 -0.190012685652 0.200980110477 1.475395950831 -0.347184690499 0.190557904369 -1.725006983032 0.415064748352 -1.655729976736 -0.666694984467 -0.362749777406 0.023543418293 -0.136742531304 0.739679640588 -0.066618912396 0.879251406585 2.530781962816 -0.338588341327 0.867157697446 -0.597117854149 -0.624822068836 -0.305149372212 -1.137992712894 -0.065645612544 0.894405274791 -1.208366783254 0.210329518383 -0.157137548384 -0.010065520667 0.136869708756 -0.215291296648 0.105338009139 0.408476237696 -0.602099040298 -0.435936978974 0.874866046216 0.564755886628 1.013229823781 0.068895365329 -0.786703739987 -1.378625745025 -0.046162238857 0.412062924816 0.446168316494 0.664495491722 0.289915118936 1.136761108422 -0.070023152625 -1.730608483539 -0.053725056084 0.014168098676 -0.708176048812 -1.740069464971 -0.625888092442 1.174644174506 0.330080930185 0.095355675262 1.272649230549 -0.330463750788 0.004522559530 1.753547541583 0.148114684373 -0.366651988092 0.007082885807 0.411744229531 0.283059283160 -0.984798572641 -0.746869371588 -0.203186188620 -0.042275391014 -0.478589210248 -1.312840335626 -0.947012749033 1.148279193819 -0.236749738357 0.055560650762 2.505042290471 -0.073456128802 -0.127031473505 -0.002400690789 1.055716626565 -1.138192961475 0.724009127225 0.371241703366 -1.063890873295 -1.488741868204 -0.105117798824 0.983269804256 0.039984193687 0.659990278231 -0.010919445906 0.427009788762 -0.346004369955 0.435917006954 -1.503559283242 -0.178839659723 -0.681316810749 0.346332073700 0.152262328320 0.636956747946 -1.681339171339 -0.227704670084 1.637928234122 0.790304759582 0.368595182327 -0.279156836278 0.844156269087 -0.044312297237 0.585853913023 -0.907944033686 0.270800862814 -0.343825291098 -0.080706181582 0.009316968363 0.127470132357 -0.827850988778 -1.094220089945 -1.050809753415 -0.855786675254 0.029480209402 1.591758534816 0.032489995515 0.103444810449 0.295199959416 1.596494523029 1.490943680069 -0.033883672808 -0.084772617253 -0.408287055156 -0.598973629796 -0.016805127057 -0.146282948405 -2.295343965655 0.888397609420 -0.494134854239 0.647670322498 0.780950991679 0.467336544767 -1.700836870992 -0.113316902609 -0.027882471916 0.013291346483 1.080789524460 -1.096119412170 0.674773251139 0.069614591421 0.174284803817 0.138859518269 0.123817971632 0.036262372260 0.133531484539 -0.851252952816 -0.036156104521 0.218388304852 0.084720879393 -0.307793860273 1.961660461559 0.715753439185 0.124664618779 0.598325384344 -2.500153757665 -0.214583419071 -1.013139834558 -0.667798128221 0.026096197508 -0.237964342465 -0.372322998611 0.112320533230 0.123139229701 -0.519803679346 1.480160407608 0.950070563444 1.098677431615 -0.086677958268 0.776299320048 0.236462923278 -0.001245921333 -1.333146052203 0.662338237592 -0.192984427485 -1.543517082116 1.055941568763 -0.322106300493 0.002300261590 -1.813079134441 -0.121842570844 -0.087553370469 0.119748478997 0.707285069525 -0.251901715358 -0.261818917181 0.188028824724 0.491631904425 0.800708170951 -0.069939623695 1.275465744907 -0.317227054050 0.025442256594 -0.397151144571 -0.066862029889 0.330570685840 -1.529952648390 -0.120417685288 -0.048544855136 1.332948562463 0.100536218708 -1.719128307575 0.646442279071 1.742088545878 -0.055327937345 0.154621139741 -0.941347172391 -0.471208889597 -1.202251553833 0.025653474027 -0.544848778260 -0.006192151315 0.279027546997 -0.030247945101 -0.334644767728 0.742061860699 -0.021791520224 1.605430690758 0.260508303828 0.280325823537 1.220418234164 -0.329463429336 0.403309678405 -2.453412002466 0.862110810220 0.483373820003 -0.259771862841 -1.111144404667 1.533851160355 -0.841057486019 -1.626778209578 -0.310858035872 -1.271780392407 -0.416620922770 0.142533931820 0.187474666593 1.315814827048 0.509128866285 1.514004123126 -0.197307042008 -0.001604058336 2.105575968467 -0.730851396499 -0.058809717204 -0.450436672748 0.133586025335 -1.002752275277 -0.146037163060 -1.224262463026 -0.243000825592 -0.023443721806 1.727794001299 0.090000449806 -0.561041018904 -0.017834408132 -0.289816898209 0.855957092039 -1.014327017430 -0.219700121953 -0.030939347462 -1.113073103731 0.083972282264 1.377885535675 0.680149575715 0.218664614346 -1.291475275783 0.026599581997 0.310521606524 0.000851475375 0.597671938308 -0.275792684315 -0.036715331406 0.529266910078 -0.121712691892 0.568865175652 0.782359384767 -0.277300402259 -0.344139730143 0.389818511157 0.320869876221 -1.316048515064 0.052843159881 -0.234084902633 -2.217934077066 0.070283260236 0.115179388831 -0.397475019253 -0.542466197092 0.279448291261 0.167203471155 1.588821987118 -0.206813658796 0.018443746624 1.503878437515 0.065616254279 2.730743002995 -0.225915385791 -0.548949573303 -0.525170691765 -1.865257267161 0.498793795430 -0.662031480874 0.028283225989 -0.130733088360 -0.195969319845 -0.829674732029 -0.150917547569 0.825033291459 -1.036213427138 0.304107947832 0.322028971839 -1.536031445189 0.399207760844 2.650598219236 -0.343521973244 -0.034700357832 -0.750292197010 -0.045210771751 -0.652596786762 1.219408386528 1.023961492389 0.403579485693 -0.920858711108 -0.005177283024 -0.169543442411 -1.480637300511 0.025835772269 0.442325340853 0.895840593463 0.205669747278 0.006371948486 -0.566243378847 1.632386575912 0.003773307587 -0.137806354466 -1.530164764929 0.849392540397 -1.745718084890 0.212443559300 -0.410717467969 -0.995926044233 -0.158426556766 -0.108575795099 0.324904129440 -0.209037421721 0.175259424472 1.325900889961 2.468514601849 -0.267941043695 0.042314611127 -0.585619211363 0.447422156566 0.040191161884 0.637049699398 -0.904849838497 0.077777694854 -0.442702307213 -0.047330065345 -0.103387931269 0.284661626275 0.093362666846 -0.491612403107 -1.467541629688 -1.139503350405 -0.011350930662 -0.002020243196 -0.012861513509 -0.507178751539 -0.028140863215 0.071054813396 1.557575253902 2.305124072014 -0.360073494791 0.409352595862 0.845005980560 -0.233769655975 -0.423122858269 -0.691055952978 0.253665322500 -0.606563906452 -0.212213640045 0.555426505337 0.325468090603 -2.933067746675 0.254420057562 1.066445313465 0.172445307487 -0.009255781569 0.471386123983 0.594212863694 1.002287858488 -1.258970146751 -1.018261856258 -0.009367567728 -0.219285753335 0.010735744821 -0.365789882423 0.536015526126 -0.398776394699 0.937339827723 -0.958131179036 -0.275332226627 0.124453666073 -0.294387504747 1.108253564679 -0.141814493370 0.072495525252 2.285837553359 0.068447585378 -0.313804117192 -0.523860358532 0.295232214546 0.160022827690 -0.764058313974 0.107533002412 0.643061673257 -0.177982998382 -1.496537431155 0.489280154549 -1.032913524856 0.019731840614 -0.439501704513 -1.217997385598 0.036475923387 -0.533883151048 -0.123595223498 -0.011897839413 1.145988979404 1.594305535672 -0.029505041479 -0.434324763458 1.362228141459 0.312613516895 2.287456282523 -0.679757985234 -0.524576433397 0.023714579249 -0.614282149060 -0.398428716018 -0.925117365291 0.226777970025 -0.564747650259 -0.094438800162 -0.472769288808 -0.064062530479 -0.504051752880 1.200972491657 -0.101705041471 -0.921987464834 0.808411390368 0.019623675156 -1.872128068291 1.175181941232 0.622763949972 0.027813586963 -0.243453907364 0.175087086966 -0.009097756577 0.506508644804 0.212052852670 -0.007554507823 -0.095359095209 0.003058563354 0.163200649256 0.280688515956 0.369202700947 -0.480563948272 -0.932834739297 -0.245977483303 0.308811540552 -1.162208881439 1.355433883002 1.461015852732 0.510456617733 -0.288935346220 1.569801503167 -1.946266555747 0.030517061417 -0.305772875338 -1.218843627175 -0.782721689850 -1.246075785286 0.033373700972 -0.071519363373 -0.436692854148 0.298305974490 0.078347288775 0.691250570659 0.018691498324 0.600627988709 1.827749634833 0.449166791990 -0.050553837916 0.503506237618 1.395121795173 -0.108487183922 -0.162744073138 -1.564216635973 -0.811504995335 -0.083236469968 0.522522759310 -0.010040673312 0.862530104593 -1.097180323595 0.212420929166 -1.572767977706 0.159760572482 -0.969691224311 -1.072717033946 0.520285805399 0.277622166395 0.511395863218 -0.455442721739 0.086187566404 -0.091012991744 1.971721151738 1.156752198948 -0.978491718282 -0.130556274171 0.007006821731 -0.086233086772 1.584950185212 -0.000986791668 0.229474743749 -0.918845161361 -0.162401371602 -1.058543506222 0.010973546698 0.118256228625 0.372156487000 -0.754232222672 0.438545014923 -0.346010383077 0.697617267742 0.092246431855 -1.157128061838 1.353901979833 -0.183650559594 0.297744812069 -0.065497452604 -0.390979871142 -0.211981601242 0.426255290577 -2.033989410806 0.335306163638 -0.855960843025 -0.177073844801 1.779034096910 -0.201764713279 -0.286845640900 -0.999382380407 0.086080365024 0.763113185033 2.264191388082 -0.258756371816 -0.113805909285 0.755348356132 -0.056266122063 0.029876278796 -0.003719400989 -0.060561359761 0.954213229507 -0.024928018899 -1.763407451975 -0.031443182712 -0.512877742908 -0.337751750218 0.575166433424 1.017790256329 -0.961601551534 0.144369665318 -2.306514442906 -1.731596407501 -0.046559885802 -0.363731935941 1.523384310759 -0.023272728403 0.036139855742 0.891380064345 1.022525893461 1.684208418766 -0.032332120158 0.275344163683 0.661568177854 0.561315211554 -0.312737280992 -1.006056645396 0.675368170885 -0.095398165361 -0.665972359655 0.069506264968 -0.277077085642 -2.075706917936 -0.615810623765 -0.004930546550 0.536573832637 0.129402981255 -0.107860783014 1.175389465687 0.986839941847 0.108389782557 -1.519684392824 -0.078738511186 -0.352783865017 -0.144919087115 0.725488474704 -0.762287297837 1.224422702959 -1.480759813489 0.333156067135 0.158230014248 -0.432498755973 -0.005851017084 1.499516935852 0.138864635462 -0.068653240538 -0.148105637398 0.529526143964 0.124678109969 -1.406681757110 0.482863500051 0.119945978596 1.020105398043 -0.532690063128 -0.787690858744 -0.072946798590 1.526028566430 0.014434820806 1.154155674191 -0.090298024992 -0.353453712129 -1.282593243982 0.048877063999 -0.989014721927 -0.065053386375 -1.628024256430 -0.086448327319 -0.379054073779 -0.363709555370 0.045673820438 -0.573211584090 1.438716615742 0.228871700354 0.050336895540 1.203984855982 0.306298151184 0.074141250446 0.457354619012 0.435175806737 1.442997255542 -0.927002010815 2.309925719890 -1.695347780063 -0.014966560076 -0.297250541379 -0.131338595517 0.003105870189 -0.369031707635 -0.988104896295 -0.927992526811 0.320931524796 0.011904512402 0.149870458496 -0.226636827011 -0.357738304247 -2.074654811015 0.131478695652 1.376398394466 -0.252208076260 -0.218042373187 0.410351557798 1.003438530877 -0.244784559587 0.705865332733 -0.004788533595 0.724046601514 1.034202721026 -2.060694347653 0.085184545778 -0.175562384637 1.459758272404 -0.025177699786 -0.102033832317 0.020592342624 0.194326975394 0.478714712428 -1.145611612564 -1.698222713633 -0.299706145997 0.609896204127 -0.000825060548 0.107854198219 1.637477603298 -0.123460891528 0.268674877890 0.215135673459 0.145555389432 0.111913314249 -0.839083873093 0.056181455722 -0.824056552436 0.059145175610 -0.090237532835 -1.318850011658 -0.655862315863 -0.032679823728 -0.137336992401 0.338349978638 -0.243849635535 0.251292229829 -0.146958127237 -0.476866406003 1.378974919010 1.773053788473 1.008254183460 1.108920008433 -1.060292399679 0.055216701620 -0.118759106638 0.926988197229 0.051777269588 -2.259772870310 1.174643698520 -0.332455052058 -0.823313282783 0.717693813598 0.393386646830 -1.034622630414 -0.035420967758 0.023587140977 -0.393074619942 -0.368679221371 -1.098359082123 -0.164913235350 -0.827814215117 0.174018705097 0.004952140810 0.111307859098 0.012394784521 -0.805334168061 0.108513876820 1.071537372777 1.446904972622 1.471948578305 0.045364156468 0.993043506054 -0.297606913914 -0.134290548884 0.108041409071 0.343825422345 -0.374974794812 0.366353065901 -1.397829288074 -0.001126130430 0.834226225463 -2.065449148428 -0.080824860530 -0.469190963986 0.189357312605 -0.298991637675 0.901211690237 -1.395113407059 0.367348456654 1.635975000929 -0.164686732745 -0.142670314995 0.774916265448 0.003563805582 0.573871948443 -1.638758027252 -1.078359624686 -0.188771240612 0.241096099498 -0.259242377456 -0.096663046299 0.185526854737 1.202211925953 0.639282126864 -0.228667426338 -0.390272455606 -0.467418618842 -0.115967600361 0.381726901646 0.291313900127 -0.450528344602 0.444363246217 0.022721654703 1.240540754779 0.146602632593 0.049541624799 -1.380164890807 1.976084790045 -0.200631604172 -0.286724270735 1.191739559406 0.039417802070 -2.135443147312 -0.175910380015 0.001710866386 -0.103589642312 -0.009864904092 0.298787490686 -1.638847443590 -2.370362489190 0.502242725477 -0.145895251146 -0.662279330806 -0.075210761442 1.591094586282 1.204790301292 -0.046914088851 0.155761213840 0.820839056901 -0.761454468944 0.425528032586 1.001535917696 0.364274924540 1.574592931168 -0.138624247598 -0.085719821068 1.105791840346 -0.109527638902 -0.724753969877 -1.458433389483 0.019021932504 -0.425903831592 -0.030319605982 -1.862653715965 0.102479391922 0.011358220998 1.396041891180 -0.844136651958 -0.774077604245 -0.005596798000 -0.164606839961 0.432298628031 0.589085169614 -0.089563097360 -0.169696166072 -0.518466637160 -0.089543311934 0.670715253316 0.154885924257 -0.033761699864 -0.324127141065 0.711094319529 0.182626734950 0.403606681661 -1.259593183962 0.253440422086 -0.000908171832 1.890799435151 0.217086972216 0.233387195899 -0.799874082320 0.624849490751 -0.494820848666 -2.217525168550 -0.172621642934 1.335672138755 -0.007555813902 0.214101038181 -0.002507771710 -0.402465710343 -0.147428262317 -1.004311824009 1.032436542217 2.376402471233 0.900657993020 -0.141267838902 -0.075341310563 -2.520374764717 -0.645596624763 -0.280970141867 0.278711974979 -1.970375056915 0.249671712404 -0.184534165215 0.277750877419 0.220828458828 -1.277401201801 0.169449644503 -0.298345483826 2.038597803687 -0.038394981126 -0.360659629875 0.848796035076 2.345653367580 -0.038797224941 -0.178336672008 0.719514934001 -0.002485174762 0.446265770480 0.932623948909 -0.520560220818 -1.132311341305 -1.198811127531 -0.053155372154 0.325895376382 -0.697863554118 0.026007930488 0.395543664446 0.240958218980 -1.553568590352 0.757257321435 -0.131995957968 -0.148658116045 -1.896755316142 -1.167199694304 -0.107676808016 0.476380207598 -0.036321463174 0.446030757153 1.561672756186 -0.638555316593 0.139438099895 1.004332817719 0.397433458549 0.250166212935 -0.027630927867 1.040066748745 -0.262030367000 0.019465028252 1.326138155622 -0.194236974391 -0.449276436779 -0.118926161879 -0.340382382746 -0.343471637590 -0.027964639297 0.175570076617 -1.724489143887 -0.694425782569 0.101738430776 -1.091978453506 2.134764230512 0.110158855819 0.614755614227 -0.151187396947 0.338778066189 0.091775533823 -0.572033870854 0.071579976896 0.041210851499 0.371526738005 0.280666058998 -1.806946628190 0.001319351216 0.266320927576 -0.423382406509 -0.410624347947 -0.427286840793 0.271188493771 -0.033159595374 -0.013264704122 0.819995593811 0.483463450083 -0.053910277896 -0.960293198502 0.881345363983 -0.174848505309 0.707138391739 0.272118535366 -0.429622754956 1.023848862518 -1.018985666981 1.073115192769 0.603947564920 0.129008195450 0.290019379393 1.308904167124 -2.038959857576 0.081496906554 0.023405850551 0.058904704133 -0.362668787868 0.098838472860 -2.004687607762 0.314216805436 0.108890169807 -0.226589355584 -0.081591436849 -0.199086897152 -0.615809827199 -0.017200771515 -0.490310002531 -1.115347414686 0.432950489004 -1.246989934774 0.074059492655 0.036569481869 2.461569019293 1.328440035926 -0.186929261420 0.933233096725 0.028574979234 0.001748762894 1.088151985441 0.858538909397 0.101659556581 -1.182532912352 2.468191780221 -1.076566935705 -0.350011718842 -1.189413906880 -0.243146543499 -0.042867336159 -0.813649304435 -0.184401877898 -1.685919418179 -0.700714042293 0.772783460830 -0.562726377528 0.468973661900 -0.010437784422 0.043819328675 1.692872043225 -0.118163543215 0.667128180779 -0.303616144775 -0.669322088168 -0.367488296069 -0.274528712414 -0.233817232247 0.058581801955 0.745709276249 0.283509871667 -1.605410102767 0.201846353662 0.900469749950 0.582748032473 0.498920928097 0.013717912031 -1.388347487485 0.522680740067 0.618494371505 -0.764449005914 1.174030961226 0.279377657606 -0.532220131418 -0.557538637857 -0.031357643993 1.501541672201 -1.162431060593 -0.000592730009 0.032026855070 0.008960829376 -1.011071124020 0.849176119990 1.102166609257 -0.281019583197 1.586428125399 0.023073090799 0.178757688766 -0.734307111052 -1.426690524672 -1.411953490933 -0.004679505684 0.226344126893 -0.262674414504 -0.537173722508 -1.793867399550 -0.367570028502 0.040027477668 0.725183396500 0.399797333283 -0.427028529179 1.387929842974 0.242769090932 0.091097380787 0.366710843971 0.009872088324 1.311972136520 -0.511801277094 0.336481184503 2.529063831792 0.273046359807 -0.002695813994 -0.226262961643 -0.213504002064 0.105428619681 -1.383044867657 -1.795689903896 1.315967666366 0.233887144899 -0.773228734248 0.107627809826 0.329139757734 -0.449599079290 -0.371228444904 -0.049164702217 -1.542992680029 0.680185656873 -0.469089039234 -0.150916426067 -0.168216965543 -0.735963747869 0.293665753521 0.085509310190 -0.323862613531 0.513828189631 0.077627754801 -1.395395325416 2.054224186122 0.157264476131 2.231175706742 -0.060583334420 -0.415122258821 -0.023153559677 -0.029975072732 0.866035256578 -0.907302466534 0.352287158558 0.404404108300 -0.533143946959 0.062268347080 0.195126065310 0.282168781940 -0.090928279370 -1.401887906648 -1.013554310212 0.070299646255 -0.068923759356 -0.685880666960 0.828774765204 0.208389617143 1.051504584548 -0.160179384879 0.075975561712 0.257293960235 -0.030834699111 0.144647197817 1.466511188472 -0.217750158429 -0.224171175318 -2.273668818441 -0.095293422806 -1.029944158026 0.571066140838 -0.017586047704 -0.084890386136 0.001431111476 -0.078000338872 -0.019926400474 -0.002945831177 -0.458415319302 -0.035435474750 -0.043598765393 -0.906604536289 0.031472341514 0.232620799751 2.413158315601 -0.204396220755 2.083494594949 0.353025766586 -0.557863477874 -0.028171218810 1.212080970736 -0.259444689011 1.309171549569 -1.848506386400 -0.211293535390 -0.025293641509 -0.655546139035 -0.112122868206 -0.306089802237 -0.083722234913 0.393004820048 -1.070920856202 -0.548244945219 0.008021772500 -0.328783397707 0.915478390655 -0.392905864832 -1.167177157042 0.504249170197 0.072884802809 -2.651063719740 0.292012194716 0.394174134460 0.156072705256 0.472361222978 0.760124068560 0.267170287091 -0.528611731743 -0.008365870449 1.208828134927 0.730320632726 -0.020930339910 0.719939940389 1.782733449218 1.552849067341 0.293608582333 -1.137924647008 -0.147886452902 -1.577597653616 -1.033580989847 -0.004149182046 0.279185126167 -0.339740399591 0.556361846721 0.009703541157 -1.579586738840 -0.566719902824 0.089188504887 -0.379705756275 0.219345167614 -0.617826054004 0.568203630247 0.847217938680 1.751579171397 -1.484436926136 0.159909655250 -0.121953147914 -0.299378480382 0.192816622143 0.617472416562 -0.266082825971 -1.777433569132 1.717022210451 -0.295882789797 -0.419549033967 -1.858948275108 0.112317641903 -0.027977917469 2.066062406435 0.698862846522 0.106046150530 0.178285621012 -0.138993435595 0.003281630422 -0.811619199290 0.034744664271 0.266846185263 -0.069475180130 0.247924083512 -0.558831804544 0.541248015785 -0.004258162933 0.166601362164 0.326133110394 0.581233581814 0.017187826781 -0.275749856391 0.821974331406 -0.662862166759 -0.010439222174 0.758043934410 0.034284383464 -0.933602564918 0.270440116427 0.030570629022 -0.065568736233 -0.318168672173 -0.137917649437 -1.887048803627 -0.824469207925 0.032968893148 -0.627435873479 -0.827147556617 -0.210174160352 -0.054743924132 0.159793086593 -0.018433375881 0.012374915497 1.035806216875 0.053920022775 2.470064705624 1.215283894987 0.020886016945 -0.907563936884 -0.672901300907 1.170640613808 1.231254752955 0.323571844985 0.484333521585 -0.422685375724 1.013184298791 0.176719361268 -1.053152090438 -0.098792696602 -0.474140275957 -1.752181877174 0.036741103822 0.147726401248 -1.818867464981 0.727468501403 -0.617287393867 1.069870319623 -0.836170622518 -0.178135108000 0.351348124459 -0.170398412104 -0.250143994616 -0.017466816046 -0.146314455982 -0.164879205903 -0.427314064275 1.128788654031 -0.099252365340 -1.194154439312 0.357063075042 -0.058753342007 1.860672059209 0.372196761726 -0.091926378049 1.129785487724 -1.428439307874 -0.427191685521 0.358070111927 0.517357596568 0.030403047793 0.890686409200 -1.692129616229 -0.128339410151 1.820714643946 -1.093218208888 0.754614924429 -0.006746686072 0.043091714830 0.234572205930 -0.220046680467 -1.355237822121 0.271263207861 -1.055151759254 -0.004029674452 0.329664594936 0.784736111510 0.071848900703 0.191664725446 0.800319534005 -0.011704232798 0.058382641952 0.067551023429 -0.258070863384 0.004738645900 -0.806663601222 0.147509487557 -0.329153456937 0.434872250586 -1.610442147340 0.163531160149 0.166444162310 -0.744539876995 -0.098388765551 -0.843145998475 0.114961193762 -0.381094016354 0.356188387146 0.914380236605 0.260711733052 -1.800615424317 -0.238130610867 1.225144150138 1.299113582083 2.263558402981 0.000567934063 0.226096837020 0.877924417640 -0.447648825734 0.283698795051 1.418870674556 0.463407105633 -3.015359490086 0.746053260803 -0.021622886930 -0.445878078593 -0.473735284994 0.029565872216 -1.101656149506 0.215199446441 -1.212674219067 1.625587677817 -0.551925048973 -0.062194476203 0.051706024363 0.303879758287 -0.064643031076 -1.374148150222 -0.676570194417 -0.715135053679 0.050104324625 -1.433792191824 0.121383805334 0.392498288352 0.624789288008 0.197694665210 0.028958822053 -0.098853373569 0.266041912107 1.206653997343 2.831740693802 0.314912202190 0.405981022848 -0.730745921810 -0.078323287461 0.026587879420 -0.356676639808 0.012971161724 2.161468444535 -1.396242858020 -0.098056527225 -0.185647749820 -0.252140121271 -0.016508219965 -0.692839355045 -0.604512282297 -1.257268323144 -1.062413918458 -0.075233579605 -0.377744960753 0.809546850825 1.743566823794 -0.029734258733 -0.487730898593 1.336321753405 0.184631944779 -0.991690339643 -0.039458216057 0.329104696778 0.467944323513 -0.696627005652 0.024822369522 0.247517770346 -0.002463021488 -0.876452441714 0.690706096255 -1.661965304258 0.159606451608 -0.368563046393 -0.268583511309 0.430121265571 -0.000301473991 0.462226970700 0.210430222606 -0.705619448236 1.020701622903 0.038175116640 -0.386536099440 -0.141006835661 -0.232418402663 1.782147179090 -0.200992912775 1.792161361699 -0.269382632731 -1.185517681368 -0.296835635074 -0.202271420196 0.879430233857 0.006333140755 0.190849767816 -0.133601307482 0.934169396690 0.702022877679 -0.727954929030 -0.001528840751 -0.784001935284 0.207411563691 0.068891837862 -1.423570923031 -0.298982650850 0.115076748336 0.804347846736 -1.640006194286 -0.082623717005 0.009918479232 -0.350389371920 0.183214904554 -1.614357109324 0.164839482260 0.082880271191 -1.168535359993 0.387302174590 0.396380472239 0.154568689535 -0.536075435915 0.064319440937 2.065620143867 1.841849941994 0.142917809947 0.029009088115 -1.045874311735 0.301320984314 2.097606400049 1.174362011846 -0.081344445735 -0.131772850541 0.461297370623 -1.533918477335 -0.059200105600 -0.066384882597 -0.605746865145 -0.035983555646 0.150164876416 0.212854962873 0.660399230436 -1.166641120464 -1.838425876250 -1.029419828123 0.519491340807 -0.064137613825 -0.379131218008 -0.694063832729 -0.274341300675 0.037001673045 1.607986298935 0.781999481375 -0.312594841999 0.079987766105 -0.207655088744 1.061264109924 -1.548347597139 -0.401651169778 0.077821630048 -0.113857073899 1.182294674748 -0.109624694378 1.002879566001 -0.314002289497 -0.400892405550 0.049726050139 -0.102863876068 -0.284572123167 1.170264590560 -0.542103111760 0.039858120735 -0.052131598956 0.046287452523 -0.020892280366 -0.003361793819 0.324874381390 -0.093827985868 -0.020377687008 0.422651937159 -0.241283344476 -0.038621091306 0.373807273494 -1.593862100305 1.510064809005 -0.048715063776 0.512644693507 -1.518612905867 0.006100757933 -0.523280299046 1.096631205154 0.519866227499 -0.114017812414 1.576867001735 -0.180447043493 -0.425922716491 0.278586482167 0.223672568956 -0.079078030025 -2.084751286627 -0.111212712006 -2.682770068128 -0.330998479503 0.032981917810 0.564967101807 -0.563531517123 -0.511230671842 1.376916330027 -0.704488916437 -0.036056542329 0.242609418155 0.016017229524 -0.302270123545 1.381019125236 0.547593523384 0.924214783503 0.421860514868 2.609351644981 -0.005788249579 -0.039172831112 -1.395366807750 0.426591945768 1.165246166526 0.597960751650 -0.342301115786 0.869648170798 -1.804925154599 -0.138520899905 -1.159320011051 -1.558688065774 -0.004403311309 0.610433924457 -0.981525997399 -0.147800804781 1.212833091927 0.471765324241 0.211335611255 0.107686367560 -0.255233387096 -0.250437109798 -0.598937803846 -3.215902022852 0.835591344768 -0.272761346214 0.283255243114 -0.007638917848 -0.189041901622 0.484984167952 -0.274817496035 0.200484618318 0.005107383556 -0.319372549851 0.765809118716 1.821036162513 0.340199625225 0.891958792970 0.282411372340 0.167928775479 -0.185384049103 -0.673114663053 -0.374910982664 -0.121989927967 1.743867085998 -0.318859538105 0.375116092272 -0.224523790607 0.006567430743 -0.513925691568 -0.075217921402 -1.181015124018 -0.140050823308 1.106698817004 0.000210229077 -2.294147809794 -0.716283489389 0.147565004038 0.319662420974 0.245146469619 1.048929686134 -0.390915702736 1.087455908061 -0.009065006970 -1.214721045859 1.479052042005 0.130675879666 0.215143601550 0.260443546312 -0.062052246777 -1.572037136269 -0.229460727228 0.140452682425 0.234543313008 -0.118594788882 0.193164354076 -1.228520699252 -1.271434311642 1.054664030083 0.748102582863 -1.867799074285 -0.084968136638 0.305927783365 1.580453861161 0.096246101703 -0.481473808840 0.898421460215 -1.220372974686 -0.014230112061 -0.032310239778 -0.324932078908 2.364282891438 0.413137917708 0.013046964150 -0.000673336002 1.788138554265 -0.119342917480 -0.267366284648 -0.012976427881 -0.547607418946 1.360236933591 -1.159276467501 0.017352920960 0.075725454122 -0.807037369996 -0.438064847483 0.560644518901 -0.100787502816 -0.098136491810 -1.471495517269 -0.082954933348 -0.133934780627 0.545188560925 0.268516501366 -1.062833153721 -0.563496842804 -1.389420603395 0.041282445127 -0.433799064236 -0.888079274038 0.392279787089 0.637251560442 0.648061380556 0.354591950232 -0.729712428246 0.045497182151 0.004553756844 1.865339128746 -0.107050734985 0.371103419005 1.198075658890 0.114867371316 -0.249560053333 0.413381599826 0.803143067749 0.674219826070 0.419247941066 0.639147586780 -0.055778457346 -1.436208366416 0.334763521020 2.087834581468 -1.403701703573 -2.626609907319 -0.129664524297 0.011183342746 -0.377259771512 -0.460531594830 -0.409251593077 -0.118709222285 0.254298786885 0.004811938590 -0.224913513871 -0.163455421986 1.340400868261 -1.530875340506 0.006983122061 -0.838769347489 0.882440145960 0.497220648478 1.026848235671 0.035248841644 -0.048384780478 0.232194972458 0.075136516022 -0.204846502549 -0.293949269584 -0.554245556700 0.573988741566 -0.918928023234 -0.705117712551 0.203700531928 -0.890639286907 1.244062586607 -0.255840859374 -0.390747101924 1.529146657662 0.155042536460 -0.408759731030 0.635759506026 0.079508879870 0.906961486727 -0.115819861964 -0.379245814299 0.470574628669 0.312649329149 -1.518317544663 -0.007418896542 -0.201965884866 0.654432097197 -0.425058110378 1.602294906785 -0.084815497027 -1.491806108551 0.001044825397 0.131976798225 0.166906551579 -0.158682686069 -0.185246972716 2.261610028148 -0.316380251023 -0.010734808524 0.077640473607 -0.158081473310 -0.842539265590 0.018612462155 -0.726196055784 0.301071653173 -0.125210938590 -0.339114676839 0.252815859473 -1.774901201327 -0.443783350660 -1.534944642604 -0.535976786956 -0.464335950964 -0.227359806235 0.270163777109 -0.040593773791 -0.001278270001 1.912164337669 0.097484400843 0.644829105152 2.536951383318 0.937061908878 -0.365563435756 -0.869990421354 0.416259191426 0.006378846295 0.194451143985 1.317528989447 0.225509616635 0.746811564362 0.049569827274 0.221182838681 -1.299996401950 0.413973599573 0.050779808669 -0.732231530643 -1.276714506766 -0.024234601953 -0.041897599118 0.487505009884 -0.139805413699 -0.798950348907 -1.192047275979 0.403035874150 -1.016130422879 -0.003706820594 -0.014474892718 0.187487649193 -0.212776817313 -0.034024357560 0.305819317715 0.147979319164 -0.377797332278 -0.996203468703 0.303715157672 0.433043663715 -0.227682884598 -0.346826222956 -0.431017397918 0.328852991285 2.136452016991 0.052452266450 0.785339712552 0.010521769963 1.562092721338 -1.391335957878 1.002301295557 -0.245893913702 -1.642715762750 0.213684949282 -0.039115488456 0.232598011186 -0.183994015712 0.412949222921 0.837861580623 -0.031633318203 0.080218755627 0.026538102316 -1.000922469438 -0.051611291857 1.819880742103 -1.734862055287 -0.300490681798 -0.495323554314 -1.275562955765 0.327364628028 2.125066038989 -1.507037638028 0.609475693496 0.033292372548 -0.935147346059 1.019067331551 -0.054877863960 1.095020104338 0.010457647966 1.606618615685 -0.608992268841 -0.144589250030 -0.333232026129 -0.521968511432 -1.701692644321 -0.314380525604 0.116822447832 0.009923188724 -1.282536270384 -0.399503236157 0.157287425824 0.639911245550 0.007672373931 -0.461317318600 0.049289387105 0.833754165638 0.019203295161 -0.008396401209 -0.727904153470 -0.109303098916 0.168121035274 -0.335927000897 0.179978240035 0.243289577598 2.241696353240 -0.025526456705 1.330425960222 1.241320107193 0.070199479347 -0.768857445287 0.439849319106 -0.355088725702 -0.461083724393 0.938019332282 -0.121378990467 -0.291537296352 0.167389038876 -0.362335694437 -0.243564889797 -1.557643612076 -0.580950128718 0.983502083065 0.331129522231 -0.002802542199 -2.165663175410 -0.165199179875 -0.000498797585 1.009009829940 1.292470426727 0.048916538023 -1.866863562415 -1.470875586742 -0.125222318352 0.109169466340 -1.389257899113 -0.006947972724 0.293372132349 0.948223673305 -0.270291964231 -0.822011251444 1.396251307258 0.384564975769 -0.617938366676 0.005220514543 0.569134608858 0.848065043531 1.478681825977 0.617363299349 -0.255149892500 0.314494164705 0.101064033079 0.527769058276 1.200581240087 0.208631784322 0.003221158356 -0.937550760946 0.889102379489 -0.114764241726 -0.725851369720 -0.104468937427 -1.670707395357 0.124663107346 -0.170621557548 -0.550487826828 0.373531266567 -0.964772099645 -0.314088168448 -1.401923837554 -0.149760490482 -0.229357662516 0.167689107825 -0.052395499440 1.862592320315 -0.099380780483 0.283157592295 1.405369718274 -0.354275467585 0.080357997511 -0.352749147730 1.498976253020 -0.724173759246 -0.942420699476 0.082149794646 -0.967642603676 0.591411198071 0.006195118425 0.263305105229 -0.705657609824 -0.698005581733 0.042576707180 0.196822139391 -1.956182289756 0.035202761305 0.846351105084 1.121267175497 0.116385126749 0.227132115154 0.483506034656 0.146685874037 0.799649049888 -2.138295645625 0.510993899398 1.786091269101 0.040951554662 -0.310839442764 -0.680311326573 -0.127002952992 -0.251408620609 1.846367435929 1.272215855814 0.035627920664 0.108262167042 -3.308451630519 -0.054141602601 0.124612405097 1.273083574068 0.002650652952 0.482722602386 -0.093629866812 1.391218434653 -0.015283622819 0.127916055476 0.132342111432 0.001487661398 -2.539073683017 -0.098457801112 -2.142460570455 0.374240507740 0.778126903596 -0.347595491082 -0.105618495833 -0.236562370085 -1.026072332865 -0.838916942787 -0.067979514358 -1.919547463918 2.465089967355 -0.473337953893 0.533640548219 0.178456202169 -0.072684207934 0.091532398159 0.140785368544 0.273627552940 1.271729626526 0.853432346735 0.539403488605 -0.013200708792 0.659272486377 0.017899128689 0.905241803033 0.848515445713 0.564372771791 -1.097292655062 0.697435333316 0.034896460393 -0.214771167555 -1.450751420522 -0.077495906943 -0.924853711818 1.713208249919 -0.129341003320 -0.324313359319 0.724729220827 -1.122838745951 -0.679160651912 -1.318210208713 0.039509599744 0.029470765206 -0.460768720998 -0.188645823862 -0.045815940533 -0.046974301317 -0.408983141630 -1.683566189166 1.356798171708 0.158771780860 -0.005398881014 -0.007983497394 -0.043943961801 2.162893953401 0.126844995777 -0.762975916615 0.314731999453 -1.199281898530 0.120803158825 -0.002478992888 -0.056564944702 -0.255026114253 0.504098334267 0.390734768825 -0.075046636693 0.912672291173 0.321297157126 -0.108512541371 1.065153493660 -0.262911029985 -0.300723277353 -0.468617914888 -0.354890410846 -0.138729854149 0.544594551276 0.297080284685 -0.131815628511 0.239965456021 -0.174968567523 -0.030515632558 -0.097886512238 -0.502171631074 0.020399417068 -0.503729077273 -0.139211025743 0.282944418251 0.255267651699 0.364801335397 0.393633673979 -1.951493360297 1.070976530771 0.112237709126 0.232019399560 -0.001407034685 -0.107234685269 1.709005797605 -0.394709710809 0.336333818157 0.259180466135 0.691051257036 -1.188971342635 -1.239248497529 -0.654835091582 0.564772435653 -0.244430441933 -0.766628156617 -0.167832091878 -0.982209671116 -1.243573388026 -0.267443484388 -0.817062758700 1.207252015415 0.005855124221 -0.011706256313 0.255870172215 -0.151666122950 0.582502330641 -0.003885301939 1.515354582657 -0.363770052622 0.124207566269 -0.228411266983 1.603090885649 -0.444840401520 0.055991429197 1.599558558046 -0.205755445319 2.147919829718 -0.633445869303 1.395393461679 -0.023316918271 0.622194774310 -0.137598353033 -0.116726629794 -1.079272006339 -2.278049699488 -0.032660838877 -1.000225741690 -0.370774697361 -0.124450263091 0.000873582786 0.431809710890 0.296519834913 -1.780930506494 -0.022479396656 0.386817502043 0.562635262321 0.130687733092 -0.227638495274 0.430320678135 -0.303079748152 0.199596588228 -0.802771098388 -1.979083402078 -0.074635248116 0.075054426421 -0.253420001550 -0.462227994065 0.212343324878 1.842593878925 0.290152153882 -0.059485516189 -0.403852077381 -1.067900446044 1.561376391013 1.315043498003 0.006867168292 2.120127142965 -1.302521270744 -0.060108714331 0.923852779250 -0.078990335234 -0.665913396628 1.114747709194 0.071436961398 -0.002246234052 -0.610176168799 0.691401556557 0.125056869148 -0.660657508188 1.029859136386 -0.806506281151 0.258190558716 -1.023443635009 -0.001865206264 -1.857323448090 -0.774510241779 -0.023544138912 -0.821817333863 0.504911165970 0.001559339667 -0.630766456638 1.827008619000 0.040294203164 0.914256486877 0.479231306429 0.069301930721 0.373317647663 -0.325485275957 -1.404198498544 0.582866632037 1.173222159053 -0.118651129478 -0.058488302325 -0.445320402008 -0.230316684870 0.023947088615 -1.714389041832 0.935532735387 -1.808347713039 -0.054822317591 0.076269715924 0.008826032537 0.738057988835 -0.286949108371 -0.032829283733 0.217580195843 0.691037449353 0.181138159190 0.691712592939 0.360724481591 -0.989316611410 -1.541801379597 0.126031626111 -0.416521918983 1.556017331836 1.098915523365 1.176786455917 0.249023704830 0.387583633930 -1.706825174881 -0.024974312573 -0.480532769749 1.611380071188 -0.013615934548 -0.116017925552 -0.062482537939 0.030157255433 -0.075495253344 1.198634690835 1.498807410324 -0.300932214196 -1.811899591856 0.318261022095 -0.649771605650 -0.184252835144 0.371172311089 -0.307655827848 -1.173459342578 -0.532142146165 0.008239959177 -0.012386206789 -0.013123728209 0.272011505895 -0.490492465881 -1.558668782786 -0.107819366321 -1.075876974533 -0.020311351806 0.073651644632 0.396216347036 -1.691807107833 -0.297980337035 1.929514246006 0.274680523475 0.170669608604 0.654802684342 0.272294050246 0.004614926683 -0.234235311100 1.532670153744 0.306205760592 0.212785379358 0.142188356540 0.451270968943 0.405220639912 0.477372137479 0.110899178737 1.758370079867 0.037248574771 0.192272762675 0.575608038865 -1.646086741689 0.124315575498 1.172470714767 -2.799510502455 0.344455253774 0.001192358745 -0.024609438820 0.412612205666 -1.540877671496 -1.253619355730 -0.040181474625 -0.636182141026 0.085578212379 -0.386204731490 0.070220281052 0.420153547765 -0.413727551856 -0.014686916898 -0.791839267638 -0.020551065506 1.386271394968 0.741155935305 0.129010750376 0.749032088133 0.009796524960 0.038189267416 -0.388952409376 -1.487786552575 0.212958486559 0.796607143377 -0.084990825836 -0.270893572237 0.455462710008 0.313213074416 -0.807906196322 0.421594465373 0.008237435443 -0.388316055818 -1.363951614313 1.586253627433 0.039444848992 -1.234036703198 -0.087087624862 1.662582173503 0.051310157579 0.545880156556 -0.264853591588 0.199873084792 -0.026525811404 0.128458529240 0.419336313303 2.027891087322 -1.055887804220 -1.842921122622 0.102347850043 0.126263522263 -0.550048166868 -0.016580370812 -0.112448704364 0.091261321884 1.965735975216 -0.327791152722 -0.572485629222 0.153130888594 -0.022471086952 -0.887937410513 0.194213463797 0.486817503706 0.494907749559 0.098420767451 0.589744065811 -0.351055903261 -0.103239263713 -0.241589367323 -0.627424829432 -0.308446221257 -0.032234314385 -0.556601903587 -0.334264830107 -0.026649232332 0.114647723143 -0.217173285409 -0.021290929502 -1.728012744032 0.160965368130 0.391323840080 -0.091930282168 -1.931967089893 0.003753091122 -0.052408899081 -0.934450374977 0.056657262015 0.813806775940 2.224897917234 -0.226862661261 2.058158096336 0.212430852577 -0.082796682482 0.954587756192 1.445862215722 -0.261354150819 0.025827596660 -0.002449721647 0.002709366183 0.527553505701 0.183179979741 -0.449767074436 1.330138176814 -0.287474717500 0.091885351953 -0.001811483324 -1.832103536419 -0.186219764155 1.093237574520 -0.370770605988 -1.667929974291 -0.360580887107 -0.316359229021 -0.085429884849 -1.842764292054 -0.017305448893 0.172241544663 1.555906258271 -0.066414555868 -0.158160937550 -0.735419819069 1.089845162796 -0.285694655168 -0.946961372402 -0.746745200776 0.334278090745 -1.085619403481 0.324511788995 0.698483080911 -0.492207545723 -0.871834496561 0.073513126349 1.388614475293 0.049673130679 -0.016171306144 -1.485006249442 0.039606256147 1.487024191886 2.622774237150 -0.175394089956 -0.052338173506 1.177155083176 1.033584677841 0.105242334250 -0.274420458019 -0.697690997278 -1.036983708384 -0.385698121250 0.260323469339 0.082787015504 -0.425328563467 0.420882840692 -0.211336537373 -0.026250505156 0.090761048095 0.673469685793 0.330297429478 -1.205703070670 0.439243113715 -1.221951923145 -1.451055634013 -0.049815661798 0.312721459584 -0.818178524274 1.091292383074 -0.021220998255 0.902854136222 -0.246747282318 0.450951456200 0.700259375600 0.021253222536 -0.131891037537 -0.614941534111 0.389056076855 0.809791611120 1.479224703929 0.559028338510 -0.979694240811 -1.184364268020 -0.063886889322 -0.831666793767 -1.882136496577 0.432841055966 -0.248110120563 -0.481049059612 0.186495337251 -0.863797108257 -0.399376399968 -0.013889249120 0.174287453352 2.326345236557 -0.113629249515 -1.050667450464 0.104556626435 -0.000918319248 0.496614750575 0.094830439390 -0.014952585944 0.013883053078 -0.982609142963 -0.913860233200 1.462295746996 1.315632365262 -0.006154722194 0.488183292391 1.331154400072 -0.435384898637 -0.105844713195 1.433898706223 0.119588697048 0.035747242894 1.168851986648 -0.126629271283 0.649965726846 -1.137665295337 -0.083390830275 -1.289519307402 -0.193367107684 -2.187545866147 0.778292699578 -0.002072696086 0.251292182693 0.350675969351 0.207248189046 -0.237419204245 0.049333627462 -0.832245653713 0.073603623561 -1.298660140171 0.001695431694 -0.569477891115 -0.229853969327 0.036180959425 -0.427530758994 1.123529883525 -0.311456159185 0.177082457870 -1.458886991854 -0.661597212465 -0.089805332217 1.254485327324 -1.611185534819 0.376123239686 1.412736426192 -0.064534377553 0.088513789842 0.568146752674 0.283804211164 0.008922922232 0.088261860074 2.032644306044 0.220081535057 -0.226692334604 -0.390249116651 0.521311805894 -0.294623119427 2.285903343683 0.415830675359 0.423031947934 0.156098594673 -0.007998979287 -0.313158844088 -0.350550219665 -1.047223815629 -0.192976351987 -0.480659077473 0.163341032575 0.106114176432 -0.612592841725 0.138588598007 -2.782070409100 -0.926487560882 1.189442057930 -1.087503796831 0.362362400924 -0.248395156824 0.547747827396 -0.324660947519 0.166748247715 0.590170273033 0.297494141225 0.163564736010 -0.696565866822 1.537259965871 -0.164428417205 0.245376755996 -0.076171093303 0.017161081005 -1.394639424365 0.940095273439 1.053814684025 -0.000080945683 -0.568352237947 -0.512491565720 -0.233815494701 0.555822970934 -0.152043502882 -0.695503120683 -1.140231930177 0.018752479449 0.130073537545 0.315891336030 0.132479957182 0.883849883113 -0.292724375659 0.031949566627 0.796076315088 0.072063874603 -0.054990342592 0.041433099763 -2.161892226165 0.290203391624 1.856717840294 0.315584482248 0.243650557100 0.041078909803 0.988255911681 -0.412241756448 -0.093862031307 -1.127667488587 -0.375208773347 1.484293549787 -0.035871913687 -0.019440520494 -0.088755093530 -0.116689927538 1.341752301073 -0.774572607639 -0.820068562884 -0.035780489633 0.545800072275 -0.076207383886 0.179122939322 1.521688551272 -0.826002304410 -0.388635016862 0.056281571544 -1.279361863032 0.302309686748 0.074101264103 -0.199884342004 -0.365599261009 -0.140875590399 -0.027537470330 -1.267101372845 -0.570732717715 -1.570304231448 0.039066954514 0.031137861885 0.476466995318 -0.106783889007 -1.227302953219 -0.619935681422 0.022253329632 1.284024454935 -0.180242237677 0.370225941633 0.157400776733 1.629100761416 0.034285646897 -0.144778706999 2.474561048105 0.117709277974 0.682862028822 0.113962392445 -0.036567248174 -0.047772337407 1.320500475094 0.130739884453 -0.693829709629 2.272072351249 -0.474191587359 0.154251107581 -0.009340085518 -0.347309405745 -1.207361176072 -2.055063652077 0.119218888289 -0.147638526670 -0.886131993554 -0.456193745653 0.139172286350 0.884755329200 0.251863790656 -0.015895211794 -0.264878617300 -0.131521055375 -0.611206854952 0.004237470614 -0.401586450459 -0.120846274295 -0.170433091204 -0.018010547973 -1.538603743856 -0.004563989435 0.376776105809 -0.203046155413 1.538792589426 -0.054900339709 0.205660151312 -0.039406899241 0.284960773334 -1.404606467794 -1.021819232712 -0.022300909160 -0.186662495201 0.360400446717 1.344299948517 2.181142190501 0.827053409830 -0.316671980090 -2.219752229693 0.922843433708 0.012067735978 0.546944400999 0.021476692825 -0.504226889551 0.450830362736 -0.043645795452 -0.016061666293 1.468523485114 -0.821519576596 -0.401958818462 0.836380381760 1.183299363581 0.328791233411 -2.863899221953 -0.116637355101 -0.093588364563 0.192010350805 -0.039187552053 -0.089799806460 -0.592517710435 -0.009769199515 -0.173712461791 0.878364326999 0.216829651720 -0.141525809678 -0.129711233455 0.899521933959 0.355218805053 -0.075789632359 -1.659182478033 0.189996436990 -0.242834966944 -0.115631246871 0.012428168055 1.319576655867 -0.297172175091 0.297263586980 1.418354770099 0.433485008374 -1.164937815934 0.149695039824 -1.808312795955 0.018305457865 0.455767406789 -0.067043988075 0.112920751365 -0.534233304984 -1.174237145627 -1.655115774764 0.452415800887 -0.676213086798 0.356275694045 0.104958012170 0.241804141138 -0.228876585534 -0.334613955499 -0.191467549327 1.177663623210 1.098756812963 0.241482814674 -0.418580981127 -0.818980523082 0.047699376891 -0.003705500914 -0.030613750740 1.872842842505 1.130540927319 0.660102902632 0.108521862858 -0.032427469347 0.185131436336 0.521186087408 0.000766838643 2.761996915849 -1.286402387522 1.403548155111 -1.199033774028 0.454889091370 -0.243962874054 -0.504021604420 -1.946057253852 -0.229121143707 -0.085362660663 -1.425917032952 0.163619712546 -1.601331655885 -0.937378946107 0.002945885669 1.418171519572 0.432542766146 0.037002982100 -0.307075569087 -0.657663464780 0.861973900481 0.950002630969 0.004297994950 -0.088325505916 -2.447260807781 -0.086289781778 -0.512231800761 -0.708734811575 0.138180150003 -0.500056436618 -1.124295354624 1.631928517287 0.339832450399 0.969834983470 -0.558424277357 -0.062270116640 0.880320428726 0.161494389226 0.375259007949 -0.332696058273 2.713729453714 0.101315706245 -1.341713597848 1.115912462410 0.247748744946 0.594740598707 0.086383277706 0.930995656742 -0.463828420255 -0.596144431260 0.174277990034 -0.190009252546 0.956652779984 -0.001182287853 -0.117856226972 0.085174524370 -2.753785787900 0.023992767817 1.551936634698 0.255344416493 -0.458412430133 -0.122616015744 -0.508765206201 -0.538681611935 -2.880076886887 0.043429422841 0.101518700299 -0.038720152011 -0.043346312819 0.147956275682 0.915122184636 0.360413985296 1.082751337583 0.279126847171 0.095850190508 0.610545369965 0.276218710986 -0.025192129981 0.098460967673 -0.458962393720 0.005084244709 0.025242277748 -0.733584901311 -0.739088978425 0.053830063938 0.003492775130 0.118194553569 -0.302589202337 -0.107638207680 -0.282851246462 0.224087065086 -0.212686829492 -0.865800617195 -0.902355362765 1.602616288505 -0.073997379250 -0.006597190899 -0.994105257309 0.150583338659 1.105318270076 0.505279488339 0.003137974827 0.257446117193 -0.017279438629 0.026629176998 -0.601981456975 -0.249237488917 0.404292847654 1.273488512400 0.195246647707 0.469565588177 0.373317186552 -0.016173533660 0.066335766215 0.685160707509 -0.020195990856 0.053116948824 -1.048520312152 -0.413521268603 -0.249561705478 0.418994083397 -0.077336445918 0.027631371819 0.011051635923 -0.101585936658 -0.207169617337 -0.053441128454 1.862834520240 -0.213676431861 1.278414131355 -1.705605564270 -0.203459375286 -1.277353835761 0.630892064099 0.014602930400 -0.588961044207 -0.972089208403 0.343202820007 -0.747620262336 0.105435638003 -0.325623767779 -1.609958120079 0.038780013323 -0.161932256547 0.247568144602 -0.927038862261 -0.016661072383 -0.645160074011 0.019172511994 -0.033908472172 0.458790230679 -0.300183233846 0.083538532736 -0.820402090757 2.232576773555 0.927439835111 1.882844780474 1.339126687154 0.061893382922 0.713845972716 -1.406092871432 -0.036283928175 -0.608204235249 1.015584843891 1.813678745033 -0.014524669532 0.545360360780 0.340468593724 0.501311308372 -0.975622191039 0.437766576923 -0.995081531751 -0.654868345369 0.514035695860 -0.717725311425 -1.072219233038 0.273792097753 -0.003820781108 -0.951895264437 -0.261785952215 -0.153059967234 0.995618277220 -0.210047680707 0.019605498158 -2.714663228472 -0.029321596405 0.033208627002 -0.042021238700 0.228873174965 1.578796828856 -2.203697470179 -0.196925873043 1.127070206783 0.000627588768 -0.557937407477 -0.416036298621 1.657554877009 0.290019261878 -0.370359012713 -0.054839023200 -0.275985520503 0.275007690114 0.317567252515 -0.203275862178 -0.263999022908 1.738416642421 0.177199343486 0.297546490225 -0.027061416314 -1.496177946176 -0.132246841678 -0.390091304468 -0.255448092030 0.390101672695 -0.189270520979 -0.008745428879 1.748837316341 0.286467450218 -0.089709603590 0.003811140226 -1.850108820181 -0.097050034221 1.057251173952 -0.352514687530 -0.091026815865 -0.212781852323 1.681775061654 -0.559973649846 0.576646109618 0.385032161133 -0.040717006211 -1.445087489361 1.750381715245 -0.204387141345 -1.291099951321 0.389187011981 -0.661849991318 0.175196630227 -0.253651762047 0.001222682439 0.801544441061 -0.456723626952 0.027479902933 0.287319782050 1.379944442214 -0.047141415188 -0.749495923390 -0.247054859889 -0.198836822843 -0.257046466727 1.645659409686 0.026792051496 -1.693727866396 -0.970007225650 0.546258201179 -0.090860576859 -0.010452670943 0.357240508502 0.038948599786 -1.064737072420 0.363423769047 -1.582428009201 -0.097465400040 -0.172534708540 -2.099676026487 0.870381604139 0.245186355505 1.572322656990 -1.634751345520 -0.073479079326 0.002854563901 -0.322767190024 0.510750833154 -0.043553169681 0.709286550156 0.026675399315 0.111315823596 1.521794926848 0.084894164770 1.520889607344 1.239938637818 0.642912293871 -0.010578912463 -0.292963090858 0.090452488610 1.510024012174 0.200016198296 -0.345123733155 -0.399830344268 0.223822089922 0.004283041959 -0.113957456985 -1.249767529567 0.205970265243 0.065336460354 -0.413091130865 -0.509958924762 -0.952139196725 0.393060776840 0.307403351900 -2.495065230339 0.020174133535 -0.115842208020 1.171057746075 0.257872685995 0.046752277396 -0.672955017162 -0.068227596294 -0.152434155038 -0.734331216301 -0.373455131698 0.222508961252 0.178109892286 0.013594154994 -0.344453182750 -0.504670967161 0.551844263195 -1.397146201674 1.107841490538 -0.090538156947 0.403921855469 0.140547095831 -1.627492658505 -0.040661116842 -0.368936821751 -0.963280718077 0.543038735552 1.013911583743 2.012722490075 0.191326649609 2.045925317087 0.672508275022 0.000879902788 -0.166513281307 -0.160161151188 0.292575692908 1.360172231544 -1.443326428448 -0.404608984036 0.274546824585 0.439535813558 -0.266246745958 0.628461186542 -0.387082512445 0.717958703867 -0.405263990078 -2.725443404846 0.059526572105 1.155863657746 -0.037879033633 -0.064006213897 -0.115386754424 -0.690800903778 0.367641147070 -0.428187323061 -0.977324018314 0.045806538220 -0.258406078807 -0.487957178388 0.296825850959 0.333409466022 -0.206601530128 -1.096079897035 0.020846445445 2.518530268528 -0.056457935530 0.390975835425 -0.708465365488 -0.096358180485 1.101788731692 0.046734674109 1.777745723655 0.470802270269 0.121438376803 -0.028632487689 -0.994870535581 -2.128973882493 0.094248285157 -0.611520377702 -0.132205219126 -1.107961940998 -0.619722527529 -0.220679480134 -0.111235345767 -2.221380663231 2.135536866695 0.109713184379 -0.000649031251 0.608099355728 0.011584124101 0.276738271022 1.460001962348 0.306289230075 -0.763751867908 0.026174534357 0.036196156629 -0.153153878119 -1.853320196789 -0.188115480274 0.022283416641 1.869474441410 -0.340762397490 2.559480561891 0.237354798076 0.487894885013 0.381200172154 0.179821401816 0.763067541530 -1.132147928898 1.304743445710 -0.070792782073 -1.376585563298 0.041192720645 0.294240226043 -1.056106952851 0.177209856068 0.020096278943 0.089882833650 1.953650944873 -0.527240427160 -2.163205312222 0.425176761389 -0.043432232798 -0.807549758739 -0.287624890115 -0.006506983845 -0.227897745816 0.042107083531 -0.025576259116 0.079855980606 0.490797520709 -0.002435642575 -0.936573585932 -0.553010655853 -1.136386447685 0.275067485770 -1.646002641293 -0.404631060910 -0.033323265708 -1.063421238436 -0.585241959215 1.080242682389 0.731711801776 -0.481003239128 2.701315887694 0.216416868209 -0.036021383858 0.324510583367 -0.755643665219 -0.163516616076 1.207839177082 0.353038390136 0.286051098817 0.754721452162 -0.439249960344 0.392840891305 -0.061132790828 0.817799348782 0.297462451253 0.274702765352 0.724988235846 0.178429607791 0.493480638395 -0.678728476461 0.038457408254 -0.032494112376 0.223719817484 0.202664976370 -0.003815970220 -1.104675307515 -0.387951828548 0.272384739708 1.070114047870 0.105062774418 -1.502173254122 -1.238866826446 0.247285020036 -0.449950577580 -1.091302173284 -1.385456554851 -0.416117636771 0.879718255901 0.388766636412 0.019042524265 -0.000467075006 -0.034226295188 0.204734452313 -0.008493537090 0.326020486178 -0.527218568063 -0.637756931866 0.273019753763 1.581377595007 0.660288613029 -0.027042575465 -0.058128378060 -0.598862109747 -0.369499494618 -0.127449530165 0.755686213475 -0.360082865157 -0.077171195756 0.789367453177 0.004696510805 -0.311399219796 -0.418617904440 1.619851423925 -1.426198117997 -0.417355719169 -0.007485903817 -0.858236264520 -0.191524524801 -0.459888778633 1.203167478679 -0.182823742900 -0.389762609805 1.362505199352 -0.173382222875 0.002805141595 0.362533187419 0.295684399891 0.344682425269 -0.120756017169 0.085395918160 1.447312829449 -0.289790855397 -0.497302997207 -0.191119584351 -1.127823831284 0.022161264026 -0.001381848151 1.371797023903 -1.214657709050 0.626053593136 0.091868920655 0.172202449740 0.106734432893 0.721872031798 -1.286698983338 0.145444994335 -0.463215159790 -0.045676735683 0.340634032562 0.156583731681 1.246179720771 -0.041897944789 -1.482325434437 1.711214604353 -0.128001332479 -0.002254431375 0.004393197588 -0.045651641634 -0.542859822938 -0.734057633941 0.165599443424 0.197728057090 -2.501130698472 0.038241299455 -0.116769944512 1.087425858918 0.128406775290 -2.283633901623 -1.056184843198 -0.080026917375 0.600048993410 -1.243284191803 0.175569025685 0.653388018340 0.239473962847 -0.694589141285 -0.484533690301 -0.481525914097 0.099650397968 0.129536425420 2.502657229895 -0.310993270505 2.853586362825 1.425190541943 0.129176771074 0.070488851869 0.044943910116 -0.000224227419 -0.463249697924 0.977269020888 0.466837950296 -0.169314024778 1.895929008721 -0.825652682541 1.819444323676 -1.163318747776 0.057623245560 -1.401600374085 -0.204156267416 -0.197488728917 0.416956156247 -0.135185719882 -2.376506765734 -0.459636231731 -0.026221540155 -0.122171154941 -0.102850395875 -0.107298850051 -0.547506459528 -0.431636721594 -0.055749483894 0.295968096966 0.444633410792 -0.277785476384 0.329777147131 -0.245464369959 0.596904194367 -0.001865528732 -1.807482312084 0.029623313264 -0.814308195019 1.365092251292 -1.594884749394 -0.000619168264 0.469544096925 0.013240137677 -0.099366720587 1.634196518787 0.268571149238 0.560717849730 -1.075316204027 -0.835993018797 -0.247964359698 -0.003474624805 0.057326857740 0.254908347345 0.712226276497 1.026754106672 1.211555298241 -0.326298333150 -0.282540079370 0.222372253537 0.123925404209 0.333876651201 -0.034878643375 -0.824349836724 1.644221237785 0.286547619777 -1.399479485251 -0.076203148460 -0.622279955912 1.386700589959 0.034469860193 -0.159397659751 -0.176399274437 -0.427258302565 1.068621248800 -0.224180227018 -0.169842029894 0.068813923201 -0.710425585642 -0.018198651764 -0.486485153201 -1.460330551075 -0.362348027275 0.127289501524 0.077040792150 1.673708442089 -0.045561554527 -1.081666799092 -0.440888864720 0.068576628434 1.057747814399 1.492921314622 -0.839882778557 0.494873223067 0.118018484514 -0.315390066057 -0.080767719705 -0.026683711763 0.041837337777 -0.137806184192 -0.032368410853 1.134705351184 -0.001489041229 -0.835255382178 0.503329333856 -1.680715469498 -0.084806758901 -0.009479712102 -0.031571241730 -1.049589939370 -0.299407165599 -0.252921761111 -0.373821366049 0.209567547922 -0.034907810805 -1.468313962898 0.579141282712 -0.020741515484 -0.705970237248 0.147558522374 2.339550170572 0.222534611420 -0.044025308234 -0.326145802451 0.794242719243 0.177648073484 -1.839916047010 1.148027016849 0.009451931583 1.723482089374 -0.472968760311 0.110182917185 1.699015636794 -0.866925923719 0.230264640771 -0.057091087201 -0.176648307338 -0.265395908824 1.425256851098 0.337405877030 -0.279563517686 1.665004766293 0.301717579617 -0.295986194603 0.431615284314 -1.013010423734 0.202167247359 -0.523633774655 -0.122515946025 0.080463494273 -0.923400060859 -1.601146758240 -0.172302352716 1.675310190247 -2.424831272337 -0.098916657019 -0.512817426486 -0.311867096964 0.097659602694 0.029068361568 0.875306060717 0.059492529437 -0.509349967000 -0.187112318302 -0.792051969146 -0.692647151878 0.609878487137 0.186966660352 -1.091467832896 -0.499833912356 -0.032589834086 -0.507790815276 0.375875857937 0.565395385272 -0.011335028856 0.043017802143 -0.468308455956 -0.156414267306 1.248239050508 -0.288181338931 0.848389097874 -0.161933642611 0.409357395359 1.479687099707 0.653590384752 0.117618164861 2.358471769327 0.239889636277 -0.008967760994 -0.832275631729 -0.028358539256 -0.764741153768 -2.161848043617 0.945395377278 0.385576648149 0.580483476409 1.805321103705 -0.157659162366 0.264855092311 0.000990270580 -0.530328651491 0.042945962665 0.786034593696 0.247969544162 -2.796378624368 0.174575837276 0.098126230481 0.127102604788 -1.796139684490 -0.951463842730 -1.408825754621 0.093460856385 -0.006822069931 0.313522216388 0.270379841763 0.256792243601 -1.520682622986 0.347440038191 -0.133590176668 0.062208656436 1.879047740317 0.004805911047 1.396880487460 0.673476772256 0.327423208866 0.288233451414 0.097335969202 0.738746675207 -0.395434229548 -0.920850891717 -0.110926250010 0.151194032192 -0.927937021505 -0.029362842307 -2.906704385548 0.757620338394 1.294585412179 -0.750520476159 0.193220248667 -0.084803069166 0.438848616558 -0.938502993393 -0.006904463079 0.156284013402 -0.292883464701 0.089510450823 0.214814310501 0.135887117238 -0.425775977225 0.919457688692 0.181227204446 -0.171453567702 0.007912892214 0.071718700636 -0.386946949044 -0.030635436848 1.186471496874 -0.269609231695 1.645950015389 0.003186509920 0.527072802745 -0.248367518678 0.395075810240 -0.418970120058 0.437541203790 -0.001114396285 0.151783021267 -0.293922283143 -0.287216337412 -0.037328133905 0.476824830628 -1.000775372616 -0.580851264271 -0.937267706172 -0.110261030476 0.022659358417 2.701781085271 -0.706200536033 -0.141232626417 0.795699289644 0.581169041505 -0.272242038927 -0.202936627076 -0.015187671830 0.010174949858 -0.799112949477 -1.521715849981 0.091729867074 -0.116535462450 0.842716224552 -1.067464722319 0.133548251502 -0.216981367691 -0.446134711337 0.490190729958 -0.876584874032 0.000325708849 -0.686763183573 -2.073573661286 0.135777729043 -1.109741217586 0.488773475333 -0.104532882079 0.348511141972 0.495254420243 -0.101383058071 0.221576508884 0.053433579777 1.625111459775 -0.031626042369 -0.173148421991 0.066956377404 1.684800307921 1.626637528531 -0.008193438696 0.316273534592 -1.881972755800 0.050450003654 0.791985009975 2.113817089947 0.202456725526 0.979605647786 0.194458309818 0.119367015813 0.403506442660 0.941784557711 -0.027474665566 -0.386116717729 -2.435564174711 -0.237096172199 -0.207397122308 -0.276044324911 0.217603969821 -1.151374247603 -0.166147138850 0.665005992637 -0.183739437475 0.117946487042 0.174592288780 -0.674281783025 -1.903352620593 0.067186004463 -0.563157115327 -0.441538503051 1.633995704530 -0.000601334558 0.676175181539 0.252788051183 -2.893789469684 -0.129505727654 -0.251587314114 -0.617903541601 0.473975284695 0.890839989355 1.428498846232 -1.240361571143 0.149114516354 -0.131184217372 -0.213259465186 0.031852094101 1.391928391388 0.768892908058 -1.103038455695 -0.262740845569 -0.022046776338 0.323168141027 0.022888202863 0.360629019255 -0.503418724879 -0.199971727788 2.136965543600 -0.309959362502 0.640076425914 -0.031304656453 0.005778899175 -1.867202671607 -0.001043202485 0.014543558047 1.616215395113 -0.343083295088 -0.184898516462 -0.126772901709 -0.323936974192 0.024403196458 -0.020104437826 2.154157556393 -0.494956914197 -0.897737622382 2.107421172274 -1.195069172786 -0.513478978289 -1.519319347688 0.026884958149 -0.002551101053 0.068444810514 -0.055944860334 -1.250346611200 0.330837007121 0.310317512891 1.341209277155 0.868609063666 -0.049154509606 -0.091088829810 0.161758388237 -0.152035766418 -0.384853836532 -0.651770337746 -0.008769426105 -0.128521607610 -0.742616005128 -0.121057428058 2.593437633522 0.844663078764 -0.275379022894 0.795067891745 -0.209321190716 -1.646632441222 1.175099452486 -0.509318626493 -0.307881531149 -2.152635562585 0.033739658714 0.018285349883 -0.380819734077 -0.672086832748 -0.139085687621 -0.802693611944 -0.320123577520 0.607760830742 -0.333432351669 -0.451419919575 0.327991542588 1.004044398875 -1.067993335614 0.320500154665 -0.047870551999 -1.130546732691 0.230415039228 0.020152116851 0.385607563457 0.007055160229 0.060302017980 1.685993409064 -0.006651116646 -0.165854183080 0.374521478750 0.268654485011 0.421232805268 1.856183983230 0.211973061374 0.103823282303 -0.365109667052 -0.386644508145 1.591568350234 0.183099344696 -0.291967106979 1.244313151292 0.017479076919 0.609395988908 -0.082361889857 0.649542712459 -0.548863414618 -0.452762976704 -0.303113207497 -0.086417813739 -1.907133305107 -1.298122042530 -0.293666022963 0.518650622168 0.019180804154 0.924737749226 0.399960337259 -2.174761335040 -0.010583935543 -2.374070711151 0.868821241397 -0.200889828125 0.167149057975 0.031505930602 0.701340589895 -0.584490253351 0.812909343796 -0.416253120723 0.198643213824 -0.634055325759 -0.173006137600 -0.052579962733 -0.069607098438 0.393986249257 -0.574912097775 0.004349287841 -0.138937014565 -0.348459514190 -0.498940230839 0.115787677683 0.021018056503 2.076689067435 0.039698304414 -1.383687123921 -0.026282185913 0.010818982280 0.312157963081 -0.371516579214 0.417969722267 1.367168469651 -0.089930016505 0.449414667521 0.885189247493 1.590900569690 0.164713796034 0.042706675159 -0.051526395648 -0.074962757058 -0.168992989571 0.209870252091 1.147584864357 0.116409340731 -0.679560436116 -0.090732776677 -0.293069708689 -0.455416919652 -0.067781076627 -0.500956818630 -1.418755878054 0.889283327597 0.310949639174 0.650955509716 0.014463833571 -1.092442029531 -1.695454914413 0.184115450624 0.002369787267 -1.379871435437 -1.078280671015 0.551049133210 -0.103390050435 -0.396375389069 0.866180054459 -0.353177642119 0.049835818789 2.369113764145 0.246087049127 0.459488136442 -0.140620862614 -0.633293281687 0.143880356616 0.574633491782 -0.017235538995 0.123183463619 1.238172176222 0.401720961830 -0.052173701405 -0.179440230778 -1.906656416574 -0.342778974695 0.314292692292 0.729063379401 0.129049755789 -0.221476327058 -0.659143711328 -2.352336170882 -1.108225984697 -0.006705596039 -0.188742285612 -0.312906649814 0.676863941904 0.289867977180 0.373327456922 -0.658544433793 0.142434408892 1.448239953038 1.952555638909 -0.131397636570 -0.103955268596 -0.250567527935 -0.137656162821 0.001618752665 -0.005568128448 0.119287698707 -1.502742688541 0.258589067758 0.370730297197 -0.070285411461 0.994409769157 -0.287003964354 -0.244395475243 2.044164271562 0.002254345884 -0.490169339641 1.805242137220 0.007918669533 0.494358126514 0.120288733429 0.002212426732 -0.142882502163 -0.050030617721 -1.305349857022 0.087482860534 0.008244028338 0.209661390799 -1.125098801090 -0.213306727946 0.272124685040 0.122405949432 -0.193989802461 1.068809290329 -1.004106599791 -0.354204648898 0.391688743176 0.247073036706 -1.604250766556 0.005696740867 -0.687555532413 1.277613862331 -0.679874261993 0.517734228370 -0.830391236104 -0.181300258630 -0.419691812813 -1.239195278493 -0.352249565904 -1.264595712523 -0.191034760986 -0.719852698993 -0.062892115510 -0.068102100524 -0.001155368889 -0.856618126008 2.962524770909 0.055884313426 0.043181284490 -1.678264183908 0.999036620120 0.774869915977 2.293032535196 -0.132628069855 1.451794211534 1.076856907415 -0.442908037768 -0.319041827240 -1.347880055568 1.397988911807 0.376237634227 0.652432185927 0.009882775128 -1.143205867537 0.086137440354 0.179047615582 2.041253563168 0.104760476150 0.203827669440 -0.964829369735 1.157038500844 -0.105433246685 -0.035114558882 -0.006607627440 0.342679562412 -1.434515977571 -1.175006373757 -0.923330170945 0.641371238196 -0.399536438712 0.022491929238 -0.179489110793 -1.134449589313 0.090540823933 -1.153962949945 -0.225373073325 -0.037546777327 -0.352426983603 -0.124057313540 0.323925621972 0.755293694834 0.186112798535 -0.126363620650 1.246473001623 -1.237817353214 -0.576913150341 -0.527994170933 1.333789389033 0.624425284590 0.140800563154 -0.918433098477 0.067415084105 -0.005742993746 -0.175374101081 0.010253572006 0.024598432899 0.290475454455 -0.055864273745 -0.192319083465 0.046742543987 -0.052714089526 1.343165505334 0.135456710155 -0.400979486553 0.229265021823 0.270610070039 -0.341473463122 -0.018076275003 -1.543422495002 -0.443355428670 0.220155686035 -0.397178377698 0.670916487339 1.876755515204 -0.205790349873 0.057746682855 -0.537339420293 0.425272482801 -0.190910775103 -0.999265921324 0.509493411982 -0.409343725199 1.931039757821 0.570729221453 0.081264531290 0.013776762957 -0.556323455110 -0.111005910372 0.016301425319 -1.406885427328 1.411903064670 0.332468926540 -2.155603029862 -0.012138753789 0.443949877019 1.347161850170 -0.380964541598 0.987254457744 -1.484774487536 0.346777343632 0.331063048791 -0.399159738058 -0.115820093428 0.228317413332 0.360365140290 -0.037261231256 -0.166303645816 0.728370848879 0.639784080232 -0.068674340404 0.371114501523 -0.181709281883 -0.049009641544 -1.758906781708 0.072506155865 -0.864529847737 0.041115600755 -0.325219844471 0.709039206339 -0.343980411780 -0.079961605587 -0.561625444473 1.644905684542 0.126864063100 -2.687829550867 -0.119952209262 -0.133091456066 -0.097627187107 -0.767407000728 -0.344522788328 -1.152922116479 -0.056576456672 0.507191101532 -0.395791072576 2.574680570433 -0.598128184576 -2.334860161020 0.507397973844 0.550876774300 1.411605232705 0.051580192984 -0.014958011484 -0.414205340370 0.862264083262 1.578845580096 0.385130826332 -0.049601550409 -0.005716608616 1.696519551086 -0.001174412950 -0.007410846138 1.060708363697 2.489141415625 0.441528577872 -0.550439829206 0.635736771265 -0.224012772533 -0.783687746719 -0.147598648905 0.086979619287 -0.808688152105 0.191059227446 -1.538080951805 -1.936868419494 -0.487071156097 -0.131633119190 0.345906477283 0.866706698062 0.015374040724 0.149656292118 -1.159224971711 -0.742128178456 -0.618952152729 -1.616677723092 0.069667408054 0.117753189117 0.991417358218 -0.022450171486 0.006934702479 0.491449530916 -0.714720987450 -0.011777522930 -0.034918054765 -0.250246328561 1.291739062324 -0.790657230410 0.017356966665 -0.188099379473 -0.013008581991 0.262139575776 -0.322410996422 -0.636501070861 -0.169343780603 0.656428998270 0.151956795969 0.204624300944 -0.520453206754 0.658985901715 -0.792697347144 -0.705332359524 0.376929632009 0.259616242659 2.026165225637 0.320046785840 -0.039548253679 -0.335688787989 0.589286319437 0.063070646136 1.923182800632 -0.004646508187 0.063495950347 1.086199764838 -1.191194282883 -0.007613080193 -0.311582984986 -0.213952891664 -0.550140552796 0.006128659530 -0.416752086043 0.362081278737 1.453277551899 -0.838423062084 -0.053762464568 -0.246805639340 -0.451680038724 0.852596221511 0.151295894810 -1.437553751166 -0.561368313908 -0.140362405496 -0.721215023782 -0.023527924407 -2.413264223224 1.861104428799 -0.525093841071 -0.096227857751 1.523744181356 0.140996100229 0.146670350042 0.922433805288 -0.004341991176 1.533742129500 -1.957442367302 0.322865874079 -0.255943829132 -0.063558992165 0.000353341098 -0.957000337805 1.563263447811 -0.019258265918 1.168203994271 0.843361229480 0.075786611406 -0.594995794858 -0.826890928528 -0.000727325046 -2.278834133034 0.148480550397 -0.113182638024 -0.223764367852 0.169136743056 -0.018065979016 -1.683192520125 -1.069200451917 -0.010764525254 0.569390479164 0.265165445747 -0.223840453715 1.469087183141 0.134742457871 -0.119699621524 -0.007048253292 -1.273545712780 0.057434022527 1.262006712427 -0.780210484605 0.595808239019 -0.120416536340 0.437738728476 0.777385608383 0.008088166559 -0.734328593933 0.514414342239 -0.276438292577 1.313910969528 0.087161981439 0.654953373506 0.290979655108 0.956483724198 0.233073272155 -0.230618138250 -0.006955467514 0.487247217665 -1.690487529050 0.299243577646 -0.555914692684 0.817674965307 0.986752918735 1.085149625953 0.104480688997 0.323234157700 -0.360206941131 0.001427222306 -0.456395806182 -1.452551592229 -0.255030546283 0.803618349443 -1.492229879918 -0.177804669596 -0.006244994333 0.514180879840 -0.176874135741 -0.161854192560 -1.091715591497 -1.510074824271 -0.057163320050 0.193141110447 1.130888142750 -0.075573502522 0.529347500894 -0.852873255156 -0.020671000750 0.337617690286 -0.902539607853 -1.494725734170 0.997907514979 -0.227381807653 -0.264410115712 -2.172006879257 -0.006953664742 -0.135361552107 1.152255851908 -0.355344853584 -0.030509421709 0.074274630919 0.219455905917 -0.081176581905 0.311597918877 1.683510696487 0.226031406340 -0.153971088223 1.324560494574 -0.200584994618 0.003034522720 2.177345597687 -0.288175774487 -0.320213142016 0.044255800281 0.124502539723 1.228582507628 -0.156241695763 -0.277204718189 2.322370621131 0.149840811737 -0.654547029165 0.314175888728 -1.460096609805 0.072097744428 0.243245372582 -0.040703244031 -1.499173018923 -0.000931751289 0.534549115830 0.038534315415 0.009598124717 -0.207782709436 0.116625878470 1.655297966063 -1.093278494792 -1.303269220506 -0.630894828802 -0.138360995734 0.065964283090 -1.478337488018 -0.139425912464 -0.130514116283 -3.030721981190 -0.324854137259 0.031803848370 0.436137947936 1.311255557017 0.298459391451 0.496643501186 1.629123341293 0.180315998040 -0.148712777320 0.205294170497 0.079604921092 0.749098064604 -0.126035771497 0.177749133072 -0.422059890689 1.238899853775 0.440156482960 -1.932706128122 -0.736605162414 0.791685136539 -0.100446602092 0.791114411184 0.072491892169 0.063446427015 -2.109692024183 -0.280953336419 0.961715917376 -1.054009384654 0.562460498225 0.089966299764 -1.055198068717 -0.389508501702 -0.620026515730 1.668845777001 -0.255190911206 1.971049722323 -0.101906384721 0.015780669979 0.160346291987 0.167731060190 0.068930744122 -2.990355778589 0.574140362203 -0.083881827354 -0.757103689300 0.368972937238 0.283648561764 1.972394082095 0.556737350441 0.002395824328 0.344041502519 0.747884289480 -0.389999606390 -0.041471529610 -0.444164336535 2.155420950601 -0.544786991331 -0.013814262859 0.022020621560 0.198180917551 -0.121776398082 -0.093749264825 -0.275382471045 0.002304840467 -0.834241337448 -2.294950783331 1.859029859806 -0.152541112150 -0.044637379162 -0.948961266431 0.140289347015 0.579812494469 0.635812210945 0.703307385500 0.108468886013 -0.538531250847 0.432464498854 -0.017739744621 -0.018373455215 -0.366507139286 0.028491626690 -0.927419129193 -0.608188665003 -1.299737776078 1.629542697195 -0.030119488997 -0.966180144937 -2.973963481467 -0.073916478683 2.228080338669 -0.837041860950 -0.733344611546 0.103907949647 -0.378024255908 0.152453799147 0.276482993138 0.035000097474 -0.065695879978 -0.248943435168 0.141811554344 -0.906184488539 0.062358140464 -0.494097146124 0.423932393058 -0.028932145160 1.149457348206 -0.073053393473 1.322226556417 0.750172878534 1.597154694323 1.436154065553 -0.020451917245 -0.458973906126 0.595885782741 -0.693641121437 0.027731200227 1.819512206860 0.400959261364 0.106409161154 1.314608779645 -0.415349964251 0.510110338024 0.686993732480 -1.700040424102 0.172549077784 -0.494053246187 -0.380250327645 0.054065250724 -1.276291115379 -0.194121684027 0.044018679258 -2.247655672194 -0.740614599383 -0.034300692365 -0.004821565638 -1.432879997160 -0.012481112678 1.548489372900 0.225397607782 -0.200388595625 0.444256505209 -0.392927795725 0.008578449702 1.122826227121 1.510078653682 -1.014905137996 -1.552504607498 -1.052226639248 -0.017153406165 -0.583875589745 -0.213603963060 0.061212399804 -0.425450335726 0.026637402341 0.958143966789 -0.713870981169 0.646829802552 0.133634011937 0.657000933717 -0.070982841828 -0.001051339458 -0.042457889396 -0.805126479632 -0.633639412729 0.392028451938 -0.745702919820 0.080522190747 2.102093483088 1.241363306141 0.143513648265 -0.521369148635 -0.008364510532 -0.065370920900 -0.023832337912 0.027580187080 -0.068082576798 0.137290162031 1.954939396251 0.202945275387 0.196521519961 0.181051639928 -0.337945362298 -1.517080013494 0.487615696104 -0.002577441580 -1.083975211462 1.245406401340 0.187160874915 -0.347836121590 0.001756083216 -0.130394711792 -0.087636322121 0.013997586595 -0.230493299567 -1.302458165763 0.781001806602 0.066771603208 0.173068855548 -0.741524498739 -0.116270090283 -1.367538570721 0.824922097992 -0.016188906056 0.497787124286 -0.007393803080 -0.078555894166 -0.061864065323 1.650247077423 -0.070314208524 -0.237633069984 0.095094873717 -0.465905023335 0.534122601235 -0.207565196819 -0.203561259830 -0.549833302701 1.644519469613 -0.125391472323 0.051230314442 0.843742776954 -0.154913774390 -0.210447437944 -0.142986307801 -0.204222543513 -1.895915212668 0.216893631307 0.799361000449 -0.271079585164 -1.529921340802 -0.013516218032 0.028381641806 -0.151656011741 0.039452876719 -0.453889615653 -1.578412144664 0.031604908212 1.065156621899 -1.491524034616 0.003055363822 -0.215680265561 0.675291647977 0.255740319254 -0.293016656322 0.395487315852 -0.205075463499 0.161581660902 0.270886992631 0.609858413765 0.095377811228 -1.763864217819 0.300053317138 1.659268734895 0.718161986181 -0.079461222149 1.668073500468 0.359468694707 -0.224077329505 -0.001271747118 0.866333012513 -0.166139178078 1.147660003445 0.756970899907 0.596824761446 -0.611525522440 -0.393709656476 0.303996518337 0.037367719955 0.401549456779 0.079889814902 0.837261611112 -0.091276535090 -1.842078625288 1.605639111743 -1.120099164183 -0.104360923086 -1.014538939700 -1.055838910055 0.250154972825 -0.058035037397 -0.378697178232 -0.672121469100 -0.692919506231 0.153793765644 -0.260023011489 -0.314753507528 0.695783326815 -0.024391894311 -1.926673818715 0.089803540271 -0.241729745024 1.565702775583 -1.265878990814 -0.432613306773 0.534728814730 0.032121759608 0.009071370171 0.414851248415 -0.010580741422 -0.561851769488 0.396420803585 -1.667257591202 -0.449078041426 0.196141442988 0.902473469272 0.179611807465 -0.003511686169 -1.213553321432 2.347745640580 -1.091409398739 -0.161124574189 0.264150738470 0.192435338613 -0.448549498962 -0.206446483235 1.082561251446 2.483675887683 0.170601901439 0.315118597965 0.116625075275 0.086748696677 -0.825168185407 1.445766694494 -0.042071329175 -0.318777832797 -0.137128490143 0.951379335155 -0.141325598386 -0.981400521845 -0.004312552906 1.261231345650 -0.267684090920 -0.036125005889 -0.783664771403 1.105233793316 0.627089489802 -0.213181744513 -0.055434393530 -0.105503779773 0.326442299473 -1.672120952337 0.278697661830 -1.009017835673 -1.012693492825 -0.050601583925 0.240730954028 -0.904057595789 -0.294836459341 -0.574442898929 -0.109162798172 0.088158791980 -0.141236927550 0.001353445719 0.223458155693 0.390292743721 -0.004553661493 0.459399508031 0.019001211036 -0.788828551699 0.091895295778 -0.034827429901 0.497060770893 0.349626378914 0.046655591479 0.871693331361 0.278943779842 0.387062540663 0.504492306305 -0.352681340080 0.355899557419 0.388946876169 -0.217794063179 -0.469562810984 -0.006753989544 0.088410400743 -0.527861745565 -1.243736857495 0.127735472870 -1.788801575256 0.751879277779 -0.115632724121 -0.705105255084 -0.053167447722 0.219910271761 -0.392624743201 0.436763514656 -0.417786417209 -0.234190715817 0.328984464096 0.488116708182 0.816141143959 -0.018001292044 0.449534031294 1.211748288329 -0.053766195476 -0.269915327015 -0.625689831913 -1.744247970308 -1.293843210098 1.124775203225 2.419047434349 -0.001665755255 1.188606745069 0.484250375332 0.010639334596 -0.445611714251 0.939069108822 -0.892154739176 -2.018002037378 0.850682425970 -0.054329475336 1.880801935999 1.431329247851 -0.334607909904 0.055955433854 -0.426738622351 -1.031702607318 -0.071051130647 1.007568683628 -0.260516729266 0.110677604185 -0.355615548436 -0.000994757447 -0.830759144154 -0.945348670652 0.168072071744 0.624925757149 -0.226575802770 0.193751167367 0.036025347626 -1.956183584729 0.017739477236 1.595565371649 1.470017713667 -0.728961282811 -1.271248528636 0.400015828711 0.197598710837 -0.453314465335 0.040312318545 -0.002889772416 -0.205056780953 -1.678748407580 -0.222048262265 -1.199952185801 0.215276763496 0.016678344547 -1.015242632994 -1.273245275405 -0.063717637446 0.456365754033 -1.694182964071 0.002415891926 -0.022919850510 -0.279385741686 -0.199165059589 2.830592634656 0.757115034112 0.036420083612 -0.268075905036 1.416461669107 1.251878138584 0.346931775760 1.423615268329 0.107369791594 1.694669677873 0.337424485947 -0.397617799728 -0.504275795546 -0.422491551055 -0.621962432985 0.260355061940 0.903037883056 0.041095025800 1.060421023206 1.379721287162 -0.183825045808 0.007397136009 0.041416008230 0.168692263659 -0.689936892948 -1.278198256920 -0.208172555168 -1.094958450562 0.037101331623 0.028383892582 -0.759355303301 -0.529404680358 1.449425056195 -0.746086003259 -1.634481515180 0.087942831737 -0.084936302469 0.717177968339 0.226071613543 -1.799133748599 0.013674211729 -0.991571901195 0.667096339482 0.054646578624 -0.444571538540 -0.005225091537 -0.014541093125 -0.058794393637 0.337097971730 -0.052980672643 0.624596657547 0.014391564945 0.280638161160 0.320750847808 -0.489999338497 1.345729003512 0.558872054631 -0.346617111111 -0.894197339569 -0.002160038801 -2.388719781506 0.451017979498 0.055823258857 -0.683256459312 -0.645319274242 0.216759338948 1.406411802246 0.258884533884 1.702554741227 0.292699535994 1.425767123391 0.070045167945 0.385813541007 -1.249573688073 0.350318846690 0.411380269808 -2.644391886507 0.236257679777 -0.011061776203 0.626170284193 -0.744491571970 -1.046785196508 1.456451611213 0.184200380333 -0.021095228364 0.153092618605 0.082216131987 0.140298789139 -0.096804475822 -0.110087196145 0.027257742636 0.291874729398 -0.116965134068 0.002289213878 0.530911938304 -0.112448671875 2.322109032388 0.117193562834 -0.271997297991 0.143234904371 -2.807184151242 0.053132694359 0.942359663463 -0.728292975627 -1.006694058271 0.957106095533 -0.166537580680 0.401357227756 0.575058923661 -0.666377017568 -0.136270169003 1.208187838938 -1.818045814138 0.236545913335 -0.480978571470 1.085340575922 0.012766205652 1.288098812260 0.008757505320 0.075027843173 -0.020332650881 0.000937809147 0.245862944972 0.110463577892 -0.759922173787 -0.339276865607 -0.690100745709 0.115731270694 -0.167045027051 0.185802431100 -0.972435231782 -0.364595506750 -0.031468468305 -0.840969439474 0.012370840541 -0.149364241280 0.613859760697 -0.354002965907 -1.529145874472 0.905035078564 -0.461662270508 0.027027680826 0.854640831077 0.096907738079 0.425563765024 -1.594716127434 0.154260333043 -2.070250166720 1.014488731019 -0.751897403095 -0.192889222862 1.262257757434 0.007149926574 -0.185892581878 -0.211714408928 -0.024406875441 2.374572732402 0.986526661606 0.135628929837 1.419611622392 0.329669341079 0.297922597375 0.128517351669 0.302453877320 0.699156132948 -0.452569785708 1.199844020719 -1.197713993842 0.739594790240 0.383644844022 0.100236617320 -0.837109129959 2.724250638615 -0.180421001818 0.016498532190 -1.196651575554 0.297889052196 -0.910354518910 0.520265374150 0.006564541379 -2.550289559979 -0.937611329324 -0.088063381216 0.002967361156 1.816514128643 -0.022239679715 -2.530347529308 -1.245895707506 0.533666067130 -0.207072001110 0.000528262696 -0.344732043936 -0.038127513763 0.762269856087 0.372941010312 1.272605452119 -2.387288676409 -0.045836387188 -1.518856291189 0.795023844299 -0.062253338569 -0.381059121349 -0.575015491931 0.062786154136 0.132586707653 0.206242676719 -0.171061879107 1.253658015084 0.108792595876 -0.149253944945 0.379757279206 0.007356586593 -0.640989948740 1.075929994773 0.010645131564 -0.262309754718 -1.226800123160 -1.722200044941 -0.018574354597 0.916124561432 2.147756479866 1.436687503534 0.328280615609 -0.075205095765 0.199876933261 -0.407181440885 0.677015318184 0.430486252054 0.015177799990 0.954817244628 0.113077077204 0.245159057584 -0.602604973164 -0.120420647881 -1.344741169625 1.065224708322 0.329937536839 0.480454844442 0.352841650414 0.094130440290 -0.131676667051 -0.698446910809 -0.244848119206 -0.844384936616 0.705650416150 -0.009742224566 -0.221875705910 -0.415675049307 -1.251692687719 0.065637211503 0.381059657713 0.115535346998 0.012762295618 -0.220901527460 -0.171997049181 -0.695644667908 -2.113176343750 -0.094407581322 1.433740985616 -1.093373353947 0.061112081176 1.325848519034 -0.893753556780 -0.000608119444 -0.134925247170 1.650068038386 1.502730813587 0.110612809668 0.079495056899 0.170535177997 0.241787004933 -0.037256206023 -0.410338855447 1.206919873286 0.180655899585 -0.607035482488 -0.041096558387 -0.720181425208 -0.090997621312 -1.798448795445 0.649679627965 -0.066313207825 1.832916575240 -0.166492597330 -1.635891703279 -0.449353153123 -0.816286090195 -0.000074433861 0.158567982381 -1.480090668335 0.114123733889 -0.330250023546 -0.852192088011 0.107283111422 -0.049093893296 -0.756295638476 -0.174217281210 0.342154337903 0.082486870527 0.252010998438 3.045523548850 1.840122336290 -0.145201476337 -0.618455482841 -0.886954548913 -0.095435674997 0.138407902997 -0.014724262389 -0.034808010700 -0.085083892904 0.629002201523 0.883963121659 0.300895789140 -0.607379440087 0.440011732995 1.133265300895 0.766762869969 -0.049625104428 0.043593565927 0.024507297447 0.913693122001 -0.569933353402 -0.317303127100 -0.066510510724 -0.159949053572 -0.092212831778 -0.292686505741 -0.022821203946 -0.972072097808 1.128962903076 -0.278790214645 -0.366998138852 -0.049940767621 0.406425123620 -0.246535994457 0.217131124629 -0.517877998103 -0.045080665349 -0.024086768873 -1.328989819819 0.177624230851 0.047120764247 0.153842458958 -0.101225656542 -0.032986132417 -0.056513658460 -1.561870467582 0.775494989738 0.249384365639 -0.188414603352 0.173329288756 -0.123229796247 -0.142427997821 -0.179731906335 -1.746215328834 -0.264041120258 0.005814680882 -0.753606683533 -0.155296985589 -0.193569899423 -1.447748150367 -0.336925320312 0.051209867879 -0.108317013891 1.260834482142 -0.262018167904 0.985475286843 0.867632102897 -0.351479336967 0.047040246210 1.860273519039 -0.073818748462 0.329120071147 1.016387785192 0.058651989736 -0.234653479608 1.478947085255 0.198593300335 1.306847708576 0.266194091609 -0.404917156192 -0.953265709374 0.011439834815 0.314244990799 -0.003795364717 1.457955620849 0.002448870262 -0.043814195786 0.817341008736 -0.086511056195 -0.804950210067 -0.478657841176 -0.696826142454 -0.781499524689 1.202250124226 -0.398584402950 -0.445385867120 -0.686768567585 0.040699010258 1.866497946668 -0.002806539152 0.042254640320 -1.655953300672 -0.087532632902 -0.288511114487 -0.773654302098 -0.774433910564 0.095624818777 -0.574436560147 0.073534803924 -1.507564442356 1.330193973809 -0.558649583055 0.038162974275 -0.140125203385 -0.780414430058 -0.132356903146 1.243549076501 -1.665589062590 -0.244627848498 -0.026811409462 0.104248155316 0.510001139935 0.865783337078 2.410572533197 0.454752331572 -0.060029032521 0.041662368963 -0.245039448782 -1.136140966711 -0.325739914418 0.007162337254 1.688501990982 0.510191231666 -0.258226130679 0.250474725415 -1.467131494699 -1.146022151701 0.528983633435 0.029371084145 0.517898542870 -0.696742119766 -0.981240960861 0.289949713502 0.502767567834 -0.032708766226 0.309379504092 1.016126966700 -0.762579354666 -0.032534686815 -0.788010712017 0.377102012342 0.113894215837 -0.026107392146 1.682423827398 -0.782033801424 0.076958803794 -0.028991424118 -0.014616353342 0.153536324709 -2.300726832033 -0.016390412407 0.017542821328 -0.289719730846 2.303853239296 -0.167881486667 2.370603827021 -0.008884331701 -0.271738848974 -1.143452597120 0.037075685763 -0.371160668105 1.823771641594 -0.809556968321 0.934209188931 -0.075333062402 0.163052419720 -0.018951785703 -0.121555553434 -0.288043427177 -1.080935786302 0.005171423089 -0.937281414786 0.512980371911 -0.597563826386 -0.254163521322 0.770808612828 0.573927155778 0.128262293836 0.789409440535 -0.384434735560 0.243936300583 0.652075669772 0.003650026810 -0.093607411456 -1.436461616626 -0.040670025188 -0.171364202369 0.082034696281 -1.230464084251 1.043409599955 0.480511765705 -0.233977989709 0.009135704656 -1.868001166457 0.136947614619 0.397011451316 -0.629256721175 -1.893175586358 -1.340775666344 -0.642716888751 1.002015037484 -0.077179627896 0.079981279864 0.282654404020 0.019748961251 -1.267607651415 0.282515861625 0.789796719758 -0.041833179740 -0.032877787621 0.262025867254 0.816047923705 1.066456336684 -0.382286669414 -0.567212835096 0.199740191207 1.527610627155 1.084914986339 0.572779314522 0.019209800882 -0.500473100322 -0.204339375056 -0.028111285636 0.435615816232 -0.214940973809 0.602766322041 1.492114839406 0.731933029240 -0.027066312098 2.291769457681 1.008958684173 0.247610736643 -0.219354266650 -1.517844674303 1.194253298581 -1.070491858044 0.046528328921 -0.098980243709 0.571252955689 -2.462536048964 0.012277350463 -2.916002502243 0.079633042603 0.391224928638 -0.030981311287 -0.384398120812 -0.070260792457 -0.213071330749 -0.728819878498 0.288938061120 -0.127907655072 -0.780746090000 -0.276379066762 -0.618755644858 0.853953771750 0.009837761457 0.228448949423 0.270024331924 -0.012871279921 2.102675420034 -1.403792568809 -0.176046305098 -1.030284593719 -0.465372725240 -0.005158299268 0.161990049533 -0.281492246753 -0.000830026121 0.624514017433 0.769407456876 -1.235603416207 0.114899430700 -0.516953770039 -0.023166108359 0.787852285876 0.012548246924 -0.005031246285 -1.522360745257 0.660174338889 -0.404776627529 0.104075892572 2.265541348897 -0.059572802848 1.189138994835 0.124403786193 -0.009535538656 -0.405779407000 -0.345822092927 -1.421711192357 2.062363472864 -0.461482035259 -0.393524189888 0.139567773796 -0.163985688121 0.372834657733 0.635117561066 0.491511566492 0.185279303849 -0.391575254451 0.032310273480 0.126571858179 1.810907616965 0.664247435686 -0.374945182156 -0.913924612720 1.006994811111 0.003110334081 -1.028282825412 -0.646232486019 -0.129193010488 0.080836171322 -0.571167512676 0.270757995019 -0.299584525822 0.050252644662 -1.977221115191 -1.747406060603 1.205812364605 -0.028150971941 0.001468268357 -0.416783473927 0.389328103918 -0.387144758284 0.316959722763 0.686299062520 0.321090547334 0.470550803488 -0.105159007654 1.016501763342 0.076432809940 0.068782939054 -0.752228195538 0.571160081223 0.114034423571 0.113541212571 -0.218103022396 -0.019524347620 0.002626739915 0.604506234442 -0.514724618293 1.477484769774 -0.356113783953 0.422978279460 0.016022525250 -0.501871859151 -0.662375319368 -1.871548027077 1.015506483148 -0.081723449271 -0.482540422109 0.197110972488 -0.125442688363 -0.794816160514 -2.260260149290 0.139490248882 -0.597986994687 -0.000369931639 -0.139135803349 0.430349170253 0.555649892160 0.876529538727 -2.496216963889 0.177702384002 0.339960328569 -0.003801952623 2.188758871250 -0.173938153166 -0.191077299431 0.011305740150 0.137134810963 -0.237370439916 0.513521464074 0.059900210138 0.439699135215 0.178766621298 0.003952235469 0.084514986172 0.136744495047 1.149632038303 1.837212788898 -0.457746490945 0.340973307775 0.886102785414 0.160585689582 0.135200716322 -0.604614703942 -0.657196678943 0.471189530772 -0.197458623812 -0.456460918235 0.104157265130 1.012496454717 -0.168541701374 0.644248327399 0.044332276152 0.382358931440 0.022014604303 0.241844401359 -0.617595526086 -0.009667568380 -0.211894970241 -0.485178399453 -0.344515747325 -0.316846063429 -0.059284314106 -1.622468546958 -1.372093752700 -0.085475124210 0.287699013368 -0.744687261091 0.028918745465 0.147636373518 0.281355777226 0.164403168719 -0.174514517404 0.433952034816 0.421742818756 0.214715935485 0.024688198293 -2.514584238870 -0.445635609967 -1.435411326830 0.279183654437 0.526840240221 0.074686711031 -1.684874502209 -0.286235846930 0.327534117796 1.826414004171 -0.384839728765 -0.008724660084 1.621856340419 0.016747231572 -0.502998659806 -0.688018194428 0.150715997049 1.134911366311 0.914353446760 -0.242338545415 0.131769250124 0.092035485147 0.253440466195 0.108054992872 -0.629593537357 0.299448214422 2.381683748883 -0.313958319762 0.116478742245 2.304268973797 0.380163306847 -0.803778377708 -0.068847513393 -1.017264866263 0.026587739657 -0.247427255910 -0.617728425254 -0.063017065195 1.456493816832 -0.948293994269 0.952494152008 0.241026032911 -0.000125409511 -0.147877607483 -0.411440989156 -0.012674158192 -0.794005477675 0.354849004120 -0.211334966885 0.426007434839 0.861139017811 -0.146571794304 -0.067344714315 -0.738497831087 -1.077546099296 0.069935655071 -1.030602687444 -1.941593365881 0.029053300384 0.299618426815 -0.092142239387 -0.046674402496 0.489411861453 -1.573950549048 0.119742480711 -0.770246905888 1.369352581735 1.045220726494 -0.129656572481 -0.307216152114 0.049499606642 -0.129763950256 0.719536410116 0.001261011839 0.111648883619 1.513960665395 -0.162849247751 1.169253886468 0.064192486995 0.189078097153 -1.954033981408 0.318172052639 0.449613414154 -0.007271030009 0.822397078119 -1.293890325616 0.488936451515 -0.965902854772 0.220224450198 -0.066382013685 0.063643813030 0.069727303570 -0.700066397422 -1.207929528297 -0.638687999398 0.724126333730 -0.084837530991 -0.045771279542 -1.747100289697 0.041298377419 -0.166184645088 -0.225683758266 2.299622643265 -0.311230050656 -0.032422956830 1.955838195350 -0.030119285456 0.255501860834 -0.107531111883 0.430560386724 -0.180788227266 -0.132411528299 1.212747591769 -0.488139858772 -1.200048809507 0.092616077826 -0.363233430160 0.399740905089 -0.055434872812 0.214100941770 0.493323337481 -0.024978084841 -0.118068441106 1.172732788889 -0.126888136306 0.001974900008 2.357558886515 -0.018571287679 -0.746585122054 -0.594857203926 -0.602113971908 0.696183644440 0.024928783376 -0.034578516409 -1.982121063306 -0.012264190754 0.273243686092 0.056844296278 0.114805420297 -0.000799569865 -0.591850488076 1.514797866190 -0.566424572215 0.605007951587 -0.127330903669 -0.176850230543 -0.042663926093 1.228574616022 -0.561237924310 -1.455448146016 -0.884238755265 0.078924579000 -1.419325067299 1.000329198178 0.060526607566 0.811724726241 -0.022057617400 0.534773185141 0.738192449436 -1.495352925396 -0.096516998130 -1.360287211952 -1.901465961214 0.268492616255 -0.274588460324 -1.296141598841 0.034477183251 0.125629063767 1.160570072614 -0.299914349818 -0.279250105949 -1.592973382470 0.365161425815 -0.102174441352 0.243861728224 -0.497003065123 1.472468520131 -0.208247368052 0.053118906266 0.286672940358 -0.064126914185 0.064303452322 3.833848512769 0.815035359961 0.106391949886 -0.220352685273 1.057961199071 -0.388135611233 -0.080730318879 1.008742729692 -0.056653801338 0.810532721574 -0.043173226294 -0.534187440323 2.045857299186 0.303824733842 0.057908690610 0.018926237010 -1.074953476055 -0.029281026390 2.053620679527 -1.849375636087 -0.734667149699 -0.011787521683 0.456732090131 -0.303321481100 -0.014470636317 -0.144336309777 -0.313916842235 -0.381938874915 -1.870570076580 0.537696711304 -0.910250500179 -0.022347380470 0.184706357482 -1.686084788565 -0.133443460953 -0.461159166432 -1.372888265659 0.086226685119 0.323161145072 -0.682517179597 0.215620246446 0.075533500101 0.799689252577 1.880851730715 0.390219892046 -1.245136668234 -0.007040475106 -0.366055370548 -0.410377627894 0.448566016253 -0.118875773899 1.028967174276 -0.946945517325 0.221820054094 0.005135545953 0.508793150465 -0.622179685978 1.817318159141 -0.109227335036 -0.003513411428 -0.264052751392 -0.570541937275 -0.007977384878 -1.034221547280 -2.383765670135 1.235822858720 -0.004125178092 1.421816290673 0.583740907913 -1.089725862741 0.143835001491 0.102003657875 2.384058249419 0.320171276263 -0.049621867401 -0.326035495850 0.318630193361 -0.000166246506 -0.017454519973 0.573661118937 0.441491002163 0.434191342119 -1.269558554010 0.204619163463 -1.583109112890 -0.004368720391 -0.065696360594 -0.717854299802 -0.289197039679 -0.003203877090 0.325749226198 -0.125076321558 2.082729929935 -0.128711780479 0.966093792209 0.335842189388 1.281357551345 -0.008724555439 -0.286225096038 -0.183773844402 -3.439072069386 -0.065998828000 -0.653724852862 0.324193384013 0.018696597391 0.636788690158 0.494357643067 -0.199257343016 0.033273936367 -0.397227059467 -0.223337500015 0.114160279018 0.698473499780 0.138423004145 -0.039449407528 0.562737897026 -0.024884411511 -0.630796389728 1.063116810827 0.373245141756 -1.272783958735 0.200855286529 -0.363311908382 1.408168998911 1.295807870720 -0.020481554165 0.524119453170 0.226914385558 0.509397730231 -1.437902881003 -2.588545502545 0.134606931636 -0.180706776555 -1.962421104026 0.066296663090 0.103221907574 0.297482496315 -0.541861555072 -0.035419808366 -0.004886332908 -0.139127242266 -0.928396237552 -0.262444203000 -0.343047630822 -0.015135464552 0.607282810124 -0.156979860377 -0.491583542771 1.360853785083 -0.107104890249 0.642024952597 -0.000669377479 -0.219266570682 -0.477810448019 -0.117239959860 -1.491968196944 1.393633360289 -0.127342890312 0.157337265269 1.290272813851 -0.117421216793 0.160006207394 -1.499657986737 1.163771249848 0.294362330624 1.743440135649 0.172020454804 -0.180165832491 -0.179148008565 0.681610905342 0.011247806609 0.495666414925 2.044426021922 -0.017319425096 -0.131626565796 0.129449015184 0.460551806437 -0.317358962064 1.281985005969 -0.026430802109 0.671600264594 -0.364712845397 -1.411185886186 -0.075880777324 0.231923195525 0.295804607562 -1.634449955249 -1.291191147888 0.028360727841 0.322951883079 0.201873314032 -0.127232574660 -0.103871550945 -0.905953706793 0.102066882804 0.042544567928 -0.827690051680 0.198295840676 0.831812851856 0.572064834334 -2.564278281353 -0.005569091106 0.408917631489 0.103512221250 -1.047659963415 -0.946262606581 0.157805393706 -0.921100809151 0.162611918254 0.212143697364 0.218555533393 -0.001848379181 -0.354599518867 0.408459328370 -0.990780122614 0.082653037167 -0.296641531551 0.090952642235 1.064435456389 -0.039267970008 1.702308850493 -0.346573631205 0.106960119031 -0.136597939328 -0.648509388441 0.261928400913 -0.740238460013 0.493156550221 0.073900858214 -0.415101472300 0.002624923732 0.760968075654 -0.047430021109 -0.093145351741 1.692775667444 -0.943560223806 1.751552121189 -0.225482685295 0.292391361020 -0.101044125208 0.168133408079 0.663839327403 -0.029309514347 0.749568574852 0.286825035473 -0.436007482812 0.087540736054 0.007519455326 0.001188066544 0.040633511048 2.496440740569 -0.055531095396 -1.993028979421 -0.146440323623 0.621674374380 0.274162198387 -1.857668395303 0.330944669370 0.411153141912 -0.126824767394 -0.377972773224 -0.475843697027 0.357041718303 -0.026559094738 -3.015035217721 0.569361253799 -0.207091961032 -0.597516691748 -0.132252752413 0.217874271242 -0.631582067459 -0.172712391224 0.253496760648 1.584633016309 -1.447369315282 0.253528595732 -1.452285398731 0.244100426987 0.008937793176 0.280429768290 2.197179485763 0.184023128556 0.390955318324 -0.348559908595 0.057328885866 0.278287663057 -0.136010969094 0.018551188709 -1.018920950962 2.082994116315 0.779098177163 0.204719168738 1.471843330218 -0.072576007772 -0.003044638340 -0.669557704485 -0.136843101953 -0.637587592495 -2.211965389346 0.292635237252 -0.133689145307 -0.941521822043 -0.226883119838 -1.006908555202 -1.098046017248 -0.174093402782 0.124903869223 0.119061870823 -0.774739676477 1.440971773317 -1.362169510175 -0.219898637277 2.528354159516 -0.669257415383 0.307158769541 -1.421324748060 1.502569682758 0.973046377175 -0.247343179496 -0.925500481830 -0.096475370552 0.023792623200 0.795680752000 0.377545961824 0.250203980390 -0.002193448144 -0.265827926542 0.282243648993 -0.515447492876 -0.100922684582 2.452814023161 0.625613932698 0.156968877372 0.121545444010 -0.594285959124 -0.302398247493 1.728888175003 -0.952662482299 0.223928584696 -0.222134224543 0.921434272788 -0.028595897564 0.255797363133 -1.139770668770 1.442395739935 0.000088247917 -0.419232968295 0.116184768741 -0.923609236850 0.034130031087 0.077193048225 0.530325954517 -0.294382185820 -0.774080017133 0.864674019303 -1.836531379589 -0.001831723865 0.065630756505 0.083473555880 -0.049865331015 0.131961272013 0.328924820760 -2.489019083352 0.046739731728 0.037172102619 -0.104946750732 0.687400167167 0.184836448760 0.395606247889 -0.114187916776 -0.414337797503 0.322581046326 -0.189969542257 -0.948589203715 -0.368125626411 1.190585179566 -0.834581833557 0.000257967153 -2.603166184110 0.034382425010 0.067285399283 -0.883596191617 0.044965735081 0.041209189606 -0.059989304896 0.096566743214 -0.039178719082 0.040595555354 0.229229320453 0.704554761598 -0.648259507914 0.240204571701 0.558391001331 -0.016679976789 0.978648649293 -0.078114211987 0.432452474162 1.931224999768 0.042454978966 0.645010740883 0.945920675670 0.019169415265 0.249661264811 0.480463981809 -0.039025764071 0.276724523598 0.291539451634 0.444574033803 -0.711072491798 1.676934578877 0.004595412673 0.177600757734 0.039107973948 -0.179297640928 -0.324927173259 1.045091023318 -1.145073863869 -1.042185819186 0.048654494837 -0.030914552248 0.005411372153 -0.469257636907 -0.083727587746 -0.488865680485 -0.468802806159 -0.961541314211 -0.097289177025 1.424776676658 -0.438222702736 -0.840128341511 0.099255009873 -0.109570008295 -0.329516657334 0.197171444797 -0.782556968680 -0.763527008882 -1.398023204227 -0.132332546740 1.941692915284 -0.132503866860 -0.114644471027 -0.860296656462 -0.005957040773 0.864723626686 -1.540171726693 -0.210559984477 0.066697788581 0.090454060561 1.712474545379 -0.010022593514 0.456698663502 0.351120979386 0.004861678451 0.484357552536 -0.182371158889 0.472112939865 -0.026771111643 -1.216239049968 0.024068876397 -0.427970065313 -0.932652566930 0.328751601744 -0.110394901258 0.220358328247 0.626372719271 -1.080721458907 1.151047123461 0.231360372077 0.302496505595 -0.118060730981 1.390342652900 -1.501112685712 0.578381988816 -0.214800437069 -0.014618505950 -0.353937158145 0.102774299646 -0.032408027585 0.303478617842 -0.024260836573 -0.031289739073 0.740253933649 0.048009943205 1.442732866777 -1.624477214832 0.325297607697 0.292932457775 -0.844721199294 -0.386647067822 -0.077836471330 0.378709293207 0.184387605308 -0.119817701968 0.807052595474 0.012238779072 -0.179458969587 0.017122349397 -0.841230600922 -0.091818810330 -1.321644418304 -0.320968815832 0.766591998619 0.235373847195 0.102209987538 2.886097863868 -0.333175021841 -0.193132203274 -0.242344986213 1.980652738372 -0.180787798300 -0.755464704433 0.014346901224 -0.315220521211 -1.288876402655 -1.154540809739 -0.012355466195 0.977443900008 -0.111431690356 -0.010344507688 0.833992640231 -0.912479983124 0.120364876012 -0.878626290057 1.458908765685 0.531725665877 1.904057972649 -0.331143863618 -0.197260659344 0.163351906093 -0.457147961187 -0.294316201195 -0.087655762701 -2.494315324739 -1.532877110291 0.114825949682 0.857279474288 -0.250882370196 0.219912027181 0.223765348436 -0.000915213162 -1.436265460528 -0.253159337557 -0.007390545790 0.377173790197 -0.999549391659 0.046290657924 0.017329143296 -1.327370048207 -0.052534547777 0.769572033002 -0.325000458048 0.129405748327 -0.465075228403 0.163140109094 0.075506600074 0.350917588827 -1.271052632922 0.036536060234 0.988876486994 -0.719057326472 1.436886689553 -0.511833734894 1.701816743981 -0.245962409741 2.074714972939 0.908801406731 0.074979092479 -0.095867784467 1.105964762091 -0.742474158363 -1.270902045226 0.676677813655 -0.056214852398 0.261258617605 -0.269392244267 -0.085631315531 1.573450146370 1.635262990910 1.639303680257 0.892063774504 -0.022503135547 0.081193728720 -0.386325503905 -0.218518082407 0.527489516853 -1.133817289256 0.453112009918 -0.199493106648 -1.511535829358 -0.616424507278 0.193900196325 -0.111434241055 -1.541684273058 0.002597822611 -0.591905049093 -2.474995632798 0.796397805419 0.897948064416 -2.125159337715 -0.343520531407 -1.661194059080 0.067644110322 0.247467961803 0.851264166269 -0.005919553282 0.935214892892 -0.421623505282 1.198575527656 -0.405586148029 -0.624870245126 -0.138343796023 0.052758765354 1.542515855217 -0.023414138168 0.148768953453 -0.197463224487 0.030374886087 0.057428396037 -2.453658018801 -0.230827231791 -0.045428080612 -0.230227895047 0.014709032224 0.210532864274 -0.065103693286 1.616579789816 0.206867833605 -0.761111038360 2.446036996707 -0.007810259067 -1.595331006842 -1.331828778077 -0.305098136929 0.897635389434 1.018706416922 0.006552251422 0.000972326088 1.007304914206 -0.247127529947 -0.140241356087 -0.644566900440 0.196294605506 1.498186873758 0.015831955257 0.449328141122 -0.292994161759 0.262364586576 -0.428337046688 -0.084962344210 0.912461545101 -0.249450494763 -0.302654940131 0.426070645762 -0.122295272851 0.140660802548 1.146424585291 -0.314936203527 -0.088839491964 -0.238616456257 -1.245074637791 2.693336688630 0.199882295721 0.524670244315 -1.062350373112 0.460990109699 -0.372087249908 -0.024459557433 0.049289157209 -2.318035191810 -1.922313046246 -0.058576168025 0.008219879207 -0.604370204815 -1.174344038657 -0.230887666951 0.686724982925 0.604386268359 0.519548535967 0.134074300332 -1.167959224990 -0.013549332126 0.356341756821 1.580692831367 0.270360214593 0.443825303404 0.088295088134 -0.039735125213 1.905525535887 0.005904616616 0.396673770635 -1.672227440471 -0.707794074936 -0.150360052602 0.220223603868 1.280941025822 0.549920158432 -0.546152583885 0.009059088927 -0.082274911425 -0.266070805922 -0.329663876628 -0.128873906701 0.744909574704 -1.492005470816 -0.867569683236 -0.184324207202 0.521203638093 -0.077620480235 0.596532051396 -1.572905991086 0.028843328008 0.200567792537 -2.238880518284 -0.037741128847 1.582091064410 0.868449143034 -0.316657913314 -1.316972832953 -0.571867628179 -0.098637258099 0.602969180418 0.319105421690 -0.598215469754 0.082309727690 0.271432923733 0.157993940918 -0.751053923093 0.452674064045 0.001894307376 1.290052031596 0.724478795235 0.790950697507 -0.707603960419 0.005320250129 0.012171688895 -0.181821173766 0.445145824930 0.205853713779 1.247267694433 0.947562583162 -0.073036405648 0.095086830250 0.530932225923 -0.002073069548 -0.382763200722 0.768164732566 -0.179718972094 0.033375464069 -0.398243119680 0.415715396963 0.728912848648 0.964741409805 0.041509045356 0.702412399750 -1.530881958936 -0.082940300083 -1.502836538335 -0.520109757713 0.091752085981 -0.022114144389 -0.140770698597 0.060068141349 -0.009447683910 0.887207378185 0.553474319525 -0.248411510246 0.017251525227 0.097085454919 -1.649601914130 -0.233024643958 0.328481866848 -0.036502099726 -2.451662800674 0.306481652010 0.069043099742 0.280396099733 -0.267308796543 -0.459729775858 -1.897799647943 -0.189830728290 1.348486116808 0.072849922896 0.108600536785 -0.440285892438 2.436006533243 -0.181033992420 -1.477575820679 -1.163747689511 -0.113835614567 -0.854394135835 0.008452263207 0.231596759700 -0.500064652838 -0.973293004802 0.461643957980 -1.217111770648 -0.067477120823 -0.071980492130 0.314164650897 1.928846671977 0.041328315611 -0.167010037744 0.100613203258 1.378081029177 2.357723694671 -0.982177596833 -0.060137815948 0.050472605839 2.356321079115 -0.384581853389 1.120722949938 -0.146739065131 0.996066895818 0.377545964506 -0.004685723653 0.242826440519 -0.453889028537 -0.845660008560 0.081755803692 -0.000309301358 2.339486963861 0.010658983631 0.242335041888 -1.874771738169 -0.534701745223 0.263003404462 -0.361388079405 -0.040787639920 0.346768566177 -0.995259017114 0.001897090184 -0.822078395267 -0.176554798402 0.249124297417 -1.129606828721 1.216079225852 0.319110654264 0.123254603504 -0.046283135130 0.024938995618 -0.640003938846 -0.919106881851 -0.460928188764 0.777899756205 -1.475153521108 -0.363158847674 0.174111648521 -0.223889399023 0.476261389633 -0.067414582541 -2.255172130124 0.026953916400 0.031255875427 0.247709266148 -0.343011707008 1.177688875796 1.814325009922 0.026425410331 0.233079144839 -0.676470979260 0.072433512719 0.979140524792 -0.298072344547 0.234116209174 -0.105705320459 0.422634583383 -0.137778153447 0.542631459750 -1.137702641706 -0.202954390934 0.264550290625 -0.578306402929 0.344734130050 1.381507348022 0.160985259923 -1.462626248890 0.021061485205 0.566950134956 -0.152568842123 0.180587991899 -0.781888989308 0.001288943853 0.498786400949 -0.027760199623 -2.164604866591 -1.627541714074 0.802003929066 0.209387066273 -0.140271171982 1.306053230227 0.365086206366 0.632795019398 0.217750244933 0.512500352922 -0.720866239320 -0.033828537166 -0.062996450409 1.551238198302 -0.333464859150 0.077648537704 -1.492415130027 -0.871598164068 -0.384383458229 -1.437990155585 1.570857756929 0.130306060397 1.819206384643 1.279681407878 0.296423234992 -0.307270403174 0.906202852317 -0.793494840486 1.041920081944 0.090650649322 0.000795303268 -0.995302162166 -0.257979772368 -0.231481069542 -0.474238139479 1.212724828091 0.453288831160 0.737056669440 1.229396511461 -0.028335265167 -2.236152098726 -0.713377758509 -0.179213685044 -0.003478103388 0.425356624736 0.397329501390 0.397276208589 -0.031595815308 -0.412497275749 -0.091415137350 -0.445192944035 0.030779292837 -0.599708669864 0.020583827556 0.648929529243 -0.011472938124 -0.627877314577 -0.135915319181 -1.207182181419 -0.102260672781 0.092224784721 -0.027911960542 1.044741061638 -0.491867334372 -0.058686156429 1.224573169681 -0.077552198657 -0.516468562033 -0.178769215326 -0.346134676487 -0.624382855000 -1.108068275887 0.569588075431 0.003705986653 -0.189657252016 -0.056628354685 -1.514172477974 -0.414763320668 0.041402402566 -1.254714508462 -0.400349695024 0.199277203157 0.345661907930 -0.860204264697 0.459873620059 0.967014049532 0.301353332256 -0.024537092088 -0.320088675776 -0.227873994090 -0.485478081625 1.410325234101 0.032297491279 0.346985463655 2.276382545044 0.387100342634 -0.087470532334 1.247748920525 1.157665661562 -0.305627719302 -1.097628563219 0.144030146158 -0.087092773165 -0.069955269737 1.707006215755 0.370096895783 0.020700215510 0.491713754002 2.754269410300 -0.041364502313 0.425536307268 -0.232683456257 0.188145020991 -0.382703040223 0.020282765606 -0.004548552331 -1.541357375749 -0.493330796229 -1.924280619343 1.149482041388 0.146019290229 -0.915641866893 -0.270861065112 0.001529573331 -0.204826138000 0.019410429713 -1.001435342898 -0.202344238559 -0.960138886984 -0.174226703296 -0.392003806392 0.022017902115 -0.172337419301 -1.411580881840 -2.007802816930 -0.161933128173 3.308596830381 -0.036302003527 0.048595463550 -0.975125377947 -0.001005547023 -0.482980962220 0.549632766511 -0.567332484193 0.017947335345 0.696914058018 -0.196037445498 0.208963895262 2.261987578069 -0.553070111579 0.276840610487 0.038717786952 -1.183284188989 -0.442650662671 0.011593501232 0.723591998028 0.056078867548 0.148772951211 -0.138428764672 0.119377529938 -2.871357279945 0.545094432130 -0.557980777736 0.147474054133 0.034523797188 0.197433168460 1.689731126131 0.429520489377 -0.527944708351 1.662776496163 1.133672150880 -0.876123581000 0.367734851522 0.117496835499 0.440985527923 -0.873385575995 0.590595133710 0.010110929530 -0.127382921649 -0.126230212764 1.182223959064 -0.552001744082 -1.023295934124 -0.167968711728 2.021444863004 0.028128158541 -0.031356293823 -0.323895090874 -2.132750177489 0.956189125035 0.037232187132 0.629984940438 0.455867699805 -0.266676030446 -1.279554565089 0.314109805313 0.274552023541 -0.563445078877 0.018164093230 0.345186052322 0.139255876665 0.026729904410 0.865331712693 -0.237352331901 -0.816855954749 -0.956594395244 -1.955220818917 0.205918203970 0.658728260335 1.229325407411 0.030766774464 1.167413410270 -1.251132667398 0.314324044752 -0.259970780404 0.510923661168 -0.010081299214 -0.410939643262 -0.100942876835 0.119184100687 0.065236693065 -0.398934503456 -0.023117192811 1.079030859529 0.123721228342 0.709281397371 1.453234151641 1.106726883530 -0.003773551948 -0.722346801270 -0.846525268694 0.031582444991 -0.856781885460 0.022355104439 -0.503336305093 -0.301719463794 0.426163287442 0.000367303260 -1.487744775897 0.004646596774 -0.626896714583 -0.330746998933 0.023966012550 0.374467186010 -1.647563286645 -1.945210145241 -0.528973027336 0.006604672353 1.673624825090 0.092399896203 0.324097520232 -0.098335610101 -0.745220472285 -1.802196411228 2.441593977343 -0.085821247654 0.335295623017 0.625894078230 -0.026078762402 -0.942496935473 0.502765699950 0.899723983693 -0.682986007266 0.174190077114 -0.253337025504 0.004165459625 0.534988877528 -0.207128402281 0.546963958719 -0.223285511603 0.258548311984 0.774820672025 1.169293325435 -0.473935832057 0.311158409145 2.012124753949 0.608630152017 0.017006261196 -0.055255090521 -0.241320699184 1.267020193127 0.199571405059 0.131755210972 -0.943663807205 0.425598224465 0.044060795709 0.655283196739 0.455035837807 0.276441790349 -1.579748302206 1.461178768492 0.022599328278 -1.051557067887 -0.730393539560 0.034759865297 -1.475629794427 -0.050343273812 -1.040694984121 0.099092344686 -0.816210427127 0.313989755409 0.180133188198 -0.003449078262 0.210712252211 -1.711478400601 0.095080979521 0.275006384528 0.166829289388 0.422006896951 -0.003259251997 0.967226390017 -1.348336576438 0.162779914211 1.695784862674 -0.665358444998 -0.068076234453 -1.919381921787 -0.395929470914 0.223503995185 0.149849015741 -0.697110444700 0.209498270467 -1.322196227383 -0.205432471923 -2.146494044424 0.151752618708 -0.376109406691 -0.270921306848 1.362951433007 0.133314201587 0.172196625096 1.343953496354 0.029502668115 -0.059831657246 -0.000422167406 0.922818313534 -0.053026952400 1.704757548273 -0.145030966942 -0.358190195613 -0.013159074982 0.413375171596 0.294674776530 -0.105888801337 -0.816822088354 -0.228346171000 -0.282214445608 -0.314745812272 0.422990727072 0.965455504499 1.429333766356 0.491926094244 1.022988104897 -0.030299884231 -0.080073648495 1.399022227535 -0.090058556424 0.178935479712 -0.541283648861 -0.186200168171 -0.572467221608 0.264227616716 -0.056447460417 -0.167684610420 1.170788034454 -1.313902942173 -0.325465800579 0.270288035968 -0.119561679154 -0.150267916501 -0.559176649143 -0.015190762792 0.007276325224 0.913068221532 -0.281458938998 -0.113763692367 -0.648566593897 0.967002688509 0.717484289034 -1.561287208551 -2.209615130646 -0.011311945292 -0.377228451872 -0.575479389015 -0.011597944307 -0.066350890656 -0.144151522081 -0.208510847018 -0.296729803907 0.242336935900 -0.415672109017 0.137712773474 1.864072762429 0.334993159862 -0.080978223351 -1.219467278276 -0.603860956706 0.201251655175 1.231505172718 -0.001332982492 -0.268621854296 0.029556189131 -0.001987122320 0.443197945113 0.561674290673 0.167133244214 0.267255396992 -0.166769465699 0.534018024937 -0.025364421170 -0.053486533555 0.031318000594 0.132304278406 0.495865345491 1.308158900506 0.284404289587 -0.448974269933 0.077707259048 -1.472496638145 -0.999768416314 -0.296102427856 -0.672522681617 -1.019387583108 -0.459453882124 0.034334679210 -0.787149191659 -0.000612062779 -1.323531892532 2.125331271962 -0.013965871977 -1.097872692513 -0.000811936822 0.969947635277 0.040182672572 -0.065078633537 0.124461764025 0.266794026492 -0.144935315659 0.096472296971 0.994183015403 1.118399571369 -0.038260838137 -0.569918321982 -0.687704148012 0.225338581014 0.258310456853 -0.418678670461 0.079328194983 -0.070767171131 1.379903510723 0.412958386254 1.226719545282 0.242595876667 0.262986155214 1.126363974973 -1.857107033801 -0.064912673478 -0.331381670633 -0.656567239053 1.143748876846 2.651192449242 -1.221231197827 -0.115698998274 0.264905352699 -0.003492800624 -0.087622361684 -0.003112080856 -0.036237354363 -0.070728292806 0.089782867264 -0.490665782652 0.134460270789 -1.137278779331 -0.039179146610 0.073349054689 -0.504690217252 0.306340964265 0.501337902361 -2.260655881735 0.995187739041 0.059247416490 -1.315422726344 -0.345751671623 -0.043199699506 1.684753752645 0.719448340313 0.116060920765 0.093519974602 -3.538044229761 -0.024168157598 -0.467816547106 1.519499053554 -0.123986061444 1.324637615038 0.542356484380 0.016934450849 -1.926225765717 -0.542449723609 -0.124370594557 -1.599209931784 1.012296982648 -0.034371170581 0.216449393454 -1.407650304114 -1.076130066920 -0.175227398422 -0.214614745284 0.063025525122 -0.746030254955 0.695970744432 0.090069586501 -0.706121152562 0.200691363958 -1.497117471137 1.811757959672 0.065932254406 -0.481823266603 0.378722403451 2.579224188127 0.264423861751 2.208054088548 1.319280165484 0.057218013712 1.202442661496 0.109208693845 0.057285536957 0.040622713085 -1.028490616264 -0.000347396544 -0.107274135331 0.328159480008 0.407848544065 1.514087270216 -0.021994073011 0.421953142551 -0.150176558785 -0.262318976766 -0.097453737784 0.839764903020 0.733747412969 -1.279187398286 -0.371717153177 1.644511226194 0.063991598112 -1.802334945199 -0.211447673154 0.170600910385 -0.044653575814 -2.171505735854 -0.606170270845 -0.184527368761 0.336831854961 -0.305970172057 -0.782199069029 0.184884839825 -0.161678635107 -0.209443841167 -0.017065571619 -2.148014096672 1.327405239485 -0.712116472048 -0.060349820494 0.018577027799 1.254937345093 -0.189280317425 -0.695143726509 -0.092961696291 0.638320279938 -0.166238588860 0.105067742322 -0.242507344301 -0.270361353686 -0.668736705609 -0.307037986534 -0.050389369397 1.269181101809 0.458544697958 0.259656908838 0.538707051049 -0.201732609204 -0.430374282469 -0.075213422452 0.298070247900 0.185920494444 -0.380299047553 -0.022268950412 0.264387110799 -1.253312158389 -0.002890272021 0.772723276618 -1.633699319449 0.063174287294 0.045895531891 0.294425050588 0.576837163030 0.583294451858 2.114943537727 0.143819692888 -1.441542231353 -0.381610118170 -0.000959280166 -1.285555496980 0.207975431149 0.772569417664 0.020513004592 -0.597900845441 -0.089814746135 -0.067019632631 2.531867984394 0.030666819847 0.795229702169 -0.147768655045 0.868722675450 0.026673692175 -0.971928377368 0.395802774891 -1.295207727551 -0.747050730456 -0.109830995439 0.000641375106 -0.005383251766 -0.212953698897 0.051815084360 0.542155343287 0.394930644008 0.001730094694 -0.504530939450 -0.050800972630 1.590754735212 0.379018128657 1.095047341299 -1.895805755861 -0.505535468694 -0.156397640995 -0.125145570508 -0.581567025897 0.344522328176 -0.513575606121 0.112010417565 0.088681858345 0.517276590787 0.299485874555 0.153620654786 0.531526369933 -1.277168893429 -0.033973002054 1.486135352741 0.775022374280 0.443949510466 -1.986794865874 -0.619872236145 -0.266472012782 -0.118061879144 1.759006867442 -0.562449952443 -1.068105004913 2.148421433586 0.055998576793 -0.024421025703 -0.464052932342 -0.246955508025 -0.191092741920 -0.159438499346 -0.091544188408 -0.661953201405 1.187648335806 0.473325551428 -0.022727035207 -0.347323429586 0.000215687390 -0.153512323078 0.033389112644 0.106613719366 -1.515044486217 -2.103545107081 -1.127761811890 -0.028195252753 1.080907301690 -0.439711336805 0.377638179585 -2.262496662055 -0.005550157918 -0.160495015681 -0.428069519119 0.197210194707 0.212467015479 0.069633594125 0.138914518241 2.593083984099 -1.256313650263 0.032275172883 0.970303472971 -1.675831215475 0.865783572152 -0.398498969221 -0.017587304846 0.106246077515 -0.070237006936 0.468508834820 -0.074830320854 2.312989677957 0.251125329670 -0.759131038003 1.720211232947 0.766709300508 -0.198204001525 0.142988448968 0.420910229823 -0.488635241642 1.365317213144 -0.073002190856 -0.038051100935 -0.041339599149 0.499615687548 0.018531027986 1.436583680540 -0.213503738254 -0.062569340716 -0.029256387090 -0.649785376947 1.758004081734 0.959206492172 0.001054815576 0.052427518597 -1.294064903834 0.219353369680 0.454936009433 -0.057490959825 -2.603940003039 -1.103543440463 -0.037563505457 -0.925828089844 -0.014686960411 0.136560557848 -0.028535779181 -0.099710986010 -1.626134393067 0.001825474299 -0.886538710678 0.215424926374 -0.391852817057 0.385503475655 -0.337879771892 -0.010928809636 0.324689467630 1.482530235785 -0.015461736289 -0.026118084676 -2.274865397742 0.223259080531 0.523458909173 -1.534185871819 -0.032134922821 -0.321592205363 0.500099250444 -1.101047830673 0.228613079472 -0.668222288876 2.114610746633 0.228099040977 0.344773935322 0.500784208258 -0.019508256164 -1.114280634477 -0.505299152197 -0.339500953067 0.717879107988 0.171455576303 0.275230955745 0.325499560710 -1.331977246759 0.017637769519 1.778643398004 -0.867788647629 0.008543161995 0.355634324451 2.670198518719 -0.150652357233 -0.209492319229 0.379731859356 0.170706886987 0.035902646961 1.535661425434 -0.475632132268 -1.343132215660 1.123549401276 -0.163116188443 -0.218763202818 -0.088451477053 0.254271986432 -0.159664201165 -1.671574413821 -0.411179069969 -0.138311785285 0.631289818358 0.063747190195 0.522744436162 -0.020763889390 -0.252688000603 0.431528569201 2.579599340215 0.007093988821 0.893375113667 -0.379067436532 -0.458572736706 -0.026969884565 0.390117010568 -0.191226402458 -1.569461585697 0.038417804757 0.089546748232 -0.261174529239 -0.811268151875 -0.202906512727 -0.110736473772 -0.754041382811 0.124662451994 -1.362460829479 0.654123437408 -0.002673562742 -2.480663842382 0.379114668442 -0.155736094615 -0.360491727807 2.595565579690 0.451088012301 -1.074031880358 -0.018642941160 -0.153252019663 0.476495362604 -0.463511806921 0.225729718575 -0.483177089853 1.663787427066 0.118321881740 -0.158645924759 0.045035742743 -0.263577885030 0.791148497635 1.824186569951 0.092172042262 1.633036169481 -0.225606667584 -0.080362240570 -0.289893952622 -1.831612974801 -0.715911278854 -0.061708342726 -1.073121334039 0.143909638819 -0.432029043704 0.574695678549 0.289668284109 -0.426592151710 -0.986527084598 0.451269011407 -0.774394918640 -0.789333338950 -0.014435033554 -0.261392884417 -0.786722583971 -0.109949505927 0.339737541658 -0.066802609986 0.875969602213 0.031046014653 -0.033567718434 0.005912530729 0.066647673488 -1.280113628896 -0.423282264326 0.988096496686 -0.242333324754 0.476960302793 0.552883233773 0.106735454402 -0.446480638867 0.674762855391 0.766819504985 -0.013535617738 -0.250884517626 -0.602095537149 -0.289985987022 0.139242792995 2.292485849528 0.002179145426 0.590749994970 0.723276987965 0.182226349501 0.379848092723 1.044639228337 1.091361211876 0.371662087700 -0.307075444661 -0.008105542683 -0.228769295128 -1.289448363116 0.053720500842 -0.004763169985 0.523799206737 -1.184816893998 0.193636505416 -1.953994046853 0.044722970288 1.464705291442 -0.332536195307 0.170783681799 0.215230620764 0.899345649358 -1.371953060308 1.631745903567 -0.882236717439 -0.244262046230 -0.163879091806 -0.187619571127 -0.380670409790 0.001534230644 0.115035008279 -0.479339386831 -0.164172706067 0.066536372264 -0.102839167018 0.348158745030 0.068463699041 0.384180325164 -0.612248893193 -2.527516770155 0.560257338889 0.270471126433 0.009397516382 0.290548150102 0.180245580200 0.196920634757 0.061483896057 -1.623447245135 0.009259752075 -1.474107192139 0.327570411085 -0.624011984501 -0.421414747294 0.144799323307 -0.459032664846 -0.006155638737 -1.629222010009 0.485741373784 1.827623124238 -0.191533224869 0.890979330947 0.397849372913 -1.400855386093 -1.374474399919 -0.003361771142 0.538290406983 -0.713352547542 -0.059180099063 1.507425367451 0.096380149986 -0.015426924399 1.698383986417 0.715452118206 0.007445819509 0.081382263863 1.692428465246 0.287133114467 1.043420579046 -0.396504898679 0.295942638396 1.313982203052 0.446561376968 0.370055208560 0.043107989134 0.325751910233 1.144543531966 1.137069051527 -0.357414635475 -0.447357596938 -1.426678410055 0.216407254831 0.078578573936 -1.493971745684 0.234245591116 0.622293228270 -0.838719178821 -0.262473035489 -0.045491983069 -1.325968641334 -1.287468213560 0.091642359148 1.173784582860 -0.398477969712 1.170115631400 -0.001294589023 -1.162784734500 -0.289726844669 0.572118342703 0.060107752936 -0.131385774799 -0.761811602665 0.396654883658 -0.031339256925 -1.454026890225 -0.753775184814 -0.003058197718 -0.976413484784 0.242131521794 -0.003240245505 -0.264723761756 0.205776296674 0.138678942283 -0.335220229060 -0.152171394768 -0.121102478218 0.210531126478 0.002946166420 -0.384839132079 0.212579561104 1.424519914366 0.410072277137 0.080271465710 -0.028367705899 -0.265633780197 1.254149174270 0.007152095782 -0.005014868138 0.111114104099 0.878098316967 -0.280121744381 -1.164250810420 -0.047463619490 0.097825725926 1.072396484342 -0.976104408832 -0.417706789954 -0.378250007567 0.729041566794 -0.151918566185 0.004936874088 -0.055268382170 0.476396628287 0.150037246199 -0.384796844653 0.067818558745 -0.279865981342 -0.229252604221 -0.649112283129 -1.225415000560 0.395473173973 0.161670633769 -0.001726539153 0.361374420558 0.067229339046 0.866868211168 -0.455375109442 -0.017552073976 -0.259601412358 0.575837264407 -0.057832645011 0.418800386666 1.411861512506 0.378415912208 -1.550505766209 0.077800421985 -0.524996925904 0.982141895407 -1.452113054205 0.052536661747 -0.048837980296 1.291019619040 0.035106245465 0.002457807082 2.442014447831 -1.716330935288 -1.094119652804 -0.737383094754 0.100046176530 -0.028244193343 1.232780472540 0.117863072118 0.525291706172 0.663701357210 -0.421785809995 2.005914715929 -0.089886834463 0.434141172609 -0.023530327976 0.034449108763 0.009196664635 -0.093308006409 -1.238069271008 0.098025939271 -1.843675488274 -0.854241924306 0.142117493817 0.013606349007 -0.105323997764 -0.406418441962 1.305624020333 0.455114457293 -0.472812464045 0.654323815011 0.206906904074 0.289482752686 -0.196119381284 0.365420638394 -0.691198506041 1.501193290012 -0.347244124036 -1.310075871395 -1.358096870629 -0.032747798990 0.000294392976 0.952293118781 -1.064005275599 -0.006076064848 -0.918449148975 0.025532946992 0.210361043613 -0.218083483065 -1.003043548373 -0.380442346471 0.757258934031 -0.231539164614 -0.309518350305 -1.782096324006 0.539949872870 0.152823276197 0.447637470031 -1.370157131993 -0.157073225860 0.651500928783 0.098143007801 0.021129241169 0.082784884423 -0.524457253534 1.468862775647 -1.556586138196 -0.048998369064 0.017337371414 0.122656003844 0.072636756429 0.103735815369 0.037987104315 1.522812753440 0.709355756927 2.520156806941 0.674839325155 -0.003629124623 0.515104118963 0.490004003400 -0.195504935000 -1.701027769132 -0.111844716607 0.078162416571 -0.463169528888 -0.252026115772 0.342270091978 3.274946283005 0.131407268525 0.182991231778 -0.235594828342 1.517707416728 -0.490670034398 0.086131843118 -0.151399953920 0.184935852123 0.340285590569 0.364710652577 0.002418759781 1.459111032517 -1.213706075022 0.019481139327 -1.548367623150 -0.598212359788 -0.096032261371 -2.201393345924 0.356314070612 -0.367334161291 0.025608915635 -0.091865319111 -0.809950702718 -0.427676708693 1.274319139398 0.196682122436 -1.343991513264 -1.783829277598 -0.020984215560 -0.491955819224 0.043052418152 1.030296762251 -0.014544428736 -0.166073524638 0.112453639463 0.182735020529 -1.621176296169 0.077332260747 1.182442260049 -1.044667785830 -0.411892785203 -1.720352038938 1.591821182453 0.104095606611 -0.202578668824 0.398932525316 0.002033820934 -0.684077579959 1.383334042303 1.476892831883 -0.003138523212 -0.000931650327 -0.336759343212 0.299498653768 0.866849474323 0.391645977031 -0.177313605433 -2.615561909318 -0.150021648243 -0.200643803775 0.240379796022 -0.304817388668 0.606042538112 -0.957320723937 -0.021501914766 0.428404247647 0.949679872401 1.380182384636 0.723261615268 0.632725798042 0.012668466231 -1.921697736437 0.281904854787 0.134777686208 0.245351170784 -0.203244295413 1.007324742452 0.151069964457 0.238472232070 0.049348592025 -0.509361509533 1.258099429539 -0.006549216797 1.191249225517 -1.488007137725 -0.488569442011 0.859228127211 -0.407065568577 0.103534040337 -0.019922416280 -0.007694337117 0.500685848019 -0.781439788994 0.067771272042 -0.538320624992 0.558724154407 1.413429391460 -0.455016805823 -0.273182966955 -0.309817093330 0.025269660887 0.946527349200 -1.859115512799 -0.480221428302 -0.274968211560 0.578535584161 -0.135806767237 -0.048500381085 -1.128318584597 -0.004093689779 0.199330696430 -2.892865460346 0.427679162218 -0.000942902278 -0.314282332772 0.022532399607 1.306701026275 0.715871194697 0.485339764987 -0.531540485389 -0.048328117992 -0.167121182111 1.984031174544 -0.196409824299 -0.141346571589 -0.234511360240 1.602818327673 0.037807981551 0.059778255915 -0.018171467670 0.085464885489 3.337445948309 -1.264332221539 -0.219231544609 -0.497758509770 -1.390868918370 0.047951260017 1.904800125520 -0.453589735282 -1.851526020846 -0.607683592100 0.363741187110 0.122192610749 -2.353888268795 -0.036818961246 0.024300065092 -0.055729433700 -0.003952432286 -1.011144523292 0.030316258872 -0.462458126685 -0.086675622634 -1.946294346474 -1.130130233716 -0.025489750719 0.512567256604 -0.099791075552 0.918843255336 -1.150323718335 2.077941538956 -0.154911047618 0.785095393016 0.900906712996 -0.076155301843 -0.354606748563 -0.040345932250 0.122597629284 0.250612995239 0.630835551648 -0.137424871218 0.117777153982 -0.596255772292 -0.082529910492 0.461704814411 1.441311813524 -0.013586511132 0.558425779855 -0.116165472060 0.028306496757 -1.150538302137 0.029090890254 -0.053620034750 0.629044468881 4.018024538874 0.080976361126 0.763451729356 0.533355786279 -0.426645953302 -0.781683583252 0.963285743823 0.039742312765 -0.324302258104 0.881448635668 -1.488332418139 -1.831520003903 1.820586843761 -0.022697565748 -0.225592785919 -0.038324871319 -0.477002234886 0.895737615948 -1.945667313096 0.001913429012 0.052273004331 -0.222584287952 -0.012952782532 0.012527013263 -0.590005719294 -0.230715584950 -0.607468075303 -0.668929425049 -0.215486078649 0.360802810323 -0.355537533360 0.200928707800 -0.495961659335 0.366884739153 0.549326789499 -0.213629237745 -0.516588235532 0.862832821917 -1.336638463268 0.093783116241 0.508158765660 -0.776437422415 0.907509102676 0.052449129166 -1.654646857277 -0.817239834314 0.141957784859 -0.200511180347 -0.074166060578 0.235687499789 -1.021848687234 -0.944468997386 0.356983052060 -1.371281799281 -0.014275445501 0.994015225854 0.597423524794 -0.311544645910 0.006379899183 0.422145271788 0.093426186487 -0.000604835719 0.746778009696 -0.003803063194 -0.010304604804 1.191948263739 -0.149907893543 0.130252840518 0.580247804111 0.087945262024 0.045123743707 0.558247709362 0.652617871457 -0.229303616960 1.677718498212 0.431659547283 0.328410813187 -0.072816183025 0.045986504870 -0.070977442337 -0.565666042106 0.098587076764 -0.349470014510 -1.120405623418 2.465823971970 -0.000447254818 -0.129704964179 -1.291463849589 -0.452345946253 0.944143971224 1.124676869508 0.708254605274 0.027080412142 -0.386520800276 0.269920108389 -0.223801123438 -0.127603644771 -0.091543178247 0.587091491964 -0.035156948144 -0.850356546042 0.111306973371 -1.340615362591 -0.089027338978 -0.469614649700 0.569892487268 -0.078109048453 0.536188213971 -2.954730169634 0.324917763944 -0.574977926989 -0.203781123643 -0.454978084397 0.428427622870 0.468784210392 -0.004272711395 0.029716905768 0.788559030051 -0.655090869554 -0.749304339268 0.619660341513 0.384152901126 -1.965665642769 -0.327740498774 -0.016397738730 1.399395824317 -1.051548476419 -0.131296331347 1.346068639827 0.682490686155 -0.181574985986 -0.031690662974 0.258964784005 0.269082522701 0.038418315853 -0.597433942801 1.086590116488 -0.125593919289 -0.528293595318 -0.233804547367 1.259444086503 0.173133112838 -0.184371229065 0.251687500195 0.307758820693 -1.271368795291 -0.573093162383 0.010823846253 -0.268039183695 1.312691779027 0.037246577272 0.080121886860 -0.107842589308 0.041296706932 0.356105873307 -0.415944067292 -0.890713887505 -0.121525931038 0.001926432465 -1.497560901187 -0.215255738819 0.546891132760 -0.314956371843 -0.279594437902 -0.773010333863 -1.014839082561 0.342848577003 0.831985400316 0.032563369059 0.012264284662 1.877022803205 1.114243546265 0.061504760795 0.452774367028 -0.612877316653 -0.366647705078 -0.040719108323 -0.880163931204 0.009778776334 0.596483243124 0.483627730026 0.758125805749 0.263177019764 -0.214583808448 0.647562362352 -1.490229124611 1.235720086166 -0.043304760901 -0.139328977271 -0.341357465480 0.199059490790 0.026834132456 1.371427664967 0.290639322177 1.437941140911 -1.382990020642 0.255191821771 -0.230643095717 0.030916802215 -0.400270982197 -0.079830075507 -1.124009112687 -0.067755354713 0.819719845583 -0.261821564337 -0.172259748470 0.092957948891 0.832720126942 1.777958369169 0.001986128950 0.105219024696 -0.095228778370 -1.052846026708 0.148175152267 0.064273805344 -0.006536743304 -0.454054212022 -0.314866068346 -0.411630203366 -1.802877281460 -0.105013525536 -0.499097927826 -0.221888997759 0.103915877596 -2.198084834969 0.036239161308 0.803781900038 0.381323789491 0.481755668387 -0.006481243749 1.927456309373 -0.161217187243 0.022408882122 0.081663566550 -0.987407615692 0.343353356980 -2.626775891048 0.656489667989 0.081550360180 -0.289076186685 0.003671522025 -0.297687813798 -1.247201706995 0.225534622446 -1.670585072082 -0.991483044935 -0.390108630157 -0.301699651769 -0.160182668113 1.511813024920 -0.358265305856 0.797690262710 1.341976637076 0.189465237718 -0.156434004789 0.003476492536 0.077210857211 -0.805767834316 2.141331910438 -0.202008091469 0.381263829276 2.102149767035 0.556205235678 1.085795723116 -0.217864532140 -0.005239459639 -0.572404386137 -0.004972715036 0.222914480792 0.945327225302 0.254522736458 0.938460532548 -0.026703097743 -0.496636545783 0.111339811923 1.033198379395 1.918305697081 0.172893880494 -0.284573401680 0.403475001363 -0.080832949214 0.007926153694 -0.162187691100 -0.032563867159 -2.953991324092 0.295254916846 -0.151827278539 -0.998892111408 0.486935075554 -0.667055328185 0.658966529743 0.607505651587 0.199937364520 0.238663973066 -0.655783594417 0.365220242807 -1.021214303567 0.653857027339 -2.126167418507 -1.468670158480 -1.716979480662 -0.241886285132 -0.002970113428 -0.844705068089 -0.292419268277 -0.065547771243 -0.282821788869 0.242982713379 1.048668336149 -0.364953376964 -0.205338342136 1.655942407194 0.578397900743 -0.464699072731 -0.595227729823 -0.684161753931 0.220674267513 0.052956978436 0.641469737589 -0.061258332311 3.025103194792 -0.797665667877 -0.118770840086 0.202359425949 -0.161058363145 -0.709302699798 1.103600705041 0.589883824134 -0.213271309475 -1.393231864068 0.001463115360 -0.098605942278 -0.008626726334 0.031466438841 0.052836191205 -0.170450342817 -2.328205976551 0.043031532574 0.233726649045 1.813290287995 0.574378026111 -1.507824776419 0.049802563316 -0.057931314642 1.540643508268 -0.310354866754 -0.259409554444 0.159921495742 -0.378643004185 0.025815007276 0.905422831430 -0.153998689674 0.003492668170 -0.503994143909 -0.443041301834 0.122614068916 2.796869726964 -0.594559784761 0.023626563543 0.033063477867 0.765911259114 0.056869569693 0.108724735897 -0.656170551412 0.003427722649 0.044361984590 -0.063287027109 -0.242605973809 -0.077512660069 1.090622109587 -1.179845113184 0.384191730435 0.135537772653 0.361040487193 -0.005839952131 0.195878290654 0.324829331615 -1.186993109699 -1.016924554871 0.023408419389 -0.330477068779 0.030551823011 0.120532339920 -0.648695676208 0.189644085584 0.328661718480 -0.175338432336 0.122679398412 1.655911019571 -0.164437749732 -1.216552174689 -0.026133035607 -0.548770848644 0.551988783342 0.354029267082 -0.040104257005 0.382791362147 0.060969604798 -0.710571695035 0.016557774961 0.008825986136 -0.467593932867 -0.621449514541 0.288589289535 1.979412877992 0.967119487160 0.481612973352 0.084733341771 0.802127958395 0.160476390061 -0.750552073580 -0.449497145562 -0.280889302539 0.296854124950 -0.185894269340 0.317162573200 -1.919890794014 0.262532349889 -0.318382023572 0.117794608813 -1.959243800201 -0.047742294885 -0.566612468850 0.007416682424 -1.115271010006 -0.219895858574 -0.056845262396 0.192160290429 -0.105510889299 -0.008984221397 -0.000511748194 0.057132957045 -1.327162298513 -0.955746273602 2.677688555914 0.329282945584 0.086581817035 -0.175516639805 -0.030586177529 0.051169530716 -2.600142215294 0.144030609032 0.902982804027 -0.588530785371 1.200509430644 0.012180461397 1.015654191525 -0.805035425005 -0.205481262525 0.000237414350 1.312209364099 -0.126196947410 1.668379228759 1.803625516954 -0.320636104453 -0.096869223633 -0.494292931594 0.000418601700 -1.218286184467 -0.415219500778 2.165910481173 1.004294802198 0.166627061206 -0.056750892721 1.010816107206 -0.121801181742 0.008932581463 0.647083309572 -1.771173969780 1.626039160388 -0.060832051492 0.765736483230 0.277399272592 -1.012676500547 1.844994296584 -0.076898454834 0.162305874812 0.209103143204 0.090281504349 -1.082284131050 -1.494814462978 -0.360198866327 1.045793366150 -1.188864877062 -0.163348201210 0.106072334863 -0.103972970589 0.341559019852 -0.010237226779 -0.425027280410 0.309732141862 -1.763462751948 -2.222502027727 -0.397801341927 -0.520446234518 0.013709285235 -1.430519568462 1.753818322245 0.579705597570 0.348804302166 -0.619003593595 0.147573920171 -0.015923839859 0.735070088704 -0.278083283094 0.045126762971 -1.025376298080 -0.328639068428 0.140275303955 0.330186978867 -0.511125458974 0.070071195157 -0.349171511710 -1.373767424677 -0.033935910221 0.282387302315 -0.546016703845 0.021791833167 -0.150304952243 0.001975241444 0.501859416646 0.380259074284 0.682674927171 -0.837041983418 0.288345392173 0.845701367314 -0.055970245975 0.158614986919 1.931166203047 -0.096352418102 -1.118805617594 0.450295787506 -0.893814127210 0.000655581875 0.374023542625 -0.072742381145 2.066445873060 1.198156280229 0.564389015404 0.322189021848 0.218143004103 -1.581539919639 -0.406802089279 0.913640024901 0.104446491682 1.852658636111 -0.005190825167 0.038540707503 -0.271707880119 -0.431192379241 0.030361157405 -1.723254453920 0.038110462240 -0.077318847345 0.262547273124 0.222173090200 -0.086550769471 0.223977731742 -0.085183999894 -0.533903485470 0.072418432709 -0.269899639088 -0.047645817394 1.282436657977 2.080972332029 -0.118674616856 -0.095955215793 -1.012830165128 -0.621239314077 -0.372556963510 0.207222005784 0.026199566015 0.419257393288 -1.394044987155 -0.151249033232 -0.235450080776 -0.028005653810 -0.527097718239 -1.395027914161 -1.289373782174 -0.686892550960 0.017623572929 0.036929862567 -0.228749567960 -0.615350239108 0.414281556524 0.606410620640 -1.056791425418 2.907665723703 -0.268504439978 -0.091150848578 0.609153966969 0.089467194332 1.628285357497 -0.485676147076 0.944727937695 0.658876561950 -0.243223556996 0.135238474960 0.164031079213 -1.548167166566 -0.080158714065 0.460507433383 0.168771918559 -0.634198066469 -0.366949897689 0.855316526885 0.145712906123 0.884233338491 -0.069129170352 0.073451235775 -0.922390917525 0.021345881437 0.135782261463 -1.647254132738 0.385927221070 -0.171981954020 -0.072860905617 0.014734101281 0.379549135777 -2.179693892507 -1.461999930330 0.625375043412 0.210964344708 0.515095596666 0.060583465221 -1.948349468951 0.889376860265 -0.018806625604 -0.653391455213 -0.314487763110 -0.065269197974 2.087163886978 0.145103622556 -0.344336156530 0.700782718426 1.529557752249 0.232109309096 -0.657651999407 -1.910552233981 0.537263691339 -0.003005995790 0.299232514688 -0.000019985471 -0.618419969587 -0.072609655417 -0.140324284926 0.452829038083 0.353733190867 1.949172866974 0.325717314360 0.687762960671 -0.057728992437 0.499534720804 -0.073660967451 0.137232565046 1.128468217772 0.019596872652 0.578271117500 0.333938318956 -0.106397463105 -0.171719562237 -0.263026142331 1.381186954310 -0.281523004107 -0.118849800707 -0.044296961919 0.009560529462 -2.725082153185 0.139064328562 0.032101902358 1.390734827835 -1.339419964418 0.077993498988 0.037162482046 -0.152592112096 -0.503864561356 -1.029115298972 2.099440086853 0.218222335024 -0.532930392291 -0.383590369486 -0.072273581740 -0.110826778785 -0.870128816046 -0.121514640525 0.728579000742 -0.136833602018 0.196551061046 0.312218362551 -2.429404303815 0.017792554243 -0.185842494945 -0.126583079958 0.094277945123 1.279418011098 -0.151254238158 0.010229822902 -0.693623548318 0.360235839739 -0.533770698713 -0.221892323796 -0.510664442012 -1.103738314331 -0.087654157666 -0.024759119539 0.458423212281 -0.445562055737 -0.613200881076 0.077917736860 1.863898045840 -0.218242696419 -0.926682674743 -0.705142218500 -2.110371664808 0.010142373483 0.786113952974 -0.783063212138 0.244000159719 0.169718296022 2.187006308112 -0.210172178419 0.046620907170 0.106283094505 -0.023174514170 -1.797876940327 0.293417157435 -0.278420846335 1.335909605367 -0.188095648562 1.427045195748 1.192996259468 0.596684913829 0.366471739700 -0.021970042806 0.443006514534 -0.008856767324 1.285114035027 1.533405233075 0.073938651097 -0.001819523245 -0.466560260605 -0.021908058846 -0.116662831531 1.643360217663 -0.028810716560 2.249819325772 -1.146555388494 0.684062202831 0.111317176008 -0.243806623387 -0.191241800575 0.984949826514 -2.154535871528 -0.202474741570 -0.287521109381 -1.214170935298 0.136084892371 0.104556778445 -1.522399189271 0.134757913649 0.005142615080 -0.730935663887 -0.018815585741 0.296008946815 0.270539279161 -0.681263061741 -0.029083087930 -3.000798915504 0.375704557054 -0.440240997613 0.313393295788 -0.203939781007 -1.493366999342 0.419091970371 0.666333400607 1.342792568367 0.344903223409 0.013895881415 -0.213192178333 0.231863163531 -0.315874152869 -0.513456169227 0.276885742736 -1.149782510092 1.161439253889 -0.559442105701 0.018295585248 -2.504726035778 1.314813498712 -0.049351398558 0.052757173284 0.182435543187 1.390493439139 0.896096107043 0.939180954013 -0.034782151216 0.001526286523 0.003071591673 -0.006798995157 0.761404958931 -0.020911133865 -0.646003107113 -0.850974785765 -0.018246969017 -0.140913778135 -0.103407369266 0.509092101468 -0.387707757429 -0.399974979321 1.167542947952 -0.148584392066 -1.224968787589 -0.062991315864 0.007687931016 -1.191015169684 -0.291423210915 0.117639592724 -0.011757475967 0.846726429867 0.406134033651 1.572162895351 0.228395553485 -0.303020819884 -0.986133959299 0.124470721841 -0.153061978685 -0.197962266342 1.017008386467 0.011345359108 0.067306309171 1.266236571593 0.317025345746 -0.331050703326 -0.470413482882 -0.044501767470 1.020969808428 -0.000222204535 -1.408107141371 -0.146431783786 -1.092774583050 0.038862215959 0.340689189146 0.683131855757 0.402229684666 -0.924798394250 0.897450503889 -0.130399517044 0.495849918454 -0.726956327307 -0.035745829816 -1.520273404287 -0.520084142432 0.610968559698 -0.417442026729 0.305129432520 0.097715634482 0.752318731503 1.738275617727 0.168598479533 -0.007198855941 1.293140613215 0.028088543846 -0.704925354577 1.682854159600 0.139077192147 -1.076665191279 -0.284900446403 -0.011794979237 -0.124535349967 -0.922586234606 0.326031266829 -0.331478161358 0.414156742190 -0.497246496243 -0.105349527137 0.009495159654 -0.171306397429 -0.184592367807 0.567029652707 0.560974146524 -0.177936908014 1.313550086566 -0.241755904986 -1.298972604496 -1.820260842922 0.038084563361 -0.148143913742 -0.382377082211 -0.002306064989 -0.408252610241 0.007886127880 1.320931143859 1.249019884833 0.067013563511 -0.298097199643 -2.227208463961 0.166931179243 -0.507394748076 -0.425916292605 -0.217464103367 -0.453428383658 -0.873794704001 -0.400532297045 -0.036451918642 -0.675383533808 -2.181237455420 -0.218785787576 2.883417425455 -0.087628379634 -0.232580110595 -0.262552761304 -0.149086250917 0.034361605834 1.377241600389 -0.959840506359 0.218445889461 0.648193187054 -0.103900395070 -0.957920285442 1.429130825138 0.017376331701 -0.003924515019 0.998227584187 2.376233549240 -0.065398470336 -0.867011049564 0.140667803409 0.500217544490 0.339611800623 -0.231335740701 -0.150906833410 -0.098472231174 1.590585193999 0.001046229164 -0.002583569406 -1.482684908753 0.688539255507 1.412961230344 -0.271894328254 -0.029836917623 1.750150969947 0.517433252746 -0.042079891439 1.306623329357 0.590616474176 0.068494058985 0.451099514131 -0.921829649332 -0.379880914252 0.585757744138 -0.137795837040 -0.001126847951 -0.005088549159 -2.059732340053 -1.433002631643 0.230041581618 -0.577856768534 -0.050132049572 0.276819282260 -0.346679137118 0.379927540182 0.152874847058 -0.313992126728 -0.027989702191 -1.185007795537 -1.218519809548 0.050777444561 -1.656517047970 -0.288924311469 -0.009729307956 0.130988598863 0.882159219066 -1.083798924098 0.117449880145 0.274594236294 -0.346797017288 -0.220368267849 1.327839678021 -0.252286936044 0.208757093347 -0.423833913370 0.084772534458 -0.216247456207 -0.010919890388 -0.046086927591 -1.151098824229 0.592852933868 0.088982788289 0.091010059308 0.558981343500 0.685361063527 -1.208783597536 -1.292350231643 0.538523396934 0.089790381521 -0.186561878964 0.204199298694 1.296128938871 0.493770093602 1.204407004152 -0.734274551440 0.007310518124 -0.548056320423 -1.137698578858 0.090053501671 0.227849834122 -0.258258125487 -0.428287084564 -0.045897542730 1.187583105176 0.341468408266 0.135040448155 1.584859669029 -0.463959631561 0.005302590569 0.450816082648 -1.189878673087 0.864532991501 0.949343900422 0.361101464240 0.111309913973 -0.102147815177 0.181536840695 -0.010776136963 0.415489699307 0.440400131485 0.061087764624 -2.619079898659 1.679101688248 0.362576269383 -0.999989391201 -0.861281122726 -0.202832996526 0.739058426978 -0.226496504955 1.528780715617 0.285465090049 0.480645934636 0.206502125940 0.161872399323 -0.325609813967 0.292156343619 0.608097799481 -0.558070197151 0.167626808034 -0.001010489841 -0.095783211246 -0.707096066231 -1.145204916810 -1.312893925341 -0.028797736436 -0.395119967375 -0.601983599866 0.355945320896 0.241141147221 -2.311918435075 0.047407311924 -0.160709459249 1.251246560228 -0.009675397685 -0.741335863922 1.522489091449 0.341538003591 -0.274031890535 0.039523420765 -0.146292487882 1.357554628002 -1.691399854544 -0.002412013135 -0.668858291915 0.879174656628 -0.088563381689 -0.209201744296 0.174571280176 0.216867952471 1.752090063612 0.021381449663 0.053535191670 0.327073396106 0.820120453523 0.538268893886 -0.770872526501 1.828347450156 -0.032025674023 0.241301919506 0.149541085646 0.222091760812 -1.398308655964 -1.150817210528 -1.351013173602 -1.112878494839 1.546062581527 -0.018712442986 -0.038189695381 -1.630946011542 -0.409651776287 -0.727729302778 -1.963176146579 -0.181961623293 -0.010773284642 0.596541229505 -0.059974360199 0.040347860253 1.785195151098 -0.028549328540 -0.321179710359 -0.097124547999 -0.047268383675 -0.828324682068 -0.052615089545 0.325803176068 0.340004017751 -0.643851391282 -0.073371742586 -1.120611959555 0.482760051033 -1.130590543997 0.745678340418 1.216831610377 0.350191469997 0.472372124442 -0.139167150371 0.107027349929 2.052147505550 0.285508140901 -0.593924523626 -0.048929667148 0.004701399642 0.036959671268 1.968001566250 0.075350304425 -0.446472017849 0.998618843535 -0.141823112776 -0.069621637066 0.068565709543 -0.026522053388 0.112528869025 0.027944348048 1.903448380586 -0.016553145399 0.110706086176 -0.791032179552 -0.429474511198 0.867386738180 2.099082949736 -0.131902081437 0.232149040608 0.107345448151 -0.289918884062 -0.256760298698 0.486754111270 -0.843823514909 -1.319713516319 -1.941169448740 0.111701358297 -0.859884953810 0.294707124580 -0.166956857256 -0.063061718244 0.000540009100 -1.355032867750 -0.070894116588 -0.001443566444 0.025914109322 0.236768140762 -0.758744575200 0.059701387427 -1.160692276900 0.008675299183 0.870492433927 -0.321918682169 0.919841612334 -0.082616109472 -0.344113324145 2.564560551149 -0.047273294360 -0.988163657792 0.032056005820 -2.019160839294 0.048185148922 -0.279442601641 0.271282807101 -0.214363310262 -0.652589382305 0.059622051999 -0.511566956006 -2.290394890093 1.592000231068 -0.412835338913 -0.126387051749 -0.202205810134 0.935734328368 -2.739328847095 0.011776965298 -0.503297969532 -0.022929217273 0.014107208394 1.338228446727 0.675710475741 -0.007558528093 1.185183001127 0.007203711626 0.462404471660 0.251039920706 -0.351815175166 0.576380839083 2.524008087785 -0.694471105075 0.162979256598 -0.696953998670 -0.230401371824 0.026794023248 0.090931062494 2.646285155472 0.123338780854 0.058955813708 0.677074951251 0.045708909504 -0.195267785162 0.838762043865 0.128668156425 -0.249145978621 -0.653899278602 -0.002916537903 1.119784041284 0.782215733818 0.681936410041 0.249784571281 -0.856054613216 -0.317612456764 -1.141225676602 -0.071137248135 0.715567427761 1.265889793920 -0.155622370416 -0.296041165973 -0.560414169291 -2.387332887840 0.112312013155 -0.342836661985 0.057346280431 0.927870518207 -3.268555300143 1.697096871388 -0.124442819447 -0.267654647211 1.489990777297 -0.480481093160 -0.952663147172 -1.546107489481 0.871422568567 -0.332092460010 0.266381849498 -0.021076021493 -1.634823092979 -0.080800019483 -0.352058645271 0.841806114878 -0.960609857264 -0.280533854997 0.739182799375 -0.000099326540 -0.395368421466 0.941764759545 1.781540305225 -0.231438648494 -0.157884018177 0.458248794395 -0.011178819309 -0.824108340186 0.248425228196 0.350146225484 0.151604420366 0.459764676424 0.106794710538 0.036651101678 -1.324519968267 -0.140734430634 0.889518234124 0.455153499404 -0.075574040995 -1.687265306611 -1.172984136100 -0.162376959804 0.447039018803 -0.209746838764 0.439457986899 -0.342173826543 1.782755409589 0.234555433416 0.862555670078 0.073149488299 0.001061145884 -0.873040349911 0.533025040450 0.335930756932 0.675977876286 -1.838086770172 -0.604228136580 -1.248580611023 0.029379122653 -0.021304927484 -0.688145795533 1.000648348235 1.948184895966 -0.038424136415 -0.844040925196 -0.174986463709 -0.006118700589 -0.972640479899 0.034116647590 1.108241308302 0.179126527529 -0.254942516069 -0.188668718856 -0.015398872216 -0.277588267572 1.561375764649 -0.426651295532 0.402922779578 0.002083240731 0.164096670778 -1.292493839792 0.011903203746 -1.016503842255 0.239452036734 2.880203286421 -0.311100711478 -0.137874827014 -0.025838361063 -0.069156891418 0.236833598632 0.672230630982 -1.393173074081 0.217350913538 -0.015019585839 0.524065586307 0.039872927954 0.985066705549 -0.520076432820 0.311781431998 1.203371439926 0.168051330818 -0.082142581084 -0.486753387274 0.149518596714 0.670019184622 -1.260680900057 0.078133989462 -0.385336732978 -0.028466076441 0.204725935086 -0.331268782012 0.343511930401 0.044142204814 0.275518533047 -0.410782276923 0.059235006505 -0.942269422123 0.971955917918 -1.174772613840 0.146841318492 2.524657797761 -0.749140971146 0.021341129711 1.113008950026 -1.496907225046 0.474647175394 -2.688027475154 -0.488348630373 -0.114514191219 -0.709514015984 0.986884878567 -0.147187924430 -1.296832703397 0.377850095338 -0.662836136650 1.855890992135 0.160985124715 -0.046913241221 -1.119308366383 -0.874896255988 0.236197353694 -0.277691100178 0.249900137174 0.004496626994 0.054225807745 -0.799434070236 -0.029098713096 0.485324296690 -0.385689178861 0.021029570685 0.128176892604 0.330180361679 -1.403955685933 -0.679561033377 -0.044173626745 0.005923808909 -0.765506921028 0.291574205650 0.383172801969 -1.767085095116 -0.044824702051 -0.971158242698 0.509129790253 -0.084038012754 -0.113181949640 1.847647177726 1.195099177975 -0.030273866386 1.162246199941 1.153060666703 1.935075454920 0.325988203224 2.225039924775 -0.133000367411 -0.018485538175 -0.002814751306 -0.711090328025 0.185840245190 0.263936026948 -0.074461831159 -1.074661295525 0.583686809812 0.025065012142 0.205335059896 2.818978409756 -0.009559996720 -0.284033823931 1.242066879339 0.164860189868 -1.502372122991 1.188213823329 0.036530370800 -0.643503559524 -0.058285283280 0.225943459156 -0.576863578143 1.064362466049 -1.370772141449 -1.536587586677 -0.347280894839 0.267331058870 -0.031823981575 -1.462874239974 0.068916355054 -0.589123535358 -0.039354485772 0.048875052241 0.272051952843 -1.977363540218 0.150743512916 -0.085982426777 0.912688265353 0.068198336887 -0.243965866851 -2.031551577278 0.095813901161 -1.147437515257 0.189088743472 0.024538758721 0.369697006113 -0.007470073239 -0.113317710576 -1.295113684130 0.416414869769 -0.019337043762 -0.879679184840 0.685873269557 0.006232312631 0.349209523057 -0.301777953184 -0.181121945208 1.150058836156 0.688288592877 -0.376807875987 -0.284455021910 0.808938281859 0.013290630537 1.082532020589 1.014874606867 0.000862365384 2.339571620196 -0.224439306743 -0.449519591552 -0.519250872223 -2.405302340425 -0.074709205205 -0.951058792086 -0.155757053806 -0.026575848986 -0.758585918261 0.413609142960 1.075775704173 -0.330937576476 0.570325022438 0.055327045379 0.309137843541 -0.659152110283 -0.052512329805 0.011798494648 -0.491585434248 1.484456738255 0.293330686805 -0.645234882188 -0.222791333738 1.002136309558 0.155052288073 0.395685596792 -0.017823552110 1.017894488624 0.281436209901 -0.064158094168 -0.163286464923 -0.001628844936 0.403609493362 -0.018805896849 -0.245444361824 -1.247386060202 -0.076624714051 -0.572717236627 -0.690370088669 0.607371436069 0.272902829371 0.528245316274 0.310936673653 0.124753390698 -0.662933575511 1.899984674695 0.001599825817 1.923249728959 -1.742877445610 0.063566699114 -1.375204198335 -0.807759556641 -0.004266289465 -0.007560292609 0.588986892270 -0.101279460478 0.011206382263 -0.028840345191 -0.148629084748 0.042730107349 -0.509612670749 -0.061536679302 0.864681677264 0.212704262810 -1.537657791207 0.865902407175 -0.977504908840 0.314424023931 -0.830255316407 0.177626675110 0.048206352889 0.280504116483 0.858856788521 0.239395669134 -0.097261461261 -2.350418858299 0.092171928418 0.440733182035 1.102044662339 -0.003993241779 1.755131301503 -0.480125750563 -0.252296592306 1.929513714452 0.379798376488 0.169166022781 0.268296159796 -0.538904060767 -0.004986385548 0.005199700481 -0.295218420028 -0.202021110876 -1.330338829973 -0.079210357333 -0.258879426485 0.021686523592 -0.178833297351 -0.101887294764 0.147107972251 -2.017904268549 -0.207172117725 0.705911261980 -0.854488854091 0.103449543847 -1.331443624472 -0.122599697491 -0.019094350902 -1.148847226396 1.464293592765 -0.105091134833 -0.707676526499 -2.118733631378 0.002728646393 0.365386375119 0.155186995568 -0.025081544644 1.380476460952 0.449926663591 0.787933741712 -0.011455252223 0.005065676805 -0.013194459781 -0.723443929871 -0.095846273429 0.459933419166 1.491581693103 -0.442550737801 -0.108938118127 0.004012260899 -0.105254949449 0.315640158134 0.147330913681 0.893931226100 -0.421113394714 -0.028827349727 0.827518537860 0.773822478973 0.147036803807 0.824167737787 -0.315378371391 -0.174400699565 -0.496968787150 0.155767107070 2.547861378332 0.661324238056 -0.055540209673 0.980661454049 0.079371355567 -0.145414347799 0.762619911287 0.003007227928 -0.240008604360 -0.188122418646 -0.623127442661 0.174974230999 -0.221529326961 0.886492926289 -0.184587272651 -0.498259233468 -2.937349928782 0.026032035028 0.096068818202 0.371150110444 1.238453577486 0.100442949441 -0.245016247645 -0.397498293508 -2.370313984207 0.071767316801 0.009574794317 -0.621293398466 0.043971804747 0.615881278570 -0.137074825856 -0.132465149410 0.061124518566 1.058797872490 -0.201041582947 -0.228885684145 -2.445441003766 0.082054160310 0.028566208746 0.208776218645 1.650251924018 -0.159289875469 -1.807095788514 -0.409190272779 0.004733688851 0.027323289802 -0.194943375496 0.128964998337 1.046232374128 -0.139335296856 0.113275203562 -0.866447999841 -0.453972017755 -0.074115172132 0.357462617720 -1.428933466524 -0.317724333916 -1.076701804868 -0.114460252287 -0.202557089529 0.419686430700 0.389982528524 0.551222697379 -1.347196350119 0.147769270028 0.472834319789 -0.781269370848 -0.052766689068 0.464873947863 -0.003164946278 1.499735950310 0.330630074348 1.112651581079 0.154713763878 -0.235213403577 0.156552181847 2.584353743810 0.176248408228 0.324907058832 0.564447564144 -0.347164010012 -0.152342034800 -0.000563306473 0.137999633627 1.342213615676 0.324277764131 -0.150163060495 -0.937239784253 1.778074782492 0.250747666861 -0.536227392709 -0.685229964532 0.924663275455 -0.235712308741 -0.552729518823 -0.003586137603 -0.609976133786 -0.268696108157 0.134649213643 0.208154234923 0.057893975857 -1.294913300689 0.362941934068 1.022905045832 0.123773647965 -0.992896547505 0.606121906270 -0.240880896974 -0.141415144540 -0.136639238672 -1.664969320241 0.007684087013 2.487623865781 -0.245685403764 -0.496126153275 -0.263341611240 -0.161686845458 0.636013089642 -0.916994630742 -0.881338887119 -1.635815951334 -0.007846433284 -0.177206216075 0.199842317043 -0.089913943316 -0.264730684659 -0.342286792064 0.435000450200 -1.041320801796 1.285335346404 -0.306915262837 -0.000943349987 0.238278920977 -1.792997054805 -0.235022724191 1.383493357008 -0.487649018657 0.995657507651 2.060189895026 0.276483211519 -0.037790471080 0.101825877326 -1.741430986847 0.245817926094 0.139133142218 -0.444275562208 -0.107069848080 0.434294080744 2.425750321337 0.004840593036 -1.144169230301 0.145751792951 -0.670249733400 1.667474269387 -0.378793882358 0.111519611161 0.049766386002 -0.804578920740 0.008201088460 -0.055440150133 0.642730896851 -0.010375034271 -0.004686533756 -1.320392467148 -0.870479462412 -0.392533137714 0.358306353931 0.389804577794 -2.583089651933 0.086786771854 -0.544092497765 1.390452724354 0.303882815932 -0.100398222831 0.815703856527 -1.554624173350 0.278273377593 1.046799193056 -0.001555435634 0.000154951524 -1.880163595115 -0.845505992146 2.122018251360 1.153124967397 -1.690925468731 -0.102719267463 0.114138205348 1.033160994442 0.409249921962 -0.527944184708 0.173933365559 -1.103038008755 -0.694939747321 -0.002342540695 -0.091288637638 -0.253183772621 1.677216994507 -0.013539742354 2.244879288891 0.235610507186 0.264314289845 -0.059914349032 0.933056914914 0.067899336115 0.180687751363 1.081140392474 0.078407282383 -0.221991685624 -1.278436764707 0.773124518666 0.640374255787 1.667469573777 -0.065181298684 0.124493848227 -0.288128478497 0.429214673445 -0.212453783828 -0.141183150466 -0.673943559260 -0.673875280189 -0.218956382429 0.073464160728 -0.887042353843 -0.490812449486 -0.006681457530 -0.117978089543 0.558637909856 -0.762792641293 -0.414724160737 -0.895322762151 -0.032651715117 1.325646217513 -1.214135339542 -0.096313454310 1.090150982695 0.082228823429 0.971552554619 -1.775826993099 -0.192685078357 0.096316014226 -0.085884754123 -0.181267103812 -0.046729273297 0.015924997083 0.505758516776 0.033261723359 -1.511352472780 -0.137048199675 0.431787535464 0.191962620605 0.714773848358 0.070728748276 -1.568970563213 -0.916939862772 -0.045736403104 0.027715053309 0.372965602024 0.000940969659 -0.400434739786 -1.158686297439 -0.456791446719 -0.060352260751 -0.519212258260 0.369112988581 -0.169126412034 -0.056391507710 0.261035074233 0.214537815768 -0.218819004308 -0.087035796136 0.001223316734 -0.478755256536 0.346204721248 0.059947446982 0.172872584667 -0.052535790920 -0.007055008138 -0.059170898799 0.415229880040 -0.087411520795 0.029446816662 0.960101715397 0.558794899018 1.875810932976 0.142373793249 0.133700505397 -0.031478896442 0.095064352969 0.770098478152 -0.905493939999 0.154860201883 0.140427995241 0.072283716800 -0.356791772294 0.787883119692 1.919556630914 0.432171249127 0.989797826482 0.468938709760 0.777351076424 0.781612189245 1.009389670792 -0.318772284198 -1.076526668043 0.551396778005 0.096090184701 0.172276458789 -0.399134924647 -0.337429317350 -1.376680705447 -0.424416017580 0.043256008138 -0.010463986249 -2.000170918500 -0.062639346282 0.329575145153 -0.817818566140 -0.004650260793 -1.124154562460 -0.189577498460 0.197901140107 0.507770116248 -0.792314888617 -0.112764959566 1.164889931933 0.170913351273 -0.104513735552 -0.341881190209 -1.092422729122 0.070939188813 -0.157427034918 -1.090390689278 0.340707968781 -1.521861714711 -0.354875271243 -0.024033989205 0.676679669061 -0.978316844520 -0.185050372936 0.662190867670 -0.362832724707 -0.060997788690 0.297353778517 0.324614107475 0.756241401746 0.719209187405 -0.578142749957 -0.063464714145 -0.027889482376 -0.010488451884 0.406312933787 -0.086402559330 1.877367049247 -0.101898925400 -0.023814691229 0.048082412782 -0.418181024810 1.266405511057 -0.565531981000 -0.239494563288 -2.702371191032 -0.095865576615 -0.936656792757 -0.759484792244 1.742619259035 -0.022433455749 2.186464631376 0.329943270740 -0.002580762077 0.971202577295 0.526470254643 -1.358702372358 0.750251274949 0.002646901555 0.009616400430 -0.342975855329 -0.690388224318 -0.262883340904 -0.665223167574 -0.000496289294 -1.382219332425 0.131435192535 -1.823978322257 -0.390701115394 1.317966091863 1.173279220439 -0.024064185090 0.001230228187 2.913934861564 -0.087962936745 1.293712033856 0.252301315519 -0.518409533166 0.829098511433 0.165683742921 0.214897020011 -0.661148058519 -1.064542200229 -0.932508072784 -0.009564410933 -0.110079834877 0.388206106236 0.446282964185 -0.071379800064 -0.403619735226 0.400514534305 0.100036358394 0.279464945951 -0.550956761617 1.002576758437 0.000706076406 -1.291033071077 -1.287098862128 -0.079691145773 -0.854456759863 0.845120957465 0.260394813365 0.059149680575 0.276798717374 -0.010753267685 -0.351034905824 1.788656027192 0.175122682063 -0.383954174021 0.055814232397 -0.101455259052 -2.370066479306 1.320719000650 0.027486841857 -0.594835274924 1.442157438762 0.375730821161 2.277505026440 -0.283918928291 -0.322889273734 -0.689931464036 -1.969551037999 0.375507297979 0.361555694091 0.413228865144 0.306140567534 0.010910086352 0.321121503951 0.533709693877 0.062456055638 0.469429390729 -0.002611931077 -1.173894976448 -0.317695388961 -0.072332520470 -0.743568977108 0.044296445572 -0.344020367046 0.876184466443 -1.084581052993 0.372824585004 0.333529253678 -0.316379291150 0.049383953820 -0.061142795143 -1.572919957496 1.312618316886 -1.150827272837 -0.745670417561 -0.098718021015 -0.321560277332 0.202138340313 0.055261623072 -2.624805252685 -0.337842749782 0.002183612510 -0.671165194033 -0.035509827031 -0.028136070198 0.197913047826 -0.320846483456 -0.308567318669 -0.406461978085 2.558441225099 -0.783372213841 1.173001712666 -0.517863280793 0.016131566861 -1.230662426322 -0.415331200102 -0.101992106209 1.280273919902 0.117534225374 1.939540405942 -1.024086885349 0.058271527901 -0.235082951015 2.205613510087 1.982238963721 0.096920613151 0.273368943394 2.625559320560 0.156722678167 0.149455614439 -0.319736105449 -0.616031037629 0.012852640179 -0.455791472197 0.004980988983 -0.654568051945 -0.805952868774 0.440589318524 0.782218903805 0.403369263323 0.289133891037 0.816214003935 -0.111189637439 0.063668707491 -0.031061899959 0.469692880703 -0.177814185955 2.137608368512 -1.571753607687 -0.166152440611 -0.401591035702 0.011460415939 -0.016845377997 0.122619394058 0.896611619526 0.261355679479 -0.356518436264 -0.623601915730 -0.181306210210 -1.980318283142 -0.537842123556 -0.092205987037 -0.114967021251 -1.696424030613 -0.846274278336 0.033534170613 -1.057996275995 0.043975291874 -0.267152870198 0.537916470077 0.003356393772 -0.820209041918 1.064709989489 1.310067994619 0.192395698734 -1.155914385779 -0.124603146952 -0.723961817542 0.044048130000 0.136250223016 -0.078902855977 -0.076769293469 -0.712303535931 1.111127037829 -0.243980372139 0.273530113370 0.940697369102 -2.787405973119 -0.022353850348 0.012359492699 0.883054106817 -1.536246786724 0.329533900006 0.295477357143 0.034701045979 0.084664188965 0.952975712405 -0.401827567053 0.000500754408 -0.008095257721 0.154647512250 0.010300703049 -0.134325004265 -0.091090417336 0.305397212592 0.304687201265 -0.237833790106 -0.082076624690 -0.078790766666 0.276653823917 0.591964939006 0.022296916015 0.250334539313 0.253655800576 1.906728503949 0.496940724817 0.364784351690 -1.450870762262 -0.727677759195 2.084943971236 0.309011048997 0.505138495246 0.962184580194 -0.537015386314 0.166042140076 -0.396067330816 -0.459646949564 -0.003346557782 0.375654716163 -2.159052874437 -0.041112091264 0.698764175269 0.271876536253 -0.039544401444 0.517441713934 -1.058572291990 -0.501635076437 -0.583274122301 0.323080884847 0.335826214466 0.246740929801 0.622942771218 -0.356356966761 0.401090967615 0.015837699872 1.538860161161 0.020213711937 0.453480701811 0.067785548523 1.032160912170 -0.437495064401 0.108521292354 -1.075245397968 0.348718941902 1.012623363690 -1.935970110448 -1.777638195489 0.155166923957 0.012549604892 0.637353294147 -0.095570584246 -2.390143016317 -0.720273492820 0.366035081230 -0.520571942381 0.007836089092 -0.100059586937 0.970128425257 -0.002513325366 -0.672911356496 -0.278063232567 -1.621788992392 -0.226399002388 0.645116981083 1.448362028078 0.285382474087 1.634554007352 -0.019066997224 -0.009352324781 0.237187079544 -0.301643136897 0.243460758533 0.276544909674 0.217365542262 -0.028488963408 -0.087497069935 -0.092094935681 -0.170558585952 1.331381953823 0.012085985784 0.187433561855 0.452202825253 -0.631716956982 -0.105719044984 -0.402763148876 0.003546689311 -0.241301077734 -0.376089814007 -0.146066427465 -0.174217230876 0.139374531007 2.098846511824 -0.063800402060 0.181568511686 -3.005287102436 -0.120482583200 0.057749171986 0.221914478742 -1.128925690894 -2.537283384070 0.987956380481 0.082318721296 -1.554735689744 1.141741024342 -0.051009870778 -1.128347568394 0.714912809374 -0.909904006749 0.141307716985 1.482848759674 0.005146982637 -0.073764584351 0.066249123757 0.621824550216 0.044618689641 0.519769054508 0.214727974903 -1.032420897317 0.023770477683 0.096531844800 0.650411674029 1.871850829061 -0.174919937529 -1.643247178364 -0.353734372550 0.366481642770 -0.567146962895 -0.213040111012 0.272031387146 1.681523014367 0.756849156280 0.011538785417 0.264963444569 1.995657257864 0.906343633493 0.025980617968 0.463254732828 0.116240973400 -0.614908106132 -0.018377738851 0.029983107599 0.001452951907 1.595503666700 0.108898273701 -0.054781153961 0.171148130265 -0.245633308853 -0.686858360851 -1.233584696947 -0.525643167146 0.055380149452 0.489070519883 -0.358457021489 0.179302975922 0.123416083948 -0.150984242108 0.168564659845 0.287864538512 -0.032641438522 -0.430721284581 -0.216658361916 -0.564869451250 0.322068130364 -0.028442887055 -0.153009351028 -1.302917718314 -0.049626470680 -0.054485220582 -1.319551638096 -0.231410687859 0.423064363044 0.554839329043 -0.035577251190 -0.548458380283 -0.274884408159 -0.677305442912 0.527263566454 1.402174899912 -0.404964995624 -0.417275085960 -0.519714332932 0.041874106932 -0.000160245667 -0.605415379389 0.096824359424 0.150139592556 0.582954223436 0.384647323327 -0.019861537100 -2.470700837277 0.551911847238 0.068326616144 0.136424531921 -3.207447853764 0.360474152287 0.916949249448 -1.004640990114 -1.164918013572 -0.312364111985 -0.571138186973 -0.188570162396 1.955621595900 0.008060809378 0.006472929054 1.069437614638 -0.288004209516 -0.137665809760 -0.093774782946 -0.344434649739 -0.037813681419 1.127073424746 2.146266013762 -0.457584334872 1.528430174435 -0.064580947806 -0.096081479117 -0.383375466003 2.199410643509 0.005501770499 0.297972807017 -0.301280604866 0.461572814193 -0.702281949198 0.056924318428 1.296030732405 0.468593146504 -0.061810448152 0.631934758614 1.651189126792 -0.701168395578 0.058602845637 1.453703074101 -0.742822422535 -1.855623653954 -0.008701546344 0.668485382901 0.094118235765 0.594382716386 -0.409961427303 0.044404934580 0.071771316293 -1.296936923572 0.389032806546 2.462323633574 -0.339610592555 -0.279527066027 -1.762191080104 -0.011687324974 0.322140859858 -1.853977644541 0.346841917142 0.269248500932 -0.067219254130 -1.410416332664 -0.339878662342 0.230441435019 -0.198521302731 0.010170473353 -0.149288153804 -2.305088293632 -1.119091714552 -1.452645431090 1.693667564451 -0.260752566351 -0.022025642229 0.004597345973 0.043753073143 1.641862758985 0.424289019320 -0.034456035368 -0.148861052927 -1.120768255449 0.022192051178 -1.930271798689 1.423945473132 0.482355973752 0.453574704364 -0.320817578573 2.005267605815 -0.000374185863 -0.313293494634 -0.534094899355 -0.125546802623 -0.034461685752 0.104976045639 1.180988101434 0.020390854495 0.165186971621 0.552783141900 1.971653325617 -0.199383851677 -2.157759365002 -0.199652846185 -0.071013351190 -0.849988521406 -1.099551087543 -0.003317439216 1.231734002046 0.827631866676 -0.056267901584 0.000770099409 -0.590376603060 0.010396229343 -0.254691935509 -1.074329857922 0.097274869756 -0.091506656496 0.119838981330 0.019716423440 0.319532702578 0.123020207220 0.121177796189 -2.126755013675 1.942297976581 0.009263544496 0.098332574950 -1.606001615774 -0.231239805252 1.482349100058 0.168206473411 -0.136538205097 0.011397592481 0.444535476090 -0.579361046040 0.367262931093 1.666943158859 0.067914099647 0.030844491842 0.237004626564 -0.406397677592 -0.233191349738 -1.108847656715 1.538944126720 -2.668212241533 -0.691586584417 -0.008230780579 -0.040738719185 1.419355885382 -0.262558461793 1.941257336809 -0.048112291744 2.225866382631 0.829023507787 -0.232549307520 0.266711672480 -0.116515591635 -1.662651558721 0.180659477359 -0.121101483483 -0.630848029700 -0.621002315768 0.299870775965 -0.418874016608 0.666954277997 -0.969183190496 0.013718508528 0.053433275516 1.479302632714 0.043803073658 0.137001495274 -0.535250344714 0.379826025724 0.080121589191 -0.544667314864 -0.570738161511 -0.186568249005 0.408101737778 -0.595626963196 0.621907115506 1.650357410618 -0.092288022648 0.298215216710 -1.059366163446 0.744370841937 0.087165098192 -0.249947943871 -0.002644036919 0.145836712649 0.087937184634 -0.119016424067 0.186340554803 -1.082106926523 0.959340055581 -0.108450715259 0.007364522155 -1.308209363404 -1.494102259610 0.637804639592 0.254250433599 -0.015093672148 0.275003912851 -0.656966304923 0.201914473127 -0.644007215260 -0.749278922437 -1.131346889766 -0.050650711125 0.101692025709 0.067824050258 0.168782968680 -0.395047257130 0.178999430462 -0.677344494765 0.011535246309 0.090968318411 -0.342243725674 1.198346765417 0.121840257332 -0.360590622256 -1.077765399047 -0.167577906398 -1.910001957740 0.483236679586 -0.146266088494 1.720219612004 0.635052670147 -0.008022788953 -1.693968233330 -1.084309002810 0.055236515889 -0.029920062550 2.054143047610 -0.770801120347 -0.149845844660 -0.132861300201 -0.000942162179 0.006612265679 -0.121952664769 -0.272744082063 2.556457800780 1.409380583570 0.665605405125 1.306820404271 0.171372921334 0.067251730253 0.071852172279 1.001061230296 0.264210914918 -0.302851899443 -0.171278467160 -0.399588057491 -0.057719502592 0.564808072134 -0.370886234623 0.450434575254 1.869886364196 -0.305875937551 0.080018074239 1.979320746140 -0.940482791276 0.690671211649 -0.037139163278 -0.111092695219 -1.115780307008 0.021886672994 -0.269445018156 2.209441963612 -2.786344772134 -0.706343832674 0.587215243529 -0.641235475209 -0.102739349832 -0.027350112740 0.811854770387 0.217202237204 -0.257947726592 0.296174091331 -1.478606537099 0.279960211363 -0.696184852309 0.004701594906 0.578245427806 -1.016295113666 -0.000115320712 -1.669741396014 0.143322235114 0.130173783100 -2.293111100211 0.063231827660 0.050548889693 0.971098424664 -0.511657840322 -0.002097052376 -0.770256851154 -0.113175001836 0.166214204941 -0.056812285980 -0.059481017914 -0.130170144490 -1.171732219339 -0.462784604372 -0.157466909549 -0.123394108868 0.530101247861 -1.038383325268 0.036535955994 -0.239324430248 0.390441768370 -0.602729274804 2.752707296697 0.163025108315 2.850909775578 -0.661819814904 0.102856473395 -0.026332090086 -0.958175848974 -0.014351883317 -0.801677025137 0.998859871125 -0.147858918631 0.305123540822 0.061305090087 0.633524628732 -0.022812365657 -1.120809847535 -0.031467195967 -0.955472517769 -0.131820760426 0.186578754156 1.862453337967 -0.539698854140 1.369528022735 0.037757382100 0.271965729706 -0.019053550669 -0.941015686338 -0.153252555392 0.194894644573 -0.974053560726 1.755773005372 -0.017862365053 0.693041278477 -0.597212961294 -0.076884396507 -1.378233928989 -0.030881027050 -0.103356665351 0.037969265681 1.040684987071 0.825844779569 1.146024370429 -0.883000296554 -0.352127990808 -0.140543253142 0.013234124928 -0.103045032094 1.739232907892 -0.144570521226 0.028471338031 -0.142865753198 -0.588874652039 -0.211661412408 -0.040800538433 -0.035356993462 -0.047287361590 -0.878610824586 0.334863591949 1.749107281164 0.075082261062 -0.123484706698 0.297061776707 -0.568591859917 -1.872645656159 -0.045139140519 -0.894100760900 0.629676263975 -0.198711691597 0.174642583397 0.097736454817 0.336402223687 -0.002732150619 -0.468085871379 -0.042808031374 -0.069843622062 1.836253463499 -0.010666253237 -1.028507411883 -2.059009878987 0.089509361482 0.160546293101 0.138189718962 0.073004411051 -0.257075025746 0.455522095965 -1.310939878811 -0.156829362962 1.327141858729 -0.029814533688 0.615119147388 -0.087555623185 0.021084232760 -0.691796682410 1.272936601673 1.201477860219 -0.316011942621 0.225406946281 -0.071549296258 -0.291911588683 2.283734124733 -0.122783996961 0.109069694005 -0.190920475138 0.726890222359 -0.128734052638 0.019625216166 -0.278459447313 -0.024639044561 -0.773452138517 0.005471611045 -0.409080089974 -0.734262112527 0.005255620005 -1.490395978127 -1.167566209403 0.338696373054 -0.188179504376 -1.295341580739 -0.299898711974 -1.600529387453 -1.308552317320 0.319179329656 -0.521999907492 -0.466042313365 0.022682415604 1.412000217162 -0.167816034661 0.042516745655 1.139609733188 0.355108827517 -0.405945920830 -0.255631869540 -0.698096642429 0.178230040392 1.344226302218 0.327672489397 -0.317685849410 1.046374258464 0.072879664097 -0.553174833606 0.823971996904 -0.203783804013 -0.114367717547 0.189385896633 0.297476361050 -0.011277575645 1.574694146922 -0.150882548570 0.173666473046 -0.220397530958 -0.363549686716 0.038660487722 1.336751585636 -0.030648955464 0.307681489498 1.403625737916 0.578842791165 0.159351573038 0.412415698134 0.649503194545 -0.365985812462 0.007755179824 -1.476898832201 0.422498496431 -0.008103812758 0.270198820676 0.486867216851 -0.236224569225 -0.003430291879 -0.000556618594 2.258817172021 -1.025498617262 0.001084679485 0.668352965861 -0.067881529730 0.078271932006 0.738756579141 -1.047534093949 -0.134031966754 -0.072984596835 -1.429677343635 -0.181238662783 -0.741586736737 0.011083749474 -0.629828788416 -0.722296284406 -1.210780713110 0.048819012301 0.532513324250 -0.867481902319 -0.617528600330 -0.132416407873 -0.402563600836 -0.145444156123 -1.064013617070 0.642330099314 -0.028832112779 -0.246211229999 2.891773626842 0.268485197129 -0.002532970119 0.171438779755 0.065465303465 1.128279125585 -0.733472327580 -0.563828690679 -0.135614700125 0.412935684944 -0.260771797453 -1.694290256700 -1.198626074622 0.304368513377 -2.293071500026 0.141228300680 0.148151959938 0.680338184817 -0.519206528925 -0.306966584052 0.113927801009 -1.248441411151 -0.667746367038 -0.023315665704 2.060875480156 0.161321353055 -0.504937413524 0.804701696429 0.059126068994 -0.253125309237 0.099262741410 -0.354120635884 -1.209099571140 0.019560183918 -0.119631257883 1.804891224444 1.926636152763 -0.118888638627 -0.737740301024 0.793002171921 -0.379002569872 0.024987485318 -0.024233586986 0.031982513959 0.161512133850 0.582996518602 0.617905505189 -0.431654658235 1.341362001062 1.182809016240 2.178804561814 -0.148539836071 0.704549823657 -1.278698094995 -0.026588693399 0.351879220510 0.064547694796 1.119028412272 -0.221457668893 -0.460441565687 -1.760228287297 0.017403681486 0.230749511025 -0.365083369813 0.011096641180 -0.457897959692 1.526158532850 0.000852810132 0.790441559826 0.759239080121 -0.114394443701 -0.898757714351 0.388061613700 0.241287498880 -1.326072022062 -0.024297837837 -1.775537251448 0.224060809952 1.566302037267 -0.041803594192 0.045504752187 -0.972736449520 0.468104440843 -1.110777742216 -1.079465686123 -0.420940431661 -0.434621488026 -1.565002081455 0.449220389508 -0.698120508696 0.454428255211 -0.287223134116 -0.050675837984 0.078263545024 -0.219160029684 -0.000083047327 1.574290059662 -0.346054813436 -0.689260063245 0.074112413308 -0.050406135971 -1.144960749330 -0.349034028231 0.751114160088 0.584245836364 0.557397346657 0.102943692263 -0.161419685921 -0.040448299557 -0.033377323479 1.218146151555 1.055703057915 -1.211608470442 0.807095940065 0.069559488659 -0.113484081029 -0.044916543205 1.321839756256 -0.006475371727 -0.133994218017 0.237874515395 0.464656818314 -2.079520133945 1.184174935983 -0.025393739344 -1.455166899833 -0.012424173121 -0.026492061662 -0.448864076343 -1.729250544242 2.082345948269 0.701521897240 -0.260099539055 -0.106571008347 1.050012887476 -1.054479171919 -0.013764534892 0.118055301386 -0.245612125587 0.245696098726 -1.771556229031 -0.488952446523 0.109779803650 0.323453736641 -0.575040885132 -0.068585170911 1.648422487888 -1.100562054524 -1.254250236173 0.485966398921 0.413789801906 -0.060605097087 -0.116713850918 -0.231717431345 0.147375509762 1.004019444388 -0.029362086452 0.007095215278 0.086107056204 1.801367238641 -0.446266971574 1.696165453595 -0.977007656807 0.007313989304 0.008012108950 -1.667040297722 -0.415150584630 -0.339596652974 0.794762787300 0.337040966226 -0.540110177340 -0.324055249677 -0.393776681712 -0.294458009187 0.933893766152 0.002354899208 0.889187912457 -0.182696778289 0.115930330692 1.224238531763 1.223035581149 0.003268986978 -0.170277893814 0.471653229236 0.377937567017 1.775020159329 0.589380914442 0.403482748636 0.005656315271 -1.033435916259 0.066310155633 -0.046607440555 -2.225516415028 0.285869371829 -0.036759746431 0.496103423561 -0.265495326094 0.407370709774 0.036335674188 -0.206406486114 -1.906363515671 -1.327463838242 0.943073043485 0.614527166610 0.744459030314 -0.000857884078 -0.692800576671 1.802484952184 0.014153988133 0.844678365034 -1.688399501321 -0.969499729260 0.212173552568 -0.006188654709 0.175848505603 0.191691086247 -0.974910255889 0.253505355303 -1.711141140856 -0.009082952766 -2.077269743782 0.078515799085 0.455291480220 -0.080562984211 1.552426384536 -0.000796410978 -0.069759081358 0.034774743135 0.123915355043 -0.845754334222 0.125196274276 -1.423865284950 0.030597154101 -0.247598484728 -1.145731686334 0.082434069207 0.437703089501 -0.294910627547 0.132816221616 -0.384953065870 -0.064812332693 -0.203531787107 -0.029716705333 -0.150761820372 0.405957849474 -0.992772286133 0.361454268486 0.146089852686 1.652265577951 -0.542671721695 -0.345528896238 -0.141610248439 -0.878785385361 -0.018814540013 -0.141493108741 -0.086252749312 2.366733985197 0.346820575820 0.980604270916 0.342376060121 0.887409556861 0.001113169279 0.008508607792 0.914927876549 -0.775385215419 0.606241378841 -0.184692871259 0.168911347826 -0.043580917747 -0.118994309938 1.289843067416 -0.105489977683 -0.333009013215 -0.566694364898 0.544812485035 -0.085257742430 2.311740202296 -0.055350047034 0.324195508634 0.546594305061 -0.041933958533 -0.024544938809 2.071423979259 -0.261721832999 1.563184207447 -1.160394081543 -0.175403915436 0.394149631034 -0.339846547581 -0.004493242976 -1.371909309907 -2.456037319929 1.850261983282 -0.581272340031 -0.474153561249 -0.360555280767 0.072086548354 -0.431148771148 -0.089463645483 0.095441177167 0.885044762282 -0.218243963448 -2.983551333987 -0.214880591997 0.019021354050 -0.364419938797 -2.635639237837 0.413238233511 0.123375829497 -0.001022410342 0.173295928745 0.435297222369 -0.047999484307 -0.267063286567 -0.347439609324 1.233534121390 -0.108855360379 0.002729022250 0.150936773370 -0.260819323463 -1.129163901368 0.490626116502 0.261157694688 -1.148077400953 -0.198167902769 0.368601932876 -0.345816305114 0.009305489896 -0.428195325742 0.691932709665 -0.559264491354 0.122184086171 1.323034402530 0.724900424334 0.029127011584 -0.713485951901 0.353937455943 1.199531466256 0.244062453257 0.671762430401 -0.019941531620 0.783529366114 0.931339207356 -0.006588202364 -2.174902112959 -0.070698475724 -0.159120078946 -0.611170297304 -1.596224534603 -0.034024315519 0.329663403343 1.369050291324 -0.007991776152 -0.121761771179 0.146415282691 0.578503976834 -0.436117198401 -0.999977821343 -0.000368402007 0.017140983990 0.967562363746 -0.206224363798 0.695431667725 0.743701174078 -1.914325905692 0.059833781022 0.083168590546 -0.414968266981 -0.800918790805 0.531021385488 -0.020938769472 0.394803969373 1.220623074462 0.036054442362 0.005559770840 1.403340155886 -0.007794932396 0.652287140693 -1.375991176708 -0.259143517204 1.022811112903 0.124938491504 0.286737991668 -1.084124126763 0.161245246411 -0.062446325266 2.047717609814 0.215532802802 -0.092296410217 0.883956350421 0.526706004331 -0.797053855184 0.192739343021 -0.067650195449 -0.008618730545 -0.500049980519 -0.628675852320 -0.362526383329 -1.023966954582 -1.487463809546 -2.202663516663 0.164024333581 1.864083403281 -0.005121075452 -0.714976183714 0.005211694949 -0.174303890931 -0.775048130666 0.216232976918 0.075229390542 -0.148219047729 1.616623716963 0.577634404762 0.698898106041 -0.449908224843 0.054943744925 0.761501070927 1.092362199707 0.167465358072 -1.597609990836 -0.606669295172 -0.080525324414 0.014312394601 -0.605871929751 0.196098346652 0.899420969196 1.636795293452 -0.675653665082 1.029121526571 0.569477128913 -0.454274788310 0.509626000731 -1.415947494990 0.283447609229 0.910175897048 -1.010360431038 0.004818854522 -0.023535185298 -0.455457890662 0.425527335699 -1.001210884378 -0.087129759926 -0.116775879294 -0.003235051348 0.125239842212 -0.419061633303 0.404606922356 -0.315548530366 0.419486574122 -1.862272968218 -0.270780539694 -0.214043813298 0.077856647406 0.625075147782 -0.875771670389 0.000295467449 -2.707264034475 -0.014095776441 1.089877796463 -1.209151323935 -0.043614426888 0.448704278235 0.004347490827 0.455034031318 -0.645724502487 -1.720525122090 0.351885023011 0.039596742285 -0.599805107615 0.083305434262 0.140391148348 -0.317699607905 1.063286210780 0.231801190227 0.290218833760 0.411089297932 0.729026466945 0.942221902185 0.074476171877 -0.111278699643 1.574870733776 1.125732203435 0.069084067240 0.388997665466 0.106566404910 0.237255433145 -0.333184858066 -0.250112043113 0.884900871461 0.099312266224 0.103070419523 -0.409790161855 0.175909909064 -0.129285059819 0.960709410253 1.819181872408 -0.030249159192 -0.970301788166 0.002375565395 -0.306028957956 0.936564215965 0.905543086737 -0.227987264913 -0.691031525147 2.289073769902 -0.395322770272 -0.321874657651 0.154853704150 0.655322142439 -0.045377446426 -0.011350731580 0.413633704761 -0.777552318735 -0.084588176234 -0.598690289379 -0.158562324572 -2.899597739034 -0.050430430596 0.449798858193 0.602274020386 -0.126614505908 -0.142911171694 -0.436145877574 -0.076999915277 0.305384912326 0.909801877487 -0.371431325275 -1.506383407032 -1.231412236625 0.007176971856 -2.042944178752 -0.120760384975 0.216112867220 0.091884237942 -0.264866716153 -0.226269526995 -0.000573136752 -1.244048165908 -0.125758390953 1.772492522071 0.666741896556 -0.046197988811 -0.393614461228 0.341126601818 1.358011139400 -1.811239533795 -2.256214585247 -0.171014424190 0.275315099273 1.082107351496 0.150578860441 0.313456386668 -0.005890382230 -0.711095295535 1.978317494169 0.025826394227 -0.269483159583 -1.150153186978 -0.231505927401 -0.123408879228 0.017516033841 0.145693468647 0.123949807837 -1.033302523934 -0.367759085490 -0.125373436744 0.227454351133 -0.215602676396 0.092803663800 0.458055519085 0.397423627970 0.288254108018 0.276963926881 -0.169050447118 -0.002799706732 1.183156080202 0.130939446530 0.010621085558 0.123596998434 1.109665722162 1.781130064926 -0.162905633324 0.813757694724 -0.038618647007 -0.709188688182 -1.159045377456 0.308196252466 0.240496706629 1.372843013359 1.096047787297 0.475488601481 0.001247609936 0.209467075222 -0.030974245345 -0.546483151593 -0.039981379513 -1.018197757571 -0.190174870751 0.208681720666 -0.976363495537 -0.305923530082 0.365334408227 -0.412573825197 1.035842346107 0.161371317272 0.437025386230 -0.717238052491 -0.447340309458 -0.261122412279 -0.391296740664 0.582306143184 -0.279685580012 0.068684193959 0.059228696612 0.169358456725 -1.211835084463 0.034107325028 1.605629721047 0.218591893301 -0.205488664093 -0.956843514120 0.477837893946 -0.007013259323 1.104836014681 -0.328289826253 -0.634845174005 -0.438530222783 -1.276003500351 -0.533759790041 0.062595255273 -0.140340805221 0.233417903527 -0.091849203744 -0.694620963918 -1.466473969492 2.077133260725 -2.125790995212 0.143321238238 0.060549362605 0.044545565805 0.445733369710 1.239917079384 -0.673088230804 0.599629305281 0.044803941850 -0.096703996676 0.065392679288 0.150646029034 0.435905765545 0.000244497583 0.148596389198 0.773878950466 -0.270376123280 0.004566176370 1.284916672483 0.010603348409 0.653408037639 0.497383215252 0.194071762322 0.477239768807 0.038249575773 -0.943109193687 -1.113786212341 -0.520112269821 -0.690425246053 -0.299102503705 -1.297401604599 0.043102734500 0.432540485988 0.024112279330 -0.373206119895 1.614224326683 0.115712455842 0.031381604203 -1.522879814216 -0.986179158409 -0.443466479396 -1.400059374191 0.145075079065 -0.485082419203 2.829671395234 -0.295088015457 -0.347838758246 -1.441824472300 -0.013517154935 0.023075464179 1.965005978590 1.498218548313 0.025946561041 -1.092103275035 -0.454637128512 0.077408563895 -1.065949669533 -0.524467322165 0.066756721415 0.312175943997 1.758323261893 -0.976664802233 0.826441616450 0.460398252635 -0.375456193592 -0.942151150749 -0.093343459704 0.085782866367 0.142590989269 -0.484742356742 0.229046956445 0.112960181822 0.167410084320 0.015359303118 -0.278866219889 0.016052560644 0.463936459516 0.356373144220 2.152693331312 -0.018278449909 -0.486416978007 1.506434117121 0.344889524716 -1.391973889933 3.570014239485 0.166281261822 0.343611957647 0.589389636854 -1.245297440084 1.004974486200 -0.030494667890 0.071164773571 -1.576053012554 -1.062021706623 0.024024694909 0.302897287589 -0.383340155544 0.376633360401 0.437590008968 -0.576039027961 -0.097632621295 -0.295348607800 1.316457119071 -0.227357875626 -1.469196131725 0.097295855870 0.421888766406 -0.025376882106 0.373422712090 0.037329772147 -0.000112519317 -1.195893502351 -0.229107439463 -1.561671336559 -0.069110768453 0.111676482798 -0.019636130041 -0.501430528519 -0.717664676355 0.096336515676 0.549769151076 0.187056289155 -0.093606715837 -0.740276754212 0.660015226434 -0.293599860643 0.778343565490 -0.185303334785 -0.227084337256 -0.135247662092 0.047706035429 1.048622136303 -1.144157996650 0.322533779109 -0.973939373335 -0.686577552594 0.108351623568 0.937699908930 -0.456458039966 -0.231716175515 -3.008119296105 -0.008135510442 0.026259928933 -0.232843308575 0.464200531364 0.038586487347 -0.272829898272 0.079795754552 -0.072312860792 1.092414739369 0.442356652483 -0.153469966675 -2.438528633697 0.726940200043 0.053037604383 0.197365112177 -1.193346980414 0.033550498319 1.237694203647 -0.036402618069 1.619365151990 0.136345319600 0.091846132727 0.227013894120 -0.475971360168 0.991702866174 0.044740395694 0.938339469683 -0.201043869206 0.652093935717 0.318704667148 0.285789186999 0.001953691285 -0.659688618617 0.100914240750 0.017707330869 2.345586038325 0.355795707332 -0.197274482704 1.483122151801 1.811530282156 -0.007563882386 0.058020607794 -0.585201093430 0.292941758713 -0.024044115398 -0.865501371282 1.025411995549 0.492945385905 0.059665981812 0.406384684271 0.775882369870 -0.011265039356 0.000786748572 -0.582574364524 -1.637573510562 -2.004630075432 0.094281857141 0.441926951512 -0.061321883842 -1.496477618151 0.803345451706 0.097533735576 0.036975841156 -0.102845951054 -0.213602483125 0.057524619880 0.003497187068 0.108028823653 -0.051283818848 -2.072871916066 -0.000275144186 -1.871450627229 0.354286374136 -0.577280420816 -1.561440761958 1.121892171438 -0.072569344827 -0.037577135355 -1.570208763519 -0.070913648353 0.888949902085 -1.579122813648 0.141971089180 0.063983761071 0.607499425998 0.117737622680 0.275837852848 -0.349652857284 -0.247091211779 2.078522108999 0.068423334530 -0.482190111147 0.556323298893 -0.014360471911 -0.231411183383 3.030188874191 -0.256198866606 -0.027223423333 -0.983448754849 0.395850177114 -0.086180943389 -0.077850001781 0.912650527990 0.667069135175 0.420623876841 -0.163406082523 -0.174360751653 -0.205145773726 -0.802110740073 0.537162973437 -1.263934149631 -0.756277269055 0.196457973555 -1.084668386676 -0.018782745067 0.143490504103 0.519860516351 0.257309382998 -0.138796474357 0.619320374269 -0.150572285135 -0.050111626645 -0.295150541081 0.331707547820 -0.003749832717 0.218507983552 -1.414822393450 -0.038698658691 -0.209219593212 -0.106716580623 -0.197300805391 1.816920161256 -0.773486034427 -0.375711275007 -0.823786031011 0.003059721422 -0.348878654697 2.130887988621 0.046299498950 -0.028772579161 0.800120721956 -0.330685368356 0.208066444086 -0.921614929775 1.160740034633 -0.544222856049 0.131532997142 1.078600437803 0.032973032906 -0.017659143426 0.661297156536 -0.053572389442 -0.567353245120 -1.791547176166 1.696796069478 -0.019000965656 0.067464904660 0.121027979685 -0.117714190385 0.088069122768 -0.216428605936 0.103767287649 -0.078394096740 -0.001238770647 -1.354685038459 -0.717072269441 -0.169561673756 2.346883117263 0.278157685358 -0.511964865137 0.210878059749 0.937341528585 -0.232797437178 -0.056398350062 -0.210300329947 -0.273994854102 0.629031174355 -0.038558736379 0.120678059841 1.903436154089 -0.810941244126 0.397572743610 -1.029958162496 -2.254932330032 0.086047321651 -0.799222345383 -0.009729719505 0.122278203667 0.222222299939 -0.628662450972 0.385592893978 1.549814506155 0.717442649171 0.054707189629 0.500276031511 1.257608753223 0.013192738690 -0.065311827299 0.421001908176 0.828526490416 -0.096477047173 0.667217872177 -0.007808462663 -2.316756983419 -1.456003620344 -0.042750287598 0.625407121391 -2.107499068762 -0.254656979425 -1.718646775140 0.298057055530 0.415976812659 -0.043511845520 0.194514550246 0.401616435660 -2.008117983132 0.679970921023 0.031167123462 -1.163787023345 0.194637710111 0.078087863720 0.514051955525 1.064685519087 -0.464658645172 -0.061638608493 -0.252401201934 0.025720798547 -2.468000794696 0.130959701448 0.195538694436 0.572312258310 -0.158299319520 0.521900958518 0.220415290800 0.121789955239 -0.770009074347 -1.069291401052 0.652201323815 0.241864411533 -0.322638579845 0.409703398040 0.048011712448 -0.623494710887 0.444143670195 -0.453991761042 0.045426591699 -0.681673033226 0.099625626628 -0.047048507463 3.465237620478 0.232526392999 1.262737932863 0.377504466812 0.047124243981 -0.093114795157 -0.341393402021 -0.095332129750 0.956241994384 -0.124803275520 -0.601340240534 -0.003809721047 -0.239056772755 0.901754207536 1.562849628203 1.636805789520 -0.051206739939 -0.449100605480 1.255761975051 -0.068155281004 -0.019122683902 0.483002473424 -0.827618993348 0.140134075546 1.849155399764 -0.284274039744 0.470717020646 -0.500582411810 -0.041021690776 -0.984828435469 0.029322503751 0.339038333568 -0.971600524401 0.062252122333 -0.045365225300 -1.702039077582 0.909611363535 0.029120960811 -2.865245954389 1.038057367358 -0.664031517466 1.582371148086 -0.018262460130 -0.166480018800 0.553365964880 -1.314941739617 -0.469937328924 -0.339614371058 -0.013079336129 -0.255530326151 -0.223620843986 -0.980888287242 -0.139043518163 0.370448709705 -0.591739609203 -0.109015755935 -1.690721419876 -0.033769114788 0.833055922593 0.169118178440 0.644808476108 -0.000148469368 -0.034622896629 -0.101778717481 0.166947498464 1.549327923109 -2.612258713112 -0.961435550200 -0.059106252270 1.327510731534 -0.714475961597 -0.600482344076 -1.240889944146 -0.031974934685 0.133591389371 -0.229507067773 0.956868734298 1.000042183277 -1.057426922622 -0.152560243821 0.194889127044 0.118851496335 0.117024389916 0.323164544600 0.354206810778 -0.853167002104 2.914012008740 -0.003979301318 0.352696040082 1.011057353778 -1.929095815747 -0.306244989678 0.004987762642 0.696594878595 -0.567131224764 -0.608966540217 -0.370921279242 -0.032389353419 0.694965337633 -0.067646569283 -0.052653437083 1.286637096212 1.594183450762 -0.121143920670 -0.855900065303 -1.288863031023 0.343666803107 0.093492421465 0.003714963748 0.189839484031 0.788275506360 0.113244486268 -0.562357045766 1.605843321887 2.815579161803 -0.064870654992 -0.048380124990 -0.195033299960 -0.005443344055 0.555428209555 -0.238665018938 -1.229114026638 -0.883943178272 -0.020194782888 0.005651091009 -0.486735536116 -1.602324074388 0.089039222798 -2.154575083245 0.638669945841 1.914665888954 0.116561481089 -0.001827167452 -0.049372974092 2.202826345948 0.737093206280 0.527616357431 -0.041691779943 -1.688317159018 -0.158025802630 0.425890367305 -2.593551453169 0.158034723909 -1.702083656977 2.154839532071 -0.007729112553 0.496042792020 0.371550912507 -0.021979043259 -1.170522760294 -0.505128253689 -0.461011914744 0.287995034072 -1.203877006221 -0.000257566456 0.111746131339 0.012364533176 -0.055313902960 0.888775740393 -0.056257455595 0.399043213292 0.087478254302 0.672694590698 -0.084707187490 -0.562326284942 1.298766767558 0.317017386226 -0.199101600513 -1.430898804955 -0.031300200586 -0.006768478066 0.185774009297 -0.079983603719 -0.424961253897 -1.112174881195 -0.092813329208 -0.261391773381 0.785082444495 -0.004963781126 1.677384849290 0.144284288120 0.531861010505 -0.193781305072 1.008442442341 1.882482858275 -0.278654820125 -0.199413737861 -0.221651214693 -0.684367222018 0.148854547676 0.520321807901 -0.908829388088 1.158159582315 -0.609279112265 -0.013516992808 -1.335939433708 -0.126777842901 -0.261575662980 -0.284721572141 -0.375119601231 -3.108417527371 -0.079440269435 -0.102252279761 -0.127441352866 -1.935431265971 -0.000629866269 0.502274261573 0.401399069821 0.016898986080 -1.093381542816 0.986579569164 0.212776582297 0.218966109112 -0.113315998196 -0.308710293796 0.359229913544 0.030075067488 0.081683581781 -0.615425661992 0.713191021934 0.158209108324 0.033776182815 0.176869031489 0.331144265344 0.631317758194 0.256534091794 0.214459380172 -0.128962399805 -0.017473348282 0.186950659920 0.871852343770 0.053687577754 -0.022491863907 0.923534912188 -0.977295671278 0.039938109245 0.178562239886 -0.072148270429 0.578270369503 1.952158228862 -1.150410310125 -0.095020324666 0.311185994834 0.374822063421 -0.160921948082 1.373379941463 2.181682535713 0.015035602201 1.171220554904 -0.118185325781 -0.031732163590 -0.002169917658 -0.371279052041 -0.183351722683 0.351559473656 1.171169777404 0.460420951091 -0.102606932277 -2.227749372390 0.640319161590 -1.146545916490 -0.037615036724 0.208547121948 0.210611538123 -0.163332450137 1.047356396590 -3.040387804067 -0.158184399976 0.196312880611 -1.598159806414 0.159922163626 -0.051681354360 0.268880612845 0.015126463036 -0.839508533697 -0.797544479930 -0.015688324303 0.290131787428 -0.007570417459 -0.341864629423 -0.125750652989 -0.748137875714 -1.438368448146 1.170974054793 0.185911731517 -0.352297690496 -0.531485230579 0.789374374474 -0.013680243498 0.008330314057 0.940865977107 -0.780313588571 -0.069543208055 0.668178760044 -0.761612584094 -0.094024305689 1.230014151662 0.171012308049 -0.165938086073 -0.315443579408 0.777862482288 -0.070909706490 -0.001037069527 -1.012696079182 -0.198184870144 -1.069261851186 -0.740273866722 -0.079038438450 -0.051929161421 -0.004722186430 -2.311513008476 -0.558391378653 1.259640471749 -0.082324371759 -0.197292910187 -0.016886144018 -0.111455475428 -0.927881639495 1.999025448265 -1.247458998689 -0.106131584633 0.040296122925 0.247898333617 2.134087064934 -0.664244356202 -0.263687311540 1.803036008694 0.191031654241 0.266060439980 -0.838596685796 2.701119609184 -0.011819228397 0.509346243422 1.317929543826 -0.279131731052 -0.534193592684 -0.161923559252 -0.876343675967 1.056022827857 0.969864141572 0.005182894776 -0.006950605451 0.767938196208 0.095206419670 1.847861734716 -0.834406534635 -0.026832964968 -0.482653004940 0.093242433586 0.014888554513 0.200555938890 -0.021563366208 0.416271389058 -0.103474997250 -0.491685661039 -0.003390922079 0.567830340299 -0.180159995717 -0.040949360059 -0.854568020203 0.607028288949 0.092469267885 -0.565051244534 0.403021706520 -1.021773711271 0.079226175128 -0.117562428094 0.104002283771 0.209624605540 0.365005913730 0.458291403092 0.036666471577 -0.723947838684 -0.806202808781 -2.000448227306 -1.379717437590 0.025633944776 -0.916588680586 0.500350798614 -0.090145493718 -0.143004177381 -0.101377809107 -0.197121997666 0.100624091610 -0.093884670914 0.392957863514 -1.403598134743 -0.602224591781 0.045208546534 -0.558762723775 0.065914489604 1.110446300072 -0.748110598572 -0.094174317100 0.307220633912 1.826135465809 2.462968521818 0.004315580113 0.886302609508 0.001990507548 -2.317732049229 0.967769453958 -0.008628217795 -0.020335131867 0.181122116691 0.554746572279 0.160371947905 0.188591767731 -0.946931185887 0.941052683531 -1.466048893687 0.158031646640 -0.111784408298 0.900181338684 -1.427065608255 -0.074838581958 0.146977360943 -0.360965367296 0.328675180298 0.283787433483 0.096804925427 -0.470870779069 -0.002863702144 -0.452847024550 -0.320506036918 0.277736327054 0.632827866501 1.116907832635 -1.200406125125 0.181750109003 0.128054720595 -1.554822486031 -0.268120503978 0.004735736186 0.140913335900 -0.270047469033 0.471470995852 0.091548476658 -0.060838041767 0.098750116259 1.538637911941 -0.103024468709 -0.536943760611 0.001215137722 -0.075769023304 0.040254164879 -0.211631799077 1.181574785927 -0.586157518374 -0.041021989443 0.405806844429 0.214511766800 -0.327874101104 -0.455803371182 0.764049651585 -0.728723281734 0.066795553664 0.041269064382 -0.643118569836 -1.302015662213 0.007780155576 -0.341025336259 1.178971247182 0.357562709958 -0.042869612443 2.260507087025 -0.144310510556 0.127502648463 0.749782079218 0.200707132007 -1.461862079944 -0.482815882011 1.583146617388 -0.152236702314 -0.349341334023 0.049044964294 -0.206936047165 -0.466887856527 -0.156548115649 0.127535132042 0.151969123562 0.657998866288 1.028489242574 -1.166747456182 -0.012982154636 1.332920599503 1.161309949544 -0.017185976768 0.259247763726 -0.012325648283 -0.675508345539 -0.572949754319 -0.385562443888 -0.141945666124 0.011649978671 0.010315169832 0.001073838154 -0.101418295111 0.062953680626 0.528422860250 1.105749902429 1.661422063642 -0.086034574776 -0.968784189352 -1.801406334957 -0.123188229462 -0.226880649143 -0.795488640887 -0.440385263063 -0.122330040509 0.424760721640 0.005189353370 -1.679060189349 -0.084638865617 0.512734058208 -0.036659764897 0.182112284600 0.020239286747 -0.196490180033 1.010803865329 -0.341632036041 -0.681110619234 -0.737226770603 -0.006489065720 1.057187937393 -0.145621015427 -0.041148124414 -0.273283341313 -2.725150310117 0.077071730054 0.882113940079 -0.285262254268 -0.091727411761 -0.180091483396 -0.925735286168 -1.589675413904 -0.119537120860 0.000643883267 0.337553584060 0.762064179103 0.447404028548 -0.022203700613 -0.267584081119 -3.091775478102 0.229123942528 1.004119811753 2.455079028064 0.218553023785 -0.641084105518 0.248540855200 0.392792988660 -0.180564440012 -1.312653325395 -0.626460382017 0.378185884590 0.002462019600 0.010547600590 -0.016568672757 0.434471095766 -0.012721855361 1.985928496561 1.733405542782 0.285107857113 1.906740095063 0.173166059209 -0.041724330673 -0.540025427215 1.322640196940 0.051816920765 -0.798679955520 0.431152322535 0.952660530052 0.096350742038 -0.859363612336 0.028741439737 0.469602829890 -0.920955327218 -0.167783317044 3.227192111935 -0.957188888173 0.345086394153 1.650122360364 0.317172324850 -0.072358844390 1.330330831364 -1.159066905299 -0.112442333835 -0.223388075963 -0.009014926809 0.257793580013 -1.037348749799 -0.440163044356 -0.123686124612 0.000078811354 -0.987817312130 -0.350290503457 -0.979747074982 -0.591690775122 0.453381083476 1.134715275795 -0.120835371603 0.076773395156 -1.458703974970 -0.008721703040 0.160720767227 -0.069769941245 -1.560007933451 -0.055010684740 -0.992472799935 -0.900338703499 -0.269723688508 0.284103608795 0.055488523612 -0.418607432574 0.184463089624 -1.125376269700 -0.700251213379 0.157039447106 2.232504020988 0.000585099934 -0.986121488025 -0.266831895593 -0.340689943426 0.009511725029 2.285261903871 -0.549737123989 -1.036883510554 0.156509852858 0.136050098042 -0.765604423852 -2.202064796772 -0.025526979923 1.358102954440 0.744678357508 1.507545109401 0.101048296402 0.175214381775 0.213859658353 -1.433882040842 0.073719286015 -0.087199606967 0.814576458228 0.036862119087 -0.189541901341 0.352431323358 -0.335001286193 0.584933649283 -0.297663367776 0.226147757993 0.060758836426 -0.003398319032 0.024134141160 -0.787104178651 -0.280515785604 0.437281349254 -0.034719258985 -0.465889050578 1.150828684433 -0.156359967143 0.848347662538 1.086426295929 -0.547224005160 0.969266467392 0.052543582489 0.141877687787 -1.618891638382 0.188310900681 -0.004255450659 0.420983700197 0.048988194964 -0.468506958962 -1.406772638566 1.562661728976 0.305704428567 -1.475964249786 0.732199318642 0.099184814069 -0.960036829741 -0.344153548784 -0.026599587034 0.832841646256 0.018382484042 -0.044303752144 1.028285620910 0.309914834025 -0.470753035402 -1.765851800957 0.680935285482 1.303714522108 0.481453590301 0.000136722892 0.077598794212 -0.185691094616 1.798534911488 0.180005582477 1.121701958367 -0.834807495260 -0.490818384727 0.052877809996 0.238163393038 -0.054682454756 -0.532052683473 0.821636376103 -0.162742432340 -0.266078386175 -0.229900718366 -1.199285636828 0.052653354294 0.382990550080 -0.273620743445 -2.845346290279 0.028816058982 -0.001658116329 0.335569368244 0.101682024944 0.717848578543 0.247204443480 0.378114306673 -0.077256580638 -0.049891960759 0.119273665277 0.167117553241 0.509604697708 -1.037004953452 -1.102462623616 1.236971185568 0.072414075632 0.092174464163 0.033598137223 -0.802308104653 -0.162594470848 -0.578763193339 -0.486944477344 -0.244210634460 0.286367937751 1.873893831053 0.357570114859 0.759068371921 -0.176911850789 0.482085542950 -0.183522823349 0.725700832231 0.499787485748 0.021851115092 -0.171704646747 -0.025666532163 -1.469653501044 0.190302032692 -0.061716386352 -1.146386797548 1.844578950073 0.523551362577 -0.754339759997 0.351217789975 0.000399669665 -0.734186686720 -1.153021873125 -0.001374769642 0.053268845035 -0.632677437668 0.060816147559 0.204953845325 -1.368959536369 -0.371026827855 -0.031853085602 -0.135163355327 0.063845581985 0.479948936154 -0.054221546700 -1.410008446181 0.149611287681 0.218049174957 -0.017353482946 -1.440840907508 0.062894875691 0.245519545732 0.207189736974 -0.605729000782 1.091569847101 -0.760000028383 -1.919473543115 -0.060341187227 0.372150018555 0.036081048826 0.504703693510 -0.990149094985 -0.025842362729 0.001149327494 0.433473397103 0.078160067237 -0.121022661963 1.099187038888 0.390873707607 0.445713872906 2.992055540055 0.653225248380 -0.030074501878 1.346615676756 0.999318029165 0.122056908949 0.854973770500 -1.385466889244 0.029699260910 -0.210272675034 0.110582667594 -0.008414581723 0.744384998505 0.673862238523 -0.035277657273 0.327730352829 0.428730568763 -0.012352548133 0.353222411569 -0.784037748245 0.688780541353 -0.364001280367 -0.642705401964 0.021599498358 2.598082252266 -0.669580549088 0.002035448720 -0.121811585067 0.275157649238 -0.797410770305 0.035347881409 -0.270819727374 -0.277786637975 -0.239902302926 0.230173776773 -0.052665382586 1.619164202287 0.091598816157 -1.034979086444 -1.918578390306 -1.614663156509 0.030222001059 0.021550646411 0.429607904418 -0.047896054229 -0.376708156927 0.004891087977 0.544908353774 -0.727022958163 -1.782242241812 -0.247911643496 0.422025357834 -0.757401787888 -0.087453047214 -0.423728512810 1.412818985163 -1.489720263836 -0.220338697966 -0.043092349870 0.061002276546 2.207412885210 0.015716807064 -0.396089149220 -0.328228027112 -1.301614601550 -0.021666566777 -0.070310833831 -0.021954425155 -0.169757304501 0.683596928288 -0.297834803269 0.315442571894 0.305478602341 -0.014839545156 -0.346618398628 -1.565614873994 -1.182935813891 0.127828463179 -1.263608247808 1.380283309566 -0.205023407243 -1.567847086615 1.405656316260 0.689544118447 -0.205288834269 1.701884780675 -0.103621813086 0.013946592536 -1.332861462215 -0.305957032284 -0.002647534564 0.384751093902 1.339720187001 -0.040407358529 -1.392089695655 -0.312228393667 -0.326221526823 0.013370562182 -0.047247916704 0.880699916179 0.140140881070 1.234222023351 1.547826211438 0.006505318945 -0.015528049005 0.456535693682 0.202285796091 -0.016814393120 0.543993305658 1.316076454657 0.004394245367 2.021242331358 0.750417325064 -0.211498820390 -0.539994570885 1.626416331773 0.731446691828 0.263765204586 -0.024197164521 -0.212546302619 -1.884324606361 -0.481496551383 0.010660842374 -0.134830216426 -0.663055938611 -0.414363045129 -0.842981341328 -1.096151870040 0.509336328723 -0.528125995528 0.078202174058 0.191315205938 0.341402144706 0.133509761414 0.566149211169 -0.007583558015 -1.674366595697 0.504427882241 0.509833950300 -0.607047059623 0.358447660479 -0.036789724366 0.273412542978 0.265875725408 -0.182911992989 -0.412875859697 1.684526195611 -0.120963470605 -2.325680605866 -0.078771354553 0.522772618688 -0.532629011337 -0.332791279012 -1.136400718971 -0.006474983067 0.712733172721 -0.548356424031 -0.666621329882 0.092892916441 0.199560378550 -0.050209902264 0.161085358244 -0.214979925930 -0.307001806111 -0.037587422738 -1.304017816759 -0.028281277418 -0.282257268563 1.146878734209 1.081245401372 0.021265071167 0.044118804795 2.235232490973 -0.680976580950 -1.468289511096 2.036283102957 0.503985040274 -0.469617467154 0.867362599167 0.025865337723 -1.308730336680 0.106112647353 -0.349472328079 0.183545507847 -0.120592393579 -0.238216151844 0.167741963834 -0.002513850436 0.285672542583 0.980248975698 -0.108297656278 0.400997084564 1.250370200103 -1.258033221121 -0.008669776599 -0.518255875571 -0.278036585189 -0.001631421709 0.015476096356 -0.581858814219 -1.303322336989 -0.614808574315 -0.040669357345 -0.354181668443 -2.047629615526 0.017354341034 -0.290108806313 0.540387614867 1.187684416212 -0.470739100040 0.418105541683 -1.456856682383 0.158354391381 -0.010035765965 2.608609824032 -0.098645455809 -0.516189553277 0.147059110981 -0.085544173459 0.009406823844 -0.375466172351 -0.044315820613 1.790220025450 0.038719213763 -0.280095345464 0.302492106306 0.535158614235 -0.344356335148 0.022227718313 -0.819615835782 -0.284913189773 -0.020633601823 -1.996861982142 -0.055644560522 -0.511381410731 1.152053923340 -0.019142379099 0.432712015395 0.883466551446 -0.087014142060 -0.172641591881 1.562746993239 -0.030628244208 1.104711567412 1.292108532078 -1.231994974162 -0.824748279681 0.304983410104 0.186481841388 0.489878033976 -0.389170437224 0.045951207608 2.260293883582 -1.335479411384 0.480602135176 -0.197558528550 2.949965543280 0.307753900467 0.234577591685 -0.030030275119 -0.305616822849 0.269111009461 0.147646201587 -0.478920910051 -0.708261383355 -0.462436057489 -0.130361640659 0.248258437711 -0.135805465674 0.329312296657 -2.254495781933 -0.003130396070 -2.374893371111 0.872550036435 0.139120590512 0.034763627002 1.328186928364 -0.553166162985 -0.226760923029 -0.230747033295 0.340710688465 -0.256401590879 0.099112511735 -0.864910395230 -0.001417943849 0.631526160016 -1.298173647245 -0.043299825648 -0.392220895309 0.181442219736 0.005227788217 1.773531743662 0.584357056219 0.006073347484 -0.903446274404 -0.408557486210 0.071718323605 -1.109803047578 0.007675607194 0.212470085167 -2.056500359571 0.134635395212 -0.047483537946 -0.009672980175 1.192301396828 0.011540723473 -0.962314895660 -1.517211556448 0.200488905354 1.617982481622 -0.420359900100 0.331627257635 0.252753701554 -0.361522565913 0.033444180874 -1.400288261936 0.543678191758 -0.204430363671 -1.148845445132 -1.507044190279 0.056607586041 -0.003905175049 -0.700506004125 0.066813564716 -1.114038735811 0.957177106720 1.298735147310 0.284432957571 -0.792986297438 -0.004463028184 0.753786637254 -0.020910407873 -0.381070662818 -0.014970692791 1.875238510872 1.686225549445 1.408010089003 0.302711635974 0.054271105350 1.018111347886 -0.148528387767 -0.098063251078 0.999630185637 0.292035373422 -1.150318538303 -0.277435744026 -0.562921358263 0.463370509657 1.048379966824 0.524396573506 -0.050809994371 -0.782723110151 0.404769146156 -0.219629502040 0.190833625681 -0.054176212631 -0.132668980603 0.375143858248 1.422168513695 0.104999679236 2.533520274424 -0.432304252753 0.726092017216 0.202456132483 1.382078400443 -0.246718528600 -0.020339476980 -1.080036381329 0.125793807483 -0.048609054799 -1.143894976950 -0.208694682435 -0.338551043590 -0.405768490566 0.476773276809 -1.707505721631 -1.756628203411 0.140912914911 0.200697157607 0.425498011592 -0.309075563447 -0.000310586079 -1.366207037952 0.003401479632 -0.955029249438 -0.561333506217 -0.137356134480 0.028658095910 -0.172645568665 0.422191745278 -1.393456816073 0.752812256435 0.004024818203 1.129670454128 -0.262172852125 -0.347359691877 -3.834521816774 0.718463754477 0.719826990325 1.201733859855 1.391194957161 0.082086502306 -2.574793566836 0.156835673708 -0.532217897576 0.321809797822 -1.501476161425 0.046167646674 0.104801323028 1.783227380230 0.109611123620 -1.443858231861 1.318867384714 0.332613954263 -0.005350370833 -0.012999387794 1.448932621392 0.132187182502 0.298672079759 0.243752900971 1.856958432149 0.174950899710 -0.366590199028 -0.295818230895 -0.968114268910 -0.594566409638 -0.061276695445 -1.360066629931 0.081739391410 0.074392866000 1.394208444565 -0.098552448499 -0.036275629113 1.296024928654 0.440482509725 0.480628158793 -0.305930657930 0.056371517398 0.027454448880 -1.054444012107 0.088974084633 0.111399104838 -1.086800127393 0.141716636550 -0.357621663844 0.002617855303 -0.041060332313 0.225444943951 -0.356693108739 0.179834596849 -0.010419687660 -1.512356409310 0.326179509376 -1.213265328150 -0.058844204842 -0.016955679019 2.504574307313 0.013628246546 0.091628075547 -0.743083061267 -1.179192739942 0.691099767517 2.210859243348 0.864181716834 -0.012100469349 1.231629040260 -0.267955678263 -0.434273684175 -2.063408289728 -0.339059491193 -0.275764036115 -0.074456762138 1.390710528407 -0.213452222687 0.451216206662 0.274865477137 0.010151432469 -0.000665882469 0.000890323758 -0.165806015784 1.560622014232 0.255694333042 0.175061618705 -0.018138642463 -0.217276560979 -0.084928685397 -0.582594086557 -0.950527429350 0.304120111306 -1.222073250895 0.663592755298 -0.138665194444 0.024528519177 -1.135719890331 0.406126839220 1.855899916810 -0.453937166827 -0.482505481315 0.776851495142 0.005327136482 -0.663624504507 -1.038683309251 -0.076793517141 -0.029616173175 1.413680757771 0.028911704546 -0.110489248055 -0.014963337357 -0.468904654015 -0.024104130281 0.385105469284 -1.061620538519 -0.189472613861 0.063076310192 -0.099641471519 1.310332727375 1.776160743608 0.070404457694 -0.284656208214 0.528664496957 -0.137639422684 -0.013968714274 -0.105690521285 0.165073490019 -1.928999711686 -0.910521326711 2.434381949873 -0.097720725757 0.309678535822 -1.240304202705 0.635688499081 0.933032476434 -1.645904190198 -0.304942188796 0.416667551021 -0.101412054804 -0.576476442467 0.136281974435 -0.010833835331 0.125276444284 0.076363911980 -0.394761256780 -2.095164356520 -0.583633355742 -2.978248210555 0.348525010749 0.041494522258 1.224250512017 0.012736863455 -1.331216201007 -0.546262160188 0.056890204789 -1.819416477731 1.021765728571 -0.102267204284 -0.134015614618 1.063946091161 0.212892805953 0.546276679279 -0.095910445992 0.804938873285 -0.159826883071 0.396995902196 0.095088713388 -1.809524457331 -0.020044288695 -0.012246612054 0.357978615976 0.552081879519 0.021742130310 0.700137165547 -0.073639502544 0.418870291127 -0.006070716023 0.401153079770 -0.000289962290 0.136796012440 1.477563705581 0.028132952165 -0.065208557201 2.952239245581 0.261888653637 0.005336908738 -0.286681412743 0.614568449127 1.764199129398 -0.740680641027 -0.757021951166 -1.096588350598 1.117948187202 -0.135903468583 -0.012172388025 0.341193415623 0.156963264165 0.927316451257 0.901134585418 0.851993763970 0.029806545160 -0.493632405640 -0.193492326338 0.014035287041 0.573438539884 -0.036442072834 -0.062643370842 -0.412224691063 -0.330811910351 -0.297967668065 1.644177975624 -0.199664920737 -1.012200439476 -0.527683321909 0.047172479780 -2.311570757045 0.335703520551 -0.784155945317 -0.561730795127 -0.285574319606 -0.478212372044 0.230866282108 1.304679572902 -0.120257757608 -1.565612246561 0.539177617327 0.500643759786 -2.436910295369 -0.072828099272 0.085404987844 1.504351869362 0.310740579116 0.213989686540 -2.023620123190 0.025180740478 -0.058472499919 0.006071487351 0.700752859976 0.036950104473 1.345492146172 0.161816265647 -0.286212381734 0.020672584603 -2.040391907423 -0.378357343703 0.405102874198 -1.005314702437 -0.152819145671 -1.797039745614 0.544995839302 -0.399157361961 0.494391458758 1.012081755562 -0.264967914747 -0.521337015557 0.127522829694 0.029073235596 0.245335613971 -0.275953861285 0.244780720152 0.237381060891 -0.909959443932 0.085385337142 0.701329954474 -1.612992268676 0.001712199325 -0.064188838342 1.998683389331 0.121338777354 0.320893800569 -1.179625901233 1.225423457473 -0.359221514424 -0.639570357539 -0.002907867734 0.008242687351 -0.031795906906 -0.008622199718 0.911260764192 -0.281696358703 0.951768548631 0.402346637852 1.339734924367 0.318930080562 -0.147693742554 0.552452981962 -0.195213090274 1.468062953226 -1.252604858349 -0.066014215135 -1.044805060373 0.147318451900 -0.046441693987 1.572071598493 -0.258473216699 -0.003211815933 -0.019551124774 -0.345961880981 0.133645960964 1.190121059962 0.400369384560 -0.079594852836 -0.196803978423 0.051708755937 -0.157151969565 -0.359953570979 0.309076184674 0.644069726061 -1.119903837478 -0.516351469250 0.162072170304 1.494678186268 0.184167545911 0.037518098349 -0.069445982219 1.088250676296 -0.778253071861 -0.678074393663 -0.133471449088 -0.128499778303 -0.472708784913 -1.358344152802 0.162703469183 -0.805808376646 1.451567414407 -0.404159320020 -0.063422972475 -0.034261542922 -0.174146399072 -0.127236096839 -0.886666952121 0.093063840379 -0.536456473587 -0.004184667917 -0.987405393314 1.374554363879 -0.405418713833 0.500259733167 0.666980522212 -0.384865059994 0.079019478598 -0.012220734472 1.092618319185 0.150414930045 -0.179825653052 -1.490998559958 -0.082881485367 -0.361026124356 -1.303873914432 0.145494658179 1.201103536904 -0.056552866555 -0.060403433532 -2.215944146292 -0.143151940369 0.474833395864 1.448866115388 0.204434183643 -0.001147221815 0.434418932911 1.366582305741 -0.241600549533 0.655190004492 -0.712261400381 0.268182474777 -0.840593466304 -0.421956478485 -0.294105597393 1.503443734228 1.218833975076 0.028955031339 0.112866711758 0.000866000561 -0.076931838345 -1.115408219476 -0.682136904727 -0.052824920269 2.201793173263 0.769504063014 -0.280476775114 0.576805733284 -0.654463489957 0.001513164644 -1.802999506544 -0.536836446680 -0.102896014705 0.143147050465 -1.323716660578 -1.377113403141 0.010240582849 0.094776424280 0.358813896876 0.863636680133 -0.451985075389 -0.207006463251 -1.507927210695 0.364776896602 0.204476218161 -0.275510352737 -1.885676716412 -0.060936256193 -0.060982420243 -0.941034193771 -0.111519698782 1.151956145411 -0.222549768685 0.434676988407 2.988370786155 -1.338991860130 0.037354745125 -0.304618741135 -0.258749399335 -0.354931694056 0.044564662752 -0.014428351387 2.135067109472 -0.076093571494 2.131036951056 -0.034655445980 -1.521692148898 0.011088154259 -0.178065393466 -1.021411554425 0.078197434241 0.089484383624 2.129769191993 0.388802966252 -0.595834387584 -0.085233376992 0.496402447055 0.459506259982 -0.227343490698 0.107289808569 0.900298608150 1.280079403401 0.584933653440 -0.023758636182 0.003319299827 0.471843670662 0.376212091653 1.436375530456 -0.410249213543 -0.536254235769 -1.310184838080 0.485789136301 0.036212144150 -0.246373364482 -0.000479201982 0.227748696629 2.114553617015 0.041787934698 0.016514011067 0.303069525127 0.175434363223 0.378680582772 -2.904592249068 0.084502294994 -0.483292075075 -0.684864499301 0.407472401097 0.164605896975 -0.160069825433 -1.741190948374 -0.063192473172 0.753563282509 0.313428002468 -0.015692700704 -1.541959251921 0.090933022376 -0.001119750484 -1.311002000885 -1.273649739009 -0.236283165636 -0.159579682785 -1.223671535369 0.385969389606 -0.099747108593 -0.500337388484 0.073245477401 1.884076990147 0.256590600607 0.288429300369 0.007204957055 0.190958909140 0.208225695657 -0.137043447777 -0.067758169199 0.038638101310 0.806078353904 -0.578469837492 -0.146904326364 -1.423976407756 0.209204517914 -0.204159172405 -0.317058918781 1.205203575677 0.002766254792 -1.333322759180 0.149488387728 -0.562643628908 -1.809617665579 -0.123291187526 0.036659814106 -0.346872848468 0.002391322458 0.430470551726 -0.688746353473 -0.104445714609 -0.055247371508 -0.998886954862 0.720840145230 0.041759823378 0.748068590517 0.028250747784 0.030974988639 0.383777075268 0.599824735874 -0.415579383099 0.496632692165 1.824598648888 -0.263985348285 1.639884116236 0.066723131390 0.040941006555 0.317490969321 0.103237876820 0.140582379743 -1.048059517365 0.834209951233 0.065469288221 -0.549978472611 1.516986799589 0.851338379197 0.211150199005 0.746720153486 0.362717291237 0.156574366059 -0.095542129847 0.033267882189 0.654789652565 0.082405405744 -0.061026158568 0.082917735482 0.840701350468 -0.001740212134 -1.028316581062 0.703588819425 -0.314438146690 -0.984494992731 0.783324081603 -0.218440352661 -0.895972699679 -0.891593416681 0.311589170133 0.114417105778 2.140375520600 -0.192633791113 0.071305291797 0.678812111390 -2.266053396964 -0.232684598264 0.019036498346 -0.029730815420 0.878378382857 -0.153528936164 0.108077592451 -0.001805592784 0.279785784513 0.396332550573 -0.706713145232 -0.858835626239 0.001996966481 -1.227292664342 0.220927741333 -0.181305562747 -0.043009001580 -0.326914648981 -1.956485712494 0.049419348245 -2.521557665655 -0.068252551540 0.134708029690 -1.487715880445 0.324404319404 0.421377607041 -0.126784597932 -0.331505493199 2.023474118015 -1.631170116330 0.161707838887 -0.374884353495 0.980392157168 0.071842810629 0.196814333712 0.639656356132 0.794019091727 -0.211886226057 0.510651365933 0.057545737857 -0.052410704113 0.735695608719 -0.056934421036 0.970500946943 2.403340286983 0.026453915464 -0.147701777765 -0.001335172593 0.120301227171 1.513509736981 -1.348924725827 -0.417380986256 -1.350370938557 -0.950741141648 -1.137991308207 0.615618121222 -2.227884587282 -0.137255211130 1.419825373275 0.151091387571 0.201885814673 -0.200197877837 0.805782107954 0.503073760113 1.982616135566 -0.856050685141 0.267923195730 -0.871605710064 -0.476055411578 0.025796258336 -0.641941180069 -1.243949175311 -1.229365109587 0.288363672256 0.941743173593 -0.088935011802 0.140445460471 -0.265769887600 0.000352274554 -0.044257742556 -1.542026096746 1.735822365704 -0.233171100747 0.314709413481 -0.358634657594 -0.510757152241 -0.574578595122 -0.062966983848 1.878880006669 -0.073828002356 0.409706723008 0.726171371843 1.141925198459 -0.368431217798 0.544537288974 1.314833679347 -0.043899953207 -0.012755160828 -2.021154031462 0.023751753825 -1.105239355720 0.858966569495 0.126952416631 -0.660679246398 -0.005388641162 -0.043670183866 0.384460098837 1.146796866287 0.615584375722 -0.017599558243 0.175965775581 -0.269544331123 -0.048951538146 0.010003471602 -0.372837130498 0.773947941639 -0.141629881646 0.098009257493 -1.318200608284 0.962215691058 0.047686496214 -0.264853418942 -0.542048815239 0.279216025115 0.031890664668 0.407020062390 0.287430721659 0.803281695661 -0.017775074413 0.130695777517 -0.567509144994 -0.455881865749 -0.210574212627 -1.071317584613 0.855150645485 0.078618569530 -0.158432918257 -0.697967714051 0.083357699836 -0.178779829752 -0.043244125456 -0.222836823817 0.462747905726 1.218084633250 -0.762052263697 -0.098062877264 -0.053043691319 0.246383138385 1.897236695354 0.711911262037 -0.056140236045 -0.028449790337 -0.800161491598 1.005638058796 -0.161581191394 1.321156644572 -0.536268004250 0.239184784244 -0.276558249419 -0.001716858242 -1.716735141692 -2.567173374920 0.514824208777 -1.209261167191 0.005741701722 0.284491707646 0.134350493218 0.305011444896 -0.087734563491 0.435243784332 -1.368590182189 -0.015554541776 -0.642594669996 0.019663474713 0.018338389474 0.873473415412 -1.943934806494 0.054183613235 -0.361857496432 -1.368244648229 0.308741093428 -1.119703371402 1.023492720268 0.076933455267 -1.332718319232 -0.389854698091 0.415658407886 0.036612096836 1.498199197167 -0.859671287859 0.133478601083 0.270135266511 -0.038015426646 0.181133066692 -0.289313252337 0.327033684714 -0.353046199447 -1.094539278458 0.344088944996 -2.071278924615 2.185023200543 0.000749222971 0.029192279610 -0.319427482506 0.537586132622 2.084302132502 1.008279402017 1.096026623892 0.599736294256 -0.809381896329 -0.079060551797 -0.092181502935 1.933142989916 0.010926747016 1.402600757988 0.187250884068 -0.473510394084 0.108688306936 -0.992095482621 0.303336741573 0.223146550405 0.093955519255 -0.038573613533 0.324590624771 -0.108382010121 -0.141326584651 1.542883642252 0.867634379219 0.573392777907 -0.083566174310 -0.014663737523 0.036995662323 0.761814320940 0.008203155932 2.489456207179 -1.096047778387 -0.064086208668 0.077569955437 0.188483036103 -0.567810880923 -0.360497520725 -1.005415952476 0.170059313768 -0.274211278019 -0.592923533939 -0.928764445643 0.060056780570 -0.514240395304 -0.007047092494 -0.010049621690 -1.393161348770 0.106452686277 -0.764319611710 -0.686104008096 -0.852322697874 -0.000230049182 1.780897674039 -0.284282805875 0.131980055061 -0.117464014209 -1.418608044565 -0.146558591552 0.191874116635 -0.786272655568 0.002369774812 0.841702961274 -0.185132833683 -0.051301503683 0.030072665674 -1.028978748332 -0.443566320118 0.317552467844 -0.313492834886 0.408692691174 -0.867824949522 -0.425543264407 -0.269930211592 0.310216068744 -0.386653939040 -1.081900942552 0.034112434337 0.456573015452 -0.155767789674 1.715028442675 -2.186968581219 -0.034161298362 -0.889317227312 -0.019348207445 -0.250883720599 1.855886796195 2.990487018314 -0.365001189402 -0.056242760273 0.949498711128 -0.034424175710 0.031627819517 -1.510766114612 0.496387826123 -0.000908867258 0.928179348435 -0.748284567523 -0.034133282034 0.243449150651 -0.080206412572 -0.878970758236 0.704716745916 0.016221762911 -0.888675969878 1.079732070824 0.107682360101 -0.580459570366 0.663239599224 0.323748698658 0.410962067272 2.044505521406 -1.135138579093 -0.856874000486 -0.380848676009 0.122621167431 1.143143916377 0.059985640694 0.402230182268 -1.069515624769 -0.526972188903 -0.685800653843 0.122723506926 -0.008212664724 -0.036717150883 1.121064322748 0.622590001589 0.050687083978 1.102143516427 0.230494599505 0.040584776816 -0.061314282554 -0.065231404069 0.184952141697 -0.603046978390 -2.595286494799 -0.031118203304 0.844517244598 0.031003058692 -0.675881068523 0.181575441052 0.228482212447 -0.104206490977 0.031204456932 -0.015641157148 0.305884091990 0.925281264794 0.748433558817 -1.674058913729 0.665458017554 1.679247954288 -0.477184703263 0.321159974277 2.576147071325 -0.181867646993 -0.803077507683 -0.233959263551 -1.357382187277 -0.811870257861 0.332381576365 -0.024800243204 0.182038373387 -0.014587474722 0.195325968103 -0.433937118223 -1.353140183854 -0.275710350646 0.533811513154 0.405434894735 0.015664804235 -1.499163948787 -0.377176306251 -0.520882480719 -0.195569033891 -0.097211658956 1.068557332178 0.205316638938 -0.855218773935 0.237447441172 -0.453249044100 0.488280175514 -0.260234677234 -0.229769240371 1.827090180903 0.286757821927 0.043579081986 0.135142792832 0.022212346503 1.243765742598 -0.501812114678 -0.260528163065 -1.927693837011 0.000608974811 1.481428093178 1.090277930296 0.016491273602 -0.153084405649 0.976038489255 -0.054204084094 0.412037642610 -1.929876605806 -0.413162344135 0.970574411936 -0.926312738406 -0.722093814655 0.486651727936 0.296476300152 0.248154823431 -0.025160663197 -0.872947983783 0.327859216405 0.008045432039 -0.535876575843 0.534798296584 0.039589463008 0.125866919643 0.003680939253 0.041412760597 -0.461065084890 -0.612988639357 -0.262166141126 -0.367731030663 -0.234865406199 -0.738318161367 -1.387248251442 -1.482055980121 0.141755124784 -0.866027057887 -0.786648320043 0.319029995501 0.343844562746 0.595393882096 -0.186928728613 1.904599358549 -0.182872141070 0.091099435771 0.003720036973 1.808678824140 -0.486329081360 -1.130845000167 -0.123463782926 0.486983650056 -0.392795286877 -0.115149004098 0.137458325141 0.791576316134 -1.604886086340 -0.009112013419 1.113000371033 -0.636670629477 0.084943768690 0.071506494719 1.388919575253 0.184652460901 -0.294364523260 0.058964417161 1.483295924756 -0.618070964714 1.830386260527 -0.010238539774 -0.038293265584 1.671747342506 -0.109664073622 0.111825872483 -0.108002545749 1.098892845070 0.813229404598 1.760704657923 -0.134507784190 1.714656916511 -0.454259327176 -0.003410738451 -0.724326212812 -1.119135133836 -0.083751618432 -0.374951917345 -1.614334483298 0.048930823447 0.000176023545 -0.774405355912 -0.030066564980 0.034634863416 1.476010198508 0.356705829466 0.077064547369 -0.467455316332 -0.067991869437 0.385189203796 1.347685763665 0.000569064586 -1.181393987028 -0.658968541971 -0.425319164003 0.007198993189 0.366035059429 -0.566622826195 -0.962575014258 -0.512427806509 0.458994049372 0.069907031848 -0.354796311580 0.580163688125 -0.455480047002 -1.489155939255 -0.011020958757 -3.013722788568 0.003392298761 -0.234298320744 1.570081436359 0.010232648442 -0.533566222393 1.512711753512 -0.040975898025 0.143155572951 0.608903778647 -0.229586062401 0.156981890208 -0.152351799774 -0.713497727443 -0.673570175639 -0.355593242241 -2.792150970046 0.026780943277 1.081456594722 1.077800266775 -0.132963243297 0.260481147759 0.303058165860 -1.644803785036 0.969700498116 0.726078435308 -0.004379929280 -0.881248826190 -1.460214722572 -0.004536401917 0.454426566922 -0.957696274445 1.393946396846 0.384495479951 -0.302515329892 0.007034576143 0.269873466482 -1.205352673052 -0.228979571966 0.981141175074 0.006453565247 -0.310071298253 -0.378978495262 0.210975770414 -0.320904961162 -0.009569440367 0.494375320384 0.402333721142 -0.345937242981 -0.078013945096 0.114518945665 -0.001441094499 1.200433136769 -0.238549657934 1.056869932951 0.346366475501 -0.734270906863 -0.146563732609 0.921329076982 0.281128518617 3.117393891473 -0.415450601084 0.550112562538 0.710720198605 0.026347876626 -0.206665445003 -0.024474164704 0.949835766746 -0.373879239868 0.861514495689 1.145200710064 0.025654849126 0.309196871529 0.033386866722 -0.093333519766 -0.901056434694 -1.462022562174 -0.579831608239 0.384678469615 0.479063989095 0.068263588087 0.000923749307 0.290244955175 0.008641516100 0.704989061140 -0.295638179848 0.249862895883 -1.375939536550 -2.447511118629 -0.061464077494 1.770330170706 0.580957457985 0.035013240503 -0.627207021005 -0.950453597627 1.553696825108 -1.131601981504 -0.018561162903 0.015407632379 -0.142523234900 -2.286199848293 -0.121992472948 -0.045502947175 0.343250261576 -1.612353399067 1.536364373940 -0.070195604130 -0.007143340058 -1.264558469687 -0.482292851697 0.283800757717 -0.033113248891 0.279081155099 0.277845923574 -0.001527702177 0.111731208468 0.326457435908 -1.580940961521 -1.546925842439 0.185217513009 0.147309387342 -0.135833573006 0.814401624384 -0.377240029802 0.258469365099 0.354586111990 0.381432435463 0.363222439409 -0.005049573712 0.152754430078 0.428414131498 1.745627722124 -2.088983895649 0.649271312574 0.147128084942 1.887347327921 2.627287081368 -0.171259835048 0.471330435851 0.036361862470 -0.105470814882 0.113403784241 -1.734840179854 0.449237149849 -0.613415302231 0.172699472185 0.098999765320 -0.156913721506 0.232161751100 0.054250315141 -0.630085756010 -0.793371099143 0.324576608559 -0.161903194370 -0.957182471920 -0.102549811665 -0.318277448664 -0.728937040042 -1.940116280050 -0.001050626051 0.235111012630 0.169618596227 -0.166590351215 0.327522412781 -0.419739593869 -1.724962027111 1.231908502796 -0.656260518481 0.206544289494 -0.169416255198 -0.121981634062 -0.455713130095 2.082193170042 -0.093883719371 0.026666091555 1.701297468510 -0.092697454493 -1.851385071634 -0.000186990849 -0.315115985968 1.429726545481 0.310598865566 -0.047928599619 0.395515972031 2.641188503336 -0.167417419117 -0.429431578838 -0.758435597809 -0.554945674021 -0.229561996705 -0.011893874003 -0.182857576062 0.640444004415 -0.065332315228 0.130520463963 0.594399151824 -0.164053994078 -0.001190443458 -0.738287551103 -1.075287808395 -0.353777745250 0.301004906593 0.200122292528 -0.006363214301 -0.487637096360 0.343177048436 0.382321673820 0.662179880124 1.495784536381 0.055650618078 0.633095609677 0.027985211257 0.762143300627 -0.473719681641 0.924631438777 0.109686830044 -0.046943746322 0.687185008144 -0.097013896527 -1.187541031161 2.167511401861 -0.032626646993 -0.081399746685 -1.447373230738 0.277225539991 -0.313201029525 -0.239751071270 0.372838075982 -0.288480754337 1.041272054682 -0.517426646938 -0.853738115524 0.409369029768 -0.383313034326 0.039991003302 0.301428318345 -0.259794517805 -0.496095206263 1.058220931027 0.065240008051 -2.035635711889 -0.009876323218 -0.144156746828 0.698215109222 0.418758464462 -0.052738769876 -0.108066225437 -1.397388207736 -0.232810755935 0.209180841245 -1.655702339650 -0.105043591080 -0.023535116818 -0.209957721619 0.006576732440 -1.634067744207 1.414620684286 0.795397331916 -0.124667338274 -0.054694158399 -0.176254598018 1.968314994309 -0.586209223726 0.159702131066 1.498181595489 -1.382533268183 -0.508265145709 -0.109599828515 -2.418909263558 0.162213381037 -1.997168498438 -0.161923956998 -0.017525647508 0.144166957649 -0.167084398500 0.003998587457 -0.891592794356 0.128969281143 -0.010482843238 -0.287637164295 -0.102797732006 -0.198785544614 0.634901600690 0.028536981146 -0.323046788982 1.240639239030 -0.268200289129 0.096791735578 0.375453699958 -0.217155029938 -0.184113881220 0.535916506282 0.213359016616 -0.306252199823 1.684848799362 -0.087513905028 0.519006402653 0.773127800491 0.057363818845 0.306492317820 -1.889326114937 1.300133303204 -0.545801874476 1.411511996800 0.311800090565 -0.128725924160 0.545479783901 -0.077491391925 -0.002065195084 0.366955805702 -0.242794818864 -0.033327892276 0.045791536175 -0.019303598937 -0.005883797465 1.497487434664 0.686648560985 0.006809541916 0.507671306262 -0.230816978298 0.258940283671 1.584187420156 0.118375583424 0.033896909763 -0.258376679989 -0.521212195813 0.482674092060 1.770168668429 -0.039297211291 -0.771867189090 0.037889095710 -0.936635568817 0.048521118560 -0.570980642353 0.119585158860 0.044701608698 0.768246400229 0.098623278058 0.579423556014 -0.354274764866 0.440628839401 -0.374566710125 -0.405806991490 -0.628261296079 0.120392204414 0.001380790709 -1.784042253238 0.009802852433 -1.548945684301 0.078212555773 -0.267633233056 0.106986582475 -1.041942402150 0.307490557103 -0.451517915982 -1.121260087722 -0.711833956983 -0.681626938718 0.031033401210 -0.085880659276 -1.219533767453 1.723040433805 0.000433576550 0.416510847004 -2.050553887797 -0.066478808134 1.920988232852 -0.118658240331 -0.021637388000 -0.682877278645 -0.486281369671 0.003456000944 -0.001257937355 0.794182965196 0.876690621566 0.024109095214 0.062255194552 -0.321576624760 -0.192695539008 -0.801555967561 0.192829168336 -0.362854001050 0.241142730195 -0.253954222788 -0.224548933565 0.785036379958 0.042730528798 -0.039163651992 1.540292197659 -0.183082230010 1.010869432247 0.188289037707 -0.059277687849 -0.350407696533 0.403721880698 -0.337644961930 -1.065463116011 0.030256601899 0.203673078305 -0.239294723088 0.400201547498 0.061571699011 -0.185445579173 -0.123120775526 0.122903527718 0.391556863707 -0.063963159435 -0.001825528296 2.137890688291 -0.365717042087 0.298771907425 -1.519404151707 1.900562084687 -0.015274223651 0.219272437886 -2.668190595693 0.407445627906 0.644493829948 0.498901029450 0.120557087353 -2.877224243486 -0.230687569822 -0.058671550904 0.403436215003 -0.513411106215 0.023478902682 0.465102870900 -0.258595761858 1.772015256462 1.133053422830 2.396289745703 0.131874748706 -1.892058963397 -2.256095759073 -0.051242567927 -0.268438743563 0.410419049166 0.774209979190 -0.003156978621 0.180857486331 -0.135753717324 -0.274239754026 -0.009214754793 0.406031482843 -0.056142695381 1.910046969870 -0.063935769794 1.395879855085 0.139100998289 0.012648752980 -0.217330871303 -0.005381755523 0.208319899636 -0.831758968178 -1.027933471547 0.589187697829 -0.060700379731 -1.712115944207 -0.051959424538 -0.582558760404 -0.781918813558 -0.035303286864 0.276887370619 -0.019642193707 0.776725057091 1.391886030177 -1.001313582185 -0.468101034603 1.541848820489 -0.000059661857 0.053550988217 -0.461013656831 -2.037990320311 0.407536209470 -0.418904676878 0.984372319968 -0.066929487890 -1.047588413604 1.522770674291 -0.377737230916 1.114644535300 0.001015981620 0.051406929957 -0.161574584274 0.144890915432 0.007007420904 -3.197873866706 0.913018013322 -0.037443834797 0.409675093147 0.331394571910 -0.150052180305 2.354166687895 0.915701650245 -0.112065242827 -0.070299189004 2.052266988631 -0.389709599357 0.240226233453 -0.512627798143 0.026236620519 0.030124865116 -1.741026012545 0.262986927580 -0.840419785845 0.184331925835 -0.368256944752 1.638986418660 -2.477663108478 -0.011620546862 0.914968229882 -0.307282150364 -0.053251408490 -2.544435455929 0.095748611164 0.166729354225 -2.180878919538 1.316174419723 -0.972663990240 0.232830989871 -0.271480593033 -0.072345745778 0.152030064177 -0.241643537536 0.097645728291 -1.189515323306 -0.674302100588 -0.104553108047 1.078270590867 0.651450735436 0.039878837922 -0.028286318568 -1.093996663632 0.066881936841 0.181396670937 0.867041905261 -2.319490802033 -0.259482616643 0.304307450846 0.023548759895 0.102149136991 0.529217174078 -0.435497674026 -0.622638190645 0.586756315564 -1.141200799260 1.142417221447 -0.399749635100 0.409673073086 0.053115427187 1.995757544985 0.177314030974 2.043966668044 -0.389752587670 -0.040535778933 1.371881870361 1.862949799924 0.411846967703 0.098708666537 0.097400726365 0.088752738936 0.106857999860 0.017993042440 0.852239295217 -1.593445117302 1.049145248568 -0.000313995605 0.293995741406 -0.166200298233 0.213897423662 0.971668655676 -0.445390692578 0.631881575644 -0.323129055695 1.368513166845 0.283356993704 -0.034075515800 0.015961293221 0.186895942940 0.232604820093 -0.232669215010 -1.023284716012 -0.237097928856 1.006600198435 -0.150985512341 -0.014660218874 -0.594877484055 -0.097206824599 1.136798152593 0.030277637087 -1.156187664707 -1.393294571112 -0.575903049939 0.009226081558 0.728404283087 -0.666753453081 0.099142469506 -0.600384501623 -1.629046853580 -0.303847067866 -0.327596826864 -0.790328564495 0.206719701265 -0.123017655080 -0.069180616990 -0.022536155746 -1.962723186345 0.477516670382 -0.939142315021 0.698793614709 -0.081732811312 0.396431931333 0.521855101206 1.380506828738 -0.276552217201 0.043630831450 -1.211864520288 0.396918687561 -0.130935382306 1.094013975776 -0.250489433361 -0.749712533097 -0.189306561114 -0.260686386643 -0.026438627259 -1.248124747433 -0.951421092921 0.034188316713 2.056554881576 -0.014328837529 -0.643649007218 0.052797936921 -0.093500247132 -1.140600089316 0.055000716829 -0.342665999056 1.944280048301 -0.026680561811 -0.171081688432 -0.086007522959 -1.076989288287 0.037971645746 -0.041175576463 0.030264489734 0.988952468066 0.111118723421 -0.150255340081 -0.077712569389 0.162781923670 -0.570906784668 0.171788745066 0.309382919422 -0.418872055930 0.092770343444 -0.604440050975 -0.036998143703 -0.475695327431 0.251282178234 -0.022318991073 0.022172473654 1.966347964352 -0.176197924234 0.414457256913 -0.003734133746 0.402287611595 0.386571659024 0.389974736419 1.447426369996 -0.312545234781 -0.056169443734 -0.388995326633 1.645369750173 -0.116528492200 0.003723591420 0.132024422460 0.569178550244 0.288047454586 0.007930855144 -0.343724748349 1.121576349976 -0.034501384587 0.186476754161 -0.187288059693 0.102426678836 -1.941762139251 -0.245091270603 -0.002612381676 -0.043632723359 1.197183632667 -0.286447475289 -0.723615359153 -0.094248874039 0.097876206202 0.676748687012 0.041483667276 -0.411645519891 0.456154049296 -0.725811287051 1.707992931275 -0.942966947770 0.903700706225 0.048427277647 1.911599242299 -1.911629823097 0.222820494216 -0.565800109593 -0.638503113185 -0.683122387005 -0.591230264908 -0.045919112433 -0.000867048789 -1.283481721253 -1.991716888109 -0.299626038921 -0.147326830143 0.082708149196 1.196945258302 0.024436175465 0.018540752194 -0.269468732202 -0.926330457207 0.937410764277 -0.039776022557 -1.583063849438 -0.103833816944 -1.004651562401 2.288437886988 0.300277050540 0.047512241314 -0.020296778496 0.963481789327 -0.110746769231 -0.228938638957 0.891195757205 0.785198857761 0.216067600147 0.041325717388 0.267284126655 -0.430496783272 -0.420664476847 0.613219011514 1.248821814231 -1.170678113360 0.220256678648 -1.157409041944 -0.513317266982 0.077802710703 0.094120585026 0.000993685323 0.028794704544 -0.004865671269 0.991427621785 -0.329930119059 -0.712798499332 0.022950484482 -0.203733837210 0.839963701092 0.189842227920 0.356959467897 -0.295257331896 0.002680443461 0.160011010506 -1.493898320248 0.836720404938 -0.078706174373 -0.573544325159 1.437809327903 -0.033856993016 0.587214483954 -0.904596387642 0.485039336979 -0.446231857320 -2.937180346863 -0.034893258081 -0.456930032257 0.222023976662 -0.242307565533 0.030429941240 0.088651384516 0.016402047716 -0.901024397437 0.230314978627 0.311397732256 0.616879621996 -0.795684986322 -0.066091141138 0.049612837300 -0.300675810516 0.137395200241 -0.132849413161 0.467542287235 -0.193486653737 0.463994829815 0.368566419742 0.272882148851 0.402286694621 0.823496185084 0.319707458243 -1.154373640887 0.116013877143 -0.052634524202 -0.106105160946 0.658254871677 -0.013686739155 1.200745634985 -0.036910177835 0.401265344769 0.323980505386 -3.078150182445 0.080598529459 0.439108654788 0.385879557741 -0.412846282645 0.140115092255 -0.106710649571 -1.059978264743 2.725237216447 0.234286666687 -0.249126274032 1.823900919686 -1.654819867026 -0.250033792939 1.941858357598 1.189085523967 0.086758845782 1.147024591465 -0.072368397053 0.059436417769 -0.718959286078 0.503310550104 -0.223211614687 -0.040277460095 -0.296060840765 1.121359384592 -0.070619126316 -1.490627840731 -0.141829821035 1.744324521091 -0.598308756558 -0.026952270035 1.840028884885 0.010612027420 -0.335301533416 -0.088683263786 -0.035211097419 -0.034871365279 -0.313929517733 -1.975207507941 0.000334165440 0.973288589025 -0.067995299669 0.113925109797 0.051729901738 -0.212762115609 0.096363189620 -0.499878146033 -2.347265206786 -0.001124297987 -2.548606268305 0.429952779248 -1.747246425205 0.467741908290 -0.025484379448 0.004691394684 1.674654522754 0.335209179738 -0.194761589918 -1.266753461379 0.585076522676 -0.349507834107 -2.044965658779 0.417089448383 -0.008598884520 1.058835578578 0.113692379191 0.122724191230 -0.663210022843 0.782505275898 0.178244698081 -0.006884207030 0.329176098502 0.011519254914 0.030842847033 -0.244966795214 0.215220885164 -1.562323948811 2.343768186151 -1.060914331961 -1.946412364054 -0.889898093693 0.095565623193 -0.063758659148 1.503295515636 0.124559035631 -1.514706007317 -1.516930303362 1.341362365258 0.227432961864 -0.176507372749 0.087871519746 -0.027248089977 -1.775730922104 0.096031875322 0.010833389189 -0.108818509358 0.373418380883 -0.331884978655 -0.448657971685 -0.115934951182 0.549118765196 2.090603950868 -0.001667558489 0.389069597780 1.568128154252 -0.336242338092 0.626528219675 2.665130966207 -0.130328944866 0.692992929489 0.102578379008 -0.307078347104 0.683115800041 0.103514153085 -0.485819737382 0.652118103878 -0.344428528246 -0.441654701896 0.817862364717 2.115292072133 0.185638822595 -0.032331424681 -0.650915676376 -0.058952741069 -0.818672356900 -0.037365820934 -0.174090327034 0.774056821967 0.147392748504 -0.012905118493 -0.195231535735 2.225705529200 -0.836390613148 -0.192976113549 0.106435777940 -0.096938959755 -0.606349200810 -0.012958501664 0.107836812386 -1.006715394204 -0.450496360045 1.588978244888 -1.631237981662 1.486102913597 -0.057821634445 0.003123271722 1.127621585781 0.081226189322 -0.776529280464 -1.169645168073 0.248855314332 0.339845157898 -1.858991506890 0.201505062742 -1.392843273083 -0.089071001506 -0.004444514915 -2.353580437499 1.475336023343 -1.709724793904 -0.125619479875 0.026609451688 0.299180376656 -1.434389605404 -0.484417299905 -0.013267737874 0.665906537926 0.211573883781 1.026576176064 -0.012639368727 -1.134043868345 -0.154482677117 0.191420022218 -1.469787351925 -0.430654426972 0.002828215501 0.913245098315 -1.074079977360 0.349363057336 0.333758803091 0.277706741739 -0.354177563053 0.402108136637 0.597262261100 1.377124423674 -0.149657277547 0.006335411479 -0.016932053713 0.262129007001 0.293466734891 1.134183058934 2.296890732984 0.119561307472 0.010952873535 1.554953558234 -0.040464865542 0.030272146950 -2.056145184540 -0.110021430848 0.345896293208 -0.127443596617 0.231856104115 0.175204607961 -2.376921041203 -0.454845008024 -0.029045264341 -0.024659029290 -0.498242290809 -1.318401127882 1.480776245376 0.210033297402 -1.705858334490 0.040876776515 0.206632745371 0.208861660751 -1.035279784417 0.464369570027 0.936625728284 0.008607028596 0.353394865598 -0.753142477417 0.311625089201 1.272623205306 0.775867216338 -0.048487772224 0.013818985543 -0.332719443838 -1.726359976676 -0.105361668759 -0.456716436751 -0.137581530645 -0.525990346852 1.250044877348 0.317970597386 -0.017542507990 0.265636892129 -0.030665642792 0.248768478716 -0.384827276257 0.504297927103 0.990830238083 -0.223722279936 0.000969037317 0.027326277556 -0.674248739397 1.607633164340 -0.087801397988 -1.344468837679 -1.402407726372 0.003784027990 0.944233072681 0.550985851382 -0.205114243652 2.413468432667 0.412540649311 -0.233406371671 0.668176142322 0.148401372032 -0.288167638675 0.588320270124 -1.636091433799 0.154294027238 0.014811486100 0.055624143243 -0.055941514145 0.680191239081 -1.209738611980 -0.736898992380 0.727611593312 -1.213994832474 0.008894650127 1.740720118584 0.147027196384 -0.482981281946 1.143442028141 -0.338930809736 -0.067469027814 -0.079947182271 0.536595982705 0.393944727198 0.015829619489 -0.070513482798 0.362947039007 -2.589777724546 -0.038684764831 -0.371645665511 0.113733106940 -0.214287068299 -0.313870972451 -0.447196706734 0.332289200884 0.098763807226 0.354372938492 0.472484418741 -0.751532457265 -0.032169586813 -0.014686657262 -0.111921290928 0.260427586267 0.668569144622 0.009953102276 2.331580042793 0.441393672876 0.010990748644 0.251002687923 1.082392906974 -0.050628472559 -0.587290876859 -1.331891819289 -0.414482599842 -0.605509535702 -0.041784562927 -0.113206307377 0.172800107173 0.487121816849 -0.296267921635 -0.595419268710 -1.418563438939 0.053151783924 0.059520876947 0.616462846477 -0.063436300806 -1.614262941824 -0.404638867678 -0.250663175067 -0.733267196708 0.090667337487 -0.314363968767 -0.015262968631 -0.049045999174 0.242338993202 -1.168239690951 0.077407526061 0.112676600819 0.602342009781 -2.110866664135 -0.418293388321 1.936836431563 -0.016473854042 -0.004142162732 -0.085968773902 -2.242156841034 -0.005658905877 0.587364053476 -0.636149851954 -0.068980276123 -0.404520429696 -0.558511448148 0.757489793332 2.346011185153 -0.118985080670 0.698872677403 -1.609348938644 0.760828870651 0.186931529653 -0.028883592220 0.581482906516 -0.138517379390 -0.039130342859 0.738236399004 -0.066187879949 -0.205303567155 1.239052576615 0.349724063790 0.107683027629 -0.436721331977 0.638241884493 2.577713311097 -0.002750601901 0.085657354859 -0.007200489960 -0.245790841639 0.351490285815 0.040705716668 -1.633084829036 -0.408362397566 0.045287077554 0.350423849589 0.418413557849 2.826220421425 0.647407549334 0.083310028379 0.363723151520 2.530070250018 1.512270403064 0.159816546659 0.510622361690 -0.124505579085 0.261780876280 -0.262021680627 -0.104313067818 -2.837726183715 -0.743158161847 -0.317096451267 -0.456954963952 -0.095605011715 0.064281605549 -0.969944536320 -0.053605087489 0.222959847843 -0.557416250884 -1.279223040755 -0.156297809792 0.890378588233 0.019640617147 0.261817709339 -0.002617336952 -0.660921130898 0.340652871853 -0.436962996881 -0.055861535633 0.699153100126 -1.107783348684 -0.699939602788 0.001826351191 -1.222917676619 -1.460878059714 0.010225640957 -0.170681663313 -0.404977166334 0.140038847060 -0.711082006958 1.239934625591 -0.170345261878 -0.060805789711 0.150480130169 -0.315586858786 -0.103497582784 0.424338377424 0.791748241972 -0.085227211379 0.048099729528 -0.270344992290 -0.040493286242 -0.958573844713 0.009160310339 -0.004897441116 0.060239736838 -0.107953217145 -1.983285777519 0.972607678475 -0.187484651599 -0.967087538619 1.530862326951 -0.130709895120 -0.219033500557 -0.184661378283 0.738956732918 -0.100338035842 -0.391654590575 -0.184208464438 0.165365717461 -0.112736111509 -0.403553114172 -0.192473548112 1.045413113409 -0.334475322000 0.339647794977 1.453478135180 -0.020970793180 0.319504627319 -0.226758501345 0.177071077189 -0.932829311849 0.158290674882 -0.858642473565 -0.006937592722 0.215729482708 -0.444205713145 2.072071492585 0.110334283735 0.003376159763 0.443640176613 0.261661227798 -0.505530609828 1.120576276249 0.055437949612 0.164705934426 -0.411493126226 0.588500350994 0.013492227832 -0.740007535033 0.990748870390 1.690850812620 -0.939224743852 0.335928100473 -0.001290073918 -0.475753361481 0.009996605718 -0.003590192587 -0.049415467691 -0.354433293365 0.223614288458 -1.165472491326 0.453527769935 0.083229412519 2.352274026408 0.020978930550 -0.013080916016 0.811524456540 -1.255873015856 -1.070890828364 -0.971862875033 0.300001904941 0.003553274113 -0.865483683043 0.061207324422 0.069289498131 0.129487521097 1.323879089615 -1.219920270748 -0.515199816469 1.336016522220 -0.120980725178 0.825232582250 0.333457764539 0.332260184750 0.812876765384 -1.497753387634 -2.125573019867 -0.498409878328 0.722750131555 -0.085579685862 -1.366853296938 0.228872115653 -0.220774889724 1.274517358444 -0.253898610781 -0.001101247152 -0.555534876341 0.077360392894 -0.589774370512 1.333934564508 0.001386719827 0.111356236509 0.178226197962 0.393969893523 -0.212387357714 -0.723284613915 -0.254353508670 -0.168695864332 0.060139139554 0.728951550765 -0.159329181967 1.106638217300 -0.246630690983 -0.824406586179 0.106071115502 1.086660092091 0.347242753953 0.118648717152 -0.948559951838 0.063918532509 -1.119514425560 -1.383878082334 0.868009203933 0.632384418111 0.244466335786 0.072267448832 0.014559614207 0.809850119975 0.352021564460 0.407776209627 0.279255284525 -0.266404659031 0.177987416440 0.147566660469 0.095257275486 0.151939539917 -0.719074402102 -0.308519459252 0.014346175355 -0.240785999258 -1.332377031020 0.099527935217 0.507506304659 0.101569695012 0.442041192748 -0.286260238637 -0.652899755054 0.035157321108 0.130877383622 -0.405075138261 -0.711181363168 -1.645310235473 -0.002567288232 0.531649137531 -2.524160955667 0.154601300679 0.439039069140 -0.022564182921 2.831544690374 -0.420002360239 -0.567123124730 -0.258451026829 1.380398267198 0.520150348331 0.359597571402 -0.233174913613 -2.170351522626 -0.700574228815 -0.608796719627 -0.038652187128 -0.005208407085 -0.040200484454 0.486535699789 0.037798532697 -1.105200296260 -1.431817063044 0.041926394579 0.079987166053 2.335460871952 0.034639739111 0.087113541520 -0.800320457897 -0.023901003052 1.235566450950 0.752266175100 0.418697574917 1.108453170490 0.136453047805 0.006729930655 -0.986039247143 0.126085905829 0.072063804273 1.225205842534 -0.052394005112 0.444856620010 0.308324653715 0.943099403234 0.000565206386 -0.614306815050 0.286634184211 0.131082039033 0.082185380820 2.035758511124 -0.057329423707 0.403626089599 0.016561144763 0.573328191713 -0.948156239463 -0.030537984828 0.028935063993 0.504688893232 0.317549988385 1.034499744057 -0.031312116594 1.761666173253 0.035364665294 -0.158309865672 0.743017914051 -0.693093128173 -0.008544730149 -1.289508357568 -0.202080996287 0.335280728971 -0.452353807459 0.232668386480 -1.285276313498 -2.314617115498 -0.179815369964 0.211723711058 0.104438166263 0.964121685149 -0.773563423857 -0.371494357980 0.236309277208 -0.406650649220 1.199261676663 -0.041118090775 -1.434361709435 -2.054329153626 -1.526492669613 0.912024104324 -0.809744331872 0.141981917395 -0.167285646295 1.060929371957 -0.164528334009 -0.617363702839 -0.062917435562 0.518279975256 0.442202704754 -0.002005712525 0.298301302511 -1.050987119881 1.384908687285 -0.448875097822 -1.028328519340 0.693165261595 0.120597608378 0.093125210784 -0.390758754176 -0.118767015987 0.101699227714 -1.180278127356 0.267970341232 0.175690570885 1.116561658370 -0.048554051089 0.580875505175 -1.314227378677 0.318031303648 -1.167827269188 -0.217960077150 0.002166383632 -0.008453925662 -1.512761784303 -0.285355400880 0.218851437567 1.045278046705 -0.005020126880 -1.249799661785 -0.117254244803 0.000231544863 0.318810137897 -0.719397125019 0.125351180599 0.002194987845 -0.519358201977 0.027273432243 -0.450574133824 1.191609433258 -0.187624611790 1.770012535627 0.190289190232 1.290380769301 0.004564508821 0.277470685430 -0.170456944954 -0.484737686777 0.329350465930 0.028574024405 1.287557393554 -2.020306208952 0.635326815244 -0.331757269155 -0.056702619056 0.045874577956 -0.043950213776 0.700209305266 -0.240094037461 1.824571752307 1.943058931705 0.625116506028 0.003169283056 0.182077883222 -0.007769557664 1.808188289660 0.100430878333 -0.207635163246 1.360441654548 0.051176064292 -0.047051536480 0.368106927387 -1.803778994033 -0.036877997188 -0.042897277080 0.389254213102 0.151561835234 -0.063600779814 0.474997178446 1.346388940090 -1.512282931542 0.335973196732 -0.377545768447 -1.514772942184 -0.586024385082 0.223452954959 -0.516442651346 -0.522380353335 -0.235368114876 -0.043807612990 0.004462211209 0.006673128249 -0.085627551986 -0.020573714295 0.211010626717 -0.640239131809 0.232453377390 -0.368571789869 -0.347800055319 0.230475944330 0.105071596750 -0.215833758736 -0.828673567322 -0.393735048987 -0.355182086298 -0.324505996472 -0.586702446970 1.202829861815 -1.898540947702 -0.511144295086 0.175167155553 0.020990247451 0.250477263544 -1.412253702707 -0.001560538559 -0.383337962942 0.559879007979 -0.600987880408 -0.047624305235 0.200994771602 1.343042801348 0.311651153091 -0.411592413058 0.512229874100 -0.027193506815 -0.419202236504 -0.114985482254 -0.045896836166 0.892147252307 -0.875943016475 -0.052272241976 1.920548898499 0.648849314426 0.092827321582 1.710578528630 -1.083232427007 0.586281467298 0.119031116748 -1.401430154041 0.243573208268 0.120536598850 0.002359262704 -0.232535386110 0.557261322410 1.521636836526 0.350501786542 -1.312497551182 -0.245217084914 0.081395285336 -0.008741121473 0.034596128915 -1.133096975844 2.000182476884 0.164252867771 0.031730904790 -0.026114675144 0.003807891520 0.074675793488 1.081642833955 0.336086800843 -2.659119203668 -1.038992524886 -0.988923941453 -0.111739377108 -1.142430930658 -1.631505596742 0.296231228106 -0.691509253569 -0.043758855278 -0.610627514740 1.114253016781 0.193268106380 0.182605785415 -1.462704907497 0.232667751096 0.094721824693 1.028275484733 0.438359734862 -0.381232605229 -0.047315877846 3.107772651758 -0.206682053704 0.063697073521 0.028744701254 0.672616862787 -0.119977660000 -0.021267970558 0.686200017513 0.053372158469 0.407199311080 0.004073483843 1.375779265421 -0.144562512158 -0.295453001712 -1.119033316094 -0.242631939442 0.151872026659 -0.439394444225 -1.334698841866 -0.224766323572 -1.323480838575 1.834546417082 0.128453402495 -0.257107189069 0.021080377445 -0.024967095648 -0.046518028595 -0.140048292901 -0.629665912047 -0.213122510035 1.180092916654 -0.231496023866 0.705110866661 1.572030747405 0.334932483688 0.314703723451 1.013746816620 0.000732640795 0.187013541497 0.575580455235 0.448496925021 -0.950208563120 -0.086864925860 -0.018462133589 0.566147831396 0.111160311463 -0.624742227905 0.062778767757 2.325805486470 -0.307611366688 -1.028177606266 0.043186382121 -2.029706413997 -0.349682498540 -1.227520689117 -0.051126029958 -0.050736311616 0.017684118693 0.000130430988 1.247939209566 1.475391993249 1.311128594812 -0.961704799178 -1.561097341908 -0.009413674469 -0.263775426194 0.650616282014 0.188204254016 0.039558309109 -0.597680232659 0.190138431178 -0.516178050304 -0.337877716875 0.314205996551 -0.444278643478 -1.251050254605 -0.589421030989 -0.090375407811 0.684451182127 0.174330756258 -0.358724664554 1.643160491182 -0.375005274263 -0.085337852833 -2.761009814907 0.196291206252 0.488035613929 0.333810520030 0.236769786142 0.538328071553 0.198273349299 -0.094083410351 -2.122790580077 0.384516407326 -0.141971194109 -1.357081522685 1.009373306347 0.032010107133 -0.069523107417 -1.306534274676 0.032735627948 -0.992372874998 0.074825412357 0.050921269949 -0.812543971386 -0.126888955658 0.650604216014 -0.028539090162 -2.411625874208 0.309527878659 -0.044287350233 -0.235094134285 0.026864680395 0.446377691970 0.363179978416 0.567661517254 0.112536452016 0.109052709567 0.093761985820 -0.260367357236 0.058853590818 0.001816339557 0.674500310049 -0.034848526218 1.099008050653 -0.239998893415 2.277852697574 0.265646870882 1.045531588356 -0.351208625436 0.002570774746 1.695594833535 0.798053118114 0.997649699708 0.442891862078 -0.247884704516 -0.302896671256 0.656170014280 -0.753437187465 -0.425210799215 -0.173281520274 0.215756362424 0.070647797374 -0.575947219357 -0.717590625154 0.226190945759 -1.182450202685 0.450008805661 0.530280586171 0.214890243627 2.960071851326 0.732462778460 0.203589869558 0.201901905095 0.081052409298 0.003003892624 -0.365008122528 -0.018568121034 1.371785249156 0.108773174663 -0.760197281488 0.007336295665 -0.061014214813 -0.100533005097 -0.234564626573 -0.126247730660 0.167154928006 -0.338282998776 0.527205989240 -1.637279866112 0.161541539692 -1.729356552871 0.003747395365 0.109166761085 1.318822698777 0.235744160430 -1.880400256932 0.018605082961 0.057645000849 -0.776787567616 -2.398892892048 0.060529715535 -0.540696370040 -0.666133871125 -0.148783212570 1.712306419414 -0.975064393838 0.457999068031 0.552038985153 -1.354942990814 -0.332014386714 -0.221701227935 0.039676007667 0.263003738097 0.065075544724 0.621268020744 -1.254860250637 0.002574386180 -0.386557114975 0.118624191765 1.974308348999 0.987498414979 0.087116523184 0.247058258715 -2.082252069817 -0.161391160491 -1.612320440065 -0.223026514078 -0.032510939130 1.903747130738 -0.596042214827 -0.172446383351 0.066701304234 -1.289666083308 0.931237394721 1.463593390789 -0.022533748576 -0.208478448716 -0.073559073302 -0.082215088360 0.174224927177 0.043602620949 0.165165698546 0.037052863022 -2.511695695186 1.299400232151 -0.054781047514 -0.156763036502 1.831963088407 -0.102630075091 -0.944226694615 0.039319935546 -0.638147336539 -0.137969427207 -0.761996496965 0.016205812581 2.466215686049 0.559172071625 0.094083542787 0.178427399871 -0.313856038740 -0.439418672628 1.181225042911 -0.573755669384 0.003151007886 -0.005587690866 -0.618305954842 -0.054540536864 2.143205626225 0.073495640450 0.654160973343 0.428721789859 -0.004862528066 -0.171754510215 -0.000842075393 -1.107853788982 -0.521742758426 -0.732715604027 -0.212160576122 -0.048131579872 1.343013772267 0.245094590959 0.353990435316 -0.502260218210 -0.274712762877 -0.269953632293 -1.158512308750 0.814686310081 -0.232429211411 -0.079174391901 -0.181352616004 0.327351697659 0.372421494385 0.046881722189 -0.220667542757 -0.409001492327 0.938944418122 0.002312876944 -0.865277742820 -0.688855071113 -0.033313012822 1.010507934207 0.189753443159 0.407401423212 1.471343278923 -0.002106765146 1.247484900157 0.010707732113 1.120552459257 0.027310277535 -0.448213934018 -1.582845261062 0.019627311464 0.588383586574 -1.736933337174 -0.648600999616 0.436756453878 -0.443696684646 0.059690264298 -1.179281882885 0.380123667560 -0.009198548798 -0.183703079622 -0.032589438966 1.560652734223 -1.848756284936 0.447312837878 0.297988242089 0.369466097011 -0.079110129219 0.044603900500 -0.000699234533 -0.789156067611 -0.309483374105 0.557250688487 -0.151669661745 -0.010146730918 0.143908569395 1.076714851377 -0.177812630006 -2.305376121684 -0.178976276697 0.346094770720 0.720178103025 1.331205985068 -0.444036598369 -0.367927662643 0.275157309377 0.160405752316 1.711356622227 -0.008831382446 0.252210795387 -0.011920870953 -1.192810308669 0.452546685356 1.558808170446 -1.210688164332 -0.041106984395 0.082111524379 -0.070013657528 -0.834022554874 -2.010314367433 0.505004815103 -0.110945191255 2.189832485443 0.366491035827 -0.201540849931 -0.014885664801 -0.423243594001 0.000283096281 -0.280029282243 0.669623862840 0.039150398771 0.635523667601 -0.670506487361 -0.365434049222 -2.880335988997 -0.772822785322 -0.434049846770 0.059958697514 -0.426009481455 -0.081538655663 0.256251085864 0.287871213867 -0.210406032614 0.477871090055 -0.043837299279 -0.183942046802 -1.748109035654 1.254223612158 -0.012121271085 -0.441556952218 0.308823940569 -0.186729221048 -2.614726740185 0.088906022095 0.662605241142 -0.057001630627 -0.000417640188 0.084477828173 -0.486919025494 0.255747508150 0.020365989560 -0.489968399142 2.024477751342 -0.958480164734 -0.507112947534 0.025980131165 0.751939071213 0.251127792486 -0.480434759133 0.454325786115 -0.074874969621 1.330579591784 -0.074021226042 0.743055188820 3.073868383093 -0.152696517979 -0.177525718595 -0.714810120734 -0.218988876307 -0.367391858228 -0.039388177986 0.362973052996 2.483253612391 1.330599658741 0.034172878661 1.373021529325 0.092614719577 -0.003635417038 -0.008048698404 1.223178308492 0.132428462810 -0.754685182953 3.016562396841 -0.021007193801 -1.958835572437 0.942268412293 0.155300500430 -0.397591971214 -0.771179488115 0.450668696261 -1.257141734624 -0.041544081916 0.074291101867 -0.044480317855 0.843694191778 -0.149961845551 -0.702748608021 -0.391862485636 -1.673508382336 -0.867670181147 -0.941486910414 0.279802944923 1.077024828293 0.753279939293 0.189313559012 -0.390951544167 -2.127570287730 0.188740485785 -0.057043781533 -0.180009788925 0.010763241503 0.246367690659 -0.086341861182 0.006050846161 -0.003572419985 -0.434099854198 -1.566570737780 0.057770126240 -0.021475583980 -0.140716415272 -0.716488446532 -1.171723124311 -0.078348390743 1.507149333927 -3.015402546391 0.252961202771 -0.500569220550 2.562163594730 -0.039491384934 -0.145006804624 0.463285819788 -0.022767327180 -0.154606749045 -0.145977979653 1.113248452238 0.077712431974 -1.782201687893 -0.005634550060 1.878154854048 0.022078416093 -0.240004379754 -2.263788216264 0.347742744346 0.575576318952 1.395778804654 -1.186636352382 -0.068833240558 -1.199331226770 -0.549393823457 -0.090611756980 0.028579001855 -0.853883931276 0.189941056043 0.184473065821 0.226518698888 0.100346270541 0.977356345015 -0.256400448201 -0.060865926492 -0.477763187014 0.182472672064 -0.825820608592 -0.538927901475 0.714561224940 -0.127863959889 -0.683283621050 1.367091674194 -0.011130406013 2.233030846804 -0.107572406645 -0.012278612623 1.168090280089 0.865171561323 -0.328127284100 -0.051452257813 -0.475521932759 0.043855382177 -0.295170850194 -1.039918138413 -0.179215661843 0.045070646536 0.511385322399 0.037983668112 -0.335928581969 0.974581412458 -0.024992591565 3.631705777034 0.077444451990 0.125457038898 1.213387746629 0.338156104219 -0.013953209416 0.826330508019 -0.482417739660 -0.385625463052 -0.221253170017 -1.211065875871 -0.742699860182 0.697355023997 -0.448569052336 0.061572943057 0.016095872743 -0.293121749970 -0.046519522693 1.365632318319 0.508387222581 -0.659218054150 0.135229556349 -2.837582143480 -0.030425408654 1.645543897036 -0.000122909965 -0.035165440250 -0.356173982145 0.159806713078 0.683579162250 -0.059376894756 -0.028916564343 -0.431140167349 -1.852217896990 1.387770299449 -0.065191692505 -0.861795518174 -0.126398184211 0.002964484145 0.987017232066 0.047247140967 -0.186065318685 -0.344850834035 -0.931668357433 -0.038353217092 -2.213916802944 0.019408157724 0.736209571156 -0.533278768833 0.526147587731 -0.357448688896 -0.714018899549 -0.269066176506 -0.083186784922 -1.036375353652 0.225782593304 -0.194767858963 1.165338341620 0.558993409682 -0.026743446083 0.251857719433 0.011914714289 0.311299746740 -0.008650183426 -0.448283247998 -0.133584063896 0.568416169258 1.332406381824 0.243313624076 -0.629338179284 -0.330976734659 0.214218168774 -0.466920092651 1.146009463789 1.336790754708 0.244949995321 -1.619440036959 0.011614226087 0.145298601951 -0.010705558523 0.459301108991 -0.151775101756 -1.202937975393 0.280756818655 0.401963517671 0.966489563728 0.081259670677 0.883896709678 -1.495558449780 0.250945912888 -1.266153334856 2.201835921827 -0.100555080035 0.177847038537 -0.310652869584 -0.057935890719 -0.067035257760 -0.180143673579 0.365151698818 -0.719092468072 -0.452608014220 -0.755315206069 -1.463270046925 -1.048000311773 0.322660401883 0.236667276820 -2.124533032143 0.065723260653 -0.042269131003 -0.733435177242 1.540032240557 -0.625964952901 0.539983378728 -0.235361086726 -0.482677514990 1.914042596935 0.002822109139 0.192009347896 0.654031559931 0.160210733725 0.084443591096 -0.332582765414 -0.000937074686 -0.306903896070 -0.529006894616 0.359968911034 -0.005892102836 -0.083191670315 -0.009313853721 -0.790290321080 1.846690782485 -0.010817714976 -0.066398787661 -0.855060094062 0.201801309076 -0.028301903913 0.524459042480 0.329029811831 0.136253988267 -0.002816146393 -0.198743862813 0.093286855396 0.864895675913 -0.118180512071 0.589871043791 0.686091673668 -0.355261120569 -0.577883197611 0.743112798774 -0.192952054815 0.668772069555 -1.002677603883 0.296835282107 -0.141115164644 -0.112814438434 1.515946710926 -0.032576200437 0.200620211486 -0.109965669251 0.733830791066 -0.511279264998 -0.169563003065 0.152741399502 -0.332809604395 -0.154790950243 1.355751819510 -1.735849449475 0.460837918319 2.228743771351 -0.012149145976 -0.000692933899 0.875811523915 -0.384051827695 -0.072447610116 -2.000870725265 0.385235219422 -0.408854493130 -0.126193379291 1.462766482437 -0.021611787148 0.498153758874 -0.486837156741 1.097302031478 0.124430959003 0.024476781598 -0.191015071148 -0.598838406683 -1.531050490589 -0.191207556293 -0.030972190390 -0.346736082703 -0.363692428595 -0.115335008384 -1.315259819709 -0.141828255977 0.029402879145 0.260041175797 0.018155726356 -0.054468817194 1.163668599067 -0.768596590010 0.000330315927 0.172448392269 0.328424589455 -1.624258356058 -0.033439824915 -0.137930454935 -0.449741379157 -0.424462872192 -0.145146259873 0.882936982458 -0.357479388035 -0.034596884835 0.998430741212 0.830718800923 -0.192684145204 -2.670643377813 -1.398413231996 0.503396546645 -0.000388904557 0.407306165528 0.307031984017 -0.315719007387 -0.783604588056 -0.411233560558 -1.563675631671 0.663764856731 -0.124718001067 0.207638854194 -0.306643874579 -0.006619730891 1.431268137525 0.026859731041 0.025738845828 1.221718036381 -0.334260945216 -1.939714962617 -0.693936097242 -1.160900568174 0.213761708924 0.560082204649 1.019527979612 0.595169809928 -0.485564146909 -0.870653406497 -1.729571694803 -0.507769822357 1.333733607730 -0.014816818324 -0.040419671576 2.168090217026 0.010286429423 0.744901947861 1.208620900821 -0.203417994092 1.172480347512 1.216648929901 -0.280512946157 1.057385876209 0.202697274045 -0.080425110755 0.090868439617 -0.049098486051 -0.027240708676 0.234067063249 1.389114317410 0.416890757363 0.794188273873 0.027618390949 0.125966099004 -0.925607082861 -0.054577394766 0.982118343261 1.412151012291 -0.194583221596 0.061842152711 -0.233997379543 -0.657876728001 -0.362234432206 1.281318040363 1.138353019137 -0.584273592801 0.268235906999 -0.544548486211 0.130605949929 -0.567255148369 0.389940571095 0.007251713996 0.278168905198 0.219309730743 -1.969737367656 -1.813016199483 -0.253840476998 -0.172025470830 0.016769433460 -1.125927279076 -0.242268169973 0.946139124967 2.033759251398 -1.102773493559 0.110288573863 0.065773792952 0.124133198090 0.501808243451 -0.097473908088 -0.008075786939 0.063981172973 -0.230226509344 0.157731212461 -0.287520847188 -0.644423797501 0.250881516864 -0.805074916702 -0.796999632555 -0.188280669146 -1.482790599106 -0.001364657305 0.123740043767 -2.320177810199 -0.241738420870 -0.194559665492 -1.199955018941 0.847300880936 0.093106401038 -0.139503759559 0.001730058588 -0.433176914648 0.074378366048 -0.698688140906 -0.006445909180 -1.572294735005 -0.046652033888 0.415386471328 1.857767776812 1.288998706291 1.340834509710 0.029432516996 -1.223425272635 0.019001111155 0.211143809242 0.831390766772 -0.007157976012 1.726302515745 -0.029787372833 0.055591339008 0.326206899294 0.701485354332 0.037908083642 0.434153552799 0.002809040484 -0.568048931312 1.181669347007 -0.036804110952 0.062338093500 -1.363641919934 -2.641053389607 0.004331318865 -0.176257797125 0.924134159588 -0.071531735621 0.437128644703 0.523411946225 1.174567705690 0.169173915381 0.779257981402 -0.041449900856 -0.332455655315 -0.294238380890 0.585301545471 -0.828689787084 -2.308818655918 0.033790016173 0.547338193334 -0.223104348739 -0.067092259974 0.253595283261 -0.125932991893 -0.282318186037 -0.528866649847 -0.156833074069 -0.141001861323 -0.288610540437 0.041574241580 -0.091639484500 1.239569775013 1.477952944947 0.450288803310 0.003450930291 0.636908078941 -0.412734394136 -2.142672631931 -0.325446823206 0.230656036169 0.864506039708 -0.357336336947 -0.018599715969 0.005192864333 1.536635679315 -0.620141625113 0.283791953063 -0.072154697816 -0.004679191576 -1.741432351531 -0.412936571614 -0.030007056814 -0.626525165195 1.269995627414 1.095523263834 -0.236648380734 -1.065116741770 -0.266882799671 1.597262381754 -0.065849420626 0.001276823187 1.290137021552 -0.221818972109 1.607014895376 0.132827678041 0.003077118479 0.126654737098 0.046601554781 0.374710728770 -0.147538372765 -0.224887017773 -0.951618627643 0.966666912543 0.229568426927 -0.751323369851 0.190312471113 0.286854329022 -0.010127405672 0.141702484170 -0.410398515219 1.762196040070 -0.487823409638 -0.444121353710 -0.182323597677 0.194905011239 -2.793205845339 0.129130495787 -0.094916848740 0.090064489031 -0.773254654516 0.124365430932 0.157183100344 0.892275882336 0.160997334488 -1.557821932704 -1.986746799453 0.000901190787 0.056145494890 0.435946371539 0.356019569416 0.922244289143 0.590786654605 -0.354662046283 0.435436575133 0.379255546275 -0.010041419961 -0.336632892486 2.335261181431 0.651754050157 -0.249774510117 -0.010245280725 0.020254382417 -0.102938140214 0.126521729338 -0.303801302414 -0.437353011020 -0.178046481887 0.531958893477 0.241775327409 -2.374220736132 0.118638245612 1.017102382337 0.542703079869 -0.057769112418 -0.015063360725 -0.447867030493 -0.034746069639 0.003318518262 0.026863078478 -0.461209062939 -1.204704661568 -0.552423754114 0.033812334888 0.349421800481 -0.636463000309 -1.509964261948 -0.182094350227 -1.536109121322 -0.155363341273 -1.155787425867 -0.001204905000 -0.467424621486 0.280035135859 -0.144781674565 -1.113036688305 2.342258689318 -0.189458767816 -0.158686653586 -0.722985853431 1.235865096021 0.247397284750 1.212950358653 -0.267321440043 0.293539352193 -1.883664212730 0.110815448724 0.019747359800 0.005386145450 -0.021155298812 0.069787308030 0.177546229079 -1.248379713881 -0.075111752066 0.948461340446 -1.133432080593 -0.312972040694 0.601094615537 0.344606612642 0.069753101948 3.256870047373 0.029514169679 0.402862804797 1.762670350207 1.682228175946 -0.010328602559 -0.196917632621 -0.066969731793 -0.008117518287 1.581800024707 -0.253535396946 -0.996569982918 -0.007704249386 -0.536061535783 0.201482046671 0.652231218185 1.464599703282 0.263307826859 -0.180300277038 -1.642106388470 1.453961105450 0.982894891368 -0.024135659596 -0.140044719916 -0.769441224293 0.289998721688 0.049315805570 -0.784775516890 1.600738875803 0.778817886026 1.733867430332 0.048363965923 0.267865263261 0.011977206646 -0.842611449505 0.141419082419 0.625105626351 -1.166344998246 -0.073057669802 -1.180982846703 0.012280058298 -0.123566694591 -0.071837885314 -0.004993970971 -0.050451345202 -1.935859073381 -2.669975569647 0.106916403880 0.457439764811 -0.805737667834 0.107551593575 0.005427376000 -1.547588021183 -0.053068877525 0.440118000732 -0.695522409898 -1.033471806990 0.641523800542 0.291876415950 0.368402814325 0.941211226379 -0.354694280849 0.180714098372 -0.054994851490 0.369763162191 0.102942028075 -0.794532132331 1.158896743450 0.565837357621 0.079834563852 -0.923028182126 0.249111669539 1.013023620390 0.724848992874 -0.941744531468 0.001411375887 -2.275417253152 -0.054158518517 -1.551898013225 0.206860698120 -0.374755504707 -0.800488222479 0.002110898963 0.608863157170 -1.308705344538 0.001929772765 -0.264304196166 -0.237898909452 -0.101553455509 0.011487833821 -0.125270193088 1.021192274222 0.376454205903 0.602223701551 0.947842607165 0.141042224774 -0.565423901167 -0.102384576262 -0.607999590150 -1.142697653197 2.565558986680 -0.046694775103 0.522787000740 -0.033159828403 -0.719960354274 0.466322519823 -0.263644553413 0.019661380097 -1.059974868999 -0.326383022053 0.199457891474 0.652936409568 0.082046483839 -0.007649278707 -0.454408016124 0.684510883067 -0.094907808560 1.121654755203 2.734250287016 0.267224749498 -1.235826991143 0.902747510333 -0.052603540975 -1.608242341871 0.313516364787 -0.179945462162 -0.145573174636 1.120987480063 -1.098925849013 1.136075665360 1.960381040894 -0.031580370932 0.913909650193 1.508966065374 -0.192766031964 -0.872967833566 -2.158540365820 0.473865183063 0.000648058506 0.592768125927 -0.152770627918 -1.096655140413 -0.007797297295 0.210840991934 0.048751094598 0.014787212127 -0.037437313235 0.181543530611 -0.264079479395 0.056403993629 -2.104357256499 0.959295446163 0.066668946117 0.180594320837 0.103524676221 0.048953682870 2.809338763002 1.112978880299 0.519150082756 -0.131781424737 -2.336079678067 -0.346596065810 0.147608242332 -1.221914166260 -0.089753245192 -1.359783292741 1.392516117107 -0.254377031750 -0.480834184815 -0.652722195825 -0.114900419965 -1.143938563985 0.247767089472 0.019618697456 -0.342237826682 0.017787871195 0.039995306368 0.164970395850 -0.641388624399 -0.069500371671 -0.238590859510 -0.193624677926 0.003156860561 -0.099289168092 -0.780840384008 0.154192368799 -0.196236098048 -0.083993527165 0.189966526034 1.282331980532 2.527960654984 -0.629944583698 -0.921154136928 0.885434796896 0.028373025522 0.032610751282 0.051225394316 -0.127635768190 0.692271616939 -0.013443561199 0.088108278982 -0.278452507021 0.048155405838 0.194520550113 -1.016607973600 1.027960729465 0.003098159313 -0.304473108100 0.068730221381 0.019135473443 0.044831627668 0.828382618243 -0.375870521599 0.007785816044 -0.070060093623 0.162996894059 1.689705718127 -0.701784083244 -0.522588881997 -1.608208426624 0.595229968353 0.025696314200 0.122506261690 -0.148825414963 0.559361643527 -0.666474789980 -0.017291892329 0.226574833002 0.303475112849 0.092775478096 0.293598147247 -0.685737517292 -1.839013740145 0.030715266499 -0.450426965491 -1.477549612969 0.036266768983 0.014869554642 -0.298702874577 -0.100186843249 0.047334076204 0.427003280439 -0.085383391061 -0.142367948852 -1.005027115965 -0.724827443378 0.171410481575 -0.725681713536 0.509197072172 0.631267596045 -0.077662717836 -0.113939809496 0.190067741309 -0.356114040160 1.496701067364 0.526728125895 -0.254764142004 0.034459251589 -0.880703131957 -0.042155132735 -0.040488029077 0.666341119896 -0.496008484273 -1.418012016842 0.855198693809 1.559131596182 0.156810377630 -0.050287858415 -0.062133704962 0.121354093928 0.345987334791 0.045740296173 0.094460481736 1.710691823576 0.503358857534 -0.096679841228 0.025653034892 -0.541246449257 0.007977398974 -0.006165129589 -0.724445374048 -0.481394130526 -0.275258983283 1.333626340084 0.447112678563 0.025589499448 1.789099373236 0.164002540726 1.498362552166 -1.152695780556 1.426038847074 0.493581411823 0.131277745844 -0.225647778916 0.725006209561 0.197502855068 0.248626789725 -0.008424033505 -0.332442290512 -0.005332817158 -0.696407940445 -0.159504993559 -0.253882795615 -0.153866247853 0.459917425082 -0.159554653754 0.131690112141 -0.371972977528 0.491381394900 1.155588185462 -1.735300125832 0.019958432306 0.406742545285 -0.496125939760 -0.141021128913 1.726583624281 0.182499714909 -1.029781117794 -1.770869480502 -0.874123203014 -0.073967351259 0.999948094829 -0.686343014774 0.012407366535 0.011490699297 -1.150698569763 -1.008041171821 -0.066732088839 -0.340685638368 -0.431434158743 -0.025178504066 0.453313930591 0.297714798444 -1.699951602215 -0.095366041146 0.107067343847 -0.013919294439 0.103591696614 0.000362515123 0.472657252777 0.088516346185 -0.102903744876 -1.199560366029 -0.027836313239 -1.480741981466 0.223954003261 1.186030099298 -0.095585952730 0.510159542103 0.158413975462 0.078257283395 0.827764833631 -0.271928716007 0.349894125867 -0.090569032698 -0.279974765813 0.079277183066 -0.709996057260 -2.350147793539 0.116178886310 0.223147267540 -0.016596088034 0.399958698978 -0.503825560192 -0.911813381183 0.250974054065 1.085084720730 0.747314062621 0.018871243379 -0.060654529007 -0.719474948227 -0.261603990167 -1.247244988857 -0.012084103676 -0.185724970311 0.111534403780 0.000367827116 0.141019294088 0.581217632258 0.540439871617 -0.195517495724 -1.838062716598 1.507970502604 0.028033299541 2.794365089947 1.508875857935 -0.053854845696 0.495679208334 -0.150079921954 0.074257473042 -0.446768425093 -0.544202247981 0.000648541489 0.367383374293 -0.539616185439 0.149252451735 -0.643301431881 0.103185042510 1.957665895502 0.985586297533 1.555958434216 0.364790653466 -0.118050238585 -0.783316237579 -0.087924412226 -0.443085788448 0.913629735345 0.215645952959 -0.188707116288 -0.117662550068 0.003956519003 0.923677931708 1.002529069121 -0.123912047824 -1.600881895062 -0.114493167038 2.519229752495 -1.063818733535 -0.180650129129 -0.462084782022 1.186358962387 -0.266221067852 0.250728335297 -0.005913878776 -1.568944237007 0.310820978471 0.817204362303 0.202357588321 -0.119139120415 -0.862217180177 0.146700742484 0.048666654258 0.323964436118 -0.812852763826 -0.063953846823 1.225147796088 -1.676787650640 -0.196239929178 -1.351093371450 0.171187039255 -0.558057716543 0.075614682061 0.463213844329 -0.530526991101 -1.841913677703 0.228812606354 -0.147642852918 0.239867505979 0.164338343391 -0.000091336037 -0.125971230044 -0.972234762605 0.529178918934 0.063899024654 -0.009252953853 0.106253112218 -0.658496668782 -0.298704032692 0.137189831933 -0.362677316031 -2.732140738277 0.727645615503 -2.008816366225 0.930660049638 -0.616315400379 1.506238079908 0.368676692092 0.043874678181 0.021239857005 0.393396434291 -1.292980202258 -0.161408712230 2.717198580147 -0.000938701233 0.256769369954 0.047774999738 0.540404067261 -0.027919135124 -0.559488600635 0.661543625998 0.228636935350 0.325095049317 -0.047019526585 1.620178335093 1.138847380031 0.002791384666 -0.251346564945 -0.085047005681 0.069915095944 -0.231167987517 -0.454170500865 -0.058606707605 -0.509161980337 0.134802677499 0.126788332623 0.213596608279 0.511560164911 -0.227820069902 0.362073987573 0.486198188383 0.108561616429 -1.670162932607 -0.315599899592 0.044137438123 -2.128384022702 1.870380668361 -0.015031713295 -0.720346817546 0.437503911990 0.020866730856 -0.493519140694 -1.543803950751 0.033762184714 -1.144749097847 -0.108810822109 0.586114012211 0.003060250411 -0.190460884020 0.453607419529 -0.267755699660 0.589137086562 -0.113017504459 0.302377588214 -0.066889599809 -1.296832893132 -0.097977286459 0.260622008751 0.218778576095 1.310248915389 0.547693583404 0.039652522696 -0.541818897295 0.245742909534 -0.514212497295 1.745491444408 0.574495458407 -0.149279232824 -0.152277803409 -0.495553204989 -0.162261710495 0.697645279983 -0.046484690137 -0.807876707658 0.718308860201 0.001015695929 -0.048752489279 1.107470520376 -0.012918136871 -0.112700096844 -0.230055874769 1.867764455523 -0.396144109811 1.856308890229 -1.670243984102 0.249985144282 -0.475492673706 0.499168894297 -0.041612907715 0.197169275255 -0.424197517316 -2.450286879541 -1.744573612885 0.288172799914 0.010945628899 1.415506581807 -0.032470351388 0.094404333172 -0.522181755298 2.870332321020 0.011223650371 -0.002299175130 0.075874002799 0.059711290724 1.091839124640 -0.245584134283 -0.152484194859 -0.668048284012 0.812084827149 0.036784760031 -0.419080140780 -2.669845842094 -0.052316819936 0.034446276911 0.613755281491 -0.119790436424 0.558665995997 0.116290211464 1.310305948126 0.344213763519 -0.749383415129 -0.078229220962 0.588637299428 0.347009702743 -0.014637283659 0.060343130982 -1.162915632848 -0.827179060827 0.285476736646 0.065455658099 -0.338769635326 -0.418156708644 -0.069810665416 -0.021103788721 -0.145267019775 1.986884856878 -1.094213345589 1.880894247150 -0.733279660328 -0.183863115307 0.023611109472 -0.284120627775 0.007140031669 -1.569182310232 1.206904182495 -0.561509364619 -0.708000241748 -0.577204171862 0.069466677381 0.091784959665 -0.588799870397 0.040591104948 0.165595467145 0.378947298060 0.299213521149 -2.159800141047 -1.358316018876 0.107142658649 -0.097443229752 -0.364783864480 0.104128205981 -0.025312780336 -0.789325195133 -0.816634855184 1.501150513248 -0.617900499255 0.006095510533 -1.997632574469 -0.456772924954 -0.620850276396 -0.032026230590 0.027304280454 1.694897823907 -0.162511006991 0.551901003803 -0.354402729971 -1.273465075356 -0.556186503253 0.068930380751 0.641848270654 0.035970971873 0.268597956017 -0.052003648779 -1.637291687646 0.018440131963 2.628104010889 0.593333364338 -0.415995131211 1.574019625895 0.064569647663 1.088648445576 0.943764968788 1.023738080037 0.080865241993 0.282143369671 2.522709795736 0.450941202034 -0.215120809197 -0.000478375228 1.463671224312 -0.471668583749 0.595527935813 -0.002154116588 -0.376827345996 -0.904230039368 0.400436349682 0.364957860377 0.254134085540 0.008538198971 -1.399316402435 -0.192290800113 -0.124189345023 0.157513446733 0.203972816683 -0.169871535654 0.261479089178 1.772627366188 -0.573222179081 1.076109608982 -0.568517119672 0.280209358102 -0.605894032658 0.096927949477 0.225753657949 0.497447489595 0.799217449413 0.921692665681 -0.107102133184 0.473282181065 0.032533797209 -0.564955859573 -1.429064378935 0.022723540340 0.019292212380 -1.857144990405 0.210368065708 0.003113310012 -1.995774749047 0.026678753147 0.597918771764 1.647555083236 -0.155446501113 -0.283587589117 -0.112883727333 -1.138899395928 0.006526270423 0.125315248106 0.588037175663 -1.366008898417 -1.970124080883 -0.077516237709 -2.265083038811 0.183057975564 -0.443006831801 0.018101141651 0.326848003942 0.568923485300 0.465570987941 0.016424223657 0.093862233961 -0.666410907478 -0.862983526975 -0.409788309809 1.377915552188 0.005876565586 -0.016998435476 -0.090647073854 -1.012302307411 -0.251162464004 -0.931187176662 0.579346210906 -0.101121860700 -0.226802766663 1.886490506133 -0.061089733179 0.224809692188 0.040140456115 -0.152517007636 -0.147084152904 1.085725803721 0.239674488039 1.382496217082 0.016960656624 0.359607991959 0.027558837746 0.465874291055 -0.234133571402 -2.960027131450 0.280967545781 0.485607975774 -1.211908398195 -0.004657202738 0.059509272677 0.132539222929 -1.608456610567 -0.000030963578 1.527895261357 -0.558961090074 0.562426856209 -0.112494464277 -0.942577117880 -0.101585744817 -1.451127445814 0.701570056447 -0.003129246773 0.319723003277 0.079231130725 3.019862251089 0.961674706875 0.144270338657 0.087612138377 1.065554234730 1.381212927941 -0.052178546596 -1.275362287604 0.773931379827 -0.730410206044 0.052180379099 -1.014626685749 0.212615027554 0.209860481365 1.019970014128 -0.036188542656 0.030361522542 -2.216398873514 0.256133951578 -0.033131283715 0.517372132917 -0.182334946455 -0.096167725630 0.217638441314 -0.266045886726 -0.512011703950 -0.778290702654 -0.265988145793 2.139879133182 0.749472808624 -0.254455569019 0.130614364801 -0.184134528434 -0.479378960232 -0.019621401007 0.871598446579 0.014812171102 0.596577030370 -2.463075200979 0.073975721405 0.215452986959 0.066249076004 -0.022749823887 1.468050840766 2.154671696390 0.177518002265 -1.210639492893 -0.481542805685 0.120835677231 0.688664312060 0.016460399094 -0.388608032418 -0.236411642565 0.039453585483 -0.455419776714 -0.055510808073 -1.594412941019 -0.190173785798 2.543632721395 -1.785296539196 0.338092840843 0.313380947586 -0.481691031433 0.532882255573 -0.594298277139 -0.862717194636 -0.032012178399 1.158253450515 -0.171704424647 -0.075851598053 -0.786469026583 -0.251690963119 -0.188263176687 -0.481225834367 -0.516114976150 -0.032038689793 -0.211996903946 -0.640024950131 0.177653375931 1.797964251414 0.483721307196 -0.004796040019 -1.076057415763 0.105575040670 0.027566083956 0.004060433657 -0.167974400360 0.373796543794 -0.196115732611 -0.196903997016 0.279173024065 0.031035463209 1.982208053749 0.288688518510 -0.136711681373 1.974171681546 0.015849110439 -0.408175134438 -0.307227068691 -0.719125779555 0.558114999629 0.058858679837 -0.482450545377 -0.013657094310 -0.343778728049 0.078556607397 0.361747409747 -0.310989006127 -1.710026712864 -0.308055299730 -0.079226522311 -0.001795215654 -0.038359414770 -0.296655124370 0.203051460162 1.725677170976 -0.690311288151 -0.659660852199 -0.554243798350 -1.291790749269 0.120718298627 0.342689949904 0.313065045401 -0.238481195051 -0.338124386841 0.705987655616 -0.837585433037 0.181572006364 -1.092479996708 -0.016389704075 -0.934748109390 0.202741347060 0.015713624648 -0.347694498908 0.710531893672 -0.265195716956 -1.213203341081 0.912939273211 -0.172846234224 -0.241513663550 0.262945316015 -0.298237525679 1.976733433743 0.026242210773 -0.325620697159 -0.880474498337 0.020649921210 0.178786627019 0.164664874247 0.111361422629 -0.020946217612 -0.783805667789 -2.785458794430 0.174083130596 0.868797856291 -0.058274626807 -0.431358663988 0.924062353730 1.207466650460 0.010196559984 -0.291417430602 0.796204087748 0.632081931804 -0.421464443126 1.848314446963 -0.055721268571 0.539315782580 -0.018675055860 0.567776307353 -1.648417126787 0.015563264553 0.298068353978 0.686351976724 0.009954473269 -0.008005220662 1.388891208647 1.991032929137 0.482896005388 0.679192043015 1.627733814883 0.114553483240 0.159512300283 -0.001644582559 0.063083351295 -0.722843900984 0.370404988642 -0.026556112548 0.195931902167 -0.180746247298 -1.637561824487 1.485356980397 0.239183895631 -0.044636572173 -0.617662811002 0.996513740351 -0.032692376214 -1.776363397599 1.538607671582 0.618292158949 -1.108652011322 0.172464199268 -0.120521620056 0.172711396507 0.122655343715 -0.296291778000 -0.092501416515 0.890250405501 -0.352249203730 -3.338032073646 -0.269225853462 -0.089682251259 0.260210611878 -0.445457742265 0.098695938505 -1.097432720325 -1.260163848357 0.210836933127 0.025727492346 0.309588933946 0.052861473809 -2.358659881151 -0.467686208025 0.121801419777 0.920150059216 0.007967476575 -0.012734514205 -0.323753745037 1.635746224788 -0.029151071248 -0.118035311256 0.267548712605 0.289547458725 0.419147716661 -1.834632119386 0.482596979274 -0.833691447676 -0.045058558363 0.000487602360 -2.712282777700 0.062524029189 0.582080752628 0.602767503145 -0.194996192879 0.070632674699 0.485541636517 0.917893451172 -0.184331690951 -0.905778042308 -2.313680179287 -0.146870108293 0.303389630899 0.202472526093 1.032353321361 -0.893128925551 1.213687841074 0.171887583398 0.534360108481 -1.015023339424 0.006154910617 0.878959724639 -0.330299596544 0.131513395478 0.209570345408 0.239383853533 -0.489385239508 0.214839549680 0.363725029496 -0.003028025900 0.428980321098 -0.469593049532 -1.039235013083 0.420594838696 1.799423036896 0.014034843815 -0.247784706343 -0.914759986532 0.028345432138 0.196254576120 -2.263905540152 -0.000407642696 2.037046441211 -0.023950122991 -0.146127750833 0.786184693841 0.081736924815 0.374003248472 0.164895020315 0.926153071731 2.154297711800 -0.329722138837 0.396908353089 0.149376325578 1.455077257650 -0.477616731599 -0.031437971141 0.006345731590 0.002364682537 0.672619207710 -0.002175751179 0.704086451295 -0.010533713641 -0.814212407840 0.688198581479 0.303334793137 -0.032397713333 0.598300670735 -0.286134432523 -0.239005000067 -1.318419046205 -0.359349816069 -0.016492587877 0.200764001206 -0.218318347471 0.492701399251 -0.125278677392 -0.300175960377 0.788738672493 0.424955336903 -0.350431036158 0.069913973136 -0.619683026524 0.246981051406 0.517140455127 0.536469709139 -0.230202463983 0.292808266388 -1.107192397544 0.200414650209 -0.097592685170 0.002975983627 -0.005446020720 -0.913119660497 -1.845245135687 -0.916894308413 -0.263403906182 0.085088385504 0.182259547790 -2.001425572264 -0.005208354959 -0.369202297021 1.311837049384 -0.331640746101 0.367085677881 -1.132204826431 2.435759013825 -0.335854603103 0.676254157203 -1.436359624955 -0.469471513154 -0.152373039107 -0.891320688133 -1.021165142203 0.192843046716 -0.601197944118 -0.067795782166 -0.135649890327 -0.306703825704 -0.320017065822 0.919226648993 0.452301889887 0.017577415666 0.648405476693 -0.047678829774 0.031017787261 1.961785990501 1.220591736920 0.286544486845 0.141789108969 -0.512898337078 1.140672261131 -0.208360508761 -0.011800281997 -0.068946787620 1.157176716878 0.922807194319 -0.393304765656 -0.000344262479 0.116415693239 -1.388889982619 -0.424870475778 -0.226867418334 -0.025226846317 -0.987708195376 0.729842290356 0.060209405209 0.493904504840 0.150901654320 -0.253385823361 1.058379243156 -0.328978666867 0.363560289060 -0.006260249713 -1.432794293407 -0.051416227782 -0.635741141226 -0.005605473616 -0.202028555674 1.148729542186 0.448175713202 0.070779483746 -1.126276693161 -0.388591920938 -0.015832920523 -0.806229779840 -2.355366392960 -0.244567038569 -0.470079902777 -1.069408042354 0.946576325429 0.086863288168 -1.236031120730 0.201232044922 0.472738396149 -0.760466782763 0.088320700264 -1.158851765153 1.165570779553 -0.054405027845 0.769935397810 -0.195378014704 0.261210379316 -0.409168013906 -0.006506711559 1.476206542170 2.003468542660 1.352056358482 -0.019945138525 0.553736037928 -1.092144008460 0.249058350426 1.521053720352 -0.042844124733 0.215472916574 -0.002307302094 -0.476887919211 0.200120344522 -0.441397537387 0.865420890205 -0.010660933933 -0.407370171209 -0.192943175359 -0.272343439891 -1.117783999661 -0.489512168181 0.505121701643 -0.156903324073 -0.299607624939 0.075014257653 0.641654895252 0.899012859736 -0.220245670473 0.556986371711 -0.163218494144 0.004672883602 0.008582265663 0.804884800796 -0.265405768637 -0.030666101159 0.130762572377 0.111365310124 0.878501580064 -0.056879831287 0.507038478482 0.603040136017 -0.275678448380 -0.456610423732 0.581811479219 1.804042478183 -0.374553506165 0.506471895294 -1.174081010784 -0.002910336421 -2.820138274962 -0.001481738694 0.112767049129 -0.047353151296 -0.229520028947 1.153630694587 -0.345612886393 -0.946440430218 -0.003572796825 -0.308546673959 -0.180827558451 -0.035636602040 0.012218013230 0.897018107785 1.193928314733 0.432505206244 1.935112100615 -0.094300621310 -0.047471595084 -1.051194134434 -0.461843326270 1.908402882644 -2.013070295364 -0.921906834412 0.258627308252 0.472018482565 -0.224740641368 -1.386378670847 -0.659874019355 -0.005517563152 -0.196555703641 0.403057833468 -0.702498625228 -0.002165300680 -0.632568588829 -0.416293950633 -0.620546481370 -0.031261823242 -0.032947196369 -0.141165140054 -1.046374733258 1.753938981031 -0.966136733912 0.019899162242 -0.338965800393 -1.484417828148 2.606187100231 0.021289348930 -0.135763040953 -0.745579490432 0.164756395721 0.186013368714 -0.406774168785 -0.168513336339 -0.134752138396 -0.133393085285 0.053236589787 -0.968431827220 0.610022397288 -0.287278579378 -1.487085194608 -1.018072157190 0.197443094489 -1.223522414927 1.004248607280 0.464381864329 -0.307634122276 -0.420621498475 -1.484110187738 -0.127793168007 1.291724981663 -0.307423960061 0.026921228515 -0.065099795785 -0.001744796818 0.094205223418 1.546558466186 -0.186625089393 2.147767148977 0.267208850820 -0.101322142950 -0.453834861886 0.614178265786 0.110750847341 0.217937257727 0.069012087724 0.452123407537 0.446198366542 0.526162083463 0.254051761193 -0.102465636131 0.583077751519 -0.233800632749 -0.123076313387 -0.089004473138 -0.843654139330 2.464300763601 1.670818703034 0.001267588548 0.200748302819 -0.004002735641 0.125620913071 -1.340130030692 -0.076546025310 1.066756951790 0.031697815399 0.625843712381 0.448695439971 -0.421247100294 -0.213593359549 -0.026968204161 1.260850534056 2.711516734810 0.013362651575 -0.366542338748 0.003559478637 -0.065194564231 -2.331659143583 1.180996145671 -0.140866674489 0.915044748191 -0.956523641522 0.030328438454 -1.497705849760 0.698890497234 -0.255349064692 -0.833199008753 -1.090418934243 -0.588551201544 0.016334189800 1.734408024417 0.630056461517 -0.213487707368 -0.682610545792 -0.001018505526 0.466477910972 -0.007883712003 0.351046118637 -0.912318404766 1.011097243050 -2.220138696049 -0.693688248824 0.207923902119 -0.269053067550 -0.895276079100 -1.350800451961 0.035512829141 -1.678182955150 0.428877353586 -0.387953237789 -0.313340727898 -0.160274108955 0.588623439298 1.629495270805 0.067712942059 0.079050215252 -0.486469407974 -0.391818346764 -0.025298535296 0.126923603966 -1.835937884027 -0.080498089740 -0.204665677279 -1.020190519679 0.078669722237 0.746669350662 -1.497248828289 0.000632289783 -0.447631729539 0.532063277934 -0.004300650557 0.473666928582 0.202941222774 0.141636799728 0.797342752172 0.566258754092 -1.679134526282 2.514262531376 -0.083198533556 0.107201743568 0.425430079904 0.056280219137 -0.313453718105 2.464175528929 -0.341417544168 0.169863342382 0.588140776003 0.455186658405 -0.390869279740 -0.033666512407 0.188685841660 -0.001078636068 -0.656647779883 -1.676240244524 0.251071323364 0.001143460425 -0.335033152242 -0.177238063279 -0.009869981783 -0.097031893688 -0.071402683295 1.312523215506 -0.509856850153 0.012185391358 0.918509705209 -0.846325737207 0.080427409829 0.162485902644 0.141002292420 -0.030881315333 -0.395974413861 0.215308886351 1.061832964733 0.306765830246 -1.092563355919 -0.031778909319 -2.002244000952 0.838968445181 0.238528471331 1.261268495705 0.139112640168 -1.277317573451 -0.168624618156 -1.681572752040 0.316366887863 2.140742777407 1.570359640502 -0.002154090748 0.765000217089 -0.001661652056 1.088607556419 -1.470588733151 -1.137614850591 -0.045373720368 0.003238054609 0.403795886521 -0.849106111383 0.989642549493 -1.028312908843 -0.033648016579 0.139520293394 -0.046770878643 -0.161405574015 -0.404320633786 -0.400120470285 0.080043272745 -0.387108805386 1.068441909438 -0.071109268480 0.454881241693 0.526016853250 0.157222982696 0.529038533990 -1.743516650978 0.122056789585 0.128224577598 2.455430182143 0.757840777347 -1.373768108268 0.145737517949 0.008215327320 -1.105032566776 0.407471720470 -0.098075270595 -1.843484356418 0.082504875232 0.382928334099 -0.046688316441 1.470822756027 0.028186146913 0.326382906474 1.514613809788 0.172452948159 -1.076372960762 0.072360063060 -0.526467910675 0.281255840199 -0.936280802756 -0.009740049738 0.801498522607 0.643720051679 0.138939858729 0.195066678133 0.005309795126 0.094643547283 -0.213149045258 -2.367264686031 -0.155743485091 2.601439764521 -1.683176083528 0.262473829562 -0.038022312106 -1.549288041686 0.190290632383 -0.778472007525 1.138703463099 -0.314250069803 -0.103578907456 0.327351589637 0.049591124541 -0.350912049369 -0.034305074468 1.381793889755 0.155887943892 0.442272342307 0.347676605408 -0.340482727118 0.157480596037 0.319934668425 -0.916375525507 0.146308944127 0.077898042288 -0.504468742844 -1.081969794588 0.129404973688 1.010383325245 0.942128643766 0.056025110160 -0.504413760374 0.481586424589 0.259704964309 -0.292999130350 -0.003006721416 -0.355017894126 -0.148392526965 -0.071807003252 -0.639111295567 -1.096969349280 -1.774271105775 -0.511954140137 -0.581520845355 -0.005801570256 -0.044616462008 0.466118389508 -0.357122968152 -0.484521324048 -0.932655886914 -0.155456842039 -0.252147894915 -0.354913675803 0.373601059205 0.025485465493 -2.089635704178 0.735497710230 0.073448360657 -0.588000240573 -0.071183089231 0.929047659076 1.938561898766 0.304513589361 -0.008745142633 -0.471587669094 -1.148554973639 -0.001206434479 1.844606929819 0.324680172204 0.529146358348 -0.596188983656 -0.247684699358 -0.229220819798 0.061233812777 -1.077323506130 -0.064797414002 0.418670403618 2.103265464211 1.304722221403 -1.528777777140 -0.400670747713 -0.003736942755 1.050451490044 0.473809677502 0.149937987636 1.362109232396 0.425947274438 -0.080048328870 -0.100355494368 -0.324117199231 -0.121371864850 0.077322954962 0.051954540324 0.335994850293 -0.055626369998 1.583637619198 0.407354891201 0.033126375708 0.049453824868 0.158515727329 1.035846663971 0.506736277200 -0.000165269148 0.741268790198 -0.035439075883 0.833942407628 0.597985205317 -0.341443002077 -0.117971290889 2.832666891754 -0.218688625579 -0.028946519426 -0.605594608839 0.373850144423 -0.760646395423 -0.105931774162 0.182116942900 0.344087759542 -0.493333916859 -1.263866254373 -0.031440930640 -1.782966257564 -0.124794660350 -0.598405025444 -0.549683454285 -1.724187635462 0.318568064143 1.397414165761 0.002498521440 -0.028991271704 -0.093119177022 0.168211402775 -0.608555884363 -2.526831958963 0.070153160361 -0.370265215684 -0.459673239505 -1.127474267527 0.287334856777 -0.869550715648 -0.849327076379 -0.281913957788 -0.857436164518 -0.009737525240 0.430454972780 0.924223998152 1.270690792059 0.042471811633 0.043722123433 0.062511120562 0.685229525201 1.613554989680 -1.033064111830 -0.044231602554 0.236773254772 -0.142260309895 0.168289577428 -0.150475497125 -0.004665286605 -0.042723696783 -0.832202124387 -1.283327139117 0.122379925060 -0.155791424756 0.430320120730 0.504768319621 0.995867278087 0.307313841298 -0.008829918955 -0.997521843640 -0.386927359384 -0.032303260006 -0.099640038787 -1.736169126966 0.031960932402 0.436344389957 -0.179546379115 -1.751628992531 -0.306507383089 -0.528227904575 -0.078355855516 1.885242662855 -0.338779658086 0.316521806266 -0.103999966714 0.731848247660 0.100524975955 -0.061653717933 -1.039217545128 0.165817952507 0.016065353469 1.854840825165 -0.090047518540 0.442339041184 1.015906941921 -0.719585218509 0.332182990204 -0.075806952415 -0.018734946654 0.004249376790 0.859421578291 0.057261784199 -0.079085731774 0.871688041495 -1.125041568588 0.116740564061 0.006433401366 -0.403545322036 -0.202556847798 1.547164646046 -0.318794800609 0.100482417608 0.267476883022 -0.107865114066 0.744495855207 0.061973360555 0.079736746440 -0.041090736078 -0.029767058065 0.049844260367 0.402816357633 0.043294303554 0.218146359602 1.720438591941 1.464456622810 -0.025645862291 -0.858845420076 0.327697785640 -0.223679764060 -1.225549697976 0.073596151960 -0.388182065159 -0.204744670273 1.343846157560 0.010504244145 0.929747992466 0.793601482275 -0.204356485427 -1.113199076542 0.209828736414 -0.754183869801 0.166310783511 -0.180922063115 0.205374403854 -0.192124490025 -0.397799880524 0.141242677421 0.439954435518 0.304987128804 -1.307339550245 1.292306883066 -0.584541450627 -0.001375007322 -3.007462519375 0.556834342042 0.100961670163 -0.711997874630 -1.332223609451 -0.393690797195 0.213349786480 0.325055394581 -0.258667006578 -0.018356991197 -0.056998558437 -0.233632022247 0.000836638518 0.656734453547 -0.600185470796 -1.937457684454 -0.109836572288 -0.227419580186 -0.001304772674 1.006155420778 0.040148845610 0.750169929065 -0.167723175109 0.108156687958 -1.175526367968 1.802791434915 0.053961352368 0.559083762893 -1.798265742114 -0.000456364401 0.003842555149 -0.748661683860 1.348657825893 2.419969508642 -0.290967344856 0.100848515237 1.425114728980 0.207002681343 -0.244623386823 0.009758780980 -0.533136314026 -0.314356504952 2.317987179781 0.001607353943 -0.073240725044 -0.920784748926 -0.437687885164 0.022456186670 0.049664513363 1.204501515876 -1.825025709490 -0.362399173109 0.074653466994 -0.009695252857 0.197953154750 0.214161341727 0.420299667838 -0.149778553185 -0.193753040760 1.318132752895 -1.011059652273 -0.023394316165 0.026408429051 -0.068512572039 -0.792572975710 -0.033726000141 -2.070181571453 -1.386088363040 2.466493086883 -0.616177336576 -0.500181621614 0.064670062582 -0.195812025223 -0.963236173197 -0.182761051646 -1.216593118642 1.449737385105 0.251424764330 -1.213332468174 -0.002561008293 0.018246105078 -0.045031751354 -0.454907660671 -0.102488459061 -0.035524338997 -0.763156418432 -0.009805937417 0.481479330900 2.073323325018 0.187882844725 0.610743317913 -1.116146256471 -0.011710461413 -1.386164483706 0.524953773808 0.354262205361 0.011160742684 -0.345475133600 0.417945927106 0.756779777524 0.388937273303 -0.232964804556 -1.041712327480 -0.017632347764 0.892989414989 0.108792382837 2.281333691471 -0.055671623694 -1.075947192890 0.202200732047 0.072188493602 -0.331727129912 -1.079793951061 0.384303821563 -0.208249098436 -0.005215430090 0.041512100201 -0.489542182266 -0.064414268191 0.163901778872 4.099901441281 0.022218308133 0.111479569903 -0.029878299733 0.091340506183 0.185068310569 0.299897189271 -0.155258734089 0.070817018176 0.246087253191 -0.176493482448 -0.361948935175 1.299497790486 1.097108911289 0.021611851978 -0.119067096161 -0.386002980339 0.001856551813 -0.591029189773 -0.607595608315 -0.004518605230 -0.908876058630 0.495986575720 0.010032404629 1.211890339118 0.164077157313 0.616370650794 -0.115657255309 0.386992354800 0.211202899058 0.606416882493 0.769205896673 -0.492078401511 -1.177390251054 -1.031500888688 -0.036156082577 -0.110213225866 0.531981172842 0.316946683561 0.047221609299 1.961248726300 0.067690584402 -0.140659833257 -0.002153430986 -0.458657904091 -1.492564757680 -1.659366593164 -1.258690704693 -3.698705533460 1.022082071199 0.101513612736 -0.170010007573 -0.531158375617 -0.031313006212 0.025400465503 -0.823352672142 1.437553948804 0.356564334356 -2.954295338730 -0.117485700522 2.629319782347 -0.007287924985 0.088153519009 0.068166818273 -0.414677666086 -0.013540556508 1.346733465987 0.102248895192 -0.744411509199 -0.314915169137 -0.421963522791 0.140575164001 -2.395391256830 -1.127131957216 0.787638389432 1.535660706791 -0.514512335380 -0.147526735228 0.322744428897 -0.165234364508 -0.032653174466 0.846367676989 -1.477640669874 -0.828647037968 -0.125183832004 0.022766453486 -0.155937533917 0.604014188211 1.304213983339 -0.042642650094 -0.868250637687 -0.164962270015 -0.434632357757 0.365813293167 -0.523626555914 0.391245531146 -0.000153887057 -0.158715269822 -0.357355154601 -0.013413505282 1.459080359137 -0.964252083073 0.789098650202 0.821527437718 -0.358568934485 0.393138286004 -0.142703979702 0.060268339877 0.709966909167 -1.076351798710 -0.033100102247 1.814428943649 -1.276794741760 0.069238045977 0.224540027589 1.002886433538 0.542483115079 -0.002480486675 0.067150311205 0.093820049051 0.712315471985 0.349456588232 0.096526779135 1.757507916482 0.056783715950 -0.086059362123 0.938271060619 0.006934379624 -0.218040483584 1.233624189286 0.803994221148 0.068709160684 0.705171354782 1.745808863267 -0.033425196380 -0.990907199595 -2.614087695017 -0.070556231750 -1.060205885305 0.670287881932 -0.251571350939 -0.109622930789 0.323626616409 0.514290773341 -0.324961716530 0.076132705330 0.397205665218 0.869264868853 -0.530131441698 0.050545116177 0.789636857057 -1.848448070026 0.363397783318 -1.023775864329 0.779624011680 0.276030269773 0.113330829778 -0.494291341357 -0.000751709403 1.100373159448 -1.352605323532 -0.165313644882 0.481776579503 -0.339648655653 0.520459025993 -0.209390294415 0.299415636528 -0.157420231505 -2.847756063861 0.364751448494 -0.546133751310 -0.063088229401 -1.934431531727 -0.501737168074 0.086985299024 -0.137057029368 -0.033007819555 -0.019213422428 -0.621983025962 -0.232461523617 1.550308966770 -1.538203114802 0.862910632574 0.143793633463 -0.059530686611 -0.248605493162 -0.762886601330 0.893497697382 -0.271107311805 -0.008316576211 0.004334990362 0.662134091021 -1.506916250938 -0.282166152321 0.030836453326 -0.972850948533 1.717003221581 0.029396348824 0.079340613669 -0.101571479220 -0.394983581755 0.475575227561 -0.170528866414 0.355775602944 -0.023857541673 0.738385715702 -0.336319480616 0.227072933237 2.419046463918 0.836346363401 -0.385630291644 -0.513882847574 0.624250066670 0.014645545827 0.000922730817 -0.165239503572 0.254235706854 -0.497753554972 -1.168225156244 -0.615633653855 0.018441686869 -0.350924756877 0.720076828683 -0.500686881194 0.370984112764 0.149659236565 2.603281989229 0.496085788487 -0.481989725381 -1.238788791605 -0.061068974907 -0.456862447976 -0.040031488496 -0.228505858367 -0.062507702388 -1.104281862756 0.366927354888 -1.066995308753 1.990451193216 0.005874393256 -2.158449282213 0.071462659224 0.196453396613 0.391181661506 -0.023269911600 -1.435930645595 0.232124665130 1.413338308929 0.061775305832 -0.773611165170 0.890356047031 -0.000541561852 -0.805756746240 -0.050771298422 -0.220678123191 -1.227627756780 1.864388760505 0.069685892710 0.151893793346 -0.186418610712 -0.127263868707 0.930338637127 -0.215597942488 0.383841943168 0.231649831421 -0.004671891175 0.605599224192 1.763772452908 -1.953178563718 0.154463937631 0.138785138366 1.170323798242 -0.597003925924 -0.837157692327 -0.025729163647 0.030009542477 0.317182807984 0.427059823873 -0.146729068076 -1.082236055307 0.532204571999 -0.154170938365 0.039898088892 -0.376343099329 0.426862097010 1.193776901506 0.290992308101 -0.235212150100 0.091773060826 0.012853113823 -0.851668993905 -1.195922004026 1.505855655991 -0.054844889497 -0.520342695103 0.026988816143 0.227501912288 0.748828131372 2.281920934143 0.108759541353 -1.160647461206 -0.125360375591 0.063302981931 -0.053337204372 1.724389750258 -0.281409118766 -1.352984921892 -0.303385525045 0.735372994278 0.164021446448 -1.190609522616 0.000021788387 -0.756600719835 0.006474140256 -0.103504935393 1.068131461726 -1.099253242122 -0.441888635702 -0.699095177102 -0.240389150838 -0.228038910421 0.804726758842 -1.172146853565 0.008426696908 0.585404844709 0.091088728677 -0.293590383110 -0.013708447862 2.875340224676 0.130937357495 0.145510544187 1.036326788848 -0.072682894685 0.114260690971 -1.356130420199 1.327197364562 -1.355480687140 0.087383537209 0.213487818606 -0.711410018471 -0.430228064993 -0.453439179723 0.110688408420 -1.770647455479 0.006966644338 0.859697408882 0.049012189286 0.016204218848 -1.238566784838 1.270310372935 0.020613209109 -0.029971216466 0.751915106115 0.189654145986 -0.348606536729 -1.993122150193 0.032581208034 -0.182040072434 0.056773456730 0.081211463404 0.511549912883 0.425173575121 -1.268970325476 0.030632912456 -1.052846952048 0.011540029124 -0.130796482061 -0.299851553763 0.009177783679 -0.638976755406 -0.691906154516 0.399146781501 0.451737222472 -0.430453890196 0.169728465542 0.030329777223 -2.737752850760 0.045636077138 -0.040514966446 -0.042079578723 -1.504619814209 0.141864717772 -0.360660284316 -0.028192970663 -0.130200469474 -1.049421239737 -0.102299907878 0.058823213445 2.862568046112 0.164460683952 0.529345951603 0.485783418050 -0.046903436758 0.024032421328 1.050500363507 -0.234206458549 1.786442054258 0.217958534605 1.400866349679 0.248688505744 0.505054983012 0.293955209916 2.011110253493 0.044693161111 -0.206058064807 -0.205206585390 -0.008187809828 -0.000981133360 -0.004360906799 1.227209054654 -0.642721523294 0.554167603799 0.287923124051 0.008489012913 -0.186968103675 1.891599227674 -0.115364048455 0.396412939702 -0.971334305460 -0.218159698653 0.904308588160 0.244284087829 0.011101946699 0.744812739133 0.318126527783 -0.156732012039 2.547943666597 -1.550102949292 -0.014811345722 -0.746649853281 -0.841014135351 0.023842306921 1.924339778066 -0.107477825661 0.149009469249 -0.212745429024 -2.327631857682 0.010023033374 0.526296217599 -1.230955692298 0.056596667060 0.094419509659 -0.581632961495 0.359201383042 -0.090301650387 0.026992677627 -0.160055124997 0.020005913902 -0.893737324782 0.059306454095 0.962027802320 -1.582050458105 -2.123743416981 -0.349114764409 -0.680601604693 -0.004118282474 -0.538043845481 0.143269187616 0.241628128821 -1.180141846629 -0.049305037160 0.297093869855 -1.772384364466 0.757069749372 0.106772417490 -0.554671357728 -0.532481403752 0.476819012998 -0.060972081036 1.234804774399 0.021782771531 -0.289768996148 0.421491308771 0.159253005153 -1.787247071997 1.307377502197 0.233547599573 -0.249548403554 0.060908726196 -0.072907549334 1.414032016477 -0.130540659902 0.061641309473 -0.389073933085 -0.377977409982 0.118626447780 -0.899836283652 -0.560395289538 0.148444906128 0.193257975604 -1.037115481153 0.068323221905 0.292956036983 1.310339103505 0.071991432291 -0.819377145601 0.572773227046 0.952304493369 -0.006751835216 0.021425137782 -0.175563636420 0.614285391044 -0.573645433108 0.414034765939 0.645153422413 0.000640406419 -0.017477855813 0.266705112274 -1.362890900220 0.043849586674 -0.485862845069 -1.645565217173 0.009655749873 -0.605400654943 0.315634270586 0.681927509039 -0.467545934212 0.141247040977 -0.080224445144 -0.137913077435 1.781791304756 0.258032735857 0.622112093845 -0.308879302934 -0.583790129591 1.366788987831 -0.047777290880 -0.257315441612 1.253291702454 -0.510522776675 0.012012783706 0.136323388515 1.677171707009 0.117578142670 0.449519013530 -0.016892271150 0.001336066553 -0.136399429697 2.114630133950 -0.115859603768 -0.347724822961 1.490004291850 0.318442410165 -0.291005152619 -0.804477701508 -0.120700825268 -2.174041079325 0.075151662428 -0.115747306165 -0.368407776057 -0.421253006099 -0.490220191160 -0.241315100938 -1.821691158411 -0.024020675146 0.106827013192 -1.175280560071 0.351777037265 1.224682087375 -0.374272493988 1.666704115742 -0.006455838260 -0.299119106094 -0.207427496354 0.883607111149 1.602385472735 0.024506039351 1.775722955778 0.478948645303 0.416730540557 -0.595776980374 -1.049284910856 -0.081357587716 -1.924974652351 -0.008357918586 0.048681584860 -0.761615514568 -0.961793815472 1.341731505098 0.031706717821 0.454458546583 -0.188514644755 -0.285794218773 -1.380794371656 -0.345171611011 -1.827440538102 0.905784469352 0.503303911278 0.240223204234 0.096926879914 0.479403455295 -1.575947278754 -0.027614109071 -0.032715174581 0.920027555576 0.173321182020 0.436030400762 0.538265241559 -0.028417580765 -0.212407048726 -0.252980451295 0.317030282098 -0.001472237284 0.094263082825 0.625313995403 0.440859872890 0.013321829199 0.037147544737 -0.380268048859 -0.119354873022 -1.127454329163 -0.051987212261 -0.118715012593 0.098227181832 -0.253668434155 1.346345047145 -1.069593469819 0.022333086969 0.548974833737 1.090618743900 0.422809575584 0.398068971015 1.564115753779 0.038119197739 0.481735580852 -1.150622599807 0.112758796093 -0.832084850777 -1.027085957120 0.086691689922 0.841561281432 0.004523991761 0.002478617306 -0.663370937939 1.738336111140 0.119587769508 -2.700247830983 0.258532377664 -0.044903614929 -0.148654942847 -2.130610022570 -1.795599760242 -0.730096349570 0.233587203197 -0.006609781372 -0.406745131918 -0.003348670911 -0.300289144688 0.912520029645 -0.613437397832 -0.091540176839 0.552895643076 0.017362118713 -0.105665711744 -0.020902762357 0.900198432501 -0.230271706555 -0.083230080188 0.038624259137 -0.563660409485 -0.789545192810 0.949768481540 -0.027256476000 1.337437574237 1.339655194582 0.054406421102 0.192253515055 1.824473455936 -2.382300101455 0.696813481082 -0.613392918704 -0.266829882284 -1.514452732483 -0.284907405031 0.284193272868 0.527785353256 -1.286318279543 -0.879939085657 0.078676288195 0.427851374819 0.074686318405 0.392599849236 0.253534643816 -0.029149167612 1.330630668374 -0.040428616441 0.708842104510 0.247554713717 -0.150687617467 -0.370624380530 -2.124434448713 -0.025353261999 0.142802381427 0.432458056626 0.195214196813 0.816956242316 1.707402730252 -0.697018923945 -0.003609305784 0.000729889214 2.719232784800 -0.087387003804 0.340114236182 0.968103972901 -0.390884240229 1.544942383048 1.743997836711 -0.008001534635 0.588423325412 0.031653767792 0.074928801693 -0.426466809645 0.415672441793 -0.012368841321 -0.487090352544 -0.084833896465 -0.007725429465 -0.282606337218 0.006299836021 0.182768527778 -0.457383220134 1.178191636275 -0.182597499938 0.996788973317 -2.061099906466 0.356210416517 -0.035084762275 -1.591036656702 -0.401083054698 0.128672933901 0.019601441517 -1.237213084119 -0.277067228384 0.331814615317 0.072331437886 1.331407835877 0.227915040145 -0.208561471893 -1.823889953554 -0.078763012626 -0.320972689698 -0.359336380447 0.312669672610 -0.019217807058 -1.323863407992 -0.033664440888 0.093503238316 -0.031606227190 -2.062811569534 -0.701286306573 -0.363011433512 1.537262118953 -0.029582963351 1.340962811257 -1.038389653586 0.199261102187 2.268636620292 0.177027132068 -0.046548075506 0.068886294815 -1.096406411440 -0.044308378754 -1.915024931927 -1.051124884647 0.004227504082 -2.068168681609 -0.258830838603 -0.428882482633 0.240431907153 0.231084805628 -0.022670043384 0.388210446245 2.138778362640 -0.326313706137 0.199286270364 -0.762992473932 1.220749274357 -1.251169770643 -0.010353870474 0.189271390029 0.007848275759 0.346048216964 0.058113688605 -0.053055651699 -1.120834920085 -0.388737976911 -0.086630995301 -0.187676150833 0.712576905864 -0.215301835546 0.660667118914 -0.082260837087 -0.685645839786 -1.261907624551 -0.098464094662 0.293187899464 0.006216213782 -0.059834921951 0.074561105475 0.045851536285 0.489022710414 0.576441544473 0.133165570582 0.687595064383 1.384971651566 0.218486896425 -0.186411388234 -1.307596560968 -0.044662342017 0.003542246652 0.747955575056 1.035208125947 1.198886631812 -0.307731971025 0.435368415939 -0.318223290533 1.276886766729 -1.462521987723 -0.285055863208 0.496393049282 -0.270199784787 0.021184040156 -0.220120592753 1.013080359087 0.241330676497 0.315604389054 2.302893573009 -0.027512458990 1.024592603388 0.212445458768 0.039343538506 0.129058451421 1.519343182101 0.205912593099 0.071740082494 -1.434359285706 -0.225291100206 0.354238803519 0.337787666570 -0.457786949388 0.004659111697 0.182390433367 -0.216932631079 0.003180717859 -0.291458905611 0.360204242278 -0.754966699305 -0.008597547545 0.271088362725 -0.678722713099 -0.200230070458 0.470111480177 1.373447460369 -0.989818309482 -0.081753647123 -1.374566718745 -0.771955261588 0.750246737005 -2.654934185275 0.111439131631 0.040331548437 0.719676804910 -0.068053549168 -0.112869727599 0.575024528098 -0.341591116479 1.119380672878 -1.662603692645 0.155616711338 -0.021642187863 -0.108525184491 0.032700568915 -0.615845886106 0.408902957914 -2.142416729058 -0.781502883886 0.111189445664 -0.605845913455 0.028350528317 0.558411938563 -0.962572644355 0.211662107133 0.039745308709 -0.110027224101 0.954187622765 -0.579304732738 -0.060714626148 0.054296229465 -0.205228849152 0.465082944893 0.055247613610 -1.409784520615 1.640400285076 0.003480854681 0.142414990931 0.116009251119 -0.354613615391 0.006862409041 -2.210320553013 -0.062504982837 0.127126877999 2.227545128924 0.012652846923 1.040390325737 0.323457930731 0.093124122978 1.491586073713 2.635899434252 -0.246788517361 -0.691733377966 -1.308217562600 -0.176058496285 -0.633960321941 0.658128373730 0.004278561798 0.511038983803 0.042332095239 -0.327727362865 -0.086346379042 0.115190755139 0.199806049418 -0.533162858484 0.945640854224 0.190007159836 -0.215872799357 0.315194988083 -0.080242539139 0.436696480593 -1.342391766054 0.065974607380 -0.410324223644 -0.311522976139 -0.114826968064 0.037625960090 0.158331118478 0.040279255810 -2.213853018373 0.766901196711 -0.287176269790 0.319442764333 -1.668138927693 0.086641472830 -0.338918365363 -0.653873643249 -0.313822605842 0.452626651582 0.379335073782 -0.138958574206 0.604201677767 0.677695838335 0.244153379627 0.159228675502 -2.087217337906 -0.177535090281 0.133561780530 -0.446215166292 0.732564328974 -1.080180325823 0.553440083075 -0.126371632687 -0.081751667658 -1.231868344758 0.420177971963 1.234227964002 -0.004902476272 0.935475405706 0.664278888648 0.213888291800 0.512246654722 0.052861013128 1.005674090770 0.224382860523 0.239698727172 -0.085801992097 -0.285191504900 -0.832813368357 0.242546996367 -0.023669734169 2.335877327398 -0.022580166889 0.273062448103 0.005547594975 0.143911266460 -0.616360364466 0.874501138692 -0.546914702053 -0.313783709261 -1.348268282281 -0.236024196699 0.167071598211 0.000398301718 0.312865289582 0.213803450331 1.571701800508 1.213164552611 0.064504693237 0.502404992061 -1.164557470624 -0.066511805201 0.002348650233 -1.452069794637 0.325683870643 1.607119219184 -0.021748602769 0.388484483101 1.301753429059 -1.587750400629 0.403746060355 -1.061629852478 -0.183061859028 0.835760191802 -0.156918987388 -0.365190135435 0.220250342931 -0.244820796952 -0.509012253582 -0.005556019050 1.192257868005 -0.551329099038 -0.308806278141 -0.416292083576 0.065708209423 -0.095383679009 0.034478965033 0.322494288276 -0.053952064826 0.052327676086 -0.298946465216 -2.006214975303 -0.000821377355 0.160758026714 -0.279939230725 1.584791368013 0.297324100906 0.111873252154 0.085340707838 -1.538299067181 -0.101707069085 0.101805772451 0.182137923429 -0.373197852326 -0.480958244873 -0.127818581607 -0.152195070587 -0.211695784328 1.235351931986 -0.737465798198 -0.521883391351 0.011904990418 -0.027513088761 2.248447682948 -0.801763782525 -0.380641496204 0.002648508875 0.351448732976 -0.009880368158 -0.407996337532 -0.018163084930 -0.146141230602 -0.737631881784 0.985377927816 -0.611075858561 -0.406164947963 -1.058803575974 -1.365462284394 0.256111742663 -1.478538068436 0.221703172779 -0.012156514228 -0.690822896689 -0.524701356909 -0.435698890336 0.309616596679 1.306520816842 -0.081269037610 0.171016322824 -0.410148435192 -1.322673343264 -0.151609281524 0.016701315448 0.673948145398 -0.252785849477 -0.941201512099 -1.904412396485 1.991375807827 0.210176928948 0.217414610523 0.000287474946 -0.001461536355 0.437618739810 0.215364240269 0.476798257958 -2.777898365946 0.492028265540 -0.104095900822 0.499047502076 2.143452453219 0.295928025045 -0.440763300743 0.586478425039 1.542576634933 1.079775060333 2.496078102958 -0.154280321339 0.428356677687 0.607903121569 -0.034157051762 0.064860966518 0.157759287711 -0.200658822109 -0.771333007222 1.183654384225 0.380846813665 0.070185254392 0.125756903666 -0.005780945392 -0.688318117961 -0.200858066131 0.075846499031 -0.011194231253 0.672853764038 -0.048753625193 2.192523059629 1.662736151267 0.007499552469 -0.091457588572 -0.506787521218 -0.218418953271 0.225813905482 -0.588994498488 -0.605807606517 -0.973304988474 2.583425352405 -0.056991191003 -1.121596920772 0.104405008736 0.172777832947 -0.394027546166 0.044981525067 -0.056843214899 -1.246537724764 -0.944351761641 0.003623316569 1.194975014489 -0.085893672862 -0.360968706642 0.580934608187 -1.786065354550 -0.016074087051 0.621132745207 0.003321295103 0.399133182264 -2.045689961997 0.368587161390 -0.786785959569 0.434841773916 -0.608153307533 -0.187918142181 0.158704835035 0.098433125708 0.603925977904 -0.110048354211 -2.334734773465 0.029704967019 0.134459134258 -0.056658836051 -0.393886901669 -1.228306831608 2.154234632203 -0.328828222258 0.274665564501 -0.427736298599 -0.155547416215 -0.994847682532 0.361300168325 0.221625973391 -2.408586193293 -0.027333201202 0.251518382537 -0.646095985043 1.621810677310 -0.024920352927 0.001101835886 1.337631077562 0.000240067089 -0.007854897245 -1.699392555738 0.248703354104 -1.309946219757 -1.614439501402 0.939906738525 -0.129825065722 1.786541675608 -0.034625558911 -1.528349001829 1.198775765996 -0.159143421053 0.191659737046 0.337961008174 0.100076385284 1.600680955131 0.013871797195 0.369901998218 1.188731132006 -0.817946289469 0.003908906154 0.077040403510 1.288007003115 -1.708941726305 0.360255566077 -0.628123763458 -0.072340191875 -0.003629308782 -1.890956451903 0.064779952461 -2.214984701369 -0.392258752662 1.629105735931 1.515958548628 0.256873756603 -0.020977183456 0.575639527309 0.994325647036 0.225286547855 0.365032413829 0.356835902866 0.238901411403 -0.144302033947 -0.092825569239 -0.074725435849 1.130468630961 -1.804347134686 0.105196745501 -0.382273464970 0.163315267022 0.465128879280 1.675015651347 -0.515413544113 0.034729449779 -0.033111750345 -0.343932712608 0.283051969243 -1.155519618918 -0.030425313821 1.197805278769 -1.028018531435 -0.453631992447 -0.021934450350 2.583418077477 -0.023310302972 -0.058914348750 -0.369694593770 0.192878876534 -0.634773272792 -0.127620909006 -1.128970741281 0.664984215565 1.862827873929 -0.192027108504 0.049350893326 -0.218735687226 -0.347990484128 -1.995523127074 0.083661902361 -1.044037989172 -0.262294065388 -0.197904505385 1.536538378454 0.113818353185 1.198930083596 -0.392898169094 1.415169380698 -0.760417925822 -0.132533153957 -0.006039059164 0.027669932946 -0.182783982426 0.012169481704 -0.395731130362 0.233112693277 -1.181798054904 -0.005320483623 -0.374840277454 -0.474618653699 -1.387127564605 -0.181987592552 -0.014462442562 2.272944186074 2.053829620964 -0.031262886241 -1.097400546971 0.106038357923 -0.149218866048 0.415289486085 0.583740408005 -0.289945275932 0.127397484367 0.585262348603 0.878141233629 1.558010838874 -2.751296712449 0.169552242020 -0.085346108297 -0.305561374901 0.149222832139 -0.000582622287 -0.077627240623 -0.890790916244 -0.280837935644 0.722028516245 0.033096671797 -0.938122929474 0.024672669294 -0.288368866884 0.457132811317 -0.023344022027 0.051532536945 -0.169914089563 -0.669424201486 0.087980698672 -0.212329389457 -0.163515155408 0.390274402778 1.025292566941 0.297408547703 -1.028268228876 2.116420159650 1.352061337338 0.109580366424 0.694152089023 -1.418119626522 0.021800037173 -1.420619035394 -1.158330047318 -0.020256390280 1.485217124047 0.042939056200 0.470473821215 0.337106235041 0.239269021771 0.001457848507 -0.298601680808 0.283662260314 -1.508679951977 -1.795157869152 -0.689129596645 -0.412871859642 0.142989694354 -0.093504027831 -0.174754196044 -0.229974997060 0.747596533073 0.571868406071 0.037981558521 -0.152865509333 0.054373157683 -0.087367615413 -1.417850609051 0.316264017498 -0.203461336485 0.332384398662 0.280364412012 -0.197780335681 -1.329553848396 -0.134841547383 -1.026932687551 0.000541844371 0.002236686997 -0.741737662796 -0.848632346627 0.312918369221 0.512437849531 0.092876848052 -0.065692821436 -0.122460474187 -0.394988148516 -0.081393936120 -0.038847470659 -0.006376694217 0.490149573189 -0.091673738471 -0.700627830927 0.183918004500 -0.030465250472 -0.135427060589 -0.368375811244 0.026608243395 -0.054178837284 1.487489886946 -0.073089144491 1.654571991001 -0.045509604814 2.906202278228 0.255260119919 0.128685059778 0.285099287590 0.207142791714 0.295216046691 -0.013942965323 -0.496986390825 0.147283627748 -0.012896800635 0.696056249772 -0.388350131295 -1.402885815992 0.555920665795 -0.109700737611 0.588280507681 0.217565721852 0.049520142338 0.065333894643 0.899377464905 -0.552779090513 1.191361422116 0.348977513657 -0.019241464850 2.973977683925 -0.766997675057 0.390617350354 -0.325440539204 1.533498204824 0.214419895805 0.339492944927 -0.169625477716 1.204353503629 -0.958135944816 0.706462958504 -0.325160292786 1.563851936944 -0.000443219876 -0.141193987274 -0.457669384115 -1.667867587424 0.375149719572 0.498381939865 -2.142533626760 0.148872953439 -0.105296378238 -0.122038185832 0.078787056005 -0.618381526057 -0.285884169347 -0.304986689177 -0.819162964508 -2.132897581640 0.020322253034 -0.187986825563 -0.217097893920 0.067016727100 -0.095453541530 -0.009457911204 -0.600902577487 -3.098873760686 0.045011629725 -0.185425774776 0.401460632760 0.510612248209 0.111765123399 -0.739188221090 -0.455432222475 -0.007204669873 0.334118919717 -0.497922419866 0.318513553052 -0.293713267269 0.285293985425 0.178873649691 0.095724337881 0.786690514870 0.656602865841 0.561264570383 0.081420892737 -0.174707256808 -1.723214235786 1.052889910077 0.001313568544 0.264796820472 1.264252234067 -0.046297742683 -0.914221377602 -0.529678058919 -0.044891606429 -0.987390170950 1.539393876156 0.109906402896 0.381382347939 -0.190734966691 -0.782928930547 -1.689347177598 0.081292308577 0.307950109946 0.021272205859 -2.357827169407 0.233952986172 -0.157185103646 1.494922406400 -0.037235967097 0.043517288742 0.611619326756 0.023476916753 -1.515710668069 -0.218890669027 0.131087045769 -0.865825395836 1.025935276531 0.007884560806 -0.327947649317 -0.233977613902 -0.094504147155 0.566720503111 0.131707077882 0.189659697682 0.502926090310 0.421196244585 0.683531481880 1.758717511911 1.114274014627 0.008240394483 -1.711860295357 -0.193655868881 -0.098326165815 0.602128000183 -0.025208007887 0.211943135834 -0.016249805463 -0.017828508111 0.179968416470 -0.369317663570 -0.133863872068 0.238194434556 1.696864887808 1.383285533372 -0.157872461420 -1.214578275558 0.016879967473 0.173425461666 0.074494297428 2.080104324421 -0.377974407307 -0.223474790645 1.962047729173 0.315449059680 -0.250491398672 0.135113156503 -0.371049999353 0.804299613037 -2.442547817028 -0.128414980836 -0.148524967134 -0.147391238745 -0.157323198688 -1.208061137608 -1.176673189553 -0.005459977223 1.575072618138 -0.074192118385 -0.034756253444 0.295791027146 0.968452009897 -0.228458767169 0.511182586824 1.436179316713 -0.002332630986 -0.712193529297 1.504688501995 0.219051299786 -0.372944022046 0.231937091913 -2.105043669685 -0.023073422147 0.678117284523 -0.061332745355 0.004100856429 0.640673063387 0.004260701915 0.337053957634 -0.531374028488 0.049496833437 -0.624009310336 -1.376241120662 -0.407286337235 -0.009444106880 -1.969702320986 -0.057533731567 -0.000768903218 -0.792567993479 -1.249323862044 0.024514066702 0.203633132359 -0.009012360115 -0.807895744967 -0.545729121097 -0.605314987619 -1.756323000112 1.191248341928 -1.165649857048 1.817766750103 0.102018953642 0.017046725611 -0.252873105679 0.001905998051 0.069229733223 2.633770393448 -0.452384538511 -0.136309175596 1.073117140006 0.573024599367 -0.113507177049 0.390891557920 -0.093439283785 -0.468566301251 0.077020398202 1.284526036422 0.721988281668 0.200738065315 -0.027662041020 0.332940915407 1.627322236093 -0.597581025298 0.017986629386 -1.649299997769 -1.074655853580 -0.413036325587 -0.487062192255 -0.014818184689 -0.108706486662 -0.099489265819 0.497074271436 0.601449458755 1.587744198614 -0.316140488789 0.310391474167 -0.110589043878 -0.069940718911 -0.364813133909 0.365338667027 0.620518961473 -0.287329039738 0.044309139921 0.556310547706 0.432976292185 -2.798472008924 -0.497983424605 -0.210949717729 1.553296661335 0.142625078309 0.002082116196 0.397774049611 -2.000203318191 -0.880838145012 -1.163348886496 0.000108286941 -0.123465849002 0.081866008747 -0.378465013601 -0.240305821410 1.309349683806 -0.106036186969 0.235358778645 -1.119830103874 0.091640864990 -0.300504619228 -0.196080264833 -0.833055066091 -0.016660085775 -0.779350465410 -0.317284148738 0.273765329225 2.771172792421 -0.001880315531 0.077567188134 -0.346042958635 -0.594861921142 0.476231804403 0.050447892638 -0.185213906685 -0.157185087159 0.034243147279 -1.715770979575 -0.041234740317 2.046195861805 0.125653932455 0.024841379942 -0.240278724410 -0.921580955067 0.702583586971 0.638775606114 -0.179620578602 0.582121443724 0.777730003004 2.058531022330 -0.242499425159 -0.439876866971 1.299990373915 0.228725378546 -0.027740376038 -1.068913906701 0.012461674894 -1.780185714070 0.988552226651 0.581775138258 -0.073642553225 0.160144087067 1.462690439977 0.640217331194 -0.288190316802 0.276706241324 -0.181229261529 0.016903045641 -0.036229841795 0.950829449685 0.759392724457 0.826878818642 -1.337834092945 0.056451128199 0.093216012730 0.727289077093 -0.109650237794 -0.001156903097 0.119225699959 -1.818720743643 -0.923548290159 -0.287150107789 0.242202448361 -0.112065097850 0.063302277514 0.526733661685 -0.208793263683 0.068628681487 -0.283660517061 -0.310944032901 0.077844359318 1.357476517363 -0.000076366436 -0.480394096304 0.054449534341 0.577618799036 0.589444697171 0.301461602754 0.005434242834 -0.490167852506 1.445647800481 0.059832454629 -1.239081582106 -0.094728806305 -0.462880715547 -1.421689300599 -0.003423185378 2.033645436181 -0.547352838909 -0.509736571744 0.064935480716 -1.155270516997 0.199389032855 -0.089226634569 -0.891477530703 -0.498194777594 0.155128720860 -0.143008618360 1.911520141536 0.085617080080 -1.954617858670 -2.372439567640 -0.245729224856 -0.523421285073 0.084872889498 0.000967188717 0.594666704089 -1.039839240556 -0.202970968729 -0.032087093814 0.151562605848 -0.043591339551 1.259049589334 0.586000463208 -0.947501097597 -0.497088893548 0.021694584451 -0.278899668973 -0.154282357491 -0.629733362759 0.300249684140 1.133211811941 -0.440431477691 -1.213682078790 -0.012977009978 1.060221771955 0.030431533558 -0.802327899896 -0.728186280396 -0.011427377467 1.112467734767 -1.906670807937 -0.042759105678 -0.375398583106 -0.674089920297 -0.158016826869 -1.145215317701 0.567078137774 -0.226927279986 0.182096301684 0.000661051579 1.753060497496 -0.027043929760 -1.586622397273 0.192063272796 -0.256650655747 -0.401870616753 -0.364215068694 0.024868165859 1.993552031309 1.381211749889 3.071091702845 0.981618360801 0.042981449462 0.338029962623 0.423531728133 -0.055278241672 2.373121134569 -0.280687139950 0.242811147069 -0.064146410152 -0.105872227123 -0.016644645094 -0.495368579932 0.406656491821 -0.556801845416 -0.312037919548 0.019912652984 -0.102514550515 -0.201883970979 1.466271032726 0.007717068533 1.689734631716 -0.591633662939 0.061159361444 -1.248666388597 -0.553078962235 1.304569434662 0.198374356057 1.211895250397 0.290771115459 0.364586743991 -0.039638085668 0.447956432101 -0.305461384987 0.361526128193 0.013472400519 -0.172266603178 -0.245759777611 0.057547187820 0.053973379055 -0.048124340699 -0.167020530845 -0.332723739883 -2.646749898515 -0.275488314540 0.661834737544 1.932084930263 0.241749572775 -2.435124902616 0.158430530180 -0.073593153844 0.000021160826 -0.622186789912 -0.890420434529 0.010358537728 -0.133069231825 -0.026098619566 -0.787175579499 0.148576887552 0.104348382470 1.389124397105 -1.679542077218 0.236211443963 1.719523667893 -0.552355609778 0.133975583935 -0.276212347551 -0.035283487502 -0.280898523362 -0.000409688929 -1.789917726910 0.771901858504 -0.833281210392 -0.077664413907 0.065317406559 0.488387616705 -0.178118920840 -0.142783719293 -1.533318896556 -0.145303283176 -1.311136528995 0.401035664951 0.014860897434 0.341093849866 -1.639158368042 -0.564305149519 0.039747224038 0.284216059308 -0.413901138091 -0.745687063798 1.592751699136 0.957722288413 0.005200075903 0.181818478503 -0.741348861135 0.139979859316 1.649559954431 0.044446228608 0.580269154267 0.757256062711 0.298079517577 0.044587134110 -1.044777330691 0.154903514280 -0.193048213547 0.160874200692 0.512844229402 -0.004902274594 0.068243965056 0.828869676341 0.123150248901 -0.076273506406 -0.122244548091 -0.006853986969 -0.034003391663 -1.166041233293 -1.103575057869 0.276044945449 1.004296126926 -0.401839678860 -0.377999883082 1.125786446258 0.198170283007 1.582670883771 1.457426646335 -0.796367424521 -2.519406807396 0.990231999007 -0.034632920441 -0.047418120704 0.005474383644 0.322464245351 1.368119681955 -1.011983942316 -1.388542124701 -0.231056103419 0.510548346901 0.156236946302 -0.209311946933 -1.220825488710 0.053762485927 -0.258280180209 0.076524028513 -0.490827078832 1.476449538598 -1.588862896061 -0.177981710462 -0.269107871888 0.000775821050 -0.008352258125 -0.007316927496 0.436826851856 0.239596083231 0.172167999504 0.030500018480 0.383000358182 -0.208110330602 1.173081981533 -0.082327079073 1.500086213897 0.473153269011 -0.295322758418 0.134955273553 -0.018838943558 -0.368476956013 -0.454139317772 -0.074191184516 -0.215197388381 -0.122070887623 -1.671034445119 -0.195980302275 0.228945724142 0.917133930789 -0.355039442208 0.020153146878 0.013153316641 0.387844422741 -0.010831444072 0.112351906529 -0.495596521617 2.954103009389 0.909116485247 0.449161642425 -0.845496104935 0.565162049373 0.315953048416 -1.757841230387 -0.060705686273 -1.127394410822 -1.831849986999 1.884484027381 -0.075864992621 0.478752201942 1.392627541783 0.223741278039 -1.295104231389 1.490716878700 -0.404545479888 -0.485383318488 0.104534233612 0.257249831147 0.770135615650 0.280568451474 0.022381624681 -0.712133077226 -0.082500119254 -0.003018096248 -0.223412737524 0.582003533914 -0.245739877367 -0.956310504973 -0.847233590748 -0.063695147098 -0.264908870991 0.631580486269 0.880398137550 0.421219535059 -1.405672408773 -0.117089568481 0.146398696666 0.801674764464 0.299421484107 -0.956794332894 -0.280423751102 -0.777185470221 -0.012711717338 -0.258349935301 0.181979123965 0.500550661623 0.225647065512 0.303538031139 -0.518325024914 0.382276827441 0.107768271208 -0.441283777301 -0.221850876698 -0.552105444344 0.014137410905 0.362527498301 -0.176132806250 0.024537468978 0.042904714192 0.681595523789 -0.047417003721 0.031317194415 -0.000858742933 0.409880145978 0.294794920295 0.105020453859 0.934160149011 0.173364381235 0.202569500898 -0.677813062354 0.786951046645 0.098087356254 -1.136073011583 -1.665882509957 -0.007800999614 0.154458277232 -0.692590586342 1.568861911836 -0.388024132243 -1.749833473214 -0.022570376613 -2.754102816421 0.271357917773 -0.109918036580 0.640373718981 0.019443159067 -0.117063706946 0.576074042853 -1.542401897432 -0.148067934137 0.652419892706 -1.058667391593 0.005082142341 -1.115922947770 -0.103579020941 0.330842110649 0.179459986787 -0.806524441432 -0.002832665817 0.023199127720 0.194861851290 -0.155022766097 0.482382799812 0.876854029232 0.516930365447 -0.003893906250 0.030505089698 -0.298053005903 -0.408704528241 -0.430804611373 -0.025248136836 -1.465859751675 -0.618882745423 -0.350760988236 0.599163274189 -0.456834668385 -0.006891456697 2.243953775778 1.574128725944 0.257943964736 0.202488829774 2.532421843022 0.843330166714 -0.008445355814 0.146412043722 -0.014489598661 0.049710850050 0.214382425378 0.302346836955 -0.467337062732 1.411642832679 0.294946422976 0.670726813751 0.428452266908 -0.127515970444 0.196466618835 -0.537258945026 -0.044138078586 1.235512379818 -0.038754671928 1.316463264689 -0.142683096250 0.324055529622 -0.154159984820 0.043134165370 2.062716022911 -0.273581805189 -0.008542631894 0.019922140067 0.290391656696 -0.342039826093 0.408725132706 0.000915007264 -0.978721910247 -0.423744932320 -0.046829120031 0.127635963819 -0.624002750096 0.215376134624 0.003205687757 -0.106465006285 -0.373848840261 -0.397799936365 -1.113590280866 -0.102404969495 -0.226301370153 0.491963282617 -0.157466864056 0.189316433683 0.215933663989 -0.309788726634 0.929643266883 -0.918896799546 -0.098846248610 -0.367749078814 0.164111345372 0.101596995551 -4.656104765305 0.009687751525 0.085344523740 0.251694016977 0.089471050755 -0.212384237214 0.200578191262 0.015491576821 -1.749049628162 -0.148581985911 -1.123840357508 0.238755548788 1.530645244289 0.334450875174 0.074313806893 0.019431442033 -2.408758966136 0.093322578032 0.826544842187 -0.322695602896 -0.079029821220 1.741248410189 -1.019860964758 -0.056262037292 1.107617616904 -1.332310686402 -0.403024293877 -0.019371558077 0.218928678694 0.348208979390 1.340278127936 -1.063858813054 0.007974243250 -0.360400154376 0.052253820402 -1.319699086249 0.102640064090 0.230079268557 0.562038332389 1.225801258338 0.069127935664 0.095574986510 0.230221599872 0.283537888561 0.332679013055 -1.646718712730 -0.933157301761 0.308068924552 0.036827707508 -0.997692833396 0.285827385198 -0.267746450846 1.007685719074 -0.155817411857 1.691879032561 -0.098139161556 -0.271004242495 -0.066283852624 -0.727844397668 0.035561010306 -0.548042247392 1.019655130111 0.331242332669 -0.032706376519 -0.878683329266 -0.017271940185 0.150914387791 -0.548534563800 0.421459446248 0.149200990314 1.519850560000 -1.407599413666 1.172589786938 0.673774113677 0.005110871989 -0.024778082517 0.410509051156 0.121404013966 1.803781913788 -0.001187290923 1.404202249926 -1.439944425025 0.031468979096 -0.010212886206 0.717722631998 0.319480838355 0.105064817433 -0.037978065031 -0.952679882351 0.884971207074 -0.008140062207 -1.725783970733 0.046453159683 -0.010992174569 0.001318479046 -0.094489293545 2.471920975391 -0.124558038015 -0.077139796119 0.341427359073 -0.084872687141 -0.001123036531 0.154687286584 -0.488839859083 -0.380560785343 -1.078726304702 -0.304230560395 0.845839342342 -1.911198294899 0.667294134793 -0.475104447055 0.320841631012 0.085800713543 0.283806854460 1.448239964422 0.075869983458 -0.555359068537 0.421110387929 0.162063632819 -0.226071768582 0.191209091507 -0.255345912273 -0.066874941650 -1.249254269371 0.261157982317 -0.005817467106 0.260187762258 -0.216010072423 -0.050571526872 -0.679797863133 0.305116816840 0.004792430679 -0.335669770294 0.293833566050 -0.510559263514 -0.134411652643 0.498981596581 -0.049958746462 -0.012598223969 0.047118939430 -0.237058072716 -0.346626223178 -1.177643470611 0.662641076424 -0.076886513246 0.053099491107 -0.096787919113 -1.045708754193 -2.044387261776 0.005436215017 -0.209161373665 0.884836422572 0.655455512122 0.560951317325 0.245755296317 -0.348518998531 -0.055119994576 0.229188660876 -0.495726058637 0.186315476488 -0.425879585076 -0.082557959680 0.479793518835 1.371589690253 0.816891804566 1.534406044743 1.267360772732 -0.008962956411 -0.627414081133 0.108723355682 -0.184823888318 0.312663001237 -0.805195743252 -0.240758233930 0.037848060549 2.057394611487 -0.000248269331 -1.249652652556 -1.792613588430 1.836934400081 0.150010413630 -0.646899936685 0.135704204986 -0.002910737311 0.903173588802 -0.140074261254 0.170372055434 0.001746676315 -0.030771568379 1.227740544897 -2.233151743416 0.172067922341 0.855079496360 -1.204695042972 -0.048401600689 -0.178513843313 0.211363138207 -0.794757966886 -2.899063155871 -1.606330480691 0.558484218307 -1.887692841642 0.406144847223 -0.136552884693 -1.556494784711 1.918025107951 -1.052915291758 -0.076204710419 -0.483947117453 0.009559412795 -0.691977728564 1.337363537425 -0.292152597000 -0.265650222093 1.767595538265 -0.225675474642 0.012488648065 -0.536754936507 0.002867247985 0.731545033801 1.656884485230 0.178654699663 -0.260313629595 -0.345205334256 -0.213286255518 0.369294487942 0.066428716806 0.036732007802 -0.533634145196 -0.097351271834 -0.034178030536 -0.348090840856 1.746179903929 -0.454031749670 0.950646813572 0.075406014233 -0.708937459053 0.181381015259 1.381477051869 0.134583691261 -0.100055551626 0.138426713591 -0.284496739452 -1.046323692274 -0.593965326202 0.036411310404 1.987945136428 -0.103646067195 0.008523917672 -0.009878030699 0.131981264106 -0.750902845519 -0.466775390237 1.324853112786 0.417194230545 0.079281517538 -1.088048568669 0.106048511098 -0.040324305968 1.079607873772 2.007946217266 -0.018282335927 0.423539582888 0.410539138543 -0.095763204102 0.002441685864 0.279903218332 -0.040517219979 2.558194708070 -0.727308612191 -0.633753549348 0.271260912972 0.090793651159 0.002898296172 1.052384681404 0.029009941950 -1.150858105553 0.912607661335 -1.677212042597 0.315628450123 -0.013481344713 -0.215638699975 0.296092606924 -0.003278514574 0.145817804127 -0.858367950462 0.537234895629 -0.038455168462 -0.635155075097 -1.081913038995 -0.031320839627 0.479551298291 0.111195621725 -0.031166210811 -1.172241053340 0.005305692114 0.602730269244 -1.405320913131 1.090638393023 -0.136289105007 -0.526160211805 0.053746415226 -0.252651533286 0.320387825742 -2.730170531401 0.638839889868 -0.034605757101 0.231652692898 0.499094276704 0.119016756340 -1.675724291133 0.006944835942 0.537363735364 -0.229884299881 0.119259077123 0.764380231300 -0.104143091429 -0.079969624228 -1.274809821041 2.062700501625 -0.526575533528 -0.036382429640 -0.163241426970 0.487491498005 -0.307569943287 -0.920034448775 0.009192618528 -0.485828717874 -0.231292805195 0.155543138439 -1.020994055398 -0.089750528307 -1.733813804575 -0.117083411197 -1.312978562932 -0.065842251230 2.624006741753 -0.816829471341 -0.315921737472 -0.174946080590 -0.034124426130 -1.194662216360 0.004159394131 -1.508308386354 0.067786832145 0.671775728873 0.727231196015 -0.139114461767 0.657352877577 -0.943985235570 -0.031143210179 1.349747359244 -0.230631095896 0.085226357777 0.793936252403 0.173836409697 0.034382244259 0.498889597846 -1.744683033848 -0.101662559740 2.206125097870 0.210412888966 0.213650658814 0.159781742330 0.702725320553 -0.058602236737 -0.289972109969 -0.231343765548 3.106770081156 -0.286937192917 -0.001107694607 -0.236182938508 -0.485387014140 0.039485330161 -0.482743575283 -2.012213061187 -0.194510223494 0.104982760311 -0.015264005775 0.363397746821 0.162639857584 0.366226913463 1.067440297859 0.303520163367 0.031591661754 1.177467764806 -0.117016095743 1.439151411627 0.856429397073 0.288234105354 1.782085874208 0.044554631618 -0.308906294228 1.844548669083 -0.955737570111 -1.195477038934 -0.309323048624 -0.076621310330 -0.064186680035 0.197407524193 -1.316891022419 0.126146935681 -0.184683466210 0.458877110176 -0.005139723435 0.402221907290 1.113307160698 -0.101460904413 1.282253757132 -0.513756383646 -0.024922773327 -0.522165827905 0.001193118462 -0.453296075044 -0.533613993447 0.909249077989 0.016106924676 0.003450460933 0.180420135757 -0.098496838128 -1.664464059668 -0.749049766923 0.087914008168 1.540833224322 -0.141771672677 0.266412473699 0.053080341328 -1.107612105095 0.030546743120 -1.244905215543 0.288810770236 -1.216097019030 0.190595757937 -0.402271275321 0.358803181366 0.000458363133 -3.294991066177 0.273250615709 1.755552937515 -1.836675123839 0.014352065670 -0.357490541486 0.043554502769 -0.178347260864 -2.488185494893 0.057888154541 -0.209006920821 0.732940047645 2.296610098593 -0.120118356993 -0.119154651163 -0.284985223043 -0.211539252567 -0.844015398316 0.010302009721 0.005519470198 0.688720803700 -0.180134223159 -0.256616714236 -0.672328885528 0.569002103717 -0.074494466951 1.506672505707 0.498912008625 0.105219618697 0.109321489899 0.037473786092 -0.001396974308 0.367192329228 0.338853998021 -0.367323987004 -0.929318385233 -0.361284402363 0.001147243687 -0.491142516748 0.267124061236 2.384293026759 1.330572465310 -2.411673128968 -0.081661358774 -1.071478192125 1.475647447757 0.005827068176 0.147309834944 -0.063116680062 0.190913664126 1.282892209690 0.364371791224 -0.406783000575 0.048797323635 0.859842204897 -0.480271942236 -0.074540589040 0.807287586813 2.011857250362 -0.253053356301 1.284409832942 0.001630692099 -0.688570299094 -1.111137555992 0.413217588493 -0.730095976385 -0.105313032103 -0.351426994391 -2.575953505177 -1.020107547551 0.080019604002 -0.036875586373 -0.187623070643 -0.024279039760 -0.570194236423 0.010043890627 -0.962121668631 -0.238602657769 -0.212424182181 -0.444961883851 -0.648963389629 -0.216208365049 0.602828997430 0.442663605566 -1.501559856979 0.326406244576 0.006076346704 1.126328876680 0.082784413037 -0.042450579880 1.337072948478 0.154533105496 0.067864298173 0.618997796879 0.099180017258 0.580287796063 -0.829265755878 -0.232702278914 0.343307104908 0.691034698125 0.124132736911 -0.157219939093 -0.241249432163 0.458704016937 -0.884247189362 0.621596044108 -0.168630375725 -0.171706027656 0.632273849796 0.043007490405 0.421933649918 0.090220576263 0.963523478923 0.133923473290 1.491681418149 0.001028451034 -0.142982246751 -1.572434605012 0.132088633796 0.363115308302 -1.641280740812 0.787776987387 0.672802234223 -0.005614438660 0.135045276949 0.485107728290 -0.740087258642 -0.055129142003 -0.004096418240 1.105486583616 0.131815170997 0.219493733260 0.136241473926 0.191303047621 -0.052716011708 -0.596551532607 0.288698255909 -0.117856107577 -0.978066196058 1.802532814823 1.486309843978 0.182107747641 0.076824940410 -1.250902252757 0.011409887150 0.496793143900 -1.182429688192 0.023861759180 -2.314819321310 1.610241749843 0.282503061682 0.004198842033 0.393911335300 -1.669999877308 -0.013639306381 0.053405476311 0.426064793637 0.413755928175 -0.795964998635 0.997228417053 0.312826997372 0.941678565697 -0.582088213121 0.049274134501 -1.160861189751 0.214761709953 -0.501114743082 -1.187182453077 -0.078473373556 -0.232990379274 0.091914699282 0.381601389871 0.105080104772 0.935948496741 -0.119563448528 -0.167577601734 -0.612048484465 0.044138132300 0.161789272170 -0.218646622771 -1.049412858847 0.112348244807 0.005109523535 0.501369851781 0.140937623067 -0.013051517620 -0.309338209271 -0.390039496351 1.856604009788 -0.027546074103 0.360764705462 -0.913361749488 -0.558664665763 -0.085952629154 -0.974142091005 -1.156514765982 -0.259629200783 0.392867268877 -0.845998242250 -0.180333998725 0.748680751588 -0.932083403182 -0.132203124536 -1.333126522644 2.665143947925 -0.364332660462 -0.449864140102 -0.415676970284 -0.012429742850 -0.496566216690 -1.531099215441 -0.530574907714 -1.679924793531 1.568116537879 0.024464548607 -0.488555667361 -0.046355286902 -0.201522168735 1.856644502958 -0.990138340865 -1.194205627362 -0.050195360456 0.661178360188 0.044474843170 -0.205842607349 0.003638272373 -0.000851576645 -1.157275809166 0.010244451720 -0.801407539612 -0.054016562449 0.530829595382 -0.422563627657 1.462177120804 2.310663480033 0.023475472209 2.183559649257 -0.081408938673 -0.471505379051 0.243381536112 2.024662704207 0.041190113591 0.154896024753 1.841780022373 0.104193406829 1.599766301435 0.031825513046 0.012396000217 1.550948646783 0.002553864886 0.238807975604 -1.236982046106 -0.469209803971 -0.332903993910 -0.507149499843 1.109666463793 -0.619074930406 -1.510142639321 -0.052171517682 0.418688896726 0.875059675334 0.571125918863 -0.164276848671 -0.229622068910 0.697860304459 -0.034707135490 1.690103444009 0.202837881055 -0.473894959739 0.409432066380 -0.056683607165 -0.097754896277 3.066570495277 -0.479491871601 -0.850058717487 -0.440452317034 1.070060000996 0.036997687889 -0.016449987209 -1.480439661910 -0.172116410169 -0.667307285595 -1.008502000834 -0.796790370406 0.033909120478 -1.839654179258 -0.326449713429 0.006528353744 3.423098327971 -0.050721230566 -2.518447637106 -0.235153092136 -1.094341662931 0.298308762805 0.260095578351 0.037467687023 -0.993468993156 -0.869296749588 -0.092861326931 -0.736110622146 -0.042373652137 1.030402246053 -0.575106344043 -0.129381097489 0.336512398717 -0.270102187505 -0.233146970545 0.032915246035 0.458863845955 -1.137365627988 -0.654920025766 0.480881918380 0.433743609115 0.331821812433 -0.629249156042 0.796002238980 0.007284202047 -0.683224676410 1.712164320841 -0.049668882949 -1.574550570524 -0.842611757255 -0.000104233048 0.940651887443 -2.586937821859 0.227843631624 0.063481798283 0.180263675258 0.201678825065 -1.224097692245 -2.072636627646 0.420904250758 0.097965353743 0.030228329324 -0.035808112728 1.852827082976 1.504527137870 1.362314342731 -0.462463759630 1.286735183005 -0.003248972638 0.077214796918 -0.341170300647 0.102062235814 -0.175342537133 0.563614191736 0.150227560128 -0.344963829356 -0.088019529071 -0.026143920955 -0.043060327231 -0.711137507046 -0.201673187756 -0.480497629215 -1.059074335889 0.868475094161 -0.716994259867 0.583421857509 -0.069746906739 0.973984341301 -0.191175045421 -0.077710669429 0.479134001470 -0.284661207590 -1.608771935659 0.617309197015 -0.025881550298 0.238370744379 -0.370786411465 0.159553638622 0.352902181677 -0.004870220422 -0.933811164437 0.250797444050 1.219258192374 -0.113321683736 0.252575530321 0.151366571570 2.576804945220 -0.007481034523 -1.025360402828 0.888941656532 0.304536188129 -0.030215270709 -0.040796425093 0.345418269640 -0.866050650624 -0.196913149056 -0.022235437090 -0.039133288654 -0.355087255989 -0.680550091607 1.547538071160 -0.730248506261 -0.133641173067 1.738971809740 0.472729268119 -0.045972779150 -0.043427652765 0.622948510063 0.981531152511 -0.294482481469 -0.020616580254 0.065237738449 -1.736475715712 -0.672548766758 -0.013934270264 -0.965043145390 -1.480317850317 0.637759359757 -0.119144899928 -0.132294313165 0.289067299299 1.034120748956 2.256505094941 -0.324402337448 -0.836157851460 0.017526644449 1.237852776611 0.003658162272 0.058497681165 0.066734054575 0.120461933744 0.314736786957 -0.029519751373 -1.567255794867 -0.850540376567 -0.076610714136 -0.237434870320 -0.782352058469 -0.138060587434 0.139659311070 -1.509105543386 -0.003750595880 1.586961678574 0.590383593514 -0.027674242159 -0.269297502155 0.306969202284 0.225436336131 -0.925264715215 -0.259759968341 -0.069492235366 0.254156517843 -2.135303997830 0.432680491244 -0.091437772811 0.859638186811 -0.160130944450 -0.332962534672 0.034318655888 0.238752743755 1.612337910589 -0.771097588094 0.365791893066 0.083414876585 1.775540688937 -0.385481456525 -0.798102960073 0.176775676383 -0.545553472969 0.137176371010 0.099558836561 0.043023023816 0.020503689010 -0.704793432617 -0.093137618924 -0.400601639926 2.694601332379 -0.142085730199 -0.064034702339 0.918725870905 0.044110771500 -0.027438131496 -0.129129719397 -0.016382019808 -0.912346135390 0.218712370923 -0.035582119070 1.003444305273 -0.063212456198 0.357501860937 -0.031957544353 -1.446586561510 -0.073262521064 -1.254062535082 -0.389163587092 0.059832934336 0.518805662516 -0.291466680050 1.580936840035 0.983083321059 0.116325283282 0.034001252428 0.087472921210 -0.025751927926 0.460239140876 -0.960539060235 -0.513923775838 -1.274088436759 -2.901298300686 0.103778517328 -0.019993504912 -1.662890012075 -1.385234312591 -0.301086193521 0.569135131815 -0.077759494559 -0.307864913575 0.841789586126 0.517110675097 0.049688987869 0.151423527105 -1.750516858488 0.304058346922 -0.287237089287 -0.004232933179 0.005069767937 -0.207329538493 1.229251250417 -0.066322674697 -0.129261302523 -0.063128455714 0.007297416375 2.844915713641 -0.357697446221 0.007576078447 0.315014731137 -1.593471138835 0.109425471803 -1.861043405818 -0.015243170540 0.138677254549 1.340093551287 0.071110859976 0.085209121769 0.214098765025 1.160492519603 0.065985296704 -0.068922977155 -0.398287488548 -0.041175343138 0.551899964130 -0.012469574720 -2.031045024555 0.469375561220 -0.141750777768 -0.006262469818 2.056146824593 0.852424167629 -0.013206729138 0.034452077489 0.953006849518 -0.119112588557 -0.079138582866 -0.006055158574 0.032665896249 0.008003049043 0.490057546928 0.122429040961 1.972166377107 0.989994084947 1.085960039251 0.857169402846 -0.489598679188 0.070219354385 0.099840992961 -2.529739711621 -0.110851645085 0.071725151087 -0.263845328163 -0.295546094883 3.538199505880 -0.827110910820 -0.363559084896 0.783402984217 0.168982165329 -0.246842594489 -0.172564150815 0.144253281674 1.126174276460 0.636148816652 -0.057020246400 -0.166045697058 0.030405435283 -0.028369793609 -0.251686562321 0.630014950621 -0.038173382078 -0.234242217783 0.547902467148 -0.013323306221 0.008477191489 -0.003900665199 -0.369748417711 -0.194346956302 -1.137595578925 -0.705440789051 0.002327874721 0.659778974699 -2.309077162816 -0.326779723096 -1.055308872996 -1.608110722264 0.524743807437 0.248347445387 -0.136219631575 0.053116774090 -2.006878511509 -0.648405481541 -0.271064517966 -0.292744448122 -2.479707347062 -0.000200467019 -0.579597814479 1.227280105527 0.494505964697 1.200722864757 -0.471811473850 0.009921092712 -0.722041443007 1.383282143243 -0.016067899810 -1.103758378486 2.187618259297 -0.473368753057 -0.151681120080 0.336291409612 0.065871384431 -1.525928849558 0.504767980586 -0.035784496453 0.550171696627 -0.004041007899 -0.366915650600 0.683022616734 -0.396051600185 0.245463560270 -2.067039540999 -1.562244402581 0.276132599681 0.313451500051 1.214983726503 0.065600044461 0.507664455121 -0.099811438299 -0.140712566818 -0.168069721793 1.621152324244 -0.169793997659 0.065874451533 -0.736519325035 -0.857036246791 0.692084093506 -0.583690014528 0.063776793016 -0.315723160090 -0.304818785413 -0.103371668472 -0.680179791487 0.293416417715 -0.301711043839 0.131761366016 0.622791717370 -0.017472398446 -0.304867017499 1.423292908023 0.340697862805 -0.233763008145 0.508738434740 0.210410195175 0.420661899897 -0.341462881641 0.302876776597 -0.328595560266 1.716106671638 0.059896866745 -0.384384634970 0.592088132257 -1.000222271774 -0.047484563950 -0.008537192103 0.278099009123 0.022315513218 2.174643641112 -0.458519304067 -0.410043980198 0.851562648571 0.246884105676 0.644699165862 0.372763396282 -0.081818059067 1.006278207745 0.618212953124 -0.162106301924 -0.823035562443 0.012015134825 0.583114614789 -1.334900264817 -0.455943598644 0.654578812441 -1.036959515207 -0.023995108169 -0.301521704857 0.418620242810 0.053025789610 0.440055477031 -1.041950258697 -0.365983782900 0.065405071297 -0.001519385745 0.245049675116 -0.000862371682 2.586619838662 2.041639938610 0.333256469692 -1.588809599855 -1.111651025273 -0.000769121138 0.414033203716 1.035482242850 -0.008946994543 -0.061354962188 1.158315052116 0.121267054748 -0.370738506091 0.327217867431 0.022167369505 -1.622949262550 -0.768982543940 -0.121145270092 -0.834810002428 -0.113075362694 -0.511396341013 -1.410368061937 -0.377876935746 -0.280793871841 0.616411442263 -0.670284669128 -0.009673322382 0.017172102691 0.727666151058 -0.278970419772 -0.018646226804 -1.119056867829 -0.124607899811 -1.094368455928 1.421263330392 0.075635514365 -0.093145177922 -0.377224846395 0.255595842526 -1.343993595796 0.171926432788 -0.558155422797 -1.424969014174 -0.205153333676 0.245711626321 -0.178307722312 0.111275031739 -0.225337282374 -0.294204830345 -0.961712493926 -0.324777571820 0.995164899179 1.313006187877 -0.085365946998 -0.248349759762 -0.381456161164 0.164302571546 2.613739882584 0.168283720649 0.415965318171 1.052761700867 -0.001121955016 0.177631631516 0.265610869167 1.015363010712 0.059171047486 -0.085582969152 1.748047901629 0.023090060449 0.519581339107 -1.327463496062 -0.873542315254 -0.011894301940 -0.122575829272 0.091919399635 0.639763134582 1.499039045746 -0.115503799031 0.536853298555 -2.624971481644 0.375163970567 -1.083382442693 -0.307523048890 0.471559500714 -0.021165132842 -2.778232032669 0.327052725738 0.218805638653 -0.050617135795 0.133907676174 -0.079706769083 1.054050996256 -0.016218305010 -0.229972440110 -0.003686497341 -0.475584703249 0.185277508138 0.102974048334 -0.133930713334 -1.934215868744 0.020033415523 0.473022005716 -1.970675363159 -0.036123065039 -0.394844568260 1.862729636072 0.741916968907 0.249935894666 -1.296420510313 -0.223652212796 0.130724791549 1.246727941683 0.393501238738 0.053441364318 -0.023197165781 -0.392168175068 -0.347548539786 0.293913384818 -2.032332497890 -0.548640686900 1.359722646532 -1.092848949790 -0.043263604805 0.030304680541 -0.426618876631 -0.052988243464 0.223150718048 2.796326056229 -0.239706663884 1.741396942342 -1.004590178063 -0.184194700197 -1.299939890679 0.522604710656 0.171835018440 1.228601815972 0.495349357309 -0.342563229044 -0.253534334865 0.038713222901 -0.174341151888 -0.010733797870 1.171473913812 0.049550652089 0.080534334059 0.145983336068 -0.763271636936 0.903239116892 -0.413951866524 0.447328755746 0.143378785073 -0.668764494921 0.016278658606 1.212394817707 0.025447443402 1.832531305424 -0.023061343410 0.965059130983 0.093506475227 -0.230133433186 0.035332100917 0.636809865156 0.624152500951 -1.981092684514 -1.005690339471 0.018835003779 -0.042217875468 0.545168052028 0.074332051556 0.058341663626 0.325729972662 1.733715730078 -1.342500399224 -0.098097098241 0.128813744542 -0.713364179546 0.296882819514 -1.590988600997 -0.071957132147 0.026963601668 -1.185675801790 0.683241165127 -0.217875613510 -0.565625299675 -0.184399292093 0.010031218286 1.781067175426 -0.709423359394 -0.253934099115 0.675982258005 0.244384738611 0.001321262554 -0.017219738548 0.714443416529 -0.026485959603 1.176292506651 -0.004267898834 0.081015762332 -0.041700264948 -1.392449351429 0.207932397994 0.350750870393 -0.119700069998 0.373827802496 -0.224919615462 -0.587357827158 -0.005430331618 -0.037644748962 -0.291721920468 -1.604825662720 -1.776427216721 0.347138416193 -0.037078558196 1.897695030675 0.188027956702 -0.064766495673 -0.022885137874 0.041129632194 0.370648405123 -1.507064937092 0.314748070916 0.207337763470 -0.155477132380 -1.720932930013 0.181162069291 -0.975678901523 -0.692999683820 -0.652164895726 0.373982946123 0.307879811035 -0.091776880538 -2.424664732784 1.314261705111 0.406029447546 0.095779092119 -1.081601230268 -0.243380955126 0.201280162867 1.040438296775 -0.444996087858 0.231212228318 -0.045803536489 -0.052206382394 0.121254213813 -0.750370991954 -0.648925119624 -1.152855738744 -0.000128665603 -0.011024957714 1.422927672319 0.155844122389 -0.536144272066 -0.856702947614 -0.305294347782 1.039308040694 0.114822693810 -0.449034799587 -0.045559765369 0.635540697480 -1.773892816003 0.083163708348 0.247250729121 0.531675910406 1.163704531666 0.049672233200 0.528072678154 -0.193124772154 0.863578205170 -0.238658084035 0.045596907611 1.768641240107 -0.250088242218 0.614916673365 -0.036559339486 0.013569331871 -0.051711636721 0.750548814315 0.204576320286 -0.004213485752 1.635605475009 1.185739018137 -1.095116627348 0.046409131304 1.250437354075 0.327736051586 0.030810023632 1.916744584881 -0.175821394905 -0.000865613257 -0.040597897613 0.229530084985 2.047932253489 -0.022266330612 0.004586221720 -0.919565578893 -0.207597841989 0.309843744942 0.215003727187 0.781806115286 0.719894889311 -1.556101323826 -0.921083023453 -0.171630827890 1.834647530986 0.913747191696 -0.022951414602 -0.006272191180 -2.254496594068 0.325433223750 -0.036612704472 -0.146087335500 -0.041044269766 -0.127746105916 -0.405707392616 0.025941201672 -2.679135611674 -0.318236560043 0.922334662982 -0.393953714989 1.086871016771 -0.066752156698 -0.235091893909 -0.187578161437 -0.165110940441 -0.376677904347 -0.743814158556 1.167765779016 -1.633709302951 -0.577625192585 -0.012441123838 0.258808986247 0.182903607093 0.313360525243 -0.108789117035 0.032054288132 0.380658065976 -1.689376176313 -1.601227401450 0.064109231704 -0.757536214888 0.000642069418 0.133006088689 0.511461168448 0.501128322580 0.767255023383 -0.519752706240 -0.588494755755 -0.106259312410 0.140822187804 0.730136700423 -0.018570176885 -1.705105719332 -1.557755032516 -1.133655482941 1.639137622302 0.752909917969 0.045903727769 -0.293122795906 -1.427588983636 -0.093895748309 0.099314949810 -0.105492229458 -0.011353323013 -0.359000854002 1.729997283521 0.065277117486 -0.403608871635 1.555531821132 -0.309442486717 -0.026538231225 -1.101919045045 0.010992648814 -0.559048418954 0.254951592817 0.190785201172 2.790866329237 -0.137992459295 -0.403359990244 0.638815172862 2.627876732588 -0.240272455055 -0.432746551370 -0.410396426956 0.011331596381 0.012373862944 0.007241773178 0.072693478000 -2.582752998171 0.110305724334 0.294086754958 -0.038678740794 -0.526138615150 0.144015267425 0.718349173351 1.834668534382 0.522179078214 -0.239567444062 -0.239231310836 -0.546993281193 -0.502060249421 0.305888005506 -0.355916454967 0.022263388777 -0.456205112196 -0.094219451347 0.676081990612 -1.297073859058 0.003648455885 -1.191589105560 0.803695658723 -0.317403359682 -0.283052927177 -0.066397250783 0.051349146699 -0.121443804597 1.896718239332 -1.324607369233 1.105445062021 -0.072969361528 0.005064656166 -0.965314712155 0.120622432180 -0.147621582689 0.730734460093 -1.144961398873 0.341594824031 -0.197653590738 2.750046681289 -0.016547132049 0.261054820184 -0.072317779617 0.625117629228 -0.159608816880 0.005112441208 -0.116635935423 -1.601106892730 1.504562471043 0.196342032516 0.362227980635 -0.072209116362 -0.036484047308 -2.011540930909 -0.219688619650 0.442898697881 0.519758006580 -0.016282016181 0.006585728525 0.768615255648 -0.008680745587 -0.239968895216 0.769562309367 0.631141264841 -1.505367270583 -0.025720833800 0.984679294403 -0.319786493201 0.201757928738 -1.723073447159 -0.184446655357 -2.056645668893 0.119981983741 0.417723192303 1.096138968669 0.952089691033 0.000158355367 0.672881943604 -1.100581975678 -0.001329123638 0.489954911019 -0.839381046047 -0.108569648994 2.792598007848 -0.534610795908 0.012793132541 -0.013681723959 1.308663973359 0.133858030895 -0.747843737219 -0.138640601119 -1.502050271907 2.213956454205 0.191773858545 0.000427159978 -0.009588110458 -0.072288801946 -0.124568574146 -0.224989633240 0.296987858298 0.193212696734 -0.881176103875 0.244789057196 0.392756982154 -0.251136350940 -0.757756509375 0.093579489722 -0.014072259365 -1.692008820736 -1.877547649597 -0.469139724561 0.121644879118 -0.468074009739 1.348102017832 -0.000913081540 -0.124816592192 1.324047904603 1.403166111760 0.594831327330 -0.001233883090 0.483827810415 -0.030911474084 1.515183766377 0.053876665262 -0.143588766366 0.112001334593 -0.419508487653 -1.310330977246 0.079102892205 -0.088687255664 -0.126801700296 -2.206000861966 -0.288258780425 0.027655346601 0.159086873181 -0.383605441123 0.045212448910 -0.507479580742 0.040567995297 0.127715472559 0.485712402649 0.395619494948 0.073942994277 -0.456906355854 0.144659851720 -0.584258673531 -0.380135344727 -0.596409508748 0.131233739788 -0.058580857532 -0.519872540701 -0.315332709173 -0.151689396320 -0.013161773904 0.129210426558 -0.233575963405 0.055600607077 0.366926446788 0.562438723477 -1.538106548478 0.191352847859 -0.256049750380 -1.594053523166 0.226337662955 1.166475458463 1.493406121983 -0.490539200299 -0.840763728476 0.543340139719 -0.153045305031 0.235893807302 -0.219397392031 1.013480127024 -0.794293297592 -2.362296702976 -0.029149451104 -1.238087116913 -0.418956067129 0.434298395314 -0.133631770740 0.208019814306 2.139180934216 -0.536793289055 0.537330671159 -0.263714882669 0.434339601686 -1.586024915744 0.530444763091 -0.217612663054 0.802088318841 0.046486874745 0.001724638142 0.982899466216 -0.006025469140 1.324902375015 1.417501856125 -0.114574563401 -0.700834686061 0.259879071688 0.939252482953 -0.003424757113 -0.081806117433 -0.047180754499 0.261695107555 1.254298893842 -0.039395397191 -0.124322860033 -0.184358417233 0.348172458083 1.562743823887 0.800594817235 -0.163436094804 -0.288952385900 -0.300991381559 0.293230103864 -0.877982117166 -0.041268145628 0.241314100663 0.129698503351 -0.132090202126 -0.005611299827 2.089474607844 0.832639909135 -0.085754075724 1.859826660597 -0.229655475987 -0.000820329624 0.846841004444 -0.061299636086 -0.037902103615 -0.066683209026 -0.038027583606 0.008243764311 0.917496989106 -0.970591945368 -0.405486807838 0.661921150807 1.412889608269 -0.374064138906 -1.797803746713 0.004517192151 -0.519364808282 -0.536826339075 0.610657788333 -0.574963969643 -0.307171511323 -1.690997794001 -0.006961401463 -1.608972268267 -0.607660562867 0.266875766825 -3.805149617763 0.529189699439 1.672365877494 0.157370038093 -0.900567839320 0.093238780608 0.335883622369 -0.711799250774 -0.558609911040 -0.617968425225 0.065155683238 0.021109063923 -0.667980721805 0.677777882920 -0.039626151995 0.147269459537 0.147867443162 -0.105690266867 0.799950857698 -0.181910659640 -0.338126349848 0.021846658698 -2.159889619683 0.052458057771 -0.332915463398 0.354536030404 0.017192518538 0.970189224665 -0.564597443028 -0.528337299372 -1.167405171174 0.695827978143 0.640231845628 0.453257782848 0.111513682510 -0.310183554377 -0.001584024925 0.001990912650 -0.122613956970 -1.059563921792 0.674407935850 0.239567706676 -0.043383616916 1.827880878338 -0.413762345767 -0.097592607196 -0.153891621692 0.441400262233 1.911119937964 -0.103455568686 -0.098389304829 -1.890876287818 0.004228105346 -0.004342301567 0.446918242353 -0.424309813283 -0.404088545773 -1.058690005496 -1.020598810224 -0.017341501033 0.760129239284 1.337673751294 0.115674724711 -0.906403303464 -1.778721458313 0.284604158953 -0.179114754602 -0.069070400494 0.571076625172 1.371746347467 0.244971339943 0.062002786756 0.014417037156 0.005279637461 -0.387025316038 0.102079796919 1.072014445518 0.424719761985 -0.247715335957 0.059630532254 0.189300351835 -1.030240598611 1.195829352561 0.753834575507 1.123091473481 0.084729890224 0.035302215465 0.274104259445 -1.105406980227 0.103922639968 0.319907199183 0.075975699578 1.858439472106 0.632051935752 0.108102719799 0.337096509255 1.040764541548 -1.142442599482 -0.018024224312 0.679889415991 1.213925555527 0.065240439959 -0.659747415593 0.038786729491 -0.010207131421 -0.657234768924 -1.965793013876 0.123354999569 -0.109533465030 1.130460564998 -0.070479146782 -0.383149646352 -0.946888878403 0.354692183834 -1.442753225536 0.020217299563 -0.052714024401 0.507280891158 0.976121712245 0.237971645568 2.121075746882 -0.841774028017 -0.007223395273 0.980801679287 -0.188646057334 -0.160431861706 0.064851803569 -1.255431356582 0.896278801825 0.039386271520 -0.394186081637 0.236827864655 -1.549270116451 -1.513593873776 0.000260433729 -0.024750707752 0.026556603259 -0.199398982464 0.874534685406 -0.705367037755 -0.319504330303 -0.765848840399 0.308027984458 0.054158297054 1.152219559267 -0.419115271746 -1.730270281703 -0.604338856881 0.092700744866 -0.014194504891 0.013973014762 -0.719768169052 -0.642912194243 -0.089609821004 -0.723913299022 -0.562616778224 0.822713810430 -0.486982341422 -0.009274420947 0.621608152792 0.611671557651 -0.228586744712 1.103264509268 -0.399780017280 0.055861235412 -0.149630052764 -0.003936428498 0.033716770662 2.174201187591 -0.438547829833 -0.007045452410 -0.334203119076 1.010591387985 0.379233457622 -0.609468546419 1.659312886152 -0.401492211628 -1.145278691859 0.924471415629 0.000450709189 0.193567764353 1.661007653393 0.849021081956 0.203032666148 -1.679638364239 0.053188365302 0.145742089736 0.641325334416 -0.096748371363 0.109439131694 0.906996713543 -1.466195670590 0.333925936530 -1.548477861572 -0.083422438799 0.355751912580 1.369517532003 -0.002698320616 -0.373111023773 -0.164927851196 -1.234879106991 0.243187439525 0.174208141023 0.366036377869 -0.104810750742 -0.012830863866 -0.003817499176 0.031846702479 -0.774729674013 -0.013315717457 -0.568230906178 -0.214453350589 -0.561662153905 0.153966240794 -1.240614537591 0.055122616178 -2.304534340898 0.058599220109 -1.990885257396 -0.788065297106 0.254123634511 -0.378790142660 0.825792158378 -0.591178577878 -0.007934105130 0.195264938568 -0.646233767788 1.223120228415 0.008074502315 1.338520327339 0.123474391145 -0.005266370897 -1.200785539459 -0.271848458848 0.195442945624 1.375998819940 0.116553231636 0.009486526165 -0.065650746180 -0.164983931072 2.504642363837 -0.027562992467 0.522096912171 0.102350525292 1.082805965321 -0.867535177943 -1.332161927765 -0.214349703431 0.085124590037 0.099313327919 0.688285452659 0.123643507067 1.692401647537 1.510548323684 0.074175525311 0.420875373736 -2.475184312807 -0.275115635097 -0.548340201192 -0.005194988291 -0.124758245696 -1.096600793978 -0.010139194396 0.582090688571 -0.938680093817 0.072349012160 0.177244188407 0.336447749307 1.393476935131 0.042332342779 0.724986660656 1.746110020235 -1.046793248848 0.359741582969 0.930175153772 0.080365767471 0.882293465903 3.005814893731 -0.328861922345 0.483481265794 0.789565845010 -0.067082200127 -1.279809181805 0.242346569606 0.439146650247 -0.538023464338 0.403144720249 -0.214256819641 -1.565355940138 -0.088754258678 0.004356225611 -1.685206131496 -0.036463167973 0.087806033787 0.322639875895 0.390247853183 0.659271406677 0.168657795432 -0.904948020517 0.572980136085 -0.134990527221 -0.380020408353 -0.051721217807 0.362079292004 -0.005012079536 0.093755709674 0.113198513564 0.157177902307 -0.649254065006 -0.541244516422 1.198026829289 0.008864355371 -0.488880751099 -0.918262798902 0.379154432714 -0.299925247691 -2.885227848807 -0.242490334376 -0.119936976869 -0.203751714446 -0.331619038426 0.032951227281 0.070371007792 0.277404091521 0.968431725512 -1.069805270080 0.620384158361 -0.310021133291 0.000457769037 -0.054012585008 -2.446970230978 1.711185018008 -0.021838649559 1.416561882661 0.482740185870 -0.967079440793 -1.873343560674 0.180076598361 -0.039421054937 0.214469576719 0.695179547540 -0.412711342412 0.005267318647 1.459667909479 0.704986262347 -0.087942757121 -0.583640389299 -0.034149148317 -2.665617276067 0.171789075792 0.155865312680 0.027329092613 0.061347410132 -0.242451391962 -0.542135980845 -1.821604457956 0.129065482346 -0.002806339752 -0.099451087827 -0.005126599564 -0.492213336329 -1.278158888310 0.961055025153 -1.173932871802 0.359130622010 0.106544305539 0.128546791398 -0.350074600017 0.636902490120 -1.245991389597 0.658933166281 0.003616710490 1.459788612274 -0.720623725537 0.220575635164 0.010410305760 -0.172404587651 -0.093591663828 1.423452516684 0.344489525060 1.744101943749 -0.186613668270 0.030599444788 -0.006658858364 0.602675825022 -0.263863338363 0.096319801201 0.978109870866 0.367580904981 0.727296486525 0.236023402953 0.823125155486 -0.387499708390 -1.140905987087 0.799820801463 0.009485347252 0.153864938770 -0.389310248088 0.045653038942 0.077008576892 -0.634889732769 -0.064483931834 0.158996854050 0.642129223461 -0.200301922104 -0.841463731227 1.706687457676 0.771719762038 2.818466621107 -0.265494266837 -0.027340810173 0.414636727075 -1.503292905364 -0.186172645834 0.001052204123 1.111299251641 -0.474127753457 -0.273649923754 0.846517283031 -0.336391268775 1.402961959238 -0.318579498409 0.161502927851 -0.051763610546 -1.070618236308 -0.002219441700 2.068987472284 -0.979166181141 -0.612475338216 0.158037470347 -0.142568146828 0.093603325371 0.239915537270 0.129215658563 0.592316022366 -0.337274971581 -0.070303480948 -0.089005325559 -0.033613174172 -1.099863530328 0.640844551014 1.383521202629 -0.702793430096 -1.715635091404 -0.131052840219 -0.014553781424 -0.265178226867 -1.117220716990 -0.245661319506 -0.004602937937 -2.620811734241 0.255047227094 -0.078132091941 -1.099025473302 -0.318631097975 0.117646596608 0.933105836733 0.774681063682 -0.114440971707 -0.130366918646 -0.221412918253 -0.858523870723 -0.193182339041 -0.183149573654 -0.119296313550 0.260134289421 0.276023239667 0.410788737159 1.409560122826 -0.804660314552 -0.450017576729 -0.071647525795 -2.333846558011 -0.039169642723 -1.113016331886 -0.168554363766 0.011119314629 1.415007019675 -0.904882415041 -0.134379250564 -0.187094605193 1.481196785808 0.195343345992 0.401632207415 0.142356661283 0.450391249034 0.187627807405 -0.298254349579 -0.350558305958 0.833532850287 -0.000518031694 0.403196258654 -1.927409394216 0.280299633134 -0.055702234895 0.124876405332 2.746130601561 0.305643857052 0.602637035708 0.390161072983 -0.071574750937 -0.296229716622 -1.165478539524 -0.452224826693 0.528508971740 -0.047754615997 1.227443200637 0.000998828885 -2.806161520332 -0.015235775784 -0.999346396232 -0.288852800535 -0.264953413189 1.290195639752 0.248844523925 -0.547335374957 1.676513765294 1.057907610595 -0.106667872637 -0.665226191154 0.485639383504 0.141892232264 -0.005324042936 -0.039827005819 -1.101703125605 1.191179276589 0.876257281258 -0.105325505189 0.040012948186 -0.618383882302 -0.243573312710 1.618325241090 -1.781937482903 0.230069345711 -0.167591813257 -0.260274605469 -0.191197929210 0.672375326628 0.015832460439 -0.194886221779 0.225723543392 -1.349108866471 0.054893331785 -0.020413221922 -1.600900227409 -0.064537843682 -0.332400358036 0.054524888277 -0.194241626965 -0.005125270811 -0.161125418734 0.418173894018 -0.334034192003 0.486153557626 0.083880921745 0.029124616102 0.709667476235 -0.016493549203 0.176031071249 0.849282142238 0.446593380337 -0.325145451568 0.250334830836 0.007665253952 -0.261910614713 -1.156750578947 -0.008289833591 0.549531749544 1.833069013155 -0.022487286113 0.118350084681 -0.324161026433 0.016455295414 -0.774959631953 0.054744888085 -0.316059763693 1.719210072371 0.010985195407 1.609880747087 -0.135992557480 -0.252390427192 0.243960800194 -0.576454348499 -0.382118284052 -0.059832042744 -0.015706836585 -0.641002719364 -0.817771345168 -1.795714193434 0.229666482160 0.136625962078 -0.412729186618 0.372602624502 0.026352959413 1.240849042695 0.303864303337 1.698111744903 1.657155950813 0.576090860699 0.166598795450 0.001932927651 -0.879371674041 0.189327561298 -1.458140201414 -0.047988537009 0.051480376654 -0.242054089937 1.307570933774 -0.061943330313 0.976281068551 -0.920301666295 -0.148657251128 -0.294638741403 1.160949842034 -0.147836074924 -1.145591654171 -1.512684335740 0.034379013908 -0.276510071246 0.002236626481 0.566014234653 0.326756374484 -0.182741556632 -0.008288002028 1.604835185279 0.389778830933 0.145856039337 0.413139214521 0.677085387861 0.178576923753 -2.123716581189 -0.011002017154 -0.693066344600 0.108760240710 -0.236016383033 0.093784407666 -0.606237792504 -1.630241959342 0.257921187772 0.032619197211 -0.433318121534 0.556405943247 0.062080453119 -1.508135043386 0.091763284890 -0.253422153661 -0.119971116058 -0.075816857409 -1.877501522886 0.905539496507 0.030828027082 0.623772628442 2.487609316731 -0.056483086911 0.096821058288 -1.151245998816 -0.318364507438 0.130475525536 -0.864846415031 -0.204316616407 0.740316388820 0.014336021599 -0.001173461582 -0.394002628743 1.711727384935 0.129325904958 -0.296725927623 -0.324378020553 -0.983568470883 0.110441726438 -0.194238438408 0.047808809131 -1.976917936966 -0.389099619927 -0.482440685545 -0.071892531192 0.096979109294 -0.170096067998 0.099415425459 -0.194688688959 0.361635403168 -1.728207817336 -0.083018455182 -0.082103110953 -1.076179369871 -1.095853206597 -0.649546140759 -0.062489288102 3.218111862119 0.053140391291 -1.921403755351 0.044766676327 0.222048236179 -0.002569392060 0.179284512217 -0.699459379988 0.069014644573 1.326026834856 0.402877692300 -0.030000748733 1.921009083383 -0.217824044785 -0.298131348930 -0.454457010380 0.929008367777 1.736725074221 0.040496202264 -0.040461710482 -0.149823935087 -0.000686756960 -0.046323841195 1.239299517521 0.233396567364 1.447813942048 0.393994977308 0.723126440028 0.000378801207 1.060408335460 0.065817882044 0.028402117370 1.198974123348 0.120355384298 -0.244380421120 -0.238417775899 0.007074397515 -0.040534203772 1.556775119633 0.913540623860 0.016427815178 -0.488454567523 0.590585179875 0.391130952043 0.770598042642 -0.389587258350 0.085960314929 0.192587528849 0.739389710860 0.016903671721 0.034571979372 1.220054556730 -1.461163296970 -1.183970815395 0.788990272626 -0.151164112408 -0.805812268666 0.101977698368 -0.624037982351 -1.454641082262 -0.463400848358 -0.960588113872 -0.574658824411 1.313508241603 0.066779259565 -1.506077452512 0.390953257398 0.002320244651 0.037357262346 0.405320389364 -1.105050144752 -0.101980408835 2.500924977730 0.044502592731 0.104587381022 -0.931370170154 0.048619659914 -0.494839447826 -0.674530013318 -0.233843344882 -1.527891786175 -1.089623998589 -0.400828755417 -0.563571465952 -2.169118257813 0.002286230681 -0.102658169036 -0.116586159648 -0.751540364241 0.284958930968 2.557608559582 0.080877059965 -0.457181183743 -0.717078250217 -0.154068416986 -1.362897820227 -2.233825111345 1.602777969673 -0.012217118489 -0.074888342535 0.035750919973 -0.239437115592 1.422534595770 -0.113335060489 2.321196705832 0.262196704135 0.023451891493 1.581317743936 -1.692000494394 -0.402254543550 -0.201372658979 0.321460003968 0.119929434659 -0.000996308567 -0.963462401836 0.931772503251 -0.812559570767 -0.666734820957 -0.047289509633 1.122403729803 0.483655587945 0.219982594070 1.589266737009 -1.072174022169 -1.513151151547 -0.000084059101 0.366056250370 -0.345870876067 0.713297074444 -0.036471276364 -0.339357416588 1.200762277707 -1.459678996745 0.012785914023 -0.276386680645 -0.159156187876 0.132903778991 0.780304177402 0.128881373033 -0.176126581669 -0.751013503951 0.092154416316 0.101466341503 -1.699373533282 0.175009715524 0.372182980211 0.151314200412 0.918193371915 0.023796237091 -0.133863477338 0.197544854138 0.058673633813 0.024870304093 -0.641442225251 0.419330619784 0.055625447950 0.552130508169 0.176644965191 0.953493668950 -0.984464567194 -0.028318884299 -0.092895974297 -0.439649764032 0.020093262436 2.333925123392 -1.394237559153 0.417845707764 1.296526371908 -2.156591380846 0.146388353981 3.226770073747 -0.311083625668 0.257620303530 0.722410058039 0.152196237804 -0.097896969262 0.913144003635 0.284599201160 -1.125566511591 0.301689024166 1.557011471690 0.324421906946 0.021601987870 -0.100655136738 0.110255902356 -0.570588639837 -1.424521123558 -1.407440863532 -1.645394985739 -1.106248508357 0.010650422150 0.456459895549 0.469280124018 0.080428072513 -0.346483363656 1.355329124455 0.583519751825 0.377774880949 1.295688585650 0.280742090079 -0.892459845486 -0.074035211238 -0.088245592176 -0.107776712277 -0.457584883398 1.701447102958 0.583099092762 0.367994378543 -0.352246574809 -1.574655573072 -1.327938151590 0.053430901980 0.150740905181 0.003598344666 -0.298859990075 0.400900871061 -0.039316509786 -0.368861284064 0.337519447097 -0.014427995598 0.057835183148 -1.554970416308 -0.000049846652 0.803415662100 -1.852803158336 1.387000570038 -0.207079574401 0.750515757149 -2.419504394806 -0.064804532734 0.304377685578 0.708842704657 0.173020874873 -0.321041079545 -0.017748186010 -0.327381355830 -0.776868563212 0.942426946985 -0.317875619056 -0.045799916346 0.149254595132 -0.348545833463 0.496910803479 1.521102003529 0.289807146422 -0.069084438055 0.066309524163 -0.098384120055 -1.146914090227 0.825533538346 0.596557110982 -0.777744695146 -0.454875578817 -0.000319633729 0.344752153576 -0.056042256752 -0.287091286372 1.164628017515 -0.205250986272 1.101925850553 -0.209539808505 -0.456996982611 0.141255888632 1.169116343262 1.624634971445 0.014840590521 -1.034151276601 0.119396725159 0.499703028262 -0.317376462575 -0.431394416548 -0.188091111353 -1.063717676687 -0.524861101878 0.097934017142 0.377985759647 1.452782667879 -0.015977614578 0.323367107466 -0.083140890749 -0.358998908333 -0.075111159184 -2.718899329755 -0.186106921614 -0.012604382764 -0.538015948272 0.011631340669 -0.967770243167 -0.360745180639 -0.241076267212 0.419568975771 0.376941271576 0.059782217636 -0.413926395902 -0.330554370636 0.012323712325 0.123627919858 -2.342531832182 -0.065360236542 -0.353201728466 1.692483047473 0.050806120824 0.195933281075 0.484773655852 -0.237771706604 -0.528233478531 -2.204072782724 -0.082765798282 1.126251707118 0.064585100193 -0.037571082749 0.423176116605 0.305778652083 0.460592291568 -1.078610914606 -0.000699355424 0.051979937288 -0.781874578084 0.548212590298 0.000727407819 -0.056398739173 -0.558031136973 1.463674577006 -0.916072697445 0.211240414198 0.052485845254 0.271955331657 -0.145633582658 0.351713642711 1.190870445631 -0.430208407564 0.209066118233 1.536449691345 0.511088518661 0.019816888472 -0.682522363299 1.453773542212 -0.007003980131 -0.181714216570 -0.652354059962 1.010292054644 -0.344999310076 -0.225765842167 0.309649145746 0.442774467155 0.571877721875 0.001766167381 -0.482777420245 -1.022058530869 0.019073181995 0.044698001458 0.253579362425 0.027434047008 0.026861770492 2.120066287178 0.216802274654 0.551235882598 -0.735675667209 -0.142824682968 0.053214073776 2.297807791114 -0.287453260170 1.637358091608 0.630273465180 -0.011718756862 0.023752778880 0.025699100467 -0.372063197552 -0.906654674552 -0.572317864440 0.264774447963 -0.327375937046 -0.037251655659 -0.240999956433 0.613108831222 0.560606268150 1.588675396436 0.038708787811 0.445550441127 -0.093389840803 0.092440772808 -0.401540909769 0.180000196955 -2.209829987840 1.202078029999 0.260471677621 -0.010181945908 -0.990076657254 0.001218913090 1.775059171823 -1.724982148912 -0.013645750983 -2.537099972871 0.278343646158 -1.811892026888 -0.103191796247 0.146071303462 0.037044161947 0.195742945176 -1.823372322400 -0.095006269240 -0.089756558897 -1.352596620167 -0.257936136744 1.244626705656 -1.395519320346 -0.069098855667 0.413678450063 0.057286836275 -0.056602415817 -0.092957670824 -0.202973510228 -0.330935283616 1.885807923481 0.025479449324 -0.302554684796 0.005418207589 0.364324469041 0.097642420865 -0.597269265539 -0.079454250188 -0.614886241647 -2.511443344342 0.532106406552 -0.000426282121 2.213162239479 -1.691517308707 0.089223262206 0.548897484454 0.095560862883 -0.255695141800 1.370217264845 -2.419147164548 0.214029564086 1.014026231255 -0.227535224895 -0.112432010900 -0.218600930481 0.026619120592 -0.008948529761 -2.432731468615 0.027660915875 -0.064095553394 -0.893549113618 1.377254063973 0.142174089547 -0.699441756713 0.031679632018 0.219956444209 -0.411036708118 0.057831950122 0.103401720178 0.941201581045 -0.281126794815 0.348588571854 0.907750893447 0.427356820600 -1.439239351132 -0.316034979238 0.872164499671 -0.382819520859 0.468631993199 0.920640967701 0.019208906484 0.106008578584 0.829592113921 -0.435829247777 0.083363627155 0.861914178167 0.242490610494 0.010173490498 0.079948118921 -0.358526382665 0.136804767858 2.738846996440 -0.199814089534 -0.396930051256 0.084377823272 -0.012058086221 -0.036407488918 -1.523661559716 0.318752450176 0.357790591162 1.536290133078 -0.133520498364 0.901153517311 -0.013074165189 0.000606832020 1.413973549815 -0.083364444303 0.602932811506 0.011385672915 0.651674455921 -0.875032686312 -0.072377548112 1.442443932325 -0.270137893306 1.199099267283 -0.185421737565 -0.182059718312 -1.242713761399 0.021000049349 -0.380518591596 0.336748433016 -1.958218837847 -0.006973484909 -0.683563900737 1.397285521568 0.304373218151 -1.256349073131 -0.480432779058 -0.448271771783 -0.029100182782 0.001432337901 0.129694402716 0.224273920521 0.805422225882 0.163867714072 0.761884009456 -0.824837533841 -0.215037999242 1.201071368339 0.559774924045 0.495259886927 -0.233282315620 0.924413236980 -0.022194051715 -0.358902837576 -0.457278054960 -1.651180723134 0.299815047439 -0.712133109944 -0.005809632633 -0.397591076378 -0.154787940091 0.008505477109 -2.191990669664 1.310152436823 -0.034977920373 -1.181370949083 -0.324144852643 -0.023037725549 -0.047268035126 -0.059755508461 -0.305679021295 -0.684998515842 1.642229753009 -0.168070180573 -1.198365376770 -0.243953462314 -0.455213632659 -0.616950396585 -1.276295386729 -0.210912136733 0.002765541253 -1.078775513489 -0.540519261981 1.122081456946 0.943835416246 0.003359404477 0.071732021054 0.076586433412 -0.026006198061 -0.010515429608 1.239630617423 1.545742120847 0.234252799748 -0.097698027630 0.322358273536 -1.054991807787 -0.833004933714 0.112367655947 1.798339733381 1.311104255439 -0.241052935962 -0.394750591673 0.203784661480 0.161552401031 0.974896843760 -0.938936419103 0.051085267525 0.025797185329 -0.052288248975 -1.100997489002 1.024550645878 -0.357542606557 -0.048420722645 0.010554895245 -0.879002923236 0.090222272465 -0.793530845991 0.154265405963 2.628853748594 -0.450126396795 -0.017173846244 0.370644281721 0.104523678893 0.698230105156 -0.085734495211 0.461474833174 -0.182375122282 -0.667912688325 0.079601601209 -0.058511587707 -0.335313808331 -0.058306996355 0.045961703130 -0.008085424125 -0.121456325120 -0.985134311187 -0.001119673152 -0.364179432927 -2.098819596287 0.235120954338 -0.519111683640 -1.929421941331 -0.262702660442 -0.406126239911 2.121238656589 0.023109259788 0.430950947507 -0.021324738064 -0.226764885896 -0.004671528592 0.326714322268 0.006304078807 0.847219476010 -0.948532466479 -0.360674111852 0.263882158067 0.039951606055 -0.053844762340 -0.325819242897 -0.523045780905 -0.247651223848 0.170836522628 0.974560815193 1.446946542722 -0.017083787365 -0.024650134869 0.186967058490 -0.464867545397 1.720427546986 -0.057166967047 -1.256394900860 0.107990314733 1.177199463594 0.531589950054 -1.595718793254 -0.439999176885 -2.038128610360 1.058532268977 0.133313500743 -0.298496915156 -0.354000003313 0.077913506747 -0.015074298012 0.025708227501 0.110521589498 0.248908300949 0.344290004402 -0.338291484114 0.445335516901 0.761850811912 0.597400797303 0.249750735700 1.400805356185 0.160855431063 1.111537109029 0.912713433747 0.024231486287 -0.511255392261 0.775079895834 -0.080361407551 1.136694146617 -1.013719714139 0.020439569132 -0.410627474559 -0.079130289092 -0.129488376557 0.652260141552 1.341090368334 0.748866616561 1.149246562175 -0.149472321199 -0.384320763327 0.295531187687 -0.005273923522 -0.012097686169 -0.457276932595 -2.094009043309 -0.065939687991 -2.255792928899 0.627120117575 0.030283645352 -0.118234444538 0.968946053702 0.017933998634 -1.904870532543 -1.294955662865 -0.394541198559 -0.306138004712 -0.761241183512 0.009379007415 0.461781130821 1.779247262250 0.375982122316 0.003534693096 -0.067413069474 0.588867326836 0.575950718315 0.506355865183 0.622226142182 -1.401982868780 -1.815044584658 0.166617675826 1.053481992805 0.282516429686 0.013804930698 -0.186383040128 -1.803060446638 0.127179089760 0.175923951572 0.513557547488 0.120981876941 -0.243441704736 -0.364147076015 0.743569143673 1.649522042317 0.017836063398 -0.419983369857 -0.280267453031 -0.095496972151 -0.027614435080 -0.111796206439 0.002122958494 0.039849348353 -1.070235966786 -2.230711300332 -0.114356451290 0.202896451889 0.790892786171 -0.062233284033 0.191968922199 0.886685944575 -1.301764987136 -0.143079403228 -0.378888802520 0.808583492067 0.008088517871 0.097628668828 0.032444424698 0.188689723015 -1.124531078318 -0.695975441820 0.000090539159 -1.656657955883 -0.058168309509 -0.462010104118 0.547223078814 0.374721615848 -0.545877682017 -0.291617901104 -0.250157070214 0.634755309217 -0.999396074064 0.021265864018 0.468788540597 -0.965983147539 -0.037380614173 0.401440836732 -0.003553785026 -0.703371468323 -0.141107848072 0.134506536120 0.084016434881 -1.056119082864 -1.276689254444 0.090046977202 -0.426439118814 -0.072892463276 -0.009199333717 1.534859649766 0.752965467076 0.360254181919 0.131931122480 1.141330173900 -0.299663753748 0.584869360873 1.215611149480 -0.033382144186 0.529863583582 -0.144263169094 -0.382291613829 -0.308562048144 0.949944414567 -0.147698495509 1.528377587161 0.423548804825 0.365242065897 -0.193358273637 0.327443870918 -0.543523516194 2.338356655474 -0.005902417871 0.087973862962 -0.289612430238 -0.387783672683 1.397091831737 0.078563357843 1.412587197633 0.006322835443 2.535910539221 -0.322663581846 -0.022681030132 0.314357251745 -0.695789354406 -0.412935130762 1.135024929607 -0.085301182964 -0.105593282058 1.113019154394 0.013545165386 0.314629105555 0.748317894932 -0.108491685397 -0.748046372114 -0.036741832444 0.217110350758 -0.331831198793 0.819047442086 -1.144289644261 -0.440427042734 -0.728893518735 0.425459263280 0.079809827785 -0.775554572192 -1.658454683793 -0.121463779823 0.330721226804 -1.525799105074 0.010629632245 0.026503437563 -0.326356708807 0.525273608398 0.170562851100 -0.430351567170 -0.003591016141 0.096447491899 0.436981860184 -0.041001768892 -0.157439019326 -2.636976764529 -0.427697932016 -0.644355720814 0.251820918300 0.045117234984 -1.414212683059 -2.589762751446 -0.400268058638 1.608266927616 -0.313582588392 -0.294119918453 -0.159430986679 2.451574705496 0.291944724959 -0.016506589578 1.963028064172 -0.257928238616 -0.265056843049 0.400601140667 0.706209961374 -2.037245125419 0.004285602771 -0.424754522449 -0.178938576616 -0.526166065855 0.393020287729 -0.005793237717 -0.018509899596 -0.395894278543 0.476752623523 -0.202120538104 -0.050016627225 -1.519694615779 0.066597282382 0.098496336332 -1.174412267244 0.573937844791 -0.007735285519 -0.534845951409 -0.407130702966 -0.168898598840 -0.254413441603 -0.748872190184 0.341544860279 -0.052318640747 -0.175807164209 0.752960559945 1.565587795364 0.262015551147 -0.000774900666 1.909255159627 -0.071028729162 -0.000230024250 -0.010033187918 -0.031294028332 1.280805809103 -0.157686222754 0.171732968650 0.073946149468 -0.593426833334 2.400380689071 0.214024937959 -2.361099333207 -0.663905759595 -1.489556402623 0.207074062786 0.041869909640 -0.043778688840 2.056718320883 0.288948641848 -0.645781640255 0.041305727148 -0.930329984608 -0.076485159816 -0.549628081438 1.326728789348 -0.049538909489 -1.010341136603 0.120747060194 0.059349716950 -0.355576327827 0.298644595874 1.159493055610 0.011714866035 1.549369832683 0.149631764754 -0.955759086715 0.377314504275 -0.236362268900 -0.769248701983 0.086322350666 0.081778807004 0.184137155487 0.571919362018 0.105772911125 -1.344705378485 0.500680276062 0.234475744396 -0.250915053347 -0.384280545600 -1.321815456793 -0.071772051682 2.633840123196 0.178573128235 -0.006165149351 -0.325291077719 0.156222952240 -1.347864552154 1.566435685646 -0.048182316149 -1.743620117484 1.460882652542 -0.474466733845 0.393139457240 0.014767596743 0.069602244499 1.079237564727 1.110163364647 -0.512603575561 0.020328263318 -0.943474587676 0.060577148241 -0.164292371006 -1.939789219891 -0.050180970286 0.744132663403 0.628146893357 0.513561841289 -0.104805132709 0.101191139729 0.037306839863 -0.287030072438 1.993392614637 0.058878739829 1.440908384653 -1.451530351694 -0.187688818755 -1.991747566470 -0.379104298261 -0.125761240803 -1.996841265430 -0.221797241737 0.310624462879 0.105944142988 0.144848227229 0.024908811271 0.000625027403 -0.110960258660 0.294119162715 0.133445991492 0.712485621393 -0.367388623715 0.175450189671 -1.396014681519 -0.249088659023 1.152809054989 2.487940249468 0.212143229090 2.544871244232 -1.118179579342 -0.100504396259 -1.090150387752 0.034271790757 -0.393773782307 -0.302165964982 1.241077488897 -0.004919985899 0.903268039005 0.860527412247 -0.001899730070 -0.105712035221 0.009902339841 -1.904271865382 -0.544231800395 -0.798955187068 -0.192937306100 -0.031287867558 0.106439780150 0.016732649746 0.917939722083 -0.754101545682 0.922976564414 -1.448266316276 -0.193523756531 0.137948866587 0.030164414085 -0.954327154392 0.348975395133 0.989494207018 -0.817691437368 1.730577576811 -1.921425685373 0.180589233755 -0.067448812385 0.001294339370 -0.056496539120 -0.076493769844 0.135428266462 1.991032431232 -0.096108776519 1.141981805156 0.465156088587 0.233697383315 0.337984780169 -0.064593261356 -0.459015197074 -1.525991471683 -0.025305796317 -0.244830083644 0.010317066569 0.515998851688 -0.067889588865 -4.018200880165 0.255492118919 0.142840247552 0.274565264597 -2.637045831594 0.516517506932 0.954444286867 -0.959990317557 -0.011974748684 0.560516017985 0.448350042663 -0.278581601791 0.575645492534 -0.693439537644 0.015569639732 0.067552536689 -1.813496154058 0.049214703584 -0.456561969525 -0.974337054951 -0.714247823903 1.379144762058 0.127561802450 0.218042592202 -1.865172036641 1.664388723856 -0.000232657387 0.459508312613 0.173128781665 -0.077596236451 0.036610952775 -0.001231645469 -0.085698077552 -0.919783048978 0.803323115532 0.322624186043 -0.087159927867 -1.007958505912 0.176748435080 1.654303133086 0.135530451100 -1.845905697675 0.608017490761 -0.736294971922 -0.131237224891 1.544047029649 0.398343922684 -0.011932201335 2.012185168776 0.022302751192 0.286538675635 1.722194237928 -0.308469001235 0.489856845539 -0.633788813108 -0.116144720470 -0.048493540927 -0.005449679348 -0.006117712984 0.537587192855 0.287820504484 0.472323033001 -0.057744149400 0.172671807473 -0.658394373619 0.395735480382 -1.005243223882 -0.045597551828 -0.143796106556 1.275318381192 -0.115778405319 0.014759237775 1.216331746804 1.315115094653 -0.004486531232 0.295909118913 2.598779858237 0.043572347731 -0.102208932869 -1.439597637792 0.824014645214 -0.854583148877 -0.175149922135 -0.312163337805 1.562384391662 0.185207069527 0.833809192028 0.070090664260 -0.431721160618 -0.122896462791 -0.180240816542 1.107111122535 -0.343405219451 0.026759175318 -2.026388163502 -0.182374308608 0.230621017274 0.393680610290 0.470294717569 -0.288029693719 -1.408053440647 -0.111991202431 0.512984275710 1.176993561548 -0.943958856932 1.437057821799 -0.012211875439 -0.150036940614 -2.069776946904 -0.702269615388 0.089807616334 -1.351435140812 -0.405260345968 -0.464738421768 -0.257346667508 -0.856447077314 -0.581174477947 1.212110153981 -1.376813125079 -0.009090593152 -0.123077165158 -0.577216032297 -0.092421086906 -0.278015582771 -0.197445458679 -0.013759584512 -2.345213507805 -0.031746429662 -0.000975854631 0.883870608944 0.453982378592 -0.839395418530 0.621889376304 1.346474834875 0.007485033360 1.401942453615 -1.693980920391 -0.114180806247 0.891723454192 -1.832519638309 0.329655711758 0.539235967066 -0.155112469707 -0.480539631274 -0.175560983424 0.841144147491 -0.279028897564 -0.105389543130 0.556556513659 0.096945850064 0.013321160151 0.005300383149 0.126552739021 -0.030566327857 -0.556254674494 -0.024638393848 1.104950043912 -1.397403997232 0.468451571093 -0.910377525538 0.052329591284 -0.284014664303 0.159863703399 -0.108034349208 0.513043293145 -2.879008506817 0.279629926813 0.589177327024 0.397449417164 0.034561098409 0.193839873890 -1.044172465406 -0.199802023497 0.222433662440 0.012377870793 0.858372301356 0.289643494571 0.948062504930 0.788026843285 -0.087552325525 0.083178404631 -0.009910372422 -0.009961105357 0.162007910095 1.430836774982 0.062503641165 -0.883332170055 0.020918983850 0.061876291500 0.039364981506 -0.786465647918 0.155753154162 -0.111779638450 -1.532014722156 0.522671736235 1.661304938681 3.024487485627 0.029079152524 -0.509551886216 -0.949147144525 -0.147215414504 0.044093076752 0.281266568741 0.313888213998 0.580713501286 0.013864966845 0.113994813631 -1.163385063579 2.127783693221 0.355859558792 1.971921523114 -0.558272209490 0.023294725831 -0.920338822681 0.518769452681 0.137875197985 -0.183105054467 0.785084750186 -0.028681228972 -0.334387665442 -0.003361863144 -0.107658855537 -1.099343280773 -1.087025442477 -0.284067645001 0.000169669787 0.317758281239 0.007182534184 1.814498580566 -0.257067741648 0.203934511037 -0.079346399692 -0.158969379643 0.155310936220 -2.013559197363 -0.196539783342 0.992049344369 0.497730722282 0.812196779956 0.041283974636 -0.058277144831 -0.116121492677 0.188496058255 -0.023811431520 0.326301399123 0.131685422269 -0.072344939773 -0.215970969632 1.622673955244 0.814720802219 -2.748065335496 -0.192997498833 -0.245075799214 -0.381673823614 0.237980035524 -1.141475629532 -2.476036144538 -0.151153000151 0.144546216652 0.299782156690 -0.080070153731 0.180491968988 0.119103592937 0.217629467574 0.023435496916 -1.029759484602 -0.758792775457 0.199660071178 -1.235639234100 -0.452201872210 0.011113291413 0.416311168991 0.449502477454 0.571601958087 -0.006842434579 0.086326258353 -0.529652401225 -0.059103774958 -0.055698807510 0.479416383495 -1.159093360963 -0.009462402013 -1.300074440097 0.172431824031 1.814195346642 -1.072579870205 0.550478081147 0.221157413560 -0.545816389453 1.722416142739 -0.480384816883 0.333675388224 1.222981253145 -0.003280665940 -0.006054711734 0.484495106259 0.012906192882 0.529328750277 0.850405061340 -0.054956010044 -1.208943336972 -0.722343828902 0.049288915640 0.380952164599 1.035212345003 0.003092916730 -0.688386244225 1.229470897055 -0.145672277844 -0.005825332465 0.544808335619 0.877486749552 0.264950134636 1.715195902382 -0.149982638372 0.092959621976 -0.488718150116 -0.165158522834 0.563121399231 0.205430117916 -0.109860725797 -0.579325588960 -0.000937358979 0.089082131766 -1.568974570281 -0.610196744571 -0.087782136084 -0.536849721651 -1.656612174142 -0.764197523700 -0.669099132256 -0.223821220862 -0.122454606605 -1.303784514019 0.036785877530 0.090583758616 -0.007316104585 0.845894724388 -2.089269257909 1.480278404819 -0.865118263383 -0.052745010204 0.557933263191 0.827055002227 -0.127545517792 -0.213305650296 -0.178323898906 0.439895888656 -0.026161778553 -0.810889704410 -0.330015732428 -0.099653377882 -1.437571179069 0.023155030058 1.806826264671 1.073615340671 -1.932693812722 -0.290187791122 -0.047008918365 -0.191702222916 0.062430963701 -0.005681849922 0.224063790949 -1.365382717247 3.306350646015 -0.199481174507 0.470541231230 0.027542266068 -0.408531932550 -0.795038501323 1.629680512306 -0.201776329128 0.295966197345 0.105464717823 0.117846297929 0.890766268408 -1.299241600492 -0.049506164799 2.441416570319 -0.341086130427 -0.018311583491 0.356964896171 0.617112364854 -0.896396566132 2.041874143853 0.214545127128 -0.252294147713 -0.067276318118 -0.827628525225 -0.233189180548 -0.071720893591 0.096267103973 -1.357723181389 0.359867102261 0.954489990665 -0.338569164212 1.502614857532 1.183452982428 -0.003517227348 0.286200601805 -0.010768604153 0.506776283895 0.694103671250 0.510116768503 0.147503732325 0.004484835396 0.818474438292 -0.076920302183 -1.292749780529 1.020708187014 -0.024253159342 0.344315251317 -0.747776461856 0.104227571544 0.276087596125 -0.295803008208 0.023066904182 -0.778217033914 0.181273199016 0.002300387849 -0.033408219818 -0.046326214000 0.184379320660 -1.558462465218 -0.160314276594 -0.000938975441 -0.444411834320 0.035963184154 -0.005253570764 0.001801655423 -0.402242917026 0.294291755090 -0.279122688115 -1.528696210741 -0.037012224807 0.320328113919 -1.323986060399 -0.495394109016 0.268871381710 0.421046884540 0.143263050806 -1.271038182771 -0.510723578082 0.021713665178 0.624403334617 0.838565309832 -0.171498539644 0.113355292163 0.122745467894 0.137831232416 -0.106259218964 1.451734420185 0.161134267746 -0.380031155113 0.092849144531 0.393152063587 0.565505296623 -0.231992341546 0.414228315448 -1.217679304380 0.056807528616 0.106576643999 0.512834326977 -0.111149741171 -1.249053621778 0.142939196907 -1.808112248558 -0.017978299019 -2.137602404354 -1.023947962488 0.011354027601 1.863561714821 -1.420074947263 0.269950403145 0.452243849749 -0.316052767416 -0.139662817089 0.211109719107 -0.423430325264 0.024341126812 -0.157065093618 0.365524142764 -0.178165432697 -2.347580317734 0.155897391938 -0.276627893478 -0.041584390174 1.154017491104 0.608811377597 1.605369777355 -1.268647168594 0.001701056213 -0.933029256760 -1.575234512121 -0.032025656328 -0.043168825038 -0.865693590055 -0.318862130588 0.059577045973 -0.174009273532 1.720419425219 -1.183678976801 -0.331361048458 0.233108931656 -0.145904691202 -0.011007636964 0.277682465065 0.023675676513 2.829239854516 0.361087665036 2.984075308011 0.855754792657 0.006686147597 -0.196752469095 0.801087767392 -0.095431897637 0.003083902253 0.305770421017 -1.026594361184 -0.020875956492 1.499369548632 -0.055256446456 -0.007798556076 0.733155282727 -0.031505310853 -0.150381653596 -0.128304324857 0.348168616106 0.859471348557 0.233529458705 0.144952755771 1.918561355088 0.292186070249 -0.008680242496 -0.419418260815 -0.361438799128 1.457977136564 -1.228869522649 -1.325093509282 0.027481666394 0.244839137791 0.124023975028 -0.330997634980 -0.031791247908 1.394654978983 0.338600057373 -1.289858328027 0.144568087550 -0.115947750152 1.804692947548 0.065100765208 0.140706325437 -0.559245259934 -0.013018953275 0.297074262912 0.046655456920 0.439673141482 0.132384748024 -0.068575178596 -1.188609838371 -0.729522206537 -0.071908162971 -0.002588367373 0.165652006835 -0.701597922955 -1.533809590011 -0.141961919345 -0.894462078740 0.430298135200 -0.050313513047 0.571983718961 -0.107100144701 1.730430306542 0.032513793435 -0.869014053700 0.105778682601 0.281586257740 0.676325181483 0.115743575082 -0.373891193846 -2.408893440018 0.016250517426 -0.118758765735 -1.017085744451 0.007337097266 -0.587779631174 0.127365020065 0.194695045094 -0.418385753030 0.277999660719 -0.333983331295 -0.869828417364 0.141836464835 -0.185003070871 -0.054988680538 0.077677441180 0.152993997314 -0.330608066553 0.681509756404 -1.461058994395 -0.159616270711 0.093791722467 -0.485319378243 -0.282397123875 0.001882618317 -0.080919054574 -0.224349406125 0.797913013151 0.062365957903 -0.954934942785 -0.191284154659 0.345510510600 1.830619106852 -0.003346366990 -0.259627079553 0.003976879880 -0.063555551938 0.125743903219 0.366789960354 -0.064275066101 0.332344040882 0.261560535838 0.232251179770 0.168506795110 -0.706178204026 1.886035222774 0.690588996342 -0.072270291321 -1.129014243569 -0.007824417487 0.029585792181 0.771275274687 0.063938346250 -0.148181655305 -0.581285007795 -1.023408749171 -2.017218695824 -0.608198780714 0.009546057437 -0.373244649957 -0.528352080557 -0.147506304531 1.065617356963 1.330395301781 0.553973507672 -0.084833581296 -0.018988266409 -0.031009110085 3.502213752351 0.249492150837 -0.130435568474 -0.874113391055 0.197540496413 0.889235082862 -0.531134934631 -0.937832822181 0.310956458379 -0.101071977787 -1.321309242794 0.042746526169 -0.748028808019 0.863410269096 0.701224022368 0.643013298606 -0.235861004608 0.062141586528 -0.315753407835 -0.104165500002 0.075985582805 -0.262243270147 -0.613258852279 -0.648178757002 -0.723351446814 -0.092291322693 -0.141496571388 0.496733765736 0.197590751171 0.002672405171 0.067309969366 -0.543556156026 1.019440590027 0.231169309293 0.929603661643 0.324103301545 -1.807647058479 -0.956299094505 0.009196460647 -0.197299339211 2.065099853543 -0.304729713356 1.049654130264 -1.225416995901 -0.026626310748 1.723823432049 0.114828793996 0.010196147546 -0.019096182079 -0.577608258389 -0.610560621811 0.157528098572 -0.887673620007 -0.102696495564 -0.684891988333 0.389677548631 -0.219917056147 1.479128075148 0.010529826908 0.462202821003 0.015981338813 1.098850251289 0.000476399269 0.140242724053 -0.157127818765 -0.369747445733 0.056900908246 -0.213789167712 0.818687903627 -0.040858495460 -0.783297465256 0.135027296238 2.574048642946 -0.962156107970 -0.077762656595 0.749938820209 -1.500941682723 -0.142544929447 -0.797897921924 0.101743051582 -0.190856075533 0.978996935683 -0.205066840264 -0.250563538562 -1.232454113479 1.619430167025 -1.303965234474 0.288193085567 -0.189526479543 0.205417006027 0.383921491132 -0.004423225206 0.008039888405 1.536045429701 -0.743707074784 -0.046645081585 -0.131131373514 -0.575278039537 0.463436502999 -0.746416256062 -0.056797137913 0.275106478030 -0.129004481982 -0.196430551650 0.031356817600 -0.906768470586 -0.177598348413 0.111789888185 1.566042954884 0.177433249743 -0.151319270021 1.370172624462 -1.055247732345 1.394481014500 -0.666345039920 -0.001360158731 -0.010053538578 1.402574967915 1.280864287124 -0.217312274338 -0.225611291289 -1.368623481907 -0.037191812650 0.008494613322 -0.423399104446 0.147271576989 -1.207052360802 -0.939213303472 0.119407576503 0.067646063311 0.797301823621 -1.299843102949 -0.441958087926 -0.103620438612 0.064978353186 1.026329037474 -0.279016541660 -0.052980693474 -0.836729132497 -0.104100144246 -2.462891237234 0.671749026402 -0.052946645802 -0.367937231769 0.000997571220 -0.156298907871 0.305099008099 -0.594458281970 1.180669445165 0.164702154345 1.324747357959 0.288784302588 -0.034400292779 0.012159567659 -0.241856823891 -0.084281080556 -4.790101593023 -0.957325366171 0.101491199530 -0.003356323505 1.555687320736 0.006625341193 2.219031915575 0.004792439685 0.338605178424 -0.071206839297 0.454134839862 -1.105396300666 0.385065459909 0.014005039930 0.355027340503 -1.542583030975 -0.279749295477 -0.341459921407 -0.581414276286 -0.756905345553 -0.970577875116 -1.463814023555 0.341824657508 -0.056945727846 0.003814417996 0.152683875309 0.007751100573 -0.904192577642 -0.025669918902 -0.204069148679 0.392698245915 -0.442686281551 -0.019710027469 0.366363803334 0.879628426832 -0.277517594158 2.685572969530 0.323864659633 0.257696428742 0.642135817228 2.954120967551 0.202388643352 -0.122668367364 0.034387988232 -0.064643692357 0.029377368289 -0.488103901709 0.655160104574 2.049172379828 0.783840873433 0.022951297666 0.117626114090 -1.237398431530 0.205598409853 0.389701441755 0.627146158174 1.475961225166 -0.296126654857 0.285287206062 0.000490374797 -1.331415892773 0.257158617682 0.025978052575 0.371841293690 0.727557767222 0.362186157540 -0.407919261478 1.882146329038 -0.259947444422 -0.920701590456 2.916909073876 0.036584411379 -1.482977030682 -0.220544035116 -0.244454281430 -0.007055375052 2.556541962063 -0.001613920423 0.286677334429 -0.229976013120 -0.112105881638 -0.167248418571 0.589244183961 -0.160527376129 -1.795747546607 -1.313962342679 -0.101631403545 -0.079203120291 -0.346096146411 -0.445129990567 -0.010922388477 0.278214435334 0.399400747915 -0.004978098134 -0.937611358768 -0.123227164811 -0.681946575645 -1.223806670702 -0.054784330268 -0.633811947546 0.000122102790 -0.395226034169 -0.892842192581 -0.389065981589 -0.542706645578 0.301584513224 0.694038858822 0.008947440691 -0.916709167464 -1.591268561682 0.409790105593 0.003615171479 1.758019457976 0.094148756868 -0.053521696038 -0.808684848625 0.118945364904 -0.925596783807 -1.318454778365 0.024650287551 -0.013512573580 -0.030269614404 0.475888524188 -0.465924967834 -0.108094882405 -0.039804486843 -1.410018721724 1.569367947136 -0.085228300207 0.324902126856 -0.439596535920 0.020162715994 -1.394898784989 -0.519705151034 -0.243790715644 0.137825518009 0.440162993304 -0.588695820074 -0.039183022949 1.005109742584 -0.648550369786 0.998994978222 0.166727619936 0.162087149646 -1.743550494013 1.071089512779 -0.310162664094 1.120926952528 0.243301918614 -0.071372844722 2.017856703423 0.541711852523 0.000906497959 0.321921084421 -0.165631075892 1.132204017189 -0.413403850699 -0.038006807594 -0.307933817660 -0.299890518919 0.014736558176 0.055684446960 1.012212341411 -0.172612699239 -0.851710187871 0.038315735668 -0.937190849544 -0.244796938183 0.242481415878 -0.371047413029 -0.096375256412 0.341311575473 -1.186154362203 1.147462347770 -1.990344102307 -0.911725640127 -0.039549064297 0.015195924999 0.601545306069 0.373266291846 1.153733513915 -0.503261918713 1.362600011524 -0.013268039250 0.156554578101 0.196949544354 0.518803605080 -0.288726032051 0.331333726327 0.460559697883 -1.296019384879 0.096594585877 0.114213619929 0.893131660337 -0.038623370993 0.025100822574 1.262026954358 0.000858345212 0.033317874474 0.955971288403 -0.293658116503 1.718829917286 -0.249657324555 -0.198943894940 -0.519018992806 -0.197551547184 0.528694360311 -0.323249754537 -0.461171188610 0.768302772450 0.100167755621 0.361451307255 0.094133937361 -1.285616081136 -0.003071532020 0.519020299152 0.037391132969 -0.597020391787 -0.953535461421 -0.275025859569 -0.434604362773 0.268082716965 0.395238303529 -0.697001321717 -0.053790703416 0.894015265676 -0.206356499415 0.019927376859 1.782984034142 0.458447476853 -0.141326512692 -0.382949669016 1.314348832430 -0.001227762214 -0.769608897926 0.316597654880 -0.847816601635 -0.253837638836 0.876074945541 0.233401076823 0.081406043468 -1.888344524069 0.062843130213 0.356921768248 -2.508156064652 0.478452974268 0.170205477662 0.109435124286 -0.006592988757 0.354528853475 1.246517890980 -0.122619450153 0.075897629832 -0.328442741818 -0.423461681972 0.326782982285 -2.179519148372 0.255096444779 0.692150639214 -0.273675977907 0.473629240104 0.372836820059 -1.334055539184 -0.657571915851 1.134399683113 -0.135156000893 -0.070261108118 -0.754652884861 -1.487389359300 0.099617886033 -0.311064380939 0.044748691637 -0.041210859300 -0.527151357495 0.368895145212 0.001956965537 0.028480064835 -0.433238908444 -0.040044104019 0.911186709373 1.593127517075 0.123851026156 0.224360429583 1.386264599696 -0.729339785750 0.338170647896 -1.596071433824 0.072898371779 1.054976086971 0.050068355786 0.577455007108 -0.118874332655 0.745918203385 -0.246626235029 0.000123577471 1.001488980438 0.120224159354 -1.438789522104 0.131540924876 -0.553751885599 2.786478192098 -0.316611979069 0.162699219534 -0.314532133433 1.737857867016 0.149993007146 -0.369761753775 0.039621607056 -0.760427121308 -0.088883377249 0.047793832510 0.058926080644 0.368987611319 -0.052368973728 -0.161912820237 -1.014285128163 -0.824311604998 -1.389051909080 0.742638962216 -0.234338500211 -0.252137579171 -2.081358971204 -0.117854249366 0.161437151272 -0.356186212256 -1.325061829688 -1.083978590341 0.842118783411 0.081576077577 -0.362614327936 -0.271305045066 0.045325593845 -0.423921843091 -0.262110133167 -2.571776369228 0.919972572060 0.044644849224 -0.071165967068 -0.000733289672 0.654498751283 0.519899124884 -0.208557489111 0.091905660060 -0.612319654914 1.112166017223 -0.094773453327 0.299499944119 -0.016183729799 0.585814188495 0.093974640880 -0.069828635328 -0.103748346951 -0.077297838226 0.123879265960 0.052829951701 0.005458383256 0.258915973574 1.336825017153 0.460608019380 -0.090106905725 -1.606636418022 0.008869427293 0.780968803826 -0.167000048507 1.916444996895 0.408851803528 0.065451719963 -0.465408610331 0.142806310083 -0.010793818828 0.014881641830 1.767402401258 -1.243019539232 -0.022324207394 -0.146961589512 1.063366095252 -0.896680407116 -0.168919381360 -1.441825427090 0.218707359783 -0.378356629533 0.404586598754 0.258834679536 0.013075065928 2.903232103633 0.025186905913 0.158378732252 0.075757147372 1.176028027677 0.232985452246 -0.159902405851 0.004825520395 0.746897290434 1.083491822515 0.130004987281 -0.196943471892 1.124331549020 -0.318009742172 0.451724539291 -1.198319138532 0.033854030452 0.049962496221 -0.076053235843 -0.936986930392 -0.039765273217 1.323630774992 -1.328351546472 -0.361622012435 0.294835791416 1.055911924272 0.272579243234 -0.922256657003 -1.776102198889 0.145642181949 1.667229247699 0.078979217933 0.811140470474 -1.804136063743 -0.334120134507 -0.343988630212 0.544143294743 -0.010702245316 0.000361242842 0.094765999422 -1.137478721384 0.375030615261 0.816783958035 1.374675806401 -0.002129936770 -0.358615281927 0.048149313690 0.007769056587 -0.980209987280 -0.151139229986 0.026937803456 -1.608736362729 0.317535910334 -0.042084150855 -1.237338948195 0.448772421078 -0.574833525851 -0.052709991811 -0.094315839392 -0.163662977754 -0.209409191666 -1.340110887202 0.057707056470 -0.592368428455 0.743587035961 0.447700959500 -0.024016380195 1.878852259939 -2.184532399596 0.158671974257 0.135226694744 -0.372281594188 0.337824563176 -0.045017177457 0.012292938043 0.124158396615 -2.232301269997 0.099326021106 0.056847796150 -0.748295126302 0.380384531622 0.351111250245 0.091770666811 -0.076626545982 -0.938458653327 1.780216641758 0.986619290495 -0.188711841252 -1.177471447203 0.039484580912 -2.325589447728 -0.269470062395 -0.093486871575 -0.306934924123 0.336369118535 -0.098182907012 0.055900530512 0.841912253510 0.223548691045 -1.248715148352 -1.534042426696 -0.038022241428 -0.023357711510 0.496124027147 0.001780658239 -1.429370769994 -0.307066374092 -0.124436039453 0.121093742167 -0.016893313860 -0.109386796611 -0.040311488400 1.702975401455 -0.466341364869 0.173129911250 0.011940815701 0.690546499161 -0.138789835241 2.704380046679 -0.146796675570 1.012044802429 0.568648671499 -0.089049501737 -0.149157399505 2.086317698060 0.008163365166 0.903237156592 0.898659066915 0.189103315600 0.558039498790 0.378694013284 0.028993669765 -2.146510055557 -0.830423934637 0.026843782659 0.213528281476 -0.325776388102 -0.162008359831 -0.078335217086 0.166121425502 -0.013036749137 0.474583469497 0.672815029686 0.010952963904 1.044017783674 1.917231251518 -0.015623294737 -0.104648482189 0.507754103198 0.922709783237 0.387509627381 -1.142110690150 -0.019137858130 0.121150314348 0.255709804765 0.269274350695 -1.214713194238 -0.447345851524 0.622556743226 1.049290418266 -0.563948813646 0.094856850827 -0.284670582981 -1.013174634019 0.033464199528 -0.063537417267 2.348285888623 -1.373154932858 -1.037384143051 1.249073885812 -0.001441882848 0.000589353614 -0.188723234211 0.048362305395 0.248702220378 -0.163474790396 -1.235432077203 -0.972339284122 0.015656657012 -0.293068328693 -0.419582216347 0.556795603259 -0.251078021776 -0.248582133520 -0.371681712187 0.011934255606 0.681536726107 0.078743923952 -0.081594713085 0.261809798657 1.463487325800 0.007543238143 0.141914456042 0.672890153581 -0.458423869324 0.494594254105 -2.972462091382 -0.160162814853 -1.459419039562 0.191897402281 0.046823081577 -0.001641799663 -0.015266077275 -1.250007896565 0.665593450067 -1.410497507626 -0.043291019113 -0.143007770295 -0.583635634404 0.030289515548 0.002166412340 -0.768017027901 0.844228952574 -0.051690083662 -0.657122287740 -0.040599642991 -2.761235886010 -0.122402070679 -0.300375544220 1.016937903590 0.653845776693 0.099392472651 -0.684580301091 0.572768504661 -0.135491397662 1.432378611803 -0.187683219610 0.136285905001 2.188886780229 0.005452135928 -1.346488941668 1.557900614206 -0.341371731419 -0.009901731929 0.030527770917 -0.710315363099 0.094511100207 1.865346285592 1.995177991067 -0.104535315496 0.024350119562 -0.284274950432 -0.175439989814 0.918787604191 -0.508525152178 0.004088110872 -1.176468988629 0.746578587671 -0.033568108923 -0.942109299799 -0.208187899571 -0.115448835619 -0.034014089205 1.175117626453 -0.153435743734 0.596987747588 1.059099782111 -1.097599356726 -0.131920137058 -0.807050497502 0.488716589170 0.861135163288 0.276107930625 0.238781581316 -0.022990108757 0.486237278847 0.245539573798 -1.058699387922 -2.425614135012 0.020920642803 -1.069200744693 -1.500909219441 0.198045210412 0.506319039213 -0.559690712471 -0.610344142660 2.138479112341 0.386663203921 -0.185311136180 -0.390203217710 -2.429072512021 -0.110980742954 0.236097835899 0.325019447615 1.068313790434 0.225380097873 -0.185551043342 0.073293215901 2.636737711641 -1.753895293047 -0.045897268159 0.104592505593 0.021607518265 0.161698197436 -1.204711575420 0.005635875567 -0.474020600181 -0.170808745259 0.001802443072 0.064819177449 0.596096592684 0.039782963768 1.210910858223 -0.461054263971 -0.062603301507 0.029083462114 -0.616599072477 0.018670216223 -0.483736848454 0.528603469713 -0.294856487826 0.181579545953 0.020715071867 0.954279945722 -0.139898919345 -0.101973096755 1.364472323869 0.001831177210 0.126667002709 -1.326070214032 1.912185707551 -1.067090113878 0.685579535080 -0.054292237440 0.010078719768 -0.762517068468 -0.014035052443 -0.183422884023 0.707312794558 -0.730848367593 -0.143296373791 1.273805130057 -0.026050627951 0.392996601843 0.491690285039 -0.002218202223 2.039003144513 -1.429084887592 0.001946345572 -0.033863422152 3.131519794971 0.014106114102 0.678267369515 -0.020972789565 -0.327676069494 -1.771441024638 -0.654244847480 -0.487265720161 2.519814105809 -0.003851207978 0.661120695157 -1.575782652019 0.408652612586 0.081299884329 -0.010717663704 -0.270953185684 -0.329298938430 -0.002346988672 -1.703153500571 -0.043335018433 -0.745984763169 0.609440623992 -0.007551987231 1.871235626150 -0.208893058073 -0.194614443550 -0.599305469504 -0.372573419455 -0.641974521298 -0.039049955003 -0.373382200016 0.035561124602 -1.698273000759 1.516289543567 0.460365453140 0.258078079876 -0.818227969787 -0.145308116979 0.231553879717 0.010607452404 0.296405505252 -0.018427200993 0.308577543318 -0.046326274310 0.206847271210 -0.465809743019 0.250764788780 0.123496227336 -0.011749240384 -0.198763063255 -1.513382205517 0.648720833796 0.781512376750 -1.834330812471 -0.361159101243 0.000058617540 -0.940500727797 1.613244955765 0.323984193406 0.991883537896 -0.056998484700 -0.104761621163 0.121102787938 -1.879547318743 0.411922451949 -0.708395250313 -0.165325679398 0.445314729729 -0.639670418255 -0.255477741489 1.219475675839 1.258755618739 -0.187409246688 -0.023916989274 -2.102074691220 -0.249961327670 -0.122040812339 -1.185241928882 0.231551970251 -0.001592079035 -0.825204512350 -0.199719197386 -0.300793084344 -0.603408237315 -1.760630722637 -0.102517600267 0.004586785688 1.547629342987 1.104240696081 0.332427485768 -0.495633905097 0.247960158143 -1.032799411490 1.646677002803 0.041147721006 -1.213140070607 0.309179788104 0.215842186824 -0.045382398825 0.423400741624 0.249570266863 -0.400051125049 -0.636547979754 -0.030072684055 -0.475639272948 -0.737300160144 -0.033973196162 -1.057323685146 -2.020320642814 0.159764721895 -0.012526644531 0.304114875183 -0.437302450124 1.654563858113 1.036610424929 0.828999457695 1.675178342093 -0.103234975709 -0.015063915575 0.190813534310 0.068353461838 0.189060163462 2.020322840729 0.043379775081 -1.055040066236 0.366406475984 -0.650350299618 -0.250029597555 3.154822529756 0.215737232790 0.455528630189 -0.104932988989 -0.727580444786 0.292469948182 1.050876423789 0.512832952931 0.040073285301 0.887865711099 -1.182900571287 0.051627518467 0.164400799707 0.029846512526 -0.154791974147 1.260852002711 0.284367877216 -0.267215705683 -0.108997846337 1.740560437274 -0.369069350778 0.774336516013 -0.118826038092 1.369953973718 -0.003894719739 0.035340261133 0.258206144136 -0.115419620760 1.518704127554 -0.293530467617 -0.047968341857 0.303212100181 0.621266578754 -1.213967496058 1.130151554629 0.026189235341 -1.949076502877 -0.501598930990 -0.025670902778 0.120158138522 -0.802936148733 0.174136176502 -0.251304356879 -1.248682950905 -0.002527568961 0.051292825351 0.006863146971 -0.104939138827 -0.901476466404 -0.206481747892 -1.178012531979 0.461525310959 -0.952525677266 -0.435398552190 0.028809592875 -0.460307210660 -0.548735244927 -0.338697060475 -1.850757314192 1.512968474012 0.026887158278 -0.771543900311 -0.128498056870 -0.941650741812 0.837224951546 0.003384819406 1.073492785808 0.028050073516 -0.729318195633 -0.233187020551 0.412399818111 0.433017344689 -2.257114581733 -0.145883245999 0.143129180238 -0.022913189604 -0.015548457140 -1.326616723361 1.155433017707 -0.573957585888 -0.152831846404 0.112838504458 -0.466559764527 0.036435967310 0.227839339171 -0.036829409504 0.060597530957 1.625124522587 0.014574034305 0.181488637636 -0.339366435916 0.103408679587 -0.068658699323 -0.833491693957 0.792943163558 -0.077372002321 0.059987851518 -0.806805333500 -0.253165174682 -0.121976229003 0.468652374848 -0.081140911207 1.584611184412 0.122958526670 -0.533512812046 0.484194999819 0.020090638806 0.081523089944 -1.269834484572 0.072618700280 -0.126196467378 0.215129300520 -0.031967731710 -0.266503649021 -1.804870808119 1.082816510774 -0.086210366791 0.110774344711 0.362255300159 -0.339182864561 1.784882302265 -0.001418581326 -0.017301907462 0.064169314190 0.670402663116 0.069721360683 0.391313690163 -1.121622873412 -0.134811399936 0.125336063702 -0.156042739722 -0.082881461435 2.421170914517 0.080671476357 -0.037116784971 -0.438326444444 1.711534578231 0.000487686663 1.167876894499 -1.781971499767 -1.908735330263 0.086378732578 -0.365304949540 0.093885878916 0.472512162959 -1.010856471270 0.168552275927 -0.255731087052 0.758970231688 -0.426747010303 0.275682788987 0.105572773815 0.071192411717 -2.416629508530 2.042974669627 0.208803475156 -2.069064232260 0.739918119535 0.212873367877 -0.222529493132 -0.306078312927 0.039162004171 2.666336853328 0.664208667277 0.476804496100 -0.356862519765 0.694575976557 0.366459726546 -0.046526039733 1.144645869709 -0.276232852831 0.451308995029 0.416934892020 0.111177927477 0.065397015176 -1.706690131912 -0.741994310524 1.219492466134 -0.640164570902 0.000161863015 -0.716454254629 0.705444987597 0.092346327568 0.144716115708 0.384627909231 0.276663042083 -0.122740805157 -0.033067432653 0.510205015838 -0.240786909623 -0.998585085711 0.295824512949 -0.004849936650 -0.003461237797 -2.146555824211 -1.590825511058 1.351845678677 0.079548396182 0.100714130918 0.029205566974 0.053859442974 -0.491160101357 1.200486481373 -0.806312521637 -0.857022813370 0.360096291451 -0.100439343280 -0.427211777757 -0.357497411945 0.225577514262 0.307952568142 0.890507394148 -0.397244132906 -0.342544776833 -0.070209890149 0.457420995690 -1.340009548358 0.079465144482 -0.001281613595 0.222202940263 0.978426307647 -0.146582902762 -0.575000784293 -0.264895740466 -0.067084613771 -0.702815740604 -0.354510251889 -0.106461300315 0.281109261163 0.608699148235 0.015473579329 0.799961543122 2.747740672228 -0.425471132561 0.528173191873 0.218545358321 0.009409464458 -0.003568407653 -0.400161894452 0.294068838270 -0.632979942881 0.949406606928 0.064823121199 1.910636083462 -1.719422831232 0.054854485417 -0.005437290623 -0.934824191040 0.329180854377 -0.012383009808 -1.858775167760 0.055300051005 0.208591220688 1.830412610612 -0.021031910192 -0.109453570135 -0.014986391506 0.915403166552 1.077665860171 -1.836955879455 0.017880094569 0.000691221973 -1.165918318997 -0.066638159479 -2.350622658401 -0.520792866962 0.181212610515 0.209213484338 2.506747504003 0.316633319036 -0.186190247172 -0.068452131207 0.513791595257 -0.033476250754 0.228452332535 0.451358341579 -0.560108530240 -0.268414136364 -0.023691369638 -1.371988405488 -2.169472874631 -0.250067537300 0.491405468218 -0.085802424712 -0.316724877867 0.450070567959 -0.508858759683 -0.091984229514 -2.334870312468 -1.400059508277 0.051163066075 0.085300934976 -0.006050305184 -0.099645509553 -2.074173576018 1.666883011562 0.103514555004 -0.170169526425 -1.006921053550 -0.344189390120 1.482958777620 0.136947611463 0.575249489832 0.357369069646 0.440673254843 -0.058132571369 -0.716743486662 -0.487321529669 -0.006914589555 1.417587070837 -0.533971861304 -0.268728904698 -0.032396588603 0.022016585175 -0.344432074576 -0.000260303540 -0.023194161369 -0.318346093432 0.830600449163 -0.087282059453 2.612476794574 -0.262106954865 1.272634929163 0.004351256139 0.468992493132 0.507804738550 0.009120587658 -1.119026090368 1.577364470320 0.870009344610 -0.134246834682 -0.110090465235 -0.151929834016 0.215501596772 0.442766760797 0.102286022041 0.452451711784 0.331287945393 -1.039719504092 0.516951346258 -0.429832440550 -0.260921562476 0.398765464704 0.250504186686 0.717902005554 -0.149507466519 0.947581963528 1.021210111707 0.812449959553 -0.114803944167 -0.022505299405 0.667065503752 -1.212676419552 0.150399975833 0.365852050666 -2.602542432639 -0.340272971012 1.196843088855 0.565076061295 0.402023284252 -0.083935448826 0.019921032841 -0.119913330195 -0.813802919247 0.581212059458 0.481648269672 0.629921900286 0.463983882430 0.162676473220 -0.003967739869 2.289931315107 -0.060051840885 -0.669770914620 -0.279445289277 -0.514354152504 -0.362511373284 0.313666192638 0.040499236122 1.249196480178 1.025640655783 -0.382242121142 -1.175402083406 -0.009009003627 0.304869779251 -1.673305201941 0.012587729301 0.113699180512 -0.098193181412 -0.075310226272 0.041669748296 -1.385917991639 -1.525899385648 -0.323331606015 -0.892958908234 -0.306000565430 -0.090599846241 -0.628658939445 0.165059991468 0.211177455861 -0.216612668668 -2.645446260641 -0.554193789687 -1.587734652363 0.111693897831 0.218317010073 1.449029394245 -0.142171004930 -0.017067976430 0.659225974722 1.124393039166 -0.279359047821 0.930360189102 -0.000481192398 -0.227738107649 -0.605134852337 -0.353895652724 0.005269927641 0.058605211939 -0.863206585410 -0.130040126560 -0.869676514805 0.115194018231 -0.406706670550 1.104897992378 0.044400116321 0.095285343075 -0.156046311574 -1.620896259544 0.654103561515 0.080720918651 -0.617204611895 -0.017989341023 1.166335399935 -0.473776816482 0.003637846241 -0.380876907819 1.750203493175 -1.443549370613 0.185719528011 0.971773282298 -0.538165926072 0.727129721364 -3.465846188707 -0.360967450126 1.113119112046 -0.064857098488 0.318997820892 -0.000187744272 1.861851650377 0.052087048703 1.257436521711 1.046339489433 0.127176985602 -0.496196170447 -1.863979775246 -0.230418712222 0.242986211576 -0.618806495889 -0.481047040554 0.381759723316 0.498581360816 0.219586944420 -0.665049681340 -1.528984568248 0.071527741715 0.372216185447 0.094731027058 -0.161322201622 2.762762165363 1.182718824207 -0.077646957149 -0.187424786436 -2.236976024127 -0.033276031138 1.192062978927 0.168032769623 0.515320288771 0.821993974249 -0.002369844397 0.035826051379 -0.020140009716 -0.333571260640 1.309622905665 -0.052085155839 0.204798193780 0.173023093710 0.884357495717 -0.437540987743 0.377647460979 1.794620379227 1.678418486621 -0.882787537837 0.271052212338 0.204040358093 -0.162368617976 1.383385274344 -0.458312509779 -0.471714911833 -0.875033526852 -0.003618178826 -0.921164400893 0.282769416570 0.043407537380 -0.000742179673 -2.107157320048 -1.557586342258 0.073880541823 -0.288867185630 0.115257217963 0.000076011278 0.617539175899 -0.616999977904 -0.152687749772 1.814373045709 -0.032787856460 -0.017927307395 2.007937225494 0.881907808434 0.533695277776 -1.298790369866 0.744639358648 0.111803386460 -0.276516513785 1.014824826079 0.087336644337 0.379270823149 0.012160414493 0.993741903039 -1.633654829695 -0.390279603175 0.080419530797 -0.882004471413 0.172591131951 0.169808518492 0.769873714805 -1.265599866398 0.219562219611 -1.647150196048 -0.323237613421 0.123335008894 0.004055854945 -0.670986252521 -0.018186876096 -0.268229313734 0.349282861194 -0.521940281851 -0.322398335577 0.007127665004 0.278618546195 -0.389685591950 -0.030852431788 0.004838463399 -2.343100557181 -1.419155898730 0.294818510218 -0.509058154466 -1.879717405833 0.082449294971 -0.026063896770 0.156689836698 -0.026269509432 -0.691076167706 2.263768399834 0.653105599845 0.021114355968 0.342565432923 -0.064907590944 -0.183495514774 -1.151261914297 0.341014744731 -1.065817553990 0.006975657957 1.070723964517 0.257748167907 0.979257129114 -0.029343988748 1.338880603641 -0.225023832300 -0.010950231923 0.955879600960 1.908168387241 -0.016391986909 1.180186017920 0.647623591120 -0.672822163536 0.036025303107 -1.865018925027 0.034334951072 -0.525306387992 -0.004224510263 -0.122144319784 -0.918300370289 -0.115356194981 0.343372112537 1.256998659720 1.580351446497 -0.330702484422 0.061748438759 -0.319635127413 -0.296634758875 0.425850314552 -0.152624568930 0.009175421846 0.156322845620 -0.001031654686 -0.037674957757 0.000394619570 0.043262403532 -0.256884002723 -1.227247143616 1.410573760817 -0.254088333133 0.396148375168 0.218352525306 0.518351279719 -1.280318061875 -0.028102279984 -0.829970838252 -0.196386192792 -0.796145227067 -0.131580392596 -0.472363807142 -0.258048718982 -0.094708374941 -1.472656402696 0.049155937297 0.274880044771 0.439372765369 -1.893363559990 -0.027363106457 -0.470079646445 0.937987064939 -0.214834606682 -0.011942952905 0.022170189347 -0.061951503725 -1.759575911782 0.878069441729 0.179886079478 -0.082000629450 2.875354051733 -0.033784185196 -0.410292723496 0.617058306608 -0.747547902851 -0.524079712781 0.941357776989 0.077086642669 0.008253356406 0.043688461422 -0.599819369817 0.585980581036 -1.609236702190 -0.067670897006 -0.034014195766 0.274383881468 -0.045884469715 0.511665595641 1.277760383304 -0.031253333641 0.044793033314 -0.280863582833 0.078269022643 2.330641804054 -0.023182765581 0.315888015800 -0.423821140060 -1.089128724451 -0.037344636985 0.066118825952 0.170574982655 -0.038907358824 -1.644773454196 -0.025409988477 -0.171255496248 -1.054655817851 0.097724409842 0.088942146862 -0.295035869430 1.312540293252 2.030104362055 0.152013306782 1.605389208316 -0.054785164259 0.109077941574 1.807740597629 -0.126082934534 1.751956845701 0.819062272463 -0.562716130275 -0.124400870930 0.924021659689 -0.021641791583 -1.293794777267 0.074869658356 -0.006113020973 0.255749097285 0.383846747426 -1.743533253493 1.640397004016 -1.410674768740 -0.110009170182 1.078262167328 -0.004124014824 -0.151399158009 -1.308051146089 0.279904820452 -0.296346610752 -1.921608855256 0.587773524864 0.460192034528 0.005422248551 1.445551393804 -0.053884072082 -1.487656359022 0.005148182098 -0.472448298619 1.780031218283 0.184554792906 -0.174099453299 -0.157118150615 -0.666732895849 -0.521050283829 0.613929268469 0.211142273250 -0.038574760088 0.007674556144 1.021944025717 0.194091356114 -1.255019296034 0.069021793579 -0.193338128889 -0.611605382855 -0.387408019103 -0.928012327768 -0.567268497363 -0.904225771513 0.041903408682 -2.691900242788 0.793077937836 0.539971359824 -1.269365428787 0.122863817173 0.360350293424 1.896736800383 0.405641563003 0.011573417103 1.368199548990 -2.062459221319 0.026241271863 -0.241956206094 0.675239122278 0.088140249028 0.085261060373 -1.644486057540 -0.443895407464 1.583026218690 -0.028883161099 0.072444629409 -0.120954904330 -0.207630991838 1.058925444963 0.961651460402 -2.020624586964 0.329835777585 -1.351243543371 0.241962637045 -0.046440772834 -0.148594483473 -1.200166759462 0.727546944552 0.046603135457 -0.247620505643 0.294550505001 0.480989871614 -1.450178172186 0.147321369451 -0.536821651583 -1.635545119702 -1.393811760649 -0.031054706234 -0.300117309729 -0.005434512671 -0.931362931508 0.554617872740 0.109378207625 0.499001171313 0.018682612384 0.033685179849 0.178510263156 -0.495967184499 0.317294362819 -0.114090011040 -0.260239199783 0.378597409508 -0.450552818385 -0.009405387524 0.037695956625 0.177682959422 0.364990361514 -0.000449239875 0.703757966256 0.123643529164 -0.115193622179 2.289196065495 0.067608913053 0.083344647601 0.604193792984 -0.101027909676 -0.028804026554 2.668391947240 0.180697029462 0.405745263795 -0.644336150571 0.002363879982 0.109576568171 -0.444156796494 0.435606024644 0.555479879606 0.036309098067 2.733281611154 -0.283084264520 0.524687606077 0.226631840666 -1.172857498843 0.053938331842 -0.991155444672 0.027484185437 1.732042132548 -0.047057320394 -0.060195802767 0.785134934001 -0.018858735273 0.727355050598 0.308388883114 0.520801553895 0.243183888038 -0.203463548514 0.155754459251 -0.531954416424 1.396131848418 0.354124232784 0.770077595257 -0.785259631911 0.046179413896 -0.070988896481 -0.218511184587 -0.480690353002 -0.299778527642 -0.039974210129 0.012685854468 0.069379818587 0.888430897660 -1.091069731019 0.025815044799 -0.700180012358 -0.097053654961 -0.375880013417 -0.372590753864 0.760411323723 -0.512528374062 -0.514797549221 -0.131979311617 0.001269710484 2.547332300168 -0.088204669930 -0.180467849099 -2.065059635411 -1.568206673456 0.071561820052 -1.562451708272 0.523248925806 0.073084534163 -1.052030497044 -2.089321454163 0.066796086468 0.520106967657 0.934117000464 -0.347326634259 -0.435265672151 -0.870292036275 -0.007180607788 -0.258117364962 0.869355707825 -0.740896569406 0.434431370528 -0.163527237736 -1.428927181619 2.021345904569 -0.029848638402 -0.108695402135 -0.306377612026 -2.425610064314 0.077376733422 0.238818900957 1.118735478303 0.775649618890 0.005256093692 -2.202610041869 -0.368711972333 -0.112832755353 0.048378588403 0.103470349982 -1.555971892308 2.330699087605 0.553152581847 0.280863978153 0.264821261729 0.331535179583 1.018288424433 -0.896323200237 0.085156527373 0.039012633967 0.101330115968 -0.052850577125 0.334055876682 0.009406582525 -0.052637100328 -0.496404013121 -1.008740142543 0.057246962318 0.136888381050 1.216127864061 1.201372606567 0.250702664980 0.517413953698 -0.126772596456 1.706659368375 0.032028127891 0.068363026887 -1.844215485973 -0.512732126991 -0.586190726864 0.823130585831 1.199495325196 0.286759087503 -1.557538570233 0.325278581224 -0.138126128453 -0.070756316388 -2.784161724923 -0.069584088259 0.241395313883 -0.048368525967 -0.618416288291 -0.307296201332 0.446909136989 0.324627153645 1.568022795931 0.418571906853 0.187699506654 -0.805882185586 -0.807709772726 0.013025734087 0.115261963384 -0.197076436522 0.045043294102 0.338410951329 0.108666641598 0.708911774730 -0.427536552993 0.977230420354 0.221245924926 -0.437959716863 0.367775540614 0.231883563832 -0.658750259026 0.223937995576 0.132287885181 0.742836308172 0.633899574939 0.000376839799 -2.499016144742 0.618484878375 0.000758384331 -0.506077569086 -0.099448054662 0.025858799985 1.806517093480 -0.519306114099 0.187990711103 1.216199784224 -0.227316593066 -0.005162954186 -1.827599691076 0.886872252105 1.107593465204 0.053055535252 -0.556543500872 -0.210105480972 -0.283285258468 0.081528320133 -0.004505172501 -1.386715325125 0.007450182295 0.535941137961 -0.049261540942 -1.791823889961 -0.025530102285 -0.235166270291 1.411820382534 0.125694724003 -0.254612256191 2.289912517068 1.474579274366 -0.007599053280 0.178211622770 -0.098753731379 2.075657317577 -1.274156729459 0.288266088191 -0.027460073566 -0.228822576709 -0.075752407110 -0.391349815627 -0.051604986015 -0.302444514922 0.185982731993 1.326913924167 -0.015552541557 -1.940666316132 -0.747904776412 -0.029239713466 0.166843841316 -1.618721158614 -0.294061374387 0.133158148685 -1.270857242979 -0.071952324465 1.038639674712 1.904685341269 -0.447421806642 -0.400453712062 -0.666838522770 -0.002902948812 0.380739173021 -0.030290645174 0.209056562867 -0.153237090680 -0.418922668598 0.207058288426 -0.530817198782 1.075695154922 0.388166661119 0.620294080333 0.093341118037 0.056504106631 0.181071870927 -0.304909285046 1.152487181739 0.046737143053 -1.325565362194 -0.243476250159 0.138980568762 -0.159433342988 0.030731792894 0.478853116947 1.920970970452 0.582144713736 -1.157390088301 -1.735072030266 -0.048876838523 -1.528898492152 1.589453905764 0.251099139205 0.534715987024 1.350970197257 -0.019452163057 0.285331620936 -1.570722216575 0.016617912415 -0.391389975834 -0.107592971219 0.312633521397 0.983619246147 0.130666619233 -1.205750969215 0.589580944960 0.480338224766 -0.081736343318 -0.206787913744 -0.331200408191 -0.116140751988 0.320592505741 -0.732369837230 0.169254761419 -0.601652140198 -0.998271393960 0.252077213383 0.132746713394 -0.728332768581 -0.000054862249 2.248919895178 -1.038307251616 -0.717894625035 -0.996108465084 -0.098261495263 -0.036153974095 -0.030967409569 -0.652165924431 -0.269805795895 -1.090916198350 -0.056356755993 -0.147805704457 -1.373717079365 0.807247447741 0.084116083280 0.072619385705 -0.831134416754 0.168665099742 0.002964359040 -0.243414209621 -1.529791597446 1.701407159510 1.242395852953 -0.228332513115 -0.628117028770 -0.011245717096 0.221580325201 -1.138983471618 1.033355909750 -0.066481257972 -0.347861658663 -0.105190221314 0.122425232029 0.004265922184 -0.036185163953 -0.179485351797 1.692798454600 0.000829401669 0.135953069758 -0.557435554740 -0.278604689607 -0.375355157586 -0.660408831425 0.231432086583 -0.128408656442 1.492024094476 -0.326314742791 -2.323713049726 -2.020097694285 0.252188408128 -0.103066341409 0.342074898009 1.860875088199 0.075336387462 -0.051115509668 1.408770902852 -0.093583310057 -0.114110405883 -0.981509388038 0.185747323620 -0.221785942246 1.825017395991 0.429179854472 0.101884072778 2.244734760497 -0.641235102584 0.247687696418 0.042332705122 -0.001777395900 1.356281278271 0.392651098543 0.319276123149 2.117252085766 -1.469101094016 -0.107012395938 0.078598537975 1.015088807864 -0.174045909640 -0.643780001107 0.383244836587 0.415496309080 -0.386819913712 0.595464426461 0.070905375269 -0.653739061606 -0.221245498144 -0.265828390741 1.158888579892 2.329292109761 -0.070341855398 0.539858818653 0.994787122257 0.044860159715 1.911033059329 0.102014979046 -0.030747749556 0.001341698544 -0.852713313337 -0.227793968958 -0.010852670508 -1.728106949171 -1.240003429498 -0.616551868620 0.856703913127 -0.081841885521 -0.528738171633 0.975241489601 0.102255205408 1.192196090615 -0.062711966902 -0.253509931211 -0.008087150619 0.893647705474 -0.026010774287 0.463612605048 -2.430280625209 0.002344352761 -1.190466846629 -1.629647519710 0.651534199088 -0.831723110763 -0.652559743989 -0.045572863688 0.217573558705 0.221778366294 0.139999492236 -1.196446013934 -1.809749325709 -2.133567962115 0.376381228264 0.007413539198 -0.043932582100 0.146837538540 -0.857629481226 0.324315217491 0.373739991982 1.338036175844 0.414502109417 -0.200208573499 0.835284959384 -0.320716040477 -0.198453856123 -1.362945375128 -0.449421987923 0.565150479348 -1.061602995680 -0.144848052245 0.969478016410 -0.426849423209 -0.036576698594 -1.704375610040 -0.247145331163 -0.094408814592 0.446153646923 -0.026891311640 0.008770718591 -1.457948490305 -1.548328396681 -0.100797476571 0.018063358099 1.784730814483 0.001947083166 -0.658962066679 0.800479493125 0.673447004592 -0.151750034386 2.701049568767 0.308382725367 -2.074506084840 -0.420075297081 0.016545558279 0.459004384357 -0.471947179712 1.133761045309 -0.233871565311 1.030597967645 -0.549897262965 -0.580967815608 -0.031568501827 0.041215270175 -0.022353909401 0.076591617562 1.929788004233 0.913652551995 -0.117892111058 -0.105158635726 0.943904541410 0.246048164317 -0.053691837641 -0.067966425335 -1.375386863517 -0.231170253045 0.017178927045 -0.000258876602 -0.215743057181 0.624427596621 -1.582477495102 -0.098891332997 0.070679029186 -0.016820605371 0.138638556262 -0.804755631724 0.943339867022 -0.166752040810 0.602374176656 0.322284088539 -0.538546982498 -0.011226936818 -0.132052452642 0.832113832388 -0.351644415860 -0.511224289247 0.711915106234 0.286313042957 -0.205482147142 -0.021635426991 0.166224580853 0.233080229453 0.398769772891 -0.270499789647 1.983232751809 -0.064824217022 0.528694364073 -0.751649325214 -0.036809361423 0.043177518737 0.009828377965 -0.130688413691 0.731029511850 0.955422174095 0.340040637733 -0.826636883480 2.225383041327 -0.236984402622 -0.181711096283 0.622160499616 -0.830821088792 1.028416780658 -1.184215228009 0.160038750390 0.752635284212 -0.936226158910 -0.025652158827 -0.475329930042 -0.381707356839 -0.488374091156 -0.000433128411 0.837221418202 0.352852075537 -0.033227172570 0.936600423841 0.004290212353 0.064742234370 -1.865120686935 0.014926253731 -0.508902177660 0.469546989687 0.246462163395 0.029466452454 -0.979545748733 0.586691522608 1.185827625751 -2.625326039902 0.248731749853 0.130919784036 0.020950091540 -0.214064830854 -0.620930530049 -1.061063635554 0.034730848653 0.368295335515 0.928058173286 0.255024653290 0.511890632876 0.113391182078 0.083850076295 -2.697634933267 -0.024432544163 -0.057116741743 0.062727570981 1.167498967996 0.573947992132 0.138826841557 0.779122165675 -0.024312771473 0.045423148952 -1.393705356700 0.392715122462 0.140882938762 -0.041653978888 -0.003979169271 -0.081961001557 -2.031141270557 -0.000637882702 -1.151192848704 1.558157170776 -0.366074566594 -0.490380947606 -0.070682718727 0.571586635968 -1.895839789270 -0.431959588241 0.348852403295 -0.049720038320 -0.154538641961 -0.067130647778 0.354431872263 0.847723249033 0.113479546118 -0.138872940147 1.702929691855 0.432111876242 0.397536966520 0.053607755357 0.127754152367 0.863699837241 0.011162672226 0.160043575583 0.172598889532 -0.090827801104 0.322605002700 0.046769510125 -0.166038651830 0.145823073081 -0.104978034965 -0.397092581323 0.034923181992 -0.243988751889 1.248860803274 0.111376367391 -0.256221970732 0.069064326667 -0.227599530665 0.221701750793 -1.287066143179 1.444811232561 0.324121496404 0.767419970555 0.144623441358 -0.194614249849 -0.491220802634 -0.034021760798 1.089327540420 -0.196605876998 0.004285770932 -0.753719258766 -0.590569400232 -0.001256361625 0.231603028499 -0.555453632562 -0.508547446076 -1.738660477434 -2.803648752632 -0.730584129490 -0.365036856582 0.428540241781 0.056797214155 -0.160914604753 -0.313522258390 -0.142672704661 0.003704886595 -0.176060348832 0.190668563782 0.264206510080 -1.067077809603 0.068346617803 -0.094403233151 -0.058135871065 -0.085595000076 -0.248334306422 0.707596837262 -1.444988566202 1.116800864898 0.043863872421 0.037744764952 -0.075350010711 1.158986017092 -0.077524584638 0.012513118905 0.067121947245 0.047989688607 -0.698038798310 0.346880965893 -0.292578155079 0.929311149266 -0.376131750558 -0.300854355232 -0.002309758556 0.769435253859 -0.193123211803 1.649169984364 0.412708943671 -0.408993682210 -0.118439944777 0.726354794666 -0.071335346746 0.103374446235 0.568107956808 0.037004674595 0.639497252097 0.491890180475 0.032341055254 -0.073132240004 0.240728909883 0.217805082561 -1.187087096382 -0.947292324148 -0.552550481083 1.292445212992 0.034671501998 0.028998347347 0.703467585767 -0.852084110384 0.067797254451 1.371133916807 -1.528650803492 1.318982363139 -0.039525155357 0.625208294489 -0.054408875185 1.156896877566 0.426367419702 0.327843314362 0.750290200792 0.242581366465 0.959529645609 -0.042318529366 -0.020040796074 0.051542078831 -0.629835746399 0.591833957457 -0.104644496769 0.127671064130 -0.572431582618 0.043227981575 0.108258900624 0.128464818885 -0.053391447736 0.759870907138 -0.172953784113 -0.002696118457 0.821630322414 -0.455472842064 0.175283643263 1.090073308569 -0.198057166269 -0.284206037763 -0.113973261436 -1.525282500747 0.146375254472 0.949057216686 -1.035477798792 -0.338430616541 0.473909138203 -0.809828112789 0.022470362935 -1.381349672972 -0.679250127038 0.138012366512 0.196201119734 0.177266934326 -1.175084457886 1.934586030520 -1.263312494033 -0.298448395166 -1.152397003924 -0.050511652035 -0.319080978123 1.051686643862 -0.702614391088 -2.048180426277 -0.004044508144 -0.360499290034 0.022169224758 0.008431846925 0.385295537576 -0.046062085462 -0.291103566171 0.793925426929 -0.776636649450 -0.237863068288 0.604031590320 0.320013940071 0.934171091798 -0.002797412988 0.121911723756 0.252885376915 0.245343523650 0.614039795359 1.074601331732 -0.313024851213 -0.181292219676 -1.330597881554 0.033942235905 0.001807426083 -0.834920345011 -1.901450020614 2.084437248884 -0.156502062003 -0.032293708017 -0.280897520247 -0.040855778623 -0.038873834494 0.022234189072 -0.506490329577 0.093155175831 -0.866592996231 0.288710072475 0.076565617530 -0.063763872409 -2.279118868708 -0.116693796068 -0.105743983738 -0.045549037180 -0.593302324037 -0.023399828843 -2.304924875469 0.436441109202 0.293213998443 -0.352799732866 0.652842213492 0.084308472310 -0.056156773324 -0.013647630628 -0.513602945075 0.131208925716 1.828924281821 0.391301491650 -2.527179165505 0.484280058860 -0.114551527456 0.121434281244 -0.580810007576 -0.020167484425 0.886130939840 0.343642375057 0.111306388223 -1.391710704234 0.087175083615 -0.293780773631 0.991022456908 3.092318458567 0.717676981521 -0.240364698628 -0.328276278854 0.234392792998 1.512020687224 -0.102673237439 0.089155869351 -0.506189905069 -0.047371601455 -0.423347970300 1.139816500988 0.056740087102 -0.025118637557 -1.382441618236 1.503601462955 0.044821404660 2.172267670341 1.375721695816 0.040985169690 -0.023822337631 0.104629836044 0.102584312217 -0.002068588892 0.970342063950 0.108734692244 1.690214621746 2.344887412913 0.031144221483 -0.597479988094 -0.018748708163 -0.646650231018 -0.030389790898 -1.220537577916 0.414569824756 -1.472987508113 0.668027580487 -1.378997490728 0.054242270510 0.953779911911 -0.246897153142 -2.013681411822 0.470632786555 -0.212650113222 0.008008718215 0.628884051778 0.771440155902 0.234086563345 -0.570229938022 0.182473357461 0.353557645494 -0.310167451436 -0.055921935544 -0.570804556556 0.012985711311 0.779414429286 1.485532863565 1.791994648996 0.070481265773 -1.326283159836 0.459892656287 0.118671371896 -0.118517690139 -1.350382629608 -0.785395053855 -0.430284360557 0.025272784027 0.039966258557 0.054199590901 -1.900765197171 -0.080392988979 -1.927256027651 -0.000833017657 -1.111166028825 -1.823158428930 0.446763128711 0.150139208316 0.417126833974 0.980433282935 -0.137787412029 -0.157763892498 0.126942125984 -0.287404212647 -0.411758476954 -0.085720744054 -0.000249534842 -0.885142307900 -0.068568718723 -0.023648853059 -1.393765774623 -0.587012976950 2.689317364094 1.045121703665 -0.103278547795 -0.282750833373 0.487580703567 -0.390200569438 -0.324153211430 -0.575212560550 -0.791318343095 0.109527200528 -0.415955231084 -1.815238448970 -0.097555030036 -0.020942579011 1.698232379755 -0.148629613825 -0.114382054644 0.916570761524 0.181471629439 -1.545840337620 1.125060558150 0.059537694384 1.032133154002 0.000291325559 -0.570812135547 0.021435558059 -0.385742451412 -0.180305496283 2.037077707160 1.349273220783 -0.039679128888 0.014794327215 -0.019761627785 0.308932491008 -0.895230892837 1.258466884718 0.036798698565 0.076837185522 -0.998974524507 -0.183035656122 1.330800752539 -0.674129413919 0.375901829285 -1.040805621630 -1.023593314928 0.174125461835 -0.004870542486 -0.536509098467 -0.067658411409 0.046538057921 0.170289127984 0.009758323601 1.776737520225 0.400122173918 0.556398128471 -0.254027767670 -0.027267074397 0.335179928743 -0.124659005568 -0.958890552309 -0.417606239224 -1.077862987870 -0.044245021938 0.009173674020 0.015498423352 0.261622773735 -0.165140960084 0.030707681727 1.199081011667 0.217068022660 -0.128012672499 0.422562354058 0.151846181512 -1.210471692030 -1.597101161199 -0.051651863065 1.490765078902 -0.837404498745 0.043096076953 0.245020594759 -0.410338587967 -0.824819678881 -0.240089986845 -0.282859920747 0.432590638023 -0.356982303246 0.028824446951 0.005279075051 0.630598005273 -0.166206512118 -0.203604999625 0.289006134760 1.244527928138 0.080754347071 -0.016066064165 -0.820273090590 0.202487553362 1.199355028607 -0.251367145038 0.274424277104 -0.706299816008 -0.088215365486 -0.190328249341 1.094193008883 -1.659797131142 0.451418569414 2.532070905776 0.184614997629 0.121804101825 -1.511184235477 -0.143199872377 0.059577389014 -1.081364504852 0.765494143573 0.036921672052 0.828047442187 -0.276984390811 -0.844687528749 -0.039086353135 -0.349569558295 -0.345242088983 -0.208011768580 -0.327805690232 -0.284136507423 1.887183976815 0.002519146255 -0.688783650206 0.021648262601 -0.151929254863 -0.274769447135 -0.023494672002 -0.494651760567 0.381722499588 0.672918672654 1.714824138148 0.071169534437 1.102967306169 -0.513541015281 -0.009430977770 2.170030142688 -0.044077387572 -0.402680199134 -0.723229906152 0.003244948596 1.558039547679 -0.018362045745 -0.071568735664 -0.179676199255 2.046873905492 0.003970362327 -0.484707743876 -0.207615827231 0.370570057295 -0.234922720372 0.195909920768 1.001905452187 -0.002659936165 -0.024108335837 -1.551677166575 0.147285893826 -3.977333205434 -0.677969682040 0.228031201242 0.208904167792 -1.873513741336 0.009961877514 0.005189657522 0.748946933635 0.440764276587 1.513405353272 0.397807072795 0.108582424147 0.472555597403 -0.034505789144 -0.079299197403 -0.020601663911 0.674325144055 -0.023980028803 -0.606190419758 -0.202483088817 -0.024098721226 -0.085055938525 -0.580811479053 -0.204513175523 0.030464709426 0.624941589883 -0.012990653636 0.277946954535 1.353276273858 -1.239135925839 -1.757032392061 -0.456765862546 0.083946914609 1.327325844418 -0.160277744582 -0.158966762002 -2.119827560434 0.016178243236 0.279056708580 -0.162755189453 -1.734761447280 -0.276678837824 1.240039946670 -0.041614253469 0.119193346750 -0.034912194020 -1.204582195131 -0.576406135031 -0.604003629492 0.172890711690 0.184107812567 -0.026659113874 0.056724006781 0.300435447722 1.354152675493 1.270895340503 -1.331892575840 -0.021368430223 -0.094554310604 0.116628570037 0.418521778053 -1.650939524738 -0.034395249472 0.385099065874 0.280630271329 -0.407059980028 -0.128145697763 0.113165542663 0.506674752165 -1.302357632841 -0.319102063641 0.070491895008 -1.695774605392 0.229156884180 1.018316715085 -0.492599620364 -3.209041712965 -0.012080723691 1.974940994914 -0.032399740148 0.001160774499 0.526623273707 0.012923534146 -0.140569705399 -0.494890429024 -1.488873335893 0.485899138893 0.179533683487 3.229218627274 0.018603973023 -0.714250752478 -0.551652594570 1.698078956342 -0.098447097925 0.542073783640 0.246558765240 -1.253978996355 -0.123738793256 -0.035018334640 -0.026759126140 -0.142817215284 -0.035495024214 1.747278170265 0.028437215363 0.016928858079 1.588791330915 1.015389992939 -0.006548288949 0.290108633195 0.226597039173 -0.427984054621 0.218079606121 0.168391280637 0.006899453170 -0.439429408857 -0.127775198950 0.469960972039 -0.842793611864 0.201691803625 0.062957020244 0.145565706708 1.776184429544 0.027323579143 0.772810672606 0.502889708460 -0.195305665136 -0.097961467797 -0.273567825058 -0.218957910455 1.242038243064 0.683390320127 0.214157588285 1.344229828941 1.821911914457 0.518263823798 1.586591922655 -0.129469448061 0.501666711098 -0.043418569131 -1.186496193297 0.057317545296 -0.978113335807 0.688568584800 0.026503566718 0.012709186228 -1.394558750794 1.102656239121 -0.055525016004 -1.698111731080 -0.063394059322 -0.057924547741 -0.880953354514 0.120179479308 -1.748848079608 -0.133518695412 1.446775940947 -0.879711940426 -0.013968610472 -0.325836966890 0.801611835925 -1.557695437360 -0.479274295182 0.075318683082 -0.292430644944 -0.424836760946 -1.231573791786 -0.535916045991 -0.212305399443 -1.438938914592 -0.989188155517 0.072761816073 0.008267682386 -0.796714947189 0.634991476727 -0.006369539624 -0.011318641344 -0.015569923887 0.003811651095 -0.617072059179 0.000133328128 0.164927623541 1.084333562165 -0.690833000753 -0.765908270244 -1.062984012076 -0.017503741252 0.603773246880 1.205911725718 -0.000356416226 0.343250943994 1.609670699752 -0.098559824467 -0.440440624141 -0.954175328009 0.058458000078 -0.068119761284 -0.181987523210 -0.187333862964 -1.282213928992 -0.425235705955 -0.227063882172 0.533163101549 0.568132493189 -0.286574659049 -1.218175746164 0.027097258377 0.002141932100 0.423018970595 1.304054166998 0.443800969387 -0.082000990232 1.395414988852 -0.079481649373 -0.082680251382 0.027181285912 0.227108684769 -1.594201382498 0.581842426432 0.314221578869 -1.352849214230 0.491985460410 -0.084961501446 -0.283351614335 -0.109194683722 0.633189416515 0.526919887496 -0.384386193374 0.179795783699 -0.659296085109 -0.157954512045 -0.243977382249 1.310568297725 0.480619144430 0.007914620547 -0.207040769018 0.905485675452 -1.676193974981 -0.002261850636 0.030832645166 0.011896902311 0.707370617344 -0.552594223812 -0.068994314760 0.670419287960 2.657101246026 -1.031777149622 -1.976699334146 -1.058758952694 -0.052926252534 -0.625469247793 0.629979641391 -0.161124169991 -0.029976264449 0.261278188188 -0.226762143601 -0.256088582662 2.875333723885 -0.126305765039 1.324578503304 0.055038568691 -0.565497977190 -0.982037269633 -0.050836129780 0.811645475924 1.471062604947 0.570814102717 -0.101928989746 -0.906926332089 0.049001122406 -0.031204934327 -1.365511328542 0.047559208881 0.769055882333 -0.098390483845 -0.000402565091 0.231032592748 1.438032420867 0.354166187197 -0.676339669017 -0.242576844591 -0.052882846705 -0.044791646839 -0.172455907250 -0.246201390430 -0.124264154164 0.729328499845 -0.794460846132 -0.005661218526 1.091820810124 -0.193125864801 0.007185113968 -0.623649827453 -1.376829659582 0.330408298994 0.975919674326 1.807144205543 0.166832762700 0.100938661601 -0.703271774713 0.028747551878 1.027560081028 1.266716470407 0.292621413288 -0.483054310046 0.636705396613 0.001778594753 0.905573981415 -0.463800201399 -1.758675283681 -0.129155813365 -0.774488614399 0.061981699308 -0.590050559144 -1.438839563402 -0.086863086699 -0.928256551252 1.771077988579 -0.988232629308 0.054218234786 0.065637821310 0.623177022533 -1.864276742557 -0.473721157692 -0.171464757815 -0.816440372010 -0.983778040434 -0.619867285059 0.738545589652 0.190136078814 -0.172077783690 -0.024317426764 0.367362693967 -0.056886046287 -0.849431274055 1.013277977273 -0.101906424623 0.964581477375 -0.049562843876 0.022450858642 0.300992343038 1.707555885342 0.653367202730 0.208333363948 -2.290700459480 0.062878176453 1.203969907359 0.043434197631 0.014556176991 -0.101063306431 0.783655960485 0.167169651400 0.822595312354 -0.934303384025 -0.173845916976 -1.149531707990 -1.199810306506 -0.048211571728 0.208231249841 0.763319916623 0.207090157777 0.048033211671 -0.003244578450 -0.489419373374 1.294899238776 0.281315643903 -0.061514085430 0.206514460754 -0.030833579566 -0.161447583092 1.406901327283 0.013821407676 -0.001486931195 -0.024232914819 0.233086665033 0.276475861247 -0.891480873450 1.433542406901 0.193128886685 -0.530179661466 -0.973464292131 -2.593626971385 0.176270794796 0.601476597108 0.061671753822 2.601666375163 -0.005607507567 -0.211359689221 -0.660862254161 0.497574586281 1.207983944215 2.328459697278 -1.306538083310 -0.281768359871 -1.742170839108 -2.377881364236 -0.017563770363 -0.362474134685 -0.418070110821 -1.226874720020 -0.131894360912 -1.257834226015 0.312547902065 0.147221980028 -0.129020712868 -0.038423127839 -1.320982097972 0.164536031539 1.125941277512 -0.022600439921 0.115427028919 -0.138366130868 0.951049917899 -0.672300720413 -0.589431946771 -1.223040570127 -0.871802669311 -0.427159280877 0.422172942280 0.236441433990 -0.084646293833 0.628142097927 0.418372028239 0.014158783189 -0.002143060669 -2.322661419010 0.473053893871 -0.456978039094 -0.368878896181 -0.807005559849 1.066801163777 -0.176765767188 0.419012831371 -0.150610458524 0.706407726496 0.473296700620 -0.204165942338 0.318097988098 -0.066083871494 -0.772992532000 0.032739352236 0.367878383873 -0.006202594538 0.321075160479 1.827426581292 0.756494662414 1.398686097984 -0.235214038999 -0.158424476980 -0.355982513016 -0.381733587340 0.809274001536 0.033855397134 0.444275177597 -0.027333615207 0.039389110390 -0.081993552805 0.209377334091 1.099778738529 0.065769971871 0.310371254105 1.926971834525 0.080158995751 -0.453564665490 0.820587166962 -0.403637449656 0.161532390662 -0.853834516293 -0.019949506416 0.000943487401 1.260736228257 1.338994053477 -0.088352306598 1.689172479607 0.207841738221 -0.011682164459 -0.756669132319 -0.237174355167 0.743663476563 0.882195861601 -0.232883457517 -0.083978630211 0.055449232216 0.182504064967 0.428883522557 -2.989966467255 -0.000024523702 -0.373438276612 0.135929573607 1.503715282596 -0.387481823033 -0.155585817882 0.232521504840 -1.118743180549 0.324255415895 0.439861895986 -1.858643652527 0.459332059436 0.880236796453 0.109915355623 0.032607200032 -0.038981528162 1.079214189957 -0.789017141407 0.113141523063 0.507953752116 -1.559707181563 -0.005697047931 0.034294188055 -0.830235978567 -0.203472161663 0.483379343372 0.978998849374 0.061336132324 -0.222768952234 0.055750477417 -1.331720496176 0.005702895674 0.421047923653 0.037431071021 -1.433503352450 -0.714330200655 0.113515793990 -1.815037769193 -0.340698842184 -0.406175176416 0.424641794444 -0.332375000584 0.009049148669 -0.363878025535 0.316708721398 -0.327019768204 2.363721558408 -2.149269927985 -0.071750281003 -1.339561571321 -0.201004042273 0.219621849596 -0.049347048002 0.613481220110 0.112377295439 -1.218757764804 0.440476592168 0.288357651239 -2.021597303791 0.532719920776 -0.416585420272 0.263718147334 -0.022835097234 -0.289609516298 0.068685731740 1.721478907472 0.617572630351 -0.283324627049 0.018582175887 0.110372889218 0.001775014273 0.005763469897 -0.051786446767 1.634780791122 -0.409629888668 -0.753471823507 -0.339420053673 -0.500886171961 -0.084482639915 -0.191282991739 -0.001033561769 0.440161904966 -0.537184260497 -0.608559496869 -0.892090947843 0.081571136166 -0.654230026051 0.212964798666 0.004257466861 0.715469070055 0.018060592019 -2.486457200143 -0.094275665545 -0.004035989538 -0.827616919389 1.724376458804 -0.215553463738 -0.575457013959 -0.172240950076 0.131603761200 0.553404512382 0.211728209305 0.171266733365 2.151859317444 1.651298279823 0.166898783884 0.052276624225 -0.456060274036 -0.453823205299 0.026117142482 -0.767422707510 2.298077018354 0.629415496076 -0.558645684065 -0.308274268750 2.835825629808 -2.409946946346 0.007253378015 0.306963626809 -0.059327927849 0.081029600035 1.511014784195 0.168380670703 -0.169903040332 -0.026306874010 0.049531096648 0.247059849483 -0.167328827761 -0.008416192654 0.993238208273 1.475712494301 1.259939958149 -0.009486910530 1.274633470789 -0.111564813336 -0.208393512362 -0.802996134275 1.549798755352 0.665530693502 -0.703786009738 -0.300481965912 -0.001510703052 -1.034679891718 -1.122201845003 -0.240144713167 -1.011534272052 0.159669219215 -0.129756757474 0.488124263887 0.265610571139 0.273624526855 -2.501095643872 0.638447328408 0.044226298890 -0.026266397890 0.000272714062 0.437111187411 -0.343007800194 0.041260633937 -0.046582263761 -1.313680734386 0.031304844542 -0.003801978049 2.286789210027 -1.561167912112 1.055760866521 -0.093813150244 0.119396448344 0.385503321008 -0.422511151047 -0.433493931791 -0.105340107788 -0.207476783860 0.170612070855 -1.532446974692 2.087975588495 0.089688860996 0.000514351062 1.582655719208 -1.830338994317 0.040515430678 0.466803736980 0.460304542347 -0.658948885340 -0.277768453619 0.006506835618 0.002938898290 0.567099756655 0.020833839676 -0.250974567347 0.033140981568 -1.491321779943 -0.910714330087 -0.463159696305 -0.172726945838 0.711121536024 -0.084313853746 0.084865279231 -0.076810694878 -0.549687514288 -1.161042460064 0.524383013877 -1.215252370414 -0.705677276439 -0.006379485464 -0.659592678387 -1.893300229223 -0.017074820756 1.410641186374 -2.723964066350 0.120744278247 0.005255703650 0.580694709430 0.165973589827 1.357672636947 2.432534200069 -0.343974114981 0.009248962476 -0.563140031597 -0.826656537642 0.099565517048 0.670026268472 -0.003708332330 -0.063484142300 1.875573472025 0.129391674003 1.987860716598 0.943377350891 -0.151649772389 -0.679796234775 1.303453056186 0.243212745447 0.486588352617 -0.137703717522 -0.128406752924 -1.105425224126 -0.096704525384 -0.298344720725 -0.146674553038 -0.550922202525 0.297112134701 -2.523695589750 0.076710217481 0.041491835355 0.905979637681 -0.766088432444 0.312415073694 1.669840779641 -0.018744144136 -0.120176189359 0.997393123053 0.403564608637 0.036916107504 0.134233713406 -0.890859226916 -2.548301869494 0.542653609698 0.876467245764 -0.311261827370 1.124916571150 0.397180578983 0.019290453455 0.091693102587 -1.365322752584 -0.196455257933 -1.319820272970 0.612830399666 -0.007028267792 -1.536195058885 0.201279415114 0.050546786787 -1.483763126487 -0.299083926091 1.259923410959 0.000666909028 0.595700568847 0.084813017463 0.214296609608 1.253612099857 0.010898700324 0.097325773843 0.243927140167 -1.047886999302 -1.867458293851 -0.328462283683 -0.101422050705 -0.240937765688 1.520086416043 0.014625109626 0.005833077911 0.543801348542 -0.480394850859 -0.340140126733 -1.122141971419 0.239975694970 0.326865705844 1.340358708448 -0.290051091050 1.171142066099 -0.014825976822 -0.558485510588 0.218973938938 -0.086487435466 0.623337435798 -0.237460202589 -0.312676608031 -0.184962735306 -0.120867354486 -0.050464455748 -0.081124029930 -0.008599033959 -0.002232694166 0.274801656501 1.085015762235 -0.034802078259 -0.369586053254 -0.350619030858 0.468120247621 -0.813805377142 0.536627131489 -1.832687925408 -0.663673371966 0.362273704601 -0.227071847232 -0.120573165718 1.116260855490 1.627568154964 0.435561251718 -0.719157505486 2.817667561615 -0.175178849097 -0.643659476625 -0.288614607942 0.243661610111 0.676363167318 1.101121986255 0.559803766209 0.023815622882 0.884026690960 -0.320187699377 -0.387942071700 0.017337153290 0.093291102569 1.471584806739 -0.042286890109 -0.337932081353 -0.719578195625 1.334748265989 0.458219063656 0.507244395134 -0.867736743257 0.039747172627 -0.411621219320 0.279468692560 0.178426383960 0.051726422114 -0.002854016040 -0.276357240485 0.100608519096 -1.396010769144 -0.216011686523 -1.321454295226 -0.673617627240 -0.898335707107 -0.434551751669 0.170385851066 -0.068561869443 0.742215983522 1.164431497317 0.061700287013 0.012983673896 0.001431168934 0.002292504042 -0.205605387986 1.701985976712 0.013388339587 -1.594293118289 0.637206871502 -0.197380090036 -0.458033555889 -0.049011609288 0.110671925776 -0.476312365169 -2.131749285353 0.119826458414 -2.212191633691 0.194134732321 -0.095226570502 0.401928695413 1.281601701345 -0.079982328157 0.900079991156 0.059581139583 0.031646842023 0.135738196839 -0.971734646233 0.081521456172 -0.420984947001 0.227773200606 2.407149448508 -0.677976662649 -1.022802477618 -0.167783464521 -0.028756892798 0.660703321140 -0.010755955917 0.155763889603 -0.220811886043 -0.022530180742 -2.066389867995 0.025644569516 -0.189003484621 0.037039233644 -0.020154645997 0.071989605027 0.531799167315 -0.227142310009 -1.457331357078 0.064854612454 2.380296204283 -0.436292907896 -0.207846708490 -1.287943784383 -0.011067208742 -0.066317399343 -1.142975672563 -0.495123165631 -0.747218474823 -0.745987409421 0.125704029364 0.092266604485 -0.051302504783 -0.020748966232 0.252248495135 0.033647109065 0.430467933569 -1.429209767563 0.001082202441 0.456183667760 0.173105661602 -0.267618548769 0.295069715109 -0.307194587891 -2.449358911046 0.115141405035 -0.685180734139 0.414542677774 0.286958322304 1.174983529047 0.133146122345 0.284690416230 -0.210447562930 -0.120662331977 0.986558474938 -0.059220324436 -0.584459667435 0.080486413200 0.233618455369 1.727763404888 0.549361851128 -0.311399977987 0.168948083344 0.505843851474 0.562742151860 -0.501480326588 -0.004564073960 1.127198469867 0.236663122553 -0.000694961467 -0.303482463786 -0.008820224130 2.704508846710 0.346824356545 -1.888135527430 0.045883914244 1.005918951985 -0.401710023889 0.065168247660 -0.418578417884 2.924075666576 -0.061814032015 2.374682777332 0.749223181396 -0.265333629326 0.099553923735 1.395592799856 0.144112140517 0.056335596347 -0.320034729097 -0.095330170686 0.016313202926 0.175696990744 0.050697179572 -0.768413737372 1.025010510399 0.696005127923 0.007399540227 -0.554437603670 0.036359790990 0.267564065593 1.248374317082 -0.070127886502 -0.353936795878 -0.243107131369 0.306666029882 0.209840224852 -1.540332497356 0.084050256188 0.052857072518 -0.279084238564 -0.370935335311 -1.229173396575 0.083686729903 0.293369733795 -0.394710196096 -0.250837344026 -0.138936935444 -0.160770824890 -0.692118928760 -0.158880882423 0.178402799764 -0.287676204520 -0.014390623173 -1.129345420264 1.118969350368 -0.859336795985 -1.188299834279 -0.001627739646 -0.142427486185 0.212505924529 -0.858475390203 0.262790850676 0.445557598110 0.118010227548 -0.698857315099 0.507431940743 -1.190318903407 -0.379383125504 -1.771758937973 -2.672491392873 -0.085743573911 0.545649926467 1.088995493754 -1.016747359975 0.524611901880 0.186685791040 -0.007857333819 -0.262477362824 -0.483726432887 -0.361183316986 0.376225058954 -0.706038393122 -0.262111414784 1.881997705939 0.279194898716 -0.145454466829 0.315043073527 0.011811226942 -0.009716613582 2.635827786267 0.112721853493 -0.083784924091 -0.369909865911 -2.868359181877 0.067169565256 0.000132461649 0.034362427247 -0.488210608138 0.012514323324 1.292263425618 -0.573326830930 0.481212213268 -1.379443910039 -0.021228149352 -0.138109595119 0.612774666563 0.225342525031 2.387247627040 0.181240592928 -0.259380557120 2.846067005921 -0.520289301124 -0.060235117016 -1.175047667912 -0.007219600801 -0.501589622157 -0.734733196161 -0.355661429449 0.048848560376 -0.005267961217 0.467716277842 -0.283302061422 0.145282689346 0.578867695861 0.046685967744 -0.101219648536 -0.100805558459 -0.092457395236 -1.190107572003 0.920905267599 0.091278106678 -0.148280786305 0.492532119139 -0.001844360203 0.456105065785 -0.327010120585 0.430984276759 -1.665948216613 0.473427482634 -0.319763273912 -0.015764158110 0.466348249669 0.102812736583 0.592664007534 -1.083178318695 -0.009858556405 -0.077495882778 -0.440751726831 -0.217192590569 0.531685737869 0.010593276656 0.169341954197 -0.000272661964 1.025918253476 -0.023703521170 1.351970175748 -0.420202827442 0.086219751790 -1.113699957529 -0.448475903316 -0.074508907975 0.043357613106 0.317193325256 0.688869649034 0.019368187125 -0.733936024065 0.283949264962 0.409547523632 -0.097907433343 0.169938296964 0.093931065028 -0.042430272147 0.646055199585 1.064658810292 -1.472120705541 -0.070232250442 0.393477985347 -1.839862637315 0.199726677720 1.959112893355 1.498155666817 -0.050548610282 -0.110118711861 -0.036054435626 0.267276909559 -2.242421827643 -0.377817903317 0.250573591855 -0.672867357567 -0.485243749150 -0.003279857317 0.169836241092 -0.002802268667 0.577639700671 0.761726974663 -0.260744356320 -0.055414013760 1.613247457079 1.323856126779 -0.229184026530 -0.860957150041 -1.322700285374 -0.128202922197 0.370010416728 1.046291111763 -0.593868600540 -0.094219023183 0.118404964148 0.284143516574 0.467004243403 0.095446996819 -0.234816199367 0.008333013186 -0.768602524559 -0.038456381143 0.468718392642 0.119006984477 0.101076636608 1.181921876602 -1.839916581710 -0.187294690615 -0.015301431772 -0.174956347915 0.102120003292 -0.416067918696 1.081747795281 0.548460023030 0.378496328208 -0.083914030771 -0.081708412320 -0.261925637931 -0.047865874068 0.140813118262 -2.164979807667 0.305321202564 -0.210426830165 0.432928309765 0.324084814039 0.076326063226 -2.006010399813 1.194201004250 -0.162744506041 0.131761794778 -0.021272298150 0.199721547216 -0.325288396217 -0.064945870447 0.002912970944 0.069288204056 -2.531668473361 -0.121372331845 1.278609939216 0.062292648266 1.232312648088 0.316099530376 0.088312447730 0.072423279829 -0.084737904519 -0.142386861039 -0.159308345598 0.447968695600 3.049519234675 0.847348233164 -0.259649981434 0.440044262832 0.247427226795 0.021531051482 1.354136766147 0.038282374659 -2.141964983303 1.043029900120 -1.504920311642 -0.337386805004 -0.169803505108 -0.004400630963 -2.186339745218 -0.129724587158 0.251317917626 0.978726781652 -0.884606967193 0.143483915444 -0.250869511661 -0.549100665475 -0.015840618851 -0.549882156497 0.223358513073 -0.040315391031 0.118372377262 -0.027452333629 0.006195029451 -0.910010060220 -0.805869319768 0.099651092062 0.199812684785 0.079239877668 -0.004643171663 -1.461500082734 -0.445637546682 0.933505100224 -0.092914095865 -1.453770096980 -0.307979334437 -0.484393637424 1.127807457134 -0.018918624466 0.044212472676 -1.054584975483 -0.291986989737 0.498562933120 1.922127928538 -0.170452217794 -0.118794017630 -0.145538929365 0.149959869354 -1.328585291835 0.339355162703 -1.037938623604 -0.336439260273 -0.202904616345 0.130423648394 -1.030781001299 0.830297842985 0.076770193967 0.192845306369 -1.401772416809 -0.474477904562 0.834016743759 0.746271027077 -0.163678148946 -0.135585684948 -0.486323353689 0.469105783840 0.104442014979 1.197810363323 -0.002742978192 0.169852244759 -0.005014247278 0.474849920461 -0.087657787971 -1.707674131886 -0.430316044734 2.014302348578 0.032675564537 -0.241752331681 0.682641558470 2.186861857318 -0.339537603654 0.281821621348 0.720980340778 -0.199435650728 1.425394986730 -0.386277253733 0.016226092729 -0.120057760510 0.139958517792 -0.001858888373 -1.208210372349 0.568526406815 0.145420729693 -0.107541245791 1.554694056697 -0.051635052750 -0.455205196442 0.041388843353 0.002766853229 -0.029907152281 1.438816192191 -0.007129221487 0.624152550038 2.320063988174 0.565284969767 0.620629745185 -0.156179388421 0.010550053786 -0.873553356401 0.224863137446 -0.125823252447 -0.357605778060 -0.227127314753 0.234044096808 -0.002607488078 2.454388663949 0.213489709358 -0.083855575518 -1.676719554379 0.052516634085 -0.003662407000 -0.233534681617 -0.783940206413 -0.807516388931 -0.111392300476 0.213791264375 -0.043696119397 2.742530244710 -0.241345739571 -0.035518924255 0.631325751045 -1.195857292435 -0.049688557973 0.112188925211 -0.204989848711 -1.451133680963 -1.011315950098 0.043855985663 -0.481680223113 -0.884622866013 -0.183344510157 0.052965629948 0.217599396533 0.069256402526 -1.352621179802 0.694382242547 0.212051545656 0.152797486314 0.228113585105 -0.410454236401 0.178424551528 -0.548879479624 -0.024013832657 0.398263944424 -0.212510822258 -0.580317881274 0.021314861678 -0.179744319163 -0.350559958387 -0.973368039335 -1.375548292757 0.108817558079 1.569650132021 0.002139265217 0.272094576360 -1.291528604454 -0.174350704064 0.015187603176 -0.051929324006 -1.400020068462 0.433341518970 0.121175062889 0.965988048611 -0.118542938562 -0.460199339983 0.165754791312 -0.128627737446 -0.941763347789 -0.880447285235 0.476396497054 1.000670346974 0.319848853996 0.093772132731 -1.737173274840 -1.118026629825 -0.643393654970 0.310849924501 -1.056047668441 0.066242260802 0.013745719418 -0.171095130872 -0.133055289989 -0.376301699036 -1.102279935234 0.018964853395 2.669514259776 0.018196692944 0.001283804852 1.575498227077 0.645302120369 -0.072889360720 -1.853400428102 0.232473197058 -0.102995915127 0.364129447382 0.850864399280 -0.328460354407 -0.183837743086 -1.329811938793 -0.019557030123 0.150293564157 -1.057984825688 0.984603040668 0.344474788936 0.393208006576 0.005354397735 0.656303556524 -0.001136991146 -0.044153900425 1.230431224283 1.549372230842 0.388313017393 1.452323364564 0.037352329172 0.036320924866 0.056269579826 0.055048616007 -0.498220104743 -0.002341143608 -0.233465427933 0.198410956749 -1.241854249856 -1.436190224850 0.174289403727 0.429156960453 -0.562171328671 -0.210973103637 0.106816468431 0.130432992957 -0.393452414560 0.363168323846 -0.202959352623 -0.328733127912 1.216260378809 0.465659936747 -0.030269681443 1.346177409723 -0.060676421398 0.072622055026 1.392198583761 1.469326481547 -0.283650118785 -0.005494541935 0.447744966620 0.361533754862 0.291717049255 -0.006430601321 -0.053578349098 1.889434472113 -0.542888205010 -0.174725173365 1.195407361563 -1.626679888076 -0.523114851474 0.818857297070 -0.963022628702 -0.010377933746 0.046876688816 -1.864933135966 0.090213031587 -0.998576006973 -0.370740386021 0.038315633895 0.361723592771 -0.079462439730 0.095393308998 -0.507110955514 0.131367004234 0.340839324097 -0.190751568864 -0.093665527678 0.111086790868 -0.846322023482 0.606640802312 0.401710278875 -0.028331238212 0.836498208990 -0.002828299172 1.784184438992 1.932340105979 0.001250714445 -0.566607050971 -1.737772606558 0.050307616414 -0.081604358362 -2.354019656035 -0.178618141666 1.717829803124 0.767235393709 -0.023664423092 0.512743853256 0.097122459593 -1.749277063706 -4.133839637912 0.896783168480 0.368271180626 0.067835710157 0.998517176744 -0.109265676461 -0.353414376002 0.507881025566 0.186779635279 -0.311318081086 -2.600589370670 0.000990626301 -0.357405284922 -0.066959577902 -0.025987423067 0.018771882232 0.625045534447 -1.200482648128 -0.464048455258 0.023509511729 0.036375969061 -0.611639152751 1.377153199647 0.220711416313 -0.400643571826 0.521549075240 1.601642849575 -0.167629217070 1.755444741730 -0.007117466079 1.061389937770 -0.468571424905 0.204314138692 -0.231406240144 -1.710144226692 0.394515969268 -3.495379262196 0.686373459228 0.036302609526 lcalc-1.23+dfsg.orig/src/Lcommandline_twist.cc0000644000175000017500000011530211146644452020012 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "Lcommandline_twist.h" /*=========================================================================== Dictionary of twists: degree 1: L(s,chi), chi primitive of conductor q, has functional equation OMEGA = tau(chi)/sqrt(q) if chi(-1)= 1 OMEGA = tau(chi)/(I*sqrt(q)) if chi(-1)= -1 Q=sqrt(q/Pi) Gamma(s/2) if chi(-1)= 1 Gamma((s+1)/2) if chi(-1)= -1 When chi = kronecker's symbol, OMEGA is always equal to one reference: davenport chapter 9. For some reason he has an (Pi/q)^(-(s+a)/2) in(13), pg 71 rather than a (Pi/q)^(-s/2). The extra constant factor makes no difference, though. degree 2: -------------------------------------------------------------------- L(s,f) a cusp form of weight k and level N, i.e. in S_k(Gamma_0(N)). Then, (see for example Knapp, Theorem 9.8 page 270) Hecke obtained the functional equation for L(s,f) with underlying OMEGA = i^k * epsilon = plus or minus one. underlying Q = sqrt(N)/(2*Pi). epsilon is the eigenvalue of the Fricke involution = 1 or -1 assume that the conductor of chi, q, satisfies (q,N)=1, and that chi is primitive. XXXXXXXXXXXXXXXXX What happens for imprimitive chi's when we twist a cusp form? What happens when (q,N) > 1. XXXXXXXXXXXXXXXXx Then the functional for L(s,f,chi) has Q=q*sqrt(N)/(2Pi), i.e. underlying Q (of L(s,f)) gets multiplied by q. OMEGA = (underlying OMEGA) chi(N) tau(chi)^2 / q when chi = kronecker's sympbol, OMEGA = (underlying OMEGA) chi(-N) references: Shimura, theorem 3.66, Knapp Bump, Koblitz. -------------------------------------------------------------------- L-functions of Maass forms for SL_2(Z) underlying Q = 1/Pi OMEGA = 1 twisting by primitive chi gives Q = q/Pi OMEGA = 1. XXXXXX What happens for higher level and for imprimitive chi? -------------------------------------------------------------------- higher degree: see what's known. =============================================================================*/ //if what_to_do="values" then count and step_size are not used //and we compute L(s=x+I*y, chi_d). //if what_to_do="zeros" then count and step_size are used //and we compute zeros of L(1/2+I*t, chi_d) by looking //for sign changes in steps of step_size. We start at //t1=x and go up to t2=y, or, if count >0 we look for //the first count zeros above x. int quadratic_twists(Long D1, Long D2,Double x,Double y,int count,Double step_size,const char *what_to_do,bool do_only_even_twists,bool test_explicit_formula,int desired_rank) { int k,n; char filename[300]; ostrstream os(filename,300); char message_stamp[300]; ostrstream os2(message_stamp,300); Complex s,u; Long d; char tmp_name[300]; ostrstream os3(tmp_name,300); int *coeff_chi; Double y1= 2.3*DIGITS,y2=0; //used in determining how many twisted coefficients are needed int tmp_a; //the quasi degree of the twisted (and also underlying) L-function if(current_L_type==1){ tmp_a=int_L.a; } if(current_L_type==2){ tmp_a=Double_L.a; } if(current_L_type==3){ tmp_a=Complex_L.a; } Double *tmp_g; Complex *tmp_l; tmp_g=new Double[tmp_a+1]; tmp_l=new Complex[tmp_a+1]; Complex underlying_OMEGA; // OMEGA of the underlying L-function Complex tmp_OMEGA; // OMEGA of the twisted L-function int what_type; // what_type of the underlying L-function int tmp_what_type; // what_type of the underlying L-function (zeta is different // than periodic), so is not the same as underlying type. int underlying_N_terms; //number of dirichlet coefficients //of the underlying L-function Double underlying_Q; //Q for the underlying L-function Long underlying_cond; //first copy the GAMMA factors of the underlying L-function //afterwards we modify... first according to a dictionary //of twists and if this doesn't work then by searching... //latter still needs to be figured out... non-linear system to //consider. if(current_L_type==1){ //tmp_a=int_L.a; for(k=1;k<=tmp_a;k++){ tmp_g[k]=int_L.gamma[k]; tmp_l[k]=int_L.lambda[k]; y2=y2+real(tmp_l[k]); } underlying_OMEGA=int_L.OMEGA; what_type=int_L.what_type_L; underlying_N_terms=int_L.number_of_dirichlet_coefficients; underlying_Q=int_L.Q; } if(current_L_type==2){ //tmp_a=Double_L.a; for(k=1;k<=tmp_a;k++){ tmp_g[k]=Double_L.gamma[k]; tmp_l[k]=Double_L.lambda[k]; y2=y2+real(tmp_l[k]); } underlying_OMEGA=Double_L.OMEGA; what_type=Double_L.what_type_L; underlying_N_terms=Double_L.number_of_dirichlet_coefficients; underlying_Q=Double_L.Q; } if(current_L_type==3){ //tmp_a=Complex_L.a; for(k=1;k<=tmp_a;k++){ tmp_g[k]=Complex_L.gamma[k]; tmp_l[k]=Complex_L.lambda[k]; y2=y2+real(tmp_l[k]); } underlying_OMEGA=Complex_L.OMEGA; what_type=Complex_L.what_type_L; underlying_N_terms=Complex_L.number_of_dirichlet_coefficients; underlying_Q=Complex_L.Q; } tmp_what_type=what_type; if(tmp_what_type==-1)tmp_what_type=-2; //this gets updated to 1 if N_terms=r; Complex *tmp_cmplx; //used to set poles and residues to none //since twists never have poles. tmp_cmplx=new Complex[1]; tmp_cmplx[0]=0; Long r; // r = |d| Long tmp_period; int N_terms;// number of chi(n)'s to compute int tmp_N_terms;// number of b(n)*chi(n)'s to compute Double tmp_Q; int *int_twisted_coeffs; Double *Double_twisted_coeffs; Complex *Complex_twisted_coeffs; if(what_type==2) underlying_cond=Long(rint(underlying_Q*2*Pi*underlying_Q*2*Pi)); else underlying_cond=1; d=nextfunddiscriminant(D1-1); for(; d<=D2; d=nextfunddiscriminant(d)) if(what_type!=2||(what_type==2&&gcd(underlying_cond,sn(d)*d)==1)) { tmp_OMEGA=underlying_OMEGA; tmp_period=0; if (d<0) r=-d; else r=d; os3.seekp(0); if(d<0) os3 <<"L_chi_-"<< r << ends; else os3 <<"L_chi_"<< r << ends; Double C; // as in the 2*C/Pi if(what_type==-1) // -1 is for zeta { //if(my_kronecker(d,d-1)==1) tmp_l[1]=0.; //this is -1 for d<0 and 1 for d>0, so ... no need for the call to kronecker if(d>0) tmp_l[1]=0; else tmp_l[1]=(Double)1/2; tmp_Q=sqrt(r/Pi); //C = 2*DIGITS2*log(10.); Double T; if(!strcmp(what_to_do,"zeros")) T = abs(max(abs(x),abs(y))); else //if what_to_do=="values" T = abs(y); if(count>0) T=T+(count+100)*2*Pi/log(T+3); Complex delta=int_L.find_delta(1+I*T+tmp_l[1],.5); tmp_N_terms = Int(2.3 * DIGITS*tmp_Q/real(delta)); do{ tmp_N_terms=(int)(tmp_N_terms*1.3); }while(tmp_N_terms*real(delta)/tmp_Q-log((1.+real(tmp_l[1]))*tmp_N_terms)<2.3*DIGITS); tmp_N_terms=(int)(tmp_N_terms*1.3); N_terms=tmp_N_terms; // for Dirichlet L-functions if(r<=1000)N_terms=r; if(my_verbose>1) cout << "N_terms for quad twist: " << N_terms << endl; } // If is a degree > 1 L-function if(what_type!=-1) { //for now only cusp forms are implemented if(what_type==0||what_type>3||what_type==1||what_type==-2){ cout << endl << "At present only know how to twist zeta, "; cout << "cusp form (in S_k(Gamma_0(N)) L-functions," << endl; cout << "and Maass forms for the full modular group" << endl; delete [] tmp_g; delete [] tmp_l; delete [] tmp_cmplx; return 0; } // if a twist of a cusp form if(what_type==2||what_type==3){ tmp_Q=underlying_Q*r; if(what_type==2){ tmp_OMEGA =tmp_OMEGA*my_kronecker(d,underlying_cond); if(d<0) tmp_OMEGA=-tmp_OMEGA; } //C = DIGITS2*log(10.); Double T; if(!strcmp(what_to_do,"zeros")) T = abs(max(abs(x),abs(y))); else //if what_to_do=="values" T = abs(y); if(count>0) T=T+(count+100)*Pi/log(T+3); Complex delta=int_L.find_delta(1+I*T+tmp_l[1],1); tmp_N_terms = Int(2.3 * DIGITS*tmp_Q/real(delta)); do{ tmp_N_terms=(int)(tmp_N_terms*1.3); }while(tmp_N_terms*real(delta)/tmp_Q-log((1.+real(tmp_l[1]))*tmp_N_terms)<2.3*DIGITS); tmp_N_terms=(int)(tmp_N_terms*1.3); } if(tmp_N_terms>underlying_N_terms) tmp_N_terms=underlying_N_terms; N_terms=tmp_N_terms; } //if is a degree >1 L-function if (N_terms>=r) { N_terms=r; if(what_type==-1){ tmp_N_terms=r; tmp_what_type=1; //(i.e. is a Dirichlet series with all coeffs) tmp_period=r; } } //if do_only_even_twists and is an even twist or !do_only_even_twists if((do_only_even_twists&&abs(tmp_OMEGA-1)<1.e-12)||!do_only_even_twists) { coeff_chi=new int[N_terms+1]; coeff_chi[0]=0; for(n=1;n<=N_terms;n++){ if(d-INT_MAX) coeff_chi[n]=my_kronecker(Int(d),n); else coeff_chi[n]=my_kronecker(d,(Long) n); } if(current_L_type==1){ if(what_type==-1){ //i.e. if twists of zeta if (my_verbose>1) cout << "calling L_function for twist with " << tmp_N_terms << " coefficients" << endl; int_L2= L_function(tmp_name,tmp_what_type,tmp_N_terms,coeff_chi,tmp_period,tmp_Q,tmp_OMEGA,tmp_a,tmp_g,tmp_l,0,tmp_cmplx,tmp_cmplx); } else{ int_twisted_coeffs= new int[tmp_N_terms+1]; //xxxxxxxxxxxx moved here for(n=1;n<=tmp_N_terms;n++) int_twisted_coeffs[n]= int_L.dirichlet_coefficient[n]*coeff_chi[n%r]; if (my_verbose>1) cout << "calling L_function for twist with " << tmp_N_terms << " coefficients" << endl; int_L2= L_function(tmp_name,tmp_what_type,tmp_N_terms,int_twisted_coeffs,tmp_period,tmp_Q,tmp_OMEGA,tmp_a,tmp_g,tmp_l,0,tmp_cmplx,tmp_cmplx); } } if(current_L_type==2){ Double_twisted_coeffs= new Double[tmp_N_terms+1]; for(n=1;n<=tmp_N_terms;n++) Double_twisted_coeffs[n]= Double_L.dirichlet_coefficient[n]*coeff_chi[n%r]; if (my_verbose>1) cout << "calling L_function for twist with " << tmp_N_terms << " coefficients" << endl; Double_L2= L_function(tmp_name,tmp_what_type,tmp_N_terms,Double_twisted_coeffs,tmp_period,tmp_Q,tmp_OMEGA,tmp_a,tmp_g,tmp_l,0,tmp_cmplx,tmp_cmplx); } if(current_L_type==3){ Complex_twisted_coeffs= new Complex[tmp_N_terms+1]; for(n=1;n<=tmp_N_terms;n++) Complex_twisted_coeffs[n]= Complex_L.dirichlet_coefficient[n]*coeff_chi[n%r]; if (my_verbose>1) cout << "calling L_function for twist with " << tmp_N_terms << " coefficients" << endl; Complex_L2= L_function(tmp_name,tmp_what_type,tmp_N_terms,Complex_twisted_coeffs,tmp_period,tmp_Q,tmp_OMEGA,tmp_a,tmp_g,tmp_l,0,tmp_cmplx,tmp_cmplx); } os2.seekp(0); //os2 << d << ends; if(d<0) //os2 <.000001) analytic_rank=0; else{ switch(current_L_type) { case 1: analytic_rank=int_L2.compute_rank(); break; case 2: analytic_rank=Double_L2.compute_rank(); break; case 3: analytic_rank=Complex_L2.compute_rank(); break; } } if(analytic_rank!=desired_rank){ do_zeros=false; } } if(do_zeros) { switch(current_L_type) { case 1: if(count==0) int_L2.find_zeros(x,y,step_size,"cout",message_stamp); else //int_L2.find_zeros_via_gram(x,count,step_size,"cout",message_stamp); int_L2.find_zeros_via_N(count,false,step_size,-1,test_explicit_formula,"cout",message_stamp); //int_L2.find_zeros_elaborate(x,count,step_size,"cout",message_stamp); break; case 2: if(count==0) Double_L2.find_zeros(x,y,step_size,"cout",message_stamp); else //Double_L2.find_zeros_via_gram(x,count,step_size,"cout",message_stamp); Double_L2.find_zeros_via_N(count,false,step_size,-1,test_explicit_formula,"cout",message_stamp); //Double_L2.find_zeros_elaborate(x,count,step_size,"cout",message_stamp); break; case 3: if(count==0) Complex_L2.find_zeros(x,y,step_size,"cout",message_stamp); else //Complex_L2.find_zeros_via_gram(x,count,step_size,"cout",message_stamp); Complex_L2.find_zeros_via_N(count,true,step_size,-1,test_explicit_formula,"cout",message_stamp); break; } } } if(!strcmp(what_to_do,"values")||!strcmp(what_to_do,"values and ranks")) { s=x+I*y; switch(current_L_type) { case 1: u=int_L2.value(s,global_derivative,"pure"); break; case 2: u=Double_L2.value(s,global_derivative,"pure"); break; case 3: u=Complex_L2.value(s,global_derivative,"pure"); break; } if(desired_rank==-1){ //default... -1 means not to restrict the rank //cout << setprecision(DIGITS3); cout << message_stamp << " " << real(u) << " " << imag(u); } if(!strcmp(what_to_do,"values and ranks")){ int analytic_rank; if(abs(u)>.000001 && desired_rank==-1) cout << " 0"; else{ switch(current_L_type) { case 1: analytic_rank=int_L2.compute_rank(); break; case 2: analytic_rank=Double_L2.compute_rank(); break; case 3: analytic_rank=Complex_L2.compute_rank(); break; } if(analytic_rank==desired_rank){ //restrict output to those with specified rank //cout << setprecision(DIGITS3); cout << message_stamp << " " << real(u) << " " << imag(u) << endl; } else if(desired_rank==-1) cout << " " << analytic_rank; } } if(desired_rank==-1) cout << endl; //cout << message_stamp << " " << abs(u) << endl; //cout << d << " " << real(u) << " vs finite sum formula" << endl<< L_1_chi(d) <<" " << L_1_chi(d) * sqrt(abs(Double(d)))/(2.L*Pi) << endl; } //-------------------------------------------------- delete [] coeff_chi; if(current_L_type==1){ if(what_type!=-1)delete [] int_twisted_coeffs; } if(current_L_type==2){ delete [] Double_twisted_coeffs; } if(current_L_type==3){ delete [] Complex_twisted_coeffs; } }//if do_only_even_twists } // for d delete [] tmp_g; delete [] tmp_l; delete [] tmp_cmplx; return 0; } //note: the twists in all_twists are all treated as Complex L-functions, //including the twists that are real. //for elliptic curves we check if (q,N)=1. //twist_type: -1 just one complex primitive twist, -2 all non-real primitive twists, 0 all primitive twists, 1 all twists with //conjugate pairs only appearing once, 2 all twists with conjugate pairs appearing twice int all_twists(Long D1, Long D2,Double x,Double y,int count,Double step_size,const char *what_to_do,int twist_type,int print_character,bool test_explicit_formula) { //variables for twisting Long q; //conductor Long q_1; //conductor of the inducing character chi_1 int n; //as in chi[n] int K; //number of distinct odd primes dividing q int i,j,k; //loop variables int loop1,loop2; //looping bounds int a,b; //various ints Complex u,w,z; //used to generate the character Complex *chi; //the character Complex *chi_1; //the primitive character inducing chi Complex *sum; //to check that sum over chi is zero Complex SUM; //to check that sum over n is zero //Double total=0; //sum of abs(SUM) over all chi Long **factors; //stores the factors of q Long *m, *v; //as in (1) chapter 4 of Davenport Long m_prime, v_prime; Long *phi; //stores the values of phi(p^alpha) Long *power_p;// stores p_j^alpha_j Long PHI; //is set to phi(q/2^alpha_0) Long M; //for looping 0..PHI-1 Long dial; //for creating an "analog dial" looping through the m[j]'s Long gr; //generator for the cyclic group of (Z/p^alpha Z) bool is_primitive; //for storing whether chi is primitive or not bool only_do_primitive; // only do primitive twists or not bool is_fresh; //false if we already did the conjugate character //and current_L_type is not Complex factors = new Long *[30]; for(k=0;k<=29;k++) factors[k]= new Long[3]; //---------------------------------------- char filename[300]; ostrstream os(filename,300); char message_stamp[300]; ostrstream os2(message_stamp,300); Complex s; Long d; const char *tmp_name="L_chi"; i=0; int tmp_a; //the quasi degree of the twisted (and also underlying) L-function Double y1= 2.3*DIGITS,y2=0; //used in determining how many twisted coefficients are needed if(current_L_type==1){ tmp_a=int_L.a; } if(current_L_type==2){ tmp_a=Double_L.a; } if(current_L_type==3){ tmp_a=Complex_L.a; } Double *tmp_g; Complex *tmp_l; tmp_g=new Double[tmp_a+1]; tmp_l=new Complex[tmp_a+1]; Complex underlying_OMEGA; // OMEGA of the underlying L-function Complex tmp_OMEGA; // OMEGA of the twisted L-function int what_type; // what_type of the underlying L-function int tmp_what_type; // what_type of the underlying L-function (zeta is different // than periodic), so is not the same as underlying type. int underlying_N_terms; //number of dirichlet coefficients //of the underlying L-function Double underlying_Q; //Q for the underlying L-function //first copy the GAMMA factors of the underlying L-function //afterwards we modify... first according to a dictionary //of twists and if this doesn't work then by searching... //latter still needs to be figured out... non-linear system to //consider. if(current_L_type==1){ //tmp_a=int_L.a; for(k=1;k<=tmp_a;k++){ tmp_g[k]=int_L.gamma[k]; tmp_l[k]=int_L.lambda[k]; y2=y2+real(tmp_l[k]); } underlying_OMEGA=int_L.OMEGA; what_type=int_L.what_type_L; underlying_N_terms=int_L.number_of_dirichlet_coefficients; underlying_Q=int_L.Q; } if(current_L_type==2){ //tmp_a=Double_L.a; for(k=1;k<=tmp_a;k++){ tmp_g[k]=Double_L.gamma[k]; tmp_l[k]=Double_L.lambda[k]; y2=y2+real(tmp_l[k]); } underlying_OMEGA=Double_L.OMEGA; what_type=Double_L.what_type_L; underlying_N_terms=Double_L.number_of_dirichlet_coefficients; underlying_Q=Double_L.Q; } if(current_L_type==3){ //tmp_a=Complex_L.a; for(k=1;k<=tmp_a;k++){ tmp_g[k]=Complex_L.gamma[k]; tmp_l[k]=Complex_L.lambda[k]; y2=y2+real(tmp_l[k]); } underlying_OMEGA=Complex_L.OMEGA; what_type=Complex_L.what_type_L; underlying_N_terms=Complex_L.number_of_dirichlet_coefficients; underlying_Q=Complex_L.Q; } tmp_what_type=what_type; Complex *tmp_cmplx; //used to set poles and residues to none //since twists never have poles. //except for the trivial twist of zeta ! //but this special case is dealt with seperately tmp_cmplx=new Complex[1]; tmp_cmplx[0]=0; Long r; // r = |d| Long tmp_period; int tmp_N_terms;// number of b(n)*chi(n)'s to compute Double tmp_Q; int number_chi; //counts characters Complex *Complex_twisted_coeffs; Long underlying_cond; //is set to N, conductor of underlying curve if(what_type==2) underlying_cond = Long(rint(underlying_Q*2*Pi*underlying_Q*2*Pi)); else underlying_cond=1; if(twist_type==1||twist_type==2) only_do_primitive=false; // do all twists else only_do_primitive=true; // only do primitive twists for(d=D1; d<=D2; d++) if(what_type!=2||(what_type==2&&gcd(underlying_cond,d)==1)) { number_chi=0; q=d; for(k=0;k<=29;k++) for(j=0;j<=2;j++)factors[k][j]=0; factor(q,factors); K=factors[0][2]; //for(k=0;k<=K;k++) //cout << q <<" " << factors[k][0] << " " << factors[k][1] <<" " << factors[k][2] << endl; m = new Long [K+1]; v = new Long [K+1]; phi = new Long [K+1]; power_p = new Long [K+1]; chi = new Complex[q+1]; chi_1 = new Complex[q+1]; sum = new Complex[q+1]; for(n=0;n<=q;n++)sum[n]=0; PHI=1; //shortcut for evaluating phi(p_j^alpha_j) for(j=1;j<=K;j++){ phi[j]=(factors[j][0]-1); //(p-1) power_p[j]=power_mod_q(factors[j][0],factors[j][1],q+1);//p^alpha if(factors[j][1]>1) phi[j]=phi[j]*power_p[j]/factors[j][0]; PHI=PHI*phi[j]; } if(factors[0][1]>2) loop1=power_mod_q(2,factors[0][1]-2,q); //shortcut for evaluating 2^(alpha_0-2) (1) is_primitive=false; if(factors[0][1]==1) is_primitive=false; if(factors[0][1]==2&&m[0]==0) is_primitive=false; if(factors[0][1]>2) if(m_prime%2==0) is_primitive=false; number_chi++; is_fresh = true; if(current_L_type<=2&&twist_type!=2){ //i.e. if the dirichlet coeffs are real and we don't insist on //conjugate characters appearing twice if(K>0){ j=0; do{ j++; }while((m[j]==phi[j]/2||m[j]==0)&&jphi[j]/2) is_fresh=false; else if(j==K&&(m[j]==phi[j]/2||m[j]==0)&&m_prime>(loop1)/2) is_fresh=false; } else if(m_prime>(loop1)/2) is_fresh=false; //if(is_fresh) cout << "FRESH"<< endl; else cout << "is conjugate"<< endl; //cout << 0 << " ------ " << loop2 << " " << m[0] << " " << endl; //cout << 0 << " ------ " << loop1 << " " << m_prime << " " << endl; //for(j=1;j<=K;j++) cout << j << " ------ " << phi[j] << " " << m[j] << endl; //false means we already saw it's conjugate } //-----if primitive, or if: not do only primitive (i.e. if do all). We also //-----make sure we haven't already done the conjugate character when //-----current_L_type is int or Double if(is_fresh&&(is_primitive || !only_do_primitive)) { // m[j]'s,m_prime are set. now compute chi(n) for(n=1;n<=q-1;n++){ chi[n]=1.; chi_1[n]=1.; } chi[0]=0; chi_1[0]=0; chi[q]=0; chi_1[q]=0; q_1=q; for(k=1;k<=K;k++) { b=power_mod_q(factors[k][0],factors[k][1],q+1);//=p^alpha //q+1 is needed so that p2){ if(m_prime%2==0){ //is_primitive=false; if(m[0]==0&&m_prime==0)q_1=q_1/(4*loop1); //strip powers of 2 else q_1=q_1/gcd(m_prime,loop1); } n=1; if(m[0]==0) w=1.; else w=-1.; z=exp(2*Double(m_prime)*I*Pi/Double(loop1)); u=1.; b=4*loop1;//=2^alpha_0 for(v[0]=1;v[0]<=2;v[0]++){ n=(-n)%b; if(n<0)n=n+b; u=u*w; for(v_prime=1;v_prime<=loop1;v_prime++){ n=(5*n)%b; u=u*z; a=n; do{ chi[a]=chi[a]*u; if(m[0]!=0||m_prime!=0)chi_1[a]=chi_1[a]*u; a=a+b; }while(a1)chi[n]=0; if(gcd(n,q_1)>1)chi_1[n]=0; } //cout << "inducing q_1 = " << q_1 << endl; //cout << "M = " << M << " ;" ; //cout << m_prime << " "; //for(n=0;n<=K;n++) cout << m[n] << " "; //if(is_primitive) cout << "is primitive" << endl; //else cout << "NOT primitive" << endl; //end compute chi(n) // check that sum over characters is 0; //cout << setprecision(DIGITS3); SUM=0; //if(is_fresh) cout << "fresh==============================\n " ; //if(!is_fresh) cout << "old*******************************\n " ; for(n=0;n<=q;n++){ sum[n]=sum[n]+chi[n]; SUM=SUM+chi[n]; if(print_character==1&&abs(chi[n])>.1){ cout << q << " " <.1&&(is_primitive||number_chi==1)) //cout << q << " " << 0 << " " <.1) //cout << q << " " << 1 << " " <.1) //cout << q << " " << q_1 << " " < 1 L-function if(what_type!=-1) { //for now only cusp forms are implemented if(what_type==0||what_type>3||what_type==1||what_type==-2){ cout << endl << "At present only know how to twist zeta, "; cout << "cusp form (in S_k(Gamma_0(N)) L-functions," << endl; cout << "and Maass forms for the full modular group" << endl; delete [] chi; delete [] chi_1; delete [] phi; delete [] power_p; delete [] m; delete [] v; delete [] sum; for(k=0;k<=29;k++) delete(factors[k]); delete (factors); delete [] tmp_g; delete [] tmp_l; delete [] tmp_cmplx; return 0; } if(what_type==2||what_type==3){ tmp_Q=(q_1*underlying_Q); tmp_OMEGA=tmp_OMEGA*chi_1[underlying_cond%q_1]*tau_chi*tau_chi/Double(q_1); //tmp_Q=underlying_Q*r; Double C; // as in the 2*C/Pi //C = DIGITS2*log(10.); Double T; if(!strcmp(what_to_do,"zeros")) T = abs(max(abs(x),abs(y))); else //if what_to_do=="values" T = abs(y); if(count>0) T=T+(count+100)*Pi/log(T+3); Complex delta=int_L.find_delta(1+I*T+tmp_l[1],1); tmp_N_terms = Int(2.3 * DIGITS*tmp_Q/real(delta)); do{ tmp_N_terms=(int)(tmp_N_terms*1.3); }while(tmp_N_terms*real(delta)/tmp_Q-log((1.+real(tmp_l[1]))*tmp_N_terms)<2.3*DIGITS); tmp_N_terms=(int)(tmp_N_terms*1.3); } if(tmp_N_terms>underlying_N_terms) tmp_N_terms=underlying_N_terms; } //tmp_N_terms=underlying_N_terms; if(what_type==-1){ tmp_N_terms=q_1; tmp_what_type=1; //(i.e. is a Dirichlet series with all coeffs) tmp_period=q_1; } if(what_type==-1){ //i.e. if twists of zeta if(abs(SUM)>.5) //the trivial character so set to zeta Complex_L2= L_function(); else{ if (my_verbose>1) cout << "calling L_function for twist with " << tmp_N_terms << " coefficients" << endl; Complex_L2= L_function(tmp_name,tmp_what_type,tmp_N_terms,chi_1,tmp_period,tmp_Q,tmp_OMEGA,tmp_a,tmp_g,tmp_l,0,tmp_cmplx,tmp_cmplx); } } else{ Complex_twisted_coeffs= new Complex[tmp_N_terms+1]; for(n=1;n<=tmp_N_terms;n++) { switch(current_L_type){ case 1: Complex_twisted_coeffs[n]= int_L.dirichlet_coefficient[n]*chi_1[n%q_1]; break; case 2: Complex_twisted_coeffs[n]= Double_L.dirichlet_coefficient[n]*chi_1[n%q_1]; break; case 3: Complex_twisted_coeffs[n]= Complex_L.dirichlet_coefficient[n]*chi_1[n%q_1]; break; } } if (my_verbose>1) cout << "calling L_function for twist with " << tmp_N_terms << " coefficients" << endl; Complex_L2= L_function(tmp_name,tmp_what_type,tmp_N_terms,Complex_twisted_coeffs,tmp_period,tmp_Q,tmp_OMEGA,tmp_a,tmp_g,tmp_l,0,tmp_cmplx,tmp_cmplx); delete [] Complex_twisted_coeffs; } //s=x+I*y; //os2 << setprecision(11); os2.seekp(0); //os2 << q << " " << Complex_L2.dirichlet_series(s,100000)<< ends; os2 << q << " " <.1)||twist_type>=0) ) { if(count==0) Complex_L2.find_zeros(x,y,step_size,"cout",message_stamp); if(current_L_type==3||max_imag_chi>.1) Complex_L2.find_zeros_via_N(count,true,step_size,-1,test_explicit_formula,"cout",message_stamp); //comeplexL zero finder looks for zeros from the origin upwards //else Complex_L2.find_zeros_via_gram(x,count,step_size,"cout",message_stamp); else Complex_L2.find_zeros_via_N(count,false,step_size,-1,test_explicit_formula,"cout",message_stamp); //gram zero finder can start anywhere if(twist_type==-1){M=PHI;m[0]=loop2;m_prime=loop1;} } if((!strcmp(what_to_do,"values")||!strcmp(what_to_do,"values and ranks"))&& ((twist_type<0&&max_imag_chi>.1)||twist_type>=0) ) { s=x+I*y; u=Complex_L2.value(s,global_derivative,"pure"); //cout << setprecision(DIGITS3); //cout << message_stamp << " " << real(u) << endl; cout << message_stamp << " " << real(u) << " " << imag(u); if(!strcmp(what_to_do,"values and ranks")){ if(abs(u)>.000001) cout << " 0"; else cout << " " << Complex_L2.compute_rank(); } cout << endl; //else cout << d << " " << real(u) << endl; //else cout << d << " " << real(u) << " " << L_1_chi(d) <1) do{ dial++; m[dial]=(m[dial]+1)%phi[dial]; }while(m[dial]==0&&dial tmp_Double; DIGITS=tmp_Double::digits10-1; } if(!DIGITS2) DIGITS2=2; if(!DIGITS3) DIGITS3=DIGITS-DIGITS2; Pi= 3.14159265358979323846264338328L; log_2Pi= 1.837877066409345483560659472811L; //Pi= 3.1415926535897932384626433832795028841971693993751L; //log_2Pi= 1.8378770664093454835606594728112352797227949472756L; #endif I=Complex(0,1); tolerance=pow(.1,DIGITS); tolerance_sqrd=tolerance*tolerance; tolerance2=pow(.1,(DIGITS-DIGITS2+1)); tolerance3=pow(.1,(DIGITS3+1)); A=1./(16*Pi*Pi*23*DIGITS/10); incr=2*Pi*.5/(log(10.)*DIGITS); //.5 here is current v in Riemann sum method tweak=1; last_z=1; last_w=0; last_comp_inc_GAMMA=0; last_z_GAMMA=1; last_log_G=0; global_derivative=0; max_n=1; numeric_limits ll; my_LLONG_MAX = ll.max(); //used once, but in the elliptic curve module Lcommandline_ellipitic.cc //pari defines max #define max(a,b) ((a)>(b)?(a):(b)) and this causes problems with ll.max //so I put it here as a global. //also look at: http://www.google.com/answers/threadview?id=334912 //Re: g++ problems with strtoll (LLONG_MIN, LLONG_MAX, ULLONG_MAX not defined) //for an explanation of why we just don't call LLONG_MAX (compiler inconsistencies). int j,k; Double r,x,dsum; number_logs=n; if(LG) delete[] LG; LG = new Double[n+1]; for(k=1;k<=n;k++) LG[k]=log((Double)k); number_sqrts=n; if(two_inverse_SQUARE_ROOT) delete[] two_inverse_SQUARE_ROOT; two_inverse_SQUARE_ROOT = new Double[n+1]; for(k=1;k<=n;k++) two_inverse_SQUARE_ROOT[k]=2/sqrt((Double)k); if(bernoulli) delete[] bernoulli; bernoulli= new Double[DIGITS+1]; bernoulli[0]=1; for(k=1;k<=DIGITS;k++){ r=k+1; x=0; for(j=1;j<=k;j++){ r=r*(k+1-j)*1./(j+1); x=x-bernoulli[k-j]*r; } bernoulli[k]=x/(k+1); } //XXXXX this should depend on DIGITS temme_a[1]=1; temme_a[2]=(Double) 3; temme_a[2]=1/temme_a[2]; //doing temme_a[2]=1./3 causes problems with long doubles or multiprecision. 1.L/3 //could cause trouble for multiprecision. temme_a[3]=(Double)36; temme_a[3]=1/temme_a[3]; for (int i=4;i<=1001;i++) { dsum=0; for (int j=2;j<=(i-1);j++) dsum+=j*temme_a[j]*temme_a[i-j+1]; temme_a[i]=(temme_a[i-1]-dsum)/((Double) (i+1)); } for(int i=1;i<=500;i++) temme_g[i]=(1-2*(i%2))* dfac(2*i+1)*temme_a[2*i+1]; temme_g[0]=1; extend_prime_table(100); } void delete_globals(){ if(LG) delete [] LG; if(two_inverse_SQUARE_ROOT) delete [] two_inverse_SQUARE_ROOT; if(bernoulli) delete [] bernoulli; if (prime_table) delete [] prime_table; } void extend_LG_table(int m){ int n; Double *tmp_LG; //used to copy over the old values tmp_LG = new Double[number_logs+1]; for(n=1;n<=number_logs;n++) tmp_LG[n]=LG[n]; delete [] LG; int new_number_logs=(int)(1.5*m); // extend table by 50 percent LG = new Double[new_number_logs+1]; for(n=1;n<=number_logs;n++) LG[n]=tmp_LG[n]; for(n=number_logs+1;n<=new_number_logs;n++) LG[n]=log((Double)n); number_logs=new_number_logs; if(my_verbose>0) cout << endl << "extended log table to: " << number_logs << endl; delete [] tmp_LG; } void extend_sqrt_table(int m){ int n; Double *tmp_sqrt; //used to copy over the old values tmp_sqrt = new Double[number_sqrts+1]; for(n=1;n<=number_sqrts;n++) tmp_sqrt[n]=two_inverse_SQUARE_ROOT[n]; delete [] two_inverse_SQUARE_ROOT; int new_number_sqrts=(int)(1.5*m); // extend table by 50 percent two_inverse_SQUARE_ROOT = new Double[new_number_sqrts+1]; for(n=1;n<=number_sqrts;n++) two_inverse_SQUARE_ROOT[n]=tmp_sqrt[n]; for(n=number_sqrts+1;n<=new_number_sqrts;n++) two_inverse_SQUARE_ROOT[n]=2/sqrt((Double)n); number_sqrts=new_number_sqrts; if(my_verbose>0) cout << endl << "extended sqrt table to: " << number_sqrts << endl; delete [] tmp_sqrt; } // a lot of Q time is spend here. This can be precomputed XXXXX Double dfac(int i) { Double t=1; int n=i; if(i==1 || i==0) return 1; while(n>0) { t=t*n; n-=2; } //return (Double)(double)t; return t; } void extend_prime_table(int x) { int *sieve; int sqrtx; int n, p; int number_primes_guess; sieve = new int[x+1]; if (prime_table) delete [] prime_table; number_primes = 0; // Use explicit prime number theorem to allocate enough memory for primes number_primes_guess = max((int)ceil(x/(log(x)-4))+1, 100); prime_table = new int[number_primes_guess]; if (my_verbose > 0) { cout << "extending prime table to: " << x << "; "; cout << "guessed " << number_primes_guess << " primes; "; } for (n=0;n<=x;n++) sieve[n] = 1; p = 2; sqrtx = (int) sqrt(x); while (p <= sqrtx) { n = 2*p; while (n <= x) { sieve[n] = 0; n = n + p; } do p++; while (sieve[p] == 0); } for (n=2;n<=x;n++) { if (sieve[n] == 1) { prime_table[number_primes] = n; number_primes++; } } delete [] sieve; if (my_verbose > 0) cout << "found " << number_primes << " primes." << endl; return; } int get_prime(int j) { while (j >= number_primes) { extend_prime_table(prime_table[number_primes-1]*2); } return prime_table[j]; } lcalc-1.23+dfsg.orig/src/Lcommandline_misc.cc0000644000175000017500000001060611064076122017564 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA._ */ #include "Lcommandline_misc.h" //returns 0 if initialization goes smoothly, 1 if there's an error void initialize_new_L(char *file_name) { int i,j; Double x,y; fstream file; // basic data for the L-function (see the class L_function for full comments) int N_terms; int what_type; Long Period; Double q; Complex w; int A; Double *g; Complex *l; int n_poles; Complex *p; Complex *r; int missing_data=0; // XXXX specifies if any of the basic data is missing // NOT YET IMPLEMENTED... so far I assume // that all data has been specified. file.open(file_name, ios::in); if(!file.is_open()) { cout << endl << "FAILED TO FIND THE FILE: " << file_name<> current_L_type; //1 for int, 2 for Double, 3 for Complex file >> what_type; //0 for unknown 1 for periodic, etc file >> N_terms; //number of dirichlet coefficients to use file >> Period; if(Period0) N_terms=Period; //Period should be 0 if not periodic file >> A; //quasi degree g=new Double[A+1]; //gamma's of the GAMMA factors l=new Complex[A+1]; //lambda's of the GAMMA factors for(i=1;i<=A;i++){ file >>x; g[i]=x; file >>x; file >>y; l[i]=Complex(x,y); } file >> q; // example: Q=1/sqrt(Pi) for Zeta file >> x; file >> y; w=Complex(x,y); file >> n_poles; p = new Complex[n_poles+1]; r = new Complex[n_poles+1]; for (i=1;i<=n_poles;i++) { file >>x; file >>y; p[i]=Complex(x,y); file >>x; file >>y; r[i]=Complex(x,y); } int *coeff_int; Double *coeff_Double; Complex *coeff_Complex; //XXXXXXXXXXXXXX make more efficient... so as to assume a_n0's don't necessarily appear //in the file switch(current_L_type) { case 1: //i.e. integer coeffs coeff_int = new int[N_terms+1]; for(i=1;i<=N_terms;i++) { file >> j; coeff_int[i]=j; } break; case 2: //i.e. real coeffs coeff_Double = new Double[N_terms+1]; for(i=1;i<=N_terms;i++) { file >> x; coeff_Double[i]=x; } break; case 3: //i.e. complex coeffs coeff_Complex = new Complex[N_terms+1]; for(i=1;i<=N_terms;i++) { file >> x; file >> y; coeff_Complex[i]=Complex(x,y); } break; } file.close(); switch(current_L_type) { case 1: int_L=L_function(file_name,what_type,N_terms,coeff_int,Period,q,w,A,g,l,n_poles,p,r); delete [] coeff_int; break; case 2: Double_L=L_function(file_name,what_type,N_terms,coeff_Double,Period,q,w,A,g,l,n_poles,p,r); delete [] coeff_Double; break; case 3: Complex_L=L_function(file_name,what_type,N_terms,coeff_Complex,Period,q,w,A,g,l,n_poles,p,r); delete [] coeff_Complex; break; } delete [] g; delete [] l; delete [] p; delete [] r; } void print_L(int N_terms){ switch(current_L_type) { case 1: int_L.print_data_L(N_terms); break; case 2: Double_L.print_data_L(N_terms); break; case 3: Complex_L.print_data_L(N_terms); break; } } lcalc-1.23+dfsg.orig/src/.Lcommandline.ggo.swp0000600000175000017500000004000011064104164017603 0ustar tobitobib0VIM 6.2UˆÐHúiè michaelrubinsteinniknik.local~michaelrubinstein/math/L/L/src/Lcommandline.ggo0123 !"#Uptÿ' (da%Õ'ðÏŽ– ª ' § E â y = ý [ £ 6Ê^ò†µ1Ž(¤S÷œKü“<§KÕ×option "finish" f "Used with various twisting options. Default has finish=start" string typestr="integer" nooption "start" s "Used with various twisting options" string typestr="integer" nooption "twist-quadratic" q "twist by fundamental quadratic characters, start <= discriminant <= finish. Use with start and finish options." flag offoption "tau" t "Ramanujan tau L-function (weight 12, full level)" flag offoption "rank-limit" l "when doing quadratic twists limit to L-functions with specified rank" int nooption "rank-verify" - "verify if specified rank is correct" int nooption "rank-compute" r "compute the rank" flag offoption "sacrifice" S "number digits to sacrifice" int default="2" nooption "precision" P "number digits precision" int default="14" nooption "verbose" - "verbosity > 0 outputs extra info" int default="0" nooption "output-data" o "output basic data for the underlying L-function" int typestr="number Dirichlet coeffs" default="10" nooption "output-character" C "if twisting, output the character" values="1","2" default="1" nooption "interpolate" i "interpolate between two L-functions and find their zeros. Should be used in conjunction with file-input" string typestr="filename2" nooption "url" u "input a web based file with basic L-function data. Specify the url of the file" string typestr="url" nooption "file-input" F "input a file with basic L-function data" string typestr="filename" nooption "a6" - "Used with the elliptic-curve option" string typestr="rational_number" nooption "a4" - "Used with the elliptic-curve option" string typestr="rational_number" nooption "a3" - "Used with the elliptic-curve option" string typestr="rational_number" nooption "a2" - "Used with the elliptic-curve option" string typestr="rational_number" nooption "a1" - "Used with the elliptic-curve option" string typestr="rational_number" nooption "elliptic-curve" e "specify an elliptic curve over Q. Use with the a1 a2 a3 a4 a6 options" flag offoption "derivative" d "compute derivative. use -d -1 to specify logarithmic derivative." int nooption "stepsize" - "Used with zeros-interval" string typestr="Double" nooption "zeros-interval" Z "number of zeros to find in an interval (1/2+ix,1/2+iy) using steps of size stepsize. Use with the x,y, and stepsize options" flag offoption "explicit" - "test the explicit formula" flag offoption "zeros" z "number of zeros to find" int nooption "number-samples" n "Used with value-line-segment, and interpolate options" int default="1000" nooption "Y" Y "Used with value-line-segment" string typestr="Double" default="100" nooption "X" X "Used with value-line-segment" string typestr="Double" default=".5" nooption "hardy" - "compute the Hardy Z function, i.e. the L-function rotated to be real on the critical line" flag offoption "value-line-segment" - "compute L-function along a line segment connecting (x,y) to (X,Y) at number-sample points" flag offoption "value-file" - "compute L-function at points specified in file" string typestr="filename" nooption "y" y "Used with value,value-line-segment, and zeros-interval options" string typestr="Double" default="0" nooption "x" x "Used with value,value-line-segment, and zeros-interval options" string typestr="Double" default=".5" nooption "value" v "compute L-function at x+iy. Should be used in conjuction with x and y options" flag offpurpose "This program computes zeros and values of L-function."version "1.2 September 17, 2008"package "lcalc"da ˆ Ä u›0 P Z á 7 Æ Å Ä Ãoption "openmp" O "whether to use openmp parallelization. Specify the number of threads to use." int nooption "degree" D "can only be used in conjuction with twist-primitive (?). Select characters of specified degree. Not yet implemented" int typestr="degree" nooption "twist-generic" g "twist by a generic complex Dirichlet characters with start <= conductor <= finish." flag offoption "twist-complex-no-conj-pairs" c "twist by all complex primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent" flag offoption "twist-all-no-conj-pairs" a "twist by all Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent" flag offoption "twist-all" A "twist by all Dirichlet characters with start <= conductor <= finish." flag offoption "twist-primitive" p "twist by all primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate characters are considered equaivalent" flag offoption "twist-quadratic-even" - "twist by fundamental quadratic characters, even functional eqn, start <= discriminant <= finish" flag offlcalc-1.23+dfsg.orig/src/Makefile.old0000644000175000017500000002730311151171103016047 0ustar tobitobi# # Makefile for the L-function calculator version 0.2 # #todo: set up a configuration file that will detect #the operating system, whether gmp, or pari are installed and #the location of all the relevant files, #the c compiler, that will generate options which are specific to the #compilers, optimization options depending on the chip, etc # Comment out the following line to remove the use of pari's # elliptic curve routines. Doing so disables the -e option. # g++ with -DINCLUDE_PARI sends a #define INCLUDE_PARI to the preprocessor. #PARI_DEFINE = -DINCLUDE_PARI #PREPROCESSOR_DEFINE = -DUSE_LONG_DOUBLE #OPENMP_FLAG = -fopenmp #PREPROCESSOR_DEFINE = -DUSE_MPFR ifeq ($(PREPROCESSOR_DEFINE),-DUSE_MPFR) #GMP_FLAGS= -L/usr/local/lib -lmpfrcpp -lgmp -lmpfr GMP_FLAGS= gmpfrxx.o mpfr_mul_d.o -lmpfr -lgmp -lgmpxx -lm else GMP_FLAGS= endif OS_NAME := $(shell uname) CC = g++ #cc = /home/mrubinst/local/bin/gcc #CC = /home/mrubinst/local/bin/g++ #LD = /home/mrubinst/local/bin/g++ #CC = /Users/michaelrubinstein/math/L/packages/gcc4.3/usr/local/bin/g++ #EXTRA= -pg #EXTRA = -ftree-vectorize -ftree-vectorizer-verbose=5 -funroll-loops #MACHINE_SPECIFIC_FLAGS = -Wno-long-double MACHINE_SPECIFIC_FLAGS = -ffast-math #G4 = FALSE #ifeq ($(G4),TRUE) #MACHINE_SPECIFIC_FLAGS = -fast -mcpu=G4 -mtune=G4 #endif #G5 = TRUE ifeq ($(G5),TRUE) #MACHINE_SPECIFIC_FLAGS = -fast -mcpu=G5 -mtune=G5 #MACHINE_SPECIFIC_FLAGS = -ffast-math -maltivec -mpowerpc -mpowerpc64 -ftree-vectorize -ftree-vectorizer-verbose=5 -funroll-loops #MACHINE_SPECIFIC_FLAGS = -ffast-math -mpowerpc -mpowerpc64 -ftree-vectorize -ftree-vectorizer-verbose=5 -funroll-loops MACHINE_SPECIFIC_FLAGS = -ffast-math -mpowerpc -mpowerpc64 -m64 #MACHINE_SPECIFIC_FLAGS = -mpowerpc -mpowerpc64 -m64 endif CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA) #CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA) #CCFLAGS = -Wa,-W -O2 -fno-exceptions -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA) #warning- O2 doesn't help with -DUSE_LONG_DOUBLE on mac, and actually seems to hurt, making runtime longer #by a factor of 1.5 ifeq ($(PARI_DEFINE),-DINCLUDE_PARI) #location of pari.h. LOCATION_PARI_H = /usr/local/include/pari #usual location #location of libpari.a or of libpari.so #depending on whether static or dynamic libraries are being used. #On mac os x it's the former, on linux I think usually the latter. LOCATION_PARI_LIBRARY = /usr/local/lib #usual location else #supplied as a dummy so as to avoid more ifeq's below LOCATION_PARI_H = . LOCATION_PARI_LIBRARY = . endif #INCLUDEFILES= -I../include -I../../packages/gcc4.3/usr/local/include INCLUDEFILES= -I../include #For Mac os x we omit shared library options ifeq ($(OS_NAME),Darwin) LDFLAGS2 = else LDFLAGS1 = -Xlinker -export-dynamic #not sure why pari calls these when linking but on the web I found #'Libtool provides the `-export-dynamic' link flag (see section Link mode), which does this declaration. #You need to use this flag if you are linking a shared library that will be dlopened' #see notes below #ifeq ($(PARI_DEFINE),-DINCLUDE_PARI) LDFLAGS2 = $(LDFLAGS1) -Xlinker -rpath -Xlinker $(LOCATION_PARI_LIBRARY) #else # LDFLAGS2 = $(LDFLAGS1) #endif endif ifeq ($(PARI_DEFINE),-DINCLUDE_PARI) LDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari else LDFLAGS = $(LDFLAGS2) endif #NOTES: #for caedmon: the shared pari library is in a funny location: /usr/local/pari/pari-2.1.5/lib #At compile time we need to specify that location with: # -L/usr/local/pari/pari-2.1.5/lib -lpari #At runtime, the computer attempts to load the pari shared library, and if it isn't in a standard #location, we can do two things. #1) One page suggested: # -Xlinker -rpath -Xlinker /usr/local/pari/pari-2.1.5/lib #2) The other option, not recommended, is to type at the unix prompt: # LD_LIBRARY_PATH=/usr/local/pari/pari-2.1.5/lib:$LD_LIBRARY_PATH # export LD_LIBRARY_PATH #If this is not done correctly, at runntime one gets the error # ./lcalc: error while loading shared libraries: libpari.so.1: cannot open shared # object file: No such file or directory #One can list, after compiling, dynamic dependencies with the command: ldd lcalc and it will #become clear which libraries the computer can find. INSTALL_DIR= /usr/local #object files for the libLfunction library OBJ_L = Lglobals.o Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o #object files for the command line program OBJ2=$(OBJ_L) Lcommandline_globals.o Lcommandline_misc.o Lcommandline_numbertheory.o Lcommandline_values_zeros.o OBJ3=$(OBJ2) Lcommandline_elliptic.o Lcommandline_twist.o Lcommandline.o cmdline.o OBJECTS = $(OBJ3) all: # make print_vars make libLfunction.a make lcalc make examples # make find_L # make test print_vars: @echo OS_NAME = $(OS_NAME) lcalc: $(OBJECTS) $(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(LDFLAGS) -o lcalc $(GMP_FLAGS) examples: $(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/example.cc libLfunction.a -o example_programs/example $(GMP_FLAGS) proc: $(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/proc.cc libLfunction.a -o example_programs/proc $(GMP_FLAGS) test: $(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/test.cc libLfunction.a -o example_programs/test $(GMP_FLAGS) find_L: $(CC) $(CCFLAGS) $(INCLUDEFILES) find_L_functions/find_L_functions.cc libLfunction.a -o find_L_functions/find_L $(GMP_FLAGS) .cc.o: $(CC) $(CCFLAGS) $(INCLUDEFILES) -c $< .c.o: $(CC) $(CCFLAGS) $(INCLUDEFILES) -c $< Lglobals.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h #Lmisc.o: ../include/Lmisc.h ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h Lgamma.o: ../include/Lgamma.h ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h Lriemannsiegel.o: ../include/Lriemannsiegel.h ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h Lriemannsiegel.o: ../include/Lint_complex.h ../include/Lgamma.h Lriemannsiegel.o: ../include/Lmisc.h Ldokchitser.o: ../include/Ldokchitser.h ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h #all I need here is dependence on the definition of the L-function class #and the Complex typedef Lcommandline_globals.o: ../include/Lcommandline_globals.h ../include/L.h Lcommandline_globals.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h #Lcommandline_globals.o: ../include/Lmisc.h ../include/Lgamma.h #Lcommandline_globals.o: ../include/Lriemannsiegel.h #Lcommandline_globals.o: ../include/Ldirichlet_series.h ../include/Lprint.h #Lcommandline_globals.o: ../include/Lnumberzeros.h ../include/Lgram.h #Lcommandline_globals.o: ../include/Lvalue.h ../include/Lfind_zeros.h Lcommandline_misc.o: ../include/Lcommandline_misc.h ../include/L.h Lcommandline_misc.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h Lcommandline_misc.o: ../include/Lmisc.h ../include/Lgamma.h Lcommandline_misc.o: ../include/Lriemannsiegel.h Lcommandline_misc.o: ../include/Ldirichlet_series.h ../include/Lprint.h Lcommandline_misc.o: ../include/Lnumberzeros.h ../include/Lgram.h Lcommandline_misc.o: ../include/Lvalue.h ../include/Lfind_zeros.h Lcommandline_misc.o: ../include/Lcommandline_numbertheory.h Lcommandline_misc.o: ../include/Lcommandline_globals.h Lcommandline_numbertheory.o: ../include/Lcommandline_numbertheory.h Lcommandline_numbertheory.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h Lcommandline_values_zeros.o: ../include/Lcommandline_values_zeros.h Lcommandline_values_zeros.o: ../include/L.h ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h Lcommandline_values_zeros.o: ../include/Lint_complex.h ../include/Lmisc.h Lcommandline_values_zeros.o: ../include/Lgamma.h ../include/Lriemannsiegel.h Lcommandline_values_zeros.o: ../include/Ldirichlet_series.h Lcommandline_values_zeros.o: ../include/Lprint.h ../include/Lnumberzeros.h Lcommandline_values_zeros.o: ../include/Lgram.h ../include/Lvalue.h Lcommandline_values_zeros.o: ../include/Lfind_zeros.h Lcommandline_values_zeros.o: ../include/Lcommandline_numbertheory.h Lcommandline_values_zeros.o: ../include/Lcommandline_globals.h Lcommandline_elliptic.o: ../include/Lcommandline_elliptic.h ../include/L.h Lcommandline_elliptic.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h #Lcommandline_elliptic.o: ../include/Lmisc.h ../include/Lgamma.h Lcommandline_elliptic.o: ../include/Lriemannsiegel.h Lcommandline_elliptic.o: ../include/Ldirichlet_series.h ../include/Lprint.h Lcommandline_elliptic.o: ../include/Lnumberzeros.h ../include/Lgram.h Lcommandline_elliptic.o: ../include/Lvalue.h ../include/Lfind_zeros.h Lcommandline_elliptic.o: ../include/Lcommandline_numbertheory.h Lcommandline_elliptic.o: ../include/Lcommandline_globals.h $(CC) $(CCFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline_elliptic.cc Lcommandline_twist.o: ../include/Lcommandline_twist.h ../include/L.h Lcommandline_twist.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h #Lcommandline_twist.o: ../include/Lmisc.h ../include/Lgamma.h Lcommandline_twist.o: ../include/Lriemannsiegel.h Lcommandline_twist.o: ../include/Ldirichlet_series.h ../include/Lprint.h Lcommandline_twist.o: ../include/Lnumberzeros.h ../include/Lgram.h Lcommandline_twist.o: ../include/Lvalue.h ../include/Lfind_zeros.h Lcommandline_twist.o: ../include/Lcommandline_numbertheory.h Lcommandline_twist.o: ../include/Lcommandline_globals.h Lcommandline_twist.o: ../include/Lcommandline_elliptic.h $(CC) $(CCFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline_twist.cc cmdline.o: ../include/cmdline.h ../include/getopt.h #$(CC) $(CCFLAGS) $(INCLUDEFILES) -DHAVE_LONG_LONG -c cmdline.c Lcommandline.o: ../include/Lcommandline.h ../include/L.h Lcommandline.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h Lcommandline.o: ../include/Lmisc.h ../include/Lgamma.h Lcommandline.o: ../include/Lriemannsiegel.h ../include/Ldirichlet_series.h Lcommandline.o: ../include/Lprint.h ../include/Lnumberzeros.h Lcommandline.o: ../include/Lgram.h ../include/Lvalue.h Lcommandline.o: ../include/Lfind_zeros.h Lcommandline.o: ../include/Lcommandline_numbertheory.h Lcommandline.o: ../include/Lcommandline_globals.h Lcommandline.o: ../include/Lcommandline_misc.h Lcommandline.o: ../include/Lcommandline_elliptic.h Lcommandline.o: ../include/Lcommandline_twist.h Lcommandline.o: ../include/Lcommandline_values_zeros.h $(CC) $(CCFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline.cc libLfunction.a: $(OBJ_L) ar ruv libLfunction.a $(OBJ_L) ranlib libLfunction.a clean: rm -f *.o lcalc libLfunction.a example_programs/example install: cp -f lcalc $(INSTALL_DIR)/bin/. cp -f libLfunction.a $(INSTALL_DIR)/lib/. ranlib $(INSTALL_DIR)/lib/libLfunction.a cp -rf ../include $(INSTALL_DIR)/include/Lfunction SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c depend: makedepend -f depends -- $(CCFLAGS) -Y../include -- $(SRCS) lcalc-1.23+dfsg.orig/src/example_programs/0000755000175000017500000000000011232023150017170 5ustar tobitobilcalc-1.23+dfsg.orig/src/example_programs/example.cc0000600000175000017500000001374411146701203021141 0ustar tobitobi//#include #include "L.h" //a simple program illustrating a few features of the L_function class. int main (int argc, char *argv[]) { initialize_globals(); //initialize global variables. This *must* be called. Double x,y; Complex s; L_function zeta; //default L-function is the Riemann zeta function L_function L4; //will be assigned below to be L(s,chi_{-4}), //chi{-4} being the real quadratic character mod 4 L_function L5; //will be assigned below to be L(s,chi), //with chi being a complex character mod 5 //==================== Initialize the L-functions ================================== //one drawback of arrays- the index starts at 0 rather than 1 //so each array below is declared to be one entry larger than it is. //I prefer this so that referring to the array elements is more //straightforward, for example coeff[1] refers //to the first Dirichlet cefficient rather than coeff[0]. But to make up //for this, one needs to have a bogus entry (such as 0) at the start of each array. int coeff_L4[5] = {0,1,0,-1,0}; //the Dirichlet coefficients, periodic of period 4. Double gamma_L4[2] = {0,.5}; //the gamma factor Gamma(gamma s + lambda) is Gamma(s/2+1/2) Complex lambda_L4[2] = {0,.5}; //the lambda Complex pole_L4[1] = {0}; //no pole Complex residue_L4[1] = {0}; //no residue L4=L_function("L4",1,4,coeff_L4,4,sqrt(4/Pi),1,1,gamma_L4,lambda_L4,0,pole_L4,residue_L4); // "L4" is the name of the L-function // 1 - what_type, 1 stands for periodic Dirichlet coefficients // 4 - N_terms, number of Dirichlet coefficients given // coeff_L4 - array of Dirichlet coefficients // 4 - period (0 if coeffs are not periodic) // sqrt(4/Pi) - the Q^s that appears in the functional equation // 1 - sign of the functional equation // 1 - number of gamma factors of the form Gamma(gamma s + lambda), gamma = .5 or 1 // gamma_L4 - array of gamma's (each gamma is .5 or 1) // lambda_L4 - array of lambda's (given as complex numbers) // 0 - number of poles. Typically there won't be any poles. // pole_L4 - array of poles, in this case none // residue_L4 - array of residues, in this case none // Note: one can call the constructor without the last three arguements when number of poles = 0 // as in: L4 = L_function("L4",1,4,coeff_L4,4,sqrt(4/Pi),1,1,gamma_L4,lambda_L4); Complex coeff_L5[6] = {0,1,I,-I,-1,0}; Complex gauss_sum=0; for(int n=1;n<=4; n++) gauss_sum=gauss_sum+coeff_L5[n]*exp(n*2*I*Pi/5); L5=L_function("L5",1,5,coeff_L5,5,sqrt(5/Pi),gauss_sum/(I*sqrt(5.)),1,gamma_L4,lambda_L4); // "L5" is the name of the L-function // 1 - what_type, 1 stands for periodic Dirichlet coefficients // 5 - N_terms, number of Dirichlet coefficients given // coeff_L5 - array of Dirichlet coefficients // 5 - period (0 if coeffs are not periodic) // sqrt(5/Pi), the Q^s that appears in the functional equation // gauss_sum/sqrt(5) - omega of the functional equation // 1 - number of gamma factors of the form Gamma(gamma s + lambda), gamma = .5 or 1 // gamma_L4 - L5 has same gamma factor as L4 // lambda_L4 - ditto //=========== print basic data for the L-function ======================================== zeta.print_data_L(); L4.print_data_L(); L5.print_data_L(); //=========== print some L-values ======================================== x= .5; y =0; cout << "zeta" << x+I*y << " = " << zeta.value(x+I*y) << endl; cout << "L4" << x+I*y << " = " << L4.value(x+I*y) << endl; cout << "L5" << x+I*y << " = " << L5.value(x+I*y) << endl; x= 1; y =0; cout << "L4" << x+I*y << " = " << L4.value(x+I*y) << endl; cout << "L5" << x+I*y << " = " << L5.value(x+I*y) << endl; //=========== find and print some zeros ======================================== /* //find zeros of zeta up to height 100 taking steps of size .1, looking for sign //changes on the critical line. Some zeros can be missed in this fashion. //First column gives the imaginary part of the zeros. //Second column outputted is related to S(T) and should be small on average //(larger values means zeros were missed). zeta.find_zeros(0,100,.1); //find the first 100 zeros of zeta. This also verifies RH and does not omit zeros. zeta.find_zeros_via_N(100,false); //false, here, means do *not* look for zeros below the //real axis as they come in conjugate pairs //do same for L4 and L5 L4.find_zeros(0,100,.1); L4.find_zeros_via_N(100,false); L5.find_zeros(0,100,.1); L5.find_zeros_via_N(100,true); //true here means look above and below the real axis //------------User input---------------------- Double t=pow(10.,10); Double input_mean_spacing_given=.01; Double error_tol=1E-9; //-------------------------------------------- */ //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX // experiment with cout<< (Double) 1 etc Double shit=3; cout << shit/7 << endl; cout << .5*3 << endl; cout << .5/3 << endl; cout << (Double) 2/3 << endl; cout << (Double) 4/7 << endl; cout << 4/7 << endl; cout << 4./7 << endl; cout << 4.L/7 << endl; cout << 4L/7 << endl; cout << (Double) 8/9 << endl; cout << cos( (Double) 1/2*Pi) << endl; cout << cos( (Double) 3/4*Pi) << endl; /* int success; Complex res; for(int v=0;v<20000;v++){ res=rs(t,error_tol,input_mean_spacing_given,success); if(!success) return 0; cout< int_L,int_L2,int_L3; L_function Double_L,Double_L2,Double_L3; L_function Complex_L,Complex_L2,Complex_L3; // below is needed since default initialization (i.e. default constructor) // includes things like Pi. Pi is computed // in Lgobals.cc: Linitialize_globals() according to required precision. // So we need to reintialize after first calling Linitialize_globals // in Lcommandline.cc void initialize_commandline_globals(){ L_function tmp_int_L,tmp_int_L2; L_function tmp_Double_L,tmp_Double_L2; L_function tmp_Complex_L,tmp_Complex_L2; int_L = tmp_int_L; int_L2 = tmp_int_L2; Double_L = tmp_Double_L; Double_L2 = tmp_Double_L2; Complex_L = tmp_Complex_L; Complex_L2 = tmp_Complex_L2; } lcalc-1.23+dfsg.orig/src/.DS_Store0000644000175000017500000003600410655551550015333 0ustar tobitobiBud1   0ine.cIl  @€ @€ @€ @0 cmdline.cIlocblobZNÿÿÿÿÿÿ cmdline.cinfoblob0¿¦ø²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ cmdline.oIlocblobNÿÿÿÿÿÿexample_data_filesIlocblobÂNÿÿÿÿÿÿexample_data_filesinfoblob0¿¢’’ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿexample_programsIlocblobvNÿÿÿÿÿÿexample_programsinfoblob0ÁO+ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ L_cmd.ggoIlocblobZÿÿÿÿÿÿ L_cmd.ggoinfoblob0¿¦øÄÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ L_cmd.NOTESIlocblobÿÿÿÿÿÿ L_cmd.NOTESinfoblob0¿£ŠÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿlcalcIlocblobÂÿÿÿÿÿÿlcalcinfoblob0Á£;ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline.ccIlocblobvÿÿÿÿÿÿLcommandline.ccinfoblob0¿³áÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline.oIlocblobZºÿÿÿÿÿÿLcommandline_elliptic.ccIlocblobºÿÿÿÿÿÿLcommandline_elliptic.ccinfoblob0Á©óÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_elliptic.oIlocblobºÿÿÿÿÿÿLcommandline_globals.ccIlocblobvºÿÿÿÿÿÿLcommandline_globals.ccinfoblob0¿¦·ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_globals.oIlocblobZpÿÿÿÿÿÿLcommandline_misc.ccIlocblobpÿÿÿÿÿÿLcommandline_misc.ccinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_misc.oIlocblobÂpÿÿÿÿÿÿLcommandline_numbertheory.ccIlocblobvpÿÿÿÿÿÿLcommandline_numbertheory.ccinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_numbertheory.oIlocblobZ&ÿÿÿÿÿÿLcommandline_twist.ccIlocblob&ÿÿÿÿÿÿLcommandline_twist.ccinfoblob0ÀÒ×tÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_twist.oIlocblobÂ&ÿÿÿÿÿÿLcommandline_values_zeros.ccIlocblobv&ÿÿÿÿÿÿLcommandline_values_zeros.ccinfoblob0¿¦»XÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_values_zeros.oIlocblobZÜÿÿÿÿÿÿ Lgamma.ccIlocblobÜÿÿÿÿÿÿ Lgamma.ccinfoblob0ÁOúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLgamma.oIlocblobÂÜÿÿÿÿÿÿ Lglobals.ccIlocblobvÜÿÿÿÿÿÿ Lglobals.ccinfoblob0Á Ðyÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lglobals.oIlocblobZ’ÿÿÿÿÿÿlibLfunction.aIlocblob’ÿÿÿÿÿÿLmisc.ccIlocblobÂ’ÿÿÿÿÿÿLmisc.ccinfoblob0¿¨xBÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLriemannsiegel.ccIlocblobv’ÿÿÿÿÿÿLriemannsiegel.ccinfoblob0ÁOŠÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLriemannsiegel.oIlocblobZHÿÿÿÿÿÿMakefileIlocblobHÿÿÿÿÿÿMakefileinfoblob0Á¢žYÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ E DSDB `€(0@€ @€ @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_elliptic.oIlocblobºÿÿÿÿÿÿLcommandline_globals.ccIlocblobvºÿÿÿÿÿÿLcommandline_globals.ccinfoblob0¿¦·ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_globals.oIlocblobZpÿÿÿÿÿÿLcommandline_misc.ccIlocblobpÿÿÿÿÿÿLcommandline_misc.ccinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_misc.oIlocblobÂpÿÿÿÿÿÿLcommandline_numbertheory.ccIlocblobvpÿÿÿÿÿÿLcommandline_numbertheory.clcalc-1.23+dfsg.orig/src/Lriemannsiegel.cc0000644000175000017500000002476511064261667017132 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "L.h" #include "Lriemannsiegel.h" //This implementation of Riemann Siegel for zeta(1/2+it) can be improved. //To do: Odlyzko Schonhage algorithm XXX // ZETA FUNCTION Complex Zeta(Complex s, const char *return_type) { Complex L_value; L_value= siegel(s); //this returns Zeta(s) if (!strcmp(return_type,"pure")) return L_value; //returns Zeta(s) rotated to be real on critical line else if (!strcmp(return_type,"rotated pure")) return L_value*exp(I*(imag(log_GAMMA(s/2)) - (imag(s)/2)*log(Pi))); return L_value; } // RIEMANN-SIEGEL ZETA EVALUATION Complex siegel(Complex s, int n) { Double theta, result = 0; Double errorTerms; Double tau,p, t; int N, i; //for the remainder terms Double c0,c1,c2,c3,c4,c5; Double z; Double *powers_z; powers_z=new Double[51]; tau = sqrt(abs(imag(s))/(2*Pi)); N = Int(floor(tau)); p = tau - N; t = imag(s); theta = imag(log_GAMMA(s/2)) - (imag(s)/2)*log(Pi); if (my_verbose>1) cout <<"Main sum is " << N << " terms long" << endl; cout <7000){ #pragma omp parallel for reduction(+: result) for (i = 1; i <=N; i++){ result += two_inverse_SQUARE_ROOT[i]*cos(t*LG[i]-theta); } } else{ for (i = 1; i <=N; i++){ result += two_inverse_SQUARE_ROOT[i]*cos(t*LG[i]-theta); } } z=p-.5; powers_z[0]=1; for(i=1;i<=50;i++) powers_z[i]=powers_z[i-1]*z; max_n=N; c0=C(0,powers_z); c1=C(1,powers_z)*pow(tau,-1); c2=C(2,powers_z)*pow(tau,-2); c3=C(3,powers_z)*pow(tau,-3); c4=C(4,powers_z)*pow(tau,-4); c5=C(5,powers_z)*pow(tau,-5); //errorTerms = C(0,p) + C(1,p)*pow(tau,-1) + C(2,p)*pow(tau,-2) + C(3,p)*pow(tau,-3) + C(4,p)*pow(tau,-4) +C(5,p)*pow(tau,-5); errorTerms = c0+c1+c2+c3+c4+c5; errorTerms =errorTerms*pow(tau,-.5)*pow(-1., N-1); result = result+errorTerms; delete [] powers_z; // this is Z. Now we multiply to get zeta return (result* exp(-1.*I*theta)); //return result; } Double C(int n,Double *powers_z){ if (n==0) return .3826834323650897717284599840304*powers_z[0] +1.74896187231008179744118586948533*powers_z[2] +2.11802520768549637318456427826417*powers_z[4] -.87072166705114807391892407738239*powers_z[6] -3.4733112243465167073064116693758*powers_z[8] -1.66269473089993244964313630119286*powers_z[10] +1.21673128891923213447689352804417*powers_z[12] +1.30143041610079757730060538099786*powers_z[14] +.03051102182736167242108987123981*powers_z[16] -.37558030515450952427981932122934*powers_z[18] -.10857844165640659743546975901329*powers_z[20] +.05183290299954962337576051067322*powers_z[22] +.02999948061990227592040084956912*powers_z[24] -.00227593967061256422601994851021*powers_z[26] -.00438264741658033830594007013585*powers_z[28] -.00040642301837298469930723272116*powers_z[30] +.00040060977854221139278910314608*powers_z[32] +8.97105799138884129783418195378689e-05*powers_z[34] -2.30256500272391071161029452573899e-05*powers_z[36] -9.38000660190679248471972940127474e-06*powers_z[38] +6.32351494760910750424986123959430e-07*powers_z[40] +6.55102281923150166621223123133411e-07*powers_z[42] +2.21052374555269725866086890381876e-08*powers_z[44] -3.32231617644562883503133517017624e-08*powers_z[46] -3.73491098993365608176460476015222e-09*powers_z[48] +1.24450670607977391951510000249366e-09*powers_z[50]; if (n==1) return -.05365020525675069405998280791133*powers_z[1] +.11027818741081482439896362071917*powers_z[3] +1.23172001543152263131956529162206*powers_z[5] +1.26349648627994578841755482191213*powers_z[7] -1.69510899755950301844944739906596*powers_z[9] -2.99987119676501008895548735894141*powers_z[11] -.10819944959899208642692257787438*powers_z[13] +1.94076629462127126879387632539716*powers_z[15] +.78384235615006865328843457488694*powers_z[17] -.50548296679003659187902141326173*powers_z[19] -.3845072349605797405134273885311*powers_z[21] +.03747264646531532067594447494023*powers_z[23] +.09092026610973176317258142450576*powers_z[25] +.01044923755006450921820113972659*powers_z[27] -.01258297965158341649747892224592*powers_z[29] -.00339950372115127408505894886137*powers_z[31] +.00104109505377148912682954240655*powers_z[33] +.00050109490511184868603556526727*powers_z[35] -3.95635966900318155954711855696337e-05*powers_z[37] -4.76245924535718963865409830268035e-05*powers_z[39] -1.85393553380851322734349064569117e-06*powers_z[41] +3.19369180800689720404663539343268e-06*powers_z[43] +4.09078076085060663265089453677018e-07*powers_z[45] -1.54466243325766321284375723273104e-07*powers_z[47] -3.46630749176913317222559405934073e-08*powers_z[49]; if (n==2) return .00518854283029316849378458151923*powers_z[0] +.00123786335522538984133826974438*powers_z[2] -.18137505725166997411491896409414*powers_z[4] +.14291492748532126541165603376514*powers_z[6] +1.33033917666875653250993329998546*powers_z[8] +.35224723534037336775327655505836*powers_z[10] -2.4210015958919507237815305433405*powers_z[12] -1.67607870225381088533346181492372*powers_z[14] +1.36894167233283721842349153807076*powers_z[16] +1.55390194302229832214563952655935*powers_z[18] -.17221642734729980519582586998918*powers_z[20] -.63590680550454309889704902355845*powers_z[22] -.09911649873041208105423564341370*powers_z[24] +.14033480067387008950738254898316*powers_z[26] +.04782352019827292236438803506512*powers_z[28] -.01735604064147978079795864709223*powers_z[30] -.01022501253402859184447660413126*powers_z[32] +.00092741491597948878994270014371*powers_z[34] +.00135721943723733853452533619958*powers_z[36] +6.41369012029388008996238736394533e-05*powers_z[38] -.00012300805698196629883342322937*powers_z[40] -1.83135074047892025547675543979621e-05*powers_z[42] +7.82162860432262730850139938461872e-06*powers_z[44] +2.00875424847599455034985293919157e-06*powers_z[46] -3.35327653931857137372749727241453e-07*powers_z[48] -1.46160209174182309264510097122760e-07*powers_z[50]; if (n==3) return -.00267943218143891380853967145989*powers_z[1] +.02995372109103514963731329491570*powers_z[3] -.04257017254182869798501935111688*powers_z[5] -.28997965779803887506893209478669*powers_z[7] +.48888319992354459725374746407169*powers_z[9] +1.23085587639574608119312504336294*powers_z[11] -.82975607085274087041796910432976*powers_z[13] -2.24976353666656686652045012659903*powers_z[15] +.07845139961005471379365473620184*powers_z[17] +1.74674928008688940039198666645219*powers_z[19] +.45968080979749935109237306173169*powers_z[21] -.66193534710397749464339040008983*powers_z[23] -.31590441036173634578979632973316*powers_z[25] +.12844792545207495988511847476209*powers_z[27] +.10073382716626152300969450207513*powers_z[29] -.00953018384882526775950465984230*powers_z[31] -.01926442168751408889840098069714*powers_z[33] -.00124646371587692917124790716458*powers_z[35] +.00242439696411030857397215245841*powers_z[37] +.00043764769774185701827561290396*powers_z[39] -.00020714032687001791275913078304*powers_z[41] -6.27434450418651556052610958029804e-05*powers_z[43] +1.15753438145956693483789208989316e-05*powers_z[45] +5.88385492454037978388597885697078e-06*powers_z[47] -3.12467740069633622086961449076033e-07*powers_z[49]; if (n==4) return .00046483389361763381853630462560*powers_z[0] -.00402264294613618830391153989145*powers_z[2] +.00384717705179612688359130685272*powers_z[4] +.06581175135809486002088309200741*powers_z[6] -.19604124343694449117695528448205*powers_z[8] -.20854053686358853244400012794494*powers_z[10] +.95077541851417509458477574151058*powers_z[12] +.53415353129148739760517592459894*powers_z[14] -1.67634944117634007959116448203404*powers_z[16] -1.07674715787512899278784663510432*powers_z[18] +1.23533930165659698528788361189251*powers_z[20] +1.02578253400572757718348949577914*powers_z[22] -.40124095793988544378728137523313*powers_z[24] -.50366639951083034479585257591604*powers_z[26] +.03573487795502744985807080163387*powers_z[28] +.14431763086785416624285239495844*powers_z[30] +.01509152741790346941712677290432*powers_z[32] -.02609887477919436131761773965448*powers_z[34] -.00612662837951926174904909908948*powers_z[36] +.00307750312987084118476787782167*powers_z[38] +.00115624789340887523161201204220*powers_z[40] -.00022775966758472127472807733953*powers_z[42] -.00014189637118181444432681579894*powers_z[44] +7.46486030795591945312240984450313e-06*powers_z[46] +1.24797016454091166174449988846871e-05*powers_z[48] +4.86394518400209461907998084746180e-07*powers_z[50]; if (n==5) return .00022686811845737363176557957245*powers_z[1] +.00110812468537183880897586725284*powers_z[3] -.01621857925555009106408484258686*powers_z[5] +.05276503405398741662724126665649*powers_z[7] +.02570880200903323999290010111095*powers_z[9] -.38058660440806397264435991848146*powers_z[11] +.22531987892642315322976926989838*powers_z[13] +1.03445733164952217211304499657389*powers_z[15] -.55282576970508137898888475296735*powers_z[17] -1.52877126410780729962736571714169*powers_z[19] +.32828366427719583672031669394059*powers_z[21] +1.22911021854008706238425001239677*powers_z[23] +.04093693938311529830689289790902*powers_z[25] -.55860404726420193442735876775644*powers_z[27] -.11241976368059115396788439789609*powers_z[29] +.15212677711795591829295940144809*powers_z[31] +.05173718845528038784023625510664*powers_z[33] -.02561227689700728294043343196050*powers_z[35] -.01296367251404617794428713962277*powers_z[37] +.00254555748186116327806192744188*powers_z[39] +.00211933195108777752885073213414*powers_z[41] -9.19139194515677754051761292342159e-05*powers_z[43] -.00024413466533855272657049552509*powers_z[45] -1.36979826922833871237722416376381e-05*powers_z[47] +2.06207850332842380642607669485206e-05*powers_z[49]; else return 0; } lcalc-1.23+dfsg.orig/src/Lcommandline.ggo0000644000175000017500000001255211227145231016741 0ustar tobitobipackage "lcalc" version "1.22 July 14, 2009" purpose "This program computes zeros and values of L-function." option "value" v "compute L-function at x+iy. Should be used in conjuction with x and y options" flag off option "x" x "Used with value,value-line-segment, and zeros-interval options" string typestr="Double" default=".5" no option "y" y "Used with value,value-line-segment, and zeros-interval options" string typestr="Double" default="0" no option "value-file" - "compute L-function at points specified in file" string typestr="filename" no option "value-line-segment" - "compute L-function along a line segment connecting (x,y) to (X,Y) at number-sample points" flag off option "use-dirichlet-series" - "compute values of the L-function using specified number of terms of the Dirichlet series rather than an approximate functional equation." int no option "hardy" - "compute the Hardy Z function, i.e. the L-function rotated to be real on the critical line" flag off option "X" X "Used with value-line-segment" string typestr="Double" default=".5" no option "Y" Y "Used with value-line-segment" string typestr="Double" default="100" no option "number-samples" n "Used with value-line-segment, and interpolate options" int default="1000" no option "zeros" z "number of zeros to find" int no option "explicit" - "test the explicit formula (beta-still in development)" flag off option "zeros-interval" Z "number of zeros to find in an interval (1/2+ix,1/2+iy) using steps of size stepsize. Use with the x,y, and stepsize options" flag off option "stepsize" - "Used with zeros-interval" string typestr="Double" no option "derivative" d "compute derivative. use -d -1 to specify logarithmic derivative." int no option "elliptic-curve" e "specify an elliptic curve over Q. Use with the a1 a2 a3 a4 a6 options" flag off option "a1" - "Used with the elliptic-curve option" string typestr="rational_number" no option "a2" - "Used with the elliptic-curve option" string typestr="rational_number" no option "a3" - "Used with the elliptic-curve option" string typestr="rational_number" no option "a4" - "Used with the elliptic-curve option" string typestr="rational_number" no option "a6" - "Used with the elliptic-curve option" string typestr="rational_number" no option "file-input" F "input a file with basic L-function data" string typestr="filename" no option "url" u "input a web based file with basic L-function data. Specify the url of the file" string typestr="url" no option "interpolate" i "interpolate between two L-functions and find their zeros. Should be used in conjunction with file-input" string typestr="filename2" no option "output-character" C "if twisting, output the character" values="1","2" default="1" no option "output-data" o "output basic data for the underlying L-function" int typestr="number Dirichlet coeffs" default="10" no option "verbose" - "verbosity > 0 outputs extra info" int default="0" no option "precision" P "number digits precision" int default="14" no option "sacrifice" S "number digits to sacrifice" int default="2" no option "rank-compute" r "compute the rank" flag off option "rank-verify" - "verify if specified rank is correct" int no option "rank-limit" l "when doing quadratic twists limit to L-functions with specified rank" int no option "tau" t "Ramanujan tau L-function (weight 12, full level)" flag off option "twist-quadratic" q "twist by fundamental quadratic characters, start <= discriminant <= finish. Use with start and finish options." flag off option "start" s "Used with various twisting options" string typestr="integer" no option "finish" f "Used with various twisting options. Default has finish=start" string typestr="integer" no option "twist-quadratic-even" - "twist by fundamental quadratic characters, even functional eqn, start <= discriminant <= finish" flag off option "twist-primitive" p "twist by all primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate characters are considered equivalent" flag off option "twist-all" A "twist by all Dirichlet characters with start <= conductor <= finish." flag off option "twist-all-no-conj-pairs" a "twist by all Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent" flag off option "twist-complex-no-conj-pairs" c "twist by all complex primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent" flag off option "twist-generic" g "twist by a generic complex Dirichlet characters with start <= conductor <= finish." flag off option "degree" D "can only be used in conjuction with twist-primitive (?). Select characters of specified degree. Not yet implemented" int typestr="degree" no option "openmp" O "whether to use openmp parallelization (beta- very little parallelization currently implemented) . Specify the number of threads to use." int no lcalc-1.23+dfsg.orig/src/Lriemannsiegel_blfi.cc0000600000175000017500000011367011152643774020111 0ustar tobitobi/*------------------------------------------------------------------------------- * VERSION: Sept. 23th, 2008. *------------------------------------------------------------------------------ * * Code to compute the Riemann zeta function on the critical line using * band limited interpolation based ideas. * * Note: if run into memory problems, reduce blfi_block_growth * -----------------------------------------------------------------------------*/ //#include //#include //#include //#include #include "L.h" #include "Lriemannsiegel_blfi.h" using namespace std; //typedef complex Complex; //typedef double Double; //typedef int int; const int blfi=1; //-----------------Global constants----------------------------------------------------------------------------- //const Double Pi=3.14159265358979323846264338327950288; //const Complex I=Complex(0.,1.); //const Double bernoulli[] ={1.0, -1./2, 1./6, 0, -1./30, 0, 1./42, 0, -1./30, 0, 5./66, 0, -691./2730, 0, 7./6, 0, -3617./510, 0, 43867./798, 0, -174611./330, 0, 854513./138, 0, -236364091./2730, 0, 8553103./6, 0, -23749461029./870, 0, 8615841276005./14322, 0, -7709321041217./510, 0, 2577687858367./6, 0, -26315271553053477373./1919190, 0, 2929993913841559./6, 0, -261082718496449122051./13530, 0, 1520097643918070802691./1806, 0, -27833269579301024235023./690, 0, 596451111593912163277961./282, 0, -5609403368997817686249127547./46410, 0}; /* -------moved to Lglobals.cc and .h const Double sin_cof[]={1.,-1./6.,1./120.,-1./5040.,1./362880.,-1./39916800.}; const Double sinh_mult_fac=.5; const Double sin_tol=1.e-5; const int sin_terms=2; const Double blfi_block_growth=2.; // how fast blfi blocks grow as we traverse the main sum, keep as is for now const Double beta_fac_mult=6.; // controls the density of blfi sampling and the number of blfi terms needed const Double blfi_fac=.085; // efficiency of the blfi interpolation sum relative to an RS sum of same length const Double pts_array_fac=10000; const int rs_blfi_N=3; //-----------------Global arrays----------------------------------------------------------------------------- Double *klog0; //log(k) at the beginning Double *klog2; //log(k) at the end if needed Double *ksqrt0; // 1/sqrt(k) at the beginning Double *ksqrt2;// 1/sqrt(k) at the end if needed int *num_blocks; // number of blocks int *size_blocks;// size of blocks Double *trig; // stores correction terms Double *zz; // store powers of fractional part Double **klog1; //log(k) in the middle if needed Double **ksqrt1; // 1/sqrt(k) in the middle if needed Double **klog_blfi; //initial term Double **qlog_blfi; //band-width Double **piv_org; //original pivot Double **bbeta; //beta Double **blambda; //lambda Double **bepsilon; //epsilon Double **arg_blfi; //arg_blfi Double **inv_arg_blfi; //inv_arg_blfi Double ***qlog_blfi_dense; // log(1+k/v) terms Double ***qsqrt_blfi_dense; // 1/sqrt(1+k/v) int ***blfi_done_left; //block done or not int ***blfi_done_right; //block done or not Double ***blfi_val_re_left; //real value of block Double ***blfi_val_re_right; //real value of block Double ***blfi_val_im_left; //imag value of block Double ***blfi_val_im_right; //imag value of block //-----------------Global variables----------------------------------------------------------------------------- int length_org=0; // length of the main sum int length_split=0; // length of the portion of the main sum to be evaluated directly int lgdiv=0; // number of divisions of the main sum into intervals of the form [N,2N) int max_pts=0; // max number of interpolation points allowed int range=0; // number of blfi interpolation points needed int blfi_block_size_org=0; // starting length of the blfi block int total_blocks=0; int rs_flag=0; Double bc=0; Double bc2=0.; Double kernel_fac=0.; Double ler=0.; Double mult_fac=0.; Double approx_blfi_mean_spacing=0.; Double interval_length=0.; Double error_tolerance=0.; Double input_mean_spacing=0.; ------------------------------ global variables moved */ //compute sinc(x)=sin(x)/x Double sinc(Double u){ Double ans=1; if(fabs(u) > sin_tol) ans=sin(u)/u; if(fabs(u)<= sin_tol){ Double u2=pow(u,2),temp=u2; for(int j=1;j sin_tol){ Double temp0=exp(u); ans=(temp0-1/temp0)/u; } if(fabs(u)<= sin_tol){ Double u2=pow(u,2),temp=u2; for(int j=1;j=1.) frac=0; z=frac-(Double)1/2; zz[0]=1; for(int i=1;i<51;i++){ zz[i]=z*zz[i-1]; } trig[0]= .3826834323650897717284599840304*zz[0] +1.74896187231008179744118586948533*zz[2] +2.11802520768549637318456427826417*zz[4] -.87072166705114807391892407738239*zz[6] -3.4733112243465167073064116693758*zz[8] -1.66269473089993244964313630119286*zz[10] +1.21673128891923213447689352804417*zz[12] +1.30143041610079757730060538099786*zz[14] +.03051102182736167242108987123981*zz[16] -.37558030515450952427981932122934*zz[18] -.10857844165640659743546975901329*zz[20] +.05183290299954962337576051067322*zz[22] +.02999948061990227592040084956912*zz[24] -.00227593967061256422601994851021*zz[26] -.00438264741658033830594007013585*zz[28] -.00040642301837298469930723272116*zz[30] +.00040060977854221139278910314608*zz[32] +8.97105799138884129783418195378689e-05*zz[34] -2.30256500272391071161029452573899e-05*zz[36] -9.38000660190679248471972940127474e-06*zz[38] +6.32351494760910750424986123959430e-07*zz[40] +6.55102281923150166621223123133411e-07*zz[42] +2.21052374555269725866086890381876e-08*zz[44] -3.32231617644562883503133517017624e-08*zz[46] -3.73491098993365608176460476015222e-09*zz[48] +1.24450670607977391951510000249366e-09*zz[50]; trig[1]= -.05365020525675069405998280791133*zz[1] +.11027818741081482439896362071917*zz[3] +1.23172001543152263131956529162206*zz[5] +1.26349648627994578841755482191213*zz[7] -1.69510899755950301844944739906596*zz[9] -2.99987119676501008895548735894141*zz[11] -.10819944959899208642692257787438*zz[13] +1.94076629462127126879387632539716*zz[15] +.78384235615006865328843457488694*zz[17] -.50548296679003659187902141326173*zz[19] -.3845072349605797405134273885311*zz[21] +.03747264646531532067594447494023*zz[23] +.09092026610973176317258142450576*zz[25] +.01044923755006450921820113972659*zz[27] -.01258297965158341649747892224592*zz[29] -.00339950372115127408505894886137*zz[31] +.00104109505377148912682954240655*zz[33] +.00050109490511184868603556526727*zz[35] -3.95635966900318155954711855696337e-05*zz[37] -4.76245924535718963865409830268035e-05*zz[39] -1.85393553380851322734349064569117e-06*zz[41] +3.19369180800689720404663539343268e-06*zz[43] +4.09078076085060663265089453677018e-07*zz[45] -1.54466243325766321284375723273104e-07*zz[47] -3.46630749176913317222559405934073e-08*zz[49]; trig[2]= .00518854283029316849378458151923*zz[0] +.00123786335522538984133826974438*zz[2] -.18137505725166997411491896409414*zz[4] +.14291492748532126541165603376514*zz[6] +1.33033917666875653250993329998546*zz[8] +.35224723534037336775327655505836*zz[10] -2.4210015958919507237815305433405*zz[12] -1.67607870225381088533346181492372*zz[14] +1.36894167233283721842349153807076*zz[16] +1.55390194302229832214563952655935*zz[18] -.17221642734729980519582586998918*zz[20] -.63590680550454309889704902355845*zz[22] -.09911649873041208105423564341370*zz[24] +.14033480067387008950738254898316*zz[26] +.04782352019827292236438803506512*zz[28] -.01735604064147978079795864709223*zz[30] -.01022501253402859184447660413126*zz[32] +.00092741491597948878994270014371*zz[34] +.00135721943723733853452533619958*zz[36] +6.41369012029388008996238736394533e-05*zz[38] -.00012300805698196629883342322937*zz[40] -1.83135074047892025547675543979621e-05*zz[42] +7.82162860432262730850139938461872e-06*zz[44] +2.00875424847599455034985293919157e-06*zz[46] -3.35327653931857137372749727241453e-07*zz[48] -1.46160209174182309264510097122760e-07*zz[50]; trig[3]= -.00267943218143891380853967145989*zz[1] +.02995372109103514963731329491570*zz[3] -.04257017254182869798501935111688*zz[5] -.28997965779803887506893209478669*zz[7] +.48888319992354459725374746407169*zz[9] +1.23085587639574608119312504336294*zz[11] -.82975607085274087041796910432976*zz[13] -2.24976353666656686652045012659903*zz[15] +.07845139961005471379365473620184*zz[17] +1.74674928008688940039198666645219*zz[19] +.45968080979749935109237306173169*zz[21] -.66193534710397749464339040008983*zz[23] -.31590441036173634578979632973316*zz[25] +.12844792545207495988511847476209*zz[27] +.10073382716626152300969450207513*zz[29] -.00953018384882526775950465984230*zz[31] -.01926442168751408889840098069714*zz[33] -.00124646371587692917124790716458*zz[35] +.00242439696411030857397215245841*zz[37] +.00043764769774185701827561290396*zz[39] -.00020714032687001791275913078304*zz[41] -6.27434450418651556052610958029804e-05*zz[43] +1.15753438145956693483789208989316e-05*zz[45] +5.88385492454037978388597885697078e-06*zz[47] -3.12467740069633622086961449076033e-07*zz[49]; sgn=pow(-(Double)1,length_org-1); res=0; for(int i=0;i=0){ if(blfi_done_right[i][j][n]==1) { if(md==1) res=blfi_val_re_right[i][j][n]; if(md==2) res=blfi_val_im_right[i][j][n]; } if(blfi_done_right[i][j][n]==0){ Double u=(n+piv_org[i][j])*arg_blfi[i][j]; for(int k=0;kmax_pts || abs(shift+range-1) >max_pts){ success=0; return 0; } if(blfi==1){ for(int n=shift-range+1;n=2*range){ denom=blfi_begin+length_blfi; klog_blfi[i][div_blfi]=LOG(denom); qlog_blfi[i][div_blfi]=log(1+(Double)blfi_remain/denom)/2; bbeta[i][div_blfi]=beta_fac_mult*qlog_blfi[i][div_blfi]; blambda[i][div_blfi]=(beta_fac_mult+1)*qlog_blfi[i][div_blfi]/2; bepsilon[i][div_blfi]=(beta_fac_mult-1)*qlog_blfi[i][div_blfi]/2; if(bbeta[i][div_blfi]<= qlog_blfi[i][div_blfi]){ cout<<"Error: choice of beta is producing beta <= tau!"<<"\n"; return; } arg_blfi[i][div_blfi]=Pi/bbeta[i][div_blfi]; inv_arg_blfi[i][div_blfi]=bbeta[i][div_blfi]/Pi; Double temp=bbeta[i][div_blfi]*t/Pi; piv_org[i][div_blfi]=temp-fmod(temp,1); for(int k=0;k=2*range){ denom=blfi_begin+length_blfi; klog_blfi[lgdiv+1][div_blfi]=LOG(denom); qlog_blfi[lgdiv+1][div_blfi]=log(1+(Double)blfi_block_size/denom)/2; bbeta[lgdiv+1][div_blfi]=beta_fac_mult*qlog_blfi[lgdiv+1][div_blfi]; blambda[lgdiv+1][div_blfi]=(beta_fac_mult+1)*qlog_blfi[lgdiv+1][div_blfi]/2; bepsilon[lgdiv+1][div_blfi]=(beta_fac_mult-1)*qlog_blfi[lgdiv+1][div_blfi]/2; if(bbeta[lgdiv+1][div_blfi]<= qlog_blfi[lgdiv+1][div_blfi]){ cout<<"Error: choice of beta is producing beta <= tau !"<<"\n"; return; } arg_blfi[lgdiv+1][div_blfi]=Pi/bbeta[lgdiv+1][div_blfi]; inv_arg_blfi[lgdiv+1][div_blfi]=bbeta[lgdiv+1][div_blfi]/Pi; Double temp=bbeta[lgdiv+1][div_blfi]*t/Pi; piv_org[lgdiv+1][div_blfi]=temp-fmod(temp,1); for(int k=0;k2.)){ cout<<"Error: blfi_block_growth not in [1,2] !"<<"\n"; return 0; } if(beta_fac_mult<=0.){ cout<<"Error: current choice of beta does not work!"<<"\n"; return 0; } if(bc<1.){ cout<<"Error: choose bc >= 1."<<"\n"; return 0; } if(blfi_block_size_org<0){ cout<<"Error: blfi_block_size_org must be >= 0!"<<"\n"; return 0; } if(sin_terms>=5){ cout<<"Error: sin_terms is larger than expected. Please add more terms to sin_cof array!"<<"\n"; return 0; } if(range<1.){ cout<<"Error: range is < 1"<<"\n"; return 0; } return 1; } //function to to collect statistics on various parameter used in blfi void init_blfi_simulate(){ int tail_blfi,length_blfi,div_blfi,blfi_fin; int blfi_block_size_sim=blfi_block_size_org; int blfi_begin_sim=length_split; total_blocks=0; for (int i=1;ierror_tolerance){ bc=bc+1; bc2=pow(bc,2); kernel_fac=bc/sinh(bc); range=(int)((beta_fac_mult/((beta_fac_mult-1)/2))*bc/Pi); blfi_block_size_org=(int)(2*range/blfi_fac); int length_split0=(int)(sqrt(length_split_fac*blfi_block_size_org*length_org*2*Pi/beta_fac_mult)); length_split=min(length_org,length_split0-length_split0%blfi_block_size_org+blfi_block_size_org); lgdiv=(int)(log((Double)length_org/(Double)length_split)/log((Double)2)); mult_fac=kernel_fac*sinh_mult_fac*((beta_fac_mult+1)/2)/beta_fac_mult; approx_blfi_mean_spacing=Pi/(beta_fac_mult*log(1+(Double)blfi_block_size_org/length_split)/2); max_pts=2*(int)((2*interval_length+1)/approx_blfi_mean_spacing+4*range+2); init_blfi_simulate(); error_blocks=2*exp(-bc)*blfi_block_size_org*max((Double) 1,pow(blfi_block_growth/sqrt((Double)2),lgdiv))*sqrt((Double)total_blocks)/(sqrt(length_split)); } if(!check()){ delete [] num_blocks; delete [] size_blocks; return 0; } if(length_split<=0.){ cout<<"Error: length_split must be positive!"<<"\n"; return 0; } init_arrays(md); if(md==1){ Double *klog0_temp=new Double[length_split_prev+1]; Double *ksqrt0_temp=new Double[length_split_prev+1]; for(int i=1;i=2*range){ if(blfi_block_size*blfi_fac<2*range-1){ cout<<"Warning: blfi_block_size "<=2*range){ if(blfi_block_size*blfi_fac<2*range-1){ cout<<"Warning: blfi_block_size "<0.5){ cout<<"Error: mean seperation of input points is too large!"<<"\n"; clean_arrays(0); return 0; } return success; } //function to compute zeta and re-initialize the algorithm if an error is enountered. Complex rs(Double t, Double error_given, Double input_mean_spacing_given, int &success, const char *return_type){ if(!rs_flag) { success=set_up(t,error_given,input_mean_spacing_given); if(!success) return 0; rs_flag=1; } Complex res=0; res=my_zeta(t,success); if(success==0) { clean_arrays(0); success=set_up(t,error_given,input_mean_spacing_given); if(!success) return 0; } if (!strcmp(return_type,"rotated pure")) return res*exp(I*(imag(log_GAMMA(((Double)1/2+I*t)/2)) - (t/2)*log(Pi))); else return res; } /* //the main function int main(){ //------------User input---------------------- Double t=pow(10.,10); Double input_mean_spacing_given=.01; Double error_tol=1E-9; //-------------------------------------------- int success; Complex res; for(int v=0;v<20000;v++){ res=rs(t,error_tol,input_mean_spacing_given,success); if(!success) return 0; cout< 1-s rather than s <-> 2-s // #ifdef INCLUDE_PARI void initialize_new_L(char *a1, char *a2, char *a3, char *a4, char *a6, int N_terms) { // basic data for the L-function (see the class L_function for full comments) int what_type; Long Period; Double q; Complex w; int A; Double *g; Complex *l; int n_poles; Complex *p; Complex *r; current_L_type=2; //the normalized dirichlet coeffs are real what_type=2; //i.e. eliiptic curve L-functions are cusp form L-function Period=0; A=1; //GAMMA factor is GAMMA(s+1/2) g=new Double[2]; l=new Complex[2]; g[1]=1.; l[1]=.5; Double * coeff; coeff = new Double[N_terms+1]; data_E(a1,a2,a3,a4,a6,N_terms,coeff); //coeff[n], if n > 1, is the nth dirichlet coefficient nomalized by sqrt(n). //coeff[0] comes back with the sign of the functional equation //coeff[1] comes back with the conductor of E. We then set it to one. q=sqrt(coeff[1])/(2*Pi); coeff[1]=1.; w=coeff[0]; n_poles=0; //no poles p = new Complex[1]; r = new Complex[1]; Double_L=L_function("Elliptic curve",what_type,N_terms,coeff,Period,q,w,A,g,l,n_poles,p,r); delete [] g; delete [] l; delete [] p; delete [] r; delete [] coeff; } // given the elliptic curve // y^2 + a1 xy + a3 y = x^3 + a2 x^2 + a4 x + a6 // i.e. computes, the sign, the conductor, and first N_terms dirichlet coefficients // of the corresponding L-function. The nth dirichlet coefficient is normalized by // sqrt(n) void data_E(char *a1, char *a2, char *a3, char *a4, char *a6, int N_terms,Double * coeff) { int sign; //sign stores the sign of the functional equation Long p; //denotes a prime Long m,n; Double x,r,tmp,tmp2; Long conductor; //the conductor of the elliptic curve GEN y, F, E, C; y = cgeti(64); C = cgetg(4, t_VEC); //if a1 etc are integers, we can use gaffsg to //assign F[1] etc. However, I am treating a1 etc as character //strings to allow for larger integers, and therefore use gaffect F = cgetg(6, t_VEC); F[1] = lgeti(BIGDEFAULTPREC); F[2] = lgeti(BIGDEFAULTPREC); F[3] = lgeti(BIGDEFAULTPREC); F[4] = lgeti(BIGDEFAULTPREC); F[5] = lgeti(BIGDEFAULTPREC); //gaffsg(a1,(GEN) F[1]); //gaffsg(a2,(GEN) F[2]); //gaffsg(a3,(GEN) F[3]); //gaffsg(a4,(GEN) F[4]); //gaffsg(a6,(GEN) F[5]); gaffect(strtoGEN(a1), (GEN) F[1]); gaffect(strtoGEN(a2), (GEN) F[2]); gaffect(strtoGEN(a3), (GEN) F[3]); gaffect(strtoGEN(a4), (GEN) F[4]); gaffect(strtoGEN(a6), (GEN) F[5]); E = initell(F,BIGDEFAULTPREC); C=globalreduction(E); x=gtodouble((GEN) C[1]); //if(x<1e18) conductor=(Long) (x+.1); if(x to direct output to a file: For example nohup ./lcalc -z 1000 --tau > my_tau_zeros & will compute, in the background, the first 1000 zeros of L_tau(s) and send the output to the file my_tau_zeros. Other useful options: --rank-compute Computes the analytic rank (short form: -r) --derivative=INT Compute derivative (short form -d INT). Presently the derivative option uses numeric differentiation, and one loses about half the working precision for each successive derivative. Multiprecision is still being implemented, so, for now, the derivative option only gives moderately reasonable output for the first derivative (about 6-7 digits), and less for the second derivative (about 3 digits). Beyond this, one needs to use the USE_LONG_DOUBLE compile option in the MAkefile or higher precision. Analytic rank works well even for high rank since the method used does not compute derivatives, but rather looks at the behaviour of the L-function near the critical point. ----------------------------------------------------------------------------- Finally, you can read in an L-function from a file. The file should contain functional equation data, Dirichlet coefficients and some other useful quantities. To read in the file you use the -F option. For example, say you have a datafile called example_data_files/data_tau containing data for the Ramanujan tau L-function. Then, for instance, ./lcalc --zeros-interval -x 0 -y 100 --stepsize .1 -F example_data_files/data_tau computes the zeros on the critical line, from .5+0i to .5+100i, of the L-function in the file example_data_files/data_tau, by looking in steps of size .1 You could also use the -z option as explained earlier. (The Ramanjuan tau L-function is also available as a built in L-function, using the --tau option rather than the -F option). You can also grab the file if it resides on a webpage by using --url or -u option instead of -F and specifying the url of the file. For the -F or -u options to work, you must have enough Dirichlet coefficients in your file. The program should complain if you don't. Here is the format for the datafile. At the end of the explanation I'll give you an example. The explanation is a bit long, but basically you need to specify the functional equation, Dirichlet coefficients, and some helpful info. The first line should contain an integer, either 1,2, or 3 1 specifies that the Dirichlet coefficients are to be given as integers (up to 32 bits long), 2 that they are floating point numbers, 3 that they are complex numbers. So, for example, the first line would be a 2 for cusp form or Maass form L-function (we normalize the L-functional so that the functional equation is s<->1-s, so the normalized Dirichlet coefficients for a cusp form L-function are not integers). The second line specifies info that the calculator can exploit (or will exploit at some future date). It is an integer that is assigned to different types of L-functions. Currently: -1 for zeta 0 for unknown 1 for periodic including L(s,chi) -2 for L(s,chi) but where the # coeffs computed is < period. 2 for cusp form (in S_K(Gamma_0(N)) 3 for Maass form for SL_2(Z) other integers reserved for future types. So if you are doing a Maass form L-function , the second line should be a 3. The third line is an integer that specifies how many Dirichlet coefficients to read. There should be at least these many Dirichlet coefficients in the file. This is a useful quantity to specify since sometimes (I might include this as a command line option at some point) the data file might have, say, 100 million coefficients, but one might want to read in, say, just 10000 of them. The fourth line is either 0, if the Dirichlet coefficients are *not* periodic, or a positive integer specifying the period otherwise (this happens in the case of Dirichlet L-functions). For a Maass form it should be 0. The fifth line is a positive integer, the quasi-degree. This is the number of gamma factors of the form Gamma(gamma s + lambda) in the functional equation, where gamma is either .5 or 1, and lambda is a complex number with Re lambda >= 0. For example, it is 1 for Dirichlet L-functions, 1 for cusp form L-functions, 2 for Maass form L-functions, etc. Notice the '1' for cusp form L-functions could be a '2' if you wish to split the gamma factor up using the Legendre duplication formula. But it's better not to. Next come the gamma factors, two lines for each gamma factor. The first of each pair of lines contains gamma (either .5 or 1), and the second line contains a pair of floating point numbers separated by a space specifying the real and imaginary parts of lambda (even if purely real, lambda should be given as a pair of numbers, the second one then being 0). Next you specify the functional equation. Let Lambda(s) = a --------' ' | | s | | Q | | Gamma( gamma_j s + lambda_j) L(s) | | j = 1 __________ _ satisfy Lambda(s) = omega Lambda(1-s), where Q is a real number, and omega is complex. Notice that the functional equation is s into 1-s, i.e. the gamma factors and Dirichlet coefficients of L(s) should be normalized correctly so as to have critical line Re(s)=1/2. The next line in the datafile is Q giving as a floating point number, and the one after that gives omega as a pair x y of floating point numbers, specifying the real and imaginary parts of omega (even if it equals 1 it should be given as a pair of floating points, for example 1 0 to indicate 1 + 0 i). We need to allow for the possibility of poles. For example, if L(s) = zeta(s) then Lambda(s) has simple poles with residue 1 at s=1 and s=0. To take into account such possibilities I assume that Lambda(s) has at most simple poles. So, the next line specifies the number of poles (usually 0) and then, for each pole there are two lines. The first line in each pair gives the pole x+iy as a pair x y of floating point numbers. The second line specifies the residue at that pole, also as a pair of floating point numbers. Finally the Dirichlet coefficients. The remaining lines in the file contain a list of Dirichlet coefficients, at least as many as indicated in line three of the datafile. The coefficients can be integers, real, or complex. If complex they should, as usual, be given as a pair x y of floating point numbers separated by a space. Otherwise they should be given as single column of integers or floating point numbers respectively. The datafile should only contain numbers and no comments. The comments below are for the sake of understanding the structure of the datafile. I'm including a couple of sample datafiles in the src/example_data_files/ directory: data_maass is for the Maass form for SL_2(Z) associated to the eigenvalue with R=13.779751351891. data_L4 contains data for the real quadratic Dirichlet L-function of conductor 4. data_tau is for the Ramanujan tau L-function. (the latter two L-functions are also available as a built in option: the first using the options: --twist-quadratic -s -4 -f -4 the second using the option: --tau). Here are the first few lines of data_maass (by the way, this is just as an example... the Dirichlet coefficients I have for this particular L-function are only accurate to a handful of decimal places, expecially near the tail of the file). 2 the two indicated that the Dirichlet coefficients are real 3 what type of L-function. '3' is for a Maass form L-function 29900 How many Dirichlet coefficients to read in 0 zero since coefficients are not periodic 2 number of gamma factors of the form Gamma(gamma s + lambda) .5 first gamma 0 6.88987567594535 first lambda .5 second gamma 0 -6.88987567594535 second lambda .3183098861837906715 the Q in the functional equation 1 0 the omega in the functional equation, omega = 1 + 0i 0 the number of poles of Lambda(s) 1 the first Dirichlet coefficient 1.549304477941 the second Dirichlet coefficient 0.246899772454 the third Dirichlet coefficient 1.400344365369 the fourth Dirichlet coefficient etc ----------------------------------------------------------------------------- For programmers: If you want to write your own c++ program that makes use of the Lfunction library, rather than just use the command line interface, please look at the directory: example_programs, or, for a more complex example, at the source code for the commandline interface (the files of the form Lcommandline*.cc) For an idea on how to compile, while in the src directory type: make examples The include directory contains the L-function class. The main file is L.h. The comments in that file explain the makeup of the class. ----------------------------------------------------------------------------- Questions, comments, and bug reports can be directed to Michael Rubinstein: mrubinst X1 uwaterloo X2 ca where you replace ' X1 ' with '@' and ' X2 ' with '.' lcalc-1.23+dfsg.orig/INSTALL0000644000175000017500000000266710340537374014121 0ustar tobitobiTo install: in the src directory: 1) Edit the Makefile to reflect your machine. Right now it is set up for two operating systems: mac os x (Darwin) , and Linux. Set OS_NAME to reflect your machine. For example if your operating system is Darwin set the line to: OS_NAME = Darwin otherwise set to: OS_NAME = Linux 2) If you wish to have elliptic curve L-functions you need to have pari installed on your machine and set the following in the Makefile: PREPROCESSOR_DEFINE = -DINCLUDE_PARI Otherwise (default) just comment out the line: #PREPROCESSOR_DEFINE = -DINCLUDE_PARI In the former case (-DINCLUDE_PARI) you also need to make sure that the following are set to reflect the correct location on your machine of the pari header file and library. The default in the Makefile for the location of pari is: LOCATION_PARI_H = /usr/local/include/pari LOCATION_PARI_LIBRARY = /usr/local/lib You will have to modify these lines if pari is installed in different locations on your machine. 3) at the unix prompt type: make (If you wish to recompile later, type: make clean before retyping: make) This will create the command line application called lcalc and also a library, libLfunction.a, that can be linked to if you wish to write your own code. See the README file for usage and a mini tutorial. 4) If you have root powers, you can do: sudo make install to copy the application, library, and include files to the appropriate directories in /usr/local/ lcalc-1.23+dfsg.orig/CONTRIBUTORS0000644000175000017500000000054011156127210014722 0ustar tobitobiMichael Rubinstein-main author Ralph Furmaniak- support for gmp Kyle Wichert- Temme's uniform asymptotics for the incomplete gamma function Being incorporated into next major version: Kevin Mcgown- explicit formula test Sourav Sen Gupta- algorithms from Tim Dokchitser's paper Ghaith Hiary- Band limited interpolation. R. Rishikesh- wrapper for sage lcalc-1.23+dfsg.orig/COPYING0000644000175000017500000004507210752137177014124 0ustar tobitobiCOPYRIGHT NOTICE L -- A library and command line interface for L-functions. Copyright (C) 2001 Michael Rubinstein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. This entire copyright notice should be placed in an appropriately conspicuous place accompanying all distributions of software that make use of L. END COPYRIGHT NOTICE GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. lcalc-1.23+dfsg.orig/include/0000755000175000017500000000000011232022577014473 5ustar tobitobilcalc-1.23+dfsg.orig/include/.Lexplicit_formula.h.swp0000600000175000017500000004000011044626243021177 0ustar tobitobib0VIM 6.2¢¡{HXyàômichaelrubinsteinniknik.local~michaelrubinstein/math/L/L/include/Lexplicit_formula.h0123 !"#UptÿI‚da®­‘utÃÂ\[#! ÿ ý ü À ¾ † „ ƒ    ì ¶ ´ ³ ˜ ƒ d c 7  ý º ª ¦ š ™  Ñ Ð ² ® Ÿ v ` X F '  í ã Æ ® ” b X K  ãÛɶtpoca`ýüåÌ^\5)ûéÚÇ·£—–Tí컺­ŠUTò¼§”‡†`\N1+®[U óïîÀ¤£feS87. p = get_prime(j); j = 0; //extend_prime_table(x); x = num_coeffs; //compute the contribution from the Dirichlet coefficients term2 = 1/(2*Pi) * term2; term2 = t_step*total + 2*log(Q)*sqrt(Pi/A); } cout << t << " total " << total << endl; total = total + real(xxx_phi(A, x_0, t)) * temp; } //temp += log_GAMMA(gamma[j]/2 - I*t*gamma[j]+conj(lambda[j]), 1)*gamma[j]; temp += 2*real(log_GAMMA(gamma[j]/2 + I*t*gamma[j]+lambda[j], 1)*gamma[j]); //1 here calls the logarithmic derivative { for (j=1;j<=this->a;j++) temp = 0; { for (t=t_begin;t<=t_end;t=t+t_step) total = 0; t_end = x_0 + D; t_begin = x_0 - D; D = ceil(sqrt(DIGITS*log(10.0)/A)/t_step) * t_step; t_step = 0.02; // compute the contribution from the Gamma factors (integral of the log diff) term1 += real(xxx_phi(A, x_0, (pole[j]-0.5)/I)); for (j=1;j<=number_of_poles;j++) term1 = 0; //compute the possible contribution from poles //dirichlet_coeffs_log_diff(num_coeffs, c); //c = new Complex[num_coeffs+1]; //XXXXXXX move to L.h //num_coeffs = 150; //XXXXXXXXXX should depend on test required int flag; //int num_coeffs; //Complex *c; Double LHS, RHS; Double temp; int p, n, x, j; Double term1, term2, term3; Double total; Double D; Double t, t_begin, t_end, t_step, u;{test_explicit_formula(Double A, Double x_0, Double *zero_table, int number_zeros, Complex *c, int num_coeffs)int L_function ::template /************************************************************************************************/} return 0; } if(my_verbose>5) cout << "c[" << n << "] = " << c[n] << endl; c[n] = total2; b[n] = total; } total2 += temp*LOG(d1); total -= temp; temp = dirichlet_coefficient[d1]*b[j]; else } temp = dirichlet_coefficient[ind]*b[j]; ind = period; if (ind == 0) ind = d1 % period; { else if (what_type_L == 1) temp = b[j]; if (what_type_L == -1) d1 = n/j; { if (n % j == 0) for (j=1;j<=n/2;j++) total2 = 0; total = 0; { for (n=2;n<=num_coeffs;n++) //XXXXXXXX this should be computed just once, not each time test is called if(my_verbose!=0) cout << "Computing " << num_coeffs << " Dirichlet coefficients of the logarithmic derivative" << endl; b[1] = 1; } return 1; cout << "Don't have enough Dirichlet coefficients." << endl; { && num_coeffs > number_of_dirichlet_coefficients) if (what_type_L != 1 && what_type_L != -1 Complex total, total2, temp; int j, n, d1, ind; Complex b[num_coeffs+1];{dirichlet_coeffs_log_diff(int num_coeffs, Complex *c)int L_function ::template /***************************************************************************************************/} return sqrt(Pi/A) * exp(-2*Pi*I*x_0*x - Pi*Pi*x*x/A);{inline Complex xxx_phi_hat(Double A, Double x_0, Complex x)} return exp(-A*(x-x_0)*(x-x_0));{inline Complex xxx_phi(Double A, Double x_0, Complex x)/***************************************************************************************************/inline Complex xxx_phi_hat(Double A, Double x_0, Complex x); //its fourier transforminline Complex xxx_phi(Double A, Double x_0, Complex x); // the phi in the explicit formula#define Lexplicit_formula_H#ifndef Lexplicit_formula_H// This file mainly due to Kevin McGown, with modifications by Michael RubinsteindaE }IóòáÝÒ¿¹F ÞØÉ³¯“’zyZYA@5 ã ß Þ Å ¸ ‘ S O N 2 1   æ ¨ ‡ b A  í à ž y J  Ö µ Z Y 6   ö × Ó Ì È º › — – ‡ … „ } |#endif} return flag; } //cout << "FAIL!" << endl; flag = 1; { else } //cout << "PASS." << endl; flag = 0; { if (abs((LHS - RHS)) < pow(10.0,-DIGITS/3)) // I arbitrarily chose DIGITS/3. cout << "LHS = " << LHS << ", RHS = " << RHS << ", DIFF = " << abs((LHS - RHS)) << ", "; cout << " x_0=" << x_0 << ","; //cout << "A = " << A << ", x_0 = " << x_0 << ", "; } cout << "CUTOFF: " << pow(10.0, -DIGITS/3) << endl; cout << "LHS - RHS: " << LHS-RHS << endl; cout << "LHS: " << LHS << endl; cout << "RHS: " << RHS << endl; cout << "TERM 3: " << term3 << endl; cout << "TERM 2: " << term2 << endl; cout << "TERM 1: " << term1 << endl; cout << "D = " << D << endl; cout << "x_0 = " << x_0 << endl; cout << "A = " << A << endl; cout << "*** Testing Explicit Formula for L ***" << endl; cout << endl << endl; { if (my_verbose==0) //if (my_verbose > 3) /*** Display Results ***/ } //LHS += exp(-A*(zero_table[j]-x_0)*(zero_table[j]-x_0)); if(u<2.3*DIGITS*2) LHS += exp(-u); u=u*u*A; u=zero_table[j]-x_0; { for (j=0;j<=number_zeros-1;j++) //we will want to truncate this automatically LHS = 0; /*** COMPUTE LHS ***/ RHS = term1 + term2 - term3; /*** COMPUTE RHS ***/ term3 = 1/(4*Pi) * term3; } p = get_prime(j); j = j + 1; } cout << n << "term3 " << term3 << endl; n = n * p; term3 += two_inverse_sqrt(n)*temp; temp = 2*real(c[n]*xxx_phi_hat(A, x_0, LOG(n)/(2*Pi)));// + conj(c[n])*xxx_phi_hat(A, x_0, -LOG(n)/(2*Pi)); { while (n <= x) n = p; { while (p <= x) term3 = 0;lcalc-1.23+dfsg.orig/include/Lcommandline_misc.h0000644000175000017500000000271510253116113020256 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lcommandline_misc_H #define Lcommandline_misc_H #include //for calling unix commands and things like atoi #include #include //for manipulating output such as setprecision #include //for file input output #include //for ostream:w #include //for ostrstream #include "L.h" //for the L_function class #include "Lcommandline_numbertheory.h" //for number theory functions #include "Lcommandline_globals.h" //command line global variables void initialize_new_L(char *file_name); void print_L(int N_terms); #endif lcalc-1.23+dfsg.orig/include/Lexplicit_formula.h.swap.crap0000600000175000017500000004000011036415411022200 0ustar tobitobib0VIM 6.22(yH"cß*8michaelrubinsteinniknik.local~michaelrubinstein/math/L/L/include/Lexplicit_formula.hU0123 !"#Uptÿ‡?ˆda0‡®­‘utÃÂ\[#! ÿ þ  À ˆ † …    î ¸ ¶ µ š … f e 9  ÿ ¼ ¬ ¨ œ › Ó Ò ´ ° ¡ ‘ x b Z H )  ï å È ° – d Z M  åÝ˸vrqecbÿþçÎ|zSG6õáÓÁµ´t=ßÞÑ®~.-æÑ¾±°Š†x[UØ…PLKð•”‹wjiXTI60 { while (n <= x) n = p; { while (p <= x) term3 = 0; p = get_prime(j); j = 0; //extend_prime_table(x); x = num_coeffs; //compute the contribution from the Dirichlet coefficients term2 = 1/(2*Pi) * term2; term2 = t_step*total + 2*log(Q)*sqrt(Pi/A); } total = total + xxx_phi(A, x_0, t) * temp; } //temp += log_GAMMA(gamma[j]/2 - I*t*gamma[j]+conj(lambda[j]), 1)*gamma[j]; temp += 2*real(log_GAMMA(gamma[j]/2 + I*t*gamma[j]+lambda[j], 1)*gamma[j]); //1 here calls the logarithmic derivative { for (j=1;j<=this->a;j++) temp = 0; { for (t=t_begin;t<=t_end;t=t+t_step) total = 0; t_end = x_0 + D; t_begin = x_0 - D; D = ceil(sqrt(DIGITS*log(10.0)/A)/t_step) * t_step; t_step = 0.05; // compute the contribution from the Gamma factors (integral of the log diff) term1 += xxx_phi(A, x_0, (pole[j]-0.5)/I); for (j=1;j<=number_of_poles;j++) term1 = 0; //compute the possible contribution from poles dirichlet_coeffs_log_diff(num_coeffs, c); c = new Complex[num_coeffs+1]; //XXXXXXX move to L.h num_coeffs = 150; //XXXXXXXXXX should depend on test required int flag; int num_coeffs; Complex *c; Complex LHS, RHS; Complex temp; int p, n, x, j; Complex term1, term2, term3; Complex total; Double D; Double t, t_begin, t_end, t_step, u;{test_explicit_formula(Double A, Double x_0, Double *zero_table, int number_zeros)int L_function ::template /************************************************************************************************/} return 0; } if(my_verbose>5) cout << "c[" << n << "] = " << c[n] << endl; c[n] = total2; b[n] = total; } total2 += temp*LOG(d1); total -= temp; temp = dirichlet_coefficient[d1]*b[j]; else } temp = dirichlet_coefficient[ind]*b[j]; ind = period; if (ind == 0) ind = d1 % period; { else if (what_type_L == 1) temp = b[j]; if (what_type_L == -1) d1 = n/j; { if (n % j == 0) for (j=1;j<=n/2;j++) total2 = 0; total = 0; { for (n=2;n<=num_coeffs;n++) //XXXXXXXX this should be computed just once, not each time test is called if(my_verbose!=0) cout << "Computing " << num_coeffs << " Dirichlet coefficients of the logarithmic derivative" << endl; b[1] = 1; } return 1; cout << "Don't have enough Dirichlet coefficients." << endl; { && num_coeffs > number_of_dirichlet_coefficients) if (what_type_L != 1 && what_type_L != -1 Complex total, total2, temp; int j, n, d1, ind; Complex b[num_coeffs+1];{dirichlet_coeffs_log_diff(int num_coeffs, Complex *c)int L_function ::template /***************************************************************************************************/} return sqrt(Pi/A) * exp(-2*Pi*I*x_0*x - Pi*Pi*x*x/A);{inline Complex xxx_phi_hat(Double A, Double x_0, Complex x)} return exp(-A*pow(x-x_0, 2));{inline Complex xxx_phi(Double A, Double x_0, Complex x)/***************************************************************************************************/inline Complex xxx_phi_hat(Double A, Double x_0, Complex x); //its fourier transforminline Complex xxx_phi(Double A, Double x_0, Complex x); // the phi in the explicit formula#define Lexplicit_formula_H#ifndef Lexplicit_formula_H// This file mainly due to Kevin McGown, with modifications by Michael Rubinsteindaä ô?dSM>($ïîÏ浪zXTS:- È Ä Ã § ¦ Œ r 4  î Í £ y O *  Ö ™ ˜ d   Þ  { m N J C ? 1   þ ü û ô ÷####endif} return flag; } //cout << "FAIL!" << endl; flag = 1; { else } //cout << "PASS." << endl; flag = 0; { if ((LHS-RHS).imag() < pow(10.0,-DIGITS+1) && abs((LHS - RHS).real()) < pow(10.0,-DIGITS/3)) // I arbitrarily chose DIGITS/3. cout << "LHS = " << LHS << ", RHS = " << RHS << ", DIFF = " << abs((LHS - RHS).real()) << ", "; cout << "A = " << A << ", x_0 = " << x_0 << ", "; } cout << "CUTOFF: " << pow(10.0, -DIGITS/3) << endl; cout << "LHS - RHS: " << LHS-RHS << endl; cout << "LHS: " << LHS << endl; cout << "RHS: " << RHS << endl; cout << "TERM 3: " << term3 << endl; cout << "TERM 2: " << term2 << endl; cout << "TERM 1: " << term1 << endl; cout << "D = " << D << endl; cout << "x_0 = " << x_0 << endl; cout << "A = " << A << endl; cout << "*** Testing Explicit Formula for L ***" << endl; cout << endl << endl; { if (my_verbose > 3) /*** Display Results ***/ } //LHS += exp(-A*(zero_table[j]-x_0)*(zero_table[j]-x_0)); if(u<2.3*DIGITS*2) LHS += exp(-u); u=u*u*A; u=zero_table[j]-x_0; { for (j=0;j<=number_zeros-1;j++) //we will want to truncate this automatically LHS = 0; /*** COMPUTE LHS ***/ RHS = term1 + term2 - term3; /*** COMPUTE RHS ***/ term3 = 1/(4*Pi) * term3; } p = get_prime(j); j = j + 1; } n = n * p; term3 += two_inverse_sqrt(n)*temp; temp = 2*real(c[n]*xxx_phi_hat(A, x_0, LOG(n)/(2*Pi)));// + conj(c[n])*xxx_phi_hat(A, x_0, -LOG(n)/(2*Pi)); lcalc-1.23+dfsg.orig/include/._.DS_Store0000644000175000017500000000012210543631103016361 0ustar tobitobiMac OS X  2 R@lcalc-1.23+dfsg.orig/include/Lcomplex.h0000644000175000017500000007500110677603511016437 0ustar tobitobi// The template and inlines for the -*- C++ -*- complex number classes. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the // Free Software Foundation; either version 2, or (at your option) // any later version. // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License along // with this library; see the file COPYING. If not, write to the Free // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, // USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate // templates or use macros or inline functions from this file, or you compile // this file and link it with other files to produce an executable, this // file does not by itself cause the resulting executable to be covered by // the GNU General Public License. This exception does not however // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. // // ISO C++ 14882: 26.2 Complex Numbers // Note: this is not a conforming implementation. // Initially implemented by Ulrich Drepper // Improved by Gabriel Dos Reis // /** @file complex * This is a Standard C++ Library header. You should @c #include this header * in your programs, rather than any of the "st[dl]_*.h" implementation files. */ #ifndef _CPP_COMPLEX #define _CPP_COMPLEX 1 #pragma GCC system_header #include //no longer include: //#include only thing used was is_floating... //gcc 4.0 cpp_type_traits.h is not compatible with gcc 3.3. //But Lcomplex.h file was derived //from gcc 3.3 complex header file. The only thing used from that header file is __is_floating, so I just //renamed it in this file to __is_floating_old (to avoid conflict with other includes of //) and cut and paste and renamed the old __is_floating. #include #include namespace std { // Forward declarations template class complex; template<> class complex; template<> class complex; template<> class complex; template _Tp abs(const complex<_Tp>&); template _Tp arg(const complex<_Tp>&); template _Tp norm(const complex<_Tp>&); template complex<_Tp> conj(const complex<_Tp>&); template complex<_Tp> polar(const _Tp&, const _Tp& = 0); // Transcendentals: template complex<_Tp> cos(const complex<_Tp>&); template complex<_Tp> cosh(const complex<_Tp>&); template complex<_Tp> exp(const complex<_Tp>&); template complex<_Tp> log(const complex<_Tp>&); template complex<_Tp> log10(const complex<_Tp>&); template complex<_Tp> pow(const complex<_Tp>&, const _Up&); template complex<_Tp> pow(const _Up&, const complex<_Tp>&); template complex<_Tp> pow(const complex<_Tp>&, int); template complex<_Tp> pow(const complex<_Tp>&, const complex<_Tp>&); template complex<_Tp> pow(const _Tp&, const complex<_Tp>&); template complex<_Tp> sin(const complex<_Tp>&); template complex<_Tp> sinh(const complex<_Tp>&); template complex<_Tp> sqrt(const complex<_Tp>&); template complex<_Tp> tan(const complex<_Tp>&); template complex<_Tp> tanh(const complex<_Tp>&); // 26.2.2 Primary template class complex template class complex { public: typedef _Tp value_type; complex(const _Tp& = 0, const _Tp& = 0); complex(const int&); complex(const double&); // Let's the compiler synthetize the copy constructor // complex (const complex<_Tp>&); template complex(const _Up&); template complex(const complex<_Up>&); _Tp real() const; _Tp imag() const; template complex<_Tp>& operator=(const _Up&); complex<_Tp>& operator=(const _Tp&); complex<_Tp>& operator=(const int&); complex<_Tp>& operator=(const double&); complex<_Tp>& operator+=(const _Tp&); complex<_Tp>& operator-=(const _Tp&); complex<_Tp>& operator*=(const _Tp&); complex<_Tp>& operator/=(const _Tp&); // Let's the compiler synthetize the // copy and assignment operator // complex<_Tp>& operator= (const complex<_Tp>&); template complex<_Tp>& operator=(const complex<_Up>&); template complex<_Tp>& operator+=(const complex<_Up>&); template complex<_Tp>& operator-=(const complex<_Up>&); template complex<_Tp>& operator*=(const complex<_Up>&); template complex<_Tp>& operator/=(const complex<_Up>&); friend reset(complex<_Tp>& C) { reset(C._M_real); reset(C._M_imag); } private: _Tp _M_real, _M_imag; }; template inline _Tp complex<_Tp>::real() const { return _M_real; } template inline _Tp complex<_Tp>::imag() const { return _M_imag; } template inline complex<_Tp>::complex(const _Tp& __r, const _Tp& __i) { _M_real=__r; _M_imag=__i; } template template inline complex<_Tp>::complex(const _Up& r) { _M_real=r; _M_imag=0; } template inline complex<_Tp>::complex(const int& r) { _M_real=r; _M_imag=0; } template inline complex<_Tp>::complex(const double& r) { _M_real=r; _M_imag=0; } template template inline complex<_Tp>::complex(const complex<_Up>& __z) : _M_real(__z.real()), _M_imag(__z.imag()) { } template template complex<_Tp>& complex<_Tp>::operator=(const _Up& __t) { _M_real = __t; _M_imag = _Tp(0); return *this; } template complex<_Tp>& complex<_Tp>::operator=(const _Tp& __t) { _M_real = __t; _M_imag = _Tp(0); return *this; } template complex<_Tp>& complex<_Tp>::operator=(const int& __t) { _M_real = __t; _M_imag = _Tp(0); return *this; } template complex<_Tp>& complex<_Tp>::operator=(const double& __t) { _M_real = __t; _M_imag = _Tp(0); return *this; } // 26.2.5/1 template inline complex<_Tp>& complex<_Tp>::operator+=(const _Tp& __t) { _M_real += __t; return *this; } // 26.2.5/3 template inline complex<_Tp>& complex<_Tp>::operator-=(const _Tp& __t) { _M_real -= __t; return *this; } // 26.2.5/5 template complex<_Tp>& complex<_Tp>::operator*=(const _Tp& __t) { _M_real *= __t; _M_imag *= __t; return *this; } // 26.2.5/7 template complex<_Tp>& complex<_Tp>::operator/=(const _Tp& __t) { _M_real /= __t; _M_imag /= __t; return *this; } template template complex<_Tp>& complex<_Tp>::operator=(const complex<_Up>& __z) { _M_real = __z.real(); _M_imag = __z.imag(); return *this; } // 26.2.5/9 template template complex<_Tp>& complex<_Tp>::operator+=(const complex<_Up>& __z) { _M_real += __z.real(); _M_imag += __z.imag(); return *this; } // 26.2.5/11 template template complex<_Tp>& complex<_Tp>::operator-=(const complex<_Up>& __z) { _M_real -= __z.real(); _M_imag -= __z.imag(); return *this; } // 26.2.5/13 // XXX: This is a grammar school implementation. template template complex<_Tp>& complex<_Tp>::operator*=(const complex<_Up>& __z) { const _Tp __r = _M_real * __z.real() - _M_imag * __z.imag(); _M_imag = _M_real * __z.imag() + _M_imag * __z.real(); _M_real = __r; return *this; } // 26.2.5/15 // XXX: This is a grammar school implementation. template template complex<_Tp>& complex<_Tp>::operator/=(const complex<_Up>& __z) { const _Tp __r = _M_real * __z.real() + _M_imag * __z.imag(); const _Tp __n = norm(__z); _M_imag = (_M_imag * __z.real() - _M_real * __z.imag()) / __n; _M_real = __r / __n; return *this; } // Operators: template inline complex<_Tp> operator+(const complex<_Tp>& __x, const complex<_Tp>& __y) { return complex<_Tp> (__x) += __y; } template inline complex<_Tp> operator+(const complex<_Tp>& __x, const _Up& __y) { return complex<_Tp> (__x) += __y; } template inline complex<_Tp> operator+(const _Up& __x, const complex<_Tp>& __y) { return complex<_Tp> (__y) += __x; } template inline complex<_Tp> operator-(const complex<_Tp>& __x, const complex<_Tp>& __y) { return complex<_Tp> (__x) -= __y; } template inline complex<_Tp> operator-(const complex<_Tp>& __x, const _Up& __y) { return complex<_Tp> (__x) -= __y; } template inline complex<_Tp> operator-(const _Up& __x, const complex<_Tp>& __y) { return complex<_Tp> (__x) -= __y; } template inline complex<_Tp> operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) { return complex<_Tp> (__x) *= __y; } template inline complex<_Tp> operator*(const complex<_Tp>& __x, const _Up& __y) { return complex<_Tp> (__x) *= __y; } template inline complex<_Tp> operator*(const _Up& __x, const complex<_Tp>& __y) { return complex<_Tp> (__y) *= __x; } template inline complex<_Tp> operator/(const complex<_Tp>& __x, const complex<_Tp>& __y) { return complex<_Tp> (__x) /= __y; } template inline complex<_Tp> operator/(const complex<_Tp>& __x, const _Up& __y) { return complex<_Tp> (__x) /= __y; } template inline complex<_Tp> operator/(const _Up& __x, const complex<_Tp>& __y) { return complex<_Tp> (__x) /= __y; } template inline complex<_Tp> operator+(const complex<_Tp>& __x) { return __x; } template inline complex<_Tp> operator-(const complex<_Tp>& __x) { return complex<_Tp>(-__x.real(), -__x.imag()); } template inline bool operator==(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __x.real() == __y.real() && __x.imag() == __y.imag(); } template inline bool operator==(const complex<_Tp>& __x, const _Up& __y) { return __x.real() == __y && __x.imag() == _Tp(0); } template inline bool operator==(const _Up& __x, const complex<_Tp>& __y) { return __x == __y.real() && _Tp(0) == __y.imag(); } template inline bool operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __x.real() != __y.real() || __x.imag() != __y.imag(); } template inline bool operator!=(const complex<_Tp>& __x, const _Up& __y) { return __x.real() != __y || __x.imag() != _Tp(0); } template inline bool operator!=(const _Up& __x, const complex<_Tp>& __y) { return __x != __y.real() || _Tp(0) != __y.imag(); } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __x) { _Tp __re_x, __im_x; _CharT __ch; __is >> __ch; if (__ch == '(') { __is >> __re_x >> __ch; if (__ch == ',') { __is >> __im_x >> __ch; if (__ch == ')') __x = complex<_Tp>(__re_x, __im_x); else __is.setstate(ios_base::failbit); } else if (__ch == ')') __x = complex<_Tp>(__re_x, _Tp(0)); else __is.setstate(ios_base::failbit); } else { __is.putback(__ch); __is >> __re_x; __x = complex<_Tp>(__re_x, _Tp(0)); } return __is; } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x) { basic_ostringstream<_CharT, _Traits> __s; __s.flags(__os.flags()); __s.imbue(__os.getloc()); __s.precision(__os.precision()); __s << '(' << __x.real() << ',' << __x.imag() << ')'; return __os << __s.str(); } // Values template inline _Tp real(const complex<_Tp>& __z) { return __z.real(); } template inline _Tp imag(const complex<_Tp>& __z) { return __z.imag(); } template inline _Tp abs(const complex<_Tp>& __z) { _Tp __x = __z.real(); _Tp __y = __z.imag(); const _Tp __s = max(abs(__x), abs(__y)); if (__s == _Tp(0)) // well ... return __s; __x /= __s; __y /= __s; return __s * sqrt(__x * __x + __y * __y); } template inline _Tp arg(const complex<_Tp>& __z) { return atan2(__z.imag(), __z.real()); } // 26.2.7/5: norm(__z) returns the squared magintude of __z. // As defined, norm() is -not- a norm is the common mathematical // sens used in numerics. The helper class _Norm_helper<> tries to // distinguish between builtin floating point and the rest, so as // to deliver an answer as close as possible to the real value. template struct _Norm_helper { template static inline _Tp _S_do_it(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return __x * __x + __y * __y; } }; template<> struct _Norm_helper { template static inline _Tp _S_do_it(const complex<_Tp>& __z) { _Tp __res = abs(__z); return __res * __res; } }; //============= added from gcc 3.3 cpp_type_traits.h and renamed __is_floating_old // // Floating point types // template struct __is_floating_old { enum { _M_type = 0 }; }; // three specializations (float, double and 'long double') template<> struct __is_floating_old { enum { _M_type = 1 }; }; template<> struct __is_floating_old { enum { _M_type = 1 }; }; template<> struct __is_floating_old { enum { _M_type = 1 }; }; //============== end cut and paste and rename __is_floating template inline _Tp norm(const complex<_Tp>& __z) { return _Norm_helper<__is_floating_old<_Tp>::_M_type>::_S_do_it(__z); } template inline complex<_Tp> polar(const _Tp& __rho, const _Tp& __theta) { return complex<_Tp>(__rho * cos(__theta), __rho * sin(__theta)); } template inline complex<_Tp> conj(const complex<_Tp>& __z) { return complex<_Tp>(__z.real(), -__z.imag()); } // Transcendentals template inline complex<_Tp> cos(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return complex<_Tp>(cos(__x) * cosh(__y), -sin(__x) * sinh(__y)); } template inline complex<_Tp> cosh(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return complex<_Tp>(cosh(__x) * cos(__y), sinh(__x) * sin(__y)); } template inline complex<_Tp> exp(const complex<_Tp>& __z) { return polar(exp(__z.real()), __z.imag()); } template inline complex<_Tp> log(const complex<_Tp>& __z) { return complex<_Tp>(log(abs(__z)), arg(__z)); } template inline complex<_Tp> log10(const complex<_Tp>& __z) { return log(__z) / log(_Tp(10.0)); } template inline complex<_Tp> sin(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return complex<_Tp>(sin(__x) * cosh(__y), cos(__x) * sinh(__y)); } template inline complex<_Tp> sinh(const complex<_Tp>& __z) { const _Tp __x = __z.real(); const _Tp __y = __z.imag(); return complex<_Tp>(sinh(__x) * cos(__y), cosh(__x) * sin(__y)); } template complex<_Tp> sqrt(const complex<_Tp>& __z) { _Tp __x = __z.real(); _Tp __y = __z.imag(); if (__x == _Tp(0)) { _Tp __t = sqrt(abs(__y) / 2); return complex<_Tp>(__t, __y < _Tp(0) ? __t=-__t : __t); } else { _Tp __t = sqrt(2 * (abs(__z) + abs(__x))); _Tp __u = __t / 2; return __x > _Tp(0) ? complex<_Tp>(__u, __y / __t) : complex<_Tp>(abs(__y) / __t, __y < _Tp(0) ? __u=-__u : __u); } } template inline complex<_Tp> tan(const complex<_Tp>& __z) { return sin(__z) / cos(__z); } template inline complex<_Tp> tanh(const complex<_Tp>& __z) { return sinh(__z) / cosh(__z); } // Code from bits/cmath.cc, written by Gabriel Dos Reis template inline complex<_Tp> pow(const complex<_Tp>& __z, int __n) { complex<_Tp> __y = __n % 2 ? __z : complex<_Tp>(1); complex<_Tp> __x = __z; while (__n >>= 1) { __x = __x * __x; if (__n % 2) __y = __y * __x; } return __y; } template inline complex<_Tp> pow(const complex<_Tp>& __x, const _Up& __y) { return exp(__y * log(__x)); } template inline complex<_Tp> pow(const _Up& __x, const complex<_Tp>& __y) { return exp(__y * log(__x)); } template inline complex<_Tp> pow(const complex<_Tp>& __x, const complex<_Tp>& __y) { return exp(__y * log(__x)); } template inline complex<_Tp> pow(const _Tp& __x, const complex<_Tp>& __y) { return exp(__y * log(__x)); } // 26.2.3 complex specializations // complex specialization template<> class complex { public: typedef float value_type; complex(float = 0.0f, float = 0.0f); #ifdef _GLIBCPP_BUGGY_COMPLEX complex(const complex& __z) : _M_value(__z._M_value) { } #endif explicit complex(const complex&); explicit complex(const complex&); float real() const; float imag() const; complex& operator=(float); complex& operator+=(float); complex& operator-=(float); complex& operator*=(float); complex& operator/=(float); // Let's the compiler synthetize the copy and assignment // operator. It always does a pretty good job. // complex& operator= (const complex&); template complex&operator=(const complex<_Tp>&); template complex& operator+=(const complex<_Tp>&); template complex& operator-=(const complex<_Tp>&); template complex& operator*=(const complex<_Tp>&); template complex&operator/=(const complex<_Tp>&); private: typedef __complex__ float _ComplexT; _ComplexT _M_value; complex(_ComplexT __z) : _M_value(__z) { } friend class complex; friend class complex; }; inline float complex::real() const { return __real__ _M_value; } inline float complex::imag() const { return __imag__ _M_value; } inline complex::complex(float r, float i) { __real__ _M_value = r; __imag__ _M_value = i; } inline complex& complex::operator=(float __f) { __real__ _M_value = __f; __imag__ _M_value = 0.0f; return *this; } inline complex& complex::operator+=(float __f) { __real__ _M_value += __f; return *this; } inline complex& complex::operator-=(float __f) { __real__ _M_value -= __f; return *this; } inline complex& complex::operator*=(float __f) { _M_value *= __f; return *this; } inline complex& complex::operator/=(float __f) { _M_value /= __f; return *this; } template inline complex& complex::operator=(const complex<_Tp>& __z) { __real__ _M_value = __z.real(); __imag__ _M_value = __z.imag(); return *this; } template inline complex& complex::operator+=(const complex<_Tp>& __z) { __real__ _M_value += __z.real(); __imag__ _M_value += __z.imag(); return *this; } template inline complex& complex::operator-=(const complex<_Tp>& __z) { __real__ _M_value -= __z.real(); __imag__ _M_value -= __z.imag(); return *this; } template inline complex& complex::operator*=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value *= __t; return *this; } template inline complex& complex::operator/=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value /= __t; return *this; } // 26.2.3 complex specializations // complex specialization template<> class complex { public: typedef double value_type; complex(double =0.0, double =0.0); #ifdef _GLIBCPP_BUGGY_COMPLEX complex(const complex& __z) : _M_value(__z._M_value) { } #endif complex(const complex&); explicit complex(const complex&); double real() const; double imag() const; complex& operator=(double); complex& operator+=(double); complex& operator-=(double); complex& operator*=(double); complex& operator/=(double); // The compiler will synthetize this, efficiently. // complex& operator= (const complex&); template complex& operator=(const complex<_Tp>&); template complex& operator+=(const complex<_Tp>&); template complex& operator-=(const complex<_Tp>&); template complex& operator*=(const complex<_Tp>&); template complex& operator/=(const complex<_Tp>&); private: typedef __complex__ double _ComplexT; _ComplexT _M_value; complex(_ComplexT __z) : _M_value(__z) { } friend class complex; friend class complex; }; inline double complex::real() const { return __real__ _M_value; } inline double complex::imag() const { return __imag__ _M_value; } inline complex::complex(double __r, double __i) { __real__ _M_value = __r; __imag__ _M_value = __i; } inline complex& complex::operator=(double __d) { __real__ _M_value = __d; __imag__ _M_value = 0.0; return *this; } inline complex& complex::operator+=(double __d) { __real__ _M_value += __d; return *this; } inline complex& complex::operator-=(double __d) { __real__ _M_value -= __d; return *this; } inline complex& complex::operator*=(double __d) { _M_value *= __d; return *this; } inline complex& complex::operator/=(double __d) { _M_value /= __d; return *this; } template inline complex& complex::operator=(const complex<_Tp>& __z) { __real__ _M_value = __z.real(); __imag__ _M_value = __z.imag(); return *this; } template inline complex& complex::operator+=(const complex<_Tp>& __z) { __real__ _M_value += __z.real(); __imag__ _M_value += __z.imag(); return *this; } template inline complex& complex::operator-=(const complex<_Tp>& __z) { __real__ _M_value -= __z.real(); __imag__ _M_value -= __z.imag(); return *this; } template inline complex& complex::operator*=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value *= __t; return *this; } template inline complex& complex::operator/=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value /= __t; return *this; } // 26.2.3 complex specializations // complex specialization template<> class complex { public: typedef long double value_type; complex(long double = 0.0L, long double = 0.0L); #ifdef _GLIBCPP_BUGGY_COMPLEX complex(const complex& __z) : _M_value(__z._M_value) { } #endif complex(const complex&); complex(const complex&); long double real() const; long double imag() const; complex& operator= (long double); complex& operator+= (long double); complex& operator-= (long double); complex& operator*= (long double); complex& operator/= (long double); // The compiler knows how to do this efficiently // complex& operator= (const complex&); template complex& operator=(const complex<_Tp>&); template complex& operator+=(const complex<_Tp>&); template complex& operator-=(const complex<_Tp>&); template complex& operator*=(const complex<_Tp>&); template complex& operator/=(const complex<_Tp>&); private: typedef __complex__ long double _ComplexT; _ComplexT _M_value; complex(_ComplexT __z) : _M_value(__z) { } friend class complex; friend class complex; }; inline complex::complex(long double __r, long double __i) { __real__ _M_value = __r; __imag__ _M_value = __i; } inline long double complex::real() const { return __real__ _M_value; } inline long double complex::imag() const { return __imag__ _M_value; } inline complex& complex::operator=(long double __r) { __real__ _M_value = __r; __imag__ _M_value = 0.0L; return *this; } inline complex& complex::operator+=(long double __r) { __real__ _M_value += __r; return *this; } inline complex& complex::operator-=(long double __r) { __real__ _M_value -= __r; return *this; } inline complex& complex::operator*=(long double __r) { _M_value *= __r; return *this; } inline complex& complex::operator/=(long double __r) { _M_value /= __r; return *this; } template inline complex& complex::operator=(const complex<_Tp>& __z) { __real__ _M_value = __z.real(); __imag__ _M_value = __z.imag(); return *this; } template inline complex& complex::operator+=(const complex<_Tp>& __z) { __real__ _M_value += __z.real(); __imag__ _M_value += __z.imag(); return *this; } template inline complex& complex::operator-=(const complex<_Tp>& __z) { __real__ _M_value -= __z.real(); __imag__ _M_value -= __z.imag(); return *this; } template inline complex& complex::operator*=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value *= __t; return *this; } template inline complex& complex::operator/=(const complex<_Tp>& __z) { _ComplexT __t; __real__ __t = __z.real(); __imag__ __t = __z.imag(); _M_value /= __t; return *this; } // These bits have to be at the end of this file, so that the // specializations have all been defined. // ??? No, they have to be there because of compiler limitation at // inlining. It suffices that class specializations be defined. inline complex::complex(const complex& __z) : _M_value(_ComplexT(__z._M_value)) { } inline complex::complex(const complex& __z) : _M_value(_ComplexT(__z._M_value)) { } inline complex::complex(const complex& __z) : _M_value(_ComplexT(__z._M_value)) { } inline complex::complex(const complex& __z) { __real__ _M_value = __z.real(); __imag__ _M_value = __z.imag(); } inline complex::complex(const complex& __z) : _M_value(_ComplexT(__z._M_value)) { } inline complex::complex(const complex& __z) : _M_value(_ComplexT(__z._M_value)) { } } // namespace std #endif /* _CPP_COMPLEX */ lcalc-1.23+dfsg.orig/include/Lglobals.h0000644000175000017500000001466611151164270016415 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lglobals_H #define Lglobals_H using namespace std; #include #ifdef USE_MPFR #include "Lgmpfrxx.h" typedef mpfr_class Double; #else #ifdef USE_LONG_DOUBLE typedef long double Double; #else typedef double Double; #endif #endif #include "Lcomplex.h" //for complex numbers //#include //for complex numbers typedef complex Complex; #ifdef USE_LONG_DOUBLE #include "Lcommon_ld.h" #else #include "Lcommon.h" #endif #include #include //#include "Lint_complex.h" #include //--------Incomplete gamma function global variables-------- extern Complex last_z; // the last z to be considered in inc_GAMMA extern Complex last_w; // the last w to be considered in inc_GAMMA extern Complex last_comp_inc_GAMMA; // g(last_z,last_w) extern Complex last_z_GAMMA; //the last z to be considered in GAMMA extern Complex last_log_G; //the last log(GAMMA(z)); extern Double temme_a[1002],temme_g[501]; //used in Temme's asymptotic expansion of the //incomplete gamma function //XXXX might need more terms if I go to higher precision //-----Constants---------------------------------------------- extern Double Pi; extern Double log_2Pi; extern Complex I; extern bool only_use_dirichlet_series; //whether to compute just using the Dirichlet series extern int N_use_dirichlet_series; //if so, how many terms in the Dirichlet series to use. //-----Global variables---------------------------------------- extern int my_verbose; // verbosity level: 0 means no verbose extern int DIGITS, DIGITS2; // precision and sacrifice extern int DIGITS3; // how many digits to output extern Double tolerance; extern Double tolerance_sqrd; extern Double tolerance2; extern Double tolerance3; extern int global_derivative; //used to specify which derivative to compute extern int max_n; //the largest n used in a dirichlet series while computing a value extern Double A; //controls the 'support' of g(w) in Riemann sum method extern Double incr; //the increment in the Riemann sum method extern Double tweak; //used in value_via_Riemann_sum to play with the angle extern Double *LG; // lookup table for log(n) extern Double *two_inverse_SQUARE_ROOT; // lookup table for sqrt(n) extern int number_sqrts; // how many sqrt(n)'s to store extern int number_logs; // how many log(n)'s to store extern Double *bernoulli; // lookup table for bernoulli numbers extern bool print_warning; extern Long my_LLONG_MAX; extern int *prime_table; extern int number_primes; // Riemann Siegel band limited interpolation ---------------------------- extern const Double sin_cof[];//={1.,-1./6.,1./120.,-1./5040.,1./362880.,-1./39916800.}; extern const Double sinh_mult_fac; extern const Double sin_tol; extern const int sin_terms; extern const Double blfi_block_growth; // how fast blfi blocks grow as we traverse the main sum, keep as is for now extern const Double beta_fac_mult; // controls the density of blfi sampling and the number of blfi terms needed extern const Double blfi_fac; // efficiency of the blfi interpolation sum relative to an RS sum of same length extern const Double pts_array_fac; extern const int rs_blfi_N; extern Double *klog0; //log(k) at the beginning extern Double *klog2; //log(k) at the end if needed extern Double *ksqrt0; // 1/sqrt(k) at the beginning extern Double *ksqrt2;// 1/sqrt(k) at the end if needed extern int *num_blocks; // number of blocks extern int *size_blocks;// size of blocks extern Double *trig; // stores correction terms extern Double *zz; // store powers of fractional part extern Double **klog1; //log(k) in the middle if needed extern Double **ksqrt1; // 1/sqrt(k) in the middle if needed extern Double **klog_blfi; //initial term extern Double **qlog_blfi; //band-width extern Double **piv_org; //original pivot extern Double **bbeta; //beta extern Double **blambda; //lambda extern Double **bepsilon; //epsilon extern Double **arg_blfi; //arg_blfi extern Double **inv_arg_blfi; //inv_arg_blfi extern Double ***qlog_blfi_dense; // log(1+k/v) terms extern Double ***qsqrt_blfi_dense; // 1/sqrt(1+k/v) extern int ***blfi_done_left; //block done or not extern int ***blfi_done_right; //block done or not extern Double ***blfi_val_re_left; //real value of block extern Double ***blfi_val_re_right; //real value of block extern Double ***blfi_val_im_left; //imag value of block extern Double ***blfi_val_im_right; //imag value of block extern int length_org; // length of the main sum extern int length_split; // length of the portion of the main sum to be evaluated directly extern int lgdiv; // number of divisions of the main sum into intervals of the form [N,2N) extern int max_pts; // max number of interpolation points allowed extern int range; // number of blfi interpolation points needed extern int blfi_block_size_org; // starting length of the blfi block extern int total_blocks; extern int rs_flag; extern Double bc; extern Double bc2; extern Double kernel_fac; extern Double ler; extern Double mult_fac; extern Double approx_blfi_mean_spacing; extern Double interval_length; extern Double error_tolerance; extern Double input_mean_spacing; extern Double input_mean_spacing_given; //-----intializing and cleaning up routines---------------------- void initialize_globals(int n=200); void delete_globals(); void extend_LG_table(int m); void extend_sqrt_table(int m); void extend_prime_table(int m); int get_prime(int j); //----- used in one of the gamma routines. put it here since it is called //----- during initialize_globals Double dfac(int i); inline Double my_norm(Complex z) { return(real(z*conj(z))); } #endif lcalc-1.23+dfsg.orig/include/Lcommon_ld.h0000644000175000017500000000650510677075420016744 0ustar tobitobi// When MPFR is enabled and double is passed to a templated function // The function should use precise(ttype) to make sure calculations run // within the more precise type #define precise(T) typename precise::precise_type template struct precise { typedef T precise_type; }; template<> struct precise { typedef Double precise_type; }; template<> struct precise > { typedef Complex precise_type; }; #ifdef USE_MPFR template<> struct precise { typedef double precise_type; }; #else template<> struct precise { typedef long long precise_type; }; #endif //typedef precise::precise_type Long; typedef long long Long; // To aid conversion to int value inline long double to_double(const Double& x) { #ifdef USE_MPFR return x.get_d(); #else return x; #endif } #ifdef USE_MPFR inline long double to_double(const double& x) { return x; } inline long double to_double(const long double& x) { return x; } #endif inline long double to_double(const double& x) { return x; } inline long double to_double(const int& x) { return x; } inline long double to_double(const long long& x) { return x; } inline long double to_double(const short& x) { return x; } inline long double to_double(const char& x) { return x; } #define Int(x) (int)(to_double(x)) #define Long(x) (Long)(to_double(x)) #define double(x) (double)(to_double(x)) inline long double pow(long double x, double y) { return pow(x,(long double)y); } inline long double pow(double x, long double y) { return pow((long double)x,y); } template inline int sn(T x) { if (x>=0) return 1; else return -1; } const bool outputSeries=true; // Whether to output the coefficients or just the answer // Loop i from m to n // Useful in tidying up most for loops #define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) // A class for calculations involving polynomials of small degree // Not efficient enough for huge polynomials // // Polynomial of fixed degree N-1 with coefficients over T template struct smallPoly { valarray coeffs; typedef smallPoly poly; int N; T zero; smallPoly(int N=0) { this->N=N; coeffs.resize(N); zero=0; } void resize(int N) { coeffs.resize(N); loop(i,this->N,N) coeffs[i]=zero; this->N=N; } // Access a coefficient as a subscript T& operator[](int n) { return (n<0 ? zero : coeffs[n]); } const T& operator[](int n) const { return (n<0 ? zero : coeffs[n]); } // Multiply two polys together, truncating the result friend poly operator*(const poly& f, const poly& g) { poly result(max(f.N,g.N)); loop(i,0,f.N) result[i]=0; double test; loop(i,0,f.N) loop(j,0,result.N-i) { result[i+j]+=f[i]*g[j]; } return result; } // Divide (in place) by (x-1/a) = (1-ax)/(-a) with a!=0 void divideSpecial(T a) { loop(i,1,N) coeffs[i]+=coeffs[i-1]*a; coeffs*= -a; } // Evaluate the polynomial at x template U operator()(U x) { U sum=coeffs[0]; U cur=1; loop(i,1,N) { cur*=x; sum+=coeffs[i]*x; } return sum; } // Output to stdout friend ostream& operator<<(ostream& s, const poly p) { loop(i,0,p.N) s << (i ? " + " : "") << p[i] << "x^" << i; return s; } // Arithmetic template poly& operator*=(const U& x) { coeffs*=x; return *this; } template poly& operator/=(const U& x) { coeffs/=x; return *this; } }; lcalc-1.23+dfsg.orig/include/Lprint.h0000644000175000017500000000475411033341163016120 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ //-----------prints the basic data of the L-function---------------- template void L_function :: print_data_L (int N) // prints the basic data for the L-function { int k; cout << setprecision (DIGITS3); cout << "-----------------------------------------------" << endl << endl; cout << "Name of L_function: " << name << endl; if(number_of_dirichlet_coefficients>0) cout << "number of dirichlet coefficients = " << number_of_dirichlet_coefficients << endl; else cout << "All coefficients are equal to 1" << endl; if (what_type_L==1) cout << "coefficients are periodic" << endl; k=0; if (number_of_dirichlet_coefficients>0) do { k++; cout << "b[" << k << "] = " << dirichlet_coefficient[k] << endl; } while (k::precise_type template struct precise { typedef T precise_type; }; template<> struct precise { typedef Double precise_type; }; template<> struct precise > { typedef Complex precise_type; }; #ifdef USE_MPFR template<> struct precise { typedef double precise_type; }; #else template<> struct precise { typedef long long precise_type; }; #endif //typedef precise::precise_type Long; typedef long long Long; // To aid conversion to int value inline double lcalc_to_double(const Double& x) { #ifdef USE_MPFR return x.get_d(); #else return x; #endif } #ifdef USE_MPFR inline double lcalc_to_double(const double& x) { return x; } #endif //inline double lcalc_to_double(const long double& x) { return x; } inline double lcalc_to_double(const int& x) { return x; } inline double lcalc_to_double(const long long& x) { return x; } inline double lcalc_to_double(const short& x) { return x; } inline double lcalc_to_double(const char& x) { return x; } inline double lcalc_to_double(const long int& x) { return x; } inline double lcalc_to_double(const unsigned int& x) { return x; } inline double lcalc_to_double(const long unsigned int& x) { return x; } #define Int(x) (int)(lcalc_to_double(x)) #define Long(x) (Long)(lcalc_to_double(x)) #define double(x) (double)(lcalc_to_double(x)) template inline int sn(T x) { if (x>=0) return 1; else return -1; } const bool outputSeries=true; // Whether to output the coefficients or just the answer // Loop i from m to n // Useful in tidying up most for loops #define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) // A class for calculations involving polynomials of small degree // Not efficient enough for huge polynomials // // Polynomial of fixed degree N-1 with coefficients over T template struct smallPoly { valarray coeffs; typedef smallPoly poly; int N; T zero; smallPoly(int N=0) { this->N=N; coeffs.resize(N); zero=0; } void resize(int N) { coeffs.resize(N); loop(i,this->N,N) coeffs[i]=zero; this->N=N; } // Access a coefficient as a subscript T& operator[](int n) { return (n<0 ? zero : coeffs[n]); } const T& operator[](int n) const { return (n<0 ? zero : coeffs[n]); } // Multiply two polys together, truncating the result friend poly operator*(const poly& f, const poly& g) { poly result(max(f.N,g.N)); loop(i,0,f.N) result[i]=0; double test; loop(i,0,f.N) loop(j,0,result.N-i) { result[i+j]+=f[i]*g[j]; } return result; } // Divide (in place) by (x-1/a) = (1-ax)/(-a) with a!=0 void divideSpecial(T a) { loop(i,1,N) coeffs[i]+=coeffs[i-1]*a; coeffs*= -a; } // Evaluate the polynomial at x template U operator()(U x) { U sum=coeffs[0]; U cur=1; loop(i,1,N) { cur*=x; sum+=coeffs[i]*x; } return sum; } // Output to stdout friend ostream& operator<<(ostream& s, const poly p) { loop(i,0,p.N) s << (i ? " + " : "") << p[i] << "x^" << i; return s; } // Arithmetic template poly& operator*=(const U& x) { coeffs*=x; return *this; } template poly& operator/=(const U& x) { coeffs/=x; return *this; } }; lcalc-1.23+dfsg.orig/include/Lgmpfrxx.h0000644000175000017500000047174210700172260016464 0ustar tobitobi/* Michael Rubinstein's modified version of Jon Wilkening's gmfrxx.h */ /* gmpfrxx.h -- C++ class wrapper for GMP and MPFR types. this is a re-write of gmpxx.h to replace mpf with mpfr and add all the features of mpfr that aren't in mpf (modified by Jon Wilkening) CVS version: 1.14 The original gmpxx.h file is part of the GNU MP Library. Copyright 2001, 2002, 2003, 2006 Free Software Foundation, Inc. The GNU MP Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU MP Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU MP Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* the C++ compiler must implement the following features: - member templates - partial specialization of templates - namespace support for g++, this means version 2.91 or higher for other compilers, I don't know */ #ifdef __GNUC__ #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 91) #error gmpxx.h requires g++ version 2.91 (egcs 1.1.2) or higher #endif #endif #ifdef __GMP_PLUSPLUS__ #ifndef __GMPFR_PLUSPLUS__ #error gmpfrxx.h cannot be used together with gmpxx.h #endif #endif #ifndef __GMP_PLUSPLUS__ #define __GMP_PLUSPLUS__ #define __GMPFR_PLUSPLUS__ #include #include #include /* for strlen */ #include #include #include #include #include "mpfr_mul_d.h" // routines in gmpfrxx.cpp std::istream& operator>> (std::istream &, mpfr_ptr); std::ostream& operator<< (std::ostream &, mpfr_srcptr); void mpz_set_mpfr(mpz_ptr w, mpfr_srcptr u); void mpq_set_mpfr(mpq_ptr w, mpfr_srcptr u); // access these as mpfr_class::get_base(), etc. class MpFrC { static mpfr_rnd_t rnd; static int base; public: static int get_base() { return base; } static void set_base(int b=10) { base = b; } static inline mpfr_rnd_t get_rnd() { return rnd; } static void set_rnd(mpfr_rnd_t r=GMP_RNDN) { mpfr_set_default_rounding_mode(r); rnd = r; } static mpfr_prec_t get_dprec() { return mpfr_get_default_prec(); } static void set_dprec(mpfr_prec_t p=53) { mpfr_set_default_prec(p); } }; /**************** Function objects ****************/ /* Any evaluation of a __gmp_expr ends up calling one of these functions all intermediate functions being inline, the evaluation should optimize to a direct call to the relevant function, thus yielding no overhead over the C interface. */ struct __gmp_unary_plus { static void eval(mpz_ptr z, mpz_srcptr w) { mpz_set(z, w); } static void eval(mpq_ptr q, mpq_srcptr r) { mpq_set(q, r); } static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_set(f, g, MpFrC::get_rnd()); } }; struct __gmp_unary_minus { static void eval(mpz_ptr z, mpz_srcptr w) { mpz_neg(z, w); } static void eval(mpq_ptr q, mpq_srcptr r) { mpq_neg(q, r); } static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_neg(f, g, MpFrC::get_rnd()); } }; struct __gmp_unary_com { static void eval(mpz_ptr z, mpz_srcptr w) { mpz_com(z, w); } }; struct __gmp_binary_plus { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) { mpz_add(z, w, v); } static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) { mpz_add_ui(z, w, l); } static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) { mpz_add_ui(z, w, l); } static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) { if (l >= 0) mpz_add_ui(z, w, l); else mpz_sub_ui(z, w, -l); } static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) { if (l >= 0) mpz_add_ui(z, w, l); else mpz_sub_ui(z, w, -l); } static void eval(mpz_ptr z, mpz_srcptr w, double d) { mpz_t temp; mpz_init_set_d(temp, d); mpz_add(z, w, temp); mpz_clear(temp); } static void eval(mpz_ptr z, double d, mpz_srcptr w) { mpz_t temp; mpz_init_set_d(temp, d); mpz_add(z, temp, w); mpz_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s) { mpq_add(q, r, s); } static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) { mpq_set(q, r); mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); } static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r) { mpq_set(q, r); mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); } static void eval(mpq_ptr q, mpq_srcptr r, signed long int l) { mpq_set(q, r); if (l >= 0) mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); else mpz_submul_ui(mpq_numref(q), mpq_denref(q), -l); } static void eval(mpq_ptr q, signed long int l, mpq_srcptr r) { mpq_set(q, r); if (l >= 0) mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); else mpz_submul_ui(mpq_numref(q), mpq_denref(q), -l); } static void eval(mpq_ptr q, mpq_srcptr r, double d) { mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); mpq_add(q, r, temp); mpq_clear(temp); } static void eval(mpq_ptr q, double d, mpq_srcptr r) { mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); mpq_add(q, temp, r); mpq_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, mpz_srcptr z) { mpq_set(q, r); mpz_addmul(mpq_numref(q), mpq_denref(q), z); } static void eval(mpq_ptr q, mpz_srcptr z, mpq_srcptr r) { mpq_set(q, r); mpz_addmul(mpq_numref(q), mpq_denref(q), z); } static void eval(mpfr_ptr f, mpfr_srcptr g, mpfr_srcptr h) { mpfr_add(f, g, h, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, unsigned long int l) { mpfr_add_ui(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, unsigned long int l, mpfr_srcptr g) { mpfr_add_ui(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, signed long int l) { mpfr_add_si(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, signed long int l, mpfr_srcptr g) { mpfr_add_si(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, double d) { mpfr_add_d(f, g, d, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, double d, mpfr_srcptr g) { mpfr_add_d(f, g, d, MpFrC::get_rnd()); } }; struct __gmp_binary_minus { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) { mpz_sub(z, w, v); } static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) { mpz_sub_ui(z, w, l); } static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) { mpz_ui_sub(z, l, w); } static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) { if (l >= 0) mpz_sub_ui(z, w, l); else mpz_add_ui(z, w, -l); } static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) { if (l >= 0) mpz_ui_sub(z, l, w); else { mpz_add_ui(z, w, -l); mpz_neg(z, z); } } static void eval(mpz_ptr z, mpz_srcptr w, double d) { mpz_t temp; mpz_init_set_d(temp, d); mpz_sub(z, w, temp); mpz_clear(temp); } static void eval(mpz_ptr z, double d, mpz_srcptr w) { mpz_t temp; mpz_init_set_d(temp, d); mpz_sub(z, temp, w); mpz_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s) { mpq_sub(q, r, s); } static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) { mpq_set(q, r); mpz_submul_ui(mpq_numref(q), mpq_denref(q), l); } static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r) { mpq_neg(q, r); mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); } static void eval(mpq_ptr q, mpq_srcptr r, signed long int l) { mpq_set(q, r); if (l >= 0) mpz_submul_ui(mpq_numref(q), mpq_denref(q), l); else mpz_addmul_ui(mpq_numref(q), mpq_denref(q), -l); } static void eval(mpq_ptr q, signed long int l, mpq_srcptr r) { mpq_neg(q, r); if (l >= 0) mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); else mpz_submul_ui(mpq_numref(q), mpq_denref(q), -l); } static void eval(mpq_ptr q, mpq_srcptr r, double d) { mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); mpq_sub(q, r, temp); mpq_clear(temp); } static void eval(mpq_ptr q, double d, mpq_srcptr r) { mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); mpq_sub(q, temp, r); mpq_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, mpz_srcptr z) { mpq_set(q, r); mpz_submul(mpq_numref(q), mpq_denref(q), z); } static void eval(mpq_ptr q, mpz_srcptr z, mpq_srcptr r) { mpq_neg(q, r); mpz_addmul(mpq_numref(q), mpq_denref(q), z); } static void eval(mpfr_ptr f, mpfr_srcptr g, mpfr_srcptr h) { mpfr_sub(f, g, h, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, unsigned long int l) { mpfr_sub_ui(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, unsigned long int l, mpfr_srcptr g) { mpfr_ui_sub(f, l, g, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, signed long int l) { mpfr_sub_si(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, signed long int l, mpfr_srcptr g) { mpfr_ui_sub(f, l, g, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, double d) { mpfr_sub_d(f, g, d, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, double d, mpfr_srcptr g) { mpfr_d_sub(f, d, g, MpFrC::get_rnd()); } }; struct __gmp_binary_multiplies { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) { mpz_mul(z, w, v); } static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) { mpz_mul_ui(z, w, l); } static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) { mpz_mul_ui(z, w, l); } static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) { mpz_mul_si (z, w, l); } static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) { mpz_mul_si (z, w, l); } static void eval(mpz_ptr z, mpz_srcptr w, double d) { mpz_t temp; mpz_init_set_d(temp, d); mpz_mul(z, w, temp); mpz_clear(temp); } static void eval(mpz_ptr z, double d, mpz_srcptr w) { mpz_t temp; mpz_init_set_d(temp, d); mpz_mul(z, temp, w); mpz_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s) { mpq_mul(q, r, s); } static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) { mpq_t temp; mpq_init(temp); mpq_set_ui(temp, l, 1); mpq_mul(q, r, temp); mpq_clear(temp); } static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r) { mpq_t temp; mpq_init(temp); mpq_set_ui(temp, l, 1); mpq_mul(q, temp, r); mpq_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, signed long int l) { mpq_t temp; mpq_init(temp); mpq_set_si(temp, l, 1); mpq_mul(q, r, temp); mpq_clear(temp); } static void eval(mpq_ptr q, signed long int l, mpq_srcptr r) { mpq_t temp; mpq_init(temp); mpq_set_si(temp, l, 1); mpq_mul(q, temp, r); mpq_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, double d) { mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); mpq_mul(q, r, temp); mpq_clear(temp); } static void eval(mpq_ptr q, double d, mpq_srcptr r) { mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); mpq_mul(q, temp, r); mpq_clear(temp); } static void eval(mpfr_ptr f, mpfr_srcptr g, mpfr_srcptr h) { mpfr_mul(f, g, h, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, unsigned long int l) { mpfr_mul_ui(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, unsigned long int l, mpfr_srcptr g) { mpfr_mul_ui(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, signed long int l) { mpfr_mul_si(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, signed long int l, mpfr_srcptr g) { mpfr_mul_si(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, double d) { mpfr_mul_d(f, g, d, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, double d, mpfr_srcptr g) { mpfr_mul_d(f, g, d, MpFrC::get_rnd()); } }; struct __gmp_binary_divides { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) { mpz_tdiv_q(z, w, v); } static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) { mpz_tdiv_q_ui(z, w, l); } static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) { if (mpz_sgn(w) >= 0) { if (mpz_fits_ulong_p(w)) mpz_set_ui(z, l / mpz_get_ui(w)); else mpz_set_ui(z, 0); } else { mpz_neg(z, w); if (mpz_fits_ulong_p(z)) { mpz_set_ui(z, l / mpz_get_ui(z)); mpz_neg(z, z); } else mpz_set_ui(z, 0); } } static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) { if (l >= 0) mpz_tdiv_q_ui(z, w, l); else { mpz_tdiv_q_ui(z, w, -l); mpz_neg(z, z); } } static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) { if (mpz_fits_slong_p(w)) mpz_set_si(z, l / mpz_get_si(w)); else { /* if w is bigger than a long then the quotient must be zero, unless l==LONG_MIN and w==-LONG_MIN in which case the quotient is -1 */ mpz_set_si (z, (mpz_cmpabs_ui (w, (l >= 0 ? l : -l)) == 0 ? -1 : 0)); } } static void eval(mpz_ptr z, mpz_srcptr w, double d) { mpz_t temp; mpz_init_set_d(temp, d); mpz_tdiv_q(z, w, temp); mpz_clear(temp); } static void eval(mpz_ptr z, double d, mpz_srcptr w) { mpz_t temp; mpz_init_set_d(temp, d); mpz_tdiv_q(z, temp, w); mpz_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s) { mpq_div(q, r, s); } static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) { mpq_t temp; mpq_init(temp); mpq_set_ui(temp, l, 1); mpq_div(q, r, temp); mpq_clear(temp); } static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r) { mpq_t temp; mpq_init(temp); mpq_set_ui(temp, l, 1); mpq_div(q, temp, r); mpq_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, signed long int l) { mpq_t temp; mpq_init(temp); mpq_set_si(temp, l, 1); mpq_div(q, r, temp); mpq_clear(temp); } static void eval(mpq_ptr q, signed long int l, mpq_srcptr r) { mpq_t temp; mpq_init(temp); mpq_set_si(temp, l, 1); mpq_div(q, temp, r); mpq_clear(temp); } static void eval(mpq_ptr q, mpq_srcptr r, double d) { mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); mpq_div(q, r, temp); mpq_clear(temp); } static void eval(mpq_ptr q, double d, mpq_srcptr r) { mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); mpq_div(q, temp, r); mpq_clear(temp); } static void eval(mpfr_ptr f, mpfr_srcptr g, mpfr_srcptr h) { mpfr_div(f, g, h, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, unsigned long int l) { mpfr_div_ui(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, unsigned long int l, mpfr_srcptr g) { mpfr_ui_div(f, l, g, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, signed long int l) { mpfr_div_si(f, g, l, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, signed long int l, mpfr_srcptr g) { mpfr_si_div(f, l, g, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, double d) { mpfr_div_d(f, g, d, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, double d, mpfr_srcptr g) { mpfr_d_div(f, d, g, MpFrC::get_rnd()); } }; struct __gmp_binary_modulus { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) { mpz_tdiv_r(z, w, v); } static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) { mpz_tdiv_r_ui(z, w, l); } static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w) { if (mpz_sgn(w) >= 0) { if (mpz_fits_ulong_p(w)) mpz_set_ui(z, l % mpz_get_ui(w)); else mpz_set_ui(z, l); } else { mpz_neg(z, w); if (mpz_fits_ulong_p(z)) mpz_set_ui(z, l % mpz_get_ui(z)); else mpz_set_ui(z, l); } } static void eval(mpz_ptr z, mpz_srcptr w, signed long int l) { mpz_tdiv_r_ui (z, w, (l >= 0 ? l : -l)); } static void eval(mpz_ptr z, signed long int l, mpz_srcptr w) { if (mpz_fits_slong_p(w)) mpz_set_si(z, l % mpz_get_si(w)); else { /* if w is bigger than a long then the remainder is l unchanged, unless l==LONG_MIN and w==-LONG_MIN in which case it's 0 */ mpz_set_si (z, mpz_cmpabs_ui (w, (l >= 0 ? l : -l)) == 0 ? 0 : l); } } static void eval(mpz_ptr z, mpz_srcptr w, double d) { mpz_t temp; mpz_init_set_d(temp, d); mpz_tdiv_r(z, w, temp); mpz_clear(temp); } static void eval(mpz_ptr z, double d, mpz_srcptr w) { mpz_t temp; mpz_init_set_d(temp, d); mpz_tdiv_r(z, temp, w); mpz_clear(temp); } }; struct __gmp_binary_and { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) { mpz_and(z, w, v); } }; struct __gmp_binary_ior { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) { mpz_ior(z, w, v); } }; struct __gmp_binary_xor { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v) { mpz_xor(z, w, v); } }; struct __gmp_binary_lshift { static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) { mpz_mul_2exp(z, w, l); } static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) { mpq_mul_2exp(q, r, l); } static void eval(mpfr_ptr f, mpfr_srcptr g, unsigned long int l) { mpfr_mul_2ui(f, g, l, MpFrC::get_rnd()); } }; struct __gmp_binary_rshift { static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l) { mpz_tdiv_q_2exp(z, w, l); } static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l) { mpq_div_2exp(q, r, l); } static void eval(mpfr_ptr f, mpfr_srcptr g, unsigned long int l) { mpfr_div_2ui(f, g, l, MpFrC::get_rnd()); } }; struct __gmp_binary_equal { static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) == 0; } static bool eval(mpz_srcptr z, unsigned long int l) { return mpz_cmp_ui(z, l) == 0; } static bool eval(unsigned long int l, mpz_srcptr z) { return mpz_cmp_ui(z, l) == 0; } static bool eval(mpz_srcptr z, signed long int l) { return mpz_cmp_si(z, l) == 0; } static bool eval(signed long int l, mpz_srcptr z) { return mpz_cmp_si(z, l) == 0; } static bool eval(mpz_srcptr z, double d) { return mpz_cmp_d(z, d) == 0; } static bool eval(double d, mpz_srcptr z) { return mpz_cmp_d(z, d) == 0; } static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_equal(q, r) != 0; } static bool eval(mpq_srcptr q, unsigned long int l) { return mpq_cmp_ui(q, l, 1) == 0; } static bool eval(unsigned long int l, mpq_srcptr q) { return mpq_cmp_ui(q, l, 1) == 0; } static bool eval(mpq_srcptr q, signed long int l) { return mpq_cmp_si(q, l, 1) == 0; } static bool eval(signed long int l, mpq_srcptr q) { return mpq_cmp_si(q, l, 1) == 0; } static bool eval(mpq_srcptr q, double d) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_equal(q, temp) != 0); mpq_clear(temp); return b; } static bool eval(double d, mpq_srcptr q) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_equal(temp, q) != 0); mpq_clear(temp); return b; } static bool eval(mpfr_srcptr f, mpfr_srcptr g) { return mpfr_cmp(f, g) == 0; } static bool eval(mpfr_srcptr f, unsigned long int l) { return mpfr_cmp_ui(f, l) == 0; } static bool eval(unsigned long int l, mpfr_srcptr f) { return mpfr_cmp_ui(f, l) == 0; } static bool eval(mpfr_srcptr f, signed long int l) { return mpfr_cmp_si(f, l) == 0; } static bool eval(signed long int l, mpfr_srcptr f) { return mpfr_cmp_si(f, l) == 0; } static bool eval(mpfr_srcptr f, double d) { return mpfr_cmp_d(f, d) == 0; } static bool eval(double d, mpfr_srcptr f) { return mpfr_cmp_d(f, d) == 0; } }; struct __gmp_binary_not_equal { static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) != 0; } static bool eval(mpz_srcptr z, unsigned long int l) { return mpz_cmp_ui(z, l) != 0; } static bool eval(unsigned long int l, mpz_srcptr z) { return mpz_cmp_ui(z, l) != 0; } static bool eval(mpz_srcptr z, signed long int l) { return mpz_cmp_si(z, l) != 0; } static bool eval(signed long int l, mpz_srcptr z) { return mpz_cmp_si(z, l) != 0; } static bool eval(mpz_srcptr z, double d) { return mpz_cmp_d(z, d) != 0; } static bool eval(double d, mpz_srcptr z) { return mpz_cmp_d(z, d) != 0; } static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_equal(q, r) == 0; } static bool eval(mpq_srcptr q, unsigned long int l) { return mpq_cmp_ui(q, l, 1) != 0; } static bool eval(unsigned long int l, mpq_srcptr q) { return mpq_cmp_ui(q, l, 1) != 0; } static bool eval(mpq_srcptr q, signed long int l) { return mpq_cmp_si(q, l, 1) != 0; } static bool eval(signed long int l, mpq_srcptr q) { return mpq_cmp_si(q, l, 1) != 0; } static bool eval(mpq_srcptr q, double d) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_equal(q, temp) == 0); mpq_clear(temp); return b; } static bool eval(double d, mpq_srcptr q) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_equal(temp, q) == 0); mpq_clear(temp); return b; } static bool eval(mpfr_srcptr f, mpfr_srcptr g) { return mpfr_cmp(f, g) != 0; } static bool eval(mpfr_srcptr f, unsigned long int l) { return mpfr_cmp_ui(f, l) != 0; } static bool eval(unsigned long int l, mpfr_srcptr f) { return mpfr_cmp_ui(f, l) != 0; } static bool eval(mpfr_srcptr f, signed long int l) { return mpfr_cmp_si(f, l) != 0; } static bool eval(signed long int l, mpfr_srcptr f) { return mpfr_cmp_si(f, l) != 0; } static bool eval(mpfr_srcptr f, double d) { return mpfr_cmp_d(f, d) != 0; } static bool eval(double d, mpfr_srcptr f) { return mpfr_cmp_d(f, d) != 0; } }; struct __gmp_binary_less { static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) < 0; } static bool eval(mpz_srcptr z, unsigned long int l) { return mpz_cmp_ui(z, l) < 0; } static bool eval(unsigned long int l, mpz_srcptr z) { return mpz_cmp_ui(z, l) > 0; } static bool eval(mpz_srcptr z, signed long int l) { return mpz_cmp_si(z, l) < 0; } static bool eval(signed long int l, mpz_srcptr z) { return mpz_cmp_si(z, l) > 0; } static bool eval(mpz_srcptr z, double d) { return mpz_cmp_d(z, d) < 0; } static bool eval(double d, mpz_srcptr z) { return mpz_cmp_d(z, d) > 0; } static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r) < 0; } static bool eval(mpq_srcptr q, unsigned long int l) { return mpq_cmp_ui(q, l, 1) < 0; } static bool eval(unsigned long int l, mpq_srcptr q) { return mpq_cmp_ui(q, l, 1) > 0; } static bool eval(mpq_srcptr q, signed long int l) { return mpq_cmp_si(q, l, 1) < 0; } static bool eval(signed long int l, mpq_srcptr q) { return mpq_cmp_si(q, l, 1) > 0; } static bool eval(mpq_srcptr q, double d) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_cmp(q, temp) < 0); mpq_clear(temp); return b; } static bool eval(double d, mpq_srcptr q) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_cmp(temp, q) < 0); mpq_clear(temp); return b; } static bool eval(mpfr_srcptr f, mpfr_srcptr g) { return mpfr_cmp(f, g) < 0; } static bool eval(mpfr_srcptr f, unsigned long int l) { return mpfr_cmp_ui(f, l) < 0; } static bool eval(unsigned long int l, mpfr_srcptr f) { return mpfr_cmp_ui(f, l) > 0; } static bool eval(mpfr_srcptr f, signed long int l) { return mpfr_cmp_si(f, l) < 0; } static bool eval(signed long int l, mpfr_srcptr f) { return mpfr_cmp_si(f, l) > 0; } static bool eval(mpfr_srcptr f, double d) { return mpfr_cmp_d(f, d) < 0; } static bool eval(double d, mpfr_srcptr f) { return mpfr_cmp_d(f, d) > 0; } }; struct __gmp_binary_less_equal { static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) <= 0; } static bool eval(mpz_srcptr z, unsigned long int l) { return mpz_cmp_ui(z, l) <= 0; } static bool eval(unsigned long int l, mpz_srcptr z) { return mpz_cmp_ui(z, l) >= 0; } static bool eval(mpz_srcptr z, signed long int l) { return mpz_cmp_si(z, l) <= 0; } static bool eval(signed long int l, mpz_srcptr z) { return mpz_cmp_si(z, l) >= 0; } static bool eval(mpz_srcptr z, double d) { return mpz_cmp_d(z, d) <= 0; } static bool eval(double d, mpz_srcptr z) { return mpz_cmp_d(z, d) >= 0; } static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r) <= 0; } static bool eval(mpq_srcptr q, unsigned long int l) { return mpq_cmp_ui(q, l, 1) <= 0; } static bool eval(unsigned long int l, mpq_srcptr q) { return mpq_cmp_ui(q, l, 1) >= 0; } static bool eval(mpq_srcptr q, signed long int l) { return mpq_cmp_si(q, l, 1) <= 0; } static bool eval(signed long int l, mpq_srcptr q) { return mpq_cmp_si(q, l, 1) >= 0; } static bool eval(mpq_srcptr q, double d) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_cmp(q, temp) <= 0); mpq_clear(temp); return b; } static bool eval(double d, mpq_srcptr q) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_cmp(temp, q) <= 0); mpq_clear(temp); return b; } static bool eval(mpfr_srcptr f, mpfr_srcptr g) { return mpfr_cmp(f, g) <= 0; } static bool eval(mpfr_srcptr f, unsigned long int l) { return mpfr_cmp_ui(f, l) <= 0; } static bool eval(unsigned long int l, mpfr_srcptr f) { return mpfr_cmp_ui(f, l) >= 0; } static bool eval(mpfr_srcptr f, signed long int l) { return mpfr_cmp_si(f, l) <= 0; } static bool eval(signed long int l, mpfr_srcptr f) { return mpfr_cmp_si(f, l) >= 0; } static bool eval(mpfr_srcptr f, double d) { return mpfr_cmp_d(f, d) <= 0; } static bool eval(double d, mpfr_srcptr f) { return mpfr_cmp_d(f, d) >= 0; } }; struct __gmp_binary_greater { static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) > 0; } static bool eval(mpz_srcptr z, unsigned long int l) { return mpz_cmp_ui(z, l) > 0; } static bool eval(unsigned long int l, mpz_srcptr z) { return mpz_cmp_ui(z, l) < 0; } static bool eval(mpz_srcptr z, signed long int l) { return mpz_cmp_si(z, l) > 0; } static bool eval(signed long int l, mpz_srcptr z) { return mpz_cmp_si(z, l) < 0; } static bool eval(mpz_srcptr z, double d) { return mpz_cmp_d(z, d) > 0; } static bool eval(double d, mpz_srcptr z) { return mpz_cmp_d(z, d) < 0; } static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r) > 0; } static bool eval(mpq_srcptr q, unsigned long int l) { return mpq_cmp_ui(q, l, 1) > 0; } static bool eval(unsigned long int l, mpq_srcptr q) { return mpq_cmp_ui(q, l, 1) < 0; } static bool eval(mpq_srcptr q, signed long int l) { return mpq_cmp_si(q, l, 1) > 0; } static bool eval(signed long int l, mpq_srcptr q) { return mpq_cmp_si(q, l, 1) < 0; } static bool eval(mpq_srcptr q, double d) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_cmp(q, temp) > 0); mpq_clear(temp); return b; } static bool eval(double d, mpq_srcptr q) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_cmp(temp, q) > 0); mpq_clear(temp); return b; } static bool eval(mpfr_srcptr f, mpfr_srcptr g) { return mpfr_cmp(f, g) > 0; } static bool eval(mpfr_srcptr f, unsigned long int l) { return mpfr_cmp_ui(f, l) > 0; } static bool eval(unsigned long int l, mpfr_srcptr f) { return mpfr_cmp_ui(f, l) < 0; } static bool eval(mpfr_srcptr f, signed long int l) { return mpfr_cmp_si(f, l) > 0; } static bool eval(signed long int l, mpfr_srcptr f) { return mpfr_cmp_si(f, l) < 0; } static bool eval(mpfr_srcptr f, double d) { return mpfr_cmp_d(f, d) > 0; } static bool eval(double d, mpfr_srcptr f) { return mpfr_cmp_d(f, d) < 0; } }; struct __gmp_binary_greater_equal { static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) >= 0; } static bool eval(mpz_srcptr z, unsigned long int l) { return mpz_cmp_ui(z, l) >= 0; } static bool eval(unsigned long int l, mpz_srcptr z) { return mpz_cmp_ui(z, l) <= 0; } static bool eval(mpz_srcptr z, signed long int l) { return mpz_cmp_si(z, l) >= 0; } static bool eval(signed long int l, mpz_srcptr z) { return mpz_cmp_si(z, l) <= 0; } static bool eval(mpz_srcptr z, double d) { return mpz_cmp_d(z, d) >= 0; } static bool eval(double d, mpz_srcptr z) { return mpz_cmp_d(z, d) <= 0; } static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r) >= 0; } static bool eval(mpq_srcptr q, unsigned long int l) { return mpq_cmp_ui(q, l, 1) >= 0; } static bool eval(unsigned long int l, mpq_srcptr q) { return mpq_cmp_ui(q, l, 1) <= 0; } static bool eval(mpq_srcptr q, signed long int l) { return mpq_cmp_si(q, l, 1) >= 0; } static bool eval(signed long int l, mpq_srcptr q) { return mpq_cmp_si(q, l, 1) <= 0; } static bool eval(mpq_srcptr q, double d) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_cmp(q, temp) >= 0); mpq_clear(temp); return b; } static bool eval(double d, mpq_srcptr q) { bool b; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); b = (mpq_cmp(temp, q) >= 0); mpq_clear(temp); return b; } static bool eval(mpfr_srcptr f, mpfr_srcptr g) { return mpfr_cmp(f, g) >= 0; } static bool eval(mpfr_srcptr f, unsigned long int l) { return mpfr_cmp_ui(f, l) >= 0; } static bool eval(unsigned long int l, mpfr_srcptr f) { return mpfr_cmp_ui(f, l) <= 0; } static bool eval(mpfr_srcptr f, signed long int l) { return mpfr_cmp_si(f, l) >= 0; } static bool eval(signed long int l, mpfr_srcptr f) { return mpfr_cmp_si(f, l) <= 0; } static bool eval(mpfr_srcptr f, double d) { return mpfr_cmp_d(f, d) >= 0; } static bool eval(double d, mpfr_srcptr f) { return mpfr_cmp_d(f, d) <= 0; } }; struct __gmp_unary_increment { static void eval(mpz_ptr z) { mpz_add_ui(z, z, 1); } static void eval(mpq_ptr q) { mpz_add(mpq_numref(q), mpq_numref(q), mpq_denref(q)); } static void eval(mpfr_ptr f) { mpfr_add_ui(f, f, 1, MpFrC::get_rnd()); } }; struct __gmp_unary_decrement { static void eval(mpz_ptr z) { mpz_sub_ui(z, z, 1); } static void eval(mpq_ptr q) { mpz_sub(mpq_numref(q), mpq_numref(q), mpq_denref(q)); } static void eval(mpfr_ptr f) { mpfr_sub_ui(f, f, 1, MpFrC::get_rnd()); } }; struct __gmp_abs_function { static void eval(mpz_ptr z, mpz_srcptr w) { mpz_abs(z, w); } static void eval(mpq_ptr q, mpq_srcptr r) { mpq_abs(q, r); } static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_abs(f, g, MpFrC::get_rnd()); } }; struct __gmp_rint_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_rint(f, g, MpFrC::get_rnd()); } }; struct __gmp_trunc_function { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_trunc(f, g); } }; struct __gmp_floor_function { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_floor(f, g); } }; struct __gmp_ceil_function { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_ceil(f, g); } }; struct __gmp_sqrt_function { static void eval(mpz_ptr z, mpz_srcptr w) { mpz_sqrt(z, w); } static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_sqrt(f, g, MpFrC::get_rnd()); } }; struct __gmp_log_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_log(f, g, MpFrC::get_rnd()); } }; struct __gmp_log2_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_log2(f, g, MpFrC::get_rnd()); } }; struct __gmp_log10_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_log10(f, g, MpFrC::get_rnd()); } }; struct __gmp_exp_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_exp(f, g, MpFrC::get_rnd()); } }; struct __gmp_exp2_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_exp2(f, g, MpFrC::get_rnd()); } }; struct __gmp_exp10_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_exp10(f, g, MpFrC::get_rnd()); } }; struct __gmp_cos_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_cos(f, g, MpFrC::get_rnd()); } }; struct __gmp_sin_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_sin(f, g, MpFrC::get_rnd()); } }; struct __gmp_tan_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_tan(f, g, MpFrC::get_rnd()); } }; struct __gmp_sec_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_sec(f, g, MpFrC::get_rnd()); } }; struct __gmp_csc_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_csc(f, g, MpFrC::get_rnd()); } }; struct __gmp_cot_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_cot(f, g, MpFrC::get_rnd()); } }; struct __gmp_acos_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_acos(f, g, MpFrC::get_rnd()); } }; struct __gmp_asin_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_asin(f, g, MpFrC::get_rnd()); } }; struct __gmp_atan_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_atan(f, g, MpFrC::get_rnd()); } }; struct __gmp_atan2_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g, mpfr_srcptr h) { mpfr_atan2(f, g, h, MpFrC::get_rnd()); } }; struct __gmp_cosh_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_cosh(f, g, MpFrC::get_rnd()); } }; struct __gmp_sinh_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_sinh(f, g, MpFrC::get_rnd()); } }; struct __gmp_tanh_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_tanh(f, g, MpFrC::get_rnd()); } }; struct __gmp_sech_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_sech(f, g, MpFrC::get_rnd()); } }; struct __gmp_csch_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_csch(f, g, MpFrC::get_rnd()); } }; struct __gmp_coth_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_coth(f, g, MpFrC::get_rnd()); } }; struct __gmp_acosh_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_acosh(f, g, MpFrC::get_rnd()); } }; struct __gmp_asinh_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_asinh(f, g, MpFrC::get_rnd()); } }; struct __gmp_atanh_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_atanh(f, g, MpFrC::get_rnd()); } }; struct __gmp_fac_ui_function // not in gmpxx { static void eval(mpfr_ptr f, unsigned long int l) { mpfr_fac_ui(f, l, MpFrC::get_rnd()); } }; struct __gmp_log1p_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_log1p(f, g, MpFrC::get_rnd()); } }; struct __gmp_expm1_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_expm1(f, g, MpFrC::get_rnd()); } }; struct __gmp_eint_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_eint(f, g, MpFrC::get_rnd()); } }; struct __gmp_gamma_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_gamma(f, g, MpFrC::get_rnd()); } }; struct __gmp_lngamma_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_lngamma(f, g, MpFrC::get_rnd()); } }; struct __gmp_zeta_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_zeta(f, g, MpFrC::get_rnd()); } }; struct __gmp_erf_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_erf(f, g, MpFrC::get_rnd()); } }; struct __gmp_erfc_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g) { mpfr_erfc(f, g, MpFrC::get_rnd()); } }; struct __gmp_agm_function // not in gmpxx { static void eval(mpfr_ptr f, mpfr_srcptr g, mpfr_srcptr h) { mpfr_agm(f, g, h, MpFrC::get_rnd()); } }; struct __gmp_const_log2_function // not in gmpxx { static void eval(mpfr_ptr f) { mpfr_const_log2(f, MpFrC::get_rnd()); } }; struct __gmp_const_pi_function // not in gmpxx { static void eval(mpfr_ptr f) { mpfr_const_pi(f, MpFrC::get_rnd()); } }; struct __gmp_const_euler_function // not in gmpxx { static void eval(mpfr_ptr f) { mpfr_const_euler(f, MpFrC::get_rnd()); } }; struct __gmp_const_catalan_function // not in gmpxx { static void eval(mpfr_ptr f) { mpfr_const_catalan(f, MpFrC::get_rnd()); } }; struct __gmp_hypot_function { static void eval(mpfr_ptr f, mpfr_srcptr g, mpfr_srcptr h) { mpfr_hypot(f, g, h, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, unsigned long int l) { mpfr_set_ui(f, l, MpFrC::get_rnd()); mpfr_hypot(f, g, f, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, unsigned long int l, mpfr_srcptr g) { mpfr_set_ui(f, l, MpFrC::get_rnd()); mpfr_hypot(f, g, f, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, signed long int l) { mpfr_set_si(f, l, MpFrC::get_rnd()); mpfr_hypot(f, g, f, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, signed long int l, mpfr_srcptr g) { mpfr_set_si(f, l, MpFrC::get_rnd()); mpfr_hypot(f, g, f, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, mpfr_srcptr g, double d) { mpfr_set_d(f, d, MpFrC::get_rnd()); mpfr_hypot(f, g, f, MpFrC::get_rnd()); } static void eval(mpfr_ptr f, double d, mpfr_srcptr g) { mpfr_set_d(f, d, MpFrC::get_rnd()); mpfr_hypot(f, g, f, MpFrC::get_rnd()); } }; struct __gmp_sgn_function { static int eval(mpz_srcptr z) { return mpz_sgn(z); } static int eval(mpq_srcptr q) { return mpq_sgn(q); } static int eval(mpfr_srcptr f) { return mpfr_sgn(f); } }; struct __gmp_cmp_function { static int eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w); } static int eval(mpz_srcptr z, unsigned long int l) { return mpz_cmp_ui(z, l); } static int eval(unsigned long int l, mpz_srcptr z) { return -mpz_cmp_ui(z, l); } static int eval(mpz_srcptr z, signed long int l) { return mpz_cmp_si(z, l); } static int eval(signed long int l, mpz_srcptr z) { return -mpz_cmp_si(z, l); } static int eval(mpz_srcptr z, double d) { return mpz_cmp_d(z, d); } static int eval(double d, mpz_srcptr z) { return -mpz_cmp_d(z, d); } static int eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r); } static int eval(mpq_srcptr q, unsigned long int l) { return mpq_cmp_ui(q, l, 1); } static int eval(unsigned long int l, mpq_srcptr q) { return -mpq_cmp_ui(q, l, 1); } static int eval(mpq_srcptr q, signed long int l) { return mpq_cmp_si(q, l, 1); } static int eval(signed long int l, mpq_srcptr q) { return -mpq_cmp_si(q, l, 1); } static int eval(mpq_srcptr q, double d) { int i; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); i = mpq_cmp(q, temp); mpq_clear(temp); return i; } static int eval(double d, mpq_srcptr q) { int i; mpq_t temp; mpq_init(temp); mpq_set_d(temp, d); i = mpq_cmp(temp, q); mpq_clear(temp); return i; } static int eval(mpfr_srcptr f, mpfr_srcptr g) { return mpfr_cmp(f, g); } static int eval(mpfr_srcptr f, unsigned long int l) { return mpfr_cmp_ui(f, l); } static int eval(unsigned long int l, mpfr_srcptr f) { return -mpfr_cmp_ui(f, l); } static int eval(mpfr_srcptr f, signed long int l) { return mpfr_cmp_si(f, l); } static int eval(signed long int l, mpfr_srcptr f) { return -mpfr_cmp_si(f, l); } static int eval(mpfr_srcptr f, double d) { return mpfr_cmp_d(f, d); } static int eval(double d, mpfr_srcptr f) { return -mpfr_cmp_d(f, d); } }; struct __gmp_ternary_addmul // z = w + v * u { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v, mpz_srcptr u) { mpz_set(z, w); mpz_addmul(z, v, u); } static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v, unsigned long int l) { mpz_set(z, w); mpz_addmul_ui(z, v, l); } static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l, mpz_srcptr v) { mpz_set(z, w); mpz_addmul_ui(z, v, l); } static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v, signed long int l) { mpz_set(z, w); if (l >= 0) mpz_addmul_ui(z, v, l); else mpz_submul_ui(z, v, -l); } static void eval(mpz_ptr z, mpz_srcptr w, signed long int l, mpz_srcptr v) { mpz_set(z, w); if (l >= 0) mpz_addmul_ui(z, v, l); else mpz_submul_ui(z, v, -l); } static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v, double d) { mpz_t temp; mpz_init_set_d(temp, d); mpz_set(z, w); mpz_addmul(z, v, temp); mpz_clear(temp); } static void eval(mpz_ptr z, mpz_srcptr w, double d, mpz_srcptr v) { mpz_t temp; mpz_init_set_d(temp, d); mpz_set(z, w); mpz_addmul(z, temp, v); mpz_clear(temp); } }; struct __gmp_ternary_submul // z = w - v * u { static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v, mpz_srcptr u) { mpz_set(z, w); mpz_submul(z, v, u); } static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v, unsigned long int l) { mpz_set(z, w); mpz_submul_ui(z, v, l); } static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l, mpz_srcptr v) { mpz_set(z, w); mpz_submul_ui(z, v, l); } static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v, signed long int l) { mpz_set(z, w); if (l >= 0) mpz_submul_ui(z, v, l); else mpz_addmul_ui(z, v, -l); } static void eval(mpz_ptr z, mpz_srcptr w, signed long int l, mpz_srcptr v) { mpz_set(z, w); if (l >= 0) mpz_submul_ui(z, v, l); else mpz_addmul_ui(z, v, -l); } static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v, double d) { mpz_t temp; mpz_init_set_d(temp, d); mpz_set(z, w); mpz_submul(z, v, temp); mpz_clear(temp); } static void eval(mpz_ptr z, mpz_srcptr w, double d, mpz_srcptr v) { mpz_t temp; mpz_init_set_d(temp, d); mpz_set(z, w); mpz_submul(z, temp, v); mpz_clear(temp); } }; struct __gmp_rand_function { static void eval(mpz_ptr z, gmp_randstate_t s, unsigned long int l) { mpz_urandomb(z, s, l); } static void eval(mpz_ptr z, gmp_randstate_t s, mpz_srcptr w) { mpz_urandomm(z, s, w); } static void eval(mpfr_ptr f, gmp_randstate_t s, unsigned long int prec) { // note code change from gmpxx.h unsigned long int precf = mpfr_get_prec(f); if (prec == precf) { mpfr_urandomb(f, s); } else { mpfr_set_prec(f, prec); mpfr_urandomb(f, s); mpfr_prec_round(f, precf, MpFrC::get_rnd()); } } }; /**************** Auxiliary classes ****************/ /* this is much the same as gmp_allocated_string in gmp-impl.h since gmp-impl.h is not publicly available, I redefine it here I use a different name to avoid possible clashes */ struct __gmp_alloc_cstring { char *str; __gmp_alloc_cstring(char *s) { str = s; } ~__gmp_alloc_cstring() { void (*freefunc) (void *, size_t); mp_get_memory_functions (NULL, NULL, &freefunc); (*freefunc) (str, std::strlen(str)+1); } }; // general expression template class template class __gmp_expr; // templates for resolving expression types template struct __gmp_resolve_ref { typedef T ref_type; }; template struct __gmp_resolve_ref<__gmp_expr > { typedef const __gmp_expr & ref_type; }; template struct __gmp_resolve_expr; template <> struct __gmp_resolve_expr { typedef mpz_t value_type; typedef mpz_ptr ptr_type; }; template <> struct __gmp_resolve_expr { typedef mpq_t value_type; typedef mpq_ptr ptr_type; }; template <> struct __gmp_resolve_expr { typedef mpfr_t value_type; typedef mpfr_ptr ptr_type; }; template <> struct __gmp_resolve_expr { typedef mpq_t value_type; }; template <> struct __gmp_resolve_expr { typedef mpq_t value_type; }; template <> struct __gmp_resolve_expr { typedef mpfr_t value_type; }; template <> struct __gmp_resolve_expr { typedef mpfr_t value_type; }; template <> struct __gmp_resolve_expr { typedef mpfr_t value_type; }; template <> struct __gmp_resolve_expr { typedef mpfr_t value_type; }; template struct __gmp_resolve_temp { typedef __gmp_expr temp_type; }; template struct __gmp_resolve_temp { typedef const __gmp_expr & temp_type; }; // classes for evaluating unary and binary expressions template struct __gmp_unary_expr { // const T &val; // <-- gmpxx implementation typename __gmp_resolve_ref::ref_type val; // modification __gmp_unary_expr(const T &v) : val(v) { } private: __gmp_unary_expr(); }; template struct __gmp_binary_expr { typename __gmp_resolve_ref::ref_type val1; typename __gmp_resolve_ref::ref_type val2; __gmp_binary_expr(const T &v1, const U &v2) : val1(v1), val2(v2) { } private: __gmp_binary_expr(); }; // not in gmpxx template struct __gmp_void_expr { __gmp_void_expr() { } }; // functions for evaluating expressions template void __gmp_set_expr(mpz_ptr, const __gmp_expr &); template void __gmp_set_expr(mpq_ptr, const __gmp_expr &); template void __gmp_set_expr(mpfr_ptr, const __gmp_expr &); /**************** Macros for in-class declarations ****************/ /* This is just repetitive code that is easier to maintain if it's written only once */ #define __GMPP_DECLARE_COMPOUND_OPERATOR(fun) \ template \ __gmp_expr & fun(const __gmp_expr &); #define __GMPN_DECLARE_COMPOUND_OPERATOR(fun) \ __gmp_expr & fun(signed char); \ __gmp_expr & fun(unsigned char); \ __gmp_expr & fun(signed int); \ __gmp_expr & fun(unsigned int); \ __gmp_expr & fun(signed short int); \ __gmp_expr & fun(unsigned short int); \ __gmp_expr & fun(signed long int); \ __gmp_expr & fun(unsigned long int); \ __gmp_expr & fun(float); \ __gmp_expr & fun(double); \ __gmp_expr & fun(long double); #define __GMP_DECLARE_COMPOUND_OPERATOR(fun) \ __GMPP_DECLARE_COMPOUND_OPERATOR(fun) \ __GMPN_DECLARE_COMPOUND_OPERATOR(fun) #define __GMP_DECLARE_COMPOUND_OPERATOR_UI(fun) \ __gmp_expr & fun(unsigned long int); #define __GMP_DECLARE_INCREMENT_OPERATOR(fun) \ inline __gmp_expr & fun(); \ inline __gmp_expr fun(int); /**************** mpz_class -- wrapper for mpz_t ****************/ template <> class __gmp_expr { private: typedef mpz_t value_type; value_type mp; public: unsigned long int get_prec() const { return mpfr_get_default_prec(); } // constructors and destructor __gmp_expr() { mpz_init(mp); } __gmp_expr(const __gmp_expr &z) { mpz_init_set(mp, z.mp); } template __gmp_expr(const __gmp_expr &expr) { mpz_init(mp); __gmp_set_expr(mp, expr); } __gmp_expr(signed char c) { mpz_init_set_si(mp, c); } __gmp_expr(unsigned char c) { mpz_init_set_ui(mp, c); } __gmp_expr(signed int i) { mpz_init_set_si(mp, i); } __gmp_expr(unsigned int i) { mpz_init_set_ui(mp, i); } __gmp_expr(signed short int s) { mpz_init_set_si(mp, s); } __gmp_expr(unsigned short int s) { mpz_init_set_ui(mp, s); } __gmp_expr(signed long int l) { mpz_init_set_si(mp, l); } __gmp_expr(unsigned long int l) { mpz_init_set_ui(mp, l); } __gmp_expr(float f) { mpz_init_set_d(mp, f); } __gmp_expr(double d) { mpz_init_set_d(mp, d); } // __gmp_expr(long double ld) { mpz_init_set_d(mp, ld); } explicit __gmp_expr(const char *s) { if (mpz_init_set_str (mp, s, 0) != 0) { mpz_clear (mp); throw std::invalid_argument ("mpz_set_str"); } } __gmp_expr(const char *s, int base) { if (mpz_init_set_str (mp, s, base) != 0) { mpz_clear (mp); throw std::invalid_argument ("mpz_set_str"); } } explicit __gmp_expr(const std::string &s) { if (mpz_init_set_str (mp, s.c_str(), 0) != 0) { mpz_clear (mp); throw std::invalid_argument ("mpz_set_str"); } } __gmp_expr(const std::string &s, int base) { if (mpz_init_set_str(mp, s.c_str(), base) != 0) { mpz_clear (mp); throw std::invalid_argument ("mpz_set_str"); } } explicit __gmp_expr(mpz_srcptr z) { mpz_init_set(mp, z); } ~__gmp_expr() { mpz_clear(mp); } // assignment operators __gmp_expr & operator=(const __gmp_expr &z) { mpz_set(mp, z.mp); return *this; } template __gmp_expr & operator=(const __gmp_expr &expr) { __gmp_set_expr(mp, expr); return *this; } __gmp_expr & operator=(signed char c) { mpz_set_si(mp, c); return *this; } __gmp_expr & operator=(unsigned char c) { mpz_set_ui(mp, c); return *this; } __gmp_expr & operator=(signed int i) { mpz_set_si(mp, i); return *this; } __gmp_expr & operator=(unsigned int i) { mpz_set_ui(mp, i); return *this; } __gmp_expr & operator=(signed short int s) { mpz_set_si(mp, s); return *this; } __gmp_expr & operator=(unsigned short int s) { mpz_set_ui(mp, s); return *this; } __gmp_expr & operator=(signed long int l) { mpz_set_si(mp, l); return *this; } __gmp_expr & operator=(unsigned long int l) { mpz_set_ui(mp, l); return *this; } __gmp_expr & operator=(float f) { mpz_set_d(mp, f); return *this; } __gmp_expr & operator=(double d) { mpz_set_d(mp, d); return *this; } // __gmp_expr & operator=(long double ld) // { mpz_set_ld(mp, ld); return *this; } __gmp_expr & operator=(const char *s) { if (mpz_set_str (mp, s, 0) != 0) throw std::invalid_argument ("mpz_set_str"); return *this; } __gmp_expr & operator=(const std::string &s) { if (mpz_set_str(mp, s.c_str(), 0) != 0) throw std::invalid_argument ("mpz_set_str"); return *this; } // string input/output functions int set_str(const char *s, int base) { return mpz_set_str(mp, s, base); } int set_str(const std::string &s, int base) { return mpz_set_str(mp, s.c_str(), base); } std::string get_str(int base = 10) const { __gmp_alloc_cstring temp(mpz_get_str(0, base, mp)); return std::string(temp.str); } // conversion functions mpz_srcptr __get_mp() const { return mp; } mpz_ptr __get_mp() { return mp; } mpz_srcptr get_mpz_t() const { return mp; } mpz_ptr get_mpz_t() { return mp; } signed long int get_si() const { return mpz_get_si(mp); } unsigned long int get_ui() const { return mpz_get_ui(mp); } double get_d() const { return mpz_get_d(mp); } // bool fits_schar_p() const { return mpz_fits_schar_p(mp); } // bool fits_uchar_p() const { return mpz_fits_uchar_p(mp); } bool fits_sint_p() const { return mpz_fits_sint_p(mp); } bool fits_uint_p() const { return mpz_fits_uint_p(mp); } bool fits_sshort_p() const { return mpz_fits_sshort_p(mp); } bool fits_ushort_p() const { return mpz_fits_ushort_p(mp); } bool fits_slong_p() const { return mpz_fits_slong_p(mp); } bool fits_ulong_p() const { return mpz_fits_ulong_p(mp); } // bool fits_float_p() const { return mpz_fits_float_p(mp); } // bool fits_double_p() const { return mpz_fits_double_p(mp); } // bool fits_ldouble_p() const { return mpz_fits_ldouble_p(mp); } // member operators __GMP_DECLARE_COMPOUND_OPERATOR(operator+=) __GMP_DECLARE_COMPOUND_OPERATOR(operator-=) __GMP_DECLARE_COMPOUND_OPERATOR(operator*=) __GMP_DECLARE_COMPOUND_OPERATOR(operator/=) __GMP_DECLARE_COMPOUND_OPERATOR(operator%=) __GMPP_DECLARE_COMPOUND_OPERATOR(operator&=) __GMPP_DECLARE_COMPOUND_OPERATOR(operator|=) __GMPP_DECLARE_COMPOUND_OPERATOR(operator^=) __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator<<=) __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator>>=) __GMP_DECLARE_INCREMENT_OPERATOR(operator++) __GMP_DECLARE_INCREMENT_OPERATOR(operator--) }; typedef __gmp_expr mpz_class; /**************** mpq_class -- wrapper for mpq_t ****************/ template <> class __gmp_expr { private: typedef mpq_t value_type; value_type mp; public: unsigned long int get_prec() const { return mpfr_get_default_prec(); } void canonicalize() { mpq_canonicalize(mp); } // constructors and destructor __gmp_expr() { mpq_init(mp); } __gmp_expr(const __gmp_expr &q) { mpq_init(mp); mpq_set(mp, q.mp); } template __gmp_expr(const __gmp_expr &expr) { mpq_init(mp); __gmp_set_expr(mp, expr); } __gmp_expr(signed char c) { mpq_init(mp); mpq_set_si(mp, c, 1); } __gmp_expr(unsigned char c) { mpq_init(mp); mpq_set_ui(mp, c, 1); } __gmp_expr(signed int i) { mpq_init(mp); mpq_set_si(mp, i, 1); } __gmp_expr(unsigned int i) { mpq_init(mp); mpq_set_ui(mp, i, 1); } __gmp_expr(signed short int s) { mpq_init(mp); mpq_set_si(mp, s, 1); } __gmp_expr(unsigned short int s) { mpq_init(mp); mpq_set_ui(mp, s, 1); } __gmp_expr(signed long int l) { mpq_init(mp); mpq_set_si(mp, l, 1); } __gmp_expr(unsigned long int l) { mpq_init(mp); mpq_set_ui(mp, l, 1); } __gmp_expr(float f) { mpq_init(mp); mpq_set_d(mp, f); } __gmp_expr(double d) { mpq_init(mp); mpq_set_d(mp, d); } // __gmp_expr(long double ld) { mpq_init(mp); mpq_set_ld(mp, ld); } explicit __gmp_expr(const char *s) { mpq_init (mp); if (mpq_set_str (mp, s, 0) != 0) { mpq_clear (mp); throw std::invalid_argument ("mpq_set_str"); } } __gmp_expr(const char *s, int base) { mpq_init (mp); if (mpq_set_str(mp, s, base) != 0) { mpq_clear (mp); throw std::invalid_argument ("mpq_set_str"); } } explicit __gmp_expr(const std::string &s) { mpq_init (mp); if (mpq_set_str (mp, s.c_str(), 0) != 0) { mpq_clear (mp); throw std::invalid_argument ("mpq_set_str"); } } __gmp_expr(const std::string &s, int base) { mpq_init(mp); if (mpq_set_str (mp, s.c_str(), base) != 0) { mpq_clear (mp); throw std::invalid_argument ("mpq_set_str"); } } explicit __gmp_expr(mpq_srcptr q) { mpq_init(mp); mpq_set(mp, q); } __gmp_expr(const mpz_class &num, const mpz_class &den) { mpq_init(mp); mpz_set(mpq_numref(mp), num.get_mpz_t()); mpz_set(mpq_denref(mp), den.get_mpz_t()); } ~__gmp_expr() { mpq_clear(mp); } // assignment operators __gmp_expr & operator=(const __gmp_expr &q) { mpq_set(mp, q.mp); return *this; } template __gmp_expr & operator=(const __gmp_expr &expr) { __gmp_set_expr(mp, expr); return *this; } __gmp_expr & operator=(signed char c) { mpq_set_si(mp, c, 1); return *this; } __gmp_expr & operator=(unsigned char c) { mpq_set_ui(mp, c, 1); return *this; } __gmp_expr & operator=(signed int i) { mpq_set_si(mp, i, 1); return *this; } __gmp_expr & operator=(unsigned int i) { mpq_set_ui(mp, i, 1); return *this; } __gmp_expr & operator=(signed short int s) { mpq_set_si(mp, s, 1); return *this; } __gmp_expr & operator=(unsigned short int s) { mpq_set_ui(mp, s, 1); return *this; } __gmp_expr & operator=(signed long int l) { mpq_set_si(mp, l, 1); return *this; } __gmp_expr & operator=(unsigned long int l) { mpq_set_ui(mp, l, 1); return *this; } __gmp_expr & operator=(float f) { mpq_set_d(mp, f); return *this; } __gmp_expr & operator=(double d) { mpq_set_d(mp, d); return *this; } // __gmp_expr & operator=(long double ld) // { mpq_set_ld(mp, ld); return *this; } __gmp_expr & operator=(const char *s) { if (mpq_set_str (mp, s, 0) != 0) throw std::invalid_argument ("mpq_set_str"); return *this; } __gmp_expr & operator=(const std::string &s) { if (mpq_set_str(mp, s.c_str(), 0) != 0) throw std::invalid_argument ("mpq_set_str"); return *this; } // string input/output functions int set_str(const char *s, int base) { return mpq_set_str(mp, s, base); } int set_str(const std::string &s, int base) { return mpq_set_str(mp, s.c_str(), base); } std::string get_str(int base = 10) const { __gmp_alloc_cstring temp(mpq_get_str(0, base, mp)); return std::string(temp.str); } // conversion functions // casting a reference to an mpz_t to mpz_class & is a dirty hack, // but works because the internal representation of mpz_class is // exactly an mpz_t const mpz_class & get_num() const { return reinterpret_cast(*mpq_numref(mp)); } mpz_class & get_num() { return reinterpret_cast(*mpq_numref(mp)); } const mpz_class & get_den() const { return reinterpret_cast(*mpq_denref(mp)); } mpz_class & get_den() { return reinterpret_cast(*mpq_denref(mp)); } mpq_srcptr __get_mp() const { return mp; } mpq_ptr __get_mp() { return mp; } mpq_srcptr get_mpq_t() const { return mp; } mpq_ptr get_mpq_t() { return mp; } mpz_srcptr get_num_mpz_t() const { return mpq_numref(mp); } mpz_ptr get_num_mpz_t() { return mpq_numref(mp); } mpz_srcptr get_den_mpz_t() const { return mpq_denref(mp); } mpz_ptr get_den_mpz_t() { return mpq_denref(mp); } double get_d() const { return mpq_get_d(mp); } // compound assignments __GMP_DECLARE_COMPOUND_OPERATOR(operator+=) __GMP_DECLARE_COMPOUND_OPERATOR(operator-=) __GMP_DECLARE_COMPOUND_OPERATOR(operator*=) __GMP_DECLARE_COMPOUND_OPERATOR(operator/=) __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator<<=) __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator>>=) __GMP_DECLARE_INCREMENT_OPERATOR(operator++) __GMP_DECLARE_INCREMENT_OPERATOR(operator--) }; typedef __gmp_expr mpq_class; /**************** mpfr_class -- wrapper for mpfr_t ****************/ template <> class __gmp_expr : public MpFrC { private: typedef mpfr_t value_type; value_type mp; public: unsigned long int get_prec() const { return mpfr_get_prec(mp); } void set_prec(unsigned long int prec) { mpfr_set_prec(mp, prec); } void set_prec_raw(unsigned long int prec) { mpfr_set_prec_raw(mp, prec); } void prec_round(unsigned long int prec) { mpfr_prec_round(mp, prec, MpFrC::get_rnd()); } // constructors and destructor __gmp_expr() { mpfr_init(mp); } __gmp_expr(const __gmp_expr &f) { mpfr_init2(mp, f.get_prec()); mpfr_set(mp, f.mp, MpFrC::get_rnd()); } __gmp_expr(const __gmp_expr &f, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set(mp, f.mp, MpFrC::get_rnd()); } template __gmp_expr(const __gmp_expr &expr) { mpfr_init2(mp, expr.get_prec()); __gmp_set_expr(mp, expr); } template __gmp_expr(const __gmp_expr &expr, unsigned long int prec) { mpfr_init2(mp, prec); __gmp_set_expr(mp, expr); } __gmp_expr(signed char c) { mpfr_init_set_si(mp, c, MpFrC::get_rnd()); } __gmp_expr(signed char c, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_si(mp, c, MpFrC::get_rnd()); } __gmp_expr(unsigned char c) { mpfr_init_set_ui(mp, c, MpFrC::get_rnd()); } __gmp_expr(unsigned char c, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_ui(mp, c, MpFrC::get_rnd()); } __gmp_expr(signed int i) { mpfr_init_set_si(mp, i, MpFrC::get_rnd()); } __gmp_expr(signed int i, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_si(mp, i, MpFrC::get_rnd()); } __gmp_expr(unsigned int i) { mpfr_init_set_ui(mp, i, MpFrC::get_rnd()); } __gmp_expr(unsigned int i, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_ui(mp, i, MpFrC::get_rnd()); } __gmp_expr(signed short int s) { mpfr_init_set_si(mp, s, MpFrC::get_rnd()); } __gmp_expr(signed short int s, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_si(mp, s, MpFrC::get_rnd()); } __gmp_expr(unsigned short int s) { mpfr_init_set_ui(mp, s, MpFrC::get_rnd()); } __gmp_expr(unsigned short int s, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_ui(mp, s, MpFrC::get_rnd()); } __gmp_expr(signed long int l) { mpfr_init_set_si(mp, l, MpFrC::get_rnd()); } __gmp_expr(signed long int l, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_si(mp, l, MpFrC::get_rnd()); } __gmp_expr(unsigned long int l) { mpfr_init_set_ui(mp, l, MpFrC::get_rnd()); } __gmp_expr(unsigned long int l, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_ui(mp, l, MpFrC::get_rnd()); } __gmp_expr(float f) { mpfr_init_set_d(mp, f, MpFrC::get_rnd()); } __gmp_expr(float f, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_d(mp, f, MpFrC::get_rnd()); } __gmp_expr(double d) { mpfr_init_set_d(mp, d, MpFrC::get_rnd()); } __gmp_expr(double d, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set_d(mp, d, MpFrC::get_rnd()); } // __gmp_expr(long double ld) // { mpfr_init_set_d(mp, ld, MpFrC::get_rnd()); } // __gmp_expr(long double ld, unsigned long int prec) // { mpfr_init2(mp, prec); mpfr_set_d(mp, ld, MpFrC::get_rnd()); } explicit __gmp_expr(const char *s) { if (mpfr_init_set_str (mp, s, MpFrC::get_base(), MpFrC::get_rnd()) != 0) { mpfr_clear (mp); throw std::invalid_argument ("mpfr_set_str"); } } __gmp_expr(const char *s, unsigned long int prec, int base = 0) { mpfr_init2(mp, prec); if (mpfr_set_str(mp, s, base, MpFrC::get_rnd()) != 0) { mpfr_clear (mp); throw std::invalid_argument ("mpfr_set_str"); } } explicit __gmp_expr(const std::string &s) { if (mpfr_init_set_str(mp, s.c_str(), MpFrC::get_base(), MpFrC::get_rnd()) != 0) { mpfr_clear (mp); throw std::invalid_argument ("mpfr_set_str"); } } __gmp_expr(const std::string &s, unsigned long int prec, int base = 0) { mpfr_init2(mp, prec); if (mpfr_set_str(mp, s.c_str(), base, MpFrC::get_rnd()) != 0) { mpfr_clear (mp); throw std::invalid_argument ("mpfr_set_str"); } } explicit __gmp_expr(mpfr_srcptr f) { mpfr_init2(mp, mpfr_get_prec(f)); mpfr_set(mp, f, MpFrC::get_rnd()); } __gmp_expr(mpfr_srcptr f, unsigned long int prec) { mpfr_init2(mp, prec); mpfr_set(mp, f, MpFrC::get_rnd()); } ~__gmp_expr() { mpfr_clear(mp); } // assignment operators __gmp_expr & operator=(const __gmp_expr &f) { mpfr_set(mp, f.mp, MpFrC::get_rnd()); return *this; } template __gmp_expr & operator=(const __gmp_expr &expr) { __gmp_set_expr(mp, expr); return *this; } __gmp_expr & operator=(signed char c) { mpfr_set_si(mp, c, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(unsigned char c) { mpfr_set_ui(mp, c, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(signed int i) { mpfr_set_si(mp, i, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(unsigned int i) { mpfr_set_ui(mp, i, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(signed short int s) { mpfr_set_si(mp, s, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(unsigned short int s) { mpfr_set_ui(mp, s, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(signed long int l) { mpfr_set_si(mp, l, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(unsigned long int l) { mpfr_set_ui(mp, l, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(float f) { mpfr_set_d(mp, f, MpFrC::get_rnd()); return *this; } __gmp_expr & operator=(double d) { mpfr_set_d(mp, d, MpFrC::get_rnd()); return *this; } // __gmp_expr & operator=(long double ld) // { mpfr_set_ld(mp, ld); return *this; } __gmp_expr & operator=(const char *s) { if (mpfr_set_str (mp, s, MpFrC::get_base(), MpFrC::get_rnd()) != 0) throw std::invalid_argument ("mpfr_set_str"); return *this; } __gmp_expr & operator=(const std::string &s) { if (mpfr_set_str(mp, s.c_str(), MpFrC::get_base(), MpFrC::get_rnd()) != 0) throw std::invalid_argument ("mpfr_set_str"); return *this; } // string input/output functions int set_str(const char *s, int base) { return mpfr_set_str(mp, s, base, MpFrC::get_rnd()); } int set_str(const std::string &s, int base) { return mpfr_set_str(mp, s.c_str(), base, MpFrC::get_rnd()); } std::string get_str(mp_exp_t &expo, int base = 10, size_t size = 0) const { __gmp_alloc_cstring temp(mpfr_get_str(0, &expo, base, size, mp, MpFrC::get_rnd())); return std::string(temp.str); } // conversion functions mpfr_srcptr __get_mp() const { return mp; } mpfr_ptr __get_mp() { return mp; } mpfr_srcptr get_mpfr_t() const { return mp; } mpfr_ptr get_mpfr_t() { return mp; } signed long int get_si() const { return mpfr_get_si(mp, MpFrC::get_rnd()); } unsigned long int get_ui() const { return mpfr_get_ui(mp, MpFrC::get_rnd()); } double get_d() const { return mpfr_get_d(mp, MpFrC::get_rnd()); } // bool fits_schar_p() const { return mpfr_fits_schar_p(mp, MpFrC::get_rnd()); } // bool fits_uchar_p() const { return mpfr_fits_uchar_p(mp, MpFrC::get_rnd()); } bool fits_sint_p() const { return mpfr_fits_sint_p(mp, MpFrC::get_rnd()); } bool fits_uint_p() const { return mpfr_fits_uint_p(mp, MpFrC::get_rnd()); } bool fits_sshort_p() const { return mpfr_fits_sshort_p(mp, MpFrC::get_rnd()); } bool fits_ushort_p() const { return mpfr_fits_ushort_p(mp, MpFrC::get_rnd()); } bool fits_slong_p() const { return mpfr_fits_slong_p(mp, MpFrC::get_rnd()); } bool fits_ulong_p() const { return mpfr_fits_ulong_p(mp, MpFrC::get_rnd()); } // bool fits_float_p() const // { return mpfr_fits_float_p(mp, MpFrC::get_rnd()); } // bool fits_double_p() const // { return mpfr_fits_double_p(mp, MpFrC::get_rnd()); } // bool fits_ldouble_p() const // { return mpfr_fits_ldouble_p(mp, MpFrC::get_rnd()); } // compound assignments __GMP_DECLARE_COMPOUND_OPERATOR(operator+=) __GMP_DECLARE_COMPOUND_OPERATOR(operator-=) __GMP_DECLARE_COMPOUND_OPERATOR(operator*=) __GMP_DECLARE_COMPOUND_OPERATOR(operator/=) __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator<<=) __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator>>=) __GMP_DECLARE_INCREMENT_OPERATOR(operator++) __GMP_DECLARE_INCREMENT_OPERATOR(operator--) }; typedef __gmp_expr mpfr_class; /**************** I/O operators ****************/ // these are provided separately in libgmpxx and mpfrxx.cpp template inline std::ostream & operator<< (std::ostream &o, const __gmp_expr &expr) { return o << expr.__get_mp(); } template inline std::ostream & operator<< (std::ostream &o, const __gmp_expr &expr) { __gmp_expr temp(expr); return o << temp.__get_mp(); } template inline std::istream & operator>>(std::istream &i, __gmp_expr &expr) { return i >> expr.__get_mp(); } inline std::istream & operator>>(std::istream &i, mpq_class &q) { i >> q.get_mpq_t(); // q.canonicalize(); // you might want to uncomment this return i; } /**************** Functions for type conversion ****************/ template <> inline void __gmp_set_expr(mpz_ptr z, const mpz_class &w) { mpz_set(z, w.get_mpz_t()); } template inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr &expr) { expr.eval(z); } template <> inline void __gmp_set_expr(mpz_ptr z, const mpq_class &q) { mpz_set_q(z, q.get_mpq_t()); } template inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr &expr) { mpq_class temp(expr); mpz_set_q(z, temp.get_mpq_t()); } template inline void __gmp_set_expr(mpz_ptr z, const mpfr_class &f) { mpz_set_mpfr(z, f.get_mpfr_t()); } template inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr &expr) { mpfr_class temp(expr); mpz_set_mpfr(z, temp.get_mpfr_t()); } template <> inline void __gmp_set_expr(mpq_ptr q, const mpz_class &z) { mpq_set_z(q, z.get_mpz_t()); } template inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr &expr) { mpz_class temp(expr); mpq_set_z(q, temp.get_mpz_t()); } template <> inline void __gmp_set_expr(mpq_ptr q, const mpq_class &r) { mpq_set(q, r.get_mpq_t()); } template inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr &expr) { expr.eval(q); } template inline void __gmp_set_expr(mpq_ptr q, const mpfr_class &f) { mpq_set_mpfr(q, f.get_mpfr_t()); } template inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr &expr) { mpfr_class temp(expr); mpq_set_mpfr(q, temp.get_mpfr_t()); } template inline void __gmp_set_expr(mpfr_ptr f, const mpz_class &z) { mpfr_set_z(f, z.get_mpz_t(), MpFrC::get_rnd()); } template inline void __gmp_set_expr(mpfr_ptr f, const __gmp_expr &expr) { mpz_class temp(expr); mpfr_set_z(f, temp.get_mpz_t(), MpFrC::get_rnd()); } template inline void __gmp_set_expr(mpfr_ptr f, const mpq_class &q) { mpfr_set_q(f, q.get_mpq_t(), MpFrC::get_rnd()); } template inline void __gmp_set_expr(mpfr_ptr f, const __gmp_expr &expr) { mpq_class temp(expr); mpfr_set_q(f, temp.get_mpq_t(), MpFrC::get_rnd()); } template <> inline void __gmp_set_expr(mpfr_ptr f, const mpfr_class &g) { mpfr_set(f, g.get_mpfr_t(), MpFrC::get_rnd()); } template inline void __gmp_set_expr(mpfr_ptr f, const __gmp_expr &expr) { expr.eval(f, mpfr_get_prec(f)); } /**************** Specializations of __gmp_expr ****************/ /* The eval() method of __gmp_expr evaluates the corresponding expression and assigns the result to its argument, which is either an mpz_t, mpq_t, or mpfr_t as specified by the T argument. Compound expressions are evaluated recursively (temporaries are created to hold intermediate values), while for simple expressions the eval() method of the appropriate function object (available as the Op argument of either __gmp_unary_expr or __gmp_binary_expr) is called. */ /**************** Void expressions (not in gmpxx) ****************/ template class __gmp_expr > { private: __gmp_void_expr expr; public: __gmp_expr() : expr() { } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int = 0) const { Op::eval(p); } }; /**************** Unary expressions ****************/ /* cases: - simple: argument is mp*_class, that is, __gmp_expr - compound: argument is __gmp_expr (with U not equal to T) */ // simple expressions template class __gmp_expr, Op> > { private: typedef __gmp_expr val_type; __gmp_unary_expr expr; public: __gmp_expr(const val_type &val) : expr(val) { } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int = 0) const { Op::eval(p, expr.val.__get_mp()); } const val_type & get_val() const { return expr.val; } unsigned long int get_prec() const { return expr.val.get_prec(); } }; // not in gmpxx (argument is a built-in type) template class __gmp_expr > { private: typedef U val_type; __gmp_unary_expr expr; public: __gmp_expr(const val_type &val) : expr(val) { } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int = 0) const { Op::eval(p, expr.val); } const val_type & get_val() const { return expr.val; } }; // compound expressions template class __gmp_expr, Op> > { private: typedef __gmp_expr val_type; __gmp_unary_expr expr; public: __gmp_expr(const val_type &val) : expr(val) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp(expr.val); Op::eval(p, temp.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp(expr.val, prec); Op::eval(p, temp.__get_mp()); } const val_type & get_val() const { return expr.val; } unsigned long int get_prec() const { return expr.val.get_prec(); } }; /**************** Binary expressions ****************/ /* simple: - arguments are both mp*_class - one argument is mp*_class, one is a built-in type compound: - one is mp*_class, one is __gmp_expr - one is __gmp_expr, one is built-in - both arguments are __gmp_expr<...> */ // simple expressions template class __gmp_expr , __gmp_expr, Op> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int = 0) const { Op::eval(p, expr.val1.__get_mp(), expr.val2.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { unsigned long int prec1 = expr.val1.get_prec(), prec2 = expr.val2.get_prec(); return (prec1 > prec2) ? prec1 : prec2; } }; // simple expressions, T is a built-in numerical type template class __gmp_expr, U, Op> > { private: typedef __gmp_expr val1_type; typedef U val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int = 0) const { Op::eval(p, expr.val1.__get_mp(), expr.val2); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { return expr.val1.get_prec(); } }; template class __gmp_expr, Op> > { private: typedef U val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int = 0) const { Op::eval(p, expr.val1, expr.val2.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { return expr.val2.get_prec(); } }; // compound expressions, one argument is a subexpression template class __gmp_expr , __gmp_expr, Op> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp(expr.val2); Op::eval(p, expr.val1.__get_mp(), temp.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp(expr.val2, prec); Op::eval(p, expr.val1.__get_mp(), temp.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { unsigned long int prec1 = expr.val1.get_prec(), prec2 = expr.val2.get_prec(); return (prec1 > prec2) ? prec1 : prec2; } }; template class __gmp_expr , __gmp_expr, Op> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp(expr.val1); Op::eval(p, temp.__get_mp(), expr.val2.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp(expr.val1, prec); Op::eval(p, temp.__get_mp(), expr.val2.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { unsigned long int prec1 = expr.val1.get_prec(), prec2 = expr.val2.get_prec(); return (prec1 > prec2) ? prec1 : prec2; } }; template class __gmp_expr , __gmp_expr, Op> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp(expr.val2); Op::eval(p, expr.val1.__get_mp(), temp.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp(expr.val2, prec); Op::eval(p, expr.val1.__get_mp(), temp.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { unsigned long int prec1 = expr.val1.get_prec(), prec2 = expr.val2.get_prec(); return (prec1 > prec2) ? prec1 : prec2; } }; template class __gmp_expr , __gmp_expr, Op> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp(expr.val1); Op::eval(p, temp.__get_mp(), expr.val2.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp(expr.val1, prec); Op::eval(p, temp.__get_mp(), expr.val2.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { unsigned long int prec1 = expr.val1.get_prec(), prec2 = expr.val2.get_prec(); return (prec1 > prec2) ? prec1 : prec2; } }; // one argument is a subexpression, one is a built-in template class __gmp_expr, V, Op> > { private: typedef __gmp_expr val1_type; typedef V val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp(expr.val1); Op::eval(p, temp.__get_mp(), expr.val2); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp(expr.val1, prec); Op::eval(p, temp.__get_mp(), expr.val2); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { return expr.val1.get_prec(); } }; template class __gmp_expr, Op> > { private: typedef U val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp(expr.val2); Op::eval(p, expr.val1, temp.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp(expr.val2, prec); Op::eval(p, expr.val1, temp.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { return expr.val2.get_prec(); } }; // both arguments are subexpressions template class __gmp_expr , __gmp_expr, Op> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp1(expr.val1), temp2(expr.val2); Op::eval(p, temp1.__get_mp(), temp2.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp1(expr.val1, prec), temp2(expr.val2, prec); Op::eval(p, temp1.__get_mp(), temp2.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { unsigned long int prec1 = expr.val1.get_prec(), prec2 = expr.val2.get_prec(); return (prec1 > prec2) ? prec1 : prec2; } }; template class __gmp_expr , __gmp_expr, Op> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp1(expr.val1), temp2(expr.val2); Op::eval(p, temp1.__get_mp(), temp2.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp1(expr.val1, prec), temp2(expr.val2, prec); Op::eval(p, temp1.__get_mp(), temp2.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { unsigned long int prec1 = expr.val1.get_prec(), prec2 = expr.val2.get_prec(); return (prec1 > prec2) ? prec1 : prec2; } }; template class __gmp_expr , __gmp_expr, Op> > { private: typedef __gmp_expr val1_type; typedef __gmp_expr val2_type; __gmp_binary_expr expr; public: __gmp_expr(const val1_type &val1, const val2_type &val2) : expr(val1, val2) { } void eval(typename __gmp_resolve_expr::ptr_type p) const { __gmp_expr temp1(expr.val1), temp2(expr.val2); Op::eval(p, temp1.__get_mp(), temp2.__get_mp()); } void eval(typename __gmp_resolve_expr::ptr_type p, unsigned long int prec) const { __gmp_expr temp1(expr.val1, prec), temp2(expr.val2, prec); Op::eval(p, temp1.__get_mp(), temp2.__get_mp()); } const val1_type & get_val1() const { return expr.val1; } const val2_type & get_val2() const { return expr.val2; } unsigned long int get_prec() const { unsigned long int prec1 = expr.val1.get_prec(), prec2 = expr.val2.get_prec(); return (prec1 > prec2) ? prec1 : prec2; } }; /**************** Special cases ****************/ /* Some operations (i.e., add and subtract) with mixed mpz/mpq arguments can be done directly without first converting the mpz to mpq. Appropriate specializations of __gmp_expr are required. */ #define __GMPZQ_DEFINE_EXPR(eval_fun) \ \ template <> \ class __gmp_expr > \ { \ private: \ typedef mpz_class val1_type; \ typedef mpq_class val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpq_ptr q) const \ { eval_fun::eval(q, expr.val1.get_mpz_t(), expr.val2.get_mpq_t()); } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template <> \ class __gmp_expr > \ { \ private: \ typedef mpq_class val1_type; \ typedef mpz_class val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpq_ptr q) const \ { eval_fun::eval(q, expr.val1.get_mpq_t(), expr.val2.get_mpz_t()); } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr \ , eval_fun> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpq_ptr q) const \ { \ mpq_class temp(expr.val2); \ eval_fun::eval(q, expr.val1.get_mpz_t(), temp.get_mpq_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr \ , eval_fun> > \ { \ private: \ typedef mpq_class val1_type; \ typedef __gmp_expr val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpq_ptr q) const \ { \ mpz_class temp(expr.val2); \ eval_fun::eval(q, expr.val1.get_mpq_t(), temp.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr \ , mpq_class, eval_fun> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef mpq_class val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpq_ptr q) const \ { \ mpz_class temp(expr.val1); \ eval_fun::eval(q, temp.get_mpz_t(), expr.val2.get_mpq_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr \ , mpz_class, eval_fun> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef mpz_class val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpq_ptr q) const \ { \ mpq_class temp(expr.val1); \ eval_fun::eval(q, temp.get_mpq_t(), expr.val2.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, __gmp_expr, eval_fun> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpq_ptr q) const \ { \ mpz_class temp1(expr.val1); \ mpq_class temp2(expr.val2); \ eval_fun::eval(q, temp1.get_mpz_t(), temp2.get_mpq_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, __gmp_expr, eval_fun> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpq_ptr q) const \ { \ mpq_class temp1(expr.val1); \ mpz_class temp2(expr.val2); \ eval_fun::eval(q, temp1.get_mpq_t(), temp2.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; __GMPZQ_DEFINE_EXPR(__gmp_binary_plus) __GMPZQ_DEFINE_EXPR(__gmp_binary_minus) /* Integer ternary expressions of the kind `a+b*c' or `a*b+c' can be evaluated directly via mpz_addmul */ // a + b * c #define __GMP_DEFINE_TERNARY_EXPR(eval_fun1, eval_fun2, eval_both) \ \ template <> \ class __gmp_expr >, eval_fun2> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr \ > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { eval_both::eval \ (z, expr.val1.get_mpz_t(), expr.val2.get_val1().get_mpz_t(), \ expr.val2.get_val2().get_mpz_t()); } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr >, eval_fun2> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr \ > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { eval_both::eval \ (z, expr.val1.get_mpz_t(), expr.val2.get_val1().get_mpz_t(), \ expr.val2.get_val2()); } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr >, eval_fun2> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr \ > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { eval_both::eval \ (z, expr.val1.get_mpz_t(), expr.val2.get_val1(), \ expr.val2.get_val2().get_mpz_t()); } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, eval_fun1> >, \ eval_fun2> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp(expr.val2.get_val2()); \ eval_both::eval \ (z, expr.val1.get_mpz_t(), expr.val2.get_val1().get_mpz_t(), \ temp.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, mpz_class, eval_fun1> >, \ eval_fun2> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr, mpz_class, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp(expr.val2.get_val1()); \ eval_both::eval(z, expr.val1.get_mpz_t(), temp.get_mpz_t(), \ expr.val2.get_val2().get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, U, eval_fun1> >, \ eval_fun2> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr, U, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp(expr.val2.get_val1()); \ eval_both::eval \ (z, expr.val1.get_mpz_t(), temp.get_mpz_t(), expr.val2.get_val2()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, eval_fun1> >, \ eval_fun2> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp(expr.val2.get_val2()); \ eval_both::eval \ (z, expr.val1.get_mpz_t(), expr.val2.get_val1(), temp.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, __gmp_expr, \ eval_fun1> >, eval_fun2> > \ { \ private: \ typedef mpz_class val1_type; \ typedef __gmp_expr, __gmp_expr, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp1(expr.val2.get_val1()); \ mpz_class temp2(expr.val2.get_val2()); \ eval_both::eval \ (z, expr.val1.get_mpz_t(), temp1.get_mpz_t(), temp2.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, \ __gmp_expr >, \ eval_fun2> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr \ > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp(expr.val1); \ eval_both::eval(z, temp.get_mpz_t(), expr.val2.get_val1().get_mpz_t(), \ expr.val2.get_val2().get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, \ __gmp_expr >, \ eval_fun2> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr \ > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp(expr.val1); \ eval_both::eval(z, temp.get_mpz_t(), expr.val2.get_val1().get_mpz_t(), \ expr.val2.get_val2()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, \ __gmp_expr >, \ eval_fun2> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr \ > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp(expr.val1); \ eval_both::eval(z, temp.get_mpz_t(), expr.val2.get_val1(), \ expr.val2.get_val2().get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, \ __gmp_expr, \ eval_fun1> >, eval_fun2> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp1(expr.val1); \ mpz_class temp2(expr.val2.get_val2()); \ eval_both::eval \ (z, temp1.get_mpz_t(), expr.val2.get_val1().get_mpz_t(), \ temp2.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, \ __gmp_expr, mpz_class, \ eval_fun1> >, eval_fun2> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr, mpz_class, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp1(expr.val1); \ mpz_class temp2(expr.val2.get_val1()); \ eval_both::eval(z, temp1.get_mpz_t(), temp2.get_mpz_t(), \ expr.val2.get_val2().get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, \ __gmp_expr, V, \ eval_fun1> >, eval_fun2> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr, V, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp1(expr.val1); \ mpz_class temp2(expr.val2.get_val1()); \ eval_both::eval \ (z, temp1.get_mpz_t(), temp2.get_mpz_t(), expr.val2.get_val2()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, \ __gmp_expr, \ eval_fun1> >, eval_fun2> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp1(expr.val1); \ mpz_class temp2(expr.val2.get_val2()); \ eval_both::eval \ (z, temp1.get_mpz_t(), expr.val2.get_val1(), temp2.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; \ \ template \ class __gmp_expr, \ __gmp_expr, \ __gmp_expr, eval_fun1> >, eval_fun2> > \ { \ private: \ typedef __gmp_expr val1_type; \ typedef __gmp_expr, __gmp_expr, eval_fun1> > val2_type; \ \ __gmp_binary_expr expr; \ public: \ __gmp_expr(const val1_type &val1, const val2_type &val2) \ : expr(val1, val2) { } \ void eval(mpz_ptr z) const \ { \ mpz_class temp1(expr.val1); \ mpz_class temp2(expr.val2.get_val1()); \ mpz_class temp3(expr.val2.get_val2()); \ eval_both::eval \ (z, temp1.get_mpz_t(), temp2.get_mpz_t(), temp3.get_mpz_t()); \ } \ const val1_type & get_val1() const { return expr.val1; } \ const val2_type & get_val2() const { return expr.val2; } \ unsigned long int get_prec() const { return mpfr_get_default_prec(); } \ }; __GMP_DEFINE_TERNARY_EXPR(__gmp_binary_multiplies, __gmp_binary_plus, __gmp_ternary_addmul) __GMP_DEFINE_TERNARY_EXPR(__gmp_binary_multiplies, __gmp_binary_minus, __gmp_ternary_submul) /**************** Macros for defining functions ****************/ /* Results of operators and functions are instances of __gmp_expr. T determines the numerical type of the expression: it can be either mpz_t, mpq_t, or mpfr_t. When the arguments of a binary expression have different numerical types, __gmp_resolve_expr is used to determine the "larger" type. U is either __gmp_unary_expr or __gmp_binary_expr, where V and W are the arguments' types -- they can in turn be expressions, thus allowing to build compound expressions to any degree of complexity. Op is a function object that must have an eval() method accepting appropriate arguments. Actual evaluation of a __gmp_expr object is done when it gets assigned to an mp*_class ("lazy" evaluation): this is done by calling its eval() method. */ // non-member void operators and functions (not in gmpxx) #define __GMP_DEFINE_VOID_FUNCTION(T, fun, eval_fun) \ \ inline __gmp_expr \ > \ fun() \ { \ return __gmp_expr >(); \ } // non-member unary operators and functions #define __GMP_DEFINE_UNARY_FUNCTION(fun, eval_fun) \ \ template \ inline __gmp_expr, eval_fun> > \ fun(const __gmp_expr &expr) \ { \ return __gmp_expr, eval_fun> >(expr); \ } #define __GMP_DEFINE_UNARY_TYPE_FUNCTION(type, fun, eval_fun) \ \ template \ inline type fun(const __gmp_expr &expr) \ { \ typename __gmp_resolve_temp::temp_type temp(expr); \ return eval_fun::eval(temp.__get_mp()); \ } // not in gmpxx #define __GMP_DEFINE_UNARY_FUNCTION_UI(T, fun, eval_fun) \ \ inline __gmp_expr \ > \ fun(unsigned long int l) \ { \ return __gmp_expr >(l); \ } // non-member binary operators and functions #define __GMPP_DEFINE_BINARY_FUNCTION(fun, eval_fun) \ \ template \ inline __gmp_expr::value_type, \ __gmp_binary_expr<__gmp_expr, __gmp_expr, eval_fun> > \ fun(const __gmp_expr &expr1, const __gmp_expr &expr2) \ { \ return __gmp_expr::value_type, \ __gmp_binary_expr<__gmp_expr, __gmp_expr, eval_fun> > \ (expr1, expr2); \ } #define __GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, bigtype) \ \ template \ inline __gmp_expr \ , bigtype, eval_fun> > \ fun(const __gmp_expr &expr, type t) \ { \ return __gmp_expr \ , bigtype, eval_fun> >(expr, t); \ } \ \ template \ inline __gmp_expr \ , eval_fun> > \ fun(type t, const __gmp_expr &expr) \ { \ return __gmp_expr \ , eval_fun> >(t, expr); \ } #define __GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, type) \ __GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, signed long int) #define __GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, type) \ __GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, unsigned long int) #define __GMPND_DEFINE_BINARY_FUNCTION(fun, eval_fun, type) \ __GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, double) #define __GMPNLD_DEFINE_BINARY_FUNCTION(fun, eval_fun, type) \ __GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, long double) #define __GMPN_DEFINE_BINARY_FUNCTION(fun, eval_fun) \ __GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, signed char) \ __GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, unsigned char) \ __GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, signed int) \ __GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, unsigned int) \ __GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, signed short int) \ __GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, unsigned short int) \ __GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, signed long int) \ __GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, unsigned long int) \ __GMPND_DEFINE_BINARY_FUNCTION(fun, eval_fun, float) \ __GMPND_DEFINE_BINARY_FUNCTION(fun, eval_fun, double) \ __GMPNLD_DEFINE_BINARY_FUNCTION(fun, eval_fun, long double) #define __GMP_DEFINE_BINARY_FUNCTION(fun, eval_fun) \ __GMPP_DEFINE_BINARY_FUNCTION(fun, eval_fun) \ __GMPN_DEFINE_BINARY_FUNCTION(fun, eval_fun) #define __GMP_DEFINE_BINARY_FUNCTION_UI(fun, eval_fun) \ \ template \ inline __gmp_expr \ , unsigned long int, eval_fun> > \ fun(const __gmp_expr &expr, unsigned long int l) \ { \ return __gmp_expr, unsigned long int, eval_fun> >(expr, l); \ } #define __GMPP_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) \ \ template \ inline type fun(const __gmp_expr &expr1, \ const __gmp_expr &expr2) \ { \ typedef typename __gmp_resolve_expr::value_type eval_type; \ typename __gmp_resolve_temp::temp_type temp1(expr1); \ typename __gmp_resolve_temp::temp_type temp2(expr2); \ return eval_fun::eval(temp1.__get_mp(), temp2.__get_mp()); \ } #define __GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, \ type2, bigtype) \ \ template \ inline type fun(const __gmp_expr &expr, type2 t) \ { \ typename __gmp_resolve_temp::temp_type temp(expr); \ return eval_fun::eval(temp.__get_mp(), static_cast(t)); \ } \ \ template \ inline type fun(type2 t, const __gmp_expr &expr) \ { \ typename __gmp_resolve_temp::temp_type temp(expr); \ return eval_fun::eval(static_cast(t), temp.__get_mp()); \ } #define __GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2) \ __GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, \ type2, signed long int) #define __GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2) \ __GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, \ type2, unsigned long int) #define __GMPND_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2) \ __GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2, double) #define __GMPNLD_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2) \ __GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2, long double) #define __GMPN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) \ __GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, signed char) \ __GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, unsigned char) \ __GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, signed int) \ __GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, unsigned int) \ __GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, signed short int) \ __GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, unsigned short int) \ __GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, signed long int) \ __GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, unsigned long int) \ __GMPND_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, float) \ __GMPND_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, double) \ __GMPNLD_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, long double) #define __GMP_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) \ __GMPP_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) \ __GMPN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) // member operators #define __GMPP_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) \ \ template \ inline type##_class & type##_class::fun(const __gmp_expr &expr) \ { \ __gmp_set_expr(mp, __gmp_expr, eval_fun> >(*this, expr)); \ return *this; \ } #define __GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, \ type2, bigtype) \ \ inline type##_class & type##_class::fun(type2 t) \ { \ __gmp_set_expr(mp, __gmp_expr >(*this, t)); \ return *this; \ } #define __GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2) \ __GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, \ type2, signed long int) #define __GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2) \ __GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, \ type2, unsigned long int) #define __GMPND_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2) \ __GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2, double) #define __GMPNLD_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2) \ __GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2, long double) #define __GMPN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) \ __GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, signed char) \ __GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, unsigned char) \ __GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, signed int) \ __GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, unsigned int) \ __GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, signed short int) \ __GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, unsigned short int) \ __GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, signed long int) \ __GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, unsigned long int) \ __GMPND_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, float) \ __GMPND_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, double) \ /* __GMPNLD_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, long double) */ #define __GMP_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) \ __GMPP_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) \ __GMPN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) #define __GMPZ_DEFINE_COMPOUND_OPERATOR(fun, eval_fun) \ __GMP_DEFINE_COMPOUND_OPERATOR(mpz, fun, eval_fun) #define __GMPZZ_DEFINE_COMPOUND_OPERATOR(fun, eval_fun) \ __GMPP_DEFINE_COMPOUND_OPERATOR(mpz, fun, eval_fun) #define __GMPQ_DEFINE_COMPOUND_OPERATOR(fun, eval_fun) \ __GMP_DEFINE_COMPOUND_OPERATOR(mpq, fun, eval_fun) #define __MPFR_DEFINE_COMPOUND_OPERATOR(fun, eval_fun) \ __GMP_DEFINE_COMPOUND_OPERATOR(mpfr, fun, eval_fun) #define __GMP_DEFINE_COMPOUND_OPERATOR_UI(type, fun, eval_fun) \ \ inline type##_class & type##_class::fun(unsigned long int l) \ { \ __gmp_set_expr(mp, __gmp_expr >(*this, l)); \ return *this; \ } #define __GMPZ_DEFINE_COMPOUND_OPERATOR_UI(fun, eval_fun) \ __GMP_DEFINE_COMPOUND_OPERATOR_UI(mpz, fun, eval_fun) #define __GMPQ_DEFINE_COMPOUND_OPERATOR_UI(fun, eval_fun) \ __GMP_DEFINE_COMPOUND_OPERATOR_UI(mpq, fun, eval_fun) #define __MPFR_DEFINE_COMPOUND_OPERATOR_UI(fun, eval_fun) \ __GMP_DEFINE_COMPOUND_OPERATOR_UI(mpfr, fun, eval_fun) #define __GMP_DEFINE_INCREMENT_OPERATOR(type, fun, eval_fun) \ \ inline type##_class & type##_class::fun() \ { \ eval_fun::eval(mp); \ return *this; \ } \ \ inline type##_class type##_class::fun(int) \ { \ type##_class temp(*this); \ eval_fun::eval(mp); \ return temp; \ } #define __GMPZ_DEFINE_INCREMENT_OPERATOR(fun, eval_fun) \ __GMP_DEFINE_INCREMENT_OPERATOR(mpz, fun, eval_fun) #define __GMPQ_DEFINE_INCREMENT_OPERATOR(fun, eval_fun) \ __GMP_DEFINE_INCREMENT_OPERATOR(mpq, fun, eval_fun) #define __MPFR_DEFINE_INCREMENT_OPERATOR(fun, eval_fun) \ __GMP_DEFINE_INCREMENT_OPERATOR(mpfr, fun, eval_fun) /**************** Arithmetic operators and functions ****************/ // non-member operators and functions __GMP_DEFINE_UNARY_FUNCTION(operator+, __gmp_unary_plus) __GMP_DEFINE_UNARY_FUNCTION(operator-, __gmp_unary_minus) __GMP_DEFINE_UNARY_FUNCTION(operator~, __gmp_unary_com) __GMP_DEFINE_BINARY_FUNCTION(operator+, __gmp_binary_plus) __GMP_DEFINE_BINARY_FUNCTION(operator-, __gmp_binary_minus) __GMP_DEFINE_BINARY_FUNCTION(operator*, __gmp_binary_multiplies) __GMP_DEFINE_BINARY_FUNCTION(operator/, __gmp_binary_divides) __GMP_DEFINE_BINARY_FUNCTION(operator%, __gmp_binary_modulus) __GMP_DEFINE_BINARY_FUNCTION(operator&, __gmp_binary_and) __GMP_DEFINE_BINARY_FUNCTION(operator|, __gmp_binary_ior) __GMP_DEFINE_BINARY_FUNCTION(operator^, __gmp_binary_xor) __GMP_DEFINE_BINARY_FUNCTION_UI(operator<<, __gmp_binary_lshift) __GMP_DEFINE_BINARY_FUNCTION_UI(operator>>, __gmp_binary_rshift) __GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator==, __gmp_binary_equal) __GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator!=, __gmp_binary_not_equal) __GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator<, __gmp_binary_less) __GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator<=, __gmp_binary_less_equal) __GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator>, __gmp_binary_greater) __GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator>=, \ __gmp_binary_greater_equal) /* Start of Michael Rubinstein's modification of Jon Wilkening's gmfrxx.h */ #define cxxlongop(op) \ inline mpfr_class operator op(const mpfr_class& x, const long long& y) { return x op (double)y; } \ inline mpfr_class operator op(const long long& y, const mpfr_class& x) { return (double)y op x; } cxxlongop(+) cxxlongop(*) cxxlongop(-) cxxlongop(/) template inline void reset(T& t) { mpfr_clear(t.get_mpfr_t()); mpfr_init(t.get_mpfr_t()); } #define cxxop(op) \ template inline mpfr_class op(const T& x) {\ mpfr_class ret,y=x;\ mpfr_##op(ret.get_mpfr_t(), y.get_mpfr_t(), __gmp_default_rounding_mode);\ return ret;\ } #define cxx_two_op(op) \ template inline mpfr_class op(const T& x) {\ mpfr_class ret,y=x;\ mpfr_##op(ret.get_mpfr_t(), y.get_mpfr_t());\ return ret;\ } cxxop(abs) cxxop(rint) cxx_two_op(trunc) cxx_two_op(floor) cxx_two_op(ceil) cxxop(sqrt) cxxop(log) cxxop(log2) cxxop(log10) cxxop(exp) cxxop(exp2) cxxop(exp10) cxxop(cos) cxxop(sin) cxxop(tan) cxxop(sec) cxxop(csc) cxxop(cot) cxxop(acos) cxxop(asin) cxxop(atan) cxxop(cosh) cxxop(sinh) cxxop(tanh) cxxop(sech) cxxop(csch) cxxop(coth) cxxop(acosh) cxxop(asinh) cxxop(atanh) cxxop(log1p) cxxop(expm1) cxxop(eint) cxxop(gamma) cxxop(lngamma) cxxop(zeta) cxxop(erf) cxxop(erfc) template inline mpfr_class pow(const T& a, const U& b) { return exp(log(a)*b); } template inline mpfr_class atan2(const T& y, const T& x) { mpfr_class ret,Y=y,X=x;\ mpfr_atan2(ret.get_mpfr_t(), Y.get_mpfr_t(), X.get_mpfr_t(),__gmp_default_rounding_mode);\ return ret;\ } /* __GMP_DEFINE_UNARY_FUNCTION(abs, __gmp_abs_function) __GMP_DEFINE_UNARY_FUNCTION(rint, __gmp_rint_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(trunc, __gmp_trunc_function) __GMP_DEFINE_UNARY_FUNCTION(floor, __gmp_floor_function) __GMP_DEFINE_UNARY_FUNCTION(ceil, __gmp_ceil_function) __GMP_DEFINE_UNARY_FUNCTION(sqrt, __gmp_sqrt_function) __GMP_DEFINE_UNARY_FUNCTION(log, __gmp_log_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(log2, __gmp_log2_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(log10, __gmp_log10_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(exp, __gmp_exp_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(exp2, __gmp_exp2_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(exp10, __gmp_exp10_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(cos, __gmp_cos_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(sin, __gmp_sin_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(tan, __gmp_tan_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(sec, __gmp_sec_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(csc, __gmp_csc_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(cot, __gmp_cot_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(acos, __gmp_acos_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(asin, __gmp_asin_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(atan, __gmp_atan_function) // not in gmpxx.h __GMP_DEFINE_BINARY_FUNCTION(atan2, __gmp_atan2_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(cosh, __gmp_cosh_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(sinh, __gmp_sinh_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(tanh, __gmp_tanh_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(sech, __gmp_sech_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(csch, __gmp_csch_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(coth, __gmp_coth_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(acosh, __gmp_acosh_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(asinh, __gmp_asinh_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(atanh, __gmp_atanh_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION_UI(mpfr_t, fac_ui, __gmp_fac_ui_function) // not gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(log1p, __gmp_log1p_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(expm1, __gmp_expm1_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(eint, __gmp_eint_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(gamma, __gmp_gamma_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(lngamma, __gmp_lngamma_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(zeta, __gmp_zeta_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(erf, __gmp_erf_function) // not in gmpxx.h __GMP_DEFINE_UNARY_FUNCTION(erfc, __gmp_erfc_function) // not in gmpxx.h */ /* End of Michael Rubinstein's modification of Jon Wilkening's gmfrxx.h */ __GMP_DEFINE_BINARY_FUNCTION(agm, __gmp_agm_function) // not in gmpxx.h __GMP_DEFINE_VOID_FUNCTION(mpfr_t, const_log2, __gmp_const_log2_function) // not gmpxx.h __GMP_DEFINE_VOID_FUNCTION(mpfr_t, const_pi, __gmp_const_pi_function) // not gmpxx.h __GMP_DEFINE_VOID_FUNCTION(mpfr_t, const_euler, __gmp_const_euler_function) // not gmpxx.h __GMP_DEFINE_VOID_FUNCTION(mpfr_t, const_catalan, __gmp_const_catalan_function) // not gmpxx.h __GMP_DEFINE_BINARY_FUNCTION(hypot, __gmp_hypot_function) __GMP_DEFINE_UNARY_TYPE_FUNCTION(int, sgn, __gmp_sgn_function) __GMP_DEFINE_BINARY_TYPE_FUNCTION(int, cmp, __gmp_cmp_function) // member operators for mpz_class __GMPZ_DEFINE_COMPOUND_OPERATOR(operator+=, __gmp_binary_plus) __GMPZ_DEFINE_COMPOUND_OPERATOR(operator-=, __gmp_binary_minus) __GMPZ_DEFINE_COMPOUND_OPERATOR(operator*=, __gmp_binary_multiplies) __GMPZ_DEFINE_COMPOUND_OPERATOR(operator/=, __gmp_binary_divides) __GMPZ_DEFINE_COMPOUND_OPERATOR(operator%=, __gmp_binary_modulus) __GMPZZ_DEFINE_COMPOUND_OPERATOR(operator&=, __gmp_binary_and) __GMPZZ_DEFINE_COMPOUND_OPERATOR(operator|=, __gmp_binary_ior) __GMPZZ_DEFINE_COMPOUND_OPERATOR(operator^=, __gmp_binary_xor) __GMPZ_DEFINE_COMPOUND_OPERATOR_UI(operator<<=, __gmp_binary_lshift) __GMPZ_DEFINE_COMPOUND_OPERATOR_UI(operator>>=, __gmp_binary_rshift) __GMPZ_DEFINE_INCREMENT_OPERATOR(operator++, __gmp_unary_increment) __GMPZ_DEFINE_INCREMENT_OPERATOR(operator--, __gmp_unary_decrement) // member operators for mpq_class __GMPQ_DEFINE_COMPOUND_OPERATOR(operator+=, __gmp_binary_plus) __GMPQ_DEFINE_COMPOUND_OPERATOR(operator-=, __gmp_binary_minus) __GMPQ_DEFINE_COMPOUND_OPERATOR(operator*=, __gmp_binary_multiplies) __GMPQ_DEFINE_COMPOUND_OPERATOR(operator/=, __gmp_binary_divides) __GMPQ_DEFINE_COMPOUND_OPERATOR_UI(operator<<=, __gmp_binary_lshift) __GMPQ_DEFINE_COMPOUND_OPERATOR_UI(operator>>=, __gmp_binary_rshift) __GMPQ_DEFINE_INCREMENT_OPERATOR(operator++, __gmp_unary_increment) __GMPQ_DEFINE_INCREMENT_OPERATOR(operator--, __gmp_unary_decrement) // member operators for mpfr_class __MPFR_DEFINE_COMPOUND_OPERATOR(operator+=, __gmp_binary_plus) __MPFR_DEFINE_COMPOUND_OPERATOR(operator-=, __gmp_binary_minus) __MPFR_DEFINE_COMPOUND_OPERATOR(operator*=, __gmp_binary_multiplies) __MPFR_DEFINE_COMPOUND_OPERATOR(operator/=, __gmp_binary_divides) __MPFR_DEFINE_COMPOUND_OPERATOR_UI(operator<<=, __gmp_binary_lshift) __MPFR_DEFINE_COMPOUND_OPERATOR_UI(operator>>=, __gmp_binary_rshift) __MPFR_DEFINE_INCREMENT_OPERATOR(operator++, __gmp_unary_increment) __MPFR_DEFINE_INCREMENT_OPERATOR(operator--, __gmp_unary_decrement) /**************** Class wrapper for gmp_randstate_t ****************/ class __gmp_urandomb_value { }; class __gmp_urandomm_value { }; template <> class __gmp_expr { private: __gmp_randstate_struct *state; unsigned long int bits; public: __gmp_expr(gmp_randstate_t s, unsigned long int l) : state(s), bits(l) { } void eval(mpz_ptr z) const { __gmp_rand_function::eval(z, state, bits); } unsigned long int get_prec() const { return mpfr_get_default_prec(); } }; template <> class __gmp_expr { private: __gmp_randstate_struct *state; mpz_class range; public: __gmp_expr(gmp_randstate_t s, const mpz_class &z) : state(s), range(z) { } void eval(mpz_ptr z) const { __gmp_rand_function::eval(z, state, range.get_mpz_t()); } unsigned long int get_prec() const { return mpfr_get_default_prec(); } }; template <> class __gmp_expr { private: __gmp_randstate_struct *state; unsigned long int bits; public: __gmp_expr(gmp_randstate_t s, unsigned long int l) : state(s), bits(l) { } void eval(mpfr_ptr f, unsigned long int prec) const { __gmp_rand_function::eval(f, state, (bits>0) ? get_prec() : prec); } unsigned long int get_prec() const { if (bits == 0) return mpfr_get_default_prec(); else return bits; } }; extern "C" { typedef void __gmp_randinit_default_t (gmp_randstate_t); typedef void __gmp_randinit_lc_2exp_t (gmp_randstate_t, mpz_srcptr, unsigned long int, unsigned long int); typedef int __gmp_randinit_lc_2exp_size_t (gmp_randstate_t, unsigned long int); } class gmp_randclass { private: gmp_randstate_t state; // copy construction and assignment not allowed gmp_randclass(const gmp_randclass &); void operator=(const gmp_randclass &); public: // constructors and destructor gmp_randclass(gmp_randalg_t alg, unsigned long int size) { switch (alg) { case GMP_RAND_ALG_LC: // no other cases for now default: gmp_randinit(state, alg, size); break; } } // gmp_randinit_default gmp_randclass(__gmp_randinit_default_t* f) { f(state); } // gmp_randinit_lc_2exp gmp_randclass(__gmp_randinit_lc_2exp_t* f, mpz_class z, unsigned long int l1, unsigned long int l2) { f(state, z.get_mpz_t(), l1, l2); } // gmp_randinit_lc_2exp_size gmp_randclass(__gmp_randinit_lc_2exp_size_t* f, unsigned long int size) { if (f (state, size) == 0) throw std::length_error ("gmp_randinit_lc_2exp_size"); } ~gmp_randclass() { gmp_randclear(state); } // initialize void seed(); // choose a random seed some way (?) void seed(unsigned long int s) { gmp_randseed_ui(state, s); } void seed(const mpz_class &z) { gmp_randseed(state, z.get_mpz_t()); } // get random number __gmp_expr get_z_bits(unsigned long int l) { return __gmp_expr(state, l); } __gmp_expr get_z_bits(const mpz_class &z) { return get_z_bits(z.get_ui()); } __gmp_expr get_z_range(const mpz_class &z) { return __gmp_expr(state, z); } __gmp_expr get_f(unsigned long int prec = 0) { return __gmp_expr(state, prec); } }; /**************** #undef all private macros ****************/ #undef __GMPP_DECLARE_COMPOUND_OPERATOR #undef __GMPN_DECLARE_COMPOUND_OPERATOR #undef __GMP_DECLARE_COMPOUND_OPERATOR #undef __GMP_DECLARE_COMPOUND_OPERATOR_UI #undef __GMP_DECLARE_INCREMENT_OPERATOR #undef __GMPZQ_DEFINE_EXPR #undef __GMP_DEFINE_TERNARY_EXPR #undef __GMP_DEFINE_VOID_FUNCTION #undef __GMP_DEFINE_UNARY_FUNCTION #undef __GMP_DEFINE_UNARY_TYPE_FUNCTION #undef __GMP_DEFINE_UNARY_FUNCTION_UI #undef __GMPP_DEFINE_BINARY_FUNCTION #undef __GMPNN_DEFINE_BINARY_FUNCTION #undef __GMPNS_DEFINE_BINARY_FUNCTION #undef __GMPNU_DEFINE_BINARY_FUNCTION #undef __GMPND_DEFINE_BINARY_FUNCTION #undef __GMPNLD_DEFINE_BINARY_FUNCTION #undef __GMPN_DEFINE_BINARY_FUNCTION #undef __GMP_DEFINE_BINARY_FUNCTION #undef __GMP_DEFINE_BINARY_FUNCTION_UI #undef __GMPP_DEFINE_BINARY_TYPE_FUNCTION #undef __GMPNN_DEFINE_BINARY_TYPE_FUNCTION #undef __GMPNS_DEFINE_BINARY_TYPE_FUNCTION #undef __GMPNU_DEFINE_BINARY_TYPE_FUNCTION #undef __GMPND_DEFINE_BINARY_TYPE_FUNCTION #undef __GMPNLD_DEFINE_BINARY_TYPE_FUNCTION #undef __GMPN_DEFINE_BINARY_TYPE_FUNCTION #undef __GMP_DEFINE_BINARY_TYPE_FUNCTION #undef __GMPP_DECLARE_COMPOUND_OPERATOR #undef __GMPN_DECLARE_COMPOUND_OPERATOR #undef __GMP_DECLARE_COMPOUND_OPERATOR #undef __GMP_DECLARE_COMPOUND_OPERATOR_UI #undef __GMP_DECLARE_INCREMENT_OPERATOR #undef __GMPZ_DEFINE_COMPOUND_OPERATOR #undef __GMPZZ_DEFINE_COMPOUND_OPERATOR #undef __GMPZN_DEFINE_COMPOUND_OPERATOR #undef __GMPZNN_DEFINE_COMPOUND_OPERATOR #undef __GMPZNS_DEFINE_COMPOUND_OPERATOR #undef __GMPZNU_DEFINE_COMPOUND_OPERATOR #undef __GMPZND_DEFINE_COMPOUND_OPERATOR #undef __GMPZNLD_DEFINE_COMPOUND_OPERATOR #undef __GMPP_DEFINE_COMPOUND_OPERATOR #undef __GMPNN_DEFINE_COMPOUND_OPERATOR #undef __GMPNS_DEFINE_COMPOUND_OPERATOR #undef __GMPNU_DEFINE_COMPOUND_OPERATOR #undef __GMPND_DEFINE_COMPOUND_OPERATOR #undef __GMPNLD_DEFINE_COMPOUND_OPERATOR #undef __GMPN_DEFINE_COMPOUND_OPERATOR #undef __GMP_DEFINE_COMPOUND_OPERATOR #undef __GMPZ_DEFINE_COMPOUND_OPERATOR #undef __GMPZZ_DEFINE_COMPOUND_OPERATOR #undef __GMPQ_DEFINE_COMPOUND_OPERATOR #undef __MPFR_DEFINE_COMPOUND_OPERATOR #undef __GMP_DEFINE_COMPOUND_OPERATOR_UI #undef __GMPZ_DEFINE_COMPOUND_OPERATOR_UI #undef __GMPQ_DEFINE_COMPOUND_OPERATOR_UI #undef __MPFR_DEFINE_COMPOUND_OPERATOR_UI #undef __GMP_DEFINE_INCREMENT_OPERATOR #undef __GMPZ_DEFINE_INCREMENT_OPERATOR #undef __GMPQ_DEFINE_INCREMENT_OPERATOR #undef __MPFR_DEFINE_INCREMENT_OPERATOR #endif /* __GMP_PLUSPLUS__ */ lcalc-1.23+dfsg.orig/include/Lnumeric.h0000644000175000017500000000214310700172015016412 0ustar tobitobi /* #define cxxop(op) \ template inline mpfr_class op(const T& x) {\ mpfr_class ret,y=x;\ mpfr_##op(ret.get_mpfr_t(), y.get_mpfr_t(), __gmp_default_rounding_mode);\ return ret;\ } cxxop(log) cxxop(exp) cxxop(cos) cxxop(sin) cxxop(tan) cxxop(atan) cxxop(cosh) cxxop(sinh) cxxop(rint) */ #define cxxlongop(op) \ inline mpfr_class operator op(const mpfr_class& x, const long long& y) { return x op (double)y; } \ inline mpfr_class operator op(const long long& y, const mpfr_class& x) { return (double)y op x; } cxxlongop(+) cxxlongop(*) cxxlongop(-) cxxlongop(/) /* template inline mpfr_class atan2(const T& y, const T& x) { if(x==0) if(y>0) return Pi/2; else if(y<0) return -Pi/2; else return 0; else if(x>0) return atan(y/x); else if(y>0) return atan(y/x)+Pi; else return atan(y/x)-Pi; } */ /* template inline mpfr_class pow(const T& a, const U& b) { return exp(log(a)*b); } */ // Called by the init function when the precision is changed template inline void reset(T& t) { mpfr_clear(t.get_mpfr_t()); mpfr_init(t.get_mpfr_t()); } lcalc-1.23+dfsg.orig/include/Lcommandline.h0000644000175000017500000000422010715252071017243 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lcommandline_H #define Lcommandline_H //--------------------------------------------------- // // Command line interface to the L function package // By Michael Rubinstein // //--------------------------------------------------- #include //for calling unix commands and things like atoi #include //for string manipulation #include "L.h" //for the L_function class #include "Lcommandline_numbertheory.h" //for number theory functions #include "Lcommandline_globals.h" //command line global variables #ifdef INCLUDE_PARI #include "pari.h" //for pari's elliptic curve functions #undef init //pari has a '#define init pari_init' which //causes trouble with the stream.h init. //pari also causes trouble with things like abs. //we place the pari include first since otherwise it //messes up. #endif //ifdef INCLUDE_PARI #include "Lcommandline_misc.h" #include "Lcommandline_elliptic.h" //mainly for initializing an elliptic curve L-function using pari #include "Lcommandline_twist.h" //for twisting by Dirichlet characters #include "Lcommandline_values_zeros.h" //for calling value and zero routines using namespace std; #endif lcalc-1.23+dfsg.orig/include/Lmisc.h0000644000175000017500000000314411146273360015717 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lmisc_H #define Lmisc_H #include "Lglobals.h" //this file currently contains only templated and inlined functions //hence no Lmisc.cc file is needed. template int sn(T x); inline Double LOG(int n) { if(n>number_logs) extend_LG_table(n); return LG[n]; } //inline Double two_inverse_sqrt(double n) // Used for long inline Double two_inverse_sqrt(int n) { //int m=Int(n); //if(m>number_sqrts) extend_sqrt_table(m); //return two_inverse_SQUARE_ROOT[m]; if(n>number_sqrts) extend_sqrt_table(n); return two_inverse_SQUARE_ROOT[n]; } template type1 my_max(type1 a, type2 b) { type1 r,b_converted; r=a; b_converted = (type1) b; if(b_converted > a) r= b_converted; return r; } #endif lcalc-1.23+dfsg.orig/include/Lvalue.h.bak0000644000175000017500000006175311052226711016640 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ template Complex L_function :: find_delta (Complex z,Double g) { //cout << " find delta z g " << z << " " << g<< endl; Double sigma=real(z); Double t=imag(z); if(t<0) t=-t; Double r=abs(z); Double theta=atan(t/sigma); Double epsilon; Double a=-theta; Double b=0; Double c,f1,f2,f3; Double local_tolerance=.01/(t+100); if (local_toleranceDIGITS2*2.3)a=c; else b=c; //cout<< "theta+epsilon: " << a+theta<< endl; } while(b-a>local_tolerance); epsilon=a; } //if(imag(z)>=0) cout << " returning delta: " << exp(I*(theta+epsilon)*g) << endl; //else cout << " returning delta: " << exp(-I*(theta+epsilon)*g) << endl; if(imag(z)>=0) return exp(I*(theta+epsilon)*g); else return exp(-I*(theta+epsilon)*g); } //computes (3.2.5) as a Riemann sum using //g(w) = exp(A*(w-s)^2) * delta^(-w) template Complex L_function :: value_via_Riemann_sum(Complex s, const char *return_type) { int j,k,m,n; Complex r,z; Complex SUM=0; Double tmp; Complex L_value=0; Double theta; Complex *DELTA; // variant on (3.3.10), without the theta Double t_0; Double c; //controls speed of convergence but at the expense //of loss of precision. Double v=.5; // the v in (3.2.5) //Double incr; // incrememnt size in the Riemann sum- is now a global variable Complex dirichletseries; Double dirichletseries_r, dirichletseries_i; Complex *dirichlet_vector; //used to compute Dirichlet series incrementally Complex *dirichlet_vector_copy; //used to compute Dirichlet series incrementally Complex *dirichlet_multiplier; // stores powers of n^{-I incr} Complex *dirichlet_multiplier_conj; // stores powers of n^{I incr}. Prefer to store since // this will make vectorization easier. //int M; //number of terms to take in the Riemann sum //M is no longer used. escape is determined numerically. Is fine to //escape this way. Gamma and exp behave predictably int N; //the number of terms to take in the Dirichlet series Double r1=0,r2=0,r3=0,r4=0,r5=0,mynorm_r,local_average, max_integrand; //used to decide when to truncate the Riemann sum //cout << "a= " << a << endl; theta=0; for(j=1;j<=a;j++) { theta = theta+gamma[j]; //cout << "theta = " << theta << endl; } c=DIGITS2*log(10.); //i.e exp(-c)=10^(-DIGITS2) //this sacrifices roughly at most DIGITS2 //out of DIGITS precision. //incr is now a global variable //incr=2*Pi*v/(log(10.)*DIGITS); //M=Int(sqrt(log(10.)*DIGITS/A)/incr); DELTA = new Complex[a+1]; //if(abs(t_0)<=c/(2*sqrt(A))) tmp= 2*sqrt(A); //else tmp=c/t_0; Double c1=0; for(j=1;j<=a;j++){ t_0=imag(gamma[j]*s+lambda[j]); //cout << "tmp_" << j << " = " << tmp << endl; //cout << "t_0" << " = " << t_0 << endl; if(abs(t_0)<=2*c/(Pi*a)) tmp= Pi/2; else tmp=abs(c/(t_0*a)); if(t_0>=0)r=1; else r=-1; DELTA[j]= exp(I*r*(Pi/2-tweak*tmp)); //tweak defaults to 1. It allows me to globally set a slightly different angle //for the purpose of testing precision or looking for L-functions c1=c1+gamma[j]*tmp; //DELTA[j]=find_delta(s*gamma[j]+lambda[j],gamma[j]); } for(k=1;k<=number_of_poles;k++){ z =A*(pole[k]-s)*(pole[k]-s); for(j=1;j<=a;j++) z=z-log(DELTA[j])*(gamma[j]*pole[k]+lambda[j]); //the 5 below is for kicks. 2.3 would have been fine. if(real(z)>-5*DIGITS) L_value=L_value+residue[k]*exp(z)/(s-pole[k]); } //cout << "poles contribute: " << L_value << endl; //the rough estimate: G(z,(N DELTA/Q)^2) is, in size, //roughly exp(-Re((N*DELTA/Q)^(1/theta))) and we want this //to be > 2.3 DIGITS XXXXXXXXX check this N=Int(Q*exp(log(2.3*DIGITS*theta/c1)*theta)+10); if(N>number_of_dirichlet_coefficients&&what_type_L!=-1&&what_type_L!=1) { if(print_warning){ print_warning=false; cout << "WARNING from Riemann sum- we don't have enough Dirichlet coefficients." << endl; cout << "Will use the maximum possible, though the output "; cout << "will not necessarily be accurate." << endl; } N=number_of_dirichlet_coefficients; } if(N>number_logs) extend_LG_table(N); dirichlet_vector= new Complex[N+1]; //initially stores a(n)/n^{s+v} (or 1-s instead of s) dirichlet_vector_copy= new Complex[N+1]; // used to do negative m dirichlet_multiplier= new Complex[N+1]; dirichlet_multiplier_conj= new Complex[N+1]; #pragma omp parallel for shared(N,I,incr,dirichlet_multiplier) private(n) for(n=1;n<=N;n++) dirichlet_multiplier[n]=exp(-I*LOG(n)*incr); #pragma omp parallel for shared(N,dirichlet_multiplier_conj,dirichlet_multiplier) private(n) for(n=1;n<=N;n++) dirichlet_multiplier_conj[n]=conj(dirichlet_multiplier[n]); if(what_type_L==-1) //i.e. if the Riemann zeta function { #pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n) for(n=1;n<=N;n++) dirichlet_vector[n]=exp(-(s+v)*LOG(n)); } else if(what_type_L!=1) //if not periodic { #pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n) for(n=1;n<=N;n++) dirichlet_vector[n]=dirichlet_coefficient[n]*exp(-(s+v)*LOG(n)); } else //if periodic { #pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n,m) for(n=1;n<=N;n++) { m=n%period; if(m==0)m=period; dirichlet_vector[n]=dirichlet_coefficient[m]*exp(-(s+v)*LOG(n)); } } #pragma omp parallel for shared(N,dirichlet_vector,dirichlet_vector_copy) private(n) for(n=1;n<=N;n++) dirichlet_vector_copy[n]=dirichlet_vector[n]; max_n=N; if(my_verbose>1) cout << "s = " << s << " Will use " << N << " terms of the Dirichlet series" << endl; Double log_Q=log(Q); /* old riemann sum. escape was fixed ahead of time and was not efficient. for(m=-M;m<=M;m++){ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(s+v+I*incr*m)); for(j=1;j<=a;j++){ //cout << "gamma[j]*(s+v+I*incr*m)+lambda[j]= " << gamma[j]*(s+v+I*incr*m)+lambda[j] << endl; //cout << "DELTA[j] = " << DELTA[j] << endl; r=r*GAMMA(gamma[j]*(s+v+I*incr*m)+lambda[j],DELTA[j]); } //cout << "r= " << r << endl; //r=r*this->dirichlet_series(s+v+I*incr*m,N,false); r=r*this->dirichlet_series(s+v+I*incr*m,N); //r=r*this->dirichlet_series(s+v+I*incr*m,N); //dirichlet series part needs to be more precise SUM=SUM+r/(v+I*incr*m); //if(m%100==0) cout << "m= " << m << " SUM1 = " << SUM << endl; } SUM=SUM*incr/(2*Pi); //cout << "m= " << m << " SUM1 = " << SUM << endl; */ max_integrand=0; //the max of the integrand, without the dirichlet series factor m=0; //first do the terms m >=0 do{ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(s+v+I*incr*m)); for(j=1;j<=a;j++){ r=r*GAMMA(gamma[j]*(s+v+I*incr*m)+lambda[j],DELTA[j]); } r=r/(v+I*incr*m); mynorm_r=my_norm(r); if(mynorm_r>max_integrand) max_integrand = mynorm_r; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; local_average=(r1+r2+r3+r4+r5)/5; //XXXXXX replaced by vectorized version //r=r*this->dirichlet_series(s+v+I*incr*m,N); dirichletseries_r=0; dirichletseries_i=0; dirichletseries=0; #pragma omp parallel for shared(N,dirichlet_vector) private(j) reduction(+: dirichletseries_r,dirichletseries_i) for(j=1;j<=N;j++){ #ifdef _OPENMP //also want to check if at least two processors. dirichletseries_r=dirichletseries_r+real(dirichlet_vector[j]); dirichletseries_i=dirichletseries_i+imag(dirichlet_vector[j]); #else dirichletseries=dirichletseries+dirichlet_vector[j]; #endif } #pragma omp parallel for shared(N,dirichlet_vector,dirichlet_multiplier) private(j) for(j=1;j<=N;j++){ dirichlet_vector[j]=dirichlet_vector[j]*dirichlet_multiplier[j]; } #ifdef _OPENMP dirichletseries=dirichletseries_r+I*dirichletseries_i; #endif r=r*dirichletseries; //cout << "1 dirichletseries: " << dirichletseries << endl; //cout << "1 thischletseries: " << this->dirichlet_series(s+v+I*incr*m,N) << endl; SUM=SUM+r; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; m++; }while(m<100||local_average>max_integrand*tolerance_sqrd); m=-1; //then do the terms negative m do{ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(s+v+I*incr*m)); for(j=1;j<=a;j++){ r=r*GAMMA(gamma[j]*(s+v+I*incr*m)+lambda[j],DELTA[j]); } r=r/(v+I*incr*m); mynorm_r=my_norm(r); if(mynorm_r>max_integrand) max_integrand = mynorm_r; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; local_average=(r1+r2+r3+r4+r5)/5; //r=r*this->dirichlet_series(s+v+I*incr*m,N); dirichletseries_r=0; dirichletseries_i=0; dirichletseries=0; #pragma omp parallel for shared(N,dirichlet_vector_copy,dirichlet_multiplier_conj) private(j) for(j=1;j<=N;j++){ dirichlet_vector_copy[j]=dirichlet_vector_copy[j]*dirichlet_multiplier_conj[j]; } #pragma omp parallel for shared(N,dirichlet_vector_copy) private(j) reduction(+: dirichletseries_r,dirichletseries_i) for(j=1;j<=N;j++){ #ifdef _OPENMP //also want to check if at least two processors. dirichletseries_r=dirichletseries_r+real(dirichlet_vector_copy[j]); dirichletseries_i=dirichletseries_i+imag(dirichlet_vector_copy[j]); #else dirichletseries=dirichletseries+dirichlet_vector_copy[j]; #endif } #ifdef _OPENMP dirichletseries=dirichletseries_r+I*dirichletseries_i; #endif r=r*dirichletseries; //cout << "2 dirichletseries: " << dirichletseries << endl; //cout << "2 thischletseries: " << this->dirichlet_series(s+v+I*incr*m,N) << endl; SUM=SUM+r; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; m--; }while(m>-100||local_average>max_integrand*tolerance_sqrd); SUM=SUM*incr/(2*Pi); //no longer needed //r=0; //for(j=1;j<=a;j++)r=r+lambda[j]; //SUM=SUM*exp(log(DELTA)*r); //cout << "m= " << m << " SUM1 = " << SUM << endl; L_value=L_value+SUM; if(real(s)!=.5){ //do the second sum i.e. for f_2 if(what_type_L==-1) //i.e. if the Riemann zeta function { #pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n) for(n=1;n<=N;n++) dirichlet_vector[n]=exp(-conj(1-s+v)*LOG(n)); } else if(what_type_L!=1) //if not periodic { #pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n) for(n=1;n<=N;n++) dirichlet_vector[n]=dirichlet_coefficient[n]*exp(-conj(1-s+v)*LOG(n)); } else //if periodic { for(n=1;n<=N;n++) { m=n%period; if(m==0)m=period; dirichlet_vector[n]=dirichlet_coefficient[m]*exp(-conj(1-s+v)*LOG(n)); } } for(n=1;n<=N;n++) dirichlet_vector_copy[n]=dirichlet_vector[n]; SUM=0; /* for(m=-M;m<=M;m++){ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); for(j=1;j<=a;j++) r=r*GAMMA(gamma[j]*(1-s+v+I*incr*m)+conj(lambda[j]),1/DELTA[j]); //r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N,false)); r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N)); //dirichlet series part needs to be more precise SUM=SUM+r/(v+I*incr*m); //if(m%100==0) //cout << "m= " << m << " SUM2 = " << SUM << endl; } SUM=SUM*incr/(2*Pi); */ max_integrand=0; //the max of the integrand, without the dirichlet series factor m=0; //first do the terms m >=0 do{ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); for(j=1;j<=a;j++){ r=r*GAMMA(gamma[j]*(1-s+v+I*incr*m)+conj(lambda[j]),1/DELTA[j]); } r=r/(v+I*incr*m); mynorm_r=my_norm(r); if(mynorm_r>max_integrand) max_integrand = mynorm_r; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; local_average=(r1+r2+r3+r4+r5)/5; //r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N)); dirichletseries=0; for(j=1;j<=N;j++){ dirichletseries=dirichletseries+dirichlet_vector[j]; } for(j=1;j<=N;j++){ dirichlet_vector[j]=dirichlet_vector[j]*dirichlet_multiplier_conj[j]; } r=r*conj(dirichletseries); //cout << "3 dirichletseries: " << dirichletseries << endl; //cout << "3 thischletseries: " << this->dirichlet_series(conj(1-s+v+I*incr*m),N) << endl; SUM=SUM+r; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; m++; }while(m<100||local_average>max_integrand*tolerance_sqrd); m=-1; //then do the terms negative m do{ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); for(j=1;j<=a;j++){ r=r*GAMMA(gamma[j]*(1-s+v+I*incr*m)+conj(lambda[j]),1/DELTA[j]); } r=r/(v+I*incr*m); mynorm_r=my_norm(r); if(mynorm_r>max_integrand) max_integrand = mynorm_r; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; local_average=(r1+r2+r3+r4+r5)/5; //r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N)); dirichletseries=0; for(j=1;j<=N;j++){ dirichlet_vector_copy[j]=dirichlet_vector_copy[j]*dirichlet_multiplier[j]; } for(j=1;j<=N;j++){ dirichletseries=dirichletseries+dirichlet_vector_copy[j]; } r=r*conj(dirichletseries); //cout << "4 dirichletseries: " << dirichletseries << endl; //cout << "4 thischletseries: " << this->dirichlet_series(conj(1-s+v+I*incr*m),N) << endl; SUM=SUM+r; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; m--; }while(m>-100||local_average>max_integrand*tolerance_sqrd); SUM=SUM*incr/(2*Pi); } else SUM =conj(SUM); for(j=1;j<=a;j++){ r=-gamma[j]-2*real(lambda[j]); SUM=SUM*exp(log(DELTA[j])*r); } //cout << "m= " << m << " SUM2 = " << SUM << endl; //cout << "r= " << r << endl; L_value=L_value+OMEGA*SUM; delete [] dirichlet_vector; delete [] dirichlet_vector_copy; delete [] dirichlet_multiplier; delete [] dirichlet_multiplier_conj; //this returns L(s) if (!strcmp(return_type,"pure")) { z=1; for(j=1;j<=a;j++) z=z*GAMMA(gamma[j]*s+lambda[j],DELTA[j]); //cout << "pure " << L_value*exp(-log(Q)*s)/z << endl; delete [] DELTA; return L_value*exp(-log(Q)*s)/z; } //returns L(s) rotated to be real on critical line //assumes |OMEGA|=1. Valid assumption since //LAMBDA(1/2+it) = OMEGA conj(LAMBDA(1/2+it)) else if (!strcmp(return_type,"rotated pure")) { r=1; for(j=1;j<=a;j++) r=r*GAMMA(gamma[j]*s+lambda[j],DELTA[j]); z=0; for(j=1;j<=a;j++) z=z+log(DELTA[j])*real(gamma[j]*s+lambda[j]); //cout << "rotated pure " << L_value*exp(-log(Q)*real(s)-.5*log(OMEGA))*exp(z)/abs(r) << endl; delete [] DELTA; return L_value*exp(-log(Q)*real(s)-.5*log(OMEGA))*exp(z)/abs(r); } //else return Lambda(s) OMEGA^(-1/2) delta^(Re(s)). //This returns a real number (though, as a Complex) //on the critical line assuming |OMEGA|=1. Valid assumption //since LAMBDA(1/2+it) = OMEGA conj(LAMBDA(1/2+it)) else if(!strcmp(return_type,"normalized and real")) { z=0; for(j=1;j<=a;j++) z=z+log(DELTA[j])*real(gamma[j]*s+lambda[j]); //cout << "normalized and real " << L_value*exp(z-.5*log(OMEGA)) << endl; delete [] DELTA; return L_value*exp(z-.5*log(OMEGA)); } } // implements (3.3.20) with no precomputations. // DIGITS is how much precision we would like. // DIGITS2 is how much precision (out of DIGITS) // we are willing to sacrifice for the sake of template Complex L_function :: value_via_gamma_sum(Complex s, const char *return_type) { Complex L_value=0; Double theta=gamma[1]; // equals gamma_1 Double t_0=imag(s); Double c; //controls speed of convergence but at the expense //of loss of precision. Complex DELTA; //(3.3.10) Complex u; int k; c=DIGITS2*log(10.)/theta; //i.e exp(-c theta)=10^(-DIGITS2) //this sacrifices roughly at most DIGITS2 //out of DIGITS precision. //if(abs(t_0)<=2*c/Pi) DELTA=1; //else if(t_0>=0) DELTA = exp(I*theta*(Pi/2-c/t_0)); //else DELTA = exp(I*theta*(-Pi/2-c/t_0)); DELTA=find_delta(s*gamma[1]+lambda[1],gamma[1]); u=log(DELTA); for(k=1;k<=number_of_poles;k++) L_value=L_value+residue[k]*exp(-u*pole[k])/(s-pole[k]); u=gamma_sum(s, what_type_L, dirichlet_coefficient, number_of_dirichlet_coefficients, gamma[1], lambda[1], Q, period, DELTA); L_value=L_value+exp(log(DELTA/Q)*lambda[1]/gamma[1])*u; if(real(s)!=.5) u=gamma_sum(1-conj(s), what_type_L, dirichlet_coefficient, number_of_dirichlet_coefficients,gamma[1],lambda[1],Q,period,DELTA); u=conj(u); L_value=L_value+(OMEGA/DELTA)*exp(-log(DELTA*Q)*conj(lambda[1])/gamma[1])*u; //this returns L(s) if (!strcmp(return_type,"pure")) { u=log(DELTA/Q)/gamma[1]; //cout << "returning " << L_value << " divided by " << (GAMMA(gamma[1]*s+lambda[1],exp(u))*exp(u*lambda[1])) << endl;//XXXXXXXXXXXXXXXXXX return L_value/(GAMMA(gamma[1]*s+lambda[1],exp(u))*exp(u*lambda[1])); } //returns L(s) rotated to be real on critical line //assumes |OMEGA|=1. else if (!strcmp(return_type,"rotated pure")) { u=log(DELTA/Q)/gamma[1]; u=abs(GAMMA(gamma[1]*s+lambda[1],exp(u))*exp(u*lambda[1])); //u=GAMMA(gamma s + lambda)*(delta/Q)^(-s) return L_value*exp(log(DELTA)*real(s)-.5*log(OMEGA))/u; } //else return Lambda(s) OMEGA^(-1/2) delta^(Re(s)). //This returns a real number (though, as a Complex) //on the critical line assuming |OMEGA|=1 else if(!strcmp(return_type,"normalized and real")) return L_value*exp(log(DELTA)*real(s)-.5*log(OMEGA)); else // return L(s) { u=log(DELTA/Q)/gamma[1]; return L_value/(GAMMA(gamma[1]*s+lambda[1],exp(u))*exp(u*lambda[1])); } } template Complex L_function :: value(Complex s, int derivative, const char *return_type) { Complex L_value; if(derivative==0){ if(my_verbose>1) cout << "calling L: " << s << endl; //if(what_type_L==-1&&real(s)==.5&&abs(imag(s))>500) return Zeta(s,return_type); //uses Riemann Siegel. This is good only up to limited precision. //last condition in the if takes into account that Riemann Sigel is an asymptotic expansion //and that currently we only use the first 5 terms which gives O(t^(-3)) for the remainder if(what_type_L==-1&&real(s)==.5&&log(abs(imag(s)))/2.3>DIGITS/3.){ L_value = Zeta(s,return_type); //1.7725 is Pi^(.5), to account for the Q^\pm s in the approximate functional eqn DIGITS3=Int((DIGITS-log(log(1.*max_n*1.7725+3)*abs(imag(s))/6.28+3)/2.3)/pow(2.,abs(global_derivative)))+2; cout << setprecision(DIGITS3); if (my_verbose>1) cout << "Setting output precision to: " << DIGITS3 << endl; tolerance3=pow(1./10,(DIGITS3+1)); //cout << setprecision(DIGITS); //cout << s << " riemann siegel (" << DIGITS3 << " ): " << L_value << endl; return L_value; } if(a==1){ L_value = this->value_via_gamma_sum(s,return_type); } else{ //if a>1 L_value = this->value_via_Riemann_sum(s,return_type); } DIGITS3=Int( (DIGITS-DIGITS2-log(log(1.*max_n*Q+3)*abs(imag(s))/6.28+3)/2.3)/pow(2.,abs(global_derivative)))+2; cout << setprecision(DIGITS3); if (my_verbose>1) cout << "Setting output precision to: " << DIGITS3 << endl; tolerance3=pow(1./10,(DIGITS3+1)); return L_value; } else if(derivative>0){ Double h; h=pow(.1,(int)(DIGITS/pow(2.,derivative))); return((this->value(s+h,derivative-1,return_type)-this->value(s,derivative-1,return_type))/h); } else if(derivative==-1){ //simple way to use existing framework. -1 stands for logarithmic derivative //because of this hack I take abs of gloabl_derivative above when determining //output precision L_value=this->value(s,0,return_type); return(this->value(s,1,return_type)/L_value); //order, i.e. value then derivative, is important since //derivative sets output to lower precision so should be called 2nd } else{ cout << "Error. Specified derivative must be >= -1" << endl; exit(1); } } lcalc-1.23+dfsg.orig/include/Lnumberzeros.h0000644000175000017500000000316010477577654017360 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ //Computes N(T) without S(T) and to within O(1/T) //(N(T) is the number of zeros in the critical strip with |t| Double L_function :: N(Double T) { Double x; int i; x=T*log(Q)*2/Pi; //contribution from the conductor //contribution from the gamma factors for(i=1;i<=a;i++){ x=x+imag(log_GAMMA( (.5+I*T)*gamma[i]+lambda[i] ) -log_GAMMA( (.5-I*T)*gamma[i]+lambda[i] )) /Pi; } // contribution from the pole at s=1 if there is one // (actually considers poles on the line Re_s=1) for(i=1;i<=number_of_poles;i++) if(real(pole[i])>-10E-7&&real(pole[i])<1+10E-7) x=x+1; return x; } lcalc-1.23+dfsg.orig/include/mpfr_mul_d.h0000644000175000017500000000111510677331411016770 0ustar tobitobi// a few handy routines that aren't in the mpfr distribution #include "mpfr.h" #ifdef __cplusplus extern "C" { #endif int mpfr_mul_d(mpfr_ptr z, mpfr_srcptr x, double a, mpfr_rnd_t); int mpfr_div_d(mpfr_ptr z, mpfr_srcptr x, double a, mpfr_rnd_t); int mpfr_d_div(mpfr_ptr z, double a, mpfr_srcptr x, mpfr_rnd_t); int mpfr_add_d(mpfr_ptr z, mpfr_srcptr x, double a, mpfr_rnd_t); int mpfr_sub_d(mpfr_ptr z, mpfr_srcptr x, double a, mpfr_rnd_t); int mpfr_d_sub(mpfr_ptr z, double a, mpfr_srcptr x, mpfr_rnd_t); void mpfr_mul_d_clear(); #ifdef __cplusplus } // end extern "C" block #endif lcalc-1.23+dfsg.orig/include/Lcommandline_globals.h0000644000175000017500000000242111036543456020756 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lcommandline_globals_H #define Lcommandline_globals_H #include "L.h" //-----Global variables-------------------------------- extern int current_L_type; //1,2,3:For the 3 diff types of L-functions: int, Double, Complex extern L_function int_L,int_L2,int_L3; extern L_function Double_L,Double_L2,Double_L3; extern L_function Complex_L,Complex_L2,Complex_L3; void initialize_commandline_globals(); #endif lcalc-1.23+dfsg.orig/include/Lint_complex.h0000644000175000017500000000631710253116113017300 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lint_complex_H #define Lint_complex_H inline Complex operator + (Complex x, int y) { return Complex (real (x) + y, imag (x)); } inline Complex operator + (int x, Complex y) { return Complex (x + real (y), imag (y)); } inline Complex operator - (Complex x, int y) { return Complex (real (x) - y, imag (x)); } inline Complex operator - (int x, Complex y) { return Complex (x - real (y), - imag (y)); } inline Complex operator * (Complex x, int y) { return Complex (real (x) * y, imag (x) * y); } inline Complex operator * (int x, Complex y) { return Complex (x * real (y), x * imag (y)); } inline Complex operator / (Complex x, int y) //Complex operator / (Complex x, int y) { return Complex (real (x) / y, imag (x) / y); } inline Complex operator / (int x, Complex y) //Complex operator / (int x, Complex y) { return (((Double)x)/y); } inline bool operator == (Complex x, int y) { return real (x) == y && imag (x) == 0; } inline bool operator == (int x, Complex y) { return x == real (y) && imag (y) == 0; } inline bool operator != (Complex x, int y) { return real (x) != y || imag (x) != 0; } inline bool operator != (int x, Complex y) { return x != real (y) || imag (y) != 0; } inline Complex operator + (Complex x, Long y) { return Complex (real (x) + y, imag (x)); } inline Complex operator + (Long x, Complex y) { return Complex (x + real (y), imag (y)); } inline Complex operator - (Complex x, Long y) { return Complex (real (x) - y, imag (x)); } inline Complex operator - (Long x, Complex y) { return Complex (x - real (y), - imag (y)); } inline Complex operator * (Complex x, Long y) { return Complex (real (x) * y, imag (x) * y); } inline Complex operator * (Long x, Complex y) { return Complex (x * real (y), x * imag (y)); } inline Complex operator / (Complex x, Long y) //Complex operator / (Complex x, Long y) { return Complex (real (x) / y, imag (x) / y); } inline Complex operator / (Long x, Complex y) //Complex operator / (Long x, Complex y) { return (((Double)x)/y); } inline bool operator == (Complex x, Long y) { return real (x) == y && imag (x) == 0; } inline bool operator == (Long x, Complex y) { return x == real (y) && imag (y) == 0; } inline bool operator != (Complex x, Long y) { return real (x) != y || imag (x) != 0; } inline bool operator != (Long x, Complex y) { return x != real (y) || imag (y) != 0; } #endif lcalc-1.23+dfsg.orig/include/getopt.h0000644000175000017500000001451310773250545016161 0ustar tobitobi/* Declarations for getopt. Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef _GETOPT_H #ifndef __need_getopt # define _GETOPT_H 1 #endif /* If __GNU_LIBRARY__ is not already defined, either we are being used standalone, or this is the first header included in the source file. If we are being used with glibc, we need to include , but that does not exist if we are standalone. So: if __GNU_LIBRARY__ is not defined, include , which will pull in for us if it's from glibc. (Why ctype.h? It's guaranteed to exist and it doesn't flood the namespace with stuff the way some other headers do.) */ #if !defined __GNU_LIBRARY__ # include #endif #ifdef __cplusplus extern "C" { #endif /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ extern char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ extern int optind; /* Callers store zero here to inhibit the error message `getopt' prints for unrecognized options. */ extern int opterr; /* Set to an option character which was unrecognized. */ extern int optopt; #ifndef __need_getopt /* Describe the long-named options requested by the application. The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector of `struct option' terminated by an element containing a name which is zero. The field `has_arg' is: no_argument (or 0) if the option does not take an argument, required_argument (or 1) if the option requires an argument, optional_argument (or 2) if the option takes an optional argument. If the field `flag' is not NULL, it points to a variable that is set to the value given in the field `val' when the option is found, but left unchanged if the option is not found. To have a long-named option do something other than set an `int' to a compiled-in constant, such as set a value from `optarg', set the option's `flag' field to zero and its `val' field to a nonzero value (the equivalent single-letter option character, if there is one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ struct option { # if (defined __STDC__ && __STDC__) || defined __cplusplus const char *name; # else char *name; # endif /* has_arg can't be an enum because some compilers complain about type mismatches in all the code that assumes it is an int. */ int has_arg; int *flag; int val; }; /* Names for the values of the `has_arg' field of `struct option'. */ # define no_argument 0 # define required_argument 1 # define optional_argument 2 #endif /* need getopt */ /* Get definitions and prototypes for functions to process the arguments in ARGV (ARGC of them, minus the program name) for options given in OPTS. Return the option character from OPTS just read. Return -1 when there are no more options. For unrecognized options, or options missing arguments, `optopt' is set to the option letter, and '?' is returned. The OPTS string is a list of characters which are recognized option letters, optionally followed by colons, specifying that that letter takes an argument, to be placed in `optarg'. If a letter in OPTS is followed by two colons, its argument is optional. This behavior is specific to the GNU `getopt'. The argument `--' causes premature termination of argument scanning, explicitly telling `getopt' that there are no more options. If OPTS begins with `--', then non-option arguments are treated as arguments to the option '\0'. This behavior is specific to the GNU `getopt'. */ #if (defined __STDC__ && __STDC__) || defined __cplusplus # ifdef __GNU_LIBRARY__ /* Many other libraries have conflicting prototypes for getopt, with differences in the consts, in stdlib.h. To avoid compilation errors, only prototype getopt for the GNU C library. */ extern int getopt (int __argc, char *const *__argv, const char *__shortopts); # else /* not __GNU_LIBRARY__ */ #if !(defined __sun) extern int getopt (); #endif # endif /* __GNU_LIBRARY__ */ # ifndef __need_getopt extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts, const struct option *__longopts, int *__longind); extern int getopt_long_only (int __argc, char *const *__argv, const char *__shortopts, const struct option *__longopts, int *__longind); /* Internal only. Users should not call this directly. */ extern int _getopt_internal (int __argc, char *const *__argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only); # endif #else /* not __STDC__ */ extern int getopt (); # ifndef __need_getopt extern int getopt_long (); extern int getopt_long_only (); extern int _getopt_internal (); # endif #endif /* __STDC__ */ #ifdef __cplusplus } #endif /* Make sure we later can get all the definitions and declarations. */ #undef __need_getopt #endif /* getopt.h */ lcalc-1.23+dfsg.orig/include/Lriemannsiegel_blfi.h0000644000175000017500000000336411146161313020600 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ //Reiemann Siegel formula using band limited interpolation #ifndef Lriemannsiegel_blfi_H #define Lriemannsiegel_blfi_H Double sinc(Double u); Double kernel(Double u); Double theta_r(Double t); Complex theta(Double t); Double remain(Double t); void init_klog0(); Double block0_r(Double t,int start, int end); Double blfi_fun(int i,int j,int n,int ll,int md); Complex blfi_inter(Double t,Double v_denom,int i,int j,int ll, int &success); void init_blfi(Double t); void init_arrays(int md); void clean_arrays(int md); void initialize(Double t); int check(); void init_blfi_simulate(); int initialize_all(Double t,int md); int check1(Double t, int length0); Complex my_zeta(Double t,int &success); void output_detail(Double t); int set_up(Double t, Double error, Double input_mean_spacing_given); Complex rs(Double t, Double error_given, Double input_mean_spacing_given, int &success, const char *return_type="pure"); #endif lcalc-1.23+dfsg.orig/include/Lcommandline_values_zeros.h0000644000175000017500000000277411036542154022061 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lcommandline_values_zeros_H #define Lcommandline_values_zeros_H #include "L.h" //for the L_function class #include "Lcommandline_numbertheory.h" //for number theory functions #include "Lcommandline_globals.h" //command line global variables //-----functions-------------------------------------------------------------- void compute_values(Double x,Double y,const char *return_type="pure",const char *file_name="",Double x3=0,Double y3=0,Long count=0); void compute_zeros(Double x, Double y,Double step_size, Long count=0,int rank=-1,bool test_explicit_formula=false); void L_interpolate(Double x, Double y,Double step_size, int n=1000); #endif lcalc-1.23+dfsg.orig/include/cmdline.h0000644000175000017500000005724411227145237016276 0ustar tobitobi/** @file cmdline.h * @brief The header file for the command line option parser * generated by GNU Gengetopt version 2.22.1 * http://www.gnu.org/software/gengetopt. * DO NOT modify this file, since it can be overwritten * @author GNU Gengetopt by Lorenzo Bettini */ #ifndef CMDLINE_H #define CMDLINE_H /* If we use autoconf. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include /* for FILE */ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #ifndef CMDLINE_PARSER_PACKAGE /** @brief the program name */ #define CMDLINE_PARSER_PACKAGE "lcalc" #endif #ifndef CMDLINE_PARSER_VERSION /** @brief the program version */ #define CMDLINE_PARSER_VERSION "1.22 July 14, 2009" #endif /** @brief Where the command line options are stored */ struct gengetopt_args_info { const char *help_help; /**< @brief Print help and exit help description. */ const char *version_help; /**< @brief Print version and exit help description. */ int value_flag; /**< @brief compute L-function at x+iy. Should be used in conjuction with x and y options (default=off). */ const char *value_help; /**< @brief compute L-function at x+iy. Should be used in conjuction with x and y options help description. */ char * x_arg; /**< @brief Used with value,value-line-segment, and zeros-interval options (default='.5'). */ char * x_orig; /**< @brief Used with value,value-line-segment, and zeros-interval options original value given at command line. */ const char *x_help; /**< @brief Used with value,value-line-segment, and zeros-interval options help description. */ char * y_arg; /**< @brief Used with value,value-line-segment, and zeros-interval options (default='0'). */ char * y_orig; /**< @brief Used with value,value-line-segment, and zeros-interval options original value given at command line. */ const char *y_help; /**< @brief Used with value,value-line-segment, and zeros-interval options help description. */ char * value_file_arg; /**< @brief compute L-function at points specified in file. */ char * value_file_orig; /**< @brief compute L-function at points specified in file original value given at command line. */ const char *value_file_help; /**< @brief compute L-function at points specified in file help description. */ int value_line_segment_flag; /**< @brief compute L-function along a line segment connecting (x,y) to (X,Y) at number-sample points (default=off). */ const char *value_line_segment_help; /**< @brief compute L-function along a line segment connecting (x,y) to (X,Y) at number-sample points help description. */ int use_dirichlet_series_arg; /**< @brief compute values of the L-function using specified number of terms of the Dirichlet series rather than an approximate functional equation.. */ char * use_dirichlet_series_orig; /**< @brief compute values of the L-function using specified number of terms of the Dirichlet series rather than an approximate functional equation. original value given at command line. */ const char *use_dirichlet_series_help; /**< @brief compute values of the L-function using specified number of terms of the Dirichlet series rather than an approximate functional equation. help description. */ int hardy_flag; /**< @brief compute the Hardy Z function, i.e. the L-function rotated to be real on the critical line (default=off). */ const char *hardy_help; /**< @brief compute the Hardy Z function, i.e. the L-function rotated to be real on the critical line help description. */ char * X_arg; /**< @brief Used with value-line-segment (default='.5'). */ char * X_orig; /**< @brief Used with value-line-segment original value given at command line. */ const char *X_help; /**< @brief Used with value-line-segment help description. */ char * Y_arg; /**< @brief Used with value-line-segment (default='100'). */ char * Y_orig; /**< @brief Used with value-line-segment original value given at command line. */ const char *Y_help; /**< @brief Used with value-line-segment help description. */ int number_samples_arg; /**< @brief Used with value-line-segment, and interpolate options (default='1000'). */ char * number_samples_orig; /**< @brief Used with value-line-segment, and interpolate options original value given at command line. */ const char *number_samples_help; /**< @brief Used with value-line-segment, and interpolate options help description. */ int zeros_arg; /**< @brief number of zeros to find. */ char * zeros_orig; /**< @brief number of zeros to find original value given at command line. */ const char *zeros_help; /**< @brief number of zeros to find help description. */ int explicit_flag; /**< @brief test the explicit formula (beta-still in development) (default=off). */ const char *explicit_help; /**< @brief test the explicit formula (beta-still in development) help description. */ int zeros_interval_flag; /**< @brief number of zeros to find in an interval (1/2+ix,1/2+iy) using steps of size stepsize. Use with the x,y, and stepsize options (default=off). */ const char *zeros_interval_help; /**< @brief number of zeros to find in an interval (1/2+ix,1/2+iy) using steps of size stepsize. Use with the x,y, and stepsize options help description. */ char * stepsize_arg; /**< @brief Used with zeros-interval. */ char * stepsize_orig; /**< @brief Used with zeros-interval original value given at command line. */ const char *stepsize_help; /**< @brief Used with zeros-interval help description. */ int derivative_arg; /**< @brief compute derivative. use -d -1 to specify logarithmic derivative.. */ char * derivative_orig; /**< @brief compute derivative. use -d -1 to specify logarithmic derivative. original value given at command line. */ const char *derivative_help; /**< @brief compute derivative. use -d -1 to specify logarithmic derivative. help description. */ int elliptic_curve_flag; /**< @brief specify an elliptic curve over Q. Use with the a1 a2 a3 a4 a6 options (default=off). */ const char *elliptic_curve_help; /**< @brief specify an elliptic curve over Q. Use with the a1 a2 a3 a4 a6 options help description. */ char * a1_arg; /**< @brief Used with the elliptic-curve option. */ char * a1_orig; /**< @brief Used with the elliptic-curve option original value given at command line. */ const char *a1_help; /**< @brief Used with the elliptic-curve option help description. */ char * a2_arg; /**< @brief Used with the elliptic-curve option. */ char * a2_orig; /**< @brief Used with the elliptic-curve option original value given at command line. */ const char *a2_help; /**< @brief Used with the elliptic-curve option help description. */ char * a3_arg; /**< @brief Used with the elliptic-curve option. */ char * a3_orig; /**< @brief Used with the elliptic-curve option original value given at command line. */ const char *a3_help; /**< @brief Used with the elliptic-curve option help description. */ char * a4_arg; /**< @brief Used with the elliptic-curve option. */ char * a4_orig; /**< @brief Used with the elliptic-curve option original value given at command line. */ const char *a4_help; /**< @brief Used with the elliptic-curve option help description. */ char * a6_arg; /**< @brief Used with the elliptic-curve option. */ char * a6_orig; /**< @brief Used with the elliptic-curve option original value given at command line. */ const char *a6_help; /**< @brief Used with the elliptic-curve option help description. */ char * file_input_arg; /**< @brief input a file with basic L-function data. */ char * file_input_orig; /**< @brief input a file with basic L-function data original value given at command line. */ const char *file_input_help; /**< @brief input a file with basic L-function data help description. */ char * url_arg; /**< @brief input a web based file with basic L-function data. Specify the url of the file. */ char * url_orig; /**< @brief input a web based file with basic L-function data. Specify the url of the file original value given at command line. */ const char *url_help; /**< @brief input a web based file with basic L-function data. Specify the url of the file help description. */ char * interpolate_arg; /**< @brief interpolate between two L-functions and find their zeros. Should be used in conjunction with file-input. */ char * interpolate_orig; /**< @brief interpolate between two L-functions and find their zeros. Should be used in conjunction with file-input original value given at command line. */ const char *interpolate_help; /**< @brief interpolate between two L-functions and find their zeros. Should be used in conjunction with file-input help description. */ char * output_character_arg; /**< @brief if twisting, output the character (default='1'). */ char * output_character_orig; /**< @brief if twisting, output the character original value given at command line. */ const char *output_character_help; /**< @brief if twisting, output the character help description. */ int output_data_arg; /**< @brief output basic data for the underlying L-function (default='10'). */ char * output_data_orig; /**< @brief output basic data for the underlying L-function original value given at command line. */ const char *output_data_help; /**< @brief output basic data for the underlying L-function help description. */ int verbose_arg; /**< @brief verbosity > 0 outputs extra info (default='0'). */ char * verbose_orig; /**< @brief verbosity > 0 outputs extra info original value given at command line. */ const char *verbose_help; /**< @brief verbosity > 0 outputs extra info help description. */ int precision_arg; /**< @brief number digits precision (default='14'). */ char * precision_orig; /**< @brief number digits precision original value given at command line. */ const char *precision_help; /**< @brief number digits precision help description. */ int sacrifice_arg; /**< @brief number digits to sacrifice (default='2'). */ char * sacrifice_orig; /**< @brief number digits to sacrifice original value given at command line. */ const char *sacrifice_help; /**< @brief number digits to sacrifice help description. */ int rank_compute_flag; /**< @brief compute the rank (default=off). */ const char *rank_compute_help; /**< @brief compute the rank help description. */ int rank_verify_arg; /**< @brief verify if specified rank is correct. */ char * rank_verify_orig; /**< @brief verify if specified rank is correct original value given at command line. */ const char *rank_verify_help; /**< @brief verify if specified rank is correct help description. */ int rank_limit_arg; /**< @brief when doing quadratic twists limit to L-functions with specified rank. */ char * rank_limit_orig; /**< @brief when doing quadratic twists limit to L-functions with specified rank original value given at command line. */ const char *rank_limit_help; /**< @brief when doing quadratic twists limit to L-functions with specified rank help description. */ int tau_flag; /**< @brief Ramanujan tau L-function (weight 12, full level) (default=off). */ const char *tau_help; /**< @brief Ramanujan tau L-function (weight 12, full level) help description. */ int twist_quadratic_flag; /**< @brief twist by fundamental quadratic characters, start <= discriminant <= finish. Use with start and finish options. (default=off). */ const char *twist_quadratic_help; /**< @brief twist by fundamental quadratic characters, start <= discriminant <= finish. Use with start and finish options. help description. */ char * start_arg; /**< @brief Used with various twisting options. */ char * start_orig; /**< @brief Used with various twisting options original value given at command line. */ const char *start_help; /**< @brief Used with various twisting options help description. */ char * finish_arg; /**< @brief Used with various twisting options. Default has finish=start. */ char * finish_orig; /**< @brief Used with various twisting options. Default has finish=start original value given at command line. */ const char *finish_help; /**< @brief Used with various twisting options. Default has finish=start help description. */ int twist_quadratic_even_flag; /**< @brief twist by fundamental quadratic characters, even functional eqn, start <= discriminant <= finish (default=off). */ const char *twist_quadratic_even_help; /**< @brief twist by fundamental quadratic characters, even functional eqn, start <= discriminant <= finish help description. */ int twist_primitive_flag; /**< @brief twist by all primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate characters are considered equivalent (default=off). */ const char *twist_primitive_help; /**< @brief twist by all primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate characters are considered equivalent help description. */ int twist_all_flag; /**< @brief twist by all Dirichlet characters with start <= conductor <= finish. (default=off). */ const char *twist_all_help; /**< @brief twist by all Dirichlet characters with start <= conductor <= finish. help description. */ int twist_all_no_conj_pairs_flag; /**< @brief twist by all Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent (default=off). */ const char *twist_all_no_conj_pairs_help; /**< @brief twist by all Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent help description. */ int twist_complex_no_conj_pairs_flag; /**< @brief twist by all complex primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent (default=off). */ const char *twist_complex_no_conj_pairs_help; /**< @brief twist by all complex primitive Dirichlet characters with start <= conductor <= finish. For L-functions with complex Dirichlet coefficients, conjugate pairs of characters are considered equivalent help description. */ int twist_generic_flag; /**< @brief twist by a generic complex Dirichlet characters with start <= conductor <= finish. (default=off). */ const char *twist_generic_help; /**< @brief twist by a generic complex Dirichlet characters with start <= conductor <= finish. help description. */ int degree_arg; /**< @brief can only be used in conjuction with twist-primitive (?). Select characters of specified degree. Not yet implemented. */ char * degree_orig; /**< @brief can only be used in conjuction with twist-primitive (?). Select characters of specified degree. Not yet implemented original value given at command line. */ const char *degree_help; /**< @brief can only be used in conjuction with twist-primitive (?). Select characters of specified degree. Not yet implemented help description. */ int openmp_arg; /**< @brief whether to use openmp parallelization (beta- very little parallelization currently implemented) . Specify the number of threads to use.. */ char * openmp_orig; /**< @brief whether to use openmp parallelization (beta- very little parallelization currently implemented) . Specify the number of threads to use. original value given at command line. */ const char *openmp_help; /**< @brief whether to use openmp parallelization (beta- very little parallelization currently implemented) . Specify the number of threads to use. help description. */ unsigned int help_given ; /**< @brief Whether help was given. */ unsigned int version_given ; /**< @brief Whether version was given. */ unsigned int value_given ; /**< @brief Whether value was given. */ unsigned int x_given ; /**< @brief Whether x was given. */ unsigned int y_given ; /**< @brief Whether y was given. */ unsigned int value_file_given ; /**< @brief Whether value-file was given. */ unsigned int value_line_segment_given ; /**< @brief Whether value-line-segment was given. */ unsigned int use_dirichlet_series_given ; /**< @brief Whether use-dirichlet-series was given. */ unsigned int hardy_given ; /**< @brief Whether hardy was given. */ unsigned int X_given ; /**< @brief Whether X was given. */ unsigned int Y_given ; /**< @brief Whether Y was given. */ unsigned int number_samples_given ; /**< @brief Whether number-samples was given. */ unsigned int zeros_given ; /**< @brief Whether zeros was given. */ unsigned int explicit_given ; /**< @brief Whether explicit was given. */ unsigned int zeros_interval_given ; /**< @brief Whether zeros-interval was given. */ unsigned int stepsize_given ; /**< @brief Whether stepsize was given. */ unsigned int derivative_given ; /**< @brief Whether derivative was given. */ unsigned int elliptic_curve_given ; /**< @brief Whether elliptic-curve was given. */ unsigned int a1_given ; /**< @brief Whether a1 was given. */ unsigned int a2_given ; /**< @brief Whether a2 was given. */ unsigned int a3_given ; /**< @brief Whether a3 was given. */ unsigned int a4_given ; /**< @brief Whether a4 was given. */ unsigned int a6_given ; /**< @brief Whether a6 was given. */ unsigned int file_input_given ; /**< @brief Whether file-input was given. */ unsigned int url_given ; /**< @brief Whether url was given. */ unsigned int interpolate_given ; /**< @brief Whether interpolate was given. */ unsigned int output_character_given ; /**< @brief Whether output-character was given. */ unsigned int output_data_given ; /**< @brief Whether output-data was given. */ unsigned int verbose_given ; /**< @brief Whether verbose was given. */ unsigned int precision_given ; /**< @brief Whether precision was given. */ unsigned int sacrifice_given ; /**< @brief Whether sacrifice was given. */ unsigned int rank_compute_given ; /**< @brief Whether rank-compute was given. */ unsigned int rank_verify_given ; /**< @brief Whether rank-verify was given. */ unsigned int rank_limit_given ; /**< @brief Whether rank-limit was given. */ unsigned int tau_given ; /**< @brief Whether tau was given. */ unsigned int twist_quadratic_given ; /**< @brief Whether twist-quadratic was given. */ unsigned int start_given ; /**< @brief Whether start was given. */ unsigned int finish_given ; /**< @brief Whether finish was given. */ unsigned int twist_quadratic_even_given ; /**< @brief Whether twist-quadratic-even was given. */ unsigned int twist_primitive_given ; /**< @brief Whether twist-primitive was given. */ unsigned int twist_all_given ; /**< @brief Whether twist-all was given. */ unsigned int twist_all_no_conj_pairs_given ; /**< @brief Whether twist-all-no-conj-pairs was given. */ unsigned int twist_complex_no_conj_pairs_given ; /**< @brief Whether twist-complex-no-conj-pairs was given. */ unsigned int twist_generic_given ; /**< @brief Whether twist-generic was given. */ unsigned int degree_given ; /**< @brief Whether degree was given. */ unsigned int openmp_given ; /**< @brief Whether openmp was given. */ } ; /** @brief The additional parameters to pass to parser functions */ struct cmdline_parser_params { int override; /**< @brief whether to override possibly already present options (default 0) */ int initialize; /**< @brief whether to initialize the option structure gengetopt_args_info (default 1) */ int check_required; /**< @brief whether to check that all required options were provided (default 1) */ int check_ambiguity; /**< @brief whether to check for options already specified in the option structure gengetopt_args_info (default 0) */ int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */ } ; /** @brief the purpose string of the program */ extern const char *gengetopt_args_info_purpose; /** @brief the usage string of the program */ extern const char *gengetopt_args_info_usage; /** @brief all the lines making the help output */ extern const char *gengetopt_args_info_help[]; /** * The command line parser * @param argc the number of command line options * @param argv the command line options * @param args_info the structure where option information will be stored * @return 0 if everything went fine, NON 0 if an error took place */ int cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info); /** * The command line parser (version with additional parameters - deprecated) * @param argc the number of command line options * @param argv the command line options * @param args_info the structure where option information will be stored * @param override whether to override possibly already present options * @param initialize whether to initialize the option structure my_args_info * @param check_required whether to check that all required options were provided * @return 0 if everything went fine, NON 0 if an error took place * @deprecated use cmdline_parser_ext() instead */ int cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required); /** * The command line parser (version with additional parameters) * @param argc the number of command line options * @param argv the command line options * @param args_info the structure where option information will be stored * @param params additional parameters for the parser * @return 0 if everything went fine, NON 0 if an error took place */ int cmdline_parser_ext (int argc, char * const *argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params); /** * Save the contents of the option struct into an already open FILE stream. * @param outfile the stream where to dump options * @param args_info the option struct to dump * @return 0 if everything went fine, NON 0 if an error took place */ int cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info); /** * Save the contents of the option struct into a (text) file. * This file can be read by the config file parser (if generated by gengetopt) * @param filename the file where to save * @param args_info the option struct to save * @return 0 if everything went fine, NON 0 if an error took place */ int cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info); /** * Print the help */ void cmdline_parser_print_help(void); /** * Print the version */ void cmdline_parser_print_version(void); /** * Initializes all the fields a cmdline_parser_params structure * to their default values * @param params the structure to initialize */ void cmdline_parser_params_init(struct cmdline_parser_params *params); /** * Allocates dynamically a cmdline_parser_params structure and initializes * all its fields to their default values * @return the created and initialized cmdline_parser_params structure */ struct cmdline_parser_params *cmdline_parser_params_create(void); /** * Initializes the passed gengetopt_args_info structure's fields * (also set default values for options that have a default) * @param args_info the structure to initialize */ void cmdline_parser_init (struct gengetopt_args_info *args_info); /** * Deallocates the string fields of the gengetopt_args_info structure * (but does not deallocate the structure itself) * @param args_info the structure to deallocate */ void cmdline_parser_free (struct gengetopt_args_info *args_info); /** * Checks that all the required options were specified * @param args_info the structure to check * @param prog_name the name of the program that will be used to print * possible errors * @return */ int cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog_name); extern char *cmdline_parser_output_character_values[] ; /**< @brief Possible values for output-character. */ #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* CMDLINE_H */ lcalc-1.23+dfsg.orig/include/Lriemannsiegel.h0000644000175000017500000000242311144360317017602 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ //Reiemann Siegel formula. //http://www.dtc.umn.edu/~odlyzko/doc/arch/fast.zeta.eval.pdf #ifndef Lriemannsiegel_H #define Lriemannsiegel_H //#include "Lglobals.h" //for global variables //#include "Lgamma.h" //for global variables //#include "Lmisc.h" //for global variables Complex Zeta(Complex s, const char *return_type="pure"); Double C(int n, Double *powers_z); Complex siegel(Complex s, int N=10); #endif lcalc-1.23+dfsg.orig/include/Lcommandline_elliptic.h0000644000175000017500000000343710253116113021132 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lcommandline_elliptic_H #define Lcommandline_elliptic_H #include "L.h" //for the L_function class #include "Lcommandline_numbertheory.h" //for number theory functions #include "Lcommandline_globals.h" //command line global variables #include #ifdef INCLUDE_PARI #include "pari.h" //for pari's elliptic curve functions #undef init //pari has a '#define init pari_init' which //causes trouble with the stream.h init. //pari also causes trouble with things like abs. //we place the pari include first since otherwise it //messes up. void initialize_new_L(char *a1, char *a2, char *a3, char *a4, char *a6, int N_terms); void data_E(char *a1, char *a2, char *a3, char *a4, char *a6,int N_terms,Double * coeff); #endif //ifdef INCLUDE_PARI void verify_rank(int rank); void compute_rank(); #endif lcalc-1.23+dfsg.orig/include/Lgram.h0000644000175000017500000001043310253116113015677 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ //returns first gram point >t template Double L_function :: initialize_gram(Double t) { Double N1=N(t)/2,N2; Double t2=t; Long n1,n2; Double incr=1.01/(N(t+1)/2-N1); Double x,tmp; Double y; Long u; if (incr<0)incr=.1; n1=(Long)(floor(N1)+.1); cout <t&&tmp>0); if(t2what_type_L<4) return 0; } else {n1=-1;incr=.2;} //cout<< n1<<" " << t2 << endl; } //cout <<"======="<=2){incr=incr*.9; N2=N(t2+incr)/2;n2=(Long)(floor(N2)+.1);if(N2<0)n2--;} //cout << t2 << " " << t2+incr << " " << n1 << " " << n2 << endl; }while((n2-n1)<1||(n2-n1)>=2); y=t2+incr; //divide and conquer to compute the next gram point for(int i=1;i<=20;i++){ x=(t2+y)/2; tmp=N(x)/2; u=(Long) (floor(tmp)+.1); if(tmp<0) u--; if(u==n1){ t2=x;} else{ y=x;} //cout << t2 << " " << y << endl; } return x; } //computes the gram point above the current gram point t, i.e. //assumes that t is itself a gram point. //I don't want to use initialize_gram(current_gram) because //the numeric current gram might be slightly smaller than actual current //gram and we might just get the same point template Double L_function :: next_gram(Double t) { Double N1=(this->N(t))/2,N2; Double t2=t; Long n1,n2; Double incr=1.01/((this->N(t+1))/2-N1); if (incr<0)incr=.1; n1=(Long)(rint(N1)+.1); //n1 is the closest int to N(t)/2 cout <N(t2+incr))/2; n2=(Long)(floor(N2)+.1); do{ if((n2-n1)<1){incr=incr*1.4; N2=this->N(t2+incr)/2;n2=(Long)(floor(N2)+.1);} if((n2-n1)>=2){incr=incr*.9; N2=this->N(t2+incr)/2;n2=(Long)(floor(N2)+.1);} //cout << N1 << " " << N2 << " " << n1 << " " << n2 << endl; }while((n2-n1)<1||(n2-n1)>=2); Double x; Double y=t2+incr; //divide and conquer to compute the next gram point for(int i=1;i<=20;i++){ x=(t2+y)/2; if(((Long)(floor(this->N(x)/2)+.1))==n1){ t2=x;} else{ y=x;} //cout << t2 << " " << y << endl; } //cout << x << " " << this->N(x)/2 << endl; //cout << "========================\n"; return x; } lcalc-1.23+dfsg.orig/include/Ldirichlet_series.h0000644000175000017500000000507310746454071020315 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "Lmisc.h" template Complex L_function :: partial_dirichlet_series(Complex s, long long N1, long long N2) { Complex z=0.; long long m,n; if(what_type_L==-1) //i.e. if the Riemann zeta function for(n=N1;n<=N2;n++) z=z+exp(-s*LOG(n)); else if(what_type_L!=1) //if not periodic for(n=N1;n<=N2;n++) z=z+dirichlet_coefficient[n]*exp(-s*LOG(n)); else //if periodic for(n=N1;n<=N2;n++) { m=n%period; if(m==0)m=period; z=z+dirichlet_coefficient[m]*exp(-s*LOG(n)); } return z; } //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX template Complex L_function :: dirichlet_series(Complex s, long long N=-1) { Complex z=0.; long long m,n; if(N==-1) N=number_of_dirichlet_coefficients; if(N>number_of_dirichlet_coefficients&&what_type_L!=-1&&what_type_L!=1) { if(print_warning){ print_warning=false; cout << "WARNING from dirichlet series- we don't have enough Dirichlet coefficients." << endl; cout << "Will use the maximum possible, though the output "; cout << "will not necessarily be accurate." << endl; } N=number_of_dirichlet_coefficients; } if(what_type_L==-1) //i.e. if the Riemann zeta function for(n=1;n<=N;n++) z=z+exp(-s*LOG(n)); else if(what_type_L!=1) //if not periodic for(n=1;n<=N;n++) z=z+dirichlet_coefficient[n]*exp(-s*LOG(n)); else //if periodic for(n=1;n<=N;n++) { m=n%period; if(m==0)m=period; z=z+dirichlet_coefficient[m]*exp(-s*LOG(n)); } return z; } lcalc-1.23+dfsg.orig/include/L.h0000644000175000017500000004617011232022647015045 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef L_H #define L_H #ifdef _OPENMP #include #endif #include //for manipulating output such as setprecision #include //for file input output #include //for string functions such as strcpy #include //for ostream:w #include //for ostrstream #include #include #include "Lglobals.h" //for global variables #include "Lmisc.h" //things like sn or LOG #include "Lgamma.h" //incomplete gamma function code //#include "Lprecomp.h" #include "Lriemannsiegel.h" //Riemann Siegel formula #include "Lriemannsiegel_blfi.h" //Hiary's Riemann Siegel formula using band limited interpolation //-----THE L Function Class----------------------------------- template class L_function { public: char *name; // the name of the L_function int what_type_L; // -1 for zeta // 0 for unknown // 1 for periodic, i.e an L(s,chi), Dirichlet L-function // -2 for L(s,chi) but where the // # coeffs computed is < period. // 2 for cusp form (in S_K(Gamma_0(N)) // 3 for Maass form for SL_2(Z) // 4 etc for future types int number_of_dirichlet_coefficients; // the number of dirichlet coefficients ttype *dirichlet_coefficient; // the dirichlet coefficients. long long period; //stores the period. //0 if not periodic. Double Q; // the conductor (includes the Pi). Complex OMEGA; // in the functional equation // we assume |OMEGA| = 1 for the following: // rotating L(s) so as to be real on the // critical line, and in check_funct_equation. int a; // quasi degree of the L-function Complex *lambda; // for the GAMMA factors Double *gamma; // for the GAMMA factors. Either 1/2 or 1 // for notational convenience we label // them 1..a int number_of_poles; // the number of poles Complex *pole; // poles of the L-function Complex *residue; // residues at the poles //Complex S_0; // taylor series about S_0 //Complex *taylor_series; // taylor coefficients //precomputation2 *local_series_a; // precomputed taylor expansions for f1 integrand //precomputation2 *local_series_b; // precomputed taylor expansions for f2 integrand //-----Constructor: default initilization is to the Riemann zeta function------- L_function () { if(my_verbose>1) cout << "zeta constructor called\n"; name = new char[5]; strcpy(name,"zeta"); what_type_L=-1; // this is how I know it is zeta number_of_dirichlet_coefficients=0; dirichlet_coefficient = new ttype[1]; period=0; Q=1/sqrt(Pi); OMEGA=1.; a=1; gamma = new Double[2]; lambda = new Complex[2]; gamma[1]=.5; lambda[1]=0; number_of_poles=2; pole = new Complex[3]; residue = new Complex[3]; pole[1]=1; residue[1]=1; pole[2]=0; residue[2]=-1; //S_0=.5; //taylor_series= new Complex[number_taylor_coeffs+1]; //local_series_a=new precomputation2[number_local_series]; //local_series_b=new precomputation2[number_local_series]; } //-----Constructor: initialize the L-function from given data------------------ L_function (const char *NAME, int what_type, int N, ttype *coeff, long long Period, Double q, Complex w, int A, Double *g, Complex *l, int n_poles, Complex *p, Complex *r) { if(my_verbose>1) cout << "constructor called\n"; int k; bool use_legendre_duplication = false; //at present there's no need to call legendre. name = new char[strlen(NAME)+1]; strcpy(name,NAME); what_type_L=what_type; number_of_dirichlet_coefficients=N; dirichlet_coefficient = new ttype[N+1]; for (k=1;k<=N;k++) { dirichlet_coefficient[k]= coeff[k]; if(my_verbose>1&&k<=10) cout << "setting dirichlet coefficient" << k << " " << coeff[k]<< " " << dirichlet_coefficient[k]<< endl; } period=Period; Q=q; OMEGA=w; a=A; if(use_legendre_duplication){ for (k=1;k<=A;k++) if (1.1-g[k]<.2&&A>1) a++; //i.e. if g[k]=1 as opposed to 1/2 } gamma = new Double[a+1]; lambda = new Complex[a+1]; int j=A+1; for (k=1;k<=A;k++) { if (use_legendre_duplication&&1.1-g[k]<.2&&A>1) { gamma[k]=g[k]*.5; gamma[j]=g[k]*.5; lambda[k]=l[k]*.5; lambda[j]=l[k]*.5+.5; Q=2*Q; j++; } else { gamma[k]=g[k]; lambda[k]=l[k]; } } number_of_poles=n_poles; pole = new Complex[n_poles+1]; residue = new Complex[n_poles+1]; for (k=1;k<=n_poles;k++) { pole[k]=p[k]; residue[k]=r[k]; } } //-----Constructor: initialize the L-function from given data------------------ L_function (const char *NAME, int what_type, int N, ttype *coeff, long long Period, Double q, Complex w, int A, Double *g, Complex *l) { if(my_verbose>1) cout << "constructor called\n"; int k; bool use_legendre_duplication = false; name = new char[strlen(NAME)+1]; strcpy(name,NAME); what_type_L=what_type; number_of_dirichlet_coefficients=N; dirichlet_coefficient = new ttype[N+1]; for (k=1;k<=N;k++) { dirichlet_coefficient[k]= coeff[k]; if(my_verbose>1&&k<=10) cout << "setting dirichlet coefficient" << k << " " << coeff[k]<< " " << dirichlet_coefficient[k]<< endl; } period=Period; Q=q; OMEGA=w; a=A; if(use_legendre_duplication){ for (k=1;k<=A;k++) if (1.1-g[k]<.2&&A>1) a++; //i.e. if g[k]=1 as opposed to 1/2 } gamma = new Double[a+1]; lambda = new Complex[a+1]; int j=A+1; for (k=1;k<=A;k++) { if (use_legendre_duplication&&1.1-g[k]<.2&&A>1) { gamma[k]=g[k]*.5; gamma[j]=g[k]*.5; lambda[k]=l[k]*.5; lambda[j]=l[k]*.5+.5; Q=2*Q; j++; } else { gamma[k]=g[k]; lambda[k]=l[k]; } } number_of_poles=0; pole = new Complex[1]; residue = new Complex[1]; } //-----Copy constructor------------------------- L_function (const L_function &L) { if(my_verbose>1) cout << "copy called\n"; int k; name = new char[strlen(L.name)+1]; strcpy(name,L.name); what_type_L=L.what_type_L; number_of_dirichlet_coefficients=L.number_of_dirichlet_coefficients;; dirichlet_coefficient = new ttype[number_of_dirichlet_coefficients+1]; for (k=1;k<=number_of_dirichlet_coefficients;k++) { dirichlet_coefficient[k]= L.dirichlet_coefficient[k]; if(my_verbose>1&&k<=10) cout << "setting dirichlet coefficient" << k << " " << L.dirichlet_coefficient[k] << " " << dirichlet_coefficient[k]<< endl; } period=L.period; #ifdef USE_MPFR reset(Q); reset(OMEGA); #endif Q=L.Q; OMEGA=L.OMEGA; a=L.a; gamma = new Double[a+1]; lambda = new Complex[a+1]; for (k=1;k<=a;k++) { gamma[k]=L.gamma[k]; lambda[k]=L.lambda[k]; } number_of_poles=L.number_of_poles; pole = new Complex[number_of_poles+1]; residue = new Complex[number_of_poles+1]; for (k=1;k<=number_of_poles;k++) { pole[k]=L.pole[k]; residue[k]=L.residue[k]; } //S_0=L.S_0; //taylor_series= new Complex[number_taylor_coeffs+1]; //for(k=0;k<=number_taylor_coeffs;k++)taylor_series[k]=L.taylor_series[k]; //local_series_a=new precomputation2[number_local_series]; //local_series_b=new precomputation2[number_local_series]; //for(k=0;k1) cout << "assignment called\n"; if (this != &L) { delete [] name; name=new char[strlen(L.name)+1]; strcpy(name,L.name); what_type_L=L.what_type_L; number_of_dirichlet_coefficients=L.number_of_dirichlet_coefficients; delete [] dirichlet_coefficient; dirichlet_coefficient = new ttype[number_of_dirichlet_coefficients+1]; for (k=1;k<=number_of_dirichlet_coefficients;k++) dirichlet_coefficient[k]= L.dirichlet_coefficient[k]; period=L.period; #ifdef USE_MPFR reset(Q); reset(OMEGA); #endif Q=L.Q; OMEGA=L.OMEGA; a=L.a; delete [] gamma; gamma = new Double[a+1]; delete [] lambda; lambda = new Complex[a+1]; for (k=1;k<=a;k++) { gamma[k]=L.gamma[k]; lambda[k]=L.lambda[k]; } number_of_poles=L.number_of_poles; delete [] pole; pole = new Complex[number_of_poles+1]; delete [] residue; residue = new Complex[number_of_poles+1]; for (k=1;k<=number_of_poles;k++) { pole[k]=L.pole[k]; residue[k]=L.residue[k]; } //S_0=L.S_0; //delete [] taylor_series; //taylor_series= new Complex[number_taylor_coeffs+1]; //for(k=0;k<=number_taylor_coeffs;k++)taylor_series[k]=L.taylor_series[k]; //local_series_a=new precomputation2[number_local_series]; //local_series_b=new precomputation2[number_local_series]; //for(k=0;k1) cout << "destructor called\n"; delete [] name; delete [] dirichlet_coefficient; delete [] gamma; delete [] lambda; delete [] pole; delete [] residue; //delete [] taylor_series; //delete [] local_series_a; //delete [] local_series_b; } //-----addition operator-------------------- //returns the 'L-function' whose basic data (funct eqn, dirichlet coefficients) //is that of this added to that of L //not particularly useful L_function operator + (const L_function &L) { L_function L2; int k; if(my_verbose>1) cout << "addition called\n"; L2.name=new char[1]; strcpy(L2.name,""); L2.what_type_L=L.what_type_L; L2.number_of_dirichlet_coefficients=L.number_of_dirichlet_coefficients; L2.dirichlet_coefficient = new ttype[number_of_dirichlet_coefficients+1]; for (k=1;k<=number_of_dirichlet_coefficients;k++) L2.dirichlet_coefficient[k]= dirichlet_coefficient[k] +L.dirichlet_coefficient[k]; L2.period=L.period; #ifdef USE_MPFR //XXXXXXXXXXXX don't think this is needed since the assignment call does same reset(L2.Q); reset(L2.OMEGA); #endif L2.Q=Q+L.Q; L2.OMEGA=OMEGA+L.OMEGA; L2.a=L.a; L2.gamma = new Double[a+1]; L2.lambda = new Complex[a+1]; for (k=1;k<=a;k++) { L2.gamma[k]=gamma[k]+L.gamma[k]; L2.lambda[k]=lambda[k]+L.lambda[k]; } L2.number_of_poles=number_of_poles; L2.pole = new Complex[number_of_poles+1]; L2.residue = new Complex[number_of_poles+1]; for (k=1;k<=number_of_poles;k++) { L2.pole[k]=pole[k]+L.pole[k]; L2.residue[k]=residue[k]+L.residue[k]; } return L2; } //-----multiplication operator-------------------- //returns the L-function whose basic data (funct eqn, dirichlet coefficients) //is that of this times the scalar t //not particularly useful L_function operator * (double t) { L_function L2; int k; if(my_verbose>1) cout << "addition called\n"; L2.name=new char[1]; strcpy(L2.name,""); L2.what_type_L=what_type_L; L2.number_of_dirichlet_coefficients=number_of_dirichlet_coefficients; L2.dirichlet_coefficient = new ttype[number_of_dirichlet_coefficients+1]; for (k=1;k<=number_of_dirichlet_coefficients;k++) L2.dirichlet_coefficient[k]= dirichlet_coefficient[k]*t; L2.period=period; #ifdef USE_MPFR //XXXXXXXXXXXX don't think this is needed since the assignment call does same reset(L2.Q); reset(L2.OMEGA); #endif L2.Q=Q*t; L2.OMEGA=OMEGA*t; L2.a=a; L2.gamma = new Double[a+1]; L2.lambda = new Complex[a+1]; for (k=1;k<=a;k++) { L2.gamma[k]=gamma[k]*t; L2.lambda[k]=lambda[k]*t; } L2.number_of_poles=number_of_poles; L2.pole = new Complex[number_of_poles+1]; L2.residue = new Complex[number_of_poles+1]; for (k=1;k<=number_of_poles;k++) { L2.pole[k]=pole[k]*t; L2.residue[k]=residue[k]*t; } return L2; } //#include "Lprint.h" //printing routine void print_data_L(int N=10); //prints basic data for an L-function //#include "Lnumberzeros.h" //computes N(T) without S(T), roughly number zeros in |t| &result);//This is the same as above function void find_zeros_via_gram(Double t1, Long count=0,Double max_refine=1025, const char* filename="cout", const char* message_stamp=""); int compute_rank(bool print_rank=false); void verify_rank(int rank); void find_zeros_via_N(Long count=0,bool do_negative=true,Double max_refine=1025, int rank=-1, bool test_explicit_formula=false, const char* filename="cout", const char* message_stamp=""); void find_zeros_via_N_v(Long count,bool do_negative,Double max_refine, int rank, bool test_explicit_formula, vector &result); void find_zeros_elaborate(Double t1, Long count=0,Double max_refine=1025, const char* filename="cout", const char* message_stamp=""); //#include "Ldokchitser.h" //dokchitser algorithm for what he calls phi(t), i.e. inverse void phi_series(int precision); //#include "Lexplicit_formula.h" int dirichlet_coeffs_log_diff(int num_coeff, Complex *c); int test_explicit_formula(Double A, Double x_0, Double *zero_table, int number_zeroes, Complex *c, int num_coeffs); }; //templated class code should be kept in .h files #include "Ldirichlet_series.h" //for computing Dirichlet series #include "Lprint.h" //printing routine #include "Lnumberzeros.h" //computes N(T) without S(T), roughly number zeros in |t| //for manipulating output such as setprecision #include //for ostrstream #include //using namespace std; template precise(ttype) log_GAMMA (ttype z,int n=0); //return ttype since I also want to //use it for N(T) which is real. template Complex GAMMA (ttype z,ttype2 delta); //computes G(z,w) template Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false); //computes G(z,w) template ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false); //computes G(z,w) via asymptotic series template ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false); //computes G(z,w) via continued fraction template ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false); //computes g(z,w) inline Double real(Double z){ return z; } inline Double imag(Double z){ return 0; } //used in Temme's asymptotics of the incomplete gamma function Complex Q(Complex z, Complex w); Complex erfc(Complex z); Complex erfc2(Complex z); template Complex gamma_sum(Complex s, int what_type,ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme"); //computes a sum of G(z,w)'s (as in (3.3.20)). Complex exp_recycle(); //compute the nth derivative of log(GAMMA(z)) //n=0 should just give log_GAMMA(z)... thus making log_GAMMA //code obsolete. But leave log_GAMMA intact anyways. template precise(ttype) log_GAMMA (ttype z,int n=0) { int M; precise(ttype) log_G,r,r2,y; Double xx=real((Complex)z),yy=imag((Complex)z); if(xx<0) xx=-xx; Double x; int i,m; //assume the remainder stopping at the mth term is roughly bernoulli(2m)/(z+M)^(2m). //Now bernoulli(2m) is roughly (2m)!/(2Pi)^(2m). So remainder is more or less //(2m/(2ePi(z+M))^(2m). Setting 2m = Digits, we see that we need m/(ePi(z+M)) //to be roughly 1/10 in size, i.e. |z+M| should be roughly 10*m/(ePi)=10*Digits/(2ePi). //squaring, gives us how large M should be. //n==0 leads to |z+M| >10*2m/(2*Pi*e) with 2m=Digits. However, when we differentiate //we end up with extra powers of (z+M) in the denominators, but extra (2m-1)...(2m+n-2) //in the numerators. So assume further that |z+M| > 2m+n = Digits+n if(n==0){ //.343 = 100./(4*Pi*Pi*exp(2.)) if((xx*xx+yy*yy)> .343*DIGITS*DIGITS) M=0; else M=Int(ceil(sqrt((DIGITS*DIGITS*.343-yy*yy))-xx+1)); } else{ if((xx*xx+yy*yy)> .343*(DIGITS+n)*(DIGITS+n)) M=0; else M=Int(ceil(sqrt(((DIGITS+n)*(DIGITS+n)*.343-yy*yy))-xx+1)); } if(n==0) log_G=log_2Pi/2+(z+M-.5)*log(z+M)-(z+M); else if(n==1) log_G=log(z+M)-.5/(z+M); else{ r=1; for(m=1;m<=n-1;m++){ r=-r*m/(z+M); } log_G=log_G-r/(n-1)-.5*r/(z+M); } r=1; for(m=1;m<=n;m++){ r=-r*m/(z+M); } r=r/(z+M); r2=1/((z+M)*(z+M)); m=2; x=my_norm(r); do{ y=bernoulli[m]*r; log_G=log_G+y/(m*(m-1)); r=r*(m+n-1)*(m+n)*r2/((m-1)*m); m=m+2; //}while(m<=DIGITS&&my_norm(r)*tolerance_sqrd0, and mentions Spira's estimate for complex values of z. //He also suggests using the reflection formula for negative values. template Complex GAMMA (ttype z1, ttype2 delta) { precise(ttype) z=z1; Complex log_G; Double xx=real((Complex)z),yy=imag((Complex)z); if(xx<0) xx=-xx; if(z==last_z_GAMMA) log_G=last_log_G; else{ int M; precise(ttype) r,r2,y; Double x; int m; //assume the remainder stopping at the mth term is roughly bernoulli(2m)/(z+M)^(2m). //Now bernoulli(2m) is roughly (2m)!/(2Pi)^(2m). So remainder is more or less //(2m/(2ePi(z+M))^(2m). Setting 2m = Digits, we see that we need m/(ePi(z+M)) //to be roughly 1/10 in size, i.e. |z+M| should be roughly 10*m/(ePi)=10*Digits/(2ePi). //squaring, gives us how large M should be. //.343 = 100./(4*Pi*Pi*exp(2.)) if((xx*xx+yy*yy)> .343*DIGITS*DIGITS) M=0; else M=Int(ceil(sqrt((DIGITS*DIGITS*.343-yy*yy))-xx+1)); log_G=log_2Pi/2+(z+M-.5)*log(z+M)-(z+M); r=(z+M)*(z+M); r2=(z+M); m=2; x=my_norm(r2); do{ y=bernoulli[m]/r2; log_G=log_G+y/(m*(m-1)); r2=r2*r; m=m+2; //}while(m<=DIGITS&&my_norm(r2)*tolerance_sqrd Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false) { Complex G; Double h,x,y; ttype tmp=z+1; if(my_verbose>2) cout << "inc_GAMMA called. G(" << z<< " , " << w << ")" << endl; //if(my_norm(z)100&&y>my_norm(z*1.01))||!strcmp(method,"continued fraction")) { return cfrac_GAMMA(z,w,exp_w,recycle); } x=imag((Complex)z); if(x<0)x=-x; //x=x-sqrt(x); x=.99*x; //temme works better here than x-sqrt(x), at least asymptotically if(y<1600||y3) cout << "temme GAMMA("<x*x) //XXXX if abs(w) > (3.3.48) { return asympt_GAMMA(z,w,exp_w,recycle); } // this is called if abs(z)<10 and w is around size 40 //return ((w*inc_GAMMA(z+1,w)-exp(-w))/z); if (recycle==false) return ((w*inc_GAMMA(tmp,w)-exp(-w))/z); else return ((w*inc_GAMMA(tmp,w,method, exp_w,recycle)-exp_w)/z); } template ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction { ttype G; if(my_verbose>3) cout << "called cfrac_GAMMA("<=1;m--) //tmp=w+(m-z)/(1+m/tmp); tmp=w+tmp*(m-z)/(tmp+m); do{ M=2*M; G=1; for(int m=M;m>=1;m--) G=w+G*(m-z)/(G+m); if(my_norm(1-tmp/G)1.e40||real(P2)<-1.e40||imag(P2)>1.e40||imag(P2)<-1.e40)){ //cout << "before " << P1 ; P1=P1*1.e-40; P2=P2*1.e-40; Q1=Q1*1.e-40; Q2=Q2*1.e-40; //cout << " after " << P1 <my_norm(Q2*P1*tolerance)&&n<1000000)); //cout << "cfrac called n equals: " << n << " " << abs(z/w) << endl; G=P2/Q2; if(n>999999){ cout << "Continued fraction for G(z,w) failed to converge. z = " << z << " w = " << w << endl; exit(1); } if(recycle==false) G=exp(-w)/G; //XXXXX mpfr should I precise(ttype) w ? else G=exp_w/G; //cout<< setprecision(30); //cout << "cfrac GAMMA("< ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series { if(my_verbose>3) cout << "called asympt_GAMMA("<tolerance_sqrd); if(recycle==false) G=G*exp(-w)/w; else G=G*exp_w/w; //cout << "asymptotics GAMMA("< ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w) { ttype g; Double t; int m; //Complex u=w*w; //u=u*u; if(my_verbose>3) cout << "called comp_inc_GAMMA("<.9801 || my_norm(w)<.36){ ttype r=1.; m=1; g=0; do{ //XXXXXXXXXXXXX optimize combine the m++'s and g=g+r and z+m's g=g+r; r=r*w/(z+m); m++; g=g+r; r=r*w/(z+m); m++; g=g+r; r=r*w/(z+m); m++; //v=z+m; //g=g+r+ //cout<< "using series for comp inc " << t << " " << abs(w) << " " << m <<" " << g*exp(-w)/z<< endl; }while(my_norm(r)>tolerance_sqrd||real((Complex)z)<=-m); if(recycle==false) g=g*exp(-w)/z; else g=g*exp_w/z; } else{ /*----------------------------------------------------------- // old iterated backward recursion replaced by forward recursion int M=2; Complex tmp=1; bool escape=false; for(int m=M;m>=1;m--){ if(m%2==0){ //tmp= z+m-1+(m/2)*w/tmp; tmp= z+m-1+m*.5*w/tmp; } else{ tmp= z+m-1-(z+(m-1)*.5)*w/tmp; } } do{ M=2*M; g=1; for(int m=M;m>=1;m--){ if(m%2==0){ g= z+m-1+m*.5*w/g; } else{ g= z+m-1-(z+(m-1)*.5)*w/g; } } if(abs(1-tmp/g)1.e50||real(P2)<-1.e50||imag(P2)>1.e50||imag(P2)<-1.e50)){ P1=P1*1.e-50; P2=P2*1.e-50; Q1=Q1*1.e-50; Q2=Q2*1.e-50; } //cout<< "using cfrac for comp inc " << t << " " << abs(w) << " " << n <<" " << Q2/P2*exp(-w)<< " GAMMA " << GAMMA(z,w)<< endl; } while(n<3||(my_norm(Q2*P1-P2*Q1)>my_norm(Q2*P1*tolerance)&&n<1000000)); g=P2/Q2; //cout<< "using cfrac for comp inc " << t << " " << n << endl; if(n>999999){ cout << "Mofu. Continued fraction for g(z,w) failed to converge. z = " << z << " w = " << w << endl; exit(1); } if(recycle==false) g=exp(-w)/g; else g=exp_w/g; } return g; } template Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme") { Complex SUM=0; Complex z,w; Complex G; Complex r; Complex u; Complex e1,e2,e3,exp_w; //used to compute exp(-n w_0) or exp(-n^2 w_0) by repeated multiplication //saves on taking exponents int n=1; int n2=1; Double x,y,y2,y3=0,MAX=0; bool escape=false; bool is_z_real=false; bool is_w_real=false; z=g*s+l; if(my_norm(imag(z)) exp_w e1 when gamma = 1 // = exp_w exp(-(2n-1) w_0) when gamma = 1/2 //y=abs(z)+abs(real(z))+1; if(what_type==-1) //i.e. if the Riemann zeta function do{ w=Pi*n*n*delta*delta; exp_w=exp_w*e1*e3; //e1 is exp(-(delta/Q)^2) in this case, and e3 is exp(-(2n-2)*(delta/Q)^2), Q =1/sqrt(Pi) e3=e3*e2; G=inc_GAMMA(z,w,method,exp_w,true); SUM=SUM+G; n++; x=my_norm(SUM); if(x>MAX) MAX=x; if(real(w-z)>10) //10 is kind of arbitrary . G(z,w) will decay like e(-Re(w)), so //we'll escape once Re(w) is around log(10)*DIGITS. So, 10 is okay //as a place to start checking { if (my_norm(G)tolerance is not so smart... since two of the ways //XXXX I compute G, series and nielsen, only gives us 10E-15, say, regardless //XXXX how small it really is (since we subtract g(z,w) from GAMMA(z)w^(-z) //XXXX and these are nearly equal when w is big enough. //XXXX Best to compare estimate for largest of terms yet to be added //XXXX and see if this is 2) cout << "GAMMA SUM with doubles = " << G << endl; //cout<<"both z and w are real\n"; } else{ G=inc_GAMMA(z,w,method,exp_w,true); if (my_verbose>2) cout << "GAMMA SUM = " << G << endl; //cout<<"none are real\n"; } SUM=SUM+G*u*coeff[n2]; } n++; n2++; x=my_norm(SUM); if(x>MAX) MAX=x; if(real(w-z)>10) //10 is kind of arbitrary . G(z,w) will decay like e(-Re(w)), so //we'll escape once Re(w) is around log(10)*DIGITS. So, 10 is okay //as a place to start checking { //y3=4*exp(-real(w))/(y2+1); //if (my_norm(u)*y3*y3*n*nPeriod&&Period>1) n2=(n2-Period); }while(n2<=N&&!escape); //XXXXnote, we copy the tolerance feature for zeta, but make sure //XXXXto also include b(n)N&&what_type!=-1) { if(print_warning){ print_warning=false; cout << "WARNING from gamma sum- we don't have enough Dirichlet coefficients." << endl; cout << "Will use the maximum possible, though the output "; cout << "will not necessarily be accurate." << endl; } //exit(1); } max_n = n; if(my_verbose>0) cout << "s = " << s << "gamma_sum called, number terms used: " << n << endl; return SUM; } #endif lcalc-1.23+dfsg.orig/include/Lcommandline_numbertheory.h0000644000175000017500000000447510337212326022061 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Lcommandline_numbertheory_H #define Lcommandline_numbertheory_H #include //for things like srand #include //for input and output #include //for manipulating output such as setprecision #include //#include #include // for INT_MAX #include "Lglobals.h" using namespace std; long long nextprime(long long n); bool issquarefree(long long n); bool isfunddiscriminant(long long n); long long nextfunddiscriminant(long long n); int simplified_jacobi(int n,int m); int simplified_jacobi(long long n,long long m); int my_kronecker(int n,int m); int my_kronecker(long long n, long long m); Double L_1_chi(long long d); int class_number(long long d); void ramanujan_tau(Double *c0, int N_terms); long long gcd(long long a,long long b); void factor(long long q, long long **factors); long long power_mod_q(long long a, long long k,long long q); int prim_root(long long p, int alpha); void factor(long long q, long long **factors); int characters(); bool isprime(long long n); //by Kyle Wichert bool RM(long long a, long long N); //by Kyle Wichert long long multmodN(long long a, long long b, long long N); //by Kyle Wichert template Complex gauss_sum(ttype *chi,long long r,bool cnj=false) { Complex SUM=0; if(cnj==true) for(int n=1;n<=r; n++) SUM=SUM+conj(chi[n])*exp(n*2*I*Pi/double(r)); else for(int n=1;n<=r; n++) SUM=SUM+chi[n]*exp(n*2*I*Pi/double(r)); return SUM; } #endif lcalc-1.23+dfsg.orig/include/.DS_Store0000644000175000017500000003600410543631103016154 0ustar tobitobiBud1   ine.hin  @€ @€ @€ @ cmdline.hinfoblob0¿¦ùóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿgetopt.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿL.hinfoblob0¿¦ŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_elliptic.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_globals.hinfoblob0¿¦¸ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_misc.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_numbertheory.hinfoblob0¿¢ÅVÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_twist.hinfoblob0¿¨fåÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLcommandline_values_zeros.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lcommon.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lcommon_ld.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lcomplex.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLdirichlet_series.hinfoblob0¿Ÿ,èÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lfind_zeros.hinfoblob0ÁRIJÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLgamma.hinfoblob0ÁOzÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lglobals.hinfoblob0Á ÎMÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLgram.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLint_complex.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLmisc.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLnumberzeros.hinfoblob0Á$°,ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lnumeric.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLprint.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLriemannsiegel.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ E DSDB `€(0@€ @€ @ries.hinfoblob0¿Ÿ,èÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lfind_zeros.hinfoblob0ÁRIJÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLgamma.hinfoblob0ÁOzÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lglobals.hinfoblob0Á ÎMÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLgram.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLint_complex.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLmisc.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLnumberzeros.hinfoblob0Á$°,ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Lnumeric.hinfoblob0¾ÒLËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLprint.hinlcalc-1.23+dfsg.orig/include/Ldokchitser.h0000600000175000017500000001023311064333051017101 0ustar tobitobi#ifndef Ldokchitser_H #define Ldokchitser_H //finding the explicit taylor series for \phi(t) using Dokchitser algo #define MYDIGITS 5 // estimate of precision ... will be set using the precision variable void mult_poly_taylor(Complex *, Complex *, Complex *, int ); template void L_function :: phi_series(int precision) { cout << "-----------------------------------------------"<< endl << endl; cout << "phi series for " << name << " L_function" << endl << endl; int j,k; // constructing the equivalence classes Lambda[k] for k = 1 to N int pordtmp[a+1]; Complex diff; Complex *lambda_k; int *l; for (j=1;j<=a;j++) pordtmp[j]= 1; for (j=1;j<=a;j++) for (k=1;k<=a;k++) if (j != k) { diff = 2*(lambda[j] - lambda[k]); if((imag(diff)==0) && (fmod(real(diff),2) == 0) && (real(diff)<=0)) { pordtmp[j]+=pordtmp[k]; pordtmp[k]=0; } } Complex temp_lambda_k[a]; int temp_l[a]; j=1; for (k=1;k<=a;k++) if (pordtmp[k]!=0) { temp_lambda_k[j]= lambda[k]; temp_l[j]=pordtmp[k]; j++; } int N = j-1; lambda_k = new Complex[N+1]; l = new int[N+1]; for (j=1;j<=N;j++) { lambda_k[j] = temp_lambda_k[j]; l[j] = temp_l[j]; } cout << "-----------------------------------------------"<< endl << endl; cout << "There are "<< N << " equivalence classes Lambda[j]"< Complex L_function :: find_delta (Complex z,Double g) { //cout << " find delta z g " << z << " " << g<< endl; Double sigma=real(z); Double t=imag(z); if(t<0) t=-t; Double r=abs(z); Double theta=atan(t/sigma); Double epsilon; Double a=-theta; Double b=0; Double c,f1,f2,f3; Double local_tolerance=.01/(t+100); if (local_toleranceDIGITS2*2.3)a=c; else b=c; //cout<< "theta+epsilon: " << a+theta<< endl; } while(b-a>local_tolerance); epsilon=a; } //if(imag(z)>=0) cout << " returning delta: " << exp(I*(theta+epsilon)*g) << endl; //else cout << " returning delta: " << exp(-I*(theta+epsilon)*g) << endl; if(imag(z)>=0) return exp(I*(theta+epsilon)*g); else return exp(-I*(theta+epsilon)*g); } //computes (3.2.5) as a Riemann sum using //g(w) = exp(A*(w-s)^2) * delta^(-w) template Complex L_function :: value_via_Riemann_sum(Complex s, const char *return_type) { int j,k,m,mm,n; Complex r,z; Complex SUM=0; Double tmp; Complex L_value=0; Double theta; Complex *DELTA; // variant on (3.3.10), without the theta Double t_0; Double c; //controls speed of convergence but at the expense //of loss of precision. //Double v=.5; // the v in (3.2.5) Double v=1-real(s); // the v in (3.2.5) if(v<.5)v=.5; //Double incr; // incrememnt size in the Riemann sum- is now a global variable Complex dirichletseries; Complex *dirichlet_vector; //used to compute Dirichlet series incrementally Complex *dirichlet_vector_copy; //used to compute Dirichlet series incrementally Complex *dirichlet_multiplier; // stores powers of n^{-I incr} Complex *dirichlet_multiplier_conj; // stores powers of n^{I incr}. Prefer to store since // this will make vectorization easier. //int M; //number of terms to take in the Riemann sum //M is no longer used. escape is determined numerically. Is fine to //escape this way. Gamma and exp behave predictably int N; //the number of terms to take in the Dirichlet series Double r1=0,r2=0,r3=0,r4=0,r5=0,mynorm_r,local_average, max_integrand; //used to decide when to truncate the Riemann sum //cout << "a= " << a << endl; theta=0; for(j=1;j<=a;j++) { theta = theta+gamma[j]; //cout << "theta = " << theta << endl; } c=DIGITS2*log(10.); //i.e exp(-c)=10^(-DIGITS2) //this sacrifices roughly at most DIGITS2 //out of DIGITS precision. //incr is now a global variable //incr=2*Pi*v/(log(10.)*DIGITS); //M=Int(sqrt(log(10.)*DIGITS/A)/incr); DELTA = new Complex[a+1]; //if(abs(t_0)<=c/(2*sqrt(A))) tmp= 2*sqrt(A); //else tmp=c/t_0; Double c1=0; for(j=1;j<=a;j++){ t_0=imag(gamma[j]*s+lambda[j]); //cout << "tmp_" << j << " = " << tmp << endl; //cout << "t_0" << " = " << t_0 << endl; if(abs(t_0)<=2*c/(Pi*a)) tmp= Pi/2; else tmp=abs(c/(t_0*a)); if(t_0>=0)r=1; else r=-1; DELTA[j]= exp(I*r*(Pi/2-tweak*tmp)); //tweak defaults to 1. It allows me to globally set a slightly different angle //for the purpose of testing precision or looking for L-functions c1=c1+gamma[j]*tmp; //DELTA[j]=find_delta(s*gamma[j]+lambda[j],gamma[j]); } for(k=1;k<=number_of_poles;k++){ z =A*(pole[k]-s)*(pole[k]-s); for(j=1;j<=a;j++) z=z-log(DELTA[j])*(gamma[j]*pole[k]+lambda[j]); //the 5 below is for kicks. 2.3 would have been fine. if(real(z)>-5*DIGITS) L_value=L_value+residue[k]*exp(z)/(s-pole[k]); } //cout << "poles contribute: " << L_value << endl; //the rough estimate: G(z,(N DELTA/Q)^2) is, in size, //roughly exp(-Re((N*DELTA/Q)^(1/theta))) and we want this //to be > 2.3 DIGITS XXXXXXXXX check this N=Int(Q*exp(log(2.3*DIGITS*theta/c1)*theta)+10); if(N>number_of_dirichlet_coefficients&&what_type_L!=-1&&what_type_L!=1) { if(print_warning){ print_warning=false; cout << "WARNING from Riemann sum- we don't have enough Dirichlet coefficients." << endl; cout << "Will use the maximum possible, though the output "; cout << "will not necessarily be accurate." << endl; } N=number_of_dirichlet_coefficients; } if(N>number_logs) extend_LG_table(N); dirichlet_vector= new Complex[N+1]; //initially stores a(n)/n^{s+v} (or 1-s instead of s) dirichlet_vector_copy= new Complex[N+1]; // used to do negative m dirichlet_multiplier= new Complex[N+1]; dirichlet_multiplier_conj= new Complex[N+1]; #pragma omp parallel for //shared(N,I,incr,dirichlet_multiplier) private(n) for(n=1;n<=N;n++){ dirichlet_multiplier[n]=exp(-I*LOG(n)*incr); dirichlet_multiplier_conj[n]=conj(dirichlet_multiplier[n]); if(what_type_L==-1) //i.e. if the Riemann zeta function dirichlet_vector[n]=exp(-(s+v)*LOG(n)); else if(what_type_L!=1) //if not periodic dirichlet_vector[n]=dirichlet_coefficient[n]*exp(-(s+v)*LOG(n)); else //if periodic { m=n%period; if(m==0) m=period; dirichlet_vector[n]=dirichlet_coefficient[m]*exp(-(s+v)*LOG(n)); } dirichlet_vector_copy[n]=dirichlet_vector[n]; } max_n=N; if(my_verbose>1) cout << "s = " << s << " Will use " << N << " terms of the Dirichlet series" << endl; Double log_Q=log(Q); /* old riemann sum. escape was fixed ahead of time and was not efficient. for(m=-M;m<=M;m++){ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(s+v+I*incr*m)); for(j=1;j<=a;j++){ //cout << "gamma[j]*(s+v+I*incr*m)+lambda[j]= " << gamma[j]*(s+v+I*incr*m)+lambda[j] << endl; //cout << "DELTA[j] = " << DELTA[j] << endl; r=r*GAMMA(gamma[j]*(s+v+I*incr*m)+lambda[j],DELTA[j]); } //cout << "r= " << r << endl; //r=r*this->dirichlet_series(s+v+I*incr*m,N,false); r=r*this->dirichlet_series(s+v+I*incr*m,N); //r=r*this->dirichlet_series(s+v+I*incr*m,N); //dirichlet series part needs to be more precise SUM=SUM+r/(v+I*incr*m); //if(m%100==0) cout << "m= " << m << " SUM1 = " << SUM << endl; } SUM=SUM*incr/(2*Pi); //cout << "m= " << m << " SUM1 = " << SUM << endl; */ max_integrand=0; //the max of the integrand, without the dirichlet series factor mm=0; //first do the terms m >=0 do{ for(m=mm;m<=mm+99;m++){ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(s+v+I*incr*m)); for(j=1;j<=a;j++){ r=r*GAMMA(gamma[j]*(s+v+I*incr*m)+lambda[j],DELTA[j]); } r=r/(v+I*incr*m); mynorm_r=my_norm(r); if(mynorm_r>max_integrand) max_integrand = mynorm_r; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; local_average=(r1+r2+r3+r4+r5)/5; //XXXXXX replaced by vectorized version //r=r*this->dirichlet_series(s+v+I*incr*m,N); dirichletseries=0; for(j=1;j<=N;j++){ dirichletseries=dirichletseries+dirichlet_vector[j]; dirichlet_vector[j]=dirichlet_vector[j]*dirichlet_multiplier[j]; } r=r*dirichletseries; //cout << "1 dirichletseries: " << dirichletseries << endl; //cout << "1 thischletseries: " << this->dirichlet_series(s+v+I*incr*m,N) << endl; SUM=SUM+r; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; } mm=m; }while(local_average>max_integrand*tolerance_sqrd); m=-1; //then do the terms negative m do{ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(s+v+I*incr*m)); for(j=1;j<=a;j++){ r=r*GAMMA(gamma[j]*(s+v+I*incr*m)+lambda[j],DELTA[j]); } r=r/(v+I*incr*m); mynorm_r=my_norm(r); if(mynorm_r>max_integrand) max_integrand = mynorm_r; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; local_average=(r1+r2+r3+r4+r5)/5; //r=r*this->dirichlet_series(s+v+I*incr*m,N); dirichletseries=0; for(j=1;j<=N;j++){ dirichlet_vector_copy[j]=dirichlet_vector_copy[j]*dirichlet_multiplier_conj[j]; dirichletseries=dirichletseries+dirichlet_vector_copy[j]; } r=r*dirichletseries; //cout << "2 dirichletseries: " << dirichletseries << endl; //cout << "2 thischletseries: " << this->dirichlet_series(s+v+I*incr*m,N) << endl; SUM=SUM+r; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; m--; }while(m>-100||local_average>max_integrand*tolerance_sqrd); SUM=SUM*incr/(2*Pi); //no longer needed //r=0; //for(j=1;j<=a;j++)r=r+lambda[j]; //SUM=SUM*exp(log(DELTA)*r); //cout << "m= " << m << " SUM1 = " << SUM << endl; L_value=L_value+SUM; if(real(s)!=.5){ //do the second sum i.e. for f_2 v=real(s); if(what_type_L==-1) //i.e. if the Riemann zeta function { #pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n) for(n=1;n<=N;n++) dirichlet_vector[n]=exp(-conj(1-s+v)*LOG(n)); } else if(what_type_L!=1) //if not periodic { #pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n) for(n=1;n<=N;n++) dirichlet_vector[n]=dirichlet_coefficient[n]*exp(-conj(1-s+v)*LOG(n)); } else //if periodic { for(n=1;n<=N;n++) { m=n%period; if(m==0)m=period; dirichlet_vector[n]=dirichlet_coefficient[m]*exp(-conj(1-s+v)*LOG(n)); } } for(n=1;n<=N;n++) dirichlet_vector_copy[n]=dirichlet_vector[n]; SUM=0; /* for(m=-M;m<=M;m++){ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); for(j=1;j<=a;j++) r=r*GAMMA(gamma[j]*(1-s+v+I*incr*m)+conj(lambda[j]),1/DELTA[j]); //r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N,false)); r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N)); //dirichlet series part needs to be more precise SUM=SUM+r/(v+I*incr*m); //if(m%100==0) //cout << "m= " << m << " SUM2 = " << SUM << endl; } SUM=SUM*incr/(2*Pi); */ max_integrand=0; //the max of the integrand, without the dirichlet series factor m=0; //first do the terms m >=0 do{ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); for(j=1;j<=a;j++){ r=r*GAMMA(gamma[j]*(1-s+v+I*incr*m)+conj(lambda[j]),1/DELTA[j]); } r=r/(v+I*incr*m); mynorm_r=my_norm(r); if(mynorm_r>max_integrand) max_integrand = mynorm_r; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; local_average=(r1+r2+r3+r4+r5)/5; //r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N)); dirichletseries=0; for(j=1;j<=N;j++){ dirichletseries=dirichletseries+dirichlet_vector[j]; } for(j=1;j<=N;j++){ dirichlet_vector[j]=dirichlet_vector[j]*dirichlet_multiplier_conj[j]; } r=r*conj(dirichletseries); //cout << "3 dirichletseries: " << dirichletseries << endl; //cout << "3 thischletseries: " << this->dirichlet_series(conj(1-s+v+I*incr*m),N) << endl; SUM=SUM+r; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; m++; }while(m<100||local_average>max_integrand*tolerance_sqrd); m=-1; //then do the terms negative m do{ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); for(j=1;j<=a;j++){ r=r*GAMMA(gamma[j]*(1-s+v+I*incr*m)+conj(lambda[j]),1/DELTA[j]); } r=r/(v+I*incr*m); mynorm_r=my_norm(r); if(mynorm_r>max_integrand) max_integrand = mynorm_r; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; local_average=(r1+r2+r3+r4+r5)/5; //r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N)); dirichletseries=0; for(j=1;j<=N;j++){ dirichlet_vector_copy[j]=dirichlet_vector_copy[j]*dirichlet_multiplier[j]; } for(j=1;j<=N;j++){ dirichletseries=dirichletseries+dirichlet_vector_copy[j]; } r=r*conj(dirichletseries); //cout << "4 dirichletseries: " << dirichletseries << endl; //cout << "4 thischletseries: " << this->dirichlet_series(conj(1-s+v+I*incr*m),N) << endl; SUM=SUM+r; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; m--; }while(m>-100||local_average>max_integrand*tolerance_sqrd); SUM=SUM*incr/(2*Pi); } else SUM =conj(SUM); for(j=1;j<=a;j++){ r=-gamma[j]-2*real(lambda[j]); SUM=SUM*exp(log(DELTA[j])*r); } //cout << "m= " << m << " SUM2 = " << SUM << endl; //cout << "r= " << r << endl; L_value=L_value+OMEGA*SUM; delete [] dirichlet_vector; delete [] dirichlet_vector_copy; delete [] dirichlet_multiplier; delete [] dirichlet_multiplier_conj; //this returns L(s) if (!strcmp(return_type,"pure")) { z=1; for(j=1;j<=a;j++) z=z*GAMMA(gamma[j]*s+lambda[j],DELTA[j]); //cout << "pure " << L_value*exp(-log(Q)*s)/z << endl; delete [] DELTA; return L_value*exp(-log(Q)*s)/z; } //returns L(s) rotated to be real on critical line //assumes |OMEGA|=1. Valid assumption since //LAMBDA(1/2+it) = OMEGA conj(LAMBDA(1/2+it)) else if (!strcmp(return_type,"rotated pure")) { r=1; for(j=1;j<=a;j++) r=r*GAMMA(gamma[j]*s+lambda[j],DELTA[j]); z=0; for(j=1;j<=a;j++) z=z+log(DELTA[j])*real(gamma[j]*s+lambda[j]); //cout << "rotated pure " << L_value*exp(-log(Q)*real(s)-.5*log(OMEGA))*exp(z)/abs(r) << endl; delete [] DELTA; return L_value*exp(-log(Q)*real(s)-.5*log(OMEGA))*exp(z)/abs(r); } //else return Lambda(s) OMEGA^(-1/2) delta^(Re(s)). //This returns a real number (though, as a Complex) //on the critical line assuming |OMEGA|=1. Valid assumption //since LAMBDA(1/2+it) = OMEGA conj(LAMBDA(1/2+it)) else if(!strcmp(return_type,"normalized and real")) { z=0; for(j=1;j<=a;j++) z=z+log(DELTA[j])*real(gamma[j]*s+lambda[j]); //cout << "normalized and real " << L_value*exp(z-.5*log(OMEGA)) << endl; delete [] DELTA; return L_value*exp(z-.5*log(OMEGA)); } } // implements (3.3.20) with no precomputations. // DIGITS is how much precision we would like. // DIGITS2 is how much precision (out of DIGITS) // we are willing to sacrifice for the sake of template Complex L_function :: value_via_gamma_sum(Complex s, const char *return_type) { Complex L_value=0; Double theta=gamma[1]; // equals gamma_1 Double t_0=imag(s); Double c; //controls speed of convergence but at the expense //of loss of precision. Complex DELTA; //(3.3.10) Complex u; int k; c=DIGITS2*log(10.)/theta; //i.e exp(-c theta)=10^(-DIGITS2) //this sacrifices roughly at most DIGITS2 //out of DIGITS precision. //if(abs(t_0)<=2*c/Pi) DELTA=1; //else if(t_0>=0) DELTA = exp(I*theta*(Pi/2-c/t_0)); //else DELTA = exp(I*theta*(-Pi/2-c/t_0)); DELTA=find_delta(s*gamma[1]+lambda[1],gamma[1]); u=log(DELTA); for(k=1;k<=number_of_poles;k++) L_value=L_value+residue[k]*exp(-u*pole[k])/(s-pole[k]); u=gamma_sum(s, what_type_L, dirichlet_coefficient, number_of_dirichlet_coefficients, gamma[1], lambda[1], Q, period, DELTA); L_value=L_value+exp(log(DELTA/Q)*lambda[1]/gamma[1])*u; if(real(s)!=.5) u=gamma_sum(1-conj(s), what_type_L, dirichlet_coefficient, number_of_dirichlet_coefficients,gamma[1],lambda[1],Q,period,DELTA); u=conj(u); L_value=L_value+(OMEGA/DELTA)*exp(-log(DELTA*Q)*conj(lambda[1])/gamma[1])*u; //this returns L(s) if (!strcmp(return_type,"pure")) { u=log(DELTA/Q)/gamma[1]; //cout << "returning " << L_value << " divided by " << (GAMMA(gamma[1]*s+lambda[1],exp(u))*exp(u*lambda[1])) << endl;//XXXXXXXXXXXXXXXXXX return L_value/(GAMMA(gamma[1]*s+lambda[1],exp(u))*exp(u*lambda[1])); } //returns L(s) rotated to be real on critical line //assumes |OMEGA|=1. else if (!strcmp(return_type,"rotated pure")) { u=log(DELTA/Q)/gamma[1]; u=abs(GAMMA(gamma[1]*s+lambda[1],exp(u))*exp(u*lambda[1])); //u=GAMMA(gamma s + lambda)*(delta/Q)^(-s) return L_value*exp(log(DELTA)*real(s)-.5*log(OMEGA))/u; } //else return Lambda(s) OMEGA^(-1/2) delta^(Re(s)). //This returns a real number (though, as a Complex) //on the critical line assuming |OMEGA|=1 else if(!strcmp(return_type,"normalized and real")) return L_value*exp(log(DELTA)*real(s)-.5*log(OMEGA)); else // return L(s) { u=log(DELTA/Q)/gamma[1]; return L_value/(GAMMA(gamma[1]*s+lambda[1],exp(u))*exp(u*lambda[1])); } } template Complex L_function :: value(Complex s, int derivative, const char *return_type) { Complex L_value; if(derivative==0){ if(my_verbose>1) cout << "calling L: " << s << endl; cout << setprecision(DIGITS3); if(only_use_dirichlet_series){ L_value= this->dirichlet_series(s,N_use_dirichlet_series); return L_value; } //if(what_type_L==-1&&real(s)==.5&&abs(imag(s))>500) return Zeta(s,return_type); //uses Riemann Siegel. This is good only up to limited precision. //last condition in the if takes into account that Riemann Sigel is an asymptotic expansion //and that currently we only use the first 5 terms which gives O(t^(-3)) for the remainder if(what_type_L==-1&&real(s)==.5&&log(abs(imag(s)))/2.3>DIGITS/3.){ int success; Double error_tol=1E-30; if(my_verbose==-33){ //cout << " rs blfi " ; L_value= rs(imag(s),error_tol,input_mean_spacing_given,success,return_type); } else{ //cout << " rs " ; L_value = Zeta(s,return_type); } //1.7725 is Pi^(.5), to account for the Q^\pm s in the approximate functional eqn DIGITS3=Int((DIGITS-log(log(1.*max_n*1.7725+3)*abs(imag(s))/6.28+3)/2.3)/pow(2.,abs(global_derivative)))+2; cout << setprecision(DIGITS3); if (my_verbose>1) cout << "Setting output precision to: " << DIGITS3 << endl; tolerance3=pow(.1,(DIGITS3+1)); //cout << setprecision(DIGITS); //cout << s << " riemann siegel (" << DIGITS3 << " ): " << L_value << endl; return L_value; } if(a==1){ //cout << "gamma sum " << endl; L_value = this->value_via_gamma_sum(s,return_type); } else{ //if a>1 //cout << "riemann sum " << endl; L_value = this->value_via_Riemann_sum(s,return_type); } DIGITS3=Int( (DIGITS-DIGITS2-log(log(1.*max_n*Q+3)*abs(imag(s))/6.28+3)/2.3)/pow(2.,abs(global_derivative)))+2; cout << setprecision(DIGITS3); if (my_verbose>1) cout << "Setting output precision to: " << DIGITS3 << endl; tolerance3=pow(1./10,(DIGITS3+1)); return L_value; } else if(derivative>0){ Double h; h=pow(.1,(int)(DIGITS/pow(2.,derivative))); return((this->value(s+h,derivative-1,return_type)-this->value(s,derivative-1,return_type))/h); } else if(derivative==-1){ //simple way to use existing framework. -1 stands for logarithmic derivative //because of this hack I take abs of gloabl_derivative above when determining //output precision L_value=this->value(s,0,return_type); return(this->value(s,1,return_type)/L_value); //order, i.e. value then derivative, is important since //derivative sets output to lower precision so should be called 2nd } else{ cout << "Error. Specified derivative must be >= -1" << endl; exit(1); } } lcalc-1.23+dfsg.orig/include/.Lvalue.h.swp0000644000175000017500000005000011053360604016752 0ustar tobitobib0VIM 6.4­Ë­Ha @Ónmrubinstpilatus~mrubinst/L_openmp/include/Lvalue.hU3210#"! Utpdÿÿÿÿÿÿÿÿkeþÿÿÿÿÿÿÿ]Ð`-üÿÿÿÿÿÿÿaûÿÿÿÿÿÿÿdî*Rad½dýüÄÑOΔ“PÍ œ M ý ¯ ® « ª n J D C  ç ¿ ¦ ‚ j i P < ! » º † v J < ,  Õ ® ” V ,  °^&÷òñð™˜}\ëÔÓ¿¾£ŒJI5íÀ¿–?>Ép)Çsr4謫fåäã½¼ //cout << "a= " << a << endl; Double r1=0,r2=0,r3=0,r4=0,r5=0,mynorm_r,local_average, max_integrand; //used to decide when to truncate the Riemann sum int N; //the number of terms to take in the Dirichlet series //escape this way. Gamma and exp behave predictably //M is no longer used. escape is determined numerically. Is fine to //int M; //number of terms to take in the Riemann sum // this will make vectorization easier. Complex *dirichlet_multiplier_conj; // stores powers of n^{I incr}. Prefer to store since Complex *dirichlet_multiplier; // stores powers of n^{-I incr} Complex *dirichlet_vector_copy; //used to compute Dirichlet series incrementally Complex *dirichlet_vector; //used to compute Dirichlet series incrementally Complex dirichletseries; //Double incr; // incrememnt size in the Riemann sum- is now a global variable Double v=.5; // the v in (3.2.5) //of loss of precision. Double c; //controls speed of convergence but at the expense Double t_0; Complex *DELTA; // variant on (3.3.10), without the theta Double theta; Complex L_value=0; Double tmp; Complex SUM=0; Complex r,z; int j,k,m,mm,n; { value_via_Riemann_sum(Complex s, const char *return_type) Complex L_function :: template //g(w) = exp(A*(w-s)^2) * delta^(-w) //computes (3.2.5) as a Riemann sum using } else return exp(-I*(theta+epsilon)*g); if(imag(z)>=0) return exp(I*(theta+epsilon)*g); //else cout << " returning delta: " << exp(-I*(theta+epsilon)*g) << endl; //if(imag(z)>=0) cout << " returning delta: " << exp(I*(theta+epsilon)*g) << endl; } epsilon=a; } while(b-a>local_tolerance); //cout<< "theta+epsilon: " << a+theta<< endl; else b=c; if(f3>DIGITS2*2.3)a=c; f3=sigma*log(sigma/(r*cos(theta+c))) - t*c; c=(a+b)/2; do{ else{ if(f1<=DIGITS2*2.3) epsilon=-theta; //f2=0; f1=sigma*log(sigma/(r*cos(theta+a))) - t*a; Double local_tolerance=.01/(t+100); if (local_tolerance:: template */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. with the package; see the file 'COPYING'. If not, write to the Free Software Check the License for details. You should have received a copy of it, along GNU General Public License for more details. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the but WITHOUT ANY WARRANTY; without even the implied warranty of This program is distributed in the hope that it will be useful, of the License, or (at your option) any later version. as published by the Free Software Foundation; either version 2 modify it under the terms of the GNU General Public License This program is free software; you can redistribute it and/or This file is part of the L-function package L. Copyright (C) 2001,2002,2003,2004 Michael Rubinstein/*ad`$ *£qBæÇ»º¦dY@ü ñ ð v M õ È Ç Æ ¬ ¤ ‡ s = Ô Ì ` ò À ¿  ¢ ¡ ™ F 3 + * $ # } } exit(1); cout << "Error. Specified derivative must be >= -1" << endl; else{ } //derivative sets output to lower precision so should be called 2nd return(this->value(s,1,return_type)/L_value); //order, i.e. value then derivative, is important since L_value=this->value(s,0,return_type); //output precision //because of this hack I take abs of gloabl_derivative above when determining else if(derivative==-1){ //simple way to use existing framework. -1 stands for logarithmic derivative } return((this->value(s+h,derivative-1,return_type)-this->value(s,derivative-1,return_type))/h); h=pow(.1,(int)(DIGITS/pow(2.,derivative))); Double h; else if(derivative>0){ } return L_value; tolerance3=pow(1./10,(DIGITS3+1)); if (my_verbose>1) cout << "Setting output precision to: " << DIGITS3 << endl; cout << setprecision(DIGITS3); DIGITS3=Int( (DIGITS-DIGITS2-log(log(1.*max_n*Q+3)*abs(imag(s))/6.28+3)/2.3)/pow(2.,abs(global_derivative)))+2; } L_value = this->value_via_Riemann_sum(s,return_type); else{ //if a>1 } L_value = this->value_via_gamma_sum(s,return_type); if(a==1){ } return L_value; //cout << s << " riemann siegel (" << DIGITS3 << " ): " << L_value << endl; //cout << setprecision(DIGITS); tolerance3=pow(1./10,(DIGITS3+1)); if (my_verbose>1) cout << "Setting output precision to: " << DIGITS3 << endl;adFâ`¼»žœrH#"æåÈÇÆŒ‹E7â ’ „ N @ ë ‚ t U G %  á † t f e      à • s  È Ç } | ;  ô°¢~} èØjáàߺu@ Áž{2 ý£‘f¯®“úåž‹`Pâå for(j=1;j<=a;j++){ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); do{ //then do the terms negative m m=-1; }while(m<100||local_average>max_integrand*tolerance_sqrd); m++; //cout << "m= " << m << " SUM = " << SUM << " r= " << r << " local average = " << local_average << " max= "<< max_integrand<< endl; SUM=SUM+r; //cout << "3 thischletseries: " << this->dirichlet_series(conj(1-s+v+I*incr*m),N) << endl; //cout << "3 dirichletseries: " << dirichletseries << endl; r=r*conj(dirichletseries); } dirichlet_vector[j]=dirichlet_vector[j]*dirichlet_multiplier_conj[j]; for(j=1;j<=N;j++){ } dirichletseries=dirichletseries+dirichlet_vector[j]; for(j=1;j<=N;j++){ dirichletseries=0; //r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N)); local_average=(r1+r2+r3+r4+r5)/5; r1=r2;r2=r3;r3=r4;r4=r5;r5=mynorm_r; if(mynorm_r>max_integrand) max_integrand = mynorm_r; mynorm_r=my_norm(r); r=r/(v+I*incr*m); } r=r*GAMMA(gamma[j]*(1-s+v+I*incr*m)+conj(lambda[j]),1/DELTA[j]); for(j=1;j<=a;j++){ r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); do{ //first do the terms m >=0 m=0; max_integrand=0; //the max of the integrand, without the dirichlet series factor*/ SUM=SUM*incr/(2*Pi); } //cout << "m= " << m << " SUM2 = " << SUM << endl; //if(m%100==0) SUM=SUM+r/(v+I*incr*m); //dirichlet series part needs to be more precise r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N)); //r=r*conj(this->dirichlet_series(conj(1-s+v+I*incr*m),N,false)); r=r*GAMMA(gamma[j]*(1-s+v+I*incr*m)+conj(lambda[j]),1/DELTA[j]); for(j=1;j<=a;j++) r=exp(A*(v+I*incr*m)*(v+I*incr*m)+log_Q*(1-s+v+I*incr*m)); for(m=-M;m<=M;m++){/* SUM=0; for(n=1;n<=N;n++) dirichlet_vector_copy[n]=dirichlet_vector[n]; } } dirichlet_vector[n]=dirichlet_coefficient[m]*exp(-conj(1-s+v)*LOG(n)); m=n%period; if(m==0)m=period; { for(n=1;n<=N;n++) { else //if periodic } for(n=1;n<=N;n++) dirichlet_vector[n]=dirichlet_coefficient[n]*exp(-conj(1-s+v)*LOG(n)); //#pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n) { else if(what_type_L!=1) //if not periodic } for(n=1;n<=N;n++) dirichlet_vector[n]=exp(-conj(1-s+v)*LOG(n)); //#pragma omp parallel for shared(N,dirichlet_vector,s,v) private(n) { if(what_type_L==-1) //i.e. if the Riemann zeta function if(real(s)!=.5){ //do the second sum i.e. for f_2 L_value=L_value+SUM; //cout << "m= " << m << " SUM1 = " << SUM << endl; //SUM=SUM*exp(log(DELTA)*r); //for(j=1;j<=a;j++)r=r+lambda[j]; //r=0; //no longer needed SUM=SUM*incr/(2*Pi); }while(m>-100||local_average>max_integrand*tolerance_sqrd);lcalc-1.23+dfsg.orig/include/Lexplicit_formula.h0000644000175000017500000001215511072312200020315 0ustar tobitobi// This file mainly due to Kevin McGown, with modifications by Michael Rubinstein #ifndef Lexplicit_formula_H #define Lexplicit_formula_H inline Complex xxx_phi(Double A, Double x_0, Complex x); // the phi in the explicit formula inline Complex xxx_phi_hat(Double A, Double x_0, Complex x); //its fourier transform /***************************************************************************************************/ inline Complex xxx_phi(Double A, Double x_0, Complex x) { return exp(-A*(x-x_0)*(x-x_0)); } inline Complex xxx_phi_hat(Double A, Double x_0, Complex x) { return sqrt(Pi/A) * exp(-2*Pi*I*x_0*x - Pi*Pi*x*x/A); } /***************************************************************************************************/ template int L_function :: dirichlet_coeffs_log_diff(int num_coeffs, Complex *c) { Complex b[num_coeffs+1]; int j, n, d1, ind; Complex total, total2, temp; if (what_type_L != 1 && what_type_L != -1 && num_coeffs > number_of_dirichlet_coefficients) { cout << "Don't have enough Dirichlet coefficients." << endl; return 1; } b[1] = 1; if(my_verbose!=0) cout << "Computing " << num_coeffs << " Dirichlet coefficients of the logarithmic derivative" << endl; //XXXXXXXX this should be computed just once, not each time test is called for (n=2;n<=num_coeffs;n++) { total = 0; total2 = 0; for (j=1;j<=n/2;j++) if (n % j == 0) { d1 = n/j; if (what_type_L == -1) temp = b[j]; else if (what_type_L == 1) { ind = d1 % period; if (ind == 0) ind = period; temp = dirichlet_coefficient[ind]*b[j]; } else temp = dirichlet_coefficient[d1]*b[j]; total -= temp; total2 += temp*LOG(d1); } b[n] = total; c[n] = total2; if(my_verbose>5) cout << "c[" << n << "] = " << c[n] << endl; } return 0; } /************************************************************************************************/ template int L_function :: test_explicit_formula(Double A, Double x_0, Double *zero_table, int number_zeros, Complex *c, int num_coeffs) { Double t, t_begin, t_end, t_step, u; Double D; Double total; Double term1, term2, term3; int p, n, x, j; Double temp; Double LHS, RHS; //Complex *c; //int num_coeffs; int flag; //num_coeffs = 150; //XXXXXXXXXX should depend on test required //c = new Complex[num_coeffs+1]; //XXXXXXX move to L.h //dirichlet_coeffs_log_diff(num_coeffs, c); //compute the possible contribution from poles term1 = 0; for (j=1;j<=number_of_poles;j++) term1 += real(xxx_phi(A, x_0, (pole[j]-0.5)/I)); // compute the contribution from the Gamma factors (integral of the log diff) t_step = 0.02; D = ceil(sqrt(DIGITS*log(10.0)/A)/t_step) * t_step; t_begin = x_0 - D; t_end = x_0 + D; total = 0; for (t=t_begin;t<=t_end;t=t+t_step) { temp = 0; for (j=1;j<=this->a;j++) { temp += 2*real(log_GAMMA(gamma[j]/2 + I*t*gamma[j]+lambda[j], 1)*gamma[j]); //1 here calls the logarithmic derivative //temp += log_GAMMA(gamma[j]/2 - I*t*gamma[j]+conj(lambda[j]), 1)*gamma[j]; } total = total + real(xxx_phi(A, x_0, t)) * temp; //cout << t << " total " << total << endl; } term2 = t_step*total + 2*log(Q)*sqrt(Pi/A); term2 = 1/(2*Pi) * term2; //compute the contribution from the Dirichlet coefficients x = num_coeffs; //extend_prime_table(x); j = 0; p = get_prime(j); term3 = 0; while (p <= x) { n = p; while (n <= x) { temp = 2*real(c[n]*xxx_phi_hat(A, x_0, LOG(n)/(2*Pi)));// + conj(c[n])*xxx_phi_hat(A, x_0, -LOG(n)/(2*Pi)); term3 += two_inverse_sqrt(n)*temp; n = n * p; //cout << n << "term3 " << term3 << endl; } j = j + 1; p = get_prime(j); } term3 = 1/(4*Pi) * term3; /*** COMPUTE RHS ***/ RHS = term1 + term2 - term3; /*** COMPUTE LHS ***/ LHS = 0; //we will want to truncate this automatically for (j=0;j<=number_zeros-1;j++) { u=zero_table[j]-x_0; u=u*u*A; if(u<2.3*DIGITS*2) LHS += exp(-u); //LHS += exp(-A*(zero_table[j]-x_0)*(zero_table[j]-x_0)); } /*** Display Results ***/ //if (my_verbose > 3) if (my_verbose==0) { cout << endl << endl; cout << "*** Testing Explicit Formula for L ***" << endl; cout << "A = " << A << endl; cout << "x_0 = " << x_0 << endl; cout << "D = " << D << endl; cout << "TERM 1: " << term1 << endl; cout << "TERM 2: " << term2 << endl; cout << "TERM 3: " << term3 << endl; cout << "RHS: " << RHS << endl; cout << "LHS: " << LHS << endl; cout << "LHS - RHS: " << LHS-RHS << endl; cout << "CUTOFF: " << pow(10.0, -DIGITS/3) << endl; } //cout << "A = " << A << ", x_0 = " << x_0 << ", "; cout << " x_0=" << x_0 << ","; cout << "LHS = " << LHS << ", RHS = " << RHS << ", DIFF = " << abs((LHS - RHS)) << ", "; // I arbitrarily chose DIGITS/3. if (abs((LHS - RHS)) < pow(10.0,-DIGITS/3)) { flag = 0; //cout << "PASS." << endl; } else { flag = 1; //cout << "FAIL!" << endl; } return flag; } #endif lcalc-1.23+dfsg.orig/include/Lfind_zeros.h0000644000175000017500000021750011232022657017126 0ustar tobitobi/* Copyright (C) 2001,2002,2003,2004 Michael Rubinstein This file is part of the L-function package L. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Check the License for details. You should have received a copy of it, along with the package; see the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ //use Brent's method to locate a zero given a sign change. //see the wikipedia article: http://en.wikipedia.org/wiki/Brent's_method template Double L_function :: zeros_zoom_brent(Double L1, Double L2, Double u, Double v) { Double a=u,b=v,L_a=L1,L_b=L2,c,L_c,L_s,d; bool my_flag=true; bool s_bound; Double tmp,tmp2; Double s,x,y,z; //Double tol=tolerance2*sqrt(v*v+1); if(my_norm(L_a)tmp2) || (my_flag &&my_norm(s-b)>= my_norm(b-c) / 2) || (!my_flag && my_norm(s-b)>=my_norm(c-d)/2)){ s=(a+b)/2; my_flag=true; //cout << "midpoint " << s << endl; } else my_flag=false; L_s= real(this->value(.5+I*s,0,"rotated pure")); d=c; c=b; L_c=L_b; if (L_a*L_s<0){ b=s;L_b=L_s; } else{ a=s; L_a=L_s; } if(my_norm(L_a)< my_norm(L_b)){ tmp=a;a=b;b=tmp; tmp=L_a;L_a=L_b;L_b=tmp; } }while(abs(L_b)>tolerance3 && abs((b-a)/(abs(b)+1))>tolerance2); // sqrt(v*v+1) is only good for zeta. Other L-functions have more // precision loss. //if(abs(L_b)>tol*100) // cout << "Mofu. Big zero " << b << " " < void L_function :: find_zeros(Double t1, Double t2, Double step_size, const char* filename, const char* message_stamp) { Double t,x,y; Double u,v,tmp2; Long count2=0; Double previous_zero=t1; fstream file; if(my_verbose>2) cout << "entering find_zeros" << endl; if(!strcmp(filename,"cout")) { cout << setprecision(DIGITS3); } else { file.open(filename, ios::out|ios::app); file << setprecision(DIGITS3); } t=t1; u=t; x=real(this->value(.5+I*t,0,"rotated pure")); if(my_verbose>1) cout << "look for sign change " << t << " " << x << endl; do{ t=t+step_size; y=real(this->value(.5+I*t,0,"rotated pure")); if(my_verbose>1) cout << "look for sign change " << t << " " << y << endl; v=t; if(sn(x)!=sn(y)) //if sign change is found...divide and conquer //until the difference is small. { tmp2=zeros_zoom_brent(x,y,u,v); count2++; int tmp_DIGITS = Int(DIGITS3+log(abs(tmp2)+2)/2.3)+1; if(!strcmp(filename,"cout")) { //cout << tmp2 << endl; cout << message_stamp << " "; if(tmp_DIGITS0) cout << this->N((tmp2+previous_zero)/2)/2 -N(t1)/2-(count2-1.) << endl; else cout << this->N((tmp2+previous_zero)/2)/2 -(count2-1.) << endl; previous_zero=tmp2; } else { //file << tmp2 << endl; file << message_stamp << " "; if(tmp_DIGITS0) file << this->N((tmp2+previous_zero)/2)/2 -N(t1)/2-(count2-1.) << endl; else file << this->N((tmp2+previous_zero)/2)/2-(count2-1.) << endl; previous_zero=tmp2; } } u=t; x=y; }while((t1 void L_function :: find_zeros_v(Double t1, Double t2, Double step_size, vector &result) { Double t,x,y; Double u,v,tmp2; Long count2=0; Double previous_zero=t1; t=t1; u=t; x=real(this->value(.5+I*t,0,"rotated pure")); do{ t=t+step_size; y=real(this->value(.5+I*t,0,"rotated pure")); v=t; if(sn(x)!=sn(y)) //if sign change is found...divide and conquer //until the difference is small. { tmp2=zeros_zoom_brent(x,y,u,v); count2++; result.push_back( tmp2); previous_zero=tmp2; } u=t; x=y; }while((t1 void L_function :: find_zeros_via_gram(Double t1, Long count,Double max_refine,const char* filename, const char* message_stamp){ if(my_verbose>2) cout << "entering find_zeros_via_gram" << endl; //find_zeros_elaborate(t1,count,max_refine); Long m,n; Double r,x; int i,j,k; int gram_sign; // sign of (-1)^n L(gram_pt_n) // compute 100 gram points, check gram's law, and partition into blocks (we might // need to stop before the 100th gram point). Double gram_pt[100][2];// 0 stores the gram point, 1 stores the corresponding L-value x=initialize_gram(t1); gram_pt[0][0]=x; gram_pt[0][1]=real(this->value(.5+I*x,0,"rotated pure")); for(m=1;m<=99;m++){ x=next_gram(x); gram_pt[m][0]=x; gram_pt[m][1]=real(this->value(.5+I*x,0,"rotated pure")); //cout << m << " " << gram_pt[m][1]*pow(-1.,1.*m) << endl; } r=1;m=n=0; for(i=0;i<=99;i++){ if(r*gram_pt[i][1]>0)m++; else n++; r=-r; } if(m>65) gram_sign=1; else if(n>65) gram_sign=-1; else{ cout << "Possible violation of Gram's law" << endl; for(i=0;i<=99;i++) cout << i<< " " <value(.5-I*gram_pt[i][0],0,"rotated pure"))<< endl; exit(1); } int number_blocks=0; //number of gram blocks int gram_block[100][3]; //0 stores the start index, 1 the stop index, //2 the number of sign changes in the block. i=0; r=gram_sign; do{ if(r*gram_pt[i][1]>0){ j=i; do{ j++; r=-r; }while(r*gram_pt[j][1]<0&&j<99); if(r*gram_pt[j][1]>0){ if(j-i>3){ cout<<"is a long block\n"; for(int ii=i;ii<=j;ii++) cout << ii<< " " < t1 //then look for the zeros in [t1,gram_pt_1): count how many there ought to be //using arg principle, then search for them. Actually, we should use the arg principle //to count how many zeros there ought to be from t1 to the first point from where the //gram point search kicks in successfully. //if all zeros are found dump the first 50, say and repeat the gram block search //using the next 50 gram points. /* int i; Double tmp,tmp2; Complex L_1; Double y; Double global_average=0; x=.1;i=0; do{ L_1=this->value(x+I*(t1-0.65444)); //L_1=this->value(x+I*(t1-.1)); if(L_1!=0) y=imag(log(L_1)); if(i>0){ tmp2=y-tmp; if(tmp2>5)tmp2=tmp2-2*Pi; if(tmp2<-5)tmp2=tmp2+2*Pi; global_average=global_average+tmp2; //cout << "global average: " <value(x+I*t2); if(L_1!=0) y=imag(log(L_1)); tmp2=y-tmp; if(tmp2>5)tmp2=tmp2-2*Pi; if(tmp2<-5)tmp2=tmp2+2*Pi; global_average=global_average+tmp2; //cout << "global average: " <value(x+I*t2); if(L_1!=0) y=imag(log(L_1)); tmp2=y-tmp; if(tmp2>5)tmp2=tmp2-2*Pi; if(tmp2<-5)tmp2=tmp2+2*Pi; global_average=global_average+tmp2; //cout << "global average: " <.1); do{ t2=t2-.01; L_1=this->value(x+I*t2); if(L_1!=0) y=imag(log(L_1)); tmp2=y-tmp; if(tmp2>5)tmp2=tmp2-2*Pi; if(tmp2<-5)tmp2=tmp2+2*Pi; global_average=global_average+tmp2; //cout << "global average: " <t1-0.65444); //}while(t2>t1-.1); global_average=global_average/(2*Pi); cout <<"hihih " << global_average< int L_function :: compute_rank(bool print_rank){ Complex w,z; Double x,y,h1,h2,tmp_h,tmp_x; int r; z=this->value(.5); x=abs(z); if(x>.00001){ if(print_rank) cout << "analytic rank equals "<< 0 << endl; return 0; } h2=.00001; y=abs(this->value(.5+h2)); if(y>1.e-9){ x=abs(this->value(.5+1.01*h2)); r = Int(rint(abs(log(x)-log(y))/log(1.01))); if(print_rank) cout << "analytic rank equals "<< r << endl; return r; } h2=.001; y=abs(this->value(.5+h2)); if(y>1.e-9){ x=abs(this->value(.5+1.01*h2)); r = Int(rint(abs(log(x)-log(y))/log(1.01))); if(print_rank) cout << "analytic rank equals "<< r << endl; return r; } h1=.001; do{ h2=h1; h1=h1*5; x=abs(this->value(.5+h1)); //cout << x << " multiply by 5, at " << h1<1.e-8){ do{ do{ tmp_h=h1; h1=(h1+h2)/2; x=abs(this->value(.5+h1)); //cout << x << " divide and conquer, at " << h1<1.e-8); if(x<1.e-9) { h2=h1; h1=tmp_h; } }while(x<1.e-9); } //y=abs(this->value(.5+h2)); y=x; x=abs(this->value(.5+1.01*h1)); //cout << h1<< " " << x << " " << y << " "<<(log(x)-log(y))/log(1.01)< void L_function :: verify_rank(int rank){ int analytic_rank=compute_rank(); if(rank!=analytic_rank) cout<< "given rank "< void L_function :: find_zeros_via_N(Long count,bool do_negative,Double max_refine, int rank, bool test_explicit_formula, const char* filename, const char* message_stamp) { Double t,x,y; Double u,v,tmp=0; Long count2=0; //counts how many zeros have been printed Double count_all=0; //counts how many zeros have been found Double previous_zero=0; Double step_size,refined_step_size; fstream file; int i,j; Double zeros_S[100][3]; // stores list of consecutive zeros: S[n][0] // corresponding S(T) value: S[n][1] // and the sign of the zero (+1 or -1) S[n][2] //int degree; //degree of the L-function Double *xxx_zeros; //for sending to the explicit formula test int xxx_number_zeros; //number of zeros to store for the explicit formula //if self dual, we also send the -gammas (if gamma != 0). //If not self dual (i.e. if do_negative) //we are already computing zeros above and below int xxx_number_zeros_test; //number of zeros to use in the explicit formula (eventually equals xxx_number_zeros) int xxx_count=0; //used to count the number of zeros in the xxx_zeros array, mod the size of the array int xxx_current_zero=0; //the zero in the xxx_zeros array on which to center the bool xxx_half_full=false; //once xxx_zeros is half full start doing the explicit formula test bool xxx_full=false; //to keep track of when the array is completely full double xxx_T=1,xxx_local_density; // used to determine how many zeros to store for the explicit formula Complex *xxx_log_diff_coeffs; //stores Dirichlet coefficients of the logarithmic derivative do{ xxx_T=xxx_T*1.3; }while(N(xxx_T)<2*count+100); //the 2 because in the self dual case we only count half the zeros with |t|0) cout << "Initializing xxx_zeros array to contain " << xxx_number_zeros << " zeros" << endl; xxx_zeros = new Double[xxx_number_zeros]; for(i=0;i2) cout << "entering find_zeros_via_N to look for " << count << " zeros" << endl; if(!strcmp(filename,"cout")) { cout << setprecision(DIGITS3); } else { file.open(filename, ios::out|ios::app); file << setprecision(DIGITS3); } //count multiplicity of zero at 0, then start slightly higher. //doesn't matter if I miss a zero inbetween, since this //will then be detected by N(T) comparison and searched for. ii=0; //will be used to count zeros in the zeros_S array if(rank>=0) analytic_rank=rank; else analytic_rank=this->compute_rank(); if(analytic_rank>0){ count_all=count_all+analytic_rank; if(!do_negative) count_all=count_all*.5; ii=analytic_rank; for(i=1;i<=ii;i++){ zeros_S[i][0]=0; zeros_S[i][1]=0; zeros_S[i][2]=1; } } if(analytic_rank==0) t=0; else t=exp(log(.00001)/analytic_rank); //ad hoc method that will eventually fail u=t; x=real(this->value(.5+I*t,0,"rotated pure")); if(do_negative) x_c=real(this->value(.5-I*t,0,"rotated pure")); if(my_verbose>1) cout << "look for sign change " << t << " " << x << endl; do{ step_size=.6/(this->N(t+22)-this->N(t+21)); //i.e. increment by .6 the average //the choice of .6 was determined experimentally //XXXXXXXXX might need to adapt the shift for case where the imag part //of the lambda's can be large XXXXXXXXXXX if(do_negative) step_size=step_size/2; t=t+step_size; y=real(this->value(.5+I*t,0,"rotated pure")); if(do_negative) y_c=real(this->value(.5-I*t,0,"rotated pure")); if(my_verbose>1) cout << "look for sign change " << t << " " << y << " " << y_c<N((tmp+previous_zero)/2) -(count_all-1); else zeros_S[ii][1]=this->N((tmp+previous_zero)/2)/2 -(count_all-1); } if(sn(x_c)!=sn(y_c)) //if sign change is found...zoom in { tmp=-zeros_zoom_brent(y_c,x_c,-v,-u); count_all++; ii++; zeros_S[ii][0]=tmp; zeros_S[ii][2]=-1; if(zeros_S[ii][0]N((zeros_S[ii-1][0]+previous_zero)/2) -(count_all-2); } zeros_S[ii][1]=this->N((tmp+zeros_S[ii-1][0])/2)-(count_all-1); } if(ii>15){ local_average=0; for(i=ii;i>=ii-15;i--) local_average=local_average+zeros_S[i][1]/16; if(local_average>.7) to_find=1; if(local_average>1.5) to_find=Int(local_average+.5); if(to_find>0){ if(my_verbose>1) cout << "missing zeros detected "<ii-1+found_missing)i2=ii-1+found_missing; if(i1<1&&count2>0)i1=1; if(i1<1&&count2==0)i1=0; for(i=i1;i<=i2;i++){ u2=zeros_S[i][0]; if(do_negative){ if(zeros_S[i][2]>0){ x2=real(this->value(.5+I*(u2+refined_step_size),0,"rotated pure")); x2_c=real(this->value(.5-I*u2,0,"rotated pure")); } else{ x2=real(this->value(.5+I*u2,0,"rotated pure")); x2_c=real(this->value(.5-I*(u2+refined_step_size),0,"rotated pure")); } } else{ u2=zeros_S[i][0]+.5*refined_step_size; x2=real(this->value(.5+I*u2,0,"rotated pure")); } also_do_end_pt=false; do{ v2=u2+refined_step_size; if(v2value(.5+I*v2,0,"rotated pure")); if(do_negative) y2_c=real(this->value(.5-I*v2,0,"rotated pure")); x3=y2;x3_c=y2_c;u3=v2; if(sn(x2)!=sn(y2)||sn(x2_c)!=sn(y2_c)) //if sign change is found...divide and conquer //until the difference is small. { number_insert=0; if(sn(x2)!=sn(y2)){ tmp2=zeros_zoom_brent(x2,y2,u2,v2); found_missing++;i2=i2+1; count_all++; number_insert++; } if(sn(x2_c)!=sn(y2_c)){ tmp3=-zeros_zoom_brent(y2_c,x2_c,-v2,-u2); if(sn(x2)!=sn(y2)&&tmp2>tmp3){tmp4=tmp2;tmp2=tmp3;tmp3=tmp4;} found_missing++;i2=i2+1; count_all++; number_insert++; } for(j=ii+found_missing;j>=i+1+number_insert;j--){ zeros_S[j][0]=zeros_S[j-number_insert][0]; zeros_S[j][2]=zeros_S[j-number_insert][2]; zeros_S[j][1]=zeros_S[j-number_insert][1]-number_insert; } if(number_insert==1&&sn(x2)!=sn(y2)){ zeros_S[i+1][0]=tmp2; zeros_S[i+1][2]=1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; //not strictly correct, but close enough //XXXXXXXXXXXXX do this more precisely.don't be lazy! } else if(number_insert==1&&sn(x2_c)!=sn(y2_c)){ zeros_S[i+1][0]=tmp3; zeros_S[i+1][2]=-1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; //not strictly correct, but close enough //XXXXXXXXXXXXX do this more precisely.don't be lazy! } else{ zeros_S[i+2][0]=tmp3; zeros_S[i+2][2]=-1; zeros_S[i+2][1]=zeros_S[i+3][1]-1; //not strictly correct, but close enough zeros_S[i+1][0]=tmp2; zeros_S[i+1][2]=1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; //not strictly correct, but close enough } i=i-2*number_insert;if(i<1)i=1; } //x3=x2;x3_c=x2_c;u3=u2; x2=y2;x2_c=y2_c;u2=v2; } }while(v20){ v2=zeros_S[i+1][0]; y2_c=real(this->value(.5-I*v2,0,"rotated pure")); if(sn(x3_c)!=sn(y2_c)) { tmp3=-zeros_zoom_brent(y2_c,x3_c,-v2,-u3); found_missing++;i2=i2+1; count_all++; for(j=ii+found_missing;j>=i+2;j--){ zeros_S[j][0]=zeros_S[j-1][0]; zeros_S[j][2]=zeros_S[j-1][2]; zeros_S[j][1]=zeros_S[j-1][1]-1; } zeros_S[i+1][0]=tmp3; zeros_S[i+1][2]=-1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; i=i-2;if(i<1)i=1; } } //if(do_negative&&zeros_S[i+1][2]>0) else if(also_do_end_pt&&found_missing==0&&do_negative&&zeros_S[i+1][2]<0){ v2=zeros_S[i+1][0]; y2=real(this->value(.5+I*v2,0,"rotated pure")); if(sn(x3)!=sn(y2)) { tmp2=zeros_zoom_brent(x3,y2,u3,v2); found_missing++;i2=i2+1; count_all++; for(j=ii+found_missing;j>=i+2;j--){ zeros_S[j][0]=zeros_S[j-1][0]; zeros_S[j][1]=zeros_S[j-1][1]-1; zeros_S[j][2]=zeros_S[j-1][2]; } zeros_S[i+1][0]=tmp2; zeros_S[i+1][2]=1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; i=i-2;if(i<1)i=1; } } }//for i refined_step_size=refined_step_size/2; i2=i2+2;i1=i1-2; if(refined_step_size/step_size< .1){i2=i2+1;i1=i1-8;} }while(found_missing step_size/max_refine); to_find=0; if(refined_step_size <= step_size/max_refine){ int tmp_DIGITS = Int(DIGITS3+log(zeros_S[i][0]+2)/2.3)+1; if(!strcmp(filename,"cout")) { if(tmp_DIGITS=50){ i=1; do{ int tmp_DIGITS = Int(DIGITS3+log(zeros_S[i][0]+2)/2.3)+1; if(!strcmp(filename,"cout")) { cout << message_stamp << " "; if(tmp_DIGITSanalytic_rank){ //the latter because we don't want to double count zeros at s=1/2 xxx_zeros[xxx_count]=-zeros_S[i][0]*zeros_S[i][2]; xxx_count++; } } else{ //array is half full so now proceed to do explicit formula test, and then place a new zero or pair of zeros //wrapping around to the front end of the array if needed. xxx_half_full=true; //is now half full //might only do this every, say, tenth zero if(xxx_count<2) xxx_full=true; //i.e. if xxx_count has wrapped around to the beginning of the array if(!xxx_full) xxx_number_zeros_test=xxx_count; else xxx_number_zeros_test=xxx_number_zeros; if(!xxx_full||count2%10==0) //run the test on the first few zeros and then every tenth zero xxx_flag = this->test_explicit_formula(xxx_A,xxx_zeros[xxx_current_zero], xxx_zeros,xxx_number_zeros_test,xxx_log_diff_coeffs,150); if(xxx_flag==1){ cout << "WARNING: FAILURE OF THE EXPLICIT FORMULA. DUMPING ZEROS AND QUITTING." << endl; for(i=1;i<=50;i++) cout << zeros_S[i][0]*zeros_S[i][2] << " " << zeros_S[i][1]<< endl; exit(1); } //place another zero in the list xxx_current_zero=(xxx_current_zero+1)%xxx_number_zeros; xxx_zeros[xxx_count]=zeros_S[i][0]*zeros_S[i][2]; xxx_count=(xxx_count+1)%xxx_number_zeros; if(!do_negative){ //and it's negative if self dual xxx_zeros[xxx_count]=-zeros_S[i][0]*zeros_S[i][2]; xxx_count=(xxx_count+1)%xxx_number_zeros; xxx_current_zero=(xxx_current_zero+1)%xxx_number_zeros; } } } if(my_verbose==-1) cout << " " << setprecision(6) << zeros_S[i][1]; //XXXXXXXXXXXXXX added for debugging purposes if(i>1&&my_verbose==-1&&abs(zeros_S[i-1][0]-zeros_S[i][0])< exp(-2.3*(DIGITS3-3))) cout << "XXXXXXXXX close zeros detected XXXXXXX " << i << " " << zeros_S[i-1][0] << " " << zeros_S[i][0]; cout<test_explicit_formula(xxx_A,xxx_zeros[0], xxx_zeros,50); } if(xxx_flag==1){ cout << "WARNING: FAILURE OF THE EXPLICIT FORMULA. DUMPING ZEROS AND QUITTING." << endl; for(i=1;i<=50;i++) cout << zeros_S[i][0]*zeros_S[i][2] << " " << zeros_S[i][1]<< endl; exit(1); } */ for(i=11;i<=ii;i++){ zeros_S[i-10][0]=zeros_S[i][0]; zeros_S[i-10][2]=zeros_S[i][2]; zeros_S[i-10][1]=zeros_S[i][1]; } if(!strcmp(filename,"cout")) cout << setprecision(DIGITS3); else file << setprecision(DIGITS3); ii=ii-10; } //} previous_zero=tmp; u=t; x=y; x_c=y_c; }while(count2 void L_function ::find_zeros_via_N_v(Long count,bool do_negative,Double max_refine, int rank, bool test_explicit_formula, vector &result) { Double t,x,y; Double u,v,tmp=0; Long count2=0; //counts how many zeros have been printed Double count_all=0; //counts how many zeros have been found Double previous_zero=0; Double step_size,refined_step_size; int i,j; Double zeros_S[100][3]; // stores list of consecutive zeros: S[n][0] // corresponding S(T) value: S[n][1] // and the sign of the zero (+1 or -1) S[n][2] //int degree; //degree of the L-function Double *xxx_zeros; //for sending to the explicit formula test int xxx_number_zeros; //number of zeros to store for the explicit formula //if self dual, we also send the -gammas (if gamma != 0). //If not self dual (i.e. if do_negative) //we are already computing zeros above and below int xxx_number_zeros_test; //number of zeros to use in the explicit formula (eventually equals xxx_number_zeros) int xxx_count=0; //used to count the number of zeros in the xxx_zeros array, mod the size of the array int xxx_current_zero=0; //the zero in the xxx_zeros array on which to center the bool xxx_half_full=false; //once xxx_zeros is half full start doing the explicit formula test bool xxx_full=false; //to keep track of when the array is completely full double xxx_T=1,xxx_local_density; // used to determine how many zeros to store for the explicit formula Complex *xxx_log_diff_coeffs; //stores Dirichlet coefficients of the logarithmic derivative do{ xxx_T=xxx_T*1.3; }while(N(xxx_T)<2*count+100); //the 2 because in the self dual case we only count half the zeros with |t|0) cout << "Initializing xxx_zeros array to contain " << xxx_number_zeros << " zeros" << endl; xxx_zeros = new Double[xxx_number_zeros]; for(i=0;i2) cout << "entering find_zeros_via_N to look for " << count << " zeros" << endl; //count multiplicity of zero at 0, then start slightly higher. //doesn't matter if I miss a zero inbetween, since this //will then be detected by N(T) comparison and searched for. ii=0; //will be used to count zeros in the zeros_S array if(rank>=0) analytic_rank=rank; else analytic_rank=this->compute_rank(); if(analytic_rank>0){ count_all=count_all+analytic_rank; if(!do_negative) count_all=count_all*.5; ii=analytic_rank; for(i=1;i<=ii;i++){ zeros_S[i][0]=0; zeros_S[i][1]=0; zeros_S[i][2]=1; } } if(analytic_rank==0) t=0; else t=exp(log(.00001)/analytic_rank); //ad hoc method that will eventually fail u=t; x=real(this->value(.5+I*t,0,"rotated pure")); if(do_negative) x_c=real(this->value(.5-I*t,0,"rotated pure")); if(my_verbose>1) cout << "look for sign change " << t << " " << x << endl; do{ step_size=.6/(this->N(t+22)-this->N(t+21)); //i.e. increment by .6 the average //the choice of .6 was determined experimentally //XXXXXXXXX might need to adapt the shift for case where the imag part //of the lambda's can be large XXXXXXXXXXX if(do_negative) step_size=step_size/2; t=t+step_size; y=real(this->value(.5+I*t,0,"rotated pure")); if(do_negative) y_c=real(this->value(.5-I*t,0,"rotated pure")); if(my_verbose>1) cout << "look for sign change " << t << " " << y << " " << y_c<N((tmp+previous_zero)/2) -(count_all-1); else zeros_S[ii][1]=this->N((tmp+previous_zero)/2)/2 -(count_all-1); } if(sn(x_c)!=sn(y_c)) //if sign change is found...zoom in { tmp=-zeros_zoom_brent(y_c,x_c,-v,-u); count_all++; ii++; zeros_S[ii][0]=tmp; zeros_S[ii][2]=-1; if(zeros_S[ii][0]N((zeros_S[ii-1][0]+previous_zero)/2) -(count_all-2); } zeros_S[ii][1]=this->N((tmp+zeros_S[ii-1][0])/2)-(count_all-1); } if(ii>15){ local_average=0; for(i=ii;i>=ii-15;i--) local_average=local_average+zeros_S[i][1]/16; if(local_average>.7) to_find=1; if(local_average>1.5) to_find=Int(local_average+.5); if(to_find>0){ if(my_verbose>1) cout << "missing zeros detected "<ii-1+found_missing)i2=ii-1+found_missing; if(i1<1&&count2>0)i1=1; if(i1<1&&count2==0)i1=0; for(i=i1;i<=i2;i++){ u2=zeros_S[i][0]; if(do_negative){ if(zeros_S[i][2]>0){ x2=real(this->value(.5+I*(u2+refined_step_size),0,"rotated pure")); x2_c=real(this->value(.5-I*u2,0,"rotated pure")); } else{ x2=real(this->value(.5+I*u2,0,"rotated pure")); x2_c=real(this->value(.5-I*(u2+refined_step_size),0,"rotated pure")); } } else{ u2=zeros_S[i][0]+.5*refined_step_size; x2=real(this->value(.5+I*u2,0,"rotated pure")); } also_do_end_pt=false; do{ v2=u2+refined_step_size; if(v2value(.5+I*v2,0,"rotated pure")); if(do_negative) y2_c=real(this->value(.5-I*v2,0,"rotated pure")); x3=y2;x3_c=y2_c;u3=v2; if(sn(x2)!=sn(y2)||sn(x2_c)!=sn(y2_c)) //if sign change is found...divide and conquer //until the difference is small. { number_insert=0; if(sn(x2)!=sn(y2)){ tmp2=zeros_zoom_brent(x2,y2,u2,v2); found_missing++;i2=i2+1; count_all++; number_insert++; } if(sn(x2_c)!=sn(y2_c)){ tmp3=-zeros_zoom_brent(y2_c,x2_c,-v2,-u2); if(sn(x2)!=sn(y2)&&tmp2>tmp3){tmp4=tmp2;tmp2=tmp3;tmp3=tmp4;} found_missing++;i2=i2+1; count_all++; number_insert++; } for(j=ii+found_missing;j>=i+1+number_insert;j--){ zeros_S[j][0]=zeros_S[j-number_insert][0]; zeros_S[j][2]=zeros_S[j-number_insert][2]; zeros_S[j][1]=zeros_S[j-number_insert][1]-number_insert; } if(number_insert==1&&sn(x2)!=sn(y2)){ zeros_S[i+1][0]=tmp2; zeros_S[i+1][2]=1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; //not strictly correct, but close enough //XXXXXXXXXXXXX do this more precisely.don't be lazy! } else if(number_insert==1&&sn(x2_c)!=sn(y2_c)){ zeros_S[i+1][0]=tmp3; zeros_S[i+1][2]=-1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; //not strictly correct, but close enough //XXXXXXXXXXXXX do this more precisely.don't be lazy! } else{ zeros_S[i+2][0]=tmp3; zeros_S[i+2][2]=-1; zeros_S[i+2][1]=zeros_S[i+3][1]-1; //not strictly correct, but close enough zeros_S[i+1][0]=tmp2; zeros_S[i+1][2]=1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; //not strictly correct, but close enough } i=i-2*number_insert;if(i<1)i=1; } //x3=x2;x3_c=x2_c;u3=u2; x2=y2;x2_c=y2_c;u2=v2; } }while(v20){ v2=zeros_S[i+1][0]; y2_c=real(this->value(.5-I*v2,0,"rotated pure")); if(sn(x3_c)!=sn(y2_c)) { tmp3=-zeros_zoom_brent(y2_c,x3_c,-v2,-u3); found_missing++;i2=i2+1; count_all++; for(j=ii+found_missing;j>=i+2;j--){ zeros_S[j][0]=zeros_S[j-1][0]; zeros_S[j][2]=zeros_S[j-1][2]; zeros_S[j][1]=zeros_S[j-1][1]-1; } zeros_S[i+1][0]=tmp3; zeros_S[i+1][2]=-1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; i=i-2;if(i<1)i=1; } } //if(do_negative&&zeros_S[i+1][2]>0) else if(also_do_end_pt&&found_missing==0&&do_negative&&zeros_S[i+1][2]<0){ v2=zeros_S[i+1][0]; y2=real(this->value(.5+I*v2,0,"rotated pure")); if(sn(x3)!=sn(y2)) { tmp2=zeros_zoom_brent(x3,y2,u3,v2); found_missing++;i2=i2+1; count_all++; for(j=ii+found_missing;j>=i+2;j--){ zeros_S[j][0]=zeros_S[j-1][0]; zeros_S[j][1]=zeros_S[j-1][1]-1; zeros_S[j][2]=zeros_S[j-1][2]; } zeros_S[i+1][0]=tmp2; zeros_S[i+1][2]=1; zeros_S[i+1][1]=zeros_S[i+2][1]-1; i=i-2;if(i<1)i=1; } } }//for i refined_step_size=refined_step_size/2; i2=i2+2;i1=i1-2; if(refined_step_size/step_size< .1){i2=i2+1;i1=i1-8;} }while(found_missing step_size/max_refine); to_find=0; if(refined_step_size <= step_size/max_refine){ cout<<"missing zeros detected." << endl; cout<<"failed to find using refined step sizes of " << refined_step_size << endl; for(i=1;i<=ii+found_missing;i++) result.push_back( zeros_S[i][0]*zeros_S[i][2]); return; } } } ii=ii+found_missing; found_missing=0; //dump up to 10 zeros, checking explicit formula ii=ii+found_missing; found_missing=0; if(ii>=50){ i=1; do{ int tmp_DIGITS = Int(DIGITS3+log(zeros_S[i][0]+2)/2.3)+1; result.push_back( zeros_S[i][0]*zeros_S[i][2]); i++; count2++; }while(i<=10&&count2 void L_function :: find_zeros_elaborate(Double t1, Long count,Double max_refine, const char* filename, const char* message_stamp) { if(my_verbose>2) cout << "entering find_zeros_elaborate to look for " << count << " zeros" << endl; Double t,x,y; Double r; Double u,v,L_u,L_v,tmp; Long count2=0; //counts how many zeros have been printed Long count_all=0; //counts how many zeros have been found Double previous_zero=t1; Double step_size,refined_step_size; fstream file; int i,j; Double zeros_S[100][2]; // stores list of consecutive zeros and S(T) data int ii; //counts number of local zeros int i1,i2; //used for looping through blocks for missing zeros Double average_S; Double global_average, local_average; int number_big_S; //count how many S(T)'s are suspiciously large int found_missing=0; //number missing zeros found int to_find=0; //number of missing zeros to find Double x2,y2,u2,v2,tmp2; //used to search for missing zeros Double sum_S=0; //sum of the S(T)'s. for(i=0;i<=99;i++) for(j=0;j<=1;j++) zeros_S[i][j]=0; zeros_S[0][0]=t1; if(!strcmp(filename,"cout")) { cout << setprecision(DIGITS3); } else { file.open(filename, ios::out|ios::app); file << setprecision(DIGITS3); } global_average=0; /* Complex L_1; x=.1;i=0; do{ L_1=this->value(x+I*(t1+.0001)); if(L_1!=0) y=imag(log(L_1)); if(i>0){ tmp2=y-tmp; if(tmp2>5)tmp2=tmp2-2*Pi; if(tmp2<-5)tmp2=tmp2+2*Pi; global_average=global_average+tmp2; cout << "global average: " <value(.5+I*t,0,"rotated pure")); if(my_verbose>1) cout << "look for sign change " << t << " " << x << endl; Double g=0; for(i=1;i<=this->a;i++)g=g+gamma[i]; ii=0; //will be used to count zeros in the zeros_S array do{ //step_size=.5/(this->N(t+2)/2-N(t+1)/2); //i.e. increment by half the average //the local density if(count_all<7) step_size=g*log((this->Q)*abs(t)/(2*Pi)+4)/(2*Pi*40); else step_size=g*log((this->Q)*abs(t)/(2*Pi)+4)/(2*Pi*2); //i.e. increment by half the average //XXXXXX I need to take degree into account for the t aspect, //i.e. the sum of the gammas. t=t+step_size; y=real(this->value(.5+I*t,0,"rotated pure")); if(my_verbose>1) cout << "look for sign change " << t << " " << y << endl; v=t; if(sn(x)!=sn(y)) //if sign change is found...divide and conquer //until the difference is small. { tmp=zeros_zoom_brent(x,y,u,v); //cout << "catching zero: " << tmp << endl; count_all++; ii++; zeros_S[ii][0]=tmp; //XXXX should not be discontinous if(t1>0) zeros_S[ii][1]=this->N((tmp+previous_zero)/2)/2 -N(t1)/2-(count_all-1); else zeros_S[ii][1]=this->N((tmp+previous_zero)/2)/2 -(count_all-1); //zeros_S[ii][1]=this->N((tmp+previous_zero)/2)/2 -N(t1)/2-(count_all-1); //if(ii>=20){ //count the number of big S(T)'s. If small then print the first //10 zeros (but not more than count in total). //Otherwise go back to look for missing zeros //searching with step sizes which are half as big. look for //a few consecutive blocks where S(T) is large, and look for missing //zeros in a neighborhood of the transition. If none are found //halve the step size and search again. Do this a few times. If still //missing then search all i blocks with very small steps. //If still not found then print a message and keep going. //average_S=0; //for(i=1;i<=ii;i++) average_S=average_S+zeros_S[i][1]/ii; if(ii==7) for(i=ii;i>=ii-6;i--) global_average=global_average+zeros_S[i][1]/7; if(ii>6){ local_average=0; for(i=ii;i>=ii-6;i--) local_average=local_average+zeros_S[i][1]/7; if(local_average-global_average>.7) to_find=1; if(local_average-global_average>1.5) to_find=Int(local_average-global_average+.5); if(to_find>0){ //cout << "will try to find " << to_find << " zeros" << endl; //cout <<"local vs global "<< local_average << " " << global_average << endl; refined_step_size=step_size/2; i1=ii-7; i2=i1; //for(i=1;i<=ii;i++) cout << "missing zeros detected: " << zeros_S[i][0] << " " << zeros_S[i][1]<< endl; found_missing=0; do{ if(i2>ii-1+found_missing)i2=ii-1+found_missing; if(i1<1&&count2>0)i1=1; if(i1<1&&count2==0)i1=0; for(i=i1;i<=i2;i++){ //search for missing zeros in block i with refined_step_size //each time a zero is found update all relevant info //cout << "searching block " << i << " stepsize " << refined_step_size << endl; u2=zeros_S[i][0]+refined_step_size/2; x2=real(this->value(.5+I*u2,0,"rotated pure")); do{ v2=u2+refined_step_size; //cout <<"u2 v2: " << u2 << " " <value(.5+I*v2,0,"rotated pure")); if(sn(x2)!=sn(y2)) //if sign change is found...divide and conquer //until the difference is small. { //cout <<"zoom in on: " << u2 << " " <=i+2;j--){ zeros_S[j][0]=zeros_S[j-1][0]; zeros_S[j][1]=zeros_S[j-1][1]-1; } zeros_S[i+1][0]=tmp2; zeros_S[i+1][1]=zeros_S[i+2][1]-1; //not strictly correct, but close enough i=i-2;if(i<1)i=1; //cout << "well blow my lips off: "<< zeros_S[i+1][0] << " " << zeros_S[i+1][1]< step_size/max_refine); to_find=0; if(refined_step_size <= step_size/max_refine){ if(!strcmp(filename,"cout")) { cout<<"missing zeros detected." << endl; cout<<"failed to find using refined step sizes of " << refined_step_size << endl; for(i=1;i<=ii+found_missing;i++) cout << zeros_S[i][0] << " " << zeros_S[i][1]<< endl; } else{ file<<"missing zeros detected." << endl; file<<"failed to find using refined step sizes of " << refined_step_size << endl; for(i=1;i<=ii+found_missing;i++) file << zeros_S[i][0] << " " << zeros_S[i][1]<< endl; } file.close(); exit(1); } } } ii=ii+found_missing; found_missing=0; number_big_S=0; for(i=1;i<=ii;i++) if(zeros_S[i][1]>.9+global_average)number_big_S=number_big_S+1; if(number_big_S>17) //i.e. if missing zero detected { //cout << "missing zero detected" << endl; //for(i=1;i<=ii;i++) //cout << i << " : " <1&&i>=1); i1=i; i2=i; found_missing=0; do{ if(i2>ii-1+found_missing)i2=ii-1+found_missing; if(i1<1&&count2>0)i1=1; if(i1<1&&count2==0)i1=0; for(i=i1;i<=i2;i++){ //search for missing zeros in block i with refined_step_size //each time a zero is found update all relevant info //cout << "searching block " << i << " stepsize " << refined_step_size << endl; u2=zeros_S[i][0]+refined_step_size/2; x2=real(this->value(.5+I*u2,0,"rotated pure")); do{ v2=u2+refined_step_size; //cout <<"u2 v2: " << u2 << " " <value(.5+I*v2,0,"rotated pure")); if(sn(x2)!=sn(y2)) //if sign change is found...divide and conquer //until the difference is small. { //cout <<"zoom in on: " << u2 << " " <=i+2;j--){ zeros_S[j][0]=zeros_S[j-1][0]; zeros_S[j][1]=zeros_S[j-1][1]-1; } zeros_S[i+1][0]=tmp2; zeros_S[i+1][1]=zeros_S[i+2][1]-1; //not strictly correct, but close enough i=i-2;if(i<1)i=1; //cout << "well blow my lips off: "<< zeros_S[i+1][0] << " " << zeros_S[i+1][1]<.9+global_average)number_big_S=number_big_S+1; refined_step_size=refined_step_size/2; i2=i2+2;i1=i1-3; if(refined_step_size/step_size< .24){i2=i2+1;i1=i1-8;} }while(number_big_S>17 && refined_step_size > step_size/max_refine); if(refined_step_size <= step_size/max_refine){ if(!strcmp(filename,"cout")) { cout<<"missing zeros detected." << endl; cout<<"failed to find using refined step sizes of " << refined_step_size << endl; for(i=1;i<=ii+found_missing;i++) cout << zeros_S[i][0] << " " << zeros_S[i][1]<< endl; } else{ file<<"missing zeros detected." << endl; file<<"failed to find using refined step sizes of " << refined_step_size << endl; for(i=1;i<=ii+found_missing;i++) file << zeros_S[i][0] << " " << zeros_S[i][1]<< endl; } file.close(); exit(1); } } //dump up to 10 zeros ii=ii+found_missing; found_missing=0; if(ii>=50){ i=1; do{ if(!strcmp(filename,"cout")) { sum_S=sum_S+zeros_S[i][1]; cout << message_stamp << " "; cout << setprecision(DIGITS3); cout << zeros_S[i][0] << " "; cout << setprecision(4) << zeros_S[i][1]<<" " << sum_S/(count2+1.)<< " "<value(.5+I*zeros_S[i][0],0,"rotated pure")) << endl; //cout << zeros_S[i][0] << endl; } else { file << message_stamp << " "; //file << zeros_S[i][0] << " " << zeros_S[i][1]<< endl; file << zeros_S[i][0] << endl; } i++; count2++; }while(i<=10&&count2