fork download
  1. //In SSC the photons emitted by synchrotron radiation undergo inverse Compton scattering.
  2. // So we use the specific synchrotron radiation energy density in IC integral in place of Ur(v) in Ghisellini note.
  3.  
  4. //------------------------------------------------------------------------------------------------------------------------//
  5.  
  6. #include <stdio.h>
  7. #include <math.h>
  8. #include <stdlib.h>
  9.  
  10. #define N_POINTS 100 // Number of integration steps
  11. #define E0 1.0e-2
  12. #define THOMSON_CROSS_SECTION 6.6524587321e-25 // Thomson cross section in cm^2
  13. #define h 41.3*1.0e-16 //in eV
  14. #define ec 1.6e-19 // Maximum electronic charge
  15. #define E_MIN 1.65*1e8 // Minimum energy in eV
  16. #define E_MAX 1e14 // Maximum energy in eV
  17.  
  18.  
  19.  
  20.  
  21.  
  22. // Function to compute multiplicative constant for synchrotron self compton scattering in thomson regime only
  23.  
  24. double C()
  25. {
  26.  
  27. double lw=(3/4)*THOMSON_CROSS_SECTION;
  28. return lw;
  29.  
  30. }
  31.  
  32.  
  33. // Function to compute N for synchrotron self compton scattering in thomson regime only power law
  34.  
  35. double N(double gama, double N0)
  36. {
  37. double p1=2.1, p2=4.5; //1.5-->2.7
  38. double lw,gc=5.e4;
  39. if (gama<gc) lw=N0*pow(gama/gc,((-p1-2)));
  40. else lw=N0*pow(gama/gc,((-p2-2)));
  41.  
  42. //lw=N0*pow(gama,((-p1-2)));
  43. return lw;
  44.  
  45. }
  46.  
  47.  
  48.  
  49. // Function to compute f function for 'x' in inverse compton scattering in thomson regime only power law
  50.  
  51. double f(double E1,double Ei,double gama)
  52. {
  53.  
  54. double lw=E1/(4*Ei*gama*gama);
  55. double val=2*lw*log(lw)+lw+1-2*lw*lw;
  56. if (lw > 1) val=0.;//printf("lw= %g\n", lw);
  57. return val;
  58.  
  59. }
  60.  
  61. //--------------------------MAJOR FUNCTION (SYNCHROTRON PART PUT HERE)-----------------------------------------------------------------------//
  62.  
  63. // synchrotron energy density function (instead of Blackbody radiation function that was used in Inverse Compton Scattering)
  64.  
  65.  
  66.  
  67. double dN_dE(double gama1[], double A, double alpha, double Ebre, double sigma, double delta_alpha, double beta, double Ecut)
  68. {
  69. int n=100,j;
  70. double gmax=1.95e6;
  71. double gmin=1.95e4;
  72.  
  73.  
  74. for( j=1; j<n; j++)
  75. {
  76.  
  77. gama1[j] = gmin*pow((gmax/gmin),(((j-1.0)/(n-1.0))));
  78. }
  79. double je=A * pow(gama1[j]*(9.1*1e-31*9*1e16), -alpha) * pow(1 + pow((gama1[j]*(9.1*1e-31*9*1e16) / Ebre), sigma), -delta_alpha / sigma) * exp(-pow(gama1[j]*(9.1*1e-31*9*1e16)/ Ecut, beta));
  80.  
  81. return je;
  82.  
  83. }
  84.  
  85.  
  86. double rr(double x[])
  87. {
  88.  
  89.  
  90. double a,b,z,w,wres=0,wc=1,sum,y[100],N=2000,Ephmin=1e10,Ephmax=1e13,En,R,Eph[100],E2=16.02,gama1[100],
  91. gama=2.1,B=1*0.001,Esyn,Ec,Eemin=1.6*(pow(10,-3)),Eemax=1.60,Ei[100];
  92. int i,j,n=100;
  93. double e=4.8e-10;
  94. double me=9.1e-28;
  95. double c=3.0e10;
  96. double h_cut=6.57*1e-16;
  97. double Emm_syn=0,val=0.0;
  98. double N0=5.0;
  99.  
  100.  
  101. for(j=1;j<(n);j++)
  102. {
  103. Ei[j]=Ephmin*pow((Ephmax/Ephmin),(((j-1.0)/(n-1.0))));
  104.  
  105. Esyn=0.02*(B/1.0e-3)*(pow((gama1[j]*me*c*c/1.6),2));//*(1.0e-9);
  106. Ec=Esyn/0.29;
  107. x[i]=Ei[j]/Ec;
  108. }
  109. R=1.81*(exp(-x[j]))/(sqrt(pow(x[j],-2./3.)+pow(3.62/3.14,2)));
  110. return R;
  111.  
  112.  
  113. }
  114.  
  115. //double synchro_tron(double eng2) //eng1 is the electron energy in synchrotron radiation process and eng2 is mapped for the photon energy in the inverse Compton process instead of blackbody radiation (CMB) //
  116. double synchro_tron(double Ei[],double gama1[],double je2[],int n) //eng1 is the electron energy in synchrotron radiation process and eng2 is mapped for the photon energy in the inverse Compton process instead of blackbody radiation (CMB) //
  117. { //Ephmin=1e-20,Ephmax=1e-8,
  118. double a,b,z,w,wres=0,wc=1,sum,y[100],N=2000,Ephmin=1e10,Ephmax=1e13,En,R,Eph[100],E2=16.02,
  119. gama=2.1,B=1*0.001,Esyn,Ec,Eemin=1.6*(pow(10,-3)),Eemax=1.60;
  120. int i,j;
  121. double e=4.8e-10;
  122. double me=9.1e-28;
  123. double c=3.0e10;
  124. double h_cut=6.57*1e-16;
  125. double Emm_syn=0,val=0.0;
  126. double N0=5.0;
  127. //this array will be returned to main
  128. double emm[N_POINTS];
  129. double gmax=1.95e6;
  130. double gmin=1.95e4;
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137. // Define parameters
  138. double A = 1.0;
  139. double alpha = 2.0;
  140. double Ebre = 3.5*1e12;
  141. double sigma = 5.0;
  142. double delta_alpha = 0.8; //same
  143. double beta = 2.0; //same
  144. double Ecut = 80*1e12;
  145. double E1,x[100];
  146.  
  147. for(int j=1; j<n; j++)
  148. {
  149.  
  150. gama1[j] = gmin*pow((gmax/gmin),(((j-1.0)/(n-1.0))));
  151. je2[j]=dN_dE(gama1, A, alpha, Ebre, sigma, delta_alpha, beta, Ecut);
  152.  
  153. //printf(" %g %g\n",gama1[j], je2[j]);
  154. }
  155.  
  156.  
  157. sum=0.0;
  158. for(j=1;j<(n);j++)
  159. {
  160. Ei[j]=Ephmin*pow((Ephmax/Ephmin),(((j-1.0)/(n-1.0))));
  161.  
  162. Esyn=0.02*(B/1.0e-3)*(pow((gama1[j]*me*c*c/1.6),2));//*(1.0e-9);
  163. Ec=Esyn/0.29;
  164. x[j]=Ei[j]/Ec;
  165. sum = sum + je2[j]*rr(x)*(gama1[j+1]-gama1[j]);
  166. printf("\n %e",sum);
  167. }
  168.  
  169. Emm_syn=(sqrt(3)*pow(e,3)*B/(2*3.14*me*pow(c,2)*h_cut*Ei[j]))*sum;
  170.  
  171.  
  172. return Emm_syn;
  173. }
  174.  
  175.  
  176. //------------------------------------------MAIN FUNCTION BEGINS HERE----------------------------------------------------------------//
  177.  
  178. int main()
  179. {
  180.  
  181. int i,j,k,l;
  182. double je2[N_POINTS],E1min,E1max,E2[N_POINTS],E3[N_POINTS],je[N_POINTS];
  183. double Ephmax,Ephmin,gmax,gmin,Emm_ic_f=0.0,emm1[N_POINTS];
  184. double Emm_ic_final=0.0,p=2.1,gama1[N_POINTS],N0;
  185. int n=N_POINTS;
  186. double val1=0.0;
  187. double sum1,sum;
  188. double je1[N_POINTS];
  189. double Ei[N_POINTS],E1[N_POINTS];
  190. double je12;
  191.  
  192. double A = 1.0;
  193. double alpha = 2.0;
  194. double Ebre = 3.5*1e12;
  195. double sigma = 5.0;
  196. double delta_alpha = 0.8; //same
  197. double beta = 2.0; //same
  198. double Ecut = 80*1e12;
  199.  
  200.  
  201. // Initial ranges and values
  202. Ephmax=1e14; //1.e4;
  203. Ephmin=1e11; //1.0e-13;11
  204. E1max=Ephmax;
  205. E1min=Ephmin;
  206. gmax=1.95e6;
  207. gmin=1.95e4;
  208. N0= 5.0e9; //5.0e-10;
  209.  
  210. // ==========================initialise the arrays===========================================//
  211. /*for(i=1;i<n; i++)
  212. {
  213. // je1[i]=0.0;
  214. //je2[i]=0.0;
  215. Ei[i]=0.0;
  216. E1[i]=0.0;
  217. gama1[i]=0.0;
  218. //printf("This is my i %d \n",i) ; // correct print
  219.  
  220.  
  221. }*/
  222. //------------------------------------------------------------------------------------
  223.  
  224. // gamma binning
  225.  
  226. for(int j=1; j<n; j++)
  227. {
  228.  
  229. gama1[j] = gmin*pow((gmax/gmin),(((j-1.0)/(n-1.0))));
  230. //printf("This is my gama1 %d \n",gama1[j]) ;
  231. je[j]=N(gama1[j],N0);
  232. je2[j]=dN_dE(gama1, A, alpha, Ebre, sigma, delta_alpha, beta, Ecut);
  233.  
  234. //printf(" %g %g\n",gama1[j], je2[j]);
  235. }
  236.  
  237.  
  238. for(j=1;j<n;j++)
  239. {
  240.  
  241. Ei[j]=Ephmin*pow((Ephmax/Ephmin),(((j-1.0)/(n-1.0))));
  242. // je1[j]=synchro_tron(Ei[j], gama1, je2, n);
  243. je1[j]=synchro_tron(Ei, gama1, je2, n)*Ei[j];
  244.  
  245. }
  246. //------------------------------------------------------------------------------------
  247. //E1 binning
  248.  
  249. for(j=1;j<n;j++)
  250. {
  251.  
  252. E1[j]=E1min*pow((E1max/E1min),(((j-1.0)/(n-1.0))));
  253. }
  254.  
  255.  
  256. //exit(0);
  257.  
  258. //------------------------------------------------------------------------------------- integration loops (nested loop integration with an outer E1 summation)
  259. //printf("E1s' Power-Law Photon-Energy(Seed) Synchrotron-Emmisivity SSC SPECTRUM");
  260. // Integration for spectrum of inverse compton
  261. for(k=1;k<n;k++)
  262. {
  263. sum1=0.0;
  264. for (i = 1; i < (n-1); i ++)
  265. {
  266. sum=0.0;
  267. for (j=1;j<(n-1);j++)
  268. {
  269. sum+=je[j]*f(E1[k],Ei[i],gama1[j])*(gama1[j+1]-gama1[j]);
  270. }
  271. sum = sum*(3./4.)*THOMSON_CROSS_SECTION*3.e10;
  272.  
  273.  
  274. sum1+=je2[i]*(E1[k]/Ei[i])*(Ei[i+1]-Ei[i])*sum;
  275. }
  276. // printf("\n %g %g %g ",E1[k],je1[k],sum1*1e-12);
  277. }
  278.  
  279.  
  280.  
  281. return 0;
  282. //-----------------------------------------------------end of main--------------------------------------------------------------------------------//
  283.  
  284. }
  285.  
  286.  
  287.  
Success #stdin #stdout 0.11s 5292KB
stdin
45
stdout
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan
 -nan