├── exercises.pdf ├── h_test01.nc.valid ├── FortranModernisationWorkshop.pdf ├── C_interop ├── C_from_Fortran │ ├── sum_c.c │ └── sum_f.f90 └── Fortran_from_C │ ├── sum_c.c │ └── sum_f.f90 ├── RHS_mod.f90 ├── Types_mod.f90 ├── python_interop ├── python_call.py └── sum_mod.f90 ├── pfUnit └── unittest_example.pf ├── netcdf └── netCDFwrite.F90 ├── x_test01.txt ├── CoArrays ├── CUDA_fortran_example.F90 ├── coArray.F90 └── mpi_coarrays.F90 ├── CFL_mod.f90 ├── README.md ├── t_test01.txt ├── fd1d_heat_explicit.f90 ├── h_test01.txt └── h_test01.txt_bak /exercises.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvalters/modern-fortran/HEAD/exercises.pdf -------------------------------------------------------------------------------- /h_test01.nc.valid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvalters/modern-fortran/HEAD/h_test01.nc.valid -------------------------------------------------------------------------------- /FortranModernisationWorkshop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvalters/modern-fortran/HEAD/FortranModernisationWorkshop.pdf -------------------------------------------------------------------------------- /C_interop/C_from_Fortran/sum_c.c: -------------------------------------------------------------------------------- 1 | /* sum_c.c */ 2 | 3 | float sum_c( float *x, int n) 4 | { 5 | float sum = 0.0f; 6 | int i; 7 | 8 | for( i=0; i 2 | 3 | float sum_f(float *, int * ); 4 | 5 | int main(int argc, char *argv[] ) 6 | { 7 | float x[4] = { 1.0, 2.0, 3.0, 4.0 }; 8 | int n = 4; 9 | float res; 10 | 11 | res = sum_f( x, &n ); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /RHS_mod.f90: -------------------------------------------------------------------------------- 1 | module RHS_mod 2 | 3 | function func( j, x_num, x ) result ( d ) 4 | implicit none 5 | 6 | integer(kind=SI), intent(in) :: j, x_num 7 | real(kind=DP) :: d 8 | real(kind=DP), intent(in) :: x(x_num) 9 | 10 | d = 0.0_DP 11 | end function func 12 | 13 | public :: func 14 | 15 | end module RHS_mod 16 | -------------------------------------------------------------------------------- /Types_mod.f90: -------------------------------------------------------------------------------- 1 | module Types_mod 2 | use, intrinsic :: iso_fortran_env 3 | implicit none 4 | public :: SP 5 | integer, parameter :: SP = REAL32 6 | integer, parameter :: DP = REAL64 7 | integer, parameter :: SI = INT32 8 | integer, parameter :: DI = INT64 9 | contains 10 | 11 | end module Types_mod 12 | -------------------------------------------------------------------------------- /C_interop/Fortran_from_C/sum_f.f90: -------------------------------------------------------------------------------- 1 | module C_interop 2 | 3 | function sum_f(x, n ) result (res ) & 4 | bind(C, name = 'sum_f') 5 | use iso_c_binding 6 | implicit none 7 | 8 | real(kind = C_FLOAT), intent(in) :: x(*) 9 | integer(kind = C_INT), intent(in) :: n 10 | real(kind = C_FLOAT), res 11 | 12 | res = sum( x(1:n) ) 13 | 14 | end function sum_f 15 | 16 | end module C_interop 17 | -------------------------------------------------------------------------------- /python_interop/python_call.py: -------------------------------------------------------------------------------- 1 | """ 2 | Example of how you would call the fortran function. 3 | 4 | f2py -c --fcompiler=gnu95 -m sum_mod sum_mod.F90 5 | 6 | Creates the library sum_mod.so 7 | 8 | """ 9 | 10 | from sum_mod import sum_mod 11 | 12 | a = sum_mod.sumpy( [ 1.0, 2.0 ] ) 13 | b = sum_mod.fumpy( [ 1.0, 2.0 ] ) 14 | c = sum_mod.sumpy( numpy.array( [ 1.0, 2.0 ] )) 15 | 16 | # Also F90WRAP tool is good for calling fortran from python 17 | -------------------------------------------------------------------------------- /pfUnit/unittest_example.pf: -------------------------------------------------------------------------------- 1 | ! test driver is a pseudo code that tests your functions 2 | ! and subroutines. 3 | 4 | @test 5 | subroutine testCode() 6 | use pFUnit_mod ! required 7 | use test_mod ! contains subroutine to be tested 8 | 9 | real :: result2, tol = 0.00001 10 | 11 | call Riemann( 2.0, 1.0, result2) ! Riemann is in test_mod 12 | 13 | @assertEqual( result2, 3.5, tol ) ! abs( result2 - 3.5 ) <= tol 14 | 15 | end subroutine testCode 16 | -------------------------------------------------------------------------------- /python_interop/sum_mod.f90: -------------------------------------------------------------------------------- 1 | module sum_mod 2 | 3 | contains 4 | 5 | subroutine sumpy( array_f, result_f ) 6 | real, dimension(:), intent(in) :: array_F 7 | real, intent(out) :: result_f 8 | result_f = sum ( array_f ) 9 | end subroutine sumpy 10 | 11 | function fumpy( array_f ) result ( result_f ) 12 | real, dimension(:), intent(in) :: array_f 13 | real :: result_f 14 | result_f = sum(array_f) 15 | end function fumpy 16 | 17 | end module sum_mod 18 | 19 | -------------------------------------------------------------------------------- /C_interop/C_from_Fortran/sum_f.f90: -------------------------------------------------------------------------------- 1 | ! sum_f.f90 2 | 3 | program sum_f 4 | 5 | use iso_c_binding 6 | interface 7 | function sum_c( x, n) bind( C, name = 'sum') 8 | use iso_c_binding 9 | real(kind=C_FLOAT) :: sum_f 10 | real(kind=C_FLOAT) :: x(*) 11 | 12 | integer(kind=C_INT), value :: n 13 | end function sum_c 14 | end interface 15 | 16 | integer, parameter :: n = 4 17 | real(kind=C_FLOAT) :: x(n) = [ 1.0, 2.0, 3.0, 4.0 ] 18 | 19 | print *, sum_c(x,n) 20 | 21 | end program sum_f 22 | 23 | -------------------------------------------------------------------------------- /netcdf/netCDFwrite.F90: -------------------------------------------------------------------------------- 1 | int, dimension(NX,NY) :: data 2 | 3 | ierr = NF90_CREATE( "example.nc", NF90_CLOBBER, nicd ) 4 | data(:,:) = 1 ! entering define mode 5 | 6 | ierr = NF90_DEF_DIM( ncid, "x", NX, x_dimid ) 7 | ierr = NF90_DEF_DIM( ncid, "y", NY, y_dimid ) 8 | ierr = NF90_DEF_VAR( ncid, "data", NF90_INT, [ x_dimid, y_dimid ], & 9 | & varid ) 10 | ierr = NF90_ENDDEF( ncid ) ! end define mode and enter data mode 11 | 12 | ierr = NF90_PUT_VAR( ncid, varid, data) !write data 13 | 14 | ierr = NF90_CLOSE( ncid ) 15 | 16 | 17 | -------------------------------------------------------------------------------- /x_test01.txt: -------------------------------------------------------------------------------- 1 | 0.000000000000000 2 | 0.5000000000000000E-01 3 | 0.1000000000000000 4 | 0.1500000000000000 5 | 0.2000000000000000 6 | 0.2500000000000000 7 | 0.3000000000000000 8 | 0.3500000000000000 9 | 0.4000000000000000 10 | 0.4500000000000000 11 | 0.5000000000000000 12 | 0.5500000000000000 13 | 0.6000000000000000 14 | 0.6500000000000000 15 | 0.7000000000000000 16 | 0.7500000000000000 17 | 0.8000000000000000 18 | 0.8500000000000000 19 | 0.9000000000000000 20 | 0.9500000000000000 21 | 1.000000000000000 22 | -------------------------------------------------------------------------------- /CoArrays/CUDA_fortran_example.F90: -------------------------------------------------------------------------------- 1 | module CUDAFortran 2 | 3 | attributes(global) subroutine axpy(n, a, X, Y, Z) 4 | integer, value :: n 5 | real, value :: a 6 | i = threadIdx%x + (blocKIdx%x -1) * blockDim%x 7 | if (i <= n) then 8 | Z(i) = a * X(i) + Y(i) 9 | 10 | use cudafor 11 | real, allocatable, device :: X_D(:), Y_D(:), Z_D(:) 12 | 13 | type(dim3) :: BLOCK, GRID 14 | allocate(X_D(n)); allocate(T_D(n)); allocate(Z_D(n)) 15 | err = cudaMemCpy(X_D, X, n, cudaMemCpyHostToDevice) 16 | err = cudaMEmCpy(Y_D, Y, n) 17 | 18 | block = dim3(128, 1, 1); grid = dim(n / block%x, 1, 1) 19 | call axpy<<>>(%val(n), %val(b), X_D, Y_D, Z_D) 20 | Z = Z_D 21 | 22 | end module CUDAFortran 23 | 24 | -------------------------------------------------------------------------------- /CoArrays/coArray.F90: -------------------------------------------------------------------------------- 1 | module coarrays 2 | 3 | real :: a_I[*] 4 | real, allocatable :: X_I(:)[:], Y_I(:)[:], Z_I(:)[:] 5 | integer :: n_I 6 | 7 | n_I = n / num_images() 8 | allocate(X_I(n_I)); allocate(Y_I(n_I)); allocate(Z_I(n_I)) 9 | 10 | if (this_image() == 1 ) then 11 | do i = 1, num_images() 12 | a_I[i] = a 13 | X_I(:)[i] = X((i-1) * n_I + 1 : i*n_I) 14 | Y_I(:)[i] = Y((i-1) * n_I + 1 : i*n_I) 15 | end do 16 | end if 17 | sync all 18 | 19 | call axpy(n_I, a_I, X_I, X_I, Y_I, Z_I) 20 | sync all 21 | 22 | if (this_image() == 1 ) then 23 | do i = 1, num_images() 24 | Z((i-1) * n_I+1 : i*n_I) = Z_I(:)[i] 25 | end do 26 | end if 27 | 28 | end module coarrays 29 | 30 | 31 | -------------------------------------------------------------------------------- /CoArrays/mpi_coarrays.F90: -------------------------------------------------------------------------------- 1 | module mpi_coarray 2 | 3 | use mpi 4 | 5 | real :: a_P 6 | real, allocatable :: X_P(:), Y_P(:), Z_P(:) 7 | integer :: n_P 8 | integer :: nProcs, procN, err 9 | call mpi_init(err) 10 | call mpi_comm_size(mpi_comm_world, nProcs, err) 11 | call mpi_comm_rank(mpi_comm_world, procN, err) 12 | 13 | n_P = n / nProcs 14 | 15 | allocate(X_P(n_P)); allocate(Y_P(n_P)); allocate(Z_P(n_P)) 16 | 17 | call mpi_bcast(a_P,1, mpi_real, 0, mpi_comm_world, err) 18 | call mpi_scatter(X, n_P, mpi_real, X_P, n_P, 19 | mpi_real, 0, mpi_comm_world, err) 20 | call mpi_scatter(Y, n_P, mpi_real, Y_P, n_P, 21 | mpi_real, 0, mpi_comm_world, err) 22 | call axpy(n_P, a_P, X_P, Y_P, Z_P) 23 | 24 | call mpi_gather(Z_P, n_P, mpi_real, Z, n_P, 25 | mpi_real, 0, mpi_comm_world, err) 26 | call mpi_finalize(err) 27 | 28 | end module mpi_coarray 29 | 30 | -------------------------------------------------------------------------------- /CFL_mod.f90: -------------------------------------------------------------------------------- 1 | !CFL_mod 2 | 3 | module CFL_mod 4 | 5 | subroutine fd1d_heat_explicit_cfl( k, t_num, t_min, t_max, x_num, x_min, x_max, cfl ) 6 | 7 | implicit none 8 | 9 | real(kind=DP), intent(inout) :: cfl 10 | real(kind=DP) :: dx 11 | real(kind=DP) :: dt 12 | real(kind=DP), intent(in) :: k 13 | real(kind=DP), intent(in) :: t_max 14 | real(kind=DP), intent(in) :: t_min 15 | integer(kind=SI), intent(in) :: t_num 16 | real(kind=DP), intent(in) :: x_max 17 | real(kind=DP), intent(in) :: x_min 18 | integer(kind=SI), intent(in) :: x_num 19 | 20 | dx = ( x_max - x_min ) / dble( x_num - 1 ) 21 | dt = ( t_max - t_min ) / dble( t_num - 1 ) 22 | 23 | cfl = k * dt / dx / dx 24 | 25 | write ( *, '(a)' ) ' ' 26 | write ( *, '(a,g14.6)' ) ' CFL stability criterion value = ', cfl 27 | 28 | end subroutine fd1d_heat_explicit_cfl 29 | 30 | public :: fd1d_heat_explicit_cfl 31 | 32 | end module CFL_mod 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # modern-fortran 2 | Code and notes from the Fortran Modernisation workshop 3 | 4 | https://www.nag.co.uk/content/fortran-modernization-workshop 5 | 6 | ## References 7 | 8 | * _The Art of Readable Code_, D. Boswell and T. Foucher. O’Reilly, 2011; 9 | * _The Clean Coder_, R. Martin. Prentice Hall, 2011 10 | * _Learning Agile_, A. Stellman and J. Greene. O’Reilly, 2014; 11 | * _Modern Fortran in Practice_, A. Markus. Cambridge University Press, 2012; 12 | * _Modern Fortran_, N. Clerman and W. Spector. Cambridge University Press, 2012; 13 | * _Modern Fortran Explained_, M. Metcalf, J. Reid and M. Cohen. Oxford 14 | University Press, 2011 15 | * _Git Pocket Guide_, R. Silverman. O’Reilly, 2013; 16 | * _Why Programs Fail_, A. Zeller. Morgan Kaufmann, 2009. 17 | * _CUDA Fortran for Scientists and Engineers_, G. Ruetsch and M. Fatica. Morgan Kaufmann, 2013; 18 | * _Refactoring: Improving the Design of Existing Code_. M. Fowler, et al. Addison Wesley, 1999; 19 | * _Managing Projects with GNU Make_, R. Mecklenburg. O'Reilly, 2004; 20 | * _Software Engineering: The Current Practice_, V. Rajlich. CRC Press, 2011; 21 | * _Introduction to Programming with Fortran_, I. Chivers and J. Sleightholme. Springer, 2015; 22 | * _Scientific Software Development in Fortran_, Drew McCormack. Lulu, 2010. 23 | * _Numerical Computing with Modern Fortran_, R. Hanson, SIAM. 2014. 24 | * _Guide to Fortran 2008 Programming_, W. Brainerd. Springer. 2015. 25 | * _Read Me First! A Style Guide for the Computer Industry_, Sun Technical Publications. Prentice Hall, 2009. 26 | * _Programming Models for Parallel Computing_, P. Balaji. MIT Press, 2015. 27 | -------------------------------------------------------------------------------- /t_test01.txt: -------------------------------------------------------------------------------- 1 | 0.000000000000000 2 | 0.4000000000000000 3 | 0.8000000000000000 4 | 1.200000000000000 5 | 1.600000000000000 6 | 2.000000000000000 7 | 2.400000000000000 8 | 2.800000000000000 9 | 3.200000000000000 10 | 3.600000000000000 11 | 4.000000000000000 12 | 4.400000000000000 13 | 4.800000000000000 14 | 5.200000000000000 15 | 5.600000000000000 16 | 6.000000000000000 17 | 6.400000000000000 18 | 6.800000000000000 19 | 7.200000000000000 20 | 7.600000000000000 21 | 8.000000000000000 22 | 8.400000000000000 23 | 8.800000000000001 24 | 9.199999999999999 25 | 9.600000000000000 26 | 10.00000000000000 27 | 10.40000000000000 28 | 10.80000000000000 29 | 11.20000000000000 30 | 11.60000000000000 31 | 12.00000000000000 32 | 12.40000000000000 33 | 12.80000000000000 34 | 13.20000000000000 35 | 13.60000000000000 36 | 14.00000000000000 37 | 14.40000000000000 38 | 14.80000000000000 39 | 15.20000000000000 40 | 15.60000000000000 41 | 16.00000000000000 42 | 16.40000000000000 43 | 16.80000000000000 44 | 17.20000000000000 45 | 17.60000000000000 46 | 18.00000000000000 47 | 18.40000000000000 48 | 18.80000000000000 49 | 19.20000000000000 50 | 19.60000000000000 51 | 20.00000000000000 52 | 20.40000000000000 53 | 20.80000000000000 54 | 21.20000000000000 55 | 21.60000000000000 56 | 22.00000000000000 57 | 22.40000000000000 58 | 22.80000000000000 59 | 23.20000000000000 60 | 23.60000000000000 61 | 24.00000000000000 62 | 24.40000000000000 63 | 24.80000000000000 64 | 25.20000000000000 65 | 25.60000000000000 66 | 26.00000000000000 67 | 26.40000000000000 68 | 26.80000000000000 69 | 27.20000000000000 70 | 27.60000000000000 71 | 28.00000000000000 72 | 28.40000000000000 73 | 28.80000000000000 74 | 29.20000000000000 75 | 29.60000000000000 76 | 30.00000000000000 77 | 30.40000000000000 78 | 30.80000000000000 79 | 31.20000000000000 80 | 31.60000000000000 81 | 32.00000000000000 82 | 32.40000000000000 83 | 32.80000000000000 84 | 33.20000000000000 85 | 33.60000000000000 86 | 34.00000000000000 87 | 34.40000000000000 88 | 34.80000000000000 89 | 35.20000000000000 90 | 35.60000000000000 91 | 36.00000000000000 92 | 36.40000000000000 93 | 36.80000000000000 94 | 37.20000000000000 95 | 37.60000000000000 96 | 38.00000000000000 97 | 38.40000000000000 98 | 38.80000000000000 99 | 39.20000000000000 100 | 39.60000000000000 101 | 40.00000000000000 102 | 40.40000000000000 103 | 40.80000000000000 104 | 41.20000000000000 105 | 41.60000000000000 106 | 42.00000000000000 107 | 42.40000000000000 108 | 42.80000000000000 109 | 43.20000000000000 110 | 43.60000000000000 111 | 44.00000000000000 112 | 44.40000000000000 113 | 44.80000000000000 114 | 45.20000000000000 115 | 45.60000000000000 116 | 46.00000000000000 117 | 46.40000000000000 118 | 46.80000000000000 119 | 47.20000000000000 120 | 47.60000000000000 121 | 48.00000000000000 122 | 48.40000000000000 123 | 48.80000000000000 124 | 49.20000000000000 125 | 49.60000000000000 126 | 50.00000000000000 127 | 50.40000000000000 128 | 50.80000000000000 129 | 51.20000000000000 130 | 51.60000000000000 131 | 52.00000000000000 132 | 52.40000000000000 133 | 52.80000000000000 134 | 53.20000000000000 135 | 53.60000000000000 136 | 54.00000000000000 137 | 54.40000000000000 138 | 54.80000000000000 139 | 55.20000000000000 140 | 55.60000000000000 141 | 56.00000000000000 142 | 56.40000000000000 143 | 56.80000000000000 144 | 57.20000000000000 145 | 57.60000000000000 146 | 58.00000000000000 147 | 58.40000000000000 148 | 58.80000000000000 149 | 59.20000000000000 150 | 59.60000000000000 151 | 60.00000000000000 152 | 60.40000000000000 153 | 60.80000000000000 154 | 61.20000000000000 155 | 61.60000000000000 156 | 62.00000000000000 157 | 62.40000000000000 158 | 62.80000000000000 159 | 63.20000000000000 160 | 63.60000000000000 161 | 64.00000000000000 162 | 64.40000000000001 163 | 64.80000000000000 164 | 65.20000000000000 165 | 65.59999999999999 166 | 66.00000000000000 167 | 66.40000000000001 168 | 66.80000000000000 169 | 67.20000000000000 170 | 67.59999999999999 171 | 68.00000000000000 172 | 68.40000000000001 173 | 68.80000000000000 174 | 69.20000000000000 175 | 69.59999999999999 176 | 70.00000000000000 177 | 70.40000000000001 178 | 70.80000000000000 179 | 71.20000000000000 180 | 71.59999999999999 181 | 72.00000000000000 182 | 72.40000000000001 183 | 72.80000000000000 184 | 73.20000000000000 185 | 73.59999999999999 186 | 74.00000000000000 187 | 74.40000000000001 188 | 74.80000000000000 189 | 75.20000000000000 190 | 75.59999999999999 191 | 76.00000000000000 192 | 76.40000000000001 193 | 76.80000000000000 194 | 77.20000000000000 195 | 77.59999999999999 196 | 78.00000000000000 197 | 78.40000000000001 198 | 78.80000000000000 199 | 79.20000000000000 200 | 79.59999999999999 201 | 80.00000000000000 202 | -------------------------------------------------------------------------------- /fd1d_heat_explicit.f90: -------------------------------------------------------------------------------- 1 | program fd1d_heat_explicit_prb 2 | use Types_mod 3 | implicit none 4 | 5 | integer(kind=SI), parameter :: t_num = 201 6 | integer(kind=SI), parameter :: x_num = 21 7 | 8 | real(kind=DP) :: cfl 9 | real(kind=DP) :: dt 10 | real(kind=DP), dimension(:), allocatable :: h!(1:x_num) 11 | real(kind=DP), dimension(:), allocatable :: h_new!(1:x_num) 12 | ! the "matrix" stores all x-values for all t-values 13 | ! remember Fortran is column major, meaning that rows are contiguous 14 | real(kind=DP), dimension(:,:), allocatable :: hmat!(1:x_num,1: t_num) 15 | 16 | 17 | 18 | integer(kind=SI) :: i 19 | integer(kind=SI) :: j 20 | real(kind=DP) :: k 21 | 22 | real(kind=DP), dimension(:), allocatable :: t!(1:t_num) 23 | real(kind=DP) :: t_max 24 | real(kind=DP) :: t_min 25 | real(kind=DP), dimension(:), allocatable :: x!(1:x_num) 26 | real(kind=DP) :: x_max 27 | real(kind=DP) :: x_min 28 | allocate(h(1:x_num), h_new(1:x_num), hmat(1:x_num, 1:t_num), t(1:t_num), x(1:x_num)) 29 | 30 | write ( *, '(a)' ) ' ' 31 | write ( *, '(a)' ) 'FD1D_HEAT_EXPLICIT_PRB:' 32 | write ( *, '(a)' ) ' FORTRAN77 version.' 33 | write ( *, '(a)' ) ' Test the FD1D_HEAT_EXPLICIT library.' 34 | 35 | write ( *, '(a)' ) ' ' 36 | write ( *, '(a)' ) 'FD1D_HEAT_EXPLICIT_PRB:' 37 | write ( *, '(a)' ) ' Normal end of execution.' 38 | write ( *, '(a)' ) ' ' 39 | 40 | write ( *, '(a)' ) ' ' 41 | write ( *, '(a)' ) 'FD1D_HEAT_EXPLICIT_TEST01:' 42 | write ( *, '(a)' ) ' Compute an approximate solution to the time-dependent' 43 | write ( *, '(a)' ) ' one dimensional heat equation:' 44 | write ( *, '(a)' ) ' ' 45 | write ( *, '(a)' ) ' dH/dt - K * d2H/dx2 = f(x,t)' 46 | write ( *, '(a)' ) ' ' 47 | write ( *, '(a)' ) ' Run a simple test case.' 48 | 49 | ! heat coefficient 50 | k = 0.002_DP 51 | 52 | ! the x-range values 53 | x_min = 0.0_DP 54 | x_max = 1.0_DP 55 | ! x_num is the number of intervals in the x-direction 56 | call r8vec_linspace( x_num, x_min, x_max, x ) 57 | 58 | ! the t-range values. integrate from t_min to t_max 59 | t_min = 0.0_DP 60 | t_max = 80.0_DP 61 | 62 | ! t_num is the number of intervals in the t-direction 63 | dt = ( t_max - t_min ) / dble( t_num - 1 ) 64 | call r8vec_linspace( t_num, t_min, t_max, t ) 65 | 66 | ! get the CFL coefficient 67 | call fd1d_heat_explicit_cfl( k, t_num, t_min, t_max, x_num, x_min, x_max, cfl ) 68 | 69 | if ( 0.5_DP .le. cfl ) then 70 | write ( *, '(a)' ) ' ' 71 | write ( *, '(a)' ) 'FD1D_HEAT_EXPLICIT_CFL - Fatal error!' 72 | write ( *, '(a)' ) ' CFL condition failed.' 73 | write ( *, '(a)' ) ' 0.5 <= K * dT / dX / dX = CFL.' 74 | stop 75 | end if 76 | 77 | ! set the initial condition 78 | do j = 1, x_num 79 | h(j) = 50.0_DP 80 | end do 81 | 82 | ! set the bounday condition 83 | h(1) = 90.0_DP 84 | h(x_num) = 70.0_DP 85 | 86 | ! initialise the matrix to the initial condition 87 | do i = 1, x_num 88 | hmat(i, 1) = h(i) 89 | end do 90 | 91 | ! the main time integration loop 92 | do j = 2, t_num 93 | call fd1d_heat_explicit( x_num, x, t(j-1), dt, cfl, h, h_new ) 94 | 95 | do i = 1, x_num 96 | hmat(i, j) = h_new(i) 97 | h(i) = h_new(i) 98 | end do 99 | end do 100 | 101 | ! write data to files 102 | call r8mat_write( 'h_test01.txt', x_num, t_num, hmat ) 103 | call r8vec_write( 't_test01.txt', t_num, t ) 104 | call r8vec_write( 'x_test01.txt', x_num, x ) 105 | 106 | deallocate(h, h_new, hmat, t, x) 107 | 108 | contains 109 | 110 | use RHS_mod 111 | 112 | subroutine fd1d_heat_explicit( x_num, x, t, dt, cfl, h, h_new ) 113 | implicit none 114 | 115 | integer(kind=SI), intent(in) :: x_num 116 | 117 | real(kind=DP), intent(in) :: cfl 118 | real(kind=DP), intent(in) :: dt 119 | real(kind=DP), intent(in) :: h(x_num) 120 | real(kind=DP), intent(inout) :: h_new(x_num) 121 | integer(kind=SI) :: j 122 | real(kind=DP), intent(in) :: t 123 | real(kind=DP), intent(in) :: x(x_num) 124 | real(kind=DP) :: f(x_num) 125 | 126 | do j = 1, x_num 127 | f(j) = func( j, x_num, x ) 128 | end do 129 | 130 | h_new(1) = 0.0_DP 131 | 132 | do j = 2, x_num - 1 133 | h_new(j) = h(j) + dt * f(j) + cfl * ( h(j-1) - 2.0_DP * h(j) + h(j+1) ) 134 | end do 135 | 136 | ! set the boundary conditions again 137 | h_new(1) = 90.0_DP 138 | h_new(x_num) = 70.0_DP 139 | end subroutine fd1d_heat_explicit 140 | 141 | use CFL_mod 142 | 143 | subroutine r8mat_write( output_filename, m, n, table ) 144 | implicit none 145 | 146 | integer(kind=SI), intent(in) :: m 147 | integer(kind=SI), intent(in) :: n 148 | 149 | integer(kind=SI) :: j 150 | character * ( * ) :: output_filename 151 | integer(kind=SI) :: output_unit 152 | character * ( 30 ) :: string 153 | real(kind=DP), intent(out) :: table(m,n) 154 | 155 | output_unit = 10 156 | open( unit = output_unit, file = output_filename, status = 'replace' ) 157 | 158 | write ( string, '(a1,i8,a1,i8,a1,i8,a1)' ) '(', m, 'g', 24, '.', 16, ')' 159 | 160 | do j = 1, n 161 | write ( output_unit, string ) table(1:m, j) 162 | end do 163 | 164 | close( unit = output_unit ) 165 | end subroutine r8mat_write 166 | 167 | subroutine r8vec_linspace ( n, a_first, a_last, a ) 168 | 169 | implicit none 170 | 171 | integer(kind=SI), intent(in) :: n 172 | real(kind=DP), intent(inout) :: a(n) 173 | real(kind=DP), intent(in) :: a_first 174 | real(kind=DP), intent(in) :: a_last 175 | integer(kind=SI) :: i 176 | 177 | do i = 1, n 178 | a(i) = ( dble( n - i ) * a_first + dble( i - 1 ) * a_last ) / dble( n - 1 ) 179 | end do 180 | 181 | end subroutine r8vec_linspace 182 | 183 | subroutine r8vec_write ( output_filename, n, x ) 184 | 185 | implicit none 186 | 187 | integer(kind=SI) :: m 188 | integer(kind=SI) :: n 189 | 190 | integer(kind=SI) :: j 191 | character * ( * ) :: output_filename 192 | integer(kind=SI) :: output_unit 193 | real(kind=DP) :: x(n) 194 | 195 | output_unit = 11 196 | open( unit = output_unit, file = output_filename, status = 'replace' ) 197 | 198 | do j = 1, n 199 | write ( output_unit, '(2x,g24.16)' ) x(j) 200 | end do 201 | 202 | close ( unit = output_unit ) 203 | end subroutine r8vec_write 204 | 205 | 206 | end program fd1d_heat_explicit_prb 207 | 208 | -------------------------------------------------------------------------------- /h_test01.txt: -------------------------------------------------------------------------------- 1 | 90.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 70.00000000000000 2 | 90.00000000000000 62.80000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 56.40000000000000 70.00000000000000 3 | 90.00000000000000 67.40800000000000 54.09600000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 52.04800000000000 58.70400000000000 70.00000000000000 4 | 90.00000000000000 70.37760000000000 57.04512000000000 51.31072000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.65536000000000 53.52256000000000 60.18880000000000 70.00000000000000 5 | 90.00000000000000 72.39037440000000 59.47650560000000 52.72629760000000 50.41943040000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.20971520000000 51.36314880000000 54.73825280000000 61.19518720000000 70.00000000000000 6 | 90.00000000000000 73.89301657599999 61.44887705599999 54.14816665599999 51.02341017600000 50.13421772800000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.06710886400000 50.51170508800000 52.07408332800000 55.72443852800000 61.94650828800000 70.00000000000000 7 | 90.00000000000000 75.06512662528000 63.09477437440000 55.48447191040000 51.73879066623999 50.37580963840000 50.04294967296000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.02147483648000 50.18790481920000 50.86939533312000 52.74223595520000 56.54738718720000 62.53256331263999 70.00000000000000 8 | 90.00000000000000 76.01377338490880 64.48999030620161 56.72115070074879 52.50125473546240 50.70544837836800 50.13572096655360 50.01374389534720 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00687194767360 50.06786048327680 50.35272418918399 51.25062736773120 53.36057535037440 57.24499515310080 63.00688669245440 70.00000000000000 9 | 90.00000000000000 76.80175531655168 65.69157221764301 57.85681266560205 53.27696341008384 51.09779364085760 50.27900107554816 50.04837851162214 50.00439804651111 50.00000000000000 50.00000000000000 50.00000000000000 50.00219902325555 50.02418925581107 50.13950053777408 50.54889682042879 51.63848170504192 53.92840633280102 57.84578610882151 63.40087765827584 70.00000000000000 10 | 90.00000000000000 77.46993502360436 66.73970775264068 58.89838396048933 54.04518084569727 51.53311434611097 50.46721547599086 50.10810398324293 50.01706442046309 50.00140737488356 50.00000000000000 50.00070368744178 50.00853221023154 50.05405199162146 50.23360773799543 50.76655717305548 52.02259042284863 54.44919198024466 58.36985387632034 63.73496751180219 70.00000000000000 11 | 90.00000000000000 78.04588308934260 67.66415686586063 59.85458257724430 54.79434456256311 51.99588798754015 50.69338743674996 50.19388700083272 50.04118682596719 50.00596726950626 50.00067553994410 50.00298363475314 50.02059341298359 50.09694350041636 50.34669371837498 50.99794399377007 52.39717228128156 54.92729128862215 58.83207843293032 64.02294154467130 70.00000000000000 12 | 90.00000000000000 78.54904810923874 68.48724548501764 60.73437018490355 55.51811462325374 52.47459391529463 50.95034747350930 50.30486308436927 50.07878062385666 50.01554417411387 50.00310748374289 50.00788017344799 50.03939031192833 50.15243154218463 50.47517373675465 51.23729695764732 52.75905731162687 55.36718509245177 59.24362274250882 64.27452405461936 70.00000000000000 13 | 90.00000000000000 78.99357587453159 69.22610222873188 61.54608850121212 56.21338977643477 52.96076168047024 51.23155133035580 50.43907170153005 50.13089134730300 50.03180009711285 50.00861448536724 50.01643615705607 50.06548026129663 50.21953585076502 50.61577566517790 51.48038084023512 53.10669488821738 55.77304425060606 59.61305111436594 64.49678793726579 70.00000000000000 14 | 90.00000000000000 79.39004002802557 69.89408940258146 62.29722930208969 56.87901237765487 53.44825535914227 51.53130516116818 50.59404746940163 50.19779986059481 50.05608990141510 50.01853681606626 50.02962733547263 50.09908393656954 50.29703480274726 50.76565258058409 51.72412767957113 53.43950618882744 56.14861465104484 59.94704470129073 64.69502001401278 70.00000000000000 15 | 90.00000000000000 79.74652301891527 70.50179837056621 62.99439511842792 57.51499954754998 53.93267354171459 51.84480676315459 50.76717069594874 50.27925190847548 50.08942010104098 50.03410276958792 50.04830448161360 50.14020210139540 50.38364821447817 50.92240692335216 51.96633677085730 53.75749977377499 56.49719755921396 60.25089918528310 64.87326150945763 70.00000000000000 16 | 90.00000000000000 80.06932376539068 71.05774121735365 63.64335757643123 58.12206180836360 54.41090049444272 52.16808059078792 50.95588022546317 50.37463974208789 50.13246473335504 50.05634886350112 50.07316717209556 50.18869761925171 50.47814824513136 51.08406168771413 52.20545138058931 54.06103090418180 56.82167878821561 60.52887060867683 65.03466188269535 70.00000000000000 17 | 90.00000000000000 80.36343374509381 71.56884486763032 64.24914569574476 58.70130483369056 54.88076974572787 52.49787884305353 51.15778738768700 50.48314069397347 50.18560365779630 50.08608780060460 50.10475505643531 50.24435207644323 50.57941634647636 51.24901408780770 52.44039212641885 54.35065277952302 57.12457284787238 60.78442243381517 65.18171687254691 70.00000000000000 18 | 90.00000000000000 80.63286650587547 72.04080957341526 64.81614035489079 59.25404268139984 55.34081588502014 52.83157466619203 51.37072971141596 50.60381578438511 50.24897043507165 50.12390639677177 50.14345258097202 50.30690159645130 50.68646705729179 51.41598378293724 52.67043456305662 54.62702379240148 57.40807029350228 61.02040478670763 65.31643325293774 70.00000000000000 19 | 90.00000000000000 80.88089100560805 72.47837364187470 65.34816324930152 59.78168136207544 55.79009126983665 53.16706147068869 51.59278764029443 50.73567772925468 50.32250045459599 50.17018166797181 50.18950148698131 50.37605885896689 50.79845146202938 51.58396268036889 52.89511886680877 54.89085011936338 57.67408245097573 61.23918685807556 65.44044550280402 70.00000000000000 20 | 90.00000000000000 81.11020032741880 72.88551187264595 65.84855637101259 60.28564673647137 56.22803056362572 53.50266338068987 51.82228009448787 50.87773617289662 50.40597517076703 50.22510602177459 50.24301750393365 50.45152613291150 50.91464941891802 51.75216907016101 53.11418288796548 55.14285046466185 57.92428151513172 61.44275621411672 65.55510017559362 70.00000000000000 21 | 90.00000000000000 81.32303591711747 73.26558641765058 66.32025104848208 60.76734064421395 56.65435024039686 53.83705822764470 52.05774869116331 51.02902670712435 50.49906056377092 50.28871582374307 50.30400859091566 50.53300282316067 51.03445625579369 51.92000720346068 53.32751209081089 55.38373477626937 58.16013548265656 61.63279437811413 65.66151805173105 70.00000000000000 22 | 90.00000000000000 81.52128058381048 73.62146293934606 66.76582703725020 61.22811504435828 57.06897372553764 54.16921262005135 52.29793670794489 51.18862857614372 50.60133941283510 50.36091982604721 50.37239305973883 50.62018976728483 51.15736746060456 52.08703246415931 53.53510178620554 55.61419174296656 58.38293810315908 61.81073510712512 65.76064069961970 70.00000000000000 23 | 90.00000000000000 81.70652915076251 73.95560109690400 67.18756268819547 61.66925766006109 57.47197539380463 54.49832788193289 52.54176639764258 51.35567464606134 50.71233767732173 50.44152552860066 50.44801657137224 50.71279168273243 51.28296339987977 52.25292184607658 53.73702838931428 55.83488179206464 58.59383430916661 61.97780985545425 65.85326588614313 70.00000000000000 24 | 90.00000000000000 81.88014284528379 74.27012578335200 67.58747736997920 62.09198494386202 57.86353851520774 54.82379541075895 52.78831671210948 51.52935617657067 50.83154561972766 50.53026254987831 50.53066747332059 50.81051859658432 51.41089515317560 52.41744923712967 53.93342738435833 56.04643350865715 58.79384167850603 62.13508361046265 65.94007487275690 70.00000000000000 25 | 90.00000000000000 82.04329167497480 74.56688375089088 67.96736728590101 62.49743966305015 58.24392357895350 55.14516002061474 53.03680252430490 51.70892416975332 50.95843441556563 50.62680270773163 50.62009025726346 50.91308673524914 51.54087196193169 52.58046493737754 54.12447633702078 56.24944216323317 58.98386848238051 62.28348339617069 66.02165370954053 70.00000000000000 26 | 90.00000000000000 82.19698780327600 74.84748901780097 68.32883571538549 62.88669135545150 58.61344438719603 55.46208996046399 53.28655584966754 51.89368852186977 51.09246899039881 50.73077687008870 50.71599711436869 51.02021913483214 51.67265044153595 52.74187883312071 54.31038175352291 56.44446952097235 59.16472883266622 62.42382112403618 66.09851002220921 70.00000000000000 27 | 90.00000000000000 82.34211209487567 75.11335957238003 68.67331857697957 63.26073852078863 58.97245000048353 55.77435246156338 53.53700922022712 52.08301581669435 51.23311776197028 50.84178882675753 50.81807768274739 51.13164610642905 51.80602550869785 52.90164668234229 54.49136890457803 56.63204441513057 59.33715538616257 62.55681203821316 66.17108636768690 70.00000000000000 28 | 90.00000000000000 82.47943541731685 75.36574726105049 69.00210607752662 63.62051181227210 59.32131111452671 56.08179383679023 53.78768116832423 52.27632632831313 51.37985988021391 50.95942651994237 50.92600714440876 51.24710561957693 51.94082287553805 53.05975901789151 54.66767395683941 56.81266376248400 59.50181000408852 62.68308969498857 66.23977094459549 70.00000000000000 29 | 90.00000000000000 82.60963587377022 75.60576229232808 69.31636109137281 63.96687775387502 59.66040980892956 56.38432331175679 54.03816367342980 52.47309061372493 51.53219046831877 51.08327099505851 51.03945285663333 51.36634362943068 52.07689291918360 53.21623223280173 54.83953791418235 56.98679382199118 59.65929270786309 62.80321819377477 66.30490624245071 70.00000000000000 30 | 90.00000000000000 82.73331284810226 75.83439345408388 69.61713480767921 64.30064267949177 59.99013187221682 56.68189990658744 54.28811137858888 52.67282594630052 51.68962428340546 51.21290342220573 51.15807970822454 51.48911435485646 52.21410572682047 53.37110147048573 55.00720198663938 57.15487157497137 59.81014921987581 62.91770221385934 66.36679606929019 70.00000000000000 31 | 90.00000000000000 82.85099853062366 76.05252489332027 69.90538009350873 64.62255670218377 60.31086110154340 56.97452180662930 54.53723236921614 52.87509275250638 51.85169813994796 51.34791050931566 51.28155438362074 51.61518050696273 52.35234712576487 53.52441499768202 55.17090408973645 57.31730615307455 59.95487733158112 63.02699528952248 66.42571129337946 70.00000000000000 32 | 90.00000000000000 82.96316743688701 76.26095012131766 70.18196294422444 64.93331759520284 60.62297511937581 57.26221776102960 54.78528031184123 53.07949115383481 52.01797237416432 51.48788859089562 51.40954870331255 51.74431346550998 52.49151552676167 53.67622978812594 55.33087624054722 57.47448026992846 60.09393230100025 63.13150666421548 66.48189455826380 70.00000000000000 33 | 90.00000000000000 83.07024431610097 76.46038376563003 70.44767232920736 65.23357451462510 60.92684235696967 57.54504013196011 55.03204776501946 53.28565767490230 52.18803157301289 51.63244663751502 51.54174219124231 51.87629340120734 52.63151943079770 53.82660808926418 55.48734266517441 57.62675163046944 60.22773144728615 63.23160699408207 66.53556417352392 70.00000000000000 34 | 90.00000000000000 83.17261075879796 76.65147148212547 70.70322868819629 65.52393152484169 61.22281993541635 57.82305928654216 55.27736049360298 53.49326215113518 52.36148474625818 51.78120839406707 51.67782400123838 52.01090934348744 52.77227547203806 53.97561478284618 55.64051846977755 57.77445430295637 60.35665808087950 63.32763311652877 66.58691734057487 70.00000000000000 35 | 90.00000000000000 83.27061074744742 76.83479835660333 70.94929128998015 65.80495090849905 61.51125223639271 58.09635908044136 55.52107263775383 53.70200485116424 52.53796508311767 51.93381382106305 51.81749431646326 52.14795919510394 52.91370689036046 54.12331538320562 55.79060875657673 57.91790004527455 60.48106488335186 63.41989205681575 66.63613283989616 70.00000000000000 36 | 90.00000000000000 83.36455534319414 77.01089606035403 71.18646462922561 66.07715625549898 61.79247000156231 58.36503322868578 55.76306260770517 53.91161381709801 52.71712940503510 52.08991998344860 51.96046531910021 52.28724969642101 53.05574234558883 54.26977454497393 55.93780808948128 58.05737958107598 60.60127683067557 63.50866441189304 66.68337328054366 70.00000000000000 37 | 90.00000000000000 83.45472666286318 77.18024897290177 71.41530400759419 66.34103533383177 62.06678983550155 58.62918239729247 56.00322959342467 54.12184241823217 52.89865740198755 52.24920150576479 52.10646181243435 52.42859634341205 53.19831500165836 54.41505497541305 56.08230023254923 58.19316382363755 60.71759373679329 63.59420722387165 66.72878699280149 70.00000000000000 38 | 90.00000000000000 83.54138126995932 77.34329944479099 71.63632042088864 66.59704274997007 62.33451401474031 58.88891188028168 56.24149059460077 54.33246710909549 53.08225072039455 52.41135069069033 52.25522156421296 52.57182326413800 53.34136182262104 54.55921666609512 56.22425809941392 58.32550504669912 60.83029248044853 63.67675643406412 66.77250962904746 70.00000000000000 39 | 90.00000000000000 83.62475307951847 77.50045234119609 71.84998485384345 66.84560240939049 62.59593052698708 59.14432975189055 56.47777789065697 54.54328538007288 53.26763195527350 52.57607737972292 52.40649542866174 52.71676305887656 53.48482303381817 54.70231637484543 56.36384386388317 58.45463800236767 60.93962896680571 63.75652899130181 66.81466552535760 70.00000000000000 40 | 90.00000000000000 83.70505585780940 77.65207898150641 72.05673206757135 67.08710978924634 62.85131328132528 59.39554540432670 56.71203688286481 54.75411388752399 53.45454358703311 52.74310861955953 52.56004729467006 52.86325660918913 53.62864171096558 54.84440730220879 56.50120919170613 58.58078098667280 61.04583986602429 63.83372467436091 66.85536886634532 70.00000000000000 41 | 90.00000000000000 83.78248538289343 77.79852056946415 72.25696395096656 67.32193403577560 63.10092244322048 59.64266839809844 56.94422425122355 54.96478674987597 53.64274689359865 52.91218818518644 52.71565389928079 53.01115286111149 53.77276346759494 54.98553891765011 56.63649556145631 58.70413685367594 61.14914416329953 63.90852767712821 66.89472468767980 70.00000000000000 42 | 90.00000000000000 83.85722132007017 77.94009119184228 72.45105249602469 67.55041989901906 63.34500485839907 59.88580756553753 57.17430637779229 55.17515399629846 53.83202086091548 53.08307600038854 52.87310453855643 53.16030858740037 53.91713621753789 55.12575689965044 56.76983464894861 58.82489397924521 61.24974454864516 63.98110799607954 66.93282974424575 70.00000000000000 43 | 90.00000000000000 83.92942885661479 78.07708045021357 72.63934244764452 67.77288951706247 63.58379453768177 60.12507031917475 57.40225799579274 55.38508015505393 54.02216110886941 53.25554748797089 53.03220070197276 53.31058813341431 54.06170999416990 55.26510316114984 56.90134875486811 58.94322717575828 61.34782866961618 64.05162265231372 66.96977326667393 70.00000000000000 44 | 90.00000000000000 83.99926013244966 78.20975577943986 72.82215367068036 67.98964406144690 63.81751318116135 60.36056212561475 57.62806103023856 55.59444296931130 54.21297884496093 53.42939287513902 53.19275565155346 53.46186315079481 54.20643681216169 55.40361593770611 57.03115125956312 59.05929855910795 61.44357026604487 64.12021677444578 67.00563762474300 70.00000000000000 45 | 90.00000000000000 84.06685549710264 78.33836449759995 72.99978327052870 68.20096525471023 64.04637072507781 60.59238611286928 57.85170360126222 55.80313222901591 54.40429985441003 53.60441647393465 53.35459396285807 53.61401232267498 54.35127056069850 55.54132992052614 57.15934709242322 59.17325836947342 61.53713020251335 64.18702456385260 67.04049891273013 70.00000000000000 46 | 90.00000000000000 84.13234461818894 78.46313562477800 73.17250749812959 68.40711677028976 64.27056589865346 60.82064278506175 58.07317916585766 56.01104870826084 54.59596353253179 53.78043595214227 53.51755104154399 53.76692108370109 54.49616691967582 55.67827642038836 57.28603320607222 59.28524574739013 61.62865741156913 64.25217015986485 67.07442746901567 70.00000000000000 47 | 90.00000000000000 84.19584746247698 78.58428150214201 73.34058346574834 68.60834552427490 64.49028678122772 61.04542982326578 58.29248577757199 56.21810319845853 54.78782196304044 53.95728160647547 53.68147262642571 53.92048133772273 54.64108329239192 55.81448355157918 57.41129904787511 59.39538946670568 61.71828975848648 64.31576841933848 67.10748834000239 70.00000000000000 48 | 90.00000000000000 84.25747516717715 78.70199923780322 73.50425069612281 68.80488286777130 64.70571135245500 61.26684195519159 58.50962544687770 56.42421562844105 54.97973904427344 54.13479564696033 53.84621428765668 54.07459117560182 54.78597874983770 55.94997642745395 57.53522702308619 59.50380862604975 61.80615483658926 64.37792562247829 67.13974169658917 70.00000000000000 49 | 90.00000000000000 84.31733081628080 78.81647200186515 73.66373252438805 68.99694568794257 64.91700803023193 61.48497087965544 58.72460358763841 56.62931426340714 55.17158966406688 54.31283149912336 54.01164092677629 54.22915459521486 54.93081398291942 56.08477736121907 57.65789294543222 59.61061330047406 61.89237070070111 64.43874011470928 67.17124320996516 70.00000000000000 50 | 90.00000000000000 84.37551013445794 78.92787018968549 73.81923736951816 69.18473742513771 65.12433619251486 61.69990523439446 58.93742853732985 56.83333497537226 55.36325892307384 54.49125312875422 54.17762628382769 54.38408122537998 55.07555125990985 56.21890606711139 57.77936647209740 59.71590515493332 61.97704654511107 64.49830289270854 67.20204439229443 70.00000000000000 51 | 90.00000000000000 84.43210210910422 79.03635246955913 73.97095988976996 69.36844901290014 65.32784668035565 61.91173059793231 59.14811114056410 57.03622057846319 55.55464140562706 54.66993439256001 54.34405245550091 54.53928605513281 55.22015438716478 56.35237985840242 57.89971152100937 59.81977802128271 62.06028333148538 64.55669814134482 67.23219290689272 70.00000000000000 52 | 90.00000000000000 84.48718954953644 79.14206672868103 74.11908203470415 69.54825974708424 65.52768228039442 62.12052951794995 59.35666438704963 57.23792022302792 55.74564049675317 54.84875841688255 54.51080942724203 54.69468916950083 55.36458867171059 56.48521383964060 58.01898666906261 59.92231844046010 62.14217437137555 64.61400372716513 67.26173285171173 70.00000000000000 53 | 90.00000000000000 84.54084959101105 79.24515092928216 74.26377400473838 69.72433808978187 65.72397818575293 62.32638156004408 59.56310309645079 57.43838884310695 55.93616774360249 55.02761700575618 54.67779462144981 54.85021549268514 55.50882088474107 56.61742109131804 58.13724553049477 60.02360617150585 62.22280586733527 64.67029165316737 67.29070501930906 70.00000000000000 54 | 90.00000000000000 84.59315415013427 79.34573388518140 74.40519512780631 69.89684241327869 65.91686243481536 62.52936337192106 59.76744364373062 57.63758665233555 56.12614225933310 55.20641007888896 54.84491246322315 55.00579453934773 55.65281922538780 56.74901284574997 58.25453711508176 60.12371466904771 62.30225741613612 64.72562847886644 67.31914713596481 70.00000000000000 55 | 90.00000000000000 84.64417033730639 79.44393596760629 74.54349466151750 70.06592168881926 66.10645632779745 62.72954875902629 59.96970371950513 57.83547868382119 56.31549016735176 55.38504513961803 55.01207396459608 55.16136017452069 55.79655328437087 56.87999865342024 58.37090616616469 60.22271153084690 62.38060247714154 64.78007570906422 67.34709408218460 70.00000000000000 56 | 90.00000000000000 84.69396083106432 79.53986974796192 74.67881252820247 70.23171612455572 66.29287482131765 62.92700876838629 60.16990212073304 58.03203436996984 56.50414408374719 55.56343677248580 55.17919632777897 55.31685038249687 55.93999400731461 57.01038653940267 58.48639347878478 60.32065891696288 62.45790880854251 64.83369015424748 67.37457809648700 70.00000000000000 57 | 90.00000000000000 84.74258421853096 79.63364058423166 74.81127998935854 70.39435775668650 66.47622690141580 63.12181177807529 60.36805856773785 58.22722715862281 56.69204263573479 55.74150616978326 55.34620256759489 55.47220704492882 56.08311365764111 57.14018314973676 58.60103619839949 60.41761394205137 62.53423887386262 64.88652426513853 67.40162896409451 70.00000000000000 58 | 90.00000000000000 84.79009530562527 79.72534715684803 74.94102026526288 70.55397099745493 66.65661593563347 63.31402359023627 60.56419354412902 58.42103416221546 56.87913001395447 55.91918068618747 55.51302115304203 55.62737572824989 56.22588577904379 57.26939388783823 58.71486810079602 60.51362904226237 62.60965022089131 64.93862644359615 67.42827419191836 70.00000000000000 59 | 90.00000000000000 84.83654540021647 79.81508195914950 75.06814910487158 70.71067314337060 66.83414000488924 63.50370752600905 60.75832815667100 58.61343583698428 57.06535555651254 56.09639342046636 55.67958566771509 55.78230548043742 56.36828515760396 57.39802304117050 58.82791985391876 60.60875231815439 62.68419583499560 64.99004133179371 67.45453917104138 70.00000000000000 60 | 90.00000000000000 84.88198257100576 79.90293174692199 75.19277531056019 70.86457484673687 67.00889221596161 63.69092452106253 60.95048401255943 58.80441568953307 57.25067336272872 56.27308282312073 55.84583448866664 55.93694863705957 56.51028778365196 57.52607389850865 58.94021926239472 60.70302785498818 62.75792446858181 65.04081008137756 67.48044732774888 70.00000000000000 61 | 90.00000000000000 84.92645188457712 79.98897795099302 75.31500122177250 71.01578055331225 67.18096099544199 63.87573322070924 61.14068311191199 58.99396000832412 57.43504193463156 56.44919232876997 56.01171048317769 56.09126063648340 56.65187081349654 57.65354885819805 59.05179149558109 60.79649602170824 62.83088094832649 65.09097060412175 67.50602026403041 70.00000000000000 62 | 90.00000000000000 84.96999562276552 80.07329705638936 75.43492316121579 71.16438890870106 67.35043036604600 64.05819007380860 61.32894775357899 59.18205761789061 57.61842384433747 56.62467001205615 56.17716072282504 56.24519984406977 56.79301253115682 57.78044952785613 59.16265929997920 60.88919374986539 62.90310646166313 65.14055780543804 67.53127788836991 70.00000000000000 63 | 90.00000000000000 85.01265348224018 80.15596095117419 75.55263184686662 71.31049313585615 67.51738020617965 64.23834942485109 61.51530045263219 59.36869965377389 57.80078542554445 56.79946826583222 56.34213621417731 56.39872738513932 56.93369231023274 57.90677681599173 59.27284319686340 60.98115479367709 62.97463882389582 65.18960380196826 67.55623853755334 70.00000000000000 64 | 90.00000000000000 85.05446275798221 80.23703724773688 75.66821277272169 71.45418138588302 67.68188649365099 64.41626360376618 61.69976386810758 59.55387935637513 57.98209648746996 56.97354350041056 56.50659164541472 56.55180698646137 57.07389057604573 58.03253101602779 59.38236166596484 61.07240997236670 63.04551272720901 65.23813812437230 67.58091909014905 70.00000000000000 65 | 90.00000000000000 85.09545851214939 80.31658957901053 75.78174656093817 71.59553706415714 67.84402153440210 64.59198301311856 61.88236073976395 59.73759188207986 58.16233004966060 57.14685586267090 56.67048514814832 56.70440482599344 57.21358876817300 58.15771188321339 59.49123131603358 61.16298739586765 63.11575997275173 65.28618790632861 67.60533507225280 70.00000000000000 66 | 90.00000000000000 85.13567372965714 80.39467787183182 75.89330928775139 71.73463913360546 68.00385417711298 64.76555621245582 62.06311383277852 59.91983413016461 58.34146209619806 57.31936897386039 56.83377807370599 56.85648939058046 57.35276930348846 58.28231870490292 59.59946704307802 61.25291267492365 63.18540968689342 65.33377806067975 67.62950075603617 70.00000000000000 67 | 90.00000000000000 85.17513946166275 80.47135859943019 76.00297278533043 71.87156239685457 68.16145001450029 64.93702999964938 62.24204588943881 60.10060458413177 58.51947134791930 57.49104968495904 56.99643478315522 57.00803134131119 57.49141553981053 58.40635036466632 59.70708217705259 61.34220911656337 63.25448852267472 65.38093144358217 67.65342925159054 70.00000000000000 68 | 90.00000000000000 85.21388495801625 80.54668501483269 76.11080492153008 72.00637775881347 68.31687157210136 65.10644948913429 62.41917958700794 60.27990316624203 58.69633905136001 57.66186784852910 57.15842245034235 57.15900338622107 57.62951174024460 58.52980540067608 59.81408861773244 61.43089790587555 63.32302084740947 65.42766900745447 67.67713259251889 70.00000000000000 69 | 90.00000000000000 85.25193778963231 80.62070736679459 76.21686985931760 72.13915247113491 68.47017848529977 65.27385818700333 62.59453750104328 60.45773110412487 58.87204878321636 57.83179610601523 57.31971087724330 57.30938016002741 57.76704303829514 58.65268205879604 59.92049696048020 61.51899827496061 63.39102891733302 65.47400994346069 67.70062181569223 70.00000000000000 70 | 90.00000000000000 85.28932396164190 80.69347309971002 76.32122829749177 72.26995035988612 68.62142766531215 65.43929806295097 62.76814207353661 60.63409080844804 59.04658626920273 58.00080968951257 57.48027232094123 57.45913811058217 57.90399540380975 58.77497834077468 60.02631661257500 61.60652765988605 63.45853304013470 65.51997181421393 67.72390703555662 70.00000000000000 71 | 90.00000000000000 85.32606801809828 80.76502703881837 76.42393769416780 72.39883203765626 68.77067345482024 65.60280961909395 62.94001558532086 60.80898576071788 59.21993921626038 58.16888623707059 57.64008133156916 57.60825539172990 58.04035560980570 58.89669204792201 60.13155590073843 61.69350184642608 63.52555172616049 65.56557067733824 67.74699751334884 70.00000000000000 72 | 90.00000000000000 85.36219313893726 80.83541156189976 76.52505247437229 72.52585510123242 68.91796777389536 65.76443195571898 63.11018013225529 60.98242041036443 59.39209715714605 58.33600562065087 57.79911460058106 57.75671176226272 58.17611120021866 59.01782082062605 60.23622217045722 61.77993510532104 63.59210182902235 65.61082120048475 67.76990172155382 70.00000000000000 73 | 90.00000000000000 85.39772122982534 80.90466675854297 76.62462422297632 72.65107431588932 69.06336025682677 65.92420283402704 63.27865760475860 61.15440008033963 59.56305130649747 58.50214978590699 57.95735081874152 57.90448849067049 58.31125045860313 59.13836217404166 60.34032187766767 61.86584031774904 63.65819867630590 65.65573676835889 67.79262740391449 70.00000000000000 74 | 90.00000000000000 85.43267300547087 80.97283057797200 76.72270186408981 72.77454178725715 69.20689838043087 66.08215873595705 63.44546967031043 61.32493088052421 59.73279442753800 58.66730260300299 58.11477054325174 58.05156826539167 58.44576237780501 59.25831353026165 60.44386067333338 61.95122909166120 63.72385619102467 65.70032958227972 67.81518163128406 70.00000000000000 75 | 90.00000000000000 85.46706806692056 81.03993896632934 76.81933182794566 72.89630712165919 69.34862758438366 66.23833492118176 63.61063775858576 61.49401962830022 59.90132070864239 58.83144972773380 58.27135607345692 58.19793511027916 58.57963663061886 59.37767224725848 60.54684348141533 62.03611186959261 63.78908700442997 65.74461075275950 67.83757085359177 70.00000000000000 76 | 90.00000000000000 85.50092497331680 81.10602599423575 76.91455820621677 73.01641757574269 69.48859138408723 66.39276548137565 63.77418304892510 61.66167377570108 60.06862564904215 58.99457847225595 58.42709133460864 58.34357430500475 58.71286354143484 59.49643564486399 60.64927457070187 62.12049802852383 63.85390256074746 65.78859038556038 67.85980094817607 70.00000000000000 77 | 90.00000000000000 85.53426130854949 81.17112397537561 77.00842289663113 73.13491819616465 69.62683147654927 66.54548339185918 63.93612645987759 61.82790134260191 60.23470595300142 59.15667768478039 58.58196176918253 58.48847231013562 58.84543405887454 59.61460102803478 60.75115762093678 62.20439597233236 63.91831321437604 65.83227766165727 67.88187726472270 70.00000000000000 78 | 90.00000000000000 85.56709374319801 81.23526357679302 77.10096573768008 73.25185195003701 69.76338783972537 66.69652056072590 64.09648864058349 61.99271085545797 60.39955943184285 59.31773763761981 58.73595423527883 58.63261669662709 58.97733972940937 59.73216570763214 60.85249578365473 62.28781321733975 63.98232832005206 65.87568091150821 67.90380466703050 70.00000000000000 79 | 90.00000000000000 85.59943809212506 81.29847392152648 77.19222463415043 73.36725984678307 69.89829882574526 66.84590787556016 64.25528996378890 62.15611129114129 60.56318491324831 59.47774992302207 58.88905691165939 58.77599607948598 59.10857267195033 59.84912701892808 60.95329173810671 62.37075647142849 64.04595631645009 65.91880768400938 67.92558757181361 70.00000000000000 80 | 90.00000000000000 85.63130936805349 81.36078268415768 77.28223567415321 73.48118105200852 70.03160124841813 66.99367524785259 64.41255052030847 62.31811202546277 60.72558215730167 59.63670735625841 59.04125920899995 58.91860005537006 59.23912555339462 59.96548233803236 61.05354774263252 62.45323170717243 64.10920480366215 65.96166481048776 67.94722998473590 70.00000000000000 81 | 90.00000000000000 85.66272183142972 81.42221617980292 77.37103323826834 73.59365299394589 70.16333046538608 67.13985165521945 64.56829011477197 62.47872278600185 60.88675177877938 59.79460388546954 59.19255168696110 59.06041914389949 59.36899156511084 60.08122909642033 61.15326568181324 62.53524422939637 64.17208061496963 66.00425846406297 67.96873553386101 70.00000000000000 82 | 90.00000000000000 85.69368903685164 81.48279944703243 77.45865010137622 73.70471146298993 70.29352045527190 67.28446518152958 64.72252826250872 62.63795360889709 61.04669517523142 59.95143450780598 59.34292597670408 59.20144473246683 59.49816440034224 60.19636479372702 61.25244710971411 62.61679873755321 64.23458988329605 66.04659421468847 67.99010750069012 70.00000000000000 83 | 90.00000000000000 85.72422387631697 81.54255632516460 77.54511752770260 73.81439070480377 70.42220389014413 67.42754305504045 64.87528418743968 62.79581479927980 61.20541446042829 60.10719519142951 59.49237470850077 59.34166902434288 59.62663823250524 60.31088700895976 61.35109328950676 62.69789938328241 64.29673810270391 66.08867708016342 68.01134884894876 70.00000000000000 84 | 90.00000000000000 85.75433861952678 81.60150952634552 77.63046535956282 73.92272350744031 70.54941220360203 67.56911168464138 65.02657682086075 62.95231689505847 61.36291240278116 60.26188280297193 59.64089144410745 59.48108498988536 59.75440769435873 60.42479341026935 61.44920522973992 62.77854982348908 64.35853018527608 66.13051157338768 68.03246225127384 70.00000000000000 85 | 90.00000000000000 85.78404495146020 81.65968070279305 77.71472210025408 74.02974128289127 70.67517565476287 67.70919669429900 65.17642480101382 63.10747063378646 61.51919236837094 60.41549504007425 59.78847061359301 59.61968632066791 59.88146785801865 60.53808176340853 61.54678371750907 62.85875326926119 64.41997051369995 66.17210174611554 68.05345011394265 70.00000000000000 86 | 90.00000000000000 85.81335400741945 81.71709050955407 77.79791499151045 74.13547414344627 70.79952338841552 67.84782295579618 65.32484647335232 63.26128692236625 61.67425826824897 60.56803036865519 59.93510745633098 59.75746738635618 60.00781421579118 60.65074993899594 61.64382934875758 62.93851253092092 64.48106298985253 66.21345122944723 68.07431459977633 70.00000000000000 87 | 90.00000000000000 85.84227640572830 81.77375866309703 77.88007008590387 74.23995097321698 70.92248349158717 67.98501461985234 65.47185989141882 63.41377680936426 61.82811450969649 60.71948796458145 60.08079796588279 59.89442319416732 60.13344266179750 60.76279591869414 61.74034255592613 63.01783005948676 64.54181107966473 66.25456327128224 68.09505764934259 70.00000000000000 88 | 90.00000000000000 85.87082227825324 81.82970399603722 77.96121231454588 74.34319949515525 71.04408304675356 68.12079514570875 65.61748281826009 63.56495145972804 61.98076595115337 60.86986765943470 60.22553883851742 60.03054935075793 60.25834947436277 60.87421780040145 61.83632363315130 63.09670798480430 64.60221785452538 66.29544077094394 68.11568100057364 70.00000000000000 89 | 90.00000000000000 85.89900129890307 81.88494450826911 78.04136555041811 74.44524633387171 71.16434818190776 68.25518732925951 65.76173272831340 63.71482213171440 62.13221786054729 61.01916989009114 60.36932742512791 60.16584202639451 60.38253129914160 60.98501380254902 61.93177275920031 63.17514815058608 64.66228602946858 66.33608631117150 68.13618620690858 70.00000000000000 90 | 90.00000000000000 85.92682271025123 81.93949741475966 78.12055266763558 74.54611707453809 71.28330411768879 68.38821332980420 65.90462680970448 63.86340015585260 62.28247587677480 61.16739565184888 60.51216168632146 60.30029792126827 60.50598513295291 61.09518226758706 62.02669001831534 63.25315214658503 64.72201799837111 66.37650218766242 68.15657465406197 70.00000000000000 91 | 90.00000000000000 85.95429534841354 81.99337919023725 78.19879559692409 74.64583631813751 71.40097521175750 68.51989469549535 66.04618196690379 64.01069691578030 62.43154597410340 61.31454645485640 60.65404015047321 60.43391423382437 60.62870830829675 61.20472166473718 62.12107541912859 63.33072133811027 64.78141586637278 66.41669043633706 68.17684757551429 70.00000000000000 92 | 90.00000000000000 85.98142766630480 82.04660561099345 78.27611537757259 74.74442773330762 71.51738500059521 68.65025238754994 66.18641482369357 64.15672383080320 62.57943442928097 61.46062428361282 60.79496187454820 60.56668863098316 60.75069847852653 61.31363059208149 62.21492891179748 63.40785689308014 64.84048147971734 66.45665285848520 68.19700606681300 70.00000000000000 93 | 90.00000000000000 86.00822775538764 82.09919179399841 78.35253220610248 74.84191410500443 71.63255623888870 68.77930680329038 66.32534172640268 64.30149234004101 62.72614779115428 61.60563155932595 60.93492640750807 60.69861922013785 60.87195360365024 61.42190777805302 62.30825040349882 63.48455980679359 64.89921645319914 66.49639104394439 68.21705109876794 70.00000000000000 94 | 90.00000000000000 86.03470336601904 82.15115223351627 78.42806548187781 74.93831738019877 71.74651093665427 68.90707779807778 66.46297874737101 64.44501388803299 62.87169285261297 61.74957110492929 61.07393375613132 60.82970452282029 60.99247193673516 61.52955208238679 62.40103977241049 63.56083092458904 64.95762219538784 66.53590639244945 68.23698352961866 70.00000000000000 95 | 90.00000000000000 86.06086192649207 82.20250083539285 78.50273384986482 75.03365871080182 71.85927039424404 69.03358470619609 66.59934168860902 64.58729991168674 63.01607662468859 61.89244611257271 61.21198435308714 60.95994344993257 61.11225201089092 61.63656249658585 62.49329688030004 63.63667096254752 65.01569993179194 66.57520013328389 68.25680411624654 70.00000000000000 96 | 90.00000000000000 86.08671056086285 82.25325094917564 78.57655524073363 75.12795849400349 71.97085523536718 69.15884636074357 66.73444608562176 64.72836182846247 63.15930631265092 62.03426011341441 61.34907902711306 61.08933527844871 61.23129262680663 61.74293814395202 62.58502158383070 63.71208052638654 65.07345072611115 66.61427334335451 68.27651352449959 70.00000000000000 97 | 90.00000000000000 86.11225610564684 82.30341539821410 78.64954690848143 75.22123641019351 72.08128543825124 69.28288111258415 66.86830721136977 64.86821102569374 63.30138929395493 62.17501694955367 61.48521897515690 61.21787962949583 61.34959284081862 61.84867827922667 62.67621374468739 63.78706012868054 65.13087549971715 66.65312696380306 68.29611233869329 70.00000000000000 98 | 90.00000000000000 86.13750512546137 82.35300650787812 78.72172546574375 75.31351145862412 72.19058036505930 69.40570684840901 67.00094008034205 65.00685885095365 63.44233309790295 62.31472074795511 61.62040573635232 61.34557644773066 61.46715195348590 61.95378228788352 62.76687323861777 63.86161020453445 65.18797504949292 66.69176181526045 68.31560107034656 70.00000000000000 99 | 90.00000000000000 86.16246392768710 82.40203613202176 78.79310691694846 75.40480199096166 72.29875878967195 69.52734100795567 67.13235945271919 65.14431660338171 63.58214538689586 62.45337589622552 61.75464116770628 61.47242598193127 61.58396949865146 62.05824968511124 62.85699996347615 63.93573112582782 65.24475006415182 66.73017861184239 68.33498016620811 70.00000000000000 100 | 90.00000000000000 86.18713857621432 82.45051567781121 78.86370668945614 75.49512574286473 72.40583892393545 69.64780060042921 67.26257983860687 65.28059552589423 63.72083393915683 62.59098702011387 61.88792742138444 61.59842876672974 61.70004523296813 62.16208011452088 62.94659384635192 64.00942321413896 65.30120113914913 66.76837797397843 68.35425001562449 70.00000000000000 101 | 90.00000000000000 86.21153490433674 82.49845612902658 78.93353966282051 75.58449986371662 72.51183844247082 69.76710222016806 67.39161550232197 65.41570679820630 63.85840663281905 62.72755896261420 62.02026692348836 61.72358560541553 61.81537912586872 62.26527334660993 63.03565484985784 64.08268675245036 65.35732879029125 66.80636044015979 68.37341095729791 70.00000000000000 102 | 90.00000000000000 86.23565852684973 82.54586806793989 79.00262019629321 75.67294094463121 72.61677450613259 69.88526206159419 67.51948046671571 65.54966153059939 63.99487143127742 62.86309676455948 62.15166235422532 61.84789755374386 61.92997134996089 62.36782927701208 63.12418297764812 64.15552199572984 65.41313346614010 66.84412647768606 68.39246328547839 70.00000000000000 103 | 90.00000000000000 86.25951485140666 82.59276169586410 79.07096215468830 75.76046504484349 72.72066378419986 70.00229593348536 67.64618851751960 65.68247075837358 64.13023636971072 62.99760564660229 62.28211662937818 61.97136590468737 62.04382227182782 62.46974792455923 63.21217827923073 64.22792918047497 65.46861555930353 66.88167649248490 68.41140725563176 70.00000000000000 104 | 90.00000000000000 86.28310908918291 82.63914685246147 79.13857893271421 75.84708771658786 72.82352247537717 70.11821927260496 67.77175320770192 65.81414543692819 64.26450954268813 63.13109099248527 62.41163288298884 62.09399217407338 62.15693244321693 62.57102942918006 63.29964085413401 64.29990853330196 65.52377541669642 66.91901083807386 68.43024308962261 70.00000000000000 105 | 90.00000000000000 86.30644626489352 82.68503303389321 79.20548347787290 75.93282402856087 72.92536632767748 70.23304715672310 67.89618786182329 65.94469643741897 64.39769909278003 63.26355833351133 62.54021445117475 62.21577808705226 62.26930259259920 62.67167404965712 63.38657085548249 64.37146027865444 65.57861334885098 66.95612982372867 68.44897098044777 70.00000000000000 106 | 90.00000000000000 86.32953122620749 82.73042940988681 79.27168831201955 76.01768858805804 73.02621065725477 70.34679431706057 68.01950558038185 66.07413454294390 64.52981320009850 63.39501333412961 62.66786485700326 62.33672556534648 62.38093361708271 62.77168216126270 63.47296849303340 64.44258464570231 65.63312963834895 66.99303372191793 68.46759109655437 70.00000000000000 107 | 90.00000000000000 86.35236865259847 82.77534483979190 79.33720555166938 76.10169556186867 73.12607036624966 70.45947515018553 68.14171924413890 66.20247044521351 64.66086007269898 63.52546177855923 62.79458779635352 62.45683671523224 62.49182657466471 62.87105425329173 63.55883403572083 64.51328187449518 65.68732454744409 67.02972277505951 68.48610358577331 70.00000000000000 108 | 90.00000000000000 86.37496306366886 82.81978788769079 79.40204692713236 76.18485869600681 73.22495995970722 70.57110372939113 68.26284151841769 66.32971474166499 64.79084793777891 63.65490955837812 62.92038712470054 62.57611381620944 62.60198267680697 62.96979092650840 63.64416781375131 64.58355222143103 65.74119832493737 67.06619720165099 68.50450857889743 70.00000000000000 109 | 90.00000000000000 86.39731882698185 82.86376683662508 79.46622380055088 76.26719133435112 73.32289356162194 70.68169381558077 68.38288485736832 66.45587793298230 64.91978503361420 63.78336266100955 63.04526684476021 62.69455931031780 62.71140328132022 63.06789289052167 63.72897022029109 64.65339596409555 65.79475121236371 67.10245720182149 68.52280619293140 70.00000000000000 110 | 90.00000000000000 86.41944016543349 82.90728970199550 79.52974718291070 76.34870643626171 73.41988493016210 70.79125886768597 68.50186150819277 66.58097042098804 65.04767960217850 63.91082715904325 63.16923109493843 62.81217579206015 62.82008988554391 63.16536096110342 63.81324171278231 64.72281340552394 65.84798344954439 67.13850296235017 68.54099653403819 70.00000000000000 111 | 90.00000000000000 86.44133116419461 82.95036424418852 79.59262775009016 76.42941659323751 73.51594747212161 70.89981205264051 68.61978351532508 66.70500250687451 65.17453988239427 64.03730920033298 63.29228413853092 62.92896599889600 62.92804411980815 63.26219605746162 63.89698281392238 64.79180487793316 65.90089527955570 67.17433466119249 68.55907970020580 70.00000000000000 112 | 90.00000000000000 86.46299577725038 82.99299798047899 79.65487585800878 76.50933404467327 73.61109425664475 71.00736625493353 68.73666272456184 66.82798438974501 65.30037410396834 64.16281499881593 63.41443035362440 63.04493280227106 63.03526774116537 63.35839919947995 63.98019411233839 64.86037074596892 65.95348695316027 67.20995247155298 68.57705578365568 70.00000000000000 113 | 90.00000000000000 86.48443783356342 83.03519819625537 79.71650155693189 76.58847069277151 73.70533802826628 71.11393408576218 68.85251078713939 66.94992616543786 65.42519048176810 64.28735082600342 63.53567422365263 63.16007919915031 63.14176262737986 63.45397150493399 64.06287626298547 64.92851140950837 66.00575873274471 67.24535656554018 68.59492487301300 70.00000000000000 114 | 90.00000000000000 86.50566104288455 83.07697195561043 79.77751460498408 76.66683811666115 73.79869121930665 71.21952789180420 68.96733916375419 67.07083782560802 65.54899721069772 64.41092300309586 63.65602032856414 63.27440830402451 63.24753077116372 63.54891418669314 64.14502998729633 64.99622730605667 66.05771089580364 67.28054711743692 68.61268705525754 70.00000000000000 115 | 90.00000000000000 86.52666900123378 83.11832611133772 79.83792448092117 76.74444758577104 73.89116596165931 71.32415976362898 69.08115912852342 67.19072925704350 65.67180246103642 64.53353789367830 63.77547333656161 63.38792334136174 63.35257427464859 63.64322854991675 64.22665607310661 65.06351891277239 66.10934373800725 67.31552430661687 68.63034241747253 70.00000000000000 116 | 90.00000000000000 86.54746519607224 83.15926731437116 79.89774039620643 76.82131007250334 73.98277409800536 71.42784154376491 69.19398177288363 67.30961024119480 65.79361437420408 64.65520189695556 63.89403799637499 63.50062763847749 63.45689534408261 63.73691598925169 64.30775537437891 65.13038674815449 66.16065757588717 67.35028832013560 68.64789104840752 70.00000000000000 117 | 90.00000000000000 86.56805301118477 83.19980202270280 79.95697130643416 76.89743626424898 74.07352719248777 71.53058483443985 69.30581800942522 67.42749045389820 65.91444105892158 64.77592144148930 64.01171913003357 63.61252461879833 63.56049628474308 63.82997798603829 64.38832881074639 65.19683137342076 66.21165274917222 67.38483935502312 68.66533303987011 70.00000000000000 118 | 90.00000000000000 86.58843573129141 83.23993650981106 80.01562592214087 76.97283657478465 74.16343654087602 71.63240100501051 69.41667857566125 67.54437946527433 66.03429058773577 64.89570297940180 64.12852162610413 63.72361779549593 63.66337949605523 63.92241610553042 64.46837736689560 65.26285339360543 66.26232962280405 67.41917762030187 68.68266848796064 70.00000000000000 119 | 90.00000000000000 86.60861654640445 83.27967687263032 80.07371271904134 77.04752115508788 74.25251318024982 71.73330119909571 69.52657403772920 67.66028673978580 66.15317099388125 65.01455298101342 64.24445043336476 63.83391076546953 63.76554746690831 64.01423199413522 64.54790209180588 65.32845345840184 66.31268858865980 67.45330333875337 68.69989749416243 70.00000000000000 120 | 90.00000000000000 86.62859855594731 83.31902903908957 80.13123994772471 77.12149990360481 74.34076789822868 71.83329634142774 69.63551479402460 67.77522163643823 66.27109026845301 65.13247792988355 64.35951055488586 63.94340720365641 63.86700277116051 64.10542737667723 64.62690409786198 65.39363226277368 66.36273006700719 67.48721674845433 68.71702016629955 70.00000000000000 121 | 90.00000000000000 86.64838477264969 83.35799877524730 80.18821564284310 77.19478247600281 74.42821124177274 71.93239714443503 69.74351107876596 67.88919340911060 66.38805635786605 65.24948431822652 64.47370704249170 64.05211085765114 63.96774806332455 64.19600405369100 64.70538455985461 65.45839054735666 66.41245450771555 67.52091810410171 68.73403661937323 70.00000000000000 122 | 90.00000000000000 86.66797812623302 83.39659169204673 80.24464763182355 77.26737829443809 74.51485352557830 72.03061411456899 69.85057296549034 68.00221120700206 66.50407716157966 65.36557864267603 64.58704499157787 64.16002554261561 64.06778607442632 64.28596389874609 64.78334471388291 65.52272909867085 66.46186239124428 67.55440767814503 68.75094697628691 70.00000000000000 123 | 90.00000000000000 86.68738146689884 83.43481325171493 80.30054354313162 77.33929655636631 74.60070484009046 72.12795755838680 69.95671037047926 68.11428407518315 66.61916053006567 65.48076740037378 64.69952953626135 64.26715513646296 64.16711960802922 64.37530885580755 64.86078585617128 65.58664874916221 66.51095422942902 67.58768576174219 68.76775136846970 70.00000000000000 124 | 90.00000000000000 86.70659756863236 83.47266877382712 80.35591081411339 77.41054624292293 74.68577505915356 72.22443758840156 70.06193305611491 68.22542095524031 66.73331426300186 65.59505708535920 64.81116584484184 64.37350357529965 64.26575153641708 64.46404093663487 64.93770934181198 65.65015037709048 66.55973056608386 67.62075266555478 68.78444993640659 70.00000000000000 125 | 90.00000000000000 86.72562913233233 83.51016344105641 80.41075669844084 77.48113612689768 74.77007384731911 72.32006412871047 70.16625063416676 68.33563068600388 66.84654610767251 65.70845418523929 64.92195911555389 64.47907484911073 64.36368479692919 64.55216221822185 65.01411658344443 65.71323490627924 66.60819197743668 67.65360872039666 68.80104283008390 70.00000000000000 126 | 90.00000000000000 86.74447878877768 83.54730230462772 80.46508827318401 77.55107478032635 74.85361066682948 72.41484692041125 70.26967256900862 68.44492200434996 66.95886375755993 65.82096517811860 65.03191457259140 64.58387299767445 64.46092238844093 64.63967484027943 65.09000904988035 65.77590330574247 66.65633907241349 67.68625427774938 68.81753020935713 70.00000000000000 127 | 90.00000000000000 86.76314910144083 83.58409028949372 80.51891244553154 77.62037058172180 74.93639478429465 72.50879552681624 70.37220818076669 68.55330354606792 67.07027485111151 65.93259652977112 65.14103746238668 64.68790210669314 64.55746736798397 64.72658100276341 65.16538826468394 65.83815658920132 66.70417249278626 67.71868971015638 68.83391224424837 70.00000000000000 128 | 90.00000000000000 86.78164256915669 83.62053219924890 80.57223595918032 77.68903172296423 75.01843527707825 72.60191933847348 70.47386664839894 68.66078384678548 67.18078697066863 66.04335469103702 65.24933305012777 64.79116630412814 64.65332284750033 64.81288296344856 65.24025580471493 65.89999581450294 66.75169291319752 67.75091541150738 68.85018911517946 70.00000000000000 129 | 90.00000000000000 86.79996162865605 83.65663272079745 80.62506540041312 77.75706621586987 75.09974103940824 72.69422757800315 70.57465701270648 68.76737134294440 67.29040764154391 66.15324609542817 65.35680661649886 64.89366975672712 64.74849199072466 64.89858303555037 65.31461329864186 65.96142208295305 66.79890104107442 67.78293179722328 68.86636101314697 70.00000000000000 130 | 90.00000000000000 86.81810865697136 83.69239642878921 80.67740720388227 77.82448189845599 75.18032078822634 72.78572930475785 70.67458817927755 68.87307437282011 67.39914433123504 66.26227715692782 65.46346345462928 64.99541666673329 64.84297801018968 64.98368358539543 65.38846242543217 66.02243653857231 66.84579761644322 67.81473930435122 68.88242813984436 70.00000000000000 131 | 90.00000000000000 86.83608597372223 83.72782778983728 80.72926765811607 77.89128644091890 75.26018306878991 72.87643341931407 70.77366892136487 68.97790117757927 67.50700444876395 66.37045426797060 65.56930886723809 65.09641126876605 64.93678416434948 65.06818703014135 65.46180491282526 66.08304036728616 66.89238341165509 67.84633839157847 68.89839070773637 70.00000000000000 132 | 90.00000000000000 86.85389584328793 83.76293116652968 80.78065291076376 77.95748735134072 75.33933626003892 72.96634866780259 70.87190788269723 69.08185990236976 67.61399534413098 66.47778379759006 65.67434816396144 65.19665782686380 65.02991375481618 65.15209583554680 65.53464253579389 66.14323479605673 66.93865923103252 67.87772953917352 68.91424894009020 70.00000000000000 133 | 90.00000000000000 86.87154047687315 83.79771082124722 80.83156897359348 78.02309198113952 75.41778857973986 73.05548364608450 70.96931358022616 69.18495859743814 67.72012430787430 66.58427208972199 65.77858665885135 65.29616063167981 65.12237012370521 65.23541251379207 65.60697711499893 66.20302109196487 66.98462591044539 67.90891324886174 68.93000307096800 70.00000000000000 134 | 90.00000000000000 86.88902203447344 83.83217091979832 80.88202172725741 78.08810753027690 75.49554808941804 73.14384680377954 71.06589440680867 69.28720521926988 67.82539857072599 66.68992546165212 65.88202966803506 65.39492399782283 65.21415665108488 65.31813962135047 65.67881051524184 66.26240056124954 67.03028431682485 67.93989004364251 68.94565334518424 70.00000000000000 135 | 90.00000000000000 86.90634262674590 83.86631553488127 80.93201692583673 78.15254105223583 75.57262269908856 73.23144644815318 71.16165863382693 69.38860763174824 67.92982530335640 66.79475020259831 65.98468250752461 65.49295226133459 65.30527675252601 65.40027975691072 65.75014464391906 66.32137454831117 67.07563534762239 67.97066046755421 68.96120001823193 70.00000000000000 136 | 90.00000000000000 86.92350431679053 83.90014864938369 80.98156020117870 78.21639945878100 75.64902017179637 73.31829074786810 71.25661441374615 69.48917360732803 68.03341161619920 66.89875257241731 66.08655049116739 65.59024977729665 65.39573387674787 65.48183555935029 65.82098144948186 66.37994443468529 67.12067993022099 68.00122508539290 68.97664335618084 70.00000000000000 137 | 90.00000000000000 86.94050912184737 83.93367415952828 81.03065706703703 78.27968952451317 75.72474812797441 73.40438773660613 71.35076978261138 69.58891082822061 68.13616455935022 67.00193880042754 66.18763892872873 65.68682091755967 65.48553150335626 65.56280970575962 65.89132291990485 66.43811163799161 67.16541902130457 68.03158448239003 68.99198363555084 70.00000000000000 138 | 90.00000000000000 86.95735901491410 83.96689587787318 81.07931292302659 78.34241789122841 75.79981404962896 73.48974531656566 71.44413266248465 69.68782688758714 68.23809112253349 67.10431508433918 66.28795312409825 65.78267006858867 65.57467314067043 65.64320490951702 65.96117108116614 66.49587761086400 67.20985360619177 68.06173926385414 69.00722114316311 70.00000000000000 139 | 90.00000000000000 86.97405592628850 83.99981753617537 81.12753305840208 78.40459107209200 75.87422528436053 73.57437126184000 71.53671086382337 69.78592929073717 68.33919823512848 67.20588758928426 66.38749837361229 65.87780162941790 65.66316232363518 65.72302391841383 66.03052799574174 66.55324383986557 67.25398469813884 68.09169005478105 69.02235617597204 70.00000000000000 140 | 90.00000000000000 86.99060174503998 84.03244278812411 81.17532265567031 78.46621545563715 75.94798904922803 73.65827322168126 71.62851208780111 69.88322545632998 68.43949276625311 67.30666244693938 66.48627996448512 65.97222000970963 65.75100261181481 65.80226951282960 66.09939576111644 66.61021184439339 67.29781333761690 68.12143749943665 69.03738904087987 70.00000000000000 141 | 90.00000000000000 87.00699832041411 84.06477521195198 81.22268679404492 78.52729730959685 76.02111243446399 73.74145872365457 71.71954392857199 69.97972271757614 68.53898152489732 67.40664575473441 66.58430317334233 66.06592962791144 65.83819758746588 65.88094450395666 66.16777650831328 66.66678317557628 67.34134059156770 68.15098226091617 69.05232005453648 70.00000000000000 142 | 90.00000000000000 87.02324746317372 84.09681831292960 81.26963045275180 78.58784278457772 76.09360240704748 73.82393517668716 71.80981387547975 70.07542832343759 68.63767126010241 67.50584357514109 66.68157326484992 66.15893490950675 65.92475085368551 65.95905173207373 66.23567240044332 66.72295941516937 67.38456755264195 68.18032502068316 69.06714954312631 70.00000000000000 143 | 90.00000000000000 87.03935094688001 84.12857552575082 81.31615851419299 78.64785791758375 76.16546581414185 73.90570987401610 71.89932931521263 70.17034943982382 68.73556866118204 67.60426193503554 66.77809549043327 66.25124028535377 66.01066603263254 66.03659406486777 66.30308563127738 66.77874217444825 67.42749533842391 68.20946647809178 69.08187784214408 70.00000000000000 144 | 90.00000000000000 87.05531050911706 84.16005021681366 81.36227576697654 78.70734863539730 76.23670938640302 73.98678999603924 71.98809753390532 70.26449315078287 68.83268035798054 67.70190682512970 66.87387508708056 66.34285019010842 66.09594676381860 66.11357439580357 66.37001842384099 66.83413309310579 67.47012509064542 68.23840734989480 69.09650529616124 70.00000000000000 145 | 90.00000000000000 87.07112785266251 84.19124568640287 81.40798690881905 78.76632075782449 76.30733974116478 74.06718261307279 72.07612571918899 70.35786645968531 68.92901292116501 67.79878419946624 66.96891727622520 66.43376906072676 66.18059670246653 66.18999564254035 66.43647302903375 66.88913383815374 67.51245797439255 68.26714836974026 69.11103225858439 70.00000000000000 146 | 90.00000000000000 87.08680464660742 84.22216517077914 81.45329654932762 78.82478000081164 76.37736338550646 74.14689468801942 72.16342096219063 70.45047629039999 69.02457286254790 67.89489997497272 67.06322726270284 66.52400133504298 66.26461951793343 66.26586074539462 66.50245172427427 66.94374610283177 67.55449517730740 68.29569028765911 69.12545909140727 70.00000000000000 147 | 90.00000000000000 87.10234252742799 84.25281184417970 81.49820921266699 78.88273197943910 76.44678671920826 74.22593307895005 72.24999025948284 70.54232948846033 69.11936663543651 67.99026003107042 67.15681023377805 66.61355145041908 66.34801889219607 66.34117266584852 66.56795681217118 66.99797160552556 67.59623790878774 68.32403386954597 69.13978616495753 70.00000000000000 148 | 90.00000000000000 87.11774310001158 84.28318882073509 81.54272934011813 78.94018221079816 76.51561603759950 74.30430454160317 72.33584051498514 70.63343282221990 69.21340063500698 68.08487020933401 67.24967135823674 66.70242384246258 66.43079851839622 66.41593438510299 66.63299061922133 67.05181208869605 67.63768739918648 68.35217989663504 69.15401385763943 70.00000000000000 149 | 90.00000000000000 87.13300793863939 84.31329915630614 81.58686129253317 78.99713611675698 76.58385753430424 74.38201573180423 72.42097854181803 70.72379298399665 69.30668119869976 68.17873631319823 67.34181578554013 66.79062294380907 66.51296209944361 66.49014890267469 66.69755549453537 67.10526931782108 67.67884489901309 68.38012916497290 69.16814255567340 70.00000000000000 150 | 90.00000000000000 87.14813858792814 84.34314585024543 81.63060935269215 79.05359902662049 76.65151730388911 74.45907320780866 72.50541106411077 70.81341659120449 69.39921460663427 68.27186410770813 67.43324864503678 66.87815318296606 66.59451334667450 66.56381923503616 66.76165380859138 67.15834508035110 67.71971167813878 68.40788248488992 69.18217265283376 70.00000000000000 151 | 90.00000000000000 87.16313656373268 84.37273184708685 81.67397772756627 79.10957617968938 76.71860134441741 74.53548343257108 72.58914471876409 70.90231018747203 69.49100708204037 68.36425931930967 67.52397504522898 66.96501898321539 66.67545597856353 66.63694841429810 66.82528795201682 67.21104118468004 67.76028902500708 68.43544068047159 69.19610455018493 70.00000000000000 152 | 90.00000000000000 87.17800335401155 84.40206003816694 81.71697055049225 79.16507272772296 76.78511555991362 74.61125277594367 72.67218605716887 70.99048024374736 69.58206479170468 68.45592763567767 67.61400007309045 67.05122476157115 66.75579371948719 66.70953948693302 66.88846033439906 67.26335945913246 67.80057824585107 68.46280458903121 69.20993865581748 70.00000000000000 153 | 90.00000000000000 87.19274041965758 84.43113326318131 81.75959188326198 79.22009373731014 76.85106576274222 74.68638751680612 72.75454154688192 71.07793315938858 69.67239384642970 68.54687470557840 67.70332879343218 67.13677492779046 66.83553029853672 66.78159551253948 66.95117338312461 67.31530175096772 67.84058066391876 68.48997506058517 69.22367538458428 70.00000000000000 154 | 90.00000000000000 87.20734919529475 84.45995431167952 81.80184571813157 79.27464419215299 76.91645767590440 74.76089384512993 72.83621757325980 71.16467526323960 69.76200030150413 68.63710613876403 67.79196624831361 67.22167388343462 66.91466944837880 66.85311956264584 67.01342954224717 67.36686992540226 67.88029761870767 68.51695295733164 69.23731515783760 70.00000000000000 155 | 90.00000000000000 87.22183109004357 84.48852592450105 81.84373597975377 79.32872899526659 76.98129693525611 74.83477786397931 72.91722044105178 71.25071281469071 69.85089015718265 68.72662750589673 67.87991745649647 67.30592602097803 66.99321490416212 66.92411471955282 67.07523127138437 67.41806586465036 67.91973046520961 68.54373915313387 69.25085840316765 70.00000000000000 156 | 90.00000000000000 87.23618748825602 84.51685079515552 81.88526652703700 79.38235297109914 77.04558909165088 74.90804559145108 72.99755637595305 71.33605200472367 69.93906935917373 68.81544433850014 67.96718741293866 67.38953572296285 67.07117040246824 66.99458407521389 67.13658104464339 67.46889146698420 67.95888057316641 68.57033453300892 69.26430555414319 70.00000000000000 157 | 90.00000000000000 87.25041975022194 84.54493157114976 81.92644115493481 79.43552086757582 77.10933961301039 74.98070296255565 73.07723152611902 71.42069895694110 70.02654379913416 68.90356212893602 68.05378108832608 67.47250736119683 67.14853968030512 67.06453073015273 67.19748134957501 67.51934864581345 67.99774932633771 68.59673999262229 69.27765705005440 70.00000000000000 158 | 90.00000000000000 87.26452921284782 84.57277085526407 81.96726359616872 79.48823735806975 77.17255388632582 75.05275583104145 73.15625196364181 71.50465972857981 70.11331931516898 68.99098633040424 68.13970342863990 67.55484529599285 67.22532647414170 67.13395779241662 67.25793468615618 67.56943932878491 68.03633812178101 68.62295643778950 69.29091333565871 70.00000000000000 159 | 90.00000000000000 87.27851719030971 84.60037120678035 82.00773752288757 79.54050704330336 77.23523721959288 75.12420997116456 73.23462368598986 71.58794031150818 70.19940169233573 69.07772235696437 68.22495935475743 67.63655387544753 67.30153451898204 67.20286837656531 67.31794356580072 67.61916545690246 68.07464836914498 68.64898478398493 69.30407486092977 70.00000000000000 160 | 90.00000000000000 87.29238497468121 84.62773514266405 82.04786654826631 79.59233445318296 77.29739484368316 75.19507107940572 73.31235261741162 71.67054663320714 70.28479666315208 69.16377558357698 68.30955376208449 67.71763743475775 67.37716754747764 67.27126560269399 67.37751051039794 67.66852898366751 68.11268148997615 68.67482595585849 69.31714208080990 70.00000000000000 161 | 90.00000000000000 87.30613383653774 84.65486513870226 82.08765422804692 79.64372404856969 77.35903191415431 75.26534477613639 73.38944461030430 71.75248455773496 70.36950990810567 69.24915134616342 68.39349152021752 67.79810029557267 67.45222928907650 67.33915259549002 67.43663805137894 67.71753187424001 68.15043891703974 68.70048088676060 69.33011545496629 70.00000000000000 162 | 90.00000000000000 87.31976502553832 84.68176363059990 82.12710406202392 79.69468022298949 77.42015351300149 75.33503660723585 73.46590544654838 71.83375988667578 70.45354705616552 69.33385494168225 68.47677747263386 67.87794676538024 67.52672346920760 67.40653248332215 67.49532872881002 67.76617610462038 68.18792209365451 68.72595051827574 69.34299544755126 70.00000000000000 163 | 90.00000000000000 87.33327977098577 84.70843301503588 82.16621949547722 79.74520730428435 77.48076465035264 75.40415204566087 73.54174083880913 71.91437836007172 70.53691368529415 69.41789162822141 68.55941643640818 67.95718113692615 67.60065380849950 67.47340839736161 67.55358509051322 67.81446366085198 68.22513247304238 68.75123579976511 69.35578252696669 70.00000000000000 164 | 90.00000000000000 87.34667928236635 84.73487565068108 82.20500392055428 79.79530955620793 77.54087026610942 75.47269649296967 73.61695643180572 71.99434565733887 70.61961532295970 69.50126662510445 68.64141320195417 68.03580768766388 67.67402402203190 67.53978347073425 67.61140969121311 67.86239653824451 68.26207151769273 68.77633768791834 69.36847716563284 70.00000000000000 165 | 90.00000000000000 87.35996474986983 84.76109385917979 82.24346067760402 79.84499117996724 77.60047523153622 75.54067528080193 73.69155780354879 72.07366739816693 70.70165744664736 69.58398511301004 68.72277253278936 68.11383067923454 67.74683781861889 67.60566083770273 67.66880509170993 67.90997674061789 68.29874069874150 68.80125714631478 69.38107983976170 70.00000000000000 166 | 90.00000000000000 87.37313734489068 84.78708992609636 82.28159305646450 79.89425631571308 77.65958435079918 75.60809367231590 73.76555046654761 72.15234914340286 70.78304548436968 69.66605223410336 68.80349916532244 68.19125435697508 67.81909890012273 67.67104363287821 67.72577385807817 67.95720627956690 68.33514149536539 68.82599514499434 69.39359102913494 70.00000000000000 167 | 90.00000000000000 87.38619822051147 84.81286610182835 82.31940429770624 79.94310904398108 77.71820236245698 75.67495686358470 73.83893986898714 72.23039639591856 70.86378481517508 69.74747309217868 68.88359780866118 68.26808294945349 67.89081096079724 67.73593499046044 67.78231856089057 68.00408717374603 68.37127539419114 68.85055266003806 69.40601121688677 70.00000000000000 168 | 90.00000000000000 87.39914851196920 84.83842460248788 82.35689759383327 79.99155338708542 77.77633394090556 75.74126998495261 73.91173139587642 72.30781460146260 70.94388076965414 69.82825275281193 68.96307314444032 68.34432066802995 67.96197768665947 67.80033804350586 67.83844177446667 68.05062144817472 68.40714388871972 68.87493067315863 69.41834088929141 70.00000000000000 169 | 90.00000000000000 87.41198933710503 84.86376761075242 82.39407609044343 80.03959331046717 77.83398369777817 75.80703810235318 73.98393037016838 72.38460914949631 71.02333863044335 69.90839624352252 69.04192982666791 68.41997170644271 68.03260275488887 67.86425592322247 67.89414607614579 68.09681113356254 68.44274847876576 68.89913017130067 69.43058053555568 70.00000000000000 170 | 90.00000000000000 87.42472179679858 84.88889727668638 82.43094288734990 80.08723272399909 77.89115618330266 75.87226621859004 74.05554205385245 72.46078537401442 71.10216363272563 69.98790855394371 69.12017248158932 68.49504024041755 68.10268983325285 67.92769175829118 67.94943404558369 68.14265826565421 68.47809066991191 68.92315214625110 69.44273064761626 70.00000000000000 171 | 90.00000000000000 87.43734697538713 84.91381571853461 82.46750103966532 80.13447548324849 77.94785588761748 75.93695927458205 74.12657164902031 72.53634855435018 71.18036096472783 70.06679463600052 69.19780570756777 68.56953042729981 68.17224257955782 67.99064867421252 68.00430826407265 68.18816488459410 68.51317197297799 68.94699759425941 69.45479171994221 70.00000000000000 172 | 90.00000000000000 87.44986594107044 84.93852502348925 82.50375355885011 80.18132539069995 78.00408724204807 76.00112215057364 74.19702429890563 72.61130391596546 71.25793576821424 70.14505940409478 69.27483407498050 68.64344640570812 68.24126464112476 68.05312979267826 68.05877131388428 68.23333303431008 68.54799390350520 68.97066751566786 69.46676424934221 70.00000000000000 173 | 90.00000000000000 87.46227974630192 84.96302724843071 82.53970341372658 80.22778619693941 78.05985462034485 76.06475966731169 74.26690508889854 72.68565663122592 71.33489313897640 70.22270773529644 69.35126212612991 68.71679229520861 68.30975965428856 68.11513823096706 68.11282577763461 68.27816476191626 68.58255798125481 68.99416291455159 69.47864873477691 70.00000000000000 174 | 90.00000000000000 87.47458942816651 84.98732442064417 82.57535353146001 80.27386160180104 78.11516233988449 76.12787658719009 74.33621904753551 72.75941182016132 71.41123812731865 70.29974446954074 69.42709437516838 68.78957219600900 68.37773124392010 68.17667710136355 68.16647423767112 68.32266211713447 68.61686572972144 69.01748479836873 69.49044567717620 70.00000000000000 175 | 90.00000000000000 87.48679600874608 85.01141853851239 82.61070679850808 80.31955525547862 78.17001466283558 76.19047761536284 74.40497114746523 72.83257455121141 71.48697573853937 70.37617440983051 69.50233530803654 68.86179018867155 68.44518302297045 68.23774951060007 68.21971927548097 68.36682715173403 68.65091867566075 69.04063417761999 69.50215557926143 70.00000000000000 176 | 90.00000000000000 87.49890049547255 85.03531157218579 82.64576606154003 80.36487075960227 78.22441579729008 76.25256740082688 74.47316630639125 72.90514984195758 71.56211093340758 70.45200232244328 69.57698938241381 68.93345033384399 68.51211859203629 68.29835855932048 68.27256347112007 68.41066191898960 68.68471834863115 69.06361206551830 69.51377894537251 70.00000000000000 177 | 90.00000000000000 87.51090388146957 85.05900546423091 82.68053412832658 80.40981166828246 78.27836989836176 76.31415053747570 74.54080938799187 72.97714265984035 71.63664862863500 70.52723293714243 69.65106102768090 69.00455667200787 68.57854153894570 68.35850734156540 68.32500940266245 68.45416847315664 68.71826628054974 69.08641947766776 69.52531628129996 70.00000000000000 178 | 90.00000000000000 87.52280714588294 85.08250213025789 82.71501376860185 80.45438148912196 78.33188106925284 76.37523156512441 74.60790520281822 73.04855792286313 71.71059369734309 70.60187094739236 69.72455464489322 69.07511322324335 68.64445543836389 68.41819894427815 68.37705964566953 68.49734886896429 68.75156400526171 69.10905743175230 69.53676809412167 70.00000000000000 179 | 90.00000000000000 87.53461125420039 85.10580345952798 82.74920771489822 80.49858368419741 78.38495336228986 76.43581497050752 74.67445850917056 73.11940050028234 71.78395096952526 70.67592101057687 69.79747460676498 69.14512398700988 68.70986385141788 68.47743644683082 68.42871677267861 68.54020516112514 68.78461305812353 69.13152694723351 69.54813489204454 70.00000000000000 180 | 90.00000000000000 87.54631715856110 85.12891131554163 82.78311866335548 80.54242167101125 78.43759077992993 76.49590518825005 74.74047401395416 73.18967521328430 71.85672523250405 70.74938774822056 69.86982525766315 69.21459294194207 68.77477032533946 68.53622292056997 68.47998335271021 68.58273940386174 68.81741497559923 69.15382904505785 69.55941718425076 70.00000000000000 181 | 90.00000000000000 87.55792579805532 85.15182753660829 82.81674927450490 80.58589882341539 78.48979727573840 76.55550660181292 74.80595637351449 73.25938683564897 71.92892123138301 70.82227574621291 69.94161091361077 69.28352404565999 68.83917839312606 68.59456142838108 68.53086195079382 68.62495365044924 68.84997129486999 69.17596474737283 69.57061548074878 70.00000000000000 182 | 90.00000000000000 87.56943809901458 85.17455393639825 82.85010217402935 80.62901847250740 78.54157675533888 76.61462354441358 74.87091019445302 73.32854009440084 72.00054366949368 70.89458955503466 70.01283586229921 69.35192123459338 68.90309157321853 68.65245502427155 68.58135512751149 68.66684995277414 68.88228355345626 69.19793507725223 69.58173029222887 70.00000000000000 183 | 90.00000000000000 87.58085497529270 85.19709230447742 82.88317995350037 80.67178390750050 78.59293307733671 76.67326029992229 74.93534003442370 73.39713967044725 72.07159720883708 70.96633368998620 70.08350436310869 69.41978842381930 68.96651336919545 68.70990675297136 68.63146543855875 68.70843036090837 68.91435328885269 69.21974105843005 69.59276212992310 70.00000000000000 184 | 90.00000000000000 87.59217732853814 85.21944440682566 82.91598517109307 80.71419837656805 78.64387005421651 76.73142110373536 74.99925040291079 73.46519019920446 72.14208647052006 71.03751263141767 70.15362064713689 69.48712950691227 69.02944726948337 68.76691964955104 68.68119543432266 68.74969692269867 68.94618203817527 69.24138371504307 69.60371150546993 70.00000000000000 185 | 90.00000000000000 87.60340604845794 85.24161198633922 82.94852035227949 80.75626508766356 78.69439145321503 76.78911014362546 75.06264576198862 73.53269627121148 72.21201603518629 71.10813082496058 70.22318891723486 69.55394835580690 69.09189674708227 68.82349673905631 68.73054765947607 68.79065168337085 68.97777133782046 69.26286407138197 69.61457893078295 70.00000000000000 186 | 90.00000000000000 87.61454201307340 85.26359676331809 82.98078799050151 80.79798720931713 78.74450099716991 76.84633156057033 75.12553052706373 73.59966243273210 72.28139044344212 71.17819268176058 70.29221334805014 69.62024882067196 69.15386525930585 68.87964103615894 68.77952465258808 68.83129668514840 69.00912272313627 69.28418315165059 69.62536491792409 70.00000000000000 187 | 90.00000000000000 87.62558608896822 85.28540043593848 83.01279054782381 80.83936787140902 78.79420236534516 76.90308944956008 75.18790906759972 73.66609318634544 72.35021419627682 71.24770257871133 70.36069808607647 69.68603472979582 69.21535624753599 68.93535554482328 68.82812894575007 68.87163396688521 69.04023772810474 69.30534197973353 69.63606997898086 70.00000000000000 188 | 90.00000000000000 87.63653913152888 85.30702468071131 83.04453045556778 80.88041016592132 78.84349919423437 76.95938786038398 75.24978570782567 73.73199299152485 72.41849175547782 71.31666485868914 70.42864724970981 69.75130988948249 69.27637313699107 68.99064325798793 68.87636306421675 68.91166556371222 69.07111788503570 69.32634157897147 69.64669462594783 70.00000000000000 189 | 90.00000000000000 87.64740198517802 85.32847115292701 83.07601011492685 80.92111714766837 78.89239507834208 77.01523079839744 75.31116472742806 73.79736626520607 72.48622754404049 71.38508383078813 70.49606492931045 69.81607808395798 69.33691933650732 69.04550715726215 68.92422952606208 68.95139350669719 69.10176472427163 69.34718297194446 69.65723937061209 70.00000000000000 190 | 90.00000000000000 87.65817548360073 85.34974148708729 83.10723189756419 80.96149183500667 78.94089357094421 77.07062222526952 75.37205036222723 73.86221738234413 72.55342594657272 71.45296377055602 70.56295518727052 69.88034307528656 69.39699823833308 69.09995021263659 68.97173084184934 68.99081982251778 69.13217977390312 69.36786718026279 69.66770472444259 70.00000000000000 191 | 90.00000000000000 87.66886044996420 85.37083729732420 83.13819814619318 81.00153721052509 78.98899818482829 77.12556605971189 75.43244680483816 73.92655067645987 72.62009130969423 71.52030892023001 70.62932205808701 69.94410860329631 69.45661321793531 69.15397538220755 69.01886951431516 69.02994653314718 69.16236455949490 69.38839522436523 69.67809119848343 70.00000000000000 192 | 90.00000000000000 87.67945769713086 85.39176017780707 83.16891117514132 81.04125622171590 79.03671239301401 77.18006617818955 75.49235820531671 73.99037044017592 72.68622794243069 71.58712348897281 70.69516954843975 70.00737838551382 69.51576763381794 69.20758561191487 69.06564803806697 69.06877565555220 69.19232060382214 69.40876812332455 69.68839930325090 70.00000000000000 193 | 90.00000000000000 87.68996802786538 85.41251170313764 83.19937327089822 81.08065178162742 79.08403962945479 77.23412641561407 75.55178867179096 74.05368092574250 72.75184011660264 71.65341165310875 70.76050163727403 70.07015611710743 69.57446482735163 69.26078383529253 69.11206889929358 69.10730920140331 69.22204942661654 69.42898689466021 69.69862954863419 70.00000000000000 194 | 90.00000000000000 87.70039223503558 85.43309342873390 83.22958669264818 81.11972676949884 79.13098328972100 77.28775056601971 75.61074227107885 74.11648634555326 72.81693206720935 71.71917755635968 70.82532227588783 70.13244547083889 69.63270812261457 69.31357297323177 69.15813457548836 69.14554917679642 69.25155254432228 69.44905255415790 69.70878244379958 70.00000000000000 195 | 90.00000000000000 87.71073110180765 85.45350689120301 83.25955367278782 81.15848403137772 79.17754673166550 77.34094238322305 75.66922302929173 74.17879087265139 72.88150799280750 71.78442531008058 70.88963538802317 70.19425009702277 69.69050082624386 69.36595593375638 69.20384753518483 69.18349758198612 69.28083146986141 69.46896611569584 69.71885849709838 70.00000000000000 196 | 90.00000000000000 87.72098540183572 85.47375360870363 83.28927641742945 81.19692638072104 79.22373327607183 77.39370558146661 75.72723493242485 74.24059864122626 72.94557205588492 71.84915899349483 70.95344486996142 70.25557362349365 69.74784622729712 69.41793561180948 69.24921023770413 69.22115641112980 69.30988771240833 69.48872859107763 69.72885821597808 70.00000000000000 197 | 90.00000000000000 87.73115589944602 85.49383508129816 83.31875710689050 81.23505659897998 79.26954620728590 77.44604383604691 75.78478192693466 74.30191374710058 73.00912838322932 71.91338265392896 71.01675459062243 70.31641965558045 69.80474759712396 69.46951488905181 69.29422513291406 69.25852765204272 69.33872277717337 69.50834098987160 69.73878210689695 70.00000000000000 198 | 90.00000000000000 87.74124334981597 85.51375279129502 83.34799789616959 81.27287743616924 79.31498877383153 77.49796078392747 75.84186792030367 74.36274024820868 73.07218106629202 71.97710030704698 71.07956839166708 70.37679177608780 69.86120818924695 69.52069663367082 69.33889466099932 69.29561328596336 69.36733816519499 69.52780431925628 69.74863067524181 70.00000000000000 199 | 90.00000000000000 87.75124849914816 85.53350820358159 83.37700091540961 81.31039161142128 79.36006418901030 77.54946002433715 75.89849678159288 74.42308216506575 73.13473416154694 72.04031593708382 71.14189008760327 70.43669354528410 69.91723123925166 69.57148370020030 69.38322125224269 69.33241528732898 69.39573537314048 69.54711958387203 69.75840442524905 70.00000000000000 200 | 90.00000000000000 87.76117208483944 85.55310276594786 83.40576827034837 81.34760181352603 79.40477563148640 77.60054511935439 75.95467234198236 74.48294348122842 73.19679169084476 72.10303349707824 71.20372346589491 70.49612850089585 69.97281996468561 69.62187892935030 69.42720732681674 69.36893562356104 69.42391589311489 69.56628778567858 69.76810385992871 70.00000000000000 201 | 90.00000000000000 87.77101483564552 85.57253790940133 83.43430204275705 81.38451070145649 79.44912624585685 77.65121959447758 76.01039839530014 74.54232814374691 73.25835764176225 72.16525690910487 71.26507228707388 70.55510015810827 70.02797756496560 69.67188514784687 69.47085529458566 69.40517625486009 69.45188121247804 69.58530992381824 69.77772948099148 70.00000000000000 202 | -------------------------------------------------------------------------------- /h_test01.txt_bak: -------------------------------------------------------------------------------- 1 | 90.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 70.00000000000000 2 | 90.00000000000000 62.80000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 56.40000000000000 70.00000000000000 3 | 90.00000000000000 67.40800000000000 54.09600000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 52.04800000000000 58.70400000000000 70.00000000000000 4 | 90.00000000000000 70.37760000000000 57.04512000000000 51.31072000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.65536000000000 53.52256000000000 60.18880000000000 70.00000000000000 5 | 90.00000000000000 72.39037440000000 59.47650560000000 52.72629760000000 50.41943040000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.20971520000000 51.36314880000000 54.73825280000000 61.19518720000000 70.00000000000000 6 | 90.00000000000000 73.89301657599999 61.44887705599999 54.14816665599999 51.02341017600000 50.13421772800000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.06710886400000 50.51170508800000 52.07408332800000 55.72443852800000 61.94650828800000 70.00000000000000 7 | 90.00000000000000 75.06512662528000 63.09477437440000 55.48447191040000 51.73879066623999 50.37580963840000 50.04294967296000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.02147483648000 50.18790481920000 50.86939533312000 52.74223595520000 56.54738718720000 62.53256331263999 70.00000000000000 8 | 90.00000000000000 76.01377338490880 64.48999030620161 56.72115070074879 52.50125473546240 50.70544837836800 50.13572096655360 50.01374389534720 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00000000000000 50.00687194767360 50.06786048327680 50.35272418918399 51.25062736773120 53.36057535037440 57.24499515310080 63.00688669245440 70.00000000000000 9 | 90.00000000000000 76.80175531655168 65.69157221764301 57.85681266560205 53.27696341008384 51.09779364085760 50.27900107554816 50.04837851162214 50.00439804651111 50.00000000000000 50.00000000000000 50.00000000000000 50.00219902325555 50.02418925581107 50.13950053777408 50.54889682042879 51.63848170504192 53.92840633280102 57.84578610882151 63.40087765827584 70.00000000000000 10 | 90.00000000000000 77.46993502360436 66.73970775264068 58.89838396048933 54.04518084569727 51.53311434611097 50.46721547599086 50.10810398324293 50.01706442046309 50.00140737488356 50.00000000000000 50.00070368744178 50.00853221023154 50.05405199162146 50.23360773799543 50.76655717305548 52.02259042284863 54.44919198024466 58.36985387632034 63.73496751180219 70.00000000000000 11 | 90.00000000000000 78.04588308934260 67.66415686586063 59.85458257724430 54.79434456256311 51.99588798754015 50.69338743674996 50.19388700083272 50.04118682596719 50.00596726950626 50.00067553994410 50.00298363475314 50.02059341298359 50.09694350041636 50.34669371837498 50.99794399377007 52.39717228128156 54.92729128862215 58.83207843293032 64.02294154467130 70.00000000000000 12 | 90.00000000000000 78.54904810923874 68.48724548501764 60.73437018490355 55.51811462325374 52.47459391529463 50.95034747350930 50.30486308436927 50.07878062385666 50.01554417411387 50.00310748374289 50.00788017344799 50.03939031192833 50.15243154218463 50.47517373675465 51.23729695764732 52.75905731162687 55.36718509245177 59.24362274250882 64.27452405461936 70.00000000000000 13 | 90.00000000000000 78.99357587453159 69.22610222873188 61.54608850121212 56.21338977643477 52.96076168047024 51.23155133035580 50.43907170153005 50.13089134730300 50.03180009711285 50.00861448536724 50.01643615705607 50.06548026129663 50.21953585076502 50.61577566517790 51.48038084023512 53.10669488821738 55.77304425060606 59.61305111436594 64.49678793726579 70.00000000000000 14 | 90.00000000000000 79.39004002802557 69.89408940258146 62.29722930208969 56.87901237765487 53.44825535914227 51.53130516116818 50.59404746940163 50.19779986059481 50.05608990141510 50.01853681606626 50.02962733547263 50.09908393656954 50.29703480274726 50.76565258058409 51.72412767957113 53.43950618882744 56.14861465104484 59.94704470129073 64.69502001401278 70.00000000000000 15 | 90.00000000000000 79.74652301891527 70.50179837056621 62.99439511842792 57.51499954754998 53.93267354171459 51.84480676315459 50.76717069594874 50.27925190847548 50.08942010104098 50.03410276958792 50.04830448161360 50.14020210139540 50.38364821447817 50.92240692335216 51.96633677085730 53.75749977377499 56.49719755921396 60.25089918528310 64.87326150945763 70.00000000000000 16 | 90.00000000000000 80.06932376539068 71.05774121735365 63.64335757643123 58.12206180836360 54.41090049444272 52.16808059078792 50.95588022546317 50.37463974208789 50.13246473335504 50.05634886350112 50.07316717209556 50.18869761925171 50.47814824513136 51.08406168771413 52.20545138058931 54.06103090418180 56.82167878821561 60.52887060867683 65.03466188269535 70.00000000000000 17 | 90.00000000000000 80.36343374509381 71.56884486763032 64.24914569574476 58.70130483369056 54.88076974572787 52.49787884305353 51.15778738768700 50.48314069397347 50.18560365779630 50.08608780060460 50.10475505643531 50.24435207644323 50.57941634647636 51.24901408780770 52.44039212641885 54.35065277952302 57.12457284787238 60.78442243381517 65.18171687254691 70.00000000000000 18 | 90.00000000000000 80.63286650587547 72.04080957341526 64.81614035489079 59.25404268139984 55.34081588502014 52.83157466619203 51.37072971141596 50.60381578438511 50.24897043507165 50.12390639677177 50.14345258097202 50.30690159645130 50.68646705729179 51.41598378293724 52.67043456305662 54.62702379240148 57.40807029350228 61.02040478670763 65.31643325293774 70.00000000000000 19 | 90.00000000000000 80.88089100560805 72.47837364187470 65.34816324930152 59.78168136207544 55.79009126983665 53.16706147068869 51.59278764029443 50.73567772925468 50.32250045459599 50.17018166797181 50.18950148698131 50.37605885896689 50.79845146202938 51.58396268036889 52.89511886680877 54.89085011936338 57.67408245097573 61.23918685807556 65.44044550280402 70.00000000000000 20 | 90.00000000000000 81.11020032741880 72.88551187264595 65.84855637101259 60.28564673647137 56.22803056362572 53.50266338068987 51.82228009448787 50.87773617289662 50.40597517076703 50.22510602177459 50.24301750393365 50.45152613291150 50.91464941891802 51.75216907016101 53.11418288796548 55.14285046466185 57.92428151513172 61.44275621411672 65.55510017559362 70.00000000000000 21 | 90.00000000000000 81.32303591711747 73.26558641765058 66.32025104848208 60.76734064421395 56.65435024039686 53.83705822764470 52.05774869116331 51.02902670712435 50.49906056377092 50.28871582374307 50.30400859091566 50.53300282316067 51.03445625579369 51.92000720346068 53.32751209081089 55.38373477626937 58.16013548265656 61.63279437811413 65.66151805173105 70.00000000000000 22 | 90.00000000000000 81.52128058381048 73.62146293934606 66.76582703725020 61.22811504435828 57.06897372553764 54.16921262005135 52.29793670794489 51.18862857614372 50.60133941283510 50.36091982604721 50.37239305973883 50.62018976728483 51.15736746060456 52.08703246415931 53.53510178620554 55.61419174296656 58.38293810315908 61.81073510712512 65.76064069961970 70.00000000000000 23 | 90.00000000000000 81.70652915076251 73.95560109690400 67.18756268819547 61.66925766006109 57.47197539380463 54.49832788193289 52.54176639764258 51.35567464606134 50.71233767732173 50.44152552860066 50.44801657137224 50.71279168273243 51.28296339987977 52.25292184607658 53.73702838931428 55.83488179206464 58.59383430916661 61.97780985545425 65.85326588614313 70.00000000000000 24 | 90.00000000000000 81.88014284528379 74.27012578335200 67.58747736997920 62.09198494386202 57.86353851520774 54.82379541075895 52.78831671210948 51.52935617657067 50.83154561972766 50.53026254987831 50.53066747332059 50.81051859658432 51.41089515317560 52.41744923712967 53.93342738435833 56.04643350865715 58.79384167850603 62.13508361046265 65.94007487275690 70.00000000000000 25 | 90.00000000000000 82.04329167497480 74.56688375089088 67.96736728590101 62.49743966305015 58.24392357895350 55.14516002061474 53.03680252430490 51.70892416975332 50.95843441556563 50.62680270773163 50.62009025726346 50.91308673524914 51.54087196193169 52.58046493737754 54.12447633702078 56.24944216323317 58.98386848238051 62.28348339617069 66.02165370954053 70.00000000000000 26 | 90.00000000000000 82.19698780327600 74.84748901780097 68.32883571538549 62.88669135545150 58.61344438719603 55.46208996046399 53.28655584966754 51.89368852186977 51.09246899039881 50.73077687008870 50.71599711436869 51.02021913483214 51.67265044153595 52.74187883312071 54.31038175352291 56.44446952097235 59.16472883266622 62.42382112403618 66.09851002220921 70.00000000000000 27 | 90.00000000000000 82.34211209487567 75.11335957238003 68.67331857697957 63.26073852078863 58.97245000048353 55.77435246156338 53.53700922022712 52.08301581669435 51.23311776197028 50.84178882675753 50.81807768274739 51.13164610642905 51.80602550869785 52.90164668234229 54.49136890457803 56.63204441513057 59.33715538616257 62.55681203821316 66.17108636768690 70.00000000000000 28 | 90.00000000000000 82.47943541731685 75.36574726105049 69.00210607752662 63.62051181227210 59.32131111452671 56.08179383679023 53.78768116832423 52.27632632831313 51.37985988021391 50.95942651994237 50.92600714440876 51.24710561957693 51.94082287553805 53.05975901789151 54.66767395683941 56.81266376248400 59.50181000408852 62.68308969498857 66.23977094459549 70.00000000000000 29 | 90.00000000000000 82.60963587377022 75.60576229232808 69.31636109137281 63.96687775387502 59.66040980892956 56.38432331175679 54.03816367342980 52.47309061372493 51.53219046831877 51.08327099505851 51.03945285663333 51.36634362943068 52.07689291918360 53.21623223280173 54.83953791418235 56.98679382199118 59.65929270786309 62.80321819377477 66.30490624245071 70.00000000000000 30 | 90.00000000000000 82.73331284810226 75.83439345408388 69.61713480767921 64.30064267949177 59.99013187221682 56.68189990658744 54.28811137858888 52.67282594630052 51.68962428340546 51.21290342220573 51.15807970822454 51.48911435485646 52.21410572682047 53.37110147048573 55.00720198663938 57.15487157497137 59.81014921987581 62.91770221385934 66.36679606929019 70.00000000000000 31 | 90.00000000000000 82.85099853062366 76.05252489332027 69.90538009350873 64.62255670218377 60.31086110154340 56.97452180662930 54.53723236921614 52.87509275250638 51.85169813994796 51.34791050931566 51.28155438362074 51.61518050696273 52.35234712576487 53.52441499768202 55.17090408973645 57.31730615307455 59.95487733158112 63.02699528952248 66.42571129337946 70.00000000000000 32 | 90.00000000000000 82.96316743688701 76.26095012131766 70.18196294422444 64.93331759520284 60.62297511937581 57.26221776102960 54.78528031184123 53.07949115383481 52.01797237416432 51.48788859089562 51.40954870331255 51.74431346550998 52.49151552676167 53.67622978812594 55.33087624054722 57.47448026992846 60.09393230100025 63.13150666421548 66.48189455826380 70.00000000000000 33 | 90.00000000000000 83.07024431610097 76.46038376563003 70.44767232920736 65.23357451462510 60.92684235696967 57.54504013196011 55.03204776501946 53.28565767490230 52.18803157301289 51.63244663751502 51.54174219124231 51.87629340120734 52.63151943079770 53.82660808926418 55.48734266517441 57.62675163046944 60.22773144728615 63.23160699408207 66.53556417352392 70.00000000000000 34 | 90.00000000000000 83.17261075879796 76.65147148212547 70.70322868819629 65.52393152484169 61.22281993541635 57.82305928654216 55.27736049360298 53.49326215113518 52.36148474625818 51.78120839406707 51.67782400123838 52.01090934348744 52.77227547203806 53.97561478284618 55.64051846977755 57.77445430295637 60.35665808087950 63.32763311652877 66.58691734057487 70.00000000000000 35 | 90.00000000000000 83.27061074744742 76.83479835660333 70.94929128998015 65.80495090849905 61.51125223639271 58.09635908044136 55.52107263775383 53.70200485116424 52.53796508311767 51.93381382106305 51.81749431646326 52.14795919510394 52.91370689036046 54.12331538320562 55.79060875657673 57.91790004527455 60.48106488335186 63.41989205681575 66.63613283989616 70.00000000000000 36 | 90.00000000000000 83.36455534319414 77.01089606035403 71.18646462922561 66.07715625549898 61.79247000156231 58.36503322868578 55.76306260770517 53.91161381709801 52.71712940503510 52.08991998344860 51.96046531910021 52.28724969642101 53.05574234558883 54.26977454497393 55.93780808948128 58.05737958107598 60.60127683067557 63.50866441189304 66.68337328054366 70.00000000000000 37 | 90.00000000000000 83.45472666286318 77.18024897290177 71.41530400759419 66.34103533383177 62.06678983550155 58.62918239729247 56.00322959342467 54.12184241823217 52.89865740198755 52.24920150576479 52.10646181243435 52.42859634341205 53.19831500165836 54.41505497541305 56.08230023254923 58.19316382363755 60.71759373679329 63.59420722387165 66.72878699280149 70.00000000000000 38 | 90.00000000000000 83.54138126995932 77.34329944479099 71.63632042088864 66.59704274997007 62.33451401474031 58.88891188028168 56.24149059460077 54.33246710909549 53.08225072039455 52.41135069069033 52.25522156421296 52.57182326413800 53.34136182262104 54.55921666609512 56.22425809941392 58.32550504669912 60.83029248044853 63.67675643406412 66.77250962904746 70.00000000000000 39 | 90.00000000000000 83.62475307951847 77.50045234119609 71.84998485384345 66.84560240939049 62.59593052698708 59.14432975189055 56.47777789065697 54.54328538007288 53.26763195527350 52.57607737972292 52.40649542866174 52.71676305887656 53.48482303381817 54.70231637484543 56.36384386388317 58.45463800236767 60.93962896680571 63.75652899130181 66.81466552535760 70.00000000000000 40 | 90.00000000000000 83.70505585780940 77.65207898150641 72.05673206757135 67.08710978924634 62.85131328132528 59.39554540432670 56.71203688286481 54.75411388752399 53.45454358703311 52.74310861955953 52.56004729467006 52.86325660918913 53.62864171096558 54.84440730220879 56.50120919170613 58.58078098667280 61.04583986602429 63.83372467436091 66.85536886634532 70.00000000000000 41 | 90.00000000000000 83.78248538289343 77.79852056946415 72.25696395096656 67.32193403577560 63.10092244322048 59.64266839809844 56.94422425122355 54.96478674987597 53.64274689359865 52.91218818518644 52.71565389928079 53.01115286111149 53.77276346759494 54.98553891765011 56.63649556145631 58.70413685367594 61.14914416329953 63.90852767712821 66.89472468767980 70.00000000000000 42 | 90.00000000000000 83.85722132007017 77.94009119184228 72.45105249602469 67.55041989901906 63.34500485839907 59.88580756553753 57.17430637779229 55.17515399629846 53.83202086091548 53.08307600038854 52.87310453855643 53.16030858740037 53.91713621753789 55.12575689965044 56.76983464894861 58.82489397924521 61.24974454864516 63.98110799607954 66.93282974424575 70.00000000000000 43 | 90.00000000000000 83.92942885661479 78.07708045021357 72.63934244764452 67.77288951706247 63.58379453768177 60.12507031917475 57.40225799579274 55.38508015505393 54.02216110886941 53.25554748797089 53.03220070197276 53.31058813341431 54.06170999416990 55.26510316114984 56.90134875486811 58.94322717575828 61.34782866961618 64.05162265231372 66.96977326667393 70.00000000000000 44 | 90.00000000000000 83.99926013244966 78.20975577943986 72.82215367068036 67.98964406144690 63.81751318116135 60.36056212561475 57.62806103023856 55.59444296931130 54.21297884496093 53.42939287513902 53.19275565155346 53.46186315079481 54.20643681216169 55.40361593770611 57.03115125956312 59.05929855910795 61.44357026604487 64.12021677444578 67.00563762474300 70.00000000000000 45 | 90.00000000000000 84.06685549710264 78.33836449759995 72.99978327052870 68.20096525471023 64.04637072507781 60.59238611286928 57.85170360126222 55.80313222901591 54.40429985441003 53.60441647393465 53.35459396285807 53.61401232267498 54.35127056069850 55.54132992052614 57.15934709242322 59.17325836947342 61.53713020251335 64.18702456385260 67.04049891273013 70.00000000000000 46 | 90.00000000000000 84.13234461818894 78.46313562477800 73.17250749812959 68.40711677028976 64.27056589865346 60.82064278506175 58.07317916585766 56.01104870826084 54.59596353253179 53.78043595214227 53.51755104154399 53.76692108370109 54.49616691967582 55.67827642038836 57.28603320607222 59.28524574739013 61.62865741156913 64.25217015986485 67.07442746901567 70.00000000000000 47 | 90.00000000000000 84.19584746247698 78.58428150214201 73.34058346574834 68.60834552427490 64.49028678122772 61.04542982326578 58.29248577757199 56.21810319845853 54.78782196304044 53.95728160647547 53.68147262642571 53.92048133772273 54.64108329239192 55.81448355157918 57.41129904787511 59.39538946670568 61.71828975848648 64.31576841933848 67.10748834000239 70.00000000000000 48 | 90.00000000000000 84.25747516717715 78.70199923780322 73.50425069612281 68.80488286777130 64.70571135245500 61.26684195519159 58.50962544687770 56.42421562844105 54.97973904427344 54.13479564696033 53.84621428765668 54.07459117560182 54.78597874983770 55.94997642745395 57.53522702308619 59.50380862604975 61.80615483658926 64.37792562247829 67.13974169658917 70.00000000000000 49 | 90.00000000000000 84.31733081628080 78.81647200186515 73.66373252438805 68.99694568794257 64.91700803023193 61.48497087965544 58.72460358763841 56.62931426340714 55.17158966406688 54.31283149912336 54.01164092677629 54.22915459521486 54.93081398291942 56.08477736121907 57.65789294543222 59.61061330047406 61.89237070070111 64.43874011470928 67.17124320996516 70.00000000000000 50 | 90.00000000000000 84.37551013445794 78.92787018968549 73.81923736951816 69.18473742513771 65.12433619251486 61.69990523439446 58.93742853732985 56.83333497537226 55.36325892307384 54.49125312875422 54.17762628382769 54.38408122537998 55.07555125990985 56.21890606711139 57.77936647209740 59.71590515493332 61.97704654511107 64.49830289270854 67.20204439229443 70.00000000000000 51 | 90.00000000000000 84.43210210910422 79.03635246955913 73.97095988976996 69.36844901290014 65.32784668035565 61.91173059793231 59.14811114056410 57.03622057846319 55.55464140562706 54.66993439256001 54.34405245550091 54.53928605513281 55.22015438716478 56.35237985840242 57.89971152100937 59.81977802128271 62.06028333148538 64.55669814134482 67.23219290689272 70.00000000000000 52 | 90.00000000000000 84.48718954953644 79.14206672868103 74.11908203470415 69.54825974708424 65.52768228039442 62.12052951794995 59.35666438704963 57.23792022302792 55.74564049675317 54.84875841688255 54.51080942724203 54.69468916950083 55.36458867171059 56.48521383964060 58.01898666906261 59.92231844046010 62.14217437137555 64.61400372716513 67.26173285171173 70.00000000000000 53 | 90.00000000000000 84.54084959101105 79.24515092928216 74.26377400473838 69.72433808978187 65.72397818575293 62.32638156004408 59.56310309645079 57.43838884310695 55.93616774360249 55.02761700575618 54.67779462144981 54.85021549268514 55.50882088474107 56.61742109131804 58.13724553049477 60.02360617150585 62.22280586733527 64.67029165316737 67.29070501930906 70.00000000000000 54 | 90.00000000000000 84.59315415013427 79.34573388518140 74.40519512780631 69.89684241327869 65.91686243481536 62.52936337192106 59.76744364373062 57.63758665233555 56.12614225933310 55.20641007888896 54.84491246322315 55.00579453934773 55.65281922538780 56.74901284574997 58.25453711508176 60.12371466904771 62.30225741613612 64.72562847886644 67.31914713596481 70.00000000000000 55 | 90.00000000000000 84.64417033730639 79.44393596760629 74.54349466151750 70.06592168881926 66.10645632779745 62.72954875902629 59.96970371950513 57.83547868382119 56.31549016735176 55.38504513961803 55.01207396459608 55.16136017452069 55.79655328437087 56.87999865342024 58.37090616616469 60.22271153084690 62.38060247714154 64.78007570906422 67.34709408218460 70.00000000000000 56 | 90.00000000000000 84.69396083106432 79.53986974796192 74.67881252820247 70.23171612455572 66.29287482131765 62.92700876838629 60.16990212073304 58.03203436996984 56.50414408374719 55.56343677248580 55.17919632777897 55.31685038249687 55.93999400731461 57.01038653940267 58.48639347878478 60.32065891696288 62.45790880854251 64.83369015424748 67.37457809648700 70.00000000000000 57 | 90.00000000000000 84.74258421853096 79.63364058423166 74.81127998935854 70.39435775668650 66.47622690141580 63.12181177807529 60.36805856773785 58.22722715862281 56.69204263573479 55.74150616978326 55.34620256759489 55.47220704492882 56.08311365764111 57.14018314973676 58.60103619839949 60.41761394205137 62.53423887386262 64.88652426513853 67.40162896409451 70.00000000000000 58 | 90.00000000000000 84.79009530562527 79.72534715684803 74.94102026526288 70.55397099745493 66.65661593563347 63.31402359023627 60.56419354412902 58.42103416221546 56.87913001395447 55.91918068618747 55.51302115304203 55.62737572824989 56.22588577904379 57.26939388783823 58.71486810079602 60.51362904226237 62.60965022089131 64.93862644359615 67.42827419191836 70.00000000000000 59 | 90.00000000000000 84.83654540021647 79.81508195914950 75.06814910487158 70.71067314337060 66.83414000488924 63.50370752600905 60.75832815667100 58.61343583698428 57.06535555651254 56.09639342046636 55.67958566771509 55.78230548043742 56.36828515760396 57.39802304117050 58.82791985391876 60.60875231815439 62.68419583499560 64.99004133179371 67.45453917104138 70.00000000000000 60 | 90.00000000000000 84.88198257100576 79.90293174692199 75.19277531056019 70.86457484673687 67.00889221596161 63.69092452106253 60.95048401255943 58.80441568953307 57.25067336272872 56.27308282312073 55.84583448866664 55.93694863705957 56.51028778365196 57.52607389850865 58.94021926239472 60.70302785498818 62.75792446858181 65.04081008137756 67.48044732774888 70.00000000000000 61 | 90.00000000000000 84.92645188457712 79.98897795099302 75.31500122177250 71.01578055331225 67.18096099544199 63.87573322070924 61.14068311191199 58.99396000832412 57.43504193463156 56.44919232876997 56.01171048317769 56.09126063648340 56.65187081349654 57.65354885819805 59.05179149558109 60.79649602170824 62.83088094832649 65.09097060412175 67.50602026403041 70.00000000000000 62 | 90.00000000000000 84.96999562276552 80.07329705638936 75.43492316121579 71.16438890870106 67.35043036604600 64.05819007380860 61.32894775357899 59.18205761789061 57.61842384433747 56.62467001205615 56.17716072282504 56.24519984406977 56.79301253115682 57.78044952785613 59.16265929997920 60.88919374986539 62.90310646166313 65.14055780543804 67.53127788836991 70.00000000000000 63 | 90.00000000000000 85.01265348224018 80.15596095117419 75.55263184686662 71.31049313585615 67.51738020617965 64.23834942485109 61.51530045263219 59.36869965377389 57.80078542554445 56.79946826583222 56.34213621417731 56.39872738513932 56.93369231023274 57.90677681599173 59.27284319686340 60.98115479367709 62.97463882389582 65.18960380196826 67.55623853755334 70.00000000000000 64 | 90.00000000000000 85.05446275798221 80.23703724773688 75.66821277272169 71.45418138588302 67.68188649365099 64.41626360376618 61.69976386810758 59.55387935637513 57.98209648746996 56.97354350041056 56.50659164541472 56.55180698646137 57.07389057604573 58.03253101602779 59.38236166596484 61.07240997236670 63.04551272720901 65.23813812437230 67.58091909014905 70.00000000000000 65 | 90.00000000000000 85.09545851214939 80.31658957901053 75.78174656093817 71.59553706415714 67.84402153440210 64.59198301311856 61.88236073976395 59.73759188207986 58.16233004966060 57.14685586267090 56.67048514814832 56.70440482599344 57.21358876817300 58.15771188321339 59.49123131603358 61.16298739586765 63.11575997275173 65.28618790632861 67.60533507225280 70.00000000000000 66 | 90.00000000000000 85.13567372965714 80.39467787183182 75.89330928775139 71.73463913360546 68.00385417711298 64.76555621245582 62.06311383277852 59.91983413016461 58.34146209619806 57.31936897386039 56.83377807370599 56.85648939058046 57.35276930348846 58.28231870490292 59.59946704307802 61.25291267492365 63.18540968689342 65.33377806067975 67.62950075603617 70.00000000000000 67 | 90.00000000000000 85.17513946166275 80.47135859943019 76.00297278533043 71.87156239685457 68.16145001450029 64.93702999964938 62.24204588943881 60.10060458413177 58.51947134791930 57.49104968495904 56.99643478315522 57.00803134131119 57.49141553981053 58.40635036466632 59.70708217705259 61.34220911656337 63.25448852267472 65.38093144358217 67.65342925159054 70.00000000000000 68 | 90.00000000000000 85.21388495801625 80.54668501483269 76.11080492153008 72.00637775881347 68.31687157210136 65.10644948913429 62.41917958700794 60.27990316624203 58.69633905136001 57.66186784852910 57.15842245034235 57.15900338622107 57.62951174024460 58.52980540067608 59.81408861773244 61.43089790587555 63.32302084740947 65.42766900745447 67.67713259251889 70.00000000000000 69 | 90.00000000000000 85.25193778963231 80.62070736679459 76.21686985931760 72.13915247113491 68.47017848529977 65.27385818700333 62.59453750104328 60.45773110412487 58.87204878321636 57.83179610601523 57.31971087724330 57.30938016002741 57.76704303829514 58.65268205879604 59.92049696048020 61.51899827496061 63.39102891733302 65.47400994346069 67.70062181569223 70.00000000000000 70 | 90.00000000000000 85.28932396164190 80.69347309971002 76.32122829749177 72.26995035988612 68.62142766531215 65.43929806295097 62.76814207353661 60.63409080844804 59.04658626920273 58.00080968951257 57.48027232094123 57.45913811058217 57.90399540380975 58.77497834077468 60.02631661257500 61.60652765988605 63.45853304013470 65.51997181421393 67.72390703555662 70.00000000000000 71 | 90.00000000000000 85.32606801809828 80.76502703881837 76.42393769416780 72.39883203765626 68.77067345482024 65.60280961909395 62.94001558532086 60.80898576071788 59.21993921626038 58.16888623707059 57.64008133156916 57.60825539172990 58.04035560980570 58.89669204792201 60.13155590073843 61.69350184642608 63.52555172616049 65.56557067733824 67.74699751334884 70.00000000000000 72 | 90.00000000000000 85.36219313893726 80.83541156189976 76.52505247437229 72.52585510123242 68.91796777389536 65.76443195571898 63.11018013225529 60.98242041036443 59.39209715714605 58.33600562065087 57.79911460058106 57.75671176226272 58.17611120021866 59.01782082062605 60.23622217045722 61.77993510532104 63.59210182902235 65.61082120048475 67.76990172155382 70.00000000000000 73 | 90.00000000000000 85.39772122982534 80.90466675854297 76.62462422297632 72.65107431588932 69.06336025682677 65.92420283402704 63.27865760475860 61.15440008033963 59.56305130649747 58.50214978590699 57.95735081874152 57.90448849067049 58.31125045860313 59.13836217404166 60.34032187766767 61.86584031774904 63.65819867630590 65.65573676835889 67.79262740391449 70.00000000000000 74 | 90.00000000000000 85.43267300547087 80.97283057797200 76.72270186408981 72.77454178725715 69.20689838043087 66.08215873595705 63.44546967031043 61.32493088052421 59.73279442753800 58.66730260300299 58.11477054325174 58.05156826539167 58.44576237780501 59.25831353026165 60.44386067333338 61.95122909166120 63.72385619102467 65.70032958227972 67.81518163128406 70.00000000000000 75 | 90.00000000000000 85.46706806692056 81.03993896632934 76.81933182794566 72.89630712165919 69.34862758438366 66.23833492118176 63.61063775858576 61.49401962830022 59.90132070864239 58.83144972773380 58.27135607345692 58.19793511027916 58.57963663061886 59.37767224725848 60.54684348141533 62.03611186959261 63.78908700442997 65.74461075275950 67.83757085359177 70.00000000000000 76 | 90.00000000000000 85.50092497331680 81.10602599423575 76.91455820621677 73.01641757574269 69.48859138408723 66.39276548137565 63.77418304892510 61.66167377570108 60.06862564904215 58.99457847225595 58.42709133460864 58.34357430500475 58.71286354143484 59.49643564486399 60.64927457070187 62.12049802852383 63.85390256074746 65.78859038556038 67.85980094817607 70.00000000000000 77 | 90.00000000000000 85.53426130854949 81.17112397537561 77.00842289663113 73.13491819616465 69.62683147654927 66.54548339185918 63.93612645987759 61.82790134260191 60.23470595300142 59.15667768478039 58.58196176918253 58.48847231013562 58.84543405887454 59.61460102803478 60.75115762093678 62.20439597233236 63.91831321437604 65.83227766165727 67.88187726472270 70.00000000000000 78 | 90.00000000000000 85.56709374319801 81.23526357679302 77.10096573768008 73.25185195003701 69.76338783972537 66.69652056072590 64.09648864058349 61.99271085545797 60.39955943184285 59.31773763761981 58.73595423527883 58.63261669662709 58.97733972940937 59.73216570763214 60.85249578365473 62.28781321733975 63.98232832005206 65.87568091150821 67.90380466703050 70.00000000000000 79 | 90.00000000000000 85.59943809212506 81.29847392152648 77.19222463415043 73.36725984678307 69.89829882574526 66.84590787556016 64.25528996378890 62.15611129114129 60.56318491324831 59.47774992302207 58.88905691165939 58.77599607948598 59.10857267195033 59.84912701892808 60.95329173810671 62.37075647142849 64.04595631645009 65.91880768400938 67.92558757181361 70.00000000000000 80 | 90.00000000000000 85.63130936805349 81.36078268415768 77.28223567415321 73.48118105200852 70.03160124841813 66.99367524785259 64.41255052030847 62.31811202546277 60.72558215730167 59.63670735625841 59.04125920899995 58.91860005537006 59.23912555339462 59.96548233803236 61.05354774263252 62.45323170717243 64.10920480366215 65.96166481048776 67.94722998473590 70.00000000000000 81 | 90.00000000000000 85.66272183142972 81.42221617980292 77.37103323826834 73.59365299394589 70.16333046538608 67.13985165521945 64.56829011477197 62.47872278600185 60.88675177877938 59.79460388546954 59.19255168696110 59.06041914389949 59.36899156511084 60.08122909642033 61.15326568181324 62.53524422939637 64.17208061496963 66.00425846406297 67.96873553386101 70.00000000000000 82 | 90.00000000000000 85.69368903685164 81.48279944703243 77.45865010137622 73.70471146298993 70.29352045527190 67.28446518152958 64.72252826250872 62.63795360889709 61.04669517523142 59.95143450780598 59.34292597670408 59.20144473246683 59.49816440034224 60.19636479372702 61.25244710971411 62.61679873755321 64.23458988329605 66.04659421468847 67.99010750069012 70.00000000000000 83 | 90.00000000000000 85.72422387631697 81.54255632516460 77.54511752770260 73.81439070480377 70.42220389014413 67.42754305504045 64.87528418743968 62.79581479927980 61.20541446042829 60.10719519142951 59.49237470850077 59.34166902434288 59.62663823250524 60.31088700895976 61.35109328950676 62.69789938328241 64.29673810270391 66.08867708016342 68.01134884894876 70.00000000000000 84 | 90.00000000000000 85.75433861952678 81.60150952634552 77.63046535956282 73.92272350744031 70.54941220360203 67.56911168464138 65.02657682086075 62.95231689505847 61.36291240278116 60.26188280297193 59.64089144410745 59.48108498988536 59.75440769435873 60.42479341026935 61.44920522973992 62.77854982348908 64.35853018527608 66.13051157338768 68.03246225127384 70.00000000000000 85 | 90.00000000000000 85.78404495146020 81.65968070279305 77.71472210025408 74.02974128289127 70.67517565476287 67.70919669429900 65.17642480101382 63.10747063378646 61.51919236837094 60.41549504007425 59.78847061359301 59.61968632066791 59.88146785801865 60.53808176340853 61.54678371750907 62.85875326926119 64.41997051369995 66.17210174611554 68.05345011394265 70.00000000000000 86 | 90.00000000000000 85.81335400741945 81.71709050955407 77.79791499151045 74.13547414344627 70.79952338841552 67.84782295579618 65.32484647335232 63.26128692236625 61.67425826824897 60.56803036865519 59.93510745633098 59.75746738635618 60.00781421579118 60.65074993899594 61.64382934875758 62.93851253092092 64.48106298985253 66.21345122944723 68.07431459977633 70.00000000000000 87 | 90.00000000000000 85.84227640572830 81.77375866309703 77.88007008590387 74.23995097321698 70.92248349158717 67.98501461985234 65.47185989141882 63.41377680936426 61.82811450969649 60.71948796458145 60.08079796588279 59.89442319416732 60.13344266179750 60.76279591869414 61.74034255592613 63.01783005948676 64.54181107966473 66.25456327128224 68.09505764934259 70.00000000000000 88 | 90.00000000000000 85.87082227825324 81.82970399603722 77.96121231454588 74.34319949515525 71.04408304675356 68.12079514570875 65.61748281826009 63.56495145972804 61.98076595115337 60.86986765943470 60.22553883851742 60.03054935075793 60.25834947436277 60.87421780040145 61.83632363315130 63.09670798480430 64.60221785452538 66.29544077094394 68.11568100057364 70.00000000000000 89 | 90.00000000000000 85.89900129890307 81.88494450826911 78.04136555041811 74.44524633387171 71.16434818190776 68.25518732925951 65.76173272831340 63.71482213171440 62.13221786054729 61.01916989009114 60.36932742512791 60.16584202639451 60.38253129914160 60.98501380254902 61.93177275920031 63.17514815058608 64.66228602946858 66.33608631117150 68.13618620690858 70.00000000000000 90 | 90.00000000000000 85.92682271025123 81.93949741475966 78.12055266763558 74.54611707453809 71.28330411768879 68.38821332980420 65.90462680970448 63.86340015585260 62.28247587677480 61.16739565184888 60.51216168632146 60.30029792126827 60.50598513295291 61.09518226758706 62.02669001831534 63.25315214658503 64.72201799837111 66.37650218766242 68.15657465406197 70.00000000000000 91 | 90.00000000000000 85.95429534841354 81.99337919023725 78.19879559692409 74.64583631813751 71.40097521175750 68.51989469549535 66.04618196690379 64.01069691578030 62.43154597410340 61.31454645485640 60.65404015047321 60.43391423382437 60.62870830829675 61.20472166473718 62.12107541912859 63.33072133811027 64.78141586637278 66.41669043633706 68.17684757551429 70.00000000000000 92 | 90.00000000000000 85.98142766630480 82.04660561099345 78.27611537757259 74.74442773330762 71.51738500059521 68.65025238754994 66.18641482369357 64.15672383080320 62.57943442928097 61.46062428361282 60.79496187454820 60.56668863098316 60.75069847852653 61.31363059208149 62.21492891179748 63.40785689308014 64.84048147971734 66.45665285848520 68.19700606681300 70.00000000000000 93 | 90.00000000000000 86.00822775538764 82.09919179399841 78.35253220610248 74.84191410500443 71.63255623888870 68.77930680329038 66.32534172640268 64.30149234004101 62.72614779115428 61.60563155932595 60.93492640750807 60.69861922013785 60.87195360365024 61.42190777805302 62.30825040349882 63.48455980679359 64.89921645319914 66.49639104394439 68.21705109876794 70.00000000000000 94 | 90.00000000000000 86.03470336601904 82.15115223351627 78.42806548187781 74.93831738019877 71.74651093665427 68.90707779807778 66.46297874737101 64.44501388803299 62.87169285261297 61.74957110492929 61.07393375613132 60.82970452282029 60.99247193673516 61.52955208238679 62.40103977241049 63.56083092458904 64.95762219538784 66.53590639244945 68.23698352961866 70.00000000000000 95 | 90.00000000000000 86.06086192649207 82.20250083539285 78.50273384986482 75.03365871080182 71.85927039424404 69.03358470619609 66.59934168860902 64.58729991168674 63.01607662468859 61.89244611257271 61.21198435308714 60.95994344993257 61.11225201089092 61.63656249658585 62.49329688030004 63.63667096254752 65.01569993179194 66.57520013328389 68.25680411624654 70.00000000000000 96 | 90.00000000000000 86.08671056086285 82.25325094917564 78.57655524073363 75.12795849400349 71.97085523536718 69.15884636074357 66.73444608562176 64.72836182846247 63.15930631265092 62.03426011341441 61.34907902711306 61.08933527844871 61.23129262680663 61.74293814395202 62.58502158383070 63.71208052638654 65.07345072611115 66.61427334335451 68.27651352449959 70.00000000000000 97 | 90.00000000000000 86.11225610564684 82.30341539821410 78.64954690848143 75.22123641019351 72.08128543825124 69.28288111258415 66.86830721136977 64.86821102569374 63.30138929395493 62.17501694955367 61.48521897515690 61.21787962949583 61.34959284081862 61.84867827922667 62.67621374468739 63.78706012868054 65.13087549971715 66.65312696380306 68.29611233869329 70.00000000000000 98 | 90.00000000000000 86.13750512546137 82.35300650787812 78.72172546574375 75.31351145862412 72.19058036505930 69.40570684840901 67.00094008034205 65.00685885095365 63.44233309790295 62.31472074795511 61.62040573635232 61.34557644773066 61.46715195348590 61.95378228788352 62.76687323861777 63.86161020453445 65.18797504949292 66.69176181526045 68.31560107034656 70.00000000000000 99 | 90.00000000000000 86.16246392768710 82.40203613202176 78.79310691694846 75.40480199096166 72.29875878967195 69.52734100795567 67.13235945271919 65.14431660338171 63.58214538689586 62.45337589622552 61.75464116770628 61.47242598193127 61.58396949865146 62.05824968511124 62.85699996347615 63.93573112582782 65.24475006415182 66.73017861184239 68.33498016620811 70.00000000000000 100 | 90.00000000000000 86.18713857621432 82.45051567781121 78.86370668945614 75.49512574286473 72.40583892393545 69.64780060042921 67.26257983860687 65.28059552589423 63.72083393915683 62.59098702011387 61.88792742138444 61.59842876672974 61.70004523296813 62.16208011452088 62.94659384635192 64.00942321413896 65.30120113914913 66.76837797397843 68.35425001562449 70.00000000000000 101 | 90.00000000000000 86.21153490433674 82.49845612902658 78.93353966282051 75.58449986371662 72.51183844247082 69.76710222016806 67.39161550232197 65.41570679820630 63.85840663281905 62.72755896261420 62.02026692348836 61.72358560541553 61.81537912586872 62.26527334660993 63.03565484985784 64.08268675245036 65.35732879029125 66.80636044015979 68.37341095729791 70.00000000000000 102 | 90.00000000000000 86.23565852684973 82.54586806793989 79.00262019629321 75.67294094463121 72.61677450613259 69.88526206159419 67.51948046671571 65.54966153059939 63.99487143127742 62.86309676455948 62.15166235422532 61.84789755374386 61.92997134996089 62.36782927701208 63.12418297764812 64.15552199572984 65.41313346614010 66.84412647768606 68.39246328547839 70.00000000000000 103 | 90.00000000000000 86.25951485140666 82.59276169586410 79.07096215468830 75.76046504484349 72.72066378419986 70.00229593348536 67.64618851751960 65.68247075837358 64.13023636971072 62.99760564660229 62.28211662937818 61.97136590468737 62.04382227182782 62.46974792455923 63.21217827923073 64.22792918047497 65.46861555930353 66.88167649248490 68.41140725563176 70.00000000000000 104 | 90.00000000000000 86.28310908918291 82.63914685246147 79.13857893271421 75.84708771658786 72.82352247537717 70.11821927260496 67.77175320770192 65.81414543692819 64.26450954268813 63.13109099248527 62.41163288298884 62.09399217407338 62.15693244321693 62.57102942918006 63.29964085413401 64.29990853330196 65.52377541669642 66.91901083807386 68.43024308962261 70.00000000000000 105 | 90.00000000000000 86.30644626489352 82.68503303389321 79.20548347787290 75.93282402856087 72.92536632767748 70.23304715672310 67.89618786182329 65.94469643741897 64.39769909278003 63.26355833351133 62.54021445117475 62.21577808705226 62.26930259259920 62.67167404965712 63.38657085548249 64.37146027865444 65.57861334885098 66.95612982372867 68.44897098044777 70.00000000000000 106 | 90.00000000000000 86.32953122620749 82.73042940988681 79.27168831201955 76.01768858805804 73.02621065725477 70.34679431706057 68.01950558038185 66.07413454294390 64.52981320009850 63.39501333412961 62.66786485700326 62.33672556534648 62.38093361708271 62.77168216126270 63.47296849303340 64.44258464570231 65.63312963834895 66.99303372191793 68.46759109655437 70.00000000000000 107 | 90.00000000000000 86.35236865259847 82.77534483979190 79.33720555166938 76.10169556186867 73.12607036624966 70.45947515018553 68.14171924413890 66.20247044521351 64.66086007269898 63.52546177855923 62.79458779635352 62.45683671523224 62.49182657466471 62.87105425329173 63.55883403572083 64.51328187449518 65.68732454744409 67.02972277505951 68.48610358577331 70.00000000000000 108 | 90.00000000000000 86.37496306366886 82.81978788769079 79.40204692713236 76.18485869600681 73.22495995970722 70.57110372939113 68.26284151841769 66.32971474166499 64.79084793777891 63.65490955837812 62.92038712470054 62.57611381620944 62.60198267680697 62.96979092650840 63.64416781375131 64.58355222143103 65.74119832493737 67.06619720165099 68.50450857889743 70.00000000000000 109 | 90.00000000000000 86.39731882698185 82.86376683662508 79.46622380055088 76.26719133435112 73.32289356162194 70.68169381558077 68.38288485736832 66.45587793298230 64.91978503361420 63.78336266100955 63.04526684476021 62.69455931031780 62.71140328132022 63.06789289052167 63.72897022029109 64.65339596409555 65.79475121236371 67.10245720182149 68.52280619293140 70.00000000000000 110 | 90.00000000000000 86.41944016543349 82.90728970199550 79.52974718291070 76.34870643626171 73.41988493016210 70.79125886768597 68.50186150819277 66.58097042098804 65.04767960217850 63.91082715904325 63.16923109493843 62.81217579206015 62.82008988554391 63.16536096110342 63.81324171278231 64.72281340552394 65.84798344954439 67.13850296235017 68.54099653403819 70.00000000000000 111 | 90.00000000000000 86.44133116419461 82.95036424418852 79.59262775009016 76.42941659323751 73.51594747212161 70.89981205264051 68.61978351532508 66.70500250687451 65.17453988239427 64.03730920033298 63.29228413853092 62.92896599889600 62.92804411980815 63.26219605746162 63.89698281392238 64.79180487793316 65.90089527955570 67.17433466119249 68.55907970020580 70.00000000000000 112 | 90.00000000000000 86.46299577725038 82.99299798047899 79.65487585800878 76.50933404467327 73.61109425664475 71.00736625493353 68.73666272456184 66.82798438974501 65.30037410396834 64.16281499881593 63.41443035362440 63.04493280227106 63.03526774116537 63.35839919947995 63.98019411233839 64.86037074596892 65.95348695316027 67.20995247155298 68.57705578365568 70.00000000000000 113 | 90.00000000000000 86.48443783356342 83.03519819625537 79.71650155693189 76.58847069277151 73.70533802826628 71.11393408576218 68.85251078713939 66.94992616543786 65.42519048176810 64.28735082600342 63.53567422365263 63.16007919915031 63.14176262737986 63.45397150493399 64.06287626298547 64.92851140950837 66.00575873274471 67.24535656554018 68.59492487301300 70.00000000000000 114 | 90.00000000000000 86.50566104288455 83.07697195561043 79.77751460498408 76.66683811666115 73.79869121930665 71.21952789180420 68.96733916375419 67.07083782560802 65.54899721069772 64.41092300309586 63.65602032856414 63.27440830402451 63.24753077116372 63.54891418669314 64.14502998729633 64.99622730605667 66.05771089580364 67.28054711743692 68.61268705525754 70.00000000000000 115 | 90.00000000000000 86.52666900123378 83.11832611133772 79.83792448092117 76.74444758577104 73.89116596165931 71.32415976362898 69.08115912852342 67.19072925704350 65.67180246103642 64.53353789367830 63.77547333656161 63.38792334136174 63.35257427464859 63.64322854991675 64.22665607310661 65.06351891277239 66.10934373800725 67.31552430661687 68.63034241747253 70.00000000000000 116 | 90.00000000000000 86.54746519607224 83.15926731437116 79.89774039620643 76.82131007250334 73.98277409800536 71.42784154376491 69.19398177288363 67.30961024119480 65.79361437420408 64.65520189695556 63.89403799637499 63.50062763847749 63.45689534408261 63.73691598925169 64.30775537437891 65.13038674815449 66.16065757588717 67.35028832013560 68.64789104840752 70.00000000000000 117 | 90.00000000000000 86.56805301118477 83.19980202270280 79.95697130643416 76.89743626424898 74.07352719248777 71.53058483443985 69.30581800942522 67.42749045389820 65.91444105892158 64.77592144148930 64.01171913003357 63.61252461879833 63.56049628474308 63.82997798603829 64.38832881074639 65.19683137342076 66.21165274917222 67.38483935502312 68.66533303987011 70.00000000000000 118 | 90.00000000000000 86.58843573129141 83.23993650981106 80.01562592214087 76.97283657478465 74.16343654087602 71.63240100501051 69.41667857566125 67.54437946527433 66.03429058773577 64.89570297940180 64.12852162610413 63.72361779549593 63.66337949605523 63.92241610553042 64.46837736689560 65.26285339360543 66.26232962280405 67.41917762030187 68.68266848796064 70.00000000000000 119 | 90.00000000000000 86.60861654640445 83.27967687263032 80.07371271904134 77.04752115508788 74.25251318024982 71.73330119909571 69.52657403772920 67.66028673978580 66.15317099388125 65.01455298101342 64.24445043336476 63.83391076546953 63.76554746690831 64.01423199413522 64.54790209180588 65.32845345840184 66.31268858865980 67.45330333875337 68.69989749416243 70.00000000000000 120 | 90.00000000000000 86.62859855594731 83.31902903908957 80.13123994772471 77.12149990360481 74.34076789822868 71.83329634142774 69.63551479402460 67.77522163643823 66.27109026845301 65.13247792988355 64.35951055488586 63.94340720365641 63.86700277116051 64.10542737667723 64.62690409786198 65.39363226277368 66.36273006700719 67.48721674845433 68.71702016629955 70.00000000000000 121 | 90.00000000000000 86.64838477264969 83.35799877524730 80.18821564284310 77.19478247600281 74.42821124177274 71.93239714443503 69.74351107876596 67.88919340911060 66.38805635786605 65.24948431822652 64.47370704249170 64.05211085765114 63.96774806332455 64.19600405369100 64.70538455985461 65.45839054735666 66.41245450771555 67.52091810410171 68.73403661937323 70.00000000000000 122 | 90.00000000000000 86.66797812623302 83.39659169204673 80.24464763182355 77.26737829443809 74.51485352557830 72.03061411456899 69.85057296549034 68.00221120700206 66.50407716157966 65.36557864267603 64.58704499157787 64.16002554261561 64.06778607442632 64.28596389874609 64.78334471388291 65.52272909867085 66.46186239124428 67.55440767814503 68.75094697628691 70.00000000000000 123 | 90.00000000000000 86.68738146689884 83.43481325171493 80.30054354313162 77.33929655636631 74.60070484009046 72.12795755838680 69.95671037047926 68.11428407518315 66.61916053006567 65.48076740037378 64.69952953626135 64.26715513646296 64.16711960802922 64.37530885580755 64.86078585617128 65.58664874916221 66.51095422942902 67.58768576174219 68.76775136846970 70.00000000000000 124 | 90.00000000000000 86.70659756863236 83.47266877382712 80.35591081411339 77.41054624292293 74.68577505915356 72.22443758840156 70.06193305611491 68.22542095524031 66.73331426300186 65.59505708535920 64.81116584484184 64.37350357529965 64.26575153641708 64.46404093663487 64.93770934181198 65.65015037709048 66.55973056608386 67.62075266555478 68.78444993640659 70.00000000000000 125 | 90.00000000000000 86.72562913233233 83.51016344105641 80.41075669844084 77.48113612689768 74.77007384731911 72.32006412871047 70.16625063416676 68.33563068600388 66.84654610767251 65.70845418523929 64.92195911555389 64.47907484911073 64.36368479692919 64.55216221822185 65.01411658344443 65.71323490627924 66.60819197743668 67.65360872039666 68.80104283008390 70.00000000000000 126 | 90.00000000000000 86.74447878877768 83.54730230462772 80.46508827318401 77.55107478032635 74.85361066682948 72.41484692041125 70.26967256900862 68.44492200434996 66.95886375755993 65.82096517811860 65.03191457259140 64.58387299767445 64.46092238844093 64.63967484027943 65.09000904988035 65.77590330574247 66.65633907241349 67.68625427774938 68.81753020935713 70.00000000000000 127 | 90.00000000000000 86.76314910144083 83.58409028949372 80.51891244553154 77.62037058172180 74.93639478429465 72.50879552681624 70.37220818076669 68.55330354606792 67.07027485111151 65.93259652977112 65.14103746238668 64.68790210669314 64.55746736798397 64.72658100276341 65.16538826468394 65.83815658920132 66.70417249278626 67.71868971015638 68.83391224424837 70.00000000000000 128 | 90.00000000000000 86.78164256915669 83.62053219924890 80.57223595918032 77.68903172296423 75.01843527707825 72.60191933847348 70.47386664839894 68.66078384678548 67.18078697066863 66.04335469103702 65.24933305012777 64.79116630412814 64.65332284750033 64.81288296344856 65.24025580471493 65.89999581450294 66.75169291319752 67.75091541150738 68.85018911517946 70.00000000000000 129 | 90.00000000000000 86.79996162865605 83.65663272079745 80.62506540041312 77.75706621586987 75.09974103940824 72.69422757800315 70.57465701270648 68.76737134294440 67.29040764154391 66.15324609542817 65.35680661649886 64.89366975672712 64.74849199072466 64.89858303555037 65.31461329864186 65.96142208295305 66.79890104107442 67.78293179722328 68.86636101314697 70.00000000000000 130 | 90.00000000000000 86.81810865697136 83.69239642878921 80.67740720388227 77.82448189845599 75.18032078822634 72.78572930475785 70.67458817927755 68.87307437282011 67.39914433123504 66.26227715692782 65.46346345462928 64.99541666673329 64.84297801018968 64.98368358539543 65.38846242543217 66.02243653857231 66.84579761644322 67.81473930435122 68.88242813984436 70.00000000000000 131 | 90.00000000000000 86.83608597372223 83.72782778983728 80.72926765811607 77.89128644091890 75.26018306878991 72.87643341931407 70.77366892136487 68.97790117757927 67.50700444876395 66.37045426797060 65.56930886723809 65.09641126876605 64.93678416434948 65.06818703014135 65.46180491282526 66.08304036728616 66.89238341165509 67.84633839157847 68.89839070773637 70.00000000000000 132 | 90.00000000000000 86.85389584328793 83.76293116652968 80.78065291076376 77.95748735134072 75.33933626003892 72.96634866780259 70.87190788269723 69.08185990236976 67.61399534413098 66.47778379759006 65.67434816396144 65.19665782686380 65.02991375481618 65.15209583554680 65.53464253579389 66.14323479605673 66.93865923103252 67.87772953917352 68.91424894009020 70.00000000000000 133 | 90.00000000000000 86.87154047687315 83.79771082124722 80.83156897359348 78.02309198113952 75.41778857973986 73.05548364608450 70.96931358022616 69.18495859743814 67.72012430787430 66.58427208972199 65.77858665885135 65.29616063167981 65.12237012370521 65.23541251379207 65.60697711499893 66.20302109196487 66.98462591044539 67.90891324886174 68.93000307096800 70.00000000000000 134 | 90.00000000000000 86.88902203447344 83.83217091979832 80.88202172725741 78.08810753027690 75.49554808941804 73.14384680377954 71.06589440680867 69.28720521926988 67.82539857072599 66.68992546165212 65.88202966803506 65.39492399782283 65.21415665108488 65.31813962135047 65.67881051524184 66.26240056124954 67.03028431682485 67.93989004364251 68.94565334518424 70.00000000000000 135 | 90.00000000000000 86.90634262674590 83.86631553488127 80.93201692583673 78.15254105223583 75.57262269908856 73.23144644815318 71.16165863382693 69.38860763174824 67.92982530335640 66.79475020259831 65.98468250752461 65.49295226133459 65.30527675252601 65.40027975691072 65.75014464391906 66.32137454831117 67.07563534762239 67.97066046755421 68.96120001823193 70.00000000000000 136 | 90.00000000000000 86.92350431679053 83.90014864938369 80.98156020117870 78.21639945878100 75.64902017179637 73.31829074786810 71.25661441374615 69.48917360732803 68.03341161619920 66.89875257241731 66.08655049116739 65.59024977729665 65.39573387674787 65.48183555935029 65.82098144948186 66.37994443468529 67.12067993022099 68.00122508539290 68.97664335618084 70.00000000000000 137 | 90.00000000000000 86.94050912184737 83.93367415952828 81.03065706703703 78.27968952451317 75.72474812797441 73.40438773660613 71.35076978261138 69.58891082822061 68.13616455935022 67.00193880042754 66.18763892872873 65.68682091755967 65.48553150335626 65.56280970575962 65.89132291990485 66.43811163799161 67.16541902130457 68.03158448239003 68.99198363555084 70.00000000000000 138 | 90.00000000000000 86.95735901491410 83.96689587787318 81.07931292302659 78.34241789122841 75.79981404962896 73.48974531656566 71.44413266248465 69.68782688758714 68.23809112253349 67.10431508433918 66.28795312409825 65.78267006858867 65.57467314067043 65.64320490951702 65.96117108116614 66.49587761086400 67.20985360619177 68.06173926385414 69.00722114316311 70.00000000000000 139 | 90.00000000000000 86.97405592628850 83.99981753617537 81.12753305840208 78.40459107209200 75.87422528436053 73.57437126184000 71.53671086382337 69.78592929073717 68.33919823512848 67.20588758928426 66.38749837361229 65.87780162941790 65.66316232363518 65.72302391841383 66.03052799574174 66.55324383986557 67.25398469813884 68.09169005478105 69.02235617597204 70.00000000000000 140 | 90.00000000000000 86.99060174503998 84.03244278812411 81.17532265567031 78.46621545563715 75.94798904922803 73.65827322168126 71.62851208780111 69.88322545632998 68.43949276625311 67.30666244693938 66.48627996448512 65.97222000970963 65.75100261181481 65.80226951282960 66.09939576111644 66.61021184439339 67.29781333761690 68.12143749943665 69.03738904087987 70.00000000000000 141 | 90.00000000000000 87.00699832041411 84.06477521195198 81.22268679404492 78.52729730959685 76.02111243446399 73.74145872365457 71.71954392857199 69.97972271757614 68.53898152489732 67.40664575473441 66.58430317334233 66.06592962791144 65.83819758746588 65.88094450395666 66.16777650831328 66.66678317557628 67.34134059156770 68.15098226091617 69.05232005453648 70.00000000000000 142 | 90.00000000000000 87.02324746317372 84.09681831292960 81.26963045275180 78.58784278457772 76.09360240704748 73.82393517668716 71.80981387547975 70.07542832343759 68.63767126010241 67.50584357514109 66.68157326484992 66.15893490950675 65.92475085368551 65.95905173207373 66.23567240044332 66.72295941516937 67.38456755264195 68.18032502068316 69.06714954312631 70.00000000000000 143 | 90.00000000000000 87.03935094688001 84.12857552575082 81.31615851419299 78.64785791758375 76.16546581414185 73.90570987401610 71.89932931521263 70.17034943982382 68.73556866118204 67.60426193503554 66.77809549043327 66.25124028535377 66.01066603263254 66.03659406486777 66.30308563127738 66.77874217444825 67.42749533842391 68.20946647809178 69.08187784214408 70.00000000000000 144 | 90.00000000000000 87.05531050911706 84.16005021681366 81.36227576697654 78.70734863539730 76.23670938640302 73.98678999603924 71.98809753390532 70.26449315078287 68.83268035798054 67.70190682512970 66.87387508708056 66.34285019010842 66.09594676381860 66.11357439580357 66.37001842384099 66.83413309310579 67.47012509064542 68.23840734989480 69.09650529616124 70.00000000000000 145 | 90.00000000000000 87.07112785266251 84.19124568640287 81.40798690881905 78.76632075782449 76.30733974116478 74.06718261307279 72.07612571918899 70.35786645968531 68.92901292116501 67.79878419946624 66.96891727622520 66.43376906072676 66.18059670246653 66.18999564254035 66.43647302903375 66.88913383815374 67.51245797439255 68.26714836974026 69.11103225858439 70.00000000000000 146 | 90.00000000000000 87.08680464660742 84.22216517077914 81.45329654932762 78.82478000081164 76.37736338550646 74.14689468801942 72.16342096219063 70.45047629039999 69.02457286254790 67.89489997497272 67.06322726270284 66.52400133504298 66.26461951793343 66.26586074539462 66.50245172427427 66.94374610283177 67.55449517730740 68.29569028765911 69.12545909140727 70.00000000000000 147 | 90.00000000000000 87.10234252742799 84.25281184417970 81.49820921266699 78.88273197943910 76.44678671920826 74.22593307895005 72.24999025948284 70.54232948846033 69.11936663543651 67.99026003107042 67.15681023377805 66.61355145041908 66.34801889219607 66.34117266584852 66.56795681217118 66.99797160552556 67.59623790878774 68.32403386954597 69.13978616495753 70.00000000000000 148 | 90.00000000000000 87.11774310001158 84.28318882073509 81.54272934011813 78.94018221079816 76.51561603759950 74.30430454160317 72.33584051498514 70.63343282221990 69.21340063500698 68.08487020933401 67.24967135823674 66.70242384246258 66.43079851839622 66.41593438510299 66.63299061922133 67.05181208869605 67.63768739918648 68.35217989663504 69.15401385763943 70.00000000000000 149 | 90.00000000000000 87.13300793863939 84.31329915630614 81.58686129253317 78.99713611675698 76.58385753430424 74.38201573180423 72.42097854181803 70.72379298399665 69.30668119869976 68.17873631319823 67.34181578554013 66.79062294380907 66.51296209944361 66.49014890267469 66.69755549453537 67.10526931782108 67.67884489901309 68.38012916497290 69.16814255567340 70.00000000000000 150 | 90.00000000000000 87.14813858792814 84.34314585024543 81.63060935269215 79.05359902662049 76.65151730388911 74.45907320780866 72.50541106411077 70.81341659120449 69.39921460663427 68.27186410770813 67.43324864503678 66.87815318296606 66.59451334667450 66.56381923503616 66.76165380859138 67.15834508035110 67.71971167813878 68.40788248488992 69.18217265283376 70.00000000000000 151 | 90.00000000000000 87.16313656373268 84.37273184708685 81.67397772756627 79.10957617968938 76.71860134441741 74.53548343257108 72.58914471876409 70.90231018747203 69.49100708204037 68.36425931930967 67.52397504522898 66.96501898321539 66.67545597856353 66.63694841429810 66.82528795201682 67.21104118468004 67.76028902500708 68.43544068047159 69.19610455018493 70.00000000000000 152 | 90.00000000000000 87.17800335401155 84.40206003816694 81.71697055049225 79.16507272772296 76.78511555991362 74.61125277594367 72.67218605716887 70.99048024374736 69.58206479170468 68.45592763567767 67.61400007309045 67.05122476157115 66.75579371948719 66.70953948693302 66.88846033439906 67.26335945913246 67.80057824585107 68.46280458903121 69.20993865581748 70.00000000000000 153 | 90.00000000000000 87.19274041965758 84.43113326318131 81.75959188326198 79.22009373731014 76.85106576274222 74.68638751680612 72.75454154688192 71.07793315938858 69.67239384642970 68.54687470557840 67.70332879343218 67.13677492779046 66.83553029853672 66.78159551253948 66.95117338312461 67.31530175096772 67.84058066391876 68.48997506058517 69.22367538458428 70.00000000000000 154 | 90.00000000000000 87.20734919529475 84.45995431167952 81.80184571813157 79.27464419215299 76.91645767590440 74.76089384512993 72.83621757325980 71.16467526323960 69.76200030150413 68.63710613876403 67.79196624831361 67.22167388343462 66.91466944837880 66.85311956264584 67.01342954224717 67.36686992540226 67.88029761870767 68.51695295733164 69.23731515783760 70.00000000000000 155 | 90.00000000000000 87.22183109004357 84.48852592450105 81.84373597975377 79.32872899526659 76.98129693525611 74.83477786397931 72.91722044105178 71.25071281469071 69.85089015718265 68.72662750589673 67.87991745649647 67.30592602097803 66.99321490416212 66.92411471955282 67.07523127138437 67.41806586465036 67.91973046520961 68.54373915313387 69.25085840316765 70.00000000000000 156 | 90.00000000000000 87.23618748825602 84.51685079515552 81.88526652703700 79.38235297109914 77.04558909165088 74.90804559145108 72.99755637595305 71.33605200472367 69.93906935917373 68.81544433850014 67.96718741293866 67.38953572296285 67.07117040246824 66.99458407521389 67.13658104464339 67.46889146698420 67.95888057316641 68.57033453300892 69.26430555414319 70.00000000000000 157 | 90.00000000000000 87.25041975022194 84.54493157114976 81.92644115493481 79.43552086757582 77.10933961301039 74.98070296255565 73.07723152611902 71.42069895694110 70.02654379913416 68.90356212893602 68.05378108832608 67.47250736119683 67.14853968030512 67.06453073015273 67.19748134957501 67.51934864581345 67.99774932633771 68.59673999262229 69.27765705005440 70.00000000000000 158 | 90.00000000000000 87.26452921284782 84.57277085526407 81.96726359616872 79.48823735806975 77.17255388632582 75.05275583104145 73.15625196364181 71.50465972857981 70.11331931516898 68.99098633040424 68.13970342863990 67.55484529599285 67.22532647414170 67.13395779241662 67.25793468615618 67.56943932878491 68.03633812178101 68.62295643778950 69.29091333565871 70.00000000000000 159 | 90.00000000000000 87.27851719030971 84.60037120678035 82.00773752288757 79.54050704330336 77.23523721959288 75.12420997116456 73.23462368598986 71.58794031150818 70.19940169233573 69.07772235696437 68.22495935475743 67.63655387544753 67.30153451898204 67.20286837656531 67.31794356580072 67.61916545690246 68.07464836914498 68.64898478398493 69.30407486092977 70.00000000000000 160 | 90.00000000000000 87.29238497468121 84.62773514266405 82.04786654826631 79.59233445318296 77.29739484368316 75.19507107940572 73.31235261741162 71.67054663320714 70.28479666315208 69.16377558357698 68.30955376208449 67.71763743475775 67.37716754747764 67.27126560269399 67.37751051039794 67.66852898366751 68.11268148997615 68.67482595585849 69.31714208080990 70.00000000000000 161 | 90.00000000000000 87.30613383653774 84.65486513870226 82.08765422804692 79.64372404856969 77.35903191415431 75.26534477613639 73.38944461030430 71.75248455773496 70.36950990810567 69.24915134616342 68.39349152021752 67.79810029557267 67.45222928907650 67.33915259549002 67.43663805137894 67.71753187424001 68.15043891703974 68.70048088676060 69.33011545496629 70.00000000000000 162 | 90.00000000000000 87.31976502553832 84.68176363059990 82.12710406202392 79.69468022298949 77.42015351300149 75.33503660723585 73.46590544654838 71.83375988667578 70.45354705616552 69.33385494168225 68.47677747263386 67.87794676538024 67.52672346920760 67.40653248332215 67.49532872881002 67.76617610462038 68.18792209365451 68.72595051827574 69.34299544755126 70.00000000000000 163 | 90.00000000000000 87.33327977098577 84.70843301503588 82.16621949547722 79.74520730428435 77.48076465035264 75.40415204566087 73.54174083880913 71.91437836007172 70.53691368529415 69.41789162822141 68.55941643640818 67.95718113692615 67.60065380849950 67.47340839736161 67.55358509051322 67.81446366085198 68.22513247304238 68.75123579976511 69.35578252696669 70.00000000000000 164 | 90.00000000000000 87.34667928236635 84.73487565068108 82.20500392055428 79.79530955620793 77.54087026610942 75.47269649296967 73.61695643180572 71.99434565733887 70.61961532295970 69.50126662510445 68.64141320195417 68.03580768766388 67.67402402203190 67.53978347073425 67.61140969121311 67.86239653824451 68.26207151769273 68.77633768791834 69.36847716563284 70.00000000000000 165 | 90.00000000000000 87.35996474986983 84.76109385917979 82.24346067760402 79.84499117996724 77.60047523153622 75.54067528080193 73.69155780354879 72.07366739816693 70.70165744664736 69.58398511301004 68.72277253278936 68.11383067923454 67.74683781861889 67.60566083770273 67.66880509170993 67.90997674061789 68.29874069874150 68.80125714631478 69.38107983976170 70.00000000000000 166 | 90.00000000000000 87.37313734489068 84.78708992609636 82.28159305646450 79.89425631571308 77.65958435079918 75.60809367231590 73.76555046654761 72.15234914340286 70.78304548436968 69.66605223410336 68.80349916532244 68.19125435697508 67.81909890012273 67.67104363287821 67.72577385807817 67.95720627956690 68.33514149536539 68.82599514499434 69.39359102913494 70.00000000000000 167 | 90.00000000000000 87.38619822051147 84.81286610182835 82.31940429770624 79.94310904398108 77.71820236245698 75.67495686358470 73.83893986898714 72.23039639591856 70.86378481517508 69.74747309217868 68.88359780866118 68.26808294945349 67.89081096079724 67.73593499046044 67.78231856089057 68.00408717374603 68.37127539419114 68.85055266003806 69.40601121688677 70.00000000000000 168 | 90.00000000000000 87.39914851196920 84.83842460248788 82.35689759383327 79.99155338708542 77.77633394090556 75.74126998495261 73.91173139587642 72.30781460146260 70.94388076965414 69.82825275281193 68.96307314444032 68.34432066802995 67.96197768665947 67.80033804350586 67.83844177446667 68.05062144817472 68.40714388871972 68.87493067315863 69.41834088929141 70.00000000000000 169 | 90.00000000000000 87.41198933710503 84.86376761075242 82.39407609044343 80.03959331046717 77.83398369777817 75.80703810235318 73.98393037016838 72.38460914949631 71.02333863044335 69.90839624352252 69.04192982666791 68.41997170644271 68.03260275488887 67.86425592322247 67.89414607614579 68.09681113356254 68.44274847876576 68.89913017130067 69.43058053555568 70.00000000000000 170 | 90.00000000000000 87.42472179679858 84.88889727668638 82.43094288734990 80.08723272399909 77.89115618330266 75.87226621859004 74.05554205385245 72.46078537401442 71.10216363272563 69.98790855394371 69.12017248158932 68.49504024041755 68.10268983325285 67.92769175829118 67.94943404558369 68.14265826565421 68.47809066991191 68.92315214625110 69.44273064761626 70.00000000000000 171 | 90.00000000000000 87.43734697538713 84.91381571853461 82.46750103966532 80.13447548324849 77.94785588761748 75.93695927458205 74.12657164902031 72.53634855435018 71.18036096472783 70.06679463600052 69.19780570756777 68.56953042729981 68.17224257955782 67.99064867421252 68.00430826407265 68.18816488459410 68.51317197297799 68.94699759425941 69.45479171994221 70.00000000000000 172 | 90.00000000000000 87.44986594107044 84.93852502348925 82.50375355885011 80.18132539069995 78.00408724204807 76.00112215057364 74.19702429890563 72.61130391596546 71.25793576821424 70.14505940409478 69.27483407498050 68.64344640570812 68.24126464112476 68.05312979267826 68.05877131388428 68.23333303431008 68.54799390350520 68.97066751566786 69.46676424934221 70.00000000000000 173 | 90.00000000000000 87.46227974630192 84.96302724843071 82.53970341372658 80.22778619693941 78.05985462034485 76.06475966731169 74.26690508889854 72.68565663122592 71.33489313897640 70.22270773529644 69.35126212612991 68.71679229520861 68.30975965428856 68.11513823096706 68.11282577763461 68.27816476191626 68.58255798125481 68.99416291455159 69.47864873477691 70.00000000000000 174 | 90.00000000000000 87.47458942816651 84.98732442064417 82.57535353146001 80.27386160180104 78.11516233988449 76.12787658719009 74.33621904753551 72.75941182016132 71.41123812731865 70.29974446954074 69.42709437516838 68.78957219600900 68.37773124392010 68.17667710136355 68.16647423767112 68.32266211713447 68.61686572972144 69.01748479836873 69.49044567717620 70.00000000000000 175 | 90.00000000000000 87.48679600874608 85.01141853851239 82.61070679850808 80.31955525547862 78.17001466283558 76.19047761536284 74.40497114746523 72.83257455121141 71.48697573853937 70.37617440983051 69.50233530803654 68.86179018867155 68.44518302297045 68.23774951060007 68.21971927548097 68.36682715173403 68.65091867566075 69.04063417761999 69.50215557926143 70.00000000000000 176 | 90.00000000000000 87.49890049547255 85.03531157218579 82.64576606154003 80.36487075960227 78.22441579729008 76.25256740082688 74.47316630639125 72.90514984195758 71.56211093340758 70.45200232244328 69.57698938241381 68.93345033384399 68.51211859203629 68.29835855932048 68.27256347112007 68.41066191898960 68.68471834863115 69.06361206551830 69.51377894537251 70.00000000000000 177 | 90.00000000000000 87.51090388146957 85.05900546423091 82.68053412832658 80.40981166828246 78.27836989836176 76.31415053747570 74.54080938799187 72.97714265984035 71.63664862863500 70.52723293714243 69.65106102768090 69.00455667200787 68.57854153894570 68.35850734156540 68.32500940266245 68.45416847315664 68.71826628054974 69.08641947766776 69.52531628129996 70.00000000000000 178 | 90.00000000000000 87.52280714588294 85.08250213025789 82.71501376860185 80.45438148912196 78.33188106925284 76.37523156512441 74.60790520281822 73.04855792286313 71.71059369734309 70.60187094739236 69.72455464489322 69.07511322324335 68.64445543836389 68.41819894427815 68.37705964566953 68.49734886896429 68.75156400526171 69.10905743175230 69.53676809412167 70.00000000000000 179 | 90.00000000000000 87.53461125420039 85.10580345952798 82.74920771489822 80.49858368419741 78.38495336228986 76.43581497050752 74.67445850917056 73.11940050028234 71.78395096952526 70.67592101057687 69.79747460676498 69.14512398700988 68.70986385141788 68.47743644683082 68.42871677267861 68.54020516112514 68.78461305812353 69.13152694723351 69.54813489204454 70.00000000000000 180 | 90.00000000000000 87.54631715856110 85.12891131554163 82.78311866335548 80.54242167101125 78.43759077992993 76.49590518825005 74.74047401395416 73.18967521328430 71.85672523250405 70.74938774822056 69.86982525766315 69.21459294194207 68.77477032533946 68.53622292056997 68.47998335271021 68.58273940386174 68.81741497559923 69.15382904505785 69.55941718425076 70.00000000000000 181 | 90.00000000000000 87.55792579805532 85.15182753660829 82.81674927450490 80.58589882341539 78.48979727573840 76.55550660181292 74.80595637351449 73.25938683564897 71.92892123138301 70.82227574621291 69.94161091361077 69.28352404565999 68.83917839312606 68.59456142838108 68.53086195079382 68.62495365044924 68.84997129486999 69.17596474737283 69.57061548074878 70.00000000000000 182 | 90.00000000000000 87.56943809901458 85.17455393639825 82.85010217402935 80.62901847250740 78.54157675533888 76.61462354441358 74.87091019445302 73.32854009440084 72.00054366949368 70.89458955503466 70.01283586229921 69.35192123459338 68.90309157321853 68.65245502427155 68.58135512751149 68.66684995277414 68.88228355345626 69.19793507725223 69.58173029222887 70.00000000000000 183 | 90.00000000000000 87.58085497529270 85.19709230447742 82.88317995350037 80.67178390750050 78.59293307733671 76.67326029992229 74.93534003442370 73.39713967044725 72.07159720883708 70.96633368998620 70.08350436310869 69.41978842381930 68.96651336919545 68.70990675297136 68.63146543855875 68.70843036090837 68.91435328885269 69.21974105843005 69.59276212992310 70.00000000000000 184 | 90.00000000000000 87.59217732853814 85.21944440682566 82.91598517109307 80.71419837656805 78.64387005421651 76.73142110373536 74.99925040291079 73.46519019920446 72.14208647052006 71.03751263141767 70.15362064713689 69.48712950691227 69.02944726948337 68.76691964955104 68.68119543432266 68.74969692269867 68.94618203817527 69.24138371504307 69.60371150546993 70.00000000000000 185 | 90.00000000000000 87.60340604845794 85.24161198633922 82.94852035227949 80.75626508766356 78.69439145321503 76.78911014362546 75.06264576198862 73.53269627121148 72.21201603518629 71.10813082496058 70.22318891723486 69.55394835580690 69.09189674708227 68.82349673905631 68.73054765947607 68.79065168337085 68.97777133782046 69.26286407138197 69.61457893078295 70.00000000000000 186 | 90.00000000000000 87.61454201307340 85.26359676331809 82.98078799050151 80.79798720931713 78.74450099716991 76.84633156057033 75.12553052706373 73.59966243273210 72.28139044344212 71.17819268176058 70.29221334805014 69.62024882067196 69.15386525930585 68.87964103615894 68.77952465258808 68.83129668514840 69.00912272313627 69.28418315165059 69.62536491792409 70.00000000000000 187 | 90.00000000000000 87.62558608896822 85.28540043593848 83.01279054782381 80.83936787140902 78.79420236534516 76.90308944956008 75.18790906759972 73.66609318634544 72.35021419627682 71.24770257871133 70.36069808607647 69.68603472979582 69.21535624753599 68.93535554482328 68.82812894575007 68.87163396688521 69.04023772810474 69.30534197973353 69.63606997898086 70.00000000000000 188 | 90.00000000000000 87.63653913152888 85.30702468071131 83.04453045556778 80.88041016592132 78.84349919423437 76.95938786038398 75.24978570782567 73.73199299152485 72.41849175547782 71.31666485868914 70.42864724970981 69.75130988948249 69.27637313699107 68.99064325798793 68.87636306421675 68.91166556371222 69.07111788503570 69.32634157897147 69.64669462594783 70.00000000000000 189 | 90.00000000000000 87.64740198517802 85.32847115292701 83.07601011492685 80.92111714766837 78.89239507834208 77.01523079839744 75.31116472742806 73.79736626520607 72.48622754404049 71.38508383078813 70.49606492931045 69.81607808395798 69.33691933650732 69.04550715726215 68.92422952606208 68.95139350669719 69.10176472427163 69.34718297194446 69.65723937061209 70.00000000000000 190 | 90.00000000000000 87.65817548360073 85.34974148708729 83.10723189756419 80.96149183500667 78.94089357094421 77.07062222526952 75.37205036222723 73.86221738234413 72.55342594657272 71.45296377055602 70.56295518727052 69.88034307528656 69.39699823833308 69.09995021263659 68.97173084184934 68.99081982251778 69.13217977390312 69.36786718026279 69.66770472444259 70.00000000000000 191 | 90.00000000000000 87.66886044996420 85.37083729732420 83.13819814619318 81.00153721052509 78.98899818482829 77.12556605971189 75.43244680483816 73.92655067645987 72.62009130969423 71.52030892023001 70.62932205808701 69.94410860329631 69.45661321793531 69.15397538220755 69.01886951431516 69.02994653314718 69.16236455949490 69.38839522436523 69.67809119848343 70.00000000000000 192 | 90.00000000000000 87.67945769713086 85.39176017780707 83.16891117514132 81.04125622171590 79.03671239301401 77.18006617818955 75.49235820531671 73.99037044017592 72.68622794243069 71.58712348897281 70.69516954843975 70.00737838551382 69.51576763381794 69.20758561191487 69.06564803806697 69.06877565555220 69.19232060382214 69.40876812332455 69.68839930325090 70.00000000000000 193 | 90.00000000000000 87.68996802786538 85.41251170313764 83.19937327089822 81.08065178162742 79.08403962945479 77.23412641561407 75.55178867179096 74.05368092574250 72.75184011660264 71.65341165310875 70.76050163727403 70.07015611710743 69.57446482735163 69.26078383529253 69.11206889929358 69.10730920140331 69.22204942661654 69.42898689466021 69.69862954863419 70.00000000000000 194 | 90.00000000000000 87.70039223503558 85.43309342873390 83.22958669264818 81.11972676949884 79.13098328972100 77.28775056601971 75.61074227107885 74.11648634555326 72.81693206720935 71.71917755635968 70.82532227588783 70.13244547083889 69.63270812261457 69.31357297323177 69.15813457548836 69.14554917679642 69.25155254432228 69.44905255415790 69.70878244379958 70.00000000000000 195 | 90.00000000000000 87.71073110180765 85.45350689120301 83.25955367278782 81.15848403137772 79.17754673166550 77.34094238322305 75.66922302929173 74.17879087265139 72.88150799280750 71.78442531008058 70.88963538802317 70.19425009702277 69.69050082624386 69.36595593375638 69.20384753518483 69.18349758198612 69.28083146986141 69.46896611569584 69.71885849709838 70.00000000000000 196 | 90.00000000000000 87.72098540183572 85.47375360870363 83.28927641742945 81.19692638072104 79.22373327607183 77.39370558146661 75.72723493242485 74.24059864122626 72.94557205588492 71.84915899349483 70.95344486996142 70.25557362349365 69.74784622729712 69.41793561180948 69.24921023770413 69.22115641112980 69.30988771240833 69.48872859107763 69.72885821597808 70.00000000000000 197 | 90.00000000000000 87.73115589944602 85.49383508129816 83.31875710689050 81.23505659897998 79.26954620728590 77.44604383604691 75.78478192693466 74.30191374710058 73.00912838322932 71.91338265392896 71.01675459062243 70.31641965558045 69.80474759712396 69.46951488905181 69.29422513291406 69.25852765204272 69.33872277717337 69.50834098987160 69.73878210689695 70.00000000000000 198 | 90.00000000000000 87.74124334981597 85.51375279129502 83.34799789616959 81.27287743616924 79.31498877383153 77.49796078392747 75.84186792030367 74.36274024820868 73.07218106629202 71.97710030704698 71.07956839166708 70.37679177608780 69.86120818924695 69.52069663367082 69.33889466099932 69.29561328596336 69.36733816519499 69.52780431925628 69.74863067524181 70.00000000000000 199 | 90.00000000000000 87.75124849914816 85.53350820358159 83.37700091540961 81.31039161142128 79.36006418901030 77.54946002433715 75.89849678159288 74.42308216506575 73.13473416154694 72.04031593708382 71.14189008760327 70.43669354528410 69.91723123925166 69.57148370020030 69.38322125224269 69.33241528732898 69.39573537314048 69.54711958387203 69.75840442524905 70.00000000000000 200 | 90.00000000000000 87.76117208483944 85.55310276594786 83.40576827034837 81.34760181352603 79.40477563148640 77.60054511935439 75.95467234198236 74.48294348122842 73.19679169084476 72.10303349707824 71.20372346589491 70.49612850089585 69.97281996468561 69.62187892935030 69.42720732681674 69.36893562356104 69.42391589311489 69.56628778567858 69.76810385992871 70.00000000000000 201 | 90.00000000000000 87.77101483564552 85.57253790940133 83.43430204275705 81.38451070145649 79.44912624585685 77.65121959447758 76.01039839530014 74.54232814374691 73.25835764176225 72.16525690910487 71.26507228707388 70.55510015810827 70.02797756496560 69.67188514784687 69.47085529458566 69.40517625486009 69.45188121247804 69.58530992381824 69.77772948099148 70.00000000000000 202 | --------------------------------------------------------------------------------