diff --git a/CMakeLists.txt b/CMakeLists.txt index 81773d8..f12b3d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.20.0) set (CMAKE_CXX_STANDARD 20) -project(MML_Demo VERSION 0.1.0) +project(MML_Demo VERSION 1.0) add_compile_definitions(MML_USE_SINGLE_HEADER) @@ -69,17 +69,17 @@ set( MML_DEMO_SOURCES src/demo_app_main.cpp src/visualization_examples/demo4_vector_field_gravity.cpp src/visualization_examples/demo5_vector_field_EM.cpp src/visualization_examples/visualization_examples.cpp - - docs_examples/readme_examples/demo1_vectors_matrices.cpp - docs_examples/readme_examples/demo2_lin_alg_solvers.cpp - docs_examples/readme_examples/demo3_defining_functions.cpp - docs_examples/readme_examples/demo4_working_with_functions.cpp - docs_examples/readme_examples/demo5_ode_solvers.cpp - docs_examples/readme_examples/demo6_vector_field_operations.cpp - docs_examples/readme_examples/demo7_parametric_curves.cpp - docs_examples/readme_examples/demo8_visualizators.cpp - docs_examples/readme_examples/demo9_function_analyzer.cpp - docs_examples/readme_examples/readme_examples.cpp + + docs_examples/readme_examples/readme1_vectors_matrices.cpp + docs_examples/readme_examples/readme2_lin_alg_solvers.cpp + docs_examples/readme_examples/readme3_defining_functions.cpp + docs_examples/readme_examples/readme4_working_with_functions.cpp + docs_examples/readme_examples/readme5_ode_solvers.cpp + docs_examples/readme_examples/readme6_vector_field_operations.cpp + docs_examples/readme_examples/readme7_parametric_curves.cpp + docs_examples/readme_examples/readme8_visualizators.cpp + docs_examples/readme_examples/readme9_function_analyzer.cpp + docs_examples/readme_examples/main_readme_examples.cpp ) @@ -87,28 +87,59 @@ add_executable(MML_Demo ${MML_DEMO_SOURCES}) target_include_directories(MML_Demo PRIVATE include) -project(DocsApp VERSION 0.5.0) -set(MML_DOCS_APP_SOURCES docs_examples/doc_examples_app_main.cpp +project(DocsApp VERSION 1.0) +set(MML_DOCS_APP_SOURCES docs_examples/docs_app_main.cpp - docs_examples/readme_examples/demo1_vectors_matrices.cpp - docs_examples/readme_examples/demo2_lin_alg_solvers.cpp - docs_examples/readme_examples/demo3_defining_functions.cpp - docs_examples/readme_examples/demo4_working_with_functions.cpp - docs_examples/readme_examples/demo5_ode_solvers.cpp - docs_examples/readme_examples/demo6_vector_field_operations.cpp - docs_examples/readme_examples/demo7_parametric_curves.cpp - docs_examples/readme_examples/demo8_visualizators.cpp - docs_examples/readme_examples/demo9_function_analyzer.cpp - docs_examples/readme_examples/readme_examples.cpp + docs_examples/readme_examples/readme1_vectors_matrices.cpp + docs_examples/readme_examples/readme2_lin_alg_solvers.cpp + docs_examples/readme_examples/readme3_defining_functions.cpp + docs_examples/readme_examples/readme4_working_with_functions.cpp + docs_examples/readme_examples/readme5_ode_solvers.cpp + docs_examples/readme_examples/readme6_vector_field_operations.cpp + docs_examples/readme_examples/readme7_parametric_curves.cpp + docs_examples/readme_examples/readme8_visualizators.cpp + docs_examples/readme_examples/readme9_function_analyzer.cpp + + docs_examples/readme_examples/main_readme_examples.cpp - docs_examples/examples/main_example.cpp + docs_examples/examples/example_main.cpp docs_examples/examples/example1_kosi_hitac.cpp docs_examples/examples/example2_collision_calculator.cpp docs_examples/examples/example3_tensor_of_inertia.cpp docs_examples/examples/example4_gravity_field_investigations.cpp docs_examples/examples/example5_voyager_travels.cpp docs_examples/examples/example6_electric_charge_distribution.cpp - docs_examples/examples/examples.cpp + docs_examples/examples/example7_covariant_derivation.cpp + docs_examples/examples/example8_EM_field_investigations.cpp + docs_examples/examples/example9_thermodynamics_simulator.cpp + + docs_examples/examples/main_docs_examples.cpp + + docs_examples/demos/docs_demo_coord_transf.cpp + docs_examples/demos/docs_demo_derivation.cpp + docs_examples/demos/docs_demo_diff_geometry.cpp + docs_examples/demos/docs_demo_eigen_solvers.cpp + docs_examples/demos/docs_demo_field_operations.cpp + docs_examples/demos/docs_demo_functions.cpp + docs_examples/demos/docs_demo_integration.cpp + docs_examples/demos/docs_demo_integration_multidim.cpp + docs_examples/demos/docs_demo_integration_path.cpp + docs_examples/demos/docs_demo_integration_surface.cpp + docs_examples/demos/docs_demo_interpolated_functions.cpp + docs_examples/demos/docs_demo_geometry_2d_3d.cpp + docs_examples/demos/docs_demo_lin_alg_solvers.cpp + docs_examples/demos/docs_demo_matrix.cpp + docs_examples/demos/docs_demo_matrixnm.cpp + docs_examples/demos/docs_demo_ode_solvers.cpp + docs_examples/demos/docs_demo_polynom.cpp + docs_examples/demos/docs_demo_root_finding.cpp + docs_examples/demos/docs_demo_surface_integration.cpp + docs_examples/demos/docs_demo_tensors.cpp + docs_examples/demos/docs_demo_vector.cpp + docs_examples/demos/docs_demo_visualizers.cpp + docs_examples/demos/docs_demo_volume_integration.cpp + + docs_examples/demos/main_docs_demos.cpp ) add_executable(DocsApp ${MML_DOCS_APP_SOURCES}) target_include_directories(DocsApp PRIVATE include) diff --git a/README.md b/README.md index cd42e58..54c96e2 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ All your basic (numerical) math needs, contained in a single-header file (more c - For a C++ developer, on Windows, Mac or Linux - Who needs a math library to perform simple (and not so simple) numerical calculations - The Minimal Math Library is a general purpose, pythonesque in its focus on simplicity of use, single-header C++ library of classes and functions -- That is trivial to use in any kind of project, is C++ 20 cross-platform compatible, and comes with a rich set of functionalities for working with vectors, matrices, tensors, linear systems, real, scalar and vector functions, polynoms, differential equations, coordinate systems and transformations, 2D & 3D geometry with algorithms for derivation, integration, root finding, interpolation, optimization, statistics, and more. +- That is trivial to use in any kind of project, is C++ 20 cross-platform compatible, and comes with a rich set of functionalities for working with vectors, matrices, tensors, linear systems, polynoms, real, scalar and vector functions, coordinate systems and their transformations, 2D & 3D geometry with algorithms for derivation, integration, interpolation, differential equations solving, root finding, statistics, and more. ## Basic facts - As of now, and for foreseable future, this is unfortunately strictly for personal, research and educational use only (see Licensing at the end) @@ -27,43 +27,42 @@ Library is organized in three main groups (you could call them layers), with add **Base** Basic math types. These are the building blocks of the library, sitting at the lowest layer, depending only on standard library headers (and possibly Vector and Matrix class), and are used in all other parts of the library. -- [Algebra](/docs/base/Algebra.md) - groups, permutation group (big TODO!) - [Vectors](/docs/base/Vectors.md) - Vector, VectorN, Vector(2)(3)Cartesian, Vector2Polar, Vector3Spherical, Vector3Cylindrical - [Matrices](/docs/base/Matrices.md) - Matrix, MatrixNM, MatrixSym, MatrixTridiag, MatrixBandDiag - [Tensors](/docs/base/Tensors.md) - Tensor2, Tensor3, Tensor4, Tensor5 in N dimensions - [Polynoms](/docs/base/Polynoms.md) - general Polynom class (tested for Real, Complex and Matrix as field type) -- [Geometry](/docs/base/Geometry.md) - pure geometry: points, triangles, bodies +- [Geometry](/docs/base/Geometry.md) - pure geometry: points, triangles - [2D & 3D geometry](/docs/base/Geometry_2D_3D.md) - analytic geometry in 2D and 3D - [Vector spaces](/docs/base/Vector_spaces.md) - vector space, normed vector space, metric (Hilbert) space (still much to do here!) - [Functionals, operators, quadratic forms](/docs/base/Operators.md) - linear functional, quadratic form, linear operator (much to do here!) +- [Standard functions](/docs/base/Standard_Functions.md) - definition of available standard functions - [Base utils](/docs/base/BaseUtils.md) - general utilities including matrix helper (IsOrthogonal, IsUnitary, IsHermitian) +- [Algebra](/docs/base/Algebra.md) - groups, permutation group (big TODO!) **Core** -Core mathematical objects and operations of the library, depending on Base types, and used by higher algorithms. +Core mathematical objects and operations of the library, depending on Base types, and used by MML algorithms. Function objects, and different algorithms for working with them are the heart of this layer. - [Linear alg. equations solvers](/docs/core/Linear_equations_solvers.md) - GJ, LU, QR, SVD, Cholesky -- [Functions](/docs/core/Function_types.md) - IRealFunction, IScalarFunction, IVectorFunction, IParametricCurve, IParametricSurface, ITensorField -- [Standard functions](/docs/core/Functions.md) - definition of available standard functions +- [Functions](/docs/core/Functions.md) - IRealFunction, IScalarFunction, IVectorFunction, IParametricCurve, IParametricSurface, ITensorField - [Interpolated functions](/docs/core/Interpolated_functions.md) - linear, polynomial, rational polynomial, spline interpolations - [Dirac delta function](/docs/core/Dirac_delta_function.md)- predefined distributions for representing Dirac delta function -- [Numerical derivation](/docs/core/Derivation.md) - orders 1, 2, 4, 6, 8 for IRealFunction, IScalarFunction, IVectorFunction, IParametricCurve, IParametricSurface, ITensorField -- [Numerical integration](/docs/core/Integration.md) - Trapezoidal, Simpson, Romberg basic integration algorithms -- [Multidim integration](/docs/core/Multidim_integration.md) - calculating 2D and 3D (cartesian) integrals - [Curves & Surfaces](/docs/core/Curves_and_surfaces.md) - predefined curves and surfaces - [Fields](/docs/core/Fields.md) - predefined example fields +- [Numerical derivation](/docs/core/Derivation.md) - orders 1, 2, 4, 6, 8 for IRealFunction, IScalarFunction, IVectorFunction, IParametricCurve, IParametricSurface, ITensorField - [Field operations](/docs/core/Vector_field_operations.md) - grad, div, curl, Laplacian in general, Cartesian, cylindrical and spherical coordinates -- [Metric tensor](/docs/core/Metric_tensor.md) - predefined metric tensors in General, Cartesian, Cylindrical and Spherical coordinates -- [Coordinate transformations](/docs/core/Coordinate_transformations.md) - General, Cartesian, Cylindrical, Spherical +- [Numerical integration](/docs/core/Integration.md) - Trapezoidal, Simpson, Romberg basic integration algorithms +- [Multidim integration](/docs/core/Multidim_integration.md) - calculating 2D and 3D (cartesian) integrals - [ODE system](/docs/core/ODE_system.md) - represents a dynamical system of ordinary differential equations -- [Function spaces](/docs/core/Function_spaces.md) - Hermitian, Legendre, Laguerre, Chebyshev, Fourier spaces -- [Core utils](/docs/core/CoreUtils.md) - general core utilities +- [Coordinate transformations](/docs/core/Coordinate_transformations.md) - General, Cartesian, Cylindrical, Spherical +- [Metric tensor](/docs/core/Metric_tensor.md) - predefined metric tensors in General, Cartesian, Cylindrical and Spherical coordinates +- [Function spaces](/docs/core/Function_spaces.md) - Hermitian, Legendre, Laguerre, Chebyshev, Fourier spaces (much to do here!) **Algorithms** Algorithms for solving mathematical problems. These are the algorithms of the library, depending on Base and Core types. - [Eigen solvers](/docs/algorithms/Eigen_solvers.md) - solving eigenvalue problems for symmetric and non-symmetric real matrices -- [Path integration](/docs/algorithms/Path_integration.md) - calculating line and work integrals +- [Path integration](/docs/algorithms/Path_integration.md) - calculating path integrals (curve len, line and work integrals) - [ODE system solvers](/docs/algorithms/Differential_equations_solvers.md) - solvers for systems of ordinary differential equations - [Differential geometry](/docs/algorithms/Differential_geometry.md) - for curves only, so far - [Root finding](/docs/algorithms/Root_finding.md) - different root finding algorithms (bracketing, Newton-Raphson) @@ -463,6 +462,7 @@ Examples of integration real functions, but also 2D and 3D scalar functions ~~~ c++ // numerical integration of real function RealFunction f1{[](double x) { return sin(x)*(1.0 + 0.5*x*x); } }; +RealFunction f1_integral{ [](Real x) { return (Real)(x * (-0.5 * x * cos(x) + sin(x))); } }; double a = 0.0; double b = 1.0; @@ -472,6 +472,12 @@ double int_romb = IntegrateRomberg(f1,a,b); // we can use default Integrate routine (set to IntegrateSimpson), requires precision double int_def = Integrate(f1, a, b, 1e-04); +std::cout << "Integrating function f1 from " << a << " to " << b << std::endl; +std::cout << "Exact integral = " << f1_integral(b) - f1_integral(a) << std::endl; +std::cout << "IntegrateTrap = " << int_trap << std::endl; +std::cout << "IntegrateSimpson = " << int_simp << std::endl; +std::cout << "IntegrateRomberg = " << int_romb << std::endl; + // 2D integration of constant scalar 2D function (ie. we'll get the area of the surface) ScalarFunction<2> f2([](const VectorN &x) { return 1.0; }); @@ -496,8 +502,14 @@ Real vol = IntegrateVolume( f3, std::cout << "Calc. vol. = " << vol << ", exact value: 4/3 * PI = " << 4.0/3.0 * Constants::PI << std::endl; /* OUTPUT - Calc. area = 12.57211164, exact value: 4 * PI = 12.56637061 - Calc. vol. = 4.190703882, exact value: 4/3 * PI = 4.188790205 +Integrating function f1 from 0 to 10 +Exact integral = 36.5134 +IntegrateTrap = 36.5133 +IntegrateSimpson = 36.5134 +IntegrateRomberg = 36.5134 + +Calc. area = 12.57211164, exact value: 4 * PI = 12.56637061 +Calc. vol. = 4.190703882, exact value: 4/3 * PI = 4.188790205 */ ~~~ diff --git a/docs/algorithms/Differential_equations_solvers.md b/docs/algorithms/Differential_equations_solvers.md index 38a69cd..c618974 100644 --- a/docs/algorithms/Differential_equations_solvers.md +++ b/docs/algorithms/Differential_equations_solvers.md @@ -1 +1,197 @@ # Differential equations solvers + +Set of classes for solving ordinary differential equations (ODEs), with dedicated methods for solving stiff ODEs. + +There is a single ODESystemSolver class, templated on used steppers, which are responsible for the actual integration of the ODEs. + +Results are stored in Output class, instance of which needs to be created before the ODESystemSolver is called, giving the user control over the number of recorded points. + +## ODESystemSolver class + +~~~C++ +template +class ODESystemSolver { + static inline const Real EPS = std::numeric_limits::epsilon(); + static const int MAXSTP = 50000; + + Real _curr_x; // used as reference by stepper! + Vector _curr_y; + Vector _curr_dydx; +public: + IODESystem& _sys; + Output& _out; + Stepper _stepper; + bool _dense; + + int getDim() { return _sys.getDim(); } + + ODESystemSolver(IODESystem& sys, const Real atol, const Real rtol, Output& out) + : _sys(sys), _curr_y(sys.getDim()), _curr_dydx(sys.getDim()), _dense(out.dense), _out(out), + _stepper(sys, _curr_y, _curr_dydx, _curr_x, atol, rtol, out.dense) + { } + + ODESystemSolution integrate(Vector& in_ystart, const Real x1, Real x2, Real h1, const Real hmin); +}; +~~~ + +## Implemented algorithms for ODEs +- Dormand-Prince Runge-Kutta 5th order (StepperDopr5) +- Dormand-Prince Runge-Kutta 8th order (StepperDopr853) +- Bulirsch-Stoer (StepperBS) + +## Stiff system +- Rosenbrock (StepperRoss) +- Semi-Implicit Extrapolation method (StepperSemiImplExtr) + +## Example usage + +Solving ODE system with Dormand-Prince 5th order method + +~~~C++ +// in-place definition of Lorenz system (have to fix parameters!) +ODESystem lorenzSystem(3, [](Real t, const Vector& y, Vector& dydt) + { + double sigma = 10.0, rho = 28.0, beta = 8.0 / 3.0; + dydt[0] = sigma * (y[1] - y[0]); + dydt[1] = y[0] * (rho - y[2]) - y[1]; + dydt[2] = y[0] * y[1] - beta * y[2]; + }); + +// get it from predefined test-bed +TestBeds::LorenzSystemODE alsoLorenzSystem(10.0, 28.0, 8.0 / 3.0); + +const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0; +double x1 = 0.0, x2 = 50.0; + +Vector init_cond({ 2.0, 1.0, 1.0 }); +Output out0(10000); + +ODESystemSolver ode_solver0(lorenzSystem, atol, rtol, out0); +ODESystemSolution sol0 = ode_solver0.integrate(init_cond, x1, x2, h1, hmin); + +//std::cout << "x values:\n"; +//sol0._xval.Print(std::cout, 6, 3); std::cout << std::endl; +//std::cout << "y values: - "; +//sol0._yval.Print(std::cout, 6, 3); + +Visualizer::VisualizeODESysSolAsMultiFunc(sol0, "Lorenz system as multi function", "lorenz_1_as_multi_func.txt"); +Visualizer::VisualizeODESysSolAsParamCurve3(sol0, "Lorenz system as parametric curve", "demo5_lorenz_system_as_parametric_curve.txt"); +~~~ + +Solving ODE system with Dormand-Prince 8th order method + +~~~C++ +// get it from predefined test-bed +TestBeds::LorenzSystemODE sys0(10.0, 28.0, 8.0 / 3.0); + +const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0; +double x1 = 0.0, x2 = 50.0; +Vector ystart01({ 2.0, 1.0, 1.0 }); +Output out01(10000); + +ODESystemSolver ode_solver01(sys0, atol, rtol, out01); +ODESystemSolution sol01 = ode_solver01.integrate(ystart01, 0.0, 2.0, h1, hmin); + +Visualizer::VisualizeODESysSolAsMultiFunc(sol01, "Lorenz system solution - Dormand 8th order", "lorenz_dormand8.txt"); +~~~ + +Solving ODE system with Bulirsh-Stoer method + +~~~C++ +// get it from predefined test-bed +TestBeds::LorenzSystemODE sys0(10.0, 28.0, 8.0 / 3.0); + +const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0; +double x1 = 0.0, x2 = 50.0; +Vector ystartBS({ 2.0, 1.0, 1.0 }); +Output out_BS(10000); + +ODESystemSolver ode_solver_BS(sys0, atol, rtol, out_BS); +ODESystemSolution sol_BS = ode_solver_BS.integrate(ystartBS, 0.0, 2.0, h1, hmin); + +std::cout << "x values:\n"; sol_BS._xval.Print(std::cout, 6, 3); std::cout << std::endl; +std::cout << "y values: - "; sol_BS._yval.Print(std::cout, 6, 3); + +Visualizer::VisualizeODESysSolAsMultiFunc(sol_BS, "Lorenz system solution - Bulirsch-Stoer", "lorenz_bulirsch_stoer.txt"); +~~~ + +Solving ODE system with Runge-Kutta 4th order method + +~~~C++ +std::cout << "\n***********************************************************\n"; +std::cout << "****** Runge-Kutta 4th order - Dumb ******\n"; +// get it from predefined test-bed +TestBeds::LorenzSystemODE sys0(10.0, 28.0, 8.0 / 3.0); + +const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0; +double x1 = 0.0, x2 = 50.0; +Vector ystart0({ 2.0, 1.0, 1.0 }); +Output out_BS(10000); + +RungeKuttaSolverDumb rkdumb; +ODESystemSolutionEqualSpacing sol = rkdumb.integrate(sys0, ystart0, 0.0, 2.0, 20); + +std::cout << "x values:\n"; sol.xval.Print(std::cout, 6, 3); std::cout << std::endl; +std::cout << "y values: - "; sol.yval.Print(std::cout, 6, 3); + +std::cout << "\n***********************************************************\n"; +std::cout << "****** Runge-Kutta 4th order - stepper ******\n"; + +int nok, nbad; +ystart0[0] = 2.0; +ystart0[1] = 1.0; +ystart0[2] = 1.0; +RungeKuttaSolverSimple rkNR2; +ODESystemSolution sol2 = rkNR2.integrate(sys0, ystart0, 0.0, 2.0, 100, 0.1, 1e-06, h1, hmin, nok, nbad); + +std::cout << "x values:\n"; sol2._xval.Print(std::cout, 7, 3); std::cout << std::endl; +std::cout << "y values: - "; sol2._yval.Print(std::cout, 7, 3); + +Visualizer::VisualizeODESysSolAsMultiFunc(sol2, "Lorenz system solution - RK 4th order", "lorenz_RK_4th.txt"); +~~~ + +### Solving stiff systems + +Solving stiff ODE system with Rosenbrock method + +~~~C++ +std::cout << "\n***********************************************************\n"; +std::cout << "****** Stiff system - Rosenbrock method ******\n"; + +auto sys_stiff = TestBeds::ODESystemTestBed::getODESystemWithJacobian(0); + +const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0, x1 = 0.0, x2 = 2.0; +Vector ystart02(sys_stiff.getDim()); +ystart02[0] = 1.0; +ystart02[1] = 1.0; +ystart02[2] = 0.0; +Output out02(20); + +ODESystemSolver ode_solver02(sys_stiff, atol, rtol, out02); +ODESystemSolution sol02 = ode_solver02.integrate(ystart02, 0.0, 50.0, h1, hmin); + +std::cout << "x values:\n"; sol02._xval.Print(std::cout, 6, 3); std::cout << std::endl; +std::cout << "y values: - "; sol02._yval.Print(std::cout, 6, 3); +~~~ + +Solving stiff ODE system with Semi-Implicit Extrapolation method + +~~~C++ +std::cout << "\n***********************************************************\n"; +std::cout << "**** Stiff system - Semi-implicit extrapol method ***\n"; + +auto sys_stiff = TestBeds::ODESystemTestBed::getODESystemWithJacobian(0); + +const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0, x1 = 0.0, x2 = 2.0; +Vector ystart03(sys_stiff.getDim()); +ystart03[0] = 1.0; +ystart03[1] = 1.0; +ystart03[2] = 0.0; +Output out03(20); + +ODESystemSolver ode_solver03(sys_stiff, atol, rtol, out03); +ODESystemSolution sol03 = ode_solver03.integrate(ystart03, 0.0, 50.0, h1, hmin); + +std::cout << "x values:\n"; sol03._xval.Print(std::cout, 6, 3); std::cout << std::endl; +std::cout << "y values: - "; sol03._yval.Print(std::cout, 6, 3); +~~~ diff --git a/docs/algorithms/Differential_geometry.md b/docs/algorithms/Differential_geometry.md index 716ef9d..e54f7de 100644 --- a/docs/algorithms/Differential_geometry.md +++ b/docs/algorithms/Differential_geometry.md @@ -1 +1,63 @@ -# Differential geometry \ No newline at end of file +# Differential geometry + +Set of algorithms for differential geometry. +Right now, it contains only algorithms for calculating differential geometry proiperties of parametric curves. +With the use of ParametricCurveAnalyzer class, you can calculate tangent, normal, binormal, curvature, curvature vector and torsion. + +## Example usage + +~~~C++ +// using Helix curve from TestData +const ParametricCurve<3> &test_curve = TestBeds::ParametricCurvesTestBed::getTestCurve("Helix")._curve; + +std::cout << "t tangent unit_tangent normal unit_normal binormal" << std::endl; +for( int i=-10; i<=10; ++i) +{ + Real t = i / 10.0; + + auto tangent = ParametricCurveAnalyzer::getTangent(test_curve, t); + auto unit_tang = ParametricCurveAnalyzer::getTangentUnit(test_curve, t); + auto normal = ParametricCurveAnalyzer::getNormal(test_curve, t); + auto unit_norm = ParametricCurveAnalyzer::getNormalUnit(test_curve, t); + auto binormal = ParametricCurveAnalyzer::getBinormal(test_curve, t); + //auto binormal = VectorProd(Vector3Cartesian(unit_tang), Vector3Cartesian(unit_norm)); + //auto princNorm = ParametricCurveAnalyzer::getPrincipalNormal(test_curve, t); + + std::cout << "t = " << std::setw(4) << t << " : "; + + tangent.Print(std::cout, 10, 6, 1e-10); std::cout << " "; + unit_tang.Print(std::cout, 10, 6, 1e-10); std::cout << " "; + normal.Print(std::cout, 10, 6, 1e-10); std::cout << " "; + unit_norm.Print(std::cout, 10, 6, 1e-10); std::cout << " "; + binormal.Print(std::cout, 10, 6, 1e-10); + + std::cout << std::endl; + + auto curv_vec = ParametricCurveAnalyzer::getCurvatureVector(test_curve, t); + auto curvature = ParametricCurveAnalyzer::getCurvature(test_curve, t); + auto curvature3 = ParametricCurveAnalyzer::getCurvature3(test_curve, t); +} + +t tangent unit_tangent normal unit_normal binormal +t = -1 : [ 0.841471, 0.540302, 1] [ 0.59501, 0.382051, 0.707107] [ -0.540302, 0.841471, 0] [ -0.540302, 0.841471, 0] [ 0.59501, 0.382051, -0.707107] +t = -0.9 : [ 0.783327, 0.62161, 1] [ 0.553896, 0.439545, 0.707107] [ -0.62161, 0.783327, 0] [ -0.62161, 0.783327, 0] [ 0.553896, 0.439545, -0.707107] +t = -0.8 : [ 0.717356, 0.696707, 1] [ 0.507247, 0.492646, 0.707107] [ -0.696707, 0.717356, 0] [ -0.696707, 0.717356, 0] [ 0.507247, 0.492646, -0.707107] +t = -0.7 : [ 0.644218, 0.764842, 1] [ 0.455531, 0.540825, 0.707107] [ -0.764842, 0.644218, 0] [ -0.764842, 0.644218, 0] [ 0.455531, 0.540825, -0.707107] +t = -0.6 : [ 0.564642, 0.825336, 1] [ 0.399263, 0.5836, 0.707107] [ -0.825336, 0.564642, 0] [ -0.825336, 0.564642, 0] [ 0.399263, 0.5836, -0.707107] +t = -0.5 : [ 0.479426, 0.877583, 1] [ 0.339005, 0.620545, 0.707107] [ -0.877583, 0.479426, 0] [ -0.877583, 0.479426, 0] [ 0.339005, 0.620545, -0.707107] +t = -0.4 : [ 0.389418, 0.921061, 1] [ 0.27536, 0.651288, 0.707107] [ -0.921061, 0.389418, 0] [ -0.921061, 0.389418, 0] [ 0.27536, 0.651288, -0.707107] +t = -0.3 : [ 0.29552, 0.955336, 1] [ 0.208964, 0.675525, 0.707107] [ -0.955336, 0.29552, 0] [ -0.955336, 0.29552, 0] [ 0.208964, 0.675525, -0.707107] +t = -0.2 : [ 0.198669, 0.980067, 1] [ 0.14048, 0.693012, 0.707107] [ -0.980067, 0.198669, 0] [ -0.980067, 0.198669, 0] [ 0.14048, 0.693012, -0.707107] +t = -0.1 : [ 0.0998334, 0.995004, 1] [ 0.0705929, 0.703574, 0.707107] [ -0.995004, 0.0998334, 0] [ -0.995004, 0.0998334, 0] [ 0.0705929, 0.703574, -0.707107] +t = 0 : [ 0, 1, 1] [ 0, 0.707107, 0.707107] [ -1, 0, 0] [ -1, 0, 0] [ 0, 0.707107, -0.707107] +t = 0.1 : [-0.0998334, 0.995004, 1] [-0.0705929, 0.703574, 0.707107] [ -0.995004, -0.0998334, 0] [ -0.995004, -0.0998334, 0] [-0.0705929, 0.703574, -0.707107] +t = 0.2 : [ -0.198669, 0.980067, 1] [ -0.14048, 0.693012, 0.707107] [ -0.980067, -0.198669, 0] [ -0.980067, -0.198669, 0] [ -0.14048, 0.693012, -0.707107] +t = 0.3 : [ -0.29552, 0.955336, 1] [ -0.208964, 0.675525, 0.707107] [ -0.955336, -0.29552, 0] [ -0.955336, -0.29552, 0] [ -0.208964, 0.675525, -0.707107] +t = 0.4 : [ -0.389418, 0.921061, 1] [ -0.27536, 0.651288, 0.707107] [ -0.921061, -0.389418, 0] [ -0.921061, -0.389418, 0] [ -0.27536, 0.651288, -0.707107] +t = 0.5 : [ -0.479426, 0.877583, 1] [ -0.339005, 0.620545, 0.707107] [ -0.877583, -0.479426, 0] [ -0.877583, -0.479426, 0] [ -0.339005, 0.620545, -0.707107] +t = 0.6 : [ -0.564642, 0.825336, 1] [ -0.399263, 0.5836, 0.707107] [ -0.825336, -0.564642, 0] [ -0.825336, -0.564642, 0] [ -0.399263, 0.5836, -0.707107] +t = 0.7 : [ -0.644218, 0.764842, 1] [ -0.455531, 0.540825, 0.707107] [ -0.764842, -0.644218, 0] [ -0.764842, -0.644218, 0] [ -0.455531, 0.540825, -0.707107] +t = 0.8 : [ -0.717356, 0.696707, 1] [ -0.507247, 0.492646, 0.707107] [ -0.696707, -0.717356, 0] [ -0.696707, -0.717356, 0] [ -0.507247, 0.492646, -0.707107] +t = 0.9 : [ -0.783327, 0.62161, 1] [ -0.553896, 0.439545, 0.707107] [ -0.62161, -0.783327, 0] [ -0.62161, -0.783327, 0] [ -0.553896, 0.439545, -0.707107] +t = 1 : [ -0.841471, 0.540302, 1] [ -0.59501, 0.382051, 0.707107] [ -0.540302, -0.841471, 0] [ -0.540302, -0.841471, 0] [ -0.59501, 0.382051, -0.707107] +~~~ \ No newline at end of file diff --git a/docs/algorithms/Eigen_solvers.md b/docs/algorithms/Eigen_solvers.md index 4870c6a..1819aca 100644 --- a/docs/algorithms/Eigen_solvers.md +++ b/docs/algorithms/Eigen_solvers.md @@ -1,5 +1,171 @@ # Eigen solvers +MML implements two classes for solving eigenvalue problems: `SymmMatEigenSolver` for real symmetric matrices and `EigenSolver` for real unsymmetric matrices. + ## Real symmetric matrix eigen solver -## Real unsymmetric matrix eigen solver \ No newline at end of file +Class `SymmMatEigenSolver` computes all eigenvalues and eigenvectors of a real symmetric matrix by reduction to tridiagonal form followed by QL iteration. +Calculation happens in constructor, which takes the matrix as input. If the second argument is set to `true`, the eigenvectors are also computed. + +## Example usage +~~~C++ +MatrixSym symm_mat{ 5, {1.4, 2.1, 2.1, 7.4, 9.6, + 1.5, 1.1, 0.7, 5.0, + 9.6, 5.4, 8.8, + 0.4, 8.0, + 7.7 } }; +Matrix matcopy = symm_mat.GetAsMatrix(); + +SymmMatEigenSolver eigen_solver(symm_mat, true); + +int width = 15; +int prec = 10; + +std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); std::cout << std::endl; +std::cout << "Eigenvalues : "; eigen_solver.getEigenvalues().Print(std::cout, 10, 3); std::cout << "\n\n"; + +for (int i = 0; i < symm_mat.Dim(); i++) +{ + double eigen_val = eigen_solver.getEigenvalues()[i]; + Vector eigen_vec = eigen_solver.getEigenvector(i); + + std::cout << "Eigen value " << i + 1 << " (real) = " << eigen_val << std::endl; + std::cout << "Eigen vector " << i + 1 << " (real) = "; eigen_vec.Print(std::cout, width, prec); std::cout << std::endl; + + std::cout << "Mat * eig_vec = "; (matcopy * eigen_vec).Print(std::cout, width, prec); std::cout << std::endl; + std::cout << "eig_val * eig_vec = "; (eigen_val * eigen_vec).Print(std::cout, width, prec); std::cout << "\n\n"; +} + +/* OUTPUT +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 7.4, 1.1, 5.4, ] +[ 2.1, 2.1, 9.6, 0.7, 8.8, ] +[ 7.4, 9.6, 1.5, 5, 0.4, ] +[ 1.1, 0.7, 5, 9.6, 8, ] +[ 5.4, 8.8, 0.4, 8, 7.7, ] + +Eigenvalues : [ 24.6, 8.01, 3.54, -0.57, -13.3] + +Eigen value 1 (real) = 24.6 +Eigen vector 1 (real) = [ 0.3207830408, 0.4359308891, 0.3974911379, 0.4784849759, 0.5657874369] +Mat * eig_vec = [ 7.887571178, 10.71888311, 9.773707598, 11.76522392, 13.91185977] +eig_val * eig_vec = [ 7.887571178, 10.71888311, 9.773707598, 11.76522392, 13.91185977] + +Eigen value 2 (real) = 8.008425134 +Eigen vector 2 (real) = [ 0.323313998, 0.4160284348, 0.4267540611, -0.7051973277, -0.2072826582] +Mat * eig_vec = [ 2.589235948, 3.331732574, 3.417627949, -5.647520004, -1.66000765] +eig_val * eig_vec = [ 2.589235948, 3.331732574, 3.417627949, -5.647520004, -1.66000765] + +Eigen value 3 (real) = 3.541665812 +Eigen vector 3 (real) = [ 0.1398659018, -0.2065443391, 0.5233038154, 0.4572026692, -0.6744596367] +Mat * eig_vec = [ 0.4953582827, -0.7315110245, 1.853367233, 1.619259063, -2.388710637] +eig_val * eig_vec = [ 0.4953582827, -0.7315110245, 1.853367233, 1.619259063, -2.388710637] + +Eigen value 4 (real) = -0.5700940778 +Eigen vector 4 (real) = [ 0.8045643778, -0.5452049336, -0.1559364946, -0.09146643767, 0.1508159234] +Mat * eig_vec = [ -0.458677387, 0.3108181039, 0.0888984721, 0.05214447444, -0.08597926477] +eig_val * eig_vec = [ -0.458677387, 0.3108181039, 0.0888984721, 0.05214447444, -0.08597926477] + +Eigen value 5 (real) = -13.2684887 +Eigen vector 5 (real) = [ 0.3545137387, 0.5449546933, -0.6014305388, 0.2373783201, -0.3990955168] +Mat * eig_vec = [ -4.703861536, -7.230725189, 7.980074307, -3.149651558, 5.295394355] +eig_val * eig_vec = [ -4.703861536, -7.230725189, 7.980074307, -3.149651558, 5.295394355]* +*/ +~~~ + +## Real unsymmetric matrix eigen solver + +Class `EigenSolver` computes all eigenvalues and eigenvectors of a real nonsymmetric matrix by reduction to Hessenberg form followed by QR iteration. + +## Example usage +~~~C++ +Matrix origMat{ 5, 5, { 3.2,-4.1, 2.7, 3.4, 4.6, + 2.1, 3.5, 1.6,-0.7, 5.0, + 3.8,-1.3,-6.6,-5.4, 3.8, + 4.6, 8.2,-8.4, 0.4, 8.0, + 2.6, 2.9, 0.1, 9.6,-7.7 } }; +Matrix matcopy(origMat); + +EigenSolver eigen_solver(matcopy, true, false); + +int width = 15; +int prec = 10; +std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); std::cout << std::endl; + +std::cout << "Num real eigenvalues : " << eigen_solver.getNumReal() << std::endl; +std::cout << "Num complex eigenvalues : " << eigen_solver.getNumComplex() << "\n\n"; + +std::cout << "Real eigenvalues : "; eigen_solver.getRealEigenvalues().Print(std::cout, width, prec); std::cout << std::endl; +std::cout << "Complex eigenvalues : "; eigen_solver.getComplexEigenvalues().Print(std::cout, width, prec); std::cout << "\n\n"; + +Matrix mat_cmplx = MatrixUtils::CmplxMatFromRealMat(matcopy); + +for (int i = 0; i < origMat.RowNum(); i++) +{ + if (eigen_solver.isRealEigenvalue(i)) + { + double eigen_val = eigen_solver.getEigenvalues()[i].real(); + Vector eigen_vec = eigen_solver.getRealPartEigenvector(i); + + std::cout << "Eigen value " << i + 1 << " (real) = " << eigen_val << std::endl; + std::cout << "Eigen vector " << i + 1 << " (real) = "; eigen_vec.Print(std::cout, width, prec); std::cout << std::endl; + + std::cout << "Mat * eig_vec = "; (matcopy * eigen_vec).Print(std::cout, width, prec); std::cout << std::endl; + std::cout << "eig_val * eig_vec = "; (eigen_val * eigen_vec).Print(std::cout, width, prec); std::cout << "\n\n"; + } + else + { + Complex eigen_val = eigen_solver.getEigenvalues()[i]; + Vector eigen_vec = eigen_solver.getEigenvector(i); + + std::cout << "Eigen value " << i + 1 << " (complex) = " << eigen_val << std::endl; + std::cout << "Eigen vector " << i + 1 << " (complex) = "; eigen_solver.getEigenvector(i).Print(std::cout, width, prec); std::cout << std::endl; + + std::cout << "Mat * eig_vec = "; (mat_cmplx * eigen_vec).Print(std::cout, width, prec); std::cout << std::endl; + std::cout << "eig_val * eig_vec = "; (eigen_val * eigen_vec).Print(std::cout, width, prec); std::cout << "\n\n"; + } +} + +/* OUTPUT +Initial matrix: +Rows: 5 Cols: 5 +[ 3.2, -4.1, 2.7, 3.4, 4.6, ] +[ 2.1, 3.5, 1.6, -0.7, 5, ] +[ 3.8, -1.3, -6.6, -5.4, 3.8, ] +[ 4.6, 8.2, -8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, -7.7, ] + +Num real eigenvalues : 3 +Num complex eigenvalues : 2 + +Real eigenvalues : [ 11.76342368, -7.588677062, -16.23751082] +Complex eigenvalues : [(2.431382106,3.808290416), (2.431382106,-3.808290416)] + +Eigen value 1 (real) = 11.76342368 +Eigen vector 1 (real) = [ 0.3339842192, 0.2643676911, -0.05813239922, 0.6554857426, 0.4070134471] +Mat * eig_vec = [ 3.928797872, 3.109869156, -0.6838360413, 7.710756503, 4.78787162] +eig_val * eig_vec = [ 3.928797872, 3.109869156, -0.6838360413, 7.710756503, 4.78787162] + +Eigen value 2 (complex) = (2.431382106,3.808290416) +Eigen vector 2 (complex) = [(-0.2890819407,-0.9295540505), (-0.5477470685,0.2573057905), (-0.4005918445,-0.4458267692), (0.44828404,0.3937093584), (0.2334509995,0.1160082809)] +Mat * eig_vec = [(2.837143124,-3.361009069), (-2.311677597,-1.460371216), (0.7238459701,-2.609545311), (-0.4094097833,2.664453702), (0.1258153585,1.171109662)] +eig_val * eig_vec = [(2.837143124,-3.361009069), (-2.311677597,-1.460371216), (0.7238459701,-2.609545311), (-0.4094097833,2.664453702), (0.1258153585,1.171109662)] + +Eigen value 3 (complex) = (2.431382106,-3.808290416) +Eigen vector 3 (complex) = [(-0.2890819407,0.9295540505), (-0.5477470685,-0.2573057905), (-0.4005918445,0.4458267692), (0.44828404,-0.3937093584), (0.2334509995,-0.1160082809)] +Mat * eig_vec = [(2.837143124,3.361009069), (-2.311677597,1.460371216), (0.7238459701,2.609545311), (-0.4094097833,-2.664453702), (0.1258153585,-1.171109662)] +eig_val * eig_vec = [(2.837143124,3.361009069), (-2.311677597,1.460371216), (0.7238459701,2.609545311), (-0.4094097833,-2.664453702), (0.1258153585,-1.171109662)] + +Eigen value 4 (real) = -7.588677062 +Eigen vector 4 (real) = [ 0.7226386328, 0.3241902749, -0.4495106792, -0.2996399104, -0.920582649] +Mat * eig_vec = [ -5.483871217, -2.460175303, 3.41119138, 2.273870515, 6.986004432] +eig_val * eig_vec = [ -5.483871217, -2.460175303, 3.41119138, 2.273870515, 6.986004432] + +Eigen value 5 (real) = -16.23751082 +Eigen vector 5 (real) = [ -0.01376371301, -0.1611250262, -0.6690299644, -0.6241081545, 0.7685365962] +Mat * eig_vec = [ 0.223488439, 2.616269357, 10.86338129, 10.13396291, -12.4791213] +eig_val * eig_vec = [ 0.223488439, 2.616269357, 10.86338129, 10.13396291, -12.4791213]* +*/ +~~~ + diff --git a/docs/algorithms/Root_finding.md b/docs/algorithms/Root_finding.md index fef871e..f793e28 100644 --- a/docs/algorithms/Root_finding.md +++ b/docs/algorithms/Root_finding.md @@ -1 +1,76 @@ -# Root finding \ No newline at end of file +# Root finding + +List of functions for root finding: +- zbrac +- zbrak +- FindRootBisection +- FindRootFalsePosition +- FindRootSecant +- FindRootRidders +- FindRootBrent +- FindRootNewton +- FindRootSafe + +## Functions + +~~~C++ +// Given a function func and an initial guessed range x1 to x2, the routine expands +// the range geometrically until a root is bracketed by the returned values x1 and x2(in which +// case zbrac returns true) or until the range becomes unacceptably large(in which case zbrac +// returns false). +static bool zbrac(const IRealFunction& func, double& x1, double& x2) +~~~ + +~~~C++ +// Given a function or functor fx defined on the interval[x1, x2], subdivide the interval into +// n equally spaced segments, and search for zero crossings of the function.nroot will be set +// to the number of bracketing pairs found.If it is positive, the arrays xb1[0..nroot - 1] and +// xb2[0..nroot - 1] will be filled sequentially with any bracketing pairs that are found.On input, +// these vectors may have any size, including zero; they will be resized to nroot. +static void zbrak(const IRealFunction& fx, const Real x1, const Real x2, const int n, Vector& xb1, + Vector& xb2, int& nroot) +~~~ + +~~~C++ +// Using bisection, return the root of a function or functor func known to lie between x1 and x2. +// The root will be refined until its accuracy is xacc. +static Real FindRootBisection(const IRealFunction& func, const Real x1, const Real x2, const Real xacc) +~~~ + +~~~C++ +// Using the false - position method, return the root of a function or functor func known to lie +// between x1 and x2.The root is refined until its accuracy is xacc +static Real FindRootFalsePosition(const IRealFunction& func, const Real x1, const Real x2, const Real xacc) +~~~ + +~~~C++ +// Using the secant method, return the root of a function or functor func thought to lie between +// x1 and x2.The root is refined until its accuracy is ˙xacc. +static Real FindRootSecant(const IRealFunction& func, const Real x1, const Real x2, const Real xacc) +~~~ + +~~~C++ +// Using Ridders’ method, return the root of a function or functor func known to lie between x1 +// and x2.The root will be refined to an approximate accuracy xacc. +static Real FindRootRidders(const IRealFunction& func, const Real x1, const Real x2, const Real xacc) +~~~ + +~~~C++ +// Using Brent’s method, return the root of a function or functor func known to lie between x1 +// and x2.The root will be refined until its accuracy is tol. +static Real FindRootBrent(IRealFunction& func, const Real x1, const Real x2, const Real tol) +~~~ + +~~~C++ +// Using the Newton-Raphson method, return the root of a function known to lie in the interval +// x1; x2. The root will be refined until its accuracy is known within ˙xacc. +static Real FindRootNewton(const IRealFunction& funcd, const Real x1, const Real x2, const Real xacc) +~~~ + +~~~C++ +//Using a combination of Newton - Raphson and bisection, return the root of a function bracketed +//between x1 and x2.The root will be refined until its accuracy is known within ˙xacc.funcd +//is a user - supplied struct that returns the function value as a functor and the first derivative of +//the function at the point x as the function df(see text). +static Real FindRootSafe(const IRealFunction& funcd, const Real x1, const Real x2, const Real xacc) +~~~ diff --git a/docs/base/BaseUtils.md b/docs/base/BaseUtils.md index 80e552a..8cfb802 100644 --- a/docs/base/BaseUtils.md +++ b/docs/base/BaseUtils.md @@ -1,6 +1,17 @@ # BaseUtils -## Levi-Civitta +## Angle calculations + +~~~C++ +static Real DegToRad(Real angleDeg) { return angleDeg * Constants::PI / 180.0; } +static Real RadToDeg(Real angleRad) { return angleRad * 180.0 / Constants::PI; } + +static void AngleDegToExplicit(Real angle, Real& deg, Real& min, Real& sec); +static void AngleRadToExplicit(Real angleRad, Real& deg, Real& min, Real& sec) { AngleDegToExplicit(angleRad * 180.0 / Constants::PI, deg, min, sec); } +static Real ExplicitToAngleDeg(Real deg, Real min, Real sec) { return deg + min / 60.0 + sec / 3600.0; } +static Real ExplicitToAngleRad(Real deg, Real min, Real sec) { return ExplicitToAngleDeg(deg, min, sec) * Constants::PI / 180.0; } + +~~~ ## Complex helpers @@ -14,6 +25,10 @@ static bool AreEqual(const Vector &a, const Vector &b, double ~~~c++ static Vector VectorProjectionParallelTo(const Vector &orig, const Vector &b); static Vector VectorProjectionPerpendicularTo(const Vector &orig, const Vector &b); + +static Real ScalarProduct(const Vector& a, const Vector& b); +static Complex ScalarProduct(const Vector& a, const Vector& b); + template static Matrix OuterProduct(const Vector &a, const Vector &b); ~~~ @@ -33,31 +48,34 @@ const static inline MatrixNM Pauli[]; const static inline MatrixNM DiracGamma[]; ///////////////////// Creating Matrix from Vector /////////////////// -template static Matrix RowMatrixFromVector(const Vector &b) -template static Matrix ColumnMatrixFromVector(const Vector &b) -template static Matrix DiagonalMatrixFromVector(const Vector &b) +template static Matrix RowMatrixFromVector(const Vector &b); +template static Matrix ColumnMatrixFromVector(const Vector &b); +template static Matrix DiagonalMatrixFromVector(const Vector &b); -template static Matrix Commutator(const Matrix &a, const Matrix &b) -template static Matrix AntiCommutator(const Matrix &a, const Matrix &b) +template static Matrix Commutator(const Matrix &a, const Matrix &b); +template static Matrix AntiCommutator(const Matrix &a, const Matrix &b); -template static void MatrixDecompose(const Matrix &orig, Matrix &outSym, Matrix &outAntiSym) +template static void MatrixDecompose(const Matrix &orig, Matrix &outSym, Matrix &outAntiSym); ~~~ ## Matrix functions ~~~c++ -template static Matrix Exp(const Matrix &a, int n = 10) +template static Matrix Exp(const Matrix &a, int n = 10); ~~~ ## Real matrix helpers ~~~c++ -static bool IsOrthogonal(const Matrix &mat, double eps = Defaults::IsMatrixOrthogonalPrecision) +static bool IsOrthogonal(const Matrix &mat, double eps = Defaults::IsMatrixOrthogonalPrecision); ~~~ ## Complex matrix helpers ~~~c++ +static Matrix GetRealPart(const Matrix& a); +static Matrix GetImagPart(const Matrix& a); + static Matrix GetConjugateTranspose(const Matrix &mat) static Matrix CmplxMatFromRealMat(const Matrix &mat) static bool IsComplexMatReal(const Matrix &mat) @@ -65,7 +83,26 @@ static bool IsHermitian(const Matrix &mat) static bool IsUnitary(const Matrix &mat) ~~~ -## enabling Matrix - Matrix operations +## Enabling Matrix - Matrix operations + +~~~c++ +static Matrix AddMat(const Matrix& a, const Matrix& b); +static Matrix AddMat(const Matrix& a, const Matrix& b); + +static Matrix SubMat(const Matrix& a, const Matrix& b); +static Matrix SubMat(const Matrix& a, const Matrix& b); + +static Matrix MulMat(const Complex& a, const Matrix& b); +static Matrix MulMat(const Matrix& a, const Matrix& b); +static Matrix MulMat(const Matrix& a, const Matrix& b); + +static Vector MulMatVec(const Matrix& a, const Vector& b); +static Vector MulMatVec(const Matrix& a, const Vector& b); + +static Vector MulVecMat(const Vector& a, const Matrix& b); +static Vector MulVecMat(const Vector& a, const Matrix& b); +~~~ + diff --git a/docs/base/Geometry.md b/docs/base/Geometry.md index 073c115..4367f00 100644 --- a/docs/base/Geometry.md +++ b/docs/base/Geometry.md @@ -1,9 +1,117 @@ # General geometry classes +Set of simple geometry classes + ## Point2Cartesian +~~~C++ +class Point2Cartesian +{ +private: + Real _x, _y; + +public: + Real X() const { return _x; } + Real& X() { return _x; } + Real Y() const { return _y; } + Real& Y() { return _y; } + + Point2Cartesian() {} + Point2Cartesian(Real x, Real y) : _x(x), _y(y) {} + + Real Dist(const Point2Cartesian& b) const { return sqrt(POW2(b._x - _x) + POW2(b._y - _y)); } +}; +~~~ + ## Point2Polar +~~~C++ +class Point2Polar +{ +private: + Real _r, _phi; + +public: + Real R() const { return _r; } + Real& R() { return _r; } + Real Phi() const { return _phi; } + Real& Phi() { return _phi; } + + Point2Polar() {} + Point2Polar(Real r, Real phi) : _r(r), _phi(phi) {} + + Real Dist(const Point2Polar& b) const { return sqrt(R() * R() + b.R() * b.R() - 2 * R() * b.R() * cos(b.Phi() - Phi())); } +}; +~~~ + ## Point3Cartesian -## Triangle \ No newline at end of file +~~~C++ +class Point3Cartesian +{ +private: + Real _x, _y, _z; + +public: + Real X() const { return _x; } + Real& X() { return _x; } + Real Y() const { return _y; } + Real& Y() { return _y; } + Real Z() const { return _z; } + Real& Z() { return _z; } + + Point3Cartesian() {} + Point3Cartesian(Real x, Real y, Real z) : _x(x), _y(y), _z(z) {} + + Real Dist(const Point3Cartesian& b) const { return sqrt(POW2(b._x - _x) + POW2(b._y - _y) + POW2(b._z - _z)); } + + Point3Cartesian operator+(const Point3Cartesian& b) const { return Point3Cartesian(_x + b._x, _y + b._y, _z + b._z); } + Point3Cartesian operator-(const Point3Cartesian& b) const { return Point3Cartesian(_x - b._x, _y - b._y, _z - b._z); } + + friend Point3Cartesian operator*(const Point3Cartesian& a, Real b) { return Point3Cartesian(a._x * b, a._y * b, a._z * b); } + friend Point3Cartesian operator*(Real a, const Point3Cartesian& b) { return Point3Cartesian(a * b._x, a * b._y, a * b._z); } + friend Point3Cartesian operator/(const Point3Cartesian& a, Real b) { return Point3Cartesian(a._x / b, a._y / b, a._z / b); } +}; +~~~ + +## Triangle + +~~~C++ +class Triangle +{ +private: + Real _a, _b, _c; + +public: + Real A() const { return _a; } + Real& A() { return _a; } + Real B() const { return _b; } + Real& B() { return _b; } + Real C() const { return _c; } + Real& C() { return _c; } + + Triangle() {} + Triangle(Real a, Real b, Real c) : _a(a), _b(b), _c(c) {} + + Real Area() const + { + Real s = (_a + _b + _c) / 2.0; + return sqrt(s * (s - _a) * (s - _b) * (s - _c)); + } + bool IsRight() const + { + return ( POW2(_a) + POW2(_b) == POW2(_c)) || + (POW2(_a) + POW2(_c) == POW2(_b)) || + (POW2(_b) + POW2(_c) == POW2(_a) ); + } + bool IsIsosceles() const + { + return (_a == _b) || (_a == _c) || (_b == _c); + } + bool IsEquilateral() const + { + return (_a == _b) && (_a == _c); + } +}; +~~~ + diff --git a/docs/base/Geometry_2D_3D.md b/docs/base/Geometry_2D_3D.md index 8cb4873..e1e5338 100644 --- a/docs/base/Geometry_2D_3D.md +++ b/docs/base/Geometry_2D_3D.md @@ -1,21 +1,236 @@ # Geometry 2D & 3D classes +Defined geometrical objects: +- Line2D +- SegmentLine2D +- Triangle2D +- Polygon2D +- Line3D +- SegmentLine3D +- Plane3D +- Triangle3D + ## Geometry 2D **Line2D** +~~~C++ +class Line2D +{ +private: + Point2Cartesian _point; + Vector2Cartesian _direction; // unit vector in line direction + +public: + Line2D(const Point2Cartesian& pnt, const Vector2Cartesian dir); + Line2D(const Point2Cartesian& a, const Point2Cartesian& b); + + Point2Cartesian StartPoint() const { return _point; } + Point2Cartesian& StartPoint() { return _point; } + + Vector2Cartesian Direction() const { return _direction; } + Vector2Cartesian& Direction() { return _direction; } + + Point2Cartesian PointOnLine(Real t); +}; +~~~ + **SegmentLine2D** +~~~C++ +class SegmentLine2D +{ +private: + Point2Cartesian _point1; + Point2Cartesian _point2; + +public: + SegmentLine2D(Point2Cartesian pnt1, Point2Cartesian pnt2) : _point1(pnt1), _point2(pnt2); + SegmentLine2D(const Point2Cartesian& pnt1, const Vector2Cartesian& direction, Real t) : _point1(pnt1); + + Point2Cartesian StartPoint() const { return _point1; } + Point2Cartesian& StartPoint() { return _point1; } + + Point2Cartesian EndPoint() const { return _point2; } + Point2Cartesian& EndPoint() { return _point2; } + + Point2Cartesian PointOnSegment(Real t); + + Real Length() const { return _point1.Dist(_point2); } + Vector2Cartesian Direction() const { return Vector2Cartesian(_point1, _point2); } +}; +~~~ + **Triangle2D** +~~~C++ +class Triangle2D +{ +private: + Point2Cartesian _pnt1, _pnt2, _pnt3; + +public: + Triangle2D(Point2Cartesian pnt1, Point2Cartesian pnt2, Point2Cartesian pnt3) : _pnt1(pnt1), _pnt2(pnt2), _pnt3(pnt3) + + Point2Cartesian Pnt1() const { return _pnt1; } + Point2Cartesian& Pnt1() { return _pnt1; } + Point2Cartesian Pnt2() const { return _pnt2; } + Point2Cartesian& Pnt2() { return _pnt2; } + Point2Cartesian Pnt3() const { return _pnt3; } + Point2Cartesian& Pnt3() { return _pnt3; } + + Real Area() const; +}; +~~~ + **Polygon2D** +~~~C++ +~~~ + ## Geometry 3D **Line3D** +~~~C++ +class Line3D +{ +private: + Point3Cartesian _point; + Vector3Cartesian _direction; + +public: + Line3D() {} + Line3D(const Point3Cartesian& pnt, const Vector3Cartesian dir) + Line3D(const Point3Cartesian& a, const Point3Cartesian& b) + + Point3Cartesian StartPoint() const { return _point; } + Point3Cartesian& StartPoint() { return _point; } + + Vector3Cartesian Direction() const { return _direction; } + Vector3Cartesian& Direction() { return _direction; } + + Point3Cartesian PointOnLine(Real t) const { return _point + t * _direction; } + + bool IsPerpendicular(const Line3D& b) const; + bool IsParallel(const Line3D& b) const; + + Real Dist(const Point3Cartesian& pnt) const; + + Point3Cartesian NearestPoint(const Point3Cartesian& pnt) const; +}; +~~~ + **SegmentLine3D** +~~~C++ +class SegmentLine3D +{ +private: + Point3Cartesian _point1; + Point3Cartesian _point2; + +public: + SegmentLine3D(Point3Cartesian pnt1, Point3Cartesian pnt2) : _point1(pnt1), _point2(pnt2) + SegmentLine3D(Point3Cartesian pnt1, Vector3Cartesian direction, Real t) + + Point3Cartesian StartPoint() const { return _point1; } + Point3Cartesian& StartPoint() { return _point1; } + + Point3Cartesian EndPoint() const { return _point2; } + Point3Cartesian& EndPoint() { return _point2; } + + Point3Cartesian PointOnSegment(Real t); + + Real Length() const { return _point1.Dist(_point2); } + Vector3Cartesian Direction() const { return Vector3Cartesian(_point1, _point2); } +}; +~~~ + **Plane3D** +~~~C++ +class Plane3D +{ +private: + Real _A, _B, _C, _D; + +public: + Plane3D(const Point3Cartesian& a, const Vector3Cartesian& normal) + Plane3D(const Point3Cartesian& a, const Point3Cartesian& b, const Point3Cartesian& c) + : Plane3D(a, VectorProd(Vector3Cartesian(a, b), Vector3Cartesian(a, c))) { } + + Plane3D(Real alpha, Real beta, Real gamma, Real d) // Hesseov (normalni) oblik + Plane3D(Real seg_x, Real seg_y, Real seg_z) + + static Plane3D GetXYPlane() { return Plane3D(Point3Cartesian(0, 0, 0), Vector3Cartesian(0, 0, 1)); } + static Plane3D GetXZPlane() { return Plane3D(Point3Cartesian(0, 0, 0), Vector3Cartesian(0, 1, 0)); } + static Plane3D GetYZPlane() { return Plane3D(Point3Cartesian(0, 0, 0), Vector3Cartesian(1, 0, 0)); } + + Real A() const { return _A; } + Real& A() { return _A; } + Real B() const { return _B; } + Real& B() { return _B; } + Real C() const { return _C; } + Real& C() { return _C; } + Real D() const { return _D; } + Real& D() { return _D; } + + Point3Cartesian GetPointOnPlane() const; + + Vector3Cartesian Normal() const { return Vector3Cartesian(_A, _B, _C); } + + void GetCoordAxisSegments(Real& outseg_x, Real& outseg_y, Real& outseg_z); + + bool IsPointOnPlane(const Point3Cartesian& pnt, Real defEps = 1e-15) const; + Real DistToPoint(const Point3Cartesian& pnt) const; + + Point3Cartesian ProjectionToPlane(const Point3Cartesian& pnt) const; + + bool IsLineOnPlane(const Line3D& line) const; + + Real AngleToLine(const Line3D& line) const; + + bool IntersectionWithLine(const Line3D& line, Point3Cartesian& out_inter_pnt) const; + + bool IsParallelToPlane(const Plane3D& plane) const; + bool IsPerpendicularToPlane(const Plane3D& plane) const; + Real AngleToPlane(const Plane3D& plane) const; + Real DistToPlane(const Plane3D& plane) const; + bool IntersectionWithPlane(const Plane3D& plane, Line3D& out_inter_line) const; +}; +~~~ + **Triangle3D** + +~~~C++ +class Triangle3D +{ +private: + Point3Cartesian _pnt1, _pnt2, _pnt3; +public: + Triangle3D(Point3Cartesian pnt1, Point3Cartesian pnt2, Point3Cartesian pnt3) + : _pnt1(pnt1), _pnt2(pnt2), _pnt3(pnt3) + {} + + Point3Cartesian& Pnt1() { return _pnt1; } + Point3Cartesian& Pnt2() { return _pnt2; } + Point3Cartesian& Pnt3() { return _pnt3; } +}; +~~~ + +## Set of classes used for modeling surfaces and 3D bodies + +**TriangleSurface3D** + +**RectSurface3D** + +**IntegrableVolume3D** + +**SolidSurfaces3D** + +**ComposedSolidSurfaces3D** + +**TriangleSurface3D** + + diff --git a/docs/base/Matrices.md b/docs/base/Matrices.md index 4d563ca..94cc4d6 100644 --- a/docs/base/Matrices.md +++ b/docs/base/Matrices.md @@ -11,19 +11,3 @@ Additional types - MatrixTridiag - MatrixBandDiag - -## Defined typedefs for easier use - -Matrix class -~~~ c++ - typedef Matrix MatrixInt; - typedef Matrix MatrixFlt; - typedef Matrix MatrixDbl; - typedef Matrix MatrixComplex; - - typedef Matrix MatI; - typedef Matrix MatF; - typedef Matrix MatD; - typedef Matrix MatC; -~~~ - diff --git a/docs/base/Matrix.md b/docs/base/Matrix.md index d94abf4..9736152 100644 --- a/docs/base/Matrix.md +++ b/docs/base/Matrix.md @@ -2,124 +2,574 @@ Class representing matrix of statically define type (template parameter) and dynamically defined size. -## Initializing/creating matrices -Matrix class +## Class definition ~~~ c++ - MML::Matrix a; // empty matrix - MML::Matrix b(2,2); // empty matrix 2 x 2 - MML::Matrix c(2,2, {1.0, 0.0, 0.0, 1.0}); // matrix with initialized values - MML::Matrix d(c); - MML::Matrix e = c; - MML::Matrix f = MML::Matrix::GetUnitMatrix(3); - - MML::MatrixInt mat_int; - MML::MatrixDbl mat_dbl(3,3); - MML::MatrixComplex mat_cmplx(2,2, { Complex(1,1), Complex(-1,2), - Complex(2, -0.5), Complex(1,1) }); - - MML::MatI mat_i(3,3); - MML::MatF mat_d(3,3); - MML::MatC mat_c(3,3); - - MML::Mat3D mat_3d(3,3,3); -~~~ +template +class Matrix +{ +private: + int _rows; + int _cols; + Type** _data; + + void Init(int rows, int cols); +public: + // Constructors + Matrix(); + Matrix(int rows, int cols); + Matrix(int rows, int cols, Type val); + // useful if you have a pointer to continuous (row-wise) 2D array + Matrix(int rows, int cols, Type* val); + // in strict mode, you must supply ALL necessary values for complete matrix initialization + Matrix(int rows, int cols, std::initializer_list values, bool strictMode = true); + + void Resize(int rows, int cols); + typedef Type value_type; // make T available externally + + //////////////////////// Standard stuff //////////////////////// + int RowNum() const { return _rows; } + int ColNum() const { return _cols; } + + static Matrix GetUnitMatrix(int dim); + void MakeUnitMatrix(void); + Matrix GetLower(bool includeDiagonal = true) const; + Matrix GetUpper(bool includeDiagonal = true) const; + + ///////////////////// Matrix to Vector conversions //////////////////// + Vector VectorFromRow(int rowInd) const; + Vector VectorFromColumn(int colInd) const; + Vector VectorFromDiagonal() const; + + ///////////////////// Matrix properties //////////////////// + bool IsSymmetric() const; + bool IsDiagonal(double eps = Defaults::IsMatrixDiagonalPrecision) const; + bool IsUnit(double eps = Defaults::IsMatrixUnitPrecision) const; + bool IsDiagDominant() const; + + ///////////////////// Matrix operations //////////////////// + // ... basic math operations + + bool IsEqual(const Matrix& b, Type eps = Defaults::MatrixEqualityPrecision) const; + static bool AreEqual(const Matrix& a, const Matrix& b, Type eps = Defaults::MatrixEqualityPrecision); + + /////////////////// Trace, Inverse & Transpose /////////////////// + Type Trace() const; + + void Invert(); + Matrix GetInverse() const; + + void Transpose(); + Matrix GetTranspose() const; -## Matrix-vector init operations + /////////////////////////// I/O /////////////////////////// + std::string to_string(int width, int precision) const; + void Print(std::ostream& stream, int width, int precision) const; + void Print(std::ostream& stream, int width, int precision, double epsZero) const; + friend std::ostream& operator<<(std::ostream& stream, const Matrix& a); + + static bool LoadFromFile(std::string inFileName, Matrix& outMat) + static bool SaveToFile(const Matrix& mat, std::string inFileName) +} +~~~ +## Initializing/creating matrices ~~~ c++ - Vector a({1.0, 1.0, 1.0}); - Matrix matA = Matrix::RowMatrixFromVector(a); - Matrix matB = Matrix::ColumnMatrixFromVector(a); - - std::cout << "Vector a = " << a << std::endl; - std::cout << "Matrix matA = Matrix::RowMatrixFromVector(a);\nmatA = " << matA << std::endl; - std::cout << "Matrix matB = Matrix::ColMatrixFromVector(a);\nmatB = " << matB << std::endl; - - Matrix m1(2,2, {1.0, -1.0, 1.5, 3.0}); - Vector vecRow = Matrix::VectorFromRow(m1, 0); - Vector vecCol = Matrix::VectorFromColumn(m1, 0); - Vector vecDiag = Matrix::VectorFromDiagonal(m1); - - std::cout << "Matrix m1 = " << m1 << std::endl; - std::cout << "Vector vecRow = Matrix::VectorFromRow(a,0) = " << vecRow << std::endl; - std::cout << "Vector vecCol = Matrix::VectorFromColumn(a, 0) = " << vecCol << std::endl; - std::cout << "Vector vecCol = Matrix::VectorFromDiagonal(a) = " << vecDiag << std::endl; +Matrix mat1; // empty matrix +Matrix mat2(2, 2); // ampty matrix 2 x 2 +Matrix mat3(3, 3, { 2.0, 0.7, -1.2, // matrix with initialized values + 1.3, 1.5, 2.0, + -0.8, 0.0, -1.0 }); +Matrix mat_unit = Matrix::GetUnitMatrix(4); + +Matrix mat_int1(2, 2, { 1, 2, 3, 4 }); +MatrixComplex mat_cmplx1(2, 2, { Complex(-1, 1.5), Complex(-4.3,-2.1), + Complex( 2,-0.5), Complex( 1.7, 3.2) }); + +// shorter typing with typedefs +MatrixInt mat_int(3, 3); +MatrixFlt mat_flt(3, 3); +MatrixDbl mat_dbl(mat3); +MatI mat_i(3, 3); +MatF mat_d(3, 3); +MatC mat_c2 = mat_cmplx1; + +std::cout << "mat1 = " << mat1 << std::endl; +std::cout << "mat2 = " << mat2 << std::endl; +std::cout << "mat3 = " << mat3 << std::endl; +std::cout << "mat_unit = " << mat_unit << std::endl; +std::cout << "mat_int1 = " << mat_int1 << std::endl; +std::cout << "mat_cmplx1 = " << mat_cmplx1 << std::endl; + +Vector vec_a({ 1.0, -2.0, 3.0 }); +Matrix matA = MatrixUtils::RowMatrixFromVector(vec_a); +Matrix matB = MatrixUtils::ColumnMatrixFromVector(vec_a); + +std::cout << "Vector a = " << vec_a << std::endl; +std::cout << "Matrix::RowMatrixFromVector(a) = " << matA << std::endl; +std::cout << "Matrix::ColMatrixFromVector(a) = " << matB << std::endl; + +/* OUTPUT +mat1 = Rows: 0 Cols: 0 + +mat2 = Rows: 2 Cols: 2 +[ 0, 0, ] +[ 0, 0, ] + +mat3 = Rows: 3 Cols: 3 +[ 2, 0.7, -1.2, ] +[ 1.3, 1.5, 2, ] +[ -0.8, 0, -1, ] + +mat_unit = Rows: 4 Cols: 4 +[ 1, 0, 0, 0, ] +[ 0, 1, 0, 0, ] +[ 0, 0, 1, 0, ] +[ 0, 0, 0, 1, ] + +mat_int1 = Rows: 2 Cols: 2 +[ 1, 2, ] +[ 3, 4, ] + +mat_cmplx1 = Rows: 2 Cols: 2 +[ (-1,1.5), (-4.3,-2.1), ] +[ (2,-0.5), (1.7,3.2), ] + +Vector a = [ 1, -2, 3] +Matrix::RowMatrixFromVector(a) = Rows: 1 Cols: 3 +[ 1, -2, 3, ] + +Matrix::ColMatrixFromVector(a) = Rows: 3 Cols: 1 +[ 1, ] +[ -2, ] +[ 3, ] +*/ ~~~ ## Matrix math operations Basic math operations ~~~ c++ - Matrix m1(2,2, {1.0, -1.0, 1.5, 3.0}), m2(2,2, {-2.5, 3.0, 1, -1.0}); - m2.MakeUnitMatrix(); - - std::cout << "m1 = " << m1 << std::endl; - std::cout << "m2 = " << m2 << std::endl; - - std::cout << "m1 + m2 = " << m1 + m2 << std::endl; - std::cout << "m1 - m2 = " << m1 - m2 << std::endl; - std::cout << "m1 * m2 = " << m1 * m2 << std::endl; - std::cout << "2.0 * m1 = " << 2.0 * m1 << std::endl; - std::cout << "m1 * 2.0 = " << m1 * 2.0 << std::endl; - std::cout << "m1 / 2.0 = " << m1 / 2.0 << std::endl; + Matrix m1(2, 2, { 1.0, -1.0, + 1.5, 3.0 }); + Matrix m2(2, 2, { -2.5, 3.0, + 1, -1.0 }); + + std::cout << "m1 = " << m1 << std::endl; + std::cout << "m2 = " << m2 << std::endl; + + std::cout << "m1 + m2 = " << m1 + m2 << std::endl; + std::cout << "m1 - m2 = " << m1 - m2 << std::endl; + std::cout << "m1 * m2 = " << m1 * m2 << std::endl; + std::cout << "2.0 * m1 = " << 2.0 * m1 << std::endl; + std::cout << "m1 * 2.0 = " << m1 * 2.0 << std::endl; + std::cout << "m1 / 2.0 = " << m1 / 2.0 << std::endl; + + MatrixComplex mat_cmplx1(2, 2, { Complex(-1, 1.5), Complex(-4.3,-2.1), + Complex(2,-0.5), Complex(1.7, 3.2) }); + MatrixComplex mat_cmplx2(2, 2, { Complex(-2.5, 1.5), Complex(3.0, -2.1), + Complex(1.0, 2.0), Complex(-1.0, 3.2) }); + + std::cout << "mat_cmplx1 = " << mat_cmplx1 << std::endl; + std::cout << "mat_cmplx2 = " << mat_cmplx2 << std::endl; + + std::cout << "mat_cmplx1 + mat_cmplx2 = " << mat_cmplx1 + mat_cmplx2 << std::endl; + std::cout << "mat_cmplx1 - mat_cmplx2 = " << mat_cmplx1 - mat_cmplx2 << std::endl; + std::cout << "mat_cmplx1 * mat_cmplx2 = " << mat_cmplx1 * mat_cmplx2 << std::endl; + std::cout << "2.0 * mat_cmplx1 = " << Complex(2.0) * mat_cmplx1 << std::endl; + std::cout << "mat_cmplx1 * Complex(2.0, -1.5) = " << mat_cmplx1 * Complex(2.0, -1.5) << std::endl; + std::cout << "mat_cmplx1 / 2.0 = " << mat_cmplx1 / 2.0 << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m2 = Rows: 2 Cols: 2 +[ -2.5, 3, ] +[ 1, -1, ] + +m1 + m2 = Rows: 2 Cols: 2 +[ -1.5, 2, ] +[ 2.5, 2, ] + +m1 - m2 = Rows: 2 Cols: 2 +[ 3.5, -4, ] +[ 0.5, 4, ] + +m1 * m2 = Rows: 2 Cols: 2 +[ -3.5, 4, ] +[ -0.75, 1.5, ] + +2.0 * m1 = Rows: 2 Cols: 2 +[ 2, -2, ] +[ 3, 6, ] + +m1 * 2.0 = Rows: 2 Cols: 2 +[ 2, -2, ] +[ 3, 6, ] + +m1 / 2.0 = Rows: 2 Cols: 2 +[ 0.5, -0.5, ] +[ 0.75, 1.5, ] + +mat_cmplx1 = Rows: 2 Cols: 2 +[ (-1,1.5), (-4.3,-2.1), ] +[ (2,-0.5), (1.7,3.2), ] + +mat_cmplx2 = Rows: 2 Cols: 2 +[ (-2.5,1.5), (3,-2.1), ] +[ (1,2), (-1,3.2), ] + +mat_cmplx1 + mat_cmplx2 = Rows: 2 Cols: 2 +[ (-3.5,3), (-1.3,-4.2), ] +[ (3,1.5), (0.7,6.4), ] + +mat_cmplx1 - mat_cmplx2 = Rows: 2 Cols: 2 +[ (1.5,0), (-7.3,0), ] +[ (1,-2.5), (2.7,0), ] + +mat_cmplx1 * mat_cmplx2 = Rows: 2 Cols: 2 +[ (0.15,-15.9), (11.2,-5.06), ] +[ (-8.95,10.8), (-6.99,-3.46), ] + +2.0 * mat_cmplx1 = Rows: 2 Cols: 2 +[ (-2,3), (-8.6,-4.2), ] +[ (4,-1), (3.4,6.4), ] + +mat_cmplx1 * Complex(2.0, -1.5) = Rows: 2 Cols: 2 +[ (0.25,4.5), (-11.8,2.25), ] +[ (3.25,-4), (8.2,3.85), ] + +mat_cmplx1 / 2.0 = Rows: 2 Cols: 2 +[ (-0.5,0.75), (-2.15,-1.05), ] +[ (1,-0.25), (0.85,1.6), ] +*/ ~~~ -Matrix Vector multiplication +Matrix-Vector multiplication ~~~ c++ - Vector v1({1.0, 2.0}); - Matrix m1(2,2, {1.0, -1.0, 1.5, 3.0}); - - std::cout << "v1 = " << v1 << std::endl; - std::cout << "m1 = " << m1 << std::endl; - - std::cout << "v1 * m1 = " << v1 * m1 << std::endl; - std::cout << "m1 * v1 = " << m1 * v1 << std::endl; +Vector v1({ 1.0, 2.0 }); +Matrix m1(2, 2, { 1.0, -1.0, 1.5, 3.0 }); + +std::cout << "v1 = " << v1 << std::endl; +std::cout << "m1 = " << m1 << std::endl; + +std::cout << "v1 * m1 = " << v1 * m1 << std::endl; +// when multiplying with vector on the right, we are treating it as a column vector! +std::cout << "m1 * v1 = " << m1 * v1 << std::endl; + +// combining Complex and Real vectors/matrices requires special functions +Vector v_cmplx_2({ Complex(1.0, 2.0), Complex(2.0, 3.0) }); +Matrix m_cmplx_2(2, 2, { Complex(1.0, -1.0), Complex(1.5, 3.0), + Complex(2.0, 1.0), Complex(1.0, 2.0) }); + +std::cout << "v_cmplx_2 = " << v_cmplx_2 << std::endl; +std::cout << "m_cmplx_2 = " << m_cmplx_2 << std::endl; + +std::cout << "v1 * m_cmplx_2 = " << MatrixUtils::MulVecMat(v1, m_cmplx_2) << std::endl; +std::cout << "v_cmplx_2 * m1 = " << MatrixUtils::MulVecMat(v_cmplx_2, m1) << std::endl; +std::cout << "m_cmplx_2 * v1 = " << MatrixUtils::MulMatVec(m_cmplx_2, v1) << std::endl; +std::cout << "m1 * v_cmplx_2 = " << MatrixUtils::MulMatVec(m1, v_cmplx_2) << std::endl; + +/* OUTPUT +v1 = [ 1, 2] +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +v1 * m1 = [ 4, 5] +m1 * v1 = [ -1, 7.5] + +v_cmplx_2 = [ (1,2), (2,3)] +m_cmplx_2 = Rows: 2 Cols: 2 +[ (1,-1), (1.5,3), ] +[ (2,1), (1,2), ] + +v1 * m_cmplx_2 = [ (5,1), (3.5,7)] +v_cmplx_2 * m1 = [ (4,6.5), (5,7)] +m_cmplx_2 * v1 = [ (4,5), (4,5)] +m1 * v_cmplx_2 = [ (-1,-1), (7.5,12)] +*/ ~~~ -Matrix Matrix multiplication +Matrix-Matrix multiplication ~~~ c++ - MML::Matrix m3(1, 3, {1.0, 1.0, 1.0}); - MML::Matrix m4(3, 4, {1.0, 0.0, 0.0, 0.0, - 0.0, 1.0, 0.0, 0.0, - 0.0, 0.0, 1.0, 1.0}); - MML::Matrix m5 = m3 * m4; - - std::cout << "m3 = " << m3 << std::endl; - std::cout << "m4 = " << m4 << std::endl; - std::cout << "m3 * m4 = " << m5 << std::endl; +Matrix m3(2, 3, { 0.5, 1.5, -1.0, + 3.2, -2.0, 1.0 }); + +Matrix m4(3, 4, { 1.0, 0.8, 4.0, 1.3, + -2.0, 1.0, 0.0,-1.0, + 3.0, 0.5, 1.0, 1.0 }); + +std::cout << "m3 = " << m3 << std::endl; +std::cout << "m4 = " << m4 << std::endl; +std::cout << "m3 * m4 = " << m3 * m4 << std::endl; + +// multiplying Complex and Real matrices requires special functions +Matrix m3_cmplx(2, 3, { Complex(1.4, -1.0), Complex(1.5, 3.0), (2.5, 1.5), + Complex(2.0, 1.5), Complex(1.0, 2.2), (-1.1, 2.8) }); + +Matrix m5_cmplx = MatrixUtils::MulMat(m3_cmplx, m4); + +std::cout << "m3_cmplx = " << m3_cmplx << std::endl; +std::cout << "m3_cmplx * m4 = " << m5_cmplx << std::endl; + +/* OUTPUT +m3 = Rows: 2 Cols: 3 +[ 3, 0.5, 1, 1, ] +[ 3.2, -2, 1, ] +m3 * m4 = Rows: 2 Cols: 4 +[ -5.5, 1.4, 1, -1.85, ] +[ 10.2, 1.06, 13.8, 7.16, ] +[ -2, 1, 0, -1, ] +m3_cmplx = Rows: 2 Cols: 3 +[ (1.4,-1), (1.5,3), (1.5,0), ] +[ (2,1.5), (1,2.2), (2.8,0), ] + +m3_cmplx * m4 = Rows: 2 Cols: 4 +[ (2.9,-7), (3.37,2.2), (7.1,-4), (1.82,-4.3), ] +[ (8.4,-2.9), (4,3.4), (10.8,6), (4.4,-0.25), ] +*/ ~~~ ## Operations on matrix objects - Invert & Transpose Invert ~~~ c++ - MML::Matrix m1(2, 2, {1.0, -1.0, 1.5, 3.0}); +Matrix m1(3, 3, { 1.0, 2.0, -1.0, + -1.0, 5.0, 6.0, + 3.0, 1.0, 1.0 }); + +std::cout << "m1 = " << m1 << std::endl; +auto m2 = m1.GetInverse(); + +std::cout << "m2 (inv) = " << m2 << std::endl; + +auto munit = m1 * m2; +std::cout << "m1 * m2 = " << munit << std::endl; + + /* OUTPUT + m1 = Rows: 3 Cols: 3 +[ 1, 2, -1, ] +[ -1, 5, 6, ] +[ 3, 1, 1, ] - std::cout << "m1 = " << m1 << std::endl; - auto m2 = m1.GetInverse(); - - std::cout << "m2 (inv) = " << m2 << std::endl; +m2 (inv) = Rows: 3 Cols: 3 +[ -0.0189, -0.0566, 0.321, ] +[ 0.358, 0.0755, -0.0943, ] +[ -0.302, 0.0943, 0.132, ] - auto munit = m1 * m2; - std::cout << "m1 * m2 = " << munit << std::endl; +m1 * m2 = Rows: 3 Cols: 3 +[ 1, -1.39e-17, -2.78e-17, ] +[ 2.22e-16, 1, 0, ] +[ 0, -2.78e-17, 1, ] +*/ ~~~ + Transpose ~~~ c++ - MML::Matrix m1(2, 2, {1.0, -1.0, 1.5, 3.0}); - std::cout << "m1 = " << m1 << std::endl; +Matrix m1(2, 2, { 1.0, -1.0, + 1.5, 3.0 }); +std::cout << "m1 = " << m1 << std::endl; +std::cout << "m1 (transp) = " << m1.GetTranspose() << std::endl; + +Matrix m2(2, 4, { 1.0, -1.0, 2.0, 1.0, + 1.5, 3.0, 7.0, 4.0 }); +std::cout << "m2 = " << m2 << std::endl; +std::cout << "m2 (transp) = " << m2.GetTranspose() << std::endl; + +Matrix m3(5, 1, { 1.0, -1.0, 2.0, 1.0, 3.0 }); +std::cout << "m3 = " << m3 << std::endl; +std::cout << "m3 (transp) = " << m3.GetTranspose() << std::endl; + +// we can do transposing in place (BUT ONLY FOR SQUARE MATRICES!) +m1.Transpose(); +std::cout << "ms (after transposing) = " << m1 << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m1 (transp) = Rows: 2 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] + +m2 = Rows: 2 Cols: 4 +[ 1, -1, 2, 1, ] +[ 1.5, 3, 7, 4, ] - auto m2 = m1.GetTranspose(); - std::cout << "m2 (transp) = " << m2 << std::endl; +m2 (transp) = Rows: 4 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] +[ 2, 7, ] +[ 1, 4, ] - m1.Transpose(); - std::cout << "Transposing m1 (in place) = " << m1 << std::endl; +m3 = Rows: 5 Cols: 1 +[ 1, ] +[ -1, ] +[ 2, ] +[ 1, ] +[ 3, ] + +m3 (transp) = Rows: 1 Cols: 5 +[ 1, -1, 2, 1, 3, ] + +ms (after transposing) = Rows: 2 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] +*/ ~~~ -## Handling exceptions +## Symmetric matrix ~~~ c++ +MatrixSym a(3, { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 }); + +a.Print(std::cout, 10, 3); +MatrixSym b(3, { 1.0, + 2.0, 3.0, + 4.0, 5.0, 6.0 }); + +b.Print(std::cout, 10, 3); + +/* OUTPUT +Rows: 3 +[ 1, 2, 4, ] +[ 2, 3, 5, ] +[ 4, 5, 6, ] +Rows: 3 +[ 1, 2, 4, ] +[ 2, 3, 5, ] +[ 4, 5, 6, ] +*/ ~~~ -## Matrix IO +## Tridiagonal matrix +~~~ c++ +// Dim: 4 +// [ 4, 1, 0, 0, ] +// [ 4.5, 1.5, 2, 0, ] +// [ 0, 9, 6, 3, ] +// [ 0, 0, 10, 7, ] + +// initializing with 3 vectors +TridiagonalMatrix a(4, { 0.0, 4.5, 9.0, 10.0 }, { 4.0, 1.5, 6.0, 7.0 }, { 1.0, 2.0, 3.0, 0.0 }); + +// initializing with values in single initializer list +TridiagonalMatrix b(4, { 4.0, 1.0, + 4.5, 1.5, 2.0, + 9.0, 6.0, 3.0, + 10.0, 7.0 }); + +Matrix c(4, 4, { 4.0, 1.0, 0.0, 0.0, + 4.5, 1.5, 2.0, 0.0, + 0.0, 9.0, 6.0, 3.0, + 0.0, 0.0, 10.0, 7.0 }); +Vector rhs{ 1.0, 2.0, 3.0, 4.0 }; + +a.Print(std::cout, 10, 3); +b.Print(std::cout, 10, 3); +std::cout << "rhs: " << rhs << std::endl; + +Vector sol_a(4), sol_b(4); + +a.Solve(rhs, sol_a); +b.Solve(rhs, sol_b); + +std::cout << "sol_a: " << sol_a << std::endl; +std::cout << "sol_b: " << sol_b << std::endl; + +std::cout << "Tridiag sol_a mul" << c * sol_a << std::endl; +std::cout << "Tridiag sol_b mul" << c * sol_b << std::endl; + +/* OUTPUT +Dim: 4 +[ 4, 1, 0, 0, ] +[ 4.5, 1.5, 2, 0, ] +[ 0, 9, 6, 3, ] +[ 0, 0, 10, 7, ] +Dim: 4 +[ 4, 1, 0, 0, ] +[ 4.5, 1.5, 2, 0, ] +[ 0, 9, 6, 3, ] +[ 0, 0, 10, 7, ] +rhs: [ 1, 2, 3, 4] +sol_a: [ 0.2345679012, 0.06172839506, 0.4259259259, -0.03703703704] +sol_b: [ 0.2345679012, 0.06172839506, 0.4259259259, -0.03703703704] +Tridiag sol_a mul[ 1, 2, 3, 4] +Tridiag sol_b mul[ 1, 2, 3, 4] + */ +~~~ + +## Banddiagonal matrix +~~~ c++ +// Dim: 4 +// [ 4, 1, 0, 0, ] +// [ 4.5, 1.5, 2, 0, ] +// [ 0, 9, 6, 3, ] +// [ 0, 0, 10, 7, ] +Matrix mat(4, 3, { 0.0, 4.0, 1.0, + 4.5, 1.5, 2.0, + 9.0, 6.0, 3.0, + 10.0, 7.0, 0.0 }); + +BandDiagonalMatrix band1(4, 1, 1, mat); +band1.Print(std::cout, 10, 3); +// Dim: 7 +// [ 3, 1, 0, 0, 0, 0, 0, ] +// [ 4, 1, 5, 0, 0, 0, 0, ] +// [ 9, 2, 6, 5, 0, 0, 0, ] +// [ 0, 4, 2, 2, 5, 0, 0, ] +// [ 0, 0, 4, 2, 2, 4, 0, ] +// [ 0, 0, 0, 3, 8, 4, 6, ] +// [ 0, 0, 0, 0, 2, 4, 4, ] +Matrix mat2(7, 4, { 0.0, 0.0, 3.0, 1.0, + 0.0, 4.0, 1.0, 5.0, + 9.0, 2.0, 6.0, 5.0, + 4.5, 1.5, 2.0, 5.0, + 4.5, 1.5, 2.0, 4.0, + 3.0, 8.0, 4.0, 6.0, + 2.0, 4.0, 4.0, 0.0 }); + +BandDiagonalMatrix band2(7, 2, 1, mat2); +band2.Print(std::cout, 6, 1); + +/* OUTPUT +Dim: 4 +[ 4, 1, 0, 0, ] +[ 4.5, 1.5, 2, 0, ] +[ 0, 9, 6, 3, ] +[ 0, 0, 10, 7, ] +Dim: 7 +[ 3, 1, 0, 0, 0, 0, 0, ] +[ 4, 1, 5, 0, 0, 0, 0, ] +[ 9, 2, 6, 5, 0, 0, 0, ] +[ 0, 4, 2, 2, 5, 0, 0, ] +[ 0, 0, 4, 2, 2, 4, 0, ] +[ 0, 0, 0, 3, 8, 4, 6, ] +[ 0, 0, 0, 0, 2, 4, 4, ] +*/ +~~~ + +## Handling exceptions ~~~ c++ - std::cout << "\nReal vector output:\n"; +~~~ + +## Matrix IO +~~~ c++ ~~~ + +## Defined typedefs for easier use + +Matrix class +~~~ c++ +typedef Matrix MatrixInt; +typedef Matrix MatrixFlt; +typedef Matrix MatrixDbl; +typedef Matrix MatrixComplex; + +typedef Matrix MatI; +typedef Matrix MatF; +typedef Matrix MatD; +typedef Matrix MatC; +~~~ \ No newline at end of file diff --git a/docs/base/MatrixNM.md b/docs/base/MatrixNM.md index 84f3f3e..6fb23d6 100644 --- a/docs/base/MatrixNM.md +++ b/docs/base/MatrixNM.md @@ -2,6 +2,327 @@ Class representing matrix of statically define type and size (as template parameters). +## Class definition +~~~ c++ +template +class MatrixNM +{ +public: + Type _vals[N][M] = { {0} }; + +public: + ////////////////////////// Constructors ///////////////////////// + MatrixNM() {} + MatrixNM(std::initializer_list values) + MatrixNM(const MatrixNM& m) + MatrixNM(const Type& m) // initialize as diagonal matrix + + typedef Type value_type; // make T available externally + + //////////////////////// Standard stuff //////////////////////// + int RowNum() const { return N; } + int ColNum() const { return M; } + + static MatrixNM GetUnitMatrix() + void MakeUnitMatrix(void) + + MatrixNM GetLower(bool includeDiagonal = true) const + MatrixNM GetUpper(bool includeDiagonal = true) const + + ///////////////////// Vector-Matrix conversion ///////////////////// + static MatrixNM RowMatrixFromVector(const VectorN& b) + static MatrixNM ColumnMatrixFromVector(const VectorN& b) + static MatrixNM DiagonalMatrixFromVector(const VectorN& b) + static VectorN VectorFromRow(const MatrixNM& a, int rowInd) + static VectorN VectorFromColumn(const MatrixNM& a, int colInd) + static VectorN VectorFromDiagonal(const MatrixNM& a) + + ///////////////////// Assignment operators //////////////////// + MatrixNM& operator=(const MatrixNM& m) + MatrixNM& operator=(const Type& m) + + //////////////////// Access operators /////////////////////// + Type* operator[](int i) { return _vals[i]; } + const Type* operator[](const int i) const { return _vals[i]; } + + Type operator()(int i, int j) const { return _vals[i][j]; } + Type& operator()(int i, int j) { return _vals[i][j]; } + + // version with checking bounds + Type ElemAt(int i, int j) const + Type& ElemAt(int i, int j) + + //////////////////// Arithmetic operators //////////////////// + MatrixNM operator-() // unary minus + MatrixNM operator+(const MatrixNM& b) const + MatrixNM operator-(const MatrixNM& b) const + template + MatrixNM operator*(const MatrixNM& b) const + + friend MatrixNM operator*(const MatrixNM& a, Type b) + friend MatrixNM operator/(const MatrixNM& a, Type b) + friend MatrixNM operator*(Type a, const MatrixNM& b) + + friend VectorN operator*(const MatrixNM& a, const VectorN& b) + friend VectorN operator*(const VectorN& a, const MatrixNM& b) + + /////////////////////// Equality operations ////////////////////// + bool operator==(const MatrixNM& b) const + bool operator!=(const MatrixNM& b) const + + bool IsEqual(const MatrixNM& b, Type eps = Defaults::MatrixEqualityPrecision) const + bool AreEqual(const MatrixNM& a, const MatrixNM& b, Type eps = Defaults::MatrixEqualityPrecision) const + + /////////////////// Trace, Inverse & Transpose /////////////////// + Type Trace() const + + void Invert() + MatrixNM GetInverse() const + + void Transpose() + MatrixNM GetTranspose() const + + /////////////////////////// I/O /////////////////////////// + std::string to_string(int width, int precision) const + void Print(std::ostream& stream, int width, int precision) const + friend std::ostream& operator<<(std::ostream& stream, const MatrixNM& a) +}; +~~~ + +## MatrixNM initialization +~~~ c++ +MatrixNM a; +MatrixNM b({ 1.0, 0.0, 0.0, 1.0 }); +MatrixNM c(b); +MatrixNM d = c; +auto e = MatrixNM::GetUnitMatrix(); + +std::cout << "a = " << a << std::endl; +std::cout << "b = " << b << std::endl; +std::cout << "c = " << c << std::endl; +std::cout << "d = " << d << std::endl; +std::cout << "e = " << e << std::endl; + + /* OUTPUT +a = Rows: 2 Cols: 2 +[ 0, 0, ] +[ 0, 0, ] + +b = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] + +c = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] + +d = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] + +e = Rows: 3 Cols: 3 +[ 1, 0, 0, ] +[ 0, 1, 0, ] +[ 0, 0, 1, ] + */ +~~~ + +## MatrixNM - VectorN init operations +~~~ c++ + +VectorN a({ 1.0, 1.0, 1.0 }); +MatrixNM matA = MatrixNM::RowMatrixFromVector(a); +auto matAauto = MatrixNM::RowMatrixFromVector(a); +MatrixNM matB = MatrixNM::ColumnMatrixFromVector(a); +auto matBauto = MatrixNM::ColumnMatrixFromVector(a); + +std::cout << "Vector a = " << a << std::endl; +std::cout << "Matrix matA = Matrix::RowMatrixFromVector(a);\nmatA = " << matA << std::endl; +std::cout << "Matrix matB = Matrix::ColMatrixFromVector(a);\nmatB = " << matB << std::endl; + +MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); +VectorN vecRow = MatrixNM::VectorFromRow(m1, 0); +VectorN vecCol = MatrixNM::VectorFromColumn(m1, 0); +VectorN vecDiag = MatrixNM::VectorFromDiagonal(m1); + +std::cout << "Matrix m1 = " << m1 << std::endl; +std::cout << "Vector vecRow = Matrix::VectorFromRow(a,0) = " << vecRow << std::endl; +std::cout << "Vector vecCol = Matrix::VectorFromColumn(a, 0) = " << vecCol << std::endl; +std::cout << "Vector vecCol = Matrix::VectorFromDiagonal(a) = " << vecDiag << std::endl; + +/* OUTPUT +Vector a = [ 1, 1, 1] +Matrix matA = Matrix::RowMatrixFromVector(a); +matA = Rows: 1 Cols: 3 +[ 1, 1, 1, ] + +Matrix matB = Matrix::ColMatrixFromVector(a); +matB = Rows: 3 Cols: 1 +[ 1, ] +[ 0, ] +[ 0, ] + +Matrix m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +Vector vecRow = Matrix::VectorFromRow(a,0) = [ 1, -1] +Vector vecCol = Matrix::VectorFromColumn(a, 0) = [ 1, 1.5] +Vector vecCol = Matrix::VectorFromDiagonal(a) = [ 1, 3] +*/ +~~~ + +## MatrixNM Basic operations +~~~ c++ +MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }), m2; +m2.MakeUnitMatrix(); + +std::cout << "m1 = " << m1 << std::endl; +std::cout << "m2 = " << m2 << std::endl; + +std::cout << "m1 + m2 = " << m1 + m2 << std::endl; +std::cout << "m1 - m2 = " << m1 - m2 << std::endl; +std::cout << "m1 * m2 = " << m1 * m2 << std::endl; +std::cout << "2.0 * m1 = " << 2.0 * m1 << std::endl; +std::cout << "m1 * 2.0 = " << m1 * 2.0 << std::endl; +std::cout << "m1 / 2.0 = " << m1 / 2.0 << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m2 = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] + +m1 + m2 = Rows: 2 Cols: 2 +[ 2, -1, ] +[ 1.5, 4, ] + +m1 - m2 = Rows: 2 Cols: 2 +[ 0, -1, ] +[ 1.5, 2, ] + +m1 * m2 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +2.0 * m1 = Rows: 2 Cols: 2 +[ 2, -2, ] +[ 3, 6, ] + +m1 * 2.0 = Rows: 2 Cols: 2 +[ 2, -2, ] +[ 3, 6, ] + +m1 / 2.0 = Rows: 2 Cols: 2 +[ 0.5, -0.5, ] +[ 0.75, 1.5, ] +*/ +~~~ + +## MatrixNM-VectorN multiplication +~~~ c++ +VectorN v1({ 1.0, 2.0 }); +MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); + +std::cout << "v1 = " << v1 << std::endl; +std::cout << "m1 = " << m1 << std::endl; + +std::cout << "v1 * m1 = " << v1 * m1 << std::endl; +std::cout << "m1 * v1 = " << m1 * v1 << std::endl; + +/* OUTPUT +v1 = [ 1, 2] +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +v1 * m1 = [ 4, 5] +m1 * v1 = [ -1, 7.5] +*/ +~~~ + +## MatrixNM-MatrixNM multiplication +~~~ c++ +MatrixNM m3{ 1.0, -2.0, 3.0 }; +MatrixNM m4{ 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 1.0 }; +MatrixNM m5 = m3 * m4; + +std::cout << "m3 = " << m3 << std::endl; +std::cout << "m4 = " << m4 << std::endl; +std::cout << "m3 * m4 = " << m5 << std::endl; + +/* OUTPUT +m3 = Rows: 1 Cols: 3 +[ 1, -2, 3, ] + +m4 = Rows: 3 Cols: 4 +[ 1, 0, 0, 0, ] +[ 0, 1, 0, 0, ] +[ 0, 0, 1, 1, ] + +m3 * m4 = Rows: 1 Cols: 4 +[ 1, -2, 3, 3, ] +*/ +~~~ + +## MatrixNM Invert +~~~ c++ +MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); + +std::cout << "m1 = " << m1 << std::endl; +auto m2 = m1.GetInverse(); + +std::cout << "m2 (inv) = " << m2 << std::endl; + +auto munit = m1 * m2; +std::cout << "m1 * m2 = " << munit << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m2 (inv) = Rows: 2 Cols: 2 +[ 0.667, 0.222, ] +[ -0.333, 0.222, ] + +m1 * m2 = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] +*/ +~~~ + +## MatrixNM Transpose +~~~ c++ +MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); +std::cout << "m1 = " << m1 << std::endl; + +auto m2 = m1.GetTranspose(); +std::cout << "m2 (transp) = " << m2 << std::endl; + +m1.Transpose(); +std::cout << "Transposing m1 (in place) = " << m1 << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m2 (transp) = Rows: 2 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] + +Transposing m1 (in place) = Rows: 2 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] +*/ +~~~ + ## Defined typedefs for easier use MatrixNM class diff --git a/docs/base/Polynoms.md b/docs/base/Polynoms.md index 05f0e67..b7e3fdc 100644 --- a/docs/base/Polynoms.md +++ b/docs/base/Polynoms.md @@ -50,3 +50,110 @@ typedef Polynom, Real> MatrixPolynomDim2; typedef Polynom, Real> MatrixPolynomDim3; typedef Polynom, Real> MatrixPolynomDim4; ~~~ + +Example of basic usage + +~~~C++ +// Initialization of polynomials +RealPolynom pol_constant({ 1 }); +RealPolynom pol_linear({ 1, 2 }); +RealPolynom pol_quadratic({ 1, 2, 3 }); +RealPolynom pol_cubic({ 1, 2, 3, 4 }); +RealPolynom pol_quartic({ 1, 2, 3, 4, 5 }); + +RealPolynom poly_real({ -1, 0.25, 1.3, -2, 0.4 }); +ComplexPolynom poly_cmplx_r({ 1, 2, 3, 4 }); +ComplexPolynom poly_cmplx({ Complex(0.5,-1), Complex(-2,3) }); +Matrix2Polynom poly_mat({ 1, -1.0/2, 1./6 }); // matrix polynomial of 3rd order + +// Basic output of polynomials +std::cout << "pol_constant : " << pol_constant << std::endl; +std::cout << "pol_linear : " << pol_linear << std::endl; +std::cout << "pol_quadratic : " << pol_quadratic << std::endl; +std::cout << "pol_cubic : " << pol_cubic << std::endl; +std::cout << "pol_quartic : " << pol_quartic << std::endl; +std::cout << "poly_real : " << poly_real << std::endl; +std::cout << "poly_cmplx_r : " << poly_cmplx_r << std::endl; +std::cout << "poly_cmplx : " << poly_cmplx << std::endl; +std::cout << "m2 : " << poly_mat << std::endl << std::endl; + +// Evaluation of polynomials +std::cout << "poly_real(5.0) = " << poly_real(1.0) << std::endl; +std::cout << "poly_real(-2.0) = " << poly_real(-2.0) << std::endl; +std::cout << "poly_real(1.276) = " << poly_real(1.276) << std::endl << std::endl; + +std::cout << "poly_cmplx( 2 + 3i) = " << poly_cmplx(Complex(2, 3)) << std::endl; +std::cout << "poly_cmplx(-1 - i) = " << poly_cmplx(Complex(-1, -1)) << std::endl; +std::cout << "poly_cmplx( 1 - 2i) = " << poly_cmplx(Complex(1, -2)) << std::endl << std::endl; + +// evaluate the polynomial at the given matrix value +std::cout << "poly_mat({ 1, 0.5, -1.4, 2.8 }) = " << poly_mat(MatrixNM({ 1, 0.5, -1.4, 2.8 })) << std::endl << std::endl; + +// evaluation of matrix polynom in detail +MatrixNM eval_mat({ 1, 2, 3, 4 }); // matrix to evaluate the polynomial at +MatrixNM m2_2 = poly_mat(eval_mat); // evaluate the polynomial at the given matrix value + +// Operations on polynomials +RealPolynom pol_sum = pol_quadratic + pol_cubic; +std::cout << "( " << pol_quadratic << " ) + ( " << pol_cubic << " ) = " << pol_sum << std::endl; +RealPolynom pol_diff = pol_quadratic - pol_cubic; +std::cout << "( " << pol_quadratic << " ) - ( " << pol_cubic << " ) = " << pol_diff << std::endl; +RealPolynom pol_prod = pol_quadratic * pol_cubic; +std::cout << "( " << pol_quadratic << " ) * ( " << pol_cubic << " ) = " << pol_prod << std::endl; +RealPolynom pol_div, pol_rem; +RealPolynom::poldiv(pol_prod, pol_cubic, pol_div, pol_rem); +std::cout << "( " << pol_prod << " ) / ( " << pol_cubic << " ) = " << pol_div << " remainder: " << pol_rem << std::endl; + +RealPolynom pol_sum2 = pol_quadratic * 2.0; +RealPolynom pol_diff2 = pol_quadratic / 2.0; +RealPolynom pol_prod2 = 2.0 * pol_quadratic; + +std::cout << "\nReal coef. polynom output:\n"; +std::cout << poly_real << std::endl; +std::cout << poly_real.to_string(10, 5) << std::endl; +poly_real.Print(std::cout, 7, 3); + +std::cout << "\nComplex coef. polynom output:\n"; +std::cout << poly_cmplx << std::endl; +std::cout << poly_cmplx.to_string(10, 5) << std::endl; +poly_cmplx.Print(std::cout, 7, 3); + +/* OUTPUT +pol_constant : 1 +pol_linear : 2 * x1 + 1 +pol_quadratic : 3 * x^2 + 2 * x1 + 1 +pol_cubic : 4 * x^3 + 3 * x^2 + 2 * x1 + 1 +pol_quartic : 5 * x^4 + 4 * x^3 + 3 * x^2 + 2 * x1 + 1 +poly_real : 0.4 * x^4 + -2 * x^3 + 1.3 * x^2 + 0.25 * x1 + -1 +poly_cmplx_r : (4,0) * x^3 + (3,0) * x^2 + (2,0) * x1 + (1,0) +poly_cmplx : (-2,3) * x1 + (0.5,-1) +m2 : 0.166667 * x^2 + -0.5 * x1 + 1 + +poly_real(5.0) = -1.05 +poly_real(-2.0) = 26.1 +poly_real(1.276) = -1.65909 + +poly_cmplx( 2 + 3i) = (-12.5,-1) +poly_cmplx(-1 - i) = (5.5,-2) +poly_cmplx( 1 - 2i) = (4.5,6) + +poly_mat({ 1, 0.5, -1.4, 2.8 }) = Rows: 2 Cols: 2 +[ 0.55, 0.0667, ] +[ -0.187, 0.79, ] + + +( 3 * x^2 + 2 * x1 + 1 ) + ( 4 * x^3 + 3 * x^2 + 2 * x1 + 1 ) = 4 * x^3 + 6 * x^2 + 4 * x1 + 2 +( 3 * x^2 + 2 * x1 + 1 ) - ( 4 * x^3 + 3 * x^2 + 2 * x1 + 1 ) = -4 * x^3 +( 3 * x^2 + 2 * x1 + 1 ) * ( 4 * x^3 + 3 * x^2 + 2 * x1 + 1 ) = 12 * x^5 + 17 * x^4 + 16 * x^3 + 10 * x^2 + 4 * x1 + 1( 12 * x^5 + 17 * x^4 + 16 * x^3 + 10 * x^2 + 4 * x1 + 1 ) / ( 4 * x^3 + 3 * x^2 + 2 * x1 + 1 ) = 2 * x1 + 1 remainder: + +Real coef. polynom output: +0.4 * x^4 + -2 * x^3 + 1.3 * x^2 + 0.25 * x1 + -1 + 0.4 * x^4 + -2 * x^3 + 1.3 * x^2 + 0.25 * x1 + -1 + 0.4 * x^4 + -2 * x^3 + 1.3 * x^2 + 0.25 * x1 + -1 +Complex coef. polynom output: +(-2,3) * x1 + (0.5,-1) + (-2,3) * x1 + (0.5,-1) + (-2,3) * x1 + (0.5,-1) +*/ +~~~ + diff --git a/docs/base/Standard_functions.md b/docs/base/Standard_functions.md new file mode 100644 index 0000000..2b4a5f3 --- /dev/null +++ b/docs/base/Standard_functions.md @@ -0,0 +1,43 @@ +# Standard functions + +Defined set of standard functions + +~~~ c++ + namespace StdFunctions + { + static inline Real Sin(Real x) { return sin(x); } + static inline Real Cos(Real x) { return cos(x); } + static inline Real Tan(Real x) { return tan(x); } + static inline Real Exp(Real x) { return exp(x); } + static inline Real Log(Real x) { return log(x); } + static inline Real Sqrt(Real x) { return sqrt(x); } + static inline Real Pow(Real x, Real y) { return pow(x, y); } + static inline Real Sinh(Real x) { return sinh(x); } + static inline Real Cosh(Real x) { return cosh(x); } + static inline Real Tanh(Real x) { return tanh(x); } + static inline Real Asin(Real x) { return asin(x); } + static inline Real Acos(Real x) { return acos(x); } + static inline Real Atan(Real x) { return atan(x); } + static inline Real Asinh(Real x) { return asinh(x); } + static inline Real Acosh(Real x) { return acosh(x); } + static inline Real Atanh(Real x) { return atanh(x); } + + static inline Real Erf(Real x) { return std::erf(x); } + static inline Real Erfc(Real x) { return std::erfc(x); } + + static inline Real TGamma(Real x) { return std::tgamma(x); } + static inline Real LGamma(Real x) { return std::lgamma(x); } + static inline Real RiemannZeta(Real x) { return std::riemann_zeta(x); } + static inline Real CompEllint_1(Real x) { return std::comp_ellint_1(x); } + static inline Real CompEllint_2(Real x) { return std::comp_ellint_2(x); } + + static inline Real Hermite(unsigned int n, Real x) { return std::hermite(n, x); } + static inline Real Legendre(unsigned int n, Real x) { return std::legendre(n, x); } + static inline Real Laguerre(unsigned int n, Real x) { return std::laguerre(n, x); } + static inline Real SphBessel(unsigned int n, Real x) { return std::sph_bessel(n, x); } + static inline Real SphLegendre(int n1, int n2, Real x) { return std::sph_legendre(n1, n2, x); } + } +~~~ + + + diff --git a/docs/base/Tensors.md b/docs/base/Tensors.md index 1da29af..4ec2e37 100644 --- a/docs/base/Tensors.md +++ b/docs/base/Tensors.md @@ -32,6 +32,8 @@ public: }; ~~~ +Similar definitions for: + **Tensor3\** **Tensor4\** diff --git a/docs/base/Vector.md b/docs/base/Vector.md index dc4a8c9..5540769 100644 --- a/docs/base/Vector.md +++ b/docs/base/Vector.md @@ -88,3 +88,18 @@ Vector class std::cout << vec_cmplx_2.to_string(10, 5) << std::endl; vec_cmplx_2.Print(std::cout, 7, 3); ~~~ + +## Defined typedefs for easier use + +Vector class +~~~ c++ + typedef Vector VectorInt; + typedef Vector VectorFlt; + typedef Vector VectorDbl; + typedef Vector VectorComplex; + + typedef Vector VecI; + typedef Vector VecF; + typedef Vector VecD; + typedef Vector VecC; +~~~ \ No newline at end of file diff --git a/docs/base/VectorN.md b/docs/base/VectorN.md index 4094233..7bfb215 100644 --- a/docs/base/VectorN.md +++ b/docs/base/VectorN.md @@ -74,3 +74,32 @@ Vector class std::cout << vec_cmplx_2.to_string(10, 5) << std::endl; vec_cmplx_2.Print(std::cout, 7, 3); ~~~ + +## Defined typedefs for easier use + +VectorN class +~~~ c++ + typedef VectorN Vector2Flt; + typedef VectorN Vector3Flt; + typedef VectorN Vector4Flt; + + typedef VectorN Vector2Dbl; + typedef VectorN Vector3Dbl; + typedef VectorN Vector4Dbl; + + typedef VectorN Vector2Complex; + typedef VectorN Vector3Complex; + typedef VectorN Vector4Complex; + + typedef VectorN Vec2F; + typedef VectorN Vec3F; + typedef VectorN Vec4F; + + typedef VectorN Vec2D; + typedef VectorN Vec3D; + typedef VectorN Vec4D; + + typedef VectorN Vec2C; + typedef VectorN Vec3C; + typedef VectorN Vec4C; +~~~ \ No newline at end of file diff --git a/docs/base/Vectors.md b/docs/base/Vectors.md index 844c86f..c768303 100644 --- a/docs/base/Vectors.md +++ b/docs/base/Vectors.md @@ -13,44 +13,5 @@ Specialized types of VectorN class: - Vector3Spherical - Vector3Cyllindrical -## Defined typedefs for easier use -Vector class -~~~ c++ - typedef Vector VectorInt; - typedef Vector VectorFlt; - typedef Vector VectorDbl; - typedef Vector VectorComplex; - typedef Vector VecI; - typedef Vector VecF; - typedef Vector VecD; - typedef Vector VecC; -~~~ - -VectorN class -~~~ c++ - typedef VectorN Vector2Flt; - typedef VectorN Vector3Flt; - typedef VectorN Vector4Flt; - - typedef VectorN Vector2Dbl; - typedef VectorN Vector3Dbl; - typedef VectorN Vector4Dbl; - - typedef VectorN Vector2Complex; - typedef VectorN Vector3Complex; - typedef VectorN Vector4Complex; - - typedef VectorN Vec2F; - typedef VectorN Vec3F; - typedef VectorN Vec4F; - - typedef VectorN Vec2D; - typedef VectorN Vec3D; - typedef VectorN Vec4D; - - typedef VectorN Vec2C; - typedef VectorN Vec3C; - typedef VectorN Vec4C; -~~~ diff --git a/docs/core/Coordinate_transformations.md b/docs/core/Coordinate_transformations.md index c907aff..e1ce9a1 100644 --- a/docs/core/Coordinate_transformations.md +++ b/docs/core/Coordinate_transformations.md @@ -1,7 +1,375 @@ # Coordinate transformations - - Cartesian - - spherical - - cylindrical - - general +Defined interfaces: + +~~~C++ +template +class ICoordTransf +{ +public: + virtual VectorTo transf(const VectorFrom& in) const = 0; + virtual const IScalarFunction& coordTransfFunc(int i) const = 0; +}; + +template +class ICoordTransfWithInverse : public virtual ICoordTransf +{ +public: + virtual VectorFrom transfInverse(const VectorTo& in) const = 0; + virtual const IScalarFunction& inverseCoordTransfFunc(int i) const = 0; +}; +~~~ + +Abstract realizations of those interfaces: + +~~~C++ +template +class CoordTransf : public virtual ICoordTransf +{ +public: + virtual VectorTo getCovariantBasisVec(int ind, const VectorFrom &pos); + + virtual VectorTo getUnitVector(int ind, const VectorFrom &pos); + + MatrixNM jacobian(const VectorN &x); + + VectorTo transfVecContravariant(const VectorFrom &vec, const VectorFrom &pos); + VectorFrom transfInverseVecCovariant(const VectorTo &vec, const VectorFrom &pos); +}; + +template +class CoordTransfWithInverse : public virtual CoordTransf, + public virtual ICoordTransfWithInverse +{ +public: + virtual VectorFrom getContravariantBasisVec(int ind, const VectorTo &pos); + + virtual VectorFrom getUnitVectorInverse(int ind, const VectorTo &pos); + + VectorTo transfVecCovariant(const VectorFrom &vec, const VectorTo &pos); + VectorFrom transfInverseVecContravariant(const VectorTo &vec, const VectorTo &pos); + + Tensor2 transfTensor2(const Tensor2 &tensor, const VectorFrom &pos); + Tensor3 transfTensor3(const Tensor3 &tensor, const VectorFrom &pos); + Tensor4 transfTensor4(const Tensor4 &tensor, const VectorFrom &pos); + Tensor5 transfTensor5(const Tensor5 &tensor, const VectorFrom &pos); +}; +~~~ + +## Defined coordinate transformations + - polar <-> cartesian 2d (CoordTransfPolarToCartesian2D) + - rotation around axis 2d (CoordTransfCart2DRotation) + - rotation around axis 3d (CoordTransfCart3DRotationXAxis, CoordTransfCart3DRotationYAxis, CoordTransfCart3DRotationZAxis) + - spherical <-> cartesian 3d + - cylindrical <-> cartesian 3d + +## Defined static members +~~~C++ + static CoordTransfSphericalToCartesian CoordTransfSpherToCart; + static CoordTransfCylindricalToCartesian CoordTransfCylToCart; + static CoordTransfCartesianToSpherical CoordTransfCartToSpher; + static CoordTransfCartesianToCylindrical CoordTransfCartToCyl; +~~~ + +## Examples + +DEMO COORDINATE TRANSFORMATIONS + +~~~C++ +std::cout << "****** Direct spherical transformation *****\n"; + +Vector3Cartesian p1{ 5.0, 2.0, -3.0 }; +auto p1Spher = CoordTransfCartToSpher.transf(p1); +auto p1BackTransf = CoordTransfSpherToCart.transf(p1Spher); + +std::cout << "Cartesian : " << p1 << std::endl; +std::cout << "Spherical : " << p1Spher << std::endl; +std::cout << "Back transf : " << p1BackTransf << std::endl; + +std::cout << "***** Inverse spherical transformation *****\n"; + +Vector3Cartesian p2{ 5.0, 2.0, -3.0 }; +auto p2Spher = CoordTransfSpherToCart.transfInverse(p2); +auto p2BackTransf = CoordTransfCartToSpher.transfInverse(p2Spher); + +std::cout << "Cartesian : " << p2 << std::endl; +std::cout << "Spherical : " << p2Spher << std::endl; +std::cout << "Back transf : " << p2BackTransf << std::endl; + +std::cout << "***** Direct cylindrical transformation *****\n"; + +Vector3Cartesian p3{ 5.0, 2.0, -3.0 }; +auto p3Cyl = CoordTransfCartToCyl.transf(p3); +auto p3BackTransf = CoordTransfCylToCart.transf(p3Cyl); + +std::cout << "Cartesian : " << p3 << std::endl; +std::cout << "Cylindrical : " << p3Cyl << std::endl; +std::cout << "Back transf : " << p3BackTransf << std::endl; + +std::cout << "***** Inverse cylindrical transformation *****\n"; + +Vector3Cartesian p4{ 5.0, 2.0, -3.0 }; +auto p4Cyl = CoordTransfCylToCart.transfInverse(p4); +auto p4BackTransf = CoordTransfCartToCyl.transfInverse(p4Cyl); + +std::cout << "Cartesian : " << p4 << std::endl; +std::cout << "Spherical : " << p4Cyl << std::endl; +std::cout << "Back transf : " << p4BackTransf << std::endl; + +/* OUTPUT +****** Direct spherical transformation ***** +Cartesian : [ 5, 2, -3] +Spherical : [ 6.164414003, 2.079063573, 0.3805063771] +Back transf : [ 5, 2, -3] +***** Inverse spherical transformation ***** +Cartesian : [ 5, 2, -3] +Spherical : [ 6.164414003, 2.079063573, 0.3805063771] +Back transf : [ 5, 2, -3] +***** Direct cylindrical transformation ***** +Cartesian : [ 5, 2, -3] +Cylindrical : [ 5.385164807, 0.3805063771, -3] +Back transf : [ 5, 2, -3] +***** Inverse cylindrical transformation ***** +Cartesian : [ 5, 2, -3] +Spherical : [ 5.385164807, 0.3805063771, -3] +Back transf : [ 5, 2, -3] +*/ +~~~ + +Covariant and contravariant vector transformations + +~~~C++ + std::cout << "\n***********************************************************************" << std::endl; + std::cout << "**** CONTRAVARIANT TRANSFORMATION OF VELOCITY ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + Vec3Cart v_cart{ 1.0, 1.0, 0.0 }; + std::cout << "v_cart : " << v_cart << std::endl; + + std::cout << "AT POINT:\n"; + Vector3Cartesian x1_cart{ 1.0, -2.0, 1.0 }; + Vector3Spherical x1_spher{ CoordTransfCartToSpher.transf(x1_cart) }; + + std::cout << "Cartesian : " << x1_cart << std::endl << "Spherical : " << x1_spher << std::endl; + + Vector3Spherical v_transf_to_spher = CoordTransfCartToSpher.transfVecContravariant(v_cart, x1_cart); + std::cout << "contravar transf. to spher at cart.pnt = " << v_transf_to_spher << std::endl; + + Vector3Cartesian v_back_transf_to_cart = CoordTransfSpherToCart.transfVecContravariant(v_transf_to_spher, x1_spher); + std::cout << "back transf. to cartesian at spher.pnt = " << v_back_transf_to_cart << std::endl; + + std::cout << "\n***********************************************************************" << std::endl; + std::cout << "**** COVARIANT TRANSFORMATION OF GRADIENT ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + Vector3Cartesian p_cart{ 1.0, 1.0, 1.0 }; + Vector3Spherical p_spher(CoordTransfSpherToCart.transfInverse(p_cart)); + + std::cout << "Spherical: " << p_spher << std::endl; + std::cout << "Cartesian: " << p_cart << std::endl; + + std::cout << "\n****** Working with SPHERICAL TO CARTESIAN transformation *******\n"; + std::cout << "\n****** Potential in spherical coordinates *******\n"; + + ScalarFunction<3> fPotSpher(Fields::InverseRadialPotentialFieldSpher); + Vector3Spherical grad_spher = ScalarFieldOperations::GradientSpher(fPotSpher, p_spher); + + std::cout << "Field at : " << p_spher << " = " << Fields::InverseRadialPotentialFieldSpher(p_spher) << std::endl; + std::cout << "Grad(sph) at : " << p_spher << " = " << grad_spher << std::endl; + + Vector3Cartesian grad_transf_to_cart = CoordTransfSpherToCart.transfVecCovariant(grad_spher, p_cart); + Vector3Spherical back_transf_to_spher = CoordTransfCartToSpher.transfVecCovariant(grad_transf_to_cart, p_spher); + + std::cout << "Grad.transf. (Cart.) at " << p_cart << " = " << grad_transf_to_cart << std::endl; + std::cout << "Back transf. (Spher) at " << p_spher << " = " << back_transf_to_spher << std::endl; + + std::cout << "\n****** Working with CARTESIAN TO SPHERICAL transformation *******\n"; + std::cout << "\n****** Potential in cartesian coordinates: *******\n"; + + ScalarFunction<3> fPotCart(Fields::InverseRadialPotentialFieldCart); + Vector3Cartesian grad_cart = ScalarFieldOperations::GradientCart<3>(fPotCart, p_cart); + + std::cout << "Field at : " << p_cart << " = " << Fields::InverseRadialPotentialFieldCart(p_cart) << std::endl; + std::cout << "Grad.Cart. at : " << p_cart << " = " << grad_cart << std::endl; + + Vector3Spherical grad_transf_to_spher = CoordTransfCartToSpher.transfVecCovariant(grad_cart, p_spher); + Vector3Cartesian back_transf_to_cart = CoordTransfSpherToCart.transfVecCovariant(grad_transf_to_spher, p_cart); + + std::cout << "Grad.transf. (Spher) at " << p_spher << " = " << grad_transf_to_spher << std::endl; + std::cout << "Back transf. (Cart.) at " << p_cart << " = " << back_transf_to_cart << std::endl; + +/* OUTPUT +*********************************************************************** +**** CONTRAVARIANT TRANSFORMATION OF VELOCITY **** +*********************************************************************** +v_cart : [ 1, 1, 0] +AT POINT: +Cartesian : [ 1, -2, 1] +Spherical : [ 2.449489743, 1.150261992, -1.107148718] +contravar transf. to spher at cart.pnt = [ -0.4082482796, -0.07453559991, 0.6000000052] +back transf. to cartesian at spher.pnt = [ 1.000000006, 0.9999999863, 7.274731734e-09] + +*********************************************************************** +**** COVARIANT TRANSFORMATION OF GRADIENT **** +*********************************************************************** +Spherical: [ 1.732050808, 0.9553166181, 0.7853981634] +Cartesian: [ 1, 1, 1] + +****** Working with SPHERICAL TO CARTESIAN transformation ******* + +****** Potential in spherical coordinates ******* +Field at : [ 1.732050808, 0.9553166181, 0.7853981634] = 0.5773502692 +Grad(sph) at : [ 1.732050808, 0.9553166181, 0.7853981634] = [ -0.3333333333, 0, 0] +Grad.transf. (Cart.) at [ 1, 1, 1] = [ -0.1924500897, -0.1924500897, -0.1924500897] +Back transf. (Spher) at [ 1.732050808, 0.9553166181, 0.7853981634] = [ -0.3333333333, 2.942091015e-15, 2.370326158e-14] + +****** Working with CARTESIAN TO SPHERICAL transformation ******* + +****** Potential in cartesian coordinates: ******* +Field at : [ 1, 1, 1] = 0.5773502692 +Grad.Cart. at : [ 1, 1, 1] = [ -0.1924500897, -0.1924500897, -0.1924500897] +Grad.transf. (Spher) at [ 1.732050808, 0.9553166181, 0.7853981634] = [ -0.3333333333, 2.942091015e-15, 2.370326158e-14] +Back transf. (Cart.) at [ 1, 1, 1] = [ -0.1924500897, -0.1924500897, -0.1924500897] +*/ +~~~ + +Covariant and contravariant basis vectors + +~~~C++ +Vector3Cartesian p1{ 2.0, 2.0, 5 }; +auto p1Spher = CoordTransfCartToSpher.transf(p1); + +Real r = p1Spher[0]; +Real theta = p1Spher[1]; +Real phi = p1Spher[2]; + +std::cout << "Point (cartesian) : " << p1 << std::endl; +std::cout << "Point (spherical - rad) : " << p1Spher << std::endl; +std::cout << "Point (spherical - deg) : "; p1Spher.PrintDeg(std::cout, 15, 10); + +std::cout << "\n***** Using Spherical to Cartesian transformation *****\n"; + +std::cout << "\nCOVARIANT basis vectors\n"; +Vector3Cartesian vec_co_1 = CoordTransfSpherToCart.getCovariantBasisVec(0, p1Spher); +Vector3Cartesian vec_co_2 = CoordTransfSpherToCart.getCovariantBasisVec(1, p1Spher); +Vector3Cartesian vec_co_3 = CoordTransfSpherToCart.getCovariantBasisVec(2, p1Spher); +std::cout << "getCovariantBasisVec 1 : " << vec_co_1 << std::endl; +std::cout << "getCovariantBasisVec 2 : " << vec_co_2 << std::endl; +std::cout << "getCovariantBasisVec 3 : " << vec_co_3 << std::endl << std::endl; + +Vector3Cartesian vec_r2 { sin(theta) * cos(phi), sin(theta) * sin(phi), cos(theta) }; +Vector3Cartesian vec_theta2{ r * cos(theta) * cos(phi), r * cos(theta) * sin(phi), -r * sin(theta) }; +Vector3Cartesian vec_phi2 { -r * sin(theta) * sin(phi), r * sin(theta) * cos(phi), 0.0 }; + +//std::cout << "Explicit formula 1 : " << vec_r2 << std::endl; +//std::cout << "Explicit formula 2 : " << vec_theta2 << std::endl; +//std::cout << "Explicit formula 3 : " << vec_phi2 << std::endl << std::endl; + +std::cout << "GetAsUnitVector 1 : " << vec_co_1.GetAsUnitVector() << std::endl; +std::cout << "GetAsUnitVector 2 : " << vec_co_2.GetAsUnitVector() << std::endl; +std::cout << "GetAsUnitVector 3 : " << vec_co_3.GetAsUnitVector() << std::endl << std::endl; + +std::cout << "CONTRAVARIANT basis vectors\n"; +Vector3Cartesian vec_contra_1 = CoordTransfSpherToCart.getContravariantBasisVec(0, p1); +Vector3Cartesian vec_contra_2 = CoordTransfSpherToCart.getContravariantBasisVec(1, p1); +Vector3Cartesian vec_contra_3 = CoordTransfSpherToCart.getContravariantBasisVec(2, p1); +std::cout << "getContravariantBasisVec 1 : " << vec_contra_1 << std::endl; +std::cout << "getContravariantBasisVec 2 : " << vec_contra_2 << std::endl; +std::cout << "getContravariantBasisVec 3 : " << vec_contra_3 << std::endl << std::endl; + +Vector3Cartesian vec_i2{ sin(theta) * cos(phi), sin(theta) * sin(phi), cos(theta) }; +Vector3Cartesian vec_j2{ 1/r * cos(theta) * cos(phi), 1/r * cos(theta) * sin(phi), -1/r * sin(theta) }; +Vector3Cartesian vec_k2{ -1/r * sin(phi) / sin(theta), 1/r * cos(phi) / sin(theta), 0.0 }; + +//std::cout << "Explicit formula 1 : " << vec_i2 << std::endl; +//std::cout << "Explicit formula 2 : " << vec_j2 << std::endl; +//std::cout << "Explicit formula 3 : " << vec_k2 << std::endl << std::endl; + +std::cout << "GetAsUnitVectorAtPos 1 : " << vec_contra_1.GetAsUnitVectorAtPos(p1Spher) << std::endl; +std::cout << "GetAsUnitVectorAtPos 2 : " << vec_contra_2.GetAsUnitVectorAtPos(p1Spher) << std::endl; +std::cout << "GetAsUnitVectorAtPos 3 : " << vec_contra_3.GetAsUnitVectorAtPos(p1Spher) << std::endl << std::endl; + + +std::cout << "Veifying orthogonality of covariant and contravariant basis vectors:\n"; +std::cout << vec_co_3.ScalarProductCartesian(vec_contra_1) << std::endl; +std::cout << vec_co_3.ScalarProductCartesian(vec_contra_2) << std::endl; +std::cout << vec_co_3.ScalarProductCartesian(vec_contra_3) << std::endl; + +std::cout << "\n***** Using Cartesian to Spherical transformation *****\n"; + +std::cout << "\nCOVARIANT basis vectors\n"; +Vector3Spherical vec2_co_1 = CoordTransfCartToSpher.getCovariantBasisVec(0, p1); +Vector3Spherical vec2_co_2 = CoordTransfCartToSpher.getCovariantBasisVec(1, p1); +Vector3Spherical vec2_co_3 = CoordTransfCartToSpher.getCovariantBasisVec(2, p1); +std::cout << "getCovariantBasisVec 1 : " << vec2_co_1 << std::endl; +std::cout << "getCovariantBasisVec 2 : " << vec2_co_2 << std::endl; +std::cout << "getCovariantBasisVec 3 : " << vec2_co_3 << std::endl << std::endl; + +std::cout << "GetAsUnitVector 1 : " << vec2_co_1.GetAsUnitVectorAtPos(p1Spher) << std::endl; +std::cout << "GetAsUnitVector 2 : " << vec2_co_2.GetAsUnitVectorAtPos(p1Spher) << std::endl; +std::cout << "GetAsUnitVector 3 : " << vec2_co_3.GetAsUnitVectorAtPos(p1Spher) << std::endl << std::endl; + +std::cout << "CONTRAVARIANT basis vectors\n"; +Vector3Spherical vec2_contra_1 = CoordTransfCartToSpher.getContravariantBasisVec(0, p1Spher); +Vector3Spherical vec2_contra_2 = CoordTransfCartToSpher.getContravariantBasisVec(1, p1Spher); +Vector3Spherical vec2_contra_3 = CoordTransfCartToSpher.getContravariantBasisVec(2, p1Spher); +std::cout << "getContravariantBasisVec 1 : " << vec2_contra_1 << std::endl; +std::cout << "getContravariantBasisVec 2 : " << vec2_contra_2 << std::endl; +std::cout << "getContravariantBasisVec 3 : " << vec2_contra_3 << std::endl << std::endl; + +std::cout << "GetAsUnitVectorAtPos 1 : " << vec2_contra_1.GetAsUnitVectorAtPos(p1) << std::endl; +std::cout << "GetAsUnitVectorAtPos 2 : " << vec2_contra_2.GetAsUnitVectorAtPos(p1) << std::endl; +std::cout << "GetAsUnitVectorAtPos 3 : " << vec2_contra_3.GetAsUnitVectorAtPos(p1) << std::endl << std::endl; + +/* OUTPUT +Point (cartesian) : [ 2, 2, 5] +Point (spherical - rad) : [ 5.744562647, 0.5148059551, 0.7853981634] +Point (spherical - deg) : [ 5.7445626465, 29.4962084966, 45.0000000000 ] + +***** Using Spherical to Cartesian transformation ***** + +COVARIANT basis vectors +getCovariantBasisVec 1 : [ 0.3481553119, 0.3481553119, 0.8703882798] +getCovariantBasisVec 2 : [ 3.5355339059, 3.5355339059, -2.8284271247] +getCovariantBasisVec 3 : [ -2.0000000000, 2.0000000000, 0.0000000000] + +GetAsUnitVector 1 : [ 0.3481553119, 0.3481553119, 0.8703882798] +GetAsUnitVector 2 : [ 0.6154574549, 0.6154574549, -0.4923659639] +GetAsUnitVector 3 : [ -0.7071067812, 0.7071067812, 0.0000000000] + +CONTRAVARIANT basis vectors +getContravariantBasisVec 1 : [ 0.3481553119, 0.3481553119, 0.8703882798] +getContravariantBasisVec 2 : [ 0.1071373911, 0.1071373911, -0.0857099129] +getContravariantBasisVec 3 : [ -0.2500000000, 0.2500000000, 0.0000000000] + +GetAsUnitVectorAtPos 1 : [ 0.3481553119, 0.3481553119, 0.8703882798] +GetAsUnitVectorAtPos 2 : [ 0.6154574549, 0.6154574549, -0.4923659639] +GetAsUnitVectorAtPos 3 : [ -0.7071067812, 0.7071067812, 0.0000000000] + +Veifying orthogonality of covariant and contravariant basis vectors: +-0.0000000000 +-0.0000000000 +1.0000000000 + +***** Using Cartesian to Spherical transformation ***** + +COVARIANT basis vectors +getCovariantBasisVec 1 : [ 0.3481553119, 0.1071373911, -0.2500000000] +getCovariantBasisVec 2 : [ 0.3481553119, 0.1071373911, 0.2500000000] +getCovariantBasisVec 3 : [ 0.8703882798, -0.0857099129, 0.0000000000] + +GetAsUnitVector 1 : [ 0.3481553119, 0.0186502259, -0.0883883476] +GetAsUnitVector 2 : [ 0.3481553119, 0.0186502259, 0.0883883476] +GetAsUnitVector 3 : [ 0.8703882798, -0.0149201807, 0.0000000000] + +CONTRAVARIANT basis vectors +getContravariantBasisVec 1 : [ 0.3481553119, 3.5355339059, -2.0000000000] +getContravariantBasisVec 2 : [ 0.3481553119, 3.5355339059, 2.0000000000] +getContravariantBasisVec 3 : [ 0.8703882798, -2.8284271247, 0.0000000000] + +GetAsUnitVectorAtPos 1 : [ 0.3481553119, 1.7677669530, -1.0997501703] +GetAsUnitVectorAtPos 2 : [ 0.3481553119, 1.7677669530, 1.0997501703] +GetAsUnitVectorAtPos 3 : [ 0.8703882798, -1.4142135624, 0.0000000000] +*/ +~~~ diff --git a/docs/core/Curves_and_surfaces.md b/docs/core/Curves_and_surfaces.md index 00a10f8..f31f319 100644 --- a/docs/core/Curves_and_surfaces.md +++ b/docs/core/Curves_and_surfaces.md @@ -1,5 +1,34 @@ # Curves and Surfaces +Core layer has a set of predefined curves and surfaces, which can be used for various purposes. + ## Curves -## Surface +### Planar 2D curves +Defined in namespace Curves2D + +- Circle2DCurve +- LogSpiralCurve +- LemniscateCurve +- DeltoidCurve +- AstroidCurve +- EpitrochoidCurve +- ArchimedeanSpiralCurve + +### 3D curves +Defined in namespace Curves3D +- LineCurve +- Circle3DXY +- Circle3DXZ +- Circle3DYZ +- HelixCurve +- TwistedCubicCurve + +## Surfaces +Defined in namespace Surfaces +- MonkeySaddle +- MobiusStrip +- Torus +- Sphere +- Ellipsoid +- Ellipsoid \ No newline at end of file diff --git a/docs/core/Derivation.md b/docs/core/Derivation.md index 0794f50..45b3f55 100644 --- a/docs/core/Derivation.md +++ b/docs/core/Derivation.md @@ -7,9 +7,12 @@ Types of functions that can be derived are: - IScalarFunction\ - IVectorFunction\ - IParametricCurve\ -- ITnesorField\ - of order 2, 3, 4 and 5 +- ITensorField\ - of order 2, 3, 4 and 5 -Example declarations for NDer1 variant: +For each derivation function, there are two variants: one with explicit step size and one without it. +If step size is not provided, it is calculated automatically, based on derivation order and precision of Real type. + +Example declarations for NDer1 variant (all versions are also available for NDer2, NDer4, NDer6 and NDer8): ~~~c++ ////////////////////////// RealFunction ////////////////////////// static Real NDer1(const IRealFunction &f, Real x, Real* error = nullptr); @@ -37,11 +40,9 @@ template static MatrixNM NDer1PartialAllByAll(const IVectorFu template static MatrixNM NDer1PartialAllByAll(const IVectorFunction &f, const VectorN &point, Real h, MatrixNM *error = nullptr) ////////////////////////// TensorField ////////////////////////// -template -static Real NDer1Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real *error = nullptr) -template -static Real NDer1Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) -// also for TensorField3, TensorField4, TensorField5 +template static Real NDer1Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real *error = nullptr) +template static Real NDer1Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) +// same for TensorField3, TensorField4, TensorField5 ///////////////////////// ParametricCurve ///////////////////////// template static VectorN NDer1(const IParametricCurve &f, Real t, Real* error = nullptr) @@ -51,3 +52,42 @@ template static VectorN NSecDer1(const IParametricCurve &f, template static VectorN NThirdDer1(const IParametricCurve &f, Real x, Real* error = nullptr) template static VectorN NThirdDer1(const IParametricCurve &f, Real x, Real h, Real* error = nullptr) ~~~ + +## Example usage + +~~~C++ +RealFunction f1{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; + +// numerical derivation of real function (available orders - 1, 2, 4, 6, 8) +double der_f1 = Derivation::NDer1(f1, 0.5); +double der_f2 = Derivation::NDer2(f1, 0.5, 1e-6); // setting explicit step size +Real err; +double der_f6 = Derivation::NDer6(f1, 0.5, &err); // if we need error estimate +double der_f8 = Derivation::NDer8(f1, 0.5); +// we can use default Derive routine (set to NDer4), but it requires error estimate +double der_f4 = Derivation::Derive(f1, 0.5, nullptr); + +// second and third derivatives +double sec_der_f1 = Derivation::NSecDer2(f1, 0.5); +double third_der_f1 = Derivation::NThirdDer2(f1, 0.5); + +// creating new function that is derivation of existing function +RealFuncDerived4 f1_der4(f1); // 4th order derivation + +// scalar and vector functions +ScalarFunction<3> f2Scal([](const VectorN& x) { return (Real)(1.0 / pow(x.NormL2(), 2)); }); +VectorFunction<3> f3Vec([](const VectorN& x) { return VectorN{0, x[0] * x[1], 0}; }); + +VectorN der_point{ 1.0, 1.0, 1.0 }; +double der_f2Scal = Derivation::NDer1Partial(f2Scal, 1, der_point); +VectorN der_f2Scal_all = Derivation::NDer1PartialByAll(f2Scal, der_point); + +double der_f3Vec = Derivation::NDer1Partial(f3Vec, 1, 1, der_point); +VectorN der_f3Vec_by1 = Derivation::NDer2PartialByAll(f3Vec, 1, der_point); +MatrixNM der_f3Vec_by_all = Derivation::NDer4PartialAllByAll(f3Vec, der_point); + +ParametricCurve<3> f4Curve([](Real x) { return VectorN{x, 2 * x, 3 * x}; }); +VectorN der_f4Curve = Derivation::NDer1(f4Curve, 1.0); +VectorN sec_f4Curve = Derivation::NSecDer1(f4Curve, 1.0); +VectorN third_f4Curve = Derivation::NThirdDer1(f4Curve, 1.0); +~~~ diff --git a/docs/core/Function_types.md b/docs/core/Function_types.md deleted file mode 100644 index f313359..0000000 --- a/docs/core/Function_types.md +++ /dev/null @@ -1,10 +0,0 @@ -# Function types - -- IRealFunction -- IScalarFunction\ -- IVectorFunction\ -- IVectorFunctionNM\ -- IRealToVectorFunction\ -- IParametricCurve\ -- IParametricSurface\ -- ITensorField\ - of order 2, 3, 4 and 5 diff --git a/docs/core/Functions.md b/docs/core/Functions.md index 46614c6..b3c8f5e 100644 --- a/docs/core/Functions.md +++ b/docs/core/Functions.md @@ -1,43 +1,603 @@ -# Functions - -Defined set of standard functions - -~~~ c++ - namespace StdFunctions - { - static inline Real Sin(Real x) { return sin(x); } - static inline Real Cos(Real x) { return cos(x); } - static inline Real Tan(Real x) { return tan(x); } - static inline Real Exp(Real x) { return exp(x); } - static inline Real Log(Real x) { return log(x); } - static inline Real Sqrt(Real x) { return sqrt(x); } - static inline Real Pow(Real x, Real y) { return pow(x, y); } - static inline Real Sinh(Real x) { return sinh(x); } - static inline Real Cosh(Real x) { return cosh(x); } - static inline Real Tanh(Real x) { return tanh(x); } - static inline Real Asin(Real x) { return asin(x); } - static inline Real Acos(Real x) { return acos(x); } - static inline Real Atan(Real x) { return atan(x); } - static inline Real Asinh(Real x) { return asinh(x); } - static inline Real Acosh(Real x) { return acosh(x); } - static inline Real Atanh(Real x) { return atanh(x); } - - static inline Real Erf(Real x) { return std::erf(x); } - static inline Real Erfc(Real x) { return std::erfc(x); } - - static inline Real TGamma(Real x) { return std::tgamma(x); } - static inline Real LGamma(Real x) { return std::lgamma(x); } - static inline Real RiemannZeta(Real x) { return std::riemann_zeta(x); } - static inline Real CompEllint_1(Real x) { return std::comp_ellint_1(x); } - static inline Real CompEllint_2(Real x) { return std::comp_ellint_2(x); } - - static inline Real Hermite(unsigned int n, Real x) { return std::hermite(n, x); } - static inline Real Legendre(unsigned int n, Real x) { return std::legendre(n, x); } - static inline Real Laguerre(unsigned int n, Real x) { return std::laguerre(n, x); } - static inline Real SphBessel(unsigned int n, Real x) { return std::sph_bessel(n, x); } - static inline Real SphLegendre(int n1, int n2, Real x) { return std::sph_legendre(n1, n2, x); } - } +# Function types + +MML introduces functions as full fledged objects, which can be passed as arguments to other functions (and are expected as arguments for many MML algorithms). +This is achieved by defining a set of interfaces for different types of functions: + +- IRealFunction +- IScalarFunction\ +- IVectorFunction\ +- IVectorFunctionNM\ +- IRealToVectorFunction\ +- IParametricCurve\ +- IParametricSurface\ +- ITensorField\ - of order 2, 3, 4 and 5 + +In addition to these interfaces, MML provides a set of basic function objects, which implement these interfaces, +and enable user to create function objects in a simple way, whether by using function pointers, lambda expressions, class members, or by interpolating from a set of values. + +## Interfaces for function types +Interfaces for function types are defined in the following way: +~~~C++ +template +class IFunction +{ +public: + virtual _RetType operator()(_ArgType) const = 0; +}; + +class IRealFunction : public IFunction +{ +public: + virtual Real operator()(Real) const = 0; +}; + +template +class IScalarFunction : public IFunction&> +{ +public: + virtual Real operator()(const VectorN& x) const = 0; +}; + +template +class IRealToVectorFunction : public IFunction, Real> +{ +public: + virtual VectorN operator()(Real x) const = 0; +}; + +template +class IVectorFunction : public IFunction, const VectorN&> +{ +public: + virtual VectorN operator()(const VectorN& x) const = 0; + + virtual Real operator()(const VectorN& x, int component) const + { + VectorN val = (*this)(x); + return val[component]; + } +}; + +template +class IVectorFunctionNM : public IFunction, const VectorN&> +{ +public: + virtual VectorN operator()(const VectorN& x) const = 0; + virtual Real operator()(const VectorN& x, int component) const + { + VectorN val = (*this)(x); + return val[component]; + } +}; +~~~ + +Parametric curve and surface interfaces are defined as follows: + +~~~C++ +template +class IParametricCurve : public IRealToVectorFunction +{ +public: + virtual VectorN operator()(Real x) const = 0; + + virtual Real getMinT() const = 0; + virtual Real getMaxT() const = 0; + + std::vector> GetTrace(double t1, double t2, int numPoints) const + { + std::vector> ret; + double deltaT = (t2 - t1) / (numPoints - 1); + for (Real t = t1; t <= t2; t += deltaT) + ret.push_back((*this)(t)); + return ret; + } +}; + +// simple regular surface, defined on rectangular coordinate patch +template +class IParametricSurface : public IFunction, const VectorN&> +{ +public: + virtual VectorN operator()(Real u, Real w) const = 0; + + virtual Real getMinX() const = 0; + virtual Real getMaxX() const = 0; + virtual Real getMinY() const = 0; + virtual Real getMaxY() const = 0; + + virtual VectorN operator()(const VectorN& coord) const + { + return operator()(coord[0], coord[1]); + } + bool Serialize2DCartesian(Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, std::string fileName) const + { + return false; + } +}; ~~~ +Tensor fields are defined as follows: + +~~~C++ +template +class ITensorField2 : public IFunction, const VectorN& > +{ + int _numContravar; + int _numCovar; +public: + ITensorField2(int numContra, int numCo) : _numContravar(numContra), _numCovar(numCo) { } + + int getNumContravar() const { return _numContravar; } + int getNumCovar() const { return _numCovar; } + + virtual Real Component(int i, int j, const VectorN& pos) const = 0; +}; + +template +class ITensorField3 : public IFunction, const VectorN& > +{ + int _numContravar; + int _numCovar; +public: + int getNumContravar() const { return _numContravar; } + int getNumCovar() const { return _numCovar; } + + virtual Real Component(int i, int j, int k, const VectorN& pos) const = 0; +}; + +template +class ITensorField4 : public IFunction, const VectorN& > +{ + int _numContravar; + int _numCovar; +public: + int getNumContravar() const { return _numContravar; } + int getNumCovar() const { return _numCovar; } + + virtual Real Component(int i, int j, int k, int l, const VectorN& pos) const = 0; +}; + +template +class ITensorField5 : public IFunction, const VectorN& > +{ + int _numContravar; + int _numCovar; +public: + int getNumContravar() const { return _numContravar; } + int getNumCovar() const { return _numCovar; } + + virtual Real Component(int i, int j, int k, int l, int m, const VectorN& pos) const = 0; +}; +~~~ + +## Basic function objects, implementing above interfaces + +For each interface, there are two variants of basic function objects - one that accepts function pointers, and one that accepts std::function objects. +Both variants are concrete classes, meaning that they can be instantiated (providing correct parameters), and used as function objects. +First variant enables simple usage scenarios, with function pointers or lambda expression providing the function. +Second variant enables more complex usage scenarios, with class members providing the function. + +~~~C++ +/////////////////////////// REAL FUNCTION //////////////////////////////////// +class RealFunction : public IRealFunction +{ + Real(*_func)(const Real); +public: + RealFunction(Real(*inFunc)(const Real)) : _func(inFunc) {} + + Real operator()(const Real x) const { return _func(x); } +}; +class RealFunctionFromStdFunc : public IRealFunction +{ + std::function _func; +public: + RealFunctionFromStdFunc(std::function inFunc) : _func(inFunc) {} + + Real operator()(const Real x) const { return _func(x); } +}; + +/////////////////////////// SCALAR FUNCTION ////////////////////////////////// +template +class ScalarFunction : public IScalarFunction +{ + Real(*_func)(const VectorN&); +public: + ScalarFunction(Real(*inFunc)(const VectorN&)) : _func(inFunc) {} + + Real operator()(const VectorN& x) const { return _func(x); } +}; + +template +class ScalarFunctionFromStdFunc : public IScalarFunction +{ + std::function&)> _func; +public: + ScalarFunctionFromStdFunc(std::function&)> inFunc) : _func(inFunc) {} + + Real operator()(const VectorN& x) const { return _func(x); } +}; + +///////////////////////// VECTOR FUNCTION N -> N /////////////////////////////////// +template +class VectorFunction : public IVectorFunction +{ + VectorN(*_func)(const VectorN&); +public: + VectorFunction(VectorN(*inFunc)(const VectorN&)) : _func(inFunc) {} + + VectorN operator()(const VectorN& x) const { return _func(x); } + + MatrixNM jacobian(const VectorN& x) const { return Jacobian, VectorN, N>::calc(*this, x); } +}; + +template +class VectorFunctionFromStdFunc : public IVectorFunction +{ + std::function(const VectorN&)> _func; +public: + VectorFunctionFromStdFunc(std::function(const VectorN&)>& inFunc) : _func(inFunc) {} + + VectorN operator()(const VectorN& x) const { return _func(x); } + + MatrixNM jacobian(const VectorN& x) const { return Jacobian, VectorN, N>::calc(*this, x); } +}; + +///////////////////////// VECTOR FUNCTION N -> M /////////////////////////////////// +template +class VectorFunctionNM : public IVectorFunctionNM +{ + VectorN(*_func)(const VectorN&); +public: + VectorFunctionNM(VectorN(*inFunc)(const VectorN&)) : _func(inFunc) {} + + VectorN operator()(const VectorN& x) const { return _func(x); } + + MatrixNM jacobian(const VectorN& x) const { return Jacobian, VectorN, N>::calc(*this, x); } +}; + +template +class VectorFunctionNMFromStdFunc : public IVectorFunctionNM +{ + std::function(const VectorN&)> _func; +public: + VectorFunctionNMFromStdFunc(std::function(const VectorN&)>& inFunc) : _func(inFunc) {} + + VectorN operator()(const VectorN& x) const { return _func(x); } + + MatrixNM jacobian(const VectorN& x) const { return Jacobian, VectorN, N>::calc(*this, x); } +}; + +////////////////////// PARAMETRIC CURVE /////////////////////////////////// +template +class ParametricCurve : public IParametricCurve +{ + Real _minT; + Real _maxT; + VectorN(*_func)(Real); +public: + ParametricCurve(VectorN(*inFunc)(Real)) : _func(inFunc), _minT(Constants::NegativeInf), _maxT(Constants::PositiveInf) {} + ParametricCurve(Real minT, Real maxT, VectorN(*inFunc)(Real)) : _func(inFunc), _minT(minT), _maxT(maxT) {} + + Real getMinT() const { return _minT; } + Real getMaxT() const { return _maxT; } + + virtual VectorN operator()(Real x) const { return _func(x); } +}; + +template +class ParametricCurveFromStdFunc : public IParametricCurve +{ + Real _minT; + Real _maxT; + std::function(Real)> _func; +public: + ParametricCurveFromStdFunc(std::function(Real)>& inFunc) : _func(inFunc), _minT(Constants::NegativeInf), _maxT(Constants::PositiveInf) {} + ParametricCurveFromStdFunc(Real minT, Real maxT, std::function(Real)>& inFunc) : _func(inFunc), _minT(minT), _maxT(maxT) {} + + Real getMinT() const { return _minT; } + Real getMaxT() const { return _maxT; } + + VectorN operator()(Real x) const { return _func(x); } +}; + +///////////////////// PARAMETRIC SURFACE ////////////////////////////////// +template +class ParametricSurface : public IParametricSurface +{ + // TODO - ensure that N is at least 3!!! + Real _minX; + Real _maxX; + Real _minY; + Real _maxY; + VectorN(*_func)(Real u, Real w); + +public: + ParametricSurface(VectorN(*inFunc)(Real u, Real w)) : _func(inFunc), _minX(Constants::NegativeInf), _maxX(Constants::PositiveInf), _minY(Constants::NegativeInf), _maxY(Constants::PositiveInf) {} + ParametricSurface(VectorN(*inFunc)(Real u, Real w), Real minX, Real maxX, Real minY, Real maxY) : _func(inFunc), _minX(minX), _maxX(maxX), _minY(minY), _maxY(maxY) {} + + VectorN operator()(Real u, Real w) const { return _func(u, w); } + + virtual Real getMinX() const { return _minX; } + virtual Real getMaxX() const { return _maxX; } + virtual Real getMinY() const { return _minY; } + virtual Real getMaxY() const { return _maxY; } + + // TODO - double getStartY(double x) const; // ako surface patch nije kvadratni +}; + +// imati cemo i surface Discrete, kreiran od triangles? + +template +class ParametricSurfaceFromStdFunc : public IParametricSurface +{ + Real _minX; + Real _maxX; + Real _minY; + Real _maxY; + std::function(Real u, Real w)> _func; +public: + ParametricSurfaceFromStdFunc(std::function(Real u, Real w)>& inFunc) : _func(inFunc), _minX(Constants::NegativeInf), _maxX(Constants::PositiveInf), _minY(Constants::NegativeInf), _maxY(Constants::PositiveInf) {} + ParametricSurfaceFromStdFunc(std::function(Real u, Real w)>& inFunc, Real minX, Real maxX, Real minY, Real maxY) : _func(inFunc), _minX(minX), _maxX(maxX), _minY(minY), _maxY(maxY) {} + + VectorN operator()(Real u, Real w) const { return _func(u, w); } + + virtual Real getMinX() const { return _minX; } + virtual Real getMaxX() const { return _maxX; } + virtual Real getMinY() const { return _minY; } + virtual Real getMaxY() const { return _maxY; } +}; +~~~ + +## How to create Function objects? + +### From already existing (standalone/static) functions + +~~~C++ +// examples of already existing function +Real Docs_Demo_functions_RealFunc(Real x) { + return sin(x) * (1 + x * x / 2); +} +Real Docs_Demo_functions_ScalarFunc(const VectorN& x) { + return 1 / x.NormL2(); +} +// little bit more real scalar function :) +Real Docs_Demo_functions_two_masses_gravity_potential(const VectorN& x) +{ + const VectorN x1{ 10.0, 0.0, 0.0 }; + const VectorN x2{ -10.0, 0.0, 0.0 }; + const Real m1 = 1000.0; + const Real m2 = 1000.0; + const Real G = 1.0; + return -G * m1 / (x - x1).NormL2() - G * m2 / (x - x2).NormL2(); +} +VectorN Docs_Demo_functions_VectorFunc(const VectorN& x) { + return VectorN{0, x[0] * x[1], 0}; +} +VectorN Docs_Demo_functions_VectorFuncNM(const VectorN& x) { + return VectorN{0, x[0] * x[1], 0}; +} +VectorN Docs_Demo_functions_ParamCurve(Real t) { + return VectorN{t, 2 * t, 3 * t}; +} +VectorN Docs_Demo_functions_ParamSurface(Real x, Real y) { + return VectorN{x * y, 2 * x * y, 3 * x}; +} + +void Docs_Demo_functions_case_1_usage() +{ + // creating a function object from an already existing (standalone) function + RealFunction fReal(Docs_Demo_functions_RealFunc); + ScalarFunction<3> fScalar(Docs_Demo_functions_ScalarFunc); + ScalarFunction<3> fScalar2(Docs_Demo_functions_two_masses_gravity_potential); + VectorFunction<3> fVector(Docs_Demo_functions_VectorFunc); + VectorFunctionNM<2, 3> fVectorNM(Docs_Demo_functions_VectorFuncNM); + ParametricCurve<3> paramCurve(Docs_Demo_functions_ParamCurve); + ParametricSurface<3> paramSurface(Docs_Demo_functions_ParamSurface); +} +~~~ + +### Creating function directly from lambda + +~~~C++ + std::cout << "**********************************************************************" << std::endl; + std::cout << "*** CASE 2 - creating function directly from lambda" << std::endl; + + RealFunction f2{ [](Real x) { return (Real)sin(x) * (1 + x * x / 2); } }; + + // creating directly different types of functions + ScalarFunction<3> fScalar([](const VectorN& x) { return x[0]; }); + ScalarFunction<3> two_masses_gravity_field_potential{ [](const VectorN& x) + { + const VectorN x1{ 10.0, 0.0, 0.0 }; + const VectorN x2{ -10.0, 0.0, 0.0 }; + const Real m1 = 1000.0; + const Real m2 = 1000.0; + const Real G = 1.0; + return -G * m1 / (x - x1).NormL2() - G * m2 / (x - x2).NormL2(); + } }; + VectorFunction<3> fVector([](const VectorN& x) { return VectorN{0, x[0] * x[1], 0}; }); + VectorFunctionNM<2, 3> fVectorNM([](const VectorN& x) { return VectorN{0, x[0] * x[1], 0}; }); + ParametricCurve<3> paramCurve([](Real x) { return VectorN{x, 2 * x, 3 * x}; }); + ParametricSurface<3> paramSurface([](Real x, Real y) { return VectorN{x* y, 2 * x * y, 3 * x}; }); + + // evaluating the functions + std::cout << "f2(0.0) = " << f2(0.0) << std::endl; + std::cout << "fScalar({1, 1, 1}) = " << fScalar(VectorN{1, 1, 1}) << std::endl; + std::cout << "fScalar({-1, -1, 1}) = " << fScalar(VectorN{-1, -1, 1}) << std::endl; + std::cout << "fScalar({2, 2, 2}) = " << fScalar(VectorN{2, 2, 2}) << std::endl; + std::cout << "fVector({1, 1, 1}) = " << fVector(VectorN{1, 1, 1}) << std::endl; + std::cout << "fVector({-1, -1, 1}) = " << fVector(VectorN{-1, -1, 1}) << std::endl; + std::cout << "fVector({2, 2, 2}) = " << fVector(VectorN{2, 2, 2}) << std::endl; + std::cout << "fVectorNM({1, 1}) = " << fVectorNM(VectorN{1, 1}) << std::endl; + std::cout << "fVectorNM({-1, -1}) = " << fVectorNM(VectorN{-1, -1}) << std::endl; + std::cout << "fVectorNM({2, 2}) = " << fVectorNM(VectorN{2, 2}) << std::endl; + std::cout << "paramCurve(1.0) = " << paramCurve(1.0) << std::endl; + std::cout << "paramSurface(1.0, 1.0) = " << paramSurface(1.0, 1.0) << std::endl; + +/* OUTPUT +f2(0.0) = 0 +fScalar({1, 1, 1}) = 1 +fScalar({-1, -1, 1}) = -1 +fScalar({2, 2, 2}) = 2 +fVector({1, 1, 1}) = [ 0, 1, 0] +fVector({-1, -1, 1}) = [ 0, 1, 0] +fVector({2, 2, 2}) = [ 0, 4, 0] +fVectorNM({1, 1}) = [ 0, 1, 0] +fVectorNM({-1, -1}) = [ 0, 1, 0] +fVectorNM({2, 2}) = [ 0, 4, 0] +paramCurve(1.0) = [ 1, 2, 3] +paramSurface(1.0, 1.0) = [ 1, 2, 3] +*/ +~~~ + +### Simple function, but with some parameters + +~~~C++ +// CASE 3 - we have simple function, but that has some additional parameters that it depend on (and that we might wanna vary easily) + +class TwoMassesGravityPotential : public IScalarFunction<3> +{ + Real _m1, _m2, _G; + VectorN _x1, _x2; + +public: + TwoMassesGravityPotential(Real m1, Real m2, Real G, const VectorN& x1, const VectorN& x2) : _m1(m1), _m2(m2), _G(G), _x1(x1), _x2(x2) {} + + void SetM1(Real m1) { _m1 = m1; } + void SetM2(Real m2) { _m2 = m2; } + void SetX1(const VectorN& x1) { _x1 = x1; } + void SetX2(const VectorN& x2) { _x2 = x2; } + + Real operator()(const VectorN & x) const { return -_G * (_m1 / (x - _x1).NormL2() + _m2 / (x - _x2).NormL2()); } +}; + +void Docs_Demo_functions_case_3_usage() +{ + std::cout << "**********************************************************************" << std::endl; + std::cout << "*** CASE 3 - we have simple function, but that has some additional parameters that it depend on (and that we might wanna vary easily)" << std::endl; + + TwoMassesGravityPotential f3(1000.0, 1000.0, 1.0, VectorN{10.0, 0.0, 0.0}, VectorN{-10.0, 0.0, 0.0}); + + std::cout << "f3({1, 1, 1}) = " << f3(VectorN{1, 1, 1}) << std::endl; + std::cout << "f3({-1, -1, 1}) = " << f3(VectorN{-1, -1, 1}) << std::endl; + std::cout << "f3({2, 2, 2}) = " << f3(VectorN{2, 2, 2}) << std::endl; + +/* OUTPUT +f3({1, 1, 1}) = -199.9312235 +f3({-1, -1, 1}) = -199.9312235 +f3({2, 2, 2}) = -198.9618408 +*/ +} +~~~ + +### There is an external class that has EXACT FUNCTION you want to use + +~~~C++ +class BigComplexClassYouCantChange1 { +public: + double _param1, _param2; + double Weight(double x) const { return 58 * _param1; } + + double UsefulRealFunc(double x) const { return (_param1 * cos(x) + _param2 * sin(x)) / Weight(x); } +}; + +void Docs_Demo_functions_case_4_usage() +{ + std::cout << "**********************************************************************" << std::endl; + std::cout << "*** CASE 4 - there is an external class that has EXACT FUNCTION you want to use (but you can't change the class)" << std::endl; + + BigComplexClassYouCantChange1 bigObj; + + bigObj._param1 = 1.0; + bigObj._param2 = 2.0; + + RealFunctionFromStdFunc f4(std::function{[&bigObj](Real x) { return bigObj.UsefulRealFunc(x); }}); + + std::cout << "f4(0.0) = " << f4(0.0) << std::endl; + std::cout << "f4(1.0) = " << f4(1.0) << std::endl; + std::cout << "f4(2.0) = " << f4(2.0) << std::endl; + + bigObj._param1 = -2.0; + bigObj._param2 = 5.0; + + std::cout << "After change of object parameters:" << std::endl; + + std::cout << "f4(0.0) = " << f4(0.0) << std::endl; + std::cout << "f4(1.0) = " << f4(1.0) << std::endl; + std::cout << "f4(2.0) = " << f4(2.0) << std::endl; + +/* OUTPUT +f4(0.0) = 0.01724137931 +f4(1.0) = 0.03833179785 +f4(2.0) = 0.02418013823 +After change of object parameters: +f4(0.0) = 0.01724137931 +f4(1.0) = -0.02695474407 +f4(2.0) = -0.04636880006 +*/ +~~~ + +### There is an external class that has data relevant to calculation + +~~~C++ +class BigComplexClassYouCantChange2 { +public: + double _param1, _param2; + double Weight(double x) const { return 58*_param1; } +}; + +// Create a helper wrapper class, inherit it from IRealFunction and use it as RealFunction +class BigComplexRealFunc2 : public IRealFunction { + const BigComplexClassYouCantChange2& _ref; +public: + BigComplexRealFunc2(const BigComplexClassYouCantChange2& bigClass) : _ref(bigClass) { } + + Real operator()(Real x) const { + return (_ref._param1 * cos(x) + _ref._param2 * sin(x)) / _ref.Weight(x) ; + } +}; + +void Docs_Demo_functions_case_5_usage() +{ + std::cout << "**********************************************************************" << std::endl; + std::cout << "*** CASE 5 - there is an external class that has data relevant to calculation (but you can't change the class)" << std::endl; + BigComplexClassYouCantChange2 bigObj; + + bigObj._param1 = 1.0; + bigObj._param2 = 2.0; + + BigComplexRealFunc2 f5(bigObj); // usable RealFunction object + + std::cout << "f5(0.0) = " << f5(0.0) << std::endl; + std::cout << "f5(1.0) = " << f5(1.0) << std::endl; + std::cout << "f5(2.0) = " << f5(2.0) << std::endl; + + bigObj._param1 = -2.0; + bigObj._param2 = 5.0; + + // our f5 function is now CHNAGED!!! + std::cout << "After change of object parameters:" << std::endl; + + std::cout << "f5(0.0) = " << f5(0.0) << std::endl; + std::cout << "f5(1.0) = " << f5(1.0) << std::endl; + std::cout << "f5(2.0) = " << f5(2.0) << std::endl; + +/* OUTPUT +f5(0.0) = 0.01724137931 +f5(1.0) = 0.03833179785 +f5(2.0) = 0.02418013823 +After change of object parameters: +f5(0.0) = 0.01724137931 +f5(1.0) = -0.02695474407 +f5(2.0) = -0.04636880006 +*/ +~~~ + + +### Creating interpolated from given values + +Currently, you can create inteprolated RealFunction, ParametricCurve and ScalaFunction<2> as function objects from interpolated values. +Detailed explanation is given in - [Interpolated functions](/docs/core/Interpolated_functions.md). + diff --git a/docs/core/Integration.md b/docs/core/Integration.md index 5fe2399..fe53383 100644 --- a/docs/core/Integration.md +++ b/docs/core/Integration.md @@ -1,11 +1,99 @@ # Numerical integration -## Trapezoidal integration +Set of classes and functions to perform numerical integration of functions. -## Simpson's rule +## Implemented algorithms for real function integration -## Romberg integration +enum IntegrationMethod { TRAP, SIMPSON, ROMBERG, GAUSS10 }; -## 2D Cartesian surface integration +### Trapezoidal integration -## 3D Cartesian volume integration \ No newline at end of file +~~~c++ +static Real IntegrateTrap(const IRealFunction& func, const Real a, const Real b, Real req_eps) + +// Returns the integral of the function func from a to b. The parameters EPS can be set to the +// desired fractional accuracy and JMAX so that 2 to the power JMAX-1 is the maximum allowed +// number of steps. Integration is performed by the trapezoidal rule. + +// Unsophisticated as it is, routine qtrap is in fact a fairly robust way of doing +// integrals of functions that are not very smooth. Increased sophistication will usually +// translate into a higher-order method whose efficiency will be greater only for +// sufficiently smooth integrands. qtrap is the method of choice, e.g., for an integrand +// which is a function of a variable that is linearly interpolated between measured data +// points. Be sure that you do not require too stringent an EPS, however: If qtrap takes +// too many steps in trying to achieve your required accuracy, accumulated roundoff +// errors may start increasing, and the routine may never converge. +// Value 1e-6 is just on the edge of trouble for most 32-bit machines; it is achievable when the +// convergence is moderately rapid, but not otherwise. +~~~ + +### Simpson's rule + +~~~C++ +static Real IntegrateSimpson(const IRealFunction& func, const Real a, const Real b, Real req_eps) + +// Returns the integral of the function func from a to b. The parameters EPS can be set to the +// desired fractional accuracy and JMAX so that 2 to the power JMAX-1 is the maximum allowed +// number of steps. Integration is performed by Simpsons rule. + +// The routine qsimp will in general be more efficient than qtrap (i.e., require +// fewer function evaluations) when the function to be integrated has a finite 4th +// derivative (i.e., a continuous 3rd derivative). The combination of qsimp and its +// necessary workhorse TrapRefine is a good one for light-duty work. +~~~ + +### Romberg integration + +~~~C++ +static Real IntegrateRomberg(const IRealFunction& func, const Real a, const Real b, Real req_eps) + +// Returns the integral of the function func from a to b. Integration is performed by Rombergs +// method of order 2K, where, e.g., K=2 is Simpsons rule. + +// The routine IntegrateRomberg, along with its required TrapRefine and polint, is quite +// powerful for sufficiently smooth (e.g., analytic) integrands, integrated over intervals +// which contain no singularities, and where the enRealoints are also nonsingular. qromb, +// in such circumstances, takes many, many fewer function evaluations than either of +// the routines in x4.2 +~~~ + +### Gaussian quadrature + +~~~C++ +static Real IntegrateGauss10(const IRealFunction& func, const Real a, const Real b) + +// Returns the integral of the function func between a and b, by ten-point GaussLegendre integration: +// the function is evaluated exactly ten times at interior points in the range of integration. +~~~ + +## Example usage + +~~~C++ +RealFunction f1{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; +RealFunction f1_integral{ [](Real x) { return (Real)(x * (-0.5 * x * cos(x) + sin(x))); } }; + +double a = 0.0; +double b = 10.0; +double int_trap = IntegrateTrap(f1, a, b); +double int_simp = IntegrateSimpson(f1, a, b); +double int_romb = IntegrateRomberg(f1, a, b); +double int_gauss = IntegrateGauss10(f1, a, b); +// we can use default Integrate routine (set to IntegrateSimpson), requires precision +double int_def = Integrate(f1, a, b, 1e-04); + +std::cout << "Integrating function f1 from " << a << " to " << b << std::endl; +std::cout << "Exact integral = " << f1_integral(b) - f1_integral(a) << std::endl; +std::cout << "IntegrateTrap = " << int_trap << std::endl; +std::cout << "IntegrateSimpson = " << int_simp << std::endl; +std::cout << "IntegrateRomberg = " << int_romb << std::endl; +std::cout << "IntegrateGauss10 = " << int_gauss << std::endl; + +/* OUTPUT +Integrating function f1 from 0 to 10 +Exact integral = 36.5134 +IntegrateTrap = 36.5133 +IntegrateSimpson = 36.5134 +IntegrateRomberg = 36.5134 +IntegrateGauss10 = 36.5134 +*/ +~~~ diff --git a/docs/core/Interpolated_functions.md b/docs/core/Interpolated_functions.md index 256be46..32b0205 100644 --- a/docs/core/Interpolated_functions.md +++ b/docs/core/Interpolated_functions.md @@ -1,8 +1,124 @@ # Interpolated functions -Types of interpolation: -- Linear -- Polynomial -- Rational polynomial -- Splines -- BarryRat +Types of functions that can be interpolated: +- IRealFunction +- IScalarFunction<2> +- IParametricCurve + +## Real function interpolation + +Types of interpolation for Real functions: +- Linear (LinearInterpRealFunc) +- Polynomial (PolynomInterpRealFunc) +- Rational polynomial (RationalInterpRealFunc) +- Splines (SplineInterpRealFunc) +- Barycentric rational (BaryRatInterpRealFunc) + +## Scalar function interpolation + +Types of interpolation for Scalar functions: +- Bilinear (BilinInterpScalarFunction2D) +- Polynom(PolynomInterpScalarFunction2D) +- Splines (SplineInterpScalarFunction2D) + +## Parametric curve interpolation + +Types of interpolation for Parametric curves: +- Splines (SplineInterpParametricCurve) + +## Example usage + +### Real function interpolation + +~~~C++ +void Docs_Demo_Interpolating_Real_function1_equally_spaced() +{ + Vector x_val({ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }); + Vector y_val({ 5.0, -2.0, 2.0, 3.0, 7.0, -6.0, -3.0, -2.0, 3.0, 0.0, -5.0 }); + + int NumInterpPnt = x_val.size(); + Real x1 = x_val[0]; + Real x2 = x_val[x_val.size() - 1]; + + // these are the ways we can interpolate Real function + LinearInterpRealFunc f_linear(x_val, y_val); + PolynomInterpRealFunc f_polynom(x_val, y_val, 3); + SplineInterpRealFunc f_spline(x_val, y_val); + BaryRatInterpRealFunc f_baryrat(x_val, y_val, 3); + + Visualizer::VisualizeMultiRealFunction({ &f_linear, &f_polynom, &f_spline, &f_baryrat }, "docs_dmos_multi_real_func1", x1, x2, 500, "docs_dmos_multi_real_func1.txt"); +} + +void Docs_Demo_Interpolating_Real_function2() +{ + Vector x_val({ 0.0, 1.0, 5.0, 6.0, 7.0, 10.0, 15.0, 17.0, 19.0, 20.0 }); + Vector y_val({ 5.0, -2.0, 2.0, 3.0, 7.0, -6.0, -3.0, -2.0, 3.0, 0.0 }); + + int NumInterpPnt = x_val.size(); + Real x1 = x_val[0]; + Real x2 = x_val[x_val.size() - 1]; + + // these are the ways we can interpolate Real function + LinearInterpRealFunc f_linear(x_val, y_val); + PolynomInterpRealFunc f_polynom(x_val, y_val, 3); + SplineInterpRealFunc f_spline(x_val, y_val); + BaryRatInterpRealFunc f_baryrat(x_val, y_val, 3); + + Visualizer::VisualizeMultiRealFunction({ &f_linear, &f_polynom, &f_spline, &f_baryrat }, "docs_dmos_multi_real_func2", x1, x2, 500, "docs_dmos_multi_real_func2.txt"); +} +~~~ + +### Parametric curve interpolation + +~~~C++ +void Docs_Demo_Interpolating_Parametric_curve() +{ + Matrix values(10, 3, { 0.0, 1.0, 5.0, + -1.0, 2.0, 3.0, + -4.0, 3.0, -2.0, + 20.0, 5.0, -2.0, + 2.0, 3.0, 7.0, + -6.0, -3.0, -2.0, + 3.0, 0.0, 5.0, + 5.0, -2.0, 1.0, + 6.0, -1.0, -2.0, + -2.0, 3.0, 0.0 }); + + SplineInterpParametricCurve<3> f_spline(values); + + Visualizer::VisualizeParamCurve3D(f_spline, "docs_dmos_param_curve", 0.0, 1.0, 100, "docs_dmos_param_curve.txt"); +} +~~~ + +### Surface (ScalarFunction<2>) interpolation + +~~~C++ +void Docs_Demo_Interpolating_Scalar_function2() +{ + Vector x1v{ -5.0, -4.0, -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 }; + Vector x2v{ -5.0, -4.0, -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 }; + Matrix ym(11, 11, { 10, 10, 20, 10, 40, 30, 20, -1, -2, -6, -4, + 10, 50, 30, 20, 10, 10, 20, -1, -3, -5, 3, + 10, 40, 10, 00, 20, 40, 20, 1, -2, -3, -1, + 10, 30, 20, 10, 20, 60, 00, 1, 0, -1, 0, + 20, 20, 30, 40, 50, 70, 10, 2, 1, 1, 1, + 30, 10, 30, 40, 60, 90, 40, 4, 2, 1, 1, + 40, 20, 30, 40, 50, 60, 50, 1, 3, 2, 1, + 20, 30, 30, 40, 40, 50, 30, 7, 5, 3, 1, + 20, 40, 30, 30, 20, 10, 20, 5, 8, 4, 1, + 10, 20, 30, 20, 10, 10, 10, 4, 3, 2, 0, + 10, 10, 20, 10, 00, 10, 00, 1, 0, 1, 0 }); + + BilinInterpScalarFunction2D f_bilin(x1v, x2v, ym); + + Visualizer::VisualizeScalarFunc2DCartesian(f_bilin, "docs_dmos_surface1", -5.0, 5.0, 11, -5.0, 5.0, 11, "docs_dmos_surface1.txt"); + + PolynomInterpScalarFunction2D f_poly(x1v, x2v, ym, 3, 3); + + Visualizer::VisualizeScalarFunc2DCartesian(f_poly, "docs_dmos_surface2", -5.0, 5.0, 11, -5.0, 5.0, 11, "docs_dmos_surface2.txt"); + + SplineInterpScalarFunction2D f_spline(x1v, x2v, ym); + + Visualizer::VisualizeScalarFunc2DCartesian(f_spline, "docs_dmos_surface3", -5.0, 5.0, 11, -5.0, 5.0, 11, "docs_dmos_surface3.txt"); +} +~~~ diff --git a/docs/core/Linear_equations_solvers.md b/docs/core/Linear_equations_solvers.md index 45b7c70..d121edd 100644 --- a/docs/core/Linear_equations_solvers.md +++ b/docs/core/Linear_equations_solvers.md @@ -1,11 +1,325 @@ # Linear system equations solvers + ## Gauss-Jordan elimination +Solving with Gauss-Jordan elimination. + +~~~C++ +std::cout << "SOLVING SYSTEMS VIA GAUSS-JORDAN ELIMINATION:\n"; + +Matrix origMat = TestBeds::mat_5x5; +Matrix matcopy(origMat); +Vector rhscopy(TestBeds::mat_5x5_rhs0); + +std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); +std::cout << "Right side:\n"; rhscopy.Print(std::cout, 10, 3); + +GaussJordanSolver::Solve(matcopy, rhscopy); + +std::cout << "\nSolution:\n" << rhscopy << std::endl; +std::cout << "Mat * sol: \n"; (origMat * rhscopy).Print(std::cout, 10, 3); + +// matcopy now containes inverted matrix +std::cout << "\nInverse:\n" << matcopy << std::endl; +std::cout << "Orig * inv:\n" << origMat * matcopy << std::endl; + +std::cout << "SOLVING MULTIPLE SYSTEMS VIA GAUSS-JORDAN ELIMINATION:\n"; +Matrix origMat2 = TestBeds::mat_5x5; +Matrix matcopy2(origMat2); +Matrix rhscopy2(TestBeds::mat_5x5_rhs_multi); + +std::cout << "Initial matrix:\n"; matcopy2.Print(std::cout, 10, 3); +std::cout << "Right side:\n"; rhscopy2.Print(std::cout, 10, 3); + +GaussJordanSolver::Solve(matcopy2, rhscopy2); + +std::cout << "Solution :\n" << rhscopy2 << std::endl; + +/* OUTPUT +SOLVING SYSTEMS VIA GAUSS-JORDAN ELIMINATION: +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 2.1, 7.4, 9.6, ] +[ 1.6, 1.5, 1.1, 0.7, 5, ] +[ 3.8, 8, 9.6, 5.4, 8.8, ] +[ 4.6, 8.2, 8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, 7.7, ] +Right side: +[ 1.1, 4.7, 0.1, 9.3, 0.4] +Solution: +[ -3.903271042, 5.235343316, -3.29209577, -1.718330011, 1.58327101] +Mat * sol: +[ 1.1, 4.7, 0.1, 9.3, 0.4] +Inverse: +Rows: 5 Cols: 5 +[ -1.68, 2.71, 1.47, -1.62, 0.338, ] +[ 1.16, -2.37, -1.42, 1.64, 0.00331, ] +[ -0.517, 1.01, 0.809, -0.807, -0.0967, ] +[ -0.15, 0.129, 0.226, -0.238, 0.0936, ] +[ 0.324, -0.197, -0.256, 0.239, -0.101, ] + +Orig * inv: +Rows: 5 Cols: 5 +[ 1, 1.11e-15, 4.44e-16, -4.44e-16, 4.44e-16, ] +[ -2.22e-16, 1, 0, 0, 1.11e-16, ] +[ -8.88e-16, 2.22e-15, 1, 0, 3.33e-16, ] +[ -4.44e-16, -1.11e-15, 4.44e-16, 1, 3.33e-16, ] +[ -4.44e-16, 6.66e-16, -4.44e-16, -2.22e-16, 1, ] + +SOLVING MULTIPLE SYSTEMS VIA GAUSS-JORDAN ELIMINATION: +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 2.1, 7.4, 9.6, ] +[ 1.6, 1.5, 1.1, 0.7, 5, ] +[ 3.8, 8, 9.6, 5.4, 8.8, ] +[ 4.6, 8.2, 8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, 7.7, ] +Right side: +Rows: 5 Cols: 2 +[ 1.1, 1.6, ] +[ 4.7, 9.1, ] +[ 0.1, 4, ] +[ 9.3, 8.4, ] +[ 0.4, 4.1, ] +Solution : +Rows: 5 Cols: 2 +[ -3.9, 15.6, ] +[ 5.24, -11.6, ] +[ -3.29, 4.41, ] +[ -1.72, 0.214, ] +[ 1.58, -0.71, ] +*/ +~~~ + ## LU decomposition +Solving linear system by performing LU decomposition. + +~~~C++ +std::cout << "\nSOLVING VIA LU DECOMPOSITION:\n"; + +Matrix mat = TestBeds::mat_5x5; +Vector rhs(TestBeds::mat_5x5_rhs0); + +std::cout << "Initial matrix:\n"; mat.Print(std::cout, 10, 3); +std::cout << "Right side:\n"; rhs.Print(std::cout, 10, 3); + +LUDecompositionSolver luSolver(mat); + +Vector vecSol = luSolver.Solve(rhs); + +std::cout << "\nSolution: " << vecSol << std::endl; +std::cout << "Mat * sol :\n "; (mat * vecSol).Print(std::cout, 8, 4); std::cout << std::endl; + +Matrix inv(5, 5); +luSolver.inverse(inv); + +std::cout << "Inverse:\n" << inv << std::endl; +std::cout << "Orig * inv:\n" << mat * inv << std::endl; + +std::cout << "\nSOLVING MULTIPLE SYSTEMS VIA LU DECOMPOSITION:\n"; + +Matrix origMat = TestBeds::mat_5x5; +Matrix matcopy(origMat); +Matrix rhscopy(TestBeds::mat_5x5_rhs_multi); + +std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); +std::cout << "Right side:\n"; rhscopy.Print(std::cout, 10, 3); + +Matrix matSol(5, 2); + +LUDecompositionSolver luSolver2(matcopy); +luSolver2.Solve(rhscopy, matSol); + +std::cout << "Solution:\n" << matSol << std::endl; + +/* OUTPUT +SOLVING VIA LU DECOMPOSITION: +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 2.1, 7.4, 9.6, ] +[ 1.6, 1.5, 1.1, 0.7, 5, ] +[ 3.8, 8, 9.6, 5.4, 8.8, ] +[ 4.6, 8.2, 8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, 7.7, ] +Right side: +[ 1.1, 4.7, 0.1, 9.3, 0.4] +Solution: [ -3.903271042, 5.235343316, -3.29209577, -1.718330011, 1.58327101] +Mat * sol : + [ 1.1, 4.7, 0.1, 9.3, 0.4] +Inverse: +Rows: 5 Cols: 5 +[ -1.68, 2.71, 1.47, -1.62, 0.338, ] +[ 1.16, -2.37, -1.42, 1.64, 0.00331, ] +[ -0.517, 1.01, 0.809, -0.807, -0.0967, ] +[ -0.15, 0.129, 0.226, -0.238, 0.0936, ] +[ 0.324, -0.197, -0.256, 0.239, -0.101, ] + +Orig * inv: +Rows: 5 Cols: 5 +[ 1, 0, 4.44e-16, -4.44e-16, 1.11e-16, ] +[ 2.22e-16, 1, -2.22e-16, -2.22e-16, 0, ] +[ -4.44e-16, 0, 1, -4.44e-16, 2.22e-16, ] +[ 4.44e-16, 4.44e-16, 0, 1, -1.11e-16, ] +[ 8.88e-16, -4.44e-16, -6.66e-16, -4.44e-16, 1, ] + + +SOLVING MULTIPLE SYSTEMS VIA LU DECOMPOSITION: +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 2.1, 7.4, 9.6, ] +[ 1.6, 1.5, 1.1, 0.7, 5, ] +[ 3.8, 8, 9.6, 5.4, 8.8, ] +[ 4.6, 8.2, 8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, 7.7, ] +Right side: +Rows: 5 Cols: 2 +[ 1.1, 1.6, ] +[ 4.7, 9.1, ] +[ 0.1, 4, ] +[ 9.3, 8.4, ] +[ 0.4, 4.1, ] +Solution: +Rows: 5 Cols: 2 +[ -3.9, 15.6, ] +[ 5.24, -11.6, ] +[ -3.29, 4.41, ] +[ -1.72, 0.214, ] +[ 1.58, -0.71, ] +*/ +~~~ + ## QR decomposition -## Cholesky decomposition +~~~C++ +std::cout << "\nSOLVING VIA QR DECOMPOSITION:\n"; + +Matrix mat4(5, 5, { 1.4, 2.1, 2.1, 7.4, 9.6, + 1.6, 1.5, 1.1, 0.7, 5.0, + 3.8, 8.0, 9.6, 5.4, 8.8, + 4.6, 8.2, 8.4, 0.4, 8.0, + 2.6, 2.9, 0.1, 9.6, 7.7 }); + +Vector solVec(5), vecrhs4{ 1.1, 4.7, 0.1, 9.3, 0.4 }; + +Matrix origMat = mat4; +Matrix matcopy(origMat); + +std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); +std::cout << "Right side:\n" << vecrhs4 << std::endl; + +QRDecompositionSolver qrSolver(matcopy); +qrSolver.Solve(vecrhs4, solVec); + +std::cout << "Solution:\n" << solVec << std::endl; +std::cout << "Mat * sol :\n" << origMat * solVec << std::endl; + +/* OUTPUT +SOLVING VIA QR DECOMPOSITION: +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 2.1, 7.4, 9.6, ] +[ 1.6, 1.5, 1.1, 0.7, 5, ] +[ 3.8, 8, 9.6, 5.4, 8.8, ] +[ 4.6, 8.2, 8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, 7.7, ] +Right side: +[ 1.1, 4.7, 0.1, 9.3, 0.4] +Solution: +[ -3.903271042, 5.235343316, -3.29209577, -1.718330011, 1.58327101] +Mat * sol : +[ 1.1, 4.7, 0.1, 9.3, 0.4] +*/ +~~~ ## SVD decomposition + +Solving linear system by performing Singular Value Decomposition (SVD) of the matrix. + +~~~C++ +std::cout << "\nSOLVING VIA SVD DECOMPOSITION:\n"; + +Matrix mat4(5, 5, { 1.4, 2.1, 2.1, 7.4, 9.6, + 1.6, 1.5, 1.1, 0.7, 5.0, + 3.8, 8.0, 9.6, 5.4, 8.8, + 4.6, 8.2, 8.4, 0.4, 8.0, + 2.6, 2.9, 0.1, 9.6, 7.7 }); + + +Vector vecrhs4{ 1.1, 4.7, 0.1, 9.3, 0.4 }, solVec(5); + +Matrix origMat = mat4; +Matrix matcopy(origMat); + +std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); +std::cout << "Right side:\n"; std::cout << vecrhs4 << std::endl; + +SVDecompositionSolver svdSolver(matcopy); +svdSolver.Solve(vecrhs4, solVec); + +std::cout << "Solution:\n" << solVec << std::endl; +std::cout << "Mat * sol :\n" << origMat * solVec << std::endl; + +/* OUTPUT +SOLVING VIA SVD DECOMPOSITION: +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 2.1, 7.4, 9.6, ] +[ 1.6, 1.5, 1.1, 0.7, 5, ] +[ 3.8, 8, 9.6, 5.4, 8.8, ] +[ 4.6, 8.2, 8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, 7.7, ] +Right side: +[ 1.1, 4.7, 0.1, 9.3, 0.4] +Solution: +[ -3.903271042, 5.235343316, -3.29209577, -1.718330011, 1.58327101] +Mat * sol : +[ 1.1, 4.7, 0.1, 9.3, 0.4] +*/ +~~~ + +## Cholesky decomposition + +Solving linear system by performing Cholesky decomposition of the matrix. +System matrix must be positive definite. + +~~~C++ +std::cout << "\nSOLVING VIA Cholesky DECOMPOSITION:\n"; + +// example positive definite matrix +Matrix mat4{ 3, 3, { 2.0, -1.0, 0.0, + -1.0, 3.0, -2.0, + 0.0, -2.0, 4.0 } }; + +Vector solVec(3), vecrhs4{ 1.1, 4.7, 0.1 }; + +Matrix origMat = mat4; +Matrix matcopy(origMat); + +std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); +std::cout << "Is positive definite: " << MatrixUtils::IsPositiveDefinite(mat4) << std::endl; + +std::cout << "Right side:\n" << vecrhs4 << std::endl; + +CholeskyDecompositionSolver choleskySolver(matcopy); +choleskySolver.Solve(vecrhs4, solVec); + +std::cout << "Solution:\n" << solVec << std::endl; +std::cout << "Multiplying solution with matrix: " << origMat * solVec << std::endl; + +/* OUTPUT +SOLVING VIA Cholesky DECOMPOSITION: +Initial matrix: +Rows: 3 Cols: 3 +[ 2, -1, 0, ] +[ -1, 3, -2, ] +[ 0, -2, 4, ] +Is positive definite: 1 +Right side: +[ 1.1, 4.7, 0.1] +Solution: +[ 2.316666667, 3.533333333, 1.791666667] +Multiplying solution with matrix: [ 1.1, 4.7, 0.1] +*/ +~~~ diff --git a/docs/core/Metric_tensor.md b/docs/core/Metric_tensor.md index 34b5f6c..9442e61 100644 --- a/docs/core/Metric_tensor.md +++ b/docs/core/Metric_tensor.md @@ -1 +1,129 @@ -# Metric tensor \ No newline at end of file +# Metric tensor + +Class inheriteed from ITensorField2, representing metric tensor of a given space. + +Base (abstract) class + +~~~C++ +template +class MetricTensorField : public ITensorField2 +{ +public: + MetricTensorField() : ITensorField2(2, 0) { } + MetricTensorField(int numContra, int numCo) : ITensorField2(numContra, numCo) { } + + // this function, defined in ITensorField2, is not implemented, and should be implemented in derived class + // virtual Real Component(int i, int j, const VectorN& pos) const = 0; + + Tensor2 operator()(const VectorN& pos) const; + + Real GetChristoffelSymbolFirstKind(int i, int j, int k, const VectorN& pos) const + Real GetChristoffelSymbolSecondKind(int i, int j, int k, const VectorN& pos) const + + VectorN CovariantDerivativeContravar(const IVectorFunction& func, int j, const VectorN& pos) const + Real CovariantDerivativeContravarComp(const IVectorFunction& func, int i, int j, const VectorN& pos) const + + VectorN CovariantDerivativeCovar(const IVectorFunction& func, int j, const VectorN& pos) const + Real CovariantDerivativeCovarComp(const IVectorFunction& func, int i, int j, const VectorN& pos) const +}; +~~~ + +## Defined metric tensors + +~~~C++ +template +class MetricTensorCartesian : public MetricTensorField +{ +public: + MetricTensorCartesian() : MetricTensorField(N, 0) { } + + Real Component(int i, int j, const VectorN& pos) const + { + if (i == j) + return 1.0; + else + return 0.0; + } +}; + +class MetricTensorSpherical : public MetricTensorField<3> +{ +public: + MetricTensorSpherical() : MetricTensorField<3>(0, 2) { } + + virtual Real Component(int i, int j, const VectorN& pos) const + { + if (i == 0 && j == 0) + return 1.0; + else if (i == 1 && j == 1) + return pos[0] * pos[0]; + else if (i == 2 && j == 2) + return pos[0] * pos[0] * sin(pos[1]) * sin(pos[1]); + else + return 0.0; + } +}; +class MetricTensorSphericalContravar : public MetricTensorField<3> +{ +public: + MetricTensorSphericalContravar() : MetricTensorField<3>(2, 0) { } + + virtual Real Component(int i, int j, const VectorN& pos) const + { + if (i == 0 && j == 0) + return 1.0; + else if (i == 1 && j == 1) + return 1 / (pos[0] * pos[0]); + else if (i == 2 && j == 2) + return 1 / (pos[0] * pos[0] * sin(pos[1]) * sin(pos[1])); + else + return 0.0; + } +}; +class MetricTensorCylindrical : public MetricTensorField<3> +{ +public: + MetricTensorCylindrical() : MetricTensorField<3>(2, 0) { } + + virtual Real Component(int i, int j, const VectorN& pos) const + { + if (i == 0 && j == 0) + return 1.0; + else if (i == 1 && j == 1) + return pos[0] * pos[0]; + else if (i == 2 && j == 2) + return 1.0; + else + return 0.0; + } +}; +~~~ + +## General metric tensor, defined with coord. transformation + +~~~C++ +template +class MetricTensorFromCoordTransf : public MetricTensorField +{ + ICoordTransfWithInverse& _coordTransf; + +public: + MetricTensorFromCoordTransf(ICoordTransfWithInverse& inTransf) : _coordTransf(inTransf) + { } + + virtual Real Component(int i, int j, const VectorN& pos) const + { + Real g_ij = 0.0; + for (int k = 0; k < N; k++) + { + g_ij += Derivation::DerivePartial(_coordTransf.coordTransfFunc(k), i, pos, nullptr) * Derivation::DerivePartial(_coordTransf.coordTransfFunc(k), j, pos, nullptr); + } + return g_ij; + } +}; +~~~ + +## Example usage + + + diff --git a/docs/core/Multidim_integration.md b/docs/core/Multidim_integration.md index a98b4c5..5155724 100644 --- a/docs/core/Multidim_integration.md +++ b/docs/core/Multidim_integration.md @@ -1 +1,7 @@ # Multidimensional integration + + +## 2D Cartesian surface integration + + +## 3D Cartesian volume integration \ No newline at end of file diff --git a/docs/core/ODE_system.md b/docs/core/ODE_system.md index 4fb6cf2..989cf39 100644 --- a/docs/core/ODE_system.md +++ b/docs/core/ODE_system.md @@ -1,11 +1,104 @@ # ODE system -- RKDumb -- RK4 adaptive -- Dormand-Prince Runge-Kutta 5th order -- Dormand-Prince Runge-Kutta 8th order -- Bulirsch-Stoer - -## Stiff system -- Semi-Implicit Extrapolation method -- Rosenbrock4 \ No newline at end of file +Class representing system of ordinary differential equations (ODEs). + +## Interface definition + +~~~C++ +class IODESystem +{ +public: + virtual int getDim() const = 0; + virtual void derivs(const Real, const Vector&, Vector&) const = 0; + void operator()(const Real t, const Vector& x, Vector& dxdt) const { return derivs(t, x, dxdt); } +}; +~~~ + +## Base class + +~~~C++ +class ODESystem : public IODESystem +{ +protected: + int _dim; + void (*_func)(Real, const Vector&, Vector&); + +public: + ODESystem() : _dim(0), _func(nullptr) { } + ODESystem(int n, void (*inFunc)(Real, const Vector&, Vector&)) : _dim(n), _func(inFunc) { } + + int getDim() const { return _dim; } + void derivs(const Real t, const Vector& x, Vector& dxdt) const + { + _func(t, x, dxdt); + } +}; +~~~ + +## Systems with Jacobian + +~~~C++ +class ODESystemWithJacobian : public ODESystem +{ +private: + void (*_funcJac)(const Real, const Vector&, Vector&, Matrix&); + +public: + ODESystemWithJacobian() { } + ODESystemWithJacobian(int n, + void (*inFunc)(Real, const Vector&, Vector&), + void (*inFuncJac)(const Real t, const Vector& x, Vector& dxdt, Matrix& dydx) + ) : ODESystem(n, inFunc), _funcJac(inFuncJac) { } + + void jacobian(const Real t, Vector& x, Vector& dxdt, Matrix& dydx) + { + _funcJac(t, x, dxdt, dydx); + } +}; + +// calculates needed Jacobian numerically +class ODESystemWithNumJacobian : public ODESystem +{ +public: + ODESystemWithNumJacobian() { } + ODESystemWithNumJacobian(int n, void (*inFunc)(Real, const Vector&, Vector&) ) + : ODESystem(n, inFunc) { } + + void jacobian(const Real t, Vector& x, Vector& dxdt, Matrix& dydx) + { + // formirati lokalnu vektorsku funkciju na bazi derivs() +// _funcJac(t, x, dxdt, dydx); + } +}; +~~~ + +## ODE solution class + +~~~C++ +class ODESystemSolution +{ + // first values are initial conditions +public: + int _sys_dim; + int _count; + Real _x1, _x2; + Vector _xval; + Matrix _yval; + + ODESystemSolution() {} + ODESystemSolution(Real x1, Real x2, int dim, int maxSteps) : _sys_dim(dim), _count(maxSteps + 1), _x1(x1), _x2(x2) + + template + ParametricCurveInterpolated getSolutionAsParametricCurve() const; + + template + SplineInterpParametricCurve getSolutionAsSplineParametricCurve() const; + + LinearInterpRealFunc getSolutionAsLinearInterp(int component) const; + PolynomInterpRealFunc getSolutionAsPolynomInterp(int component, int polynomDegree) const; + SplineInterpRealFunc getSolutionAsSplineInterp(int component) const; + + bool Serialize(std::string fileName, std::string title) const; + bool SerializeAsParametricCurve3D(std::string fileName, std::string title) const; +}; +~~~ diff --git a/docs/core/Vector_field_operations.md b/docs/core/Vector_field_operations.md index cc63b22..0249a3d 100644 --- a/docs/core/Vector_field_operations.md +++ b/docs/core/Vector_field_operations.md @@ -1,11 +1,69 @@ # Scalar and vector field operations +Numerical calculation of standard scalar and vector field operations - gradient, divergence, curl and Laplacian. +The operations are available for Cartesian, spherical and cylindrical coordinate systems. +Gradient and divergence can be calculated for fields defined on general coordinate systems, if provided with metric tensor. + ## Gradient +~~~C++ +// General gradient (requires metric tensor) +template +static VectorN Gradient(IScalarFunction& scalarField, const VectorN& pos, const MetricTensorField& metricTensorField) + +// Cartesian gradient +template +static VectorN GradientCart(const IScalarFunction& scalarField, const VectorN& pos) +template +static VectorN GradientCart(const IScalarFunction& scalarField, const VectorN& pos, int der_order) + +// Spherical gradient +static Vector3Spherical GradientSpher(const IScalarFunction<3>& scalarField, const Vector3Spherical& pos) +static Vector3Spherical GradientSpher(const IScalarFunction<3>& scalarField, const Vector3Spherical& pos, int der_order) + +// Cylindrical gradient +static Vector3Cylindrical GradientCyl(const IScalarFunction<3>& scalarField, const Vector3Cylindrical& pos) +static Vector3Cylindrical GradientCyl(const IScalarFunction<3>& scalarField, const Vector3Cylindrical& pos, int der_order) +~~~ + ## Divergence +~~~C++ +// General divergence (requires metric tensor) +template +static Real Divergence(const IVectorFunction& vectorField, const VectorN& pos, const MetricTensorField& metricTensorField) + +// Cartesian divergence +template +static Real DivCart(const IVectorFunction& vectorField, const VectorN& pos) + +// Spherical divergence +static Real DivSpher(const IVectorFunction<3>& vectorField, const VectorN& x) + +// Cylindrical divergence +static Real DivCyl(const IVectorFunction<3>& vectorField, const VectorN& x) +~~~ + ## Curl +~~~C++ +static Vector3Cartesian CurlCart(const IVectorFunction<3>& vectorField, const VectorN& pos) + +static Vector3Spherical CurlSpher(const IVectorFunction<3>& vectorField, const VectorN& pos) + +static Vector3Cylindrical CurlCyl(const IVectorFunction<3>& vectorField, const VectorN& pos) +~~~ + ## Laplacian +~~~C++ +template +static Real LaplacianCart(const IScalarFunction& scalarField, const VectorN& pos) + +static Real LaplacianSpher(const IScalarFunction<3>& scalarField, const Vector3Spherical& pos) + +static Real LaplacianCyl(const IScalarFunction<3>& scalarField, const Vector3Cylindrical& pos) +~~~ + +## Example usage diff --git a/docs/examples/Example1_kosi_hitac.md b/docs/examples/Example1_kosi_hitac.md index a09c6b4..b246feb 100644 --- a/docs/examples/Example1_kosi_hitac.md +++ b/docs/examples/Example1_kosi_hitac.md @@ -1,9 +1,23 @@ # Solving projectile launch -A ball is fired from the center of Ban Jelačić Square in Zagreb (45°48'47.4"N 15°58'38.3"E) at an angle of 45 degrees, straight in eastward direction. -The ball is fired at 12:00:00 on January 1, 2024. -What is position of the ball after one hour, if the initial velocity of the ball is 10 m/s, 100 m/s, 1000 m/s, 5000 m/s, 10e4 m/s, 10e5 m/s, 10e6 m/s, 10e7 m/s? +A ball is fired from the center of Ban Jelačić Square in Zagreb (45°48'47.4"N 15°58'38.3"E) at an angle of 45 degrees, in eastward direction. +The ball is fired at 12:00:00 GMT on January 1, 2024. What is position of the ball after one hour, for following values of the initial velocity: +1. 10 m/s +2. 100 m/s +3. 500 m/s +4. 1000 m/s +5. 5000 m/s +6. 10000 m/s +7. 2e4 m/s (20 km/s) +8. 1e5 m/s (100 km/s) +9. 1e6 m/s (1000 km/s) +10. 3e7 m/s? (0.1c) +11. 1e8 m/s (0.333c) +12. 2.5e8 m/s (0.833c) + +Air resistance is ignored. +For the first 6 cases, specify solution in (latitude, longitude, height) coord. system. +For the last 6 cases ... specify planetary coordinate system?. [C++ file with implementation](/docs_examples/examples/example1_kosi_hitac.cpp) -// TODO 0.9 diff --git a/docs/examples/Example2_collision_calculator.md b/docs/examples/Example2_collision_calculator.md index 2e9e911..d139196 100644 --- a/docs/examples/Example2_collision_calculator.md +++ b/docs/examples/Example2_collision_calculator.md @@ -4,4 +4,4 @@ This example shows how to calculate the collision between two solid spheres in 2 [C++ file with implementation](/docs_examples/examples/example2_collision_calculator.cpp) -// TODO 0.9 - HIGH; implement + diff --git a/docs/examples/Example3_tensor_of_inertia.md b/docs/examples/Example3_tensor_of_inertia.md index 52c61c0..f1482f8 100644 --- a/docs/examples/Example3_tensor_of_inertia.md +++ b/docs/examples/Example3_tensor_of_inertia.md @@ -1,6 +1,6 @@ # Calculating tensor of inertia -First, example for a set of discrete masses, with presentation of tensor transformations. +## Calculation for a set of discrete masses Classes for modeling set of discrete masses and calculating tensor of inertia. ~~~c++ @@ -54,7 +54,7 @@ public: }; ~~~ -Example of usage: +Calculating tensor of inertia: ~~~c++ // define set of discrete masses @@ -110,7 +110,7 @@ std::cout << "Tensor of inertia rotated maasses: " << std::endl; std::cout << tensor_changed << std::endl; ~~~ -Second, calculation for a continuous mass distribution (solid body), using volume integrals. +## Calculation for a continuous mass distribution (solid body) [C++ file with implementation](/docs_examples/examples/example3_tensor_of_inertia.cpp) diff --git a/docs/examples/Example5_Voyager_travels.md b/docs/examples/Example5_Voyager_travels.md index 9bb5a9e..97e023e 100644 --- a/docs/examples/Example5_Voyager_travels.md +++ b/docs/examples/Example5_Voyager_travels.md @@ -3,5 +3,3 @@ Calculating positions of Voyager I and Voyager II spacecrafts throughout their journeys. [C++ file with implementation](/docs_examples/examples/example5_Voyager_travels.cpp) - -// TODO 0.9 \ No newline at end of file diff --git a/docs/examples/Example6_electric_charge_distribution.md b/docs/examples/Example6_electric_charge_distribution.md index 6cb78f3..ac88bd3 100644 --- a/docs/examples/Example6_electric_charge_distribution.md +++ b/docs/examples/Example6_electric_charge_distribution.md @@ -6,5 +6,3 @@ Also, visualize resulting electric field. [C++ file with implementation](/docs_examples/examples/example6_electric_charge_distribution.cpp) - -// TODO 0.9 \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_coord_transf.cpp b/docs_examples/demos/docs_demo_coord_transf.cpp new file mode 100644 index 0000000..1428dd5 --- /dev/null +++ b/docs_examples/demos/docs_demo_coord_transf.cpp @@ -0,0 +1,329 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/CoordTransf.h" + +#include "core/Fields.h" +#endif + +using namespace MML; + +void Docs_Demo_CoordTransf_Transf() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** DEMO COORDINATE TRANSFORMATIONS ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + std::cout << "****** Direct spherical transformation *****\n"; + + Vector3Cartesian p1{ 5.0, 2.0, -3.0 }; + auto p1Spher = CoordTransfCartToSpher.transf(p1); + auto p1BackTransf = CoordTransfSpherToCart.transf(p1Spher); + + std::cout << "Cartesian : " << p1 << std::endl; + std::cout << "Spherical : " << p1Spher << std::endl; + std::cout << "Back transf : " << p1BackTransf << std::endl; + + std::cout << "***** Inverse spherical transformation *****\n"; + + Vector3Cartesian p2{ 5.0, 2.0, -3.0 }; + auto p2Spher = CoordTransfSpherToCart.transfInverse(p2); + auto p2BackTransf = CoordTransfCartToSpher.transfInverse(p2Spher); + + std::cout << "Cartesian : " << p2 << std::endl; + std::cout << "Spherical : " << p2Spher << std::endl; + std::cout << "Back transf : " << p2BackTransf << std::endl; + + std::cout << "***** Direct cylindrical transformation *****\n"; + + Vector3Cartesian p3{ 5.0, 2.0, -3.0 }; + auto p3Cyl = CoordTransfCartToCyl.transf(p3); + auto p3BackTransf = CoordTransfCylToCart.transf(p3Cyl); + + std::cout << "Cartesian : " << p3 << std::endl; + std::cout << "Cylindrical : " << p3Cyl << std::endl; + std::cout << "Back transf : " << p3BackTransf << std::endl; + + std::cout << "***** Inverse cylindrical transformation *****\n"; + + Vector3Cartesian p4{ 5.0, 2.0, -3.0 }; + auto p4Cyl = CoordTransfCylToCart.transfInverse(p4); + auto p4BackTransf = CoordTransfCartToCyl.transfInverse(p4Cyl); + + std::cout << "Cartesian : " << p4 << std::endl; + std::cout << "Spherical : " << p4Cyl << std::endl; + std::cout << "Back transf : " << p4BackTransf << std::endl; + +/* OUTPUT +****** Direct spherical transformation ***** +Cartesian : [ 5, 2, -3] +Spherical : [ 6.164414003, 2.079063573, 0.3805063771] +Back transf : [ 5, 2, -3] +***** Inverse spherical transformation ***** +Cartesian : [ 5, 2, -3] +Spherical : [ 6.164414003, 2.079063573, 0.3805063771] +Back transf : [ 5, 2, -3] +***** Direct cylindrical transformation ***** +Cartesian : [ 5, 2, -3] +Cylindrical : [ 5.385164807, 0.3805063771, -3] +Back transf : [ 5, 2, -3] +***** Inverse cylindrical transformation ***** +Cartesian : [ 5, 2, -3] +Spherical : [ 5.385164807, 0.3805063771, -3] +Back transf : [ 5, 2, -3] +*/ +} + +void Docs_Demo_CoordTransf_CovarContravar_Vec_transf() +{ + std::cout << "\n***********************************************************************" << std::endl; + std::cout << "**** CONTRAVARIANT TRANSFORMATION OF VELOCITY ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + Vec3Cart v_cart{ 1.0, 1.0, 0.0 }; + std::cout << "v_cart : " << v_cart << std::endl; + + std::cout << "AT POINT:\n"; + Vector3Cartesian x1_cart{ 1.0, -2.0, 1.0 }; + Vector3Spherical x1_spher{ CoordTransfCartToSpher.transf(x1_cart) }; + + std::cout << "Cartesian : " << x1_cart << std::endl << "Spherical : " << x1_spher << std::endl; + + Vector3Spherical v_transf_to_spher = CoordTransfCartToSpher.transfVecContravariant(v_cart, x1_cart); + std::cout << "contravar transf. to spher at cart.pnt = " << v_transf_to_spher << std::endl; + + Vector3Cartesian v_back_transf_to_cart = CoordTransfSpherToCart.transfVecContravariant(v_transf_to_spher, x1_spher); + std::cout << "back transf. to cartesian at spher.pnt = " << v_back_transf_to_cart << std::endl; + + std::cout << "\n***********************************************************************" << std::endl; + std::cout << "**** COVARIANT TRANSFORMATION OF GRADIENT ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + Vector3Cartesian p_cart{ 1.0, 1.0, 1.0 }; + Vector3Spherical p_spher(CoordTransfSpherToCart.transfInverse(p_cart)); + + std::cout << "Spherical: " << p_spher << std::endl; + std::cout << "Cartesian: " << p_cart << std::endl; + + std::cout << "\n****** Working with SPHERICAL TO CARTESIAN transformation *******\n"; + std::cout << "\n****** Potential in spherical coordinates *******\n"; + + ScalarFunction<3> fPotSpher(Fields::InverseRadialPotentialFieldSpher); + Vector3Spherical grad_spher = ScalarFieldOperations::GradientSpher(fPotSpher, p_spher); + + std::cout << "Field at : " << p_spher << " = " << Fields::InverseRadialPotentialFieldSpher(p_spher) << std::endl; + std::cout << "Grad(sph) at : " << p_spher << " = " << grad_spher << std::endl; + + Vector3Cartesian grad_transf_to_cart = CoordTransfSpherToCart.transfVecCovariant(grad_spher, p_cart); + Vector3Spherical back_transf_to_spher = CoordTransfCartToSpher.transfVecCovariant(grad_transf_to_cart, p_spher); + + std::cout << "Grad.transf. (Cart.) at " << p_cart << " = " << grad_transf_to_cart << std::endl; + std::cout << "Back transf. (Spher) at " << p_spher << " = " << back_transf_to_spher << std::endl; + + std::cout << "\n****** Working with CARTESIAN TO SPHERICAL transformation *******\n"; + std::cout << "\n****** Potential in cartesian coordinates: *******\n"; + + ScalarFunction<3> fPotCart(Fields::InverseRadialPotentialFieldCart); + Vector3Cartesian grad_cart = ScalarFieldOperations::GradientCart<3>(fPotCart, p_cart); + + std::cout << "Field at : " << p_cart << " = " << Fields::InverseRadialPotentialFieldCart(p_cart) << std::endl; + std::cout << "Grad.Cart. at : " << p_cart << " = " << grad_cart << std::endl; + + Vector3Spherical grad_transf_to_spher = CoordTransfCartToSpher.transfVecCovariant(grad_cart, p_spher); + Vector3Cartesian back_transf_to_cart = CoordTransfSpherToCart.transfVecCovariant(grad_transf_to_spher, p_cart); + + std::cout << "Grad.transf. (Spher) at " << p_spher << " = " << grad_transf_to_spher << std::endl; + std::cout << "Back transf. (Cart.) at " << p_cart << " = " << back_transf_to_cart << std::endl; + +/* OUTPUT +*********************************************************************** +**** CONTRAVARIANT TRANSFORMATION OF VELOCITY **** +*********************************************************************** +v_cart : [ 1, 1, 0] +AT POINT: +Cartesian : [ 1, -2, 1] +Spherical : [ 2.449489743, 1.150261992, -1.107148718] +contravar transf. to spher at cart.pnt = [ -0.4082482796, -0.07453559991, 0.6000000052] +back transf. to cartesian at spher.pnt = [ 1.000000006, 0.9999999863, 7.274731734e-09] + +*********************************************************************** +**** COVARIANT TRANSFORMATION OF GRADIENT **** +*********************************************************************** +Spherical: [ 1.732050808, 0.9553166181, 0.7853981634] +Cartesian: [ 1, 1, 1] + +****** Working with SPHERICAL TO CARTESIAN transformation ******* + +****** Potential in spherical coordinates ******* +Field at : [ 1.732050808, 0.9553166181, 0.7853981634] = 0.5773502692 +Grad(sph) at : [ 1.732050808, 0.9553166181, 0.7853981634] = [ -0.3333333333, 0, 0] +Grad.transf. (Cart.) at [ 1, 1, 1] = [ -0.1924500897, -0.1924500897, -0.1924500897] +Back transf. (Spher) at [ 1.732050808, 0.9553166181, 0.7853981634] = [ -0.3333333333, 2.942091015e-15, 2.370326158e-14] + +****** Working with CARTESIAN TO SPHERICAL transformation ******* + +****** Potential in cartesian coordinates: ******* +Field at : [ 1, 1, 1] = 0.5773502692 +Grad.Cart. at : [ 1, 1, 1] = [ -0.1924500897, -0.1924500897, -0.1924500897] +Grad.transf. (Spher) at [ 1.732050808, 0.9553166181, 0.7853981634] = [ -0.3333333333, 2.942091015e-15, 2.370326158e-14] +Back transf. (Cart.) at [ 1, 1, 1] = [ -0.1924500897, -0.1924500897, -0.1924500897] +*/ +} + +void Docs_Demo_CoordTransf_CovarContravarBasis() +{ + std::cout << "\n***********************************************************************" << std::endl; + std::cout << "**** DEMO COVARIANT & CONTRAVARIANT BASIS VECTORS ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + Vector3Cartesian p1{ 2.0, 2.0, 5 }; + auto p1Spher = CoordTransfCartToSpher.transf(p1); + + Real r = p1Spher[0]; + Real theta = p1Spher[1]; + Real phi = p1Spher[2]; + + std::cout << "Point (cartesian) : " << p1 << std::endl; + std::cout << "Point (spherical - rad) : " << p1Spher << std::endl; + std::cout << "Point (spherical - deg) : "; p1Spher.PrintDeg(std::cout, 15, 10); + + std::cout << "\n***** Using Spherical to Cartesian transformation *****\n"; + + std::cout << "\nCOVARIANT basis vectors\n"; + Vector3Cartesian vec_co_1 = CoordTransfSpherToCart.getCovariantBasisVec(0, p1Spher); + Vector3Cartesian vec_co_2 = CoordTransfSpherToCart.getCovariantBasisVec(1, p1Spher); + Vector3Cartesian vec_co_3 = CoordTransfSpherToCart.getCovariantBasisVec(2, p1Spher); + std::cout << "getCovariantBasisVec 1 : " << vec_co_1 << std::endl; + std::cout << "getCovariantBasisVec 2 : " << vec_co_2 << std::endl; + std::cout << "getCovariantBasisVec 3 : " << vec_co_3 << std::endl << std::endl; + + Vector3Cartesian vec_r2 { sin(theta) * cos(phi), sin(theta) * sin(phi), cos(theta) }; + Vector3Cartesian vec_theta2{ r * cos(theta) * cos(phi), r * cos(theta) * sin(phi), -r * sin(theta) }; + Vector3Cartesian vec_phi2 { -r * sin(theta) * sin(phi), r * sin(theta) * cos(phi), 0.0 }; + + //std::cout << "Explicit formula 1 : " << vec_r2 << std::endl; + //std::cout << "Explicit formula 2 : " << vec_theta2 << std::endl; + //std::cout << "Explicit formula 3 : " << vec_phi2 << std::endl << std::endl; + + std::cout << "GetAsUnitVector 1 : " << vec_co_1.GetAsUnitVector() << std::endl; + std::cout << "GetAsUnitVector 2 : " << vec_co_2.GetAsUnitVector() << std::endl; + std::cout << "GetAsUnitVector 3 : " << vec_co_3.GetAsUnitVector() << std::endl << std::endl; + + std::cout << "CONTRAVARIANT basis vectors\n"; + Vector3Cartesian vec_contra_1 = CoordTransfSpherToCart.getContravariantBasisVec(0, p1); + Vector3Cartesian vec_contra_2 = CoordTransfSpherToCart.getContravariantBasisVec(1, p1); + Vector3Cartesian vec_contra_3 = CoordTransfSpherToCart.getContravariantBasisVec(2, p1); + std::cout << "getContravariantBasisVec 1 : " << vec_contra_1 << std::endl; + std::cout << "getContravariantBasisVec 2 : " << vec_contra_2 << std::endl; + std::cout << "getContravariantBasisVec 3 : " << vec_contra_3 << std::endl << std::endl; + + Vector3Cartesian vec_i2{ sin(theta) * cos(phi), sin(theta) * sin(phi), cos(theta) }; + Vector3Cartesian vec_j2{ 1/r * cos(theta) * cos(phi), 1/r * cos(theta) * sin(phi), -1/r * sin(theta) }; + Vector3Cartesian vec_k2{ -1/r * sin(phi) / sin(theta), 1/r * cos(phi) / sin(theta), 0.0 }; + + //std::cout << "Explicit formula 1 : " << vec_i2 << std::endl; + //std::cout << "Explicit formula 2 : " << vec_j2 << std::endl; + //std::cout << "Explicit formula 3 : " << vec_k2 << std::endl << std::endl; + + std::cout << "GetAsUnitVectorAtPos 1 : " << vec_contra_1.GetAsUnitVectorAtPos(p1Spher) << std::endl; + std::cout << "GetAsUnitVectorAtPos 2 : " << vec_contra_2.GetAsUnitVectorAtPos(p1Spher) << std::endl; + std::cout << "GetAsUnitVectorAtPos 3 : " << vec_contra_3.GetAsUnitVectorAtPos(p1Spher) << std::endl << std::endl; + + + std::cout << "Veifying orthogonality of covariant and contravariant basis vectors:\n"; + std::cout << vec_co_3.ScalarProductCartesian(vec_contra_1) << std::endl; + std::cout << vec_co_3.ScalarProductCartesian(vec_contra_2) << std::endl; + std::cout << vec_co_3.ScalarProductCartesian(vec_contra_3) << std::endl; + + std::cout << "\n***** Using Cartesian to Spherical transformation *****\n"; + + std::cout << "\nCOVARIANT basis vectors\n"; + Vector3Spherical vec2_co_1 = CoordTransfCartToSpher.getCovariantBasisVec(0, p1); + Vector3Spherical vec2_co_2 = CoordTransfCartToSpher.getCovariantBasisVec(1, p1); + Vector3Spherical vec2_co_3 = CoordTransfCartToSpher.getCovariantBasisVec(2, p1); + std::cout << "getCovariantBasisVec 1 : " << vec2_co_1 << std::endl; + std::cout << "getCovariantBasisVec 2 : " << vec2_co_2 << std::endl; + std::cout << "getCovariantBasisVec 3 : " << vec2_co_3 << std::endl << std::endl; + + std::cout << "GetAsUnitVector 1 : " << vec2_co_1.GetAsUnitVectorAtPos(p1Spher) << std::endl; + std::cout << "GetAsUnitVector 2 : " << vec2_co_2.GetAsUnitVectorAtPos(p1Spher) << std::endl; + std::cout << "GetAsUnitVector 3 : " << vec2_co_3.GetAsUnitVectorAtPos(p1Spher) << std::endl << std::endl; + + std::cout << "CONTRAVARIANT basis vectors\n"; + Vector3Spherical vec2_contra_1 = CoordTransfCartToSpher.getContravariantBasisVec(0, p1Spher); + Vector3Spherical vec2_contra_2 = CoordTransfCartToSpher.getContravariantBasisVec(1, p1Spher); + Vector3Spherical vec2_contra_3 = CoordTransfCartToSpher.getContravariantBasisVec(2, p1Spher); + std::cout << "getContravariantBasisVec 1 : " << vec2_contra_1 << std::endl; + std::cout << "getContravariantBasisVec 2 : " << vec2_contra_2 << std::endl; + std::cout << "getContravariantBasisVec 3 : " << vec2_contra_3 << std::endl << std::endl; + + std::cout << "GetAsUnitVectorAtPos 1 : " << vec2_contra_1.GetAsUnitVectorAtPos(p1) << std::endl; + std::cout << "GetAsUnitVectorAtPos 2 : " << vec2_contra_2.GetAsUnitVectorAtPos(p1) << std::endl; + std::cout << "GetAsUnitVectorAtPos 3 : " << vec2_contra_3.GetAsUnitVectorAtPos(p1) << std::endl << std::endl; + +/* OUTPUT +Point (cartesian) : [ 2, 2, 5] +Point (spherical - rad) : [ 5.744562647, 0.5148059551, 0.7853981634] +Point (spherical - deg) : [ 5.7445626465, 29.4962084966, 45.0000000000 ] + +***** Using Spherical to Cartesian transformation ***** + +COVARIANT basis vectors +getCovariantBasisVec 1 : [ 0.3481553119, 0.3481553119, 0.8703882798] +getCovariantBasisVec 2 : [ 3.5355339059, 3.5355339059, -2.8284271247] +getCovariantBasisVec 3 : [ -2.0000000000, 2.0000000000, 0.0000000000] + +GetAsUnitVector 1 : [ 0.3481553119, 0.3481553119, 0.8703882798] +GetAsUnitVector 2 : [ 0.6154574549, 0.6154574549, -0.4923659639] +GetAsUnitVector 3 : [ -0.7071067812, 0.7071067812, 0.0000000000] + +CONTRAVARIANT basis vectors +getContravariantBasisVec 1 : [ 0.3481553119, 0.3481553119, 0.8703882798] +getContravariantBasisVec 2 : [ 0.1071373911, 0.1071373911, -0.0857099129] +getContravariantBasisVec 3 : [ -0.2500000000, 0.2500000000, 0.0000000000] + +GetAsUnitVectorAtPos 1 : [ 0.3481553119, 0.3481553119, 0.8703882798] +GetAsUnitVectorAtPos 2 : [ 0.6154574549, 0.6154574549, -0.4923659639] +GetAsUnitVectorAtPos 3 : [ -0.7071067812, 0.7071067812, 0.0000000000] + +Veifying orthogonality of covariant and contravariant basis vectors: +-0.0000000000 +-0.0000000000 +1.0000000000 + +***** Using Cartesian to Spherical transformation ***** + +COVARIANT basis vectors +getCovariantBasisVec 1 : [ 0.3481553119, 0.1071373911, -0.2500000000] +getCovariantBasisVec 2 : [ 0.3481553119, 0.1071373911, 0.2500000000] +getCovariantBasisVec 3 : [ 0.8703882798, -0.0857099129, 0.0000000000] + +GetAsUnitVector 1 : [ 0.3481553119, 0.0186502259, -0.0883883476] +GetAsUnitVector 2 : [ 0.3481553119, 0.0186502259, 0.0883883476] +GetAsUnitVector 3 : [ 0.8703882798, -0.0149201807, 0.0000000000] + +CONTRAVARIANT basis vectors +getContravariantBasisVec 1 : [ 0.3481553119, 3.5355339059, -2.0000000000] +getContravariantBasisVec 2 : [ 0.3481553119, 3.5355339059, 2.0000000000] +getContravariantBasisVec 3 : [ 0.8703882798, -2.8284271247, 0.0000000000] + +GetAsUnitVectorAtPos 1 : [ 0.3481553119, 1.7677669530, -1.0997501703] +GetAsUnitVectorAtPos 2 : [ 0.3481553119, 1.7677669530, 1.0997501703] +GetAsUnitVectorAtPos 3 : [ 0.8703882798, -1.4142135624, 0.0000000000] +*/ +} + +void Docs_Demo_CoordTransf_Tensor_transf() +{ + +} + +void Docs_Demo_Coord_Transf() +{ + Docs_Demo_CoordTransf_Transf(); + Docs_Demo_CoordTransf_CovarContravar_Vec_transf(); + Docs_Demo_CoordTransf_CovarContravarBasis(); + Docs_Demo_CoordTransf_Tensor_transf(); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_derivation.cpp b/docs_examples/demos/docs_demo_derivation.cpp new file mode 100644 index 0000000..c8eb3eb --- /dev/null +++ b/docs_examples/demos/docs_demo_derivation.cpp @@ -0,0 +1,49 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Function.h" +#include "core/FunctionHelpers.h" +#include "core/Derivation.h" +#endif + +using namespace MML; + +void Docs_Demo_Derivation() +{ + RealFunction f1{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; + + // numerical derivation of real function (available orders - 1, 2, 4, 6, 8) + double der_f1 = Derivation::NDer1(f1, 0.5); + double der_f2 = Derivation::NDer2(f1, 0.5, 1e-6); // setting explicit step size + Real err; + double der_f6 = Derivation::NDer6(f1, 0.5, &err); // if we need error estimate + double der_f8 = Derivation::NDer8(f1, 0.5); + // we can use default Derive routine (set to NDer4), but it requires error estimate + double der_f4 = Derivation::Derive(f1, 0.5, nullptr); + + // second and third derivatives + double sec_der_f1 = Derivation::NSecDer2(f1, 0.5); + double third_der_f1 = Derivation::NThirdDer2(f1, 0.5); + + // creating new function that is derivation of existing function + RealFuncDerived4 f1_der4(f1); // 4th order derivation + + // scalar and vector functions + ScalarFunction<3> f2Scal([](const VectorN& x) { return (Real)(1.0 / pow(x.NormL2(), 2)); }); + VectorFunction<3> f3Vec([](const VectorN& x) { return VectorN{0, x[0] * x[1], 0}; }); + + VectorN der_point{ 1.0, 1.0, 1.0 }; + double der_f2Scal = Derivation::NDer1Partial(f2Scal, 1, der_point); + VectorN der_f2Scal_all = Derivation::NDer1PartialByAll(f2Scal, der_point); + + double der_f3Vec = Derivation::NDer1Partial(f3Vec, 1, 1, der_point); + VectorN der_f3Vec_by1 = Derivation::NDer2PartialByAll(f3Vec, 1, der_point); + MatrixNM der_f3Vec_by_all = Derivation::NDer4PartialAllByAll(f3Vec, der_point); + + ParametricCurve<3> f4Curve([](Real x) { return VectorN{x, 2 * x, 3 * x}; }); + VectorN der_f4Curve = Derivation::NDer1(f4Curve, 1.0); + VectorN sec_f4Curve = Derivation::NSecDer1(f4Curve, 1.0); + VectorN third_f4Curve = Derivation::NThirdDer1(f4Curve, 1.0); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_diff_geometry.cpp b/docs_examples/demos/docs_demo_diff_geometry.cpp new file mode 100644 index 0000000..cac0881 --- /dev/null +++ b/docs_examples/demos/docs_demo_diff_geometry.cpp @@ -0,0 +1,84 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" +#include "core/Curves.h" + +#include "algorithms/ParametricCurveAnalyzer.h" +#endif + +#include "../test_data/parametric_curves_test_bed.h" + +using namespace MML; + +void Docs_Demo_Diff_geometry_curves() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Curves diff. geometry *******" << std::endl; + + // using Helix curve from TestData + const ParametricCurve<3> &test_curve = TestBeds::ParametricCurvesTestBed::getTestCurve("Helix")._curve; + + std::cout << "t tangent unit_tangent normal unit_normal binormal" << std::endl; + for( int i=-10; i<=10; ++i) + { + Real t = i / 10.0; + + auto tangent = ParametricCurveAnalyzer::getTangent(test_curve, t); + auto unit_tang = ParametricCurveAnalyzer::getTangentUnit(test_curve, t); + auto normal = ParametricCurveAnalyzer::getNormal(test_curve, t); + auto unit_norm = ParametricCurveAnalyzer::getNormalUnit(test_curve, t); + auto binormal = ParametricCurveAnalyzer::getBinormal(test_curve, t); + //auto binormal = VectorProd(Vector3Cartesian(unit_tang), Vector3Cartesian(unit_norm)); + //auto princNorm = ParametricCurveAnalyzer::getPrincipalNormal(test_curve, t); + + std::cout << "t = " << std::setw(4) << t << " : "; + + tangent.Print(std::cout, 10, 6, 1e-10); std::cout << " "; + unit_tang.Print(std::cout, 10, 6, 1e-10); std::cout << " "; + normal.Print(std::cout, 10, 6, 1e-10); std::cout << " "; + unit_norm.Print(std::cout, 10, 6, 1e-10); std::cout << " "; + binormal.Print(std::cout, 10, 6, 1e-10); + + std::cout << std::endl; + + auto curv_vec = ParametricCurveAnalyzer::getCurvatureVector(test_curve, t); + auto curvature = ParametricCurveAnalyzer::getCurvature(test_curve, t); + auto curvature3 = ParametricCurveAnalyzer::getCurvature3(test_curve, t); + } + +/* OUTPUT +t tangent unit_tangent normal unit_normal binormal +t = -1 : [ 0.841471, 0.540302, 1] [ 0.59501, 0.382051, 0.707107] [ -0.540302, 0.841471, 0] [ -0.540302, 0.841471, 0] [ 0.59501, 0.382051, -0.707107] +t = -0.9 : [ 0.783327, 0.62161, 1] [ 0.553896, 0.439545, 0.707107] [ -0.62161, 0.783327, 0] [ -0.62161, 0.783327, 0] [ 0.553896, 0.439545, -0.707107] +t = -0.8 : [ 0.717356, 0.696707, 1] [ 0.507247, 0.492646, 0.707107] [ -0.696707, 0.717356, 0] [ -0.696707, 0.717356, 0] [ 0.507247, 0.492646, -0.707107] +t = -0.7 : [ 0.644218, 0.764842, 1] [ 0.455531, 0.540825, 0.707107] [ -0.764842, 0.644218, 0] [ -0.764842, 0.644218, 0] [ 0.455531, 0.540825, -0.707107] +t = -0.6 : [ 0.564642, 0.825336, 1] [ 0.399263, 0.5836, 0.707107] [ -0.825336, 0.564642, 0] [ -0.825336, 0.564642, 0] [ 0.399263, 0.5836, -0.707107] +t = -0.5 : [ 0.479426, 0.877583, 1] [ 0.339005, 0.620545, 0.707107] [ -0.877583, 0.479426, 0] [ -0.877583, 0.479426, 0] [ 0.339005, 0.620545, -0.707107] +t = -0.4 : [ 0.389418, 0.921061, 1] [ 0.27536, 0.651288, 0.707107] [ -0.921061, 0.389418, 0] [ -0.921061, 0.389418, 0] [ 0.27536, 0.651288, -0.707107] +t = -0.3 : [ 0.29552, 0.955336, 1] [ 0.208964, 0.675525, 0.707107] [ -0.955336, 0.29552, 0] [ -0.955336, 0.29552, 0] [ 0.208964, 0.675525, -0.707107] +t = -0.2 : [ 0.198669, 0.980067, 1] [ 0.14048, 0.693012, 0.707107] [ -0.980067, 0.198669, 0] [ -0.980067, 0.198669, 0] [ 0.14048, 0.693012, -0.707107] +t = -0.1 : [ 0.0998334, 0.995004, 1] [ 0.0705929, 0.703574, 0.707107] [ -0.995004, 0.0998334, 0] [ -0.995004, 0.0998334, 0] [ 0.0705929, 0.703574, -0.707107] +t = 0 : [ 0, 1, 1] [ 0, 0.707107, 0.707107] [ -1, 0, 0] [ -1, 0, 0] [ 0, 0.707107, -0.707107] +t = 0.1 : [-0.0998334, 0.995004, 1] [-0.0705929, 0.703574, 0.707107] [ -0.995004, -0.0998334, 0] [ -0.995004, -0.0998334, 0] [-0.0705929, 0.703574, -0.707107] +t = 0.2 : [ -0.198669, 0.980067, 1] [ -0.14048, 0.693012, 0.707107] [ -0.980067, -0.198669, 0] [ -0.980067, -0.198669, 0] [ -0.14048, 0.693012, -0.707107] +t = 0.3 : [ -0.29552, 0.955336, 1] [ -0.208964, 0.675525, 0.707107] [ -0.955336, -0.29552, 0] [ -0.955336, -0.29552, 0] [ -0.208964, 0.675525, -0.707107] +t = 0.4 : [ -0.389418, 0.921061, 1] [ -0.27536, 0.651288, 0.707107] [ -0.921061, -0.389418, 0] [ -0.921061, -0.389418, 0] [ -0.27536, 0.651288, -0.707107] +t = 0.5 : [ -0.479426, 0.877583, 1] [ -0.339005, 0.620545, 0.707107] [ -0.877583, -0.479426, 0] [ -0.877583, -0.479426, 0] [ -0.339005, 0.620545, -0.707107] +t = 0.6 : [ -0.564642, 0.825336, 1] [ -0.399263, 0.5836, 0.707107] [ -0.825336, -0.564642, 0] [ -0.825336, -0.564642, 0] [ -0.399263, 0.5836, -0.707107] +t = 0.7 : [ -0.644218, 0.764842, 1] [ -0.455531, 0.540825, 0.707107] [ -0.764842, -0.644218, 0] [ -0.764842, -0.644218, 0] [ -0.455531, 0.540825, -0.707107] +t = 0.8 : [ -0.717356, 0.696707, 1] [ -0.507247, 0.492646, 0.707107] [ -0.696707, -0.717356, 0] [ -0.696707, -0.717356, 0] [ -0.507247, 0.492646, -0.707107] +t = 0.9 : [ -0.783327, 0.62161, 1] [ -0.553896, 0.439545, 0.707107] [ -0.62161, -0.783327, 0] [ -0.62161, -0.783327, 0] [ -0.553896, 0.439545, -0.707107] +t = 1 : [ -0.841471, 0.540302, 1] [ -0.59501, 0.382051, 0.707107] [ -0.540302, -0.841471, 0] [ -0.540302, -0.841471, 0] [ -0.59501, 0.382051, -0.707107] +*/ +} + +void Docs_Demo_Diff_geometry_surfaces() +{ +} + +void Docs_Demo_Diff_geometry() +{ + Docs_Demo_Diff_geometry_curves(); + Docs_Demo_Diff_geometry_surfaces(); +} diff --git a/docs_examples/demos/docs_demo_eigen_solvers.cpp b/docs_examples/demos/docs_demo_eigen_solvers.cpp new file mode 100644 index 0000000..9d777cc --- /dev/null +++ b/docs_examples/demos/docs_demo_eigen_solvers.cpp @@ -0,0 +1,183 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/CoreUtils.h" + +#include "algorithms/EigenSystemSolvers.h" +#endif + + +using namespace MML; + + +void Docs_Demo_Symmetric_Eigen_Solver() +{ + std::cout << "*******************************************************************\n"; + std::cout << "***** CALCULATING EIGENVALUES OF SYMMETRIC MATRIX *****\n"; + + MatrixSym symm_mat{ 5, {1.4, 2.1, 2.1, 7.4, 9.6, + 1.5, 1.1, 0.7, 5.0, + 9.6, 5.4, 8.8, + 0.4, 8.0, + 7.7 } }; + Matrix matcopy = symm_mat.GetAsMatrix(); + + SymmMatEigenSolver eigen_solver(symm_mat, true); + + int width = 15; + int prec = 10; + + std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); std::cout << std::endl; + std::cout << "Eigenvalues : "; eigen_solver.getEigenvalues().Print(std::cout, 10, 3); std::cout << "\n\n"; + + for (int i = 0; i < symm_mat.Dim(); i++) + { + double eigen_val = eigen_solver.getEigenvalues()[i]; + Vector eigen_vec = eigen_solver.getEigenvector(i); + + std::cout << "Eigen value " << i + 1 << " (real) = " << eigen_val << std::endl; + std::cout << "Eigen vector " << i + 1 << " (real) = "; eigen_vec.Print(std::cout, width, prec); std::cout << std::endl; + + std::cout << "Mat * eig_vec = "; (matcopy * eigen_vec).Print(std::cout, width, prec); std::cout << std::endl; + std::cout << "eig_val * eig_vec = "; (eigen_val * eigen_vec).Print(std::cout, width, prec); std::cout << "\n\n"; + } + +/* OUTPUT +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 7.4, 1.1, 5.4, ] +[ 2.1, 2.1, 9.6, 0.7, 8.8, ] +[ 7.4, 9.6, 1.5, 5, 0.4, ] +[ 1.1, 0.7, 5, 9.6, 8, ] +[ 5.4, 8.8, 0.4, 8, 7.7, ] + +Eigenvalues : [ 24.6, 8.01, 3.54, -0.57, -13.3] + +Eigen value 1 (real) = 24.6 +Eigen vector 1 (real) = [ 0.3207830408, 0.4359308891, 0.3974911379, 0.4784849759, 0.5657874369] +Mat * eig_vec = [ 7.887571178, 10.71888311, 9.773707598, 11.76522392, 13.91185977] +eig_val * eig_vec = [ 7.887571178, 10.71888311, 9.773707598, 11.76522392, 13.91185977] + +Eigen value 2 (real) = 8.008425134 +Eigen vector 2 (real) = [ 0.323313998, 0.4160284348, 0.4267540611, -0.7051973277, -0.2072826582] +Mat * eig_vec = [ 2.589235948, 3.331732574, 3.417627949, -5.647520004, -1.66000765] +eig_val * eig_vec = [ 2.589235948, 3.331732574, 3.417627949, -5.647520004, -1.66000765] + +Eigen value 3 (real) = 3.541665812 +Eigen vector 3 (real) = [ 0.1398659018, -0.2065443391, 0.5233038154, 0.4572026692, -0.6744596367] +Mat * eig_vec = [ 0.4953582827, -0.7315110245, 1.853367233, 1.619259063, -2.388710637] +eig_val * eig_vec = [ 0.4953582827, -0.7315110245, 1.853367233, 1.619259063, -2.388710637] + +Eigen value 4 (real) = -0.5700940778 +Eigen vector 4 (real) = [ 0.8045643778, -0.5452049336, -0.1559364946, -0.09146643767, 0.1508159234] +Mat * eig_vec = [ -0.458677387, 0.3108181039, 0.0888984721, 0.05214447444, -0.08597926477] +eig_val * eig_vec = [ -0.458677387, 0.3108181039, 0.0888984721, 0.05214447444, -0.08597926477] + +Eigen value 5 (real) = -13.2684887 +Eigen vector 5 (real) = [ 0.3545137387, 0.5449546933, -0.6014305388, 0.2373783201, -0.3990955168] +Mat * eig_vec = [ -4.703861536, -7.230725189, 7.980074307, -3.149651558, 5.295394355] +eig_val * eig_vec = [ -4.703861536, -7.230725189, 7.980074307, -3.149651558, 5.295394355]* +*/ +} + +void Docs_Demo_Unsymmetric_Eigen_Solver() +{ + std::cout << "*******************************************************************\n"; + std::cout << "***** CALCULATING EIGENVALUES OF UNSYMMETRIC MATRIX *****\n"; + + Matrix origMat{ 5, 5, { 3.2,-4.1, 2.7, 3.4, 4.6, + 2.1, 3.5, 1.6,-0.7, 5.0, + 3.8,-1.3,-6.6,-5.4, 3.8, + 4.6, 8.2,-8.4, 0.4, 8.0, + 2.6, 2.9, 0.1, 9.6,-7.7 } }; + Matrix matcopy(origMat); + + EigenSolver eigen_solver(matcopy, true, false); + + int width = 15; + int prec = 10; + std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); std::cout << std::endl; + + std::cout << "Num real eigenvalues : " << eigen_solver.getNumReal() << std::endl; + std::cout << "Num complex eigenvalues : " << eigen_solver.getNumComplex() << "\n\n"; + + std::cout << "Real eigenvalues : "; eigen_solver.getRealEigenvalues().Print(std::cout, width, prec); std::cout << std::endl; + std::cout << "Complex eigenvalues : "; eigen_solver.getComplexEigenvalues().Print(std::cout, width, prec); std::cout << "\n\n"; + + Matrix mat_cmplx = MatrixUtils::CmplxMatFromRealMat(matcopy); + + for (int i = 0; i < origMat.RowNum(); i++) + { + if (eigen_solver.isRealEigenvalue(i)) + { + double eigen_val = eigen_solver.getEigenvalues()[i].real(); + Vector eigen_vec = eigen_solver.getRealPartEigenvector(i); + + std::cout << "Eigen value " << i + 1 << " (real) = " << eigen_val << std::endl; + std::cout << "Eigen vector " << i + 1 << " (real) = "; eigen_vec.Print(std::cout, width, prec); std::cout << std::endl; + + std::cout << "Mat * eig_vec = "; (matcopy * eigen_vec).Print(std::cout, width, prec); std::cout << std::endl; + std::cout << "eig_val * eig_vec = "; (eigen_val * eigen_vec).Print(std::cout, width, prec); std::cout << "\n\n"; + } + else + { + Complex eigen_val = eigen_solver.getEigenvalues()[i]; + Vector eigen_vec = eigen_solver.getEigenvector(i); + + std::cout << "Eigen value " << i + 1 << " (complex) = " << eigen_val << std::endl; + std::cout << "Eigen vector " << i + 1 << " (complex) = "; eigen_solver.getEigenvector(i).Print(std::cout, width, prec); std::cout << std::endl; + + std::cout << "Mat * eig_vec = "; (mat_cmplx * eigen_vec).Print(std::cout, width, prec); std::cout << std::endl; + std::cout << "eig_val * eig_vec = "; (eigen_val * eigen_vec).Print(std::cout, width, prec); std::cout << "\n\n"; + } + } + +/* OUTPUT +Initial matrix: +Rows: 5 Cols: 5 +[ 3.2, -4.1, 2.7, 3.4, 4.6, ] +[ 2.1, 3.5, 1.6, -0.7, 5, ] +[ 3.8, -1.3, -6.6, -5.4, 3.8, ] +[ 4.6, 8.2, -8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, -7.7, ] + +Num real eigenvalues : 3 +Num complex eigenvalues : 2 + +Real eigenvalues : [ 11.76342368, -7.588677062, -16.23751082] +Complex eigenvalues : [(2.431382106,3.808290416), (2.431382106,-3.808290416)] + +Eigen value 1 (real) = 11.76342368 +Eigen vector 1 (real) = [ 0.3339842192, 0.2643676911, -0.05813239922, 0.6554857426, 0.4070134471] +Mat * eig_vec = [ 3.928797872, 3.109869156, -0.6838360413, 7.710756503, 4.78787162] +eig_val * eig_vec = [ 3.928797872, 3.109869156, -0.6838360413, 7.710756503, 4.78787162] + +Eigen value 2 (complex) = (2.431382106,3.808290416) +Eigen vector 2 (complex) = [(-0.2890819407,-0.9295540505), (-0.5477470685,0.2573057905), (-0.4005918445,-0.4458267692), (0.44828404,0.3937093584), (0.2334509995,0.1160082809)] +Mat * eig_vec = [(2.837143124,-3.361009069), (-2.311677597,-1.460371216), (0.7238459701,-2.609545311), (-0.4094097833,2.664453702), (0.1258153585,1.171109662)] +eig_val * eig_vec = [(2.837143124,-3.361009069), (-2.311677597,-1.460371216), (0.7238459701,-2.609545311), (-0.4094097833,2.664453702), (0.1258153585,1.171109662)] + +Eigen value 3 (complex) = (2.431382106,-3.808290416) +Eigen vector 3 (complex) = [(-0.2890819407,0.9295540505), (-0.5477470685,-0.2573057905), (-0.4005918445,0.4458267692), (0.44828404,-0.3937093584), (0.2334509995,-0.1160082809)] +Mat * eig_vec = [(2.837143124,3.361009069), (-2.311677597,1.460371216), (0.7238459701,2.609545311), (-0.4094097833,-2.664453702), (0.1258153585,-1.171109662)] +eig_val * eig_vec = [(2.837143124,3.361009069), (-2.311677597,1.460371216), (0.7238459701,2.609545311), (-0.4094097833,-2.664453702), (0.1258153585,-1.171109662)] + +Eigen value 4 (real) = -7.588677062 +Eigen vector 4 (real) = [ 0.7226386328, 0.3241902749, -0.4495106792, -0.2996399104, -0.920582649] +Mat * eig_vec = [ -5.483871217, -2.460175303, 3.41119138, 2.273870515, 6.986004432] +eig_val * eig_vec = [ -5.483871217, -2.460175303, 3.41119138, 2.273870515, 6.986004432] + +Eigen value 5 (real) = -16.23751082 +Eigen vector 5 (real) = [ -0.01376371301, -0.1611250262, -0.6690299644, -0.6241081545, 0.7685365962] +Mat * eig_vec = [ 0.223488439, 2.616269357, 10.86338129, 10.13396291, -12.4791213] +eig_val * eig_vec = [ 0.223488439, 2.616269357, 10.86338129, 10.13396291, -12.4791213]* +*/ +} + +void Docs_Demo_Eigen_solvers() +{ + Docs_Demo_Symmetric_Eigen_Solver(); + Docs_Demo_Unsymmetric_Eigen_Solver(); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_field_operations.cpp b/docs_examples/demos/docs_demo_field_operations.cpp new file mode 100644 index 0000000..b5eefb9 --- /dev/null +++ b/docs_examples/demos/docs_demo_field_operations.cpp @@ -0,0 +1,16 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/FieldOperations.h" +#endif + +using namespace MML; + +void Docs_Demo_Field_operations() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Field operations *******" << std::endl; + +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_functions.cpp b/docs_examples/demos/docs_demo_functions.cpp new file mode 100644 index 0000000..f74a229 --- /dev/null +++ b/docs_examples/demos/docs_demo_functions.cpp @@ -0,0 +1,260 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Function.h" +#endif + +using namespace MML; + + +///////////////////////////////////////////////////////////////////////////////////// +// CASE 1 - we have standalone function providing needed calculation +// examples of already existing function +Real Docs_Demo_functions_RealFunc(Real x) { + return sin(x) * (1 + x * x / 2); +} +Real Docs_Demo_functions_ScalarFunc(const VectorN& x) { + return 1 / x.NormL2(); +} +// little bit more real scalar function :) +Real Docs_Demo_functions_two_masses_gravity_potential(const VectorN& x) +{ + const VectorN x1{ 10.0, 0.0, 0.0 }; + const VectorN x2{ -10.0, 0.0, 0.0 }; + const Real m1 = 1000.0; + const Real m2 = 1000.0; + const Real G = 1.0; + return -G * m1 / (x - x1).NormL2() - G * m2 / (x - x2).NormL2(); +} +VectorN Docs_Demo_functions_VectorFunc(const VectorN& x) { + return VectorN{0, x[0] * x[1], 0}; +} +VectorN Docs_Demo_functions_VectorFuncNM(const VectorN& x) { + return VectorN{0, x[0] * x[1], 0}; +} +VectorN Docs_Demo_functions_ParamCurve(Real t) { + return VectorN{t, 2 * t, 3 * t}; +} +VectorN Docs_Demo_functions_ParamSurface(Real x, Real y) { + return VectorN{x * y, 2 * x * y, 3 * x}; +} + +void Docs_Demo_functions_case_1_usage() +{ + // creating a function object from an already existing (standalone) function + RealFunction fReal(Docs_Demo_functions_RealFunc); + ScalarFunction<3> fScalar(Docs_Demo_functions_ScalarFunc); + ScalarFunction<3> fScalar2(Docs_Demo_functions_two_masses_gravity_potential); + VectorFunction<3> fVector(Docs_Demo_functions_VectorFunc); + VectorFunctionNM<2, 3> fVectorNM(Docs_Demo_functions_VectorFuncNM); + ParametricCurve<3> paramCurve(Docs_Demo_functions_ParamCurve); + ParametricSurface<3> paramSurface(Docs_Demo_functions_ParamSurface); +} + +///////////////////////////////////////////////////////////////////////////////////// +// CASE 2 - creating function directly from lambda + +void Docs_Demo_functions_case_2_usage() +{ + std::cout << "**********************************************************************" << std::endl; + std::cout << "*** CASE 2 - creating function directly from lambda" << std::endl; + + RealFunction f2{ [](Real x) { return (Real)sin(x) * (1 + x * x / 2); } }; + + // creating directly different types of functions + ScalarFunction<3> fScalar([](const VectorN& x) { return x[0]; }); + ScalarFunction<3> two_masses_gravity_field_potential{ [](const VectorN& x) + { + const VectorN x1{ 10.0, 0.0, 0.0 }; + const VectorN x2{ -10.0, 0.0, 0.0 }; + const Real m1 = 1000.0; + const Real m2 = 1000.0; + const Real G = 1.0; + return -G * m1 / (x - x1).NormL2() - G * m2 / (x - x2).NormL2(); + } }; + VectorFunction<3> fVector([](const VectorN& x) { return VectorN{0, x[0] * x[1], 0}; }); + VectorFunctionNM<2, 3> fVectorNM([](const VectorN& x) { return VectorN{0, x[0] * x[1], 0}; }); + ParametricCurve<3> paramCurve([](Real x) { return VectorN{x, 2 * x, 3 * x}; }); + ParametricSurface<3> paramSurface([](Real x, Real y) { return VectorN{x* y, 2 * x * y, 3 * x}; }); + + // evaluating the functions + std::cout << "f2(0.0) = " << f2(0.0) << std::endl; + std::cout << "fScalar({1, 1, 1}) = " << fScalar(VectorN{1, 1, 1}) << std::endl; + std::cout << "fScalar({-1, -1, 1}) = " << fScalar(VectorN{-1, -1, 1}) << std::endl; + std::cout << "fScalar({2, 2, 2}) = " << fScalar(VectorN{2, 2, 2}) << std::endl; + std::cout << "fVector({1, 1, 1}) = " << fVector(VectorN{1, 1, 1}) << std::endl; + std::cout << "fVector({-1, -1, 1}) = " << fVector(VectorN{-1, -1, 1}) << std::endl; + std::cout << "fVector({2, 2, 2}) = " << fVector(VectorN{2, 2, 2}) << std::endl; + std::cout << "fVectorNM({1, 1}) = " << fVectorNM(VectorN{1, 1}) << std::endl; + std::cout << "fVectorNM({-1, -1}) = " << fVectorNM(VectorN{-1, -1}) << std::endl; + std::cout << "fVectorNM({2, 2}) = " << fVectorNM(VectorN{2, 2}) << std::endl; + std::cout << "paramCurve(1.0) = " << paramCurve(1.0) << std::endl; + std::cout << "paramSurface(1.0, 1.0) = " << paramSurface(1.0, 1.0) << std::endl; + +/* OUTPUT +f2(0.0) = 0 +fScalar({1, 1, 1}) = 1 +fScalar({-1, -1, 1}) = -1 +fScalar({2, 2, 2}) = 2 +fVector({1, 1, 1}) = [ 0, 1, 0] +fVector({-1, -1, 1}) = [ 0, 1, 0] +fVector({2, 2, 2}) = [ 0, 4, 0] +fVectorNM({1, 1}) = [ 0, 1, 0] +fVectorNM({-1, -1}) = [ 0, 1, 0] +fVectorNM({2, 2}) = [ 0, 4, 0] +paramCurve(1.0) = [ 1, 2, 3] +paramSurface(1.0, 1.0) = [ 1, 2, 3] +*/ +} + +///////////////////////////////////////////////////////////////////////////////////// +// CASE 3 - we have simple function, but that has some additional parameters that it depend on (and that we might wanna vary easily) + +class TwoMassesGravityPotential : public IScalarFunction<3> +{ + Real _m1, _m2, _G; + VectorN _x1, _x2; + +public: + TwoMassesGravityPotential(Real m1, Real m2, Real G, const VectorN& x1, const VectorN& x2) : _m1(m1), _m2(m2), _G(G), _x1(x1), _x2(x2) {} + + void SetM1(Real m1) { _m1 = m1; } + void SetM2(Real m2) { _m2 = m2; } + void SetX1(const VectorN& x1) { _x1 = x1; } + void SetX2(const VectorN& x2) { _x2 = x2; } + + Real operator()(const VectorN & x) const { return -_G * (_m1 / (x - _x1).NormL2() + _m2 / (x - _x2).NormL2()); } +}; + +// primjer param krivulje tako definirane +// infinite line - magnetsko polje, primjer vector field + +void Docs_Demo_functions_case_3_usage() +{ + std::cout << "**********************************************************************" << std::endl; + std::cout << "*** CASE 3 - we have simple function, but that has some additional parameters that it depend on (and that we might wanna vary easily)" << std::endl; + + TwoMassesGravityPotential f3(1000.0, 1000.0, 1.0, VectorN{10.0, 0.0, 0.0}, VectorN{-10.0, 0.0, 0.0}); + + std::cout << "f3({1, 1, 1}) = " << f3(VectorN{1, 1, 1}) << std::endl; + std::cout << "f3({-1, -1, 1}) = " << f3(VectorN{-1, -1, 1}) << std::endl; + std::cout << "f3({2, 2, 2}) = " << f3(VectorN{2, 2, 2}) << std::endl; + +/* OUTPUT +f3({1, 1, 1}) = -199.9312235 +f3({-1, -1, 1}) = -199.9312235 +f3({2, 2, 2}) = -198.9618408 +*/ +} + +//////////////////////////////////////////////////////////////////////////////////// +// CASE 4 - there is an external class that has EXACT FUNCTION you want to use (but you can't change the class) +class BigComplexClassYouCantChange1 { +public: + double _param1, _param2; + double Weight(double x) const { return 58 * _param1; } + + double UsefulRealFunc(double x) const { return (_param1 * cos(x) + _param2 * sin(x)) / Weight(x); } +}; + +void Docs_Demo_functions_case_4_usage() +{ + std::cout << "**********************************************************************" << std::endl; + std::cout << "*** CASE 4 - there is an external class that has EXACT FUNCTION you want to use (but you can't change the class)" << std::endl; + + BigComplexClassYouCantChange1 bigObj; + + bigObj._param1 = 1.0; + bigObj._param2 = 2.0; + + RealFunctionFromStdFunc f4(std::function{[&bigObj](Real x) { return bigObj.UsefulRealFunc(x); }}); + + std::cout << "f4(0.0) = " << f4(0.0) << std::endl; + std::cout << "f4(1.0) = " << f4(1.0) << std::endl; + std::cout << "f4(2.0) = " << f4(2.0) << std::endl; + + bigObj._param1 = -2.0; + bigObj._param2 = 5.0; + + std::cout << "After change of object parameters:" << std::endl; + + std::cout << "f4(0.0) = " << f4(0.0) << std::endl; + std::cout << "f4(1.0) = " << f4(1.0) << std::endl; + std::cout << "f4(2.0) = " << f4(2.0) << std::endl; + +/* OUTPUT +f4(0.0) = 0.01724137931 +f4(1.0) = 0.03833179785 +f4(2.0) = 0.02418013823 +After change of object parameters: +f4(0.0) = 0.01724137931 +f4(1.0) = -0.02695474407 +f4(2.0) = -0.04636880006 +*/ +} + +//////////////////////////////////////////////////////////////////////////////////// +// CASE 5 - there is an external class that has data relevant to calculation (but you can't change the class) +class BigComplexClassYouCantChange2 { +public: + double _param1, _param2; + double Weight(double x) const { return 58*_param1; } +}; + +// Create a helper wrapper class, inherit it from IRealFunction and use it as RealFunction +class BigComplexRealFunc2 : public IRealFunction { + const BigComplexClassYouCantChange2& _ref; +public: + BigComplexRealFunc2(const BigComplexClassYouCantChange2& bigClass) : _ref(bigClass) { } + + Real operator()(Real x) const { + return (_ref._param1 * cos(x) + _ref._param2 * sin(x)) / _ref.Weight(x) ; + } +}; + +void Docs_Demo_functions_case_5_usage() +{ + std::cout << "**********************************************************************" << std::endl; + std::cout << "*** CASE 5 - there is an external class that has data relevant to calculation (but you can't change the class)" << std::endl; + BigComplexClassYouCantChange2 bigObj; + + bigObj._param1 = 1.0; + bigObj._param2 = 2.0; + + BigComplexRealFunc2 f5(bigObj); // usable RealFunction object + + std::cout << "f5(0.0) = " << f5(0.0) << std::endl; + std::cout << "f5(1.0) = " << f5(1.0) << std::endl; + std::cout << "f5(2.0) = " << f5(2.0) << std::endl; + + bigObj._param1 = -2.0; + bigObj._param2 = 5.0; + + // our f5 function is now CHNAGED!!! + std::cout << "After change of object parameters:" << std::endl; + + std::cout << "f5(0.0) = " << f5(0.0) << std::endl; + std::cout << "f5(1.0) = " << f5(1.0) << std::endl; + std::cout << "f5(2.0) = " << f5(2.0) << std::endl; + +/* OUTPUT +f5(0.0) = 0.01724137931 +f5(1.0) = 0.03833179785 +f5(2.0) = 0.02418013823 +After change of object parameters: +f5(0.0) = 0.01724137931 +f5(1.0) = -0.02695474407 +f5(2.0) = -0.04636880006 +*/ +} + +void Docs_Demo_Functions() +{ + Docs_Demo_functions_case_1_usage(); + Docs_Demo_functions_case_2_usage(); + Docs_Demo_functions_case_3_usage(); + Docs_Demo_functions_case_4_usage(); + Docs_Demo_functions_case_5_usage(); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_geometry_2d_3d.cpp b/docs_examples/demos/docs_demo_geometry_2d_3d.cpp new file mode 100644 index 0000000..edede7b --- /dev/null +++ b/docs_examples/demos/docs_demo_geometry_2d_3d.cpp @@ -0,0 +1,17 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "base/Geometry2D.h" +#include "base/Geometry3D.h" +#endif + +using namespace MML; + +void Docs_Demo_Geometry_2D_3D() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** AnalyticalGeometry 2D & 3D *******" << std::endl; + +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_integration.cpp b/docs_examples/demos/docs_demo_integration.cpp new file mode 100644 index 0000000..b721ca3 --- /dev/null +++ b/docs_examples/demos/docs_demo_integration.cpp @@ -0,0 +1,41 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Function.h" +#include "core/Integration.h" +#endif + +using namespace MML; + +void Docs_Demo_Integration() +{ + RealFunction f1{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; + RealFunction f1_integral{ [](Real x) { return (Real)(x * (-0.5 * x * cos(x) + sin(x))); } }; + + double a = 0.0; + double b = 10.0; + double int_trap = IntegrateTrap(f1, a, b); + double int_simp = IntegrateSimpson(f1, a, b); + double int_romb = IntegrateRomberg(f1, a, b); + double int_gauss = IntegrateGauss10(f1, a, b); + // we can use default Integrate routine (set to IntegrateSimpson), requires precision + double int_def = Integrate(f1, a, b, 1e-04); + + std::cout << "Integrating function f1 from " << a << " to " << b << std::endl; + std::cout << "Exact integral = " << f1_integral(b) - f1_integral(a) << std::endl; + std::cout << "IntegrateTrap = " << int_trap << std::endl; + std::cout << "IntegrateSimpson = " << int_simp << std::endl; + std::cout << "IntegrateRomberg = " << int_romb << std::endl; + std::cout << "IntegrateGauss10 = " << int_gauss << std::endl; + +/* OUTPUT +Integrating function f1 from 0 to 10 +Exact integral = 36.5134 +IntegrateTrap = 36.5133 +IntegrateSimpson = 36.5134 +IntegrateRomberg = 36.5134 +IntegrateGauss10 = 36.5134 +*/ +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_integration_multidim.cpp b/docs_examples/demos/docs_demo_integration_multidim.cpp new file mode 100644 index 0000000..8a0f80b --- /dev/null +++ b/docs_examples/demos/docs_demo_integration_multidim.cpp @@ -0,0 +1,45 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Function.h" +#include "core/Integration.h" +#endif + +using namespace MML; + +void Docs_Demo_Integration_multidim() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Multidim integration *******" << std::endl; + + // 2D integration of constant scalar 2D function (ie. we'll get the area of the surface) + ScalarFunction<2> f2([](const VectorN& x) { return Real{ 1 }; }); + + // we integrate over circle with radius 2 + Real val = IntegrateSurface(f2, IntegrationMethod::GAUSS10, + -2, 2, // x range + [](Real x) { return -sqrt(4 - x * x); }, // y range lower limit + [](Real x) { return sqrt(4 - x * x); }); // y range upper limit + + std::cout << "Calc. area = " << val << ", exact value: 4 * PI = " << 4 * Constants::PI << std::endl; + + // 3D integration of constant scalar 3D function (ie. we'll get the volume of the solid) + ScalarFunction<3> f3([](const VectorN& x) { return Real{ 1 }; }); + + // integration over sphere of radius 1 + Real vol = IntegrateVolume(f3, + -1, 1, + [](Real x) { return -sqrt(1 - x * x); }, + [](Real x) { return sqrt(1 - x * x); }, + [](Real x, Real y) { return -sqrt(1 - x * x - y * y); }, + [](Real x, Real y) { return sqrt(1 - x * x - y * y); }); + + std::cout << "Calc. vol. = " << vol << ", exact value: 4/3 * PI = " << 4.0 / 3.0 * Constants::PI << std::endl; + + /* OUTPUT + Calc. area = 12.57211164, exact value: 4 * PI = 12.56637061 + Calc. vol. = 4.190703882, exact value: 4/3 * PI = 4.188790205 + */ +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_integration_path.cpp b/docs_examples/demos/docs_demo_integration_path.cpp new file mode 100644 index 0000000..3f084e1 --- /dev/null +++ b/docs_examples/demos/docs_demo_integration_path.cpp @@ -0,0 +1,46 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Function.h" +#include "algorithms/PathIntegration.h" +#endif + +using namespace MML; + + +void Docs_Demo_Calc_curve_length() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Calculating curve length *******" << std::endl; + + ParametricCurve<3> circle([](Real t) { return VectorN{cos(t), sin(t), 0}; }); + ParametricCurve<3> helix([](Real t) { return VectorN{cos(t), sin(t), t}; }); + + Real len = PathIntegration::ParametricCurveLength(circle, 0, 2 * 3.14); + + std::cout << "Length of circle is " << PathIntegration::ParametricCurveLength(circle, 0, 2 * 3.14) << std::endl; + std::cout << "Length of helix is " << PathIntegration::ParametricCurveLength(helix, 0, 2 * 3.14) << std::endl; +} + +void Docs_Demo_Calc_work_integral() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Calculating work integral *******" << std::endl; + + ScalarFunction<3> potential([](const VectorN& x) { return Real{ 10.0 } / x.NormL2(); }); + ParametricCurve<3> circle([](Real t) { return VectorN{cos(t), sin(t), 1}; }); + + Real phi = 6; + //for (auto phi = 0.1; phi < 2 * 3.14159; phi += 0.25) + { + std::cout << "Work integral for phi : " << phi << " is : " << PathIntegration::WorkIntegral(potential, circle, 0, phi, 1e-03) << std::endl; + } +} + +void Docs_Demo_Integration_path() +{ + Docs_Demo_Calc_curve_length(); + Docs_Demo_Calc_work_integral(); +} diff --git a/docs_examples/demos/docs_demo_integration_surface.cpp b/docs_examples/demos/docs_demo_integration_surface.cpp new file mode 100644 index 0000000..02ac313 --- /dev/null +++ b/docs_examples/demos/docs_demo_integration_surface.cpp @@ -0,0 +1,17 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Function.h" +#include "core/Integration.h" +#endif + +using namespace MML; + +void Docs_Demo_Integration_surface() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Surface integration *******" << std::endl; + +} diff --git a/docs_examples/demos/docs_demo_interpolated_functions.cpp b/docs_examples/demos/docs_demo_interpolated_functions.cpp new file mode 100644 index 0000000..907e264 --- /dev/null +++ b/docs_examples/demos/docs_demo_interpolated_functions.cpp @@ -0,0 +1,138 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/InterpolatedFunction.h" +#include "core/Serializer.h" +#include "core/Visualizer.h" +#endif + +using namespace MML; + +void Docs_Demo_Interpolating_Real_function1_equally_spaced() +{ + Vector x_val({ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }); + Vector y_val({ 5.0, -2.0, 2.0, 3.0, 7.0, -6.0, -3.0, -2.0, 3.0, 0.0, -5.0 }); + + int NumInterpPnt = x_val.size(); + Real x1 = x_val[0]; + Real x2 = x_val[x_val.size() - 1]; + + // these are the ways we can interpolate Real function + LinearInterpRealFunc f_linear(x_val, y_val); + PolynomInterpRealFunc f_polynom(x_val, y_val, 3); + SplineInterpRealFunc f_spline(x_val, y_val); + BaryRatInterpRealFunc f_baryrat(x_val, y_val, 3); + + Visualizer::VisualizeMultiRealFunction({ &f_linear, &f_polynom, &f_spline, &f_baryrat }, "docs_dmos_multi_real_func1", x1, x2, 500, "docs_dmos_multi_real_func1.txt"); +} + +void Docs_Demo_Interpolating_Real_function2() +{ + Vector x_val({ 0.0, 1.0, 5.0, 6.0, 7.0, 10.0, 15.0, 17.0, 19.0, 20.0 }); + Vector y_val({ 5.0, -2.0, 2.0, 3.0, 7.0, -6.0, -3.0, -2.0, 3.0, 0.0 }); + + int NumInterpPnt = x_val.size(); + Real x1 = x_val[0]; + Real x2 = x_val[x_val.size() - 1]; + + // these are the ways we can interpolate Real function + LinearInterpRealFunc f_linear(x_val, y_val); + PolynomInterpRealFunc f_polynom(x_val, y_val, 3); + SplineInterpRealFunc f_spline(x_val, y_val); + BaryRatInterpRealFunc f_baryrat(x_val, y_val, 3); + + Visualizer::VisualizeMultiRealFunction({ &f_linear, &f_polynom, &f_spline, &f_baryrat }, "docs_dmos_multi_real_func2", x1, x2, 500, "docs_dmos_multi_real_func2.txt"); +} + +void Docs_Demo_Interpolating_Real_function3() +{ + // we have function, but we want to approximate it!!! + const int NumInterpPnt = 12; + const Real x1 = 0, x2 = 10.0; + + // we will use this as test func + RealFunction test_func{ [](Real x) { return (Real)sin(x) * (1 + x * x / 2); } }; + + // and using our helper, available for all real functions, create data for interpolation + Vector x_val(NumInterpPnt), y_val(NumInterpPnt); + test_func.GetValues(x1, x2, NumInterpPnt, x_val, y_val); + + // these are the ways we can interpolate Real function + LinearInterpRealFunc f_linear(x_val, y_val); + PolynomInterpRealFunc f_polynom(x_val, y_val, 3); + SplineInterpRealFunc f_spline(x_val, y_val); + BaryRatInterpRealFunc f_baryrat(x_val, y_val, 3); + + // situation - we need different number of points for different functions + Serializer::SaveRealFuncEquallySpacedDetailed(test_func, "docs_demo_interp_test_func", x1, x2, 100, "..\\..\\results\\docs_demo_interp_test_func.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed(f_linear, "docs_demo_interp_linear_5_pnt", x1, x2, 500, "..\\..\\results\\docs_demo_interp_linear_5_pnt.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed(f_polynom, "docs_demo_interp_polynom_5_pnt", x1, x2, 100, "..\\..\\results\\docs_demo_interp_polynom_5_pnt.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed, (x1, x2, 100, "..\\..\\results\\docs_demo_interp_spline_5_pnt.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed(f_baryrat, "docs_demo_interp_baryrat_5_pnt", x1, x2, 100, "..\\..\\results\\docs_demo_interp_baryrat_5_pnt.txt"); + + const char* cmd = "..\\..\\tools\\visualizers\\real_function_visualizer\\MML_RealFunctionVisualizer.exe" + " ..\\..\\results\\docs_demo_interp_test_func.txt" + " ..\\..\\results\\docs_demo_interp_linear_5_pnt.txt" + " ..\\..\\results\\docs_demo_interp_polynom_5_pnt.txt" + " ..\\..\\results\\docs_demo_interp_spline_5_pnt.txt" + " ..\\..\\results\\docs_demo_interp_baryrat_5_pnt.txt"; + std::system(cmd); +} + +void Docs_Demo_Interpolating_Parametric_curve() +{ + Matrix values(10, 3, { 0.0, 1.0, 5.0, + -1.0, 2.0, 3.0, + -4.0, 3.0, -2.0, + 20.0, 5.0, -2.0, + 2.0, 3.0, 7.0, + -6.0, -3.0, -2.0, + 3.0, 0.0, 5.0, + 5.0, -2.0, 1.0, + 6.0, -1.0, -2.0, + -2.0, 3.0, 0.0 }); + + SplineInterpParametricCurve<3> f_spline(values); + + Visualizer::VisualizeParamCurve3D(f_spline, "docs_dmos_param_curve", 0.0, 1.0, 100, "docs_dmos_param_curve.txt"); +} + +void Docs_Demo_Interpolating_Scalar_function2() +{ + Vector x1v{ -5.0, -4.0, -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 }; + Vector x2v{ -5.0, -4.0, -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 }; + Matrix ym(11, 11, { 10, 10, 20, 10, 40, 30, 20, -10, -20, -60, -40, + 10, 50, 30, 20, 10, 10, 20, -10, -30, -50, 30, + 10, 40, 10, 00, 20, 40, 20, 10, -20, -30, -10, + 10, 30, 20, 10, 20, 60, 00, 10, 00, -10, 0, + 20, 20, 30, 40, 50, 70, 10, 20, 10, 10, 10, + 30, 10, 30, 40, 60, 90, 40, 40, 20, 10, 10, + 40, 20, 30, 40, 50, 60, 50, 10, 30, 20, 10, + 20, 30, 30, 40, 40, 50, 30, 70, 50, 30, 10, + 20, 40, 30, 30, 20, 10, 20, 50, 80, 40, 10, + 10, 20, 30, 20, 10, 10, 10, 40, 30, 20, 0, + 10, 10, 20, 10, 00, 10, 00, 10, 0, 10, 0 }); + + BilinInterpScalarFunction2D f_bilin(x1v, x2v, ym); + + //Visualizer::VisualizeScalarFunc2DCartesian(f_bilin, "docs_dmos_surface1", -5.0, 5.0, 11, -5.0, 5.0, 11, "docs_dmos_surface1.txt"); + + PolynomInterpScalarFunction2D f_poly(x1v, x2v, ym, 3, 3); + + Visualizer::VisualizeScalarFunc2DCartesian(f_poly, "docs_dmos_surface2", -5.0, 5.0, 11, -5.0, 5.0, 11, "docs_dmos_surface2.txt"); + + SplineInterpScalarFunction2D f_spline(x1v, x2v, ym); + + //Visualizer::VisualizeScalarFunc2DCartesian(f_spline, "docs_dmos_surface3", -5.0, 5.0, 11, -5.0, 5.0, 11, "docs_dmos_surface3.txt"); +} + +void Docs_Demo_Interpolated_functions() +{ + //Docs_Demo_Interpolating_Real_function1_equally_spaced(); + //Docs_Demo_Interpolating_Real_function2(); + //Docs_Demo_Interpolating_Real_function2(); + // Docs_Demo_Interpolating_Parametric_curve(); + Docs_Demo_Interpolating_Scalar_function2(); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_lin_alg_solvers.cpp b/docs_examples/demos/docs_demo_lin_alg_solvers.cpp new file mode 100644 index 0000000..dff7f39 --- /dev/null +++ b/docs_examples/demos/docs_demo_lin_alg_solvers.cpp @@ -0,0 +1,331 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/LinAlgEqSolvers.h" + +#include "algorithms/MatrixAlg.h" +#endif + +#include "../test_data/linear_alg_eq_systems_test_bed.h" + +using namespace MML; + +void Docs_Demo_LinAlgSolvers_GaussJordan() +{ + std::cout << "SOLVING SYSTEMS VIA GAUSS-JORDAN ELIMINATION:\n"; + + Matrix origMat = TestBeds::mat_5x5; + Matrix matcopy(origMat); + Vector rhscopy(TestBeds::mat_5x5_rhs0); + + std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); + std::cout << "Right side:\n"; rhscopy.Print(std::cout, 10, 3); + + GaussJordanSolver::Solve(matcopy, rhscopy); + + std::cout << "\nSolution:\n" << rhscopy << std::endl; + std::cout << "Mat * sol: \n"; (origMat * rhscopy).Print(std::cout, 10, 3); + + // matcopy now containes inverted matrix + std::cout << "\nInverse:\n" << matcopy << std::endl; + std::cout << "Orig * inv:\n" << origMat * matcopy << std::endl; + + std::cout << "SOLVING MULTIPLE SYSTEMS VIA GAUSS-JORDAN ELIMINATION:\n"; + Matrix origMat2 = TestBeds::mat_5x5; + Matrix matcopy2(origMat2); + Matrix rhscopy2(TestBeds::mat_5x5_rhs_multi); + + std::cout << "Initial matrix:\n"; matcopy2.Print(std::cout, 10, 3); + std::cout << "Right side:\n"; rhscopy2.Print(std::cout, 10, 3); + + GaussJordanSolver::Solve(matcopy2, rhscopy2); + + std::cout << "Solution :\n" << rhscopy2 << std::endl; + + /* OUTPUT + SOLVING SYSTEMS VIA GAUSS-JORDAN ELIMINATION: + Initial matrix: + Rows: 5 Cols: 5 + [ 1.4, 2.1, 2.1, 7.4, 9.6, ] + [ 1.6, 1.5, 1.1, 0.7, 5, ] + [ 3.8, 8, 9.6, 5.4, 8.8, ] + [ 4.6, 8.2, 8.4, 0.4, 8, ] + [ 2.6, 2.9, 0.1, 9.6, 7.7, ] + Right side: + [ 1.1, 4.7, 0.1, 9.3, 0.4] + Solution: + [ -3.903271042, 5.235343316, -3.29209577, -1.718330011, 1.58327101] + Mat * sol: + [ 1.1, 4.7, 0.1, 9.3, 0.4] + Inverse: + Rows: 5 Cols: 5 + [ -1.68, 2.71, 1.47, -1.62, 0.338, ] + [ 1.16, -2.37, -1.42, 1.64, 0.00331, ] + [ -0.517, 1.01, 0.809, -0.807, -0.0967, ] + [ -0.15, 0.129, 0.226, -0.238, 0.0936, ] + [ 0.324, -0.197, -0.256, 0.239, -0.101, ] + + Orig * inv: + Rows: 5 Cols: 5 + [ 1, 1.11e-15, 4.44e-16, -4.44e-16, 4.44e-16, ] + [ -2.22e-16, 1, 0, 0, 1.11e-16, ] + [ -8.88e-16, 2.22e-15, 1, 0, 3.33e-16, ] + [ -4.44e-16, -1.11e-15, 4.44e-16, 1, 3.33e-16, ] + [ -4.44e-16, 6.66e-16, -4.44e-16, -2.22e-16, 1, ] + + SOLVING MULTIPLE SYSTEMS VIA GAUSS-JORDAN ELIMINATION: + Initial matrix: + Rows: 5 Cols: 5 + [ 1.4, 2.1, 2.1, 7.4, 9.6, ] + [ 1.6, 1.5, 1.1, 0.7, 5, ] + [ 3.8, 8, 9.6, 5.4, 8.8, ] + [ 4.6, 8.2, 8.4, 0.4, 8, ] + [ 2.6, 2.9, 0.1, 9.6, 7.7, ] + Right side: + Rows: 5 Cols: 2 + [ 1.1, 1.6, ] + [ 4.7, 9.1, ] + [ 0.1, 4, ] + [ 9.3, 8.4, ] + [ 0.4, 4.1, ] + Solution : + Rows: 5 Cols: 2 + [ -3.9, 15.6, ] + [ 5.24, -11.6, ] + [ -3.29, 4.41, ] + [ -1.72, 0.214, ] + [ 1.58, -0.71, ] + */ +} + +void Docs_Demo_LinAlgSolvers_LU_decomposition() +{ + std::cout << "\nSOLVING VIA LU DECOMPOSITION:\n"; + + Matrix mat = TestBeds::mat_5x5; + Vector rhs(TestBeds::mat_5x5_rhs0); + + std::cout << "Initial matrix:\n"; mat.Print(std::cout, 10, 3); + std::cout << "Right side:\n"; rhs.Print(std::cout, 10, 3); + + LUDecompositionSolver luSolver(mat); + + Vector vecSol = luSolver.Solve(rhs); + + std::cout << "\nSolution: " << vecSol << std::endl; + std::cout << "Mat * sol :\n "; (mat * vecSol).Print(std::cout, 8, 4); std::cout << std::endl; + + Matrix inv(5, 5); + luSolver.inverse(inv); + + std::cout << "Inverse:\n" << inv << std::endl; + std::cout << "Orig * inv:\n" << mat * inv << std::endl; + + std::cout << "\nSOLVING MULTIPLE SYSTEMS VIA LU DECOMPOSITION:\n"; + + Matrix origMat = TestBeds::mat_5x5; + Matrix matcopy(origMat); + Matrix rhscopy(TestBeds::mat_5x5_rhs_multi); + + std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); + std::cout << "Right side:\n"; rhscopy.Print(std::cout, 10, 3); + + Matrix matSol(5, 2); + + LUDecompositionSolver luSolver2(matcopy); + luSolver2.Solve(rhscopy, matSol); + + std::cout << "Solution:\n" << matSol << std::endl; + + /* OUTPUT + SOLVING VIA LU DECOMPOSITION: + Initial matrix: + Rows: 5 Cols: 5 + [ 1.4, 2.1, 2.1, 7.4, 9.6, ] + [ 1.6, 1.5, 1.1, 0.7, 5, ] + [ 3.8, 8, 9.6, 5.4, 8.8, ] + [ 4.6, 8.2, 8.4, 0.4, 8, ] + [ 2.6, 2.9, 0.1, 9.6, 7.7, ] + Right side: + [ 1.1, 4.7, 0.1, 9.3, 0.4] + Solution: [ -3.903271042, 5.235343316, -3.29209577, -1.718330011, 1.58327101] + Mat * sol : + [ 1.1, 4.7, 0.1, 9.3, 0.4] + Inverse: + Rows: 5 Cols: 5 + [ -1.68, 2.71, 1.47, -1.62, 0.338, ] + [ 1.16, -2.37, -1.42, 1.64, 0.00331, ] + [ -0.517, 1.01, 0.809, -0.807, -0.0967, ] + [ -0.15, 0.129, 0.226, -0.238, 0.0936, ] + [ 0.324, -0.197, -0.256, 0.239, -0.101, ] + + Orig * inv: + Rows: 5 Cols: 5 + [ 1, 0, 4.44e-16, -4.44e-16, 1.11e-16, ] + [ 2.22e-16, 1, -2.22e-16, -2.22e-16, 0, ] + [ -4.44e-16, 0, 1, -4.44e-16, 2.22e-16, ] + [ 4.44e-16, 4.44e-16, 0, 1, -1.11e-16, ] + [ 8.88e-16, -4.44e-16, -6.66e-16, -4.44e-16, 1, ] + + + SOLVING MULTIPLE SYSTEMS VIA LU DECOMPOSITION: + Initial matrix: + Rows: 5 Cols: 5 + [ 1.4, 2.1, 2.1, 7.4, 9.6, ] + [ 1.6, 1.5, 1.1, 0.7, 5, ] + [ 3.8, 8, 9.6, 5.4, 8.8, ] + [ 4.6, 8.2, 8.4, 0.4, 8, ] + [ 2.6, 2.9, 0.1, 9.6, 7.7, ] + Right side: + Rows: 5 Cols: 2 + [ 1.1, 1.6, ] + [ 4.7, 9.1, ] + [ 0.1, 4, ] + [ 9.3, 8.4, ] + [ 0.4, 4.1, ] + Solution: + Rows: 5 Cols: 2 + [ -3.9, 15.6, ] + [ 5.24, -11.6, ] + [ -3.29, 4.41, ] + [ -1.72, 0.214, ] + [ 1.58, -0.71, ] + */ +} + +void Docs_Demo_LinAlgSolvers_QR_decomposition() +{ + std::cout << "\nSOLVING VIA QR DECOMPOSITION:\n"; + + Matrix mat4(5, 5, { 1.4, 2.1, 2.1, 7.4, 9.6, + 1.6, 1.5, 1.1, 0.7, 5.0, + 3.8, 8.0, 9.6, 5.4, 8.8, + 4.6, 8.2, 8.4, 0.4, 8.0, + 2.6, 2.9, 0.1, 9.6, 7.7 }); + + Vector solVec(5), vecrhs4{ 1.1, 4.7, 0.1, 9.3, 0.4 }; + + Matrix origMat = mat4; + Matrix matcopy(origMat); + + std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); + std::cout << "Right side:\n" << vecrhs4 << std::endl; + + QRDecompositionSolver qrSolver(matcopy); + qrSolver.Solve(vecrhs4, solVec); + + std::cout << "Solution:\n" << solVec << std::endl; + std::cout << "Mat * sol :\n" << origMat * solVec << std::endl; + + /* OUTPUT + SOLVING VIA QR DECOMPOSITION: +Initial matrix: +Rows: 5 Cols: 5 +[ 1.4, 2.1, 2.1, 7.4, 9.6, ] +[ 1.6, 1.5, 1.1, 0.7, 5, ] +[ 3.8, 8, 9.6, 5.4, 8.8, ] +[ 4.6, 8.2, 8.4, 0.4, 8, ] +[ 2.6, 2.9, 0.1, 9.6, 7.7, ] +Right side: +[ 1.1, 4.7, 0.1, 9.3, 0.4] +Solution: +[ -3.903271042, 5.235343316, -3.29209577, -1.718330011, 1.58327101] +Mat * sol : +[ 1.1, 4.7, 0.1, 9.3, 0.4] + */ +} + +void Docs_Demo_LinAlgSolvers_SVD_decomposition() +{ + std::cout << "\nSOLVING VIA SVD DECOMPOSITION:\n"; + + Matrix mat4(5, 5, { 1.4, 2.1, 2.1, 7.4, 9.6, + 1.6, 1.5, 1.1, 0.7, 5.0, + 3.8, 8.0, 9.6, 5.4, 8.8, + 4.6, 8.2, 8.4, 0.4, 8.0, + 2.6, 2.9, 0.1, 9.6, 7.7 }); + + + Vector vecrhs4{ 1.1, 4.7, 0.1, 9.3, 0.4 }, solVec(5); + + Matrix origMat = mat4; + Matrix matcopy(origMat); + + std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); + std::cout << "Right side:\n"; std::cout << vecrhs4 << std::endl; + + SVDecompositionSolver svdSolver(matcopy); + svdSolver.Solve(vecrhs4, solVec); + + std::cout << "Solution:\n" << solVec << std::endl; + std::cout << "Mat * sol :\n" << origMat * solVec << std::endl; + + /* OUTPUT + SOLVING VIA SVD DECOMPOSITION: + Initial matrix: + Rows: 5 Cols: 5 + [ 1.4, 2.1, 2.1, 7.4, 9.6, ] + [ 1.6, 1.5, 1.1, 0.7, 5, ] + [ 3.8, 8, 9.6, 5.4, 8.8, ] + [ 4.6, 8.2, 8.4, 0.4, 8, ] + [ 2.6, 2.9, 0.1, 9.6, 7.7, ] + Right side: + [ 1.1, 4.7, 0.1, 9.3, 0.4] + Solution: + [ -3.903271042, 5.235343316, -3.29209577, -1.718330011, 1.58327101] + Mat * sol : + [ 1.1, 4.7, 0.1, 9.3, 0.4] + */ +} + +void Docs_Demo_LinAlgSolvers_Cholesky_decomposition() +{ + std::cout << "\nSOLVING VIA Cholesky DECOMPOSITION:\n"; + + // example positive definite matrix + Matrix mat4{ 3, 3, { 2.0, -1.0, 0.0, + -1.0, 3.0, -2.0, + 0.0, -2.0, 4.0 } }; + + Vector solVec(3), vecrhs4{ 1.1, 4.7, 0.1 }; + + Matrix origMat = mat4; + Matrix matcopy(origMat); + + std::cout << "Initial matrix:\n"; matcopy.Print(std::cout, 10, 3); + std::cout << "Is positive definite: " << MatrixUtils::IsPositiveDefinite(mat4) << std::endl; + + std::cout << "Right side:\n" << vecrhs4 << std::endl; + + CholeskyDecompositionSolver choleskySolver(matcopy); + choleskySolver.Solve(vecrhs4, solVec); + + std::cout << "Solution:\n" << solVec << std::endl; + std::cout << "Multiplying solution with matrix: " << origMat * solVec << std::endl; + + /* OUTPUT +SOLVING VIA Cholesky DECOMPOSITION: +Initial matrix: +Rows: 3 Cols: 3 +[ 2, -1, 0, ] +[ -1, 3, -2, ] +[ 0, -2, 4, ] +Is positive definite: 1 +Right side: +[ 1.1, 4.7, 0.1] +Solution: +[ 2.316666667, 3.533333333, 1.791666667] +Multiplying solution with matrix: [ 1.1, 4.7, 0.1] +*/ +} + +void Docs_Demo_LinAlgSolvers() +{ + //Docs_Demo_LinAlgSolvers_GaussJordan(); + //Docs_Demo_LinAlgSolvers_LU_decomposition(); + Docs_Demo_LinAlgSolvers_QR_decomposition(); + Docs_Demo_LinAlgSolvers_SVD_decomposition(); + Docs_Demo_LinAlgSolvers_Cholesky_decomposition(); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_matrix.cpp b/docs_examples/demos/docs_demo_matrix.cpp new file mode 100644 index 0000000..0f24474 --- /dev/null +++ b/docs_examples/demos/docs_demo_matrix.cpp @@ -0,0 +1,544 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "base/Matrix.h" +#include "base/MatrixSym.h" +#include "base/MatrixBandDiag.h" + +#include "base/BaseUtils.h" +#endif + +using namespace MML; + + +void Docs_Demo_Matrix_initializations() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Initializing/creating matrices *******" << std::endl; + + Matrix mat1; // empty matrix + Matrix mat2(2, 2); // ampty matrix 2 x 2 + Matrix mat3(3, 3, { 2.0, 0.7, -1.2, // matrix with initialized values + 1.3, 1.5, 2.0, + -0.8, 0.0, -1.0 }); + Matrix mat_unit = Matrix::GetUnitMatrix(4); + + Matrix mat_int1(2, 2, { 1, 2, 3, 4 }); + MatrixComplex mat_cmplx1(2, 2, { Complex(-1, 1.5), Complex(-4.3,-2.1), + Complex( 2,-0.5), Complex( 1.7, 3.2) }); + + // shorter typing with typedefs + MatrixInt mat_int(3, 3); + MatrixFlt mat_flt(3, 3); + MatrixDbl mat_dbl(mat3); + MatI mat_i(3, 3); + MatF mat_d(3, 3); + MatC mat_c2 = mat_cmplx1; + + std::cout << "mat1 = " << mat1 << std::endl; + std::cout << "mat2 = " << mat2 << std::endl; + std::cout << "mat3 = " << mat3 << std::endl; + std::cout << "mat_unit = " << mat_unit << std::endl; + std::cout << "mat_int1 = " << mat_int1 << std::endl; + std::cout << "mat_cmplx1 = " << mat_cmplx1 << std::endl; + + Vector vec_a({ 1.0, -2.0, 3.0 }); + Matrix matA = MatrixUtils::RowMatrixFromVector(vec_a); + Matrix matB = MatrixUtils::ColumnMatrixFromVector(vec_a); + + std::cout << "Vector a = " << vec_a << std::endl; + std::cout << "Matrix::RowMatrixFromVector(a) = " << matA << std::endl; + std::cout << "Matrix::ColMatrixFromVector(a) = " << matB << std::endl; + +/* OUTPUT +mat1 = Rows: 0 Cols: 0 + +mat2 = Rows: 2 Cols: 2 +[ 0, 0, ] +[ 0, 0, ] + +mat3 = Rows: 3 Cols: 3 +[ 2, 0.7, -1.2, ] +[ 1.3, 1.5, 2, ] +[ -0.8, 0, -1, ] + +mat_unit = Rows: 4 Cols: 4 +[ 1, 0, 0, 0, ] +[ 0, 1, 0, 0, ] +[ 0, 0, 1, 0, ] +[ 0, 0, 0, 1, ] + +mat_int1 = Rows: 2 Cols: 2 +[ 1, 2, ] +[ 3, 4, ] + +mat_cmplx1 = Rows: 2 Cols: 2 +[ (-1,1.5), (-4.3,-2.1), ] +[ (2,-0.5), (1.7,3.2), ] + +Vector a = [ 1, -2, 3] +Matrix::RowMatrixFromVector(a) = Rows: 1 Cols: 3 +[ 1, -2, 3, ] + +Matrix::ColMatrixFromVector(a) = Rows: 3 Cols: 1 +[ 1, ] +[ -2, ] +[ 3, ] +*/ + //Matrix m1(2, 2, { 1.0, -1.0, 1.5, 3.0 }); + //Vector vecRow = m1.VectorFromRow(0); + //Vector vecCol = m1.VectorFromColumn(0); + //Vector vecDiag = m1.VectorFromDiagonal(); + + //std::cout << "Matrix m1 = " << m1 << std::endl; + //std::cout << "Vector vecRow = Matrix::VectorFromRow(a, 0) = " << vecRow << std::endl; + //std::cout << "Vector vecCol = Matrix::VectorFromColumn(a, 0) = " << vecCol << std::endl; + //std::cout << "Vector vecCol = Matrix::VectorFromDiagonal(a) = " << vecDiag << std::endl; +} + +void Docs_Demo_Basic_mat_operations() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* Matrix Basic operations *******" << std::endl; + + Matrix m1(2, 2, { 1.0, -1.0, + 1.5, 3.0 }); + Matrix m2(2, 2, { -2.5, 3.0, + 1, -1.0 }); + + std::cout << "m1 = " << m1 << std::endl; + std::cout << "m2 = " << m2 << std::endl; + + std::cout << "m1 + m2 = " << m1 + m2 << std::endl; + std::cout << "m1 - m2 = " << m1 - m2 << std::endl; + std::cout << "m1 * m2 = " << m1 * m2 << std::endl; + std::cout << "2.0 * m1 = " << 2.0 * m1 << std::endl; + std::cout << "m1 * 2.0 = " << m1 * 2.0 << std::endl; + std::cout << "m1 / 2.0 = " << m1 / 2.0 << std::endl; + + MatrixComplex mat_cmplx1(2, 2, { Complex(-1, 1.5), Complex(-4.3,-2.1), + Complex(2,-0.5), Complex(1.7, 3.2) }); + MatrixComplex mat_cmplx2(2, 2, { Complex(-2.5, 1.5), Complex(3.0, -2.1), + Complex(1.0, 2.0), Complex(-1.0, 3.2) }); + + std::cout << "mat_cmplx1 = " << mat_cmplx1 << std::endl; + std::cout << "mat_cmplx2 = " << mat_cmplx2 << std::endl; + + std::cout << "mat_cmplx1 + mat_cmplx2 = " << mat_cmplx1 + mat_cmplx2 << std::endl; + std::cout << "mat_cmplx1 - mat_cmplx2 = " << mat_cmplx1 - mat_cmplx2 << std::endl; + std::cout << "mat_cmplx1 * mat_cmplx2 = " << mat_cmplx1 * mat_cmplx2 << std::endl; + std::cout << "2.0 * mat_cmplx1 = " << Complex(2.0) * mat_cmplx1 << std::endl; + std::cout << "mat_cmplx1 * Complex(2.0, -1.5) = " << mat_cmplx1 * Complex(2.0, -1.5) << std::endl; + std::cout << "mat_cmplx1 / 2.0 = " << mat_cmplx1 / 2.0 << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m2 = Rows: 2 Cols: 2 +[ -2.5, 3, ] +[ 1, -1, ] + +m1 + m2 = Rows: 2 Cols: 2 +[ -1.5, 2, ] +[ 2.5, 2, ] + +m1 - m2 = Rows: 2 Cols: 2 +[ 3.5, -4, ] +[ 0.5, 4, ] + +m1 * m2 = Rows: 2 Cols: 2 +[ -3.5, 4, ] +[ -0.75, 1.5, ] + +2.0 * m1 = Rows: 2 Cols: 2 +[ 2, -2, ] +[ 3, 6, ] + +m1 * 2.0 = Rows: 2 Cols: 2 +[ 2, -2, ] +[ 3, 6, ] + +m1 / 2.0 = Rows: 2 Cols: 2 +[ 0.5, -0.5, ] +[ 0.75, 1.5, ] + +mat_cmplx1 = Rows: 2 Cols: 2 +[ (-1,1.5), (-4.3,-2.1), ] +[ (2,-0.5), (1.7,3.2), ] + +mat_cmplx2 = Rows: 2 Cols: 2 +[ (-2.5,1.5), (3,-2.1), ] +[ (1,2), (-1,3.2), ] + +mat_cmplx1 + mat_cmplx2 = Rows: 2 Cols: 2 +[ (-3.5,3), (-1.3,-4.2), ] +[ (3,1.5), (0.7,6.4), ] + +mat_cmplx1 - mat_cmplx2 = Rows: 2 Cols: 2 +[ (1.5,0), (-7.3,0), ] +[ (1,-2.5), (2.7,0), ] + +mat_cmplx1 * mat_cmplx2 = Rows: 2 Cols: 2 +[ (0.15,-15.9), (11.2,-5.06), ] +[ (-8.95,10.8), (-6.99,-3.46), ] + +2.0 * mat_cmplx1 = Rows: 2 Cols: 2 +[ (-2,3), (-8.6,-4.2), ] +[ (4,-1), (3.4,6.4), ] + +mat_cmplx1 * Complex(2.0, -1.5) = Rows: 2 Cols: 2 +[ (0.25,4.5), (-11.8,2.25), ] +[ (3.25,-4), (8.2,3.85), ] + +mat_cmplx1 / 2.0 = Rows: 2 Cols: 2 +[ (-0.5,0.75), (-2.15,-1.05), ] +[ (1,-0.25), (0.85,1.6), ] +*/ +} + +void Docs_Demo_Matrix_Vector_mul() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* Matrix-Vector multiplication *******" << std::endl; + + Vector v1({ 1.0, 2.0 }); + Matrix m1(2, 2, { 1.0, -1.0, 1.5, 3.0 }); + + std::cout << "v1 = " << v1 << std::endl; + std::cout << "m1 = " << m1 << std::endl; + + std::cout << "v1 * m1 = " << v1 * m1 << std::endl; + // when multiplying with vector on the right, we are treating it as a column vector! + std::cout << "m1 * v1 = " << m1 * v1 << std::endl; + + // combining Complex and Real vectors/matrices requires special functions + Vector v_cmplx_2({ Complex(1.0, 2.0), Complex(2.0, 3.0) }); + Matrix m_cmplx_2(2, 2, { Complex(1.0, -1.0), Complex(1.5, 3.0), + Complex(2.0, 1.0), Complex(1.0, 2.0) }); + + std::cout << "v_cmplx_2 = " << v_cmplx_2 << std::endl; + std::cout << "m_cmplx_2 = " << m_cmplx_2 << std::endl; + + std::cout << "v1 * m_cmplx_2 = " << MatrixUtils::MulVecMat(v1, m_cmplx_2) << std::endl; + std::cout << "v_cmplx_2 * m1 = " << MatrixUtils::MulVecMat(v_cmplx_2, m1) << std::endl; + std::cout << "m_cmplx_2 * v1 = " << MatrixUtils::MulMatVec(m_cmplx_2, v1) << std::endl; + std::cout << "m1 * v_cmplx_2 = " << MatrixUtils::MulMatVec(m1, v_cmplx_2) << std::endl; + +/* OUTPUT +v1 = [ 1, 2] +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +v1 * m1 = [ 4, 5] +m1 * v1 = [ -1, 7.5] + +v_cmplx_2 = [ (1,2), (2,3)] +m_cmplx_2 = Rows: 2 Cols: 2 +[ (1,-1), (1.5,3), ] +[ (2,1), (1,2), ] + +v1 * m_cmplx_2 = [ (5,1), (3.5,7)] +v_cmplx_2 * m1 = [ (4,6.5), (5,7)] +m_cmplx_2 * v1 = [ (4,5), (4,5)] +m1 * v_cmplx_2 = [ (-1,-1), (7.5,12)] +*/ +} + +void Docs_Demo_Matrix_Matrix_mul() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* Matrix-Matrix multiplication *******" << std::endl; + + Matrix m3(2, 3, { 0.5, 1.5, -1.0, + 3.2, -2.0, 1.0 }); + + Matrix m4(3, 4, { 1.0, 0.8, 4.0, 1.3, + -2.0, 1.0, 0.0,-1.0, + 3.0, 0.5, 1.0, 1.0 }); + + std::cout << "m3 = " << m3 << std::endl; + std::cout << "m4 = " << m4 << std::endl; + std::cout << "m3 * m4 = " << m3 * m4 << std::endl; + + // multiplying Complex and Real matrices requires special functions + Matrix m3_cmplx(2, 3, { Complex(1.4, -1.0), Complex(1.5, 3.0), (2.5, 1.5), + Complex(2.0, 1.5), Complex(1.0, 2.2), (-1.1, 2.8) }); + + Matrix m5_cmplx = MatrixUtils::MulMat(m3_cmplx, m4); + + std::cout << "m3_cmplx = " << m3_cmplx << std::endl; + std::cout << "m3_cmplx * m4 = " << m5_cmplx << std::endl; + +/* OUTPUT +m3 = Rows: 2 Cols: 3 +[ 3, 0.5, 1, 1, ] +[ 3.2, -2, 1, ] +m3 * m4 = Rows: 2 Cols: 4 +[ -5.5, 1.4, 1, -1.85, ] +[ 10.2, 1.06, 13.8, 7.16, ] +[ -2, 1, 0, -1, ] +m3_cmplx = Rows: 2 Cols: 3 +[ (1.4,-1), (1.5,3), (1.5,0), ] +[ (2,1.5), (1,2.2), (2.8,0), ] + +m3_cmplx * m4 = Rows: 2 Cols: 4 +[ (2.9,-7), (3.37,2.2), (7.1,-4), (1.82,-4.3), ] +[ (8.4,-2.9), (4,3.4), (10.8,6), (4.4,-0.25), ] +*/ +} + +void Docs_Demo_Matrix_invert() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* Matrix Invert *******" << std::endl; + + Matrix m1(3, 3, { 1.0, 2.0, -1.0, + -1.0, 5.0, 6.0, + 3.0, 1.0, 1.0 }); + + std::cout << "m1 = " << m1 << std::endl; + auto m2 = m1.GetInverse(); + + std::cout << "m2 (inv) = " << m2 << std::endl; + + auto munit = m1 * m2; + std::cout << "m1 * m2 = " << munit << std::endl; + + /* OUTPUT + m1 = Rows: 3 Cols: 3 +[ 1, 2, -1, ] +[ -1, 5, 6, ] +[ 3, 1, 1, ] + +m2 (inv) = Rows: 3 Cols: 3 +[ -0.0189, -0.0566, 0.321, ] +[ 0.358, 0.0755, -0.0943, ] +[ -0.302, 0.0943, 0.132, ] + +m1 * m2 = Rows: 3 Cols: 3 +[ 1, -1.39e-17, -2.78e-17, ] +[ 2.22e-16, 1, 0, ] +[ 0, -2.78e-17, 1, ] +*/ +} + +void Docs_Demo_Matrix_transpose() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* Matrix Transpose *******" << std::endl; + + Matrix m1(2, 2, { 1.0, -1.0, + 1.5, 3.0 }); + std::cout << "m1 = " << m1 << std::endl; + std::cout << "m1 (transp) = " << m1.GetTranspose() << std::endl; + + Matrix m2(2, 4, { 1.0, -1.0, 2.0, 1.0, + 1.5, 3.0, 7.0, 4.0 }); + std::cout << "m2 = " << m2 << std::endl; + std::cout << "m2 (transp) = " << m2.GetTranspose() << std::endl; + + Matrix m3(5, 1, { 1.0, -1.0, 2.0, 1.0, 3.0 }); + std::cout << "m3 = " << m3 << std::endl; + std::cout << "m3 (transp) = " << m3.GetTranspose() << std::endl; + + // we can do transposing in place (BUT ONLY FOR SQUARE MATRICES!) + m1.Transpose(); + std::cout << "ms (after transposing) = " << m1 << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m1 (transp) = Rows: 2 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] + +m2 = Rows: 2 Cols: 4 +[ 1, -1, 2, 1, ] +[ 1.5, 3, 7, 4, ] + +m2 (transp) = Rows: 4 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] +[ 2, 7, ] +[ 1, 4, ] + +m3 = Rows: 5 Cols: 1 +[ 1, ] +[ -1, ] +[ 2, ] +[ 1, ] +[ 3, ] + +m3 (transp) = Rows: 1 Cols: 5 +[ 1, -1, 2, 1, 3, ] + +ms (after transposing) = Rows: 2 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] +*/ +} + +void Docs_Demo_Demo_Matrix_Sym() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* Matrix Sym *******" << std::endl; + std::cout << "***********************************************************" << std::endl; + + MatrixSym a(3, { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 }); + + a.Print(std::cout, 10, 3); + + MatrixSym b(3, { 1.0, + 2.0, 3.0, + 4.0, 5.0, 6.0 }); + + b.Print(std::cout, 10, 3); + +/* OUTPUT +Rows: 3 +[ 1, 2, 4, ] +[ 2, 3, 5, ] +[ 4, 5, 6, ] +Rows: 3 +[ 1, 2, 4, ] +[ 2, 3, 5, ] +[ 4, 5, 6, ] +*/ +} + +void Docs_Demo_Demo_Matrix_Tridiag() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* Matrix Tridiag *******" << std::endl; + std::cout << "***********************************************************" << std::endl; + + // Dim: 4 + // [ 4, 1, 0, 0, ] + // [ 4.5, 1.5, 2, 0, ] + // [ 0, 9, 6, 3, ] + // [ 0, 0, 10, 7, ] + + // initializing with 3 vectors + TridiagonalMatrix a(4, { 0.0, 4.5, 9.0, 10.0 }, { 4.0, 1.5, 6.0, 7.0 }, { 1.0, 2.0, 3.0, 0.0 }); + + // initializing with values in single initializer list + TridiagonalMatrix b(4, { 4.0, 1.0, + 4.5, 1.5, 2.0, + 9.0, 6.0, 3.0, + 10.0, 7.0 }); + + Matrix c(4, 4, { 4.0, 1.0, 0.0, 0.0, + 4.5, 1.5, 2.0, 0.0, + 0.0, 9.0, 6.0, 3.0, + 0.0, 0.0, 10.0, 7.0 }); + Vector rhs{ 1.0, 2.0, 3.0, 4.0 }; + + a.Print(std::cout, 10, 3); + b.Print(std::cout, 10, 3); + std::cout << "rhs: " << rhs << std::endl; + + Vector sol_a(4), sol_b(4); + + a.Solve(rhs, sol_a); + b.Solve(rhs, sol_b); + + std::cout << "sol_a: " << sol_a << std::endl; + std::cout << "sol_b: " << sol_b << std::endl; + + std::cout << "Tridiag sol_a mul" << c * sol_a << std::endl; + std::cout << "Tridiag sol_b mul" << c * sol_b << std::endl; + +/* OUTPUT +Dim: 4 +[ 4, 1, 0, 0, ] +[ 4.5, 1.5, 2, 0, ] +[ 0, 9, 6, 3, ] +[ 0, 0, 10, 7, ] +Dim: 4 +[ 4, 1, 0, 0, ] +[ 4.5, 1.5, 2, 0, ] +[ 0, 9, 6, 3, ] +[ 0, 0, 10, 7, ] +rhs: [ 1, 2, 3, 4] +sol_a: [ 0.2345679012, 0.06172839506, 0.4259259259, -0.03703703704] +sol_b: [ 0.2345679012, 0.06172839506, 0.4259259259, -0.03703703704] +Tridiag sol_a mul[ 1, 2, 3, 4] +Tridiag sol_b mul[ 1, 2, 3, 4] + */ +} + +void Docs_Demo_Demo_Matrix_BandDiag() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* Matrix Band diagonal *******" << std::endl; + std::cout << "***********************************************************" << std::endl; + + // Dim: 4 + // [ 4, 1, 0, 0, ] + // [ 4.5, 1.5, 2, 0, ] + // [ 0, 9, 6, 3, ] + // [ 0, 0, 10, 7, ] + Matrix mat(4, 3, { 0.0, 4.0, 1.0, + 4.5, 1.5, 2.0, + 9.0, 6.0, 3.0, + 10.0, 7.0, 0.0 }); + + BandDiagonalMatrix band1(4, 1, 1, mat); + band1.Print(std::cout, 10, 3); + + // Dim: 7 + // [ 3, 1, 0, 0, 0, 0, 0, ] + // [ 4, 1, 5, 0, 0, 0, 0, ] + // [ 9, 2, 6, 5, 0, 0, 0, ] + // [ 0, 4, 2, 2, 5, 0, 0, ] + // [ 0, 0, 4, 2, 2, 4, 0, ] + // [ 0, 0, 0, 3, 8, 4, 6, ] + // [ 0, 0, 0, 0, 2, 4, 4, ] + Matrix mat2(7, 4, { 0.0, 0.0, 3.0, 1.0, + 0.0, 4.0, 1.0, 5.0, + 9.0, 2.0, 6.0, 5.0, + 4.5, 1.5, 2.0, 5.0, + 4.5, 1.5, 2.0, 4.0, + 3.0, 8.0, 4.0, 6.0, + 2.0, 4.0, 4.0, 0.0 }); + + BandDiagonalMatrix band2(7, 2, 1, mat2); + band2.Print(std::cout, 6, 1); + +/* OUTPUT +Dim: 4 +[ 4, 1, 0, 0, ] +[ 4.5, 1.5, 2, 0, ] +[ 0, 9, 6, 3, ] +[ 0, 0, 10, 7, ] +Dim: 7 +[ 3, 1, 0, 0, 0, 0, 0, ] +[ 4, 1, 5, 0, 0, 0, 0, ] +[ 9, 2, 6, 5, 0, 0, 0, ] +[ 0, 4, 2, 2, 5, 0, 0, ] +[ 0, 0, 4, 2, 2, 4, 0, ] +[ 0, 0, 0, 3, 8, 4, 6, ] +[ 0, 0, 0, 0, 2, 4, 4, ] +*/ +} + +void Docs_Demo_Matrix() +{ + Docs_Demo_Matrix_initializations(); + Docs_Demo_Basic_mat_operations(); + Docs_Demo_Matrix_Vector_mul(); + Docs_Demo_Matrix_Matrix_mul(); + Docs_Demo_Matrix_invert(); + Docs_Demo_Matrix_transpose(); + + Docs_Demo_Demo_Matrix_Sym(); + Docs_Demo_Demo_Matrix_Tridiag(); + Docs_Demo_Demo_Matrix_BandDiag(); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_matrixnm.cpp b/docs_examples/demos/docs_demo_matrixnm.cpp new file mode 100644 index 0000000..cbc40ae --- /dev/null +++ b/docs_examples/demos/docs_demo_matrixnm.cpp @@ -0,0 +1,277 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "base/MatrixNM.h" + +#include "base/BaseUtils.h" +#endif + +using namespace MML; + + +void Docs_Demo_MatrixNM_initializations() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM initialization *******" << std::endl; + + MatrixNM a; + MatrixNM b({ 1.0, 0.0, 0.0, 1.0 }); + MatrixNM c(b); + MatrixNM d = c; + auto e = MatrixNM::GetUnitMatrix(); + + std::cout << "a = " << a << std::endl; + std::cout << "b = " << b << std::endl; + std::cout << "c = " << c << std::endl; + std::cout << "d = " << d << std::endl; + std::cout << "e = " << e << std::endl; + + /* OUTPUT +a = Rows: 2 Cols: 2 +[ 0, 0, ] +[ 0, 0, ] + +b = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] + +c = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] + +d = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] + +e = Rows: 3 Cols: 3 +[ 1, 0, 0, ] +[ 0, 1, 0, ] +[ 0, 0, 1, ] + */ +} + +void Docs_Demo_MatrixNM_vector_init_operations() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM - VectorN init operations ******" << std::endl; + + VectorN a({ 1.0, 1.0, 1.0 }); + MatrixNM matA = MatrixNM::RowMatrixFromVector(a); + auto matAauto = MatrixNM::RowMatrixFromVector(a); + MatrixNM matB = MatrixNM::ColumnMatrixFromVector(a); + auto matBauto = MatrixNM::ColumnMatrixFromVector(a); + + std::cout << "Vector a = " << a << std::endl; + std::cout << "Matrix matA = Matrix::RowMatrixFromVector(a);\nmatA = " << matA << std::endl; + std::cout << "Matrix matB = Matrix::ColMatrixFromVector(a);\nmatB = " << matB << std::endl; + + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); + VectorN vecRow = MatrixNM::VectorFromRow(m1, 0); + VectorN vecCol = MatrixNM::VectorFromColumn(m1, 0); + VectorN vecDiag = MatrixNM::VectorFromDiagonal(m1); + + std::cout << "Matrix m1 = " << m1 << std::endl; + std::cout << "Vector vecRow = Matrix::VectorFromRow(a,0) = " << vecRow << std::endl; + std::cout << "Vector vecCol = Matrix::VectorFromColumn(a, 0) = " << vecCol << std::endl; + std::cout << "Vector vecCol = Matrix::VectorFromDiagonal(a) = " << vecDiag << std::endl; + +/* OUTPUT +Vector a = [ 1, 1, 1] +Matrix matA = Matrix::RowMatrixFromVector(a); +matA = Rows: 1 Cols: 3 +[ 1, 1, 1, ] + +Matrix matB = Matrix::ColMatrixFromVector(a); +matB = Rows: 3 Cols: 1 +[ 1, ] +[ 0, ] +[ 0, ] + +Matrix m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +Vector vecRow = Matrix::VectorFromRow(a,0) = [ 1, -1] +Vector vecCol = Matrix::VectorFromColumn(a, 0) = [ 1, 1.5] +Vector vecCol = Matrix::VectorFromDiagonal(a) = [ 1, 3] +*/ +} + +void Docs_Demo_Basic_MatrixNM_operations() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM Basic operation *******" << std::endl; + + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }), m2; + m2.MakeUnitMatrix(); + + std::cout << "m1 = " << m1 << std::endl; + std::cout << "m2 = " << m2 << std::endl; + + std::cout << "m1 + m2 = " << m1 + m2 << std::endl; + std::cout << "m1 - m2 = " << m1 - m2 << std::endl; + std::cout << "m1 * m2 = " << m1 * m2 << std::endl; + std::cout << "2.0 * m1 = " << 2.0 * m1 << std::endl; + std::cout << "m1 * 2.0 = " << m1 * 2.0 << std::endl; + std::cout << "m1 / 2.0 = " << m1 / 2.0 << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m2 = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] + +m1 + m2 = Rows: 2 Cols: 2 +[ 2, -1, ] +[ 1.5, 4, ] + +m1 - m2 = Rows: 2 Cols: 2 +[ 0, -1, ] +[ 1.5, 2, ] + +m1 * m2 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +2.0 * m1 = Rows: 2 Cols: 2 +[ 2, -2, ] +[ 3, 6, ] + +m1 * 2.0 = Rows: 2 Cols: 2 +[ 2, -2, ] +[ 3, 6, ] + +m1 / 2.0 = Rows: 2 Cols: 2 +[ 0.5, -0.5, ] +[ 0.75, 1.5, ] +*/ +} + +void Docs_Demo_MatrixNM_VectorN_mul() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM VectorN multiplication *******" << std::endl; + + VectorN v1({ 1.0, 2.0 }); + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); + + std::cout << "v1 = " << v1 << std::endl; + std::cout << "m1 = " << m1 << std::endl; + + std::cout << "v1 * m1 = " << v1 * m1 << std::endl; + std::cout << "m1 * v1 = " << m1 * v1 << std::endl; + +/* OUTPUT +v1 = [ 1, 2] +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +v1 * m1 = [ 4, 5] +m1 * v1 = [ -1, 7.5] +*/ +} + +void Docs_Demo_MatrixNM_MatrixNM_mul() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM MatrixNM multiplication *******" << std::endl; + + MatrixNM m3{ 1.0, -2.0, 3.0 }; + MatrixNM m4{ 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 1.0 }; + MatrixNM m5 = m3 * m4; + + std::cout << "m3 = " << m3 << std::endl; + std::cout << "m4 = " << m4 << std::endl; + std::cout << "m3 * m4 = " << m5 << std::endl; + +/* OUTPUT +m3 = Rows: 1 Cols: 3 +[ 1, -2, 3, ] + +m4 = Rows: 3 Cols: 4 +[ 1, 0, 0, 0, ] +[ 0, 1, 0, 0, ] +[ 0, 0, 1, 1, ] + +m3 * m4 = Rows: 1 Cols: 4 +[ 1, -2, 3, 3, ] +*/ +} + +void Docs_Demo_MatrixNM_Invert() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM Invert *******" << std::endl; + + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); + + std::cout << "m1 = " << m1 << std::endl; + auto m2 = m1.GetInverse(); + + std::cout << "m2 (inv) = " << m2 << std::endl; + + auto munit = m1 * m2; + std::cout << "m1 * m2 = " << munit << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m2 (inv) = Rows: 2 Cols: 2 +[ 0.667, 0.222, ] +[ -0.333, 0.222, ] + +m1 * m2 = Rows: 2 Cols: 2 +[ 1, 0, ] +[ 0, 1, ] +*/ +} + +void Docs_Demo_MatrixNM_transpose() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM Transpose *******" << std::endl; + + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); + std::cout << "m1 = " << m1 << std::endl; + + auto m2 = m1.GetTranspose(); + std::cout << "m2 (transp) = " << m2 << std::endl; + + m1.Transpose(); + std::cout << "Transposing m1 (in place) = " << m1 << std::endl; + +/* OUTPUT +m1 = Rows: 2 Cols: 2 +[ 1, -1, ] +[ 1.5, 3, ] + +m2 (transp) = Rows: 2 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] + +Transposing m1 (in place) = Rows: 2 Cols: 2 +[ 1, 1.5, ] +[ -1, 3, ] +*/ +} + +void Docs_Demo_MatrixNM() +{ + Docs_Demo_MatrixNM_initializations(); + Docs_Demo_MatrixNM_vector_init_operations(); + Docs_Demo_Basic_MatrixNM_operations(); + Docs_Demo_MatrixNM_VectorN_mul(); + Docs_Demo_MatrixNM_MatrixNM_mul(); + Docs_Demo_MatrixNM_Invert(); + Docs_Demo_MatrixNM_transpose(); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_ode_solvers.cpp b/docs_examples/demos/docs_demo_ode_solvers.cpp new file mode 100644 index 0000000..eeb7c1f --- /dev/null +++ b/docs_examples/demos/docs_demo_ode_solvers.cpp @@ -0,0 +1,176 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Visualizer.h" +#include "core/Serializer.h" + +#include "algorithms/ODESystemSolver.h" +#include "algorithms/ODESystemSteppers.h" +#include "algorithms/ODESystemSteppers_Stiff.h" +#endif + +#include "../test_data/diff_eq_systems_test_bed.h" + +using namespace MML; + +void Docs_Demo_ODE_solvers_5th_order() +{ + std::cout << "\n***********************************************************\n"; + std::cout << "*** Solving Lorenz system - 5th order ***\n"; + + // in-place definition of Lorenz system (have to fix parameters!) + ODESystem lorenzSystem(3, [](Real t, const Vector& y, Vector& dydt) + { + double sigma = 10.0, rho = 28.0, beta = 8.0 / 3.0; + dydt[0] = sigma * (y[1] - y[0]); + dydt[1] = y[0] * (rho - y[2]) - y[1]; + dydt[2] = y[0] * y[1] - beta * y[2]; + }); + + // get it from predefined test-bed + TestBeds::LorenzSystemODE alsoLorenzSystem(10.0, 28.0, 8.0 / 3.0); + + const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0; + double x1 = 0.0, x2 = 50.0; + + Vector init_cond({ 2.0, 1.0, 1.0 }); + Output out0(10000); + + ODESystemSolver ode_solver0(lorenzSystem, atol, rtol, out0); + ODESystemSolution sol0 = ode_solver0.integrate(init_cond, x1, x2, h1, hmin); + + //std::cout << "x values:\n"; + //sol0._xval.Print(std::cout, 6, 3); std::cout << std::endl; + //std::cout << "y values: - "; + //sol0._yval.Print(std::cout, 6, 3); + + Visualizer::VisualizeODESysSolAsMultiFunc(sol0, "Lorenz system as multi function", "lorenz_1_as_multi_func.txt"); + Visualizer::VisualizeODESysSolAsParamCurve3(sol0, "Lorenz system as parametric curve", "demo5_lorenz_system_as_parametric_curve.txt"); +} + +void Docs_Demo_ODE_solvers_8th_order() +{ + std::cout << "\n***********************************************************\n"; + std::cout << "*** Solving Lorenz system - 8th order ***\n"; + // get it from predefined test-bed + TestBeds::LorenzSystemODE sys0(10.0, 28.0, 8.0 / 3.0); + + const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0; + double x1 = 0.0, x2 = 50.0; + Vector ystart01({ 2.0, 1.0, 1.0 }); + Output out01(10000); + + ODESystemSolver ode_solver01(sys0, atol, rtol, out01); + ODESystemSolution sol01 = ode_solver01.integrate(ystart01, x1, x2, h1, hmin); + + Visualizer::VisualizeODESysSolAsMultiFunc(sol01, "Lorenz system solution - Dormand 8th order", "lorenz_dormand8.txt"); +} + +void Docs_Demo_ODE_solvers_BulirschStoer() +{ + std::cout << "\n***********************************************************\n"; + std::cout << "********** Bulirsch-Stoer ********\n"; + // get it from predefined test-bed + TestBeds::LorenzSystemODE sys0(10.0, 28.0, 8.0 / 3.0); + + const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0; + double x1 = 0.0, x2 = 50.0; + Vector ystartBS({ 2.0, 1.0, 1.0 }); + Output out_BS(10000); + + ODESystemSolver ode_solver_BS(sys0, atol, rtol, out_BS); + ODESystemSolution sol_BS = ode_solver_BS.integrate(ystartBS, x1, x2, h1, hmin); + + //std::cout << "x values:\n"; sol_BS._xval.Print(std::cout, 6, 3); std::cout << std::endl; + //std::cout << "y values: - "; sol_BS._yval.Print(std::cout, 6, 3); + + Visualizer::VisualizeODESysSolAsMultiFunc(sol_BS, "Lorenz system solution - Bulirsch-Stoer", "lorenz_bulirsch_stoer.txt"); +} + +void Docs_Demo_ODE_solvers_RungeKutta_4th_order() +{ + std::cout << "\n***********************************************************\n"; + std::cout << "****** Runge-Kutta 4th order - Dumb ******\n"; + // get it from predefined test-bed + TestBeds::LorenzSystemODE sys0(10.0, 28.0, 8.0 / 3.0); + + const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0; + double x1 = 0.0, x2 = 50.0; + Vector ystart0({ 2.0, 1.0, 1.0 }); + //Output out_BS(10000); + + RungeKuttaSolverDumb rkdumb; + ODESystemSolutionEqualSpacing sol = rkdumb.integrate(sys0, ystart0, 0.0, 2.0, 200); + + std::cout << "x values:\n"; sol.xval.Print(std::cout, 6, 3); std::cout << std::endl; + std::cout << "y values: - "; sol.yval.Print(std::cout, 6, 3); + + std::cout << "\n***********************************************************\n"; + std::cout << "****** Runge-Kutta 4th order - stepper ******\n"; + + int nok, nbad; + ystart0[0] = 2.0; + ystart0[1] = 1.0; + ystart0[2] = 1.0; + RungeKuttaSolverSimple rkNR2; + ODESystemSolution sol2 = rkNR2.integrate(sys0, ystart0, 0.0, 2.0, 100, 0.1, 1e-06, h1, hmin, nok, nbad); + + std::cout << "x values:\n"; sol2._xval.Print(std::cout, 7, 3); std::cout << std::endl; + std::cout << "y values: - "; sol2._yval.Print(std::cout, 7, 3); + + Visualizer::VisualizeODESysSolAsMultiFunc(sol2, "Lorenz system solution - RK 4th order", "lorenz_RK_4th.txt"); +} + +void Docs_Demo_ODE_solvers_Stiff_Rosenbrock() +{ + std::cout << "\n***********************************************************\n"; + std::cout << "****** Stiff system - Rosenbrock method ******\n"; + + auto sys_stiff = TestBeds::ODESystemTestBed::getODESystemWithJacobian(0); + + const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0, x1 = 0.0, x2 = 2.0; + Vector ystart02(sys_stiff.getDim()); + ystart02[0] = 1.0; + ystart02[1] = 1.0; + ystart02[2] = 0.0; + Output out02(20); + + ODESystemSolver ode_solver02(sys_stiff, atol, rtol, out02); + ODESystemSolution sol02 = ode_solver02.integrate(ystart02, 0.0, 50.0, h1, hmin); + + std::cout << "x values:\n"; sol02._xval.Print(std::cout, 6, 3); std::cout << std::endl; + std::cout << "y values: - "; sol02._yval.Print(std::cout, 6, 3); +} + +void Docs_Demo_ODE_solvers_Stiff_SemiImplExtrapolation_method() +{ + std::cout << "\n***********************************************************\n"; + std::cout << "**** Stiff system - Semi-implicit extrapol method ***\n"; + + auto sys_stiff = TestBeds::ODESystemTestBed::getODESystemWithJacobian(0); + + const double atol = 1.0e-3, rtol = atol, h1 = 0.01, hmin = 0.0, x1 = 0.0, x2 = 2.0; + Vector ystart03(sys_stiff.getDim()); + ystart03[0] = 1.0; + ystart03[1] = 1.0; + ystart03[2] = 0.0; + Output out03(20); + + ODESystemSolver ode_solver03(sys_stiff, atol, rtol, out03); + ODESystemSolution sol03 = ode_solver03.integrate(ystart03, 0.0, 50.0, h1, hmin); + + std::cout << "x values:\n"; sol03._xval.Print(std::cout, 6, 3); std::cout << std::endl; + std::cout << "y values: - "; sol03._yval.Print(std::cout, 6, 3); +} + +void Docs_Demo_ODE_solvers() +{ + Docs_Demo_ODE_solvers_5th_order(); + Docs_Demo_ODE_solvers_8th_order(); + Docs_Demo_ODE_solvers_BulirschStoer(); + Docs_Demo_ODE_solvers_RungeKutta_4th_order(); + Docs_Demo_ODE_solvers_Stiff_Rosenbrock(); + Docs_Demo_ODE_solvers_Stiff_SemiImplExtrapolation_method(); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_polynom.cpp b/docs_examples/demos/docs_demo_polynom.cpp new file mode 100644 index 0000000..3ed8925 --- /dev/null +++ b/docs_examples/demos/docs_demo_polynom.cpp @@ -0,0 +1,118 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "base/Polynom.h" +#endif + +using namespace MML; + +void Docs_Demo_Polynom() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** POLYNOM ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + // Initialization of polynomials + RealPolynom pol_constant({ 1 }); + RealPolynom pol_linear({ 1, 2 }); + RealPolynom pol_quadratic({ 1, 2, 3 }); + RealPolynom pol_cubic({ 1, 2, 3, 4 }); + RealPolynom pol_quartic({ 1, 2, 3, 4, 5 }); + + RealPolynom poly_real({ -1, 0.25, 1.3, -2, 0.4 }); + ComplexPolynom poly_cmplx_r({ 1, 2, 3, 4 }); + ComplexPolynom poly_cmplx({ Complex(0.5,-1), Complex(-2,3) }); + Matrix2Polynom poly_mat({ 1, -1.0/2, 1./6 }); // matrix polynomial of 3rd order + + // Basic output of polynomials + std::cout << "pol_constant : " << pol_constant << std::endl; + std::cout << "pol_linear : " << pol_linear << std::endl; + std::cout << "pol_quadratic : " << pol_quadratic << std::endl; + std::cout << "pol_cubic : " << pol_cubic << std::endl; + std::cout << "pol_quartic : " << pol_quartic << std::endl; + std::cout << "poly_real : " << poly_real << std::endl; + std::cout << "poly_cmplx_r : " << poly_cmplx_r << std::endl; + std::cout << "poly_cmplx : " << poly_cmplx << std::endl; + std::cout << "m2 : " << poly_mat << std::endl << std::endl; + + // Evaluation of polynomials + std::cout << "poly_real(5.0) = " << poly_real(1.0) << std::endl; + std::cout << "poly_real(-2.0) = " << poly_real(-2.0) << std::endl; + std::cout << "poly_real(1.276) = " << poly_real(1.276) << std::endl << std::endl; + + std::cout << "poly_cmplx( 2 + 3i) = " << poly_cmplx(Complex(2, 3)) << std::endl; + std::cout << "poly_cmplx(-1 - i) = " << poly_cmplx(Complex(-1, -1)) << std::endl; + std::cout << "poly_cmplx( 1 - 2i) = " << poly_cmplx(Complex(1, -2)) << std::endl << std::endl; + + // evaluate the polynomial at the given matrix value + std::cout << "poly_mat({ 1, 0.5, -1.4, 2.8 }) = " << poly_mat(MatrixNM({ 1, 0.5, -1.4, 2.8 })) << std::endl << std::endl; + + // evaluation of matrix polynom in detail + MatrixNM eval_mat({ 1, 2, 3, 4 }); // matrix to evaluate the polynomial at + MatrixNM m2_2 = poly_mat(eval_mat); // evaluate the polynomial at the given matrix value + + // Operations on polynomials + RealPolynom pol_sum = pol_quadratic + pol_cubic; + std::cout << "( " << pol_quadratic << " ) + ( " << pol_cubic << " ) = " << pol_sum << std::endl; + RealPolynom pol_diff = pol_quadratic - pol_cubic; + std::cout << "( " << pol_quadratic << " ) - ( " << pol_cubic << " ) = " << pol_diff << std::endl; + RealPolynom pol_prod = pol_quadratic * pol_cubic; + std::cout << "( " << pol_quadratic << " ) * ( " << pol_cubic << " ) = " << pol_prod << std::endl; + RealPolynom pol_div, pol_rem; + RealPolynom::poldiv(pol_prod, pol_cubic, pol_div, pol_rem); + std::cout << "( " << pol_prod << " ) / ( " << pol_cubic << " ) = " << pol_div << " remainder: " << pol_rem << std::endl; + + RealPolynom pol_sum2 = pol_quadratic * 2.0; + RealPolynom pol_diff2 = pol_quadratic / 2.0; + RealPolynom pol_prod2 = 2.0 * pol_quadratic; + + std::cout << "\nReal coef. polynom output:\n"; + std::cout << poly_real << std::endl; + std::cout << poly_real.to_string(10, 5) << std::endl; + poly_real.Print(std::cout, 7, 3); + + std::cout << "\nComplex coef. polynom output:\n"; + std::cout << poly_cmplx << std::endl; + std::cout << poly_cmplx.to_string(10, 5) << std::endl; + poly_cmplx.Print(std::cout, 7, 3); + +/* OUTPUT +pol_constant : 1 +pol_linear : 2 * x1 + 1 +pol_quadratic : 3 * x^2 + 2 * x1 + 1 +pol_cubic : 4 * x^3 + 3 * x^2 + 2 * x1 + 1 +pol_quartic : 5 * x^4 + 4 * x^3 + 3 * x^2 + 2 * x1 + 1 +poly_real : 0.4 * x^4 + -2 * x^3 + 1.3 * x^2 + 0.25 * x1 + -1 +poly_cmplx_r : (4,0) * x^3 + (3,0) * x^2 + (2,0) * x1 + (1,0) +poly_cmplx : (-2,3) * x1 + (0.5,-1) +m2 : 0.166667 * x^2 + -0.5 * x1 + 1 + +poly_real(5.0) = -1.05 +poly_real(-2.0) = 26.1 +poly_real(1.276) = -1.65909 + +poly_cmplx( 2 + 3i) = (-12.5,-1) +poly_cmplx(-1 - i) = (5.5,-2) +poly_cmplx( 1 - 2i) = (4.5,6) + +poly_mat({ 1, 0.5, -1.4, 2.8 }) = Rows: 2 Cols: 2 +[ 0.55, 0.0667, ] +[ -0.187, 0.79, ] + + +( 3 * x^2 + 2 * x1 + 1 ) + ( 4 * x^3 + 3 * x^2 + 2 * x1 + 1 ) = 4 * x^3 + 6 * x^2 + 4 * x1 + 2 +( 3 * x^2 + 2 * x1 + 1 ) - ( 4 * x^3 + 3 * x^2 + 2 * x1 + 1 ) = -4 * x^3 +( 3 * x^2 + 2 * x1 + 1 ) * ( 4 * x^3 + 3 * x^2 + 2 * x1 + 1 ) = 12 * x^5 + 17 * x^4 + 16 * x^3 + 10 * x^2 + 4 * x1 + 1( 12 * x^5 + 17 * x^4 + 16 * x^3 + 10 * x^2 + 4 * x1 + 1 ) / ( 4 * x^3 + 3 * x^2 + 2 * x1 + 1 ) = 2 * x1 + 1 remainder: + +Real coef. polynom output: +0.4 * x^4 + -2 * x^3 + 1.3 * x^2 + 0.25 * x1 + -1 + 0.4 * x^4 + -2 * x^3 + 1.3 * x^2 + 0.25 * x1 + -1 + 0.4 * x^4 + -2 * x^3 + 1.3 * x^2 + 0.25 * x1 + -1 +Complex coef. polynom output: +(-2,3) * x1 + (0.5,-1) + (-2,3) * x1 + (0.5,-1) + (-2,3) * x1 + (0.5,-1) +*/ +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_root_finding.cpp b/docs_examples/demos/docs_demo_root_finding.cpp new file mode 100644 index 0000000..5273246 --- /dev/null +++ b/docs_examples/demos/docs_demo_root_finding.cpp @@ -0,0 +1,26 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Function.h" + +#include "algorithms/RootFinding.h" +#include "algorithms/RootFindingMultidim.h" +#endif + +using namespace std; +using namespace MML; + +void Docs_Demo_Root_finding() +{ + std::cout << endl; + std::cout << "***********************************************************************" << endl; + std::cout << "**** ROOT FINDING ****" << endl; + std::cout << "***********************************************************************" << endl; + + RealFunction f([](Real x) { return x * x - 2; }); + double a = 0.0; + double b = 2.0; + bool isBracketed = RootFinding::zbrac(f, a, b); +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_surface_integration.cpp b/docs_examples/demos/docs_demo_surface_integration.cpp new file mode 100644 index 0000000..4dc1820 --- /dev/null +++ b/docs_examples/demos/docs_demo_surface_integration.cpp @@ -0,0 +1,29 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Fields.h" +#include "core/Function.h" + +#include "algorithms/SurfaceIntegration.h" +#endif + +using namespace std; +using namespace MML; + +void Docs_Demo_Surface_integration() +{ + std::cout << endl; + std::cout << "***********************************************************************" << endl; + std::cout << "**** SURFACE INTEGRATION ****" << endl; + std::cout << "***********************************************************************" << endl; + + Cube3D cube(7); + static VectorFunction<3> field([](const VectorN &x_cart) { return Fields::InverseRadialPotentialForceFieldCart(1/(4*Constants::PI), x_cart); }); + + Real integral = SurfaceIntegration::SurfaceIntegral(field, cube); + + std::cout << "Surface integral of the vector field over the cube: " << integral << std::endl; +} + \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_tensors.cpp b/docs_examples/demos/docs_demo_tensors.cpp new file mode 100644 index 0000000..00d7cbe --- /dev/null +++ b/docs_examples/demos/docs_demo_tensors.cpp @@ -0,0 +1,16 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "base/Tensor.h" +#endif + +using namespace MML; + +void Docs_Demo_Tensors() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Tensors *******" << std::endl; + +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_vector.cpp b/docs_examples/demos/docs_demo_vector.cpp new file mode 100644 index 0000000..7369f6d --- /dev/null +++ b/docs_examples/demos/docs_demo_vector.cpp @@ -0,0 +1,14 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/CoordTransf.h" +#endif + +using namespace MML; + +void Docs_Demo_Vector() +{ + +} \ No newline at end of file diff --git a/docs_examples/demos/docs_demo_visualizers.cpp b/docs_examples/demos/docs_demo_visualizers.cpp new file mode 100644 index 0000000..fb97e74 --- /dev/null +++ b/docs_examples/demos/docs_demo_visualizers.cpp @@ -0,0 +1,16 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Visualizer.h" +#endif + +using namespace MML; + +void Docs_Demo_Visualizers() +{ + std::cout << "***********************************************************" << std::endl; + std::cout << "***** Visualizers *******" << std::endl; + +} diff --git a/docs_examples/demos/docs_demo_volume_integration.cpp b/docs_examples/demos/docs_demo_volume_integration.cpp new file mode 100644 index 0000000..fbbcb50 --- /dev/null +++ b/docs_examples/demos/docs_demo_volume_integration.cpp @@ -0,0 +1,19 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "algorithms/VolumeIntegration.h" +#endif + +using namespace std; +using namespace MML; + +void Docs_Demo_Volume_integration() +{ + std::cout << endl; + std::cout << "***********************************************************************" << endl; + std::cout << "**** VOLUME INTEGRATION ****" << endl; + std::cout << "***********************************************************************" << endl; +} + \ No newline at end of file diff --git a/docs_examples/demos/main_docs_demos.cpp b/docs_examples/demos/main_docs_demos.cpp new file mode 100644 index 0000000..a70892c --- /dev/null +++ b/docs_examples/demos/main_docs_demos.cpp @@ -0,0 +1,52 @@ +void Docs_Demo_Coord_Transf(); +void Docs_Demo_Derivation(); +void Docs_Demo_Diff_geometry(); +void Docs_Demo_Eigen_solvers(); +void Docs_Demo_Field_operations(); +void Docs_Demo_Functions(); +void Docs_Demo_Interpolated_functions(); +void Docs_Demo_Geometry_2D_3D(); +void Docs_Demo_Integration(); +void Docs_Demo_Integration_multidim(); +void Docs_Demo_Integration_path(); +void Docs_Demo_Integration_surface(); +void Docs_Demo_LinAlgSolvers(); +void Docs_Demo_Matrix(); +void Docs_Demo_MatrixNM(); +void Docs_Demo_ODE_solvers(); +void Docs_Demo_Polynom(); +void Docs_Demo_Root_finding(); +void Docs_Demo_Surface_integration(); +void Docs_Demo_Tensors(); +void Docs_Demo_Vector(); +void Docs_Demo_Visualizers(); +void Docs_Demo_Volume_integration(); + +void Main_Docs_Demos() +{ + // svaki primjer MORA imati Example usage funkciju!!! + // + //Docs_Demo_Coord_Transf(); + //Docs_Demo_Derivation(); + Docs_Demo_Diff_geometry(); + //Docs_Demo_Eigen_solvers(); + Docs_Demo_Field_operations(); + //Docs_Demo_Functions(); + Docs_Demo_Interpolated_functions(); + Docs_Demo_Geometry_2D_3D(); + //Docs_Demo_Integration(); + Docs_Demo_Integration_multidim(); + Docs_Demo_Integration_path(); + Docs_Demo_Integration_surface(); + //Docs_Demo_LinAlgSolvers(); + //Docs_Demo_Matrix(); + //Docs_Demo_MatrixNM(); + //Docs_Demo_ODE_solvers(); + //Docs_Demo_Polynom(); + Docs_Demo_Root_finding(); + Docs_Demo_Surface_integration(); + Docs_Demo_Tensors(); + //Docs_Demo_Vector(); + Docs_Demo_Visualizers(); + Docs_Demo_Volume_integration(); +} \ No newline at end of file diff --git a/docs_examples/doc_examples_app_main.cpp b/docs_examples/doc_examples_app_main.cpp deleted file mode 100644 index ca9837c..0000000 --- a/docs_examples/doc_examples_app_main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -void Docs_Examples(); -void Docs_Readme_Examples(); - -int main() -{ - //Docs_Readme_Examples(); - Docs_Examples(); -} \ No newline at end of file diff --git a/docs_examples/docs_app_main.cpp b/docs_examples/docs_app_main.cpp new file mode 100644 index 0000000..5e57c94 --- /dev/null +++ b/docs_examples/docs_app_main.cpp @@ -0,0 +1,11 @@ + +void Main_Docs_Demos(); +void Main_Docs_Examples(); +void Main_Readme_Examples(); + +int main() +{ + Main_Docs_Demos(); + //Main_Readme_Examples(); + //Main_Docs_Examples(); +} \ No newline at end of file diff --git a/docs_examples/examples/example2_collision_calculator.cpp b/docs_examples/examples/example2_collision_calculator.cpp index ae41692..5d25b60 100644 --- a/docs_examples/examples/example2_collision_calculator.cpp +++ b/docs_examples/examples/example2_collision_calculator.cpp @@ -1,66 +1,187 @@ -#ifdef MML_USE_SINGLE_HEADER +#ifdef MML_USE_SINGLE_HEADER #include "MML.h" #else #include "MMLBase.h" #include "base/VectorTypes.h" - -#include "core/Derivation.h" #endif - using namespace MML; -// TODO 0.9 -class Body2D + +struct Body2D { - double _mass; - Vector2Cartesian _position; - Vector2Cartesian _velocity; + double _mass; + double _radius; + Point2Cartesian _position; + Vector2Cartesian _velocity; + + Point2Cartesian Position() const { return _position; } + Point2Cartesian& Position() { return _position; } + + Vector2Cartesian Velocity() const { return _velocity; } + Vector2Cartesian& Velocity() { return _velocity; } }; -class Body3D +struct Container2D { - double _mass; - Vector3Cartesian _position; - Vector3Cartesian _velocity; + double _width; + double _height; + + std::vector _bodies; + + void CheckAndHandleOutOfBounds(int ballIndex) + { + // ako je izvan boxa i ako ide "u stijenku" + if (_bodies[ballIndex].Position().X() < _bodies[ballIndex]._radius && _bodies[ballIndex].Velocity().X() < 0) + { + _bodies[ballIndex].Position().X() = _bodies[ballIndex]._radius + (_bodies[ballIndex]._radius - _bodies[ballIndex].Position().X()); // vraćamo ga u box + _bodies[ballIndex].Velocity().X() *= -1; + } + + if (_bodies[ballIndex].Position().X() > _width - _bodies[ballIndex]._radius && _bodies[ballIndex].Velocity().X() > 0) + { + _bodies[ballIndex].Position().X() -= (_bodies[ballIndex].Position().X() + _bodies[ballIndex]._radius) - _width; + _bodies[ballIndex].Velocity().X() *= -1; + } + if (_bodies[ballIndex].Position().Y() < _bodies[ballIndex]._radius && _bodies[ballIndex].Velocity().Y() < 0) + { + _bodies[ballIndex].Position().Y() = _bodies[ballIndex]._radius + (_bodies[ballIndex]._radius - _bodies[ballIndex].Position().Y()); + _bodies[ballIndex].Velocity().Y() *= -1; + } + + if (_bodies[ballIndex].Position().Y() > _height - _bodies[ballIndex]._radius && _bodies[ballIndex].Velocity().Y() > 0) + { + _bodies[ballIndex].Position().Y() -= (_bodies[ballIndex].Position().Y() + _bodies[ballIndex]._radius) - _height; + _bodies[ballIndex].Velocity().Y() *= -1; + } + } }; -// 2D i 3D verzija class CollisionSimulator2D { + Container2D _box; + public: - CollisionSimulator2D(const std::vector& bodies) - : _bodies(bodies) - { - } + CollisionSimulator2D() { } + + double DistBalls(int i, int j) + { + return _box._bodies[i]._position.Dist(_box._bodies[j]._position); + } + + bool HasBallsCollided(int i, int j) + { + // ako je udaljenost izmedju njihovih centara manja od zbroja radijusa + if (DistBalls(i, j) < _box._bodies[i]._radius + _box._bodies[j]._radius) + return true; + else + return false; + } + + void SimulateOneStep(double dt) + { + int NumBalls = _box._bodies.size(); + + for (int i = 0; i < NumBalls; i++) + { + // update pozicije kugle + _box._bodies[i].Position() = _box._bodies[i].Position() + _box._bodies[i].Velocity() * dt; + + _box.CheckAndHandleOutOfBounds(i); + } + + // provjeriti za sve parove da li su se sudarili + for (int m = 0; m < NumBalls - 1; m++) + { + for (int n = m + 1; n < NumBalls; n++) + { + if (HasBallsCollided(m, n)) + { + // računamo točku u kojoj su bili prije sudara + Point2Cartesian x10 = _box._bodies[m].Position() - _box._bodies[m].Velocity() * dt; + Point2Cartesian x20 = _box._bodies[n].Position() - _box._bodies[n].Velocity() * dt; - std::vector _bodies; + Vector2Cartesian dx0(x10, x20); - // HasBodiesCollided - // SimulateOneStep(dT) + Vector2Cartesian dv = _box._bodies[n].Velocity() - _box._bodies[m].Velocity(); + + double A = dv.ScalarProductCartesian(dv); + double B = 2 * dx0.ScalarProductCartesian(dv); + double C = dx0.ScalarProductCartesian(dx0) - (_box._bodies[n]._radius + _box._bodies[m]._radius) * (_box._bodies[n]._radius + _box._bodies[m]._radius); + + double t1 = (-B + sqrt(B * B - 4 * A * C)) / (2 * A); + double t2 = (-B - sqrt(B * B - 4 * A * C)) / (2 * A); + + double tCollision = 0.0; + if (t1 < t2) + tCollision = t1; + else + tCollision = t2; + double tReverseBalls = tCollision - dt; // with respect to CURRENT balls position + + // moving both balls to point of collision + _box._bodies[m].Position() = _box._bodies[m].Position() + tReverseBalls * _box._bodies[m].Velocity(); + _box._bodies[n].Position() = _box._bodies[n].Position() + tReverseBalls * _box._bodies[n].Velocity(); + + // ovo mora biti jednako zbroju radijusa kugli + double r = DistBalls(m, n); + + // COLLISION - algoritam https://en.wikipedia.org/wiki/Elastic_collision + // za dvije kugle, točno u "sudarnoj točki", izračunavamo nove brzine nakon sudara + Vector2Cartesian v1_v2 = _box._bodies[m].Velocity() - _box._bodies[n].Velocity(); + Vector2Cartesian x1_x2(_box._bodies[n].Position(), _box._bodies[m].Position()); + + double scalProd = v1_v2.ScalarProductCartesian(x1_x2); + double denom = x1_x2.NormL2() * x1_x2.NormL2(); + + double factor1 = 2 * _box._bodies[n]._mass / (_box._bodies[m]._mass + _box._bodies[n]._mass) * scalProd / denom; + double factor2 = 2 * _box._bodies[m]._mass / (_box._bodies[m]._mass + _box._bodies[n]._mass) * scalProd / denom; + + Vector2Cartesian v1_new = _box._bodies[m].Velocity() - factor1 * Vector2Cartesian(_box._bodies[n].Position(), _box._bodies[m].Position()); + Vector2Cartesian v2_new = _box._bodies[n].Velocity() - factor2 * Vector2Cartesian(_box._bodies[m].Position(), _box._bodies[n].Position()); + + _box._bodies[m].Velocity() = v1_new; + _box._bodies[n].Velocity() = v2_new; + + // treba i obje kugle pomaknuti u novom smjeru!! za preostali dT od trenutka sudara + _box._bodies[m].Position() = _box._bodies[m].Position() + _box._bodies[m].Velocity() * (dt - tCollision); + _box._bodies[n].Position() = _box._bodies[n].Position() + _box._bodies[n].Velocity() * (dt - tCollision); + } + } + } + } +}; + + +struct Body3D +{ + double _mass; + double _radius; + Point3Cartesian _position; + Vector3Cartesian _velocity; }; class CollisionSimulator3D { public: - CollisionSimulator3D(const std::vector& bodies) - : _bodies(bodies) - { - } + CollisionSimulator3D(const std::vector& bodies) + : _bodies(bodies) + { + } - std::vector _bodies; + std::vector _bodies; - // HasBodiesCollided - // SimulateOneStep(dT) + // HasBodiesCollided + // SimulateOneStep(dT) }; void Example2_collision_calculator() { - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** EXAMPLE 2 - collision calculator ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** EXAMPLE 2 - collision calculator ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; - // napraviti 2D prikaz u konzoli s rubovima i kuglama kao * koje se micu!!! + // napraviti 2D prikaz u konzoli s rubovima i kuglama kao * koje se micu!!! } \ No newline at end of file diff --git a/docs_examples/examples/example4_gravity_field_investigations.cpp b/docs_examples/examples/example4_gravity_field_investigations.cpp index 583fc86..6fd79e1 100644 --- a/docs_examples/examples/example4_gravity_field_investigations.cpp +++ b/docs_examples/examples/example4_gravity_field_investigations.cpp @@ -12,7 +12,7 @@ #include "core/Function.h" #include "core/InterpolatedFunction.h" #include "core/Serializer.h" -#include "core/Vizualizer.h" +#include "core/Visualizer.h" #endif @@ -199,7 +199,7 @@ void Example4_Gravity_field_visualization() for (int i = 0; i < config.NumBodies(); i++) { - Serializer::SaveAsParamCurve<3>(res[i], "PARAMETRIC_CURVE_CARTESIAN_3D", 0.0, dt*steps, steps+1, + Serializer::SaveAsParamCurve<3>(res[i], "PARAMETRIC_CURVE_CARTESIAN_3D", "Body" + std::to_string(i+1), 0.0, dt * steps, steps + 1, GLOB_PATH_ResultFiles + "body" + std::to_string(i) + ".txt"); } diff --git a/docs_examples/examples/example5_voyager_travels.cpp b/docs_examples/examples/example5_voyager_travels.cpp index bddeb56..e972cf4 100644 --- a/docs_examples/examples/example5_voyager_travels.cpp +++ b/docs_examples/examples/example5_voyager_travels.cpp @@ -12,7 +12,7 @@ using namespace MML; // TODO 0.9 void Example5_Voyager_travels() { - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** EXAMPLE 5 - Voyager travels ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** EXAMPLE 5 - Voyager travels ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; } \ No newline at end of file diff --git a/docs_examples/examples/example6_electric_charge_distribution.cpp b/docs_examples/examples/example6_electric_charge_distribution.cpp index 7b66e6d..2829b8a 100644 --- a/docs_examples/examples/example6_electric_charge_distribution.cpp +++ b/docs_examples/examples/example6_electric_charge_distribution.cpp @@ -9,7 +9,6 @@ using namespace MML; -// TODO 0.9 void Example6_electric_charge_distribution() { std::cout << "***********************************************************************" << std::endl; diff --git a/docs_examples/examples/example7_covariant_derivation.cpp b/docs_examples/examples/example7_covariant_derivation.cpp new file mode 100644 index 0000000..e3456d2 --- /dev/null +++ b/docs_examples/examples/example7_covariant_derivation.cpp @@ -0,0 +1,18 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Derivation.h" +#endif + + +using namespace MML; + + +void Example7_Covariant_derivative() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** EXAMPLE 7 - Covariant derivation ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; +} \ No newline at end of file diff --git a/docs_examples/examples/example8_EM_field_investigations.cpp b/docs_examples/examples/example8_EM_field_investigations.cpp new file mode 100644 index 0000000..3e2ddda --- /dev/null +++ b/docs_examples/examples/example8_EM_field_investigations.cpp @@ -0,0 +1,19 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Derivation.h" +#endif + + +using namespace MML; + +void Example8_EM_field_investigations() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** EXAMPLE 8 - EM field investigations ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; +} + +// ispalis elektron u kompleksno EM polje \ No newline at end of file diff --git a/docs_examples/examples/example9_thermodynamics_simulator.cpp b/docs_examples/examples/example9_thermodynamics_simulator.cpp new file mode 100644 index 0000000..7aba551 --- /dev/null +++ b/docs_examples/examples/example9_thermodynamics_simulator.cpp @@ -0,0 +1,18 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Derivation.h" +#endif + + +using namespace MML; + + +void Example9_Thermodynamics_simulator() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** EXAMPLE 9 - Thermodynamics simulator ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; +} \ No newline at end of file diff --git a/docs_examples/examples/example_main.cpp b/docs_examples/examples/example_main.cpp new file mode 100644 index 0000000..69dbc79 --- /dev/null +++ b/docs_examples/examples/example_main.cpp @@ -0,0 +1,56 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "base/Geometry3D.h" + +#include "core/Function.h" +#include "core/Derivation.h" +#include "core/Serializer.h" +#include "core/Visualizer.h" +#endif + + +using namespace MML; + +struct LineCurrent { + double _currentI; + Line3D _line; +}; +class InfiniteLineCurrent_Field_B : public IVectorFunction<3> +{ + std::vector _lines; +public: + void AddLine(double currentI, const Line3D& line) { _lines.push_back({ currentI, line }); } + + VectorN operator()(const VectorN& x) const override { + VectorN ret; + Point3Cartesian pos(x[0], x[1], x[2]); + + for (int i = 0; i < _lines.size(); i++) { + Point3Cartesian nearest_point = _lines[i]._line.NearestPoint(pos); + Vector3Cartesian vec_to_pos(nearest_point, pos); + Vector3Cartesian fieldDirection = VectorProd(_lines[i]._line.Direction(), vec_to_pos); + + double B_magnitude = _lines[i]._currentI / (2 * Constants::PI * pos.Dist(nearest_point)); + + ret = ret + B_magnitude * fieldDirection.GetAsUnitVector(); + } + return ret; + } +}; + +void Example_Main() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** MAIN EXAMPLE ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + InfiniteLineCurrent_Field_B EM_field; + EM_field.AddLine(300.0, Line3D(Point3Cartesian(120, 50, -50), Vector3Cartesian(0, 1, 1))); + EM_field.AddLine(200.0, Line3D(Point3Cartesian(-150, 100, 0), Vector3Cartesian(0, 0, 1))); + EM_field.AddLine(200.0, Line3D(Point3Cartesian(20, -100, 00), Vector3Cartesian(1, 0, 0))); + + Visualizer::VisualizeVectorField3DCartesian(EM_field, "EM_field", -300.0, 300.0, 30, -300.0, 300.0, 30, -300.0, 300.0, 30, "..\\..\\results\\EM_field.txt"); +} \ No newline at end of file diff --git a/docs_examples/examples/examples.cpp b/docs_examples/examples/examples.cpp deleted file mode 100644 index ad53336..0000000 --- a/docs_examples/examples/examples.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#ifdef MML_USE_SINGLE_HEADER -#include "MML.h" -#else -#include "MMLBase.h" - -#include "base/Vector.h" -#include "base/Matrix.h" - -#include "core/Function.h" -#include "core/Curves.h" -#include "base/Geometry3D.h" -#endif - -using namespace MML; - -void Main_example(); - -void Example1_kosi_hitac(); -void Example2_collision_calculator(); -void Example3_tensor_of_inertia(); -void Example4_Gravity_field_visualization(); -void Example5_Voyager_travels(); -void Example6_electric_charge_distribution(); - - -void Docs_Examples() -{ - //Main_example(); - - //Example1_kosi_hitac(); - //Example2_collision_calculator(); - Example3_tensor_of_inertia(); - Example4_Gravity_field_visualization(); - //Example5_Voyager_travels(); - //Example6_electric_charge_distribution(); -} \ No newline at end of file diff --git a/docs_examples/examples/main_docs_examples.cpp b/docs_examples/examples/main_docs_examples.cpp new file mode 100644 index 0000000..0cf397d --- /dev/null +++ b/docs_examples/examples/main_docs_examples.cpp @@ -0,0 +1,27 @@ + +void Example_Main(); + +void Example1_kosi_hitac(); +void Example2_collision_calculator(); +void Example3_tensor_of_inertia(); +void Example4_Gravity_field_visualization(); +void Example5_Voyager_travels(); +void Example6_electric_charge_distribution(); +void Example7_Covariant_derivative(); +void Example8_EM_field_investigations(); +void Example9_Thermodynamics_simulator(); + +void Main_Docs_Examples() +{ + //Example_Main(); + + Example1_kosi_hitac(); + Example2_collision_calculator(); + Example3_tensor_of_inertia(); + Example4_Gravity_field_visualization(); + Example5_Voyager_travels(); + Example6_electric_charge_distribution(); + Example7_Covariant_derivative(); + Example8_EM_field_investigations(); + Example9_Thermodynamics_simulator(); +} \ No newline at end of file diff --git a/docs_examples/examples/main_example.cpp b/docs_examples/examples/main_example.cpp deleted file mode 100644 index 689d9a9..0000000 --- a/docs_examples/examples/main_example.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#ifdef MML_USE_SINGLE_HEADER -#include "MML.h" -#else -#include "MMLBase.h" - -#include "base/Geometry3D.h" - -#include "core/Function.h" -#include "core/Derivation.h" -#include "core/Serializer.h" -#include "core/Vizualizer.h" -#endif - - -using namespace MML; - -struct LineCurrent { - double _currentI; - Line3D _line; -}; -class InfiniteLineCurrent_Field_B : public IVectorFunction<3> -{ - std::vector _lines; -public: - void AddLine(double currentI, const Line3D &line) { _lines.push_back({currentI, line}); } - - VectorN operator()(const VectorN &x) const override { - VectorN ret; - Point3Cartesian pos(x[0], x[1], x[2]); - - for(int i=0; i<_lines.size(); i++) { - Point3Cartesian nearest_point = _lines[i]._line.NearestPoint(pos); - Vector3Cartesian vec_to_pos (nearest_point, pos); - Vector3Cartesian fieldDirection = VectorProd(_lines[i]._line.Direction(), vec_to_pos); - - double B_magnitude = _lines[i]._currentI / (2 * Constants::PI * pos.Dist(nearest_point)); - - ret = ret + B_magnitude * fieldDirection.GetAsUnitVector(); - } - return ret; - } -}; - -void Main_example() -{ - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** MAIN EXAMPLE ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; - - InfiniteLineCurrent_Field_B EM_field; - EM_field.AddLine(300.0, Line3D(Point3Cartesian(120, 50, -50), Vector3Cartesian(0, 1, 1))); - EM_field.AddLine(200.0, Line3D(Point3Cartesian(-150, 100, 0), Vector3Cartesian(0, 0, 1))); - EM_field.AddLine(200.0, Line3D(Point3Cartesian(20, -100, 00), Vector3Cartesian(1, 0, 0))); - - Visualizer::VisualizeVectorField3DCartesian(EM_field , "EM_field" , -300.0, 300.0, 30, -300.0, 300.0, 30, -300.0, 300.0, 30, "..\\..\\results\\EM_field.txt"); -} \ No newline at end of file diff --git a/docs_examples/readme_examples/demo2_lin_alg_solvers.cpp b/docs_examples/readme_examples/demo2_lin_alg_solvers.cpp deleted file mode 100644 index 22de1f9..0000000 --- a/docs_examples/readme_examples/demo2_lin_alg_solvers.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#ifdef MML_USE_SINGLE_HEADER -#include "MML.h" -#else -#include "MMLBase.h" - -#include "base/Vector.h" -#include "base/Matrix.h" - -#include "core/LinAlgEqSolvers.h" - -#include "algorithms/EigenSystemSolvers.h" -#endif -#include "../test_data/linear_alg_eq_systems_test_bed.h" - -using namespace MML; - - -void Readme_linear_system_solvers() -{ - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** README - ling.alg. solvers ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; - - Matrix mat{5, 5, { 0.2, 4.1, -2.1, -7.4, 1.6, - 1.6, 1.5, -1.1, 0.7, 5.0, - -3.8, -8.0, 9.6, -5.4, -7.8, - 4.6, -8.2, 8.4, 0.4, 8.0, - -2.6, 2.9, 0.1, -9.6, -2.7 } }; - Vector rhs{1.1, 4.7, 0.1, 9.3, 0.4}; - - LUDecompositionSolver luSolver(mat); - - Vector vecSol = luSolver.Solve(rhs); - - std::cout << "Solution = " << vecSol << std::endl; - std::cout << "Right side = "; rhs.Print(std::cout,8,4); std::cout << std::endl; - std::cout << "Mat * sol = "; (mat * vecSol).Print(std::cout,8,4); std::cout << std::endl; - - Matrix matcopy(mat); - - EigenSolver eigenSolver(matcopy, true, false); - - std::cout << "\nNum real eigenvalues : " << eigenSolver.getNumReal(); - std::cout << "\nNum complex eigenvalues : " << eigenSolver.getNumComplex() << "\n"; - - std::cout << "\nEigenvalues : "; eigenSolver.getEigenvalues().Print(std::cout,10,5); - std::cout << "\nReal : "; eigenSolver.getRealEigenvalues().Print(std::cout,15,10); - std::cout << "\nComplex : "; eigenSolver.getComplexEigenvalues().Print(std::cout,15,10); - - std::cout << "\n"; - -/* OUTPUT - Solution = [ -5.568500786, -5.944693206, -5.007620645, -1.393638021, 3.598760994] - Right side = [ 1.1, 4.7, 0.1, 9.3, 0.4] - Mat * sol = [ 1.1, 4.7, 0.1, 9.3, 0.4] - - Num real eigenvalues : 3 - Num complex eigenvalues : 2 - - Eigenvalues : [(12.974,0), (0.99944,0), (-0.033184,0), (-2.4701,12.994), (-2.4701,-12.994)] - Real : [ 12.97392154, 0.9994371124, -0.03318390189] - Complex : [(-2.470087376,12.99433106), (-2.470087376,-12.99433106)] -*/ -} \ No newline at end of file diff --git a/docs_examples/readme_examples/demo4_working_with_functions.cpp b/docs_examples/readme_examples/demo4_working_with_functions.cpp deleted file mode 100644 index 032b860..0000000 --- a/docs_examples/readme_examples/demo4_working_with_functions.cpp +++ /dev/null @@ -1,254 +0,0 @@ -#ifdef MML_USE_SINGLE_HEADER -#include "MML.h" -#else -#include "MMLBase.h" - -#include "utilities/DataContainers.h" - -#include "core/Function.h" -#include "core/FunctionHelpers.h" -#include "core/Derivation.h" -#include "core/Integration.h" -#endif - - -using namespace MML; - -void Readme_deriving_functions() -{ - RealFunction f1{[](Real x) { return (Real) (sin(x)*(1.0 + 0.5*x*x)); } }; - - // numerical derivation of real function (available orders - 1, 2, 4, 6, 8) - double der_f1 = Derivation::NDer1(f1, 0.5); - double der_f4 = Derivation::NDer2(f1, 0.5, 1e-6); // setting explicit step size - Real err; - double der_f6 = Derivation::NDer6(f1, 0.5, &err); // if we need error estimate - // we can use default Derive routine (set to NDer4), but it requires error estimate - double num_der4 = Derivation::Derive(f1, 0.5, nullptr); - - // second and third derivatives - double sec_der_f1 = Derivation::NSecDer2(f1, 0.5); - double third_der_f1 = Derivation::NThirdDer2(f1, 0.5); - - // creating new function that is derivation of existing function - RealFuncDerived4 f1_der4(f1); // 4th order derivation - - // scalar and vector functions - ScalarFunction<3> f2Scal([](const VectorN &x) { return (Real) (1.0 / pow(x.NormL2(), 2)); }); - VectorFunction<3> f3Vec([](const VectorN &x) { return VectorN{0, x[0] * x[1], 0}; }); - VectorN der_point{1.0, 1.0, 1.0}; - - double der_f2 = Derivation::NDer1Partial(f2Scal, 1, der_point); - VectorN der_f2_all = Derivation::NDer1PartialByAll(f2Scal, der_point); - - double der_f3 = Derivation::NDer1Partial(f3Vec, 1, 1, der_point); - VectorN der_f3_by1 = Derivation::NDer2PartialByAll(f3Vec, 1, der_point); - MatrixNM der_f3_by_all = Derivation::NDer4PartialAllByAll(f3Vec, der_point); -} - -void Readme_Derivation_precision() -{ - // our test function - RealFunction f{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; - // and its exact derivation - RealFunction f_der{ [](Real x) { return (Real)(cos(x) * (1.0 + 0.5 * x * x) + sin(x) * x); } }; - - double x1 = -7.0, x2 = 7.0; - double err_sum1 = 0.0, err_sum2 = 0.0, err_sum4 = 0.0, err_sum6 = 0.0, err_sum8 = 0.0; - int numPntForEval = 20; - - std::cout << "\nAVERAGE DERIVATION ERROR FOR DIFFERENT ORDERS" << std::endl; - - TablePrinter print_data("x", 8, 3, - { "Exact der.", - "Nder1", "Nder1 err.", "Nder2", "Nder2 err.", "Nder4", "Nder4 err.", "Nder6", "Nder6 err.", "Nder8", "Nder8 err." - }, - { {12,7,'F'}, - {13,7,'F'}, {15,6,'S'}, {13,7,'F'}, {15,6,'S'}, {13,7,'F'}, {15,6,'S'}, {13,7,'F'}, {15,6,'S'}, {13,7,'F'}, {15,6,'S'} - } - ); - - for (int i = 0; i < numPntForEval; i++) { - double x = x1 + (x2 - x1) * i / (numPntForEval - 1); - - double exact_der = f_der(x); - - double num_der1 = MML::Derivation::NDer1(f, x); - double num_der2 = MML::Derivation::NDer2(f, x); - double num_der4 = MML::Derivation::NDer4(f, x); - double num_der6 = MML::Derivation::NDer6(f, x); - double num_der8 = MML::Derivation::NDer8(f, x); - - double err1 = num_der1 - exact_der; - double err2 = num_der2 - exact_der; - double err4 = num_der4 - exact_der; - double err6 = num_der6 - exact_der; - double err8 = num_der8 - exact_der; - - print_data.addRow(x, { exact_der, num_der1, err1, num_der2, err2, num_der4, err4, num_der6, err6, num_der8, err8 }); - - err_sum1 += std::abs(err1); - err_sum2 += std::abs(err2); - err_sum4 += std::abs(err4); - err_sum6 += std::abs(err6); - err_sum8 += std::abs(err8); - } - print_data.Print(); - - std::cout << "---------------------------------------------------------------------------------------------------------------------------------------------------------------------------" << std::endl; - std::cout << "Total abs error = " << std::scientific << err_sum1 << " " - << err_sum2 << " " - << err_sum4 << " " - << err_sum6 << " " - << err_sum8 << std::endl; - - /* OUTPUT - AVERAGE DERIVATION ERROR FOR DIFFERENT ORDERS - x Exact der. Nder1 Nder1 err. Nder2 Nder2 err. Nder4 Nder4 err. Nder6 Nder6 err. Nder8 Nder8 err. - -7.000 23.8234137 23.8234137 5.288187e-08 23.8234137 -8.782806e-10 23.8234137 -1.159250e-11 23.8234137 3.481659e-13 23.8234137 -8.881784e-14 - -6.263 20.4840131 20.4840129 -1.939339e-07 20.4840131 -3.526814e-10 20.4840131 -8.846257e-12 20.4840131 4.369838e-13 20.4840131 1.634248e-13 - -5.526 8.0335341 8.0335339 -2.569286e-07 8.0335341 2.451923e-10 8.0335341 -2.472689e-12 8.0335341 3.339551e-13 8.0335341 2.540190e-13 - -4.789 -3.8149928 -3.8149929 -1.382276e-07 -3.8149928 2.549019e-10 -3.8149928 3.900436e-12 -3.8149928 -4.605205e-13 -3.8149928 2.198242e-13 - -4.053 -8.8483626 -8.8483626 -6.771076e-09 -8.8483626 1.632490e-10 -8.8483626 4.400036e-12 -8.8483626 1.030287e-13 -8.8483626 1.598721e-14 - -3.316 -6.9735845 -6.9735844 8.421828e-08 -6.9735845 1.058416e-10 -6.9735845 -1.277201e-12 -6.9735845 -2.193801e-13 -6.9735845 -1.927347e-13 - -2.579 -2.2830219 -2.2830218 9.390760e-08 -2.2830219 -4.583889e-11 -2.2830219 -1.086242e-12 -2.2830219 -9.459100e-14 -2.2830219 -2.216005e-13 - -1.842 1.0520333 1.0520333 4.414189e-08 1.0520333 -8.739320e-11 1.0520333 -5.551115e-13 1.0520333 -1.398881e-13 1.0520333 -1.421085e-13 - -1.105 1.7107321 1.7107321 -6.558459e-09 1.7107321 -5.454659e-11 1.7107321 -3.994582e-13 1.7107321 5.573320e-14 1.7107321 3.264056e-14 - -0.368 1.1288943 1.1288943 -8.092415e-09 1.1288943 1.287215e-11 1.1288943 5.462297e-13 1.1288943 6.439294e-15 1.1288943 1.654232e-13 - 0.368 1.1288943 1.1288944 1.053404e-08 1.1288943 1.287215e-11 1.1288943 5.462297e-13 1.1288943 6.439294e-15 1.1288943 1.654232e-13 - 1.105 1.7107321 1.7107321 1.579328e-08 1.7107321 -4.183387e-11 1.7107321 -3.990142e-13 1.7107321 1.276756e-13 1.7107321 3.730349e-14 - 1.842 1.0520333 1.0520332 -3.036391e-08 1.0520333 -8.739098e-11 1.0520333 -1.045830e-12 1.0520333 -2.109424e-14 1.0520333 -1.376677e-13 - 2.579 -2.2830219 -2.2830220 -7.000517e-08 -2.2830219 5.014655e-12 -2.2830219 -8.353318e-13 -2.2830219 -6.616929e-14 -2.2830219 -2.358114e-13 - 3.316 -6.9735845 -6.9735846 -8.714507e-08 -6.9735845 1.058416e-10 -6.9735845 -1.277201e-12 -6.9735845 -2.193801e-13 -6.9735845 -1.927347e-13 - 4.053 -8.8483626 -8.8483625 8.263589e-08 -8.8483626 1.632490e-10 -8.8483626 4.400036e-12 -8.8483626 1.030287e-13 -8.8483626 1.598721e-14 - 4.789 -3.8149928 -3.8149926 1.597957e-07 -3.8149928 2.549019e-10 -3.8149928 3.900436e-12 -3.8149928 -4.605205e-13 -3.8149928 2.198242e-13 - 5.526 8.0335341 8.0335344 2.795132e-07 8.0335341 4.177991e-11 8.0335341 -3.844036e-12 8.0335341 2.238210e-13 8.0335341 3.073097e-13 - 6.263 20.4840131 20.4840133 1.934963e-07 20.4840131 -3.526814e-10 20.4840131 -8.846257e-12 20.4840131 4.369838e-13 20.4840131 1.634248e-13 - 7.000 23.8234137 23.8234136 -6.632742e-08 23.8234137 -8.782806e-10 23.8234137 -1.159250e-11 23.8234137 3.481659e-13 23.8234137 -8.881784e-14 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -Total abs error = 1.881272e-06 4.144644e-09 7.176304e-11 4.211964e-12 3.060885e-12 -*/ -} - -void Readme_integrating_functions() -{ - RealFunction f1{[](Real x) { return (Real) (sin(x)*(1.0 + 0.5*x*x)); } }; - - double a = 0.0; - double b = 1.0; - double int_trap = IntegrateTrap(f1,a,b); - double int_simp = IntegrateSimpson(f1,a,b); - double int_romb = IntegrateRomberg(f1,a,b); - // we can use default Integrate routine (set to IntegrateSimpson), requires precision - double int_def = Integrate(f1, a, b, 1e-04); - - // 2D integration of constant scalar 2D function (ie. we'll get the area of the surface) - ScalarFunction<2> f2([](const VectorN &x) { return Real{1}; }); - - // we integrate over circle with radius 2 - Real val = IntegrateSurface(f2, IntegrationMethod::GAUSS10, - -2, 2, // x range - [](Real x) { return -sqrt(4 - x*x);}, // y range lower limit - [](Real x) { return sqrt(4 - x*x);}); // y range upper limit - - std::cout << "Calc. area = " << val << ", exact value: 4 * PI = " << 4 * Constants::PI << std::endl; - - // 3D integration of constant scalar 3D function (ie. we'll get the volume of the solid) - ScalarFunction<3> f3([](const VectorN &x) { return Real{1}; }); - - // integration over sphere of radius 1 - Real vol = IntegrateVolume( f3, - -1, 1, - [](Real x) { return -sqrt(1 - x*x);}, - [](Real x) { return sqrt(1 - x*x);}, - [](Real x, Real y) { return -sqrt(1 - x*x - y*y);}, - [](Real x, Real y) { return sqrt(1 - x*x - y*y);}); - - std::cout << "Calc. vol. = " << vol << ", exact value: 4/3 * PI = " << 4.0/3.0 * Constants::PI << std::endl; - -/* OUTPUT - Calc. area = 12.57211164, exact value: 4 * PI = 12.56637061 - Calc. vol. = 4.190703882, exact value: 4/3 * PI = 4.188790205 -*/ -} - -void Readme_Integration_precision() -{ - // our test function - RealFunction f{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; - // and its exact interval - RealFunction f_int{ [](Real x) { return (Real)(x * (-0.5 * x * cos(x) + sin(x))); } }; - - double x1 = 0.0, x2 = 10.0; - double err_sum1 = 0.0, err_sum2 = 0.0, err_sum3 = 0.0; - const int numIntervals = 10; - - std::cout << "\nAVERAGE INTEGRATION ERROR FOR DIFFERENT INTEGRATORS" << std::endl; - std::cout << " Interval Exact int. Trap Trap err. Simpson Simpson err. Romberg Romberg err. " << std::endl; - std::cout << "--------------------------------------------------------------------------------------------------------------------------------------------" << std::endl; - - for (int i = 1; i < numIntervals; i++) { - double x = x1 + (x2 - x1) * i / (numIntervals - 1); - - double integral = f_int(x) - f_int(x1); - - double int_trap = MML::IntegrateTrap(f, x1, x, 1e-3); - double int_simp = MML::IntegrateSimpson(f, x1, x, 1e-3); - double int_romb = MML::IntegrateRomberg(f, x1, x); - - double err1 = int_trap - integral; - double err2 = int_simp - integral; - double err3 = int_romb - integral; - - std::cout << "[" << std::fixed - << std::setw(6) << std::setprecision(3) << x1 << ", " - << std::setw(6) << std::setprecision(3) << x << "] " - << std::setw(13) << std::setprecision(8) << integral << " " - << std::setw(13) << std::setprecision(8) << int_trap << " " - << std::scientific << std::setw(15) << err1 << " " << std::fixed - << std::setw(13) << std::setprecision(8) << int_simp << " " - << std::scientific << std::setw(15) << err2 << " " << std::fixed - << std::setw(13) << std::setprecision(8) << int_romb << " " - << std::scientific << std::setw(15) << err3 << " " << std::fixed - << std::endl; - - err_sum1 += std::abs(err1); - err_sum2 += std::abs(err2); - err_sum3 += std::abs(err3); - } - - std::cout << "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" << std::endl; - std::cout << "Total abs error = " - << std::scientific << err_sum1 << " " - << err_sum2 << " " - << err_sum3 << std::endl; - -/* OUTPUT -AVERAGE INTEGRATION ERROR FOR DIFFERENT INTEGRATORS - Interval Exact int. Trap Trap err. Simpson Simpson err. Romberg Romberg err. ------------------------------------------------------------------------------------------------------------------------------------- -[ 0.000, 1.111] 0.72190120 0.72191911 1.79168330e-05 0.72190120 -2.20768637e-09 0.72190120 1.74171788e-12 -[ 0.000, 2.222] 3.26424438 3.26411014 -1.34238455e-04 3.26424432 -5.66896650e-08 3.26424438 5.37498046e-09 -[ 0.000, 3.333] 4.81851793 4.81806182 -4.56106873e-04 4.81851807 1.38713693e-07 4.81851833 4.00889971e-07 -[ 0.000, 4.444] -1.67104024 -1.67124534 -2.05095264e-04 -1.67103857 1.67321678e-06 -1.67104024 4.24239088e-10 -[ 0.000, 5.556] -15.21897376 -15.21421664 4.75711807e-03 -15.21897406 -2.96904277e-07 -15.21897377 -9.82410597e-09 -[ 0.000, 6.667] -18.11382964 -18.10862331 5.20633435e-03 -18.11384814 -1.84979419e-05 -18.11382939 2.51947842e-07 -[ 0.000, 7.778] 5.45250452 5.45320716 7.02639753e-04 5.45247119 -3.33281723e-05 5.45250452 1.91555927e-09 -[ 0.000, 8.889] 38.50671730 38.49414238 -1.25749240e-02 38.50675166 3.43570339e-05 38.50673638 1.90788434e-05 -[ 0.000, 10.000] 36.51336534 36.50710489 -6.26045832e-03 36.51354664 1.81295066e-04 36.51339597 3.06248120e-05 ------------------------------------------------------------------------------------------------------------------------------------- -Total abs error = 3.03148319e-02 2.69645946e-04 5.03740338e-05 -*/ -} - -void Readme_working_with_functions() -{ - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** README - working with functions ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; - - Readme_deriving_functions(); - Readme_Derivation_precision(); - Readme_integrating_functions(); - Readme_Integration_precision(); -} \ No newline at end of file diff --git a/docs_examples/readme_examples/main_readme_examples.cpp b/docs_examples/readme_examples/main_readme_examples.cpp new file mode 100644 index 0000000..ff95e1e --- /dev/null +++ b/docs_examples/readme_examples/main_readme_examples.cpp @@ -0,0 +1,58 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "base/Vector.h" +#include "base/Matrix.h" + +#include "core/Function.h" +#include "core/Curves.h" +#include "base/Geometry3D.h" +#endif + +using namespace MML; + +void Readme_vectors_matrices(); +void Readme_linear_system_solvers(); +void Readme_defining_functions(); +void Readme_working_with_functions(); +void Readme_ode_solvers(); +void Readme_vector_field_operations(); +void Readme_parametric_curves(); +void Readme_visualizators(); +void Readme_function_analyzer(); + +void Readme_coordinate_transformations() +{ +} +void Readme_tensors() +{ +} +void Readme_path_integration() +{ +} +void Readme_geometry() +{ +} + +void Main_Readme_Examples() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** README EXAMPLES ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + Readme_vectors_matrices(); + Readme_linear_system_solvers(); + Readme_defining_functions(); + Readme_working_with_functions(); + Readme_ode_solvers(); + // Readme_vector_field_operations(); + // Readme_visualizators(); + Readme_function_analyzer(); + + //Readme_coordinate_transformations(); + //Readme_tensors(); + //Readme_path_integration(); + //Readme_geometry(); +} \ No newline at end of file diff --git a/docs_examples/readme_examples/demo1_vectors_matrices.cpp b/docs_examples/readme_examples/readme1_vectors_matrices.cpp similarity index 100% rename from docs_examples/readme_examples/demo1_vectors_matrices.cpp rename to docs_examples/readme_examples/readme1_vectors_matrices.cpp diff --git a/docs_examples/readme_examples/readme2_lin_alg_solvers.cpp b/docs_examples/readme_examples/readme2_lin_alg_solvers.cpp new file mode 100644 index 0000000..b3881aa --- /dev/null +++ b/docs_examples/readme_examples/readme2_lin_alg_solvers.cpp @@ -0,0 +1,64 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "base/Vector.h" +#include "base/Matrix.h" + +#include "core/LinAlgEqSolvers.h" + +#include "algorithms/EigenSystemSolvers.h" +#endif +#include "../test_data/linear_alg_eq_systems_test_bed.h" + +using namespace MML; + + +void Readme_linear_system_solvers() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** README - ling.alg. solvers ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + Matrix mat{ 5, 5, { 0.2, 4.1, -2.1, -7.4, 1.6, + 1.6, 1.5, -1.1, 0.7, 5.0, + -3.8, -8.0, 9.6, -5.4, -7.8, + 4.6, -8.2, 8.4, 0.4, 8.0, + -2.6, 2.9, 0.1, -9.6, -2.7 } }; + Vector rhs{ 1.1, 4.7, 0.1, 9.3, 0.4 }; + + LUDecompositionSolver luSolver(mat); + + Vector vecSol = luSolver.Solve(rhs); + + std::cout << "Solution = " << vecSol << std::endl; + std::cout << "Right side = "; rhs.Print(std::cout, 8, 4); std::cout << std::endl; + std::cout << "Mat * sol = "; (mat * vecSol).Print(std::cout, 8, 4); std::cout << std::endl; + + Matrix matcopy(mat); + + EigenSolver eigenSolver(matcopy, true, false); + + std::cout << "\nNum real eigenvalues : " << eigenSolver.getNumReal(); + std::cout << "\nNum complex eigenvalues : " << eigenSolver.getNumComplex() << "\n"; + + std::cout << "\nEigenvalues : "; eigenSolver.getEigenvalues().Print(std::cout, 10, 5); + std::cout << "\nReal : "; eigenSolver.getRealEigenvalues().Print(std::cout, 15, 10); + std::cout << "\nComplex : "; eigenSolver.getComplexEigenvalues().Print(std::cout, 15, 10); + + std::cout << "\n"; + + /* OUTPUT + Solution = [ -5.568500786, -5.944693206, -5.007620645, -1.393638021, 3.598760994] + Right side = [ 1.1, 4.7, 0.1, 9.3, 0.4] + Mat * sol = [ 1.1, 4.7, 0.1, 9.3, 0.4] + + Num real eigenvalues : 3 + Num complex eigenvalues : 2 + + Eigenvalues : [(12.974,0), (0.99944,0), (-0.033184,0), (-2.4701,12.994), (-2.4701,-12.994)] + Real : [ 12.97392154, 0.9994371124, -0.03318390189] + Complex : [(-2.470087376,12.99433106), (-2.470087376,-12.99433106)] + */ +} \ No newline at end of file diff --git a/docs_examples/readme_examples/demo3_defining_functions.cpp b/docs_examples/readme_examples/readme3_defining_functions.cpp similarity index 90% rename from docs_examples/readme_examples/demo3_defining_functions.cpp rename to docs_examples/readme_examples/readme3_defining_functions.cpp index 5470874..1196f97 100644 --- a/docs_examples/readme_examples/demo3_defining_functions.cpp +++ b/docs_examples/readme_examples/readme3_defining_functions.cpp @@ -118,11 +118,11 @@ void Readme_defining_functions_case_5_usage() BaryRatInterpRealFunc f_baryrat(x_val, y_val, 3); // situation - we need different number of points for different functions - Serializer::SaveRealFuncEquallySpacedDetailed(test_func, x1, x2, 100, "..\\..\\results\\readme_interp_test_func.txt"); - Serializer::SaveRealFuncEquallySpacedDetailed(f_linear, x1, x2, 500, "..\\..\\results\\readme_interp_linear_5_pnt.txt"); - Serializer::SaveRealFuncEquallySpacedDetailed(f_polynom, x1, x2, 100, "..\\..\\results\\readme_interp_polynom_5_pnt.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed(test_func, "readme_interp_test_func", x1, x2, 100, "..\\..\\results\\readme_interp_test_func.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed(f_linear, "readme_interp_linear_5_pnt", x1, x2, 500, "..\\..\\results\\readme_interp_linear_5_pnt.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed(f_polynom, "readme_interp_polynom_5_pnt", x1, x2, 100, "..\\..\\results\\readme_interp_polynom_5_pnt.txt"); Serializer::SaveRealFuncEquallySpacedDetailed, (x1, x2, 100, "..\\..\\results\\readme_interp_spline_5_pnt.txt"); - Serializer::SaveRealFuncEquallySpacedDetailed(f_baryrat, x1, x2, 100, "..\\..\\results\\readme_interp_baryrat_5_pnt.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed(f_baryrat, "readme_interp_baryrat_5_pnt", x1, x2, 100, "..\\..\\results\\readme_interp_baryrat_5_pnt.txt"); const char *cmd = "..\\..\\tools\\visualizers\\real_function_visualizer\\MML_RealFunctionVisualizer.exe" " ..\\..\\results\\readme_interp_test_func.txt" diff --git a/docs_examples/readme_examples/readme4_working_with_functions.cpp b/docs_examples/readme_examples/readme4_working_with_functions.cpp new file mode 100644 index 0000000..c503c84 --- /dev/null +++ b/docs_examples/readme_examples/readme4_working_with_functions.cpp @@ -0,0 +1,261 @@ +#ifdef MML_USE_SINGLE_HEADER +#include "MML.h" +#else +#include "MMLBase.h" + +#include "core/Function.h" +#include "core/FunctionHelpers.h" +#include "core/Derivation.h" +#include "core/Integration.h" + +#include "core/ConsolePrinter.h" +#endif + + +using namespace MML; + +void Readme_deriving_functions() +{ + RealFunction f1{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; + + // numerical derivation of real function (available orders - 1, 2, 4, 6, 8) + double der_f1 = Derivation::NDer1(f1, 0.5); + double der_f4 = Derivation::NDer2(f1, 0.5, 1e-6); // setting explicit step size + Real err; + double der_f6 = Derivation::NDer6(f1, 0.5, &err); // if we need error estimate + // we can use default Derive routine (set to NDer4), but it requires error estimate + double num_der4 = Derivation::Derive(f1, 0.5, nullptr); + + // second and third derivatives + double sec_der_f1 = Derivation::NSecDer2(f1, 0.5); + double third_der_f1 = Derivation::NThirdDer2(f1, 0.5); + + // creating new function that is derivation of existing function + RealFuncDerived4 f1_der4(f1); // 4th order derivation + + // scalar and vector functions + ScalarFunction<3> f2Scal([](const VectorN& x) { return (Real)(1.0 / pow(x.NormL2(), 2)); }); + VectorFunction<3> f3Vec([](const VectorN& x) { return VectorN{0, x[0] * x[1], 0}; }); + VectorN der_point{ 1.0, 1.0, 1.0 }; + + double der_f2 = Derivation::NDer1Partial(f2Scal, 1, der_point); + VectorN der_f2_all = Derivation::NDer1PartialByAll(f2Scal, der_point); + + double der_f3 = Derivation::NDer1Partial(f3Vec, 1, 1, der_point); + VectorN der_f3_by1 = Derivation::NDer2PartialByAll(f3Vec, 1, der_point); + MatrixNM der_f3_by_all = Derivation::NDer4PartialAllByAll(f3Vec, der_point); +} + +void Readme_Derivation_precision() +{ + // our test function + RealFunction f{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; + // and its exact derivation + RealFunction f_der{ [](Real x) { return (Real)(cos(x) * (1.0 + 0.5 * x * x) + sin(x) * x); } }; + + double x1 = -7.0, x2 = 7.0; + double err_sum1 = 0.0, err_sum2 = 0.0, err_sum4 = 0.0, err_sum6 = 0.0, err_sum8 = 0.0; + int numPntForEval = 20; + + std::cout << "\nAVERAGE DERIVATION ERROR FOR DIFFERENT ORDERS" << std::endl; + + TablePrinter print_data("x", 8, 3, + { "Exact der.", + "Nder1", "Nder1 err.", "Nder2", "Nder2 err.", "Nder4", "Nder4 err.", "Nder6", "Nder6 err.", "Nder8", "Nder8 err." + }, + { {12,7,'F'}, + {13,7,'F'}, {15,6,'S'}, {13,7,'F'}, {15,6,'S'}, {13,7,'F'}, {15,6,'S'}, {13,7,'F'}, {15,6,'S'}, {13,7,'F'}, {15,6,'S'} + } + ); + + for (int i = 0; i < numPntForEval; i++) { + double x = x1 + (x2 - x1) * i / (numPntForEval - 1); + + double exact_der = f_der(x); + + double num_der1 = MML::Derivation::NDer1(f, x); + double num_der2 = MML::Derivation::NDer2(f, x); + double num_der4 = MML::Derivation::NDer4(f, x); + double num_der6 = MML::Derivation::NDer6(f, x); + double num_der8 = MML::Derivation::NDer8(f, x); + + double err1 = num_der1 - exact_der; + double err2 = num_der2 - exact_der; + double err4 = num_der4 - exact_der; + double err6 = num_der6 - exact_der; + double err8 = num_der8 - exact_der; + + print_data.addRow(x, { exact_der, num_der1, err1, num_der2, err2, num_der4, err4, num_der6, err6, num_der8, err8 }); + + err_sum1 += std::abs(err1); + err_sum2 += std::abs(err2); + err_sum4 += std::abs(err4); + err_sum6 += std::abs(err6); + err_sum8 += std::abs(err8); + } + print_data.Print(); + + std::cout << "---------------------------------------------------------------------------------------------------------------------------------------------------------------------------" << std::endl; + std::cout << "Total abs error = " << std::scientific << err_sum1 << " " + << err_sum2 << " " + << err_sum4 << " " + << err_sum6 << " " + << err_sum8 << std::endl; + + /* OUTPUT + AVERAGE DERIVATION ERROR FOR DIFFERENT ORDERS + x Exact der. Nder1 Nder1 err. Nder2 Nder2 err. Nder4 Nder4 err. Nder6 Nder6 err. Nder8 Nder8 err. + -7.000 23.8234137 23.8234137 5.288187e-08 23.8234137 -8.782806e-10 23.8234137 -1.159250e-11 23.8234137 3.481659e-13 23.8234137 -8.881784e-14 + -6.263 20.4840131 20.4840129 -1.939339e-07 20.4840131 -3.526814e-10 20.4840131 -8.846257e-12 20.4840131 4.369838e-13 20.4840131 1.634248e-13 + -5.526 8.0335341 8.0335339 -2.569286e-07 8.0335341 2.451923e-10 8.0335341 -2.472689e-12 8.0335341 3.339551e-13 8.0335341 2.540190e-13 + -4.789 -3.8149928 -3.8149929 -1.382276e-07 -3.8149928 2.549019e-10 -3.8149928 3.900436e-12 -3.8149928 -4.605205e-13 -3.8149928 2.198242e-13 + -4.053 -8.8483626 -8.8483626 -6.771076e-09 -8.8483626 1.632490e-10 -8.8483626 4.400036e-12 -8.8483626 1.030287e-13 -8.8483626 1.598721e-14 + -3.316 -6.9735845 -6.9735844 8.421828e-08 -6.9735845 1.058416e-10 -6.9735845 -1.277201e-12 -6.9735845 -2.193801e-13 -6.9735845 -1.927347e-13 + -2.579 -2.2830219 -2.2830218 9.390760e-08 -2.2830219 -4.583889e-11 -2.2830219 -1.086242e-12 -2.2830219 -9.459100e-14 -2.2830219 -2.216005e-13 + -1.842 1.0520333 1.0520333 4.414189e-08 1.0520333 -8.739320e-11 1.0520333 -5.551115e-13 1.0520333 -1.398881e-13 1.0520333 -1.421085e-13 + -1.105 1.7107321 1.7107321 -6.558459e-09 1.7107321 -5.454659e-11 1.7107321 -3.994582e-13 1.7107321 5.573320e-14 1.7107321 3.264056e-14 + -0.368 1.1288943 1.1288943 -8.092415e-09 1.1288943 1.287215e-11 1.1288943 5.462297e-13 1.1288943 6.439294e-15 1.1288943 1.654232e-13 + 0.368 1.1288943 1.1288944 1.053404e-08 1.1288943 1.287215e-11 1.1288943 5.462297e-13 1.1288943 6.439294e-15 1.1288943 1.654232e-13 + 1.105 1.7107321 1.7107321 1.579328e-08 1.7107321 -4.183387e-11 1.7107321 -3.990142e-13 1.7107321 1.276756e-13 1.7107321 3.730349e-14 + 1.842 1.0520333 1.0520332 -3.036391e-08 1.0520333 -8.739098e-11 1.0520333 -1.045830e-12 1.0520333 -2.109424e-14 1.0520333 -1.376677e-13 + 2.579 -2.2830219 -2.2830220 -7.000517e-08 -2.2830219 5.014655e-12 -2.2830219 -8.353318e-13 -2.2830219 -6.616929e-14 -2.2830219 -2.358114e-13 + 3.316 -6.9735845 -6.9735846 -8.714507e-08 -6.9735845 1.058416e-10 -6.9735845 -1.277201e-12 -6.9735845 -2.193801e-13 -6.9735845 -1.927347e-13 + 4.053 -8.8483626 -8.8483625 8.263589e-08 -8.8483626 1.632490e-10 -8.8483626 4.400036e-12 -8.8483626 1.030287e-13 -8.8483626 1.598721e-14 + 4.789 -3.8149928 -3.8149926 1.597957e-07 -3.8149928 2.549019e-10 -3.8149928 3.900436e-12 -3.8149928 -4.605205e-13 -3.8149928 2.198242e-13 + 5.526 8.0335341 8.0335344 2.795132e-07 8.0335341 4.177991e-11 8.0335341 -3.844036e-12 8.0335341 2.238210e-13 8.0335341 3.073097e-13 + 6.263 20.4840131 20.4840133 1.934963e-07 20.4840131 -3.526814e-10 20.4840131 -8.846257e-12 20.4840131 4.369838e-13 20.4840131 1.634248e-13 + 7.000 23.8234137 23.8234136 -6.632742e-08 23.8234137 -8.782806e-10 23.8234137 -1.159250e-11 23.8234137 3.481659e-13 23.8234137 -8.881784e-14 +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +Total abs error = 1.881272e-06 4.144644e-09 7.176304e-11 4.211964e-12 3.060885e-12 +*/ +} + +void Readme_integrating_functions() +{ + RealFunction f1{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; + RealFunction f1_integral{ [](Real x) { return (Real)(x * (-0.5 * x * cos(x) + sin(x))); } }; + + double a = 0.0; + double b = 10.0; + double int_trap = IntegrateTrap(f1, a, b); + double int_simp = IntegrateSimpson(f1, a, b); + double int_romb = IntegrateRomberg(f1, a, b); + // we can use default Integrate routine (set to IntegrateSimpson), requires precision + double int_def = Integrate(f1, a, b, 1e-04); + + std::cout << "Integrating function f1 from " << a << " to " << b << std::endl; + std::cout << "Exact integral = " << f1_integral(b) - f1_integral(a) << std::endl; + std::cout << "IntegrateTrap = " << int_trap << std::endl; + std::cout << "IntegrateSimpson = " << int_simp << std::endl; + std::cout << "IntegrateRomberg = " << int_romb << std::endl; + + // 2D integration of constant scalar 2D function (ie. we'll get the area of the surface) + ScalarFunction<2> f2([](const VectorN& x) { return Real{ 1 }; }); + + // we integrate over circle with radius 2 + Real val = IntegrateSurface(f2, IntegrationMethod::GAUSS10, + -2, 2, // x range + [](Real x) { return -sqrt(4 - x * x); }, // y range lower limit + [](Real x) { return sqrt(4 - x * x); }); // y range upper limit + + std::cout << "Calc. area = " << val << ", exact value: 4 * PI = " << 4 * Constants::PI << std::endl; + + // 3D integration of constant scalar 3D function (ie. we'll get the volume of the solid) + ScalarFunction<3> f3([](const VectorN& x) { return Real{ 1 }; }); + + // integration over sphere of radius 1 + Real vol = IntegrateVolume(f3, + -1, 1, + [](Real x) { return -sqrt(1 - x * x); }, + [](Real x) { return sqrt(1 - x * x); }, + [](Real x, Real y) { return -sqrt(1 - x * x - y * y); }, + [](Real x, Real y) { return sqrt(1 - x * x - y * y); }); + + std::cout << "Calc. vol. = " << vol << ", exact value: 4/3 * PI = " << 4.0 / 3.0 * Constants::PI << std::endl; + + /* OUTPUT + Calc. area = 12.57211164, exact value: 4 * PI = 12.56637061 + Calc. vol. = 4.190703882, exact value: 4/3 * PI = 4.188790205 + */ +} + +void Readme_Integration_precision() +{ + // our test function + RealFunction f{ [](Real x) { return (Real)(sin(x) * (1.0 + 0.5 * x * x)); } }; + // and its exact interval + RealFunction f_int{ [](Real x) { return (Real)(x * (-0.5 * x * cos(x) + sin(x))); } }; + + double x1 = 0.0, x2 = 10.0; + double err_sum1 = 0.0, err_sum2 = 0.0, err_sum3 = 0.0; + const int numIntervals = 10; + + std::cout << "\nAVERAGE INTEGRATION ERROR FOR DIFFERENT INTEGRATORS" << std::endl; + std::cout << " Interval Exact int. Trap Trap err. Simpson Simpson err. Romberg Romberg err. " << std::endl; + std::cout << "--------------------------------------------------------------------------------------------------------------------------------------------" << std::endl; + + for (int i = 1; i < numIntervals; i++) { + double x = x1 + (x2 - x1) * i / (numIntervals - 1); + + double integral = f_int(x) - f_int(x1); + + double int_trap = MML::IntegrateTrap(f, x1, x, 1e-3); + double int_simp = MML::IntegrateSimpson(f, x1, x, 1e-3); + double int_romb = MML::IntegrateRomberg(f, x1, x); + + double err1 = int_trap - integral; + double err2 = int_simp - integral; + double err3 = int_romb - integral; + + std::cout << "[" << std::fixed + << std::setw(6) << std::setprecision(3) << x1 << ", " + << std::setw(6) << std::setprecision(3) << x << "] " + << std::setw(13) << std::setprecision(8) << integral << " " + << std::setw(13) << std::setprecision(8) << int_trap << " " + << std::scientific << std::setw(15) << err1 << " " << std::fixed + << std::setw(13) << std::setprecision(8) << int_simp << " " + << std::scientific << std::setw(15) << err2 << " " << std::fixed + << std::setw(13) << std::setprecision(8) << int_romb << " " + << std::scientific << std::setw(15) << err3 << " " << std::fixed + << std::endl; + + err_sum1 += std::abs(err1); + err_sum2 += std::abs(err2); + err_sum3 += std::abs(err3); + } + + std::cout << "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" << std::endl; + std::cout << "Total abs error = " + << std::scientific << err_sum1 << " " + << err_sum2 << " " + << err_sum3 << std::endl; + + /* OUTPUT + AVERAGE INTEGRATION ERROR FOR DIFFERENT INTEGRATORS + Interval Exact int. Trap Trap err. Simpson Simpson err. Romberg Romberg err. + ------------------------------------------------------------------------------------------------------------------------------------ + [ 0.000, 1.111] 0.72190120 0.72191911 1.79168330e-05 0.72190120 -2.20768637e-09 0.72190120 1.74171788e-12 + [ 0.000, 2.222] 3.26424438 3.26411014 -1.34238455e-04 3.26424432 -5.66896650e-08 3.26424438 5.37498046e-09 + [ 0.000, 3.333] 4.81851793 4.81806182 -4.56106873e-04 4.81851807 1.38713693e-07 4.81851833 4.00889971e-07 + [ 0.000, 4.444] -1.67104024 -1.67124534 -2.05095264e-04 -1.67103857 1.67321678e-06 -1.67104024 4.24239088e-10 + [ 0.000, 5.556] -15.21897376 -15.21421664 4.75711807e-03 -15.21897406 -2.96904277e-07 -15.21897377 -9.82410597e-09 + [ 0.000, 6.667] -18.11382964 -18.10862331 5.20633435e-03 -18.11384814 -1.84979419e-05 -18.11382939 2.51947842e-07 + [ 0.000, 7.778] 5.45250452 5.45320716 7.02639753e-04 5.45247119 -3.33281723e-05 5.45250452 1.91555927e-09 + [ 0.000, 8.889] 38.50671730 38.49414238 -1.25749240e-02 38.50675166 3.43570339e-05 38.50673638 1.90788434e-05 + [ 0.000, 10.000] 36.51336534 36.50710489 -6.26045832e-03 36.51354664 1.81295066e-04 36.51339597 3.06248120e-05 + ------------------------------------------------------------------------------------------------------------------------------------ + Total abs error = 3.03148319e-02 2.69645946e-04 5.03740338e-05 + */ +} + +void Readme_working_with_functions() +{ + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** README - working with functions ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + Readme_deriving_functions(); + Readme_Derivation_precision(); + Readme_integrating_functions(); + Readme_Integration_precision(); +} \ No newline at end of file diff --git a/docs_examples/readme_examples/demo5_ode_solvers.cpp b/docs_examples/readme_examples/readme5_ode_solvers.cpp similarity index 99% rename from docs_examples/readme_examples/demo5_ode_solvers.cpp rename to docs_examples/readme_examples/readme5_ode_solvers.cpp index ea56e77..c5560fc 100644 --- a/docs_examples/readme_examples/demo5_ode_solvers.cpp +++ b/docs_examples/readme_examples/readme5_ode_solvers.cpp @@ -3,7 +3,7 @@ #else #include "MMLBase.h" -#include "core/Vizualizer.h" +#include "core/Visualizer.h" #include "algorithms/ODESystemSolver.h" #include "algorithms/ODESystemSteppers.h" diff --git a/docs_examples/readme_examples/demo6_vector_field_operations.cpp b/docs_examples/readme_examples/readme6_vector_field_operations.cpp similarity index 100% rename from docs_examples/readme_examples/demo6_vector_field_operations.cpp rename to docs_examples/readme_examples/readme6_vector_field_operations.cpp diff --git a/docs_examples/readme_examples/demo7_parametric_curves.cpp b/docs_examples/readme_examples/readme7_parametric_curves.cpp similarity index 93% rename from docs_examples/readme_examples/demo7_parametric_curves.cpp rename to docs_examples/readme_examples/readme7_parametric_curves.cpp index 7b46822..16232dd 100644 --- a/docs_examples/readme_examples/demo7_parametric_curves.cpp +++ b/docs_examples/readme_examples/readme7_parametric_curves.cpp @@ -29,6 +29,10 @@ void Readme_parametric_curves() // using curve from TestData const ParametricCurve<3> &test_curve = TestBeds::ParametricCurvesTestBed::getTestCurve("Helix")._curve; + // interpolated curve + + // as a result of OE solution + double t = 0.5; auto tangent = ParametricCurveAnalyzer::getTangent(test_curve, t); auto unit_tang = ParametricCurveAnalyzer::getTangentUnit(test_curve, t); @@ -39,5 +43,6 @@ void Readme_parametric_curves() auto curv_vec = ParametricCurveAnalyzer::getCurvatureVector(test_curve, t); auto curvature = ParametricCurveAnalyzer::getCurvature(test_curve, t); auto curvature3 = ParametricCurveAnalyzer::getCurvature3(test_curve, t); - // TODO 0.9 - vizualizirati neku krivulju, i u jednoj točki vizualizirati (World view) 3 vektora tangente, normale i binormale, te vektore zakrivljenosti + + // TODO 1.0 - vizualizirati neku krivulju, i u jednoj točki vizualizirati (World view) 3 vektora tangente, normale i binormale, te vektore zakrivljenosti } \ No newline at end of file diff --git a/docs_examples/readme_examples/demo8_visualizators.cpp b/docs_examples/readme_examples/readme8_visualizators.cpp similarity index 99% rename from docs_examples/readme_examples/demo8_visualizators.cpp rename to docs_examples/readme_examples/readme8_visualizators.cpp index 32837e4..d4b4f32 100644 --- a/docs_examples/readme_examples/demo8_visualizators.cpp +++ b/docs_examples/readme_examples/readme8_visualizators.cpp @@ -11,7 +11,7 @@ #include "core/Curves.h" #include "core/Surfaces.h" #include "core/Serializer.h" -#include "core/Vizualizer.h" +#include "core/Visualizer.h" #endif #include "../test_data/parametric_curves_test_bed.h" diff --git a/docs_examples/readme_examples/demo9_function_analyzer.cpp b/docs_examples/readme_examples/readme9_function_analyzer.cpp similarity index 100% rename from docs_examples/readme_examples/demo9_function_analyzer.cpp rename to docs_examples/readme_examples/readme9_function_analyzer.cpp diff --git a/docs_examples/readme_examples/readme_examples.cpp b/docs_examples/readme_examples/readme_examples.cpp deleted file mode 100644 index d981293..0000000 --- a/docs_examples/readme_examples/readme_examples.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#ifdef MML_USE_SINGLE_HEADER -#include "MML.h" -#else -#include "MMLBase.h" - -#include "base/Vector.h" -#include "base/Matrix.h" - -#include "core/Function.h" -#include "core/Curves.h" -#include "base/Geometry3D.h" -#endif - -using namespace MML; - -void Readme_vectors_matrices(); -void Readme_linear_system_solvers(); -void Readme_defining_functions(); -void Readme_working_with_functions(); -void Readme_ode_solvers(); -void Readme_vector_field_operations(); -void Readme_parametric_curves(); -void Readme_visualizators(); -void Readme_function_analyzer(); - -void Readme_coordinate_transformations() -{ -} -void Readme_tensors() -{ -} -void Readme_path_integration() -{ -} -void Readme_geometry() -{ -} - -void Docs_Readme_Examples() -{ - Readme_vectors_matrices(); - Readme_linear_system_solvers(); - Readme_defining_functions(); - Readme_working_with_functions(); - Readme_ode_solvers(); - // Readme_vector_field_operations(); - // Readme_visualizators(); - Readme_function_analyzer(); - - //Readme_coordinate_transformations(); - //Readme_tensors(); - //Readme_path_integration(); - //Readme_geometry(); -} \ No newline at end of file diff --git a/include/MML.h b/include/MML.h index d51eeac..d4b26d8 100644 --- a/include/MML.h +++ b/include/MML.h @@ -1,6 +1,6 @@ // __ __ __ __ _ // | | | | | | Minimal Math Library for Modern C++ -// | | | | | | | |__ version 0.9 +// | | | | | | | |__ version 1.0 // |_| |_|_| |_|____| https://github.com/zvanjak/mml // // Copyright: 2023 - 2024, Zvonimir Vanjak @@ -8,7 +8,7 @@ // LICENSE: // Code is given as it is, without any warranty. Use it at your own risk. // STRICTLY NON-COMMERCIAL USE ONLY! -// Unfortunately, also unavailable for Open Source project, due to restrictive Numerical Recipes license. +// Unfortunately, also unavailable for Open Source projects, due to restrictive Numerical Recipes license. // So basically, it is for personal, educational and research use only. #ifndef MML_SINGLE_HEADER @@ -32,8 +32,6 @@ #include #include -/////////////////////////// ./include/MMLBase.h /////////////////////////// - // https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/TargetConditionals.h.auto.html #ifdef __APPLE__ @@ -53,350 +51,164 @@ #endif +/////////////////////////// ./include/MMLBase.h /////////////////////////// + + + // Complex must have the same underlaying type as Real typedef double Real; // default real type typedef std::complex Complex; // default complex type // Global paths for Visualizers -static const std::string GLOB_PATH_ResultFiles = "E:\\Projects\\MinimalMathLibrary\\results\\"; -static const std::string GLOB_PATH_RealFuncViz = "E:\\Projects\\MinimalMathLibrary\\tools\\visualizers\\real_function_visualizer\\MML_RealFunctionVisualizer.exe"; -static const std::string GLOB_PATH_SurfaceViz = "E:\\Projects\\MinimalMathLibrary\\tools\\visualizers\\scalar_function_2d_visualizer\\MML_ScalarFunction2Visualizer.exe"; -static const std::string GLOB_PATH_ParametricCurveViz = "E:\\Projects\\MinimalMathLibrary\\tools\\visualizers\\parametric_curve_visualizer\\MML_ParametricCurveVisualizer.exe"; -static const std::string GLOB_PATH_VectorFieldViz = "E:\\Projects\\MinimalMathLibrary\\tools\\visualizers\\vector_field_visualizer\\MML_VectorFieldVisualizer.exe"; +static const std::string GLOB_PATH_ResultFiles = "E:\\Projects\\MML\\results\\"; +static const std::string GLOB_PATH_RealFuncViz = "E:\\Projects\\MML\\tools\\visualizers\\real_function_visualizer\\MML_RealFunctionVisualizer.exe"; +static const std::string GLOB_PATH_SurfaceViz = "E:\\Projects\\MML\\tools\\visualizers\\scalar_function_2d_visualizer\\MML_ScalarFunction2Visualizer.exe"; +static const std::string GLOB_PATH_ParametricCurveViz = "E:\\Projects\\MML\\tools\\visualizers\\parametric_curve_visualizer\\MML_ParametricCurveVisualizer.exe"; +static const std::string GLOB_PATH_VectorFieldViz = "E:\\Projects\\MML\\tools\\visualizers\\vector_field_visualizer\\MML_VectorFieldVisualizer.exe"; namespace MML { - template - static Real Abs(const Type &a) - { - return std::abs(a); - } - template - static Real Abs(const std::complex &a) - { - return sqrt(a.real()*a.real() + a.imag()*a.imag()); - } + template + static Real Abs(const Type& a) + { + return std::abs(a); + } + template + static Real Abs(const std::complex& a) + { + return sqrt(a.real() * a.real() + a.imag() * a.imag()); + } - template inline T POW2(const T a) {return ((a)*(a));} - template inline T POW3(const T a) {return ((a)*(a)*(a));} - template inline T POW4(const T a) {return ((a)*(a)*(a)*(a));} + template inline T POW2(const T a) { return ((a) * (a)); } + template inline T POW3(const T a) { return ((a) * (a) * (a)); } + template inline T POW4(const T a) { return ((a) * (a) * (a) * (a)); } - template - inline T SIGN(const T& a, const T& b) - { - return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a); - } - - //////////// Constants //////////////// - namespace Constants - { - static inline const Real PI = std::numbers::pi; - static inline const Real Epsilon = std::numeric_limits::epsilon(); - static inline const Real PositiveInf = std::numeric_limits::max(); - static inline const Real NegativeInf = -std::numeric_limits::max(); - } + template + inline T SIGN(const T& a, const T& b) + { + return b >= 0 ? (a >= 0 ? a : -a) : (a >= 0 ? -a : a); + } - namespace Defaults - { - ////////// Default precisions /////////// - static inline const double ComplexEqualityPrecision = 1e-15; - static inline const double MatrixEqualityPrecision = 1e-15; - static inline const double VectorEqualityPrecision = 1e-15; + //////////// Constants //////////////// + namespace Constants + { + static inline const Real PI = std::numbers::pi; + static inline const Real Epsilon = std::numeric_limits::epsilon(); + static inline const Real PositiveInf = std::numeric_limits::max(); + static inline const Real NegativeInf = -std::numeric_limits::max(); + } + + namespace Defaults + { + ////////// Default precisions /////////// + // TODO - make dependent on Real type (ie. different values for float, double and long double) + static inline const double ComplexEqualityPrecision = 1e-15; + static inline const double MatrixEqualityPrecision = 1e-15; + static inline const double VectorEqualityPrecision = 1e-15; - static inline const double IsMatrixSymmetricPrecision = 1e-15; - static inline const double IsMatrixDiagonalPrecision = 1e-15; - static inline const double IsMatrixUnitPrecision = 1e-15; - static inline const double IsMatrixOrthogonalPrecision = 1e-15; + static inline const double IsMatrixSymmetricPrecision = 1e-15; + static inline const double IsMatrixDiagonalPrecision = 1e-15; + static inline const double IsMatrixUnitPrecision = 1e-15; + static inline const double IsMatrixOrthogonalPrecision = 1e-15; - static inline const double DerivationDefaultStep = 1e-6; - - static inline const int IntegrateTrapMaxSteps = 20; - static inline const double IntegrateTrapEPS = 1.0e-5; + static inline const double DerivationDefaultStep = 1e-6; - static inline const int IntegrateSimpMaxSteps = 20; - static inline const double IntegrateSimpEPS = 1.0e-5; + static inline const int IntegrateTrapMaxSteps = 20; + static inline const double IntegrateTrapEPS = 1.0e-5; - static inline const int IntegrateRombMaxSteps = 20; - static inline const double IntegrateRombEPS = 1.0e-6; + static inline const int IntegrateSimpMaxSteps = 20; + static inline const double IntegrateSimpEPS = 1.0e-5; - static inline const double WorkIntegralPrecision = 1e-05; - static inline const double LineIntegralPrecision = 1e-05; - } + static inline const int IntegrateRombMaxSteps = 20; + static inline const double IntegrateRombEPS = 1.0e-6; + + static inline const double WorkIntegralPrecision = 1e-05; + static inline const double LineIntegralPrecision = 1e-05; + } - ////////// Vector error exceptions /////////// + ////////// Vector error exceptions /////////// class VectorDimensionError : public std::invalid_argument { - public: - int _size1, _size2; + public: + int _size1, _size2; VectorDimensionError(std::string inMessage, int size1, int size2) : std::invalid_argument(inMessage), _size1(size1), _size2(size2) { } - }; - class VectorAccessBoundsError : public std::out_of_range + }; + class VectorAccessBoundsError : public std::out_of_range { - public: - int _i, _n; + public: + int _i, _n; VectorAccessBoundsError(std::string inMessage, int i, int n) : std::out_of_range(inMessage), _i(i), _n(n) { } }; - - ////////// Matrix error exceptions /////////// - class MatrixAllocationError : public std::out_of_range + + ////////// Matrix error exceptions /////////// + class MatrixAllocationError : public std::out_of_range { - public: - int _rows, _cols; + public: + int _rows, _cols; MatrixAllocationError(std::string inMessage, int rows, int cols) : std::out_of_range(inMessage), _rows(rows), _cols(cols) { } }; - class MatrixAccessBoundsError : public std::out_of_range + class MatrixAccessBoundsError : public std::out_of_range { - public: - int _i, _j, _rows, _cols; + public: + int _i, _j, _rows, _cols; MatrixAccessBoundsError(std::string inMessage, int i, int j, int rows, int cols) : std::out_of_range(inMessage), _i(i), _j(j), _rows(rows), _cols(cols) { } }; class MatrixDimensionError : public std::invalid_argument { - public: - int _rows1, _cols1, _rows2, _cols2; + public: + int _rows1, _cols1, _rows2, _cols2; MatrixDimensionError(std::string inMessage, int r1, int c1, int r2, int c2) : std::invalid_argument(inMessage), _rows1(r1), _cols1(c1), _rows2(r2), _cols2(c2) - { } + { } }; class SingularMatrixError : public std::domain_error { - public: + public: SingularMatrixError(std::string inMessage) : std::domain_error(inMessage) { } - }; + }; - ////////// Integration exceptions /////////// - class IntegrationTooManySteps : public std::domain_error + ////////// Integration exceptions /////////// + class IntegrationTooManySteps : public std::domain_error { - public: + public: IntegrationTooManySteps(std::string inMessage) : std::domain_error(inMessage) { } - }; + }; - //////////// Tensor exceptions ///////////// + //////////// Tensor exceptions ///////////// class TensorCovarContravarNumError : public std::invalid_argument { - public: - int _numContra, _numCo; + public: + int _numContra, _numCo; TensorCovarContravarNumError(std::string inMessage, int size1, int size2) : std::invalid_argument(inMessage), _numContra(size1), _numCo(size2) { } - }; -} -/////////////////////////// ./include/utilities/StdFunctions.h /////////////////////////// - - -namespace MML -{ - namespace Functions - { - // Functions of REAL domain - // TODO - umjesto Real, naprosto staviti sve tri dostupne varijante? - static inline Real Sin(Real x) { return sin(x); } - static inline Real Cos(Real x) { return cos(x); } - static inline Real Sec(Real x) { return 1.0 / cos(x); } - static inline Real Csc(Real x) { return 1.0 / sin(x); } - static inline Real Tan(Real x) { return tan(x); } - static inline Real Ctg(Real x) { return 1.0 / tan(x); } - - static inline Real Exp(Real x) { return exp(x); } - static inline Real Log(Real x) { return log(x); } - static inline Real Log10(Real x){ return log10(x); } - static inline Real Sqrt(Real x) { return sqrt(x); } - static inline Real Pow(Real x, Real y) { return pow(x, y); } - - static inline Real Sinh(Real x) { return sinh(x); } - static inline Real Cosh(Real x) { return cosh(x); } - static inline Real Sech(Real x) { return 1.0 / cosh(x); } - static inline Real Csch(Real x) { return 1.0 / sinh(x); } - static inline Real Tanh(Real x) { return tanh(x); } - static inline Real Ctgh(Real x) { return 1.0 / tanh(x); } - - static inline Real Asin(Real x) { return asin(x); } - static inline Real Acos(Real x) { return acos(x); } - static inline Real Atan(Real x) { return atan(x); } - - static inline Real Asinh(Real x) { return asinh(x); } - static inline Real Acosh(Real x) { return acosh(x); } - static inline Real Atanh(Real x) { return atanh(x); } - - static inline Real Erf(Real x) { return std::erf(x); } - static inline Real Erfc(Real x) { return std::erfc(x); } - - static inline Real TGamma(Real x) { return std::tgamma(x); } - static inline Real LGamma(Real x) { return std::lgamma(x); } - static inline Real RiemannZeta(Real x) { return std::riemann_zeta(x); } - static inline Real Comp_ellint_1(Real x) { return std::comp_ellint_1(x); } - static inline Real Comp_ellint_2(Real x) { return std::comp_ellint_2(x); } - - static inline Real Hermite(unsigned int n, Real x) { return std::hermite(n, x); } - static inline Real Legendre(unsigned int n, Real x) { return std::legendre(n, x); } - static inline Real Laguerre(unsigned int n, Real x) { return std::laguerre(n, x); } - static inline Real SphBessel(unsigned int n, Real x) { return std::sph_bessel(n, x); } - static inline Real SphLegendre(int n1, int n2, Real x) { return std::sph_legendre(n1, n2, x); } - - // Functions of COMPLEX domain - static inline Complex Sin(Complex x) { return sin(x); } - static inline Complex Cos(Complex x) { return cos(x); } - static inline Complex Sec(Complex x) { return Real{1.0} / cos(x); } - static inline Complex Csc(Complex x) { return Real{1.0} / sin(x); } - static inline Complex Tan(Complex x) { return tan(x); } - static inline Complex Ctg(Complex x) { return Real{1.0} / tan(x); } - - static inline Complex Exp(Complex x) { return exp(x); } - static inline Complex Log(Complex x) { return log(x); } - static inline Complex Sqrt(Complex x) { return sqrt(x); } - static inline Complex Pow(Complex x, Complex y) { return pow(x, y); } - - static inline Complex Sinh(Complex x) { return sinh(x); } - static inline Complex Cosh(Complex x) { return cosh(x); } - static inline Complex Sech(Complex x) { return Complex(1.0) / cosh(x); } - static inline Complex Csch(Complex x) { return Complex(1.0) / sinh(x); } - static inline Complex Tanh(Complex x) { return tanh(x); } - static inline Complex Ctgh(Complex x) { return Complex(1.0) / tanh(x); } - - static inline Complex Asin(Complex x) { return asin(x); } - static inline Complex Acos(Complex x) { return acos(x); } - static inline Complex Atan(Complex x) { return atan(x); } - - static inline Complex Asinh(Complex x) { return asinh(x); } - static inline Complex Acosh(Complex x) { return acosh(x); } - static inline Complex Atanh(Complex x) { return atanh(x); } - - static inline Real Factorial(int n) { - Real fact = 1.0; - for( int i=2; i<=n; i++) - fact *= i; - return fact; - } - static inline long long FactorialInt(int n) { - long long fact = 1; - for( int i=2; i<=n; i++) - fact *= i; - return fact; - } - } -} - -/////////////////////////// ./include/utilities/DataContainers.h /////////////////////////// - -namespace MML -{ - template - class TablePrinter - { - public: - std::string _tagName; - std::vector<_Tag> _tags; - - int _tagWidth, _tagPrec; - std::vector> _listFormatSpec; - - std::vector _valueNames; - std::vector> _values; - - TablePrinter(std::string tagName, std::vector valueNames) : - _tagName(tagName), _valueNames(valueNames) - { - _tagWidth = 8; - _tagPrec = 3; - for (size_t i = 0; i < _valueNames.size(); i++) - { - _listFormatSpec.push_back(std::make_tuple(11, 5, ' ')); - } - } - - TablePrinter(std::string tagName, int tagWidth, int tagPrec, std::vector valueNames, std::vector> listWidthPrec): - _tagName(tagName), _tagWidth(tagWidth), _tagPrec(tagPrec), _valueNames(valueNames), _listFormatSpec(listWidthPrec) - {} - - void addRow(_Tag tag, std::vector<_Value> values) - { - if (values.size() != _valueNames.size()) - throw std::invalid_argument("Number of values does not match number of value names"); - - _tags.push_back(tag); - _values.push_back(values); - } - - void Print() - { - std::cout << std::setw(_tagWidth) << _tagName << " "; - for (size_t i = 0; i < _valueNames.size(); i++) - { - std::cout << std::setw(std::get<0>(_listFormatSpec[i])) << std::setprecision(std::get<1>(_listFormatSpec[i])) << _valueNames[i] << " "; - } - std::cout << std::endl; - - for (size_t i = 0; i < _tags.size(); i++) - { - - if (std::get<2>(_listFormatSpec[0]) == 'S') - std::cout << std::scientific << std::setw(_tagWidth) << std::setprecision(_tagPrec) << _tags[i] << " "; - else - std::cout << std::fixed << std::setw(_tagWidth) << std::setprecision(_tagPrec) << _tags[i] << " "; - for (size_t j = 0; j < _values[i].size(); j++) - { - if (std::get<2>(_listFormatSpec[j]) == 'S') - std::cout << std::scientific << std::setw(std::get<0>(_listFormatSpec[j])) << std::setprecision(std::get<1>(_listFormatSpec[j])) << _values[i][j] << " "; - else - std::cout << std::fixed << std::setw(std::get<0>(_listFormatSpec[j])) << std::setprecision(std::get<1>(_listFormatSpec[j])) << _values[i][j] << " "; - } - std::cout << std::endl; - } - } - - void Print(int tagWidth, int tagPrec, std::vector> listWidthPrec) - { - std::cout << std::fixed << std::setw(tagWidth) << _tagName << " "; - for (size_t i = 0; i < _valueNames.size(); i++) - { - std::cout << std::setw(listWidthPrec[i].first) << _valueNames[i]; - } - std::cout << std::endl; - for (size_t i = 0; i < _tags.size(); i++) - { - std::cout << std::setw(tagWidth) << std::setprecision(tagPrec) << _tags[i] << " "; - for (size_t j = 0; j < _values[i].size(); j++) - { - std::cout << std::setw(listWidthPrec[j].first) << std::setprecision(listWidthPrec[j].second) << _values[i][j]; - } - std::cout << std::endl; - } - } - }; - - class DataCube - { - - }; + }; } - /////////////////////////// ./include/interfaces/IInterval.h /////////////////////////// namespace MML { - // group - class IInterval - { - public: - virtual Real getLowerBound() const = 0; - virtual Real getUpperBound() const = 0; - virtual Real getLength() const = 0; - - virtual bool isContinuous() const = 0; - virtual bool contains(Real x) const = 0; - // bool contains(const IInterval &other) const = 0; - // bool intersects(const IInterval &other) const = 0; + // group + class IInterval + { + public: + virtual Real getLowerBound() const = 0; + virtual Real getUpperBound() const = 0; + virtual Real getLength() const = 0; - virtual void GetEquidistantCovering(int numPoints) = 0; + virtual bool isContinuous() const = 0; + virtual bool contains(Real x) const = 0; - virtual ~IInterval() {} - }; + virtual void GetEquidistantCovering(int numPoints) = 0; + + virtual ~IInterval() {} + }; } /////////////////////////// ./include/interfaces/IAlgebra.h /////////////////////////// @@ -427,89 +239,89 @@ namespace MML namespace MML { - template - class VectorSpace - { - public: - virtual _FieldType zero() const { return _FieldType(0);} - virtual _FieldType inverse(const _FieldType &b) const { return -b; } - - virtual _VecType add(const _VecType &a, const _VecType &b) const { return a + b; } - virtual _VecType mul(const _FieldType &a, const _VecType &b) const { return a * b; } - }; + template + class VectorSpace + { + public: + virtual _FieldType zero() const { return _FieldType(0); } + virtual _FieldType inverse(const _FieldType& b) const { return -b; } - template - class NormedVectorSpace : public VectorSpace<_FieldType, _VecType> - { - public: - virtual Real norm(const _VecType &a) const = 0; - }; + virtual _VecType add(const _VecType& a, const _VecType& b) const { return a + b; } + virtual _VecType mul(const _FieldType& a, const _VecType& b) const { return a * b; } + }; - template - class HilbertSpace : public NormedVectorSpace<_FieldType, _VecType> - { - public: - virtual Real norm(const _VecType &a) const - { - return sqrt(scal_prod(a, a)); - } - virtual Real scal_prod(const _VecType &a, const _VecType &b) const = 0; - }; + template + class NormedVectorSpace : public VectorSpace<_FieldType, _VecType> + { + public: + virtual Real norm(const _VecType& a) const = 0; + }; - template - class ILinearOperator - { - public: - virtual _VecTo operator()(const _VecFrom& x) const = 0; - }; + template + class HilbertSpace : public NormedVectorSpace<_FieldType, _VecType> + { + public: + virtual Real norm(const _VecType& a) const + { + return sqrt(scal_prod(a, a)); + } + virtual Real scal_prod(const _VecType& a, const _VecType& b) const = 0; + }; + + template + class ILinearOperator + { + public: + virtual _VecTo operator()(const _VecFrom& x) const = 0; + }; } /////////////////////////// ./include/interfaces/ITensor.h /////////////////////////// namespace MML { - template - class ITensor2 - { - public: - virtual int NumContravar() const = 0; - virtual int NumCovar() const = 0; + template + class ITensor2 + { + public: + virtual int NumContravar() const = 0; + virtual int NumCovar() const = 0; - virtual Real Component(int i, int j) const = 0; - virtual Real& Component(int i, int j) = 0; - }; + virtual Real Component(int i, int j) const = 0; + virtual Real& Component(int i, int j) = 0; + }; - template - class ITensor3 - { - public: - virtual int NumContravar() const = 0; - virtual int NumCovar() const = 0; + template + class ITensor3 + { + public: + virtual int NumContravar() const = 0; + virtual int NumCovar() const = 0; - virtual Real Component(int i, int j, int k) const = 0; - virtual Real& Component(int i, int j, int k) = 0; - }; + virtual Real Component(int i, int j, int k) const = 0; + virtual Real& Component(int i, int j, int k) = 0; + }; - template - class ITensor4 - { - public: - virtual int NumContravar() const = 0; - virtual int NumCovar() const = 0; + template + class ITensor4 + { + public: + virtual int NumContravar() const = 0; + virtual int NumCovar() const = 0; - virtual Real Component(int i, int j, int k, int l) const = 0; - virtual Real& Component(int i, int j, int k, int l) = 0; - }; + virtual Real Component(int i, int j, int k, int l) const = 0; + virtual Real& Component(int i, int j, int k, int l) = 0; + }; - template - class ITensor5 - { - public: - virtual int NumContravar() const = 0; - virtual int NumCovar() const = 0; + template + class ITensor5 + { + public: + virtual int NumContravar() const = 0; + virtual int NumCovar() const = 0; - virtual Real Component(int i, int j, int k, int l, int m) const = 0; - virtual Real& Component(int i, int j, int k, int l, int m) = 0; - }; + virtual Real Component(int i, int j, int k, int l, int m) const = 0; + virtual Real& Component(int i, int j, int k, int l, int m) = 0; + }; } @@ -518,12218 +330,14808 @@ namespace MML namespace MML { - // TODO - finalize intervals properly (and use them in test beds) - /////////////////////////////////////////////// Interfaces /////////////////////////////////////////// - enum class EndpointType - { - OPEN, - CLOSED, - NEG_INF, - POS_INF - }; - - class BaseInterval : public IInterval - { - protected: - Real _lower, _upper; - EndpointType _lowerType, _upperType; + // TODO - finalize intervals properly (and use them in test beds) + /////////////////////////////////////////////// Interfaces /////////////////////////////////////////// + enum class EndpointType + { + OPEN, + CLOSED, + NEG_INF, + POS_INF + }; - BaseInterval(Real lower, EndpointType lowerType, Real upper, EndpointType upperType) : _lower(lower), _lowerType(lowerType), _upper(upper), _upperType(upperType) { } - public: - virtual ~BaseInterval() {} - - Real getLowerBound() const { return _lower; } - Real getUpperBound() const { return _upper; } - Real getLength() const { return _upper - _lower; } - - virtual bool isContinuous() const { return true; } // we suppose continuous intervals by default + class BaseInterval : public IInterval + { + protected: + Real _lower, _upper; + EndpointType _lowerType, _upperType; - void GetEquidistantCovering(int numPoints) { } - }; + BaseInterval(Real lower, EndpointType lowerType, Real upper, EndpointType upperType) : _lower(lower), _lowerType(lowerType), _upper(upper), _upperType(upperType) { } + public: + virtual ~BaseInterval() {} - class CompleteRInterval : public BaseInterval - { - public: - CompleteRInterval() : BaseInterval(-std::numeric_limits::max(), EndpointType::NEG_INF, std::numeric_limits::max(), EndpointType::POS_INF) { } - bool contains(Real x) const { return true; } - }; - class CompleteRWithReccuringPointHoles : public BaseInterval - { - Real _hole0, _holeDelta; - public: - CompleteRWithReccuringPointHoles(Real hole0, Real holeDelta) : BaseInterval(-std::numeric_limits::max(), EndpointType::NEG_INF, std::numeric_limits::max(), EndpointType::POS_INF) - { - _hole0 = hole0; - _holeDelta = holeDelta; - } - - bool contains(Real x) const { - if( x == _hole0 ) - return false; - - Real diff = (x - _hole0) / _holeDelta; - if( diff == (int)diff ) - return false; - - return true; - } - bool isContinuous() const { return false; } - }; - class OpenInterval : public BaseInterval - { - // for equidistant covering - double _lowerRealDif = 0.0000001; - public: - OpenInterval(Real lower, Real upper) : BaseInterval(lower, EndpointType::OPEN, upper, EndpointType::OPEN) { } - bool contains(Real x) const { return (x > _lower) && (x < _upper); } - }; - class OpenClosedInterval : public BaseInterval - { - public: - OpenClosedInterval(Real lower, Real upper) : BaseInterval(lower, EndpointType::OPEN, upper, EndpointType::CLOSED) { } - bool contains(Real x) const { return (x > _lower) && (x <= _upper); } - }; - class ClosedInterval : public BaseInterval - { - public: - ClosedInterval(Real lower, Real upper) : BaseInterval(lower, EndpointType::CLOSED, upper, EndpointType::CLOSED) { } - - bool contains(Real x) const { - return (x >= _lower) && (x <= _upper); - } - }; - class ClosedIntervalWithReccuringPointHoles : public BaseInterval - { - Real _hole0, _holeDelta; - public: - ClosedIntervalWithReccuringPointHoles(Real lower, Real upper, Real hole0, Real holeDelta) - : BaseInterval(lower, EndpointType::CLOSED, upper, EndpointType::CLOSED) - { - _hole0 = hole0; - _holeDelta = holeDelta; - } - - bool contains(Real x) const { - // check for hole! - if( x == _hole0 ) - return false; - - Real diff = (x - _hole0) / _holeDelta; - if( diff == (int)diff ) - return false; - - return (x >= _lower) && (x <= _upper); - } - bool isContinuous() const { return false; } - }; - class ClosedOpenInterval : public BaseInterval - { - public: - ClosedOpenInterval(Real lower, Real upper) : BaseInterval(lower, EndpointType::CLOSED, upper, EndpointType::OPEN) { } - - bool contains(Real x) const { - return (x >= _lower) && (x < _upper); - } - }; - class NegInfToOpenInterval : public BaseInterval - { - public: - NegInfToOpenInterval(Real upper) : BaseInterval(-std::numeric_limits::max(), EndpointType::NEG_INF, upper, EndpointType::OPEN) { } - - bool contains(Real x) const { - return x < _upper; - } - }; - class NegInfToClosedInterval : public BaseInterval - { - public: - NegInfToClosedInterval(Real upper) : BaseInterval(-std::numeric_limits::max(), EndpointType::NEG_INF, upper, EndpointType::CLOSED) { } - - bool contains(Real x) const { - return x <= _upper; - } - }; - class OpenToInfInterval : public BaseInterval - { - public: - OpenToInfInterval(Real lower) : BaseInterval(lower, EndpointType::OPEN, std::numeric_limits::max(), EndpointType::POS_INF) { } + Real getLowerBound() const { return _lower; } + Real getUpperBound() const { return _upper; } + Real getLength() const { return _upper - _lower; } - bool contains(Real x) const { - return x > _lower; - } - }; - class ClosedToInfInterval : public BaseInterval - { - public: - ClosedToInfInterval(Real lower) : BaseInterval(lower, EndpointType::CLOSED, std::numeric_limits::max(), EndpointType::POS_INF) { } - - bool contains(Real x) const { - return x >= _lower; - } - }; - - class Interval : public IInterval - { - Real _lower, _upper; - std::vector> _intervals; - public: - Interval() {} - Interval(std::initializer_list intervals) - { - for (BaseInterval *interval : intervals) - { - _intervals.emplace_back(std::shared_ptr(interval)); - } - } + virtual bool isContinuous() const { return true; } // we suppose continuous intervals by default - template - Interval& AddInterval(const _IntervalType &interval) - { - _intervals.emplace_back(std::make_shared<_IntervalType>(interval)); - return *this; - } + void GetEquidistantCovering(int numPoints) { } + }; - static Interval Intersection(const IInterval &a, const IInterval &b) - { - Interval ret; - // TODO - implement intersection - return ret; - } - static Interval Difference(const IInterval &a, const IInterval &b) - { - Interval ret; - // TODO - implement diff - return ret; - } - static Interval Complement(const IInterval &a) - { - Interval ret; - // TODO - implement complement - return ret; - } - Real getLowerBound() const { return 0; } - Real getUpperBound() const { return 0; } - Real getLength() const { return 0; } - - bool isContinuous() const { return false; } - bool contains(Real x) const - { - // check for each interval if it contains x - for (auto &interval : _intervals) - { - if (interval->contains(x)) - return true; - } - return false; - } - // TODO - implement this - // bool contains(const IInterval &other) const = 0; - // bool intersects(const IInterval &other) const = 0; + class CompleteRInterval : public BaseInterval + { + public: + CompleteRInterval() : BaseInterval(-std::numeric_limits::max(), EndpointType::NEG_INF, std::numeric_limits::max(), EndpointType::POS_INF) { } + bool contains(Real x) const { return true; } + }; + class CompleteRWithReccuringPointHoles : public BaseInterval + { + Real _hole0, _holeDelta; + public: + CompleteRWithReccuringPointHoles(Real hole0, Real holeDelta) : BaseInterval(-std::numeric_limits::max(), EndpointType::NEG_INF, std::numeric_limits::max(), EndpointType::POS_INF) + { + _hole0 = hole0; + _holeDelta = holeDelta; + } - void GetEquidistantCovering(int numPoints) { } - }; -} + bool contains(Real x) const { + if (x == _hole0) + return false; -/////////////////////////// ./include/base/Vector.h /////////////////////////// + Real diff = (x - _hole0) / _holeDelta; + if (diff == (int)diff) + return false; -namespace MML -{ - template - class Vector - { - private: - std::vector _elems; - - public: - /////////////////////// Constructors and destructor ////////////////////// - Vector() {} - Vector(size_t n) : _elems(n) {} - Vector(size_t n, Type val) : _elems(n, val) {} - Vector(std::vector values) : _elems(values) {} - Vector(std::initializer_list list) : _elems(list) {} - Vector(int n, Type *vals) : _elems(n) - { - for(int i=0; i _lower) && (x < _upper); } + }; + class OpenClosedInterval : public BaseInterval + { + public: + OpenClosedInterval(Real lower, Real upper) : BaseInterval(lower, EndpointType::OPEN, upper, EndpointType::CLOSED) { } + bool contains(Real x) const { return (x > _lower) && (x <= _upper); } + }; + class ClosedInterval : public BaseInterval + { + public: + ClosedInterval(Real lower, Real upper) : BaseInterval(lower, EndpointType::CLOSED, upper, EndpointType::CLOSED) { } - void Resize(int newLen) - { - _elems.resize(newLen); - } + bool contains(Real x) const { + return (x >= _lower) && (x <= _upper); + } + }; + class ClosedIntervalWithReccuringPointHoles : public BaseInterval + { + Real _hole0, _holeDelta; + public: + ClosedIntervalWithReccuringPointHoles(Real lower, Real upper, Real hole0, Real holeDelta) + : BaseInterval(lower, EndpointType::CLOSED, upper, EndpointType::CLOSED) + { + _hole0 = hole0; + _holeDelta = holeDelta; + } - //////////////////////// Standard stuff //////////////////////// - int size() const { return (int) _elems.size(); } + bool contains(Real x) const { + // check for hole! + if (x == _hole0) + return false; - static Vector GetUnitVector(int dimVec, int indUnit) - { - if (indUnit < 0 || indUnit >= dimVec) - throw VectorDimensionError("Vector::GetUnitVector - wrong unit index", dimVec, indUnit); + Real diff = (x - _hole0) / _holeDelta; + if (diff == (int)diff) + return false; - Vector ret(dimVec); - ret[indUnit] = Type{1.0}; - return ret; - } - - bool IsEqual(const Vector &b, Real eps=Defaults::VectorEqualityPrecision) const - { - if (size() != b.size() ) - throw VectorDimensionError("Vector::IsEqual - vectors must be equal size", size(), b.size()); + return (x >= _lower) && (x <= _upper); + } + bool isContinuous() const { return false; } + }; + class ClosedOpenInterval : public BaseInterval + { + public: + ClosedOpenInterval(Real lower, Real upper) : BaseInterval(lower, EndpointType::CLOSED, upper, EndpointType::OPEN) { } - for( int i=0; i eps ) - return false; - } - return true; - } - static bool AreEqual(const Vector &a,const Vector &b, Type eps=Defaults::VectorEqualityPrecision) - { - return a.IsEqual(b, eps); - } + bool contains(Real x) const { + return (x >= _lower) && (x < _upper); + } + }; + class NegInfToOpenInterval : public BaseInterval + { + public: + NegInfToOpenInterval(Real upper) : BaseInterval(-std::numeric_limits::max(), EndpointType::NEG_INF, upper, EndpointType::OPEN) { } - /////////////////////////// Operators /////////////////////////// - Type& operator[](int n) { return _elems[n]; } - const Type& operator[](int n) const { return _elems[n]; } + bool contains(Real x) const { + return x < _upper; + } + }; + class NegInfToClosedInterval : public BaseInterval + { + public: + NegInfToClosedInterval(Real upper) : BaseInterval(-std::numeric_limits::max(), EndpointType::NEG_INF, upper, EndpointType::CLOSED) { } - Vector operator-() // unary minus - { - Vector ret(size());; - for(int i=0; i::max(), EndpointType::POS_INF) { } - Vector ret(b.size());; - for(int i=0; i _lower; + } + }; + class ClosedToInfInterval : public BaseInterval + { + public: + ClosedToInfInterval(Real lower) : BaseInterval(lower, EndpointType::CLOSED, std::numeric_limits::max(), EndpointType::POS_INF) { } - Vector ret(b.size());; - for(int i=0; i= _lower; + } + }; - for( int i=0; i> _intervals; + public: + Interval() {} + Interval(std::initializer_list intervals) + { + for (BaseInterval* interval : intervals) + { + _intervals.emplace_back(std::shared_ptr(interval)); + } + } - friend Vector operator*(Type a, const Vector &b ) - { - Vector ret(b.size());; - for(int i=0; i + Interval& AddInterval(const _IntervalType& interval) + { + _intervals.emplace_back(std::make_shared<_IntervalType>(interval)); + return *this; + } - Type product = 0.0; - for( int i=0; icontains(x)) + return true; + } + return false; + } + // TODO - implement this + // bool contains(const IInterval &other) const = 0; + // bool intersects(const IInterval &other) const = 0; - /////////////////////////// I/O /////////////////////////// - std::string to_string(int width, int precision) const - { - std::stringstream str; + void GetEquidistantCovering(int numPoints) { } + }; +} - Print(str, width, precision); +/////////////////////////// ./include/base/Vector.h /////////////////////////// - return str.str(); - } - void Print(std::ostream& stream, int width, int precision) const - { - stream << "["; - bool first = true; - for(const Type& x : _elems) - { - if( !first ) - stream << ", "; - else - first = false; - - stream << std::setw(width) << std::setprecision(precision) << x; - } - stream << "]"; - } - friend std::ostream& operator<<(std::ostream& stream, const Vector &a) - { - a.Print(stream, 15, 10); +namespace MML +{ + template + class Vector + { + private: + std::vector _elems; - return stream; - } - }; + public: + /////////////////////// Constructors and destructor ////////////////////// + Vector() {} + Vector(size_t n) : _elems(n) {} + Vector(size_t n, Type val) : _elems(n, val) {} + Vector(std::vector values) : _elems(values) {} + Vector(std::initializer_list list) : _elems(list) {} + Vector(int n, Type* vals) : _elems(n) + { + for (int i = 0; i < n; ++i) + _elems[i] = vals[i]; + } - typedef Vector VectorInt; - typedef Vector VectorFlt; - typedef Vector VectorDbl; - typedef Vector VectorComplex; + void Resize(int newLen) + { + _elems.resize(newLen); + } - typedef Vector VecI; - typedef Vector VecF; - typedef Vector VecD; - typedef Vector VecC; + //////////////////////// Standard stuff //////////////////////// + int size() const { return (int)_elems.size(); } -} + static Vector GetUnitVector(int dimVec, int indUnit) + { + if (indUnit < 0 || indUnit >= dimVec) + throw VectorDimensionError("Vector::GetUnitVector - wrong unit index", dimVec, indUnit); -/////////////////////////// ./include/base/VectorN.h /////////////////////////// + Vector ret(dimVec); + ret[indUnit] = Type{ 1.0 }; + return ret; + } -namespace MML -{ - template - class VectorN - { - protected: - Type _val[N] = {0}; - - public: - /////////////////////// Constructors and destructor ////////////////////// - VectorN() {} - VectorN(const Type &init_val) { - for(int i=0; i list) - { - int count{ 0 }; - for (auto element : list) - { - _val[count] = element; - ++count; - - if( count >= N ) - break; - } - } - VectorN(std::vector list) - { - int count{ 0 }; - for (auto element : list) - { - _val[count] = element; - ++count; - - if( count >= N ) - break; - } - } - VectorN(Type *vals) - { - for(int i=0; i eps) + return false; + } + return true; + } + static bool AreEqual(const Vector& a, const Vector& b, Type eps = Defaults::VectorEqualityPrecision) + { + return a.IsEqual(b, eps); + } - static VectorN GetUnitVector(int indUnit) - { - VectorN ret; - ret[indUnit] = 1.0; - return ret; - } + /////////////////////////// Operators /////////////////////////// + Type& operator[](int n) { return _elems[n]; } + const Type& operator[](int n) const { return _elems[n]; } - VectorN GetAsUnitVector() const - { - return VectorN{(*this) / NormL2()}; - } - VectorN GetAsUnitVectorAtPos(const VectorN &pos) const - { - return VectorN{(*this) / NormL2()}; - } + Vector operator-() // unary minus + { + Vector ret(size());; + for (int i = 0; i < size(); i++) + ret._elems[i] = -(*this)[i]; + return ret; + } + Vector operator+(const Vector& b) const + { + if (size() != b.size()) + throw VectorDimensionError("Vector::operator+() - vectors must be equal size", size(), b.size()); - bool IsEqual(const VectorN &b, Type eps=Defaults::VectorEqualityPrecision) const - { - for( int i=0; i eps ) - return false; - } - return true; - } - static bool AreEqual(const VectorN &a, const VectorN &b, Type eps=Defaults::VectorEqualityPrecision) - { - return a.IsEqual(b, eps); - } - - /////////////////////////// Operators /////////////////////////// - Type& operator[](int n) { return _val[n]; } - Type operator[](int n) const { return _val[n]; } + Vector ret(b.size());; + for (int i = 0; i < b.size(); i++) + ret._elems[i] = (*this)[i] + b._elems[i]; + return ret; + } + Vector operator-(const Vector& b) const + { + if (size() != b.size()) + throw VectorDimensionError("Vector::operator-() - vectors must be equal size", size(), b.size()); - VectorN operator+(const VectorN &b ) const - { - VectorN ret; - for(int i=0; iScalarProductCartesian(b) / (NormL2() * b.NormL2()); - return std::acos(cosAngle); - } - /////////////////////////// I/O /////////////////////////// - std::string to_string(int width, int precision) const - { - std::stringstream str; + ////////////////////// Operations /////////////////////// + Type ScalarProductCartesian(const Vector& b) const + { + if (size() != b.size()) + throw VectorDimensionError("Vector::ScalarProductCartesian - vectors must be equal size", size(), b.size()); - Print(str, width, precision); + Type product = 0.0; + for (int i = 0; i < size(); i++) + product += (*this)[i] * b[i]; + return product; + } + Type NormL2() const + { + Type norm = 0.0; + for (int i = 0; i < size(); i++) + norm += (*this)[i] * (*this)[i]; + return std::sqrt(norm); + } + Type AngleToVector(const Vector& b) const + { + if (size() != b.size()) + throw VectorDimensionError("Vector::AngleToVector - vectors must be equal size", size(), b.size()); - return str.str(); - } - std::ostream& Print(std::ostream& stream, int width, int precision) const - { - stream << "["; - bool first = true; - for(const Type& x : _val) - { - if( !first ) - stream << ", "; - else - first = false; - - stream << std::setw(width) << std::setprecision(precision) << x; - } - stream << "]"; + Type cosAngle = ScalarProductCartesian(b) / (NormL2() * b.NormL2()); + return std::acos(cosAngle); + } - return stream; - } - friend std::ostream& operator<<(std::ostream& stream, const VectorN &a) - { - a.Print(stream,15,10); + /////////////////////////// I/O /////////////////////////// + std::string to_string(int width, int precision) const + { + std::stringstream str; - return stream; - } - }; + Print(str, width, precision); - typedef VectorN Vector2Flt; - typedef VectorN Vector3Flt; - typedef VectorN Vector4Flt; + return str.str(); + } + void Print(std::ostream& stream, int width, int precision) const + { + stream << "["; + bool first = true; + for (const Type& x : _elems) + { + if (!first) + stream << ", "; + else + first = false; - typedef VectorN Vector2Dbl; - typedef VectorN Vector3Dbl; - typedef VectorN Vector4Dbl; + stream << std::setw(width) << std::setprecision(precision) << x; + } + stream << "]"; + } + friend std::ostream& operator<<(std::ostream& stream, const Vector& a) + { + a.Print(stream, 15, 10); - typedef VectorN Vector2Complex; - typedef VectorN Vector3Complex; - typedef VectorN Vector4Complex; + return stream; + } + }; - typedef VectorN Vec2F; - typedef VectorN Vec3F; - typedef VectorN Vec4F; + typedef Vector VectorInt; + typedef Vector VectorFlt; + typedef Vector VectorDbl; + typedef Vector VectorComplex; - typedef VectorN Vec2D; - typedef VectorN Vec3D; - typedef VectorN Vec4D; + typedef Vector VecI; + typedef Vector VecF; + typedef Vector VecD; + typedef Vector VecC; - typedef VectorN Vec2C; - typedef VectorN Vec3C; - typedef VectorN Vec4C; } -/////////////////////////// ./include/base/Matrix.h /////////////////////////// -//#include - - +/////////////////////////// ./include/base/VectorN.h /////////////////////////// namespace MML { - template - class Matrix - { - private: - int _rows; - int _cols; - Type **_data; + template + class VectorN + { + protected: + Type _val[N] = { 0 }; - void Init(int rows, int cols) - { - if( rows <= 0 || cols < 0 ) - throw MatrixDimensionError("Matrix::Init - rowNum and colNum must be positive", rows, cols, -1, -1); - - _rows = rows; - _cols = cols; - int numElem = rows * cols; - - _data = new Type*[rows]; - if (_data) - { - _data[0] = numElem>0 ? new Type[numElem] : nullptr; - - for (int i=1; i list) + { + int count{ 0 }; + for (auto element : list) + { + _val[count] = element; + ++count; - public: - /////////////////////// Constructors and destructor ////////////////////// - Matrix() : _rows(0), _cols(0), _data{nullptr} {} - Matrix(int rows, int cols) : _rows(rows), _cols(cols) - { - Init(rows, cols); - for (int i = 0; i < _rows; ++i) - for (int j = 0; j < _cols; ++j) - _data[i][j] = 0; - } - Matrix(int rows, int cols, Type val) : _rows(rows), _cols(cols) - { - Init(rows, cols); - for (int i = 0; i < _rows; ++i) - for (int j = 0; j < _cols; ++j) - _data[i][j] = val; - } - // useful if you have a pointer to continuous (row-wise) 2D array - Matrix(int rows, int cols, Type *val) : _rows(rows), _cols(cols) - { - Init(rows, cols); - for (int i = 0; i < _rows; ++i) - for (int j = 0; j < _cols; ++j) - _data[i][j] = *val++; - } - // in strict mode, you must supply ALL necessary values for complete matrix initialization - Matrix(int rows, int cols, std::initializer_list values, bool strictMode = true) : _rows(rows), _cols(cols) - { - Init(rows, cols); - - auto val = values.begin(); - for (int i = 0; i < _rows; ++i) - for (int j = 0; j < _cols; ++j) - if( val != values.end() ) - _data[i][j] = *val++; - else { - if( strictMode ) - throw MatrixDimensionError("Matrix::Matrix - not enough values in initializer list", _rows, _cols, -1, -1); - else - _data[i][j] = 0.0; - } - } - Matrix(const Matrix &m) : _rows(m._rows), _cols(m._cols) - { - Init(m._rows, m._cols); + if (count >= N) + break; + } + } + VectorN(std::vector list) + { + int count{ 0 }; + for (auto element : list) + { + _val[count] = element; + ++count; - for (int i = 0; i < _rows; ++i) - for (int j = 0; j < _cols; ++j) - _data[i][j] = m._data[i][j]; - } - Matrix(Matrix &&m) - { - _data = m._data; + if (count >= N) + break; + } + } + VectorN(Type* vals) + { + for (int i = 0; i < N; ++i) + _val[i] = vals[i]; + } - _rows = m._rows; - _cols = m._cols; + //////////////////////// Standard stuff //////////////////////// + int size() const { return N; } - m._rows = 0; - m._cols = 0; - m._data = nullptr; - } - ~Matrix() - { - if (_data != NULL) { - delete[] (_data[0]); - delete[] (_data); - } - } + static VectorN GetUnitVector(int indUnit) + { + VectorN ret; + ret[indUnit] = 1.0; + return ret; + } - void Resize(int rows, int cols) - { - if( rows <= 0 || cols < 0 ) - throw MatrixDimensionError("Matrix::Resize - rowNum and colNum must be positive", rows, cols, -1, -1); + VectorN GetAsUnitVector() const + { + return VectorN{ (*this) / NormL2() }; + } + VectorN GetAsUnitVectorAtPos(const VectorN& pos) const + { + return VectorN{ (*this) / NormL2() }; + } - if( rows == RowNum() && cols == ColNum() ) // nice :) - return; + bool IsEqual(const VectorN& b, Type eps = Defaults::VectorEqualityPrecision) const + { + for (int i = 0; i < N; i++) + { + if (fabs((*this)[i] - b[i]) > eps) + return false; + } + return true; + } + static bool AreEqual(const VectorN& a, const VectorN& b, Type eps = Defaults::VectorEqualityPrecision) + { + return a.IsEqual(b, eps); + } - if (_data != NULL) { - delete[] (_data[0]); - delete[] (_data); - } + /////////////////////////// Operators /////////////////////////// + Type& operator[](int n) { return _val[n]; } + Type operator[](int n) const { return _val[n]; } - Init(rows, cols); + VectorN operator+(const VectorN& b) const + { + VectorN ret; + for (int i = 0; i < N; i++) + ret._val[i] = _val[i] + b._val[i]; + return ret; + } + VectorN operator-() // unary minus + { + VectorN ret; + for (int i = 0; i < N; i++) + ret._val[i] = -_val[i]; + return ret; + } + VectorN operator-(const VectorN& b) const + { + VectorN ret; + for (int i = 0; i < N; i++) + ret._val[i] = _val[i] - b._val[i]; + return ret; + } + bool operator==(const VectorN& b) const + { + for (int i = 0; i < size(); i++) + { + if ((*this)[i] != b[i]) + return false; + } + return true; + } - for (int i = 0; i < _rows; ++i) - for (int j = 0; j < _cols; ++j) - _data[i][j] = 0; - } + friend VectorN operator*(const VectorN& a, Type b) + { + VectorN ret; + for (int i = 0; i < N; i++) + ret._val[i] = a[i] * b; + return ret; + } + friend VectorN operator*(Type a, const VectorN& b) + { + VectorN ret; + for (int i = 0; i < N; i++) + ret._val[i] = a * b[i]; + return ret; + } + friend VectorN operator/(const VectorN& a, Type b) + { + VectorN ret; + for (int i = 0; i < N; i++) + ret._val[i] = a[i] / b; + return ret; + } - typedef Type value_type; // make T available externally + ////////////////////// Operations /////////////////////// + Type ScalarProductCartesian(const VectorN& b) const + { + Type product = 0.0; + for (int i = 0; i < N; i++) + product += (*this)[i] * b[i]; + return product; + } + Type NormL2() const + { + Type norm = 0.0; + for (int i = 0; i < size(); i++) + norm += (*this)[i] * (*this)[i]; + return std::sqrt(norm); + } + Type AngleToVector(const VectorN& b) const + { + if (size() != b.size()) + throw VectorDimensionError("VectorN::AngleToVector - vectors must be equal size", size(), b.size()); - //////////////////////// Standard stuff //////////////////////// - int RowNum() const { return _rows; } - int ColNum() const { return _cols; } + Type cosAngle = this->ScalarProductCartesian(b) / (NormL2() * b.NormL2()); + return std::acos(cosAngle); + } + /////////////////////////// I/O /////////////////////////// + std::string to_string(int width, int precision) const + { + std::stringstream str; - static Matrix GetUnitMatrix(int dim) - { - if( dim <= 0 ) - throw MatrixDimensionError("Matrix::GetUnitMatrix - dimension must be positive", dim, dim, -1, -1); + Print(str, width, precision); - Matrix unitMat(dim, dim); - unitMat.MakeUnitMatrix(); + return str.str(); + } + std::ostream& Print(std::ostream& stream, int width, int precision) const + { + stream << "["; + bool first = true; + for (const Type& x : _val) + { + if (!first) + stream << ", "; + else + first = false; - return unitMat; - } - void MakeUnitMatrix(void) - { - if (_rows == _cols) - { - for (int i = 0; i < _rows; i++) - for (int j = 0; j < _cols; j++) - if (i == j) - _data[i][j] = 1; - else - _data[i][j] = 0; - } - else - throw MatrixDimensionError("Matrix::MakeUnitMatrix - must be square matrix", _rows, _cols, -1, -1); - } - - Matrix GetLower(bool includeDiagonal = true) const - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("Matrix::GetLower - must be square matrix", _rows, _cols, -1, -1); - - Matrix ret(RowNum(), ColNum()); - for( int i=0; i zeroThreshold ) + stream << std::setw(width) << std::setprecision(precision) << x; + else + stream << std::setw(width) << std::setprecision(precision) << 0.0; + } + stream << "]"; - ///////////////////// Matrix to Vector conversions //////////////////// - Vector VectorFromRow(int rowInd) const - { - if( rowInd < 0 || rowInd >= RowNum() ) - throw MatrixAccessBoundsError("VectorFromRow - invalid row index", rowInd, 0, RowNum(), ColNum()); + return stream; + } + friend std::ostream& operator<<(std::ostream& stream, const VectorN& a) + { + a.Print(stream, 15, 10); - Vector ret(ColNum()); - for( int i=0; i VectorFromColumn(int colInd) const - { - if( colInd < 0 || colInd >= ColNum() ) - throw MatrixAccessBoundsError("VectorFromColumn - invalid column index", 0, colInd, RowNum(), ColNum()); + typedef VectorN Vector2Flt; + typedef VectorN Vector3Flt; + typedef VectorN Vector4Flt; - Vector ret(RowNum()); - for( int i=0; i Vector2Dbl; + typedef VectorN Vector3Dbl; + typedef VectorN Vector4Dbl; - return ret; - } - Vector VectorFromDiagonal() const - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("VectorFromDiagonal - must be square matrix", RowNum(), ColNum(), -1, -1); + typedef VectorN Vector2Complex; + typedef VectorN Vector3Complex; + typedef VectorN Vector4Complex; - Vector ret(RowNum()); - for( int i=0; i Vec2F; + typedef VectorN Vec3F; + typedef VectorN Vec4F; - return ret; - } + typedef VectorN Vec2D; + typedef VectorN Vec3D; + typedef VectorN Vec4D; - ///////////////////// Matrix properties //////////////////// - bool IsSymmetric() const - { - if( RowNum() != ColNum() ) - return false; - - for(int i=0; i eps ) - return false; + typedef VectorN Vec2C; + typedef VectorN Vec3C; + typedef VectorN Vec4C; +} - return true; - } +/////////////////////////// ./include/base/Matrix.h /////////////////////////// +//#include - bool IsUnit(double eps = Defaults::IsMatrixUnitPrecision) const - { - for(int i=0; i eps ) - return false; - - for(int i=0; i eps ) - return false; - - return true; - } - bool IsDiagDominant() const - { - for(int i=0; i + class Matrix + { + private: + int _rows; + int _cols; + Type** _data; - if (_rows != m._rows || _cols != m._cols) - { - delete[] (_data[0]); - delete[] (_data); + void Init(int rows, int cols) + { + if (rows <= 0 || cols < 0) + throw MatrixDimensionError("Matrix::Init - rowNum and colNum must be positive", rows, cols, -1, -1); - Init(m._rows, m._cols); - } + _rows = rows; + _cols = cols; + int numElem = rows * cols; - for (int i = 0; i < _rows; ++i) - for (int j = 0; j < _cols; ++j) - _data[i][j] = m._data[i][j]; + _data = new Type * [rows]; + if (_data) + { + _data[0] = numElem > 0 ? new Type[numElem] : nullptr; - return *this; - } - Matrix &operator=(Matrix &&m) - { - if (this == &m) - return *this; + for (int i = 1; i < rows; i++) + _data[i] = _data[i - 1] + cols; + } + else + throw MatrixAllocationError("Matrix::Init - allocation error", rows, cols); + } - std::swap(_data, m._data); - std::swap(_rows, m._rows); - std::swap(_cols, m._cols); + public: + /////////////////////// Constructors and destructor ////////////////////// + Matrix() : _rows(0), _cols(0), _data{ nullptr } {} + Matrix(int rows, int cols) : _rows(rows), _cols(cols) + { + Init(rows, cols); + for (int i = 0; i < _rows; ++i) + for (int j = 0; j < _cols; ++j) + _data[i][j] = 0; + } + Matrix(int rows, int cols, Type val) : _rows(rows), _cols(cols) + { + Init(rows, cols); + for (int i = 0; i < _rows; ++i) + for (int j = 0; j < _cols; ++j) + _data[i][j] = val; + } + // useful if you have a pointer to continuous (row-wise) 2D array + Matrix(int rows, int cols, Type* val) : _rows(rows), _cols(cols) + { + Init(rows, cols); + for (int i = 0; i < _rows; ++i) + for (int j = 0; j < _cols; ++j) + _data[i][j] = *val++; + } + // in strict mode, you must supply ALL necessary values for complete matrix initialization + Matrix(int rows, int cols, std::initializer_list values, bool strictMode = true) : _rows(rows), _cols(cols) + { + Init(rows, cols); + + auto val = values.begin(); + for (int i = 0; i < _rows; ++i) + for (int j = 0; j < _cols; ++j) + if (val != values.end()) + _data[i][j] = *val++; + else { + if (strictMode) + throw MatrixDimensionError("Matrix::Matrix - not enough values in initializer list", _rows, _cols, -1, -1); + else + _data[i][j] = Type{0}; + } + } + Matrix(const Matrix& m) : _rows(m._rows), _cols(m._cols) + { + Init(m._rows, m._cols); - return *this; - } + for (int i = 0; i < _rows; ++i) + for (int j = 0; j < _cols; ++j) + _data[i][j] = m._data[i][j]; + } + Matrix(Matrix&& m) + { + _data = m._data; - //////////////////// Access operators /////////////////////// - Type* operator[](int i) { return _data[i]; } - const Type* operator[](const int i) const { return _data[i]; } - - Type operator()(int i, int j) const { return _data[i][j]; } - Type& operator()(int i, int j) { return _data[i][j]; } + _rows = m._rows; + _cols = m._cols; - // version with checking bounds - Type ElemAt(int i, int j) const - { - if( i<0 || i>=RowNum() || j<0 || j>=ColNum() ) - throw MatrixAccessBoundsError("Matrix::ElemAt", i, j, RowNum(), ColNum()); + m._rows = 0; + m._cols = 0; + m._data = nullptr; + } + ~Matrix() + { + if (_data != NULL) { + delete[](_data[0]); + delete[](_data); + } + } - return _data[i][j]; - } - Type& ElemAt(int i, int j) - { - if( i<0 || i>=RowNum() || j<0 || j>=ColNum() ) - throw MatrixAccessBoundsError("Matrix::ElemAt", i, j, RowNum(), ColNum()); + void Resize(int rows, int cols) + { + if (rows <= 0 || cols < 0) + throw MatrixDimensionError("Matrix::Resize - rowNum and colNum must be positive", rows, cols, -1, -1); - return _data[i][j]; - } + if (rows == RowNum() && cols == ColNum()) // nice :) + return; - //////////////////// Arithmetic operators //////////////////// - Matrix operator-() // unary minus - { - Matrix temp(_rows, _cols); - for (int i = 0; i < _rows; i++) - for (int j = 0; j < _cols; j++) - temp._data[i][j] = -_data[i][j]; - - return temp; - } - Matrix operator+( const Matrix &b ) const - { - if (_rows != b._rows || _cols != b._cols) - throw MatrixDimensionError("Matrix::operator+() - must be same dim", _rows, _cols, b._rows, b._cols); + if (_data != NULL) { + delete[](_data[0]); + delete[](_data); + } - Matrix temp(_rows, _cols); - for (size_t i = 0; i < _rows; i++) - for (size_t j = 0; j < _cols; j++) - temp._data[i][j] = b._data[i][j] + _data[i][j]; + Init(rows, cols); - return temp; - } - Matrix operator-( const Matrix &b ) const - { - if (_rows != b._rows || _cols != b._cols) - throw MatrixDimensionError("Matrix::operator-() - must be same dim", _rows, _cols, b._rows, b._cols); + for (int i = 0; i < _rows; ++i) + for (int j = 0; j < _cols; ++j) + _data[i][j] = 0; + } - Matrix temp(_rows, _cols); - for (int i = 0; i < _rows; i++) - for (int j = 0; j < _cols; j++) - temp._data[i][j] = _data[i][j] - b._data[i][j]; + typedef Type value_type; // make T available externally - return temp; - } - Matrix operator*( const Matrix &b ) const - { - if( ColNum() != b.RowNum() ) - throw MatrixDimensionError("Matrix::operator*() - a.colNum must be equal to b.rowNum", _rows, _cols, b._rows, b._cols); - - Matrix ret(RowNum(), b.ColNum()); - for( int i=0; i operator*( const Matrix &a, const Vector &b ) - { - if( a.ColNum() != b.size() ) - throw MatrixDimensionError("operator*(Mat a, Vec b) - a.colNum must be equal to vector size", a._rows, a._cols, (int) b.size(), -1); - - Vector ret(a.RowNum()); - for( int i=0; i operator*( const Vector &a, const Matrix &b ) - { - if( a.size() != b.RowNum() ) - { - //std::string error = std::format("Hello {}!\n", "world"); - throw MatrixDimensionError("operator*(Vec a, Mat b) - vector size must be equal to b.rowNum", (int) a.size(), -1, b._rows, b._cols); - } + return ret; + } - Vector ret(b.ColNum()); - for( int i=0; i VectorFromRow(int rowInd) const + { + if (rowInd < 0 || rowInd >= RowNum()) + throw MatrixAccessBoundsError("VectorFromRow - invalid row index", rowInd, 0, RowNum(), ColNum()); - return ret; - } + Vector ret(ColNum()); + for (int i = 0; i < ColNum(); i++) + ret[i] = (*this)(rowInd, i); - /////////////////////// Equality operations ////////////////////// - bool operator==( const Matrix &b ) const - { - if (_rows != b._rows || _cols != b._cols) - return false; + return ret; + } + Vector VectorFromColumn(int colInd) const + { + if (colInd < 0 || colInd >= ColNum()) + throw MatrixAccessBoundsError("VectorFromColumn - invalid column index", 0, colInd, RowNum(), ColNum()); - for (int i = 0; i < _rows; i++) - for (int j = 0; j < _cols; j++) - if (_data[i][j] != b._data[i][j]) - return false; + Vector ret(RowNum()); + for (int i = 0; i < RowNum(); i++) + ret[i] = (*this)(i, colInd); - return true; - } - bool operator!=( const Matrix &b ) const - { - return !(*this == b); - } + return ret; + } + Vector VectorFromDiagonal() const + { + if (RowNum() != ColNum()) + throw MatrixDimensionError("VectorFromDiagonal - must be square matrix", RowNum(), ColNum(), -1, -1); - bool IsEqual(const Matrix &b, Type eps=Defaults::MatrixEqualityPrecision) const - { - if( RowNum() != b.RowNum() || ColNum() != b.ColNum() ) - return false; - - for( int i=0; i eps ) - return false; - } - - return true; - } - static bool AreEqual(const Matrix &a, const Matrix &b, Type eps=Defaults::MatrixEqualityPrecision) - { - return a.IsEqual(b, eps); - } + Vector ret(RowNum()); + for (int i = 0; i < RowNum(); i++) + ret[i] = (*this)(i, i); - /////////////////// Trace, Inverse & Transpose /////////////////// - Type Trace() const - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("Matrix::Trace - must be square matrix", _rows, _cols, -1, -1); + return ret; + } - Type sum = 0; - for (int i = 0; i < RowNum(); i++) - sum += _data[i][i]; + ///////////////////// Matrix properties //////////////////// + bool IsSymmetric() const + { + if (RowNum() != ColNum()) + return false; - return sum; - } + for (int i = 0; i < RowNum(); i++) + for (int j = i + 1; j < ColNum(); j++) + if ((*this)[i][j] != (*this)[j][i]) + return false; - void Invert() - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("Matrix::Invert - must be square matrix", _rows, _cols, -1, -1); - - Matrix& a = *this; - Matrix b(RowNum(), 1); // dummy rhs - - b(0,0) = 1.0; - - int i,icol,irow,j,k,l,ll; - Type dum,pivinv; - Real big; - - int n=a.RowNum(); - int m=b.ColNum(); - std::vector indxc(n),indxr(n),ipiv(n); - for (j=0;j= big) { - big=Abs(a[j][k]); - irow=j; - icol=k; - } - } - } - ++(ipiv[icol]); - if (irow != icol) { - for (l=0;l=0;l--) { - if (indxr[l] != indxc[l]) - for (k=0;k eps) + return false; - void Transpose() - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("Matrix::Transpose - in-place Transpose possible only for square matrix", _rows, _cols, -1, -1); + return true; + } - for (int i = 0; i < RowNum(); i++) - for (int j = i+1; j < ColNum(); j++) - std::swap(_data[i][j], _data[j][i]); - } - Matrix GetTranspose() const - { - Matrix ret(ColNum(), RowNum()); + bool IsUnit(double eps = Defaults::IsMatrixUnitPrecision) const + { + for (int i = 0; i < RowNum(); i++) + for (int j = 0; j < ColNum(); j++) + if (i != j && Abs((*this)[i][j]) > eps) + return false; - for (int i = 0; i < ColNum(); i++) - for (int j = 0; j < RowNum(); j++) - ret[i][j] = _data[j][i]; + for (int i = 0; i < RowNum(); i++) + if (Abs((*this)[i][i] - Real{ 1.0 }) > eps) + return false; - return ret; - } + return true; + } - /////////////////////////// I/O /////////////////////////// - std::string to_string(int width, int precision) const - { - std::stringstream str; + bool IsDiagDominant() const + { + for (int i = 0; i < RowNum(); i++) + { + Type sum = 0.0; + for (int j = 0; j < ColNum(); j++) + if (i != j) + sum += Abs((*this)[i][j]); - Print(str, width, precision); + if (Abs((*this)[i][i]) < sum) + return false; + } + return true; + } - return str.str(); - } - void Print(std::ostream& stream, int width, int precision) const - { - stream << "Rows: " << RowNum() << " Cols: " << ColNum() << std::endl; - - for (size_t i = 0; i < RowNum(); i++) - { - stream << "[ "; - for (size_t j = 0; j < ColNum(); j++) - { - stream << std::setw(width) << std::setprecision(precision) << _data[i][j] << ", "; - } - stream << " ]" << std::endl; - } - } - void Print(std::ostream& stream, int width, int precision, double epsZero) const - { - stream << "Rows: " << RowNum() << " Cols: " << ColNum() << std::endl; - - for (size_t i = 0; i < RowNum(); i++) - { - stream << "[ "; - for (size_t j = 0; j < ColNum(); j++) - { - if( Abs(_data[i][j]) < epsZero ) - stream << std::setw(width) << std::setprecision(precision) << 0.0 << ", "; - else - stream << std::setw(width) << std::setprecision(precision) << _data[i][j] << ", "; - } - stream << " ]" << std::endl; - } - } - friend std::ostream& operator<<(std::ostream& stream, const Matrix &a) - { - a.Print(stream, 10, 3); + ///////////////////// Assignment operators //////////////////// + Matrix& operator=(const Matrix& m) + { + if (this == &m) + return *this; - return stream; - } - - static bool LoadFromFile(std::string inFileName, Matrix &outMat) - { - std::ifstream file(inFileName); + if (_rows != m._rows || _cols != m._cols) + { + delete[](_data[0]); + delete[](_data); - if (file.is_open()) - { - int rows, cols; - file >> rows >> cols; + Init(m._rows, m._cols); + } - outMat.Resize(rows, cols); - for (size_t i = 0; i < outMat.RowNum(); i++) - for (size_t j = 0; j < outMat.ColNum(); j++) - file >> outMat[i][j]; + for (int i = 0; i < _rows; ++i) + for (int j = 0; j < _cols; ++j) + _data[i][j] = m._data[i][j]; - file.close(); - } - else { - std::cerr << "Error: could not open file " << inFileName << " for reading." << std::endl; - return false; - } + return *this; + } + Matrix& operator=(Matrix&& m) + { + if (this == &m) + return *this; - return true; - } - static bool SaveToFile(const Matrix &mat, std::string inFileName) - { - std::ofstream file(inFileName); - - if (file.is_open()) - { - file << mat.RowNum() << " " << mat.ColNum() << std::endl; - for (size_t i = 0; i < mat.RowNum(); i++) - { - for (size_t j = 0; j < mat.ColNum(); j++) - file << mat(i, j) << " "; - file << std::endl; - } - file.close(); - } - else { - std::cerr << "Error: could not create file " << inFileName << " for writing." << std::endl; - return false; - } + std::swap(_data, m._data); + std::swap(_rows, m._rows); + std::swap(_cols, m._cols); - return true; - } - }; + return *this; + } - //////////////////// Default Matrix typdefs //////////////////// - typedef Matrix MatrixInt; - typedef Matrix MatrixFlt; - typedef Matrix MatrixDbl; - typedef Matrix MatrixComplex; + //////////////////// Access operators /////////////////////// + Type* operator[](int i) { return _data[i]; } + const Type* operator[](const int i) const { return _data[i]; } - typedef Matrix MatI; - typedef Matrix MatF; - typedef Matrix MatD; - typedef Matrix MatC; -} -/////////////////////////// ./include/base/MatrixBandDiag.h /////////////////////////// + Type operator()(int i, int j) const { return _data[i][j]; } + Type& operator()(int i, int j) { return _data[i][j]; } + // version with checking bounds + Type ElemAt(int i, int j) const + { + if (i < 0 || i >= RowNum() || j < 0 || j >= ColNum()) + throw MatrixAccessBoundsError("Matrix::ElemAt", i, j, RowNum(), ColNum()); -namespace MML -{ - template - class TridiagonalMatrix - { - private: - int _dim; - Vector _a; - Vector _diag; - Vector _c; - - public: - TridiagonalMatrix(int dim, const Vector &a, const Vector &diag, const Vector &c) : _a(a), _diag(diag), _c(c), _dim(dim) - { - if (a.size() != dim || diag.size() != dim || c.size() != dim) - throw("Error in TridiagonalMatrix constructor: wrong dimensions"); - } - - TridiagonalMatrix(int dim, std::initializer_list values) : _dim(dim), _a(dim), _diag(dim), _c(dim) - { - if (values.size() != dim*3-2) - throw("Error in TridiagonalMatrix constructor: wrong dimensions"); - - auto val = values.begin(); - _a[0] = 0.0; - _diag[0] = *val++; - _c[0] = *val++; - for (int i = 1; i < dim-1; ++i) - { - _a[i] = *val++; - _diag[i] = *val++; - _c[i] = *val++; - } - _a[dim-1] = *val++; - _diag[dim-1] = *val++; - _c[dim-1] = 0.0; - } - - int RowNum() const { return _dim; } - int ColNum() const { return _dim; } - - Type operator()(int i, int j) const { - if( i == j ) - return _diag[i]; - else if( i == j-1 ) - return _c[i]; - else if( i == j+1 && j < _dim-1 ) - return _a[i]; - else - return 0.0; - } - Type& operator()(int i, int j) { - if( i == j ) - return _diag[i]; - else if( i == j-1 ) - return _c[i]; - else if( i == j+1 && j < _dim-1 ) - return _a[i]; - else - throw MatrixAccessBoundsError("TridiagonalMatrix::operator()", i, j, _dim, _dim); - } - - // TODO 0.9 - dodati IsEqual - // TODO 1.0 - imaju li smisla operacije s regularnim matricama? I BandDiag? - TridiagonalMatrix operator+( const TridiagonalMatrix &b ) const - { - if (_dim != b._dim ) - throw MatrixDimensionError("TridiagonalMatrix::operator+() - must be same dim", _dim, _dim, b._dim, b._dim); - - TridiagonalMatrix temp(*this); - for(int i=0; i<_a.size(); i++) - temp._a[i] += b._a[i]; - for(int i=0; i<_diag.size(); i++) - temp._diag[i] += b._diag[i]; - for(int i=0; i<_c.size(); i++) - temp._c[i] += b._c[i]; - - return temp; - } - TridiagonalMatrix operator-( const TridiagonalMatrix &b ) const - { - if (_dim != b._dim ) - throw MatrixDimensionError("TridiagonalMatrix::operator+() - must be same dim", _dim, _dim, b._dim, b._dim); + return _data[i][j]; + } + Type& ElemAt(int i, int j) + { + if (i < 0 || i >= RowNum() || j < 0 || j >= ColNum()) + throw MatrixAccessBoundsError("Matrix::ElemAt", i, j, RowNum(), ColNum()); - TridiagonalMatrix temp(*this); - for(int i=0; i<_a.size(); i++) - temp._a[i] -= b._a[i]; - for(int i=0; i<_diag.size(); i++) - temp._diag[i] -= b._diag[i]; - for(int i=0; i<_c.size(); i++) - temp._c[i] -= b._c[i]; + return _data[i][j]; + } - return temp; - } + //////////////////// Arithmetic operators //////////////////// + Matrix operator-() // unary minus + { + Matrix temp(_rows, _cols); + for (int i = 0; i < _rows; i++) + for (int j = 0; j < _cols; j++) + temp._data[i][j] = -_data[i][j]; - friend TridiagonalMatrix operator*( const TridiagonalMatrix &a, Type b ) - { - int i, j; - TridiagonalMatrix ret(a); + return temp; + } + Matrix operator+(const Matrix& b) const + { + if (_rows != b._rows || _cols != b._cols) + throw MatrixDimensionError("Matrix::operator+() - must be same dim", _rows, _cols, b._rows, b._cols); - for(int i=0; i& a, Type b) + { + int i, j; + Matrix ret(a.RowNum(), a.ColNum()); - void Solve(Vector &rhs, Vector &sol) - { - int j,n=_a.size(); - Real bet; - Vector gam(n); - - if (_diag[0] == 0.0) - throw("Error 1 in tridag"); - - sol[0]=rhs[0]/(bet=_diag[0]); - - for (j=1;j=0;j--) - sol[j] -= gam[j+1]*sol[j+1]; - } - Vector Solve(Vector &rhs) - { - Vector sol(rhs.size()); - Solve(rhs, sol); - return sol; - } + for (i = 0; i < a.RowNum(); i++) + for (j = 0; j < a.ColNum(); j++) + ret[i][j] = a._data[i][j] * b; - void Print(std::ostream& stream, int width, int precision) const - { - stream << "Dim: " << _dim << std::endl; - for (int i = 0; i < _dim; i++) - { - stream << "[ "; - for (int j = 0; j < _dim; j++) { - stream << std::setw(width) << std::setprecision(precision) << (*this)(i,j) << ", "; - } - stream << " ]" << std::endl; - } - } - }; + return ret; + } + friend Matrix operator*(const Type &a, const Matrix& b) + { + int i, j; + Matrix ret(b.RowNum(), b.ColNum()); - class BandDiagonalMatrix - { - // The array a[0..n-1][0..m1+m2] stores A as follows: The diagonal elements are in a[0..n-1][m1]. - // Subdiagonal elements are in a[j..n-1][0..m1-1] with j > 0 appropriate to the number of - // elements on each subdiagonal. Superdiagonal elements are in a[0..j][m1+1..m1+m2] with - // j < n-1 appropriate to the number of elements on each superdiagonal. - int _dim; - int _m1, _m2; - Matrix _data; - public: - int RowNum() const { return _dim; } - int ColNum() const { return _dim; } - - BandDiagonalMatrix(int dim, int m1, int m2, const Matrix &data) : _dim(dim), _m1(m1), _m2(m2), _data(data) - { - if (data.RowNum() != dim || data.ColNum() != m1+m2+1) - throw("Error in BandDiagonalMatrix constructor: wrong dimensions"); - } + for (i = 0; i < b.RowNum(); i++) + for (j = 0; j < b.ColNum(); j++) + ret[i][j] = a * b._data[i][j]; - Real operator()(int i, int j) const { - if( i > j + _m1 || j > i + _m2 ) - return 0.0; - else - return _data[i][j-i+_m1]; - } - Real& operator()(int i, int j) { - if( i > j + _m1 || j > i + _m2 ) - throw MatrixAccessBoundsError("BandDiagonalMatrix::operator()", i, j, _dim, _dim); - else - return _data[i][j-i+_m1]; - } - - // Matrix multiply b = A * x, where A is band-diagonal with m1 rows below the diagonal and - // m2 rows above. The input vector is x[0..n-1] and the output vector is b[0..n-1]. - void banmul(Matrix &a, const int m1, const int m2, Vector &x, Vector &b) - { - int i,j,k,tmploop,n=a.RowNum(); - for (i=0;i operator*(Vector &x) - { - Vector b(x.size()); - banmul(_data, _m1, _m2, x, b); - return b; - } + return ret; + } + friend Vector operator*(const Matrix& a, const Vector& b) + { + if (a.ColNum() != b.size()) + throw MatrixDimensionError("operator*(Mat a, Vec b) - a.colNum must be equal to vector size", a._rows, a._cols, (int)b.size(), -1); - void Print(std::ostream& stream, int width, int precision) const - { - stream << "Dim: " << _dim << std::endl; - for (int i = 0; i < _dim; i++) - { - stream << "[ "; - for (int j = 0; j < _dim; j++) { - stream << std::setw(width) << std::setprecision(precision) << (*this)(i,j) << ", "; - } - stream << " ]" << std::endl; - } - } - }; -} + Vector ret(a.RowNum()); + for (int i = 0; i < a.RowNum(); i++) + { + ret[i] = 0; + for (int j = 0; j < a.ColNum(); j++) + ret[i] += a._data[i][j] * b[j]; + } -/////////////////////////// ./include/base/MatrixNM.h /////////////////////////// + return ret; + } + friend Vector operator*(const Vector& a, const Matrix& b) + { + if (a.size() != b.RowNum()) + { + //std::string error = std::format("Hello {}!\n", "world"); + throw MatrixDimensionError("operator*(Vec a, Mat b) - vector size must be equal to b.rowNum", (int)a.size(), -1, b._rows, b._cols); + } + Vector ret(b.ColNum()); + for (int i = 0; i < b.ColNum(); i++) + { + ret[i] = 0; + for (int j = 0; j < b.RowNum(); j++) + ret[i] += a[j] * b(j, i); + } -namespace MML -{ - template - class MatrixNM - { - public: - Type _vals[N][M] = {{0}}; + return ret; + } - public: - ////////////////////////// Constructors ///////////////////////// - MatrixNM() {} - MatrixNM(std::initializer_list values) - { - auto val = values.begin(); - for (size_t i = 0; i < RowNum(); ++i) - for (size_t j = 0; j < ColNum(); ++j) - if( val != values.end() ) - _vals[i][j] = *val++; - else - _vals[i][j] = 0.0; - } - MatrixNM(const MatrixNM &m) - { - for (size_t i = 0; i < RowNum(); ++i) - for (size_t j = 0; j < ColNum(); ++j) - _vals[i][j] = m._vals[i][j]; - } - MatrixNM(const Type &m) // initialize as diagonal matrix - { - for( int i=0; i& b, Type eps = Defaults::MatrixEqualityPrecision) const + { + if (RowNum() != b.RowNum() || ColNum() != b.ColNum()) + return false; - return unitMat; - } - void MakeUnitMatrix(void) - { - if (RowNum() == ColNum()) - { - for (int i = 0; i < RowNum(); i++) - for (int j = 0; j < ColNum(); j++) - if (i == j) - _vals[i][j] = 1; - else - _vals[i][j] = 0; - } - else - throw MatrixDimensionError("MatrixNM::MakeUnitMatrix - must be square matrix", N, M, -1, -1); - } + for (int i = 0; i < RowNum(); i++) + for (int j = 0; j < ColNum(); j++) + { + if (Abs(_data[i][j] - b._data[i][j]) > eps) + return false; + } - MatrixNM GetLower(bool includeDiagonal = true) const - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("Matrix::GetLower - must be square matrix", N, M, -1, -1); - - MatrixNM ret; - for( int i=0; i RowMatrixFromVector(const VectorN &b) - { - MatrixNM ret; - for( int j=0; j ColumnMatrixFromVector(const VectorN &b) - { - MatrixNM ret; - for( int i=0; i indxc(n), indxr(n), ipiv(n); + for (j = 0; j < n; j++) ipiv[j] = 0; + for (i = 0; i < n; i++) { + big = 0.0; + for (j = 0; j < n; j++) + if (ipiv[j] != 1) + for (k = 0; k < n; k++) { + if (ipiv[k] == 0) { + if (Abs(a[j][k]) >= big) { + big = Abs(a[j][k]); + irow = j; + icol = k; + } + } + } + ++(ipiv[icol]); + if (irow != icol) { + for (l = 0; l < n; l++) std::swap(a[irow][l], a[icol][l]); + for (l = 0; l < m; l++) std::swap(b[irow][l], b[icol][l]); + } + indxr[i] = irow; + indxc[i] = icol; + + if (a[icol][icol] == 0.0) + throw SingularMatrixError("Matrix::Invert, Singular Matrix"); + + pivinv = 1.0 / a[icol][icol]; + a[icol][icol] = 1.0; + for (l = 0; l < n; l++) a[icol][l] *= pivinv; + for (l = 0; l < m; l++) b[icol][l] *= pivinv; + for (ll = 0; ll < n; ll++) + if (ll != icol) { + dum = a[ll][icol]; + a[ll][icol] = 0.0; + for (l = 0; l < n; l++) a[ll][l] -= a[icol][l] * dum; + for (l = 0; l < m; l++) b[ll][l] -= b[icol][l] * dum; + } + } + for (l = n - 1; l >= 0; l--) { + if (indxr[l] != indxc[l]) + for (k = 0; k < n; k++) + std::swap(a[k][indxr[l]], a[k][indxc[l]]); + } + } + Matrix GetInverse() const + { + if (RowNum() != ColNum()) + throw MatrixDimensionError("Matrix::GetInverse - must be square matrix", _rows, _cols, -1, -1); - return ret; - } - static MatrixNM DiagonalMatrixFromVector(const VectorN &b) - { - MatrixNM ret; - for( int i=0; i VectorFromRow(const MatrixNM &a, int rowInd) - { - VectorN ret; - for( int j=0; j VectorFromColumn(const MatrixNM &a, int colInd) - { - VectorN ret; - for( int i=0; i VectorFromDiagonal(const MatrixNM &a) - { - VectorN ret; - for( int i=0; i=RowNum() || j<0 || j>=ColNum() ) - throw MatrixAccessBoundsError("MatrixNM::ElemAt", i, j, RowNum(), ColNum()); + for (size_t i = 0; i < RowNum(); i++) + { + stream << "[ "; + for (size_t j = 0; j < ColNum(); j++) + { + if (Abs(_data[i][j]) < epsZero) + stream << std::setw(width) << std::setprecision(precision) << 0.0 << ", "; + else + stream << std::setw(width) << std::setprecision(precision) << _data[i][j] << ", "; + } + stream << " ]" << std::endl; + } + } + friend std::ostream& operator<<(std::ostream& stream, const Matrix& a) + { + a.Print(stream, 10, 3); - return _vals[i][j]; - } - Type& ElemAt(int i, int j) - { - if( i<0 || i>=RowNum() || j<0 || j>=ColNum() ) - throw MatrixAccessBoundsError("MatrixNM::ElemAt", i, j, RowNum(), ColNum()); + return stream; + } - return _vals[i][j]; - } + static bool LoadFromFile(std::string inFileName, Matrix& outMat) + { + std::ifstream file(inFileName); - //////////////////// Arithmetic operators //////////////////// - MatrixNM operator-() // unary minus - { - MatrixNM temp; - for (size_t i = 0; i < RowNum(); i++) - for (size_t j = 0; j < ColNum(); j++) - temp._vals[i][j] = -_vals[i][j]; - return temp; - } - MatrixNM operator+(const MatrixNM &b) const - { - MatrixNM temp; - for (size_t i = 0; i < RowNum(); i++) - for (size_t j = 0; j < ColNum(); j++) - temp._vals[i][j] = b._vals[i][j] + _vals[i][j]; - return temp; - } - MatrixNM operator-(const MatrixNM &b) const - { - MatrixNM temp; - for (size_t i = 0; i < RowNum(); i++) - for (size_t j = 0; j < ColNum(); j++) - temp._vals[i][j] = _vals[i][j] - b._vals[i][j]; - return temp; - } - template - MatrixNM operator*( const MatrixNM &b ) const - { - MatrixNM ret; + if (file.is_open()) + { + int rows, cols; + file >> rows >> cols; - for( int i=0; i> outMat[i][j]; - return ret; - } + file.close(); + } + else { + std::cerr << "Error: could not open file " << inFileName << " for reading." << std::endl; + return false; + } - friend MatrixNM operator*( const MatrixNM &a, Type b ) - { - int i, j; - MatrixNM ret(a); + return true; + } + static bool SaveToFile(const Matrix& mat, std::string inFileName) + { + std::ofstream file(inFileName); - for( i=0; i MatrixInt; + typedef Matrix MatrixFlt; + typedef Matrix MatrixDbl; + typedef Matrix MatrixComplex; - return ret; - } - friend MatrixNM operator*( Type a, const MatrixNM &b ) - { - int i, j; - MatrixNM ret; + typedef Matrix MatI; + typedef Matrix MatF; + typedef Matrix MatD; + typedef Matrix MatC; +} +/////////////////////////// ./include/base/MatrixBandDiag.h /////////////////////////// - for( i=0; i + class TridiagonalMatrix + { + private: + int _dim; + Vector _a; + Vector _diag; + Vector _c; - friend VectorN operator*( const MatrixNM &a, const VectorN &b ) - { - int i, j; - VectorN ret; - - for( i=0; i& a, const Vector& diag, const Vector& c) : _a(a), _diag(diag), _c(c), _dim(dim) + { + if (a.size() != dim || diag.size() != dim || c.size() != dim) + throw("Error in TridiagonalMatrix constructor: wrong dimensions"); + } - return ret; - } - friend VectorN operator*( const VectorN &a, const MatrixNM &b ) - { - int i, j; - VectorN ret; - - for( i=0; i values) : _dim(dim), _a(dim), _diag(dim), _c(dim) + { + if (values.size() != dim * 3 - 2) + throw("Error in TridiagonalMatrix constructor: wrong dimensions"); + + auto val = values.begin(); + _a[0] = 0.0; + _diag[0] = *val++; + _c[0] = *val++; + for (int i = 1; i < dim - 1; ++i) + { + _a[i] = *val++; + _diag[i] = *val++; + _c[i] = *val++; + } + _a[dim - 1] = *val++; + _diag[dim - 1] = *val++; + _c[dim - 1] = 0.0; + } - return ret; - } + int RowNum() const { return _dim; } + int ColNum() const { return _dim; } - /////////////////////// Equality operations ////////////////////// - bool operator==( const MatrixNM &b ) const - { - for (int i = 0; i < N; i++) - for (int j = 0; j < M; j++) - if (_vals[i][j] != b._vals[i][j]) - return false; + Type operator()(int i, int j) const { + if (i == j) + return _diag[i]; + else if (i == j - 1) + return _c[i]; + else if (i == j + 1 && j < _dim - 1) + return _a[i]; + else + return 0.0; + } + Type& operator()(int i, int j) { + if (i == j) + return _diag[i]; + else if (i == j - 1) + return _c[i]; + else if (i == j + 1 && j < _dim - 1) + return _a[i]; + else + throw MatrixAccessBoundsError("TridiagonalMatrix::operator()", i, j, _dim, _dim); + } - return true; - } - bool operator!=( const MatrixNM &b ) const - { - return !(*this == b); - } + // TODO 0.9 - dodati IsEqual + // TODO 1.0 - imaju li smisla operacije s regularnim matricama? I BandDiag? + TridiagonalMatrix operator+(const TridiagonalMatrix& b) const + { + if (_dim != b._dim) + throw MatrixDimensionError("TridiagonalMatrix::operator+() - must be same dim", _dim, _dim, b._dim, b._dim); + + TridiagonalMatrix temp(*this); + for (int i = 0; i < _a.size(); i++) + temp._a[i] += b._a[i]; + for (int i = 0; i < _diag.size(); i++) + temp._diag[i] += b._diag[i]; + for (int i = 0; i < _c.size(); i++) + temp._c[i] += b._c[i]; + + return temp; + } + TridiagonalMatrix operator-(const TridiagonalMatrix& b) const + { + if (_dim != b._dim) + throw MatrixDimensionError("TridiagonalMatrix::operator+() - must be same dim", _dim, _dim, b._dim, b._dim); + + TridiagonalMatrix temp(*this); + for (int i = 0; i < _a.size(); i++) + temp._a[i] -= b._a[i]; + for (int i = 0; i < _diag.size(); i++) + temp._diag[i] -= b._diag[i]; + for (int i = 0; i < _c.size(); i++) + temp._c[i] -= b._c[i]; + + return temp; + } - bool IsEqual(const MatrixNM &b, Type eps=Defaults::MatrixEqualityPrecision) const - { - for( int i=0; i eps ) - return false; - - return true; - } - bool AreEqual(const MatrixNM &a, const MatrixNM &b, Type eps=Defaults::MatrixEqualityPrecision) const - { - return a.IsEqual(b, eps); - } + friend TridiagonalMatrix operator*(const TridiagonalMatrix& a, Type b) + { + int i, j; + TridiagonalMatrix ret(a); - /////////////////// Trace, Inverse & Transpose /////////////////// - Type Trace() const - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("MatrixNM::Trace - must be square matrix", N, M, -1, -1); + for (int i = 0; i < ret._a.size(); i++) + ret._a[i] *= b; + for (int i = 0; i < ret._diag.size(); i++) + ret._diag[i] *= b; + for (int i = 0; i < ret._c.size(); i++) + ret._c[i] *= b; - Type sum = 0; - for (int i = 0; i < RowNum(); i++) - sum += _vals[i][i]; + return ret; + } + friend TridiagonalMatrix operator*(Type a, const TridiagonalMatrix& b) + { + int i, j; + TridiagonalMatrix ret(b); - return sum; - } + for (int i = 0; i < ret._a.size(); i++) + ret._a[i] *= a; + for (int i = 0; i < ret._diag.size(); i++) + ret._diag[i] *= a; + for (int i = 0; i < ret._c.size(); i++) + ret._c[i] *= a; - void Invert() - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("MatrixNM::Invert - must be square matrix", N, M, -1, -1); - - MatrixNM& a = *this; - MatrixNM b; // dummy rhs - - b(0,0) = 1.0; - - int i,icol,irow,j,k,l,ll; - Type big,dum,pivinv; - - int n=RowNum(); - int m=b.ColNum(); - std::vector indxc(n),indxr(n),ipiv(n); - for (j=0;j= big) { - big=std::abs(a._vals[j][k]); - irow=j; - icol=k; - } - } - } - ++(ipiv[icol]); - if (irow != icol) { - for (l=0;l=0;l--) { - if (indxr[l] != indxc[l]) - for (k=0;k GetTranspose() const - { - MatrixNM ret; + // TODO - invert + // TODO - 0.9 transpose - for (size_t i = 0; i < ColNum(); i++) - for (size_t j = 0; j < RowNum(); j++) - ret._vals[i][j] = _vals[j][i]; + void Solve(Vector& rhs, Vector& sol) + { + int j, n = _a.size(); + Real bet; + Vector gam(n); - return ret; - } - - /////////////////////////// I/O /////////////////////////// - std::string to_string(int width, int precision) const - { - std::stringstream str; + if (_diag[0] == 0.0) + throw("Error 1 in tridag"); - Print(str, width, precision); + sol[0] = rhs[0] / (bet = _diag[0]); - return str.str(); - } - void Print(std::ostream& stream, int width, int precision) const - { - stream << "Rows: " << RowNum() << " Cols: " << ColNum() << std::endl; - - for (size_t i = 0; i < RowNum(); i++) - { - stream << "[ "; - for (size_t j = 0; j < ColNum(); j++) - { - stream << std::setw(width) << std::setprecision(precision) << _vals[i][j] << ", "; - } - stream << " ]" << std::endl; - } - } - friend std::ostream& operator<<(std::ostream& stream, const MatrixNM &a) - { - a.Print(stream, 10, 3); + for (j = 1; j < n; j++) { + gam[j] = _c[j - 1] / bet; + bet = _diag[j] - _a[j] * gam[j]; - return stream; - } - }; + if (bet == 0.0) + throw("Error 2 in tridag"); - /////////////////// Default MatrixNM typdefs /////////////////// - typedef MatrixNM Matrix22Flt; - typedef MatrixNM Matrix33Flt; - typedef MatrixNM Matrix44Flt; + sol[j] = (rhs[j] - _a[j] * sol[j - 1]) / bet; + } + for (j = (n - 2); j >= 0; j--) + sol[j] -= gam[j + 1] * sol[j + 1]; + } + Vector Solve(Vector& rhs) + { + Vector sol(rhs.size()); + Solve(rhs, sol); + return sol; + } - typedef MatrixNM Matrix22Dbl; - typedef MatrixNM Matrix33Dbl; - typedef MatrixNM Matrix44Dbl; + void Print(std::ostream& stream, int width, int precision) const + { + stream << "Dim: " << _dim << std::endl; + for (int i = 0; i < _dim; i++) + { + stream << "[ "; + for (int j = 0; j < _dim; j++) { + stream << std::setw(width) << std::setprecision(precision) << (*this)(i, j) << ", "; + } + stream << " ]" << std::endl; + } + } + }; - typedef MatrixNM Matrix22Complex; - typedef MatrixNM Matrix33Complex; - typedef MatrixNM Matrix44Complex; + class BandDiagonalMatrix + { + // The array a[0..n-1][0..m1+m2] stores A as follows: The diagonal elements are in a[0..n-1][m1]. + // Subdiagonal elements are in a[j..n-1][0..m1-1] with j > 0 appropriate to the number of + // elements on each subdiagonal. Superdiagonal elements are in a[0..j][m1+1..m1+m2] with + // j < n-1 appropriate to the number of elements on each superdiagonal. + int _dim; + int _m1, _m2; + Matrix _data; + public: + int RowNum() const { return _dim; } + int ColNum() const { return _dim; } - typedef MatrixNM Mat22F; - typedef MatrixNM Mat33F; - typedef MatrixNM Mat44F; + BandDiagonalMatrix(int dim, int m1, int m2, const Matrix& data) : _dim(dim), _m1(m1), _m2(m2), _data(data) + { + if (data.RowNum() != dim || data.ColNum() != m1 + m2 + 1) + throw("Error in BandDiagonalMatrix constructor: wrong dimensions"); + } - typedef MatrixNM Mat22D; - typedef MatrixNM Mat33D; - typedef MatrixNM Mat44D; + Real operator()(int i, int j) const { + if (i > j + _m1 || j > i + _m2) + return 0.0; + else + return _data[i][j - i + _m1]; + } + Real& operator()(int i, int j) { + if (i > j + _m1 || j > i + _m2) + throw MatrixAccessBoundsError("BandDiagonalMatrix::operator()", i, j, _dim, _dim); + else + return _data[i][j - i + _m1]; + } - typedef MatrixNM Mat22C; - typedef MatrixNM Mat33C; - typedef MatrixNM Mat44C; -} + // Matrix multiply b = A * x, where A is band-diagonal with m1 rows below the diagonal and + // m2 rows above. The input vector is x[0..n-1] and the output vector is b[0..n-1]. + void banmul(Matrix& a, const int m1, const int m2, Vector& x, Vector& b) + { + int i, j, k, tmploop, n = a.RowNum(); + for (i = 0; i < n; i++) { + k = i - m1; + tmploop = std::min(m1 + m2 + 1, int(n - k)); + b[i] = 0.0; + for (j = std::max(0, -k); j < tmploop; j++) b[i] += a[i][j] * x[j + k]; + } + } -/////////////////////////// ./include/base/MatrixSparse.h /////////////////////////// + // TODO - HIGH, SREDNJE, implement basic operations between BandDiag and BandDiag -namespace MML -{ - // TODO - BIG!!! implement sparse matrix + + Vector operator*(Vector& x) + { + Vector b(x.size()); + banmul(_data, _m1, _m2, x, b); + return b; + } + + void Print(std::ostream& stream, int width, int precision) const + { + stream << "Dim: " << _dim << std::endl; + for (int i = 0; i < _dim; i++) + { + stream << "[ "; + for (int j = 0; j < _dim; j++) { + stream << std::setw(width) << std::setprecision(precision) << (*this)(i, j) << ", "; + } + stream << " ]" << std::endl; + } + } + }; } -/////////////////////////// ./include/base/MatrixSym.h /////////////////////////// +/////////////////////////// ./include/base/MatrixNM.h /////////////////////////// namespace MML { - template - class MatrixSym - { - private: - int _dim; - Type **_ptrData; + template + class MatrixNM + { + public: + Type _vals[N][M] = { {0} }; - void Init(int dim) - { - if( dim <= 0 ) - throw MatrixDimensionError("MatrixSym::Init - dimension must be positive", dim, -1, -1, -1); + public: + ////////////////////////// Constructors ///////////////////////// + MatrixNM() {} + MatrixNM(std::initializer_list values) + { + auto val = values.begin(); + for (size_t i = 0; i < RowNum(); ++i) + for (size_t j = 0; j < ColNum(); ++j) + if (val != values.end()) + _vals[i][j] = *val++; + else + _vals[i][j] = 0.0; + } + MatrixNM(const MatrixNM& m) + { + for (size_t i = 0; i < RowNum(); ++i) + for (size_t j = 0; j < ColNum(); ++j) + _vals[i][j] = m._vals[i][j]; + } + MatrixNM(const Type& m) // initialize as diagonal matrix + { + for (int i = 0; i < N; i++) + _vals[i][i] = Type{ m }; + } - _dim = dim; + typedef Type value_type; // make T available externally - _ptrData = new Type*[dim]; + //////////////////////// Standard stuff //////////////////////// + int RowNum() const { return N; } + int ColNum() const { return M; } - int numElem = (dim * dim + dim )/ 2; - if (_ptrData) - _ptrData[0] = numElem>0 ? new Type[numElem] : nullptr; - - for (int i=1; i values) : _dim(dim) - { - Init(dim); - if (values.size() != (dim * dim + dim )/ 2) - throw MatrixDimensionError("Error in MatrixSym constructor: wrong dimensions", dim, -1, -1, -1); - - auto val = values.begin(); - for (int i = 0; i < _dim; ++i) - for (int j = 0; j <= i; ++j) - if( val != values.end() ) - _ptrData[i][j] = *val++; - } - MatrixSym(const MatrixSym &m) : _dim(m._dim) - { - Init(m._dim); + for (int i = 0; i < N; i++) + unitMat._vals[i][i] = 1.0; - for (int i = 0; i < _dim; ++i) - for (int j = 0; j <= i; ++j) - _ptrData[i][j] = m._ptrData[i][j]; - } - MatrixSym(MatrixSym &&m) - { - _ptrData = m._ptrData; + return unitMat; + } + void MakeUnitMatrix(void) + { + if (RowNum() == ColNum()) + { + for (int i = 0; i < RowNum(); i++) + for (int j = 0; j < ColNum(); j++) + if (i == j) + _vals[i][j] = 1; + else + _vals[i][j] = 0; + } + else + throw MatrixDimensionError("MatrixNM::MakeUnitMatrix - must be square matrix", N, M, -1, -1); + } - _dim = m._dim; + MatrixNM GetLower(bool includeDiagonal = true) const + { + if (RowNum() != ColNum()) + throw MatrixDimensionError("Matrix::GetLower - must be square matrix", N, M, -1, -1); - m._dim = 0; - m._ptrData = nullptr; - } - ~MatrixSym() - { - if (_ptrData != NULL) { - delete[] (_ptrData[0]); - delete[] (_ptrData); - } - } + MatrixNM ret; + for (int i = 0; i < RowNum(); i++) + { + if (includeDiagonal) + for (int j = 0; j < i + 1; j++) + ret[i][j] = _vals[i][j]; + else + for (int j = 0; j < i; j++) + ret[i][j] = _vals[i][j]; + } + + return ret; + } + MatrixNM GetUpper(bool includeDiagonal = true) const + { + if (RowNum() != ColNum()) + throw MatrixDimensionError("Matrix::GetUpper - must be square matrix", N, M, -1, -1); - typedef Type value_type; // make T available externally + MatrixNM ret; + for (int i = 0; i < RowNum(); i++) + { + if (includeDiagonal) + for (int j = i; j < ColNum(); j++) + ret[i][j] = _vals[i][j]; + else + for (int j = i + 1; j < ColNum(); j++) + ret[i][j] = _vals[i][j]; + } - //////////////////////// Standard stuff //////////////////////// - int Dim() const { return (int) _dim; } - int RowNum() const { return (int) _dim; } - int ColNum() const { return (int) _dim; } + return ret; + } - bool IsEqual(const MatrixSym &b, Type eps=Defaults::MatrixEqualityPrecision) const - { - if( Dim() != b.Dim() ) - return false; - - for( int i=0; i eps ) - return false; - } - - return true; - } - static bool AreEqual(const MatrixSym &a, const MatrixSym &b, Type eps=Defaults::MatrixEqualityPrecision) - { - return a.IsEqual(b, eps); - } + ///////////////////// Vector-Matrix conversion ///////////////////// + static MatrixNM RowMatrixFromVector(const VectorN& b) + { + MatrixNM ret; + for (int j = 0; j < M; j++) + ret._vals[0][j] = b[j]; - Matrix GetAsMatrix() const - { - Matrix ret(Dim(), Dim()); + return ret; + } + static MatrixNM ColumnMatrixFromVector(const VectorN& b) + { + MatrixNM ret; + for (int i = 0; i < M; i++) + ret._vals[i][0] = b[i]; - for( int i=0; i DiagonalMatrixFromVector(const VectorN& b) + { + MatrixNM ret; + for (int i = 0; i < N; i++) + ret[i][i] = b[i]; - return ret; - } + return ret; + } + static VectorN VectorFromRow(const MatrixNM& a, int rowInd) + { + VectorN ret; + for (int j = 0; j < M; j++) + ret[j] = a._vals[rowInd][j]; - ///////////////////// Init from regular Matrix ///////////////////// - MatrixSym InitFromLower(Matrix &b) - { - if( b.RowNum() != b.ColNum() ) - throw MatrixDimensionError("MatrixSym::InitFromLower - must be square matrix", b.RowNum(), b.ColNum(), -1, -1); + return ret; + } + static VectorN VectorFromColumn(const MatrixNM& a, int colInd) + { + VectorN ret; + for (int i = 0; i < N; i++) + ret[i] = a._vals[i][colInd]; - MatrixSym ret(b.RowNum()); - for( int i=0; i VectorFromDiagonal(const MatrixNM& a) + { + VectorN ret; + for (int i = 0; i < N; i++) + ret[i] = a._vals[i][i]; - return ret; - } - MatrixSym InitFromUpper(Matrix &b) - { - if( b.RowNum() != b.ColNum() ) - throw MatrixDimensionError("MatrixSym::InitFromUpper - must be square matrix", b.RowNum(), b.ColNum(), -1, -1); + return ret; + } - MatrixSym ret(b.RowNum()); - for( int i=0; i VectorFromRow(int rowInd) - { - if( rowInd >= RowNum() ) - throw MatrixAccessBoundsError("VectorFromRow - row index must be less then a.RowNum()", rowInd, 0, RowNum(), ColNum()); + return *this; + } + MatrixNM& operator=(const Type& m) + { + if (this == &m) + return *this; - Vector ret(ColNum()); - for( int i=0; ia(rowInd,i); + for (size_t i = 0; i < RowNum(); ++i) + for (size_t j = 0; j < ColNum(); ++j) + _vals[i][j] = m; - return ret; - } - Vector VectorFromColumn(int colInd) - { - if( colInd >= ColNum() ) - throw MatrixAccessBoundsError("VectorFromColumn - column index must be less then a.ColNum()", 0, colInd, RowNum(), ColNum()); + return *this; + } - Vector ret(RowNum()); - for( int i=0; ia(i,colInd); + //////////////////// Access operators /////////////////////// + Type* operator[](int i) { return _vals[i]; } + const Type* operator[](const int i) const { return _vals[i]; } - return ret; - } - Vector VectorFromDiagonal() - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("VectorFromDiagonal - must be square matrix", RowNum(), ColNum(), -1, -1); + Type operator()(int i, int j) const { return _vals[i][j]; } + Type& operator()(int i, int j) { return _vals[i][j]; } - Vector ret(RowNum()); - for( int i=0; ia(i,i); + // version with checking bounds + Type ElemAt(int i, int j) const + { + if (i < 0 || i >= RowNum() || j < 0 || j >= ColNum()) + throw MatrixAccessBoundsError("MatrixNM::ElemAt", i, j, RowNum(), ColNum()); - return ret; - } + return _vals[i][j]; + } + Type& ElemAt(int i, int j) + { + if (i < 0 || i >= RowNum() || j < 0 || j >= ColNum()) + throw MatrixAccessBoundsError("MatrixNM::ElemAt", i, j, RowNum(), ColNum()); - /////////////////////////// Operators /////////////////////////// - MatrixSym &operator=(const MatrixSym &m) - { - if (this == &m) - return *this; + return _vals[i][j]; + } - if (_dim != m._dim ) - { - delete[] (_ptrData[0]); - delete[] (_ptrData); + //////////////////// Arithmetic operators //////////////////// + MatrixNM operator-() // unary minus + { + MatrixNM temp; + for (size_t i = 0; i < RowNum(); i++) + for (size_t j = 0; j < ColNum(); j++) + temp._vals[i][j] = -_vals[i][j]; + return temp; + } + MatrixNM operator+(const MatrixNM& b) const + { + MatrixNM temp; + for (size_t i = 0; i < RowNum(); i++) + for (size_t j = 0; j < ColNum(); j++) + temp._vals[i][j] = b._vals[i][j] + _vals[i][j]; + return temp; + } + MatrixNM operator-(const MatrixNM& b) const + { + MatrixNM temp; + for (size_t i = 0; i < RowNum(); i++) + for (size_t j = 0; j < ColNum(); j++) + temp._vals[i][j] = _vals[i][j] - b._vals[i][j]; + return temp; + } + template + MatrixNM operator*(const MatrixNM& b) const + { + MatrixNM ret; - Init(m.Dim()); - } + for (int i = 0; i < ret.RowNum(); i++) + for (int j = 0; j < ret.ColNum(); j++) + { + ret._vals[i][j] = 0; + for (int k = 0; k < ColNum(); k++) + ret._vals[i][j] += _vals[i][k] * b._vals[k][j]; + } - for (size_t i = 0; i < m.Dim(); ++i) - for (size_t j = 0; j <= i; ++j) - _ptrData[i][j] = m._ptrData[i][j]; + return ret; + } - return *this; - } - MatrixSym &operator=(MatrixSym &&m) - { - if (this == &m) - return *this; + friend MatrixNM operator*(const MatrixNM& a, Type b) + { + int i, j; + MatrixNM ret(a); - std::swap(_ptrData, m._ptrData); - std::swap(_dim, m._dim); + for (i = 0; i < a.RowNum(); i++) + for (j = 0; j < a.ColNum(); j++) + ret._vals[i][j] *= b; - return *this; - } + return ret; + } + friend MatrixNM operator/(const MatrixNM& a, Type b) + { + int i, j; + MatrixNM ret(a); - //////////////////////// Access operators /////////////////////// - Type operator()(int i, int j) const { - if( i < j ) - return _ptrData[j][i]; - else - return _ptrData[i][j]; - } - Type& operator()(int i, int j){ - if( i < j ) - return _ptrData[j][i]; - else - return _ptrData[i][j]; - } + for (i = 0; i < a.RowNum(); i++) + for (j = 0; j < a.ColNum(); j++) + ret._vals[i][j] /= b; - // version with checking bounds - Type ElemAt(int i, int j) const - { - if( i<0 || i>=RowNum() || j<0 || j>=ColNum() ) - throw MatrixAccessBoundsError("MatrixSym::ElemAt", i, j, RowNum(), ColNum()); + return ret; + } + friend MatrixNM operator*(Type a, const MatrixNM& b) + { + int i, j; + MatrixNM ret; - return operator()(i,j); - } - Type& ElemAt(int i, int j) - { - if( i<0 || i>=RowNum() || j<0 || j>=ColNum() ) - throw MatrixAccessBoundsError("MatrixSym::ElemAt", i, j, RowNum(), ColNum()); + for (i = 0; i < b.RowNum(); i++) + for (j = 0; j < b.ColNum(); j++) + ret._vals[i][j] = a * b._vals[i][j]; - return operator()(i,j); - } + return ret; + } - /////////////////////// Arithmetic operators ////////////////////// - MatrixSym operator+( const MatrixSym &b ) const - { - if (_dim != b._dim ) - throw MatrixDimensionError("MatrixSym::operator+() - must be same dim", _dim, -1, b._dim, -1); + friend VectorN operator*(const MatrixNM& a, const VectorN& b) + { + int i, j; + VectorN ret; - MatrixSym temp(_dim); - for (size_t i = 0; i < Dim(); i++) - for (size_t j = 0; j <= i; j++) - temp._ptrData[i][j] = b._ptrData[i][j] + _ptrData[i][j]; + for (i = 0; i < a.RowNum(); i++) + { + ret[i] = 0; + for (j = 0; j < a.ColNum(); j++) + ret[i] += a._vals[i][j] * b[j]; + } - return temp; - } - MatrixSym operator-() - { - MatrixSym temp(_dim); - for (size_t i = 0; i < Dim(); i++) - for (size_t j = 0; j <= i; j++) - temp._ptrData[i][j] = -_ptrData[i][j]; - - return temp; - } - MatrixSym operator-( const MatrixSym &b ) const - { - if (_dim != b._dim ) - throw MatrixDimensionError("MatrixSym::operator-() - must be same dim", _dim, -1, b._dim, -1); + return ret; + } + friend VectorN operator*(const VectorN& a, const MatrixNM& b) + { + int i, j; + VectorN ret; - MatrixSym temp(_dim); - for (size_t i = 0; i < Dim(); i++) - for (size_t j = 0; j <= i; j++) - temp._ptrData[i][j] = b._ptrData[i][j] - _ptrData[i][j]; + for (i = 0; i < b.ColNum(); i++) + { + ret[i] = 0; + for (j = 0; j < b.RowNum(); j++) + ret[i] += a[j] * b._vals[j][i]; + } - return temp; - } + return ret; + } - Matrix operator*( const MatrixSym &b ) const - { - if( Dim() != b.Dim() ) - throw MatrixDimensionError("MatrixSym::operator*(MatrixSym &) - a.colNum must be equal to b.rowNum", _dim, _dim, b._dim, b._dim); - - Matrix ret(RowNum(), b.ColNum()); - for( int i=0; i operator*( const Matrix &b ) const - { - if( Dim() != b.RowNum() ) - throw MatrixDimensionError("MatrixSym::operator*(Matrix &) - a.colNum must be equal to b.rowNum", _dim, _dim, b.RowNum(), b.ColNum()); - - Matrix ret(RowNum(), b.ColNum()); - for( int i=0; i eps) + return false; - for( i=0; i b; // dummy rhs + + b(0, 0) = 1.0; + + int i, icol, irow, j, k, l, ll; + Type big, dum, pivinv; + + int n = RowNum(); + int m = b.ColNum(); + std::vector indxc(n), indxr(n), ipiv(n); + for (j = 0; j < n; j++) ipiv[j] = 0; + for (i = 0; i < n; i++) { + big = 0.0; + for (j = 0; j < n; j++) + if (ipiv[j] != 1) + for (k = 0; k < n; k++) { + if (ipiv[k] == 0) { + if (std::abs(a._vals[j][k]) >= big) { + big = std::abs(a._vals[j][k]); + irow = j; + icol = k; + } + } + } + ++(ipiv[icol]); + if (irow != icol) { + for (l = 0; l < n; l++) std::swap(a._vals[irow][l], a._vals[icol][l]); + for (l = 0; l < m; l++) std::swap(b._vals[irow][l], b._vals[icol][l]); + } + indxr[i] = irow; + indxc[i] = icol; + + if (a._vals[icol][icol] == 0.0) + throw SingularMatrixError("MatrixNM::Invert, gaussj: Singular Matrix"); + + pivinv = 1.0 / a._vals[icol][icol]; + a._vals[icol][icol] = 1.0; + for (l = 0; l < n; l++) a._vals[icol][l] *= pivinv; + for (l = 0; l < m; l++) b._vals[icol][l] *= pivinv; + for (ll = 0; ll < n; ll++) + if (ll != icol) { + dum = a._vals[ll][icol]; + a._vals[ll][icol] = 0.0; + for (l = 0; l < n; l++) a._vals[ll][l] -= a._vals[icol][l] * dum; + for (l = 0; l < m; l++) b._vals[ll][l] -= b._vals[icol][l] * dum; + } + } + for (l = n - 1; l >= 0; l--) { + if (indxr[l] != indxc[l]) + for (k = 0; k < n; k++) + std::swap(a._vals[k][indxr[l]], a._vals[k][indxc[l]]); + } + } + MatrixNM GetInverse() const + { + if (RowNum() != ColNum()) + throw MatrixDimensionError("MatrixNM::GetInverse - must be square matrix", N, M, -1, -1); - return ret; - } + MatrixNM a(*this); // making a copy, where inverse will be stored at the end - friend Vector operator*( const MatrixSym &a, const Vector &b ) - { - if( a.Dim() != b.size() ) - throw MatrixDimensionError("operator*(MatSym a, Vec b) - a.Dim must be equal to vector size", a.Dim(), a.Dim(), (int) b.size(), -1); - - Vector ret(a.RowNum()); - for( int i=0; i operator*( const Vector &a, const MatrixSym &b ) - { - if( a.size() != b.Dim() ) - { - //std::string error = std::format("Hello {}!\n", "world"); - throw MatrixDimensionError("operator*(Vec a, MatSym b) - vector size must be equal to b.Dim", (int) a.size(), -1, b.Dim(), -1); - } + return a; + } - Vector ret(b.Dim()); - for( int i=0; i GetTranspose() const + { + MatrixNM ret; - //////////////////////// Inverse /////////////////////// - Matrix GetInverse() const - { - if( RowNum() != ColNum() ) - throw MatrixDimensionError("MatrixSym::GetInverse - must be square matrix", _dim, _dim, -1, -1); - - Matrix a = this->GetAsMatrix(); // making a copy, where inverse will be stored at the end - - a.Invert(); - - return a; - } - - /////////////////////////// I/O /////////////////////////// - std::string to_string(int width, int precision) const - { - std::stringstream str; + for (size_t i = 0; i < ColNum(); i++) + for (size_t j = 0; j < RowNum(); j++) + ret._vals[i][j] = _vals[j][i]; - Print(str, width, precision); + return ret; + } - return str.str(); - } - void Print(std::ostream& stream, int width, int precision) const - { - stream << "Rows: " << Dim() << std::endl; - - for (int i = 0; i < Dim(); i++) - { - stream << "[ "; - for (int j = 0; j < Dim(); j++) - { - stream << std::setw(width) << std::setprecision(precision) << (*this)(i, j) << ", "; - } - stream << " ]" << std::endl; - } - } - friend std::ostream& operator<<(std::ostream& stream, const MatrixSym &a) - { - a.Print(stream, 10, 3); + /////////////////////////// I/O /////////////////////////// + std::string to_string(int width, int precision) const + { + std::stringstream str; - return stream; - } - }; -} -/////////////////////////// ./include/base/Matrix3D.h /////////////////////////// + Print(str, width, precision); -namespace MML -{ - template - class Matrix3D { - private: - int _n; - int _m; - int _k; - Type ***_v; - - public: - Matrix3D(): _n(0), _m(0), _k(0), _v(nullptr) {} - - Matrix3D(int n, int m, int k) : _n(n), _m(m), _k(k), _v(new Type**[n]) - { - int i,j; - - _v[0] = new Type*[n*m]; - _v[0][0] = new Type[n*m*k]; - - for(j=1; j Matrix22Flt; + typedef MatrixNM Matrix33Flt; + typedef MatrixNM Matrix44Flt; - Type operator()(int i, int j, int k) const { return _v[i][j][k]; } - Type& operator()(int i, int j, int k) { return _v[i][j][k]; } + typedef MatrixNM Matrix22Dbl; + typedef MatrixNM Matrix33Dbl; + typedef MatrixNM Matrix44Dbl; - inline int dim1() const { return _n; } - inline int dim2() const { return _m; } - inline int dim3() const { return _k; } - }; -} + typedef MatrixNM Matrix22Complex; + typedef MatrixNM Matrix33Complex; + typedef MatrixNM Matrix44Complex; -/////////////////////////// ./include/base/Tensor.h /////////////////////////// + typedef MatrixNM Mat22F; + typedef MatrixNM Mat33F; + typedef MatrixNM Mat44F; + typedef MatrixNM Mat22D; + typedef MatrixNM Mat33D; + typedef MatrixNM Mat44D; + typedef MatrixNM Mat22C; + typedef MatrixNM Mat33C; + typedef MatrixNM Mat44C; +} + +/////////////////////////// ./include/base/MatrixSparse.h /////////////////////////// namespace MML { - enum TensorIndexType { CONTRAVARIANT, COVARIANT }; - - template - class Tensor2 : public ITensor2 - { - // TODO - MED, LAKO, u MatrixNM! - // TODO - MED, LAKO, osnovne operacije +, -, * - // TODO - contraction - Real _coeff[N][N] = { 0 }; - public: - int _numContravar; - int _numCovar; - bool _isContravar[2]; - - Tensor2(int nContra, int nCo) : _numContravar(nContra), _numCovar(nCo) - { - // mora biti covar + contra == 2 - if(_numContravar + _numCovar != 2) - throw TensorCovarContravarNumError("Tensor2 ctor, wrong number of contravariant and covariant indices", nContra, nCo); - - for(int i=0; i - class Tensor3 : public ITensor3 - { - Real _coeff[N][N][N] = { 0 }; - public: - int _numContravar; - int _numCovar; - bool _isContravar[3]; - - Tensor3(int nContra, int nCo) : _numContravar(nContra), _numCovar(nCo) { - // mora biti covar + contra == 3 - if(_numContravar + _numCovar != 3) - throw TensorCovarContravarNumError("Tensor3 ctor, wrong number of contravariant and covariant indices", nContra, nCo); - - for(int i=0; i - class Tensor4 : public ITensor4 - { - Real _coeff[N][N][N][N] = { 0 }; - public: - int _numContravar; - int _numCovar; - bool _isContravar[4]; - - Tensor4(int nContra, int nCo) : _numContravar(nContra), _numCovar(nCo) { - if(_numContravar + _numCovar != 4) - throw TensorCovarContravarNumError("Tensor4 ctor, wrong number of contravariant and covariant indices", nContra, nCo); - - for(int i=0; i + class MatrixSym + { + private: + int _dim; + Type** _ptrData; - int NumContravar() const { return _numContravar; } - int NumCovar() const { return _numCovar;} - - Real Component(int i, int j, int k, int l) const { return _coeff[i][j][k][l]; } - Real& Component(int i, int j, int k, int l) { return _coeff[i][j][k][l];} - }; + void Init(int dim) + { + if (dim <= 0) + throw MatrixDimensionError("MatrixSym::Init - dimension must be positive", dim, -1, -1, -1); - template - class Tensor5 : public ITensor5 - { - Real _coeff[N][N][N][N][N]; - public: - int _numContravar; - int _numCovar; - bool _isContravar[5]; - - Tensor5(int nContra, int nCo) : _numContravar(nContra), _numCovar(nCo) { - if(_numContravar + _numCovar != 5) - throw TensorCovarContravarNumError("Tensor5 ctor, wrong number of contravariant and covariant indices", nContra, nCo); - - for(int i=0; i 0 ? new Type[numElem] : nullptr; + for (int i = 1; i < dim; i++) + _ptrData[i] = _ptrData[i - 1] + i; + } -namespace MML -{ - // TODO - HIGH, TESKO?, dodati RealPolynom klasu, izvedenu iz IRealFunction implementirati derive (derivs - sve, first, sec, third zasebno)& integrate - template - class Polynom - { - private: - std::vector<_CoefType> _vecCoef; - public: - Polynom() {} - Polynom(int n) { _vecCoef.resize(n+1); } - Polynom(const std::vector<_CoefType> &vecCoef) : _vecCoef(vecCoef) {} - Polynom(std::initializer_list<_CoefType> list) : _vecCoef(list) {} - Polynom(const Polynom &Copy) : _vecCoef(Copy._vecCoef) {} - ~Polynom() {} - - Polynom& operator=(const Polynom &Copy) { _vecCoef = Copy._vecCoef; return *this; } - - int GetDegree() const { return (int) _vecCoef.size() - 1; } - void SetDegree(int newDeg) { _vecCoef.resize(newDeg+1); } - - _Field operator[] (int i) const { return _vecCoef[i]; } - _Field& operator[] (int i) { return _vecCoef[i]; } - - _Field operator() (const _Field &x) { - int j = GetDegree(); - _Field p = _vecCoef[j]; - - while (j>0) - p = p*x + _vecCoef[--j]; - return p; - } - // Given the coefficients of a polynomial of degree nc as an array c[0..nc] of size nc+1 (with - // c[0] being the constant term), and given a value x, this routine fills an output array pd of size - // nd+1 with the value of the polynomial evaluated at x in pd[0], and the first nd derivatives at - // x in pd[1..nd]. - void Derive(const Real x, Vector &pd) - { - int nnd,j,i; - int nc=GetDegree(); - int nd=pd.size()-1; - Real cnst=1.0; - - pd[0]=(*this)[nc]; - for (j=1;j=0;i--) - { - nnd=(nd < (nc-i) ? nd : nc-i); - for (j=nnd;j>0;j--) - pd[j]=pd[j]*x+pd[j-1]; - - pd[0]=pd[0]*x + (*this)[i]; - } - for (i=2;i values) : _dim(dim) + { + Init(dim); + if (values.size() != (dim * dim + dim) / 2) + throw MatrixDimensionError("Error in MatrixSym constructor: wrong dimensions", dim, -1, -1, -1); + + auto val = values.begin(); + for (int i = 0; i < _dim; ++i) + for (int j = 0; j <= i; ++j) + if (val != values.end()) + _ptrData[i][j] = *val++; + } + MatrixSym(const MatrixSym& m) : _dim(m._dim) + { + Init(m._dim); - bool operator==(const Polynom &b) const - { - if( _vecCoef.size() != b._vecCoef.size() ) - return false; - for( int i=0; i<_vecCoef.size(); i++ ) - if( _vecCoef[i] != b._vecCoef[i] ) - return false; - return true; - } + for (int i = 0; i < _dim; ++i) + for (int j = 0; j <= i; ++j) + _ptrData[i][j] = m._ptrData[i][j]; + } + MatrixSym(MatrixSym&& m) + { + _ptrData = m._ptrData; - Polynom operator+(const Polynom &b) const - { - Polynom result; - int n = (int) std::max(_vecCoef.size(), b._vecCoef.size()); - result._vecCoef.resize(n); - for (int i = 0; i < n; i++) - { - if (i < _vecCoef.size()) - result._vecCoef[i] += _vecCoef[i]; - if (i < b._vecCoef.size()) - result._vecCoef[i] += b._vecCoef[i]; - } - return result; - } + _dim = m._dim; - Polynom operator-(const Polynom &b) const - { - Polynom result; - int n = (int) std::max(_vecCoef.size(), b._vecCoef.size()); - result._vecCoef.resize(n); - for (int i = 0; i < n; i++) - { - if (i < _vecCoef.size()) - result._vecCoef[i] += _vecCoef[i]; - if (i < b._vecCoef.size()) - result._vecCoef[i] -= b._vecCoef[i]; - } - return result; - } + m._dim = 0; + m._ptrData = nullptr; + } + ~MatrixSym() + { + if (_ptrData != NULL) { + delete[](_ptrData[0]); + delete[](_ptrData); + } + } - Polynom operator*(const Polynom &b) const - { - Polynom result; - - int n = (int) (_vecCoef.size() + b._vecCoef.size() - 1); - result._vecCoef.resize(n); - for (int i = 0; i < _vecCoef.size(); i++) - for (int j = 0; j < b._vecCoef.size(); j++) - result._vecCoef[i + j] += _vecCoef[i] * b._vecCoef[j]; - return result; - } + typedef Type value_type; // make T available externally - static void poldiv(const Polynom &u, const Polynom &v, Polynom &qout, Polynom &rout) - { - int k,j,n=u.GetDegree(),nv=v.GetDegree(); - - while (nv >= 0 && v._vecCoef[nv] == 0.) nv--; - - if (nv < 0) - throw("poldiv divide by zero polynomial"); - - Polynom r = u; - Polynom q(u.GetDegree()); - for (k=n-nv;k>=0;k--) - { - q[k]=r[nv+k]/v[nv]; - for (j=nv+k-1;j>=k;j--) - r[j] -= q[k]*v[j-k]; - } - for (j=nv;j<=n;j++) r[j]=0.0; + //////////////////////// Standard stuff //////////////////////// + int Dim() const { return (int)_dim; } + int RowNum() const { return (int)_dim; } + int ColNum() const { return (int)_dim; } - int nq=q.GetDegree(); - while (nq >= 0 && q[nv] == 0.) - nq--; + bool IsEqual(const MatrixSym& b, Type eps = Defaults::MatrixEqualityPrecision) const + { + if (Dim() != b.Dim()) + return false; - qout.SetDegree(nq-1); - for(j=0; j eps) + return false; + } - rout.SetDegree(nv-1); - for(j=0; j GetAsMatrix() const + { + Matrix ret(Dim(), Dim()); - friend Polynom operator/(const Polynom &a, _CoefType b) - { - Polynom ret; - ret._vecCoef.resize(a.GetDegree()+1); - for(int i=0; i<=a.GetDegree(); i++) - ret._vecCoef[i] = a._vecCoef[i] / b; - return ret; - } - - /////////////////////////// I/O /////////////////////////// - std::string to_string(int width, int precision) const - { - std::stringstream str; + for (int i = 0; i < Dim(); i++) + for (int j = 0; j < Dim(); j++) + ret[i][j] = (*this)(i, j); - Print(str, width, precision); + return ret; + } - return str.str(); - } + ///////////////////// Init from regular Matrix ///////////////////// + MatrixSym InitFromLower(Matrix& b) + { + if (b.RowNum() != b.ColNum()) + throw MatrixDimensionError("MatrixSym::InitFromLower - must be square matrix", b.RowNum(), b.ColNum(), -1, -1); - std::ostream& Print(std::ostream& stream, int width, int precision) const - { - for(int i=(int) _vecCoef.size()-1; i>=0; i--) - { - if( std::abs(_vecCoef[i]) == 0.0 ) - continue; - - if( i != _vecCoef.size()-1 ) - stream << " + "; - - if( i == 0 ) - stream << std::setw(width) << std::setprecision(precision) << _vecCoef[i]; - else if ( i == 1 ) - stream << std::setw(width) << std::setprecision(precision) << _vecCoef[i] << " * x" << i; - else - stream << std::setw(width) << std::setprecision(precision) << _vecCoef[i] << " * x^" << i; - } + MatrixSym ret(b.RowNum()); + for (int i = 0; i < b.RowNum(); i++) + for (int j = 0; j <= i; j++) + ret._ptrData[i][j] = b[i][j]; - return stream; - } + return ret; + } + MatrixSym InitFromUpper(Matrix& b) + { + if (b.RowNum() != b.ColNum()) + throw MatrixDimensionError("MatrixSym::InitFromUpper - must be square matrix", b.RowNum(), b.ColNum(), -1, -1); - std::ostream& Print(std::ostream& stream) const - { - for(int i=(int)_vecCoef.size()-1; i>=0; i--) - { - if( std::abs(_vecCoef[i]) == 0.0 ) - continue; - - if( i != _vecCoef.size()-1 ) - stream << " + "; - - if( i == 0 ) - stream << _vecCoef[i]; - else if ( i == 1 ) - stream << _vecCoef[i] << " * x" << i; - else - stream << _vecCoef[i] << " * x^" << i; - } + MatrixSym ret(b.RowNum()); + for (int i = 0; i < b.RowNum(); i++) + for (int j = i; j < b.RowNum(); j++) + ret._ptrData[i][j] = b[i][j]; - return stream; - } + return ret; + } - friend std::ostream& operator<<(std::ostream& stream, Polynom &a) - { - a.Print(stream); + ///////////////////// Vector-Matrix conversion ///////////////////// + Vector VectorFromRow(int rowInd) + { + if (rowInd >= RowNum()) + throw MatrixAccessBoundsError("VectorFromRow - row index must be less then a.RowNum()", rowInd, 0, RowNum(), ColNum()); - return stream; - } - }; + Vector ret(ColNum()); + for (int i = 0; i < ColNum(); i++) + ret[i] = this->a(rowInd, i); - typedef Polynom RealPolynom; - typedef Polynom ComplexPolynom; + return ret; + } + Vector VectorFromColumn(int colInd) + { + if (colInd >= ColNum()) + throw MatrixAccessBoundsError("VectorFromColumn - column index must be less then a.ColNum()", 0, colInd, RowNum(), ColNum()); - typedef Polynom, Real> Matrix2Polynom; - typedef Polynom, Real> Matrix3Polynom; - typedef Polynom, Real> Matrix4Polynom; -} + Vector ret(RowNum()); + for (int i = 0; i < RowNum(); i++) + ret[i] = this->a(i, colInd); -/////////////////////////// ./include/base/Algebra.h /////////////////////////// + return ret; + } + Vector VectorFromDiagonal() + { + if (RowNum() != ColNum()) + throw MatrixDimensionError("VectorFromDiagonal - must be square matrix", RowNum(), ColNum(), -1, -1); + Vector ret(RowNum()); + for (int i = 0; i < RowNum(); i++) + ret[i] = this->a(i, i); + return ret; + } -namespace MML -{ - // TODO - implement example groups - Z6, permutations - // TODO - vector space + Gram Schmidt - // TODO - linear transformations & OPERATORS - - // groups - // finitve ima i numElem - class GroupZ : public IGroup - { - public: - virtual int identity() const { return 0;} - virtual int inverse(const int& a) const { return -a;} - virtual int op(const int& a, const int& b) const { return a + b;} - }; - // FieldR - // FieldC -} -/////////////////////////// ./include/base/Geometry.h /////////////////////////// + /////////////////////////// Operators /////////////////////////// + MatrixSym& operator=(const MatrixSym& m) + { + if (this == &m) + return *this; + if (_dim != m._dim) + { + delete[](_ptrData[0]); + delete[](_ptrData); -namespace MML -{ - // TODO - MED, dodati Dist svugdje - class Point2Cartesian - { - private: - Real _x, _y; + Init(m.Dim()); + } - public: - Real X() const { return _x; } - Real& X() { return _x; } - Real Y() const { return _y; } - Real& Y() { return _y; } + for (size_t i = 0; i < m.Dim(); ++i) + for (size_t j = 0; j <= i; ++j) + _ptrData[i][j] = m._ptrData[i][j]; - Point2Cartesian() {} - Point2Cartesian(Real x, Real y) : _x(x), _y(y) {} + return *this; + } + MatrixSym& operator=(MatrixSym&& m) + { + if (this == &m) + return *this; - Real Dist(const Point2Cartesian &b) const { return sqrt(POW2(b._x - _x) + POW2(b._y - _y) ); } - }; + std::swap(_ptrData, m._ptrData); + std::swap(_dim, m._dim); - class Point2Polar - { - private: - Real _r, _phi; - - public: - Real R() const { return _r; } - Real& R() { return _r; } - Real Phi() const { return _phi; } - Real& Phi() { return _phi; } - - Point2Polar() {} - Point2Polar(Real r, Real phi) : _r(r), _phi(phi) {} + return *this; + } - Real Dist(const Point2Polar &b) const { return sqrt(R() * R() + b.R() * b.R() - 2 * R() * b.R() * cos(b.Phi() - Phi())); } - }; + //////////////////////// Access operators /////////////////////// + Type operator()(int i, int j) const { + if (i < j) + return _ptrData[j][i]; + else + return _ptrData[i][j]; + } + Type& operator()(int i, int j) { + if (i < j) + return _ptrData[j][i]; + else + return _ptrData[i][j]; + } - class Point3Cartesian - { - private: - Real _x, _y, _z; + // version with checking bounds + Type ElemAt(int i, int j) const + { + if (i < 0 || i >= RowNum() || j < 0 || j >= ColNum()) + throw MatrixAccessBoundsError("MatrixSym::ElemAt", i, j, RowNum(), ColNum()); - public: - Real X() const { return _x; } - Real& X() { return _x; } - Real Y() const { return _y; } - Real& Y() { return _y; } - Real Z() const { return _z; } - Real& Z() { return _z; } + return operator()(i, j); + } + Type& ElemAt(int i, int j) + { + if (i < 0 || i >= RowNum() || j < 0 || j >= ColNum()) + throw MatrixAccessBoundsError("MatrixSym::ElemAt", i, j, RowNum(), ColNum()); - Point3Cartesian() {} - Point3Cartesian(Real x, Real y, Real z) : _x(x), _y(y), _z(z) {} + return operator()(i, j); + } - Real Dist(const Point3Cartesian &b) const { return sqrt(POW2(b._x - _x) + POW2(b._y - _y) + POW2(b._z - _z)); } + /////////////////////// Arithmetic operators ////////////////////// + MatrixSym operator+(const MatrixSym& b) const + { + if (_dim != b._dim) + throw MatrixDimensionError("MatrixSym::operator+() - must be same dim", _dim, -1, b._dim, -1); - Point3Cartesian operator+(const Point3Cartesian &b) const { return Point3Cartesian(_x + b._x, _y + b._y, _z + b._z); } - Point3Cartesian operator-(const Point3Cartesian &b) const { return Point3Cartesian(_x - b._x, _y - b._y, _z - b._z); } + MatrixSym temp(_dim); + for (size_t i = 0; i < Dim(); i++) + for (size_t j = 0; j <= i; j++) + temp._ptrData[i][j] = b._ptrData[i][j] + _ptrData[i][j]; - friend Point3Cartesian operator*(const Point3Cartesian &a, Real b ) { return Point3Cartesian(a._x * b, a._y * b, a._z * b); } - friend Point3Cartesian operator*(Real a, const Point3Cartesian &b ) { return Point3Cartesian(a * b._x, a * b._y, a * b._z); } - friend Point3Cartesian operator/(const Point3Cartesian &a, Real b) { return Point3Cartesian(a._x / b, a._y / b, a._z / b); } - }; + return temp; + } + MatrixSym operator-() + { + MatrixSym temp(_dim); + for (size_t i = 0; i < Dim(); i++) + for (size_t j = 0; j <= i; j++) + temp._ptrData[i][j] = -_ptrData[i][j]; - class Triangle - { - private: - Real _a, _b, _c; + return temp; + } + MatrixSym operator-(const MatrixSym& b) const + { + if (_dim != b._dim) + throw MatrixDimensionError("MatrixSym::operator-() - must be same dim", _dim, -1, b._dim, -1); - public: - Real A() const { return _a; } - Real& A() { return _a; } - Real B() const { return _b; } - Real& B() { return _b; } - Real C() const { return _c; } - Real& C() { return _c; } + MatrixSym temp(_dim); + for (size_t i = 0; i < Dim(); i++) + for (size_t j = 0; j <= i; j++) + temp._ptrData[i][j] = b._ptrData[i][j] - _ptrData[i][j]; - Triangle() {} - Triangle(Real a, Real b, Real c) : _a(a), _b(b), _c(c) {} + return temp; + } - Real Area() const - { - Real s = (_a + _b + _c) / 2.0; - return sqrt(s * (s - _a) * (s - _b) * (s - _c)); - } - bool IsRight() const - { - return (POW2(_a) + POW2(_b) == POW2(_c)) || (POW2(_a) + POW2(_c) == POW2(_b)) || (POW2(_b) + POW2(_c) == POW2(_a)); - } - bool IsIsosceles() const - { - return (_a == _b) || (_a == _c) || (_b == _c); - } - bool IsEquilateral() const - { - return (_a == _b) && (_a == _c); - } - }; -} -/////////////////////////// ./include/base/VectorTypes.h /////////////////////////// + Matrix operator*(const MatrixSym& b) const + { + if (Dim() != b.Dim()) + throw MatrixDimensionError("MatrixSym::operator*(MatrixSym &) - a.colNum must be equal to b.rowNum", _dim, _dim, b._dim, b._dim); + Matrix ret(RowNum(), b.ColNum()); + for (int i = 0; i < ret.RowNum(); i++) + for (int j = 0; j < ret.ColNum(); j++) + { + ret[i][j] = 0; + for (int k = 0; k < ColNum(); k++) + ret[i][j] += (*this)(i, k) * b(k, j); + } -namespace MML -{ - class Vector2Cartesian : public VectorN - { - public: - Vector2Cartesian() {} - Vector2Cartesian(Real x, Real y) - { - _val[0] = x; - _val[1] = y; - } - Vector2Cartesian(const VectorN &b) : VectorN{b[0], b[1]} { } - Vector2Cartesian(std::initializer_list list) : VectorN(list) { } - Vector2Cartesian(const Point2Cartesian &a, const Point2Cartesian &b) - { - _val[0] = b.X() - a.X(); - _val[1] = b.Y() - a.Y(); - } + return ret; + } - Real X() const { return _val[0]; } - Real& X() { return _val[0]; } - Real Y() const { return _val[1]; } - Real& Y() { return _val[1]; } + Matrix operator*(const Matrix& b) const + { + if (Dim() != b.RowNum()) + throw MatrixDimensionError("MatrixSym::operator*(Matrix &) - a.colNum must be equal to b.rowNum", _dim, _dim, b.RowNum(), b.ColNum()); - friend Vector2Cartesian operator*(const Vector2Cartesian &a, Real b ) - { - Vector2Cartesian ret; - for(int i=0; i<2; i++) - ret._val[i] = a[i] * b; - return ret; - } - friend Vector2Cartesian operator*(Real a, const Vector2Cartesian &b ) - { - Vector2Cartesian ret; - for(int i=0; i<2; i++) - ret._val[i] = a * b[i]; - return ret; - } - friend Vector2Cartesian operator/(const Vector2Cartesian &a, Real b) - { - Vector2Cartesian ret; - for(int i=0; i<2; i++) - ret._val[i] = a[i] / b; - return ret; - } + Matrix ret(RowNum(), b.ColNum()); + for (int i = 0; i < ret.RowNum(); i++) + for (int j = 0; j < ret.ColNum(); j++) + { + ret[i][j] = 0; + for (int k = 0; k < ColNum(); k++) + ret[i][j] += (*this)(i, k) * b(k, j); + } - Vector2Cartesian GetUnitVector() const - { - VectorN res = (*this) / NormL2(); + return ret; + } - return Vector2Cartesian(res[0], res[1]); - } + friend MatrixSym operator*(const MatrixSym& a, Type b) + { + int i, j; + MatrixSym ret(a.Dim()); - friend Point2Cartesian operator+(const Point2Cartesian &a, const Vector2Cartesian &b) { return Point2Cartesian(a.X() + b[0], a.Y() + b[1]); } - friend Point2Cartesian operator-(const Point2Cartesian &a, const Vector2Cartesian &b) { return Point2Cartesian(a.X() - b[0], a.Y() - b[1]); } - }; + for (i = 0; i < a.Dim(); i++) + for (j = 0; j <= i; j++) + ret[i][j] = a._ptrData[i][j] * b; - class Vector2Polar : public VectorN - { - public: - Real R() const { return _val[0]; } - Real& R() { return _val[0]; } - Real Phi() const { return _val[1]; } - Real& Phi() { return _val[1]; } - - Vector2Polar() {} - Vector2Polar(Real r, Real phi) - { - _val[0] = r; - _val[1] = phi; - } - Vector2Polar(const VectorN &b) : VectorN{b[0], b[1]} { } - }; + return ret; + } + friend MatrixSym operator*(Type a, const MatrixSym& b) + { + int i, j; + MatrixSym ret(a.Dim()); - class Vector3Cartesian : public VectorN - { - public: - Real X() const { return _val[0]; } - Real& X() { return _val[0]; } - Real Y() const { return _val[1]; } - Real& Y() { return _val[1]; } - Real Z() const { return _val[2]; } - Real& Z() { return _val[2]; } - - Vector3Cartesian() : VectorN{0.0, 0.0, 0.0} { } - Vector3Cartesian(const VectorN &b) : VectorN{b[0], b[1], b[2]} { } - Vector3Cartesian(Real x, Real y, Real z) : VectorN{x, y, z} { } - Vector3Cartesian(std::initializer_list list) : VectorN(list) { } - Vector3Cartesian(const Point3Cartesian &a, const Point3Cartesian &b) - { - _val[0] = b.X() - a.X(); - _val[1] = b.Y() - a.Y(); - _val[2] = b.Z() - a.Z(); - } + for (i = 0; i < a.Dim(); i++) + for (j = 0; j <= i; j++) + ret[i][j] = a * b._ptrData[i][j]; - friend Vector3Cartesian operator*(const Vector3Cartesian &a, Real b ) - { - Vector3Cartesian ret; - for(int i=0; i<3; i++) - ret._val[i] = a[i] * b; - return ret; - } - friend Vector3Cartesian operator*(Real a, const Vector3Cartesian &b ) - { - Vector3Cartesian ret; - for(int i=0; i<3; i++) - ret._val[i] = a * b[i]; - return ret; - } - friend Vector3Cartesian operator/(const Vector3Cartesian &a, Real b) - { - Vector3Cartesian ret; - for(int i=0; i<3; i++) - ret._val[i] = a[i] / b; - return ret; - } + return ret; + } + friend MatrixSym operator/(const MatrixSym& a, Type b) + { + int i, j; + MatrixSym ret(a.Dim()); - friend Vector3Cartesian operator-(const Point3Cartesian &a, const Point3Cartesian &b) { return Vector3Cartesian{a.X() - b.X(), a.Y() - b.Y(), a.Z() - b.Z()}; } + for (i = 0; i < a.Dim(); i++) + for (j = 0; j <= i; j++) + ret[i][j] = a._ptrData[i][j] / b; - friend Point3Cartesian operator+(const Point3Cartesian &a, const Vector3Cartesian &b) { return Point3Cartesian(a.X() + b[0], a.Y() + b[1], a.Z() + b[2]); } - friend Point3Cartesian operator-(const Point3Cartesian &a, const Vector3Cartesian &b) { return Point3Cartesian(a.X() - b[0], a.Y() - b[1], a.Z() - b[2]); } + return ret; + } - Point3Cartesian getAsPoint() - { - return Point3Cartesian(_val[0], _val[1], _val[2]); - } - bool IsParallelTo(const Vector3Cartesian &b, Real eps = 1e-15) const - { - Real norm1 = NormL2(); - Real norm2 = b.NormL2(); + friend Vector operator*(const MatrixSym& a, const Vector& b) + { + if (a.Dim() != b.size()) + throw MatrixDimensionError("operator*(MatSym a, Vec b) - a.Dim must be equal to vector size", a.Dim(), a.Dim(), (int)b.size(), -1); - return std::abs(X() / norm1 - b.X() / norm2) < eps && - std::abs(Y() / norm1 - b.Y() / norm2) < eps && - std::abs(Z() / norm1 - b.Z() / norm2) < eps; - } + Vector ret(a.RowNum()); + for (int i = 0; i < a.Dim(); i++) + { + ret[i] = 0; + for (int j = 0; j < a.Dim(); j++) + ret[i] += a(i, j) * b[j]; + } - bool IsPerpendicularTo(const Vector3Cartesian &b, Real eps = 1e-15) const - { - if (std::abs(ScalarProd(*this, b)) < eps) - return true; - else - return false; - } + return ret; + } + friend Vector operator*(const Vector& a, const MatrixSym& b) + { + if (a.size() != b.Dim()) + { + //std::string error = std::format("Hello {}!\n", "world"); + throw MatrixDimensionError("operator*(Vec a, MatSym b) - vector size must be equal to b.Dim", (int)a.size(), -1, b.Dim(), -1); + } - Vector3Cartesian GetAsUnitVector() const - { - return Vector3Cartesian{(*this) / NormL2()}; - } - Vector3Cartesian GetAsUnitVectorAtPos(const Vector3Cartesian &pos) const - { - return Vector3Cartesian{(*this) / NormL2()}; - } + Vector ret(b.Dim()); + for (int i = 0; i < b.Dim(); i++) + { + ret[i] = 0; + for (int j = 0; j < b.Dim(); j++) + ret[i] += a[j] * b(i, j); + } - friend Real ScalarProd(const Vector3Cartesian &a, const Vector3Cartesian &b) - { - return a.ScalarProductCartesian(b); - } - friend Vector3Cartesian VectorProd(const Vector3Cartesian &a, const Vector3Cartesian &b) - { - Vector3Cartesian ret; + return ret; + } - ret.X() = a.Y() * b.Z() - a.Z() * b.Y(); - ret.Y() = a.Z() * b.X() - a.X() * b.Z(); - ret.Z() = a.X() * b.Y() - a.Y() * b.X(); + //////////////////////// Inverse /////////////////////// + Matrix GetInverse() const + { + if (RowNum() != ColNum()) + throw MatrixDimensionError("MatrixSym::GetInverse - must be square matrix", _dim, _dim, -1, -1); - return ret; - } + Matrix a = this->GetAsMatrix(); // making a copy, where inverse will be stored at the end - friend Real VectorsAngle(const Vector3Cartesian &a, const Vector3Cartesian &b) - { - Real cos_phi = ScalarProd(a, b) / (a.NormL2() * b.NormL2()); + a.Invert(); - return acos(cos_phi); - } - }; + return a; + } - class Vector3Spherical : public VectorN - { - public: - Real R() const { return _val[0]; } - Real& R() { return _val[0]; } - Real Theta() const { return _val[1]; } - Real& Theta() { return _val[1]; } - Real Phi() const { return _val[2]; } - Real& Phi() { return _val[2]; } - - Vector3Spherical() : VectorN{0.0, 0.0, 0.0} { } - Vector3Spherical(const VectorN &b) : VectorN{b[0], b[1], b[2]} { } - Vector3Spherical(Real r, Real theta, Real phi) : VectorN{r, theta, phi} { } - Vector3Spherical(std::initializer_list list) : VectorN(list) { } - - // TODO - HIGH, HARD, osnovne operacije +, - - Vector3Spherical GetAsUnitVector() const - { - return Vector3Spherical{1.0, Theta() , Phi()}; - } - Vector3Spherical GetAsUnitVectorAtPos(const Vector3Spherical &pos) const - { - return Vector3Spherical{R(), Theta() / pos.R(), Phi() / (pos.R() * sin(pos.Theta()))}; - } - std::ostream& PrintDeg(std::ostream& stream, int width, int precision) const - { - stream << "[ "; - stream << std::fixed << std::setw(width) << std::setprecision(precision); - stream << R(); - stream << ", " << Theta() * 180.0 / Constants::PI; - stream << ", " << Phi() * 180.0 / Constants::PI << " ]" << std::endl; - - return stream; - } - }; + /////////////////////////// I/O /////////////////////////// + std::string to_string(int width, int precision) const + { + std::stringstream str; - class Vector3Cylindrical : public VectorN - { - public: - Real R() const { return _val[0]; } - Real& R() { return _val[0]; } - Real Phi() const { return _val[1]; } - Real& Phi() { return _val[1]; } - Real Z() const { return _val[2]; } - Real& Z() { return _val[2]; } - - Vector3Cylindrical() : VectorN{0.0, 0.0, 0.0} { } - Vector3Cylindrical(const VectorN &b) : VectorN{b[0], b[1], b[2]} { } - Vector3Cylindrical(Real r, Real phi, Real z) : VectorN{r, phi, z} { } - Vector3Cylindrical(std::initializer_list list) : VectorN(list) { } - - // TODO - MED, implement Vector3Cylindrical GetAsUniTVector() - // TODO - MED, razmisliti generalno vektor i vektor at point - Vector3Cylindrical GetAsUnitVector() const - { - return Vector3Cylindrical{(*this) / NormL2()}; - } - Vector3Cylindrical GetAsUnitVectorAtPos(const Vector3Cylindrical &pos) const - { - return Vector3Cylindrical{R(), Phi() / pos.R(), Z()}; - } - }; + Print(str, width, precision); - typedef Vector3Cartesian Vec3Cart; - typedef Vector3Spherical Vec3Sph; - typedef Vector3Cylindrical Vec3Cyl; -} -/////////////////////////// ./include/interfaces/IFunction.h /////////////////////////// + return str.str(); + } + void Print(std::ostream& stream, int width, int precision) const + { + stream << "Rows: " << Dim() << std::endl; + + for (int i = 0; i < Dim(); i++) + { + stream << "[ "; + for (int j = 0; j < Dim(); j++) + { + stream << std::setw(width) << std::setprecision(precision) << (*this)(i, j) << ", "; + } + stream << " ]" << std::endl; + } + } + friend std::ostream& operator<<(std::ostream& stream, const MatrixSym& a) + { + a.Print(stream, 10, 3); + return stream; + } + }; +} +/////////////////////////// ./include/base/Matrix3D.h /////////////////////////// namespace MML { - ////////////////////////////////////////////////////////////////////// - template - class IFunction - { - public: - virtual _RetType operator()(_ArgType) const = 0; - }; + template + class Matrix3D { + private: + int _n; + int _m; + int _k; + Type*** _v; - ////////////////////////////////////////////////////////////////////// - class IRealFunction : public IFunction - { - public: - virtual Real operator()(Real) const = 0; + public: + Matrix3D() : _n(0), _m(0), _k(0), _v(nullptr) {} - void GetValues(Real x1, Real x2, int numPnt, Vector &outX, Vector &outY) - { - outX.Resize(numPnt); - outY.Resize(numPnt); + Matrix3D(int n, int m, int k) : _n(n), _m(m), _k(k), _v(new Type** [n]) + { + int i, j; - for (int i=0;i - class IScalarFunction : public IFunction &> - { - public: - virtual Real operator()(const VectorN &x) const = 0; - }; - - ////////////////////////////////////////////////////////////////////// - // TODO - real to vector spherical - template - class IRealToVectorFunction : public IFunction, Real> - { - public: - virtual VectorN operator()(Real x) const = 0; - }; + for (j = 1; j < m; j++) + _v[0][j] = _v[0][j - 1] + k; - ////////////////////////////////////////////////////////////////////// - template - class IVectorFunction : public IFunction, const VectorN &> - { - public: - virtual VectorN operator()(const VectorN &x) const = 0; + for (i = 1; i < n; i++) { + _v[i] = _v[i - 1] + m; + _v[i][0] = _v[i - 1][0] + m * k; - virtual Real operator()(const VectorN &x, int component) const - { - VectorN val = (*this)(x); - return val[component]; - } - }; + for (j = 1; j < m; j++) + _v[i][j] = _v[i][j - 1] + k; + } + } - ////////////////////////////////////////////////////////////////////// - template - class IVectorFunctionNM : public IFunction, const VectorN &> - { - public: - virtual VectorN operator()(const VectorN &x) const = 0; - virtual Real operator()(const VectorN &x, int component) const - { - VectorN val = (*this)(x); - return val[component]; - } - }; + ~Matrix3D() + { + if (_v != NULL) { + delete[](_v[0][0]); + delete[](_v[0]); + delete[](_v); + } + } - ////////////////////////////////////////////////////////////////////// - template - class IParametricCurve : public IRealToVectorFunction - { - public: - virtual VectorN operator()(Real x) const = 0; + //subscripting: pointer to row i + inline Type** operator[](const int i) { return _v[i]; } + inline const Type* const* operator[](const int i) const { return _v[i]; } - virtual Real getMinT() const = 0; - virtual Real getMaxT() const = 0; + Type operator()(int i, int j, int k) const { return _v[i][j][k]; } + Type& operator()(int i, int j, int k) { return _v[i][j][k]; } - // TODO - finish IsClosed() - bool isClosed(double tCycleStart, double tCycleEnd, double tVerificationIntervalEnd) const { - // u t1 i t2 moraju biti isti - // i onda do kraja intervala provjeriti da li se po tockama trace-a slaze - return false; - } + inline int dim1() const { return _n; } + inline int dim2() const { return _m; } + inline int dim3() const { return _k; } + }; +} - std::vector> GetTrace(double t1, double t2, int numPoints) const - { - std::vector> ret; - double deltaT = (t2 - t1) / (numPoints - 1); - for( Real t=t1; t<=t2; t+=deltaT ) - ret.push_back((*this)(t)); - return ret; - } - }; - - ////////////////////////////////////////////////////////////////////// - // simple regular surface, defined on rectangular coordinate patch - template - class IParametricSurface : public IFunction, const VectorN &> - { - public: - virtual VectorN operator()(Real u, Real w) const = 0; - - virtual Real getMinX() const = 0; - virtual Real getMaxX() const = 0; - virtual Real getMinY() const = 0; - virtual Real getMaxY() const = 0; - - virtual VectorN operator()(const VectorN &coord) const - { - return operator()(coord[0], coord[1]); - } - bool Serialize2DCartesian(Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, std::string fileName) const - { - return false; - } - }; +/////////////////////////// ./include/base/Tensor.h /////////////////////////// - // complex surface, with fixed u limits, but variable w limits (dependent on u) - template - class IParametricSurfaceComplex : public IFunction, const VectorN &> - { - public: - virtual VectorN operator()(Real u, Real w) const = 0; - - virtual Real getMinX() const = 0; - virtual Real getMaxX() const = 0; - virtual Real getMinY(Real x) const = 0; - virtual Real getMaxY(Real x) const = 0; - virtual VectorN operator()(const VectorN &coord) const - { - return operator()(coord[0], coord[1]); - } - }; - ////////////////////////////////////////////////////////////////////// - template - class ITensorField2 : public IFunction, const VectorN & > - { - int _numContravar; - int _numCovar; - public: - ITensorField2(int numContra, int numCo) : _numContravar(numContra), _numCovar(numCo) { } +namespace MML +{ + enum TensorIndexType { CONTRAVARIANT, COVARIANT }; - int getNumContravar() const { return _numContravar; } - int getNumCovar() const { return _numCovar; } + template + class Tensor2 : public ITensor2 + { + // TODO - MED, LAKO, u MatrixNM! + // TODO - MED, LAKO, osnovne operacije +, -, * + // TODO - contraction + Real _coeff[N][N] = { 0 }; + public: + int _numContravar; + int _numCovar; + bool _isContravar[2]; - virtual Real Component(int i, int j, const VectorN &pos) const = 0; - }; + Tensor2(int nContra, int nCo) : _numContravar(nContra), _numCovar(nCo) + { + // mora biti covar + contra == 2 + if (_numContravar + _numCovar != 2) + throw TensorCovarContravarNumError("Tensor2 ctor, wrong number of contravariant and covariant indices", nContra, nCo); - template - class ITensorField3 : public IFunction, const VectorN & > - { - int _numContravar; - int _numCovar; - public: - int getNumContravar() const { return _numContravar; } - int getNumCovar() const { return _numCovar; } - - virtual Real Component(int i, int j, int k, const VectorN &pos) const = 0; - }; + for (int i = 0; i < nContra; i++) + _isContravar[i] = true; - template - class ITensorField4 : public IFunction, const VectorN & > - { - int _numContravar; - int _numCovar; - public: - int getNumContravar() const { return _numContravar; } - int getNumCovar() const { return _numCovar; } - - virtual Real Component(int i, int j, int k, int l, const VectorN &pos) const = 0; - }; + for (int i = nContra; i < nContra + nCo; i++) + _isContravar[i] = false; + } + Tensor2(TensorIndexType first, TensorIndexType second) + { + if (first == CONTRAVARIANT) + { + _numContravar++; _isContravar[0] = true; + } + else + { + _numCovar++; _isContravar[0] = false; + } - template - class ITensorField5 : public IFunction, const VectorN & > - { - int _numContravar; - int _numCovar; - public: - int getNumContravar() const { return _numContravar; } - int getNumCovar() const { return _numCovar; } - - virtual Real Component(int i, int j, int k, int l, int m, const VectorN &pos) const = 0; - }; -} -/////////////////////////// ./include/interfaces/ICoordTransf.h /////////////////////////// + if (second == CONTRAVARIANT) + { + _numContravar++; _isContravar[1] = true; + } + else + { + _numCovar++; _isContravar[1] = false; + } + } + int NumContravar() const { return _numContravar; } + int NumCovar() const { return _numCovar; } + Real Component(int i, int j) const { return _coeff[i][j]; } + Real& Component(int i, int j) { return _coeff[i][j]; } -namespace MML -{ - template - class ICoordTransf - { - public: - virtual VectorTo transf(const VectorFrom &in) const = 0; - virtual const IScalarFunction& coordTransfFunc(int i) const = 0; - }; + void Print(std::ostream& stream, int width, int precision) const + { + stream << "N = " << N << std::endl; - template - class ICoordTransfWithInverse : public virtual ICoordTransf - { - public: - virtual VectorFrom transfInverse(const VectorTo &in) const = 0; - virtual const IScalarFunction& inverseCoordTransfFunc(int i) const = 0; - }; -} -/////////////////////////// ./include/interfaces/IODESystem.h /////////////////////////// + for (size_t i = 0; i < N; i++) + { + stream << "[ "; + for (size_t j = 0; j < N; j++) + stream << std::setw(width) << std::setprecision(precision) << _coeff[i][j] << ", "; + stream << " ]" << std::endl; + } + } + friend std::ostream& operator<<(std::ostream& stream, const Tensor2& a) + { + stream << "N = " << N << std::endl; + for (size_t i = 0; i < N; i++) + { + stream << "[ "; + for (size_t j = 0; j < N; j++) + stream << a._coeff[i][j] << ", "; + stream << " ]" << std::endl; + } + return stream; + } + }; -namespace MML -{ - class IODESystem + template + class Tensor3 : public ITensor3 { + Real _coeff[N][N][N] = { 0 }; public: - virtual int getDim() const = 0; - virtual void derivs(const Real, const Vector&, Vector &) const = 0; - void operator()(const Real t, const Vector &x, Vector &dxdt) const { return derivs(t, x, dxdt); } - }; -} -/////////////////////////// ./include/base/Geometry2D.h /////////////////////////// - - -namespace MML -{ - class Line2D - { - private: - Point2Cartesian _point; - Vector2Cartesian _direction; // unit vector in line direction - - public: - Line2D(const Point2Cartesian &pnt, const Vector2Cartesian dir) - { - _point = pnt; - _direction = dir.GetUnitVector(); - } - - Line2D(const Point2Cartesian &a, const Point2Cartesian &b) - { - Vector2Cartesian dir(a , b); - _point = a; - _direction = dir.GetUnitVector(); - } - - Point2Cartesian StartPoint() const { return _point; } - Point2Cartesian& StartPoint() { return _point; } - - Vector2Cartesian Direction() const { return _direction; } - Vector2Cartesian& Direction() { return _direction; } - - Point2Cartesian PointOnLine(Real t) - { - Vector2Cartesian dist = t * _direction; - Point2Cartesian ret = _point + dist; - return ret; - } - }; + int _numContravar; + int _numCovar; + bool _isContravar[3]; - class SegmentLine2D - { - private: - Point2Cartesian _point1; - Point2Cartesian _point2; + Tensor3(int nContra, int nCo) : _numContravar(nContra), _numCovar(nCo) { + // mora biti covar + contra == 3 + if (_numContravar + _numCovar != 3) + throw TensorCovarContravarNumError("Tensor3 ctor, wrong number of contravariant and covariant indices", nContra, nCo); - public: - SegmentLine2D(Point2Cartesian pnt1, Point2Cartesian pnt2) : _point1(pnt1), _point2(pnt2) - { } + for (int i = 0; i < nContra; i++) + _isContravar[i] = true; - SegmentLine2D(const Point2Cartesian &pnt1, const Vector2Cartesian &direction, Real t) : _point1(pnt1) - { - _point2 = pnt1 + direction * t; - } + for (int i = nContra; i < nContra + nCo; i++) + _isContravar[i] = false; + } - Point2Cartesian StartPoint() const { return _point1; } - Point2Cartesian& StartPoint() { return _point1; } + int NumContravar() const { return _numContravar; } + int NumCovar() const { return _numCovar; } - Point2Cartesian EndPoint() const { return _point2; } - Point2Cartesian& EndPoint() { return _point2; } + Real Component(int i, int j, int k) const { return _coeff[i][j][k]; } + Real& Component(int i, int j, int k) { return _coeff[i][j][k]; } + }; - Point2Cartesian PointOnSegment(Real t) - { - if( t < 0.0 || t > 1.0) - throw std::invalid_argument("t must be in [0,1]"); + template + class Tensor4 : public ITensor4 + { + Real _coeff[N][N][N][N] = { 0 }; + public: + int _numContravar; + int _numCovar; + bool _isContravar[4]; - Vector2Cartesian dist = t * Direction(); - Point2Cartesian ret = _point1 + dist; - return ret; - } + Tensor4(int nContra, int nCo) : _numContravar(nContra), _numCovar(nCo) { + if (_numContravar + _numCovar != 4) + throw TensorCovarContravarNumError("Tensor4 ctor, wrong number of contravariant and covariant indices", nContra, nCo); - Real Length() const { return _point1.Dist(_point2); } - Vector2Cartesian Direction() const { return Vector2Cartesian(_point1, _point2); } - }; + for (int i = 0; i < nContra; i++) + _isContravar[i] = true; - class Triangle2D - { - private: - Point2Cartesian _pnt1, _pnt2, _pnt3; + for (int i = nContra; i < nContra + nCo; i++) + _isContravar[i] = false; + } - public: - Triangle2D(Point2Cartesian pnt1, Point2Cartesian pnt2, Point2Cartesian pnt3) : _pnt1(pnt1), _pnt2(pnt2), _pnt3(pnt3) - { } + int NumContravar() const { return _numContravar; } + int NumCovar() const { return _numCovar; } - Point2Cartesian Pnt1() const { return _pnt1; } - Point2Cartesian& Pnt1() { return _pnt1; } - Point2Cartesian Pnt2() const { return _pnt2; } - Point2Cartesian& Pnt2() { return _pnt2; } - Point2Cartesian Pnt3() const { return _pnt3; } - Point2Cartesian& Pnt3() { return _pnt3; } + Real Component(int i, int j, int k, int l) const { return _coeff[i][j][k][l]; } + Real& Component(int i, int j, int k, int l) { return _coeff[i][j][k][l]; } + }; - Real Area() const - { - Real a = _pnt1.Dist(_pnt2); - Real b = _pnt2.Dist(_pnt3); - Real c = _pnt3.Dist(_pnt1); + template + class Tensor5 : public ITensor5 + { + Real _coeff[N][N][N][N][N]; + public: + int _numContravar; + int _numCovar; + bool _isContravar[5]; - Real s = (a + b + c) / 2.0; + Tensor5(int nContra, int nCo) : _numContravar(nContra), _numCovar(nCo) { + if (_numContravar + _numCovar != 5) + throw TensorCovarContravarNumError("Tensor5 ctor, wrong number of contravariant and covariant indices", nContra, nCo); - return sqrt(s * (s - a) * (s - b) * (s - c)); - } - }; + for (int i = 0; i < nContra; i++) + _isContravar[i] = true; - class Polygon2D - { - private: - std::vector _points; - public: - Polygon2D() {} - Polygon2D(std::vector points) : _points(points) {} - Polygon2D(std::initializer_list list) - { - for (auto element : list) - _points.push_back(element); - } + for (int i = nContra; i < nContra + nCo; i++) + _isContravar[i] = false; - std::vector Points() const { return _points; } - std::vector& Points() { return _points; } + } - Real Area() const - { - Real area = 0.0; - int n = (int) _points.size(); - for (int i = 0; i < n; i++) - { - area += _points[i].X() * _points[(i + 1) % n].Y(); - area -= _points[i].Y() * _points[(i + 1) % n].X(); - } - area /= 2.0; - return area; - } + int NumContravar() const { return _numContravar; } + int NumCovar() const { return _numCovar; } - // TODO - IsConvex() - // TODO - Triangularization - - // TODO - IsInside - bool IsInside(Point2Cartesian pnt) const - { - return false; - } - }; + Real Component(int i, int j, int k, int l, int m) const { return _coeff[i][j][k][l][m]; } + Real& Component(int i, int j, int k, int l, int m) { return _coeff[i][j][k][l][m]; } + }; } -/////////////////////////// ./include/base/Geometry3D.h /////////////////////////// - +/////////////////////////// ./include/base/Polynom.h /////////////////////////// namespace MML { - class Line3D - { - private: - Point3Cartesian _point; - Vector3Cartesian _direction; + // TODO - HIGH, TESKO?, dodati RealPolynom klasu, izvedenu iz IRealFunction implementirati derive (derivs - sve, first, sec, third zasebno)& integrate + template + class Polynom + { + private: + std::vector<_CoefType> _vecCoef; + public: + Polynom() {} + Polynom(int n) { _vecCoef.resize(n + 1); } + Polynom(const std::vector<_CoefType>& vecCoef) : _vecCoef(vecCoef) {} + Polynom(std::initializer_list<_CoefType> list) : _vecCoef(list) {} + Polynom(const Polynom& Copy) : _vecCoef(Copy._vecCoef) {} + ~Polynom() {} - public: - Line3D() {} - Line3D(const Point3Cartesian &pnt, const Vector3Cartesian dir) - { - _point = pnt; - _direction = dir.GetAsUnitVector(); - } + Polynom& operator=(const Polynom& Copy) { _vecCoef = Copy._vecCoef; return *this; } - Line3D(const Point3Cartesian &a, const Point3Cartesian &b) - { - Vector3Cartesian dir(a, b); - _point = a; - _direction = dir.GetAsUnitVector(); - } + int GetDegree() const { return (int)_vecCoef.size() - 1; } + void SetDegree(int newDeg) { _vecCoef.resize(newDeg + 1); } - Point3Cartesian StartPoint() const { return _point; } - Point3Cartesian& StartPoint() { return _point; } + _Field operator[] (int i) const { return _vecCoef[i]; } + _Field& operator[] (int i) { return _vecCoef[i]; } - Vector3Cartesian Direction() const { return _direction; } - Vector3Cartesian& Direction() { return _direction; } + _Field operator() (const _Field& x) { + int j = GetDegree(); + _Field p = _vecCoef[j]; - Point3Cartesian PointOnLine(Real t) const { return _point + t * _direction; } + while (j > 0) + p = p * x + _vecCoef[--j]; + return p; + } + // Given the coefficients of a polynomial of degree nc as an array c[0..nc] of size nc+1 (with + // c[0] being the constant term), and given a value x, this routine fills an output array pd of size + // nd+1 with the value of the polynomial evaluated at x in pd[0], and the first nd derivatives at + // x in pd[1..nd]. + void Derive(const Real x, Vector& pd) + { + int nnd, j, i; + int nc = GetDegree(); + int nd = pd.size() - 1; + Real cnst = 1.0; - bool IsPerpendicular(const Line3D &b ) const - { - return ScalarProd(Direction(), b.Direction()) == 0.0f; - } - bool IsParallel(const Line3D &b ) const - { - return ScalarProd(Direction(), b.Direction()) == 0.0f; - } - // TODO 0.9 - VERIFY distance Line - Point3 - Real Dist(const Point3Cartesian &pnt) const - { - Real dist = 0.0; + pd[0] = (*this)[nc]; + for (j = 1; j < nd + 1; j++) + pd[j] = 0.0; - const Real a = pnt.X(); - const Real b = pnt.Y(); - const Real c = pnt.Z(); + for (i = nc - 1; i >= 0; i--) + { + nnd = (nd < (nc - i) ? nd : nc - i); + for (j = nnd; j > 0; j--) + pd[j] = pd[j] * x + pd[j - 1]; - const Real x1 = StartPoint().X(); - const Real y1 = StartPoint().Y(); - const Real z1 = StartPoint().Z(); + pd[0] = pd[0] * x + (*this)[i]; + } + for (i = 2; i < nd + 1; i++) { + cnst *= i; + pd[i] *= cnst; + } + } - const Real l = Direction().X(); - const Real m = Direction().Y(); - const Real n = Direction().Z(); + bool operator==(const Polynom& b) const + { + if (_vecCoef.size() != b._vecCoef.size()) + return false; + for (int i = 0; i < _vecCoef.size(); i++) + if (_vecCoef[i] != b._vecCoef[i]) + return false; + return true; + } - dist = POW2((a-x1)*m - (b-y1)*l) + POW2((b-y1)*n - (c-z1)*m) + POW2((c-z1)*l - (a-x1)*n); - Real denom = l*l + m*m + n*n; + Polynom operator+(const Polynom& b) const + { + Polynom result; + int n = (int)std::max(_vecCoef.size(), b._vecCoef.size()); + result._vecCoef.resize(n); + for (int i = 0; i < n; i++) + { + if (i < _vecCoef.size()) + result._vecCoef[i] += _vecCoef[i]; + if (i < b._vecCoef.size()) + result._vecCoef[i] += b._vecCoef[i]; + } + return result; + } - return sqrt(dist / denom); - } + Polynom operator-(const Polynom& b) const + { + Polynom result; + int n = (int)std::max(_vecCoef.size(), b._vecCoef.size()); + result._vecCoef.resize(n); + for (int i = 0; i < n; i++) + { + if (i < _vecCoef.size()) + result._vecCoef[i] += _vecCoef[i]; + if (i < b._vecCoef.size()) + result._vecCoef[i] -= b._vecCoef[i]; + } + return result; + } - // Real DistChatGPT(const Point3Cartesian &pnt) - // { - // Vector3Cartesian p0 = StartPoint(); - // Vector3Cartesian p1 = p0 + Direction(); - // Vector3Cartesian p = pnt; + Polynom operator*(const Polynom& b) const + { + Polynom result; - // Vector3Cartesian numerator = (p - p0).CrossProduct(p - p1); - // Real denominator = (p1 - p0).Length(); + int n = (int)(_vecCoef.size() + b._vecCoef.size() - 1); + result._vecCoef.resize(n); + for (int i = 0; i < _vecCoef.size(); i++) + for (int j = 0; j < b._vecCoef.size(); j++) + result._vecCoef[i + j] += _vecCoef[i] * b._vecCoef[j]; + return result; + } - // return numerator.Length() / denominator; - // } + static void poldiv(const Polynom& u, const Polynom& v, Polynom& qout, Polynom& rout) + { + int k, j, n = u.GetDegree(), nv = v.GetDegree(); - Point3Cartesian NearestPoint(const Point3Cartesian &pnt) const - { - // https://math.stackexchange.com/questions/1521128/given-a-line-and-a-point-in-3d-how-to-find-the-closest-point-on-the-line - Point3Cartesian Q(StartPoint()); - Point3Cartesian R = PointOnLine(1.0); + while (nv >= 0 && v._vecCoef[nv] == 0.) nv--; - Vector3Cartesian RQ(Q, R); - Vector3Cartesian QP(pnt, StartPoint()); + if (nv < 0) + throw("poldiv divide by zero polynomial"); - double t = QP.ScalarProductCartesian(RQ) / RQ.ScalarProductCartesian(RQ); + Polynom r = u; + Polynom q(u.GetDegree()); + for (k = n - nv; k >= 0; k--) + { + q[k] = r[nv + k] / v[nv]; + for (j = nv + k - 1; j >= k; j--) + r[j] -= q[k] * v[j - k]; + } + for (j = nv; j <= n; j++) r[j] = 0.0; - return Q - t * RQ; - } - // TODO - pravac koji prolazi kroz tocku i sijece zadani pravac okomito - // TODO - sjeciste dva pravca - }; + int nq = q.GetDegree(); + while (nq >= 0 && q[nq] == 0.) + nq--; - class SegmentLine3D - { - private: - Point3Cartesian _point1; - Point3Cartesian _point2; + qout.SetDegree(nq - 1); + for (j = 0; j < nq; j++) + qout[j] = q[j]; - public: - SegmentLine3D(Point3Cartesian pnt1, Point3Cartesian pnt2) : _point1(pnt1), _point2(pnt2) - { } + rout.SetDegree(nv - 1); + for (j = 0; j < nv; j++) + rout[j] = r[j]; + } - SegmentLine3D(Point3Cartesian pnt1, Vector3Cartesian direction, Real t) - { - _point1 = pnt1; - _point2 = pnt1 + t * direction; - } + friend Polynom operator*(const Polynom& a, _CoefType b) + { + Polynom ret; + ret._vecCoef.resize(a.GetDegree() + 1); + for (int i = 0; i <= a.GetDegree(); i++) + ret._vecCoef[i] = a._vecCoef[i] * b; + return ret; + } - Point3Cartesian StartPoint() const { return _point1; } - Point3Cartesian& StartPoint() { return _point1; } + friend Polynom operator*(_CoefType a, const Polynom& b) + { + Polynom ret; + ret._vecCoef.resize(b.GetDegree() + 1); + for (int i = 0; i <= b.GetDegree(); i++) + ret._vecCoef[i] = a * b._vecCoef[i]; + return ret; + } - Point3Cartesian EndPoint() const { return _point2; } - Point3Cartesian& EndPoint() { return _point2; } + friend Polynom operator/(const Polynom& a, _CoefType b) + { + Polynom ret; + ret._vecCoef.resize(a.GetDegree() + 1); + for (int i = 0; i <= a.GetDegree(); i++) + ret._vecCoef[i] = a._vecCoef[i] / b; + return ret; + } - Point3Cartesian PointOnSegment(Real t) - { - if( t < 0.0 || t > 1.0 ) - throw std::runtime_error("SegmentLine3D::PointOnSegment - t not in [0,1]"); + /////////////////////////// I/O /////////////////////////// + std::string to_string(int width, int precision) const + { + std::stringstream str; - return _point1 + t * Direction(); - } + Print(str, width, precision); - Real Length() const { return _point1.Dist(_point2); } - Vector3Cartesian Direction() const { return Vector3Cartesian(_point1, _point2); } - }; + return str.str(); + } - class Plane3D - { - private: - Real _A, _B, _C, _D; - - public: - Plane3D(const Point3Cartesian &a, const Vector3Cartesian &normal) - { - if( normal.NormL2() == 0.0 ) - throw std::runtime_error("Plane3D ctor - normal is null vector"); + std::ostream& Print(std::ostream& stream, int width, int precision) const + { + for (int i = (int)_vecCoef.size() - 1; i >= 0; i--) + { + if (std::abs(_vecCoef[i]) == 0.0) + continue; - Vector3Cartesian unitNormal = normal.GetAsUnitVector(); + if (i != _vecCoef.size() - 1) + stream << " + "; - _A = unitNormal.X(); - _B = unitNormal.Y(); - _C = unitNormal.Z(); - _D = -(a.X() * unitNormal.X() + a.Y() * unitNormal.Y() + a.Z() * unitNormal.Z()); - } + if (i == 0) + stream << std::setw(width) << std::setprecision(precision) << _vecCoef[i]; + else if (i == 1) + stream << std::setw(width) << std::setprecision(precision) << _vecCoef[i] << " * x" << i; + else + stream << std::setw(width) << std::setprecision(precision) << _vecCoef[i] << " * x^" << i; + } - Plane3D(const Point3Cartesian &a, const Point3Cartesian &b, const Point3Cartesian &c) - : Plane3D(a, VectorProd(Vector3Cartesian(a, b), Vector3Cartesian(a, c))) - { } + return stream; + } - Plane3D(Real alpha, Real beta, Real gamma, Real d) // Hesseov (normalni) oblik - { - _A = cos(alpha); - _B = cos(beta); - _C = cos(gamma); - _D = -d; - } + std::ostream& Print(std::ostream& stream) const + { + for (int i = (int)_vecCoef.size() - 1; i >= 0; i--) + { + if (std::abs(_vecCoef[i]) == 0.0) + continue; - // tri segmenta na koord osima ctor - Plane3D(Real seg_x, Real seg_y, Real seg_z) - { - Point3Cartesian x(seg_x, 0, 0); - Point3Cartesian y(0, seg_y, 0); - Point3Cartesian z(0, 0, seg_z); - - if( seg_x == 0 || seg_y == 0 || seg_z == 0 ) - throw std::runtime_error("Plane3D ctor - zero segment"); - - _A = 1 / seg_x; - _B = 1 / seg_y; - _C = 1 / seg_z; - _D = -1; - } + if (i != _vecCoef.size() - 1) + stream << " + "; - static Plane3D GetXYPlane() { return Plane3D(Point3Cartesian(0,0,0), Vector3Cartesian(0,0,1)); } - static Plane3D GetXZPlane() { return Plane3D(Point3Cartesian(0,0,0), Vector3Cartesian(0,1,0)); } - static Plane3D GetYZPlane() { return Plane3D(Point3Cartesian(0,0,0), Vector3Cartesian(1,0,0)); } - - Real A() const { return _A; } - Real& A() { return _A; } - Real B() const { return _B; } - Real& B() { return _B; } - Real C() const { return _C; } - Real& C() { return _C; } - Real D() const { return _D; } - Real& D() { return _D; } - - Point3Cartesian GetPointOnPlane() const { - if( _A != 0.0 ) - return Point3Cartesian(-_D / _A, 0, 0); - else if( _B != 0.0 ) - return Point3Cartesian(0, -_D / _B, 0); - else - return Point3Cartesian(0, 0, -_D / _C); - } - - Vector3Cartesian Normal() const { return Vector3Cartesian(_A, _B, _C); } + if (i == 0) + stream << _vecCoef[i]; + else if (i == 1) + stream << _vecCoef[i] << " * x" << i; + else + stream << _vecCoef[i] << " * x^" << i; + } - void GetCoordAxisSegments(Real &outseg_x, Real& outseg_y, Real& outseg_z) - { - outseg_x = - _D / _A; - outseg_y = - _D / _B; - outseg_z = - _D / _C; - } + return stream; + } - bool IsPointOnPlane(const Point3Cartesian &pnt, Real defEps = 1e-15) const - { - return std::abs(_A * pnt.X() + _B * pnt.Y() + _C * pnt.Z() + _D) < defEps; - } - Real DistToPoint(const Point3Cartesian &pnt) const - { - Real a = _A * pnt.X() + _B * pnt.Y() + _C * pnt.Z() + _D; - Real b = sqrt(_A * _A + _B * _B + _C * _C); + friend std::ostream& operator<<(std::ostream& stream, Polynom& a) + { + a.Print(stream); - return std::abs(a / b); - } + return stream; + } + }; - Point3Cartesian ProjectionToPlane(const Point3Cartesian &pnt) const - { - // TODO - check if it is already ona the plane! - // from given point and normal to plane form a Line3D - Line3D line(pnt, Normal()); - - // find intersection of this line with plane - Point3Cartesian ret; - IntersectionWithLine(line, ret); - - return ret; - } + typedef Polynom RealPolynom; + typedef Polynom ComplexPolynom; - bool IsLineOnPlane(const Line3D &line) const - { - // get two points - const Point3Cartesian pnt1 = line.StartPoint(); - const Point3Cartesian pnt2 = line.PointOnLine(1.0); - - if(IsPointOnPlane(pnt1) && IsPointOnPlane(pnt2)) - return true; - else - return false; - } + typedef Polynom, Real> Matrix2Polynom; + typedef Polynom, Real> Matrix3Polynom; + typedef Polynom, Real> Matrix4Polynom; +} - Real AngleToLine(const Line3D &line) const - { - // angle between line and normal to plane - return Constants::PI / 2.0 - line.Direction().AngleToVector(this->Normal()); - } +/////////////////////////// ./include/base/Algebra.h /////////////////////////// - bool IntersectionWithLine(const Line3D &line, Point3Cartesian &out_inter_pnt) const - { - // Calculate the direction vector of the line - Vector3Cartesian line_dir = line.Direction(); - // Calculate the normal vector of the plane - Vector3Cartesian plane_normal = Normal(); - // Check if the line is parallel to the plane - if (line_dir.ScalarProductCartesian(plane_normal) == 0) { - return false; - } +namespace MML +{ + // TODO - implement example groups - Z6, permutations + // TODO - vector space + Gram Schmidt + // TODO - linear transformations & OPERATORS + + // groups + // finitve ima i numElem + class GroupZ : public IGroup + { + public: + virtual int identity() const { return 0;} + virtual int inverse(const int& a) const { return -a;} + virtual int op(const int& a, const int& b) const { return a + b;} + }; + // FieldR + // FieldC +} +/////////////////////////// ./include/base/Geometry.h /////////////////////////// - // Calculate the distance between the line and the plane - double dist = Vector3Cartesian(GetPointOnPlane(), line.StartPoint()).ScalarProductCartesian(plane_normal) / line_dir.ScalarProductCartesian(plane_normal); - // Calculate the point of intersection - Point3Cartesian inter_pnt = line.StartPoint() + line_dir * dist; +namespace MML +{ + // TODO - MED, dodati Dist svugdje + class Point2Cartesian + { + private: + Real _x, _y; - // Set the output parameter to the point of intersection - out_inter_pnt = inter_pnt; + public: + Real X() const { return _x; } + Real& X() { return _x; } + Real Y() const { return _y; } + Real& Y() { return _y; } - return true; - } + Point2Cartesian() {} + Point2Cartesian(Real x, Real y) : _x(x), _y(y) {} - bool IsParallelToPlane(const Plane3D &plane) const - { - Vector3Cartesian norm1(_A, _B, _C); + Real Dist(const Point2Cartesian& b) const { return sqrt(POW2(b._x - _x) + POW2(b._y - _y)); } - Vector3Cartesian norm2(plane._A, plane._B, plane._C); + Point2Cartesian operator+(const Point2Cartesian& b) const { return Point2Cartesian(_x + b._x, _y + b._y); } + Point2Cartesian operator-(const Point2Cartesian& b) const { return Point2Cartesian(_x - b._x, _y - b._y); } - return norm1.IsParallelTo(norm2); - } - bool IsPerpendicularToPlane(const Plane3D &plane) const - { - Vector3Cartesian norm1(_A, _B, _C); - Vector3Cartesian norm2(plane._A, plane._B, plane._C); + friend Point2Cartesian operator*(const Point2Cartesian& a, Real b) { return Point2Cartesian(a._x * b, a._y * b); } + friend Point2Cartesian operator*(Real a, const Point2Cartesian& b) { return Point2Cartesian(a * b._x, a * b._y); } + friend Point2Cartesian operator/(const Point2Cartesian& a, Real b) { return Point2Cartesian(a._x / b, a._y / b); } - return norm1.IsPerpendicularTo(norm2); - } - Real AngleToPlane(const Plane3D &plane) const - { - // to je kut normala - return this->Normal().AngleToVector(plane.Normal()); - } - Real DistToPlane(const Plane3D &plane) const - { - // TODO finishs - // ili su paralelne, pa imamo neki broj, ili se sijeku pa je 0 - return 0.0; - } - // TODO - check implementation IntersectionWithPlane - bool IntersectionWithPlane(const Plane3D &plane, Line3D &out_inter_line) const - { - Vector3Cartesian inter_dir = VectorProd(Normal(), plane.Normal()); + }; - // Check if the planes are parallel - if (inter_dir.NormL2() == 0.0) { - return false; - } + class Point2Polar + { + private: + Real _r, _phi; - // Calculate a point on the intersection line - Point3Cartesian inter_pnt = GetPointOnPlane(); + public: + Real R() const { return _r; } + Real& R() { return _r; } + Real Phi() const { return _phi; } + Real& Phi() { return _phi; } - // Calculate the distance between the intersection line and the two planes - double dist1 = Vector3Cartesian(inter_pnt, GetPointOnPlane()).ScalarProductCartesian(plane.Normal()); - double dist2 = Vector3Cartesian(inter_pnt, plane.GetPointOnPlane()).ScalarProductCartesian(Normal()); + Point2Polar() {} + Point2Polar(Real r, Real phi) : _r(r), _phi(phi) {} - // Calculate the point of intersection - inter_pnt = inter_pnt - inter_dir * (dist1 / inter_dir.ScalarProductCartesian(plane.Normal())); + Real Dist(const Point2Polar& b) const { return sqrt(R() * R() + b.R() * b.R() - 2 * R() * b.R() * cos(b.Phi() - Phi())); } + }; - // Set the output parameter to the intersection line - out_inter_line = Line3D(inter_pnt, inter_dir); + class Point3Cartesian + { + private: + Real _x, _y, _z; - return true; - return false; - } - }; + public: + Real X() const { return _x; } + Real& X() { return _x; } + Real Y() const { return _y; } + Real& Y() { return _y; } + Real Z() const { return _z; } + Real& Z() { return _z; } - class Triangle3D - { - private: - Point3Cartesian _pnt1, _pnt2, _pnt3; - public: - Triangle3D(Point3Cartesian pnt1, Point3Cartesian pnt2, Point3Cartesian pnt3) - : _pnt1(pnt1), _pnt2(pnt2), _pnt3(pnt3) - {} - - Point3Cartesian &Pnt1() { return _pnt1; } - Point3Cartesian &Pnt2() { return _pnt2; } - Point3Cartesian &Pnt3() { return _pnt3; } - }; + Point3Cartesian() {} + Point3Cartesian(Real x, Real y, Real z) : _x(x), _y(y), _z(z) {} - // general surface in 3D, consisting of a set of triangles - // BUT, ordered in strips!!! - class Surface3D - { + Real Dist(const Point3Cartesian& b) const { return sqrt(POW2(b._x - _x) + POW2(b._y - _y) + POW2(b._z - _z)); } - }; + Point3Cartesian operator+(const Point3Cartesian& b) const { return Point3Cartesian(_x + b._x, _y + b._y, _z + b._z); } + Point3Cartesian operator-(const Point3Cartesian& b) const { return Point3Cartesian(_x - b._x, _y - b._y, _z - b._z); } - class TriangleSurface3D : public Triangle3D, IParametricSurface<3> - { - public: - Real _minX, _maxX, _minY, _maxY; - Point3Cartesian _center; - Vector3Cartesian _localX,_localY; + friend Point3Cartesian operator*(const Point3Cartesian& a, Real b) { return Point3Cartesian(a._x * b, a._y * b, a._z * b); } + friend Point3Cartesian operator*(Real a, const Point3Cartesian& b) { return Point3Cartesian(a * b._x, a * b._y, a * b._z); } + friend Point3Cartesian operator/(const Point3Cartesian& a, Real b) { return Point3Cartesian(a._x / b, a._y / b, a._z / b); } + }; - TriangleSurface3D(Point3Cartesian pnt1, Point3Cartesian pnt2, Point3Cartesian pnt3) - : Triangle3D(pnt1, pnt2, pnt3) - { - // calculate min and max - _minX = std::min(pnt1.X(), std::min(pnt2.X(), pnt3.X())); - _maxX = std::max(pnt1.X(), std::max(pnt2.X(), pnt3.X())); - _minY = std::min(pnt1.Y(), std::min(pnt2.Y(), pnt3.Y())); - _maxY = std::max(pnt1.Y(), std::max(pnt2.Y(), pnt3.Y())); + class Triangle + { + private: + Real _a, _b, _c; - // calculate center - _center = (pnt1 + pnt2 + pnt3) / 3.0; + public: + Real A() const { return _a; } + Real& A() { return _a; } + Real B() const { return _b; } + Real& B() { return _b; } + Real C() const { return _c; } + Real& C() { return _c; } - // calculate local coordinate system - _localX = Vector3Cartesian(pnt1, pnt2).GetAsUnitVector(); - _localY = Vector3Cartesian(pnt1, pnt3).GetAsUnitVector(); - } + Triangle() {} + Triangle(Real a, Real b, Real c) : _a(a), _b(b), _c(c) {} + Real Area() const + { + Real s = (_a + _b + _c) / 2.0; + return sqrt(s * (s - _a) * (s - _b) * (s - _c)); + } + bool IsRight() const + { + return ( POW2(_a) + POW2(_b) == POW2(_c)) || + (POW2(_a) + POW2(_c) == POW2(_b)) || + (POW2(_b) + POW2(_c) == POW2(_a) ); + } + bool IsIsosceles() const + { + return (_a == _b) || (_a == _c) || (_b == _c); + } + bool IsEquilateral() const + { + return (_a == _b) && (_a == _c); + } + }; +} +/////////////////////////// ./include/base/VectorTypes.h /////////////////////////// - }; - - class RectSurface3D : public IParametricSurface<3> - { - public: - // predstavlja PRAVOKUTNU povrsinu u 3D - Point3Cartesian _pnt1, _pnt2, _pnt3, _pnt4; - Real _minX, _maxX, _minY, _maxY; - Point3Cartesian _center; - Vector3Cartesian _localX,_localY; - - RectSurface3D() {} - RectSurface3D(Point3Cartesian pnt1, Point3Cartesian pnt2, Point3Cartesian pnt3, Point3Cartesian pnt4) - : _pnt1(pnt1), _pnt2(pnt2), _pnt3(pnt3), _pnt4(pnt4) - { - // provjeriti da li su sve u ravnini! - - // podesiti min i max - Real lenX = _pnt1.Dist(_pnt2); - Real lenY = _pnt1.Dist(_pnt4); - _minX = -lenX/2; - _maxX = lenX/2; - _minY = -lenY/2; - _maxY = lenY/2; - - // calculate center - _center = (_pnt1 + _pnt2 + _pnt3 + _pnt4) / 4.0; - - // calculate local coordinate system - _localX = Vector3Cartesian(_pnt1, _pnt2).GetAsUnitVector(); - _localY = Vector3Cartesian(_pnt1, _pnt4).GetAsUnitVector(); - } - virtual Real getMinX() const { return _minX;} - virtual Real getMaxX() const { return _maxX;} - virtual Real getMinY() const { return _minY;} - virtual Real getMaxY() const { return _maxY;} - - Vector3Cartesian getNormal() const { - return VectorProd(Vector3Cartesian(_pnt1, _pnt2), Vector3Cartesian(_pnt1, _pnt4)).GetAsUnitVector(); - } - Point3Cartesian getCenter() const { return _center; } - - Real getArea() const { - return VectorProd(Vector3Cartesian(_pnt1, _pnt2), Vector3Cartesian(_pnt1, _pnt4)).NormL2(); - } - // vraca dva Triangle3D - i orijentacija je parametar! (kako ce odabrati tocke) +namespace MML +{ + class Vector2Cartesian : public VectorN + { + public: + Vector2Cartesian() {} + Vector2Cartesian(Real x, Real y) + { + _val[0] = x; + _val[1] = y; + } + Vector2Cartesian(const VectorN& b) : VectorN{ b[0], b[1] } {} + Vector2Cartesian(const Point2Cartesian& a, const Point2Cartesian& b) + { + _val[0] = b.X() - a.X(); + _val[1] = b.Y() - a.Y(); + } - VectorN operator()(Real u, Real w) const { - Point3Cartesian ret = _center + u * _localX + w * _localY; - return VectorN({ret.X(), ret.Y(), ret.Z()}); - } - }; + Real X() const { return _val[0]; } + Real& X() { return _val[0]; } + Real Y() const { return _val[1]; } + Real& Y() { return _val[1]; } - // TODO - IntegrableSolid? koji ima i potrebne funkcije kojima definira granice tijela? - class Solid3D - { - public: - // solid body in 3D - std::vector _surfaces; - - public: - // isClosed() - iz centra mase (?) odasilje zrake u svim smjerovima i gleda da li je pogodio iti jednu povrsinu - // vraca listu povrsina, koje bi TREBALE omedjivati tijelo! - - // i po tome se moze obaviti surface integracija!!! - }; + friend Vector2Cartesian operator*(const Vector2Cartesian& a, Real b) + { + Vector2Cartesian ret; + for (int i = 0; i < 2; i++) + ret._val[i] = a[i] * b; + return ret; + } + friend Vector2Cartesian operator*(Real a, const Vector2Cartesian& b) + { + Vector2Cartesian ret; + for (int i = 0; i < 2; i++) + ret._val[i] = a * b[i]; + return ret; + } + friend Vector2Cartesian operator/(const Vector2Cartesian& a, Real b) + { + Vector2Cartesian ret; + for (int i = 0; i < 2; i++) + ret._val[i] = a[i] / b; + return ret; + } - // represents solid that is composed of other solids - // dobar - // nacin za provjeriti je li composed solid "tight" je izracunati fluks kroz sve povrsine - class ComposedSolid3D - { + Vector2Cartesian GetUnitVector() const + { + VectorN res = (*this) / NormL2(); - }; + return Vector2Cartesian(res[0], res[1]); + } - class Cube3D : public Solid3D - { - // kocka - Real _a; - Vector3Cartesian _center; - public: - Cube3D(Real a) : _a(a) - { - Point3Cartesian pnt1( a/2,-a/2,-a/2); - Point3Cartesian pnt2( a/2, a/2,-a/2); - Point3Cartesian pnt3(-a/2, a/2,-a/2); - Point3Cartesian pnt4(-a/2,-a/2,-a/2); - Point3Cartesian pnt5( a/2,-a/2, a/2); - Point3Cartesian pnt6( a/2, a/2, a/2); - Point3Cartesian pnt7(-a/2, a/2, a/2); - Point3Cartesian pnt8(-a/2,-a/2, a/2); - - // dodati svih 6 stranica u popis povrsina - _surfaces.push_back(RectSurface3D(pnt1, pnt4, pnt3, pnt2)); // lower side in xy plane - _surfaces.push_back(RectSurface3D(pnt5, pnt6, pnt7, pnt8)); // upper side in xy plane - _surfaces.push_back(RectSurface3D(pnt1, pnt2, pnt6, pnt5)); // front side in yz plane - _surfaces.push_back(RectSurface3D(pnt4, pnt8, pnt7, pnt3)); // back side in yz plane - _surfaces.push_back(RectSurface3D(pnt1, pnt5, pnt8, pnt4)); // left side in xz plane - _surfaces.push_back(RectSurface3D(pnt2, pnt3, pnt7, pnt6)); // right side in xz plane - } - Cube3D(Real a, const Vector3Cartesian ¢er) : Cube3D(a) - { - _center = center; - } - }; -} + friend Point2Cartesian operator+(const Point2Cartesian& a, const Vector2Cartesian& b) { return Point2Cartesian(a.X() + b[0], a.Y() + b[1]); } + friend Point2Cartesian operator-(const Point2Cartesian& a, const Vector2Cartesian& b) { return Point2Cartesian(a.X() - b[0], a.Y() - b[1]); } + }; -/////////////////////////// ./include/base/QuadraticForm.h /////////////////////////// + class Vector2Polar : public VectorN + { + public: + Real R() const { return _val[0]; } + Real& R() { return _val[0]; } + Real Phi() const { return _val[1]; } + Real& Phi() { return _val[1]; } + Vector2Polar() {} + Vector2Polar(Real r, Real phi) + { + _val[0] = r; + _val[1] = phi; + } + Vector2Polar(const VectorN& b) : VectorN{ b[0], b[1] } {} + }; + class Vector3Cartesian : public VectorN + { + public: + Real X() const { return _val[0]; } + Real& X() { return _val[0]; } + Real Y() const { return _val[1]; } + Real& Y() { return _val[1]; } + Real Z() const { return _val[2]; } + Real& Z() { return _val[2]; } + + Vector3Cartesian() : VectorN{ 0.0, 0.0, 0.0 } {} + Vector3Cartesian(const VectorN& b) : VectorN{ b[0], b[1], b[2] } {} + Vector3Cartesian(Real x, Real y, Real z) : VectorN{ x, y, z } {} + Vector3Cartesian(std::initializer_list list) : VectorN(list) { } + Vector3Cartesian(const Point3Cartesian& a, const Point3Cartesian& b) + { + _val[0] = b.X() - a.X(); + _val[1] = b.Y() - a.Y(); + _val[2] = b.Z() - a.Z(); + } -namespace MML -{ - // TODO - MED, finish this - template - class QuadraticFormN : public IScalarFunction - { - MatrixNM _mat; - public: - Real operator()(const VectorN &x) const - { - return x.ScalarProductCartesian(_mat * x); - } + friend Vector3Cartesian operator*(const Vector3Cartesian& a, Real b) + { + Vector3Cartesian ret; + for (int i = 0; i < 3; i++) + ret._val[i] = a[i] * b; + return ret; + } + friend Vector3Cartesian operator*(Real a, const Vector3Cartesian& b) + { + Vector3Cartesian ret; + for (int i = 0; i < 3; i++) + ret._val[i] = a * b[i]; + return ret; + } + friend Vector3Cartesian operator/(const Vector3Cartesian& a, Real b) + { + Vector3Cartesian ret; + for (int i = 0; i < 3; i++) + ret._val[i] = a[i] / b; + return ret; + } - // TODO - treat as polynom! Print + friend Vector3Cartesian operator-(const Point3Cartesian& a, const Point3Cartesian& b) { return Vector3Cartesian{ a.X() - b.X(), a.Y() - b.Y(), a.Z() - b.Z() }; } - }; -} -/////////////////////////// ./include/base/VectorSpace.h /////////////////////////// + friend Point3Cartesian operator+(const Point3Cartesian& a, const Vector3Cartesian& b) { return Point3Cartesian(a.X() + b[0], a.Y() + b[1], a.Z() + b[2]); } + friend Point3Cartesian operator-(const Point3Cartesian& a, const Vector3Cartesian& b) { return Point3Cartesian(a.X() - b[0], a.Y() - b[1], a.Z() - b[2]); } -//#include "interfaces/IFunction.h" + Point3Cartesian getAsPoint() + { + return Point3Cartesian(_val[0], _val[1], _val[2]); + } + bool IsParallelTo(const Vector3Cartesian& b, Real eps = 1e-15) const + { + Real norm1 = NormL2(); + Real norm2 = b.NormL2(); + return std::abs(X() / norm1 - b.X() / norm2) < eps && + std::abs(Y() / norm1 - b.Y() / norm2) < eps && + std::abs(Z() / norm1 - b.Z() / norm2) < eps; + } -namespace MML -{ - // TODO - MED, vector space + Gram Schmidt - // TODO - MED, linear transformations & OPERATORS - template - class RealVectorSpaceN : public HilbertSpace> - { - public: - virtual Real scal_prod(const VectorN &a, const VectorN &b) const - { - return a.ScalarProductCartesian(b); - } - }; + bool IsPerpendicularTo(const Vector3Cartesian& b, Real eps = 1e-15) const + { + if (std::abs(ScalarProd(*this, b)) < eps) + return true; + else + return false; + } - template - class ComplexVectorSpaceN : public HilbertSpace> - { - public: - virtual Real scal_prod(const VectorN &a, const VectorN &b) const - { - Real product = 0.0; - for( int i=0; i - class LinearFunctionalN - { - private: - // TODO - LOW, this should be an array, not a vector - VectorN<_Field, N> _vecCoef; - public: - LinearFunctionalN() {} - LinearFunctionalN(const VectorN<_Field, N> &vecCoef) : _vecCoef(vecCoef) {} - LinearFunctionalN(std::initializer_list<_Field> list) : _vecCoef(list) {} + return ret; + } - LinearFunctionalN(const LinearFunctionalN &Copy) : _vecCoef(Copy._vecCoef) {} - ~LinearFunctionalN() {} + friend Real VectorsAngle(const Vector3Cartesian& a, const Vector3Cartesian& b) + { + Real cos_phi = ScalarProd(a, b) / (a.NormL2() * b.NormL2()); - LinearFunctionalN& operator=(const LinearFunctionalN &Copy) { _vecCoef = Copy._vecCoef; return *this; } + return acos(cos_phi); + } + }; - int Dim() const { return N; } + class Vector3Spherical : public VectorN + { + public: + Real R() const { return _val[0]; } + Real& R() { return _val[0]; } + Real Theta() const { return _val[1]; } + Real& Theta() { return _val[1]; } + Real Phi() const { return _val[2]; } + Real& Phi() { return _val[2]; } + + Vector3Spherical() : VectorN{ 0.0, 0.0, 0.0 } {} + Vector3Spherical(const VectorN& b) : VectorN{ b[0], b[1], b[2] } {} + Vector3Spherical(Real r, Real theta, Real phi) : VectorN{ r, theta, phi } {} + Vector3Spherical(std::initializer_list list) : VectorN(list) { } + + // TODO - HIGH, HARD, osnovne operacije +, - + Vector3Spherical GetAsUnitVector() const + { + return Vector3Spherical{ 1.0, Theta() , Phi() }; + } + Vector3Spherical GetAsUnitVectorAtPos(const Vector3Spherical& pos) const + { + return Vector3Spherical{ R(), Theta() / pos.R(), Phi() / (pos.R() * sin(pos.Theta())) }; + } + std::ostream& PrintDeg(std::ostream& stream, int width, int precision) const + { + stream << "[ "; + stream << std::fixed << std::setw(width) << std::setprecision(precision); + stream << R(); + stream << ", " << Theta() * 180.0 / Constants::PI; + stream << ", " << Phi() * 180.0 / Constants::PI << " ]" << std::endl; - _Field operator()(const VectorN<_Field, N> &vecX) const - { - _Field result = 0.0; - for (int i = 0; i < N; i++) - result += _vecCoef[i] * vecX[i]; - return result; - } + return stream; + } + }; - LinearFunctionalN operator+(const LinearFunctionalN &b) const - { - LinearFunctionalN result; - for (int i = 0; i < N; i++) - result._vecCoef[i] = _vecCoef[i] + b._vecCoef[i]; - return result; - } + class Vector3Cylindrical : public VectorN + { + public: + Real R() const { return _val[0]; } + Real& R() { return _val[0]; } + Real Phi() const { return _val[1]; } + Real& Phi() { return _val[1]; } + Real Z() const { return _val[2]; } + Real& Z() { return _val[2]; } + + Vector3Cylindrical() : VectorN{ 0.0, 0.0, 0.0 } {} + Vector3Cylindrical(const VectorN& b) : VectorN{ b[0], b[1], b[2] } {} + Vector3Cylindrical(Real r, Real phi, Real z) : VectorN{ r, phi, z } {} + Vector3Cylindrical(std::initializer_list list) : VectorN(list) { } + + // TODO - MED, implement Vector3Cylindrical GetAsUniTVector() + // TODO - MED, razmisliti generalno vektor i vektor at point + Vector3Cylindrical GetAsUnitVector() const + { + return Vector3Cylindrical{ (*this) / NormL2() }; + } + Vector3Cylindrical GetAsUnitVectorAtPos(const Vector3Cylindrical& pos) const + { + return Vector3Cylindrical{ R(), Phi() / pos.R(), Z() }; + } + }; - LinearFunctionalN operator-(const LinearFunctionalN &b) const - { - LinearFunctionalN result; - for (int i = 0; i < N; i++) - result._vecCoef[i] = _vecCoef[i] - b._vecCoef[i]; - return result; - } + typedef Vector3Cartesian Vec3Cart; + typedef Vector3Spherical Vec3Sph; + typedef Vector3Cylindrical Vec3Cyl; +} +/////////////////////////// ./include/base/StdFunctions.h /////////////////////////// - LinearFunctionalN operator*(_Field b) const - { - LinearFunctionalN result; - for (int i = 0; i < _vecCoef.size(); i++) - result._vecCoef[i] = _vecCoef[i] * b; - return result; - } - }; - template - class RealLinearFunctionalN : public IScalarFunction +namespace MML +{ + namespace Functions { - private: - VectorN _vecCoef; - public: - RealLinearFunctionalN() {} - RealLinearFunctionalN(const VectorN &vecCoef) : _vecCoef(vecCoef) {} - RealLinearFunctionalN(std::initializer_list list) : _vecCoef(list) {} + // Functions of REAL domain + // TODO - umjesto Real, naprosto staviti sve tri dostupne varijante? + static inline Real Sin(Real x) { return sin(x); } + static inline Real Cos(Real x) { return cos(x); } + static inline Real Sec(Real x) { return 1.0 / cos(x); } + static inline Real Csc(Real x) { return 1.0 / sin(x); } + static inline Real Tan(Real x) { return tan(x); } + static inline Real Ctg(Real x) { return 1.0 / tan(x); } + + static inline Real Exp(Real x) { return exp(x); } + static inline Real Log(Real x) { return log(x); } + static inline Real Log10(Real x){ return log10(x); } + static inline Real Sqrt(Real x) { return sqrt(x); } + static inline Real Pow(Real x, Real y) { return pow(x, y); } + + static inline Real Sinh(Real x) { return sinh(x); } + static inline Real Cosh(Real x) { return cosh(x); } + static inline Real Sech(Real x) { return 1.0 / cosh(x); } + static inline Real Csch(Real x) { return 1.0 / sinh(x); } + static inline Real Tanh(Real x) { return tanh(x); } + static inline Real Ctgh(Real x) { return 1.0 / tanh(x); } + + static inline Real Asin(Real x) { return asin(x); } + static inline Real Acos(Real x) { return acos(x); } + static inline Real Atan(Real x) { return atan(x); } - RealLinearFunctionalN(const RealLinearFunctionalN &Copy) = default; - ~RealLinearFunctionalN() {} + static inline Real Asinh(Real x) { return asinh(x); } + static inline Real Acosh(Real x) { return acosh(x); } + static inline Real Atanh(Real x) { return atanh(x); } - RealLinearFunctionalN& operator=(const RealLinearFunctionalN &Copy) { _vecCoef = Copy._vecCoef; return *this; } + static inline Real Erf(Real x) { return std::erf(x); } + static inline Real Erfc(Real x) { return std::erfc(x); } - int Dim() const { return N; } + static inline Real TGamma(Real x) { return std::tgamma(x); } + static inline Real LGamma(Real x) { return std::lgamma(x); } + static inline Real RiemannZeta(Real x) { return std::riemann_zeta(x); } + static inline Real Comp_ellint_1(Real x) { return std::comp_ellint_1(x); } + static inline Real Comp_ellint_2(Real x) { return std::comp_ellint_2(x); } - Real operator()(const VectorN &vecX) const - { - Real result = 0.0; - for (int i = 0; i < N; i++) - result += _vecCoef[i] * vecX[i]; - return result; - } + static inline Real Hermite(unsigned int n, Real x) { return std::hermite(n, x); } + static inline Real Legendre(unsigned int n, Real x) { return std::legendre(n, x); } + static inline Real Laguerre(unsigned int n, Real x) { return std::laguerre(n, x); } + static inline Real SphBessel(unsigned int n, Real x) { return std::sph_bessel(n, x); } + static inline Real SphLegendre(int n1, int n2, Real x) { return std::sph_legendre(n1, n2, x); } + + // Functions of COMPLEX domain + static inline Complex Sin(Complex x) { return sin(x); } + static inline Complex Cos(Complex x) { return cos(x); } + static inline Complex Sec(Complex x) { return Real{1.0} / cos(x); } + static inline Complex Csc(Complex x) { return Real{1.0} / sin(x); } + static inline Complex Tan(Complex x) { return tan(x); } + static inline Complex Ctg(Complex x) { return Real{1.0} / tan(x); } + + static inline Complex Exp(Complex x) { return exp(x); } + static inline Complex Log(Complex x) { return log(x); } + static inline Complex Sqrt(Complex x) { return sqrt(x); } + static inline Complex Pow(Complex x, Complex y) { return pow(x, y); } + + static inline Complex Sinh(Complex x) { return sinh(x); } + static inline Complex Cosh(Complex x) { return cosh(x); } + static inline Complex Sech(Complex x) { return Complex(1.0) / cosh(x); } + static inline Complex Csch(Complex x) { return Complex(1.0) / sinh(x); } + static inline Complex Tanh(Complex x) { return tanh(x); } + static inline Complex Ctgh(Complex x) { return Complex(1.0) / tanh(x); } - RealLinearFunctionalN operator+(const RealLinearFunctionalN &b) const - { - RealLinearFunctionalN result; - for (int i = 0; i < N; i++) - result._vecCoef[i] = _vecCoef[i] + b._vecCoef[i]; - return result; - } + static inline Complex Asin(Complex x) { return asin(x); } + static inline Complex Acos(Complex x) { return acos(x); } + static inline Complex Atan(Complex x) { return atan(x); } - RealLinearFunctionalN operator-(const RealLinearFunctionalN &b) const - { - RealLinearFunctionalN result; - for (int i = 0; i < N; i++) - result._vecCoef[i] = _vecCoef[i] - b._vecCoef[i]; - return result; - } + static inline Complex Asinh(Complex x) { return asinh(x); } + static inline Complex Acosh(Complex x) { return acosh(x); } + static inline Complex Atanh(Complex x) { return atanh(x); } - RealLinearFunctionalN operator*(Real b) const - { - RealLinearFunctionalN result; - for (int i = 0; i < _vecCoef.size(); i++) - result._vecCoef[i] = _vecCoef[i] * b; - return result; - } - }; + static inline Real Factorial(int n) { + Real fact = 1.0; + for( int i=2; i<=n; i++) + fact *= i; + return fact; + } + static inline long long FactorialInt(int n) { + long long fact = 1; + for( int i=2; i<=n; i++) + fact *= i; + return fact; + } + } +} - class RealLinearFunctional - { - private: - std::vector _vecCoef; - public: - RealLinearFunctional() {} - RealLinearFunctional(int n) : _vecCoef(n, 0.0) {} - RealLinearFunctional(const std::vector &vecCoef) : _vecCoef(vecCoef) {} - RealLinearFunctional(std::initializer_list list) : _vecCoef(list) {} +/////////////////////////// ./include/interfaces/IFunction.h /////////////////////////// - RealLinearFunctional(const RealLinearFunctional &Copy) : _vecCoef(Copy._vecCoef) {} - ~RealLinearFunctional() {} - int Dim() const { return (int) _vecCoef.size(); } +namespace MML +{ + ////////////////////////////////////////////////////////////////////// + template + class IFunction + { + public: + virtual _RetType operator()(_ArgType) const = 0; + }; - RealLinearFunctional& operator=(const RealLinearFunctional &Copy) { _vecCoef = Copy._vecCoef; return *this; } + ////////////////////////////////////////////////////////////////////// + class IRealFunction : public IFunction + { + public: + virtual Real operator()(Real) const = 0; - Real operator()(const std::vector &vecX) const - { - if( vecX.size() != Dim() ) - throw std::runtime_error("RealLinearFunctional::operator() - incompatible vector size"); + void GetValues(Real x1, Real x2, int numPnt, Vector& outX, Vector& outY) + { + outX.Resize(numPnt); + outY.Resize(numPnt); - Real result = 0.0; - for (int i = 0; i < _vecCoef.size(); i++) - result += _vecCoef[i] * vecX[i]; - return result; - } + for (int i = 0; i < numPnt; i++) { + outX[i] = x1 + i * (x2 - x1) / (numPnt - 1); + outY[i] = (*this)(outX[i]); + } + } + void Print(Real x1, Real x2, int numPnt) + { + for (int i = 0; i < numPnt; i++) { + Real x = x1 + i * (x2 - x1) / (numPnt - 1); + std::cout << x << " " << (*this)(x) << std::endl; + } + } + }; - RealLinearFunctional operator+(const RealLinearFunctional &b) const - { - if( b.Dim() != Dim() ) - throw std::runtime_error("RealLinearFunctional::operator+() - incompatible vector size"); + ////////////////////////////////////////////////////////////////////// + template + class IScalarFunction : public IFunction&> + { + public: + virtual Real operator()(const VectorN& x) const = 0; + }; - RealLinearFunctional result; - for (int i = 0; i < Dim(); i++) - result._vecCoef[i] = _vecCoef[i] + b._vecCoef[i]; - return result; - } + ////////////////////////////////////////////////////////////////////// + template + class IRealToVectorFunction : public IFunction, Real> + { + public: + virtual VectorN operator()(Real x) const = 0; + }; - RealLinearFunctional operator-(const RealLinearFunctional &b) const - { - if( b.Dim() != Dim() ) - throw std::runtime_error("RealLinearFunctional::operator-() - incompatible vector size"); + ////////////////////////////////////////////////////////////////////// + template + class IVectorFunction : public IFunction, const VectorN&> + { + public: + virtual VectorN operator()(const VectorN& x) const = 0; - RealLinearFunctional result; - for (int i = 0; i < Dim(); i++) - result._vecCoef[i] = _vecCoef[i] - b._vecCoef[i]; - return result; - } + virtual Real operator()(const VectorN& x, int component) const + { + VectorN val = (*this)(x); + return val[component]; + } + }; - RealLinearFunctional operator*(Real b) const - { - RealLinearFunctional result; - for (int i = 0; i < Dim(); i++) - result._vecCoef[i] = _vecCoef[i] + b; - return result; - } - }; -} + ////////////////////////////////////////////////////////////////////// + template + class IVectorFunctionNM : public IFunction, const VectorN&> + { + public: + virtual VectorN operator()(const VectorN& x) const = 0; + virtual Real operator()(const VectorN& x, int component) const + { + VectorN val = (*this)(x); + return val[component]; + } + }; -/////////////////////////// ./include/base/LinearOperator.h /////////////////////////// + ////////////////////////////////////////////////////////////////////// + template + class IParametricCurve : public IRealToVectorFunction + { + public: + virtual VectorN operator()(Real x) const = 0; + + virtual Real getMinT() const = 0; + virtual Real getMaxT() const = 0; + + // TODO - finish IsClosed() + bool isClosed(double tCycleStart, double tCycleEnd, double tVerificationIntervalEnd) const { + // u t1 i t2 moraju biti isti + // i onda do kraja intervala provjeriti da li se po tockama trace-a slaze + return false; + } + + std::vector> GetTrace(double t1, double t2, int numPoints) const + { + std::vector> ret; + double deltaT = (t2 - t1) / (numPoints - 1); + for (Real t = t1; t <= t2; t += deltaT) + ret.push_back((*this)(t)); + return ret; + } + }; + + ////////////////////////////////////////////////////////////////////// + // simple regular surface, defined on rectangular coordinate patch + template + class IParametricSurface : public IFunction, const VectorN&> + { + public: + virtual VectorN operator()(Real u, Real w) const = 0; + + virtual Real getMinX() const = 0; + virtual Real getMaxX() const = 0; + virtual Real getMinY() const = 0; + virtual Real getMaxY() const = 0; + + virtual VectorN operator()(const VectorN& coord) const + { + return operator()(coord[0], coord[1]); + } + bool Serialize2DCartesian(Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, std::string fileName) const + { + return false; + } + }; + + // complex surface, with fixed u limits, but variable w limits (dependent on u) + template + class IParametricSurfaceComplex : public IFunction, const VectorN&> + { + public: + virtual VectorN operator()(Real u, Real w) const = 0; + + virtual Real getMinX() const = 0; + virtual Real getMaxX() const = 0; + virtual Real getMinY(Real x) const = 0; + virtual Real getMaxY(Real x) const = 0; + + virtual VectorN operator()(const VectorN& coord) const + { + return operator()(coord[0], coord[1]); + } + }; + + ////////////////////////////////////////////////////////////////////// + template + class ITensorField2 : public IFunction, const VectorN& > + { + int _numContravar; + int _numCovar; + public: + ITensorField2(int numContra, int numCo) : _numContravar(numContra), _numCovar(numCo) { } + + int getNumContravar() const { return _numContravar; } + int getNumCovar() const { return _numCovar; } + + virtual Real Component(int i, int j, const VectorN& pos) const = 0; + }; + + template + class ITensorField3 : public IFunction, const VectorN& > + { + int _numContravar; + int _numCovar; + public: + int getNumContravar() const { return _numContravar; } + int getNumCovar() const { return _numCovar; } + + virtual Real Component(int i, int j, int k, const VectorN& pos) const = 0; + }; + + template + class ITensorField4 : public IFunction, const VectorN& > + { + int _numContravar; + int _numCovar; + public: + int getNumContravar() const { return _numContravar; } + int getNumCovar() const { return _numCovar; } + + virtual Real Component(int i, int j, int k, int l, const VectorN& pos) const = 0; + }; + + template + class ITensorField5 : public IFunction, const VectorN& > + { + int _numContravar; + int _numCovar; + public: + int getNumContravar() const { return _numContravar; } + int getNumCovar() const { return _numCovar; } + + virtual Real Component(int i, int j, int k, int l, int m, const VectorN& pos) const = 0; + }; +} +/////////////////////////// ./include/interfaces/ICoordTransf.h /////////////////////////// namespace MML { - // TODO - MED, TESKO, finish this - template - class RealLinearOperatorN : public ILinearOperator, VectorN> - { - MatrixNM m_matrix; - public: - VectorN operator()(const VectorN& x) const - { - return m_matrix * x; - } - }; + template + class ICoordTransf + { + public: + virtual VectorTo transf(const VectorFrom& in) const = 0; + virtual const IScalarFunction& coordTransfFunc(int i) const = 0; + }; - template - class RealLinearOperatorNM : public ILinearOperator, VectorN> - { - MatrixNM m_matrix; - public: - VectorN operator()(const VectorN& x) const - { - return m_matrix * x; - } - }; + template + class ICoordTransfWithInverse : public virtual ICoordTransf + { + public: + virtual VectorFrom transfInverse(const VectorTo& in) const = 0; + virtual const IScalarFunction& inverseCoordTransfFunc(int i) const = 0; + }; } -/////////////////////////// ./include/base/BaseUtils.h /////////////////////////// +/////////////////////////// ./include/interfaces/IODESystem.h /////////////////////////// namespace MML { - namespace Utils - { - static int LeviCivita(int i, int j, int k) - { - if( i==j || j==k || i==k ) - return 0; - - if( i==1 && j==2 && k==3 ) - return 1; - if( i==2 && j==3 && k==1 ) - return 1; - if( i==3 && j==1 && k==2 ) - return 1; - if( i==3 && j==2 && k==1 ) - return -1; - if( i==2 && j==1 && k==3 ) - return -1; - if( i==1 && j==3 && k==2 ) - return -1; - - return 0; - } - static int LeviCivita(int i, int j, int k, int l) - { - int a[4] = {i, j, k, l}; - int ret = 1; - - // TODO check if 1, 2, 3, 4 are present - for( int i=0; i<4; i++ ) - for( int j=i+1; j<4; j++ ) - if( a[i] > a[j] ) - { - int tmp = a[i]; - a[i] = a[j]; - a[j] = tmp; - ret *= -1; - } - return ret; - } - - static void AngleDegToExplicit(Real angle, Real °, Real &min, Real &sec) - { - deg = floor(angle); - min = floor((angle - deg) * 60.0); - sec = (angle - deg - min / 60.0) * 3600.0; - } - static void AngleRadToExplicit(Real angleRad, Real °, Real &min, Real &sec) { AngleDegToExplicit(angleRad * 180.0 / Constants::PI, deg, min, sec);} - static Real ExplicitToAngleDeg(Real deg, Real min, Real sec) { return deg + min / 60.0 + sec / 3600.0; } - static Real ExplicitToAngleRad(Real deg, Real min, Real sec) { return ExplicitToAngleDeg(deg, min, sec) * Constants::PI / 180.0; } + class IODESystem + { + public: + virtual int getDim() const = 0; + virtual void derivs(const Real, const Vector&, Vector&) const = 0; + void operator()(const Real t, const Vector& x, Vector& dxdt) const { return derivs(t, x, dxdt); } + }; +} +/////////////////////////// ./include/base/Geometry2D.h /////////////////////////// - /////////////////// Complex helpers /////////////////// - static bool AreEqual(const Complex &a, const Complex &b, double eps=Defaults::ComplexEqualityPrecision) - { - if( std::abs(a.real() - b.real()) > eps || std::abs(a.imag() - b.imag()) > eps ) - return false; - return true; - } - static bool AreEqual(const Vector &a, const Vector &b, double eps=Defaults::ComplexEqualityPrecision) - { - if( a.size() != b.size() ) - return false; - for( int i=0; i eps || std::abs(a[i].imag() - b[i].imag()) > eps ) - return false; +namespace MML +{ + class Line2D + { + private: + Point2Cartesian _point; + Vector2Cartesian _direction; // unit vector in line direction - return true; - } + public: + Line2D(const Point2Cartesian& pnt, const Vector2Cartesian dir) + { + _point = pnt; + _direction = dir.GetUnitVector(); + } - /////////////////// Vector helpers /////////////////// - static Vector VectorProjectionParallelTo(const Vector &orig, const Vector &b) - { - return orig.ScalarProductCartesian(b) / b.NormL2() * b; - } - static Vector VectorProjectionPerpendicularTo(const Vector &orig, const Vector &b) - { - return orig - VectorProjectionParallelTo(orig, b); - } - - template static Matrix OuterProduct(const Vector &a, const Vector &b) - { - Matrix ret(a.size(), b.size()); + Line2D(const Point2Cartesian& a, const Point2Cartesian& b) + { + Vector2Cartesian dir(a, b); + _point = a; + _direction = dir.GetUnitVector(); + } - for( int i=0; i - Vector operations /////////////////// - static Vector AddVec(const Vector &a, const Vector &b) - { - if( a.size() != b.size() ) - throw VectorDimensionError("AddVec(Complex, Real) - must be same dim", a.size(), b.size()); + Point2Cartesian PointOnLine(Real t) + { + Vector2Cartesian dist = t * _direction; + Point2Cartesian ret = _point + dist; + return ret; + } + }; - Vector ret(b.size());; - for (int i = 0; i < b.size(); i++) - ret[i] = a[i] + b[i]; - return ret; - } - static Vector AddVec(const Vector &a, const Vector &b) - { - if( a.size() != b.size() ) - throw VectorDimensionError("AddVec(Real, Complex) - must be same dim", a.size(), b.size()); + class SegmentLine2D + { + private: + Point2Cartesian _point1; + Point2Cartesian _point2; - Vector ret(b.size());; - for (int i = 0; i < b.size(); i++) - ret[i] = a[i] + b[i]; - return ret; - } + public: + SegmentLine2D(Point2Cartesian pnt1, Point2Cartesian pnt2) : _point1(pnt1), _point2(pnt2) + { } - static Vector SubVec(const Vector &a, const Vector &b) - { - if( a.size() != b.size() ) - throw VectorDimensionError("SubVec(Complex, Real) - must be same dim", a.size(), b.size()); + SegmentLine2D(const Point2Cartesian& pnt1, const Vector2Cartesian& direction, Real t) : _point1(pnt1) + { + _point2 = pnt1 + direction * t; + } - Vector ret(b.size());; - for (int i = 0; i < b.size(); i++) - ret[i] = a[i] - b[i]; - return ret; - } - static Vector SubVec(const Vector &a, const Vector &b) - { - if( a.size() != b.size() ) - throw VectorDimensionError("SubVec(Real, Complex) - must be same dim", a.size(), b.size()); - - Vector ret(b.size());; - for (int i = 0; i < b.size(); i++) - ret[i] = a[i] - b[i]; - return ret; - } - }; + Point2Cartesian StartPoint() const { return _point1; } + Point2Cartesian& StartPoint() { return _point1; } - namespace MatrixUtils - { - const static inline MatrixNM Pauli[]= { - MatrixNM{ 0, 1, - 1, 0 }, - MatrixNM{ 0, Complex(0, -1), - Complex(0, 1), 0}, - MatrixNM{ 1, 0, - 0, -1 } - }; - const static inline MatrixNM DiracGamma[]= { - MatrixNM{ 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, -1, 0, - 0, 0, 0, -1 }, - MatrixNM{ 0, 0, 0, 1, - 0, 0, 1, 0, - 0, -1, 0, 0, - -1, 0, 0, 0 }, - MatrixNM{ 0, 0, 0, Complex(0, -1), - 0, 0, Complex(0, 1), 0, - 0, Complex(0, 1), 0, 0, - Complex(0, -1), 0, 0, 0 }, - MatrixNM{ 0, 0, 1, 0, - 0, 0, 0, -1, - -1, 0, 0, 0, - 0, 1, 0, 0 } - }; - const static inline MatrixNM DiracGamma5{0, 0, 1, 0, - 0, 0, 0, 1, - 1, 0, 0, 0, - 0, 1, 0, 0 }; - - /////////////////// Creating Matrix from Vector /////////////////// - template static Matrix RowMatrixFromVector(const Vector &b) - { - Matrix ret(1, (int) b.size()); - for( int i=0; i static Matrix ColumnMatrixFromVector(const Vector &b) - { - Matrix ret((int) b.size(), 1); - for( int i=0; i 1.0) + throw std::invalid_argument("t must be in [0,1]"); - return ret; - } - template static Matrix DiagonalMatrixFromVector(const Vector &b) - { - Matrix ret((int) b.size(), (int) b.size()); - for( int i=0; i static Matrix Commutator(const Matrix &a, const Matrix &b) - { - return a*b - b*a; - } - template static Matrix AntiCommutator(const Matrix &a, const Matrix &b) - { - return a*b + b*a; - } - - template static void MatrixDecompose(const Matrix &orig, Matrix &outSym, Matrix &outAntiSym) - { - if( orig.RowNum() != orig.ColNum() ) - throw MatrixDimensionError("MatrixDecompose - matrix must be square", orig.RowNum(), orig.ColNum(), -1, -1); + class Triangle2D + { + private: + Point2Cartesian _pnt1, _pnt2, _pnt3; - outSym = (orig + orig.GetTranspose()) * 0.5; - outAntiSym = (orig - orig.GetTranspose()) * 0.5; - } + public: + Triangle2D(Point2Cartesian pnt1, Point2Cartesian pnt2, Point2Cartesian pnt3) : _pnt1(pnt1), _pnt2(pnt2), _pnt3(pnt3) + { } - /////////////////// Matrix functions /////////////////// - template static Matrix Exp(const Matrix &a, int n = 10) - { - Matrix ret(a.RowNum(), a.ColNum()); - Matrix a_pow_n(a); - - double fact = 1.0; - ret.MakeUnitMatrix(); - - for( int i=1; i<=n; i++ ) - { - ret += a_pow_n / fact; - - a_pow_n = a_pow_n * a; - fact *= (double) i; - } + Point2Cartesian Pnt1() const { return _pnt1; } + Point2Cartesian& Pnt1() { return _pnt1; } + Point2Cartesian Pnt2() const { return _pnt2; } + Point2Cartesian& Pnt2() { return _pnt2; } + Point2Cartesian Pnt3() const { return _pnt3; } + Point2Cartesian& Pnt3() { return _pnt3; } - return ret; - } + Real Area() const + { + Real a = _pnt1.Dist(_pnt2); + Real b = _pnt2.Dist(_pnt3); + Real c = _pnt3.Dist(_pnt1); - /////////////////// Real matrix helpers /////////////////// - static bool IsOrthogonal(const Matrix &mat, double eps = Defaults::IsMatrixOrthogonalPrecision) - { - if( mat.RowNum() != mat.ColNum() ) - throw MatrixDimensionError("IsOrthogonal - matrix must be square", mat.RowNum(), mat.ColNum(), -1, -1); - - Matrix matProd = mat * mat.GetTranspose(); + Real s = (a + b + c) / 2.0; - return matProd.IsUnit(eps); - } + return sqrt(s * (s - a) * (s - b) * (s - c)); + } + }; - /////////////////// Complex matrix helpers /////////////////// - static Matrix GetRealPart(const Matrix &a) - { - Matrix ret(a.RowNum(), a.ColNum()); + class Polygon2D + { + private: + std::vector _points; + public: + Polygon2D() {} + Polygon2D(std::vector points) : _points(points) {} + Polygon2D(std::initializer_list list) + { + for (auto element : list) + _points.push_back(element); + } - for( int i=0; i Points() const { return _points; } + std::vector& Points() { return _points; } - return ret; - } - static Matrix GetImagPart(const Matrix &a) - { - Matrix ret(a.RowNum(), a.ColNum()); + Real Area() const + { + Real area = 0.0; + int n = (int)_points.size(); + for (int i = 0; i < n; i++) + { + area += _points[i].X() * _points[(i + 1) % n].Y(); + area -= _points[i].Y() * _points[(i + 1) % n].X(); + } + area /= 2.0; + return area; + } - for( int i=0; i GetConjugateTranspose(const Matrix &mat) - { - Matrix ret(mat.ColNum(), mat.RowNum()); + // TODO - IsInside + bool IsInside(Point2Cartesian pnt) const + { + return false; + } + }; +} +/////////////////////////// ./include/base/Geometry3D.h /////////////////////////// - for( int i=0; i CmplxMatFromRealMat(const Matrix &mat) - { - Matrix mat_cmplx(mat.RowNum(), mat.ColNum()); - for(int i=0; i &mat) - { - for(int i=0; i &mat) - { - if( mat.RowNum() != mat.ColNum() ) - throw MatrixDimensionError("IsHermitian - matrix must be square", mat.RowNum(), mat.ColNum(), -1, -1); - - for(int i=0; i &mat) - { - // IsUnitary - complex square matrix U is unitary if its conjugate transpose U* is also its inverse - if( mat.RowNum() != mat.ColNum() ) - throw MatrixDimensionError("IsUnitary - matrix must be square", mat.RowNum(), mat.ColNum(), -1, -1); - - Matrix matProd = mat * GetConjugateTranspose(mat); + public: + Line3D() {} + Line3D(const Point3Cartesian& pnt, const Vector3Cartesian dir) + { + _point = pnt; + _direction = dir.GetAsUnitVector(); + } - return matProd.IsUnit(); - } + Line3D(const Point3Cartesian& a, const Point3Cartesian& b) + { + Vector3Cartesian dir(a, b); + _point = a; + _direction = dir.GetAsUnitVector(); + } - /////////////////// Matrix - Matrix operations /////////////////// - static Matrix AddMat(const Matrix &a, const Matrix &b) - { - if (a.RowNum() != b.RowNum() || a.ColNum() != b.ColNum()) - throw MatrixDimensionError("AddMat(Complex, Real) - must be same dim", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); - - Matrix ret(a); - for (int i = 0; i < b.RowNum(); i++) - for (int j = 0; j < b.ColNum(); j++) - ret[i][j] += b[i][j]; - return ret; - } - static Matrix AddMat(const Matrix &a, const Matrix &b) - { - if (a.RowNum() != b.RowNum() || a.ColNum() != b.ColNum()) - throw MatrixDimensionError("AddMat(Real, Complex) - must be same dim", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); - - Matrix ret(b); - for (int i = 0; i < a.RowNum(); i++) - for (int j = 0; j < a.ColNum(); j++) - ret[i][j] += a[i][j]; - return ret; - } + Point3Cartesian StartPoint() const { return _point; } + Point3Cartesian& StartPoint() { return _point; } - static Matrix SubMat(const Matrix &a, const Matrix &b) - { - if (a.RowNum() != b.RowNum() || a.ColNum() != b.ColNum()) - throw MatrixDimensionError("AddMat(Complex, Real) - must be same dim", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); - - Matrix ret(a); - for (int i = 0; i < b.RowNum(); i++) - for (int j = 0; j < b.ColNum(); j++) - ret[i][j] -= b[i][j]; - return ret; - } - static Matrix SubMat(const Matrix &a, const Matrix &b) - { - if (a.RowNum() != b.RowNum() || a.ColNum() != b.ColNum()) - throw MatrixDimensionError("AddMat(Real, Complex) - must be same dim", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); - - Matrix ret(b); - for (int i = 0; i < a.RowNum(); i++) - for (int j = 0; j < a.ColNum(); j++) - ret[i][j] = a[i][j] - b[i][j]; - return ret; - } + Vector3Cartesian Direction() const { return _direction; } + Vector3Cartesian& Direction() { return _direction; } - static Matrix MulMat(const Complex &a, const Matrix &b) - { - Matrix ret(b.RowNum(), b.ColNum()); - - for( int i=0; i MulMat(const Matrix &a, const Matrix &b) - { - if( a.ColNum() != b.RowNum() ) - throw MatrixDimensionError("Matrix::operator*(Complex, Real)) - a.colNum must be equal to b.rowNum", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); - - Matrix ret(a.RowNum(), b.ColNum()); - for( int i=0; i MulMat(const Matrix &a, const Matrix &b) - { - if( a.ColNum() != b.RowNum() ) - throw MatrixDimensionError("Matrix::operator*(Real, Complex)) - a.colNum must be equal to b.rowNum", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); + Point3Cartesian PointOnLine(Real t) const { return _point + t * _direction; } - Matrix ret(a.RowNum(), b.ColNum()); - for( int i=0; i MulMatVec( const Matrix &a, const Vector &b ) - { - if( a.ColNum() != b.size() ) - throw MatrixDimensionError("operator*(Mat a, Vec b) - a.colNum must be equal to vector size", a.RowNum(), a.ColNum(), (int) b.size(), -1); - - Vector ret(a.RowNum()); - for( int i=0; i MulMatVec( const Matrix &a, const Vector &b ) - { - if( a.ColNum() != b.size() ) - throw MatrixDimensionError("operator*(Mat a, Vec b) - a.colNum must be equal to vector size", a.RowNum(), a.ColNum(), (int) b.size(), -1); - - Vector ret(a.RowNum()); - for( int i=0; i MulVecMat( const Vector &a, const Matrix &b) - { - if( a.size() != b.RowNum() ) - throw MatrixDimensionError("operator*(Vec a, Mat b) - vector size must be equal to b.rowNum", (int) a.size(), -1, b.RowNum(), b.ColNum()); - - Vector ret(b.ColNum()); - for( int i=0; i MulVecMat( const Vector &a, const Matrix &b) - { - if( a.size() != b.RowNum() ) - throw MatrixDimensionError("operator*(Vec a, Mat b) - vector size must be equal to b.rowNum", (int) a.size(), -1, b.RowNum(), b.ColNum()); - - Vector ret(b.ColNum()); - for( int i=0; i - class GaussJordanSolver - { - public: - static bool Solve(Matrix &a, Matrix &b) - { - int i,icol,irow,j,k,l,ll; - Real big; - Type dum,pivinv; - - int n=a.RowNum(); - int m=b.ColNum(); - std::vector indxc(n),indxr(n),ipiv(n); - for (j=0;j= big) { - big=Abs(a[j][k]); - irow=j; - icol=k; - } - } - } - ++(ipiv[icol]); - if (irow != icol) { - for (l=0;l=0;l--) { - if (indxr[l] != indxc[l]) - for (k=0;k Solve(Matrix &a, const Vector &b) - { - Vector x(b.size()); - if( Solve(b, x) == true ) - return x; - else - throw SingularMatrixError("GaussJordanSolver::Solve - Singular Matrix"); - } - static bool Solve(Matrix &a, Vector &b) - { - Matrix bmat(b.size(), 1); - for(int i=0;i au,al; - Vector indx; - Real d; - - public: - // TODO 0.9 - HIGH, SREDNJE, parm mora biti BandDiagonalMatrix! - // TODO - handling singularne matrice - BandDiagLUSolver(Matrix &a, const int mm1, const int mm2) - : n(a.RowNum()), au(a), m1(mm1), m2(mm2), al(n,m1), indx(n) - { - const Real TINY=1.0e-40; - int i,j,k,l,mm; - Real dum; - mm=m1+m2+1; - l=m1; - for (i=0;i std::abs(dum)) { - dum=au[j][0]; - i=j; - } - } - indx[k]=i+1; - if (dum == 0.0) au[k][0]=TINY; - if (i != k) { - d = -d; - for (j=0;j &b, Vector &x) - { - int i,j,k,l,mm; - Real dum; - mm=m1+m2+1; - l=m1; - for (k=0;k=0;i--) { - dum=x[i]; - for (k=1;k Solve(const Vector &b) - { - Vector x(b.size()); - Solve(b, x); - return x; - } + // Vector3Cartesian numerator = (p - p0).CrossProduct(p - p1); + // Real denominator = (p1 - p0).Length(); - Real Det() const - { - Real dd = d; - for (int i=0;i - class LUDecompositionSolver - { - private: - int n; - const Matrix &refOrig; + Point3Cartesian NearestPoint(const Point3Cartesian& pnt) const + { + // https://math.stackexchange.com/questions/1521128/given-a-line-and-a-point-in-3d-how-to-find-the-closest-point-on-the-line + Point3Cartesian Q(StartPoint()); + Point3Cartesian R = PointOnLine(1.0); - Matrix lu; - std::vector indx; - Real d; - - public: - // TODO - HIGH, HIGH, TESKO, napraviti da se može odraditi i inplace, a ne da se kao sad uvijek kreira kopija - LUDecompositionSolver(const Matrix &inMatRef) : n(inMatRef.RowNum()), refOrig(inMatRef), lu(inMatRef), indx(n) -// ne može LUDecompositionSolver(const Matrix &inMatRef) : n(inMatRef.RowNum()), refOrig(inMatRef), lu(Matrix(inMatRef.RowNum(), inMatRef.ColNum())), indx(n) -// lu mora postati pointer! - { - // Given a Matrix a[1..n][1..n], this routine replaces it by the LU decomposition of a rowwise - // permutation of itself. a and n are input. a is output, arranged as in equation (NR 2.3.14); - // indx[1..n] is an output Vector that records the row permutation effected by the partial - // pivoting; d is output as ±1 depending on whether the number of row interchanges was even - // or odd, respectively. This routine is used in combination with lubksb to solve linear equations - // or invert a Matrix. - const Real TINY=1.0e-40; - int i,imax,j,k; - Real big,temp; - Type temp2; - Vector vv(n); - d=1.0; - for (i=0;i big) big=temp; - if (big == 0.0) - throw SingularMatrixError("LUDecompositionSolver::ctor - Singular Matrix"); - - vv[i]=1.0/big; - } - for (k=0;k big) { - big=temp; - imax=i; - } - } - if (k != imax) { - for (j=0;j &b, Vector &x) - { - // Solves the set of n linear equations A·X = B. Here a[1..n][1..n] is input, not as the Matrix - // A but rather as its LU decomposition, determined by the routine ludcmp. indx[1..n] is input - // as the permutation Vector returned by ludcmp. b[1..n] is input as the right-hand side Vector - // B, and returns with the solution Vector X. a, n, and indx are not modified by this routine - // and can be left in place for successive calls with different right-hand sides b. This routine takes - // into account the possibility that b will begin with many zero elements, so it is efficient for use - // in Matrix inversion - int i,ii=0,ip,j; - Type sum; - - if (b.size() != n || x.size() != n) - return false; - - for (i=0;i=0;i--) { - sum=x[i]; - for (j=i+1;j Solve(const Vector &b) - { - Vector x(b.size()); - if( Solve(b, x) == true ) - return x; - else - throw VectorDimensionError("LUDecompositionSolver::Solve - bad sizes", b.size(), n); - } - - void Solve(Matrix &b, Matrix &x) - { - int i,j,m=b.ColNum(); - - if (b.RowNum() != n || x.RowNum() != n || b.ColNum() != x.ColNum()) - throw("LUdcmp::solve bad sizes"); - - Vector xx(n); - - for (j=0;j &ainv) - { - int i,j; - ainv.Resize(n,n); - for (i=0;i x[1..n] of the linear set of equations A · X = B. The Matrix - // a[1..n][1..n], and the Vectors b[1..n] and x[1..n] are input, as is the dimension n. - // Also input is alud[1..n][1..n], the LU decomposition of a as returned by ludcmp, and - // the Vector indx[1..n] also returned by that routine. On output, only x[1..n] is modified, - // to an improved set of values - void mprove(const Vector &b, Vector &x) - { - int i,j; - Vector r(n); - - for (i=0;i el; - - public: - CholeskyDecompositionSolver(Matrix &a) : n(a.RowNum()), el(a) - { - // Given a positive-definite symmetric Matrix a[1..n][1..n], this routine constructs its Cholesky - // decomposition, A = L · LT . On input, only the upper triangle of a need be given; it is not - // modified. The Cholesky factor L is returned in the lower triangle of a, except for its diagonal - // elements which are returned in p[1..n] - int i,j,k; - Real sum; - - if (el.ColNum() != n) - throw("need square Matrix"); - - for (i=0;i=0;k--) sum -= el[i][k]*el[j][k]; - if (i == j) { - if (sum <= 0.0) - throw("Cholesky failed"); - el[i][i]=sqrt(sum); - } else el[j][i]=sum/el[i][i]; - } - } - for (i=0;i &b, Vector &x) - { - // Solves the set of n linear equations A · x = b, where a is a positive-definite symmetric Matrix. - // a[1..n][1..n] and p[1..n] are input as the output of the routine choldc. Only the lower - // triangle of a is accessed. b[1..n] is input as the right-hand side Vector. The solution Vector is - // returned in x[1..n]. a, n, and p are not modified and can be left in place for successive calls - // with different right-hand sides b. b is not modified unless you identify b and x in the calling - // sequence, which is allowed. - int i,k; - Real sum; - if (b.size() != n || x.size() != n) throw("bad lengths in Cholesky"); - for (i=0;i=0;k--) sum -= el[i][k]*x[k]; - x[i]=sum/el[i][i]; - } - for (i=n-1;i>=0;i--) { - for (sum=x[i],k=i+1;k Solve(const Vector &b) - { - Vector x(b.size()); - Solve(b, x); - return x; - } - void inverse(Matrix &ainv) { - int i,j,k; - Real sum; - ainv.Resize(n,n); - for (i=0;i=j;k--) sum -= el[i][k]*ainv[j][k]; - ainv[j][i]= sum/el[i][i]; - } - for (i=n-1;i>=0;i--) for (j=0;j<=i;j++){ - sum = (i &y, Vector &b) { - int i,j; - if (b.size() != n || y.size() != n) throw("bad lengths"); - for (i=0;i &b, Vector &y) { - int i,j; - Real sum; - if (b.size() != n || y.size() != n) throw("bad lengths"); - for (i=0;i qt, r; - bool sing; + return Q - t * RQ; + } + // TODO - pravac koji prolazi kroz tocku i sijece zadani pravac okomito + // TODO - sjeciste dva pravca + }; - public: - QRDecompositionSolver(const Matrix &a) : n(a.RowNum()), qt(n,n), r(a), sing(false) - { - // Constructs the QR decomposition of a[1..n][1..n]. The upper triangular Matrix R is returned in the upper triangle of a, - // except for the diagonal elements of R which are returned in d[1..n]. - int i,j,k; - Vector c(n), d(n); - Real scale,sigma,sum,tau; - for (k=0;k, and is overwritten with the solution Vector on output. - void Solve(const Vector &b, Vector &x) - { - qtmult(b,x); - RSolve(x,x); - } - Vector Solve(const Vector &b) - { - Vector x(b.size()); - Solve(b, x); - return x; - } - void RSolve(const Vector &b, Vector &x) - { - // Solves the set of n linear equations R · x = b, where R is an upper triangular Matrix stored in - // a and d. a[1..n][1..n] and d[1..n] are input as the output of the routine qrdcmp and - // are not modified. b[1..n] is input as the right-hand side Vector, and is overwritten with the - // solution Vector on output - int i,j; - Real sum; - if (sing) - throw SingularMatrixError("QRDecompositionSolver::rsolve - attempting solve in a singular QR"); - - for (i=n-1;i>=0;i--) { - sum=b[i]; - for (j=i+1;j &b, Vector &x) { - int i,j; - Real sum; - for (i=0;i &u, Vector &v) - { - // Given the QR decomposition of some n × n Matrix, calculates the QR decomposition of the - // Matrix Q·(R+ u x v). The quantities are dimensioned as r[1..n][1..n], qt[1..n][1..n], - // u[1..n], and v[1..n]. Note that QT is input and returned in qt. - int i,k; - Vector w(u); - for (k=n-1;k>=0;k--) - if (w[k] != 0.0) break; - if (k < 0) k=0; - for (i=k-1;i>=0;i--) { - rotate(i,w[i],-w[i+1]); - if (w[i] == 0.0) - w[i]=std::abs(w[i+1]); - else if (std::abs(w[i]) > std::abs(w[i+1])) - w[i]=std::abs(w[i])*sqrt(1.0+POW2(w[i+1]/w[i])); - else w[i]=std::abs(w[i+1])*sqrt(1.0+POW2(w[i]/w[i+1])); - } - for (i=0;i. a and b are the parameters of the rotation: cos phi = a=pa2 + b2, - // sin phi = b=pa2 + b2. - int j; - Real c,fact,s,w,y; - if (a == 0.0) { - c=0.0; - s=(b >= 0.0 ? 1.0 : -1.0); - } else if (std::abs(a) > std::abs(b)) { - fact=b/a; - c=SIGN(1.0/sqrt(1.0+(fact*fact)),a); - s=fact*c; - } else { - fact=a/b; - s=SIGN(1.0/sqrt(1.0+(fact*fact)),b); - c=fact*s; - } - for (j=i;j u,v; - Vector w; - Real eps, tsh; - - public: - Vector getW() { return w;} - Matrix getU() { return u;} - Matrix getV() { return v;} + SegmentLine3D(Point3Cartesian pnt1, Vector3Cartesian direction, Real t) + { + _point1 = pnt1; + _point2 = pnt1 + t * direction; + } - public: - SVDecompositionSolver(const Matrix &a) : m(a.RowNum()), n(a.ColNum()), u(a), v(n,n), w(n) - { - // Given a Matrix a[1..m][1..n], this routine computes its singular value decomposition, A = U·W ·V T . - // The Matrix U replaces a on output. - // The diagonal Matrix of singular values W is output as a Vector w[1..n]. - // The Matrix V (not the transpose V T ) is output as v[1..n][1..n]. - eps = std::numeric_limits::epsilon(); - decompose(); - reorder(); - tsh = 0.5*sqrt(m+n+1.)*w[0]*eps; - } + Point3Cartesian StartPoint() const { return _point1; } + Point3Cartesian& StartPoint() { return _point1; } - Real inv_condition() { - return (w[0] <= 0. || w[n-1] <= 0.) ? 0. : w[n-1]/w[0]; - } - - void Solve(const Vector &b, Vector &x, Real thresh = -1.) - { - // Solve A x D b for a vector x using the pseudoinverse of A as obtained by SVD. If positive, - // thresh is the threshold value below which singular values are considered as zero. If thresh is - // negative, a default based on expected roundoff error is used. - int i,j,jj; - Real s; - if (b.size() != m || x.size() != n) throw("solve bad sizes"); - Vector tmp(n); - tsh = (thresh >= 0. ? thresh : 0.5*sqrt(m+n+1.)*w[0]*eps); - for (j=0;j tsh) { - for (i=0;i Solve(const Vector &b, Real thresh = -1.) - { - Vector x(b.size()); - Solve(b, x, thresh); - return x; - } - - // Solves m sets of n equations A X D B using the pseudoinverse of A. The right-hand sides are - // input as b[0..n-1][0..m-1], while x[0..n-1][0..m-1] returns the solutions. thresh as above. - void Solve(const Matrix &b, Matrix &x, Real thresh = -1.) - { - int i,j,p=b.ColNum(); - if (b.RowNum() != m || x.RowNum() != n || x.ColNum() != p) - throw("solve bad sizes"); - - Vector xx(n),bcol(m); - for (j=0;j= 0. ? thresh : 0.5*sqrt(m+n+1.)*w[0]*eps); - for (j=0;j tsh) nr++; - return nr; - } + Point3Cartesian PointOnSegment(Real t) + { + if (t < 0.0 || t > 1.0) + throw std::runtime_error("SegmentLine3D::PointOnSegment - t not in [0,1]"); - // Return the nullity of A, after zeroing any singular values smaller than thresh. Default value as above. - int Nullity(Real thresh = -1.) { - int j,nn=0; - tsh = (thresh >= 0. ? thresh : 0.5*sqrt(m+n+1.)*w[0]*eps); - for (j=0;j Range(Real thresh = -1.){ - int i,j,nr=0; - Matrix rnge(m,Rank(thresh)); - for (j=0;j tsh) { - for (i=0;i Nullspace(Real thresh = -1.){ - int j,jj,nn=0; - Matrix nullsp(n,Nullity(thresh)); - for (j=0;j rv1(n); - g = scale = anorm = 0.0; - for (i=0;i=0;i--) { - if (i < n-1) { - if (g != 0.0) { - for (j=l;j=0;i--) { - l=i+1; - g=w[i]; - for (j=l;j=0;k--) { - for (its=0;its<30;its++) { - flag=true; - for (l=k;l>=0;l--) { - nm=l-1; - if (l == 0 || std::abs(rv1[l]) <= eps*anorm) { - flag=false; - break; - } - if (std::abs(w[nm]) <= eps*anorm) break; - } - if (flag) { - c=0.0; - s=1.0; - for (i=l;i su(m), sv(n); - do { inc *= 3; inc++; } while (inc <= n); - do { - inc /= 3; - for (i=inc;i 1); - for (k=0;k (m+n)/2) { - for (i=0;i absb ? absa*sqrt(1.0+POW2(absb/absa)) : - (absb == 0.0 ? 0.0 : absb*sqrt(1.0+POW2(absa/absb)))); - } - }; -} // end namespace -/////////////////////////// ./include/core/CoreUtils.h /////////////////////////// + Vector3Cartesian unitNormal = normal.GetAsUnitVector(); + _A = unitNormal.X(); + _B = unitNormal.Y(); + _C = unitNormal.Z(); + _D = -(a.X() * unitNormal.X() + a.Y() * unitNormal.Y() + a.Z() * unitNormal.Z()); + } + Plane3D(const Point3Cartesian& a, const Point3Cartesian& b, const Point3Cartesian& c) + : Plane3D(a, VectorProd(Vector3Cartesian(a, b), Vector3Cartesian(a, c))) + { } + Plane3D(Real alpha, Real beta, Real gamma, Real d) // Hesseov (normalni) oblik + { + _A = cos(alpha); + _B = cos(beta); + _C = cos(gamma); + _D = -d; + } -namespace MML -{ - namespace MatrixUtils - { - static Real Det(const Matrix &mat) - { - Matrix matCopy(mat); - LUDecompositionSolver _solver(matCopy); + // tri segmenta na koord osima ctor + Plane3D(Real seg_x, Real seg_y, Real seg_z) + { + Point3Cartesian x(seg_x, 0, 0); + Point3Cartesian y(0, seg_y, 0); + Point3Cartesian z(0, 0, seg_z); - return _solver.det(); - } + if (seg_x == 0 || seg_y == 0 || seg_z == 0) + throw std::runtime_error("Plane3D ctor - zero segment"); - static int Rank(const Matrix &mat) - { - Matrix matcopy(mat); + _A = 1 / seg_x; + _B = 1 / seg_y; + _C = 1 / seg_z; + _D = -1; + } - SVDecompositionSolver svdSolver(matcopy); + static Plane3D GetXYPlane() { return Plane3D(Point3Cartesian(0, 0, 0), Vector3Cartesian(0, 0, 1)); } + static Plane3D GetXZPlane() { return Plane3D(Point3Cartesian(0, 0, 0), Vector3Cartesian(0, 1, 0)); } + static Plane3D GetYZPlane() { return Plane3D(Point3Cartesian(0, 0, 0), Vector3Cartesian(1, 0, 0)); } + + Real A() const { return _A; } + Real& A() { return _A; } + Real B() const { return _B; } + Real& B() { return _B; } + Real C() const { return _C; } + Real& C() { return _C; } + Real D() const { return _D; } + Real& D() { return _D; } + + Point3Cartesian GetPointOnPlane() const { + if (_A != 0.0) + return Point3Cartesian(-_D / _A, 0, 0); + else if (_B != 0.0) + return Point3Cartesian(0, -_D / _B, 0); + else + return Point3Cartesian(0, 0, -_D / _C); + } - return svdSolver.Rank(); - } - } -} -/////////////////////////// ./include/core/Derivation.h /////////////////////////// + Vector3Cartesian Normal() const { return Vector3Cartesian(_A, _B, _C); } + void GetCoordAxisSegments(Real& outseg_x, Real& outseg_y, Real& outseg_z) + { + outseg_x = -_D / _A; + outseg_y = -_D / _B; + outseg_z = -_D / _C; + } + bool IsPointOnPlane(const Point3Cartesian& pnt, Real defEps = 1e-15) const + { + return std::abs(_A * pnt.X() + _B * pnt.Y() + _C * pnt.Z() + _D) < defEps; + } + Real DistToPoint(const Point3Cartesian& pnt) const + { + Real a = _A * pnt.X() + _B * pnt.Y() + _C * pnt.Z() + _D; + Real b = sqrt(_A * _A + _B * _B + _C * _C); -namespace MML -{ - class Derivation - { - public: - static inline const Real NDer1_h = 2 * std::sqrt(Constants::Epsilon); - static inline const Real NDer2_h = std::pow(3 * Constants::Epsilon, 1.0 / 3.0); - static inline const Real NDer4_h = std::pow(11.25 * Constants::Epsilon, 1.0 / 5.0); // 0.0012009323661373839 for double! - static inline const Real NDer6_h = std::pow(Constants::Epsilon / 168.0, 1.0 / 7.0); - static inline const Real NDer8_h = std::pow(551.25 * Constants::Epsilon, 1.0 / 9.0); - - /********************************************************************************************************************/ - /******** Numerical derivatives of FIRST order ********/ - /********************************************************************************************************************/ - ////////////////////////// RealFunction ////////////////////////// - static Real NDer1(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = f(x + h); - Real y0 = f(x); - Real diff = yh - y0; - if (error) - { - Real ym = f(x - h); - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - - // h*|f''(x)|*0.5 + (|f(x+h)+|f(x)|) * Constants::Epsilon/h - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } - static Real NDer1(const IRealFunction &f, Real x, Real* error = nullptr) - { - // Error bound ~eps^1/2 - // Note that this estimate of h differs from the best estimate by a factor of sqrt((|f(x)| + |f(x+h)|)/|f''(x)|). - // Since this factor is invariant under the scaling f -> kf, then we are somewhat justified in approximating it by 1. - // This approximation will get better as we move to higher orders of accuracy. - return NDer1(f, x, NDer1_h, error); - } - static Real NDer1Left(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer1(f, x - 2 * NDer1_h, NDer1_h, error); } - static Real NDer1Right(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer1(f, x + 2 * NDer1_h, NDer1_h, error); } + return std::abs(a / b); + } - static Real NDer1Left(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer1(f, x - 2 * h, h, error); } - static Real NDer1Right(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer1(f, x + 2 * h, h, error); } + Point3Cartesian ProjectionToPlane(const Point3Cartesian& pnt) const + { + // TODO - check if it is already ona the plane! + // from given point and normal to plane form a Line3D + Line3D line(pnt, Normal()); + // find intersection of this line with plane + Point3Cartesian ret; + IntersectionWithLine(line, ret); - static Real NSecDer1(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NSecDer1(f, x, NDer1_h, error); - } + return ret; + } - static Real NSecDer1(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NDer2(f, x + h, h, error); - Real y0 = NDer2(f, x, h, error); - Real diff = yh - y0; - if (error) - { - Real ym = NDer2(f, x - h, h, error); - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } - - static Real NThirdDer1(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NThirdDer1(f, x, NDer1_h, error); - } + bool IsLineOnPlane(const Line3D& line) const + { + // get two points + const Point3Cartesian pnt1 = line.StartPoint(); + const Point3Cartesian pnt2 = line.PointOnLine(1.0); - static Real NThirdDer1(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NSecDer2(f, x + h, h, error); - Real y0 = NSecDer2(f, x, h, error); - Real diff = yh - y0; - if (error) - { - Real ym = NSecDer2(f, x - h, h, error); - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } - - ////////////////////////// ScalarFunction ////////////////////////// - template - static Real NDer1Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer1Partial(f, deriv_index, point, NDer1_h, error); - } + if (IsPointOnPlane(pnt1) && IsPointOnPlane(pnt2)) + return true; + else + return false; + } - template - static Real NDer1Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + Real AngleToLine(const Line3D& line) const + { + // angle between line and normal to plane + return Constants::PI / 2.0 - line.Direction().AngleToVector(this->Normal()); + } - VectorN x = point; - Real y0 = f(x); + bool IntersectionWithLine(const Line3D& line, Point3Cartesian& out_inter_pnt) const + { + // Calculate the direction vector of the line + Vector3Cartesian line_dir = line.Direction(); - x[deriv_index] = orig_x + h; - Real yh = f(x); + // Calculate the normal vector of the plane + Vector3Cartesian plane_normal = Normal(); - Real diff = yh - y0; - if (error) - { - x[deriv_index] = orig_x - h; - Real ym = f(x); - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } + // Check if the line is parallel to the plane + if (line_dir.ScalarProductCartesian(plane_normal) == 0) { + return false; + } - template - static Real NSecDer1Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real *error = nullptr) - { - return NSecDer1Partial(f, der_ind1, der_ind2, point, NDer1_h, error); - } + // Calculate the distance between the line and the plane + double dist = Vector3Cartesian(GetPointOnPlane(), line.StartPoint()).ScalarProductCartesian(plane_normal) / line_dir.ScalarProductCartesian(plane_normal); - template - static Real NSecDer1Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real h, Real *error = nullptr) - { - Real x_orig_val = point[der_ind2]; - - auto x_eval_pos = point; - Real y0 = NDer2Partial(f, der_ind1, x_eval_pos, error); - x_eval_pos[der_ind2] = x_orig_val + h; - Real yh = NDer2Partial(f, der_ind1, x_eval_pos, error); - - Real diff = yh - y0; - if (error) - { - x_eval_pos[der_ind2] = x_orig_val - h; - - Real ym = NDer2Partial(f, der_ind1, x_eval_pos, error); - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } - - template - static VectorN NDer1PartialByAll(const IScalarFunction &f, const VectorN &point, VectorN *error = nullptr) - { - return NDer1PartialByAll(f, point, NDer1_h, error); - } + // Calculate the point of intersection + Point3Cartesian inter_pnt = line.StartPoint() + line_dir * dist; - template - static VectorN NDer1PartialByAll(const IScalarFunction &f, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i - static Real NDer1Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer1Partial(f, func_index, deriv_index, point, NDer1_h, error); - } + bool IsParallelToPlane(const Plane3D& plane) const + { + Vector3Cartesian norm1(_A, _B, _C); - template - static Real NDer1Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - auto x = point; + Vector3Cartesian norm2(plane._A, plane._B, plane._C); - Real x_orig = x[deriv_index]; - Real y0 = f(x)[func_index]; + return norm1.IsParallelTo(norm2); + } + bool IsPerpendicularToPlane(const Plane3D& plane) const + { + Vector3Cartesian norm1(_A, _B, _C); + Vector3Cartesian norm2(plane._A, plane._B, plane._C); - x[deriv_index] = x_orig + h; - Real yh = f(x)[func_index]; + return norm1.IsPerpendicularTo(norm2); + } + Real AngleToPlane(const Plane3D& plane) const + { + // to je kut normala + return this->Normal().AngleToVector(plane.Normal()); + } + Real DistToPlane(const Plane3D& plane) const + { + // TODO finishs + // ili su paralelne, pa imamo neki broj, ili se sijeku pa je 0 + return 0.0; + } + // TODO - check implementation IntersectionWithPlane + bool IntersectionWithPlane(const Plane3D& plane, Line3D& out_inter_line) const + { + Vector3Cartesian inter_dir = VectorProd(Normal(), plane.Normal()); - Real diff = yh - y0; - if (error) - { - x[deriv_index] = x_orig - h; - Real ym = f(x)[func_index]; - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } + // Check if the planes are parallel + if (inter_dir.NormL2() == 0.0) { + return false; + } - template - static VectorN NDer1PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, VectorN *error = nullptr) - { - return NDer1PartialByAll(f, func_index, point, NDer1_h, error); - } + // Calculate a point on the intersection line + Point3Cartesian inter_pnt = GetPointOnPlane(); - template - static VectorN NDer1PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i - static MatrixNM NDer1PartialAllByAll(const IVectorFunction &f, const VectorN &point, MatrixNM *error = nullptr) - { - return NDer1PartialAllByAll(f, point, NDer1_h, error); - } + // Set the output parameter to the intersection line + out_inter_line = Line3D(inter_pnt, inter_dir); - template - static MatrixNM NDer1PartialAllByAll(const IVectorFunction &f, const VectorN &point, Real h, MatrixNM *error = nullptr) - { - MatrixNM ret; - - for( int i=0; i - static Real NDer1Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer1Partial(f, i, j, deriv_index, point, NDer1_h, error); - } + class Triangle3D + { + private: + Point3Cartesian _pnt1, _pnt2, _pnt3; + public: + Triangle3D(Point3Cartesian pnt1, Point3Cartesian pnt2, Point3Cartesian pnt3) + : _pnt1(pnt1), _pnt2(pnt2), _pnt3(pnt3) + {} - template - static Real NDer1Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - auto x = point; + Point3Cartesian& Pnt1() { return _pnt1; } + Point3Cartesian& Pnt2() { return _pnt2; } + Point3Cartesian& Pnt3() { return _pnt3; } + }; - Real x_orig = x[deriv_index]; - Real y0 = f.Component(i,j,x); + class TriangleSurface3D : public Triangle3D, IParametricSurface<3> + { + public: + Real _minX, _maxX, _minY, _maxY; + Point3Cartesian _center; + Vector3Cartesian _localX, _localY; - x[deriv_index] = x_orig + h; - Real yh = f.Component(i,j,x); + TriangleSurface3D(Point3Cartesian pnt1, Point3Cartesian pnt2, Point3Cartesian pnt3) + : Triangle3D(pnt1, pnt2, pnt3) + { + // calculate min and max + _minX = std::min(pnt1.X(), std::min(pnt2.X(), pnt3.X())); + _maxX = std::max(pnt1.X(), std::max(pnt2.X(), pnt3.X())); + _minY = std::min(pnt1.Y(), std::min(pnt2.Y(), pnt3.Y())); + _maxY = std::max(pnt1.Y(), std::max(pnt2.Y(), pnt3.Y())); + + // calculate center + _center = (pnt1 + pnt2 + pnt3) / 3.0; + + // calculate local coordinate system + _localX = Vector3Cartesian(pnt1, pnt2).GetAsUnitVector(); + _localY = Vector3Cartesian(pnt1, pnt3).GetAsUnitVector(); + } + + virtual Real getMinX() const { return _minX; } + virtual Real getMaxX() const { return _maxX; } + virtual Real getMinY() const { return _minY; } + virtual Real getMaxY() const { return _maxY; } + }; - Real diff = yh - y0; - if (error) - { - x[deriv_index] = x_orig - h; - Real ym = f.Component(i,j,x); - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } + class RectSurface3D : public IParametricSurface<3> + { + public: + // predstavlja PRAVOKUTNU povrsinu u 3D + Point3Cartesian _pnt1, _pnt2, _pnt3, _pnt4; + Real _minX, _maxX, _minY, _maxY; + Point3Cartesian _center; + Vector3Cartesian _localX, _localY; + + RectSurface3D() {} + RectSurface3D(Point3Cartesian pnt1, Point3Cartesian pnt2, Point3Cartesian pnt3, Point3Cartesian pnt4) + : _pnt1(pnt1), _pnt2(pnt2), _pnt3(pnt3), _pnt4(pnt4) + { + // provjeriti da li su sve u ravnini! + + // podesiti min i max + Real lenX = _pnt1.Dist(_pnt2); + Real lenY = _pnt1.Dist(_pnt4); + _minX = -lenX / 2; + _maxX = lenX / 2; + _minY = -lenY / 2; + _maxY = lenY / 2; + + // calculate center + _center = (_pnt1 + _pnt2 + _pnt3 + _pnt4) / 4.0; + + // calculate local coordinate system + _localX = Vector3Cartesian(_pnt1, _pnt2).GetAsUnitVector(); + _localY = Vector3Cartesian(_pnt1, _pnt4).GetAsUnitVector(); + } + virtual Real getMinX() const { return _minX; } + virtual Real getMaxX() const { return _maxX; } + virtual Real getMinY() const { return _minY; } + virtual Real getMaxY() const { return _maxY; } - template - static Real NDer1Partial(const ITensorField3 &f, int i, int j, int k, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer1Partial(f, i, j, k, deriv_index, point, NDer1_h, error); - } + Vector3Cartesian getNormal() const { + return VectorProd(Vector3Cartesian(_pnt1, _pnt2), Vector3Cartesian(_pnt1, _pnt4)).GetAsUnitVector(); + } + Point3Cartesian getCenter() const { return _center; } - template - static Real NDer1Partial(const ITensorField3 &f, int i, int j, int k, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - auto x = point; + Real getArea() const { + return VectorProd(Vector3Cartesian(_pnt1, _pnt2), Vector3Cartesian(_pnt1, _pnt4)).NormL2(); + } - Real x_orig = x[deriv_index]; - Real y0 = f.Component(i,j,k,x); + // vraca dva Triangle3D - i orijentacija je parametar! (kako ce odabrati tocke) - x[deriv_index] = x_orig + h; - Real yh = f.Component(i,j,k,x); + VectorN operator()(Real u, Real w) const { + Point3Cartesian ret = _center + u * _localX + w * _localY; + return VectorN({ ret.X(), ret.Y(), ret.Z() }); + } + }; - Real diff = yh - y0; - if (error) - { - x[deriv_index] = x_orig - h; - Real ym = f.Component(i,j,k,x); - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } + // TODO - IntegrableSolid? koji ima i potrebne funkcije kojima definira granice tijela? + class IntegrableVolume3D + { + // osigurava da se znaju funkcije koje definiraju granice tijela + // da se moze obaviti volume integracija + }; - template - static Real NDer1Partial(const ITensorField4 &f, int i, int j, int k, int l, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer1Partial(f, i, j, k, l, deriv_index, point, NDer1_h, error); - } + class SolidSurfaces3D + { + public: + // solid body in 3D + std::vector _surfaces; - template - static Real NDer1Partial(const ITensorField4 &f, int i, int j, int k, int l, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - auto x = point; + public: + bool IsInside(const Point3Cartesian& pnt) const + { + // TODO - implement + return false; + } + // isClosed() - iz centra mase (?) odasilje zrake u svim smje + // rovima i gleda da li je pogodio iti jednu povrsinu + // vraca listu povrsina, koje bi TREBALE omedjivati tijelo! - Real x_orig = x[deriv_index]; - Real y0 = f.Component(i,j,k,l, x); + // i po tome se moze obaviti surface integracija!!! + }; - x[deriv_index] = x_orig + h; - Real yh = f.Component(i,j,k,l, x); + // represents solid that is composed of other solids + // dobar nacin za provjeriti je li composed solid "tight" je izracunati fluks kroz sve povrsine + class ComposedSolidSurfaces3D + { + bool IsInside(const Point3Cartesian& pnt) const + { + // TODO - implement + return false; + } + }; - Real diff = yh - y0; - if (error) - { - x[deriv_index] = x_orig - h; - Real ym = f.Component(i,j,k,l, x); - Real ypph = std::abs(yh - 2 * y0 + ym) / h; - *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; - } - return diff / h; - } - - ///////////////////////// ParametricCurve ///////////////////////// - template - static VectorN NDer1(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NDer1(f, t, NDer1_h, error); - } + class Cube3D : public SolidSurfaces3D + { + // kocka + Real _a; + Vector3Cartesian _center; + public: + Cube3D(Real a) : _a(a) + { + Point3Cartesian pnt1(a / 2, -a / 2, -a / 2); + Point3Cartesian pnt2(a / 2, a / 2, -a / 2); + Point3Cartesian pnt3(-a / 2, a / 2, -a / 2); + Point3Cartesian pnt4(-a / 2, -a / 2, -a / 2); + Point3Cartesian pnt5(a / 2, -a / 2, a / 2); + Point3Cartesian pnt6(a / 2, a / 2, a / 2); + Point3Cartesian pnt7(-a / 2, a / 2, a / 2); + Point3Cartesian pnt8(-a / 2, -a / 2, a / 2); + + // dodati svih 6 stranica u popis povrsina + _surfaces.push_back(RectSurface3D(pnt1, pnt4, pnt3, pnt2)); // lower side in xy plane + _surfaces.push_back(RectSurface3D(pnt5, pnt6, pnt7, pnt8)); // upper side in xy plane + _surfaces.push_back(RectSurface3D(pnt1, pnt2, pnt6, pnt5)); // front side in yz plane + _surfaces.push_back(RectSurface3D(pnt4, pnt8, pnt7, pnt3)); // back side in yz plane + _surfaces.push_back(RectSurface3D(pnt1, pnt5, pnt8, pnt4)); // left side in xz plane + _surfaces.push_back(RectSurface3D(pnt2, pnt3, pnt7, pnt6)); // right side in xz plane + } + Cube3D(Real a, const Vector3Cartesian& center) : Cube3D(a) + { + _center = center; + } + }; +} - template - static VectorN NDer1(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = f(t + h); - VectorN y0 = f(t); - VectorN diff = yh - y0; - - if (error) - { - VectorN ym = f(t - h); - VectorN ypph_vec = yh - 2 * y0 + ym; - - Real ypph = ypph_vec.NormL2() / h; - - *error = ypph / 2 + (yh.NormL2() + y0.NormL2()) * Constants::Epsilon / h; - } - return diff / h; - } +/////////////////////////// ./include/base/QuadraticForm.h /////////////////////////// - template - static VectorN NSecDer1(const IParametricCurve &f, Real x, Real* error = nullptr) - { - return NSecDer1(f, x, NDer1_h, error); - } - template - static VectorN NSecDer1(const IParametricCurve &f, Real x, Real h, Real* error = nullptr) - { - VectorN yh = NDer2(f, x + h, h, error); - VectorN y0 = NDer2(f, x, h, error); - VectorN diff = yh - y0; - if (error) - { - VectorN ym = NDer2(f, x - h, h, error); - VectorN ypph_vec = (yh - 2 * y0 + ym) / h; - - Real ypph = ypph_vec.NormL2(); - - *error = ypph / 2 + (yh.NormL2() + y0.NormL2()) * Constants::Epsilon / h; - } - return diff / h; - } - template - static VectorN NThirdDer1(const IParametricCurve &f, Real x, Real* error = nullptr) - { - return NThirdDer1(f, x, NDer1_h, error); - } +namespace MML +{ + // TODO - MED, finish this + template + class QuadraticFormN : public IScalarFunction + { + MatrixNM _mat; + public: + Real operator()(const VectorN& x) const + { + return x.ScalarProductCartesian(_mat * x); + } - template - static VectorN NThirdDer1(const IParametricCurve &f, Real x, Real h, Real* error = nullptr) - { - VectorN yh = NSecDer2(f, x + h, h, error); - VectorN y0 = NSecDer2(f, x, h, error); - VectorN diff = yh - y0; - if (error) - { - VectorN ym = NSecDer2(f, x - h, h, error); - VectorN ypph_vec = (yh - 2 * y0 + ym) / h; - - Real ypph = ypph_vec.NormL2(); - - *error = ypph / 2 + (yh.NormL2() + y0.NormL2()) * Constants::Epsilon / h; - } - return diff / h; - } - - /********************************************************************************************************************/ - /******** Numerical derivatives of SECOND order ********/ - /********************************************************************************************************************/ - - ////////////////////////// RealFunction ////////////////////////// - static Real NDer2(const IRealFunction &f, Real x, Real* error = nullptr) - { - // Error bound ~eps^2/3 - // See the previous discussion to understand determination of h and the error bound. - // Series[(f[x+h] - f[x-h])/(2*h), {h, 0, 4}] + // TODO - treat as polynom! Print - return NDer2(f, x, NDer2_h, error); - } - static Real NDer2Left(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer2(f, x - 2 * NDer2_h, NDer2_h, error); } - static Real NDer2Right(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer2(f, x + 2 * NDer2_h, NDer2_h, error); } + }; +} +/////////////////////////// ./include/base/VectorSpace.h /////////////////////////// - static Real NDer2(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = f(x + h); - Real ymh = f(x - h); - Real diff = yh - ymh; - if (error) - { - Real y2h = f(x + 2 * h); - Real ym2h = f(x - 2 * h); - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } +//#include "interfaces/IFunction.h" - return diff / (2 * h); - } - static Real NDer2Left(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer2(f, x - 3 * h, h, error); } - static Real NDer2Right(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer2(f, x + 3 * h, h, error); } +namespace MML +{ + // TODO - MED, vector space + Gram Schmidt + // TODO - MED, linear transformations & OPERATORS + template + class RealVectorSpaceN : public HilbertSpace> + { + public: + virtual Real scal_prod(const VectorN& a, const VectorN& b) const + { + return a.ScalarProductCartesian(b); + } + }; - static Real NSecDer2(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NSecDer2(f, x, NDer2_h, error); - } + template + class ComplexVectorSpaceN : public HilbertSpace> + { + public: + virtual Real scal_prod(const VectorN& a, const VectorN& b) const + { + Real product = 0.0; + for (int i = 0; i < N; i++) + product += (a[i] * std::conj(b[i])).real(); + return product; + } + }; +} +/////////////////////////// ./include/base/LinearFunctional.h /////////////////////////// - static Real NSecDer2(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NDer4(f, x + h, error); - Real ymh = NDer4(f, x - h, error); - Real diff = yh - ymh; - if (error) - { - Real y2h = NDer4(f, x + 2 * h, error); - Real ym2h = NDer4(f, x - 2 * h, error); - - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } - return diff / (2 * h); - } - static Real NThirdDer2(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NThirdDer2(f, x, NDer2_h, error); - } +namespace MML +{ + template + class LinearFunctionalN + { + private: + // TODO - LOW, this should be an array, not a vector + VectorN<_Field, N> _vecCoef; + public: + LinearFunctionalN() {} + LinearFunctionalN(const VectorN<_Field, N>& vecCoef) : _vecCoef(vecCoef) {} + LinearFunctionalN(std::initializer_list<_Field> list) : _vecCoef(list) {} - static Real NThirdDer2(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NSecDer4(f, x + h, error); - Real ymh = NSecDer4(f, x - h, error); - Real diff = yh - ymh; - if (error) - { - Real y2h = NSecDer4(f, x + 2 * h, error); - Real ym2h = NSecDer4(f, x - 2 * h, error); - - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } + LinearFunctionalN(const LinearFunctionalN& Copy) : _vecCoef(Copy._vecCoef) {} + ~LinearFunctionalN() {} - return diff / (2 * h); - } - - ////////////////////////// ScalarFunction ////////////////////////// - template - static Real NDer2Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer2Partial(f, deriv_index, point, NDer2_h, error); - } + LinearFunctionalN& operator=(const LinearFunctionalN& Copy) { _vecCoef = Copy._vecCoef; return *this; } - template - static Real NDer2Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + int Dim() const { return N; } - auto x = point; - x[deriv_index] = orig_x + h; - Real yh = f(x); + _Field operator()(const VectorN<_Field, N>& vecX) const + { + _Field result = 0.0; + for (int i = 0; i < N; i++) + result += _vecCoef[i] * vecX[i]; + return result; + } - x[deriv_index] = orig_x - h; - Real ymh = f(x); + LinearFunctionalN operator+(const LinearFunctionalN& b) const + { + LinearFunctionalN result; + for (int i = 0; i < N; i++) + result._vecCoef[i] = _vecCoef[i] + b._vecCoef[i]; + return result; + } - Real diff = yh - ymh; + LinearFunctionalN operator-(const LinearFunctionalN& b) const + { + LinearFunctionalN result; + for (int i = 0; i < N; i++) + result._vecCoef[i] = _vecCoef[i] - b._vecCoef[i]; + return result; + } - if (error) - { - x[deriv_index] = orig_x + 2 * h; - Real y2h = f(x); + LinearFunctionalN operator*(_Field b) const + { + LinearFunctionalN result; + for (int i = 0; i < _vecCoef.size(); i++) + result._vecCoef[i] = _vecCoef[i] * b; + return result; + } + }; - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f(x); - - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } + template + class RealLinearFunctionalN : public IScalarFunction + { + private: + VectorN _vecCoef; + public: + RealLinearFunctionalN() {} + RealLinearFunctionalN(const VectorN& vecCoef) : _vecCoef(vecCoef) {} + RealLinearFunctionalN(std::initializer_list list) : _vecCoef(list) {} - return diff / (2 * h); - } + RealLinearFunctionalN(const RealLinearFunctionalN& Copy) = default; + ~RealLinearFunctionalN() {} - template - static Real NSecDer2Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real *error = nullptr) - { - return NSecDer2Partial(f, der_ind1, der_ind2, point, NDer2_h, error); - } + RealLinearFunctionalN& operator=(const RealLinearFunctionalN& Copy) { _vecCoef = Copy._vecCoef; return *this; } - template - static Real NSecDer2Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[der_ind2]; - auto x_eval_pos = point; - - x_eval_pos[der_ind2] = orig_x + h; - Real yh = NDer4Partial(f, der_ind1, x_eval_pos, error); - - x_eval_pos[der_ind2] = orig_x - h; - Real ymh = NDer4Partial(f, der_ind1, x_eval_pos, error); - - Real diff = yh - ymh; - - if (error) - { - x_eval_pos[der_ind2] = orig_x + 2 * h; - Real y2h = NDer4Partial(f, der_ind1, x_eval_pos, error); - - x_eval_pos[der_ind2] = orig_x - 2 * h; - Real ym2h = NDer4Partial(f, der_ind1, x_eval_pos, error); - - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } + int Dim() const { return N; } - return diff / (2 * h); - } + Real operator()(const VectorN& vecX) const + { + Real result = 0.0; + for (int i = 0; i < N; i++) + result += _vecCoef[i] * vecX[i]; + return result; + } - template - static VectorN NDer2PartialByAll(const IScalarFunction &f, const VectorN &point, VectorN *error = nullptr) - { - return NDer2PartialByAll(f, point, NDer2_h, error); - } + RealLinearFunctionalN operator+(const RealLinearFunctionalN& b) const + { + RealLinearFunctionalN result; + for (int i = 0; i < N; i++) + result._vecCoef[i] = _vecCoef[i] + b._vecCoef[i]; + return result; + } - template - static VectorN NDer2PartialByAll(const IScalarFunction &f, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i - static Real NDer2Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer2Partial(f, func_index, deriv_index, point, NDer2_h, error); - } + class RealLinearFunctional + { + private: + std::vector _vecCoef; + public: + RealLinearFunctional() {} + RealLinearFunctional(int n) : _vecCoef(n, 0.0) {} + RealLinearFunctional(const std::vector& vecCoef) : _vecCoef(vecCoef) {} + RealLinearFunctional(std::initializer_list list) : _vecCoef(list) {} - template - static Real NDer2Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + RealLinearFunctional(const RealLinearFunctional& Copy) : _vecCoef(Copy._vecCoef) {} + ~RealLinearFunctional() {} - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f(x)[func_index]; + int Dim() const { return (int)_vecCoef.size(); } - x[deriv_index] = orig_x - h; - Real ymh = f(x)[func_index]; + RealLinearFunctional& operator=(const RealLinearFunctional& Copy) { _vecCoef = Copy._vecCoef; return *this; } - Real diff = yh - ymh; + Real operator()(const std::vector& vecX) const + { + if (vecX.size() != Dim()) + throw std::runtime_error("RealLinearFunctional::operator() - incompatible vector size"); - if (error) - { - x[deriv_index] = orig_x + 2 * h; - Real y2h = f(x)[func_index]; + Real result = 0.0; + for (int i = 0; i < _vecCoef.size(); i++) + result += _vecCoef[i] * vecX[i]; + return result; + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f(x)[func_index]; + RealLinearFunctional operator+(const RealLinearFunctional& b) const + { + if (b.Dim() != Dim()) + throw std::runtime_error("RealLinearFunctional::operator+() - incompatible vector size"); - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } + RealLinearFunctional result; + for (int i = 0; i < Dim(); i++) + result._vecCoef[i] = _vecCoef[i] + b._vecCoef[i]; + return result; + } - return diff / (2 * h); - } + RealLinearFunctional operator-(const RealLinearFunctional& b) const + { + if (b.Dim() != Dim()) + throw std::runtime_error("RealLinearFunctional::operator-() - incompatible vector size"); - template - static VectorN NDer2PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, VectorN *error = nullptr) - { - return NDer2PartialByAll(f, func_index, point, NDer2_h, error); - } + RealLinearFunctional result; + for (int i = 0; i < Dim(); i++) + result._vecCoef[i] = _vecCoef[i] - b._vecCoef[i]; + return result; + } - template - static VectorN NDer2PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i - static MatrixNM NDer2PartialAllByAll(const IVectorFunction &f, const VectorN &point, MatrixNM *error = nullptr) - { - return NDer2PartialAllByAll(f, point, NDer2_h, error); - } - template - static MatrixNM NDer2PartialAllByAll(const IVectorFunction &f, const VectorN &point, Real h, MatrixNM *error = nullptr) - { - MatrixNM ret; - - for( int i=0; i - static Real NDer2Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer2Partial(f, i, j, deriv_index, point, NDer2_h, error); - } +namespace MML +{ + // TODO - MED, TESKO, finish this + template + class RealLinearOperatorN : public ILinearOperator, VectorN> + { + MatrixNM m_matrix; + public: + VectorN operator()(const VectorN& x) const + { + return m_matrix * x; + } + }; - template - static Real NDer2Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + template + class RealLinearOperatorNM : public ILinearOperator, VectorN> + { + MatrixNM m_matrix; + public: + VectorN operator()(const VectorN& x) const + { + return m_matrix * x; + } + }; +} +/////////////////////////// ./include/base/BaseUtils.h /////////////////////////// - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f.Component(i,j,x); - x[deriv_index] = orig_x - h; - Real ymh = f.Component(i,j,x); +namespace MML +{ + namespace Utils + { + static int LeviCivita(int i, int j, int k) + { + if (i == j || j == k || i == k) + return 0; + + if (i == 1 && j == 2 && k == 3) + return 1; + if (i == 2 && j == 3 && k == 1) + return 1; + if (i == 3 && j == 1 && k == 2) + return 1; + if (i == 3 && j == 2 && k == 1) + return -1; + if (i == 2 && j == 1 && k == 3) + return -1; + if (i == 1 && j == 3 && k == 2) + return -1; + + return 0; + } + static int LeviCivita(int i, int j, int k, int l) + { + int a[4] = { i, j, k, l }; + int ret = 1; - Real diff = yh - ymh; + // TODO check if 1, 2, 3, 4 are present + for (int i = 0; i < 4; i++) + for (int j = i + 1; j < 4; j++) + if (a[i] > a[j]) + { + int tmp = a[i]; + a[i] = a[j]; + a[j] = tmp; + ret *= -1; + } + return ret; + } - if (error) - { - x[deriv_index] = orig_x + 2 * h; - Real y2h = f.Component(i,j,x); + static Real DegToRad(Real angleDeg) { return angleDeg * Constants::PI / 180.0; } + static Real RadToDeg(Real angleRad) { return angleRad * 180.0 / Constants::PI; } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f.Component(i,j,x); + static void AngleDegToExplicit(Real angle, Real& deg, Real& min, Real& sec) + { + deg = floor(angle); + min = floor((angle - deg) * 60.0); + sec = (angle - deg - min / 60.0) * 3600.0; + } + static void AngleRadToExplicit(Real angleRad, Real& deg, Real& min, Real& sec) { AngleDegToExplicit(angleRad * 180.0 / Constants::PI, deg, min, sec); } + static Real ExplicitToAngleDeg(Real deg, Real min, Real sec) { return deg + min / 60.0 + sec / 3600.0; } + static Real ExplicitToAngleRad(Real deg, Real min, Real sec) { return ExplicitToAngleDeg(deg, min, sec) * Constants::PI / 180.0; } - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } + /////////////////// Complex helpers /////////////////// + static bool AreEqual(const Complex& a, const Complex& b, double eps = Defaults::ComplexEqualityPrecision) + { + if (std::abs(a.real() - b.real()) > eps || std::abs(a.imag() - b.imag()) > eps) + return false; + return true; + } + static bool AreEqual(const Vector& a, const Vector& b, double eps = Defaults::ComplexEqualityPrecision) + { + if (a.size() != b.size()) + return false; - return diff / (2 * h); - } + for (int i = 0; i < a.size(); i++) + if (std::abs(a[i].real() - b[i].real()) > eps || std::abs(a[i].imag() - b[i].imag()) > eps) + return false; - template - static Real NDer2Partial(const ITensorField3 &f, int i, int j, int k, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer2Partial(f, i, j, k, deriv_index, point, NDer2_h, error); - } + return true; + } - template - static Real NDer2Partial(const ITensorField3 &f, int i, int j, int k, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + /////////////////// Vector helpers /////////////////// + static Vector VectorProjectionParallelTo(const Vector& orig, const Vector& b) + { + return orig.ScalarProductCartesian(b) / b.NormL2() * b; + } + static Vector VectorProjectionPerpendicularTo(const Vector& orig, const Vector& b) + { + return orig - VectorProjectionParallelTo(orig, b); + } - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f.Component(i,j,k, x); + static Real ScalarProduct(const Vector& a, const Vector& b) + { + if (a.size() != b.size()) + throw VectorDimensionError("ScalarProduct - must be same dim", a.size(), b.size()); - x[deriv_index] = orig_x - h; - Real ymh = f.Component(i,j,k, x); + Real ret = 0; + for (int i = 0; i < a.size(); i++) + ret += a[i] * b[i]; - Real diff = yh - ymh; + return ret; + } + static Complex ScalarProduct(const Vector& a, const Vector& b) + { + if (a.size() != b.size()) + throw VectorDimensionError("ScalarProduct - must be same dim", a.size(), b.size()); - if (error) - { - x[deriv_index] = orig_x + 2 * h; - Real y2h = f.Component(i,j,k, x); + Complex ret = 0; + for (int i = 0; i < a.size(); i++) + ret += a[i] * std::conj(b[i]); - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f.Component(i,j,k, x); + return ret; + } - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } + template static Matrix OuterProduct(const Vector& a, const Vector& b) + { + Matrix ret(a.size(), b.size()); - return diff / (2 * h); - } + for (int i = 0; i < a.size(); i++) + for (int j = 0; j < b.size(); j++) + ret[i][j] = a[i] * b[j]; - template - static Real NDer2Partial(const ITensorField4 &f, int i, int j, int k, int l, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer2Partial(f, i, j, k, l, deriv_index, point, NDer2_h, error); - } + return ret; + } - template - static Real NDer2Partial(const ITensorField4 &f, int i, int j, int k, int l, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + /////////////////// Vector - Vector operations /////////////////// + static Vector AddVec(const Vector& a, const Vector& b) + { + if (a.size() != b.size()) + throw VectorDimensionError("AddVec(Complex, Real) - must be same dim", a.size(), b.size()); - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f.Component(i,j,k,l, x); + Vector ret(b.size());; + for (int i = 0; i < b.size(); i++) + ret[i] = a[i] + b[i]; + return ret; + } + static Vector AddVec(const Vector& a, const Vector& b) + { + if (a.size() != b.size()) + throw VectorDimensionError("AddVec(Real, Complex) - must be same dim", a.size(), b.size()); - x[deriv_index] = orig_x - h; - Real ymh = f.Component(i,j,k,l, x); + Vector ret(b.size());; + for (int i = 0; i < b.size(); i++) + ret[i] = a[i] + b[i]; + return ret; + } - Real diff = yh - ymh; + static Vector SubVec(const Vector& a, const Vector& b) + { + if (a.size() != b.size()) + throw VectorDimensionError("SubVec(Complex, Real) - must be same dim", a.size(), b.size()); - if (error) - { - x[deriv_index] = orig_x + 2 * h; - Real y2h = f.Component(i,j,k,l, x); + Vector ret(b.size());; + for (int i = 0; i < b.size(); i++) + ret[i] = a[i] - b[i]; + return ret; + } + static Vector SubVec(const Vector& a, const Vector& b) + { + if (a.size() != b.size()) + throw VectorDimensionError("SubVec(Real, Complex) - must be same dim", a.size(), b.size()); - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f.Component(i,j,k,l, x); + Vector ret(b.size());; + for (int i = 0; i < b.size(); i++) + ret[i] = a[i] - b[i]; + return ret; + } + }; - *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); - } + namespace MatrixUtils + { + const static inline MatrixNM Pauli[] = { + MatrixNM{ 0, 1, + 1, 0 }, + MatrixNM{ 0, Complex(0, -1), + Complex(0, 1), 0}, + MatrixNM{ 1, 0, + 0, -1 } + }; + const static inline MatrixNM DiracGamma[] = { + MatrixNM{ 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, -1, 0, + 0, 0, 0, -1 }, + MatrixNM{ 0, 0, 0, 1, + 0, 0, 1, 0, + 0, -1, 0, 0, + -1, 0, 0, 0 }, + MatrixNM{ 0, 0, 0, Complex(0, -1), + 0, 0, Complex(0, 1), 0, + 0, Complex(0, 1), 0, 0, + Complex(0, -1), 0, 0, 0 }, + MatrixNM{ 0, 0, 1, 0, + 0, 0, 0, -1, + -1, 0, 0, 0, + 0, 1, 0, 0 } + }; + const static inline MatrixNM DiracGamma5{ 0, 0, 1, 0, + 0, 0, 0, 1, + 1, 0, 0, 0, + 0, 1, 0, 0 }; + + /////////////////// Creating Matrix from Vector /////////////////// + template static Matrix RowMatrixFromVector(const Vector& b) + { + Matrix ret(1, (int)b.size()); + for (int i = 0; i < b.size(); i++) + ret[0][i] = b[i]; - return diff / (2 * h); - } - ///////////////////////// ParametricCurve ///////////////////////// - template - static VectorN NDer2(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NDer2(f, t, NDer2_h, error); - } + return ret; + } + template static Matrix ColumnMatrixFromVector(const Vector& b) + { + Matrix ret((int)b.size(), 1); + for (int i = 0; i < b.size(); i++) + ret[i][0] = b[i]; - template - static VectorN NDer2(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = f(t + h); - VectorN ymh = f(t - h); - VectorN diff = yh - ymh; - - if (error) - { - VectorN yth = f(t + 2 * h); - VectorN ymth = f(t - 2 * h); - - *error = Constants::Epsilon * ((yh + ymh) / (2 * h)).NormL2() + std::abs(((yth - ymth) / 2 - diff).NormL2()) / (6 * h); - } - return diff / (2 * h); - } + return ret; + } + template static Matrix DiagonalMatrixFromVector(const Vector& b) + { + Matrix ret((int)b.size(), (int)b.size()); + for (int i = 0; i < b.size(); i++) + ret[i][i] = b[i]; - template - static VectorN NSecDer2(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NSecDer2(f, t, NDer2_h, error); - } + return ret; + } - template - static VectorN NSecDer2(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = NDer4(f, t + h, error); - VectorN ymh = NDer4(f, t - h, error); - VectorN diff = yh - ymh; - - if (error) - { - VectorN yth = NDer4(f, t + 2 * h, error); - VectorN ymth = NDer4(f, t - 2 * h, error); - - *error = Constants::Epsilon * ((yh + ymh) / (2 * h)).NormL2() + std::abs(((yth - ymth) / 2 - diff).NormL2()) / (6 * h); - } - return diff / (2 * h); - } + /////////////////// Matrix helpers /////////////////// + template static Matrix Commutator(const Matrix& a, const Matrix& b) + { + return a * b - b * a; + } + template static Matrix AntiCommutator(const Matrix& a, const Matrix& b) + { + return a * b + b * a; + } - template - static VectorN NThirdDer2(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NThirdDer2(f, t, NDer2_h, error); - } + template static void MatrixDecompose(const Matrix& orig, Matrix& outSym, Matrix& outAntiSym) + { + if (orig.RowNum() != orig.ColNum()) + throw MatrixDimensionError("MatrixDecompose - matrix must be square", orig.RowNum(), orig.ColNum(), -1, -1); - template - static VectorN NThirdDer2(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = NSecDer4(f, t + h, error); - VectorN ymh = NSecDer4(f, t - h, error); - VectorN diff = yh - ymh; - - if (error) - { - VectorN yth = NSecDer4(f, t + 2 * h, error); - VectorN ymth = NSecDer4(f, t - 2 * h, error); - - *error = Constants::Epsilon * ((yh + ymh) / (2 * h)).NormL2() + std::abs(((yth - ymth) / 2 - diff).NormL2()) / (6 * h); - } - return diff / (2 * h); - } + outSym = (orig + orig.GetTranspose()) * 0.5; + outAntiSym = (orig - orig.GetTranspose()) * 0.5; + } - /********************************************************************************************************************/ - /******** Numerical derivatives of FOURTH order ********/ - /********************************************************************************************************************/ - - ////////////////////////// RealFunction ////////////////////////// - static Real NDer4(const IRealFunction &f, Real x, Real* error = nullptr) - { - // Error bound ~eps^4/5 - return NDer4(f, x, NDer4_h, error); - } - static Real NDer4Left(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer4(f, x - 4 * NDer4_h, NDer4_h, error); } - static Real NDer4Right(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer4(f, x + 4 * NDer4_h, NDer4_h, error); } + /////////////////// Matrix functions /////////////////// + template static Matrix Exp(const Matrix& a, int n = 10) + { + Matrix ret(a.RowNum(), a.ColNum()); + Matrix a_pow_n(a); - static Real NDer4(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = f(x + h); - Real ymh = f(x - h); - Real y2h = f(x + 2 * h); - Real ym2h = f(x - 2 * h); - - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - // Mathematica code to extract the remainder: - // Series[(f[x-2*h]+ 8*f[x+h] - 8*f[x-h] - f[x+2*h])/(12*h), {h, 0, 7}] - Real y3h = f(x + 3 * h); - Real ym3h = f(x - 3 * h); - - // Error from fifth derivative: - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - // Error from function evaluation: - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } - static Real NDer4Left(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer4(f, x - 4 * h, h, error); } - static Real NDer4Right(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer4(f, x + 4 * h, h, error); } + double fact = 1.0; + ret.MakeUnitMatrix(); - static Real NSecDer4(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NSecDer4(f, x, NDer4_h, error); - } + for (int i = 1; i <= n; i++) + { + ret += a_pow_n / fact; - static Real NSecDer4(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NDer6(f, x + h, error); - Real ymh = NDer6(f, x - h, error); - Real y2h = NDer6(f, x + 2 * h, error); - Real ym2h = NDer6(f, x - 2 * h, error); - - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - Real y3h = NDer6(f, x + 3 * h, error); - Real ym3h = NDer6(f, x - 3 * h, error); - - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + a_pow_n = a_pow_n * a; + fact *= (double)i; + } - static Real NThirdDer4(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NThirdDer4(f, x, NDer4_h, error); - } + return ret; + } - static Real NThirdDer4(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NSecDer6(f, x + h, error); - Real ymh = NSecDer6(f, x - h, error); - Real y2h = NSecDer6(f, x + 2 * h, error); - Real ym2h = NSecDer6(f, x - 2 * h, error); - - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - Real y3h = NSecDer6(f, x + 3 * h, error); - Real ym3h = NSecDer6(f, x - 3 * h, error); - - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } - - ////////////////////////// ScalarFunction ////////////////////////// - template - static Real NDer4Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer4Partial(f, deriv_index, point, NDer4_h, error); - } + /////////////////// Real matrix helpers /////////////////// + static bool IsOrthogonal(const Matrix& mat, double eps = Defaults::IsMatrixOrthogonalPrecision) + { + if (mat.RowNum() != mat.ColNum()) + throw MatrixDimensionError("IsOrthogonal - matrix must be square", mat.RowNum(), mat.ColNum(), -1, -1); - template - static Real NDer4Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + Matrix matProd = mat * mat.GetTranspose(); - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f(x); + return matProd.IsUnit(eps); + } - x[deriv_index] = orig_x - h; - Real ymh = f(x); + /////////////////// Complex matrix helpers /////////////////// + static Matrix GetRealPart(const Matrix& a) + { + Matrix ret(a.RowNum(), a.ColNum()); - x[deriv_index] = orig_x + 2 * h; - Real y2h = f(x); + for (int i = 0; i < ret.RowNum(); i++) + for (int j = 0; j < ret.ColNum(); j++) { + ret[i][j] = a[i][j].real(); + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f(x); + return ret; + } + static Matrix GetImagPart(const Matrix& a) + { + Matrix ret(a.RowNum(), a.ColNum()); - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - x[deriv_index] = orig_x + 3 * h; - Real y3h = f(x); + for (int i = 0; i < ret.RowNum(); i++) + for (int j = 0; j < ret.ColNum(); j++) { + ret[i][j] = a[i][j].imag(); + } - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f(x); + return ret; + } - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + static Matrix GetConjugateTranspose(const Matrix& mat) + { + Matrix ret(mat.ColNum(), mat.RowNum()); - template - static Real NSecDer4Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real *error = nullptr) - { - return NSecDer4Partial(f, der_ind1, der_ind2, point, NDer4_h, error); - } + for (int i = 0; i < mat.RowNum(); i++) + for (int j = 0; j < mat.ColNum(); j++) + ret[j][i] = std::conj(mat[i][j]); - template - static Real NSecDer4Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[der_ind2]; - auto x_eval_pos = point; - - x_eval_pos[der_ind2] = orig_x + h; - Real yh = NDer6Partial(f, der_ind1, x_eval_pos, error); - - x_eval_pos[der_ind2] = orig_x - h; - Real ymh = NDer6Partial(f, der_ind1, x_eval_pos, error); - - x_eval_pos[der_ind2] = orig_x + 2 * h; - Real y2h = NDer6Partial(f, der_ind1, x_eval_pos, error); - - x_eval_pos[der_ind2] = orig_x - 2 * h; - Real ym2h = NDer6Partial(f, der_ind1, x_eval_pos, error); - - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - x_eval_pos[der_ind2] = orig_x + 3 * h; - Real y3h = NDer6Partial(f, der_ind1, x_eval_pos, error); - - x_eval_pos[der_ind2] = orig_x - 3 * h; - Real ym3h = NDer6Partial(f, der_ind1, x_eval_pos, error); - - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + return ret; + } + static Matrix CmplxMatFromRealMat(const Matrix& mat) + { + Matrix mat_cmplx(mat.RowNum(), mat.ColNum()); - template - static VectorN NDer4PartialByAll(const IScalarFunction &f, const VectorN &point, VectorN *error = nullptr) - { - return NDer4PartialByAll(f, point, NDer4_h, error); - } + for (int i = 0; i < mat.RowNum(); i++) + for (int j = 0; j < mat.ColNum(); j++) + mat_cmplx[i][j] = Complex(mat(i, j), 0.0); - template - static VectorN NDer4PartialByAll(const IScalarFunction &f, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i& mat) + { + for (int i = 0; i < mat.RowNum(); i++) + for (int j = 0; j < mat.ColNum(); j++) + if (mat[i][j].imag() != 0.0) + return false; - ////////////////////////// VectorFunction ////////////////////////// - template - static Real NDer4Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer4Partial(f, func_index, deriv_index, point, NDer4_h, error); - } + return true; + } + static bool IsHermitian(const Matrix& mat) + { + if (mat.RowNum() != mat.ColNum()) + throw MatrixDimensionError("IsHermitian - matrix must be square", mat.RowNum(), mat.ColNum(), -1, -1); - template - static Real NDer4Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + for (int i = 0; i < mat.RowNum(); i++) + for (int j = i + 1; j < mat.ColNum(); j++) + if (mat[i][j] != std::conj(mat[j][i])) + return false; + return true; + } + static bool IsUnitary(const Matrix& mat) + { + // IsUnitary - complex square matrix U is unitary if its conjugate transpose U* is also its inverse + if (mat.RowNum() != mat.ColNum()) + throw MatrixDimensionError("IsUnitary - matrix must be square", mat.RowNum(), mat.ColNum(), -1, -1); - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f(x)[func_index]; + Matrix matProd = mat * GetConjugateTranspose(mat); - x[deriv_index] = orig_x - h; - Real ymh = f(x)[func_index]; + return matProd.IsUnit(); + } - x[deriv_index] = orig_x + 2 * h; - Real y2h = f(x)[func_index]; + /////////////////// Matrix - Matrix operations /////////////////// + static Matrix AddMat(const Matrix& a, const Matrix& b) + { + if (a.RowNum() != b.RowNum() || a.ColNum() != b.ColNum()) + throw MatrixDimensionError("AddMat(Complex, Real) - must be same dim", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); + + Matrix ret(a); + for (int i = 0; i < b.RowNum(); i++) + for (int j = 0; j < b.ColNum(); j++) + ret[i][j] += b[i][j]; + return ret; + } + static Matrix AddMat(const Matrix& a, const Matrix& b) + { + if (a.RowNum() != b.RowNum() || a.ColNum() != b.ColNum()) + throw MatrixDimensionError("AddMat(Real, Complex) - must be same dim", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); + + Matrix ret(b); + for (int i = 0; i < a.RowNum(); i++) + for (int j = 0; j < a.ColNum(); j++) + ret[i][j] += a[i][j]; + return ret; + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f(x)[func_index]; + static Matrix SubMat(const Matrix& a, const Matrix& b) + { + if (a.RowNum() != b.RowNum() || a.ColNum() != b.ColNum()) + throw MatrixDimensionError("AddMat(Complex, Real) - must be same dim", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); + + Matrix ret(a); + for (int i = 0; i < b.RowNum(); i++) + for (int j = 0; j < b.ColNum(); j++) + ret[i][j] -= b[i][j]; + return ret; + } + static Matrix SubMat(const Matrix& a, const Matrix& b) + { + if (a.RowNum() != b.RowNum() || a.ColNum() != b.ColNum()) + throw MatrixDimensionError("AddMat(Real, Complex) - must be same dim", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); + + Matrix ret(b); + for (int i = 0; i < a.RowNum(); i++) + for (int j = 0; j < a.ColNum(); j++) + ret[i][j] = a[i][j] - b[i][j]; + return ret; + } - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - x[deriv_index] = orig_x + 3 * h; - Real y3h = f(x)[func_index]; + static Matrix MulMat(const Complex& a, const Matrix& b) + { + Matrix ret(b.RowNum(), b.ColNum()); - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f(x)[func_index]; + for (int i = 0; i < ret.RowNum(); i++) + for (int j = 0; j < ret.ColNum(); j++) { + ret[i][j] = a * b[i][j]; + } - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + return ret; + } + static Matrix MulMat(const Matrix& a, const Matrix& b) + { + if (a.ColNum() != b.RowNum()) + throw MatrixDimensionError("Matrix::operator*(Complex, Real)) - a.colNum must be equal to b.rowNum", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); + + Matrix ret(a.RowNum(), b.ColNum()); + for (int i = 0; i < ret.RowNum(); i++) + for (int j = 0; j < ret.ColNum(); j++) { + ret[i][j] = 0.0; + for (int k = 0; k < a.ColNum(); k++) + ret[i][j] += a[i][k] * b[k][j]; + } - template - static VectorN NDer4PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, VectorN *error = nullptr) - { - return NDer4PartialByAll(f, func_index, point, NDer4_h, error); - } + return ret; + } + static Matrix MulMat(const Matrix& a, const Matrix& b) + { + if (a.ColNum() != b.RowNum()) + throw MatrixDimensionError("Matrix::operator*(Real, Complex)) - a.colNum must be equal to b.rowNum", a.RowNum(), a.ColNum(), b.RowNum(), b.ColNum()); + + Matrix ret(a.RowNum(), b.ColNum()); + for (int i = 0; i < ret.RowNum(); i++) + for (int j = 0; j < ret.ColNum(); j++) { + ret[i][j] = 0.0; + for (int k = 0; k < a.ColNum(); k++) + ret[i][j] += a[i][k] * b[k][j]; + } - template - static VectorN NDer4PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i MulMatVec(const Matrix& a, const Vector& b) + { + if (a.ColNum() != b.size()) + throw MatrixDimensionError("operator*(Mat a, Vec b) - a.colNum must be equal to vector size", a.RowNum(), a.ColNum(), (int)b.size(), -1); - template - static MatrixNM NDer4PartialAllByAll(const IVectorFunction &f, const VectorN &point, MatrixNM *error = nullptr) - { - return NDer4PartialAllByAll(f, point, NDer4_h, error); - } + Vector ret(a.RowNum()); + for (int i = 0; i < a.RowNum(); i++) + { + ret[i] = 0; + for (int j = 0; j < a.ColNum(); j++) + ret[i] += a[i][j] * b[j]; + } + return ret; + } + static Vector MulMatVec(const Matrix& a, const Vector& b) + { + if (a.ColNum() != b.size()) + throw MatrixDimensionError("operator*(Mat a, Vec b) - a.colNum must be equal to vector size", a.RowNum(), a.ColNum(), (int)b.size(), -1); - template - static MatrixNM NDer4PartialAllByAll(const IVectorFunction &f, const VectorN &point, Real h, MatrixNM *error = nullptr) - { - MatrixNM ret; - - for( int i=0; i ret(a.RowNum()); + for (int i = 0; i < a.RowNum(); i++) + { + ret[i] = 0; + for (int j = 0; j < a.ColNum(); j++) + ret[i] += a[i][j] * b[j]; + } + return ret; + } - ////////////////////////// TensorField ////////////////////////// - template - static Real NDer4Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer4Partial(f, i, j, deriv_index, point, NDer4_h, error); - } + static Vector MulVecMat(const Vector& a, const Matrix& b) + { + if (a.size() != b.RowNum()) + throw MatrixDimensionError("operator*(Vec a, Mat b) - vector size must be equal to b.rowNum", (int)a.size(), -1, b.RowNum(), b.ColNum()); - template - static Real NDer4Partial(const ITensorField2 &f, int i, int j, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + Vector ret(b.ColNum()); + for (int i = 0; i < b.ColNum(); i++) + { + ret[i] = 0; + for (int j = 0; j < b.RowNum(); j++) + ret[i] += a[j] * b[j][i]; + } + return ret; + } + static Vector MulVecMat(const Vector& a, const Matrix& b) + { + if (a.size() != b.RowNum()) + throw MatrixDimensionError("operator*(Vec a, Mat b) - vector size must be equal to b.rowNum", (int)a.size(), -1, b.RowNum(), b.ColNum()); - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f.Component(i,j,x); + Vector ret(b.ColNum()); + for (int i = 0; i < b.ColNum(); i++) + { + ret[i] = 0; + for (int j = 0; j < b.RowNum(); j++) + ret[i] += a[j] * b[j][i]; + } + return ret; + } + } +} +/////////////////////////// ./include/core/LinAlgEqSolvers.h /////////////////////////// - x[deriv_index] = orig_x - h; - Real ymh = f.Component(i,j,x); - x[deriv_index] = orig_x + 2 * h; - Real y2h = f.Component(i,j,x); +namespace MML +{ + /////////////////////// GAUSS-JORDAN SOLVER ///////////////////////////// + template + class GaussJordanSolver + { + public: + static bool Solve(Matrix& a, Matrix& b) + { + int i, icol, irow, j, k, l, ll; + Real big; + Type dum, pivinv; + + int n = a.RowNum(); + int m = b.ColNum(); + std::vector indxc(n), indxr(n), ipiv(n); + for (j = 0; j < n; j++) ipiv[j] = 0; + for (i = 0; i < n; i++) { + big = 0.0; + for (j = 0; j < n; j++) + if (ipiv[j] != 1) + for (k = 0; k < n; k++) { + if (ipiv[k] == 0) { + if (Abs(a[j][k]) >= big) { + big = Abs(a[j][k]); + irow = j; + icol = k; + } + } + } + ++(ipiv[icol]); + if (irow != icol) { + for (l = 0; l < n; l++) std::swap(a[irow][l], a[icol][l]); + for (l = 0; l < m; l++) std::swap(b[irow][l], b[icol][l]); + } + indxr[i] = irow; + indxc[i] = icol; + + if (a[icol][icol] == Real{ 0.0 }) + return false; + // throw SingularMatrixError("GaussJordanSolver::Solve - Singular Matrix"); + + pivinv = Real{ 1.0 } / a[icol][icol]; + a[icol][icol] = 1.0; + for (l = 0; l < n; l++) a[icol][l] *= pivinv; + for (l = 0; l < m; l++) b[icol][l] *= pivinv; + for (ll = 0; ll < n; ll++) + if (ll != icol) { + dum = a[ll][icol]; + a[ll][icol] = 0.0; + for (l = 0; l < n; l++) a[ll][l] -= a[icol][l] * dum; + for (l = 0; l < m; l++) b[ll][l] -= b[icol][l] * dum; + } + } + for (l = n - 1; l >= 0; l--) { + if (indxr[l] != indxc[l]) + for (k = 0; k < n; k++) + std::swap(a[k][indxr[l]], a[k][indxc[l]]); + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f.Component(i,j,x); + return true; + } + static Vector Solve(Matrix& a, const Vector& b) + { + Vector x(b.size()); + if (Solve(b, x) == true) + return x; + else + throw SingularMatrixError("GaussJordanSolver::Solve - Singular Matrix"); + } + static bool Solve(Matrix& a, Vector& b) + { + Matrix bmat(b.size(), 1); + for (int i = 0; i < b.size(); i++) + bmat[i][0] = b[i]; - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - x[deriv_index] = orig_x + 3 * h; - Real y3h = f.Component(i,j,x); + bool ret = Solve(a, bmat); + b = bmat.VectorFromColumn(0); + return ret; + } + }; - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f.Component(i,j,x); + /////////////////////// BAND-DIAGONAL SOLVER //////////////////////////// + class BandDiagLUSolver { + int n, m1, m2; + Matrix au, al; + Vector indx; + Real d; - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + public: + // TODO 0.9 - HIGH, SREDNJE, parm mora biti BandDiagonalMatrix! + // TODO - handling singularne matrice + BandDiagLUSolver(Matrix& a, const int mm1, const int mm2) + : n(a.RowNum()), au(a), m1(mm1), m2(mm2), al(n, m1), indx(n) + { + const Real TINY = 1.0e-40; + int i, j, k, l, mm; + Real dum; + mm = m1 + m2 + 1; + l = m1; + for (i = 0; i < m1; i++) { + for (j = m1 - i; j < mm; j++) au[i][j - l] = au[i][j]; + l--; + for (j = mm - l - 1; j < mm; j++) au[i][j] = 0.0; + } + d = 1.0; + l = m1; + for (k = 0; k < n; k++) { + dum = au[k][0]; + i = k; + if (l < n) l++; + for (j = k + 1; j < l; j++) { + if (std::abs(au[j][0]) > std::abs(dum)) { + dum = au[j][0]; + i = j; + } + } + indx[k] = i + 1; + if (dum == 0.0) au[k][0] = TINY; + if (i != k) { + d = -d; + for (j = 0; j < mm; j++) std::swap(au[k][j], au[i][j]); + } + for (i = k + 1; i < l; i++) { + dum = au[i][0] / au[k][0]; + al[k][i - k - 1] = dum; + for (j = 1; j < mm; j++) au[i][j - 1] = au[i][j] - dum * au[k][j]; + au[i][mm - 1] = 0.0; + } + } + } + void Solve(const Vector& b, Vector& x) + { + int i, j, k, l, mm; + Real dum; + mm = m1 + m2 + 1; + l = m1; + for (k = 0; k < n; k++) x[k] = b[k]; + for (k = 0; k < n; k++) { + j = indx[k] - 1; + if (j != k) std::swap(x[k], x[j]); + if (l < n) l++; + for (j = k + 1; j < l; j++) x[j] -= al[k][j - k - 1] * x[k]; + } + l = 1; + for (i = n - 1; i >= 0; i--) { + dum = x[i]; + for (k = 1; k < l; k++) dum -= au[i][k] * x[k + i]; + x[i] = dum / au[i][0]; + if (l < mm) l++; + } + } - template - static Real NDer4Partial(const ITensorField3 &f, int i, int j, int k, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer4Partial(f, i, j, k, deriv_index, point, NDer4_h, error); - } + Vector Solve(const Vector& b) + { + Vector x(b.size()); + Solve(b, x); + return x; + } - template - static Real NDer4Partial(const ITensorField3 &f, int i, int j, int k, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + Real Det() const + { + Real dd = d; + for (int i = 0; i < n; i++) + dd *= au[i][0]; + return dd; + } + }; - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f.Component(i,j,k, x); + /////////////////////// LU DECOMPOSITION ///////////////////////////// + template + class LUDecompositionSolver + { + private: + int n; + const Matrix& refOrig; - x[deriv_index] = orig_x - h; - Real ymh = f.Component(i,j,k, x); + Matrix lu; + std::vector indx; + Real d; - x[deriv_index] = orig_x + 2 * h; - Real y2h = f.Component(i,j,k, x); + public: + // TODO - HIGH, HIGH, TESKO, napraviti da se može odraditi i inplace, a ne da se kao sad uvijek kreira kopija + LUDecompositionSolver(const Matrix& inMatRef) : n(inMatRef.RowNum()), refOrig(inMatRef), lu(inMatRef), indx(n) + // ne može LUDecompositionSolver(const Matrix &inMatRef) : n(inMatRef.RowNum()), refOrig(inMatRef), lu(Matrix(inMatRef.RowNum(), inMatRef.ColNum())), indx(n) + // lu mora postati pointer! + { + // Given a Matrix a[1..n][1..n], this routine replaces it by the LU decomposition of a rowwise + // permutation of itself. a and n are input. a is output, arranged as in equation (NR 2.3.14); + // indx[1..n] is an output Vector that records the row permutation effected by the partial + // pivoting; d is output as ±1 depending on whether the number of row interchanges was even + // or odd, respectively. This routine is used in combination with lubksb to solve linear equations + // or invert a Matrix. + const Real TINY = 1.0e-40; + int i, imax, j, k; + Real big, temp; + Type temp2; + Vector vv(n); + d = 1.0; + for (i = 0; i < n; i++) { + big = 0.0; + for (j = 0; j < n; j++) + if ((temp = Abs(lu[i][j])) > big) big = temp; + if (big == 0.0) + throw SingularMatrixError("LUDecompositionSolver::ctor - Singular Matrix"); + + vv[i] = 1.0 / big; + } + for (k = 0; k < n; k++) { + big = 0.0; + imax = k; + for (i = k; i < n; i++) { + temp = Abs(vv[i] * lu[i][k]); + if (temp > big) { + big = temp; + imax = i; + } + } + if (k != imax) { + for (j = 0; j < n; j++) { + temp2 = lu[imax][j]; + lu[imax][j] = lu[k][j]; + lu[k][j] = temp2; + } + d = -d; + vv[imax] = vv[k]; + } + indx[k] = imax; + if (lu[k][k] == Real{ 0.0 }) lu[k][k] = TINY; + for (i = k + 1; i < n; i++) { + temp2 = lu[i][k] /= lu[k][k]; + for (j = k + 1; j < n; j++) + lu[i][j] -= temp2 * lu[k][j]; + } + } + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f.Component(i,j,k, x); + bool Solve(const Vector& b, Vector& x) + { + // Solves the set of n linear equations A·X = B. Here a[1..n][1..n] is input, not as the Matrix + // A but rather as its LU decomposition, determined by the routine ludcmp. indx[1..n] is input + // as the permutation Vector returned by ludcmp. b[1..n] is input as the right-hand side Vector + // B, and returns with the solution Vector X. a, n, and indx are not modified by this routine + // and can be left in place for successive calls with different right-hand sides b. This routine takes + // into account the possibility that b will begin with many zero elements, so it is efficient for use + // in Matrix inversion + int i, ii = 0, ip, j; + Type sum; + + if (b.size() != n || x.size() != n) + return false; - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - x[deriv_index] = orig_x + 3 * h; - Real y3h = f.Component(i,j,k, x); + for (i = 0; i < n; i++) + x[i] = b[i]; + + for (i = 0; i < n; i++) { + ip = indx[i]; + sum = x[ip]; + x[ip] = x[i]; + if (ii != 0) + for (j = ii - 1; j < i; j++) sum -= lu[i][j] * x[j]; + else if (sum != Real{ 0.0 }) + ii = i + 1; + x[i] = sum; + } - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f.Component(i,j,k, x); + for (i = n - 1; i >= 0; i--) { + sum = x[i]; + for (j = i + 1; j < n; j++) sum -= lu[i][j] * x[j]; + x[i] = sum / lu[i][i]; + } + return true; + } - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + Vector Solve(const Vector& b) + { + Vector x(b.size()); + if (Solve(b, x) == true) + return x; + else + throw VectorDimensionError("LUDecompositionSolver::Solve - bad sizes", b.size(), n); + } + void Solve(Matrix& b, Matrix& x) + { + int i, j, m = b.ColNum(); - template - static Real NDer4Partial(const ITensorField4 &f, int i, int j, int k, int l, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer4Partial(f, i, j, k, l, deriv_index, point, NDer4_h, error); - } + if (b.RowNum() != n || x.RowNum() != n || b.ColNum() != x.ColNum()) + throw("LUdcmp::solve bad sizes"); - template - static Real NDer4Partial(const ITensorField4 &f, int i, int j, int k, int l, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + Vector xx(n); - VectorN x{point}; - x[deriv_index] = orig_x + h; - Real yh = f.Component(i,j,k,l, x); + for (j = 0; j < m; j++) { + for (i = 0; i < n; i++) + xx[i] = b[i][j]; - x[deriv_index] = orig_x - h; - Real ymh = f.Component(i,j,k,l, x); + Solve(xx, xx); - x[deriv_index] = orig_x + 2 * h; - Real y2h = f.Component(i,j,k,l, x); + for (i = 0; i < n; i++) + x[i][j] = xx[i]; + } + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f.Component(i,j,k,l, x); + // Using the stored LU decomposition, return in ainv the matrix inverse + void inverse(Matrix& ainv) + { + int i, j; + ainv.Resize(n, n); + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) ainv[i][j] = 0.; + ainv[i][i] = 1.; + } + Solve(ainv, ainv); + } - Real y2 = ym2h - y2h; - Real y1 = yh - ymh; - - if (error) - { - x[deriv_index] = orig_x + 3 * h; - Real y3h = f.Component(i,j,k,l, x); + Type det() + { + Real dd = d; + for (int i = 0; i < n; i++) + dd *= lu[i][i]; + return dd; + } - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f.Component(i,j,k,l, x); + // Improves a solution Vector x[1..n] of the linear set of equations A · X = B. The Matrix + // a[1..n][1..n], and the Vectors b[1..n] and x[1..n] are input, as is the dimension n. + // Also input is alud[1..n][1..n], the LU decomposition of a as returned by ludcmp, and + // the Vector indx[1..n] also returned by that routine. On output, only x[1..n] is modified, + // to an improved set of values + void mprove(const Vector& b, Vector& x) + { + int i, j; + Vector r(n); + + for (i = 0; i < n; i++) { + long double sdp = -b[i]; + for (j = 0; j < n; j++) + sdp += (long double)refOrig[i][j] * (long double)x[j]; + r[i] = sdp; + } - *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); - *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + Solve(r, r); - ///////////////////////// ParametricCurve ///////////////////////// - template - static VectorN NDer4(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NDer4(f, t, NDer4_h, error); - } + for (i = 0; i < n; i++) + x[i] -= r[i]; + } + }; - template - static VectorN NDer4(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = f(t + h); - VectorN ymh = f(t - h); - VectorN y2h = f(t + 2 * h); - VectorN ym2h = f(t - 2 * h); - - VectorN y2 = ym2h - y2h; - VectorN y1 = yh - ymh; - - if (error) - { - VectorN y3h = f(t + 3 * h); - VectorN ym3h = f(t - 3 * h); - - *error = std::abs((y3h - ym3h).NormL2() / 2 + 2 * (ym2h - y2h).NormL2() + 5 * (yh - ymh).NormL2() / 2) / (30 * h); - *error += Constants::Epsilon * (y2h.NormL2() + ym2h.NormL2() + 8 * (ymh.NormL2() + yh.NormL2())) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + /////////////////////// CHOLESKY DECOMPOSITION ///////////////////////////// + class CholeskyDecompositionSolver + { + private: + int n; + Matrix el; - template - static VectorN NSecDer4(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NSecDer4(f, t, NDer4_h, error); - } + public: + CholeskyDecompositionSolver(Matrix& a) : n(a.RowNum()), el(a) + { + // Given a positive-definite symmetric Matrix a[1..n][1..n], this routine constructs its Cholesky + // decomposition, A = L · LT . On input, only the upper triangle of a need be given; it is not + // modified. The Cholesky factor L is returned in the lower triangle of a, except for its diagonal + // elements which are returned in p[1..n] + int i, j, k; + Real sum; + + if (el.ColNum() != n) + throw("need square Matrix"); + + for (i = 0; i < n; i++) { + for (j = i; j < n; j++) { + for (sum = el[i][j], k = i - 1; k >= 0; k--) sum -= el[i][k] * el[j][k]; + if (i == j) { + if (sum <= 0.0) + throw("Cholesky failed"); + el[i][i] = sqrt(sum); + } + else el[j][i] = sum / el[i][i]; + } + } + for (i = 0; i < n; i++) for (j = 0; j < i; j++) el[j][i] = 0.; + } + void Solve(const Vector& b, Vector& x) + { + // Solves the set of n linear equations A · x = b, where a is a positive-definite symmetric Matrix. + // a[1..n][1..n] and p[1..n] are input as the output of the routine choldc. Only the lower + // triangle of a is accessed. b[1..n] is input as the right-hand side Vector. The solution Vector is + // returned in x[1..n]. a, n, and p are not modified and can be left in place for successive calls + // with different right-hand sides b. b is not modified unless you identify b and x in the calling + // sequence, which is allowed. + int i, k; + Real sum; + if (b.size() != n || x.size() != n) throw("bad lengths in Cholesky"); + for (i = 0; i < n; i++) { + for (sum = b[i], k = i - 1; k >= 0; k--) sum -= el[i][k] * x[k]; + x[i] = sum / el[i][i]; + } + for (i = n - 1; i >= 0; i--) { + for (sum = x[i], k = i + 1; k < n; k++) sum -= el[k][i] * x[k]; + x[i] = sum / el[i][i]; + } + } + Vector Solve(const Vector& b) + { + Vector x(b.size()); + Solve(b, x); + return x; + } + void inverse(Matrix& ainv) { + int i, j, k; + Real sum; + ainv.Resize(n, n); + for (i = 0; i < n; i++) for (j = 0; j <= i; j++) { + sum = (i == j ? 1. : 0.); + for (k = i - 1; k >= j; k--) sum -= el[i][k] * ainv[j][k]; + ainv[j][i] = sum / el[i][i]; + } + for (i = n - 1; i >= 0; i--) for (j = 0; j <= i; j++) { + sum = (i < j ? 0. : ainv[j][i]); + for (k = i + 1; k < n; k++) sum -= el[k][i] * ainv[j][k]; + ainv[i][j] = ainv[j][i] = sum / el[i][i]; + } + } + Real logdet() { + Real sum = 0.; + for (int i = 0; i < n; i++) sum += log(el[i][i]); + return 2. * sum; + } - template - static VectorN NSecDer4(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = NDer6(f, t + h, error); - VectorN ymh = NDer6(f, t - h, error); - VectorN y2h = NDer6(f, t + 2 * h, error); - VectorN ym2h = NDer6(f, t - 2 * h, error); - - VectorN y2 = ym2h - y2h; - VectorN y1 = yh - ymh; - - if (error) - { - VectorN y3h = NDer6(f, t + 3 * h, error); - VectorN ym3h = NDer6(f, t - 3 * h, error); - - *error = std::abs((y3h - ym3h).NormL2() / 2 + 2 * (ym2h - y2h).NormL2() + 5 * (yh - ymh).NormL2() / 2) / (30 * h); - *error += Constants::Epsilon * (y2h.NormL2() + ym2h.NormL2() + 8 * (ymh.NormL2() + yh.NormL2())) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } + void elmult(Vector& y, Vector& b) { + int i, j; + if (b.size() != n || y.size() != n) throw("bad lengths"); + for (i = 0; i < n; i++) { + b[i] = 0.; + for (j = 0; j <= i; j++) b[i] += el[i][j] * y[j]; + } + } + void elsolve(Vector& b, Vector& y) { + int i, j; + Real sum; + if (b.size() != n || y.size() != n) throw("bad lengths"); + for (i = 0; i < n; i++) { + for (sum = b[i], j = 0; j < i; j++) sum -= el[i][j] * y[j]; + y[i] = sum / el[i][i]; + } + } + }; + /////////////////////// QR DECOMPOSITION ///////////////////////////// + class QRDecompositionSolver + { + public: // TODO make private! + int n; + Matrix qt, r; + bool sing; - template - static VectorN NThirdDer4(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NThirdDer4(f, t, NDer4_h, error); - } + public: + QRDecompositionSolver(const Matrix& a) : n(a.RowNum()), qt(n, n), r(a), sing(false) + { + // Constructs the QR decomposition of a[1..n][1..n]. The upper triangular Matrix R is returned in the upper triangle of a, + // except for the diagonal elements of R which are returned in d[1..n]. + int i, j, k; + Vector c(n), d(n); + Real scale, sigma, sum, tau; + for (k = 0; k < n - 1; k++) { + scale = 0.0; + for (i = k; i < n; i++) scale = std::max(scale, std::abs(r[i][k])); + if (scale == 0.0) { + sing = true; + c[k] = d[k] = 0.0; + } + else { + for (i = k; i < n; i++) r[i][k] /= scale; + for (sum = 0.0, i = k; i < n; i++) sum += POW2(r[i][k]); + sigma = SIGN(sqrt(sum), r[k][k]); + r[k][k] += sigma; + c[k] = sigma * r[k][k]; + d[k] = -scale * sigma; + for (j = k + 1; j < n; j++) { + for (sum = 0.0, i = k; i < n; i++) sum += r[i][k] * r[i][j]; + tau = sum / c[k]; + for (i = k; i < n; i++) r[i][j] -= tau * r[i][k]; + } + } + } + d[n - 1] = r[n - 1][n - 1]; + if (d[n - 1] == 0.0) sing = true; + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) qt[i][j] = 0.0; + qt[i][i] = 1.0; + } + for (k = 0; k < n - 1; k++) { + if (c[k] != 0.0) { + for (j = 0; j < n; j++) { + sum = 0.0; + for (i = k; i < n; i++) + sum += r[i][k] * qt[i][j]; + sum /= c[k]; + for (i = k; i < n; i++) + qt[i][j] -= sum * r[i][k]; + } + } + } + for (i = 0; i < n; i++) { + r[i][i] = d[i]; + for (j = 0; j < i; j++) r[i][j] = 0.0; + } + } - template - static VectorN NThirdDer4(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = NSecDer6(f, t + h, error); - VectorN ymh = NSecDer6(f, t - h, error); - VectorN y2h = NSecDer6(f, t + 2 * h, error); - VectorN ym2h = NSecDer6(f, t - 2 * h, error); - - VectorN y2 = ym2h - y2h; - VectorN y1 = yh - ymh; - - if (error) - { - VectorN y3h = NSecDer6(f, t + 3 * h, error); - VectorN ym3h = NSecDer6(f, t - 3 * h, error); - - *error = std::abs((y3h - ym3h).NormL2() / 2 + 2 * (ym2h - y2h).NormL2() + 5 * (yh - ymh).NormL2() / 2) / (30 * h); - *error += Constants::Epsilon * (y2h.NormL2() + ym2h.NormL2() + 8 * (ymh.NormL2() + yh.NormL2())) / (12 * h); - } - return (y2 + 8 * y1) / (12 * h); - } - - /********************************************************************************************************************/ - /******** Numerical derivatives of SIXTH order ********/ - /********************************************************************************************************************/ - - ////////////////////////// RealFunction ////////////////////////// - static Real NDer6(const IRealFunction &f, Real x, Real* error = nullptr) - { - // Error bound ~eps^6/7 - // Error: h^6f^(7)(x)/140 + 5|f(x)|eps/h - return NDer6(f, x, NDer6_h, error); - } - static Real NDer6Left(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer6(f, x - 5 * NDer6_h, NDer6_h, error); } - static Real NDer6Right(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer6(f, x + 5 * NDer6_h, NDer6_h, error); } + // Solves the set of n linear equations A · x = b. a[1..n][1..n], c[1..n], and d[1..n] are + // input as the output of the routine qrdcmp and are not modified. b[1..n] is input as the + // right-hand side Vector, and is overwritten with the solution Vector on output. + void Solve(const Vector& b, Vector& x) + { + qtmult(b, x); + RSolve(x, x); + } + Vector Solve(const Vector& b) + { + Vector x(b.size()); + Solve(b, x); + return x; + } + void RSolve(const Vector& b, Vector& x) + { + // Solves the set of n linear equations R · x = b, where R is an upper triangular Matrix stored in + // a and d. a[1..n][1..n] and d[1..n] are input as the output of the routine qrdcmp and + // are not modified. b[1..n] is input as the right-hand side Vector, and is overwritten with the + // solution Vector on output + int i, j; + Real sum; + if (sing) + throw SingularMatrixError("QRDecompositionSolver::rsolve - attempting solve in a singular QR"); + + for (i = n - 1; i >= 0; i--) { + sum = b[i]; + for (j = i + 1; j < n; j++) + sum -= r[i][j] * x[j]; + x[i] = sum / r[i][i]; + } + } - static Real NDer6(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - const Real eps = (std::numeric_limits::epsilon)(); - - Real yh = f(x + h); - Real ymh = f(x - h); - Real y1 = yh - ymh; - Real y2 = f(x - 2 * h) - f(x + 2 * h); - Real y3 = f(x + 3 * h) - f(x - 3 * h); - - if (error) - { - // Mathematica code to generate fd scheme for 7th derivative: - // Sum[(-1)^i*Binomial[7, i]*(f[x+(3-i)*h] + f[x+(4-i)*h])/2, {i, 0, 7}] - // Mathematica to demonstrate that this is a finite difference formula for 7th derivative: - // Series[(f[x+4*h]-f[x-4*h] + 6*(f[x-3*h] - f[x+3*h]) + 14*(f[x-h] - f[x+h] + f[x+2*h] - f[x-2*h]))/2, {h, 0, 15}] - Real y7 = (f(x + 4 * h) - f(x - 4 * h) - 6 * y3 - 14 * y1 - 14 * y2) / 2; - - *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } - static Real NDer6Left(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer6(f, x - 5 * h, h, error); } - static Real NDer6Right(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer6(f, x + 5 * h, h, error); } + void qtmult(const Vector& b, Vector& x) { + int i, j; + Real sum; + for (i = 0; i < n; i++) { + sum = 0.; + for (j = 0; j < n; j++) + sum += qt[i][j] * b[j]; + x[i] = sum; + } + } + void update(Vector& u, Vector& v) + { + // Given the QR decomposition of some n × n Matrix, calculates the QR decomposition of the + // Matrix Q·(R+ u x v). The quantities are dimensioned as r[1..n][1..n], qt[1..n][1..n], + // u[1..n], and v[1..n]. Note that QT is input and returned in qt. + int i, k; + Vector w(u); + for (k = n - 1; k >= 0; k--) + if (w[k] != 0.0) break; + if (k < 0) k = 0; + for (i = k - 1; i >= 0; i--) { + rotate(i, w[i], -w[i + 1]); + if (w[i] == 0.0) + w[i] = std::abs(w[i + 1]); + else if (std::abs(w[i]) > std::abs(w[i + 1])) + w[i] = std::abs(w[i]) * sqrt(1.0 + POW2(w[i + 1] / w[i])); + else w[i] = std::abs(w[i + 1]) * sqrt(1.0 + POW2(w[i] / w[i + 1])); + } + for (i = 0; i < n; i++) r[0][i] += w[0] * v[i]; + for (i = 0; i < k; i++) + rotate(i, r[i][i], -r[i + 1][i]); + for (i = 0; i < n; i++) + if (r[i][i] == 0.0) sing = true; + } + void rotate(const int i, const Real a, const Real b) + { + // Given matrices r[1..n][1..n] and qt[1..n][1..n], carry out a Jacobi rotation on rows + // i and i + 1 of each Matrix. a and b are the parameters of the rotation: cos phi = a=pa2 + b2, + // sin phi = b=pa2 + b2. + int j; + Real c, fact, s, w, y; + if (a == 0.0) { + c = 0.0; + s = (b >= 0.0 ? 1.0 : -1.0); + } + else if (std::abs(a) > std::abs(b)) { + fact = b / a; + c = SIGN(1.0 / sqrt(1.0 + (fact * fact)), a); + s = fact * c; + } + else { + fact = a / b; + s = SIGN(1.0 / sqrt(1.0 + (fact * fact)), b); + c = fact * s; + } + for (j = i; j < n; j++) { + y = r[i][j]; + w = r[i + 1][j]; + r[i][j] = c * y - s * w; + r[i + 1][j] = s * y + c * w; + } + for (j = 0; j < n; j++) { + y = qt[i][j]; + w = qt[i + 1][j]; + qt[i][j] = c * y - s * w; + qt[i + 1][j] = s * y + c * w; + } + } + }; - static Real NSecDer6(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NSecDer6(f, x, NDer6_h, error); - } + ///////////////////////////////// SVD DECOMPOSITION ///////////////////////////// + class SVDecompositionSolver + { + private: + int m, n; + Matrix u, v; + Vector w; + Real eps, tsh; - static Real NSecDer6(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NDer8(f, x + h, error); - Real ymh = NDer8(f, x - h, error); - Real y1 = yh - ymh; - Real y2 = NDer8(f, x - 2 * h, error) - NDer8(f, x + 2 * h, error); - Real y3 = NDer8(f, x + 3 * h, error) - NDer8(f, x - 3 * h, error); + public: + Vector getW() { return w; } + Matrix getU() { return u; } + Matrix getV() { return v; } - if (error) - { - Real y7 = (NDer8(f, x + 4 * h, error) - NDer8(f, x - 4 * h, error) - 6 * y3 - 14 * y1 - 14 * y2) / 2; + public: + SVDecompositionSolver(const Matrix& a) : m(a.RowNum()), n(a.ColNum()), u(a), v(n, n), w(n) + { + // Given a Matrix a[1..m][1..n], this routine computes its singular value decomposition, A = U·W ·V T . + // The Matrix U replaces a on output. + // The diagonal Matrix of singular values W is output as a Vector w[1..n]. + // The Matrix V (not the transpose V T ) is output as v[1..n][1..n]. + eps = std::numeric_limits::epsilon(); + decompose(); + reorder(); + tsh = 0.5 * sqrt(m + n + 1.) * w[0] * eps; + } - *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } + Real inv_condition() { + return (w[0] <= 0. || w[n - 1] <= 0.) ? 0. : w[n - 1] / w[0]; + } - static Real NThirdDer6(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NThirdDer6(f, x, NDer6_h, error); - } - - static Real NThirdDer6(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NSecDer8(f, x + h, error); - Real ymh = NSecDer8(f, x - h, error); - Real y1 = yh - ymh; - Real y2 = NSecDer8(f, x - 2 * h, error) - NSecDer8(f, x + 2 * h, error); - Real y3 = NSecDer8(f, x + 3 * h, error) - NSecDer8(f, x - 3 * h, error); + void Solve(const Vector& b, Vector& x, Real thresh = -1.) + { + // Solve A x D b for a vector x using the pseudoinverse of A as obtained by SVD. If positive, + // thresh is the threshold value below which singular values are considered as zero. If thresh is + // negative, a default based on expected roundoff error is used. + int i, j, jj; + Real s; + if (b.size() != m || x.size() != n) throw("solve bad sizes"); + Vector tmp(n); + tsh = (thresh >= 0. ? thresh : 0.5 * sqrt(m + n + 1.) * w[0] * eps); + for (j = 0; j < n; j++) { + s = 0.0; + if (w[j] > tsh) { + for (i = 0; i < m; i++) s += u[i][j] * b[i]; + s /= w[j]; + } + tmp[j] = s; + } + for (j = 0; j < n; j++) { + s = 0.0; + for (jj = 0; jj < n; jj++) s += v[j][jj] * tmp[jj]; + x[j] = s; + } + } - if (error) - { - Real y7 = (NSecDer8(f, x + 4 * h, error) - NSecDer8(f, x - 4 * h, error) - 6 * y3 - 14 * y1 - 14 * y2) / 2; + Vector Solve(const Vector& b, Real thresh = -1.) + { + Vector x(b.size()); + Solve(b, x, thresh); + return x; + } - *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } + // Solves m sets of n equations A X D B using the pseudoinverse of A. The right-hand sides are + // input as b[0..n-1][0..m-1], while x[0..n-1][0..m-1] returns the solutions. thresh as above. + void Solve(const Matrix& b, Matrix& x, Real thresh = -1.) + { + int i, j, p = b.ColNum(); + if (b.RowNum() != m || x.RowNum() != n || x.ColNum() != p) + throw("solve bad sizes"); - ////////////////////////// ScalarFunction ////////////////////////// - template - static Real NDer6Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer6Partial(f, deriv_index, point, NDer6_h, error); - } + Vector xx(n), bcol(m); + for (j = 0; j < p; j++) { + for (i = 0; i < m; i++) + bcol[i] = b[i][j]; - template - static Real NDer6Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + Solve(bcol, xx, thresh); - VectorN x{point}; + for (i = 0; i < n; i++) + x[i][j] = xx[i]; + } + } - x[deriv_index] = orig_x + h; - Real yh = f(x); + // Return the rank of A, after zeroing any singular values smaller than thresh. If thresh is + // negative, a default value based on estimated roundoff is used. + int Rank(Real thresh = -1.) { + int j, nr = 0; + tsh = (thresh >= 0. ? thresh : 0.5 * sqrt(m + n + 1.) * w[0] * eps); + for (j = 0; j < n; j++) if (w[j] > tsh) nr++; + return nr; + } - x[deriv_index] = orig_x - h; - Real ymh = f(x); + // Return the nullity of A, after zeroing any singular values smaller than thresh. Default value as above. + int Nullity(Real thresh = -1.) { + int j, nn = 0; + tsh = (thresh >= 0. ? thresh : 0.5 * sqrt(m + n + 1.) * w[0] * eps); + for (j = 0; j < n; j++) if (w[j] <= tsh) nn++; + return nn; + } - x[deriv_index] = orig_x + 2 * h; - Real y2h = f(x); + // Gives an orthonormal basis for the range of A as the columns of a returned matrix. thresh as above. + Matrix Range(Real thresh = -1.) { + int i, j, nr = 0; + Matrix rnge(m, Rank(thresh)); + for (j = 0; j < n; j++) { + if (w[j] > tsh) { + for (i = 0; i < m; i++) rnge[i][nr] = u[i][j]; + nr++; + } + } + return rnge; + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f(x); + // Gives an orthonormal basis for the nullspace of A as the columns of a returned matrix. thresh as above + Matrix Nullspace(Real thresh = -1.) { + int j, jj, nn = 0; + Matrix nullsp(n, Nullity(thresh)); + for (j = 0; j < n; j++) { + if (w[j] <= tsh) { + for (jj = 0; jj < n; jj++) nullsp[jj][nn] = v[jj][j]; + nn++; + } + } + return nullsp; + } - x[deriv_index] = orig_x + 3 * h; - Real y3h = f(x); + private: + void decompose() { + bool flag; + int i, its, j, jj, k, l, nm; + Real anorm, c, f, g, h, s, scale, x, y, z; + Vector rv1(n); + g = scale = anorm = 0.0; + for (i = 0; i < n; i++) { + l = i + 2; + rv1[i] = scale * g; + g = s = scale = 0.0; + if (i < m) { + for (k = i; k < m; k++) scale += std::abs(u[k][i]); + if (scale != 0.0) { + for (k = i; k < m; k++) { + u[k][i] /= scale; + s += u[k][i] * u[k][i]; + } + f = u[i][i]; + g = -SIGN(sqrt(s), f); + h = f * g - s; + u[i][i] = f - g; + for (j = l - 1; j < n; j++) { + for (s = 0.0, k = i; k < m; k++) s += u[k][i] * u[k][j]; + f = s / h; + for (k = i; k < m; k++) u[k][j] += f * u[k][i]; + } + for (k = i; k < m; k++) u[k][i] *= scale; + } + } + w[i] = scale * g; + g = s = scale = 0.0; + if (i + 1 <= m && i + 1 != n) { + for (k = l - 1; k < n; k++) scale += std::abs(u[i][k]); + if (scale != 0.0) { + for (k = l - 1; k < n; k++) { + u[i][k] /= scale; + s += u[i][k] * u[i][k]; + } + f = u[i][l - 1]; + g = -SIGN(sqrt(s), f); + h = f * g - s; + u[i][l - 1] = f - g; + for (k = l - 1; k < n; k++) rv1[k] = u[i][k] / h; + for (j = l - 1; j < m; j++) { + for (s = 0.0, k = l - 1; k < n; k++) s += u[j][k] * u[i][k]; + for (k = l - 1; k < n; k++) u[j][k] += s * rv1[k]; + } + for (k = l - 1; k < n; k++) u[i][k] *= scale; + } + } + anorm = std::max(anorm, (std::abs(w[i]) + std::abs(rv1[i]))); + } + for (i = n - 1; i >= 0; i--) { + if (i < n - 1) { + if (g != 0.0) { + for (j = l; j < n; j++) + v[j][i] = (u[i][j] / u[i][l]) / g; + for (j = l; j < n; j++) { + for (s = 0.0, k = l; k < n; k++) s += u[i][k] * v[k][j]; + for (k = l; k < n; k++) v[k][j] += s * v[k][i]; + } + } + for (j = l; j < n; j++) v[i][j] = v[j][i] = 0.0; + } + v[i][i] = 1.0; + g = rv1[i]; + l = i; + } + for (i = std::min(m, n) - 1; i >= 0; i--) { + l = i + 1; + g = w[i]; + for (j = l; j < n; j++) u[i][j] = 0.0; + if (g != 0.0) { + g = 1.0 / g; + for (j = l; j < n; j++) { + for (s = 0.0, k = l; k < m; k++) s += u[k][i] * u[k][j]; + f = (s / u[i][i]) * g; + for (k = i; k < m; k++) u[k][j] += f * u[k][i]; + } + for (j = i; j < m; j++) u[j][i] *= g; + } + else for (j = i; j < m; j++) u[j][i] = 0.0; + ++u[i][i]; + } + for (k = n - 1; k >= 0; k--) { + for (its = 0; its < 30; its++) { + flag = true; + for (l = k; l >= 0; l--) { + nm = l - 1; + if (l == 0 || std::abs(rv1[l]) <= eps * anorm) { + flag = false; + break; + } + if (std::abs(w[nm]) <= eps * anorm) break; + } + if (flag) { + c = 0.0; + s = 1.0; + for (i = l; i < k + 1; i++) { + f = s * rv1[i]; + rv1[i] = c * rv1[i]; + if (std::abs(f) <= eps * anorm) break; + g = w[i]; + h = pythag(f, g); + w[i] = h; + h = 1.0 / h; + c = g * h; + s = -f * h; + for (j = 0; j < m; j++) { + y = u[j][nm]; + z = u[j][i]; + u[j][nm] = y * c + z * s; + u[j][i] = z * c - y * s; + } + } + } + z = w[k]; + if (l == k) { + if (z < 0.0) { + w[k] = -z; + for (j = 0; j < n; j++) v[j][k] = -v[j][k]; + } + break; + } + if (its == 29) throw("no convergence in 30 svdcmp iterations"); + x = w[l]; + nm = k - 1; + y = w[nm]; + g = rv1[nm]; + h = rv1[k]; + f = ((y - z) * (y + z) + (g - h) * (g + h)) / (2.0 * h * y); + g = pythag(f, 1.0); + f = ((x - z) * (x + z) + h * ((y / (f + SIGN(g, f))) - h)) / x; + c = s = 1.0; + for (j = l; j <= nm; j++) { + i = j + 1; + g = rv1[i]; + y = w[i]; + h = s * g; + g = c * g; + z = pythag(f, h); + rv1[j] = z; + c = f / z; + s = h / z; + f = x * c + g * s; + g = g * c - x * s; + h = y * s; + y *= c; + for (jj = 0; jj < n; jj++) { + x = v[jj][j]; + z = v[jj][i]; + v[jj][j] = x * c + z * s; + v[jj][i] = z * c - x * s; + } + z = pythag(f, h); + w[j] = z; + if (z) { + z = 1.0 / z; + c = f * z; + s = h * z; + } + f = c * g + s * y; + x = c * y - s * g; + for (jj = 0; jj < m; jj++) { + y = u[jj][j]; + z = u[jj][i]; + u[jj][j] = y * c + z * s; + u[jj][i] = z * c - y * s; + } + } + rv1[l] = 0.0; + rv1[k] = f; + w[k] = x; + } + } + } - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f(x); + void reorder() { + int i, j, k, s, inc = 1; + Real sw; + Vector su(m), sv(n); + do { inc *= 3; inc++; } while (inc <= n); + do { + inc /= 3; + for (i = inc; i < n; i++) { + sw = w[i]; + for (k = 0; k < m; k++) su[k] = u[k][i]; + for (k = 0; k < n; k++) sv[k] = v[k][i]; + j = i; + while (w[j - inc] < sw) { + w[j] = w[j - inc]; + for (k = 0; k < m; k++) u[k][j] = u[k][j - inc]; + for (k = 0; k < n; k++) v[k][j] = v[k][j - inc]; + j -= inc; + if (j < inc) break; + } + w[j] = sw; + for (k = 0; k < m; k++) u[k][j] = su[k]; + for (k = 0; k < n; k++) v[k][j] = sv[k]; - Real y1 = yh - ymh; - Real y2 = ym2h - y2h; - Real y3 = y3h - ym3h; + } + } while (inc > 1); + for (k = 0; k < n; k++) { + s = 0; + for (i = 0; i < m; i++) if (u[i][k] < 0.) s++; + for (j = 0; j < n; j++) if (v[j][k] < 0.) s++; + if (s > (m + n) / 2) { + for (i = 0; i < m; i++) u[i][k] = -u[i][k]; + for (j = 0; j < n; j++) v[j][k] = -v[j][k]; + } + } + } - if (error) - { - x[deriv_index] = orig_x + 4 * h; - Real y4h = f(x); + Real pythag(const Real a, const Real b) { + Real absa = std::abs(a), absb = std::abs(b); + return (absa > absb ? absa * sqrt(1.0 + POW2(absb / absa)) : + (absb == 0.0 ? 0.0 : absb * sqrt(1.0 + POW2(absa / absb)))); + } + }; +} // end namespace +/////////////////////////// ./include/core/CoreUtils.h /////////////////////////// - x[deriv_index] = orig_x - 4 * h; - Real ym4h = f(x); - Real y7 = (y4h - ym4h - 6 * y3 - 14 * y1 - 14 * y2) / 2; - *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } - template - static Real NSecDer6Partial(const IScalarFunction &f, int der_ind1, int der_ind2,const VectorN &point, Real *error = nullptr) +namespace MML +{ + namespace MatrixUtils + { + static Real Det(const Matrix &mat) { - return NSecDer6Partial(f, der_ind1, der_ind2, point, NDer6_h, error); + Matrix matCopy(mat); + LUDecompositionSolver _solver(matCopy); + + return _solver.det(); } - template - static Real NSecDer6Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real h, Real *error = nullptr) + static int Rank(const Matrix &mat) { - Real orig_x = point[der_ind2]; - auto x_eval_pos = point; + Matrix matcopy(mat); - x_eval_pos[der_ind2] = orig_x + h; - Real yh = NDer6Partial(f, der_ind1, x_eval_pos, error); + SVDecompositionSolver svdSolver(matcopy); - x_eval_pos[der_ind2] = orig_x - h; - Real ymh = NDer6Partial(f, der_ind1, x_eval_pos, error); + return svdSolver.Rank(); + } + } +} +/////////////////////////// ./include/core/Derivation.h /////////////////////////// - x_eval_pos[der_ind2] = orig_x + 2 * h; - Real y2h = NDer6Partial(f, der_ind1, x_eval_pos, error); - x_eval_pos[der_ind2] = orig_x - 2 * h; - Real ym2h = NDer6Partial(f, der_ind1, x_eval_pos, error); - x_eval_pos[der_ind2] = orig_x + 3 * h; - Real y3h = NDer6Partial(f, der_ind1, x_eval_pos, error); +namespace MML +{ + class Derivation + { + public: + static inline const Real NDer1_h = 2 * std::sqrt(Constants::Epsilon); + static inline const Real NDer2_h = std::pow(3 * Constants::Epsilon, 1.0 / 3.0); + static inline const Real NDer4_h = std::pow(11.25 * Constants::Epsilon, 1.0 / 5.0); // 0.0012009323661373839 for double! + static inline const Real NDer6_h = std::pow(Constants::Epsilon / 168.0, 1.0 / 7.0); + static inline const Real NDer8_h = std::pow(551.25 * Constants::Epsilon, 1.0 / 9.0); + + /********************************************************************************************************************/ + /******** Numerical derivatives of FIRST order ********/ + /********************************************************************************************************************/ + ////////////////////////// RealFunction ////////////////////////// + static Real NDer1(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = f(x + h); + Real y0 = f(x); + Real diff = yh - y0; + if (error) + { + Real ym = f(x - h); + Real ypph = std::abs(yh - 2 * y0 + ym) / h; - x_eval_pos[der_ind2] = orig_x - 3 * h; - Real ym3h = NDer6Partial(f, der_ind1, x_eval_pos, error); + // h*|f''(x)|*0.5 + (|f(x+h)+|f(x)|) * Constants::Epsilon/h + *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; + } + return diff / h; + } + static Real NDer1(const IRealFunction& f, Real x, Real* error = nullptr) + { + // Error bound ~eps^1/2 + // Note that this estimate of h differs from the best estimate by a factor of sqrt((|f(x)| + |f(x+h)|)/|f''(x)|). + // Since this factor is invariant under the scaling f -> kf, then we are somewhat justified in approximating it by 1. + // This approximation will get better as we move to higher orders of accuracy. + return NDer1(f, x, NDer1_h, error); + } + static Real NDer1Left(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer1(f, x - 2 * NDer1_h, NDer1_h, error); } + static Real NDer1Right(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer1(f, x + 2 * NDer1_h, NDer1_h, error); } - Real y1 = yh - ymh; - Real y2 = ym2h - y2h; - Real y3 = y3h - ym3h; + static Real NDer1Left(const IRealFunction& f, Real x, Real h, Real* error = nullptr) { return NDer1(f, x - 2 * h, h, error); } + static Real NDer1Right(const IRealFunction& f, Real x, Real h, Real* error = nullptr) { return NDer1(f, x + 2 * h, h, error); } - if (error) - { - x_eval_pos[der_ind2] = orig_x + 4 * h; - Real y4h = NDer6Partial(f, der_ind1, x_eval_pos, error); - x_eval_pos[der_ind2] = orig_x - 4 * h; - Real ym4h = NDer6Partial(f, der_ind1, x_eval_pos, error); + static Real NSecDer1(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NSecDer1(f, x, NDer1_h, error); + } - Real y7 = (y4h - ym4h - 6 * y3 - 14 * y1 - 14 * y2) / 2; + static Real NSecDer1(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = NDer2(f, x + h, h, error); + Real y0 = NDer2(f, x, h, error); + Real diff = yh - y0; + if (error) + { + Real ym = NDer2(f, x - h, h, error); + Real ypph = std::abs(yh - 2 * y0 + ym) / h; - *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } + *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; + } + return diff / h; + } - template - static VectorN NDer6PartialByAll(const IScalarFunction &f, const VectorN &point, VectorN *error = nullptr) - { - return NDer6PartialByAll(f, point, NDer6_h, error); - } + static Real NThirdDer1(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NThirdDer1(f, x, NDer1_h, error); + } - template - static VectorN NDer6PartialByAll(const IScalarFunction &f, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i - static Real NDer6Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer6Partial(f, func_index, deriv_index, point, NDer6_h, error); - } + ////////////////////////// ScalarFunction ////////////////////////// + template + static Real NDer1Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer1Partial(f, deriv_index, point, NDer1_h, error); + } - template - static Real NDer6Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + template + static Real NDer1Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - VectorN x{point}; + VectorN x = point; + Real y0 = f(x); - x[deriv_index] = orig_x + h; - Real yh = f(x)[func_index]; + x[deriv_index] = orig_x + h; + Real yh = f(x); - x[deriv_index] = orig_x - h; - Real ymh = f(x)[func_index]; + Real diff = yh - y0; + if (error) + { + x[deriv_index] = orig_x - h; + Real ym = f(x); + Real ypph = std::abs(yh - 2 * y0 + ym) / h; + *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; + } + return diff / h; + } - x[deriv_index] = orig_x + 2 * h; - Real y2h = f(x)[func_index]; + template + static Real NSecDer1Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real* error = nullptr) + { + return NSecDer1Partial(f, der_ind1, der_ind2, point, NDer1_h, error); + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f(x)[func_index]; + template + static Real NSecDer1Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real h, Real* error = nullptr) + { + Real x_orig_val = point[der_ind2]; - x[deriv_index] = orig_x + 3 * h; - Real y3h = f(x)[func_index]; + auto x_eval_pos = point; + Real y0 = NDer2Partial(f, der_ind1, x_eval_pos, error); + x_eval_pos[der_ind2] = x_orig_val + h; + Real yh = NDer2Partial(f, der_ind1, x_eval_pos, error); - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f(x)[func_index]; + Real diff = yh - y0; + if (error) + { + x_eval_pos[der_ind2] = x_orig_val - h; - Real y1 = yh - ymh; - Real y2 = ym2h - y2h; - Real y3 = y3h - ym3h; + Real ym = NDer2Partial(f, der_ind1, x_eval_pos, error); + Real ypph = std::abs(yh - 2 * y0 + ym) / h; - if (error) - { - x[deriv_index] = orig_x + 4 * h; - Real y4h = f(x)[func_index]; + *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; + } + return diff / h; + } - x[deriv_index] = orig_x - 4 * h; - Real ym4h = f(x)[func_index]; + template + static VectorN NDer1PartialByAll(const IScalarFunction& f, const VectorN& point, VectorN* error = nullptr) + { + return NDer1PartialByAll(f, point, NDer1_h, error); + } - Real y7 = (y4h - ym4h - 6 * y3 - 14 * y1 - 14 * y2) / 2; + template + static VectorN NDer1PartialByAll(const IScalarFunction& f, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer1Partial(f, i, point, h, &(*error)[i]); + else + ret[i] = NDer1Partial(f, i, point, h); + } - template - static VectorN NDer6PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, VectorN *error = nullptr) - { - return NDer6PartialByAll(f, func_index, point, NDer6_h, error); - } + return ret; + } - template - static VectorN NDer6PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i + static Real NDer1Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer1Partial(f, func_index, deriv_index, point, NDer1_h, error); + } - return ret; - } + template + static Real NDer1Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + auto x = point; - template - static MatrixNM NDer6PartialAllByAll(const IVectorFunction &f, const VectorN &point, MatrixNM *error = nullptr) - { - return NDer6PartialAllByAll(f, point, NDer6_h, error); - } + Real x_orig = x[deriv_index]; + Real y0 = f(x)[func_index]; - template - static MatrixNM NDer6PartialAllByAll(const IVectorFunction &f, const VectorN &point, Real h, MatrixNM *error = nullptr) - { - MatrixNM ret; - - for( int i=0; i - static VectorN NDer6(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NDer6(f, t, NDer6_h, error); - } + Real diff = yh - y0; + if (error) + { + x[deriv_index] = x_orig - h; + Real ym = f(x)[func_index]; + Real ypph = std::abs(yh - 2 * y0 + ym) / h; + *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; + } + return diff / h; + } - template - static VectorN NDer6(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = f(t + h); - VectorN ymh = f(t - h); - VectorN y1 = yh - ymh; - VectorN y2 = f(t - 2 * h) - f(t + 2 * h); - VectorN y3 = f(t + 3 * h) - f(t - 3 * h); + template + static VectorN NDer1PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, VectorN* error = nullptr) + { + return NDer1PartialByAll(f, func_index, point, NDer1_h, error); + } - if (error) - { - VectorN y7 = (f(t + 4 * h) - f(t - 4 * h) - 6 * y3 - 14 * y1 - 14 * y2) / 2; + template + static VectorN NDer1PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - *error = y7.NormL2() / (140 * h) + 5 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer1Partial(f, func_index, i, point, h, &(*error)[i]); + else + ret[i] = NDer1Partial(f, func_index, i, point, h); + } - template - static VectorN NSecDer6(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NSecDer6(f, t, NDer6_h, error); - } + return ret; + } - template - static VectorN NSecDer6(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = NDer8(f, t + h, error); - VectorN ymh = NDer8(f, t - h, error); - VectorN y1 = yh - ymh; - VectorN y2 = NDer8(f, t - 2 * h, error) - NDer8(f, t + 2 * h, error); - VectorN y3 = NDer8(f, t + 3 * h, error) - NDer8(f, t - 3 * h, error); + template + static MatrixNM NDer1PartialAllByAll(const IVectorFunction& f, const VectorN& point, MatrixNM* error = nullptr) + { + return NDer1PartialAllByAll(f, point, NDer1_h, error); + } - if (error) - { - VectorN y7 = (NDer8(f, t + 4 * h, error) - NDer8(f, t - 4 * h, error) - 6 * y3 - 14 * y1 - 14 * y2) / 2; + template + static MatrixNM NDer1PartialAllByAll(const IVectorFunction& f, const VectorN& point, Real h, MatrixNM* error = nullptr) + { + MatrixNM ret; - *error = y7.NormL2() / (140 * h) + 5 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + { + if (error) + ret(i, j) = NDer1Partial(f, i, j, point, h, &((*error)(i, j))); + else + ret(i, j) = NDer1Partial(f, i, j, point, h); + } - template - static VectorN NThirdDer6(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NThirdDer6(f, t, NDer6_h, error); - } + return ret; + } - template - static VectorN NThirdDer6(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = NSecDer8(f, t + h, error); - VectorN ymh = NSecDer8(f, t - h, error); - VectorN y1 = yh - ymh; - VectorN y2 = NSecDer8(f, t - 2 * h, error) - NSecDer8(f, t + 2 * h, error); - VectorN y3 = NSecDer8(f, t + 3 * h, error) - NSecDer8(f, t - 3 * h, error); + ////////////////////////// TensorField ////////////////////////// + template + static Real NDer1Partial(const ITensorField2& f, int i, int j, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer1Partial(f, i, j, deriv_index, point, NDer1_h, error); + } - if (error) - { - VectorN y7 = (NSecDer8(f, t + 4 * h, error) - NSecDer8(f, t - 4 * h, error) - 6 * y3 - 14 * y1 - 14 * y2) / 2; + template + static Real NDer1Partial(const ITensorField2& f, int i, int j, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + auto x = point; - *error = y7.NormL2() / (140 * h) + 5 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; - } - return (y3 + 9 * y2 + 45 * y1) / (60 * h); - } - - /********************************************************************************************************************/ - /******** Numerical derivatives of EIGHTH order ********/ - /********************************************************************************************************************/ - - ////////////////////////// RealFunction ////////////////////////// - static Real NDer8(const IRealFunction &f, Real x, Real* error = nullptr) - { - // Error bound ~eps^8/9. - // In Real precision, we only expect to lose two digits of precision while using this formula, at the cost of 8 function evaluations. - // Error: h^8|f^(9)(x)|/630 + 7|f(x)|eps/h assuming 7 unstabilized additions. - // Mathematica code to get the error: - // Series[(f[x+h]-f[x-h])*(4/5) + (1/5)*(f[x-2*h] - f[x+2*h]) + (4/105)*(f[x+3*h] - f[x-3*h]) + (1/280)*(f[x-4*h] - f[x+4*h]), {h, 0, 9}] - // If we used Kahan summation, we could get the max error down to h^8|f^(9)(x)|/630 + |f(x)|eps/h. - - return NDer8(f, x, NDer8_h, error); - } - static Real NDer8Left(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer8(f, x - 6 * NDer8_h, NDer8_h, error); } - static Real NDer8Right(const IRealFunction &f, Real x, Real* error = nullptr) { return NDer8(f, x + 6 * NDer8_h, NDer8_h, error); } + Real x_orig = x[deriv_index]; + Real y0 = f.Component(i, j, x); - static Real NDer8(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = f(x + h); - Real ymh = f(x - h); - Real y1 = yh - ymh; - Real y2 = f(x - 2 * h) - f(x + 2 * h); - Real y3 = f(x + 3 * h) - f(x - 3 * h); - Real y4 = f(x - 4 * h) - f(x + 4 * h); - - Real tmp1 = 3 * y4 / 8 + 4 * y3; - Real tmp2 = 21 * y2 + 84 * y1; - - if (error) - { - // Mathematica code to generate fd scheme for 7th derivative: - // Sum[(-1)^i*Binomial[9, i]*(f[x+(4-i)*h] + f[x+(5-i)*h])/2, {i, 0, 9}] - // Mathematica to demonstrate that this is a finite difference formula for 7th derivative: - // Series[(f[x+5*h]-f[x- 5*h])/2 + 4*(f[x-4*h] - f[x+4*h]) + 27*(f[x+3*h] - f[x-3*h])/2 + 24*(f[x-2*h] - f[x+2*h]) + 21*(f[x+h] - f[x-h]), {h, 0, 15}] - Real f9 = (f(x + 5 * h) - f(x - 5 * h)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - - *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (tmp1 + tmp2) / (105 * h); - } - static Real NDer8Left(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer8(f, x - 6 * h, h, error); } - static Real NDer8Right(const IRealFunction &f, Real x, Real h, Real* error = nullptr) { return NDer8(f, x + 6 * h, h, error); } + x[deriv_index] = x_orig + h; + Real yh = f.Component(i, j, x); - static Real NSecDer8(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NSecDer8(f, x, NDer8_h, error); - } + Real diff = yh - y0; + if (error) + { + x[deriv_index] = x_orig - h; + Real ym = f.Component(i, j, x); + Real ypph = std::abs(yh - 2 * y0 + ym) / h; + *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; + } + return diff / h; + } - static Real NSecDer8(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NDer8(f, x + h, error); - Real ymh = NDer8(f, x - h, error); - Real y1 = yh - ymh; - Real y2 = NDer8(f, x - 2 * h, error) - NDer8(f, x + 2 * h, error); - Real y3 = NDer8(f, x + 3 * h, error) - NDer8(f, x - 3 * h, error); - Real y4 = NDer8(f, x - 4 * h, error) - NDer8(f, x + 4 * h, error); + template + static Real NDer1Partial(const ITensorField3& f, int i, int j, int k, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer1Partial(f, i, j, k, deriv_index, point, NDer1_h, error); + } - Real tmp1 = 3 * y4 / 8 + 4 * y3; - Real tmp2 = 21 * y2 + 84 * y1; + template + static Real NDer1Partial(const ITensorField3& f, int i, int j, int k, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + auto x = point; - if (error) - { - Real f9 = (NDer8(f, x + 5 * h, error) - NDer8(f, x - 5 * h, error)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; + Real x_orig = x[deriv_index]; + Real y0 = f.Component(i, j, k, x); - *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (tmp1 + tmp2) / (105 * h); - } + x[deriv_index] = x_orig + h; + Real yh = f.Component(i, j, k, x); - static Real NThirdDer8(const IRealFunction &f, Real x, Real* error = nullptr) - { - return NThirdDer8(f, x, NDer8_h, error); - } + Real diff = yh - y0; + if (error) + { + x[deriv_index] = x_orig - h; + Real ym = f.Component(i, j, k, x); + Real ypph = std::abs(yh - 2 * y0 + ym) / h; + *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; + } + return diff / h; + } - static Real NThirdDer8(const IRealFunction &f, Real x, Real h, Real* error = nullptr) - { - Real yh = NSecDer8(f, x + h, error); - Real ymh = NSecDer8(f, x - h, error); - Real y1 = yh - ymh; - Real y2 = NSecDer8(f, x - 2 * h, error) - NSecDer8(f, x + 2 * h, error); - Real y3 = NSecDer8(f, x + 3 * h, error) - NSecDer8(f, x - 3 * h, error); - Real y4 = NSecDer8(f, x - 4 * h, error) - NSecDer8(f, x + 4 * h, error); + template + static Real NDer1Partial(const ITensorField4& f, int i, int j, int k, int l, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer1Partial(f, i, j, k, l, deriv_index, point, NDer1_h, error); + } - Real tmp1 = 3 * y4 / 8 + 4 * y3; - Real tmp2 = 21 * y2 + 84 * y1; + template + static Real NDer1Partial(const ITensorField4& f, int i, int j, int k, int l, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + auto x = point; - if (error) - { - Real f9 = (NSecDer8(f, x + 5 * h, error) - NSecDer8(f, x - 5 * h, error)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; + Real x_orig = x[deriv_index]; + Real y0 = f.Component(i, j, k, l, x); - *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } - return (tmp1 + tmp2) / (105 * h); - } + x[deriv_index] = x_orig + h; + Real yh = f.Component(i, j, k, l, x); - ////////////////////////// ScalarFunction ////////////////////////// - template - static Real NDer8Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer8Partial(f, deriv_index, point, NDer8_h, error); - } + Real diff = yh - y0; + if (error) + { + x[deriv_index] = x_orig - h; + Real ym = f.Component(i, j, k, l, x); + Real ypph = std::abs(yh - 2 * y0 + ym) / h; + *error = ypph / 2 + (std::abs(yh) + std::abs(y0)) * Constants::Epsilon / h; + } + return diff / h; + } - template - static Real NDer8Partial(const IScalarFunction &f, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + ///////////////////////// ParametricCurve ///////////////////////// + template + static VectorN NDer1(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NDer1(f, t, NDer1_h, error); + } - VectorN x{point}; + template + static VectorN NDer1(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = f(t + h); + VectorN y0 = f(t); + VectorN diff = yh - y0; - x[deriv_index] = orig_x + h; - Real yh = f(x); + if (error) + { + VectorN ym = f(t - h); + VectorN ypph_vec = yh - 2 * y0 + ym; - x[deriv_index] = orig_x - h; - Real ymh = f(x); + Real ypph = ypph_vec.NormL2() / h; - x[deriv_index] = orig_x + 2 * h; - Real y2h = f(x); + *error = ypph / 2 + (yh.NormL2() + y0.NormL2()) * Constants::Epsilon / h; + } + return diff / h; + } - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f(x); + template + static VectorN NSecDer1(const IParametricCurve& f, Real x, Real* error = nullptr) + { + return NSecDer1(f, x, NDer1_h, error); + } - x[deriv_index] = orig_x + 3 * h; - Real y3h = f(x); + template + static VectorN NSecDer1(const IParametricCurve& f, Real x, Real h, Real* error = nullptr) + { + VectorN yh = NDer2(f, x + h, h, error); + VectorN y0 = NDer2(f, x, h, error); + VectorN diff = yh - y0; + if (error) + { + VectorN ym = NDer2(f, x - h, h, error); + VectorN ypph_vec = (yh - 2 * y0 + ym) / h; - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f(x); + Real ypph = ypph_vec.NormL2(); - x[deriv_index] = orig_x + 4 * h; - Real y4h = f(x); + *error = ypph / 2 + (yh.NormL2() + y0.NormL2()) * Constants::Epsilon / h; + } + return diff / h; + } - x[deriv_index] = orig_x - 4 * h; - Real ym4h = f(x); + template + static VectorN NThirdDer1(const IParametricCurve& f, Real x, Real* error = nullptr) + { + return NThirdDer1(f, x, NDer1_h, error); + } - Real y1 = yh - ymh; - Real y2 = ym2h - y2h; - Real y3 = y3h - ym3h; - Real y4 = ym4h - y4h; + template + static VectorN NThirdDer1(const IParametricCurve& f, Real x, Real h, Real* error = nullptr) + { + VectorN yh = NSecDer2(f, x + h, h, error); + VectorN y0 = NSecDer2(f, x, h, error); + VectorN diff = yh - y0; + if (error) + { + VectorN ym = NSecDer2(f, x - h, h, error); + VectorN ypph_vec = (yh - 2 * y0 + ym) / h; - Real tmp1 = 3 * y4 / 8 + 4 * y3; - Real tmp2 = 21 * y2 + 84 * y1; + Real ypph = ypph_vec.NormL2(); - if (error) - { - x[deriv_index] = orig_x + 5 * h; - Real y5h = f(x); + *error = ypph / 2 + (yh.NormL2() + y0.NormL2()) * Constants::Epsilon / h; + } + return diff / h; + } - x[deriv_index] = orig_x - 5 * h; - Real ym5h = f(x); + /********************************************************************************************************************/ + /******** Numerical derivatives of SECOND order ********/ + /********************************************************************************************************************/ - Real f9 = (y5h - ym5h) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; + ////////////////////////// RealFunction ////////////////////////// + static Real NDer2(const IRealFunction& f, Real x, Real* error = nullptr) + { + // Error bound ~eps^2/3 + // See the previous discussion to understand determination of h and the error bound. + // Series[(f[x+h] - f[x-h])/(2*h), {h, 0, 4}] - *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } + return NDer2(f, x, NDer2_h, error); + } + static Real NDer2Left(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer2(f, x - 2 * NDer2_h, NDer2_h, error); } + static Real NDer2Right(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer2(f, x + 2 * NDer2_h, NDer2_h, error); } - return (tmp1 + tmp2) / (105 * h); - } + static Real NDer2(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = f(x + h); + Real ymh = f(x - h); + Real diff = yh - ymh; + if (error) + { + Real y2h = f(x + 2 * h); + Real ym2h = f(x - 2 * h); + *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); + } - template - static Real NSecDer8Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real *error = nullptr) - { - return NSecDer8Partial(f, der_ind1, der_ind2, point, NDer8_h, error); - } + return diff / (2 * h); + } + static Real NDer2Left(const IRealFunction& f, Real x, Real h, Real* error = nullptr) { return NDer2(f, x - 3 * h, h, error); } + static Real NDer2Right(const IRealFunction& f, Real x, Real h, Real* error = nullptr) { return NDer2(f, x + 3 * h, h, error); } - template - static Real NSecDer8Partial(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[der_ind2]; - auto x_eval_pos = point; - x_eval_pos[der_ind2] = orig_x + h; - Real yh = NDer8Partial(f, der_ind1, x_eval_pos, error); + static Real NSecDer2(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NSecDer2(f, x, NDer2_h, error); + } - x_eval_pos[der_ind2] = orig_x - h; - Real ymh = NDer8Partial(f, der_ind1, x_eval_pos, error); + static Real NSecDer2(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = NDer4(f, x + h, error); + Real ymh = NDer4(f, x - h, error); + Real diff = yh - ymh; + if (error) + { + Real y2h = NDer4(f, x + 2 * h, error); + Real ym2h = NDer4(f, x - 2 * h, error); - x_eval_pos[der_ind2] = orig_x + 2 * h; - Real y2h = NDer8Partial(f, der_ind1, x_eval_pos, error); + *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); + } - x_eval_pos[der_ind2] = orig_x - 2 * h; - Real ym2h = NDer8Partial(f, der_ind1, x_eval_pos, error); + return diff / (2 * h); + } - x_eval_pos[der_ind2] = orig_x + 3 * h; - Real y3h = NDer8Partial(f, der_ind1, x_eval_pos, error); + static Real NThirdDer2(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NThirdDer2(f, x, NDer2_h, error); + } - x_eval_pos[der_ind2] = orig_x - 3 * h; - Real ym3h = NDer8Partial(f, der_ind1, x_eval_pos, error); + static Real NThirdDer2(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = NSecDer4(f, x + h, error); + Real ymh = NSecDer4(f, x - h, error); + Real diff = yh - ymh; + if (error) + { + Real y2h = NSecDer4(f, x + 2 * h, error); + Real ym2h = NSecDer4(f, x - 2 * h, error); - x_eval_pos[der_ind2] = orig_x + 4 * h; - Real y4h = NDer8Partial(f, der_ind1, x_eval_pos, error); + *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); + } - x_eval_pos[der_ind2] = orig_x - 4 * h; - Real ym4h = NDer8Partial(f, der_ind1, x_eval_pos, error); + return diff / (2 * h); + } - Real y1 = yh - ymh; - Real y2 = ym2h - y2h; - Real y3 = y3h - ym3h; - Real y4 = ym4h - y4h; + ////////////////////////// ScalarFunction ////////////////////////// + template + static Real NDer2Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer2Partial(f, deriv_index, point, NDer2_h, error); + } - Real tmp1 = 3 * y4 / 8 + 4 * y3; - Real tmp2 = 21 * y2 + 84 * y1; + template + static Real NDer2Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - if (error) - { - x_eval_pos[der_ind2] = orig_x + 5 * h; - Real y5h = NDer8Partial(f, der_ind1, x_eval_pos, error); + auto x = point; + x[deriv_index] = orig_x + h; + Real yh = f(x); - x_eval_pos[der_ind2] = orig_x - 5 * h; - Real ym5h = NDer8Partial(f, der_ind1, x_eval_pos, error); + x[deriv_index] = orig_x - h; + Real ymh = f(x); - Real f9 = (y5h - ym5h) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; + Real diff = yh - ymh; - *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } + if (error) + { + x[deriv_index] = orig_x + 2 * h; + Real y2h = f(x); - return (tmp1 + tmp2) / (105 * h); - } + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f(x); - template - static VectorN NDer8PartialByAll(const IScalarFunction &f, const VectorN &point, VectorN *error = nullptr) - { - return NDer8PartialByAll(f, point, NDer8_h, error); - } + *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); + } - template - static VectorN NDer8PartialByAll(const IScalarFunction &f, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i + static Real NSecDer2Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real* error = nullptr) + { + return NSecDer2Partial(f, der_ind1, der_ind2, point, NDer2_h, error); + } - ////////////////////////// VectorFunction ////////////////////////// - template - static Real NDer8Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real *error = nullptr) - { - return NDer8Partial(f, func_index, deriv_index, point, NDer8_h, error); - } + template + static Real NSecDer2Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[der_ind2]; + auto x_eval_pos = point; - template - static Real NDer8Partial(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real h, Real *error = nullptr) - { - Real orig_x = point[deriv_index]; + x_eval_pos[der_ind2] = orig_x + h; + Real yh = NDer4Partial(f, der_ind1, x_eval_pos, error); - VectorN x{point}; + x_eval_pos[der_ind2] = orig_x - h; + Real ymh = NDer4Partial(f, der_ind1, x_eval_pos, error); - x[deriv_index] = orig_x + h; - Real yh = f(x)[func_index]; + Real diff = yh - ymh; - x[deriv_index] = orig_x - h; - Real ymh = f(x)[func_index]; + if (error) + { + x_eval_pos[der_ind2] = orig_x + 2 * h; + Real y2h = NDer4Partial(f, der_ind1, x_eval_pos, error); - x[deriv_index] = orig_x + 2 * h; - Real y2h = f(x)[func_index]; + x_eval_pos[der_ind2] = orig_x - 2 * h; + Real ym2h = NDer4Partial(f, der_ind1, x_eval_pos, error); - x[deriv_index] = orig_x - 2 * h; - Real ym2h = f(x)[func_index]; + *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); + } - x[deriv_index] = orig_x + 3 * h; - Real y3h = f(x)[func_index]; + return diff / (2 * h); + } - x[deriv_index] = orig_x - 3 * h; - Real ym3h = f(x)[func_index]; + template + static VectorN NDer2PartialByAll(const IScalarFunction& f, const VectorN& point, VectorN* error = nullptr) + { + return NDer2PartialByAll(f, point, NDer2_h, error); + } - x[deriv_index] = orig_x + 4 * h; - Real y4h = f(x)[func_index]; + template + static VectorN NDer2PartialByAll(const IScalarFunction& f, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - x[deriv_index] = orig_x - 4 * h; - Real ym4h = f(x)[func_index]; + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer2Partial(f, i, point, h, &(*error)[i]); + else + ret[i] = NDer2Partial(f, i, point, h); + } - Real y1 = yh - ymh; - Real y2 = ym2h - y2h; - Real y3 = y3h - ym3h; - Real y4 = ym4h - y4h; + return ret; + } - Real tmp1 = 3 * y4 / 8 + 4 * y3; - Real tmp2 = 21 * y2 + 84 * y1; + ////////////////////////// VectorFunction ////////////////////////// + template + static Real NDer2Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer2Partial(f, func_index, deriv_index, point, NDer2_h, error); + } - if (error) - { - x[deriv_index] = orig_x + 5 * h; - Real y5h = f(x)[func_index]; + template + static Real NDer2Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - x[deriv_index] = orig_x - 5 * h; - Real ym5h = f(x)[func_index]; + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f(x)[func_index]; - Real f9 = (y5h - ym5h) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; + x[deriv_index] = orig_x - h; + Real ymh = f(x)[func_index]; - *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; - } + Real diff = yh - ymh; - return (tmp1 + tmp2) / (105 * h); - } + if (error) + { + x[deriv_index] = orig_x + 2 * h; + Real y2h = f(x)[func_index]; - template - static VectorN NDer8PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, VectorN *error = nullptr) - { - return NDer8PartialByAll(f, func_index, point, NDer8_h, error); - } + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f(x)[func_index]; - template - static VectorN NDer8PartialByAll(const IVectorFunction &f, int func_index, const VectorN &point, Real h, VectorN *error = nullptr) - { - VectorN ret; - - for( int i=0; i - static MatrixNM NDer8PartialAllByAll(const IVectorFunction &f, const VectorN &point, MatrixNM *error = nullptr) - { - return NDer8PartialAllByAll(f, point, NDer8_h, error); - } + template + static VectorN NDer2PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, VectorN* error = nullptr) + { + return NDer2PartialByAll(f, func_index, point, NDer2_h, error); + } - template - static MatrixNM NDer8PartialAllByAll(const IVectorFunction &f, const VectorN &point, Real h, MatrixNM *error = nullptr) - { - MatrixNM ret; - - for( int i=0; i + static VectorN NDer2PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - ///////////////////////// ParametricCurve ///////////////////////// - template - static VectorN NDer8(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NDer8(f, t, NDer8_h, error); - } + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer2Partial(f, func_index, i, point, h, &(*error)[i]); + else + ret[i] = NDer2Partial(f, func_index, i, point, h); + } - template - static VectorN NDer8(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = f(t + h); - VectorN ymh = f(t - h); - VectorN y1 = yh - ymh; - VectorN y2 = f(t - 2 * h) - f(t + 2 * h); - VectorN y3 = f(t + 3 * h) - f(t - 3 * h); - VectorN y4 = f(t - 4 * h) - f(t + 4 * h); + return ret; + } - VectorN tmp1 = 3 * y4 / 8 + 4 * y3; - VectorN tmp2 = 21 * y2 + 84 * y1; + template + static MatrixNM NDer2PartialAllByAll(const IVectorFunction& f, const VectorN& point, MatrixNM* error = nullptr) + { + return NDer2PartialAllByAll(f, point, NDer2_h, error); + } - if (error) - { - VectorN f9 = (f(t + 5 * h) - f(t - 5 * h)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; + template + static MatrixNM NDer2PartialAllByAll(const IVectorFunction& f, const VectorN& point, Real h, MatrixNM* error = nullptr) + { + MatrixNM ret; - *error = f9.NormL2() / (630 * h) + 7 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; - } - return (tmp1 + tmp2) / (105 * h); - } + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + { + if (error) + ret(i, j) = NDer2Partial(f, i, j, point, h, &((*error)(i, j))); + else + ret(i, j) = NDer2Partial(f, i, j, point, h); + } - template - static VectorN NSecDer8(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NSecDer8(f, t, NDer8_h, error); - } + return ret; + } - template - static VectorN NSecDer8(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = NDer8(f, t + h, error); - VectorN ymh = NDer8(f, t - h, error); - VectorN y1 = yh - ymh; - VectorN y2 = NDer8(f, t - 2 * h, error) - NDer8(f, t + 2 * h, error); - VectorN y3 = NDer8(f, t + 3 * h, error) - NDer8(f, t - 3 * h, error); - VectorN y4 = NDer8(f, t - 4 * h, error) - NDer8(f, t + 4 * h, error); + ////////////////////////// TensorField ////////////////////////// + template + static Real NDer2Partial(const ITensorField2& f, int i, int j, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer2Partial(f, i, j, deriv_index, point, NDer2_h, error); + } - VectorN tmp1 = 3 * y4 / 8 + 4 * y3; - VectorN tmp2 = 21 * y2 + 84 * y1; + template + static Real NDer2Partial(const ITensorField2& f, int i, int j, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - if (error) - { - VectorN f9 = (NDer8(f, t + 5 * h, error) - NDer8(f, t - 5 * h, error)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f.Component(i, j, x); - *error = f9.NormL2() / (630 * h) + 7 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; - } - return (tmp1 + tmp2) / (105 * h); - } + x[deriv_index] = orig_x - h; + Real ymh = f.Component(i, j, x); - template - static VectorN NThirdDer8(const IParametricCurve &f, Real t, Real* error = nullptr) - { - return NThirdDer8(f, t, NDer8_h, error); - } + Real diff = yh - ymh; - template - static VectorN NThirdDer8(const IParametricCurve &f, Real t, Real h, Real* error = nullptr) - { - VectorN yh = NSecDer8(f, t + h, error); - VectorN ymh = NSecDer8(f, t - h, error); - VectorN y1 = yh - ymh; - VectorN y2 = NSecDer8(f, t - 2 * h, error) - NSecDer8(f, t + 2 * h, error); - VectorN y3 = NSecDer8(f, t + 3 * h, error) - NSecDer8(f, t - 3 * h, error); - VectorN y4 = NSecDer8(f, t - 4 * h, error) - NSecDer8(f, t + 4 * h, error); - - VectorN tmp1 = 3 * y4 / 8 + 4 * y3; - VectorN tmp2 = 21 * y2 + 84 * y1; - - if (error) - { - VectorN f9 = (NSecDer8(f, t + 5 * h, error) - NSecDer8(f, t - 5 * h, error)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - - *error = f9.NormL2() / (630 * h) + 7 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; - } - return (tmp1 + tmp2) / (105 * h); - } - - /********************************************************************************************************************/ - /******** Definitions of default derivation functions ********/ - /********************************************************************************************************************/ - static inline Real(*Derive)(const IRealFunction &f, Real x, Real* error) = Derivation::NDer4; + if (error) + { + x[deriv_index] = orig_x + 2 * h; + Real y2h = f.Component(i, j, x); - static inline Real(*DeriveSec)(const IRealFunction &f, Real x, Real* error) = Derivation::NSecDer4; + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f.Component(i, j, x); - static inline Real(*DeriveThird)(const IRealFunction &f, Real x, Real* error) = Derivation::NThirdDer2; - + *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); + } - template - static inline Real(*DerivePartial)(const IScalarFunction &f, int deriv_index, const VectorN &point, Real *error) = Derivation::NDer4Partial; + return diff / (2 * h); + } - template - static inline Real(*DeriveSecPartial)(const IScalarFunction &f, int der_ind1, int der_ind2, const VectorN &point, Real *error) = Derivation::NSecDer4Partial; + template + static Real NDer2Partial(const ITensorField3& f, int i, int j, int k, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer2Partial(f, i, j, k, deriv_index, point, NDer2_h, error); + } - template - static inline VectorN(*DerivePartialAll)(const IScalarFunction &f, const VectorN &point, VectorN *error) = Derivation::NDer4PartialByAll; + template + static Real NDer2Partial(const ITensorField3& f, int i, int j, int k, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f.Component(i, j, k, x); - template - static inline Real(*DeriveVecPartial)(const IVectorFunction &f, int func_index, int deriv_index, const VectorN &point, Real *error) = Derivation::NDer4Partial; + x[deriv_index] = orig_x - h; + Real ymh = f.Component(i, j, k, x); - template - static inline VectorN(*DeriveVecPartialAll)(const IVectorFunction &f, int func_index, const VectorN &point, VectorN *error) = Derivation::NDer4PartialByAll; + Real diff = yh - ymh; - template - static inline MatrixNM(*DeriveVecPartialAllByAll)(const IVectorFunction &f, const VectorN &point, MatrixNM *error) = Derivation::NDer4PartialAllByAll; + if (error) + { + x[deriv_index] = orig_x + 2 * h; + Real y2h = f.Component(i, j, k, x); + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f.Component(i, j, k, x); - template - static inline VectorN(*DeriveCurve)(const IParametricCurve &f, Real x, Real* error) = Derivation::NDer4; + *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); + } - template - static inline VectorN(*DeriveCurveSec)(const IParametricCurve &f, Real x, Real* error) = Derivation::NSecDer4; + return diff / (2 * h); + } - template - static inline VectorN(*DeriveCurveThird)(const IParametricCurve &f, Real x, Real* error) = Derivation::NThirdDer4; - }; -} + template + static Real NDer2Partial(const ITensorField4& f, int i, int j, int k, int l, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer2Partial(f, i, j, k, l, deriv_index, point, NDer2_h, error); + } -/////////////////////////// ./include/core/Jacobians.h /////////////////////////// + template + static Real NDer2Partial(const ITensorField4& f, int i, int j, int k, int l, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f.Component(i, j, k, l, x); + x[deriv_index] = orig_x - h; + Real ymh = f.Component(i, j, k, l, x); + Real diff = yh - ymh; -namespace MML -{ - template - class Jacobian - { - public: - static MatrixNM calc(const IVectorFunction &func, const VectorN &x) - { - MatrixNM jac; + if (error) + { + x[deriv_index] = orig_x + 2 * h; + Real y2h = f.Component(i, j, k, l, x); - for(int i = 0; i < N; ++i) - for(int j=0; j < N; ++j) - { - jac(i, j) = Derivation::NDer4Partial(func, i, j, x); - } + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f.Component(i, j, k, l, x); - return jac; - } + *error = Constants::Epsilon * (std::abs(yh) + std::abs(ymh)) / (2 * h) + std::abs((y2h - ym2h) / 2 - diff) / (6 * h); + } - template - static MatrixNM calc(const IVectorFunctionNM &func, const VectorN &x) - { - MatrixNM jac; + return diff / (2 * h); + } + ///////////////////////// ParametricCurve ///////////////////////// + template + static VectorN NDer2(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NDer2(f, t, NDer2_h, error); + } - for(int i = 0; i < M; ++i) - for(int j=0; j < N; ++j) - { - jac(i, j) = Derivation::NDer4Partial(func, i, j, x); - } + template + static VectorN NDer2(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = f(t + h); + VectorN ymh = f(t - h); + VectorN diff = yh - ymh; - return jac; - } + if (error) + { + VectorN yth = f(t + 2 * h); + VectorN ymth = f(t - 2 * h); - static MatrixNM calc(const ICoordTransf &func, const VectorN &x) - { - MatrixNM jac; + *error = Constants::Epsilon * ((yh + ymh) / (2 * h)).NormL2() + std::abs(((yth - ymth) / 2 - diff).NormL2()) / (6 * h); + } + return diff / (2 * h); + } - for(int i = 0; i < N; ++i) - for(int j=0; j < N; ++j) - { - jac(i, j) = Derivation::NDer4Partial(func.coordTransfFunc(i), j, x); - } + template + static VectorN NSecDer2(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NSecDer2(f, t, NDer2_h, error); + } - return jac; - } - }; -} + template + static VectorN NSecDer2(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = NDer4(f, t + h, error); + VectorN ymh = NDer4(f, t - h, error); + VectorN diff = yh - ymh; -/////////////////////////// ./include/core/Integration.h /////////////////////////// + if (error) + { + VectorN yth = NDer4(f, t + 2 * h, error); + VectorN ymth = NDer4(f, t - 2 * h, error); + *error = Constants::Epsilon * ((yh + ymh) / (2 * h)).NormL2() + std::abs(((yth - ymth) / 2 - diff).NormL2()) / (6 * h); + } + return diff / (2 * h); + } + template + static VectorN NThirdDer2(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NThirdDer2(f, t, NDer2_h, error); + } -namespace MML -{ - enum IntegrationMethod { TRAP, SIMPSON, ROMBERG, GAUSS10 } ; + template + static VectorN NThirdDer2(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = NSecDer4(f, t + h, error); + VectorN ymh = NSecDer4(f, t - h, error); + VectorN diff = yh - ymh; + if (error) + { + VectorN yth = NSecDer4(f, t + 2 * h, error); + VectorN ymth = NSecDer4(f, t - 2 * h, error); - static Real TrapRefine(const IRealFunction &func, const Real a, const Real b, const int n) - { - // This routine computes the nth stage of refinement of an extended trapezoidal rule. func is input - // as a pointer to the function to be integrated between limits a and b, also input. When called with - // n=1, the routine returns the crudest estimate of Rab f(x)dx. Subsequent calls with n=2,3,... - // (in that sequential order) will improve the accuracy by adding 2n-2 additional interior points. - Real x,tnm,sum,del; - static Real s; - int it,j; - - if (n == 1) { - return (s=0.5*(b-a)*(func(a)+func(b))); - } else - { - for (it=1,j=1;j 5) - { - diff = s-olds; - threshold = req_eps * std::abs(olds); - if (std::abs(diff) < threshold || (s == 0.0 && olds == 0.0)) - { - // std::cout << "\ns : " << s << " olds : " << olds << " diff : " << diff << " threshold : " << threshold << std::endl; - return s; - } - } - olds=s; - } - throw IntegrationTooManySteps("qtrap"); - } - static Real IntegrateTrap(const IRealFunction &func, const Real a, const Real b) - { - return IntegrateTrap(func, a, b, Defaults::IntegrateTrapEPS); - } + ////////////////////////// RealFunction ////////////////////////// + static Real NDer4(const IRealFunction& f, Real x, Real* error = nullptr) + { + // Error bound ~eps^4/5 + return NDer4(f, x, NDer4_h, error); + } + static Real NDer4Left(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer4(f, x - 4 * NDer4_h, NDer4_h, error); } + static Real NDer4Right(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer4(f, x + 4 * NDer4_h, NDer4_h, error); } - static Real IntegrateSimpson(const IRealFunction &func, const Real a, const Real b, Real req_eps) - { - // Returns the integral of the function func from a to b. The parameters EPS can be set to the - // desired fractional accuracy and JMAX so that 2 to the power JMAX-1 is the maximum allowed - // number of steps. Integration is performed by Simpson’s rule. - - // The routine qsimp will in general be more efficient than qtrap (i.e., require - // fewer function evaluations) when the function to be integrated has a finite 4th - // derivative (i.e., a continuous 3rd derivative). The combination of qsimp and its - // necessary workhorse trapzd is a good one for light-duty work. - int j; - Real s,st,ost=0.0,os=0.0; + static Real NDer4(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = f(x + h); + Real ymh = f(x - h); + Real y2h = f(x + 2 * h); + Real ym2h = f(x - 2 * h); - for (j=0;j 5) - if (std::abs(s-os) < req_eps * std::abs(os) || - (s == 0.0 && os == 0.0)) - return s; - os=s; - ost=st; - }throw IntegrationTooManySteps("qsimp"); - } - static Real IntegrateSimpson(const IRealFunction &func, const Real a, const Real b) - { - return IntegrateSimpson(func, a, b, Defaults::IntegrateSimpEPS); - } + Real y2 = ym2h - y2h; + Real y1 = yh - ymh; - static bool polint(Vector &xa, Vector &ya, const Real x, Real &y, Real &dy) - { - int i,m,ns=0; - Real den,dif,dift,ho,hp,w; - - int n=(int) xa.size(); - Vector c(n),d(n); - dif=fabs(x-xa[0]); - for (i=0;i &x1a, Vector &x2a, Matrix &ya, const Real x1, - const Real x2, Real &y, Real &dy) - // Given arrays x1a[1..m] and x2a[1..n] of independent variables, and a submatrix of function - // values ya[1..m][1..n], tabulated at the grid points defined by x1a and x2a; and given values - // x1 and x2 of the independent variables; this routine returns an interpolated function value y, - // and an accuracy indication dy (based only on the interpolation in the x1 direction, however). - { - int j,k; + static Real NSecDer4(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NSecDer4(f, x, NDer4_h, error); + } - int m = (int) x1a.size(); - int n = (int) x2a.size(); - Vector ymtmp(m),ya_t(n); - for (j=0;j s(Defaults::IntegrateRombMaxSteps),h(JMAXP),s_t(K),h_t(K); - - h[0]=1.0; - for (int j=1;j<=Defaults::IntegrateRombMaxSteps;j++) - { - s[j-1]=TrapRefine(func,a,b,j); - - if (j >= K) - { - for (int i=0;i &funcToInt; + static Real NThirdDer4(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = NSecDer6(f, x + h, error); + Real ymh = NSecDer6(f, x - h, error); + Real y2h = NSecDer6(f, x + 2 * h, error); + Real ym2h = NSecDer6(f, x - 2 * h, error); - SurfIntf2(IScalarFunction<2> &func) : funcToInt(func) {} - Real operator()(const Real y) const - { - VectorN v{xsav,y}; - return funcToInt(v); - } - }; - - struct SurfIntf1 : public IRealFunction - { - mutable SurfIntf2 f2; - IntegrationMethod method; + Real y2 = ym2h - y2h; + Real y1 = yh - ymh; - IScalarFunction<2> &funcToInt; - Real (*y1)(Real); - Real (*y2)(Real); + if (error) + { + Real y3h = NSecDer6(f, x + 3 * h, error); + Real ym3h = NSecDer6(f, x - 3 * h, error); - SurfIntf1(IScalarFunction<2> &func, IntegrationMethod inMethod, Real yy1(Real), Real yy2(Real)) : y1(yy1),y2(yy2), f2(func), funcToInt(func), method(inMethod) - {} - - Real operator()(const Real x) const - { - f2.xsav=x; - switch (method) - { - case SIMPSON: - return IntegrateSimpson(f2,y1(x),y2(x)); - case ROMBERG: - return IntegrateRomberg(f2,y1(x),y2(x)); - case GAUSS10: - return IntegrateGauss10(f2,y1(x),y2(x)); - default: - Real ret = IntegrateTrap(f2,y1(x),y2(x)); - //std::cout << "IntegrateTrap: " << ret << std::endl; - return ret; - } - } - }; + *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); + *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } - static Real IntegrateSurface(IScalarFunction<2> &func, IntegrationMethod method, const Real x1, const Real x2, Real y1(Real), Real y2(Real)) - { - SurfIntf1 f1(func, method, y1,y2); - - switch (method) - { - case SIMPSON: - return IntegrateSimpson(f1,x1,x2); - case ROMBERG: - return IntegrateRomberg(f1,x1,x2); - case GAUSS10: - return IntegrateGauss10(f1,x1,x2); - default: - return IntegrateTrap(f1,x1,x2); - } - } + ////////////////////////// ScalarFunction ////////////////////////// + template + static Real NDer4Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer4Partial(f, deriv_index, point, NDer4_h, error); + } - struct VolIntf3 : public IRealFunction - { - mutable Real xsav,ysav; - IScalarFunction<3> &funcToInt; + template + static Real NDer4Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - VolIntf3(IScalarFunction<3> &func) : funcToInt(func) {} - Real operator()(const Real z) const - { - VectorN v{xsav,ysav,z}; - return funcToInt(v); - } - }; - struct VolIntf2 : public IRealFunction - { - mutable VolIntf3 f3; - - IScalarFunction<3> &funcToInt; - Real (*z1)(Real, Real); - Real (*z2)(Real, Real); - - VolIntf2(IScalarFunction<3> &func, Real zz1(Real, Real), Real zz2(Real, Real)) : z1(zz1), z2(zz2), funcToInt(func), f3(func) {} - - Real operator()(const Real y) const - { - f3.ysav=y; - return IntegrateGauss10(f3,z1(f3.xsav,y),z2(f3.xsav,y)); - } - }; - struct VolIntf1 : public IRealFunction - { - mutable VolIntf2 f2; + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f(x); - IScalarFunction<3> &funcToInt; - Real (*y1)(Real); - Real (*y2)(Real); + x[deriv_index] = orig_x - h; + Real ymh = f(x); - VolIntf1(IScalarFunction<3> &func, Real yy1(Real), Real yy2(Real), Real z1(Real, Real), - Real z2(Real, Real)) : y1(yy1),y2(yy2), f2(func, z1, z2), funcToInt(func) - {} - - Real operator()(const Real x) const - { - f2.f3.xsav=x; - return IntegrateGauss10(f2,y1(x),y2(x)); - } - }; + x[deriv_index] = orig_x + 2 * h; + Real y2h = f(x); - static Real IntegrateVolume(IScalarFunction<3> &func, const Real x1, const Real x2, Real y1(Real), Real y2(Real), - Real z1(Real, Real), Real z2(Real, Real)) - { - VolIntf1 f1(func, y1,y2,z1,z2); - - return IntegrateGauss10(f1,x1,x2); - } - - static inline Real(*Integrate)(const MML::IRealFunction &f, Real a, Real b, Real req_eps) = IntegrateSimpson; + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f(x); -} // end namespace -/////////////////////////// ./include/core/Function.h /////////////////////////// + Real y2 = ym2h - y2h; + Real y1 = yh - ymh; + if (error) + { + x[deriv_index] = orig_x + 3 * h; + Real y3h = f(x); + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f(x); + *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); + *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } -namespace MML -{ - /////////////////////////// REAL FUNCTION //////////////////////////////////// - class RealFunction : public IRealFunction - { - Real (*_func)(const Real) ; - public: - RealFunction(Real (*inFunc)(const Real) ) : _func(inFunc) {} + template + static Real NSecDer4Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real* error = nullptr) + { + return NSecDer4Partial(f, der_ind1, der_ind2, point, NDer4_h, error); + } - Real operator()(const Real x) const { return _func(x); } - }; - class RealFunctionFromStdFunc : public IRealFunction - { - std::function _func; - public: - RealFunctionFromStdFunc(std::function inFunc) : _func(inFunc) {} + template + static Real NSecDer4Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[der_ind2]; + auto x_eval_pos = point; - Real operator()(const Real x) const { return _func(x); } - }; - - /////////////////////////// SCALAR FUNCTION ////////////////////////////////// - template - class ScalarFunction : public IScalarFunction - { - Real (*_func)(const VectorN &); - public: - ScalarFunction( Real (*inFunc)(const VectorN &) ) : _func(inFunc) {} + x_eval_pos[der_ind2] = orig_x + h; + Real yh = NDer6Partial(f, der_ind1, x_eval_pos, error); - Real operator()(const VectorN &x) const { return _func(x); } - }; + x_eval_pos[der_ind2] = orig_x - h; + Real ymh = NDer6Partial(f, der_ind1, x_eval_pos, error); - template - class ScalarFunctionFromStdFunc : public IScalarFunction - { - std::function &)> _func; - public: - ScalarFunctionFromStdFunc(std::function &)> inFunc) : _func(inFunc) {} + x_eval_pos[der_ind2] = orig_x + 2 * h; + Real y2h = NDer6Partial(f, der_ind1, x_eval_pos, error); - Real operator()(const VectorN &x) const { return _func(x); } - }; - - ///////////////////////// VECTOR FUNCTION N -> N /////////////////////////////////// - template - class VectorFunction : public IVectorFunction - { - VectorN (*_func)(const VectorN &); - public: - VectorFunction( VectorN (*inFunc)(const VectorN &) ) : _func(inFunc) {} + x_eval_pos[der_ind2] = orig_x - 2 * h; + Real ym2h = NDer6Partial(f, der_ind1, x_eval_pos, error); - VectorN operator()(const VectorN &x) const { return _func(x); } + Real y2 = ym2h - y2h; + Real y1 = yh - ymh; - MatrixNM jacobian(const VectorN &x) const { return Jacobian, VectorN, N>::calc(*this, x); } - }; + if (error) + { + x_eval_pos[der_ind2] = orig_x + 3 * h; + Real y3h = NDer6Partial(f, der_ind1, x_eval_pos, error); - template - class VectorFunctionFromStdFunc : public IVectorFunction - { - std::function(const VectorN &)> _func; - public: - VectorFunctionFromStdFunc(std::function(const VectorN &)> &inFunc) : _func(inFunc) {} + x_eval_pos[der_ind2] = orig_x - 3 * h; + Real ym3h = NDer6Partial(f, der_ind1, x_eval_pos, error); - VectorN operator()(const VectorN &x) const { return _func(x); } + *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); + *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } - MatrixNM jacobian(const VectorN &x) const { return Jacobian, VectorN, N>::calc(*this, x); } - }; + template + static VectorN NDer4PartialByAll(const IScalarFunction& f, const VectorN& point, VectorN* error = nullptr) + { + return NDer4PartialByAll(f, point, NDer4_h, error); + } - ///////////////////////// VECTOR FUNCTION N -> M /////////////////////////////////// - template - class VectorFunctionNM : public IVectorFunctionNM - { - VectorN (*_func)(const VectorN &); - public: - VectorFunctionNM( VectorN (*inFunc)(const VectorN &) ) : _func(inFunc) {} + template + static VectorN NDer4PartialByAll(const IScalarFunction& f, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - VectorN operator()(const VectorN &x) const { return _func(x); } + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer4Partial(f, i, point, h, &(*error)[i]); + else + ret[i] = NDer4Partial(f, i, point, h); + } - MatrixNM jacobian(const VectorN &x) const { return Jacobian, VectorN, N>::calc(*this, x); } - }; + return ret; + } - template - class VectorFunctionNMFromStdFunc : public IVectorFunctionNM - { - std::function(const VectorN &)> _func; - public: - VectorFunctionNMFromStdFunc(std::function(const VectorN &)> &inFunc) : _func(inFunc) {} + ////////////////////////// VectorFunction ////////////////////////// + template + static Real NDer4Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer4Partial(f, func_index, deriv_index, point, NDer4_h, error); + } - VectorN operator()(const VectorN &x) const { return _func(x); } + template + static Real NDer4Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - MatrixNM jacobian(const VectorN &x) const { return Jacobian, VectorN, N>::calc(*this, x); } - }; + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f(x)[func_index]; - ////////////////////// PARAMETRIC CURVE /////////////////////////////////// - template - class ParametricCurve : public IParametricCurve - { - Real _minT; - Real _maxT; - VectorN (*_func)(Real); - public: - ParametricCurve( VectorN (*inFunc)(Real) ) : _func(inFunc), _minT(Constants::NegativeInf), _maxT(Constants::PositiveInf) {} - ParametricCurve( Real minT, Real maxT, VectorN (*inFunc)(Real) ) : _func(inFunc), _minT(minT), _maxT(maxT) {} + x[deriv_index] = orig_x - h; + Real ymh = f(x)[func_index]; - Real getMinT() const { return _minT; } - Real getMaxT() const { return _maxT; } + x[deriv_index] = orig_x + 2 * h; + Real y2h = f(x)[func_index]; - virtual VectorN operator()(Real x) const { return _func(x); } - }; + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f(x)[func_index]; - template - class ParametricCurveFromStdFunc : public IParametricCurve - { - Real _minT; - Real _maxT; - std::function(Real)> _func; - public: - ParametricCurveFromStdFunc(std::function(Real)> &inFunc) : _func(inFunc), _minT(Constants::NegativeInf), _maxT(Constants::PositiveInf) {} - ParametricCurveFromStdFunc(Real minT, Real maxT, std::function(Real)> &inFunc) : _func(inFunc), _minT(minT), _maxT(maxT) {} + Real y2 = ym2h - y2h; + Real y1 = yh - ymh; - Real getMinT() const { return _minT; } - Real getMaxT() const { return _maxT; } + if (error) + { + x[deriv_index] = orig_x + 3 * h; + Real y3h = f(x)[func_index]; - VectorN operator()(Real x) const { return _func(x); } - }; - - ///////////////////// PARAMETRIC SURFACE ////////////////////////////////// + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f(x)[func_index]; - // TOD 0.7 - x i y preimenovati u u i w!!! - template - class ParametricSurface : public IParametricSurface - { - Real _minX; - Real _maxX; - Real _minY; - Real _maxY; - VectorN (*_func)(Real u, Real w); - - public: - ParametricSurface( VectorN (*inFunc)(Real u, Real w) ) : _func(inFunc), _minX(Constants::NegativeInf), _maxX(Constants::PositiveInf), _minY(Constants::NegativeInf), _maxY(Constants::PositiveInf) {} - ParametricSurface( VectorN (*inFunc)(Real u, Real w), Real minX, Real maxX, Real minY, Real maxY ) : _func(inFunc), _minX(minX), _maxX(maxX), _minY(minY), _maxY(maxY) {} - - VectorN operator()(Real u, Real w) const { return _func(u,w); } + *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); + *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } - virtual Real getMinX() const { return _minX; } - virtual Real getMaxX() const { return _maxX; } - virtual Real getMinY() const { return _minY; } - virtual Real getMaxY() const { return _maxY; } + template + static VectorN NDer4PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, VectorN* error = nullptr) + { + return NDer4PartialByAll(f, func_index, point, NDer4_h, error); + } - // TODO - double getStartY(double x) const; // ako surface patch nije kvadratni - }; + template + static VectorN NDer4PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - // imati cemo i surface Discrete, kreiran od triangles? + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer4Partial(f, func_index, i, point, h, &(*error)[i]); + else + ret[i] = NDer4Partial(f, func_index, i, point, h); + } - template - class ParametricSurfaceFromStdFunc : public IParametricSurface - { - Real _minX; - Real _maxX; - Real _minY; - Real _maxY; - std::function(Real u, Real w)> _func; - public: - ParametricSurfaceFromStdFunc(std::function(Real u, Real w)> &inFunc) : _func(inFunc), _minX(Constants::NegativeInf), _maxX(Constants::PositiveInf), _minY(Constants::NegativeInf), _maxY(Constants::PositiveInf) {} - ParametricSurfaceFromStdFunc(std::function(Real u, Real w)> &inFunc, Real minX, Real maxX, Real minY, Real maxY) : _func(inFunc), _minX(minX), _maxX(maxX), _minY(minY), _maxY(maxY) {} - - VectorN operator()(Real u, Real w) const { return _func(u,w); } - - virtual Real getMinX() const { return _minX; } - virtual Real getMaxX() const { return _maxX; } - virtual Real getMinY() const { return _minY; } - virtual Real getMaxY() const { return _maxY; } - }; -} // end namespace + return ret; + } -/////////////////////////// ./include/core/FunctionHelpers.h /////////////////////////// + template + static MatrixNM NDer4PartialAllByAll(const IVectorFunction& f, const VectorN& point, MatrixNM* error = nullptr) + { + return NDer4PartialAllByAll(f, point, NDer4_h, error); + } + template + static MatrixNM NDer4PartialAllByAll(const IVectorFunction& f, const VectorN& point, Real h, MatrixNM* error = nullptr) + { + MatrixNM ret; + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + { + if (error) + ret(i, j) = NDer4Partial(f, i, j, point, h, &((*error)(i, j))); + else + ret(i, j) = NDer4Partial(f, i, j, point, h); + } + return ret; + } -namespace MML -{ + ////////////////////////// TensorField ////////////////////////// + template + static Real NDer4Partial(const ITensorField2& f, int i, int j, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer4Partial(f, i, j, deriv_index, point, NDer4_h, error); + } - static RealPolynom TaylorSeries2(IRealFunction &f, Real a) - { - RealPolynom ret(2); + template + static Real NDer4Partial(const ITensorField2& f, int i, int j, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - Real val = f(a); - Real coef1 = Derivation::NDer6(f, a); - Real coef2 = Derivation::NSecDer4(f, a) / 2.0; + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f.Component(i, j, x); - ret[0] = val - coef1 * a + coef2 * POW2(a); - ret[1] = coef1 - 2.0 * coef2 * a; - ret[2] = coef2; + x[deriv_index] = orig_x - h; + Real ymh = f.Component(i, j, x); - return ret; - } - static RealPolynom TaylorSeries3(IRealFunction &f, Real a) - { - RealPolynom ret(3); + x[deriv_index] = orig_x + 2 * h; + Real y2h = f.Component(i, j, x); - Real val = f(a); - Real coef1 = Derivation::NDer6(f, a); - Real coef2 = Derivation::NSecDer4(f, a) / 2.0; - Real coef3 = Derivation::NThirdDer2(f, a) / 6.0; + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f.Component(i, j, x); - ret[0] = val - coef1 * a + coef2 * POW2(a) - coef3 * pow(a, 3); - ret[1] = coef1 - 2.0 * coef2 * a + 3.0 * coef3 * POW2(a); - ret[2] = coef2 - 3.0 * coef3 * a; - ret[3] = coef3; + Real y2 = ym2h - y2h; + Real y1 = yh - ymh; - return ret; - } + if (error) + { + x[deriv_index] = orig_x + 3 * h; + Real y3h = f.Component(i, j, x); - ///////////////////// FUNCTION HELPERS ////////////////////////////////// - class RealFuncDerived1 : public IRealFunction - { - IRealFunction &_f1; - Real _deriv_step; - public: - RealFuncDerived1(IRealFunction &f1) : _f1(f1), _deriv_step(0.0) {} - RealFuncDerived1(IRealFunction &f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} - - Real operator()(Real x) const { - if( _deriv_step != 0.0 ) - return Derivation::NDer1(_f1, x, _deriv_step); - else - return Derivation::NDer1(_f1, x); - } - }; - class RealFuncDerived2 : public IRealFunction - { - IRealFunction &_f1; - Real _deriv_step; - public: - RealFuncDerived2(IRealFunction &f1) : _f1(f1), _deriv_step(0.0) {} - RealFuncDerived2(IRealFunction &f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} - - Real operator()(Real x) const { - if( _deriv_step != 0.0 ) - return Derivation::NDer2(_f1, x, _deriv_step); - else - return Derivation::NDer2(_f1, x); - } - }; - class RealFuncDerived4 : public IRealFunction - { - IRealFunction &_f1; - Real _deriv_step; - public: - RealFuncDerived4(IRealFunction &f1) : _f1(f1), _deriv_step(0.0) {} - RealFuncDerived4(IRealFunction &f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} - - Real operator()(Real x) const { - if( _deriv_step != 0.0 ) - return Derivation::NDer4(_f1, x, _deriv_step); - else - return Derivation::NDer4(_f1, x); - } - }; - class RealFuncDerived6 : public IRealFunction - { - IRealFunction &_f1; - Real _deriv_step; - public: - RealFuncDerived6(IRealFunction &f1) : _f1(f1), _deriv_step(0.0) {} - RealFuncDerived6(IRealFunction &f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} - - Real operator()(Real x) const { - if( _deriv_step != 0.0 ) - return Derivation::NDer6(_f1, x, _deriv_step); - else - return Derivation::NDer6(_f1, x); - } - }; - class RealFuncDerived8 : public IRealFunction - { - IRealFunction &_f1; - Real _deriv_step; - public: - RealFuncDerived8(IRealFunction &f1) : _f1(f1), _deriv_step(0.0) {} - RealFuncDerived8(IRealFunction &f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} - - Real operator()(Real x) const { - if( _deriv_step != 0.0 ) - return Derivation::NDer8(_f1, x, _deriv_step); - else - return Derivation::NDer8(_f1, x); - } - }; + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f.Component(i, j, x); - // TODO - integrate helper - ima i x1, a x2 je parametar funkcije + *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); + *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } - class RealFuncDiffHelper : public IRealFunction - { - IRealFunction &_f1, &_f2; - public: - RealFuncDiffHelper(IRealFunction &f1, IRealFunction &f2) : _f1(f1), _f2(f2) {} - Real operator()(Real x) const { return _f1(x) - _f2(x); } - }; - - class RealFuncDiffAbsHelper : public IRealFunction - { - IRealFunction &_f1, &_f2; - public: - RealFuncDiffAbsHelper(IRealFunction &f1, IRealFunction &f2) : _f1(f1), _f2(f2) {} - Real operator()(Real x) const { return std::abs(_f1(x) - _f2(x)); } - }; + template + static Real NDer4Partial(const ITensorField3& f, int i, int j, int k, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer4Partial(f, i, j, k, deriv_index, point, NDer4_h, error); + } - class RealFuncDiffSqrHelper : public IRealFunction - { - IRealFunction &_f1, &_f2; - public: - RealFuncDiffSqrHelper(IRealFunction &f1, IRealFunction &f2) : _f1(f1), _f2(f2) {} - Real operator()(Real x) const { return POW2(_f1(x) - _f2(x)); } - }; + template + static Real NDer4Partial(const ITensorField3& f, int i, int j, int k, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; -} // end namespace + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f.Component(i, j, k, x); -/////////////////////////// ./include/core/InterpolatedFunction.h /////////////////////////// + x[deriv_index] = orig_x - h; + Real ymh = f.Component(i, j, k, x); + x[deriv_index] = orig_x + 2 * h; + Real y2h = f.Component(i, j, k, x); + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f.Component(i, j, k, x); + Real y2 = ym2h - y2h; + Real y1 = yh - ymh; -namespace MML -{ - class RealFunctionInterpolated : public IRealFunction - { - double _xmin, _xmax; + if (error) + { + x[deriv_index] = orig_x + 3 * h; + Real y3h = f.Component(i, j, k, x); - public: - Real virtual rawinterp(int jlo, Real x) const = 0; - }; + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f.Component(i, j, k, x); - class RealFunctionInterpolatedBase : public RealFunctionInterpolated - { - // TODO - HIGH, LAKO, sve privatizirati! - public: - mutable int jsav, cor; + *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); + *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } - int n, mm, dj; - Vector xx, yy; - RealFunctionInterpolatedBase(const Vector &x, const Vector &y, int m) - : n((int)x.size()), mm(m), jsav(0), cor(0), xx(x), yy(y) - { - dj = std::min(1,(int)pow((Real)n,0.25)); - } + template + static Real NDer4Partial(const ITensorField4& f, int i, int j, int k, int l, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer4Partial(f, i, j, k, l, deriv_index, point, NDer4_h, error); + } - Real operator()(Real x) const - { - int jlo = cor ? hunt(x) : locate(x); - return rawinterp(jlo,x); - } - - // Given a value x, return a value j such that x is (insofar as possible) centered in the subrange - // xx[j..j+mm-1], where xx is the stored pointer. The values in xx must be monotonic, either - // increasing or decreasing. The returned value is not less than 0, nor greater than n-1. - int locate(const Real x) const - { - int ju,jm,jl; - if (n < 2 || mm < 2 || mm > n) throw("locate size error"); - bool ascnd=(xx[n-1] >= xx[0]); - jl=0; - ju=n-1; - while (ju-jl > 1) { - jm = (ju+jl) >> 1; - if (x >= xx[jm] == ascnd) - jl=jm; - else - ju=jm; - } - cor = std::abs(jl-jsav) > dj ? 0 : 1; - jsav = jl; - return std::max(0,std::min(n-mm,jl-((mm-2)>>1))); - } + template + static Real NDer4Partial(const ITensorField4& f, int i, int j, int k, int l, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - // Given a value x, return a value j such that x is (insofar as possible) centered in the subrange - // xx[j..j+mm-1], where xx is the stored pointer. The values in xx must be monotonic, either - // increasing or decreasing. The returned value is not less than 0, nor greater than n-1. - int hunt(const Real x) const - { - int jl=jsav, jm, ju, inc=1; - if (n < 2 || mm < 2 || mm > n) throw("hunt size error"); - bool ascnd=(xx[n-1] >= xx[0]); - if (jl < 0 || jl > n-1) { - jl=0; - ju=n-1; - } else { - if (x >= xx[jl] == ascnd) { - for (;;) { - ju = jl + inc; - if (ju >= n-1) { ju = n-1; break;} - else if (x < xx[ju] == ascnd) break; - else { - jl = ju; - inc += inc; - } - } - } else { - ju = jl; - for (;;) { - jl = jl - inc; - if (jl <= 0) { jl = 0; break;} - else if (x >= xx[jl] == ascnd) break; - else { - ju = jl; - inc += inc; - } - } - } - } - while (ju-jl > 1) { - jm = (ju+jl) >> 1; - if (x >= xx[jm] == ascnd) - jl=jm; - else - ju=jm; - } - cor = std::abs(jl-jsav) > dj ? 0 : 1; - jsav = jl; - return std::max(0,std::min(n-mm,jl-((mm-2)>>1))); - } - }; - - struct LinearInterpRealFunc : RealFunctionInterpolatedBase - { - LinearInterpRealFunc(Vector &xv, Vector &yv) : RealFunctionInterpolatedBase(xv,yv,2) {} + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f.Component(i, j, k, l, x); - Real rawinterp(int j, Real x) const { - if (xx[j]==xx[j+1]) return yy[j]; - else return yy[j] + ((x-xx[j])/(xx[j+1]-xx[j]))*(yy[j+1]-yy[j]); - } - }; + x[deriv_index] = orig_x - h; + Real ymh = f.Component(i, j, k, l, x); - // Polynomial interpolation object. Construct with x and y vectors, and the number M of points - // to be used locally (polynomial order plus one), then call interp for interpolated values. - struct PolynomInterpRealFunc : RealFunctionInterpolatedBase - { - mutable Real dy; + x[deriv_index] = orig_x + 2 * h; + Real y2h = f.Component(i, j, k, l, x); - // The user interface to Poly_interp is virtually the same as for Linear_interp - // (end of ÷3.1), except that an additional argument in the constructor sets M, the number of points used (the order plus one). - PolynomInterpRealFunc(Vector &xv, Vector &yv, int m) : RealFunctionInterpolatedBase(xv,yv,m), dy(0.) - {} - - // Given a value x, and using pointers to data xx and yy, this routine returns an interpolated - // value y, and stores an error estimate dy. The returned value is obtained by mm-point polynomial - // interpolation on the subrange xx[jl..jl+mm-1]. - Real rawinterp(int jl, Real x) const - { - int i,m,ns=0; - Real y,den,dif,dift,ho,hp,w; - const Real *xa = &xx[jl]; - const Real *ya = &yy[jl]; - Vector c(mm),d(mm); - dif=std::abs(x-xa[0]); - for (i=0;i &xv, Vector &yv, int m) : RealFunctionInterpolatedBase(xv,yv,m), dy(0.) - {} - - // Given a value x, and using pointers to data xx and yy, this routine returns an interpolated value - // y, and stores an error estimate dy. The returned value is obtained by mm-point diagonal rational - // function interpolation on the subrange xx[jl..jl+mm-1]. - Real rawinterp(int jl, Real x) const - { - const Real TINY=1.0e-99; - int m,i,ns=0; - Real y,w,t,hh,h,dd; - const Real *xa = &xx[jl], *ya = &yy[jl]; - Vector c(mm),d(mm); - hh=std::abs(x-xa[0]); - for (i=0;i y2; - - SplineInterpRealFunc(Vector &xv, Vector &yv, Real yp1=1.e99, Real ypn=1.e99) - : RealFunctionInterpolatedBase(xv,yv,2), y2(xv.size()) - { - sety2(&xv[0],&yv[0],yp1,ypn); - } + if (error) + { + x[deriv_index] = orig_x + 3 * h; + Real y3h = f.Component(i, j, k, l, x); - // This routine stores an array y2[0..n-1] with second derivatives of the interpolating function - // at the tabulated points pointed to by xv, using function values pointed to by yv. If yp1 and/or - // ypn are equal to 1 1099 or larger, the routine is signaled to set the corresponding boundary - // condition for a natural spline, with zero second derivative on that boundary; otherwise, they are - // the values of the first derivatives at the endpoints. - void sety2(const Real *xv, const Real *yv, Real yp1, Real ypn) - { - int i,k; - Real p,qn,sig,un; - int n=(int) y2.size(); - Vector u(n-1); - if (yp1 > 0.99e99) - y2[0]=u[0]=0.0; - else { - y2[0] = -0.5; - u[0]=(3.0/(xv[1]-xv[0]))*((yv[1]-yv[0])/(xv[1]-xv[0])-yp1); - } - for (i=1;i 0.99e99) - qn=un=0.0; - else { - qn=0.5; - un=(3.0/(xv[n-1]-xv[n-2]))*(ypn-(yv[n-1]-yv[n-2])/(xv[n-1]-xv[n-2])); - } - y2[n-1]=(un-qn*u[n-2])/(qn*y2[n-2]+1.0); - for (k=n-2;k>=0;k--) - y2[k]=y2[k]*y2[k+1]+u[k]; - } + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f.Component(i, j, k, l, x); - // Given a value x, and using pointers to data xx and yy, and the stored vector of second derivatives - // y2, this routine returns the cubic spline interpolated value y. - Real rawinterp(int jl, Real x) const - { - int klo=jl,khi=jl+1; - Real y,h,b,a; - h=xx[khi]-xx[klo]; - if (h == 0.0) throw("Bad input to routine splint"); - a=(xx[khi]-x)/h; - b=(x-xx[klo])/h; - y=a*yy[klo]+b*yy[khi]+((a*a*a-a)*y2[klo] - +(b*b*b-b)*y2[khi])*(h*h)/6.0; - return y; - } - }; + *error = std::abs((y3h - ym3h) / 2 + 2 * (ym2h - y2h) + 5 * (yh - ymh) / 2) / (30 * h); + *error += Constants::Epsilon * (std::abs(y2h) + std::abs(ym2h) + 8 * (std::abs(ymh) + std::abs(yh))) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } - // Barycentric rational interpolation object. After constructing the object, call interp for interpolated values. Note that no error estimate dy is calculated. - struct BaryRatInterpRealFunc : RealFunctionInterpolatedBase - { - Vector w; - int d; + ///////////////////////// ParametricCurve ///////////////////////// + template + static VectorN NDer4(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NDer4(f, t, NDer4_h, error); + } - // Constructor arguments are x and y vectors of length n, and order d of desired approximation. - BaryRatInterpRealFunc(Vector &xv, Vector &yv, int dd) - : RealFunctionInterpolatedBase(xv,yv, (int) xv.size()), w(n), d(dd) - { - if (n<=d) throw("d too large for number of points in BaryRat_interp"); - for (int k=0;k= n-d ? n-d-1 : k; - Real temp = imin & 1 ? -1.0 : 1.0; - Real sum=0.0; - for (int i=imin;i<=imax;i++) { - int jmax=std::min(i+d,n-1); - Real term=1.0; - for (int j=i;j<=jmax;j++) { - if (j==k) continue; - term *= (xx[k]-xx[j]); - } - term=temp/term; - temp=-temp; - sum += term; - } - w[k]=sum; - } - } + template + static VectorN NDer4(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = f(t + h); + VectorN ymh = f(t - h); + VectorN y2h = f(t + 2 * h); + VectorN ym2h = f(t - 2 * h); - // Use equation (NR 3.4.9) to compute the barycentric rational interpolant. Note that jl is not used - // since the approximation is global; it is included only for compatibility with Base_interp - Real rawinterp(int jl, Real x) const - { - Real num=0,den=0; - for (int i=0;i y2 = ym2h - y2h; + VectorN y1 = yh - ymh; - // No need to invoke hunt or locate since the interpolation is global, so override interp to simply - // call rawinterp directly with a dummy value of jl. - Real interp(Real x) { - return rawinterp(1,x); - } - }; + if (error) + { + VectorN y3h = f(t + 3 * h); + VectorN ym3h = f(t - 3 * h); - struct BilinInterpScalarFunction2D : public IScalarFunction<2> - { - int m,n; - const Matrix &y; - LinearInterpRealFunc x1terp, x2terp; - - BilinInterpScalarFunction2D(Vector &x1v, Vector &x2v, Matrix &ym) - : m((int) x1v.size()), n( (int) x2v.size()), y(ym), - x1terp(x1v,x1v), x2terp(x2v,x2v) {} - - Real interp(Real x1p, Real x2p) const { - int i,j; - Real yy, t, u; - i = x1terp.cor ? x1terp.hunt(x1p) : x1terp.locate(x1p); - j = x2terp.cor ? x2terp.hunt(x2p) : x2terp.locate(x2p); - t = (x1p-x1terp.xx[i])/(x1terp.xx[i+1]-x1terp.xx[i]); - u = (x2p-x2terp.xx[j])/(x2terp.xx[j+1]-x2terp.xx[j]); - yy = (1.-t)*(1.-u)*y[i][j] + t*(1.-u)*y[i+1][j] - + (1.-t)*u*y[i][j+1] + t*u*y[i+1][j+1]; - return yy; - } + *error = std::abs((y3h - ym3h).NormL2() / 2 + 2 * (ym2h - y2h).NormL2() + 5 * (yh - ymh).NormL2() / 2) / (30 * h); + *error += Constants::Epsilon * (y2h.NormL2() + ym2h.NormL2() + 8 * (ymh.NormL2() + yh.NormL2())) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } - Real operator()(const VectorN &x) const - { - return interp(x[0], x[1]); - } - }; - - struct PolynomInterpScalarFunction2D : public IScalarFunction<2> - { - int m,n,mm,nn; - const Matrix &y; - - mutable Vector yv; - mutable PolynomInterpRealFunc x1terp, x2terp; - - PolynomInterpScalarFunction2D(Vector &x1v, Vector &x2v, Matrix &ym, - int mp, int np) : m((int) x1v.size()), n( (int) x2v.size()), - mm(mp), nn(np), y(ym), yv(m), - x1terp(x1v,yv,mm), x2terp(x2v,x2v,nn) {} - - Real interp(Real x1p, Real x2p) const { - int i,j,k; - i = x1terp.cor ? x1terp.hunt(x1p) : x1terp.locate(x1p); - j = x2terp.cor ? x2terp.hunt(x2p) : x2terp.locate(x2p); - for (k=i;k + static VectorN NSecDer4(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NSecDer4(f, t, NDer4_h, error); + } - Real operator()(const VectorN &x) const - { - return interp(x[0], x[1]); - } - }; - - struct SplineInterpScalarFunction2D : public IScalarFunction<2> - { - int m,n; - const Matrix &y; - - Vector &x1; - mutable Vector yv; - - // TODO 0.9 - HIGH, ovo popraviti - Vector srp; - std::vector> _yVals; - - SplineInterpScalarFunction2D(Vector &x1v, Vector &x2v, Matrix &ym) - : m((int) x1v.size()), n((int) x2v.size()), y(ym), yv(m), x1(x1v), srp(m) - { - _yVals.resize(m); - for (int i=0;i + static VectorN NSecDer4(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = NDer6(f, t + h, error); + VectorN ymh = NDer6(f, t - h, error); + VectorN y2h = NDer6(f, t + 2 * h, error); + VectorN ym2h = NDer6(f, t - 2 * h, error); - ~SplineInterpScalarFunction2D(){ - for (int i=0;i y2 = ym2h - y2h; + VectorN y1 = yh - ymh; - Real interp(Real x1p, Real x2p) const - { - for (int i=0;i y3h = NDer6(f, t + 3 * h, error); + VectorN ym3h = NDer6(f, t - 3 * h, error); - Real operator()(const VectorN &x) const - { - return interp(x[0], x[1]); - } - }; - - class InterpolatedScalarFunction3D : public IScalarFunction<3> - { - public: - InterpolatedScalarFunction3D() {} + *error = std::abs((y3h - ym3h).NormL2() / 2 + 2 * (ym2h - y2h).NormL2() + 5 * (yh - ymh).NormL2() / 2) / (30 * h); + *error += Constants::Epsilon * (y2h.NormL2() + ym2h.NormL2() + 8 * (ymh.NormL2() + yh.NormL2())) / (12 * h); + } + return (y2 + 8 * y1) / (12 * h); + } - Real operator()(const VectorN &x) const { return 0.0; } - virtual Real operator()(Real u, Real w, Real z) - { - VectorN coord{u,w,z}; - // TODO 0.9 - BIG - return operator()(coord); - } - }; - // class ScalarFunction2Interpolated : public IScalarFunction<2> - // { - // Real (*_func)(const VectorN &); - // public: - // ScalarFunction2Interpolated( Real (*inFunc)(const VectorN &) ) : _func(inFunc) {} + template + static VectorN NThirdDer4(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NThirdDer4(f, t, NDer4_h, error); + } - // Real operator()(const VectorN &x) const { return _func(x); } - // }; + template + static VectorN NThirdDer4(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = NSecDer6(f, t + h, error); + VectorN ymh = NSecDer6(f, t - h, error); + VectorN y2h = NSecDer6(f, t + 2 * h, error); + VectorN ym2h = NSecDer6(f, t - 2 * h, error); - // class ScalarFunction3Interpolated : public IScalarFunction<3> - // { - // Real (*_func)(const VectorN &); - // public: - // ScalarFunction3Interpolated( Real (*inFunc)(const VectorN &) ) : _func(inFunc) {} + VectorN y2 = ym2h - y2h; + VectorN y1 = yh - ymh; - // Real operator()(const VectorN &x) const { return _func(x); } - // }; + if (error) + { + VectorN y3h = NSecDer6(f, t + 3 * h, error); + VectorN ym3h = NSecDer6(f, t - 3 * h, error); - // Object for interpolating a curve specified by n points in dim dimensions. - template - struct SplineInterpParametricCurve : public IParametricCurve - { - int dim, n, in; - bool cls; - Matrix pts; - Vector s; - Vector ans; - std::vector srp; - - // Constructor. The n dim matrix ptsin inputs the data points. Input close as 0 for - // an open curve, 1 for a closed curve. (For a closed curve, the last data point should not - // duplicate the first — the algorithm will connect them.) - SplineInterpParametricCurve(const Matrix &ptsin, bool close=0) - : n(ptsin.RowNum()), dim(ptsin.ColNum()), in(close ? 2*n : n), - cls(close), pts(dim,in), s(in), ans(dim), srp(dim) - { - int i,ii,im,j,ofs; - Real ss,soff,db,de; - ofs = close ? n/2 : 0; - s[0] = 0.; - for (i=0;i0) { - s[i] = s[i-1] + rad(&ptsin[ii][0],&ptsin[im][0]); - if (s[i] == s[i-1]) throw("error in Curve_interp"); - // Consecutive points may not be identical. For a closed curve, the last data - // point should not duplicate the first. - } - } - ss = close ? s[ofs+n]-s[ofs] : s[n-1]-s[0]; - soff = s[ofs]; - for (i=0;i vec = pts.VectorFromRow(j); - srp[j] = new SplineInterpRealFunc(s,vec,db,de); - } - } - ~SplineInterpParametricCurve() { - for (int j=0;j &interp(Real t) const - { - VectorN ans; - - if (cls) - t = t - floor(t); - for (int j=0;j operator()(Real t) const - { - return interp(t); - } + ////////////////////////// RealFunction ////////////////////////// + static Real NDer6(const IRealFunction& f, Real x, Real* error = nullptr) + { + // Error bound ~eps^6/7 + // Error: h^6f^(7)(x)/140 + 5|f(x)|eps/h + return NDer6(f, x, NDer6_h, error); + } + static Real NDer6Left(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer6(f, x - 5 * NDer6_h, NDer6_h, error); } + static Real NDer6Right(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer6(f, x + 5 * NDer6_h, NDer6_h, error); } - // Utility for estimating the derivatives at the endpoints. x and y point to the abscissa and - // ordinate of the endpoint. If pm is C1, points to the right will be used (left endpoint); if it - // is -1, points to the left will be used (right endpoint). - Real fprime(Real *x, Real *y, int pm) { - Real s1 = x[0]-x[pm*1], s2 = x[0]-x[pm*2], s3 = x[0]-x[pm*3], - s12 = s1-s2, s13 = s1-s3, s23 = s2-s3; - return -(s1*s2/(s13*s23*s3))*y[pm*3]+(s1*s3/(s12*s2*s23))*y[pm*2] - -(s2*s3/(s1*s12*s13))*y[pm*1]+(1./s1+1./s2+1./s3)*y[0]; - } + static Real NDer6(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + const Real eps = (std::numeric_limits::epsilon)(); - Real rad(const Real *p1, const Real *p2) { - Real sum = 0.; - for (int i=0;i - class ParametricCurveInterpolated : public IParametricCurve - { - // TODO 0.9 - HIGH, verify - Real _minT; - Real _maxT; - std::shared_ptr> _xvals; - std::shared_ptr> _yvals; - - public: - ParametricCurveInterpolated() {} - ParametricCurveInterpolated(std::shared_ptr> xsave, std::shared_ptr> ysave) : _xvals(xsave), _yvals(ysave) {} - ParametricCurveInterpolated(int inPoints, Real *xsave, Real *ysave) - { - _minT = xsave[0]; - _maxT = xsave[inPoints-1]; + Real yh = f(x + h); + Real ymh = f(x - h); + Real y1 = yh - ymh; + Real y2 = f(x - 2 * h) - f(x + 2 * h); + Real y3 = f(x + 3 * h) - f(x - 3 * h); - _xvals = std::make_shared>(inPoints); - _yvals = std::make_shared>(N, inPoints); + if (error) + { + // Mathematica code to generate fd scheme for 7th derivative: + // Sum[(-1)^i*Binomial[7, i]*(f[x+(3-i)*h] + f[x+(4-i)*h])/2, {i, 0, 7}] + // Mathematica to demonstrate that this is a finite difference formula for 7th derivative: + // Series[(f[x+4*h]-f[x-4*h] + 6*(f[x-3*h] - f[x+3*h]) + 14*(f[x-h] - f[x+h] + f[x+2*h] - f[x-2*h]))/2, {h, 0, 15}] + Real y7 = (f(x + 4 * h) - f(x - 4 * h) - 6 * y3 - 14 * y1 - 14 * y2) / 2; - for(int i = 0; i < inPoints; i++) - { - (*_xvals)[i] = xsave[i]; - for(int j = 0; j < N; j++) - (*_yvals)(j,i) = ysave[i*N + j]; - } - } - ParametricCurveInterpolated(const Vector &xsave, const Matrix &ysave) - { - _minT = xsave[0]; - _maxT = xsave[xsave.size()-1]; + *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } + static Real NDer6Left(const IRealFunction& f, Real x, Real h, Real* error = nullptr) { return NDer6(f, x - 5 * h, h, error); } + static Real NDer6Right(const IRealFunction& f, Real x, Real h, Real* error = nullptr) { return NDer6(f, x + 5 * h, h, error); } - _xvals = std::make_shared>(xsave); - _yvals = std::make_shared>(ysave); - } - - Real getMinT() const { return _minT; } - Real getMaxT() const { return _maxT; } + static Real NSecDer6(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NSecDer6(f, x, NDer6_h, error); + } - virtual VectorN operator()(Real x) const { return VectorN{0}; } - }; + static Real NSecDer6(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = NDer8(f, x + h, error); + Real ymh = NDer8(f, x - h, error); + Real y1 = yh - ymh; + Real y2 = NDer8(f, x - 2 * h, error) - NDer8(f, x + 2 * h, error); + Real y3 = NDer8(f, x + 3 * h, error) - NDer8(f, x - 3 * h, error); - template - class InterpolatedSurface : public IParametricSurface - { - public: - InterpolatedSurface() {} + if (error) + { + Real y7 = (NDer8(f, x + 4 * h, error) - NDer8(f, x - 4 * h, error) - 6 * y3 - 14 * y1 - 14 * y2) / 2; - VectorN operator()(const VectorN &x) const { return VectorN{}; } - }; -} + *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } -/////////////////////////// ./include/core/MetricTensor.h /////////////////////////// + static Real NThirdDer6(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NThirdDer6(f, x, NDer6_h, error); + } + static Real NThirdDer6(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = NSecDer8(f, x + h, error); + Real ymh = NSecDer8(f, x - h, error); + Real y1 = yh - ymh; + Real y2 = NSecDer8(f, x - 2 * h, error) - NSecDer8(f, x + 2 * h, error); + Real y3 = NSecDer8(f, x + 3 * h, error) - NSecDer8(f, x - 3 * h, error); + if (error) + { + Real y7 = (NSecDer8(f, x + 4 * h, error) - NSecDer8(f, x - 4 * h, error) - 6 * y3 - 14 * y1 - 14 * y2) / 2; -namespace MML -{ - // TODO - MED, SREDNJE, dodati metricke tenzore za specijalnu relativnost (Minkowski varijante) - template - class MetricTensorField : public ITensorField2 - { - public: - MetricTensorField() : ITensorField2(2,0) { } - MetricTensorField(int numContra, int numCo) : ITensorField2(numContra,numCo) { } - - Tensor2 operator()(const VectorN &pos) const - { - Tensor2 val(this->getNumContravar(), this->getNumCovar()); - for( int i=0; iComponent(i,j, pos); - - return val; - } + *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } - Real GetChristoffelSymbolSecondKind(int i, int j, int k, const VectorN &pos) - { - MetricTensorField &g = *this; + ////////////////////////// ScalarFunction ////////////////////////// + template + static Real NDer6Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer6Partial(f, deriv_index, point, NDer6_h, error); + } - Real gamma_ijk = 0.0; - for(int l=0; l(g, i, l, j, pos, nullptr); - Real coef2 = Derivation::DerivePartial(g, j, l, i, pos, nullptr); - Real coef3 = Derivation::DerivePartial(g, i, j, l, pos, nullptr); + template + static Real NDer6Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - gamma_ijk += 0.5 * g.Component(l,k) * (coef1 + coef2 - coef3); - } - return gamma_ijk; - } - // TODO 0.9 - GetChristoffellSymbolFirstKind - }; + VectorN x{ point }; + x[deriv_index] = orig_x + h; + Real yh = f(x); - template - class MetricTensorCartesian: public MetricTensorField - { - public: - Real Component(int i, int j, const VectorN &pos) const - { - if( i == j ) - return 1.0; - else - return 0.0; - } - }; + x[deriv_index] = orig_x - h; + Real ymh = f(x); - class MetricTensorSpherical: public MetricTensorField<3> - { - public: - MetricTensorSpherical() : MetricTensorField<3>(0,2) { } - - virtual Real Component(int i, int j, const VectorN &pos) const - { - if( i == 0 && j == 0 ) - return 1.0; - else if( i == 1 && j == 1 ) - return pos[0] * pos[0]; - else if( i == 2 && j == 2 ) - return pos[0] * pos[0] * sin(pos[1]) * sin(pos[1]); - else - return 0.0; - } - }; - class MetricTensorSphericalContravar: public MetricTensorField<3> - { - public: - MetricTensorSphericalContravar() : MetricTensorField<3>(2,0) { } - - virtual Real Component(int i, int j, const VectorN &pos) const - { - if( i == 0 && j == 0 ) - return 1.0; - else if( i == 1 && j == 1 ) - return 1 / pos[0] * pos[0]; - else if( i == 2 && j == 2 ) - return 1 / (pos[0] * pos[0] * sin(pos[1]) * sin(pos[1])); - else - return 0.0; - } - }; - class MetricTensorCylindrical: public MetricTensorField<3> - { - public: - virtual Real Component(int i, int j, const VectorN &pos) const - { - if( i == 0 && j == 0 ) - return 1.0; - else if( i == 1 && j == 1 ) - return pos[0] * pos[0]; - else if( i == 2 && j == 2 ) - return 1.0; - else - return 0.0; - } - }; + x[deriv_index] = orig_x + 2 * h; + Real y2h = f(x); - template - class MetricTensorFromCoordTransf: public MetricTensorField - { - ICoordTransfWithInverse &_coordTransf; + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f(x); - public: - MetricTensorFromCoordTransf(ICoordTransfWithInverse &inTransf) : _coordTransf(inTransf) - { } + x[deriv_index] = orig_x + 3 * h; + Real y3h = f(x); - virtual Real Component(int i, int j, const VectorN &pos) const - { - Real g_ij = 0.0; - for(int k=0; k(_coordTransf.coordTransfFunc(k), i, pos, nullptr) * Derivation::DerivePartial(_coordTransf.coordTransfFunc(k), j, pos, nullptr); - } - return g_ij; - } - }; -} -/////////////////////////// ./include/core/CoordTransf.h /////////////////////////// + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f(x); + Real y1 = yh - ymh; + Real y2 = ym2h - y2h; + Real y3 = y3h - ym3h; + if (error) + { + x[deriv_index] = orig_x + 4 * h; + Real y4h = f(x); + x[deriv_index] = orig_x - 4 * h; + Real ym4h = f(x); -namespace MML -{ - // ovdje dodati translational, rotational, galilean, lorentzian transf - // SVE su to transformacije koordinata - template - class CoordTransf : public virtual ICoordTransf - { - public: - virtual VectorTo getCovariantBasisVec(int ind, const VectorFrom &pos) - { - VectorTo ret; + Real y7 = (y4h - ym4h - 6 * y3 - 14 * y1 - 14 * y2) / 2; - for( int i=0; icoordTransfFunc(i), ind, pos); - - return ret; - } + *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } - virtual VectorTo getUnitVector(int ind, const VectorFrom &pos) - { - return getCovariantBasisVec(ind, pos).GetAsUnitVectorAtPos(pos); - } + template + static Real NSecDer6Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real* error = nullptr) + { + return NSecDer6Partial(f, der_ind1, der_ind2, point, NDer6_h, error); + } - MatrixNM jacobian(const VectorN &x) - { - return Jacobian::calc(*this, x); - } + template + static Real NSecDer6Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[der_ind2]; + auto x_eval_pos = point; - VectorTo transfVecContravariant(const VectorFrom &vec, const VectorFrom &pos) - { - VectorFrom ret; - for( int i=0; icoordTransfFunc(i), j, pos, 1e-8) * vec[j]; - } - return ret; - } + x_eval_pos[der_ind2] = orig_x + h; + Real yh = NDer6Partial(f, der_ind1, x_eval_pos, error); - VectorFrom transfInverseVecCovariant(const VectorTo &vec, const VectorFrom &pos) - { - VectorFrom ret; - for( int i=0; icoordTransfFunc(j), i, pos, 1e-8) * vec[j]; - } - return ret; - } - }; + x_eval_pos[der_ind2] = orig_x - h; + Real ymh = NDer6Partial(f, der_ind1, x_eval_pos, error); - template - class CoordTransfWithInverse : public virtual CoordTransf, - public virtual ICoordTransfWithInverse - { - public: - virtual VectorFrom getContravariantBasisVec(int ind, const VectorTo &pos) - { - VectorFrom ret; + x_eval_pos[der_ind2] = orig_x + 2 * h; + Real y2h = NDer6Partial(f, der_ind1, x_eval_pos, error); - for( int i=0; iinverseCoordTransfFunc(ind), i, pos); - - return ret; - } + x_eval_pos[der_ind2] = orig_x - 2 * h; + Real ym2h = NDer6Partial(f, der_ind1, x_eval_pos, error); - virtual VectorFrom getUnitVectorInverse(int ind, const VectorTo &pos) - { - return getContravariantBasisVec(ind, pos).GetAsUnitVectorAtPos(pos); - } + x_eval_pos[der_ind2] = orig_x + 3 * h; + Real y3h = NDer6Partial(f, der_ind1, x_eval_pos, error); - VectorTo transfVecCovariant(const VectorFrom &vec, const VectorTo &pos) - { - VectorTo ret; - for( int i=0; iinverseCoordTransfFunc(j), i, pos) * vec[j]; - } + x_eval_pos[der_ind2] = orig_x - 3 * h; + Real ym3h = NDer6Partial(f, der_ind1, x_eval_pos, error); - return ret; - } + Real y1 = yh - ymh; + Real y2 = ym2h - y2h; + Real y3 = y3h - ym3h; - VectorFrom transfInverseVecContravariant(const VectorTo &vec, const VectorTo &pos) - { - VectorFrom ret; - for( int i=0; iinverseCoordTransfFunc(i), j, pos, 1e-8) * vec[j]; - } + if (error) + { + x_eval_pos[der_ind2] = orig_x + 4 * h; + Real y4h = NDer6Partial(f, der_ind1, x_eval_pos, error); - return ret; - } + x_eval_pos[der_ind2] = orig_x - 4 * h; + Real ym4h = NDer6Partial(f, der_ind1, x_eval_pos, error); - Tensor2 transfTensor2(const Tensor2 &tensor, const VectorFrom &pos) - { - Tensor2 ret(tensor.NumContravar(), tensor.NumCovar()); - - for( int i=0; icoordTransfFunc(i), k, pos); - else - coef1 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(k), i, pos); - - if( tensor._isContravar[1] ) - coef2 = Derivation::NDer1Partial(this->coordTransfFunc(j), l, pos); - else - coef2 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(l), j, pos); - - ret.Component(i,j) += coef1 * coef2 * tensor.Component(k,l); - } - } - - return ret; - } + Real y7 = (y4h - ym4h - 6 * y3 - 14 * y1 - 14 * y2) / 2; - Tensor3 transfTensor3(const Tensor3 &tensor, const VectorFrom &pos) - { - Tensor3 ret(tensor.NumContravar(), tensor.NumCovar()); - - for( int i=0; icoordTransfFunc(i), l, pos); - else - coef1 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(l), i, pos); - - if( tensor._isContravar[1] ) - coef2 = Derivation::NDer1Partial(this->coordTransfFunc(j), m, pos); - else - coef2 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(m), j, pos); - - if( tensor._isContravar[2] ) - coef3 = Derivation::NDer1Partial(this->coordTransfFunc(k), n, pos); - else - coef3 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(n), k, pos); - - ret.Component(i, j, k) += coef1 * coef2 * coef3 * tensor.Component(l,m,n); - } - } - - return ret; - } - - Tensor4 transfTensor4(const Tensor4 &tensor, const VectorFrom &pos) - { - Tensor4 ret(tensor.NumContravar(), tensor.NumCovar()); - - for( int i=0; icoordTransfFunc(i), m, pos); - else - coef1 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(m), i, pos); - - if( tensor._isContravar[1] ) - coef2 = Derivation::NDer1Partial(this->coordTransfFunc(j), n, pos); - else - coef2 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(n), j, pos); - - if( tensor._isContravar[2] ) - coef3 = Derivation::NDer1Partial(this->coordTransfFunc(k), o, pos); - else - coef3 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(o), k, pos); - - if( tensor._isContravar[3] ) - coef4 = Derivation::NDer1Partial(this->coordTransfFunc(l), p, pos); - else - coef4 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(p), l, pos); - - ret[i][j][k][l] += coef1 * coef2 * coef3 * coef4 * tensor[m][n][o][p]; - } - } - - return ret; - } + *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } - Tensor5 transfTensor5(const Tensor5 &tensor, const VectorFrom &pos) - { - Tensor5 ret(tensor.NumContravar(), tensor.NumCovar()); - - for( int i=0; icoordTransfFunc(i), n, pos); - else - coef1 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(n), i, pos); - - if( tensor._isContravar[1] ) - coef2 = Derivation::NDer1Partial(this->coordTransfFunc(j), o, pos); - else - coef2 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(o), j, pos); - - if( tensor._isContravar[2] ) - coef3 = Derivation::NDer1Partial(this->coordTransfFunc(k), p, pos); - else - coef3 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(p), k, pos); - - if( tensor._isContravar[3] ) - coef4 = Derivation::NDer1Partial(this->coordTransfFunc(l), q, pos); - else - coef4 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(q), l, pos); - - if( tensor._isContravar[4] ) - coef4 = Derivation::NDer1Partial(this->coordTransfFunc(m), r, pos); - else - coef4 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(r), m, pos); - - ret[i][j][k][l][m] += coef1 * coef2 * coef3 * coef4 * coef5 * tensor[n][o][p][q][r]; - } - } - - return ret; - } - }; - - class CoordTransfPolarToCartesian2D : public CoordTransfWithInverse - { - // q[0] = r - radial distance - // q[1] = phi - polar angle - public: - static Real func1(const VectorN &q) { return q[0] * cos(q[1]); } - static Real func2(const VectorN &q) { return q[0] * sin(q[1]); } - - // q[0] = x - // q[1] = y - static Real funcInverse1(const VectorN &q) { return sqrt(q[0]*q[0] + q[1]*q[1]); } - static Real funcInverse2(const VectorN &q) { return atan2(q[1], q[0]); } - - inline static ScalarFunction<2> _func[2] = { ScalarFunction<2>{func1}, - ScalarFunction<2>{func2} - }; - - inline static ScalarFunction<2> _funcInverse[2] = { ScalarFunction<2>{funcInverse1}, - ScalarFunction<2>{funcInverse2} - }; - - Vector2Cartesian transf(const Vector2Polar &q) const { return Vector2Cartesian{ func1(q), func2(q) }; } - Vector2Polar transfInverse(const Vector2Cartesian &q) const { return Vector2Polar{ funcInverse1(q), funcInverse2(q) }; } - - IScalarFunction<2>& coordTransfFunc(int i) const { return _func[i]; } - IScalarFunction<2>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } - }; + template + static VectorN NDer6PartialByAll(const IScalarFunction& f, const VectorN& point, VectorN* error = nullptr) + { + return NDer6PartialByAll(f, point, NDer6_h, error); + } - class CoordTransfCart2DRotation : public CoordTransfWithInverse - { - private: - Real _angle; - MatrixNM _transf; - MatrixNM _inverse; - - const ScalarFunctionFromStdFunc<2> _f1; - const ScalarFunctionFromStdFunc<2> _f2; + template + static VectorN NDer6PartialByAll(const IScalarFunction& f, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - const ScalarFunctionFromStdFunc<2> _fInverse1; - const ScalarFunctionFromStdFunc<2> _fInverse2; + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer6Partial(f, i, point, h, &(*error)[i]); + else + ret[i] = NDer6Partial(f, i, point, h); + } - public: + return ret; + } - CoordTransfCart2DRotation( Real inAngle) : _angle(inAngle), - _f1( std::function&)> { std::bind( &CoordTransfCart2DRotation::func1, this, std::placeholders::_1 ) } ), - _f2( std::function&)> { std::bind( &CoordTransfCart2DRotation::func2, this, std::placeholders::_1 ) } ), - _fInverse1( std::function&)> { std::bind( &CoordTransfCart2DRotation::funcInverse1, this, std::placeholders::_1 ) } ), - _fInverse2( std::function&)> { std::bind( &CoordTransfCart2DRotation::funcInverse2, this, std::placeholders::_1 ) } ) - { - _transf[0][0] = cos(_angle); - _transf[0][1] = -sin(_angle); - _transf[1][0] = sin(_angle); - _transf[1][1] = cos(_angle); - - _inverse[0][0] = cos(_angle); - _inverse[0][1] = sin(_angle); - _inverse[1][0] = -sin(_angle); - _inverse[1][1] = cos(_angle); - } + ////////////////////////// VectorFunction ////////////////////////// + template + static Real NDer6Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer6Partial(f, func_index, deriv_index, point, NDer6_h, error); + } - Real func1(const VectorN &q) const { return (_transf * q)[0]; } - Real func2(const VectorN &q) const { return (_transf * q)[1]; } + template + static Real NDer6Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - Real funcInverse1(const VectorN &q) const { return (_inverse * q)[0]; } - Real funcInverse2(const VectorN &q) const { return (_inverse * q)[1]; } + VectorN x{ point }; - Vector2Cartesian transf(const Vector2Cartesian &q) const { return Vector2Cartesian{ func1(q), func2(q) }; } - Vector2Cartesian transfInverse(const Vector2Cartesian &q) const { return Vector2Cartesian{ funcInverse1(q), funcInverse2(q) }; } - - const IScalarFunction<2>& coordTransfFunc(int i) const - { - if( i == 0 ) return _f1; - else return _f2; - } - const IScalarFunction<2>& inverseCoordTransfFunc(int i) const - { - if( i == 0 ) return _fInverse1; - else return _fInverse2; - } - }; + x[deriv_index] = orig_x + h; + Real yh = f(x)[func_index]; - class CoordTransfCart3DRotationXAxis : public CoordTransfWithInverse - { - public: - Real _angle; - MatrixNM _transf; - MatrixNM _inverse; - - const ScalarFunctionFromStdFunc<3> _f1; - const ScalarFunctionFromStdFunc<3> _f2; - const ScalarFunctionFromStdFunc<3> _f3; - - const ScalarFunctionFromStdFunc<3> _fInverse1; - const ScalarFunctionFromStdFunc<3> _fInverse2; - const ScalarFunctionFromStdFunc<3> _fInverse3; - - public: - CoordTransfCart3DRotationXAxis( Real inAngle) : _angle(inAngle), - _f1( std::function&)> { std::bind( &CoordTransfCart3DRotationXAxis::func1, this, std::placeholders::_1 ) } ), - _f2( std::function&)> { std::bind( &CoordTransfCart3DRotationXAxis::func2, this, std::placeholders::_1 ) } ), - _f3( std::function&)> { std::bind( &CoordTransfCart3DRotationXAxis::func3, this, std::placeholders::_1 ) } ), - _fInverse1( std::function&)> { std::bind( &CoordTransfCart3DRotationXAxis::funcInverse1, this, std::placeholders::_1 ) } ), - _fInverse2( std::function&)> { std::bind( &CoordTransfCart3DRotationXAxis::funcInverse2, this, std::placeholders::_1 ) } ), - _fInverse3( std::function&)> { std::bind( &CoordTransfCart3DRotationXAxis::funcInverse3, this, std::placeholders::_1 ) } ) - { - _transf[0][0] = 1.0; - _transf[1][1] = cos(_angle); - _transf[1][2] = -sin(_angle); - _transf[2][1] = sin(_angle); - _transf[2][2] = cos(_angle); - - _inverse[0][0] = 1.0; - _inverse[1][1] = cos(_angle); - _inverse[1][2] = sin(_angle); - _inverse[2][1] = -sin(_angle); - _inverse[2][2] = cos(_angle); - } + x[deriv_index] = orig_x - h; + Real ymh = f(x)[func_index]; - Real func1(const VectorN &q) const - { - return (_transf * q)[0]; - } - Real func2(const VectorN &q) const { return (_transf * q)[1]; } - Real func3(const VectorN &q) const { return (_transf * q)[2]; } + x[deriv_index] = orig_x + 2 * h; + Real y2h = f(x)[func_index]; - Real funcInverse1(const VectorN &q) const { return (_inverse * q)[0]; } - Real funcInverse2(const VectorN &q) const { return (_inverse * q)[1]; } - Real funcInverse3(const VectorN &q) const { return (_inverse * q)[2]; } + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f(x)[func_index]; - Vector3Cartesian transf(const Vector3Cartesian &q) const { return Vector3Cartesian{ func1(q), func2(q), func3(q) }; } - Vector3Cartesian transfInverse(const Vector3Cartesian &q) const { return Vector3Cartesian{ funcInverse1(q), funcInverse2(q), funcInverse3(q) }; } - - const IScalarFunction<3>& coordTransfFunc(int i) const - { - if( i == 0 ) return _f1; - else if( i == 1 ) return _f2; - else return _f3; - } - const IScalarFunction<3>& inverseCoordTransfFunc(int i)const - { - if( i == 0 ) return _fInverse1; - else if( i == 1 ) return _fInverse2; - else return _fInverse3; - } - }; - class CoordTransfCart3DRotationYAxis : public CoordTransfWithInverse - { - private: - Real _angle; - MatrixNM _transf; - MatrixNM _inverse; - - const ScalarFunctionFromStdFunc<3> _f1; - const ScalarFunctionFromStdFunc<3> _f2; - const ScalarFunctionFromStdFunc<3> _f3; - - const ScalarFunctionFromStdFunc<3> _fInverse1; - const ScalarFunctionFromStdFunc<3> _fInverse2; - const ScalarFunctionFromStdFunc<3> _fInverse3; - - public: - CoordTransfCart3DRotationYAxis( Real inAngle) : _angle(inAngle), - _f1( std::function&)> { std::bind( &CoordTransfCart3DRotationYAxis::func1, this, std::placeholders::_1 ) } ), - _f2( std::function&)> { std::bind( &CoordTransfCart3DRotationYAxis::func2, this, std::placeholders::_1 ) } ), - _f3( std::function&)> { std::bind( &CoordTransfCart3DRotationYAxis::func3, this, std::placeholders::_1 ) } ), - _fInverse1( std::function&)> { std::bind( &CoordTransfCart3DRotationYAxis::funcInverse1, this, std::placeholders::_1 ) } ), - _fInverse2( std::function&)> { std::bind( &CoordTransfCart3DRotationYAxis::funcInverse2, this, std::placeholders::_1 ) } ), - _fInverse3( std::function&)> { std::bind( &CoordTransfCart3DRotationYAxis::funcInverse3, this, std::placeholders::_1 ) } ) - { - _transf[0][0] = cos(_angle); - _transf[0][2] = sin(_angle); - _transf[1][1] = 1.0; - _transf[2][0] = -sin(_angle); - _transf[2][2] = cos(_angle); - - _inverse[0][0] = cos(_angle); - _inverse[0][2] = -sin(_angle); - _inverse[1][1] = 1.0; - _inverse[2][0] = sin(_angle); - _inverse[2][2] = cos(_angle); - } + x[deriv_index] = orig_x + 3 * h; + Real y3h = f(x)[func_index]; - Real func1(const VectorN &q) const { return (_transf * q)[0]; } - Real func2(const VectorN &q) const { return (_transf * q)[1]; } - Real func3(const VectorN &q) const { return (_transf * q)[2]; } + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f(x)[func_index]; - Real funcInverse1(const VectorN &q) const { return (_inverse * q)[0]; } - Real funcInverse2(const VectorN &q) const { return (_inverse * q)[1]; } - Real funcInverse3(const VectorN &q) const { return (_inverse * q)[2]; } + Real y1 = yh - ymh; + Real y2 = ym2h - y2h; + Real y3 = y3h - ym3h; - Vector3Cartesian transf(const Vector3Cartesian &q) const { return Vector3Cartesian{ func1(q), func2(q), func3(q) }; } - Vector3Cartesian transfInverse(const Vector3Cartesian &q) const { return Vector3Cartesian{ funcInverse1(q), funcInverse2(q), funcInverse3(q) }; } - - const IScalarFunction<3>& coordTransfFunc(int i) const - { - if( i == 0 ) return _f1; - else if( i == 1 ) return _f2; - else return _f3; - } - const IScalarFunction<3>& inverseCoordTransfFunc(int i) const - { - if( i == 0 ) return _fInverse1; - else if( i == 1 ) return _fInverse2; - else return _fInverse3; - } - }; - class CoordTransfCart3DRotationZAxis : public CoordTransfWithInverse - { - private: - Real _angle; - MatrixNM _transf; - MatrixNM _inverse; - - const ScalarFunctionFromStdFunc<3> _f1; - const ScalarFunctionFromStdFunc<3> _f2; - const ScalarFunctionFromStdFunc<3> _f3; - - const ScalarFunctionFromStdFunc<3> _fInverse1; - const ScalarFunctionFromStdFunc<3> _fInverse2; - const ScalarFunctionFromStdFunc<3> _fInverse3; - - public: - CoordTransfCart3DRotationZAxis( Real inAngle) : _angle(inAngle), - _f1( std::function&)> { std::bind( &CoordTransfCart3DRotationZAxis::func1, this, std::placeholders::_1 ) } ), - _f2( std::function&)> { std::bind( &CoordTransfCart3DRotationZAxis::func2, this, std::placeholders::_1 ) } ), - _f3( std::function&)> { std::bind( &CoordTransfCart3DRotationZAxis::func3, this, std::placeholders::_1 ) } ), - _fInverse1( std::function&)> { std::bind( &CoordTransfCart3DRotationZAxis::funcInverse1, this, std::placeholders::_1 ) } ), - _fInverse2( std::function&)> { std::bind( &CoordTransfCart3DRotationZAxis::funcInverse2, this, std::placeholders::_1 ) } ), - _fInverse3( std::function&)> { std::bind( &CoordTransfCart3DRotationZAxis::funcInverse3, this, std::placeholders::_1 ) } ) - { - _transf[0][0] = cos(_angle); - _transf[0][1] = -sin(_angle); - _transf[1][0] = sin(_angle); - _transf[1][1] = cos(_angle); - _transf[2][2] = 1.0; - - _inverse[0][0] = cos(_angle); - _inverse[0][1] = sin(_angle); - _inverse[1][0] = -sin(_angle); - _inverse[1][1] = cos(_angle); - _inverse[2][2] = 1.0; - } + if (error) + { + x[deriv_index] = orig_x + 4 * h; + Real y4h = f(x)[func_index]; - Real func1(const VectorN &q) const { return (_transf * q)[0]; } - Real func2(const VectorN &q) const { return (_transf * q)[1]; } - Real func3(const VectorN &q) const { return (_transf * q)[2]; } + x[deriv_index] = orig_x - 4 * h; + Real ym4h = f(x)[func_index]; - Real funcInverse1(const VectorN &q) const { return (_inverse * q)[0]; } - Real funcInverse2(const VectorN &q) const { return (_inverse * q)[1]; } - Real funcInverse3(const VectorN &q) const { return (_inverse * q)[2]; } + Real y7 = (y4h - ym4h - 6 * y3 - 14 * y1 - 14 * y2) / 2; - Vector3Cartesian transf(const Vector3Cartesian &q) const { return Vector3Cartesian{ func1(q), func2(q), func3(q) }; } - Vector3Cartesian transfInverse(const Vector3Cartesian &q) const { return Vector3Cartesian{ funcInverse1(q), funcInverse2(q), funcInverse3(q) }; } - - const IScalarFunction<3>& coordTransfFunc(int i) const - { - if( i == 0 ) return _f1; - else if( i == 1 ) return _f2; - else return _f3; - } - const IScalarFunction<3>& inverseCoordTransfFunc(int i) const - { - if( i == 0 ) return _fInverse1; - else if( i == 1 ) return _fInverse2; - else return _fInverse3; - } - }; + *error = std::abs(y7) / (140 * h) + 5 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } - // TODO 0.9 - LOW, TESKO, Euler angles, finish CoordTransfCart3DRotationGeneralAxis - // class CoordTransfCart3DRotationGeneralAxis : public CoordTransfWithInverse - // { + template + static VectorN NDer6PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, VectorN* error = nullptr) + { + return NDer6PartialByAll(f, func_index, point, NDer6_h, error); + } - // }; + template + static VectorN NDer6PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - class CoordTransfRectilinear : public CoordTransfWithInverse - { - private: - Vector3Cartesian _base[3]; - Vector3Cartesian _dual[3]; - - MatrixNM _alpha; - MatrixNM _transf; - - const ScalarFunctionFromStdFunc<3> _f1; - const ScalarFunctionFromStdFunc<3> _f2; - const ScalarFunctionFromStdFunc<3> _f3; - - const ScalarFunctionFromStdFunc<3> _fInverse1; - const ScalarFunctionFromStdFunc<3> _fInverse2; - const ScalarFunctionFromStdFunc<3> _fInverse3; - - // TODO - HIGH, TESKO, ovo popraviti i napraviti kako spada - Real func1(const VectorN &q) const { return ScalarProd(q, MML::Vector3Cartesian(_dual[0])); } - Real func2(const VectorN &q) const { return ScalarProd(q, MML::Vector3Cartesian(_dual[1])); } - Real func3(const VectorN &q) const { return ScalarProd(q, MML::Vector3Cartesian(_dual[2])); } - - Real funcInverse1(const VectorN &q) const { return (_transf * q)[0]; } - Real funcInverse2(const VectorN &q) const { return (_transf * q)[1]; } - Real funcInverse3(const VectorN &q) const { return (_transf * q)[2]; } - - public: - CoordTransfRectilinear( VectorN b1, - VectorN b2, - VectorN b3) : _f1( std::function&)> { std::bind( &CoordTransfRectilinear::func1, this, std::placeholders::_1 ) } ), - _f2( std::function&)> { std::bind( &CoordTransfRectilinear::func2, this, std::placeholders::_1 ) } ), - _f3( std::function&)> { std::bind( &CoordTransfRectilinear::func3, this, std::placeholders::_1 ) } ), - _fInverse1( std::function&)> { std::bind( &CoordTransfRectilinear::funcInverse1, this, std::placeholders::_1 ) } ), - _fInverse2( std::function&)> { std::bind( &CoordTransfRectilinear::funcInverse2, this, std::placeholders::_1 ) } ), - _fInverse3( std::function&)> { std::bind( &CoordTransfRectilinear::funcInverse3, this, std::placeholders::_1 ) } ) - { - _base[0] = b1; - _base[1] = b2; - _base[2] = b3; - - Vector3Cartesian cross1 = VectorProd(_base[1], _base[2]); - _dual[0] = (1 / (ScalarProd(_base[0], cross1))) * cross1; - - Vector3Cartesian cross2 = VectorProd(_base[2], _base[0]); - _dual[1] = (1 / (ScalarProd(_base[1], cross2))) * cross2; - - Vector3Cartesian cross3 = VectorProd(_base[0], _base[1]); - _dual[2] = (1 / (ScalarProd(_base[2], cross3))) * cross3; - - for( int i=0; i<3; i++ ) - { - for(int j=0; j<3; j++ ) - { - _alpha(i,j) = _base[i][j]; - _transf(i,j) = _base[j][i]; // transponirano - } - } - } + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer6Partial(f, func_index, i, point, h, &(*error)[i]); + else + ret[i] = NDer6Partial(f, func_index, i, point, h); + } - MatrixNM getAlpha() { return _alpha; } - MatrixNM getTransf() { return _alpha; } + return ret; + } - Vector3Cartesian Base(int i) { return _base[i]; } - Vector3Cartesian Dual(int i) { return _dual[i]; } + template + static MatrixNM NDer6PartialAllByAll(const IVectorFunction& f, const VectorN& point, MatrixNM* error = nullptr) + { + return NDer6PartialAllByAll(f, point, NDer6_h, error); + } - Vector3Cartesian transf(const Vector3Cartesian &q) const { return Vector3Cartesian{ func1(q), func2(q), func3(q) }; } - Vector3Cartesian transfInverse(const Vector3Cartesian &q) const { return Vector3Cartesian{ funcInverse1(q), funcInverse2(q), funcInverse3(q) }; } - - const IScalarFunction<3>& coordTransfFunc(int i) const - { - if( i == 0 ) return _f1; - else if( i == 1 ) return _f2; - else return _f3; - } - const IScalarFunction<3>& inverseCoordTransfFunc(int i) const - { - if( i == 0 ) return _fInverse1; - else if( i == 1 ) return _fInverse2; - else return _fInverse3; - } + template + static MatrixNM NDer6PartialAllByAll(const IVectorFunction& f, const VectorN& point, Real h, MatrixNM* error = nullptr) + { + MatrixNM ret; - bool IsRightHanded() - { - Vector3Cartesian cross = VectorProd(_base[0], _base[1]); - if( ScalarProd(cross, _base[2]) > 0.0 ) - return true; - else - return false; - } - }; + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + { + if (error) + ret(i, j) = NDer6Partial(f, i, j, point, h, &((*error)(i, j))); + else + ret(i, j) = NDer6Partial(f, i, j, point, h); + } - // TODO 0.9 - VIDJETI STO S MATH vs PHY konvencijama o redoslijedu koordinata - class CoordTransfSphericalToCartesian : public CoordTransfWithInverse - { - private: - // q[0] = r - radial distance - // q[1] = theta - inclination - // q[2] = phi - azimuthal angle - static Real x(const VectorN &q) { return q[0] * sin(q[1]) * cos(q[2]) ; } - static Real y(const VectorN &q) { return q[0] * sin(q[1]) * sin(q[2]) ; } - static Real z(const VectorN &q) { return q[0] * cos(q[1]); } - - // q[0] = x - // q[1] = y - // q[2] = z - static Real r(const VectorN &q) { return sqrt(q[0]*q[0] + q[1]*q[1] + q[2]*q[2]); } - static Real theta(const VectorN &q) { return acos(q[2] / sqrt(q[0]*q[0] + q[1]*q[1] + q[2]*q[2])); } - static Real phi(const VectorN &q) { return atan2(q[1], q[0]); } - - inline static ScalarFunction<3> _func[3] = { ScalarFunction<3>{x}, - ScalarFunction<3>{y}, - ScalarFunction<3>{z} - }; - - inline static ScalarFunction<3> _funcInverse[3] = { ScalarFunction<3>{r}, - ScalarFunction<3>{theta}, - ScalarFunction<3>{phi} - }; - public: - Vector3Cartesian transf(const Vector3Spherical &q) const { return Vector3Cartesian{ x(q), y(q), z(q) }; } - Vector3Spherical transfInverse(const Vector3Cartesian &q) const { return Vector3Spherical{ r(q), theta(q), phi(q) }; } - - IScalarFunction<3>& coordTransfFunc(int i) const { return _func[i]; } - IScalarFunction<3>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } + return ret; + } - // TODO 0.9 - overload covar i contravar transf. funkcije s analiticki izracunatim jakobijanom derivacija - }; + ///////////////////////// ParametricCurve ///////////////////////// + template + static VectorN NDer6(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NDer6(f, t, NDer6_h, error); + } - class CoordTransfCartesianToSpherical : public CoordTransfWithInverse - { - private: - // q[0] = x - // q[1] = y - // q[2] = z - static Real r(const VectorN &q) { return sqrt(q[0]*q[0] + q[1]*q[1] + q[2]*q[2]); } - static Real theta(const VectorN &q) { return acos(q[2] / sqrt(q[0]*q[0] + q[1]*q[1] + q[2]*q[2])); } - static Real phi(const VectorN &q) { return atan2(q[1], q[0]); } - - // q[0] = r - radial distance - // q[1] = theta - inclination - // q[2] = phi - azimuthal angle - static Real x(const VectorN &q) { return q[0] * sin(q[1]) * cos(q[2]); } - static Real y(const VectorN &q) { return q[0] * sin(q[1]) * sin(q[2]); } - static Real z(const VectorN &q) { return q[0] * cos(q[1]); } - - inline static ScalarFunction<3> _func[3] = { ScalarFunction<3>{r}, - ScalarFunction<3>{theta}, - ScalarFunction<3>{phi} - }; - - inline static ScalarFunction<3> _funcInverse[3] = { ScalarFunction<3>{x}, - ScalarFunction<3>{y}, - ScalarFunction<3>{z} - }; - public: - Vector3Spherical transf(const Vector3Cartesian &q) const { return Vector3Spherical{ r(q), theta(q), phi(q) }; } - Vector3Cartesian transfInverse(const Vector3Spherical &q) const { return Vector3Cartesian{ x(q), y(q), z(q) }; } - - IScalarFunction<3>& coordTransfFunc(int i) const { return _func[i]; } - IScalarFunction<3>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } - }; + template + static VectorN NDer6(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = f(t + h); + VectorN ymh = f(t - h); + VectorN y1 = yh - ymh; + VectorN y2 = f(t - 2 * h) - f(t + 2 * h); + VectorN y3 = f(t + 3 * h) - f(t - 3 * h); - class CoordTransfCylindricalToCartesian : public CoordTransfWithInverse - { - private: - // q1 = r - distance from symmetry axis - // q2 = phi - angle to symmetry axis - // q3 = z - z - static Real x(const VectorN &q) { return q[0] * cos(q[1]); } - static Real y(const VectorN &q) { return q[0] * sin(q[1]); } - static Real z(const VectorN &q) { return q[2]; } - - // q[0] = x - // q[1] = y - // q[2] = z - static Real r(const VectorN &q) { return sqrt(q[0]*q[0] + q[1]*q[1]); } - static Real phi(const VectorN &q) { return atan2(q[1], q[0]); } - //static Real funcInverse3(const VectorN &q) { return q[2]; } - - inline static ScalarFunction<3> _func[3] = { ScalarFunction<3>{x}, - ScalarFunction<3>{y}, - ScalarFunction<3>{z} - }; - - inline static ScalarFunction<3> _funcInverse[3] = { ScalarFunction<3>{r}, - ScalarFunction<3>{phi}, - ScalarFunction<3>{z} - }; - public: - Vector3Cartesian transf(const Vector3Cylindrical &q) const { return Vector3Cartesian{ x(q), y(q), z(q) }; } - Vector3Cylindrical transfInverse(const Vector3Cartesian &q) const { return Vector3Cylindrical{ r(q), phi(q), z(q) }; } - - IScalarFunction<3>& coordTransfFunc(int i) const { return _func[i]; } - IScalarFunction<3>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } - }; + if (error) + { + VectorN y7 = (f(t + 4 * h) - f(t - 4 * h) - 6 * y3 - 14 * y1 - 14 * y2) / 2; - class CoordTransfCartesianToCylindrical : public CoordTransfWithInverse - { - private: - // q[0] = x - // q[1] = y - // q[2] = z - static Real r(const VectorN &q) { return sqrt(q[0]*q[0] + q[1]*q[1]); } - static Real phi(const VectorN &q) { return atan2(q[1], q[0]); } - static Real z(const VectorN &q) { return q[2]; } - - // q1 = r - distance from symmetry axis - // q2 = phi - angle to symmetry axis - // q3 = z - z - static Real x(const VectorN &q) { return q[0] * cos(q[1]); } - static Real y(const VectorN &q) { return q[0] * sin(q[1]); } - //static Real z(const VectorN &q) { return q[2]; } - - inline static ScalarFunction<3> _func[3] = { ScalarFunction<3>{r}, - ScalarFunction<3>{phi}, - ScalarFunction<3>{z} - }; - - inline static ScalarFunction<3> _funcInverse[3] = { ScalarFunction<3>{x}, - ScalarFunction<3>{y}, - ScalarFunction<3>{z} - }; - public: - Vector3Cylindrical transf(const Vector3Cartesian &q) const { return Vector3Cylindrical{ r(q), phi(q), z(q) }; } - Vector3Cartesian transfInverse(const Vector3Cylindrical &q) const { return Vector3Cartesian{ x(q), y(q), z(q) }; } - - IScalarFunction<3>& coordTransfFunc(int i) const { return _func[i]; } - IScalarFunction<3>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } - }; + *error = y7.NormL2() / (140 * h) + 5 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } - static CoordTransfSphericalToCartesian CoordTransfSpherToCart; - static CoordTransfCylindricalToCartesian CoordTransfCylToCart; - static CoordTransfCartesianToSpherical CoordTransfCartToSpher; - static CoordTransfCartesianToCylindrical CoordTransfCartToCyl; -} -/////////////////////////// ./include/core/FieldOperations.h ///////////////////////////// grad -// - cart -// - spher -// - cyl + template + static VectorN NSecDer6(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NSecDer6(f, t, NDer6_h, error); + } + template + static VectorN NSecDer6(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = NDer8(f, t + h, error); + VectorN ymh = NDer8(f, t - h, error); + VectorN y1 = yh - ymh; + VectorN y2 = NDer8(f, t - 2 * h, error) - NDer8(f, t + 2 * h, error); + VectorN y3 = NDer8(f, t + 3 * h, error) - NDer8(f, t - 3 * h, error); + if (error) + { + VectorN y7 = (NDer8(f, t + 4 * h, error) - NDer8(f, t - 4 * h, error) - 6 * y3 - 14 * y1 - 14 * y2) / 2; + *error = y7.NormL2() / (140 * h) + 5 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } + template + static VectorN NThirdDer6(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NThirdDer6(f, t, NDer6_h, error); + } + template + static VectorN NThirdDer6(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = NSecDer8(f, t + h, error); + VectorN ymh = NSecDer8(f, t - h, error); + VectorN y1 = yh - ymh; + VectorN y2 = NSecDer8(f, t - 2 * h, error) - NSecDer8(f, t + 2 * h, error); + VectorN y3 = NSecDer8(f, t + 3 * h, error) - NSecDer8(f, t - 3 * h, error); -namespace MML -{ - namespace ScalarFieldOperations - { - //////////////////////////////////////////////////////////////////////////////////////////////////////// - ///////////////// GENERAL COORD. FIELD OPERATIONS /////////////////// - template - static VectorN Gradient(IScalarFunction &scalarField, const MetricTensorField& metricTensor, const VectorN &pos) - { - VectorN derivsAtPoint = Derivation::DerivePartialAll(scalarField, pos, nullptr); - - Tensor2 metricAtPoint(2,0); - metricTensor.ValueAtPoint(pos, metricAtPoint); + if (error) + { + VectorN y7 = (NSecDer8(f, t + 4 * h, error) - NSecDer8(f, t - 4 * h, error) - 6 * y3 - 14 * y1 - 14 * y2) / 2; - VectorN ret = metricAtPoint * derivsAtPoint; + *error = y7.NormL2() / (140 * h) + 5 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; + } + return (y3 + 9 * y2 + 45 * y1) / (60 * h); + } - return ret; - } + /********************************************************************************************************************/ + /******** Numerical derivatives of EIGHTH order ********/ + /********************************************************************************************************************/ - // TODO 1.0 - dodati div i curl za generalne koordinate + ////////////////////////// RealFunction ////////////////////////// + static Real NDer8(const IRealFunction& f, Real x, Real* error = nullptr) + { + // Error bound ~eps^8/9. + // In Real precision, we only expect to lose two digits of precision while using this formula, at the cost of 8 function evaluations. + // Error: h^8|f^(9)(x)|/630 + 7|f(x)|eps/h assuming 7 unstabilized additions. + // Mathematica code to get the error: + // Series[(f[x+h]-f[x-h])*(4/5) + (1/5)*(f[x-2*h] - f[x+2*h]) + (4/105)*(f[x+3*h] - f[x-3*h]) + (1/280)*(f[x-4*h] - f[x+4*h]), {h, 0, 9}] + // If we used Kahan summation, we could get the max error down to h^8|f^(9)(x)|/630 + |f(x)|eps/h. + + return NDer8(f, x, NDer8_h, error); + } + static Real NDer8Left(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer8(f, x - 6 * NDer8_h, NDer8_h, error); } + static Real NDer8Right(const IRealFunction& f, Real x, Real* error = nullptr) { return NDer8(f, x + 6 * NDer8_h, NDer8_h, error); } - //////////////////////////////////////////////////////////////////////////////////////////////////////// - /////////////////////////// GRADIENT ///////////////////////////// - template - static VectorN GradientCart(const IScalarFunction &scalarField, const VectorN &pos) - { - return Derivation::DerivePartialAll(scalarField, pos, nullptr); - } - template - static VectorN GradientCart(const IScalarFunction &scalarField, const VectorN &pos, int der_order) - { - switch(der_order) - { - case 1: return Derivation::NDer1PartialByAll(scalarField, pos, nullptr); - case 2: return Derivation::NDer2PartialByAll(scalarField, pos, nullptr); - case 4: return Derivation::NDer4PartialByAll(scalarField, pos, nullptr); - case 6: return Derivation::NDer6PartialByAll(scalarField, pos, nullptr); - case 8: return Derivation::NDer8PartialByAll(scalarField, pos, nullptr); - default: - throw std::invalid_argument("GradientCart: der_order must be in 1, 2, 4, 6 or 8"); - } - } + static Real NDer8(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = f(x + h); + Real ymh = f(x - h); + Real y1 = yh - ymh; + Real y2 = f(x - 2 * h) - f(x + 2 * h); + Real y3 = f(x + 3 * h) - f(x - 3 * h); + Real y4 = f(x - 4 * h) - f(x + 4 * h); - static Vector3Spherical GradientSpher(const IScalarFunction<3> &scalarField, const Vector3Spherical &pos) - { - Vector3Spherical ret = Derivation::DerivePartialAll<3>(scalarField, pos, nullptr); + Real tmp1 = 3 * y4 / 8 + 4 * y3; + Real tmp2 = 21 * y2 + 84 * y1; - ret[1] = ret[1] / pos[0]; - ret[2] = ret[2] / (pos[0] * sin(pos[1])); + if (error) + { + // Mathematica code to generate fd scheme for 7th derivative: + // Sum[(-1)^i*Binomial[9, i]*(f[x+(4-i)*h] + f[x+(5-i)*h])/2, {i, 0, 9}] + // Mathematica to demonstrate that this is a finite difference formula for 7th derivative: + // Series[(f[x+5*h]-f[x- 5*h])/2 + 4*(f[x-4*h] - f[x+4*h]) + 27*(f[x+3*h] - f[x-3*h])/2 + 24*(f[x-2*h] - f[x+2*h]) + 21*(f[x+h] - f[x-h]), {h, 0, 15}] + Real f9 = (f(x + 5 * h) - f(x - 5 * h)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - return ret; - } - static Vector3Spherical GradientSpher(const IScalarFunction<3> &scalarField, const Vector3Spherical &pos, int der_order) - { - Vector3Spherical ret; - - switch(der_order) - { - case 1: ret = Derivation::NDer1PartialByAll<3>(scalarField, pos, nullptr); - case 2: ret = Derivation::NDer2PartialByAll<3>(scalarField, pos, nullptr); - case 4: ret = Derivation::NDer4PartialByAll<3>(scalarField, pos, nullptr); - case 6: ret = Derivation::NDer6PartialByAll<3>(scalarField, pos, nullptr); - case 8: ret = Derivation::NDer8PartialByAll<3>(scalarField, pos, nullptr); - default: - throw std::invalid_argument("GradientSpher: der_order must be in 1, 2, 4, 6 or 8"); - } - - ret[1] = ret[1] / pos[0]; - ret[2] = ret[2] / (pos[0] * sin(pos[1])); - - return ret; - } + *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (tmp1 + tmp2) / (105 * h); + } + static Real NDer8Left(const IRealFunction& f, Real x, Real h, Real* error = nullptr) { return NDer8(f, x - 6 * h, h, error); } + static Real NDer8Right(const IRealFunction& f, Real x, Real h, Real* error = nullptr) { return NDer8(f, x + 6 * h, h, error); } - static Vector3Cylindrical GradientCyl(const IScalarFunction<3> &scalarField, const Vector3Cylindrical &pos) - { - Vector3Cylindrical ret = Derivation::DerivePartialAll<3>(scalarField, pos, nullptr); + static Real NSecDer8(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NSecDer8(f, x, NDer8_h, error); + } - ret[1] = ret[1] / pos[0]; + static Real NSecDer8(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = NDer8(f, x + h, error); + Real ymh = NDer8(f, x - h, error); + Real y1 = yh - ymh; + Real y2 = NDer8(f, x - 2 * h, error) - NDer8(f, x + 2 * h, error); + Real y3 = NDer8(f, x + 3 * h, error) - NDer8(f, x - 3 * h, error); + Real y4 = NDer8(f, x - 4 * h, error) - NDer8(f, x + 4 * h, error); - return ret; - } - static Vector3Cylindrical GradientCyl(const IScalarFunction<3> &scalarField, const Vector3Cylindrical &pos, int der_order) - { - Vector3Cylindrical ret; - - switch(der_order) - { - case 1: ret = Derivation::NDer1PartialByAll<3>(scalarField, pos, nullptr); - case 2: ret = Derivation::NDer2PartialByAll<3>(scalarField, pos, nullptr); - case 4: ret = Derivation::NDer4PartialByAll<3>(scalarField, pos, nullptr); - case 6: ret = Derivation::NDer6PartialByAll<3>(scalarField, pos, nullptr); - case 8: ret = Derivation::NDer8PartialByAll<3>(scalarField, pos, nullptr); - default: - throw std::invalid_argument("GradientCyl: der_order must be in 1, 2, 4, 6 or 8"); - } - ret[1] = ret[1] / pos[0]; - - return ret; - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////// - /////////////////////////// LAPLACIAN ///////////////////////////// - template - static Real LaplacianCart(const IScalarFunction &scalarField, const VectorN &pos) - { - Real lapl = 0.0; - for( int i=0; i(scalarField, i, i, pos, nullptr); + Real tmp1 = 3 * y4 / 8 + 4 * y3; + Real tmp2 = 21 * y2 + 84 * y1; - return lapl; - } - static Real LaplacianSpher(const IScalarFunction<3> &scalarField, const Vector3Spherical &pos) - { - const Real r = pos.R(); - const Real phi = pos.Phi(); - const Real theta = pos.Theta(); + if (error) + { + Real f9 = (NDer8(f, x + 5 * h, error) - NDer8(f, x - 5 * h, error)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - Real first = Derivation::DeriveSecPartial<3>(scalarField, 0, 0, pos, nullptr); - Real second = 2 / pos.R() * Derivation::DerivePartial<3>(scalarField, 0, pos, nullptr); - Real third = 1 / (r*r * sin(theta)) * (cos(theta) * Derivation::DerivePartial<3>(scalarField, 1, pos, nullptr) + sin(theta) * Derivation::DeriveSecPartial<3>(scalarField, 1, 1, pos, nullptr)); - Real fourth = 1 / (r*r * sin(theta)*sin(theta)); + *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (tmp1 + tmp2) / (105 * h); + } - return first + second + third; - } - static Real LaplacianCyl(const IScalarFunction<3> &scalarField, const Vector3Cylindrical &pos) - { - const Real r = pos[0]; - - Real first = 1 / r * (Derivation::DerivePartial<3>(scalarField, 0, pos, nullptr) + r * Derivation::DeriveSecPartial<3>(scalarField, 0, 0, pos, nullptr)); - Real second = 1 / (r*r) * Derivation::DeriveSecPartial<3>(scalarField, 1, 1, pos, nullptr); - Real third = Derivation::DeriveSecPartial<3>(scalarField, 2, 2, pos, nullptr); - - return first + second + third; - } - }; + static Real NThirdDer8(const IRealFunction& f, Real x, Real* error = nullptr) + { + return NThirdDer8(f, x, NDer8_h, error); + } - namespace VectorFieldOperations - { - //////////////////////////////////////////////////////////////////////////////////////////////////////// - /////////////////////////// DIVERGENCE ///////////////////////////// - template - static Real DivCart(const IVectorFunction &vectorField, const VectorN &pos) - { - Real div = 0.0; - for( int i=0; i(vectorField, i, i, pos, nullptr); + static Real NThirdDer8(const IRealFunction& f, Real x, Real h, Real* error = nullptr) + { + Real yh = NSecDer8(f, x + h, error); + Real ymh = NSecDer8(f, x - h, error); + Real y1 = yh - ymh; + Real y2 = NSecDer8(f, x - 2 * h, error) - NSecDer8(f, x + 2 * h, error); + Real y3 = NSecDer8(f, x + 3 * h, error) - NSecDer8(f, x - 3 * h, error); + Real y4 = NSecDer8(f, x - 4 * h, error) - NSecDer8(f, x + 4 * h, error); - return div; - } + Real tmp1 = 3 * y4 / 8 + 4 * y3; + Real tmp2 = 21 * y2 + 84 * y1; - static Real DivSpher(const IVectorFunction<3> &vectorField, const VectorN &x) - { - VectorN vals = vectorField(x); - - VectorN derivs; - for( int i=0; i<3; i++ ) - derivs[i] = Derivation::DeriveVecPartial<3>(vectorField, i, i, x, nullptr); - - Real div = 0.0; - div += 1 / (x[0]*x[0]) * (2 * x[0] * vals[0] + x[0]*x[0] * derivs[0]); - div += 1 / (x[0] * sin(x[1])) * (cos(x[1]) * vals[1] + sin(x[1]) * derivs[1]); - div += 1 / (x[0] * sin(x[1])) * derivs[2]; - - return div; - } + if (error) + { + Real f9 = (NSecDer8(f, x + 5 * h, error) - NSecDer8(f, x - 5 * h, error)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - static Real DivCyl(const IVectorFunction<3> &vectorField, const VectorN &x) - { - VectorN vals = vectorField(x); - - VectorN derivs; - for( int i=0; i<3; i++ ) - derivs[i] = Derivation::DeriveVecPartial<3>(vectorField, i, i, x, nullptr); - - Real div = 0.0; - div += 1 / x[0] * (vals[0] + x[0] * derivs[0]); - div += 1 / x[0] * derivs[1]; - div += derivs[2]; - - return div; - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////// - /////////////////////////// CURL ///////////////////////////// - static Vector3Cartesian CurlCart(const IVectorFunction<3> &vectorField, const VectorN &pos) - { - Real dzdy = Derivation::DeriveVecPartial<3>(vectorField, 2, 1, pos, nullptr); - Real dydz = Derivation::DeriveVecPartial<3>(vectorField, 1, 2, pos, nullptr); + *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (tmp1 + tmp2) / (105 * h); + } - Real dxdz = Derivation::DeriveVecPartial<3>(vectorField, 0, 2, pos, nullptr); - Real dzdx = Derivation::DeriveVecPartial<3>(vectorField, 2, 0, pos, nullptr); + ////////////////////////// ScalarFunction ////////////////////////// + template + static Real NDer8Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer8Partial(f, deriv_index, point, NDer8_h, error); + } - Real dydx = Derivation::DeriveVecPartial<3>(vectorField, 1, 0, pos, nullptr); - Real dxdy = Derivation::DeriveVecPartial<3>(vectorField, 0, 1, pos, nullptr); + template + static Real NDer8Partial(const IScalarFunction& f, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - Vector3Cartesian curl{dzdy - dydz, dxdz - dzdx, dydx - dxdy}; + VectorN x{ point }; - return curl; - } + x[deriv_index] = orig_x + h; + Real yh = f(x); - static Vector3Spherical CurlSpher(const IVectorFunction<3> &vectorField, const VectorN &pos) - { - VectorN vals = vectorField(pos); + x[deriv_index] = orig_x - h; + Real ymh = f(x); - Real dphidtheta = Derivation::DeriveVecPartial<3>(vectorField, 2, 1, pos, nullptr); - Real dthetadphi = Derivation::DeriveVecPartial<3>(vectorField, 1, 2, pos, nullptr); + x[deriv_index] = orig_x + 2 * h; + Real y2h = f(x); - Real drdphi = Derivation::DeriveVecPartial<3>(vectorField, 0, 2, pos, nullptr); - Real dphidr = Derivation::DeriveVecPartial<3>(vectorField, 2, 0, pos, nullptr); + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f(x); - Real dthetadr = Derivation::DeriveVecPartial<3>(vectorField, 1, 0, pos, nullptr); - Real drdtheta = Derivation::DeriveVecPartial<3>(vectorField, 0, 1, pos, nullptr); + x[deriv_index] = orig_x + 3 * h; + Real y3h = f(x); - Vector3Spherical ret; - const Real &r = pos[0]; - const Real &theta = pos[1]; - const Real &phi = pos[2]; + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f(x); - ret[0] = 1 / (r * sin(theta)) * (cos(theta) * vals[2] + sin(theta) * dphidtheta - dthetadphi); - ret[1] = 1 / r * (1 / sin(theta) * drdphi - vals[2] - r * dphidr); - ret[2] = 1 / r * (vals[1] + r * dthetadr - drdtheta); + x[deriv_index] = orig_x + 4 * h; + Real y4h = f(x); - return ret; - } + x[deriv_index] = orig_x - 4 * h; + Real ym4h = f(x); - static Vector3Cylindrical CurlCyl(const IVectorFunction<3> &vectorField, const VectorN &pos) - { - VectorN vals = vectorField(pos); + Real y1 = yh - ymh; + Real y2 = ym2h - y2h; + Real y3 = y3h - ym3h; + Real y4 = ym4h - y4h; - Real dzdphi = Derivation::DeriveVecPartial<3>(vectorField, 2, 1, pos, nullptr); - Real dphidz = Derivation::DeriveVecPartial<3>(vectorField, 1, 2, pos, nullptr); + Real tmp1 = 3 * y4 / 8 + 4 * y3; + Real tmp2 = 21 * y2 + 84 * y1; - Real drdz = Derivation::DeriveVecPartial<3>(vectorField, 0, 2, pos, nullptr); - Real dzdr = Derivation::DeriveVecPartial<3>(vectorField, 2, 0, pos, nullptr); + if (error) + { + x[deriv_index] = orig_x + 5 * h; + Real y5h = f(x); - Real dphidr = Derivation::DeriveVecPartial<3>(vectorField, 1, 0, pos, nullptr); - Real drdphi = Derivation::DeriveVecPartial<3>(vectorField, 0, 1, pos, nullptr); + x[deriv_index] = orig_x - 5 * h; + Real ym5h = f(x); - Vector3Cylindrical ret{ (Real) (1.0 / pos[0] * dzdphi - dphidz), drdz - dzdr, 1 / pos[0] * (vals[1] + pos[0] * dphidr - drdphi)}; + Real f9 = (y5h - ym5h) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - return ret; - } - }; -} -/////////////////////////// ./include/core/ChebyshevApproximation.h /////////////////////////// + *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } + return (tmp1 + tmp2) / (105 * h); + } + template + static Real NSecDer8Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real* error = nullptr) + { + return NSecDer8Partial(f, der_ind1, der_ind2, point, NDer8_h, error); + } -namespace MML -{ -class ChebyshevApproximation { - int n,m; - Vector c; - Real a,b; + template + static Real NSecDer8Partial(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[der_ind2]; + auto x_eval_pos = point; - // Constructor from previously computed coefficients. - ChebyshevApproximation(Vector &cc, Real aa, Real bb) - : n(cc.size()), m(n), c(cc), a(aa), b(bb) {} + x_eval_pos[der_ind2] = orig_x + h; + Real yh = NDer8Partial(f, der_ind1, x_eval_pos, error); - // Set m, the number of coefficients after truncating to an error level thresh, and return the value set - int setm(Real thresh) {while (m>1 && std::abs(c[m-1]) f(n); - bma=0.5*(b-a); - bpa=0.5*(b+a); - for (k=0;k 0.0) throw("x not in range in Chebyshev::eval"); - y2=2.0*(y=(2.0*x-a-b)/(b-a)); - for (j=m-1;j>0;j--) { - sv=d; - d=y2*d-dd+c[j]; - dd=sv; - } - return y*d-dd+0.5*c[0]; - } + x_eval_pos[der_ind2] = orig_x - h; + Real ymh = NDer8Partial(f, der_ind1, x_eval_pos, error); - // Return a new Chebyshev object that approximates the derivative of the existing function over - // the same range [a,b]. - ChebyshevApproximation derivative() - { - int j; - Real con; - Vector cder(n); - cder[n-1]=0.0; - cder[n-2]=2*(n-1)*c[n-1]; - for (j=n-2;j>0;j--) - cder[j-1]=cder[j+1]+2*j*c[j]; - con=2.0/(b-a); - for (j=0;j cint(n); - con=0.25*(b-a); - for (j=1;j &d) - : n(d.size()), m(n), c(n), a(-1.), b(1.) - { - c[n-1]=d[n-1]; - c[n-2]=2.0*d[n-2]; - for (int j=n-3;j>=0;j--) { - c[j]=2.0*d[j]+c[j+2]; - for (int i=j+1;i polycofs(int m) - { - int k,j; - Real sv; - Vector d(m),dd(m); - for (j=0;j0;j--) { - for (k=m-j;k>0;k--) { - sv=d[k]; - d[k]=2.0*d[k-1]-dd[k]; - dd[k]=sv; - } - sv=d[0]; - d[0] = -dd[0]+c[j]; - dd[0]=sv; - } - for (j=m-1;j>0;j--) d[j]=d[j-1]-dd[j]; - d[0] = -dd[0]+0.5*c[0]; - return d; - } -}; + x_eval_pos[der_ind2] = orig_x + 3 * h; + Real y3h = NDer8Partial(f, der_ind1, x_eval_pos, error); -} // namespace MML + x_eval_pos[der_ind2] = orig_x - 3 * h; + Real ym3h = NDer8Partial(f, der_ind1, x_eval_pos, error); -/////////////////////////// ./include/core/FunctionSpace.h /////////////////////////// + x_eval_pos[der_ind2] = orig_x + 4 * h; + Real y4h = NDer8Partial(f, der_ind1, x_eval_pos, error); + x_eval_pos[der_ind2] = orig_x - 4 * h; + Real ym4h = NDer8Partial(f, der_ind1, x_eval_pos, error); + Real y1 = yh - ymh; + Real y2 = ym2h - y2h; + Real y3 = y3h - ym3h; + Real y4 = ym4h - y4h; + Real tmp1 = 3 * y4 / 8 + 4 * y3; + Real tmp2 = 21 * y2 + 84 * y1; -namespace MML -{ - // razmisliti o complex verziji - template - class OrthogonalFunctionsSpaceN : public HilbertSpace> - { - protected: - Real _low, _upp; - public: - OrthogonalFunctionsSpaceN(Real low, Real upp) : _low(low), _upp(upp) {} + if (error) + { + x_eval_pos[der_ind2] = orig_x + 5 * h; + Real y5h = NDer8Partial(f, der_ind1, x_eval_pos, error); - virtual Real getLeadCoef(int i) = 0; + x_eval_pos[der_ind2] = orig_x - 5 * h; + Real ym5h = NDer8Partial(f, der_ind1, x_eval_pos, error); - virtual const IRealFunction& getBasisFunc(int i) = 0; - virtual const IRealFunction& getWeightFunc() = 0; + Real f9 = (y5h - ym5h) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - virtual VectorN getRepr(const IRealFunction &f){ - VectorN ret; + *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } - for(int i=0; i + static VectorN NDer8PartialByAll(const IScalarFunction& f, const VectorN& point, VectorN* error = nullptr) + { + return NDer8PartialByAll(f, point, NDer8_h, error); + } - return ret; - } + template + static VectorN NDer8PartialByAll(const IScalarFunction& f, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - virtual Real scal_prod(const VectorN &a, const VectorN &b) const { return a.ScalarProductCartesian(b); } - }; + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer8Partial(f, i, point, h, &(*error)[i]); + else + ret[i] = NDer8Partial(f, i, point, h); + } - class HermitianFunctionSpace5 : public OrthogonalFunctionsSpaceN<5> - { - private: - const static inline RealFunction _weightFunc = RealFunction([](Real x) { return exp(-x*x);}); - - const static inline RealFunction _basisFunctions[5] = { - RealFunction([](Real x) { return (Real) std::hermite(0,x); }), - RealFunction([](Real x) { return (Real) std::hermite(1,x); }), - RealFunction([](Real x) { return (Real) std::hermite(2,x); }), - RealFunction([](Real x) { return (Real) std::hermite(3,x); }), - RealFunction([](Real x) { return (Real) std::hermite(4,x); }) - }; - public: - HermitianFunctionSpace5() : OrthogonalFunctionsSpaceN(Constants::NegativeInf, Constants::PositiveInf) {} - HermitianFunctionSpace5(Real low, Real upp) : OrthogonalFunctionsSpaceN(low, upp) {} - - Real getLeadCoef(int i) { return 1 / (std::pow(2, i) * Functions::Factorial(i) * sqrt(Constants::PI)); } + return ret; + } - const IRealFunction& getBasisFunc(int i) { return _basisFunctions[i]; } - const IRealFunction& getWeightFunc() { return _weightFunc; } - }; + ////////////////////////// VectorFunction ////////////////////////// + template + static Real NDer8Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real* error = nullptr) + { + return NDer8Partial(f, func_index, deriv_index, point, NDer8_h, error); + } - class LegendreFunctionSpace5 : public OrthogonalFunctionsSpaceN<5> - { - private: - const static inline RealFunction _weightFunc = RealFunction([](Real x) { return (Real) 1.0;}); - - const static inline RealFunction _basisFunctions[5] = { - RealFunction([](Real x) { return (Real) std::legendre(0,x); }), - RealFunction([](Real x) { return (Real) std::legendre(1,x); }), - RealFunction([](Real x) { return (Real) std::legendre(2,x); }), - RealFunction([](Real x) { return (Real) std::legendre(3,x); }), - RealFunction([](Real x) { return (Real) std::legendre(4,x); }) - }; - public: - LegendreFunctionSpace5() : OrthogonalFunctionsSpaceN(-1.0, 1.0) {} - - Real getLeadCoef(int i) { return i * 0.5; } - - const IRealFunction& getBasisFunc(int i) { return _basisFunctions[i]; } - const IRealFunction& getWeightFunc() { return _weightFunc; } - }; + template + static Real NDer8Partial(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real h, Real* error = nullptr) + { + Real orig_x = point[deriv_index]; - class LaguerreFunctionSpace5 : public OrthogonalFunctionsSpaceN<5> - { - private: - Real _alpha; - - Real weight_func(Real x) { return exp(-x) * pow(x, _alpha); } - RealFunctionFromStdFunc _weightFunc = std::function { std::bind( &LaguerreFunctionSpace5::weight_func, this, std::placeholders::_1 ) }; - - const static inline RealFunction _basisFunctions[5] = { - RealFunction([](Real x) { return (Real) std::laguerre(0,x); }), - RealFunction([](Real x) { return (Real) std::laguerre(1,x); }), - RealFunction([](Real x) { return (Real) std::laguerre(2,x); }), - RealFunction([](Real x) { return (Real) std::laguerre(3,x); }), - RealFunction([](Real x) { return (Real) std::laguerre(4,x); }) - }; - public: - LaguerreFunctionSpace5(Real inAlpha) : OrthogonalFunctionsSpaceN(0.0, Constants::PositiveInf) - { - if( inAlpha <= -1.0 ) - throw std::runtime_error("Alpha must bi bigger than -1"); + VectorN x{ point }; - _alpha = inAlpha; - } - - Real getLeadCoef(int i) { return Functions::Factorial(i) / std::tgamma(i + _alpha + 1); } + x[deriv_index] = orig_x + h; + Real yh = f(x)[func_index]; - const IRealFunction& getBasisFunc(int i) { return _basisFunctions[i]; } - const IRealFunction& getWeightFunc() { return _weightFunc; } - }; + x[deriv_index] = orig_x - h; + Real ymh = f(x)[func_index]; - // TODO - promijeniti u dinamicki vektor!!!, ali ostaviti N template param - template - class DiscretizedFunctionSpaceN : public VectorSpace> - { - private: - Real _low, _upp; - public: - DiscretizedFunctionSpaceN(Real low, Real upp) : _low(low), _upp(upp) {} + x[deriv_index] = orig_x + 2 * h; + Real y2h = f(x)[func_index]; - // each function is a vector of values, of that function at discretized points - VectorN getRepr(const IRealFunction &f) - { - VectorN ret; - for (int i = 0; i < N; i++) - { - Real x = _low + i * (_upp - _low) / (N - 1); - ret[i] = f(x); - } - return ret; - } + x[deriv_index] = orig_x - 2 * h; + Real ym2h = f(x)[func_index]; - // crucial, then you can define operators on functions, but actually vectors, and applying operator to function is multiplying matrix with vector - }; -} -/////////////////////////// ./include/core/Curves.h /////////////////////////// + x[deriv_index] = orig_x + 3 * h; + Real y3h = f(x)[func_index]; + x[deriv_index] = orig_x - 3 * h; + Real ym3h = f(x)[func_index]; + x[deriv_index] = orig_x + 4 * h; + Real y4h = f(x)[func_index]; -namespace MML -{ - namespace Curves2D - { - //////////////////////////////// PLANAR CURVES ////////////////////////////////// - class Circle2DCurve : public IParametricCurve<2> - { - Real _radius; - public: - Circle2DCurve() : _radius(1) {} - Circle2DCurve(Real radius) : _radius(radius) {} + x[deriv_index] = orig_x - 4 * h; + Real ym4h = f(x)[func_index]; - Real getMinT() const { return 0.0; } - Real getMaxT() const { return 2 * Constants::PI; } + Real y1 = yh - ymh; + Real y2 = ym2h - y2h; + Real y3 = y3h - ym3h; + Real y4 = ym4h - y4h; - VectorN operator()(Real t) const { return MML::VectorN{_radius * cos(t), _radius * sin(t)}; } - }; + Real tmp1 = 3 * y4 / 8 + 4 * y3; + Real tmp2 = 21 * y2 + 84 * y1; - class LogSpiralCurve : public IParametricCurve<2> - { - Real _lambda, _c; - public: - LogSpiralCurve() : _lambda(-1), _c(1) {} - LogSpiralCurve(Real lambda, Real c) : _lambda(lambda), _c(c) { - if( lambda >= 0 ) throw std::invalid_argument("LogSpiralCurve: lambda must be negative."); - if( c == 0 ) throw std::invalid_argument("LogSpiralCurve: c must not be zero."); - } + if (error) + { + x[deriv_index] = orig_x + 5 * h; + Real y5h = f(x)[func_index]; - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + x[deriv_index] = orig_x - 5 * h; + Real ym5h = f(x)[func_index]; - VectorN operator()(Real t) const { return MML::VectorN{exp(_lambda * t) * cos(t), exp(_lambda * t) * sin(t)}; } - }; + Real f9 = (y5h - ym5h) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - class LemniscateCurve : public IParametricCurve<2> - { - public: - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + *error = std::abs(f9) / (630 * h) + 7 * (std::abs(yh) + std::abs(ymh)) * Constants::Epsilon / h; + } - VectorN operator()(Real t) const { return MML::VectorN{cos(t) / (1 + sin(t)*sin(t)), sin(t) * cos(t) / (1 + sin(t)*sin(t))}; } - }; + return (tmp1 + tmp2) / (105 * h); + } - class DeltoidCurve : public IParametricCurve<2> - { - int _n; - public: - DeltoidCurve() : _n(1) {} - DeltoidCurve(int n) : _n(n) {} + template + static VectorN NDer8PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, VectorN* error = nullptr) + { + return NDer8PartialByAll(f, func_index, point, NDer8_h, error); + } - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + template + static VectorN NDer8PartialByAll(const IVectorFunction& f, int func_index, const VectorN& point, Real h, VectorN* error = nullptr) + { + VectorN ret; - VectorN operator()(Real t) const { return MML::VectorN{2 * _n * cos(t) * (1 + cos(t)), 2 * _n * sin(t) * (1 - cos(t))}; } - }; + for (int i = 0; i < N; i++) + { + if (error) + ret[i] = NDer8Partial(f, func_index, i, point, h, &(*error)[i]); + else + ret[i] = NDer8Partial(f, func_index, i, point, h); + } - class AstroidCurve : public IParametricCurve<2> - { - Real _c; - public: - AstroidCurve() : _c(1) {} - AstroidCurve(Real c) : _c(c) { - if( c <= 0 ) throw std::invalid_argument("AstroidCurve: c must be positive."); - } + return ret; + } - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + template + static MatrixNM NDer8PartialAllByAll(const IVectorFunction& f, const VectorN& point, MatrixNM* error = nullptr) + { + return NDer8PartialAllByAll(f, point, NDer8_h, error); + } - VectorN operator()(Real t) const { return MML::VectorN{_c * cos(t)* cos(t)* cos(t), _c * sin(t)* sin(t)* sin(t)}; } - }; + template + static MatrixNM NDer8PartialAllByAll(const IVectorFunction& f, const VectorN& point, Real h, MatrixNM* error = nullptr) + { + MatrixNM ret; - class EpitrochoidCurve : public IParametricCurve<2> - { - Real _radius, _c; - int _n; - public: - EpitrochoidCurve() : _radius(1), _c(1), _n(1) {} - EpitrochoidCurve(Real radius, Real c, int n) : _radius(radius), _c(c), _n(n) {} + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + { + if (error) + ret(i, j) = NDer8Partial(f, i, j, point, h, &((*error)(i, j))); + else + ret(i, j) = NDer8Partial(f, i, j, point, h); + } - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + return ret; + } - VectorN operator()(Real t) const { return MML::VectorN{cos(t) - _c * cos(_n*t), sin(t) - _c * sin(_n*t) }; } - }; - - class ArchimedeanSpiralCurve : public IParametricCurve<2> - { - Real _a; - public: - ArchimedeanSpiralCurve() : _a(1) {} - ArchimedeanSpiralCurve(Real a) : _a(a) {} + ///////////////////////// ParametricCurve ///////////////////////// + template + static VectorN NDer8(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NDer8(f, t, NDer8_h, error); + } - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + template + static VectorN NDer8(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = f(t + h); + VectorN ymh = f(t - h); + VectorN y1 = yh - ymh; + VectorN y2 = f(t - 2 * h) - f(t + 2 * h); + VectorN y3 = f(t + 3 * h) - f(t - 3 * h); + VectorN y4 = f(t - 4 * h) - f(t + 4 * h); - VectorN operator()(Real t) const { return MML::VectorN{_a * t * cos(t), _a * t * sin(t)}; } - }; - } // end namespace Curves2D - - namespace Curves3D - { - ///////////////////////////////// SPACE CURVES /////////////////////////////////// - class LineCurve : public IParametricCurve<3> - { - Line3D _line; - Real _minT; - Real _maxT; - public: - LineCurve(Real minT, Real maxT, const Point3Cartesian &pnt, const Vector3Cartesian dir) : _line(pnt, dir), _minT(minT), _maxT(maxT) {} + VectorN tmp1 = 3 * y4 / 8 + 4 * y3; + VectorN tmp2 = 21 * y2 + 84 * y1; - Real getMinT() const { return _minT; } - Real getMaxT() const { return _maxT; } + if (error) + { + VectorN f9 = (f(t + 5 * h) - f(t - 5 * h)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - VectorN operator()(Real t) const - { - if( t < _minT || t > _maxT ) - throw std::invalid_argument("LineCurve: t is out of range."); + *error = f9.NormL2() / (630 * h) + 7 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; + } + return (tmp1 + tmp2) / (105 * h); + } - auto pnt = _line.PointOnLine(t); - return VectorN{pnt.X(), pnt.Y(), pnt.Z()}; - } - }; - - // TODO 0.9 - add SquarePathXY + template + static VectorN NSecDer8(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NSecDer8(f, t, NDer8_h, error); + } - class Circle3DXY : public IParametricCurve<3> { - Real _radius; - public: - Circle3DXY() : _radius(1) {} - Circle3DXY(Real radius) : _radius(radius) {} + template + static VectorN NSecDer8(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = NDer8(f, t + h, error); + VectorN ymh = NDer8(f, t - h, error); + VectorN y1 = yh - ymh; + VectorN y2 = NDer8(f, t - 2 * h, error) - NDer8(f, t + 2 * h, error); + VectorN y3 = NDer8(f, t + 3 * h, error) - NDer8(f, t - 3 * h, error); + VectorN y4 = NDer8(f, t - 4 * h, error) - NDer8(f, t + 4 * h, error); - Real getMinT() const { return 0.0; } - Real getMaxT() const { return 2 * Constants::PI; } + VectorN tmp1 = 3 * y4 / 8 + 4 * y3; + VectorN tmp2 = 21 * y2 + 84 * y1; - VectorN operator()(Real t) const { return MML::VectorN{_radius * cos(t), _radius * sin(t), 0}; } - }; - class Circle3DXZ : public IParametricCurve<3> { - Real _radius; - public: - Circle3DXZ() : _radius(1) {} - Circle3DXZ(Real radius) : _radius(radius) {} + if (error) + { + VectorN f9 = (NDer8(f, t + 5 * h, error) - NDer8(f, t - 5 * h, error)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - Real getMinT() const { return 0.0; } - Real getMaxT() const { return 2 * Constants::PI; } + *error = f9.NormL2() / (630 * h) + 7 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; + } + return (tmp1 + tmp2) / (105 * h); + } - VectorN operator()(Real t) const { return MML::VectorN{_radius * cos(t), 0, _radius * sin(t)}; } - }; - class Circle3DYZ : public IParametricCurve<3> { - Real _radius; - public: - Circle3DYZ() : _radius(1) {} - Circle3DYZ(Real radius) : _radius(radius) {} - - Real getMinT() const { return 0.0; } - Real getMaxT() const { return 2 * Constants::PI; } - - VectorN operator()(Real t) const { return MML::VectorN{0, _radius * cos(t), _radius * sin(t)}; } - }; - - class HelixCurve : public IParametricCurve<3> - { - Real _radius, _b; - public: - HelixCurve() : _radius(1.0), _b(1.0) {} - HelixCurve(Real radius, Real b) : _radius(radius), _b(b) {} + template + static VectorN NThirdDer8(const IParametricCurve& f, Real t, Real* error = nullptr) + { + return NThirdDer8(f, t, NDer8_h, error); + } - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + template + static VectorN NThirdDer8(const IParametricCurve& f, Real t, Real h, Real* error = nullptr) + { + VectorN yh = NSecDer8(f, t + h, error); + VectorN ymh = NSecDer8(f, t - h, error); + VectorN y1 = yh - ymh; + VectorN y2 = NSecDer8(f, t - 2 * h, error) - NSecDer8(f, t + 2 * h, error); + VectorN y3 = NSecDer8(f, t + 3 * h, error) - NSecDer8(f, t - 3 * h, error); + VectorN y4 = NSecDer8(f, t - 4 * h, error) - NSecDer8(f, t + 4 * h, error); - VectorN operator()(Real t) const { return MML::VectorN{_radius * cos(t), _radius * sin(t), _b * t}; } + VectorN tmp1 = 3 * y4 / 8 + 4 * y3; + VectorN tmp2 = 21 * y2 + 84 * y1; - Real getCurvature(Real t) const { return _radius / (POW2(_radius) + POW2(_b)); } - Real getTorsion(Real t) const { return _b / (POW2(_radius) + POW2(_b)); } - }; + if (error) + { + VectorN f9 = (NSecDer8(f, t + 5 * h, error) - NSecDer8(f, t - 5 * h, error)) / 2 + 4 * y4 + 27 * y3 / 2 + 24 * y2 + 21 * y1; - class TwistedCubicCurve : public IParametricCurve<3> - { - public: - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + *error = f9.NormL2() / (630 * h) + 7 * (yh.NormL2() + ymh.NormL2()) * Constants::Epsilon / h; + } + return (tmp1 + tmp2) / (105 * h); + } - VectorN operator()(Real t) const { return MML::VectorN{t, t * t, t * t * t}; } - }; + /********************************************************************************************************************/ + /******** Definitions of default derivation functions ********/ + /********************************************************************************************************************/ + static inline Real(*Derive)(const IRealFunction& f, Real x, Real* error) = Derivation::NDer4; - class ToroidalSpiralCurve : public IParametricCurve<3> - { - int _n; - Real _scale = 1.0; - public: - ToroidalSpiralCurve() : _n(1) {} - ToroidalSpiralCurve(int n) : _n(n) {} - ToroidalSpiralCurve(Real scale) : _scale(scale) {} - ToroidalSpiralCurve(int n, Real scale) : _n(n), _scale(scale) {} + static inline Real(*DeriveSec)(const IRealFunction& f, Real x, Real* error) = Derivation::NSecDer4; - Real getMinT() const { return Constants::NegativeInf; } - Real getMaxT() const { return Constants::PositiveInf; } + static inline Real(*DeriveThird)(const IRealFunction& f, Real x, Real* error) = Derivation::NThirdDer2; - VectorN operator()(Real t) const { return MML::VectorN{(_scale * (4 + sin(_n*t)) * cos(t)), _scale * (4 + sin(_n*t)) * sin(t), _scale * cos(_n*t)}; } - }; - } -} -/////////////////////////// ./include/core/Surfaces.h /////////////////////////// + template + static inline Real(*DerivePartial)(const IScalarFunction& f, int deriv_index, const VectorN& point, Real* error) = Derivation::NDer4Partial; + template + static inline Real(*DeriveSecPartial)(const IScalarFunction& f, int der_ind1, int der_ind2, const VectorN& point, Real* error) = Derivation::NSecDer4Partial; -namespace MML -{ - namespace Surfaces - { - // TODO - SimplePlane3D, given by point and normal + template + static inline VectorN(*DerivePartialAll)(const IScalarFunction& f, const VectorN& point, VectorN* error) = Derivation::NDer4PartialByAll; - // MonkeySaddle - class MonkeySaddle : public IParametricSurface<3> - { - public: - Real getMinU() const { return -10; } - Real getMaxU() const { return 10; } - Real getMinW() const { return -10; } - Real getMaxW() const { return 10; } - - VectorN operator()(Real u, Real w) const { return MML::VectorN{u, w, u * (u*u - 3 * w*w)}; } - }; - // MobiusStrip - class MobiusStrip : public IParametricSurface<3> - { - public: - Real getMinU() const { return 0; } - Real getMaxU() const { return 2 * Constants::PI; } - Real getMinW() const { return -1; } - Real getMaxW() const { return 1; } - - VectorN operator()(Real u, Real w) const { return MML::VectorN{(1 + w * cos(u / 2)) * cos(u), (1 + w * cos(u / 2)) * sin(u), w * sin(u / 2)}; } - }; - // Torus - class Torus : public IParametricSurface<3> - { - Real _R, _r; - public: - Torus() : _R(1), _r(0.5) {} - Torus(Real R, Real r) : _R(R), _r(r) {} - - Real getMinU() const { return 0; } - Real getMaxU() const { return 2 * Constants::PI; } - Real getMinW() const { return 0; } - Real getMaxW() const { return 2 * Constants::PI; } - - VectorN operator()(Real u, Real w) const { return MML::VectorN{(_R + _r * cos(w)) * cos(u), (_R + _r * cos(w)) * sin(u), _r * sin(w)}; } - }; - // Sphere - class Sphere : public IParametricSurface<3> - { - Real _R; - public: - Sphere() : _R(1) {} - Sphere(Real R) : _R(R) {} - - Real getMinU() const { return 0; } - Real getMaxU() const { return Constants::PI; } - Real getMinW() const { return 0; } - Real getMaxW() const { return 2 * Constants::PI; } - - VectorN operator()(Real u, Real w) const { return MML::VectorN{_R * sin(u) * cos(w), _R * sin(u) * sin(w), _R * cos(u)}; } - }; - // Ellipsoid - class Ellipsoid : public IParametricSurface<3> - { - Real _a, _b, _c; - public: - Ellipsoid() : _a(1), _b(1), _c(1) {} - Ellipsoid(Real a, Real b, Real c) : _a(a), _b(b), _c(c) {} - - Real getMinU() const { return 0; } - Real getMaxU() const { return Constants::PI; } - Real getMinW() const { return 0; } - Real getMaxW() const { return 2 * Constants::PI; } - - VectorN operator()(Real u, Real w) const { return MML::VectorN{_a * sin(u) * cos(w), _b * sin(u) * sin(w), _c * cos(u)}; } - }; - // Cylinder - class Cylinder : public IParametricSurface<3> - { - Real _R, _H; - public: - Cylinder() : _R(1), _H(1) {} - Cylinder(Real R, Real H) : _R(R), _H(H) {} - Real getMinU() const { return 0; } - Real getMaxU() const { return 2 * Constants::PI; } - Real getMinW() const { return 0; } - Real getMaxW() const { return _H; } + template + static inline Real(*DeriveVecPartial)(const IVectorFunction& f, int func_index, int deriv_index, const VectorN& point, Real* error) = Derivation::NDer4Partial; - VectorN operator()(Real u, Real w) const { return MML::VectorN{_R * cos(u), _R * sin(u), w}; } - }; - + template + static inline VectorN(*DeriveVecPartialAll)(const IVectorFunction& f, int func_index, const VectorN& point, VectorN* error) = Derivation::NDer4PartialByAll; - } + template + static inline MatrixNM(*DeriveVecPartialAllByAll)(const IVectorFunction& f, const VectorN& point, MatrixNM* error) = Derivation::NDer4PartialAllByAll; + + + template + static inline VectorN(*DeriveCurve)(const IParametricCurve& f, Real x, Real* error) = Derivation::NDer4; + + template + static inline VectorN(*DeriveCurveSec)(const IParametricCurve& f, Real x, Real* error) = Derivation::NSecDer4; + + template + static inline VectorN(*DeriveCurveThird)(const IParametricCurve& f, Real x, Real* error) = Derivation::NThirdDer4; + }; } -/////////////////////////// ./include/core/DiracDeltaFunction.h /////////////////////////// +/////////////////////////// ./include/core/Jacobians.h /////////////////////////// + + namespace MML { - // TODO 0.9 - implement step function - // TODO 0.9 - implement heaviside function - class DiracFunction : public IRealFunction - { - protected: - int _N; - public: - DiracFunction(int N) : _N(N) {} - }; + template + class Jacobian + { + public: + static MatrixNM calc(const IVectorFunction& func, const VectorN& x) + { + MatrixNM jac; - class DiracStep : public DiracFunction - { - public: - DiracStep(int N) : DiracFunction(N) {} - - Real operator()(const Real x) const - { - if( x < -1.0 / (2 * _N) || x > 1.0 / (2 * _N) ) - return 0.0; - else - return _N; - } - }; - class DiracExp : public DiracFunction - { - public: - DiracExp(int N) : DiracFunction(N) {} + for (int i = 0; i < N; ++i) + for (int j = 0; j < N; ++j) + { + jac(i, j) = Derivation::NDer4Partial(func, i, j, x); + } - Real operator()(const Real x) const { return _N / sqrt(2 * Constants::PI) * exp(-x * x * _N * _N); } - }; - class DiracSqr : public DiracFunction - { - public: - DiracSqr(int N) : DiracFunction(N) {} + return jac; + } - Real operator()(const Real x) const { return _N / Constants::PI / (1 + _N*_N * x*x); } - }; - class DiracSin : public DiracFunction - { - public: - DiracSin(int N) : DiracFunction(N) {} + template + static MatrixNM calc(const IVectorFunctionNM& func, const VectorN& x) + { + MatrixNM jac; - Real operator()(const Real x) const { return sin(_N * x) / (Constants::PI * x); } - }; -} + for (int i = 0; i < M; ++i) + for (int j = 0; j < N; ++j) + { + jac(i, j) = Derivation::NDer4Partial(func, i, j, x); + } + + return jac; + } + + static MatrixNM calc(const ICoordTransf& func, const VectorN& x) + { + MatrixNM jac; + + for (int i = 0; i < N; ++i) + for (int j = 0; j < N; ++j) + { + jac(i, j) = Derivation::NDer4Partial(func.coordTransfFunc(i), j, x); + } + + return jac; + } + }; +} + +/////////////////////////// ./include/core/Integration.h /////////////////////////// + + + +namespace MML +{ + enum IntegrationMethod { TRAP, SIMPSON, ROMBERG, GAUSS10 }; + + + static Real TrapRefine(const IRealFunction& func, const Real a, const Real b, const int n) + { + // This routine computes the nth stage of refinement of an extended trapezoidal rule. func is input + // as a pointer to the function to be integrated between limits a and b, also input. When called with + // n=1, the routine returns the crudest estimate of Rab f(x)dx. Subsequent calls with n=2,3,... + // (in that sequential order) will improve the accuracy by adding 2n-2 additional interior points. + Real x, tnm, sum, del; + static Real s; + int it, j; + + if (n == 1) { + return (s = 0.5 * (b - a) * (func(a) + func(b))); + } + else + { + for (it = 1, j = 1; j < n - 1; j++) + it <<= 1; + + tnm = it; + del = (b - a) / tnm; + x = a + 0.5 * del; + + for (sum = 0.0, j = 0; j < it; j++, x += del) + sum += func(x); + + s = 0.5 * (s + (b - a) * sum / tnm); + + return s; + } + } + + static Real IntegrateTrap(const IRealFunction& func, const Real a, const Real b, Real req_eps) + { + // Returns the integral of the function func from a to b. The parameters EPS can be set to the + // desired fractional accuracy and JMAX so that 2 to the power JMAX-1 is the maximum allowed + // number of steps. Integration is performed by the trapezoidal rule. + + // Unsophisticated as it is, routine qtrap is in fact a fairly robust way of doing + // integrals of functions that are not very smooth. Increased sophistication will usually + // translate into a higher-order method whose efficiency will be greater only for + // sufficiently smooth integrands. qtrap is the method of choice, e.g., for an integrand + // which is a function of a variable that is linearly interpolated between measured data + // points. Be sure that you do not require too stringent an EPS, however: If qtrap takes + // too many steps in trying to achieve your required accuracy, accumulated roundoff + // errors may start increasing, and the routine may never converge. + // Value 1e-6 is just on the edge of trouble for most 32-bit machines; it is achievable when the + // convergence is moderately rapid, but not otherwise. + int j; + Real s, olds = 0.0; + Real diff = 0.0, threshold = 0.0; + + for (j = 0; j < Defaults::IntegrateTrapMaxSteps; j++) + { + s = TrapRefine(func, a, b, j + 1); + + if (j > 5) + { + diff = s - olds; + threshold = req_eps * std::abs(olds); + if (std::abs(diff) < threshold || (s == 0.0 && olds == 0.0)) + { + // std::cout << "\ns : " << s << " olds : " << olds << " diff : " << diff << " threshold : " << threshold << std::endl; + return s; + } + } + olds = s; + } + return s; + // TODO - add parameter to signal this situation + throw IntegrationTooManySteps("qtrap"); + } + static Real IntegrateTrap(const IRealFunction& func, const Real a, const Real b) + { + return IntegrateTrap(func, a, b, Defaults::IntegrateTrapEPS); + } + + static Real IntegrateSimpson(const IRealFunction& func, const Real a, const Real b, Real req_eps) + { + // Returns the integral of the function func from a to b. The parameters EPS can be set to the + // desired fractional accuracy and JMAX so that 2 to the power JMAX-1 is the maximum allowed + // number of steps. Integration is performed by Simpson’s rule. + + // The routine qsimp will in general be more efficient than qtrap (i.e., require + // fewer function evaluations) when the function to be integrated has a finite 4th + // derivative (i.e., a continuous 3rd derivative). The combination of qsimp and its + // necessary workhorse trapzd is a good one for light-duty work. + int j; + Real s, st, ost = 0.0, os = 0.0; + + for (j = 0; j < Defaults::IntegrateSimpMaxSteps; j++) + { + st = TrapRefine(func, a, b, j + 1); + s = (4.0 * st - ost) / 3.0; + + if (j > 5) + if (std::abs(s - os) < req_eps * std::abs(os) || + (s == 0.0 && os == 0.0)) + return s; + os = s; + ost = st; + } + throw IntegrationTooManySteps("qsimp"); + } + static Real IntegrateSimpson(const IRealFunction& func, const Real a, const Real b) + { + return IntegrateSimpson(func, a, b, Defaults::IntegrateSimpEPS); + } + + static bool polint(Vector& xa, Vector& ya, const Real x, Real& y, Real& dy) + { + int i, m, ns = 0; + Real den, dif, dift, ho, hp, w; + + int n = (int)xa.size(); + Vector c(n), d(n); + dif = fabs(x - xa[0]); + for (i = 0; i < n; i++) { + if ((dift = fabs(x - xa[i])) < dif) { + ns = i; + dif = dift; + } + c[i] = ya[i]; + d[i] = ya[i]; + } + y = ya[ns--]; + for (m = 1; m < n; m++) { + for (i = 0; i < n - m; i++) { + ho = xa[i] - x; + hp = xa[i + m] - x; + w = c[i + 1] - d[i]; + if ((den = ho - hp) == 0.0) + // nrerror("Error in routine polint"); + return false; + den = w / den; + d[i] = hp * den; + c[i] = ho * den; + } + y += (dy = (2 * (ns + 1) < (n - m) ? c[ns + 1] : d[ns--])); + } + return true; + } + + static void polin2(Vector& x1a, Vector& x2a, Matrix& ya, const Real x1, + const Real x2, Real& y, Real& dy) + // Given arrays x1a[1..m] and x2a[1..n] of independent variables, and a submatrix of function + // values ya[1..m][1..n], tabulated at the grid points defined by x1a and x2a; and given values + // x1 and x2 of the independent variables; this routine returns an interpolated function value y, + // and an accuracy indication dy (based only on the interpolation in the x1 direction, however). + { + int j, k; + + int m = (int)x1a.size(); + int n = (int)x2a.size(); + Vector ymtmp(m), ya_t(n); + for (j = 0; j < m; j++) { + for (k = 0; k < n; k++) + ya_t[k] = ya[j][k]; + + polint(x2a, ya_t, x2, ymtmp[j], dy); + } + polint(x1a, ymtmp, x1, y, dy); + } + + static Real IntegrateRomberg(const IRealFunction& func, const Real a, const Real b, Real req_eps) + { + // Returns the integral of the function func from a to b. Integration is performed by Romberg’s + // method of order 2K, where, e.g., K=2 is Simpson’s rule. + + // The routine qromb, along with its required trapzd and polint, is quite + // powerful for sufficiently smooth (e.g., analytic) integrands, integrated over intervals + // which contain no singularities, and where the enRealoints are also nonsingular. qromb, + // in such circumstances, takes many, many fewer function evaluations than either of + // the routines in x4.2 + const int JMAXP = Defaults::IntegrateRombMaxSteps + 1, K = 5; + Real ss, dss; + Vector s(Defaults::IntegrateRombMaxSteps), h(JMAXP), s_t(K), h_t(K); + + h[0] = 1.0; + for (int j = 1; j <= Defaults::IntegrateRombMaxSteps; j++) + { + s[j - 1] = TrapRefine(func, a, b, j); + + if (j >= K) + { + for (int i = 0; i < K; i++) { + h_t[i] = h[j - K + i]; + s_t[i] = s[j - K + i]; + } + + polint(h_t, s_t, 0.0, ss, dss); + + if (std::abs(dss) <= req_eps * std::abs(ss)) + return ss; + } + + h[j] = 0.25 * h[j - 1]; + } + throw IntegrationTooManySteps("qromb"); + } + static Real IntegrateRomberg(const IRealFunction& func, const Real a, const Real b) + { + return IntegrateRomberg(func, a, b, Defaults::IntegrateRombEPS); + } + + static Real IntegrateGauss10(const IRealFunction& func, const Real a, const Real b) + { + // Returns the integral of the function func between a and b, by ten-point GaussLegendre integration: + // the function is evaluated exactly ten times at interior points in the range of integration. + static const Real x[] = { 0.1488743389816312,0.4333953941292472, + 0.6794095682990244,0.8650633666889845,0.9739065285171717 }; + static const Real w[] = { 0.2955242247147529,0.2692667193099963, + 0.2190863625159821,0.1494513491505806,0.0666713443086881 }; + Real xm = 0.5 * (b + a); + Real xr = 0.5 * (b - a); + Real s = 0; + for (int j = 0; j < 5; j++) { + Real dx = xr * x[j]; + s += w[j] * (func(xm + dx) + func(xm - dx)); + } + return s *= xr; + } + + struct SurfIntf2 : public IRealFunction + { + mutable Real xsav; + IScalarFunction<2>& funcToInt; + + SurfIntf2(IScalarFunction<2>& func) : funcToInt(func) {} + Real operator()(const Real y) const + { + VectorN v{ xsav,y }; + return funcToInt(v); + } + }; + + struct SurfIntf1 : public IRealFunction + { + mutable SurfIntf2 f2; + IntegrationMethod method; + + IScalarFunction<2>& funcToInt; + Real(*y1)(Real); + Real(*y2)(Real); + + SurfIntf1(IScalarFunction<2>& func, IntegrationMethod inMethod, Real yy1(Real), Real yy2(Real)) : y1(yy1), y2(yy2), f2(func), funcToInt(func), method(inMethod) + {} + + Real operator()(const Real x) const + { + f2.xsav = x; + switch (method) + { + case SIMPSON: + return IntegrateSimpson(f2, y1(x), y2(x)); + case ROMBERG: + return IntegrateRomberg(f2, y1(x), y2(x)); + case GAUSS10: + return IntegrateGauss10(f2, y1(x), y2(x)); + default: + Real ret = IntegrateTrap(f2, y1(x), y2(x)); + //std::cout << "IntegrateTrap: " << ret << std::endl; + return ret; + } + } + }; + + static Real IntegrateSurface(IScalarFunction<2>& func, IntegrationMethod method, const Real x1, const Real x2, Real y1(Real), Real y2(Real)) + { + SurfIntf1 f1(func, method, y1, y2); + + switch (method) + { + case SIMPSON: + return IntegrateSimpson(f1, x1, x2); + case ROMBERG: + return IntegrateRomberg(f1, x1, x2); + case GAUSS10: + return IntegrateGauss10(f1, x1, x2); + default: + return IntegrateTrap(f1, x1, x2); + } + } + + struct VolIntf3 : public IRealFunction + { + mutable Real xsav, ysav; + IScalarFunction<3>& funcToInt; + + VolIntf3(IScalarFunction<3>& func) : funcToInt(func), xsav{ 0 }, ysav{ 0 } {} + Real operator()(const Real z) const + { + VectorN v{ xsav,ysav,z }; + return funcToInt(v); + } + }; + struct VolIntf2 : public IRealFunction + { + mutable VolIntf3 f3; + + IScalarFunction<3>& funcToInt; + Real(*z1)(Real, Real); + Real(*z2)(Real, Real); + + VolIntf2(IScalarFunction<3>& func, Real zz1(Real, Real), Real zz2(Real, Real)) : z1(zz1), z2(zz2), funcToInt(func), f3(func) {} + + Real operator()(const Real y) const + { + f3.ysav = y; + return IntegrateGauss10(f3, z1(f3.xsav, y), z2(f3.xsav, y)); + } + }; + struct VolIntf1 : public IRealFunction + { + mutable VolIntf2 f2; + + IScalarFunction<3>& funcToInt; + Real(*y1)(Real); + Real(*y2)(Real); + + VolIntf1(IScalarFunction<3>& func, Real yy1(Real), Real yy2(Real), Real z1(Real, Real), + Real z2(Real, Real)) : y1(yy1), y2(yy2), f2(func, z1, z2), funcToInt(func) + {} + + Real operator()(const Real x) const + { + f2.f3.xsav = x; + return IntegrateGauss10(f2, y1(x), y2(x)); + } + }; + + static Real IntegrateVolume(IScalarFunction<3>& func, const Real x1, const Real x2, Real y1(Real), Real y2(Real), + Real z1(Real, Real), Real z2(Real, Real)) + { + VolIntf1 f1(func, y1, y2, z1, z2); + + return IntegrateGauss10(f1, x1, x2); + } + + static inline Real(*Integrate)(const MML::IRealFunction& f, Real a, Real b, Real req_eps) = IntegrateSimpson; + +} // end namespace +/////////////////////////// ./include/core/Function.h /////////////////////////// + + + + +namespace MML +{ + /////////////////////////// REAL FUNCTION //////////////////////////////////// + class RealFunction : public IRealFunction + { + Real(*_func)(const Real); + public: + RealFunction(Real(*inFunc)(const Real)) : _func(inFunc) {} + + Real operator()(const Real x) const { return _func(x); } + }; + class RealFunctionFromStdFunc : public IRealFunction + { + std::function _func; + public: + RealFunctionFromStdFunc(std::function inFunc) : _func(inFunc) {} + + Real operator()(const Real x) const { return _func(x); } + }; + + /////////////////////////// SCALAR FUNCTION ////////////////////////////////// + template + class ScalarFunction : public IScalarFunction + { + Real(*_func)(const VectorN&); + public: + ScalarFunction(Real(*inFunc)(const VectorN&)) : _func(inFunc) {} + + Real operator()(const VectorN& x) const { return _func(x); } + }; + + template + class ScalarFunctionFromStdFunc : public IScalarFunction + { + std::function&)> _func; + public: + ScalarFunctionFromStdFunc(std::function&)> inFunc) : _func(inFunc) {} + + Real operator()(const VectorN& x) const { return _func(x); } + }; + + ///////////////////////// VECTOR FUNCTION N -> N /////////////////////////////////// + template + class VectorFunction : public IVectorFunction + { + VectorN(*_func)(const VectorN&); + public: + VectorFunction(VectorN(*inFunc)(const VectorN&)) : _func(inFunc) {} + + VectorN operator()(const VectorN& x) const { return _func(x); } + + MatrixNM jacobian(const VectorN& x) const { return Jacobian, VectorN, N>::calc(*this, x); } + }; + + template + class VectorFunctionFromStdFunc : public IVectorFunction + { + std::function(const VectorN&)> _func; + public: + VectorFunctionFromStdFunc(std::function(const VectorN&)>& inFunc) : _func(inFunc) {} + + VectorN operator()(const VectorN& x) const { return _func(x); } + + MatrixNM jacobian(const VectorN& x) const { return Jacobian, VectorN, N>::calc(*this, x); } + }; + + ///////////////////////// VECTOR FUNCTION N -> M /////////////////////////////////// + template + class VectorFunctionNM : public IVectorFunctionNM + { + VectorN(*_func)(const VectorN&); + public: + VectorFunctionNM(VectorN(*inFunc)(const VectorN&)) : _func(inFunc) {} + + VectorN operator()(const VectorN& x) const { return _func(x); } + + MatrixNM jacobian(const VectorN& x) const { return Jacobian, VectorN, N>::calc(*this, x); } + }; + + template + class VectorFunctionNMFromStdFunc : public IVectorFunctionNM + { + std::function(const VectorN&)> _func; + public: + VectorFunctionNMFromStdFunc(std::function(const VectorN&)>& inFunc) : _func(inFunc) {} + + VectorN operator()(const VectorN& x) const { return _func(x); } + + MatrixNM jacobian(const VectorN& x) const { return Jacobian, VectorN, N>::calc(*this, x); } + }; + + ////////////////////// PARAMETRIC CURVE /////////////////////////////////// + template + class ParametricCurve : public IParametricCurve + { + Real _minT; + Real _maxT; + VectorN(*_func)(Real); + public: + ParametricCurve(VectorN(*inFunc)(Real)) : _func(inFunc), _minT(Constants::NegativeInf), _maxT(Constants::PositiveInf) {} + ParametricCurve(Real minT, Real maxT, VectorN(*inFunc)(Real)) : _func(inFunc), _minT(minT), _maxT(maxT) {} + + Real getMinT() const { return _minT; } + Real getMaxT() const { return _maxT; } + + virtual VectorN operator()(Real x) const { return _func(x); } + }; + + template + class ParametricCurveFromStdFunc : public IParametricCurve + { + Real _minT; + Real _maxT; + std::function(Real)> _func; + public: + ParametricCurveFromStdFunc(std::function(Real)>& inFunc) : _func(inFunc), _minT(Constants::NegativeInf), _maxT(Constants::PositiveInf) {} + ParametricCurveFromStdFunc(Real minT, Real maxT, std::function(Real)>& inFunc) : _func(inFunc), _minT(minT), _maxT(maxT) {} + + Real getMinT() const { return _minT; } + Real getMaxT() const { return _maxT; } + + VectorN operator()(Real x) const { return _func(x); } + }; + + ///////////////////// PARAMETRIC SURFACE ////////////////////////////////// + template + class ParametricSurface : public IParametricSurface + { + // TODO - ensure that N is at least 3!!! + Real _minX; + Real _maxX; + Real _minY; + Real _maxY; + VectorN(*_func)(Real u, Real w); + + public: + ParametricSurface(VectorN(*inFunc)(Real u, Real w)) : _func(inFunc), _minX(Constants::NegativeInf), _maxX(Constants::PositiveInf), _minY(Constants::NegativeInf), _maxY(Constants::PositiveInf) {} + ParametricSurface(VectorN(*inFunc)(Real u, Real w), Real minX, Real maxX, Real minY, Real maxY) : _func(inFunc), _minX(minX), _maxX(maxX), _minY(minY), _maxY(maxY) {} + + VectorN operator()(Real u, Real w) const { return _func(u, w); } + + virtual Real getMinX() const { return _minX; } + virtual Real getMaxX() const { return _maxX; } + virtual Real getMinY() const { return _minY; } + virtual Real getMaxY() const { return _maxY; } + + // TODO - double getStartY(double x) const; // ako surface patch nije kvadratni + }; + + // imati cemo i surface Discrete, kreiran od triangles? + + template + class ParametricSurfaceFromStdFunc : public IParametricSurface + { + Real _minX; + Real _maxX; + Real _minY; + Real _maxY; + std::function(Real u, Real w)> _func; + public: + ParametricSurfaceFromStdFunc(std::function(Real u, Real w)>& inFunc) : _func(inFunc), _minX(Constants::NegativeInf), _maxX(Constants::PositiveInf), _minY(Constants::NegativeInf), _maxY(Constants::PositiveInf) {} + ParametricSurfaceFromStdFunc(std::function(Real u, Real w)>& inFunc, Real minX, Real maxX, Real minY, Real maxY) : _func(inFunc), _minX(minX), _maxX(maxX), _minY(minY), _maxY(maxY) {} + + VectorN operator()(Real u, Real w) const { return _func(u, w); } + + virtual Real getMinX() const { return _minX; } + virtual Real getMaxX() const { return _maxX; } + virtual Real getMinY() const { return _minY; } + virtual Real getMaxY() const { return _maxY; } + }; +} // end namespace + +/////////////////////////// ./include/core/FunctionHelpers.h /////////////////////////// + + + + +namespace MML +{ + + static RealPolynom TaylorSeries2(IRealFunction& f, Real a) + { + RealPolynom ret(2); + + Real val = f(a); + Real coef1 = Derivation::NDer6(f, a); + Real coef2 = Derivation::NSecDer4(f, a) / 2.0; + + ret[0] = val - coef1 * a + coef2 * POW2(a); + ret[1] = coef1 - 2.0 * coef2 * a; + ret[2] = coef2; + + return ret; + } + static RealPolynom TaylorSeries3(IRealFunction& f, Real a) + { + RealPolynom ret(3); + + Real val = f(a); + Real coef1 = Derivation::NDer6(f, a); + Real coef2 = Derivation::NSecDer4(f, a) / 2.0; + Real coef3 = Derivation::NThirdDer2(f, a) / 6.0; + + ret[0] = val - coef1 * a + coef2 * POW2(a) - coef3 * pow(a, 3); + ret[1] = coef1 - 2.0 * coef2 * a + 3.0 * coef3 * POW2(a); + ret[2] = coef2 - 3.0 * coef3 * a; + ret[3] = coef3; + + return ret; + } + + ///////////////////// FUNCTION HELPERS ////////////////////////////////// + class RealFuncDerived1 : public IRealFunction + { + IRealFunction& _f1; + Real _deriv_step; + public: + RealFuncDerived1(IRealFunction& f1) : _f1(f1), _deriv_step(0.0) {} + RealFuncDerived1(IRealFunction& f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} + + Real operator()(Real x) const { + if (_deriv_step != 0.0) + return Derivation::NDer1(_f1, x, _deriv_step); + else + return Derivation::NDer1(_f1, x); + } + }; + class RealFuncDerived2 : public IRealFunction + { + IRealFunction& _f1; + Real _deriv_step; + public: + RealFuncDerived2(IRealFunction& f1) : _f1(f1), _deriv_step(0.0) {} + RealFuncDerived2(IRealFunction& f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} + + Real operator()(Real x) const { + if (_deriv_step != 0.0) + return Derivation::NDer2(_f1, x, _deriv_step); + else + return Derivation::NDer2(_f1, x); + } + }; + class RealFuncDerived4 : public IRealFunction + { + IRealFunction& _f1; + Real _deriv_step; + public: + RealFuncDerived4(IRealFunction& f1) : _f1(f1), _deriv_step(0.0) {} + RealFuncDerived4(IRealFunction& f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} + + Real operator()(Real x) const { + if (_deriv_step != 0.0) + return Derivation::NDer4(_f1, x, _deriv_step); + else + return Derivation::NDer4(_f1, x); + } + }; + class RealFuncDerived6 : public IRealFunction + { + IRealFunction& _f1; + Real _deriv_step; + public: + RealFuncDerived6(IRealFunction& f1) : _f1(f1), _deriv_step(0.0) {} + RealFuncDerived6(IRealFunction& f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} + + Real operator()(Real x) const { + if (_deriv_step != 0.0) + return Derivation::NDer6(_f1, x, _deriv_step); + else + return Derivation::NDer6(_f1, x); + } + }; + class RealFuncDerived8 : public IRealFunction + { + IRealFunction& _f1; + Real _deriv_step; + public: + RealFuncDerived8(IRealFunction& f1) : _f1(f1), _deriv_step(0.0) {} + RealFuncDerived8(IRealFunction& f1, Real deriv_step) : _f1(f1), _deriv_step(deriv_step) {} + + Real operator()(Real x) const { + if (_deriv_step != 0.0) + return Derivation::NDer8(_f1, x, _deriv_step); + else + return Derivation::NDer8(_f1, x); + } + }; + + // TODO - integrate helper - ima i x1, a x2 je parametar funkcije + + class RealFuncDiffHelper : public IRealFunction + { + IRealFunction& _f1, & _f2; + public: + RealFuncDiffHelper(IRealFunction& f1, IRealFunction& f2) : _f1(f1), _f2(f2) {} + Real operator()(Real x) const { return _f1(x) - _f2(x); } + }; + + class RealFuncDiffAbsHelper : public IRealFunction + { + IRealFunction& _f1, & _f2; + public: + RealFuncDiffAbsHelper(IRealFunction& f1, IRealFunction& f2) : _f1(f1), _f2(f2) {} + Real operator()(Real x) const { return std::abs(_f1(x) - _f2(x)); } + }; + + class RealFuncDiffSqrHelper : public IRealFunction + { + IRealFunction& _f1, & _f2; + public: + RealFuncDiffSqrHelper(IRealFunction& f1, IRealFunction& f2) : _f1(f1), _f2(f2) {} + Real operator()(Real x) const { return POW2(_f1(x) - _f2(x)); } + }; + +} // end namespace + +/////////////////////////// ./include/core/InterpolatedFunction.h /////////////////////////// + + + + +namespace MML +{ + class RealFunctionInterpolated : public IRealFunction + { + double _xmin, _xmax; + + public: + Real virtual rawinterp(int jlo, Real x) const = 0; + }; + + class RealFunctionInterpolatedBase : public RealFunctionInterpolated + { + // TODO - HIGH, LAKO, sve privatizirati! + public: + mutable int jsav, cor; + + int n, mm, dj; + Vector xx, yy; + + RealFunctionInterpolatedBase(const Vector& x, const Vector& y, int m) + : n((int)x.size()), mm(m), jsav(0), cor(0), xx(x), yy(y) + { + dj = std::min(1, (int)pow((Real)n, 0.25)); + } + + Real operator()(Real x) const + { + int jlo = cor ? hunt(x) : locate(x); + return rawinterp(jlo, x); + } + + // Given a value x, return a value j such that x is (insofar as possible) centered in the subrange + // xx[j..j+mm-1], where xx is the stored pointer. The values in xx must be monotonic, either + // increasing or decreasing. The returned value is not less than 0, nor greater than n-1. + int locate(const Real x) const + { + int ju, jm, jl; + if (n < 2 || mm < 2 || mm > n) throw("locate size error"); + bool ascnd = (xx[n - 1] >= xx[0]); + jl = 0; + ju = n - 1; + while (ju - jl > 1) { + jm = (ju + jl) >> 1; + if (x >= xx[jm] == ascnd) + jl = jm; + else + ju = jm; + } + cor = std::abs(jl - jsav) > dj ? 0 : 1; + jsav = jl; + return std::max(0, std::min(n - mm, jl - ((mm - 2) >> 1))); + } + + // Given a value x, return a value j such that x is (insofar as possible) centered in the subrange + // xx[j..j+mm-1], where xx is the stored pointer. The values in xx must be monotonic, either + // increasing or decreasing. The returned value is not less than 0, nor greater than n-1. + int hunt(const Real x) const + { + int jl = jsav, jm, ju, inc = 1; + if (n < 2 || mm < 2 || mm > n) throw("hunt size error"); + bool ascnd = (xx[n - 1] >= xx[0]); + if (jl < 0 || jl > n - 1) { + jl = 0; + ju = n - 1; + } + else { + if (x >= xx[jl] == ascnd) { + for (;;) { + ju = jl + inc; + if (ju >= n - 1) { ju = n - 1; break; } + else if (x < xx[ju] == ascnd) break; + else { + jl = ju; + inc += inc; + } + } + } + else { + ju = jl; + for (;;) { + jl = jl - inc; + if (jl <= 0) { jl = 0; break; } + else if (x >= xx[jl] == ascnd) break; + else { + ju = jl; + inc += inc; + } + } + } + } + while (ju - jl > 1) { + jm = (ju + jl) >> 1; + if (x >= xx[jm] == ascnd) + jl = jm; + else + ju = jm; + } + cor = std::abs(jl - jsav) > dj ? 0 : 1; + jsav = jl; + return std::max(0, std::min(n - mm, jl - ((mm - 2) >> 1))); + } + }; + + struct LinearInterpRealFunc : RealFunctionInterpolatedBase + { + LinearInterpRealFunc(Vector& xv, Vector& yv) : RealFunctionInterpolatedBase(xv, yv, 2) {} + + Real rawinterp(int j, Real x) const { + if (xx[j] == xx[j + 1]) return yy[j]; + else return yy[j] + ((x - xx[j]) / (xx[j + 1] - xx[j])) * (yy[j + 1] - yy[j]); + } + }; + + // Polynomial interpolation object. Construct with x and y vectors, and the number M of points + // to be used locally (polynomial order plus one), then call interp for interpolated values. + struct PolynomInterpRealFunc : RealFunctionInterpolatedBase + { + mutable Real dy; + + // The user interface to Poly_interp is virtually the same as for Linear_interp + // (end of ÷3.1), except that an additional argument in the constructor sets M, the number of points used (the order plus one). + PolynomInterpRealFunc(Vector& xv, Vector& yv, int m) : RealFunctionInterpolatedBase(xv, yv, m), dy(0.) + {} + + // Given a value x, and using pointers to data xx and yy, this routine returns an interpolated + // value y, and stores an error estimate dy. The returned value is obtained by mm-point polynomial + // interpolation on the subrange xx[jl..jl+mm-1]. + Real rawinterp(int jl, Real x) const + { + int i, m, ns = 0; + Real y, den, dif, dift, ho, hp, w; + const Real* xa = &xx[jl]; + const Real* ya = &yy[jl]; + Vector c(mm), d(mm); + dif = std::abs(x - xa[0]); + for (i = 0; i < mm; i++) { + if ((dift = std::abs(x - xa[i])) < dif) { + ns = i; + dif = dift; + } + c[i] = ya[i]; + d[i] = ya[i]; + } + y = ya[ns--]; + for (m = 1; m < mm; m++) { + for (i = 0; i < mm - m; i++) { + ho = xa[i] - x; + hp = xa[i + m] - x; + w = c[i + 1] - d[i]; + if ((den = ho - hp) == 0.0) throw("Poly_interp error"); + den = w / den; + d[i] = hp * den; + c[i] = ho * den; + } + + y += (dy = (2 * (ns + 1) < (mm - m) ? c[ns + 1] : d[ns--])); + // After each column in the tableau is completed, we decide which correction, c or d, we + // want to add to our accumulating value of y, i.e., which path to take through the tableau + // — forking up or down. We do this in such a way as to take the most “straight line” + // route through the tableau to its apex, updating ns accordingly to keep track of where + // we are. This route keeps the partial approximations centered (insofar as possible) on + // the target x. The last dy added is thus the error indication. + } + return y; + } + }; + + // Diagonal rational function interpolation object. Construct with x and y vectors, and the number + // m of points to be used locally, then call interp for interpolated values. + struct RationalInterpRealFunc : RealFunctionInterpolatedBase + { + mutable Real dy; + RationalInterpRealFunc(Vector& xv, Vector& yv, int m) : RealFunctionInterpolatedBase(xv, yv, m), dy(0.) + {} + + // Given a value x, and using pointers to data xx and yy, this routine returns an interpolated value + // y, and stores an error estimate dy. The returned value is obtained by mm-point diagonal rational + // function interpolation on the subrange xx[jl..jl+mm-1]. + Real rawinterp(int jl, Real x) const + { + const Real TINY = 1.0e-99; + int m, i, ns = 0; + Real y, w, t, hh, h, dd; + const Real* xa = &xx[jl], * ya = &yy[jl]; + Vector c(mm), d(mm); + hh = std::abs(x - xa[0]); + for (i = 0; i < mm; i++) { + h = std::abs(x - xa[i]); + if (h == 0.0) { + dy = 0.0; + return ya[i]; + } + else if (h < hh) { + ns = i; + hh = h; + } + c[i] = ya[i]; + d[i] = ya[i] + TINY; + } + y = ya[ns--]; + for (m = 1; m < mm; m++) { + for (i = 0; i < mm - m; i++) { + w = c[i + 1] - d[i]; + h = xa[i + m] - x; + t = (xa[i] - x) * d[i] / h; + dd = t - c[i + 1]; + if (dd == 0.0) // This error condition indicates that the interpolating function has a pole at the requested value of x. + throw("Error in routine ratint"); + dd = w / dd; + d[i] = c[i + 1] * dd; + c[i] = t * dd; + } + y += (dy = (2 * (ns + 1) < (mm - m) ? c[ns + 1] : d[ns--])); + } + return y; + } + }; + + // Cubic spline interpolation object. Construct with x and y vectors, and (optionally) values of + // the first derivative at the endpoints, then call interp for interpolated values. + struct SplineInterpRealFunc : RealFunctionInterpolatedBase + { + Vector y2; + + SplineInterpRealFunc(Vector& xv, Vector& yv, Real yp1 = 1.e99, Real ypn = 1.e99) + : RealFunctionInterpolatedBase(xv, yv, 2), y2(xv.size()) + { + sety2(&xv[0], &yv[0], yp1, ypn); + } + + // This routine stores an array y2[0..n-1] with second derivatives of the interpolating function + // at the tabulated points pointed to by xv, using function values pointed to by yv. If yp1 and/or + // ypn are equal to 1 1099 or larger, the routine is signaled to set the corresponding boundary + // condition for a natural spline, with zero second derivative on that boundary; otherwise, they are + // the values of the first derivatives at the endpoints. + void sety2(const Real* xv, const Real* yv, Real yp1, Real ypn) + { + int i, k; + Real p, qn, sig, un; + int n = (int)y2.size(); + Vector u(n - 1); + if (yp1 > 0.99e99) + y2[0] = u[0] = 0.0; + else { + y2[0] = -0.5; + u[0] = (3.0 / (xv[1] - xv[0])) * ((yv[1] - yv[0]) / (xv[1] - xv[0]) - yp1); + } + for (i = 1; i < n - 1; i++) { + sig = (xv[i] - xv[i - 1]) / (xv[i + 1] - xv[i - 1]); + p = sig * y2[i - 1] + 2.0; + y2[i] = (sig - 1.0) / p; + u[i] = (yv[i + 1] - yv[i]) / (xv[i + 1] - xv[i]) - (yv[i] - yv[i - 1]) / (xv[i] - xv[i - 1]); + u[i] = (6.0 * u[i] / (xv[i + 1] - xv[i - 1]) - sig * u[i - 1]) / p; + } + if (ypn > 0.99e99) + qn = un = 0.0; + else { + qn = 0.5; + un = (3.0 / (xv[n - 1] - xv[n - 2])) * (ypn - (yv[n - 1] - yv[n - 2]) / (xv[n - 1] - xv[n - 2])); + } + y2[n - 1] = (un - qn * u[n - 2]) / (qn * y2[n - 2] + 1.0); + for (k = n - 2; k >= 0; k--) + y2[k] = y2[k] * y2[k + 1] + u[k]; + } + + // Given a value x, and using pointers to data xx and yy, and the stored vector of second derivatives + // y2, this routine returns the cubic spline interpolated value y. + Real rawinterp(int jl, Real x) const + { + int klo = jl, khi = jl + 1; + Real y, h, b, a; + h = xx[khi] - xx[klo]; + if (h == 0.0) throw("Bad input to routine splint"); + a = (xx[khi] - x) / h; + b = (x - xx[klo]) / h; + y = a * yy[klo] + b * yy[khi] + ((a * a * a - a) * y2[klo] + + (b * b * b - b) * y2[khi]) * (h * h) / 6.0; + return y; + } + }; + + // Barycentric rational interpolation object. After constructing the object, call interp for interpolated values. Note that no error estimate dy is calculated. + struct BaryRatInterpRealFunc : RealFunctionInterpolatedBase + { + Vector w; + int d; + + // Constructor arguments are x and y vectors of length n, and order d of desired approximation. + BaryRatInterpRealFunc(Vector& xv, Vector& yv, int dd) + : RealFunctionInterpolatedBase(xv, yv, (int)xv.size()), w(n), d(dd) + { + if (n <= d) throw("d too large for number of points in BaryRat_interp"); + for (int k = 0; k < n; k++) { + int imin = std::max(k - d, 0); + int imax = k >= n - d ? n - d - 1 : k; + Real temp = imin & 1 ? -1.0 : 1.0; + Real sum = 0.0; + for (int i = imin; i <= imax; i++) { + int jmax = std::min(i + d, n - 1); + Real term = 1.0; + for (int j = i; j <= jmax; j++) { + if (j == k) continue; + term *= (xx[k] - xx[j]); + } + term = temp / term; + temp = -temp; + sum += term; + } + w[k] = sum; + } + } + + // Use equation (NR 3.4.9) to compute the barycentric rational interpolant. Note that jl is not used + // since the approximation is global; it is included only for compatibility with Base_interp + Real rawinterp(int jl, Real x) const + { + Real num = 0, den = 0; + for (int i = 0; i < n; i++) { + Real h = x - xx[i]; + if (h == 0.0) { + return yy[i]; + } + else { + Real temp = w[i] / h; + num += temp * yy[i]; + den += temp; + } + } + return num / den; + } + + // No need to invoke hunt or locate since the interpolation is global, so override interp to simply + // call rawinterp directly with a dummy value of jl. + Real interp(Real x) { + return rawinterp(1, x); + } + }; + + struct BilinInterpScalarFunction2D : public IScalarFunction<2> + { + int m, n; + const Matrix& y; + LinearInterpRealFunc x1terp, x2terp; + + BilinInterpScalarFunction2D(Vector& x1v, Vector& x2v, Matrix& ym) + : m((int)x1v.size()), n((int)x2v.size()), y(ym), + x1terp(x1v, x1v), x2terp(x2v, x2v) {} + + Real interp(Real x1p, Real x2p) const { + int i, j; + Real yy, t, u; + i = x1terp.cor ? x1terp.hunt(x1p) : x1terp.locate(x1p); + j = x2terp.cor ? x2terp.hunt(x2p) : x2terp.locate(x2p); + t = (x1p - x1terp.xx[i]) / (x1terp.xx[i + 1] - x1terp.xx[i]); + u = (x2p - x2terp.xx[j]) / (x2terp.xx[j + 1] - x2terp.xx[j]); + yy = (1. - t) * (1. - u) * y[i][j] + t * (1. - u) * y[i + 1][j] + + (1. - t) * u * y[i][j + 1] + t * u * y[i + 1][j + 1]; + return yy; + } + + Real operator()(const VectorN& x) const + { + return interp(x[0], x[1]); + } + }; + + struct PolynomInterpScalarFunction2D : public IScalarFunction<2> + { + int m, n, mm, nn; + const Matrix& y; + + mutable Vector yv; + mutable PolynomInterpRealFunc x1terp, x2terp; + + PolynomInterpScalarFunction2D(Vector& x1v, Vector& x2v, Matrix& ym, int mp, int np) + : m((int)x1v.size()), n((int)x2v.size()), mm(mp), nn(np), y(ym), yv(m), + x1terp(x1v, yv, mm), x2terp(x2v, x2v, nn) {} + + Real interp(Real x1p, Real x2p) const { + int i, j, k; + i = x1terp.cor ? x1terp.hunt(x1p) : x1terp.locate(x1p); + j = x2terp.cor ? x2terp.hunt(x2p) : x2terp.locate(x2p); + for (k = i; k < i + mm; k++) { + // TODO - FIX THIS!!! + x2terp.yy = y.VectorFromRow(k); // &y[k][0]; + yv[k] = x2terp.rawinterp(j, x2p); + } + return x1terp.rawinterp(i, x1p); + } + + Real operator()(const VectorN& x) const + { + return interp(x[0], x[1]); + } + }; + + struct SplineInterpScalarFunction2D : public IScalarFunction<2> + { + int m, n; + const Matrix& y; + + Vector& x1; + mutable Vector yv; + + // TODO 0.9 - HIGH, ovo popraviti + Vector srp; + std::vector> _yVals; + + SplineInterpScalarFunction2D(Vector& x1v, Vector& x2v, Matrix& ym) + : m((int)x1v.size()), n((int)x2v.size()), y(ym), yv(m), x1(x1v), srp(m) + { + _yVals.resize(m); + for (int i = 0; i < m; i++) + { + _yVals[i] = y.VectorFromRow(i); + srp[i] = new SplineInterpRealFunc(x2v, _yVals[i]); + } + } + + ~SplineInterpScalarFunction2D() { + for (int i = 0; i < m; i++) delete srp[i]; + } + + Real interp(Real x1p, Real x2p) const + { + for (int i = 0; i < m; i++) + yv[i] = (*srp[i])(x2p); + + SplineInterpRealFunc scol(x1, yv); + + return scol(x1p); + } + + Real operator()(const VectorN& x) const + { + return interp(x[0], x[1]); + } + }; + + class InterpolatedScalarFunction3D : public IScalarFunction<3> + { + public: + InterpolatedScalarFunction3D() {} + + Real operator()(const VectorN& x) const { return 0.0; } + virtual Real operator()(Real u, Real w, Real z) + { + VectorN coord{ u,w,z }; + // TODO 0.9 - BIG + return operator()(coord); + } + }; + + // class ScalarFunction2Interpolated : public IScalarFunction<2> + // { + // Real (*_func)(const VectorN &); + // public: + // ScalarFunction2Interpolated( Real (*inFunc)(const VectorN &) ) : _func(inFunc) {} + + // Real operator()(const VectorN &x) const { return _func(x); } + // }; + + // class ScalarFunction3Interpolated : public IScalarFunction<3> + // { + // Real (*_func)(const VectorN &); + // public: + // ScalarFunction3Interpolated( Real (*inFunc)(const VectorN &) ) : _func(inFunc) {} + + // Real operator()(const VectorN &x) const { return _func(x); } + // }; + + // Object for interpolating a curve specified by n points in dim dimensions. + template + struct SplineInterpParametricCurve : public IParametricCurve + { + int dim, n, in; + bool cls; + Matrix pts; + Vector s; + Vector ans; + std::vector srp; + + // Constructor. The n dim matrix ptsin inputs the data points. Input close as 0 for + // an open curve, 1 for a closed curve. (For a closed curve, the last data point should not + // duplicate the first — the algorithm will connect them.) + SplineInterpParametricCurve(const Matrix& ptsin, bool close = 0) + : n(ptsin.RowNum()), dim(ptsin.ColNum()), in(close ? 2 * n : n), + cls(close), pts(dim, in), s(in), ans(dim), srp(dim) + { + int i, ii, im, j, ofs; + Real ss, soff, db, de; + ofs = close ? n / 2 : 0; + s[0] = 0.; + for (i = 0; i < in; i++) { + ii = (i - ofs + n) % n; + im = (ii - 1 + n) % n; + for (j = 0; j < dim; j++) pts[j][i] = ptsin[ii][j]; + if (i > 0) { + s[i] = s[i - 1] + rad(&ptsin[ii][0], &ptsin[im][0]); + if (s[i] == s[i - 1]) throw("error in Curve_interp"); + // Consecutive points may not be identical. For a closed curve, the last data + // point should not duplicate the first. + } + } + ss = close ? s[ofs + n] - s[ofs] : s[n - 1] - s[0]; + soff = s[ofs]; + for (i = 0; i < in; i++) s[i] = (s[i] - soff) / ss; + for (j = 0; j < dim; j++) { + db = in < 4 ? 1.e99 : fprime(&s[0], &pts[j][0], 1); + de = in < 4 ? 1.e99 : fprime(&s[in - 1], &pts[j][in - 1], -1); + + Vector vec = pts.VectorFromRow(j); + srp[j] = new SplineInterpRealFunc(s, vec, db, de); + } + } + ~SplineInterpParametricCurve() { + for (int j = 0; j < dim; j++) delete srp[j]; + } + + Real getMinT() const { return 0.0; } + Real getMaxT() const { return 1.0; } + + // Interpolate a point on the stored curve. The point is parameterized by t, in the range [0,1]. + // For open curves, values of t outside this range will return extrapolations (dangerous!). For + // closed curves, t is periodic with period 1 + VectorN interp(Real t) const + { + VectorN ans; + + if (cls) + t = t - floor(t); + for (int j = 0; j < dim; j++) + ans[j] = (*srp[j])(t); + + return ans; + } + + VectorN operator()(Real t) const + { + return interp(t); + } + + // Utility for estimating the derivatives at the endpoints. x and y point to the abscissa and + // ordinate of the endpoint. If pm is C1, points to the right will be used (left endpoint); if it + // is -1, points to the left will be used (right endpoint). + Real fprime(Real* x, Real* y, int pm) { + Real s1 = x[0] - x[pm * 1], s2 = x[0] - x[pm * 2], s3 = x[0] - x[pm * 3], + s12 = s1 - s2, s13 = s1 - s3, s23 = s2 - s3; + return -(s1 * s2 / (s13 * s23 * s3)) * y[pm * 3] + (s1 * s3 / (s12 * s2 * s23)) * y[pm * 2] + - (s2 * s3 / (s1 * s12 * s13)) * y[pm * 1] + (1. / s1 + 1. / s2 + 1. / s3) * y[0]; + } + + Real rad(const Real* p1, const Real* p2) { + Real sum = 0.; + for (int i = 0; i < dim; i++) + sum += POW2(p1[i] - p2[i]); + return sqrt(sum); + } + }; + + template + class ParametricCurveInterpolated : public IParametricCurve + { + // TODO 0.9 - HIGH, verify + Real _minT; + Real _maxT; + std::shared_ptr> _xvals; + std::shared_ptr> _yvals; + + public: + ParametricCurveInterpolated() {} + ParametricCurveInterpolated(std::shared_ptr> xsave, std::shared_ptr> ysave) : _xvals(xsave), _yvals(ysave) {} + ParametricCurveInterpolated(int inPoints, Real* xsave, Real* ysave) + { + _minT = xsave[0]; + _maxT = xsave[inPoints - 1]; + + _xvals = std::make_shared>(inPoints); + _yvals = std::make_shared>(N, inPoints); + + for (int i = 0; i < inPoints; i++) + { + (*_xvals)[i] = xsave[i]; + for (int j = 0; j < N; j++) + (*_yvals)(j, i) = ysave[i * N + j]; + } + } + ParametricCurveInterpolated(const Vector& xsave, const Matrix& ysave) + { + _minT = xsave[0]; + _maxT = xsave[xsave.size() - 1]; + + _xvals = std::make_shared>(xsave); + _yvals = std::make_shared>(ysave); + } + + Real getMinT() const { return _minT; } + Real getMaxT() const { return _maxT; } + + virtual VectorN operator()(Real x) const { return VectorN{0}; } + }; + + template + class InterpolatedSurface : public IParametricSurface + { + public: + InterpolatedSurface() {} + + VectorN operator()(const VectorN& x) const { return VectorN{}; } + }; +} + +/////////////////////////// ./include/core/MetricTensor.h /////////////////////////// + + + +namespace MML +{ + template + class MetricTensorField : public ITensorField2 + { + public: + MetricTensorField() : ITensorField2(2, 0) { } + MetricTensorField(int numContra, int numCo) : ITensorField2(numContra, numCo) { } + + Tensor2 operator()(const VectorN& pos) const + { + Tensor2 ret(this->getNumContravar(), this->getNumCovar()); + + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + ret.Component(i, j) = this->Component(i, j, pos); + + return ret; + } + + Real GetChristoffelSymbolFirstKind(int i, int j, int k, const VectorN& pos) const + { + MetricTensorField& g = *this; + + Real gamma_ijk = 0.0; + for (int m = 0; m < m; k++) + { + gamma_ijk += g.Component(m, k, pos) * GetChristoffelSymbolSecondKind(m, i, j, pos); + } + return gamma_ijk; + } + + Real GetChristoffelSymbolSecondKind(int i, int j, int k, const VectorN& pos) const + { + MetricTensorField& g = *this; + + // depends on covar-contravar of metric tensor! + Real gamma_ijk = 0.0; + for (int l = 0; l < N; l++) + { + Real coef1 = Derivation::DerivePartial(g, i, l, j, pos, nullptr); + Real coef2 = Derivation::DerivePartial(g, j, l, i, pos, nullptr); + Real coef3 = Derivation::DerivePartial(g, i, j, l, pos, nullptr); + + gamma_ijk += 0.5 * g.Component(i, l) * (coef1 + coef2 - coef3); + } + return gamma_ijk; + } + + VectorN CovariantDerivativeContravar(const IVectorFunction& func, int j, const VectorN& pos) const + { + MetricTensorField& g = *this; + + VectorN ret; + VectorN vec_val = func(pos); + + for (int i = 0; i < N; i++) { + Real comp_val = Derivation::DeriveVecPartial(func, i, j, pos, nullptr); + + for (int k = 0; k < N; k++) + comp_val += GetChristoffelSymbolSecondKind(i, k, j, pos) * vec_val[k]; + + ret[i] = comp_val; + } + return ret; + } + + Real CovariantDerivativeContravarComp(const IVectorFunction& func, int i, int j, const VectorN& pos) const + { + MetricTensorField& g = *this; + + Real ret = Derivation::DeriveVecPartial(func, i, j, pos, nullptr); + + for (int k = 0; k < N; k++) + ret += GetChristoffelSymbolSecondKind(i, k, j, pos) * func(pos)[k]; + + return ret; + } + + VectorN CovariantDerivativeCovar(const IVectorFunction& func, int j, const VectorN& pos) const + { + MetricTensorField& g = *this; + + VectorN ret; + VectorN vec_val = func(pos); + + for (int i = 0; i < N; i++) { + Real comp_val = Derivation::DeriveVecPartial(func, i, j, pos, nullptr); + + for (int k = 0; k < N; k++) + comp_val -= GetChristoffelSymbolSecondKind(k, i, j, pos) * vec_val[k]; + + ret[i] = comp_val; + } + return ret; + } + + Real CovariantDerivativeCovarComp(const IVectorFunction& func, int i, int j, const VectorN& pos) const + { + MetricTensorField& g = *this; + + Real comp_val = Derivation::DeriveVecPartial(func, i, j, pos, nullptr); + + for (int k = 0; k < N; k++) + comp_val -= GetChristoffelSymbolSecondKind(k, i, j, pos) * func(pos)[k]; + + return comp_val; + } + }; + + template + class MetricTensorCartesian : public MetricTensorField + { + public: + MetricTensorCartesian() : MetricTensorField(N, 0) { } + + Real Component(int i, int j, const VectorN& pos) const + { + if (i == j) + return 1.0; + else + return 0.0; + } + }; + + class MetricTensorSpherical : public MetricTensorField<3> + { + public: + MetricTensorSpherical() : MetricTensorField<3>(0, 2) { } + + virtual Real Component(int i, int j, const VectorN& pos) const + { + if (i == 0 && j == 0) + return 1.0; + else if (i == 1 && j == 1) + return pos[0] * pos[0]; + else if (i == 2 && j == 2) + return pos[0] * pos[0] * sin(pos[1]) * sin(pos[1]); + else + return 0.0; + } + }; + class MetricTensorSphericalContravar : public MetricTensorField<3> + { + public: + MetricTensorSphericalContravar() : MetricTensorField<3>(2, 0) { } + + virtual Real Component(int i, int j, const VectorN& pos) const + { + if (i == 0 && j == 0) + return 1.0; + else if (i == 1 && j == 1) + return 1 / (pos[0] * pos[0]); + else if (i == 2 && j == 2) + return 1 / (pos[0] * pos[0] * sin(pos[1]) * sin(pos[1])); + else + return 0.0; + } + }; + class MetricTensorCylindrical : public MetricTensorField<3> + { + public: + MetricTensorCylindrical() : MetricTensorField<3>(2, 0) { } + + virtual Real Component(int i, int j, const VectorN& pos) const + { + if (i == 0 && j == 0) + return 1.0; + else if (i == 1 && j == 1) + return pos[0] * pos[0]; + else if (i == 2 && j == 2) + return 1.0; + else + return 0.0; + } + }; + + template + class MetricTensorFromCoordTransf : public MetricTensorField + { + ICoordTransfWithInverse& _coordTransf; + + public: + MetricTensorFromCoordTransf(ICoordTransfWithInverse& inTransf) : _coordTransf(inTransf) + { } + + virtual Real Component(int i, int j, const VectorN& pos) const + { + Real g_ij = 0.0; + for (int k = 0; k < N; k++) + { + g_ij += Derivation::DerivePartial(_coordTransf.coordTransfFunc(k), i, pos, nullptr) * Derivation::DerivePartial(_coordTransf.coordTransfFunc(k), j, pos, nullptr); + } + return g_ij; + } + }; +} +/////////////////////////// ./include/core/CoordTransf.h /////////////////////////// + + + + +namespace MML +{ + // ovdje dodati translational, rotational, galilean, lorentzian transf + // SVE su to transformacije koordinata + template + class CoordTransf : public virtual ICoordTransf + { + public: + virtual VectorTo getCovariantBasisVec(int ind, const VectorFrom& pos) + { + VectorTo ret; + + for (int i = 0; i < N; i++) + ret[i] = Derivation::NDer4Partial(this->coordTransfFunc(i), ind, pos); + + return ret; + } + + virtual VectorTo getUnitVector(int ind, const VectorFrom& pos) + { + return getCovariantBasisVec(ind, pos).GetAsUnitVectorAtPos(pos); + } + + MatrixNM jacobian(const VectorN& x) + { + return Jacobian::calc(*this, x); + } + + VectorTo transfVecContravariant(const VectorFrom& vec, const VectorFrom& pos) + { + VectorFrom ret; + for (int i = 0; i < N; i++) { + ret[i] = 0; + for (int j = 0; j < N; j++) + ret[i] += Derivation::NDer4Partial(this->coordTransfFunc(i), j, pos, 1e-8) * vec[j]; + } + return ret; + } + + VectorFrom transfInverseVecCovariant(const VectorTo& vec, const VectorFrom& pos) + { + VectorFrom ret; + for (int i = 0; i < N; i++) + { + ret[i] = 0; + for (int j = 0; j < N; j++) + ret[i] += Derivation::NDer4Partial(this->coordTransfFunc(j), i, pos, 1e-8) * vec[j]; + } + return ret; + } + }; + + template + class CoordTransfWithInverse : public virtual CoordTransf, + public virtual ICoordTransfWithInverse + { + public: + virtual VectorFrom getContravariantBasisVec(int ind, const VectorTo& pos) + { + VectorFrom ret; + + for (int i = 0; i < N; i++) + ret[i] = Derivation::NDer4Partial(this->inverseCoordTransfFunc(ind), i, pos); + + return ret; + } + + virtual VectorFrom getUnitVectorInverse(int ind, const VectorTo& pos) + { + return getContravariantBasisVec(ind, pos).GetAsUnitVectorAtPos(pos); + } + + VectorTo transfVecCovariant(const VectorFrom& vec, const VectorTo& pos) + { + VectorTo ret; + for (int i = 0; i < N; i++) + { + ret[i] = 0; + for (int j = 0; j < N; j++) + ret[i] += Derivation::NDer4Partial(this->inverseCoordTransfFunc(j), i, pos) * vec[j]; + } + + return ret; + } + + VectorFrom transfInverseVecContravariant(const VectorTo& vec, const VectorTo& pos) + { + VectorFrom ret; + for (int i = 0; i < N; i++) + { + ret[i] = 0; + for (int j = 0; j < N; j++) + ret[i] += Derivation::NDer4Partial(this->inverseCoordTransfFunc(i), j, pos, 1e-8) * vec[j]; + } + + return ret; + } + + Tensor2 transfTensor2(const Tensor2& tensor, const VectorFrom& pos) + { + Tensor2 ret(tensor.NumContravar(), tensor.NumCovar()); + + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + { + ret.Component(i, j) = 0; + for (int k = 0; k < N; k++) + for (int l = 0; l < N; l++) + { + double coef1, coef2; + if (tensor._isContravar[0]) + coef1 = Derivation::NDer1Partial(this->coordTransfFunc(i), k, pos); + else + coef1 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(k), i, pos); + + if (tensor._isContravar[1]) + coef2 = Derivation::NDer1Partial(this->coordTransfFunc(j), l, pos); + else + coef2 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(l), j, pos); + + ret.Component(i, j) += coef1 * coef2 * tensor.Component(k, l); + } + } + + return ret; + } + + Tensor3 transfTensor3(const Tensor3& tensor, const VectorFrom& pos) + { + Tensor3 ret(tensor.NumContravar(), tensor.NumCovar()); + + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + for (int k = 0; k < N; k++) + { + ret.Component(i, j, k) = 0; + for (int l = 0; l < N; l++) + for (int m = 0; m < N; m++) + for (int n = 0; n < N; n++) + { + double coef1, coef2, coef3; + if (tensor._isContravar[0]) + coef1 = Derivation::NDer1Partial(this->coordTransfFunc(i), l, pos); + else + coef1 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(l), i, pos); + + if (tensor._isContravar[1]) + coef2 = Derivation::NDer1Partial(this->coordTransfFunc(j), m, pos); + else + coef2 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(m), j, pos); + + if (tensor._isContravar[2]) + coef3 = Derivation::NDer1Partial(this->coordTransfFunc(k), n, pos); + else + coef3 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(n), k, pos); + + ret.Component(i, j, k) += coef1 * coef2 * coef3 * tensor.Component(l, m, n); + } + } + + return ret; + } + + Tensor4 transfTensor4(const Tensor4& tensor, const VectorFrom& pos) + { + Tensor4 ret(tensor.NumContravar(), tensor.NumCovar()); + + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + for (int k = 0; k < N; k++) + for (int l = 0; l < N; l++) + { + ret[i][j][k][l] = 0; + for (int m = 0; m < N; m++) + for (int n = 0; n < N; n++) + for (int o = 0; o < N; o++) + for (int p = 0; p < N; p++) + { + double coef1, coef2, coef3, coef4; + if (tensor._isContravar[0]) + coef1 = Derivation::NDer1Partial(this->coordTransfFunc(i), m, pos); + else + coef1 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(m), i, pos); + + if (tensor._isContravar[1]) + coef2 = Derivation::NDer1Partial(this->coordTransfFunc(j), n, pos); + else + coef2 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(n), j, pos); + + if (tensor._isContravar[2]) + coef3 = Derivation::NDer1Partial(this->coordTransfFunc(k), o, pos); + else + coef3 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(o), k, pos); + + if (tensor._isContravar[3]) + coef4 = Derivation::NDer1Partial(this->coordTransfFunc(l), p, pos); + else + coef4 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(p), l, pos); + + ret[i][j][k][l] += coef1 * coef2 * coef3 * coef4 * tensor[m][n][o][p]; + } + } + + return ret; + } + + Tensor5 transfTensor5(const Tensor5& tensor, const VectorFrom& pos) + { + Tensor5 ret(tensor.NumContravar(), tensor.NumCovar()); + + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + for (int k = 0; k < N; k++) + for (int l = 0; l < N; l++) + for (int m = 0; m < N; m++) + { + ret[i][j][k][l][m] = 0; + for (int n = 0; n < N; n++) + for (int o = 0; o < N; o++) + for (int p = 0; p < N; p++) + for (int q = 0; q < N; q++) + for (int r = 0; r < N; r++) + { + double coef1, coef2, coef3, coef4, coef5; + if (tensor._isContravar[0]) + coef1 = Derivation::NDer1Partial(this->coordTransfFunc(i), n, pos); + else + coef1 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(n), i, pos); + + if (tensor._isContravar[1]) + coef2 = Derivation::NDer1Partial(this->coordTransfFunc(j), o, pos); + else + coef2 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(o), j, pos); + + if (tensor._isContravar[2]) + coef3 = Derivation::NDer1Partial(this->coordTransfFunc(k), p, pos); + else + coef3 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(p), k, pos); + + if (tensor._isContravar[3]) + coef4 = Derivation::NDer1Partial(this->coordTransfFunc(l), q, pos); + else + coef4 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(q), l, pos); + + if (tensor._isContravar[4]) + coef4 = Derivation::NDer1Partial(this->coordTransfFunc(m), r, pos); + else + coef4 = Derivation::NDer1Partial(this->inverseCoordTransfFunc(r), m, pos); + + ret[i][j][k][l][m] += coef1 * coef2 * coef3 * coef4 * coef5 * tensor[n][o][p][q][r]; + } + } + + return ret; + } + }; + + class CoordTransfPolarToCartesian2D : public CoordTransfWithInverse + { + // q[0] = r - radial distance + // q[1] = phi - polar angle + public: + static Real func1(const VectorN& q) { return q[0] * cos(q[1]); } + static Real func2(const VectorN& q) { return q[0] * sin(q[1]); } + + // q[0] = x + // q[1] = y + static Real funcInverse1(const VectorN& q) { return sqrt(q[0] * q[0] + q[1] * q[1]); } + static Real funcInverse2(const VectorN& q) { return atan2(q[1], q[0]); } + + inline static ScalarFunction<2> _func[2] = { ScalarFunction<2>{func1}, + ScalarFunction<2>{func2} + }; + + inline static ScalarFunction<2> _funcInverse[2] = { ScalarFunction<2>{funcInverse1}, + ScalarFunction<2>{funcInverse2} + }; + + Vector2Cartesian transf(const Vector2Polar& q) const { return Vector2Cartesian{ func1(q), func2(q) }; } + Vector2Polar transfInverse(const Vector2Cartesian& q) const { return Vector2Polar{ funcInverse1(q), funcInverse2(q) }; } + + IScalarFunction<2>& coordTransfFunc(int i) const { return _func[i]; } + IScalarFunction<2>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } + }; + + class CoordTransfCart2DRotation : public CoordTransfWithInverse + { + private: + Real _angle; + MatrixNM _transf; + MatrixNM _inverse; + + const ScalarFunctionFromStdFunc<2> _f1; + const ScalarFunctionFromStdFunc<2> _f2; + + const ScalarFunctionFromStdFunc<2> _fInverse1; + const ScalarFunctionFromStdFunc<2> _fInverse2; + + public: + + CoordTransfCart2DRotation(Real inAngle) : _angle(inAngle), + _f1(std::function&)> { std::bind(&CoordTransfCart2DRotation::func1, this, std::placeholders::_1) }), + _f2(std::function&)> { std::bind(&CoordTransfCart2DRotation::func2, this, std::placeholders::_1) }), + _fInverse1(std::function&)> { std::bind(&CoordTransfCart2DRotation::funcInverse1, this, std::placeholders::_1) }), + _fInverse2(std::function&)> { std::bind(&CoordTransfCart2DRotation::funcInverse2, this, std::placeholders::_1) }) + { + _transf[0][0] = cos(_angle); + _transf[0][1] = -sin(_angle); + _transf[1][0] = sin(_angle); + _transf[1][1] = cos(_angle); + + _inverse[0][0] = cos(_angle); + _inverse[0][1] = sin(_angle); + _inverse[1][0] = -sin(_angle); + _inverse[1][1] = cos(_angle); + } + + Real func1(const VectorN& q) const { return (_transf * q)[0]; } + Real func2(const VectorN& q) const { return (_transf * q)[1]; } + + Real funcInverse1(const VectorN& q) const { return (_inverse * q)[0]; } + Real funcInverse2(const VectorN& q) const { return (_inverse * q)[1]; } + + Vector2Cartesian transf(const Vector2Cartesian& q) const { return Vector2Cartesian{ func1(q), func2(q) }; } + Vector2Cartesian transfInverse(const Vector2Cartesian& q) const { return Vector2Cartesian{ funcInverse1(q), funcInverse2(q) }; } + + const IScalarFunction<2>& coordTransfFunc(int i) const + { + if (i == 0) return _f1; + else return _f2; + } + const IScalarFunction<2>& inverseCoordTransfFunc(int i) const + { + if (i == 0) return _fInverse1; + else return _fInverse2; + } + }; + + class CoordTransfCart3DRotationXAxis : public CoordTransfWithInverse + { + public: + Real _angle; + MatrixNM _transf; + MatrixNM _inverse; + + const ScalarFunctionFromStdFunc<3> _f1; + const ScalarFunctionFromStdFunc<3> _f2; + const ScalarFunctionFromStdFunc<3> _f3; + + const ScalarFunctionFromStdFunc<3> _fInverse1; + const ScalarFunctionFromStdFunc<3> _fInverse2; + const ScalarFunctionFromStdFunc<3> _fInverse3; + + public: + CoordTransfCart3DRotationXAxis(Real inAngle) : _angle(inAngle), + _f1(std::function&)> { std::bind(&CoordTransfCart3DRotationXAxis::func1, this, std::placeholders::_1) }), + _f2(std::function&)> { std::bind(&CoordTransfCart3DRotationXAxis::func2, this, std::placeholders::_1) }), + _f3(std::function&)> { std::bind(&CoordTransfCart3DRotationXAxis::func3, this, std::placeholders::_1) }), + _fInverse1(std::function&)> { std::bind(&CoordTransfCart3DRotationXAxis::funcInverse1, this, std::placeholders::_1) }), + _fInverse2(std::function&)> { std::bind(&CoordTransfCart3DRotationXAxis::funcInverse2, this, std::placeholders::_1) }), + _fInverse3(std::function&)> { std::bind(&CoordTransfCart3DRotationXAxis::funcInverse3, this, std::placeholders::_1) }) + { + _transf[0][0] = 1.0; + _transf[1][1] = cos(_angle); + _transf[1][2] = -sin(_angle); + _transf[2][1] = sin(_angle); + _transf[2][2] = cos(_angle); + + _inverse[0][0] = 1.0; + _inverse[1][1] = cos(_angle); + _inverse[1][2] = sin(_angle); + _inverse[2][1] = -sin(_angle); + _inverse[2][2] = cos(_angle); + } + + Real func1(const VectorN& q) const + { + return (_transf * q)[0]; + } + Real func2(const VectorN& q) const { return (_transf * q)[1]; } + Real func3(const VectorN& q) const { return (_transf * q)[2]; } + + Real funcInverse1(const VectorN& q) const { return (_inverse * q)[0]; } + Real funcInverse2(const VectorN& q) const { return (_inverse * q)[1]; } + Real funcInverse3(const VectorN& q) const { return (_inverse * q)[2]; } + + Vector3Cartesian transf(const Vector3Cartesian& q) const { return Vector3Cartesian{ func1(q), func2(q), func3(q) }; } + Vector3Cartesian transfInverse(const Vector3Cartesian& q) const { return Vector3Cartesian{ funcInverse1(q), funcInverse2(q), funcInverse3(q) }; } + + const IScalarFunction<3>& coordTransfFunc(int i) const + { + if (i == 0) return _f1; + else if (i == 1) return _f2; + else return _f3; + } + const IScalarFunction<3>& inverseCoordTransfFunc(int i)const + { + if (i == 0) return _fInverse1; + else if (i == 1) return _fInverse2; + else return _fInverse3; + } + }; + class CoordTransfCart3DRotationYAxis : public CoordTransfWithInverse + { + private: + Real _angle; + MatrixNM _transf; + MatrixNM _inverse; + + const ScalarFunctionFromStdFunc<3> _f1; + const ScalarFunctionFromStdFunc<3> _f2; + const ScalarFunctionFromStdFunc<3> _f3; + + const ScalarFunctionFromStdFunc<3> _fInverse1; + const ScalarFunctionFromStdFunc<3> _fInverse2; + const ScalarFunctionFromStdFunc<3> _fInverse3; + + public: + CoordTransfCart3DRotationYAxis(Real inAngle) : _angle(inAngle), + _f1(std::function&)> { std::bind(&CoordTransfCart3DRotationYAxis::func1, this, std::placeholders::_1) }), + _f2(std::function&)> { std::bind(&CoordTransfCart3DRotationYAxis::func2, this, std::placeholders::_1) }), + _f3(std::function&)> { std::bind(&CoordTransfCart3DRotationYAxis::func3, this, std::placeholders::_1) }), + _fInverse1(std::function&)> { std::bind(&CoordTransfCart3DRotationYAxis::funcInverse1, this, std::placeholders::_1) }), + _fInverse2(std::function&)> { std::bind(&CoordTransfCart3DRotationYAxis::funcInverse2, this, std::placeholders::_1) }), + _fInverse3(std::function&)> { std::bind(&CoordTransfCart3DRotationYAxis::funcInverse3, this, std::placeholders::_1) }) + { + _transf[0][0] = cos(_angle); + _transf[0][2] = sin(_angle); + _transf[1][1] = 1.0; + _transf[2][0] = -sin(_angle); + _transf[2][2] = cos(_angle); + + _inverse[0][0] = cos(_angle); + _inverse[0][2] = -sin(_angle); + _inverse[1][1] = 1.0; + _inverse[2][0] = sin(_angle); + _inverse[2][2] = cos(_angle); + } + + Real func1(const VectorN& q) const { return (_transf * q)[0]; } + Real func2(const VectorN& q) const { return (_transf * q)[1]; } + Real func3(const VectorN& q) const { return (_transf * q)[2]; } + + Real funcInverse1(const VectorN& q) const { return (_inverse * q)[0]; } + Real funcInverse2(const VectorN& q) const { return (_inverse * q)[1]; } + Real funcInverse3(const VectorN& q) const { return (_inverse * q)[2]; } + + Vector3Cartesian transf(const Vector3Cartesian& q) const { return Vector3Cartesian{ func1(q), func2(q), func3(q) }; } + Vector3Cartesian transfInverse(const Vector3Cartesian& q) const { return Vector3Cartesian{ funcInverse1(q), funcInverse2(q), funcInverse3(q) }; } + + const IScalarFunction<3>& coordTransfFunc(int i) const + { + if (i == 0) return _f1; + else if (i == 1) return _f2; + else return _f3; + } + const IScalarFunction<3>& inverseCoordTransfFunc(int i) const + { + if (i == 0) return _fInverse1; + else if (i == 1) return _fInverse2; + else return _fInverse3; + } + }; + class CoordTransfCart3DRotationZAxis : public CoordTransfWithInverse + { + private: + Real _angle; + MatrixNM _transf; + MatrixNM _inverse; + + const ScalarFunctionFromStdFunc<3> _f1; + const ScalarFunctionFromStdFunc<3> _f2; + const ScalarFunctionFromStdFunc<3> _f3; + + const ScalarFunctionFromStdFunc<3> _fInverse1; + const ScalarFunctionFromStdFunc<3> _fInverse2; + const ScalarFunctionFromStdFunc<3> _fInverse3; + + public: + CoordTransfCart3DRotationZAxis(Real inAngle) : _angle(inAngle), + _f1(std::function&)> { std::bind(&CoordTransfCart3DRotationZAxis::func1, this, std::placeholders::_1) }), + _f2(std::function&)> { std::bind(&CoordTransfCart3DRotationZAxis::func2, this, std::placeholders::_1) }), + _f3(std::function&)> { std::bind(&CoordTransfCart3DRotationZAxis::func3, this, std::placeholders::_1) }), + _fInverse1(std::function&)> { std::bind(&CoordTransfCart3DRotationZAxis::funcInverse1, this, std::placeholders::_1) }), + _fInverse2(std::function&)> { std::bind(&CoordTransfCart3DRotationZAxis::funcInverse2, this, std::placeholders::_1) }), + _fInverse3(std::function&)> { std::bind(&CoordTransfCart3DRotationZAxis::funcInverse3, this, std::placeholders::_1) }) + { + _transf[0][0] = cos(_angle); + _transf[0][1] = -sin(_angle); + _transf[1][0] = sin(_angle); + _transf[1][1] = cos(_angle); + _transf[2][2] = 1.0; + + _inverse[0][0] = cos(_angle); + _inverse[0][1] = sin(_angle); + _inverse[1][0] = -sin(_angle); + _inverse[1][1] = cos(_angle); + _inverse[2][2] = 1.0; + } + + Real func1(const VectorN& q) const { return (_transf * q)[0]; } + Real func2(const VectorN& q) const { return (_transf * q)[1]; } + Real func3(const VectorN& q) const { return (_transf * q)[2]; } + + Real funcInverse1(const VectorN& q) const { return (_inverse * q)[0]; } + Real funcInverse2(const VectorN& q) const { return (_inverse * q)[1]; } + Real funcInverse3(const VectorN& q) const { return (_inverse * q)[2]; } + + Vector3Cartesian transf(const Vector3Cartesian& q) const { return Vector3Cartesian{ func1(q), func2(q), func3(q) }; } + Vector3Cartesian transfInverse(const Vector3Cartesian& q) const { return Vector3Cartesian{ funcInverse1(q), funcInverse2(q), funcInverse3(q) }; } + + const IScalarFunction<3>& coordTransfFunc(int i) const + { + if (i == 0) return _f1; + else if (i == 1) return _f2; + else return _f3; + } + const IScalarFunction<3>& inverseCoordTransfFunc(int i) const + { + if (i == 0) return _fInverse1; + else if (i == 1) return _fInverse2; + else return _fInverse3; + } + }; + + // TODO 0.9 - LOW, TESKO, Euler angles, finish CoordTransfCart3DRotationGeneralAxis + // class CoordTransfCart3DRotationGeneralAxis : public CoordTransfWithInverse + // { + + // }; + + class CoordTransfRectilinear : public CoordTransfWithInverse + { + private: + Vector3Cartesian _base[3]; + Vector3Cartesian _dual[3]; + + MatrixNM _alpha; + MatrixNM _transf; + + const ScalarFunctionFromStdFunc<3> _f1; + const ScalarFunctionFromStdFunc<3> _f2; + const ScalarFunctionFromStdFunc<3> _f3; + + const ScalarFunctionFromStdFunc<3> _fInverse1; + const ScalarFunctionFromStdFunc<3> _fInverse2; + const ScalarFunctionFromStdFunc<3> _fInverse3; + + // TODO - HIGH, TESKO, ovo popraviti i napraviti kako spada + Real func1(const VectorN& q) const { return ScalarProd(q, MML::Vector3Cartesian(_dual[0])); } + Real func2(const VectorN& q) const { return ScalarProd(q, MML::Vector3Cartesian(_dual[1])); } + Real func3(const VectorN& q) const { return ScalarProd(q, MML::Vector3Cartesian(_dual[2])); } + + Real funcInverse1(const VectorN& q) const { return (_transf * q)[0]; } + Real funcInverse2(const VectorN& q) const { return (_transf * q)[1]; } + Real funcInverse3(const VectorN& q) const { return (_transf * q)[2]; } + + public: + CoordTransfRectilinear(VectorN b1, + VectorN b2, + VectorN b3) : _f1(std::function&)> { std::bind(&CoordTransfRectilinear::func1, this, std::placeholders::_1) }), + _f2(std::function&)> { std::bind(&CoordTransfRectilinear::func2, this, std::placeholders::_1) }), + _f3(std::function&)> { std::bind(&CoordTransfRectilinear::func3, this, std::placeholders::_1) }), + _fInverse1(std::function&)> { std::bind(&CoordTransfRectilinear::funcInverse1, this, std::placeholders::_1) }), + _fInverse2(std::function&)> { std::bind(&CoordTransfRectilinear::funcInverse2, this, std::placeholders::_1) }), + _fInverse3(std::function&)> { std::bind(&CoordTransfRectilinear::funcInverse3, this, std::placeholders::_1) }) + { + _base[0] = b1; + _base[1] = b2; + _base[2] = b3; + + Vector3Cartesian cross1 = VectorProd(_base[1], _base[2]); + _dual[0] = (1 / (ScalarProd(_base[0], cross1))) * cross1; + + Vector3Cartesian cross2 = VectorProd(_base[2], _base[0]); + _dual[1] = (1 / (ScalarProd(_base[1], cross2))) * cross2; + + Vector3Cartesian cross3 = VectorProd(_base[0], _base[1]); + _dual[2] = (1 / (ScalarProd(_base[2], cross3))) * cross3; + + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + _alpha(i, j) = _base[i][j]; + _transf(i, j) = _base[j][i]; // transponirano + } + } + } + + MatrixNM getAlpha() { return _alpha; } + MatrixNM getTransf() { return _alpha; } + + Vector3Cartesian Base(int i) { return _base[i]; } + Vector3Cartesian Dual(int i) { return _dual[i]; } + + Vector3Cartesian transf(const Vector3Cartesian& q) const { return Vector3Cartesian{ func1(q), func2(q), func3(q) }; } + Vector3Cartesian transfInverse(const Vector3Cartesian& q) const { return Vector3Cartesian{ funcInverse1(q), funcInverse2(q), funcInverse3(q) }; } + + const IScalarFunction<3>& coordTransfFunc(int i) const + { + if (i == 0) return _f1; + else if (i == 1) return _f2; + else return _f3; + } + const IScalarFunction<3>& inverseCoordTransfFunc(int i) const + { + if (i == 0) return _fInverse1; + else if (i == 1) return _fInverse2; + else return _fInverse3; + } + + bool IsRightHanded() + { + Vector3Cartesian cross = VectorProd(_base[0], _base[1]); + if (ScalarProd(cross, _base[2]) > 0.0) + return true; + else + return false; + } + }; + + // TODO 0.9 - VIDJETI STO S MATH vs PHY konvencijama o redoslijedu koordinata + class CoordTransfSphericalToCartesian : public CoordTransfWithInverse + { + private: + // q[0] = r - radial distance + // q[1] = theta - inclination + // q[2] = phi - azimuthal angle + static Real x(const VectorN& q) { return q[0] * sin(q[1]) * cos(q[2]); } + static Real y(const VectorN& q) { return q[0] * sin(q[1]) * sin(q[2]); } + static Real z(const VectorN& q) { return q[0] * cos(q[1]); } + + // q[0] = x + // q[1] = y + // q[2] = z + static Real r(const VectorN& q) { return sqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2]); } + static Real theta(const VectorN& q) { return acos(q[2] / sqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2])); } + static Real phi(const VectorN& q) { return atan2(q[1], q[0]); } + + inline static ScalarFunction<3> _func[3] = { ScalarFunction<3>{x}, + ScalarFunction<3>{y}, + ScalarFunction<3>{z} + }; + + inline static ScalarFunction<3> _funcInverse[3] = { ScalarFunction<3>{r}, + ScalarFunction<3>{theta}, + ScalarFunction<3>{phi} + }; + public: + Vector3Cartesian transf(const Vector3Spherical& q) const { return Vector3Cartesian{ x(q), y(q), z(q) }; } + Vector3Spherical transfInverse(const Vector3Cartesian& q) const { return Vector3Spherical{ r(q), theta(q), phi(q) }; } + + IScalarFunction<3>& coordTransfFunc(int i) const { return _func[i]; } + IScalarFunction<3>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } + + // TODO 0.9 - overload covar i contravar transf. funkcije s analiticki izracunatim jakobijanom derivacija + }; + + class CoordTransfCartesianToSpherical : public CoordTransfWithInverse + { + private: + // q[0] = x + // q[1] = y + // q[2] = z + static Real r(const VectorN& q) { return sqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2]); } + static Real theta(const VectorN& q) { return acos(q[2] / sqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2])); } + static Real phi(const VectorN& q) { return atan2(q[1], q[0]); } + + // q[0] = r - radial distance + // q[1] = theta - inclination + // q[2] = phi - azimuthal angle + static Real x(const VectorN& q) { return q[0] * sin(q[1]) * cos(q[2]); } + static Real y(const VectorN& q) { return q[0] * sin(q[1]) * sin(q[2]); } + static Real z(const VectorN& q) { return q[0] * cos(q[1]); } + + inline static ScalarFunction<3> _func[3] = { ScalarFunction<3>{r}, + ScalarFunction<3>{theta}, + ScalarFunction<3>{phi} + }; + + inline static ScalarFunction<3> _funcInverse[3] = { ScalarFunction<3>{x}, + ScalarFunction<3>{y}, + ScalarFunction<3>{z} + }; + public: + Vector3Spherical transf(const Vector3Cartesian& q) const { return Vector3Spherical{ r(q), theta(q), phi(q) }; } + Vector3Cartesian transfInverse(const Vector3Spherical& q) const { return Vector3Cartesian{ x(q), y(q), z(q) }; } + + IScalarFunction<3>& coordTransfFunc(int i) const { return _func[i]; } + IScalarFunction<3>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } + }; + + class CoordTransfCylindricalToCartesian : public CoordTransfWithInverse + { + private: + // q1 = r - distance from symmetry axis + // q2 = phi - angle to symmetry axis + // q3 = z - z + static Real x(const VectorN& q) { return q[0] * cos(q[1]); } + static Real y(const VectorN& q) { return q[0] * sin(q[1]); } + static Real z(const VectorN& q) { return q[2]; } + + // q[0] = x + // q[1] = y + // q[2] = z + static Real r(const VectorN& q) { return sqrt(q[0] * q[0] + q[1] * q[1]); } + static Real phi(const VectorN& q) { return atan2(q[1], q[0]); } + //static Real funcInverse3(const VectorN &q) { return q[2]; } + + inline static ScalarFunction<3> _func[3] = { ScalarFunction<3>{x}, + ScalarFunction<3>{y}, + ScalarFunction<3>{z} + }; + + inline static ScalarFunction<3> _funcInverse[3] = { ScalarFunction<3>{r}, + ScalarFunction<3>{phi}, + ScalarFunction<3>{z} + }; + public: + Vector3Cartesian transf(const Vector3Cylindrical& q) const { return Vector3Cartesian{ x(q), y(q), z(q) }; } + Vector3Cylindrical transfInverse(const Vector3Cartesian& q) const { return Vector3Cylindrical{ r(q), phi(q), z(q) }; } + + IScalarFunction<3>& coordTransfFunc(int i) const { return _func[i]; } + IScalarFunction<3>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } + }; + + class CoordTransfCartesianToCylindrical : public CoordTransfWithInverse + { + private: + // q[0] = x + // q[1] = y + // q[2] = z + static Real r(const VectorN& q) { return sqrt(q[0] * q[0] + q[1] * q[1]); } + static Real phi(const VectorN& q) { return atan2(q[1], q[0]); } + static Real z(const VectorN& q) { return q[2]; } + + // q1 = r - distance from symmetry axis + // q2 = phi - angle to symmetry axis + // q3 = z - z + static Real x(const VectorN& q) { return q[0] * cos(q[1]); } + static Real y(const VectorN& q) { return q[0] * sin(q[1]); } + //static Real z(const VectorN &q) { return q[2]; } + + inline static ScalarFunction<3> _func[3] = { ScalarFunction<3>{r}, + ScalarFunction<3>{phi}, + ScalarFunction<3>{z} + }; + + inline static ScalarFunction<3> _funcInverse[3] = { ScalarFunction<3>{x}, + ScalarFunction<3>{y}, + ScalarFunction<3>{z} + }; + public: + Vector3Cylindrical transf(const Vector3Cartesian& q) const { return Vector3Cylindrical{ r(q), phi(q), z(q) }; } + Vector3Cartesian transfInverse(const Vector3Cylindrical& q) const { return Vector3Cartesian{ x(q), y(q), z(q) }; } + + IScalarFunction<3>& coordTransfFunc(int i) const { return _func[i]; } + IScalarFunction<3>& inverseCoordTransfFunc(int i) const { return _funcInverse[i]; } + }; + + static CoordTransfSphericalToCartesian CoordTransfSpherToCart; + static CoordTransfCylindricalToCartesian CoordTransfCylToCart; + static CoordTransfCartesianToSpherical CoordTransfCartToSpher; + static CoordTransfCartesianToCylindrical CoordTransfCartToCyl; +} +/////////////////////////// ./include/core/FieldOperations.h ///////////////////////////// grad +// - cart +// - spher +// - cyl + + + + + + +namespace MML +{ + namespace ScalarFieldOperations + { + //////////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////// GENERAL COORD. FIELD OPERATIONS /////////////////// + template + static VectorN Gradient(IScalarFunction& scalarField, const VectorN& pos, const MetricTensorField& metricTensorField) + { + VectorN derivsAtPoint = Derivation::DerivePartialAll(scalarField, pos, nullptr); + + // TODO - depends on cocontra of metic tensor!!! + Tensor2 metricAtPoint(2, 0); + metricTensorField.ValueAtPoint(pos, metricAtPoint); + + VectorN ret = metricAtPoint * derivsAtPoint; + + return ret; + } + + template + static Real Divergence(const IVectorFunction& vectorField, const VectorN& pos, const MetricTensorField& metricTensorField) + { + Real div = 0.0; + VectorN vec_val = vectorField(pos); + + for (int i = 0; i < N; i++) + { + div += Derivation::DeriveVecPartial(vectorField, i, i, pos, nullptr); + + // correction for general coordinates + for (int k = 0; k < N; k++) + { + div += vec_val[k] * metricTensorField.GetChristoffelSymbolSecondKind(i, i, k, pos); + } + } + return div; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////// GRADIENT ///////////////////////////// + template + static VectorN GradientCart(const IScalarFunction& scalarField, const VectorN& pos) + { + return Derivation::DerivePartialAll(scalarField, pos, nullptr); + } + template + static VectorN GradientCart(const IScalarFunction& scalarField, const VectorN& pos, int der_order) + { + switch (der_order) + { + case 1: return Derivation::NDer1PartialByAll(scalarField, pos, nullptr); + case 2: return Derivation::NDer2PartialByAll(scalarField, pos, nullptr); + case 4: return Derivation::NDer4PartialByAll(scalarField, pos, nullptr); + case 6: return Derivation::NDer6PartialByAll(scalarField, pos, nullptr); + case 8: return Derivation::NDer8PartialByAll(scalarField, pos, nullptr); + default: + throw std::invalid_argument("GradientCart: der_order must be in 1, 2, 4, 6 or 8"); + } + } + + static Vector3Spherical GradientSpher(const IScalarFunction<3>& scalarField, const Vector3Spherical& pos) + { + Vector3Spherical ret = Derivation::DerivePartialAll<3>(scalarField, pos, nullptr); + + ret[1] = ret[1] / pos[0]; + ret[2] = ret[2] / (pos[0] * sin(pos[1])); + + return ret; + } + static Vector3Spherical GradientSpher(const IScalarFunction<3>& scalarField, const Vector3Spherical& pos, int der_order) + { + Vector3Spherical ret; + + switch (der_order) + { + case 1: ret = Derivation::NDer1PartialByAll<3>(scalarField, pos, nullptr); + case 2: ret = Derivation::NDer2PartialByAll<3>(scalarField, pos, nullptr); + case 4: ret = Derivation::NDer4PartialByAll<3>(scalarField, pos, nullptr); + case 6: ret = Derivation::NDer6PartialByAll<3>(scalarField, pos, nullptr); + case 8: ret = Derivation::NDer8PartialByAll<3>(scalarField, pos, nullptr); + default: + throw std::invalid_argument("GradientSpher: der_order must be in 1, 2, 4, 6 or 8"); + } + + ret[1] = ret[1] / pos[0]; + ret[2] = ret[2] / (pos[0] * sin(pos[1])); + + return ret; + } + + static Vector3Cylindrical GradientCyl(const IScalarFunction<3>& scalarField, const Vector3Cylindrical& pos) + { + Vector3Cylindrical ret = Derivation::DerivePartialAll<3>(scalarField, pos, nullptr); + + ret[1] = ret[1] / pos[0]; + + return ret; + } + static Vector3Cylindrical GradientCyl(const IScalarFunction<3>& scalarField, const Vector3Cylindrical& pos, int der_order) + { + Vector3Cylindrical ret; + + switch (der_order) + { + case 1: ret = Derivation::NDer1PartialByAll<3>(scalarField, pos, nullptr); + case 2: ret = Derivation::NDer2PartialByAll<3>(scalarField, pos, nullptr); + case 4: ret = Derivation::NDer4PartialByAll<3>(scalarField, pos, nullptr); + case 6: ret = Derivation::NDer6PartialByAll<3>(scalarField, pos, nullptr); + case 8: ret = Derivation::NDer8PartialByAll<3>(scalarField, pos, nullptr); + default: + throw std::invalid_argument("GradientCyl: der_order must be in 1, 2, 4, 6 or 8"); + } + ret[1] = ret[1] / pos[0]; + + return ret; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////// LAPLACIAN ///////////////////////////// + template + static Real LaplacianCart(const IScalarFunction& scalarField, const VectorN& pos) + { + Real lapl = 0.0; + for (int i = 0; i < N; i++) + lapl += Derivation::DeriveSecPartial(scalarField, i, i, pos, nullptr); + + return lapl; + } + static Real LaplacianSpher(const IScalarFunction<3>& scalarField, const Vector3Spherical& pos) + { + const Real r = pos.R(); + const Real phi = pos.Phi(); + const Real theta = pos.Theta(); + + Real first = Derivation::DeriveSecPartial<3>(scalarField, 0, 0, pos, nullptr); + Real second = 2 / pos.R() * Derivation::DerivePartial<3>(scalarField, 0, pos, nullptr); + Real third = 1 / (r * r * sin(theta)) * (cos(theta) * Derivation::DerivePartial<3>(scalarField, 1, pos, nullptr) + sin(theta) * Derivation::DeriveSecPartial<3>(scalarField, 1, 1, pos, nullptr)); + Real fourth = 1 / (r * r * sin(theta) * sin(theta)); + + return first + second + third; + } + static Real LaplacianCyl(const IScalarFunction<3>& scalarField, const Vector3Cylindrical& pos) + { + const Real r = pos[0]; + + Real first = 1 / r * (Derivation::DerivePartial<3>(scalarField, 0, pos, nullptr) + r * Derivation::DeriveSecPartial<3>(scalarField, 0, 0, pos, nullptr)); + Real second = 1 / (r * r) * Derivation::DeriveSecPartial<3>(scalarField, 1, 1, pos, nullptr); + Real third = Derivation::DeriveSecPartial<3>(scalarField, 2, 2, pos, nullptr); + + return first + second + third; + } + }; + + namespace VectorFieldOperations + { + //////////////////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////// DIVERGENCE ///////////////////////////// + template + static Real DivCart(const IVectorFunction& vectorField, const VectorN& pos) + { + Real div = 0.0; + for (int i = 0; i < N; i++) + div += Derivation::DeriveVecPartial(vectorField, i, i, pos, nullptr); + + return div; + } + + static Real DivSpher(const IVectorFunction<3>& vectorField, const VectorN& x) + { + VectorN vals = vectorField(x); + + VectorN derivs; + for (int i = 0; i < 3; i++) + derivs[i] = Derivation::DeriveVecPartial<3>(vectorField, i, i, x, nullptr); + + Real div = 0.0; + div += 1 / (x[0] * x[0]) * (2 * x[0] * vals[0] + x[0] * x[0] * derivs[0]); + div += 1 / (x[0] * sin(x[1])) * (cos(x[1]) * vals[1] + sin(x[1]) * derivs[1]); + div += 1 / (x[0] * sin(x[1])) * derivs[2]; + + return div; + } + + static Real DivCyl(const IVectorFunction<3>& vectorField, const VectorN& x) + { + VectorN vals = vectorField(x); + + VectorN derivs; + for (int i = 0; i < 3; i++) + derivs[i] = Derivation::DeriveVecPartial<3>(vectorField, i, i, x, nullptr); + + Real div = 0.0; + div += 1 / x[0] * (vals[0] + x[0] * derivs[0]); + div += 1 / x[0] * derivs[1]; + div += derivs[2]; + + return div; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////// CURL ///////////////////////////// + static Vector3Cartesian CurlCart(const IVectorFunction<3>& vectorField, const VectorN& pos) + { + Real dzdy = Derivation::DeriveVecPartial<3>(vectorField, 2, 1, pos, nullptr); + Real dydz = Derivation::DeriveVecPartial<3>(vectorField, 1, 2, pos, nullptr); + + Real dxdz = Derivation::DeriveVecPartial<3>(vectorField, 0, 2, pos, nullptr); + Real dzdx = Derivation::DeriveVecPartial<3>(vectorField, 2, 0, pos, nullptr); + + Real dydx = Derivation::DeriveVecPartial<3>(vectorField, 1, 0, pos, nullptr); + Real dxdy = Derivation::DeriveVecPartial<3>(vectorField, 0, 1, pos, nullptr); + + Vector3Cartesian curl{ dzdy - dydz, dxdz - dzdx, dydx - dxdy }; + + return curl; + } + + static Vector3Spherical CurlSpher(const IVectorFunction<3>& vectorField, const VectorN& pos) + { + VectorN vals = vectorField(pos); + + Real dphidtheta = Derivation::DeriveVecPartial<3>(vectorField, 2, 1, pos, nullptr); + Real dthetadphi = Derivation::DeriveVecPartial<3>(vectorField, 1, 2, pos, nullptr); + + Real drdphi = Derivation::DeriveVecPartial<3>(vectorField, 0, 2, pos, nullptr); + Real dphidr = Derivation::DeriveVecPartial<3>(vectorField, 2, 0, pos, nullptr); + + Real dthetadr = Derivation::DeriveVecPartial<3>(vectorField, 1, 0, pos, nullptr); + Real drdtheta = Derivation::DeriveVecPartial<3>(vectorField, 0, 1, pos, nullptr); + + Vector3Spherical ret; + const Real& r = pos[0]; + const Real& theta = pos[1]; + const Real& phi = pos[2]; + + ret[0] = 1 / (r * sin(theta)) * (cos(theta) * vals[2] + sin(theta) * dphidtheta - dthetadphi); + ret[1] = 1 / r * (1 / sin(theta) * drdphi - vals[2] - r * dphidr); + ret[2] = 1 / r * (vals[1] + r * dthetadr - drdtheta); + + return ret; + } + + static Vector3Cylindrical CurlCyl(const IVectorFunction<3>& vectorField, const VectorN& pos) + { + VectorN vals = vectorField(pos); + + Real dzdphi = Derivation::DeriveVecPartial<3>(vectorField, 2, 1, pos, nullptr); + Real dphidz = Derivation::DeriveVecPartial<3>(vectorField, 1, 2, pos, nullptr); + + Real drdz = Derivation::DeriveVecPartial<3>(vectorField, 0, 2, pos, nullptr); + Real dzdr = Derivation::DeriveVecPartial<3>(vectorField, 2, 0, pos, nullptr); + + Real dphidr = Derivation::DeriveVecPartial<3>(vectorField, 1, 0, pos, nullptr); + Real drdphi = Derivation::DeriveVecPartial<3>(vectorField, 0, 1, pos, nullptr); + + Vector3Cylindrical ret{ (Real)(1.0 / pos[0] * dzdphi - dphidz), drdz - dzdr, 1 / pos[0] * (vals[1] + pos[0] * dphidr - drdphi) }; + + return ret; + } + }; +} +/////////////////////////// ./include/core/ChebyshevApproximation.h /////////////////////////// + + + +namespace MML +{ +class ChebyshevApproximation { + int n,m; + Vector c; + Real a,b; + + // Constructor from previously computed coefficients. + ChebyshevApproximation(Vector &cc, Real aa, Real bb) + : n(cc.size()), m(n), c(cc), a(aa), b(bb) {} + + // Set m, the number of coefficients after truncating to an error level thresh, and return the value set + int setm(Real thresh) {while (m>1 && std::abs(c[m-1]) f(n); + bma=0.5*(b-a); + bpa=0.5*(b+a); + for (k=0;k 0.0) throw("x not in range in Chebyshev::eval"); + y2=2.0*(y=(2.0*x-a-b)/(b-a)); + for (j=m-1;j>0;j--) { + sv=d; + d=y2*d-dd+c[j]; + dd=sv; + } + return y*d-dd+0.5*c[0]; + } + + // Return a new Chebyshev object that approximates the derivative of the existing function over + // the same range [a,b]. + ChebyshevApproximation derivative() + { + int j; + Real con; + Vector cder(n); + cder[n-1]=0.0; + cder[n-2]=2*(n-1)*c[n-1]; + for (j=n-2;j>0;j--) + cder[j-1]=cder[j+1]+2*j*c[j]; + con=2.0/(b-a); + for (j=0;j cint(n); + con=0.25*(b-a); + for (j=1;j &d) + : n(d.size()), m(n), c(n), a(-1.), b(1.) + { + c[n-1]=d[n-1]; + c[n-2]=2.0*d[n-2]; + for (int j=n-3;j>=0;j--) { + c[j]=2.0*d[j]+c[j+2]; + for (int i=j+1;i polycofs(int m) + { + int k,j; + Real sv; + Vector d(m),dd(m); + for (j=0;j0;j--) { + for (k=m-j;k>0;k--) { + sv=d[k]; + d[k]=2.0*d[k-1]-dd[k]; + dd[k]=sv; + } + sv=d[0]; + d[0] = -dd[0]+c[j]; + dd[0]=sv; + } + for (j=m-1;j>0;j--) d[j]=d[j-1]-dd[j]; + d[0] = -dd[0]+0.5*c[0]; + return d; + } +}; + +} // namespace MML + +/////////////////////////// ./include/core/FunctionSpace.h /////////////////////////// + + + + +namespace MML +{ + // razmisliti o complex verziji + template + class OrthogonalFunctionsSpaceN : public HilbertSpace> + { + protected: + Real _low, _upp; + public: + OrthogonalFunctionsSpaceN(Real low, Real upp) : _low(low), _upp(upp) {} + + virtual Real getLeadCoef(int i) = 0; + + virtual const IRealFunction& getBasisFunc(int i) = 0; + virtual const IRealFunction& getWeightFunc() = 0; + + virtual VectorN getRepr(const IRealFunction& f) { + VectorN ret; + + for (int i = 0; i < N; i++) { + RealFunctionFromStdFunc func_to_integrate([&](Real x) { + return getWeightFunc()(x) * f(x) * getBasisFunc(i)(x); + }); + + ret[i] = getLeadCoef(i) * Integrate(func_to_integrate, _low, _upp, 1e-5); + } + + return ret; + } + + virtual Real scal_prod(const VectorN& a, const VectorN& b) const { return a.ScalarProductCartesian(b); } + }; + + class HermitianFunctionSpace5 : public OrthogonalFunctionsSpaceN<5> + { + private: + const static inline RealFunction _weightFunc = RealFunction([](Real x) { return exp(-x * x); }); + + const static inline RealFunction _basisFunctions[5] = { + RealFunction([](Real x) { return (Real)std::hermite(0,x); }), + RealFunction([](Real x) { return (Real)std::hermite(1,x); }), + RealFunction([](Real x) { return (Real)std::hermite(2,x); }), + RealFunction([](Real x) { return (Real)std::hermite(3,x); }), + RealFunction([](Real x) { return (Real)std::hermite(4,x); }) + }; + public: + HermitianFunctionSpace5() : OrthogonalFunctionsSpaceN(Constants::NegativeInf, Constants::PositiveInf) {} + HermitianFunctionSpace5(Real low, Real upp) : OrthogonalFunctionsSpaceN(low, upp) {} + + Real getLeadCoef(int i) { return 1 / (std::pow(2, i) * Functions::Factorial(i) * sqrt(Constants::PI)); } + + const IRealFunction& getBasisFunc(int i) { return _basisFunctions[i]; } + const IRealFunction& getWeightFunc() { return _weightFunc; } + }; + + class LegendreFunctionSpace5 : public OrthogonalFunctionsSpaceN<5> + { + private: + const static inline RealFunction _weightFunc = RealFunction([](Real x) { return (Real)1.0; }); + + const static inline RealFunction _basisFunctions[5] = { + RealFunction([](Real x) { return (Real)std::legendre(0,x); }), + RealFunction([](Real x) { return (Real)std::legendre(1,x); }), + RealFunction([](Real x) { return (Real)std::legendre(2,x); }), + RealFunction([](Real x) { return (Real)std::legendre(3,x); }), + RealFunction([](Real x) { return (Real)std::legendre(4,x); }) + }; + public: + LegendreFunctionSpace5() : OrthogonalFunctionsSpaceN(-1.0, 1.0) {} + + Real getLeadCoef(int i) { return i * 0.5; } + + const IRealFunction& getBasisFunc(int i) { return _basisFunctions[i]; } + const IRealFunction& getWeightFunc() { return _weightFunc; } + }; + + class LaguerreFunctionSpace5 : public OrthogonalFunctionsSpaceN<5> + { + private: + Real _alpha; + + Real weight_func(Real x) { return exp(-x) * pow(x, _alpha); } + RealFunctionFromStdFunc _weightFunc = std::function{ std::bind(&LaguerreFunctionSpace5::weight_func, this, std::placeholders::_1) }; + + const static inline RealFunction _basisFunctions[5] = { + RealFunction([](Real x) { return (Real)std::laguerre(0,x); }), + RealFunction([](Real x) { return (Real)std::laguerre(1,x); }), + RealFunction([](Real x) { return (Real)std::laguerre(2,x); }), + RealFunction([](Real x) { return (Real)std::laguerre(3,x); }), + RealFunction([](Real x) { return (Real)std::laguerre(4,x); }) + }; + public: + LaguerreFunctionSpace5(Real inAlpha) : OrthogonalFunctionsSpaceN(0.0, Constants::PositiveInf) + { + if (inAlpha <= -1.0) + throw std::runtime_error("Alpha must bi bigger than -1"); + + _alpha = inAlpha; + } + + Real getLeadCoef(int i) { return Functions::Factorial(i) / std::tgamma(i + _alpha + 1); } + + const IRealFunction& getBasisFunc(int i) { return _basisFunctions[i]; } + const IRealFunction& getWeightFunc() { return _weightFunc; } + }; + + // TODO - promijeniti u dinamicki vektor!!!, ali ostaviti N template param + template + class DiscretizedFunctionSpaceN : public VectorSpace> + { + private: + Real _low, _upp; + public: + DiscretizedFunctionSpaceN(Real low, Real upp) : _low(low), _upp(upp) {} + + // each function is a vector of values, of that function at discretized points + VectorN getRepr(const IRealFunction& f) + { + VectorN ret; + for (int i = 0; i < N; i++) + { + Real x = _low + i * (_upp - _low) / (N - 1); + ret[i] = f(x); + } + return ret; + } + + // crucial, then you can define operators on functions, but actually vectors, and applying operator to function is multiplying matrix with vector + }; +} +/////////////////////////// ./include/core/Curves.h /////////////////////////// + + + +namespace MML +{ + namespace Curves2D + { + //////////////////////////////// PLANAR CURVES ////////////////////////////////// + class Circle2DCurve : public IParametricCurve<2> + { + Real _radius; + public: + Circle2DCurve() : _radius(1) {} + Circle2DCurve(Real radius) : _radius(radius) {} + + Real getMinT() const { return 0.0; } + Real getMaxT() const { return 2 * Constants::PI; } + + VectorN operator()(Real t) const { return MML::VectorN{_radius* cos(t), _radius* sin(t)}; } + }; + + class LogSpiralCurve : public IParametricCurve<2> + { + Real _lambda, _c; + public: + LogSpiralCurve() : _lambda(-1), _c(1) {} + LogSpiralCurve(Real lambda, Real c) : _lambda(lambda), _c(c) { + if (lambda >= 0) throw std::invalid_argument("LogSpiralCurve: lambda must be negative."); + if (c == 0) throw std::invalid_argument("LogSpiralCurve: c must not be zero."); + } + + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{exp(_lambda* t)* cos(t), exp(_lambda* t)* sin(t)}; } + }; + + class LemniscateCurve : public IParametricCurve<2> + { + public: + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{cos(t) / (1 + sin(t) * sin(t)), sin(t)* cos(t) / (1 + sin(t) * sin(t))}; } + }; + + class DeltoidCurve : public IParametricCurve<2> + { + int _n; + public: + DeltoidCurve() : _n(1) {} + DeltoidCurve(int n) : _n(n) {} + + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{2 * _n * cos(t) * (1 + cos(t)), 2 * _n * sin(t) * (1 - cos(t))}; } + }; + + class AstroidCurve : public IParametricCurve<2> + { + Real _c; + public: + AstroidCurve() : _c(1) {} + AstroidCurve(Real c) : _c(c) { + if (c <= 0) throw std::invalid_argument("AstroidCurve: c must be positive."); + } + + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{_c* cos(t)* cos(t)* cos(t), _c* sin(t)* sin(t)* sin(t)}; } + }; + + class EpitrochoidCurve : public IParametricCurve<2> + { + Real _radius, _c; + int _n; + public: + EpitrochoidCurve() : _radius(1), _c(1), _n(1) {} + EpitrochoidCurve(Real radius, Real c, int n) : _radius(radius), _c(c), _n(n) {} + + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{cos(t) - _c * cos(_n * t), sin(t) - _c * sin(_n * t) }; } + }; + + class ArchimedeanSpiralCurve : public IParametricCurve<2> + { + Real _a; + public: + ArchimedeanSpiralCurve() : _a(1) {} + ArchimedeanSpiralCurve(Real a) : _a(a) {} + + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{_a* t* cos(t), _a* t* sin(t)}; } + }; + } // end namespace Curves2D + + namespace Curves3D + { + ///////////////////////////////// SPACE CURVES /////////////////////////////////// + class LineCurve : public IParametricCurve<3> + { + Line3D _line; + Real _minT; + Real _maxT; + public: + LineCurve(Real minT, Real maxT, const Point3Cartesian& pnt, const Vector3Cartesian dir) : _line(pnt, dir), _minT(minT), _maxT(maxT) {} + + Real getMinT() const { return _minT; } + Real getMaxT() const { return _maxT; } + + VectorN operator()(Real t) const + { + if (t < _minT || t > _maxT) + throw std::invalid_argument("LineCurve: t is out of range."); + + auto pnt = _line.PointOnLine(t); + return VectorN{pnt.X(), pnt.Y(), pnt.Z()}; + } + }; + + // TODO 0.9 - add SquarePathXY + + class Circle3DXY : public IParametricCurve<3> { + Real _radius; + public: + Circle3DXY() : _radius(1) {} + Circle3DXY(Real radius) : _radius(radius) {} + + Real getMinT() const { return 0.0; } + Real getMaxT() const { return 2 * Constants::PI; } + + VectorN operator()(Real t) const { return MML::VectorN{_radius* cos(t), _radius* sin(t), 0}; } + }; + class Circle3DXZ : public IParametricCurve<3> { + Real _radius; + public: + Circle3DXZ() : _radius(1) {} + Circle3DXZ(Real radius) : _radius(radius) {} + + Real getMinT() const { return 0.0; } + Real getMaxT() const { return 2 * Constants::PI; } + + VectorN operator()(Real t) const { return MML::VectorN{_radius* cos(t), 0, _radius* sin(t)}; } + }; + class Circle3DYZ : public IParametricCurve<3> { + Real _radius; + public: + Circle3DYZ() : _radius(1) {} + Circle3DYZ(Real radius) : _radius(radius) {} + + Real getMinT() const { return 0.0; } + Real getMaxT() const { return 2 * Constants::PI; } + + VectorN operator()(Real t) const { return MML::VectorN{0, _radius* cos(t), _radius* sin(t)}; } + }; + + class HelixCurve : public IParametricCurve<3> + { + Real _radius, _b; + public: + HelixCurve() : _radius(1.0), _b(1.0) {} + HelixCurve(Real radius, Real b) : _radius(radius), _b(b) {} + + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{_radius* cos(t), _radius* sin(t), _b* t}; } + + Real getCurvature(Real t) const { return _radius / (POW2(_radius) + POW2(_b)); } + Real getTorsion(Real t) const { return _b / (POW2(_radius) + POW2(_b)); } + }; + + class TwistedCubicCurve : public IParametricCurve<3> + { + public: + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{t, t* t, t* t* t}; } + }; + + class ToroidalSpiralCurve : public IParametricCurve<3> + { + int _n; + Real _scale = 1.0; + public: + ToroidalSpiralCurve() : _n(1) {} + ToroidalSpiralCurve(int n) : _n(n) {} + ToroidalSpiralCurve(Real scale) : _scale(scale) {} + ToroidalSpiralCurve(int n, Real scale) : _n(n), _scale(scale) {} + + Real getMinT() const { return Constants::NegativeInf; } + Real getMaxT() const { return Constants::PositiveInf; } + + VectorN operator()(Real t) const { return MML::VectorN{(_scale* (4 + sin(_n * t))* cos(t)), _scale* (4 + sin(_n * t))* sin(t), _scale* cos(_n* t)}; } + }; + } +} + +/////////////////////////// ./include/core/Surfaces.h /////////////////////////// + + +namespace MML +{ + namespace Surfaces + { + // TODO - SimplePlane3D, given by point and normal + + // MonkeySaddle + class MonkeySaddle : public IParametricSurface<3> + { + public: + Real getMinU() const { return -10; } + Real getMaxU() const { return 10; } + Real getMinW() const { return -10; } + Real getMaxW() const { return 10; } + + VectorN operator()(Real u, Real w) const { return MML::VectorN{u, w, u* (u* u - 3 * w * w)}; } + }; + // MobiusStrip + class MobiusStrip : public IParametricSurface<3> + { + public: + Real getMinU() const { return 0; } + Real getMaxU() const { return 2 * Constants::PI; } + Real getMinW() const { return -1; } + Real getMaxW() const { return 1; } + + VectorN operator()(Real u, Real w) const { return MML::VectorN{(1 + w * cos(u / 2))* cos(u), (1 + w * cos(u / 2))* sin(u), w* sin(u / 2)}; } + }; + // Torus + class Torus : public IParametricSurface<3> + { + Real _R, _r; + public: + Torus() : _R(1), _r(0.5) {} + Torus(Real R, Real r) : _R(R), _r(r) {} + + Real getMinU() const { return 0; } + Real getMaxU() const { return 2 * Constants::PI; } + Real getMinW() const { return 0; } + Real getMaxW() const { return 2 * Constants::PI; } + + VectorN operator()(Real u, Real w) const { return MML::VectorN{(_R + _r * cos(w))* cos(u), (_R + _r * cos(w))* sin(u), _r* sin(w)}; } + }; + // Sphere + class Sphere : public IParametricSurface<3> + { + Real _R; + public: + Sphere() : _R(1) {} + Sphere(Real R) : _R(R) {} + + Real getMinU() const { return 0; } + Real getMaxU() const { return Constants::PI; } + Real getMinW() const { return 0; } + Real getMaxW() const { return 2 * Constants::PI; } + + VectorN operator()(Real u, Real w) const { return MML::VectorN{_R* sin(u)* cos(w), _R* sin(u)* sin(w), _R* cos(u)}; } + }; + // Ellipsoid + class Ellipsoid : public IParametricSurface<3> + { + Real _a, _b, _c; + public: + Ellipsoid() : _a(1), _b(1), _c(1) {} + Ellipsoid(Real a, Real b, Real c) : _a(a), _b(b), _c(c) {} + + Real getMinU() const { return 0; } + Real getMaxU() const { return Constants::PI; } + Real getMinW() const { return 0; } + Real getMaxW() const { return 2 * Constants::PI; } + + VectorN operator()(Real u, Real w) const { return MML::VectorN{_a* sin(u)* cos(w), _b* sin(u)* sin(w), _c* cos(u)}; } + }; + // Cylinder + class Cylinder : public IParametricSurface<3> + { + Real _R, _H; + public: + Cylinder() : _R(1), _H(1) {} + Cylinder(Real R, Real H) : _R(R), _H(H) {} + + Real getMinU() const { return 0; } + Real getMaxU() const { return 2 * Constants::PI; } + Real getMinW() const { return 0; } + Real getMaxW() const { return _H; } + + VectorN operator()(Real u, Real w) const { return MML::VectorN{_R* cos(u), _R* sin(u), w}; } + }; + + + } +} + +/////////////////////////// ./include/core/DiracDeltaFunction.h /////////////////////////// + + +namespace MML +{ + // TODO 0.9 - implement step function + // TODO 0.9 - implement heaviside function + class DiracFunction : public IRealFunction + { + protected: + int _N; + public: + DiracFunction(int N) : _N(N) {} + }; + + class DiracStep : public DiracFunction + { + public: + DiracStep(int N) : DiracFunction(N) {} + + Real operator()(const Real x) const + { + if (x < -1.0 / (2 * _N) || x > 1.0 / (2 * _N)) + return 0.0; + else + return _N; + } + }; + class DiracExp : public DiracFunction + { + public: + DiracExp(int N) : DiracFunction(N) {} + + Real operator()(const Real x) const { return _N / sqrt(2 * Constants::PI) * exp(-x * x * _N * _N); } + }; + class DiracSqr : public DiracFunction + { + public: + DiracSqr(int N) : DiracFunction(N) {} + + Real operator()(const Real x) const { return _N / Constants::PI / (1 + _N * _N * x * x); } + }; + class DiracSin : public DiracFunction + { + public: + DiracSin(int N) : DiracFunction(N) {} + + Real operator()(const Real x) const { return sin(_N * x) / (Constants::PI * x); } + }; +} + +/////////////////////////// ./include/core/ODESystem.h /////////////////////////// + + + +namespace MML +{ + class ODESystem : public IODESystem + { + protected: + int _dim; + void (*_func)(Real, const Vector&, Vector&); + + public: + ODESystem() : _dim(0), _func(nullptr) { } + ODESystem(int n, void (*inFunc)(Real, const Vector&, Vector&)) : _dim(n), _func(inFunc) { } + + int getDim() const { return _dim; } + void derivs(const Real t, const Vector& x, Vector& dxdt) const + { + _func(t, x, dxdt); + } + }; + + class ODESystemWithJacobian : public ODESystem + { + private: + void (*_funcJac)(const Real, const Vector&, Vector&, Matrix&); + + public: + ODESystemWithJacobian() { } + ODESystemWithJacobian(int n, + void (*inFunc)(Real, const Vector&, Vector&), + void (*inFuncJac)(const Real t, const Vector& x, Vector& dxdt, Matrix& dydx) + ) : ODESystem(n, inFunc), _funcJac(inFuncJac) { } + + void jacobian(const Real t, Vector& x, Vector& dxdt, Matrix& dydx) + { + _funcJac(t, x, dxdt, dydx); + } + }; + + // calculates needed Jacobian numerically + class ODESystemWithNumJacobian : public ODESystem + { + public: + ODESystemWithNumJacobian() { } + ODESystemWithNumJacobian(int n, void (*inFunc)(Real, const Vector&, Vector&) ) + : ODESystem(n, inFunc) { } + + void jacobian(const Real t, Vector& x, Vector& dxdt, Matrix& dydx) + { + // formirati lokalnu vektorsku funkciju na bazi derivs() +// _funcJac(t, x, dxdt, dydx); + } + }; + + class ODESystemSolution + { + // first values are initial conditions + public: + int _sys_dim; + int _count; + Real _x1, _x2; + Vector _xval; + Matrix _yval; + + ODESystemSolution() {} + ODESystemSolution(Real x1, Real x2, int dim, int maxSteps) : _sys_dim(dim), _count(maxSteps + 1), _x1(x1), _x2(x2) + { + _xval.Resize(maxSteps + 1); + _yval.Resize(dim, maxSteps + 1); + } + + template + ParametricCurveInterpolated getSolutionAsParametricCurve() const + { + ParametricCurveInterpolated curve(_xval, _yval); + return curve; + } + + template + SplineInterpParametricCurve getSolutionAsSplineParametricCurve() const + { + return SplineInterpParametricCurve(_yval); + } + + LinearInterpRealFunc getSolutionAsLinearInterp(int component) const + { + Vector xsave = _xval; + Vector ysave = _yval.VectorFromRow(component); + + return LinearInterpRealFunc(xsave, ysave); + } + PolynomInterpRealFunc getSolutionAsPolynomInterp(int component, int polynomDegree) const + { + Vector xsave = _xval; + Vector ysave = _yval.VectorFromRow(component); + + return PolynomInterpRealFunc(xsave, ysave, polynomDegree); + } + SplineInterpRealFunc getSolutionAsSplineInterp(int component) const + { + Vector xsave = _xval; + Vector ysave = _yval.VectorFromRow(component); + + return SplineInterpRealFunc(xsave, ysave); + } + + bool Serialize(std::string fileName, std::string title) const + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << "MULTI_REAL_FUNCTION_VARIABLE_SPACED" << std::endl; + + file << title << std::endl; + file << _sys_dim << std::endl; + file << _count << std::endl; + file << _x1 << std::endl; + file << _x2 << std::endl; + + for (int i = 0; i < _count; i++) + { + file << _xval[i] << " "; + for (int j = 0; j < _sys_dim; j++) + { + file << _yval[j][i] << " "; + } + file << std::endl; + } + file.close(); + return true; + } + bool SerializeAsParametricCurve3D(std::string fileName, std::string title) const + { + if (_sys_dim != 3) + return false; + + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << "PARAMETRIC_CURVE_CARTESIAN_3D" << std::endl; + file << "t1: " << _x1 << std::endl; + file << "t2: " << _x2 << std::endl; + file << "NumPoints: " << _count << std::endl; + + for (int i = 0; i < _count; i++) + { + file << _xval[i] << " "; + for (int j = 0; j < _sys_dim; j++) + { + file << _yval[j][i] << " "; + } + file << std::endl; + } + + file.close(); + return true; + } + }; + + class ODESystemSolutionEqualSpacing + { + // first values are initial conditions + public: + int _sys_dim; + int _count; + Real x1, x2; + Vector xval; + Matrix yval; + + ODESystemSolutionEqualSpacing() {} + ODESystemSolutionEqualSpacing(int dim, int numSteps) : _sys_dim(dim), _count(numSteps + 1) + { + xval.Resize(numSteps + 1); + yval.Resize(dim, numSteps + 1); + } + }; +} +/////////////////////////// ./include/core/CoordSystem.h /////////////////////////// + + + +namespace MML +{ + // RectilinearCartesianOrthogonal + class CoordSystemOrthogonalCartesian + { + Vector3Cartesian _base[3]; + + public: + CoordSystemOrthogonalCartesian(Vector3Cartesian b1, Vector3Cartesian b2, Vector3Cartesian b3) + { + _base[0] = b1; + _base[1] = b2; + _base[2] = b3; + } + + bool isOrthogonal() + { + Real a01 = ScalarProd(_base[0], _base[1]); + Real a02 = ScalarProd(_base[0], _base[2]); + Real a12 = ScalarProd(_base[1], _base[2]); + + return sqrt(a01 * a01 + a02 * a02 + a12 * a12) < 1e-6; + } + }; + + class CoordSystemObliqueCartesian + { + public: + Vector3Cartesian _base[3]; + VectorN _dual[3]; + + MatrixNM _alpha; + + MatrixNM _transf; + MatrixNM _inv; + + public: + CoordSystemObliqueCartesian(Vector3Cartesian b1, Vector3Cartesian b2, Vector3Cartesian b3) + { + _base[0] = b1; + _base[1] = b2; + _base[2] = b3; + + Vector3Cartesian cross1 = VectorProd(_base[1], _base[2]); + _dual[0] = (1 / (ScalarProd(_base[0], cross1))) * cross1; + + Vector3Cartesian cross2 = VectorProd(_base[2], _base[0]); + _dual[1] = (1 / (ScalarProd(_base[1], cross2))) * cross2; + + Vector3Cartesian cross3 = VectorProd(_base[0], _base[1]); + _dual[2] = (1 / (ScalarProd(_base[2], cross3))) * cross3; + + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + _alpha(i, j) = _base[i][j]; + _transf(i, j) = _base[j][i]; // transponirano + } + } + + _inv = _transf.GetInverse(); + + } + + VectorN Base(int i) { return _base[i]; } + VectorN Dual(int i) { return _dual[i]; } + }; + + class ReferentialFrame3D + // get local coord in parent coord + { }; + + class InertialFrame3D : public ReferentialFrame3D + { + // u odnosu na drugi referential frame ima samo konstantu brzinu + }; + + class MovingFrame3D : public ReferentialFrame3D + { + // getOriginPositionAtTime - vraca poziciju u odnosu na ReferentialFrame3D + // getSpeedAtTime - vraca brzinu u odnosu na ReferentialFrame3D + }; + + // TODO - CircleOrbitingCartesianFrame3DToSpherical + // ovo je referentni frame koji se rotira oko nekog centra mase, i treba ga zamisliti kao kocku koja rotira oko CM + class CircleOrbitingCartesianFrame3DToCartesian : public MovingFrame3D + { + // koristimo Cartesian sustav - vraca pozicije u odnosu na CM oko kojeg orbitira U CARTESIAN KOORDINATAMA + // što ukoliko parametre orbite ne zelim u Cartesian sustavu? - nova klasa + public: + Real _radius; + Real _speed; + Real _period; + Real _angle_at_t0; + // axis, za 3d slucaj, kad je ravnina orbite zakrenuta + Vector3Cartesian _axis; + + ReferentialFrame3D _parentFrame; + + CircleOrbitingCartesianFrame3DToCartesian(ReferentialFrame3D parentFrame, Real radius, Real period) + { + _radius = radius; + // _speed = speed; // izracunati + _period = period; + _parentFrame = parentFrame; + _angle_at_t0 = 0; + } + CircleOrbitingCartesianFrame3DToCartesian(ReferentialFrame3D parentFrame, Real radius, Real period, Real angle_at_t0) + { + _radius = radius; + _period = period; + _angle_at_t0 = angle_at_t0; + _parentFrame = parentFrame; + } + CircleOrbitingCartesianFrame3DToCartesian(ReferentialFrame3D parentFrame, Real radius, Real period, Real orbit_inclination, Real angle_at_t0) + { + _radius = radius; + _period = period; + _angle_at_t0 = angle_at_t0; + // calc axis based on inclination + _parentFrame = parentFrame; + } + + // OVO JE KLJUCNA FUNKCIJA + Vector3Cartesian GetOriginPositionAtTime(Real t) + { + // calculate rotational evolution of position of center of mass + Real angle = _angle_at_t0 + 2 * Constants::PI * t / _period; + // in z-plane! + Vector3Cartesian CM_pos({ _radius * cos(angle), _radius * sin(angle), 0 }); + + return CM_pos; + } + // ovo ce morati svaka! + Vector3Cartesian GetLocalPositionAtTimeInCartesian(Vector3Cartesian pos, Real t) + { + // calculate evolution of position of center of mass + Vector3Cartesian CM_pos = GetOriginPositionAtTime(t); + + // add local coordinates to CM position + // BITNA PRETPOSTAVKA - kako naš sustav rotira oko CM, njegova apsolutna orijentacije se ne mijenja + // ie, Zemljina (lokalna) os rotacije je jednom nagnuta OD Sunca, a za sest mjeseci nagnuta PREMA Suncu + return CM_pos + pos; + } + // za danu tocku zadanu Cartesian koordinatama u lokalnom sustavu + // vraca Cartesian poziciju (u LOKALNOM frameu u odnosu na CM), nakon vremena T + Vector3Cartesian GetLocalPositionAtTime(Vector3Cartesian pos, Real t) + { + // calculate evolution of position of center of mass + Vector3Cartesian CM_pos = GetOriginPositionAtTime(t); + + // add local coordinates to CM position + // BITNA PRETPOSTAVKA - kako naš sustav rotira oko CM, njegova apsolutna orijentacije se ne mijenja + // ie, Zemljina (lokalna) os rotacije je jednom nagnuta OD Sunca, a za sest mjeseci nagnuta PREMA Suncu + return CM_pos + pos; + } + Vector3Cartesian GetLocalPositionAtTime(Vector3Spherical pos, Real t) + { + // calculate evolution of position of center of mass + Vector3Cartesian CM_pos = GetOriginPositionAtTime(t); + + // transform given spherical coordinates to cartesian + // add local coordinates to CM position + return Vector3Cartesian({ 0,0,0 }); + } + }; + + class RotatingFrame3D : public ReferentialFrame3D + { + // ovaj frame koristi cilindrični sustav (generalna rotacija oko osi) + public: + Real _period; + Real _angle_at_t0; + VectorN _axis; // pretpostavljamo z-axis za pocetak + ReferentialFrame3D _parentFrame; + + RotatingFrame3D(ReferentialFrame3D parentFrame, Real period, VectorN axis) + { + _period = period; + _axis = axis; + _parentFrame = parentFrame; + } + VectorN GetPositionAtTime(Vector3Cylindrical pos, Real t) + { + Real angle = 2 * Constants::PI * t / _period; + return VectorN({ _axis[0] * cos(angle), _axis[1] * sin(angle), 0 }); + // TODO + } + }; + + class SphericalRotatingFrame : public RotatingFrame3D + { + // ovaj frame radi sa spherical koordinatama + public: + SphericalRotatingFrame(ReferentialFrame3D parentFrame, Real period, VectorN axis) + : RotatingFrame3D(parentFrame, period, axis) {} + + VectorN GetPositionAtTime(Vector3Spherical pos, Real t) + { + return VectorN({ 0,0,0 }); + } + }; + + class HardSphereRotatingFrame : public RotatingFrame3D + { + // lokalne koordinate - lat, long, h + // vraca - spherical + // ima svoj CENTAR MASE u sredini sfere, i u odnosu na njega vraća pozicije + // koje su usglasene s axisom rotacije (lat, long) + public: + double _radius; + + HardSphereRotatingFrame(ReferentialFrame3D parentFrame, Real radius, Real period, VectorN axis) + : _radius(radius), RotatingFrame3D(parentFrame, period, axis) {} + + Vector3Cartesian GetOriginPositionAtTime(Real t) + { + return Vector3Cartesian({ 0,0,0 }); // ne mice se!!!! + } + + // za danu tocku u lokalnom sustavu, vraca spherical poziciju (u LOKALNOM frameu u odnosu na CM), nakon vremena T + Vector3Spherical GetLocalPositionAtTime(Real latitude, Real longitude, Real height, Real t) + { + // taking into consideration rotation of the sphere + // calculate position after time t + + // pretvoriti u pravi spherical vektor + // + return Vector3Spherical({ 0,0,0 }); + } + + Vector3Cartesian GetLocalPositionAtTimeInCartesianParentFrame(Real latitude, Real longitude, Real height, Real t) + { + // calculate evolution of position of center of mass + Vector3Cartesian CM_pos = GetOriginPositionAtTime(t); + + Vector3Spherical localSphPos = GetLocalPositionAtTime(latitude, longitude, height, t); + Vector3Cartesian localCartPos = CoordTransfSpherToCart.transf(localSphPos); + + return CM_pos + localCartPos; + } + }; + + class HardSphereLocalCartesian : public InertialFrame3D + { + // u ctor dobije ref na HardSphereRotatingFrame, ITOCNO ODREDJENU TOCKU NA SFERI!!! + // ima smisla - gleda nakon deltaT gdje je pozicija tocke u jednom i drugom + // kosi hitac zadan u lokalnom kartezijevom, i izracunam + // onda vidim gdje je taj lokalni kartezije u trenutku deltaT, i da li se + // slaze TRENUTNA tocka (x,y,z) di je sletio hitac, s onom kako sam izracunao + }; + + // da li mi treba Local3D koji za parenta ima HardSphereRotatingFrameToSpherical? + // lokalni sustav, baziran na TOCNO ODREDJENOJ TOCKI SFERE, s x, y i z + // za njega NE TREBA davati lat, long i h jer vec ima, a x, y i z transformira lokalno + + +} + +/////////////////////////// ./include/core/Fields.h /////////////////////////// + + + + +namespace MML::Fields +{ + //////////////////// INVERSE RADIAL FIELD ///////////////// + // Potential fields + static Real InverseRadialPotentialFieldCart(const VectorN& x) { return 1.0 / x.NormL2(); } + static Real InverseRadialPotentialFieldCart(Real constant, const VectorN& x) { return constant / x.NormL2(); } + static Real InverseRadialPotentialFieldSpher(const VectorN& x) { return 1.0 / x[0]; } + static Real InverseRadialPotentialFieldSpher(Real constant, const VectorN& x) { return constant / x[0]; } + static Real InverseRadialPotentialFieldCyl(const VectorN& x) { return 1.0 / sqrt(x[0] * x[0] + x[2] * x[2]); } + static Real InverseRadialPotentialFieldCyl(Real constant, const VectorN& x) { return constant / sqrt(x[0] * x[0] + x[2] * x[2]); } + + // Force fields + static VectorN InverseRadialPotentialForceFieldCart(const VectorN& x) // TODO - ovo u Vector3Cartesian + { + return (-1) * x / std::pow((x).NormL2(), 3); + } + static VectorN InverseRadialPotentialForceFieldCart(Real constant, const VectorN& x) + { + return -constant * x / std::pow((x).NormL2(), 3); + } + // can't be Vector3Spherical, because in that case we can't form a ScalarFunction<3> out of it :() + static VectorN InverseRadialPotentialForceFieldSph(const VectorN& x) + { + return VectorN{-1 / (x[0] * x[0]), 0.0, 0.0}; + } + static VectorN InverseRadialPotentialForceFieldSph(Real constant, const VectorN& x) + { + return VectorN{-constant / (x[0] * x[0]), 0.0, 0.0}; + } + + class InverseRadialFieldCart : public IScalarFunction<3> + { + protected: + Real _constant; + public: + InverseRadialFieldCart() : _constant(-1.0) {} + InverseRadialFieldCart(Real constant) : _constant(constant) {} + + Real operator()(const VectorN& x) const { return _constant * Fields::InverseRadialPotentialFieldCart(x); } + }; + class InverseRadialFieldSpher : public IScalarFunction<3> + { + protected: + Real _constant; + public: + InverseRadialFieldSpher() : _constant(-1.0) {} + InverseRadialFieldSpher(Real constant) : _constant(constant) {} + + Real operator()(const VectorN& x) const { return _constant * InverseRadialPotentialFieldSpher(x); } + }; + + class InverseRadialForceFieldCart : public IVectorFunction<3> + { + private: + Real _constant; + public: + InverseRadialForceFieldCart() : _constant(-1.0) {} + InverseRadialForceFieldCart(Real constant) : _constant(constant) {} + + VectorN operator()(const VectorN& x) const { return _constant * Fields::InverseRadialPotentialForceFieldCart(x); } + }; + class InverseRadialForceFieldSpher : public IVectorFunction<3> + { + private: + Real _constant; + public: + InverseRadialForceFieldSpher() : _constant(-1.0) {} + InverseRadialForceFieldSpher(Real constant) : _constant(constant) {} + + VectorN operator()(const VectorN& x) const { return _constant * InverseRadialPotentialForceFieldSph(x); } + }; + // TODO - dodati multibody gravity + // TODO - dodati InfiniteLineCurrentField + // TODO - dodati InfinitePlaneCurrentField + +} + +/////////////////////////// ./include/core/PermutationGroup.h /////////////////////////// + + + +namespace MML +{ + // TODO - verify this!!! + class PermutationGroup { + public: + PermutationGroup() {} + + PermutationGroup(const std::vector>& cycles) { + for (const auto& cycle : cycles) { + add_cycle(cycle); + } + } + + void add_cycle(const std::vector& cycle) { + m_cycles.push_back(cycle); + } + + std::vector apply(const std::vector& perm) const { + std::vector result = perm; + for (const auto& cycle : m_cycles) { + for (size_t i = 0; i < cycle.size(); ++i) { + result[cycle[i]] = perm[cycle[(i + 1) % cycle.size()]]; + } + } + return result; + } + + PermutationGroup inverse() const { + std::vector> inverse_cycles; + for (const auto& cycle : m_cycles) { + std::vector inverse_cycle(cycle.size()); + for (size_t i = 0; i < cycle.size(); ++i) { + inverse_cycle[cycle[i]] = cycle[(i + 1) % cycle.size()]; + } + std::reverse(inverse_cycle.begin(), inverse_cycle.end()); + inverse_cycles.push_back(inverse_cycle); + } + return PermutationGroup(inverse_cycles); + } + + private: + std::vector> m_cycles; + }; +} +/////////////////////////// ./include/core/Serializer.h /////////////////////////// + + +namespace MML +{ + class Serializer + { + public: + // Real function serialization + static bool SaveRealMultiFunc(std::vector funcs, std::string title, Real x1, Real x2, int count, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << "MULTI_REAL_FUNCTION_VARIABLE_SPACED" << std::endl; + + file << title << std::endl; + file << funcs.size() << std::endl; + file << count << std::endl; + file << x1 << std::endl; + file << x2 << std::endl; + + for (int i = 0; i < count; i++) + { + double x = x1 + (x2 - x1) * i / (count - 1); + file << x << " "; + for (int j = 0; j < funcs.size(); j++) + { + file << (*funcs[j])(x) << " "; + } + file << std::endl; + } + + file.close(); + return true; + } + + static bool SaveRealFuncEquallySpaced(const IRealFunction& f, std::string title, Real x1, Real x2, int numPoints, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << "REAL_FUNCTION_EQUALLY_SPACED" << std::endl; + file << title << std::endl; + file << "x1: " << x1 << std::endl; + file << "x2: " << x2 << std::endl; + file << "NumPoints: " << numPoints << std::endl; + + Real step = (x2 - x1) / (numPoints - 1); + for (int i = 0; i < numPoints; i++) + { + Real x = x1 + i * step; + file << f(x) << std::endl; + } + file.close(); + return true; + } + + static bool SaveRealFuncEquallySpacedDetailed(const IRealFunction& f, std::string title, Real x1, Real x2, int numPoints, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << "REAL_FUNCTION_EQUALLY_SPACED_DETAILED" << std::endl; + file << title << std::endl; + file << "x1: " << x1 << std::endl; + file << "x2: " << x2 << std::endl; + file << "NumPoints: " << numPoints << std::endl; + + Real step = (x2 - x1) / (numPoints - 1); + for (int i = 0; i < numPoints; i++) + { + Real x = x1 + i * step; + file << x << " " << f(x) << std::endl; + } + file.close(); + return true; + } + + static bool SaveRealFuncVariableSpaced(const IRealFunction& f, std::string title, Vector points, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << "REAL_FUNCTION_VARIABLE_SPACED" << std::endl; + file << title << std::endl; + + for (int i = 0; i < points.size(); i++) + { + Real x = points[i]; + file << x << " " << f(x) << std::endl; + } + file.close(); + return true; + } + + // Parametric curve serialization + template + static bool SaveParamCurve(const IRealToVectorFunction& f, std::string inType, std::string title, Real t1, Real t2, int numPoints, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << inType << std::endl; + file << title << std::endl; + file << "t1: " << t1 << std::endl; + file << "t2: " << t2 << std::endl; + file << "NumPoints: " << numPoints << std::endl; + + Real delta = (t2 - t1) / (numPoints - 1); + for (Real t = t1; t <= t2; t += delta) + { + file << t << " "; + for (int i = 0; i < N; i++) + file << f(t)[i] << " "; + file << std::endl; + } + file.close(); + return true; + } + + template + static bool SaveParamCurve(const IRealToVectorFunction& f, std::string inType, std::string title, Vector points, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << inType << std::endl; + file << title << std::endl; + file << "t1: " << points[0] << std::endl; + file << "t2: " << points[points.size() - 1] << std::endl; + file << "NumPoints: " << points.size() << std::endl; + for (int i = 0; i < points.size(); i++) + { + Real t = points[i]; + file << t << " "; + for (int i = 0; i < N; i++) + file << f(t)[i] << " "; + file << std::endl; + } + + file.close(); + return true; + } + + template + static bool SaveAsParamCurve(std::vector> vals, std::string inType, std::string title, Real t1, Real t2, int numPoints, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << inType << std::endl; + file << title << std::endl; + file << "t1: " << t1 << std::endl; + file << "t2: " << t2 << std::endl; + file << "NumPoints: " << numPoints << std::endl; + + Real delta = (t2 - t1) / (numPoints - 1); + for (int i = 0; i < numPoints; i++) + { + Real t = t1 + i * delta; + file << t << " "; + for (int j = 0; j < N; j++) + file << vals[i][j] << " "; + file << std::endl; + } + file.close(); + return true; + + } + + //bool SerializeCartesian2D(Real t1, Real t2, int numPoints, std::string fileName) const + //{ + // return SaveParamCurve<2>("PARAMETRIC_CURVE_CARTESIAN_2D", t1, t2, numPoints, fileName); + //} + //bool SerializeCartesian2DAtPoints(Vector points, std::string fileName) const + //{ + // return SaveParamCurveAtPoints<2>("PARAMETRIC_CURVE_CARTESIAN_2D_AT_POINTS", points, fileName); + //} + static bool SaveParamCurveCartesian3D(const IRealToVectorFunction<3>& f, std::string title, Real t1, Real t2, int numPoints, std::string fileName) + { + return SaveParamCurve<3>(f, "PARAMETRIC_CURVE_CARTESIAN_3D", title, t1, t2, numPoints, fileName); + } + //bool SerializeCartesian3DAtPoints(Vector points, std::string fileName) const + //{ + // return SaveParamCurveAtPoints("PARAMETRIC_CURVE_CARTESIAN_3D", points, fileName); + //} + //bool SerializePolar(Real t1, Real t2, int numPoints, std::string fileName) const + //{ + // return SaveParamCurve("PARAMETRIC_CURVE_POLAR", t1, t2, numPoints, fileName); + //} + //bool SerializePolarAtPoints(Vector points, std::string fileName) const + //{ + // return SaveParamCurveAtPoints("PARAMETRIC_CURVE_POLAR", points, fileName); + //} + //bool SerializeSpherical(Real t1, Real t2, int numPoints, std::string fileName) const + //{ + // return SaveParamCurve("PARAMETRIC_CURVE_SPHERICAL", t1, t2, numPoints, fileName); + //} + //bool SerializeSphericalAtPoints(Vector points, std::string fileName) const + //{ + // return SaveParamCurveAtPoints("PARAMETRIC_CURVE_SPHERICAL", points, fileName); + //} + + // Scalar function serialization + static bool SaveScalarFunc2DCartesian(const IScalarFunction<2>& f, std::string title, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << "SCALAR_FUNCTION_CARTESIAN_2D" << std::endl; + file << title << std::endl; + file << "x1: " << x1 << std::endl; + file << "x2: " << x2 << std::endl; + file << "NumPointsX: " << numPointsX << std::endl; + file << "y1: " << y1 << std::endl; + file << "y2: " << y2 << std::endl; + file << "NumPointsY: " << numPointsY << std::endl; + + Real stepX = (x2 - x1) / (numPointsX - 1); + Real stepY = (y2 - y1) / (numPointsY - 1); + for (int i = 0; i < numPointsX; i++) + { + for (int j = 0; j < numPointsY; j++) + { + Real x = x1 + i * stepX; + Real y = y1 + j * stepY; + file << x << " " << y << " " << f(VectorN{x, y}) << std::endl; + } + } + return true; + } + + static bool SaveScalarFunc3DCartesian(const IScalarFunction<3>& f, std::string title, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, Real z1, Real z2, int numPointsZ, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << "SCALAR_FUNCTION_CARTESIAN_3D" << std::endl; + file << title << std::endl; + file << "x1: " << x1 << std::endl; + file << "x2: " << x2 << std::endl; + file << "NumPointsX: " << numPointsX << std::endl; + file << "y1: " << y1 << std::endl; + file << "y2: " << y2 << std::endl; + file << "NumPointsY: " << numPointsY << std::endl; + file << "z1: " << z1 << std::endl; + file << "z2: " << z2 << std::endl; + file << "NumPointsZ: " << numPointsZ << std::endl; + + Real stepX = (x2 - x1) / (numPointsX - 1); + Real stepY = (y2 - y1) / (numPointsY - 1); + Real stepZ = (z2 - z1) / (numPointsZ - 1); + for (int i = 0; i < numPointsX; i++) + { + for (int j = 0; j < numPointsY; j++) + { + for (int k = 0; k < numPointsZ; k++) + { + Real x = x1 + i * stepX; + Real y = y1 + j * stepY; + Real z = z1 + j * stepZ; + file << x << " " << y << " " << z << " " << f(VectorN{x, y, z}) << std::endl; + } + } + } + return true; + } + + // vector function serialization + static bool SaveVectorFunc3D(const IVectorFunction<3>& f, std::string inType, std::string title, Real x1_start, Real x1_end, int numPointsX1, Real x2_start, Real x2_end, int numPointsX2, Real x3_start, Real x3_end, int numPointsX3, std::string fileName) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << inType << std::endl; + file << title << std::endl; + + Real stepX = (x1_end - x1_start) / (numPointsX1 - 1); + Real stepY = (x2_end - x2_start) / (numPointsX2 - 1); + Real stepZ = (x3_end - x3_start) / (numPointsX3 - 1); + for (int i = 0; i < numPointsX1; i++) + for (int j = 0; j < numPointsX2; j++) + for (int k = 0; k < numPointsX3; k++) + { + Real x = x1_start + i * stepX; + Real y = x2_start + j * stepY; + Real z = x3_start + k * stepZ; + auto val = f(VectorN{x, y, z}); + file << x << " " << y << " " << z << " " << val[0] << " " << val[1] << " " << val[2] << std::endl; + } + + file.close(); + return true; + } + + static bool SaveVectorFunc3D(const IVectorFunction<3>& f, std::string inType, std::string title, Real x1_start, Real x1_end, int numPointsX1, Real x2_start, Real x2_end, int numPointsX2, Real x3_start, Real x3_end, int numPointsX3, std::string fileName, Real upper_threshold) + { + std::ofstream file(fileName); + if (!file.is_open()) + return false; + + file << inType << std::endl; + file << title << std::endl; + + Real stepX = (x1_end - x1_start) / (numPointsX1 - 1); + Real stepY = (x2_end - x2_start) / (numPointsX2 - 1); + Real stepZ = (x3_end - x3_start) / (numPointsX3 - 1); + for (int i = 0; i < numPointsX1; i++) + for (int j = 0; j < numPointsX2; j++) + for (int k = 0; k < numPointsX3; k++) + { + Real x = x1_start + i * stepX; + Real y = x2_start + j * stepY; + Real z = x3_start + k * stepZ; + auto val = f(VectorN{x, y, z}); + + if (val.NormL2() < upper_threshold) + file << x << " " << y << " " << z << " " << val[0] << " " << val[1] << " " << val[2] << std::endl; + } + + file.close(); + return true; + } -/////////////////////////// ./include/core/ODESystem.h /////////////////////////// + static bool SaveVectorFunc3DCartesian(const IVectorFunction<3>& f, std::string title, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, Real z1, Real z2, int numPointsZ, std::string fileName) + { + return SaveVectorFunc3D(f, "VECTOR_FIELD_3D_CARTESIAN", title, x1, x2, numPointsX, y1, y2, numPointsY, z1, z2, numPointsZ, fileName); + } + static bool SaveVectorFunc3DCartesian(const IVectorFunction<3>& f, std::string title, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, Real z1, Real z2, int numPointsZ, std::string fileName, Real upper_threshold) + { + return SaveVectorFunc3D(f, "VECTOR_FIELD_3D_CARTESIAN", title, x1, x2, numPointsX, y1, y2, numPointsY, z1, z2, numPointsZ, fileName, upper_threshold); + } + static bool SaveVectorFuncSpherical(const IVectorFunction<3>& f, std::string title, Real r1, Real r2, int numPointsR, Real theta1, Real theta2, int numPointsTheta, Real phi1, Real phi2, int numPointsPhi, std::string fileName) + { + return SaveVectorFunc3D(f, "VECTOR_FIELD_SPHERICAL", title, r1, r2, numPointsR, theta1, theta2, numPointsTheta, phi1, phi2, numPointsPhi, fileName); + } + static bool SaveVectorFuncSpherical(const IVectorFunction<3>& f, std::string title, Real r1, Real r2, int numPointsR, Real theta1, Real theta2, int numPointsTheta, Real phi1, Real phi2, int numPointsPhi, std::string fileName, Real upper_threshold) + { + return SaveVectorFunc3D(f, "VECTOR_FIELD_SPHERICAL", title, r1, r2, numPointsR, theta1, theta2, numPointsTheta, phi1, phi2, numPointsPhi, fileName, upper_threshold); + } + }; +} +/////////////////////////// ./include/core/Visualizer.h /////////////////////////// namespace MML { - class ODESystem : public IODESystem + class Visualizer { - protected: - int _dim; - void (*_func)(Real, const Vector&, Vector &); + static inline std::string _pathResultFiles{ GLOB_PATH_ResultFiles }; + + static inline std::string _pathRealFuncViz{ GLOB_PATH_RealFuncViz }; + static inline std::string _pathSurfaceViz{ GLOB_PATH_SurfaceViz }; + static inline std::string _pathParametricCurveViz{ GLOB_PATH_ParametricCurveViz }; + static inline std::string _pathVectorFieldViz{ GLOB_PATH_VectorFieldViz }; public: - ODESystem() : _dim(0), _func(nullptr) { } - ODESystem(int n, void (*inFunc)(Real, const Vector&, Vector &)) : _dim(n), _func(inFunc) { } - - int getDim() const { return _dim; } - void derivs(const Real t, const Vector &x, Vector &dxdt) const - { - _func(t, x, dxdt); - } - }; + static void VisualizeRealFunction(const IRealFunction& f, std::string title, Real x1, Real x2, int numPoints, std::string fileName) + { + std::string name = _pathResultFiles + fileName; + Serializer::SaveRealFuncEquallySpacedDetailed(f, title, x1, x2, numPoints, name); - class ODESystemWithJacobian : public ODESystem - { - private: - int _dim; - void (*_funcJac)(const Real, const Vector&, Vector &, Matrix &); + std::string command = _pathRealFuncViz + " " + name; + system(command.c_str()); + std::cout << "VisualizeRealFunction: Not implemented for this OS" << std::endl; + } - public: - ODESystemWithJacobian() { } - ODESystemWithJacobian(int n, - void (*inFunc)(Real, const Vector&, Vector &), - void (*inFuncJac)(const Real t, const Vector &x, Vector &dxdt, Matrix &dydx) - ) : ODESystem(n, inFunc), _funcJac(inFuncJac) { } - - void jacobian(const Real t, Vector &x, Vector &dxdt, Matrix &dydx) - { - _funcJac(t, x, dxdt, dydx); - } - }; + static void VisualizeMultiRealFunction(std::vector funcs, std::string title, Real x1, Real x2, int numPoints, std::string fileName) + { + std::string name = _pathResultFiles + fileName; + Serializer::SaveRealMultiFunc(funcs, title, x1, x2, numPoints, name); - class ODESystemSolution - { - // first values are initial conditions - public: - int _sys_dim; - int _count; - Real _x1, _x2; - Vector _xval; - Matrix _yval; - - ODESystemSolution() {} - ODESystemSolution(Real x1, Real x2, int dim, int maxSteps) : _sys_dim(dim), _count(maxSteps+1), _x1(x1), _x2(x2) - { - _xval.Resize(maxSteps+1); - _yval.Resize(dim, maxSteps+1); - } + std::string command = _pathRealFuncViz + " " + name; + system(command.c_str()); + std::cout << "VisualizeMultiRealFunction: Not implemented for this OS" << std::endl; + } - template - ParametricCurveInterpolated getSolutionAsParametricCurve() const - { - ParametricCurveInterpolated curve(_xval, _yval); - return curve; - } + static void VisualizeScalarFunc2DCartesian(const IScalarFunction<2>& func, std::string title, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, std::string fileName) + { + std::string name = _pathResultFiles + fileName; + Serializer::SaveScalarFunc2DCartesian(func, title, x1, x2, numPointsX, y1, y2, numPointsY, name); - template - SplineInterpParametricCurve getSolutionAsSplineParametricCurve() const - { - return SplineInterpParametricCurve(_yval); - } + std::string command = _pathSurfaceViz + " " + name; + system(command.c_str()); + std::cout << "VisualizeScalarFunc2DCartesian: Not implemented for this OS" << std::endl; + } - LinearInterpRealFunc getSolutionAsLinearInterp(int component) const - { - Vector xsave = _xval; - Vector ysave = _yval.VectorFromRow(component); + static void VisualizeVectorField3DCartesian(const IVectorFunction<3>& func, std::string title, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, Real z1, Real z2, int numPointsZ, std::string fileName) + { + std::string name = _pathResultFiles + fileName; + Serializer::SaveVectorFunc3DCartesian(func, title, x1, x2, numPointsX, y1, y2, numPointsY, z1, z2, numPointsZ, name); - return LinearInterpRealFunc(xsave, ysave); - } - PolynomInterpRealFunc getSolutionAsPolynomInterp(int component, int polynomDegree) const - { - Vector xsave = _xval; - Vector ysave = _yval.VectorFromRow(component); + std::string command = _pathVectorFieldViz + " " + name; + system(command.c_str()); + std::cout << "VisualizeVectorField3DCartesian: Not implemented for this OS" << std::endl; + } - return PolynomInterpRealFunc(xsave, ysave, polynomDegree); - } - SplineInterpRealFunc getSolutionAsSplineInterp(int component) const - { - Vector xsave = _xval; - Vector ysave = _yval.VectorFromRow(component); + static void VisualizeParamCurve3D(const IRealToVectorFunction<3>& f, std::string title, Real t1, Real t2, int numPoints, std::string fileName) + { + std::string name = _pathResultFiles + fileName; + Serializer::SaveParamCurveCartesian3D(f, title, t1, t2, numPoints, name); - return SplineInterpRealFunc(xsave, ysave); - } + std::string command = _pathParametricCurveViz + " " + name; + system(command.c_str()); + std::cout << "VisualizeParamCurve3D: Not implemented for this OS" << std::endl; + } - bool Serialize(std::string fileName, std::string title) const - { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << "MULTI_REAL_FUNCTION_VARIABLE_SPACED" << std::endl; - - file << title << std::endl; - file << _sys_dim << std::endl; - file << _count << std::endl; - file << _x1 << std::endl; - file << _x2 << std::endl; - - for (int i=0; i<_count; i++) - { - file << _xval[i] << " "; - for (int j=0; j<_sys_dim; j++) - { - file << _yval[j][i] << " "; - } - file << std::endl; - } - file.close(); - return true; - } - bool SerializeAsParametricCurve3D(std::string fileName, std::string title) const - { - if( _sys_dim != 3 ) - return false; - - std::ofstream file(fileName); - if( !file.is_open() ) - return false; - - file << "PARAMETRIC_CURVE_CARTESIAN_3D" << std::endl; - file << "t1: " << _x1 << std::endl; - file << "t2: " << _x2 << std::endl; - file << "NumPoints: " << _count << std::endl; - - for (int i=0; i<_count; i++) - { - file << _xval[i] << " "; - for (int j=0; j<_sys_dim; j++) - { - file << _yval[j][i] << " "; - } - file << std::endl; - } + static void VisualizeMultiParamCurve3D(std::vector fileNames) + { + std::string params; + for (auto& name : fileNames) + { + params = params + (_pathResultFiles + name + " "); + } - file.close(); - return true; - } - }; + std::string command = _pathParametricCurveViz + " " + params; + system(command.c_str()); + std::cout << "VisualizeMultiParamCurve3D: Not implemented for this OS" << std::endl; + } - class ODESystemSolutionEqualSpacing - { - // first values are initial conditions - public: - int _sys_dim; - int _count; - Real x1,x2; - Vector xval; - Matrix yval; - - ODESystemSolutionEqualSpacing() {} - ODESystemSolutionEqualSpacing(int dim, int numSteps) : _sys_dim(dim), _count(numSteps+1) - { - xval.Resize(numSteps+1); - yval.Resize(dim, numSteps+1); - } - }; -} -/////////////////////////// ./include/core/CoordSystem.h /////////////////////////// + static void VisualizeODESysSolAsMultiFunc(const ODESystemSolution& sol, std::string title, std::string fileName) + { + std::string name = _pathResultFiles + fileName; + sol.Serialize(name, title); + + std::string command = _pathRealFuncViz + " " + name; + system(command.c_str()); + std::cout << "VisualizeODESysSolAsMultiFunc: Not implemented for this OS" << std::endl; + } + + static void VisualizeODESysSolAsParamCurve3(const ODESystemSolution& sol, std::string title, std::string fileName) + { + if (sol._sys_dim != 3) + throw std::runtime_error("VisualizeODESysSolAsParamCurve3: system dimension must be 3"); + + std::string name = _pathResultFiles + fileName; + sol.SerializeAsParametricCurve3D(name, title); + std::string command = _pathParametricCurveViz + " " + name; + system(command.c_str()); + std::cout << "VisualizeODESysSolAsParamCurve3: Not implemented for this OS" << std::endl; + } + }; +} +/////////////////////////// ./include/core/ConsolePrinter.h /////////////////////////// namespace MML { -/* -SUSTINA -- imam koordinate u jednom, i (lokalne) koordinate u drugom koordinatnom sistemu -- kakva je veza? -- i kako izracunati jedne na osnovu drugih? - -PlanarRotatingSystem disk_rotation(pocetni phi, brzina rotacije); -- za dane dvije koord, lat i long, daje poziciju u odnosu na dani fiksni koord sustav -LocalCartesian disk_surface(disk_rotation, lat, long); - -- što izracunati? - - artiljerijski hitac s dane pozicije i po danoj paraboli - - gdje ce pasti - koordinate u jednom i drugom sustavu - -- i onda još dodati vrtuljak na toj površini! - -MovingDynamicalSytem3D earth_around_sun(funkcija ovisnosti pozicije u odnosu na GLOBALNI KARTEZIJEV sustav); -RotatingSystem3D earth_rotation(earth_around_sun); -- za dane dvije koord, lat i long, daje poziciju u odnosu na dani koord sustav -LocalCartesian3D earth_surface(earth_rotation, lat, long); - -LorentzInertialMovingFrame observer_moving_frame(vektor smjera, ovisnost pozicije o t); /// moze i (0,0,0,0) - stoji na mjestu -LorentzInertialMovingFrame s1(vektor smjera, ovisnost pozicije o t); -LorentzInertialMovingFrame s2(vektor smjera, ovisnost pozicije o t); - -LocalLorent s1; -LorentzBoosted s2; -LorentTranslated s3; -*/ - - // RectilinearCartesianOrthogonal - class CoordSystemOrthogonalCartesian - { - Vector3Cartesian _base[3]; + // ConsolePrinterComplex + // - Value je bazna klasa - Real, Vector, bool, string - public: - CoordSystemOrthogonalCartesian(Vector3Cartesian b1, Vector3Cartesian b2, Vector3Cartesian b3) - { - _base[0] = b1; - _base[1] = b2; - _base[2] = b3; - } + template + class TablePrinter + { + public: + std::string _tagName; + std::vector<_Tag> _tags; - bool isOrthogonal() - { - Real a01 = ScalarProd(_base[0], _base[1]); - Real a02 = ScalarProd(_base[0], _base[2]); - Real a12 = ScalarProd(_base[1], _base[2]); + int _tagWidth, _tagPrec; + std::vector> _listFormatSpec; - return sqrt(a01*a01 + a02*a02 + a12*a12) < 1e-6; - } - }; + std::vector _valueNames; + std::vector> _values; - class CoordSystemObliqueCartesian - { - public: - Vector3Cartesian _base[3]; - VectorN _dual[3]; + TablePrinter(std::string tagName, std::vector valueNames) : + _tagName(tagName), _valueNames(valueNames) + { + _tagWidth = 8; + _tagPrec = 3; + for (size_t i = 0; i < _valueNames.size(); i++) + { + _listFormatSpec.push_back(std::make_tuple(11, 5, ' ')); + } + } - MatrixNM _alpha; + TablePrinter(std::string tagName, int tagWidth, int tagPrec, std::vector valueNames, std::vector> listWidthPrec) : + _tagName(tagName), _tagWidth(tagWidth), _tagPrec(tagPrec), _valueNames(valueNames), _listFormatSpec(listWidthPrec) + {} - MatrixNM _transf; - MatrixNM _inv; + void addRow(_Tag tag, std::vector<_Value> values) + { + if (values.size() != _valueNames.size()) + throw std::invalid_argument("Number of values does not match number of value names"); - public: - CoordSystemObliqueCartesian(Vector3Cartesian b1, Vector3Cartesian b2, Vector3Cartesian b3) - { - _base[0] = b1; - _base[1] = b2; - _base[2] = b3; - - Vector3Cartesian cross1 = VectorProd(_base[1], _base[2]); - _dual[0] = (1 / (ScalarProd(_base[0], cross1))) * cross1; - - Vector3Cartesian cross2 = VectorProd(_base[2], _base[0]); - _dual[1] = (1 / (ScalarProd(_base[1], cross2))) * cross2; - - Vector3Cartesian cross3 = VectorProd(_base[0], _base[1]); - _dual[2] = (1 / (ScalarProd(_base[2], cross3))) * cross3; - - for( int i=0; i<3; i++ ) - { - for(int j=0; j<3; j++ ) - { - _alpha(i,j) = _base[i][j]; - _transf(i,j) = _base[j][i]; // transponirano - } - } + _tags.push_back(tag); + _values.push_back(values); + } - _inv = _transf.GetInverse(); + void Print() + { + std::cout << std::setw(_tagWidth) << _tagName << " "; + for (size_t i = 0; i < _valueNames.size(); i++) + { + std::cout << std::setw(std::get<0>(_listFormatSpec[i])) << std::setprecision(std::get<1>(_listFormatSpec[i])) << _valueNames[i] << " "; + } + std::cout << std::endl; - } + for (size_t i = 0; i < _tags.size(); i++) + { - VectorN Base(int i) { return _base[i]; } - VectorN Dual(int i) { return _dual[i]; } - }; + if (std::get<2>(_listFormatSpec[0]) == 'S') + std::cout << std::scientific << std::setw(_tagWidth) << std::setprecision(_tagPrec) << _tags[i] << " "; + else + std::cout << std::fixed << std::setw(_tagWidth) << std::setprecision(_tagPrec) << _tags[i] << " "; + for (size_t j = 0; j < _values[i].size(); j++) + { + if (std::get<2>(_listFormatSpec[j]) == 'S') + std::cout << std::scientific << std::setw(std::get<0>(_listFormatSpec[j])) << std::setprecision(std::get<1>(_listFormatSpec[j])) << _values[i][j] << " "; + else + std::cout << std::fixed << std::setw(std::get<0>(_listFormatSpec[j])) << std::setprecision(std::get<1>(_listFormatSpec[j])) << _values[i][j] << " "; + } + std::cout << std::endl; + } + } - // RECTILINEAR - konstantni bazni vektori - // CURVILINEAR - U SVAKOJ TOCKI IMA DRUGACIJE BAZNE VEKTORE - template - class CoordSystem - { - VectorN _base[N]; - VectorN _originCoord; + void Print(int tagWidth, int tagPrec, std::vector> listWidthPrec) + { + std::cout << std::fixed << std::setw(tagWidth) << _tagName << " "; + for (size_t i = 0; i < _valueNames.size(); i++) + { + std::cout << std::setw(listWidthPrec[i].first) << _valueNames[i]; + } + std::cout << std::endl; + for (size_t i = 0; i < _tags.size(); i++) + { + std::cout << std::setw(tagWidth) << std::setprecision(tagPrec) << _tags[i] << " "; + for (size_t j = 0; j < _values[i].size(); j++) + { + std::cout << std::setw(listWidthPrec[j].first) << std::setprecision(listWidthPrec[j].second) << _values[i][j]; + } + std::cout << std::endl; + } + } + }; +} - // init s tri vektora baze - // init s matricom transformacije? +/////////////////////////// ./include/algorithms/PathIntegration.h /////////////////////////// - // isOrthogonal - virtual void transf(VectorN &x) = 0; - }; - class CoordSystemTranslated - { - VectorN _originCoord; - }; - class CoordSystemRotated - { - Vector3Cartesian _originCoord; - // matrica transf +namespace MML +{ + class PathIntegration + { + template + class HelperCurveLen : public IRealFunction + { + const IParametricCurve& _curve; + public: + HelperCurveLen(const IParametricCurve& curve) : _curve(curve) {} - // ima staticke membere za kreiranje bazicnih matrixa rotacija - }; + Real operator()(Real t) const + { + auto tangent_vec = Derivation::DeriveCurve(_curve, t, nullptr); + return tangent_vec.NormL2(); + } + }; + template + class HelperWorkIntegral : public IRealFunction + { + const IScalarFunction& _potential; + const IParametricCurve& _curve; + public: + HelperWorkIntegral(const IScalarFunction& potentialField, const IParametricCurve& curve) : _potential(potentialField), _curve(curve) {} - template - class MovingCoordSystem - { - VectorN _origin; - virtual VectorN transf(const VectorN &x, Real t) = 0; + Real operator()(Real t) const + { + auto tangent_vec = Derivation::DeriveCurve(_curve, t, nullptr); + auto gradient = ScalarFieldOperations::GradientCart(_potential, _curve(t)); - }; + return tangent_vec.ScalarProductCartesian(gradient); + } + }; + template + class HelperLineIntegral : public IRealFunction + { + const IVectorFunction& _vector_field; + const IParametricCurve& _curve; + public: + HelperLineIntegral(const IVectorFunction& vectorField, const IParametricCurve& curve) : _vector_field(vectorField), _curve(curve) {} - // rotacije - staticki - // rotacije + translacije - staticki + Real operator()(Real t) const + { + auto tangent_vec = Derivation::DeriveCurve(_curve, t, nullptr); + auto field_vec = _vector_field(_curve(t)); - class InertialMovingFrame : public MovingCoordSystem<3> - { - public: - // origin position at t = 0 - Vector3Cartesian _origin; + return tangent_vec.ScalarProductCartesian(field_vec); + } + }; + public: + template + static Real ParametricCurveLength(const IParametricCurve& curve, const Real a, const Real b) + { + HelperCurveLen helper(curve); - Vector3Cartesian _speed; + return IntegrateTrap(helper, a, b); + } + // TODO - dodati i Mass, prima funkciju gustoce kao param - InertialMovingFrame() {} - InertialMovingFrame(Vector3Cartesian origin, Vector3Cartesian speed) - { - _origin = origin; - _speed = speed; - } + static Real WorkIntegral(const IScalarFunction<3>& potentialField, const IParametricCurve<3>& curve, const Real a, const Real b, const Real eps = Defaults::WorkIntegralPrecision) + { + HelperWorkIntegral helper(potentialField, curve); - // transform to origin system - VectorN transf(const VectorN &x, Real t) - { - return x - _origin - _speed * t; - } + return IntegrateTrap(helper, a, b, eps); + } - }; + static Real LineIntegral(const IVectorFunction<3>& vectorField, const IParametricCurve<3>& curve, const Real a, const Real b, const Real eps = Defaults::LineIntegralPrecision) + { + HelperLineIntegral helper(vectorField, curve); - class RotatingFrame : public MovingCoordSystem<3> - { - public: - VectorN transf(const VectorN &x, Real t) - { - return VectorN(); - } + return IntegrateTrap(helper, a, b, eps); + } + }; +} // end namespace +/////////////////////////// ./include/algorithms/SurfaceIntegration.h ///////////////////////////#if !defined MML_SURFACE_INTEGRATION_H - // os rotacije u odnosu na koordinatni sustav sredi8sta - // transform to origin system - }; - class LorentzIntertialMovingFrame : public MovingCoordSystem<4> - { - public: - VectorN transf(const VectorN &x, Real t) - { - return VectorN(); - } - // origin - // brzina, odnosno boost - // transform to origin system - }; +namespace MML +{ + class SurfaceIntegration + { + public: + static Real SurfaceIntegral(const IVectorFunction<3>& vectorField, const IParametricSurface<3>& surface, const Real x1, const Real x2, const Real y1, const Real y2) + { + return 0.0; + } + static Real SurfaceIntegral(const IVectorFunction<3>& vectorField, const SolidSurfaces3D& solid) + { + Real total = 0.0; + for (int i = 0; i < solid._surfaces.size(); i++) + total += SurfaceIntegral(vectorField, solid._surfaces[i]); -} + return total; + } + static Real CalcSurfaceContrib(const IVectorFunction<3>& vectorField, const RectSurface3D& surface) + { + Real result = 0.0; + Vector3Cartesian normal = surface.getNormal(); + Real area = surface.getArea(); + Point3Cartesian center = surface.getCenter(); -/////////////////////////// ./include/core/Fields.h /////////////////////////// + Vector3Cartesian value = vectorField(Vector3Cartesian(center.X(), center.Y(), center.Z())); + Real dotProduct = ScalarProd(normal, value); + result = dotProduct * area; + return result; + } -namespace MML::Fields -{ - //////////////////// INVERSE RADIAL FIELD ///////////////// - // Potential fields - static Real InverseRadialPotentialFieldCart(const VectorN &x ) { return 1.0 / x.NormL2(); } - static Real InverseRadialPotentialFieldCart(Real constant, const VectorN &x ) { return constant / x.NormL2(); } - static Real InverseRadialPotentialFieldSpher(const VectorN &x ) { return 1.0 / x[0]; } - static Real InverseRadialPotentialFieldSpher(Real constant, const VectorN &x ) { return constant / x[0]; } - static Real InverseRadialPotentialFieldCyl(const VectorN &x ) { return 1.0 / sqrt(x[0]*x[0] + x[2]*x[2]); } - static Real InverseRadialPotentialFieldCyl(Real constant, const VectorN &x ) { return constant / sqrt(x[0]*x[0] + x[2]*x[2]); } - - // Force fields - static VectorN InverseRadialPotentialForceFieldCart(const VectorN &x) // TODO - ovo u Vector3Cartesian - { - return (-1) * x / std::pow((x).NormL2(), 3); - } - static VectorN InverseRadialPotentialForceFieldCart(Real constant, const VectorN &x) - { - return -constant * x / std::pow((x).NormL2(), 3); - } - // can't be Vector3Spherical, because in that case we can't form a ScalarFunction<3> out of it :() - static VectorN InverseRadialPotentialForceFieldSph(const VectorN &x) - { - return VectorN{-1/(x[0] * x[0]), 0.0, 0.0}; - } - static VectorN InverseRadialPotentialForceFieldSph(Real constant, const VectorN &x) - { - return VectorN{-constant/(x[0] * x[0]), 0.0, 0.0}; - } + static Real SurfaceIntegralImproveRecursively(const IVectorFunction<3>& vectorField, const RectSurface3D& surface, Real prev_value, int level) + { + // now we will calculate integral for surface divided to 4 equal parts + Real result = 0.0; + Point3Cartesian pnt_mid12 = (surface._pnt1 + surface._pnt2) / 2.0; + Point3Cartesian pnt_mid23 = (surface._pnt2 + surface._pnt3) / 2.0; + Point3Cartesian pnt_mid34 = (surface._pnt3 + surface._pnt4) / 2.0; + Point3Cartesian pnt_mid41 = (surface._pnt4 + surface._pnt1) / 2.0; + Point3Cartesian center = surface.getCenter(); - class InverseRadialFieldCart : public IScalarFunction<3> - { - protected: - Real _constant; - public: - InverseRadialFieldCart() : _constant(-1.0) {} - InverseRadialFieldCart(Real constant) : _constant(constant) {} + RectSurface3D s1(surface._pnt1, pnt_mid12, center, pnt_mid41); + RectSurface3D s2(pnt_mid12, surface._pnt2, pnt_mid23, center); + RectSurface3D s3(center, pnt_mid23, surface._pnt3, pnt_mid34); + RectSurface3D s4(pnt_mid41, center, pnt_mid34, surface._pnt4); + + result += CalcSurfaceContrib(vectorField, s1); + result += CalcSurfaceContrib(vectorField, s2); + result += CalcSurfaceContrib(vectorField, s3); + result += CalcSurfaceContrib(vectorField, s4); + + // compare to prev_value + if (fabs(result - prev_value) < 0.0001 || level == 0) + { + return result; + } + else + { + Real new_result = 0.0; - Real operator()(const VectorN &x) const { return _constant * Fields::InverseRadialPotentialFieldCart(x); } - }; - class InverseRadialFieldSpher : public IScalarFunction<3> - { - protected: - Real _constant; - public: - InverseRadialFieldSpher() : _constant(-1.0) {} - InverseRadialFieldSpher(Real constant) : _constant(constant) {} + new_result += SurfaceIntegralImproveRecursively(vectorField, s1, result, level - 1); + new_result += SurfaceIntegralImproveRecursively(vectorField, s2, result, level - 1); + new_result += SurfaceIntegralImproveRecursively(vectorField, s3, result, level - 1); + new_result += SurfaceIntegralImproveRecursively(vectorField, s4, result, level - 1); - Real operator()(const VectorN &x) const { return _constant * InverseRadialPotentialFieldSpher(x); } - }; - - class InverseRadialForceFieldCart : public IVectorFunction<3> - { - private: - Real _constant; - public: - InverseRadialForceFieldCart() : _constant(-1.0) {} - InverseRadialForceFieldCart(Real constant) : _constant(constant) {} + return new_result; + } - VectorN operator()(const VectorN &x) const { return _constant * Fields::InverseRadialPotentialForceFieldCart(x); } - }; - class InverseRadialForceFieldSpher : public IVectorFunction<3> - { - private: - Real _constant; - public: - InverseRadialForceFieldSpher() : _constant(-1.0) {} - InverseRadialForceFieldSpher(Real constant) : _constant(constant) {} + return result; + } - VectorN operator()(const VectorN &x) const { return _constant * InverseRadialPotentialForceFieldSph(x); } - }; - // TODO - dodati multibody gravity - // TODO - dodati InfiniteLineCurrentField - // TODO - dodati InfinitePlaneCurrentField + static Real SurfaceIntegral(const IVectorFunction<3>& vectorField, const RectSurface3D& surface) + { + Real result = CalcSurfaceContrib(vectorField, surface); -} + return SurfaceIntegralImproveRecursively(vectorField, surface, result, 7); + } + }; +} // end namespace +/////////////////////////// ./include/algorithms/VolumeIntegration.h /////////////////////////// -/////////////////////////// ./include/core/PermutationGroup.h /////////////////////////// namespace MML { - // TODO - verify this!!! - class PermutationGroup { - public: - PermutationGroup() {} - - PermutationGroup(const std::vector>& cycles) { - for (const auto& cycle : cycles) { - add_cycle(cycle); - } - } - - void add_cycle(const std::vector& cycle) { - m_cycles.push_back(cycle); - } + class VolumeIntegration + { - std::vector apply(const std::vector& perm) const { - std::vector result = perm; - for (const auto& cycle : m_cycles) { - for (size_t i = 0; i < cycle.size(); ++i) { - result[cycle[i]] = perm[cycle[(i + 1) % cycle.size()]]; - } - } - return result; - } + public: + static Real VolumeIntegral(const IScalarFunction<3>& scalarField, const SolidSurfaces3D& solid) + { + return 0.0; + } + }; +} // end namespace +/////////////////////////// ./include/algorithms/EigenSystemSolvers.h /////////////////////////// - PermutationGroup inverse() const { - std::vector> inverse_cycles; - for (const auto& cycle : m_cycles) { - std::vector inverse_cycle(cycle.size()); - for (size_t i = 0; i < cycle.size(); ++i) { - inverse_cycle[cycle[i]] = cycle[(i + 1) % cycle.size()]; - } - std::reverse(inverse_cycle.begin(), inverse_cycle.end()); - inverse_cycles.push_back(inverse_cycle); - } - return PermutationGroup(inverse_cycles); - } - private: - std::vector> m_cycles; - }; +// Given the eigenvalues d[0..n-1] and (optionally) the eigenvectors v[0..n-1][0..n-1] as determined by Jacobi (÷11.1) or tqli (÷11.4), +// this routine sorts the eigenvalues into descending order and rearranges the columns of v correspondingly. The method is straight insertion. +static void eigsrt(MML::Vector& d, MML::Matrix* v = NULL) +{ + int k; + int n = (int)d.size(); + for (int i = 0; i < n - 1; i++) + { + Real p = d[k = i]; + for (int j = i; j < n; j++) + if (d[j] >= p) + p = d[k = j]; + if (k != i) + { + d[k] = d[i]; + d[i] = p; + if (v != NULL) + for (int j = 0; j < n; j++) + { + p = (*v)[j][i]; + (*v)[j][i] = (*v)[j][k]; + (*v)[j][k] = p; + } + } + } } -/////////////////////////// ./include/core/Serializer.h /////////////////////////// - namespace MML { - class Serializer + // Computes all eigenvalues and eigenvectors of a real symmetric matrix by Jacobi’s method. + struct SymmMatEigenSolverJacobi { - public: - // Real function serialization - static bool SaveRealMultiFunc(std::vector funcs, std::string title, Real x1, Real x2, int count, std::string fileName) + const int n; + Matrix a, v; + Vector d; + int nrot; + const Real EPS; + + // Computes all eigenvalues and eigenvectors of a real symmetric matrix a[0..n-1][0..n-1]. + // On output, d[0..n-1] contains the eigenvalues of a sorted into descending order, while + // v[0..n-1][0..n-1] is a matrix whose columns contain the corresponding normalized eigenvectors. nrot contains the number of Jacobi rotations that were required. Only the upper + // triangle of a is accessed. + SymmMatEigenSolverJacobi(const Matrix& aa) : n(aa.RowNum()), a(aa), v(n, n), d(n), nrot(0), + EPS(std::numeric_limits::epsilon()) { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << "MULTI_REAL_FUNCTION_VARIABLE_SPACED" << std::endl; - - file << title << std::endl; - file << funcs.size() << std::endl; - file << count << std::endl; - file << x1 << std::endl; - file << x2 << std::endl; - - for (int i = 0; i < count; i++) + int i, j, ip, iq; + Real tresh, theta, tau, t, sm, s, h, g, c; + Vector b(n), z(n); + for (ip = 0; ip < n; ip++) { - double x = x1 + (x2 - x1) * i / (count - 1); - file << x << " "; - for (int j = 0; j < funcs.size(); j++) + for (iq = 0; iq < n; iq++) + v[ip][iq] = 0.0; + v[ip][ip] = 1.0; + } + for (ip = 0; ip < n; ip++) + { + b[ip] = d[ip] = a[ip][ip]; + z[ip] = 0.0; + } + for (i = 1; i <= 50; i++) + { + sm = 0.0; + for (ip = 0; ip < n - 1; ip++) { - file << (*funcs[j])(x) << " "; + for (iq = ip + 1; iq < n; iq++) + sm += std::abs(a[ip][iq]); + } + if (sm == 0.0) + { + eigsrt(d, &v); + return; + } + if (i < 4) + tresh = 0.2 * sm / (n * n); + else + tresh = 0.0; + for (ip = 0; ip < n - 1; ip++) + { + for (iq = ip + 1; iq < n; iq++) + { + g = 100.0 * std::abs(a[ip][iq]); + if (i > 4 && g <= EPS * std::abs(d[ip]) && g <= EPS * std::abs(d[iq])) + a[ip][iq] = 0.0; + else if (std::abs(a[ip][iq]) > tresh) + { + h = d[iq] - d[ip]; + if (g <= EPS * std::abs(h)) + t = (a[ip][iq]) / h; + else + { + theta = 0.5 * h / (a[ip][iq]); + t = 1.0 / (std::abs(theta) + sqrt(1.0 + theta * theta)); + if (theta < 0.0) + t = -t; + } + c = 1.0 / sqrt(1 + t * t); + s = t * c; + tau = s / (1.0 + c); + h = t * a[ip][iq]; + z[ip] -= h; + z[iq] += h; + d[ip] -= h; + d[iq] += h; + a[ip][iq] = 0.0; + for (j = 0; j < ip; j++) + rot(a, s, tau, j, ip, j, iq); + for (j = ip + 1; j < iq; j++) + rot(a, s, tau, ip, j, j, iq); + for (j = iq + 1; j < n; j++) + rot(a, s, tau, ip, j, iq, j); + for (j = 0; j < n; j++) + rot(v, s, tau, j, ip, j, iq); + ++nrot; + } + } + } + for (ip = 0; ip < n; ip++) + { + b[ip] += z[ip]; + d[ip] = b[ip]; + z[ip] = 0.0; } - file << std::endl; } - - file.close(); - return true; + throw("Too many iterations in routine jacobi"); } - - static bool SaveRealFuncEquallySpaced(const IRealFunction& f, Real x1, Real x2, int numPoints, std::string fileName) + inline void rot(Matrix& a, const Real s, const Real tau, const int i, + const int j, const int k, const int l) { - std::ofstream file(fileName); - if (!file.is_open()) - return false; + Real g = a[i][j]; + Real h = a[k][l]; + a[i][j] = g - s * (h + g * tau); + a[k][l] = h + s * (g - h * tau); + } + }; - file << "REAL_FUNCTION_EQUALLY_SPACED" << std::endl; - file << "x1: " << x1 << std::endl; - file << "x2: " << x2 << std::endl; - file << "NumPoints: " << numPoints << std::endl; + // Computes all eigenvalues and eigenvectors of a real symmetric matrix by reduction to tridiagonal + // form followed by QL iteration. + class SymmMatEigenSolver + { + public: + int n; + Matrix z; + Vector d, e; + bool yesvecs; - Real step = (x2 - x1) / (numPoints - 1); - for (int i = 0; i < numPoints; i++) - { - Real x = x1 + i * step; - file << f(x) << std::endl; - } - file.close(); - return true; + Vector getEigenvalues() const { return d; } + Vector getEigenvector(int i) const + { + Vector res = z.VectorFromColumn(i); + return res; } - static bool SaveRealFuncEquallySpacedDetailed(const IRealFunction& f, Real x1, Real x2, int numPoints, std::string fileName) + public: + // Computes all eigenvalues and eigenvectors of a real symmetric matrix a[0..n-1][0..n-1] + // by reduction to tridiagonal form followed by QL iteration. On output, d[0..n-1] contains + // the eigenvalues of a sorted into descending order, while z[0..n-1][0..n-1] is a matrix + // whose columns contain the corresponding normalized eigenvectors. If yesvecs is input as + // true (the default), then the eigenvectors are computed. If yesvecs is input as false, only + // the eigenvalues are computed. + SymmMatEigenSolver(const MatrixSym& a, bool yesvec = true) : n(a.RowNum()), d(n), e(n), yesvecs(yesvec) { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << "REAL_FUNCTION_EQUALLY_SPACED_DETAILED" << std::endl; - file << "x1: " << x1 << std::endl; - file << "x2: " << x2 << std::endl; - file << "NumPoints: " << numPoints << std::endl; + z = a.GetAsMatrix(); - Real step = (x2 - x1) / (numPoints - 1); - for (int i = 0; i < numPoints; i++) - { - Real x = x1 + i * step; - file << x << " " << f(x) << std::endl; - } - file.close(); - return true; + tred2(); + tqli(); + sort(); } - static bool SaveRealFuncVariableSpaced(const IRealFunction& f, Vector points, std::string fileName) + // Computes all eigenvalues and (optionally) eigenvectors of a real, symmetric, tridiagonal + // matrix by QL iteration. On input, dd[0..n-1] contains the diagonal elements of the tridiagonal matrix. + // The vector ee[0..n-1] inputs the subdiagonal elements of the tridiagonal matrix, with ee[0] arbitrary. + // Output is the same as the constructor above. + SymmMatEigenSolver(Vector& dd, Vector& ee, bool yesvec = true) : n((int)dd.size()), d(dd), e(ee), z(n, n), yesvecs(yesvec) { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << "REAL_FUNCTION_VARIABLE_SPACED" << std::endl; - - for (int i = 0; i < points.size(); i++) - { - Real x = points[i]; - file << x << " " << f(x) << std::endl; - } - file.close(); - return true; + for (int i = 0; i < n; i++) + z[i][i] = 1.0; + tqli(); + sort(); } - - // Parametric curve serialization - template - static bool SaveParamCurve(const IRealToVectorFunction& f, std::string inType, Real t1, Real t2, int numPoints, std::string fileName) + void sort() { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << inType << std::endl; - file << "t1: " << t1 << std::endl; - file << "t2: " << t2 << std::endl; - file << "NumPoints: " << numPoints << std::endl; + if (yesvecs) + eigsrt(d, &z); + else + eigsrt(d); + } - Real delta = (t2 - t1) / (numPoints - 1); - for (Real t = t1; t <= t2; t += delta) + // Householder reduction of a real symmetric matrix z[0..n-1][0..n-1]. (The input matrix A + // to Symmeig is stored in z.) On output, z is replaced by the orthogonal matrix Q effecting + // the transformation. d[0..n-1] contains the diagonal elements of the tridiagonal matrix and + // e[0..n-1] the off-diagonal elements, with e[0]=0. If yesvecs is false, so that only eigenvalues + // will subsequently be determined, several statements are omitted, in which case z contains no + // useful information on output. + void tred2() + { + int l, k, j, i; + Real scale, hh, h, g, f; + for (i = n - 1; i > 0; i--) { - file << t << " "; - for (int i = 0; i < N; i++) - file << f(t)[i] << " "; - file << std::endl; + l = i - 1; + h = scale = 0.0; + if (l > 0) + { + for (k = 0; k < i; k++) + scale += std::abs(z[i][k]); + if (scale == 0.0) + e[i] = z[i][l]; + else + { + for (k = 0; k < i; k++) + { + z[i][k] /= scale; + h += z[i][k] * z[i][k]; + } + f = z[i][l]; + g = (f >= 0.0 ? -sqrt(h) : sqrt(h)); + e[i] = scale * g; + h -= f * g; + z[i][l] = f - g; + f = 0.0; + for (j = 0; j < i; j++) + { + if (yesvecs) + z[j][i] = z[i][j] / h; + g = 0.0; + for (k = 0; k < j + 1; k++) + g += z[j][k] * z[i][k]; + for (k = j + 1; k < i; k++) + g += z[k][j] * z[i][k]; + e[j] = g / h; + f += e[j] * z[i][j]; + } + hh = f / (h + h); + for (j = 0; j < i; j++) + { + f = z[i][j]; + e[j] = g = e[j] - hh * f; + for (k = 0; k < j + 1; k++) + z[j][k] -= (f * e[k] + g * z[i][k]); + } + } + } + else + e[i] = z[i][l]; + d[i] = h; + } + if (yesvecs) + d[0] = 0.0; + e[0] = 0.0; + for (i = 0; i < n; i++) + { + if (yesvecs) + { + if (d[i] != 0.0) + { + for (j = 0; j < i; j++) + { + g = 0.0; + for (k = 0; k < i; k++) + g += z[i][k] * z[k][j]; + for (k = 0; k < i; k++) + z[k][j] -= g * z[k][i]; + } + } + d[i] = z[i][i]; + z[i][i] = 1.0; + for (j = 0; j < i; j++) + z[j][i] = z[i][j] = 0.0; + } + else + { + d[i] = z[i][i]; + } } - file.close(); - return true; } - template - static bool SaveParamCurve(const IRealToVectorFunction& f, std::string inType, Vector points, std::string fileName) + // QL algorithm with implicit shifts to determine the eigenvalues and (optionally) the eigenvectors + // of a real, symmetric, tridiagonal matrix, or of a real symmetric matrix previously reduced by + // tred2 (÷11.3). On input, d[0..n-1] contains the diagonal elements of the tridiagonal matrix. + // On output, it returns the eigenvalues. The vector e[0..n-1] inputs the subdiagonal elements + // of the tridiagonal matrix, with e[0] arbitrary. On output e is destroyed. If the eigenvectors of + // a tridiagonal matrix are desired, the matrix z[0..n-1][0..n-1] is input as the identity matrix. + // If the eigenvectors of a matrix that has been reduced by tred2 are required, then z is input as + // the matrix output by tred2. In either case, column k of z returns the normalized eigenvector + // corresponding to d[k] + void tqli() { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << inType << std::endl; - file << "t1: " << points[0] << std::endl; - file << "t2: " << points[points.size() - 1] << std::endl; - file << "NumPoints: " << points.size() << std::endl; - for (int i = 0; i < points.size(); i++) + int m, l, iter, i, k; + Real s, r, p, g, f, dd, c, b; + const Real EPS = std::numeric_limits::epsilon(); + for (i = 1; i < n; i++) + e[i - 1] = e[i]; + e[n - 1] = 0.0; + for (l = 0; l < n; l++) { - Real t = points[i]; - file << t << " "; - for (int i = 0; i < N; i++) - file << f(t)[i] << " "; - file << std::endl; + iter = 0; + do + { + for (m = l; m < n - 1; m++) + { + dd = std::abs(d[m]) + std::abs(d[m + 1]); + if (std::abs(e[m]) <= EPS * dd) + break; + } + if (m != l) + { + if (iter++ == 30) + throw("Too many iterations in tqli"); + g = (d[l + 1] - d[l]) / (2.0 * e[l]); + r = pythag(g, 1.0); + g = d[m] - d[l] + e[l] / (g + SIGN(r, g)); + s = c = 1.0; + p = 0.0; + for (i = m - 1; i >= l; i--) + { + f = s * e[i]; + b = c * e[i]; + e[i + 1] = (r = pythag(f, g)); + if (r == 0.0) + { + d[i + 1] -= p; + e[m] = 0.0; + break; + } + s = f / r; + c = g / r; + g = d[i + 1] - p; + r = (d[i] - g) * s + 2.0 * c * b; + d[i + 1] = g + (p = s * r); + g = c * r - b; + if (yesvecs) + { + for (k = 0; k < n; k++) + { + f = z[k][i + 1]; + z[k][i + 1] = s * z[k][i] + c * f; + z[k][i] = c * z[k][i] - s * f; + } + } + } + if (r == 0.0 && i >= l) + continue; + d[l] -= p; + e[l] = g; + e[m] = 0.0; + } + } while (m != l); } - - file.close(); - return true; } - - template - static bool SaveAsParamCurve(std::vector> vals, std::string inType, Real t1, Real t2, int numPoints, std::string fileName) + Real pythag(const Real a, const Real b) { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << inType << std::endl; - file << "t1: " << t1 << std::endl; - file << "t2: " << t2 << std::endl; - file << "NumPoints: " << numPoints << std::endl; + Real absa = std::abs(a), absb = std::abs(b); + return (absa > absb ? absa * sqrt(1.0 + POW2(absb / absa)) : (absb == 0.0 ? 0.0 : absb * sqrt(1.0 + POW2(absa / absb)))); + } + }; + ////////////////////////////////////////////////////////////////////////////// - Real delta = (t2 - t1) / (numPoints - 1); - for (int i = 0; i < numPoints; i++) - { - Real t = t1 + i * delta; - file << t << " "; - for (int j = 0; j < N; j++) - file << vals[i][j] << " "; - file << std::endl; - } - file.close(); - return true; + // Computes all eigenvalues and eigenvectors of a real nonsymmetric matrix by reduction to Hessenberg form followed by QR iteration. + class EigenSolver + { + public: + int n; + Matrix a, zz; + Vector wri; + Vector scale; + Vector perm; + bool yesvecs, hessen; - } + bool isRealEigenvalue(int ind) const { return wri[ind].imag() == 0.0; } + Vector getEigenvalues() const { return wri; } - //bool SerializeCartesian2D(Real t1, Real t2, int numPoints, std::string fileName) const - //{ - // return SaveParamCurve<2>("PARAMETRIC_CURVE_CARTESIAN_2D", t1, t2, numPoints, fileName); - //} - //bool SerializeCartesian2DAtPoints(Vector points, std::string fileName) const - //{ - // return SaveParamCurveAtPoints<2>("PARAMETRIC_CURVE_CARTESIAN_2D_AT_POINTS", points, fileName); - //} - static bool SaveParamCurveCartesian3D(const IRealToVectorFunction<3>& f, Real t1, Real t2, int numPoints, std::string fileName) + int getNumReal() const { - return SaveParamCurve<3>(f, "PARAMETRIC_CURVE_CARTESIAN_3D", t1, t2, numPoints, fileName); + int res = 0; + for (int i = 0; i < n; i++) + if (wri[i].imag() == 0.0) + res++; + return res; + } + int getNumComplex() const { + return n - getNumReal(); } - //bool SerializeCartesian3DAtPoints(Vector points, std::string fileName) const - //{ - // return SaveParamCurveAtPoints("PARAMETRIC_CURVE_CARTESIAN_3D", points, fileName); - //} - //bool SerializePolar(Real t1, Real t2, int numPoints, std::string fileName) const - //{ - // return SaveParamCurve("PARAMETRIC_CURVE_POLAR", t1, t2, numPoints, fileName); - //} - //bool SerializePolarAtPoints(Vector points, std::string fileName) const - //{ - // return SaveParamCurveAtPoints("PARAMETRIC_CURVE_POLAR", points, fileName); - //} - //bool SerializeSpherical(Real t1, Real t2, int numPoints, std::string fileName) const - //{ - // return SaveParamCurve("PARAMETRIC_CURVE_SPHERICAL", t1, t2, numPoints, fileName); - //} - //bool SerializeSphericalAtPoints(Vector points, std::string fileName) const - //{ - // return SaveParamCurveAtPoints("PARAMETRIC_CURVE_SPHERICAL", points, fileName); - //} - // Scalar function serialization - static bool SaveScalarFunc2DCartesian(const IScalarFunction<2>& f, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, std::string fileName) + Vector getRealEigenvalues() const { - std::ofstream file(fileName); - if (!file.is_open()) - return false; + Vector res(getNumReal()); + int cnt = 0; + for (int i = 0; i < n; i++) + if (wri[i].imag() == 0.0) + res[cnt++] = wri[i].real(); + return res; + } + Vector getComplexEigenvalues() const + { + Vector res(getNumComplex()); + int cnt = 0; + for (int i = 0; i < n; i++) + if (wri[i].imag() != 0.0) + res[cnt++] = wri[i]; + return res; + } - file << "SCALAR_FUNCTION_CARTESIAN_2D" << std::endl; - file << "x1: " << x1 << std::endl; - file << "x2: " << x2 << std::endl; - file << "NumPointsX: " << numPointsX << std::endl; - file << "y1: " << y1 << std::endl; - file << "y2: " << y2 << std::endl; - file << "NumPointsY: " << numPointsY << std::endl; + Vector getEigenvector(int ind) const + { + Vector res(n); - Real stepX = (x2 - x1) / (numPointsX - 1); - Real stepY = (y2 - y1) / (numPointsY - 1); - for (int i = 0; i < numPointsX; i++) + if (isRealEigenvalue(ind)) + for (int i = 0; i < n; i++) + res[i] = zz(i, ind); + else { - for (int j = 0; j < numPointsY; j++) + // count how many real eigenvalues are there before this one + int cnt = 0; + for (int i = 0; i < ind; i++) + if (isRealEigenvalue(i)) + cnt++; + if (cnt % 2 == 0) { - Real x = x1 + i * stepX; - Real y = y1 + j * stepY; - file << x << " " << y << " " << f(VectorN{x, y}) << std::endl; + if (ind % 2 == 0) + { + for (int i = 0; i < n; i++) + res[i] = Complex(zz(i, ind), zz(i, ind + 1)); + } + else + { + for (int i = 0; i < n; i++) + res[i] = Complex(zz(i, ind - 1), -zz(i, ind)); + } + } + else { + if (ind % 2 == 0) + { + for (int i = 0; i < n; i++) + res[i] = Complex(zz(i, ind - 1), -zz(i, ind)); + } + else + { + for (int i = 0; i < n; i++) + res[i] = Complex(zz(i, ind), zz(i, ind + 1)); + } } } - return true; - } - static bool SaveScalarFunc3DCartesian(const IScalarFunction<3>& f, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, Real z1, Real z2, int numPointsZ, std::string fileName) + return res; + } + Vector getRealPartEigenvector(int ind) const { - std::ofstream file(fileName); - if (!file.is_open()) - return false; + Vector res(n); + for (int i = 0; i < n; i++) + res[i] = zz(i, ind); - file << "SCALAR_FUNCTION_CARTESIAN_3D" << std::endl; - file << "x1: " << x1 << std::endl; - file << "x2: " << x2 << std::endl; - file << "NumPointsX: " << numPointsX << std::endl; - file << "y1: " << y1 << std::endl; - file << "y2: " << y2 << std::endl; - file << "NumPointsY: " << numPointsY << std::endl; - file << "z1: " << z1 << std::endl; - file << "z2: " << z2 << std::endl; - file << "NumPointsZ: " << numPointsZ << std::endl; + return res; + } - Real stepX = (x2 - x1) / (numPointsX - 1); - Real stepY = (y2 - y1) / (numPointsY - 1); - Real stepZ = (z2 - z1) / (numPointsZ - 1); - for (int i = 0; i < numPointsX; i++) + // Computes all eigenvalues and (optionally) eigenvectors of a real nonsymmetric matrix a[0..n-1][0..n-1] by reduction to Hessenberg form followed by QR iteration. + // If yesvecs is input as true (the default), then the eigenvectors are computed. Otherwise, only the eigenvalues are computed. + // If hessen is input as false (the default), the matrix is first reduced to Hessenberg form. Otherwise it is assumed that the matrix is already in Hessenberg from. + // On output, wri[0..n-1] contains the eigenvalues of a sorted into descending order, while zz[0..n-1][0..n-1] is a matrix whose columns contain the corresponding + // eigenvectors. + // For a complex eigenvalue, only the eigenvector corresponding to the eigenvalue with a positive imaginary part is stored, with the real part in zz[0..n-1][i] and the + // imaginary part in h.zz[0..n-1][i+1]. The eigenvectors are not normalized. + + EigenSolver(const Matrix& aa, bool yesvec = true, bool hessenb = false) : n(aa.RowNum()), a(aa), zz(n, n), wri(n), scale(n, 1.0), perm(n), + yesvecs(yesvec), hessen(hessenb) + { + balance(); + if (!hessen) + elmhes(); + if (yesvecs) { - for (int j = 0; j < numPointsY; j++) + for (int i = 0; i < n; i++) + zz[i][i] = 1.0; + if (!hessen) + eltran(); + hqr2(); + balbak(); + sortvecs(); + } + else + { + hqr(); + sort(); + } + } + void balance() + { + const Real RADIX = std::numeric_limits::radix; + bool done = false; + Real sqrdx = RADIX * RADIX; + while (!done) + { + done = true; + for (int i = 0; i < n; i++) { - for (int k = 0; k < numPointsZ; k++) + Real r = 0.0, c = 0.0; + for (int j = 0; j < n; j++) + if (j != i) + { + c += std::abs(a[j][i]); + r += std::abs(a[i][j]); + } + if (c != 0.0 && r != 0.0) { - Real x = x1 + i * stepX; - Real y = y1 + j * stepY; - Real z = z1 + j * stepZ; - file << x << " " << y << " " << z << " " << f(VectorN{x, y, z}) << std::endl; + Real g = r / RADIX; + Real f = 1.0; + Real s = c + r; + while (c < g) + { + f *= RADIX; + c *= sqrdx; + } + g = r * RADIX; + while (c > g) + { + f /= RADIX; + c /= sqrdx; + } + if ((c + r) / f < 0.95 * s) + { + done = false; + g = 1.0 / f; + scale[i] *= f; + for (int j = 0; j < n; j++) + a[i][j] *= g; + for (int j = 0; j < n; j++) + a[j][i] *= f; + } } } } - return true; } - - // vector function serialization - static bool SaveVectorFunc3D(const IVectorFunction<3>& f, std::string inType, Real x1_start, Real x1_end, int numPointsX1, Real x2_start, Real x2_end, int numPointsX2, Real x3_start, Real x3_end, int numPointsX3, std::string fileName) + void elmhes() { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << inType << std::endl; - - Real stepX = (x1_end - x1_start) / (numPointsX1 - 1); - Real stepY = (x2_end - x2_start) / (numPointsX2 - 1); - Real stepZ = (x3_end - x3_start) / (numPointsX3 - 1); - for (int i = 0; i < numPointsX1; i++) - for (int j = 0; j < numPointsX2; j++) - for (int k = 0; k < numPointsX3; k++) + for (int m = 1; m < n - 1; m++) + { + Real x = 0.0; + int i = m; + for (int j = m; j < n; j++) + { + if (std::abs(a[j][m - 1]) > std::abs(x)) { - Real x = x1_start + i * stepX; - Real y = x2_start + j * stepY; - Real z = x3_start + k * stepZ; - auto val = f(VectorN{x, y, z}); - file << x << " " << y << " " << z << " " << val[0] << " " << val[1] << " " << val[2] << std::endl; + x = a[j][m - 1]; + i = j; } - - file.close(); - return true; + } + perm[m] = i; + if (i != m) + { + for (int j = m - 1; j < n; j++) + std::swap(a[i][j], a[m][j]); + for (int j = 0; j < n; j++) + std::swap(a[j][i], a[j][m]); + } + if (x != 0.0) + { + for (i = m + 1; i < n; i++) + { + Real y = a[i][m - 1]; + if (y != 0.0) + { + y /= x; + a[i][m - 1] = y; + for (int j = m; j < n; j++) + a[i][j] -= y * a[m][j]; + for (int j = 0; j < n; j++) + a[j][m] += y * a[j][i]; + } + } + } + } } - - static bool SaveVectorFunc3D(const IVectorFunction<3>& f, std::string inType, Real x1_start, Real x1_end, int numPointsX1, Real x2_start, Real x2_end, int numPointsX2, Real x3_start, Real x3_end, int numPointsX3, std::string fileName, Real upper_threshold) + void eltran() { - std::ofstream file(fileName); - if (!file.is_open()) - return false; - - file << inType << std::endl; - - Real stepX = (x1_end - x1_start) / (numPointsX1 - 1); - Real stepY = (x2_end - x2_start) / (numPointsX2 - 1); - Real stepZ = (x3_end - x3_start) / (numPointsX3 - 1); - for (int i = 0; i < numPointsX1; i++) - for (int j = 0; j < numPointsX2; j++) - for (int k = 0; k < numPointsX3; k++) + for (int mp = n - 2; mp > 0; mp--) + { + for (int k = mp + 1; k < n; k++) + zz[k][mp] = a[k][mp - 1]; + int i = perm[mp]; + if (i != mp) + { + for (int j = mp; j < n; j++) { - Real x = x1_start + i * stepX; - Real y = x2_start + j * stepY; - Real z = x3_start + k * stepZ; - auto val = f(VectorN{x, y, z}); - - if (val.NormL2() < upper_threshold) - file << x << " " << y << " " << z << " " << val[0] << " " << val[1] << " " << val[2] << std::endl; + zz[mp][j] = zz[i][j]; + zz[i][j] = 0.0; } - - file.close(); - return true; + zz[i][mp] = 1.0; + } + } } - static bool SaveVectorFunc3DCartesian(const IVectorFunction<3>& f, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, Real z1, Real z2, int numPointsZ, std::string fileName) + void hqr() + { + int nn, m, l, k, j, its, i, mmin; + Real z, y, x, w, v, u, t, s, r, q, p, anorm = 0.0; + + const Real EPS = std::numeric_limits::epsilon(); + for (i = 0; i < n; i++) + for (j = std::max(i - 1, 0); j < n; j++) + anorm += std::abs(a[i][j]); + nn = n - 1; + t = 0.0; + while (nn >= 0) + { + its = 0; + do + { + for (l = nn; l > 0; l--) + { + s = std::abs(a[l - 1][l - 1]) + std::abs(a[l][l]); + if (s == 0.0) + s = anorm; + if (std::abs(a[l][l - 1]) <= EPS * s) + { + a[l][l - 1] = 0.0; + break; + } + } + x = a[nn][nn]; + if (l == nn) + { + wri[nn--] = x + t; + } + else + { + y = a[nn - 1][nn - 1]; + w = a[nn][nn - 1] * a[nn - 1][nn]; + if (l == nn - 1) + { + p = 0.5 * (y - x); + q = p * p + w; + z = sqrt(std::abs(q)); + x += t; + if (q >= 0.0) + { + z = p + SIGN(z, p); + wri[nn - 1] = wri[nn] = x + z; + if (z != 0.0) + wri[nn] = x - w / z; + } + else + { + wri[nn] = Complex(x + p, -z); + wri[nn - 1] = conj(wri[nn]); + } + nn -= 2; + } + else + { + if (its == 30) + throw("Too many iterations in hqr"); + if (its == 10 || its == 20) + { + t += x; + for (i = 0; i < nn + 1; i++) + a[i][i] -= x; + s = std::abs(a[nn][nn - 1]) + std::abs(a[nn - 1][nn - 2]); + y = x = 0.75 * s; + w = -0.4375 * s * s; + } + ++its; + for (m = nn - 2; m >= l; m--) + { + z = a[m][m]; + r = x - z; + s = y - z; + p = (r * s - w) / a[m + 1][m] + a[m][m + 1]; + q = a[m + 1][m + 1] - z - r - s; + r = a[m + 2][m + 1]; + s = std::abs(p) + std::abs(q) + std::abs(r); + p /= s; + q /= s; + r /= s; + if (m == l) + break; + u = std::abs(a[m][m - 1]) * (std::abs(q) + std::abs(r)); + v = std::abs(p) * (std::abs(a[m - 1][m - 1]) + std::abs(z) + std::abs(a[m + 1][m + 1])); + if (u <= EPS * v) + break; + } + for (i = m; i < nn - 1; i++) + { + a[i + 2][i] = 0.0; + if (i != m) + a[i + 2][i - 1] = 0.0; + } + for (k = m; k < nn; k++) + { + if (k != m) + { + p = a[k][k - 1]; + q = a[k + 1][k - 1]; + r = 0.0; + if (k + 1 != nn) + r = a[k + 2][k - 1]; + if ((x = std::abs(p) + std::abs(q) + std::abs(r)) != 0.0) + { + p /= x; + q /= x; + r /= x; + } + } + if ((s = SIGN(sqrt(p * p + q * q + r * r), p)) != 0.0) + { + if (k == m) + { + if (l != m) + a[k][k - 1] = -a[k][k - 1]; + } + else + a[k][k - 1] = -s * x; + p += s; + x = p / s; + y = q / s; + z = r / s; + q /= p; + r /= p; + for (j = k; j < nn + 1; j++) + { + p = a[k][j] + q * a[k + 1][j]; + if (k + 1 != nn) + { + p += r * a[k + 2][j]; + a[k + 2][j] -= p * z; + } + a[k + 1][j] -= p * y; + a[k][j] -= p * x; + } + mmin = nn < k + 3 ? nn : k + 3; + for (i = l; i < mmin + 1; i++) + { + p = x * a[i][k] + y * a[i][k + 1]; + if (k + 1 != nn) + { + p += z * a[i][k + 2]; + a[i][k + 2] -= p * r; + } + a[i][k + 1] -= p * q; + a[i][k] -= p; + } + } + } + } + } + } while (l + 1 < nn); + } + } + void hqr2() { - return SaveVectorFunc3D(f, "VECTOR_FIELD_3D_CARTESIAN", x1, x2, numPointsX, y1, y2, numPointsY, z1, z2, numPointsZ, fileName); + int nn, m, l, k, j, its, i, mmin, na; + Real z, y, x, w, v, u, t, s, r, q, p, anorm = 0.0, ra, sa, vr, vi; + + const Real EPS = std::numeric_limits::epsilon(); + for (i = 0; i < n; i++) + for (j = std::max(i - 1, 0); j < n; j++) + anorm += std::abs(a[i][j]); + nn = n - 1; + t = 0.0; + while (nn >= 0) + { + its = 0; + do + { + for (l = nn; l > 0; l--) + { + s = std::abs(a[l - 1][l - 1]) + std::abs(a[l][l]); + if (s == 0.0) + s = anorm; + if (std::abs(a[l][l - 1]) <= EPS * s) + { + a[l][l - 1] = 0.0; + break; + } + } + x = a[nn][nn]; + if (l == nn) + { + wri[nn] = a[nn][nn] = x + t; + nn--; + } + else + { + y = a[nn - 1][nn - 1]; + w = a[nn][nn - 1] * a[nn - 1][nn]; + if (l == nn - 1) + { + p = 0.5 * (y - x); + q = p * p + w; + z = sqrt(std::abs(q)); + x += t; + a[nn][nn] = x; + a[nn - 1][nn - 1] = y + t; + if (q >= 0.0) + { + z = p + SIGN(z, p); + wri[nn - 1] = wri[nn] = x + z; + if (z != 0.0) + wri[nn] = x - w / z; + x = a[nn][nn - 1]; + s = std::abs(x) + std::abs(z); + p = x / s; + q = z / s; + r = sqrt(p * p + q * q); + p /= r; + q /= r; + for (j = nn - 1; j < n; j++) + { + z = a[nn - 1][j]; + a[nn - 1][j] = q * z + p * a[nn][j]; + a[nn][j] = q * a[nn][j] - p * z; + } + for (i = 0; i <= nn; i++) + { + z = a[i][nn - 1]; + a[i][nn - 1] = q * z + p * a[i][nn]; + a[i][nn] = q * a[i][nn] - p * z; + } + for (i = 0; i < n; i++) + { + z = zz[i][nn - 1]; + zz[i][nn - 1] = q * z + p * zz[i][nn]; + zz[i][nn] = q * zz[i][nn] - p * z; + } + } + else + { + wri[nn] = Complex(x + p, -z); + wri[nn - 1] = conj(wri[nn]); + } + nn -= 2; + } + else + { + if (its == 30) + throw("Too many iterations in hqr"); + if (its == 10 || its == 20) + { + t += x; + for (i = 0; i < nn + 1; i++) + a[i][i] -= x; + s = std::abs(a[nn][nn - 1]) + std::abs(a[nn - 1][nn - 2]); + y = x = 0.75 * s; + w = -0.4375 * s * s; + } + ++its; + for (m = nn - 2; m >= l; m--) + { + z = a[m][m]; + r = x - z; + s = y - z; + p = (r * s - w) / a[m + 1][m] + a[m][m + 1]; + q = a[m + 1][m + 1] - z - r - s; + r = a[m + 2][m + 1]; + s = std::abs(p) + std::abs(q) + std::abs(r); + p /= s; + q /= s; + r /= s; + if (m == l) + break; + u = std::abs(a[m][m - 1]) * (std::abs(q) + std::abs(r)); + v = std::abs(p) * (std::abs(a[m - 1][m - 1]) + std::abs(z) + std::abs(a[m + 1][m + 1])); + if (u <= EPS * v) + break; + } + for (i = m; i < nn - 1; i++) + { + a[i + 2][i] = 0.0; + if (i != m) + a[i + 2][i - 1] = 0.0; + } + for (k = m; k < nn; k++) + { + if (k != m) + { + p = a[k][k - 1]; + q = a[k + 1][k - 1]; + r = 0.0; + if (k + 1 != nn) + r = a[k + 2][k - 1]; + if ((x = std::abs(p) + std::abs(q) + std::abs(r)) != 0.0) + { + p /= x; + q /= x; + r /= x; + } + } + if ((s = SIGN(sqrt(p * p + q * q + r * r), p)) != 0.0) + { + if (k == m) + { + if (l != m) + a[k][k - 1] = -a[k][k - 1]; + } + else + a[k][k - 1] = -s * x; + p += s; + x = p / s; + y = q / s; + z = r / s; + q /= p; + r /= p; + for (j = k; j < n; j++) + { + p = a[k][j] + q * a[k + 1][j]; + if (k + 1 != nn) + { + p += r * a[k + 2][j]; + a[k + 2][j] -= p * z; + } + a[k + 1][j] -= p * y; + a[k][j] -= p * x; + } + mmin = nn < k + 3 ? nn : k + 3; + for (i = 0; i < mmin + 1; i++) + { + p = x * a[i][k] + y * a[i][k + 1]; + if (k + 1 != nn) + { + p += z * a[i][k + 2]; + a[i][k + 2] -= p * r; + } + a[i][k + 1] -= p * q; + a[i][k] -= p; + } + for (i = 0; i < n; i++) + { + p = x * zz[i][k] + y * zz[i][k + 1]; + if (k + 1 != nn) + { + p += z * zz[i][k + 2]; + zz[i][k + 2] -= p * r; + } + zz[i][k + 1] -= p * q; + zz[i][k] -= p; + } + } + } + } + } + } while (l + 1 < nn); + } + if (anorm != 0.0) + { + for (nn = n - 1; nn >= 0; nn--) + { + p = real(wri[nn]); + q = imag(wri[nn]); + na = nn - 1; + if (q == 0.0) + { + m = nn; + a[nn][nn] = 1.0; + for (i = nn - 1; i >= 0; i--) + { + w = a[i][i] - p; + r = 0.0; + for (j = m; j <= nn; j++) + r += a[i][j] * a[j][nn]; + if (imag(wri[i]) < 0.0) + { + z = w; + s = r; + } + else + { + m = i; + + if (imag(wri[i]) == 0.0) + { + t = w; + if (t == 0.0) + t = EPS * anorm; + a[i][nn] = -r / t; + } + else + { + x = a[i][i + 1]; + y = a[i + 1][i]; + q = POW2(real(wri[i]) - p) + POW2(imag(wri[i])); + t = (x * s - z * r) / q; + a[i][nn] = t; + if (std::abs(x) > std::abs(z)) + a[i + 1][nn] = (-r - w * t) / x; + else + a[i + 1][nn] = (-s - y * t) / z; + } + t = std::abs(a[i][nn]); + if (EPS * t * t > 1) + for (j = i; j <= nn; j++) + a[j][nn] /= t; + } + } + } + else if (q < 0.0) + { + m = na; + if (std::abs(a[nn][na]) > std::abs(a[na][nn])) + { + a[na][na] = q / a[nn][na]; + a[na][nn] = -(a[nn][nn] - p) / a[nn][na]; + } + else + { + Complex temp = Complex(0.0, -a[na][nn]) / Complex(a[na][na] - p, q); + a[na][na] = real(temp); + a[na][nn] = imag(temp); + } + a[nn][na] = 0.0; + a[nn][nn] = 1.0; + for (i = nn - 2; i >= 0; i--) + { + w = a[i][i] - p; + ra = sa = 0.0; + for (j = m; j <= nn; j++) + { + ra += a[i][j] * a[j][na]; + sa += a[i][j] * a[j][nn]; + } + if (imag(wri[i]) < 0.0) + { + z = w; + r = ra; + s = sa; + } + else + { + m = i; + if (imag(wri[i]) == 0.0) + { + Complex temp = Complex(-ra, -sa) / Complex(w, q); + a[i][na] = real(temp); + a[i][nn] = imag(temp); + } + else + { + x = a[i][i + 1]; + y = a[i + 1][i]; + vr = POW2(real(wri[i]) - p) + POW2(imag(wri[i])) - q * q; + vi = 2.0 * q * (real(wri[i]) - p); + if (vr == 0.0 && vi == 0.0) + vr = EPS * anorm * (std::abs(w) + std::abs(q) + std::abs(x) + std::abs(y) + std::abs(z)); + Complex temp = Complex(x * r - z * ra + q * sa, x * s - z * sa - q * ra) / + Complex(vr, vi); + a[i][na] = real(temp); + a[i][nn] = imag(temp); + if (std::abs(x) > std::abs(z) + std::abs(q)) + { + a[i + 1][na] = (-ra - w * a[i][na] + q * a[i][nn]) / x; + a[i + 1][nn] = (-sa - w * a[i][nn] - q * a[i][na]) / x; + } + else + { + Complex temp = Complex(-r - y * a[i][na], -s - y * a[i][nn]) / + Complex(z, q); + a[i + 1][na] = real(temp); + a[i + 1][nn] = imag(temp); + } + } + } + t = std::max(std::abs(a[i][na]), std::abs(a[i][nn])); + if (EPS * t * t > 1) + for (j = i; j <= nn; j++) + { + a[j][na] /= t; + a[j][nn] /= t; + } + } + } + } + for (j = n - 1; j >= 0; j--) + for (i = 0; i < n; i++) + { + z = 0.0; + for (k = 0; k <= j; k++) + z += zz[i][k] * a[k][j]; + zz[i][j] = z; + } + } } - static bool SaveVectorFunc3DCartesian(const IVectorFunction<3>& f, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, Real z1, Real z2, int numPointsZ, std::string fileName, Real upper_threshold) + void balbak() { - return SaveVectorFunc3D(f, "VECTOR_FIELD_3D_CARTESIAN", x1, x2, numPointsX, y1, y2, numPointsY, z1, z2, numPointsZ, fileName, upper_threshold); + for (int i = 0; i < n; i++) + for (int j = 0; j < n; j++) + zz[i][j] *= scale[i]; } - static bool SaveVectorFuncSpherical(const IVectorFunction<3>& f, Real r1, Real r2, int numPointsR, Real theta1, Real theta2, int numPointsTheta, Real phi1, Real phi2, int numPointsPhi, std::string fileName) + + void sort() { - return SaveVectorFunc3D(f, "VECTOR_FIELD_SPHERICAL", r1, r2, numPointsR, theta1, theta2, numPointsTheta, phi1, phi2, numPointsPhi, fileName); + int i; + for (int j = 1; j < n; j++) + { + Complex x = wri[j]; + for (i = j - 1; i >= 0; i--) + { + if (real(wri[i]) >= real(x)) + break; + wri[i + 1] = wri[i]; + } + wri[i + 1] = x; + } } - static bool SaveVectorFuncSpherical(const IVectorFunction<3>& f, Real r1, Real r2, int numPointsR, Real theta1, Real theta2, int numPointsTheta, Real phi1, Real phi2, int numPointsPhi, std::string fileName, Real upper_threshold) + void sortvecs() { - return SaveVectorFunc3D(f, "VECTOR_FIELD_SPHERICAL", r1, r2, numPointsR, theta1, theta2, numPointsTheta, phi1, phi2, numPointsPhi, fileName, upper_threshold); + int i; + Vector temp(n); + for (int j = 1; j < n; j++) + { + Complex x = wri[j]; + for (int k = 0; k < n; k++) + temp[k] = zz[k][j]; + for (i = j - 1; i >= 0; i--) + { + if (real(wri[i]) >= real(x)) + break; + wri[i + 1] = wri[i]; + for (int k = 0; k < n; k++) + zz[k][i + 1] = zz[k][i]; + } + wri[i + 1] = x; + for (int k = 0; k < n; k++) + zz[k][i + 1] = temp[k]; + } } }; + } -/////////////////////////// ./include/core/Vizualizer.h /////////////////////////// +/////////////////////////// ./include/algorithms/ODESystemSteppers.h /////////////////////////// namespace MML { - class Visualizer - { - static inline std::string _pathResultFiles{ GLOB_PATH_ResultFiles }; + struct StepperBase { + IODESystem& _sys; + int n, neqn; + bool dense; - static inline std::string _pathRealFuncViz{ GLOB_PATH_RealFuncViz }; - static inline std::string _pathSurfaceViz{ GLOB_PATH_SurfaceViz }; - static inline std::string _pathParametricCurveViz{ GLOB_PATH_ParametricCurveViz }; - static inline std::string _pathVectorFieldViz{ GLOB_PATH_VectorFieldViz }; - - public: - static void VisualizeRealFunction(const IRealFunction& f, std::string title, Real x1, Real x2, int numPoints, std::string fileName) - { - std::string name = _pathResultFiles + fileName; - Serializer::SaveRealFuncEquallySpacedDetailed(f, x1, x2, numPoints, name); + Real& x; + Real xold; + Vector& y, & dydx; - #if defined(MML_PLATFORM_WINDOWS) - std::string command = _pathRealFuncViz + " " + name; - system(command.c_str()); - #else - std::cout << "VisualizeRealFunction: Not implemented for this OS" << std::endl; - #endif - } + Real atol, rtol; + Real EPS; - static void VisualizeMultiRealFunction(std::vector funcs, std::string title, Real x1, Real x2, int numPoints, std::string fileName) + Real hdid; + Real hnext; + Vector yout, yerr; + + StepperBase(IODESystem& sys, Vector& yy, Vector& dydxx, Real& xx, const Real atoll, const Real rtoll, bool dens) + : _sys(sys), x(xx), y(yy), dydx(dydxx), atol(atoll), + rtol(rtoll), dense(dens), n(sys.getDim()), neqn(n), yout(n), yerr(n) {} + + virtual Real dense_out(const int i, const Real x, const Real h) = 0; + }; + + // Dormand-Prince fifth-order Runge-Kutta step with monitoring of local truncation error to ensure + // accuracy and adjust stepsize. + struct StepperDopr5 : StepperBase { + Vector k2, k3, k4, k5, k6; + Vector rcont1, rcont2, rcont3, rcont4, rcont5; + Vector dydxnew; + + // Input to the constructor are the dependent variable y[0..n-1] and its derivative dydx[0..n-1] + // at the starting value of the independent variable x. Also input are the absolute and relative + // tolerances, atol and rtol, and the boolean dense, which is true if dense output is required + StepperDopr5(IODESystem& sys, Vector& yy, Vector& dydx, Real& xx, const Real atoll, const Real rtoll, bool dens) + : StepperBase(sys, yy, dydx, xx, atoll, rtoll, dens), + k2(n), k3(n), k4(n), k5(n), k6(n), + rcont1(n), rcont2(n), rcont3(n), rcont4(n), rcont5(n), + dydxnew(n) { - std::string name = _pathResultFiles + fileName; - Serializer::SaveRealMultiFunc(funcs, title, x1, x2, numPoints, name); + EPS = std::numeric_limits::epsilon(); + } - #if defined(MML_PLATFORM_WINDOWS) - std::string command = _pathRealFuncViz + " " + name; - system(command.c_str()); - #else - std::cout << "VisualizeMultiRealFunction: Not implemented for this OS" << std::endl; - #endif + // Attempts a step with stepsize htry. On output, y and x are replaced by their new values, hdid + // is the stepsize that was actually accomplished, and hnext is the estimated next stepsize + void step(const Real htry) { + Real h = htry; + for (;;) { + dy(h); + Real err = error(); + if (con.success(err, h)) break; + if (std::abs(h) <= std::abs(x) * EPS) + throw("stepsize underflow in StepperDopr5"); + } + if (dense) + prepare_dense(h); + dydx = dydxnew; + y = yout; + xold = x; + x += (hdid = h); + hnext = con.hnext; } - static void VisualizeScalarFunc2DCartesian(const ScalarFunction<2>& func, std::string title, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, std::string fileName) - { - std::string name = _pathResultFiles + fileName; - Serializer::SaveScalarFunc2DCartesian(func, -10.0, 10.0, 50, -10.0, 10.0, 50, name); + // Given values for n variables y[0..n-1] and their derivatives dydx[0..n-1] known at x, use the + // fifth-order Dormand-Prince Runge-Kutta method to advance the solution over an interval h and + // store the incremented variables in yout[0..n-1]. Also store an estimate of the local truncation + // error in yerr using the embedded fourth-order method + void dy(const Real h) { + static const Real c2 = 0.2, c3 = 0.3, c4 = 0.8, c5 = 8.0 / 9.0, a21 = 0.2, a31 = 3.0 / 40.0, + a32 = 9.0 / 40.0, a41 = 44.0 / 45.0, a42 = -56.0 / 15.0, a43 = 32.0 / 9.0, a51 = 19372.0 / 6561.0, + a52 = -25360.0 / 2187.0, a53 = 64448.0 / 6561.0, a54 = -212.0 / 729.0, a61 = 9017.0 / 3168.0, + a62 = -355.0 / 33.0, a63 = 46732.0 / 5247.0, a64 = 49.0 / 176.0, a65 = -5103.0 / 18656.0, + a71 = 35.0 / 384.0, a73 = 500.0 / 1113.0, a74 = 125.0 / 192.0, a75 = -2187.0 / 6784.0, + a76 = 11.0 / 84.0, e1 = 71.0 / 57600.0, e3 = -71.0 / 16695.0, e4 = 71.0 / 1920.0, + e5 = -17253.0 / 339200.0, e6 = 22.0 / 525.0, e7 = -1.0 / 40.0; + Vector ytemp(n); + int i; + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * a21 * dydx[i]; + _sys.derivs(x + c2 * h, ytemp, k2); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a31 * dydx[i] + a32 * k2[i]); + _sys.derivs(x + c3 * h, ytemp, k3); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a41 * dydx[i] + a42 * k2[i] + a43 * k3[i]); + _sys.derivs(x + c4 * h, ytemp, k4); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a51 * dydx[i] + a52 * k2[i] + a53 * k3[i] + a54 * k4[i]); + _sys.derivs(x + c5 * h, ytemp, k5); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a61 * dydx[i] + a62 * k2[i] + a63 * k3[i] + a64 * k4[i] + a65 * k5[i]); + Real xph = x + h; + _sys.derivs(xph, ytemp, k6); + for (i = 0; i < n; i++) + yout[i] = y[i] + h * (a71 * dydx[i] + a73 * k3[i] + a74 * k4[i] + a75 * k5[i] + a76 * k6[i]); + _sys.derivs(xph, yout, dydxnew); + for (i = 0; i < n; i++) { + yerr[i] = h * (e1 * dydx[i] + e3 * k3[i] + e4 * k4[i] + e5 * k5[i] + e6 * k6[i] + e7 * dydxnew[i]); + } + } - #if defined(MML_PLATFORM_WINDOWS) - std::string command = _pathSurfaceViz + " " + name; - system(command.c_str()); - #else - std::cout << "VisualizeScalarFunc2DCartesian: Not implemented for this OS" << std::endl; - #endif + // Store coefficients of interpolating polynomial for dense output in rcont1...rcont5 + void prepare_dense(const Real h) { + Vector ytemp(n); + static const Real d1 = -12715105075.0 / 11282082432.0, + d3 = 87487479700.0 / 32700410799.0, d4 = -10690763975.0 / 1880347072.0, + d5 = 701980252875.0 / 199316789632.0, d6 = -1453857185.0 / 822651844.0, + d7 = 69997945.0 / 29380423.0; + for (int i = 0; i < n; i++) { + rcont1[i] = y[i]; + Real ydiff = yout[i] - y[i]; + rcont2[i] = ydiff; + Real bspl = h * dydx[i] - ydiff; + rcont3[i] = bspl; + rcont4[i] = ydiff - h * dydxnew[i] - bspl; + rcont5[i] = h * (d1 * dydx[i] + d3 * k3[i] + d4 * k4[i] + d5 * k5[i] + d6 * k6[i] + + d7 * dydxnew[i]); + } } - static void VisualizeVectorField3DCartesian(const IVectorFunction<3>& func, std::string title, Real x1, Real x2, int numPointsX, Real y1, Real y2, int numPointsY, Real z1, Real z2, int numPointsZ, std::string fileName) - { - std::string name = _pathResultFiles + fileName; - Serializer::SaveVectorFunc3DCartesian(func, x1, x2, numPointsX, y1, y2, numPointsY, z1, z2, numPointsZ, name); + // Evaluate interpolating polynomial for y[i] at location x, where xold <= x <= xold + h. + Real dense_out(const int i, const Real x, const Real h) { + Real s = (x - xold) / h; + Real s1 = 1.0 - s; + return rcont1[i] + s * (rcont2[i] + s1 * (rcont3[i] + s * (rcont4[i] + s1 * rcont5[i]))); + } - #if defined(MML_PLATFORM_WINDOWS) - std::string command = _pathVectorFieldViz + " " + name; - system(command.c_str()); - #else - std::cout << "VisualizeVectorField3DCartesian: Not implemented for this OS" << std::endl; - #endif + // Use yerr to compute norm of scaled error estimate. A value less than one means the step was successful. + Real error() { + Real err = 0.0, sk; + for (int i = 0; i < n; i++) { + sk = atol + rtol * std::max(std::abs(y[i]), std::abs(yout[i])); + err += POW2(yerr[i] / sk); + } + return sqrt(err / n); } - static void VisualizeParamCurve3D(const IRealToVectorFunction<3>& f, std::string title, Real t1, Real t2, int numPoints, std::string fileName) + // Finally, the controller tests whether err <= 1 and adjusts the stepsize. The + // default setting is beta D 0 (no PI control). Set beta to 0.04 or 0.08 to turn on PI control + struct Controller { + Real hnext, errold; + bool reject; + + Controller() : reject(false), errold(1.0e-4) {} + + // Returns true if err <= 1, false otherwise. If step was successful, sets hnext to the estimated + // optimal stepsize for the next step. If the step failed, reduces h appropriately for another try. + bool success(const Real err, Real& h) { + static const Real beta = 0.0, alpha = 0.2 - beta * 0.75, safe = 0.9, minscale = 0.2, maxscale = 10.0; + Real scale; + if (err <= 1.0) { + if (err == 0.0) + scale = maxscale; + else { + scale = safe * pow(err, -alpha) * pow(errold, beta); + if (scale < minscale) scale = minscale; + if (scale > maxscale) scale = maxscale; + } + if (reject) + hnext = h * std::min(scale, 1.0); + else + hnext = h * scale; + errold = std::max(err, 1.0e-4); + reject = false; + return true; + } + else { + scale = std::max(safe * pow(err, -alpha), minscale); + h *= scale; + reject = true; + return false; + } + } + }; + Controller con; + }; + + struct Dopr853_constants { + const Real c2 = 0.526001519587677318785587544488e-01; + const Real c3 = 0.789002279381515978178381316732e-01; + const Real c4 = 0.118350341907227396726757197510e+00; + const Real c5 = 0.281649658092772603273242802490e+00; + const Real c6 = 0.333333333333333333333333333333e+00; + const Real c7 = 0.25e+00; + const Real c8 = 0.307692307692307692307692307692e+00; + const Real c9 = 0.651282051282051282051282051282e+00; + const Real c10 = 0.6e+00; + const Real c11 = 0.857142857142857142857142857142e+00; + const Real c14 = 0.1e+00; + const Real c15 = 0.2e+00; + const Real c16 = 0.777777777777777777777777777778e+00; + + const Real b1 = 5.42937341165687622380535766363e-2; + const Real b6 = 4.45031289275240888144113950566e0; + const Real b7 = 1.89151789931450038304281599044e0; + const Real b8 = -5.8012039600105847814672114227e0; + const Real b9 = 3.1116436695781989440891606237e-1; + const Real b10 = -1.52160949662516078556178806805e-1; + const Real b11 = 2.01365400804030348374776537501e-1; + const Real b12 = 4.47106157277725905176885569043e-2; + + const Real bhh1 = 0.244094488188976377952755905512e+00; + const Real bhh2 = 0.733846688281611857341361741547e+00; + const Real bhh3 = 0.220588235294117647058823529412e-01; + + const Real er1 = 0.1312004499419488073250102996e-01; + const Real er6 = -0.1225156446376204440720569753e+01; + const Real er7 = -0.4957589496572501915214079952e+00; + const Real er8 = 0.1664377182454986536961530415e+01; + const Real er9 = -0.3503288487499736816886487290e+00; + const Real er10 = 0.3341791187130174790297318841e+00; + const Real er11 = 0.8192320648511571246570742613e-01; + const Real er12 = -0.2235530786388629525884427845e-01; + + const Real a21 = 5.26001519587677318785587544488e-2; + const Real a31 = 1.97250569845378994544595329183e-2; + const Real a32 = 5.91751709536136983633785987549e-2; + const Real a41 = 2.95875854768068491816892993775e-2; + const Real a43 = 8.87627564304205475450678981324e-2; + const Real a51 = 2.41365134159266685502369798665e-1; + const Real a53 = -8.84549479328286085344864962717e-1; + const Real a54 = 9.24834003261792003115737966543e-1; + const Real a61 = 3.7037037037037037037037037037e-2; + const Real a64 = 1.70828608729473871279604482173e-1; + const Real a65 = 1.25467687566822425016691814123e-1; + const Real a71 = 3.7109375e-2; + const Real a74 = 1.70252211019544039314978060272e-1; + const Real a75 = 6.02165389804559606850219397283e-2; + const Real a76 = -1.7578125e-2; + + const Real a81 = 3.70920001185047927108779319836e-2; + const Real a84 = 1.70383925712239993810214054705e-1; + const Real a85 = 1.07262030446373284651809199168e-1; + const Real a86 = -1.53194377486244017527936158236e-2; + const Real a87 = 8.27378916381402288758473766002e-3; + const Real a91 = 6.24110958716075717114429577812e-1; + const Real a94 = -3.36089262944694129406857109825e0; + const Real a95 = -8.68219346841726006818189891453e-1; + const Real a96 = 2.75920996994467083049415600797e1; + const Real a97 = 2.01540675504778934086186788979e1; + const Real a98 = -4.34898841810699588477366255144e1; + const Real a101 = 4.77662536438264365890433908527e-1; + const Real a104 = -2.48811461997166764192642586468e0; + const Real a105 = -5.90290826836842996371446475743e-1; + const Real a106 = 2.12300514481811942347288949897e1; + const Real a107 = 1.52792336328824235832596922938e1; + const Real a108 = -3.32882109689848629194453265587e1; + const Real a109 = -2.03312017085086261358222928593e-2; + + const Real a111 = -9.3714243008598732571704021658e-1; + const Real a114 = 5.18637242884406370830023853209e0; + const Real a115 = 1.09143734899672957818500254654e0; + const Real a116 = -8.14978701074692612513997267357e0; + const Real a117 = -1.85200656599969598641566180701e1; + const Real a118 = 2.27394870993505042818970056734e1; + const Real a119 = 2.49360555267965238987089396762e0; + const Real a1110 = -3.0467644718982195003823669022e0; + const Real a121 = 2.27331014751653820792359768449e0; + const Real a124 = -1.05344954667372501984066689879e1; + const Real a125 = -2.00087205822486249909675718444e0; + const Real a126 = -1.79589318631187989172765950534e1; + const Real a127 = 2.79488845294199600508499808837e1; + const Real a128 = -2.85899827713502369474065508674e0; + const Real a129 = -8.87285693353062954433549289258e0; + const Real a1210 = 1.23605671757943030647266201528e1; + const Real a1211 = 6.43392746015763530355970484046e-1; + + const Real a141 = 5.61675022830479523392909219681e-2; + const Real a147 = 2.53500210216624811088794765333e-1; + const Real a148 = -2.46239037470802489917441475441e-1; + const Real a149 = -1.24191423263816360469010140626e-1; + const Real a1410 = 1.5329179827876569731206322685e-1; + const Real a1411 = 8.20105229563468988491666602057e-3; + const Real a1412 = 7.56789766054569976138603589584e-3; + const Real a1413 = -8.298e-3; + + const Real a151 = 3.18346481635021405060768473261e-2; + const Real a156 = 2.83009096723667755288322961402e-2; + const Real a157 = 5.35419883074385676223797384372e-2; + const Real a158 = -5.49237485713909884646569340306e-2; + const Real a1511 = -1.08347328697249322858509316994e-4; + const Real a1512 = 3.82571090835658412954920192323e-4; + const Real a1513 = -3.40465008687404560802977114492e-4; + const Real a1514 = 1.41312443674632500278074618366e-1; + const Real a161 = -4.28896301583791923408573538692e-1; + const Real a166 = -4.69762141536116384314449447206e0; + const Real a167 = 7.68342119606259904184240953878e0; + const Real a168 = 4.06898981839711007970213554331e0; + const Real a169 = 3.56727187455281109270669543021e-1; + const Real a1613 = -1.39902416515901462129418009734e-3; + const Real a1614 = 2.9475147891527723389556272149e0; + const Real a1615 = -9.15095847217987001081870187138e0; + + const Real d41 = -0.84289382761090128651353491142e+01; + const Real d46 = 0.56671495351937776962531783590e+00; + const Real d47 = -0.30689499459498916912797304727e+01; + const Real d48 = 0.23846676565120698287728149680e+01; + const Real d49 = 0.21170345824450282767155149946e+01; + const Real d410 = -0.87139158377797299206789907490e+00; + const Real d411 = 0.22404374302607882758541771650e+01; + const Real d412 = 0.63157877876946881815570249290e+00; + const Real d413 = -0.88990336451333310820698117400e-01; + const Real d414 = 0.18148505520854727256656404962e+02; + const Real d415 = -0.91946323924783554000451984436e+01; + const Real d416 = -0.44360363875948939664310572000e+01; + + const Real d51 = 0.10427508642579134603413151009e+02; + const Real d56 = 0.24228349177525818288430175319e+03; + const Real d57 = 0.16520045171727028198505394887e+03; + const Real d58 = -0.37454675472269020279518312152e+03; + const Real d59 = -0.22113666853125306036270938578e+02; + const Real d510 = 0.77334326684722638389603898808e+01; + const Real d511 = -0.30674084731089398182061213626e+02; + const Real d512 = -0.93321305264302278729567221706e+01; + const Real d513 = 0.15697238121770843886131091075e+02; + const Real d514 = -0.31139403219565177677282850411e+02; + const Real d515 = -0.93529243588444783865713862664e+01; + const Real d516 = 0.35816841486394083752465898540e+02; + + const Real d61 = 0.19985053242002433820987653617e+02; + const Real d66 = -0.38703730874935176555105901742e+03; + const Real d67 = -0.18917813819516756882830838328e+03; + const Real d68 = 0.52780815920542364900561016686e+03; + const Real d69 = -0.11573902539959630126141871134e+02; + const Real d610 = 0.68812326946963000169666922661e+01; + const Real d611 = -0.10006050966910838403183860980e+01; + const Real d612 = 0.77771377980534432092869265740e+00; + const Real d613 = -0.27782057523535084065932004339e+01; + const Real d614 = -0.60196695231264120758267380846e+02; + const Real d615 = 0.84320405506677161018159903784e+02; + const Real d616 = 0.11992291136182789328035130030e+02; + + const Real d71 = -0.25693933462703749003312586129e+02; + const Real d76 = -0.15418974869023643374053993627e+03; + const Real d77 = -0.23152937917604549567536039109e+03; + const Real d78 = 0.35763911791061412378285349910e+03; + const Real d79 = 0.93405324183624310003907691704e+02; + const Real d710 = -0.37458323136451633156875139351e+02; + const Real d711 = 0.10409964950896230045147246184e+03; + const Real d712 = 0.29840293426660503123344363579e+02; + const Real d713 = -0.43533456590011143754432175058e+02; + const Real d714 = 0.96324553959188282948394950600e+02; + const Real d715 = -0.39177261675615439165231486172e+02; + const Real d716 = -0.14972683625798562581422125276e+03; + }; + + struct StepperDopr853 : StepperBase, Dopr853_constants { + Vector yerr2; + Vector k2, k3, k4, k5, k6, k7, k8, k9, k10; + Vector rcont1, rcont2, rcont3, rcont4, rcont5, rcont6, rcont7, rcont8; + + StepperDopr853(IODESystem& sys, Vector& yy, Vector& dydxx, Real& xx, + const Real atoll, const Real rtoll, bool dens) + : StepperBase(sys, yy, dydxx, xx, atoll, rtoll, dens), + yerr2(n), k2(n), k3(n), k4(n), + k5(n), k6(n), k7(n), k8(n), k9(n), k10(n), rcont1(n), rcont2(n), rcont3(n), + rcont4(n), rcont5(n), rcont6(n), rcont7(n), rcont8(n) { - std::string name = _pathResultFiles + fileName; - Serializer::SaveParamCurveCartesian3D(f, t1, t2, numPoints, name); + EPS = std::numeric_limits::epsilon(); + } - #if defined(MML_PLATFORM_WINDOWS) - std::string command = _pathParametricCurveViz + " " + name; - system(command.c_str()); - #else - std::cout << "VisualizeParamCurve3D: Not implemented for this OS" << std::endl; - #endif + void step(const Real htry) { + Vector dydxnew(n); + Real h = htry; + for (;;) { + dy(h); + Real err = error(h); + if (con.success(err, h)) break; + if (std::abs(h) <= std::abs(x) * EPS) + throw("stepsize underflow in StepperDopr853"); + } + _sys.derivs(x + h, yout, dydxnew); + if (dense) + prepare_dense(h, dydxnew); + dydx = dydxnew; + y = yout; + xold = x; + x += (hdid = h); + hnext = con.hnext; } - static void VisualizeMultiParamCurve3D(std::vector fileNames) + void dy(const Real h) { + Vector ytemp(n); + int i; + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * a21 * dydx[i]; + _sys.derivs(x + c2 * h, ytemp, k2); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a31 * dydx[i] + a32 * k2[i]); + _sys.derivs(x + c3 * h, ytemp, k3); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a41 * dydx[i] + a43 * k3[i]); + _sys.derivs(x + c4 * h, ytemp, k4); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a51 * dydx[i] + a53 * k3[i] + a54 * k4[i]); + _sys.derivs(x + c5 * h, ytemp, k5); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a61 * dydx[i] + a64 * k4[i] + a65 * k5[i]); + _sys.derivs(x + c6 * h, ytemp, k6); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a71 * dydx[i] + a74 * k4[i] + a75 * k5[i] + a76 * k6[i]); + _sys.derivs(x + c7 * h, ytemp, k7); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a81 * dydx[i] + a84 * k4[i] + a85 * k5[i] + a86 * k6[i] + a87 * k7[i]); + _sys.derivs(x + c8 * h, ytemp, k8); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a91 * dydx[i] + a94 * k4[i] + a95 * k5[i] + a96 * k6[i] + a97 * k7[i] + + a98 * k8[i]); + _sys.derivs(x + c9 * h, ytemp, k9); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a101 * dydx[i] + a104 * k4[i] + a105 * k5[i] + a106 * k6[i] + + a107 * k7[i] + a108 * k8[i] + a109 * k9[i]); + _sys.derivs(x + c10 * h, ytemp, k10); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a111 * dydx[i] + a114 * k4[i] + a115 * k5[i] + a116 * k6[i] + + a117 * k7[i] + a118 * k8[i] + a119 * k9[i] + a1110 * k10[i]); + _sys.derivs(x + c11 * h, ytemp, k2); + Real xph = x + h; + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a121 * dydx[i] + a124 * k4[i] + a125 * k5[i] + a126 * k6[i] + + a127 * k7[i] + a128 * k8[i] + a129 * k9[i] + a1210 * k10[i] + a1211 * k2[i]); + _sys.derivs(xph, ytemp, k3); + for (i = 0; i < n; i++) { + k4[i] = b1 * dydx[i] + b6 * k6[i] + b7 * k7[i] + b8 * k8[i] + b9 * k9[i] + b10 * k10[i] + + b11 * k2[i] + b12 * k3[i]; + yout[i] = y[i] + h * k4[i]; + } + for (i = 0; i < n; i++) { + yerr[i] = k4[i] - bhh1 * dydx[i] - bhh2 * k9[i] - bhh3 * k3[i]; + yerr2[i] = er1 * dydx[i] + er6 * k6[i] + er7 * k7[i] + er8 * k8[i] + er9 * k9[i] + + er10 * k10[i] + er11 * k2[i] + er12 * k3[i]; + } + } + void prepare_dense(const Real h, const Vector& dydxnew) { - std::string params; - for (auto& name : fileNames) + int i; + Real ydiff, bspl; + Vector ytemp(n); + for (i = 0; i < n; i++) { + rcont1[i] = y[i]; + ydiff = yout[i] - y[i]; + rcont2[i] = ydiff; + bspl = h * dydx[i] - ydiff; + rcont3[i] = bspl; + rcont4[i] = ydiff - h * dydxnew[i] - bspl; + rcont5[i] = d41 * dydx[i] + d46 * k6[i] + d47 * k7[i] + d48 * k8[i] + + d49 * k9[i] + d410 * k10[i] + d411 * k2[i] + d412 * k3[i]; + rcont6[i] = d51 * dydx[i] + d56 * k6[i] + d57 * k7[i] + d58 * k8[i] + + d59 * k9[i] + d510 * k10[i] + d511 * k2[i] + d512 * k3[i]; + rcont7[i] = d61 * dydx[i] + d66 * k6[i] + d67 * k7[i] + d68 * k8[i] + + d69 * k9[i] + d610 * k10[i] + d611 * k2[i] + d612 * k3[i]; + rcont8[i] = d71 * dydx[i] + d76 * k6[i] + d77 * k7[i] + d78 * k8[i] + + d79 * k9[i] + d710 * k10[i] + d711 * k2[i] + d712 * k3[i]; + } + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a141 * dydx[i] + a147 * k7[i] + a148 * k8[i] + a149 * k9[i] + + a1410 * k10[i] + a1411 * k2[i] + a1412 * k3[i] + a1413 * dydxnew[i]); + _sys.derivs(x + c14 * h, ytemp, k10); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a151 * dydx[i] + a156 * k6[i] + a157 * k7[i] + a158 * k8[i] + + a1511 * k2[i] + a1512 * k3[i] + a1513 * dydxnew[i] + a1514 * k10[i]); + _sys.derivs(x + c15 * h, ytemp, k2); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (a161 * dydx[i] + a166 * k6[i] + a167 * k7[i] + a168 * k8[i] + + a169 * k9[i] + a1613 * dydxnew[i] + a1614 * k10[i] + a1615 * k2[i]); + _sys.derivs(x + c16 * h, ytemp, k3); + for (i = 0; i < n; i++) { - params = params + (_pathResultFiles + name + " "); + rcont5[i] = h * (rcont5[i] + d413 * dydxnew[i] + d414 * k10[i] + d415 * k2[i] + d416 * k3[i]); + rcont6[i] = h * (rcont6[i] + d513 * dydxnew[i] + d514 * k10[i] + d515 * k2[i] + d516 * k3[i]); + rcont7[i] = h * (rcont7[i] + d613 * dydxnew[i] + d614 * k10[i] + d615 * k2[i] + d616 * k3[i]); + rcont8[i] = h * (rcont8[i] + d713 * dydxnew[i] + d714 * k10[i] + d715 * k2[i] + d716 * k3[i]); } + } + Real dense_out(const int i, const Real x, const Real h) { + Real s = (x - xold) / h; + Real s1 = 1.0 - s; + return rcont1[i] + s * (rcont2[i] + s1 * (rcont3[i] + s * (rcont4[i] + s1 * (rcont5[i] + + s * (rcont6[i] + s1 * (rcont7[i] + s * rcont8[i])))))); + } + Real error(const Real h) { + Real err = 0.0, err2 = 0.0, sk, deno; + for (int i = 0; i < n; i++) { + sk = atol + rtol * std::max(std::abs(y[i]), std::abs(yout[i])); + err2 += POW2(yerr[i] / sk); + err += POW2(yerr2[i] / sk); + } + deno = err + 0.01 * err2; + if (deno <= 0.0) + deno = 1.0; + return std::abs(h) * err * sqrt(1.0 / (n * deno)); + } + struct Controller { + Real hnext, errold; + bool reject; + Controller() : reject(false), errold(1.0e-4) {} + bool success(const Real err, Real& h) { + static const Real beta = 0.0, alpha = 1.0 / 8.0 - beta * 0.2, safe = 0.9, minscale = 0.333, + maxscale = 6.0; + Real scale; + if (err <= 1.0) { + if (err == 0.0) + scale = maxscale; + else { + scale = safe * pow(err, -alpha) * pow(errold, beta); + if (scale < minscale) scale = minscale; + if (scale > maxscale) scale = maxscale; + } + if (reject) + hnext = h * std::min(scale, 1.0); + else + hnext = h * scale; + errold = std::max(err, 1.0e-4); + reject = false; + return true; + } + else { + scale = std::max(safe * pow(err, -alpha), minscale); + h *= scale; + reject = true; + return false; + } + } + }; + Controller con; + }; - #if defined(MML_PLATFORM_WINDOWS) - std::string command = _pathParametricCurveViz + " " + params; - system(command.c_str()); - #else - std::cout << "VisualizeMultiParamCurve3D: Not implemented for this OS" << std::endl; - #endif + // Bulirsch-Stoer step with monitoring of local truncation error to ensure accuracy and adjust stepsize + struct StepperBS : StepperBase { + static const int KMAXX = 8, IMAXX = KMAXX + 1; // KMAXX is the maximum number of rows used in the extrapolation + int k_targ; // Optimal row number for convergence. + Vector nseq; // Stepsize sequence + Vector cost; + Matrix table; // Extrapolation tableau + Vector dydxnew; + int mu; + Matrix coeff; // Coefficients used in extrapolation tableau + Vector errfac; // Used to compute dense interpolation error. + Matrix ysave; // ysave and fsave store values and derivatives to be used for dense output + Matrix fsave; + Vector ipoint; // Keeps track of where values are stored in fsave. + Vector dens; + + StepperBS(IODESystem& sys, Vector& yy, Vector& dydxx, Real& xx, const Real atoll, const Real rtoll, bool dens) + : StepperBase(sys, yy, dydxx, xx, atoll, rtoll, dens), + nseq(IMAXX), cost(IMAXX), + table(KMAXX, n), dydxnew(n), coeff(IMAXX, IMAXX), errfac(2 * IMAXX + 2), ysave(IMAXX, n), + fsave(IMAXX* (2 * IMAXX + 1), n), ipoint(IMAXX + 1), dens((2 * IMAXX + 5)* n) + { + EPS = std::numeric_limits::epsilon(); + if (dense) + for (int i = 0; i < IMAXX; i++) + nseq[i] = 4 * i + 2; + else + for (int i = 0; i < IMAXX; i++) + nseq[i] = 2 * (i + 1); + cost[0] = nseq[0] + 1; + for (int k = 0; k < KMAXX; k++) cost[k + 1] = cost[k] + nseq[k + 1]; + hnext = -1.0e99; + Real logfact = -log10(std::max(1.0e-12, rtol)) * 0.6 + 0.5; + k_targ = std::max(1, std::min(KMAXX - 1, int(logfact))); + for (int k = 0; k < IMAXX; k++) { + for (int l = 0; l < k; l++) { + Real ratio = Real(nseq[k]) / nseq[l]; + coeff[k][l] = 1.0 / (ratio * ratio - 1.0); + } + } + for (int i = 0; i < 2 * IMAXX + 1; i++) { + int ip5 = i + 5; + errfac[i] = 1.0 / (ip5 * ip5); + Real e = 0.5 * sqrt(Real(i + 1) / ip5); + for (int j = 0; j <= i; j++) { + errfac[i] *= e / (j + 1); + } + } + ipoint[0] = 0; + for (int i = 1; i <= IMAXX; i++) { + int njadd = 4 * i - 2; + if (nseq[i - 1] > njadd) njadd++; + ipoint[i] = ipoint[i - 1] + njadd; + } + } + + void step(const Real htry) { + const Real STEPFAC1 = 0.65, STEPFAC2 = 0.94, STEPFAC3 = 0.02, STEPFAC4 = 4.0, + KFAC1 = 0.8, KFAC2 = 0.9; + static bool first_step = true, last_step = false; + static bool forward, reject = false, prev_reject = false; + int i, k; + Real fac, h, hnew, hopt_int, err; + bool firstk; + Vector hopt(IMAXX), work(IMAXX); + Vector ysav(n), yseq(n); + Vector ymid(n), scale(n); + work[0] = 0; + h = htry; + forward = h > 0 ? true : false; + for (i = 0; i < n; i++) ysav[i] = y[i]; + if (h != hnext && !first_step) { + last_step = true; + } + if (reject) { + prev_reject = true; + last_step = false; + } + reject = false; + firstk = true; + hnew = std::abs(h); + interp_error: + while (firstk || reject) { + h = forward ? hnew : -hnew; + firstk = false; + reject = false; + if (std::abs(h) <= std::abs(x) * EPS) + throw("step size underflow in StepperBS"); + int ipt = -1; + for (k = 0; k <= k_targ + 1; k++) { + dy(ysav, h, k, yseq, ipt); + if (k == 0) + y = yseq; + else + for (i = 0; i < n; i++) + table[k - 1][i] = yseq[i]; + if (k != 0) { + polyextr(k, table, y); + err = 0.0; + for (i = 0; i < n; i++) { + scale[i] = atol + rtol * std::max(std::abs(ysav[i]), std::abs(y[i])); + err += POW2((y[i] - table[0][i]) / scale[i]); + } + err = sqrt(err / n); + Real expo = 1.0 / (2 * k + 1); + Real facmin = pow(STEPFAC3, expo); + if (err == 0.0) + fac = 1.0 / facmin; + else { + fac = STEPFAC2 / pow(err / STEPFAC1, expo); + fac = std::max(facmin / STEPFAC4, std::min(1.0 / facmin, fac)); + } + hopt[k] = std::abs(h * fac); + work[k] = cost[k] / hopt[k]; + if ((first_step || last_step) && err <= 1.0) + break; + if (k == k_targ - 1 && !prev_reject && !first_step && !last_step) { + if (err <= 1.0) + break; + else if (err > POW2(nseq[k_targ] * nseq[k_targ + 1] / (nseq[0] * nseq[0]))) { + reject = true; + k_targ = k; + if (k_targ > 1 && work[k - 1] < KFAC1 * work[k]) + k_targ--; + hnew = hopt[k_targ]; + break; + } + } + if (k == k_targ) { + if (err <= 1.0) + break; + else if (err > POW2(nseq[k + 1] / nseq[0])) { + reject = true; + if (k_targ > 1 && work[k - 1] < KFAC1 * work[k]) + k_targ--; + hnew = hopt[k_targ]; + break; + } + } + if (k == k_targ + 1) { + if (err > 1.0) { + reject = true; + if (k_targ > 1 && work[k_targ - 1] < KFAC1 * work[k_targ]) + k_targ--; + hnew = hopt[k_targ]; + } + break; + } + } + } + if (reject) + prev_reject = true; + } + _sys.derivs(x + h, y, dydxnew); + if (dense) { + prepare_dense(h, dydxnew, ysav, scale, k, err); + hopt_int = h / std::max(pow(err, 1.0 / (2 * k + 3)), 0.01); + if (err > 10.0) { + hnew = std::abs(hopt_int); + reject = true; + prev_reject = true; + goto interp_error; + } + } + dydx = dydxnew; + xold = x; + x += h; + hdid = h; + first_step = false; + int kopt; + if (k == 1) + kopt = 2; + else if (k <= k_targ) { + kopt = k; + if (work[k - 1] < KFAC1 * work[k]) + kopt = k - 1; + else if (work[k] < KFAC2 * work[k - 1]) + kopt = std::min(k + 1, KMAXX - 1); + } + else { + kopt = k - 1; + if (k > 2 && work[k - 2] < KFAC1 * work[k - 1]) + kopt = k - 2; + if (work[k] < KFAC2 * work[kopt]) + kopt = std::min(k, KMAXX - 1); + } + if (prev_reject) { + k_targ = std::min(kopt, k); + hnew = std::min(std::abs(h), hopt[k_targ]); + prev_reject = false; + } + else { + if (kopt <= k) + hnew = hopt[kopt]; + else { + if (k < k_targ && work[k] < KFAC2 * work[k - 1]) + hnew = hopt[k] * cost[kopt + 1] / cost[k]; + else + hnew = hopt[k] * cost[kopt] / cost[k]; + } + k_targ = kopt; + } + if (dense) + hnew = std::min(hnew, std::abs(hopt_int)); + if (forward) + hnext = hnew; + else + hnext = -hnew; } - static void VisualizeODESysSolAsMultiFunc(const ODESystemSolution& sol, std::string title, std::string fileName) + virtual void dy(const Vector& y, const Real htot, const int k, Vector& yend, int& ipt) { - std::string name = _pathResultFiles + fileName; - sol.Serialize(name, title); - - #if defined(MML_PLATFORM_WINDOWS) - std::string command = _pathRealFuncViz + " " + name; - system(command.c_str()); - #else - std::cout << "VisualizeODESysSolAsMultiFunc: Not implemented for this OS" << std::endl; - #endif + Vector ym(n), yn(n); + int nstep = nseq[k]; + Real h = htot / nstep; + for (int i = 0; i < n; i++) { + ym[i] = y[i]; + yn[i] = y[i] + h * dydx[i]; + } + Real xnew = x + h; + _sys.derivs(xnew, yn, yend); + Real h2 = 2.0 * h; + for (int nn = 1; nn < nstep; nn++) { + if (dense && nn == nstep / 2) { + for (int i = 0; i < n; i++) + ysave[k][i] = yn[i]; + } + if (dense && std::abs(nn - nstep / 2) <= 2 * k + 1) { + ipt++; + for (int i = 0; i < n; i++) + fsave[ipt][i] = yend[i]; + } + for (int i = 0; i < n; i++) { + Real swap = ym[i] + h2 * yend[i]; + ym[i] = yn[i]; + yn[i] = swap; + } + xnew += h; + _sys.derivs(xnew, yn, yend); + } + if (dense && nstep / 2 <= 2 * k + 1) { + ipt++; + for (int i = 0; i < n; i++) + fsave[ipt][i] = yend[i]; + } + for (int i = 0; i < n; i++) + yend[i] = 0.5 * (ym[i] + yn[i] + h * yend[i]); } - static void VisualizeODESysSolAsParamCurve3(const ODESystemSolution& sol, std::string title, std::string fileName) + void polyextr(const int k, Matrix& table, Vector& last) { - if (sol._sys_dim != 3) - throw std::runtime_error("VisualizeODESysSolAsParamCurve3: system dimension must be 3"); + int l = (int)last.size(); + for (int j = k - 1; j > 0; j--) + for (int i = 0; i < l; i++) + table[j - 1][i] = table[j][i] + coeff[k][j] * (table[j][i] - table[j - 1][i]); + for (int i = 0; i < l; i++) + last[i] = table[0][i] + coeff[k][0] * (table[0][i] - last[i]); + } - std::string name = _pathResultFiles + fileName; - sol.SerializeAsParametricCurve3D(name, title); + virtual void prepare_dense(const Real h, const Vector& dydxnew, const Vector& ysav, const Vector& scale, const int k, Real& error) + { + mu = 2 * k - 1; + for (int i = 0; i < n; i++) { + dens[i] = ysav[i]; + dens[n + i] = h * dydx[i]; + dens[2 * n + i] = y[i]; + dens[3 * n + i] = dydxnew[i] * h; + } + for (int j = 1; j <= k; j++) { + Real dblenj = nseq[j]; + for (int l = j; l >= 1; l--) { + Real factor = POW2(dblenj / nseq[l - 1]) - 1.0; + for (int i = 0; i < n; i++) + ysave[l - 1][i] = ysave[l][i] + (ysave[l][i] - ysave[l - 1][i]) / factor; + } + } + for (int i = 0; i < n; i++) + dens[4 * n + i] = ysave[0][i]; + for (int kmi = 1; kmi <= mu; kmi++) { + int kbeg = (kmi - 1) / 2; + for (int kk = kbeg; kk <= k; kk++) { + Real facnj = pow(nseq[kk] / 2.0, kmi - 1); + int ipt = ipoint[kk + 1] - 2 * kk + kmi - 3; + for (int i = 0; i < n; i++) + ysave[kk][i] = fsave[ipt][i] * facnj; + } + for (int j = kbeg + 1; j <= k; j++) { + Real dblenj = nseq[j]; + for (int l = j; l >= kbeg + 1; l--) { + Real factor = POW2(dblenj / nseq[l - 1]) - 1.0; + for (int i = 0; i < n; i++) + ysave[l - 1][i] = ysave[l][i] + + (ysave[l][i] - ysave[l - 1][i]) / factor; + } + } + for (int i = 0; i < n; i++) + dens[(kmi + 4) * n + i] = ysave[kbeg][i] * h; + if (kmi == mu) continue; + for (int kk = kmi / 2; kk <= k; kk++) { + int lbeg = ipoint[kk + 1] - 1; + int lend = ipoint[kk] + kmi; + if (kmi == 1) lend += 2; + for (int l = lbeg; l >= lend; l -= 2) + for (int i = 0; i < n; i++) + fsave[l][i] = fsave[l][i] - fsave[l - 2][i]; + if (kmi == 1) { + int l = lend - 2; + for (int i = 0; i < n; i++) + fsave[l][i] = fsave[l][i] - dydx[i]; + } + } + for (int kk = kmi / 2; kk <= k; kk++) { + int lbeg = ipoint[kk + 1] - 2; + int lend = ipoint[kk] + kmi + 1; + for (int l = lbeg; l >= lend; l -= 2) + for (int i = 0; i < n; i++) + fsave[l][i] = fsave[l][i] - fsave[l - 2][i]; + } + } + dense_interp(n, dens, mu); + error = 0.0; + if (mu >= 1) { + for (int i = 0; i < n; i++) + error += POW2(dens[(mu + 4) * n + i] / scale[i]); + error = sqrt(error / n) * errfac[mu - 1]; + } + } + virtual Real dense_out(const int i, const Real x, const Real h) { + Real theta = (x - xold) / h; + Real theta1 = 1.0 - theta; + Real yinterp = dens[i] + theta * (dens[n + i] + theta1 * (dens[2 * n + i] * theta + + dens[3 * n + i] * theta1)); + if (mu < 0) + return yinterp; + Real theta05 = theta - 0.5; + Real t4 = POW2(theta * theta1); + Real c = dens[n * (mu + 4) + i]; + for (int j = mu; j > 0; j--) + c = dens[n * (j + 3) + i] + c * theta05 / j; + yinterp += t4 * c; + return yinterp; + } - #if defined(MML_PLATFORM_WINDOWS) - std::string command = _pathParametricCurveViz + " " + name; - system(command.c_str()); - #else - std::cout << "VisualizeODESysSolAsParamCurve3: Not implemented for this OS" << std::endl; - #endif + virtual void dense_interp(const int n, Vector& y, const int imit) { + Real y0, y1, yp0, yp1, ydiff, aspl, bspl, ph0, ph1, ph2, ph3, fac1, fac2; + Vector a(31); + for (int i = 0; i < n; i++) { + y0 = y[i]; + y1 = y[2 * n + i]; + yp0 = y[n + i]; + yp1 = y[3 * n + i]; + ydiff = y1 - y0; + aspl = -yp1 + ydiff; + bspl = yp0 - ydiff; + y[n + i] = ydiff; + y[2 * n + i] = aspl; + y[3 * n + i] = bspl; + if (imit < 0) continue; + ph0 = (y0 + y1) * 0.5 + 0.125 * (aspl + bspl); + ph1 = ydiff + (aspl - bspl) * 0.25; + ph2 = -(yp0 - yp1); + ph3 = 6.0 * (bspl - aspl); + if (imit >= 1) { + a[1] = 16.0 * (y[5 * n + i] - ph1); + if (imit >= 3) { + a[3] = 16.0 * (y[7 * n + i] - ph3 + 3 * a[1]); + for (int im = 5; im <= imit; im += 2) { + fac1 = im * (im - 1) / 2.0; + fac2 = fac1 * (im - 2) * (im - 3) * 2.0; + a[im] = 16.0 * (y[(im + 4) * n + i] + fac1 * a[im - 2] - fac2 * a[im - 4]); + } + } + } + a[0] = (y[4 * n + i] - ph0) * 16.0; + if (imit >= 2) { + a[2] = (y[n * 6 + i] - ph2 + a[0]) * 16.0; + for (int im = 4; im <= imit; im += 2) { + fac1 = im * (im - 1) / 2.0; + fac2 = im * (im - 1) * (im - 2) * (im - 3); + a[im] = (y[n * (im + 4) + i] + a[im - 2] * fac1 - a[im - 4] * fac2) * 16.0; + } + } + for (int im = 0; im <= imit; im++) + y[n * (im + 4) + i] = a[im]; + } } }; } -/////////////////////////// ./include/algorithms/PathIntegration.h /////////////////////////// - - - - -namespace MML -{ - class PathIntegration - { - template - class HelperCurveLen : public IRealFunction - { - const IParametricCurve &_curve; - public: - HelperCurveLen(const IParametricCurve &curve) : _curve(curve) {} - - Real operator()(Real t) const - { - auto tangent_vec = Derivation::DeriveCurve(_curve, t, nullptr); - return tangent_vec.NormL2(); - } - }; - template - class HelperWorkIntegral : public IRealFunction - { - const IScalarFunction &_potential; - const IParametricCurve &_curve; - public: - HelperWorkIntegral(const IScalarFunction &potentialField, const IParametricCurve &curve) : _potential(potentialField), _curve(curve) {} - - Real operator()(Real t) const - { - auto tangent_vec = Derivation::DeriveCurve(_curve, t, nullptr); - auto gradient = ScalarFieldOperations::GradientCart(_potential, _curve(t)); - - return tangent_vec.ScalarProductCartesian(gradient); - } - }; - template - class HelperLineIntegral : public IRealFunction - { - const IVectorFunction &_vector_field; - const IParametricCurve &_curve; - public: - HelperLineIntegral(const IVectorFunction &vectorField, const IParametricCurve &curve) : _vector_field(vectorField), _curve(curve) {} - - Real operator()(Real t) const - { - auto tangent_vec = Derivation::DeriveCurve(_curve, t, nullptr); - auto field_vec = _vector_field(_curve(t)); - - return tangent_vec.ScalarProductCartesian(field_vec); - } - }; - public: - template - static Real ParametricCurveLength(const IParametricCurve &curve, const Real a, const Real b) - { - HelperCurveLen helper(curve); - - return IntegrateTrap(helper, a, b); - } - // TODO - dodati i Mass, prima funkciju gustoce kao param - - static Real WorkIntegral(const IScalarFunction<3> &potentialField, const IParametricCurve<3> &curve, const Real a, const Real b, const Real eps=Defaults::WorkIntegralPrecision) - { - HelperWorkIntegral helper(potentialField, curve); - - return IntegrateTrap(helper, a, b, eps); - } - - static Real LineIntegral(const IVectorFunction<3> &vectorField, const IParametricCurve<3> &curve, const Real a, const Real b, const Real eps=Defaults::LineIntegralPrecision) - { - HelperLineIntegral helper(vectorField, curve); - - return IntegrateTrap(helper, a, b, eps); - } - }; -} // end namespace -/////////////////////////// ./include/algorithms/SurfaceIntegration.h ///////////////////////////#if !defined MML_SURFACE_INTEGRATION_H +/////////////////////////// ./include/algorithms/ODESystemSteppers_Stiff.h /////////////////////////// @@ -12737,3627 +15139,1491 @@ namespace MML namespace MML { - class SurfaceIntegration - { - public: - static Real SurfaceIntegral(const IVectorFunction<3> &vectorField, const IParametricSurface<3> &surface, const Real x1, const Real x2, const Real y1, const Real y2) - { - return 0.0; - } - static Real SurfaceIntegral(const IVectorFunction<3> &vectorField, const Solid3D &solid) - { - Real total = 0.0; - for(int i = 0; i < solid._surfaces.size(); i++) - total += SurfaceIntegral(vectorField, solid._surfaces[i]); - - return total; - } - static Real CalcSurfaceContrib(const IVectorFunction<3>& vectorField, const RectSurface3D& surface) - { - Real result = 0.0; - Vector3Cartesian normal = surface.getNormal(); - Real area = surface.getArea(); - Point3Cartesian center = surface.getCenter(); - - Vector3Cartesian value = vectorField(Vector3Cartesian(center.X(), center.Y(), center.Z())); + struct Ross_constants { + const Real c2 = 0.386; + const Real c3 = 0.21; + const Real c4 = 0.63; + const Real bet2p = 0.0317; + const Real bet3p = 0.0635; + const Real bet4p = 0.3438; + const Real d1 = 0.2500000000000000e+00; + const Real d2 = -0.1043000000000000e+00; + const Real d3 = 0.1035000000000000e+00; + const Real d4 = -0.3620000000000023e-01; + const Real a21 = 0.1544000000000000e+01; + const Real a31 = 0.9466785280815826e+00; + const Real a32 = 0.2557011698983284e+00; + const Real a41 = 0.3314825187068521e+01; + const Real a42 = 0.2896124015972201e+01; + const Real a43 = 0.9986419139977817e+00; + const Real a51 = 0.1221224509226641e+01; + const Real a52 = 0.6019134481288629e+01; + const Real a53 = 0.1253708332932087e+02; + const Real a54 = -0.6878860361058950e+00; + const Real c21 = -0.5668800000000000e+01; + const Real c31 = -0.2430093356833875e+01; + const Real c32 = -0.2063599157091915e+00; + const Real c41 = -0.1073529058151375e+00; + const Real c42 = -0.9594562251023355e+01; + const Real c43 = -0.2047028614809616e+02; + const Real c51 = 0.7496443313967647e+01; + const Real c52 = -0.1024680431464352e+02; + const Real c53 = -0.3399990352819905e+02; + const Real c54 = 0.1170890893206160e+02; + const Real c61 = 0.8083246795921522e+01; + const Real c62 = -0.7981132988064893e+01; + const Real c63 = -0.3152159432874371e+02; + const Real c64 = 0.1631930543123136e+02; + const Real c65 = -0.6058818238834054e+01; + const Real gam = 0.2500000000000000e+00; + const Real d21 = 0.1012623508344586e+02; + const Real d22 = -0.7487995877610167e+01; + const Real d23 = -0.3480091861555747e+02; + const Real d24 = -0.7992771707568823e+01; + const Real d25 = 0.1025137723295662e+01; + const Real d31 = -0.6762803392801253e+00; + const Real d32 = 0.6087714651680015e+01; + const Real d33 = 0.1643084320892478e+02; + const Real d34 = 0.2476722511418386e+02; + const Real d35 = -0.6594389125716872e+01; + }; - Real dotProduct = ScalarProd(normal, value); + // Fourth-order stiffly stable Rosenbrock step for integrating stiff ODEs, with monitoring of local + // truncation error to adjust stepsize. + struct StepperRoss : StepperBase, Ross_constants { + Matrix dfdy; + Vector dfdx; + Vector k1, k2, k3, k4, k5, k6; + Vector cont1, cont2, cont3, cont4; + Matrix a; + + // Input to the constructor are the dependent variable y[0..n-1] and its derivative dydx[0..n-1] + // at the starting value of the independent variable x. Also input are the absolute and relative + // tolerances, atol and rtol, and the boolean dense, which is true if dense output is required + StepperRoss(IODESystem& sys, Vector& yy, Vector& dydxx, Real& xx, const Real atoll, const Real rtoll, bool dens) + : StepperBase(sys, yy, dydxx, xx, atoll, rtoll, dens), + dfdy(n, n), dfdx(n), k1(n), k2(n), + k3(n), k4(n), k5(n), k6(n), cont1(n), cont2(n), cont3(n), cont4(n), a(n, n) + { + EPS = std::numeric_limits::epsilon(); + } - result = dotProduct * area; + // Attempts a step with stepsize htry. On output, y and x are replaced by their new values, hdid + // is the stepsize that was actually accomplished, and hnext is the estimated next stepsize. + void step(const Real htry) { + Vector dydxnew(n); + Real h = htry; + dynamic_cast(_sys).jacobian(x, y, dfdx, dfdy); + for (;;) { + dy(h); + Real err = error(); + if (con.success(err, h)) break; + if (std::abs(h) <= std::abs(x) * EPS) + throw("stepsize underflow in StepperRoss"); + } + _sys.derivs(x + h, yout, dydxnew); + if (dense) + prepare_dense(h, dydxnew); + dydx = dydxnew; + y = yout; + xold = x; + x += (hdid = h); + hnext = con.hnext; + } - return result; - } + // Given values for n variables y[0..n-1] and their derivatives dydx[0..n-1] known at x, use the + // fourth-order stiffly stable Rosenbrock method to advance the solution over an interval h and + // store the incremented variables in yout[0..n-1]. Also store an estimate of the local truncation + // error in yerr using the embedded third-order method + void dy(const Real h) { + Vector ytemp(n), dydxnew(n); + int i; + for (i = 0; i < n; i++) { + for (int j = 0; j < n; j++) a[i][j] = -dfdy[i][j]; + a[i][i] += 1.0 / (gam * h); + } + LUDecompositionSolver alu(a); + for (i = 0; i < n; i++) + ytemp[i] = dydx[i] + h * d1 * dfdx[i]; + alu.Solve(ytemp, k1); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + a21 * k1[i]; + _sys.derivs(x + c2 * h, ytemp, dydxnew); + for (i = 0; i < n; i++) + ytemp[i] = dydxnew[i] + h * d2 * dfdx[i] + c21 * k1[i] / h; + alu.Solve(ytemp, k2); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + a31 * k1[i] + a32 * k2[i]; + _sys.derivs(x + c3 * h, ytemp, dydxnew); + for (i = 0; i < n; i++) + ytemp[i] = dydxnew[i] + h * d3 * dfdx[i] + (c31 * k1[i] + c32 * k2[i]) / h; + alu.Solve(ytemp, k3); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + a41 * k1[i] + a42 * k2[i] + a43 * k3[i]; + _sys.derivs(x + c4 * h, ytemp, dydxnew); + for (i = 0; i < n; i++) + ytemp[i] = dydxnew[i] + h * d4 * dfdx[i] + (c41 * k1[i] + c42 * k2[i] + c43 * k3[i]) / h; + alu.Solve(ytemp, k4); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + a51 * k1[i] + a52 * k2[i] + a53 * k3[i] + a54 * k4[i]; + Real xph = x + h; + _sys.derivs(xph, ytemp, dydxnew); + for (i = 0; i < n; i++) + k6[i] = dydxnew[i] + (c51 * k1[i] + c52 * k2[i] + c53 * k3[i] + c54 * k4[i]) / h; + alu.Solve(k6, k5); + for (i = 0; i < n; i++) + ytemp[i] += k5[i]; + _sys.derivs(xph, ytemp, dydxnew); + for (i = 0; i < n; i++) + k6[i] = dydxnew[i] + (c61 * k1[i] + c62 * k2[i] + c63 * k3[i] + c64 * k4[i] + c65 * k5[i]) / h; + alu.Solve(k6, yerr); + for (i = 0; i < n; i++) + yout[i] = ytemp[i] + yerr[i]; + } - static Real SurfaceIntegralImproveRecursively(const IVectorFunction<3>& vectorField, const RectSurface3D& surface, Real prev_value, int level) - { - // now we will calculate integral for surface divided to 4 equal parts - Real result = 0.0; - Point3Cartesian pnt_mid12 = (surface._pnt1 + surface._pnt2) / 2.0; - Point3Cartesian pnt_mid23 = (surface._pnt2 + surface._pnt3) / 2.0; - Point3Cartesian pnt_mid34 = (surface._pnt3 + surface._pnt4) / 2.0; - Point3Cartesian pnt_mid41 = (surface._pnt4 + surface._pnt1) / 2.0; - Point3Cartesian center = surface.getCenter(); + // Store coefficients of interpolating polynomial for dense output in cont1...cont4. + void prepare_dense(const Real h, const Vector& dydxnew) { + for (int i = 0; i < n; i++) { + cont1[i] = y[i]; + cont2[i] = yout[i]; + cont3[i] = d21 * k1[i] + d22 * k2[i] + d23 * k3[i] + d24 * k4[i] + d25 * k5[i]; + cont4[i] = d31 * k1[i] + d32 * k2[i] + d33 * k3[i] + d34 * k4[i] + d35 * k5[i]; + } + } - RectSurface3D s1(surface._pnt1, pnt_mid12, center, pnt_mid41); - RectSurface3D s2(pnt_mid12, surface._pnt2, pnt_mid23, center); - RectSurface3D s3(center, pnt_mid23, surface._pnt3, pnt_mid34); - RectSurface3D s4(pnt_mid41, center, pnt_mid34, surface._pnt4); + // Evaluate interpolating polynomial for y[i] at location x, where xold <= x <= xold + h + Real dense_out(const int i, const Real x, const Real h) { + Real s = (x - xold) / h; + Real s1 = 1.0 - s; + return cont1[i] * s1 + s * (cont2[i] + s1 * (cont3[i] + s * cont4[i])); + } - result += CalcSurfaceContrib(vectorField, s1); - result += CalcSurfaceContrib(vectorField, s2); - result += CalcSurfaceContrib(vectorField, s3); - result += CalcSurfaceContrib(vectorField, s4); + // Use yerr to compute norm of scaled error estimate. A value less than one means the step was successful + Real error() { + Real err = 0.0, sk; + for (int i = 0; i < n; i++) { + sk = atol + rtol * std::max(std::abs(y[i]), std::abs(yout[i])); + err += POW2(yerr[i] / sk); + } + return sqrt(err / n); + } - // compare to prev_value - if (fabs(result - prev_value) < 0.0001 || level == 0) - { - return result; + struct Controller { + Real hnext; + bool reject; + bool first_step; + Real errold; + Real hold; + Controller() : reject(false), first_step(true) {} + bool success(Real err, Real& h) { + static const Real safe = 0.9, fac1 = 5.0, fac2 = 1.0 / 6.0; + Real fac = std::max(fac2, std::min(fac1, pow(err, 0.25) / safe)); + Real hnew = h / fac; + if (err <= 1.0) { + if (!first_step) { + Real facpred = (hold / h) * pow(err * err / errold, 0.25) / safe; + facpred = std::max(fac2, std::min(fac1, facpred)); + fac = std::max(fac, facpred); + hnew = h / fac; + } + first_step = false; + hold = h; + errold = std::max(0.01, err); + if (reject) + hnew = (h >= 0.0 ? std::min(hnew, h) : std::max(hnew, h)); + hnext = hnew; + reject = false; + return true; + } + else { + h = hnew; + reject = true; + return false; + } } - else - { - Real new_result = 0.0; - - new_result += SurfaceIntegralImproveRecursively(vectorField, s1, result, level - 1); - new_result += SurfaceIntegralImproveRecursively(vectorField, s2, result, level - 1); - new_result += SurfaceIntegralImproveRecursively(vectorField, s3, result, level - 1); - new_result += SurfaceIntegralImproveRecursively(vectorField, s4, result, level - 1); - - return new_result; - } + }; + Controller con; + }; - return result; - } + struct StepperSemiImplExtr : StepperBase { + static const int KMAXX = 12, IMAXX = KMAXX + 1; + int k_targ; + Vector nseq; + Vector cost; + Matrix table; + Matrix dfdy; + Vector dfdx; + Real jac_redo; + bool calcjac; + Real theta; + Matrix a; + int kright; + Matrix coeff; + Matrix fsave; + Vector dens; + Vector factrl; + + StepperSemiImplExtr(IODESystem& sys, Vector& yy, Vector& dydxx, Real& xx, + const Real atoll, const Real rtoll, bool dens) + : StepperBase(sys, yy, dydxx, xx, atoll, rtoll, dens), nseq(IMAXX), cost(IMAXX), + table(KMAXX, n), dfdy(n, n), dfdx(n), calcjac(false), + a(n, n), coeff(IMAXX, IMAXX), + fsave((IMAXX - 1)* (IMAXX + 1) / 2 + 2, n), dens((IMAXX + 2)* n), factrl(IMAXX) + { + static const Real costfunc = 1.0, costjac = 5.0, costlu = 1.0, costsolve = 1.0; + EPS = std::numeric_limits::epsilon(); + jac_redo = std::min(1.0e-4, rtol); + theta = 2.0 * jac_redo; + nseq[0] = 2; + nseq[1] = 3; + for (int i = 2; i < IMAXX; i++) + nseq[i] = 2 * nseq[i - 2]; + cost[0] = costjac + costlu + nseq[0] * (costfunc + costsolve); + for (int k = 0; k < KMAXX; k++) + cost[k + 1] = cost[k] + (nseq[k + 1] - 1) * (costfunc + costsolve) + costlu; + hnext = -1.0e99; + Real logfact = -log10(rtol + atol) * 0.6 + 0.5; + k_targ = std::max(1, std::min(KMAXX - 1, int(logfact))); + for (int k = 0; k < IMAXX; k++) { + for (int l = 0; l < k; l++) { + Real ratio = Real(nseq[k]) / nseq[l]; + coeff[k][l] = 1.0 / (ratio - 1.0); + } + } + factrl[0] = 1.0; + for (int k = 0; k < IMAXX - 1; k++) + factrl[k + 1] = (k + 1) * factrl[k]; + } + void step(const Real htry) { + const Real STEPFAC1 = 0.6, STEPFAC2 = 0.93, STEPFAC3 = 0.1, STEPFAC4 = 4.0, + STEPFAC5 = 0.5, KFAC1 = 0.7, KFAC2 = 0.9; + static bool first_step = true, last_step = false; + static bool forward, reject = false, prev_reject = false; + static Real errold; + int i, k; + Real fac, h, hnew, err; + bool firstk; + Vector hopt(IMAXX), work(IMAXX); + Vector ysav(n), yseq(n); + Vector ymid(n), scale(n); + work[0] = 1.e30; + h = htry; + forward = h > 0 ? true : false; + for (i = 0; i < n; i++) ysav[i] = y[i]; + if (h != hnext && !first_step) { + last_step = true; + } + if (reject) { + prev_reject = true; + last_step = false; + theta = 2.0 * jac_redo; + } + for (i = 0; i < n; i++) + scale[i] = atol + rtol * std::abs(y[i]); + reject = false; + firstk = true; + hnew = std::abs(h); + compute_jac: + if (theta > jac_redo && !calcjac) { + dynamic_cast(_sys).jacobian(x, y, dfdx, dfdy); + + //_sys.jacobian(x,y,dfdx,dfdy); + calcjac = true; + } + while (firstk || reject) { + h = forward ? hnew : -hnew; + firstk = false; + reject = false; + if (std::abs(h) <= std::abs(x) * EPS) + throw("step size underflow in StepperSemiImplExtr"); + int ipt = -1; + for (k = 0; k <= k_targ + 1; k++) { + bool success = dy(ysav, h, k, yseq, ipt, scale); + if (!success) { + reject = true; + hnew = std::abs(h) * STEPFAC5; + break; + } + if (k == 0) + y = yseq; + else + for (i = 0; i < n; i++) + table[k - 1][i] = yseq[i]; + if (k != 0) { + polyextr(k, table, y); + err = 0.0; + for (i = 0; i < n; i++) { + scale[i] = atol + rtol * std::abs(ysav[i]); + err += POW2((y[i] - table[0][i]) / scale[i]); + } + err = sqrt(err / n); + if (err > 1.0 / EPS || (k > 1 && err >= errold)) { + reject = true; + hnew = std::abs(h) * STEPFAC5; + break; + } + errold = std::max(4.0 * err, 1.0); + Real expo = 1.0 / (k + 1); + Real facmin = pow(STEPFAC3, expo); + if (err == 0.0) + fac = 1.0 / facmin; + else { + fac = STEPFAC2 / pow(err / STEPFAC1, expo); + fac = std::max(facmin / STEPFAC4, std::min(1.0 / facmin, fac)); + } + hopt[k] = std::abs(h * fac); + work[k] = cost[k] / hopt[k]; + if ((first_step || last_step) && err <= 1.0) + break; + if (k == k_targ - 1 && !prev_reject && !first_step && !last_step) { + if (err <= 1.0) + break; + else if (err > nseq[k_targ] * nseq[k_targ + 1] * 4.0) { + reject = true; + k_targ = k; + if (k_targ > 1 && work[k - 1] < KFAC1 * work[k]) + k_targ--; + hnew = hopt[k_targ]; + break; + } + } + if (k == k_targ) { + if (err <= 1.0) + break; + else if (err > nseq[k + 1] * 2.0) { + reject = true; + if (k_targ > 1 && work[k - 1] < KFAC1 * work[k]) + k_targ--; + hnew = hopt[k_targ]; + break; + } + } + if (k == k_targ + 1) { + if (err > 1.0) { + reject = true; + if (k_targ > 1 && work[k_targ - 1] < KFAC1 * work[k_targ]) + k_targ--; + hnew = hopt[k_targ]; + } + break; + } + } + } + if (reject) { + prev_reject = true; + if (!calcjac) { + theta = 2.0 * jac_redo; + goto compute_jac; + } + } + } + calcjac = false; + if (dense) + prepare_dense(h, ysav, scale, k, err); + xold = x; + x += h; + hdid = h; + first_step = false; + int kopt; + if (k == 1) + kopt = 2; + else if (k <= k_targ) { + kopt = k; + if (work[k - 1] < KFAC1 * work[k]) + kopt = k - 1; + else if (work[k] < KFAC2 * work[k - 1]) + kopt = std::min(k + 1, KMAXX - 1); + } + else { + kopt = k - 1; + if (k > 2 && work[k - 2] < KFAC1 * work[k - 1]) + kopt = k - 2; + if (work[k] < KFAC2 * work[kopt]) + kopt = std::min(k, KMAXX - 1); + } + if (prev_reject) { + k_targ = std::min(kopt, k); + hnew = std::min(std::abs(h), hopt[k_targ]); + prev_reject = false; + } + else { + if (kopt <= k) + hnew = hopt[kopt]; + else { + if (k < k_targ && work[k] < KFAC2 * work[k - 1]) + hnew = hopt[k] * cost[kopt + 1] / cost[k]; + else + hnew = hopt[k] * cost[kopt] / cost[k]; + } + k_targ = kopt; + } + if (forward) + hnext = hnew; + else + hnext = -hnew; + } - static Real SurfaceIntegral(const IVectorFunction<3>& vectorField, const RectSurface3D& surface) - { - Real result = CalcSurfaceContrib(vectorField, surface); + bool dy(const Vector& y, const Real htot, const int k, Vector& yend, int& ipt, const Vector& scale) + { + Vector del(n), ytemp(n), dytemp(n); + int nstep = nseq[k]; + Real h = htot / nstep; + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) a[i][j] = -dfdy[i][j]; + a[i][i] += 1.0 / h; + } + LUDecompositionSolver alu(a); + Real xnew = x + h; + _sys.derivs(xnew, y, del); + for (int i = 0; i < n; i++) + ytemp[i] = y[i]; + alu.Solve(del, del); + if (dense && nstep == k + 1) { + ipt++; + for (int i = 0; i < n; i++) + fsave[ipt][i] = del[i]; + } + for (int nn = 1; nn < nstep; nn++) { + for (int i = 0; i < n; i++) + ytemp[i] += del[i]; + xnew += h; + _sys.derivs(xnew, ytemp, yend); + if (nn == 1 && k <= 1) { + Real del1 = 0.0; + for (int i = 0; i < n; i++) + del1 += POW2(del[i] / scale[i]); + del1 = sqrt(del1); + _sys.derivs(x + h, ytemp, dytemp); + for (int i = 0; i < n; i++) + del[i] = dytemp[i] - del[i] / h; + alu.Solve(del, del); + Real del2 = 0.0; + for (int i = 0; i < n; i++) + del2 += POW2(del[i] / scale[i]); + del2 = sqrt(del2); + theta = del2 / std::max(1.0, del1); + if (theta > 1.0) + return false; + } + alu.Solve(yend, del); + if (dense && nn >= nstep - k - 1) { + ipt++; + for (int i = 0; i < n; i++) + fsave[ipt][i] = del[i]; + } + } + for (int i = 0; i < n; i++) + yend[i] = ytemp[i] + del[i]; + return true; + } + void polyextr(const int k, Matrix& table, Vector& last) { + int l = (int)last.size(); + for (int j = k - 1; j > 0; j--) + for (int i = 0; i < l; i++) + table[j - 1][i] = table[j][i] + coeff[k][j] * (table[j][i] - table[j - 1][i]); + for (int i = 0; i < l; i++) + last[i] = table[0][i] + coeff[k][0] * (table[0][i] - last[i]); + } - return SurfaceIntegralImproveRecursively(vectorField, surface, result, 7); - } - }; -} // end namespace -/////////////////////////// ./include/algorithms/VolumeIntegration.h /////////////////////////// + void prepare_dense(const Real h, const Vector& ysav, const Vector& scale, + const int k, Real& error) { + kright = k; + for (int i = 0; i < n; i++) { + dens[i] = ysav[i]; + dens[n + i] = y[i]; + } + for (int klr = 0; klr < kright; klr++) { + if (klr >= 1) { + for (int kk = klr; kk <= k; kk++) { + int lbeg = ((kk + 3) * kk) / 2; + int lend = lbeg - kk + 1; + for (int l = lbeg; l >= lend; l--) + for (int i = 0; i < n; i++) + fsave[l][i] = fsave[l][i] - fsave[l - 1][i]; + } + } + for (int kk = klr; kk <= k; kk++) { + Real facnj = nseq[kk]; + facnj = pow(facnj, klr + 1) / factrl[klr + 1]; + int ipt = ((kk + 3) * kk) / 2; + int krn = (kk + 2) * n; + for (int i = 0; i < n; i++) { + dens[krn + i] = fsave[ipt][i] * facnj; + } + } + for (int j = klr + 1; j <= k; j++) { + Real dblenj = nseq[j]; + for (int l = j; l >= klr + 1; l--) { + Real factor = dblenj / nseq[l - 1] - 1.0; + for (int i = 0; i < n; i++) { + int krn = (l + 2) * n + i; + dens[krn - n] = dens[krn] + (dens[krn] - dens[krn - n]) / factor; + } + } + } + } + for (int in = 0; in < n; in++) { + for (int j = 1; j <= kright + 1; j++) { + int ii = n * j + in; + dens[ii] = dens[ii] - dens[ii - n]; + } + } + } + Real dense_out(const int i, const Real x, const Real h) { + Real theta = (x - xold) / h; + int k = kright; + Real yinterp = dens[(k + 1) * n + i]; + for (int j = 1; j <= k; j++) + yinterp = dens[(k + 1 - j) * n + i] + yinterp * (theta - 1.0); + return dens[i] + yinterp * theta; + } + void dense_interp(const int n, Vector& y, const int imit); + }; +} +/////////////////////////// ./include/algorithms/ODESystemSolver.h /////////////////////////// namespace MML { - class VolumeIntegration - { - - public: - static Real VolumeIntegral(const IScalarFunction<3> &scalarField, const Solid3D &solid) - { - return 0.0; - } - }; -} // end namespace -/////////////////////////// ./include/algorithms/EigenSystemSolvers.h /////////////////////////// - + struct Output { + // TODO - MED, LAKO, sve privatizirati + int kmax; + int _nvar; + int nsave; -// Given the eigenvalues d[0..n-1] and (optionally) the eigenvectors v[0..n-1][0..n-1] as determined by Jacobi (÷11.1) or tqli (÷11.4), this routine sorts the eigenvalues into descending -// order and rearranges the columns of v correspondingly. The method is straight insertion. -static void eigsrt(MML::Vector &d, MML::Matrix *v = NULL) -{ - int k; - int n = (int)d.size(); - for (int i = 0; i < n - 1; i++) - { - Real p = d[k = i]; - for (int j = i; j < n; j++) - if (d[j] >= p) - p = d[k = j]; - if (k != i) - { - d[k] = d[i]; - d[i] = p; - if (v != NULL) - for (int j = 0; j < n; j++) - { - p = (*v)[j][i]; - (*v)[j][i] = (*v)[j][k]; - (*v)[j][k] = p; - } - } - } -} + int nok; + int nbad; + int nstp; -namespace MML -{ - // Computes all eigenvalues and eigenvectors of a real symmetric matrix by Jacobi’s method. - struct Jacobi - { - const int n; - Matrix a, v; - Vector d; - int nrot; - const Real EPS; - - // Computes all eigenvalues and eigenvectors of a real symmetric matrix a[0..n-1][0..n-1]. - // On output, d[0..n-1] contains the eigenvalues of a sorted into descending order, while - // v[0..n-1][0..n-1] is a matrix whose columns contain the corresponding normalized eigenvectors. nrot contains the number of Jacobi rotations that were required. Only the upper - // triangle of a is accessed. - Jacobi(const Matrix &aa) : n(aa.RowNum()), a(aa), v(n, n), d(n), nrot(0), - EPS(std::numeric_limits::epsilon()) - { - int i, j, ip, iq; - Real tresh, theta, tau, t, sm, s, h, g, c; - Vector b(n), z(n); - for (ip = 0; ip < n; ip++) - { - for (iq = 0; iq < n; iq++) - v[ip][iq] = 0.0; - v[ip][ip] = 1.0; - } - for (ip = 0; ip < n; ip++) - { - b[ip] = d[ip] = a[ip][ip]; - z[ip] = 0.0; - } - for (i = 1; i <= 50; i++) - { - sm = 0.0; - for (ip = 0; ip < n - 1; ip++) - { - for (iq = ip + 1; iq < n; iq++) - sm += std::abs(a[ip][iq]); - } - if (sm == 0.0) - { - eigsrt(d, &v); - return; - } - if (i < 4) - tresh = 0.2 * sm / (n * n); - else - tresh = 0.0; - for (ip = 0; ip < n - 1; ip++) - { - for (iq = ip + 1; iq < n; iq++) - { - g = 100.0 * std::abs(a[ip][iq]); - if (i > 4 && g <= EPS * std::abs(d[ip]) && g <= EPS * std::abs(d[iq])) - a[ip][iq] = 0.0; - else if (std::abs(a[ip][iq]) > tresh) - { - h = d[iq] - d[ip]; - if (g <= EPS * std::abs(h)) - t = (a[ip][iq]) / h; - else - { - theta = 0.5 * h / (a[ip][iq]); - t = 1.0 / (std::abs(theta) + sqrt(1.0 + theta * theta)); - if (theta < 0.0) - t = -t; - } - c = 1.0 / sqrt(1 + t * t); - s = t * c; - tau = s / (1.0 + c); - h = t * a[ip][iq]; - z[ip] -= h; - z[iq] += h; - d[ip] -= h; - d[iq] += h; - a[ip][iq] = 0.0; - for (j = 0; j < ip; j++) - rot(a, s, tau, j, ip, j, iq); - for (j = ip + 1; j < iq; j++) - rot(a, s, tau, ip, j, j, iq); - for (j = iq + 1; j < n; j++) - rot(a, s, tau, ip, j, iq, j); - for (j = 0; j < n; j++) - rot(v, s, tau, j, ip, j, iq); - ++nrot; - } - } - } - for (ip = 0; ip < n; ip++) - { - b[ip] += z[ip]; - d[ip] = b[ip]; - z[ip] = 0.0; - } - } - throw("Too many iterations in routine jacobi"); - } - inline void rot(Matrix &a, const Real s, const Real tau, const int i, - const int j, const int k, const int l) - { - Real g = a[i][j]; - Real h = a[k][l]; - a[i][j] = g - s * (h + g * tau); - a[k][l] = h + s * (g - h * tau); - } - }; + bool dense; + int count; - // Computes all eigenvalues and eigenvectors of a real symmetric matrix by reduction to tridiagonal - // form followed by QL iteration. - class SymmMatEigenSolver - { - public: - int n; - Matrix z; - Vector d, e; - bool yesvecs; - - Vector getEigenvalues() const { return d; } - Vector getEigenvector(int i) const - { - Vector res = z.VectorFromColumn(i); - return res; - } + Real x1, x2, xout, dxout; - public: - // Computes all eigenvalues and eigenvectors of a real symmetric matrix a[0..n-1][0..n-1] - // by reduction to tridiagonal form followed by QL iteration. On output, d[0..n-1] contains - // the eigenvalues of a sorted into descending order, while z[0..n-1][0..n-1] is a matrix - // whose columns contain the corresponding normalized eigenvectors. If yesvecs is input as - // true (the default), then the eigenvectors are computed. If yesvecs is input as false, only - // the eigenvalues are computed. - SymmMatEigenSolver(const MatrixSym &a, bool yesvec = true) : n(a.RowNum()), d(n), e(n), yesvecs(yesvec) - { - z = a.GetAsMatrix(); + Vector xsave; + Matrix ysave; - tred2(); - tqli(); - sort(); - } + Output() : kmax(-1), dense(false), count(0) {} - // Computes all eigenvalues and (optionally) eigenvectors of a real, symmetric, tridiagonal - // matrix by QL iteration. On input, dd[0..n-1] contains the diagonal elements of the tridiagonal matrix. - // The vector ee[0..n-1] inputs the subdiagonal elements of the tridiagonal matrix, with ee[0] arbitrary. - // Output is the same as the constructor above. - SymmMatEigenSolver(Vector &dd, Vector &ee, bool yesvec = true) : n((int)dd.size()), d(dd), e(ee), z(n, n), yesvecs(yesvec) - { - for (int i = 0; i < n; i++) - z[i][i] = 1.0; - tqli(); - sort(); - } - void sort() - { - if (yesvecs) - eigsrt(d, &z); - else - eigsrt(d); - } + // Constructor provides dense output at nsave equally spaced intervals. If nsave <= 0, output + // is saved only at the actual integration steps. + Output(const int nsavee) : kmax(50), nsave(nsavee), count(0), xsave(kmax), nok(0), nbad(0) { + dense = nsave > 0 ? true : false; + } + void init(const int neqn, const Real xlo, const Real xhi) { + _nvar = neqn; + if (kmax == -1) return; + ysave.Resize(_nvar, kmax); + if (dense) { + x1 = xlo; + x2 = xhi; + xout = x1; + dxout = (x2 - x1) / nsave; + } + } + void resize() { + int kold = kmax; + kmax *= 2; + + Vector tempvec(xsave); + xsave.Resize(kmax); + for (int k = 0; k < kold; k++) + xsave[k] = tempvec[k]; + + Matrix tempmat(ysave); + ysave.Resize(_nvar, kmax); + for (int i = 0; i < _nvar; i++) + for (int k = 0; k < kold; k++) + ysave[i][k] = tempmat[i][k]; + } - // Householder reduction of a real symmetric matrix z[0..n-1][0..n-1]. (The input matrix A - // to Symmeig is stored in z.) On output, z is replaced by the orthogonal matrix Q effecting - // the transformation. d[0..n-1] contains the diagonal elements of the tridiagonal matrix and - // e[0..n-1] the off-diagonal elements, with e[0]=0. If yesvecs is false, so that only eigenvalues - // will subsequently be determined, several statements are omitted, in which case z contains no - // useful information on output. - void tred2() - { - int l, k, j, i; - Real scale, hh, h, g, f; - for (i = n - 1; i > 0; i--) - { - l = i - 1; - h = scale = 0.0; - if (l > 0) - { - for (k = 0; k < i; k++) - scale += std::abs(z[i][k]); - if (scale == 0.0) - e[i] = z[i][l]; - else - { - for (k = 0; k < i; k++) - { - z[i][k] /= scale; - h += z[i][k] * z[i][k]; - } - f = z[i][l]; - g = (f >= 0.0 ? -sqrt(h) : sqrt(h)); - e[i] = scale * g; - h -= f * g; - z[i][l] = f - g; - f = 0.0; - for (j = 0; j < i; j++) - { - if (yesvecs) - z[j][i] = z[i][j] / h; - g = 0.0; - for (k = 0; k < j + 1; k++) - g += z[j][k] * z[i][k]; - for (k = j + 1; k < i; k++) - g += z[k][j] * z[i][k]; - e[j] = g / h; - f += e[j] * z[i][j]; - } - hh = f / (h + h); - for (j = 0; j < i; j++) - { - f = z[i][j]; - e[j] = g = e[j] - hh * f; - for (k = 0; k < j + 1; k++) - z[j][k] -= (f * e[k] + g * z[i][k]); - } - } - } - else - e[i] = z[i][l]; - d[i] = h; - } - if (yesvecs) - d[0] = 0.0; - e[0] = 0.0; - for (i = 0; i < n; i++) - { - if (yesvecs) - { - if (d[i] != 0.0) - { - for (j = 0; j < i; j++) - { - g = 0.0; - for (k = 0; k < i; k++) - g += z[i][k] * z[k][j]; - for (k = 0; k < i; k++) - z[k][j] -= g * z[k][i]; - } - } - d[i] = z[i][i]; - z[i][i] = 1.0; - for (j = 0; j < i; j++) - z[j][i] = z[i][j] = 0.0; - } - else - { - d[i] = z[i][i]; - } - } - } + // Invokes dense_out function of stepper routine to produce output at xout. Normally called + // by out rather than directly. Assumes that xout is between xold and xold+h, where the + // stepper must keep track of xold, the location of the previous step, and x=xold+h, the + // current step + void save_dense(StepperBase& s, const Real xout, const Real h) { + if (count == kmax) resize(); + for (int i = 0; i < _nvar; i++) + ysave[i][count] = s.dense_out(i, xout, h); + xsave[count++] = xout; + } - // QL algorithm with implicit shifts to determine the eigenvalues and (optionally) the eigenvectors - // of a real, symmetric, tridiagonal matrix, or of a real symmetric matrix previously reduced by - // tred2 (÷11.3). On input, d[0..n-1] contains the diagonal elements of the tridiagonal matrix. - // On output, it returns the eigenvalues. The vector e[0..n-1] inputs the subdiagonal elements - // of the tridiagonal matrix, with e[0] arbitrary. On output e is destroyed. If the eigenvectors of - // a tridiagonal matrix are desired, the matrix z[0..n-1][0..n-1] is input as the identity matrix. - // If the eigenvectors of a matrix that has been reduced by tred2 are required, then z is input as - // the matrix output by tred2. In either case, column k of z returns the normalized eigenvector - // corresponding to d[k] - void tqli() - { - int m, l, iter, i, k; - Real s, r, p, g, f, dd, c, b; - const Real EPS = std::numeric_limits::epsilon(); - for (i = 1; i < n; i++) - e[i - 1] = e[i]; - e[n - 1] = 0.0; - for (l = 0; l < n; l++) - { - iter = 0; - do - { - for (m = l; m < n - 1; m++) - { - dd = std::abs(d[m]) + std::abs(d[m + 1]); - if (std::abs(e[m]) <= EPS * dd) - break; - } - if (m != l) - { - if (iter++ == 30) - throw("Too many iterations in tqli"); - g = (d[l + 1] - d[l]) / (2.0 * e[l]); - r = pythag(g, 1.0); - g = d[m] - d[l] + e[l] / (g + SIGN(r, g)); - s = c = 1.0; - p = 0.0; - for (i = m - 1; i >= l; i--) - { - f = s * e[i]; - b = c * e[i]; - e[i + 1] = (r = pythag(f, g)); - if (r == 0.0) - { - d[i + 1] -= p; - e[m] = 0.0; - break; - } - s = f / r; - c = g / r; - g = d[i + 1] - p; - r = (d[i] - g) * s + 2.0 * c * b; - d[i + 1] = g + (p = s * r); - g = c * r - b; - if (yesvecs) - { - for (k = 0; k < n; k++) - { - f = z[k][i + 1]; - z[k][i + 1] = s * z[k][i] + c * f; - z[k][i] = c * z[k][i] - s * f; - } - } - } - if (r == 0.0 && i >= l) - continue; - d[l] -= p; - e[l] = g; - e[m] = 0.0; - } - } while (m != l); - } - } - Real pythag(const Real a, const Real b) - { - Real absa = std::abs(a), absb = std::abs(b); - return (absa > absb ? absa * sqrt(1.0 + POW2(absb / absa)) : (absb == 0.0 ? 0.0 : absb * sqrt(1.0 + POW2(absa / absb)))); - } - }; - ////////////////////////////////////////////////////////////////////////////// + // Saves values of current x and y. + void save(const Real x, const Vector& y) { + if (kmax <= 0) return; + if (count == kmax) resize(); + for (int i = 0; i < _nvar; i++) + ysave[i][count] = y[i]; + xsave[count++] = x; + } - // Computes all eigenvalues and eigenvectors of a real nonsymmetric matrix by reduction to Hessenberg form followed by QR iteration. - class EigenSolver - { - public: - int n; - Matrix a, zz; - Vector wri; - Vector scale; - Vector perm; - bool yesvecs, hessen; - - bool isRealEigenvalue(int ind) const { return wri[ind].imag() == 0.0; } - Vector getEigenvalues() const { return wri; } - - int getNumReal() const - { - int res = 0; - for (int i = 0; i < n; i++) - if(wri[i].imag() == 0.0 ) - res++; - return res; - } - int getNumComplex() const { - return n - getNumReal(); - } + // Typically called by Odeint to produce dense output. Input variables are nstp, the current + // step number, the current values of x and y, the stepper s, and the stepsize h. A call with + // nstp=-1 saves the initial values. The routine checks whether x is greater than the desired + // output point xout. If so, it calls save_dense. + void out(const int nstp, const Real x, const Vector& y, StepperBase& s, const Real h) { + if (!dense) + throw("dense output not set in Output!"); + if (nstp == -1) { + save(x, y); + xout += dxout; + } + else { + while ((x - xout) * (x2 - x1) > 0.0) { + save_dense(s, xout, h); + xout += dxout; + } + } + } + }; - Vector getRealEigenvalues() const - { - Vector res(getNumReal()); - int cnt = 0; - for (int i = 0; i < n; i++) - if(wri[i].imag() == 0.0 ) - res[cnt++] = wri[i].real(); - return res; - } - Vector getComplexEigenvalues() const - { - Vector res(getNumComplex()); - int cnt = 0; - for (int i = 0; i < n; i++) - if(wri[i].imag() != 0.0 ) - res[cnt++] = wri[i]; - return res; - } + template + class ODESystemSolver { + static inline const Real EPS = std::numeric_limits::epsilon(); + static const int MAXSTP = 50000; - Vector getEigenvector(int ind) const - { - Vector res(n); - - if( isRealEigenvalue(ind) ) - for (int i = 0; i < n; i++) - res[i] = zz(i,ind); - else - { - // count how many real eigenvalues are there before this one - int cnt = 0; - for (int i = 0; i < ind; i++) - if( isRealEigenvalue(i) ) - cnt++; - if( cnt % 2 == 0) - { - if( ind % 2 == 0) - { - for (int i = 0; i < n; i++) - res[i] = Complex(zz(i,ind) , zz(i,ind+1)); - } - else - { - for (int i = 0; i < n; i++) - res[i] = Complex(zz(i,ind-1) , -zz(i,ind)); - } - } - else { - if( ind % 2 == 0 ) - { - for (int i = 0; i < n; i++) - res[i] = Complex(zz(i,ind-1) , -zz(i,ind)); - } - else - { - for (int i = 0; i < n; i++) - res[i] = Complex(zz(i,ind) , zz(i,ind+1)); - } - } - } + Real _curr_x; // used as reference by stepper! + Vector _curr_y; + Vector _curr_dydx; + public: + IODESystem& _sys; + Output& _out; + Stepper _stepper; + bool _dense; - return res; - } - Vector getRealPartEigenvector(int ind) const - { - Vector res(n); - for (int i = 0; i < n; i++) - res[i] = zz(i,ind); - - return res; - } - - // Computes all eigenvalues and (optionally) eigenvectors of a real nonsymmetric matrix a[0..n-1][0..n-1] by reduction to Hessenberg form followed by QR iteration. - // If yesvecs is input as true (the default), then the eigenvectors are computed. Otherwise, only the eigenvalues are computed. - // If hessen is input as false (the default), the matrix is first reduced to Hessenberg form. Otherwise it is assumed that the matrix is already in Hessenberg from. - // On output, wri[0..n-1] contains the eigenvalues of a sorted into descending order, while zz[0..n-1][0..n-1] is a matrix whose columns contain the corresponding - // eigenvectors. - // For a complex eigenvalue, only the eigenvector corresponding to the eigenvalue with a positive imaginary part is stored, with the real part in zz[0..n-1][i] and the - // imaginary part in h.zz[0..n-1][i+1]. The eigenvectors are not normalized. - - EigenSolver(const Matrix &aa, bool yesvec = true, bool hessenb = false) : n(aa.RowNum()), a(aa), zz(n, n), wri(n), scale(n, 1.0), perm(n), - yesvecs(yesvec), hessen(hessenb) - { - balance(); - if (!hessen) - elmhes(); - if (yesvecs) - { - for (int i = 0; i < n; i++) - zz[i][i] = 1.0; - if (!hessen) - eltran(); - hqr2(); - balbak(); - sortvecs(); - } - else - { - hqr(); - sort(); - } - } - void balance() - { - const Real RADIX = std::numeric_limits::radix; - bool done = false; - Real sqrdx = RADIX * RADIX; - while (!done) - { - done = true; - for (int i = 0; i < n; i++) - { - Real r = 0.0, c = 0.0; - for (int j = 0; j < n; j++) - if (j != i) - { - c += std::abs(a[j][i]); - r += std::abs(a[i][j]); - } - if (c != 0.0 && r != 0.0) - { - Real g = r / RADIX; - Real f = 1.0; - Real s = c + r; - while (c < g) - { - f *= RADIX; - c *= sqrdx; - } - g = r * RADIX; - while (c > g) - { - f /= RADIX; - c /= sqrdx; - } - if ((c + r) / f < 0.95 * s) - { - done = false; - g = 1.0 / f; - scale[i] *= f; - for (int j = 0; j < n; j++) - a[i][j] *= g; - for (int j = 0; j < n; j++) - a[j][i] *= f; - } - } - } - } - } - void elmhes() - { - for (int m = 1; m < n - 1; m++) - { - Real x = 0.0; - int i = m; - for (int j = m; j < n; j++) - { - if (std::abs(a[j][m - 1]) > std::abs(x)) - { - x = a[j][m - 1]; - i = j; - } - } - perm[m] = i; - if (i != m) - { - for (int j = m - 1; j < n; j++) - std::swap(a[i][j], a[m][j]); - for (int j = 0; j < n; j++) - std::swap(a[j][i], a[j][m]); - } - if (x != 0.0) - { - for (i = m + 1; i < n; i++) - { - Real y = a[i][m - 1]; - if (y != 0.0) - { - y /= x; - a[i][m - 1] = y; - for (int j = m; j < n; j++) - a[i][j] -= y * a[m][j]; - for (int j = 0; j < n; j++) - a[j][m] += y * a[j][i]; - } - } - } - } - } - void eltran() - { - for (int mp = n - 2; mp > 0; mp--) - { - for (int k = mp + 1; k < n; k++) - zz[k][mp] = a[k][mp - 1]; - int i = perm[mp]; - if (i != mp) - { - for (int j = mp; j < n; j++) - { - zz[mp][j] = zz[i][j]; - zz[i][j] = 0.0; - } - zz[i][mp] = 1.0; - } - } - } + int getDim() { return _sys.getDim(); } - void hqr() - { - int nn, m, l, k, j, its, i, mmin; - Real z, y, x, w, v, u, t, s, r, q, p, anorm = 0.0; - - const Real EPS = std::numeric_limits::epsilon(); - for (i = 0; i < n; i++) - for (j = std::max(i - 1, 0); j < n; j++) - anorm += std::abs(a[i][j]); - nn = n - 1; - t = 0.0; - while (nn >= 0) - { - its = 0; - do - { - for (l = nn; l > 0; l--) - { - s = std::abs(a[l - 1][l - 1]) + std::abs(a[l][l]); - if (s == 0.0) - s = anorm; - if (std::abs(a[l][l - 1]) <= EPS * s) - { - a[l][l - 1] = 0.0; - break; - } - } - x = a[nn][nn]; - if (l == nn) - { - wri[nn--] = x + t; - } - else - { - y = a[nn - 1][nn - 1]; - w = a[nn][nn - 1] * a[nn - 1][nn]; - if (l == nn - 1) - { - p = 0.5 * (y - x); - q = p * p + w; - z = sqrt(std::abs(q)); - x += t; - if (q >= 0.0) - { - z = p + SIGN(z, p); - wri[nn - 1] = wri[nn] = x + z; - if (z != 0.0) - wri[nn] = x - w / z; - } - else - { - wri[nn] = Complex(x + p, -z); - wri[nn - 1] = conj(wri[nn]); - } - nn -= 2; - } - else - { - if (its == 30) - throw("Too many iterations in hqr"); - if (its == 10 || its == 20) - { - t += x; - for (i = 0; i < nn + 1; i++) - a[i][i] -= x; - s = std::abs(a[nn][nn - 1]) + std::abs(a[nn - 1][nn - 2]); - y = x = 0.75 * s; - w = -0.4375 * s * s; - } - ++its; - for (m = nn - 2; m >= l; m--) - { - z = a[m][m]; - r = x - z; - s = y - z; - p = (r * s - w) / a[m + 1][m] + a[m][m + 1]; - q = a[m + 1][m + 1] - z - r - s; - r = a[m + 2][m + 1]; - s = std::abs(p) + std::abs(q) + std::abs(r); - p /= s; - q /= s; - r /= s; - if (m == l) - break; - u = std::abs(a[m][m - 1]) * (std::abs(q) + std::abs(r)); - v = std::abs(p) * (std::abs(a[m - 1][m - 1]) + std::abs(z) + std::abs(a[m + 1][m + 1])); - if (u <= EPS * v) - break; - } - for (i = m; i < nn - 1; i++) - { - a[i + 2][i] = 0.0; - if (i != m) - a[i + 2][i - 1] = 0.0; - } - for (k = m; k < nn; k++) - { - if (k != m) - { - p = a[k][k - 1]; - q = a[k + 1][k - 1]; - r = 0.0; - if (k + 1 != nn) - r = a[k + 2][k - 1]; - if ((x = std::abs(p) + std::abs(q) + std::abs(r)) != 0.0) - { - p /= x; - q /= x; - r /= x; - } - } - if ((s = SIGN(sqrt(p * p + q * q + r * r), p)) != 0.0) - { - if (k == m) - { - if (l != m) - a[k][k - 1] = -a[k][k - 1]; - } - else - a[k][k - 1] = -s * x; - p += s; - x = p / s; - y = q / s; - z = r / s; - q /= p; - r /= p; - for (j = k; j < nn + 1; j++) - { - p = a[k][j] + q * a[k + 1][j]; - if (k + 1 != nn) - { - p += r * a[k + 2][j]; - a[k + 2][j] -= p * z; - } - a[k + 1][j] -= p * y; - a[k][j] -= p * x; - } - mmin = nn < k + 3 ? nn : k + 3; - for (i = l; i < mmin + 1; i++) - { - p = x * a[i][k] + y * a[i][k + 1]; - if (k + 1 != nn) - { - p += z * a[i][k + 2]; - a[i][k + 2] -= p * r; - } - a[i][k + 1] -= p * q; - a[i][k] -= p; - } - } - } - } - } - } while (l + 1 < nn); - } - } - void hqr2() - { - int nn, m, l, k, j, its, i, mmin, na; - Real z, y, x, w, v, u, t, s, r, q, p, anorm = 0.0, ra, sa, vr, vi; - - const Real EPS = std::numeric_limits::epsilon(); - for (i = 0; i < n; i++) - for (j = std::max(i - 1, 0); j < n; j++) - anorm += std::abs(a[i][j]); - nn = n - 1; - t = 0.0; - while (nn >= 0) - { - its = 0; - do - { - for (l = nn; l > 0; l--) - { - s = std::abs(a[l - 1][l - 1]) + std::abs(a[l][l]); - if (s == 0.0) - s = anorm; - if (std::abs(a[l][l - 1]) <= EPS * s) - { - a[l][l - 1] = 0.0; - break; - } - } - x = a[nn][nn]; - if (l == nn) - { - wri[nn] = a[nn][nn] = x + t; - nn--; - } - else - { - y = a[nn - 1][nn - 1]; - w = a[nn][nn - 1] * a[nn - 1][nn]; - if (l == nn - 1) - { - p = 0.5 * (y - x); - q = p * p + w; - z = sqrt(std::abs(q)); - x += t; - a[nn][nn] = x; - a[nn - 1][nn - 1] = y + t; - if (q >= 0.0) - { - z = p + SIGN(z, p); - wri[nn - 1] = wri[nn] = x + z; - if (z != 0.0) - wri[nn] = x - w / z; - x = a[nn][nn - 1]; - s = std::abs(x) + std::abs(z); - p = x / s; - q = z / s; - r = sqrt(p * p + q * q); - p /= r; - q /= r; - for (j = nn - 1; j < n; j++) - { - z = a[nn - 1][j]; - a[nn - 1][j] = q * z + p * a[nn][j]; - a[nn][j] = q * a[nn][j] - p * z; - } - for (i = 0; i <= nn; i++) - { - z = a[i][nn - 1]; - a[i][nn - 1] = q * z + p * a[i][nn]; - a[i][nn] = q * a[i][nn] - p * z; - } - for (i = 0; i < n; i++) - { - z = zz[i][nn - 1]; - zz[i][nn - 1] = q * z + p * zz[i][nn]; - zz[i][nn] = q * zz[i][nn] - p * z; - } - } - else - { - wri[nn] = Complex(x + p, -z); - wri[nn - 1] = conj(wri[nn]); - } - nn -= 2; - } - else - { - if (its == 30) - throw("Too many iterations in hqr"); - if (its == 10 || its == 20) - { - t += x; - for (i = 0; i < nn + 1; i++) - a[i][i] -= x; - s = std::abs(a[nn][nn - 1]) + std::abs(a[nn - 1][nn - 2]); - y = x = 0.75 * s; - w = -0.4375 * s * s; - } - ++its; - for (m = nn - 2; m >= l; m--) - { - z = a[m][m]; - r = x - z; - s = y - z; - p = (r * s - w) / a[m + 1][m] + a[m][m + 1]; - q = a[m + 1][m + 1] - z - r - s; - r = a[m + 2][m + 1]; - s = std::abs(p) + std::abs(q) + std::abs(r); - p /= s; - q /= s; - r /= s; - if (m == l) - break; - u = std::abs(a[m][m - 1]) * (std::abs(q) + std::abs(r)); - v = std::abs(p) * (std::abs(a[m - 1][m - 1]) + std::abs(z) + std::abs(a[m + 1][m + 1])); - if (u <= EPS * v) - break; - } - for (i = m; i < nn - 1; i++) - { - a[i + 2][i] = 0.0; - if (i != m) - a[i + 2][i - 1] = 0.0; - } - for (k = m; k < nn; k++) - { - if (k != m) - { - p = a[k][k - 1]; - q = a[k + 1][k - 1]; - r = 0.0; - if (k + 1 != nn) - r = a[k + 2][k - 1]; - if ((x = std::abs(p) + std::abs(q) + std::abs(r)) != 0.0) - { - p /= x; - q /= x; - r /= x; - } - } - if ((s = SIGN(sqrt(p * p + q * q + r * r), p)) != 0.0) - { - if (k == m) - { - if (l != m) - a[k][k - 1] = -a[k][k - 1]; - } - else - a[k][k - 1] = -s * x; - p += s; - x = p / s; - y = q / s; - z = r / s; - q /= p; - r /= p; - for (j = k; j < n; j++) - { - p = a[k][j] + q * a[k + 1][j]; - if (k + 1 != nn) - { - p += r * a[k + 2][j]; - a[k + 2][j] -= p * z; - } - a[k + 1][j] -= p * y; - a[k][j] -= p * x; - } - mmin = nn < k + 3 ? nn : k + 3; - for (i = 0; i < mmin + 1; i++) - { - p = x * a[i][k] + y * a[i][k + 1]; - if (k + 1 != nn) - { - p += z * a[i][k + 2]; - a[i][k + 2] -= p * r; - } - a[i][k + 1] -= p * q; - a[i][k] -= p; - } - for (i = 0; i < n; i++) - { - p = x * zz[i][k] + y * zz[i][k + 1]; - if (k + 1 != nn) - { - p += z * zz[i][k + 2]; - zz[i][k + 2] -= p * r; - } - zz[i][k + 1] -= p * q; - zz[i][k] -= p; - } - } - } - } - } - } while (l + 1 < nn); - } - if (anorm != 0.0) - { - for (nn = n - 1; nn >= 0; nn--) - { - p = real(wri[nn]); - q = imag(wri[nn]); - na = nn - 1; - if (q == 0.0) - { - m = nn; - a[nn][nn] = 1.0; - for (i = nn - 1; i >= 0; i--) - { - w = a[i][i] - p; - r = 0.0; - for (j = m; j <= nn; j++) - r += a[i][j] * a[j][nn]; - if (imag(wri[i]) < 0.0) - { - z = w; - s = r; - } - else - { - m = i; - - if (imag(wri[i]) == 0.0) - { - t = w; - if (t == 0.0) - t = EPS * anorm; - a[i][nn] = -r / t; - } - else - { - x = a[i][i + 1]; - y = a[i + 1][i]; - q = POW2(real(wri[i]) - p) + POW2(imag(wri[i])); - t = (x * s - z * r) / q; - a[i][nn] = t; - if (std::abs(x) > std::abs(z)) - a[i + 1][nn] = (-r - w * t) / x; - else - a[i + 1][nn] = (-s - y * t) / z; - } - t = std::abs(a[i][nn]); - if (EPS * t * t > 1) - for (j = i; j <= nn; j++) - a[j][nn] /= t; - } - } - } - else if (q < 0.0) - { - m = na; - if (std::abs(a[nn][na]) > std::abs(a[na][nn])) - { - a[na][na] = q / a[nn][na]; - a[na][nn] = -(a[nn][nn] - p) / a[nn][na]; - } - else - { - Complex temp = Complex(0.0, -a[na][nn]) / Complex(a[na][na] - p, q); - a[na][na] = real(temp); - a[na][nn] = imag(temp); - } - a[nn][na] = 0.0; - a[nn][nn] = 1.0; - for (i = nn - 2; i >= 0; i--) - { - w = a[i][i] - p; - ra = sa = 0.0; - for (j = m; j <= nn; j++) - { - ra += a[i][j] * a[j][na]; - sa += a[i][j] * a[j][nn]; - } - if (imag(wri[i]) < 0.0) - { - z = w; - r = ra; - s = sa; - } - else - { - m = i; - if (imag(wri[i]) == 0.0) - { - Complex temp = Complex(-ra, -sa) / Complex(w, q); - a[i][na] = real(temp); - a[i][nn] = imag(temp); - } - else - { - x = a[i][i + 1]; - y = a[i + 1][i]; - vr = POW2(real(wri[i]) - p) + POW2(imag(wri[i])) - q * q; - vi = 2.0 * q * (real(wri[i]) - p); - if (vr == 0.0 && vi == 0.0) - vr = EPS * anorm * (std::abs(w) + std::abs(q) + std::abs(x) + std::abs(y) + std::abs(z)); - Complex temp = Complex(x * r - z * ra + q * sa, x * s - z * sa - q * ra) / - Complex(vr, vi); - a[i][na] = real(temp); - a[i][nn] = imag(temp); - if (std::abs(x) > std::abs(z) + std::abs(q)) - { - a[i + 1][na] = (-ra - w * a[i][na] + q * a[i][nn]) / x; - a[i + 1][nn] = (-sa - w * a[i][nn] - q * a[i][na]) / x; - } - else - { - Complex temp = Complex(-r - y * a[i][na], -s - y * a[i][nn]) / - Complex(z, q); - a[i + 1][na] = real(temp); - a[i + 1][nn] = imag(temp); - } - } - } - t = std::max(std::abs(a[i][na]), std::abs(a[i][nn])); - if (EPS * t * t > 1) - for (j = i; j <= nn; j++) - { - a[j][na] /= t; - a[j][nn] /= t; - } - } - } - } - for (j = n - 1; j >= 0; j--) - for (i = 0; i < n; i++) - { - z = 0.0; - for (k = 0; k <= j; k++) - z += zz[i][k] * a[k][j]; - zz[i][j] = z; - } - } - } - void balbak() - { - for (int i = 0; i < n; i++) - for (int j = 0; j < n; j++) - zz[i][j] *= scale[i]; - } + ODESystemSolver(IODESystem& sys, const Real atol, const Real rtol, Output& out) + : _sys(sys), _curr_y(sys.getDim()), _curr_dydx(sys.getDim()), _dense(out.dense), _out(out), + _stepper(sys, _curr_y, _curr_dydx, _curr_x, atol, rtol, out.dense) + { } - void sort() - { - int i; - for (int j = 1; j < n; j++) - { - Complex x = wri[j]; - for (i = j - 1; i >= 0; i--) - { - if (real(wri[i]) >= real(x)) - break; - wri[i + 1] = wri[i]; - } - wri[i + 1] = x; - } - } - void sortvecs() - { - int i; - Vector temp(n); - for (int j = 1; j < n; j++) - { - Complex x = wri[j]; - for (int k = 0; k < n; k++) - temp[k] = zz[k][j]; - for (i = j - 1; i >= 0; i--) - { - if (real(wri[i]) >= real(x)) - break; - wri[i + 1] = wri[i]; - for (int k = 0; k < n; k++) - zz[k][i + 1] = zz[k][i]; - } - wri[i + 1] = x; - for (int k = 0; k < n; k++) - zz[k][i + 1] = temp[k]; - } - } - }; + ODESystemSolution integrate(Vector& in_ystart, const Real x1, Real x2, Real h1, const Real hmin) + { + int dim = _sys.getDim(); + Real h = SIGN(h1, x2 - x1); -} -/////////////////////////// ./include/algorithms/ODESystemSteppers.h /////////////////////////// + ODESystemSolution sol(x1, x2, dim, _out.nsave); + _out.init(_stepper.neqn, x1, x2); + _curr_x = x1; + _curr_y = in_ystart; + Vector& ystart = in_ystart; -namespace MML -{ - struct StepperBase { - IODESystem &_sys; - int n, neqn; - bool dense; + _sys.derivs(_curr_x, _curr_y, _curr_dydx); - Real &x; - Real xold; - Vector &y, &dydx; + if (_dense) + _out.out(-1, _curr_x, _curr_y, _stepper, h); + else + _out.save(_curr_x, _curr_y); - Real atol,rtol; - Real EPS; + for (_out.nstp = 0; _out.nstp < MAXSTP; _out.nstp++) + { + if ((_curr_x + h * 1.0001 - x2) * (x2 - x1) > 0.0) + h = x2 - _curr_x; - Real hdid; - Real hnext; - Vector yout,yerr; + _stepper.step(h); - StepperBase(IODESystem &sys, Vector &yy, Vector &dydxx, Real &xx, const Real atoll, const Real rtoll, bool dens) - : _sys(sys), x(xx),y(yy),dydx(dydxx),atol(atoll), - rtol(rtoll),dense(dens),n(sys.getDim()),neqn(n),yout(n),yerr(n) {} + if (_stepper.hdid == h) ++_out.nok; + else ++_out.nbad; - virtual Real dense_out(const int i, const Real x, const Real h) = 0; - }; + if (_dense) + _out.out(_out.nstp, _curr_x, _curr_y, _stepper, _stepper.hdid); + else + _out.save(_curr_x, _curr_y); - // Dormand-Prince fifth-order Runge-Kutta step with monitoring of local truncation error to ensure - // accuracy and adjust stepsize. - struct StepperDopr5 : StepperBase { - Vector k2,k3,k4,k5,k6; - Vector rcont1,rcont2,rcont3,rcont4,rcont5; - Vector dydxnew; - - // Input to the constructor are the dependent variable y[0..n-1] and its derivative dydx[0..n-1] - // at the starting value of the independent variable x. Also input are the absolute and relative - // tolerances, atol and rtol, and the boolean dense, which is true if dense output is required - StepperDopr5(IODESystem &sys, Vector &yy, Vector &dydx, Real &xx, const Real atoll, const Real rtoll, bool dens) - : StepperBase(sys, yy, dydx, xx, atoll, rtoll, dens), - k2(n),k3(n),k4(n),k5(n),k6(n), - rcont1(n),rcont2(n),rcont3(n),rcont4(n),rcont5(n), - dydxnew(n) - { - EPS=std::numeric_limits::epsilon(); - } - - // Attempts a step with stepsize htry. On output, y and x are replaced by their new values, hdid - // is the stepsize that was actually accomplished, and hnext is the estimated next stepsize - void step(const Real htry) { - Real h=htry; - for (;;) { - dy(h); - Real err=error(); - if (con.success(err,h)) break; - if (std::abs(h) <= std::abs(x)*EPS) - throw("stepsize underflow in StepperDopr5"); - } - if (dense) - prepare_dense(h); - dydx=dydxnew; - y=yout; - xold=x; - x += (hdid=h); - hnext=con.hnext; - } - - // Given values for n variables y[0..n-1] and their derivatives dydx[0..n-1] known at x, use the - // fifth-order Dormand-Prince Runge-Kutta method to advance the solution over an interval h and - // store the incremented variables in yout[0..n-1]. Also store an estimate of the local truncation - // error in yerr using the embedded fourth-order method - void dy(const Real h) { - static const Real c2=0.2,c3=0.3,c4=0.8,c5=8.0/9.0,a21=0.2,a31=3.0/40.0, - a32=9.0/40.0,a41=44.0/45.0,a42=-56.0/15.0,a43=32.0/9.0,a51=19372.0/6561.0, - a52=-25360.0/2187.0,a53=64448.0/6561.0,a54=-212.0/729.0,a61=9017.0/3168.0, - a62=-355.0/33.0,a63=46732.0/5247.0,a64=49.0/176.0,a65=-5103.0/18656.0, - a71=35.0/384.0,a73=500.0/1113.0,a74=125.0/192.0,a75=-2187.0/6784.0, - a76=11.0/84.0,e1=71.0/57600.0,e3=-71.0/16695.0,e4=71.0/1920.0, - e5=-17253.0/339200.0,e6=22.0/525.0,e7=-1.0/40.0; - Vector ytemp(n); - int i; - for (i=0;i= 0.0) { + // we are done + for (int i = 0; i < getDim(); i++) + ystart[i] = _curr_y[i]; - // Store coefficients of interpolating polynomial for dense output in rcont1...rcont5 - void prepare_dense(const Real h) { - Vector ytemp(n); - static const Real d1=-12715105075.0/11282082432.0, - d3=87487479700.0/32700410799.0, d4=-10690763975.0/1880347072.0, - d5=701980252875.0/199316789632.0, d6=-1453857185.0/822651844.0, - d7=69997945.0/29380423.0; - for (int i=0;i 0 && std::abs(_out.xsave[_out.count - 1] - x2) > 100.0 * std::abs(x2) * EPS) + _out.save(_curr_x, _curr_y); - // Evaluate interpolating polynomial for y[i] at location x, where xold <= x <= xold + h. - Real dense_out(const int i, const Real x, const Real h) { - Real s=(x-xold)/h; - Real s1=1.0-s; - return rcont1[i]+s*(rcont2[i]+s1*(rcont3[i]+s*(rcont4[i]+s1*rcont5[i]))); - } + for (int i = 0; i <= _out.nsave; i++) + { + sol._xval[i] = _out.xsave[i]; + for (int j = 0; j < ystart.size(); j++) + { + sol._yval[j][i] = _out.ysave[j][i]; + } + } - // Use yerr to compute norm of scaled error estimate. A value less than one means the step was successful. - Real error() { - Real err=0.0,sk; - for (int i=0;imaxscale) scale=maxscale; - } - if (reject) - hnext=h*std::min(scale,1.0); - else - hnext=h*scale; - errold=std::max(err,1.0e-4); - reject=false; - return true; - } else { - scale=std::max(safe*pow(err,-alpha),minscale); - h *= scale; - reject=true; - return false; - } - } - }; - Controller con; - }; - - struct Dopr853_constants { - const Real c2 = 0.526001519587677318785587544488e-01; - const Real c3 = 0.789002279381515978178381316732e-01; - const Real c4 = 0.118350341907227396726757197510e+00; - const Real c5 = 0.281649658092772603273242802490e+00; - const Real c6 = 0.333333333333333333333333333333e+00; - const Real c7 = 0.25e+00; - const Real c8 = 0.307692307692307692307692307692e+00; - const Real c9 = 0.651282051282051282051282051282e+00; - const Real c10 = 0.6e+00; - const Real c11 = 0.857142857142857142857142857142e+00; - const Real c14 = 0.1e+00; - const Real c15 = 0.2e+00; - const Real c16 = 0.777777777777777777777777777778e+00; - - const Real b1 = 5.42937341165687622380535766363e-2; - const Real b6 = 4.45031289275240888144113950566e0; - const Real b7 = 1.89151789931450038304281599044e0; - const Real b8 = -5.8012039600105847814672114227e0; - const Real b9 = 3.1116436695781989440891606237e-1; - const Real b10 = -1.52160949662516078556178806805e-1; - const Real b11 = 2.01365400804030348374776537501e-1; - const Real b12 = 4.47106157277725905176885569043e-2; - - const Real bhh1 = 0.244094488188976377952755905512e+00; - const Real bhh2 = 0.733846688281611857341361741547e+00; - const Real bhh3 = 0.220588235294117647058823529412e-01; - - const Real er1 = 0.1312004499419488073250102996e-01; - const Real er6 = -0.1225156446376204440720569753e+01; - const Real er7 = -0.4957589496572501915214079952e+00; - const Real er8 = 0.1664377182454986536961530415e+01; - const Real er9 = -0.3503288487499736816886487290e+00; - const Real er10 = 0.3341791187130174790297318841e+00; - const Real er11 = 0.8192320648511571246570742613e-01; - const Real er12 = -0.2235530786388629525884427845e-01; - - const Real a21 = 5.26001519587677318785587544488e-2; - const Real a31 = 1.97250569845378994544595329183e-2; - const Real a32 = 5.91751709536136983633785987549e-2; - const Real a41 = 2.95875854768068491816892993775e-2; - const Real a43 = 8.87627564304205475450678981324e-2; - const Real a51 = 2.41365134159266685502369798665e-1; - const Real a53 = -8.84549479328286085344864962717e-1; - const Real a54 = 9.24834003261792003115737966543e-1; - const Real a61 = 3.7037037037037037037037037037e-2; - const Real a64 = 1.70828608729473871279604482173e-1; - const Real a65 = 1.25467687566822425016691814123e-1; - const Real a71 = 3.7109375e-2; - const Real a74 = 1.70252211019544039314978060272e-1; - const Real a75 = 6.02165389804559606850219397283e-2; - const Real a76 = -1.7578125e-2; - - const Real a81 = 3.70920001185047927108779319836e-2; - const Real a84 = 1.70383925712239993810214054705e-1; - const Real a85 = 1.07262030446373284651809199168e-1; - const Real a86 = -1.53194377486244017527936158236e-2; - const Real a87 = 8.27378916381402288758473766002e-3; - const Real a91 = 6.24110958716075717114429577812e-1; - const Real a94 = -3.36089262944694129406857109825e0; - const Real a95 = -8.68219346841726006818189891453e-1; - const Real a96 = 2.75920996994467083049415600797e1; - const Real a97 = 2.01540675504778934086186788979e1; - const Real a98 = -4.34898841810699588477366255144e1; - const Real a101 = 4.77662536438264365890433908527e-1; - const Real a104 = -2.48811461997166764192642586468e0; - const Real a105 = -5.90290826836842996371446475743e-1; - const Real a106 = 2.12300514481811942347288949897e1; - const Real a107 = 1.52792336328824235832596922938e1; - const Real a108 = -3.32882109689848629194453265587e1; - const Real a109 = -2.03312017085086261358222928593e-2; - - const Real a111 = -9.3714243008598732571704021658e-1; - const Real a114 = 5.18637242884406370830023853209e0; - const Real a115 = 1.09143734899672957818500254654e0; - const Real a116 = -8.14978701074692612513997267357e0; - const Real a117 = -1.85200656599969598641566180701e1; - const Real a118 = 2.27394870993505042818970056734e1; - const Real a119 = 2.49360555267965238987089396762e0; - const Real a1110 = -3.0467644718982195003823669022e0; - const Real a121 = 2.27331014751653820792359768449e0; - const Real a124 = -1.05344954667372501984066689879e1; - const Real a125 = -2.00087205822486249909675718444e0; - const Real a126 = -1.79589318631187989172765950534e1; - const Real a127 = 2.79488845294199600508499808837e1; - const Real a128 = -2.85899827713502369474065508674e0; - const Real a129 = -8.87285693353062954433549289258e0; - const Real a1210 = 1.23605671757943030647266201528e1; - const Real a1211 = 6.43392746015763530355970484046e-1; - - const Real a141 = 5.61675022830479523392909219681e-2; - const Real a147 = 2.53500210216624811088794765333e-1; - const Real a148 = -2.46239037470802489917441475441e-1; - const Real a149 = -1.24191423263816360469010140626e-1; - const Real a1410 = 1.5329179827876569731206322685e-1; - const Real a1411 = 8.20105229563468988491666602057e-3; - const Real a1412 = 7.56789766054569976138603589584e-3; - const Real a1413 = -8.298e-3; - - const Real a151 = 3.18346481635021405060768473261e-2; - const Real a156 = 2.83009096723667755288322961402e-2; - const Real a157 = 5.35419883074385676223797384372e-2; - const Real a158 = -5.49237485713909884646569340306e-2; - const Real a1511 = -1.08347328697249322858509316994e-4; - const Real a1512 = 3.82571090835658412954920192323e-4; - const Real a1513 = -3.40465008687404560802977114492e-4; - const Real a1514 = 1.41312443674632500278074618366e-1; - const Real a161 = -4.28896301583791923408573538692e-1; - const Real a166 = -4.69762141536116384314449447206e0; - const Real a167 = 7.68342119606259904184240953878e0; - const Real a168 = 4.06898981839711007970213554331e0; - const Real a169 = 3.56727187455281109270669543021e-1; - const Real a1613 = -1.39902416515901462129418009734e-3; - const Real a1614 = 2.9475147891527723389556272149e0; - const Real a1615 = -9.15095847217987001081870187138e0; - - const Real d41 = -0.84289382761090128651353491142e+01; - const Real d46 = 0.56671495351937776962531783590e+00; - const Real d47 = -0.30689499459498916912797304727e+01; - const Real d48 = 0.23846676565120698287728149680e+01; - const Real d49 = 0.21170345824450282767155149946e+01; - const Real d410 = -0.87139158377797299206789907490e+00; - const Real d411 = 0.22404374302607882758541771650e+01; - const Real d412 = 0.63157877876946881815570249290e+00; - const Real d413 = -0.88990336451333310820698117400e-01; - const Real d414 = 0.18148505520854727256656404962e+02; - const Real d415 = -0.91946323924783554000451984436e+01; - const Real d416 = -0.44360363875948939664310572000e+01; - - const Real d51 = 0.10427508642579134603413151009e+02; - const Real d56 = 0.24228349177525818288430175319e+03; - const Real d57 = 0.16520045171727028198505394887e+03; - const Real d58 = -0.37454675472269020279518312152e+03; - const Real d59 = -0.22113666853125306036270938578e+02; - const Real d510 = 0.77334326684722638389603898808e+01; - const Real d511 = -0.30674084731089398182061213626e+02; - const Real d512 = -0.93321305264302278729567221706e+01; - const Real d513 = 0.15697238121770843886131091075e+02; - const Real d514 = -0.31139403219565177677282850411e+02; - const Real d515 = -0.93529243588444783865713862664e+01; - const Real d516 = 0.35816841486394083752465898540e+02; - - const Real d61 = 0.19985053242002433820987653617e+02; - const Real d66 = -0.38703730874935176555105901742e+03; - const Real d67 = -0.18917813819516756882830838328e+03; - const Real d68 = 0.52780815920542364900561016686e+03; - const Real d69 = -0.11573902539959630126141871134e+02; - const Real d610 = 0.68812326946963000169666922661e+01; - const Real d611 = -0.10006050966910838403183860980e+01; - const Real d612 = 0.77771377980534432092869265740e+00; - const Real d613 = -0.27782057523535084065932004339e+01; - const Real d614 = -0.60196695231264120758267380846e+02; - const Real d615 = 0.84320405506677161018159903784e+02; - const Real d616 = 0.11992291136182789328035130030e+02; - - const Real d71 = -0.25693933462703749003312586129e+02; - const Real d76 = -0.15418974869023643374053993627e+03; - const Real d77 = -0.23152937917604549567536039109e+03; - const Real d78 = 0.35763911791061412378285349910e+03; - const Real d79 = 0.93405324183624310003907691704e+02; - const Real d710 = -0.37458323136451633156875139351e+02; - const Real d711 = 0.10409964950896230045147246184e+03; - const Real d712 = 0.29840293426660503123344363579e+02; - const Real d713 = -0.43533456590011143754432175058e+02; - const Real d714 = 0.96324553959188282948394950600e+02; - const Real d715 = -0.39177261675615439165231486172e+02; - const Real d716 = -0.14972683625798562581422125276e+03; - }; - - struct StepperDopr853 : StepperBase, Dopr853_constants { - Vector yerr2; - Vector k2,k3,k4,k5,k6,k7,k8,k9,k10; - Vector rcont1,rcont2,rcont3,rcont4,rcont5,rcont6,rcont7,rcont8; - - StepperDopr853(IODESystem &sys, Vector &yy,Vector &dydxx,Real &xx, - const Real atoll,const Real rtoll,bool dens) - : StepperBase(sys, yy,dydxx,xx,atoll,rtoll,dens), - yerr2(n),k2(n),k3(n),k4(n), - k5(n),k6(n),k7(n),k8(n),k9(n),k10(n),rcont1(n),rcont2(n),rcont3(n), - rcont4(n),rcont5(n),rcont6(n),rcont7(n),rcont8(n) - { - EPS=std::numeric_limits::epsilon(); - } + return sol; + } + if (std::abs(_stepper.hnext) <= hmin) + throw("Step size too small in ODESystemSolver::integrate"); - void step(const Real htry) { - Vector dydxnew(n); - Real h=htry; - for (;;) { - dy(h); - Real err=error(h); - if (con.success(err,h)) break; - if (std::abs(h) <= std::abs(x)*EPS) - throw("stepsize underflow in StepperDopr853"); - } - _sys.derivs(x+h,yout,dydxnew); - if (dense) - prepare_dense(h,dydxnew); - dydx=dydxnew; - y=yout; - xold=x; - x += (hdid=h); - hnext=con.hnext; - } + h = _stepper.hnext; + } + throw("Too many steps in routine ODESystemSolver::integrate"); + } + }; - void dy(const Real h) { - Vector ytemp(n); - int i; - for (i=0;i &dydxnew) - { - int i; - Real ydiff,bspl; - Vector ytemp(n); - for (i=0;imaxscale) scale=maxscale; - } - if (reject) - hnext=h*std::min(scale,1.0); - else - hnext=h*scale; - errold=std::max(err,1.0e-4); - reject=false; - return true; - } else { - scale=std::max(safe*pow(err,-alpha),minscale); - h *= scale; - reject=true; - return false; - } - } - }; - Controller con; - }; + class RungeKuttaSolverDumb + { + public: + void rk4(Vector& y, Vector& dydx, const Real x, const Real h, + Vector& yout, IODESystem& sys) + { + int i; + Real xh, hh, h6; + + int n = (int)y.size(); + Vector dym(n), dyt(n), yt(n); + hh = h * 0.5; + h6 = h / 6.0; + xh = x + hh; + for (i = 0; i < n; i++) yt[i] = y[i] + hh * dydx[i]; + sys.derivs(xh, yt, dyt); + for (i = 0; i < n; i++) yt[i] = y[i] + hh * dyt[i]; + sys.derivs(xh, yt, dym); + for (i = 0; i < n; i++) { + yt[i] = y[i] + h * dym[i]; + dym[i] += dyt[i]; + } + sys.derivs(x + h, yt, dyt); + for (i = 0; i < n; i++) + yout[i] = y[i] + h6 * (dydx[i] + dyt[i] + 2.0 * dym[i]); + } - // Bulirsch-Stoer step with monitoring of local truncation error to ensure accuracy and adjust stepsize - struct StepperBS : StepperBase { - static const int KMAXX=8,IMAXX=KMAXX+1; // KMAXX is the maximum number of rows used in the extrapolation - int k_targ; // Optimal row number for convergence. - Vector nseq; // Stepsize sequence - Vector cost; - Matrix table; // Extrapolation tableau - Vector dydxnew; - int mu; - Matrix coeff; // Coefficients used in extrapolation tableau - Vector errfac; // Used to compute dense interpolation error. - Matrix ysave; // ysave and fsave store values and derivatives to be used for dense output - Matrix fsave; - Vector ipoint; // Keeps track of where values are stored in fsave. - Vector dens; - - StepperBS(IODESystem &sys, Vector &yy,Vector &dydxx,Real &xx, const Real atoll,const Real rtoll, bool dens) - : StepperBase(sys, yy,dydxx,xx,atoll,rtoll,dens), - nseq(IMAXX),cost(IMAXX), - table(KMAXX,n),dydxnew(n),coeff(IMAXX,IMAXX),errfac(2*IMAXX+2),ysave(IMAXX,n), - fsave(IMAXX*(2*IMAXX+1),n),ipoint(IMAXX+1),dens((2*IMAXX+5)*n) - { - EPS=std::numeric_limits::epsilon(); - if (dense) - for (int i=0;i(1.0e-12,rtol))*0.6+0.5; - k_targ=std::max(1,std::min(KMAXX-1,int(logfact))); - for (int k = 0; k njadd) njadd++; - ipoint[i]=ipoint[i-1]+njadd; - } - } + ODESystemSolutionEqualSpacing integrate(IODESystem& sys, const Vector& vstart, const Real x1, const Real x2, int numSteps) + { + int i, k; + Real x, h; + int dim = sys.getDim(); - void step(const Real htry) { - const Real STEPFAC1=0.65,STEPFAC2=0.94,STEPFAC3=0.02,STEPFAC4=4.0, - KFAC1=0.8,KFAC2=0.9; - static bool first_step=true,last_step=false; - static bool forward,reject=false,prev_reject=false; - int i,k; - Real fac,h,hnew,hopt_int,err; - bool firstk; - Vector hopt(IMAXX),work(IMAXX); - Vector ysav(n),yseq(n); - Vector ymid(n),scale(n); - work[0]=0; - h=htry; - forward = h>0 ? true : false; - for (i=0;i(facmin/STEPFAC4,std::min(1.0/facmin,fac)); - } - hopt[k]=std::abs(h*fac); - work[k]=cost[k]/hopt[k]; - if ((first_step || last_step) && err <= 1.0) - break; - if (k == k_targ-1 && !prev_reject && !first_step && !last_step) { - if (err <= 1.0) - break; - else if (err>POW2(nseq[k_targ]*nseq[k_targ+1]/(nseq[0]*nseq[0]))) { - reject=true; - k_targ=k; - if (k_targ>1 && work[k-1]POW2(nseq[k+1]/nseq[0])) { - reject=true; - if (k_targ>1 && work[k-1] 1.0) { - reject=true; - if (k_targ>1 && work[k_targ-1](pow(err,1.0/(2*k+3)),0.01); - if (err > 10.0) { - hnew=std::abs(hopt_int); - reject=true; - prev_reject=true; - goto interp_error; - } - } - dydx=dydxnew; - xold=x; - x+=h; - hdid=h; - first_step=false; - int kopt; - if (k == 1) - kopt=2; - else if (k <= k_targ) { - kopt=k; - if (work[k-1] < KFAC1*work[k]) - kopt=k-1; - else if (work[k] < KFAC2*work[k-1]) - kopt=std::min(k+1,KMAXX-1); - } else { - kopt=k-1; - if (k > 2 && work[k-2] < KFAC1*work[k-1]) - kopt=k-2; - if (work[k] < KFAC2*work[kopt]) - kopt=std::min(k,KMAXX-1); - } - if (prev_reject) { - k_targ=std::min(kopt,k); - hnew=std::min(std::abs(h),hopt[k_targ]); - prev_reject=false; - } - else { - if (kopt <= k) - hnew=hopt[kopt]; - else { - if (k &y,const Real htot,const int k,Vector ¥d, int &ipt) - { - Vector ym(n),yn(n); - int nstep=nseq[k]; - Real h=htot/nstep; - for (int i=0;i v(vstart), vout(dim), dv(dim); + for (i = 0; i < dim; i++) { + sol.yval[i][0] = v[i]; + } + sol.xval[0] = x1; + x = x1; + h = (x2 - x1) / numSteps; + for (k = 0; k < numSteps; k++) { + sys.derivs(x, v, dv); + rk4(v, dv, x, h, vout, sys); + if (x + h == x) + throw("Step size too small in routine rkdumb"); + x += h; + sol.xval[k + 1] = x; + for (i = 0; i < dim; i++) { + v[i] = vout[i]; + sol.yval[i][k + 1] = v[i]; + } + } - void polyextr(const int k, Matrix &table, Vector &last) - { - int l=(int)last.size(); - for (int j=k-1; j>0; j--) - for (int i=0; i &dydxnew, const Vector &ysav,const Vector &scale,const int k,Real &error) - { - mu=2*k-1; - for (int i=0; i=1; l--) { - Real factor=POW2(dblenj/nseq[l-1])-1.0; - for (int i=0; i=kbeg+1; l--) { - Real factor=POW2(dblenj/nseq[l-1])-1.0; - for (int i=0; i=lend; l-=2) - for (int i=0; i=lend; l-=2) - for (int i=0; i= 1) { - for (int i=0; i0; j--) - c=dens[n*(j+3)+i]+c*theta05/j; - yinterp += t4*c; - return yinterp; - } + class RungeKuttaSolverSimple + { + void rkck(Vector& y, Vector& dydx, const Real x, + const Real h, Vector& yout, Vector& yerr, + IODESystem& sys) + { + static const Real a2 = 0.2, a3 = 0.3, a4 = 0.6, a5 = 1.0, a6 = 0.875, + b21 = 0.2, b31 = 3.0 / 40.0, b32 = 9.0 / 40.0, b41 = 0.3, b42 = -0.9, + b43 = 1.2, b51 = -11.0 / 54.0, b52 = 2.5, b53 = -70.0 / 27.0, + b54 = 35.0 / 27.0, b61 = 1631.0 / 55296.0, b62 = 175.0 / 512.0, + b63 = 575.0 / 13824.0, b64 = 44275.0 / 110592.0, b65 = 253.0 / 4096.0, + c1 = 37.0 / 378.0, c3 = 250.0 / 621.0, c4 = 125.0 / 594.0, c6 = 512.0 / 1771.0, + dc1 = c1 - 2825.0 / 27648.0, dc3 = c3 - 18575.0 / 48384.0, + dc4 = c4 - 13525.0 / 55296.0, dc5 = -277.00 / 14336.0, dc6 = c6 - 0.25; + int i; + + int n = (int)y.size(); + Vector ak2(n), ak3(n), ak4(n), ak5(n), ak6(n), ytemp(n); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + b21 * h * dydx[i]; + sys.derivs(x + a2 * h, ytemp, ak2); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (b31 * dydx[i] + b32 * ak2[i]); + sys.derivs(x + a3 * h, ytemp, ak3); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (b41 * dydx[i] + b42 * ak2[i] + b43 * ak3[i]); + sys.derivs(x + a4 * h, ytemp, ak4); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (b51 * dydx[i] + b52 * ak2[i] + b53 * ak3[i] + b54 * ak4[i]); + sys.derivs(x + a5 * h, ytemp, ak5); + for (i = 0; i < n; i++) + ytemp[i] = y[i] + h * (b61 * dydx[i] + b62 * ak2[i] + b63 * ak3[i] + b64 * ak4[i] + b65 * ak5[i]); + sys.derivs(x + a6 * h, ytemp, ak6); + for (i = 0; i < n; i++) + yout[i] = y[i] + h * (c1 * dydx[i] + c3 * ak3[i] + c4 * ak4[i] + c6 * ak6[i]); + for (i = 0; i < n; i++) + yerr[i] = h * (dc1 * dydx[i] + dc3 * ak3[i] + dc4 * ak4[i] + dc5 * ak5[i] + dc6 * ak6[i]); + } - virtual void dense_interp(const int n, Vector &y, const int imit) { - Real y0,y1,yp0,yp1,ydiff,aspl,bspl,ph0,ph1,ph2,ph3,fac1,fac2; - Vector a(31); - for (int i=0; i= 1) { - a[1]=16.0*(y[5*n+i]-ph1); - if (imit >= 3) { - a[3]=16.0*(y[7*n+i]-ph3+3*a[1]); - for (int im=5; im <=imit; im+=2) { - fac1=im*(im-1)/2.0; - fac2=fac1*(im-2)*(im-3)*2.0; - a[im]=16.0*(y[(im+4)*n+i]+fac1*a[im-2]-fac2*a[im-4]); - } - } - } - a[0]=(y[4*n+i]-ph0)*16.0; - if (imit >= 2) { - a[2]=(y[n*6+i]-ph2+a[0])*16.0; - for (int im=4; im <=imit; im+=2) { - fac1=im*(im-1)/2.0; - fac2=im*(im-1)*(im-2)*(im-3); - a[im]=(y[n*(im+4)+i]+a[im-2]*fac1-a[im-4]*fac2)*16.0; - } - } - for (int im=0; im<=imit; im++) - y[n*(im+4)+i]=a[im]; - } - } - }; -} -/////////////////////////// ./include/algorithms/ODESystemSteppers_Stiff.h /////////////////////////// + void rkqs(Vector& y, Vector& dydx, Real& x, const Real htry, + const Real eps, Vector& yscal, Real& hdid, Real& hnext, + IODESystem& sys) + { + const Real SAFETY = 0.9, PGROW = -0.2, PSHRNK = -0.25, ERRCON = 1.89e-4; + int i; + Real errmax, h, htemp, xnew; + + int n = (int)y.size(); + h = htry; + Vector yerr(n), ytemp(n); + for (;;) { + rkck(y, dydx, x, h, ytemp, yerr, sys); + + errmax = 0.0; + for (i = 0; i < n; i++) + errmax = std::max(errmax, fabs(yerr[i] / yscal[i])); + errmax /= eps; + if (errmax <= 1.0) + break; + + htemp = SAFETY * h * pow(errmax, PSHRNK); + h = (h >= Real{ 0 } ? std::max(htemp, 0.1 * h) : std::min(htemp, 0.1 * h)); + xnew = x + h; + + if (xnew == x) + throw("stepsize underflow in rkqs"); + } + if (errmax > ERRCON) + hnext = SAFETY * h * pow(errmax, PGROW); + else + hnext = 5.0 * h; + + x += (hdid = h); + + for (i = 0; i < n; i++) + y[i] = ytemp[i]; + } + public: + ODESystemSolution integrate(IODESystem& sys, const Vector& ystart, const Real x1, const Real x2, int maxSteps, Real minSaveInterval, + const Real eps, const Real h1, const Real hmin, int& nok, int& nbad) + { + const int MAXSTP = 10000; + const Real TINY = 1.0e-30; + + int dim = sys.getDim(); + ODESystemSolution sol(x1, x2, dim, maxSteps); + + int kount = 0; + int i, nstp; + Real xsav, x, hnext, hdid, h; + Vector yscal(dim), y(ystart), dydx(dim); + + x = x1; + h = SIGN(h1, x2 - x1); + nok = nbad = kount = 0; + + if (maxSteps > 0) xsav = x - minSaveInterval * 2.0; + for (nstp = 0; nstp < MAXSTP; nstp++) { + sys.derivs(x, y, dydx); + for (i = 0; i < dim; i++) + yscal[i] = fabs(y[i]) + fabs(dydx[i] * h) + TINY; + if (maxSteps > 0 && kount < maxSteps - 1 && fabs(x - xsav) > fabs(minSaveInterval)) { + for (i = 0; i < dim; i++) sol._yval[i][kount] = y[i]; + sol._xval[kount++] = x; + xsav = x; + } + if ((x + h - x2) * (x + h - x1) > 0.0) h = x2 - x; + rkqs(y, dydx, x, h, eps, yscal, hdid, hnext, sys); + if (hdid == h) ++nok; else ++nbad; + if ((x - x2) * (x2 - x1) >= 0.0) { + if (maxSteps != 0) { + for (i = 0; i < dim; i++) sol._yval[i][kount] = y[i]; + sol._xval[kount++] = x; + } + return sol; + } + if (fabs(hnext) <= hmin) throw("Step size too small in integrate"); + h = hnext; + } + throw("Too many steps in routine integrate"); + } + }; +} +/////////////////////////// ./include/algorithms/ParametricCurveAnalyzer.h /////////////////////////// namespace MML { - struct Ross_constants { - const Real c2=0.386; - const Real c3=0.21; - const Real c4=0.63; - const Real bet2p=0.0317; - const Real bet3p=0.0635; - const Real bet4p=0.3438; - const Real d1= 0.2500000000000000e+00; - const Real d2=-0.1043000000000000e+00; - const Real d3= 0.1035000000000000e+00; - const Real d4=-0.3620000000000023e-01; - const Real a21= 0.1544000000000000e+01; - const Real a31= 0.9466785280815826e+00; - const Real a32= 0.2557011698983284e+00; - const Real a41= 0.3314825187068521e+01; - const Real a42= 0.2896124015972201e+01; - const Real a43= 0.9986419139977817e+00; - const Real a51= 0.1221224509226641e+01; - const Real a52= 0.6019134481288629e+01; - const Real a53= 0.1253708332932087e+02; - const Real a54=-0.6878860361058950e+00; - const Real c21=-0.5668800000000000e+01; - const Real c31=-0.2430093356833875e+01; - const Real c32=-0.2063599157091915e+00; - const Real c41=-0.1073529058151375e+00; - const Real c42=-0.9594562251023355e+01; - const Real c43=-0.2047028614809616e+02; - const Real c51= 0.7496443313967647e+01; - const Real c52=-0.1024680431464352e+02; - const Real c53=-0.3399990352819905e+02; - const Real c54= 0.1170890893206160e+02; - const Real c61= 0.8083246795921522e+01; - const Real c62=-0.7981132988064893e+01; - const Real c63=-0.3152159432874371e+02; - const Real c64= 0.1631930543123136e+02; - const Real c65=-0.6058818238834054e+01; - const Real gam= 0.2500000000000000e+00; - const Real d21= 0.1012623508344586e+02; - const Real d22=-0.7487995877610167e+01; - const Real d23=-0.3480091861555747e+02; - const Real d24=-0.7992771707568823e+01; - const Real d25= 0.1025137723295662e+01; - const Real d31=-0.6762803392801253e+00; - const Real d32= 0.6087714651680015e+01; - const Real d33= 0.1643084320892478e+02; - const Real d34= 0.2476722511418386e+02; - const Real d35=-0.6594389125716872e+01; - }; + // TODO - LOW, Curve analyzer - cuspoid i slicne tocke - // Fourth-order stiffly stable Rosenbrock step for integrating stiff ODEs, with monitoring of local - // truncation error to adjust stepsize. - struct StepperRoss : StepperBase, Ross_constants { - Matrix dfdy; - Vector dfdx; - Vector k1,k2,k3,k4,k5,k6; - Vector cont1,cont2,cont3,cont4; - Matrix a; - - // Input to the constructor are the dependent variable y[0..n-1] and its derivative dydx[0..n-1] - // at the starting value of the independent variable x. Also input are the absolute and relative - // tolerances, atol and rtol, and the boolean dense, which is true if dense output is required - StepperRoss(IODESystem &sys, Vector &yy, Vector &dydxx, Real &xx, const Real atoll,const Real rtoll, bool dens) - : StepperBase(sys, yy,dydxx,xx,atoll,rtoll,dens), - dfdy(n,n),dfdx(n),k1(n),k2(n), - k3(n),k4(n),k5(n),k6(n),cont1(n),cont2(n),cont3(n),cont4(n),a(n,n) - { - EPS=std::numeric_limits::epsilon(); - } - - // Attempts a step with stepsize htry. On output, y and x are replaced by their new values, hdid - // is the stepsize that was actually accomplished, and hnext is the estimated next stepsize. - void step(const Real htry) { - Vector dydxnew(n); - Real h=htry; - dynamic_cast(_sys).jacobian(x,y,dfdx,dfdy); - for (;;) { - dy(h); - Real err=error(); - if (con.success(err,h)) break; - if (std::abs(h) <= std::abs(x)*EPS) - throw("stepsize underflow in StepperRoss"); - } - _sys.derivs(x+h,yout,dydxnew); - if (dense) - prepare_dense(h,dydxnew); - dydx=dydxnew; - y=yout; - xold=x; - x += (hdid=h); - hnext=con.hnext; - } + class ParametricCurveAnalyzer + { + public: + // helper class that returns unit tangent vector + template + class CurveTangentUnit : public IParametricCurve + { + const IParametricCurve& _curve; + public: + CurveTangentUnit(const IParametricCurve& curve) : _curve(curve) {} - // Given values for n variables y[0..n-1] and their derivatives dydx[0..n-1] known at x, use the - // fourth-order stiffly stable Rosenbrock method to advance the solution over an interval h and - // store the incremented variables in yout[0..n-1]. Also store an estimate of the local truncation - // error in yerr using the embedded third-order method - void dy(const Real h) { - Vector ytemp(n),dydxnew(n); - int i; - for (i=0;i alu(a); - for (i=0;i operator()(Real t) const + { + auto tangent_vec = Derivation::DeriveCurve(_curve, t, nullptr); + return tangent_vec / tangent_vec.NormL2(); + } + }; - // Store coefficients of interpolating polynomial for dense output in cont1...cont4. - void prepare_dense(const Real h,const Vector &dydxnew) { - for (int i=0;i + static VectorN getTangent(const IParametricCurve& curve, Real t) + { + return Derivation::DeriveCurve(curve, t, nullptr); + } + template + static VectorN getTangentUnit(const IParametricCurve& curve, Real t) + { + auto tangent = getTangent(curve, t); + return tangent / tangent.NormL2(); + } - // Evaluate interpolating polynomial for y[i] at location x, where xold <= x <= xold + h - Real dense_out(const int i,const Real x,const Real h) { - Real s=(x-xold)/h; - Real s1=1.0-s; - return cont1[i]*s1+s*(cont2[i]+s1*(cont3[i]+s*cont4[i])); - } + template + static VectorN getNormal(const IParametricCurve& curve, Real t) + { + return Derivation::DeriveCurveSec(curve, t, nullptr); + } + // template + // static VectorN getNormalScaled(const IParametricCurve& curve, Real t) + // { + // CurveTangentUnit helper(curve); - // Use yerr to compute norm of scaled error estimate. A value less than one means the step was successful - Real error() { - Real err=0.0,sk; - for (int i=0;i(helper, t, nullptr); + // } + template + static VectorN getNormalUnit(const IParametricCurve& curve, Real t) + { + auto normal = getNormal(curve, t); + return normal / normal.NormL2(); + } + template + static VectorN getPrincipalNormal(const IParametricCurve& curve, Real t) + { + auto y_der_1 = Vector3Cartesian(getTangent(curve, t)); + auto y_der_2 = Vector3Cartesian(Derivation::DeriveCurveSec<3>(curve, t, nullptr)); - struct Controller { - Real hnext; - bool reject; - bool first_step; - Real errold; - Real hold; - Controller() : reject(false), first_step(true) {} - bool success(Real err, Real &h) { - static const Real safe=0.9,fac1=5.0,fac2=1.0/6.0; - Real fac=std::max(fac2,std::min(fac1,pow(err,0.25)/safe)); - Real hnew=h/fac; - if (err <= 1.0) { - if (!first_step) { - Real facpred=(hold/h)*pow(err*err/errold,0.25)/safe; - facpred=std::max(fac2,std::min(fac1,facpred)); - fac=std::max(fac,facpred); - hnew=h/fac; - } - first_step=false; - hold=h; - errold=std::max(0.01,err); - if (reject) - hnew=(h >= 0.0 ? std::min(hnew,h) : std::max(hnew,h)); - hnext=hnew; - reject=false; - return true; - } else { - h=hnew; - reject=true; - return false; - } - } - }; - Controller con; - }; + Vector3Cartesian vec_prod1 = VectorProd(y_der_2, y_der_1); + Vector3Cartesian res_vec = VectorProd(y_der_1, vec_prod1); - struct StepperSemiImplExtr : StepperBase { - static const int KMAXX=12,IMAXX=KMAXX+1; - int k_targ; - Vector nseq; - Vector cost; - Matrix table; - Matrix dfdy; - Vector dfdx; - Real jac_redo; - bool calcjac; - Real theta; - Matrix a; - int kright; - Matrix coeff; - Matrix fsave; - Vector dens; - Vector factrl; - - StepperSemiImplExtr(IODESystem &sys, Vector &yy, Vector &dydxx, Real &xx, - const Real atoll,const Real rtoll, bool dens) - : StepperBase(sys, yy,dydxx,xx,atoll,rtoll,dens),nseq(IMAXX),cost(IMAXX), - table(KMAXX,n),dfdy(n,n),dfdx(n),calcjac(false), - a(n,n),coeff(IMAXX,IMAXX), - fsave((IMAXX-1)*(IMAXX+1)/2+2,n),dens((IMAXX+2)*n),factrl(IMAXX) - { - static const Real costfunc=1.0,costjac=5.0,costlu=1.0,costsolve=1.0; - EPS=std::numeric_limits::epsilon(); - jac_redo=std::min(1.0e-4,rtol); - theta=2.0*jac_redo; - nseq[0]=2; - nseq[1]=3; - for (int i=2;i hopt(IMAXX),work(IMAXX); - Vector ysav(n),yseq(n); - Vector ymid(n),scale(n); - work[0]=1.e30; - h=htry; - forward = h>0 ? true : false; - for (i=0;i jac_redo && !calcjac) { - dynamic_cast(_sys).jacobian(x,y,dfdx,dfdy); - - //_sys.jacobian(x,y,dfdx,dfdy); - calcjac=true; - } - while (firstk || reject) { - h = forward ? hnew : -hnew; - firstk=false; - reject=false; - if (std::abs(h) <= std::abs(x)*EPS) - throw("step size underflow in StepperSemiImplExtr"); - int ipt=-1; - for (k=0; k<=k_targ+1;k++) { - bool success=dy(ysav,h,k,yseq,ipt,scale); - if (!success) { - reject=true; - hnew=std::abs(h)*STEPFAC5; - break; - } - if (k == 0) - y=yseq; - else - for (i=0;i 1.0/EPS || (k > 1 && err >= errold)) { - reject=true; - hnew=std::abs(h)*STEPFAC5; - break; - } - errold=std::max(4.0*err,1.0); - Real expo=1.0/(k+1); - Real facmin=pow(STEPFAC3,expo); - if (err == 0.0) - fac=1.0/facmin; - else { - fac=STEPFAC2/pow(err/STEPFAC1,expo); - fac=std::max(facmin/STEPFAC4,std::min(1.0/facmin,fac)); - } - hopt[k]=std::abs(h*fac); - work[k]=cost[k]/hopt[k]; - if ((first_step || last_step) && err <= 1.0) - break; - if (k == k_targ-1 && !prev_reject && !first_step && !last_step) { - if (err <= 1.0) - break; - else if (err>nseq[k_targ]*nseq[k_targ+1]*4.0) { - reject=true; - k_targ=k; - if (k_targ>1 && work[k-1]nseq[k+1]*2.0) { - reject=true; - if (k_targ>1 && work[k-1] 1.0) { - reject=true; - if (k_targ>1 && work[k_targ-1] 2 && work[k-2] < KFAC1*work[k-1]) - kopt=k-2; - if (work[k] < KFAC2*work[kopt]) - kopt=std::min(k,KMAXX-1); - } - if (prev_reject) { - k_targ=std::min(kopt,k); - hnew=std::min(std::abs(h),hopt[k_targ]); - prev_reject=false; - } - else { - if (kopt <= k) - hnew=hopt[kopt]; - else { - if (k &y,const Real htot,const int k,Vector ¥d, int &ipt,const Vector &scale) - { - Vector del(n),ytemp(n),dytemp(n); - int nstep=nseq[k]; - Real h=htot/nstep; - for (int i=0;i alu(a); - Real xnew=x+h; - _sys.derivs(xnew,y,del); - for (int i=0;i(1.0,del1); - if (theta > 1.0) - return false; - } - alu.Solve(yend,del); - if (dense && nn >= nstep-k-1) { - ipt++; - for (int i=0;i &table,Vector &last) { - int l=(int) last.size(); - for (int j=k-1; j>0; j--) - for (int i=0; i + static VectorN getBinormal(const IParametricCurve& curve, Real t) + { + auto y_der_1 = Vector3Cartesian(getTangent(curve, t)); + auto y_der_2 = Vector3Cartesian(Derivation::DeriveCurveSec<3>(curve, t, nullptr)); - void prepare_dense(const Real h,const Vector &ysav,const Vector &scale, - const int k,Real &error) { - kright=k; - for (int i=0; i= 1) { - for (int kk=klr; kk<=k; kk++) { - int lbeg=((kk+3)*kk)/2; - int lend=lbeg-kk+1; - for (int l=lbeg; l>=lend; l--) - for (int i=0; i=klr+1; l--) { - Real factor=dblenj/nseq[l-1]-1.0; - for (int i=0; i &y, const int imit); - }; -} -/////////////////////////// ./include/algorithms/ODESystemSolver.h /////////////////////////// + Vector3Cartesian vec_prod1 = VectorProd(y_der_2, y_der_1); + return vec_prod1 / vec_prod1.NormL2(); + } + + template + static VectorN getCurvatureVector(const IParametricCurve& curve, Real t) + { + auto y_der_1 = getTangent(curve, t); + auto y_der_2 = Derivation::DeriveCurveSec<3>(curve, t, nullptr); + Real res1 = pow(y_der_1.NormL2(), -2.0); + auto vec2 = y_der_2 - res1 * y_der_1.ScalarProductCartesian(y_der_2) * y_der_1; + return vec2 / res1; + } + template + static Real getCurvature(const IParametricCurve& curve, Real t) + { + auto y_der_1 = getTangent(curve, t); + auto y_der_2 = Derivation::DeriveCurveSec<3>(curve, t, nullptr); -namespace MML -{ - struct Output { - // TODO - MED, LAKO, sve privatizirati - int kmax; - int _nvar; - int nsave; + Real res1 = pow(y_der_1.NormL2(), -2.0); + auto vec2 = y_der_2 - res1 * y_der_1.ScalarProductCartesian(y_der_2) * y_der_1; + Real res2 = vec2.NormL2(); - int nok; - int nbad; - int nstp; + return res1 * res2; + } - bool dense; - int count; + static Real getCurvature3(const IParametricCurve<3>& curve, Real t) + { + auto curve_first_der = Vector3Cartesian(getTangent(curve, t)); + auto curve_sec_der = Vector3Cartesian(Derivation::DeriveCurveSec<3>(curve, t, nullptr)); - Real x1,x2,xout,dxout; + auto prod = VectorProd(curve_first_der, curve_sec_der); - Vector xsave; - Matrix ysave; - - Output() : kmax(-1),dense(false),count(0) {} + return prod.NormL2() / pow(curve_first_der.NormL2(), 3); + } - // Constructor provides dense output at nsave equally spaced intervals. If nsave <= 0, output - // is saved only at the actual integration steps. - Output(const int nsavee) : kmax(50),nsave(nsavee),count(0),xsave(kmax), nok(0), nbad(0) { - dense = nsave > 0 ? true : false; - } - void init(const int neqn, const Real xlo, const Real xhi) { - _nvar=neqn; - if (kmax == -1) return; - ysave.Resize(_nvar,kmax); - if (dense) { - x1=xlo; - x2=xhi; - xout=x1; - dxout=(x2-x1)/nsave; - } - } - void resize() { - int kold=kmax; - kmax *= 2; - - Vector tempvec(xsave); - xsave.Resize(kmax); - for (int k=0; k tempmat(ysave); - ysave.Resize(_nvar,kmax); - for (int i=0; i<_nvar; i++) - for (int k=0; k& curve, Real t) + { + auto curve_first_der = Vector3Cartesian(getTangent(curve, t)); + auto curve_sec_der = Vector3Cartesian(Derivation::DeriveCurveSec<3>(curve, t, nullptr)); + auto curve_third_der = Vector3Cartesian(Derivation::DeriveCurveThird<3>(curve, t, nullptr)); - // Invokes dense_out function of stepper routine to produce output at xout. Normally called - // by out rather than directly. Assumes that xout is between xold and xold+h, where the - // stepper must keep track of xold, the location of the previous step, and x=xold+h, the - // current step - void save_dense(StepperBase &s, const Real xout, const Real h) { - if (count == kmax) resize(); - for (int i=0;i<_nvar;i++) - ysave[i][count]=s.dense_out(i,xout,h); - xsave[count++]=xout; - } + auto prod = VectorProd(curve_first_der, curve_sec_der); - // Saves values of current x and y. - void save(const Real x, const Vector &y) { - if (kmax <= 0) return; - if (count == kmax) resize(); - for (int i=0;i<_nvar;i++) - ysave[i][count]=y[i]; - xsave[count++]=x; - } + Real temp = prod.ScalarProductCartesian(curve_third_der); - // Typically called by Odeint to produce dense output. Input variables are nstp, the current - // step number, the current values of x and y, the stepper s, and the stepsize h. A call with - // nstp=-1 saves the initial values. The routine checks whether x is greater than the desired - // output point xout. If so, it calls save_dense. - void out(const int nstp,const Real x,const Vector &y,StepperBase &s,const Real h) { - if (!dense) - throw("dense output not set in Output!"); - if (nstp == -1) { - save(x,y); - xout += dxout; - } else { - while ((x-xout)*(x2-x1) > 0.0) { - save_dense(s,xout,h); - xout += dxout; - } - } - } - }; + return -temp / pow(prod.NormL2(), 2); + } - template - class ODESystemSolver { - static inline const Real EPS=std::numeric_limits::epsilon(); - static const int MAXSTP=50000; - - Real _curr_x; // used as reference by stepper! - Vector _curr_y; - Vector _curr_dydx; - public: - IODESystem &_sys; - Output &_out; - Stepper _stepper; - bool _dense; - - int getDim() { return _sys.getDim(); } - - ODESystemSolver(IODESystem &sys, const Real atol, const Real rtol, Output &out) - : _sys(sys), _curr_y(sys.getDim()), _curr_dydx(sys.getDim()), _dense(out.dense), _out(out), - _stepper(sys, _curr_y, _curr_dydx, _curr_x, atol, rtol, out.dense) - { } - - ODESystemSolution integrate(Vector &in_ystart, const Real x1, Real x2, Real h1, const Real hmin) - { - int dim = _sys.getDim(); - Real h = SIGN(h1,x2-x1); - - ODESystemSolution sol(x1, x2, dim, _out.nsave); - - _out.init(_stepper.neqn,x1,x2); - - _curr_x = x1; - _curr_y = in_ystart; - Vector &ystart = in_ystart; - - _sys.derivs(_curr_x, _curr_y, _curr_dydx); - - if (_dense) - _out.out(-1, _curr_x, _curr_y, _stepper, h); - else - _out.save(_curr_x, _curr_y); - - for (_out.nstp=0; _out.nstp 0.0) - h=x2-_curr_x; - - _stepper.step(h); - - if (_stepper.hdid == h) ++_out.nok; - else ++_out.nbad; - - if (_dense) - _out.out(_out.nstp, _curr_x, _curr_y, _stepper, _stepper.hdid); - else - _out.save(_curr_x, _curr_y); - - if ((_curr_x-x2)*(x2-x1) >= 0.0) { - // we are done - for (int i=0;i 0 && std::abs(_out.xsave[_out.count-1]-x2) > 100.0*std::abs(x2)*EPS) - _out.save(_curr_x, _curr_y); - - for(int i=0; i<=_out.nsave; i++) - { - sol._xval[i] = _out.xsave[i]; - for(int j=0; j& curve, Real t) + { + return Plane3D(Vector3Cartesian(curve(t)).getAsPoint(), Vector3Cartesian(getNormal(curve, t))); + } + static Plane3D getNormalPlane(const IParametricCurve<3>& curve, Real t) + { + return Plane3D(Vector3Cartesian(curve(t)).getAsPoint(), Vector3Cartesian(getTangentUnit(curve, t))); + } + static Plane3D getRectifyingPlane(const IParametricCurve<3>& curve, Real t) + { + return Plane3D(Vector3Cartesian(curve(t)).getAsPoint(), Vector3Cartesian(getBinormal(curve, t))); + } - class RungeKuttaSolverDumb - { - public: - void rk4(Vector &y, Vector &dydx, const Real x, const Real h, - Vector &yout, ODESystem &sys) - { - int i; - Real xh,hh,h6; - - int n= (int) y.size(); - Vector dym(n),dyt(n),yt(n); - hh=h*0.5; - h6=h/6.0; - xh=x+hh; - for (i=0;i& curve, Real t, Vector3Cartesian& tangent, Vector3Cartesian& normal, Vector3Cartesian& binormal) + { + tangent = Vector3Cartesian(getTangentUnit(curve, t)); + normal = Vector3Cartesian(getPrincipalNormal(curve, t)); + binormal = Vector3Cartesian(getBinormal(curve, t)); + } - ODESystemSolutionEqualSpacing integrate(ODESystem &sys, const Vector &vstart, const Real x1, const Real x2, int numSteps) - { - int i,k; - Real x,h; - int dim=sys.getDim(); - - ODESystemSolutionEqualSpacing sol(dim, numSteps); - - Vector v(vstart),vout(dim),dv(dim); - for (i=0;i& curve, Real t1, Real t2) + { + int numPnt = 100; + Real delta = (t2 - t1) / numPnt; + for (Real t = t1 + delta; t < t2; t += delta) + { + Real len = PathIntegration::ParametricCurveLength(curve, t1, t); + if (fabs(len - (t - t1)) > 1e-03) + return false; + } + + return true; + } + }; +} - return sol; - } - }; +/////////////////////////// ./include/algorithms/Fourier.h /////////////////////////// - // TODO 0.9 - ovo je Simple - class RungeKuttaNR2 - { - void rkck(Vector &y, Vector &dydx, const Real x, - const Real h, Vector &yout, Vector &yerr, - ODESystem &sys) - { - static const Real a2=0.2, a3=0.3, a4=0.6, a5=1.0, a6=0.875, - b21=0.2, b31=3.0/40.0, b32=9.0/40.0, b41=0.3, b42 = -0.9, - b43=1.2, b51 = -11.0/54.0, b52=2.5, b53 = -70.0/27.0, - b54=35.0/27.0, b61=1631.0/55296.0, b62=175.0/512.0, - b63=575.0/13824.0, b64=44275.0/110592.0, b65=253.0/4096.0, - c1=37.0/378.0, c3=250.0/621.0, c4=125.0/594.0, c6=512.0/1771.0, - dc1=c1-2825.0/27648.0, dc3=c3-18575.0/48384.0, - dc4=c4-13525.0/55296.0, dc5 = -277.00/14336.0, dc6=c6-0.25; - int i; - - int n= (int) y.size(); - Vector ak2(n),ak3(n),ak4(n),ak5(n),ak6(n),ytemp(n); - for (i=0;i &y, Vector &dydx, Real &x, const Real htry, - const Real eps, Vector &yscal, Real &hdid, Real &hnext, - ODESystem &sys) - { - const Real SAFETY=0.9, PGROW=-0.2, PSHRNK=-0.25, ERRCON=1.89e-4; - int i; - Real errmax,h,htemp,xnew; - - int n= (int) y.size(); - h=htry; - Vector yerr(n),ytemp(n); - for (;;) { - rkck(y,dydx,x,h,ytemp,yerr,sys); - - errmax=0.0; - for (i=0;i= Real{0} ? std::max(htemp,0.1*h) : std::min(htemp,0.1*h)); - xnew=x+h; - - if (xnew == x) - throw("stepsize underflow in rkqs"); - } - if (errmax > ERRCON) - hnext=SAFETY*h*pow(errmax,PGROW); - else - hnext=5.0*h; - - x += (hdid=h); - - for (i=0;i &ystart, const Real x1, const Real x2, int maxSteps, Real minSaveInterval, - const Real eps, const Real h1, const Real hmin, int &nok, int &nbad) - { - const int MAXSTP=10000; - const Real TINY=1.0e-30; - - int dim = sys.getDim(); - ODESystemSolution sol(x1, x2, dim,maxSteps); - - int kount = 0; - int i,nstp; - Real xsav,x,hnext,hdid,h; - Vector yscal(dim),y(ystart),dydx(dim); - - x=x1; - h=SIGN(h1,x2-x1); - nok = nbad = kount = 0; - - if (maxSteps > 0) xsav=x-minSaveInterval*2.0; - for (nstp=0;nstp 0 && kount < maxSteps-1 && fabs(x-xsav) > fabs(minSaveInterval)) { - for (i=0;i 0.0) h=x2-x; - rkqs(y,dydx,x,h,eps,yscal,hdid,hnext,sys); - if (hdid == h) ++nok; else ++nbad; - if ((x-x2)*(x2-x1) >= 0.0) { - if (maxSteps != 0) { - for (i=0;i - class CurveTangentUnit : public IParametricCurve - { - const IParametricCurve &_curve; - public: - CurveTangentUnit(const IParametricCurve &curve) : _curve(curve) {} - VectorN operator()(Real t) const - { - auto tangent_vec = Derivation::DeriveCurve(_curve, t, nullptr); - return tangent_vec / tangent_vec.NormL2(); - } - }; - template - static VectorN getTangent(const IParametricCurve &curve, Real t) - { - return Derivation::DeriveCurve(curve, t, nullptr); - } - template - static VectorN getTangentUnit(const IParametricCurve &curve, Real t) - { - auto tangent = getTangent(curve, t); - return tangent / tangent.NormL2(); - } +namespace MML +{ + namespace RootFinding + { + // Given a function or functor func and an initial guessed range x1 to x2, the routine expands + // the range geometrically until a root is bracketed by the returned values x1 and x2(in which + // case zbrac returns true) or until the range becomes unacceptably large(in which case zbrac + // returns false). + static bool zbrac(const IRealFunction& func, double& x1, double& x2) + { + const int NTRY = 50; + const double FACTOR = 1.6; - template - static VectorN getNormal(const IParametricCurve &curve, Real t) - { - return Derivation::DeriveCurveSec(curve, t, nullptr); - } - template - static VectorN getNormalScaled(const IParametricCurve &curve, Real t) - { - CurveTangentUnit helper(curve); + if (x1 == x2) + throw("Bad initial range in zbrac"); - return Derivation::DeriveCurve(helper, t, nullptr); - } - template - static VectorN getNormalUnit(const IParametricCurve &curve, Real t) - { - auto normal = getNormal(curve, t); - return normal / normal.NormL2(); - } - template - static VectorN getPrincipalNormal(const IParametricCurve &curve, Real t) - { - auto y_der_1 = Vector3Cartesian(getTangent(curve, t)); - auto y_der_2 = Vector3Cartesian(Derivation::DeriveCurveSec<3>(curve, t, nullptr)); + double f1 = func(x1); + double f2 = func(x2); - Vector3Cartesian vec_prod1 = VectorProd(y_der_2, y_der_1); - Vector3Cartesian res_vec = VectorProd(y_der_1, vec_prod1); + for (int j = 0; j < NTRY; j++) + { + if (f1 * f2 < 0.0) + return true; - return res_vec / (y_der_1.NormL2() * vec_prod1.NormL2()); - } + if (std::abs(f1) < std::abs(f2)) + f1 = func(x1 += FACTOR * (x1 - x2)); + else + f2 = func(x2 += FACTOR * (x2 - x1)); + } + return false; + } - template - static VectorN getBinormal(const IParametricCurve &curve, Real t) - { - auto y_der_1 = Vector3Cartesian(getTangent(curve, t)); - auto y_der_2 = Vector3Cartesian(Derivation::DeriveCurveSec<3>(curve, t, nullptr)); + // Given a function or functor fx defined on the interval[x1, x2], subdivide the interval into + // n equally spaced segments, and search for zero crossings of the function.nroot will be set + // to the number of bracketing pairs found.If it is positive, the arrays xb1[0..nroot - 1] and + // xb2[0..nroot - 1] will be filled sequentially with any bracketing pairs that are found.On input, + // these vectors may have any size, including zero; they will be resized to nroot. + static void zbrak(const IRealFunction& fx, const Real x1, const Real x2, const int n, Vector& xb1, + Vector& xb2, int& nroot) + { + int nb = 20; + xb1.Resize(nb); + xb2.Resize(nb); + nroot = 0; + Real dx = (x2 - x1) / n; + Real x = x1; + Real fp = fx(x1); + + for (int i = 0; i < n; i++) + { + Real fc = fx(x += dx); - Vector3Cartesian vec_prod1 = VectorProd(y_der_2, y_der_1); - return vec_prod1 / vec_prod1.NormL2(); - } + if (fc * fp <= 0.0) + { + xb1[nroot] = x - dx; + xb2[nroot++] = x; + if (nroot == nb) + { + Vector tempvec1(xb1), tempvec2(xb2); + xb1.Resize(2 * nb); + xb2.Resize(2 * nb); + for (int j = 0; j < nb; j++) + { + xb1[j] = tempvec1[j]; + xb2[j] = tempvec2[j]; + } + nb *= 2; + } + } + fp = fc; + } + } - template - static VectorN getCurvatureVector(const IParametricCurve &curve, Real t) - { - auto y_der_1 = getTangent(curve, t); - auto y_der_2 = Derivation::DeriveCurveSec<3>(curve, t, nullptr); + // Using bisection, return the root of a function or functor func known to lie between x1 and x2. + // The root will be refined until its accuracy is ˙xacc. + static Real FindRootBisection(const IRealFunction& func, const Real x1, const Real x2, const Real xacc) + { + const int JMAX = 50; + Real dx, xmid, rtb; - Real res1 = pow(y_der_1.NormL2(), -2.0); - auto vec2 = y_der_2 - res1 * y_der_1.ScalarProductCartesian(y_der_2) * y_der_1; + Real f = func(x1); + Real fmid = func(x2); - return vec2 / res1; - } + if (f * fmid >= 0.0) + throw("Root must be bracketed for bisection in FindRootBisection"); - template - static Real getCurvature(const IParametricCurve &curve, Real t) - { - auto y_der_1 = getTangent(curve, t); - auto y_der_2 = Derivation::DeriveCurveSec<3>(curve, t, nullptr); + rtb = f < 0.0 ? (dx = x2 - x1, x1) : (dx = x1 - x2, x2); + for (int j = 0; j < JMAX; j++) + { + fmid = func(xmid = rtb + (dx *= 0.5)); - Real res1 = pow(y_der_1.NormL2(), -2.0); - auto vec2 = y_der_2 - res1 * y_der_1.ScalarProductCartesian(y_der_2) * y_der_1; - Real res2 = vec2.NormL2(); + if (fmid <= 0.0) + rtb = xmid; - return res1 * res2; - } - - static Real getCurvature3(const IParametricCurve<3> &curve, Real t) - { - auto curve_first_der = Vector3Cartesian( getTangent(curve, t) ); - auto curve_sec_der = Vector3Cartesian( Derivation::DeriveCurveSec<3>(curve, t, nullptr) ); + if (std::abs(dx) < xacc || fmid == 0.0) + return rtb; + } + throw("Too many bisections in FindRootBisection"); + } - auto prod = VectorProd(curve_first_der, curve_sec_der); + // Using the false - position method, return the root of a function or functor func known to lie + // between x1 and x2.The root is refined until its accuracy is ˙xacc + static Real FindRootFalsePosition(const IRealFunction& func, const Real x1, const Real x2, const Real xacc) + { + const int MAXIT = 30; - return prod.NormL2() / pow(curve_first_der.NormL2(), 3); - } + Real xl, xh, del; - static Real getTorsion3(const IParametricCurve<3> &curve, Real t) - { - auto curve_first_der = Vector3Cartesian( getTangent(curve, t) ); - auto curve_sec_der = Vector3Cartesian( Derivation::DeriveCurveSec<3>(curve, t, nullptr) ); - auto curve_third_der = Vector3Cartesian( Derivation::DeriveCurveThird<3>(curve, t, nullptr) ); + Real fl = func(x1); + Real fh = func(x2); - auto prod = VectorProd(curve_first_der, curve_sec_der); + if (fl * fh > 0.0) + throw("Root must be bracketed in FindRootFalsePosition"); - Real temp = prod.ScalarProductCartesian(curve_third_der); + if (fl < 0.0) { + xl = x1; + xh = x2; + } + else { + xl = x2; + xh = x1; + std::swap(fl, fh); + } + Real dx = xh - xl; + for (int j = 0; j < MAXIT; j++) + { + Real rtf = xl + dx * fl / (fl - fh); + Real f = func(rtf); - return -temp / pow(prod.NormL2(), 2); - } + if (f < 0.0) { + del = xl - rtf; + xl = rtf; + fl = f; + } + else { + del = xh - rtf; + xh = rtf; + fh = f; + } + dx = xh - xl; + if (std::abs(del) < xacc || f == 0.0) + return rtf; + } + throw("Maximum number of iterations exceeded in FindRootFalsePosition"); + } - static Plane3D getOsculationPlane(const IParametricCurve<3> &curve, Real t) - { - return Plane3D( Vector3Cartesian(curve(t)).getAsPoint(), Vector3Cartesian(getNormal(curve, t)) ); - } - static Plane3D getNormalPlane(const IParametricCurve<3> &curve, Real t) - { - return Plane3D( Vector3Cartesian(curve(t)).getAsPoint(), Vector3Cartesian(getTangentUnit(curve, t)) ); - } - static Plane3D getRectifyingPlane(const IParametricCurve<3> &curve, Real t) - { - return Plane3D( Vector3Cartesian(curve(t)).getAsPoint(), Vector3Cartesian(getBinormal(curve, t)) ); - } + // Using the secant method, return the root of a function or functor func thought to lie between + // x1 and x2.The root is refined until its accuracy is ˙xacc. + static Real FindRootSecant(const IRealFunction& func, const Real x1, const Real x2, const Real xacc) { + const int MAXIT = 30; + Real xl, rts; + Real fl = func(x1); + Real f = func(x2); + if (std::abs(fl) < std::abs(f)) { + rts = x1; + xl = x2; + std::swap(fl, f); + } + else { + xl = x1; + rts = x2; + } + for (int j = 0; j < MAXIT; j++) + { + Real dx = (xl - rts) * f / (f - fl); + xl = rts; + fl = f; + rts += dx; + f = func(rts); + + if (std::abs(dx) < xacc || f == 0.0) + return rts; + } + throw("Maximum number of iterations exceeded in FindRootSecant"); + } - static void getMovingTrihedron(const IParametricCurve<3> &curve, Real t, Vector3Cartesian &tangent, Vector3Cartesian &normal, Vector3Cartesian &binormal) - { - tangent = Vector3Cartesian(getTangentUnit(curve, t)); - normal = Vector3Cartesian(getPrincipalNormal(curve, t)); - binormal = Vector3Cartesian(getBinormal(curve, t)); - } + // Using Ridders’ method, return the root of a function or functor func known to lie between x1 + // and x2.The root will be refined to an approximate accuracy xacc. + static Real FindRootRidders(const IRealFunction& func, const Real x1, const Real x2, const Real xacc) { + const int MAXIT = 60; + Real fl = func(x1); + Real fh = func(x2); + if ((fl > 0.0 && fh < 0.0) || (fl < 0.0 && fh > 0.0)) + { + Real xl = x1; + Real xh = x2; + Real ans = -9.99e99; - static bool isArcLengthParametrized(const IParametricCurve<3> &curve, Real t1, Real t2) - { - int numPnt = 100; - Real delta = (t2 - t1) / numPnt; - for(Real t=t1+delta; t < t2; t += delta) - { - Real len = PathIntegration::ParametricCurveLength(curve, t1, t); - if( fabs(len - (t - t1)) > 1e-03 ) - return false; - } + for (int j = 0; j < MAXIT; j++) + { + Real xm = 0.5 * (xl + xh); + Real fm = func(xm); + Real s = sqrt(fm * fm - fl * fh); - return true; - } - }; -} + if (s == 0.0) + return ans; -/////////////////////////// ./include/algorithms/Fourier.h /////////////////////////// + Real xnew = xm + (xm - xl) * ((fl >= fh ? 1.0 : -1.0) * fm / s); -namespace MML -{ - // TODO - viditi sto s Fourierom - class Fourier - { + if (std::abs(xnew - ans) <= xacc) + return ans; - }; -} + ans = xnew; + Real fnew = func(ans); + if (fnew == 0.0) + return ans; -/////////////////////////// ./include/algorithms/RootFinding.h ///////////////////////////#if !defined MML_ROOTFINDING_H + if (SIGN(fm, fnew) != fm) { + xl = xm; + fl = fm; + xh = ans; + fh = fnew; + } + else if (SIGN(fl, fnew) != fl) { + xh = ans; + fh = fnew; + } + else if (SIGN(fh, fnew) != fh) { + xl = ans; + fl = fnew; + } + else throw("never get here."); + if (std::abs(xh - xl) <= xacc) + return ans; + } + throw("FindRootRidders exceed maximum iterations"); + } + else { + if (fl == 0.0) + return x1; + if (fh == 0.0) + return x2; + throw("root must be bracketed in FindRootRidders."); + } + } + // Using Brent’s method, return the root of a function or functor func known to lie between x1 + // and x2.The root will be refined until its accuracy is tol. + static Real FindRootBrent(IRealFunction& func, const Real x1, const Real x2, const Real tol) + { + const int ITMAX = 100; + const Real EPS = std::numeric_limits::epsilon(); + Real a = x1, b = x2, c = x2, d, e, fa = func(a), fb = func(b), fc, p, q, r, s, tol1, xm; + if ((fa > 0.0 && fb > 0.0) || (fa < 0.0 && fb < 0.0)) + throw("Root must be bracketed in FindRootBrent"); -namespace MML -{ - namespace RootFinding - { - // Given a function or functor func and an initial guessed range x1 to x2, the routine expands - // the range geometrically until a root is bracketed by the returned values x1 and x2(in which - // case zbrac returns true) or until the range becomes unacceptably large(in which case zbrac - // returns false). - static bool zbrac(const IRealFunction &func, double &x1, double &x2) - { - const int NTRY=50; - const double FACTOR=1.6; - - if (x1 == x2) - throw("Bad initial range in zbrac"); - - double f1=func(x1); - double f2=func(x2); - - for (int j=0;j &xb1, - Vector &xb2, int &nroot) - { - int nb=20; - xb1.Resize(nb); - xb2.Resize(nb); - nroot=0; - Real dx=(x2-x1)/n; - Real x=x1; - Real fp=fx(x1); - - for (int i=0;i tempvec1(xb1),tempvec2(xb2); - xb1.Resize(2*nb); - xb2.Resize(2*nb); - for (int j=0; j 0.0 && fc > 0.0) || (fb < 0.0 && fc < 0.0)) { + c = a; + fc = fa; + e = d = b - a; + } + if (std::abs(fc) < std::abs(fb)) { + a = b; + b = c; + c = a; + fa = fb; + fb = fc; + fc = fa; + } - // Using bisection, return the root of a function or functor func known to lie between x1 and x2. - // The root will be refined until its accuracy is ˙xacc. - static Real FindRootBisection(const IRealFunction &func, const Real x1, const Real x2, const Real xacc) - { - const int JMAX=50; - Real dx,xmid,rtb; - - Real f = func(x1); - Real fmid = func(x2); - - if (f*fmid >= 0.0) - throw("Root must be bracketed for bisection in FindRootBisection"); - - rtb = f < 0.0 ? (dx=x2-x1,x1) : (dx=x1-x2,x2); - for (int j=0;j= tol1 && std::abs(fa) > std::abs(fb)) { + s = fb / fa; + if (a == c) { + p = 2.0 * xm * s; + q = 1.0 - s; + } + else { + q = fa / fc; + r = fb / fc; + p = s * (2.0 * xm * q * (q - r) - (b - a) * (r - 1.0)); + q = (q - 1.0) * (r - 1.0) * (s - 1.0); + } - Real fl=func(x1); - Real fh=func(x2); + if (p > 0.0) + q = -q; + p = std::abs(p); - if (fl*fh > 0.0) - throw("Root must be bracketed in FindRootFalsePosition"); + Real min1 = 3.0 * xm * q - std::abs(tol1 * q); + Real min2 = std::abs(e * q); - if (fl < 0.0) { - xl=x1; - xh=x2; - } else { - xl=x2; - xh=x1; - std::swap(fl,fh); - } - Real dx=xh-xl; - for (int j=0;j tol1) + b += d; + else + b += SIGN(tol1, xm); + fb = func(b); + } + throw("Maximum number of iterations exceeded in FindRootBrent"); + } - // Using the secant method, return the root of a function or functor func thought to lie between - // x1 and x2.The root is refined until its accuracy is ˙xacc. - static Real FindRootSecant(const IRealFunction &func, const Real x1, const Real x2, const Real xacc) { - const int MAXIT=30; - Real xl,rts; - Real fl=func(x1); - Real f=func(x2); - if (std::abs(fl) < std::abs(f)) { - rts=x1; - xl=x2; - std::swap(fl,f); - } else { - xl=x1; - rts=x2; - } - for (int j=0;j 0.0 && fh < 0.0) || (fl < 0.0 && fh > 0.0)) - { - Real xl=x1; - Real xh=x2; - Real ans=-9.99e99; - - for (int j=0;j= fh ? 1.0 : -1.0)*fm/s); - - if (std::abs(xnew-ans) <= xacc) - return ans; - - ans=xnew; - Real fnew=func(ans); - - if (fnew == 0.0) - return ans; - - if (SIGN(fm,fnew) != fm) { - xl=xm; - fl=fm; - xh=ans; - fh=fnew; - } else if (SIGN(fl,fnew) != fl) { - xh=ans; - fh=fnew; - } else if (SIGN(fh,fnew) != fh) { - xl=ans; - fl=fnew; - } else throw("never get here."); - - if (std::abs(xh-xl) <= xacc) - return ans; - } - throw("FindRootRidders exceed maximum iterations"); - } - else { - if (fl == 0.0) - return x1; - if (fh == 0.0) - return x2; + //Using a combination of Newton - Raphson and bisection, return the root of a function bracketed + //between x1 and x2.The root will be refined until its accuracy is known within ˙xacc.funcd + //is a user - supplied struct that returns the function value as a functor and the first derivative of + //the function at the point x as the function df(see text). + static Real FindRootSafe(const IRealFunction& funcd, const Real x1, const Real x2, const Real xacc) { + const int MAXIT = 100; + Real xh, xl; + Real fl = funcd(x1); + Real fh = funcd(x2); + + if ((fl > 0.0 && fh > 0.0) || (fl < 0.0 && fh < 0.0)) + throw("Root must be bracketed in rtsafe"); + + if (fl == 0.0) return x1; + if (fh == 0.0) return x2; + + if (fl < 0.0) { + xl = x1; + xh = x2; + } + else { + xh = x1; + xl = x2; + } + Real rts = 0.5 * (x1 + x2); + Real dxold = std::abs(x2 - x1); + Real dx = dxold; - throw("root must be bracketed in FindRootRidders."); - } - } + Real f = funcd(rts); + Real df = Derivation::NDer4(funcd, rts); - // Using Brent’s method, return the root of a function or functor func known to lie between x1 - // and x2.The root will be refined until its accuracy is tol. - static Real FindRootBrent(IRealFunction &func, const Real x1, const Real x2, const Real tol) - { - const int ITMAX=100; - const Real EPS=std::numeric_limits::epsilon(); - Real a=x1,b=x2,c=x2,d,e,fa=func(a),fb=func(b),fc,p,q,r,s,tol1,xm; - - if ((fa > 0.0 && fb > 0.0) || (fa < 0.0 && fb < 0.0)) - throw("Root must be bracketed in FindRootBrent"); - - fc=fb; - for (int iter=0;iter 0.0 && fc > 0.0) || (fb < 0.0 && fc < 0.0)) { - c=a; - fc=fa; - e=d=b-a; - } - if (std::abs(fc) < std::abs(fb)) { - a=b; - b=c; - c=a; - fa=fb; - fb=fc; - fc=fa; - } - - tol1=2.0*EPS*std::abs(b)+0.5*tol; - xm=0.5*(c-b); - - if (std::abs(xm) <= tol1 || fb == 0.0) - return b; - - if (std::abs(e) >= tol1 && std::abs(fa) > std::abs(fb)) { - s=fb/fa; - if (a == c) { - p=2.0*xm*s; - q=1.0-s; - } else { - q=fa/fc; - r=fb/fc; - p=s*(2.0*xm*q*(q-r)-(b-a)*(r-1.0)); - q=(q-1.0)*(r-1.0)*(s-1.0); - } - - if (p > 0.0) - q = -q; - p=std::abs(p); - - Real min1=3.0*xm*q-std::abs(tol1*q); - Real min2=std::abs(e*q); - - if (2.0*p < (min1 < min2 ? min1 : min2)) { - e=d; - d=p/q; - } else { - d=xm; - e=d; - } - } else { - d=xm; - e=d; - } - a=b; - fa=fb; - if (std::abs(d) > tol1) - b += d; - else - b += SIGN(tol1,xm); - fb=func(b); - } - throw("Maximum number of iterations exceeded in FindRootBrent"); - } + for (int j = 0; j < MAXIT; j++) + { + if ((((rts - xh) * df - f) * ((rts - xl) * df - f) > 0.0) + || (std::abs(2.0 * f) > std::abs(dxold * df))) { + dxold = dx; + dx = 0.5 * (xh - xl); + rts = xl + dx; + if (xl == rts) return rts; + } + else { + dxold = dx; + dx = f / df; + Real temp = rts; + rts -= dx; + if (temp == rts) return rts; + } + if (std::abs(dx) < xacc) + return rts; - // Using the Newton-Raphson method, return the root of a function known to lie in the interval - // x1; x2.The root will be refined until its accuracy is known within ˙xacc. - static Real rtnewt(const IRealFunction &funcd, const Real x1, const Real x2, const Real xacc) { - const int JMAX=20; - Real rtn=0.5*(x1+x2); - for (int j=0;j 0.0 && fh > 0.0) || (fl < 0.0 && fh < 0.0)) - throw("Root must be bracketed in rtsafe"); - - if (fl == 0.0) return x1; - if (fh == 0.0) return x2; - - if (fl < 0.0) { - xl=x1; - xh=x2; - } else { - xh=x1; - xl=x2; - } - Real rts=0.5*(x1+x2); - Real dxold=std::abs(x2-x1); - Real dx=dxold; - - Real f=funcd(rts); - Real df= Derivation::NDer4(funcd, rts); - - for (int j=0;j 0.0) - || (std::abs(2.0*f) > std::abs(dxold*df))) { - dxold=dx; - dx=0.5*(xh-xl); - rts=xl+dx; - if (xl == rts) return rts; - } else { - dxold=dx; - dx=f/df; - Real temp=rts; - rts -= dx; - if (temp == rts) return rts; - } - if (std::abs(dx) < xacc) - return rts; - - f = funcd(rts); - df = Derivation::NDer4(funcd, rts); - - if (f < 0.0) - xl=rts; - else - xh=rts; - } - throw("Maximum number of iterations exceeded in rtsafe"); - } - }; + f = funcd(rts); + df = Derivation::NDer4(funcd, rts); + + if (f < 0.0) + xl = rts; + else + xh = rts; + } + throw("Maximum number of iterations exceeded in rtsafe"); + } + }; } @@ -16367,314 +16633,318 @@ namespace MML namespace MML::RootFinding { - // TODO 0.9 - HIGH, SREDNJE!!! finish - //Given an n - dimensional point xold[0..n - 1], the value of the function and gradient there, fold - //and g[0..n - 1], and a direction p[0..n - 1], finds a new point x[0..n - 1] along the direction - //p from xold where the function or functor func has decreased “sufficiently.” The new function - //value is returned in f.stpmax is an input quantity that limits the length of the steps so that you - //do not try to evaluate the function in regions where it is undefined or subject to overflow.p is - //usually the Newton direction.The output quantity check is false on a normal exit.It is true - //when x is too close to xold.In a minimization algorithm, this usually signals convergence and - //can be ignored.However, in a zero - finding algorithm the calling program should check whether - //the convergence is spurious. - template - void lnsrch(Vector &xold, const Real fold, Vector &g, Vector &p, - Vector &x, Real &f, const Real stpmax, bool &check, T &func) - { - const Real ALF=1.0e-4, TOLX=std::numeric_limits::epsilon(); - Real a,alam,alam2=0.0,alamin,b,disc,f2=0.0; - Real rhs1,rhs2,slope=0.0,sum=0.0,temp,test,tmplam; - int i,n=xold.size(); - check=false; - for (i=0;i stpmax) - for (i=0;i= 0.0) throw("Roundoff problem in lnsrch."); - test=0.0; - for (i=0;i(std::abs(xold[i]),1.0); - if (temp > test) test=temp; - } - alamin=TOLX/test; - alam=1.0; - for (;;) { - for (i=0;i0.5*alam) - tmplam=0.5*alam; - } - } - alam2=alam; - f2 = f; - alam=std::max(tmplam,0.1*alam); - } - } - template - struct NRfdjac { - const Real EPS; - T &func; - NRfdjac(T &funcc) : EPS(1.0e-8),func(funcc) {} - Matrix operator() (Vector &x, Vector &fvec) { - int n=x.size(); - Matrix df(n,n); - Vector xh=x; - for (int j=0;j f=func(xh); - xh[j]=temp; - for (int i=0;i - struct NRfmin { - Vector fvec; - T &func; - int n; - NRfmin(T &funcc) : func(funcc){} - Real operator() (Vector &x) { - n=x.size(); - Real sum=0; - fvec=func(x); - for (int i=0;i + void lnsrch(Vector& xold, const Real fold, Vector& g, Vector& p, + Vector& x, Real& f, const Real stpmax, bool& check, T& func) + { + const Real ALF = 1.0e-4, TOLX = std::numeric_limits::epsilon(); + Real a, alam, alam2 = 0.0, alamin, b, disc, f2 = 0.0; + Real rhs1, rhs2, slope = 0.0, sum = 0.0, temp, test, tmplam; + int i, n = xold.size(); + check = false; + for (i = 0; i < n; i++) sum += p[i] * p[i]; + sum = sqrt(sum); + if (sum > stpmax) + for (i = 0; i < n; i++) + p[i] *= stpmax / sum; + for (i = 0; i < n; i++) + slope += g[i] * p[i]; + if (slope >= 0.0) throw("Roundoff problem in lnsrch."); + test = 0.0; + for (i = 0; i < n; i++) { + temp = std::abs(p[i]) / std::max(std::abs(xold[i]), 1.0); + if (temp > test) test = temp; + } + alamin = TOLX / test; + alam = 1.0; + for (;;) { + for (i = 0; i < n; i++) x[i] = xold[i] + alam * p[i]; + f = func(x); + if (alam < alamin) { + for (i = 0; i < n; i++) x[i] = xold[i]; + check = true; + return; + } + else if (f <= fold + ALF * alam * slope) return; + else { + if (alam == 1.0) + tmplam = -slope / (2.0 * (f - fold - slope)); + else { + rhs1 = f - fold - alam * slope; + rhs2 = f2 - fold - alam2 * slope; + a = (rhs1 / (alam * alam) - rhs2 / (alam2 * alam2)) / (alam - alam2); + b = (-alam2 * rhs1 / (alam * alam) + alam * rhs2 / (alam2 * alam2)) / (alam - alam2); + if (a == 0.0) tmplam = -slope / (2.0 * b); + else { + disc = b * b - 3.0 * a * slope; + if (disc < 0.0) tmplam = 0.5 * alam; + else if (b <= 0.0) tmplam = (-b + sqrt(disc)) / (3.0 * a); + else tmplam = -slope / (b + sqrt(disc)); + } + if (tmplam > 0.5 * alam) + tmplam = 0.5 * alam; + } + } + alam2 = alam; + f2 = f; + alam = std::max(tmplam, 0.1 * alam); + } + } + template + struct NRfdjac { + const Real EPS; + T& func; + NRfdjac(T& funcc) : EPS(1.0e-8), func(funcc) {} + Matrix operator() (Vector& x, Vector& fvec) { + int n = x.size(); + Matrix df(n, n); + Vector xh = x; + for (int j = 0; j < n; j++) { + Real temp = xh[j]; + Real h = EPS * std::abs(temp); + if (h == 0.0) h = EPS; + xh[j] = temp + h; + h = xh[j] - temp; + Vector f = func(xh); + xh[j] = temp; + for (int i = 0; i < n; i++) + df[i][j] = (f[i] - fvec[i]) / h; + } + return df; + } + }; + template + struct NRfmin { + Vector fvec; + T& func; + int n; + NRfmin(T& funcc) : func(funcc) {} + Real operator() (Vector& x) { + n = x.size(); + Real sum = 0; + fvec = func(x); + for (int i = 0; i < n; i++) sum += POW2(fvec[i]); + return 0.5 * sum; + } + }; - //Given an initial guess x[0..n - 1] for a root in n dimensions, find the root by a globally convergent - //Newton’s method.The vector of functions to be zeroed, called fvec[0..n - 1] in the routine - //below, is returned by the user - supplied function or functor vecfunc(see text).The output - //quantity check is false on a normal return and true if the routine has converged to a local - //minimum of the function fmin defined below.In this case try restarting from a different initial - //guess - template - void newt(Vector &x, bool &check, T &vecfunc) { - const int MAXITS=200; - const Real TOLF=1.0e-8,TOLMIN=1.0e-12,STPMX=100.0; - const Real TOLX=std::numeric_limits::epsilon(); - //Here MAXITS is the maximum number of iterations; TOLF sets the convergence criterion on - //function values; TOLMIN sets the criterion for deciding whether spurious convergence to a - //minimum of fmin has occurred; STPMX is the scaled maximum step length allowed in line - //searches; and TOLX is the convergence criterion on delta x - int i,j,its,n=x.size(); - Real den,f,fold,stpmax,sum,temp,test; - Vector g(n),p(n),xold(n); - Matrix fjac(n,n); - NRfmin fmin(vecfunc); - NRfdjac fdjac(vecfunc); - Vector &fvec=fmin.fvec; - f=fmin(x); - test=0.0; - for (i=0;i test) test=std::abs(fvec[i]); - if (test < 0.01*TOLF) { - check=false; - return; - } - sum=0.0; - for (i=0;i test) test=std::abs(fvec[i]); - if (test < TOLF) { - check=false; - return; - } - if (check) { - test=0.0; - den=std::max(f,0.5*n); - for (i=0;i(std::abs(x[i]),1.0)/den; - if (temp > test) test=temp; - } - check=(test < TOLMIN); - return; - } - test=0.0; - for (i=0;i(std::abs(x[i]),1.0); - if (temp > test) test=temp; - } - if (test < TOLX) - return; - } - throw("MAXITS exceeded in newt"); - } + //Given an initial guess x[0..n - 1] for a root in n dimensions, find the root by a globally convergent + //Newton’s method.The vector of functions to be zeroed, called fvec[0..n - 1] in the routine + //below, is returned by the user - supplied function or functor vecfunc(see text).The output + //quantity check is false on a normal return and true if the routine has converged to a local + //minimum of the function fmin defined below.In this case try restarting from a different initial + //guess + template + void newt(Vector& x, bool& check, T& vecfunc) { + const int MAXITS = 200; + const Real TOLF = 1.0e-8, TOLMIN = 1.0e-12, STPMX = 100.0; + const Real TOLX = std::numeric_limits::epsilon(); + //Here MAXITS is the maximum number of iterations; TOLF sets the convergence criterion on + //function values; TOLMIN sets the criterion for deciding whether spurious convergence to a + //minimum of fmin has occurred; STPMX is the scaled maximum step length allowed in line + //searches; and TOLX is the convergence criterion on delta x + int i, j, its, n = x.size(); + Real den, f, fold, stpmax, sum, temp, test; + Vector g(n), p(n), xold(n); + Matrix fjac(n, n); + NRfmin fmin(vecfunc); + NRfdjac fdjac(vecfunc); + Vector& fvec = fmin.fvec; + f = fmin(x); + test = 0.0; + for (i = 0; i < n; i++) + if (std::abs(fvec[i]) > test) test = std::abs(fvec[i]); + if (test < 0.01 * TOLF) { + check = false; + return; + } + sum = 0.0; + for (i = 0; i < n; i++) sum += POW2(x[i]); + stpmax = STPMX * std::max(sqrt(sum), Real(n)); + for (its = 0; its < MAXITS; its++) { + fjac = fdjac(x, fvec); + for (i = 0; i < n; i++) { + sum = 0.0; + for (j = 0; j < n; j++) sum += fjac[j][i] * fvec[j]; + g[i] = sum; + } + for (i = 0; i < n; i++) xold[i] = x[i]; + fold = f; + for (i = 0; i < n; i++) p[i] = -fvec[i]; - //Given an initial guess x[0..n - 1] for a root in n dimensions, find the root by Broyden’s - //method embedded in a globally convergent strategy.The vector of functions to be zeroed, - //called fvec[0..n - 1] in the routine below, is returned by the user - supplied function or functor - //vecfunc.The routines NRfdjac and NRfmin from newt are used.The output quantity check - //is false on a normal return and true if the routine has converged to a local minimum of the - //function fmin or if Broyden’s method can make no further progress.In this case try restarting - //from a different initial guess - template - void broydn(Vector &x, bool &check, T &vecfunc) - { - const int MAXITS=200; - const Real EPS=std::numeric_limits::epsilon(); - const Real TOLF=1.0e-8, TOLX=EPS, STPMX=100.0, TOLMIN=1.0e-12; - //Here MAXITS is the maximum number of iterations; EPS is the machine precision; TOLF - //is the convergence criterion on function values; TOLX is the convergence criterion on delta x; - //STPMX is the scaled maximum step length allowed in line searches; and TOLMIN is used to - //decide whether spurious convergence to a minimum of fmin has occurred. - bool restrt,skip; - int i,its,j,n=x.size(); - Real den,f,fold,stpmax,sum,temp,test; - Vector fvcold(n),g(n),p(n),s(n),t(n),w(n),xold(n); - QRDecompositionSolver *qr; - NRfmin fmin(vecfunc); - NRfdjac fdjac(vecfunc); - Vector &fvec=fmin.fvec; - f=fmin(x); - test=0.0; - for (i=0;i test) test=std::abs(fvec[i]); - if (test < 0.01*TOLF) { - check=false; - return; - } - for (sum=0.0,i=0;ising) { - Matrix one(n,n,0.0); - for (i=0;ir[i][j]*s[j]; - t[i]=sum; - } - skip=true; - for (i=0;iqt[j][i]*t[j]; - w[i]=fvec[i]-fvcold[i]-sum; - if (std::abs(w[i]) >= EPS*(std::abs(fvec[i])+std::abs(fvcold[i]))) skip=false; - else w[i]=0.0; - } - if (!skip) { - qr->qtmult(w,t); - for (den=0.0,i=0;iupdate(t,s); - if (qr->sing) throw("singular update in broydn"); - } - } - qr->qtmult(fvec,p); - for (i=0;i=0;i--) { - for (sum=0.0,j=0;j<=i;j++) sum -= qr->r[j][i]*p[j]; - g[i]=sum; - } - for (i=0;iRSolve(p,p); - Real slope=0.0; - for (i=0;i= 0.0) { - restrt=true; - continue; - } - lnsrch(xold,fold,g,p,x,f,stpmax,check,fmin); - test=0.0; - for (i=0;i test) test=std::abs(fvec[i]); - if (test < TOLF) { - check=false; - delete qr; - return; - } - if (check) { - if (restrt) { - delete qr; - return; - } else { - test=0.0; - den=std::max(f,0.5*n); - for (i=0;i(std::abs(x[i]),1.0)/den; - if (temp > test) test=temp; - } - if (test < TOLMIN) { - delete qr; - return; - } - else restrt=true; - } - } else { - restrt=false; - test=0.0; - for (i=0;i(std::abs(x[i]),1.0); - if (temp > test) test=temp; - } - if (test < TOLX) { - delete qr; - return; - } - } - } - throw("MAXITS exceeded in broydn"); - } + LUDecompositionSolver alu(fjac); + + alu.Solve(p, p); + + lnsrch(xold, fold, g, p, x, f, stpmax, check, fmin); + + test = 0.0; + for (i = 0; i < n; i++) + if (std::abs(fvec[i]) > test) test = std::abs(fvec[i]); + if (test < TOLF) { + check = false; + return; + } + if (check) { + test = 0.0; + den = std::max(f, 0.5 * n); + for (i = 0; i < n; i++) { + temp = std::abs(g[i]) * std::max(std::abs(x[i]), 1.0) / den; + if (temp > test) test = temp; + } + check = (test < TOLMIN); + return; + } + test = 0.0; + for (i = 0; i < n; i++) { + temp = (std::abs(x[i] - xold[i])) / std::max(std::abs(x[i]), 1.0); + if (temp > test) test = temp; + } + if (test < TOLX) + return; + } + throw("MAXITS exceeded in newt"); + } + + //Given an initial guess x[0..n - 1] for a root in n dimensions, find the root by Broyden’s + //method embedded in a globally convergent strategy.The vector of functions to be zeroed, + //called fvec[0..n - 1] in the routine below, is returned by the user - supplied function or functor + //vecfunc.The routines NRfdjac and NRfmin from newt are used.The output quantity check + //is false on a normal return and true if the routine has converged to a local minimum of the + //function fmin or if Broyden’s method can make no further progress.In this case try restarting + //from a different initial guess + template + void broydn(Vector& x, bool& check, T& vecfunc) + { + const int MAXITS = 200; + const Real EPS = std::numeric_limits::epsilon(); + const Real TOLF = 1.0e-8, TOLX = EPS, STPMX = 100.0, TOLMIN = 1.0e-12; + //Here MAXITS is the maximum number of iterations; EPS is the machine precision; TOLF + //is the convergence criterion on function values; TOLX is the convergence criterion on delta x; + //STPMX is the scaled maximum step length allowed in line searches; and TOLMIN is used to + //decide whether spurious convergence to a minimum of fmin has occurred. + bool restrt, skip; + int i, its, j, n = x.size(); + Real den, f, fold, stpmax, sum, temp, test; + Vector fvcold(n), g(n), p(n), s(n), t(n), w(n), xold(n); + QRDecompositionSolver* qr; + NRfmin fmin(vecfunc); + NRfdjac fdjac(vecfunc); + Vector& fvec = fmin.fvec; + f = fmin(x); + test = 0.0; + for (i = 0; i < n; i++) + if (std::abs(fvec[i]) > test) test = std::abs(fvec[i]); + if (test < 0.01 * TOLF) { + check = false; + return; + } + for (sum = 0.0, i = 0; i < n; i++) sum += POW2(x[i]); + stpmax = STPMX * std::max(sqrt(sum), Real(n)); + restrt = true; + for (its = 1; its <= MAXITS; its++) { + if (restrt) { + qr = new QRDecompositionSolver(fdjac(x, fvec)); + if (qr->sing) { + Matrix one(n, n, 0.0); + for (i = 0; i < n; i++) one[i][i] = 1.0; + delete qr; + qr = new QRDecompositionSolver(one); + } + } + else { + for (i = 0; i < n; i++) s[i] = x[i] - xold[i]; + for (i = 0; i < n; i++) { + for (sum = 0.0, j = i; j < n; j++) sum += qr->r[i][j] * s[j]; + t[i] = sum; + } + skip = true; + for (i = 0; i < n; i++) { + for (sum = 0.0, j = 0; j < n; j++) sum += qr->qt[j][i] * t[j]; + w[i] = fvec[i] - fvcold[i] - sum; + if (std::abs(w[i]) >= EPS * (std::abs(fvec[i]) + std::abs(fvcold[i]))) skip = false; + else w[i] = 0.0; + } + if (!skip) { + qr->qtmult(w, t); + for (den = 0.0, i = 0; i < n; i++) den += POW2(s[i]); + for (i = 0; i < n; i++) s[i] /= den; + qr->update(t, s); + if (qr->sing) throw("singular update in broydn"); + } + } + qr->qtmult(fvec, p); + for (i = 0; i < n; i++) + p[i] = -p[i]; + for (i = n - 1; i >= 0; i--) { + for (sum = 0.0, j = 0; j <= i; j++) sum -= qr->r[j][i] * p[j]; + g[i] = sum; + } + for (i = 0; i < n; i++) { + xold[i] = x[i]; + fvcold[i] = fvec[i]; + } + fold = f; + qr->RSolve(p, p); + Real slope = 0.0; + for (i = 0; i < n; i++) slope += g[i] * p[i]; + if (slope >= 0.0) { + restrt = true; + continue; + } + lnsrch(xold, fold, g, p, x, f, stpmax, check, fmin); + test = 0.0; + for (i = 0; i < n; i++) + if (std::abs(fvec[i]) > test) test = std::abs(fvec[i]); + if (test < TOLF) { + check = false; + delete qr; + return; + } + if (check) { + if (restrt) { + delete qr; + return; + } + else { + test = 0.0; + den = std::max(f, 0.5 * n); + for (i = 0; i < n; i++) { + temp = std::abs(g[i]) * std::max(std::abs(x[i]), 1.0) / den; + if (temp > test) test = temp; + } + if (test < TOLMIN) { + delete qr; + return; + } + else restrt = true; + } + } + else { + restrt = false; + test = 0.0; + for (i = 0; i < n; i++) { + temp = (std::abs(x[i] - xold[i])) / std::max(std::abs(x[i]), 1.0); + if (temp > test) test = temp; + } + if (test < TOLX) { + delete qr; + return; + } + } + } + throw("MAXITS exceeded in broydn"); + } } /////////////////////////// ./include/algorithms/Statistics.h /////////////////////////// @@ -16682,72 +16952,73 @@ namespace MML::RootFinding namespace MML { - class Statistics - { - public: - static Real Avg(Vector &data) - { - Real outAvg = 0.0; - int n=data.size(); - - for (int j=0;j& data) + { + Real outAvg = 0.0; + int n = data.size(); - static void AvgVar(Vector &data, Real &outAvg, Real &outVar) - { - Real s,ep; - int j,n=data.size(); - - outAvg=0.0; - for (j=0;j &data, Real &ave, Real &adev, Real &sdev, Real &var, Real &skew, Real &curt) - { - int j,n=data.size(); - Real ep=0.0,s,p; - - if (n <= 1) - throw("n must be at least 2 in moment"); - - s=0.0; - for (j=0;j& data, Real& outAvg, Real& outVar) + { + Real s, ep; + int j, n = data.size(); + + outAvg = 0.0; + for (j = 0; j < n; j++) + outAvg += data[j]; + outAvg /= n; + + outVar = ep = 0.0; + for (j = 0; j < n; j++) { + s = data[j] - outAvg; + ep += s; + outVar += s * s; + } + outVar = (outVar - ep * ep / n) / (n - 1); + } + + static void Moments(Vector& data, Real& ave, Real& adev, Real& sdev, Real& var, Real& skew, Real& curt) + { + int j, n = data.size(); + Real ep = 0.0, s, p; + + if (n <= 1) + throw("n must be at least 2 in moment"); + + s = 0.0; + for (j = 0; j < n; j++) + s += data[j]; + ave = s / n; + + adev = var = skew = curt = 0.0; + for (j = 0; j < n; j++) { + adev += std::abs(s = data[j] - ave); + ep += s; + var += (p = s * s); + skew += (p *= s); + curt += (p *= s); + } + adev /= n; + var = (var - ep * ep / n) / (n - 1); + sdev = sqrt(var); + + if (var != 0.0) { + skew /= (n * var * sdev); + curt = curt / (n * var * var) - 3.0; + } + else + throw("No skew/kurtosis when variance = 0 (in moment)"); + } + }; } /////////////////////////// ./include/algorithms/MatrixAlg.h /////////////////////////// @@ -16756,36 +17027,36 @@ namespace MML namespace MML { - namespace MatrixUtils - { - static bool IsPositiveDefinite(const Matrix &mat) - { - EigenSolver eigenSolver(mat); + namespace MatrixUtils + { + static bool IsPositiveDefinite(const Matrix& mat) + { + EigenSolver eigenSolver(mat); - if( eigenSolver.getNumReal() < mat.RowNum() ) - return false; + if (eigenSolver.getNumReal() < mat.RowNum()) + return false; - for( int i=0; i &mat) - { - EigenSolver eigenSolver(mat); + static bool IsPositiveSemiDefinite(const Matrix& mat) + { + EigenSolver eigenSolver(mat); - if( eigenSolver.getNumReal() < mat.RowNum() ) - return false; + if (eigenSolver.getNumReal() < mat.RowNum()) + return false; - for( int i=0; i _notDefinedPoints; @@ -16911,7 +17182,6 @@ namespace MML return inflection_points; } - // TODO - GetMin(x1, x2, num sart points) bool isDefinedAtPoint(Real x) { Real y = _f(x); @@ -16928,9 +17198,9 @@ namespace MML Real right = _f(x + h); // handling case of constant function - if( val == left && val == right) + if (val == left && val == right) return true; - + Real abs_dif = std::abs(left - right); // smanji tu abs razliku na pola, i nadji h za koji to vrijedi @@ -16941,25 +17211,12 @@ namespace MML left = _f(x - h); right = _f(x + h); - if(std::abs(left - right) < req_new_abs) + if (std::abs(left - right) < req_new_abs) return true; h /= 2.0; } return false; - - - //Real der = Derivation::NDer1(_f, x); - //Real fact = pow(10, (int)log10(std::abs(der)) + 3); - ////Real left_der = Derivation::NDer1Left(_f, x, eps / fact); - ////Real right_der = Derivation::NDer1Right(_f, x, eps / fact); - - //Real left_der = Derivation::NDer4Left(_f, x); - //Real right_der = Derivation::NDer4Right(_f, x); - - //Real dif = std::abs(left_der - right_der); - - //return std::abs(left_der - right_der) < eps * fact; } bool isLocalOptimum(Real x, Real eps) { @@ -16970,7 +17227,7 @@ namespace MML } bool isInflectionPoint(Real x, Real eps) { - // TODO - bolje - mora biti first der == 0! + // TODO - FIX - mora biti first der == 0! Real left_sec_der = Derivation::NSecDer4(_f, x - 4 * eps); Real right_sec_der = Derivation::NSecDer4(_f, x + 4 * eps); diff --git a/src/algorithms/demo_ode_system_solvers.cpp b/src/algorithms/demo_ode_system_solvers.cpp index def94e3..0c0eb3d 100644 --- a/src/algorithms/demo_ode_system_solvers.cpp +++ b/src/algorithms/demo_ode_system_solvers.cpp @@ -7,7 +7,7 @@ #include "base/Vector.h" -#include "core/Vizualizer.h" +#include "core/Visualizer.h" #include "core/Serializer.h" #include "algorithms/ODESystemSolver.h" @@ -45,7 +45,6 @@ void Demo_Lorenz_solve() void Demo_VanderPol_solve() { auto sys0 = TestBeds::ODESystemTestBed::getODESystem(1); - auto sys_stiff = TestBeds::ODESystemTestBed::getODESystemWithJacobian(0); const double atol=1.0e-3, rtol=atol, h1=0.01, hmin=0.0, x1=0.0, x2=2.0; @@ -119,7 +118,7 @@ void Demo_VanderPol_solve() int nok, nbad; ystart0[0]=2.0; ystart0[1]=0.0; - RungeKuttaNR2 rkNR2; + RungeKuttaSolverSimple rkNR2; ODESystemSolution sol2 = rkNR2.integrate(sys0, ystart0, 0.0, 2.0, 100, 0.1, 1e-06, h1, hmin, nok, nbad); std::cout << "x values:\n"; sol2._xval.Print(std::cout, 7,3); std::cout << std::endl; @@ -130,6 +129,8 @@ void Demo_VanderPol_solve() std::cout << "\n***********************************************************\n"; std::cout << "****** Stiff system - Rosenbrock method ******\n"; + auto sys_stiff = TestBeds::ODESystemTestBed::getODESystemWithJacobian(0); + Vector ystart02(sys_stiff.getDim()); ystart02[0]=1.0; ystart02[1]=1.0; @@ -171,7 +172,7 @@ void Demo_SimpleLinearODE_solve() std::cout << "x values:\n"; sol.xval.Print(std::cout, 7, 3); std::cout << std::endl; std::cout << "y values: - "; sol.yval.Print(std::cout, 7, 3); - RungeKuttaNR2 rkNR2; + RungeKuttaSolverSimple rkNR2; int nok, nbad; ODESystemSolution sol2 = rkNR2.integrate(sys, sys.getInitialConditions(), 0.0, 2.0, 20, 0.1, 1e-06, h1, hmin, nok, nbad); diff --git a/src/algorithms/demo_path_integration.cpp b/src/algorithms/demo_path_integration.cpp index cbd8f97..d608246 100644 --- a/src/algorithms/demo_path_integration.cpp +++ b/src/algorithms/demo_path_integration.cpp @@ -12,33 +12,33 @@ using namespace MML; void Calc_curve_length() { - ParametricCurve<3> circle([](Real t) { return VectorN{cos(t), sin(t), 0}; }); - ParametricCurve<3> helix([](Real t) { return VectorN{cos(t), sin(t), t}; }); + ParametricCurve<3> circle([](Real t) { return VectorN{cos(t), sin(t), 0}; }); + ParametricCurve<3> helix([](Real t) { return VectorN{cos(t), sin(t), t}; }); - Real len = PathIntegration::ParametricCurveLength(circle, 0, 2*3.14); + Real len = PathIntegration::ParametricCurveLength(circle, 0, 2 * 3.14); - std::cout << "Length of circle is " << PathIntegration::ParametricCurveLength(circle, 0, 2*3.14) << endl; - std::cout << "Length of helix is " << PathIntegration::ParametricCurveLength(helix, 0, 2*3.14) << endl; + std::cout << "Length of circle is " << PathIntegration::ParametricCurveLength(circle, 0, 2 * 3.14) << endl; + std::cout << "Length of helix is " << PathIntegration::ParametricCurveLength(helix, 0, 2 * 3.14) << endl; } void Calc_work_integral() { - ScalarFunction<3> potential([](const VectorN &x) { return Real{10.0} / x.NormL2(); }); - ParametricCurve<3> circle([](Real t) { return VectorN{cos(t), sin(t), 1}; }); + ScalarFunction<3> potential([](const VectorN& x) { return Real{ 10.0 } / x.NormL2(); }); + ParametricCurve<3> circle([](Real t) { return VectorN{cos(t), sin(t), 1}; }); - for( auto phi=0.1; phi < 2*3.14159; phi += 0.25 ) - { - std::cout << "Work integral for phi : " << phi << " is : " << PathIntegration::WorkIntegral(potential, circle, 0, phi, 1e-03) << endl; - } + for (auto phi = 0.1; phi < 2 * 3.14159; phi += 0.25) + { + std::cout << "Work integral for phi : " << phi << " is : " << PathIntegration::WorkIntegral(potential, circle, 0, phi, 1e-03) << endl; + } } void Demo_Path_Integration() { - std::cout << endl; - std::cout << "***********************************************************************" << endl; - std::cout << "**** PATH INTEGRATION ****" << endl; - std::cout << "***********************************************************************" << endl; + std::cout << endl; + std::cout << "***********************************************************************" << endl; + std::cout << "**** PATH INTEGRATION ****" << endl; + std::cout << "***********************************************************************" << endl; - Calc_curve_length(); - Calc_work_integral(); + Calc_curve_length(); + Calc_work_integral(); } \ No newline at end of file diff --git a/src/algorithms/demo_root_finding.cpp b/src/algorithms/demo_root_finding.cpp index f9028c1..236f890 100644 --- a/src/algorithms/demo_root_finding.cpp +++ b/src/algorithms/demo_root_finding.cpp @@ -14,13 +14,13 @@ using namespace MML; void Demo_Root_finding() { - std::cout << endl; - std::cout << "***********************************************************************" << endl; - std::cout << "**** ROOT FINDING ****" << endl; - std::cout << "***********************************************************************" << endl; + std::cout << endl; + std::cout << "***********************************************************************" << endl; + std::cout << "**** ROOT FINDING ****" << endl; + std::cout << "***********************************************************************" << endl; - RealFunction f([](Real x) { return x*x - 2; }); - double a = 0.0; - double b = 2.0; - bool isBracketed = RootFinding::zbrac(f, a, b); + RealFunction f([](Real x) { return x * x - 2; }); + double a = 0.0; + double b = 2.0; + bool isBracketed = RootFinding::zbrac(f, a, b); } \ No newline at end of file diff --git a/src/base/demo_matrix_other.cpp b/src/base/demo_matrix_other.cpp index ccbb369..3b969c7 100644 --- a/src/base/demo_matrix_other.cpp +++ b/src/base/demo_matrix_other.cpp @@ -39,7 +39,7 @@ void Demo_Matrix_Tridiag() std::cout << "***********************************************************" << std::endl; // initializing with 3 vectors - TridiagonalMatrix a(4, {0.0, 4.5, 9.0, 10.0}, {4.0, 1.5, 6.0, 7.0}, {1.0, 2.0, 3.0, 0.0} ); +// TridiagonalMatrix a(4, {0.0, 4.5, 9.0, 10.0}, {4.0, 1.5, 6.0, 7.0}, {1.0, 2.0, 3.0, 0.0} ); // initializing with values in single initializer list TridiagonalMatrix b(4, { 4.0, 1.0, @@ -58,14 +58,14 @@ void Demo_Matrix_Tridiag() 0.0, 0.0, 10.0, 7.0 }); Vector rhs{1.0, 2.0, 3.0, 4.0}; - a.Print(std::cout, 10, 3); + //a.Print(std::cout, 10, 3); b.Print(std::cout, 10, 3); std::cout << "rhs: " << rhs << std::endl; Vector sol_a(4); Vector sol_b(4); - a.Solve(rhs, sol_a); + //a.Solve(rhs, sol_a); b.Solve(rhs, sol_b); std::cout << "sol_a: " << sol_a << std::endl; diff --git a/src/base/demo_matrixnm.cpp b/src/base/demo_matrixnm.cpp index 3225b7a..9861151 100644 --- a/src/base/demo_matrixnm.cpp +++ b/src/base/demo_matrixnm.cpp @@ -8,151 +8,151 @@ using namespace MML; -void MatrixNM_initializations() +void MatrixNM_initializations() { - std::cout << "***********************************************************" << std::endl; - std::cout << "******* MatrixNM initialization *******" << std::endl; - - MatrixNM a; - MatrixNM b({1.0, 0.0, 0.0, 1.0}); - MatrixNM c(b); - MatrixNM d = c; - auto e = MatrixNM::GetUnitMatrix(); - - std::cout << "a = " << a << std::endl; - std::cout << "b = " << b << std::endl; - std::cout << "c = " << c << std::endl; - std::cout << "d = " << d << std::endl; - std::cout << "e = " << e << std::endl; + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM initialization *******" << std::endl; + + MatrixNM a; + MatrixNM b({ 1.0, 0.0, 0.0, 1.0 }); + MatrixNM c(b); + MatrixNM d = c; + auto e = MatrixNM::GetUnitMatrix(); + + std::cout << "a = " << a << std::endl; + std::cout << "b = " << b << std::endl; + std::cout << "c = " << c << std::endl; + std::cout << "d = " << d << std::endl; + std::cout << "e = " << e << std::endl; } -void MatrixNM_vector_init_operations() +void MatrixNM_vector_init_operations() { - std::cout << "***********************************************************" << std::endl; - std::cout << "******* MatrixNM - VectorN init operations ******" << std::endl; - - VectorN a({1.0, 1.0, 1.0}); - MatrixNM matA = MatrixNM::RowMatrixFromVector(a); - auto matAauto = MatrixNM::RowMatrixFromVector(a); - MatrixNM matB = MatrixNM::ColumnMatrixFromVector(a); - auto matBauto = MatrixNM::ColumnMatrixFromVector(a); - - std::cout << "Vector a = " << a << std::endl; - std::cout << "Matrix matA = Matrix::RowMatrixFromVector(a);\nmatA = " << matA << std::endl; - std::cout << "Matrix matB = Matrix::ColMatrixFromVector(a);\nmatB = " << matB << std::endl; - - MatrixNM m1({1.0, -1.0, 1.5, 3.0}); - VectorN vecRow = MatrixNM::VectorFromRow(m1, 0); - VectorN vecCol = MatrixNM::VectorFromColumn(m1, 0); - VectorN vecDiag = MatrixNM::VectorFromDiagonal(m1); - - std::cout << "Matrix m1 = " << m1 << std::endl; - std::cout << "Vector vecRow = Matrix::VectorFromRow(a,0) = " << vecRow << std::endl; - std::cout << "Vector vecCol = Matrix::VectorFromColumn(a, 0) = " << vecCol << std::endl; - std::cout << "Vector vecCol = Matrix::VectorFromDiagonal(a) = " << vecDiag << std::endl; + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM - VectorN init operations ******" << std::endl; + + VectorN a({ 1.0, 1.0, 1.0 }); + MatrixNM matA = MatrixNM::RowMatrixFromVector(a); + auto matAauto = MatrixNM::RowMatrixFromVector(a); + MatrixNM matB = MatrixNM::ColumnMatrixFromVector(a); + auto matBauto = MatrixNM::ColumnMatrixFromVector(a); + + std::cout << "Vector a = " << a << std::endl; + std::cout << "Matrix matA = Matrix::RowMatrixFromVector(a);\nmatA = " << matA << std::endl; + std::cout << "Matrix matB = Matrix::ColMatrixFromVector(a);\nmatB = " << matB << std::endl; + + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); + VectorN vecRow = MatrixNM::VectorFromRow(m1, 0); + VectorN vecCol = MatrixNM::VectorFromColumn(m1, 0); + VectorN vecDiag = MatrixNM::VectorFromDiagonal(m1); + + std::cout << "Matrix m1 = " << m1 << std::endl; + std::cout << "Vector vecRow = Matrix::VectorFromRow(a,0) = " << vecRow << std::endl; + std::cout << "Vector vecCol = Matrix::VectorFromColumn(a, 0) = " << vecCol << std::endl; + std::cout << "Vector vecCol = Matrix::VectorFromDiagonal(a) = " << vecDiag << std::endl; } -void MatrixNM_accessing_elements() +void MatrixNM_accessing_elements() { - // ElemAt + operator[] + // ElemAt + operator[] } -void Basic_MatrixNM_operations() +void Basic_MatrixNM_operations() { - std::cout << "***********************************************************" << std::endl; - std::cout << "******* MatrixNM Basic operation *******" << std::endl; + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM Basic operation *******" << std::endl; - MatrixNM m1({1.0, -1.0, 1.5, 3.0}), m2; - m2.MakeUnitMatrix(); + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }), m2; + m2.MakeUnitMatrix(); - std::cout << "m1 = " << m1 << std::endl; - std::cout << "m2 = " << m2 << std::endl; + std::cout << "m1 = " << m1 << std::endl; + std::cout << "m2 = " << m2 << std::endl; - std::cout << "m1 + m2 = " << m1 + m2 << std::endl; - std::cout << "m1 - m2 = " << m1 - m2 << std::endl; - std::cout << "m1 * m2 = " << m1 * m2 << std::endl; - std::cout << "2.0 * m1 = " << 2.0 * m1 << std::endl; - std::cout << "m1 * 2.0 = " << m1 * 2.0 << std::endl; - std::cout << "m1 / 2.0 = " << m1 / 2.0 << std::endl; + std::cout << "m1 + m2 = " << m1 + m2 << std::endl; + std::cout << "m1 - m2 = " << m1 - m2 << std::endl; + std::cout << "m1 * m2 = " << m1 * m2 << std::endl; + std::cout << "2.0 * m1 = " << 2.0 * m1 << std::endl; + std::cout << "m1 * 2.0 = " << m1 * 2.0 << std::endl; + std::cout << "m1 / 2.0 = " << m1 / 2.0 << std::endl; } -void MatrixNM_VectorN_mul() +void MatrixNM_VectorN_mul() { - std::cout << "***********************************************************" << std::endl; - std::cout << "******* MatrixNM VectorN multiplication *******" << std::endl; + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM VectorN multiplication *******" << std::endl; - VectorN v1({1.0, 2.0}); - MatrixNM m1({1.0, -1.0, 1.5, 3.0}); - - std::cout << "v1 = " << v1 << std::endl; - std::cout << "m1 = " << m1 << std::endl; + VectorN v1({ 1.0, 2.0 }); + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); - std::cout << "v1 * m1 = " << v1 * m1 << std::endl; - std::cout << "m1 * v1 = " << m1 * v1 << std::endl; + std::cout << "v1 = " << v1 << std::endl; + std::cout << "m1 = " << m1 << std::endl; + + std::cout << "v1 * m1 = " << v1 * m1 << std::endl; + std::cout << "m1 * v1 = " << m1 * v1 << std::endl; } -void MatrixNM_MatrixNM_mul() +void MatrixNM_MatrixNM_mul() { - std::cout << "***********************************************************" << std::endl; - std::cout << "******* MatrixNM MatrixNM multiplication *******" << std::endl; - - MatrixNM m3{1.0, 1.0, 1.0}; - MatrixNM m4{1.0, 0.0, 0.0, 0.0, - 0.0, 1.0, 0.0, 0.0, - 0.0, 0.0, 1.0, 1.0}; - MatrixNM m5 = m3 * m4; - - std::cout << "m3 = " << m3 << std::endl; - std::cout << "m4 = " << m4 << std::endl; - std::cout << "m3 * m4 = " << m5 << std::endl; + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM MatrixNM multiplication *******" << std::endl; + + MatrixNM m3{ 1.0, 1.0, 1.0 }; + MatrixNM m4{ 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 1.0 }; + MatrixNM m5 = m3 * m4; + + std::cout << "m3 = " << m3 << std::endl; + std::cout << "m4 = " << m4 << std::endl; + std::cout << "m3 * m4 = " << m5 << std::endl; } void MatrixNM_Invert() { - std::cout << "***********************************************************" << std::endl; - std::cout << "******* MatrixNM Invert *******" << std::endl; + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM Invert *******" << std::endl; + + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); - MatrixNM m1({1.0, -1.0, 1.5, 3.0}); + std::cout << "m1 = " << m1 << std::endl; + auto m2 = m1.GetInverse(); - std::cout << "m1 = " << m1 << std::endl; - auto m2 = m1.GetInverse(); - - std::cout << "m2 (inv) = " << m2 << std::endl; + std::cout << "m2 (inv) = " << m2 << std::endl; - auto munit = m1 * m2; - std::cout << "m1 * m2 = " << munit << std::endl; + auto munit = m1 * m2; + std::cout << "m1 * m2 = " << munit << std::endl; } void MatrixNM_transpose() { - std::cout << "***********************************************************" << std::endl; - std::cout << "******* MatrixNM Transpose *******" << std::endl; + std::cout << "***********************************************************" << std::endl; + std::cout << "******* MatrixNM Transpose *******" << std::endl; - MatrixNM m1({1.0, -1.0, 1.5, 3.0}); - std::cout << "m1 = " << m1 << std::endl; + MatrixNM m1({ 1.0, -1.0, 1.5, 3.0 }); + std::cout << "m1 = " << m1 << std::endl; - auto m2 = m1.GetTranspose(); - std::cout << "m2 (transp) = " << m2 << std::endl; + auto m2 = m1.GetTranspose(); + std::cout << "m2 (transp) = " << m2 << std::endl; - m1.Transpose(); - std::cout << "Transposing m1 (in place) = " << m1 << std::endl; + m1.Transpose(); + std::cout << "Transposing m1 (in place) = " << m1 << std::endl; } void Demo_MatrixNM() { - std::cout << std::endl; - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** MATRIX N_M ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; - - MatrixNM_initializations(); - MatrixNM_vector_init_operations(); - MatrixNM_accessing_elements(); - - Basic_MatrixNM_operations(); - MatrixNM_VectorN_mul(); - MatrixNM_MatrixNM_mul(); - - MatrixNM_Invert(); - MatrixNM_transpose(); + std::cout << std::endl; + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** MATRIX N_M ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + MatrixNM_initializations(); + MatrixNM_vector_init_operations(); + MatrixNM_accessing_elements(); + + Basic_MatrixNM_operations(); + MatrixNM_VectorN_mul(); + MatrixNM_MatrixNM_mul(); + + MatrixNM_Invert(); + MatrixNM_transpose(); } \ No newline at end of file diff --git a/src/base/demo_polynom.cpp b/src/base/demo_polynom.cpp index 7f210a8..05bff8c 100644 --- a/src/base/demo_polynom.cpp +++ b/src/base/demo_polynom.cpp @@ -12,65 +12,65 @@ using namespace MML; // TODO - evaluate exp(x) series for matrix and compare with direct calculation void Demo_Polynom() { - std::cout << std::endl; - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** POLYNOM ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; - - // Initialization of polynomials - RealPolynom pol_constant({1}); - RealPolynom pol_linear({1, 2}); - RealPolynom pol_quadratic({1, 2, 3}); - RealPolynom pol_cubic({1, 2, 3, 4}); - RealPolynom pol_quartic({1, 2, 3, 4, 5}); + std::cout << std::endl; + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** POLYNOM ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; - ComplexPolynom p2({1, 2, 3, 4, 5}); + // Initialization of polynomials + RealPolynom pol_constant({ 1 }); + RealPolynom pol_linear({ 1, 2 }); + RealPolynom pol_quadratic({ 1, 2, 3 }); + RealPolynom pol_cubic({ 1, 2, 3, 4 }); + RealPolynom pol_quartic({ 1, 2, 3, 4, 5 }); - RealPolynom poly_real({1, 2, 3, 4, 5}); - ComplexPolynom poly_cmplx({Complex(1,1), Complex(1,1)}); - Matrix2Polynom poly_mat({1, 2, 3}); // matrix polynomial of 3rd order + ComplexPolynom p2({ 1, 2, 3, 4, 5 }); - // I/O of polynomials - std::cout << "pol_constant : " << pol_constant << std::endl; - std::cout << "pol_linear : " << pol_linear << std::endl; - std::cout << "pol_quadratic : " << pol_quadratic << std::endl; - std::cout << "pol_cubic : " << pol_cubic << std::endl; - std::cout << "pol_quartic : " << pol_quartic << std::endl; - std::cout << "p2 : " << p2 << std::endl; - std::cout << "poly_real : " << poly_real << std::endl; - std::cout << "poly_cmplx : " << poly_cmplx << std::endl; - std::cout << "m2 : " << poly_mat << std::endl; + RealPolynom poly_real({ 1, 2, 3, 4, 5 }); + ComplexPolynom poly_cmplx({ Complex(1,1), Complex(1,1) }); + Matrix2Polynom poly_mat({ 1, 2, 3 }); // matrix polynomial of 3rd order - // Evaluation of polynomials - double v = poly_real(5.0); - Complex q = poly_cmplx(Complex(2,3)); - MatrixNM m2_3 = poly_mat(MatrixNM ({1, 2, 3, 4})); // evaluate the polynomial at the given matrix value + // I/O of polynomials + std::cout << "pol_constant : " << pol_constant << std::endl; + std::cout << "pol_linear : " << pol_linear << std::endl; + std::cout << "pol_quadratic : " << pol_quadratic << std::endl; + std::cout << "pol_cubic : " << pol_cubic << std::endl; + std::cout << "pol_quartic : " << pol_quartic << std::endl; + std::cout << "p2 : " << p2 << std::endl; + std::cout << "poly_real : " << poly_real << std::endl; + std::cout << "poly_cmplx : " << poly_cmplx << std::endl; + std::cout << "m2 : " << poly_mat << std::endl; - // in detail - MatrixNM eval_mat({1, 2, 3, 4}); // matrix to evaluate the polynomial at - MatrixNM m2_2 = poly_mat(eval_mat); // evaluate the polynomial at the given matrix value + // Evaluation of polynomials + double v = poly_real(5.0); + Complex q = poly_cmplx(Complex(2, 3)); + MatrixNM m2_3 = poly_mat(MatrixNM({ 1, 2, 3, 4 })); // evaluate the polynomial at the given matrix value - // Operations on polynomials - RealPolynom pol_sum = pol_quadratic + pol_cubic; - RealPolynom pol_diff = pol_quadratic - pol_cubic; - RealPolynom pol_prod = pol_quadratic * pol_cubic; - - RealPolynom pol_sum2 = pol_quadratic * 2.0; - RealPolynom pol_diff2 = pol_quadratic / 2.0; - RealPolynom pol_prod2 = 2.0 * pol_quadratic; + // in detail + MatrixNM eval_mat({ 1, 2, 3, 4 }); // matrix to evaluate the polynomial at + MatrixNM m2_2 = poly_mat(eval_mat); // evaluate the polynomial at the given matrix value - std::cout << "\nReal polynom output:\n"; - std::cout << poly_real << std::endl; - std::cout << poly_real.to_string(10, 5) << std::endl; - poly_real.Print(std::cout, 7, 3); - - std::cout << "\nComplex polynom output:\n"; - std::cout << poly_cmplx << std::endl; - std::cout << poly_cmplx.to_string(10, 5) << std::endl; - poly_cmplx.Print(std::cout, 7, 3); - - std::cout << "\nReal matrix output:\n"; - std::cout << poly_mat << std::endl; - std::cout << poly_mat.to_string(10, 5) << std::endl; - poly_mat.Print(std::cout, 7, 3); + // Operations on polynomials + RealPolynom pol_sum = pol_quadratic + pol_cubic; + RealPolynom pol_diff = pol_quadratic - pol_cubic; + RealPolynom pol_prod = pol_quadratic * pol_cubic; + + RealPolynom pol_sum2 = pol_quadratic * 2.0; + RealPolynom pol_diff2 = pol_quadratic / 2.0; + RealPolynom pol_prod2 = 2.0 * pol_quadratic; + + std::cout << "\nReal polynom output:\n"; + std::cout << poly_real << std::endl; + std::cout << poly_real.to_string(10, 5) << std::endl; + poly_real.Print(std::cout, 7, 3); + + std::cout << "\nComplex polynom output:\n"; + std::cout << poly_cmplx << std::endl; + std::cout << poly_cmplx.to_string(10, 5) << std::endl; + poly_cmplx.Print(std::cout, 7, 3); + + std::cout << "\nReal matrix output:\n"; + std::cout << poly_mat << std::endl; + std::cout << poly_mat.to_string(10, 5) << std::endl; + poly_mat.Print(std::cout, 7, 3); } diff --git a/src/core/demo_coord_system.cpp b/src/core/demo_coord_system.cpp index e05b2fc..f616d81 100644 --- a/src/core/demo_coord_system.cpp +++ b/src/core/demo_coord_system.cpp @@ -3,7 +3,7 @@ #else #include "MMLBase.h" -#include "core/CoordTransf.h" +#include "core/CoordSystem.h" #endif using namespace MML; @@ -13,196 +13,54 @@ using namespace MML; // 1. simple- carousel promjera 10 km, i na njemu ljudi // 2. carousel promjera 10 km, i na njemu ljudi, i na njemu je jos jedan carousel promjera 1 km // na njemu se odvija streljačko natjecanje -class ReferentialFrame3D -{ }; -class InertialFrame3D : public ReferentialFrame3D -{ - // u odnosu na drugi referential frame ima samo konstantu brzinu -}; -class MovingFrame3D : public ReferentialFrame3D -{ - // getOriginPositionAtTime - vraca poziciju u odnosu na ReferentialFrame3D - // getSpeedAtTime - vraca brzinu u odnosu na ReferentialFrame3D -}; -// TODO - CircleOrbitingCartesianFrame3DToSpherical -// ovo je referentni frame koji se rotira oko nekog centra mase, i treba ga zamisliti kao kocku koja rotira oko CM -class CircleOrbitingCartesianFrame3DToCartesian : public MovingFrame3D +void Demo_CoordSystem() { - // koristimo Cartesian sustav - vraca pozicije u odnosu na CM oko kojeg orbitira U CARTESIAN KOORDINATAMA - // što ukoliko parametre orbite ne zelim u Cartesian sustavu? - nova klasa -public: - Real _radius; - Real _speed; - Real _period; - Real _angle_at_t0; - // axis, za 3d slucaj - ReferentialFrame3D _parentFrame; - - CircleOrbitingCartesianFrame3DToCartesian(ReferentialFrame3D parentFrame, Real radius, Real period) - { - _radius = radius; - // _speed = speed; // izracunati - _period = period; - _parentFrame = parentFrame; - _angle_at_t0 = 0; - } - CircleOrbitingCartesianFrame3DToCartesian(ReferentialFrame3D parentFrame, Real radius, Real period, Real angle_at_t0) - { - _radius = radius; - // _speed = speed; - _period = period; - _angle_at_t0 = angle_at_t0; - _parentFrame = parentFrame; - } - - // OVO JE KLJUCNA FUNKCIJA - Vector3Cartesian GetOriginPositionAtTime(Real t) - { - // calculate rotational evolution of position of center of mass - Real angle = _angle_at_t0 + 2 * Constants::PI * t / _period; - // in z-plane! - Vector3Cartesian CM_pos({_radius * cos(angle), _radius * sin(angle), 0}); - - return CM_pos; - } - // za danu tocku zadanu Cartesian koordinatama u lokalnom sustavu - // vraca Cartesian poziciju (u LOKALNOM frameu u odnosu na CM), nakon vremena T - Vector3Cartesian GetLocalPositionAtTime(Vector3Cartesian pos, Real t) - { - // calculate evolution of position of center of mass - Vector3Cartesian CM_pos = GetOriginPositionAtTime(t); - - // add local coordinates to CM position - // BITNA PRETPOSTAVKA - kako naš sustav rotira oko CM, njegova apsolutna orijentacije se ne mijenja - // ie, Zemljina (lokalna) os rotacije je jednom nagnuta OD Sunca, a za sest mjeseci nagnuta PREMA Suncu - return CM_pos + pos; - } - Vector3Cartesian GetLocalPositionAtTime(Vector3Spherical pos, Real t) - { - // calculate evolution of position of center of mass - Vector3Cartesian CM_pos = GetOriginPositionAtTime(t); - - // transform given spherical coordinates to cartesian - // add local coordinates to CM position - return Vector3Cartesian({0,0,0}); - } -}; - -class RotatingFrame3D : public ReferentialFrame3D -{ - // ovaj frame koristi cilindrični sustav (generalna rotacija oko osi) -public: - Real _period; - Real _angle_at_t0; - VectorN _axis; // pretpostavljamo z-axis za pocetak - ReferentialFrame3D _parentFrame; - - RotatingFrame3D(ReferentialFrame3D parentFrame, Real period, VectorN axis) - { - _period = period; - _axis = axis; - _parentFrame = parentFrame; - } - VectorN GetPositionAtTime(Vector3Cylindrical pos, Real t) - { - Real angle = 2 * Constants::PI * t / _period; - return VectorN({_axis[0] * cos(angle), _axis[1] * sin(angle), 0}); - // TODO - } -}; - -class SphericalRotatingFrame : public RotatingFrame3D -{ - // ovaj frame radi sa spherical koordinatama -public: - SphericalRotatingFrame(ReferentialFrame3D parentFrame, Real period, VectorN axis) - : RotatingFrame3D(parentFrame, period, axis) {} - - VectorN GetPositionAtTime(Vector3Spherical pos, Real t) - { - return VectorN({0,0,0}); - } -}; - -class HardSphereRotatingFrameToSpherical : public RotatingFrame3D -{ - // lokalne koordinate - lat, long, h - // vraca - spherical - // ima svoj CENTAR MASE u sredini sfere, i u odnosu na njega vraća pozicije - // koje su usglasene s axisom rotacije (lat, long) -public: - double _radius; - - HardSphereRotatingFrameToSpherical(ReferentialFrame3D parentFrame, Real radius, Real period, VectorN axis) - : _radius(radius), RotatingFrame3D(parentFrame, period, axis) {} - - Vector3Cartesian GetOriginPositionAtTime(Real t) - { - return Vector3Cartesian({0,0,0}); // ne mice se!!!! - } - - // za danu tocku u lokalnom sustavu, vraca spherical poziciju (u LOKALNOM frameu u odnosu na CM), nakon vremena T - Vector3Spherical GetPositionAtTime(Real latitude, Real longitude, Real height, Real t) - { - // taking into consideration rotation of the sphere - // calculate position after time t - - // pretvoriti u pravi spherical vektor - // - return Vector3Spherical({0,0,0}); - } -}; - -class HardSphereToLocalCartesian : public InertialFrame3D -{ - // u ctor dobije ref na HardSphereRotatingFrameToSpherical - // ima smisla - gleda nakon deltaT gdje je pozicija tocke u jednom i drugom - // kosi hitac zadan u lokalnom kartezijevom, i izracunam - // onda vidim gdje je taj lokalni kartezije u trenutku deltaT, i da li se - // slaze TRENUTNA tocka (x,y,z) di je sletio hitac, s onom kako sam izracunao -}; - -// da li mi treba Local3D koji za parenta ima HardSphereRotatingFrameToSpherical? -// lokalni sustav, baziran na TOCNO ODREDJENOJ TOCKI SFERE, s x, y i z -// za njega NE TREBA davati lat, long i h jer vec ima, a x, y i z transformira lokalno - - -// TODO 0.9 - zanemari sunce, i samo lokalni rotacijski sustav zemlje - -void Demo_Coord_system() -{ - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** COORD SYSTEM ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; - - InertialFrame3D SolarSystemCMFrame; - CircleOrbitingCartesianFrame3DToCartesian EarthCMFrame(SolarSystemCMFrame, 150000, 365*24*3600); // radijus kruženja (jedinica 10^6 m, 1000km), period kruženja (s) - - // za bilo koji (x,y,z) u EarthCM frameu, mogu dobiti poziciju u SolarSystem frameu za vrijeme T - - // za bilo koji (r,theta,phi) u EarthCM frameu, mogu dobiti poziciju u SolarSystem frameu za vrijeme T - // to me zanima, jer ce mi tako sustav Zemlje davati svoje lokalne koordinate - // problem - Zemlja se rotira! - - // sad kreiramo rotirajuci sustav Zemlje, s osi rotacije pod kutom 23 stupnja prema z-osi sustava CM - // u trenuttku t=0, os rotacije je nagnuta u y-z ravnini - VectorN axis({0, sin(23 * Constants::PI / 180), cos(23 * Constants::PI / 180)}); - HardSphereRotatingFrameToSpherical EarthSurfaceFrame(EarthCMFrame, 6.4, 24 * 3600, axis); - - // pozicija na površini zemlje - izračunati u EarthCM i SolarSystemCM frameu - VectorN pos({0, 0, 0}); - double latitude = 45; - double longitude = 16; - double height = 0; // on the surface - double T = 10; - - // pozicija tocke u lokalnom sustavu EarthCMFrame, ali je u SFERNIM koordinatama!! - Vector3Spherical pos_EarthCM = EarthSurfaceFrame.GetPositionAtTime(latitude, longitude, height, T); - // koristeci PARENT referentni sustav, transformiramo to u kartezian kord. u EarthCM frameu - Vector3Cartesian pos_EarthCM_cart = EarthCMFrame.GetLocalPositionAtTime(pos_EarthCM, T); - - // is sun visible from this position? + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** COORD SYSTEM ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + InertialFrame3D SolarSystemCMFrame; + Real earthOrbitPeriod = 365 * 24 * 3600; + CircleOrbitingCartesianFrame3DToCartesian EarthCMFrame(SolarSystemCMFrame, 150000, earthOrbitPeriod); // radijus kruženja (jedinica 10^6 m, 1000km), period kruženja (s) + + std::cout << "Earth origin at T=0 : " << EarthCMFrame.GetOriginPositionAtTime(0) << std::endl; + std::cout << "Earth origin at T/4 : " << EarthCMFrame.GetOriginPositionAtTime(earthOrbitPeriod / 4) << std::endl; + std::cout << "Earth origin at T/2 : " << EarthCMFrame.GetOriginPositionAtTime(earthOrbitPeriod / 2) << std::endl; + std::cout << "Earth origin at 3T/4T: " << EarthCMFrame.GetOriginPositionAtTime(earthOrbitPeriod * 3 / 4) << std::endl; + + // za bilo koji (x,y,z) u EarthCM frameu, mogu dobiti poziciju u SolarSystem frameu za vrijeme T + Vector3Cartesian posAtEquator1({ 6.4, 0, 0 }); + Vector3Cartesian posAtEquator2({ -6.4, 0, 0 }); + std::cout << "Pos 1 at T=0: " << EarthCMFrame.GetLocalPositionAtTime(posAtEquator1, 0) << std::endl; + std::cout << "Pos 1 at T/4: " << EarthCMFrame.GetLocalPositionAtTime(posAtEquator1, earthOrbitPeriod / 4) << std::endl; + std::cout << "Pos 1 at T/2: " << EarthCMFrame.GetLocalPositionAtTime(posAtEquator1, earthOrbitPeriod / 2) << std::endl; + std::cout << "Pos 1 at 3T/4T: " << EarthCMFrame.GetLocalPositionAtTime(posAtEquator1, earthOrbitPeriod * 3 / 4) << std::endl; + + // za bilo koji (r,theta,phi) u EarthCM frameu, mogu dobiti poziciju u SolarSystem frameu za vrijeme T + // to me zanima, jer ce mi tako sustav Zemlje davati svoje lokalne koordinate + // problem - Zemlja se rotira! + + // sad kreiramo rotirajuci sustav Zemlje, s osi rotacije pod kutom 23 stupnja prema z-osi sustava CM + // u trenuttku t=0, os rotacije je nagnuta u y-z ravnini + VectorN axis({ 0, sin(23 * Constants::PI / 180), cos(23 * Constants::PI / 180) }); + HardSphereRotatingFrame EarthSurfaceFrame(EarthCMFrame, 6.4, 24 * 3600, axis); + + // pozicija na površini zemlje - izračunati u EarthCM i SolarSystemCM frameu + VectorN pos({ 0, 0, 0 }); + double latitude = 45; + double longitude = 16; + double height = 0; // on the surface + double T = 10; + + // pozicija tocke u lokalnom sustavu EarthCMFrame, ali je u SFERNIM koordinatama!! + Vector3Spherical pos_EarthCM = EarthSurfaceFrame.GetLocalPositionAtTime(latitude, longitude, height, T); + // koristeci PARENT referentni sustav, transformiramo to u kartezian kord. u EarthCM frameu + Vector3Cartesian pos_EarthCM_cart = EarthCMFrame.GetLocalPositionAtTime(pos_EarthCM, T); + + std::cout << "Position on Earth surface in EarthCM frame: " << pos_EarthCM_cart << std::endl; + + // is sun visible from this position? } \ No newline at end of file diff --git a/src/core/demo_coord_system_old.cpp b/src/core/demo_coord_system_old.cpp index e6cc98f..cc39f19 100644 --- a/src/core/demo_coord_system_old.cpp +++ b/src/core/demo_coord_system_old.cpp @@ -11,163 +11,86 @@ using namespace MML; void Demo_Inertial() { - // zadati isti origin, neku brzinu, i vidjeti kako ide transformacija + // zadati isti origin, neku brzinu, i vidjeti kako ide transformacija } -void Demo_2DPolar() -{ - std::cout << "*************** OBLIQUE RECTILINEAR ****************" << std::endl; - - // new basis vectors (keeping z coordinate out of it ;) - Vector3Cartesian e1_base{1, 3, 0}, e2_base{4, 0, 0}, e3_base{0, 0, 1}; - - CoordTransfRectilinear transf(e1_base, e2_base, e3_base); - - std::cout << "Is right-handed? - " << transf.IsRightHanded() << std::endl; - - std::cout << "New basis vectors:\n"; - std::cout << "e1 = "; e1_base.Print(std::cout,10,5) << std::endl; - std::cout << "e2 = "; e2_base.Print(std::cout,10,5) << std::endl; - std::cout << "e3 = "; e3_base.Print(std::cout,10,5) << std::endl; - - std::cout << "Calculated dual basis vectors:\n"; - std::cout << "e1 dual = "; transf.Dual(0).Print(std::cout,10,5) << std::endl; - std::cout << "e2 dual = "; transf.Dual(1).Print(std::cout,10,5) << std::endl; - std::cout << "e3 dual = "; transf.Dual(2).Print(std::cout,10,5) << std::endl; - - std::cout << "\nTransf. matrix:\n" << transf.getAlpha() << std::endl; - std::cout << "Inverse transf. matrix:\n" << transf.getTransf() << std::endl; - - Vector3Cartesian vec_A{7, 2, 0}; - std::cout << "Vector A (orig) = "; vec_A.Print(std::cout,10,5) << std::endl; - - // std::cout << "alpha * A = " << transf._alpha * vec_A << std::endl; - // std::cout << "transf * (alpha * A) = " << transf._transf * (transf._alpha * vec_A) << std::endl; - - std::cout << "\nTransformed to new basis:\n"; - auto contravar_coef = transf.transf(vec_A); - auto back_contravar = transf.transfInverse(contravar_coef); - std::cout << "Contravar. coeff. = "; contravar_coef.Print(std::cout,10,5) << std::endl; - std::cout << "Back transf coeff = "; back_contravar.Print(std::cout,10,5) << std::endl; - - std::cout << "\nCalculating contravariant and covariant components in new basis:\n"; - Vector3Cartesian x_dummy{1.0, 1.0, 1.0}; // point of transf. application is irrelevant (it is linear) - - auto contravar_vec = transf.transfVecContravariant(vec_A, x_dummy); - auto contravar_vec2 = transf.transfInverseVecContravariant(contravar_vec, x_dummy); - std::cout << "Contravar. comp. of A = "; contravar_vec.Print(std::cout,10,5) << std::endl; - std::cout << "Back transf.contravar = "; contravar_vec2.Print(std::cout,10,5) << std::endl; - - auto covar_vec = transf.transfVecCovariant(vec_A, x_dummy); - auto covar_vec2 = transf.transfInverseVecCovariant(covar_vec, x_dummy); - std::cout << "Covariant comp. of A = "; covar_vec.Print(std::cout,10,5) << std::endl; - std::cout << "Back transf.covariant = "; covar_vec2.Print(std::cout,10,5) << std::endl; -} - -void Demo_Coord_Rectilinear() -{ - std::cout << "\n**** RECTILINEAR COORD SYSTEM ****" << std::endl; - -// Vector3Cartesian e1_base{1, 0, 0}, e2_base{0, 1, 0}, e3_base{0, 0.1, 1}; // ovo definira dot koord system - Vector3Cartesian e1_base{1, 3, 0}, e2_base{4, 0, 0}, e3_base{0, 0, 1}; - - CoordTransfRectilinear transf(e1_base, e2_base, e3_base); - - std::cout << "e1 = " << e1_base << std::endl; - std::cout << "e2 = " << e2_base << std::endl; - std::cout << "e3 = " << e3_base << std::endl; - - std::cout << "e1 dual = " << transf.Dual(0) << std::endl; - std::cout << "e2 dual = " << transf.Dual(1) << std::endl; - std::cout << "e3 dual = " << transf.Dual(2) << std::endl; - - Vector3Cartesian vec_A{7.0, 2.0, 0.0}; - std::cout << "\nVector A: " << vec_A << std::endl; - - auto contravar_coef = transf.transf(vec_A); - - std::cout << "Contravar. coeff.: " << contravar_coef << std::endl; - VectorN contra_expanded = contravar_coef[0] * e1_base + - contravar_coef[1] * e2_base + - contravar_coef[2] * e3_base; - std::cout << "Expanded to orig.: " << contra_expanded << std::endl; +/* + SUSTINA + - imam koordinate u jednom, i (lokalne) koordinate u drugom koordinatnom sistemu + - kakva je veza? + - i kako izracunati jedne na osnovu drugih? - Vector3Cartesian covar_coef{ScalarProd(vec_A, Vector3Cartesian(e1_base)), - ScalarProd(vec_A, Vector3Cartesian(e2_base)), - ScalarProd(vec_A, Vector3Cartesian(e3_base))}; - std::cout << "Covar. coeff. : " << covar_coef << std::endl; - - VectorN covar_expanded = covar_coef[0] * transf.Dual(0) + - covar_coef[1] * transf.Dual(1) + - covar_coef[2] * transf.Dual(2); - std::cout << "Expanded to orig.: " << covar_expanded << std::endl; + PlanarRotatingSystem disk_rotation(pocetni phi, brzina rotacije); + - za dane dvije koord, lat i long, daje poziciju u odnosu na dani fiksni koord sustav + LocalCartesian disk_surface(disk_rotation, lat, long); -} + - što izracunati? + - artiljerijski hitac s dane pozicije i po danoj paraboli + - gdje ce pasti - koordinate u jednom i drugom sustavu -void Demo_Coord_OrthogonalCartesian() -{ - std::cout << "\n**** ORTHOGONAL CARTESIAN COORD SYSTEM ****" << std::endl; + - i onda još dodati vrtuljak na toj površini! - Vector3Cartesian b1{1, 0, 0}, b2{0, 1, 0}, b3{0, 0, 1}; + MovingDynamicalSytem3D earth_around_sun(funkcija ovisnosti pozicije u odnosu na GLOBALNI KARTEZIJEV sustav); + RotatingSystem3D earth_rotation(earth_around_sun); + - za dane dvije koord, lat i long, daje poziciju u odnosu na dani koord sustav + LocalCartesian3D earth_surface(earth_rotation, lat, long); - CoordSystemOrthogonalCartesian csys(b1, b2, b3); + LorentzInertialMovingFrame observer_moving_frame(vektor smjera, ovisnost pozicije o t); /// moze i (0,0,0,0) - stoji na mjestu + LorentzInertialMovingFrame s1(vektor smjera, ovisnost pozicije o t); + LorentzInertialMovingFrame s2(vektor smjera, ovisnost pozicije o t); - std::cout << "Is orthogonal = " << csys.isOrthogonal() << std::endl; -} + LocalLorent s1; + LorentzBoosted s2; + LorentTranslated s3; + */ -void Demo_CoordSystem() +void Demo_CoordSystem_old() { - std::cout << std::endl; - std::cout << "***********************************************************************" << std::endl; - std::cout << "**** COORD SYSTEM ****" << std::endl; - std::cout << "***********************************************************************" << std::endl; - - Demo_2DPolar(); - - Demo_Coord_Rectilinear(); - - Demo_Coord_OrthogonalCartesian(); - - InertialMovingFrame train(Vector3Cartesian{0,0,0}, Vector3Cartesian{1,0,0}); - InertialMovingFrame table_moving_on_train(Vector3Cartesian{1,0,0}, Vector3Cartesian{0.5,0,0}); - RotatingFrame disc_spinning_on_table; - InertialMovingFrame ball_thrown_up; - - // point on disc - polar coordinates - Vector3Cartesian point_on_disc{0.5, 0.5, 0}; - auto transf0 = disc_spinning_on_table.transf(point_on_disc, 1.0); - auto transf1 = table_moving_on_train.transf(transf0, 1.0); - auto transf2 = train.transf(transf1, 1.0); -/* - // TODO - simulation of Solar system - - - sunce nam je u ishodistu i definira koord sustav - - moving coord system earth_rotation_around_sun, jupier around sun, mars around sun - - elipsa s centrom mase u zaristu - - definira tocku centra planete u odnosu na ishodiste - - rotating coord system earth_rotation_around_earth_center - - sferni coord system - - daje transformaciju iz lokalne (lat, long, height) coord u globalnu (x,y,z) coord - - local observer coord system - "nebo" - - za danu lat, long tocku na zemlji - - definira oko te tocke sferni sustav, gdje je azimut poravnan sa smjerom sjevera kako treba - - SUSTINA - zelimo transformaciju jupitera i marsa na taj sustav, da vidimo gdje se nalaze na nebo -*/ - - RotatingFrame earthSolarSystemCM; // opisuje kružnicu oko sunca - KLJUČNO JE PORAVNANJE!!! - // T = 0 - Greenwhich je točno na x osi - // MovingCoordSystem<3> earthRotational; // kao koordinate ima sferne koordinate iznad površine zemlje - // MovingCoordSystem<3> earthLocal; // projekcija na 2D coord system, sa zadanim ishodištem - - // ČIM GIBANJE čestice po putanji odstupa od tangente, znači da je prisutna sila - - // najprije u 2D ? - - // imamo statičnu transf - sve zadano, pa da vidimo - - // imamo simulaciju - ovisnost o t, pa se mijenja - - // usporediti - // 1. kompletnqa simulacija zemlje oko sunca i topovske granate ispaljene - // 2. zemlja se zadano giva oko sunca, a imamo lokalni rotacijski sustav + std::cout << std::endl; + std::cout << "***********************************************************************" << std::endl; + std::cout << "**** COORD SYSTEM ****" << std::endl; + std::cout << "***********************************************************************" << std::endl; + + //InertialMovingFrame train(Vector3Cartesian{ 0,0,0 }, Vector3Cartesian{ 1,0,0 }); + //InertialMovingFrame table_moving_on_train(Vector3Cartesian{ 1,0,0 }, Vector3Cartesian{ 0.5,0,0 }); + //RotatingFrame disc_spinning_on_table; + //InertialMovingFrame ball_thrown_up; + + //// point on disc - polar coordinates + //Vector3Cartesian point_on_disc{ 0.5, 0.5, 0 }; + //auto transf0 = disc_spinning_on_table.transf(point_on_disc, 1.0); + //auto transf1 = table_moving_on_train.transf(transf0, 1.0); + //auto transf2 = train.transf(transf1, 1.0); + /* + // TODO - simulation of Solar system + + - sunce nam je u ishodistu i definira koord sustav + - moving coord system earth_rotation_around_sun, jupier around sun, mars around sun + - elipsa s centrom mase u zaristu + - definira tocku centra planete u odnosu na ishodiste + - rotating coord system earth_rotation_around_earth_center + - sferni coord system + - daje transformaciju iz lokalne (lat, long, height) coord u globalnu (x,y,z) coord + - local observer coord system - "nebo" + - za danu lat, long tocku na zemlji + - definira oko te tocke sferni sustav, gdje je azimut poravnan sa smjerom sjevera kako treba + - SUSTINA - zelimo transformaciju jupitera i marsa na taj sustav, da vidimo gdje se nalaze na nebo + */ + + //RotatingFrame earthSolarSystemCM; // opisuje kružnicu oko sunca - KLJUČNO JE PORAVNANJE!!! + // T = 0 - Greenwhich je točno na x osi + // MovingCoordSystem<3> earthRotational; // kao koordinate ima sferne koordinate iznad površine zemlje + // MovingCoordSystem<3> earthLocal; // projekcija na 2D coord system, sa zadanim ishodištem + + // ČIM GIBANJE čestice po putanji odstupa od tangente, znači da je prisutna sila + + // najprije u 2D ? + + // imamo statičnu transf - sve zadano, pa da vidimo + + // imamo simulaciju - ovisnost o t, pa se mijenja + + // usporediti + // 1. kompletnqa simulacija zemlje oko sunca i topovske granate ispaljene + // 2. zemlja se zadano giva oko sunca, a imamo lokalni rotacijski sustav } \ No newline at end of file diff --git a/src/core/demo_coord_transf.cpp b/src/core/demo_coord_transf.cpp index 47b48c0..5b5a57b 100644 --- a/src/core/demo_coord_transf.cpp +++ b/src/core/demo_coord_transf.cpp @@ -3,6 +3,7 @@ #else #include "MMLBase.h" +#include "core/CoordSystem.h" #include "core/CoordTransf.h" #endif @@ -126,9 +127,104 @@ void Demo_CoordTransf_Cylindrical() std::cout << "Back transf : " << p2BackTransf << std::endl; } -void Demo_CoordTransf_Rectilinear() +void Demo_2DPolar() { + std::cout << "*************** OBLIQUE RECTILINEAR ****************" << std::endl; + // new basis vectors (keeping z coordinate out of it ;) + Vector3Cartesian e1_base{ 1, 3, 0 }, e2_base{ 4, 0, 0 }, e3_base{ 0, 0, 1 }; + + CoordTransfRectilinear transf(e1_base, e2_base, e3_base); + + std::cout << "Is right-handed? - " << transf.IsRightHanded() << std::endl; + + std::cout << "New basis vectors:\n"; + std::cout << "e1 = "; e1_base.Print(std::cout, 10, 5) << std::endl; + std::cout << "e2 = "; e2_base.Print(std::cout, 10, 5) << std::endl; + std::cout << "e3 = "; e3_base.Print(std::cout, 10, 5) << std::endl; + + std::cout << "Calculated dual basis vectors:\n"; + std::cout << "e1 dual = "; transf.Dual(0).Print(std::cout, 10, 5) << std::endl; + std::cout << "e2 dual = "; transf.Dual(1).Print(std::cout, 10, 5) << std::endl; + std::cout << "e3 dual = "; transf.Dual(2).Print(std::cout, 10, 5) << std::endl; + + std::cout << "\nTransf. matrix:\n" << transf.getAlpha() << std::endl; + std::cout << "Inverse transf. matrix:\n" << transf.getTransf() << std::endl; + + Vector3Cartesian vec_A{ 7, 2, 0 }; + std::cout << "Vector A (orig) = "; vec_A.Print(std::cout, 10, 5) << std::endl; + + // std::cout << "alpha * A = " << transf._alpha * vec_A << std::endl; + // std::cout << "transf * (alpha * A) = " << transf._transf * (transf._alpha * vec_A) << std::endl; + + std::cout << "\nTransformed to new basis:\n"; + auto contravar_coef = transf.transf(vec_A); + auto back_contravar = transf.transfInverse(contravar_coef); + std::cout << "Contravar. coeff. = "; contravar_coef.Print(std::cout, 10, 5) << std::endl; + std::cout << "Back transf coeff = "; back_contravar.Print(std::cout, 10, 5) << std::endl; + + std::cout << "\nCalculating contravariant and covariant components in new basis:\n"; + Vector3Cartesian x_dummy{ 1.0, 1.0, 1.0 }; // point of transf. application is irrelevant (it is linear) + + auto contravar_vec = transf.transfVecContravariant(vec_A, x_dummy); + auto contravar_vec2 = transf.transfInverseVecContravariant(contravar_vec, x_dummy); + std::cout << "Contravar. comp. of A = "; contravar_vec.Print(std::cout, 10, 5) << std::endl; + std::cout << "Back transf.contravar = "; contravar_vec2.Print(std::cout, 10, 5) << std::endl; + + auto covar_vec = transf.transfVecCovariant(vec_A, x_dummy); + auto covar_vec2 = transf.transfInverseVecCovariant(covar_vec, x_dummy); + std::cout << "Covariant comp. of A = "; covar_vec.Print(std::cout, 10, 5) << std::endl; + std::cout << "Back transf.covariant = "; covar_vec2.Print(std::cout, 10, 5) << std::endl; +} + +void Demo_Coord_Rectilinear() +{ + std::cout << "\n**** RECTILINEAR COORD SYSTEM ****" << std::endl; + + // Vector3Cartesian e1_base{1, 0, 0}, e2_base{0, 1, 0}, e3_base{0, 0.1, 1}; // ovo definira dot koord system + Vector3Cartesian e1_base{ 1, 3, 0 }, e2_base{ 4, 0, 0 }, e3_base{ 0, 0, 1 }; + + CoordTransfRectilinear transf(e1_base, e2_base, e3_base); + + std::cout << "e1 = " << e1_base << std::endl; + std::cout << "e2 = " << e2_base << std::endl; + std::cout << "e3 = " << e3_base << std::endl; + + std::cout << "e1 dual = " << transf.Dual(0) << std::endl; + std::cout << "e2 dual = " << transf.Dual(1) << std::endl; + std::cout << "e3 dual = " << transf.Dual(2) << std::endl; + + Vector3Cartesian vec_A{ 7.0, 2.0, 0.0 }; + std::cout << "\nVector A: " << vec_A << std::endl; + + auto contravar_coef = transf.transf(vec_A); + + std::cout << "Contravar. coeff.: " << contravar_coef << std::endl; + VectorN contra_expanded = contravar_coef[0] * e1_base + + contravar_coef[1] * e2_base + + contravar_coef[2] * e3_base; + std::cout << "Expanded to orig.: " << contra_expanded << std::endl; + + Vector3Cartesian covar_coef{ ScalarProd(vec_A, Vector3Cartesian(e1_base)), + ScalarProd(vec_A, Vector3Cartesian(e2_base)), + ScalarProd(vec_A, Vector3Cartesian(e3_base)) }; + std::cout << "Covar. coeff. : " << covar_coef << std::endl; + + VectorN covar_expanded = covar_coef[0] * transf.Dual(0) + + covar_coef[1] * transf.Dual(1) + + covar_coef[2] * transf.Dual(2); + std::cout << "Expanded to orig.: " << covar_expanded << std::endl; +} + +void Demo_Coord_OrthogonalCartesian() +{ + std::cout << "\n**** ORTHOGONAL CARTESIAN COORD SYSTEM ****" << std::endl; + + Vector3Cartesian b1{ 1, 0, 0 }, b2{ 0, 1, 0 }, b3{ 0, 0, 1 }; + + CoordSystemOrthogonalCartesian csys(b1, b2, b3); + + std::cout << "Is orthogonal = " << csys.isOrthogonal() << std::endl; } void Demo_CoordTransf_Jacobian() @@ -149,6 +245,10 @@ void Demo_CoordTransf() Demo_CoordTransf_Spherical(); Demo_CoordTransf_Cylindrical(); Demo_GetUnitVector (); - Demo_CoordTransf_Rectilinear(); + + Demo_2DPolar(); + Demo_Coord_Rectilinear(); + Demo_Coord_OrthogonalCartesian(); + Demo_CoordTransf_Jacobian(); } \ No newline at end of file diff --git a/src/core/demo_function.cpp b/src/core/demo_function.cpp index c4637c4..2a34291 100644 --- a/src/core/demo_function.cpp +++ b/src/core/demo_function.cpp @@ -3,11 +3,10 @@ #else #include "MMLBase.h" -#include "utilities/StdFunctions.h" - +#include "base/StdFunctions.h" #include "base/VectorN.h" -#include "core/Function.h" +#include "core/Function.h" #include "core/Curves.h" #include "core/Surfaces.h" #endif @@ -53,6 +52,16 @@ void Demo_Function() ParametricCurve<3> paramCurve([](Real x) { return VectorN{x, 2 * x, 3 * x}; }); ParametricSurface<3> paramSurface([](Real x, Real y) { return VectorN{x * y, 2 * x * y, 3 * x}; }); + ScalarFunction<3> two_masses_gravity_field_potential{ [](const VectorN& x) + { + const VectorN x1{ 10.0, 0.0, 0.0 }; + const VectorN x2{ -10.0, 0.0, 0.0 }; + const Real m1 = 1000.0; + const Real m2 = 1000.0; + const Real G = 1.0; + return -G * m1 / (x - x1).NormL2() - G * m2 / (x - x2).NormL2(); + } }; + VectorN p1{2.0, 2.0, 5}; MatrixNM jac = funcVector.jacobian(p1); diff --git a/src/core/demo_interpolated_function.cpp b/src/core/demo_interpolated_function.cpp index 64c5912..c115177 100644 --- a/src/core/demo_interpolated_function.cpp +++ b/src/core/demo_interpolated_function.cpp @@ -3,16 +3,16 @@ #else #include "MMLBase.h" -#include "utilities/DataContainers.h" - #include "base/Vector.h" #include "base/Matrix.h" #include "core/Function.h" #include "core/InterpolatedFunction.h" #include "core/Integration.h" + +#include "core/ConsolePrinter.h" #include "core/Serializer.h" -#include "core/Vizualizer.h" +#include "core/Visualizer.h" #include "algorithms/FunctionAnalyzers.h" #endif diff --git a/src/core/demo_linear_alg_eq_solvers.cpp b/src/core/demo_linear_alg_eq_solvers.cpp index 0c1a1b2..257e7d0 100644 --- a/src/core/demo_linear_alg_eq_solvers.cpp +++ b/src/core/demo_linear_alg_eq_solvers.cpp @@ -12,7 +12,7 @@ using namespace MML; -void Matirx_Simple_demo() +void Matrix_Simple_demo() { // initialize a matrix with 5 rows and 3 columns Matrix mat(3, 3, {1, 2, 3, diff --git a/src/core/demo_serialization.cpp b/src/core/demo_serialization.cpp index c6b7ed8..d2ba296 100644 --- a/src/core/demo_serialization.cpp +++ b/src/core/demo_serialization.cpp @@ -3,7 +3,7 @@ #else #include "MMLBase.h" -#include "utilities/StdFunctions.h" +#include "base/StdFunctions.h" #include "base/VectorN.h" @@ -24,7 +24,7 @@ void Demo_Real_function_serialization() RealFunction f1{[](Real x) { return sin(x) * x; } }; //f1.SerializeEquallySpacedDetailed(-10.0, 10.0, 100, "..\\..\\results\\func_sin_x_x.txt"); - Serializer::SaveRealFuncEquallySpacedDetailed(f1, -10.0, 10.0, 100, "..\\..\\results\\func_sin_x_x.txt"); + Serializer::SaveRealFuncEquallySpacedDetailed(f1, "Func y = sin(x) * x", - 10.0, 10.0, 100, "..\\..\\results\\func_sin_x_x.txt"); auto ret1 = std::system("..\\..\\tools\\visualizers\\real_function_visualizer\\MML_RealFunctionVisualizer.exe ..\\..\\results\\func_sin_x_x.txt"); } @@ -32,7 +32,7 @@ void Demo_Scalar_function_2D_serialization() { ScalarFunction<2> testFunc{[](const VectorN &x) { return x[0] * x[1]; } }; - Serializer::SaveScalarFunc2DCartesian(testFunc , -10.0, 10.0, 20, -10.0, 10.0, 20, "..\\..\\results\\func_cart_2d.txt"); + Serializer::SaveScalarFunc2DCartesian(testFunc , "Simple func z = x * y", - 10.0, 10.0, 20, -10.0, 10.0, 20, "..\\..\\results\\func_cart_2d.txt"); auto ret2 = std::system("..\\..\\tools\\visualizers\\scalar_function_2d_visualizer\\MML_ScalarFunction2Visualizer.exe ..\\..\\results\\func_cart_2d.txt"); } @@ -40,7 +40,7 @@ void Demo_Scalar_function_3D_serialization() { ScalarFunction<3> testFunc{[](const VectorN &x) { return x[0] * x[1] * x[2]; } }; - Serializer::SaveScalarFunc3DCartesian(testFunc , -10.0, 10.0, 10, -10.0, 10.0, 10, -10.0, 10.0, 10, "..\\..\\results\\func_cart_3d.txt"); + Serializer::SaveScalarFunc3DCartesian(testFunc, "Simple func f = x * y * z", - 10.0, 10.0, 10, -10.0, 10.0, 10, -10.0, 10.0, 10, "..\\..\\results\\func_cart_3d.txt"); } void Demo_Parametric_curve_serialization() @@ -51,7 +51,7 @@ void Demo_Parametric_curve_serialization() // helix.SerializeCartesian3D(0.0, 2.0 * Constants::PI, 100, "helix.txt"); // std::system("..\\..\\tools\\visualizers\\parametric_curve_visualizer\\MML_ParametricCurveVisualizer.exe helix.txt"); - Serializer::SaveParamCurveCartesian3D(toroid, 0.0, 5.0 * Constants::PI, 500, "..\\..\\results\\toroid.txt"); + Serializer::SaveParamCurveCartesian3D(toroid, "Toroid", 0.0, 5.0 * Constants::PI, 500, "..\\..\\results\\toroid.txt"); auto ret = std::system("..\\..\\tools\\visualizers\\parametric_curve_visualizer\\MML_ParametricCurveVisualizer.exe ..\\..\\results\\toroid.txt"); } @@ -59,13 +59,13 @@ void Demo_Vector_field_serialization() { Fields::InverseRadialForceFieldCart field_cart(1000.0); - Serializer::SaveVectorFunc3DCartesian(field_cart , -30.0, 30.0, 4, -30.0, 30.0, 4, -30.0, 30.0, 4, "..\\..\\results\\vector_field.txt"); + Serializer::SaveVectorFunc3DCartesian(field_cart, "Simple vector field", - 30.0, 30.0, 4, -30.0, 30.0, 4, -30.0, 30.0, 4, "..\\..\\results\\vector_field.txt"); auto ret2 = std::system("..\\..\\tools\\visualizers\\vector_field_visualizer\\MML_VectorFieldVisualizer.exe ..\\..\\results\\vector_field.txt"); std::cout << "Return code = " << ret2 << std::endl; Fields::InverseRadialForceFieldSpher field_spher(1000.0); - Serializer::SaveVectorFuncSpherical(field_spher, 0.1, 50.1, 5, -30.0, 30.0, 4, -30.0, 30.0, 4, "..\\..\\results\\vector_field_spherical.txt"); + Serializer::SaveVectorFuncSpherical(field_spher, "Simple vector field - spherical", 0.1, 50.1, 5, -30.0, 30.0, 4, -30.0, 30.0, 4, "..\\..\\results\\vector_field_spherical.txt"); auto ret3 = std::system("..\\..\\tools\\visualizers\\vector_field_visualizer\\MML_VectorFieldVisualizer.exe ..\\..\\results\\vector_field_spherical.txt"); std::cout << "Return code = " << ret3 << std::endl; } diff --git a/src/demo_app_main.cpp b/src/demo_app_main.cpp index c425e9c..82a84aa 100644 --- a/src/demo_app_main.cpp +++ b/src/demo_app_main.cpp @@ -63,78 +63,76 @@ void Test_Speed_Linear_alg_eq_solvers(); void Test_Precision_Derivation(); void Test_Precision_Integration(); -void Docs_Readme_Examples(); void Demo_Visualization_Examples(); -int main(int, char**) +int main(int, char**) { - // double max = std::numeric_limits::max(); - // double min = -std::numeric_limits::max(); - // double inf = std::numeric_limits::infinity(); - // double min_inf = -std::numeric_limits::infinity(); - - // if (inf > max) - // std::cout << inf << " is greater than " << max << '\n'; - - // if (min_inf < min) - // std::cout << min_inf << " is less than " << min << '\n'; - - // Demo_Intervals(); - - // Demo_Algebra(); - // Demo_CoreUtils(); - // Demo_Matrix(); - Demo_Matrix_Other(); - // Demo_MatrixNM(); - // Demo_Tensors(); - // Demo_Vector(); - // Demo_VectorN(); - - // Demo_CoordTransf(); - // Demo_CoordSystem(); - // Demo_Covar_Contravar_transformations(); - // Demo_Dirac_function(); - // Demo_Fields(); - // Demo_Function_Space(); - // Demo_Function(); - // Demo_Serialization(); - - // Demo_LinearFunctionals(); - // Demo_LinearOperators(); - // Demo_VectorSpaces(); - // Demo_Geometry(); - // void Demo_Geometry_2D(); - // void Demo_Geometry_3D(); - // Demo_Interpolated_Function(); - // Demo_Interpolators(); - // Demo_Metric_Tensors(); - // Demo_Polynom(); - // Demo_QuadraticForms(); - // Demo_Surfaces(); - - // Demo_Derivation(); - // Demo_Integration(); - // Demo_LinearAlgEqSolvers(); - - // Demo_Diff_geometry(); - // Demo_EigenSolvers(); - // Demo_Field_operations(); - // Demo_ODESystemSolvers(); - // Demo_Path_Integration(); - // Demo_Function_analyzer(); - // Demo_Statistics(); - // Demo_Root_finding(); - Demo_Surface_integration(); - // Demo_Volume_integration(); - - // Test_Speed_Functions(); - // Test_Speed_Derivation(); - // Test_Speed_Linear_alg_eq_solvers(); - - Test_Precision_Derivation(); - Test_Precision_Integration(); - - // Docs_Readme_Examples(); - // Demo_Visualization_Examples(); + // double max = std::numeric_limits::max(); + // double min = -std::numeric_limits::max(); + // double inf = std::numeric_limits::infinity(); + // double min_inf = -std::numeric_limits::infinity(); + + // if (inf > max) + // std::cout << inf << " is greater than " << max << '\n'; + + // if (min_inf < min) + // std::cout << min_inf << " is less than " << min << '\n'; + + // Demo_Intervals(); + + // Demo_Algebra(); + // Demo_CoreUtils(); + // Demo_Matrix(); + // Demo_Matrix_Other(); + // Demo_MatrixNM(); + // Demo_Tensors(); + // Demo_Vector(); + // Demo_VectorN(); + + // Demo_CoordTransf(); + Demo_CoordSystem(); + // Demo_Covar_Contravar_transformations(); + // Demo_Dirac_function(); + // Demo_Fields(); + // Demo_Function_Space(); + // Demo_Function(); + // Demo_Serialization(); + + // Demo_LinearFunctionals(); + // Demo_LinearOperators(); + // Demo_VectorSpaces(); + // Demo_Geometry(); + // void Demo_Geometry_2D(); + // void Demo_Geometry_3D(); + // Demo_Interpolated_Function(); + // Demo_Interpolators(); + // Demo_Metric_Tensors(); + // Demo_Polynom(); + // Demo_QuadraticForms(); + // Demo_Surfaces(); + + // Demo_Derivation(); + // Demo_Integration(); + // Demo_LinearAlgEqSolvers(); + + // Demo_Diff_geometry(); + // Demo_EigenSolvers(); + // Demo_Field_operations(); + // Demo_ODESystemSolvers(); + // Demo_Path_Integration(); + // Demo_Function_analyzer(); + // Demo_Statistics(); + // Demo_Root_finding(); + Demo_Surface_integration(); + // Demo_Volume_integration(); + + // Test_Speed_Functions(); + // Test_Speed_Derivation(); + // Test_Speed_Linear_alg_eq_solvers(); + + // Test_Precision_Derivation(); + // Test_Precision_Integration(); + + // Demo_Visualization_Examples(); } \ No newline at end of file diff --git a/src/testing_precision/test_precision_derivation.cpp b/src/testing_precision/test_precision_derivation.cpp index 7221de1..bbb9004 100644 --- a/src/testing_precision/test_precision_derivation.cpp +++ b/src/testing_precision/test_precision_derivation.cpp @@ -192,8 +192,8 @@ void NDer_Error_Diff_h_Single_Func(int order, std::string funcName, const TestFu const int numPntForEval = 20; - Vector h_list = {0.1, 0.01, 0.001, 0.0001, 0.00001}; - Vector h_list2 = {0.000001, 0.0000001, 0.00000001, 0.000000001, 0.0000000001}; + Vector h_list{0.1, 0.01, 0.001, 0.0001, 0.00001}; + Vector h_list2{0.000001, 0.0000001, 0.00000001, 0.000000001, 0.0000000001}; Vector err_list(h_list.size(), 0.0); std::cout << "\nNDer" << order << " DERIVATION ERROR FOR DIFFERENT STEP SIZES" << std::endl; diff --git a/src/testing_precision/test_precision_integration.cpp b/src/testing_precision/test_precision_integration.cpp index 76731ba..8cea432 100644 --- a/src/testing_precision/test_precision_integration.cpp +++ b/src/testing_precision/test_precision_integration.cpp @@ -13,60 +13,60 @@ using namespace MML; void Test_Precision_Integration_Single_Func() { - const TestBeds::TestFunctionRealWithIntegral &f_wrap = TestBeds::RealFunctionsTestBed::getTestFunctionRealWithIntegral(0); + const TestBeds::TestFunctionRealWithIntegral& f_wrap = TestBeds::RealFunctionsTestBed::getTestFunctionRealWithIntegral(0); - const RealFunction &f = f_wrap._func; - const RealFunction &f_int = f_wrap._funcIntegrated; - double x1 = f_wrap._intervalTest->getLowerBound(); - double x2 = f_wrap._intervalTest->getUpperBound(); + const RealFunction& f = f_wrap._func; + const RealFunction& f_int = f_wrap._funcIntegrated; + double x1 = f_wrap._intervalTest->getLowerBound(); + double x2 = f_wrap._intervalTest->getUpperBound(); - const int numIntervals = 20; + const int numIntervals = 20; - double err_sum1 = 0.0; - double err_sum2 = 0.0; - double err_sum3 = 0.0; + double err_sum1 = 0.0; + double err_sum2 = 0.0; + double err_sum3 = 0.0; - std::cout << "\nAVERAGE INTEGRATION ERROR FOR DIFFERENT INTEGRATORS" << std::endl; - std::cout << " Interval Exact int. Trap Trap err. Simpson Simpson err. Romberg Romberg err. " << std::endl; - std::cout << "--------------------------------------------------------------------------------------------------------------------------------------------" << std::endl; + std::cout << "\nAVERAGE INTEGRATION ERROR FOR DIFFERENT INTEGRATORS" << std::endl; + std::cout << " Interval Exact int. Trap Trap err. Simpson Simpson err. Romberg Romberg err. " << std::endl; + std::cout << "--------------------------------------------------------------------------------------------------------------------------------------------" << std::endl; - for(int i=1; i coefs{-1.0, -2.0, -3.0, -4.0, -5.0}; - RealPolynom poly4b(coefs); - REQUIRE(poly4b.GetDegree() == 4); - REQUIRE(poly4b[0] == -1.0); - REQUIRE(poly4b[1] == -2.0); - REQUIRE(poly4b[2] == -3.0); - REQUIRE(poly4b[3] == -4.0); - REQUIRE(poly4b[4] == -5.0); - - // negativan argument - // prazan vektor - // TODO - polynom test - implement for Complex and Matrix + RealPolynom poly_empty; + REQUIRE(poly_empty.GetDegree() == -1); + + RealPolynom poly3(3); + REQUIRE(poly3.GetDegree() == 3); + + RealPolynom poly4({ 1.0, 2.0, 3.0, 4.0, 5.0 }); + REQUIRE(poly4.GetDegree() == 4); + REQUIRE(poly4[0] == 1.0); + REQUIRE(poly4[1] == 2.0); + REQUIRE(poly4[2] == 3.0); + REQUIRE(poly4[3] == 4.0); + REQUIRE(poly4[4] == 5.0); + + std::vector coefs{ -1.0, -2.0, -3.0, -4.0, -5.0 }; + RealPolynom poly4b(coefs); + REQUIRE(poly4b.GetDegree() == 4); + REQUIRE(poly4b[0] == -1.0); + REQUIRE(poly4b[1] == -2.0); + REQUIRE(poly4b[2] == -3.0); + REQUIRE(poly4b[3] == -4.0); + REQUIRE(poly4b[4] == -5.0); + + // negativan argument + // prazan vektor + // TODO - polynom test - implement for Complex and Matrix } TEST_CASE("Test_Polynom_SetDegree", "[simple]") { - RealPolynom poly; - REQUIRE(poly.GetDegree() == -1); + RealPolynom poly; + REQUIRE(poly.GetDegree() == -1); - poly.SetDegree(3); - REQUIRE(poly.GetDegree() == 3); + poly.SetDegree(3); + REQUIRE(poly.GetDegree() == 3); } TEST_CASE("Test_Polynom_operator()", "[simple]") { - RealPolynom pol_constant({3.5}); + RealPolynom pol_constant({ 3.5 }); - REQUIRE(pol_constant(0.0) == Approx(3.5)); - REQUIRE(pol_constant(1.0) == Approx(3.5)); - REQUIRE(pol_constant(-200.0) == Approx(3.5)); - REQUIRE(pol_constant(1.0e-10) == Approx(3.5)); - REQUIRE(pol_constant(1.0e+10) == Approx(3.5)); + REQUIRE(pol_constant(0.0) == Approx(3.5)); + REQUIRE(pol_constant(1.0) == Approx(3.5)); + REQUIRE(pol_constant(-200.0) == Approx(3.5)); + REQUIRE(pol_constant(1.0e-10) == Approx(3.5)); + REQUIRE(pol_constant(1.0e+10) == Approx(3.5)); - RealPolynom pol_lin({3.5, 1.0}); + RealPolynom pol_lin({ 3.5, 1.0 }); - REQUIRE(pol_lin(0.0) == Approx(3.5)); - REQUIRE(pol_lin(1.0) == Approx(4.5)); - REQUIRE(pol_lin(-100.0) == Approx(-96.5)); + REQUIRE(pol_lin(0.0) == Approx(3.5)); + REQUIRE(pol_lin(1.0) == Approx(4.5)); + REQUIRE(pol_lin(-100.0) == Approx(-96.5)); } TEST_CASE("Test_Polynom_operator==", "[simple]") { - RealPolynom poly3(3); + RealPolynom poly3(3); - RealPolynom poly4({1.0, 2.0, 3.0, 4.0, 5.0}); - RealPolynom poly4a({1.0, 2.0, 3.0, 4.0, 5.0}); + RealPolynom poly4({ 1.0, 2.0, 3.0, 4.0, 5.0 }); + RealPolynom poly4a({ 1.0, 2.0, 3.0, 4.0, 5.0 }); - std::vector coefs{-1.0, -2.0, -3.0, -4.0, -5.0}; - RealPolynom poly4b(coefs); + std::vector coefs{ -1.0, -2.0, -3.0, -4.0, -5.0 }; + RealPolynom poly4b(coefs); - REQUIRE(poly4 == poly4a); - REQUIRE(poly4 != poly4b); - REQUIRE(poly4 == poly4b * (-1)); + REQUIRE(poly4 == poly4a); + REQUIRE(poly4 != poly4b); + REQUIRE(poly4 == poly4b * (-1)); } // TODO 0.9 - finish these TEST_CASE("Test_Polynom_operator+", "[simple]") { - RealPolynom poly({3.5}); + RealPolynom poly({ 3.5 }); } TEST_CASE("Test_Polynom_operator-", "[simple]") { - RealPolynom poly({3.5}); + RealPolynom poly({ 3.5 }); } TEST_CASE("Test_Polynom_operator*", "[simple]") { - RealPolynom poly({3.5}); + RealPolynom poly({ 3.5 }); } TEST_CASE("Test_Polynom_operator*(Poly, CoefType)", "[simple]") { - RealPolynom poly({3.5}); + RealPolynom poly({ 3.5 }); } TEST_CASE("Test_Polynom_operator*(CoefType, Poly)", "[simple]") { - RealPolynom poly({3.5}); + RealPolynom poly({ 3.5 }); } TEST_CASE("Test_Polynom_operator/(Poly, CoefType)", "[simple]") { - RealPolynom poly({3.5}); + RealPolynom poly({ 3.5 }); } TEST_CASE("Test_Polynom_to_string", "[simple]") { - RealPolynom poly({3.5}); + RealPolynom poly({ 3.5 }); } TEST_CASE("Test_Polynom_poldiv", "[simple]") { - RealPolynom p1({-1.0, 1.0}); // x - 1 - RealPolynom p2({-2.0, 1.0}); // x - 2 - RealPolynom p3({-3.0, 1.0}); // x - 3 + RealPolynom p1({ -1.0, 1.0 }); // x - 1 + RealPolynom p2({ -2.0, 1.0 }); // x - 2 + RealPolynom p3({ -3.0, 1.0 }); // x - 3 - RealPolynom p = p1 * p2 * p3; + RealPolynom p = p1 * p2 * p3; - REQUIRE(p.GetDegree() == 3); - REQUIRE(p[0] == -6.0); - REQUIRE(p[1] == 11.0); - REQUIRE(p[2] == -6.0); - REQUIRE(p[3] == 1.0); + REQUIRE(p.GetDegree() == 3); + REQUIRE(p[0] == -6.0); + REQUIRE(p[1] == 11.0); + REQUIRE(p[2] == -6.0); + REQUIRE(p[3] == 1.0); - RealPolynom res, rem; + RealPolynom res, rem; - RealPolynom::poldiv(p, p1, res, rem); + RealPolynom::poldiv(p, p1, res, rem); - REQUIRE(p == res * p1 + rem); - REQUIRE(res == p2 * p3); + REQUIRE(p == res * p1 + rem); + REQUIRE(res == p2 * p3); - RealPolynom p_1({2.0, 0.0, 1.0}); - RealPolynom p_2({-4.0, 1.0}); - RealPolynom p_quot({4.0, 1.0}); - RealPolynom p_rem({18.0}); + RealPolynom p_1({ 2.0, 0.0, 1.0 }); + RealPolynom p_2({ -4.0, 1.0 }); + RealPolynom p_quot({ 4.0, 1.0 }); + RealPolynom p_rem({ 18.0 }); - RealPolynom::poldiv(p_1, p_2, res, rem); + RealPolynom::poldiv(p_1, p_2, res, rem); - REQUIRE(p_1 == res * p_2 + rem); - REQUIRE(res == p_quot); - REQUIRE(rem == p_rem); + REQUIRE(p_1 == res * p_2 + rem); + REQUIRE(res == p_quot); + REQUIRE(rem == p_rem); - RealPolynom r_1({-1.0, -5.0, 2.0}); - RealPolynom r_2({-3.0, 1.0}); - RealPolynom r_quot({1.0, 2.0}); - RealPolynom r_rem({2.0}); + RealPolynom r_1({ -1.0, -5.0, 2.0 }); + RealPolynom r_2({ -3.0, 1.0 }); + RealPolynom r_quot({ 1.0, 2.0 }); + RealPolynom r_rem({ 2.0 }); - RealPolynom::poldiv(r_1, r_2, res, rem); + RealPolynom::poldiv(r_1, r_2, res, rem); - REQUIRE(r_1 == res * r_2 + rem); - REQUIRE(res == r_quot); - REQUIRE(rem == r_rem); + REQUIRE(r_1 == res * r_2 + rem); + REQUIRE(res == r_quot); + REQUIRE(rem == r_rem); } \ No newline at end of file diff --git a/tools/visualizers/TODO graphs.txt b/tools/visualizers/TODO graphs.txt deleted file mode 100644 index a0825ea..0000000 --- a/tools/visualizers/TODO graphs.txt +++ /dev/null @@ -1,91 +0,0 @@ -- alati za crtanje grafova -- dobiju ime fajla u kojem su svi podaci i voila - -- SVI koji se žele vizualizirati, imaju ToGraphTxt koji generira fajl sa svim potrebnim podacima za vizualizaciju - - prva linija u fajlu je identifikator, koji se mora slagati - -- real function , interval - - VariableSpaced - - Name: Sin - - values (x, y) - - 0.0; 0.0 - - 0.2; 0.134654 - - ... - REAL_FUNCTION_VARIABLE_SPACED - Name: sin(x) - 0.0 0.0 - 0.1 0.98765 - ... - - EqualSpaced - - Name;Sin - - Interval: -10 10 - - DeltaX: 0.5 - - values of y - REAL_FUNCTION_EQUALLY_SPACED - sin(x) - Interval: -10 10 - Delta: 0.5 - -0.96 - -0.68 - ... - - EqualSpacedMulti - za rješenja dinamičkih sistema! - - Interval: -10 10 - - DeltaX: 0.5 - - Title: Sin - - values of y - - Title;Cos - - values of y -- parametric curve 2 i 3 - - u stvari je samo jedna funkcij za serijalizaciju - - ali, mi moramo definirato ŠTO se serijaliziralo - - ima Serialize koji samo ispljune t i koord. - -. private? - - ParametricCartesian2 - (x, y) = f(t) - - ParametricCartesian3 - (x, y, z) = f(t) - - ParametricPolar - (r, phi) = f(t) - - ParametricSpherical - (r, theta, phi) = f(t) - - za putanje tijela -- scalar function2d - surface - - RegularXY surface - zadan na rectangle x, y -> z = f(x, y) - - može i u sfernim koord (theta i phi parametri) - - ParametricSurface - zadan parametrizirano (u, w) -> (x, y, z) = f(u, w) -- scalar function 3d - volume prikaz s nužnim presjecima - - val = f(x, y, z) - . kako prikazati 3D kocku i vrijednosti poljau njoj? - prikazati kocku i bojom po rubnim plohama vizualizirati vrijednosti - unutar kocke u regularnim intervalima staviti sferu koja veličinom (+ bojom)signalizira vrijednost - - u viewu se odabire točka, a onda se prikazuju surfaces po 3 ravnine (x-y, x-z, y-z), određene tom točkom -- vector field 3d - u točkama prostora se prikazuje vektor - - vec = f(x, y, z) - - CartesianEquallySpaced - - Title: field - - IntervalX: -10 10 - - DeltaX: 0.5 - - IntervalY: -10 10 - - DeltaY: 0.5 - - IntervalZ: -10 10 - - DeltaZ: 0.5 - - values of y - VECTOR_FIELD - gravity field - IntervalX: -10 10 - DeltaX: 0.5 - IntervalY: -10 10 - DeltaY: 0.5 - IntervalZ: -10 10 - DeltaZ: 0.5 - -0.96 - -0.68 - ... -- 3D world - - može prikazati - - točku - - vektor u nekoj točki - Vector PosCartesian 0 1 -2 VectorCartesian -1 2 3 - - koordinatne funkcije za poziciju (za spher i cyl) - - lokalni koord sistem u točki - -- vizualizacija 3D transformacije - -Geometry prikazi -- triangularizacija diff --git a/tools/visualizers/parametric_curve_visualizer/MML_ParametricCurveVisualizer.dll b/tools/visualizers/parametric_curve_visualizer/MML_ParametricCurveVisualizer.dll index b99caef..79d1e53 100644 Binary files a/tools/visualizers/parametric_curve_visualizer/MML_ParametricCurveVisualizer.dll and b/tools/visualizers/parametric_curve_visualizer/MML_ParametricCurveVisualizer.dll differ diff --git a/tools/visualizers/parametric_curve_visualizer/MML_ParametricCurveVisualizer.exe b/tools/visualizers/parametric_curve_visualizer/MML_ParametricCurveVisualizer.exe index 06286df..6787207 100644 Binary files a/tools/visualizers/parametric_curve_visualizer/MML_ParametricCurveVisualizer.exe and b/tools/visualizers/parametric_curve_visualizer/MML_ParametricCurveVisualizer.exe differ diff --git a/tools/visualizers/parametric_curve_visualizer/WPF3DHelperLib.dll b/tools/visualizers/parametric_curve_visualizer/WPF3DHelperLib.dll index 2cbbda2..7527c62 100644 Binary files a/tools/visualizers/parametric_curve_visualizer/WPF3DHelperLib.dll and b/tools/visualizers/parametric_curve_visualizer/WPF3DHelperLib.dll differ diff --git a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve.txt b/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve.txt deleted file mode 100644 index 91e1cb9..0000000 --- a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve.txt +++ /dev/null @@ -1,10005 +0,0 @@ -PARAMETRIC_CURVE_CARTESIAN_3D -t1: 0 -t2: 50 -NumPoints: 10001 -0 2 1 1 -0.005 1.95768 1.26133 0.997865 -0.01 1.93002 1.51666 0.998054 -0.015 1.91584 1.76819 1.00049 -0.02 1.91433 2.01768 1.0052 -0.025 1.92502 2.26652 1.01229 -0.03 1.94747 2.51609 1.0219 -0.035 1.98128 2.7678 1.03423 -0.04 2.02607 3.02307 1.0495 -0.045 2.08146 3.28334 1.06795 -0.05 2.14714 3.55006 1.08989 -0.055 2.22279 3.82471 1.11565 -0.06 2.30814 4.10878 1.1456 -0.065 2.4031 4.40355 1.18026 -0.07 2.50796 4.70991 1.22029 -0.075 2.62293 5.02892 1.26626 -0.08 2.74822 5.3617 1.31881 -0.085 2.88408 5.70933 1.37874 -0.09 3.03076 6.07295 1.44693 -0.095 3.18854 6.45366 1.5244 -0.1 3.35772 6.85263 1.61228 -0.105 3.53862 7.27098 1.71181 -0.11 3.73157 7.7099 1.82436 -0.115 3.93692 8.17054 1.9514 -0.12 4.15496 8.65334 2.09484 -0.125 4.38621 9.15906 2.2566 -0.13 4.63141 9.68921 2.43847 -0.135 4.89127 10.245 2.64253 -0.14 5.1664 10.8272 2.87116 -0.145 5.45739 11.4364 3.12703 -0.15 5.76477 12.0728 3.41309 -0.155 6.089 12.7362 3.7326 -0.16 6.4305 13.4263 4.08911 -0.165 6.78963 14.1421 4.48646 -0.17 7.16668 14.8827 4.92877 -0.175 7.56192 15.6465 5.42048 -0.18 7.97552 16.4319 5.96629 -0.185 8.40763 17.2366 6.57122 -0.19 8.85833 18.0584 7.24053 -0.195 9.32657 18.8936 7.97551 -0.2 9.812 19.7368 8.78173 -0.205 10.3147 20.5816 9.6675 -0.21 10.8343 21.4205 10.6395 -0.215 11.3696 22.2451 11.703 -0.22 11.9193 23.0458 12.8616 -0.225 12.4812 23.8123 14.1172 -0.23 13.0527 24.5329 15.4705 -0.235 13.6307 25.1954 16.9202 -0.24 14.2115 25.7861 18.4638 -0.245 14.7908 26.2907 20.0971 -0.25 15.3638 26.6935 21.8144 -0.255 15.9253 26.9783 23.6081 -0.26 16.4694 27.1274 25.4696 -0.265 16.9903 27.1233 27.3895 -0.27 17.4836 26.9546 29.3534 -0.275 17.9407 26.6125 31.3322 -0.28 18.3538 26.0914 33.2971 -0.285 18.7156 25.389 35.2213 -0.29 19.0196 24.5065 37.0795 -0.295 19.2603 23.4485 38.8481 -0.3 19.4329 22.2229 40.5055 -0.305 19.5333 20.8414 42.0315 -0.31 19.5582 19.3186 43.4079 -0.315 19.5054 17.673 44.6181 -0.32 19.3731 15.9263 45.6473 -0.325 19.1601 14.1071 46.475 -0.33 18.8679 12.2505 47.0955 -0.335 18.4998 10.3874 47.517 -0.34 18.0601 8.54539 47.7494 -0.345 17.5534 6.74889 47.8037 -0.35 16.9852 5.01871 47.6921 -0.355 16.3616 3.37234 47.4284 -0.36 15.6892 1.82388 47.0275 -0.365 14.9755 0.384009 46.5058 -0.37 14.2283 -0.939967 45.8808 -0.375 13.4565 -2.14414 45.1714 -0.38 12.6683 -3.22805 44.3996 -0.385 11.8686 -4.19378 43.5882 -0.39 11.0637 -5.04427 42.7509 -0.395 10.2594 -5.78366 41.8993 -0.4 9.46104 -6.41727 41.0442 -0.405 8.67327 -6.95164 40.1951 -0.41 7.90015 -7.39453 39.3604 -0.415 7.14512 -7.75488 38.5471 -0.42 6.41103 -8.04285 37.7613 -0.425 5.70013 -8.26983 37.0079 -0.43 5.01406 -8.44837 36.2905 -0.435 4.35388 -8.59024 35.6112 -0.44 3.72016 -8.69439 34.9668 -0.445 3.11314 -8.76475 34.3561 -0.45 2.53287 -8.80652 33.7781 -0.455 1.97929 -8.82444 33.232 -0.46 1.45218 -8.8228 32.7165 -0.465 0.951166 -8.80541 32.2305 -0.47 0.475761 -8.77565 31.7725 -0.475 0.0253216 -8.73641 31.3411 -0.48 -0.400934 -8.69013 30.9345 -0.485 -0.803926 -8.63882 30.5512 -0.49 -1.18474 -8.58417 30.1892 -0.495 -1.54453 -8.52821 29.8473 -0.5 -1.88419 -8.47197 29.5243 -0.505 -2.20463 -8.41627 29.219 -0.51 -2.50673 -8.36188 28.9301 -0.515 -2.79138 -8.30949 28.6565 -0.52 -3.05951 -8.25974 28.3973 -0.525 -3.312 -8.21321 28.1516 -0.53 -3.54979 -8.17041 27.9183 -0.535 -3.77378 -8.1318 27.6968 -0.54 -3.98492 -8.09776 27.4864 -0.545 -4.18412 -8.06862 27.2864 -0.55 -4.37233 -8.04467 27.0962 -0.555 -4.5505 -8.02609 26.9154 -0.56 -4.71956 -8.01301 26.7436 -0.565 -4.88038 -8.00513 26.58 -0.57 -5.03343 -8.00224 26.4245 -0.575 -5.17918 -8.00427 26.2769 -0.58 -5.31806 -8.01115 26.1371 -0.585 -5.45051 -8.02277 26.0049 -0.59 -5.57698 -8.03903 25.8802 -0.595 -5.69792 -8.05982 25.7629 -0.6 -5.81377 -8.08503 25.6527 -0.605 -5.92499 -8.11452 25.5496 -0.61 -6.03201 -8.14815 25.4535 -0.615 -6.13529 -8.18578 25.3641 -0.62 -6.23527 -8.22725 25.2813 -0.625 -6.33242 -8.27239 25.205 -0.63 -6.42718 -8.32103 25.135 -0.635 -6.52 -8.373 25.0712 -0.64 -6.61133 -8.42808 25.0134 -0.645 -6.70144 -8.48604 24.9616 -0.65 -6.79025 -8.54662 24.9161 -0.655 -6.87786 -8.60964 24.8769 -0.66 -6.96437 -8.6749 24.8441 -0.665 -7.04988 -8.7422 24.8178 -0.67 -7.13449 -8.81134 24.798 -0.675 -7.21828 -8.8821 24.7848 -0.68 -7.30135 -8.95425 24.7781 -0.685 -7.38377 -9.02755 24.778 -0.69 -7.46561 -9.10175 24.7844 -0.695 -7.54696 -9.1766 24.7973 -0.7 -7.62789 -9.25183 24.8166 -0.705 -7.70845 -9.32716 24.8423 -0.71 -7.78872 -9.4023 24.8743 -0.715 -7.86874 -9.47695 24.9124 -0.72 -7.94858 -9.55082 24.9566 -0.725 -8.02828 -9.62357 25.0067 -0.73 -8.10786 -9.69496 25.0625 -0.735 -8.18719 -9.76488 25.1241 -0.74 -8.26614 -9.833 25.1914 -0.745 -8.34457 -9.899 25.2643 -0.75 -8.42234 -9.96255 25.3427 -0.755 -8.49934 -10.0233 25.4264 -0.76 -8.57541 -10.0811 25.5154 -0.765 -8.65044 -10.1355 25.6095 -0.77 -8.72428 -10.1862 25.7084 -0.775 -8.79681 -10.2331 25.8119 -0.78 -8.8679 -10.2759 25.9198 -0.785 -8.9374 -10.3143 26.0318 -0.79 -9.00519 -10.3481 26.1476 -0.795 -9.07114 -10.3771 26.2668 -0.8 -9.13512 -10.4011 26.3891 -0.805 -9.19698 -10.4199 26.5142 -0.81 -9.2566 -10.4333 26.6415 -0.815 -9.31385 -10.4413 26.7707 -0.82 -9.3686 -10.4435 26.9013 -0.825 -9.4207 -10.4399 27.0328 -0.83 -9.47004 -10.4304 27.1648 -0.835 -9.51647 -10.4149 27.2966 -0.84 -9.55995 -10.393 27.4281 -0.845 -9.60032 -10.3648 27.559 -0.85 -9.63738 -10.3305 27.6888 -0.855 -9.67095 -10.2902 27.8168 -0.86 -9.70087 -10.2442 27.9426 -0.865 -9.72698 -10.1926 28.0657 -0.87 -9.74916 -10.1356 28.1857 -0.875 -9.76731 -10.0736 28.3021 -0.88 -9.78134 -10.0066 28.4144 -0.885 -9.79119 -9.93492 28.5223 -0.89 -9.7968 -9.85881 28.6255 -0.895 -9.79815 -9.7785 28.7236 -0.9 -9.79523 -9.69425 28.8162 -0.905 -9.78806 -9.6063 28.9032 -0.91 -9.77666 -9.51494 28.9842 -0.915 -9.76108 -9.42042 29.0589 -0.92 -9.7414 -9.32304 29.1272 -0.925 -9.71771 -9.22308 29.1889 -0.93 -9.69011 -9.12083 29.2438 -0.935 -9.65874 -9.0166 29.2917 -0.94 -9.62374 -8.91071 29.3326 -0.945 -9.58528 -8.80345 29.3663 -0.95 -9.54356 -8.69518 29.3928 -0.955 -9.49877 -8.5862 29.412 -0.96 -9.45115 -8.47687 29.4239 -0.965 -9.40087 -8.3676 29.4285 -0.97 -9.34777 -8.25929 29.4264 -0.975 -9.29199 -8.15231 29.4174 -0.98 -9.23374 -8.04696 29.4016 -0.985 -9.17326 -7.9435 29.3792 -0.99 -9.11075 -7.84219 29.35 -0.995 -9.04643 -7.74328 29.3141 -1 -8.98051 -7.64699 29.2718 -1.005 -8.9132 -7.55356 29.223 -1.01 -8.84472 -7.46319 29.168 -1.015 -8.77526 -7.37608 29.1069 -1.02 -8.70504 -7.29243 29.0399 -1.025 -8.63425 -7.2124 28.9672 -1.03 -8.5631 -7.13617 28.8891 -1.035 -8.49179 -7.06388 28.8059 -1.04 -8.4205 -6.99567 28.7178 -1.045 -8.34945 -6.93169 28.6251 -1.05 -8.27881 -6.87203 28.5282 -1.055 -8.20878 -6.81682 28.4275 -1.06 -8.13955 -6.76615 28.3233 -1.065 -8.07131 -6.7201 28.216 -1.07 -8.00424 -6.67874 28.1062 -1.075 -7.93852 -6.64213 27.9942 -1.08 -7.87433 -6.61032 27.8805 -1.085 -7.81186 -6.58335 27.7657 -1.09 -7.75127 -6.56124 27.6503 -1.095 -7.69276 -6.54401 27.5348 -1.1 -7.63641 -6.53117 27.419 -1.105 -7.58229 -6.52237 27.3025 -1.11 -7.5305 -6.51766 27.1856 -1.115 -7.48113 -6.51704 27.0685 -1.12 -7.43425 -6.52053 26.9514 -1.125 -7.38995 -6.52812 26.8346 -1.13 -7.34828 -6.5398 26.7183 -1.135 -7.30933 -6.55554 26.6027 -1.14 -7.27314 -6.57533 26.4881 -1.145 -7.23978 -6.59911 26.3746 -1.15 -7.20929 -6.62682 26.2624 -1.155 -7.18172 -6.65842 26.1519 -1.16 -7.15711 -6.69382 26.0431 -1.165 -7.13549 -6.73293 25.9362 -1.17 -7.1169 -6.77567 25.8315 -1.175 -7.10135 -6.82194 25.7292 -1.18 -7.08887 -6.87161 25.6294 -1.185 -7.07946 -6.92456 25.5324 -1.19 -7.07315 -6.98067 25.4383 -1.195 -7.06992 -7.03978 25.3473 -1.2 -7.06978 -7.10173 25.2595 -1.205 -7.07273 -7.16637 25.1752 -1.21 -7.07874 -7.23352 25.0945 -1.215 -7.0878 -7.303 25.0175 -1.22 -7.0999 -7.3746 24.9446 -1.225 -7.11499 -7.44812 24.8757 -1.23 -7.13304 -7.52336 24.811 -1.235 -7.15373 -7.6005 24.7505 -1.24 -7.17693 -7.67966 24.6941 -1.245 -7.20267 -7.76074 24.642 -1.25 -7.23098 -7.84364 24.5946 -1.255 -7.26189 -7.92826 24.5519 -1.26 -7.2954 -8.01446 24.5142 -1.265 -7.33151 -8.10213 24.4816 -1.27 -7.3702 -8.19113 24.4542 -1.275 -7.41144 -8.28133 24.4323 -1.28 -7.45522 -8.37256 24.4158 -1.285 -7.50147 -8.46468 24.405 -1.29 -7.55014 -8.55751 24.4 -1.295 -7.60116 -8.65088 24.4008 -1.3 -7.65446 -8.74461 24.4074 -1.305 -7.70994 -8.8385 24.4201 -1.31 -7.76751 -8.93236 24.4387 -1.315 -7.82706 -9.02598 24.4634 -1.32 -7.88846 -9.11915 24.4941 -1.325 -7.95159 -9.21164 24.5309 -1.33 -8.0163 -9.30321 24.5737 -1.335 -8.08243 -9.39363 24.6226 -1.34 -8.14983 -9.48266 24.6775 -1.345 -8.21832 -9.57002 24.7384 -1.35 -8.28771 -9.65547 24.8051 -1.355 -8.35781 -9.73872 24.8777 -1.36 -8.4284 -9.8195 24.956 -1.365 -8.49929 -9.89752 25.04 -1.37 -8.57022 -9.97247 25.1295 -1.375 -8.64098 -10.0441 25.2244 -1.38 -8.7113 -10.112 25.3246 -1.385 -8.7813 -10.1761 25.43 -1.39 -8.85107 -10.2364 25.5403 -1.395 -8.92034 -10.2924 25.6553 -1.4 -8.98888 -10.3438 25.7746 -1.405 -9.05646 -10.3903 25.8978 -1.41 -9.12283 -10.4316 26.0246 -1.415 -9.18779 -10.4675 26.1547 -1.42 -9.25111 -10.4976 26.2877 -1.425 -9.31259 -10.5219 26.4232 -1.43 -9.37202 -10.54 26.5608 -1.435 -9.42922 -10.5519 26.7002 -1.44 -9.48398 -10.5574 26.8409 -1.445 -9.53614 -10.5565 26.9826 -1.45 -9.58551 -10.549 27.1248 -1.455 -9.63192 -10.5349 27.2671 -1.46 -9.67522 -10.5142 27.4091 -1.465 -9.71526 -10.4868 27.5504 -1.47 -9.75187 -10.4529 27.6904 -1.475 -9.78493 -10.4124 27.8287 -1.48 -9.81429 -10.3655 27.9649 -1.485 -9.83983 -10.3123 28.0985 -1.49 -9.86143 -10.2529 28.229 -1.495 -9.87897 -10.1874 28.3559 -1.5 -9.89235 -10.1161 28.4787 -1.505 -9.90146 -10.0391 28.5969 -1.51 -9.90622 -9.95681 28.71 -1.515 -9.90654 -9.86928 28.8175 -1.52 -9.90239 -9.77677 28.919 -1.525 -9.89383 -9.67979 29.0142 -1.53 -9.88088 -9.57885 29.1028 -1.535 -9.86361 -9.47443 29.1846 -1.54 -9.84208 -9.367 29.2593 -1.545 -9.81636 -9.25703 29.3267 -1.55 -9.78654 -9.14497 29.3867 -1.555 -9.75272 -9.03124 29.4391 -1.56 -9.71501 -8.91627 29.4838 -1.565 -9.67354 -8.80046 29.5207 -1.57 -9.62843 -8.68422 29.5498 -1.575 -9.57984 -8.56792 29.5709 -1.58 -9.5279 -8.45193 29.5842 -1.585 -9.4728 -8.33661 29.5896 -1.59 -9.41471 -8.22229 29.5872 -1.595 -9.35382 -8.10931 29.577 -1.6 -9.29032 -7.99797 29.5592 -1.605 -9.22444 -7.88858 29.5338 -1.61 -9.15639 -7.78143 29.5011 -1.615 -9.0864 -7.6768 29.4612 -1.62 -9.01473 -7.57493 29.4143 -1.625 -8.94162 -7.47609 29.3606 -1.63 -8.86735 -7.3805 29.3005 -1.635 -8.7922 -7.28839 29.2342 -1.64 -8.71645 -7.19996 29.162 -1.645 -8.64037 -7.11542 29.0843 -1.65 -8.56404 -7.03495 29.0016 -1.655 -8.48764 -6.95875 28.9143 -1.66 -8.4114 -6.88696 28.8225 -1.665 -8.33552 -6.81974 28.7264 -1.67 -8.26021 -6.75719 28.6264 -1.675 -8.18565 -6.69942 28.5227 -1.68 -8.11204 -6.64652 28.4155 -1.685 -8.03955 -6.59855 28.3051 -1.69 -7.96837 -6.55556 28.1917 -1.695 -7.89866 -6.51758 28.0757 -1.7 -7.83059 -6.48463 27.9574 -1.705 -7.7643 -6.45669 27.837 -1.71 -7.69995 -6.43374 27.7148 -1.715 -7.63768 -6.41574 27.5911 -1.72 -7.57762 -6.40262 27.4663 -1.725 -7.51991 -6.39431 27.3406 -1.73 -7.46467 -6.39071 27.2144 -1.735 -7.412 -6.3917 27.088 -1.74 -7.36203 -6.39714 26.9618 -1.745 -7.31485 -6.40689 26.836 -1.75 -7.27056 -6.42077 26.7111 -1.755 -7.22925 -6.4386 26.5874 -1.76 -7.191 -6.46016 26.4652 -1.765 -7.15589 -6.48523 26.3449 -1.77 -7.12384 -6.51386 26.2264 -1.775 -7.09479 -6.54617 26.1096 -1.78 -7.06878 -6.5821 25.9945 -1.785 -7.04586 -6.62161 25.8815 -1.79 -7.02606 -6.66462 25.7707 -1.795 -7.00941 -6.71109 25.6623 -1.8 -6.99593 -6.76095 25.5566 -1.805 -6.98563 -6.81411 25.4536 -1.81 -6.97853 -6.87051 25.3537 -1.815 -6.97463 -6.93006 25.2569 -1.82 -6.97393 -6.99267 25.1635 -1.825 -6.97643 -7.05825 25.0736 -1.83 -6.98211 -7.12671 24.9874 -1.835 -6.99096 -7.19794 24.905 -1.84 -7.00295 -7.27184 24.8267 -1.845 -7.01805 -7.34829 24.7525 -1.85 -7.03623 -7.42718 24.6826 -1.855 -7.05745 -7.50838 24.6172 -1.86 -7.08166 -7.59178 24.5564 -1.865 -7.10881 -7.67723 24.5003 -1.87 -7.13884 -7.76461 24.4491 -1.875 -7.1717 -7.85377 24.4029 -1.88 -7.2073 -7.94456 24.3618 -1.885 -7.24558 -8.03684 24.3259 -1.89 -7.2864 -8.1305 24.2954 -1.895 -7.32956 -8.22557 24.27 -1.9 -7.37503 -8.3219 24.2499 -1.905 -7.42281 -8.41928 24.2354 -1.91 -7.4729 -8.51754 24.2267 -1.915 -7.52528 -8.61647 24.2239 -1.92 -7.57989 -8.71587 24.2273 -1.925 -7.63671 -8.81552 24.2368 -1.93 -7.69566 -8.91522 24.2527 -1.935 -7.75668 -9.01474 24.275 -1.94 -7.81969 -9.11386 24.3037 -1.945 -7.8846 -9.21234 24.3391 -1.95 -7.95129 -9.30995 24.381 -1.955 -8.01965 -9.40645 24.4295 -1.96 -8.08955 -9.50157 24.4845 -1.965 -8.16085 -9.59508 24.5461 -1.97 -8.23341 -9.6867 24.6142 -1.975 -8.30705 -9.77618 24.6886 -1.98 -8.38161 -9.86324 24.7694 -1.985 -8.45689 -9.9476 24.8563 -1.99 -8.5327 -10.029 24.9493 -1.995 -8.60883 -10.1071 25.0482 -2 -8.68505 -10.1816 25.1528 -2.005 -8.76114 -10.2523 25.2629 -2.01 -8.83684 -10.3189 25.3783 -2.015 -8.91191 -10.3809 25.4988 -2.02 -8.98608 -10.4382 25.624 -2.025 -9.05906 -10.4903 25.7537 -2.03 -9.13056 -10.537 25.8876 -2.035 -9.20032 -10.5779 26.0254 -2.04 -9.26862 -10.6128 26.167 -2.045 -9.33536 -10.6415 26.3121 -2.05 -9.40023 -10.6639 26.4599 -2.055 -9.46296 -10.6797 26.61 -2.06 -9.52325 -10.6888 26.7618 -2.065 -9.58086 -10.6911 26.9147 -2.07 -9.63554 -10.6865 27.0682 -2.075 -9.68707 -10.675 27.2218 -2.08 -9.73523 -10.6564 27.3748 -2.085 -9.77984 -10.6309 27.5269 -2.09 -9.82072 -10.5984 27.6776 -2.095 -9.8577 -10.5589 27.8262 -2.1 -9.89065 -10.5125 27.9724 -2.105 -9.91943 -10.4594 28.1157 -2.11 -9.94393 -10.3996 28.2556 -2.115 -9.96406 -10.3333 28.3917 -2.12 -9.97974 -10.2607 28.5235 -2.125 -9.99091 -10.1819 28.6506 -2.13 -9.99751 -10.0973 28.7726 -2.135 -9.99952 -10.007 28.8892 -2.14 -9.99693 -9.91128 28.9998 -2.145 -9.98974 -9.81054 29.1042 -2.15 -9.97797 -9.70508 29.2019 -2.155 -9.96164 -9.59526 29.2926 -2.16 -9.94082 -9.48146 29.3759 -2.165 -9.9155 -9.36418 29.4515 -2.17 -9.88554 -9.24424 29.5191 -2.175 -9.85107 -9.12215 29.5785 -2.18 -9.81225 -8.99838 29.6296 -2.185 -9.76927 -8.8734 29.6723 -2.19 -9.7223 -8.74766 29.7065 -2.195 -9.67152 -8.62158 29.7321 -2.2 -9.61714 -8.4956 29.7492 -2.205 -9.55933 -8.37011 29.7577 -2.21 -9.4983 -8.24552 29.7577 -2.215 -9.43426 -8.12221 29.7493 -2.22 -9.36742 -8.00054 29.7325 -2.225 -9.29798 -7.88089 29.7075 -2.23 -9.22617 -7.76358 29.6744 -2.235 -9.15221 -7.64896 29.6335 -2.24 -9.07634 -7.53734 29.5849 -2.245 -8.99878 -7.42904 29.5289 -2.25 -8.91977 -7.32433 29.4657 -2.255 -8.83957 -7.22352 29.3958 -2.26 -8.75842 -7.12685 29.3193 -2.265 -8.67657 -7.0346 29.2367 -2.27 -8.59429 -6.94699 29.1484 -2.275 -8.51183 -6.86427 29.0548 -2.28 -8.42947 -6.78665 28.9564 -2.285 -8.34748 -6.71433 28.8535 -2.29 -8.26614 -6.6475 28.7468 -2.295 -8.18571 -6.58572 28.6365 -2.3 -8.10637 -6.52879 28.5228 -2.305 -8.02831 -6.47681 28.406 -2.31 -7.9517 -6.42987 28.2863 -2.315 -7.87669 -6.38803 28.164 -2.32 -7.80345 -6.35136 28.0394 -2.325 -7.73213 -6.31988 27.9128 -2.33 -7.66287 -6.29361 27.7845 -2.335 -7.59582 -6.27255 27.6546 -2.34 -7.53109 -6.2567 27.5236 -2.345 -7.46883 -6.24601 27.3916 -2.35 -7.40915 -6.24043 27.259 -2.355 -7.35215 -6.23991 27.1261 -2.36 -7.29796 -6.24434 26.993 -2.365 -7.24665 -6.25364 26.8601 -2.37 -7.19834 -6.26769 26.7277 -2.375 -7.1531 -6.28634 26.596 -2.38 -7.11102 -6.30945 26.4654 -2.385 -7.07216 -6.33685 26.336 -2.39 -7.0366 -6.36834 26.2083 -2.395 -7.0044 -6.40374 26.0824 -2.4 -6.9756 -6.44281 25.9586 -2.405 -6.95026 -6.48532 25.8373 -2.41 -6.92841 -6.53102 25.7186 -2.415 -6.9101 -6.57963 25.603 -2.42 -6.89518 -6.63124 25.4903 -2.425 -6.88348 -6.68618 25.3804 -2.43 -6.87502 -6.74439 25.2735 -2.435 -6.86984 -6.80581 25.1698 -2.44 -6.86796 -6.87038 25.0696 -2.445 -6.86939 -6.93803 24.9729 -2.45 -6.87414 -7.00868 24.88 -2.455 -6.8822 -7.08224 24.791 -2.46 -6.89357 -7.15863 24.7062 -2.465 -6.90823 -7.23776 24.6256 -2.47 -6.92617 -7.31952 24.5495 -2.475 -6.94735 -7.40381 24.478 -2.48 -6.97175 -7.49051 24.4113 -2.485 -6.99933 -7.57952 24.3495 -2.49 -7.03002 -7.67071 24.2928 -2.495 -7.06379 -7.76394 24.2413 -2.5 -7.10056 -7.85909 24.1952 -2.505 -7.14028 -7.95602 24.1545 -2.51 -7.18286 -8.05458 24.1195 -2.515 -7.22823 -8.15462 24.0902 -2.52 -7.2763 -8.25598 24.0668 -2.525 -7.32697 -8.3585 24.0494 -2.53 -7.38013 -8.46202 24.0381 -2.535 -7.43569 -8.56635 24.033 -2.54 -7.49353 -8.67133 24.0343 -2.545 -7.55347 -8.7769 24.0417 -2.55 -7.61529 -8.88317 24.0552 -2.555 -7.67898 -8.9898 24.0748 -2.56 -7.74448 -9.09645 24.1007 -2.565 -7.81177 -9.20279 24.1332 -2.57 -7.88078 -9.30847 24.1724 -2.575 -7.95144 -9.41316 24.2185 -2.58 -8.02368 -9.51654 24.2714 -2.585 -8.09739 -9.61827 24.3313 -2.59 -8.17247 -9.71804 24.3983 -2.595 -8.2488 -9.81553 24.4722 -2.6 -8.32625 -9.91043 24.5531 -2.605 -8.40467 -10.0024 24.6409 -2.61 -8.48392 -10.0912 24.7355 -2.615 -8.56381 -10.1765 24.8368 -2.62 -8.64417 -10.258 24.9446 -2.625 -8.7248 -10.3354 25.0587 -2.63 -8.8055 -10.4084 25.179 -2.635 -8.88605 -10.4767 25.3052 -2.64 -8.96621 -10.5401 25.4369 -2.645 -9.04575 -10.5983 25.574 -2.65 -9.12441 -10.6509 25.716 -2.655 -9.20191 -10.6978 25.8625 -2.66 -9.27798 -10.7387 26.0133 -2.665 -9.35233 -10.7733 26.1678 -2.67 -9.42465 -10.8014 26.3255 -2.675 -9.49461 -10.8226 26.4861 -2.68 -9.5619 -10.8368 26.6489 -2.685 -9.62616 -10.8437 26.8134 -2.69 -9.68705 -10.8431 26.979 -2.695 -9.74418 -10.8347 27.1452 -2.7 -9.79723 -10.8183 27.3112 -2.705 -9.84663 -10.7925 27.4772 -2.71 -9.8924 -10.7575 27.6425 -2.715 -9.9343 -10.7138 27.8063 -2.72 -9.97209 -10.662 27.9679 -2.725 -10.0056 -10.6026 28.1265 -2.73 -10.0345 -10.5363 28.2814 -2.735 -10.0588 -10.4635 28.432 -2.74 -10.0784 -10.3848 28.5776 -2.745 -10.093 -10.3005 28.7177 -2.75 -10.1026 -10.2112 28.8518 -2.755 -10.1072 -10.1173 28.9794 -2.76 -10.1067 -10.0191 29.1001 -2.765 -10.1011 -9.91718 29.2135 -2.77 -10.0904 -9.81173 29.3192 -2.775 -10.0747 -9.70313 29.417 -2.78 -10.054 -9.59171 29.5067 -2.785 -10.0283 -9.47774 29.5879 -2.79 -9.99787 -9.3615 29.6606 -2.795 -9.96276 -9.24322 29.7247 -2.8 -9.92313 -9.12314 29.78 -2.805 -9.87917 -9.00144 29.8266 -2.81 -9.83109 -8.87829 29.8645 -2.815 -9.77911 -8.75386 29.8937 -2.82 -9.72348 -8.62827 29.9144 -2.825 -9.66448 -8.50163 29.9267 -2.83 -9.60241 -8.37401 29.9307 -2.835 -9.53761 -8.24548 29.9269 -2.84 -9.47041 -8.11608 29.9153 -2.845 -9.40103 -7.98626 29.8964 -2.85 -9.32887 -7.85861 29.8699 -2.855 -9.25408 -7.73382 29.8358 -2.86 -9.17695 -7.61221 29.7942 -2.865 -9.09777 -7.49404 29.745 -2.87 -9.0168 -7.37958 29.6883 -2.875 -8.93432 -7.26908 29.6242 -2.88 -8.85061 -7.16278 29.5529 -2.885 -8.76593 -7.06088 29.4745 -2.89 -8.68053 -6.96358 29.3892 -2.895 -8.59466 -6.87106 29.2974 -2.9 -8.50859 -6.78349 29.1991 -2.905 -8.42254 -6.701 29.0948 -2.91 -8.33676 -6.62374 28.9847 -2.915 -8.25149 -6.55181 28.8693 -2.92 -8.16695 -6.4853 28.7488 -2.925 -8.08336 -6.4243 28.6238 -2.93 -8.00095 -6.36886 28.4947 -2.935 -7.91993 -6.31903 28.3619 -2.94 -7.84051 -6.27484 28.2261 -2.945 -7.76289 -6.23628 28.0877 -2.95 -7.68727 -6.20337 27.9473 -2.955 -7.61385 -6.17607 27.8056 -2.96 -7.54281 -6.15434 27.6632 -2.965 -7.47435 -6.13813 27.5208 -2.97 -7.40863 -6.12735 27.379 -2.975 -7.34584 -6.12192 27.2387 -2.98 -7.28611 -6.12162 27.1002 -2.985 -7.2294 -6.12595 26.962 -2.99 -7.17578 -6.1348 26.8241 -2.995 -7.12532 -6.14815 26.6868 -3 -7.07808 -6.16594 26.5505 -3.005 -7.03412 -6.18813 26.4152 -3.01 -6.99349 -6.21465 26.2812 -3.015 -6.95624 -6.24544 26.1488 -3.02 -6.92242 -6.28042 26.0182 -3.025 -6.89204 -6.31954 25.8896 -3.03 -6.86516 -6.3627 25.7632 -3.035 -6.84179 -6.40981 25.6393 -3.04 -6.82195 -6.46078 25.518 -3.045 -6.80566 -6.51553 25.3995 -3.05 -6.79292 -6.57393 25.284 -3.055 -6.78374 -6.63588 25.1718 -3.06 -6.77811 -6.70127 25.063 -3.065 -6.77603 -6.76997 24.9578 -3.07 -6.77747 -6.84185 24.8563 -3.075 -6.78243 -6.91679 24.7588 -3.08 -6.79088 -6.99465 24.6654 -3.085 -6.80278 -7.07527 24.5763 -3.09 -6.81809 -7.15851 24.4915 -3.095 -6.83679 -7.24422 24.4114 -3.1 -6.85881 -7.33224 24.3359 -3.105 -6.88396 -7.42246 24.2653 -3.11 -6.91182 -7.51498 24.1993 -3.115 -6.94243 -7.60975 24.1382 -3.12 -6.97588 -7.70667 24.0823 -3.125 -7.01222 -7.80565 24.0318 -3.13 -7.0515 -7.90656 23.9869 -3.135 -7.09376 -8.00929 23.9478 -3.14 -7.139 -8.1137 23.9148 -3.145 -7.18724 -8.21964 23.8881 -3.15 -7.23845 -8.32696 23.8677 -3.155 -7.29261 -8.4355 23.8538 -3.16 -7.34968 -8.54506 23.8467 -3.165 -7.4096 -8.65547 23.8463 -3.17 -7.47231 -8.76651 23.8528 -3.175 -7.53772 -8.87798 23.8664 -3.18 -7.60572 -8.98965 23.887 -3.185 -7.67621 -9.10129 23.9147 -3.19 -7.74905 -9.21264 23.9496 -3.195 -7.82411 -9.32345 23.9918 -3.2 -7.90122 -9.43345 24.0412 -3.205 -7.98021 -9.54237 24.0978 -3.21 -8.0609 -9.6499 24.1617 -3.215 -8.14309 -9.75574 24.2327 -3.22 -8.22655 -9.85958 24.311 -3.225 -8.31106 -9.9611 24.3963 -3.23 -8.39637 -10.06 24.4886 -3.235 -8.48223 -10.1558 24.5879 -3.24 -8.56836 -10.2483 24.6941 -3.245 -8.65447 -10.337 24.807 -3.25 -8.74026 -10.4216 24.9264 -3.255 -8.82541 -10.5017 25.0523 -3.26 -8.90959 -10.5769 25.1846 -3.265 -8.99275 -10.6468 25.3229 -3.27 -9.07531 -10.7115 25.4671 -3.275 -9.15698 -10.7704 25.6165 -3.28 -9.23746 -10.8232 25.7709 -3.285 -9.31642 -10.8694 25.9296 -3.29 -9.39357 -10.9087 26.0921 -3.295 -9.46863 -10.9408 26.258 -3.3 -9.54132 -10.9655 26.4267 -3.305 -9.61136 -10.9824 26.5978 -3.31 -9.67852 -10.9914 26.7706 -3.315 -9.74253 -10.9923 26.9447 -3.32 -9.80318 -10.985 27.1196 -3.325 -9.86023 -10.9694 27.2946 -3.33 -9.91347 -10.9454 27.4692 -3.335 -9.96271 -10.9131 27.6428 -3.34 -10.0078 -10.8725 27.815 -3.345 -10.0484 -10.8235 27.9851 -3.35 -10.0845 -10.7664 28.1525 -3.355 -10.116 -10.7012 28.3167 -3.36 -10.1425 -10.628 28.477 -3.365 -10.1641 -10.5472 28.6329 -3.37 -10.1805 -10.459 28.7838 -3.375 -10.1918 -10.3636 28.929 -3.38 -10.1977 -10.2613 29.0679 -3.385 -10.1981 -10.1525 29.1999 -3.39 -10.1931 -10.0375 29.3243 -3.395 -10.1824 -9.91675 29.4407 -3.4 -10.1662 -9.79092 29.5485 -3.405 -10.1446 -9.66067 29.6477 -3.41 -10.1177 -9.52665 29.7378 -3.415 -10.0855 -9.3895 29.8186 -3.42 -10.0482 -9.24981 29.8901 -3.425 -10.006 -9.10818 29.9519 -3.43 -9.95894 -8.96517 30.0041 -3.435 -9.90725 -8.82134 30.0465 -3.44 -9.85108 -8.67719 30.079 -3.445 -9.79063 -8.53325 30.1017 -3.45 -9.7261 -8.38999 30.1146 -3.455 -9.65772 -8.24788 30.1177 -3.46 -9.58572 -8.10736 30.1111 -3.465 -9.51033 -7.96885 30.0949 -3.47 -9.43182 -7.83275 30.0694 -3.475 -9.35047 -7.69945 30.0346 -3.48 -9.26654 -7.56931 29.9908 -3.485 -9.18035 -7.44266 29.9383 -3.49 -9.09221 -7.31983 29.8774 -3.495 -9.00243 -7.20112 29.8084 -3.5 -8.91136 -7.08679 29.7316 -3.505 -8.81935 -6.97712 29.6476 -3.51 -8.72677 -6.87234 29.5567 -3.515 -8.63387 -6.77266 29.4594 -3.52 -8.54081 -6.67825 29.3565 -3.525 -8.44785 -6.5893 29.2481 -3.53 -8.35527 -6.50595 29.1346 -3.535 -8.2633 -6.42834 29.0163 -3.54 -8.1722 -6.35658 28.8935 -3.545 -8.0822 -6.29074 28.7666 -3.55 -7.99353 -6.23089 28.6359 -3.555 -7.90639 -6.17706 28.5016 -3.56 -7.821 -6.12928 28.3643 -3.565 -7.73755 -6.08753 28.2241 -3.57 -7.65624 -6.05178 28.0815 -3.575 -7.57723 -6.02199 27.9369 -3.58 -7.50071 -5.99807 27.7904 -3.585 -7.42682 -5.97992 27.6427 -3.59 -7.35573 -5.96742 27.4939 -3.595 -7.28758 -5.96043 27.3446 -3.6 -7.22249 -5.95878 27.195 -3.605 -7.16059 -5.96228 27.0456 -3.61 -7.10199 -5.97071 26.8967 -3.615 -7.04681 -5.98384 26.7487 -3.62 -6.99513 -6.00141 26.6021 -3.625 -6.94705 -6.02314 26.4573 -3.63 -6.90259 -6.04886 26.3144 -3.635 -6.86163 -6.07887 26.1731 -3.64 -6.82422 -6.11311 26.0335 -3.645 -6.79038 -6.15153 25.896 -3.65 -6.76015 -6.19404 25.7606 -3.655 -6.73356 -6.24057 25.6276 -3.66 -6.71064 -6.29104 25.4973 -3.665 -6.69139 -6.34537 25.3697 -3.67 -6.67584 -6.40347 25.2452 -3.675 -6.66399 -6.46526 25.1239 -3.68 -6.65584 -6.53064 25.0061 -3.685 -6.65139 -6.59953 24.8918 -3.69 -6.65063 -6.67182 24.7813 -3.695 -6.65354 -6.74742 24.6748 -3.7 -6.6601 -6.82624 24.5724 -3.705 -6.67029 -6.90816 24.4743 -3.71 -6.68407 -6.99308 24.3808 -3.715 -6.70142 -7.0809 24.2919 -3.72 -6.72228 -7.1715 24.2078 -3.725 -6.7466 -7.26477 24.1287 -3.73 -6.77435 -7.3606 24.0548 -3.735 -6.80545 -7.45886 23.9862 -3.74 -6.83984 -7.55944 23.923 -3.745 -6.87743 -7.66221 23.8654 -3.75 -6.91796 -7.76716 23.8132 -3.755 -6.9614 -7.87416 23.7668 -3.76 -7.00778 -7.9831 23.7263 -3.765 -7.05712 -8.09384 23.6921 -3.77 -7.10942 -8.20623 23.6643 -3.775 -7.16467 -8.32009 23.6431 -3.78 -7.22283 -8.43526 23.6287 -3.785 -7.28387 -8.55155 23.6213 -3.79 -7.34773 -8.66875 23.6211 -3.795 -7.41436 -8.78667 23.6281 -3.8 -7.48367 -8.90506 23.6426 -3.805 -7.55557 -9.0237 23.6645 -3.81 -7.62995 -9.14234 23.694 -3.815 -7.70669 -9.26072 23.7312 -3.82 -7.78566 -9.37857 23.776 -3.825 -7.86671 -9.49561 23.8286 -3.83 -7.94968 -9.61154 23.8889 -3.835 -8.03441 -9.72606 23.957 -3.84 -8.1207 -9.83884 24.0328 -3.845 -8.20835 -9.94956 24.1162 -3.85 -8.29715 -10.0579 24.2073 -3.855 -8.38688 -10.1634 24.3059 -3.86 -8.47729 -10.2658 24.4119 -3.865 -8.56812 -10.3648 24.5253 -3.87 -8.65913 -10.4598 24.6459 -3.875 -8.75001 -10.5505 24.7735 -3.88 -8.84049 -10.6365 24.9081 -3.885 -8.93025 -10.7174 25.0494 -3.89 -9.01945 -10.793 25.1972 -3.895 -9.10803 -10.8629 25.3514 -3.9 -9.19564 -10.9268 25.5112 -3.905 -9.28196 -10.984 25.6764 -3.91 -9.36665 -11.0341 25.8462 -3.915 -9.44941 -11.0768 26.0203 -3.92 -9.52993 -11.1118 26.1981 -3.925 -9.60793 -11.1386 26.3791 -3.93 -9.68311 -11.1571 26.5627 -3.935 -9.75521 -11.167 26.7483 -3.94 -9.82397 -11.1681 26.9354 -3.945 -9.88913 -11.1603 27.1234 -3.95 -9.95046 -11.1434 27.3117 -3.955 -10.0077 -11.1175 27.4997 -3.96 -10.0607 -11.0825 27.6868 -3.965 -10.1091 -11.0384 27.8723 -3.97 -10.1529 -10.9853 28.0556 -3.975 -10.1918 -10.9232 28.236 -3.98 -10.2256 -10.8524 28.413 -3.985 -10.2541 -10.7729 28.5857 -3.99 -10.2772 -10.6851 28.7536 -3.995 -10.2948 -10.5892 28.916 -4 -10.3067 -10.4854 29.072 -4.005 -10.3127 -10.3743 29.2211 -4.01 -10.3128 -10.2559 29.3624 -4.015 -10.3069 -10.1307 29.4953 -4.02 -10.295 -9.99937 29.6194 -4.025 -10.2772 -9.8627 29.7342 -4.03 -10.2535 -9.72142 29.8396 -4.035 -10.224 -9.57625 29.9351 -4.04 -10.189 -9.42787 30.0207 -4.045 -10.1484 -9.27695 30.096 -4.05 -10.1025 -9.12413 30.1609 -4.055 -10.0514 -8.97002 30.2153 -4.06 -9.99523 -8.81521 30.259 -4.065 -9.93427 -8.66027 30.2922 -4.07 -9.86869 -8.50574 30.3147 -4.075 -9.79874 -8.35214 30.3265 -4.08 -9.72464 -8.19995 30.3278 -4.085 -9.64666 -8.04965 30.3187 -4.09 -9.56508 -7.90167 30.2993 -4.095 -9.4802 -7.75643 30.2698 -4.1 -9.39231 -7.61432 30.2304 -4.105 -9.30176 -7.47571 30.1814 -4.11 -9.20888 -7.34095 30.1231 -4.115 -9.11403 -7.21035 30.0558 -4.12 -9.01759 -7.0842 29.9799 -4.125 -8.91995 -6.96277 29.8959 -4.13 -8.82151 -6.84632 29.8041 -4.135 -8.72244 -6.73522 29.7055 -4.14 -8.62296 -6.62979 29.6004 -4.145 -8.52336 -6.5302 29.4892 -4.15 -8.42394 -6.43663 29.3722 -4.155 -8.32498 -6.34923 29.2498 -4.16 -8.22677 -6.2681 29.1224 -4.165 -8.12955 -6.19334 28.9902 -4.17 -8.03358 -6.125 28.8537 -4.175 -7.9391 -6.06314 28.7132 -4.18 -7.84635 -6.00776 28.5692 -4.185 -7.75553 -5.95885 28.4219 -4.19 -7.66687 -5.91637 28.2718 -4.195 -7.58056 -5.88025 28.1192 -4.2 -7.4968 -5.85041 27.9646 -4.205 -7.41574 -5.82672 27.8084 -4.21 -7.33758 -5.80905 27.651 -4.215 -7.26246 -5.79722 27.4929 -4.22 -7.19053 -5.79104 27.3343 -4.225 -7.12192 -5.7903 27.1758 -4.23 -7.05677 -5.79473 27.0179 -4.235 -6.99518 -5.80408 26.8609 -4.24 -6.93726 -5.81804 26.7053 -4.245 -6.88309 -5.83637 26.5514 -4.25 -6.83257 -5.85932 26.3989 -4.255 -6.78574 -5.88687 26.2478 -4.26 -6.74263 -5.91895 26.0984 -4.265 -6.70329 -5.95547 25.9509 -4.27 -6.66775 -5.99634 25.8055 -4.275 -6.63604 -6.04148 25.6625 -4.28 -6.60817 -6.09079 25.522 -4.285 -6.58418 -6.14419 25.3842 -4.29 -6.56406 -6.20158 25.2495 -4.295 -6.54783 -6.26287 25.1179 -4.3 -6.53549 -6.32797 24.9897 -4.305 -6.52704 -6.39678 24.8651 -4.31 -6.52246 -6.4692 24.7443 -4.315 -6.52174 -6.54512 24.6273 -4.32 -6.52486 -6.62446 24.5146 -4.325 -6.53179 -6.7071 24.4061 -4.33 -6.54251 -6.79295 24.3021 -4.335 -6.55698 -6.8819 24.2028 -4.34 -6.57516 -6.97383 24.1083 -4.345 -6.597 -7.06865 24.0187 -4.35 -6.62246 -7.16623 23.9343 -4.355 -6.65146 -7.26648 23.8552 -4.36 -6.68386 -7.36929 23.7815 -4.365 -6.71943 -7.47465 23.7132 -4.37 -6.75822 -7.58247 23.6506 -4.375 -6.80027 -7.69264 23.594 -4.38 -6.84559 -7.80507 23.5435 -4.385 -6.89418 -7.91962 23.4994 -4.39 -6.94605 -8.03617 23.4619 -4.395 -7.00118 -8.15456 23.4313 -4.4 -7.05953 -8.27464 23.4076 -4.405 -7.12105 -8.39621 23.391 -4.41 -7.18569 -8.51911 23.3818 -4.415 -7.25338 -8.64311 23.3801 -4.42 -7.32404 -8.76802 23.3859 -4.425 -7.39756 -8.89359 23.3994 -4.43 -7.47383 -9.01959 23.4208 -4.435 -7.55273 -9.14575 23.4501 -4.44 -7.63413 -9.27182 23.4873 -4.445 -7.71787 -9.3975 23.5326 -4.45 -7.80379 -9.52251 23.586 -4.455 -7.89172 -9.64652 23.6476 -4.46 -7.98145 -9.76923 23.7173 -4.465 -8.0728 -9.89029 23.7952 -4.47 -8.16555 -10.0094 23.8814 -4.475 -8.25946 -10.1261 23.9756 -4.48 -8.3543 -10.2401 24.0781 -4.485 -8.44981 -10.3509 24.1886 -4.49 -8.54572 -10.4582 24.3072 -4.495 -8.64175 -10.5616 24.4338 -4.5 -8.73793 -10.6609 24.5683 -4.505 -8.83428 -10.7558 24.7103 -4.51 -8.93047 -10.8457 24.8595 -4.515 -9.0262 -10.9298 25.0158 -4.52 -9.12117 -11.0078 25.1785 -4.525 -9.21507 -11.079 25.3475 -4.53 -9.3076 -11.143 25.5222 -4.535 -9.39846 -11.1994 25.7023 -4.54 -9.48736 -11.2477 25.8872 -4.545 -9.574 -11.2875 26.0764 -4.55 -9.65811 -11.3187 26.2695 -4.555 -9.73938 -11.3408 26.4659 -4.56 -9.81755 -11.3536 26.665 -4.565 -9.89233 -11.357 26.8662 -4.57 -9.96345 -11.3508 27.0689 -4.575 -10.0306 -11.3349 27.2723 -4.58 -10.0936 -11.3091 27.4759 -4.585 -10.1521 -11.2735 27.6788 -4.59 -10.2059 -11.228 27.8805 -4.595 -10.2546 -11.1727 28.08 -4.6 -10.2981 -11.1076 28.2765 -4.605 -10.3361 -11.033 28.4694 -4.61 -10.3683 -10.9489 28.6576 -4.615 -10.3945 -10.8555 28.8404 -4.62 -10.4146 -10.7529 29.0167 -4.625 -10.4283 -10.6408 29.1859 -4.63 -10.4358 -10.5201 29.3474 -4.635 -10.437 -10.3917 29.5004 -4.64 -10.4318 -10.2564 29.6446 -4.645 -10.4202 -10.115 29.7794 -4.65 -10.4023 -9.96832 29.9044 -4.655 -10.378 -9.81713 30.0193 -4.66 -10.3475 -9.66215 30.1236 -4.665 -10.3109 -9.50407 30.2172 -4.67 -10.2683 -9.34356 30.2997 -4.675 -10.2198 -9.18125 30.371 -4.68 -10.1656 -9.01775 30.4309 -4.685 -10.1058 -8.85362 30.4793 -4.69 -10.0408 -8.68942 30.5161 -4.695 -9.97076 -8.52565 30.5414 -4.7 -9.89592 -8.36279 30.5552 -4.705 -9.8166 -8.20129 30.5575 -4.71 -9.73312 -8.04156 30.5484 -4.715 -9.64581 -7.884 30.5282 -4.72 -9.55505 -7.72896 30.4971 -4.725 -9.46124 -7.57677 30.4553 -4.73 -9.36478 -7.42771 30.4032 -4.735 -9.26613 -7.28206 30.341 -4.74 -9.16572 -7.14009 30.2693 -4.745 -9.06352 -7.00301 30.1888 -4.75 -8.95976 -6.87144 30.1002 -4.755 -8.8548 -6.74569 30.0037 -4.76 -8.74901 -6.62599 29.8997 -4.765 -8.64271 -6.51258 29.7884 -4.77 -8.53626 -6.40565 29.6704 -4.775 -8.42997 -6.30536 29.5458 -4.78 -8.32415 -6.21184 29.4152 -4.785 -8.2191 -6.12519 29.279 -4.79 -8.1151 -6.04548 29.1375 -4.795 -8.01244 -5.97274 28.9912 -4.8 -7.91137 -5.90697 28.8405 -4.805 -7.81215 -5.84816 28.686 -4.81 -7.71502 -5.79624 28.5281 -4.815 -7.6202 -5.75113 28.3673 -4.82 -7.52792 -5.7127 28.2041 -4.825 -7.43838 -5.6808 28.039 -4.83 -7.35177 -5.65526 27.8726 -4.835 -7.26828 -5.63584 27.7054 -4.84 -7.18808 -5.62232 27.5381 -4.845 -7.11132 -5.6144 27.3711 -4.85 -7.03815 -5.6118 27.2051 -4.855 -6.96864 -5.61439 27.04 -4.86 -6.90281 -5.62227 26.8754 -4.865 -6.8407 -5.63535 26.7115 -4.87 -6.7824 -5.65352 26.5485 -4.875 -6.72794 -5.67669 26.3869 -4.88 -6.67738 -5.70476 26.2267 -4.885 -6.63076 -5.73762 26.0683 -4.89 -6.58811 -5.77517 25.9119 -4.895 -6.54948 -5.81731 25.7577 -4.9 -6.51488 -5.86394 25.6059 -4.905 -6.48434 -5.91494 25.4568 -4.91 -6.45787 -5.9702 25.3105 -4.915 -6.43549 -6.02963 25.1674 -4.92 -6.41719 -6.0931 25.0275 -4.925 -6.40297 -6.1605 24.8911 -4.93 -6.39283 -6.23172 24.7584 -4.935 -6.38676 -6.30665 24.6295 -4.94 -6.38473 -6.38516 24.5047 -4.945 -6.38672 -6.46714 24.384 -4.95 -6.39271 -6.55247 24.2678 -4.955 -6.40266 -6.64103 24.1561 -4.96 -6.41652 -6.73269 24.049 -4.965 -6.43417 -6.82737 23.9468 -4.97 -6.45534 -6.92511 23.8496 -4.975 -6.48006 -7.02587 23.7575 -4.98 -6.50837 -7.12959 23.6708 -4.985 -6.54031 -7.2362 23.5897 -4.99 -6.5759 -7.34562 23.5145 -4.995 -6.61516 -7.45777 23.4452 -5 -6.6581 -7.57253 23.3823 -5.005 -6.70469 -7.68979 23.3258 -5.01 -6.75491 -7.80941 23.2759 -5.015 -6.80873 -7.93127 23.2328 -5.02 -6.8661 -8.0552 23.1968 -5.025 -6.92697 -8.18105 23.1679 -5.03 -6.99125 -8.30863 23.1463 -5.035 -7.05887 -8.43775 23.1322 -5.04 -7.12972 -8.56822 23.1258 -5.045 -7.20371 -8.69983 23.1271 -5.05 -7.28072 -8.83234 23.1364 -5.055 -7.3606 -8.96553 23.1537 -5.06 -7.44322 -9.09914 23.1793 -5.065 -7.52842 -9.23291 23.2131 -5.07 -7.61603 -9.36658 23.2554 -5.075 -7.70588 -9.49985 23.3062 -5.08 -7.79777 -9.63244 23.3656 -5.085 -7.89149 -9.76403 23.4337 -5.09 -7.98684 -9.8943 23.5107 -5.095 -8.08358 -10.0229 23.5965 -5.1 -8.18147 -10.1496 23.6913 -5.105 -8.28054 -10.2743 23.7949 -5.11 -8.38077 -10.3968 23.907 -5.115 -8.48194 -10.5165 24.0277 -5.12 -8.58381 -10.6324 24.1567 -5.125 -8.68613 -10.7441 24.2941 -5.13 -8.78866 -10.8507 24.4397 -5.135 -8.89113 -10.9518 24.5932 -5.14 -8.99329 -11.0467 24.7544 -5.145 -9.09486 -11.1349 24.923 -5.15 -9.19558 -11.2159 25.0987 -5.155 -9.29515 -11.2892 25.2812 -5.16 -9.3933 -11.3543 25.4699 -5.165 -9.48973 -11.411 25.6646 -5.17 -9.58414 -11.4587 25.8646 -5.175 -9.67623 -11.4973 26.0694 -5.18 -9.76568 -11.5263 26.2785 -5.185 -9.85218 -11.5455 26.4913 -5.19 -9.9354 -11.5548 26.707 -5.195 -10.015 -11.5538 26.9251 -5.2 -10.0907 -11.5426 27.1446 -5.205 -10.1621 -11.5208 27.365 -5.21 -10.2288 -11.4886 27.5853 -5.215 -10.2906 -11.4457 27.8047 -5.22 -10.347 -11.3923 28.0222 -5.225 -10.3977 -11.3283 28.237 -5.23 -10.4423 -11.2537 28.448 -5.235 -10.4805 -11.1688 28.6542 -5.24 -10.5118 -11.0733 28.8546 -5.245 -10.5366 -10.9665 29.0483 -5.25 -10.5548 -10.8489 29.2345 -5.255 -10.5662 -10.7218 29.4127 -5.26 -10.5708 -10.5861 29.5821 -5.265 -10.5686 -10.4429 29.7422 -5.27 -10.5596 -10.2932 29.8924 -5.275 -10.5436 -10.1379 30.0322 -5.28 -10.5209 -9.97779 30.1612 -5.285 -10.4914 -9.81373 30.2791 -5.29 -10.4553 -9.6465 30.3854 -5.295 -10.4126 -9.4768 30.4799 -5.3 -10.3636 -9.30532 30.5623 -5.305 -10.3083 -9.13268 30.6326 -5.31 -10.2471 -8.95946 30.6904 -5.315 -10.1801 -8.78618 30.7359 -5.32 -10.1076 -8.61334 30.7689 -5.325 -10.0299 -8.44137 30.7896 -5.33 -9.94728 -8.27065 30.7978 -5.335 -9.86015 -8.10152 30.7939 -5.34 -9.76886 -7.93428 30.7779 -5.345 -9.67381 -7.76916 30.7501 -5.35 -9.57543 -7.60637 30.7109 -5.355 -9.47419 -7.44605 30.6604 -5.36 -9.37056 -7.28829 30.5992 -5.365 -9.26501 -7.13334 30.5277 -5.37 -9.15732 -6.98336 30.4467 -5.375 -9.0477 -6.83927 30.3567 -5.38 -8.93656 -6.70138 30.258 -5.385 -8.82431 -6.56997 30.151 -5.39 -8.71131 -6.4453 30.0362 -5.395 -8.59795 -6.32757 29.9138 -5.4 -8.48457 -6.21696 29.7843 -5.405 -8.37153 -6.11363 29.6481 -5.41 -8.25914 -6.01766 29.5058 -5.415 -8.14772 -5.92914 29.3576 -5.42 -8.03758 -5.8481 29.2042 -5.425 -7.92901 -5.77454 29.046 -5.43 -7.82229 -5.70842 28.8836 -5.435 -7.71768 -5.64969 28.7174 -5.44 -7.61543 -5.59823 28.548 -5.445 -7.51578 -5.5539 28.376 -5.45 -7.41895 -5.51652 28.202 -5.455 -7.32516 -5.4859 28.0266 -5.46 -7.23461 -5.46177 27.8504 -5.465 -7.14749 -5.44386 27.6739 -5.47 -7.06396 -5.43185 27.498 -5.475 -6.98417 -5.42545 27.323 -5.48 -6.90816 -5.42474 27.1482 -5.485 -6.83598 -5.42965 26.9739 -5.49 -6.76772 -5.44007 26.8001 -5.495 -6.70343 -5.45588 26.6274 -5.5 -6.64316 -5.47697 26.4558 -5.505 -6.58698 -5.50322 26.2856 -5.51 -6.53491 -5.53451 26.1172 -5.515 -6.48702 -5.57072 25.9507 -5.52 -6.44331 -5.61175 25.7864 -5.525 -6.40384 -5.65746 25.6245 -5.53 -6.36861 -5.70775 25.4653 -5.535 -6.33764 -5.76249 25.3089 -5.54 -6.31095 -5.82156 25.1556 -5.545 -6.28853 -5.88485 25.0056 -5.55 -6.2704 -5.95222 24.859 -5.555 -6.25653 -6.02356 24.7161 -5.56 -6.24692 -6.09875 24.5771 -5.565 -6.24155 -6.17765 24.442 -5.57 -6.24039 -6.26016 24.3112 -5.575 -6.24342 -6.34613 24.1847 -5.58 -6.25059 -6.43546 24.0627 -5.585 -6.26178 -6.52805 23.9454 -5.59 -6.2767 -6.62398 23.8328 -5.595 -6.29538 -6.72322 23.7254 -5.6 -6.31789 -6.82572 23.6231 -5.605 -6.34426 -6.93143 23.5263 -5.61 -6.37452 -7.04028 23.4352 -5.615 -6.4087 -7.15219 23.35 -5.62 -6.44679 -7.26708 23.2708 -5.625 -6.48879 -7.38484 23.198 -5.63 -6.53469 -7.50537 23.1316 -5.635 -6.58445 -7.62854 23.0719 -5.64 -6.63805 -7.75423 23.019 -5.645 -6.69542 -7.88229 22.9732 -5.65 -6.75651 -8.01257 22.9347 -5.655 -6.82124 -8.14491 22.9036 -5.66 -6.88952 -8.27914 22.88 -5.665 -6.96126 -8.41506 22.8643 -5.67 -7.03636 -8.55249 22.8565 -5.675 -7.11468 -8.69122 22.8569 -5.68 -7.1961 -8.83103 22.8655 -5.685 -7.28048 -8.9717 22.8826 -5.69 -7.36766 -9.11298 22.9083 -5.695 -7.45747 -9.25464 22.9428 -5.7 -7.54974 -9.3964 22.9862 -5.705 -7.64428 -9.53801 23.0386 -5.71 -7.74088 -9.67918 23.1003 -5.715 -7.83935 -9.81962 23.1714 -5.72 -7.93945 -9.95906 23.252 -5.725 -8.04126 -10.0976 23.3416 -5.73 -8.14468 -10.2348 23.4402 -5.735 -8.24954 -10.3698 23.548 -5.74 -8.35565 -10.502 23.6651 -5.745 -8.4628 -10.6307 23.7914 -5.75 -8.57078 -10.7552 23.9269 -5.755 -8.67936 -10.8749 24.0717 -5.76 -8.78831 -10.9893 24.2254 -5.765 -8.89737 -11.0977 24.388 -5.77 -9.00627 -11.1996 24.5593 -5.775 -9.11476 -11.2944 24.7388 -5.78 -9.22252 -11.3818 24.9263 -5.785 -9.32927 -11.4611 25.1215 -5.79 -9.43468 -11.532 25.3238 -5.795 -9.53845 -11.594 25.5327 -5.8 -9.64021 -11.6468 25.7478 -5.805 -9.73963 -11.69 25.9683 -5.81 -9.83635 -11.7232 26.1937 -5.815 -9.92998 -11.7461 26.4233 -5.82 -10.0201 -11.7584 26.6562 -5.825 -10.1064 -11.7598 26.8918 -5.83 -10.1884 -11.7502 27.129 -5.835 -10.2657 -11.7293 27.367 -5.84 -10.3379 -11.6969 27.6049 -5.845 -10.4045 -11.6528 27.8416 -5.85 -10.465 -11.5969 28.076 -5.855 -10.519 -11.5291 28.3071 -5.86 -10.5663 -11.4481 28.5339 -5.865 -10.6072 -11.3533 28.7557 -5.87 -10.6414 -11.246 28.9714 -5.875 -10.6687 -11.1273 29.1801 -5.88 -10.6889 -10.9986 29.3809 -5.885 -10.7019 -10.8608 29.5729 -5.89 -10.7075 -10.7151 29.7555 -5.895 -10.7057 -10.5624 29.9278 -5.9 -10.6965 -10.4038 30.0894 -5.905 -10.6798 -10.24 30.2395 -5.91 -10.6557 -10.0718 30.3777 -5.915 -10.6244 -9.9001 30.5037 -5.92 -10.5858 -9.72549 30.617 -5.925 -10.5401 -9.54861 30.7173 -5.93 -10.4876 -9.37004 30.8044 -5.935 -10.4284 -9.19028 30.8782 -5.94 -10.3628 -9.00977 30.9386 -5.945 -10.2911 -8.8289 30.9856 -5.95 -10.2136 -8.64798 31.0191 -5.955 -10.1307 -8.46727 31.0394 -5.96 -10.0428 -8.28697 31.0465 -5.965 -9.95024 -8.10722 31.0408 -5.97 -9.8536 -7.9281 31.0226 -5.975 -9.75335 -7.7496 30.9922 -5.98 -9.65003 -7.5717 30.9501 -5.985 -9.54409 -7.3947 30.8968 -5.99 -9.43494 -7.22216 30.8326 -5.995 -9.3228 -7.05527 30.7579 -6 -9.20815 -6.89446 30.6728 -6.005 -9.09143 -6.7401 30.5779 -6.01 -8.97308 -6.59252 30.4733 -6.015 -8.85351 -6.45202 30.3597 -6.02 -8.73315 -6.31885 30.2373 -6.025 -8.61237 -6.19322 30.1066 -6.03 -8.49157 -6.07532 29.9681 -6.035 -8.3711 -5.96527 29.8224 -6.04 -8.25134 -5.86317 29.6699 -6.045 -8.13261 -5.76907 29.5112 -6.05 -8.01524 -5.68299 29.347 -6.055 -7.89955 -5.6049 29.1777 -6.06 -7.78584 -5.53473 29.0042 -6.065 -7.67439 -5.47237 28.8269 -6.07 -7.56547 -5.41768 28.6468 -6.075 -7.45936 -5.37048 28.4643 -6.08 -7.35628 -5.33053 28.2805 -6.085 -7.25648 -5.29757 28.0959 -6.09 -7.16017 -5.27129 27.9114 -6.095 -7.06754 -5.25139 27.7275 -6.1 -6.97869 -5.23779 27.5431 -6.105 -6.89372 -5.23039 27.3586 -6.11 -6.8127 -5.22904 27.1742 -6.115 -6.73572 -5.23363 26.9902 -6.12 -6.66285 -5.24401 26.807 -6.125 -6.59416 -5.26007 26.6247 -6.13 -6.52971 -5.28166 26.4437 -6.135 -6.46954 -5.30865 26.2643 -6.14 -6.41372 -5.3409 26.0866 -6.145 -6.36227 -5.37829 25.911 -6.15 -6.31524 -5.42066 25.7377 -6.155 -6.27265 -5.46788 25.5669 -6.16 -6.23453 -5.51981 25.3988 -6.165 -6.20088 -5.5763 25.2338 -6.17 -6.17173 -5.63721 25.0718 -6.175 -6.14707 -5.7024 24.9133 -6.18 -6.12689 -5.77171 24.7583 -6.185 -6.1112 -5.84501 24.607 -6.19 -6.09997 -5.92213 24.4596 -6.195 -6.09318 -6.00294 24.3163 -6.2 -6.0908 -6.08727 24.1771 -6.205 -6.0926 -6.1751 24.0424 -6.21 -6.09826 -6.26656 23.9122 -6.215 -6.10787 -6.36163 23.7868 -6.22 -6.1215 -6.46027 23.6664 -6.225 -6.1392 -6.56243 23.5511 -6.23 -6.16102 -6.66804 23.4413 -6.235 -6.187 -6.77706 23.3369 -6.24 -6.21716 -6.88939 23.2384 -6.245 -6.25152 -7.00496 23.1458 -6.25 -6.29007 -7.12369 23.0595 -6.255 -6.3328 -7.24546 22.9794 -6.26 -6.37968 -7.37017 22.906 -6.265 -6.43069 -7.49771 22.8393 -6.27 -6.48577 -7.62796 22.7796 -6.275 -6.54486 -7.76077 22.7271 -6.28 -6.6079 -7.89601 22.6819 -6.285 -6.67478 -8.03353 22.6443 -6.29 -6.74543 -8.17317 22.6145 -6.295 -6.81972 -8.31476 22.5926 -6.3 -6.89755 -8.45813 22.579 -6.305 -6.97877 -8.6031 22.5737 -6.31 -7.06324 -8.74948 22.5769 -6.315 -7.15081 -8.89706 22.589 -6.32 -7.24131 -9.04563 22.61 -6.325 -7.33456 -9.19499 22.6402 -6.33 -7.43035 -9.3449 22.6798 -6.335 -7.5285 -9.49513 22.729 -6.34 -7.62878 -9.64543 22.7879 -6.345 -7.73098 -9.79559 22.8568 -6.35 -7.83519 -9.94558 22.9351 -6.355 -7.9414 -10.0949 23.0228 -6.36 -8.04948 -10.2428 23.1202 -6.365 -8.15926 -10.3886 23.2275 -6.37 -8.27059 -10.5317 23.3448 -6.375 -8.38326 -10.6713 23.4722 -6.38 -8.49709 -10.807 23.6097 -6.385 -8.61186 -10.9379 23.7574 -6.39 -8.72731 -11.0636 23.915 -6.395 -8.8432 -11.1835 24.0824 -6.4 -8.95926 -11.2969 24.2594 -6.405 -9.0752 -11.4034 24.4458 -6.41 -9.19072 -11.5024 24.6412 -6.415 -9.30548 -11.5933 24.8451 -6.42 -9.41916 -11.6758 25.0573 -6.425 -9.5314 -11.7493 25.277 -6.43 -9.64182 -11.8133 25.5039 -6.435 -9.75004 -11.8675 25.7371 -6.44 -9.85564 -11.9113 25.9762 -6.445 -9.95821 -11.9443 26.2202 -6.45 -10.0573 -11.9663 26.4684 -6.455 -10.1525 -11.9767 26.7199 -6.46 -10.2432 -11.9752 26.9738 -6.465 -10.329 -11.9616 27.2291 -6.47 -10.4095 -11.9354 27.4848 -6.475 -10.484 -11.8964 27.7397 -6.48 -10.552 -11.8442 27.9927 -6.485 -10.6135 -11.7769 28.2432 -6.49 -10.6687 -11.6937 28.4903 -6.495 -10.7171 -11.5962 28.7326 -6.5 -10.7584 -11.4857 28.969 -6.505 -10.7923 -11.3634 29.1983 -6.51 -10.8187 -11.2307 29.4194 -6.515 -10.8374 -11.0886 29.6313 -6.52 -10.8482 -10.9383 29.833 -6.525 -10.8509 -10.7807 30.0238 -6.53 -10.8457 -10.6168 30.203 -6.535 -10.8323 -10.4475 30.3699 -6.54 -10.811 -10.2736 30.5239 -6.545 -10.7816 -10.0957 30.6645 -6.55 -10.7445 -9.91447 30.7914 -6.555 -10.6997 -9.73057 30.9042 -6.56 -10.6473 -9.54447 31.0028 -6.565 -10.5878 -9.35659 31.087 -6.57 -10.5213 -9.16729 31.1567 -6.575 -10.4482 -8.97686 31.2121 -6.58 -10.3689 -8.7855 31.2531 -6.585 -10.2837 -8.59336 31.2801 -6.59 -10.1932 -8.4005 31.2934 -6.595 -10.0978 -8.20691 31.2932 -6.6 -9.99807 -8.01253 31.2802 -6.605 -9.89463 -7.81719 31.2548 -6.61 -9.78803 -7.62089 31.2176 -6.615 -9.67749 -7.42786 31.1685 -6.62 -9.563 -7.24027 31.1072 -6.625 -9.44508 -7.05862 31.0343 -6.63 -9.32422 -6.88337 30.9498 -6.635 -9.20091 -6.71494 30.8544 -6.64 -9.07563 -6.55371 30.7483 -6.645 -8.94883 -6.4 30.632 -6.65 -8.82096 -6.2541 30.506 -6.655 -8.69245 -6.11626 30.3707 -6.66 -8.56371 -5.98666 30.2268 -6.665 -8.43514 -5.86547 30.0749 -6.67 -8.30714 -5.75277 29.9155 -6.675 -8.18006 -5.64864 29.7492 -6.68 -8.05429 -5.55309 29.5769 -6.685 -7.93015 -5.4661 29.3992 -6.69 -7.80798 -5.38759 29.2169 -6.695 -7.68809 -5.31744 29.0308 -6.7 -7.5708 -5.2555 28.8417 -6.705 -7.45638 -5.20156 28.6506 -6.71 -7.34511 -5.15536 28.4582 -6.715 -7.23725 -5.11661 28.2655 -6.72 -7.13304 -5.08498 28.0731 -6.725 -7.03264 -5.06024 27.8797 -6.73 -6.93617 -5.04224 27.6856 -6.735 -6.84371 -5.03085 27.4913 -6.74 -6.75538 -5.02591 27.2969 -6.745 -6.67126 -5.02728 27.1029 -6.75 -6.59143 -5.03479 26.9095 -6.755 -6.51596 -5.04831 26.717 -6.76 -6.44492 -5.06768 26.5258 -6.765 -6.37838 -5.09273 26.3361 -6.77 -6.31638 -5.12332 26.1481 -6.775 -6.25897 -5.15927 25.9622 -6.78 -6.20619 -5.20043 25.7786 -6.785 -6.15807 -5.24663 25.5974 -6.79 -6.11464 -5.2977 25.419 -6.795 -6.07591 -5.35347 25.2436 -6.8 -6.04189 -5.41378 25.0713 -6.805 -6.01258 -5.47844 24.9023 -6.81 -5.98799 -5.54729 24.7369 -6.815 -5.96809 -5.62015 24.5751 -6.82 -5.95288 -5.69683 24.4172 -6.825 -5.94231 -5.77716 24.2633 -6.83 -5.93608 -5.86125 24.1136 -6.835 -5.93405 -5.94922 23.9683 -6.84 -5.93626 -6.04103 23.8276 -6.845 -5.94278 -6.13663 23.6916 -6.85 -5.95363 -6.23598 23.5606 -6.855 -5.96886 -6.339 23.4348 -6.86 -5.98847 -6.44564 23.3143 -6.865 -6.01248 -6.55583 23.1994 -6.87 -6.04089 -6.66949 23.0901 -6.875 -6.07369 -6.78656 22.9868 -6.88 -6.11086 -6.90695 22.8896 -6.885 -6.15236 -7.03057 22.7987 -6.89 -6.19817 -7.15732 22.7144 -6.895 -6.24823 -7.28713 22.6368 -6.9 -6.30248 -7.41987 22.5662 -6.905 -6.36085 -7.55546 22.5028 -6.91 -6.42326 -7.69377 22.4467 -6.915 -6.48962 -7.83469 22.3983 -6.92 -6.55984 -7.9781 22.3577 -6.925 -6.63381 -8.12387 22.3251 -6.93 -6.71139 -8.27188 22.3009 -6.935 -6.79248 -8.42199 22.2851 -6.94 -6.87693 -8.57407 22.2782 -6.945 -6.96458 -8.72796 22.2802 -6.95 -7.05529 -8.88351 22.2914 -6.955 -7.14887 -9.04059 22.3121 -6.96 -7.24517 -9.19901 22.3425 -6.965 -7.34413 -9.35863 22.3822 -6.97 -7.44576 -9.51901 22.4312 -6.975 -7.55002 -9.67965 22.4899 -6.98 -7.65685 -9.84005 22.5587 -6.985 -7.76614 -9.99969 22.638 -6.99 -7.8778 -10.1581 22.728 -6.995 -7.99169 -10.3146 22.8288 -7 -8.10765 -10.4689 22.9407 -7.005 -8.2255 -10.6202 23.0636 -7.01 -8.34506 -10.7682 23.1978 -7.015 -8.46608 -10.9122 23.3429 -7.02 -8.58834 -11.0517 23.4991 -7.025 -8.71156 -11.1861 23.6662 -7.03 -8.83545 -11.3149 23.8439 -7.035 -8.9597 -11.4375 24.032 -7.04 -9.08399 -11.5533 24.2301 -7.045 -9.20795 -11.6618 24.4379 -7.05 -9.33121 -11.7623 24.6549 -7.055 -9.45337 -11.8542 24.8807 -7.06 -9.574 -11.937 25.1147 -7.065 -9.69266 -12.0101 25.3562 -7.07 -9.80889 -12.0727 25.6047 -7.075 -9.92219 -12.1244 25.8593 -7.08 -10.0321 -12.1645 26.1194 -7.085 -10.138 -12.1924 26.3839 -7.09 -10.2393 -12.2074 26.6522 -7.095 -10.3356 -12.2088 26.9231 -7.1 -10.4271 -12.1958 27.1965 -7.105 -10.5135 -12.1681 27.4713 -7.11 -10.5944 -12.126 27.7458 -7.115 -10.6691 -12.0699 28.0188 -7.12 -10.7372 -12.0002 28.2887 -7.125 -10.7982 -11.917 28.5543 -7.13 -10.8517 -11.821 28.8143 -7.135 -10.8975 -11.7124 29.0676 -7.14 -10.9352 -11.5918 29.313 -7.145 -10.9646 -11.4595 29.5496 -7.15 -10.9855 -11.3162 29.7763 -7.155 -10.9978 -11.1622 29.9924 -7.16 -11.0014 -10.9982 30.1969 -7.165 -10.9961 -10.8247 30.3893 -7.17 -10.9822 -10.6423 30.5687 -7.175 -10.9595 -10.4517 30.7346 -7.18 -10.9283 -10.2534 30.8866 -7.185 -10.8886 -10.0482 31.0241 -7.19 -10.8408 -9.83678 31.1469 -7.195 -10.785 -9.61983 31.2545 -7.2 -10.7215 -9.39813 31.3468 -7.205 -10.6508 -9.17244 31.4237 -7.21 -10.573 -8.94402 31.485 -7.215 -10.4876 -8.7156 31.5305 -7.22 -10.3952 -8.48824 31.5601 -7.225 -10.2961 -8.26279 31.5739 -7.23 -10.191 -8.04006 31.5721 -7.235 -10.0803 -7.8208 31.555 -7.24 -9.96446 -7.60574 31.5226 -7.245 -9.84403 -7.39555 31.4755 -7.25 -9.71948 -7.19086 31.414 -7.255 -9.59129 -6.99227 31.3385 -7.26 -9.45994 -6.80032 31.2496 -7.265 -9.32589 -6.61552 31.1478 -7.27 -9.18962 -6.43834 31.0337 -7.275 -9.0516 -6.2692 30.9081 -7.28 -8.91228 -6.10848 30.7717 -7.285 -8.77211 -5.95652 30.6254 -7.29 -8.63156 -5.81361 30.4699 -7.295 -8.49108 -5.68002 30.3063 -7.3 -8.35109 -5.55595 30.1355 -7.305 -8.21205 -5.44157 29.9587 -7.31 -8.07438 -5.33701 29.7769 -7.315 -7.93853 -5.24236 29.5913 -7.32 -7.80496 -5.15728 29.4025 -7.325 -7.67412 -5.08067 29.21 -7.33 -7.54625 -5.01241 29.0141 -7.335 -7.42157 -4.95242 28.8152 -7.34 -7.30028 -4.9006 28.6138 -7.345 -7.18258 -4.85684 28.4104 -7.35 -7.06865 -4.82102 28.2054 -7.355 -6.95867 -4.79299 27.9992 -7.36 -6.85279 -4.77259 27.7922 -7.365 -6.75117 -4.75963 27.5848 -7.37 -6.65394 -4.75392 27.3773 -7.375 -6.56123 -4.75526 27.1702 -7.38 -6.47315 -4.7634 26.9638 -7.385 -6.38982 -4.7781 26.7584 -7.39 -6.31132 -4.7991 26.5543 -7.395 -6.23773 -4.82612 26.3518 -7.4 -6.16913 -4.85885 26.1512 -7.405 -6.10557 -4.89699 25.9528 -7.41 -6.0471 -4.94021 25.7569 -7.415 -5.99377 -4.98814 25.5637 -7.42 -5.94558 -5.04044 25.3734 -7.425 -5.90257 -5.09672 25.1862 -7.43 -5.86467 -5.15671 25.0024 -7.435 -5.83158 -5.22106 24.822 -7.44 -5.80323 -5.2898 24.6451 -7.445 -5.77965 -5.36287 24.4719 -7.45 -5.76084 -5.44017 24.3026 -7.455 -5.7468 -5.52162 24.1374 -7.46 -5.73752 -5.60715 23.9764 -7.465 -5.73299 -5.69668 23.8198 -7.47 -5.73319 -5.79015 23.6678 -7.475 -5.7381 -5.88748 23.5206 -7.48 -5.7477 -5.98862 23.3784 -7.485 -5.76195 -6.0935 23.2414 -7.49 -5.78081 -6.20206 23.1097 -7.495 -5.80423 -6.31426 22.9836 -7.5 -5.83218 -6.43004 22.8633 -7.505 -5.86459 -6.54935 22.7489 -7.51 -5.9014 -6.67216 22.6407 -7.515 -5.94255 -6.79842 22.5389 -7.52 -5.98797 -6.9281 22.4437 -7.525 -6.03758 -7.06115 22.3553 -7.53 -6.0913 -7.19756 22.2739 -7.535 -6.14904 -7.3373 22.1998 -7.54 -6.21071 -7.48033 22.1332 -7.545 -6.27617 -7.6266 22.0742 -7.55 -6.34519 -7.77581 22.0226 -7.555 -6.41783 -7.92784 21.979 -7.56 -6.49414 -8.08261 21.9435 -7.565 -6.5742 -8.24001 21.9167 -7.57 -6.65802 -8.39989 21.8988 -7.575 -6.74561 -8.56208 21.8902 -7.58 -6.83698 -8.72638 21.8913 -7.585 -6.93209 -8.89255 21.9023 -7.59 -7.03088 -9.06034 21.9235 -7.595 -7.13329 -9.22946 21.955 -7.6 -7.23922 -9.3996 21.9972 -7.605 -7.34856 -9.57042 22.0503 -7.61 -7.46117 -9.74155 22.1143 -7.615 -7.5769 -9.91257 22.1895 -7.62 -7.69557 -10.0831 22.2759 -7.625 -7.81698 -10.2526 22.3737 -7.63 -7.94092 -10.4207 22.4829 -7.635 -8.06714 -10.5867 22.6035 -7.64 -8.19538 -10.7503 22.7357 -7.645 -8.32538 -10.9108 22.8794 -7.65 -8.45681 -11.0676 23.0346 -7.655 -8.58937 -11.22 23.2012 -7.66 -8.7227 -11.3675 23.3791 -7.665 -8.85644 -11.5094 23.5683 -7.67 -8.99022 -11.6449 23.7687 -7.675 -9.12361 -11.7733 23.9801 -7.68 -9.2562 -11.8938 24.2023 -7.685 -9.38774 -12.0058 24.4352 -7.69 -9.51836 -12.109 24.6782 -7.695 -9.64757 -12.2025 24.9306 -7.7 -9.7748 -12.2853 25.1916 -7.705 -9.89953 -12.3564 25.4602 -7.71 -10.0212 -12.4153 25.7356 -7.715 -10.1394 -12.461 26.0168 -7.72 -10.2535 -12.4931 26.303 -7.725 -10.3632 -12.511 26.5932 -7.73 -10.4678 -12.5143 26.8863 -7.735 -10.5671 -12.5026 27.1813 -7.74 -10.6605 -12.4757 27.4771 -7.745 -10.7476 -12.4334 27.7727 -7.75 -10.828 -12.3756 28.067 -7.755 -10.9014 -12.3022 28.3587 -7.76 -10.9673 -12.2134 28.6467 -7.765 -11.0254 -12.1093 28.9297 -7.77 -11.0753 -11.9902 29.2067 -7.775 -11.1167 -11.8565 29.4761 -7.78 -11.1493 -11.7084 29.7368 -7.785 -11.1728 -11.5465 29.9875 -7.79 -11.1868 -11.3715 30.2267 -7.795 -11.1912 -11.1835 30.4529 -7.8 -11.1858 -10.9833 30.6648 -7.805 -11.1708 -10.7725 30.8617 -7.81 -11.146 -10.5525 31.0432 -7.815 -11.1117 -10.325 31.2085 -7.82 -11.068 -10.0912 31.3574 -7.825 -11.015 -9.85264 31.4895 -7.83 -10.953 -9.61047 31.6044 -7.835 -10.8822 -9.36593 31.702 -7.84 -10.8028 -9.12016 31.782 -7.845 -10.7153 -8.87424 31.8446 -7.85 -10.62 -8.62917 31.8895 -7.855 -10.5172 -8.38589 31.917 -7.86 -10.4074 -8.14527 31.9272 -7.865 -10.291 -7.90811 31.9203 -7.87 -10.1686 -7.67514 31.8966 -7.875 -10.0407 -7.44705 31.8565 -7.88 -9.90785 -7.22442 31.8005 -7.885 -9.7707 -7.00779 31.729 -7.89 -9.62988 -6.79762 31.6426 -7.895 -9.48608 -6.59431 31.5421 -7.9 -9.34 -6.39822 31.4283 -7.905 -9.19186 -6.2106 31.3025 -7.91 -9.04201 -6.03222 31.1658 -7.915 -8.89102 -5.8634 31.0188 -7.92 -8.73942 -5.70436 30.8621 -7.925 -8.58774 -5.55531 30.6965 -7.93 -8.43646 -5.41639 30.5224 -7.935 -8.28606 -5.28768 30.3407 -7.94 -8.13697 -5.16921 30.1519 -7.945 -7.98963 -5.06098 29.9567 -7.95 -7.84443 -4.96289 29.7558 -7.955 -7.70173 -4.87484 29.5498 -7.96 -7.56191 -4.79664 29.3394 -7.965 -7.42527 -4.72806 29.1253 -7.97 -7.29214 -4.6688 28.9082 -7.975 -7.16277 -4.61854 28.6888 -7.98 -7.03745 -4.57689 28.4679 -7.985 -6.91639 -4.54339 28.246 -7.99 -6.79981 -4.51754 28.0239 -7.995 -6.68789 -4.49881 27.8024 -8 -6.58079 -4.48668 27.582 -8.005 -6.47858 -4.48141 27.3621 -8.01 -6.3813 -4.48289 27.1428 -8.015 -6.28902 -4.4909 26.9244 -8.02 -6.20177 -4.50522 26.7073 -8.025 -6.11961 -4.52565 26.4916 -8.03 -6.04257 -4.55197 26.2778 -8.035 -5.97067 -4.584 26.0659 -8.04 -5.90393 -4.62156 25.8562 -8.045 -5.84238 -4.66446 25.6491 -8.05 -5.78602 -4.71253 25.4447 -8.055 -5.73486 -4.76561 25.2432 -8.06 -5.68888 -4.82354 25.0448 -8.065 -5.64808 -4.88618 24.8498 -8.07 -5.61244 -4.95338 24.6583 -8.075 -5.58193 -5.02501 24.4705 -8.08 -5.55654 -5.10094 24.2866 -8.085 -5.53621 -5.18106 24.1067 -8.09 -5.5209 -5.26526 23.9309 -8.095 -5.51057 -5.35343 23.7595 -8.1 -5.50506 -5.44553 23.5925 -8.105 -5.50409 -5.54166 23.4303 -8.11 -5.50771 -5.64181 23.273 -8.115 -5.51597 -5.74592 23.1207 -8.12 -5.52888 -5.85398 22.9737 -8.125 -5.54649 -5.96593 22.8322 -8.13 -5.56881 -6.08173 22.6962 -8.135 -5.59585 -6.20135 22.566 -8.14 -5.62761 -6.32473 22.4419 -8.145 -5.66407 -6.45182 22.3239 -8.15 -5.70522 -6.58257 22.2123 -8.155 -5.75104 -6.71693 22.1073 -8.16 -5.80147 -6.85484 22.0092 -8.165 -5.85649 -6.99623 21.9181 -8.17 -5.91602 -7.14106 21.8344 -8.175 -5.98001 -7.28924 21.7582 -8.18 -6.04838 -7.44073 21.6898 -8.185 -6.12106 -7.59543 21.6295 -8.19 -6.19793 -7.7533 21.5775 -8.195 -6.27892 -7.91424 21.5341 -8.2 -6.3639 -8.07818 21.4997 -8.205 -6.45275 -8.24505 21.4744 -8.21 -6.54536 -8.41475 21.4585 -8.215 -6.64157 -8.58721 21.4525 -8.22 -6.74124 -8.76234 21.4565 -8.225 -6.84422 -8.94003 21.4708 -8.23 -6.95053 -9.11983 21.4951 -8.235 -7.0602 -9.30135 21.5296 -8.24 -7.17322 -9.48422 21.5749 -8.245 -7.28955 -9.66803 21.6315 -8.25 -7.40915 -9.85235 21.6998 -8.255 -7.53192 -10.0367 21.7801 -8.26 -7.65776 -10.2207 21.8728 -8.265 -7.78651 -10.4037 21.9781 -8.27 -7.91803 -10.5852 22.0962 -8.275 -8.05211 -10.7647 22.2272 -8.28 -8.18854 -10.9416 22.3712 -8.285 -8.32707 -11.1152 22.5281 -8.29 -8.46742 -11.2849 22.6981 -8.295 -8.6093 -11.45 22.8809 -8.3 -8.75239 -11.6099 23.0764 -8.305 -8.89632 -11.7637 23.2844 -8.31 -9.04071 -11.9108 23.5047 -8.315 -9.18517 -12.0504 23.7368 -8.32 -9.32926 -12.1816 23.9805 -8.325 -9.47251 -12.3036 24.2352 -8.33 -9.61445 -12.4155 24.5005 -8.335 -9.75455 -12.5165 24.7759 -8.34 -9.89228 -12.6056 25.0606 -8.345 -10.0271 -12.682 25.3541 -8.35 -10.1583 -12.7445 25.6556 -8.355 -10.286 -12.7925 25.9649 -8.36 -10.4099 -12.8254 26.2809 -8.365 -10.5293 -12.8426 26.6019 -8.37 -10.6433 -12.8438 26.9264 -8.375 -10.7514 -12.8285 27.2528 -8.38 -10.853 -12.7965 27.5795 -8.385 -10.9474 -12.7477 27.9051 -8.39 -11.0342 -12.6818 28.2281 -8.395 -11.1128 -12.599 28.547 -8.4 -11.1829 -12.4993 28.8607 -8.405 -11.244 -12.383 29.1676 -8.41 -11.2958 -12.2503 29.4666 -8.415 -11.338 -12.1017 29.7564 -8.42 -11.3703 -11.9375 30.0357 -8.425 -11.3927 -11.7584 30.3036 -8.43 -11.4048 -11.565 30.5587 -8.435 -11.4065 -11.358 30.8001 -8.44 -11.3979 -11.1384 31.0267 -8.445 -11.3789 -10.907 31.2376 -8.45 -11.3495 -10.6649 31.4317 -8.455 -11.3098 -10.4132 31.6082 -8.46 -11.2595 -10.1536 31.7658 -8.465 -11.1987 -9.88816 31.9038 -8.47 -11.1277 -9.6183 32.0219 -8.475 -11.047 -9.34552 32.1201 -8.48 -10.9569 -9.07122 32.1983 -8.485 -10.858 -8.7967 32.2567 -8.49 -10.7507 -8.52324 32.2954 -8.495 -10.6355 -8.25201 32.3146 -8.5 -10.5129 -7.98414 32.3146 -8.505 -10.3834 -7.72069 32.2959 -8.51 -10.2476 -7.46265 32.2589 -8.515 -10.106 -7.21094 32.2041 -8.52 -9.95913 -6.96642 32.1321 -8.525 -9.80765 -6.72987 32.0437 -8.53 -9.65213 -6.50201 31.9396 -8.535 -9.49319 -6.28352 31.8207 -8.54 -9.33148 -6.07496 31.6879 -8.545 -9.16763 -5.87688 31.5422 -8.55 -9.00232 -5.68971 31.3848 -8.555 -8.83624 -5.51386 31.2167 -8.56 -8.67008 -5.34959 31.0392 -8.565 -8.50441 -5.19641 30.8532 -8.57 -8.33969 -5.0541 30.6595 -8.575 -8.1764 -4.92271 30.4586 -8.58 -8.01498 -4.80223 30.2513 -8.585 -7.85583 -4.6926 30.0383 -8.59 -7.69935 -4.59373 29.8201 -8.595 -7.54592 -4.50551 29.5974 -8.6 -7.39587 -4.42774 29.3709 -8.605 -7.24953 -4.36022 29.1411 -8.61 -7.1072 -4.3027 28.9086 -8.615 -6.96916 -4.25488 28.6739 -8.62 -6.83565 -4.21643 28.4377 -8.625 -6.70692 -4.18696 28.2005 -8.63 -6.58315 -4.16608 27.9628 -8.635 -6.46454 -4.15331 27.7251 -8.64 -6.35125 -4.14816 27.4879 -8.645 -6.2434 -4.15008 27.2518 -8.65 -6.14112 -4.15851 27.017 -8.655 -6.0445 -4.17283 26.7842 -8.66 -5.95359 -4.19237 26.5538 -8.665 -5.8683 -4.21743 26.3255 -8.67 -5.78853 -4.24831 26.0994 -8.675 -5.71428 -4.28479 25.8756 -8.68 -5.64555 -4.32669 25.6543 -8.685 -5.58233 -4.37383 25.4358 -8.69 -5.52459 -4.42602 25.2202 -8.695 -5.47232 -4.48311 25.0078 -8.7 -5.4255 -4.54496 24.7986 -8.705 -5.38409 -4.61144 24.5929 -8.71 -5.34806 -4.68242 24.391 -8.715 -5.31738 -4.75779 24.1928 -8.72 -5.292 -4.83746 23.9987 -8.725 -5.27188 -4.92133 23.8088 -8.73 -5.25696 -5.00935 23.6233 -8.735 -5.2472 -5.10144 23.4423 -8.74 -5.24253 -5.19757 23.2661 -8.745 -5.24289 -5.29768 23.0946 -8.75 -5.24822 -5.40177 22.9282 -8.755 -5.25844 -5.50981 22.767 -8.76 -5.27348 -5.62181 22.611 -8.765 -5.29313 -5.73777 22.4606 -8.77 -5.31727 -5.85767 22.3159 -8.775 -5.34596 -5.98153 22.1772 -8.78 -5.37925 -6.10938 22.0446 -8.785 -5.41718 -6.24121 21.9183 -8.79 -5.45978 -6.37701 21.7986 -8.795 -5.50707 -6.51676 21.6856 -8.8 -5.55907 -6.66043 21.5796 -8.805 -5.61576 -6.80799 21.4809 -8.81 -5.67715 -6.95938 21.3896 -8.815 -5.74321 -7.11456 21.306 -8.82 -5.81391 -7.27345 21.2303 -8.825 -5.88921 -7.43597 21.1629 -8.83 -5.96906 -7.60204 21.104 -8.835 -6.05339 -7.77157 21.0539 -8.84 -6.14214 -7.94444 21.0129 -8.845 -6.23522 -8.12055 20.9813 -8.85 -6.33254 -8.29977 20.9594 -8.855 -6.434 -8.48196 20.9475 -8.86 -6.53949 -8.66698 20.946 -8.865 -6.64887 -8.85467 20.9551 -8.87 -6.76203 -9.04488 20.9753 -8.875 -6.87881 -9.23742 21.0068 -8.88 -6.99907 -9.43212 21.0501 -8.885 -7.12263 -9.62879 21.1054 -8.89 -7.24945 -9.82707 21.1723 -8.895 -7.3795 -10.0264 21.251 -8.9 -7.51274 -10.2262 21.3421 -8.905 -7.6491 -10.4258 21.4463 -8.91 -7.78845 -10.6246 21.5639 -8.915 -7.93067 -10.8218 21.6953 -8.92 -8.07557 -11.0169 21.8408 -8.925 -8.22294 -11.2091 22.0006 -8.93 -8.37256 -11.3976 22.1748 -8.935 -8.52414 -11.5817 22.3635 -8.94 -8.67739 -11.7606 22.5665 -8.945 -8.83197 -11.9335 22.7838 -8.95 -8.98752 -12.0997 23.0152 -8.955 -9.14363 -12.2581 23.2603 -8.96 -9.29987 -12.4081 23.5188 -8.965 -9.45579 -12.5487 23.7902 -8.97 -9.61089 -12.679 24.074 -8.975 -9.76465 -12.798 24.3696 -8.98 -9.9165 -12.9049 24.6762 -8.985 -10.0659 -12.9986 24.9931 -8.99 -10.2121 -13.0782 25.3194 -8.995 -10.3546 -13.1427 25.6541 -9 -10.4926 -13.191 25.9962 -9.005 -10.6254 -13.222 26.3446 -9.01 -10.7526 -13.2346 26.6985 -9.015 -10.8744 -13.2281 27.0572 -9.02 -10.9898 -13.2022 27.4185 -9.025 -11.098 -13.157 27.7804 -9.03 -11.1984 -13.0926 28.1408 -9.035 -11.2902 -13.0092 28.4977 -9.04 -11.3728 -12.9069 28.8495 -9.045 -11.4457 -12.7861 29.1942 -9.05 -11.5084 -12.6473 29.5303 -9.055 -11.5604 -12.4907 29.8561 -9.06 -11.6015 -12.3171 30.1703 -9.065 -11.6312 -12.1271 30.4715 -9.07 -11.6496 -11.9212 30.7582 -9.075 -11.6563 -11.7004 31.0295 -9.08 -11.6513 -11.4655 31.2842 -9.085 -11.6347 -11.2174 31.5212 -9.09 -11.6064 -10.9571 31.7398 -9.095 -11.5666 -10.6857 31.939 -9.1 -11.5155 -10.4044 32.1182 -9.105 -11.4534 -10.1144 32.2767 -9.11 -11.3805 -9.81715 32.414 -9.115 -11.2967 -9.51544 32.5292 -9.12 -11.2018 -9.21174 32.622 -9.125 -11.0967 -8.90759 32.6923 -9.13 -10.982 -8.6044 32.7405 -9.135 -10.8582 -8.30356 32.7667 -9.14 -10.7259 -8.00635 32.7713 -9.145 -10.586 -7.71397 32.7547 -9.15 -10.4389 -7.42755 32.7175 -9.155 -10.2853 -7.14814 32.6603 -9.16 -10.1259 -6.87673 32.5838 -9.165 -9.96131 -6.61421 32.4888 -9.17 -9.79225 -6.36139 32.3762 -9.175 -9.61936 -6.11903 32.247 -9.18 -9.44332 -5.88778 32.1022 -9.185 -9.26479 -5.66823 31.943 -9.19 -9.08446 -5.4609 31.7706 -9.195 -8.90302 -5.26622 31.5864 -9.2 -8.72116 -5.08454 31.3918 -9.205 -8.53958 -4.91614 31.1883 -9.21 -8.35898 -4.76121 30.9775 -9.215 -8.18009 -4.61879 30.76 -9.22 -8.00344 -4.4881 30.536 -9.225 -7.82943 -4.36908 30.3063 -9.23 -7.65846 -4.2616 30.0714 -9.235 -7.4909 -4.16551 29.832 -9.24 -7.32707 -4.08063 29.5889 -9.245 -7.16731 -4.00674 29.3426 -9.25 -7.01191 -3.94357 29.0937 -9.255 -6.86115 -3.89085 28.8429 -9.26 -6.71529 -3.84823 28.5905 -9.265 -6.57456 -3.81536 28.3372 -9.27 -6.43917 -3.79184 28.0835 -9.275 -6.30931 -3.77723 27.8298 -9.28 -6.18516 -3.77106 27.5767 -9.285 -6.06685 -3.77283 27.3244 -9.29 -5.95451 -3.78201 27.0736 -9.295 -5.84824 -3.798 26.8245 -9.3 -5.74813 -3.8202 26.5775 -9.305 -5.65423 -3.84797 26.3329 -9.31 -5.56658 -3.88061 26.0912 -9.315 -5.48517 -3.91753 25.8525 -9.32 -5.40969 -3.95954 25.6167 -9.325 -5.34003 -4.00681 25.3837 -9.33 -5.27616 -4.05916 25.1539 -9.335 -5.21805 -4.1164 24.9273 -9.34 -5.16566 -4.17839 24.7041 -9.345 -5.11895 -4.24498 24.4844 -9.35 -5.07789 -4.31604 24.2685 -9.355 -5.04242 -4.39145 24.0564 -9.36 -5.0125 -4.47112 23.8483 -9.365 -4.98807 -4.55495 23.6444 -9.37 -4.96907 -4.64288 23.4449 -9.375 -4.95545 -4.73486 23.2499 -9.38 -4.94714 -4.83083 23.0595 -9.385 -4.94407 -4.93078 22.8739 -9.39 -4.94618 -5.03469 22.6933 -9.395 -4.95338 -5.14257 22.5178 -9.4 -4.9656 -5.25443 22.3477 -9.405 -4.98275 -5.37031 22.183 -9.41 -5.00475 -5.49025 22.0239 -9.415 -5.03151 -5.61431 21.8706 -9.42 -5.0628 -5.74245 21.7233 -9.425 -5.09857 -5.87467 21.5822 -9.43 -5.13891 -6.01102 21.4476 -9.435 -5.18389 -6.15155 21.3195 -9.44 -5.23357 -6.29629 21.1984 -9.445 -5.28799 -6.44524 21.0843 -9.45 -5.3472 -6.59841 20.9775 -9.455 -5.41121 -6.7558 20.8783 -9.46 -5.48004 -6.91736 20.7869 -9.465 -5.55368 -7.08308 20.7037 -9.47 -5.63214 -7.25288 20.6287 -9.475 -5.71538 -7.42672 20.5625 -9.48 -5.80337 -7.6045 20.5052 -9.485 -5.89607 -7.78614 20.4572 -9.49 -5.99342 -7.97153 20.4188 -9.495 -6.09534 -8.16055 20.3903 -9.5 -6.20177 -8.35307 20.3721 -9.505 -6.31261 -8.54894 20.3646 -9.51 -6.42775 -8.748 20.3681 -9.515 -6.54708 -8.95008 20.383 -9.52 -6.67048 -9.15498 20.4097 -9.525 -6.7978 -9.36252 20.4485 -9.53 -6.9289 -9.57248 20.5 -9.535 -7.06361 -9.78462 20.5645 -9.54 -7.20177 -9.99872 20.6424 -9.545 -7.34323 -10.2145 20.7333 -9.55 -7.48795 -10.4314 20.8371 -9.555 -7.63591 -10.6487 20.9545 -9.56 -7.78702 -10.8654 21.0863 -9.565 -7.94116 -11.0807 21.233 -9.57 -8.09818 -11.2938 21.395 -9.575 -8.25788 -11.5039 21.5727 -9.58 -8.42004 -11.7099 21.7664 -9.585 -8.58437 -11.9111 21.9761 -9.59 -8.75058 -12.1065 22.2019 -9.595 -8.9183 -12.2952 22.4437 -9.6 -9.08715 -12.4762 22.7014 -9.605 -9.2567 -12.6486 22.9746 -9.61 -9.42649 -12.8113 23.2628 -9.615 -9.59601 -12.9634 23.5657 -9.62 -9.76472 -13.1038 23.8826 -9.625 -9.93203 -13.2316 24.2127 -9.63 -10.0973 -13.3456 24.5552 -9.635 -10.2599 -13.4448 24.9093 -9.64 -10.4192 -13.5281 25.2737 -9.645 -10.5743 -13.5944 25.6474 -9.65 -10.7246 -13.6425 26.0292 -9.655 -10.8691 -13.6715 26.4175 -9.66 -11.0071 -13.68 26.811 -9.665 -11.1376 -13.667 27.2081 -9.67 -11.2605 -13.6309 27.6079 -9.675 -11.3758 -13.5712 28.0088 -9.68 -11.4823 -13.4886 28.4083 -9.685 -11.5794 -13.3837 28.8037 -9.69 -11.6661 -13.2572 29.1928 -9.695 -11.7419 -13.1099 29.5732 -9.7 -11.806 -12.9424 29.943 -9.705 -11.8581 -12.7557 30.3002 -9.71 -11.8977 -12.5506 30.6429 -9.715 -11.9245 -12.3281 30.9696 -9.72 -11.9382 -12.089 31.2788 -9.725 -11.9386 -11.8345 31.5692 -9.73 -11.9258 -11.5655 31.8394 -9.735 -11.8998 -11.2832 32.0886 -9.74 -11.8606 -10.9887 32.3157 -9.745 -11.8085 -10.6832 32.5201 -9.75 -11.7438 -10.3679 32.7011 -9.755 -11.6669 -10.0442 32.8583 -9.76 -11.5782 -9.71325 32.9914 -9.765 -11.4783 -9.37655 33.1002 -9.77 -11.3673 -9.03693 33.1844 -9.775 -11.2448 -8.69843 33.2437 -9.78 -11.1117 -8.36266 33.2785 -9.785 -10.9689 -8.0311 33.2891 -9.79 -10.817 -7.70511 33.2758 -9.795 -10.657 -7.386 33.2395 -9.8 -10.4895 -7.07495 33.1806 -9.805 -10.3155 -6.77305 33.1 -9.81 -10.1357 -6.4813 32.9985 -9.815 -9.95077 -6.2006 32.8772 -9.82 -9.76161 -5.93176 32.7371 -9.825 -9.56892 -5.67548 32.5794 -9.83 -9.37348 -5.43238 32.4054 -9.835 -9.17602 -5.20298 32.2164 -9.84 -8.97728 -4.9877 32.0141 -9.845 -8.778 -4.78686 31.7999 -9.85 -8.57889 -4.60069 31.5756 -9.855 -8.38068 -4.42933 31.343 -9.86 -8.18407 -4.27281 31.1039 -9.865 -7.98979 -4.13094 30.8601 -9.87 -7.79857 -4.00228 30.611 -9.875 -7.61087 -3.88625 30.3567 -9.88 -7.42705 -3.78258 30.0981 -9.885 -7.24746 -3.69095 29.8359 -9.89 -7.07242 -3.61103 29.5706 -9.895 -6.90225 -3.54247 29.3031 -9.9 -6.73721 -3.4849 29.0338 -9.905 -6.57756 -3.43792 28.7634 -9.91 -6.42352 -3.40111 28.4923 -9.915 -6.27532 -3.37403 28.2212 -9.92 -6.13312 -3.35621 27.9504 -9.925 -5.99708 -3.34716 27.6804 -9.93 -5.86735 -3.34638 27.4116 -9.935 -5.74403 -3.35333 27.1443 -9.94 -5.62722 -3.36745 26.879 -9.945 -5.51697 -3.38818 26.6159 -9.95 -5.41332 -3.41491 26.3552 -9.955 -5.3163 -3.44702 26.0973 -9.96 -5.22589 -3.48386 25.8422 -9.965 -5.14191 -3.52553 25.5902 -9.97 -5.06412 -3.57247 25.3413 -9.975 -4.99249 -3.62446 25.0956 -9.98 -4.92697 -3.6813 24.8532 -9.985 -4.8675 -3.74281 24.6144 -9.99 -4.81403 -3.80883 24.3791 -9.995 -4.7665 -3.87922 24.1477 -10 -4.72486 -3.95385 23.9201 -10.005 -4.68902 -4.03261 23.6965 -10.01 -4.65893 -4.11542 23.4772 -10.015 -4.63451 -4.20221 23.2621 -10.02 -4.61569 -4.29292 23.0514 -10.025 -4.60238 -4.38751 22.8454 -10.03 -4.5945 -4.48598 22.6441 -10.035 -4.59197 -4.58833 22.4476 -10.04 -4.59469 -4.69457 22.2562 -10.045 -4.60258 -4.80474 22.0699 -10.05 -4.61553 -4.91891 21.8889 -10.055 -4.63345 -5.03715 21.7133 -10.06 -4.65622 -5.15955 21.5434 -10.065 -4.68356 -5.28614 21.3792 -10.07 -4.7153 -5.41694 21.2212 -10.075 -4.75158 -5.55202 21.0694 -10.08 -4.79251 -5.69144 20.9241 -10.085 -4.83819 -5.83525 20.7853 -10.09 -4.88871 -5.98349 20.6532 -10.095 -4.94415 -6.13619 20.5282 -10.1 -5.00455 -6.29338 20.4104 -10.105 -5.06998 -6.45507 20.3 -10.11 -5.14046 -6.62125 20.1973 -10.115 -5.21602 -6.79192 20.1026 -10.12 -5.29666 -6.96707 20.0162 -10.125 -5.38237 -7.14665 19.9384 -10.13 -5.47314 -7.33064 19.8694 -10.135 -5.56893 -7.51897 19.8097 -10.14 -5.66969 -7.7116 19.7596 -10.145 -5.77536 -7.90845 19.7195 -10.15 -5.88587 -8.10945 19.6897 -10.155 -6.00113 -8.31449 19.6707 -10.16 -6.12103 -8.52349 19.6628 -10.165 -6.24547 -8.73633 19.6666 -10.17 -6.37431 -8.9529 19.6824 -10.175 -6.50741 -9.17305 19.7108 -10.18 -6.64462 -9.39666 19.7522 -10.185 -6.78576 -9.62356 19.8071 -10.19 -6.93066 -9.85361 19.8761 -10.195 -7.07912 -10.0866 19.9595 -10.2 -7.2312 -10.322 20.0567 -10.205 -7.387 -10.5589 20.168 -10.21 -7.54649 -10.7966 20.2942 -10.215 -7.70961 -11.0343 20.4362 -10.22 -7.87626 -11.271 20.5947 -10.225 -8.04629 -11.506 20.7701 -10.23 -8.2195 -11.7382 20.963 -10.235 -8.39566 -11.9668 21.1735 -10.24 -8.57446 -12.1908 21.402 -10.245 -8.75558 -12.409 21.6484 -10.25 -8.93863 -12.6205 21.9128 -10.255 -9.12319 -12.8242 22.1949 -10.26 -9.30879 -13.0189 22.4946 -10.265 -9.49491 -13.2035 22.8113 -10.27 -9.68099 -13.3768 23.1446 -10.275 -9.86641 -13.5375 23.4938 -10.28 -10.0505 -13.6844 23.8581 -10.285 -10.2326 -13.8162 24.2368 -10.29 -10.412 -13.9315 24.6287 -10.295 -10.5878 -14.0291 25.0328 -10.3 -10.7592 -14.1074 25.4479 -10.305 -10.9253 -14.1651 25.8725 -10.31 -11.0852 -14.2006 26.3052 -10.315 -11.238 -14.2126 26.7445 -10.32 -11.3832 -14.1993 27.1893 -10.325 -11.5207 -14.1601 27.638 -10.33 -11.6494 -14.0952 28.0875 -10.335 -11.7682 -14.0048 28.535 -10.34 -11.8762 -13.8892 28.9776 -10.345 -11.9726 -13.749 29.4128 -10.35 -12.0565 -13.5846 29.838 -10.355 -12.1274 -13.3968 30.251 -10.36 -12.1847 -13.1864 30.6495 -10.365 -12.2279 -12.9541 31.0317 -10.37 -12.2566 -12.7009 31.3956 -10.375 -12.2707 -12.428 31.7395 -10.38 -12.2699 -12.1365 32.062 -10.385 -12.2542 -11.8276 32.3615 -10.39 -12.2236 -11.5028 32.6369 -10.395 -12.1783 -11.1635 32.8871 -10.4 -12.1185 -10.8113 33.1111 -10.405 -12.0446 -10.4479 33.3082 -10.41 -11.9569 -10.075 33.4777 -10.415 -11.8556 -9.69533 33.6189 -10.42 -11.7404 -9.31344 33.7309 -10.425 -11.612 -8.93159 33.814 -10.43 -11.4713 -8.55178 33.8684 -10.435 -11.3191 -8.17588 33.8947 -10.44 -11.1564 -7.80566 33.8935 -10.445 -10.9839 -7.44274 33.8654 -10.45 -10.8025 -7.08863 33.8114 -10.455 -10.6131 -6.74472 33.7324 -10.46 -10.4166 -6.41226 33.6296 -10.465 -10.2139 -6.0924 33.504 -10.47 -10.0058 -5.78614 33.3572 -10.475 -9.7932 -5.49437 33.1904 -10.48 -9.57708 -5.21787 33.0054 -10.485 -9.35828 -4.95727 32.8038 -10.49 -9.13772 -4.71309 32.5874 -10.495 -8.9163 -4.48572 32.3582 -10.5 -8.69494 -4.27544 32.1183 -10.505 -8.47454 -4.0824 31.8698 -10.51 -8.25603 -3.90564 31.6138 -10.515 -8.04011 -3.74396 31.3503 -10.52 -7.82731 -3.59711 31.0802 -10.525 -7.61814 -3.46481 30.8045 -10.53 -7.41307 -3.34671 30.524 -10.535 -7.21255 -3.24244 30.2395 -10.54 -7.01697 -3.15159 29.9519 -10.545 -6.82671 -3.0737 29.6618 -10.55 -6.64211 -3.00826 29.37 -10.555 -6.46348 -2.95474 29.077 -10.56 -6.29109 -2.91255 28.7837 -10.565 -6.12518 -2.88107 28.4904 -10.57 -5.96596 -2.85964 28.1977 -10.575 -5.8136 -2.84755 27.9062 -10.58 -5.66825 -2.84404 27.6163 -10.585 -5.53001 -2.84834 27.3284 -10.59 -5.39896 -2.8596 27.0428 -10.595 -5.27513 -2.87696 26.7599 -10.6 -5.15855 -2.8995 26.48 -10.605 -5.04903 -2.92725 26.2032 -10.61 -4.94633 -2.96083 25.9292 -10.615 -4.8504 -2.99996 25.6584 -10.62 -4.76115 -3.04435 25.3907 -10.625 -4.67852 -3.09373 25.1263 -10.63 -4.60242 -3.14788 24.8655 -10.635 -4.53278 -3.20658 24.6081 -10.64 -4.46951 -3.26964 24.3545 -10.645 -4.41253 -3.33689 24.1047 -10.65 -4.36174 -3.4082 23.8588 -10.655 -4.31704 -3.48345 23.617 -10.66 -4.27834 -3.56253 23.3793 -10.665 -4.24552 -3.64539 23.1459 -10.67 -4.21849 -3.73196 22.9168 -10.675 -4.19713 -3.82223 22.6922 -10.68 -4.18133 -3.9162 22.4722 -10.685 -4.17097 -4.01389 22.2569 -10.69 -4.16592 -4.11534 22.0462 -10.695 -4.16605 -4.22063 21.8405 -10.7 -4.17113 -4.32983 21.6398 -10.705 -4.18112 -4.44297 21.4444 -10.71 -4.19606 -4.5601 21.2542 -10.715 -4.21597 -4.68123 21.0695 -10.72 -4.24088 -4.80642 20.8903 -10.725 -4.27081 -4.93572 20.7168 -10.73 -4.30576 -5.06918 20.5491 -10.735 -4.34575 -5.20685 20.3875 -10.74 -4.39078 -5.34881 20.232 -10.745 -4.44083 -5.49512 20.0829 -10.75 -4.4959 -5.64586 19.9405 -10.755 -4.55597 -5.80111 19.8049 -10.76 -4.62101 -5.96096 19.6765 -10.765 -4.691 -6.1255 19.5554 -10.77 -4.76589 -6.29484 19.442 -10.775 -4.84565 -6.46907 19.3366 -10.78 -4.93023 -6.6483 19.2394 -10.785 -5.01957 -6.83266 19.1509 -10.79 -5.11362 -7.02226 19.0714 -10.795 -5.2123 -7.21723 19.0012 -10.8 -5.31555 -7.4177 18.9407 -10.805 -5.42329 -7.6238 18.8904 -10.81 -5.53562 -7.83507 18.8503 -10.815 -5.65272 -8.05125 18.8208 -10.82 -5.7747 -8.27243 18.8026 -10.825 -5.90164 -8.49861 18.7961 -10.83 -6.03359 -8.72972 18.8021 -10.835 -6.17059 -8.96564 18.821 -10.84 -6.31264 -9.20617 18.8533 -10.845 -6.45972 -9.45104 18.8997 -10.85 -6.61179 -9.69992 18.9606 -10.855 -6.76877 -9.95241 19.0366 -10.86 -6.93058 -10.208 19.128 -10.865 -7.09709 -10.4663 19.2355 -10.87 -7.26816 -10.7265 19.3594 -10.875 -7.44362 -10.9881 19.5003 -10.88 -7.62328 -11.2502 19.6585 -10.885 -7.80692 -11.5121 19.8344 -10.89 -7.99429 -11.773 20.0286 -10.895 -8.18512 -12.0318 20.2413 -10.9 -8.37912 -12.2876 20.473 -10.905 -8.57597 -12.5392 20.724 -10.91 -8.77533 -12.7856 20.9947 -10.915 -8.97683 -13.0255 21.2855 -10.92 -9.1801 -13.2584 21.596 -10.925 -9.38463 -13.483 21.926 -10.93 -9.58982 -13.697 22.2753 -10.935 -9.79502 -13.8986 22.6437 -10.94 -9.99957 -14.0856 23.0307 -10.945 -10.2028 -14.2563 23.4357 -10.95 -10.4038 -14.4089 23.8578 -10.955 -10.6021 -14.5419 24.296 -10.96 -10.7966 -14.6536 24.7491 -10.965 -10.9867 -14.7426 25.2157 -10.97 -11.1714 -14.8077 25.6942 -10.975 -11.3498 -14.8476 26.1827 -10.98 -11.5211 -14.8613 26.6795 -10.985 -11.6842 -14.8477 27.1822 -10.99 -11.8382 -14.8059 27.6886 -10.995 -11.982 -14.7352 28.1962 -11 -12.1147 -14.6348 28.7021 -11.005 -12.235 -14.5042 29.2035 -11.01 -12.342 -14.3428 29.6974 -11.015 -12.4354 -14.1477 30.1813 -11.02 -12.5145 -13.9206 30.6519 -11.025 -12.5784 -13.6644 31.1063 -11.03 -12.6263 -13.3819 31.5415 -11.035 -12.6578 -13.0758 31.9551 -11.04 -12.6722 -12.7486 32.3445 -11.045 -12.6693 -12.4029 32.7079 -11.05 -12.649 -12.0409 33.0433 -11.055 -12.611 -11.6648 33.3491 -11.06 -12.5557 -11.2769 33.6242 -11.065 -12.4831 -10.879 33.8674 -11.07 -12.3937 -10.473 34.078 -11.075 -12.288 -10.0608 34.2554 -11.08 -12.1667 -9.64389 34.3994 -11.085 -12.0305 -9.22387 34.51 -11.09 -11.8803 -8.80216 34.5874 -11.095 -11.7174 -8.38005 34.6321 -11.1 -11.5428 -7.95872 34.6449 -11.105 -11.3574 -7.54054 34.6271 -11.11 -11.1607 -7.13233 34.5809 -11.115 -10.9538 -6.7363 34.5073 -11.12 -10.738 -6.35389 34.4071 -11.125 -10.5145 -5.98637 34.2811 -11.13 -10.2845 -5.63486 34.1306 -11.135 -10.0492 -5.30028 33.9568 -11.14 -9.80975 -4.98344 33.7609 -11.145 -9.56711 -4.68496 33.5445 -11.15 -9.32236 -4.40528 33.3091 -11.155 -9.07648 -4.14472 33.0565 -11.16 -8.8304 -3.90339 32.7885 -11.165 -8.58503 -3.68128 32.5071 -11.17 -8.3412 -3.47819 32.2143 -11.175 -8.09973 -3.29377 31.9125 -11.18 -7.86138 -3.1275 31.6039 -11.185 -7.62686 -2.9787 31.2911 -11.19 -7.39684 -2.84652 30.9766 -11.195 -7.17197 -2.72997 30.6632 -11.2 -6.95285 -2.62797 30.351 -11.205 -6.73996 -2.53975 30.0369 -11.21 -6.53356 -2.4646 29.7216 -11.215 -6.33387 -2.40183 29.4058 -11.22 -6.14111 -2.35078 29.0899 -11.225 -5.95544 -2.31077 28.7745 -11.23 -5.77704 -2.28116 28.4601 -11.235 -5.60601 -2.26132 28.1472 -11.24 -5.44248 -2.25064 27.8361 -11.245 -5.28652 -2.2485 27.5271 -11.25 -5.13818 -2.25432 27.2207 -11.255 -4.9975 -2.26752 26.9171 -11.26 -4.86448 -2.28755 26.6164 -11.265 -4.73909 -2.31385 26.3189 -11.27 -4.62131 -2.3459 26.0246 -11.275 -4.51104 -2.38317 25.7337 -11.28 -4.40821 -2.42517 25.4462 -11.285 -4.31256 -2.47171 25.1622 -11.29 -4.22384 -2.52285 24.882 -11.295 -4.14195 -2.57832 24.6055 -11.3 -4.0668 -2.6379 24.3328 -11.305 -3.99829 -2.70138 24.0641 -11.31 -3.93631 -2.7686 23.7993 -11.315 -3.88074 -2.83939 23.5385 -11.32 -3.83149 -2.91364 23.2818 -11.325 -3.78843 -2.99125 23.0292 -11.33 -3.75145 -3.07213 22.7809 -11.335 -3.72041 -3.15625 22.5368 -11.34 -3.69519 -3.24358 22.2972 -11.345 -3.67566 -3.33411 22.062 -11.35 -3.66169 -3.42789 21.8313 -11.355 -3.65314 -3.52496 21.6052 -11.36 -3.64986 -3.6254 21.3838 -11.365 -3.6517 -3.72931 21.1673 -11.37 -3.65853 -3.83684 20.9556 -11.375 -3.67018 -3.94813 20.7489 -11.38 -3.68649 -4.06333 20.5473 -11.385 -3.70738 -4.18247 20.351 -11.39 -3.7329 -4.30562 20.1601 -11.395 -3.76313 -4.43287 19.9747 -11.4 -3.7981 -4.56431 19.7949 -11.405 -3.83788 -4.70003 19.6208 -11.41 -3.88249 -4.84012 19.4527 -11.415 -3.93198 -4.9847 19.2905 -11.42 -3.98638 -5.13386 19.1346 -11.425 -4.0457 -5.28773 18.9852 -11.43 -4.10997 -5.44642 18.8424 -11.435 -4.17921 -5.61006 18.7065 -11.44 -4.25341 -5.77878 18.5778 -11.445 -4.33258 -5.9527 18.4566 -11.45 -4.41671 -6.13197 18.3432 -11.455 -4.5058 -6.31672 18.2379 -11.46 -4.59982 -6.50712 18.141 -11.465 -4.69876 -6.70331 18.053 -11.47 -4.80258 -6.90545 17.9742 -11.475 -4.91125 -7.11371 17.905 -11.48 -5.02474 -7.32825 17.8459 -11.485 -5.143 -7.54925 17.7973 -11.49 -5.26598 -7.77678 17.7596 -11.495 -5.3939 -8.01012 17.7329 -11.5 -5.52695 -8.24925 17.7179 -11.505 -5.66526 -8.49431 17.7152 -11.51 -5.80897 -8.74535 17.7255 -11.515 -5.95814 -9.00232 17.7496 -11.52 -6.11284 -9.26509 17.7881 -11.525 -6.27309 -9.53346 17.8417 -11.53 -6.43888 -9.8071 17.911 -11.535 -6.61018 -10.0856 17.9967 -11.54 -6.78693 -10.3686 18.0993 -11.545 -6.96903 -10.6553 18.2196 -11.55 -7.15635 -10.9453 18.358 -11.555 -7.34874 -11.2377 18.5152 -11.56 -7.54603 -11.5317 18.6917 -11.565 -7.74798 -11.8264 18.8881 -11.57 -7.95437 -12.1207 19.105 -11.575 -8.16492 -12.4136 19.3428 -11.58 -8.37932 -12.704 19.6021 -11.585 -8.59724 -12.9904 19.8835 -11.59 -8.81833 -13.2716 20.1872 -11.595 -9.04218 -13.5461 20.514 -11.6 -9.26838 -13.8124 20.8641 -11.605 -9.49644 -14.0699 21.2373 -11.61 -9.72568 -14.3166 21.6331 -11.615 -9.95535 -14.5498 22.0513 -11.62 -10.1847 -14.7671 22.4915 -11.625 -10.4128 -14.9659 22.9532 -11.63 -10.6389 -15.1441 23.4353 -11.635 -10.8621 -15.2995 23.9367 -11.64 -11.0813 -15.4302 24.456 -11.645 -11.2957 -15.5343 24.9916 -11.65 -11.5041 -15.61 25.5416 -11.655 -11.7056 -15.656 26.1038 -11.66 -11.8989 -15.6706 26.676 -11.665 -12.0829 -15.6527 27.2554 -11.67 -12.2565 -15.6011 27.8392 -11.675 -12.4184 -15.5148 28.4243 -11.68 -12.5673 -15.3929 29.0074 -11.685 -12.702 -15.2348 29.5848 -11.69 -12.821 -15.0395 30.1529 -11.695 -12.9242 -14.8039 30.7082 -11.7 -13.0105 -14.5304 31.2471 -11.705 -13.0789 -14.2224 31.7656 -11.71 -13.1285 -13.8836 32.2603 -11.715 -13.1586 -13.5173 32.728 -11.72 -13.1687 -13.1266 33.166 -11.725 -13.1584 -12.7146 33.5718 -11.73 -13.1276 -12.2842 33.9432 -11.735 -13.0762 -11.8381 34.2786 -11.74 -13.0044 -11.3789 34.5764 -11.745 -12.9127 -10.9091 34.8356 -11.75 -12.8014 -10.431 35.0553 -11.755 -12.6714 -9.94674 35.2351 -11.76 -12.5235 -9.45829 35.3751 -11.765 -12.3588 -8.96754 35.4753 -11.77 -12.1786 -8.47619 35.5363 -11.775 -11.9843 -7.98582 35.5592 -11.78 -11.777 -7.49911 35.5453 -11.785 -11.5562 -7.02409 35.4964 -11.79 -11.3233 -6.56376 35.4141 -11.795 -11.0797 -6.12001 35.3 -11.8 -10.827 -5.69451 35.1558 -11.805 -10.5665 -5.28866 34.9833 -11.81 -10.2995 -4.90365 34.7843 -11.815 -10.0275 -4.5404 34.5609 -11.82 -9.75176 -4.1996 34.3151 -11.825 -9.47343 -3.8817 34.0493 -11.83 -9.19373 -3.58689 33.7657 -11.835 -8.9138 -3.31514 33.4667 -11.84 -8.63473 -3.06616 33.155 -11.845 -8.35755 -2.83942 32.8331 -11.85 -8.08327 -2.63416 32.5038 -11.855 -7.81282 -2.44935 32.17 -11.86 -7.54713 -2.28382 31.8338 -11.865 -7.28697 -2.13669 31.4937 -11.87 -7.03286 -2.0071 31.1504 -11.875 -6.78524 -1.89413 30.8049 -11.88 -6.54454 -1.7969 30.458 -11.885 -6.31112 -1.71452 30.1105 -11.89 -6.0853 -1.6461 29.7632 -11.895 -5.86736 -1.59077 29.4168 -11.9 -5.65755 -1.54764 29.0718 -11.905 -5.45605 -1.51583 28.7287 -11.91 -5.26303 -1.49448 28.388 -11.915 -5.07857 -1.48272 28.0502 -11.92 -4.90276 -1.47967 27.7153 -11.925 -4.73562 -1.48449 27.3838 -11.93 -4.5771 -1.4963 27.0557 -11.935 -4.42717 -1.51426 26.731 -11.94 -4.28565 -1.53777 26.41 -11.945 -4.15229 -1.56686 26.0928 -11.95 -4.02695 -1.60113 25.7794 -11.955 -3.90947 -1.64016 25.47 -11.96 -3.7997 -1.68359 25.1645 -11.965 -3.6975 -1.73108 24.8629 -11.97 -3.60268 -1.78233 24.5654 -11.975 -3.5151 -1.83708 24.272 -11.98 -3.43458 -1.89508 23.9826 -11.985 -3.36093 -1.95614 23.6974 -11.99 -3.294 -2.02009 23.4163 -11.995 -3.23358 -2.0868 23.1394 -12 -3.1795 -2.15617 22.8666 -12.005 -3.13155 -2.22814 22.5981 -12.01 -3.08955 -2.30267 22.3337 -12.015 -3.05328 -2.37977 22.0737 -12.02 -3.02256 -2.45947 21.8178 -12.025 -2.99715 -2.54185 21.5662 -12.03 -2.97682 -2.62698 21.319 -12.035 -2.9615 -2.71486 21.0761 -12.04 -2.95114 -2.80551 20.8375 -12.045 -2.94572 -2.89895 20.6034 -12.05 -2.94519 -2.99523 20.3737 -12.055 -2.94951 -3.0944 20.1485 -12.06 -2.95864 -3.19656 19.9279 -12.065 -2.97253 -3.3018 19.7118 -12.07 -2.99111 -3.41023 19.5004 -12.075 -3.01435 -3.52199 19.2938 -12.08 -3.04219 -3.63723 19.0921 -12.085 -3.07455 -3.75612 18.8953 -12.09 -3.11138 -3.87885 18.7036 -12.095 -3.15262 -4.00561 18.5172 -12.1 -3.19818 -4.13664 18.3361 -12.105 -3.24801 -4.27216 18.1605 -12.11 -3.30202 -4.41244 17.9905 -12.115 -3.36013 -4.55775 17.8264 -12.12 -3.42229 -4.70836 17.6684 -12.125 -3.48874 -4.86419 17.5166 -12.13 -3.55963 -5.02542 17.3712 -12.135 -3.63503 -5.19226 17.2325 -12.14 -3.71504 -5.36494 17.1008 -12.145 -3.79974 -5.54367 16.9761 -12.15 -3.88921 -5.72863 16.8589 -12.155 -3.98354 -5.92002 16.7495 -12.16 -4.08281 -6.118 16.6482 -12.165 -4.1871 -6.32274 16.5553 -12.17 -4.29651 -6.53438 16.4714 -12.175 -4.41111 -6.75305 16.3968 -12.18 -4.53098 -6.97889 16.3319 -12.185 -4.65622 -7.21201 16.2774 -12.19 -4.78691 -7.4525 16.2336 -12.195 -4.92313 -7.70046 16.2012 -12.2 -5.06496 -7.95596 16.1808 -12.205 -5.21249 -8.21907 16.1729 -12.21 -5.3658 -8.48985 16.1781 -12.215 -5.5249 -8.76814 16.197 -12.22 -5.68951 -9.05302 16.2296 -12.225 -5.85987 -9.34461 16.2767 -12.23 -6.03621 -9.64305 16.3398 -12.235 -6.21872 -9.94835 16.4198 -12.24 -6.40755 -10.2604 16.518 -12.245 -6.60277 -10.5788 16.6353 -12.25 -6.80441 -10.9032 16.7726 -12.255 -7.01244 -11.2329 16.931 -12.26 -7.22679 -11.5673 17.1112 -12.265 -7.4473 -11.9055 17.3141 -12.27 -7.6738 -12.2463 17.5404 -12.275 -7.90603 -12.5887 17.7907 -12.28 -8.14369 -12.9313 18.0658 -12.285 -8.38642 -13.2725 18.3662 -12.29 -8.63382 -13.6109 18.6925 -12.295 -8.88541 -13.9445 19.0449 -12.3 -9.14068 -14.2715 19.4241 -12.305 -9.39905 -14.5899 19.8303 -12.31 -9.65989 -14.8972 20.2638 -12.315 -9.92252 -15.1913 20.7248 -12.32 -10.1862 -15.4696 21.2135 -12.325 -10.4501 -15.7293 21.7301 -12.33 -10.7134 -15.9678 22.2746 -12.335 -10.9754 -16.1837 22.8462 -12.34 -11.2349 -16.3746 23.4429 -12.345 -11.4903 -16.5367 24.0623 -12.35 -11.7402 -16.6666 24.7018 -12.355 -11.983 -16.7611 25.3588 -12.36 -12.2174 -16.8177 26.0303 -12.365 -12.4418 -16.8341 26.7132 -12.37 -12.6549 -16.8084 27.4042 -12.375 -12.8553 -16.7392 28.0997 -12.38 -13.0414 -16.6254 28.796 -12.385 -13.212 -16.4663 29.4892 -12.39 -13.3657 -16.2616 30.1751 -12.395 -13.5011 -16.0116 30.8494 -12.4 -13.6168 -15.7166 31.5076 -12.405 -13.7117 -15.3777 32.1449 -12.41 -13.7842 -14.9962 32.7564 -12.415 -13.8332 -14.5734 33.3369 -12.42 -13.8581 -14.1089 33.8798 -12.425 -13.8585 -13.6074 34.3818 -12.43 -13.8341 -13.0757 34.8409 -12.435 -13.7847 -12.5198 35.2551 -12.44 -13.7105 -11.9455 35.6232 -12.445 -13.6117 -11.358 35.9439 -12.45 -13.4888 -10.7622 36.2165 -12.455 -13.3425 -10.1625 36.4404 -12.46 -13.1735 -9.56303 36.6155 -12.465 -12.9829 -8.96726 36.7419 -12.47 -12.7718 -8.37838 36.8202 -12.475 -12.5418 -7.79915 36.8512 -12.48 -12.2943 -7.23187 36.8359 -12.485 -12.0312 -6.67844 36.7759 -12.49 -11.7544 -6.14033 36.6729 -12.495 -11.466 -5.61857 36.5291 -12.5 -11.1681 -5.11494 36.3473 -12.505 -10.8608 -4.63641 36.1334 -12.51 -10.5457 -4.18508 35.8905 -12.515 -10.2247 -3.76184 35.6213 -12.52 -9.89958 -3.36732 35.3285 -12.525 -9.57187 -3.00183 35.0147 -12.53 -9.24315 -2.66541 34.6824 -12.535 -8.91484 -2.35781 34.3343 -12.54 -8.58827 -2.07847 33.9728 -12.545 -8.26467 -1.82657 33.6005 -12.55 -7.94517 -1.601 33.2197 -12.555 -7.6308 -1.40033 32.8329 -12.56 -7.32248 -1.22287 32.4424 -12.565 -7.02103 -1.06664 32.0506 -12.57 -6.72718 -0.92951 31.6595 -12.575 -6.44161 -0.811025 31.2688 -12.58 -6.16472 -0.710215 30.8785 -12.585 -5.89682 -0.625784 30.4896 -12.59 -5.63819 -0.556481 30.1027 -12.595 -5.38904 -0.501102 29.7184 -12.6 -5.14955 -0.458488 29.3371 -12.605 -4.91985 -0.427528 28.9595 -12.61 -4.70004 -0.407155 28.5858 -12.615 -4.49014 -0.39635 28.2163 -12.62 -4.29016 -0.39414 27.8512 -12.625 -4.10003 -0.399596 27.4908 -12.63 -3.91967 -0.411837 27.1349 -12.635 -3.74892 -0.430029 26.7838 -12.64 -3.58758 -0.45339 26.4371 -12.645 -3.43535 -0.481455 26.0951 -12.65 -3.29197 -0.513802 25.7579 -12.655 -3.1572 -0.549961 25.4253 -12.66 -3.03082 -0.589502 25.0973 -12.665 -2.9126 -0.632034 24.7739 -12.67 -2.8023 -0.677205 24.455 -12.675 -2.69967 -0.724701 24.1406 -12.68 -2.60448 -0.774248 23.8307 -12.685 -2.51646 -0.825609 23.5252 -12.69 -2.43536 -0.878588 23.224 -12.695 -2.36092 -0.933028 22.9272 -12.7 -2.29287 -0.988809 22.6346 -12.705 -2.23093 -1.04585 22.3462 -12.71 -2.17483 -1.10411 22.062 -12.715 -2.12429 -1.16359 21.7819 -12.72 -2.07903 -1.22432 21.5058 -12.725 -2.03875 -1.28635 21.2338 -12.73 -2.00332 -1.34964 20.9658 -12.735 -1.97263 -1.41419 20.7018 -12.74 -1.94658 -1.48 20.4417 -12.745 -1.92505 -1.54708 20.1855 -12.75 -1.90794 -1.61548 19.9333 -12.755 -1.89514 -1.68525 19.6849 -12.76 -1.88654 -1.75649 19.4403 -12.765 -1.88201 -1.82927 19.1996 -12.77 -1.88145 -1.90371 18.9628 -12.775 -1.88473 -1.97995 18.7298 -12.78 -1.89173 -2.05813 18.5007 -12.785 -1.90232 -2.13843 18.2755 -12.79 -1.91639 -2.22103 18.0541 -12.795 -1.9338 -2.30613 17.8367 -12.8 -1.95442 -2.39397 17.6231 -12.805 -1.97813 -2.48478 17.4135 -12.81 -2.00506 -2.57861 17.208 -12.815 -2.03526 -2.67561 17.0065 -12.82 -2.06877 -2.77592 16.809 -12.825 -2.10562 -2.87971 16.6158 -12.83 -2.14583 -2.98717 16.4267 -12.835 -2.18946 -3.09849 16.2419 -12.84 -2.23654 -3.21387 16.0614 -12.845 -2.2871 -3.33352 15.8854 -12.85 -2.34121 -3.45767 15.714 -12.855 -2.39892 -3.58654 15.5473 -12.86 -2.46027 -3.72039 15.3854 -12.865 -2.52532 -3.85947 15.2285 -12.87 -2.59414 -4.00404 15.0768 -12.875 -2.66678 -4.15438 14.9304 -12.88 -2.74333 -4.31078 14.7895 -12.885 -2.82384 -4.47353 14.6543 -12.89 -2.90843 -4.64281 14.5252 -12.895 -2.9973 -4.81864 14.4024 -12.9 -3.0906 -5.00144 14.2861 -12.905 -3.18848 -5.19158 14.1767 -12.91 -3.29109 -5.38944 14.0743 -12.915 -3.39859 -5.59535 13.9793 -12.92 -3.51111 -5.80964 13.892 -12.925 -3.62884 -6.0326 13.813 -12.93 -3.75192 -6.26449 13.7426 -12.935 -3.88053 -6.50556 13.6814 -12.94 -4.01482 -6.75602 13.6299 -12.945 -4.15498 -7.01607 13.5887 -12.95 -4.30116 -7.28588 13.5585 -12.955 -4.45355 -7.56558 13.54 -12.96 -4.61233 -7.85531 13.5339 -12.965 -4.77767 -8.15514 13.541 -12.97 -4.94976 -8.46516 13.5622 -12.975 -5.12878 -8.7854 13.5983 -12.98 -5.31492 -9.11588 13.6502 -12.985 -5.50838 -9.45661 13.719 -12.99 -5.70936 -9.80754 13.8057 -12.995 -5.918 -10.1686 13.9112 -13 -6.13403 -10.5388 14.036 -13.005 -6.35761 -10.9181 14.1817 -13.01 -6.58897 -11.3061 14.3499 -13.015 -6.82827 -11.7024 14.5422 -13.02 -7.07561 -12.1065 14.7603 -13.025 -7.33097 -12.5173 15.0055 -13.03 -7.59426 -12.9338 15.2793 -13.035 -7.86532 -13.3546 15.5828 -13.04 -8.14389 -13.778 15.9173 -13.045 -8.42962 -14.2022 16.2839 -13.05 -8.72209 -14.6252 16.6837 -13.055 -9.0208 -15.0446 17.1174 -13.06 -9.32514 -15.4579 17.5861 -13.065 -9.63445 -15.8623 18.0903 -13.07 -9.94797 -16.2548 18.6309 -13.075 -10.2648 -16.6321 19.2083 -13.08 -10.5841 -16.9907 19.823 -13.085 -10.9049 -17.3268 20.4755 -13.09 -11.226 -17.6381 21.1656 -13.095 -11.5463 -17.9214 21.8917 -13.1 -11.8639 -18.1709 22.6515 -13.105 -12.1769 -18.3811 23.4426 -13.11 -12.4834 -18.5469 24.2619 -13.115 -12.7816 -18.6641 25.1058 -13.12 -13.0695 -18.7288 25.9706 -13.125 -13.3451 -18.7378 26.8518 -13.13 -13.6064 -18.6885 27.7447 -13.135 -13.8514 -18.5787 28.6439 -13.14 -14.078 -18.4068 29.5438 -13.145 -14.284 -18.1719 30.4383 -13.15 -14.4673 -17.8735 31.3207 -13.155 -14.6259 -17.5117 32.184 -13.16 -14.7574 -17.0874 33.0208 -13.165 -14.8597 -16.6015 33.8231 -13.17 -14.9316 -16.0507 34.5813 -13.175 -14.9723 -15.4408 35.2891 -13.18 -14.9807 -14.7821 35.9421 -13.185 -14.9562 -14.0842 36.5369 -13.19 -14.8985 -13.3561 37.0704 -13.195 -14.8075 -12.6057 37.54 -13.2 -14.6837 -11.8404 37.9439 -13.205 -14.5276 -11.0667 38.2808 -13.21 -14.3403 -10.2906 38.5501 -13.215 -14.123 -9.51706 38.7516 -13.22 -13.8775 -8.75037 38.8857 -13.225 -13.6055 -7.99409 38.9536 -13.23 -13.3096 -7.25101 38.9569 -13.235 -12.9922 -6.52317 38.8978 -13.24 -12.6564 -5.81184 38.7792 -13.245 -12.3049 -5.11927 38.605 -13.25 -11.9378 -4.45892 38.3828 -13.255 -11.5571 -3.83553 38.1177 -13.26 -11.1657 -3.25094 37.814 -13.265 -10.766 -2.70647 37.4761 -13.27 -10.3605 -2.2029 37.1082 -13.275 -9.95128 -1.74048 36.7143 -13.28 -9.54058 -1.31892 36.2988 -13.285 -9.13034 -0.937396 35.8657 -13.29 -8.72238 -0.594552 35.4191 -13.295 -8.31839 -0.288499 34.9629 -13.3 -7.91994 -0.0168115 34.5011 -13.305 -7.52842 0.223468 34.0376 -13.31 -7.14512 0.434826 33.5747 -13.315 -6.77104 0.618197 33.112 -13.32 -6.40693 0.775679 32.6508 -13.325 -6.05344 0.909345 32.1923 -13.33 -5.71111 1.02121 31.7376 -13.335 -5.3804 1.11322 31.2876 -13.34 -5.06169 1.18725 30.8432 -13.345 -4.75526 1.24514 30.4048 -13.35 -4.46128 1.28864 29.9731 -13.355 -4.17984 1.31944 29.5483 -13.36 -3.91096 1.33918 29.1304 -13.365 -3.65454 1.34942 28.7196 -13.37 -3.41039 1.35166 28.3156 -13.375 -3.17825 1.34696 27.9186 -13.38 -2.95782 1.33617 27.5285 -13.385 -2.74876 1.32022 27.1451 -13.39 -2.55075 1.29994 26.7684 -13.395 -2.36344 1.27611 26.3981 -13.4 -2.18648 1.24945 26.0341 -13.405 -2.0195 1.22062 25.6763 -13.41 -1.86213 1.1902 25.3245 -13.415 -1.71398 1.15874 24.9786 -13.42 -1.57466 1.1267 24.6383 -13.425 -1.44376 1.09448 24.3036 -13.43 -1.32087 1.06243 23.9742 -13.435 -1.20555 1.03083 23.6501 -13.44 -1.09738 0.999895 23.331 -13.445 -0.995904 0.969787 23.0169 -13.45 -0.90069 0.940654 22.7075 -13.455 -0.811415 0.912681 22.4028 -13.46 -0.727782 0.886004 22.1026 -13.465 -0.649499 0.860743 21.8069 -13.47 -0.576269 0.836997 21.5155 -13.475 -0.507798 0.814848 21.2283 -13.48 -0.443792 0.794361 20.9452 -13.485 -0.383956 0.775578 20.6662 -13.49 -0.327996 0.758527 20.3912 -13.495 -0.275616 0.743215 20.1201 -13.5 -0.226521 0.72963 19.8527 -13.505 -0.180418 0.717744 19.5891 -13.51 -0.137011 0.707507 19.3291 -13.515 -0.09603 0.698872 19.0727 -13.52 -0.0573345 0.691872 18.8198 -13.525 -0.0207827 0.686524 18.5704 -13.53 0.0137723 0.682839 18.3244 -13.535 0.0464782 0.680823 18.0818 -13.54 0.0774844 0.680475 17.8425 -13.545 0.106941 0.681792 17.6065 -13.55 0.134999 0.684764 17.3738 -13.555 0.161812 0.689377 17.1442 -13.56 0.187533 0.695612 16.9177 -13.565 0.212316 0.703446 16.6944 -13.57 0.236319 0.71285 16.4741 -13.575 0.259697 0.723791 16.2568 -13.58 0.282605 0.736234 16.0425 -13.585 0.305127 0.750202 15.8311 -13.59 0.327316 0.765741 15.6226 -13.595 0.349238 0.782885 15.4169 -13.6 0.37096 0.80167 15.2142 -13.605 0.392556 0.82213 15.0142 -13.61 0.414099 0.844303 14.817 -13.615 0.43567 0.868224 14.6226 -13.62 0.45735 0.893928 14.4308 -13.625 0.479226 0.921451 14.2418 -13.63 0.501386 0.95083 14.0555 -13.635 0.523924 0.982101 13.8718 -13.64 0.546936 1.0153 13.6907 -13.645 0.570521 1.05046 13.5123 -13.65 0.594783 1.08763 13.3364 -13.655 0.619809 1.12685 13.1631 -13.66 0.645642 1.16825 12.9924 -13.665 0.672324 1.21192 12.8242 -13.67 0.699905 1.25797 12.6586 -13.675 0.72844 1.30651 12.4954 -13.68 0.757991 1.35765 12.3348 -13.685 0.788628 1.41152 12.1768 -13.69 0.820424 1.46823 12.0212 -13.695 0.853461 1.52791 11.8682 -13.7 0.887826 1.5907 11.7178 -13.705 0.923613 1.65673 11.5699 -13.71 0.960923 1.72614 11.4246 -13.715 0.999862 1.79908 11.2818 -13.72 1.04054 1.87569 11.1417 -13.725 1.08308 1.95613 11.0043 -13.73 1.12761 2.04055 10.8695 -13.735 1.17426 2.12912 10.7375 -13.74 1.22317 2.22202 10.6083 -13.745 1.27443 2.31948 10.482 -13.75 1.32814 2.42176 10.3586 -13.755 1.38437 2.52913 10.2382 -13.76 1.44323 2.64187 10.1208 -13.765 1.50485 2.76026 10.0065 -13.77 1.56933 2.88459 9.8955 -13.775 1.63684 3.01518 9.78782 -13.78 1.70751 3.15232 9.68365 -13.785 1.78152 3.29634 9.58314 -13.79 1.85904 3.44756 9.4865 -13.795 1.94025 3.60633 9.39394 -13.8 2.02537 3.77298 9.30568 -13.805 2.11461 3.94788 9.222 -13.81 2.20818 4.13137 9.14315 -13.815 2.30633 4.32384 9.06944 -13.82 2.40932 4.52566 9.00119 -13.825 2.51739 4.73721 8.93873 -13.83 2.63083 4.9589 8.88243 -13.835 2.74992 5.19114 8.83267 -13.84 2.87488 5.43387 8.79011 -13.845 3.00586 5.68676 8.75574 -13.85 3.14318 5.9509 8.72986 -13.855 3.28715 6.22729 8.71284 -13.86 3.43811 6.51686 8.70519 -13.865 3.59637 6.82041 8.70753 -13.87 3.76226 7.13864 8.72058 -13.875 3.93607 7.47215 8.74522 -13.88 4.11812 7.8214 8.78239 -13.885 4.30871 8.18677 8.83318 -13.89 4.50814 8.56853 8.89881 -13.895 4.7167 8.96683 8.98058 -13.9 4.93468 9.38172 9.07992 -13.905 5.16238 9.81314 9.19841 -13.91 5.40006 10.2609 9.33769 -13.915 5.64802 10.7247 9.49957 -13.92 5.90652 11.2043 9.68593 -13.925 6.17583 11.699 9.89881 -13.93 6.45622 12.2083 10.1403 -13.935 6.74794 12.7314 10.4128 -13.94 7.05127 13.2677 10.7184 -13.945 7.36645 13.816 11.0599 -13.95 7.69372 14.3754 11.4397 -13.955 8.03326 14.9447 11.8604 -13.96 8.38381 15.522 12.322 -13.965 8.74503 16.1042 12.8276 -13.97 9.1169 16.6882 13.3813 -13.975 9.49918 17.2701 13.9866 -13.98 9.89133 17.8457 14.6462 -13.985 10.2926 18.4104 15.3621 -13.99 10.7019 18.9591 16.1357 -13.995 11.118 19.4865 16.9676 -14 11.5393 19.9865 17.8579 -14.005 11.9639 20.4529 18.8058 -14.01 12.3899 20.8789 19.8099 -14.015 12.8148 21.2573 20.8681 -14.02 13.236 21.5805 21.9778 -14.025 13.6508 21.8405 23.1354 -14.03 14.0559 22.0287 24.3368 -14.035 14.448 22.1364 25.5773 -14.04 14.8248 22.156 26.8529 -14.045 15.1831 22.0822 28.1533 -14.05 15.518 21.9104 29.464 -14.055 15.8252 21.6373 30.7712 -14.06 16.1008 21.261 32.0617 -14.065 16.3411 20.7814 33.3231 -14.07 16.5429 20.1996 34.5434 -14.075 16.7034 19.5183 35.7112 -14.08 16.8201 18.7415 36.8159 -14.085 16.8911 17.875 37.8475 -14.09 16.9145 16.9258 38.7964 -14.095 16.8892 15.9024 39.654 -14.1 16.8141 14.8149 40.412 -14.105 16.6886 13.6755 41.0609 -14.11 16.5124 12.5008 41.5912 -14.115 16.2872 11.3071 42.0051 -14.12 16.0152 10.1091 42.3056 -14.125 15.6987 8.92034 42.4967 -14.13 15.3406 7.75271 42.5831 -14.135 14.9437 6.61685 42.5698 -14.14 14.5115 5.52199 42.4628 -14.145 14.0475 4.47593 42.2685 -14.15 13.5556 3.48509 41.9942 -14.155 13.0401 2.55448 41.6476 -14.16 12.5054 1.68774 41.2372 -14.165 11.9565 0.887088 40.7722 -14.17 11.398 0.153462 40.2627 -14.175 10.8329 -0.512908 39.7204 -14.18 10.2644 -1.11325 39.1529 -14.185 9.69596 -1.64945 38.5666 -14.19 9.1307 -2.12386 37.9674 -14.195 8.57139 -2.53938 37.3607 -14.2 8.02051 -2.89938 36.7513 -14.205 7.48023 -3.20772 36.1436 -14.21 6.95241 -3.46879 35.5414 -14.215 6.43863 -3.68746 34.9479 -14.22 5.94014 -3.86911 34.3659 -14.225 5.45788 -4.0196 33.7976 -14.23 4.99259 -4.14338 33.2441 -14.235 4.54477 -4.24116 32.7048 -14.24 4.11459 -4.31607 32.1798 -14.245 3.70215 -4.37112 31.6694 -14.25 3.30743 -4.40912 31.1735 -14.255 2.93035 -4.43266 30.6919 -14.26 2.57074 -4.44415 30.2247 -14.265 2.22832 -4.44575 29.7713 -14.27 1.90276 -4.43945 29.3315 -14.275 1.5936 -4.427 28.9048 -14.28 1.30032 -4.40997 28.4905 -14.285 1.02231 -4.38969 28.0879 -14.29 0.758735 -4.36753 27.6965 -14.295 0.508891 -4.34454 27.3159 -14.3 0.272216 -4.3215 26.9457 -14.305 0.0481353 -4.29914 26.5853 -14.31 -0.163937 -4.27815 26.2343 -14.315 -0.3646 -4.25915 25.8923 -14.32 -0.554462 -4.24273 25.559 -14.325 -0.734144 -4.2294 25.234 -14.33 -0.904278 -4.21963 24.917 -14.335 -1.06551 -4.21384 24.6076 -14.34 -1.21849 -4.21241 24.3056 -14.345 -1.36389 -4.21563 24.0108 -14.35 -1.50238 -4.22377 23.7229 -14.355 -1.63465 -4.23703 23.4417 -14.36 -1.76141 -4.25558 23.1671 -14.365 -1.88336 -4.2795 22.8989 -14.37 -2.00111 -4.30879 22.637 -14.375 -2.11498 -4.34348 22.3812 -14.38 -2.22528 -4.38371 22.1316 -14.385 -2.33235 -4.4296 21.8881 -14.39 -2.43651 -4.48129 21.6508 -14.395 -2.53812 -4.53885 21.4197 -14.4 -2.63753 -4.6024 21.1947 -14.405 -2.73509 -4.67199 20.976 -14.41 -2.8312 -4.74769 20.7635 -14.415 -2.92622 -4.82955 20.5573 -14.42 -3.02054 -4.91759 20.3574 -14.425 -3.11458 -5.01184 20.1639 -14.43 -3.20874 -5.1123 19.9767 -14.435 -3.30343 -5.21897 19.7961 -14.44 -3.39908 -5.33181 19.622 -14.445 -3.49612 -5.45079 19.4545 -14.45 -3.59467 -5.57599 19.2938 -14.455 -3.69482 -5.70757 19.1403 -14.46 -3.79673 -5.84567 18.9941 -14.465 -3.9006 -5.99042 18.8555 -14.47 -4.00658 -6.1419 18.7248 -14.475 -4.11487 -6.30021 18.6022 -14.48 -4.22565 -6.46541 18.488 -14.485 -4.33911 -6.63752 18.3825 -14.49 -4.45546 -6.81659 18.286 -14.495 -4.5749 -7.00261 18.1989 -14.5 -4.69764 -7.19556 18.1215 -14.505 -4.82388 -7.39541 18.0543 -14.51 -4.95386 -7.6021 17.9975 -14.515 -5.08778 -7.81554 17.9515 -14.52 -5.22588 -8.03566 17.9169 -14.525 -5.36838 -8.26231 17.894 -14.53 -5.51523 -8.4952 17.8831 -14.535 -5.66647 -8.7343 17.8849 -14.54 -5.82222 -8.97962 17.9 -14.545 -5.98257 -9.23109 17.9292 -14.55 -6.14758 -9.48851 17.9732 -14.555 -6.31729 -9.75163 18.0326 -14.56 -6.4917 -10.0201 18.1083 -14.565 -6.67082 -10.2934 18.2007 -14.57 -6.85459 -10.5711 18.3105 -14.575 -7.04296 -10.8526 18.4383 -14.58 -7.23583 -11.137 18.5847 -14.585 -7.4331 -11.4236 18.7502 -14.59 -7.63462 -11.7115 18.9355 -14.595 -7.84023 -11.9997 19.1409 -14.6 -8.04974 -12.2872 19.367 -14.605 -8.26293 -12.5726 19.6142 -14.61 -8.47956 -12.8549 19.8831 -14.615 -8.69937 -13.1326 20.1741 -14.62 -8.92206 -13.4042 20.4875 -14.625 -9.14722 -13.6689 20.8234 -14.63 -9.37413 -13.9258 21.1816 -14.635 -9.60218 -14.1724 21.5622 -14.64 -9.8307 -14.4062 21.9651 -14.645 -10.059 -14.6248 22.3901 -14.65 -10.2863 -14.826 22.8365 -14.655 -10.5117 -15.0078 23.3035 -14.66 -10.7345 -15.168 23.7902 -14.665 -10.9538 -15.3048 24.2951 -14.67 -11.1685 -15.4164 24.8168 -14.675 -11.3777 -15.5011 25.3535 -14.68 -11.5804 -15.5573 25.9031 -14.685 -11.7755 -15.5836 26.4634 -14.69 -11.9618 -15.5786 27.0319 -14.695 -12.1381 -15.541 27.6058 -14.7 -12.3033 -15.4699 28.1821 -14.705 -12.456 -15.364 28.7576 -14.71 -12.595 -15.2226 29.3287 -14.715 -12.7191 -15.0437 29.8922 -14.72 -12.8281 -14.8248 30.445 -14.725 -12.9208 -14.5687 30.983 -14.73 -12.9962 -14.2788 31.5025 -14.735 -13.0533 -13.9585 31.9998 -14.74 -13.0914 -13.6107 32.4718 -14.745 -13.1099 -13.2384 32.9155 -14.75 -13.1085 -12.8445 33.3285 -14.755 -13.0869 -12.4316 33.7086 -14.76 -13.045 -12.0023 34.0539 -14.765 -12.9831 -11.559 34.3628 -14.77 -12.9013 -11.104 34.6343 -14.775 -12.8003 -10.6395 34.8675 -14.78 -12.6806 -10.1673 35.0618 -14.785 -12.543 -9.68953 35.2171 -14.79 -12.3886 -9.20776 35.3336 -14.795 -12.2186 -8.72364 35.4118 -14.8 -12.0342 -8.23863 35.4525 -14.805 -11.8368 -7.75493 35.4571 -14.81 -11.6256 -7.28106 35.4275 -14.815 -11.4016 -6.82056 35.3649 -14.82 -11.1664 -6.3753 35.2704 -14.825 -10.9215 -5.94695 35.1452 -14.83 -10.6683 -5.53698 34.9909 -14.835 -10.4082 -5.14663 34.8089 -14.84 -10.1424 -4.77692 34.6011 -14.845 -9.87233 -4.42867 34.3691 -14.85 -9.59912 -4.10248 34.1151 -14.855 -9.32398 -3.79874 33.8413 -14.86 -9.04803 -3.51762 33.5499 -14.865 -8.77235 -3.25908 33.2435 -14.87 -8.49796 -3.02287 32.9246 -14.875 -8.22585 -2.80851 32.5961 -14.88 -7.95693 -2.61533 32.261 -14.885 -7.6921 -2.44244 31.9221 -14.89 -7.43218 -2.28871 31.5829 -14.895 -7.17798 -2.15285 31.2449 -14.9 -6.93017 -2.03374 30.9045 -14.905 -6.68912 -1.93048 30.5623 -14.91 -6.45517 -1.84217 30.2192 -14.915 -6.22862 -1.76794 29.8757 -14.92 -6.00973 -1.70695 29.5327 -14.925 -5.79874 -1.65835 29.1907 -14.93 -5.59583 -1.6213 28.8503 -14.935 -5.40116 -1.59501 28.5119 -14.94 -5.21485 -1.57867 28.1759 -14.945 -5.03699 -1.5715 27.8427 -14.95 -4.86762 -1.57273 27.5126 -14.955 -4.70677 -1.58161 27.1857 -14.96 -4.5544 -1.59741 26.8624 -14.965 -4.41047 -1.61939 26.5426 -14.97 -4.27487 -1.64685 26.2264 -14.975 -4.14745 -1.67922 25.9138 -14.98 -4.02789 -1.71652 25.6051 -14.985 -3.91603 -1.75844 25.3003 -14.99 -3.81173 -1.80465 24.9995 -14.995 -3.71483 -1.85484 24.7026 -15 -3.62519 -1.90873 24.4097 -15.005 -3.54264 -1.96607 24.1209 -15.01 -3.46704 -2.02665 23.8361 -15.015 -3.39821 -2.09029 23.5554 -15.02 -3.336 -2.15684 23.2789 -15.025 -3.28022 -2.22617 23.0065 -15.03 -3.2307 -2.29821 22.7382 -15.035 -3.18726 -2.37289 22.4742 -15.04 -3.14972 -2.45018 22.2145 -15.045 -3.1179 -2.5301 21.959 -15.05 -3.09159 -2.61268 21.7078 -15.055 -3.07061 -2.69798 21.4609 -15.06 -3.05476 -2.78611 21.2184 -15.065 -3.04382 -2.8772 20.9802 -15.07 -3.03766 -2.97128 20.7466 -15.075 -3.03627 -3.0684 20.5175 -15.08 -3.03964 -3.16859 20.2929 -15.085 -3.04776 -3.2719 20.0729 -15.09 -3.06063 -3.37843 19.8576 -15.095 -3.07822 -3.48824 19.6471 -15.1 -3.10052 -3.60146 19.4413 -15.105 -3.1275 -3.71819 19.2404 -15.11 -3.15914 -3.83858 19.0446 -15.115 -3.1954 -3.96278 18.8538 -15.12 -3.23625 -4.09096 18.6684 -15.125 -3.28167 -4.22331 18.4883 -15.13 -3.33159 -4.36001 18.3138 -15.135 -3.38599 -4.5013 18.1451 -15.14 -3.44481 -4.6474 17.9823 -15.145 -3.50801 -4.79856 17.8256 -15.15 -3.57553 -4.95504 17.6752 -15.155 -3.64731 -5.11713 17.5314 -15.16 -3.72329 -5.28512 17.3944 -15.165 -3.80365 -5.45896 17.2645 -15.17 -3.88865 -5.63866 17.1419 -15.175 -3.9784 -5.82449 17.0269 -15.18 -4.07299 -6.01668 16.9199 -15.185 -4.17253 -6.21546 16.8211 -15.19 -4.27711 -6.421 16.7309 -15.195 -4.38684 -6.63346 16.6498 -15.2 -4.50179 -6.85299 16.5781 -15.205 -4.62207 -7.07968 16.5163 -15.21 -4.74774 -7.31362 16.465 -15.215 -4.8789 -7.55486 16.4245 -15.22 -5.01562 -7.80343 16.3956 -15.225 -5.15797 -8.05933 16.3787 -15.23 -5.30603 -8.32254 16.3744 -15.235 -5.45986 -8.593 16.3836 -15.24 -5.61953 -8.87065 16.4067 -15.245 -5.7851 -9.15536 16.4446 -15.25 -5.95662 -9.44703 16.4979 -15.255 -6.13416 -9.74548 16.5675 -15.26 -6.3177 -10.0505 16.654 -15.265 -6.50688 -10.3612 16.7571 -15.27 -6.7018 -10.6773 16.8781 -15.275 -6.90263 -10.9984 17.0184 -15.28 -7.10944 -11.3239 17.1794 -15.285 -7.32225 -11.6531 17.3621 -15.29 -7.54099 -11.9852 17.5677 -15.295 -7.76555 -12.319 17.797 -15.3 -7.99571 -12.6536 18.0509 -15.305 -8.2312 -12.9877 18.3301 -15.31 -8.47169 -13.3197 18.6351 -15.315 -8.71676 -13.6482 18.9663 -15.32 -8.96592 -13.9713 19.3241 -15.325 -9.21862 -14.2873 19.7086 -15.33 -9.47424 -14.5942 20.1199 -15.335 -9.73208 -14.8897 20.558 -15.34 -9.99136 -15.1716 21.0226 -15.345 -10.2513 -15.4374 21.5134 -15.35 -10.5109 -15.6846 22.0301 -15.355 -10.7692 -15.9104 22.572 -15.36 -11.0252 -16.1119 23.1384 -15.365 -11.2777 -16.2862 23.7286 -15.37 -11.526 -16.431 24.3418 -15.375 -11.7692 -16.5447 24.9759 -15.38 -12.0053 -16.624 25.627 -15.385 -12.2329 -16.6664 26.2914 -15.39 -12.4501 -16.6695 26.9653 -15.395 -12.6555 -16.6315 27.645 -15.4 -12.8475 -16.5509 28.3264 -15.405 -13.0248 -16.4268 29.0059 -15.41 -13.186 -16.2585 29.6795 -15.415 -13.33 -16.0459 30.3433 -15.42 -13.4554 -15.7893 30.9934 -15.425 -13.5612 -15.4895 31.6258 -15.43 -13.6464 -15.1475 32.2364 -15.435 -13.7099 -14.7649 32.8214 -15.44 -13.7511 -14.3437 33.3767 -15.445 -13.7689 -13.8864 33.8983 -15.45 -13.7628 -13.3958 34.382 -15.455 -13.732 -12.8744 34.8221 -15.46 -13.6765 -12.3267 35.2154 -15.465 -13.5967 -11.759 35.5612 -15.47 -13.493 -11.1767 35.8593 -15.475 -13.3661 -10.5851 36.1096 -15.48 -13.2168 -9.98917 36.3121 -15.485 -13.0458 -9.39333 36.4672 -15.49 -12.8542 -8.80169 36.5756 -15.495 -12.6431 -8.21796 36.6382 -15.5 -12.4137 -7.64546 36.6559 -15.505 -12.1675 -7.08712 36.6301 -15.51 -11.9059 -6.54548 36.5624 -15.515 -11.6306 -6.02272 36.4546 -15.52 -11.3433 -5.52061 36.3087 -15.525 -11.046 -5.04053 36.127 -15.53 -10.7406 -4.58348 35.9121 -15.535 -10.4292 -4.15018 35.6667 -15.54 -10.1127 -3.74338 35.396 -15.545 -9.79255 -3.36432 35.1037 -15.55 -9.47018 -3.01314 34.7922 -15.555 -9.14713 -2.68975 34.4638 -15.56 -8.8248 -2.39387 34.1209 -15.565 -8.50449 -2.12503 33.7657 -15.57 -8.18736 -1.88253 33.4002 -15.575 -7.87453 -1.66548 33.0266 -15.58 -7.56695 -1.4728 32.6466 -15.585 -7.26552 -1.30318 32.2622 -15.59 -6.97101 -1.15514 31.8751 -15.595 -6.6841 -1.02696 31.4869 -15.6 -6.40536 -0.916738 31.0991 -15.605 -6.13526 -0.822374 30.7133 -15.61 -5.87422 -0.742707 30.3298 -15.615 -5.6225 -0.677568 29.9485 -15.62 -5.38024 -0.625797 29.5697 -15.625 -5.14755 -0.586284 29.1939 -15.63 -4.92448 -0.557973 28.8215 -15.635 -4.71107 -0.539865 28.4528 -15.64 -4.50733 -0.531012 28.0881 -15.645 -4.31322 -0.530523 27.7276 -15.65 -4.1287 -0.53756 27.3714 -15.655 -3.95367 -0.551339 27.0198 -15.66 -3.788 -0.571133 26.6728 -15.665 -3.63155 -0.596267 26.3304 -15.67 -3.48412 -0.626121 25.9927 -15.675 -3.34551 -0.660131 25.6594 -15.68 -3.21542 -0.69782 25.3306 -15.685 -3.09347 -0.738899 25.0064 -15.69 -2.97943 -0.783025 24.6867 -15.695 -2.87311 -0.829873 24.3715 -15.7 -2.7743 -0.879154 24.0607 -15.705 -2.68278 -0.93061 23.7543 -15.71 -2.59833 -0.984016 23.4522 -15.715 -2.52074 -1.03918 23.1544 -15.72 -2.44977 -1.09595 22.8609 -15.725 -2.3852 -1.15419 22.5716 -15.73 -2.32678 -1.21381 22.2864 -15.735 -2.27429 -1.27476 22.0054 -15.74 -2.22746 -1.33701 21.7286 -15.745 -2.18606 -1.40055 21.4558 -15.75 -2.14983 -1.46545 21.187 -15.755 -2.11851 -1.53175 20.9223 -15.76 -2.09184 -1.59958 20.6616 -15.765 -2.06955 -1.66907 20.4048 -15.77 -2.05149 -1.74026 20.152 -15.775 -2.03763 -1.81319 19.9032 -15.78 -2.02794 -1.88786 19.6583 -15.785 -2.02235 -1.96434 19.4174 -15.79 -2.02085 -2.04268 19.1803 -15.795 -2.02337 -2.12296 18.9473 -15.8 -2.02986 -2.20528 18.7181 -15.805 -2.04027 -2.28977 18.493 -15.81 -2.05454 -2.37655 18.2718 -15.815 -2.0726 -2.46578 18.0546 -15.82 -2.09439 -2.55764 17.8415 -15.825 -2.11984 -2.65232 17.6324 -15.83 -2.14888 -2.75001 17.4275 -15.835 -2.18142 -2.85095 17.2268 -15.84 -2.21739 -2.95539 17.0304 -15.845 -2.25671 -3.06358 16.8383 -15.85 -2.29927 -3.17581 16.6505 -15.855 -2.345 -3.29236 16.4673 -15.86 -2.39412 -3.4133 16.2887 -15.865 -2.4468 -3.53874 16.1148 -15.87 -2.50312 -3.6689 15.9458 -15.875 -2.56316 -3.80401 15.7817 -15.88 -2.62699 -3.9443 15.6226 -15.885 -2.6947 -4.08999 15.4688 -15.89 -2.76638 -4.24134 15.3204 -15.895 -2.84212 -4.39858 15.1776 -15.9 -2.92203 -4.56197 15.0406 -15.905 -3.00621 -4.73177 14.9097 -15.91 -3.09476 -4.90824 14.7852 -15.915 -3.1878 -5.09164 14.6673 -15.92 -3.28544 -5.28225 14.5563 -15.925 -3.38781 -5.48035 14.4526 -15.93 -3.49503 -5.68621 14.3566 -15.935 -3.60723 -5.90012 14.2687 -15.94 -3.72456 -6.12238 14.1892 -15.945 -3.8471 -6.35297 14.1185 -15.95 -3.97492 -6.59089 14.0572 -15.955 -4.10826 -6.83681 14.0059 -15.96 -4.2474 -7.0915 13.9651 -15.965 -4.3926 -7.35561 13.9353 -15.97 -4.54406 -7.62969 13.9174 -15.975 -4.70201 -7.91416 13.912 -15.98 -4.86662 -8.20932 13.9198 -15.985 -5.03807 -8.51535 13.9417 -15.99 -5.2165 -8.83232 13.9785 -15.995 -5.40203 -9.16018 14.0312 -16 -5.59477 -9.49877 14.1006 -16.005 -5.7948 -9.84778 14.1877 -16.01 -6.00219 -10.2068 14.2936 -16.015 -6.21698 -10.5754 14.4194 -16.02 -6.4392 -10.9528 14.5661 -16.025 -6.66883 -11.3383 14.735 -16.03 -6.90588 -11.7311 14.9272 -16.035 -7.15029 -12.13 15.1441 -16.04 -7.40201 -12.5341 15.3868 -16.045 -7.66096 -12.9421 15.6569 -16.05 -7.92703 -13.3526 15.9555 -16.055 -8.20012 -13.7642 16.2843 -16.06 -8.48007 -14.1753 16.6446 -16.065 -8.76673 -14.5842 17.038 -16.07 -9.05991 -14.989 17.4661 -16.075 -9.35884 -15.3884 17.929 -16.08 -9.66232 -15.7797 18.4262 -16.085 -9.96965 -16.1591 18.959 -16.09 -10.28 -16.5226 19.5282 -16.095 -10.5924 -16.8663 20.1338 -16.1 -10.9058 -17.1866 20.7758 -16.105 -11.219 -17.4796 21.4531 -16.11 -11.5306 -17.7417 22.1646 -16.115 -11.8392 -17.9692 22.9083 -16.12 -12.1432 -18.1584 23.682 -16.125 -12.4409 -18.3059 24.4828 -16.13 -12.7303 -18.4081 25.3072 -16.135 -13.0097 -18.4615 26.1514 -16.14 -13.2767 -18.4628 27.0111 -16.145 -13.5293 -18.4085 27.8812 -16.15 -13.765 -18.2953 28.7564 -16.155 -13.9828 -18.1173 29.6331 -16.16 -14.1808 -17.8736 30.5046 -16.165 -14.3565 -17.5676 31.3618 -16.17 -14.5074 -17.2025 32.1965 -16.175 -14.6316 -16.7818 33.0011 -16.18 -14.7274 -16.3089 33.769 -16.185 -14.7934 -15.7876 34.494 -16.19 -14.8286 -15.2215 35.1708 -16.195 -14.8323 -14.6144 35.7949 -16.2 -14.8042 -13.9703 36.3624 -16.205 -14.7443 -13.2933 36.8703 -16.21 -14.6528 -12.5874 37.3161 -16.215 -14.5305 -11.8569 37.6983 -16.22 -14.3782 -11.1061 38.0159 -16.225 -14.1974 -10.3395 38.2688 -16.23 -13.9894 -9.56206 38.4575 -16.235 -13.7539 -8.78683 38.5811 -16.24 -13.492 -8.02293 38.6407 -16.245 -13.206 -7.2756 38.6388 -16.25 -12.8984 -6.54954 38.5782 -16.255 -12.5712 -5.84892 38.462 -16.26 -12.227 -5.17738 38.2936 -16.265 -11.8678 -4.53803 38.0767 -16.27 -11.4959 -3.93344 37.8155 -16.275 -11.1136 -3.36567 37.5142 -16.28 -10.7231 -2.83621 37.1778 -16.285 -10.3266 -2.34604 36.8111 -16.29 -9.92623 -1.89562 36.4195 -16.295 -9.52415 -1.48485 36.0089 -16.3 -9.12254 -1.11312 35.5851 -16.305 -8.72349 -0.779177 35.154 -16.31 -8.32873 -0.480077 34.7154 -16.315 -7.93956 -0.213733 34.27 -16.32 -7.55715 0.0215715 33.8202 -16.325 -7.18259 0.227594 33.3678 -16.33 -6.81683 0.406134 32.9147 -16.335 -6.46073 0.559033 32.4623 -16.34 -6.11501 0.688177 32.0122 -16.345 -5.78031 0.795491 31.5656 -16.35 -5.45711 0.882942 31.1233 -16.355 -5.14583 0.952543 30.6863 -16.36 -4.84673 1.00634 30.2551 -16.365 -4.55999 1.04644 29.8301 -16.37 -4.28566 1.07497 29.4117 -16.375 -4.02368 1.09405 28.9998 -16.38 -3.77386 1.10418 28.5945 -16.385 -3.53596 1.106 28.1957 -16.39 -3.30973 1.10057 27.8036 -16.395 -3.09492 1.08892 27.4179 -16.4 -2.89125 1.07198 27.0387 -16.405 -2.69841 1.05059 26.6658 -16.41 -2.51609 1.02555 26.2991 -16.415 -2.34396 0.997573 25.9384 -16.42 -2.18167 0.967283 25.5838 -16.425 -2.02885 0.935245 25.235 -16.43 -1.88511 0.901947 24.8918 -16.435 -1.75006 0.867799 24.5542 -16.44 -1.62326 0.833139 24.2218 -16.445 -1.50427 0.79826 23.8947 -16.45 -1.39267 0.763448 23.5726 -16.455 -1.28815 0.72894 23.2554 -16.46 -1.19039 0.694948 22.9429 -16.465 -1.09907 0.661654 22.6352 -16.47 -1.01387 0.629218 22.332 -16.475 -0.934467 0.597772 22.0333 -16.48 -0.860536 0.567419 21.7389 -16.485 -0.791755 0.538241 21.4487 -16.49 -0.7278 0.510289 21.1627 -16.495 -0.668346 0.483591 20.8808 -16.5 -0.613066 0.458147 20.6027 -16.505 -0.561634 0.433931 20.3286 -16.51 -0.513721 0.410892 20.0582 -16.515 -0.469089 0.389022 19.7916 -16.52 -0.427587 0.36835 19.5286 -16.525 -0.389055 0.348888 19.2692 -16.53 -0.35333 0.330637 19.0133 -16.535 -0.320248 0.31359 18.761 -16.54 -0.289647 0.297731 18.512 -16.545 -0.26136 0.283037 18.2665 -16.55 -0.235224 0.269474 18.0242 -16.555 -0.21107 0.257 17.7852 -16.56 -0.188734 0.245567 17.5495 -16.565 -0.168046 0.235115 17.3168 -16.57 -0.148839 0.225578 17.0873 -16.575 -0.130942 0.216879 16.8609 -16.58 -0.114197 0.208942 16.6374 -16.585 -0.0985475 0.201768 16.417 -16.59 -0.0839488 0.195361 16.1994 -16.595 -0.0703411 0.189711 15.9848 -16.6 -0.0576632 0.184807 15.773 -16.605 -0.0458527 0.180632 15.564 -16.61 -0.0348454 0.177171 15.3579 -16.615 -0.0245754 0.1744 15.1544 -16.62 -0.0149754 0.172296 14.9537 -16.625 -0.00597649 0.170831 14.7557 -16.63 0.00249199 0.169975 14.5602 -16.635 0.0105021 0.169695 14.3674 -16.64 0.0181277 0.169954 14.1771 -16.645 0.025444 0.170713 13.9894 -16.65 0.0325267 0.171929 13.8041 -16.655 0.0393954 0.17361 13.6213 -16.66 0.0460527 0.175777 13.4409 -16.665 0.0525171 0.178437 13.263 -16.67 0.0588088 0.181598 13.0873 -16.675 0.0649498 0.185264 12.9141 -16.68 0.0709638 0.189441 12.7431 -16.685 0.076876 0.194132 12.5744 -16.69 0.0827136 0.199342 12.4079 -16.695 0.0885054 0.205072 12.2436 -16.7 0.0942818 0.211324 12.0816 -16.705 0.100075 0.218098 11.9217 -16.71 0.105919 0.225395 11.7639 -16.715 0.111849 0.233214 11.6082 -16.72 0.117902 0.241553 11.4546 -16.725 0.124118 0.250409 11.303 -16.73 0.130522 0.259797 11.1535 -16.735 0.137114 0.269756 11.0059 -16.74 0.143901 0.280316 10.8603 -16.745 0.150896 0.291507 10.7167 -16.75 0.158111 0.303358 10.575 -16.755 0.165561 0.315904 10.4352 -16.76 0.173264 0.329175 10.2972 -16.765 0.181239 0.343206 10.1611 -16.77 0.189508 0.358031 10.0269 -16.775 0.198095 0.373686 9.89443 -16.78 0.207026 0.390207 9.76377 -16.785 0.21633 0.407631 9.63487 -16.79 0.226037 0.425996 9.50771 -16.795 0.236179 0.445341 9.38229 -16.8 0.246793 0.465707 9.25857 -16.805 0.257915 0.487133 9.13654 -16.81 0.269585 0.509662 9.01618 -16.815 0.281843 0.533336 8.89748 -16.82 0.294736 0.558213 8.78042 -16.825 0.308292 0.584373 8.66499 -16.83 0.322529 0.61189 8.55118 -16.835 0.337467 0.640841 8.43897 -16.84 0.353132 0.671307 8.32833 -16.845 0.369554 0.703374 8.21926 -16.85 0.386768 0.737135 8.11175 -16.855 0.404814 0.772686 8.00579 -16.86 0.423735 0.810127 7.90137 -16.865 0.44358 0.849565 7.79848 -16.87 0.4644 0.891111 7.69713 -16.875 0.486254 0.934878 7.59731 -16.88 0.509203 0.980989 7.49903 -16.885 0.533314 1.02957 7.40228 -16.89 0.558656 1.08075 7.30708 -16.895 0.585306 1.13466 7.21343 -16.9 0.613342 1.19144 7.12135 -16.905 0.64285 1.25124 7.03084 -16.91 0.673918 1.3142 6.94193 -16.915 0.706639 1.38049 6.85462 -16.92 0.741111 1.45025 6.76894 -16.925 0.777437 1.52366 6.6849 -16.93 0.815745 1.60087 6.6026 -16.935 0.856208 1.68206 6.52222 -16.94 0.898887 1.76749 6.44374 -16.945 0.94385 1.85743 6.36712 -16.95 0.991175 1.95216 6.29235 -16.955 1.04096 2.05197 6.21945 -16.96 1.0933 2.15717 6.14845 -16.965 1.14833 2.26808 6.07942 -16.97 1.20617 2.38503 6.01244 -16.975 1.26699 2.50837 5.94762 -16.98 1.33093 2.63845 5.8851 -16.985 1.39817 2.77566 5.82504 -16.99 1.4689 2.92037 5.76761 -16.995 1.54333 3.07298 5.71303 -17 1.62167 3.23389 5.66153 -17.005 1.70416 3.40355 5.61335 -17.01 1.79102 3.58237 5.56879 -17.015 1.88253 3.77081 5.52813 -17.02 1.97895 3.96932 5.49172 -17.025 2.08057 4.17839 5.45989 -17.03 2.18769 4.3985 5.43303 -17.035 2.30062 4.63016 5.41154 -17.04 2.41967 4.87386 5.39583 -17.045 2.54521 5.13014 5.38635 -17.05 2.67757 5.39955 5.38358 -17.055 2.81712 5.68262 5.38802 -17.06 2.96389 5.97773 5.40149 -17.065 3.11806 6.28446 5.42552 -17.07 3.28017 6.605 5.46021 -17.075 3.45078 6.94131 5.5059 -17.08 3.63039 7.2951 5.56311 -17.085 3.81952 7.66787 5.63257 -17.09 4.01862 8.06084 5.71521 -17.095 4.22815 8.47503 5.81216 -17.1 4.44854 8.91118 5.92476 -17.105 4.6802 9.36983 6.05454 -17.11 4.9235 9.85126 6.20323 -17.115 5.17881 10.3555 6.37278 -17.12 5.44646 10.8824 6.56531 -17.125 5.72677 11.4314 6.78317 -17.13 6.02004 12.002 7.0289 -17.135 6.32653 12.5932 7.30524 -17.14 6.64649 13.2039 7.61513 -17.145 6.98014 13.8325 7.96172 -17.15 7.3277 14.4777 8.34836 -17.155 7.68932 15.1373 8.77859 -17.16 8.06519 15.8095 9.25617 -17.165 8.45542 16.4917 9.78503 -17.17 8.86013 17.1814 10.3693 -17.175 9.27941 17.8758 11.0134 -17.18 9.71333 18.5718 11.7219 -17.185 10.1618 19.2661 12.4991 -17.19 10.6224 19.9539 13.3435 -17.195 11.0933 20.6266 14.2577 -17.2 11.5734 21.2753 15.2456 -17.205 12.0609 21.8907 16.3092 -17.21 12.5539 22.4633 17.4493 -17.215 13.0498 22.9837 18.6651 -17.22 13.5459 23.4419 19.9541 -17.225 14.0388 23.8282 21.3122 -17.23 14.525 24.1323 22.7341 -17.235 15.0003 24.344 24.2125 -17.24 15.4604 24.4529 25.7388 -17.245 15.9004 24.4483 27.3028 -17.25 16.3151 24.3194 28.8929 -17.255 16.7012 24.0512 30.5016 -17.26 17.0539 23.6397 32.1108 -17.265 17.3666 23.0898 33.6954 -17.27 17.6337 22.4074 35.2327 -17.275 17.8503 21.5991 36.7025 -17.28 18.0123 20.6723 38.087 -17.285 18.1167 19.6355 39.3709 -17.29 18.1612 18.4979 40.5413 -17.295 18.1441 17.2697 41.5878 -17.3 18.0649 15.9618 42.5025 -17.305 17.9239 14.5863 43.2797 -17.31 17.722 13.1558 43.9166 -17.315 17.4611 11.684 44.4123 -17.32 17.1422 10.1937 44.7638 -17.325 16.7661 8.71711 44.9673 -17.33 16.3372 7.27122 45.0306 -17.335 15.8604 5.87069 44.963 -17.34 15.3405 4.52821 44.7742 -17.345 14.7825 3.25448 44.4751 -17.35 14.1916 2.05824 44.0774 -17.355 13.5728 0.946211 43.5937 -17.36 12.9316 -0.0768285 43.0373 -17.365 12.2734 -1.0081 42.4227 -17.37 11.6037 -1.84681 41.765 -17.375 10.9282 -2.59414 41.0804 -17.38 10.2521 -3.2541 40.3822 -17.385 9.57897 -3.83351 39.6736 -17.39 8.91226 -4.33729 38.9612 -17.395 8.2552 -4.77048 38.2511 -17.4 7.61062 -5.1383 37.5487 -17.405 6.98096 -5.44618 36.8584 -17.41 6.36832 -5.69975 36.1839 -17.415 5.7744 -5.90484 35.5282 -17.42 5.20053 -6.06748 34.8934 -17.425 4.64767 -6.19392 34.2807 -17.43 4.11641 -6.2906 33.6908 -17.435 3.60706 -6.36315 33.1234 -17.44 3.11982 -6.41316 32.5784 -17.445 2.65446 -6.44372 32.0553 -17.45 2.21062 -6.45799 31.5531 -17.455 1.78791 -6.45886 31.0712 -17.46 1.38587 -6.44898 30.6088 -17.465 1.00398 -6.43078 30.165 -17.47 0.641658 -6.40641 29.739 -17.475 0.298281 -6.3778 29.33 -17.48 -0.0268473 -6.34664 28.9372 -17.485 -0.334476 -6.31435 28.5597 -17.49 -0.625413 -6.28214 28.1966 -17.495 -0.900525 -6.25095 27.8471 -17.5 -1.16077 -6.22154 27.5102 -17.505 -1.40733 -6.19494 27.1853 -17.51 -1.64095 -6.17174 26.8717 -17.515 -1.86227 -6.15235 26.5691 -17.52 -2.07196 -6.13718 26.277 -17.525 -2.27068 -6.12659 25.9948 -17.53 -2.45911 -6.12091 25.7224 -17.535 -2.63793 -6.12044 25.4593 -17.54 -2.80783 -6.12543 25.2051 -17.545 -2.96951 -6.13612 24.9596 -17.55 -3.12368 -6.1527 24.7224 -17.555 -3.27106 -6.17534 24.4934 -17.56 -3.41237 -6.20417 24.2723 -17.565 -3.54834 -6.23928 24.0588 -17.57 -3.67971 -6.28073 23.853 -17.575 -3.80724 -6.32857 23.6545 -17.58 -3.93158 -6.38269 23.4633 -17.585 -4.05295 -6.44287 23.2795 -17.59 -4.17166 -6.50913 23.1031 -17.595 -4.28802 -6.58148 22.9343 -17.6 -4.40236 -6.6599 22.7732 -17.605 -4.51498 -6.74439 22.6198 -17.61 -4.62621 -6.83489 22.4743 -17.615 -4.73638 -6.93135 22.3368 -17.62 -4.8458 -7.03369 22.2074 -17.625 -4.9548 -7.14181 22.0861 -17.63 -5.0637 -7.25558 21.9732 -17.635 -5.17285 -7.37489 21.8686 -17.64 -5.28257 -7.49957 21.7727 -17.645 -5.39319 -7.62944 21.6853 -17.65 -5.50505 -7.76433 21.6068 -17.655 -5.61848 -7.90402 21.5371 -17.66 -5.73359 -8.04831 21.4766 -17.665 -5.85039 -8.1971 21.4254 -17.67 -5.96895 -8.35029 21.3841 -17.675 -6.08936 -8.50773 21.3529 -17.68 -6.21167 -8.66924 21.3321 -17.685 -6.33595 -8.8346 21.3221 -17.69 -6.46224 -9.00355 21.3231 -17.695 -6.59059 -9.17578 21.3354 -17.7 -6.72102 -9.35098 21.3593 -17.705 -6.85355 -9.52876 21.395 -17.71 -6.9882 -9.70872 21.4427 -17.715 -7.12498 -9.89041 21.5027 -17.72 -7.26388 -10.0733 21.5752 -17.725 -7.40488 -10.257 21.6602 -17.73 -7.54797 -10.4408 21.7581 -17.735 -7.69312 -10.6242 21.8689 -17.74 -7.84028 -10.8065 21.9928 -17.745 -7.98937 -10.9872 22.1298 -17.75 -8.14004 -11.1664 22.2797 -17.755 -8.29204 -11.343 22.4427 -17.76 -8.44511 -11.5161 22.619 -17.765 -8.59898 -11.6846 22.8088 -17.77 -8.75337 -11.8476 23.0122 -17.775 -8.90794 -12.004 23.2291 -17.78 -9.06237 -12.1529 23.4593 -17.785 -9.2163 -12.2934 23.7026 -17.79 -9.36933 -12.4246 23.9586 -17.795 -9.52108 -12.5456 24.2268 -17.8 -9.6711 -12.6556 24.5066 -17.805 -9.81896 -12.7537 24.7975 -17.81 -9.96419 -12.8391 25.0985 -17.815 -10.1063 -12.9112 25.4089 -17.82 -10.2448 -12.9691 25.7277 -17.825 -10.379 -13.012 26.0537 -17.83 -10.5086 -13.0394 26.3858 -17.835 -10.6329 -13.0505 26.7228 -17.84 -10.7512 -13.0447 27.0631 -17.845 -10.863 -13.0213 27.4054 -17.85 -10.9677 -12.9799 27.748 -17.855 -11.0645 -12.9195 28.0894 -17.86 -11.1534 -12.8368 28.4291 -17.865 -11.234 -12.7324 28.7655 -17.87 -11.3057 -12.608 29.0963 -17.875 -11.3678 -12.4655 29.4195 -17.88 -11.4199 -12.3065 29.7333 -17.885 -11.4616 -12.1327 30.0359 -17.89 -11.4926 -11.9454 30.3258 -17.895 -11.5126 -11.7462 30.6015 -17.9 -11.5215 -11.5363 30.8617 -17.905 -11.5191 -11.3169 31.1053 -17.91 -11.5053 -11.0892 31.3314 -17.915 -11.4803 -10.8542 31.5392 -17.92 -11.444 -10.6127 31.7279 -17.925 -11.3968 -10.3656 31.897 -17.93 -11.3389 -10.1137 32.0462 -17.935 -11.2705 -9.8576 32.1753 -17.94 -11.1922 -9.59783 32.2842 -17.945 -11.1042 -9.33486 32.3729 -17.95 -11.0073 -9.06904 32.4418 -17.955 -10.9021 -8.80064 32.4911 -17.96 -10.7891 -8.52983 32.5215 -17.965 -10.6692 -8.25667 32.5335 -17.97 -10.5433 -7.98116 32.5282 -17.975 -10.4114 -7.70556 32.5059 -17.98 -10.2725 -7.43602 32.4661 -17.985 -10.1273 -7.17366 32.409 -17.99 -9.9765 -6.91925 32.335 -17.995 -9.82092 -6.67349 32.2444 -18 -9.66125 -6.43704 32.1376 -18.005 -9.49817 -6.21046 32.0154 -18.01 -9.33237 -5.99424 31.8782 -18.015 -9.16448 -5.78883 31.7267 -18.02 -8.99514 -5.59457 31.5618 -18.025 -8.82494 -5.41176 31.3843 -18.03 -8.65447 -5.24061 31.1951 -18.035 -8.48429 -5.08128 30.9952 -18.04 -8.31493 -4.93384 30.7857 -18.045 -8.14691 -4.79829 30.5677 -18.05 -7.98072 -4.67458 30.3426 -18.055 -7.81683 -4.56258 30.1115 -18.06 -7.65568 -4.46207 29.8758 -18.065 -7.49771 -4.37279 29.6371 -18.07 -7.3433 -4.29439 29.3968 -18.075 -7.19285 -4.22646 29.1565 -18.08 -7.04671 -4.16849 28.9178 -18.085 -6.90524 -4.11979 28.6783 -18.09 -6.76862 -4.07994 28.4377 -18.095 -6.63699 -4.04866 28.1964 -18.1 -6.51046 -4.02563 27.9547 -18.105 -6.38916 -4.01058 27.7131 -18.11 -6.27317 -4.00322 27.4719 -18.115 -6.1626 -4.00324 27.2315 -18.12 -6.05751 -4.01039 26.9923 -18.125 -5.95798 -4.02437 26.7545 -18.13 -5.86406 -4.04491 26.5184 -18.135 -5.7758 -4.07173 26.2843 -18.14 -5.69325 -4.10458 26.0525 -18.145 -5.61641 -4.14318 25.8232 -18.15 -5.54531 -4.18728 25.5967 -18.155 -5.47995 -4.23661 25.373 -18.16 -5.42033 -4.29093 25.1525 -18.165 -5.36642 -4.34997 24.9352 -18.17 -5.3182 -4.4135 24.7214 -18.175 -5.27563 -4.48126 24.511 -18.18 -5.23857 -4.55315 24.3043 -18.185 -5.20671 -4.62945 24.1016 -18.19 -5.18004 -4.7101 23.903 -18.195 -5.15857 -4.79501 23.7086 -18.2 -5.1423 -4.8841 23.5186 -18.205 -5.13123 -4.97731 23.333 -18.21 -5.12536 -5.07457 23.1521 -18.215 -5.12466 -5.17582 22.976 -18.22 -5.12913 -5.28103 22.8049 -18.225 -5.13873 -5.39015 22.6389 -18.23 -5.15344 -5.50316 22.4782 -18.235 -5.17321 -5.62002 22.323 -18.24 -5.19799 -5.74074 22.1735 -18.245 -5.22774 -5.8653 22.0299 -18.25 -5.2624 -5.99371 21.8924 -18.255 -5.3019 -6.12598 21.7612 -18.26 -5.34618 -6.26212 21.6366 -18.265 -5.39516 -6.40218 21.5187 -18.27 -5.44875 -6.54618 21.4079 -18.275 -5.50687 -6.69417 21.3043 -18.28 -5.56942 -6.84619 21.2082 -18.285 -5.63629 -7.00232 21.1198 -18.29 -5.70739 -7.16262 21.0396 -18.295 -5.7826 -7.32717 20.9676 -18.3 -5.86186 -7.49567 20.904 -18.305 -5.94528 -7.6678 20.849 -18.31 -6.03294 -7.84358 20.8029 -18.315 -6.12488 -8.02297 20.7663 -18.32 -6.22116 -8.2059 20.7395 -18.325 -6.3218 -8.39226 20.7229 -18.33 -6.42678 -8.58189 20.7169 -18.335 -6.5361 -8.77459 20.7218 -18.34 -6.6497 -8.97014 20.7381 -18.345 -6.76753 -9.16827 20.766 -18.35 -6.88951 -9.36866 20.8058 -18.355 -7.01552 -9.57096 20.8579 -18.36 -7.14545 -9.77477 20.9226 -18.365 -7.27915 -9.97967 21 -18.37 -7.41646 -10.1852 21.0905 -18.375 -7.5572 -10.3908 21.1944 -18.38 -7.70115 -10.596 21.3117 -18.385 -7.8481 -10.8001 21.4428 -18.39 -7.9978 -11.0026 21.5878 -18.395 -8.14998 -11.2027 21.7469 -18.4 -8.30435 -11.3997 21.9203 -18.405 -8.46062 -11.593 22.1081 -18.41 -8.61844 -11.7817 22.3105 -18.415 -8.77748 -11.9649 22.5276 -18.42 -8.93737 -12.1419 22.7594 -18.425 -9.09801 -12.3124 23.0056 -18.43 -9.259 -12.4753 23.2658 -18.435 -9.41985 -12.629 23.5397 -18.44 -9.58 -12.7724 23.8267 -18.445 -9.73894 -12.904 24.1264 -18.45 -9.89609 -13.0226 24.4381 -18.455 -10.0509 -13.1273 24.7611 -18.46 -10.2029 -13.2168 25.0944 -18.465 -10.3513 -13.2904 25.4373 -18.47 -10.4957 -13.3472 25.7885 -18.475 -10.6355 -13.3863 26.1471 -18.48 -10.77 -13.4072 26.5117 -18.485 -10.8986 -13.4093 26.881 -18.49 -11.0208 -13.392 27.2535 -18.495 -11.1358 -13.355 27.6279 -18.5 -11.2431 -13.2979 28.0023 -18.505 -11.342 -13.2204 28.3752 -18.51 -11.4319 -13.1226 28.7446 -18.515 -11.5121 -13.0042 29.1086 -18.52 -11.5818 -12.8653 29.4653 -18.525 -11.6406 -12.7055 29.8125 -18.53 -11.6885 -12.5236 30.1484 -18.535 -11.7249 -12.3216 30.4711 -18.54 -11.7495 -12.1017 30.7792 -18.545 -11.7621 -11.8658 31.0712 -18.55 -11.7624 -11.616 31.3457 -18.555 -11.7503 -11.354 31.6016 -18.56 -11.7258 -11.0816 31.8377 -18.565 -11.6888 -10.8005 32.0533 -18.57 -11.6395 -10.5122 32.2475 -18.575 -11.578 -10.2182 32.4196 -18.58 -11.5046 -9.91977 32.5692 -18.585 -11.4197 -9.61828 32.6959 -18.59 -11.3236 -9.31487 32.7995 -18.595 -11.2169 -9.01061 32.8799 -18.6 -11.1001 -8.70649 32.937 -18.605 -10.9739 -8.4034 32.9712 -18.61 -10.8389 -8.10212 32.9826 -18.615 -10.696 -7.80336 32.9718 -18.62 -10.5461 -7.5077 32.9393 -18.625 -10.3902 -7.21566 32.8859 -18.63 -10.2282 -6.93024 32.813 -18.635 -10.0603 -6.65439 32.7218 -18.64 -9.88733 -6.38889 32.6131 -18.645 -9.71016 -6.13447 32.4876 -18.65 -9.52957 -5.89172 32.3462 -18.655 -9.34633 -5.66118 32.1897 -18.66 -9.16118 -5.44326 32.0191 -18.665 -8.97483 -5.23829 31.8352 -18.67 -8.78797 -5.04649 31.6391 -18.675 -8.60123 -4.86802 31.4318 -18.68 -8.41524 -4.70289 31.2143 -18.685 -8.23059 -4.55107 30.9879 -18.69 -8.04782 -4.41239 30.7535 -18.695 -7.86746 -4.28663 30.5126 -18.7 -7.69002 -4.17342 30.2661 -18.705 -7.51595 -4.07234 30.0156 -18.71 -7.34569 -3.98286 29.7623 -18.715 -7.17964 -3.90434 29.5075 -18.72 -7.01818 -3.83611 29.2526 -18.725 -6.86166 -3.77792 28.9964 -18.73 -6.71029 -3.72947 28.7389 -18.735 -6.56422 -3.69039 28.4805 -18.74 -6.42358 -3.66031 28.2218 -18.745 -6.28852 -3.63886 27.9632 -18.75 -6.15913 -3.62569 27.705 -18.755 -6.03553 -3.62044 27.4476 -18.76 -5.91781 -3.62278 27.1914 -18.765 -5.80602 -3.63235 26.9367 -18.77 -5.70025 -3.64882 26.6838 -18.775 -5.60053 -3.67188 26.433 -18.78 -5.50691 -3.70118 26.1845 -18.785 -5.41939 -3.73643 25.9386 -18.79 -5.33799 -3.77731 25.6954 -18.795 -5.2627 -3.8235 25.4553 -18.8 -5.1935 -3.87473 25.2182 -18.805 -5.13035 -3.93068 24.9844 -18.81 -5.07322 -3.99109 24.7539 -18.815 -5.02196 -4.0558 24.5269 -18.82 -4.97627 -4.12506 24.3037 -18.825 -4.93614 -4.19875 24.0844 -18.83 -4.90155 -4.27677 23.8691 -18.835 -4.87249 -4.35901 23.6579 -18.84 -4.84893 -4.44539 23.451 -18.845 -4.83084 -4.53581 23.2484 -18.85 -4.8182 -4.63024 23.0503 -18.855 -4.81097 -4.7286 22.8569 -18.86 -4.8091 -4.83087 22.6683 -18.865 -4.81254 -4.93703 22.4847 -18.87 -4.82125 -5.04705 22.3062 -18.875 -4.83517 -5.16095 22.133 -18.88 -4.85423 -5.27873 21.9653 -18.885 -4.87837 -5.40043 21.8033 -18.89 -4.90751 -5.52609 21.6471 -18.895 -4.94157 -5.65576 21.497 -18.9 -4.98047 -5.78951 21.3531 -18.905 -5.02413 -5.92742 21.2157 -18.91 -5.07245 -6.06958 21.085 -18.915 -5.12533 -6.2161 20.9613 -18.92 -5.18267 -6.36711 20.8446 -18.925 -5.24435 -6.52271 20.7354 -18.93 -5.31038 -6.6826 20.6338 -18.935 -5.38084 -6.84669 20.5399 -18.94 -5.45582 -7.01507 20.4542 -18.945 -5.5354 -7.18779 20.3769 -18.95 -5.61962 -7.36488 20.3085 -18.955 -5.70853 -7.54632 20.2492 -18.96 -5.80215 -7.73208 20.1995 -18.965 -5.9005 -7.92206 20.1595 -18.97 -6.00356 -8.11617 20.1298 -18.975 -6.11131 -8.31426 20.1107 -18.98 -6.22372 -8.51615 20.1024 -18.985 -6.34075 -8.72163 20.1054 -18.99 -6.46231 -8.93046 20.1201 -18.995 -6.58833 -9.14237 20.1468 -19 -6.71871 -9.35705 20.1858 -19.005 -6.85334 -9.57415 20.2376 -19.01 -6.99209 -9.7933 20.3024 -19.015 -7.13482 -10.0141 20.3808 -19.02 -7.28137 -10.2361 20.4731 -19.025 -7.43156 -10.4588 20.5796 -19.03 -7.58522 -10.6818 20.7007 -19.035 -7.74213 -10.9044 20.8369 -19.04 -7.90207 -11.1261 20.9885 -19.045 -8.06482 -11.3463 21.1559 -19.05 -8.23018 -11.5648 21.3389 -19.055 -8.39795 -11.7807 21.5372 -19.06 -8.56785 -11.9927 21.7515 -19.065 -8.73955 -12.1994 21.9818 -19.07 -8.91271 -12.3996 22.2283 -19.075 -9.08692 -12.592 22.4912 -19.08 -9.26178 -12.7753 22.7702 -19.085 -9.43682 -12.9484 23.065 -19.09 -9.61157 -13.1101 23.3754 -19.095 -9.78549 -13.2593 23.7007 -19.1 -9.95802 -13.3948 24.0403 -19.105 -10.1286 -13.5155 24.3934 -19.11 -10.2966 -13.6205 24.7591 -19.115 -10.4613 -13.7087 25.1363 -19.12 -10.6221 -13.779 25.5239 -19.125 -10.7782 -13.8306 25.9204 -19.13 -10.9289 -13.8625 26.3245 -19.135 -11.0733 -13.8737 26.7346 -19.14 -11.2107 -13.8635 27.1488 -19.145 -11.3403 -13.8309 27.5655 -19.15 -11.461 -13.7751 27.9824 -19.155 -11.5721 -13.6948 28.3979 -19.16 -11.6738 -13.5865 28.8109 -19.165 -11.7652 -13.4517 29.2187 -19.17 -11.8455 -13.2926 29.6186 -19.175 -11.914 -13.1111 30.0079 -19.18 -11.9702 -12.9093 30.3844 -19.185 -12.0134 -12.6891 30.7457 -19.19 -12.0433 -12.452 31.09 -19.195 -12.0595 -12.1999 31.4154 -19.2 -12.0618 -11.9342 31.7205 -19.205 -12.0502 -11.6565 32.0038 -19.21 -12.0246 -11.368 32.2643 -19.215 -11.9851 -11.07 32.5009 -19.22 -11.9319 -10.7637 32.713 -19.225 -11.8653 -10.45 32.9 -19.23 -11.7856 -10.1301 33.0615 -19.235 -11.6935 -9.80466 33.1975 -19.24 -11.5894 -9.4745 33.3081 -19.245 -11.4741 -9.14026 33.3934 -19.25 -11.3484 -8.80251 33.4541 -19.255 -11.2131 -8.46168 33.4908 -19.26 -11.0693 -8.11814 33.5044 -19.265 -10.9168 -7.77621 33.4953 -19.27 -10.7549 -7.44177 33.4634 -19.275 -10.5847 -7.11604 33.4091 -19.28 -10.4071 -6.80012 33.3328 -19.285 -10.2232 -6.495 33.2354 -19.29 -10.0337 -6.20158 33.1174 -19.295 -9.83961 -5.92062 32.9799 -19.3 -9.64178 -5.65282 32.8236 -19.305 -9.44102 -5.39874 32.6496 -19.31 -9.23815 -5.15886 32.4592 -19.315 -9.03393 -4.93352 32.2534 -19.32 -8.82911 -4.72299 32.0338 -19.325 -8.62439 -4.52742 31.8016 -19.33 -8.42048 -4.34686 31.5585 -19.335 -8.21802 -4.18124 31.3061 -19.34 -8.01763 -4.03039 31.0461 -19.345 -7.81993 -3.89406 30.7804 -19.35 -7.62549 -3.77186 30.5109 -19.355 -7.43483 -3.66331 30.2397 -19.36 -7.24849 -3.56783 29.9688 -19.365 -7.067 -3.48447 29.6973 -19.37 -6.89074 -3.41251 29.4235 -19.375 -6.71992 -3.35149 29.1482 -19.38 -6.55472 -3.30096 28.8718 -19.385 -6.39533 -3.26048 28.5949 -19.39 -6.24191 -3.22959 28.3178 -19.395 -6.0946 -3.20787 28.0412 -19.4 -5.95353 -3.19489 27.7654 -19.405 -5.8188 -3.1902 27.4908 -19.41 -5.6905 -3.19338 27.2177 -19.415 -5.56871 -3.20402 26.9465 -19.42 -5.45348 -3.22169 26.6774 -19.425 -5.34485 -3.24598 26.4107 -19.43 -5.24284 -3.27649 26.1467 -19.435 -5.14744 -3.3128 25.8854 -19.44 -5.05865 -3.35452 25.6272 -19.445 -4.97643 -3.40124 25.3721 -19.45 -4.90073 -3.45258 25.1202 -19.455 -4.83141 -3.50832 24.8716 -19.46 -4.76817 -3.56873 24.6266 -19.465 -4.71095 -3.63367 24.3853 -19.47 -4.6597 -3.70298 24.1478 -19.475 -4.61439 -3.77654 23.9142 -19.48 -4.57496 -3.85422 23.6846 -19.485 -4.54136 -3.93592 23.4591 -19.49 -4.51353 -4.02154 23.2379 -19.495 -4.4914 -4.11103 23.021 -19.5 -4.47491 -4.20434 22.8086 -19.505 -4.46399 -4.30143 22.6008 -19.51 -4.45857 -4.40228 22.3978 -19.515 -4.45856 -4.50691 22.1996 -19.52 -4.46388 -4.61534 22.0065 -19.525 -4.47445 -4.7276 21.8186 -19.53 -4.49018 -4.84375 21.6361 -19.535 -4.51096 -4.96388 21.459 -19.54 -4.53671 -5.08806 21.2877 -19.545 -4.56732 -5.21642 21.1221 -19.55 -4.60268 -5.34908 20.9627 -19.555 -4.64268 -5.48619 20.8094 -19.56 -4.68721 -5.6278 20.6625 -19.565 -4.73627 -5.77376 20.5223 -19.57 -4.78995 -5.92415 20.389 -19.575 -4.84832 -6.07909 20.2627 -19.58 -4.91147 -6.23867 20.1438 -19.585 -4.97943 -6.40295 20.0325 -19.59 -5.05227 -6.57198 19.929 -19.595 -5.13003 -6.74579 19.8336 -19.6 -5.21272 -6.9244 19.7466 -19.605 -5.30036 -7.1078 19.6684 -19.61 -5.39297 -7.29598 19.5993 -19.615 -5.49054 -7.48888 19.5396 -19.62 -5.59306 -7.68644 19.4897 -19.625 -5.70049 -7.8886 19.4499 -19.63 -5.81281 -8.09524 19.4207 -19.635 -5.92997 -8.30627 19.4024 -19.64 -6.05191 -8.52153 19.3956 -19.645 -6.17857 -8.74089 19.4005 -19.65 -6.30987 -8.96417 19.4177 -19.655 -6.44572 -9.19118 19.4477 -19.66 -6.58604 -9.42171 19.4909 -19.665 -6.73069 -9.65554 19.5478 -19.67 -6.87958 -9.89243 19.619 -19.675 -7.03257 -10.1321 19.705 -19.68 -7.18938 -10.3744 19.8052 -19.685 -7.34983 -10.6187 19.9195 -19.69 -7.51396 -10.8641 20.0488 -19.695 -7.68175 -11.1098 20.1941 -19.7 -7.85314 -11.3549 20.3563 -19.705 -8.02801 -11.5984 20.536 -19.71 -8.2062 -11.8392 20.7338 -19.715 -8.3875 -12.0765 20.9501 -19.72 -8.57163 -12.309 21.1852 -19.725 -8.75827 -12.5358 21.4392 -19.73 -8.94705 -12.7557 21.7121 -19.735 -9.13755 -12.9676 22.0039 -19.74 -9.32931 -13.1702 22.3142 -19.745 -9.52178 -13.3625 22.6426 -19.75 -9.71441 -13.543 22.9886 -19.755 -9.90657 -13.7106 23.3516 -19.76 -10.0976 -13.864 23.7307 -19.765 -10.2867 -14.0017 24.125 -19.77 -10.4732 -14.1225 24.5335 -19.775 -10.6561 -14.2248 24.9548 -19.78 -10.8348 -14.3074 25.3878 -19.785 -11.0081 -14.3686 25.8308 -19.79 -11.1751 -14.407 26.2823 -19.795 -11.3348 -14.4211 26.7405 -19.8 -11.4861 -14.4093 27.2036 -19.805 -11.6281 -14.37 27.6697 -19.81 -11.761 -14.3016 28.1377 -19.815 -11.884 -14.2049 28.6046 -19.82 -11.996 -14.0807 29.0671 -19.825 -12.096 -13.93 29.5222 -19.83 -12.1831 -13.7536 29.9669 -19.835 -12.2566 -13.5528 30.3987 -19.84 -12.3158 -13.3285 30.8151 -19.845 -12.3601 -13.082 31.2137 -19.85 -12.3892 -12.8144 31.5926 -19.855 -12.4028 -12.5271 31.9498 -19.86 -12.4006 -12.2213 32.2837 -19.865 -12.3827 -11.8984 32.5929 -19.87 -12.3491 -11.5599 32.876 -19.875 -12.2998 -11.2072 33.1321 -19.88 -12.2353 -10.842 33.3601 -19.885 -12.1558 -10.4656 33.5596 -19.89 -12.062 -10.08 33.7299 -19.895 -11.9544 -9.68661 33.8709 -19.9 -11.8336 -9.28756 33.9824 -19.905 -11.6993 -8.88809 34.0641 -19.91 -11.5518 -8.49145 34.116 -19.915 -11.3922 -8.09958 34.1386 -19.92 -11.2215 -7.71428 34.1326 -19.925 -11.0407 -7.33722 34.0987 -19.93 -10.8507 -6.96994 34.0379 -19.935 -10.6526 -6.61384 33.9511 -19.94 -10.4472 -6.27018 33.8395 -19.945 -10.2357 -5.9401 33.7043 -19.95 -10.0188 -5.62458 33.5469 -19.955 -9.79753 -5.3245 33.3689 -19.96 -9.57283 -5.04058 33.1719 -19.965 -9.34561 -4.7734 32.9577 -19.97 -9.11678 -4.52343 32.7281 -19.975 -8.88722 -4.29099 32.4853 -19.98 -8.65784 -4.07626 32.2313 -19.985 -8.4295 -3.8793 31.9684 -19.99 -8.20309 -3.70003 31.6992 -19.995 -7.97949 -3.53765 31.4247 -20 -7.75946 -3.39063 31.1441 -20.005 -7.54347 -3.25852 30.8583 -20.01 -7.33197 -3.14088 30.568 -20.015 -7.12539 -3.03723 30.2742 -20.02 -6.9241 -2.94709 29.9777 -20.025 -6.72847 -2.86992 29.6791 -20.03 -6.5388 -2.8052 29.3792 -20.035 -6.35539 -2.75234 29.0785 -20.04 -6.1785 -2.71076 28.7778 -20.045 -6.00834 -2.67983 28.4775 -20.05 -5.84511 -2.65892 28.1781 -20.055 -5.68896 -2.64734 27.8801 -20.06 -5.54003 -2.64441 27.5839 -20.065 -5.39839 -2.6494 27.2899 -20.07 -5.26413 -2.66157 26.9982 -20.075 -5.13726 -2.68015 26.7093 -20.08 -5.01778 -2.70434 26.4232 -20.085 -4.90561 -2.73353 26.1403 -20.09 -4.80048 -2.76829 25.8604 -20.095 -4.70227 -2.80848 25.5837 -20.1 -4.6109 -2.85379 25.3104 -20.105 -4.52628 -2.90397 25.0405 -20.11 -4.44833 -2.95877 24.7742 -20.115 -4.37696 -3.01797 24.5115 -20.12 -4.31207 -3.08139 24.2526 -20.125 -4.25356 -3.14885 23.9976 -20.13 -4.20133 -3.22022 23.7465 -20.135 -4.15527 -3.29537 23.4995 -20.14 -4.11528 -3.37421 23.2566 -20.145 -4.08124 -3.45667 23.0181 -20.15 -4.05303 -3.54271 22.7838 -20.155 -4.03054 -3.63232 22.554 -20.16 -4.01363 -3.72548 22.3288 -20.165 -4.00219 -3.82225 22.1082 -20.17 -3.99607 -3.92266 21.8923 -20.175 -3.99515 -4.02681 21.6813 -20.18 -3.99925 -4.13478 21.4751 -20.185 -4.0082 -4.24664 21.2742 -20.19 -4.02203 -4.36241 21.0785 -20.195 -4.04079 -4.48215 20.8881 -20.2 -4.0645 -4.6059 20.7031 -20.205 -4.09318 -4.73373 20.5238 -20.21 -4.12685 -4.86568 20.3501 -20.215 -4.16553 -5.00184 20.1823 -20.22 -4.20922 -5.14228 20.0206 -20.225 -4.25793 -5.28708 19.8651 -20.23 -4.31163 -5.43634 19.716 -20.235 -4.37034 -5.59014 19.5737 -20.24 -4.43402 -5.74859 19.4382 -20.245 -4.50266 -5.9118 19.3099 -20.25 -4.57622 -6.07989 19.1891 -20.255 -4.65468 -6.25298 19.0761 -20.26 -4.73799 -6.43119 18.9711 -20.265 -4.82612 -6.61466 18.8745 -20.27 -4.919 -6.80354 18.7867 -20.275 -5.01657 -6.99797 18.708 -20.28 -5.11879 -7.19811 18.6387 -20.285 -5.22557 -7.40412 18.5794 -20.29 -5.33694 -7.61585 18.5302 -20.295 -5.45312 -7.83279 18.4913 -20.3 -5.57425 -8.05504 18.4635 -20.305 -5.70042 -8.28268 18.4471 -20.31 -5.83171 -8.51572 18.4429 -20.315 -5.96819 -8.75408 18.4514 -20.32 -6.10986 -8.99762 18.4732 -20.325 -6.25674 -9.24613 18.5088 -20.33 -6.40881 -9.49935 18.5588 -20.335 -6.56603 -9.75692 18.6237 -20.34 -6.72832 -10.0184 18.7041 -20.345 -6.8956 -10.2834 18.8004 -20.35 -7.06774 -10.5512 18.9133 -20.355 -7.24462 -10.8213 19.0431 -20.36 -7.42605 -11.0929 19.1905 -20.365 -7.61186 -11.3654 19.3559 -20.37 -7.80184 -11.6378 19.5398 -20.375 -7.99573 -11.9093 19.7426 -20.38 -8.19329 -12.1788 19.965 -20.385 -8.39423 -12.4454 20.2072 -20.39 -8.59824 -12.7079 20.4698 -20.395 -8.80499 -12.9652 20.7532 -20.4 -9.0141 -13.2163 21.0575 -20.405 -9.22509 -13.4605 21.3822 -20.41 -9.4374 -13.6954 21.7274 -20.415 -9.65043 -13.919 22.0932 -20.42 -9.86354 -14.1292 22.4792 -20.425 -10.076 -14.324 22.885 -20.43 -10.2872 -14.5016 23.3099 -20.435 -10.4962 -14.6601 23.753 -20.44 -10.7024 -14.798 24.2133 -20.445 -10.9048 -14.9136 24.6893 -20.45 -11.1025 -15.0054 25.1797 -20.455 -11.2947 -15.072 25.6827 -20.46 -11.4803 -15.112 26.1963 -20.465 -11.6583 -15.1243 26.7184 -20.47 -11.8277 -15.1076 27.2467 -20.475 -11.9874 -15.061 27.7785 -20.48 -12.1363 -14.9833 28.3112 -20.485 -12.2731 -14.8739 28.8418 -20.49 -12.3967 -14.7315 29.3671 -20.495 -12.507 -14.5532 29.8847 -20.5 -12.6029 -14.3403 30.3913 -20.505 -12.6835 -14.0957 30.8832 -20.51 -12.7478 -13.822 31.3571 -20.515 -12.7952 -13.5218 31.81 -20.52 -12.8249 -13.1978 32.2391 -20.525 -12.8365 -12.8522 32.642 -20.53 -12.8298 -12.4875 33.0166 -20.535 -12.8047 -12.1058 33.3609 -20.54 -12.761 -11.7094 33.6735 -20.545 -12.699 -11.3002 33.9529 -20.55 -12.619 -10.8802 34.1983 -20.555 -12.5215 -10.4513 34.4089 -20.56 -12.4071 -10.0153 34.5843 -20.565 -12.2765 -9.57386 34.7243 -20.57 -12.1308 -9.12852 34.8292 -20.575 -11.9709 -8.6808 34.8994 -20.58 -11.7981 -8.23209 34.9356 -20.585 -11.613 -7.78618 34.9391 -20.59 -11.4151 -7.35009 34.9115 -20.595 -11.2056 -6.92587 34.8534 -20.6 -10.986 -6.51518 34.766 -20.605 -10.7576 -6.11951 34.6504 -20.61 -10.5216 -5.74016 34.5076 -20.615 -10.2793 -5.37827 34.3393 -20.62 -10.0318 -5.03477 34.1468 -20.625 -9.78029 -4.71044 33.9318 -20.63 -9.52585 -4.40586 33.6962 -20.635 -9.26955 -4.12143 33.4418 -20.64 -9.01241 -3.85739 33.1708 -20.645 -8.7554 -3.61378 32.8853 -20.65 -8.49947 -3.39046 32.5878 -20.655 -8.2455 -3.18713 32.2806 -20.66 -7.99436 -3.00328 31.9665 -20.665 -7.74685 -2.83824 31.6482 -20.67 -7.50375 -2.69115 31.3287 -20.675 -7.26581 -2.56094 31.0096 -20.68 -7.03372 -2.44637 30.6878 -20.685 -6.80784 -2.34667 30.3639 -20.69 -6.58848 -2.26108 30.0384 -20.695 -6.37594 -2.18885 29.7122 -20.7 -6.17048 -2.12925 29.3858 -20.705 -5.97231 -2.08154 29.06 -20.71 -5.78164 -2.04502 28.7351 -20.715 -5.59863 -2.01897 28.4117 -20.72 -5.4234 -2.0027 28.0902 -20.725 -5.25607 -1.9955 27.771 -20.73 -5.0967 -1.9967 27.4544 -20.735 -4.94532 -2.00561 27.1406 -20.74 -4.80196 -2.02158 26.83 -20.745 -4.66657 -2.04395 26.5226 -20.75 -4.53912 -2.07207 26.2185 -20.755 -4.41951 -2.10529 25.9178 -20.76 -4.30752 -2.14334 25.6205 -20.765 -4.20289 -2.18629 25.327 -20.77 -4.10551 -2.23383 25.0372 -20.775 -4.01524 -2.28567 24.7512 -20.78 -3.93199 -2.34157 24.4691 -20.785 -3.85561 -2.40129 24.1909 -20.79 -3.78597 -2.46464 23.9166 -20.795 -3.72296 -2.53143 23.6464 -20.8 -3.66642 -2.60154 23.3802 -20.805 -3.61622 -2.67484 23.1182 -20.81 -3.57221 -2.75126 22.8603 -20.815 -3.53426 -2.83072 22.6067 -20.82 -3.5022 -2.91321 22.3574 -20.825 -3.47588 -2.99872 22.1124 -20.83 -3.45514 -3.08727 21.8719 -20.835 -3.43983 -3.17893 21.6358 -20.84 -3.42977 -3.27378 21.4043 -20.845 -3.42479 -3.37193 21.1774 -20.85 -3.42471 -3.47351 20.9551 -20.855 -3.42926 -3.57869 20.7377 -20.86 -3.43843 -3.6875 20.5253 -20.865 -3.45228 -3.79998 20.3178 -20.87 -3.47089 -3.91617 20.1154 -20.875 -3.49428 -4.03613 19.9181 -20.88 -3.5225 -4.15994 19.726 -20.885 -3.55559 -4.28769 19.5392 -20.89 -3.59356 -4.41946 19.3579 -20.895 -3.63645 -4.55537 19.1822 -20.9 -3.68425 -4.69554 19.0122 -20.905 -3.73697 -4.84011 18.8482 -20.91 -3.7946 -4.98924 18.6904 -20.915 -3.85714 -5.14307 18.5389 -20.92 -3.92457 -5.30178 18.394 -20.925 -3.99685 -5.46557 18.256 -20.93 -4.07396 -5.63463 18.1252 -20.935 -4.15585 -5.80917 18.0018 -20.94 -4.24247 -5.98942 17.8861 -20.945 -4.33378 -6.17561 17.7785 -20.95 -4.42969 -6.368 17.6793 -20.955 -4.53015 -6.56686 17.5889 -20.96 -4.63508 -6.77244 17.5077 -20.965 -4.74452 -6.98479 17.436 -20.97 -4.85894 -7.20327 17.3741 -20.975 -4.97853 -7.42809 17.3225 -20.98 -5.10342 -7.65945 17.2817 -20.985 -5.23371 -7.89748 17.2524 -20.99 -5.3695 -8.14225 17.235 -20.995 -5.51085 -8.39375 17.2301 -21 -5.65784 -8.65193 17.2384 -21.005 -5.81049 -8.91664 17.2605 -21.01 -5.96882 -9.18768 17.297 -21.015 -6.13285 -9.46478 17.3484 -21.02 -6.30254 -9.7476 17.4156 -21.025 -6.47787 -10.0357 17.4991 -21.03 -6.65879 -10.3287 17.5997 -21.035 -6.84522 -10.626 17.718 -21.04 -7.03708 -10.9269 17.8548 -21.045 -7.23426 -11.2309 18.0107 -21.05 -7.43664 -11.5371 18.1866 -21.055 -7.64407 -11.8448 18.3832 -21.06 -7.85639 -12.153 18.6012 -21.065 -8.07343 -12.4608 18.8415 -21.07 -8.29489 -12.7676 19.1044 -21.075 -8.52027 -13.0723 19.3896 -21.08 -8.74926 -13.373 19.6981 -21.085 -8.98149 -13.6678 20.0307 -21.09 -9.2165 -13.9544 20.388 -21.095 -9.45379 -14.2311 20.7703 -21.1 -9.69274 -14.4956 21.1776 -21.105 -9.9327 -14.7459 21.6097 -21.11 -10.1729 -14.98 22.0661 -21.115 -10.4126 -15.1959 22.5461 -21.12 -10.6509 -15.3914 23.0487 -21.125 -10.8868 -15.5646 23.5727 -21.13 -11.1192 -15.7133 24.1166 -21.135 -11.3471 -15.8356 24.6786 -21.14 -11.5694 -15.9294 25.2568 -21.145 -11.7847 -15.9925 25.8489 -21.15 -11.9917 -16.0229 26.4524 -21.155 -12.189 -16.0186 27.0646 -21.16 -12.3752 -15.9775 27.6824 -21.165 -12.5497 -15.8953 28.3044 -21.17 -12.7117 -15.7701 28.9275 -21.175 -12.8595 -15.6043 29.5462 -21.18 -12.9915 -15.3997 30.1552 -21.185 -13.1064 -15.1587 30.7497 -21.19 -13.2028 -14.8831 31.3252 -21.195 -13.28 -14.5752 31.8779 -21.2 -13.3369 -14.237 32.4041 -21.205 -13.3731 -13.8705 32.9007 -21.21 -13.388 -13.4779 33.3648 -21.215 -13.3814 -13.0611 33.7942 -21.22 -13.3532 -12.6222 34.1869 -21.225 -13.3035 -12.1632 34.5413 -21.23 -13.2327 -11.6862 34.8563 -21.235 -13.1413 -11.1932 35.1311 -21.24 -13.0298 -10.6862 35.3656 -21.245 -12.8992 -10.1672 35.5597 -21.25 -12.7505 -9.6382 35.7139 -21.255 -12.5848 -9.10147 35.8291 -21.26 -12.4013 -8.56625 35.9036 -21.265 -12.2005 -8.03848 35.9373 -21.27 -11.984 -7.52098 35.9312 -21.275 -11.7532 -7.01634 35.8867 -21.28 -11.5097 -6.52689 35.8052 -21.285 -11.2548 -6.05472 35.6886 -21.29 -10.9901 -5.60167 35.5385 -21.295 -10.7169 -5.16933 35.3572 -21.3 -10.4367 -4.75903 35.1468 -21.305 -10.1507 -4.37188 34.9099 -21.31 -9.86042 -4.00872 34.649 -21.315 -9.5671 -3.67014 34.367 -21.32 -9.27204 -3.35649 34.0668 -21.325 -8.97653 -3.06788 33.7518 -21.33 -8.68181 -2.80414 33.4252 -21.335 -8.38912 -2.56489 33.0907 -21.34 -8.09967 -2.3494 32.7517 -21.345 -7.81457 -2.15568 32.4071 -21.35 -7.53459 -1.98246 32.057 -21.355 -7.26034 -1.82886 31.7027 -21.36 -6.99242 -1.69394 31.3453 -21.365 -6.73135 -1.57678 30.9858 -21.37 -6.4776 -1.47642 30.6253 -21.375 -6.2316 -1.39187 30.2646 -21.38 -5.99372 -1.32215 29.9044 -21.385 -5.76425 -1.26625 29.5456 -21.39 -5.54347 -1.22313 29.1887 -21.395 -5.33158 -1.19173 28.8342 -21.4 -5.12872 -1.17099 28.4826 -21.405 -4.93499 -1.15983 28.1342 -21.41 -4.75044 -1.15713 27.7893 -21.415 -4.57505 -1.16176 27.448 -21.42 -4.40876 -1.1726 27.1105 -21.425 -4.25133 -1.18952 26.7769 -21.43 -4.10254 -1.21244 26.4472 -21.435 -3.96225 -1.24085 26.1215 -21.44 -3.83027 -1.27427 25.7999 -21.445 -3.70645 -1.31226 25.4824 -21.45 -3.59061 -1.35441 25.169 -21.455 -3.48256 -1.40037 24.8597 -21.46 -3.38212 -1.4498 24.5547 -21.465 -3.28909 -1.50243 24.2538 -21.47 -3.20328 -1.558 23.9572 -21.475 -3.12448 -1.61631 23.6647 -21.48 -3.05248 -1.67718 23.3765 -21.485 -2.98707 -1.74048 23.0925 -21.49 -2.92802 -1.80612 22.8127 -21.495 -2.87511 -1.87403 22.5371 -21.5 -2.8281 -1.94421 22.2656 -21.505 -2.78675 -2.01667 21.9983 -21.51 -2.75079 -2.09143 21.7353 -21.515 -2.72013 -2.16845 21.4764 -21.52 -2.6947 -2.24772 21.2216 -21.525 -2.6744 -2.32924 20.9711 -21.53 -2.65915 -2.41303 20.7248 -21.535 -2.64887 -2.49914 20.4827 -21.54 -2.64347 -2.58762 20.2449 -21.545 -2.64284 -2.67855 20.0113 -21.55 -2.64691 -2.77204 19.7821 -21.555 -2.65556 -2.86821 19.5572 -21.56 -2.66871 -2.96719 19.3367 -21.565 -2.68625 -3.06916 19.1207 -21.57 -2.70808 -3.17427 18.9093 -21.575 -2.73408 -3.28274 18.7025 -21.58 -2.76416 -3.39479 18.5003 -21.585 -2.7982 -3.51064 18.303 -21.59 -2.83608 -3.63056 18.1105 -21.595 -2.87783 -3.75471 17.9231 -21.6 -2.92361 -3.88314 17.7408 -21.605 -2.97349 -4.01603 17.5637 -21.61 -3.0275 -4.15357 17.3921 -21.615 -3.08572 -4.29596 17.2259 -21.62 -3.14819 -4.4434 17.0654 -21.625 -3.21497 -4.5961 16.9108 -21.63 -3.28613 -4.75426 16.7623 -21.635 -3.36173 -4.91809 16.6201 -21.64 -3.44183 -5.0878 16.4844 -21.645 -3.52652 -5.26361 16.3555 -21.65 -3.61585 -5.44574 16.2338 -21.655 -3.70991 -5.63442 16.1195 -21.66 -3.80877 -5.82988 16.0129 -21.665 -3.91251 -6.03234 15.9145 -21.67 -4.02121 -6.24203 15.8247 -21.675 -4.13495 -6.4592 15.7437 -21.68 -4.25383 -6.68405 15.6721 -21.685 -4.37784 -6.91596 15.6101 -21.69 -4.50717 -7.15511 15.5584 -21.695 -4.64203 -7.40201 15.5174 -21.7 -4.78263 -7.65708 15.4879 -21.705 -4.92916 -7.92064 15.4705 -21.71 -5.08177 -8.19291 15.4659 -21.715 -5.24061 -8.47402 15.4749 -21.72 -5.40577 -8.76398 15.4981 -21.725 -5.57737 -9.06273 15.5364 -21.73 -5.75547 -9.3701 15.5905 -21.735 -5.94012 -9.6858 15.6612 -21.74 -6.13134 -10.0095 15.7495 -21.745 -6.32914 -10.3406 15.8561 -21.75 -6.5335 -10.6788 15.982 -21.755 -6.74439 -11.0231 16.1281 -21.76 -6.96173 -11.373 16.2953 -21.765 -7.18545 -11.7275 16.4847 -21.77 -7.41544 -12.0857 16.6972 -21.775 -7.65157 -12.4465 16.9338 -21.78 -7.89369 -12.8088 17.1956 -21.785 -8.14162 -13.1712 17.4837 -21.79 -8.39518 -13.5325 17.7992 -21.795 -8.65414 -13.8912 18.1432 -21.8 -8.91821 -14.2458 18.5166 -21.805 -9.18652 -14.5953 18.9188 -21.81 -9.45846 -14.9368 19.3504 -21.815 -9.7334 -15.2673 19.8124 -21.82 -10.0106 -15.5837 20.305 -21.825 -10.2893 -15.8829 20.8284 -21.83 -10.5685 -16.162 21.382 -21.835 -10.8473 -16.4181 21.9653 -21.84 -11.1245 -16.6483 22.5771 -21.845 -11.3989 -16.8497 23.2158 -21.85 -11.6693 -17.0195 23.8795 -21.855 -11.9341 -17.155 24.566 -21.86 -12.192 -17.2534 25.2725 -21.865 -12.4413 -17.3121 25.996 -21.87 -12.6803 -17.3283 26.733 -21.875 -12.9072 -17.2995 27.4798 -21.88 -13.1202 -17.2232 28.232 -21.885 -13.3178 -17.0954 28.9861 -21.89 -13.4993 -16.9129 29.7385 -21.895 -13.6625 -16.6779 30.4823 -21.9 -13.8056 -16.3931 31.2107 -21.905 -13.9267 -16.0614 31.9175 -21.91 -14.0243 -15.6856 32.597 -21.915 -14.0972 -15.2685 33.2442 -21.92 -14.1446 -14.8132 33.8545 -21.925 -14.1656 -14.3224 34.4239 -21.93 -14.1598 -13.7994 34.9491 -21.935 -14.127 -13.2471 35.4271 -21.94 -14.0674 -12.6687 35.8557 -21.945 -13.9812 -12.0673 36.233 -21.95 -13.8691 -11.4463 36.5578 -21.955 -13.732 -10.8088 36.8295 -21.96 -13.5708 -10.1582 37.0479 -21.965 -13.3871 -9.49789 37.2136 -21.97 -13.1808 -8.83643 37.3261 -21.975 -12.9521 -8.1834 37.3857 -21.98 -12.7029 -7.5429 37.3941 -21.985 -12.4351 -6.91865 37.3532 -21.99 -12.1508 -6.31398 37.2652 -21.995 -11.8517 -5.73184 37.1326 -22 -11.5396 -5.17479 36.9581 -22.005 -11.2166 -4.64501 36.7447 -22.01 -10.8842 -4.1443 36.4957 -22.015 -10.5444 -3.67408 36.2144 -22.02 -10.199 -3.23538 35.9047 -22.025 -9.8496 -2.82884 35.5706 -22.03 -9.498 -2.45474 35.2163 -22.035 -9.14592 -2.11295 34.8462 -22.04 -8.79502 -1.80297 34.4653 -22.045 -8.44698 -1.52387 34.0782 -22.05 -8.10324 -1.27326 33.6845 -22.055 -7.76483 -1.04939 33.2845 -22.06 -7.43268 -0.850956 32.8798 -22.065 -7.10761 -0.67663 32.4721 -22.07 -6.79036 -0.52505 32.0626 -22.075 -6.48161 -0.394826 31.6528 -22.08 -6.18194 -0.28454 31.2438 -22.085 -5.89185 -0.192744 30.8365 -22.09 -5.61175 -0.117961 30.4318 -22.095 -5.34199 -0.058686 30.0305 -22.1 -5.0828 -0.0133828 29.6332 -22.105 -4.83437 0.0195125 29.2403 -22.11 -4.59678 0.0415936 28.8522 -22.115 -4.37004 0.0544829 28.4689 -22.12 -4.15406 0.0597588 28.0906 -22.125 -3.94861 0.0576004 27.7174 -22.13 -3.75348 0.048455 27.3494 -22.135 -3.56845 0.0331089 26.9865 -22.14 -3.39329 0.0122939 26.6286 -22.145 -3.22778 -0.0133133 26.2759 -22.15 -3.07166 -0.0430907 25.9283 -22.155 -2.92469 -0.0764711 25.5857 -22.16 -2.78658 -0.112942 25.248 -22.165 -2.65708 -0.152046 24.9154 -22.17 -2.53589 -0.19338 24.5875 -22.175 -2.42271 -0.236595 24.2645 -22.18 -2.31723 -0.2814 23.9461 -22.185 -2.21914 -0.327554 23.6324 -22.19 -2.1281 -0.374876 23.3232 -22.195 -2.04376 -0.423229 23.0185 -22.2 -1.96578 -0.472471 22.718 -22.205 -1.89393 -0.522468 22.4219 -22.21 -1.828 -0.573108 22.13 -22.215 -1.76779 -0.624304 21.8422 -22.22 -1.71306 -0.675988 21.5585 -22.225 -1.66362 -0.728116 21.2789 -22.23 -1.61925 -0.780667 21.0032 -22.235 -1.57972 -0.833642 20.7315 -22.24 -1.54482 -0.887063 20.4636 -22.245 -1.51433 -0.940975 20.1995 -22.25 -1.48804 -0.995447 19.9393 -22.255 -1.46571 -1.05057 19.6827 -22.26 -1.44714 -1.10645 19.4298 -22.265 -1.43209 -1.16323 19.1806 -22.27 -1.42038 -1.22104 18.935 -22.275 -1.41198 -1.27991 18.693 -22.28 -1.40683 -1.3399 18.4546 -22.285 -1.40486 -1.40111 18.2198 -22.29 -1.40602 -1.46361 17.9885 -22.295 -1.41025 -1.52752 17.7607 -22.3 -1.41749 -1.59295 17.5364 -22.305 -1.42768 -1.66002 17.3156 -22.31 -1.44076 -1.72889 17.0984 -22.315 -1.45668 -1.79969 16.8846 -22.32 -1.47539 -1.8726 16.6743 -22.325 -1.49684 -1.94778 16.4676 -22.33 -1.52096 -2.02543 16.2644 -22.335 -1.54773 -2.10574 16.0647 -22.34 -1.57708 -2.18892 15.8686 -22.345 -1.60901 -2.27516 15.6761 -22.35 -1.6436 -2.36461 15.4872 -22.355 -1.68092 -2.45742 15.3021 -22.36 -1.72101 -2.55377 15.1206 -22.365 -1.76394 -2.65385 14.9429 -22.37 -1.80976 -2.75785 14.769 -22.375 -1.85855 -2.86598 14.599 -22.38 -1.91037 -2.97845 14.433 -22.385 -1.9653 -3.0955 14.271 -22.39 -2.02343 -3.21737 14.1132 -22.395 -2.08483 -3.34429 13.9597 -22.4 -2.1496 -3.47655 13.8106 -22.405 -2.21783 -3.61439 13.6661 -22.41 -2.28962 -3.75811 13.5263 -22.415 -2.36507 -3.908 13.3915 -22.42 -2.44428 -4.06435 13.2617 -22.425 -2.52737 -4.22748 13.1373 -22.43 -2.61446 -4.39765 13.0184 -22.435 -2.7058 -4.57469 12.9055 -22.44 -2.80159 -4.759 12.7989 -22.445 -2.90197 -4.95111 12.6986 -22.45 -3.00711 -5.15151 12.6051 -22.455 -3.11719 -5.36064 12.5185 -22.46 -3.23239 -5.57894 12.4392 -22.465 -3.35288 -5.8068 12.3676 -22.47 -3.47885 -6.04458 12.3042 -22.475 -3.6105 -6.2926 12.2496 -22.48 -3.74803 -6.55115 12.2043 -22.485 -3.89163 -6.8205 12.1689 -22.49 -4.04153 -7.10088 12.1442 -22.495 -4.19792 -7.39249 12.1309 -22.5 -4.36103 -7.69548 12.1298 -22.505 -4.53108 -8.01 12.1418 -22.51 -4.7083 -8.33613 12.1679 -22.515 -4.89293 -8.67396 12.2089 -22.52 -5.08521 -9.0235 12.266 -22.525 -5.28537 -9.38477 12.3403 -22.53 -5.49367 -9.75773 12.4329 -22.535 -5.71037 -10.1423 12.545 -22.54 -5.93572 -10.5384 12.6779 -22.545 -6.16999 -10.946 12.833 -22.55 -6.41278 -11.364 13.0106 -22.555 -6.66391 -11.7917 13.2124 -22.56 -6.92374 -12.2288 13.4405 -22.565 -7.1925 -12.6747 13.6973 -22.57 -7.47032 -13.1284 13.9848 -22.575 -7.75718 -13.5888 14.3048 -22.58 -8.05295 -14.0541 14.6591 -22.585 -8.35739 -14.5226 15.0491 -22.59 -8.67014 -14.9921 15.4762 -22.595 -8.99069 -15.4601 15.9417 -22.6 -9.31845 -15.9236 16.4466 -22.605 -9.65268 -16.3797 16.9918 -22.61 -9.99253 -16.8249 17.5779 -22.615 -10.337 -17.2554 18.2056 -22.62 -10.6851 -17.6671 18.8751 -22.625 -11.0355 -18.0557 19.5867 -22.63 -11.3869 -18.4164 20.3404 -22.635 -11.7379 -18.7443 21.1361 -22.64 -12.0869 -19.0342 21.9735 -22.645 -12.4327 -19.2835 22.8511 -22.65 -12.7729 -19.4864 23.7646 -22.655 -13.105 -19.6362 24.709 -22.66 -13.4263 -19.7272 25.6788 -22.665 -13.7344 -19.7544 26.6684 -22.67 -14.0267 -19.7138 27.6717 -22.675 -14.3007 -19.6024 28.6824 -22.68 -14.554 -19.4178 29.6937 -22.685 -14.7843 -19.1588 30.6986 -22.69 -14.9893 -18.8248 31.6896 -22.695 -15.1665 -18.4162 32.6591 -22.7 -15.3139 -17.9345 33.5989 -22.705 -15.4291 -17.3817 34.5006 -22.71 -15.51 -16.7608 35.3554 -22.715 -15.5545 -16.0752 36.1538 -22.72 -15.5618 -15.3259 36.884 -22.725 -15.5313 -14.5242 37.5418 -22.73 -15.4629 -13.6823 38.125 -22.735 -15.3565 -12.8117 38.6317 -22.74 -15.2128 -11.9225 39.061 -22.745 -15.0324 -11.0243 39.4121 -22.75 -14.8166 -10.1253 39.6851 -22.755 -14.5668 -9.23298 39.8806 -22.76 -14.2849 -8.35379 39.9997 -22.765 -13.9732 -7.49316 40.044 -22.77 -13.6341 -6.65557 40.016 -22.775 -13.2705 -5.84449 39.9184 -22.78 -12.8857 -5.06246 39.7547 -22.785 -12.4834 -4.311 39.5289 -22.79 -12.0667 -3.59305 39.2469 -22.795 -11.6364 -2.91956 38.9194 -22.8 -11.1954 -2.29306 38.5525 -22.805 -10.7466 -1.71441 38.1518 -22.81 -10.2928 -1.18388 37.7221 -22.815 -9.83661 -0.70116 37.2686 -22.82 -9.38035 -0.265365 36.796 -22.825 -8.92623 0.124964 36.3086 -22.83 -8.47627 0.471862 35.8109 -22.835 -8.03226 0.777945 35.3069 -22.84 -7.59584 1.0464 34.8005 -22.845 -7.16843 1.281 34.2953 -22.85 -6.75131 1.48447 33.7934 -22.855 -6.34546 1.65821 33.2948 -22.86 -5.9516 1.80484 32.8011 -22.865 -5.57033 1.92686 32.3132 -22.87 -5.20215 2.02668 31.8322 -22.875 -4.84747 2.10659 31.3588 -22.88 -4.50657 2.1688 30.8937 -22.885 -4.17963 2.21539 30.4372 -22.89 -3.86672 2.24833 29.9896 -22.895 -3.56781 2.26952 29.5509 -22.9 -3.28276 2.28072 29.1211 -22.905 -3.01132 2.28359 28.6998 -22.91 -2.75318 2.27949 28.2871 -22.915 -2.50796 2.26951 27.8829 -22.92 -2.27526 2.25469 27.4868 -22.925 -2.05469 2.23596 27.0987 -22.93 -1.84583 2.21423 26.7182 -22.935 -1.64824 2.19031 26.3452 -22.94 -1.4615 2.16495 25.9793 -22.945 -1.28514 2.13884 25.6204 -22.95 -1.11872 2.11258 25.2682 -22.955 -0.961754 2.08673 24.9225 -22.96 -0.813765 2.06176 24.5831 -22.965 -0.67426 2.03809 24.2498 -22.97 -0.542733 2.01604 23.9223 -22.975 -0.418669 1.99589 23.6006 -22.98 -0.301541 1.97786 23.2845 -22.985 -0.190814 1.96206 22.9737 -22.99 -0.0860218 1.94869 22.668 -22.995 0.0131777 1.93791 22.3674 -23 0.10712 1.92988 22.0717 -23.005 0.196142 1.92474 21.7807 -23.01 0.280581 1.92261 21.4945 -23.015 0.36078 1.92358 21.2129 -23.02 0.43708 1.92774 20.9358 -23.025 0.509826 1.93516 20.6631 -23.03 0.579363 1.9459 20.3948 -23.035 0.646039 1.96 20.1307 -23.04 0.710204 1.97747 19.8708 -23.045 0.772211 1.99831 19.6151 -23.05 0.832411 2.02253 19.3633 -23.055 0.891131 2.0501 19.1156 -23.06 0.948537 2.08113 18.8718 -23.065 1.0048 2.11569 18.632 -23.07 1.0601 2.15386 18.3961 -23.075 1.11463 2.19572 18.1642 -23.08 1.16858 2.24134 17.9362 -23.085 1.22214 2.2908 17.7121 -23.09 1.27551 2.34416 17.4919 -23.095 1.3289 2.40151 17.2756 -23.1 1.38252 2.4629 17.0632 -23.105 1.43658 2.5284 16.8548 -23.11 1.49129 2.59809 16.6502 -23.115 1.54689 2.67204 16.4496 -23.12 1.60359 2.75029 16.253 -23.125 1.66161 2.83295 16.0603 -23.13 1.72106 2.92018 15.8718 -23.135 1.78205 3.01216 15.6874 -23.14 1.84468 3.10909 15.5071 -23.145 1.9091 3.21114 15.3312 -23.15 1.97543 3.31851 15.1595 -23.155 2.04382 3.43138 14.9924 -23.16 2.11442 3.54996 14.8298 -23.165 2.18741 3.67444 14.672 -23.17 2.26297 3.805 14.519 -23.175 2.34127 3.94187 14.371 -23.18 2.42253 4.08522 14.2282 -23.185 2.50695 4.23527 14.0907 -23.19 2.59475 4.39222 13.9589 -23.195 2.68616 4.55627 13.8327 -23.2 2.78142 4.72764 13.7126 -23.205 2.88075 4.90646 13.5987 -23.21 2.98427 5.09296 13.4915 -23.215 3.09214 5.28757 13.3913 -23.22 3.20452 5.49069 13.2983 -23.225 3.32159 5.70271 13.2129 -23.23 3.44353 5.92397 13.1355 -23.235 3.57051 6.15479 13.0667 -23.24 3.70274 6.39545 13.0068 -23.245 3.84042 6.64621 12.9565 -23.25 3.98375 6.90731 12.9163 -23.255 4.13294 7.17894 12.887 -23.26 4.28824 7.46127 12.8692 -23.265 4.44985 7.75443 12.8636 -23.27 4.61803 8.05854 12.8712 -23.275 4.79301 8.37368 12.8927 -23.28 4.97505 8.69989 12.9291 -23.285 5.16441 9.03719 12.9812 -23.29 5.36135 9.38558 13.0502 -23.295 5.56615 9.74501 13.137 -23.3 5.77871 10.1148 13.2422 -23.305 5.99824 10.4934 13.3658 -23.31 6.22521 10.8811 13.51 -23.315 6.4601 11.2783 13.6768 -23.32 6.70327 11.6849 13.8683 -23.325 6.95498 12.1006 14.0865 -23.33 7.21538 12.5249 14.333 -23.335 7.4845 12.9568 14.6095 -23.34 7.76227 13.3952 14.9175 -23.345 8.04852 13.8385 15.2582 -23.35 8.34295 14.285 15.6328 -23.355 8.64517 14.7325 16.0425 -23.36 8.95467 15.1786 16.4881 -23.365 9.27083 15.6208 16.9705 -23.37 9.59294 16.056 17.4902 -23.375 9.92016 16.4808 18.0477 -23.38 10.2515 16.8918 18.6434 -23.385 10.586 17.2851 19.2776 -23.39 10.9225 17.6564 19.9503 -23.395 11.2596 18.0013 20.6615 -23.4 11.5961 18.3151 21.4109 -23.405 11.9304 18.5926 22.1982 -23.41 12.2609 18.8286 23.023 -23.415 12.586 19.0174 23.8847 -23.42 12.9042 19.157 24.7796 -23.425 13.2129 19.2434 25.7012 -23.43 13.5094 19.2717 26.6425 -23.435 13.7909 19.2379 27.5966 -23.44 14.0548 19.1389 28.5566 -23.445 14.2988 18.9724 29.5158 -23.45 14.5206 18.737 30.4673 -23.455 14.718 18.432 31.4042 -23.46 14.8891 18.0577 32.3198 -23.465 15.0319 17.6153 33.2073 -23.47 15.1448 17.1068 34.0599 -23.475 15.2261 16.535 34.8709 -23.48 15.2745 15.9036 35.6335 -23.485 15.2886 15.2172 36.3409 -23.49 15.2673 14.4811 36.9863 -23.495 15.2096 13.7005 37.5598 -23.5 15.1159 12.885 38.0581 -23.505 14.9867 12.0451 38.481 -23.51 14.8229 11.1904 38.8291 -23.515 14.6257 10.3297 39.1029 -23.52 14.3965 9.47117 39.3039 -23.525 14.1367 8.62198 39.4334 -23.53 13.8483 7.78861 39.4936 -23.535 13.5333 6.97672 39.4868 -23.54 13.1939 6.19116 39.416 -23.545 12.8327 5.43601 39.2842 -23.55 12.4524 4.71451 39.0951 -23.555 12.0561 4.02914 38.8528 -23.56 11.6469 3.38155 38.5617 -23.565 11.2281 2.77282 38.2269 -23.57 10.8016 2.207 37.8571 -23.575 10.3692 1.6856 37.4587 -23.58 9.93368 1.20836 37.036 -23.585 9.49724 0.774653 36.5934 -23.59 9.06206 0.383478 36.1349 -23.595 8.63011 0.0334541 35.6642 -23.6 8.20315 -0.277173 35.1848 -23.605 7.7828 -0.550531 34.6998 -23.61 7.37044 -0.789125 34.2123 -23.615 6.96732 -0.995832 33.7249 -23.62 6.57445 -1.1739 33.2401 -23.625 6.19272 -1.32678 32.7598 -23.63 5.82287 -1.45572 32.2845 -23.635 5.46538 -1.56255 31.8147 -23.64 5.12057 -1.64942 31.3512 -23.645 4.7887 -1.71841 30.8945 -23.65 4.46996 -1.77148 30.445 -23.655 4.16444 -1.81046 30.0032 -23.66 3.87219 -1.83709 29.5693 -23.665 3.59314 -1.85299 29.1435 -23.67 3.32719 -1.85966 28.7257 -23.675 3.07413 -1.85851 28.3159 -23.68 2.83369 -1.85082 27.9138 -23.685 2.60551 -1.83777 27.5193 -23.69 2.38913 -1.82036 27.1321 -23.695 2.18414 -1.79941 26.7523 -23.7 1.99018 -1.77565 26.3795 -23.705 1.80685 -1.74977 26.0134 -23.71 1.63375 -1.72241 25.654 -23.715 1.47049 -1.69416 25.301 -23.72 1.31664 -1.66555 24.9542 -23.725 1.17178 -1.63705 24.6134 -23.73 1.03549 -1.6091 24.2784 -23.735 0.907304 -1.58206 23.9491 -23.74 0.786788 -1.55625 23.6252 -23.745 0.673478 -1.53195 23.3066 -23.75 0.566906 -1.50937 22.9932 -23.755 0.466594 -1.48868 22.6848 -23.76 0.372057 -1.46997 22.3812 -23.765 0.282799 -1.45332 22.0824 -23.77 0.198419 -1.43879 21.7882 -23.775 0.118684 -1.42652 21.4985 -23.78 0.0433223 -1.41662 21.2131 -23.785 -0.0279402 -1.40917 20.9321 -23.79 -0.0953799 -1.40425 20.6552 -23.795 -0.159275 -1.40192 20.3825 -23.8 -0.219904 -1.40223 20.1139 -23.805 -0.27755 -1.40521 19.8493 -23.81 -0.332495 -1.4109 19.5886 -23.815 -0.385025 -1.41929 19.3318 -23.82 -0.435426 -1.4304 19.0787 -23.825 -0.483986 -1.4442 18.8294 -23.83 -0.530997 -1.46067 18.5837 -23.835 -0.576745 -1.47978 18.3416 -23.84 -0.621394 -1.50157 18.1031 -23.845 -0.665062 -1.52613 17.8682 -23.85 -0.707889 -1.55349 17.6367 -23.855 -0.750019 -1.58373 17.4088 -23.86 -0.791601 -1.6169 17.1843 -23.865 -0.832787 -1.65305 16.9633 -23.87 -0.873734 -1.69224 16.7458 -23.875 -0.914601 -1.73452 16.5316 -23.88 -0.955554 -1.77995 16.3208 -23.885 -0.996761 -1.82858 16.1134 -23.89 -1.03839 -1.88046 15.9094 -23.895 -1.08063 -1.93565 15.7088 -23.9 -1.12365 -1.99419 15.5115 -23.905 -1.16762 -2.05615 15.3176 -23.91 -1.21268 -2.12165 15.1271 -23.915 -1.25889 -2.19084 14.9399 -23.92 -1.30634 -2.26387 14.7562 -23.925 -1.35513 -2.3409 14.576 -23.93 -1.40537 -2.42209 14.3992 -23.935 -1.45717 -2.5076 14.226 -23.94 -1.51065 -2.59759 14.0564 -23.945 -1.56595 -2.69226 13.8904 -23.95 -1.62321 -2.79176 13.7281 -23.955 -1.68258 -2.89628 13.5697 -23.96 -1.74423 -3.00599 13.4151 -23.965 -1.80832 -3.1211 13.2644 -23.97 -1.87503 -3.24179 13.1179 -23.975 -1.94455 -3.36826 12.9756 -23.98 -2.01708 -3.50069 12.8375 -23.985 -2.09281 -3.6393 12.704 -23.99 -2.17191 -3.78429 12.5751 -23.995 -2.2545 -3.936 12.4511 -24 -2.34069 -4.0948 12.3322 -24.005 -2.43065 -4.26105 12.2184 -24.01 -2.52451 -4.43511 12.1101 -24.015 -2.62246 -4.61731 12.0075 -24.02 -2.72466 -4.808 11.9109 -24.025 -2.83131 -5.00751 11.8207 -24.03 -2.94262 -5.21617 11.7372 -24.035 -3.0588 -5.43431 11.6609 -24.04 -3.18008 -5.66225 11.5922 -24.045 -3.3067 -5.90029 11.5316 -24.05 -3.43892 -6.14875 11.4796 -24.055 -3.57699 -6.40793 11.4369 -24.06 -3.7212 -6.67811 11.4041 -24.065 -3.87184 -6.9596 11.3817 -24.07 -4.0292 -7.25268 11.3705 -24.075 -4.19361 -7.55763 11.3713 -24.08 -4.36533 -7.87454 11.3846 -24.085 -4.54407 -8.20203 11.4114 -24.09 -4.73014 -8.54068 11.4527 -24.095 -4.92399 -8.89157 11.5098 -24.1 -5.12603 -9.25551 11.5838 -24.105 -5.33662 -9.63306 11.6761 -24.11 -5.55606 -10.0246 11.788 -24.115 -5.78458 -10.4301 11.9209 -24.12 -6.02238 -10.8495 12.0762 -24.125 -6.26959 -11.2823 12.2555 -24.13 -6.5263 -11.728 12.4601 -24.135 -6.79252 -12.1856 12.6918 -24.14 -7.06823 -12.6541 12.9519 -24.145 -7.35334 -13.132 13.2423 -24.15 -7.64772 -13.6177 13.5646 -24.155 -7.95117 -14.1093 13.9204 -24.16 -8.26345 -14.6049 14.3116 -24.165 -8.58424 -15.102 14.7399 -24.17 -8.91321 -15.598 15.2072 -24.175 -9.24993 -16.0901 15.7154 -24.18 -9.59393 -16.5752 16.2664 -24.185 -9.9447 -17.0501 16.8622 -24.19 -10.3017 -17.5111 17.5047 -24.195 -10.6641 -17.9548 18.1957 -24.2 -11.0302 -18.3786 18.9328 -24.205 -11.3984 -18.7761 19.7158 -24.21 -11.767 -19.1405 20.5442 -24.215 -12.1342 -19.4653 21.4167 -24.22 -12.4981 -19.7446 22.3313 -24.225 -12.8567 -19.9727 23.2851 -24.23 -13.2077 -20.1443 24.2745 -24.235 -13.5487 -20.2547 25.2948 -24.24 -13.8773 -20.2992 26.3408 -24.245 -14.1907 -20.2739 27.4062 -24.25 -14.4861 -20.175 28.4842 -24.255 -14.7607 -19.9993 29.5668 -24.26 -15.0112 -19.7437 30.6456 -24.265 -15.2345 -19.4058 31.7109 -24.27 -15.4286 -18.9788 32.7543 -24.275 -15.5916 -18.4648 33.7655 -24.28 -15.7204 -17.8726 34.7337 -24.285 -15.8126 -17.2109 35.6492 -24.29 -15.8663 -16.488 36.5035 -24.295 -15.8802 -15.7119 37.2892 -24.3 -15.8534 -14.8901 38.0002 -24.305 -15.7855 -14.0299 38.6314 -24.31 -15.6767 -13.1384 39.179 -24.315 -15.5277 -12.2221 39.6404 -24.32 -15.3397 -11.2873 40.0141 -24.325 -15.1144 -10.3399 40.2998 -24.33 -14.854 -9.3856 40.4983 -24.335 -14.5614 -8.42964 40.6116 -24.34 -14.2386 -7.48102 40.6429 -24.345 -13.8856 -6.55831 40.5961 -24.35 -13.5057 -5.66892 40.4762 -24.355 -13.1022 -4.81845 40.2886 -24.36 -12.6782 -4.01155 40.0388 -24.365 -12.2369 -3.25197 39.7329 -24.37 -11.7815 -2.54251 39.3769 -24.375 -11.315 -1.88503 38.9773 -24.38 -10.8403 -1.28048 38.5409 -24.385 -10.3604 -0.728874 38.0746 -24.39 -9.87805 -0.229295 37.5857 -24.395 -9.39598 0.220104 37.0818 -24.4 -8.91687 0.622024 36.5701 -24.405 -8.44284 0.978907 36.0515 -24.41 -7.97563 1.2933 35.528 -24.415 -7.51683 1.56792 35.0026 -24.42 -7.06785 1.80548 34.4778 -24.425 -6.62995 2.00875 33.9559 -24.43 -6.2042 2.18051 33.4389 -24.435 -5.79149 2.32356 32.9283 -24.44 -5.39257 2.44074 32.4255 -24.445 -5.00797 2.5349 31.9315 -24.45 -4.63808 2.60894 31.4469 -24.455 -4.28312 2.66576 30.9721 -24.46 -3.94312 2.70824 30.507 -24.465 -3.61809 2.7379 30.052 -24.47 -3.30783 2.7561 29.6069 -24.475 -3.01205 2.76448 29.1717 -24.48 -2.73043 2.76456 28.7459 -24.485 -2.46262 2.75776 28.3296 -24.49 -2.20825 2.7454 27.9224 -24.495 -1.96692 2.72868 27.524 -24.5 -1.73821 2.70868 27.1343 -24.505 -1.52168 2.6864 26.7529 -24.51 -1.31686 2.66271 26.3796 -24.515 -1.12325 2.63839 26.0141 -24.52 -0.940335 2.61411 25.6561 -24.525 -0.767562 2.59041 25.3053 -24.53 -0.604366 2.56775 24.9614 -24.535 -0.450091 2.54654 24.6241 -24.54 -0.304186 2.52718 24.2931 -24.545 -0.166218 2.51001 23.9684 -24.55 -0.035751 2.49531 23.6496 -24.555 0.087654 2.48334 23.3366 -24.56 0.204439 2.47436 23.0293 -24.565 0.315048 2.46856 22.7275 -24.57 0.419929 2.46613 22.4311 -24.575 0.519533 2.46722 22.1399 -24.58 0.614312 2.47195 21.8537 -24.585 0.704723 2.48042 21.5725 -24.59 0.791226 2.49271 21.2962 -24.595 0.874282 2.50883 21.0245 -24.6 0.954355 2.52882 20.7576 -24.605 1.03182 2.55269 20.4951 -24.61 1.10689 2.58057 20.2373 -24.615 1.17981 2.61255 19.9839 -24.62 1.25084 2.64871 19.7351 -24.625 1.32021 2.68914 19.4907 -24.63 1.3882 2.73392 19.2508 -24.635 1.45505 2.78312 19.0153 -24.64 1.52103 2.83683 18.7843 -24.645 1.58642 2.89509 18.5577 -24.65 1.65149 2.95797 18.3355 -24.655 1.71652 3.02553 18.1178 -24.66 1.7818 3.09781 17.9045 -24.665 1.84761 3.17486 17.6957 -24.67 1.91425 3.25672 17.4914 -24.675 1.98194 3.34348 17.2917 -24.68 2.05082 3.43529 17.0966 -24.685 2.121 3.53236 16.9062 -24.69 2.19265 3.63484 16.7206 -24.695 2.2659 3.74291 16.5399 -24.7 2.34093 3.85674 16.3643 -24.705 2.4179 3.97652 16.1938 -24.71 2.497 4.1024 16.0286 -24.715 2.57841 4.23456 15.8689 -24.72 2.66236 4.37317 15.7147 -24.725 2.74904 4.5184 15.5664 -24.73 2.83868 4.6704 15.4241 -24.735 2.93152 4.82935 15.288 -24.74 3.0278 4.99541 15.1583 -24.745 3.12777 5.16875 15.0353 -24.75 3.23168 5.3495 14.9192 -24.755 3.33968 5.53776 14.8105 -24.76 3.45191 5.73385 14.7094 -24.765 3.56851 5.93815 14.6163 -24.77 3.68966 6.15098 14.5317 -24.775 3.81551 6.37265 14.4558 -24.78 3.94625 6.60339 14.3893 -24.785 4.08203 6.84344 14.3327 -24.79 4.22305 7.09297 14.2865 -24.795 4.36949 7.35212 14.2512 -24.8 4.52153 7.62099 14.2277 -24.805 4.67936 7.89966 14.2164 -24.81 4.84319 8.18815 14.2183 -24.815 5.01321 8.48644 14.2341 -24.82 5.18963 8.7945 14.2645 -24.825 5.37265 9.11223 14.3105 -24.83 5.56249 9.43953 14.373 -24.835 5.75937 9.77621 14.4529 -24.84 5.96351 10.1221 14.5512 -24.845 6.17468 10.4765 14.6681 -24.85 6.39222 10.8384 14.8037 -24.855 6.61651 11.2076 14.96 -24.86 6.84789 11.5841 15.1391 -24.865 7.08658 11.9673 15.3429 -24.87 7.33272 12.3565 15.573 -24.875 7.58633 12.7508 15.8309 -24.88 7.84735 13.1491 16.1181 -24.885 8.11559 13.5499 16.4358 -24.89 8.39077 13.9516 16.7849 -24.895 8.67252 14.3524 17.1662 -24.9 8.96035 14.7501 17.5805 -24.905 9.25367 15.1424 18.0282 -24.91 9.55179 15.5267 18.5097 -24.915 9.85393 15.9003 19.0251 -24.92 10.1592 16.2601 19.5744 -24.925 10.4666 16.6027 20.1574 -24.93 10.775 16.9248 20.7738 -24.935 11.0833 17.2226 21.423 -24.94 11.3901 17.4921 22.1043 -24.945 11.694 17.729 22.8168 -24.95 11.9935 17.9289 23.5595 -24.955 12.2871 18.0873 24.3311 -24.96 12.5732 18.2001 25.1302 -24.965 12.8508 18.2659 25.9525 -24.97 13.1171 18.2813 26.7916 -24.975 13.3698 18.2433 27.6412 -24.98 13.6065 18.1494 28.4949 -24.985 13.8251 17.9982 29.3468 -24.99 14.0237 17.7884 30.1909 -24.995 14.2004 17.5198 31.0213 -25 14.3536 17.1927 31.8323 -25.005 14.4816 16.808 32.6184 -25.01 14.5832 16.3672 33.3741 -25.015 14.6571 15.8727 34.0941 -25.02 14.7022 15.3273 34.7732 -25.025 14.7177 14.7345 35.4063 -25.03 14.7027 14.0987 35.9885 -25.035 14.6568 13.4246 36.515 -25.04 14.5791 12.718 36.9784 -25.045 14.4701 11.9868 37.3761 -25.05 14.3304 11.2392 37.7083 -25.055 14.1613 10.4825 37.9756 -25.06 13.9638 9.72368 38.179 -25.065 13.7394 8.96912 38.32 -25.07 13.4894 8.22455 38.4 -25.075 13.2156 7.49514 38.421 -25.08 12.9198 6.78548 38.3854 -25.085 12.604 6.09959 38.2958 -25.09 12.2702 5.44091 38.155 -25.095 11.9207 4.81227 37.9664 -25.1 11.558 4.21597 37.7335 -25.105 11.1847 3.65369 37.4604 -25.11 10.8034 3.12654 37.1511 -25.115 10.4167 2.63555 36.811 -25.12 10.0258 2.18213 36.4463 -25.125 9.6328 1.76605 36.0606 -25.13 9.23959 1.38674 35.6574 -25.135 8.848 1.04338 35.2397 -25.14 8.45966 0.734911 34.8106 -25.145 8.07607 0.460003 34.3729 -25.15 7.69859 0.217082 33.9291 -25.155 7.32842 0.00431778 33.4815 -25.16 6.96659 -0.18037 33.0324 -25.165 6.61402 -0.339317 32.5837 -25.17 6.27144 -0.47511 32.1373 -25.175 5.93947 -0.590589 31.6945 -25.18 5.61859 -0.687827 31.2564 -25.185 5.30919 -0.767323 30.8228 -25.19 5.01142 -0.830736 30.3942 -25.195 4.7254 -0.879674 29.9709 -25.2 4.45117 -0.915657 29.5535 -25.205 4.18876 -0.940115 29.142 -25.21 3.93812 -0.95439 28.7368 -25.215 3.69919 -0.959737 28.3379 -25.22 3.47182 -0.95732 27.9455 -25.225 3.25585 -0.948218 27.5595 -25.23 3.05103 -0.933419 27.1799 -25.235 2.8571 -0.913824 26.8065 -25.24 2.67374 -0.890245 26.4392 -25.245 2.50049 -0.863381 26.0777 -25.25 2.33693 -0.833799 25.7222 -25.255 2.18275 -0.80202 25.3723 -25.26 2.03763 -0.768523 25.028 -25.265 1.90124 -0.733747 24.6891 -25.27 1.77326 -0.698089 24.3556 -25.275 1.65336 -0.661906 24.0272 -25.28 1.54118 -0.625515 23.7038 -25.285 1.43638 -0.589192 23.3853 -25.29 1.3386 -0.553171 23.0716 -25.295 1.24748 -0.517645 22.7626 -25.3 1.16265 -0.482769 22.4581 -25.305 1.08372 -0.448655 22.1581 -25.31 1.01032 -0.415374 21.8624 -25.315 0.942052 -0.382956 21.5709 -25.32 0.878519 -0.351393 21.2836 -25.325 0.819338 -0.320648 21.0003 -25.33 0.764356 -0.290809 20.7209 -25.335 0.71341 -0.261935 20.4455 -25.34 0.666307 -0.234055 20.1738 -25.345 0.622855 -0.207184 19.9059 -25.35 0.58286 -0.181327 19.6416 -25.355 0.546128 -0.156475 19.381 -25.36 0.512464 -0.132607 19.124 -25.365 0.481673 -0.10969 18.8704 -25.37 0.45356 -0.0876807 18.6203 -25.375 0.427929 -0.0665203 18.3736 -25.38 0.404583 -0.0461401 18.1301 -25.385 0.383326 -0.0264586 17.89 -25.39 0.36396 -0.00738212 17.653 -25.395 0.34631 0.011178 17.4192 -25.4 0.330331 0.0292207 17.1885 -25.405 0.315959 0.0467638 16.9609 -25.41 0.303123 0.0638366 16.7363 -25.415 0.29175 0.0804728 16.5148 -25.42 0.281766 0.0967112 16.2962 -25.425 0.273097 0.112596 16.0805 -25.43 0.265671 0.128174 15.8677 -25.435 0.259411 0.1435 15.6577 -25.44 0.254244 0.158632 15.4505 -25.445 0.250093 0.173632 15.2461 -25.45 0.246882 0.188569 15.0444 -25.455 0.244536 0.203515 14.8454 -25.46 0.242976 0.218547 14.649 -25.465 0.242147 0.233731 14.4553 -25.47 0.24206 0.249082 14.2641 -25.475 0.242706 0.264626 14.0755 -25.48 0.244076 0.280395 13.8894 -25.485 0.246161 0.296427 13.7058 -25.49 0.24895 0.31276 13.5246 -25.495 0.252433 0.329439 13.3459 -25.5 0.2566 0.34651 13.1695 -25.505 0.261439 0.364024 12.9956 -25.51 0.266938 0.382035 12.8239 -25.515 0.273087 0.400602 12.6546 -25.52 0.279874 0.419787 12.4876 -25.525 0.287285 0.439654 12.3228 -25.53 0.295309 0.460272 12.1602 -25.535 0.303933 0.481715 11.9999 -25.54 0.313153 0.504052 11.8417 -25.545 0.323011 0.527324 11.6857 -25.55 0.333534 0.551575 11.5318 -25.555 0.344742 0.576859 11.38 -25.56 0.35666 0.603232 11.2303 -25.565 0.369311 0.630759 11.0827 -25.57 0.382724 0.659505 10.9371 -25.575 0.396925 0.689544 10.7935 -25.58 0.411944 0.720952 10.652 -25.585 0.427814 0.753813 10.5124 -25.59 0.444565 0.788214 10.3749 -25.595 0.462233 0.824245 10.2393 -25.6 0.480853 0.862006 10.1056 -25.605 0.500463 0.901598 9.97391 -25.61 0.521101 0.943127 9.84414 -25.615 0.542809 0.986707 9.71631 -25.62 0.565628 1.03245 9.5904 -25.625 0.589602 1.08049 9.46641 -25.63 0.614789 1.13093 9.34434 -25.635 0.641347 1.18387 9.22426 -25.64 0.66933 1.23942 9.10616 -25.645 0.698777 1.29773 8.99001 -25.65 0.729731 1.35897 8.87579 -25.655 0.762248 1.4233 8.7635 -25.66 0.796388 1.49089 8.65315 -25.665 0.832222 1.56194 8.54474 -25.67 0.86983 1.63664 8.4383 -25.675 0.909298 1.7152 8.33386 -25.68 0.950722 1.79784 8.23147 -25.685 0.994207 1.88478 8.13117 -25.69 1.03987 1.97625 8.03303 -25.695 1.08782 2.0725 7.93712 -25.7 1.1382 2.17379 7.84352 -25.705 1.19113 2.28039 7.75232 -25.71 1.24678 2.39256 7.66361 -25.715 1.3053 2.51059 7.57751 -25.72 1.36684 2.63478 7.49414 -25.725 1.43157 2.76542 7.41362 -25.73 1.49969 2.90284 7.33608 -25.735 1.57138 3.04736 7.26169 -25.74 1.64683 3.19931 7.19058 -25.745 1.72626 3.35902 7.12294 -25.75 1.80987 3.52687 7.05893 -25.755 1.89789 3.70312 6.99881 -25.76 1.99061 3.88717 6.94376 -25.765 2.08825 4.07959 6.894 -25.77 2.19101 4.28133 6.84943 -25.775 2.29912 4.49331 6.81007 -25.78 2.4128 4.71641 6.77603 -25.785 2.5323 4.95143 6.74756 -25.79 2.65789 5.19916 6.72499 -25.795 2.78983 5.46029 6.70876 -25.8 2.92842 5.73551 6.69944 -25.805 3.07396 6.02543 6.69769 -25.81 3.22676 6.33062 6.70428 -25.815 3.38715 6.6516 6.72009 -25.82 3.55547 6.98883 6.74612 -25.825 3.73207 7.34273 6.78346 -25.83 3.91733 7.71367 6.83332 -25.835 4.11163 8.10197 6.89702 -25.84 4.31536 8.5079 6.97598 -25.845 4.52893 8.93168 7.07174 -25.85 4.75277 9.37347 7.18594 -25.855 4.98731 9.8334 7.32032 -25.86 5.233 10.3115 7.47674 -25.865 5.49031 10.8079 7.65718 -25.87 5.75971 11.3224 7.86371 -25.875 6.0417 11.855 8.09852 -25.88 6.33677 12.4057 8.36389 -25.885 6.64544 12.9741 8.66222 -25.89 6.96811 13.5599 8.99588 -25.895 7.3036 14.1611 9.36614 -25.9 7.65201 14.7764 9.77685 -25.905 8.01377 15.4045 10.2323 -25.91 8.38906 16.0434 10.7362 -25.915 8.77782 16.6903 11.2922 -25.92 9.17975 17.342 11.9034 -25.925 9.59431 17.9944 12.5725 -25.93 10.0207 18.6429 13.3018 -25.935 10.4579 19.2821 14.0933 -25.94 10.9047 19.906 14.9487 -25.945 11.3595 20.5079 15.8691 -25.95 11.8205 21.0804 16.8554 -25.955 12.2859 21.6155 17.9081 -25.96 12.7533 22.1046 19.0273 -25.965 13.2202 22.5383 20.2127 -25.97 13.6841 22.9074 21.4636 -25.975 14.1426 23.2059 22.7765 -25.98 14.5913 23.4217 24.1425 -25.985 15.0259 23.543 25.5519 -25.99 15.442 23.5601 26.9942 -25.995 15.8352 23.4648 28.458 -26 16.2014 23.2513 29.9315 -26.005 16.5362 22.9155 31.402 -26.01 16.8356 22.4553 32.8561 -26.015 17.0955 21.8704 34.2798 -26.02 17.3119 21.1626 35.6583 -26.025 17.4808 20.3357 36.9762 -26.03 17.5984 19.3951 38.2172 -26.035 17.6609 18.3472 39.3634 -26.04 17.6667 17.1958 40.3939 -26.045 17.6149 15.9631 41.3018 -26.05 17.505 14.6722 42.0841 -26.055 17.3371 13.3443 42.7387 -26.06 17.1123 11.9982 43.2647 -26.065 16.8321 10.6506 43.6625 -26.07 16.499 9.31594 43.9336 -26.075 16.116 8.00648 44.0806 -26.08 15.6867 6.73227 44.1073 -26.085 15.2157 5.50116 44.0187 -26.09 14.7082 4.3188 43.821 -26.095 14.1699 3.18861 43.5215 -26.1 13.6069 2.114 43.1298 -26.105 13.0211 1.1134 42.666 -26.11 12.417 0.192959 42.1432 -26.115 11.7997 -0.646062 41.572 -26.12 11.1738 -1.40366 40.9623 -26.125 10.5436 -2.08109 40.3235 -26.13 9.91311 -2.68085 39.6645 -26.135 9.2859 -3.20668 38.9935 -26.14 8.66522 -3.6636 38.3183 -26.145 8.05398 -4.05785 37.6461 -26.15 7.45471 -4.39676 36.9835 -26.155 6.8696 -4.68415 36.3324 -26.16 6.30023 -4.92405 35.6943 -26.165 5.74792 -5.12139 35.0713 -26.17 5.21374 -5.28088 34.4651 -26.175 4.69857 -5.40696 33.8768 -26.18 4.20306 -5.50383 33.3074 -26.185 3.72763 -5.57546 32.7572 -26.19 3.2725 -5.62554 32.2263 -26.195 2.83765 -5.65753 31.7144 -26.2 2.42287 -5.67466 31.2206 -26.205 2.02786 -5.67986 30.7446 -26.21 1.65216 -5.67533 30.2859 -26.215 1.29517 -5.66291 29.8437 -26.22 0.956282 -5.64433 29.4172 -26.225 0.63485 -5.62119 29.0055 -26.23 0.330222 -5.59496 28.6078 -26.235 0.0417234 -5.56701 28.2236 -26.24 -0.23134 -5.53855 27.852 -26.245 -0.489682 -5.5107 27.4926 -26.25 -0.734036 -5.48444 27.1446 -26.255 -0.965154 -5.46063 26.8077 -26.26 -1.18381 -5.44002 26.4812 -26.265 -1.39079 -5.42322 26.1647 -26.27 -1.58691 -5.41071 25.8579 -26.275 -1.773 -5.40288 25.5604 -26.28 -1.94992 -5.39995 25.2717 -26.285 -2.11854 -5.40213 24.9914 -26.29 -2.27944 -5.40962 24.7192 -26.295 -2.4331 -5.42263 24.4549 -26.3 -2.58004 -5.44132 24.1983 -26.305 -2.72076 -5.46584 23.9495 -26.31 -2.85577 -5.49633 23.7081 -26.315 -2.98559 -5.5329 23.4742 -26.32 -3.11076 -5.57562 23.2476 -26.325 -3.23179 -5.62457 23.0283 -26.33 -3.34923 -5.67979 22.8162 -26.335 -3.46362 -5.7413 22.6111 -26.34 -3.5755 -5.80909 22.4132 -26.345 -3.68542 -5.88316 22.2222 -26.35 -3.79395 -5.96344 22.0383 -26.355 -3.90164 -6.04988 21.8613 -26.36 -4.0088 -6.14241 21.6915 -26.365 -4.11558 -6.24104 21.5289 -26.37 -4.22219 -6.34583 21.3739 -26.375 -4.32889 -6.4568 21.2266 -26.38 -4.4359 -6.57396 21.0871 -26.385 -4.54346 -6.6973 20.9557 -26.39 -4.6518 -6.82679 20.8326 -26.395 -4.76118 -6.96239 20.7179 -26.4 -4.87182 -7.10403 20.6119 -26.405 -4.98398 -7.25161 20.5148 -26.41 -5.09789 -7.40504 20.4269 -26.415 -5.21381 -7.56419 20.3484 -26.42 -5.33197 -7.72892 20.2794 -26.425 -5.45263 -7.89906 20.2204 -26.43 -5.57603 -8.07443 20.1714 -26.435 -5.70233 -8.25481 20.1328 -26.44 -5.83151 -8.44003 20.1048 -26.445 -5.96364 -8.63002 20.088 -26.45 -6.09878 -8.82463 20.0828 -26.455 -6.23697 -9.02368 20.0898 -26.46 -6.37823 -9.22693 20.1092 -26.465 -6.52258 -9.43409 20.1417 -26.47 -6.67002 -9.64479 20.1875 -26.475 -6.82054 -9.85862 20.2471 -26.48 -6.9741 -10.0751 20.3208 -26.485 -7.13065 -10.2938 20.4089 -26.49 -7.29015 -10.514 20.5118 -26.495 -7.4525 -10.7352 20.6297 -26.5 -7.61762 -10.9567 20.763 -26.505 -7.7854 -11.1777 20.9119 -26.51 -7.95573 -11.3974 21.0766 -26.515 -8.12847 -11.615 21.2574 -26.52 -8.30346 -11.8296 21.4544 -26.525 -8.48055 -12.0402 21.6677 -26.53 -8.65931 -12.247 21.8972 -26.535 -8.8393 -12.4487 22.1429 -26.54 -9.02012 -12.6438 22.4049 -26.545 -9.20133 -12.8307 22.6831 -26.55 -9.38246 -13.0079 22.9776 -26.555 -9.56302 -13.174 23.2878 -26.56 -9.7425 -13.3276 23.6134 -26.565 -9.92034 -13.4675 23.9537 -26.57 -10.096 -13.5924 24.3081 -26.575 -10.2688 -13.7012 24.6757 -26.58 -10.4382 -13.7928 25.0554 -26.585 -10.6035 -13.8661 25.4461 -26.59 -10.7641 -13.9202 25.8465 -26.595 -10.9192 -13.9542 26.2551 -26.6 -11.068 -13.9673 26.6704 -26.605 -11.21 -13.9587 27.0905 -26.61 -11.3441 -13.9277 27.5138 -26.615 -11.4697 -13.8738 27.938 -26.62 -11.5859 -13.7962 28.3612 -26.625 -11.6919 -13.6946 28.781 -26.63 -11.7867 -13.5682 29.1949 -26.635 -11.8703 -13.4139 29.6014 -26.64 -11.9421 -13.2329 29.9981 -26.645 -12.0015 -13.0279 30.3825 -26.65 -12.0479 -12.8014 30.7524 -26.655 -12.0808 -12.5557 31.1058 -26.66 -12.0999 -12.2932 31.4407 -26.665 -12.1049 -12.0158 31.7556 -26.67 -12.0956 -11.7256 32.0488 -26.675 -12.072 -11.4243 32.3192 -26.68 -12.0342 -11.1137 32.5656 -26.685 -11.9822 -10.7953 32.7872 -26.69 -11.9163 -10.4705 32.9831 -26.695 -11.8368 -10.1406 33.1529 -26.7 -11.7441 -9.80672 33.2963 -26.705 -11.6389 -9.46994 33.413 -26.71 -11.5218 -9.13109 33.5032 -26.715 -11.3934 -8.79092 33.5671 -26.72 -11.2546 -8.45002 33.6051 -26.725 -11.1064 -8.10887 33.6178 -26.73 -10.9499 -7.7678 33.6061 -26.735 -10.7859 -7.42758 33.5709 -26.74 -10.6136 -7.09477 33.513 -26.745 -10.4337 -6.77215 33.4331 -26.75 -10.247 -6.4608 33.332 -26.755 -10.0547 -6.16166 33.2107 -26.76 -9.85749 -5.87555 33.0701 -26.765 -9.65644 -5.60316 32.9113 -26.77 -9.45238 -5.34509 32.7353 -26.775 -9.24615 -5.10179 32.5433 -26.78 -9.03856 -4.87357 32.3366 -26.785 -8.83039 -4.66067 32.1165 -26.79 -8.62237 -4.46315 31.8843 -26.795 -8.41522 -4.281 31.6414 -26.8 -8.20961 -4.11404 31.3893 -26.805 -8.00618 -3.96201 31.1296 -26.81 -7.80554 -3.82448 30.8639 -26.815 -7.60826 -3.70095 30.5939 -26.82 -7.41488 -3.59076 30.3213 -26.825 -7.22592 -3.49316 30.0477 -26.83 -7.04189 -3.40763 29.772 -26.835 -6.86307 -3.33373 29.4941 -26.84 -6.6897 -3.27098 29.2147 -26.845 -6.52198 -3.21893 28.9342 -26.85 -6.36011 -3.17709 28.6532 -26.855 -6.20426 -3.145 28.3722 -26.86 -6.05458 -3.12221 28.0916 -26.865 -5.9112 -3.10826 27.8119 -26.87 -5.77424 -3.10271 27.5335 -26.875 -5.6438 -3.10509 27.2566 -26.88 -5.51993 -3.11497 26.9817 -26.885 -5.40271 -3.13191 26.7089 -26.89 -5.29217 -3.15547 26.4386 -26.895 -5.18832 -3.18522 26.171 -26.9 -5.09116 -3.22074 25.9062 -26.905 -5.00067 -3.2616 25.6445 -26.91 -4.91681 -3.30739 25.3858 -26.915 -4.8395 -3.35772 25.1303 -26.92 -4.76845 -3.4128 24.8783 -26.925 -4.70354 -3.47256 24.6299 -26.93 -4.64475 -3.53682 24.3851 -26.935 -4.592 -3.60542 24.1441 -26.94 -4.54524 -3.67822 23.9071 -26.945 -4.50443 -3.7551 23.674 -26.95 -4.46948 -3.83595 23.445 -26.955 -4.44034 -3.92069 23.2203 -26.96 -4.41693 -4.00925 22.9998 -26.965 -4.39919 -4.10159 22.7839 -26.97 -4.38703 -4.19768 22.5726 -26.975 -4.38036 -4.29751 22.366 -26.98 -4.37911 -4.40109 22.1642 -26.985 -4.38318 -4.50845 21.9675 -26.99 -4.39248 -4.61964 21.7759 -26.995 -4.40692 -4.73472 21.5896 -27 -4.42638 -4.85379 21.4087 -27.005 -4.45077 -4.97694 21.2335 -27.01 -4.47998 -5.1043 21.0641 -27.015 -4.51389 -5.23601 20.9005 -27.02 -4.55238 -5.37216 20.7431 -27.025 -4.5954 -5.51263 20.5921 -27.03 -4.64303 -5.6575 20.4477 -27.035 -4.69536 -5.80688 20.31 -27.04 -4.75246 -5.96086 20.1793 -27.045 -4.81438 -6.11951 20.0558 -27.05 -4.8812 -6.2829 19.9397 -27.055 -4.95294 -6.45107 19.8314 -27.06 -5.02964 -6.62406 19.731 -27.065 -5.11133 -6.80187 19.6389 -27.07 -5.19802 -6.98453 19.5553 -27.075 -5.28971 -7.17201 19.4807 -27.08 -5.38639 -7.36429 19.4154 -27.085 -5.48805 -7.56134 19.3597 -27.09 -5.59467 -7.76309 19.314 -27.095 -5.7062 -7.96948 19.2787 -27.1 -5.82261 -8.18044 19.2543 -27.105 -5.94383 -8.39585 19.2411 -27.11 -6.0698 -8.61562 19.2396 -27.115 -6.20044 -8.83962 19.2503 -27.12 -6.33568 -9.06771 19.2737 -27.125 -6.4754 -9.29973 19.3102 -27.13 -6.61951 -9.53552 19.3604 -27.135 -6.7679 -9.77489 19.4248 -27.14 -6.92038 -10.0176 19.5035 -27.145 -7.07678 -10.2631 19.5958 -27.15 -7.23715 -10.5106 19.7027 -27.155 -7.40152 -10.7596 19.8251 -27.16 -7.56989 -11.0092 19.964 -27.165 -7.74217 -11.2586 20.1201 -27.17 -7.91825 -11.507 20.2941 -27.175 -8.09796 -11.7536 20.4864 -27.18 -8.28107 -11.9972 20.6975 -27.185 -8.4673 -12.237 20.9276 -27.19 -8.65635 -12.4719 21.1768 -27.195 -8.84783 -12.7008 21.4453 -27.2 -9.04132 -12.9225 21.7328 -27.205 -9.23635 -13.1358 22.0391 -27.21 -9.43238 -13.3395 22.364 -27.215 -9.62885 -13.5323 22.707 -27.22 -9.82512 -13.7128 23.0674 -27.225 -10.0205 -13.8796 23.4445 -27.23 -10.2143 -14.0312 23.8376 -27.235 -10.4057 -14.1662 24.2457 -27.24 -10.594 -14.283 24.6676 -27.245 -10.7781 -14.38 25.1022 -27.25 -10.9572 -14.4556 25.5482 -27.255 -11.1303 -14.5079 26.0042 -27.26 -11.2964 -14.5354 26.4685 -27.265 -11.4547 -14.5362 26.9398 -27.27 -11.6054 -14.5094 27.4169 -27.275 -11.7472 -14.4551 27.8965 -27.28 -11.8791 -14.3732 28.3754 -27.285 -11.9998 -14.2639 28.8505 -27.29 -12.1085 -14.1277 29.3189 -27.295 -12.2043 -13.9649 29.778 -27.3 -12.2865 -13.7761 30.225 -27.305 -12.3544 -13.5621 30.6577 -27.31 -12.4074 -13.3237 31.0736 -27.315 -12.4452 -13.0618 31.4709 -27.32 -12.4673 -12.7777 31.8474 -27.325 -12.4736 -12.4725 32.2015 -27.33 -12.464 -12.1476 32.5315 -27.335 -12.4384 -11.8046 32.836 -27.34 -12.397 -11.445 33.1137 -27.345 -12.3398 -11.0706 33.3633 -27.35 -12.2673 -10.6834 33.5841 -27.355 -12.1798 -10.2853 33.7751 -27.36 -12.0773 -9.87977 33.9352 -27.365 -11.9595 -9.47127 34.0635 -27.37 -11.8275 -9.0622 34.1603 -27.375 -11.682 -8.65483 34.226 -27.38 -11.524 -8.25131 34.2613 -27.385 -11.3543 -7.85363 34.2666 -27.39 -11.1739 -7.46364 34.2429 -27.395 -10.9837 -7.08304 34.1912 -27.4 -10.7847 -6.71339 34.1124 -27.405 -10.5778 -6.35613 34.0079 -27.41 -10.3639 -6.01251 33.879 -27.415 -10.144 -5.68368 33.7271 -27.42 -9.91916 -5.37062 33.5539 -27.425 -9.69027 -5.07419 33.3612 -27.43 -9.45836 -4.79507 33.1508 -27.435 -9.22445 -4.53383 32.9248 -27.44 -8.98956 -4.29089 32.6853 -27.445 -8.75472 -4.06652 32.4347 -27.45 -8.52096 -3.86051 32.175 -27.455 -8.28916 -3.67126 31.9064 -27.46 -8.05997 -3.49836 31.63 -27.465 -7.834 -3.34151 31.3467 -27.47 -7.61181 -3.2004 31.0575 -27.475 -7.39394 -3.07464 30.7634 -27.48 -7.18086 -2.96379 30.4653 -27.485 -6.97303 -2.86736 30.1639 -27.49 -6.77085 -2.78481 29.8602 -27.495 -6.5747 -2.71556 29.5548 -27.5 -6.38491 -2.65894 29.2484 -27.505 -6.20177 -2.61428 28.9418 -27.51 -6.02554 -2.58081 28.6355 -27.515 -5.85642 -2.55773 28.3301 -27.52 -5.6946 -2.5442 28.0262 -27.525 -5.54022 -2.53929 27.7242 -27.53 -5.39336 -2.54206 27.4245 -27.535 -5.25409 -2.55149 27.1276 -27.54 -5.12243 -2.56653 26.8338 -27.545 -4.99825 -2.58685 26.5431 -27.55 -4.88128 -2.61335 26.2554 -27.555 -4.77144 -2.64572 25.9707 -27.56 -4.66865 -2.68359 25.6893 -27.565 -4.57282 -2.72668 25.4111 -27.57 -4.48387 -2.77468 25.1364 -27.575 -4.40169 -2.82734 24.8652 -27.58 -4.32619 -2.88443 24.5977 -27.585 -4.25728 -2.94574 24.3339 -27.59 -4.19483 -3.01109 24.074 -27.595 -4.13875 -3.08033 23.8181 -27.6 -4.08891 -3.15333 23.5663 -27.605 -4.0452 -3.23 23.3186 -27.61 -4.00749 -3.31025 23.0751 -27.615 -3.97566 -3.39405 22.8359 -27.62 -3.94957 -3.48138 22.6012 -27.625 -3.92908 -3.57224 22.3709 -27.63 -3.91406 -3.66666 22.1451 -27.635 -3.90431 -3.76472 21.9239 -27.64 -3.89963 -3.86647 21.7076 -27.645 -3.90005 -3.97193 21.4962 -27.65 -3.90555 -4.08111 21.2897 -27.655 -3.91614 -4.19405 21.0883 -27.66 -3.93183 -4.31078 20.892 -27.665 -3.9526 -4.43135 20.701 -27.67 -3.97844 -4.55583 20.5155 -27.675 -4.00933 -4.68429 20.3354 -27.68 -4.04526 -4.81682 20.1611 -27.685 -4.0862 -4.95351 19.9926 -27.69 -4.13212 -5.09446 19.8303 -27.695 -4.18299 -5.2398 19.6742 -27.7 -4.23876 -5.38965 19.5246 -27.705 -4.2994 -5.54415 19.3817 -27.71 -4.36485 -5.70346 19.2459 -27.715 -4.43506 -5.86774 19.1172 -27.72 -4.50998 -6.03716 18.9961 -27.725 -4.58955 -6.21191 18.8828 -27.73 -4.67369 -6.39218 18.7776 -27.735 -4.76234 -6.57817 18.6808 -27.74 -4.85553 -6.76984 18.5927 -27.745 -4.95352 -6.96686 18.5137 -27.75 -5.05641 -7.16942 18.444 -27.755 -5.1643 -7.37765 18.3842 -27.76 -5.27725 -7.59165 18.3347 -27.765 -5.39533 -7.81145 18.296 -27.77 -5.5186 -8.03704 18.2685 -27.775 -5.64708 -8.26838 18.2527 -27.78 -5.78079 -8.50533 18.2491 -27.785 -5.91974 -8.74776 18.2582 -27.79 -6.06392 -8.99544 18.2807 -27.795 -6.21331 -9.24812 18.3168 -27.8 -6.36787 -9.50549 18.3674 -27.805 -6.52754 -9.76719 18.4328 -27.81 -6.69226 -10.0328 18.5137 -27.815 -6.86194 -10.3019 18.6106 -27.82 -7.03651 -10.574 18.7243 -27.825 -7.21583 -10.8484 18.8551 -27.83 -7.3998 -11.1247 19.0039 -27.835 -7.58827 -11.4021 19.1712 -27.84 -7.78108 -11.6799 19.3577 -27.845 -7.97796 -11.9578 19.5633 -27.85 -8.17854 -12.2348 19.7881 -27.855 -8.38261 -12.5095 20.0329 -27.86 -8.58991 -12.7802 20.2986 -27.865 -8.80011 -13.0455 20.5857 -27.87 -9.01281 -13.3036 20.8945 -27.875 -9.22757 -13.5531 21.2252 -27.88 -9.44388 -13.7923 21.5779 -27.885 -9.66117 -14.0196 21.9522 -27.89 -9.87881 -14.2333 22.3477 -27.895 -10.0961 -14.4318 22.7639 -27.9 -10.3123 -14.6134 23.1999 -27.905 -10.5266 -14.7764 23.6547 -27.91 -10.7382 -14.9192 24.1272 -27.915 -10.946 -15.0401 24.6158 -27.92 -11.1492 -15.1373 25.119 -27.925 -11.3466 -15.2091 25.635 -27.93 -11.5372 -15.2538 26.1618 -27.935 -11.7198 -15.2696 26.6973 -27.94 -11.8931 -15.2548 27.239 -27.945 -12.0563 -15.2073 27.7849 -27.95 -12.2092 -15.1255 28.3332 -27.955 -12.3502 -15.0098 28.8798 -27.96 -12.4782 -14.861 29.4208 -27.965 -12.592 -14.6799 29.9524 -27.97 -12.6903 -14.4676 30.4711 -27.975 -12.7725 -14.225 30.9737 -27.98 -12.8376 -13.9534 31.4571 -27.985 -12.885 -13.6541 31.9185 -27.99 -12.9143 -13.3287 32.3555 -27.995 -12.9252 -12.9787 32.7657 -28 -12.9174 -12.6059 33.1471 -28.005 -12.8908 -12.212 33.4979 -28.01 -12.8456 -11.799 33.8165 -28.015 -12.7819 -11.3692 34.1016 -28.02 -12.7003 -10.9246 34.3521 -28.025 -12.601 -10.4677 34.5672 -28.03 -12.485 -10.0008 34.7463 -28.035 -12.352 -9.52875 34.8886 -28.04 -12.2021 -9.05678 34.9938 -28.045 -12.0364 -8.58773 35.0626 -28.05 -11.8562 -8.12417 35.0956 -28.055 -11.6625 -7.66852 35.0939 -28.06 -11.4565 -7.22298 35.0585 -28.065 -11.2393 -6.78956 34.9907 -28.07 -11.0122 -6.3701 34.8918 -28.075 -10.7762 -5.96624 34.7636 -28.08 -10.5325 -5.5794 34.6077 -28.085 -10.2824 -5.21086 34.426 -28.09 -10.0269 -4.86166 34.2206 -28.095 -9.76717 -4.53269 33.9938 -28.1 -9.50446 -4.22462 33.748 -28.105 -9.23991 -3.93793 33.4856 -28.11 -8.97468 -3.67293 33.2095 -28.115 -8.70995 -3.42972 32.9225 -28.12 -8.4469 -3.208 32.6273 -28.125 -8.18655 -3.00589 32.3238 -28.13 -7.92965 -2.82262 32.0128 -28.135 -7.67684 -2.65765 31.6955 -28.14 -7.42877 -2.5104 31.373 -28.145 -7.18598 -2.38025 31.0463 -28.15 -6.94902 -2.26654 30.7166 -28.155 -6.71834 -2.16855 30.3846 -28.16 -6.49438 -2.08551 30.0512 -28.165 -6.27751 -2.01664 29.7173 -28.17 -6.06806 -1.96107 29.3836 -28.175 -5.86631 -1.9179 29.0507 -28.18 -5.67249 -1.8862 28.7191 -28.185 -5.48679 -1.86498 28.3895 -28.19 -5.30934 -1.85319 28.0623 -28.195 -5.14023 -1.84977 27.7378 -28.2 -4.97949 -1.85358 27.4164 -28.205 -4.82713 -1.86345 27.0983 -28.21 -4.68297 -1.87924 26.7836 -28.215 -4.54677 -1.9014 26.4723 -28.22 -4.41843 -1.92947 26.1643 -28.225 -4.29782 -1.96303 25.86 -28.23 -4.18483 -2.00169 25.5592 -28.235 -4.07933 -2.04509 25.2622 -28.24 -3.98119 -2.09291 24.9689 -28.245 -3.89026 -2.14486 24.6795 -28.25 -3.80641 -2.20068 24.3941 -28.255 -3.72948 -2.26014 24.1126 -28.26 -3.65933 -2.32304 23.8352 -28.265 -3.59579 -2.38925 23.5619 -28.27 -3.53871 -2.45861 23.2928 -28.275 -3.4879 -2.53105 23.0278 -28.28 -3.4432 -2.6065 22.7671 -28.285 -3.40443 -2.68493 22.5105 -28.29 -3.3714 -2.76635 22.2583 -28.295 -3.34389 -2.85081 22.0103 -28.3 -3.32169 -2.93835 21.7668 -28.305 -3.30475 -3.02894 21.5277 -28.31 -3.29303 -3.12259 21.293 -28.315 -3.2865 -3.21931 21.0629 -28.32 -3.2851 -3.31915 20.8374 -28.325 -3.28878 -3.42214 20.6165 -28.33 -3.29751 -3.52836 20.4003 -28.335 -3.31122 -3.63789 20.1889 -28.34 -3.32986 -3.75084 19.9824 -28.345 -3.35336 -3.86732 19.7809 -28.35 -3.38168 -3.98748 19.5846 -28.355 -3.41473 -4.11146 19.3934 -28.36 -3.45245 -4.23944 19.2077 -28.365 -3.49477 -4.3716 19.0275 -28.37 -3.54161 -4.50816 18.853 -28.375 -3.5929 -4.64934 18.6844 -28.38 -3.64855 -4.79537 18.5218 -28.385 -3.70849 -4.94651 18.3655 -28.39 -3.7727 -5.10294 18.2156 -28.395 -3.84141 -5.26457 18.0724 -28.4 -3.91474 -5.43157 17.9361 -28.405 -3.99275 -5.60417 17.807 -28.41 -4.07552 -5.78255 17.6853 -28.415 -4.16313 -5.96687 17.5714 -28.42 -4.25565 -6.15731 17.4654 -28.425 -4.35315 -6.35399 17.3678 -28.43 -4.4557 -6.55704 17.279 -28.435 -4.56335 -6.76657 17.1993 -28.44 -4.67619 -6.98268 17.1291 -28.445 -4.79426 -7.20543 17.069 -28.45 -4.91763 -7.43489 17.0193 -28.455 -5.04635 -7.67111 16.9807 -28.46 -5.18048 -7.9141 16.9536 -28.465 -5.32008 -8.16388 16.9386 -28.47 -5.46519 -8.42045 16.9363 -28.475 -5.61587 -8.68379 16.9472 -28.48 -5.77215 -8.95385 16.9722 -28.485 -5.93399 -9.2304 17.0114 -28.49 -6.10109 -9.51265 17.0648 -28.495 -6.27362 -9.80054 17.1335 -28.5 -6.45179 -10.094 17.2187 -28.505 -6.63573 -10.3927 17.3215 -28.51 -6.82551 -10.6963 17.4431 -28.515 -7.02116 -11.0043 17.5843 -28.52 -7.22263 -11.3161 17.746 -28.525 -7.42983 -11.631 17.9291 -28.53 -7.6426 -11.948 18.1343 -28.535 -7.86073 -12.266 18.3622 -28.54 -8.08395 -12.5841 18.6133 -28.545 -8.31193 -12.9008 18.8882 -28.55 -8.5443 -13.2147 19.1871 -28.555 -8.7806 -13.5243 19.5105 -28.56 -9.02034 -13.828 19.8584 -28.565 -9.26295 -14.1238 20.2312 -28.57 -9.50784 -14.4099 20.6287 -28.575 -9.75431 -14.6842 21.051 -28.58 -10.0017 -14.9444 21.4979 -28.585 -10.2491 -15.1883 21.9693 -28.59 -10.4957 -15.4134 22.4648 -28.595 -10.7407 -15.617 22.9841 -28.6 -10.983 -15.7966 23.5268 -28.605 -11.2222 -15.951 24.0919 -28.61 -11.457 -16.0779 24.6769 -28.615 -11.6858 -16.1744 25.2789 -28.62 -11.9072 -16.2378 25.8948 -28.625 -12.1197 -16.266 26.5213 -28.63 -12.322 -16.257 27.1555 -28.635 -12.5127 -16.2094 27.7938 -28.64 -12.6904 -16.1221 28.4331 -28.645 -12.8541 -15.9942 29.0699 -28.65 -13.0025 -15.8256 29.7008 -28.655 -13.1344 -15.6161 30.322 -28.66 -13.2488 -15.3661 30.9301 -28.665 -13.3448 -15.0764 31.5213 -28.67 -13.4212 -14.7481 32.0919 -28.675 -13.4771 -14.3828 32.6379 -28.68 -13.5118 -13.9822 33.1555 -28.685 -13.5243 -13.5487 33.6407 -28.69 -13.5141 -13.0837 34.0882 -28.695 -13.4809 -12.5906 34.4943 -28.7 -13.4249 -12.0752 34.8581 -28.705 -13.3464 -11.5427 35.1789 -28.71 -13.2458 -10.998 35.4562 -28.715 -13.1236 -10.4458 35.6898 -28.72 -12.9805 -9.89029 35.8796 -28.725 -12.8174 -9.33535 36.0258 -28.73 -12.635 -8.78453 36.1288 -28.735 -12.4345 -8.24099 36.1892 -28.74 -12.217 -7.70758 36.2079 -28.745 -11.9839 -7.18677 36.1861 -28.75 -11.7365 -6.68068 36.1249 -28.755 -11.4763 -6.19108 36.026 -28.76 -11.2052 -5.71939 35.891 -28.765 -10.9249 -5.26666 35.7221 -28.77 -10.6373 -4.83362 35.5213 -28.775 -10.3439 -4.42192 35.2922 -28.78 -10.0454 -4.03513 35.0396 -28.785 -9.74309 -3.6738 34.7659 -28.79 -9.43861 -3.33819 34.4733 -28.795 -9.1333 -3.02831 34.1641 -28.8 -8.82847 -2.74401 33.8402 -28.805 -8.52532 -2.48493 33.5039 -28.81 -8.22497 -2.2505 33.157 -28.815 -7.92843 -2.03996 32.8015 -28.82 -7.63664 -1.85236 32.4392 -28.825 -7.35043 -1.68654 32.0719 -28.83 -7.07055 -1.54114 31.7013 -28.835 -6.79765 -1.41462 31.329 -28.84 -6.5323 -1.30521 30.9567 -28.845 -6.27497 -1.21097 30.5859 -28.85 -6.02609 -1.13121 30.2166 -28.855 -5.78591 -1.06558 29.8487 -28.86 -5.5546 -1.01303 29.4826 -28.865 -5.33227 -0.972539 29.119 -28.87 -5.11901 -0.943146 28.7581 -28.875 -4.91488 -0.923932 28.4004 -28.88 -4.7199 -0.914025 28.0461 -28.885 -4.53409 -0.912598 27.6955 -28.89 -4.35741 -0.918873 27.3488 -28.895 -4.1898 -0.932114 27.0062 -28.9 -4.03116 -0.951637 26.6678 -28.905 -3.88139 -0.9768 26.3337 -28.91 -3.74032 -1.00701 26.0038 -28.915 -3.60778 -1.04172 25.6782 -28.92 -3.48355 -1.08044 25.3568 -28.925 -3.36723 -1.12293 25.0398 -28.93 -3.25863 -1.16889 24.727 -28.935 -3.15756 -1.21801 24.4186 -28.94 -3.06385 -1.27001 24.1144 -28.945 -2.9773 -1.32464 23.8145 -28.95 -2.89775 -1.38168 23.5188 -28.955 -2.82498 -1.44096 23.2273 -28.96 -2.75881 -1.50233 22.94 -28.965 -2.69904 -1.56565 22.657 -28.97 -2.64545 -1.63085 22.378 -28.975 -2.59784 -1.69787 22.1033 -28.98 -2.55599 -1.76668 21.8327 -28.985 -2.51969 -1.8373 21.5662 -28.99 -2.4887 -1.90975 21.3038 -28.995 -2.46281 -1.98412 21.0456 -29 -2.44177 -2.0605 20.7915 -29.005 -2.42535 -2.13903 20.5415 -29.01 -2.41333 -2.21986 20.2956 -29.015 -2.4056 -2.30304 20.0539 -29.02 -2.40216 -2.3886 19.8164 -29.025 -2.40301 -2.47659 19.5831 -29.03 -2.40812 -2.56707 19.3539 -29.035 -2.41749 -2.66012 19.129 -29.04 -2.43108 -2.75585 18.9083 -29.045 -2.44888 -2.85437 18.6919 -29.05 -2.47086 -2.95581 18.4798 -29.055 -2.49699 -3.06033 18.2722 -29.06 -2.52723 -3.1681 18.069 -29.065 -2.56155 -3.2793 17.8704 -29.07 -2.5999 -3.39414 17.6764 -29.075 -2.64223 -3.51284 17.4872 -29.08 -2.68851 -3.63564 17.3029 -29.085 -2.73867 -3.7628 17.1236 -29.09 -2.79266 -3.8946 16.9493 -29.095 -2.85042 -4.03132 16.7803 -29.1 -2.91189 -4.17327 16.6168 -29.105 -2.97706 -4.32073 16.4588 -29.11 -3.04627 -4.47362 16.3067 -29.115 -3.11967 -4.63216 16.1605 -29.12 -3.19735 -4.79662 16.0206 -29.125 -3.27942 -4.96725 15.887 -29.13 -3.36599 -5.1443 15.7601 -29.135 -3.45715 -5.32801 15.6401 -29.14 -3.55303 -5.51862 15.5273 -29.145 -3.65373 -5.71634 15.4221 -29.15 -3.75937 -5.9214 15.3249 -29.155 -3.87007 -6.134 15.2359 -29.16 -3.98595 -6.35436 15.1558 -29.165 -4.10712 -6.58265 15.0849 -29.17 -4.23373 -6.81908 15.0238 -29.175 -4.36589 -7.06381 14.973 -29.18 -4.50374 -7.31702 14.933 -29.185 -4.64741 -7.57888 14.9044 -29.19 -4.79704 -7.84953 14.888 -29.195 -4.95277 -8.12913 14.8842 -29.2 -5.11456 -8.41724 14.8936 -29.205 -5.28234 -8.7132 14.9166 -29.21 -5.45643 -9.01749 14.9543 -29.215 -5.63711 -9.33046 15.0078 -29.22 -5.82461 -9.65227 15.0783 -29.225 -6.01909 -9.98295 15.1669 -29.23 -6.22068 -10.3223 15.2747 -29.235 -6.42945 -10.6701 15.4026 -29.24 -6.64543 -11.0257 15.5518 -29.245 -6.8686 -11.3885 15.7233 -29.25 -7.09886 -11.7578 15.9181 -29.255 -7.33609 -12.1324 16.1371 -29.26 -7.58012 -12.5112 16.3813 -29.265 -7.83072 -12.893 16.6517 -29.27 -8.0876 -13.2761 16.9491 -29.275 -8.35043 -13.659 17.2744 -29.28 -8.61883 -14.0398 17.6286 -29.285 -8.89238 -14.4165 18.0125 -29.29 -9.17059 -14.7869 18.4269 -29.295 -9.45292 -15.1487 18.8726 -29.3 -9.7388 -15.4995 19.3504 -29.305 -10.0276 -15.8364 19.8612 -29.31 -10.3186 -16.1567 20.4055 -29.315 -10.611 -16.4589 20.9831 -29.32 -10.9035 -16.7402 21.5922 -29.325 -11.1947 -16.9957 22.2318 -29.33 -11.4832 -17.2213 22.9003 -29.335 -11.7676 -17.4128 23.5959 -29.34 -12.0463 -17.5665 24.3163 -29.345 -12.3178 -17.6792 25.0586 -29.35 -12.5805 -17.748 25.8198 -29.355 -12.8327 -17.7703 26.5964 -29.36 -13.0728 -17.7438 27.3845 -29.365 -13.2989 -17.6669 28.1797 -29.37 -13.5094 -17.5379 28.9772 -29.375 -13.7024 -17.3559 29.772 -29.38 -13.8759 -17.12 30.5586 -29.385 -14.0281 -16.8299 31.3309 -29.39 -14.157 -16.4857 32.0827 -29.395 -14.2612 -16.0847 32.8071 -29.4 -14.34 -15.6273 33.4979 -29.405 -14.3921 -15.1211 34.1501 -29.41 -14.4165 -14.5732 34.7593 -29.415 -14.4125 -13.9903 35.3215 -29.42 -14.3794 -13.3787 35.8332 -29.425 -14.3173 -12.744 36.2918 -29.43 -14.2262 -12.0918 36.695 -29.435 -14.1065 -11.427 37.041 -29.44 -13.9589 -10.7539 37.3286 -29.445 -13.7844 -10.0766 37.5574 -29.45 -13.5842 -9.39862 37.7273 -29.455 -13.36 -8.72315 37.8387 -29.46 -13.1136 -8.05284 37.8928 -29.465 -12.8472 -7.3899 37.8911 -29.47 -12.5631 -6.7361 37.836 -29.475 -12.2628 -6.09683 37.7308 -29.48 -11.9465 -5.48318 37.5804 -29.485 -11.6163 -4.8981 37.3882 -29.49 -11.2746 -4.34377 37.1573 -29.495 -10.9235 -3.82191 36.8913 -29.5 -10.565 -3.33379 36.5934 -29.505 -10.2013 -2.88023 36.2673 -29.51 -9.83413 -2.4616 35.9165 -29.515 -9.46533 -2.07781 35.5444 -29.52 -9.09658 -1.72832 35.155 -29.525 -8.72947 -1.41215 34.7517 -29.53 -8.36551 -1.12783 34.3386 -29.535 -8.00609 -0.873479 33.9193 -29.54 -7.6525 -0.646756 33.4978 -29.545 -7.30593 -0.446245 33.0745 -29.55 -6.96723 -0.270782 32.6493 -29.555 -6.63709 -0.118691 32.2236 -29.56 -6.31612 0.0116754 31.7986 -29.565 -6.00483 0.121931 31.3752 -29.57 -5.7037 0.213657 30.9546 -29.575 -5.4131 0.288406 30.5374 -29.58 -5.13333 0.347697 30.1244 -29.585 -4.8646 0.393016 29.716 -29.59 -4.60708 0.425819 29.3128 -29.595 -4.36081 0.447531 28.915 -29.6 -4.1258 0.459544 28.5227 -29.605 -3.90196 0.463218 28.1359 -29.61 -3.68912 0.459797 27.7546 -29.615 -3.48701 0.449837 27.3789 -29.62 -3.29539 0.434058 27.0089 -29.625 -3.11398 0.413212 26.6445 -29.63 -2.94252 0.387999 26.2855 -29.635 -2.78073 0.35906 25.932 -29.64 -2.6283 0.326983 25.5839 -29.645 -2.48494 0.292297 25.2411 -29.65 -2.35034 0.25548 24.9034 -29.655 -2.22418 0.21695 24.5708 -29.66 -2.10613 0.177072 24.2432 -29.665 -1.99585 0.136155 23.9205 -29.67 -1.89299 0.0944517 23.6026 -29.675 -1.79718 0.0521597 23.2893 -29.68 -1.70807 0.00942109 22.9806 -29.685 -1.62527 -0.0336292 22.6763 -29.69 -1.5485 -0.0768458 22.3763 -29.695 -1.47754 -0.120111 22.0807 -29.7 -1.41215 -0.163329 21.7892 -29.705 -1.35209 -0.206423 21.5019 -29.71 -1.29712 -0.249339 21.2186 -29.715 -1.24702 -0.292043 20.9393 -29.72 -1.20154 -0.334522 20.6639 -29.725 -1.16045 -0.376783 20.3924 -29.73 -1.12351 -0.418856 20.1246 -29.735 -1.09047 -0.460791 19.8605 -29.74 -1.06111 -0.502657 19.6001 -29.745 -1.03517 -0.544546 19.3432 -29.75 -1.01241 -0.586572 19.0899 -29.755 -0.992652 -0.628832 18.8401 -29.76 -0.975827 -0.67134 18.5937 -29.765 -0.961855 -0.714141 18.3508 -29.77 -0.95065 -0.757291 18.1112 -29.775 -0.942127 -0.800855 17.875 -29.78 -0.936202 -0.844909 17.6421 -29.785 -0.932791 -0.889538 17.4125 -29.79 -0.93181 -0.934837 17.1861 -29.795 -0.933177 -0.980913 16.9629 -29.8 -0.936809 -1.02788 16.7429 -29.805 -0.942626 -1.07586 16.5261 -29.81 -0.950545 -1.12499 16.3124 -29.815 -0.960488 -1.17542 16.1018 -29.82 -0.972372 -1.2273 15.8943 -29.825 -0.98613 -1.28078 15.6899 -29.83 -1.00179 -1.33597 15.4886 -29.835 -1.01938 -1.39296 15.2903 -29.84 -1.03891 -1.45186 15.095 -29.845 -1.06041 -1.51279 14.9029 -29.85 -1.0839 -1.57588 14.7137 -29.855 -1.10941 -1.64126 14.5276 -29.86 -1.13696 -1.70908 14.3445 -29.865 -1.16658 -1.7795 14.1645 -29.87 -1.1983 -1.85268 13.9875 -29.875 -1.23216 -1.9288 13.8137 -29.88 -1.2682 -2.00805 13.6429 -29.885 -1.30645 -2.09061 13.4753 -29.89 -1.34696 -2.17669 13.3109 -29.895 -1.38976 -2.2665 13.1497 -29.9 -1.43491 -2.36027 12.9917 -29.905 -1.48246 -2.45821 12.8371 -29.91 -1.53256 -2.5605 12.686 -29.915 -1.58535 -2.66731 12.5383 -29.92 -1.64089 -2.77892 12.3942 -29.925 -1.6993 -2.89555 12.2537 -29.93 -1.76068 -3.01749 12.1169 -29.935 -1.82514 -3.145 11.9839 -29.94 -1.89281 -3.27835 11.8548 -29.945 -1.96381 -3.41784 11.7298 -29.95 -2.03831 -3.56376 11.6089 -29.955 -2.11643 -3.71642 11.4926 -29.96 -2.19835 -3.87613 11.3808 -29.965 -2.28422 -4.04322 11.274 -29.97 -2.37423 -4.218 11.1722 -29.975 -2.46856 -4.40084 11.076 -29.98 -2.5674 -4.59206 10.9854 -29.985 -2.67096 -4.79204 10.9009 -29.99 -2.77945 -5.00113 10.8228 -29.995 -2.89308 -5.2197 10.7515 -30 -3.01208 -5.44815 10.6874 -30.005 -3.1367 -5.68686 10.6309 -30.01 -3.2671 -5.93532 10.5828 -30.015 -3.40347 -6.19337 10.5438 -30.02 -3.54615 -6.46208 10.5143 -30.025 -3.69546 -6.74241 10.4948 -30.03 -3.85168 -7.03519 10.486 -30.035 -4.01513 -7.34111 10.4885 -30.04 -4.18607 -7.66077 10.5031 -30.045 -4.36477 -7.99461 10.5308 -30.05 -4.55149 -8.34296 10.5725 -30.055 -4.74647 -8.70604 10.6292 -30.06 -4.94995 -9.08391 10.7022 -30.065 -5.16214 -9.47654 10.7928 -30.07 -5.38325 -9.88376 10.9023 -30.075 -5.61348 -10.3053 11.0321 -30.08 -5.85302 -10.7407 11.1838 -30.085 -6.10203 -11.1894 11.3592 -30.09 -6.36068 -11.6507 11.5598 -30.095 -6.62912 -12.124 11.7876 -30.1 -6.90748 -12.6082 12.0445 -30.105 -7.19589 -13.1023 12.3325 -30.11 -7.49447 -13.6051 12.6537 -30.115 -7.80331 -14.1154 13.0104 -30.12 -8.12251 -14.6318 13.405 -30.125 -8.45214 -15.1526 13.8397 -30.13 -8.79151 -15.6764 14.3153 -30.135 -9.13936 -16.2006 14.8323 -30.14 -9.4954 -16.7209 15.3939 -30.145 -9.85917 -17.233 16.0029 -30.15 -10.23 -17.7326 16.6614 -30.155 -10.6068 -18.2147 17.3706 -30.16 -10.9886 -18.6746 18.131 -30.165 -11.374 -19.1071 18.9426 -30.17 -11.7614 -19.507 19.8044 -30.175 -12.1488 -19.8687 20.7148 -30.18 -12.5344 -20.1866 21.6716 -30.185 -12.9157 -20.4549 22.6718 -30.19 -13.2904 -20.6673 23.7115 -30.195 -13.6556 -20.8177 24.7864 -30.2 -14.0085 -20.8997 25.8912 -30.205 -14.3459 -20.9065 27.0202 -30.21 -14.6647 -20.8312 28.1674 -30.215 -14.9636 -20.6688 29.3269 -30.22 -15.2385 -20.4184 30.486 -30.225 -15.4856 -20.0801 31.6318 -30.23 -15.7016 -19.6551 32.7526 -30.235 -15.8834 -19.1453 33.8373 -30.24 -16.0285 -18.5536 34.8759 -30.245 -16.1348 -17.8835 35.8591 -30.25 -16.2005 -17.1397 36.7786 -30.255 -16.2245 -16.3275 37.627 -30.26 -16.2058 -15.4533 38.3976 -30.265 -16.1441 -14.5241 39.0848 -30.27 -16.0394 -13.5481 39.6837 -30.275 -15.8923 -12.534 40.1904 -30.28 -15.7027 -11.4941 40.6002 -30.285 -15.471 -10.4448 40.91 -30.29 -15.1995 -9.39722 41.1228 -30.295 -14.8908 -8.36163 41.2424 -30.3 -14.5477 -7.34718 41.273 -30.305 -14.1729 -6.36204 41.2193 -30.31 -13.7693 -5.41337 41.0865 -30.315 -13.3402 -4.50736 40.8807 -30.32 -12.8887 -3.64916 40.608 -30.325 -12.4181 -2.84295 40.2755 -30.33 -11.932 -2.09189 39.8905 -30.335 -11.434 -1.39814 39.461 -30.34 -10.9278 -0.762875 38.9957 -30.345 -10.4174 -0.186151 38.5033 -30.35 -9.90541 0.334961 37.9904 -30.355 -9.39435 0.802886 37.4613 -30.36 -8.88669 1.21953 36.9204 -30.365 -8.38469 1.58706 36.3718 -30.37 -7.89038 1.90793 35.819 -30.375 -7.40557 2.18487 35.2655 -30.38 -6.93186 2.42088 34.714 -30.385 -6.47062 2.61923 34.1674 -30.39 -6.02299 2.78345 33.6276 -30.395 -5.58989 2.91738 33.0967 -30.4 -5.17202 3.02511 32.576 -30.405 -4.76987 3.111 32.0668 -30.41 -4.38367 3.17969 31.5697 -30.415 -4.01349 3.23356 31.0848 -30.42 -3.65922 3.2721 30.6113 -30.425 -3.32069 3.29738 30.1491 -30.43 -2.99766 3.31135 29.6981 -30.435 -2.68985 3.31581 29.2579 -30.44 -2.39694 3.31244 28.8284 -30.445 -2.11857 3.30277 28.4093 -30.45 -1.85434 3.28821 28.0004 -30.455 -1.60381 3.26999 27.6013 -30.46 -1.3665 3.24925 27.2117 -30.465 -1.14187 3.22695 26.8312 -30.47 -0.929352 3.20392 26.4594 -30.475 -0.728334 3.18088 26.0959 -30.48 -0.538076 3.15851 25.7402 -30.485 -0.358018 3.13739 25.3922 -30.49 -0.187663 3.11798 25.0516 -30.495 -0.0265095 3.10072 24.7181 -30.5 0.125947 3.086 24.3914 -30.505 0.270219 3.07418 24.0714 -30.51 0.406822 3.06558 23.7577 -30.515 0.536277 3.06048 23.4503 -30.52 0.659109 3.05912 23.1489 -30.525 0.775851 3.06171 22.8534 -30.53 0.887037 3.06842 22.5635 -30.535 0.99321 3.07936 22.2791 -30.54 1.09491 3.09464 22.0002 -30.545 1.1927 3.1143 21.7265 -30.55 1.28707 3.13838 21.458 -30.555 1.37832 3.16698 21.1946 -30.56 1.46672 3.20021 20.9362 -30.565 1.55257 3.2382 20.683 -30.57 1.63615 3.28103 20.4348 -30.575 1.71777 3.32881 20.1916 -30.58 1.79773 3.38162 19.9535 -30.585 1.87634 3.43955 19.7204 -30.59 1.95392 3.50266 19.4924 -30.595 2.03079 3.57102 19.2693 -30.6 2.10727 3.64467 19.0514 -30.605 2.18372 3.72368 18.8385 -30.61 2.26045 3.80806 18.6307 -30.615 2.33783 3.89787 18.4281 -30.62 2.41619 3.99311 18.2306 -30.625 2.49572 4.09391 18.0384 -30.63 2.57656 4.20046 17.8517 -30.635 2.65885 4.31292 17.6705 -30.64 2.74276 4.43147 17.4951 -30.645 2.82846 4.55627 17.3255 -30.65 2.91615 4.6875 17.1619 -30.655 3.00601 4.82529 17.0045 -30.66 3.09825 4.9698 16.8535 -30.665 3.19308 5.12117 16.7091 -30.67 3.29071 5.27953 16.5716 -30.675 3.39138 5.44502 16.4412 -30.68 3.49534 5.61776 16.3182 -30.685 3.60283 5.79787 16.2029 -30.69 3.7141 5.98547 16.0954 -30.695 3.82943 6.18064 15.9963 -30.7 3.94906 6.38346 15.9058 -30.705 4.07306 6.59392 15.8243 -30.71 4.20157 6.81236 15.7523 -30.715 4.33476 7.03907 15.6904 -30.72 4.47278 7.27429 15.639 -30.725 4.61578 7.5182 15.5986 -30.73 4.76391 7.77091 15.57 -30.735 4.91731 8.03247 15.5537 -30.74 5.07613 8.30289 15.5504 -30.745 5.24048 8.5821 15.5607 -30.75 5.41052 8.86998 15.5855 -30.755 5.58635 9.16633 15.6254 -30.76 5.76811 9.47093 15.6814 -30.765 5.95592 9.78346 15.7541 -30.77 6.14989 10.1036 15.8445 -30.775 6.35013 10.4308 15.9535 -30.78 6.55675 10.7647 16.0819 -30.785 6.76985 11.1048 16.2309 -30.79 6.98953 11.4503 16.4013 -30.795 7.21539 11.8009 16.5931 -30.8 7.44691 12.1556 16.8068 -30.805 7.68419 12.5134 17.0441 -30.81 7.92725 12.8729 17.3071 -30.815 8.176 13.2325 17.597 -30.82 8.43027 13.5908 17.9151 -30.825 8.68975 13.946 18.2625 -30.83 8.95407 14.2961 18.6398 -30.835 9.22273 14.6391 19.0477 -30.84 9.49514 14.9729 19.4862 -30.845 9.77061 15.2952 19.9555 -30.85 10.0483 15.6036 20.4552 -30.855 10.3275 15.8954 20.9848 -30.86 10.607 16.168 21.5437 -30.865 10.8857 16.4186 22.1308 -30.87 11.1626 16.644 22.7448 -30.875 11.4363 16.8413 23.3842 -30.88 11.7053 17.0072 24.0474 -30.885 11.9683 17.1382 24.7322 -30.89 12.2236 17.2308 25.4364 -30.895 12.4694 17.2815 26.1576 -30.9 12.7052 17.2871 26.8941 -30.905 12.9294 17.2464 27.6413 -30.91 13.1398 17.158 28.393 -30.915 13.3345 17.0213 29.1434 -30.92 13.5114 16.8359 29.8867 -30.925 13.669 16.6019 30.6175 -30.93 13.8057 16.3197 31.3308 -30.935 13.9202 15.9903 32.0218 -30.94 14.0113 15.6151 32.6858 -30.945 14.0781 15.1957 33.3187 -30.95 14.1199 14.7344 33.9165 -30.955 14.1359 14.2336 34.4754 -30.96 14.126 13.6966 34.9921 -30.965 14.0897 13.1266 35.4634 -30.97 14.0271 12.5274 35.8864 -30.975 13.9383 11.9035 36.2586 -30.98 13.823 11.2609 36.5763 -30.985 13.6814 10.607 36.8374 -30.99 13.5147 9.94766 37.0426 -30.995 13.3242 9.28809 37.1929 -31 13.1112 8.6332 37.2896 -31.005 12.8772 7.9875 37.3344 -31.01 12.6236 7.35509 37.3291 -31.015 12.3522 6.73968 37.2757 -31.02 12.0644 6.14458 37.1767 -31.025 11.7621 5.57271 37.0347 -31.03 11.4471 5.02658 36.8526 -31.035 11.1211 4.50832 36.6335 -31.04 10.7861 4.01965 36.381 -31.045 10.4442 3.56189 36.0986 -31.05 10.0974 3.13598 35.7905 -31.055 9.74781 2.74244 35.4608 -31.06 9.39715 2.3806 35.1131 -31.065 9.04673 2.0494 34.7501 -31.07 8.698 1.74815 34.3741 -31.075 8.35231 1.47598 33.9875 -31.08 8.0109 1.23195 33.5923 -31.085 7.67488 1.01493 33.1907 -31.09 7.34528 0.823675 32.7845 -31.095 7.023 0.656817 32.3753 -31.1 6.70883 0.512836 31.9647 -31.105 6.40345 0.390085 31.5542 -31.11 6.10744 0.286779 31.1449 -31.115 5.82126 0.200999 30.7379 -31.12 5.54526 0.130693 30.3343 -31.125 5.27968 0.073671 29.9347 -31.13 5.02468 0.0286305 29.5395 -31.135 4.78033 -0.00448738 29.1487 -31.14 4.54656 -0.0268096 28.7623 -31.145 4.32332 -0.0394154 28.3807 -31.15 4.1105 -0.0433189 28.0039 -31.155 3.90798 -0.0394681 27.6321 -31.16 3.71564 -0.0287458 27.2653 -31.165 3.53329 -0.0119689 26.9037 -31.17 3.36076 0.0101111 26.5473 -31.175 3.19783 0.0368083 26.196 -31.18 3.04427 0.0675026 25.8499 -31.185 2.89982 0.101639 25.5088 -31.19 2.7642 0.138729 25.1728 -31.195 2.6371 0.178349 24.8416 -31.2 2.51814 0.22016 24.5151 -31.205 2.40684 0.263905 24.1934 -31.21 2.30298 0.309301 23.8763 -31.215 2.20633 0.356088 23.5637 -31.22 2.11669 0.404036 23.2557 -31.225 2.03383 0.452945 22.9521 -31.23 1.9575 0.502648 22.6528 -31.235 1.88748 0.553005 22.3578 -31.24 1.82353 0.603908 22.0671 -31.245 1.76538 0.655279 21.7804 -31.25 1.71278 0.707071 21.4979 -31.255 1.66547 0.759267 21.2194 -31.26 1.62317 0.81188 20.9448 -31.265 1.58562 0.864952 20.6741 -31.27 1.55253 0.918558 20.4073 -31.275 1.5236 0.972802 20.1443 -31.28 1.49855 1.02782 19.8851 -31.285 1.47709 1.08376 19.6295 -31.29 1.45917 1.14065 19.3776 -31.295 1.44479 1.19847 19.1294 -31.3 1.43389 1.25727 18.8848 -31.305 1.4264 1.31711 18.6439 -31.31 1.42225 1.37806 18.4065 -31.315 1.42138 1.44021 18.1726 -31.32 1.42371 1.50366 17.9424 -31.325 1.42916 1.56853 17.7156 -31.33 1.43768 1.63495 17.4924 -31.335 1.44918 1.70306 17.2727 -31.34 1.46359 1.77302 17.0565 -31.345 1.48083 1.84501 16.8438 -31.35 1.50082 1.91921 16.6347 -31.355 1.52349 1.99582 16.4291 -31.36 1.54875 2.07506 16.227 -31.365 1.57654 2.15714 16.0285 -31.37 1.6069 2.24223 15.8337 -31.375 1.63995 2.3304 15.6424 -31.38 1.67574 2.42183 15.4548 -31.385 1.71432 2.51669 15.271 -31.39 1.75573 2.61517 15.0908 -31.395 1.80004 2.71746 14.9145 -31.4 1.84731 2.82376 14.7421 -31.405 1.8976 2.93429 14.5735 -31.41 1.95098 3.04928 14.4091 -31.415 2.00752 3.16896 14.2487 -31.42 2.0673 3.29359 14.0927 -31.425 2.13041 3.42341 13.941 -31.43 2.19693 3.55869 13.7938 -31.435 2.26695 3.69973 13.6514 -31.44 2.34056 3.8468 13.5137 -31.445 2.41787 4.0002 13.3811 -31.45 2.49897 4.16023 13.2537 -31.455 2.5841 4.32683 13.1319 -31.46 2.67343 4.50031 13.016 -31.465 2.76711 4.68114 12.9061 -31.47 2.8653 4.86975 12.8024 -31.475 2.96815 5.06657 12.7051 -31.48 3.07584 5.27198 12.6146 -31.485 3.18854 5.48637 12.5313 -31.49 3.30642 5.71008 12.4555 -31.495 3.42967 5.94344 12.3878 -31.5 3.55849 6.18676 12.3286 -31.505 3.69308 6.44031 12.2785 -31.51 3.83363 6.70436 12.2381 -31.515 3.98036 6.97915 12.2082 -31.52 4.13349 7.26487 12.1894 -31.525 4.29324 7.56174 12.1825 -31.53 4.45984 7.8699 12.1884 -31.535 4.63352 8.18952 12.2079 -31.54 4.81454 8.52071 12.242 -31.545 5.00313 8.86356 12.2916 -31.55 5.19955 9.21817 12.3579 -31.555 5.40407 9.58457 12.4418 -31.56 5.61694 9.96281 12.5446 -31.565 5.8383 10.3526 12.6672 -31.57 6.06769 10.753 12.8102 -31.575 6.30543 11.1639 12.9757 -31.58 6.55187 11.5852 13.1655 -31.585 6.80725 12.0167 13.3815 -31.59 7.07171 12.4577 13.6258 -31.595 7.34531 12.9073 13.8999 -31.6 7.62797 13.3642 14.2054 -31.605 7.91954 13.8269 14.544 -31.61 8.21976 14.2936 14.9171 -31.615 8.52827 14.7621 15.326 -31.62 8.84461 15.2301 15.7719 -31.625 9.16821 15.6948 16.256 -31.63 9.49841 16.1532 16.7794 -31.635 9.83445 16.602 17.343 -31.64 10.1754 17.0377 17.9477 -31.645 10.5205 17.4563 18.5942 -31.65 10.8684 17.8535 19.2832 -31.655 11.2181 18.2251 20.0152 -31.66 11.5683 18.5662 20.7908 -31.665 11.9178 18.8749 21.6084 -31.67 12.2644 19.1449 22.4652 -31.675 12.6061 19.3695 23.3578 -31.68 12.9403 19.5425 24.2823 -31.685 13.265 19.6583 25.2345 -31.69 13.5776 19.7124 26.2095 -31.695 13.8759 19.7009 27.2018 -31.7 14.1574 19.6205 28.2056 -31.705 14.4199 19.4688 29.2143 -31.71 14.6607 19.2442 30.2211 -31.715 14.8776 18.9456 31.2185 -31.72 15.0679 18.5731 32.1984 -31.725 15.2292 18.127 33.1524 -31.73 15.359 17.6088 34.0713 -31.735 15.4547 17.0198 34.9454 -31.74 15.5154 16.3575 35.7634 -31.745 15.54 15.6319 36.5189 -31.75 15.5274 14.8552 37.2074 -31.755 15.4771 14.0386 37.8253 -31.76 15.3889 13.1924 38.3695 -31.765 15.2631 12.3261 38.8376 -31.77 15.1003 11.4481 39.2282 -31.775 14.9015 10.5659 39.5403 -31.78 14.6681 9.68624 39.7738 -31.785 14.4019 8.81467 39.9292 -31.79 14.1052 7.95599 40.0079 -31.795 13.7807 7.11403 40.0119 -31.8 13.4312 6.29168 39.9438 -31.805 13.0603 5.49091 39.8073 -31.81 12.6714 4.71444 39.6069 -31.815 12.2647 3.97661 39.3521 -31.82 11.8428 3.28274 39.0494 -31.825 11.409 2.63487 38.7041 -31.83 10.966 2.03435 38.3216 -31.835 10.5167 1.48189 37.9071 -31.84 10.0637 0.977503 37.4656 -31.845 9.60945 0.520545 37.0023 -31.85 9.15614 0.1097 36.5219 -31.855 8.70588 -0.25702 36.0294 -31.86 8.26062 -0.582274 35.5293 -31.865 7.82208 -0.869391 35.0264 -31.87 7.39187 -1.12189 34.5244 -31.875 6.97131 -1.34109 34.0234 -31.88 6.56138 -1.52939 33.5247 -31.885 6.16291 -1.68935 33.0298 -31.89 5.77662 -1.82347 32.5402 -31.895 5.40311 -1.93416 32.0568 -31.9 5.04285 -2.02376 31.5807 -31.905 4.69622 -2.09451 31.1124 -31.91 4.36345 -2.14858 30.6526 -31.915 4.04468 -2.18805 30.2015 -31.92 3.73989 -2.21494 29.7593 -31.925 3.449 -2.23116 29.3257 -31.93 3.17178 -2.23845 28.9006 -31.935 2.90797 -2.23802 28.4841 -31.94 2.65721 -2.23101 28.0761 -31.945 2.41912 -2.21854 27.6763 -31.95 2.19331 -2.20161 27.2845 -31.955 1.97938 -2.18119 26.9004 -31.96 1.77691 -2.15814 26.5238 -31.965 1.58547 -2.13326 26.1544 -31.97 1.40462 -2.10728 25.7921 -31.975 1.2339 -2.08085 25.4366 -31.98 1.07285 -2.05453 25.0877 -31.985 0.920988 -2.02884 24.7451 -31.99 0.777824 -2.00419 24.4088 -31.995 0.642851 -1.98094 24.0784 -32 0.515553 -1.95935 23.7538 -32.005 0.395399 -1.93964 23.4348 -32.01 0.281871 -1.922 23.1211 -32.015 0.174573 -1.90665 22.8127 -32.02 0.0731499 -1.89378 22.5093 -32.025 -0.0227547 -1.88354 22.2109 -32.03 -0.113499 -1.87607 21.9174 -32.035 -0.199441 -1.87151 21.6285 -32.04 -0.280942 -1.86995 21.3443 -32.045 -0.35836 -1.87148 21.0647 -32.05 -0.432059 -1.87617 20.7894 -32.055 -0.502401 -1.88406 20.5186 -32.06 -0.569748 -1.89518 20.2519 -32.065 -0.634466 -1.90956 19.9894 -32.07 -0.69692 -1.92716 19.7311 -32.075 -0.757443 -1.94801 19.4767 -32.08 -0.816221 -1.97217 19.2264 -32.085 -0.873444 -1.99972 18.9801 -32.09 -0.929309 -2.03073 18.7377 -32.095 -0.984016 -2.06527 18.4992 -32.1 -1.03777 -2.1034 18.2647 -32.105 -1.09078 -2.14518 18.034 -32.11 -1.14325 -2.19067 17.8072 -32.115 -1.19539 -2.23993 17.5842 -32.12 -1.24744 -2.29301 17.3651 -32.125 -1.2996 -2.34997 17.1499 -32.13 -1.3521 -2.41086 16.9384 -32.135 -1.40516 -2.47572 16.7309 -32.14 -1.45903 -2.54462 16.5271 -32.145 -1.51388 -2.61763 16.3273 -32.15 -1.56981 -2.69493 16.1314 -32.155 -1.62694 -2.77667 15.9394 -32.16 -1.68538 -2.86301 15.7515 -32.165 -1.74527 -2.95412 15.5676 -32.17 -1.80673 -3.05017 15.3878 -32.175 -1.86992 -3.15132 15.2123 -32.18 -1.935 -3.25776 15.0411 -32.185 -2.00214 -3.36965 14.8743 -32.19 -2.0715 -3.48716 14.712 -32.195 -2.14329 -3.61049 14.5543 -32.2 -2.21769 -3.7398 14.4014 -32.205 -2.29491 -3.87528 14.2534 -32.21 -2.37517 -4.01711 14.1104 -32.215 -2.4587 -4.16548 13.9727 -32.22 -2.54572 -4.32056 13.8404 -32.225 -2.63638 -4.48255 13.7138 -32.23 -2.7308 -4.65179 13.5931 -32.235 -2.82913 -4.82867 13.4786 -32.24 -2.93153 -5.01352 13.3706 -32.245 -3.03815 -5.20668 13.2692 -32.25 -3.14916 -5.40847 13.1749 -32.255 -3.26476 -5.6192 13.0881 -32.26 -3.38514 -5.83915 13.0092 -32.265 -3.5105 -6.06859 12.9387 -32.27 -3.64105 -6.30777 12.877 -32.275 -3.77702 -6.55694 12.8248 -32.28 -3.91865 -6.81632 12.7826 -32.285 -4.06617 -7.08611 12.7511 -32.29 -4.21984 -7.3665 12.7309 -32.295 -4.37993 -7.65768 12.7228 -32.3 -4.54671 -7.9598 12.7275 -32.305 -4.72046 -8.27301 12.7459 -32.31 -4.90148 -8.59742 12.7787 -32.315 -5.08966 -8.93229 12.8265 -32.32 -5.28478 -9.27685 12.89 -32.325 -5.48728 -9.63192 12.9708 -32.33 -5.69757 -9.99805 13.0703 -32.335 -5.91598 -10.3756 13.1902 -32.34 -6.14276 -10.7645 13.3318 -32.345 -6.3781 -11.1648 13.4966 -32.35 -6.62211 -11.5759 13.6861 -32.355 -6.87483 -11.9971 13.9015 -32.36 -7.13624 -12.4276 14.1444 -32.365 -7.40623 -12.8661 14.4161 -32.37 -7.68464 -13.3111 14.7178 -32.375 -7.97122 -13.7611 15.0509 -32.38 -8.26567 -14.2141 15.4166 -32.385 -8.56759 -14.6678 15.8163 -32.39 -8.87653 -15.1198 16.251 -32.395 -9.19198 -15.5674 16.7221 -32.4 -9.51332 -16.0078 17.2306 -32.405 -9.8399 -16.4376 17.7778 -32.41 -10.171 -16.8534 18.3647 -32.415 -10.5057 -17.2516 18.9924 -32.42 -10.8433 -17.6282 19.662 -32.425 -11.1827 -17.979 20.3746 -32.43 -11.5225 -18.3022 21.1282 -32.435 -11.8608 -18.5926 21.9202 -32.44 -12.1957 -18.8438 22.7484 -32.445 -12.5251 -19.05 23.6098 -32.45 -12.8469 -19.2059 24.5009 -32.455 -13.1591 -19.3068 25.4178 -32.46 -13.4594 -19.3489 26.3559 -32.465 -13.7457 -19.3287 27.3102 -32.47 -14.0157 -19.2434 28.275 -32.475 -14.2671 -19.0908 29.2441 -32.48 -14.4976 -18.8694 30.2107 -32.485 -14.7047 -18.5783 31.1677 -32.49 -14.886 -18.217 32.1071 -32.495 -15.039 -17.7859 33.0205 -32.5 -15.1612 -17.2854 33.899 -32.505 -15.2515 -16.712 34.7327 -32.51 -15.3086 -16.0734 35.5146 -32.515 -15.3311 -15.3802 36.2389 -32.52 -15.3181 -14.6422 36.9007 -32.525 -15.2689 -13.8684 37.4959 -32.53 -15.1834 -13.0672 38.0211 -32.535 -15.0618 -12.2465 38.4736 -32.54 -14.9048 -11.4131 38.8518 -32.545 -14.7133 -10.5735 39.1545 -32.55 -14.4889 -9.73318 39.3814 -32.555 -14.2333 -8.89717 39.5332 -32.56 -13.9489 -8.06968 39.611 -32.565 -13.6382 -7.25424 39.617 -32.57 -13.3042 -6.4537 39.554 -32.575 -12.9502 -5.67143 39.426 -32.58 -12.5762 -4.92128 39.2404 -32.585 -12.1848 -4.20942 39.0029 -32.59 -11.7788 -3.53865 38.7183 -32.595 -11.3612 -2.9111 38.3917 -32.6 -10.9347 -2.32826 38.0278 -32.605 -10.5018 -1.79092 37.6318 -32.61 -10.065 -1.29921 37.2084 -32.615 -9.62665 -0.852582 36.7627 -32.62 -9.18885 -0.449822 36.2997 -32.625 -8.75366 -0.0890473 35.8242 -32.63 -8.32297 0.232299 35.3413 -32.635 -7.89851 0.517439 34.8559 -32.64 -7.48187 0.768571 34.3698 -32.645 -7.07422 0.987266 33.883 -32.65 -6.67652 1.17594 33.3975 -32.655 -6.28963 1.33695 32.9146 -32.66 -5.91428 1.47261 32.4359 -32.665 -5.5511 1.58518 31.9625 -32.67 -5.20057 1.67684 31.4954 -32.675 -4.86309 1.74975 31.0353 -32.68 -4.53893 1.80599 30.5827 -32.685 -4.22824 1.84759 30.138 -32.69 -3.93104 1.87655 29.7014 -32.695 -3.64727 1.89478 29.2727 -32.7 -3.37674 1.90397 28.8519 -32.705 -3.11922 1.90513 28.4392 -32.71 -2.87438 1.89939 28.0344 -32.715 -2.64186 1.88783 27.6372 -32.72 -2.42133 1.87146 27.2475 -32.725 -2.21239 1.85122 26.8652 -32.73 -2.01467 1.82795 26.49 -32.735 -1.82776 1.80245 26.1217 -32.74 -1.65126 1.77542 25.7601 -32.745 -1.48474 1.7475 25.405 -32.75 -1.32776 1.71924 25.0563 -32.755 -1.17987 1.69114 24.7138 -32.76 -1.04059 1.6636 24.3771 -32.765 -0.90946 1.63696 24.0463 -32.77 -0.785976 1.61148 23.7209 -32.775 -0.669636 1.58736 23.401 -32.78 -0.559994 1.56486 23.0862 -32.785 -0.456694 1.54417 22.7765 -32.79 -0.359382 1.52547 22.4717 -32.795 -0.267705 1.50892 22.1716 -32.8 -0.181311 1.49464 21.8763 -32.805 -0.0998479 1.48276 21.5856 -32.81 -0.0229643 1.47337 21.2993 -32.815 0.0496915 1.46653 21.0173 -32.82 0.118471 1.46231 20.7396 -32.825 0.183724 1.46072 20.4661 -32.83 0.245802 1.46179 20.1966 -32.835 0.305056 1.4655 19.9312 -32.84 0.361811 1.47183 19.6696 -32.845 0.416269 1.48086 19.4119 -32.85 0.468622 1.49263 19.1581 -32.855 0.519066 1.50718 18.908 -32.86 0.567799 1.52457 18.6616 -32.865 0.615022 1.54482 18.419 -32.87 0.660934 1.56797 18.18 -32.875 0.70574 1.59406 17.9446 -32.88 0.749644 1.62311 17.7127 -32.885 0.792852 1.65515 17.4844 -32.89 0.835572 1.69019 17.2597 -32.895 0.878013 1.72826 17.0384 -32.9 0.920387 1.76937 16.8205 -32.905 0.962899 1.81353 16.6061 -32.91 1.00568 1.86084 16.3952 -32.915 1.04881 1.91141 16.1876 -32.92 1.09241 1.96533 15.9835 -32.925 1.13658 2.02273 15.7828 -32.93 1.18144 2.0837 15.5856 -32.935 1.22711 2.14838 15.3918 -32.94 1.27372 2.21687 15.2015 -32.945 1.32142 2.28929 15.0147 -32.95 1.37034 2.36576 14.8314 -32.955 1.42065 2.4464 14.6517 -32.96 1.4725 2.53135 14.4755 -32.965 1.52606 2.62072 14.303 -32.97 1.58152 2.71464 14.1342 -32.975 1.63905 2.81324 13.9691 -32.98 1.69884 2.91667 13.8079 -32.985 1.76101 3.02512 13.6506 -32.99 1.82566 3.13885 13.4973 -32.995 1.89287 3.25811 13.3481 -33 1.96278 3.38318 13.2031 -33.005 2.03551 3.51431 13.0624 -33.01 2.11119 3.65176 12.9262 -33.015 2.18998 3.79581 12.7947 -33.02 2.27205 3.94674 12.6681 -33.025 2.35755 4.1048 12.5465 -33.03 2.44669 4.27029 12.4302 -33.035 2.53966 4.44349 12.3194 -33.04 2.63666 4.62467 12.2145 -33.045 2.73793 4.81413 12.1158 -33.05 2.84368 5.01216 12.0234 -33.055 2.95418 5.21905 11.9379 -33.06 3.06967 5.43509 11.8596 -33.065 3.19042 5.66059 11.7888 -33.07 3.31663 5.89555 11.7261 -33.075 3.44844 6.13997 11.6722 -33.08 3.58608 6.3946 11.6274 -33.085 3.72983 6.6601 11.5924 -33.09 3.87992 6.93704 11.5676 -33.095 4.0366 7.22591 11.5539 -33.1 4.20011 7.5271 11.5518 -33.105 4.37067 7.84094 11.5624 -33.11 4.54851 8.16765 11.5864 -33.115 4.73387 8.50735 11.6248 -33.12 4.92695 8.86011 11.6788 -33.125 5.12796 9.22589 11.7494 -33.13 5.33712 9.60455 11.8379 -33.135 5.55463 9.9959 11.9455 -33.14 5.78068 10.3996 12.0736 -33.145 6.01547 10.8153 12.2237 -33.15 6.25918 11.2426 12.3973 -33.155 6.512 11.6808 12.5959 -33.16 6.7741 12.1293 12.8213 -33.165 7.04565 12.5873 13.0751 -33.17 7.32683 13.0541 13.3593 -33.175 7.61761 13.5288 13.6752 -33.18 7.91695 14.0099 14.0228 -33.185 8.22484 14.4956 14.4049 -33.19 8.54129 14.9835 14.8243 -33.195 8.86617 15.4711 15.2837 -33.2 9.19915 15.9556 15.7851 -33.205 9.5397 16.4339 16.3301 -33.21 9.88713 16.9024 16.9199 -33.215 10.2406 17.3575 17.5551 -33.22 10.599 17.7953 18.2361 -33.225 10.9611 18.2113 18.9625 -33.23 11.3255 18.6011 19.7338 -33.235 11.6905 18.9598 20.5488 -33.24 12.0545 19.2823 21.4059 -33.245 12.4154 19.5631 22.3031 -33.25 12.7711 19.7965 23.238 -33.255 13.1192 19.9765 24.2076 -33.26 13.4573 20.0967 25.2086 -33.265 13.7832 20.1512 26.2376 -33.27 14.0952 20.1361 27.2902 -33.275 14.3901 20.0477 28.3562 -33.28 14.6643 19.8836 29.4254 -33.285 14.9146 19.6419 30.4881 -33.29 15.1384 19.3219 31.535 -33.295 15.3328 18.9237 32.5573 -33.3 15.4958 18.4484 33.5467 -33.305 15.6253 17.8983 34.495 -33.31 15.7194 17.2762 35.3947 -33.315 15.7769 16.5862 36.2388 -33.32 15.7966 15.8332 37.0205 -33.325 15.7775 15.0231 37.7335 -33.33 15.719 14.1627 38.3721 -33.335 15.6209 13.2599 38.9306 -33.34 15.4825 12.3258 39.4005 -33.345 15.3046 11.3724 39.7808 -33.35 15.089 10.4104 40.0734 -33.355 14.8375 9.44954 40.2805 -33.36 14.5521 8.49887 40.4049 -33.365 14.2348 7.56641 40.4499 -33.37 13.8883 6.65933 40.419 -33.375 13.5149 5.78391 40.3165 -33.38 13.1174 4.94554 40.147 -33.385 12.6989 4.14874 39.9156 -33.39 12.2624 3.39712 39.6278 -33.395 11.8114 2.6934 39.2896 -33.4 11.3492 2.03945 38.9074 -33.405 10.8797 1.4362 38.4883 -33.41 10.4053 0.883893 38.0402 -33.415 9.92828 0.381767 37.5689 -33.42 9.45129 -0.071445 37.0793 -33.425 8.97665 -0.477325 36.5758 -33.43 8.50653 -0.837767 36.0622 -33.435 8.04286 -1.15498 35.5425 -33.44 7.58736 -1.43147 35.0198 -33.445 7.14152 -1.67009 34.4971 -33.45 6.70664 -1.87396 33.977 -33.455 6.28379 -2.04656 33.4618 -33.46 5.87383 -2.19163 32.9533 -33.465 5.4774 -2.31314 32.453 -33.47 5.09506 -2.4126 31.9613 -33.475 4.72709 -2.49179 31.4783 -33.48 4.37361 -2.55301 31.0045 -33.485 4.03469 -2.59845 30.54 -33.49 3.71034 -2.63015 30.0851 -33.495 3.40047 -2.64999 29.6399 -33.5 3.10495 -2.65974 29.2043 -33.505 2.82357 -2.66101 28.7783 -33.51 2.55606 -2.65528 28.3618 -33.515 2.30207 -2.64388 27.9543 -33.52 2.0612 -2.62801 27.5557 -33.525 1.83294 -2.60873 27.1654 -33.53 1.61661 -2.58707 26.7834 -33.535 1.41175 -2.56376 26.4093 -33.54 1.21792 -2.53947 26.0428 -33.545 1.0347 -2.51483 25.6836 -33.55 0.861637 -2.4904 25.3316 -33.555 0.698269 -2.46671 24.9864 -33.56 0.54413 -2.44424 24.6479 -33.565 0.398742 -2.42342 24.3157 -33.57 0.261615 -2.40462 23.9896 -33.575 0.132247 -2.3882 23.6695 -33.58 0.0101278 -2.37444 23.3552 -33.585 -0.105265 -2.36358 23.0465 -33.59 -0.214465 -2.35583 22.7431 -33.595 -0.318016 -2.35132 22.4451 -33.6 -0.416471 -2.35016 22.1521 -33.605 -0.510397 -2.35242 21.8642 -33.61 -0.600349 -2.35809 21.5811 -33.615 -0.686643 -2.36723 21.3027 -33.62 -0.76949 -2.37996 21.029 -33.625 -0.849113 -2.39641 20.76 -33.63 -0.925749 -2.41671 20.4955 -33.635 -0.999646 -2.44095 20.2356 -33.64 -1.07106 -2.46924 19.9801 -33.645 -1.14027 -2.50166 19.7292 -33.65 -1.20754 -2.53828 19.4827 -33.655 -1.27318 -2.57915 19.2406 -33.66 -1.33749 -2.62433 19.0029 -33.665 -1.40078 -2.67386 18.7695 -33.67 -1.46337 -2.72774 18.5404 -33.675 -1.52561 -2.78601 18.3156 -33.68 -1.58784 -2.84865 18.0951 -33.685 -1.65043 -2.91566 17.8787 -33.69 -1.71373 -2.98703 17.6667 -33.695 -1.77778 -3.06294 17.4589 -33.7 -1.84263 -3.1436 17.2555 -33.705 -1.90841 -3.22918 17.0566 -33.71 -1.97528 -3.31982 16.8623 -33.715 -2.0434 -3.41568 16.6725 -33.72 -2.11293 -3.51691 16.4874 -33.725 -2.18406 -3.62366 16.3071 -33.73 -2.25697 -3.73609 16.1317 -33.735 -2.33185 -3.85435 15.9613 -33.74 -2.40892 -3.9786 15.7961 -33.745 -2.48838 -4.109 15.6361 -33.75 -2.57046 -4.2457 15.4816 -33.755 -2.65538 -4.38885 15.3326 -33.76 -2.74339 -4.53863 15.1895 -33.765 -2.83472 -4.69517 15.0522 -33.77 -2.92957 -4.85859 14.9213 -33.775 -3.02807 -5.02919 14.7969 -33.78 -3.13035 -5.20731 14.6792 -33.785 -3.23656 -5.39326 14.5685 -33.79 -3.34687 -5.58734 14.4653 -33.795 -3.46143 -5.78981 14.3698 -33.8 -3.58043 -6.00094 14.2824 -33.805 -3.70404 -6.22095 14.2037 -33.81 -3.83246 -6.45005 14.134 -33.815 -3.96589 -6.68842 14.0739 -33.82 -4.10454 -6.93624 14.024 -33.825 -4.24862 -7.19364 13.9847 -33.83 -4.39836 -7.46075 13.9569 -33.835 -4.55399 -7.73767 13.9411 -33.84 -4.71575 -8.02449 13.938 -33.845 -4.88391 -8.32126 13.9483 -33.85 -5.0587 -8.62801 13.973 -33.855 -5.2404 -8.94476 14.0127 -33.86 -5.4287 -9.27057 14.0676 -33.865 -5.6236 -9.60528 14.1389 -33.87 -5.82545 -9.94931 14.2279 -33.875 -6.03456 -10.3029 14.3361 -33.88 -6.25115 -10.666 14.465 -33.885 -6.4754 -11.0384 14.6159 -33.89 -6.70739 -11.4197 14.7902 -33.895 -6.94716 -11.8092 14.9891 -33.9 -7.19465 -12.206 15.2139 -33.905 -7.44976 -12.6092 15.4656 -33.91 -7.71232 -13.0172 15.7454 -33.915 -7.98207 -13.4287 16.0544 -33.92 -8.25871 -13.8419 16.3936 -33.925 -8.54184 -14.2547 16.7639 -33.93 -8.83103 -14.6652 17.1663 -33.935 -9.12575 -15.0707 17.6015 -33.94 -9.42541 -15.4689 18.0705 -33.945 -9.72937 -15.8567 18.574 -33.95 -10.0369 -16.2312 19.1126 -33.955 -10.3472 -16.589 19.6871 -33.96 -10.6594 -16.9268 20.2979 -33.965 -10.9726 -17.2408 20.9458 -33.97 -11.2858 -17.529 21.6299 -33.975 -11.5973 -17.7881 22.3479 -33.98 -11.9053 -18.0125 23.0974 -33.985 -12.2079 -18.1973 23.8756 -33.99 -12.5035 -18.3378 24.6794 -33.995 -12.79 -18.4302 25.5053 -34 -13.0656 -18.471 26.3494 -34.005 -13.3283 -18.4573 27.2072 -34.01 -13.5763 -18.3868 28.074 -34.015 -13.8076 -18.2577 28.9447 -34.02 -14.0202 -18.0686 29.8136 -34.025 -14.2122 -17.8189 30.6749 -34.03 -14.3814 -17.5084 31.522 -34.035 -14.5259 -17.1375 32.3482 -34.04 -14.6436 -16.707 33.1463 -34.045 -14.7326 -16.2173 33.9085 -34.05 -14.7921 -15.6669 34.6264 -34.055 -14.8213 -15.0639 35.2949 -34.06 -14.8191 -14.4173 35.9101 -34.065 -14.785 -13.7355 36.4683 -34.07 -14.7188 -13.0263 36.9668 -34.075 -14.6206 -12.297 37.4032 -34.08 -14.4908 -11.554 37.7758 -34.085 -14.33 -10.8034 38.0834 -34.09 -14.1394 -10.0505 38.3256 -34.095 -13.9202 -9.29999 38.5024 -34.1 -13.6742 -8.55612 38.6143 -34.105 -13.4033 -7.82235 38.6625 -34.11 -13.1098 -7.10159 38.6489 -34.115 -12.7963 -6.39614 38.5758 -34.12 -12.4658 -5.70768 38.4461 -34.125 -12.1196 -5.04395 38.2656 -34.13 -11.7585 -4.41376 38.0404 -34.135 -11.3851 -3.8193 37.7746 -34.14 -11.0021 -3.26225 37.4723 -34.145 -10.6116 -2.74378 37.1375 -34.15 -10.2161 -2.26457 36.7741 -34.155 -9.81759 -1.82476 36.3863 -34.16 -9.41806 -1.42398 35.9779 -34.165 -9.01938 -1.06137 35.553 -34.17 -8.62327 -0.735531 35.1154 -34.175 -8.23134 -0.444577 34.6691 -34.18 -7.84505 -0.186097 34.2179 -34.185 -7.46573 0.0428183 33.7657 -34.19 -7.09461 0.243819 33.3134 -34.195 -6.73257 0.41815 32.861 -34.2 -6.38029 0.567812 32.4098 -34.205 -6.0384 0.694746 31.961 -34.21 -5.7074 0.800841 31.5158 -34.215 -5.38773 0.887929 31.0749 -34.22 -5.07974 0.957788 30.6391 -34.225 -4.78369 1.01214 30.209 -34.23 -4.49975 1.05264 29.785 -34.235 -4.22801 1.08092 29.3676 -34.24 -3.96846 1.09852 28.9566 -34.245 -3.72101 1.10693 28.5523 -34.25 -3.48548 1.10761 28.1544 -34.255 -3.26162 1.10149 27.7631 -34.26 -3.04912 1.08939 27.3783 -34.265 -2.84768 1.07215 26.9999 -34.27 -2.65697 1.0506 26.6278 -34.275 -2.47668 1.02545 26.2619 -34.28 -2.30646 0.997409 25.902 -34.285 -2.14597 0.967083 25.5479 -34.29 -1.99485 0.935034 25.1997 -34.295 -1.85273 0.901763 24.8571 -34.3 -1.71923 0.86771 24.5199 -34.305 -1.59397 0.833251 24.1881 -34.31 -1.47655 0.798707 23.8615 -34.315 -1.36656 0.764334 23.5399 -34.32 -1.26359 0.73033 23.2232 -34.325 -1.1672 0.696835 22.9114 -34.33 -1.077 0.664012 22.6041 -34.335 -0.992698 0.632023 22.3013 -34.34 -0.914014 0.600992 22.003 -34.345 -0.840668 0.571028 21.709 -34.35 -0.772381 0.542217 21.4193 -34.355 -0.708872 0.514629 21.1336 -34.36 -0.649862 0.488312 20.8521 -34.365 -0.595072 0.463297 20.5745 -34.37 -0.544221 0.439596 20.3007 -34.375 -0.497031 0.417199 20.0308 -34.38 -0.453223 0.396081 19.7646 -34.385 -0.412517 0.376194 19.502 -34.39 -0.374633 0.357474 19.243 -34.395 -0.339334 0.339866 18.9875 -34.4 -0.306504 0.323393 18.7355 -34.405 -0.276013 0.308053 18.4869 -34.41 -0.247727 0.293837 18.2416 -34.415 -0.221514 0.28073 17.9997 -34.42 -0.197241 0.268711 17.761 -34.425 -0.174773 0.257753 17.5255 -34.43 -0.153975 0.247822 17.2932 -34.435 -0.134713 0.238879 17.064 -34.44 -0.116851 0.230877 16.8379 -34.445 -0.100253 0.223766 16.6148 -34.45 -0.0847826 0.217486 16.3946 -34.455 -0.0703023 0.211974 16.1774 -34.46 -0.0566792 0.207163 15.9631 -34.465 -0.0438592 0.203047 15.7516 -34.47 -0.0318072 0.199632 15.5429 -34.475 -0.020477 0.196912 15.337 -34.48 -0.00982089 0.194883 15.1339 -34.485 0.000210793 0.193533 14.9334 -34.49 0.0096693 0.192853 14.7356 -34.495 0.0186076 0.192828 14.5405 -34.5 0.0270803 0.193443 14.3479 -34.505 0.0351438 0.194679 14.1579 -34.51 0.0428563 0.196516 13.9705 -34.515 0.0502773 0.198931 13.7855 -34.52 0.0574685 0.201899 13.6029 -34.525 0.064493 0.205392 13.4228 -34.53 0.0714157 0.20938 13.2451 -34.535 0.0782713 0.213861 13.0698 -34.54 0.0850554 0.218869 12.8968 -34.545 0.0917829 0.224417 12.726 -34.55 0.0984709 0.230521 12.5576 -34.555 0.105138 0.237194 12.3914 -34.56 0.111806 0.244452 12.2274 -34.565 0.118496 0.252308 12.0656 -34.57 0.125233 0.260775 11.9059 -34.575 0.132045 0.269867 11.7484 -34.58 0.138958 0.279597 11.593 -34.585 0.146004 0.289977 11.4397 -34.59 0.153214 0.301021 11.2884 -34.595 0.160623 0.31274 11.1391 -34.6 0.168266 0.325146 10.9918 -34.605 0.176182 0.33825 10.8465 -34.61 0.184409 0.352066 10.7032 -34.615 0.192969 0.366632 10.5617 -34.62 0.201869 0.381997 10.4222 -34.625 0.211121 0.398202 10.2846 -34.63 0.220742 0.415294 10.1488 -34.635 0.230747 0.433319 10.0149 -34.64 0.241159 0.452325 9.88273 -34.645 0.252 0.472365 9.7524 -34.65 0.263297 0.493489 9.62384 -34.655 0.275078 0.515754 9.49705 -34.66 0.287377 0.539215 9.372 -34.665 0.300226 0.563931 9.24867 -34.67 0.313665 0.589964 9.12705 -34.675 0.327734 0.617374 9.00712 -34.68 0.342475 0.646227 8.88888 -34.685 0.357935 0.676589 8.7723 -34.69 0.374163 0.708528 8.65737 -34.695 0.391209 0.742114 8.54409 -34.7 0.40913 0.77742 8.43244 -34.705 0.427983 0.814521 8.32241 -34.71 0.447844 0.853518 8.21402 -34.715 0.468752 0.894526 8.10727 -34.72 0.490736 0.93766 8.00213 -34.725 0.51383 0.983042 7.89859 -34.73 0.538077 1.0308 7.79665 -34.735 0.563524 1.08108 7.69629 -34.74 0.590227 1.13401 7.59753 -34.745 0.618249 1.18976 7.50037 -34.75 0.647659 1.24848 7.40482 -34.755 0.678531 1.31034 7.31089 -34.76 0.71095 1.37551 7.21862 -34.765 0.745005 1.44419 7.12803 -34.77 0.780793 1.51656 7.03914 -34.775 0.818416 1.59282 6.952 -34.78 0.857985 1.67317 6.86665 -34.785 0.899618 1.75783 6.78314 -34.79 0.943437 1.84703 6.70152 -34.795 0.989575 1.94098 6.62184 -34.8 1.03817 2.03994 6.54418 -34.805 1.08936 2.14414 6.4686 -34.81 1.1433 2.25383 6.39516 -34.815 1.20016 2.36927 6.32396 -34.82 1.26009 2.49074 6.25507 -34.825 1.3233 2.61839 6.18887 -34.83 1.39001 2.75243 6.12575 -34.835 1.46033 2.89339 6.06562 -34.84 1.5344 3.04178 6.00844 -34.845 1.61237 3.19809 5.95426 -34.85 1.69442 3.36285 5.90314 -34.855 1.78073 3.53659 5.85525 -34.86 1.87151 3.71981 5.81079 -34.865 1.96699 3.91305 5.77003 -34.87 2.06741 4.11684 5.7333 -34.875 2.17302 4.33169 5.70098 -34.88 2.28411 4.55815 5.67352 -34.885 2.40097 4.79676 5.65144 -34.89 2.5239 5.04804 5.63529 -34.895 2.65325 5.31255 5.62571 -34.9 2.78935 5.59082 5.62339 -34.905 2.93256 5.88341 5.62908 -34.91 3.08328 6.19086 5.64357 -34.915 3.24189 6.51373 5.66775 -34.92 3.40882 6.85257 5.70253 -34.925 3.58449 7.20794 5.74892 -34.93 3.76936 7.58041 5.80795 -34.935 3.9639 7.97053 5.88073 -34.94 4.16859 8.37888 5.96844 -34.945 4.38393 8.80602 6.0723 -34.95 4.61035 9.25228 6.19363 -34.955 4.84743 9.71619 6.3343 -34.96 5.09574 10.1989 6.49638 -34.965 5.35605 10.7019 6.68199 -34.97 5.62901 11.2262 6.89338 -34.975 5.9152 11.7723 7.13292 -34.98 6.21506 12.3403 7.4031 -34.985 6.52894 12.9299 7.70653 -34.99 6.8571 13.5401 8.04594 -34.995 7.19966 14.1696 8.42419 -35 7.55668 14.8166 8.84425 -35.005 7.92808 15.4788 9.30921 -35.01 8.31368 16.1534 9.8223 -35.015 8.71322 16.8371 10.3869 -35.02 9.1263 17.5263 11.0063 -35.025 9.55245 18.2168 11.6843 -35.03 9.99106 18.9039 12.4245 -35.035 10.4414 19.5825 13.2307 -35.04 10.9028 20.247 14.1069 -35.045 11.3742 20.8914 15.0569 -35.05 11.8536 21.511 16.0792 -35.055 12.3387 22.0954 17.174 -35.06 12.8272 22.6324 18.3422 -35.065 13.3165 23.1107 19.5827 -35.07 13.8036 23.5194 20.8929 -35.075 14.2851 23.848 22.2683 -35.08 14.7574 24.0869 23.7027 -35.085 15.2164 24.2269 25.188 -35.09 15.6579 24.2592 26.7146 -35.095 16.0772 24.1758 28.2711 -35.1 16.4692 23.9691 29.844 -35.105 16.8285 23.6322 31.4186 -35.11 17.1498 23.1578 32.9784 -35.115 17.4299 22.532 34.5089 -35.12 17.6641 21.7637 35.9892 -35.125 17.8471 20.8689 37.3982 -35.13 17.9747 19.8626 38.7175 -35.135 18.0438 18.7595 39.9315 -35.14 18.052 17.5733 41.027 -35.145 17.9981 16.3174 41.9937 -35.15 17.8819 15.0042 42.8239 -35.155 17.704 13.6457 43.5123 -35.16 17.4661 12.2531 44.0567 -35.165 17.1709 10.8371 44.4573 -35.17 16.8221 9.40755 44.717 -35.175 16.424 7.97536 44.8411 -35.18 15.9769 6.57414 44.8331 -35.185 15.4844 5.22483 44.7018 -35.19 14.952 3.9391 44.4579 -35.195 14.385 2.72647 44.1129 -35.2 13.7888 1.59434 43.6788 -35.205 13.1685 0.547981 43.1679 -35.21 12.5293 -0.409491 42.5934 -35.215 11.8765 -1.27708 41.9689 -35.22 11.2151 -2.05591 41.3084 -35.225 10.5501 -2.74928 40.6267 -35.23 9.88619 -3.36163 39.9337 -35.235 9.22669 -3.89734 39.2329 -35.24 8.57497 -4.36148 38.531 -35.245 7.934 -4.75921 37.8334 -35.25 7.30637 -5.09585 37.1452 -35.255 6.69429 -5.37684 36.4703 -35.26 6.09963 -5.60775 35.8119 -35.265 5.52385 -5.79427 35.1724 -35.27 4.96807 -5.94224 34.5535 -35.275 4.43303 -6.05762 33.9559 -35.28 3.91928 -6.14554 33.3798 -35.285 3.42721 -6.20877 32.8256 -35.29 2.95665 -6.25078 32.2926 -35.295 2.50734 -6.27486 31.7803 -35.3 2.07894 -6.28403 31.288 -35.305 1.67108 -6.28107 30.8151 -35.31 1.2833 -6.26853 30.3607 -35.315 0.915098 -6.24869 29.9243 -35.32 0.565894 -6.22358 29.5049 -35.325 0.235055 -6.195 29.1018 -35.33 -0.0781167 -6.16449 28.7142 -35.335 -0.37438 -6.13333 28.3411 -35.34 -0.654556 -6.10258 27.9817 -35.345 -0.919536 -6.07304 27.635 -35.35 -1.17048 -6.04573 27.3003 -35.355 -1.40823 -6.02142 26.9772 -35.36 -1.63345 -6.00057 26.665 -35.365 -1.84678 -5.98362 26.3633 -35.37 -2.04891 -5.97098 26.0718 -35.375 -2.2405 -5.96302 25.7899 -35.38 -2.42224 -5.96006 25.5174 -35.385 -2.59482 -5.96241 25.2539 -35.39 -2.75895 -5.97032 24.999 -35.395 -2.91532 -5.98401 24.7525 -35.4 -3.06466 -6.00367 24.5141 -35.405 -3.20768 -6.02945 24.2836 -35.41 -3.34513 -6.06147 24.0608 -35.415 -3.47772 -6.09981 23.8455 -35.42 -3.60622 -6.14451 23.6376 -35.425 -3.73128 -6.1955 23.4369 -35.43 -3.85322 -6.2526 23.2435 -35.435 -3.97233 -6.31581 23.0575 -35.44 -4.08893 -6.38518 22.879 -35.445 -4.20335 -6.46072 22.708 -35.45 -4.31592 -6.54241 22.5446 -35.455 -4.42696 -6.63024 22.3889 -35.46 -4.53681 -6.72417 22.2411 -35.465 -4.64581 -6.82413 22.1013 -35.47 -4.75429 -6.93005 21.9695 -35.475 -4.86259 -7.04183 21.8458 -35.48 -4.97106 -7.15935 21.7304 -35.485 -5.08005 -7.28248 21.6234 -35.49 -5.1899 -7.41107 21.5248 -35.495 -5.30096 -7.54495 21.4349 -35.5 -5.4136 -7.68393 21.3538 -35.505 -5.52796 -7.82784 21.2816 -35.51 -5.64403 -7.97659 21.2186 -35.515 -5.76191 -8.13013 21.1653 -35.52 -5.8817 -8.28832 21.122 -35.525 -6.00347 -8.45104 21.089 -35.53 -6.12731 -8.61809 21.0665 -35.535 -6.25327 -8.78924 21.0551 -35.54 -6.38142 -8.96425 21.0548 -35.545 -6.51181 -9.1428 21.066 -35.55 -6.64448 -9.32455 21.0891 -35.555 -6.77947 -9.50914 21.1241 -35.56 -6.9168 -9.69615 21.1714 -35.565 -7.05651 -9.88513 21.2313 -35.57 -7.1986 -10.0756 21.3039 -35.575 -7.34309 -10.267 21.3895 -35.58 -7.48996 -10.4588 21.4882 -35.585 -7.63921 -10.6503 21.6003 -35.59 -7.79075 -10.8413 21.7258 -35.595 -7.94421 -11.0314 21.8645 -35.6 -8.0994 -11.2199 22.0168 -35.605 -8.25611 -11.4057 22.1831 -35.61 -8.4141 -11.5879 22.3636 -35.615 -8.5731 -11.7654 22.5585 -35.62 -8.73284 -11.9374 22.7678 -35.625 -8.89299 -12.1029 22.9915 -35.63 -9.05322 -12.2609 23.2294 -35.635 -9.21315 -12.4106 23.4811 -35.64 -9.37239 -12.5509 23.7464 -35.645 -9.53052 -12.6811 24.0248 -35.65 -9.68709 -12.8001 24.3156 -35.655 -9.84163 -12.9071 24.6181 -35.66 -9.99364 -13.0012 24.9316 -35.665 -10.1426 -13.0816 25.2551 -35.67 -10.2879 -13.1473 25.5876 -35.675 -10.4291 -13.1975 25.9279 -35.68 -10.5654 -13.2313 26.2749 -35.685 -10.6963 -13.248 26.6272 -35.69 -10.8212 -13.2466 26.9833 -35.695 -10.9392 -13.2263 27.3417 -35.7 -11.05 -13.186 27.7013 -35.705 -11.1536 -13.1246 28.0613 -35.71 -11.249 -13.0428 28.4194 -35.715 -11.3356 -12.9412 28.7736 -35.72 -11.4127 -12.8207 29.1217 -35.725 -11.4797 -12.6819 29.4618 -35.73 -11.5361 -12.5256 29.7921 -35.735 -11.5815 -12.3528 30.1109 -35.74 -11.6155 -12.1641 30.4168 -35.745 -11.6379 -11.9604 30.7082 -35.75 -11.6485 -11.7428 30.9838 -35.755 -11.6471 -11.5119 31.2426 -35.76 -11.6338 -11.2689 31.4835 -35.765 -11.6085 -11.0146 31.7056 -35.77 -11.5714 -10.75 31.908 -35.775 -11.5227 -10.4762 32.0902 -35.78 -11.4627 -10.1941 32.2516 -35.785 -11.3917 -9.90496 32.3919 -35.79 -11.3101 -9.60971 32.5107 -35.795 -11.2185 -9.30952 32.6079 -35.8 -11.1175 -9.00552 32.6835 -35.805 -11.0068 -8.7009 32.7375 -35.81 -10.8864 -8.3986 32.77 -35.815 -10.7572 -8.09988 32.781 -35.82 -10.6197 -7.80591 32.7711 -35.825 -10.4749 -7.51778 32.7406 -35.83 -10.3234 -7.23651 32.69 -35.835 -10.1658 -6.96304 32.6198 -35.84 -10.003 -6.69824 32.5309 -35.845 -9.83562 -6.4429 32.4239 -35.85 -9.66431 -6.19771 32.2996 -35.855 -9.48976 -5.96333 32.1592 -35.86 -9.31264 -5.74029 32.0034 -35.865 -9.1336 -5.52908 31.8336 -35.87 -8.95328 -5.33009 31.6508 -35.875 -8.77231 -5.14365 31.4565 -35.88 -8.59132 -4.97 31.2518 -35.885 -8.41092 -4.80932 31.0384 -35.89 -8.23171 -4.66168 30.8178 -35.895 -8.05429 -4.52711 30.5915 -35.9 -7.87923 -4.40553 30.3614 -35.905 -7.70718 -4.29614 30.1278 -35.91 -7.53863 -4.19788 29.8897 -35.915 -7.37389 -4.11054 29.6478 -35.92 -7.21324 -4.03384 29.4028 -35.925 -7.05694 -3.96753 29.1552 -35.93 -6.90525 -3.91131 28.9057 -35.935 -6.75837 -3.86488 28.6546 -35.94 -6.61654 -3.82793 28.4027 -35.945 -6.47993 -3.80013 28.1502 -35.95 -6.34872 -3.78112 27.8977 -35.955 -6.22307 -3.77054 27.6456 -35.96 -6.10311 -3.76802 27.3942 -35.965 -5.98897 -3.77315 27.1441 -35.97 -5.88074 -3.78553 26.8954 -35.975 -5.7785 -3.80473 26.6485 -35.98 -5.68233 -3.8303 26.4038 -35.985 -5.59226 -3.86179 26.1614 -35.99 -5.50832 -3.89872 25.9215 -35.995 -5.43053 -3.94061 25.6845 -36 -5.35887 -3.98695 25.4505 -36.005 -5.29315 -4.03786 25.2195 -36.01 -5.23314 -4.09374 24.9919 -36.015 -5.17883 -4.15442 24.7676 -36.02 -5.1302 -4.21974 24.5468 -36.025 -5.0872 -4.28958 24.3297 -36.03 -5.0498 -4.36382 24.1164 -36.035 -5.01796 -4.44234 23.907 -36.04 -4.99165 -4.52506 23.7018 -36.045 -4.9708 -4.6119 23.5008 -36.05 -4.95538 -4.70278 23.3043 -36.055 -4.94532 -4.79767 23.1123 -36.06 -4.94057 -4.89651 22.9251 -36.065 -4.94107 -4.99929 22.7427 -36.07 -4.94674 -5.10599 22.5655 -36.075 -4.95752 -5.21663 22.3935 -36.08 -4.97333 -5.33121 22.2269 -36.085 -4.9941 -5.44976 22.0659 -36.09 -5.01974 -5.57234 21.9107 -36.095 -5.05017 -5.699 21.7614 -36.1 -5.0853 -5.82981 21.6183 -36.105 -5.12503 -5.96486 21.4815 -36.11 -5.16917 -6.10407 21.3512 -36.115 -5.21762 -6.24734 21.2277 -36.12 -5.27048 -6.39475 21.1112 -36.125 -5.32787 -6.54637 21.0019 -36.13 -5.38986 -6.70223 20.9001 -36.135 -5.45651 -6.86237 20.8062 -36.14 -5.5279 -7.02677 20.7202 -36.145 -5.60404 -7.19542 20.6427 -36.15 -5.68497 -7.36827 20.5737 -36.155 -5.77069 -7.54524 20.5137 -36.16 -5.8612 -7.72626 20.463 -36.165 -5.95648 -7.91119 20.4217 -36.17 -6.05649 -8.09991 20.3904 -36.175 -6.16117 -8.29226 20.3693 -36.18 -6.27047 -8.48805 20.3587 -36.185 -6.38431 -8.68709 20.359 -36.19 -6.50257 -8.88914 20.3705 -36.195 -6.62517 -9.09397 20.3936 -36.2 -6.75196 -9.30128 20.4287 -36.205 -6.88281 -9.51081 20.4761 -36.21 -7.01757 -9.72222 20.5362 -36.215 -7.15605 -9.93518 20.6095 -36.22 -7.29809 -10.1493 20.6962 -36.225 -7.44347 -10.3643 20.7968 -36.23 -7.59198 -10.5796 20.9118 -36.235 -7.7434 -10.795 21.0415 -36.24 -7.89752 -11.0099 21.1861 -36.245 -8.05438 -11.224 21.3449 -36.25 -8.2138 -11.4361 21.5185 -36.255 -8.37556 -11.6451 21.7072 -36.26 -8.5394 -11.8499 21.9113 -36.265 -8.70502 -12.0493 22.1312 -36.27 -8.87209 -12.2421 22.3668 -36.275 -9.04024 -12.4274 22.6181 -36.28 -9.20908 -12.604 22.8849 -36.285 -9.37817 -12.7708 23.1671 -36.29 -9.54705 -12.9269 23.4641 -36.295 -9.71522 -13.0711 23.7755 -36.3 -9.88214 -13.2024 24.1006 -36.305 -10.0472 -13.3199 24.4386 -36.31 -10.2099 -13.4226 24.7887 -36.315 -10.3695 -13.5095 25.1498 -36.32 -10.5254 -13.5796 25.5208 -36.325 -10.6769 -13.632 25.9004 -36.33 -10.8231 -13.6658 26.2873 -36.335 -10.9635 -13.6801 26.68 -36.34 -11.097 -13.674 27.0768 -36.345 -11.223 -13.6467 27.476 -36.35 -11.3405 -13.5972 27.8758 -36.355 -11.4491 -13.524 28.2747 -36.36 -11.5488 -13.4261 28.6714 -36.365 -11.6388 -13.3047 29.0632 -36.37 -11.7183 -13.1611 29.4478 -36.375 -11.7865 -12.9965 29.8227 -36.38 -11.843 -12.8121 30.1858 -36.385 -11.8871 -12.6092 30.5352 -36.39 -11.9184 -12.389 30.869 -36.395 -11.9368 -12.1526 31.1857 -36.4 -11.9418 -11.9013 31.4836 -36.405 -11.9335 -11.6363 31.7616 -36.41 -11.9118 -11.3588 32.0184 -36.415 -11.8768 -11.0699 32.2531 -36.42 -11.8286 -10.7708 32.4649 -36.425 -11.7674 -10.4627 32.6531 -36.43 -11.6937 -10.1467 32.8172 -36.435 -11.6079 -9.82393 32.957 -36.44 -11.5104 -9.49559 33.0723 -36.445 -11.4021 -9.1628 33.163 -36.45 -11.2835 -8.82666 33.2295 -36.455 -11.1552 -8.48916 33.2719 -36.46 -11.0165 -8.15528 33.2907 -36.465 -10.8683 -7.82682 33.2861 -36.47 -10.7114 -7.50504 33.2587 -36.475 -10.5467 -7.19113 33.2088 -36.48 -10.3751 -6.88616 33.1372 -36.485 -10.1973 -6.59113 33.0445 -36.49 -10.0143 -6.30691 32.9317 -36.495 -9.82675 -6.03431 32.7996 -36.5 -9.63553 -5.77401 32.6493 -36.505 -9.44139 -5.52661 32.4818 -36.51 -9.24506 -5.29262 32.2985 -36.515 -9.04727 -5.07245 32.1006 -36.52 -8.84874 -4.86639 31.8895 -36.525 -8.65016 -4.67467 31.6668 -36.53 -8.4522 -4.4974 31.4341 -36.535 -8.25551 -4.33459 31.193 -36.54 -8.06072 -4.18618 30.9455 -36.545 -7.86846 -4.05198 30.6934 -36.55 -7.67933 -3.93174 30.4387 -36.555 -7.49397 -3.82458 30.1816 -36.56 -7.31289 -3.72941 29.9209 -36.565 -7.1364 -3.64585 29.657 -36.57 -6.96475 -3.57353 29.3907 -36.575 -6.79821 -3.51206 29.1226 -36.58 -6.63699 -3.46105 28.8531 -36.585 -6.48131 -3.42009 28.5829 -36.59 -6.33135 -3.38879 28.3124 -36.595 -6.1873 -3.36671 28.0421 -36.6 -6.04929 -3.35344 27.7725 -36.605 -5.91746 -3.34855 27.5039 -36.61 -5.79191 -3.35159 27.2367 -36.615 -5.67275 -3.36212 26.9712 -36.62 -5.56003 -3.37968 26.7077 -36.625 -5.4538 -3.40381 26.4466 -36.63 -5.3541 -3.43405 26.1879 -36.635 -5.26094 -3.4699 25.932 -36.64 -5.17431 -3.51089 25.679 -36.645 -5.09418 -3.55651 25.429 -36.65 -5.02035 -3.60675 25.1822 -36.655 -4.9526 -3.66193 24.9387 -36.66 -4.89088 -3.72186 24.6987 -36.665 -4.83514 -3.78637 24.4623 -36.67 -4.78534 -3.85531 24.2297 -36.675 -4.74143 -3.92855 24.0009 -36.68 -4.70335 -4.00597 23.776 -36.685 -4.67105 -4.08747 23.5553 -36.69 -4.64445 -4.17297 23.3388 -36.695 -4.6235 -4.2624 23.1267 -36.7 -4.60812 -4.35572 22.919 -36.705 -4.59824 -4.4529 22.7161 -36.71 -4.59378 -4.55392 22.5179 -36.715 -4.59467 -4.65879 22.3246 -36.72 -4.60081 -4.76752 22.1365 -36.725 -4.61212 -4.88017 21.9536 -36.73 -4.62851 -4.99679 21.7761 -36.735 -4.64988 -5.11745 21.6042 -36.74 -4.67613 -5.24224 21.438 -36.745 -4.70716 -5.37127 21.2777 -36.75 -4.74285 -5.50465 21.1235 -36.755 -4.78302 -5.64229 20.9756 -36.76 -4.82772 -5.7842 20.8343 -36.765 -4.87702 -5.93048 20.6997 -36.77 -4.93104 -6.08121 20.5721 -36.775 -4.98982 -6.23645 20.4516 -36.78 -5.05345 -6.39625 20.3386 -36.785 -5.12196 -6.56064 20.2332 -36.79 -5.1954 -6.72963 20.1357 -36.795 -5.27379 -6.90322 20.0465 -36.8 -5.35714 -7.08139 19.9659 -36.805 -5.44546 -7.26412 19.894 -36.81 -5.53874 -7.45134 19.8313 -36.815 -5.63695 -7.643 19.7782 -36.82 -5.74007 -7.83902 19.7349 -36.825 -5.84804 -8.03929 19.7018 -36.83 -5.9608 -8.2437 19.6794 -36.835 -6.0783 -8.45212 19.668 -36.84 -6.20045 -8.66441 19.668 -36.845 -6.32715 -8.8804 19.68 -36.85 -6.4583 -9.09993 19.7042 -36.855 -6.59378 -9.32278 19.7412 -36.86 -6.73347 -9.54876 19.7915 -36.865 -6.87722 -9.77764 19.8555 -36.87 -7.02489 -10.0092 19.9338 -36.875 -7.1763 -10.2431 20.0267 -36.88 -7.33126 -10.4792 20.1336 -36.885 -7.48973 -10.7166 20.2545 -36.89 -7.65172 -10.9545 20.3906 -36.895 -7.81715 -11.192 20.5425 -36.9 -7.98592 -11.428 20.7111 -36.905 -8.15787 -11.6617 20.8968 -36.91 -8.3328 -11.8919 21.1001 -36.915 -8.51045 -12.1178 21.3214 -36.92 -8.69054 -12.3382 21.5607 -36.925 -8.87271 -12.5522 21.8181 -36.93 -9.05657 -12.7585 22.0935 -36.935 -9.24168 -12.956 22.3867 -36.94 -9.42756 -13.1438 22.6975 -36.945 -9.61367 -13.3204 23.0252 -36.95 -9.79943 -13.4849 23.3692 -36.955 -9.98421 -13.636 23.729 -36.96 -10.1673 -13.7723 24.1035 -36.965 -10.3481 -13.8928 24.4918 -36.97 -10.5257 -13.996 24.8928 -36.975 -10.6993 -14.0808 25.3052 -36.98 -10.8681 -14.1457 25.7276 -36.985 -11.0311 -14.1893 26.1586 -36.99 -11.1875 -14.2104 26.5964 -36.995 -11.3361 -14.2076 27.0394 -37 -11.476 -14.1793 27.4856 -37.005 -11.607 -14.1238 27.934 -37.01 -11.729 -14.041 28.3824 -37.015 -11.8408 -13.9318 28.8278 -37.02 -11.9414 -13.797 29.2671 -37.025 -12.0299 -13.6376 29.6976 -37.03 -12.1057 -13.4546 30.1168 -37.035 -12.1681 -13.2491 30.5222 -37.04 -12.2165 -13.022 30.9116 -37.045 -12.2504 -12.7746 31.283 -37.05 -12.2697 -12.5079 31.6345 -37.055 -12.2739 -12.2234 31.9646 -37.06 -12.2631 -11.9221 32.2718 -37.065 -12.2373 -11.6055 32.5547 -37.07 -12.1964 -11.2748 32.8124 -37.075 -12.1409 -10.9316 33.0438 -37.08 -12.0709 -10.5772 33.2483 -37.085 -11.987 -10.2131 33.4255 -37.09 -11.8896 -9.84099 33.5748 -37.095 -11.7794 -9.46231 33.6962 -37.1 -11.6568 -9.07971 33.7896 -37.105 -11.5213 -8.69842 33.8546 -37.11 -11.3736 -8.32063 33.8915 -37.115 -11.2149 -7.94808 33.9009 -37.12 -11.046 -7.58242 33.8834 -37.125 -10.8678 -7.22514 33.8397 -37.13 -10.6813 -6.87763 33.7706 -37.135 -10.4875 -6.54115 33.6771 -37.14 -10.2872 -6.21683 33.5603 -37.145 -10.0813 -5.90569 33.4215 -37.15 -9.87071 -5.60863 33.262 -37.155 -9.65633 -5.32641 33.0832 -37.16 -9.43903 -5.05967 32.8866 -37.165 -9.21967 -4.80894 32.6741 -37.17 -8.99909 -4.57462 32.4473 -37.175 -8.77813 -4.35699 32.2083 -37.18 -8.55763 -4.15619 31.959 -37.185 -8.33841 -3.97226 31.7017 -37.19 -8.12129 -3.80511 31.4387 -37.195 -7.9071 -3.65385 31.1707 -37.2 -7.69652 -3.51711 30.897 -37.205 -7.49001 -3.39447 30.6184 -37.21 -7.28798 -3.28552 30.3357 -37.215 -7.09079 -3.18983 30.0497 -37.22 -6.89882 -3.10695 29.761 -37.225 -6.71239 -3.03639 29.4705 -37.23 -6.53178 -2.97765 29.1788 -37.235 -6.35727 -2.93021 28.8864 -37.24 -6.18909 -2.89353 28.594 -37.245 -6.02744 -2.86702 28.302 -37.25 -5.87252 -2.85011 28.0109 -37.255 -5.72445 -2.84217 27.7211 -37.26 -5.58337 -2.84258 27.4331 -37.265 -5.44936 -2.85066 27.1472 -37.27 -5.32249 -2.86573 26.8636 -37.275 -5.20277 -2.8871 26.5826 -37.28 -5.09022 -2.91403 26.3045 -37.285 -4.9848 -2.94585 26.0294 -37.29 -4.88621 -2.98301 25.7573 -37.295 -4.79434 -3.02554 25.4884 -37.3 -4.7091 -3.07316 25.2229 -37.305 -4.63043 -3.12563 24.9607 -37.31 -4.55825 -3.18272 24.7021 -37.315 -4.49247 -3.24425 24.4471 -37.32 -4.43302 -3.31003 24.1959 -37.325 -4.3798 -3.37992 23.9486 -37.33 -4.33273 -3.45378 23.7052 -37.335 -4.2917 -3.5315 23.466 -37.34 -4.25662 -3.61301 23.2309 -37.345 -4.22739 -3.69823 23.0001 -37.35 -4.2039 -3.78714 22.7738 -37.355 -4.18605 -3.87972 22.552 -37.36 -4.17372 -3.97597 22.3348 -37.365 -4.1668 -4.07593 22.1224 -37.37 -4.16516 -4.17964 21.9148 -37.375 -4.16868 -4.28719 21.7122 -37.38 -4.17724 -4.39868 21.5146 -37.385 -4.19063 -4.51416 21.3224 -37.39 -4.20879 -4.63369 21.1355 -37.395 -4.23179 -4.75731 20.9543 -37.4 -4.25968 -4.88507 20.7787 -37.405 -4.2925 -5.01703 20.6089 -37.41 -4.33027 -5.15325 20.4451 -37.415 -4.37302 -5.29379 20.2874 -37.42 -4.42078 -5.43872 20.1361 -37.425 -4.47355 -5.58809 19.9913 -37.43 -4.53135 -5.74198 19.8532 -37.435 -4.59416 -5.90046 19.7221 -37.44 -4.66199 -6.0636 19.5983 -37.445 -4.73481 -6.23148 19.482 -37.45 -4.81261 -6.40417 19.3735 -37.455 -4.89535 -6.58175 19.2732 -37.46 -4.98301 -6.76431 19.1813 -37.465 -5.07553 -6.95193 19.0983 -37.47 -5.17288 -7.14469 19.0244 -37.475 -5.27499 -7.3427 18.9601 -37.48 -5.38181 -7.54604 18.9058 -37.485 -5.49325 -7.7548 18.8618 -37.49 -5.60926 -7.96909 18.8286 -37.495 -5.72976 -8.18888 18.8067 -37.5 -5.8549 -8.41345 18.7958 -37.505 -5.98482 -8.64273 18.7968 -37.51 -6.11963 -8.87667 18.8102 -37.515 -6.2594 -9.11518 18.8367 -37.52 -6.40417 -9.35809 18.877 -37.525 -6.55393 -9.60513 18.9318 -37.53 -6.70867 -9.85597 19.0015 -37.535 -6.86834 -10.1102 19.0867 -37.54 -7.03283 -10.3674 19.188 -37.545 -7.20204 -10.6269 19.3057 -37.55 -7.37581 -10.8881 19.4405 -37.555 -7.55396 -11.1504 19.5927 -37.56 -7.73627 -11.4128 19.7626 -37.565 -7.9225 -11.6746 19.9507 -37.57 -8.11237 -11.9349 20.1573 -37.575 -8.30557 -12.1925 20.3827 -37.58 -8.50176 -12.4464 20.6271 -37.585 -8.70057 -12.6954 20.8907 -37.59 -8.90159 -12.9383 21.1738 -37.595 -9.10439 -13.1738 21.4765 -37.6 -9.30851 -13.4004 21.799 -37.605 -9.51343 -13.6167 22.1414 -37.61 -9.71874 -13.8216 22.5035 -37.615 -9.92393 -14.0144 22.8847 -37.62 -10.1282 -14.1927 23.284 -37.625 -10.3307 -14.3541 23.7007 -37.63 -10.5305 -14.4968 24.1337 -37.635 -10.7269 -14.6188 24.5817 -37.64 -10.9189 -14.7184 25.0433 -37.645 -11.1058 -14.794 25.5171 -37.65 -11.2865 -14.8444 26.0013 -37.655 -11.4602 -14.8684 26.4942 -37.66 -11.6261 -14.8648 26.9936 -37.665 -11.7831 -14.833 27.4974 -37.67 -11.9304 -14.7722 28.0034 -37.675 -12.0671 -14.682 28.509 -37.68 -12.1922 -14.562 29.0117 -37.685 -12.3047 -14.412 29.5086 -37.69 -12.4038 -14.2322 29.9968 -37.695 -12.4884 -14.0226 30.4733 -37.7 -12.5576 -13.7836 30.9348 -37.705 -12.6111 -13.5135 31.3778 -37.71 -12.6484 -13.2144 31.7996 -37.715 -12.669 -12.8898 32.1981 -37.72 -12.6726 -12.5434 32.5713 -37.725 -12.6589 -12.1782 32.9173 -37.73 -12.6278 -11.7974 33.2346 -37.735 -12.5792 -11.4039 33.5219 -37.74 -12.5134 -11.0003 33.7782 -37.745 -12.4305 -10.5891 34.0024 -37.75 -12.331 -10.1727 34.1939 -37.755 -12.2154 -9.75322 34.3523 -37.76 -12.0842 -9.3326 34.4774 -37.765 -11.9383 -8.91261 34.5692 -37.77 -11.7785 -8.49485 34.6279 -37.775 -11.6058 -8.08071 34.6539 -37.78 -11.4213 -7.67142 34.6479 -37.785 -11.2264 -7.268 34.6108 -37.79 -11.0223 -6.8713 34.5438 -37.795 -10.8102 -6.4835 34.4486 -37.8 -10.5896 -6.11007 34.328 -37.805 -10.362 -5.75248 34.1834 -37.81 -10.1284 -5.41174 34.0164 -37.815 -9.89014 -5.08869 33.8284 -37.82 -9.6483 -4.78398 33.6208 -37.825 -9.40397 -4.49809 33.3951 -37.83 -9.1582 -4.23135 33.153 -37.835 -8.91195 -3.98391 32.896 -37.84 -8.66615 -3.75573 32.6258 -37.845 -8.42168 -3.54662 32.3441 -37.85 -8.17935 -3.35621 32.0525 -37.855 -7.93995 -3.18397 31.753 -37.86 -7.70417 -3.02918 31.4472 -37.865 -7.47268 -2.89096 31.1371 -37.87 -7.24609 -2.76826 30.8244 -37.875 -7.02495 -2.65987 30.5112 -37.88 -6.80983 -2.56528 30.1969 -37.885 -6.60104 -2.4841 29.8811 -37.89 -6.39884 -2.41562 29.5645 -37.895 -6.20344 -2.35914 29.2476 -37.9 -6.01503 -2.31399 28.931 -37.905 -5.83379 -2.27951 28.6153 -37.91 -5.65985 -2.25505 28.3009 -37.915 -5.49334 -2.23999 27.9881 -37.92 -5.33433 -2.23372 27.6774 -37.925 -5.1829 -2.23564 27.369 -37.93 -5.03909 -2.24518 27.0634 -37.935 -4.9029 -2.26177 26.7606 -37.94 -4.77434 -2.28487 26.4609 -37.945 -4.65336 -2.31396 26.1644 -37.95 -4.53991 -2.34851 25.8712 -37.955 -4.43389 -2.38803 25.5815 -37.96 -4.33514 -2.43217 25.2951 -37.965 -4.24337 -2.48098 25.0125 -37.97 -4.15846 -2.53422 24.7336 -37.975 -4.08032 -2.59167 24.4585 -37.98 -4.00885 -2.65309 24.1873 -37.985 -3.94395 -2.71831 23.9201 -37.99 -3.8855 -2.78717 23.6568 -37.995 -3.8334 -2.85952 23.3975 -38 -3.78752 -2.93525 23.1424 -38.005 -3.74776 -3.01428 22.8915 -38.01 -3.71399 -3.09655 22.6448 -38.015 -3.68608 -3.18203 22.4025 -38.02 -3.66391 -3.2707 22.1645 -38.025 -3.64733 -3.36258 21.9311 -38.03 -3.63622 -3.45771 21.7022 -38.035 -3.63043 -3.55617 21.478 -38.04 -3.62981 -3.65805 21.2586 -38.045 -3.63422 -3.76347 21.0439 -38.05 -3.64351 -3.87256 20.8342 -38.055 -3.65751 -3.98551 20.6295 -38.06 -3.67608 -4.10237 20.43 -38.065 -3.69925 -4.22321 20.2359 -38.07 -3.72707 -4.34809 20.0472 -38.075 -3.75962 -4.4771 19.864 -38.08 -3.79693 -4.61034 19.6865 -38.085 -3.83905 -4.7479 19.5147 -38.09 -3.88603 -4.88988 19.3489 -38.095 -3.93789 -5.03639 19.1892 -38.1 -3.99466 -5.18754 19.0358 -38.105 -4.05636 -5.34345 18.889 -38.11 -4.12302 -5.50424 18.7489 -38.115 -4.19463 -5.67005 18.6158 -38.12 -4.2712 -5.841 18.49 -38.125 -4.35273 -6.01723 18.3719 -38.13 -4.43921 -6.19889 18.2616 -38.135 -4.53062 -6.38613 18.1596 -38.14 -4.62696 -6.5791 18.0663 -38.145 -4.72818 -6.77797 17.9819 -38.15 -4.83427 -6.98289 17.9069 -38.155 -4.94518 -7.19405 17.8417 -38.16 -5.06086 -7.41162 17.7867 -38.165 -5.18128 -7.63578 17.7424 -38.17 -5.3065 -7.86617 17.7091 -38.175 -5.43678 -8.1023 17.687 -38.18 -5.57227 -8.34436 17.6769 -38.185 -5.71311 -8.59244 17.6795 -38.19 -5.8594 -8.84655 17.6954 -38.195 -6.0112 -9.1066 17.7253 -38.2 -6.16856 -9.37243 17.77 -38.205 -6.33148 -9.64378 17.83 -38.21 -6.49996 -9.92031 17.906 -38.215 -6.67393 -10.2016 17.9986 -38.22 -6.85333 -10.4871 18.1085 -38.225 -7.03805 -10.7762 18.2363 -38.23 -7.22795 -11.0683 18.3825 -38.235 -7.42288 -11.3625 18.5478 -38.24 -7.62262 -11.6579 18.7327 -38.245 -7.82697 -11.9537 18.9378 -38.25 -8.03567 -12.2488 19.1636 -38.255 -8.24843 -12.542 19.4107 -38.26 -8.46495 -12.8321 19.6796 -38.265 -8.68489 -13.1178 19.9708 -38.27 -8.90787 -13.3978 20.2848 -38.275 -9.1335 -13.6705 20.6221 -38.28 -9.36133 -13.9348 20.9829 -38.285 -9.59076 -14.1897 21.3664 -38.29 -9.82109 -14.4326 21.7727 -38.295 -10.0516 -14.6609 22.2014 -38.3 -10.2814 -14.8721 22.652 -38.305 -10.5097 -15.0639 23.1239 -38.31 -10.7356 -15.234 23.6159 -38.315 -10.9582 -15.3805 24.1269 -38.32 -11.1765 -15.5015 24.6553 -38.325 -11.3895 -15.595 25.1994 -38.33 -11.5962 -15.6595 25.7572 -38.335 -11.7954 -15.6935 26.3264 -38.34 -11.986 -15.6955 26.9046 -38.345 -12.1669 -15.6643 27.4889 -38.35 -12.3367 -15.5988 28.0765 -38.355 -12.4942 -15.498 28.6641 -38.36 -12.6382 -15.3611 29.2481 -38.365 -12.7672 -15.1874 29.8249 -38.37 -12.8805 -14.9742 30.391 -38.375 -12.9775 -14.7211 30.943 -38.38 -13.0572 -14.4318 31.4767 -38.385 -13.1184 -14.1097 31.9884 -38.39 -13.1604 -13.7581 32.4749 -38.395 -13.1826 -13.3803 32.933 -38.4 -13.1844 -12.9794 33.3601 -38.405 -13.1657 -12.5582 33.7538 -38.41 -13.1263 -12.1195 34.1122 -38.415 -13.0662 -11.6661 34.4336 -38.42 -12.9859 -11.2004 34.7168 -38.425 -12.8856 -10.7247 34.9606 -38.43 -12.766 -10.2414 35.1646 -38.435 -12.628 -9.75241 35.3285 -38.44 -12.4725 -9.25979 35.4522 -38.445 -12.3007 -8.76532 35.5363 -38.45 -12.1139 -8.27067 35.5815 -38.455 -11.9136 -7.77746 35.5888 -38.46 -11.6996 -7.29272 35.5608 -38.465 -11.4723 -6.82164 35.4992 -38.47 -11.2335 -6.36617 35.405 -38.475 -10.9846 -5.92804 35.2796 -38.48 -10.7271 -5.50877 35.1243 -38.485 -10.4625 -5.10964 34.9408 -38.49 -10.192 -4.73172 34.7308 -38.495 -9.91704 -4.37584 34.4963 -38.5 -9.63888 -4.04264 34.2391 -38.505 -9.35871 -3.73249 33.9617 -38.51 -9.07769 -3.44557 33.6662 -38.515 -8.79693 -3.18183 33.3552 -38.52 -8.51748 -2.94099 33.0315 -38.525 -8.24034 -2.72256 32.6977 -38.53 -7.96646 -2.52581 32.3569 -38.535 -7.69673 -2.34979 32.0122 -38.54 -7.43199 -2.19335 31.6669 -38.545 -7.17305 -2.05511 31.3235 -38.55 -6.92062 -1.93395 30.9785 -38.555 -6.67511 -1.82894 30.6318 -38.56 -6.43685 -1.73915 30.2843 -38.565 -6.20614 -1.66366 29.9366 -38.57 -5.98325 -1.6016 29.5894 -38.575 -5.7684 -1.55208 29.2434 -38.58 -5.56178 -1.51426 28.899 -38.585 -5.36354 -1.48728 28.5567 -38.59 -5.17381 -1.47034 28.217 -38.595 -4.99267 -1.46263 27.8802 -38.6 -4.82015 -1.46337 27.5466 -38.605 -4.65628 -1.47179 27.2163 -38.61 -4.50101 -1.48715 26.8897 -38.615 -4.3543 -1.50871 26.5667 -38.62 -4.21604 -1.53577 26.2473 -38.625 -4.08606 -1.56772 25.9317 -38.63 -3.96405 -1.60455 25.62 -38.635 -3.84983 -1.64594 25.3123 -38.64 -3.74325 -1.69155 25.0085 -38.645 -3.64415 -1.74106 24.7088 -38.65 -3.55239 -1.7942 24.4131 -38.655 -3.46779 -1.8507 24.1215 -38.66 -3.39019 -1.91035 23.834 -38.665 -3.31941 -1.97295 23.5506 -38.67 -3.25529 -2.03837 23.2714 -38.675 -3.19764 -2.10646 22.9963 -38.68 -3.14629 -2.17714 22.7254 -38.685 -3.10103 -2.25035 22.4587 -38.69 -3.06169 -2.32606 22.1962 -38.695 -3.02807 -2.40427 21.9379 -38.7 -2.99996 -2.48503 21.6839 -38.705 -2.97717 -2.56839 21.4342 -38.71 -2.95949 -2.65446 21.1889 -38.715 -2.9467 -2.74336 20.9478 -38.72 -2.93868 -2.83513 20.7112 -38.725 -2.93542 -2.9298 20.479 -38.73 -2.9369 -3.02741 20.2514 -38.735 -2.9431 -3.12801 20.0282 -38.74 -2.95401 -3.23167 19.8096 -38.745 -2.96961 -3.3385 19.5956 -38.75 -2.98987 -3.4486 19.3864 -38.755 -3.01476 -3.56208 19.1819 -38.76 -3.04424 -3.6791 18.9823 -38.765 -3.07829 -3.79981 18.7877 -38.77 -3.11686 -3.92437 18.5982 -38.775 -3.1599 -4.05299 18.414 -38.78 -3.20739 -4.18586 18.2351 -38.785 -3.25925 -4.32321 18.0619 -38.79 -3.31545 -4.46527 17.8943 -38.795 -3.37592 -4.61231 17.7327 -38.8 -3.44062 -4.7646 17.5771 -38.805 -3.50947 -4.92241 17.4279 -38.81 -3.58244 -5.08602 17.2852 -38.815 -3.65983 -5.25529 17.1493 -38.82 -3.74179 -5.4304 17.0205 -38.825 -3.82843 -5.6116 16.899 -38.83 -3.91985 -5.79914 16.785 -38.835 -4.01615 -5.99321 16.679 -38.84 -4.11741 -6.19402 16.5812 -38.845 -4.22374 -6.40174 16.4921 -38.85 -4.33523 -6.61652 16.4119 -38.855 -4.45198 -6.83848 16.3413 -38.86 -4.57407 -7.06775 16.2806 -38.865 -4.70158 -7.3044 16.2304 -38.87 -4.83462 -7.5485 16.1911 -38.875 -4.97325 -7.80011 16.1635 -38.88 -5.11757 -8.05925 16.148 -38.885 -5.26766 -8.32593 16.1453 -38.89 -5.4236 -8.60013 16.1561 -38.895 -5.58546 -8.88182 16.181 -38.9 -5.75333 -9.17095 16.2208 -38.905 -5.92727 -9.46742 16.2763 -38.91 -6.10703 -9.77059 16.3474 -38.915 -6.29258 -10.08 16.4348 -38.92 -6.48414 -10.3955 16.5399 -38.925 -6.68186 -10.7168 16.664 -38.93 -6.88585 -11.0436 16.8083 -38.935 -7.09614 -11.3752 16.974 -38.94 -7.31268 -11.7109 17.162 -38.945 -7.53537 -12.0499 17.3734 -38.95 -7.76404 -12.3911 17.6089 -38.955 -7.99846 -12.7332 17.8693 -38.96 -8.23832 -13.075 18.1552 -38.965 -8.48326 -13.415 18.4672 -38.97 -8.73284 -13.7516 18.8057 -38.975 -8.98657 -14.0828 19.1711 -38.98 -9.24388 -14.4067 19.5635 -38.985 -9.50414 -14.7213 19.9833 -38.99 -9.76665 -15.0243 20.4304 -38.995 -10.0306 -15.3132 20.9048 -39 -10.2953 -15.5855 21.4065 -39.005 -10.5597 -15.8384 21.935 -39.01 -10.8229 -16.0691 22.4903 -39.015 -11.0839 -16.2744 23.0717 -39.02 -11.342 -16.453 23.6787 -39.025 -11.596 -16.6025 24.3087 -39.03 -11.8441 -16.7191 24.9586 -39.035 -12.0847 -16.7998 25.6251 -39.04 -12.3162 -16.8418 26.3048 -39.045 -12.5372 -16.8429 26.9941 -39.05 -12.746 -16.8011 27.6895 -39.055 -12.9412 -16.7152 28.3873 -39.06 -13.1214 -16.584 29.0834 -39.065 -13.2853 -16.4072 29.7741 -39.07 -13.4316 -16.1845 30.4552 -39.075 -13.559 -15.9163 31.1225 -39.08 -13.6662 -15.6034 31.7717 -39.085 -13.7522 -15.247 32.3985 -39.09 -13.8157 -14.8487 32.9982 -39.095 -13.8558 -14.4107 33.5662 -39.1 -13.8714 -13.9353 34.0977 -39.105 -13.8619 -13.4234 34.586 -39.11 -13.8273 -12.8807 35.0285 -39.115 -13.7676 -12.3136 35.4242 -39.12 -13.6831 -11.7281 35.7722 -39.125 -13.5741 -11.13 36.0718 -39.13 -13.4414 -10.5244 36.3227 -39.135 -13.2856 -9.91613 36.5249 -39.14 -13.1076 -9.30944 36.6785 -39.145 -12.9084 -8.70828 36.7841 -39.15 -12.6894 -8.11612 36.8425 -39.155 -12.4517 -7.536 36.8545 -39.16 -12.197 -6.97054 36.8217 -39.165 -11.9269 -6.42192 36.7454 -39.17 -11.6434 -5.89188 36.6276 -39.175 -11.3483 -5.38174 36.4703 -39.18 -11.0438 -4.89239 36.2759 -39.185 -10.732 -4.42518 36.0478 -39.19 -10.4133 -3.98514 35.7918 -39.195 -10.0894 -3.57351 35.5112 -39.2 -9.76192 -3.19069 35.2085 -39.205 -9.43253 -2.83683 34.8864 -39.21 -9.10274 -2.51183 34.5474 -39.215 -8.77396 -2.21533 34.1939 -39.22 -8.4475 -1.94675 33.8282 -39.225 -8.12454 -1.70524 33.4526 -39.23 -7.80619 -1.4897 33.0694 -39.235 -7.49342 -1.2988 32.6806 -39.24 -7.18712 -1.13095 32.2882 -39.245 -6.88804 -0.984312 31.8943 -39.25 -6.59686 -0.856811 31.5006 -39.255 -6.31415 -0.746394 31.1088 -39.26 -6.04041 -0.652823 30.7183 -39.265 -5.77593 -0.575072 30.3295 -39.27 -5.5209 -0.51189 29.9431 -39.275 -5.2755 -0.462082 29.5596 -39.28 -5.03985 -0.424505 29.1793 -39.285 -4.81404 -0.398071 28.8027 -39.29 -4.59812 -0.381746 28.4302 -39.295 -4.3921 -0.374547 28.062 -39.3 -4.19594 -0.375548 27.6983 -39.305 -4.00958 -0.383875 27.3393 -39.31 -3.83291 -0.398708 26.9849 -39.315 -3.66577 -0.419281 26.6353 -39.32 -3.50797 -0.444882 26.2904 -39.325 -3.35929 -0.474873 25.9501 -39.33 -3.21934 -0.508862 25.6144 -39.335 -3.08789 -0.546442 25.2834 -39.34 -2.96471 -0.587209 24.9571 -39.345 -2.84957 -0.630793 24.6354 -39.35 -2.74223 -0.676865 24.3181 -39.355 -2.64246 -0.725127 24.0054 -39.36 -2.55002 -0.775322 23.6971 -39.365 -2.46466 -0.827226 23.3932 -39.37 -2.38613 -0.880654 23.0936 -39.375 -2.31416 -0.935456 22.7983 -39.38 -2.24851 -0.991518 22.5072 -39.385 -2.18891 -1.04876 22.2203 -39.39 -2.13508 -1.10715 21.9376 -39.395 -2.08675 -1.16668 21.6589 -39.4 -2.04364 -1.22738 21.3843 -39.405 -2.00548 -1.28932 21.1138 -39.41 -1.97194 -1.3526 20.8472 -39.415 -1.94286 -1.41726 20.5845 -39.42 -1.91819 -1.48325 20.3258 -39.425 -1.89787 -1.55058 20.071 -39.43 -1.88184 -1.61927 19.8201 -39.435 -1.87004 -1.68935 19.5731 -39.44 -1.86239 -1.76087 19.3299 -39.445 -1.85882 -1.83392 19.0905 -39.45 -1.85924 -1.90859 18.855 -39.455 -1.86356 -1.98499 18.6233 -39.46 -1.87169 -2.06326 18.3955 -39.465 -1.88352 -2.14356 18.1715 -39.47 -1.89895 -2.22607 17.9514 -39.475 -1.91786 -2.31098 17.7351 -39.48 -1.94013 -2.3985 17.5229 -39.485 -1.96564 -2.48888 17.3145 -39.49 -1.99426 -2.58238 17.1101 -39.495 -2.02584 -2.67926 16.9098 -39.5 -2.06029 -2.77981 16.7135 -39.505 -2.09787 -2.88401 16.5214 -39.51 -2.13874 -2.99196 16.3336 -39.515 -2.18296 -3.10386 16.15 -39.52 -2.23057 -3.21989 15.9708 -39.525 -2.28163 -3.34027 15.7961 -39.53 -2.33621 -3.46521 15.6259 -39.535 -2.39438 -3.59494 15.4604 -39.54 -2.45621 -3.72968 15.2997 -39.545 -2.52176 -3.86968 15.1439 -39.55 -2.59113 -4.0152 14.9933 -39.555 -2.66439 -4.16649 14.8481 -39.56 -2.74164 -4.32382 14.7084 -39.565 -2.82297 -4.48748 14.5744 -39.57 -2.90847 -4.65774 14.4464 -39.575 -2.99825 -4.8349 14.3247 -39.58 -3.09241 -5.01928 14.2095 -39.585 -3.19108 -5.21106 14.1012 -39.59 -3.29443 -5.40997 14.0002 -39.595 -3.40266 -5.61646 13.9068 -39.6 -3.51595 -5.83108 13.8213 -39.605 -3.63448 -6.05429 13.7441 -39.61 -3.75844 -6.28654 13.6757 -39.615 -3.888 -6.52819 13.6165 -39.62 -4.02333 -6.77957 13.567 -39.625 -4.16461 -7.04094 13.5278 -39.63 -4.31201 -7.31251 13.4996 -39.635 -4.46569 -7.59445 13.483 -39.64 -4.62582 -7.88685 13.4788 -39.645 -4.79256 -8.18978 13.4878 -39.65 -4.96608 -8.50323 13.5109 -39.655 -5.14653 -8.82714 13.549 -39.66 -5.33406 -9.16141 13.603 -39.665 -5.52882 -9.50588 13.674 -39.67 -5.73098 -9.86032 13.763 -39.675 -5.94067 -10.2245 13.8712 -39.68 -6.15803 -10.598 13.9997 -39.685 -6.38322 -10.9805 14.1498 -39.69 -6.61638 -11.3717 14.3229 -39.695 -6.85763 -11.7709 14.5201 -39.7 -7.10708 -12.1776 14.743 -39.705 -7.36405 -12.5909 14.9913 -39.71 -7.62839 -13.0094 15.2668 -39.715 -7.90019 -13.4319 15.5717 -39.72 -8.17942 -13.8566 15.9081 -39.725 -8.46591 -14.2818 16.2778 -39.73 -8.75937 -14.7053 16.682 -39.735 -9.05938 -15.1249 17.1221 -39.74 -9.36538 -15.5381 17.5988 -39.745 -9.67668 -15.942 18.1127 -39.75 -9.99247 -16.3338 18.6641 -39.755 -10.3118 -16.7101 19.2529 -39.76 -10.6336 -17.0676 19.879 -39.765 -10.9567 -17.4026 20.5417 -39.77 -11.2797 -17.7111 21.24 -39.775 -11.6012 -17.9891 21.973 -39.78 -11.9195 -18.2321 22.739 -39.785 -12.233 -18.4356 23.5365 -39.79 -12.5399 -18.5948 24.3632 -39.795 -12.8385 -18.7055 25.2177 -39.8 -13.1277 -18.7648 26.0961 -39.805 -13.4046 -18.7687 26.9916 -39.81 -13.6666 -18.7141 27.897 -39.815 -13.9112 -18.5986 28.8056 -39.82 -14.1362 -18.4202 29.7107 -39.825 -14.3392 -18.1783 30.6057 -39.83 -14.5185 -17.8723 31.4842 -39.835 -14.6722 -17.503 32.3399 -39.84 -14.7986 -17.0715 33.1667 -39.845 -14.8963 -16.5799 33.9586 -39.85 -14.9641 -16.0308 34.7097 -39.855 -15.0007 -15.4278 35.4144 -39.86 -15.0052 -14.775 36.0671 -39.865 -14.9768 -14.0775 36.6623 -39.87 -14.9149 -13.3409 37.1939 -39.875 -14.819 -12.5727 37.6546 -39.88 -14.6897 -11.7819 38.0441 -39.885 -14.5282 -10.9774 38.3629 -39.89 -14.3356 -10.1671 38.6121 -39.895 -14.1133 -9.35845 38.7929 -39.9 -13.8628 -8.55806 38.9071 -39.905 -13.5858 -7.77197 38.9566 -39.91 -13.2842 -7.00555 38.944 -39.915 -12.9601 -6.26349 38.8719 -39.92 -12.6157 -5.54981 38.7435 -39.925 -12.2534 -4.86788 38.5624 -39.93 -11.8759 -4.22039 38.3322 -39.935 -11.4859 -3.60936 38.0573 -39.94 -11.0864 -3.03616 37.7423 -39.945 -10.6803 -2.50179 37.3924 -39.95 -10.269 -2.00815 37.0149 -39.955 -9.85474 -1.55525 36.6143 -39.96 -9.43958 -1.14249 36.1944 -39.965 -9.02555 -0.768994 35.7589 -39.97 -8.61448 -0.433592 35.3111 -39.975 -8.20806 -0.134824 34.8541 -39.98 -7.80776 0.129055 34.3908 -39.985 -7.41493 0.360078 33.9238 -39.99 -7.03073 0.560564 33.4555 -39.995 -6.65615 0.733121 32.9882 -40 -6.29203 0.880645 32.5236 -40.005 -5.93903 1.00631 32.0636 -40.01 -5.59774 1.11171 31.6087 -40.015 -5.26852 1.19795 31.159 -40.02 -4.95157 1.26693 30.7151 -40.025 -4.64704 1.32043 30.2774 -40.03 -4.35499 1.36015 29.8464 -40.035 -4.07547 1.38769 29.4222 -40.04 -3.80844 1.40453 29.005 -40.045 -3.55382 1.41207 28.595 -40.05 -3.31144 1.4116 28.1923 -40.055 -3.08112 1.40431 27.7966 -40.06 -2.86258 1.39128 27.408 -40.065 -2.65551 1.37352 27.0262 -40.07 -2.45949 1.3519 26.651 -40.075 -2.27402 1.32716 26.2822 -40.08 -2.09874 1.29992 25.9199 -40.085 -1.93333 1.27077 25.5637 -40.09 -1.77741 1.24023 25.2135 -40.095 -1.63064 1.20879 24.8692 -40.1 -1.49263 1.17689 24.5305 -40.105 -1.36301 1.14493 24.1973 -40.11 -1.24139 1.11327 23.8695 -40.115 -1.12738 1.08222 23.5468 -40.12 -1.02059 1.05203 23.2292 -40.125 -0.920582 1.02293 22.9166 -40.13 -0.826958 0.99509 22.6087 -40.135 -0.739286 0.968646 22.3054 -40.14 -0.657132 0.94368 22.0067 -40.145 -0.580053 0.920235 21.7124 -40.15 -0.507599 0.898305 21.4223 -40.155 -0.439467 0.877939 21.1365 -40.16 -0.375505 0.859257 20.8548 -40.165 -0.315486 0.842319 20.5771 -40.17 -0.259179 0.827174 20.3033 -40.175 -0.206356 0.813859 20.0334 -40.18 -0.156784 0.802402 19.7674 -40.185 -0.110232 0.792815 19.5051 -40.19 -0.0664654 0.785102 19.2464 -40.195 -0.0252506 0.779256 18.9914 -40.2 0.0136476 0.775256 18.7399 -40.205 0.0504654 0.773071 18.4918 -40.21 0.0854398 0.772659 18.2472 -40.215 0.118809 0.773966 18.006 -40.22 0.150802 0.776934 17.768 -40.225 0.181524 0.781593 17.5333 -40.23 0.211066 0.787977 17.3019 -40.235 0.239535 0.796103 17.0736 -40.24 0.267041 0.805991 16.8484 -40.245 0.293695 0.817655 16.6264 -40.25 0.319613 0.831109 16.4075 -40.255 0.344909 0.846365 16.1915 -40.26 0.369705 0.863434 15.9786 -40.265 0.394119 0.882321 15.7686 -40.27 0.418277 0.903035 15.5616 -40.275 0.442304 0.925579 15.3575 -40.28 0.466329 0.949955 15.1562 -40.285 0.490481 0.976163 14.9578 -40.29 0.514876 1.00422 14.7621 -40.295 0.539563 1.03421 14.5693 -40.3 0.564593 1.06619 14.3792 -40.305 0.590024 1.10025 14.1918 -40.31 0.615917 1.13646 14.0072 -40.315 0.64234 1.17489 13.8253 -40.32 0.669363 1.21563 13.6461 -40.325 0.697067 1.25876 13.4695 -40.33 0.725532 1.30436 13.2956 -40.335 0.754848 1.35253 13.1244 -40.34 0.785108 1.40334 12.9559 -40.345 0.81641 1.45689 12.79 -40.35 0.848859 1.51327 12.6267 -40.355 0.882564 1.57259 12.4661 -40.36 0.917638 1.63493 12.3082 -40.365 0.954202 1.7004 12.1529 -40.37 0.992352 1.76915 12.0004 -40.375 1.03215 1.84136 11.8506 -40.38 1.07365 1.9172 11.7035 -40.385 1.11693 1.99688 11.5591 -40.39 1.16207 2.08057 11.4176 -40.395 1.20917 2.16849 11.2788 -40.4 1.25833 2.26084 11.143 -40.405 1.30965 2.35785 11.0101 -40.41 1.36326 2.45972 10.8802 -40.415 1.41929 2.5667 10.7534 -40.42 1.47788 2.67903 10.6298 -40.425 1.53917 2.79695 10.5094 -40.43 1.60333 2.92072 10.3925 -40.435 1.67052 3.05059 10.2792 -40.44 1.74092 3.18683 10.1695 -40.445 1.81472 3.32973 10.0636 -40.45 1.8921 3.47956 9.9617 -40.455 1.97329 3.63662 9.86393 -40.46 2.05849 3.80105 9.77068 -40.465 2.14789 3.97314 9.68231 -40.47 2.24164 4.15342 9.59891 -40.475 2.33992 4.34243 9.52064 -40.48 2.44292 4.5407 9.44773 -40.485 2.55083 4.74871 9.38047 -40.49 2.66387 4.96695 9.3192 -40.495 2.78227 5.1959 9.26434 -40.5 2.90626 5.43601 9.21637 -40.505 3.03609 5.68771 9.17583 -40.51 3.17204 5.95143 9.14334 -40.515 3.31438 6.22758 9.11955 -40.52 3.46339 6.51654 9.10522 -40.525 3.6194 6.81868 9.10112 -40.53 3.7827 7.13438 9.10814 -40.535 3.95364 7.46397 9.12718 -40.54 4.13255 7.80777 9.15925 -40.545 4.3198 8.1661 9.20539 -40.55 4.51575 8.53926 9.26673 -40.555 4.72079 8.92752 9.34445 -40.56 4.93531 9.33114 9.43978 -40.565 5.15972 9.75038 9.55404 -40.57 5.39386 10.1844 9.68828 -40.575 5.63754 10.6324 9.84401 -40.58 5.89141 11.0955 10.0235 -40.585 6.15599 11.574 10.2291 -40.59 6.43171 12.0681 10.4631 -40.595 6.71887 12.5775 10.7276 -40.6 7.01766 13.1014 11.0249 -40.605 7.32815 13.6388 11.3571 -40.61 7.65032 14.1881 11.7265 -40.615 7.98399 14.7472 12.1351 -40.62 8.3289 15.3139 12.5851 -40.625 8.68468 15.8854 13.0786 -40.63 9.0508 16.4585 13.6176 -40.635 9.42668 17.0295 14.2042 -40.64 9.81156 17.5945 14.8404 -40.645 10.2046 18.149 15.5281 -40.65 10.6049 18.6882 16.2694 -40.655 11.0113 19.2068 17.0661 -40.66 11.4227 19.6992 17.9203 -40.665 11.8376 20.1595 18.8335 -40.67 12.2544 20.5844 19.8034 -40.675 12.6704 20.9649 20.8272 -40.68 13.083 21.2913 21.9022 -40.685 13.4896 21.5547 23.0247 -40.69 13.8871 21.7472 24.1898 -40.695 14.2727 21.8618 25.3916 -40.7 14.6431 21.8925 26.6234 -40.705 14.9952 21.8339 27.8772 -40.71 15.3254 21.6819 29.144 -40.715 15.6304 21.4331 30.4139 -40.72 15.9064 21.0851 31.6759 -40.725 16.1496 20.6363 32.918 -40.73 16.3563 20.0861 34.1271 -40.735 16.5229 19.4319 35.2891 -40.74 16.6479 18.6711 36.3899 -40.745 16.7284 17.8191 37.4186 -40.75 16.7624 16.8915 38.3656 -40.755 16.7481 15.9029 39.2229 -40.76 16.6848 14.8666 39.9839 -40.765 16.5722 13.7947 40.6434 -40.77 16.4106 12.6983 41.1976 -40.775 16.2013 11.5873 41.6442 -40.78 15.946 10.4703 41.9824 -40.785 15.6472 9.35511 42.2127 -40.79 15.3079 8.24802 42.3372 -40.795 14.9319 7.15435 42.3593 -40.8 14.5238 6.07824 42.2838 -40.805 14.0858 5.0341 42.1189 -40.81 13.6192 4.04123 41.8744 -40.815 13.1285 3.10518 41.5586 -40.82 12.6178 2.23024 41.1795 -40.825 12.0911 1.41944 40.7456 -40.83 11.5524 0.674569 40.2649 -40.835 11.0053 -0.00381653 39.7457 -40.84 10.4533 -0.616415 39.1962 -40.845 9.89976 -1.16516 38.6247 -40.85 9.34776 -1.65325 38.0395 -40.855 8.8003 -2.08508 37.4488 -40.86 8.25998 -2.46417 36.8565 -40.865 7.72884 -2.79336 36.2643 -40.87 7.20866 -3.07652 35.6752 -40.875 6.701 -3.31745 35.0921 -40.88 6.20722 -3.51988 34.5174 -40.885 5.72845 -3.68749 33.9531 -40.89 5.2656 -3.82391 33.4005 -40.895 4.81939 -3.9327 32.8609 -40.9 4.39028 -4.01737 32.3349 -40.905 3.97855 -4.08136 31.8228 -40.91 3.58426 -4.12806 31.3244 -40.915 3.20748 -4.15996 30.8399 -40.92 2.84797 -4.17899 30.3691 -40.925 2.50535 -4.18715 29.9116 -40.93 2.17919 -4.18629 29.467 -40.935 1.86904 -4.17814 29.0348 -40.94 1.57441 -4.16429 28.6145 -40.945 1.29481 -4.1462 28.2057 -40.95 1.02972 -4.12521 27.808 -40.955 0.778579 -4.10251 27.4209 -40.96 0.540813 -4.07918 27.044 -40.965 0.31582 -4.05616 26.677 -40.97 0.102974 -4.03424 26.3193 -40.975 -0.0983771 -4.01411 25.9706 -40.98 -0.28891 -3.99632 25.6305 -40.985 -0.469328 -3.98126 25.2986 -40.99 -0.640475 -3.96937 24.9744 -40.995 -0.803012 -3.96104 24.6577 -41 -0.957426 -3.95658 24.3483 -41.005 -1.10421 -3.95628 24.0459 -41.01 -1.24386 -3.96039 23.7504 -41.015 -1.37688 -3.96916 23.4616 -41.02 -1.50378 -3.98279 23.1793 -41.025 -1.62507 -4.00145 22.9035 -41.03 -1.74127 -4.02531 22.6339 -41.035 -1.85292 -4.05448 22.3705 -41.04 -1.96054 -4.08907 22.1131 -41.045 -2.06466 -4.12916 21.8616 -41.05 -2.16584 -4.17478 21.6159 -41.055 -2.26461 -4.22597 21.376 -41.06 -2.36153 -4.28272 21.1418 -41.065 -2.45692 -4.34506 20.9134 -41.07 -2.55099 -4.4131 20.6907 -41.075 -2.644 -4.48696 20.474 -41.08 -2.73622 -4.56674 20.2632 -41.085 -2.82792 -4.65254 20.0584 -41.09 -2.91936 -4.74445 19.8598 -41.095 -3.01083 -4.84255 19.6673 -41.1 -3.10263 -4.9469 19.4812 -41.105 -3.19504 -5.05758 19.3016 -41.11 -3.28836 -5.17462 19.1285 -41.115 -3.38291 -5.29809 18.9621 -41.12 -3.479 -5.428 18.8026 -41.125 -3.57694 -5.5644 18.6501 -41.13 -3.67708 -5.7073 18.5047 -41.135 -3.77971 -5.85669 18.3667 -41.14 -3.88499 -6.01263 18.2363 -41.145 -3.99304 -6.17529 18.1139 -41.15 -4.10401 -6.34485 17.9997 -41.155 -4.21803 -6.52146 17.8941 -41.16 -4.33526 -6.70523 17.7974 -41.165 -4.45584 -6.89624 17.7101 -41.17 -4.57994 -7.09455 17.6324 -41.175 -4.70771 -7.30019 17.5649 -41.18 -4.83931 -7.51313 17.5079 -41.185 -4.97491 -7.73336 17.462 -41.19 -5.11467 -7.96079 17.4275 -41.195 -5.25877 -8.19532 17.405 -41.2 -5.40737 -8.43684 17.395 -41.205 -5.56066 -8.68518 17.398 -41.21 -5.71881 -8.94014 17.4147 -41.215 -5.882 -9.20151 17.4455 -41.22 -6.05037 -9.469 17.4909 -41.225 -6.2236 -9.74214 17.5512 -41.23 -6.40175 -10.0207 17.627 -41.235 -6.58492 -10.3045 17.7197 -41.24 -6.77317 -10.593 17.8301 -41.245 -6.96653 -10.8859 17.9593 -41.25 -7.16495 -11.1824 18.1081 -41.255 -7.36835 -11.4819 18.2772 -41.26 -7.5766 -11.7835 18.4675 -41.265 -7.78951 -12.0862 18.6793 -41.27 -8.00685 -12.3889 18.9134 -41.275 -8.22834 -12.6904 19.1702 -41.28 -8.45365 -12.9894 19.45 -41.285 -8.68241 -13.2845 19.7531 -41.29 -8.91418 -13.574 20.0797 -41.295 -9.1485 -13.8563 20.4301 -41.3 -9.38483 -14.1296 20.8042 -41.305 -9.62259 -14.392 21.2019 -41.31 -9.86118 -14.6413 21.6233 -41.315 -10.0999 -14.8755 22.0681 -41.32 -10.3381 -15.0922 22.5359 -41.325 -10.5749 -15.2895 23.0267 -41.33 -10.8098 -15.4666 23.5395 -41.335 -11.0415 -15.6205 24.0724 -41.34 -11.2687 -15.7484 24.6235 -41.345 -11.4901 -15.8475 25.1904 -41.35 -11.7046 -15.9158 25.7708 -41.355 -11.9108 -15.951 26.362 -41.36 -12.1075 -15.9517 26.9616 -41.365 -12.2937 -15.9165 27.5666 -41.37 -12.4681 -15.8443 28.174 -41.375 -12.6296 -15.7344 28.7809 -41.38 -12.777 -15.5864 29.3839 -41.385 -12.9094 -15.4003 29.9797 -41.39 -13.0255 -15.1762 30.5647 -41.395 -13.1243 -14.9147 31.1354 -41.4 -13.2049 -14.6166 31.6878 -41.405 -13.2661 -14.283 32.2181 -41.41 -13.307 -13.9156 32.7222 -41.415 -13.3269 -13.5139 33.1948 -41.42 -13.3256 -13.0811 33.6328 -41.425 -13.303 -12.6226 34.0345 -41.43 -13.2589 -12.1431 34.3985 -41.435 -13.1935 -11.6473 34.7236 -41.44 -13.107 -11.1396 35.0088 -41.445 -12.9999 -10.6239 35.2535 -41.45 -12.8725 -10.1039 35.4572 -41.455 -12.7257 -9.58294 35.6197 -41.46 -12.5602 -9.06409 35.741 -41.465 -12.3769 -8.55008 35.8215 -41.47 -12.177 -8.04333 35.8617 -41.475 -11.9618 -7.54594 35.8624 -41.48 -11.7325 -7.0597 35.8246 -41.485 -11.4908 -6.5861 35.7497 -41.49 -11.2382 -6.12628 35.6392 -41.495 -10.9767 -5.68112 35.4948 -41.5 -10.7076 -5.25242 35.3193 -41.505 -10.4313 -4.84538 35.1174 -41.51 -10.1491 -4.46125 34.8913 -41.515 -9.86248 -4.10069 34.6431 -41.52 -9.57298 -3.76417 34.3749 -41.525 -9.28187 -3.45193 34.0888 -41.53 -8.99043 -3.16401 33.7868 -41.535 -8.69982 -2.9002 33.4709 -41.54 -8.41114 -2.66012 33.1431 -41.545 -8.1254 -2.44315 32.8054 -41.55 -7.84353 -2.24845 32.4596 -41.555 -7.56639 -2.07499 32.1078 -41.56 -7.29472 -1.9215 31.7519 -41.565 -7.02924 -1.7865 31.3936 -41.57 -6.77052 -1.66832 31.0349 -41.575 -6.51913 -1.56544 30.677 -41.58 -6.27552 -1.47783 30.3191 -41.585 -6.03995 -1.40457 29.9617 -41.59 -5.81261 -1.34469 29.6053 -41.595 -5.59369 -1.29723 29.2506 -41.6 -5.38334 -1.26128 28.8979 -41.605 -5.18165 -1.23597 28.5478 -41.61 -4.98872 -1.22045 28.2006 -41.615 -4.80458 -1.21392 27.8565 -41.62 -4.62926 -1.21562 27.516 -41.625 -4.46272 -1.22481 27.1791 -41.63 -4.30494 -1.24079 26.846 -41.635 -4.15581 -1.26291 26.5169 -41.64 -4.01524 -1.29055 26.1918 -41.645 -3.88306 -1.32312 25.8707 -41.65 -3.75908 -1.36014 25.5535 -41.655 -3.64294 -1.40142 25.2405 -41.66 -3.53449 -1.44664 24.9316 -41.665 -3.43355 -1.49548 24.6269 -41.67 -3.33997 -1.54767 24.3263 -41.675 -3.25358 -1.60293 24.0299 -41.68 -3.1742 -1.66106 23.7377 -41.685 -3.10165 -1.72185 23.4496 -41.69 -3.03575 -1.78515 23.1657 -41.695 -2.97632 -1.85083 22.886 -41.7 -2.92317 -1.9188 22.6104 -41.705 -2.8761 -1.98899 22.339 -41.71 -2.83492 -2.06136 22.0718 -41.715 -2.79942 -2.13592 21.8088 -41.72 -2.76939 -2.21269 21.55 -41.725 -2.74462 -2.29174 21.2954 -41.73 -2.72491 -2.37315 21.045 -41.735 -2.71003 -2.45707 20.7988 -41.74 -2.69974 -2.54363 20.557 -41.745 -2.6939 -2.63292 20.3195 -41.75 -2.69252 -2.72496 20.0863 -41.755 -2.69561 -2.81978 19.8575 -41.76 -2.70318 -2.91746 19.6331 -41.765 -2.71522 -3.01804 19.4132 -41.77 -2.73174 -3.12164 19.1977 -41.775 -2.75272 -3.22835 18.9867 -41.78 -2.77815 -3.3383 18.7804 -41.785 -2.80801 -3.45163 18.5788 -41.79 -2.84227 -3.56851 18.3819 -41.795 -2.88092 -3.68912 18.19 -41.8 -2.9239 -3.81364 18.0031 -41.805 -2.97119 -3.94231 17.8213 -41.81 -3.02275 -4.07535 17.6448 -41.815 -3.07851 -4.21301 17.4739 -41.82 -3.13844 -4.35556 17.3085 -41.825 -3.20246 -4.50328 17.1489 -41.83 -3.27052 -4.65649 16.9954 -41.835 -3.34255 -4.8155 16.848 -41.84 -3.41852 -4.98059 16.7071 -41.845 -3.49882 -5.1516 16.5729 -41.85 -3.58365 -5.32868 16.4457 -41.855 -3.67314 -5.51213 16.3257 -41.86 -3.76738 -5.70219 16.2132 -41.865 -3.86649 -5.89911 16.1085 -41.87 -3.97057 -6.1031 16.0119 -41.875 -4.07975 -6.31436 15.924 -41.88 -4.19411 -6.53305 15.845 -41.885 -4.31378 -6.75935 15.7755 -41.89 -4.43885 -6.99337 15.7159 -41.895 -4.56945 -7.23525 15.6667 -41.9 -4.70566 -7.48506 15.6286 -41.905 -4.84761 -7.74288 15.6021 -41.91 -4.99538 -8.00878 15.5878 -41.915 -5.1491 -8.28277 15.5865 -41.92 -5.30886 -8.56488 15.5988 -41.925 -5.47476 -8.85508 15.6254 -41.93 -5.64692 -9.15337 15.6671 -41.935 -5.82541 -9.45965 15.7247 -41.94 -6.00997 -9.77315 15.7982 -41.945 -6.20069 -10.0936 15.8886 -41.95 -6.39779 -10.4209 15.9973 -41.955 -6.60143 -10.7549 16.1256 -41.96 -6.81173 -11.095 16.2748 -41.965 -7.0287 -11.4409 16.4461 -41.97 -7.25232 -11.7917 16.6404 -41.975 -7.48248 -12.1465 16.8589 -41.98 -7.71902 -12.5042 17.1023 -41.985 -7.9617 -12.8637 17.3716 -41.99 -8.21022 -13.2234 17.6675 -41.995 -8.46421 -13.5818 17.9905 -42 -8.72325 -13.9371 18.3414 -42.005 -8.98683 -14.2874 18.7206 -42.01 -9.25438 -14.6307 19.1284 -42.015 -9.52526 -14.9647 19.5652 -42.02 -9.79879 -15.2868 20.0313 -42.025 -10.0742 -15.5946 20.5267 -42.03 -10.3506 -15.8853 21.0516 -42.035 -10.6272 -16.1559 21.6059 -42.04 -10.903 -16.4034 22.1896 -42.045 -11.1771 -16.6258 22.8021 -42.05 -11.4485 -16.8209 23.4413 -42.055 -11.7153 -16.9845 24.1047 -42.06 -11.9761 -17.1126 24.7892 -42.065 -12.2291 -17.2021 25.4918 -42.07 -12.4728 -17.2499 26.2091 -42.075 -12.7056 -17.2537 26.9377 -42.08 -12.9258 -17.2114 27.6737 -42.085 -13.1321 -17.1216 28.4133 -42.09 -13.3227 -16.9832 29.1523 -42.095 -13.4964 -16.7956 29.8863 -42.1 -13.6514 -16.5586 30.6108 -42.105 -13.7865 -16.2726 31.3209 -42.11 -13.9001 -15.9383 32.0116 -42.115 -13.9909 -15.5569 32.6778 -42.12 -14.0575 -15.1302 33.314 -42.125 -14.0985 -14.6596 33.9143 -42.13 -14.1134 -14.1451 34.4717 -42.135 -14.1019 -13.5933 34.9831 -42.14 -14.0637 -13.0113 35.4468 -42.145 -13.9989 -12.406 35.8609 -42.15 -13.9076 -11.7835 36.2244 -42.155 -13.7902 -11.1497 36.5362 -42.16 -13.6474 -10.5097 36.7958 -42.165 -13.4799 -9.86837 37.0029 -42.17 -13.2888 -9.22995 37.1576 -42.175 -13.0752 -8.59821 37.2603 -42.18 -12.8405 -7.97643 37.312 -42.185 -12.5865 -7.36738 37.3136 -42.19 -12.3149 -6.77335 37.2667 -42.195 -12.0277 -6.19614 37.173 -42.2 -11.7272 -5.63704 37.0348 -42.205 -11.4157 -5.09684 36.8546 -42.21 -11.0946 -4.5802 36.6373 -42.215 -10.7645 -4.09288 36.3884 -42.22 -10.4275 -3.63588 36.111 -42.225 -10.0855 -3.20991 35.808 -42.23 -9.74027 -2.81535 35.4824 -42.235 -9.39353 -2.45225 35.1371 -42.24 -9.04685 -2.12036 34.7749 -42.245 -8.7017 -1.81911 34.3984 -42.25 -8.35943 -1.54761 34.0105 -42.255 -8.02128 -1.30466 33.6136 -42.26 -7.68838 -1.08875 33.2105 -42.265 -7.36174 -0.898019 32.8035 -42.27 -7.04225 -0.730334 32.3951 -42.275 -6.7307 -0.58329 31.9877 -42.28 -6.42784 -0.456126 31.5811 -42.285 -6.13411 -0.3479 31.1754 -42.29 -5.84986 -0.257158 30.7716 -42.295 -5.57539 -0.182504 30.3703 -42.3 -5.31094 -0.122592 29.972 -42.305 -5.05669 -0.0761325 29.5774 -42.31 -4.81279 -0.0418898 29.187 -42.315 -4.57932 -0.0186821 28.801 -42.32 -4.35631 -0.00538215 28.4198 -42.325 -4.14374 -0.000916594 28.0435 -42.33 -3.94155 -0.00426643 27.6723 -42.335 -3.74961 -0.0144668 27.3062 -42.34 -3.56775 -0.0306071 26.9451 -42.345 -3.39573 -0.051875 26.5889 -42.35 -3.23322 -0.0777862 26.2379 -42.355 -3.07996 -0.107811 25.8918 -42.36 -2.93569 -0.141432 25.5508 -42.365 -2.80016 -0.178175 25.2147 -42.37 -2.6731 -0.217609 24.8834 -42.375 -2.55423 -0.259344 24.5568 -42.38 -2.44328 -0.303034 24.235 -42.385 -2.33997 -0.348375 23.9178 -42.39 -2.24401 -0.395104 23.6052 -42.395 -2.15511 -0.443004 23.2971 -42.4 -2.07298 -0.491897 22.9934 -42.405 -1.9973 -0.54165 22.6941 -42.41 -1.92776 -0.592171 22.3991 -42.415 -1.86406 -0.643412 22.1082 -42.42 -1.80588 -0.695366 21.8215 -42.425 -1.7529 -0.748028 21.5388 -42.43 -1.70493 -0.801343 21.2602 -42.435 -1.66183 -0.855272 20.9855 -42.44 -1.62346 -0.90979 20.7148 -42.445 -1.58966 -0.964895 20.4479 -42.45 -1.56028 -1.0206 20.1848 -42.455 -1.53518 -1.07694 19.9256 -42.46 -1.51419 -1.13396 19.6701 -42.465 -1.49717 -1.19174 19.4183 -42.47 -1.48394 -1.25036 19.1702 -42.475 -1.47436 -1.30993 18.9257 -42.48 -1.46825 -1.37057 18.6849 -42.485 -1.46546 -1.43243 18.4477 -42.49 -1.46582 -1.49566 18.214 -42.495 -1.46916 -1.56044 17.9839 -42.5 -1.47531 -1.62697 17.7574 -42.505 -1.4843 -1.69533 17.5344 -42.51 -1.49616 -1.76559 17.315 -42.515 -1.51089 -1.83786 17.0992 -42.52 -1.52846 -1.91227 16.8869 -42.525 -1.54889 -1.98894 16.6781 -42.53 -1.57216 -2.06803 16.4729 -42.535 -1.59827 -2.14969 16.2714 -42.54 -1.62722 -2.23409 16.0734 -42.545 -1.65902 -2.32141 15.8791 -42.55 -1.69367 -2.41184 15.6885 -42.555 -1.73118 -2.5056 15.5016 -42.56 -1.77155 -2.60288 15.3185 -42.565 -1.81479 -2.70391 15.1392 -42.57 -1.86093 -2.80894 14.9638 -42.575 -1.90996 -2.91821 14.7925 -42.58 -1.96193 -3.03197 14.6252 -42.585 -2.01699 -3.15035 14.4621 -42.59 -2.07524 -3.27359 14.3033 -42.595 -2.13677 -3.40194 14.1489 -42.6 -2.2017 -3.53565 13.999 -42.605 -2.27012 -3.67498 13.8536 -42.61 -2.34215 -3.8202 13.7131 -42.615 -2.4179 -3.97158 13.5775 -42.62 -2.49752 -4.1294 13.447 -42.625 -2.58113 -4.29396 13.3219 -42.63 -2.66887 -4.46553 13.2024 -42.635 -2.76089 -4.64441 13.0887 -42.64 -2.85734 -4.83092 12.9813 -42.645 -2.95838 -5.02535 12.8805 -42.65 -3.06419 -5.22802 12.7865 -42.655 -3.17493 -5.43925 12.6997 -42.66 -3.29078 -5.65938 12.6206 -42.665 -3.41194 -5.88872 12.5496 -42.67 -3.53859 -6.12762 12.4871 -42.675 -3.67092 -6.37626 12.4337 -42.68 -3.80902 -6.63381 12.39 -42.685 -3.95315 -6.90083 12.3566 -42.69 -4.10363 -7.17818 12.3341 -42.695 -4.26074 -7.46655 12.3233 -42.7 -4.42475 -7.76654 12.3248 -42.705 -4.59589 -8.07861 12.3395 -42.71 -4.7744 -8.40307 12.3683 -42.715 -4.96047 -8.74012 12.4121 -42.72 -5.15431 -9.08983 12.472 -42.725 -5.35606 -9.45215 12.5489 -42.73 -5.56589 -9.82687 12.6442 -42.735 -5.78391 -10.2137 12.7589 -42.74 -6.01024 -10.6121 12.8944 -42.745 -6.24497 -11.0217 13.0521 -42.75 -6.48816 -11.4416 13.2333 -42.755 -6.73987 -11.871 13.4395 -42.76 -7.00012 -12.3089 13.6722 -42.765 -7.26892 -12.7543 13.9332 -42.77 -7.54628 -13.206 14.224 -42.775 -7.83215 -13.6626 14.5465 -42.78 -8.12649 -14.1225 14.9024 -42.785 -8.42923 -14.5843 15.2935 -42.79 -8.74028 -15.0461 15.722 -42.795 -9.05897 -15.5066 16.1881 -42.8 -9.38412 -15.9633 16.692 -42.805 -9.71524 -16.4121 17.2358 -42.81 -10.0517 -16.8487 17.8214 -42.815 -10.3926 -17.2689 18.4497 -42.82 -10.737 -17.6683 19.1214 -42.825 -11.0836 -18.0426 19.8362 -42.83 -11.4312 -18.3875 20.5934 -42.835 -11.7783 -18.6985 21.3915 -42.84 -12.123 -18.9711 22.2287 -42.845 -12.4636 -19.2009 23.1022 -42.85 -12.7979 -19.3833 24.0088 -42.855 -13.1239 -19.5136 24.9446 -42.86 -13.439 -19.5873 25.9051 -42.865 -13.7407 -19.5998 26.8853 -42.87 -14.0262 -19.5461 27.8794 -42.875 -14.293 -19.4215 28.8814 -42.88 -14.5399 -19.2211 29.8866 -42.885 -14.764 -18.9457 30.8849 -42.89 -14.9622 -18.5972 31.8657 -42.895 -15.1317 -18.1779 32.8196 -42.9 -15.2703 -17.6907 33.7377 -42.905 -15.3759 -17.1389 34.6121 -42.91 -15.447 -16.5263 35.4355 -42.915 -15.4824 -15.857 36.2016 -42.92 -15.4813 -15.136 36.9049 -42.925 -15.4434 -14.3682 37.5404 -42.93 -15.3685 -13.5593 38.1042 -42.935 -15.2571 -12.7155 38.5931 -42.94 -15.1099 -11.8433 39.0048 -42.945 -14.928 -10.9497 39.3376 -42.95 -14.7114 -10.0476 39.5892 -42.955 -14.461 -9.14868 39.7605 -42.96 -14.1794 -8.26059 39.8541 -42.965 -13.869 -7.39036 39.8734 -42.97 -13.5322 -6.54426 39.822 -42.975 -13.1716 -5.72785 39.7041 -42.98 -12.7899 -4.94596 39.524 -42.985 -12.3897 -4.20269 39.2868 -42.99 -11.9736 -3.50142 38.9977 -42.995 -11.5444 -2.84482 38.6626 -43 -11.1049 -2.2348 38.2877 -43.005 -10.6579 -1.6726 37.8796 -43.01 -10.2064 -1.15868 37.4453 -43.015 -9.75314 -0.692822 36.9923 -43.02 -9.30083 -0.272805 36.5255 -43.025 -8.85126 0.104455 36.0463 -43.03 -8.40626 0.44075 35.5579 -43.035 -7.96752 0.738002 35.0634 -43.04 -7.53654 0.998267 34.5656 -43.045 -7.11467 1.22374 34.0667 -43.05 -6.70309 1.41675 33.569 -43.055 -6.30284 1.57975 33.0745 -43.06 -5.91478 1.71536 32.5847 -43.065 -5.53959 1.82629 32.101 -43.07 -5.17783 1.91543 31.6245 -43.075 -4.82986 1.98577 31.156 -43.08 -4.4959 2.04046 30.696 -43.085 -4.17599 2.08269 30.2449 -43.09 -3.87005 2.11302 29.8025 -43.095 -3.57789 2.13209 29.3687 -43.1 -3.29927 2.14141 28.9433 -43.105 -3.03393 2.14241 28.5263 -43.11 -2.7816 2.1364 28.1175 -43.115 -2.54195 2.12459 27.7168 -43.12 -2.31463 2.10809 27.3241 -43.125 -2.09929 2.08792 26.9391 -43.13 -1.89552 2.06498 26.5616 -43.135 -1.70289 2.04008 26.1915 -43.14 -1.52095 2.01393 25.8284 -43.145 -1.34921 1.98712 25.4721 -43.15 -1.18717 1.96016 25.1223 -43.155 -1.03423 1.93353 24.7788 -43.16 -0.889904 1.90763 24.4414 -43.165 -0.753801 1.88282 24.1099 -43.17 -0.625508 1.85943 23.7841 -43.175 -0.504617 1.83773 23.4639 -43.18 -0.390714 1.81799 23.149 -43.185 -0.283384 1.80042 22.8394 -43.19 -0.182207 1.78523 22.5349 -43.195 -0.0867611 1.77257 22.2353 -43.2 0.00337816 1.76256 21.9406 -43.205 0.0886388 1.75532 21.6505 -43.21 0.169452 1.7509 21.3649 -43.215 0.246251 1.74934 21.0838 -43.22 0.319474 1.75064 20.8071 -43.225 0.389467 1.75484 20.5345 -43.23 0.456448 1.76202 20.2662 -43.235 0.52064 1.77225 20.002 -43.24 0.582272 1.78562 19.7419 -43.245 0.641577 1.80217 19.4859 -43.25 0.698792 1.82197 19.2338 -43.255 0.754157 1.84507 18.9857 -43.26 0.807915 1.8715 18.7415 -43.265 0.860316 1.90129 18.5012 -43.27 0.911612 1.93448 18.2647 -43.275 0.962059 1.97109 18.0319 -43.28 1.01192 2.01112 17.803 -43.285 1.06145 2.05458 17.5777 -43.29 1.11092 2.10148 17.3561 -43.295 1.16053 2.15187 17.1382 -43.3 1.21036 2.20587 16.9241 -43.305 1.26054 2.26361 16.7136 -43.31 1.31118 2.3252 16.5068 -43.315 1.36243 2.39076 16.3038 -43.32 1.41441 2.46041 16.1046 -43.325 1.46729 2.53427 15.9092 -43.33 1.52121 2.61247 15.7176 -43.335 1.57633 2.69512 15.5298 -43.34 1.63284 2.78235 15.346 -43.345 1.6909 2.87429 15.1661 -43.35 1.75071 2.97108 14.9903 -43.355 1.81246 3.07284 14.8185 -43.36 1.87635 3.1797 14.6509 -43.365 1.94259 3.2918 14.4876 -43.37 2.01135 3.40929 14.3286 -43.375 2.08274 3.53244 14.1742 -43.38 2.15686 3.66151 14.0244 -43.385 2.23385 3.79677 13.8793 -43.39 2.31383 3.9385 13.7391 -43.395 2.39694 4.08696 13.604 -43.4 2.48335 4.24242 13.4742 -43.405 2.57321 4.40516 13.35 -43.41 2.66672 4.57543 13.2315 -43.415 2.76407 4.75351 13.119 -43.42 2.86545 4.93967 13.013 -43.425 2.97108 5.13417 12.9136 -43.43 3.0812 5.33727 12.8213 -43.435 3.19603 5.54925 12.7364 -43.44 3.31583 5.77036 12.6593 -43.445 3.44087 6.00088 12.5905 -43.45 3.57141 6.24107 12.5304 -43.455 3.70769 6.49101 12.4796 -43.46 3.84975 6.75042 12.4386 -43.465 3.99785 7.01996 12.4081 -43.47 4.15226 7.30027 12.3889 -43.475 4.31322 7.59191 12.3814 -43.48 4.48098 7.8953 12.3867 -43.485 4.65576 8.21077 12.4055 -43.49 4.83777 8.53851 12.4387 -43.495 5.02722 8.87862 12.4874 -43.5 5.22428 9.2311 12.5525 -43.505 5.42912 9.5958 12.6352 -43.51 5.6419 9.9725 12.7367 -43.515 5.86277 10.3608 12.8581 -43.52 6.09185 10.7604 13.0009 -43.525 6.32925 11.1705 13.1664 -43.53 6.57508 11.5905 13.3561 -43.535 6.82943 12.0197 13.5714 -43.54 7.09236 12.4571 13.8139 -43.545 7.36393 12.9017 14.0853 -43.55 7.6442 13.3524 14.3872 -43.555 7.93319 13.8079 14.7215 -43.56 8.2308 14.2669 15.0897 -43.565 8.53599 14.7283 15.4914 -43.57 8.8484 15.1895 15.9288 -43.575 9.16778 15.6472 16.4043 -43.58 9.49373 16.0981 16.9202 -43.585 9.82563 16.5387 17.4776 -43.59 10.1627 16.9654 18.0777 -43.595 10.5041 17.3745 18.7208 -43.6 10.8486 17.7619 19.4069 -43.605 11.195 18.1236 20.1352 -43.61 11.5418 18.4552 20.9046 -43.615 11.8874 18.7525 21.7134 -43.62 12.23 19.0107 22.5594 -43.625 12.5675 19.2252 23.4399 -43.63 12.8979 19.3911 24.3515 -43.635 13.2189 19.5033 25.2906 -43.64 13.5279 19.5566 26.2528 -43.645 13.8222 19.5456 27.2332 -43.65 14.1006 19.4652 28.2284 -43.655 14.3608 19.3132 29.2307 -43.66 14.5995 19.0892 30.2297 -43.665 14.8136 18.7935 31.2158 -43.67 15.0006 18.4269 32.18 -43.675 15.1582 17.991 33.1137 -43.68 15.2843 17.4879 34.0093 -43.685 15.3773 16.9205 34.8597 -43.69 15.4359 16.2923 35.6582 -43.695 15.459 15.6074 36.399 -43.7 15.4461 14.8706 37.0768 -43.705 15.3968 14.0874 37.6871 -43.71 15.3111 13.2639 38.2258 -43.715 15.1893 12.4068 38.6895 -43.72 15.0317 11.5247 39.0748 -43.725 14.8381 10.6305 39.3777 -43.73 14.6102 9.73387 39.5997 -43.735 14.3501 8.84286 39.7434 -43.74 14.0599 7.96499 39.8116 -43.745 13.7419 7.10702 39.8077 -43.75 13.3984 6.27497 39.7353 -43.755 13.032 5.47416 39.5987 -43.76 12.6452 4.70914 39.4023 -43.765 12.2406 3.98378 39.1513 -43.77 11.821 3.30118 38.851 -43.775 11.3892 2.66375 38.5072 -43.78 10.9483 2.07313 38.1263 -43.785 10.5012 1.53028 37.715 -43.79 10.0511 1.03531 37.2802 -43.795 9.60021 0.586166 36.8263 -43.8 9.15049 0.180954 36.357 -43.805 8.70398 -0.181967 35.8758 -43.81 8.26255 -0.50442 35.3862 -43.815 7.82785 -0.788416 34.8913 -43.82 7.40139 -1.03615 34.3938 -43.825 6.98446 -1.24999 33.8961 -43.83 6.5782 -1.43251 33.4004 -43.835 6.18355 -1.58644 32.9086 -43.84 5.80128 -1.71472 32.4222 -43.845 5.43198 -1.82046 31.9424 -43.85 5.07604 -1.90695 31.4702 -43.855 4.73375 -1.97666 31.0062 -43.86 4.40528 -2.03024 30.5502 -43.865 4.09057 -2.06952 30.1024 -43.87 3.78956 -2.09628 29.663 -43.875 3.50211 -2.11217 29.232 -43.88 3.22805 -2.11874 28.8093 -43.885 2.96717 -2.1174 28.3951 -43.89 2.71922 -2.10947 27.989 -43.895 2.48387 -2.09613 27.5911 -43.9 2.2608 -2.07847 27.2011 -43.905 2.0496 -2.05744 26.8188 -43.91 1.84985 -2.03389 26.4439 -43.915 1.66104 -2.00855 26.0761 -43.92 1.48257 -1.9821 25.7151 -43.925 1.31397 -1.9551 25.3608 -43.93 1.15484 -1.92804 25.013 -43.935 1.00477 -1.90136 24.6714 -43.94 0.863337 -1.87548 24.3358 -43.945 0.730121 -1.85077 24.0061 -43.95 0.60469 -1.82754 23.682 -43.955 0.486607 -1.8061 23.3635 -43.96 0.37543 -1.7867 23.0502 -43.965 0.270709 -1.76953 22.7421 -43.97 0.171987 -1.75478 22.4391 -43.975 0.0788046 -1.74258 22.1409 -43.98 -0.00930791 -1.73302 21.8474 -43.985 -0.0928248 -1.72614 21.5586 -43.99 -0.172227 -1.72197 21.2742 -43.995 -0.247909 -1.72052 20.9942 -44 -0.320091 -1.7219 20.7185 -44.005 -0.388989 -1.72621 20.447 -44.01 -0.454826 -1.73353 20.1798 -44.015 -0.517833 -1.74393 19.9167 -44.02 -0.578247 -1.75749 19.6576 -44.025 -0.636311 -1.77427 19.4026 -44.03 -0.692276 -1.7943 19.1516 -44.035 -0.746401 -1.81763 18.9045 -44.04 -0.79895 -1.84428 18.6612 -44.045 -0.850195 -1.87426 18.4218 -44.05 -0.900413 -1.90759 18.1862 -44.055 -0.949892 -1.94425 17.9544 -44.06 -0.998922 -1.98423 17.7262 -44.065 -1.0478 -2.02751 17.5017 -44.07 -1.09675 -2.07412 17.2808 -44.075 -1.14578 -2.12424 17.0636 -44.08 -1.195 -2.17797 16.8501 -44.085 -1.24454 -2.23543 16.6402 -44.09 -1.29454 -2.29673 16.4341 -44.095 -1.34513 -2.36198 16.2317 -44.1 -1.39647 -2.43128 16.033 -44.105 -1.44871 -2.50476 15.8381 -44.11 -1.50202 -2.58253 15.647 -44.115 -1.55655 -2.66471 15.4597 -44.12 -1.61249 -2.75142 15.2763 -44.125 -1.67003 -2.84279 15.0968 -44.13 -1.72935 -2.93892 14.9213 -44.135 -1.79064 -3.03996 14.7498 -44.14 -1.85412 -3.14602 14.5825 -44.145 -1.91995 -3.25727 14.4194 -44.15 -1.98823 -3.37394 14.2606 -44.155 -2.05908 -3.4963 14.1063 -44.16 -2.1326 -3.6246 13.9565 -44.165 -2.20893 -3.75909 13.8114 -44.17 -2.28821 -3.90004 13.6712 -44.175 -2.37059 -4.04771 13.536 -44.18 -2.45624 -4.20236 13.4061 -44.185 -2.54534 -4.36424 13.2817 -44.19 -2.63807 -4.53362 13.1629 -44.195 -2.73464 -4.71077 13.0502 -44.2 -2.83525 -4.89594 12.9438 -44.205 -2.94014 -5.08939 12.844 -44.21 -3.04952 -5.2914 12.7512 -44.215 -3.16366 -5.50223 12.6657 -44.22 -3.28281 -5.72214 12.5878 -44.225 -3.40725 -5.9514 12.5181 -44.23 -3.53716 -6.19001 12.4571 -44.235 -3.67264 -6.43797 12.4053 -44.24 -3.81395 -6.69596 12.3633 -44.245 -3.96134 -6.96457 12.3316 -44.25 -4.11502 -7.24431 12.3109 -44.255 -4.27524 -7.5356 12.302 -44.26 -4.44222 -7.83876 12.3055 -44.265 -4.61616 -8.15402 12.3224 -44.27 -4.79727 -8.48153 12.3536 -44.275 -4.98575 -8.82132 12.4 -44.28 -5.18179 -9.17337 12.4627 -44.285 -5.38557 -9.53753 12.5428 -44.29 -5.59726 -9.91357 12.6415 -44.295 -5.81703 -10.3012 12.7601 -44.3 -6.04504 -10.6999 12.8999 -44.305 -6.28143 -11.1094 13.0623 -44.31 -6.52635 -11.5288 13.2488 -44.315 -6.77994 -11.9577 13.4608 -44.32 -7.04231 -12.3951 13.6999 -44.325 -7.31359 -12.8403 13.9679 -44.33 -7.5939 -13.2922 14.2665 -44.335 -7.88272 -13.7499 14.5961 -44.34 -8.1793 -14.2119 14.9574 -44.345 -8.48368 -14.6758 15.3534 -44.35 -8.79575 -15.1391 15.7865 -44.355 -9.1152 -15.5991 16.2589 -44.36 -9.4416 -16.0528 16.7722 -44.365 -9.7743 -16.497 17.3274 -44.37 -10.1125 -16.9283 17.9254 -44.375 -10.4553 -17.3429 18.5663 -44.38 -10.8014 -17.7371 19.2501 -44.385 -11.1497 -18.1067 19.9759 -44.39 -11.4986 -18.4474 20.7428 -44.395 -11.8465 -18.7546 21.5492 -44.4 -12.1916 -19.0234 22.3931 -44.405 -12.5319 -19.249 23.272 -44.41 -12.8653 -19.4259 24.183 -44.415 -13.1894 -19.5489 25.1229 -44.42 -13.5017 -19.6121 26.0877 -44.425 -13.8006 -19.6102 27.0745 -44.43 -14.0843 -19.5404 28.0771 -44.435 -14.3494 -19.4004 29.0857 -44.44 -14.5929 -19.1888 30.0907 -44.445 -14.8119 -18.9052 31.0832 -44.45 -15.0038 -18.5498 32.0546 -44.455 -15.1666 -18.1234 32.9969 -44.46 -15.2981 -17.628 33.9027 -44.465 -15.3968 -17.066 34.7647 -44.47 -15.4614 -16.4408 35.5766 -44.475 -15.4906 -15.7565 36.3321 -44.48 -15.4838 -15.018 37.0258 -44.485 -15.4405 -14.231 37.6526 -44.49 -15.3604 -13.4018 38.2078 -44.495 -15.2435 -12.5381 38.6871 -44.5 -15.0894 -11.6509 39.0838 -44.505 -14.899 -10.7512 39.3978 -44.51 -14.6742 -9.84798 39.6309 -44.515 -14.4168 -8.94977 39.7854 -44.52 -14.1288 -8.06423 39.8642 -44.525 -13.8125 -7.19827 39.8705 -44.53 -13.4701 -6.35808 39.8078 -44.535 -13.104 -5.54904 39.6802 -44.54 -12.7169 -4.77581 39.4921 -44.545 -12.3114 -4.04228 39.2484 -44.55 -11.8905 -3.35156 38.9545 -44.555 -11.4571 -2.70604 38.616 -44.56 -11.0144 -2.10732 38.2392 -44.565 -10.5658 -1.55625 37.8305 -44.57 -10.1138 -1.05247 37.3966 -44.575 -9.66038 -0.594626 36.9423 -44.58 -9.20787 -0.181389 36.4716 -44.585 -8.75836 0.188791 35.9885 -44.59 -8.31375 0.517705 35.4966 -44.595 -7.87576 0.807384 34.999 -44.6 -7.44592 1.0601 34.4985 -44.605 -7.02558 1.27835 33.9979 -44.61 -6.61587 1.46489 33.4994 -44.615 -6.21776 1.62269 33.0049 -44.62 -5.832 1.75499 32.5159 -44.625 -5.45917 1.86524 32.034 -44.63 -5.09972 1.95595 31.5596 -44.635 -4.75394 2.02803 31.093 -44.64 -4.42193 2.08355 30.6345 -44.645 -4.10371 2.12445 30.1842 -44.65 -3.79924 2.15256 29.7424 -44.655 -3.50844 2.1696 29.3091 -44.66 -3.23117 2.17713 28.8844 -44.665 -2.96723 2.17663 28.4683 -44.67 -2.71637 2.16942 28.0606 -44.675 -2.47827 2.15672 27.6611 -44.68 -2.25256 2.13963 27.2697 -44.685 -2.03883 2.11909 26.8859 -44.69 -1.83651 2.09601 26.5095 -44.695 -1.64498 2.07113 26.1404 -44.7 -1.46385 2.04508 25.7782 -44.705 -1.29274 2.0184 25.4228 -44.71 -1.13126 1.99161 25.074 -44.715 -0.979005 1.9652 24.7314 -44.72 -0.835558 1.93958 24.395 -44.725 -0.700494 1.91515 24.0645 -44.73 -0.573376 1.89226 23.7397 -44.735 -0.453756 1.87122 23.4205 -44.74 -0.341178 1.85228 23.1067 -44.745 -0.235173 1.83567 22.7981 -44.75 -0.13526 1.82156 22.4945 -44.755 -0.0409497 1.81009 22.1959 -44.76 0.0482581 1.80137 21.902 -44.765 0.132875 1.79543 21.6128 -44.77 0.213424 1.79229 21.3282 -44.775 0.290398 1.79192 21.0479 -44.78 0.363992 1.79441 20.772 -44.785 0.434379 1.79987 20.5004 -44.79 0.501756 1.80839 20.2329 -44.795 0.566334 1.82007 19.9697 -44.8 0.628329 1.835 19.7106 -44.805 0.687968 1.85324 19.4555 -44.81 0.745487 1.87485 19.2045 -44.815 0.801134 1.89989 18.9575 -44.82 0.855163 1.92838 18.7144 -44.825 0.907839 1.96037 18.4752 -44.83 0.959437 1.99586 18.2399 -44.835 1.01024 2.03486 18.0084 -44.84 1.06054 2.07736 17.7807 -44.845 1.11064 2.12336 17.5567 -44.85 1.16086 2.17282 17.3364 -44.855 1.21146 2.22575 17.1197 -44.86 1.26242 2.28236 16.9068 -44.865 1.31381 2.34279 16.6977 -44.87 1.36577 2.40717 16.4923 -44.875 1.41841 2.47562 16.2907 -44.88 1.47189 2.54827 16.0929 -44.885 1.52634 2.62524 15.899 -44.89 1.58193 2.70667 15.709 -44.895 1.63881 2.79268 15.523 -44.9 1.69715 2.88342 15.3409 -44.905 1.75714 2.97901 15.1629 -44.91 1.81895 3.07959 14.989 -44.915 1.88278 3.18532 14.8193 -44.92 1.94883 3.29632 14.6539 -44.925 2.0173 3.41276 14.4929 -44.93 2.08839 3.53476 14.3364 -44.935 2.16224 3.66255 14.1845 -44.94 2.23895 3.79643 14.0375 -44.945 2.31865 3.93667 13.8953 -44.95 2.40147 4.08356 13.7583 -44.955 2.48755 4.23738 13.6265 -44.96 2.57705 4.3984 13.5003 -44.965 2.67014 4.56689 13.3798 -44.97 2.767 4.74314 13.2653 -44.975 2.86782 4.92741 13.1571 -44.98 2.97281 5.11997 13.0557 -44.985 3.08218 5.32108 12.9612 -44.99 3.19616 5.53101 12.8741 -44.995 3.31499 5.75002 12.7949 -45 3.43892 5.97838 12.7238 -45.005 3.56822 6.21632 12.6615 -45.01 3.70316 6.46412 12.6084 -45.015 3.84402 6.72202 12.565 -45.02 3.99086 6.98961 12.532 -45.025 4.14383 7.26714 12.51 -45.03 4.30322 7.55534 12.4998 -45.035 4.46931 7.8548 12.5022 -45.04 4.64235 8.16599 12.5179 -45.045 4.82257 8.48926 12.548 -45.05 5.0102 8.82483 12.5934 -45.055 5.20542 9.17275 12.6551 -45.06 5.40841 9.53299 12.7342 -45.065 5.61933 9.90536 12.8318 -45.07 5.8383 10.2895 12.9492 -45.075 6.06543 10.6851 13.0876 -45.08 6.30083 11.0914 13.2484 -45.085 6.54456 11.5078 13.433 -45.09 6.79667 11.9335 13.6427 -45.095 7.05719 12.3675 13.8792 -45.1 7.32613 12.8086 14.1439 -45.105 7.60349 13.2556 14.4386 -45.11 7.88924 13.7072 14.7649 -45.115 8.18331 14.162 15.1246 -45.12 8.48565 14.6181 15.5194 -45.125 8.7958 15.0744 15.9504 -45.13 9.11266 15.5288 16.4173 -45.135 9.43584 15.9778 16.9227 -45.14 9.76481 16.4175 17.4683 -45.145 10.0988 16.844 18.0556 -45.15 10.4371 17.2533 18.6852 -45.155 10.7785 17.6414 19.3574 -45.16 11.1219 18.0041 20.0718 -45.165 11.4658 18.3371 20.8274 -45.17 11.8088 18.6363 21.6227 -45.175 12.149 18.8971 22.4555 -45.18 12.4846 19.1151 23.3232 -45.185 12.8136 19.2857 24.2225 -45.19 13.1337 19.4044 25.1494 -45.195 13.4425 19.4663 26.0997 -45.2 13.7375 19.4666 27.0683 -45.205 14.0158 19.4005 28.0497 -45.21 14.2764 19.2627 29.0401 -45.215 14.5168 19.0522 30.0307 -45.22 14.7338 18.7697 31.0114 -45.225 14.9244 18.4167 31.9726 -45.23 15.0864 17.995 32.9055 -45.235 15.2175 17.5071 33.8019 -45.24 15.3159 16.9559 34.6544 -45.245 15.3804 16.3449 35.4562 -45.25 15.4097 15.6783 36.2014 -45.255 15.4032 14.9605 36.8847 -45.26 15.3606 14.1968 37.5015 -45.265 15.2818 13.3929 38.0479 -45.27 15.1672 12.5549 38.5208 -45.275 15.0176 11.6896 38.9177 -45.28 14.8334 10.8065 39.2358 -45.285 14.6145 9.91879 39.4735 -45.29 14.363 9.03501 39.6327 -45.295 14.0813 8.1626 39.7164 -45.3 13.7715 7.30832 39.7276 -45.305 13.4362 6.47826 39.6701 -45.31 13.0777 5.67777 39.5477 -45.315 12.6986 4.91152 39.3651 -45.32 12.3014 4.18346 39.1269 -45.325 11.8889 3.49685 38.8385 -45.33 11.4637 2.85423 38.5056 -45.335 11.0286 2.25745 38.1341 -45.34 10.5866 1.70765 37.7308 -45.345 10.1405 1.20527 37.3024 -45.35 9.69326 0.749712 36.8559 -45.355 9.24689 0.337836 36.3941 -45.36 8.80331 -0.0321935 35.9199 -45.365 8.36432 -0.362 35.4365 -45.37 7.93159 -0.653375 34.947 -45.375 7.5066 -0.908273 34.4539 -45.38 7.09069 -1.12882 33.9596 -45.385 6.68502 -1.3173 33.4664 -45.39 6.2906 -1.47618 32.976 -45.395 5.90826 -1.60808 32.4902 -45.4 5.5387 -1.71579 32.0103 -45.405 5.18242 -1.80226 31.5374 -45.41 4.83979 -1.87062 31.0724 -45.415 4.51099 -1.92417 30.616 -45.42 4.19606 -1.96593 30.1683 -45.425 3.89487 -1.99556 29.729 -45.43 3.60723 -2.01407 29.298 -45.435 3.33292 -2.02293 28.8753 -45.44 3.07171 -2.02356 28.4607 -45.445 2.82332 -2.01724 28.0541 -45.45 2.58744 -2.00516 27.6554 -45.455 2.36374 -1.9884 27.2644 -45.46 2.15185 -1.96797 26.881 -45.465 1.95139 -1.94473 26.505 -45.47 1.76194 -1.91947 26.1362 -45.475 1.58303 -1.89288 25.7742 -45.48 1.41419 -1.86552 25.4189 -45.485 1.25488 -1.83792 25.07 -45.49 1.10453 -1.81053 24.7272 -45.495 0.962757 -1.78376 24.3904 -45.5 0.829144 -1.75795 24.0595 -45.505 0.703295 -1.73342 23.7341 -45.51 0.584806 -1.71045 23.4142 -45.515 0.473269 -1.6893 23.0997 -45.52 0.36827 -1.67019 22.7902 -45.525 0.269396 -1.6533 22.4858 -45.53 0.176227 -1.63879 22.1863 -45.535 0.0883404 -1.62677 21.8914 -45.54 0.00531079 -1.61734 21.6012 -45.545 -0.0732916 -1.61055 21.3155 -45.55 -0.1479 -1.60643 21.0341 -45.555 -0.218944 -1.60496 20.757 -45.56 -0.286714 -1.6062 20.484 -45.565 -0.351419 -1.61023 20.2152 -45.57 -0.413276 -1.61714 19.9505 -45.575 -0.472508 -1.62698 19.6898 -45.58 -0.529342 -1.63981 19.433 -45.585 -0.584009 -1.65568 19.1802 -45.59 -0.636744 -1.67463 18.9313 -45.595 -0.687786 -1.69669 18.6861 -45.6 -0.73738 -1.72189 18.4448 -45.605 -0.785773 -1.75025 18.2071 -45.61 -0.833217 -1.78177 17.9732 -45.615 -0.87997 -1.81646 17.7429 -45.62 -0.926292 -1.85431 17.5162 -45.625 -0.972448 -1.89532 17.293 -45.63 -1.0186 -1.93953 17.0735 -45.635 -1.06483 -1.98708 16.8575 -45.64 -1.11126 -2.03807 16.6451 -45.645 -1.15799 -2.0926 16.4362 -45.65 -1.20516 -2.15079 16.231 -45.655 -1.2529 -2.21273 16.0293 -45.66 -1.30136 -2.27853 15.8312 -45.665 -1.35068 -2.3483 15.6368 -45.67 -1.40102 -2.42216 15.446 -45.675 -1.45255 -2.50022 15.2589 -45.68 -1.50543 -2.5826 15.0755 -45.685 -1.55984 -2.6694 14.8958 -45.69 -1.61596 -2.76075 14.72 -45.695 -1.67398 -2.85677 14.548 -45.7 -1.7341 -2.95758 14.38 -45.705 -1.79647 -3.06335 14.2159 -45.71 -1.86118 -3.17433 14.056 -45.715 -1.92833 -3.29075 13.9003 -45.72 -1.99804 -3.41288 13.7488 -45.725 -2.07043 -3.54095 13.6018 -45.73 -2.14564 -3.67523 13.4594 -45.735 -2.22382 -3.81597 13.3217 -45.74 -2.30513 -3.96342 13.1889 -45.745 -2.38975 -4.11784 13.0613 -45.75 -2.47785 -4.27951 12.939 -45.755 -2.56964 -4.44868 12.8223 -45.76 -2.66532 -4.62561 12.7114 -45.765 -2.76512 -4.81059 12.6067 -45.77 -2.86925 -5.00387 12.5085 -45.775 -2.97797 -5.20574 12.417 -45.78 -3.09153 -5.41647 12.3327 -45.785 -3.21019 -5.63634 12.2559 -45.79 -3.33413 -5.86528 12.1871 -45.795 -3.4635 -6.10352 12.1269 -45.8 -3.59852 -6.35172 12.0758 -45.805 -3.73944 -6.61046 12.0342 -45.81 -3.88648 -6.88026 12.0028 -45.815 -4.03987 -7.16153 11.9821 -45.82 -4.19984 -7.45464 11.973 -45.825 -4.3666 -7.75986 11.9762 -45.83 -4.54037 -8.07739 11.9925 -45.835 -4.72136 -8.40734 12.023 -45.84 -4.90979 -8.74978 12.0685 -45.845 -5.10586 -9.10466 12.1303 -45.85 -5.30978 -9.47187 12.2094 -45.855 -5.52174 -9.85123 12.3071 -45.86 -5.74196 -10.2425 12.4246 -45.865 -5.97062 -10.6453 12.5633 -45.87 -6.20792 -11.0592 12.7246 -45.875 -6.45404 -11.4837 12.9101 -45.88 -6.70917 -11.9183 13.1213 -45.885 -6.97349 -12.3623 13.3598 -45.89 -7.24718 -12.815 13.6273 -45.895 -7.52953 -13.2753 13.924 -45.9 -7.82014 -13.7419 14.2513 -45.905 -8.11918 -14.2129 14.6123 -45.91 -8.42667 -14.6863 15.0096 -45.915 -8.74243 -15.1599 15.4453 -45.92 -9.06613 -15.6312 15.9213 -45.925 -9.39728 -16.0971 16.4391 -45.93 -9.73521 -16.5546 16.9995 -45.935 -10.0791 -17.0002 17.6034 -45.94 -10.4279 -17.4302 18.2508 -45.945 -10.7806 -17.8406 18.9418 -45.95 -11.1357 -18.2271 19.6758 -45.955 -11.4917 -18.585 20.4519 -45.96 -11.8471 -18.9096 21.2688 -45.965 -12.1999 -19.1956 22.1248 -45.97 -12.5482 -19.4375 23.0178 -45.975 -12.8898 -19.6297 23.9454 -45.98 -13.2225 -19.766 24.9047 -45.985 -13.5442 -19.8412 25.8933 -45.99 -13.8534 -19.8516 26.9061 -45.995 -14.1468 -19.7934 27.9337 -46 -14.4211 -19.6636 28.967 -46.005 -14.6733 -19.46 29.997 -46.01 -14.9007 -19.1815 31.0152 -46.015 -15.1009 -18.8278 32.0133 -46.02 -15.2716 -18.3995 32.9833 -46.025 -15.4108 -17.8982 33.9178 -46.03 -15.5168 -17.3264 34.8093 -46.035 -15.5881 -16.6875 35.651 -46.04 -15.6233 -15.9859 36.4361 -46.045 -15.6216 -15.2268 37.1584 -46.05 -15.5821 -14.4164 37.8118 -46.055 -15.5043 -13.5619 38.3905 -46.06 -15.3874 -12.6726 38.8858 -46.065 -15.2322 -11.7599 39.2955 -46.07 -15.0399 -10.8343 39.6211 -46.075 -14.8123 -9.90546 39.8643 -46.08 -14.551 -8.98228 40.0272 -46.085 -14.2581 -8.07275 40.1128 -46.09 -13.9356 -7.18402 40.1239 -46.095 -13.5859 -6.32243 40.0642 -46.1 -13.2116 -5.49344 39.9376 -46.105 -12.8154 -4.70168 39.7486 -46.11 -12.4003 -3.95095 39.5021 -46.115 -11.9694 -3.24419 39.2033 -46.12 -11.5261 -2.5835 38.8581 -46.125 -11.0739 -1.97013 38.4725 -46.13 -10.6157 -1.40496 38.0539 -46.135 -10.1535 -0.888326 37.6095 -46.14 -9.68985 -0.419316 37.1441 -46.145 -9.22709 0.00333367 36.6621 -46.15 -8.76744 0.381204 36.1676 -46.155 -8.31287 0.716194 35.6643 -46.16 -7.86517 1.01052 35.1558 -46.165 -7.4259 1.26672 34.645 -46.17 -6.99642 1.48765 34.1348 -46.175 -6.5779 1.67648 33.6275 -46.18 -6.17127 1.8367 33.1251 -46.185 -5.77729 1.97208 32.6295 -46.19 -5.39662 2.08451 32.1411 -46.195 -5.02963 2.17562 31.6604 -46.2 -4.67653 2.24773 31.1878 -46.205 -4.33749 2.30301 30.7238 -46.21 -4.01255 2.3435 30.2686 -46.215 -3.70174 2.37111 29.8224 -46.22 -3.40497 2.38761 29.3853 -46.225 -3.1221 2.39464 28.9574 -46.23 -2.85291 2.39372 28.5384 -46.235 -2.59711 2.38622 28.1282 -46.24 -2.35434 2.37338 27.7266 -46.245 -2.12414 2.35634 27.3331 -46.25 -1.90592 2.33613 26.9476 -46.255 -1.69924 2.31352 26.5699 -46.26 -1.5037 2.28923 26.1997 -46.265 -1.31887 2.2639 25.8367 -46.27 -1.14431 2.23815 25.4807 -46.275 -0.979578 2.21253 25.1314 -46.28 -0.824229 2.18754 24.7886 -46.285 -0.677796 2.16365 24.4521 -46.29 -0.539805 2.14125 24.1216 -46.295 -0.409772 2.12072 23.7971 -46.3 -0.287203 2.10234 23.4782 -46.305 -0.171595 2.08639 23.1648 -46.31 -0.0624334 2.07307 22.8568 -46.315 0.0408055 2.06253 22.554 -46.32 0.138656 2.05489 22.2562 -46.325 0.231662 2.05021 21.9633 -46.33 0.320322 2.0485 21.6752 -46.335 0.404864 2.04989 21.3917 -46.34 0.485541 2.0545 21.1129 -46.345 0.562622 2.06243 20.8385 -46.35 0.636379 2.07378 20.5686 -46.355 0.707094 2.08863 20.3031 -46.36 0.775049 2.10704 20.042 -46.365 0.840534 2.12909 19.7851 -46.37 0.903844 2.15482 19.5324 -46.375 0.965277 2.18427 19.2839 -46.38 1.02514 2.21747 19.0395 -46.385 1.08374 2.25444 18.7992 -46.39 1.14139 2.29518 18.5629 -46.395 1.19842 2.3397 18.3306 -46.4 1.25514 2.38798 18.1022 -46.405 1.31174 2.4401 17.8779 -46.41 1.36832 2.49619 17.6575 -46.415 1.42502 2.55639 17.4411 -46.42 1.48199 2.6208 17.2288 -46.425 1.53939 2.68953 17.0205 -46.43 1.59739 2.76271 16.8162 -46.435 1.65616 2.84044 16.6161 -46.44 1.71588 2.92286 16.4202 -46.445 1.77673 3.01007 16.2285 -46.45 1.83891 3.10221 16.041 -46.455 1.90264 3.19937 15.8579 -46.46 1.9681 3.3017 15.6792 -46.465 2.03553 3.40931 15.5049 -46.47 2.10514 3.52233 15.3353 -46.475 2.17716 3.64087 15.1702 -46.48 2.25174 3.76512 15.0101 -46.485 2.32899 3.89535 14.8549 -46.49 2.40902 4.03181 14.7047 -46.495 2.49198 4.17478 14.5599 -46.5 2.578 4.32452 14.4205 -46.505 2.66724 4.48126 14.2868 -46.51 2.75987 4.64528 14.159 -46.515 2.85607 4.81681 14.0373 -46.52 2.95602 4.9961 13.9222 -46.525 3.05993 5.1834 13.8137 -46.53 3.168 5.37893 13.7125 -46.535 3.28047 5.58294 13.6186 -46.54 3.39757 5.79566 13.5327 -46.545 3.51954 6.0173 13.455 -46.55 3.64664 6.24811 13.3861 -46.555 3.77914 6.48829 13.3263 -46.56 3.91731 6.73802 13.2762 -46.565 4.06117 6.99695 13.2364 -46.57 4.21093 7.26551 13.2075 -46.575 4.36682 7.54428 13.1903 -46.58 4.5291 7.83376 13.1854 -46.585 4.69799 8.1343 13.1937 -46.59 4.87368 8.44617 13.2161 -46.595 5.05638 8.76949 13.2534 -46.6 5.24625 9.1043 13.3066 -46.605 5.44344 9.45051 13.3767 -46.61 5.6481 9.80791 13.4649 -46.615 5.86034 10.1762 13.5722 -46.62 6.08027 10.5549 13.6997 -46.625 6.30797 10.9435 13.8488 -46.63 6.54352 11.3413 14.0207 -46.635 6.78696 11.7476 14.2167 -46.64 7.03833 12.1614 14.4383 -46.645 7.29766 12.5817 14.6868 -46.65 7.56493 13.0075 14.9638 -46.655 7.84014 13.4375 15.2708 -46.66 8.12325 13.8703 15.6094 -46.665 8.41408 14.3047 15.9809 -46.67 8.71158 14.7395 16.3848 -46.675 9.0154 15.1718 16.8233 -46.68 9.32518 15.5985 17.2983 -46.685 9.64041 16.0162 17.8115 -46.69 9.9604 16.4214 18.3638 -46.695 10.2844 16.8107 18.9559 -46.7 10.6113 17.1804 19.5878 -46.705 10.9401 17.5268 20.259 -46.71 11.2694 17.8461 20.9688 -46.715 11.5979 18.1344 21.7155 -46.72 11.9239 18.3877 22.4974 -46.725 12.2457 18.6019 23.312 -46.73 12.5614 18.7728 24.1563 -46.735 12.8689 18.896 25.027 -46.74 13.1661 18.9673 25.9201 -46.745 13.4505 18.9821 26.8312 -46.75 13.7197 18.9358 27.7555 -46.755 13.9726 18.8237 28.6897 -46.76 14.2071 18.6447 29.6259 -46.765 14.4201 18.3993 30.555 -46.77 14.609 18.0884 31.468 -46.775 14.7714 17.7134 32.3571 -46.78 14.9054 17.2764 33.2146 -46.785 15.0093 16.7798 34.0337 -46.79 15.0816 16.2265 34.8081 -46.795 15.1214 15.62 35.5322 -46.8 15.1278 14.9643 36.2009 -46.805 15.1005 14.2639 36.8098 -46.81 15.0393 13.5236 37.355 -46.815 14.9444 12.749 37.8335 -46.82 14.8164 11.9461 38.2426 -46.825 14.6559 11.1218 38.5799 -46.83 14.4625 10.2884 38.8425 -46.835 14.2377 9.45468 39.0313 -46.84 13.9835 8.62775 39.1486 -46.845 13.7021 7.81407 39.197 -46.85 13.3955 7.01952 39.1796 -46.855 13.066 6.24933 39.0996 -46.86 12.716 5.50811 38.9608 -46.865 12.3476 4.79985 38.7674 -46.87 11.9634 4.12793 38.5239 -46.875 11.5658 3.4951 38.2351 -46.88 11.1574 2.90348 37.9064 -46.885 10.7408 2.35459 37.5434 -46.89 10.3187 1.84929 37.1521 -46.895 9.8937 1.38786 36.7389 -46.9 9.46842 0.969166 36.309 -46.905 9.0445 0.590655 35.8643 -46.91 8.62376 0.250769 35.4082 -46.915 8.20786 -0.0521567 34.9435 -46.92 7.79832 -0.319923 34.4731 -46.925 7.39649 -0.554461 33.9995 -46.93 7.00356 -0.757839 33.5248 -46.935 6.62056 -0.932256 33.0511 -46.94 6.24839 -1.08004 32.58 -46.945 5.88776 -1.20367 32.113 -46.95 5.53923 -1.30574 31.6512 -46.955 5.20323 -1.38898 31.1955 -46.96 4.88 -1.4562 30.7466 -46.965 4.56974 -1.50854 30.3046 -46.97 4.27246 -1.54716 29.8698 -46.975 3.98808 -1.57366 29.4423 -46.98 3.71647 -1.58954 29.0221 -46.985 3.4575 -1.59621 28.6092 -46.99 3.21096 -1.59497 28.2038 -46.995 2.97662 -1.58701 27.8057 -47 2.75423 -1.57344 27.4148 -47.005 2.54347 -1.55526 27.0311 -47.01 2.34401 -1.53336 26.6544 -47.015 2.15546 -1.50854 26.2845 -47.02 1.97742 -1.48149 25.9211 -47.025 1.80939 -1.45282 25.564 -47.03 1.65082 -1.42308 25.213 -47.035 1.50135 -1.39273 24.868 -47.04 1.3606 -1.36218 24.5288 -47.045 1.22821 -1.33182 24.1952 -47.05 1.1038 -1.30197 23.8671 -47.055 0.986975 -1.27295 23.5443 -47.06 0.877361 -1.24503 23.2266 -47.065 0.774561 -1.21843 22.914 -47.07 0.678176 -1.19334 22.6062 -47.075 0.587801 -1.16993 22.3031 -47.08 0.503027 -1.14831 22.0047 -47.085 0.42344 -1.12857 21.7107 -47.09 0.348618 -1.11075 21.4211 -47.095 0.278136 -1.09487 21.1357 -47.1 0.21157 -1.0809 20.8544 -47.105 0.148641 -1.06888 20.5772 -47.11 0.0891728 -1.05889 20.304 -47.115 0.0329762 -1.051 20.0347 -47.12 -0.0201417 -1.04527 19.7693 -47.125 -0.07038 -1.04174 19.5076 -47.13 -0.117943 -1.04044 19.2498 -47.135 -0.163042 -1.04139 18.9956 -47.14 -0.205891 -1.04462 18.745 -47.145 -0.246712 -1.05012 18.498 -47.15 -0.285731 -1.05787 18.2545 -47.155 -0.323182 -1.06787 18.0144 -47.16 -0.359303 -1.08008 17.7778 -47.165 -0.394336 -1.09445 17.5444 -47.17 -0.42853 -1.11094 17.3144 -47.175 -0.46214 -1.12948 17.0876 -47.18 -0.49524 -1.15014 16.864 -47.185 -0.527847 -1.17302 16.6435 -47.19 -0.560059 -1.19818 16.4263 -47.195 -0.591978 -1.22567 16.2122 -47.2 -0.623712 -1.25553 16.0012 -47.205 -0.65537 -1.28783 15.7933 -47.21 -0.687067 -1.3226 15.5885 -47.215 -0.71892 -1.35991 15.3867 -47.22 -0.751052 -1.39981 15.188 -47.225 -0.783588 -1.44235 14.9922 -47.23 -0.816658 -1.48758 14.7995 -47.235 -0.850396 -1.53556 14.6098 -47.24 -0.884939 -1.58635 14.423 -47.245 -0.920429 -1.64 14.2392 -47.25 -0.956979 -1.69661 14.0584 -47.255 -0.994653 -1.75632 13.8806 -47.26 -1.03352 -1.81927 13.7057 -47.265 -1.07364 -1.8856 13.5339 -47.27 -1.11512 -1.95546 13.3651 -47.275 -1.15803 -2.02901 13.1993 -47.28 -1.20247 -2.1064 13.0365 -47.285 -1.24857 -2.18781 12.8769 -47.29 -1.29642 -2.27339 12.7204 -47.295 -1.34615 -2.36332 12.5672 -47.3 -1.3979 -2.45779 12.4171 -47.305 -1.45181 -2.55697 12.2704 -47.31 -1.50803 -2.66105 12.1271 -47.315 -1.56671 -2.77022 11.9873 -47.32 -1.62802 -2.88469 11.851 -47.325 -1.69213 -3.00466 11.7183 -47.33 -1.75924 -3.13031 11.5894 -47.335 -1.82947 -3.2619 11.4645 -47.34 -1.90295 -3.39975 11.3437 -47.345 -1.97979 -3.54423 11.2271 -47.35 -2.06012 -3.69569 11.1149 -47.355 -2.1441 -3.85447 11.0071 -47.36 -2.23188 -4.02094 10.9041 -47.365 -2.32364 -4.19544 10.806 -47.37 -2.41957 -4.37834 10.7132 -47.375 -2.51986 -4.56998 10.6259 -47.38 -2.62473 -4.77074 10.5446 -47.385 -2.7344 -4.98096 10.4695 -47.39 -2.84911 -5.201 10.4012 -47.395 -2.96912 -5.43124 10.3401 -47.4 -3.0947 -5.67202 10.2866 -47.405 -3.22611 -5.92372 10.2414 -47.41 -3.36366 -6.18669 10.2049 -47.415 -3.50765 -6.46131 10.1778 -47.42 -3.65839 -6.74793 10.1606 -47.425 -3.81622 -7.04694 10.1542 -47.43 -3.98122 -7.35773 10.1592 -47.435 -4.15333 -7.67953 10.1768 -47.44 -4.33302 -8.01369 10.2079 -47.445 -4.52075 -8.36137 10.2534 -47.45 -4.71693 -8.72352 10.3145 -47.455 -4.92194 -9.10083 10.3922 -47.46 -5.13609 -9.49378 10.488 -47.465 -5.35967 -9.90263 10.6031 -47.47 -5.59292 -10.3274 10.7389 -47.475 -5.83604 -10.7679 10.897 -47.48 -6.08919 -11.2236 11.079 -47.485 -6.35247 -11.6939 11.2865 -47.49 -6.62597 -12.1779 11.5213 -47.495 -6.90972 -12.6744 11.7852 -47.5 -7.20369 -13.1822 12.0803 -47.505 -7.50783 -13.6996 12.4085 -47.51 -7.82205 -14.2248 12.772 -47.515 -8.1462 -14.7557 13.1729 -47.52 -8.48011 -15.2901 13.6135 -47.525 -8.82354 -15.8254 14.0963 -47.53 -9.17623 -16.359 14.6235 -47.535 -9.53787 -16.8879 15.1979 -47.54 -9.9081 -17.4088 15.822 -47.545 -10.2863 -17.9186 16.4978 -47.55 -10.6706 -18.4142 17.2234 -47.555 -11.0597 -18.8888 17.9999 -47.56 -11.452 -19.3356 18.8283 -47.565 -11.8461 -19.7478 19.7084 -47.57 -12.2401 -20.119 20.6393 -47.575 -12.632 -20.4428 21.6189 -47.58 -13.0195 -20.713 22.6442 -47.585 -13.4002 -20.9237 23.7114 -47.59 -13.7714 -21.0692 24.8155 -47.595 -14.1302 -21.1438 25.9506 -47.6 -14.4736 -21.1422 27.1101 -47.605 -14.7983 -21.0592 28.286 -47.61 -15.1007 -20.8896 29.4697 -47.615 -15.3773 -20.6282 30.6519 -47.62 -15.6266 -20.266 31.8252 -47.625 -15.8449 -19.807 32.9762 -47.63 -16.0286 -19.2583 34.091 -47.635 -16.1744 -18.6267 35.1571 -47.64 -16.2798 -17.9192 36.1637 -47.645 -16.3429 -17.1428 37.101 -47.65 -16.3621 -16.3046 37.9608 -47.655 -16.3366 -15.4117 38.7364 -47.66 -16.2661 -14.4712 39.4224 -47.665 -16.1509 -13.4902 40.0147 -47.67 -15.9919 -12.4759 40.5108 -47.675 -15.7905 -11.4355 40.9095 -47.68 -15.5488 -10.3762 41.2111 -47.685 -15.2692 -9.3057 41.4171 -47.69 -14.9516 -8.24399 41.5283 -47.695 -14.5979 -7.20599 41.548 -47.7 -14.2118 -6.19988 41.481 -47.705 -13.7968 -5.23276 41.3329 -47.71 -13.3564 -4.31075 41.1096 -47.715 -12.8941 -3.43891 40.8177 -47.72 -12.4134 -2.62127 40.464 -47.725 -11.9176 -1.86083 40.0561 -47.73 -11.4102 -1.15956 39.602 -47.735 -10.8945 -0.518416 39.11 -47.74 -10.3737 0.0627077 38.5892 -47.745 -9.85124 0.58493 38.0491 -47.75 -9.33027 1.0504 37.4996 -47.755 -8.81373 1.46266 36.9463 -47.76 -8.30364 1.82572 36.3875 -47.765 -7.80187 2.14272 35.8266 -47.77 -7.31011 2.41686 35.2666 -47.775 -6.82985 2.65133 34.7102 -47.78 -6.36238 2.84936 34.1598 -47.785 -5.90879 3.0142 33.6174 -47.79 -5.46998 3.14912 33.0844 -47.795 -5.04665 3.25743 32.5621 -47.8 -4.6393 3.34245 32.0513 -47.805 -4.24823 3.40753 31.5524 -47.81 -3.87355 3.45605 31.0654 -47.815 -3.51522 3.49089 30.5903 -47.82 -3.17314 3.5131 30.1273 -47.825 -2.84696 3.52444 29.6759 -47.83 -2.53632 3.52664 29.2359 -47.835 -2.24083 3.52133 28.8069 -47.84 -1.96005 3.51001 28.3887 -47.845 -1.69355 3.49404 27.9808 -47.85 -1.44084 3.47468 27.5828 -47.855 -1.20143 3.45307 27.1946 -47.86 -0.97479 3.43024 26.8156 -47.865 -0.760371 3.40706 26.4456 -47.87 -0.557595 3.38431 26.0842 -47.875 -0.36586 3.36266 25.731 -47.88 -0.184537 3.34263 25.3856 -47.885 -0.0129588 3.32464 25.0478 -47.89 0.149634 3.30915 24.7171 -47.895 0.303767 3.29654 24.3933 -47.9 0.44991 3.28711 24.0763 -47.905 0.588537 3.28117 23.7658 -47.91 0.720126 3.27898 23.4616 -47.915 0.84516 3.28076 23.1636 -47.92 0.964126 3.28675 22.8716 -47.925 1.07752 3.2971 22.5855 -47.93 1.18583 3.31198 22.3051 -47.935 1.28956 3.33151 22.0304 -47.94 1.38922 3.35579 21.761 -47.945 1.48531 3.38488 21.4971 -47.95 1.57835 3.41883 21.2384 -47.955 1.66886 3.45766 20.9849 -47.96 1.75725 3.50138 20.7365 -47.965 1.84376 3.55011 20.4933 -47.97 1.92863 3.60396 20.2553 -47.975 2.01212 3.66304 20.0225 -47.98 2.0945 3.72745 19.795 -47.985 2.17604 3.7973 19.5727 -47.99 2.25702 3.87266 19.3557 -47.995 2.33773 3.95364 19.144 -48 2.41845 4.0403 18.9378 -48.005 2.49949 4.13271 18.737 -48.01 2.58114 4.23095 18.5417 -48.015 2.66372 4.33508 18.3521 -48.02 2.74754 4.44515 18.1682 -48.025 2.83293 4.56122 17.9901 -48.03 2.9202 4.68331 17.8178 -48.035 3.00951 4.81156 17.6517 -48.04 3.10099 4.94618 17.4919 -48.045 3.19481 5.08736 17.3386 -48.05 3.2911 5.2353 17.192 -48.055 3.39004 5.39018 17.0523 -48.06 3.49181 5.55216 16.9199 -48.065 3.59658 5.72139 16.795 -48.07 3.70454 5.89801 16.6778 -48.075 3.8159 6.08213 16.5688 -48.08 3.93086 6.27388 16.4683 -48.085 4.04964 6.47334 16.3766 -48.09 4.17246 6.68061 16.2941 -48.095 4.29956 6.89574 16.2213 -48.1 4.43118 7.11881 16.1586 -48.105 4.56758 7.34984 16.1064 -48.11 4.709 7.58887 16.0652 -48.115 4.85548 7.83564 16.0354 -48.12 5.00707 8.09021 16.0176 -48.125 5.16396 8.35285 16.0126 -48.13 5.32631 8.62372 16.0212 -48.135 5.49424 8.90289 16.0441 -48.14 5.66788 9.19029 16.0822 -48.145 5.84731 9.4858 16.1363 -48.15 6.03261 9.78914 16.207 -48.155 6.22381 10.1 16.2954 -48.16 6.42095 10.4178 16.4022 -48.165 6.62401 10.7421 16.5282 -48.17 6.83298 11.0721 16.6743 -48.175 7.04782 11.4071 16.8413 -48.18 7.26845 11.7463 17.0301 -48.185 7.49478 12.0886 17.2417 -48.19 7.7267 12.4329 17.4767 -48.195 7.96408 12.778 17.7363 -48.2 8.20675 13.1226 18.0212 -48.205 8.45454 13.4654 18.3323 -48.21 8.70719 13.805 18.6705 -48.215 8.96393 14.1407 19.0354 -48.22 9.22421 14.4701 19.4277 -48.225 9.48749 14.7904 19.8484 -48.23 9.75315 15.0989 20.2979 -48.235 10.0205 15.3926 20.7765 -48.24 10.2887 15.6689 21.2838 -48.245 10.5569 15.925 21.8195 -48.25 10.8241 16.1584 22.3826 -48.255 11.0893 16.3664 22.9719 -48.26 11.3513 16.5464 23.5859 -48.265 11.6088 16.696 24.2225 -48.27 11.8605 16.8125 24.8796 -48.275 12.105 16.8937 25.5544 -48.28 12.3408 16.937 26.2441 -48.285 12.5663 16.94 26.9452 -48.29 12.7797 16.9005 27.6541 -48.295 12.9793 16.8162 28.3669 -48.3 13.1638 16.6834 29.0799 -48.305 13.3325 16.4974 29.7904 -48.31 13.4837 16.2613 30.4917 -48.315 13.6155 15.9788 31.1776 -48.32 13.7263 15.6531 31.8423 -48.325 13.8148 15.2877 32.4803 -48.33 13.8798 14.8858 33.087 -48.335 13.9205 14.4506 33.6583 -48.34 13.9363 13.985 34.1905 -48.345 13.9269 13.4921 34.6804 -48.35 13.892 12.9746 35.1257 -48.355 13.8319 12.4353 35.5242 -48.36 13.7468 11.8769 35.8746 -48.365 13.6374 11.302 36.1759 -48.37 13.5046 10.7129 36.4279 -48.375 13.3493 10.1121 36.6307 -48.38 13.1731 9.5018 36.785 -48.385 12.9774 8.88415 36.8922 -48.39 12.7622 8.2672 36.9526 -48.395 12.5273 7.66163 36.9656 -48.4 12.2746 7.07084 36.9329 -48.405 12.006 6.49787 36.8564 -48.41 11.7232 5.9454 36.738 -48.415 11.4281 5.4158 36.5801 -48.42 11.1225 4.91107 36.385 -48.425 10.8081 4.43291 36.1557 -48.43 10.4865 3.98266 35.8949 -48.435 10.1595 3.5613 35.6058 -48.44 9.82848 3.16951 35.2919 -48.445 9.49515 2.80762 34.9567 -48.45 9.16099 2.4756 34.604 -48.455 8.82748 2.17311 34.238 -48.46 8.49605 1.89945 33.8629 -48.465 8.1681 1.6536 33.4832 -48.47 7.84496 1.4339 33.101 -48.475 7.52766 1.23832 32.7138 -48.48 7.21694 1.06558 32.3229 -48.485 6.91348 0.914425 31.9297 -48.49 6.61787 0.78358 31.5353 -48.495 6.33066 0.671773 31.1409 -48.5 6.05232 0.577729 30.7473 -48.505 5.78326 0.500166 30.3555 -48.51 5.5238 0.4378 29.9662 -48.515 5.27421 0.389341 29.58 -48.52 5.0347 0.353497 29.1975 -48.525 4.8054 0.32897 28.819 -48.53 4.58638 0.314458 28.4448 -48.535 4.37763 0.308658 28.0751 -48.54 4.17908 0.310258 27.7099 -48.545 3.99057 0.318306 27.3493 -48.55 3.81182 0.332761 26.9934 -48.555 3.64263 0.352996 26.6423 -48.56 3.48278 0.378381 26.2959 -48.565 3.33204 0.408337 25.9543 -48.57 3.19019 0.442331 25.6174 -48.575 3.057 0.479877 25.2851 -48.58 2.93222 0.520535 24.9576 -48.585 2.81559 0.563914 24.6347 -48.59 2.70686 0.60967 24.3164 -48.595 2.60577 0.657505 24.0026 -48.6 2.51202 0.707169 23.6933 -48.605 2.42535 0.75846 23.3885 -48.61 2.34546 0.81122 23.088 -48.615 2.27206 0.865343 22.7919 -48.62 2.20483 0.920764 22.4999 -48.625 2.14344 0.977427 22.2122 -48.63 2.08771 1.03524 21.9285 -48.635 2.03748 1.09415 21.649 -48.64 1.99259 1.15409 21.3735 -48.645 1.95286 1.21504 21.102 -48.65 1.91815 1.277 20.8345 -48.655 1.88829 1.33999 20.571 -48.66 1.8631 1.40403 20.3113 -48.665 1.84243 1.46918 20.0555 -48.67 1.8261 1.53552 19.8036 -48.675 1.81394 1.60315 19.5556 -48.68 1.80577 1.67219 19.3113 -48.685 1.80143 1.74278 19.0709 -48.69 1.80073 1.81507 18.8342 -48.695 1.8035 1.88926 18.6013 -48.7 1.80958 1.96552 18.3723 -48.705 1.819 2.04392 18.147 -48.71 1.83178 2.12456 17.9256 -48.715 1.84788 2.20756 17.708 -48.72 1.86731 2.29304 17.4942 -48.725 1.89005 2.38115 17.2843 -48.73 1.9161 2.47205 17.0783 -48.735 1.94545 2.5659 16.8763 -48.74 1.97809 2.66289 16.6782 -48.745 2.01402 2.76321 16.4842 -48.75 2.05326 2.86705 16.2943 -48.755 2.09579 2.97465 16.1086 -48.76 2.14162 3.08622 15.9271 -48.765 2.19077 3.20201 15.7499 -48.77 2.24323 3.32226 15.5773 -48.775 2.29904 3.44725 15.4091 -48.78 2.35822 3.57722 15.2457 -48.785 2.42093 3.71229 15.0871 -48.79 2.48728 3.85272 14.9335 -48.795 2.55738 3.99878 14.7851 -48.8 2.63133 4.15075 14.6419 -48.805 2.70924 4.30889 14.5041 -48.81 2.79124 4.47348 14.372 -48.815 2.87744 4.64478 14.2458 -48.82 2.96799 4.82308 14.1257 -48.825 3.06301 5.00865 14.0121 -48.83 3.16265 5.20176 13.9052 -48.835 3.26705 5.40268 13.8055 -48.84 3.37637 5.6117 13.7134 -48.845 3.49076 5.82909 13.6291 -48.85 3.61039 6.05513 13.5533 -48.855 3.73542 6.2901 13.4863 -48.86 3.86603 6.53427 13.4288 -48.865 4.0024 6.78792 13.3811 -48.87 4.14471 7.05134 13.3439 -48.875 4.29314 7.32472 13.3178 -48.88 4.44765 7.60717 13.3033 -48.885 4.60852 7.89903 13.3011 -48.89 4.77605 8.20103 13.3123 -48.895 4.95053 8.51371 13.3377 -48.9 5.13223 8.83746 13.3783 -48.905 5.32136 9.17251 13.435 -48.91 5.5181 9.51895 13.5091 -48.915 5.72261 9.87669 13.6014 -48.92 5.93499 10.2455 13.7133 -48.925 6.15532 10.6249 13.8457 -48.93 6.38366 11.0145 13.9999 -48.935 6.62 11.4135 14.1771 -48.94 6.86433 11.8209 14.3785 -48.945 7.11658 12.2359 14.6056 -48.95 7.37666 12.6571 14.8595 -48.955 7.64444 13.0833 15.1417 -48.96 7.91974 13.513 15.4535 -48.965 8.20238 13.9444 15.7965 -48.97 8.49211 14.3758 16.1721 -48.975 8.78867 14.8052 16.5817 -48.98 9.09175 15.2304 17.027 -48.985 9.40101 15.6492 17.5096 -48.99 9.71581 16.0597 18.03 -48.995 10.0349 16.4597 18.5873 -49 10.3574 16.8444 19.1827 -49.005 10.6822 17.2091 19.8165 -49.01 11.0083 17.5494 20.4888 -49.015 11.3344 17.8608 21.199 -49.02 11.659 18.139 21.9457 -49.025 11.9806 18.38 22.7271 -49.03 12.2976 18.5797 23.5408 -49.035 12.6081 18.7344 24.3838 -49.04 12.9101 18.8404 25.2525 -49.045 13.2017 18.8941 26.1427 -49.05 13.4806 18.8921 27.0495 -49.055 13.7445 18.8312 27.9676 -49.06 13.9909 18.7084 28.891 -49.065 14.2172 18.5206 29.813 -49.07 14.4216 18.2618 30.7282 -49.075 14.6029 17.9289 31.6298 -49.08 14.7585 17.5282 32.5085 -49.085 14.886 17.0656 33.3553 -49.09 14.9834 16.5472 34.1626 -49.095 15.0491 15.9786 34.9232 -49.1 15.0821 15.3652 35.6312 -49.105 15.0814 14.7122 36.2814 -49.11 15.0467 14.0246 36.8694 -49.115 14.9779 13.3071 37.3921 -49.12 14.8754 12.5642 37.8468 -49.125 14.74 11.8003 38.2321 -49.13 14.5727 11.0193 38.5471 -49.135 14.3751 10.2252 38.7923 -49.14 14.149 9.42146 38.9687 -49.145 13.8968 8.61151 39.0782 -49.15 13.6188 7.80683 39.1227 -49.155 13.3151 7.02202 39.1035 -49.16 12.9885 6.26199 39.0236 -49.165 12.6417 5.53104 38.8863 -49.17 12.2773 4.83286 38.6952 -49.175 11.8979 4.17056 38.4542 -49.18 11.5059 3.54664 38.1674 -49.185 11.1038 2.96301 37.8395 -49.19 10.694 2.42099 37.4752 -49.195 10.2786 1.92131 37.0799 -49.2 9.86006 1.46409 36.6588 -49.205 9.44038 1.04885 36.2179 -49.21 9.02168 0.674543 35.7633 -49.215 8.606 0.339499 35.3014 -49.22 8.19529 0.0414626 34.8387 -49.225 7.79117 -0.222275 34.3738 -49.23 7.39482 -0.453984 33.9061 -49.235 7.00724 -0.655774 33.4374 -49.24 6.62934 -0.829741 32.9694 -49.245 6.26191 -0.977958 32.5036 -49.25 5.90564 -1.10249 32.0413 -49.255 5.5611 -1.20537 31.5837 -49.26 5.22875 -1.28863 31.1316 -49.265 4.90894 -1.35427 30.6857 -49.27 4.60192 -1.40429 30.2467 -49.275 4.30782 -1.44065 29.8147 -49.28 4.02666 -1.46532 29.39 -49.285 3.75835 -1.48023 28.9725 -49.29 3.50269 -1.48681 28.562 -49.295 3.25942 -1.48562 28.1589 -49.3 3.02823 -1.47776 27.7629 -49.305 2.8088 -1.46421 27.3739 -49.31 2.60082 -1.44593 26.9918 -49.315 2.40393 -1.42376 26.6164 -49.32 2.21777 -1.3985 26.2476 -49.325 2.04198 -1.37088 25.8852 -49.33 1.87617 -1.34153 25.529 -49.335 1.71994 -1.31103 25.1789 -49.34 1.57288 -1.27988 24.8348 -49.345 1.43456 -1.24852 24.4964 -49.35 1.30455 -1.2173 24.1636 -49.355 1.18238 -1.1865 23.8361 -49.36 1.06759 -1.15635 23.5139 -49.365 0.959729 -1.12709 23.1967 -49.37 0.858463 -1.09895 22.8844 -49.375 0.763458 -1.0721 22.5769 -49.38 0.674384 -1.0467 22.2741 -49.385 0.59091 -1.02287 21.9758 -49.39 0.512704 -1.00075 21.682 -49.395 0.439437 -0.980411 21.3925 -49.4 0.370778 -0.961929 21.1073 -49.405 0.306394 -0.945349 20.8261 -49.41 0.245956 -0.930696 20.5491 -49.415 0.189133 -0.91797 20.276 -49.42 0.135593 -0.907152 20.0067 -49.425 0.0850093 -0.898202 19.7412 -49.43 0.0371553 -0.891134 19.4795 -49.435 -0.00813245 -0.88599 19.2214 -49.44 -0.0510285 -0.882792 18.9669 -49.445 -0.0917086 -0.881559 18.716 -49.45 -0.130349 -0.882304 18.4686 -49.455 -0.167129 -0.885034 18.2247 -49.46 -0.202225 -0.88975 17.9841 -49.465 -0.235819 -0.896447 17.7469 -49.47 -0.268092 -0.905117 17.513 -49.475 -0.299224 -0.915744 17.2824 -49.48 -0.3294 -0.928305 17.055 -49.485 -0.358803 -0.942776 16.8307 -49.49 -0.387619 -0.959123 16.6096 -49.495 -0.415983 -0.977355 16.3915 -49.5 -0.443964 -0.997528 16.1765 -49.505 -0.47164 -1.01969 15.9645 -49.51 -0.499097 -1.04389 15.7556 -49.515 -0.526422 -1.07016 15.5496 -49.52 -0.553706 -1.09857 15.3465 -49.525 -0.581046 -1.12916 15.1464 -49.53 -0.608543 -1.16197 14.9492 -49.535 -0.6363 -1.19706 14.7548 -49.54 -0.664426 -1.23447 14.5633 -49.545 -0.693034 -1.27426 14.3747 -49.55 -0.72224 -1.31646 14.1889 -49.555 -0.752166 -1.36114 14.0059 -49.56 -0.782936 -1.40834 13.8257 -49.565 -0.81467 -1.45813 13.6482 -49.57 -0.84743 -1.51063 13.4736 -49.575 -0.88127 -1.56597 13.3017 -49.58 -0.916252 -1.62429 13.1327 -49.585 -0.952443 -1.68571 12.9664 -49.59 -0.989921 -1.75039 12.803 -49.595 -1.02877 -1.81846 12.6423 -49.6 -1.06908 -1.89008 12.4845 -49.605 -1.11095 -1.9654 12.3296 -49.61 -1.1545 -2.04459 12.1775 -49.615 -1.19982 -2.12781 12.0284 -49.62 -1.24706 -2.21523 11.8823 -49.625 -1.29633 -2.30704 11.7392 -49.63 -1.34778 -2.4034 11.5992 -49.635 -1.40154 -2.5045 11.4624 -49.64 -1.45778 -2.61055 11.3287 -49.645 -1.51666 -2.72172 11.1984 -49.65 -1.57834 -2.83822 11.0715 -49.655 -1.64295 -2.96031 10.9482 -49.66 -1.71059 -3.08831 10.8286 -49.665 -1.78137 -3.22257 10.7127 -49.67 -1.85543 -3.3634 10.6006 -49.675 -1.9329 -3.51115 10.4926 -49.68 -2.01393 -3.66617 10.3887 -49.685 -2.0987 -3.8288 10.2893 -49.69 -2.18739 -3.99939 10.1945 -49.695 -2.28018 -4.17831 10.1045 -49.7 -2.3773 -4.36592 10.0199 -49.705 -2.47895 -4.56257 9.94071 -49.71 -2.58536 -4.76864 9.86749 -49.715 -2.6968 -4.98451 9.80059 -49.72 -2.81352 -5.21056 9.74044 -49.725 -2.93579 -5.44716 9.6875 -49.73 -3.0639 -5.69471 9.64226 -49.735 -3.19815 -5.9536 9.60524 -49.74 -3.33885 -6.22423 9.57701 -49.745 -3.48634 -6.507 9.55814 -49.75 -3.64074 -6.80149 9.54948 -49.755 -3.80205 -7.10697 9.55212 -49.76 -3.97073 -7.4248 9.56676 -49.765 -4.1472 -7.75618 9.5942 -49.77 -4.33186 -8.10212 9.63533 -49.775 -4.5251 -8.46344 9.69116 -49.78 -4.72724 -8.84073 9.76281 -49.785 -4.9386 -9.23441 9.85151 -49.79 -5.15945 -9.64468 9.95857 -49.795 -5.39006 -10.0716 10.0854 -49.8 -5.63063 -10.5149 10.2337 -49.805 -5.88135 -10.9742 10.4049 -49.81 -6.14239 -11.4489 10.6009 -49.815 -6.41386 -11.9383 10.8235 -49.82 -6.69586 -12.4413 11.0747 -49.825 -6.98847 -12.9567 11.3566 -49.83 -7.29171 -13.4833 11.6714 -49.835 -7.6056 -14.0192 12.0214 -49.84 -7.93009 -14.5629 12.4089 -49.845 -8.26515 -15.1122 12.8365 -49.85 -8.61067 -15.665 13.3068 -49.855 -8.96655 -16.2189 13.8226 -49.86 -9.33263 -16.7713 14.3866 -49.865 -9.70863 -17.3194 15.0014 -49.87 -10.0929 -17.8607 15.666 -49.875 -10.4842 -18.3891 16.3822 -49.88 -10.8815 -18.8986 17.1521 -49.885 -11.2837 -19.3826 17.9771 -49.89 -11.6892 -19.8348 18.8574 -49.895 -12.0963 -20.2489 19.7922 -49.9 -12.5029 -20.6183 20.78 -49.905 -12.9069 -20.9368 21.8181 -49.91 -13.3057 -21.1979 22.9028 -49.915 -13.6966 -21.3951 24.0297 -49.92 -14.0766 -21.5221 25.1931 -49.925 -14.4424 -21.5722 26.3867 -49.93 -14.7907 -21.5392 27.6028 -49.935 -15.1177 -21.4163 28.8331 -49.94 -15.4207 -21.1968 30.0702 -49.945 -15.697 -20.8778 31.3034 -49.95 -15.9423 -20.4611 32.5179 -49.955 -16.1527 -19.9492 33.7 -49.96 -16.3249 -19.3456 34.8373 -49.965 -16.4562 -18.6546 35.9183 -49.97 -16.5444 -17.8813 36.9327 -49.975 -16.5877 -17.0318 37.8714 -49.98 -16.585 -16.113 38.7266 -49.985 -16.5356 -15.1326 39.4912 -49.99 -16.4396 -14.0995 40.1596 -49.995 -16.2973 -13.0231 40.7272 -50 -16.1097 -11.9137 41.1906 diff --git a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_1.txt b/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_1.txt deleted file mode 100644 index 2ccb668..0000000 --- a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_1.txt +++ /dev/null @@ -1,10005 +0,0 @@ -PARAMETRIC_CURVE_CARTESIAN_3D -t1: 0 -t2: 50 -NumPoints: 10001 -0 5 5 -5 -0.005 5.01961 5.79662 -4.7995 -0.01 5.07702 6.59033 -4.58068 -0.015 5.16986 7.38708 -4.34223 -0.02 5.29664 8.19187 -4.08225 -0.025 5.45677 9.00861 -3.7984 -0.03 5.64968 9.8409 -3.48786 -0.035 5.87482 10.6921 -3.14738 -0.04 6.13163 11.5651 -2.77324 -0.045 6.41958 12.4626 -2.36128 -0.05 6.73816 13.3871 -1.90689 -0.055 7.08686 14.3406 -1.405 -0.06 7.46519 15.3249 -0.850112 -0.065 7.87287 16.3394 -0.236338 -0.07 8.31049 17.3826 0.443736 -0.075 8.77849 18.4537 1.19823 -0.08 9.27698 19.5501 2.0352 -0.085 9.80561 20.6673 2.96266 -0.09 10.3637 21.7991 3.98857 -0.095 10.9501 22.9377 5.12082 -0.1 11.5633 24.0733 6.36727 -0.105 12.2015 25.1943 7.73569 -0.11 12.8623 26.2876 9.23384 -0.115 13.5431 27.3381 10.8693 -0.12 14.2404 28.3341 12.644 -0.125 14.9498 29.2511 14.5603 -0.13 15.6662 30.0597 16.6193 -0.135 16.3837 30.7321 18.8169 -0.14 17.0954 31.2425 21.144 -0.145 17.7935 31.5669 23.5862 -0.15 18.4694 31.6831 26.124 -0.155 19.1137 31.5705 28.7327 -0.16 19.7159 31.2105 31.3826 -0.165 20.2647 30.5863 34.0385 -0.17 20.7481 29.6824 36.6606 -0.175 21.1577 28.4659 39.2101 -0.18 21.4838 26.9564 41.6379 -0.185 21.7157 25.2011 43.8942 -0.19 21.8453 23.2435 45.9378 -0.195 21.8667 21.1234 47.7357 -0.2 21.777 18.877 49.2631 -0.205 21.5753 16.5366 50.5037 -0.21 21.2634 14.131 51.4491 -0.215 20.8458 11.6852 52.0996 -0.22 20.3291 9.22059 52.4635 -0.225 19.7227 6.75502 52.5574 -0.23 19.0303 4.3531 52.3959 -0.235 18.2576 2.0784 52.001 -0.24 17.4158 -0.0437217 51.4039 -0.245 16.5162 -1.99449 50.6364 -0.25 15.5698 -3.76171 49.7311 -0.255 14.5875 -5.33976 48.7214 -0.26 13.5803 -6.72963 47.6415 -0.265 12.5588 -7.93886 46.5263 -0.27 11.5328 -8.97893 45.4038 -0.275 10.5102 -9.86064 44.2871 -0.28 9.49795 -10.5973 43.1921 -0.285 8.50242 -11.2026 42.132 -0.29 7.52889 -11.6901 41.1173 -0.295 6.58175 -12.0739 40.1557 -0.3 5.6644 -12.3681 39.2523 -0.305 4.77934 -12.587 38.4091 -0.31 3.92874 -12.7421 37.6274 -0.315 3.11375 -12.8419 36.9068 -0.32 2.33469 -12.8946 36.245 -0.325 1.59171 -12.9079 35.6398 -0.33 0.884744 -12.8885 35.0887 -0.335 0.213576 -12.8424 34.5892 -0.34 -0.422215 -12.7748 34.1382 -0.345 -1.02323 -12.6899 33.7328 -0.35 -1.59026 -12.5913 33.3696 -0.355 -2.12427 -12.4817 33.0453 -0.36 -2.62641 -12.363 32.7562 -0.365 -3.09804 -12.2363 32.4983 -0.37 -3.5406 -12.1031 32.2687 -0.375 -3.95524 -11.9658 32.0654 -0.38 -4.34297 -11.8247 31.8858 -0.385 -4.70481 -11.6804 31.7276 -0.39 -5.04178 -11.5332 31.5883 -0.395 -5.35491 -11.3836 31.4659 -0.4 -5.6452 -11.2321 31.3581 -0.405 -5.91369 -11.079 31.263 -0.41 -6.16141 -10.9248 31.179 -0.415 -6.38938 -10.77 31.1042 -0.42 -6.59864 -10.615 31.0372 -0.425 -6.79021 -10.4602 30.9766 -0.43 -6.96514 -10.3062 30.9211 -0.435 -7.12445 -10.1531 30.8695 -0.44 -7.26894 -10.0007 30.8207 -0.445 -7.39917 -9.84901 30.7739 -0.45 -7.51573 -9.69801 30.7281 -0.455 -7.61919 -9.54782 30.6827 -0.46 -7.71015 -9.39856 30.6368 -0.465 -7.7892 -9.25041 30.5899 -0.47 -7.85695 -9.10354 30.5412 -0.475 -7.914 -8.95821 30.4905 -0.48 -7.96098 -8.81466 30.437 -0.485 -7.9985 -8.67321 30.3806 -0.49 -8.0272 -8.5342 30.3207 -0.495 -8.04772 -8.39799 30.2572 -0.5 -8.0607 -8.26501 30.1899 -0.505 -8.06679 -8.13569 30.1186 -0.51 -8.06665 -8.01052 30.0431 -0.515 -8.06091 -7.88985 29.9636 -0.52 -8.0499 -7.77322 29.8801 -0.525 -8.03398 -7.66068 29.7926 -0.53 -8.01354 -7.55243 29.7011 -0.535 -7.98894 -7.44862 29.6058 -0.54 -7.96057 -7.34941 29.5068 -0.545 -7.92879 -7.25492 29.4041 -0.55 -7.89397 -7.16527 29.2979 -0.555 -7.85647 -7.08056 29.1884 -0.56 -7.81665 -7.00088 29.0757 -0.565 -7.77487 -6.92628 28.9599 -0.57 -7.73146 -6.85682 28.8414 -0.575 -7.68679 -6.79254 28.7203 -0.58 -7.6412 -6.73345 28.5969 -0.585 -7.59501 -6.67956 28.4714 -0.59 -7.54858 -6.63086 28.3441 -0.595 -7.50224 -6.58731 28.2152 -0.6 -7.4563 -6.54887 28.0852 -0.605 -7.4111 -6.51548 27.9543 -0.61 -7.36684 -6.48693 27.8225 -0.615 -7.32364 -6.46313 27.6901 -0.62 -7.28161 -6.44411 27.5573 -0.625 -7.2409 -6.42987 27.4243 -0.63 -7.20163 -6.42038 27.2913 -0.635 -7.16391 -6.41562 27.1586 -0.64 -7.12787 -6.41557 27.0264 -0.645 -7.09363 -6.42017 26.8949 -0.65 -7.06129 -6.42937 26.7644 -0.655 -7.03096 -6.44309 26.635 -0.66 -7.00276 -6.46127 26.5071 -0.665 -6.97679 -6.48381 26.3806 -0.67 -6.95315 -6.5106 26.256 -0.675 -6.93194 -6.54153 26.1333 -0.68 -6.91325 -6.57649 26.0127 -0.685 -6.89718 -6.61533 25.8945 -0.69 -6.88382 -6.6579 25.7787 -0.695 -6.87325 -6.70405 25.6657 -0.7 -6.86556 -6.75361 25.5554 -0.705 -6.86082 -6.80639 25.4481 -0.71 -6.85912 -6.86221 25.344 -0.715 -6.86054 -6.92087 25.2431 -0.72 -6.86495 -6.98233 25.1456 -0.725 -6.87219 -7.04672 25.0517 -0.73 -6.88225 -7.11401 24.9614 -0.735 -6.89516 -7.18413 24.875 -0.74 -6.91093 -7.25702 24.7928 -0.745 -6.92955 -7.33261 24.7148 -0.75 -6.95103 -7.41081 24.6412 -0.755 -6.97536 -7.49154 24.5723 -0.76 -7.00252 -7.57469 24.5082 -0.765 -7.03249 -7.66016 24.449 -0.77 -7.06524 -7.74783 24.3949 -0.775 -7.10075 -7.83757 24.346 -0.78 -7.13897 -7.92925 24.3025 -0.785 -7.17986 -8.02272 24.2645 -0.79 -7.22338 -8.11783 24.2321 -0.795 -7.26945 -8.21442 24.2054 -0.8 -7.31804 -8.31232 24.1845 -0.805 -7.36906 -8.41136 24.1695 -0.81 -7.42245 -8.51133 24.1606 -0.815 -7.47812 -8.61205 24.1578 -0.82 -7.536 -8.71332 24.1611 -0.825 -7.59599 -8.8149 24.1707 -0.83 -7.65799 -8.91659 24.1867 -0.835 -7.72191 -9.01816 24.2089 -0.84 -7.78763 -9.11935 24.2377 -0.845 -7.85503 -9.22011 24.2727 -0.85 -7.92397 -9.32046 24.3141 -0.855 -7.99433 -9.42005 24.3618 -0.86 -8.06601 -9.51849 24.4159 -0.865 -8.13889 -9.61542 24.4766 -0.87 -8.21283 -9.71049 24.5437 -0.875 -8.28771 -9.80334 24.6175 -0.88 -8.36338 -9.89363 24.6977 -0.885 -8.43968 -9.98105 24.7844 -0.89 -8.51648 -10.0653 24.8774 -0.895 -8.59358 -10.1459 24.9766 -0.9 -8.67084 -10.2228 25.0819 -0.905 -8.74805 -10.2955 25.1932 -0.91 -8.82504 -10.3639 25.3101 -0.915 -8.90161 -10.4275 25.4325 -0.92 -8.97756 -10.4862 25.5601 -0.925 -9.05268 -10.5397 25.6925 -0.93 -9.12674 -10.5878 25.8295 -0.935 -9.19952 -10.6301 25.9708 -0.94 -9.27079 -10.6664 26.1159 -0.945 -9.3403 -10.6966 26.2643 -0.95 -9.40782 -10.7205 26.4158 -0.955 -9.47307 -10.7377 26.5697 -0.96 -9.53581 -10.7481 26.7257 -0.965 -9.59575 -10.7516 26.8831 -0.97 -9.65262 -10.7478 27.0414 -0.975 -9.70612 -10.7368 27.2 -0.98 -9.75605 -10.7181 27.3583 -0.985 -9.80258 -10.691 27.5164 -0.99 -9.84558 -10.6556 27.6735 -0.995 -9.88479 -10.6125 27.8289 -1 -9.91999 -10.5619 27.9819 -1.005 -9.951 -10.5044 28.132 -1.01 -9.97763 -10.4402 28.2784 -1.015 -9.99974 -10.3699 28.4206 -1.02 -10.0172 -10.2937 28.558 -1.025 -10.0299 -10.2121 28.6902 -1.03 -10.0378 -10.1254 28.8167 -1.035 -10.0408 -10.0339 28.937 -1.04 -10.0389 -9.93803 29.0507 -1.045 -10.0321 -9.83808 29.1576 -1.05 -10.0204 -9.7344 29.2572 -1.055 -10.0038 -9.62727 29.3493 -1.06 -9.98239 -9.51703 29.4337 -1.065 -9.95627 -9.40396 29.5102 -1.07 -9.92554 -9.28834 29.5785 -1.075 -9.89034 -9.17047 29.6385 -1.08 -9.85081 -9.0506 29.6902 -1.085 -9.80713 -8.92901 29.7335 -1.09 -9.75951 -8.80594 29.7683 -1.095 -9.70818 -8.68164 29.7947 -1.1 -9.65337 -8.55633 29.8128 -1.105 -9.59537 -8.43026 29.8225 -1.11 -9.53448 -8.30362 29.8241 -1.115 -9.47099 -8.17664 29.8177 -1.12 -9.40474 -8.05072 29.8036 -1.125 -9.3356 -7.92707 29.7819 -1.13 -9.26386 -7.80598 29.7526 -1.135 -9.18979 -7.68776 29.7157 -1.14 -9.11366 -7.57268 29.6712 -1.145 -9.03574 -7.46101 29.6193 -1.15 -8.95629 -7.35298 29.5601 -1.155 -8.87557 -7.24883 29.4937 -1.16 -8.79383 -7.14878 29.4204 -1.165 -8.71132 -7.05303 29.3402 -1.17 -8.62829 -6.96175 29.2536 -1.175 -8.54497 -6.87512 29.1606 -1.18 -8.46159 -6.7933 29.0618 -1.185 -8.3784 -6.71641 28.9572 -1.19 -8.29561 -6.64458 28.8474 -1.195 -8.21345 -6.57793 28.7328 -1.2 -8.13214 -6.51653 28.6136 -1.205 -8.05189 -6.46048 28.4905 -1.21 -7.9729 -6.40982 28.3638 -1.215 -7.89539 -6.3646 28.2341 -1.22 -7.81955 -6.32486 28.1019 -1.225 -7.74558 -6.2906 27.9679 -1.23 -7.67368 -6.26183 27.8325 -1.235 -7.60401 -6.23853 27.6964 -1.24 -7.53678 -6.22067 27.5604 -1.245 -7.47216 -6.2082 27.425 -1.25 -7.4103 -6.20098 27.2907 -1.255 -7.35125 -6.19839 27.1565 -1.26 -7.29507 -6.20033 27.0223 -1.265 -7.24184 -6.20676 26.8882 -1.27 -7.19164 -6.21765 26.7547 -1.275 -7.14453 -6.23297 26.6219 -1.28 -7.10057 -6.25266 26.49 -1.285 -7.05983 -6.27669 26.3594 -1.29 -7.02235 -6.30498 26.2301 -1.295 -6.98817 -6.33747 26.1025 -1.3 -6.95735 -6.37409 25.9768 -1.305 -6.9299 -6.41476 25.8531 -1.31 -6.90587 -6.45938 25.7318 -1.315 -6.88526 -6.50787 25.6129 -1.32 -6.86811 -6.56012 25.4967 -1.325 -6.85442 -6.61602 25.3834 -1.33 -6.8442 -6.67545 25.2733 -1.335 -6.83745 -6.73829 25.1663 -1.34 -6.83417 -6.80442 25.0629 -1.345 -6.83434 -6.87368 24.963 -1.35 -6.83795 -6.94594 24.867 -1.355 -6.84498 -7.02105 24.7749 -1.36 -6.8554 -7.09884 24.6869 -1.365 -6.86918 -7.17914 24.6033 -1.37 -6.88628 -7.2618 24.524 -1.375 -6.90666 -7.34661 24.4494 -1.38 -6.92995 -7.43366 24.3793 -1.385 -6.95597 -7.52301 24.3137 -1.39 -6.98479 -7.61457 24.253 -1.395 -7.01648 -7.70826 24.1974 -1.4 -7.05107 -7.80397 24.147 -1.405 -7.08859 -7.9016 24.1021 -1.41 -7.12905 -8.00101 24.0629 -1.415 -7.17247 -8.10207 24.0296 -1.42 -7.21882 -8.20465 24.0023 -1.425 -7.2681 -8.30857 23.9812 -1.43 -7.32025 -8.41369 23.9664 -1.435 -7.37523 -8.51982 23.9581 -1.44 -7.43297 -8.62677 23.9564 -1.445 -7.49341 -8.73435 23.9613 -1.45 -7.55644 -8.84235 23.9729 -1.455 -7.62197 -8.95055 23.9914 -1.46 -7.68989 -9.05873 24.0168 -1.465 -7.76005 -9.16664 24.0492 -1.47 -7.83232 -9.27404 24.0884 -1.475 -7.90654 -9.38066 24.1347 -1.48 -7.98254 -9.48624 24.1879 -1.485 -8.06015 -9.59049 24.2482 -1.49 -8.13916 -9.69312 24.3153 -1.495 -8.21936 -9.79383 24.3894 -1.5 -8.30054 -9.8923 24.4704 -1.505 -8.38246 -9.98822 24.5581 -1.51 -8.46487 -10.0812 24.6526 -1.515 -8.54751 -10.171 24.7537 -1.52 -8.6301 -10.2572 24.8614 -1.525 -8.71236 -10.3395 24.9754 -1.53 -8.79397 -10.4174 25.0958 -1.535 -8.87507 -10.4908 25.2222 -1.54 -8.95585 -10.5596 25.3545 -1.545 -9.036 -10.6232 25.4922 -1.55 -9.11524 -10.6813 25.635 -1.555 -9.19329 -10.7335 25.7824 -1.56 -9.26986 -10.7793 25.9339 -1.565 -9.3447 -10.8186 26.0893 -1.57 -9.41754 -10.8509 26.2479 -1.575 -9.48814 -10.876 26.4093 -1.58 -9.55625 -10.8938 26.5732 -1.585 -9.62163 -10.904 26.7389 -1.59 -9.68407 -10.9064 26.906 -1.595 -9.74333 -10.901 27.074 -1.6 -9.79922 -10.8876 27.2424 -1.605 -9.85152 -10.8663 27.4107 -1.61 -9.90004 -10.8369 27.5782 -1.615 -9.9446 -10.7996 27.7446 -1.62 -9.98501 -10.7543 27.9091 -1.625 -10.0211 -10.7011 28.0713 -1.63 -10.0527 -10.6402 28.2306 -1.635 -10.0797 -10.5717 28.3863 -1.64 -10.1019 -10.4958 28.5379 -1.645 -10.1192 -10.4128 28.6848 -1.65 -10.1314 -10.3228 28.8262 -1.655 -10.1384 -10.2261 28.9617 -1.66 -10.1402 -10.1231 29.0905 -1.665 -10.1366 -10.0138 29.2121 -1.67 -10.1277 -9.899 29.3261 -1.675 -10.1136 -9.7793 29.4321 -1.68 -10.0943 -9.65533 29.5299 -1.685 -10.0698 -9.5277 29.6192 -1.69 -10.0404 -9.397 29.6998 -1.695 -10.006 -9.2638 29.7715 -1.7 -9.96679 -9.12864 29.834 -1.705 -9.92293 -8.99207 29.8873 -1.71 -9.87454 -8.85459 29.9312 -1.715 -9.82179 -8.71669 29.9658 -1.72 -9.76486 -8.57884 29.9909 -1.725 -9.70393 -8.44149 30.0066 -1.73 -9.63921 -8.30509 30.0129 -1.735 -9.57092 -8.17003 30.0098 -1.74 -9.4993 -8.03671 29.9975 -1.745 -9.4246 -7.90551 29.9762 -1.75 -9.34707 -7.77678 29.9459 -1.755 -9.267 -7.65085 29.9069 -1.76 -9.18468 -7.52804 29.8593 -1.765 -9.10042 -7.40864 29.8036 -1.77 -9.01454 -7.29292 29.74 -1.775 -8.92738 -7.18115 29.6688 -1.78 -8.83928 -7.07355 29.5904 -1.785 -8.75058 -6.97038 29.5052 -1.79 -8.66134 -6.87202 29.414 -1.795 -8.57182 -6.77868 29.3171 -1.8 -8.48228 -6.69056 29.2147 -1.805 -8.39296 -6.60781 29.1071 -1.81 -8.30413 -6.53057 28.9947 -1.815 -8.21602 -6.45895 28.8778 -1.82 -8.12886 -6.39304 28.7566 -1.825 -8.04287 -6.3329 28.6315 -1.83 -7.95827 -6.27858 28.5029 -1.835 -7.87526 -6.23011 28.3709 -1.84 -7.79404 -6.18747 28.2361 -1.845 -7.7148 -6.15066 28.0987 -1.85 -7.63771 -6.11962 27.9591 -1.855 -7.56294 -6.09428 27.8177 -1.86 -7.49066 -6.07456 27.6748 -1.865 -7.42102 -6.06034 27.5308 -1.87 -7.35416 -6.05149 27.3861 -1.875 -7.29022 -6.04784 27.2411 -1.88 -7.22932 -6.04922 27.0962 -1.885 -7.17159 -6.05542 26.9517 -1.89 -7.11712 -6.06622 26.8082 -1.895 -7.06603 -6.08136 26.6659 -1.9 -7.0184 -6.10058 26.5254 -1.905 -6.97418 -6.12396 26.3865 -1.91 -6.93333 -6.15161 26.2489 -1.915 -6.89591 -6.18346 26.113 -1.92 -6.86195 -6.21944 25.9789 -1.925 -6.8315 -6.25947 25.8468 -1.93 -6.80458 -6.3035 25.7171 -1.935 -6.78122 -6.35143 25.5898 -1.94 -6.76144 -6.40319 25.4653 -1.945 -6.74525 -6.45869 25.3436 -1.95 -6.73266 -6.51784 25.225 -1.955 -6.72367 -6.58056 25.1097 -1.96 -6.7183 -6.64675 24.9979 -1.965 -6.71651 -6.71631 24.8897 -1.97 -6.71831 -6.78915 24.7854 -1.975 -6.72368 -6.86516 24.6851 -1.98 -6.73258 -6.94423 24.5889 -1.985 -6.745 -7.02626 24.4971 -1.99 -6.7609 -7.11113 24.4099 -1.995 -6.78024 -7.19874 24.3273 -2 -6.80296 -7.28895 24.2496 -2.005 -6.82903 -7.38165 24.1768 -2.01 -6.85839 -7.47671 24.1092 -2.015 -6.89096 -7.574 24.0468 -2.02 -6.92661 -7.67344 23.9898 -2.025 -6.96511 -7.77501 23.9382 -2.03 -7.00649 -7.87858 23.892 -2.035 -7.05076 -7.98403 23.8518 -2.04 -7.09794 -8.09123 23.8175 -2.045 -7.14803 -8.20002 23.7895 -2.05 -7.201 -8.31024 23.7679 -2.055 -7.25684 -8.42172 23.753 -2.06 -7.3155 -8.53428 23.7449 -2.065 -7.37693 -8.64771 23.7436 -2.07 -7.44106 -8.76182 23.7494 -2.075 -7.5078 -8.87639 23.7624 -2.08 -7.57708 -8.99119 23.7827 -2.085 -7.64877 -9.10597 23.8102 -2.09 -7.72277 -9.2205 23.8452 -2.095 -7.79895 -9.3345 23.8876 -2.1 -7.87715 -9.44771 23.9375 -2.105 -7.95722 -9.55984 23.9948 -2.11 -8.03899 -9.67059 24.0596 -2.115 -8.12229 -9.77967 24.1318 -2.12 -8.2069 -9.88675 24.2114 -2.125 -8.29263 -9.9915 24.2984 -2.13 -8.37925 -10.0936 24.3927 -2.135 -8.46653 -10.1927 24.4941 -2.14 -8.55423 -10.2884 24.6026 -2.145 -8.64207 -10.3803 24.718 -2.15 -8.72979 -10.4681 24.8403 -2.155 -8.81711 -10.5514 24.9692 -2.16 -8.90375 -10.6298 25.1045 -2.165 -8.98994 -10.7031 25.2463 -2.17 -9.07553 -10.7711 25.394 -2.175 -9.16019 -10.8331 25.5472 -2.18 -9.24361 -10.8889 25.7055 -2.185 -9.32547 -10.9378 25.8683 -2.19 -9.40549 -10.9797 26.0352 -2.195 -9.48338 -11.0142 26.2057 -2.2 -9.55886 -11.0409 26.3793 -2.205 -9.63165 -11.0596 26.5554 -2.21 -9.70151 -11.0701 26.7336 -2.215 -9.76818 -11.0722 26.9132 -2.22 -9.83143 -11.0659 27.0938 -2.225 -9.89101 -11.0509 27.2747 -2.23 -9.94672 -11.0272 27.4555 -2.235 -9.99834 -10.9949 27.6354 -2.24 -10.0457 -10.9538 27.8139 -2.245 -10.0885 -10.9042 27.9904 -2.25 -10.1267 -10.846 28.1643 -2.255 -10.16 -10.7794 28.335 -2.26 -10.1883 -10.7045 28.5017 -2.265 -10.2114 -10.6217 28.6639 -2.27 -10.2293 -10.531 28.8209 -2.275 -10.2416 -10.4328 28.972 -2.28 -10.2485 -10.3275 29.1165 -2.285 -10.2496 -10.2153 29.2537 -2.29 -10.2449 -10.0964 29.383 -2.295 -10.2345 -9.97162 29.504 -2.3 -10.2184 -9.84156 29.6162 -2.305 -10.1968 -9.70697 29.7194 -2.31 -10.1695 -9.56852 29.8133 -2.315 -10.1369 -9.42686 29.8977 -2.32 -10.099 -9.28262 29.9724 -2.325 -10.0559 -9.13642 30.0371 -2.33 -10.0078 -8.98883 30.0918 -2.335 -9.95486 -8.84042 30.1364 -2.34 -9.89725 -8.69173 30.1708 -2.345 -9.83516 -8.54328 30.1949 -2.35 -9.76882 -8.39556 30.2089 -2.355 -9.69845 -8.24904 30.2128 -2.36 -9.6243 -8.10417 30.2066 -2.365 -9.54663 -7.96138 30.1905 -2.37 -9.46571 -7.82106 30.1647 -2.375 -9.38183 -7.68361 30.1293 -2.38 -9.2953 -7.54938 30.0846 -2.385 -9.20645 -7.4187 30.0309 -2.39 -9.11561 -7.29189 29.9684 -2.395 -9.02314 -7.16924 29.8976 -2.4 -8.92941 -7.05101 29.8189 -2.405 -8.8348 -6.93744 29.7325 -2.41 -8.73958 -6.82886 29.6392 -2.415 -8.64387 -6.7256 29.5396 -2.42 -8.54796 -6.62789 29.4341 -2.425 -8.45213 -6.53588 29.3228 -2.43 -8.35667 -6.44974 29.2062 -2.435 -8.26183 -6.36958 29.0846 -2.44 -8.16787 -6.2955 28.9583 -2.445 -8.07503 -6.22759 28.8277 -2.45 -7.98355 -6.1659 28.6931 -2.455 -7.89365 -6.11044 28.5549 -2.46 -7.80555 -6.06123 28.4134 -2.465 -7.71946 -6.01824 28.269 -2.47 -7.63557 -5.98143 28.1222 -2.475 -7.55406 -5.95071 27.9732 -2.48 -7.47511 -5.92601 27.8224 -2.485 -7.39889 -5.90719 27.6704 -2.49 -7.32556 -5.89411 27.5174 -2.495 -7.25525 -5.8866 27.3638 -2.5 -7.18812 -5.88446 27.2102 -2.505 -7.12428 -5.88748 27.0569 -2.51 -7.06385 -5.89542 26.9043 -2.515 -7.00694 -5.908 26.7529 -2.52 -6.95365 -5.92493 26.6032 -2.525 -6.90397 -5.94616 26.4551 -2.53 -6.85785 -5.97191 26.3083 -2.535 -6.81532 -6.0021 26.163 -2.54 -6.77644 -6.03665 26.0196 -2.545 -6.74123 -6.07549 25.8782 -2.55 -6.70974 -6.11852 25.739 -2.555 -6.68197 -6.16568 25.6022 -2.56 -6.65797 -6.21686 25.4681 -2.565 -6.63773 -6.27199 25.3369 -2.57 -6.62128 -6.33097 25.2087 -2.575 -6.60861 -6.39371 25.0838 -2.58 -6.59973 -6.46011 24.9623 -2.585 -6.59462 -6.53009 24.8445 -2.59 -6.59329 -6.60353 24.7305 -2.595 -6.5957 -6.68034 24.6206 -2.6 -6.60184 -6.76042 24.5148 -2.605 -6.61169 -6.84366 24.4134 -2.61 -6.6252 -6.92996 24.3165 -2.615 -6.64234 -7.0192 24.2244 -2.62 -6.66306 -7.11127 24.1371 -2.625 -6.68732 -7.20606 24.0549 -2.63 -6.71507 -7.30345 23.9778 -2.635 -6.74624 -7.40333 23.9061 -2.64 -6.78062 -7.50563 23.8397 -2.645 -6.81806 -7.61029 23.7787 -2.65 -6.8586 -7.71723 23.7235 -2.655 -6.90228 -7.82634 23.6743 -2.66 -6.94909 -7.93749 23.6312 -2.665 -6.99905 -8.05054 23.5945 -2.67 -7.05214 -8.16535 23.5644 -2.675 -7.10834 -8.28176 23.5411 -2.68 -7.16761 -8.3996 23.5248 -2.685 -7.22989 -8.51867 23.5156 -2.69 -7.29513 -8.63878 23.5137 -2.695 -7.36325 -8.75972 23.5192 -2.7 -7.43415 -8.88126 23.5322 -2.705 -7.50774 -9.00316 23.5528 -2.71 -7.58389 -9.12519 23.5811 -2.715 -7.66248 -9.24707 23.6171 -2.72 -7.74336 -9.36853 23.661 -2.725 -7.82639 -9.48928 23.7128 -2.73 -7.91138 -9.60902 23.7724 -2.735 -7.99815 -9.72744 23.84 -2.74 -8.08652 -9.84422 23.9154 -2.745 -8.17627 -9.95901 23.9988 -2.75 -8.26719 -10.0715 24.09 -2.755 -8.35903 -10.1812 24.189 -2.76 -8.45155 -10.2879 24.2958 -2.765 -8.54449 -10.3911 24.4103 -2.77 -8.63758 -10.4905 24.5323 -2.775 -8.73053 -10.5855 24.6619 -2.78 -8.82334 -10.6761 24.7988 -2.785 -8.91607 -10.762 24.9428 -2.79 -9.00841 -10.8425 25.0934 -2.795 -9.10003 -10.9172 25.2504 -2.8 -9.19064 -10.9855 25.4134 -2.805 -9.27992 -11.0469 25.5818 -2.81 -9.36757 -11.101 25.7552 -2.815 -9.4533 -11.1473 25.9332 -2.82 -9.53682 -11.1857 26.1153 -2.825 -9.61785 -11.2157 26.301 -2.83 -9.69612 -11.237 26.4896 -2.835 -9.77134 -11.2494 26.6808 -2.84 -9.84326 -11.2528 26.8738 -2.845 -9.91161 -11.247 27.0682 -2.85 -9.97615 -11.2318 27.2632 -2.855 -10.0366 -11.2073 27.4582 -2.86 -10.0928 -11.1733 27.6527 -2.865 -10.1444 -11.1298 27.8458 -2.87 -10.1912 -11.077 28.0369 -2.875 -10.233 -11.0149 28.2253 -2.88 -10.2696 -10.9437 28.4102 -2.885 -10.3007 -10.8634 28.5908 -2.89 -10.3262 -10.7743 28.7664 -2.895 -10.3458 -10.6768 28.9361 -2.9 -10.3594 -10.5708 29.0992 -2.905 -10.3669 -10.4564 29.2548 -2.91 -10.3683 -10.3343 29.4024 -2.915 -10.3635 -10.2052 29.5414 -2.92 -10.3527 -10.0701 29.6715 -2.925 -10.3357 -9.92955 29.7923 -2.93 -10.3127 -9.78445 29.9033 -2.935 -10.2838 -9.63549 30.0043 -2.94 -10.249 -9.48334 30.095 -2.945 -10.2084 -9.32868 30.1752 -2.95 -10.1622 -9.17213 30.2446 -2.955 -10.1105 -9.01431 30.3032 -2.96 -10.0536 -8.85579 30.3508 -2.965 -9.99162 -8.69713 30.3874 -2.97 -9.92476 -8.53884 30.4129 -2.975 -9.8533 -8.38142 30.4274 -2.98 -9.77749 -8.22534 30.431 -2.985 -9.69761 -8.07103 30.4236 -2.99 -9.61399 -7.91891 30.4056 -2.995 -9.52694 -7.76937 30.3771 -3 -9.43682 -7.62274 30.3383 -3.005 -9.34399 -7.47937 30.2894 -3.01 -9.24886 -7.33955 30.2309 -3.015 -9.15183 -7.20356 30.1631 -3.02 -9.05333 -7.07162 30.0864 -3.025 -8.95353 -6.94445 30.0015 -3.03 -8.85254 -6.82274 29.9091 -3.035 -8.7507 -6.70673 29.8094 -3.04 -8.64834 -6.59666 29.703 -3.045 -8.54579 -6.49272 29.5899 -3.05 -8.44334 -6.39507 29.4707 -3.055 -8.34131 -6.30387 29.3457 -3.06 -8.23997 -6.21922 29.2152 -3.065 -8.13961 -6.1412 29.0797 -3.07 -8.04049 -6.06986 28.9395 -3.075 -7.94286 -6.00524 28.7951 -3.08 -7.84696 -5.94731 28.6468 -3.085 -7.75304 -5.89606 28.4951 -3.09 -7.6613 -5.85142 28.3405 -3.095 -7.57196 -5.81329 28.1834 -3.1 -7.48523 -5.78156 28.0242 -3.105 -7.40127 -5.75608 27.8634 -3.11 -7.32028 -5.73666 27.7016 -3.115 -7.24242 -5.72312 27.5392 -3.12 -7.16784 -5.7152 27.3767 -3.125 -7.09669 -5.71264 27.2147 -3.13 -7.0291 -5.71516 27.0537 -3.135 -6.96517 -5.72251 26.8939 -3.14 -6.90486 -5.73485 26.735 -3.145 -6.84822 -5.75215 26.577 -3.15 -6.7953 -5.77431 26.4202 -3.155 -6.74616 -5.80124 26.2648 -3.16 -6.70084 -5.83285 26.1111 -3.165 -6.65938 -5.86905 25.9593 -3.17 -6.6218 -5.90975 25.8096 -3.175 -6.58815 -5.95483 25.6622 -3.18 -6.55843 -6.00421 25.5175 -3.185 -6.53267 -6.05778 25.3755 -3.19 -6.51088 -6.11545 25.2365 -3.195 -6.49307 -6.17711 25.1006 -3.2 -6.47923 -6.24266 24.9682 -3.205 -6.46936 -6.31199 24.8394 -3.21 -6.46345 -6.38499 24.7144 -3.215 -6.46149 -6.46155 24.5933 -3.22 -6.46345 -6.54157 24.4763 -3.225 -6.4693 -6.62493 24.3637 -3.23 -6.47903 -6.71151 24.2555 -3.235 -6.49258 -6.80122 24.152 -3.24 -6.50991 -6.89391 24.0533 -3.245 -6.53099 -6.98949 23.9596 -3.25 -6.55554 -7.08791 23.8708 -3.255 -6.58347 -7.18916 23.7873 -3.26 -6.61482 -7.29318 23.7092 -3.265 -6.64962 -7.39989 23.6367 -3.27 -6.68791 -7.50921 23.5701 -3.275 -6.72969 -7.62103 23.5097 -3.28 -6.77497 -7.73524 23.4555 -3.285 -6.82373 -7.85172 23.4079 -3.29 -6.87596 -7.97032 23.3669 -3.295 -6.93162 -8.09091 23.3328 -3.3 -6.99065 -8.21331 23.3058 -3.305 -7.053 -8.33735 23.286 -3.31 -7.11859 -8.46283 23.2735 -3.315 -7.18734 -8.58957 23.2685 -3.32 -7.25914 -8.71734 23.2712 -3.325 -7.3339 -8.84592 23.2817 -3.33 -7.41148 -8.97507 23.3 -3.335 -7.49175 -9.10453 23.3263 -3.34 -7.57457 -9.23405 23.3607 -3.345 -7.65976 -9.36335 23.4033 -3.35 -7.74717 -9.49213 23.4541 -3.355 -7.8366 -9.62009 23.5133 -3.36 -7.92786 -9.74692 23.5808 -3.365 -8.02074 -9.8723 23.6569 -3.37 -8.11501 -9.99588 23.7414 -3.375 -8.21045 -10.1173 23.8344 -3.38 -8.30679 -10.2362 23.936 -3.385 -8.40384 -10.3523 24.0462 -3.39 -8.50173 -10.4654 24.1646 -3.395 -8.6003 -10.5752 24.2912 -3.4 -8.6993 -10.6808 24.4257 -3.405 -8.79844 -10.7816 24.5681 -3.41 -8.89747 -10.8772 24.718 -3.415 -8.99611 -10.9669 24.8752 -3.42 -9.09407 -11.0501 25.0394 -3.425 -9.19109 -11.1265 25.2103 -3.43 -9.28689 -11.1956 25.3875 -3.435 -9.38116 -11.2568 25.5705 -3.44 -9.47364 -11.31 25.7591 -3.445 -9.56402 -11.3546 25.9525 -3.45 -9.65201 -11.3903 26.1505 -3.455 -9.73732 -11.417 26.3522 -3.46 -9.81965 -11.4343 26.5573 -3.465 -9.89869 -11.4419 26.765 -3.47 -9.97414 -11.4398 26.9746 -3.475 -10.0457 -11.4278 27.1855 -3.48 -10.113 -11.4057 27.3969 -3.485 -10.1758 -11.3734 27.6079 -3.49 -10.2338 -11.331 27.8179 -3.495 -10.2866 -11.2783 28.0259 -3.5 -10.3339 -11.2154 28.231 -3.505 -10.3754 -11.1424 28.4323 -3.51 -10.4108 -11.059 28.6288 -3.515 -10.4403 -10.9644 28.8198 -3.52 -10.4635 -10.8597 29.0045 -3.525 -10.4805 -10.7455 29.1822 -3.53 -10.491 -10.623 29.3522 -3.535 -10.495 -10.4929 29.5139 -3.54 -10.4924 -10.356 29.6665 -3.545 -10.4833 -10.2132 29.8097 -3.55 -10.4675 -10.0651 29.9429 -3.555 -10.4451 -9.91263 30.0658 -3.56 -10.4162 -9.75632 30.1778 -3.565 -10.3809 -9.59687 30.2787 -3.57 -10.3393 -9.43488 30.3683 -3.575 -10.2915 -9.27094 30.4462 -3.58 -10.2378 -9.1056 30.5124 -3.585 -10.1783 -8.93935 30.5666 -3.59 -10.1132 -8.77269 30.6089 -3.595 -10.0429 -8.60604 30.6392 -3.6 -9.96757 -8.43981 30.6576 -3.605 -9.88764 -8.27437 30.6641 -3.61 -9.80343 -8.11005 30.6589 -3.615 -9.71532 -7.94716 30.6422 -3.62 -9.62374 -7.78595 30.6142 -3.625 -9.52914 -7.62666 30.5753 -3.63 -9.43198 -7.46948 30.5257 -3.635 -9.33243 -7.3154 30.4661 -3.64 -9.23032 -7.16623 30.397 -3.645 -9.12604 -7.02238 30.3189 -3.65 -9.01999 -6.88418 30.232 -3.655 -8.91254 -6.75194 30.1366 -3.66 -8.80407 -6.62592 30.033 -3.665 -8.69494 -6.50636 29.9216 -3.67 -8.58549 -6.39347 29.8028 -3.675 -8.47606 -6.28741 29.6769 -3.68 -8.36697 -6.18832 29.5444 -3.685 -8.25853 -6.0963 29.4058 -3.69 -8.15106 -6.01143 29.2615 -3.695 -8.04483 -5.93374 29.112 -3.7 -7.94014 -5.86324 28.9579 -3.705 -7.83723 -5.79988 28.7996 -3.71 -7.73638 -5.74361 28.6377 -3.715 -7.63782 -5.69433 28.4728 -3.72 -7.54178 -5.65192 28.3055 -3.725 -7.4485 -5.61619 28.1365 -3.73 -7.35817 -5.58697 27.9663 -3.735 -7.27101 -5.56401 27.7957 -3.74 -7.18718 -5.54706 27.6253 -3.745 -7.10687 -5.53582 27.4558 -3.75 -7.03014 -5.53024 27.2864 -3.755 -6.95705 -5.53025 27.117 -3.76 -6.88768 -5.53576 26.9481 -3.765 -6.8221 -5.54666 26.7797 -3.77 -6.76037 -5.56284 26.6123 -3.775 -6.70256 -5.58421 26.446 -3.78 -6.64872 -5.61066 26.2812 -3.785 -6.59889 -5.64208 26.1181 -3.79 -6.55312 -5.67835 25.9569 -3.795 -6.51144 -5.71936 25.7979 -3.8 -6.47388 -5.765 25.6412 -3.805 -6.44046 -5.81515 25.4872 -3.81 -6.41121 -5.86968 25.3361 -3.815 -6.38613 -5.92847 25.1879 -3.82 -6.36524 -5.99141 25.0431 -3.825 -6.34852 -6.05835 24.9017 -3.83 -6.33598 -6.12917 24.7639 -3.835 -6.32761 -6.20374 24.6299 -3.84 -6.32338 -6.28193 24.4999 -3.845 -6.32328 -6.36359 24.3741 -3.85 -6.32727 -6.4486 24.2526 -3.855 -6.33532 -6.5368 24.1356 -3.86 -6.34712 -6.62816 24.0231 -3.865 -6.36236 -6.72275 23.9154 -3.87 -6.38114 -6.82054 23.8126 -3.875 -6.40355 -6.9215 23.7151 -3.88 -6.42966 -7.02555 23.6229 -3.885 -6.45954 -7.13265 23.5363 -3.89 -6.49322 -7.2427 23.4556 -3.895 -6.53073 -7.35563 23.3809 -3.9 -6.57211 -7.47132 23.3125 -3.905 -6.61734 -7.58968 23.2505 -3.91 -6.66642 -7.71056 23.1952 -3.915 -6.71933 -7.83384 23.1466 -3.92 -6.77601 -7.95936 23.1051 -3.925 -6.83643 -8.08697 23.0707 -3.93 -6.90051 -8.21649 23.0437 -3.935 -6.96816 -8.34774 23.0242 -3.94 -7.0393 -8.48053 23.0124 -3.945 -7.11381 -8.61464 23.0084 -3.95 -7.19157 -8.74986 23.0124 -3.955 -7.27244 -8.88596 23.0245 -3.96 -7.35626 -9.02269 23.0449 -3.965 -7.44288 -9.1598 23.0737 -3.97 -7.5321 -9.29703 23.1111 -3.975 -7.62374 -9.43409 23.1571 -3.98 -7.71758 -9.57069 23.2119 -3.985 -7.8134 -9.70654 23.2756 -3.99 -7.91097 -9.84132 23.3483 -3.995 -8.01002 -9.97471 23.4302 -4 -8.1103 -10.1064 23.5213 -4.005 -8.21152 -10.2359 23.6217 -4.01 -8.31349 -10.3631 23.7315 -4.015 -8.41656 -10.4878 23.8501 -4.02 -8.52059 -10.6092 23.9776 -4.025 -8.62532 -10.7267 24.1138 -4.03 -8.7305 -10.8397 24.2585 -4.035 -8.83584 -10.9474 24.4117 -4.04 -8.94108 -11.0493 24.573 -4.045 -9.04593 -11.1448 24.7423 -4.05 -9.15011 -11.2334 24.9192 -4.055 -9.25332 -11.3145 25.1034 -4.06 -9.35526 -11.3876 25.2944 -4.065 -9.45564 -11.4524 25.4918 -4.07 -9.55412 -11.5084 25.6952 -4.075 -9.65041 -11.5552 25.904 -4.08 -9.74416 -11.5924 26.1176 -4.085 -9.83506 -11.6199 26.3354 -4.09 -9.92276 -11.6372 26.5567 -4.095 -10.0069 -11.6441 26.7809 -4.1 -10.0872 -11.6404 27.0071 -4.105 -10.1632 -11.6259 27.2345 -4.11 -10.2347 -11.6005 27.4623 -4.115 -10.3011 -11.5641 27.6896 -4.12 -10.3623 -11.5164 27.9155 -4.125 -10.4177 -11.4576 28.1389 -4.13 -10.4669 -11.3875 28.3589 -4.135 -10.5099 -11.3055 28.5745 -4.14 -10.5466 -11.211 28.7849 -4.145 -10.5769 -11.1051 28.9891 -4.15 -10.6004 -10.9886 29.1863 -4.155 -10.6171 -10.8627 29.3757 -4.16 -10.6268 -10.7283 29.5565 -4.165 -10.6294 -10.5862 29.728 -4.17 -10.6249 -10.4374 29.8896 -4.175 -10.6132 -10.2827 30.0406 -4.18 -10.5944 -10.1228 30.1806 -4.185 -10.5684 -9.95842 30.3092 -4.19 -10.5354 -9.79035 30.4258 -4.195 -10.4955 -9.6192 30.5303 -4.2 -10.4488 -9.44558 30.6222 -4.205 -10.3955 -9.27006 30.7015 -4.21 -10.3358 -9.09316 30.7679 -4.215 -10.27 -8.91538 30.8213 -4.22 -10.1984 -8.73715 30.8618 -4.225 -10.1212 -8.55888 30.8894 -4.23 -10.0389 -8.38092 30.9041 -4.235 -9.95181 -8.2036 30.9061 -4.24 -9.86039 -8.02719 30.8957 -4.245 -9.76509 -7.85192 30.873 -4.25 -9.66642 -7.678 30.8385 -4.255 -9.56488 -7.50561 30.7926 -4.26 -9.46023 -7.33698 30.7358 -4.265 -9.35255 -7.17353 30.6687 -4.27 -9.24228 -7.0157 30.5914 -4.275 -9.12985 -6.86385 30.5044 -4.28 -9.01569 -6.71833 30.4078 -4.285 -8.90021 -6.57944 30.3023 -4.29 -8.78379 -6.44745 30.188 -4.295 -8.66682 -6.32259 30.0654 -4.3 -8.54967 -6.20506 29.935 -4.305 -8.4327 -6.09499 29.7972 -4.31 -8.31625 -5.99251 29.6526 -4.315 -8.20066 -5.89771 29.5017 -4.32 -8.08624 -5.81061 29.3449 -4.325 -7.97331 -5.73122 29.1831 -4.33 -7.86216 -5.65952 29.0166 -4.335 -7.75306 -5.59542 28.8462 -4.34 -7.64629 -5.53881 28.6726 -4.345 -7.54212 -5.48956 28.4964 -4.35 -7.44077 -5.44748 28.3183 -4.355 -7.34248 -5.41234 28.1392 -4.36 -7.24748 -5.38388 27.9597 -4.365 -7.15597 -5.36181 27.7807 -4.37 -7.0681 -5.34592 27.6019 -4.375 -6.98395 -5.33611 27.4227 -4.38 -6.9036 -5.33227 27.2434 -4.385 -6.82715 -5.33429 27.0643 -4.39 -6.75467 -5.34205 26.8858 -4.395 -6.68622 -5.35542 26.7082 -4.4 -6.62188 -5.37429 26.5316 -4.405 -6.56169 -5.39852 26.3564 -4.41 -6.50571 -5.428 26.1828 -4.415 -6.45399 -5.4626 26.0111 -4.42 -6.40656 -5.50217 25.8416 -4.425 -6.36346 -5.5466 25.6744 -4.43 -6.32471 -5.59575 25.5098 -4.435 -6.29033 -5.64947 25.348 -4.44 -6.26033 -5.70764 25.1893 -4.445 -6.23473 -5.7701 25.0337 -4.45 -6.21352 -5.83672 24.8816 -4.455 -6.1967 -5.90736 24.7331 -4.46 -6.18425 -5.98185 24.5884 -4.465 -6.17617 -6.06006 24.4477 -4.47 -6.17242 -6.14183 24.311 -4.475 -6.17298 -6.22702 24.1787 -4.48 -6.17756 -6.31561 24.0507 -4.485 -6.1859 -6.40772 23.9274 -4.49 -6.19807 -6.50332 23.8089 -4.495 -6.21416 -6.60238 23.6954 -4.5 -6.23422 -6.70484 23.5871 -4.505 -6.2583 -6.81064 23.4843 -4.51 -6.28644 -6.91971 23.3871 -4.515 -6.31866 -7.03197 23.2957 -4.52 -6.35497 -7.14733 23.2104 -4.525 -6.39537 -7.2657 23.1313 -4.53 -6.43984 -7.38697 23.0587 -4.535 -6.48836 -7.51102 22.9926 -4.54 -6.54089 -7.63773 22.9334 -4.545 -6.59739 -7.76696 22.8812 -4.55 -6.65777 -7.89856 22.8363 -4.555 -6.72198 -8.03239 22.7987 -4.56 -6.78991 -8.16828 22.7687 -4.565 -6.86148 -8.30605 22.7465 -4.57 -6.93656 -8.44553 22.7323 -4.575 -7.01503 -8.58652 22.7262 -4.58 -7.09675 -8.72882 22.7284 -4.585 -7.18158 -8.87223 22.7392 -4.59 -7.26934 -9.01653 22.7586 -4.595 -7.35987 -9.16147 22.787 -4.6 -7.45296 -9.30684 22.8244 -4.605 -7.54844 -9.45237 22.871 -4.61 -7.64607 -9.59782 22.9271 -4.615 -7.74564 -9.74291 22.9927 -4.62 -7.8469 -9.88738 23.0681 -4.625 -7.94988 -10.0312 23.153 -4.63 -8.05465 -10.1741 23.247 -4.635 -8.16105 -10.3153 23.3505 -4.64 -8.26892 -10.454 23.4634 -4.645 -8.37805 -10.5896 23.586 -4.65 -8.48826 -10.7215 23.7182 -4.655 -8.59931 -10.8489 23.8599 -4.66 -8.71098 -10.9712 24.0112 -4.665 -8.82303 -11.0879 24.1718 -4.67 -8.93518 -11.1983 24.3416 -4.675 -9.04718 -11.3019 24.5203 -4.68 -9.15872 -11.3981 24.7076 -4.685 -9.26951 -11.4866 24.9031 -4.69 -9.37924 -11.5667 25.1065 -4.695 -9.48756 -11.638 25.3172 -4.7 -9.59414 -11.7002 25.5347 -4.705 -9.69862 -11.7527 25.7584 -4.71 -9.80062 -11.7952 25.9878 -4.715 -9.89976 -11.8273 26.222 -4.72 -9.99563 -11.8487 26.4603 -4.725 -10.0878 -11.8591 26.702 -4.73 -10.1759 -11.8582 26.9462 -4.735 -10.2595 -11.8458 27.1919 -4.74 -10.338 -11.8215 27.4382 -4.745 -10.411 -11.7851 27.684 -4.75 -10.4781 -11.7366 27.9283 -4.755 -10.5387 -11.6756 28.1698 -4.76 -10.5925 -11.6016 28.4077 -4.765 -10.6397 -11.5128 28.6411 -4.77 -10.6802 -11.4101 28.869 -4.775 -10.7136 -11.2951 29.0904 -4.78 -10.7399 -11.1688 29.3041 -4.785 -10.7587 -11.0326 29.5094 -4.79 -10.7701 -10.8876 29.7054 -4.795 -10.7737 -10.7348 29.8912 -4.8 -10.7697 -10.5753 30.0661 -4.805 -10.758 -10.4101 30.2296 -4.81 -10.7386 -10.2399 30.381 -4.815 -10.7115 -10.0656 30.5199 -4.82 -10.6769 -9.88793 30.6458 -4.825 -10.6348 -9.70758 30.7584 -4.83 -10.5855 -9.52513 30.8575 -4.835 -10.5292 -9.34113 30.9428 -4.84 -10.466 -9.15604 31.0142 -4.845 -10.3963 -8.97027 31.0717 -4.85 -10.3205 -8.78416 31.1153 -4.855 -10.2388 -8.59796 31.145 -4.86 -10.1516 -8.41189 31.1611 -4.865 -10.0595 -8.22607 31.1638 -4.87 -9.96288 -8.04057 31.1534 -4.875 -9.86224 -7.85538 31.1304 -4.88 -9.75814 -7.67045 31.095 -4.885 -9.65118 -7.48563 31.048 -4.89 -9.54102 -7.30375 30.9896 -4.895 -9.42746 -7.12748 30.92 -4.9 -9.31097 -6.95726 30.8395 -4.905 -9.19204 -6.7935 30.7485 -4.91 -9.07112 -6.63659 30.6473 -4.915 -8.94866 -6.48685 30.5364 -4.92 -8.8251 -6.34456 30.4161 -4.925 -8.70086 -6.20998 30.287 -4.93 -8.57633 -6.0833 30.1495 -4.935 -8.45191 -5.96467 30.0041 -4.94 -8.32798 -5.85423 29.8515 -4.945 -8.20489 -5.75204 29.6922 -4.95 -8.083 -5.65813 29.5267 -4.955 -7.96263 -5.5725 29.3558 -4.96 -7.84411 -5.49509 29.1801 -4.965 -7.72775 -5.42581 29.0002 -4.97 -7.61382 -5.36451 28.817 -4.975 -7.50262 -5.31103 28.6312 -4.98 -7.3944 -5.26512 28.4436 -4.985 -7.28941 -5.22654 28.255 -4.99 -7.18789 -5.19498 28.0662 -4.995 -7.09004 -5.17009 27.8779 -5 -6.99601 -5.15176 27.6891 -5.005 -6.90589 -5.13985 27.5 -5.01 -6.81978 -5.13423 27.3109 -5.015 -6.73775 -5.13476 27.1219 -5.02 -6.65989 -5.14131 26.9336 -5.025 -6.58626 -5.15373 26.746 -5.03 -6.51694 -5.17188 26.5596 -5.035 -6.45198 -5.19561 26.3747 -5.04 -6.39143 -5.22479 26.1914 -5.045 -6.33534 -5.25926 26.01 -5.05 -6.28375 -5.29888 25.8308 -5.055 -6.23669 -5.3435 25.654 -5.06 -6.19418 -5.39297 25.4799 -5.065 -6.15624 -5.44715 25.3086 -5.07 -6.1229 -5.50587 25.1404 -5.075 -6.09414 -5.56899 24.9755 -5.08 -6.06997 -5.63635 24.814 -5.085 -6.05038 -5.7078 24.6562 -5.09 -6.03537 -5.78318 24.5022 -5.095 -6.02489 -5.86233 24.3521 -5.1 -6.01894 -5.9451 24.2062 -5.105 -6.01729 -6.03145 24.0646 -5.11 -6.01965 -6.12154 23.9275 -5.115 -6.02606 -6.21535 23.795 -5.12 -6.03661 -6.31283 23.6675 -5.125 -6.05134 -6.41394 23.545 -5.13 -6.0703 -6.51862 23.4279 -5.135 -6.09352 -6.6268 23.3162 -5.14 -6.12102 -6.73842 23.2102 -5.145 -6.15281 -6.8534 23.11 -5.15 -6.18889 -6.97166 23.0159 -5.155 -6.22924 -7.0931 22.9281 -5.16 -6.27384 -7.21763 22.8467 -5.165 -6.32265 -7.34513 22.7721 -5.17 -6.37563 -7.47551 22.7043 -5.175 -6.43272 -7.60864 22.6436 -5.18 -6.49385 -7.74439 22.5902 -5.185 -6.55893 -7.88263 22.5443 -5.19 -6.62788 -8.02321 22.5061 -5.195 -6.70059 -8.166 22.4758 -5.2 -6.77695 -8.31084 22.4537 -5.205 -6.85683 -8.45756 22.4399 -5.21 -6.94009 -8.606 22.4347 -5.215 -7.02659 -8.75599 22.4383 -5.22 -7.11616 -8.90733 22.4509 -5.225 -7.20863 -9.05983 22.4727 -5.23 -7.30383 -9.21332 22.504 -5.235 -7.40155 -9.36757 22.5449 -5.24 -7.50159 -9.52237 22.5957 -5.245 -7.60387 -9.67762 22.6563 -5.25 -7.70846 -9.83302 22.7262 -5.255 -7.81527 -9.98794 22.8058 -5.26 -7.92421 -10.1418 22.8953 -5.265 -8.03513 -10.2938 22.9952 -5.27 -8.14789 -10.4436 23.1054 -5.275 -8.26232 -10.5904 23.2262 -5.28 -8.37824 -10.7336 23.3576 -5.285 -8.49542 -10.8727 23.4996 -5.29 -8.61365 -11.0071 23.6521 -5.295 -8.73268 -11.1362 23.8151 -5.3 -8.85224 -11.2594 23.9883 -5.305 -8.97205 -11.3762 24.1715 -5.31 -9.09179 -11.486 24.3645 -5.315 -9.21114 -11.5883 24.5667 -5.32 -9.32975 -11.6825 24.7779 -5.325 -9.44727 -11.7682 24.9975 -5.33 -9.56329 -11.8447 25.225 -5.335 -9.67743 -11.9117 25.4598 -5.34 -9.78925 -11.9685 25.7011 -5.345 -9.89831 -12.0147 25.9484 -5.35 -10.0042 -12.0498 26.2008 -5.355 -10.1063 -12.0734 26.4573 -5.36 -10.2042 -12.0849 26.7173 -5.365 -10.2974 -12.0838 26.9796 -5.37 -10.3853 -12.0698 27.2432 -5.375 -10.4674 -12.0424 27.507 -5.38 -10.5433 -12.0001 27.7704 -5.385 -10.6135 -11.9406 28.0332 -5.39 -10.6774 -11.8652 28.2936 -5.395 -10.7346 -11.7754 28.5502 -5.4 -10.7847 -11.6724 28.8016 -5.405 -10.8275 -11.5575 29.0463 -5.41 -10.8626 -11.4317 29.2831 -5.415 -10.8897 -11.2963 29.511 -5.42 -10.9088 -11.1521 29.7288 -5.425 -10.9196 -11.0002 29.9357 -5.43 -10.9221 -10.8414 30.1308 -5.435 -10.9163 -10.6766 30.3133 -5.44 -10.9021 -10.5064 30.4827 -5.445 -10.8795 -10.3314 30.6384 -5.45 -10.8488 -10.1524 30.7799 -5.455 -10.8099 -9.96977 30.9071 -5.46 -10.7632 -9.78398 31.0197 -5.465 -10.7089 -9.5954 31.1174 -5.47 -10.6472 -9.40433 31.2005 -5.475 -10.5785 -9.21099 31.2688 -5.48 -10.5032 -9.01554 31.3227 -5.485 -10.4218 -8.81806 31.3624 -5.49 -10.3346 -8.61857 31.3883 -5.495 -10.2422 -8.417 31.4009 -5.5 -10.1452 -8.21322 31.4008 -5.505 -10.0442 -8.00704 31.3888 -5.51 -9.93957 -7.79938 31.3652 -5.515 -9.83002 -7.59566 31.3292 -5.52 -9.71593 -7.39707 31.2806 -5.525 -9.59783 -7.20413 31.2195 -5.53 -9.47625 -7.01732 31.1462 -5.535 -9.35169 -6.83711 31.0609 -5.54 -9.22464 -6.66388 30.9638 -5.545 -9.09559 -6.49802 30.8554 -5.55 -8.96499 -6.33984 30.7359 -5.555 -8.8333 -6.18964 30.6059 -5.56 -8.70096 -6.04766 30.4659 -5.565 -8.56838 -5.91411 30.3165 -5.57 -8.43599 -5.78914 30.1582 -5.575 -8.30417 -5.6729 29.9917 -5.58 -8.1733 -5.56545 29.8179 -5.585 -8.04376 -5.46685 29.6373 -5.59 -7.91591 -5.3771 29.451 -5.595 -7.79008 -5.29616 29.2598 -5.6 -7.66659 -5.22396 29.0646 -5.605 -7.54577 -5.16038 28.8665 -5.61 -7.42792 -5.10525 28.6665 -5.615 -7.31331 -5.05839 28.4658 -5.62 -7.20223 -5.01956 28.2654 -5.625 -7.09492 -4.98846 28.0667 -5.63 -6.99162 -4.96462 27.8691 -5.635 -6.89245 -4.9476 27.6708 -5.64 -6.79751 -4.93723 27.4723 -5.645 -6.70686 -4.93336 27.2739 -5.65 -6.62061 -4.93582 27.0759 -5.655 -6.53881 -4.94445 26.8786 -5.66 -6.46154 -4.95911 26.6824 -5.665 -6.38886 -4.97962 26.4874 -5.67 -6.3208 -5.00582 26.294 -5.675 -6.25743 -5.03756 26.1024 -5.68 -6.19878 -5.07467 25.913 -5.685 -6.14488 -5.11701 25.7258 -5.69 -6.09575 -5.16439 25.5413 -5.695 -6.05142 -5.21667 25.3595 -5.7 -6.01188 -5.27369 25.1808 -5.705 -5.97716 -5.33527 25.0052 -5.71 -5.94725 -5.40128 24.8331 -5.715 -5.92213 -5.47153 24.6645 -5.72 -5.90178 -5.54587 24.4997 -5.725 -5.8862 -5.62415 24.3388 -5.73 -5.87534 -5.7062 24.182 -5.735 -5.86914 -5.79188 24.0294 -5.74 -5.86718 -5.88138 23.8813 -5.745 -5.86943 -5.97475 23.7378 -5.75 -5.87596 -6.07194 23.5991 -5.755 -5.88682 -6.17292 23.4655 -5.76 -5.90206 -6.27761 23.337 -5.765 -5.92171 -6.38598 23.214 -5.77 -5.94581 -6.49796 23.0965 -5.775 -5.97437 -6.61348 22.9848 -5.78 -6.0074 -6.73247 22.8791 -5.785 -6.04487 -6.85484 22.7796 -5.79 -6.08678 -6.98052 22.6864 -5.795 -6.1331 -7.10942 22.5999 -5.8 -6.18378 -7.24144 22.5201 -5.805 -6.23878 -7.37648 22.4474 -5.81 -6.29802 -7.51443 22.3819 -5.815 -6.36144 -7.65519 22.3239 -5.82 -6.42896 -7.79863 22.2735 -5.825 -6.50047 -7.94465 22.2311 -5.83 -6.57587 -8.0931 22.1968 -5.835 -6.65503 -8.24385 22.1709 -5.84 -6.73784 -8.39677 22.1536 -5.845 -6.82415 -8.55172 22.1452 -5.85 -6.91381 -8.70854 22.1459 -5.855 -7.00665 -8.86708 22.1559 -5.86 -7.1025 -9.02719 22.1756 -5.865 -7.20119 -9.18868 22.2051 -5.87 -7.3025 -9.3514 22.2448 -5.875 -7.40635 -9.51518 22.2944 -5.88 -7.51283 -9.67964 22.3537 -5.885 -7.62189 -9.84422 22.423 -5.89 -7.73344 -10.0083 22.5027 -5.895 -7.8474 -10.1714 22.5932 -5.9 -7.96362 -10.3329 22.6946 -5.905 -8.08196 -10.4922 22.8073 -5.91 -8.20225 -10.6487 22.9313 -5.915 -8.3243 -10.8018 23.0667 -5.92 -8.44789 -10.951 23.2136 -5.925 -8.57278 -11.0956 23.3718 -5.93 -8.69872 -11.2351 23.5412 -5.935 -8.8254 -11.3688 23.7217 -5.94 -8.95253 -11.4963 23.9129 -5.945 -9.07979 -11.6168 24.1147 -5.95 -9.2068 -11.7297 24.3267 -5.955 -9.33321 -11.8346 24.5483 -5.96 -9.4586 -11.9307 24.7791 -5.965 -9.58257 -12.0174 25.0186 -5.97 -9.70467 -12.0942 25.2661 -5.975 -9.82442 -12.1605 25.5209 -5.98 -9.94135 -12.2155 25.7823 -5.985 -10.0549 -12.2587 26.0495 -5.99 -10.1646 -12.2895 26.3216 -5.995 -10.2699 -12.3073 26.5977 -6 -10.3702 -12.3114 26.8767 -6.005 -10.4649 -12.3011 27.1577 -6.01 -10.5543 -12.2754 27.4403 -6.015 -10.6381 -12.2341 27.7233 -6.02 -10.7158 -12.1779 28.0051 -6.025 -10.7868 -12.107 28.2842 -6.03 -10.8507 -12.0221 28.5592 -6.035 -10.907 -11.9237 28.8287 -6.04 -10.9553 -11.8122 29.0913 -6.045 -10.9953 -11.6882 29.3459 -6.05 -11.0268 -11.5522 29.5915 -6.055 -11.0495 -11.4048 29.8269 -6.06 -11.0633 -11.2467 30.0512 -6.065 -11.0681 -11.0783 30.2635 -6.07 -11.0638 -10.9004 30.4632 -6.075 -11.0504 -10.7134 30.6494 -6.08 -11.028 -10.5182 30.8215 -6.085 -10.9966 -10.3153 30.9791 -6.09 -10.9564 -10.1055 31.1217 -6.095 -10.9077 -9.88935 31.2488 -6.1 -10.8507 -9.66763 31.3603 -6.105 -10.7858 -9.44106 31.4559 -6.11 -10.7132 -9.21036 31.5356 -6.115 -10.6335 -8.97631 31.5992 -6.12 -10.5467 -8.74034 31.6467 -6.125 -10.4526 -8.50541 31.6781 -6.13 -10.3514 -8.27256 31.6933 -6.135 -10.2439 -8.0426 31.6925 -6.14 -10.1305 -7.81631 31.6759 -6.145 -10.0117 -7.59445 31.6438 -6.15 -9.88816 -7.3777 31.5964 -6.155 -9.76032 -7.1667 31.5342 -6.16 -9.62869 -6.96206 31.4576 -6.165 -9.49379 -6.76433 31.3671 -6.17 -9.35612 -6.57404 31.2633 -6.175 -9.21616 -6.39163 31.1468 -6.18 -9.0744 -6.21754 31.0183 -6.185 -8.93132 -6.05215 30.8786 -6.19 -8.78738 -5.89577 30.7285 -6.195 -8.64305 -5.7487 30.5689 -6.2 -8.49879 -5.61118 30.4007 -6.205 -8.35504 -5.48341 30.2249 -6.21 -8.21224 -5.36552 30.0427 -6.215 -8.07084 -5.25764 29.8552 -6.22 -7.93125 -5.15982 29.6635 -6.225 -7.7939 -5.07207 29.4689 -6.23 -7.65927 -4.9938 29.2718 -6.235 -7.52775 -4.92407 29.0712 -6.24 -7.39956 -4.86277 28.8677 -6.245 -7.2749 -4.80977 28.6617 -6.25 -7.15396 -4.76495 28.4537 -6.255 -7.03692 -4.72816 28.2442 -6.26 -6.92394 -4.69923 28.0334 -6.265 -6.81518 -4.678 27.822 -6.27 -6.7108 -4.66427 27.6102 -6.275 -6.61091 -4.65784 27.3983 -6.28 -6.51565 -4.6585 27.1869 -6.285 -6.42513 -4.66602 26.9762 -6.29 -6.33944 -4.68016 26.7665 -6.295 -6.25867 -4.70065 26.5582 -6.3 -6.18291 -4.72724 26.3516 -6.305 -6.11222 -4.75964 26.1469 -6.31 -6.04666 -4.79756 25.9444 -6.315 -5.98626 -4.84067 25.7443 -6.32 -5.93107 -4.88866 25.5469 -6.325 -5.88109 -4.9412 25.3525 -6.33 -5.83635 -4.99792 25.1611 -6.335 -5.79685 -5.05848 24.9731 -6.34 -5.76231 -5.12316 24.7885 -6.345 -5.7326 -5.19229 24.6074 -6.35 -5.70771 -5.26576 24.4301 -6.355 -5.68766 -5.3435 24.2567 -6.36 -5.67244 -5.42542 24.0874 -6.365 -5.66206 -5.51145 23.9223 -6.37 -5.6565 -5.60151 23.7616 -6.375 -5.65574 -5.69554 23.6056 -6.38 -5.65977 -5.79347 23.4543 -6.385 -5.66856 -5.89524 23.308 -6.39 -5.68208 -6.00079 23.1669 -6.395 -5.70028 -6.11007 23.0311 -6.4 -5.72313 -6.22303 22.901 -6.405 -5.75058 -6.33963 22.7765 -6.41 -5.78258 -6.45982 22.6581 -6.415 -5.81905 -6.58357 22.5458 -6.42 -5.85995 -6.71084 22.4399 -6.425 -5.9052 -6.8416 22.3406 -6.43 -5.95472 -6.97582 22.2481 -6.435 -6.00843 -7.11349 22.1627 -6.44 -6.06624 -7.25458 22.0846 -6.445 -6.12806 -7.39908 22.0139 -6.45 -6.1938 -7.54698 21.951 -6.455 -6.26325 -7.69806 21.8958 -6.46 -6.33635 -7.85208 21.8484 -6.465 -6.41317 -8.00898 21.8092 -6.47 -6.49379 -8.16865 21.7786 -6.475 -6.57823 -8.33098 21.757 -6.48 -6.66651 -8.4958 21.7447 -6.485 -6.75865 -8.66292 21.7421 -6.49 -6.8546 -8.83214 21.7495 -6.495 -6.95434 -9.00319 21.7671 -6.5 -7.05778 -9.17581 21.7953 -6.505 -7.16486 -9.3497 21.8343 -6.51 -7.27546 -9.5245 21.8842 -6.515 -7.38945 -9.69986 21.9452 -6.52 -7.50668 -9.87537 22.0177 -6.525 -7.62699 -10.0506 22.1015 -6.53 -7.75019 -10.2251 22.197 -6.535 -7.87606 -10.3984 22.3042 -6.54 -8.00438 -10.57 22.4231 -6.545 -8.13488 -10.7393 22.5539 -6.55 -8.2673 -10.9058 22.6965 -6.555 -8.40134 -11.0688 22.8509 -6.56 -8.53668 -11.2277 23.0171 -6.565 -8.67298 -11.3818 23.1951 -6.57 -8.8099 -11.5305 23.3848 -6.575 -8.94705 -11.6729 23.5862 -6.58 -9.08402 -11.8085 23.799 -6.585 -9.22041 -11.9363 24.0232 -6.59 -9.35594 -12.0557 24.2585 -6.595 -9.49072 -12.1665 24.5046 -6.6 -9.62423 -12.2676 24.7605 -6.605 -9.75592 -12.358 25.0257 -6.61 -9.88525 -12.4366 25.2991 -6.615 -10.0117 -12.5028 25.58 -6.62 -10.1347 -12.5557 25.8674 -6.625 -10.2538 -12.5947 26.1604 -6.63 -10.3685 -12.6192 26.4579 -6.635 -10.4783 -12.6287 26.7591 -6.64 -10.5827 -12.6228 27.0628 -6.645 -10.6814 -12.6012 27.3679 -6.65 -10.7737 -12.5637 27.6733 -6.655 -10.8594 -12.5101 27.9779 -6.66 -10.9379 -12.4404 28.2804 -6.665 -11.0089 -12.3546 28.5796 -6.67 -11.072 -12.2528 28.8742 -6.675 -11.1268 -12.1354 29.1629 -6.68 -11.1729 -12.0025 29.4444 -6.685 -11.2099 -11.8546 29.7172 -6.69 -11.2376 -11.6922 29.98 -6.695 -11.2556 -11.5158 30.2312 -6.7 -11.2636 -11.3254 30.4692 -6.705 -11.2615 -11.1219 30.6927 -6.71 -11.2495 -10.907 30.9011 -6.715 -11.2275 -10.6825 31.0936 -6.72 -11.1955 -10.4497 31.2697 -6.725 -11.1538 -10.2102 31.4289 -6.73 -11.1024 -9.96546 31.5708 -6.735 -11.0416 -9.71672 31.695 -6.74 -10.9715 -9.46528 31.8013 -6.745 -10.8926 -9.21232 31.8895 -6.75 -10.805 -8.95896 31.9595 -6.755 -10.7092 -8.70624 32.0113 -6.76 -10.6055 -8.45513 32.0449 -6.765 -10.4944 -8.20652 32.0606 -6.77 -10.3765 -7.96125 32.0584 -6.775 -10.2521 -7.72006 32.0387 -6.78 -10.1219 -7.48363 32.0019 -6.785 -9.98653 -7.25256 31.9484 -6.79 -9.84656 -7.0274 31.8788 -6.795 -9.70273 -6.80859 31.7937 -6.8 -9.55575 -6.59654 31.6938 -6.805 -9.40627 -6.39179 31.5799 -6.81 -9.25436 -6.19603 31.4538 -6.815 -9.10053 -6.00982 31.3162 -6.82 -8.94539 -5.8335 31.1678 -6.825 -8.78949 -5.66731 31.0093 -6.83 -8.63337 -5.51148 30.8413 -6.835 -8.47756 -5.36615 30.6644 -6.84 -8.32255 -5.2314 30.4795 -6.845 -8.16879 -5.10728 30.2871 -6.85 -8.01674 -4.99376 30.088 -6.855 -7.86682 -4.89076 29.8828 -6.86 -7.7194 -4.79813 29.6724 -6.865 -7.57486 -4.71568 29.4574 -6.87 -7.43355 -4.64316 29.2386 -6.875 -7.29578 -4.58024 29.0167 -6.88 -7.16185 -4.52657 28.7924 -6.885 -7.03201 -4.48171 28.5666 -6.89 -6.90652 -4.44517 28.3399 -6.895 -6.7856 -4.41641 28.1133 -6.9 -6.66943 -4.39483 27.8873 -6.905 -6.55815 -4.38029 27.6621 -6.91 -6.45185 -4.37293 27.4371 -6.915 -6.35057 -4.3725 27.2127 -6.92 -6.25438 -4.37877 26.9892 -6.925 -6.16332 -4.39151 26.7669 -6.93 -6.07746 -4.41049 26.5461 -6.935 -5.99682 -4.43551 26.327 -6.94 -5.92142 -4.46634 26.1099 -6.945 -5.85131 -4.5028 25.895 -6.95 -5.78649 -4.54469 25.6827 -6.955 -5.72696 -4.59183 25.4731 -6.96 -5.67274 -4.64404 25.2664 -6.965 -5.62382 -4.70116 25.0628 -6.97 -5.58018 -4.76303 24.8625 -6.975 -5.54181 -4.82949 24.6658 -6.98 -5.50868 -4.9004 24.4727 -6.985 -5.48075 -4.97563 24.2835 -6.99 -5.45799 -5.05505 24.0982 -6.995 -5.44034 -5.13853 23.9171 -7 -5.42769 -5.226 23.7402 -7.005 -5.41958 -5.31761 23.5679 -7.01 -5.41601 -5.41337 23.4003 -7.015 -5.41705 -5.51321 23.2377 -7.02 -5.42278 -5.61711 23.08 -7.025 -5.43326 -5.72499 22.9276 -7.03 -5.44854 -5.83682 22.7805 -7.035 -5.46865 -5.95254 22.639 -7.04 -5.49362 -6.0721 22.5031 -7.045 -5.52346 -6.19545 22.3732 -7.05 -5.55818 -6.32254 22.2493 -7.055 -5.59776 -6.45332 22.1318 -7.06 -5.64219 -6.58772 22.0208 -7.065 -5.69143 -6.72571 21.9165 -7.07 -5.74544 -6.86722 21.8192 -7.075 -5.80416 -7.0122 21.7291 -7.08 -5.86752 -7.1606 21.6464 -7.085 -5.93545 -7.31237 21.5715 -7.09 -6.00786 -7.46744 21.5045 -7.095 -6.08465 -7.62576 21.4458 -7.1 -6.1657 -7.78728 21.3957 -7.105 -6.25088 -7.95194 21.3543 -7.11 -6.34007 -8.11969 21.3222 -7.115 -6.43311 -8.29046 21.2994 -7.12 -6.52985 -8.4642 21.2864 -7.125 -6.63011 -8.64085 21.2835 -7.13 -6.73371 -8.82035 21.291 -7.135 -6.84046 -9.00265 21.3092 -7.14 -6.95033 -9.18745 21.3381 -7.145 -7.06356 -9.37409 21.3775 -7.15 -7.18017 -9.56214 21.4278 -7.155 -7.30012 -9.75117 21.4895 -7.16 -7.42337 -9.94071 21.5633 -7.165 -7.54984 -10.1303 21.6494 -7.17 -7.67941 -10.3193 21.7482 -7.175 -7.81194 -10.5074 21.86 -7.18 -7.94728 -10.6938 21.985 -7.185 -8.08521 -10.8779 22.1233 -7.19 -8.22553 -11.0593 22.275 -7.195 -8.36797 -11.2371 22.4402 -7.2 -8.51226 -11.4108 22.6189 -7.205 -8.65809 -11.5796 22.8108 -7.21 -8.80512 -11.7428 23.0159 -7.215 -8.95297 -11.8996 23.2339 -7.22 -9.10127 -12.0492 23.4645 -7.225 -9.24958 -12.1909 23.7074 -7.23 -9.39745 -12.3237 23.9621 -7.235 -9.5444 -12.4469 24.2282 -7.24 -9.68992 -12.5594 24.5052 -7.245 -9.83348 -12.6605 24.7923 -7.25 -9.9745 -12.7491 25.0891 -7.255 -10.1124 -12.8242 25.3946 -7.26 -10.2466 -12.8849 25.7082 -7.265 -10.3766 -12.9302 26.0292 -7.27 -10.5026 -12.9595 26.3571 -7.275 -10.6238 -12.9722 26.6901 -7.28 -10.7395 -12.968 27.0265 -7.285 -10.849 -12.9465 27.3646 -7.29 -10.9515 -12.9076 27.7026 -7.295 -11.0465 -12.851 28.039 -7.3 -11.1335 -12.7769 28.3723 -7.305 -11.2118 -12.6852 28.7008 -7.31 -11.2812 -12.5761 29.0232 -7.315 -11.3411 -12.4499 29.3381 -7.32 -11.3912 -12.3069 29.6442 -7.325 -11.4313 -12.1475 29.94 -7.33 -11.461 -11.9722 30.2245 -7.335 -11.4803 -11.7818 30.4964 -7.34 -11.4888 -11.5768 30.7546 -7.345 -11.4867 -11.3581 30.998 -7.35 -11.4737 -11.1267 31.2257 -7.355 -11.4499 -10.8834 31.4366 -7.36 -11.4155 -10.6294 31.6298 -7.365 -11.3704 -10.3659 31.8044 -7.37 -11.3147 -10.0945 31.9595 -7.375 -11.248 -9.8176 32.0939 -7.38 -11.1709 -9.5368 32.2076 -7.385 -11.0837 -9.25359 32.3006 -7.39 -10.9871 -8.96938 32.3727 -7.395 -10.8815 -8.68554 32.4243 -7.4 -10.7673 -8.40336 32.4555 -7.405 -10.6452 -8.12404 32.4665 -7.41 -10.5157 -7.84874 32.4578 -7.415 -10.3792 -7.57853 32.4298 -7.42 -10.2365 -7.31441 32.383 -7.425 -10.0881 -7.05732 32.3181 -7.43 -9.93451 -6.80813 32.2357 -7.435 -9.77644 -6.56762 32.1367 -7.44 -9.6145 -6.33653 32.0218 -7.445 -9.44931 -6.1155 31.8921 -7.45 -9.28155 -5.90513 31.7485 -7.455 -9.11188 -5.70591 31.5922 -7.46 -8.94098 -5.5183 31.4243 -7.465 -8.76957 -5.34267 31.2461 -7.47 -8.59835 -5.17923 31.059 -7.475 -8.42797 -5.02703 30.8638 -7.48 -8.2589 -4.88585 30.6613 -7.485 -8.0916 -4.75576 30.4519 -7.49 -7.92647 -4.6368 30.2365 -7.495 -7.76391 -4.52897 30.0155 -7.5 -7.6043 -4.43221 29.7896 -7.505 -7.44798 -4.34642 29.5595 -7.51 -7.2953 -4.27144 29.3256 -7.515 -7.14656 -4.20709 29.0887 -7.52 -7.00206 -4.15311 28.8492 -7.525 -6.86206 -4.10922 28.6076 -7.53 -6.72682 -4.07508 28.3647 -7.535 -6.59656 -4.05029 28.1208 -7.54 -6.4715 -4.03443 27.8766 -7.545 -6.35181 -4.02702 27.6325 -7.55 -6.23766 -4.02753 27.3891 -7.555 -6.1292 -4.03539 27.1468 -7.56 -6.02656 -4.04996 26.9061 -7.565 -5.92982 -4.0706 26.6675 -7.57 -5.83908 -4.09657 26.4315 -7.575 -5.7544 -4.12711 26.1985 -7.58 -5.67578 -4.16159 25.9689 -7.585 -5.60286 -4.20113 25.7421 -7.59 -5.53553 -4.246 25.518 -7.595 -5.47377 -4.29599 25.2968 -7.6 -5.41755 -4.35096 25.0787 -7.605 -5.36686 -4.41075 24.8639 -7.61 -5.32166 -4.47522 24.6524 -7.615 -5.28193 -4.54423 24.4446 -7.62 -5.24762 -4.61768 24.2406 -7.625 -5.2187 -4.69546 24.0404 -7.63 -5.19512 -4.77748 23.8444 -7.635 -5.17683 -4.86366 23.6527 -7.64 -5.16379 -4.95394 23.4654 -7.645 -5.15593 -5.04827 23.2827 -7.65 -5.15321 -5.1466 23.1048 -7.655 -5.15555 -5.24892 22.9319 -7.66 -5.16289 -5.3552 22.764 -7.665 -5.17517 -5.46545 22.6015 -7.67 -5.1923 -5.57968 22.4444 -7.675 -5.2142 -5.6979 22.2928 -7.68 -5.2408 -5.82016 22.1471 -7.685 -5.27183 -5.94639 22.0074 -7.69 -5.30728 -6.07659 21.8739 -7.695 -5.34723 -6.21081 21.7468 -7.7 -5.39175 -6.34906 21.6263 -7.705 -5.44088 -6.49137 21.5127 -7.71 -5.49467 -6.63771 21.4062 -7.715 -5.55314 -6.78808 21.3071 -7.72 -5.61631 -6.94244 21.2155 -7.725 -5.68419 -7.10074 21.1318 -7.73 -5.75676 -7.26293 21.0562 -7.735 -5.834 -7.42891 20.9889 -7.74 -5.9159 -7.59862 20.9303 -7.745 -6.00239 -7.77193 20.8807 -7.75 -6.09343 -7.94873 20.8403 -7.755 -6.18894 -8.12889 20.8094 -7.76 -6.28885 -8.31226 20.7885 -7.765 -6.39307 -8.49868 20.7776 -7.77 -6.5015 -8.68797 20.7773 -7.775 -6.61401 -8.87995 20.7879 -7.78 -6.73048 -9.0744 20.8096 -7.785 -6.85077 -9.27111 20.8429 -7.79 -6.97473 -9.46985 20.8881 -7.795 -7.1022 -9.67036 20.9455 -7.8 -7.23301 -9.8724 21.0156 -7.805 -7.36696 -10.0757 21.0988 -7.81 -7.5039 -10.28 21.1946 -7.815 -7.6438 -10.485 21.3029 -7.82 -7.78658 -10.6896 21.4242 -7.825 -7.93213 -10.8931 21.5591 -7.83 -8.08029 -11.0945 21.7082 -7.835 -8.2309 -11.2931 21.8717 -7.84 -8.38373 -11.4878 22.05 -7.845 -8.53855 -11.6779 22.2431 -7.85 -8.69506 -11.8624 22.4512 -7.855 -8.85296 -12.0405 22.6742 -7.86 -9.0119 -12.2113 22.9119 -7.865 -9.17148 -12.3739 23.1641 -7.87 -9.33129 -12.5274 23.4305 -7.875 -9.49088 -12.6709 23.7105 -7.88 -9.64977 -12.8035 24.0037 -7.885 -9.80742 -12.9243 24.3093 -7.89 -9.96329 -13.0324 24.6266 -7.895 -10.1168 -13.1269 24.9548 -7.9 -10.2673 -13.2069 25.2928 -7.905 -10.4141 -13.2715 25.6397 -7.91 -10.5566 -13.3198 25.9942 -7.915 -10.694 -13.3508 26.355 -7.92 -10.8256 -13.3637 26.7209 -7.925 -10.9506 -13.3575 27.0902 -7.93 -11.068 -13.3313 27.4615 -7.935 -11.1775 -13.2838 27.8335 -7.94 -11.2794 -13.2139 28.2052 -7.945 -11.3728 -13.1222 28.5744 -7.95 -11.457 -13.0098 28.9389 -7.955 -11.5314 -12.8777 29.2963 -7.96 -11.5952 -12.7268 29.6447 -7.965 -11.6481 -12.5582 29.9822 -7.97 -11.6896 -12.3727 30.3071 -7.975 -11.7193 -12.1714 30.6178 -7.98 -11.7369 -11.9553 30.9128 -7.985 -11.7423 -11.7255 31.1908 -7.99 -11.7354 -11.4827 31.4506 -7.995 -11.7162 -11.2282 31.6913 -8 -11.6847 -10.9629 31.9119 -8.005 -11.641 -10.6878 32.1118 -8.01 -11.5855 -10.4039 32.2902 -8.015 -11.5183 -10.1123 32.4469 -8.02 -11.4401 -9.81395 32.5815 -8.025 -11.3511 -9.50987 32.6938 -8.03 -11.252 -9.20112 32.7838 -8.035 -11.1434 -8.88872 32.8517 -8.04 -11.0256 -8.57506 32.8976 -8.045 -10.898 -8.26442 32.9215 -8.05 -10.7615 -7.95819 32.9237 -8.055 -10.6167 -7.65754 32.9044 -8.06 -10.4646 -7.36357 32.8643 -8.065 -10.3059 -7.07728 32.8037 -8.07 -10.1413 -6.79961 32.7234 -8.075 -9.97153 -6.53139 32.624 -8.08 -9.79741 -6.2734 32.5064 -8.085 -9.61961 -6.0263 32.3715 -8.09 -9.43882 -5.79071 32.2202 -8.095 -9.25574 -5.56714 32.0536 -8.1 -9.07103 -5.35601 31.8729 -8.105 -8.88536 -5.15768 31.6794 -8.11 -8.69935 -4.97243 31.4744 -8.115 -8.51365 -4.80042 31.2593 -8.12 -8.32886 -4.64178 31.0357 -8.125 -8.14557 -4.49651 30.8052 -8.13 -7.96439 -4.36457 30.5695 -8.135 -7.78587 -4.2458 30.3304 -8.14 -7.61061 -4.13964 30.0888 -8.145 -7.4392 -4.04486 29.8433 -8.15 -7.27191 -3.9611 29.5945 -8.155 -7.10901 -3.88807 29.3428 -8.16 -6.95076 -3.82545 29.0888 -8.165 -6.79739 -3.77292 28.8333 -8.17 -6.64911 -3.73014 28.5765 -8.175 -6.5061 -3.69677 28.3192 -8.18 -6.36856 -3.67246 28.0616 -8.185 -6.23664 -3.65684 27.8043 -8.19 -6.11047 -3.64953 27.5476 -8.195 -5.99019 -3.65014 27.292 -8.2 -5.87589 -3.65827 27.0378 -8.205 -5.76767 -3.67352 26.7853 -8.21 -5.66558 -3.69546 26.5349 -8.215 -5.56969 -3.72366 26.2866 -8.22 -5.48001 -3.75768 26.0409 -8.225 -5.39658 -3.79706 25.7979 -8.23 -5.31938 -3.84133 25.5578 -8.235 -5.24839 -3.89003 25.3207 -8.24 -5.18337 -3.94339 25.0868 -8.245 -5.12414 -4.00163 24.8563 -8.25 -5.07067 -4.06458 24.6293 -8.255 -5.02294 -4.1321 24.4059 -8.26 -4.98091 -4.20406 24.1863 -8.265 -4.94454 -4.28033 23.9705 -8.27 -4.91379 -4.36083 23.7588 -8.275 -4.8886 -4.44545 23.5512 -8.28 -4.86893 -4.53413 23.348 -8.285 -4.85473 -4.6268 23.1493 -8.29 -4.84593 -4.72343 22.9552 -8.295 -4.84247 -4.82398 22.7659 -8.3 -4.84428 -4.92844 22.5816 -8.305 -4.8513 -5.03681 22.4023 -8.31 -4.86344 -5.1491 22.2284 -8.315 -4.88064 -5.26534 22.0599 -8.32 -4.90281 -5.38558 21.8971 -8.325 -4.92986 -5.50987 21.7401 -8.33 -4.9617 -5.63829 21.589 -8.335 -4.99825 -5.77092 21.4442 -8.34 -5.03939 -5.90787 21.3057 -8.345 -5.08496 -6.04903 21.1738 -8.35 -5.13491 -6.19433 21.0488 -8.355 -5.18935 -6.34385 20.9307 -8.36 -5.24837 -6.49767 20.82 -8.365 -5.31206 -6.65583 20.7169 -8.37 -5.38046 -6.81837 20.6215 -8.375 -5.45363 -6.98529 20.5343 -8.38 -5.53161 -7.15657 20.4555 -8.385 -5.61442 -7.33216 20.3854 -8.39 -5.70205 -7.51202 20.3243 -8.395 -5.79451 -7.69605 20.2725 -8.4 -5.89177 -7.88415 20.2304 -8.405 -5.99379 -8.07619 20.1982 -8.41 -6.10054 -8.27202 20.1763 -8.415 -6.21194 -8.47147 20.1652 -8.42 -6.32791 -8.67434 20.165 -8.425 -6.44837 -8.88042 20.1763 -8.43 -6.57321 -9.08947 20.1993 -8.435 -6.70232 -9.30122 20.2345 -8.44 -6.83555 -9.51541 20.2823 -8.445 -6.97276 -9.73171 20.3431 -8.45 -7.11379 -9.94981 20.4172 -8.455 -7.25846 -10.1693 20.5052 -8.46 -7.4066 -10.39 20.6075 -8.465 -7.55798 -10.6113 20.7244 -8.47 -7.71241 -10.8329 20.8564 -8.475 -7.86984 -11.0544 21.0027 -8.48 -8.03015 -11.275 21.1638 -8.485 -8.19317 -11.4935 21.3403 -8.49 -8.35868 -11.7088 21.5325 -8.495 -8.52642 -11.9197 21.7408 -8.5 -8.6961 -12.1252 21.9654 -8.505 -8.86738 -12.3242 22.2064 -8.51 -9.03991 -12.5156 22.4638 -8.515 -9.21326 -12.6982 22.7374 -8.52 -9.387 -12.871 23.0269 -8.525 -9.56065 -13.033 23.3319 -8.53 -9.73368 -13.1831 23.6518 -8.535 -9.90554 -13.3201 23.986 -8.54 -10.0756 -13.4431 24.3337 -8.545 -10.2433 -13.551 24.694 -8.55 -10.4079 -13.6428 25.0657 -8.555 -10.5688 -13.7173 25.4479 -8.56 -10.7251 -13.7736 25.8391 -8.565 -10.8761 -13.8107 26.238 -8.57 -11.021 -13.8275 26.6429 -8.575 -11.1589 -13.823 27.0523 -8.58 -11.2889 -13.7961 27.4643 -8.585 -11.4102 -13.7458 27.8772 -8.59 -11.523 -13.6702 28.2901 -8.595 -11.6266 -13.5698 28.7005 -8.6 -11.72 -13.4457 29.1057 -8.605 -11.8024 -13.299 29.5032 -8.61 -11.8732 -13.1307 29.8906 -8.615 -11.9317 -12.9419 30.2657 -8.62 -11.9775 -12.7337 30.6265 -8.625 -12.01 -12.5073 30.9712 -8.63 -12.029 -12.2639 31.298 -8.635 -12.0344 -12.0044 31.6054 -8.64 -12.0259 -11.7303 31.8921 -8.645 -12.0035 -11.4425 32.1569 -8.65 -11.9673 -11.1424 32.3988 -8.655 -11.9176 -10.8312 32.617 -8.66 -11.8546 -10.5101 32.8107 -8.665 -11.7786 -10.1804 32.9795 -8.67 -11.6901 -9.84326 33.1231 -8.675 -11.5897 -9.50009 33.2413 -8.68 -11.4781 -9.15215 33.334 -8.685 -11.3558 -8.80131 33.4015 -8.69 -11.2223 -8.45253 33.4438 -8.695 -11.0781 -8.10799 33.4611 -8.7 -10.9243 -7.76914 33.4539 -8.705 -10.7616 -7.43733 33.4227 -8.71 -10.591 -7.11381 33.3681 -8.715 -10.4134 -6.79972 33.291 -8.72 -10.2295 -6.4961 33.1921 -8.725 -10.0403 -6.20387 33.0723 -8.73 -9.84644 -5.92388 32.9329 -8.735 -9.64886 -5.65686 32.7748 -8.74 -9.44832 -5.40341 32.5995 -8.745 -9.24557 -5.16407 32.4082 -8.75 -9.04139 -4.93926 32.2024 -8.755 -8.83651 -4.72929 31.9837 -8.76 -8.63168 -4.53436 31.7538 -8.765 -8.42759 -4.35459 31.5146 -8.77 -8.22497 -4.18998 31.2678 -8.775 -8.02448 -4.04043 31.0154 -8.78 -7.8268 -3.90571 30.7597 -8.785 -7.63269 -3.78463 30.5 -8.79 -7.44261 -3.67628 30.2358 -8.795 -7.25692 -3.5803 29.968 -8.8 -7.07593 -3.49631 29.6971 -8.805 -6.89993 -3.42391 29.4239 -8.81 -6.7292 -3.3627 29.149 -8.815 -6.56398 -3.31226 28.8729 -8.82 -6.4045 -3.27215 28.5963 -8.825 -6.25096 -3.24191 28.3195 -8.83 -6.10355 -3.22109 28.0431 -8.835 -5.96241 -3.20921 27.7676 -8.84 -5.82768 -3.20578 27.4932 -8.845 -5.69947 -3.21029 27.2204 -8.85 -5.57786 -3.22222 26.9496 -8.855 -5.46293 -3.24104 26.6809 -8.86 -5.3547 -3.26619 26.4146 -8.865 -5.2532 -3.29713 26.1511 -8.87 -5.15842 -3.33327 25.8903 -8.875 -5.07033 -3.37407 25.6326 -8.88 -4.98864 -3.41983 25.378 -8.885 -4.91323 -3.47067 25.1266 -8.89 -4.84404 -3.52637 24.8787 -8.895 -4.781 -3.58674 24.6342 -8.9 -4.72408 -3.65162 24.3934 -8.905 -4.67319 -3.72084 24.1564 -8.91 -4.62829 -3.79427 23.9232 -8.915 -4.58929 -3.87181 23.694 -8.92 -4.55613 -3.95334 23.4689 -8.925 -4.52873 -4.03881 23.2482 -8.93 -4.50701 -4.12814 23.0318 -8.935 -4.49089 -4.22131 22.8199 -8.94 -4.48029 -4.31829 22.6127 -8.945 -4.47511 -4.41909 22.4102 -8.95 -4.47526 -4.52372 22.2128 -8.955 -4.48064 -4.63222 22.0203 -8.96 -4.49116 -4.74466 21.8331 -8.965 -4.50671 -4.8611 21.6513 -8.97 -4.52718 -4.98164 21.4749 -8.975 -4.55247 -5.1064 21.3042 -8.98 -4.58229 -5.23538 21.1395 -8.985 -4.61662 -5.3686 20.9808 -8.99 -4.65557 -5.50614 20.8285 -8.995 -4.69923 -5.64808 20.6826 -9 -4.74769 -5.79447 20.5433 -9.005 -4.80103 -5.94536 20.4108 -9.01 -4.8593 -6.1008 20.2854 -9.015 -4.92256 -6.26083 20.1673 -9.02 -4.99084 -6.42545 20.0566 -9.025 -5.06417 -6.59469 19.9538 -9.03 -5.14256 -6.76856 19.8591 -9.035 -5.22602 -6.94703 19.7727 -9.04 -5.31454 -7.13011 19.6951 -9.045 -5.40809 -7.31776 19.6265 -9.05 -5.50665 -7.50996 19.5673 -9.055 -5.61016 -7.70665 19.5178 -9.06 -5.71857 -7.90779 19.4785 -9.065 -5.83181 -8.1133 19.4498 -9.07 -5.9498 -8.32313 19.432 -9.075 -6.07246 -8.53718 19.4257 -9.08 -6.19966 -8.75538 19.4313 -9.085 -6.33131 -8.9776 19.4492 -9.09 -6.46727 -9.20376 19.4799 -9.095 -6.60739 -9.43372 19.524 -9.1 -6.75154 -9.66735 19.582 -9.105 -6.89956 -9.90445 19.6541 -9.11 -7.0515 -10.1443 19.7397 -9.115 -7.2074 -10.3862 19.8395 -9.12 -7.3673 -10.6295 19.9544 -9.125 -7.53116 -10.8736 20.0853 -9.13 -7.6989 -11.1176 20.2328 -9.135 -7.87039 -11.3608 20.3976 -9.14 -8.04547 -11.6023 20.5801 -9.145 -8.22391 -11.8412 20.7807 -9.15 -8.40545 -12.0766 20.9996 -9.155 -8.58977 -12.3074 21.237 -9.16 -8.7765 -12.5326 21.493 -9.165 -8.96525 -12.7512 21.7674 -9.17 -9.15556 -12.9618 22.06 -9.175 -9.34692 -13.1634 22.3706 -9.18 -9.53879 -13.3548 22.6987 -9.185 -9.73056 -13.5345 23.0438 -9.19 -9.92159 -13.7013 23.4053 -9.195 -10.1112 -13.8537 23.7825 -9.2 -10.2987 -13.9904 24.1743 -9.205 -10.4831 -14.1097 24.58 -9.21 -10.6639 -14.2103 24.9984 -9.215 -10.8399 -14.2904 25.4283 -9.22 -11.0104 -14.3484 25.8684 -9.225 -11.1743 -14.3827 26.3174 -9.23 -11.3317 -14.3919 26.7745 -9.235 -11.4819 -14.3754 27.2373 -9.24 -11.6235 -14.333 27.7029 -9.245 -11.7557 -14.2644 28.1683 -9.25 -11.8773 -14.1696 28.6308 -9.255 -11.9874 -14.0487 29.0876 -9.26 -12.0853 -13.902 29.5363 -9.265 -12.1703 -13.7298 29.9743 -9.27 -12.2416 -13.5327 30.3996 -9.275 -12.2989 -13.3114 30.8099 -9.28 -12.3415 -13.0667 31.2031 -9.285 -12.3693 -12.7997 31.5775 -9.29 -12.3819 -12.5114 31.9312 -9.295 -12.3792 -12.2031 32.2626 -9.3 -12.361 -11.8763 32.5702 -9.305 -12.3276 -11.5326 32.8527 -9.31 -12.2788 -11.1735 33.1087 -9.315 -12.2151 -10.8012 33.3371 -9.32 -12.1365 -10.4175 33.5369 -9.325 -12.0428 -10.0266 33.7064 -9.33 -11.9342 -9.63151 33.8452 -9.335 -11.8115 -9.23471 33.9535 -9.34 -11.6756 -8.83844 34.0316 -9.345 -11.5272 -8.44482 34.08 -9.35 -11.3672 -8.05584 34.0992 -9.355 -11.1963 -7.67336 34.0901 -9.36 -11.0156 -7.2991 34.0533 -9.365 -10.8257 -6.93463 33.99 -9.37 -10.6277 -6.5814 33.9011 -9.375 -10.4225 -6.24071 33.788 -9.38 -10.2109 -5.91373 33.6519 -9.385 -9.9939 -5.6015 33.4945 -9.39 -9.77253 -5.30491 33.3172 -9.395 -9.54773 -5.02472 33.1219 -9.4 -9.32052 -4.76155 32.9104 -9.405 -9.09191 -4.51589 32.6847 -9.41 -8.86294 -4.28809 32.447 -9.415 -8.63463 -4.07778 32.1991 -9.42 -8.40778 -3.88364 31.9417 -9.425 -8.18305 -3.70549 31.6758 -9.43 -7.96105 -3.54316 31.4025 -9.435 -7.74238 -3.39643 31.1226 -9.44 -7.52759 -3.26498 30.8372 -9.445 -7.31717 -3.14848 30.547 -9.45 -7.1116 -3.04648 30.2531 -9.455 -6.91131 -2.95852 29.9561 -9.46 -6.7167 -2.88405 29.6569 -9.465 -6.52811 -2.82246 29.3561 -9.47 -6.34587 -2.77309 29.0546 -9.475 -6.17025 -2.73521 28.7529 -9.48 -6.00149 -2.70803 28.4517 -9.485 -5.8398 -2.69069 28.1516 -9.49 -5.68532 -2.68229 27.8531 -9.495 -5.53819 -2.68184 27.5567 -9.5 -5.3985 -2.68831 27.263 -9.505 -5.26628 -2.70059 26.9723 -9.51 -5.14151 -2.71784 26.6849 -9.515 -5.02387 -2.7412 26.4004 -9.52 -4.91326 -2.77063 26.1188 -9.525 -4.8096 -2.80578 25.8402 -9.53 -4.71281 -2.84633 25.5648 -9.535 -4.62283 -2.89201 25.2927 -9.54 -4.53956 -2.94255 25.024 -9.545 -4.46292 -2.99771 24.7589 -9.55 -4.39282 -3.05726 24.4974 -9.555 -4.32916 -3.12104 24.2398 -9.56 -4.27183 -3.18887 23.986 -9.565 -4.22074 -3.26063 23.7363 -9.57 -4.17578 -3.33619 23.4906 -9.575 -4.13683 -3.41547 23.2492 -9.58 -4.10377 -3.49842 23.012 -9.585 -4.07648 -3.58499 22.7792 -9.59 -4.05483 -3.67519 22.5508 -9.595 -4.03869 -3.76903 22.327 -9.6 -4.02791 -3.86655 22.1078 -9.605 -4.02225 -3.96783 21.8933 -9.61 -4.02167 -4.0729 21.6838 -9.615 -4.02619 -4.18175 21.4793 -9.62 -4.03581 -4.29441 21.2799 -9.625 -4.05054 -4.41092 21.0856 -9.63 -4.07037 -4.53131 20.8967 -9.635 -4.09528 -4.65564 20.7132 -9.64 -4.12528 -4.78396 20.5352 -9.645 -4.16034 -4.91636 20.363 -9.65 -4.20044 -5.05292 20.1968 -9.655 -4.24554 -5.19372 20.0367 -9.66 -4.29563 -5.33887 19.8828 -9.665 -4.35065 -5.48849 19.7356 -9.67 -4.41058 -5.64269 19.5951 -9.675 -4.47535 -5.80161 19.4616 -9.68 -4.54493 -5.96539 19.3355 -9.685 -4.61926 -6.13418 19.2169 -9.69 -4.69827 -6.30815 19.1062 -9.695 -4.78189 -6.48747 19.0036 -9.7 -4.87007 -6.67233 18.9096 -9.705 -4.96273 -6.86288 18.8244 -9.71 -5.06006 -7.05873 18.7482 -9.715 -5.1622 -7.25987 18.6814 -9.72 -5.26927 -7.46643 18.6245 -9.725 -5.38134 -7.67852 18.578 -9.73 -5.49848 -7.89615 18.5422 -9.735 -5.62072 -8.11933 18.5177 -9.74 -5.74811 -8.34798 18.505 -9.745 -5.88066 -8.58198 18.5045 -9.75 -6.01836 -8.82117 18.5168 -9.755 -6.1612 -9.06532 18.5423 -9.76 -6.30916 -9.31415 18.5816 -9.765 -6.46217 -9.56735 18.6352 -9.77 -6.62017 -9.82451 18.7036 -9.775 -6.78309 -10.0852 18.7873 -9.78 -6.95082 -10.349 18.887 -9.785 -7.12326 -10.6153 19.0031 -9.79 -7.30027 -10.8835 19.1363 -9.795 -7.48171 -11.1531 19.287 -9.8 -7.66742 -11.4232 19.4559 -9.805 -7.85721 -11.6932 19.6436 -9.81 -8.0509 -11.9622 19.8506 -9.815 -8.24813 -12.23 20.0766 -9.82 -8.44857 -12.4953 20.322 -9.825 -8.65194 -12.7565 20.5873 -9.83 -8.85788 -13.0119 20.8732 -9.835 -9.066 -13.26 21.18 -9.84 -9.27582 -13.4989 21.5078 -9.845 -9.48684 -13.7272 21.8566 -9.85 -9.6985 -13.9431 22.2261 -9.855 -9.91016 -14.1452 22.6158 -9.86 -10.1212 -14.3317 23.0252 -9.865 -10.3308 -14.5012 23.4534 -9.87 -10.5382 -14.652 23.8993 -9.875 -10.7426 -14.7825 24.3618 -9.88 -10.943 -14.8912 24.8395 -9.885 -11.1386 -14.9766 25.3306 -9.89 -11.3284 -15.037 25.8335 -9.895 -11.5112 -15.071 26.3461 -9.9 -11.6859 -15.0771 26.8662 -9.905 -11.8514 -15.0536 27.3914 -9.91 -12.0066 -14.999 27.9193 -9.915 -12.1513 -14.9089 28.4491 -9.92 -12.2846 -14.7836 28.9774 -9.925 -12.4051 -14.6251 29.4999 -9.93 -12.5117 -14.4356 30.0125 -9.935 -12.6033 -14.2171 30.5117 -9.94 -12.6791 -13.9714 30.994 -9.945 -12.7383 -13.7004 31.4563 -9.95 -12.7802 -13.4061 31.896 -9.955 -12.8046 -13.0902 32.3107 -9.96 -12.811 -12.7544 32.6981 -9.965 -12.7994 -12.4003 33.0565 -9.97 -12.7696 -12.0297 33.3844 -9.975 -12.7219 -11.644 33.6806 -9.98 -12.6565 -11.2448 33.9443 -9.985 -12.5738 -10.8336 34.1749 -9.99 -12.4745 -10.4117 34.3722 -9.995 -12.3593 -9.98047 34.5362 -10 -12.229 -9.54128 34.6674 -10.005 -12.0847 -9.09533 34.7664 -10.01 -11.9273 -8.64441 34.834 -10.015 -11.7558 -8.19702 34.8691 -10.02 -11.5707 -7.75731 34.8716 -10.025 -11.3734 -7.3273 34.8423 -10.03 -11.165 -6.90882 34.7823 -10.035 -10.947 -6.50354 34.6926 -10.04 -10.7204 -6.11293 34.5745 -10.045 -10.4864 -5.73832 34.4294 -10.05 -10.2461 -5.38084 34.2589 -10.055 -10.0008 -5.04145 34.0646 -10.06 -9.75143 -4.72093 33.8484 -10.065 -9.49914 -4.4199 33.6122 -10.07 -9.24494 -4.13879 33.3583 -10.075 -8.98986 -3.87786 33.0889 -10.08 -8.73488 -3.63718 32.8063 -10.085 -8.48096 -3.41668 32.5133 -10.09 -8.22904 -3.21608 32.2124 -10.095 -7.98001 -3.03494 31.9066 -10.1 -7.73479 -2.87254 31.5984 -10.105 -7.49423 -2.72724 31.2859 -10.11 -7.25886 -2.59815 30.9692 -10.115 -7.0291 -2.4846 30.6494 -10.12 -6.80537 -2.38588 30.3272 -10.125 -6.58801 -2.30129 30.0034 -10.13 -6.37736 -2.23014 29.6788 -10.135 -6.17371 -2.1717 29.354 -10.14 -5.9773 -2.12525 29.0297 -10.145 -5.78837 -2.09007 28.7064 -10.15 -5.60709 -2.0654 28.3846 -10.155 -5.4336 -2.05052 28.0648 -10.16 -5.26801 -2.04465 27.7472 -10.165 -5.11041 -2.04704 27.4322 -10.17 -4.96083 -2.05692 27.1201 -10.175 -4.81926 -2.07352 26.8111 -10.18 -4.68568 -2.09604 26.5052 -10.185 -4.56 -2.12376 26.2026 -10.19 -4.44194 -2.15686 25.9034 -10.195 -4.33133 -2.19521 25.6078 -10.2 -4.22807 -2.23847 25.3158 -10.205 -4.13204 -2.28633 25.0275 -10.21 -4.04311 -2.3385 24.743 -10.215 -3.96115 -2.39473 24.4623 -10.22 -3.88605 -2.4548 24.1855 -10.225 -3.81766 -2.51852 23.9127 -10.23 -3.75585 -2.58573 23.6438 -10.235 -3.70048 -2.65628 23.3791 -10.24 -3.6514 -2.73006 23.1185 -10.245 -3.60847 -2.80702 22.8622 -10.25 -3.57153 -2.88708 22.6101 -10.255 -3.54043 -2.97024 22.3623 -10.26 -3.51501 -3.05651 22.1189 -10.265 -3.4951 -3.14592 21.8799 -10.27 -3.48053 -3.23855 21.6455 -10.275 -3.47114 -3.33448 21.4155 -10.28 -3.4667 -3.43383 21.1902 -10.285 -3.46715 -3.53662 20.9697 -10.29 -3.47251 -3.64289 20.754 -10.295 -3.48278 -3.75269 20.5432 -10.3 -3.49796 -3.86606 20.3373 -10.305 -3.51806 -3.98308 20.1365 -10.31 -3.54307 -4.10384 19.9408 -10.315 -3.57297 -4.22843 19.7503 -10.32 -3.60777 -4.35696 19.5653 -10.325 -3.64743 -4.48956 19.3858 -10.33 -3.69194 -4.62635 19.2121 -10.335 -3.74128 -4.7675 19.0442 -10.34 -3.79541 -4.91316 18.8824 -10.345 -3.85429 -5.06351 18.727 -10.35 -3.9179 -5.21873 18.578 -10.355 -3.98618 -5.37904 18.4358 -10.36 -4.0591 -5.54464 18.3006 -10.365 -4.1366 -5.71577 18.1727 -10.37 -4.21862 -5.89265 18.0524 -10.375 -4.30511 -6.07556 17.9399 -10.38 -4.39609 -6.26459 17.8356 -10.385 -4.49184 -6.45943 17.7398 -10.39 -4.59251 -6.66027 17.6528 -10.395 -4.69822 -6.86735 17.575 -10.4 -4.80906 -7.08082 17.5069 -10.405 -4.92511 -7.30081 17.4489 -10.41 -5.04647 -7.52741 17.4014 -10.415 -5.17318 -7.76064 17.365 -10.42 -5.30532 -8.00051 17.3402 -10.425 -5.44293 -8.24694 17.3274 -10.43 -5.58605 -8.49985 17.3274 -10.435 -5.73469 -8.75909 17.3405 -10.44 -5.88888 -9.02447 17.3675 -10.445 -6.04862 -9.29574 17.409 -10.45 -6.21392 -9.57263 17.4657 -10.455 -6.38474 -9.85482 17.5381 -10.46 -6.56107 -10.1419 17.6271 -10.465 -6.74286 -10.4335 17.7333 -10.47 -6.93008 -10.7292 17.8575 -10.475 -7.12267 -11.0283 18.0005 -10.48 -7.32055 -11.3305 18.163 -10.485 -7.52333 -11.6352 18.3448 -10.49 -7.7308 -11.9415 18.5463 -10.495 -7.94289 -12.2482 18.769 -10.5 -8.15947 -12.5538 19.0139 -10.505 -8.38033 -12.8571 19.282 -10.51 -8.60519 -13.1564 19.5739 -10.515 -8.83368 -13.4503 19.8903 -10.52 -9.06539 -13.7371 20.2314 -10.525 -9.2998 -14.0152 20.5973 -10.53 -9.53634 -14.2828 20.9881 -10.535 -9.77435 -14.538 21.4032 -10.54 -10.0131 -14.779 21.8424 -10.545 -10.2518 -15.0038 22.3049 -10.55 -10.4896 -15.2103 22.7899 -10.555 -10.7256 -15.3965 23.2962 -10.56 -10.9586 -15.5602 23.8226 -10.565 -11.1876 -15.6991 24.3676 -10.57 -11.4116 -15.8108 24.9295 -10.575 -11.6291 -15.8932 25.5064 -10.58 -11.8389 -15.9435 26.0963 -10.585 -12.0398 -15.9594 26.6972 -10.59 -12.2316 -15.939 27.3076 -10.595 -12.4127 -15.8815 27.9232 -10.6 -12.5815 -15.7865 28.5393 -10.605 -12.7364 -15.6539 29.1516 -10.61 -12.8761 -15.4838 29.756 -10.615 -12.9993 -15.2766 30.3486 -10.62 -13.105 -15.0328 30.9255 -10.625 -13.1922 -14.7535 31.4834 -10.63 -13.2602 -14.4396 32.0189 -10.635 -13.3082 -14.0927 32.5291 -10.64 -13.3359 -13.7143 33.011 -10.645 -13.3428 -13.3065 33.462 -10.65 -13.3287 -12.8713 33.8798 -10.655 -13.2935 -12.4112 34.262 -10.66 -13.2374 -11.9289 34.6069 -10.665 -13.1605 -11.4273 34.9125 -10.67 -13.0631 -10.91 35.1772 -10.675 -12.9448 -10.3827 35.3985 -10.68 -12.8061 -9.85028 35.5762 -10.685 -12.6482 -9.31644 35.7108 -10.69 -12.4723 -8.78475 35.8031 -10.695 -12.2793 -8.25852 35.8542 -10.7 -12.0706 -7.7408 35.8651 -10.705 -11.8473 -7.23438 35.8373 -10.71 -11.6107 -6.74181 35.7722 -10.715 -11.362 -6.26537 35.6717 -10.72 -11.1027 -5.8071 35.5376 -10.725 -10.834 -5.36879 35.3722 -10.73 -10.5574 -4.95197 35.1778 -10.735 -10.2742 -4.55792 34.9569 -10.74 -9.98606 -4.18765 34.7122 -10.745 -9.69435 -3.84196 34.4468 -10.75 -9.40066 -3.52135 34.1636 -10.755 -9.10652 -3.22584 33.8659 -10.76 -8.81308 -2.95379 33.5555 -10.765 -8.52137 -2.70459 33.2339 -10.77 -8.23235 -2.47788 32.9027 -10.775 -7.94694 -2.27318 32.5632 -10.78 -7.66598 -2.08991 32.217 -10.785 -7.39025 -1.92739 31.8653 -10.79 -7.12044 -1.78484 31.5094 -10.795 -6.8572 -1.66139 31.1505 -10.8 -6.6011 -1.55605 30.7897 -10.805 -6.35264 -1.46776 30.428 -10.81 -6.11226 -1.39532 30.0664 -10.815 -5.88032 -1.33747 29.7058 -10.82 -5.65711 -1.29283 29.3469 -10.825 -5.44289 -1.25991 28.9905 -10.83 -5.23779 -1.23715 28.6372 -10.835 -5.04193 -1.22286 28.2877 -10.84 -4.85532 -1.21527 27.9425 -10.845 -4.67779 -1.21459 27.6012 -10.85 -4.50911 -1.22145 27.2634 -10.855 -4.34916 -1.23524 26.9294 -10.86 -4.19781 -1.25536 26.5992 -10.865 -4.05493 -1.28125 26.2729 -10.87 -3.92038 -1.31242 25.9505 -10.875 -3.79399 -1.34839 25.6322 -10.88 -3.67561 -1.38875 25.318 -10.885 -3.56507 -1.43311 25.0079 -10.89 -3.46218 -1.48112 24.7021 -10.895 -3.36675 -1.5325 24.4004 -10.9 -3.27859 -1.58698 24.1029 -10.905 -3.1975 -1.64434 23.8097 -10.91 -3.12325 -1.70442 23.5207 -10.915 -3.05563 -1.76708 23.2358 -10.92 -2.99439 -1.83224 22.9551 -10.925 -2.93923 -1.89985 22.6786 -10.93 -2.88995 -1.96986 22.4062 -10.935 -2.84644 -2.04218 22.1381 -10.94 -2.8086 -2.11677 21.8741 -10.945 -2.77631 -2.19358 21.6143 -10.95 -2.74945 -2.27261 21.3587 -10.955 -2.72791 -2.35386 21.1073 -10.96 -2.71156 -2.43738 20.8601 -10.965 -2.70028 -2.52321 20.6171 -10.97 -2.69395 -2.61143 20.3785 -10.975 -2.69244 -2.70214 20.1441 -10.98 -2.69561 -2.79545 19.914 -10.985 -2.70335 -2.89151 19.6884 -10.99 -2.7155 -2.99048 19.4672 -10.995 -2.73194 -3.09254 19.2505 -11 -2.75253 -3.19791 19.0384 -11.005 -2.77712 -3.3068 18.8309 -11.01 -2.80567 -3.41939 18.6281 -11.015 -2.8383 -3.53571 18.4302 -11.02 -2.87505 -3.65592 18.2372 -11.025 -2.91595 -3.78018 18.0492 -11.03 -2.96101 -3.90866 17.8663 -11.035 -3.01028 -4.04153 17.6886 -11.04 -3.06379 -4.179 17.5163 -11.045 -3.12157 -4.32124 17.3496 -11.05 -3.18367 -4.46845 17.1886 -11.055 -3.25012 -4.62084 17.0335 -11.06 -3.32097 -4.77863 16.8845 -11.065 -3.39626 -4.94204 16.7418 -11.07 -3.47603 -5.11129 16.6058 -11.075 -3.56034 -5.28662 16.4767 -11.08 -3.64924 -5.46827 16.3547 -11.085 -3.74278 -5.6565 16.2402 -11.09 -3.84102 -5.85156 16.1334 -11.095 -3.94401 -6.0536 16.0348 -11.1 -4.05188 -6.26234 15.9447 -11.105 -4.16479 -6.47812 15.8636 -11.11 -4.28292 -6.70134 15.7918 -11.115 -4.40642 -6.93233 15.7298 -11.12 -4.53545 -7.17134 15.6781 -11.125 -4.67013 -7.4186 15.6373 -11.13 -4.8106 -7.67424 15.608 -11.135 -4.95697 -7.93834 15.5907 -11.14 -5.10934 -8.21093 15.5862 -11.145 -5.2678 -8.49196 15.595 -11.15 -5.43244 -8.78133 15.618 -11.155 -5.60332 -9.07888 15.6558 -11.16 -5.78052 -9.38437 15.7093 -11.165 -5.96407 -9.69751 15.7794 -11.17 -6.15402 -10.018 15.8668 -11.175 -6.35039 -10.3453 15.9724 -11.18 -6.55321 -10.6791 16.0973 -11.185 -6.76247 -11.0187 16.2424 -11.19 -6.97817 -11.3636 16.4086 -11.195 -7.20029 -11.7131 16.5971 -11.2 -7.42882 -12.0665 16.809 -11.205 -7.66367 -12.4231 17.0451 -11.21 -7.90427 -12.782 17.3053 -11.215 -8.15036 -13.1419 17.5906 -11.22 -8.40181 -13.5008 17.9027 -11.225 -8.65837 -13.8568 18.2429 -11.23 -8.91971 -14.208 18.6123 -11.235 -9.18538 -14.5521 19.0117 -11.24 -9.45485 -14.8869 19.4415 -11.245 -9.72746 -15.2102 19.902 -11.25 -10.0025 -15.5195 20.393 -11.255 -10.279 -15.8123 20.9142 -11.26 -10.5562 -16.0859 21.4649 -11.265 -10.8329 -16.3377 22.0441 -11.27 -11.1079 -16.5648 22.6507 -11.275 -11.3801 -16.7644 23.283 -11.28 -11.648 -16.9333 23.9392 -11.285 -11.9103 -17.0686 24.6173 -11.29 -12.1653 -17.1669 25.3147 -11.295 -12.4113 -17.2251 26.0289 -11.3 -12.6468 -17.2396 26.7572 -11.305 -12.8713 -17.2078 27.4975 -11.31 -13.0828 -17.1286 28.2442 -11.315 -13.2791 -17.0013 28.9909 -11.32 -13.4583 -16.8255 29.7319 -11.325 -13.6186 -16.6015 30.4617 -11.33 -13.7584 -16.3297 31.175 -11.335 -13.8763 -16.0111 31.8669 -11.34 -13.9712 -15.6469 32.5328 -11.345 -14.0421 -15.2389 33.1682 -11.35 -14.0882 -14.7891 33.7693 -11.355 -14.1088 -14.2999 34.3324 -11.36 -14.1035 -13.7744 34.8539 -11.365 -14.0722 -13.2157 35.3308 -11.37 -14.0147 -12.6275 35.7603 -11.375 -13.9312 -12.0138 36.1399 -11.38 -13.8219 -11.3794 36.4672 -11.385 -13.6864 -10.7321 36.7386 -11.39 -13.5257 -10.0781 36.9542 -11.395 -13.3409 -9.42286 37.1149 -11.4 -13.1335 -8.77115 37.2222 -11.405 -12.905 -8.12755 37.2773 -11.41 -12.6568 -7.4962 37.2822 -11.415 -12.3905 -6.88086 37.2389 -11.42 -12.1078 -6.28489 37.1496 -11.425 -11.8102 -5.71129 37.017 -11.43 -11.4997 -5.16264 36.8439 -11.435 -11.1779 -4.64115 36.6333 -11.44 -10.8468 -4.14863 36.3888 -11.445 -10.5082 -3.68652 36.1137 -11.45 -10.1643 -3.25587 35.8122 -11.455 -9.81703 -2.85733 35.4883 -11.46 -9.46842 -2.49091 35.1462 -11.465 -9.11979 -2.15513 34.7883 -11.47 -8.77256 -1.84917 34.4171 -11.475 -8.42806 -1.57222 34.0349 -11.48 -8.08755 -1.32332 33.6437 -11.485 -7.75216 -1.10143 33.2456 -11.49 -7.4229 -0.905347 32.8424 -11.495 -7.10071 -0.733765 32.4359 -11.5 -6.7864 -0.585248 32.0276 -11.505 -6.48066 -0.458237 31.6188 -11.51 -6.18411 -0.351048 31.211 -11.515 -5.89722 -0.261874 30.8051 -11.52 -5.62038 -0.188784 30.4021 -11.525 -5.35387 -0.129723 30.0029 -11.53 -5.09786 -0.0825895 29.608 -11.535 -4.85245 -0.0470401 29.2175 -11.54 -4.61761 -0.0224923 28.8315 -11.545 -4.39328 -0.00786756 28.45 -11.55 -4.17934 -0.00215165 28.0733 -11.555 -3.97569 -0.00439435 27.7015 -11.56 -3.78219 -0.0137096 27.3347 -11.565 -3.59868 -0.0292753 26.9729 -11.57 -3.42496 -0.0503338 26.6162 -11.575 -3.26085 -0.0761913 26.2647 -11.58 -3.10611 -0.106218 25.9182 -11.585 -2.9605 -0.139849 25.5768 -11.59 -2.82375 -0.176582 25.2404 -11.595 -2.69557 -0.21598 24.9089 -11.6 -2.57565 -0.25767 24.5821 -11.605 -2.46358 -0.30136 24.2601 -11.61 -2.35899 -0.346795 23.9426 -11.615 -2.26166 -0.393721 23.6297 -11.62 -2.17136 -0.441913 23.3213 -11.625 -2.08785 -0.491174 23.0174 -11.63 -2.01089 -0.541337 22.7178 -11.635 -1.94025 -0.592264 22.4224 -11.64 -1.87567 -0.643845 22.1313 -11.645 -1.81691 -0.696002 21.8444 -11.65 -1.76372 -0.748683 21.5615 -11.655 -1.71583 -0.801867 21.2826 -11.66 -1.67299 -0.85556 21.0078 -11.665 -1.63494 -0.909799 20.7368 -11.67 -1.6014 -0.96465 20.4698 -11.675 -1.5721 -1.02021 20.2065 -11.68 -1.54677 -1.07659 19.947 -11.685 -1.52519 -1.13392 19.6912 -11.69 -1.50733 -1.19219 19.4392 -11.695 -1.4931 -1.25142 19.1908 -11.7 -1.48244 -1.31169 18.9461 -11.705 -1.47529 -1.37304 18.7051 -11.71 -1.47155 -1.43555 18.4676 -11.715 -1.47117 -1.49933 18.2337 -11.72 -1.47405 -1.56447 18.0035 -11.725 -1.48014 -1.63111 17.7768 -11.73 -1.48933 -1.69937 17.5536 -11.735 -1.50157 -1.76942 17.334 -11.74 -1.51675 -1.8414 17.118 -11.745 -1.53481 -1.91552 16.9055 -11.75 -1.55567 -1.99195 16.6966 -11.755 -1.57922 -2.0709 16.4913 -11.76 -1.6054 -2.15261 16.2896 -11.765 -1.63416 -2.23728 16.0915 -11.77 -1.66564 -2.32497 15.8971 -11.775 -1.69991 -2.41585 15.7064 -11.78 -1.73699 -2.51008 15.5194 -11.785 -1.77695 -2.60784 15.3362 -11.79 -1.81983 -2.70932 15.1569 -11.795 -1.8657 -2.81472 14.9814 -11.8 -1.9146 -2.92425 14.8099 -11.805 -1.96662 -3.03813 14.6424 -11.81 -2.02181 -3.1566 14.4791 -11.815 -2.08025 -3.27989 14.3201 -11.82 -2.14202 -3.40827 14.1654 -11.825 -2.20719 -3.54198 14.0153 -11.83 -2.27586 -3.68132 13.8699 -11.835 -2.34812 -3.82655 13.7293 -11.84 -2.42405 -3.97798 13.5937 -11.845 -2.50375 -4.13591 13.4633 -11.85 -2.58739 -4.30046 13.3384 -11.855 -2.67518 -4.4717 13.2194 -11.86 -2.76727 -4.65009 13.1063 -11.865 -2.86382 -4.83605 12.9995 -11.87 -2.96499 -5.03003 12.8991 -11.875 -3.07093 -5.2324 12.8054 -11.88 -3.18182 -5.44355 12.7188 -11.885 -3.29783 -5.66383 12.6396 -11.89 -3.41914 -5.89355 12.5684 -11.895 -3.54594 -6.13304 12.5056 -11.9 -3.67843 -6.38257 12.4518 -11.905 -3.8168 -6.6424 12.4076 -11.91 -3.96126 -6.91277 12.3736 -11.915 -4.11202 -7.1939 12.3506 -11.92 -4.26929 -7.48597 12.3392 -11.925 -4.43331 -7.78915 12.3404 -11.93 -4.60428 -8.1036 12.3549 -11.935 -4.78246 -8.42943 12.3837 -11.94 -4.96808 -8.76674 12.4277 -11.945 -5.16138 -9.11562 12.488 -11.95 -5.36263 -9.47612 12.5655 -11.955 -5.57207 -9.84826 12.6615 -11.96 -5.78991 -10.232 12.7771 -11.965 -6.01572 -10.6262 12.9126 -11.97 -6.24971 -11.0307 13.0698 -11.975 -6.49222 -11.4456 13.2508 -11.98 -6.74353 -11.8706 13.4574 -11.985 -7.00378 -12.3051 13.6913 -11.99 -7.27303 -12.7482 13.9544 -11.995 -7.55124 -13.1988 14.2483 -12 -7.83828 -13.6554 14.5744 -12.005 -8.13391 -14.1163 14.9342 -12.01 -8.43779 -14.5795 15.329 -12.015 -8.74949 -15.0427 15.7601 -12.02 -9.06848 -15.5033 16.2287 -12.025 -9.39414 -15.9584 16.7357 -12.03 -9.72572 -16.4049 17.2821 -12.035 -10.0624 -16.8392 17.8688 -12.04 -10.4033 -17.2577 18.4966 -12.045 -10.7473 -17.6562 19.1662 -12.05 -11.0933 -18.0306 19.8781 -12.055 -11.4402 -18.3761 20.6328 -12.06 -11.7867 -18.6905 21.4295 -12.065 -12.1309 -18.9686 22.2654 -12.07 -12.4707 -19.2037 23.1374 -12.075 -12.8039 -19.3894 24.042 -12.08 -13.1281 -19.5203 24.975 -12.085 -13.4412 -19.5917 25.9318 -12.09 -13.7407 -19.5995 26.9073 -12.095 -14.0244 -19.5405 27.8958 -12.1 -14.29 -19.412 28.8912 -12.105 -14.5349 -19.2123 29.8867 -12.11 -14.7568 -18.9401 30.8753 -12.115 -14.9534 -18.5951 31.8491 -12.12 -15.122 -18.1777 32.8 -12.125 -15.2603 -17.6887 33.7193 -12.13 -15.3657 -17.1301 34.5976 -12.135 -15.4367 -16.499 35.4237 -12.14 -15.4725 -15.8019 36.1902 -12.145 -15.472 -15.0511 36.8923 -12.15 -15.4344 -14.2578 37.5261 -12.155 -15.3595 -13.4322 38.0884 -12.16 -15.2473 -12.584 38.5766 -12.165 -15.0985 -11.7215 38.989 -12.17 -14.9137 -10.8526 39.3243 -12.175 -14.6944 -9.98374 39.5823 -12.18 -14.4421 -9.12095 39.7632 -12.185 -14.159 -8.26909 39.868 -12.19 -13.8474 -7.43219 39.8984 -12.195 -13.5102 -6.61338 39.8569 -12.2 -13.1507 -5.81487 39.7465 -12.205 -12.7725 -5.03805 39.5712 -12.21 -12.3765 -4.29409 39.339 -12.215 -11.9645 -3.59235 39.0575 -12.22 -11.5396 -2.93509 38.7319 -12.225 -11.1045 -2.3239 38.3675 -12.23 -10.6623 -1.75975 37.9694 -12.235 -10.2154 -1.24292 37.5427 -12.24 -9.76634 -0.77304 37.0922 -12.245 -9.31739 -0.349104 36.623 -12.25 -8.87068 0.0305693 36.1396 -12.255 -8.42815 0.368309 35.6468 -12.26 -7.99161 0.667101 35.1493 -12.265 -7.56267 0.930566 34.6513 -12.27 -7.14278 1.16079 34.1543 -12.275 -6.73303 1.35949 33.6587 -12.28 -6.33427 1.52922 33.1661 -12.285 -5.94725 1.67245 32.6779 -12.29 -5.57262 1.79158 32.1954 -12.295 -5.2109 1.88892 31.7195 -12.3 -4.86249 1.9667 31.2509 -12.305 -4.52768 2.02709 30.7904 -12.31 -4.20665 2.07215 30.3382 -12.315 -3.89947 2.1039 29.8946 -12.32 -3.60607 2.12424 29.4595 -12.325 -3.32629 2.13501 29.0328 -12.33 -3.05989 2.13764 28.6145 -12.335 -2.80655 2.13322 28.2045 -12.34 -2.56591 2.12287 27.8027 -12.345 -2.33759 2.10763 27.4088 -12.35 -2.12119 2.08845 27.0225 -12.355 -1.91632 2.06623 26.6437 -12.36 -1.72256 2.04179 26.2722 -12.365 -1.53947 2.01586 25.9076 -12.37 -1.36663 1.98913 25.5498 -12.375 -1.20357 1.96218 25.1987 -12.38 -1.04983 1.93555 24.8539 -12.385 -0.90494 1.90967 24.5152 -12.39 -0.7684 1.88494 24.1826 -12.395 -0.63971 1.86164 23.8557 -12.4 -0.518357 1.84001 23.5344 -12.405 -0.403816 1.82023 23.2185 -12.41 -0.295642 1.80253 22.9078 -12.415 -0.193481 1.78709 22.6022 -12.42 -0.096982 1.77409 22.3015 -12.425 -0.0057925 1.76366 22.0057 -12.43 0.0804395 1.75593 21.7145 -12.435 0.162067 1.75102 21.428 -12.44 0.239444 1.74901 21.146 -12.445 0.312925 1.74997 20.8684 -12.45 0.382864 1.75396 20.5951 -12.455 0.449618 1.76102 20.326 -12.46 0.513542 1.77115 20.0611 -12.465 0.574993 1.78435 19.8003 -12.47 0.634324 1.8006 19.5434 -12.475 0.691764 1.81997 19.2905 -12.48 0.747491 1.84251 19.0415 -12.485 0.801698 1.8683 18.7965 -12.49 0.85458 1.8974 18.5552 -12.495 0.906336 1.92986 18.3178 -12.5 0.957168 1.96574 18.0842 -12.505 1.00728 2.00509 17.8544 -12.51 1.05688 2.04797 17.6284 -12.515 1.10618 2.09442 17.406 -12.52 1.15539 2.14449 17.1874 -12.525 1.20473 2.19822 16.9726 -12.53 1.25442 2.25566 16.7614 -12.535 1.30468 2.31684 16.554 -12.54 1.35571 2.38184 16.3502 -12.545 1.40762 2.45079 16.1502 -12.55 1.46052 2.52384 15.954 -12.555 1.51452 2.60114 15.7616 -12.56 1.56973 2.68284 15.5731 -12.565 1.62629 2.7691 15.3884 -12.57 1.68434 2.86007 15.2077 -12.575 1.74403 2.95591 15.031 -12.58 1.80551 3.05679 14.8585 -12.585 1.86895 3.16287 14.69 -12.59 1.93453 3.27432 14.5259 -12.595 2.00244 3.3913 14.3662 -12.6 2.07287 3.51399 14.2109 -12.605 2.14602 3.64256 14.0602 -12.61 2.22211 3.77718 13.9143 -12.615 2.30137 3.91804 13.7732 -12.62 2.38393 4.06532 13.6373 -12.625 2.46993 4.21935 13.5067 -12.63 2.55949 4.38047 13.3816 -12.635 2.65276 4.54901 13.2622 -12.64 2.74988 4.7253 13.1488 -12.645 2.85103 4.90966 13.0415 -12.65 2.95638 5.10239 12.9409 -12.655 3.06612 5.30379 12.8471 -12.66 3.18044 5.51415 12.7607 -12.665 3.29957 5.73376 12.682 -12.67 3.42371 5.96289 12.6116 -12.675 3.55311 6.20179 12.5498 -12.68 3.688 6.45073 12.4973 -12.685 3.82864 6.70995 12.4546 -12.69 3.9753 6.97969 12.4224 -12.695 4.12826 7.26017 12.4013 -12.7 4.28781 7.55162 12.3919 -12.705 4.45424 7.85424 12.3951 -12.71 4.62753 8.16739 12.4114 -12.715 4.80762 8.49065 12.4416 -12.72 4.99492 8.82492 12.487 -12.725 5.18981 9.1709 12.5487 -12.73 5.3926 9.52905 12.628 -12.735 5.60356 9.89963 12.7261 -12.74 5.8229 10.2827 12.8444 -12.745 6.05079 10.678 12.9841 -12.75 6.28734 11.0853 13.1467 -12.755 6.53262 11.5039 13.3333 -12.76 6.78663 11.9329 13.5455 -12.765 7.04934 12.3715 13.7847 -12.77 7.32066 12.8182 14.0522 -12.775 7.60045 13.2717 14.3496 -12.78 7.88851 13.7303 14.6783 -12.785 8.18461 14.1921 15.0398 -12.79 8.48845 14.6549 15.4357 -12.795 8.79969 15.1165 15.8674 -12.8 9.11793 15.5743 16.3367 -12.805 9.44273 16.0256 16.8451 -12.81 9.7736 16.4674 17.3942 -12.815 10.11 16.8965 17.9856 -12.82 10.4511 17.31 18.6205 -12.825 10.7955 17.7056 19.297 -12.83 11.1416 18.0775 20.0151 -12.835 11.4881 18.4196 20.7744 -12.84 11.8333 18.7265 21.5738 -12.845 12.1756 18.9928 22.4115 -12.85 12.513 19.2137 23.2851 -12.855 12.8437 19.3846 24.1914 -12.86 13.1655 19.5012 25.1265 -12.865 13.4763 19.5594 26.0858 -12.87 13.7736 19.5558 27.064 -12.875 14.055 19.487 28.0552 -12.88 14.3179 19.35 29.0527 -12.885 14.5595 19.1422 30.0492 -12.89 14.777 18.8612 31.0365 -12.895 14.9682 18.5028 32.0067 -12.9 15.1317 18.0637 32.9519 -12.905 15.2649 17.5516 33.8623 -12.91 15.3655 16.9741 34.729 -12.915 15.4317 16.3386 35.5442 -12.92 15.462 15.6522 36.3009 -12.925 15.4554 14.9216 36.9933 -12.93 15.4115 14.1534 37.6163 -12.935 15.3301 13.3538 38.1663 -12.94 15.2117 12.5285 38.6401 -12.945 15.057 11.6833 39.0358 -12.95 14.8674 10.8234 39.3527 -12.955 14.6445 9.95371 39.5906 -12.96 14.3906 9.07903 39.7507 -12.965 14.1082 8.20373 39.8351 -12.97 13.7986 7.33845 39.8464 -12.975 13.4622 6.49826 39.7885 -12.98 13.102 5.68871 39.6655 -12.985 12.721 4.91452 39.4821 -12.99 12.322 4.17962 39.2431 -12.995 11.908 3.48718 38.9536 -13 11.4817 2.83956 38.6189 -13.005 11.0457 2.23837 38.2446 -13.01 10.6027 1.68443 37.8364 -13.015 10.1552 1.17779 37.4005 -13.02 9.7058 0.71772 36.9432 -13.025 9.25685 0.302711 36.4711 -13.03 8.81073 -0.069513 35.9908 -13.035 8.36943 -0.401257 35.5042 -13.04 7.93452 -0.69466 35.0121 -13.045 7.5074 -0.952062 34.5171 -13.05 7.08933 -1.17582 34.0213 -13.055 6.68142 -1.36831 33.527 -13.06 6.28464 -1.53192 33.0358 -13.065 5.89982 -1.66907 32.5492 -13.07 5.52762 -1.78219 32.0686 -13.075 5.16859 -1.87372 31.595 -13.08 4.82311 -1.94614 31.1289 -13.085 4.49141 -2.00193 30.671 -13.09 4.17358 -2.04359 30.2214 -13.095 3.86961 -2.07341 29.78 -13.1 3.57939 -2.09228 29.3472 -13.105 3.30268 -2.10154 28.9228 -13.11 3.03919 -2.10253 28.5067 -13.115 2.78862 -2.09653 28.0988 -13.12 2.55063 -2.08472 27.6989 -13.125 2.32487 -2.0682 27.3068 -13.13 2.11098 -2.04796 26.9223 -13.135 1.90856 -2.02491 26.5452 -13.14 1.71719 -1.99985 26.1754 -13.145 1.53645 -1.97352 25.8126 -13.15 1.36587 -1.94654 25.4566 -13.155 1.20498 -1.91945 25.1071 -13.16 1.05328 -1.89269 24.7639 -13.165 0.910249 -1.86662 24.4268 -13.17 0.775313 -1.84161 24.0955 -13.175 0.648053 -1.81798 23.7698 -13.18 0.528081 -1.79599 23.4497 -13.185 0.415002 -1.77589 23.1349 -13.19 0.308424 -1.75789 22.8253 -13.195 0.207952 -1.74219 22.5207 -13.2 0.113189 -1.72896 22.2211 -13.205 0.0237365 -1.71831 21.9263 -13.21 -0.0608044 -1.71038 21.6361 -13.215 -0.140835 -1.70523 21.3505 -13.22 -0.216758 -1.70293 21.0693 -13.225 -0.288977 -1.7035 20.7924 -13.23 -0.357897 -1.70695 20.5198 -13.235 -0.423883 -1.71328 20.2514 -13.24 -0.487148 -1.72256 19.987 -13.245 -0.547908 -1.73488 19.7267 -13.25 -0.606385 -1.75029 19.4704 -13.255 -0.662799 -1.76885 19.218 -13.26 -0.717377 -1.79061 18.9696 -13.265 -0.770347 -1.81561 18.725 -13.27 -0.82194 -1.8439 18.4843 -13.275 -0.872391 -1.87551 18.2473 -13.28 -0.921938 -1.91047 18.0141 -13.285 -0.970819 -1.9488 17.7847 -13.29 -1.01928 -1.99052 17.5589 -13.295 -1.06756 -2.03565 17.3368 -13.3 -1.11591 -2.08419 17.1184 -13.305 -1.16451 -2.13622 16.9036 -13.31 -1.21344 -2.19187 16.6925 -13.315 -1.26283 -2.25124 16.485 -13.32 -1.3128 -2.31445 16.2813 -13.325 -1.36348 -2.38164 16.0812 -13.33 -1.415 -2.45292 15.8849 -13.335 -1.46751 -2.52842 15.6923 -13.34 -1.52116 -2.60826 15.5035 -13.345 -1.57611 -2.69258 15.3186 -13.35 -1.63253 -2.7815 15.1375 -13.355 -1.6906 -2.87516 14.9604 -13.36 -1.7505 -2.97368 14.7873 -13.365 -1.81243 -3.07721 14.6183 -13.37 -1.87658 -3.18589 14.4534 -13.375 -1.94316 -3.29984 14.2928 -13.38 -2.01234 -3.41925 14.1365 -13.385 -2.08422 -3.54438 13.9847 -13.39 -2.1589 -3.67549 13.8376 -13.395 -2.23652 -3.81288 13.6952 -13.4 -2.31721 -3.95681 13.5577 -13.405 -2.4011 -4.10757 13.4253 -13.41 -2.48837 -4.26542 13.2983 -13.415 -2.57918 -4.43065 13.1767 -13.42 -2.6737 -4.60353 13.061 -13.425 -2.77215 -4.78432 12.9514 -13.43 -2.87471 -4.97331 12.8482 -13.435 -2.98161 -5.17077 12.7518 -13.44 -3.09307 -5.37697 12.6625 -13.445 -3.20934 -5.59218 12.5807 -13.45 -3.33067 -5.81667 12.5068 -13.455 -3.45732 -6.05071 12.4413 -13.46 -3.58957 -6.29458 12.3846 -13.465 -3.72766 -6.54839 12.3372 -13.47 -3.87162 -6.81177 12.3 -13.475 -4.02172 -7.08537 12.2734 -13.48 -4.17822 -7.36987 12.2581 -13.485 -4.34139 -7.66585 12.255 -13.49 -4.51147 -7.97377 12.2648 -13.495 -4.68871 -8.29394 12.2883 -13.5 -4.87331 -8.6266 12.3266 -13.505 -5.06548 -8.97183 12.3806 -13.51 -5.2654 -9.32961 12.4514 -13.515 -5.47324 -9.6998 12.5402 -13.52 -5.68915 -10.0821 12.6481 -13.525 -5.91327 -10.4763 12.7765 -13.53 -6.14572 -10.8817 12.9266 -13.535 -6.38661 -11.2977 13.1 -13.54 -6.63603 -11.7237 13.298 -13.545 -6.89406 -12.1587 13.5222 -13.55 -7.16074 -12.6019 13.7742 -13.555 -7.43614 -13.052 14.0557 -13.56 -7.72026 -13.508 14.3685 -13.565 -8.01313 -13.9684 14.7143 -13.57 -8.31473 -14.4319 15.0949 -13.575 -8.62411 -14.8973 15.5103 -13.58 -8.94068 -15.3621 15.9618 -13.585 -9.26414 -15.8229 16.452 -13.59 -9.59406 -16.2761 16.9831 -13.595 -9.92981 -16.7181 17.5565 -13.6 -10.2706 -17.1451 18.1732 -13.605 -10.6154 -17.5531 18.8334 -13.61 -10.9631 -17.9381 19.537 -13.615 -11.3123 -18.2958 20.2834 -13.62 -11.6616 -18.6217 21.071 -13.625 -12.0092 -18.9115 21.8983 -13.63 -12.3533 -19.1605 22.7626 -13.635 -12.6918 -19.3639 23.6612 -13.64 -13.0226 -19.5166 24.5903 -13.645 -13.3432 -19.6138 25.5461 -13.65 -13.6511 -19.65 26.5239 -13.655 -13.9436 -19.6201 27.5185 -13.66 -14.2192 -19.5186 28.5263 -13.665 -14.4757 -19.3439 29.5389 -13.67 -14.7097 -19.0958 30.5458 -13.675 -14.9183 -18.7751 31.5372 -13.68 -15.0986 -18.3828 32.5039 -13.685 -15.2486 -17.921 33.4374 -13.69 -15.3662 -17.392 34.3298 -13.695 -15.4498 -16.799 35.1742 -13.7 -15.4983 -16.1459 35.9639 -13.705 -15.5106 -15.4371 36.6932 -13.71 -15.4862 -14.6775 37.357 -13.715 -15.4249 -13.873 37.9507 -13.72 -15.3268 -13.0299 38.4707 -13.725 -15.1925 -12.1551 38.9138 -13.73 -15.0221 -11.2581 39.2764 -13.735 -14.8156 -10.3522 39.5557 -13.74 -14.575 -9.44663 39.7537 -13.745 -14.3025 -8.54937 39.8731 -13.75 -14.0002 -7.66782 39.9169 -13.755 -13.6707 -6.8086 39.8888 -13.76 -13.3162 -5.97759 39.7927 -13.765 -12.9393 -5.17993 39.6329 -13.77 -12.5427 -4.42003 39.4144 -13.775 -12.1291 -3.70154 39.1423 -13.78 -11.7013 -3.02737 38.8224 -13.785 -11.2622 -2.39972 38.4608 -13.79 -10.8149 -1.82 38.064 -13.795 -10.3623 -1.28892 37.6391 -13.8 -9.90766 -0.806131 37.1928 -13.805 -9.45289 -0.369072 36.7289 -13.81 -9.00008 0.0240757 36.251 -13.815 -8.55122 0.375065 35.7625 -13.82 -8.10811 0.685829 35.2669 -13.825 -7.67238 0.958478 34.767 -13.83 -7.24547 1.1953 34.2656 -13.835 -6.82863 1.39876 33.765 -13.84 -6.42293 1.5715 33.2673 -13.845 -6.02929 1.71635 32.7743 -13.85 -5.6484 1.8363 32.2873 -13.855 -5.2808 1.93453 31.8076 -13.86 -4.92684 2.01441 31.3358 -13.865 -4.58676 2.07807 30.8725 -13.87 -4.26065 2.12619 30.4176 -13.875 -3.94844 2.16064 29.9712 -13.88 -3.65001 2.18314 29.5332 -13.885 -3.36522 2.19534 29.1039 -13.89 -3.09385 2.19875 28.6831 -13.895 -2.83568 2.19475 28.2707 -13.9 -2.59042 2.18463 27.8667 -13.905 -2.35773 2.16956 27.4708 -13.91 -2.13727 2.15058 27.0829 -13.915 -1.92861 2.12861 26.7027 -13.92 -1.7313 2.10448 26.3299 -13.925 -1.54484 2.07889 25.9641 -13.93 -1.3686 2.05248 25.6053 -13.935 -1.20213 2.02582 25.2531 -13.94 -1.045 1.99936 24.9073 -13.945 -0.896801 1.97353 24.5678 -13.95 -0.757107 1.94874 24.2343 -13.955 -0.625489 1.92533 23.9067 -13.96 -0.50151 1.90362 23.5847 -13.965 -0.384728 1.88389 23.2682 -13.97 -0.274696 1.86638 22.957 -13.975 -0.170961 1.85128 22.651 -13.98 -0.0730627 1.83877 22.3499 -13.985 0.0194633 1.82895 22.0538 -13.99 0.107088 1.82192 21.7623 -13.995 0.190288 1.81771 21.4755 -14 0.269543 1.81634 21.1931 -14.005 0.345196 1.81786 20.9152 -14.01 0.417466 1.82236 20.6416 -14.015 0.486576 1.82995 20.3722 -14.02 0.552759 1.84071 20.107 -14.025 0.616253 1.85471 19.8461 -14.03 0.677301 1.87202 19.5892 -14.035 0.736155 1.8927 19.3364 -14.04 0.793071 1.91679 19.0876 -14.045 0.848314 1.94433 18.8427 -14.05 0.902154 1.97535 18.6018 -14.055 0.954867 2.00986 18.3648 -14.06 1.00674 2.04787 18.1316 -14.065 1.05805 2.08938 17.9022 -14.07 1.10911 2.13438 17.6765 -14.075 1.1602 2.18285 17.4546 -14.08 1.21144 2.23492 17.2364 -14.085 1.2629 2.29073 17.022 -14.09 1.31469 2.3504 16.8114 -14.095 1.36696 2.41404 16.6046 -14.1 1.41985 2.48177 16.4015 -14.105 1.4735 2.5537 16.2024 -14.11 1.52807 2.62997 16.0071 -14.115 1.58373 2.7107 15.8157 -14.12 1.64064 2.796 15.6283 -14.125 1.69898 2.88601 15.4449 -14.13 1.75894 2.98085 15.2656 -14.135 1.82072 3.08065 15.0904 -14.14 1.8845 3.18554 14.9194 -14.145 1.9505 3.29567 14.7527 -14.15 2.01894 3.41115 14.5904 -14.155 2.08994 3.53218 14.4326 -14.16 2.16362 3.65904 14.2795 -14.165 2.2401 3.79198 14.1311 -14.17 2.31949 3.93128 13.9876 -14.175 2.40195 4.07722 13.8493 -14.18 2.48762 4.23005 13.7162 -14.185 2.57666 4.39004 13.5887 -14.19 2.66925 4.55746 13.4669 -14.195 2.76558 4.73256 13.3511 -14.2 2.86584 4.91562 13.2417 -14.205 2.97024 5.10689 13.1389 -14.21 3.07901 5.30664 13.0431 -14.215 3.19237 5.51511 12.9546 -14.22 3.31058 5.73257 12.874 -14.225 3.43388 5.95928 12.8015 -14.23 3.56255 6.19548 12.7376 -14.235 3.69687 6.44143 12.6828 -14.24 3.83694 6.69688 12.6378 -14.245 3.9829 6.96201 12.6031 -14.25 4.13502 7.23752 12.5794 -14.255 4.29355 7.524 12.5673 -14.26 4.45874 7.8219 12.5678 -14.265 4.63082 8.13159 12.5815 -14.27 4.81 8.4533 12.6094 -14.275 4.99647 8.78718 12.6524 -14.28 5.19043 9.13324 12.7115 -14.285 5.39204 9.49137 12.7879 -14.29 5.60145 9.86137 12.8826 -14.295 5.8188 10.2429 12.9969 -14.3 6.04423 10.6356 13.132 -14.305 6.27783 11.0388 13.2892 -14.31 6.5197 11.452 13.47 -14.315 6.76993 11.8742 13.6759 -14.32 7.02858 12.3047 13.9082 -14.325 7.29569 12.7425 14.1687 -14.33 7.57131 13.1864 14.4589 -14.335 7.85545 13.6352 14.7805 -14.34 8.14812 14.0875 15.1354 -14.345 8.44868 14.5424 15.5238 -14.35 8.75632 14.9978 15.9464 -14.355 9.07083 15.4506 16.4059 -14.36 9.39185 15.8975 16.9044 -14.365 9.71883 16.3351 17.4435 -14.37 10.0511 16.7598 18.0243 -14.375 10.3877 17.168 18.6473 -14.38 10.7276 17.5558 19.3126 -14.385 11.0697 17.9192 20.0196 -14.39 11.4125 18.254 20.7674 -14.395 11.7545 18.5561 21.5545 -14.4 12.094 18.821 22.3788 -14.405 12.4291 19.0442 23.2377 -14.41 12.7577 19.2209 24.1281 -14.415 13.0775 19.3464 25.0464 -14.42 13.3863 19.4156 25.9885 -14.425 13.6815 19.4236 26.9497 -14.43 13.9608 19.3648 27.9257 -14.435 14.2231 19.2359 28.9117 -14.44 14.4652 19.0362 29.8977 -14.445 14.6841 18.7659 30.8739 -14.45 14.877 18.4258 31.8313 -14.455 15.0416 18.0173 32.7614 -14.46 15.1757 17.5424 33.6563 -14.465 15.2778 17.0037 34.5088 -14.47 15.3463 16.4045 35.3123 -14.475 15.3802 15.7485 36.0609 -14.48 15.3788 15.0404 36.7493 -14.485 15.3416 14.2851 37.3727 -14.49 15.2686 13.4884 37.9272 -14.495 15.16 12.6566 38.4092 -14.5 15.0164 11.7965 38.816 -14.505 14.8374 10.9198 39.1432 -14.51 14.624 10.0375 39.3903 -14.515 14.3781 9.15791 39.5596 -14.52 14.1019 8.28854 39.6537 -14.525 13.7975 7.43625 39.6757 -14.53 13.4674 6.60716 39.629 -14.535 13.1138 5.8067 39.5175 -14.54 12.7392 5.03961 39.3457 -14.545 12.3462 4.30992 39.1181 -14.55 11.9374 3.62096 38.8399 -14.555 11.5156 2.97534 38.5166 -14.56 11.0837 2.37501 38.1543 -14.565 10.6444 1.82118 37.7592 -14.57 10.201 1.31437 37.3382 -14.575 9.75607 0.853788 36.8974 -14.58 9.31151 0.436932 36.4397 -14.585 8.86936 0.0621994 35.9688 -14.59 8.43149 -0.272127 35.4882 -14.595 7.99961 -0.567934 35.0008 -14.6 7.57524 -0.827279 34.5097 -14.605 7.15975 -1.05239 34.0171 -14.61 6.75432 -1.24566 33.5255 -14.615 6.35994 -1.40966 33.0368 -14.62 5.97745 -1.54714 32.5525 -14.625 5.60751 -1.66098 32.074 -14.63 5.2506 -1.75428 31.6024 -14.635 4.90703 -1.83022 31.1384 -14.64 4.57703 -1.89001 30.6823 -14.645 4.26065 -1.93489 30.2341 -14.65 3.95782 -1.96662 29.7939 -14.655 3.66842 -1.98689 29.3619 -14.66 3.39232 -1.99723 28.938 -14.665 3.12931 -1.99909 28.5222 -14.67 2.87917 -1.99381 28.1146 -14.675 2.64162 -1.9826 27.7149 -14.68 2.41633 -1.96656 27.323 -14.685 2.20295 -1.9467 26.9387 -14.69 2.00107 -1.92388 26.5618 -14.695 1.81024 -1.89889 26.192 -14.7 1.62995 -1.87239 25.829 -14.705 1.4596 -1.84502 25.4726 -14.71 1.29879 -1.81726 25.1226 -14.715 1.14713 -1.78958 24.7789 -14.72 1.00422 -1.76238 24.4412 -14.725 0.869632 -1.73606 24.1093 -14.73 0.742963 -1.71095 23.783 -14.735 0.623788 -1.68735 23.4623 -14.74 0.511677 -1.66553 23.1468 -14.745 0.406197 -1.6457 22.8366 -14.75 0.306907 -1.62805 22.5313 -14.755 0.213361 -1.61274 22.2308 -14.76 0.125105 -1.59985 21.9351 -14.765 0.0416824 -1.58947 21.644 -14.77 -0.0373729 -1.58162 21.3574 -14.775 -0.112521 -1.5763 21.0751 -14.78 -0.18406 -1.57357 20.7971 -14.785 -0.252192 -1.57352 20.5233 -14.79 -0.317129 -1.57625 20.2536 -14.795 -0.379091 -1.58182 19.988 -14.8 -0.438301 -1.59031 19.7265 -14.805 -0.494992 -1.60178 19.4689 -14.81 -0.549401 -1.61626 19.2153 -14.815 -0.601774 -1.6338 18.9655 -14.82 -0.652362 -1.65442 18.7195 -14.825 -0.701423 -1.67814 18.4773 -14.83 -0.749223 -1.70496 18.2388 -14.835 -0.796031 -1.73488 18.004 -14.84 -0.842127 -1.76787 17.7728 -14.845 -0.887794 -1.80392 17.5452 -14.85 -0.933319 -1.843 17.3211 -14.855 -0.97879 -1.8852 17.1005 -14.86 -1.02426 -1.93068 16.8835 -14.865 -1.06984 -1.97953 16.67 -14.87 -1.11566 -2.03185 16.4601 -14.875 -1.16185 -2.08773 16.2537 -14.88 -1.20855 -2.14728 16.0509 -14.885 -1.2559 -2.21059 15.8516 -14.89 -1.30404 -2.27778 15.656 -14.895 -1.35314 -2.34894 15.4639 -14.9 -1.40336 -2.42418 15.2754 -14.905 -1.45487 -2.50362 15.0906 -14.91 -1.50784 -2.58737 14.9095 -14.915 -1.56246 -2.67553 14.7322 -14.92 -1.61891 -2.76821 14.5586 -14.925 -1.67737 -2.86556 14.3888 -14.93 -1.73798 -2.96775 14.223 -14.935 -1.80081 -3.07503 14.0612 -14.94 -1.86597 -3.18762 13.9035 -14.945 -1.93358 -3.30577 13.75 -14.95 -2.00376 -3.42972 13.6007 -14.955 -2.07666 -3.55971 13.4559 -14.96 -2.15243 -3.69599 13.3158 -14.965 -2.23121 -3.83881 13.1803 -14.97 -2.3132 -3.98842 13.0499 -14.975 -2.39856 -4.14508 12.9245 -14.98 -2.4875 -4.30905 12.8046 -14.985 -2.58023 -4.48058 12.6904 -14.99 -2.67696 -4.65995 12.582 -14.995 -2.77792 -4.84742 12.4798 -15 -2.88336 -5.04327 12.3842 -15.005 -2.99352 -5.24776 12.2953 -15.01 -3.10865 -5.4611 12.2136 -15.015 -3.22889 -5.68324 12.1397 -15.02 -3.35443 -5.91473 12.074 -15.025 -3.48549 -6.15616 12.0169 -15.03 -3.62229 -6.40807 11.9689 -15.035 -3.76505 -6.6709 11.9305 -15.04 -3.91399 -6.94507 11.9023 -15.045 -4.06933 -7.23091 11.8851 -15.05 -4.23128 -7.5287 11.8796 -15.055 -4.40008 -7.83863 11.8867 -15.06 -4.57595 -8.16087 11.9072 -15.065 -4.7591 -8.49548 11.9422 -15.07 -4.94976 -8.8425 11.9925 -15.075 -5.14816 -9.20188 12.0595 -15.08 -5.35451 -9.57351 12.1441 -15.085 -5.56905 -9.95722 12.2478 -15.09 -5.792 -10.3528 12.3717 -15.095 -6.02358 -10.7599 12.5173 -15.1 -6.26403 -11.1782 12.686 -15.105 -6.51357 -11.6072 12.8794 -15.11 -6.77243 -12.0466 13.099 -15.115 -7.04036 -12.4954 13.3456 -15.12 -7.31666 -12.9524 13.6198 -15.125 -7.60163 -13.4166 13.9246 -15.13 -7.89543 -13.8866 14.2627 -15.135 -8.19809 -14.3607 14.6363 -15.14 -8.50946 -14.837 15.0475 -15.145 -8.82925 -15.3131 15.4981 -15.15 -9.15701 -15.7864 15.9895 -15.155 -9.49213 -16.254 16.5228 -15.16 -9.83385 -16.7126 17.0988 -15.165 -10.1813 -17.1586 17.7179 -15.17 -10.5333 -17.5882 18.3804 -15.175 -10.8887 -17.997 19.0861 -15.18 -11.246 -18.3806 19.8344 -15.185 -11.6039 -18.7341 20.6248 -15.19 -11.9605 -19.0523 21.4559 -15.195 -12.314 -19.3297 22.3266 -15.2 -12.6624 -19.5605 23.2349 -15.205 -13.0035 -19.7386 24.179 -15.21 -13.336 -19.8598 25.1569 -15.215 -13.6575 -19.9199 26.1623 -15.22 -13.9647 -19.9139 27.1867 -15.225 -14.2546 -19.8376 28.2217 -15.23 -14.5242 -19.6879 29.2593 -15.235 -14.7708 -19.4629 30.2912 -15.24 -14.9919 -19.1614 31.3096 -15.245 -15.1852 -18.7833 32.3066 -15.25 -15.3486 -18.3294 33.2745 -15.255 -15.48 -17.8017 34.2057 -15.26 -15.5777 -17.2029 35.0928 -15.265 -15.6401 -16.537 35.9285 -15.27 -15.6658 -15.8089 36.7055 -15.275 -15.6537 -15.0242 37.4168 -15.28 -15.6026 -14.1896 38.0547 -15.285 -15.5119 -13.3133 38.6091 -15.29 -15.3823 -12.4068 39.0789 -15.295 -15.2147 -11.4814 39.4647 -15.3 -15.0105 -10.5474 39.7678 -15.305 -14.771 -9.61422 39.9897 -15.31 -14.4981 -8.69044 40.1325 -15.315 -14.1937 -7.78365 40.1987 -15.32 -13.8602 -6.90054 40.1913 -15.325 -13.4999 -6.04691 40.1136 -15.33 -13.1156 -5.22763 39.9696 -15.335 -12.7102 -4.44668 39.7635 -15.34 -12.2871 -3.70711 39.5002 -15.345 -11.8496 -3.01108 39.1848 -15.35 -11.4015 -2.35982 38.823 -15.355 -10.9454 -1.75578 38.4231 -15.36 -10.4832 -1.2011 37.9933 -15.365 -10.0178 -0.695251 37.5388 -15.37 -9.55158 -0.237307 37.0644 -15.375 -9.08702 0.174048 36.5745 -15.38 -8.62622 0.540527 36.0733 -15.385 -8.17111 0.864238 35.5645 -15.39 -7.72341 1.14769 35.0516 -15.395 -7.28463 1.39377 34.5377 -15.4 -6.85606 1.60579 34.0256 -15.405 -6.43879 1.78743 33.5178 -15.41 -6.03372 1.94219 33.016 -15.415 -5.64161 2.0714 32.5207 -15.42 -5.26292 2.17744 32.0325 -15.425 -4.89799 2.26274 31.5523 -15.43 -4.54706 2.32959 31.0804 -15.435 -4.21031 2.38016 30.6174 -15.44 -3.88781 2.41647 30.1635 -15.445 -3.57956 2.44043 29.7189 -15.45 -3.28546 2.45379 29.2837 -15.455 -3.00532 2.45819 28.8576 -15.46 -2.73887 2.45512 28.4406 -15.465 -2.48576 2.44596 28.0322 -15.47 -2.24548 2.43197 27.6323 -15.475 -2.01761 2.41412 27.2407 -15.48 -1.80171 2.39325 26.8572 -15.485 -1.59738 2.37017 26.4814 -15.49 -1.40415 2.34561 26.1131 -15.495 -1.22159 2.32025 25.7519 -15.5 -1.04923 2.29471 25.3977 -15.505 -0.886612 2.26956 25.0503 -15.51 -0.733245 2.2453 24.7093 -15.515 -0.588642 2.22239 24.3745 -15.52 -0.452305 2.20121 24.0458 -15.525 -0.323722 2.1821 23.723 -15.53 -0.202374 2.16534 23.4059 -15.535 -0.0877303 2.15114 23.0943 -15.54 0.0207494 2.13967 22.788 -15.545 0.123616 2.13103 22.4869 -15.55 0.221392 2.12529 22.1909 -15.555 0.314395 2.12258 21.8998 -15.56 0.402912 2.12303 21.6134 -15.565 0.487244 2.12678 21.3318 -15.57 0.567692 2.13391 21.0548 -15.575 0.644566 2.14454 20.7823 -15.58 0.718175 2.15874 20.5144 -15.585 0.788837 2.17658 20.2509 -15.59 0.856871 2.19812 19.9917 -15.595 0.922602 2.2234 19.7368 -15.6 0.986358 2.25245 19.4861 -15.605 1.04847 2.2853 19.2396 -15.61 1.10928 2.32194 18.9973 -15.615 1.16913 2.36237 18.759 -15.62 1.22834 2.40659 18.5248 -15.625 1.28709 2.45468 18.2946 -15.63 1.3455 2.50677 18.0685 -15.635 1.40374 2.56297 17.8464 -15.64 1.46196 2.62337 17.6285 -15.645 1.52035 2.6881 17.4146 -15.65 1.57908 2.75725 17.2049 -15.655 1.63834 2.83092 16.9994 -15.66 1.69833 2.90923 16.798 -15.665 1.75924 2.99228 16.6009 -15.67 1.82129 3.08017 16.4081 -15.675 1.88468 3.17302 16.2196 -15.68 1.94963 3.27093 16.0355 -15.685 2.01638 3.374 15.8559 -15.69 2.08516 3.48234 15.6809 -15.695 2.15616 3.59608 15.5105 -15.7 2.22952 3.71544 15.3449 -15.705 2.30533 3.84066 15.1842 -15.71 2.38374 3.97199 15.0285 -15.715 2.46486 4.10966 14.8781 -15.72 2.54886 4.25392 14.733 -15.725 2.63589 4.40501 14.5936 -15.73 2.72612 4.56316 14.4599 -15.735 2.81974 4.7286 14.3323 -15.74 2.91693 4.90156 14.211 -15.745 3.01791 5.08228 14.0964 -15.75 3.12288 5.27096 13.9886 -15.755 3.23208 5.46785 13.8882 -15.76 3.34574 5.67315 13.7953 -15.765 3.46411 5.88709 13.7105 -15.77 3.58745 6.10987 13.634 -15.775 3.71604 6.34172 13.5664 -15.78 3.84999 6.58247 13.5081 -15.785 3.98944 6.83237 13.4598 -15.79 4.1346 7.09197 13.422 -15.795 4.28571 7.36176 13.3953 -15.8 4.44296 7.6421 13.3805 -15.805 4.60657 7.93328 13.3783 -15.81 4.77672 8.23549 13.3895 -15.815 4.95358 8.54884 13.415 -15.82 5.13733 8.87333 13.4556 -15.825 5.32812 9.20889 13.5123 -15.83 5.5261 9.55532 13.5861 -15.835 5.73142 9.91238 13.6782 -15.84 5.94419 10.2797 13.7896 -15.845 6.16453 10.6568 13.9216 -15.85 6.39256 11.0432 14.0752 -15.855 6.62836 11.4382 14.252 -15.86 6.87203 11.8411 14.453 -15.865 7.12364 12.251 14.6799 -15.87 7.38326 12.6672 14.934 -15.875 7.65094 13.0884 15.2169 -15.88 7.92637 13.514 15.5292 -15.885 8.20868 13.9426 15.8709 -15.89 8.49781 14.372 16.2447 -15.895 8.79359 14.7997 16.6527 -15.9 9.09573 15.2231 17.0966 -15.905 9.40376 15.6395 17.5778 -15.91 9.71708 16.0457 18.0974 -15.915 10.0349 16.4387 18.6557 -15.92 10.3564 16.8153 19.253 -15.925 10.6805 17.172 19.889 -15.93 11.006 17.5052 20.5628 -15.935 11.3316 17.8111 21.2734 -15.94 11.6556 18.0859 22.0193 -15.945 11.9767 18.3254 22.7983 -15.95 12.2928 18.5253 23.6082 -15.955 12.6022 18.6814 24.4461 -15.96 12.9026 18.789 25.3089 -15.965 13.192 18.8435 26.1927 -15.97 13.468 18.8399 27.094 -15.975 13.7299 18.7745 28.0095 -15.98 13.9751 18.6459 28.9313 -15.985 14.2006 18.4535 29.8505 -15.99 14.4039 18.1971 30.7589 -15.995 14.5827 17.8772 31.6489 -16 14.7349 17.4949 32.5131 -16.005 14.8587 17.052 33.345 -16.01 14.9528 16.5505 34.1381 -16.015 15.0158 15.9934 34.8868 -16.02 15.0468 15.384 35.5858 -16.025 15.0452 14.7264 36.2302 -16.03 15.0106 14.0251 36.8159 -16.035 14.9429 13.2853 37.339 -16.04 14.8422 12.5128 37.7962 -16.045 14.7088 11.7144 38.1843 -16.05 14.5423 10.901 38.4987 -16.055 14.3439 10.0815 38.74 -16.06 14.1154 9.26324 38.9102 -16.065 13.8588 8.45301 39.0113 -16.07 13.5758 7.65703 39.0459 -16.075 13.2686 6.8809 39.017 -16.08 12.9393 6.1296 38.9279 -16.085 12.59 5.4075 38.7821 -16.09 12.2232 4.71836 38.5839 -16.095 11.8412 4.06534 38.3375 -16.1 11.4466 3.45097 38.0478 -16.105 11.0418 2.8772 37.7198 -16.11 10.6297 2.34534 37.3591 -16.115 10.2129 1.8561 36.9717 -16.12 9.79416 1.40918 36.563 -16.125 9.37508 1.00268 36.1365 -16.13 8.95758 0.635301 35.6956 -16.135 8.54346 0.305629 35.2435 -16.14 8.13435 0.0120901 34.7832 -16.145 7.73172 -0.247059 34.3174 -16.15 7.33688 -0.473733 33.8484 -16.155 6.95097 -0.670012 33.3786 -16.16 6.57501 -0.838147 32.9098 -16.165 6.20981 -0.980557 32.4436 -16.17 5.85606 -1.09983 31.9816 -16.175 5.51427 -1.19872 31.5248 -16.18 5.1848 -1.28012 31.0741 -16.185 4.86794 -1.3453 30.6298 -16.19 4.56379 -1.39541 30.1922 -16.195 4.27236 -1.4321 29.7613 -16.2 3.99358 -1.45696 29.3375 -16.205 3.72737 -1.47144 28.9208 -16.21 3.47358 -1.47693 28.5112 -16.215 3.23205 -1.47467 28.1089 -16.22 3.00255 -1.46585 27.7138 -16.225 2.78482 -1.45152 27.3258 -16.23 2.57856 -1.43265 26.9447 -16.235 2.38341 -1.41011 26.5704 -16.24 2.199 -1.38465 26.2027 -16.245 2.02486 -1.35695 25.8413 -16.25 1.86044 -1.3276 25.4861 -16.255 1.70539 -1.29709 25.1368 -16.26 1.55936 -1.26589 24.7935 -16.265 1.42197 -1.2344 24.4558 -16.27 1.29286 -1.203 24.1237 -16.275 1.17165 -1.17202 23.7968 -16.28 1.05797 -1.14177 23.4753 -16.285 0.951431 -1.11249 23.1587 -16.29 0.851631 -1.08442 22.8471 -16.295 0.758173 -1.05773 22.5403 -16.3 0.670651 -1.03256 22.2381 -16.305 0.588653 -1.00901 21.9404 -16.31 0.511759 -0.987158 21.6472 -16.315 0.439545 -0.96702 21.3582 -16.32 0.371579 -0.948582 21.0734 -16.325 0.307546 -0.93187 20.7927 -16.33 0.247298 -0.916987 20.516 -16.335 0.190621 -0.903987 20.2432 -16.34 0.137296 -0.89291 19.9744 -16.345 0.0871059 -0.88379 19.7093 -16.35 0.0398295 -0.876649 19.448 -16.355 -0.00475412 -0.871499 19.1904 -16.36 -0.0468675 -0.868343 18.9363 -16.365 -0.0867347 -0.867174 18.6859 -16.37 -0.124581 -0.867973 18.4389 -16.375 -0.160632 -0.870715 18.1953 -16.38 -0.195118 -0.875361 17.9552 -16.385 -0.228265 -0.881864 17.7183 -16.39 -0.2603 -0.890173 17.4847 -16.395 -0.29133 -0.900319 17.2544 -16.4 -0.321439 -0.912346 17.0272 -16.405 -0.350728 -0.926285 16.8032 -16.41 -0.379305 -0.942163 16.5823 -16.415 -0.407278 -0.960006 16.3646 -16.42 -0.434758 -0.979842 16.1498 -16.425 -0.461861 -1.00169 15.9382 -16.43 -0.488702 -1.02559 15.7295 -16.435 -0.515403 -1.05154 15.5237 -16.44 -0.542085 -1.07959 15.3209 -16.445 -0.568875 -1.10974 15.1211 -16.45 -0.595901 -1.14202 14.9241 -16.455 -0.623294 -1.17644 14.7299 -16.46 -0.651178 -1.21305 14.5386 -16.465 -0.679621 -1.25191 14.3501 -16.47 -0.708674 -1.29314 14.1644 -16.475 -0.738397 -1.33682 13.9815 -16.48 -0.768856 -1.38306 13.8014 -16.485 -0.800123 -1.43195 13.6241 -16.49 -0.832276 -1.48361 13.4496 -16.495 -0.8654 -1.53813 13.2778 -16.5 -0.899586 -1.59564 13.1088 -16.505 -0.934932 -1.65624 12.9426 -16.51 -0.97154 -1.72006 12.7792 -16.515 -1.00952 -1.78721 12.6185 -16.52 -1.04899 -1.85783 12.4607 -16.525 -1.09007 -1.93203 12.3058 -16.53 -1.13289 -2.00995 12.1537 -16.535 -1.17759 -2.09172 12.0045 -16.54 -1.2243 -2.1775 11.8583 -16.545 -1.27312 -2.2675 11.715 -16.55 -1.32412 -2.36193 11.5749 -16.555 -1.37739 -2.46104 11.4378 -16.56 -1.43302 -2.56507 11.3039 -16.565 -1.49112 -2.67427 11.1732 -16.57 -1.5518 -2.7889 11.0458 -16.575 -1.6152 -2.90922 10.9218 -16.58 -1.68146 -3.03551 10.8014 -16.585 -1.75073 -3.16805 10.6847 -16.59 -1.82317 -3.30713 10.5718 -16.595 -1.89896 -3.45303 10.4629 -16.6 -1.97828 -3.60607 10.3582 -16.605 -2.06133 -3.76656 10.258 -16.61 -2.14831 -3.93481 10.1624 -16.615 -2.23946 -4.11116 10.0717 -16.62 -2.33499 -4.29592 9.98608 -16.625 -2.43515 -4.48946 9.90593 -16.63 -2.54019 -4.6921 9.83149 -16.635 -2.65034 -4.90391 9.76331 -16.64 -2.76577 -5.12497 9.70203 -16.645 -2.88673 -5.35606 9.64788 -16.65 -3.01346 -5.59794 9.60117 -16.655 -3.14622 -5.85129 9.56229 -16.66 -3.28525 -6.11673 9.53174 -16.665 -3.43083 -6.39482 9.51011 -16.67 -3.58321 -6.68607 9.49807 -16.675 -3.74267 -6.9909 9.49639 -16.68 -3.90949 -7.30971 9.50592 -16.685 -4.08394 -7.64281 9.52761 -16.69 -4.26632 -7.99047 9.5625 -16.695 -4.45691 -8.35288 9.61172 -16.7 -4.65601 -8.73018 9.67649 -16.705 -4.86392 -9.12246 9.75812 -16.71 -5.08095 -9.52972 9.85802 -16.715 -5.30741 -9.95193 9.97768 -16.72 -5.5436 -10.389 10.1187 -16.725 -5.78987 -10.8407 10.2827 -16.73 -6.04652 -11.3069 10.4715 -16.735 -6.31389 -11.7873 10.6869 -16.74 -6.59231 -12.2815 10.931 -16.745 -6.882 -12.789 11.2054 -16.75 -7.18205 -13.3082 11.5108 -16.755 -7.49262 -13.8379 11.85 -16.76 -7.81403 -14.3772 12.2266 -16.765 -8.14644 -14.9241 12.6436 -16.77 -8.4898 -15.4768 13.1038 -16.775 -8.84387 -16.0326 13.6095 -16.78 -9.20823 -16.5884 14.1629 -16.785 -9.58225 -17.1407 14.7656 -16.79 -9.96511 -17.6855 15.4191 -16.795 -10.3558 -18.2185 16.1244 -16.8 -10.7531 -18.7346 16.8822 -16.805 -11.1557 -19.2285 17.6929 -16.81 -11.5619 -19.6944 18.5565 -16.815 -11.97 -20.1259 19.4728 -16.82 -12.378 -20.5163 20.4409 -16.825 -12.7837 -20.8583 21.4601 -16.83 -13.1849 -21.1441 22.529 -16.835 -13.5794 -21.3681 23.6458 -16.84 -13.9647 -21.5245 24.8046 -16.845 -14.3371 -21.6047 25.9961 -16.85 -14.6926 -21.6016 27.211 -16.855 -15.0278 -21.5095 28.4397 -16.86 -15.3393 -21.324 29.6726 -16.865 -15.6236 -21.0424 30.8998 -16.87 -15.8777 -20.6631 32.1112 -16.875 -16.0986 -20.1862 33.2966 -16.88 -16.2835 -19.6129 34.4456 -16.885 -16.4295 -18.9462 35.5476 -16.89 -16.5342 -18.1903 36.5919 -16.895 -16.5951 -17.3509 37.5675 -16.9 -16.6101 -16.435 38.4632 -16.905 -16.5774 -15.4481 39.2634 -16.91 -16.4969 -14.4035 39.9612 -16.915 -16.369 -13.3182 40.556 -16.92 -16.1945 -12.2078 41.0477 -16.925 -15.9744 -11.0861 41.4372 -16.93 -15.7105 -9.9659 41.7259 -16.935 -15.4048 -8.85825 41.9159 -16.94 -15.0597 -7.77288 42.0099 -16.945 -14.6781 -6.71801 42.0113 -16.95 -14.2633 -5.70045 41.9242 -16.955 -13.819 -4.72554 41.7533 -16.96 -13.3495 -3.79717 41.504 -16.965 -12.8592 -2.91779 41.1825 -16.97 -12.353 -2.08892 40.7958 -16.975 -11.8331 -1.31945 40.3582 -16.98 -11.3024 -0.612945 39.8799 -16.985 -10.7648 0.0306423 39.3682 -16.99 -10.2237 0.612052 38.8299 -16.995 -9.68231 1.13273 38.2713 -17 -9.14341 1.59485 37.6984 -17.005 -8.60966 2.00125 37.1167 -17.01 -8.08337 2.35552 36.5311 -17.015 -7.56659 2.66193 35.9464 -17.02 -7.06109 2.92546 35.3666 -17.025 -6.56837 3.1512 34.7951 -17.03 -6.08971 3.34116 34.2324 -17.035 -5.62596 3.49858 33.6797 -17.04 -5.17779 3.62692 33.138 -17.045 -4.74576 3.72945 32.6084 -17.05 -4.33028 3.80923 32.0914 -17.055 -3.9316 3.86917 31.5874 -17.06 -3.54987 3.91198 31.0968 -17.065 -3.18508 3.94019 30.6194 -17.07 -2.83707 3.95614 30.1551 -17.075 -2.50558 3.96199 29.7035 -17.08 -2.19018 3.95976 29.264 -17.085 -1.89041 3.95113 28.8365 -17.09 -1.60575 3.93739 28.4205 -17.095 -1.33569 3.91974 28.0155 -17.1 -1.07968 3.8993 27.6211 -17.105 -0.837169 3.8771 27.2367 -17.11 -0.607589 3.8541 26.862 -17.115 -0.390361 3.83118 26.4965 -17.12 -0.184892 3.80912 26.1399 -17.125 0.00942352 3.78865 25.7917 -17.13 0.193205 3.77039 25.4517 -17.135 0.367086 3.75489 25.1195 -17.14 0.531711 3.74263 24.795 -17.145 0.68774 3.73398 24.4777 -17.15 0.835846 3.72926 24.1674 -17.155 0.976713 3.72869 23.864 -17.16 1.11104 3.73242 23.5673 -17.165 1.23939 3.74058 23.2768 -17.17 1.36215 3.75335 22.9926 -17.175 1.47972 3.77092 22.7145 -17.18 1.5925 3.79343 22.4423 -17.185 1.7009 3.82105 22.1762 -17.19 1.80532 3.85388 21.9159 -17.195 1.90619 3.89204 21.6614 -17.2 2.00393 3.93563 21.4127 -17.205 2.09896 3.98472 21.1697 -17.21 2.19173 4.03937 20.9323 -17.215 2.28268 4.09962 20.7006 -17.22 2.37226 4.1655 20.4745 -17.225 2.46092 4.23702 20.254 -17.23 2.54912 4.31417 20.0391 -17.235 2.63726 4.39695 19.8298 -17.24 2.72545 4.48551 19.6262 -17.245 2.81391 4.57997 19.4286 -17.25 2.90283 4.68046 19.2369 -17.255 2.99244 4.78711 19.0513 -17.26 3.08296 4.90003 18.872 -17.265 3.17462 5.01931 18.6991 -17.27 3.26766 5.14505 18.5327 -17.275 3.36232 5.27735 18.3731 -17.28 3.45886 5.41627 18.2205 -17.285 3.55754 5.5619 18.0749 -17.29 3.65861 5.71431 17.9368 -17.295 3.76235 5.87353 17.8061 -17.3 3.86905 6.03964 17.6833 -17.305 3.97898 6.21266 17.5686 -17.31 4.09237 6.39258 17.4622 -17.315 4.20933 6.57947 17.3645 -17.32 4.32998 6.77357 17.2759 -17.325 4.45447 6.97505 17.1969 -17.33 4.58292 7.18407 17.1278 -17.335 4.71549 7.40072 17.0692 -17.34 4.85229 7.62505 17.0216 -17.345 4.99346 7.85707 16.9853 -17.35 5.13913 8.09673 16.9611 -17.355 5.28943 8.34395 16.9494 -17.36 5.44449 8.59859 16.9509 -17.365 5.60444 8.86048 16.9661 -17.37 5.76939 9.12939 16.9957 -17.375 5.93948 9.40504 17.0403 -17.38 6.11483 9.68712 17.1006 -17.385 6.29556 9.97527 17.1773 -17.39 6.48179 10.2691 17.2711 -17.395 6.67364 10.5681 17.3828 -17.4 6.87076 10.8718 17.5122 -17.405 7.07274 11.1798 17.6595 -17.41 7.2797 11.4912 17.8263 -17.415 7.49171 11.8052 18.0141 -17.42 7.70873 12.1208 18.2241 -17.425 7.93068 12.4369 18.4574 -17.43 8.15737 12.7522 18.7149 -17.435 8.38857 13.0654 18.9973 -17.44 8.62395 13.3752 19.3051 -17.445 8.86311 13.6798 19.6387 -17.45 9.10558 13.9778 19.9984 -17.455 9.3508 14.2672 20.384 -17.46 9.59817 14.5462 20.7955 -17.465 9.84696 14.8128 21.2325 -17.47 10.0964 15.0649 21.6944 -17.475 10.3457 15.3001 22.1806 -17.48 10.5938 15.5163 22.6901 -17.485 10.8399 15.7109 23.222 -17.49 11.0827 15.8814 23.7749 -17.495 11.3212 16.025 24.3475 -17.5 11.5541 16.139 24.9382 -17.505 11.7801 16.2204 25.5452 -17.51 11.9983 16.2666 26.1669 -17.515 12.2079 16.2764 26.8015 -17.52 12.4074 16.2483 27.4443 -17.525 12.5949 16.1813 28.0907 -17.53 12.7689 16.0748 28.7362 -17.535 12.9279 15.9283 29.3765 -17.54 13.0705 15.7417 30.0074 -17.545 13.1955 15.5153 30.625 -17.55 13.302 15.2497 31.2256 -17.555 13.3889 14.9458 31.8056 -17.56 13.4554 14.6049 32.3615 -17.565 13.5009 14.2284 32.8902 -17.57 13.5249 13.8184 33.3885 -17.575 13.5271 13.3769 33.8538 -17.58 13.507 12.9067 34.2831 -17.585 13.4647 12.4104 34.6741 -17.59 13.4001 11.8914 35.0244 -17.595 13.3132 11.3537 35.3313 -17.6 13.2037 10.8031 35.5918 -17.605 13.0723 10.2444 35.8059 -17.61 12.9201 9.68184 35.9742 -17.615 12.7482 9.11961 36.0974 -17.62 12.5576 8.56143 36.1764 -17.625 12.3495 8.01078 36.2123 -17.63 12.1252 7.47084 36.2065 -17.635 11.8858 6.94452 36.1606 -17.64 11.6329 6.43442 36.0763 -17.645 11.3677 5.94285 35.9556 -17.65 11.0917 5.47186 35.8007 -17.655 10.8065 5.02316 35.614 -17.66 10.5136 4.59821 35.3981 -17.665 10.2147 4.19817 35.1559 -17.67 9.91143 3.8239 34.8904 -17.675 9.6056 3.47597 34.6048 -17.68 9.29866 3.15416 34.3023 -17.685 8.99165 2.85769 33.9851 -17.69 8.6858 2.58616 33.6551 -17.695 8.38224 2.33908 33.3143 -17.7 8.08202 2.11582 32.9644 -17.705 7.78612 1.91567 32.6071 -17.71 7.4954 1.73776 32.2439 -17.715 7.21068 1.58115 31.8762 -17.72 6.93266 1.44475 31.5056 -17.725 6.66197 1.32739 31.1331 -17.73 6.39915 1.22776 30.76 -17.735 6.14466 1.14445 30.3874 -17.74 5.89887 1.07592 30.0161 -17.745 5.66208 1.02054 29.6471 -17.75 5.43449 0.976548 29.2811 -17.755 5.21622 0.942573 28.9186 -17.76 5.00731 0.918938 28.5593 -17.765 4.80771 0.904904 28.2033 -17.77 4.61737 0.899644 27.8509 -17.775 4.43621 0.90238 27.5023 -17.78 4.26413 0.912384 27.1576 -17.785 4.10102 0.928974 26.8169 -17.79 3.94677 0.95152 26.4804 -17.795 3.80123 0.979441 26.1481 -17.8 3.66425 1.0122 25.8202 -17.805 3.53565 1.04932 25.4966 -17.81 3.41526 1.09036 25.1774 -17.815 3.30285 1.13494 24.8626 -17.82 3.19823 1.18272 24.5521 -17.825 3.10114 1.23341 24.2459 -17.83 3.01134 1.28678 23.9439 -17.835 2.92841 1.34271 23.6462 -17.84 2.85214 1.40104 23.3527 -17.845 2.78239 1.46159 23.0634 -17.85 2.71901 1.52422 22.7784 -17.855 2.66183 1.58882 22.4975 -17.86 2.61071 1.65529 22.2208 -17.865 2.56547 1.72356 21.9482 -17.87 2.52595 1.7936 21.6797 -17.875 2.49198 1.8654 21.4154 -17.88 2.46338 1.93896 21.1552 -17.885 2.43998 2.01433 20.899 -17.89 2.42158 2.09157 20.647 -17.895 2.40801 2.17078 20.3991 -17.9 2.39907 2.25208 20.1554 -17.905 2.39456 2.33561 19.9157 -17.91 2.39429 2.42154 19.6802 -17.915 2.39805 2.51006 19.4489 -17.92 2.40571 2.60136 19.2218 -17.925 2.41736 2.69543 18.999 -17.93 2.43299 2.79239 18.7805 -17.935 2.45262 2.89234 18.5663 -17.94 2.47623 2.9954 18.3565 -17.945 2.50383 3.10173 18.1511 -17.95 2.53542 3.21148 17.9502 -17.955 2.571 3.3248 17.7539 -17.96 2.61057 3.44189 17.5623 -17.965 2.65414 3.56293 17.3754 -17.97 2.7017 3.68813 17.1935 -17.975 2.75326 3.81771 17.0165 -17.98 2.80883 3.9519 16.8448 -17.985 2.8684 4.09095 16.6783 -17.99 2.93198 4.2351 16.5173 -17.995 2.99958 4.38464 16.362 -18 3.07121 4.53984 16.2126 -18.005 3.14686 4.70101 16.0692 -18.01 3.22671 4.86816 15.9322 -18.015 3.31092 5.04148 15.8017 -18.02 3.39963 5.22127 15.6781 -18.025 3.49297 5.40784 15.5616 -18.03 3.59104 5.60145 15.4525 -18.035 3.69399 5.80237 15.351 -18.04 3.80193 6.01085 15.2576 -18.045 3.91499 6.22708 15.1728 -18.05 4.0333 6.45129 15.0968 -18.055 4.15699 6.68364 15.0303 -18.06 4.28619 6.9243 14.9737 -18.065 4.42102 7.17342 14.9275 -18.07 4.56163 7.4311 14.8925 -18.075 4.70814 7.69746 14.8692 -18.08 4.86068 7.97258 14.8583 -18.085 5.01939 8.25651 14.8605 -18.09 5.1844 8.54932 14.8765 -18.095 5.35585 8.85101 14.9072 -18.1 5.53387 9.1616 14.9533 -18.105 5.71859 9.48105 15.0157 -18.11 5.90985 9.80867 15.0947 -18.115 6.10773 10.1442 15.1914 -18.12 6.31246 10.4875 15.3072 -18.125 6.52421 10.8385 15.4433 -18.13 6.74307 11.1967 15.6012 -18.135 6.96907 11.5615 15.782 -18.14 7.20218 11.9321 15.9868 -18.145 7.4423 12.3076 16.2167 -18.15 7.68927 12.6868 16.4728 -18.155 7.94285 13.0684 16.7561 -18.16 8.20274 13.4508 17.0673 -18.165 8.46858 13.8325 17.4073 -18.17 8.73995 14.2114 17.777 -18.175 9.01634 14.5855 18.1769 -18.18 9.2972 14.9526 18.6077 -18.185 9.5819 15.3102 19.07 -18.19 9.86974 15.6557 19.5642 -18.195 10.16 15.9863 20.0909 -18.2 10.4518 16.299 20.6503 -18.205 10.7443 16.5912 21.2426 -18.21 11.0365 16.8614 21.8666 -18.215 11.3271 17.105 22.5208 -18.22 11.6145 17.3174 23.2032 -18.225 11.897 17.4942 23.9115 -18.23 12.1731 17.6318 24.6432 -18.235 12.4412 17.7267 25.3952 -18.24 12.6996 17.7761 26.1642 -18.245 12.9467 17.7775 26.9465 -18.25 13.1807 17.7288 27.7381 -18.255 13.4 17.6284 28.5345 -18.26 13.6027 17.4751 29.3309 -18.265 13.7872 17.2682 30.1223 -18.27 13.9516 17.0073 30.9031 -18.275 14.0941 16.6926 31.6674 -18.28 14.2128 16.3245 32.4092 -18.285 14.3059 15.9038 33.1218 -18.29 14.3726 15.4272 33.7973 -18.295 14.4121 14.9002 34.4308 -18.3 14.4235 14.3311 35.0186 -18.305 14.4063 13.7276 35.5574 -18.31 14.3602 13.0968 36.0446 -18.315 14.2851 12.4453 36.4779 -18.32 14.1812 11.7792 36.8555 -18.325 14.0491 11.1039 37.1762 -18.33 13.8895 10.4241 37.439 -18.335 13.7035 9.74434 37.6437 -18.34 13.4922 9.06819 37.7904 -18.345 13.2574 8.39883 37.8798 -18.35 13.0007 7.73883 37.9127 -18.355 12.7244 7.09019 37.891 -18.36 12.4307 6.45433 37.8165 -18.365 12.1223 5.83211 37.6919 -18.37 11.8004 5.22967 37.5216 -18.375 11.4654 4.65684 37.3114 -18.38 11.1195 4.11555 37.0647 -18.385 10.765 3.60728 36.7849 -18.39 10.4041 3.13305 36.4754 -18.395 10.0386 2.6935 36.1397 -18.4 9.67046 2.28882 35.7811 -18.405 9.30149 1.91881 35.4029 -18.41 8.9333 1.58284 35.0086 -18.415 8.56744 1.27984 34.6014 -18.42 8.20533 1.00835 34.1848 -18.425 7.84827 0.766489 33.7621 -18.43 7.49745 0.551937 33.3366 -18.435 7.15396 0.36223 32.9111 -18.44 6.81875 0.196624 32.485 -18.445 6.49246 0.0536795 32.059 -18.45 6.1756 -0.0682803 31.6342 -18.455 5.86865 -0.170883 31.2116 -18.46 5.57201 -0.255709 30.792 -18.465 5.28599 -0.324289 30.3762 -18.47 5.01085 -0.378106 29.9646 -18.475 4.74677 -0.418593 29.558 -18.48 4.49386 -0.447137 29.1566 -18.485 4.25218 -0.465075 28.7606 -18.49 4.02169 -0.473695 28.3702 -18.495 3.80229 -0.474237 27.9855 -18.5 3.59381 -0.467894 27.6063 -18.505 3.396 -0.455502 27.2327 -18.51 3.20858 -0.437654 26.8647 -18.515 3.03126 -0.415063 26.5023 -18.52 2.86376 -0.388394 26.1454 -18.525 2.7058 -0.358256 25.794 -18.53 2.55709 -0.325208 25.4478 -18.535 2.4173 -0.289754 25.1069 -18.54 2.28614 -0.252347 24.7711 -18.545 2.16328 -0.213387 24.4404 -18.55 2.04839 -0.173221 24.1146 -18.555 1.94112 -0.132144 23.7937 -18.56 1.84115 -0.0903978 23.4775 -18.565 1.7481 -0.0481718 23.1659 -18.57 1.66162 -0.00560284 22.8589 -18.575 1.58133 0.0372123 22.5563 -18.58 1.50692 0.0801477 22.2579 -18.585 1.43814 0.123092 21.9639 -18.59 1.37479 0.165955 21.6739 -18.595 1.31663 0.208667 21.3881 -18.6 1.26345 0.251178 21.1063 -18.605 1.21501 0.293458 20.8284 -18.61 1.1711 0.335495 20.5545 -18.615 1.13148 0.377298 20.2843 -18.62 1.09592 0.418897 20.0179 -18.625 1.06421 0.460339 19.7552 -18.63 1.0361 0.501693 19.4961 -18.635 1.01137 0.543047 19.2405 -18.64 0.989785 0.584509 18.9885 -18.645 0.971118 0.626205 18.74 -18.65 0.955255 0.668195 18.4949 -18.655 0.942146 0.710503 18.2532 -18.66 0.931716 0.753182 18.0148 -18.665 0.923889 0.796295 17.7798 -18.67 0.918588 0.839915 17.548 -18.675 0.915738 0.884123 17.3195 -18.68 0.915266 0.929011 17.0943 -18.685 0.917096 0.974679 16.8722 -18.69 0.921156 1.02124 16.6533 -18.695 0.927372 1.06881 16.4376 -18.7 0.935671 1.11752 16.2249 -18.705 0.945981 1.16752 16.0154 -18.71 0.95823 1.21894 15.8089 -18.715 0.972348 1.27195 15.6055 -18.72 0.98829 1.32671 15.4051 -18.725 1.00611 1.38328 15.2078 -18.73 1.02583 1.44179 15.0135 -18.735 1.04748 1.50235 14.8223 -18.74 1.07108 1.56507 14.634 -18.745 1.09665 1.6301 14.4488 -18.75 1.12424 1.69757 14.2666 -18.755 1.15388 1.76765 14.0875 -18.76 1.1856 1.84049 13.9113 -18.765 1.21944 1.91626 13.7383 -18.77 1.25544 1.99515 13.5683 -18.775 1.29365 2.07735 13.4015 -18.78 1.33411 2.16305 13.2378 -18.785 1.37687 2.25246 13.0773 -18.79 1.42198 2.34581 12.9201 -18.795 1.4695 2.44333 12.7662 -18.8 1.51951 2.54523 12.6156 -18.805 1.57216 2.65165 12.4686 -18.81 1.62759 2.76284 12.3251 -18.815 1.68588 2.87905 12.1853 -18.82 1.74712 3.00054 12.0491 -18.825 1.81145 3.12759 11.9167 -18.83 1.87897 3.2605 11.7882 -18.835 1.94981 3.39954 11.6636 -18.84 2.02412 3.54502 11.5433 -18.845 2.10204 3.69725 11.4274 -18.85 2.18374 3.85655 11.316 -18.855 2.26937 4.02322 11.2094 -18.86 2.35912 4.19762 11.108 -18.865 2.45318 4.38007 11.0119 -18.87 2.55173 4.57093 10.9215 -18.875 2.65497 4.77054 10.8371 -18.88 2.76314 4.97928 10.7591 -18.885 2.87644 5.1975 10.6879 -18.89 2.9951 5.4256 10.6239 -18.895 3.11938 5.66396 10.5674 -18.9 3.24952 5.91297 10.5191 -18.905 3.38571 6.17256 10.4795 -18.91 3.52806 6.44189 10.4495 -18.915 3.67692 6.72197 10.4297 -18.92 3.83263 7.01386 10.4206 -18.925 3.99553 7.31848 10.423 -18.93 4.16593 7.63659 10.4375 -18.935 4.34414 7.96881 10.4651 -18.94 4.53043 8.3156 10.5067 -18.945 4.72506 8.67729 10.5634 -18.95 4.92828 9.05407 10.6363 -18.955 5.14032 9.44595 10.7266 -18.96 5.36139 9.85284 10.8357 -18.965 5.59167 10.2745 10.9651 -18.97 5.83134 10.7104 11.1162 -18.975 6.08057 11.1601 11.2907 -18.98 6.33948 11.6229 11.4904 -18.985 6.60819 12.098 11.717 -18.99 6.88681 12.5843 11.9725 -18.995 7.17543 13.0806 12.2589 -19 7.47411 13.5858 12.5783 -19.005 7.7829 14.0984 12.9329 -19.01 8.10183 14.6167 13.325 -19.015 8.43092 15.1392 13.7571 -19.02 8.77016 15.6639 14.2316 -19.025 9.11909 16.1889 14.7499 -19.03 9.47616 16.7118 15.3116 -19.035 9.84085 17.2276 15.9196 -19.04 10.2125 17.7316 16.5765 -19.045 10.5902 18.2186 17.2839 -19.05 10.9729 18.6835 18.0427 -19.055 11.3592 19.1209 18.8531 -19.06 11.7476 19.5255 19.7143 -19.065 12.1363 19.8916 20.625 -19.07 12.5232 20.2135 21.583 -19.075 12.9061 20.4856 22.5851 -19.08 13.2825 20.7017 23.6277 -19.085 13.6498 20.856 24.7062 -19.09 14.005 20.9421 25.8151 -19.095 14.345 20.9538 26.9484 -19.1 14.6664 20.8847 28.099 -19.105 14.9672 20.7279 29.2617 -19.11 15.2446 20.4809 30.4265 -19.115 15.4947 20.1446 31.5799 -19.12 15.7138 19.7204 32.7094 -19.125 15.8988 19.2109 33.8034 -19.13 16.0469 18.6189 34.8515 -19.135 16.156 17.9486 35.8441 -19.14 16.2243 17.2045 36.7724 -19.145 16.2505 16.3922 37.6289 -19.15 16.2337 15.5179 38.4069 -19.155 16.1735 14.5887 39.1007 -19.16 16.0701 13.6125 39.7056 -19.165 15.9239 12.5978 40.2178 -19.17 15.7357 11.5547 40.6342 -19.175 15.5053 10.5 40.9505 -19.18 15.2346 9.4467 41.1688 -19.185 14.9262 8.40502 41.2926 -19.19 14.583 7.38423 41.3264 -19.195 14.2079 6.3926 41.2749 -19.2 13.8039 5.43739 41.1434 -19.205 13.3741 4.52485 40.938 -19.21 12.9218 3.66025 40.6649 -19.215 12.4502 2.84782 40.3313 -19.22 11.9629 2.09081 39.9446 -19.225 11.4634 1.39147 39.5129 -19.23 10.9554 0.75102 39.0448 -19.235 10.4427 0.169701 38.5495 -19.24 9.9286 -0.35449 38.0346 -19.245 9.41541 -0.825097 37.5035 -19.25 8.9056 -1.2442 36.9608 -19.255 8.40142 -1.61408 36.4105 -19.26 7.90492 -1.93728 35.8562 -19.265 7.41791 -2.21656 35.3013 -19.27 6.94199 -2.4549 34.7487 -19.275 6.47853 -2.65555 34.2009 -19.28 6.02869 -2.82197 33.6602 -19.285 5.59339 -2.95785 33.1283 -19.29 5.17336 -3.06714 32.6067 -19.295 4.76907 -3.154 32.0963 -19.3 4.3808 -3.22284 31.598 -19.305 4.00863 -3.27684 31.1119 -19.31 3.65248 -3.3156 30.6373 -19.315 3.31217 -3.34104 30.1741 -19.32 2.98745 -3.35511 29.7222 -19.325 2.67802 -3.35963 29.2813 -19.33 2.38357 -3.35627 28.8512 -19.335 2.10372 -3.3466 28.4316 -19.34 1.83808 -3.332 28.0222 -19.345 1.5862 -3.31375 27.6227 -19.35 1.34759 -3.29296 27.2327 -19.355 1.12172 -3.27064 26.852 -19.36 0.908041 -3.24764 26.48 -19.365 0.705937 -3.22466 26.1164 -19.37 0.514706 -3.20236 25.7607 -19.375 0.333683 -3.18136 25.4127 -19.38 0.162374 -3.16211 25.0721 -19.385 0.000280501 -3.14505 24.7387 -19.39 -0.1531 -3.13058 24.4122 -19.395 -0.298277 -3.11904 24.0923 -19.4 -0.435761 -3.11077 23.7789 -19.405 -0.566072 -3.10602 23.4718 -19.41 -0.689732 -3.10507 23.1707 -19.415 -0.807269 -3.1081 22.8755 -19.42 -0.919214 -3.11529 22.586 -19.425 -1.02611 -3.12679 22.3021 -19.43 -1.12849 -3.14268 22.0236 -19.435 -1.2269 -3.16302 21.7505 -19.44 -1.32189 -3.18785 21.4825 -19.445 -1.41381 -3.21723 21.2197 -19.45 -1.50292 -3.25129 20.962 -19.455 -1.58952 -3.29013 20.7094 -19.46 -1.67387 -3.33387 20.4618 -19.465 -1.75629 -3.38259 20.2194 -19.47 -1.83707 -3.4364 19.982 -19.475 -1.91652 -3.49537 19.7497 -19.48 -1.99494 -3.55958 19.5225 -19.485 -2.07266 -3.62909 19.3004 -19.49 -2.15 -3.70397 19.0833 -19.495 -2.2273 -3.78427 18.8715 -19.5 -2.30488 -3.87002 18.6648 -19.505 -2.38308 -3.96126 18.4633 -19.51 -2.46227 -4.05803 18.2671 -19.515 -2.54269 -4.16038 18.0762 -19.52 -2.62448 -4.2685 17.8908 -19.525 -2.70777 -4.38257 17.7111 -19.53 -2.79275 -4.50276 17.5371 -19.535 -2.87956 -4.62925 17.369 -19.54 -2.9684 -4.7622 17.2071 -19.545 -3.05946 -4.90176 17.0515 -19.55 -3.15292 -5.04809 16.9024 -19.555 -3.24899 -5.20133 16.76 -19.56 -3.3479 -5.36162 16.6246 -19.565 -3.44987 -5.52908 16.4964 -19.57 -3.55514 -5.70385 16.3758 -19.575 -3.66394 -5.88602 16.2629 -19.58 -3.77654 -6.07572 16.1582 -19.585 -3.8932 -6.27305 16.0619 -19.59 -4.01419 -6.47809 15.9744 -19.595 -4.13962 -6.69078 15.8961 -19.6 -4.2696 -6.91133 15.8275 -19.605 -4.40429 -7.14005 15.769 -19.61 -4.54386 -7.37721 15.7213 -19.615 -4.68845 -7.62299 15.6849 -19.62 -4.8382 -7.87751 15.6604 -19.625 -4.99326 -8.14082 15.6484 -19.63 -5.15375 -8.41293 15.6497 -19.635 -5.31981 -8.69375 15.6649 -19.64 -5.49155 -8.98313 15.6948 -19.645 -5.66909 -9.28088 15.7402 -19.65 -5.85253 -9.58672 15.8018 -19.655 -6.04198 -9.90031 15.8804 -19.66 -6.23752 -10.2212 15.977 -19.665 -6.43926 -10.5491 16.0925 -19.67 -6.64728 -10.8832 16.2277 -19.675 -6.86164 -11.2231 16.3836 -19.68 -7.08243 -11.568 16.5612 -19.685 -7.30964 -11.9173 16.7614 -19.69 -7.54253 -12.2706 16.9837 -19.695 -7.78094 -12.6266 17.2294 -19.7 -8.02487 -12.9838 17.5003 -19.705 -8.27423 -13.3406 17.7981 -19.71 -8.52882 -13.6952 18.124 -19.715 -8.78834 -14.0458 18.479 -19.72 -9.05239 -14.3905 18.864 -19.725 -9.32046 -14.727 19.2793 -19.73 -9.59196 -15.0533 19.7253 -19.735 -9.86617 -15.367 20.2018 -19.74 -10.1423 -15.6656 20.7085 -19.745 -10.4194 -15.9466 21.2448 -19.75 -10.6965 -16.2074 21.8099 -19.755 -10.9725 -16.445 22.4026 -19.76 -11.2461 -16.6568 23.0215 -19.765 -11.516 -16.8395 23.6649 -19.77 -11.7809 -16.9901 24.3309 -19.775 -12.0391 -17.1054 25.0172 -19.78 -12.2891 -17.1819 25.7214 -19.785 -12.5292 -17.2162 26.4407 -19.79 -12.7582 -17.205 27.1729 -19.795 -12.9752 -17.1465 27.9145 -19.8 -13.1781 -17.0403 28.6593 -19.805 -13.3649 -16.8858 29.4011 -19.81 -13.5335 -16.6833 30.1342 -19.815 -13.6825 -16.433 30.8531 -19.82 -13.8102 -16.1358 31.5528 -19.825 -13.9154 -15.7929 32.2284 -19.83 -13.997 -15.4058 32.8755 -19.835 -14.0542 -14.9764 33.49 -19.84 -14.0862 -14.507 34.0679 -19.845 -14.0925 -14.0002 34.606 -19.85 -14.073 -13.4591 35.1009 -19.855 -14.0273 -12.887 35.5498 -19.86 -13.9557 -12.2878 35.9502 -19.865 -13.8585 -11.6656 36.3 -19.87 -13.7356 -11.0259 36.5965 -19.875 -13.587 -10.3768 36.8371 -19.88 -13.4137 -9.72394 37.0225 -19.885 -13.2172 -9.07242 37.1539 -19.89 -12.999 -8.42688 37.2326 -19.895 -12.7605 -7.79161 37.2603 -19.9 -12.5032 -7.17054 37.239 -19.905 -12.2289 -6.56717 37.1707 -19.91 -11.939 -5.98467 37.058 -19.915 -11.6354 -5.4258 36.9035 -19.92 -11.3198 -4.89294 36.7102 -19.925 -10.994 -4.3881 36.4813 -19.93 -10.6599 -3.91288 36.2204 -19.935 -10.3194 -3.46854 35.9312 -19.94 -9.97453 -3.05594 35.6177 -19.945 -9.62732 -2.67553 35.2842 -19.95 -9.2796 -2.32678 34.9343 -19.955 -8.93262 -2.00805 34.5702 -19.96 -8.58778 -1.71856 34.1939 -19.965 -8.24634 -1.45741 33.8078 -19.97 -7.90947 -1.2236 33.414 -19.975 -7.57825 -1.01601 33.0142 -19.98 -7.25364 -0.833408 32.6102 -19.985 -6.93649 -0.674442 32.2037 -19.99 -6.62756 -0.537647 31.7962 -19.995 -6.32749 -0.421444 31.3888 -20 -6.03684 -0.324141 30.9828 -20.005 -5.75603 -0.243926 30.5792 -20.01 -5.48539 -0.178877 30.1789 -20.015 -5.22517 -0.126954 29.7825 -20.02 -4.97548 -0.0862533 29.3907 -20.025 -4.73639 -0.0567415 29.0032 -20.03 -4.50781 -0.0376258 28.6202 -20.035 -4.28968 -0.0278715 28.2419 -20.04 -4.08186 -0.0265069 27.8684 -20.045 -3.88424 -0.0326236 27.4998 -20.05 -3.69664 -0.0453761 27.1363 -20.055 -3.51891 -0.063982 26.7777 -20.06 -3.35085 -0.087722 26.4242 -20.065 -3.19224 -0.11594 26.0758 -20.07 -3.04284 -0.148043 25.7325 -20.075 -2.90242 -0.1835 25.3941 -20.08 -2.77068 -0.221845 25.0607 -20.085 -2.64735 -0.262673 24.7322 -20.09 -2.53209 -0.305645 24.4083 -20.095 -2.42449 -0.350498 24.089 -20.1 -2.32422 -0.39699 23.7744 -20.105 -2.23105 -0.444885 23.4642 -20.11 -2.14476 -0.493974 23.1585 -20.115 -2.06511 -0.544079 22.8572 -20.12 -1.99188 -0.595049 22.5602 -20.125 -1.92482 -0.64676 22.2675 -20.13 -1.86369 -0.699119 21.9789 -20.135 -1.80825 -0.75206 21.6944 -20.14 -1.75826 -0.805546 21.414 -20.145 -1.71345 -0.859567 21.1376 -20.15 -1.67357 -0.914144 20.8651 -20.155 -1.63837 -0.969325 20.5966 -20.16 -1.60758 -1.02518 20.3318 -20.165 -1.58093 -1.08183 20.0709 -20.17 -1.55816 -1.13939 19.8138 -20.175 -1.53909 -1.19796 19.5603 -20.18 -1.52369 -1.25754 19.3106 -20.185 -1.51188 -1.31818 19.0645 -20.19 -1.50362 -1.37994 18.8222 -20.195 -1.49881 -1.44288 18.5834 -20.2 -1.4974 -1.50709 18.3482 -20.205 -1.49932 -1.57268 18.1167 -20.21 -1.50448 -1.63975 17.8887 -20.215 -1.51282 -1.70844 17.6644 -20.22 -1.52426 -1.77889 17.4436 -20.225 -1.53874 -1.85125 17.2264 -20.23 -1.55616 -1.92571 17.0127 -20.235 -1.57647 -2.00244 16.8027 -20.24 -1.59957 -2.08165 16.5963 -20.245 -1.6254 -2.16354 16.3935 -20.25 -1.65386 -2.24836 16.1943 -20.255 -1.68498 -2.33627 15.9988 -20.26 -1.71889 -2.42737 15.8071 -20.265 -1.75563 -2.52183 15.6191 -20.27 -1.79526 -2.61981 15.435 -20.275 -1.83783 -2.72151 15.2547 -20.28 -1.88339 -2.82712 15.0783 -20.285 -1.93201 -2.93684 14.9059 -20.29 -1.98376 -3.05091 14.7375 -20.295 -2.0387 -3.16954 14.5734 -20.3 -2.09691 -3.29298 14.4135 -20.305 -2.15847 -3.42147 14.258 -20.31 -2.22347 -3.55527 14.1071 -20.315 -2.29198 -3.69465 13.9608 -20.32 -2.3641 -3.83989 13.8195 -20.325 -2.43993 -3.99129 13.6831 -20.33 -2.51957 -4.14915 13.552 -20.335 -2.60312 -4.31377 13.4264 -20.34 -2.69075 -4.4852 13.3065 -20.345 -2.78269 -4.66353 13.1928 -20.35 -2.87909 -4.84925 13.0854 -20.355 -2.98011 -5.04283 12.9845 -20.36 -3.08592 -5.24471 12.8904 -20.365 -3.19668 -5.45531 12.8034 -20.37 -3.31257 -5.67499 12.7239 -20.375 -3.43377 -5.90412 12.6523 -20.38 -3.56047 -6.14303 12.5892 -20.385 -3.69284 -6.392 12.535 -20.39 -3.83109 -6.6513 12.4904 -20.395 -3.97542 -6.92117 12.456 -20.4 -4.12603 -7.20182 12.4324 -20.405 -4.28312 -7.49342 12.4206 -20.41 -4.44691 -7.79613 12.4212 -20.415 -4.61763 -8.11007 12.4351 -20.42 -4.79548 -8.43534 12.4633 -20.425 -4.98071 -8.77199 12.5068 -20.43 -5.17354 -9.12005 12.5664 -20.435 -5.37421 -9.47955 12.6435 -20.44 -5.58297 -9.85044 12.739 -20.445 -5.80006 -10.2327 12.8541 -20.45 -6.02573 -10.6262 12.9902 -20.455 -6.25962 -11.0301 13.1476 -20.46 -6.50164 -11.4437 13.3279 -20.465 -6.75215 -11.8668 13.5331 -20.47 -7.01137 -12.299 13.7653 -20.475 -7.27945 -12.7395 14.0265 -20.48 -7.5564 -13.1872 14.3184 -20.485 -7.84214 -13.6408 14.6427 -20.49 -8.13645 -14.0985 15.0008 -20.495 -8.43905 -14.5585 15.3941 -20.5 -8.74949 -15.0185 15.8239 -20.505 -9.06727 -15.4759 16.2913 -20.51 -9.39174 -15.9279 16.7972 -20.515 -9.72216 -16.3713 17.3424 -20.52 -10.0577 -16.8028 17.9276 -20.525 -10.3973 -17.2186 18.5534 -20.53 -10.7399 -17.6146 19.2201 -20.535 -11.0845 -17.9866 19.9281 -20.54 -11.4295 -18.3299 20.6775 -20.545 -11.7738 -18.6396 21.4683 -20.55 -12.116 -18.9134 22.2993 -20.555 -12.4542 -19.1459 23.1673 -20.56 -12.7859 -19.3306 24.0679 -20.565 -13.1088 -19.4615 24.9968 -20.57 -13.4205 -19.5336 25.9488 -20.575 -13.7185 -19.5426 26.9186 -20.58 -14.0005 -19.4851 27.9005 -20.585 -14.2642 -19.3582 28.8884 -20.59 -14.5073 -19.1603 29.8758 -20.595 -14.7274 -18.8902 30.8556 -20.6 -14.9223 -18.5477 31.8205 -20.605 -15.0897 -18.1332 32.7629 -20.61 -15.2273 -17.6483 33.6747 -20.615 -15.3328 -17.0949 34.5471 -20.62 -15.4041 -16.4759 35.3715 -20.625 -15.4399 -15.7907 36.1361 -20.63 -15.4395 -15.0471 36.8346 -20.635 -15.4023 -14.2573 37.4638 -20.64 -15.3282 -13.4326 38.0213 -20.645 -15.2172 -12.5831 38.5051 -20.65 -15.0699 -11.7183 38.9138 -20.655 -14.887 -10.8465 39.2467 -20.66 -14.6698 -9.97531 39.5037 -20.665 -14.4198 -9.11121 39.6851 -20.67 -14.1389 -8.25985 39.7921 -20.675 -13.8294 -7.42597 39.8262 -20.68 -13.4939 -6.61334 39.7898 -20.685 -13.1353 -5.82483 39.6856 -20.69 -12.7569 -5.06237 39.5172 -20.695 -12.3624 -4.32715 39.2886 -20.7 -11.953 -3.62915 39.0089 -20.705 -11.5304 -2.97523 38.6857 -20.71 -11.0978 -2.36684 38.3244 -20.715 -10.6578 -1.80485 37.93 -20.72 -10.2132 -1.28955 37.5073 -20.725 -9.76648 -0.820633 37.0613 -20.73 -9.31982 -0.39721 36.5964 -20.735 -8.87537 -0.0178108 36.117 -20.74 -8.43507 0.319624 35.6276 -20.745 -8.00067 0.61774 35.1321 -20.75 -7.57374 0.879765 34.6346 -20.755 -7.15567 1.10938 34.1386 -20.76 -6.74772 1.30818 33.6449 -20.765 -6.35076 1.47813 33.1541 -20.77 -5.96549 1.6217 32.6677 -20.775 -5.59251 1.74129 32.1866 -20.78 -5.23233 1.83921 31.712 -20.785 -4.88534 1.91766 31.2446 -20.79 -4.55182 1.97876 30.785 -20.795 -4.23195 2.02453 30.3336 -20.8 -3.92581 2.05689 29.8906 -20.805 -3.63337 2.07768 29.4562 -20.81 -3.35448 2.08864 29.0301 -20.815 -3.08892 2.0914 28.6123 -20.82 -2.83638 2.08719 28.2027 -20.825 -2.59649 2.07706 27.8012 -20.83 -2.36888 2.06202 27.4075 -20.835 -2.15317 2.04301 27.0215 -20.84 -1.94893 2.02089 26.6429 -20.845 -1.75578 1.99647 26.2715 -20.85 -1.57327 1.97047 25.907 -20.855 -1.40098 1.94358 25.5493 -20.86 -1.23846 1.91637 25.1981 -20.865 -1.08526 1.88938 24.8532 -20.87 -0.940902 1.86307 24.5144 -20.875 -0.804913 1.83783 24.1816 -20.88 -0.676801 1.81398 23.8545 -20.885 -0.556068 1.79179 23.533 -20.89 -0.442201 1.77144 23.2169 -20.895 -0.334686 1.75306 22.906 -20.9 -0.233117 1.73687 22.6001 -20.905 -0.137159 1.72302 22.2992 -20.91 -0.0464812 1.71166 22.003 -20.915 0.0392523 1.70292 21.7115 -20.92 0.120376 1.69691 21.4246 -20.925 0.197226 1.69372 21.1422 -20.93 0.270139 1.69343 20.8642 -20.935 0.339454 1.6961 20.5905 -20.94 0.405509 1.70177 20.321 -20.945 0.468644 1.71047 20.0557 -20.95 0.5292 1.72221 19.7944 -20.955 0.587519 1.73697 19.537 -20.96 0.643942 1.75474 19.2836 -20.965 0.6987 1.77556 19.0341 -20.97 0.751951 1.7995 18.7884 -20.975 0.803876 1.82663 18.5466 -20.98 0.854657 1.857 18.3085 -20.985 0.90448 1.89069 18.0742 -20.99 0.953534 1.92774 17.8436 -20.995 1.00201 1.96822 17.6167 -21 1.05011 2.01217 17.3936 -21.005 1.09803 2.05965 17.1741 -21.01 1.14597 2.11071 16.9583 -21.015 1.19414 2.1654 16.7461 -21.02 1.24275 2.22377 16.5377 -21.025 1.29202 2.28586 16.3328 -21.03 1.34214 2.35172 16.1317 -21.035 1.39325 2.42151 15.9342 -21.04 1.44542 2.49535 15.7405 -21.045 1.49878 2.57342 15.5505 -21.05 1.55344 2.65587 15.3644 -21.055 1.60951 2.74285 15.182 -21.06 1.66714 2.83453 15.0036 -21.065 1.72646 2.93108 14.8292 -21.07 1.78763 3.03266 14.6588 -21.075 1.85082 3.13945 14.4925 -21.08 1.91618 3.25162 14.3305 -21.085 1.98392 3.36934 14.1728 -21.09 2.0542 3.4928 14.0195 -21.095 2.12724 3.62218 13.8708 -21.1 2.20324 3.75766 13.7269 -21.105 2.28242 3.89944 13.5877 -21.11 2.36497 4.04766 13.4537 -21.115 2.45102 4.20264 13.3249 -21.12 2.54069 4.36471 13.2016 -21.125 2.63413 4.53424 13.084 -21.13 2.73148 4.71156 12.9724 -21.135 2.83291 4.89701 12.8669 -21.14 2.93859 5.0909 12.7679 -21.145 3.04872 5.29355 12.6759 -21.15 3.16348 5.50527 12.5911 -21.155 3.2831 5.72633 12.514 -21.16 3.40778 5.95702 12.4452 -21.165 3.53776 6.19762 12.385 -21.17 3.67327 6.44838 12.3341 -21.175 3.81459 6.70955 12.2931 -21.18 3.96196 6.98138 12.2625 -21.185 4.11567 7.26411 12.2431 -21.19 4.276 7.55794 12.2355 -21.195 4.44325 7.86309 12.2405 -21.2 4.61769 8.17964 12.2588 -21.205 4.79899 8.50631 12.2911 -21.21 4.98743 8.84357 12.3384 -21.215 5.18342 9.19228 12.402 -21.22 5.38734 9.55306 12.4833 -21.225 5.5995 9.92628 12.5836 -21.23 5.82016 10.3121 12.7042 -21.235 6.0495 10.7105 12.8466 -21.24 6.28768 11.121 13.012 -21.245 6.53476 11.5433 13.2019 -21.25 6.79078 11.9764 13.4178 -21.255 7.0557 12.4193 13.661 -21.26 7.32943 12.8709 13.9329 -21.265 7.61182 13.3296 14.2351 -21.27 7.90265 13.7937 14.5691 -21.275 8.20167 14.2613 14.9362 -21.28 8.50856 14.7301 15.338 -21.285 8.82292 15.1978 15.7761 -21.29 9.14433 15.6616 16.2519 -21.295 9.47228 16.1188 16.7671 -21.3 9.80622 16.5661 17.3231 -21.305 10.1455 17.0003 17.9216 -21.31 10.4896 17.4177 18.5642 -21.315 10.8374 17.8155 19.2513 -21.32 11.1871 18.1905 19.9806 -21.325 11.5373 18.5363 20.7516 -21.33 11.8861 18.8467 21.5631 -21.335 12.2319 19.1159 22.4133 -21.34 12.5726 19.3385 23.2996 -21.345 12.9063 19.5097 24.2188 -21.35 13.2309 19.6249 25.1669 -21.355 13.5441 19.68 26.1393 -21.36 13.8434 19.6716 27.1306 -21.365 14.1266 19.5963 28.1348 -21.37 14.3909 19.4514 29.1452 -21.375 14.6338 19.2346 30.1542 -21.38 14.8523 18.944 31.1537 -21.385 15.0436 18.578 32.1349 -21.39 15.206 18.1312 33.0891 -21.395 15.3378 17.606 34.0075 -21.4 15.4367 17.0116 34.8811 -21.405 15.5006 16.3566 35.702 -21.41 15.5282 15.6494 36.4632 -21.415 15.5183 14.8977 37.1587 -21.42 15.4705 14.109 37.7836 -21.425 15.3846 13.2902 38.3339 -21.43 15.261 12.4477 38.8067 -21.435 15.1004 11.5877 39.2 -21.44 14.9043 10.7158 39.5127 -21.445 14.6742 9.83707 39.7449 -21.45 14.4125 8.95634 39.8976 -21.455 14.1217 8.07788 39.9728 -21.46 13.8047 7.2065 39.9734 -21.465 13.4615 6.35842 39.9041 -21.47 13.0943 5.54244 39.7698 -21.475 12.7063 4.76324 39.5752 -21.48 12.3004 4.02468 39.3253 -21.485 11.8797 3.32985 39.0254 -21.49 11.4469 2.68103 38.6809 -21.495 11.0049 2.07972 38.2973 -21.5 10.5562 1.52663 37.8804 -21.505 10.1034 1.02165 37.4362 -21.51 9.64908 0.563912 36.9707 -21.515 9.19554 0.151731 36.4904 -21.52 8.74508 -0.217359 36.0017 -21.525 8.2998 -0.546003 35.5087 -21.53 7.8613 -0.836077 35.0109 -21.535 7.43095 -1.09004 34.5109 -21.54 7.00998 -1.31035 34.0108 -21.545 6.59949 -1.49948 33.5127 -21.55 6.2004 -1.65988 33.0182 -21.555 5.81353 -1.79402 32.5289 -21.56 5.43952 -1.90434 32.046 -21.565 5.07889 -1.99328 31.5704 -21.57 4.73201 -2.06329 31.1027 -21.575 4.39909 -2.11681 30.6435 -21.58 4.08022 -2.15627 30.1928 -21.585 3.77535 -2.18397 29.7507 -21.59 3.48437 -2.20103 29.3172 -21.595 3.20703 -2.20872 28.8925 -21.6 2.94302 -2.20839 28.4762 -21.605 2.69201 -2.20131 28.0682 -21.61 2.45365 -2.18866 27.6684 -21.615 2.22758 -2.17151 27.2765 -21.62 2.0134 -2.15085 26.8923 -21.625 1.81073 -2.1276 26.5157 -21.63 1.61912 -2.10256 26.1463 -21.635 1.43814 -2.07644 25.784 -21.64 1.26732 -2.04989 25.4286 -21.645 1.10617 -2.02344 25.0798 -21.65 0.954206 -1.99753 24.7374 -21.655 0.810891 -1.97253 24.4011 -21.66 0.675661 -1.94877 24.0706 -21.665 0.548034 -1.92656 23.7459 -21.67 0.427618 -1.90617 23.4267 -21.675 0.314018 -1.88785 23.1129 -21.68 0.206839 -1.87181 22.8043 -21.685 0.105687 -1.85824 22.5008 -21.69 0.0101629 -1.84729 22.2023 -21.695 -0.0801306 -1.83911 21.9086 -21.7 -0.165593 -1.8338 21.6196 -21.705 -0.246625 -1.83146 21.3353 -21.71 -0.323628 -1.83214 21.0554 -21.715 -0.397005 -1.83588 20.7799 -21.72 -0.467159 -1.84269 20.5086 -21.725 -0.534477 -1.85256 20.2416 -21.73 -0.599203 -1.86558 19.9787 -21.735 -0.66155 -1.8818 19.7199 -21.74 -0.72174 -1.9013 19.4652 -21.745 -0.779997 -1.92415 19.2145 -21.75 -0.83655 -1.95039 18.9678 -21.755 -0.891629 -1.98008 18.725 -21.76 -0.945467 -2.01327 18.4861 -21.765 -0.9983 -2.05 18.2511 -21.77 -1.05037 -2.09031 18.02 -21.775 -1.10191 -2.13423 17.7927 -21.78 -1.15317 -2.18179 17.5692 -21.785 -1.2044 -2.23302 17.3494 -21.79 -1.25585 -2.28794 17.1335 -21.795 -1.30771 -2.34661 16.9213 -21.8 -1.3601 -2.40917 16.7129 -21.805 -1.41313 -2.47574 16.5084 -21.81 -1.46692 -2.54646 16.3076 -21.815 -1.52161 -2.62147 16.1108 -21.82 -1.57734 -2.7009 15.9179 -21.825 -1.63426 -2.78488 15.7289 -21.83 -1.69251 -2.87357 15.5439 -21.835 -1.75228 -2.9671 15.3631 -21.84 -1.81374 -3.06562 15.1863 -21.845 -1.87706 -3.16927 15.0138 -21.85 -1.94244 -3.2782 14.8456 -21.855 -2.01009 -3.39256 14.6818 -21.86 -2.08021 -3.51249 14.5224 -21.865 -2.15302 -3.63816 14.3677 -21.87 -2.22872 -3.76972 14.2177 -21.875 -2.30742 -3.90741 14.0727 -21.88 -2.38924 -4.05155 13.9328 -21.885 -2.47431 -4.20242 13.7981 -21.89 -2.56277 -4.36035 13.6689 -21.895 -2.65477 -4.5256 13.5454 -21.9 -2.75047 -4.69849 13.4278 -21.905 -2.85005 -4.87927 13.3165 -21.91 -2.9537 -5.06824 13.2116 -21.915 -3.06161 -5.26567 13.1137 -21.92 -3.17398 -5.47182 13.0231 -21.925 -3.29105 -5.68697 12.9401 -21.93 -3.41305 -5.91135 12.8652 -21.935 -3.54021 -6.14524 12.799 -21.94 -3.6728 -6.38887 12.7418 -21.945 -3.81108 -6.6425 12.6942 -21.95 -3.95532 -6.90636 12.6569 -21.955 -4.10583 -7.18068 12.6303 -21.96 -4.26264 -7.46503 12.6151 -21.965 -4.42583 -7.75933 12.6121 -21.97 -4.59572 -8.06438 12.6221 -21.975 -4.77261 -8.3808 12.6461 -21.98 -4.95679 -8.70907 12.685 -21.985 -5.1485 -9.04948 12.74 -21.99 -5.34794 -9.40219 12.812 -21.995 -5.5553 -9.76718 12.9022 -22 -5.77072 -10.1443 13.0118 -22.005 -5.99433 -10.5331 13.142 -22.01 -6.22621 -10.9333 13.2941 -22.015 -6.46641 -11.344 13.4694 -22.02 -6.71497 -11.7645 13.6692 -22.025 -6.97187 -12.1939 13.8951 -22.03 -7.23707 -12.6309 14.1484 -22.035 -7.51051 -13.0742 14.4307 -22.04 -7.79209 -13.5225 14.7435 -22.045 -8.08167 -13.974 15.0885 -22.05 -8.37909 -14.427 15.4673 -22.055 -8.68417 -14.8795 15.8817 -22.06 -8.99666 -15.3294 16.3333 -22.065 -9.31628 -15.7746 16.824 -22.07 -9.6419 -16.2135 17.353 -22.075 -9.97259 -16.6423 17.9214 -22.08 -10.3075 -17.0562 18.5306 -22.085 -10.6458 -17.4507 19.1814 -22.09 -10.9862 -17.8213 19.8739 -22.095 -11.3274 -18.1634 20.6076 -22.1 -11.6681 -18.4727 21.3813 -22.105 -12.0067 -18.7447 22.1934 -22.11 -12.3412 -18.975 23.0413 -22.115 -12.67 -19.1595 23.9221 -22.12 -12.9907 -19.2937 24.832 -22.125 -13.3013 -19.3735 25.7668 -22.13 -13.5993 -19.3947 26.7216 -22.135 -13.8822 -19.3533 27.6907 -22.14 -14.1472 -19.2451 28.6679 -22.145 -14.3922 -19.0641 29.6479 -22.15 -14.6161 -18.8052 30.6252 -22.155 -14.8156 -18.4722 31.5889 -22.16 -14.9878 -18.0696 32.5286 -22.165 -15.1304 -17.6021 33.4349 -22.17 -15.2412 -17.074 34.2993 -22.175 -15.3186 -16.49 35.1144 -22.18 -15.3613 -15.8547 35.8737 -22.185 -15.3684 -15.1729 36.5717 -22.19 -15.3395 -14.4491 37.2039 -22.195 -15.2745 -13.6883 37.7666 -22.2 -15.1738 -12.8951 38.2573 -22.205 -15.0381 -12.0745 38.6742 -22.21 -14.8686 -11.2313 39.0168 -22.215 -14.6669 -10.3705 39.2853 -22.22 -14.4349 -9.4971 39.481 -22.225 -14.1721 -8.62648 39.6028 -22.23 -13.8797 -7.77092 39.6516 -22.235 -13.5603 -6.93659 39.6307 -22.24 -13.2168 -6.12895 39.5437 -22.245 -12.8518 -5.35282 39.3943 -22.25 -12.468 -4.61232 39.1871 -22.255 -12.0681 -3.91088 38.9266 -22.26 -11.6545 -3.2513 38.6179 -22.265 -11.23 -2.63565 38.2665 -22.27 -10.7972 -2.06536 37.8783 -22.275 -10.3585 -1.54116 37.4594 -22.28 -9.91643 -1.06312 37.0164 -22.285 -9.47356 -0.630632 36.5564 -22.29 -9.03233 -0.242394 36.0866 -22.295 -8.59502 0.104041 35.6115 -22.3 -8.16328 0.411946 35.1295 -22.305 -7.73851 0.683517 34.643 -22.31 -7.32203 0.92095 34.1544 -22.315 -6.91498 1.12647 33.6657 -22.32 -6.51839 1.30234 33.1789 -22.325 -6.13313 1.45086 32.6956 -22.33 -5.75994 1.57435 32.2172 -22.335 -5.39944 1.67518 31.7448 -22.34 -5.05209 1.75574 31.2793 -22.345 -4.71821 1.81847 30.8214 -22.35 -4.39799 1.86582 30.3714 -22.355 -4.0915 1.9003 29.9295 -22.36 -3.79864 1.92423 29.4956 -22.365 -3.51925 1.93819 29.07 -22.37 -3.25305 1.94325 28.6525 -22.375 -2.99976 1.94069 28.2429 -22.38 -2.75905 1.93169 27.8412 -22.385 -2.53059 1.91736 27.4471 -22.39 -2.31403 1.89872 27.0605 -22.395 -2.10899 1.87668 26.6812 -22.4 -1.91509 1.8521 26.3091 -22.405 -1.7319 1.82572 25.9439 -22.41 -1.559 1.79821 25.5854 -22.415 -1.39594 1.77015 25.2334 -22.42 -1.24224 1.74204 24.8877 -22.425 -1.09742 1.71427 24.5481 -22.43 -0.960944 1.68718 24.2143 -22.435 -0.832299 1.66112 23.8861 -22.44 -0.71109 1.63635 23.5633 -22.445 -0.596939 1.61315 23.2459 -22.45 -0.489467 1.59173 22.9337 -22.455 -0.388293 1.57228 22.6265 -22.46 -0.293036 1.55499 22.3242 -22.465 -0.203313 1.54 22.0266 -22.47 -0.118741 1.52743 21.7337 -22.475 -0.038935 1.51737 21.4454 -22.48 0.0364924 1.50988 21.1614 -22.485 0.107928 1.50502 20.8817 -22.49 0.175761 1.50279 20.6063 -22.495 0.240381 1.50318 20.3349 -22.5 0.302105 1.50621 20.0676 -22.505 0.361132 1.51196 19.8043 -22.51 0.417668 1.52048 19.5449 -22.515 0.471925 1.53182 19.2894 -22.52 0.524116 1.54603 19.0377 -22.525 0.574455 1.56316 18.7898 -22.53 0.623161 1.58322 18.5456 -22.535 0.670455 1.60626 18.3051 -22.54 0.716559 1.6323 18.0683 -22.545 0.7617 1.66136 17.8351 -22.55 0.806105 1.69345 17.6055 -22.555 0.850005 1.72857 17.3794 -22.56 0.893632 1.76673 17.1568 -22.565 0.937213 1.80793 16.9377 -22.57 0.980875 1.85227 16.722 -22.575 1.02472 1.89984 16.5099 -22.58 1.06884 1.95074 16.3012 -22.585 1.11337 2.00509 16.096 -22.59 1.15843 2.06297 15.8943 -22.595 1.20413 2.12451 15.696 -22.6 1.25063 2.18981 15.5013 -22.605 1.29806 2.25898 15.3101 -22.61 1.34657 2.33212 15.1224 -22.615 1.39632 2.40936 14.9383 -22.62 1.44747 2.49081 14.7578 -22.625 1.5002 2.57658 14.5809 -22.63 1.55469 2.6668 14.4077 -22.635 1.61112 2.76159 14.2382 -22.64 1.66967 2.86106 14.0726 -22.645 1.73046 2.96544 13.9108 -22.65 1.79359 3.07495 13.753 -22.655 1.85914 3.18984 13.5993 -22.66 1.92725 3.31037 13.4497 -22.665 1.99803 3.43677 13.3045 -22.67 2.07163 3.56931 13.1636 -22.675 2.14819 3.70825 13.0273 -22.68 2.22787 3.85383 12.8958 -22.685 2.31084 4.00634 12.7692 -22.69 2.39729 4.16602 12.6478 -22.695 2.48742 4.33317 12.5318 -22.7 2.58143 4.50804 12.4214 -22.705 2.67953 4.69091 12.317 -22.71 2.78197 4.88207 12.2189 -22.715 2.88898 5.0818 12.1273 -22.72 3.00081 5.29038 12.0426 -22.725 3.11772 5.50809 11.9652 -22.73 3.23988 5.73481 11.8956 -22.735 3.36746 5.97093 11.8343 -22.74 3.50068 6.2171 11.7819 -22.745 3.6398 6.47393 11.7387 -22.75 3.78502 6.74191 11.7053 -22.755 3.9366 7.02149 11.6823 -22.76 4.09474 7.31305 11.6705 -22.765 4.25969 7.61688 11.6707 -22.77 4.43166 7.9332 11.6837 -22.775 4.61088 8.26217 11.7105 -22.78 4.79757 8.60386 11.752 -22.785 4.99195 8.95829 11.8093 -22.79 5.19425 9.32538 11.8835 -22.795 5.40468 9.70501 11.976 -22.8 5.62345 10.097 12.088 -22.805 5.8508 10.5009 12.2208 -22.81 6.08692 10.9166 12.3759 -22.815 6.33203 11.3435 12.5549 -22.82 6.58635 11.7812 12.7592 -22.825 6.85008 12.2291 12.9906 -22.83 7.12342 12.6865 13.2508 -22.835 7.40561 13.1523 13.5398 -22.84 7.69638 13.6252 13.8594 -22.845 7.99594 14.1036 14.2128 -22.85 8.30433 14.5856 14.6024 -22.855 8.62143 15.0691 15.0307 -22.86 8.94696 15.5517 15.4995 -22.865 9.28045 16.0305 16.0104 -22.87 9.62128 16.5024 16.5646 -22.875 9.96866 16.964 17.1628 -22.88 10.3216 17.4116 17.8055 -22.885 10.679 17.841 18.4928 -22.89 11.0396 18.248 19.2243 -22.895 11.4019 18.6278 19.9993 -22.9 11.7642 18.9755 20.8169 -22.905 12.1247 19.2856 21.6757 -22.91 12.4816 19.5526 22.5737 -22.915 12.8326 19.7706 23.5089 -22.92 13.1754 19.9332 24.4788 -22.925 13.5083 20.035 25.481 -22.93 13.8294 20.0725 26.5104 -22.935 14.1353 20.0408 27.5577 -22.94 14.4226 19.9364 28.6135 -22.945 14.6885 19.7564 29.6692 -22.95 14.9299 19.4992 30.716 -22.955 15.1445 19.1639 31.7454 -22.96 15.3297 18.7509 32.7494 -22.965 15.4835 18.2614 33.7201 -22.97 15.604 17.6977 34.6496 -22.975 15.6894 17.063 35.5306 -22.98 15.7383 16.3617 36.3558 -22.985 15.7495 15.599 37.1184 -22.99 15.722 14.7811 37.8116 -22.995 15.6549 13.9153 38.4285 -23 15.5476 13.0109 38.9593 -23.005 15.4007 12.0795 39.4026 -23.01 15.2155 11.1323 39.7594 -23.015 14.9935 10.1799 40.0313 -23.02 14.7364 9.23139 40.2205 -23.025 14.4461 8.29547 40.3296 -23.03 14.1247 7.37969 40.3614 -23.035 13.7746 6.49071 40.3194 -23.04 13.3985 5.63431 40.2077 -23.045 12.9992 4.81534 40.0304 -23.05 12.5797 4.03775 39.7925 -23.055 12.1433 3.30455 39.4992 -23.06 11.6937 2.61787 39.1563 -23.065 11.2344 1.97892 38.77 -23.07 10.7682 1.38938 38.3487 -23.075 10.2972 0.850142 37.8999 -23.08 9.82416 0.360358 37.4286 -23.085 9.35149 -0.0811733 36.9396 -23.09 8.88156 -0.476024 36.4373 -23.095 8.41644 -0.826136 35.9256 -23.1 7.95802 -1.13382 35.4082 -23.105 7.50793 -1.40174 34.8884 -23.11 7.06762 -1.63296 34.3691 -23.115 6.63831 -1.83088 33.853 -23.12 6.22101 -1.99928 33.3423 -23.125 5.81652 -2.14187 32.8386 -23.13 5.42555 -2.25995 32.3424 -23.135 5.04847 -2.35581 31.8541 -23.14 4.68554 -2.43186 31.3744 -23.145 4.33695 -2.49039 30.9036 -23.15 4.0028 -2.53353 30.4422 -23.155 3.68311 -2.56329 29.9902 -23.16 3.37782 -2.58153 29.5478 -23.165 3.08679 -2.58997 29.115 -23.17 2.80979 -2.59021 28.6916 -23.175 2.54651 -2.58367 28.2774 -23.18 2.29658 -2.57168 27.872 -23.185 2.05945 -2.55545 27.4751 -23.19 1.83462 -2.53597 27.0866 -23.195 1.62166 -2.51404 26.7063 -23.2 1.42014 -2.49041 26.3336 -23.205 1.22961 -2.46579 25.9685 -23.21 1.04962 -2.4408 25.6106 -23.215 0.879694 -2.41605 25.2597 -23.22 0.719357 -2.39207 24.9155 -23.225 0.568123 -2.36934 24.5778 -23.23 0.425492 -2.34828 24.2463 -23.235 0.290958 -2.32928 23.921 -23.24 0.164001 -2.31265 23.6014 -23.245 0.0440932 -2.29865 23.2876 -23.25 -0.0693042 -2.2875 22.9793 -23.255 -0.176741 -2.27935 22.6763 -23.26 -0.278775 -2.27431 22.3785 -23.265 -0.375967 -2.27244 22.0858 -23.27 -0.468673 -2.27381 21.798 -23.275 -0.557154 -2.27856 21.515 -23.28 -0.641697 -2.28682 21.2368 -23.285 -0.722594 -2.2987 20.9632 -23.29 -0.800142 -2.31429 20.6942 -23.295 -0.874643 -2.33369 20.4298 -23.3 -0.946407 -2.35696 20.1699 -23.305 -1.01575 -2.38417 19.9144 -23.31 -1.08298 -2.41537 19.6632 -23.315 -1.14843 -2.4506 19.4164 -23.32 -1.21243 -2.48989 19.1739 -23.325 -1.27531 -2.53326 18.9357 -23.33 -1.33741 -2.5807 18.7016 -23.335 -1.39908 -2.63222 18.4717 -23.34 -1.46061 -2.68784 18.2459 -23.345 -1.52209 -2.7477 18.0243 -23.35 -1.58366 -2.81195 17.807 -23.355 -1.64549 -2.88069 17.594 -23.36 -1.70774 -2.95406 17.3852 -23.365 -1.77059 -3.03216 17.1808 -23.37 -1.83422 -3.11514 16.9807 -23.375 -1.89881 -3.2031 16.7851 -23.38 -1.96458 -3.29618 16.594 -23.385 -2.03172 -3.39448 16.4074 -23.39 -2.10045 -3.49815 16.2256 -23.395 -2.17098 -3.6073 16.0484 -23.4 -2.24355 -3.72205 15.8761 -23.405 -2.31839 -3.84253 15.7087 -23.41 -2.39575 -3.96887 15.5464 -23.415 -2.47581 -4.10118 15.3894 -23.42 -2.5587 -4.23974 15.2377 -23.425 -2.64454 -4.38481 15.0916 -23.43 -2.73346 -4.53666 14.9513 -23.435 -2.82562 -4.69556 14.8169 -23.44 -2.92116 -4.86177 14.6888 -23.445 -3.02026 -5.03552 14.5672 -23.45 -3.12309 -5.21706 14.4523 -23.455 -3.22985 -5.40662 14.3446 -23.46 -3.34072 -5.60442 14.2444 -23.465 -3.45593 -5.81068 14.1521 -23.47 -3.5757 -6.0256 14.068 -23.475 -3.70024 -6.24939 13.9926 -23.48 -3.82982 -6.48223 13.9264 -23.485 -3.96468 -6.72432 13.8699 -23.49 -4.10508 -6.97583 13.8236 -23.495 -4.25131 -7.23692 13.7881 -23.5 -4.40348 -7.5074 13.7638 -23.505 -4.5616 -7.78709 13.7515 -23.51 -4.72592 -8.07656 13.752 -23.515 -4.89672 -8.37629 13.7661 -23.52 -5.0742 -8.68662 13.7948 -23.525 -5.25859 -9.00773 13.839 -23.53 -5.45004 -9.3397 13.8998 -23.535 -5.6487 -9.68243 13.978 -23.54 -5.85468 -10.0357 14.0749 -23.545 -6.06808 -10.3992 14.1914 -23.55 -6.28896 -10.7723 14.3287 -23.555 -6.51735 -11.1545 14.488 -23.56 -6.75326 -11.545 14.6704 -23.565 -6.99667 -11.9429 14.8771 -23.57 -7.24753 -12.3471 15.1095 -23.575 -7.50577 -12.7565 15.3687 -23.58 -7.77128 -13.1696 15.6562 -23.585 -8.04392 -13.5852 15.9733 -23.59 -8.32355 -14.0014 16.3214 -23.595 -8.60998 -14.4167 16.7019 -23.6 -8.903 -14.8291 17.1162 -23.605 -9.20197 -15.2373 17.5648 -23.61 -9.50591 -15.6391 18.0477 -23.615 -9.81419 -16.0306 18.5664 -23.62 -10.1261 -16.408 19.1219 -23.625 -10.4407 -16.7675 19.7145 -23.63 -10.757 -17.1052 20.3444 -23.635 -11.0738 -17.4175 21.0109 -23.64 -11.3899 -17.7005 21.713 -23.645 -11.7039 -17.9505 22.4489 -23.65 -12.0142 -18.1639 23.2167 -23.655 -12.319 -18.3369 24.0137 -23.66 -12.6167 -18.466 24.8367 -23.665 -12.9052 -18.5476 25.682 -23.67 -13.1824 -18.5779 26.5455 -23.675 -13.4461 -18.5536 27.4224 -23.68 -13.694 -18.471 28.3074 -23.685 -13.9241 -18.3252 29.196 -23.69 -14.1356 -18.1107 30.0843 -23.695 -14.3257 -17.8306 30.9628 -23.7 -14.4919 -17.4887 31.8224 -23.705 -14.632 -17.089 32.655 -23.71 -14.744 -16.6353 33.4532 -23.715 -14.8265 -16.1315 34.2102 -23.72 -14.8782 -15.5813 34.9204 -23.725 -14.8984 -14.9889 35.5786 -23.73 -14.8863 -14.358 36.1807 -23.735 -14.842 -13.6926 36.7232 -23.74 -14.7655 -12.9968 37.2037 -23.745 -14.6574 -12.2743 37.6202 -23.75 -14.5185 -11.5293 37.9718 -23.755 -14.35 -10.7658 38.2583 -23.76 -14.1534 -9.98774 38.4803 -23.765 -13.9303 -9.20035 38.6389 -23.77 -13.6797 -8.41911 38.7325 -23.775 -13.4034 -7.6522 38.7624 -23.78 -13.1037 -6.90468 38.7313 -23.785 -12.783 -6.18105 38.6422 -23.79 -12.4437 -5.4853 38.4983 -23.795 -12.0881 -4.82083 38.3034 -23.8 -11.7185 -4.19054 38.0612 -23.805 -11.3373 -3.59675 37.7761 -23.81 -10.9466 -3.04124 37.4527 -23.815 -10.5487 -2.52527 37.0959 -23.82 -10.1459 -2.04951 36.7109 -23.825 -9.74019 -1.61412 36.3033 -23.83 -9.33383 -1.21871 35.879 -23.835 -8.92892 -0.862336 35.4442 -23.84 -8.52751 -0.543289 35.0043 -23.845 -8.13119 -0.258553 34.5575 -23.85 -7.74121 -0.0061408 34.1055 -23.855 -7.35867 0.215769 33.6501 -23.86 -6.98462 0.409026 33.1933 -23.865 -6.61993 0.575509 32.7368 -23.87 -6.26542 0.717125 32.282 -23.875 -5.92174 0.835809 31.8303 -23.88 -5.58947 0.933524 31.3828 -23.885 -5.26906 1.01226 30.9403 -23.89 -4.96083 1.07405 30.5036 -23.895 -4.66503 1.12093 30.0731 -23.9 -4.38175 1.15498 29.6492 -23.905 -4.111 1.17831 29.232 -23.91 -3.85265 1.1927 28.8214 -23.915 -3.60648 1.19839 28.4176 -23.92 -3.37224 1.19635 28.0205 -23.925 -3.14967 1.18764 27.6301 -23.93 -2.93847 1.17323 27.2463 -23.935 -2.73836 1.15402 26.869 -23.94 -2.54901 1.13085 26.498 -23.945 -2.37009 1.10448 26.1333 -23.95 -2.20126 1.07557 25.7747 -23.955 -2.04214 1.04475 25.4221 -23.96 -1.89237 1.01254 25.0753 -23.965 -1.75152 0.979398 24.7342 -23.97 -1.6192 0.945716 24.3986 -23.975 -1.49497 0.9118 24.0683 -23.98 -1.37836 0.87793 23.7431 -23.985 -1.26898 0.844376 23.4229 -23.99 -1.16651 0.811363 23.1077 -23.995 -1.07063 0.779089 22.7972 -24 -0.981008 0.747727 22.4913 -24.005 -0.897331 0.717424 22.19 -24.01 -0.819269 0.688303 21.8931 -24.015 -0.746498 0.660461 21.6006 -24.02 -0.678691 0.633968 21.3122 -24.025 -0.615522 0.608872 21.028 -24.03 -0.556663 0.585193 20.7478 -24.035 -0.501786 0.562926 20.4716 -24.04 -0.450561 0.542042 20.1992 -24.045 -0.402667 0.52249 19.9305 -24.05 -0.357897 0.504284 19.6655 -24.055 -0.316096 0.487453 19.4042 -24.06 -0.2771 0.472008 19.1465 -24.065 -0.240741 0.457953 18.8923 -24.07 -0.206855 0.445284 18.6416 -24.075 -0.175273 0.433988 18.3943 -24.08 -0.145826 0.424046 18.1503 -24.085 -0.118347 0.415429 17.9097 -24.09 -0.0926638 0.408103 17.6723 -24.095 -0.0686065 0.402022 17.4381 -24.1 -0.0460033 0.397136 17.207 -24.105 -0.0246814 0.393385 16.9791 -24.11 -0.00446743 0.390702 16.7542 -24.115 0.0147804 0.389037 16.5323 -24.12 0.0331023 0.38842 16.3134 -24.125 0.0505601 0.388856 16.0974 -24.13 0.0672194 0.390349 15.8843 -24.135 0.0831485 0.3929 15.674 -24.14 0.0984174 0.396508 15.4666 -24.145 0.113098 0.40117 15.262 -24.15 0.127266 0.406879 15.0601 -24.155 0.140996 0.41363 14.8609 -24.16 0.154369 0.42141 14.6644 -24.165 0.167464 0.43021 14.4705 -24.17 0.180364 0.440014 14.2792 -24.175 0.193155 0.450805 14.0905 -24.18 0.205924 0.462566 13.9044 -24.185 0.21875 0.475286 13.7207 -24.19 0.231647 0.489015 13.5395 -24.195 0.24464 0.503791 13.3608 -24.2 0.257756 0.519652 13.1844 -24.205 0.27103 0.536633 13.0105 -24.21 0.284498 0.554774 12.8389 -24.215 0.298197 0.574113 12.6697 -24.22 0.312171 0.59469 12.5028 -24.225 0.326466 0.616545 12.3381 -24.23 0.341128 0.639718 12.1758 -24.235 0.35621 0.664253 12.0156 -24.24 0.371766 0.690192 11.8577 -24.245 0.387855 0.717578 11.702 -24.25 0.404536 0.746456 11.5485 -24.255 0.421874 0.776871 11.3971 -24.26 0.439936 0.808869 11.2478 -24.265 0.458781 0.84252 11.1007 -24.27 0.47844 0.877925 10.9557 -24.275 0.498941 0.915174 10.8127 -24.28 0.52032 0.954366 10.6719 -24.285 0.542617 0.995604 10.5331 -24.29 0.565876 1.03899 10.3964 -24.295 0.590149 1.08465 10.2618 -24.3 0.615494 1.13268 10.1292 -24.305 0.641971 1.18322 9.99859 -24.31 0.669649 1.23639 9.87009 -24.315 0.698601 1.29232 9.74364 -24.32 0.728905 1.35114 9.61926 -24.325 0.760646 1.41301 9.49695 -24.33 0.793913 1.47806 9.37675 -24.335 0.828802 1.54644 9.25865 -24.34 0.865414 1.61831 9.14269 -24.345 0.903854 1.69384 9.02889 -24.35 0.944235 1.77318 8.91728 -24.355 0.986674 1.8565 8.80788 -24.36 1.03133 1.94399 8.70085 -24.365 1.07829 2.03588 8.59623 -24.37 1.12764 2.13244 8.49403 -24.375 1.17946 2.23394 8.39426 -24.38 1.23384 2.34066 8.29695 -24.385 1.2909 2.45291 8.20218 -24.39 1.35075 2.571 8.11002 -24.395 1.41355 2.69523 8.02059 -24.4 1.47944 2.82595 7.93401 -24.405 1.54858 2.96348 7.85044 -24.41 1.62114 3.10819 7.77005 -24.415 1.69732 3.26042 7.69303 -24.42 1.77731 3.42056 7.61962 -24.425 1.86133 3.58898 7.55006 -24.43 1.94961 3.76609 7.4846 -24.435 2.04238 3.95228 7.42353 -24.44 2.1399 4.14796 7.36717 -24.445 2.24243 4.35357 7.31585 -24.45 2.35026 4.56954 7.26992 -24.455 2.46366 4.79631 7.22977 -24.46 2.58295 5.03435 7.19579 -24.465 2.70844 5.28413 7.1684 -24.47 2.8404 5.54567 7.1483 -24.475 2.97886 5.81791 7.13703 -24.48 3.12422 6.10211 7.1349 -24.485 3.27689 6.39971 7.14224 -24.49 3.43728 6.71197 7.15952 -24.495 3.60579 7.04002 7.18736 -24.5 3.78279 7.3848 7.22653 -24.505 3.96867 7.74713 7.27797 -24.51 4.1638 8.12765 7.34274 -24.515 4.36852 8.52686 7.42208 -24.52 4.58318 8.94509 7.51736 -24.525 4.80811 9.38252 7.63013 -24.53 5.04363 9.83918 7.76206 -24.535 5.29005 10.3149 7.91499 -24.54 5.54768 10.8095 8.09092 -24.545 5.81681 11.3224 8.29197 -24.55 6.09771 11.8531 8.52044 -24.555 6.39065 12.4008 8.77877 -24.56 6.69589 12.9646 9.06956 -24.565 7.01367 13.5435 9.39556 -24.57 7.34424 14.1362 9.75967 -24.575 7.68782 14.7413 10.1649 -24.58 8.04463 15.3573 10.6145 -24.585 8.41486 15.9825 11.1119 -24.59 8.79871 16.6151 11.6604 -24.595 9.19519 17.2528 12.261 -24.6 9.60284 17.8913 12.915 -24.605 10.0214 18.525 13.6273 -24.61 10.4501 19.148 14.4016 -24.615 10.8882 19.7542 15.2406 -24.62 11.3343 20.3369 16.1461 -24.625 11.7868 20.8891 17.1187 -24.63 12.2437 21.4034 18.158 -24.635 12.7028 21.8721 19.2625 -24.64 13.1616 22.287 20.4298 -24.645 13.617 22.6397 21.6563 -24.65 14.0658 22.9211 22.9374 -24.655 14.5044 23.1221 24.2675 -24.66 14.9289 23.233 25.6398 -24.665 15.3351 23.2438 27.0468 -24.67 15.7198 23.1447 28.4817 -24.675 16.0795 22.9302 29.9323 -24.68 16.4087 22.5983 31.3801 -24.685 16.7022 22.148 32.8074 -24.69 16.9557 21.5804 34.198 -24.695 17.1652 20.8978 35.5366 -24.7 17.3273 20.1043 36.8094 -24.705 17.4393 19.2054 38.0038 -24.71 17.4991 18.2083 39.1081 -24.715 17.5049 17.1217 40.1121 -24.72 17.4557 15.9558 41.0067 -24.725 17.351 14.7225 41.7841 -24.73 17.1909 13.4353 42.4374 -24.735 16.9749 12.1144 42.9567 -24.74 16.7045 10.7802 43.3415 -24.745 16.3827 9.44944 43.5967 -24.75 16.0127 8.13723 43.7282 -24.755 15.5979 6.85695 43.7426 -24.76 15.1422 5.62033 43.6472 -24.765 14.6495 4.43746 43.4501 -24.77 14.1242 3.31675 43.1603 -24.775 13.5707 2.26497 42.7875 -24.78 12.9941 1.28722 42.3421 -24.785 12.3993 0.386931 41.8353 -24.79 11.7917 -0.434104 41.2792 -24.795 11.1767 -1.17622 40.6866 -24.8 10.5576 -1.84287 40.0678 -24.805 9.93787 -2.43649 39.4301 -24.81 9.32123 -2.95978 38.7801 -24.815 8.71085 -3.41594 38.1237 -24.82 8.10958 -3.80871 37.4663 -24.825 7.51993 -4.1423 36.8126 -24.83 6.9441 -4.42147 36.1669 -24.835 6.3839 -4.65147 35.5326 -24.84 5.84082 -4.83806 34.9128 -24.845 5.31603 -4.98753 34.3099 -24.85 4.81033 -5.10666 33.7256 -24.855 4.32418 -5.20263 33.1612 -24.86 3.85781 -5.27659 32.6158 -24.865 3.41121 -5.32939 32.0884 -24.87 2.98423 -5.36412 31.5787 -24.875 2.57665 -5.38364 31.0863 -24.88 2.18818 -5.39057 30.6108 -24.885 1.81846 -5.38734 30.1516 -24.89 1.46706 -5.37612 29.7082 -24.895 1.1335 -5.35886 29.28 -24.9 0.817191 -5.33731 28.8663 -24.905 0.517515 -5.31296 28.4665 -24.91 0.233763 -5.28709 28.0798 -24.915 -0.0348393 -5.26076 27.7054 -24.92 -0.289321 -5.23511 27.3426 -24.925 -0.530491 -5.21103 26.9909 -24.93 -0.758955 -5.18911 26.6498 -24.935 -0.975329 -5.16992 26.319 -24.94 -1.18024 -5.15397 25.9978 -24.945 -1.37432 -5.14173 25.686 -24.95 -1.55823 -5.13364 25.3832 -24.955 -1.73262 -5.13009 25.089 -24.96 -1.89816 -5.13144 24.8031 -24.965 -2.05553 -5.13798 24.5253 -24.97 -2.20542 -5.14998 24.2552 -24.975 -2.34855 -5.16769 23.9926 -24.98 -2.48561 -5.19127 23.7374 -24.985 -2.61734 -5.22087 23.4892 -24.99 -2.74447 -5.25659 23.2481 -24.995 -2.86774 -5.2985 23.0138 -25 -2.98766 -5.34648 22.7863 -25.005 -3.10447 -5.4005 22.5656 -25.01 -3.21851 -5.46068 22.3517 -25.015 -3.33009 -5.52707 22.1448 -25.02 -3.43955 -5.59976 21.9449 -25.025 -3.54723 -5.67879 21.7519 -25.03 -3.65348 -5.76418 21.5662 -25.035 -3.75865 -5.85597 21.3876 -25.04 -3.8631 -5.95415 21.2164 -25.045 -3.96718 -6.05871 21.0525 -25.05 -4.07127 -6.16962 20.8962 -25.055 -4.17575 -6.28683 20.7475 -25.06 -4.28099 -6.41028 20.6064 -25.065 -4.38737 -6.53991 20.4733 -25.07 -4.4953 -6.67561 20.3481 -25.075 -4.6051 -6.81728 20.231 -25.08 -4.71681 -6.96491 20.1225 -25.085 -4.83056 -7.11857 20.0227 -25.09 -4.94646 -7.2783 19.932 -25.095 -5.06467 -7.44411 19.8508 -25.1 -5.18531 -7.61595 19.7793 -25.105 -5.30852 -7.79376 19.7181 -25.11 -5.43442 -7.97744 19.6673 -25.115 -5.56314 -8.16686 19.6274 -25.12 -5.69481 -8.36184 19.5987 -25.125 -5.82954 -8.56217 19.5815 -25.13 -5.96746 -8.76761 19.5764 -25.135 -6.10869 -8.97789 19.5835 -25.14 -6.25334 -9.1927 19.6035 -25.145 -6.40152 -9.41168 19.6365 -25.15 -6.55336 -9.63445 19.683 -25.155 -6.70895 -9.8606 19.7435 -25.16 -6.86824 -10.0898 19.818 -25.165 -7.03095 -10.3216 19.9067 -25.17 -7.19704 -10.5555 20.0103 -25.175 -7.36649 -10.7909 20.1297 -25.18 -7.53919 -11.0271 20.2655 -25.185 -7.71504 -11.2634 20.4182 -25.19 -7.89386 -11.4989 20.5883 -25.195 -8.07545 -11.7327 20.7762 -25.2 -8.25957 -11.964 20.982 -25.205 -8.44595 -12.1918 21.206 -25.21 -8.63427 -12.4149 21.4482 -25.215 -8.82417 -12.6324 21.7086 -25.22 -9.01525 -12.843 21.987 -25.225 -9.20708 -13.0455 22.2832 -25.23 -9.3992 -13.2387 22.5969 -25.235 -9.59108 -13.4212 22.9276 -25.24 -9.78218 -13.5916 23.2748 -25.245 -9.97191 -13.7484 23.6379 -25.25 -10.1596 -13.8901 24.0162 -25.255 -10.3447 -14.0152 24.4088 -25.26 -10.5264 -14.1219 24.8148 -25.265 -10.7044 -14.2093 25.2339 -25.27 -10.8779 -14.2762 25.665 -25.275 -11.046 -14.3214 26.1056 -25.28 -11.2075 -14.3435 26.5536 -25.285 -11.3614 -14.3416 27.0065 -25.29 -11.507 -14.3149 27.4622 -25.295 -11.6431 -14.2626 27.9184 -25.3 -11.7692 -14.1845 28.3729 -25.305 -11.8843 -14.0802 28.8236 -25.31 -11.9878 -13.9497 29.2681 -25.315 -12.079 -13.7931 29.7045 -25.32 -12.1574 -13.6108 30.1306 -25.325 -12.2224 -13.4034 30.5443 -25.33 -12.2735 -13.1714 30.9435 -25.335 -12.3103 -12.916 31.3262 -25.34 -12.3325 -12.6382 31.6904 -25.345 -12.3397 -12.3393 32.034 -25.35 -12.3316 -12.0208 32.355 -25.355 -12.3082 -11.6845 32.6516 -25.36 -12.269 -11.3322 32.9211 -25.365 -12.214 -10.9667 33.1618 -25.37 -12.1436 -10.5908 33.3732 -25.375 -12.0583 -10.2073 33.5553 -25.38 -11.9584 -9.81889 33.7078 -25.385 -11.8447 -9.42792 33.8309 -25.39 -11.7176 -9.03672 33.9247 -25.395 -11.5778 -8.64745 33.9895 -25.4 -11.426 -8.26211 34.0257 -25.405 -11.263 -7.88257 34.0339 -25.41 -11.0894 -7.51052 34.0148 -25.415 -10.9063 -7.14751 33.9691 -25.42 -10.7144 -6.79496 33.8978 -25.425 -10.5146 -6.45411 33.802 -25.43 -10.3081 -6.12607 33.6828 -25.435 -10.0958 -5.81178 33.5416 -25.44 -9.87879 -5.51206 33.3798 -25.445 -9.65822 -5.22755 33.199 -25.45 -9.43527 -4.95877 33.001 -25.455 -9.21068 -4.70618 32.788 -25.46 -8.98513 -4.47007 32.5617 -25.465 -8.75951 -4.25052 32.3234 -25.47 -8.53461 -4.04751 32.0743 -25.475 -8.31121 -3.86097 31.8154 -25.48 -8.09002 -3.69071 31.548 -25.485 -7.87171 -3.53648 31.2731 -25.49 -7.65689 -3.39793 30.9918 -25.495 -7.44613 -3.27463 30.705 -25.5 -7.23996 -3.16606 30.4139 -25.505 -7.03884 -3.07162 30.1192 -25.51 -6.8432 -2.9906 29.8221 -25.515 -6.65342 -2.92225 29.5233 -25.52 -6.46981 -2.86569 29.2238 -25.525 -6.29266 -2.81998 28.9244 -25.53 -6.1222 -2.78409 28.6258 -25.535 -5.9586 -2.75689 28.3289 -25.54 -5.80199 -2.73782 28.0339 -25.545 -5.65239 -2.7273 27.7403 -25.55 -5.5098 -2.72488 27.4485 -25.555 -5.37424 -2.73008 27.1587 -25.56 -5.24569 -2.74246 26.8711 -25.565 -5.12413 -2.7616 26.586 -25.57 -5.00953 -2.78712 26.3036 -25.575 -4.90186 -2.81864 26.0241 -25.58 -4.80107 -2.85582 25.7476 -25.585 -4.70711 -2.89836 25.4745 -25.59 -4.61991 -2.94596 25.2047 -25.595 -4.53939 -2.99835 24.9384 -25.6 -4.46548 -3.0553 24.6759 -25.605 -4.39808 -3.1166 24.417 -25.61 -4.33709 -3.18206 24.1621 -25.615 -4.2824 -3.25152 23.911 -25.62 -4.23389 -3.32484 23.6639 -25.625 -4.1914 -3.40193 23.4209 -25.63 -4.1546 -3.4829 23.1821 -25.635 -4.12342 -3.56767 22.9477 -25.64 -4.09784 -3.65617 22.7177 -25.645 -4.07783 -3.74835 22.4921 -25.65 -4.06336 -3.84417 22.2711 -25.655 -4.05439 -3.94359 22.0548 -25.66 -4.05089 -4.04661 21.8431 -25.665 -4.05279 -4.15324 21.6364 -25.67 -4.06006 -4.2635 21.4346 -25.675 -4.07263 -4.37744 21.2379 -25.68 -4.09045 -4.49511 21.0464 -25.685 -4.11344 -4.61659 20.8604 -25.69 -4.14153 -4.74197 20.6798 -25.695 -4.17465 -4.87135 20.5051 -25.7 -4.21272 -5.00487 20.3362 -25.705 -4.25564 -5.14267 20.1734 -25.71 -4.30334 -5.2849 20.0169 -25.715 -4.3557 -5.43173 19.8668 -25.72 -4.41264 -5.58337 19.7236 -25.725 -4.47403 -5.74003 19.5872 -25.73 -4.53981 -5.90186 19.4581 -25.735 -4.61016 -6.06861 19.3364 -25.74 -4.68521 -6.24032 19.2223 -25.745 -4.76505 -6.41717 19.1163 -25.75 -4.84975 -6.59926 19.0186 -25.755 -4.93935 -6.78671 18.9294 -25.76 -5.03392 -6.97957 18.8493 -25.765 -5.13349 -7.1779 18.7784 -25.77 -5.23809 -7.3817 18.7173 -25.775 -5.34776 -7.59097 18.6663 -25.78 -5.4625 -7.80565 18.6258 -25.785 -5.58233 -8.02568 18.5962 -25.79 -5.70723 -8.25096 18.5781 -25.795 -5.83721 -8.48136 18.5718 -25.8 -5.97223 -8.71672 18.578 -25.805 -6.11228 -8.95685 18.597 -25.81 -6.25731 -9.20155 18.6294 -25.815 -6.40728 -9.45058 18.6758 -25.82 -6.56214 -9.70366 18.7367 -25.825 -6.72183 -9.96049 18.8127 -25.83 -6.88626 -10.2208 18.9044 -25.835 -7.05534 -10.4841 19.0124 -25.84 -7.22873 -10.7502 19.1359 -25.845 -7.40633 -11.0182 19.2759 -25.85 -7.58815 -11.2874 19.4333 -25.855 -7.77412 -11.5567 19.609 -25.86 -7.96411 -11.8251 19.804 -25.865 -8.15794 -12.0917 20.0188 -25.87 -8.35537 -12.3552 20.254 -25.875 -8.55611 -12.6146 20.5099 -25.88 -8.7598 -12.8686 20.7867 -25.885 -8.96604 -13.1158 21.0846 -25.89 -9.17436 -13.3551 21.4034 -25.895 -9.38424 -13.5849 21.743 -25.9 -9.59509 -13.8039 22.103 -25.905 -9.80629 -14.0104 22.4828 -25.91 -10.0171 -14.203 22.882 -25.915 -10.2269 -14.38 23.2995 -25.92 -10.4347 -14.5398 23.7346 -25.925 -10.6397 -14.6805 24.1861 -25.93 -10.8411 -14.8004 24.6529 -25.935 -11.0378 -14.8976 25.1334 -25.94 -11.2287 -14.9702 25.6264 -25.945 -11.4129 -15.0162 26.13 -25.95 -11.5894 -15.0337 26.6428 -25.955 -11.7582 -15.0215 27.1637 -25.96 -11.9179 -14.9789 27.6889 -25.965 -12.0671 -14.9058 28.215 -25.97 -12.2048 -14.8021 28.7384 -25.975 -12.3296 -14.6678 29.256 -25.98 -12.4408 -14.5032 29.7645 -25.985 -12.5373 -14.3087 30.2612 -25.99 -12.6185 -14.0851 30.7431 -25.995 -12.6836 -13.8331 31.2077 -26 -12.7321 -13.5538 31.6526 -26.005 -12.7636 -13.2483 32.0754 -26.01 -12.7778 -12.918 32.474 -26.015 -12.7744 -12.5645 32.8464 -26.02 -12.7534 -12.1896 33.1909 -26.025 -12.7147 -11.7951 33.5059 -26.03 -12.6586 -11.3833 33.7897 -26.035 -12.5853 -10.9564 34.0412 -26.04 -12.4949 -10.5172 34.2589 -26.045 -12.3871 -10.0707 34.4411 -26.05 -12.2625 -9.6204 34.5875 -26.055 -12.1219 -9.16907 34.6986 -26.06 -11.9664 -8.71945 34.7749 -26.065 -11.7968 -8.27408 34.8171 -26.07 -11.6142 -7.8353 34.8261 -26.075 -11.4196 -7.40529 34.8027 -26.08 -11.2138 -6.98604 34.7482 -26.085 -10.9981 -6.57937 34.6638 -26.09 -10.7734 -6.18692 34.5511 -26.095 -10.5409 -5.81014 34.4115 -26.1 -10.3017 -5.45032 34.2469 -26.105 -10.0568 -5.10855 34.0592 -26.11 -9.80748 -4.78577 33.8505 -26.115 -9.55492 -4.48272 33.6229 -26.12 -9.30029 -4.19996 33.3788 -26.125 -9.04485 -3.93788 33.1208 -26.13 -8.78979 -3.69619 32.8512 -26.135 -8.53603 -3.47339 32.571 -26.14 -8.28435 -3.26919 32.2813 -26.145 -8.03552 -3.08333 31.9834 -26.15 -7.79022 -2.91546 31.6784 -26.155 -7.54911 -2.76518 31.3675 -26.16 -7.3128 -2.632 31.0516 -26.165 -7.08183 -2.51535 30.7318 -26.17 -6.85671 -2.41461 30.4091 -26.175 -6.6379 -2.32905 30.0842 -26.18 -6.4258 -2.2579 29.7581 -26.185 -6.22076 -2.20029 29.4315 -26.19 -6.0231 -2.15529 29.1052 -26.195 -5.83308 -2.12188 28.7799 -26.2 -5.65089 -2.09899 28.4562 -26.205 -5.47671 -2.08546 28.1346 -26.21 -5.31063 -2.08005 27.8159 -26.215 -5.15273 -2.08145 27.5003 -26.22 -5.003 -2.08838 27.1883 -26.225 -4.86119 -2.10169 26.8796 -26.23 -4.72712 -2.1216 26.5739 -26.235 -4.60069 -2.14766 26.2714 -26.24 -4.48183 -2.17946 25.9723 -26.245 -4.37041 -2.2166 25.6766 -26.25 -4.26633 -2.25875 25.3844 -26.255 -4.16948 -2.30558 25.0959 -26.26 -4.07973 -2.35679 24.8112 -26.265 -3.99697 -2.41214 24.5303 -26.27 -3.92105 -2.47139 24.2533 -26.275 -3.85185 -2.53434 23.9804 -26.28 -3.78921 -2.60085 23.7114 -26.285 -3.73299 -2.67077 23.4466 -26.29 -3.68304 -2.744 23.1859 -26.295 -3.63919 -2.82048 22.9295 -26.3 -3.60129 -2.90017 22.6773 -26.305 -3.56915 -2.98307 22.4293 -26.31 -3.54251 -3.06923 22.1857 -26.315 -3.52125 -3.15865 21.9466 -26.32 -3.50533 -3.25131 21.7119 -26.325 -3.49472 -3.34722 21.4818 -26.33 -3.48936 -3.44637 21.2563 -26.335 -3.48923 -3.54881 21.0355 -26.34 -3.49426 -3.65457 20.8194 -26.345 -3.50442 -3.76372 20.6081 -26.35 -3.51964 -3.87634 20.4018 -26.355 -3.53987 -3.99253 20.2005 -26.36 -3.56505 -4.1124 20.0044 -26.365 -3.59512 -4.23608 19.8136 -26.37 -3.63001 -4.36371 19.6282 -26.375 -3.66965 -4.49546 19.4485 -26.38 -3.71396 -4.6315 19.2745 -26.385 -3.76289 -4.77205 19.1064 -26.39 -3.81633 -4.91729 18.9445 -26.395 -3.87422 -5.06748 18.7889 -26.4 -3.93647 -5.22285 18.6398 -26.405 -4.00311 -5.3835 18.4975 -26.41 -4.07435 -5.54933 18.3622 -26.415 -4.15028 -5.72055 18.2342 -26.42 -4.23099 -5.89734 18.1136 -26.425 -4.31654 -6.07987 18.0009 -26.43 -4.40699 -6.26829 17.8963 -26.435 -4.50242 -6.46273 17.8002 -26.44 -4.60288 -6.6633 17.7128 -26.445 -4.70844 -6.87007 17.6347 -26.45 -4.81913 -7.08314 17.5661 -26.455 -4.93503 -7.30253 17.5076 -26.46 -5.05616 -7.52829 17.4597 -26.465 -5.18258 -7.76042 17.4227 -26.47 -5.31433 -7.99891 17.3972 -26.475 -5.45143 -8.24374 17.3838 -26.48 -5.59393 -8.49485 17.383 -26.485 -5.74185 -8.75218 17.3955 -26.49 -5.89522 -9.01563 17.4217 -26.495 -6.05406 -9.2851 17.4625 -26.5 -6.21831 -9.56035 17.5182 -26.505 -6.38761 -9.84069 17.5884 -26.51 -6.56211 -10.1258 17.6743 -26.515 -6.74196 -10.4155 17.7771 -26.52 -6.92724 -10.7093 17.8979 -26.525 -7.11799 -11.0066 18.0378 -26.53 -7.31419 -11.3069 18.1976 -26.535 -7.51574 -11.6094 18.3782 -26.54 -7.72251 -11.9131 18.5804 -26.545 -7.93428 -12.2172 18.8046 -26.55 -8.1508 -12.5204 19.0515 -26.555 -8.37175 -12.8216 19.3215 -26.56 -8.59673 -13.1194 19.6148 -26.565 -8.82531 -13.4124 19.9316 -26.57 -9.057 -13.6988 20.2722 -26.575 -9.29122 -13.9772 20.6363 -26.58 -9.52737 -14.2456 21.024 -26.585 -9.76475 -14.5021 21.4351 -26.59 -10.0026 -14.7447 21.8692 -26.595 -10.2403 -14.9712 22.3259 -26.6 -10.4767 -15.1792 22.8047 -26.605 -10.7111 -15.3665 23.305 -26.61 -10.9425 -15.5305 23.826 -26.615 -11.1698 -15.6687 24.3671 -26.62 -11.3927 -15.7799 24.9272 -26.625 -11.61 -15.8622 25.5035 -26.63 -11.8199 -15.9132 26.0926 -26.635 -12.0212 -15.931 26.6912 -26.64 -12.2123 -15.9139 27.2959 -26.645 -12.3921 -15.8606 27.9035 -26.65 -12.5591 -15.7701 28.5107 -26.655 -12.7123 -15.6419 29.1141 -26.66 -12.8506 -15.4757 29.7104 -26.665 -12.9729 -15.2716 30.2964 -26.67 -13.0783 -15.0298 30.8688 -26.675 -13.1659 -14.7513 31.4243 -26.68 -13.2349 -14.4371 31.9596 -26.685 -13.2845 -14.0886 32.4715 -26.69 -13.3142 -13.7077 32.9567 -26.695 -13.3233 -13.2963 33.412 -26.7 -13.3113 -12.857 33.8342 -26.705 -13.2776 -12.3922 34.219 -26.71 -13.2222 -11.9056 34.563 -26.715 -13.1454 -11.402 34.8657 -26.72 -13.0477 -10.886 35.1267 -26.725 -12.9297 -10.3619 35.346 -26.73 -12.7921 -9.83385 35.5238 -26.735 -12.6356 -9.30547 35.6603 -26.74 -12.4612 -8.78023 35.7561 -26.745 -12.2697 -8.26128 35.8118 -26.75 -12.0624 -7.75146 35.8285 -26.755 -11.8402 -7.25335 35.8071 -26.76 -11.6046 -6.76919 35.749 -26.765 -11.3568 -6.30098 35.6557 -26.77 -11.0982 -5.8504 35.5289 -26.775 -10.8305 -5.41882 35.3704 -26.78 -10.5553 -5.00735 35.1823 -26.785 -10.2742 -4.61679 34.967 -26.79 -9.98901 -4.24789 34.7272 -26.795 -9.70035 -3.90243 34.467 -26.8 -9.4095 -3.58084 34.1889 -26.805 -9.11776 -3.28316 33.8948 -26.81 -8.82636 -3.00925 33.5867 -26.815 -8.53642 -2.75884 33.2664 -26.82 -8.24901 -2.5315 32.9356 -26.825 -7.96511 -2.32664 32.596 -26.83 -7.68559 -2.14353 32.2494 -26.835 -7.41128 -1.98126 31.8971 -26.84 -7.14288 -1.83878 31.5408 -26.845 -6.88105 -1.71491 31.1818 -26.85 -6.62633 -1.60827 30.8215 -26.855 -6.37921 -1.51736 30.4611 -26.86 -6.14007 -1.44052 30.1019 -26.865 -5.90922 -1.37602 29.7449 -26.87 -5.68693 -1.32375 29.3899 -26.875 -5.47331 -1.28326 29.0368 -26.88 -5.26841 -1.25366 28.6861 -26.885 -5.07227 -1.23409 28.3381 -26.89 -4.8849 -1.22376 27.9931 -26.895 -4.7063 -1.22189 27.6513 -26.9 -4.53642 -1.22779 27.3131 -26.905 -4.37523 -1.24077 26.9785 -26.91 -4.22264 -1.26021 26.6478 -26.915 -4.07857 -1.28552 26.3211 -26.92 -3.94289 -1.31617 25.9984 -26.925 -3.81547 -1.35165 25.6799 -26.93 -3.69614 -1.39153 25.3655 -26.935 -3.58474 -1.43537 25.0552 -26.94 -3.48104 -1.48284 24.749 -26.945 -3.38467 -1.53374 24.447 -26.95 -3.29535 -1.58791 24.1491 -26.955 -3.21295 -1.64511 23.8554 -26.96 -3.13733 -1.70512 23.566 -26.965 -3.06837 -1.76775 23.2806 -26.97 -3.00593 -1.83287 22.9995 -26.975 -2.94984 -1.90032 22.7225 -26.98 -2.89997 -1.97003 22.4496 -26.985 -2.85615 -2.04191 22.181 -26.99 -2.81821 -2.11593 21.9164 -26.995 -2.78599 -2.19207 21.6561 -27 -2.75931 -2.27035 21.4 -27.005 -2.73799 -2.35082 21.148 -27.01 -2.72184 -2.43354 20.9003 -27.015 -2.71067 -2.51863 20.6569 -27.02 -2.70428 -2.60621 20.4177 -27.025 -2.70247 -2.69644 20.1829 -27.03 -2.70503 -2.78951 19.9524 -27.035 -2.71174 -2.88563 19.7263 -27.04 -2.72255 -2.98493 19.5047 -27.045 -2.73755 -3.08738 19.2876 -27.05 -2.75678 -3.19309 19.0751 -27.055 -2.78024 -3.30217 18.8672 -27.06 -2.80796 -3.41473 18.664 -27.065 -2.83994 -3.53092 18.4656 -27.07 -2.87619 -3.65087 18.2721 -27.075 -2.91674 -3.77476 18.0835 -27.08 -2.96158 -3.90276 17.9 -27.085 -3.01073 -4.03504 17.7217 -27.09 -3.0642 -4.17181 17.5488 -27.095 -3.12199 -4.31328 17.3815 -27.1 -3.18411 -4.45966 17.2199 -27.105 -3.25056 -4.6112 17.0642 -27.11 -3.32136 -4.76815 16.9146 -27.115 -3.3965 -4.93075 16.7714 -27.12 -3.47599 -5.09929 16.6349 -27.125 -3.55982 -5.27405 16.5051 -27.13 -3.648 -5.45532 16.3826 -27.135 -3.74069 -5.64307 16.2674 -27.14 -3.83812 -5.83732 16.1601 -27.145 -3.94042 -6.03842 16.0609 -27.15 -4.04775 -6.24666 15.9701 -27.155 -4.16021 -6.46232 15.8882 -27.16 -4.27795 -6.68561 15.8156 -27.165 -4.40108 -6.91672 15.7528 -27.17 -4.52971 -7.1558 15.7002 -27.175 -4.66396 -7.40296 15.6584 -27.18 -4.80394 -7.65827 15.628 -27.185 -4.94974 -7.92176 15.6096 -27.19 -5.10147 -8.19343 15.6038 -27.195 -5.25922 -8.47323 15.6114 -27.2 -5.42308 -8.76109 15.633 -27.205 -5.59313 -9.05687 15.6695 -27.21 -5.76945 -9.36043 15.7216 -27.215 -5.95211 -9.67157 15.7902 -27.22 -6.1412 -9.99006 15.8762 -27.225 -6.33677 -10.3156 15.9804 -27.23 -6.53888 -10.6479 16.1038 -27.235 -6.74748 -10.9866 16.2472 -27.24 -6.96218 -11.3307 16.4105 -27.245 -7.18306 -11.6796 16.5952 -27.25 -7.4102 -12.0325 16.8029 -27.255 -7.64359 -12.3884 17.0351 -27.26 -7.88314 -12.746 17.293 -27.265 -8.12865 -13.1042 17.5777 -27.27 -8.37987 -13.4614 17.8901 -27.275 -8.63643 -13.816 18.2309 -27.28 -8.89789 -14.1662 18.6006 -27.285 -9.16373 -14.51 18.9997 -27.29 -9.43333 -14.8453 19.4283 -27.295 -9.70599 -15.1699 19.8865 -27.3 -9.98092 -15.4811 20.3742 -27.305 -10.2572 -15.7766 20.8911 -27.31 -10.534 -16.0534 21.4366 -27.315 -10.8101 -16.3086 22.0102 -27.32 -11.0845 -16.5392 22.611 -27.325 -11.3559 -16.7419 23.238 -27.33 -11.6231 -16.9132 23.8901 -27.335 -11.8849 -17.0505 24.5662 -27.34 -12.1406 -17.1516 25.2642 -27.345 -12.388 -17.2132 25.9795 -27.35 -12.6251 -17.2325 26.7075 -27.355 -12.8502 -17.2071 27.4437 -27.36 -13.0615 -17.1351 28.1836 -27.365 -13.2574 -17.0151 28.9227 -27.37 -13.4362 -16.8463 29.6564 -27.375 -13.5966 -16.6283 30.3804 -27.38 -13.7371 -16.3613 31.0901 -27.385 -13.8565 -16.0459 31.7811 -27.39 -13.9537 -15.6832 32.4488 -27.395 -14.0275 -15.275 33.0889 -27.4 -14.077 -14.8234 33.6969 -27.405 -14.1013 -14.331 34.2684 -27.41 -14.0996 -13.801 34.7989 -27.415 -14.0713 -13.237 35.2835 -27.42 -14.0158 -12.6427 35.7161 -27.425 -13.9334 -12.0249 36.0954 -27.43 -13.8248 -11.3901 36.4213 -27.435 -13.6906 -10.7445 36.6936 -27.44 -13.5317 -10.0936 36.9128 -27.445 -13.3491 -9.44272 37.0794 -27.45 -13.1437 -8.79662 37.1942 -27.455 -12.917 -8.15961 37.2583 -27.46 -12.6703 -7.53554 37.2731 -27.465 -12.4052 -6.92782 37.2402 -27.47 -12.1232 -6.33941 37.1615 -27.475 -11.8263 -5.77282 37.0392 -27.48 -11.5163 -5.2301 36.8757 -27.485 -11.1955 -4.71286 36.6737 -27.49 -10.8659 -4.22225 36.4361 -27.495 -10.53 -3.75905 36.1663 -27.5 -10.1889 -3.32572 35.87 -27.505 -9.84407 -2.92343 35.5511 -27.51 -9.49718 -2.55215 35.2125 -27.515 -9.14991 -2.21166 34.857 -27.52 -8.80377 -1.90149 34.487 -27.525 -8.46017 -1.62097 34.1051 -27.53 -8.12038 -1.36919 33.7135 -27.535 -7.78559 -1.14501 33.3145 -27.54 -7.45682 -0.947074 32.9102 -27.545 -7.13501 -0.773802 32.5024 -27.55 -6.82098 -0.623388 32.0931 -27.555 -6.51542 -0.493798 31.6839 -27.56 -6.21889 -0.382779 31.2765 -27.565 -5.93187 -0.288072 30.872 -27.57 -5.65478 -0.209372 30.4704 -27.575 -5.38781 -0.145674 30.0718 -27.58 -5.13108 -0.0956684 29.6767 -27.585 -4.88468 -0.0581117 29.2855 -27.59 -4.64865 -0.031825 28.8986 -27.595 -4.42302 -0.0156941 28.5163 -27.6 -4.20775 -0.00867012 28.1387 -27.605 -4.00278 -0.00976892 27.7661 -27.61 -3.80802 -0.0180714 27.3986 -27.615 -3.62333 -0.0327234 27.0362 -27.62 -3.44853 -0.0529358 26.679 -27.625 -3.28342 -0.0779843 26.3269 -27.63 -3.12775 -0.10721 25.9798 -27.635 -2.9812 -0.140044 25.6376 -27.64 -2.84338 -0.176086 25.3004 -27.645 -2.71404 -0.214929 24.968 -27.65 -2.59291 -0.256191 24.6404 -27.655 -2.47973 -0.299527 24.3175 -27.66 -2.37426 -0.34463 23.9993 -27.665 -2.27622 -0.391225 23.6857 -27.67 -2.18534 -0.439078 23.3765 -27.675 -2.10135 -0.487987 23.0718 -27.68 -2.02397 -0.537788 22.7715 -27.685 -1.95291 -0.588354 22.4754 -27.69 -1.8879 -0.639591 22.1836 -27.695 -1.82863 -0.691445 21.8959 -27.7 -1.77482 -0.743896 21.6123 -27.705 -1.72616 -0.796959 21.3328 -27.71 -1.68234 -0.850687 21.0572 -27.715 -1.64306 -0.905161 20.7856 -27.72 -1.60813 -0.9604 20.5178 -27.725 -1.57744 -1.01638 20.2539 -27.73 -1.55092 -1.0731 19.9937 -27.735 -1.52846 -1.13057 19.7374 -27.74 -1.50998 -1.18882 19.4847 -27.745 -1.49536 -1.2479 19.2358 -27.75 -1.48451 -1.30788 18.9905 -27.755 -1.47732 -1.36883 18.7488 -27.76 -1.47367 -1.43087 18.5108 -27.765 -1.47343 -1.49411 18.2764 -27.77 -1.47649 -1.55869 18.0456 -27.775 -1.48273 -1.62477 17.8183 -27.78 -1.492 -1.69252 17.5946 -27.785 -1.50417 -1.76213 17.3745 -27.79 -1.5191 -1.83382 17.1579 -27.795 -1.53664 -1.90781 16.9449 -27.8 -1.55668 -1.98432 16.7354 -27.805 -1.5794 -2.06338 16.5295 -27.81 -1.60489 -2.14508 16.3273 -27.815 -1.63315 -2.22956 16.1286 -27.82 -1.66423 -2.31697 15.9337 -27.825 -1.69814 -2.4075 15.7424 -27.83 -1.73493 -2.5013 15.5548 -27.835 -1.77462 -2.59859 15.371 -27.84 -1.81727 -2.69954 15.191 -27.845 -1.86291 -2.80438 15.0149 -27.85 -1.91159 -2.91333 14.8428 -27.855 -1.96336 -3.02662 14.6748 -27.86 -2.01827 -3.14448 14.5109 -27.865 -2.07637 -3.26718 14.3513 -27.87 -2.13774 -3.39499 14.1961 -27.875 -2.20243 -3.52816 14.0453 -27.88 -2.27051 -3.667 13.8993 -27.885 -2.34216 -3.81159 13.7581 -27.89 -2.41753 -3.9622 13.6221 -27.895 -2.49676 -4.11917 13.4913 -27.9 -2.57996 -4.28284 13.3658 -27.905 -2.66727 -4.45355 13.2458 -27.91 -2.75885 -4.63161 13.1317 -27.915 -2.85483 -4.81736 13.0236 -27.92 -2.95538 -5.0111 12.9219 -27.925 -3.06067 -5.21316 12.8269 -27.93 -3.17086 -5.42382 12.739 -27.935 -3.28614 -5.6434 12.6587 -27.94 -3.4067 -5.87218 12.5864 -27.945 -3.53274 -6.11046 12.5226 -27.95 -3.66444 -6.35852 12.4679 -27.955 -3.80203 -6.61663 12.4228 -27.96 -3.94571 -6.88507 12.388 -27.965 -4.09572 -7.1641 12.3642 -27.97 -4.25228 -7.45398 12.352 -27.975 -4.41564 -7.75497 12.3521 -27.98 -4.58603 -8.06731 12.3655 -27.985 -4.76368 -8.39118 12.3928 -27.99 -4.94849 -8.72575 12.4347 -27.995 -5.14071 -9.07133 12.4924 -28 -5.3407 -9.42847 12.5672 -28.005 -5.54878 -9.79753 12.6604 -28.01 -5.76522 -10.1787 12.7733 -28.015 -5.99021 -10.5718 12.9072 -28.02 -6.2239 -10.9766 13.0636 -28.025 -6.46639 -11.3926 13.2439 -28.03 -6.71772 -11.8191 13.4494 -28.035 -6.97787 -12.2552 13.6816 -28.04 -7.24678 -12.6997 13.942 -28.045 -7.52432 -13.1513 14.2319 -28.05 -7.81032 -13.6084 14.553 -28.055 -8.10454 -14.0692 14.9068 -28.06 -8.40669 -14.5318 15.2947 -28.065 -8.71644 -14.9939 15.7183 -28.07 -9.03339 -15.4531 16.1792 -28.075 -9.35708 -15.9069 16.679 -28.08 -9.68702 -16.3522 17.2194 -28.085 -10.0226 -16.7862 17.8018 -28.09 -10.3629 -17.2073 18.4258 -28.095 -10.7065 -17.6109 19.0913 -28.1 -11.0523 -17.9913 19.7987 -28.105 -11.3988 -18.3427 20.5478 -28.11 -11.7446 -18.6598 21.3376 -28.115 -12.088 -18.9374 22.1666 -28.12 -12.4272 -19.1708 23.0323 -28.125 -12.7603 -19.3554 23.9319 -28.13 -13.0853 -19.487 24.8615 -28.135 -13.3999 -19.5615 25.8168 -28.14 -13.7017 -19.5751 26.7926 -28.145 -13.9883 -19.5246 27.783 -28.15 -14.2571 -19.4067 28.7816 -28.155 -14.5052 -19.2184 29.7811 -28.16 -14.7298 -18.9573 30.7736 -28.165 -14.9284 -18.6186 31.751 -28.17 -15.0998 -18.1959 32.7059 -28.175 -15.2416 -17.6972 33.6283 -28.18 -15.3513 -17.1314 34.5089 -28.185 -15.4269 -16.5071 35.3396 -28.19 -15.4669 -15.8321 36.1132 -28.195 -15.4703 -15.1138 36.8234 -28.2 -15.4365 -14.3589 37.4653 -28.205 -15.3653 -13.5739 38.0346 -28.21 -15.257 -12.7645 38.5285 -28.215 -15.1123 -11.9358 38.9448 -28.22 -14.9323 -11.0927 39.2827 -28.225 -14.7188 -10.2393 39.5422 -28.23 -14.4737 -9.37929 39.7243 -28.235 -14.1996 -8.51572 39.8314 -28.24 -13.8994 -7.65124 39.8665 -28.245 -13.5733 -6.8009 39.8321 -28.25 -13.2221 -5.97941 39.7313 -28.255 -12.8489 -5.19173 39.5687 -28.26 -12.4567 -4.44207 39.3491 -28.265 -12.0483 -3.73384 39.0775 -28.27 -11.6266 -3.06968 38.7589 -28.275 -11.1943 -2.45148 38.3988 -28.28 -10.7541 -1.88034 38.0028 -28.285 -10.3085 -1.35658 37.5767 -28.29 -9.86012 -0.879764 37.1265 -28.295 -9.41126 -0.448674 36.6583 -28.3 -8.96427 -0.061319 36.1786 -28.305 -8.52137 0.284945 35.6935 -28.31 -8.08433 0.592132 35.2029 -28.315 -7.6546 0.862473 34.7085 -28.32 -7.23347 1.09836 34.2127 -28.325 -6.8221 1.30219 33.7175 -28.33 -6.42148 1.47635 33.225 -28.335 -6.0325 1.62325 32.7365 -28.34 -5.65587 1.74529 32.2536 -28.345 -5.29218 1.84488 31.7772 -28.35 -4.94188 1.92441 31.3082 -28.355 -4.60526 1.98631 30.8472 -28.36 -4.28248 2.03298 30.3944 -28.365 -3.97355 2.06684 29.9499 -28.37 -3.67842 2.08967 29.5138 -28.375 -3.3969 2.10239 29.0862 -28.38 -3.12872 2.10638 28.6671 -28.385 -2.87357 2.10293 28.2561 -28.39 -2.63111 2.09325 27.8532 -28.395 -2.40101 2.07846 27.4581 -28.4 -2.1829 2.05958 27.0708 -28.405 -1.97639 2.03755 26.6909 -28.41 -1.78107 2.01322 26.3184 -28.415 -1.59653 1.98735 25.9529 -28.42 -1.42231 1.96061 25.5943 -28.425 -1.25795 1.93357 25.2423 -28.43 -1.10297 1.90673 24.8967 -28.435 -0.956865 1.88048 24.5573 -28.44 -0.819097 1.85515 24.2239 -28.445 -0.689128 1.83109 23.8961 -28.45 -0.566558 1.80858 23.5739 -28.455 -0.450998 1.78788 23.257 -28.46 -0.342061 1.7692 22.9455 -28.465 -0.239355 1.75275 22.639 -28.47 -0.14249 1.7387 22.3375 -28.475 -0.0510738 1.7272 22.0409 -28.48 0.035287 1.71837 21.749 -28.485 0.116987 1.7123 21.4616 -28.49 0.194421 1.70907 21.1788 -28.495 0.267985 1.70873 20.9003 -28.5 0.338078 1.71128 20.6261 -28.505 0.405097 1.71672 20.3561 -28.51 0.469347 1.72509 20.0902 -28.515 0.531035 1.73646 19.8284 -28.52 0.590377 1.7509 19.5706 -28.525 0.647592 1.76848 19.3168 -28.53 0.702904 1.78923 19.0669 -28.535 0.756537 1.81322 18.8209 -28.54 0.808718 1.84048 18.5788 -28.545 0.859678 1.87105 18.3404 -28.55 0.90965 1.90497 18.1058 -28.555 0.958869 1.94227 17.875 -28.56 1.00757 1.98297 17.6479 -28.565 1.056 2.02709 17.4245 -28.57 1.1044 2.07464 17.2047 -28.575 1.153 2.12565 16.9886 -28.58 1.20192 2.18024 16.7762 -28.585 1.25126 2.23851 16.5675 -28.59 1.30116 2.30059 16.3624 -28.595 1.35173 2.36661 16.161 -28.6 1.4031 2.43669 15.9634 -28.605 1.45541 2.51094 15.7695 -28.61 1.50882 2.58951 15.5794 -28.615 1.56347 2.67253 15.3931 -28.62 1.61953 2.76011 15.2107 -28.625 1.67718 2.8524 15.0323 -28.63 1.7366 2.94953 14.8578 -28.635 1.79797 3.05164 14.6874 -28.64 1.86149 3.15887 14.5212 -28.645 1.92737 3.27136 14.3591 -28.65 1.9958 3.38925 14.2014 -28.655 2.06693 3.51275 14.0482 -28.66 2.14084 3.64215 13.8995 -28.665 2.21766 3.77773 13.7556 -28.67 2.29751 3.91976 13.6166 -28.675 2.38055 4.06853 13.4826 -28.68 2.4669 4.22431 13.3539 -28.685 2.55675 4.38739 13.2306 -28.69 2.65027 4.55803 13.1131 -28.695 2.74764 4.73652 13.0016 -28.7 2.84907 4.92313 12.8965 -28.705 2.95476 5.11814 12.798 -28.71 3.06494 5.32181 12.7065 -28.715 3.17984 5.53441 12.6224 -28.72 3.29971 5.75623 12.5461 -28.725 3.42481 5.98753 12.4781 -28.73 3.55541 6.22857 12.4188 -28.735 3.69179 6.47964 12.3688 -28.74 3.83409 6.74055 12.3285 -28.745 3.98241 7.01123 12.2987 -28.75 4.13703 7.29246 12.2801 -28.755 4.29822 7.58488 12.2735 -28.76 4.46627 7.88902 12.2794 -28.765 4.64139 8.20529 12.299 -28.77 4.82383 8.53397 12.333 -28.775 5.01379 8.87521 12.3825 -28.78 5.21147 9.22905 12.4484 -28.785 5.41703 9.59539 12.532 -28.79 5.63063 9.97401 12.6345 -28.795 5.85241 10.3646 12.757 -28.8 6.08249 10.7666 12.9008 -28.805 6.32097 11.1795 13.0675 -28.81 6.56795 11.6026 13.2583 -28.815 6.82348 12.0351 13.4749 -28.82 7.08763 12.4758 13.7188 -28.825 7.36041 12.9239 13.9917 -28.83 7.64185 13.378 14.2952 -28.835 7.93195 13.8369 14.6312 -28.84 8.23069 14.299 15.0014 -28.845 8.53788 14.7629 15.4075 -28.85 8.85241 15.2273 15.8489 -28.855 9.17384 15.689 16.3279 -28.86 9.50178 16.1443 16.8469 -28.865 9.83567 16.5895 17.4075 -28.87 10.1748 17.0208 18.011 -28.875 10.5181 17.4341 18.6579 -28.88 10.8647 17.8255 19.3483 -28.885 11.2131 18.1906 20.0817 -28.89 11.562 18.5251 20.8569 -28.895 11.9097 18.8246 21.6722 -28.9 12.2545 19.0845 22.5254 -28.905 12.5943 19.3001 23.4137 -28.91 12.927 19.4666 24.3337 -28.915 13.2503 19.5791 25.2814 -28.92 13.5616 19.6324 26.2523 -28.925 13.8584 19.6216 27.2413 -28.93 14.1382 19.5409 28.2436 -28.935 14.3999 19.3869 29.254 -28.94 14.6401 19.1591 30.262 -28.945 14.8557 18.8583 31.2576 -28.95 15.0441 18.4857 32.2311 -28.955 15.2026 18.0431 33.1739 -28.96 15.3294 17.533 34.0777 -28.965 15.4225 16.9583 34.9354 -28.97 15.4808 16.3227 35.74 -28.975 15.5032 15.6304 36.4857 -28.98 15.489 14.8865 37.1672 -28.985 15.438 14.0962 37.7798 -28.99 15.3502 13.2657 38.3196 -28.995 15.226 12.4017 38.7835 -29 15.066 11.5118 39.1688 -29.005 14.87 10.6089 39.4716 -29.01 14.6392 9.70388 39.6923 -29.015 14.3759 8.80491 39.8337 -29.02 14.0822 7.91957 39.8986 -29.025 13.7606 7.05467 39.8906 -29.03 13.4134 6.21629 39.8133 -29.035 13.0432 5.40976 39.6712 -29.04 12.6526 4.63969 39.469 -29.045 12.2442 3.90994 39.2117 -29.05 11.8209 3.22364 38.9049 -29.055 11.3854 2.58318 38.5546 -29.06 10.9408 1.99021 38.1672 -29.065 10.4901 1.44567 37.7496 -29.07 10.0363 0.949729 37.309 -29.075 9.58194 0.500204 36.8506 -29.08 9.12901 0.0946043 36.3774 -29.085 8.67947 -0.268565 35.8929 -29.09 8.23515 -0.590992 35.4001 -29.095 7.79771 -0.874557 34.902 -29.1 7.36863 -1.12133 34.4014 -29.105 6.94922 -1.33359 33.9006 -29.11 6.54064 -1.51378 33.4017 -29.115 6.14384 -1.66457 32.9066 -29.12 5.75965 -1.78879 32.4169 -29.125 5.38868 -1.88949 31.934 -29.13 5.03141 -1.96989 31.4589 -29.135 4.68812 -2.03341 30.9924 -29.14 4.35894 -2.08369 30.5352 -29.145 4.04381 -2.12181 30.0869 -29.15 3.74257 -2.14762 29.6473 -29.155 3.45502 -2.16273 29.2162 -29.16 3.18093 -2.16865 28.7936 -29.165 2.92005 -2.16677 28.3793 -29.17 2.67208 -2.15837 27.9733 -29.175 2.43671 -2.14466 27.5754 -29.18 2.21358 -2.12669 27.1854 -29.185 2.0023 -2.10544 26.8032 -29.19 1.80246 -2.08179 26.4284 -29.195 1.61361 -2.05647 26.0608 -29.2 1.43527 -2.03015 25.7003 -29.205 1.26691 -2.00338 25.3464 -29.21 1.10793 -1.97669 24.9989 -29.215 0.957891 -1.9505 24.6577 -29.22 0.816369 -1.92522 24.3225 -29.225 0.682956 -1.90119 23.9932 -29.23 0.557236 -1.87871 23.6695 -29.235 0.438786 -1.85808 23.3514 -29.24 0.327183 -1.83954 23.0386 -29.245 0.221998 -1.8233 22.7311 -29.25 0.122798 -1.80954 22.4285 -29.255 0.0291479 -1.79841 22.1309 -29.26 -0.0593928 -1.79001 21.838 -29.265 -0.143268 -1.78443 21.5498 -29.27 -0.222924 -1.7817 21.266 -29.275 -0.298814 -1.78184 20.9867 -29.28 -0.371308 -1.78487 20.7117 -29.285 -0.44063 -1.79089 20.4409 -29.29 -0.507004 -1.79998 20.1744 -29.295 -0.570664 -1.81222 19.9119 -29.3 -0.631844 -1.82766 19.6536 -29.305 -0.690784 -1.84639 19.3993 -29.31 -0.747731 -1.86843 19.1491 -29.315 -0.802932 -1.89384 18.9027 -29.32 -0.856643 -1.92265 18.6603 -29.325 -0.909122 -1.9549 18.4218 -29.33 -0.960631 -1.99059 18.187 -29.335 -1.01144 -2.02975 17.9561 -29.34 -1.06182 -2.07237 17.7289 -29.345 -1.11204 -2.11846 17.5055 -29.35 -1.16236 -2.16803 17.2857 -29.355 -1.21285 -2.22122 17.0697 -29.36 -1.26362 -2.27816 16.8574 -29.365 -1.3148 -2.33895 16.6489 -29.37 -1.36653 -2.40371 16.4442 -29.375 -1.41895 -2.47257 16.2432 -29.38 -1.4722 -2.54565 16.0461 -29.385 -1.52644 -2.62305 15.8528 -29.39 -1.58183 -2.70492 15.6634 -29.395 -1.63855 -2.79137 15.4779 -29.4 -1.69677 -2.88254 15.2965 -29.405 -1.75668 -2.97854 15.1191 -29.41 -1.81847 -3.07951 14.9458 -29.415 -1.88235 -3.18559 14.7767 -29.42 -1.94853 -3.2969 14.6118 -29.425 -2.01719 -3.41358 14.4513 -29.43 -2.08846 -3.53588 14.2954 -29.435 -2.16245 -3.66406 14.1441 -29.44 -2.23926 -3.79838 13.9976 -29.445 -2.31904 -3.93913 13.8559 -29.45 -2.40192 -4.08657 13.7194 -29.455 -2.48805 -4.24096 13.5882 -29.46 -2.57762 -4.40258 13.4625 -29.465 -2.67078 -4.5717 13.3426 -29.47 -2.76774 -4.74857 13.2287 -29.475 -2.86869 -4.93346 13.1212 -29.48 -2.97385 -5.12663 13.0203 -29.485 -3.08344 -5.32836 12.9265 -29.49 -3.19769 -5.5389 12.8401 -29.495 -3.31686 -5.75851 12.7615 -29.5 -3.44121 -5.98745 12.6912 -29.505 -3.571 -6.22598 12.6295 -29.51 -3.7065 -6.4743 12.577 -29.515 -3.84776 -6.73204 12.5344 -29.52 -3.99499 -6.99972 12.5022 -29.525 -4.14847 -7.27801 12.4811 -29.53 -4.30844 -7.56745 12.4718 -29.535 -4.47514 -7.8685 12.4751 -29.54 -4.64881 -8.1815 12.4918 -29.545 -4.82966 -8.50666 12.5228 -29.55 -5.01787 -8.8441 12.5692 -29.555 -5.21365 -9.1938 12.6319 -29.56 -5.41714 -9.55566 12.712 -29.565 -5.62852 -9.92945 12.8108 -29.57 -5.84791 -10.3148 12.9293 -29.575 -6.07545 -10.7113 13.069 -29.58 -6.31124 -11.1184 13.2312 -29.585 -6.55539 -11.5354 13.4172 -29.59 -6.80798 -11.9614 13.6287 -29.595 -7.06906 -12.3957 13.867 -29.6 -7.33871 -12.8372 14.1339 -29.605 -7.61696 -13.2847 14.4311 -29.61 -7.90383 -13.737 14.7601 -29.615 -8.19931 -14.1928 15.1229 -29.62 -8.50245 -14.6512 15.5191 -29.625 -8.81274 -15.1095 15.9503 -29.63 -9.12995 -15.5647 16.4191 -29.635 -9.45367 -16.0134 16.9276 -29.64 -9.78334 -16.4523 17.4773 -29.645 -10.1182 -16.8776 18.0692 -29.65 -10.4574 -17.2857 18.7038 -29.655 -10.7998 -17.6726 19.3809 -29.66 -11.1441 -18.0344 20.1001 -29.665 -11.489 -18.3667 20.8601 -29.67 -11.8327 -18.6653 21.6595 -29.675 -12.1737 -18.9256 22.496 -29.68 -12.5099 -19.1431 23.3669 -29.685 -12.8392 -19.3128 24.2691 -29.69 -13.1594 -19.4299 25.1988 -29.695 -13.4679 -19.4894 26.1519 -29.7 -13.7622 -19.4858 27.1234 -29.705 -14.0405 -19.4139 28.1096 -29.71 -14.3012 -19.2711 29.1042 -29.715 -14.541 -19.0569 30.0968 -29.72 -14.7567 -18.7715 31.0777 -29.725 -14.9458 -18.4158 32.038 -29.73 -15.106 -17.9913 32.9691 -29.735 -15.2351 -17.5 33.8632 -29.74 -15.3316 -16.9448 34.7133 -29.745 -15.394 -16.329 35.5128 -29.75 -15.4214 -15.6567 36.2558 -29.755 -15.413 -14.9324 36.9369 -29.76 -15.3686 -14.1615 37.5517 -29.765 -15.288 -13.35 38.096 -29.77 -15.1716 -12.5042 38.5665 -29.775 -15.0198 -11.632 38.9602 -29.78 -14.8323 -10.746 39.2726 -29.785 -14.6105 -9.85619 39.5046 -29.79 -14.3564 -8.97086 39.6585 -29.795 -14.0721 -8.09746 39.7372 -29.8 -13.76 -7.24277 39.7438 -29.805 -13.4223 -6.41285 39.6819 -29.81 -13.0614 -5.61305 39.5557 -29.815 -12.6799 -4.84799 39.3695 -29.82 -12.2805 -4.12159 39.1283 -29.825 -11.8657 -3.43706 38.8373 -29.83 -11.4384 -2.79689 38.5022 -29.835 -11.0016 -2.20284 38.1292 -29.84 -10.5581 -1.65597 37.7248 -29.845 -10.1112 -1.15663 37.296 -29.85 -9.66314 -0.703241 36.848 -29.855 -9.21596 -0.293611 36.3838 -29.86 -8.77165 0.0738567 35.9073 -29.865 -8.33208 0.400938 35.4218 -29.87 -7.89893 0.689586 34.9303 -29.875 -7.47371 0.941931 34.4358 -29.88 -7.05774 1.16028 33.9405 -29.885 -6.65218 1.34712 33.4468 -29.89 -6.25798 1.50511 32.9566 -29.895 -5.87595 1.63708 32.4713 -29.9 -5.5067 1.74606 31.9923 -29.905 -5.15068 1.83523 31.5206 -29.91 -4.80815 1.90753 31.0568 -29.915 -4.47933 1.96364 30.6009 -29.92 -4.16421 2.00521 30.1532 -29.925 -3.86271 2.034 29.7136 -29.93 -3.5747 2.05168 29.2823 -29.935 -3.30004 2.05979 28.8593 -29.94 -3.03851 2.05976 28.4445 -29.945 -2.78987 2.0529 28.0379 -29.95 -2.55381 2.04042 27.6393 -29.955 -2.33002 2.0234 27.2486 -29.96 -2.11811 2.00282 26.8656 -29.965 -1.91766 1.97953 26.4899 -29.97 -1.7282 1.95429 26.1213 -29.975 -1.54915 1.92776 25.7595 -29.98 -1.37999 1.90055 25.4044 -29.985 -1.22033 1.87313 25.0557 -29.99 -1.06975 1.84595 24.7132 -29.995 -0.927856 1.81944 24.3767 -30 -0.79422 1.79396 24.0461 -30.005 -0.668421 1.76984 23.7212 -30.01 -0.550029 1.74738 23.4017 -30.015 -0.438608 1.72684 23.0875 -30.02 -0.333716 1.70843 22.7785 -30.025 -0.234905 1.69232 22.4745 -30.03 -0.14172 1.67866 22.1753 -30.035 -0.0537007 1.66754 21.8809 -30.04 0.0296198 1.65902 21.5911 -30.045 0.108714 1.65312 21.3057 -30.05 0.184019 1.64985 21.0247 -30.055 0.255777 1.6493 20.748 -30.06 0.324197 1.65155 20.4755 -30.065 0.389497 1.6567 20.2072 -30.07 0.451901 1.66483 19.9429 -30.075 0.511642 1.67599 19.6828 -30.08 0.568957 1.69026 19.4266 -30.085 0.624091 1.70767 19.1744 -30.09 0.677296 1.72825 18.9261 -30.095 0.72883 1.75204 18.6816 -30.1 0.778958 1.77906 18.4409 -30.105 0.827952 1.80929 18.204 -30.11 0.876091 1.84275 17.9708 -30.115 0.92366 1.87941 17.7412 -30.12 0.970952 1.91925 17.5152 -30.125 1.01823 1.96226 17.2928 -30.13 1.06551 2.00861 17.0741 -30.135 1.11289 2.05841 16.8589 -30.14 1.1605 2.11177 16.6474 -30.145 1.20846 2.16878 16.4394 -30.15 1.25692 2.22956 16.2351 -30.155 1.306 2.29421 16.0345 -30.16 1.35587 2.36284 15.8375 -30.165 1.40668 2.43557 15.6442 -30.17 1.45859 2.51249 15.4546 -30.175 1.51177 2.59373 15.2688 -30.18 1.56639 2.67941 15.0868 -30.185 1.62265 2.76964 14.9086 -30.19 1.68074 2.86453 14.7343 -30.195 1.74084 2.96422 14.5639 -30.2 1.80313 3.06884 14.3976 -30.205 1.86773 3.17861 14.2354 -30.21 1.93473 3.29379 14.0774 -30.215 2.00425 3.41461 13.9238 -30.22 2.0764 3.54133 13.7746 -30.225 2.15133 3.67419 13.63 -30.23 2.22917 3.81346 13.4901 -30.235 2.31009 3.95938 13.3552 -30.24 2.39426 4.11222 13.2253 -30.245 2.48186 4.27222 13.1009 -30.25 2.57308 4.43966 12.982 -30.255 2.66812 4.6148 12.869 -30.26 2.76721 4.79789 12.7621 -30.265 2.87057 4.98921 12.6616 -30.27 2.97844 5.18902 12.5679 -30.275 3.09107 5.3976 12.4813 -30.28 3.20873 5.61522 12.4022 -30.285 3.33163 5.84197 12.3311 -30.29 3.45989 6.07783 12.2684 -30.295 3.59374 6.32343 12.2148 -30.3 3.73341 6.57937 12.1706 -30.305 3.87912 6.84617 12.1365 -30.31 4.0311 7.12426 12.1132 -30.315 4.18958 7.41403 12.1012 -30.32 4.35476 7.71574 12.1014 -30.325 4.52688 8.02962 12.1146 -30.33 4.70613 8.35579 12.1417 -30.335 4.89273 8.69431 12.1838 -30.34 5.08687 9.04515 12.2419 -30.345 5.28877 9.40822 12.317 -30.35 5.49861 9.78333 12.4105 -30.355 5.71659 10.1702 12.5235 -30.36 5.94291 10.5686 12.6574 -30.365 6.17774 10.978 12.8135 -30.37 6.42128 11.3979 12.9935 -30.375 6.67369 11.8278 13.1987 -30.38 6.93516 12.2671 13.4308 -30.385 7.20587 12.7149 13.6914 -30.39 7.48539 13.1705 13.9812 -30.395 7.77303 13.6324 14.3009 -30.4 8.06896 14.0989 14.6535 -30.405 8.37322 14.5681 15.0415 -30.41 8.68567 15.0377 15.4673 -30.415 9.006 15.5053 15.9328 -30.42 9.33375 15.968 16.4393 -30.425 9.6683 16.4227 16.988 -30.43 10.0088 16.8661 17.5795 -30.435 10.3544 17.2946 18.2143 -30.44 10.7039 17.7043 18.8921 -30.445 11.0561 18.0909 19.6126 -30.45 11.4094 18.45 20.3749 -30.455 11.7622 18.7769 21.1776 -30.46 12.1129 19.0665 22.0193 -30.465 12.4593 19.3135 22.8979 -30.47 12.7995 19.5124 23.8109 -30.475 13.1311 19.6573 24.7556 -30.48 13.452 19.7423 25.7292 -30.485 13.761 19.764 26.7281 -30.49 14.0549 19.7184 27.7436 -30.495 14.3304 19.6026 28.7664 -30.5 14.5847 19.4144 29.7875 -30.505 14.8148 19.1525 30.7985 -30.51 15.0185 18.8164 31.791 -30.515 15.1933 18.4066 32.7572 -30.52 15.3372 17.9246 33.6895 -30.525 15.4486 17.3726 34.5807 -30.53 15.5259 16.7537 35.4239 -30.535 15.5678 16.0722 36.2125 -30.54 15.5733 15.3328 36.9402 -30.545 15.5416 14.5416 37.6012 -30.55 15.4722 13.7053 38.19 -30.555 15.3644 12.8322 38.6989 -30.56 15.2184 11.9337 39.123 -30.565 15.0355 11.0201 39.4636 -30.57 14.8172 10.1011 39.7222 -30.575 14.5653 9.18577 39.9011 -30.58 14.2816 8.28203 40.0028 -30.585 13.9682 7.39717 40.0302 -30.59 13.6275 6.5376 39.9868 -30.595 13.2618 5.70892 39.8763 -30.6 12.8739 4.91593 39.7032 -30.605 12.4666 4.16257 39.472 -30.61 12.0429 3.452 39.1879 -30.615 11.606 2.78653 38.8565 -30.62 11.1595 2.16766 38.4838 -30.625 10.7065 1.5962 38.0764 -30.63 10.249 1.07269 37.6419 -30.635 9.78951 0.596419 37.1854 -30.64 9.33033 0.166207 36.7113 -30.645 8.87371 -0.219417 36.2237 -30.65 8.42164 -0.562236 35.7264 -30.655 7.97594 -0.864336 35.2229 -30.66 7.53821 -1.12811 34.7163 -30.665 7.10984 -1.35625 34.2094 -30.67 6.69203 -1.55176 33.7045 -30.675 6.28577 -1.71796 33.2039 -30.68 5.89187 -1.85845 32.7093 -30.685 5.51096 -1.97615 32.2218 -30.69 5.14354 -2.07217 31.7416 -30.695 4.78984 -2.14876 31.2692 -30.7 4.45003 -2.20809 30.8051 -30.705 4.12418 -2.2522 30.3496 -30.71 3.81232 -2.28301 29.9028 -30.715 3.5144 -2.30231 29.4649 -30.72 3.23029 -2.31175 29.0359 -30.725 2.9598 -2.31284 28.6158 -30.73 2.70267 -2.30699 28.2045 -30.735 2.45857 -2.29547 27.8016 -30.74 2.22708 -2.2794 27.4069 -30.745 2.00764 -2.25985 27.02 -30.75 1.79976 -2.23767 26.6409 -30.755 1.60303 -2.21357 26.2692 -30.76 1.41704 -2.18819 25.9048 -30.765 1.24137 -2.16217 25.5473 -30.77 1.07559 -2.13605 25.1965 -30.775 0.919247 -2.11035 24.8522 -30.78 0.771899 -2.08553 24.5141 -30.785 0.633082 -2.06201 24.1821 -30.79 0.502323 -2.04016 23.856 -30.795 0.37914 -2.02029 23.5356 -30.8 0.263041 -2.00267 23.2206 -30.805 0.153524 -1.98753 22.911 -30.81 0.0500773 -1.97502 22.6066 -30.815 -0.0478218 -1.96528 22.3071 -30.82 -0.140705 -1.95838 22.0126 -30.825 -0.229111 -1.95433 21.7229 -30.83 -0.313364 -1.95323 21.4378 -30.835 -0.393674 -1.95518 21.1572 -30.84 -0.470304 -1.9603 20.8811 -30.845 -0.54352 -1.96869 20.6094 -30.85 -0.613593 -1.98041 20.3421 -30.855 -0.6808 -1.99556 20.0791 -30.86 -0.745422 -2.01418 19.8203 -30.865 -0.807743 -2.03634 19.5656 -30.87 -0.868056 -2.06207 19.3151 -30.875 -0.926656 -2.0914 19.0687 -30.88 -0.983842 -2.12435 18.8263 -30.885 -1.03992 -2.16093 18.5878 -30.89 -1.0952 -2.20114 18.3533 -30.895 -1.15 -2.24496 18.1227 -30.9 -1.20458 -2.29242 17.8959 -30.905 -1.25903 -2.34366 17.673 -30.91 -1.31348 -2.39878 17.4541 -30.915 -1.36807 -2.45791 17.239 -30.92 -1.42296 -2.52114 17.0279 -30.925 -1.4783 -2.58859 16.8208 -30.93 -1.53427 -2.66037 16.6176 -30.935 -1.59103 -2.73659 16.4185 -30.94 -1.64877 -2.81737 16.2234 -30.945 -1.70766 -2.90283 16.0324 -30.95 -1.76791 -2.99307 15.8455 -30.955 -1.82972 -3.08822 15.6629 -30.96 -1.8933 -3.18839 15.4845 -30.965 -1.95885 -3.29369 15.3105 -30.97 -2.02661 -3.40426 15.1409 -30.975 -2.09674 -3.52024 14.9758 -30.98 -2.16936 -3.64187 14.8154 -30.985 -2.24458 -3.76941 14.6598 -30.99 -2.32252 -3.90311 14.5091 -30.995 -2.40332 -4.04323 14.3636 -31 -2.48713 -4.19002 14.2233 -31.005 -2.57411 -4.34374 14.0884 -31.01 -2.66442 -4.50462 13.9593 -31.015 -2.75825 -4.67292 13.8361 -31.02 -2.8558 -4.84888 13.7192 -31.025 -2.95726 -5.03275 13.6088 -31.03 -3.06287 -5.22477 13.5052 -31.035 -3.17283 -5.42519 13.4089 -31.04 -3.2874 -5.63424 13.3201 -31.045 -3.40682 -5.85216 13.2392 -31.05 -3.53136 -6.07919 13.1668 -31.055 -3.6613 -6.31557 13.1031 -31.06 -3.79675 -6.56111 13.0488 -31.065 -3.93784 -6.81602 13.0045 -31.07 -4.08483 -7.08094 12.9708 -31.075 -4.23794 -7.35637 12.9482 -31.08 -4.3974 -7.64276 12.9376 -31.085 -4.56343 -7.94043 12.9397 -31.09 -4.73623 -8.2496 12.9553 -31.095 -4.91599 -8.5704 12.9853 -31.1 -5.10288 -8.90288 13.0307 -31.105 -5.29707 -9.24696 13.0924 -31.11 -5.49873 -9.60247 13.1716 -31.115 -5.70799 -9.96915 13.2693 -31.12 -5.92499 -10.3466 13.3868 -31.125 -6.14985 -10.7345 13.5252 -31.13 -6.38269 -11.1321 13.6859 -31.135 -6.6236 -11.5388 13.8703 -31.14 -6.87268 -11.9539 14.0798 -31.145 -7.12999 -12.3765 14.3158 -31.15 -7.39561 -12.8056 14.5799 -31.155 -7.6696 -13.2403 14.8737 -31.16 -7.9519 -13.6793 15.1986 -31.165 -8.24156 -14.1218 15.5543 -31.17 -8.53828 -14.5655 15.9427 -31.175 -8.84193 -15.0078 16.3664 -31.18 -9.1522 -15.4458 16.8273 -31.185 -9.46864 -15.8765 17.3271 -31.19 -9.79063 -16.2968 17.8667 -31.195 -10.1174 -16.7034 18.4469 -31.2 -10.448 -17.0927 19.0678 -31.205 -10.7814 -17.4611 19.7291 -31.21 -11.1162 -17.8047 20.4301 -31.215 -11.4511 -18.1196 21.1697 -31.22 -11.7846 -18.4016 21.946 -31.225 -12.1149 -18.6464 22.7572 -31.23 -12.44 -18.8496 23.6004 -31.235 -12.758 -19.0063 24.4728 -31.24 -13.0667 -19.1119 25.3709 -31.245 -13.3637 -19.1613 26.2907 -31.25 -13.6467 -19.1495 27.2282 -31.255 -13.9148 -19.0723 28.1799 -31.26 -14.1652 -18.9284 29.1373 -31.265 -14.3948 -18.7173 30.0909 -31.27 -14.601 -18.4388 31.0321 -31.275 -14.7813 -18.0937 31.9527 -31.28 -14.9337 -17.6833 32.8449 -31.285 -15.0562 -17.2094 33.7018 -31.29 -15.1474 -16.6746 34.5168 -31.295 -15.206 -16.082 35.2837 -31.3 -15.2311 -15.4355 35.9971 -31.305 -15.222 -14.7393 36.652 -31.31 -15.1784 -13.9986 37.2441 -31.315 -15.1003 -13.2189 37.7695 -31.32 -14.9878 -12.4065 38.2247 -31.325 -14.8412 -11.5696 38.6061 -31.33 -14.6602 -10.7199 38.9098 -31.335 -14.4464 -9.86624 39.1373 -31.34 -14.2017 -9.01626 39.2906 -31.345 -13.9282 -8.17704 39.3723 -31.35 -13.6279 -7.35498 39.3852 -31.355 -13.3029 -6.55583 39.3327 -31.36 -12.9556 -5.78465 39.2185 -31.365 -12.5883 -5.04587 39.0466 -31.37 -12.2034 -4.34323 38.8215 -31.375 -11.8037 -3.67984 38.5481 -31.38 -11.3917 -3.05812 38.2316 -31.385 -10.9702 -2.47985 37.8777 -31.39 -10.5421 -1.94613 37.4924 -31.395 -10.1104 -1.45739 37.0822 -31.4 -9.67727 -1.01235 36.6519 -31.405 -9.24461 -0.609197 36.205 -31.41 -8.8144 -0.246493 35.745 -31.415 -8.38843 0.0773707 35.2753 -31.42 -7.96835 0.364182 34.7988 -31.425 -7.55564 0.615908 34.3182 -31.43 -7.15158 0.834692 33.8361 -31.435 -6.7573 1.02286 33.3545 -31.44 -6.37377 1.1829 32.8754 -31.445 -6.00178 1.3175 32.4003 -31.45 -5.64193 1.4295 31.9305 -31.455 -5.29468 1.52195 31.4671 -31.46 -4.96037 1.59719 31.0106 -31.465 -4.6392 1.65602 30.5613 -31.47 -4.3312 1.70022 30.1192 -31.475 -4.03634 1.7315 29.6847 -31.48 -3.75454 1.75147 29.2578 -31.485 -3.48567 1.76163 28.8386 -31.49 -3.22957 1.76338 28.4271 -31.495 -2.98603 1.75799 28.0233 -31.5 -2.75478 1.74663 27.6271 -31.505 -2.53551 1.73038 27.2384 -31.51 -2.32788 1.71017 26.857 -31.515 -2.13149 1.68685 26.4826 -31.52 -1.94587 1.66118 26.1149 -31.525 -1.77043 1.63382 25.7538 -31.53 -1.60479 1.60533 25.3991 -31.535 -1.44857 1.57619 25.0506 -31.54 -1.30138 1.54686 24.7081 -31.545 -1.16283 1.51776 24.3714 -31.55 -1.03253 1.48927 24.0404 -31.555 -0.910065 1.4617 23.7149 -31.56 -0.795033 1.43536 23.3946 -31.565 -0.687013 1.4105 23.0796 -31.57 -0.585582 1.38733 22.7695 -31.575 -0.490308 1.36602 22.4643 -31.58 -0.400751 1.34671 22.1639 -31.585 -0.316468 1.32947 21.868 -31.59 -0.237007 1.31437 21.5766 -31.595 -0.161908 1.30141 21.2896 -31.6 -0.090775 1.29061 21.0068 -31.605 -0.0234345 1.28206 20.7281 -31.61 0.0403352 1.27586 20.4536 -31.615 0.100764 1.27206 20.1831 -31.62 0.158084 1.27071 19.9166 -31.625 0.212531 1.27187 19.654 -31.63 0.264342 1.27555 19.3952 -31.635 0.313758 1.2818 19.1402 -31.64 0.361024 1.29061 18.8889 -31.645 0.406384 1.302 18.6413 -31.65 0.450088 1.31596 18.3972 -31.655 0.492389 1.33247 18.1567 -31.66 0.533541 1.35151 17.9197 -31.665 0.5738 1.37305 17.6862 -31.67 0.613384 1.39707 17.456 -31.675 0.652363 1.42367 17.2292 -31.68 0.690846 1.45292 17.0058 -31.685 0.728953 1.48488 16.7857 -31.69 0.766804 1.5196 16.569 -31.695 0.804527 1.55716 16.3555 -31.7 0.842253 1.59761 16.1454 -31.705 0.880118 1.64102 15.9384 -31.71 0.918264 1.68745 15.7348 -31.715 0.956834 1.73697 15.5344 -31.72 0.995981 1.78965 15.3372 -31.725 1.03586 1.84553 15.1433 -31.73 1.07662 1.9047 14.9526 -31.735 1.11844 1.96721 14.7651 -31.74 1.16147 2.03315 14.5809 -31.745 1.20581 2.10266 14.3999 -31.75 1.25152 2.17591 14.2223 -31.755 1.2987 2.25306 14.0479 -31.76 1.34743 2.33427 13.8769 -31.765 1.39782 2.41973 13.7093 -31.77 1.44998 2.50961 13.5451 -31.775 1.50402 2.6041 13.3844 -31.78 1.56008 2.70339 13.2273 -31.785 1.6183 2.80766 13.0739 -31.79 1.67882 2.91712 12.9241 -31.795 1.7418 3.03197 12.7782 -31.8 1.80742 3.15242 12.6363 -31.805 1.87584 3.27868 12.4983 -31.81 1.94726 3.41097 12.3646 -31.815 2.02187 3.5495 12.2352 -31.82 2.09987 3.69451 12.1102 -31.825 2.18144 3.84617 11.99 -31.83 2.26672 4.00482 11.8748 -31.835 2.35585 4.17086 11.7646 -31.84 2.44898 4.3447 11.6598 -31.845 2.54626 4.52672 11.5604 -31.85 2.64787 4.71731 11.4669 -31.855 2.75399 4.91683 11.3796 -31.86 2.86482 5.12565 11.2987 -31.865 2.98058 5.34413 11.2248 -31.87 3.10149 5.5726 11.1583 -31.875 3.22777 5.81141 11.0996 -31.88 3.35969 6.06088 11.0494 -31.885 3.49749 6.32134 11.0082 -31.89 3.64145 6.5931 10.9767 -31.895 3.79185 6.87645 10.9556 -31.9 3.94899 7.1717 10.9455 -31.905 4.11318 7.47914 10.9473 -31.91 4.28473 7.79903 10.9618 -31.915 4.46399 8.13165 10.9898 -31.92 4.65117 8.47692 11.0322 -31.925 4.84577 8.83285 11.0896 -31.93 5.04817 9.20026 11.1636 -31.935 5.25894 9.58034 11.2555 -31.94 5.47854 9.97396 11.367 -31.945 5.70738 10.3817 11.4996 -31.95 5.94578 10.8039 11.655 -31.955 6.19399 11.2404 11.8346 -31.96 6.45218 11.6909 12.0401 -31.965 6.72045 12.1549 12.2732 -31.97 6.99881 12.6312 12.5354 -31.975 7.28721 13.1188 12.8284 -31.98 7.58551 13.616 13.1539 -31.985 7.89351 14.121 13.5135 -31.99 8.21091 14.6315 13.909 -31.995 8.53737 15.1452 14.342 -32 8.87244 15.6592 14.8144 -32.005 9.21561 16.1705 15.3277 -32.01 9.56629 16.6757 15.8838 -32.015 9.92381 17.171 16.4845 -32.02 10.2874 17.6525 17.1315 -32.025 10.6563 18.1159 17.8266 -32.03 11.0296 18.5565 18.5717 -32.035 11.4064 18.9695 19.3685 -32.04 11.7849 19.3516 20.2159 -32.045 12.163 19.6976 21.1098 -32.05 12.5382 19.9995 22.0479 -32.055 12.9083 20.2496 23.027 -32.06 13.2707 20.4414 24.0434 -32.065 13.6231 20.5689 25.0923 -32.07 13.9628 20.6268 26.1684 -32.075 14.287 20.6108 27.2654 -32.08 14.5931 20.517 28.3764 -32.085 14.8782 20.3426 29.4937 -32.09 15.1394 20.0854 30.6088 -32.095 15.3735 19.7438 31.7124 -32.1 15.5776 19.3171 32.7945 -32.105 15.7484 18.8055 33.8442 -32.11 15.8835 18.206 34.8497 -32.115 15.9816 17.5201 35.8004 -32.12 16.0404 16.7606 36.6878 -32.125 16.0584 15.9397 37.5045 -32.13 16.0344 15.0689 38.2442 -32.135 15.9678 14.1588 38.9019 -32.14 15.8585 13.2192 39.4734 -32.145 15.7069 12.2589 39.9558 -32.15 15.5141 11.286 40.3473 -32.155 15.2816 10.3079 40.6471 -32.16 15.0114 9.33097 40.8555 -32.165 14.7061 8.36084 40.974 -32.17 14.3689 7.40228 41.0052 -32.175 14.0034 6.45926 40.9525 -32.18 13.6124 5.53972 40.8219 -32.185 13.1964 4.66101 40.6219 -32.19 12.7591 3.82854 40.3591 -32.195 12.3038 3.04605 40.0397 -32.2 11.8342 2.31634 39.6704 -32.205 11.3534 1.64124 39.2575 -32.21 10.8647 1.02168 38.8076 -32.215 10.3709 0.457628 38.3272 -32.22 9.87487 -0.0518883 37.8228 -32.225 9.37933 -0.508779 37.3012 -32.23 8.88677 -0.915896 36.7689 -32.235 8.39956 -1.27702 36.2325 -32.24 7.91976 -1.59483 35.6946 -32.245 7.44896 -1.87162 35.1559 -32.25 6.98855 -2.11047 34.619 -32.255 6.53972 -2.31442 34.0861 -32.26 6.10354 -2.48644 33.559 -32.265 5.68086 -2.62946 33.0393 -32.27 5.27243 -2.74636 32.5283 -32.275 4.87878 -2.83996 32.0269 -32.28 4.50031 -2.91303 31.5358 -32.285 4.13723 -2.9683 31.0553 -32.29 3.78961 -3.00844 30.5854 -32.295 3.45736 -3.03594 30.126 -32.3 3.1404 -3.05236 29.6773 -32.305 2.83838 -3.05922 29.2391 -32.31 2.55093 -3.05803 28.8111 -32.315 2.27766 -3.05021 28.393 -32.32 2.01813 -3.03704 27.9845 -32.325 1.77192 -3.01976 27.5852 -32.33 1.53857 -2.99945 27.195 -32.335 1.31761 -2.97712 26.8134 -32.34 1.10854 -2.95369 26.4401 -32.345 0.910841 -2.92995 26.075 -32.35 0.723991 -2.90661 25.7176 -32.355 0.547435 -2.88427 25.3678 -32.36 0.380602 -2.86344 25.0251 -32.365 0.222904 -2.84452 24.6894 -32.37 0.073723 -2.82781 24.3603 -32.375 -0.0676126 -2.81366 24.0376 -32.38 -0.201568 -2.80235 23.721 -32.385 -0.328567 -2.79415 23.4104 -32.39 -0.449035 -2.7893 23.1057 -32.395 -0.563403 -2.78799 22.8066 -32.4 -0.672104 -2.79042 22.5131 -32.405 -0.775574 -2.79675 22.2251 -32.41 -0.874255 -2.80712 21.9423 -32.415 -0.968588 -2.82163 21.6647 -32.42 -1.05902 -2.84039 21.3922 -32.425 -1.14601 -2.86346 21.1246 -32.43 -1.23 -2.89089 20.862 -32.435 -1.31145 -2.92269 20.6041 -32.44 -1.39082 -2.95886 20.351 -32.445 -1.46841 -2.99947 20.1026 -32.45 -1.54442 -3.04464 19.8589 -32.455 -1.61909 -3.09446 19.6199 -32.46 -1.69265 -3.14903 19.3857 -32.465 -1.76534 -3.20847 19.1562 -32.47 -1.83741 -3.27284 18.9314 -32.475 -1.90912 -3.34226 18.7115 -32.48 -1.98073 -3.41679 18.4964 -32.485 -2.05249 -3.49653 18.2861 -32.49 -2.1247 -3.58155 18.0807 -32.495 -2.19761 -3.67192 17.8803 -32.5 -2.27151 -3.76772 17.6849 -32.505 -2.3467 -3.86901 17.4945 -32.51 -2.42346 -3.97585 17.3093 -32.515 -2.50203 -4.08834 17.1293 -32.52 -2.58253 -4.20667 16.9548 -32.525 -2.66511 -4.33105 16.7858 -32.53 -2.7499 -4.46169 16.6226 -32.535 -2.83706 -4.59879 16.4652 -32.54 -2.92676 -4.74255 16.3139 -32.545 -3.01917 -4.89314 16.1689 -32.55 -3.11447 -5.05077 16.0304 -32.555 -3.21286 -5.21559 15.8988 -32.56 -3.31455 -5.38777 15.7741 -32.565 -3.41975 -5.56748 15.6569 -32.57 -3.52868 -5.75488 15.5473 -32.575 -3.64159 -5.9501 15.4457 -32.58 -3.75872 -6.1533 15.3525 -32.585 -3.88032 -6.3646 15.268 -32.59 -4.00667 -6.58414 15.1927 -32.595 -4.13795 -6.81189 15.1269 -32.6 -4.27421 -7.04786 15.0712 -32.605 -4.41563 -7.29245 15.0262 -32.61 -4.5624 -7.546 14.9924 -32.615 -4.71468 -7.80875 14.9705 -32.62 -4.87265 -8.0809 14.9613 -32.625 -5.03644 -8.36252 14.9654 -32.63 -5.2062 -8.65362 14.9836 -32.635 -5.38205 -8.95413 15.0167 -32.64 -5.56412 -9.26389 15.0655 -32.645 -5.7525 -9.58266 15.1309 -32.65 -5.9473 -9.91012 15.2138 -32.655 -6.14861 -10.2459 15.3151 -32.66 -6.35649 -10.5894 15.4359 -32.665 -6.57101 -10.9401 15.577 -32.67 -6.79223 -11.2974 15.7397 -32.675 -7.02019 -11.6606 15.9249 -32.68 -7.25492 -12.0287 16.1337 -32.685 -7.49644 -12.4009 16.3674 -32.69 -7.74471 -12.7763 16.627 -32.695 -7.99897 -13.1544 16.912 -32.7 -8.2589 -13.5335 17.2239 -32.705 -8.52439 -13.9115 17.5644 -32.71 -8.79519 -14.2861 17.9353 -32.715 -9.07095 -14.6552 18.3377 -32.72 -9.35121 -15.0161 18.7725 -32.725 -9.63537 -15.3666 19.2403 -32.73 -9.92273 -15.7038 19.7412 -32.735 -10.2125 -16.0252 20.2751 -32.74 -10.5037 -16.3279 20.8415 -32.745 -10.7952 -16.6091 21.4396 -32.75 -11.086 -16.8656 22.0683 -32.755 -11.3748 -17.0943 22.726 -32.76 -11.6601 -17.2922 23.4109 -32.765 -11.9403 -17.4558 24.1208 -32.77 -12.214 -17.5818 24.8532 -32.775 -12.4793 -17.6667 25.6051 -32.78 -12.7343 -17.7068 26.3735 -32.785 -12.9771 -17.6985 27.1548 -32.79 -13.2069 -17.638 27.9465 -32.795 -13.4222 -17.5243 28.7434 -32.8 -13.6204 -17.3573 29.5383 -32.805 -13.7996 -17.1372 30.3244 -32.81 -13.9576 -16.8649 31.0952 -32.815 -14.0928 -16.5415 31.845 -32.82 -14.2038 -16.1684 32.568 -32.825 -14.2893 -15.7475 33.2594 -32.83 -14.3482 -15.281 33.9142 -32.835 -14.3799 -14.7716 34.5284 -32.84 -14.3838 -14.2223 35.0981 -32.845 -14.3595 -13.6365 35.6197 -32.85 -14.3071 -13.0179 36.0905 -32.855 -14.2266 -12.3707 36.5076 -32.86 -14.1186 -11.6994 36.8691 -32.865 -13.9834 -11.0093 37.1729 -32.87 -13.8207 -10.3098 37.4161 -32.875 -13.6315 -9.60787 37.5992 -32.88 -13.4175 -8.90893 37.7235 -32.885 -13.1802 -8.21812 37.7908 -32.89 -12.9216 -7.54011 37.8031 -32.895 -12.6431 -6.87913 37.7628 -32.9 -12.3468 -6.23896 37.6723 -32.905 -12.0343 -5.62296 37.5346 -32.91 -11.7077 -5.03403 37.353 -32.915 -11.3688 -4.47465 37.1308 -32.92 -11.0197 -3.94687 36.8718 -32.925 -10.6623 -3.45227 36.5801 -32.93 -10.2989 -2.99203 36.2601 -32.935 -9.93151 -2.56686 35.9163 -32.94 -9.56235 -2.17705 35.5538 -32.945 -9.19332 -1.8215 35.1762 -32.95 -8.82581 -1.4983 34.785 -32.955 -8.46126 -1.20641 34.3828 -32.96 -8.10099 -0.944671 33.972 -32.965 -7.74621 -0.711825 33.5546 -32.97 -7.39802 -0.506501 33.1327 -32.975 -7.05739 -0.327218 32.708 -32.98 -6.7252 -0.172386 32.2822 -32.985 -6.40217 -0.0403008 31.8568 -32.99 -6.08895 0.0708479 31.433 -32.995 -5.78605 0.162983 31.0119 -33 -5.49386 0.238136 30.5944 -33.005 -5.21266 0.29845 30.1813 -33.01 -4.94262 0.346174 29.7732 -33.015 -4.68383 0.382248 29.3702 -33.02 -4.43625 0.407097 28.9724 -33.025 -4.19979 0.421896 28.5798 -33.03 -3.97432 0.427749 28.1927 -33.035 -3.75969 0.425687 27.811 -33.04 -3.55574 0.416673 27.4349 -33.045 -3.36227 0.401595 27.0644 -33.05 -3.17906 0.381271 26.6995 -33.055 -3.00588 0.356447 26.3401 -33.06 -2.84246 0.3278 25.9863 -33.065 -2.68852 0.295933 25.6378 -33.07 -2.54375 0.261377 25.2947 -33.075 -2.40782 0.224594 24.9568 -33.08 -2.28038 0.185974 24.6239 -33.085 -2.16097 0.145843 24.2959 -33.09 -2.04927 0.104502 23.9728 -33.095 -1.94499 0.0622166 23.6544 -33.1 -1.84787 0.0192274 23.3407 -33.105 -1.75762 -0.0242567 23.0316 -33.11 -1.67396 -0.0680564 22.7269 -33.115 -1.59662 -0.112022 22.4266 -33.12 -1.5253 -0.156033 22.1307 -33.125 -1.45973 -0.199999 21.8389 -33.13 -1.3996 -0.243861 21.5512 -33.135 -1.34462 -0.287586 21.2677 -33.14 -1.2945 -0.331174 20.988 -33.145 -1.24894 -0.374654 20.7123 -33.15 -1.20763 -0.418085 20.4404 -33.155 -1.17028 -0.461552 20.1723 -33.16 -1.13668 -0.505093 19.9079 -33.165 -1.10673 -0.548697 19.6472 -33.17 -1.08032 -0.592379 19.39 -33.175 -1.05732 -0.636167 19.1365 -33.18 -1.03763 -0.680103 18.8864 -33.185 -1.02111 -0.72424 18.6399 -33.19 -1.00764 -0.768645 18.3968 -33.195 -0.997115 -0.813397 18.1571 -33.2 -0.989397 -0.858587 17.9207 -33.205 -0.984366 -0.904322 17.6877 -33.21 -0.981897 -0.950717 17.458 -33.215 -0.981864 -0.997905 17.2316 -33.22 -0.984141 -1.04603 17.0084 -33.225 -0.988599 -1.09524 16.7884 -33.23 -0.995112 -1.14571 16.5715 -33.235 -1.00367 -1.19753 16.3579 -33.24 -1.01432 -1.25077 16.1474 -33.245 -1.02705 -1.30551 15.94 -33.25 -1.04186 -1.36187 15.7357 -33.255 -1.05876 -1.41995 15.5346 -33.26 -1.07774 -1.47988 15.3365 -33.265 -1.09881 -1.5418 15.1415 -33.27 -1.12198 -1.60584 14.9497 -33.275 -1.14725 -1.67215 14.7609 -33.28 -1.17463 -1.7409 14.5752 -33.285 -1.20414 -1.81226 14.3927 -33.29 -1.23578 -1.88641 14.2132 -33.295 -1.26958 -1.96353 14.037 -33.3 -1.30554 -2.04382 13.8639 -33.305 -1.34368 -2.12749 13.694 -33.31 -1.38405 -2.21475 13.5273 -33.315 -1.42678 -2.30573 13.364 -33.32 -1.47195 -2.40063 13.204 -33.325 -1.51963 -2.49965 13.0474 -33.33 -1.56993 -2.603 12.8942 -33.335 -1.62292 -2.7109 12.7445 -33.34 -1.6787 -2.8236 12.5984 -33.345 -1.73739 -2.94133 12.456 -33.35 -1.7991 -3.06435 12.3173 -33.355 -1.86393 -3.19293 12.1825 -33.36 -1.93203 -3.32733 12.0518 -33.365 -2.00352 -3.46785 11.9253 -33.37 -2.07854 -3.61478 11.8031 -33.375 -2.15724 -3.76842 11.6855 -33.38 -2.23978 -3.92909 11.5727 -33.385 -2.32631 -4.09712 11.465 -33.39 -2.417 -4.27283 11.3624 -33.395 -2.51203 -4.45658 11.2654 -33.4 -2.61158 -4.64872 11.1741 -33.405 -2.71584 -4.84936 11.0891 -33.41 -2.8251 -5.05798 11.011 -33.415 -2.93955 -5.27531 10.94 -33.42 -3.05945 -5.50216 10.8764 -33.425 -3.18499 -5.73924 10.8206 -33.43 -3.31642 -5.98723 10.7728 -33.435 -3.45396 -6.24672 10.7337 -33.44 -3.59785 -6.51824 10.7037 -33.445 -3.74831 -6.80223 10.6835 -33.45 -3.90558 -7.0991 10.6739 -33.455 -4.0699 -7.40915 10.6757 -33.46 -4.24151 -7.73263 10.6897 -33.465 -4.42065 -8.06972 10.7169 -33.47 -4.60757 -8.42054 10.7585 -33.475 -4.80252 -8.78511 10.8155 -33.48 -5.00573 -9.16343 10.8892 -33.485 -5.21747 -9.55538 10.9809 -33.49 -5.43799 -9.9608 11.092 -33.495 -5.66755 -10.3795 11.2239 -33.5 -5.9064 -10.8111 11.3783 -33.505 -6.1548 -11.2552 11.5567 -33.51 -6.41302 -11.7115 11.7609 -33.515 -6.68132 -12.1793 11.9927 -33.52 -6.95996 -12.6582 12.254 -33.525 -7.24923 -13.1475 12.5468 -33.53 -7.54882 -13.6462 12.8721 -33.535 -7.85764 -14.1525 13.2304 -33.54 -8.17588 -14.6647 13.6252 -33.545 -8.50361 -15.1805 14.0597 -33.55 -8.84072 -15.6974 14.5365 -33.555 -9.18686 -16.2126 15.0578 -33.56 -9.54154 -16.7226 15.6255 -33.565 -9.90403 -17.224 16.2409 -33.57 -10.2734 -17.7127 16.9048 -33.575 -10.6486 -18.1845 17.6176 -33.58 -11.0283 -18.6345 18.3794 -33.585 -11.411 -19.0579 19.1896 -33.59 -11.795 -19.4491 20.0472 -33.595 -12.1785 -19.8025 20.951 -33.6 -12.5592 -20.1119 21.899 -33.605 -12.9351 -20.3708 22.8888 -33.61 -13.3035 -20.5724 23.9179 -33.615 -13.6618 -20.7095 24.9829 -33.62 -14.0085 -20.7767 26.0812 -33.625 -14.3406 -20.7696 27.2046 -33.63 -14.6543 -20.6833 28.3422 -33.635 -14.9461 -20.5146 29.4836 -33.64 -15.2126 -20.2608 30.6184 -33.645 -15.4509 -19.921 31.7369 -33.65 -15.6581 -19.495 32.8296 -33.655 -15.8318 -18.984 33.8874 -33.66 -15.9697 -18.3901 34.9013 -33.665 -16.07 -17.7169 35.863 -33.67 -16.1308 -16.9688 36.7643 -33.675 -16.1509 -16.1517 37.5975 -33.68 -16.129 -15.2724 38.3551 -33.685 -16.0644 -14.3389 39.03 -33.69 -15.956 -13.3611 39.6122 -33.695 -15.8043 -12.3521 40.0965 -33.7 -15.6107 -11.3247 40.4845 -33.705 -15.3767 -10.2908 40.7783 -33.71 -15.1042 -9.26133 40.9804 -33.715 -14.7954 -8.24595 41.0939 -33.72 -14.4527 -7.25336 41.1224 -33.725 -14.0788 -6.29118 41.07 -33.73 -13.6765 -5.36596 40.9413 -33.735 -13.2489 -4.48321 40.7414 -33.74 -12.7996 -3.64736 40.4761 -33.745 -12.3321 -2.86176 40.1516 -33.75 -11.8505 -2.12874 39.7744 -33.755 -11.3588 -1.44952 39.352 -33.76 -10.8598 -0.825623 38.8938 -33.765 -10.3561 -0.257351 38.408 -33.77 -9.85065 0.256396 37.8999 -33.775 -9.34612 0.717134 37.3748 -33.78 -8.84506 1.12679 36.8375 -33.785 -8.34971 1.4877 36.2924 -33.79 -7.86208 1.80261 35.7432 -33.795 -7.38394 2.07469 35.1938 -33.8 -6.91681 2.30751 34.647 -33.805 -6.46195 2.50504 34.1058 -33.81 -6.0204 2.67169 33.5723 -33.815 -5.59296 2.81177 33.0484 -33.82 -5.18032 2.92656 32.5341 -33.825 -4.78281 3.01845 32.0298 -33.83 -4.40065 3.09011 31.536 -33.835 -4.03397 3.14402 31.053 -33.84 -3.68284 3.18251 30.5809 -33.845 -3.3472 3.20775 30.12 -33.85 -3.02694 3.22174 29.6701 -33.855 -2.72187 3.22633 29.2312 -33.86 -2.4317 3.22319 28.8029 -33.865 -2.15605 3.21384 28.385 -33.87 -1.89448 3.19963 27.9769 -33.875 -1.64637 3.18185 27.5783 -33.88 -1.41111 3.16155 27.189 -33.885 -1.18823 3.13957 26.8086 -33.89 -0.977245 3.11664 26.4366 -33.895 -0.777659 3.09349 26.0729 -33.9 -0.588972 3.07076 25.7171 -33.905 -0.410667 3.04905 25.3688 -33.91 -0.24222 3.02889 25.0278 -33.915 -0.0830929 3.0108 24.6937 -33.92 0.0672618 2.99519 24.3665 -33.925 0.209403 2.98246 24.0458 -33.93 0.343901 2.97293 23.7313 -33.935 0.471336 2.96687 23.423 -33.94 0.5923 2.96453 23.1206 -33.945 0.707397 2.96605 22.824 -33.95 0.81724 2.97155 22.5329 -33.955 0.922454 2.9811 22.2473 -33.96 1.02354 2.99469 21.967 -33.965 1.12076 3.01246 21.6919 -33.97 1.21437 3.03457 21.4219 -33.975 1.30463 3.06115 21.157 -33.98 1.39181 3.09234 20.8973 -33.985 1.47622 3.12826 20.6426 -33.99 1.55814 3.16901 20.3929 -33.995 1.6379 3.21467 20.1483 -34 1.71582 3.26533 19.9086 -34.005 1.79225 3.32105 19.6739 -34.01 1.86755 3.38187 19.4442 -34.015 1.94208 3.44783 19.2194 -34.02 2.01622 3.51895 18.9996 -34.025 2.09038 3.59524 18.7846 -34.03 2.16495 3.6767 18.5746 -34.035 2.24037 3.7633 18.3694 -34.04 2.3169 3.85511 18.1692 -34.045 2.39448 3.95239 17.9742 -34.05 2.47324 4.05533 17.7845 -34.055 2.55335 4.16409 17.6002 -34.06 2.63498 4.27883 17.4214 -34.065 2.71832 4.39972 17.2483 -34.07 2.80355 4.5269 17.081 -34.075 2.89089 4.66053 16.9198 -34.08 2.98053 4.80074 16.7646 -34.085 3.07269 4.94769 16.6159 -34.09 3.1676 5.10151 16.4738 -34.095 3.26551 5.26234 16.3385 -34.1 3.36664 5.4303 16.2103 -34.105 3.47125 5.60552 16.0894 -34.11 3.57961 5.78813 15.9761 -34.115 3.69196 5.9782 15.8708 -34.12 3.80843 6.17576 15.7737 -34.125 3.92916 6.38113 15.6854 -34.13 4.0543 6.59463 15.6061 -34.135 4.18402 6.81651 15.5365 -34.14 4.31846 7.04698 15.477 -34.145 4.45777 7.28622 15.4281 -34.15 4.60212 7.53433 15.3904 -34.155 4.75166 7.79139 15.3645 -34.16 4.90654 8.0574 15.351 -34.165 5.06692 8.33234 15.3507 -34.17 5.23295 8.61612 15.3642 -34.175 5.40478 8.90863 15.3922 -34.18 5.58258 9.20967 15.4356 -34.185 5.76649 9.51902 15.4952 -34.19 5.95668 9.83641 15.5719 -34.195 6.15329 10.1615 15.6665 -34.2 6.35649 10.494 15.7799 -34.205 6.56642 10.8333 15.9132 -34.21 6.78247 11.1789 16.0657 -34.215 7.00421 11.5301 16.238 -34.22 7.23191 11.8861 16.4322 -34.225 7.46576 12.246 16.6503 -34.23 7.70584 12.6088 16.894 -34.235 7.95213 12.9734 17.1647 -34.24 8.20449 13.3383 17.4637 -34.245 8.46271 13.7021 17.7921 -34.25 8.72644 14.0629 18.1506 -34.255 8.99528 14.4189 18.5399 -34.26 9.26867 14.7682 18.9602 -34.265 9.54599 15.1084 19.4118 -34.27 9.8265 15.4372 19.8945 -34.275 10.1094 15.752 20.408 -34.28 10.3936 16.0501 20.9518 -34.285 10.6783 16.3287 21.525 -34.29 10.9622 16.5846 22.1268 -34.295 11.244 16.8147 22.7558 -34.3 11.5225 17.0155 23.4106 -34.305 11.7962 17.1835 24.0895 -34.31 12.0635 17.315 24.7906 -34.315 12.3228 17.4061 25.5118 -34.32 12.5724 17.4526 26.2507 -34.325 12.8112 17.4518 27.0052 -34.33 13.038 17.4026 27.7705 -34.335 13.2506 17.3041 28.5399 -34.34 13.4467 17.1556 29.3073 -34.345 13.6245 16.9569 30.0667 -34.35 13.7822 16.7081 30.8125 -34.355 13.9183 16.41 31.5393 -34.36 14.0313 16.0635 32.2422 -34.365 14.1202 15.6702 32.9164 -34.37 14.1839 15.2319 33.5576 -34.375 14.2217 14.751 34.1617 -34.38 14.2331 14.2302 34.7249 -34.385 14.2176 13.6728 35.2438 -34.39 14.1751 13.0823 35.7152 -34.395 14.1056 12.4629 36.1363 -34.4 14.0093 11.8188 36.5045 -34.405 13.886 11.1569 36.8163 -34.41 13.7358 10.4849 37.0697 -34.415 13.56 9.80856 37.2657 -34.42 13.3601 9.13333 37.4054 -34.425 13.1375 8.46418 37.4902 -34.43 12.8936 7.80568 37.522 -34.435 12.6302 7.16199 37.5028 -34.44 12.3487 6.53684 37.4348 -34.445 12.051 5.93358 37.3205 -34.45 11.7389 5.35511 37.1629 -34.455 11.4142 4.80392 36.9651 -34.46 11.0788 4.28211 36.7305 -34.465 10.7348 3.79133 36.4627 -34.47 10.3842 3.33284 36.1656 -34.475 10.0292 2.90747 35.8436 -34.48 9.67195 2.51561 35.5011 -34.485 9.31399 2.15613 35.1413 -34.49 8.95676 1.82799 34.7668 -34.495 8.60172 1.53039 34.3801 -34.5 8.2502 1.26238 33.9835 -34.505 7.90346 1.02287 33.5791 -34.51 7.56259 0.810655 33.169 -34.515 7.22862 0.624381 32.755 -34.52 6.90241 0.462566 32.3389 -34.525 6.58476 0.323591 31.922 -34.53 6.27631 0.205704 31.5058 -34.535 5.97762 0.107019 31.0916 -34.54 5.68912 0.0255161 30.6802 -34.545 5.41112 -0.0409604 30.2727 -34.55 5.14382 -0.0946426 29.8697 -34.555 4.88738 -0.136039 29.4713 -34.56 4.64179 -0.165762 29.0775 -34.565 4.40698 -0.184975 28.6885 -34.57 4.18287 -0.194771 28.3045 -34.575 3.96936 -0.196173 27.9256 -34.58 3.7663 -0.190139 27.5519 -34.585 3.57353 -0.177555 27.1835 -34.59 3.39088 -0.159242 26.8205 -34.595 3.21814 -0.13595 26.4627 -34.6 3.05508 -0.108361 26.1103 -34.605 2.90143 -0.0770887 25.7632 -34.61 2.75693 -0.0426786 25.4212 -34.615 2.62126 -0.00560748 25.0843 -34.62 2.4941 0.0337175 24.7522 -34.625 2.37494 0.0749909 24.4251 -34.63 2.26345 0.11792 24.1026 -34.635 2.15941 0.16222 23.7849 -34.64 2.06258 0.207636 23.4718 -34.645 1.97272 0.253943 23.1632 -34.65 1.8896 0.300947 22.8591 -34.655 1.81295 0.348486 22.5593 -34.66 1.74253 0.396426 22.2638 -34.665 1.67806 0.444667 21.9726 -34.67 1.61929 0.493136 21.6854 -34.675 1.56594 0.541793 21.4023 -34.68 1.51773 0.590629 21.1233 -34.685 1.47436 0.639664 20.8481 -34.69 1.43555 0.688949 20.5769 -34.695 1.401 0.738566 20.3094 -34.7 1.37041 0.788628 20.0457 -34.705 1.34346 0.839277 19.7857 -34.71 1.32002 0.890557 19.5294 -34.715 1.30012 0.942435 19.2767 -34.72 1.28365 0.994943 19.0276 -34.725 1.27055 1.04813 18.7821 -34.73 1.26072 1.10205 18.5401 -34.735 1.25409 1.15678 18.3016 -34.74 1.25057 1.21242 18.0666 -34.745 1.25007 1.26905 17.835 -34.75 1.2525 1.32679 17.6069 -34.755 1.25777 1.38578 17.3821 -34.76 1.26579 1.44615 17.1608 -34.765 1.27647 1.50806 16.9429 -34.77 1.28972 1.57168 16.7283 -34.775 1.30544 1.63718 16.5171 -34.78 1.32353 1.70477 16.3093 -34.785 1.34391 1.77465 16.1048 -34.79 1.36663 1.84693 15.9037 -34.795 1.39178 1.92169 15.706 -34.8 1.41939 1.99908 15.5117 -34.805 1.44949 2.07925 15.3208 -34.81 1.48211 2.16236 15.1333 -34.815 1.5173 2.24857 14.9493 -34.82 1.55509 2.33808 14.7688 -34.825 1.59553 2.43106 14.5918 -34.83 1.63867 2.52773 14.4184 -34.835 1.68457 2.6283 14.2487 -34.84 1.73327 2.73298 14.0827 -34.845 1.78484 2.84202 13.9205 -34.85 1.83934 2.95566 13.7622 -34.855 1.89683 3.07415 13.6079 -34.86 1.95739 3.19775 13.4577 -34.865 2.02109 3.32675 13.3117 -34.87 2.08807 3.46132 13.1701 -34.875 2.15853 3.60162 13.0331 -34.88 2.23257 3.748 12.9008 -34.885 2.31033 3.9008 12.7734 -34.89 2.39193 4.06035 12.6509 -34.895 2.47751 4.22699 12.5336 -34.9 2.56723 4.40105 12.4216 -34.905 2.66125 4.58286 12.3153 -34.91 2.75972 4.77275 12.215 -34.915 2.86282 4.97104 12.1209 -34.92 2.97074 5.17807 12.0336 -34.925 3.08368 5.39416 11.9533 -34.93 3.20182 5.61962 11.8806 -34.935 3.32539 5.85478 11.8159 -34.94 3.4546 6.09995 11.7597 -34.945 3.58968 6.35545 11.7127 -34.95 3.73087 6.62159 11.6755 -34.955 3.87841 6.89868 11.6486 -34.96 4.03255 7.18704 11.6327 -34.965 4.19355 7.48696 11.6286 -34.97 4.3617 7.79876 11.6371 -34.975 4.53713 8.12234 11.6588 -34.98 4.71974 8.45677 11.6946 -34.985 4.90992 8.80287 11.7457 -34.99 5.10808 9.16138 11.8133 -34.995 5.31457 9.53284 11.8988 -35 5.5297 9.91755 12.0033 -35.005 5.7537 10.3156 12.1283 -35.01 5.98677 10.7268 12.2752 -35.015 6.22906 11.1509 12.4454 -35.02 6.48064 11.5872 12.6405 -35.025 6.74156 12.0349 12.8618 -35.03 7.0118 12.493 13.111 -35.035 7.29129 12.9602 13.3897 -35.04 7.57991 13.4351 13.6996 -35.045 7.87747 13.9159 14.0422 -35.05 8.18376 14.4006 14.4193 -35.055 8.49848 14.8872 14.8328 -35.06 8.82131 15.3733 15.2842 -35.065 9.15185 15.8561 15.7756 -35.07 9.48968 16.333 16.3088 -35.075 9.83429 16.8009 16.8857 -35.08 10.1851 17.2565 17.5081 -35.085 10.5409 17.6979 18.175 -35.09 10.9001 18.1198 18.8863 -35.095 11.2616 18.5159 19.6427 -35.1 11.6239 18.8801 20.4438 -35.105 11.9852 19.2067 21.2884 -35.11 12.3438 19.49 22.1747 -35.115 12.6977 19.7249 23.1 -35.12 13.0447 19.9065 24.061 -35.125 13.3827 20.0301 25.0532 -35.13 13.7091 20.0912 26.0718 -35.135 14.0214 20.0858 27.1108 -35.14 14.3168 20.0101 28.1637 -35.145 14.5924 19.8604 29.2231 -35.15 14.8451 19.6336 30.2808 -35.155 15.0718 19.3261 31.3279 -35.16 15.2711 18.9293 32.3572 -35.165 15.4405 18.4477 33.3581 -35.17 15.5772 17.89 34.3196 -35.175 15.6786 17.2646 35.2321 -35.18 15.743 16.5794 36.087 -35.185 15.7687 15.8421 36.8769 -35.19 15.7551 15.0599 37.5956 -35.195 15.7015 14.2394 38.2381 -35.2 15.6081 13.3871 38.8005 -35.205 15.4754 12.509 39.28 -35.21 15.3044 11.6105 39.675 -35.215 15.0968 10.6969 39.9853 -35.22 14.8545 9.77302 40.2115 -35.225 14.5801 8.84311 40.3556 -35.23 14.2763 7.91195 40.4207 -35.235 13.9429 6.99848 40.4086 -35.24 13.5818 6.11449 40.3233 -35.245 13.1962 5.26577 40.1697 -35.25 12.7892 4.45722 39.953 -35.255 12.3641 3.69285 39.6789 -35.26 11.9238 2.9758 39.353 -35.265 11.4712 2.30832 38.9815 -35.27 11.0094 1.69176 38.5706 -35.275 10.5411 1.12661 38.127 -35.28 10.069 0.612458 37.6576 -35.285 9.59602 0.148016 37.1695 -35.29 9.1246 -0.268893 36.6702 -35.295 8.65721 -0.640927 36.1644 -35.3 8.19565 -0.970359 35.652 -35.305 7.74153 -1.25976 35.136 -35.31 7.29633 -1.51173 34.6189 -35.315 6.86132 -1.7289 34.1032 -35.32 6.43766 -1.91392 33.5909 -35.325 6.02629 -2.06948 33.0838 -35.33 5.62802 -2.19829 32.5833 -35.335 5.24348 -2.30306 32.0905 -35.34 4.87314 -2.38657 31.6064 -35.345 4.5173 -2.45159 31.1313 -35.35 4.1761 -2.50093 30.6657 -35.355 3.84955 -2.53715 30.2094 -35.36 3.53759 -2.56128 29.7626 -35.365 3.23998 -2.57485 29.3254 -35.37 2.95642 -2.57938 28.8975 -35.375 2.68658 -2.57629 28.4787 -35.38 2.43011 -2.56693 28.0688 -35.385 2.18666 -2.55252 27.6675 -35.39 1.95582 -2.53417 27.2748 -35.395 1.73718 -2.5129 26.8902 -35.4 1.53029 -2.48963 26.5136 -35.405 1.3347 -2.46517 26.1448 -35.41 1.1499 -2.44022 25.7833 -35.415 0.975387 -2.4154 25.429 -35.42 0.810624 -2.39121 25.0816 -35.425 0.655039 -2.36804 24.7408 -35.43 0.507998 -2.34632 24.4063 -35.435 0.369037 -2.32639 24.0779 -35.44 0.237732 -2.30856 23.7554 -35.445 0.113658 -2.29311 23.4387 -35.45 -0.0036132 -2.28028 23.1276 -35.455 -0.114512 -2.2703 22.822 -35.46 -0.219472 -2.26334 22.5217 -35.465 -0.318928 -2.25959 22.2265 -35.47 -0.413317 -2.25916 21.9363 -35.475 -0.503079 -2.26217 21.651 -35.48 -0.588658 -2.2687 21.3705 -35.485 -0.670498 -2.27879 21.0947 -35.49 -0.749046 -2.29247 20.8234 -35.495 -0.824731 -2.30975 20.5566 -35.5 -0.897819 -2.3307 20.2942 -35.505 -0.968539 -2.35542 20.0362 -35.51 -1.03713 -2.384 19.7826 -35.515 -1.10384 -2.41652 19.5333 -35.52 -1.1689 -2.45304 19.2883 -35.525 -1.23258 -2.49365 19.0476 -35.53 -1.29513 -2.5384 18.8112 -35.535 -1.35681 -2.58736 18.579 -35.54 -1.41789 -2.64058 18.351 -35.545 -1.47862 -2.69811 18.1272 -35.55 -1.53929 -2.76 17.9077 -35.555 -1.60018 -2.82628 17.6924 -35.56 -1.66156 -2.897 17.4812 -35.565 -1.72368 -2.9722 17.2744 -35.57 -1.78671 -3.05202 17.0718 -35.575 -1.85075 -3.13662 16.8736 -35.58 -1.91594 -3.22618 16.6799 -35.585 -1.98242 -3.32085 16.4906 -35.59 -2.05035 -3.4208 16.3059 -35.595 -2.1199 -3.52618 16.1259 -35.6 -2.19123 -3.63716 15.9506 -35.605 -2.26452 -3.75391 15.7802 -35.61 -2.33998 -3.87659 15.6149 -35.615 -2.4178 -4.00537 15.4547 -35.62 -2.4982 -4.1404 15.2998 -35.625 -2.58139 -4.28186 15.1504 -35.63 -2.66761 -4.42991 15.0066 -35.635 -2.75711 -4.58471 14.8686 -35.64 -2.85012 -4.74644 14.7367 -35.645 -2.94683 -4.91519 14.6111 -35.65 -3.04735 -5.0913 14.4921 -35.655 -3.15184 -5.2751 14.38 -35.66 -3.26044 -5.46695 14.275 -35.665 -3.37332 -5.66713 14.1776 -35.67 -3.49065 -5.87595 14.0882 -35.675 -3.6126 -6.09367 14.007 -35.68 -3.73935 -6.32051 13.9347 -35.685 -3.87111 -6.55671 13.8717 -35.69 -4.00807 -6.80245 13.8185 -35.695 -4.15045 -7.0579 13.7758 -35.7 -4.29845 -7.3232 13.7441 -35.705 -4.4523 -7.59848 13.7242 -35.71 -4.61224 -7.88382 13.7167 -35.715 -4.77851 -8.17931 13.7225 -35.72 -4.95135 -8.485 13.7422 -35.725 -5.13103 -8.8009 13.7767 -35.73 -5.3178 -9.12702 13.8269 -35.735 -5.51152 -9.46267 13.8932 -35.74 -5.71188 -9.80706 13.976 -35.745 -5.91927 -10.1607 14.0772 -35.75 -6.13404 -10.5237 14.1983 -35.755 -6.35647 -10.8963 14.3409 -35.76 -6.58674 -11.2781 14.5066 -35.765 -6.82496 -11.6687 14.6966 -35.77 -7.07117 -12.0674 14.9124 -35.775 -7.32532 -12.4732 15.1553 -35.78 -7.58728 -12.8851 15.4265 -35.785 -7.85687 -13.3016 15.727 -35.79 -8.13379 -13.721 16.058 -35.795 -8.4177 -14.1415 16.4205 -35.8 -8.70815 -14.561 16.8153 -35.805 -9.00464 -14.977 17.2434 -35.81 -9.30657 -15.3871 17.7054 -35.815 -9.61327 -15.7884 18.2021 -35.82 -9.924 -16.1779 18.7342 -35.825 -10.2379 -16.5521 19.3021 -35.83 -10.5542 -16.9077 19.9063 -35.835 -10.8717 -17.2408 20.5473 -35.84 -11.1895 -17.5474 21.2255 -35.845 -11.5064 -17.8236 21.9408 -35.85 -11.8212 -18.0679 22.6913 -35.855 -12.1319 -18.2752 23.4735 -35.86 -12.4363 -18.4403 24.2839 -35.865 -12.7324 -18.5582 25.1186 -35.87 -13.0182 -18.6249 25.9733 -35.875 -13.2917 -18.6367 26.8436 -35.88 -13.5507 -18.5909 27.7247 -35.885 -13.7933 -18.4852 28.6112 -35.89 -14.0176 -18.318 29.4979 -35.895 -14.2214 -18.0884 30.3787 -35.9 -14.403 -17.7961 31.2477 -35.905 -14.5603 -17.4414 32.0983 -35.91 -14.6915 -17.0254 32.9237 -35.915 -14.7946 -16.5496 33.7169 -35.92 -14.8677 -16.0164 34.4703 -35.925 -14.9095 -15.4259 35.175 -35.93 -14.9194 -14.782 35.8241 -35.935 -14.8969 -14.0948 36.4144 -35.94 -14.8417 -13.3736 36.9434 -35.945 -14.7538 -12.6272 37.4091 -35.95 -14.6335 -11.8635 37.81 -35.955 -14.4813 -11.0898 38.1451 -35.96 -14.2982 -10.3125 38.4139 -35.965 -14.0854 -9.53768 38.6164 -35.97 -13.8444 -8.77032 38.7532 -35.975 -13.5768 -8.0149 38.8252 -35.98 -13.2849 -7.27515 38.834 -35.985 -12.9709 -6.55409 38.7816 -35.99 -12.6376 -5.85404 38.6707 -35.995 -12.2878 -5.1766 38.5042 -36 -11.9245 -4.52419 38.2865 -36.005 -11.5479 -3.90673 38.0258 -36.01 -11.1606 -3.32734 37.7273 -36.015 -10.7648 -2.78723 37.3951 -36.02 -10.3632 -2.28716 37.0334 -36.025 -9.9579 -1.82739 36.6462 -36.03 -9.55106 -1.40772 36.2375 -36.035 -9.14462 -1.02746 35.8111 -36.04 -8.74041 -0.685442 35.3707 -36.045 -8.34007 -0.380039 34.92 -36.05 -7.94513 -0.10913 34.4625 -36.055 -7.55695 0.129877 34.0017 -36.06 -7.17675 0.340049 33.5409 -36.065 -6.80562 0.523595 33.0817 -36.07 -6.44441 0.681428 32.6239 -36.075 -6.09372 0.815614 32.1686 -36.08 -5.75407 0.928153 31.7169 -36.085 -5.42588 1.02097 31.2696 -36.09 -5.10951 1.09592 30.8276 -36.095 -4.80523 1.15478 30.3914 -36.1 -4.51322 1.19925 29.9615 -36.105 -4.23359 1.23097 29.5383 -36.11 -3.96634 1.25149 29.1219 -36.115 -3.71143 1.26229 28.7125 -36.12 -3.4687 1.26479 28.3099 -36.125 -3.23792 1.26029 27.914 -36.13 -3.01877 1.24975 27.5248 -36.135 -2.81094 1.23399 27.1424 -36.14 -2.61408 1.21382 26.7665 -36.145 -2.42787 1.19 26.3969 -36.15 -2.25195 1.16323 26.0336 -36.155 -2.08596 1.13415 25.6764 -36.16 -1.92955 1.10335 25.325 -36.165 -1.78234 1.07136 24.9795 -36.17 -1.64393 1.03864 24.6396 -36.175 -1.51395 1.00559 24.3051 -36.18 -1.39199 0.97259 23.976 -36.185 -1.27763 0.939916 23.652 -36.19 -1.17047 0.90781 23.3331 -36.195 -1.07006 0.876452 23.0191 -36.2 -0.975972 0.845962 22.7099 -36.205 -0.88779 0.816453 22.4052 -36.21 -0.805211 0.788085 22.1051 -36.215 -0.72796 0.760977 21.8093 -36.22 -0.655764 0.735226 21.5179 -36.225 -0.588347 0.710916 21.2306 -36.23 -0.525434 0.688111 20.9475 -36.235 -0.466751 0.666859 20.6684 -36.24 -0.412022 0.64719 20.3933 -36.245 -0.360971 0.629118 20.122 -36.25 -0.313321 0.61264 19.8545 -36.255 -0.268798 0.597733 19.5907 -36.26 -0.227124 0.58436 19.3306 -36.265 -0.188023 0.572467 19.074 -36.27 -0.151226 0.561986 18.8209 -36.275 -0.116585 0.552928 18.5712 -36.28 -0.0839835 0.545311 18.3249 -36.285 -0.0532917 0.539141 18.082 -36.29 -0.0243781 0.534416 17.8424 -36.295 0.00289003 0.531133 17.6061 -36.3 0.0286465 0.529279 17.3729 -36.305 0.0530264 0.528842 17.143 -36.31 0.0761661 0.529802 16.9161 -36.315 0.098203 0.532134 16.6923 -36.32 0.119276 0.53581 16.4715 -36.325 0.139525 0.540795 16.2537 -36.33 0.159091 0.547051 16.0389 -36.335 0.178117 0.554536 15.8269 -36.34 0.19671 0.563231 15.6178 -36.345 0.214904 0.573182 15.4115 -36.35 0.232754 0.584411 15.2081 -36.355 0.250315 0.596943 15.0073 -36.36 0.267648 0.610801 14.8093 -36.365 0.284815 0.62601 14.614 -36.37 0.301882 0.64259 14.4214 -36.375 0.318916 0.660566 14.2314 -36.38 0.33599 0.67996 14.044 -36.385 0.353177 0.700793 13.8592 -36.39 0.370552 0.723088 13.6769 -36.395 0.388197 0.746866 13.4972 -36.4 0.406193 0.772149 13.3199 -36.405 0.424625 0.798958 13.1451 -36.41 0.443576 0.827321 12.9727 -36.415 0.463086 0.857314 12.8028 -36.42 0.483187 0.889016 12.6353 -36.425 0.503914 0.922506 12.4702 -36.43 0.525309 0.957867 12.3074 -36.435 0.547417 0.995184 12.147 -36.44 0.570292 1.03454 11.9889 -36.445 0.593988 1.07604 11.8332 -36.45 0.618568 1.11977 11.6797 -36.455 0.644099 1.16583 11.5286 -36.46 0.670652 1.21432 11.3798 -36.465 0.698304 1.26534 11.2333 -36.47 0.727136 1.31901 11.0891 -36.475 0.757237 1.37542 10.9472 -36.48 0.788697 1.43471 10.8076 -36.485 0.821614 1.49698 10.6703 -36.49 0.856091 1.56236 10.5354 -36.495 0.892237 1.63097 10.4028 -36.5 0.930142 1.70301 10.2726 -36.505 0.969861 1.77866 10.1449 -36.51 1.01146 1.85812 10.0195 -36.515 1.05502 1.9416 9.8966 -36.52 1.10061 2.02932 9.77617 -36.525 1.14834 2.12151 9.65826 -36.53 1.19831 2.21841 9.54293 -36.535 1.25064 2.32025 9.43026 -36.54 1.30545 2.42729 9.32032 -36.545 1.36288 2.5398 9.21321 -36.55 1.42308 2.65805 9.10905 -36.555 1.48619 2.78233 9.00795 -36.56 1.55239 2.91291 8.91005 -36.565 1.62186 3.05011 8.81549 -36.57 1.69477 3.19423 8.72443 -36.575 1.77133 3.3456 8.63705 -36.58 1.85174 3.50453 8.55353 -36.585 1.93622 3.67136 8.47406 -36.59 2.02499 3.84645 8.39886 -36.595 2.1183 4.03007 8.32821 -36.6 2.21635 4.22212 8.26291 -36.605 2.31935 4.42322 8.20312 -36.61 2.42752 4.63411 8.14897 -36.615 2.54109 4.85551 8.10065 -36.62 2.6603 5.08808 8.05845 -36.625 2.7854 5.33246 8.02276 -36.63 2.91664 5.58924 7.99406 -36.635 3.05431 5.85899 7.97291 -36.64 3.1987 6.14223 7.95996 -36.645 3.35009 6.43945 7.95596 -36.65 3.5088 6.75109 7.96175 -36.655 3.67514 7.07759 7.97825 -36.66 3.84945 7.4193 8.00649 -36.665 4.03208 7.77658 8.04756 -36.67 4.22337 8.14972 8.10268 -36.675 4.4237 8.539 8.17312 -36.68 4.63343 8.94465 8.26026 -36.685 4.85296 9.36686 8.36559 -36.69 5.0827 9.80579 8.49065 -36.695 5.32304 10.2616 8.6371 -36.7 5.57442 10.7343 8.80669 -36.705 5.83726 11.2239 9.00123 -36.71 6.11202 11.7306 9.22266 -36.715 6.39844 12.2532 9.47227 -36.72 6.69613 12.7906 9.75206 -36.725 7.00571 13.3428 10.0655 -36.73 7.32763 13.9092 10.4158 -36.735 7.66215 14.4888 10.806 -36.74 8.00934 15.0798 11.2391 -36.745 8.3691 15.6802 11.7178 -36.75 8.74116 16.287 12.2445 -36.755 9.12504 16.8972 12.8216 -36.76 9.52012 17.5067 13.4511 -36.765 9.92556 18.1112 14.1351 -36.77 10.3404 18.7059 14.8753 -36.775 10.7634 19.2851 15.6732 -36.78 11.1932 19.8428 16.5301 -36.785 11.6282 20.3725 17.4474 -36.79 12.0669 20.8669 18.4258 -36.795 12.5071 21.3185 19.4663 -36.8 12.9471 21.7199 20.5692 -36.805 13.3844 22.0664 21.7307 -36.81 13.8156 22.3466 22.9451 -36.815 14.2372 22.5498 24.2058 -36.82 14.6454 22.6665 25.5054 -36.825 15.0367 22.689 26.8355 -36.83 15.4073 22.6109 28.1869 -36.835 15.7535 22.4271 29.5494 -36.84 16.0716 22.1342 30.9122 -36.845 16.3577 21.7303 32.2632 -36.85 16.6081 21.2148 33.5899 -36.855 16.8189 20.5885 34.8786 -36.86 16.9864 19.854 36.1148 -36.865 17.1065 19.015 37.2831 -36.87 17.1771 18.0693 38.3643 -36.875 17.1967 17.0308 39.3474 -36.88 17.1638 15.9203 40.2262 -36.885 17.0778 14.7569 40.9958 -36.89 16.9385 13.5577 41.6525 -36.895 16.7465 12.3382 42.1939 -36.9 16.5031 11.112 42.6189 -36.905 16.2103 9.89103 42.9274 -36.91 15.8707 8.68524 43.1209 -36.915 15.4876 7.50293 43.2018 -36.92 15.0651 6.35056 43.1738 -36.925 14.6077 5.23282 43.0421 -36.93 14.1209 4.1526 42.8129 -36.935 13.6088 3.11854 42.4965 -36.94 13.0727 2.15059 42.1088 -36.945 12.5174 1.25285 41.66 -36.95 11.9474 0.427479 41.1595 -36.955 11.3669 -0.324583 40.6165 -36.96 10.7799 -1.00364 40.0397 -36.965 10.1903 -1.61123 39.4375 -36.97 9.60133 -2.15014 38.818 -36.975 9.01632 -2.62436 38.1889 -36.98 8.43811 -3.03915 37.5575 -36.985 7.86932 -3.39983 36.9296 -36.99 7.31206 -3.7092 36.3067 -36.995 6.76803 -3.97167 35.6916 -37 6.23872 -4.19163 35.087 -37.005 5.72535 -4.37332 34.4948 -37.01 5.22896 -4.52082 33.9167 -37.015 4.75033 -4.63806 33.3538 -37.02 4.29002 -4.72884 32.807 -37.025 3.84837 -4.79676 32.2766 -37.03 3.42548 -4.84532 31.7623 -37.035 3.02133 -4.87777 31.2639 -37.04 2.63587 -4.89662 30.7816 -37.045 2.26865 -4.90401 30.3148 -37.05 1.91917 -4.9019 29.8627 -37.055 1.58692 -4.89214 29.4248 -37.06 1.27136 -4.87642 29.0005 -37.065 0.971918 -4.85633 28.5892 -37.07 0.688019 -4.8333 28.1903 -37.075 0.419054 -4.80864 27.8033 -37.08 0.164395 -4.78351 27.4277 -37.085 -0.07661 -4.75895 27.0629 -37.09 -0.304634 -4.73586 26.7086 -37.095 -0.520372 -4.715 26.3642 -37.1 -0.724542 -4.69702 26.0294 -37.105 -0.917885 -4.68239 25.7037 -37.11 -1.10116 -4.67149 25.3867 -37.115 -1.27525 -4.66463 25.0779 -37.12 -1.44092 -4.66218 24.777 -37.125 -1.59866 -4.6644 24.4838 -37.13 -1.74899 -4.67154 24.1981 -37.135 -1.8924 -4.68384 23.9198 -37.14 -2.02941 -4.70147 23.6486 -37.145 -2.16053 -4.72463 23.3844 -37.15 -2.28628 -4.75347 23.1272 -37.155 -2.40721 -4.7881 22.8768 -37.16 -2.52384 -4.82863 22.633 -37.165 -2.63672 -4.87514 22.3958 -37.17 -2.7464 -4.92769 22.1652 -37.175 -2.85343 -4.9863 21.941 -37.18 -2.95838 -5.05099 21.7231 -37.185 -3.0618 -5.12173 21.5116 -37.19 -3.16419 -5.1985 21.3065 -37.195 -3.2657 -5.28134 21.1078 -37.2 -3.36657 -5.37034 20.9158 -37.205 -3.46705 -5.4656 20.7306 -37.21 -3.5674 -5.56719 20.5523 -37.215 -3.66788 -5.67517 20.381 -37.22 -3.76875 -5.78959 20.2169 -37.225 -3.87028 -5.91048 20.0601 -37.23 -3.97275 -6.03786 19.9109 -37.235 -4.07644 -6.17175 19.7694 -37.24 -4.18164 -6.31212 19.6359 -37.245 -4.28862 -6.45898 19.5104 -37.25 -4.39769 -6.61227 19.3933 -37.255 -4.50915 -6.77195 19.2847 -37.26 -4.62331 -6.93797 19.1848 -37.265 -4.74041 -7.11023 19.0941 -37.27 -4.86053 -7.28867 19.0126 -37.275 -4.98377 -7.47339 18.941 -37.28 -5.11024 -7.66446 18.8795 -37.285 -5.24005 -7.86188 18.8287 -37.29 -5.37331 -8.06562 18.789 -37.295 -5.51012 -8.27561 18.7609 -37.3 -5.65056 -8.49171 18.7448 -37.305 -5.79472 -8.71373 18.7411 -37.31 -5.94268 -8.94145 18.7504 -37.315 -6.09452 -9.17458 18.7731 -37.32 -6.2503 -9.4128 18.8097 -37.325 -6.41008 -9.65573 18.8608 -37.33 -6.57392 -9.90294 18.9267 -37.335 -6.74187 -10.1539 19.0079 -37.34 -6.91397 -10.4082 19.1051 -37.345 -7.09026 -10.6652 19.2187 -37.35 -7.27077 -10.9243 19.3493 -37.355 -7.45523 -11.1851 19.4966 -37.36 -7.64318 -11.4474 19.6606 -37.365 -7.83456 -11.7099 19.8425 -37.37 -8.02924 -11.9715 20.0431 -37.375 -8.22706 -12.2309 20.2634 -37.38 -8.42779 -12.4869 20.5038 -37.385 -8.63115 -12.7382 20.7649 -37.39 -8.8368 -12.9834 21.0468 -37.395 -9.04434 -13.2212 21.3498 -37.4 -9.25333 -13.4502 21.6738 -37.405 -9.46326 -13.6689 22.0184 -37.41 -9.67357 -13.876 22.3834 -37.415 -9.88364 -14.0698 22.7681 -37.42 -10.0928 -14.249 23.1717 -37.425 -10.3003 -14.4118 23.5935 -37.43 -10.5054 -14.5568 24.0322 -37.435 -10.7072 -14.6822 24.4867 -37.44 -10.9049 -14.7865 24.9554 -37.445 -11.0975 -14.8679 25.4369 -37.45 -11.2839 -14.9246 25.9293 -37.455 -11.4632 -14.9551 26.4307 -37.46 -11.6341 -14.9573 26.939 -37.465 -11.7958 -14.9295 27.4523 -37.47 -11.9483 -14.8701 27.9695 -37.475 -12.0902 -14.7793 28.487 -37.48 -12.2203 -14.6578 29.0011 -37.485 -12.3374 -14.5061 29.5083 -37.49 -12.4406 -14.325 30.0053 -37.495 -12.5289 -14.1154 30.489 -37.5 -12.6015 -13.8782 30.9566 -37.505 -12.6579 -13.6146 31.4054 -37.51 -12.6975 -13.3258 31.833 -37.515 -12.7199 -13.013 32.2372 -37.52 -12.7249 -12.6779 32.6159 -37.525 -12.7123 -12.3219 32.9675 -37.53 -12.6822 -11.9468 33.2903 -37.535 -12.6347 -11.5544 33.583 -37.54 -12.57 -11.1465 33.8444 -37.545 -12.4885 -10.7252 34.0736 -37.55 -12.3907 -10.2928 34.2698 -37.555 -12.2772 -9.85155 34.4326 -37.56 -12.1476 -9.40692 34.561 -37.565 -12.0024 -8.96274 34.6548 -37.57 -11.8426 -8.52151 34.7148 -37.575 -11.6693 -8.08557 34.7415 -37.58 -11.4836 -7.65711 34.7358 -37.585 -11.2864 -7.23811 34.6987 -37.59 -11.079 -6.8304 34.6313 -37.595 -10.8623 -6.43567 34.535 -37.6 -10.6374 -6.05539 34.4111 -37.605 -10.4054 -5.6909 34.2613 -37.61 -10.1674 -5.34335 34.0873 -37.615 -9.92443 -5.01373 33.891 -37.62 -9.67759 -4.70287 33.6744 -37.625 -9.42796 -4.41141 33.4398 -37.63 -9.17663 -4.13984 33.1895 -37.635 -8.92469 -3.88847 32.9259 -37.64 -8.67323 -3.65744 32.6518 -37.645 -8.42335 -3.44656 32.3696 -37.65 -8.17602 -3.25404 32.0792 -37.655 -7.93194 -3.07917 31.7815 -37.66 -7.69173 -2.92148 31.4774 -37.665 -7.45597 -2.78049 31.1682 -37.67 -7.22519 -2.65566 30.8546 -37.675 -6.99989 -2.54641 30.5378 -37.68 -6.78051 -2.45211 30.2185 -37.685 -6.56747 -2.37211 29.8976 -37.69 -6.36111 -2.30568 29.5758 -37.695 -6.16176 -2.25207 29.2538 -37.7 -5.96969 -2.21047 28.9323 -37.705 -5.78514 -2.18005 28.6119 -37.71 -5.6083 -2.1599 28.293 -37.715 -5.4393 -2.14911 27.9762 -37.72 -5.27825 -2.14668 27.6618 -37.725 -5.12522 -2.15159 27.3503 -37.73 -4.98021 -2.16278 27.0417 -37.735 -4.84316 -2.17942 26.7365 -37.74 -4.71379 -2.20223 26.4344 -37.745 -4.59199 -2.23101 26.1356 -37.75 -4.47764 -2.26537 25.8401 -37.755 -4.37065 -2.30495 25.5481 -37.76 -4.2709 -2.34943 25.2596 -37.765 -4.17828 -2.39849 24.9748 -37.77 -4.09267 -2.45187 24.6937 -37.775 -4.01395 -2.50933 24.4165 -37.78 -3.94199 -2.57065 24.1432 -37.785 -3.87665 -2.63567 23.8739 -37.79 -3.81779 -2.70421 23.6086 -37.795 -3.76529 -2.77618 23.3475 -37.8 -3.71898 -2.85147 23.0905 -37.805 -3.67872 -2.93002 22.8378 -37.81 -3.64434 -3.01181 22.5894 -37.815 -3.6157 -3.09684 22.3453 -37.82 -3.59262 -3.18512 22.1056 -37.825 -3.57489 -3.27674 21.8703 -37.83 -3.56233 -3.37174 21.6397 -37.835 -3.55491 -3.47012 21.4137 -37.84 -3.55264 -3.5719 21.1923 -37.845 -3.55549 -3.67709 20.9758 -37.85 -3.56343 -3.78574 20.764 -37.855 -3.57645 -3.89791 20.5572 -37.86 -3.59451 -4.01368 20.3554 -37.865 -3.61758 -4.13312 20.1588 -37.87 -3.64562 -4.25634 19.9674 -37.875 -3.67859 -4.38346 19.7815 -37.88 -3.71644 -4.5146 19.6011 -37.885 -3.75914 -4.64992 19.4265 -37.89 -3.80662 -4.78957 19.2577 -37.895 -3.85883 -4.93374 19.0951 -37.9 -3.91572 -5.0826 18.9387 -37.905 -3.97721 -5.23637 18.7889 -37.91 -4.04325 -5.39526 18.6459 -37.915 -4.11376 -5.55952 18.5098 -37.92 -4.18868 -5.72939 18.381 -37.925 -4.26806 -5.90488 18.2597 -37.93 -4.35216 -6.08584 18.1463 -37.935 -4.44109 -6.27251 18.0409 -37.94 -4.53492 -6.46507 17.944 -37.945 -4.63374 -6.66368 17.8558 -37.95 -4.73762 -6.86847 17.7768 -37.955 -4.84663 -7.07952 17.7074 -37.96 -4.96083 -7.2969 17.648 -37.965 -5.08028 -7.52064 17.599 -37.97 -5.20503 -7.75074 17.561 -37.975 -5.3351 -7.98717 17.5343 -37.98 -5.47055 -8.22986 17.5197 -37.985 -5.61139 -8.47872 17.5175 -37.99 -5.75764 -8.73361 17.5284 -37.995 -5.90933 -8.99438 17.5529 -38 -6.06644 -9.26083 17.5918 -38.005 -6.22899 -9.53274 17.6455 -38.01 -6.39697 -9.80985 17.7149 -38.015 -6.57036 -10.0919 17.8007 -38.02 -6.74914 -10.3785 17.9034 -38.025 -6.93304 -10.6693 18.0231 -38.03 -7.12182 -10.9636 18.1599 -38.035 -7.31556 -11.2607 18.3153 -38.04 -7.51427 -11.5598 18.4903 -38.045 -7.71791 -11.8598 18.6861 -38.05 -7.92633 -12.1599 18.9036 -38.055 -8.13936 -12.4588 19.1436 -38.06 -8.35674 -12.7554 19.4065 -38.065 -8.57813 -13.0483 19.693 -38.07 -8.80316 -13.3361 20.0032 -38.075 -9.03135 -13.6173 20.3373 -38.08 -9.26218 -13.8904 20.6953 -38.085 -9.49506 -14.1536 21.0771 -38.09 -9.72933 -14.4052 21.4823 -38.095 -9.96426 -14.6432 21.9104 -38.1 -10.1991 -14.8656 22.3609 -38.105 -10.4329 -15.0705 22.8329 -38.11 -10.6647 -15.2556 23.3256 -38.115 -10.8937 -15.4187 23.8378 -38.12 -11.1187 -15.5574 24.3684 -38.125 -11.3385 -15.6692 24.916 -38.13 -11.5521 -15.7517 25.4789 -38.135 -11.7588 -15.8027 26.0564 -38.14 -11.9578 -15.8211 26.6456 -38.145 -12.1475 -15.8054 27.2426 -38.15 -12.3263 -15.7546 27.8433 -38.155 -12.4929 -15.6679 28.4438 -38.16 -12.6458 -15.5447 29.0406 -38.165 -12.7838 -15.385 29.6299 -38.17 -12.906 -15.1887 30.2083 -38.175 -13.0114 -14.9563 30.7724 -38.18 -13.099 -14.6886 31.3191 -38.185 -13.1681 -14.3863 31.8454 -38.19 -13.2181 -14.051 32.3481 -38.195 -13.2485 -13.6841 32.8246 -38.2 -13.2588 -13.2876 33.2721 -38.205 -13.2489 -12.8636 33.6881 -38.21 -13.2184 -12.4146 34.0702 -38.215 -13.1673 -11.9434 34.416 -38.22 -13.0955 -11.4534 34.7229 -38.225 -13.0026 -10.9493 34.9879 -38.23 -12.8893 -10.4357 35.2106 -38.235 -12.7565 -9.91644 35.3915 -38.24 -12.605 -9.39531 35.531 -38.245 -12.4358 -8.8758 35.6296 -38.25 -12.2498 -8.36115 35.6883 -38.255 -12.0482 -7.85436 35.7081 -38.26 -11.8321 -7.35815 35.6901 -38.265 -11.6026 -6.87502 35.6359 -38.27 -11.361 -6.40718 35.5468 -38.275 -11.1086 -5.95662 35.4249 -38.28 -10.8467 -5.52506 35.2719 -38.285 -10.5767 -5.11398 35.09 -38.29 -10.3002 -4.72458 34.8816 -38.295 -10.0186 -4.35785 34.6493 -38.3 -9.73354 -4.01449 34.3956 -38.305 -9.44658 -3.69489 34.1236 -38.31 -9.15872 -3.39863 33.836 -38.315 -8.87104 -3.12543 33.5346 -38.32 -8.58466 -2.87499 33.2212 -38.325 -8.30059 -2.6469 32.8975 -38.33 -8.01979 -2.44066 32.565 -38.335 -7.74314 -2.25564 32.2253 -38.34 -7.47144 -2.09111 31.8798 -38.345 -7.20541 -1.94622 31.5297 -38.35 -6.94571 -1.82002 31.1765 -38.355 -6.6929 -1.71146 30.8212 -38.36 -6.44748 -1.61935 30.4649 -38.365 -6.20989 -1.54243 30.1087 -38.37 -5.98046 -1.47929 29.7535 -38.375 -5.75947 -1.42844 29.4002 -38.38 -5.54712 -1.38826 29.0495 -38.385 -5.34353 -1.35763 28.7018 -38.39 -5.14873 -1.33691 28.3568 -38.395 -4.96268 -1.32545 28.0147 -38.4 -4.78535 -1.32249 27.6758 -38.405 -4.61668 -1.32735 27.3401 -38.41 -4.45658 -1.33938 27.008 -38.415 -4.30498 -1.35797 26.6795 -38.42 -4.16176 -1.38256 26.3548 -38.425 -4.02682 -1.41263 26.0341 -38.43 -3.90002 -1.4477 25.7173 -38.435 -3.78122 -1.48734 25.4047 -38.44 -3.67026 -1.53115 25.0961 -38.445 -3.56698 -1.57879 24.7918 -38.45 -3.47118 -1.62994 24.4915 -38.455 -3.38268 -1.68436 24.1954 -38.46 -3.30124 -1.74182 23.9035 -38.465 -3.22655 -1.8022 23.6156 -38.47 -3.15831 -1.86542 23.3319 -38.475 -3.09641 -1.93133 23.0524 -38.48 -3.04073 -1.9998 22.7771 -38.485 -2.99115 -2.07071 22.506 -38.49 -2.94754 -2.14401 22.239 -38.495 -2.90978 -2.21961 21.9762 -38.5 -2.87773 -2.29751 21.7176 -38.505 -2.85125 -2.37769 21.4632 -38.51 -2.83021 -2.46017 21.213 -38.515 -2.81445 -2.54499 20.9671 -38.52 -2.80383 -2.63223 20.7255 -38.525 -2.7982 -2.72199 20.4883 -38.53 -2.79739 -2.81437 20.2553 -38.535 -2.80125 -2.90952 20.0268 -38.54 -2.8096 -3.00762 19.8028 -38.545 -2.82229 -3.10886 19.5833 -38.55 -2.83914 -3.21345 19.3683 -38.555 -2.86003 -3.32159 19.1581 -38.56 -2.88509 -3.43327 18.9526 -38.565 -2.91437 -3.54862 18.7519 -38.57 -2.94788 -3.66776 18.5562 -38.575 -2.98565 -3.79086 18.3655 -38.58 -3.02771 -3.91805 18.1798 -38.585 -3.07408 -4.04952 17.9995 -38.59 -3.12479 -4.18543 17.8244 -38.595 -3.17987 -4.32596 17.655 -38.6 -3.23934 -4.47132 17.4912 -38.605 -3.30322 -4.62169 17.3333 -38.61 -3.37156 -4.77728 17.1815 -38.615 -3.44437 -4.93833 17.0361 -38.62 -3.52169 -5.10505 16.8973 -38.625 -3.60355 -5.27767 16.7652 -38.63 -3.68998 -5.45645 16.6404 -38.635 -3.78101 -5.64164 16.5229 -38.64 -3.87667 -5.8335 16.4131 -38.645 -3.977 -6.03225 16.3115 -38.65 -4.08215 -6.23761 16.2182 -38.655 -4.19231 -6.44983 16.1338 -38.66 -4.30762 -6.66927 16.0586 -38.665 -4.42824 -6.89622 15.9931 -38.67 -4.55431 -7.13094 15.9378 -38.675 -4.68595 -7.37361 15.8932 -38.68 -4.82328 -7.62437 15.8599 -38.685 -4.96641 -7.88329 15.8384 -38.69 -5.11543 -8.1504 15.8294 -38.695 -5.27044 -8.42564 15.8335 -38.7 -5.43151 -8.70893 15.8515 -38.705 -5.59871 -9.00012 15.8841 -38.71 -5.7721 -9.29898 15.932 -38.715 -5.95171 -9.60526 15.996 -38.72 -6.13759 -9.91862 16.077 -38.725 -6.32977 -10.2387 16.1758 -38.73 -6.52825 -10.565 16.2934 -38.735 -6.73305 -10.8971 16.4306 -38.74 -6.94416 -11.2344 16.5885 -38.745 -7.16156 -11.5764 16.768 -38.75 -7.38524 -11.9222 16.9703 -38.755 -7.61493 -12.2714 17.1956 -38.76 -7.85014 -12.6229 17.4439 -38.765 -8.09079 -12.9752 17.7171 -38.77 -8.33676 -13.3266 18.0165 -38.775 -8.5878 -13.6753 18.3433 -38.78 -8.84359 -14.0195 18.6986 -38.785 -9.1037 -14.3572 19.0831 -38.79 -9.36759 -14.6863 19.4971 -38.795 -9.63466 -15.0046 19.9408 -38.8 -9.90418 -15.3098 20.4142 -38.805 -10.1753 -15.5995 20.9169 -38.81 -10.4472 -15.8712 21.4482 -38.815 -10.7188 -16.1223 22.0074 -38.82 -10.989 -16.3501 22.5932 -38.825 -11.2565 -16.5517 23.2043 -38.83 -11.5202 -16.7243 23.839 -38.835 -11.7786 -16.8648 24.4953 -38.84 -12.0301 -16.9701 25.171 -38.845 -12.2733 -17.0369 25.8638 -38.85 -12.5067 -17.062 26.5712 -38.855 -12.7297 -17.0431 27.2913 -38.86 -12.9404 -16.9788 28.0184 -38.865 -13.1367 -16.8683 28.7468 -38.87 -13.3167 -16.7111 29.4708 -38.875 -13.4786 -16.5072 30.1852 -38.88 -13.6211 -16.2568 30.8851 -38.885 -13.7427 -15.9607 31.5657 -38.89 -13.8422 -15.6199 32.2226 -38.895 -13.9187 -15.236 32.8515 -38.9 -13.9712 -14.8108 33.4485 -38.905 -13.9993 -14.3465 34.01 -38.91 -14.0023 -13.8458 34.5326 -38.915 -13.9801 -13.3118 35.0131 -38.92 -13.9325 -12.7479 35.4487 -38.925 -13.8595 -12.1578 35.8368 -38.93 -13.7614 -11.546 36.1749 -38.935 -13.6375 -10.9197 36.4591 -38.94 -13.4888 -10.2849 36.6893 -38.945 -13.3163 -9.64695 36.8661 -38.95 -13.1215 -9.01066 36.9907 -38.955 -12.9055 -8.38054 37.0644 -38.96 -12.6699 -7.76071 37.0887 -38.965 -12.4161 -7.15492 37.0655 -38.97 -12.1457 -6.56654 36.9969 -38.975 -11.8602 -5.99859 36.8851 -38.98 -11.5613 -5.45372 36.7329 -38.985 -11.2508 -4.93419 36.5429 -38.99 -10.9305 -4.4419 36.3184 -38.995 -10.6022 -3.97839 36.0626 -39 -10.2678 -3.54482 35.7793 -39.005 -9.92941 -3.14197 35.4721 -39.01 -9.58898 -2.77021 35.1452 -39.015 -9.24794 -2.42849 34.8017 -39.02 -8.90761 -2.11596 34.4438 -39.025 -8.56936 -1.83193 34.0739 -39.03 -8.23444 -1.57561 33.694 -39.035 -7.904 -1.34604 33.3062 -39.04 -7.57909 -1.14216 32.9124 -39.045 -7.26066 -0.962779 32.5143 -39.05 -6.94955 -0.806578 32.1134 -39.055 -6.64649 -0.672108 31.7113 -39.06 -6.35212 -0.557795 31.3092 -39.065 -6.06696 -0.461939 30.9084 -39.07 -5.79144 -0.382711 30.5097 -39.075 -5.52589 -0.318158 30.1143 -39.08 -5.27052 -0.266198 29.7227 -39.085 -5.02547 -0.225585 29.3353 -39.09 -4.79077 -0.196355 28.952 -39.095 -4.56637 -0.177463 28.573 -39.1 -4.3522 -0.1679 28.1984 -39.105 -4.14816 -0.16672 27.8284 -39.11 -3.95412 -0.173036 27.4632 -39.115 -3.76995 -0.186024 27.1027 -39.12 -3.59549 -0.204921 26.7472 -39.125 -3.43056 -0.229027 26.3967 -39.13 -3.27495 -0.2577 26.051 -39.135 -3.12845 -0.290362 25.7104 -39.14 -2.9908 -0.326496 25.3746 -39.145 -2.86175 -0.365644 25.0436 -39.15 -2.74101 -0.407414 24.7174 -39.155 -2.62825 -0.45148 24.3958 -39.16 -2.52293 -0.497647 24.0787 -39.165 -2.4248 -0.545662 23.7662 -39.17 -2.3337 -0.595277 23.4582 -39.175 -2.24943 -0.646275 23.1545 -39.18 -2.1718 -0.698466 22.8552 -39.185 -2.10061 -0.751693 22.5602 -39.19 -2.03565 -0.805827 22.2694 -39.195 -1.97671 -0.860768 21.9828 -39.2 -1.92357 -0.916447 21.7003 -39.205 -1.87599 -0.972825 21.4218 -39.21 -1.83374 -1.02989 21.1474 -39.215 -1.79657 -1.08767 20.8769 -39.22 -1.76423 -1.1462 20.6103 -39.225 -1.73646 -1.20558 20.3477 -39.23 -1.71299 -1.2659 20.0888 -39.235 -1.69354 -1.32731 19.8338 -39.24 -1.67784 -1.38998 19.5825 -39.245 -1.66559 -1.4541 19.3349 -39.25 -1.65678 -1.51971 19.0911 -39.255 -1.6515 -1.58678 18.851 -39.26 -1.64972 -1.65537 18.6147 -39.265 -1.65138 -1.72557 18.382 -39.27 -1.65644 -1.79746 18.153 -39.275 -1.66487 -1.87117 17.9277 -39.28 -1.67661 -1.9468 17.7062 -39.285 -1.69162 -2.0245 17.4883 -39.29 -1.70986 -2.10443 17.2741 -39.295 -1.73128 -2.18673 17.0636 -39.3 -1.75585 -2.27161 16.8569 -39.305 -1.7835 -2.35924 16.654 -39.31 -1.81419 -2.44983 16.4549 -39.315 -1.84789 -2.54361 16.2597 -39.32 -1.88453 -2.64082 16.0683 -39.325 -1.92408 -2.7417 15.881 -39.33 -1.96653 -2.84648 15.6976 -39.335 -2.01205 -2.95526 15.5185 -39.34 -2.06072 -3.06824 15.3435 -39.345 -2.11262 -3.18562 15.1727 -39.35 -2.16782 -3.30763 15.0063 -39.355 -2.2264 -3.43448 14.8444 -39.36 -2.28846 -3.56643 14.687 -39.365 -2.35409 -3.70371 14.5344 -39.37 -2.42338 -3.84657 14.3866 -39.375 -2.49644 -3.99528 14.2438 -39.38 -2.57337 -4.1501 14.1064 -39.385 -2.65429 -4.31132 13.9744 -39.39 -2.73931 -4.47922 13.8481 -39.395 -2.82857 -4.65408 13.7278 -39.4 -2.92219 -4.83623 13.6137 -39.405 -3.02029 -5.02596 13.5061 -39.41 -3.12303 -5.22359 13.4055 -39.415 -3.23055 -5.42946 13.312 -39.42 -3.34299 -5.6432 13.2262 -39.425 -3.46054 -5.86443 13.1486 -39.43 -3.58346 -6.09398 13.0796 -39.435 -3.71196 -6.33261 13.0196 -39.44 -3.84628 -6.58097 12.969 -39.445 -3.98662 -6.83965 12.9285 -39.45 -4.13319 -7.10912 12.8985 -39.455 -4.28619 -7.38977 12.8797 -39.46 -4.44581 -7.6819 12.8728 -39.465 -4.61223 -7.98571 12.8787 -39.47 -4.78562 -8.30133 12.8981 -39.475 -4.96614 -8.62878 12.932 -39.48 -5.15395 -8.96798 12.9813 -39.485 -5.3492 -9.31878 13.0471 -39.49 -5.55202 -9.68092 13.1305 -39.495 -5.76254 -10.0541 13.2327 -39.5 -5.98088 -10.4378 13.3547 -39.505 -6.20716 -10.8316 13.4981 -39.51 -6.44148 -11.2347 13.664 -39.515 -6.68394 -11.6467 13.854 -39.52 -6.93461 -12.0665 14.0694 -39.525 -7.19359 -12.4933 14.3119 -39.53 -7.46094 -12.9262 14.583 -39.535 -7.73672 -13.3641 14.8844 -39.54 -8.02099 -13.8058 15.2178 -39.545 -8.31374 -14.25 15.585 -39.55 -8.61384 -14.6956 15.9854 -39.555 -8.92067 -15.1399 16.4206 -39.56 -9.23392 -15.5798 16.8928 -39.565 -9.55311 -16.0118 17.4038 -39.57 -9.87761 -16.4327 17.9549 -39.575 -10.2066 -16.8388 18.5467 -39.58 -10.5392 -17.2265 19.1796 -39.585 -10.8743 -17.5919 19.8533 -39.59 -11.2105 -17.9311 20.567 -39.595 -11.5465 -18.2401 21.3195 -39.6 -11.8807 -18.5147 22.109 -39.605 -12.2112 -18.7505 22.9333 -39.61 -12.5362 -18.9431 23.7894 -39.615 -12.8537 -19.088 24.6742 -39.62 -13.1613 -19.1805 25.5839 -39.625 -13.4567 -19.2157 26.5142 -39.63 -13.7374 -19.1888 27.4604 -39.635 -14.0025 -19.0951 28.4194 -39.64 -14.2492 -18.9333 29.3825 -39.645 -14.4745 -18.7033 30.3403 -39.65 -14.6757 -18.4054 31.2838 -39.655 -14.8504 -18.0405 32.2046 -39.66 -14.9964 -17.6103 33.0951 -39.665 -15.1119 -17.1169 33.9481 -39.67 -15.1954 -16.5631 34.7569 -39.675 -15.2458 -15.9523 35.5155 -39.68 -15.2622 -15.2885 36.2186 -39.685 -15.2439 -14.5763 36.8613 -39.69 -15.1909 -13.8208 37.4393 -39.695 -15.103 -13.0278 37.9489 -39.7 -14.9808 -12.2038 38.3871 -39.705 -14.8244 -11.3571 38.7503 -39.71 -14.6336 -10.4999 39.0354 -39.715 -14.4102 -9.64088 39.2438 -39.72 -14.1562 -8.78754 39.3781 -39.725 -13.8737 -7.94686 39.4407 -39.73 -13.5648 -7.12512 39.4348 -39.735 -13.2317 -6.32795 39.3638 -39.74 -12.8768 -5.56028 39.2316 -39.745 -12.5025 -4.82639 39.0425 -39.75 -12.1113 -4.1299 38.8011 -39.755 -11.7058 -3.47376 38.5125 -39.76 -11.2887 -2.86025 38.1821 -39.765 -10.8629 -2.29097 37.8158 -39.77 -10.4311 -1.76689 37.4198 -39.775 -9.99636 -1.28823 37.0007 -39.78 -9.56081 -0.853261 36.5629 -39.785 -9.12634 -0.46009 36.1096 -39.79 -8.69487 -0.107191 35.6442 -39.795 -8.26819 0.207131 35.1701 -39.8 -7.84788 0.484736 34.6901 -39.805 -7.43538 0.727654 34.2068 -39.81 -7.03193 0.938082 33.7227 -39.815 -6.63863 1.11838 33.2398 -39.82 -6.25639 1.2711 32.7599 -39.825 -5.88597 1.39891 32.2845 -39.83 -5.52795 1.50471 31.8149 -39.835 -5.18273 1.59151 31.3519 -39.84 -4.8506 1.66172 30.8961 -39.845 -4.53176 1.71606 30.4477 -39.85 -4.22617 1.75625 30.0068 -39.855 -3.93379 1.784 29.5735 -39.86 -3.65451 1.80088 29.148 -39.865 -3.38819 1.80837 28.7303 -39.87 -3.13462 1.80783 28.3203 -39.875 -2.89359 1.80052 27.9181 -39.88 -2.66481 1.78758 27.5236 -39.885 -2.44797 1.77006 27.1365 -39.89 -2.24269 1.74889 26.7567 -39.895 -2.04858 1.72488 26.3839 -39.9 -1.86517 1.69875 26.0178 -39.905 -1.69187 1.67116 25.6583 -39.91 -1.52826 1.64265 25.3052 -39.915 -1.37396 1.6137 24.9583 -39.92 -1.22858 1.58474 24.6173 -39.925 -1.09173 1.55618 24.2822 -39.93 -0.963013 1.52838 23.9527 -39.935 -0.842016 1.50165 23.6286 -39.94 -0.72833 1.47629 23.3099 -39.945 -0.621538 1.45252 22.9963 -39.95 -0.521213 1.43056 22.6877 -39.955 -0.426926 1.41056 22.3839 -39.96 -0.338237 1.39266 22.0849 -39.965 -0.254704 1.37693 21.7904 -39.97 -0.175876 1.36343 21.5004 -39.975 -0.101295 1.35216 21.2147 -39.98 -0.030549 1.34311 20.9333 -39.985 0.036582 1.33637 20.656 -39.99 0.100291 1.33204 20.3828 -39.995 0.16078 1.33018 20.1136 -40 0.218257 1.33087 19.8484 -40.005 0.272935 1.33416 19.5871 -40.01 0.325036 1.3401 19.3297 -40.015 0.37479 1.34871 19.0761 -40.02 0.42243 1.36003 18.8262 -40.025 0.468199 1.37406 18.58 -40.03 0.512346 1.39081 18.3374 -40.035 0.555127 1.41026 18.0984 -40.04 0.596803 1.43238 17.8629 -40.045 0.637645 1.45716 17.6309 -40.05 0.677928 1.48454 17.4022 -40.055 0.717919 1.51448 17.1769 -40.06 0.757641 1.54711 16.955 -40.065 0.797145 1.58255 16.7365 -40.07 0.836543 1.62087 16.5213 -40.075 0.87595 1.66215 16.3095 -40.08 0.915487 1.70646 16.1009 -40.085 0.95528 1.75388 15.8957 -40.09 0.995462 1.8045 15.6938 -40.095 1.03617 1.8584 15.4952 -40.1 1.07754 1.91565 15.2999 -40.105 1.11973 1.97634 15.1079 -40.11 1.16288 2.04057 14.9192 -40.115 1.20716 2.1084 14.7338 -40.12 1.25273 2.17994 14.5518 -40.125 1.29975 2.25527 14.3731 -40.13 1.34837 2.33451 14.1979 -40.135 1.39867 2.41787 14.026 -40.14 1.45074 2.50551 13.8577 -40.145 1.50467 2.59765 13.6929 -40.15 1.56055 2.69447 13.5317 -40.155 1.61851 2.79619 13.3741 -40.16 1.67867 2.90302 13.2202 -40.165 1.74117 3.01517 13.0702 -40.17 1.80614 3.13286 12.9241 -40.175 1.87375 3.25632 12.7821 -40.18 1.94415 3.38578 12.6443 -40.185 2.01754 3.52147 12.5108 -40.19 2.09408 3.66363 12.3818 -40.195 2.17398 3.81251 12.2575 -40.2 2.25744 3.96835 12.138 -40.205 2.34469 4.13141 12.0236 -40.21 2.43595 4.30195 11.9144 -40.215 2.5314 4.48007 11.8109 -40.22 2.6312 4.66617 11.7134 -40.225 2.73552 4.86074 11.622 -40.23 2.84453 5.06425 11.5371 -40.235 2.95842 5.27715 11.4589 -40.24 3.07738 5.49985 11.388 -40.245 3.20162 5.73275 11.3246 -40.25 3.33137 5.97622 11.2694 -40.255 3.46683 6.23061 11.2228 -40.26 3.60826 6.49624 11.1856 -40.265 3.75589 6.77341 11.1583 -40.27 3.90999 7.0624 11.1418 -40.275 4.07081 7.36345 11.1368 -40.28 4.23863 7.6768 11.1442 -40.285 4.41374 8.00264 11.1648 -40.29 4.59644 8.34114 11.1997 -40.295 4.78703 8.69248 11.2498 -40.3 4.98582 9.05676 11.3162 -40.305 5.19314 9.4341 11.4002 -40.31 5.40932 9.82458 11.5028 -40.315 5.63416 10.2274 11.6248 -40.32 5.86741 10.6417 11.7674 -40.325 6.10959 11.0681 11.9326 -40.33 6.36115 11.5069 12.1227 -40.335 6.6224 11.9579 12.3397 -40.34 6.89356 12.4207 12.5855 -40.345 7.17474 12.8943 12.862 -40.35 7.46594 13.3778 13.171 -40.355 7.76705 13.8696 13.5143 -40.36 8.07786 14.3679 13.8935 -40.365 8.39806 14.8704 14.3102 -40.37 8.72721 15.3748 14.7659 -40.375 9.06479 15.8781 15.262 -40.38 9.41014 16.3772 15.7999 -40.385 9.76254 16.8685 16.3809 -40.39 10.1211 17.3482 17.0062 -40.395 10.4849 17.812 17.6769 -40.4 10.8529 18.2554 18.394 -40.405 11.2238 18.6735 19.1586 -40.41 11.5964 19.061 19.9715 -40.415 11.9694 19.4134 20.8331 -40.42 12.3408 19.7276 21.74 -40.425 12.7084 19.9955 22.6889 -40.43 13.0695 20.2097 23.6756 -40.435 13.4215 20.3635 24.6957 -40.44 13.7618 20.4509 25.7438 -40.445 14.0879 20.4671 26.8141 -40.45 14.3969 20.408 27.9002 -40.455 14.6864 20.2704 28.9948 -40.46 14.9533 20.052 30.0904 -40.465 15.1951 19.7514 31.1785 -40.47 15.409 19.3679 32.2501 -40.475 15.5919 18.902 33.2957 -40.48 15.7412 18.3547 34.3049 -40.485 15.8539 17.728 35.267 -40.49 15.9286 17.0189 36.1689 -40.495 15.964 16.2371 37.0026 -40.5 15.9589 15.3964 37.7626 -40.505 15.9124 14.5096 38.4443 -40.51 15.8243 13.5883 39.044 -40.515 15.6946 12.6435 39.559 -40.52 15.5242 11.6846 39.9871 -40.525 15.3139 10.7203 40.3275 -40.53 15.0655 9.75815 40.5799 -40.535 14.781 8.80469 40.745 -40.54 14.4629 7.86538 40.8245 -40.545 14.1142 6.94464 40.8208 -40.55 13.7385 6.04583 40.7372 -40.555 13.3395 5.17128 40.5781 -40.56 12.9201 4.32902 40.3507 -40.565 12.4809 3.53354 40.0652 -40.57 12.0257 2.78806 39.7281 -40.575 11.5577 2.09476 39.3457 -40.58 11.0803 1.45499 38.9241 -40.585 10.5964 0.869277 38.4695 -40.59 10.109 0.337344 37.9877 -40.595 9.62073 -0.141912 37.4846 -40.6 9.13404 -0.570408 36.9659 -40.605 8.65124 -0.950881 36.4371 -40.61 8.17444 -1.28689 35.9038 -40.615 7.70558 -1.58251 35.3709 -40.62 7.24628 -1.8396 34.8391 -40.625 6.79778 -2.0608 34.3098 -40.63 6.36113 -2.24911 33.785 -40.635 5.93725 -2.40743 33.2663 -40.64 5.52689 -2.53861 32.755 -40.645 5.13068 -2.64538 32.2524 -40.65 4.7491 -2.73038 31.7591 -40.655 4.38246 -2.79617 31.2758 -40.66 4.03096 -2.84522 30.8029 -40.665 3.69464 -2.8799 30.3403 -40.67 3.37338 -2.90252 29.8879 -40.675 3.06702 -2.91498 29.4456 -40.68 2.77529 -2.91869 29.0135 -40.685 2.49779 -2.91503 28.5912 -40.69 2.23411 -2.90529 28.1785 -40.695 1.98381 -2.89068 27.775 -40.7 1.74645 -2.8723 27.3804 -40.705 1.52158 -2.85118 26.9944 -40.71 1.30872 -2.82827 26.6167 -40.715 1.10738 -2.80441 26.247 -40.72 0.917052 -2.78035 25.8851 -40.725 0.737223 -2.75678 25.5307 -40.73 0.567356 -2.73427 25.1835 -40.735 0.4069 -2.71332 24.8432 -40.74 0.25529 -2.69434 24.5096 -40.745 0.111945 -2.67764 24.1825 -40.75 -0.023736 -2.66346 23.8617 -40.755 -0.152359 -2.65206 23.5467 -40.76 -0.274353 -2.64368 23.2376 -40.765 -0.390115 -2.63854 22.9341 -40.77 -0.500044 -2.63684 22.6361 -40.775 -0.604543 -2.63875 22.3435 -40.78 -0.704018 -2.64441 22.0562 -40.785 -0.798877 -2.65397 21.774 -40.79 -0.889531 -2.66753 21.4969 -40.795 -0.976396 -2.68519 21.2247 -40.8 -1.05989 -2.70702 20.9574 -40.805 -1.14043 -2.73306 20.6948 -40.81 -1.21844 -2.76336 20.437 -40.815 -1.29435 -2.79792 20.1837 -40.82 -1.36858 -2.83674 19.935 -40.825 -1.44136 -2.87989 19.6909 -40.83 -1.51291 -2.9275 19.4514 -40.835 -1.58343 -2.97967 19.2164 -40.84 -1.65314 -3.03648 18.986 -40.845 -1.72228 -3.09805 18.7602 -40.85 -1.79109 -3.16445 18.5391 -40.855 -1.85979 -3.23579 18.3226 -40.86 -1.92864 -3.31215 18.1107 -40.865 -1.99789 -3.39362 17.9036 -40.87 -2.0678 -3.48028 17.7013 -40.875 -2.13862 -3.57222 17.5038 -40.88 -2.21062 -3.6695 17.3111 -40.885 -2.28408 -3.7722 17.1235 -40.89 -2.35928 -3.88041 16.9408 -40.895 -2.4364 -3.99423 16.7633 -40.9 -2.51558 -4.11388 16.5911 -40.905 -2.59693 -4.23959 16.4244 -40.91 -2.68062 -4.37157 16.2632 -40.915 -2.76678 -4.51001 16.1078 -40.92 -2.85558 -4.65513 15.9584 -40.925 -2.9472 -4.80712 15.8151 -40.93 -3.04182 -4.96618 15.6783 -40.935 -3.13964 -5.13248 15.5481 -40.94 -3.24086 -5.30621 15.4249 -40.945 -3.34569 -5.48754 15.3089 -40.95 -3.45438 -5.67664 15.2005 -40.955 -3.56714 -5.87367 15.1 -40.96 -3.68424 -6.0788 15.0078 -40.965 -3.80592 -6.29217 14.9242 -40.97 -3.93245 -6.51394 14.8496 -40.975 -4.064 -6.74403 14.7846 -40.98 -4.20063 -6.98255 14.7295 -40.985 -4.34254 -7.22994 14.685 -40.99 -4.48991 -7.48656 14.6518 -40.995 -4.64293 -7.75269 14.6304 -41 -4.80176 -8.0285 14.6216 -41.005 -4.96656 -8.31412 14.6262 -41.01 -5.13748 -8.60956 14.6448 -41.015 -5.31465 -8.91476 14.6783 -41.02 -5.49821 -9.22959 14.7275 -41.025 -5.68826 -9.55383 14.7934 -41.03 -5.88492 -9.88716 14.8769 -41.035 -6.08828 -10.2292 14.979 -41.04 -6.29844 -10.5795 15.1007 -41.045 -6.51546 -10.9374 15.243 -41.05 -6.73942 -11.3024 15.4071 -41.055 -6.97038 -11.6737 15.594 -41.06 -7.20838 -12.0506 15.805 -41.065 -7.45346 -12.432 16.0413 -41.07 -7.70559 -12.8172 16.3039 -41.075 -7.96395 -13.2055 16.5925 -41.08 -8.22828 -13.5952 16.9085 -41.085 -8.49848 -13.9843 17.2541 -41.09 -8.77434 -14.3705 17.6308 -41.095 -9.05551 -14.7515 18.04 -41.1 -9.34153 -15.1248 18.4827 -41.105 -9.6318 -15.4879 18.9594 -41.11 -9.92562 -15.838 19.4704 -41.115 -10.2222 -16.1723 20.0157 -41.12 -10.5204 -16.488 20.5947 -41.125 -10.8194 -16.782 21.2068 -41.13 -11.1178 -17.051 21.8507 -41.135 -11.4144 -17.2919 22.5251 -41.14 -11.7077 -17.5012 23.2279 -41.145 -11.9961 -17.6754 23.9572 -41.15 -12.278 -17.8109 24.7102 -41.155 -12.5515 -17.9038 25.4842 -41.16 -12.8147 -17.9504 26.2758 -41.165 -13.0655 -17.9467 27.0817 -41.17 -13.3033 -17.889 27.8994 -41.175 -13.5263 -17.7764 28.7228 -41.18 -13.7318 -17.6084 29.5443 -41.185 -13.9176 -17.3852 30.357 -41.19 -14.0817 -17.1074 31.1542 -41.195 -14.2223 -16.776 31.9298 -41.2 -14.338 -16.3924 32.678 -41.205 -14.4273 -15.9586 33.3934 -41.21 -14.4893 -15.4768 34.0712 -41.215 -14.5231 -14.9497 34.7069 -41.22 -14.5281 -14.3806 35.2964 -41.225 -14.504 -13.773 35.836 -41.23 -14.4508 -13.131 36.3226 -41.235 -14.3684 -12.4589 36.7534 -41.24 -14.2575 -11.7619 37.1259 -41.245 -14.118 -11.0462 37.4376 -41.25 -13.9498 -10.3217 37.6857 -41.255 -13.7543 -9.59495 37.8712 -41.26 -13.5332 -8.87174 37.9957 -41.265 -13.2881 -8.15749 38.061 -41.27 -13.0208 -7.45708 38.0694 -41.275 -12.7331 -6.77496 38.0233 -41.28 -12.4269 -6.11507 37.9254 -41.285 -12.104 -5.48091 37.779 -41.29 -11.7666 -4.87549 37.5874 -41.295 -11.4166 -4.30135 37.3542 -41.3 -11.0562 -3.76055 37.0836 -41.305 -10.6875 -3.2547 36.7798 -41.31 -10.3128 -2.78491 36.4476 -41.315 -9.93444 -2.35184 36.0917 -41.32 -9.55464 -1.95552 35.7174 -41.325 -9.17505 -1.59412 35.3272 -41.33 -8.79721 -1.26631 34.9236 -41.335 -8.42261 -0.970988 34.5093 -41.34 -8.05264 -0.706894 34.0867 -41.345 -7.68855 -0.472664 33.6581 -41.35 -7.33147 -0.2668 33.2254 -41.355 -6.98238 -0.0876804 32.7906 -41.36 -6.64216 0.066444 32.3554 -41.365 -6.31157 0.197447 31.9211 -41.37 -5.99122 0.30733 31.4892 -41.375 -5.68161 0.398219 31.0606 -41.38 -5.38311 0.472366 30.6364 -41.385 -5.09597 0.53215 30.2171 -41.39 -4.82032 0.579221 29.8032 -41.395 -4.55624 0.61383 29.3947 -41.4 -4.30364 0.63725 28.9917 -41.405 -4.06242 0.650708 28.5944 -41.41 -3.83247 0.655355 28.2028 -41.415 -3.61363 0.652265 27.8171 -41.42 -3.40572 0.642435 27.4373 -41.425 -3.20853 0.626783 27.0633 -41.43 -3.02183 0.60615 26.6953 -41.435 -2.84535 0.5813 26.333 -41.44 -2.67881 0.552919 25.9765 -41.445 -2.52189 0.521615 25.6256 -41.45 -2.37426 0.48792 25.2801 -41.455 -2.23553 0.452289 24.94 -41.46 -2.10525 0.415111 24.605 -41.465 -1.98306 0.376734 24.275 -41.47 -1.86867 0.337468 23.9501 -41.475 -1.76179 0.297593 23.63 -41.48 -1.6621 0.257356 23.3146 -41.485 -1.56931 0.216972 23.0039 -41.49 -1.4831 0.176625 22.6978 -41.495 -1.40317 0.136466 22.396 -41.5 -1.32919 0.0966155 22.0986 -41.505 -1.26086 0.0571604 21.8055 -41.51 -1.19785 0.0181567 21.5165 -41.515 -1.13984 -0.0203718 21.2316 -41.52 -1.0865 -0.0584331 20.9506 -41.525 -1.0375 -0.0960673 20.6735 -41.53 -0.992527 -0.133338 20.4003 -41.535 -0.951386 -0.170238 20.1308 -41.54 -0.913944 -0.206744 19.8651 -41.545 -0.880061 -0.242856 19.6029 -41.55 -0.849593 -0.278585 19.3444 -41.555 -0.822396 -0.313954 19.0894 -41.56 -0.798323 -0.348999 18.8379 -41.565 -0.777227 -0.383768 18.5899 -41.57 -0.758959 -0.418323 18.3452 -41.575 -0.743369 -0.452736 18.1039 -41.58 -0.730303 -0.487095 17.8659 -41.585 -0.71961 -0.521496 17.6311 -41.59 -0.711134 -0.556053 17.3996 -41.595 -0.704719 -0.590887 17.1712 -41.6 -0.700206 -0.626135 16.9459 -41.605 -0.697471 -0.661922 16.7237 -41.61 -0.696546 -0.698263 16.5045 -41.615 -0.69741 -0.735212 16.2884 -41.62 -0.700037 -0.772837 16.0753 -41.625 -0.704398 -0.811213 15.8651 -41.63 -0.710466 -0.850424 15.6579 -41.635 -0.718215 -0.890557 15.4536 -41.64 -0.727618 -0.931713 15.2522 -41.645 -0.738652 -0.973994 15.0537 -41.65 -0.751289 -1.01751 14.858 -41.655 -0.765507 -1.06239 14.6651 -41.66 -0.781282 -1.10875 14.4751 -41.665 -0.798591 -1.15673 14.2878 -41.67 -0.81741 -1.20647 14.1033 -41.675 -0.837719 -1.25812 13.9216 -41.68 -0.859527 -1.31182 13.7426 -41.685 -0.882909 -1.36766 13.5664 -41.69 -0.907908 -1.42576 13.3929 -41.695 -0.934568 -1.48623 13.2222 -41.7 -0.962936 -1.54921 13.0543 -41.705 -0.993062 -1.61485 12.8891 -41.71 -1.025 -1.68328 12.7266 -41.715 -1.05881 -1.75468 12.5669 -41.72 -1.09456 -1.82921 12.41 -41.725 -1.1323 -1.90704 12.256 -41.73 -1.17211 -1.98838 12.1048 -41.735 -1.21406 -2.0734 11.9565 -41.74 -1.25822 -2.16233 11.8111 -41.745 -1.30468 -2.25537 11.6687 -41.75 -1.35352 -2.35275 11.5293 -41.755 -1.40483 -2.45471 11.3931 -41.76 -1.4587 -2.56148 11.2601 -41.765 -1.51523 -2.67329 11.1303 -41.77 -1.5747 -2.79018 11.0041 -41.775 -1.63723 -2.91244 10.8815 -41.78 -1.70291 -3.04042 10.7625 -41.785 -1.77184 -3.17448 10.6472 -41.79 -1.84415 -3.31497 10.5357 -41.795 -1.91995 -3.46226 10.4281 -41.8 -1.9994 -3.6167 10.3245 -41.805 -2.08265 -3.77867 10.2251 -41.81 -2.16986 -3.94853 10.1302 -41.815 -2.26123 -4.12665 10.0401 -41.82 -2.35694 -4.31341 9.95493 -41.825 -2.45719 -4.50918 9.87519 -41.83 -2.56222 -4.71434 9.8012 -41.835 -2.67224 -4.92928 9.73339 -41.84 -2.78751 -5.15437 9.67221 -41.845 -2.90828 -5.39 9.61815 -41.85 -3.03483 -5.63656 9.57172 -41.855 -3.16743 -5.89445 9.5335 -41.86 -3.30638 -6.16405 9.50408 -41.865 -3.452 -6.44576 9.4841 -41.87 -3.6046 -6.73999 9.47423 -41.875 -3.76451 -7.04713 9.47518 -41.88 -3.93209 -7.36758 9.4877 -41.885 -4.10769 -7.70175 9.51257 -41.89 -4.29112 -8.0485 9.55085 -41.895 -4.48255 -8.40802 9.60376 -41.9 -4.68253 -8.78162 9.67251 -41.905 -4.89153 -9.17036 9.75837 -41.91 -5.11 -9.575 9.86271 -41.915 -5.33831 -9.99603 9.98701 -41.92 -5.57679 -10.4337 10.1328 -41.925 -5.82569 -10.888 10.3017 -41.93 -6.08524 -11.3585 10.4954 -41.935 -6.35557 -11.8447 10.7158 -41.94 -6.63679 -12.3458 10.9646 -41.945 -6.92894 -12.8606 11.2439 -41.95 -7.23201 -13.3878 11.5558 -41.955 -7.54592 -13.9256 11.9023 -41.96 -7.87054 -14.4721 12.2857 -41.965 -8.2057 -15.0251 12.7083 -41.97 -8.55115 -15.5822 13.1725 -41.975 -8.90661 -16.1405 13.6807 -41.98 -9.27171 -16.6972 14.2355 -41.985 -9.64606 -17.2488 14.8397 -41.99 -10.0292 -17.7918 15.4958 -41.995 -10.4205 -18.3225 16.2066 -42 -10.8186 -18.838 16.971 -42.005 -11.2216 -19.3317 17.789 -42.01 -11.6281 -19.7959 18.6616 -42.015 -12.0364 -20.223 19.589 -42.02 -12.4445 -20.6058 20.5698 -42.025 -12.8502 -20.9373 21.6021 -42.03 -13.2511 -21.2108 22.6824 -42.035 -13.6446 -21.4199 23.8066 -42.04 -14.0279 -21.5583 24.9693 -42.045 -14.3978 -21.6202 26.1639 -42.05 -14.751 -21.5999 27.383 -42.055 -15.084 -21.4922 28.618 -42.06 -15.3931 -21.2918 29.8593 -42.065 -15.6742 -20.9938 31.0961 -42.07 -15.9255 -20.5881 32.3199 -42.075 -16.1436 -20.0771 33.5174 -42.08 -16.3246 -19.4701 34.6735 -42.085 -16.4652 -18.7759 35.7749 -42.09 -16.5627 -18.0032 36.8098 -42.095 -16.6149 -17.1606 37.768 -42.1 -16.6206 -16.2563 38.6411 -42.105 -16.5789 -15.2985 39.4219 -42.11 -16.4896 -14.2952 40.1052 -42.115 -16.3533 -13.254 40.6871 -42.12 -16.171 -12.1826 41.1655 -42.125 -15.9446 -11.0882 41.5398 -42.13 -15.6765 -9.97802 41.8109 -42.135 -15.3696 -8.85918 41.9816 -42.14 -15.0244 -7.75197 42.053 -42.145 -14.6425 -6.67415 42.0288 -42.15 -14.2278 -5.63446 41.9155 -42.155 -13.784 -4.64035 41.7196 -42.16 -13.315 -3.69801 41.4484 -42.165 -12.8245 -2.81242 41.1094 -42.17 -12.3162 -1.98725 40.7109 -42.175 -11.7938 -1.22495 40.2612 -42.18 -11.2609 -0.526713 39.7694 -42.185 -10.7213 0.107539 39.2449 -42.19 -10.1785 0.679125 38.6976 -42.195 -9.63602 1.19061 38.1373 -42.2 -9.09669 1.64518 37.5665 -42.205 -8.56287 2.04601 36.9885 -42.21 -8.03676 2.39636 36.4072 -42.215 -7.52032 2.69958 35.8264 -42.22 -7.0153 2.95913 35.2492 -42.225 -6.52321 3.17853 34.6783 -42.23 -6.04529 3.36143 34.1161 -42.235 -5.58257 3.51156 33.5642 -42.24 -5.13586 3.63272 33.0241 -42.245 -4.70569 3.72883 32.4965 -42.25 -4.29239 3.80389 31.982 -42.255 -3.89615 3.86117 31.4806 -42.26 -3.51704 3.90203 30.9925 -42.265 -3.15482 3.9287 30.5174 -42.27 -2.8092 3.94331 30.0551 -42.275 -2.47986 3.94786 29.6053 -42.28 -2.16643 3.94418 29.1676 -42.285 -1.8685 3.93395 28.7416 -42.29 -1.58565 3.9187 28.3271 -42.295 -1.31738 3.89984 27.9235 -42.3 -1.06319 3.87859 27.5306 -42.305 -0.822513 3.85605 27.1479 -42.31 -0.594765 3.83316 26.7748 -42.315 -0.379313 3.81071 26.4111 -42.32 -0.17549 3.78935 26.0561 -42.325 0.0175104 3.76968 25.7095 -42.33 0.200408 3.75228 25.3709 -42.335 0.373718 3.73759 25.0401 -42.34 0.53796 3.72599 24.7168 -42.345 0.693661 3.71786 24.4007 -42.35 0.841352 3.71351 24.0916 -42.355 0.981571 3.71323 23.7894 -42.36 1.11486 3.7173 23.4938 -42.365 1.24177 3.72592 23.2045 -42.37 1.36285 3.7393 22.9215 -42.375 1.47866 3.75759 22.6446 -42.38 1.58977 3.78092 22.3737 -42.385 1.69675 3.80936 22.1086 -42.39 1.80017 3.84299 21.8491 -42.395 1.90062 3.88181 21.5953 -42.4 1.99849 3.92587 21.347 -42.405 2.09403 3.97526 21.1043 -42.41 2.18754 4.03011 20.8672 -42.415 2.27929 4.09052 20.6358 -42.42 2.36958 4.1566 20.41 -42.425 2.4587 4.22844 20.1899 -42.43 2.54698 4.30612 19.9756 -42.435 2.63472 4.38972 19.767 -42.44 2.72224 4.4793 19.5644 -42.445 2.80988 4.57491 19.3676 -42.45 2.89795 4.67662 19.1769 -42.455 2.98682 4.78445 18.9923 -42.46 3.07681 4.89844 18.8138 -42.465 3.16829 5.01861 18.6417 -42.47 3.26159 5.14497 18.4759 -42.475 3.35688 5.27763 18.3168 -42.48 3.45427 5.41677 18.1646 -42.485 3.55393 5.56257 18.0194 -42.49 3.65602 5.71519 17.8816 -42.495 3.76071 5.87479 17.7514 -42.5 3.86816 6.04147 17.6291 -42.505 3.97857 6.21536 17.515 -42.51 4.09211 6.39653 17.4094 -42.515 4.20899 6.58507 17.3126 -42.52 4.32941 6.78101 17.2252 -42.525 4.45357 6.98441 17.1473 -42.53 4.58168 7.19526 17.0795 -42.535 4.71398 7.41358 17.0221 -42.54 4.85069 7.63933 16.9756 -42.545 4.99205 7.87249 16.9405 -42.55 5.13829 8.11299 16.9173 -42.555 5.2894 8.36052 16.9062 -42.56 5.4454 8.61504 16.908 -42.565 5.60644 8.87668 16.9233 -42.57 5.77265 9.14546 16.9532 -42.575 5.94412 9.42129 16.9982 -42.58 6.12093 9.70396 17.0593 -42.585 6.30312 9.9932 17.1372 -42.59 6.49071 10.2886 17.2327 -42.595 6.68367 10.5896 17.3464 -42.6 6.88197 10.8956 17.4792 -42.605 7.08553 11.206 17.6318 -42.61 7.29427 11.5198 17.8048 -42.615 7.50804 11.8361 17.999 -42.62 7.7267 12.1539 18.2149 -42.625 7.95006 12.472 18.4534 -42.63 8.17791 12.7892 18.715 -42.635 8.41001 13.1042 19.0004 -42.64 8.6461 13.4154 19.3102 -42.645 8.88587 13.7213 19.6449 -42.65 9.12899 14.0203 20.0052 -42.655 9.37475 14.3118 20.3907 -42.66 9.62244 14.5935 20.8015 -42.665 9.87136 14.8625 21.2379 -42.67 10.1208 15.116 21.6996 -42.675 10.3698 15.3513 22.1863 -42.68 10.6176 15.5658 22.6972 -42.685 10.8632 15.7572 23.2314 -42.69 11.1056 15.923 23.7874 -42.695 11.3438 16.0611 24.3638 -42.7 11.5765 16.1694 24.9584 -42.705 11.8026 16.2459 25.5691 -42.71 12.0209 16.2887 26.1933 -42.715 12.23 16.296 26.8282 -42.72 12.4285 16.2664 27.4707 -42.725 12.6151 16.1981 28.1172 -42.73 12.7881 16.0898 28.764 -42.735 12.946 15.9403 29.4071 -42.74 13.0878 15.7464 30.0428 -42.745 13.2129 15.5064 30.6675 -42.75 13.3199 15.2238 31.276 -42.755 13.4074 14.9024 31.8636 -42.76 13.4743 14.5455 32.426 -42.765 13.5196 14.1568 32.9592 -42.77 13.5428 13.7394 33.4599 -42.775 13.5433 13.2965 33.925 -42.78 13.5208 12.8311 34.3519 -42.785 13.4754 12.3462 34.7383 -42.79 13.4071 11.8444 35.0827 -42.795 13.3163 11.3284 35.3835 -42.8 13.2037 10.8008 35.6399 -42.805 13.0699 10.2638 35.8515 -42.81 12.9161 9.71975 36.0182 -42.815 12.7434 9.17076 36.1403 -42.82 12.5533 8.61882 36.2187 -42.825 12.3473 8.06629 36.2547 -42.83 12.1246 7.5227 36.2499 -42.835 11.8863 6.99315 36.2057 -42.84 11.6342 6.48009 36.1236 -42.845 11.37 5.98572 36.0052 -42.85 11.0952 5.51194 35.8522 -42.855 10.8116 5.06038 35.6666 -42.86 10.5206 4.63242 35.4505 -42.865 10.2237 4.22913 35.2064 -42.87 9.92244 3.85133 34.9366 -42.875 9.61815 3.49955 34.644 -42.88 9.31219 3.17406 34.3313 -42.885 9.00584 2.87484 34.0017 -42.89 8.70034 2.6016 33.6584 -42.895 8.39689 2.35379 33.3049 -42.9 8.0966 2.13055 32.9447 -42.905 7.80058 1.93079 32.5816 -42.91 7.50987 1.75308 32.219 -42.915 7.22538 1.59583 31.8536 -42.92 6.9477 1.45787 31.4856 -42.925 6.6773 1.3381 31.116 -42.93 6.41463 1.23543 30.7458 -42.935 6.16006 1.14878 30.3757 -42.94 5.91393 1.0771 30.0065 -42.945 5.67653 1.01933 29.639 -42.95 5.44809 0.974429 29.2737 -42.955 5.22879 0.941376 28.9111 -42.96 5.01878 0.919154 28.5517 -42.965 4.81815 0.90676 28.1958 -42.97 4.62693 0.903202 27.8436 -42.975 4.44511 0.907501 27.4954 -42.98 4.27263 0.91869 27.1512 -42.985 4.10938 0.935814 26.811 -42.99 3.95512 0.958405 26.4748 -42.995 3.80959 0.986323 26.143 -43 3.67261 1.01908 25.8154 -43.005 3.54398 1.05622 25.4921 -43.01 3.42351 1.09732 25.1731 -43.015 3.311 1.14202 24.8584 -43.02 3.20625 1.18997 24.548 -43.025 3.10905 1.24087 24.2418 -43.03 3.01919 1.29446 23.9399 -43.035 2.93644 1.35051 23.6423 -43.04 2.86058 1.40885 23.349 -43.045 2.79138 1.46932 23.0599 -43.05 2.72861 1.53181 22.775 -43.055 2.67204 1.59625 22.4943 -43.06 2.6214 1.66261 22.2178 -43.065 2.57646 1.7309 21.9454 -43.07 2.53695 1.80115 21.6772 -43.075 2.50263 1.8734 21.4131 -43.08 2.47338 1.94762 21.1531 -43.085 2.44914 2.0238 20.8973 -43.09 2.42981 2.10196 20.6455 -43.095 2.41531 2.18212 20.3979 -43.1 2.40556 2.26434 20.1544 -43.105 2.40046 2.34868 19.915 -43.11 2.39993 2.43524 19.6798 -43.115 2.40386 2.52411 19.4487 -43.12 2.41215 2.61542 19.2218 -43.125 2.42472 2.70933 18.9992 -43.13 2.44146 2.806 18.7809 -43.135 2.46225 2.90561 18.5669 -43.14 2.48701 3.00837 18.3574 -43.145 2.5156 3.11449 18.1523 -43.15 2.54794 3.22423 17.9517 -43.155 2.58389 3.33784 17.7557 -43.16 2.6235 3.45548 17.5645 -43.165 2.66693 3.57721 17.3782 -43.17 2.71424 3.70322 17.1967 -43.175 2.76548 3.8337 17.0203 -43.18 2.8207 3.96885 16.849 -43.185 2.87997 4.10888 16.6831 -43.19 2.94334 4.254 16.5226 -43.195 3.01088 4.40444 16.3677 -43.2 3.08265 4.5604 16.2187 -43.205 3.15873 4.72213 16.0757 -43.21 3.23919 4.88985 15.9391 -43.215 3.32411 5.06381 15.809 -43.22 3.41356 5.24426 15.6858 -43.225 3.50764 5.43144 15.5697 -43.23 3.60642 5.62562 15.4612 -43.235 3.71 5.82707 15.3604 -43.24 3.81847 6.03604 15.2679 -43.245 3.93191 6.25268 15.1839 -43.25 4.05042 6.47648 15.109 -43.255 4.1742 6.70785 15.0435 -43.26 4.30346 6.94731 14.988 -43.265 4.43841 7.1953 14.9431 -43.27 4.57921 7.45218 14.9093 -43.275 4.72604 7.71821 14.8872 -43.28 4.87904 7.99357 14.8776 -43.285 5.03836 8.27836 14.8812 -43.29 5.20409 8.57261 14.8986 -43.295 5.37637 8.87623 14.9307 -43.3 5.55526 9.18908 14.9783 -43.305 5.74085 9.51091 15.0423 -43.31 5.93319 9.84139 15.1235 -43.315 6.13234 10.1801 15.223 -43.32 6.33831 10.5266 15.3416 -43.325 6.55112 10.8803 15.4805 -43.33 6.77077 11.2405 15.6407 -43.335 6.99724 11.6064 15.8232 -43.34 7.2305 11.9773 16.0293 -43.345 7.4705 12.3522 16.26 -43.35 7.71719 12.7301 16.5167 -43.355 7.97048 13.11 16.8005 -43.36 8.23028 13.4906 17.1128 -43.365 8.49601 13.8711 17.4536 -43.37 8.76703 14.2495 17.8233 -43.375 9.043 14.6234 18.2236 -43.38 9.32348 14.9898 18.6556 -43.385 9.60791 15.3462 19.1202 -43.39 9.89561 15.6896 19.618 -43.395 10.1858 16.0172 20.149 -43.4 10.4776 16.326 20.713 -43.405 10.7699 16.6131 21.3092 -43.41 11.0616 16.8755 21.9367 -43.415 11.3515 17.1099 22.5939 -43.42 11.6382 17.3134 23.2793 -43.425 11.9202 17.4826 23.9904 -43.43 12.1958 17.6144 24.7248 -43.435 12.4635 17.7053 25.4795 -43.44 12.7213 17.7521 26.2513 -43.445 12.9673 17.7513 27.0363 -43.45 13.1999 17.6992 27.8312 -43.455 13.4183 17.5929 28.6328 -43.46 13.6201 17.4324 29.4338 -43.465 13.8031 17.218 30.2273 -43.47 13.9652 16.9506 31.0066 -43.475 14.1046 16.6312 31.7656 -43.48 14.2198 16.2616 32.4985 -43.485 14.3094 15.8434 33.1999 -43.49 14.3724 15.3792 33.8652 -43.495 14.4079 14.8713 34.4898 -43.5 14.4154 14.323 35.0698 -43.505 14.3946 13.7376 35.6017 -43.51 14.3453 13.1187 36.0822 -43.515 14.2677 12.4707 36.5089 -43.52 14.1623 11.7979 36.8795 -43.525 14.0295 11.1053 37.1922 -43.53 13.8692 10.4015 37.4444 -43.535 13.682 9.6944 37.6357 -43.54 13.4696 8.98981 37.7675 -43.545 13.2335 8.2929 37.8415 -43.55 12.9756 7.60843 37.8598 -43.555 12.6976 6.94072 37.8246 -43.56 12.4014 6.29364 37.7386 -43.565 12.0887 5.67063 37.6046 -43.57 11.7616 5.07466 37.4259 -43.575 11.422 4.50829 37.2059 -43.58 11.0718 3.97361 36.9485 -43.585 10.7131 3.47228 36.6577 -43.59 10.3481 3.00552 36.3379 -43.595 9.97886 2.5741 35.9938 -43.6 9.60754 2.17834 35.6303 -43.605 9.2362 1.81757 35.2518 -43.61 8.86629 1.48961 34.8597 -43.615 8.49923 1.19329 34.4563 -43.62 8.13638 0.927464 34.0441 -43.625 7.77895 0.690839 33.6252 -43.63 7.42806 0.482037 33.2017 -43.635 7.08471 0.299569 32.7753 -43.64 6.74976 0.14184 32.3477 -43.645 6.42399 0.00714934 31.9205 -43.65 6.10803 -0.106308 31.4948 -43.655 5.80241 -0.200446 31.0719 -43.66 5.50755 -0.27728 30.6525 -43.665 5.22373 -0.338935 30.2376 -43.67 4.95113 -0.387641 29.8276 -43.675 4.68985 -0.424816 29.4228 -43.68 4.43987 -0.450655 29.0233 -43.685 4.20108 -0.466329 28.6291 -43.69 3.97337 -0.472957 28.2404 -43.695 3.75658 -0.471585 27.8573 -43.7 3.55053 -0.463188 27.4798 -43.705 3.35504 -0.448668 27.1079 -43.71 3.16988 -0.428856 26.7416 -43.715 2.99482 -0.404511 26.381 -43.72 2.82959 -0.376319 26.0259 -43.725 2.6739 -0.344895 25.6763 -43.73 2.52744 -0.310781 25.332 -43.735 2.38988 -0.274448 24.993 -43.74 2.26088 -0.236295 24.6591 -43.745 2.13998 -0.196657 24.3301 -43.75 2.02683 -0.15584 24.006 -43.755 1.92114 -0.114114 23.6867 -43.76 1.82265 -0.0717226 23.3721 -43.765 1.73106 -0.0288789 23.0621 -43.77 1.64609 0.0142339 22.7566 -43.775 1.56746 0.0574619 22.4554 -43.78 1.49488 0.100681 22.1586 -43.785 1.42805 0.143797 21.8661 -43.79 1.36669 0.186745 21.5776 -43.795 1.31049 0.22949 21.2933 -43.8 1.25916 0.272027 21.0129 -43.805 1.2124 0.314379 20.7364 -43.81 1.16989 0.356601 20.4638 -43.815 1.13135 0.398774 20.1949 -43.82 1.09655 0.440933 19.9298 -43.825 1.06541 0.483065 19.6683 -43.83 1.03778 0.525184 19.4104 -43.835 1.01356 0.567316 19.1561 -43.84 0.992605 0.6095 18.9053 -43.845 0.974805 0.651787 18.658 -43.85 0.960029 0.694239 18.4141 -43.855 0.948151 0.736935 18.1736 -43.86 0.939043 0.779962 17.9365 -43.865 0.932577 0.823421 17.7027 -43.87 0.928623 0.867426 17.4722 -43.875 0.927052 0.912103 17.2449 -43.88 0.927732 0.957592 17.0208 -43.885 0.930533 1.00404 16.7999 -43.89 0.935329 1.05161 16.5822 -43.895 0.942129 1.10038 16.3676 -43.9 0.950952 1.1504 16.1561 -43.905 0.961792 1.20177 15.9477 -43.91 0.974643 1.25459 15.7424 -43.915 0.989499 1.30896 15.5401 -43.92 1.00636 1.36501 15.3409 -43.925 1.02522 1.42285 15.1448 -43.93 1.04609 1.48263 14.9517 -43.935 1.06895 1.54449 14.7616 -43.94 1.09383 1.60858 14.5745 -43.945 1.12071 1.67507 14.3905 -43.95 1.14961 1.74412 14.2096 -43.955 1.18054 1.81592 14.0316 -43.96 1.21349 1.89065 13.8568 -43.965 1.24849 1.96852 13.6851 -43.97 1.28558 2.0497 13.5165 -43.975 1.3249 2.13432 13.3511 -43.98 1.3665 2.22258 13.1889 -43.985 1.41046 2.31466 13.0299 -43.99 1.45687 2.41075 12.8742 -43.995 1.5058 2.51107 12.7218 -44 1.55735 2.61584 12.5728 -44.005 1.61161 2.72528 12.4272 -44.01 1.6687 2.83965 12.2852 -44.015 1.72872 2.95919 12.1469 -44.02 1.79179 3.08416 12.0124 -44.025 1.85803 3.21485 11.8817 -44.03 1.92758 3.35152 11.7551 -44.035 2.00056 3.49448 11.6328 -44.04 2.07712 3.64402 11.5148 -44.045 2.15742 3.80047 11.4015 -44.05 2.2416 3.96415 11.2929 -44.055 2.32983 4.13539 11.1893 -44.06 2.42227 4.31451 11.091 -44.065 2.51922 4.50106 10.9986 -44.07 2.6209 4.69533 10.9125 -44.075 2.72751 4.89808 10.8328 -44.08 2.83922 5.11003 10.7596 -44.085 2.95624 5.33183 10.6932 -44.09 3.07877 5.56408 10.6341 -44.095 3.20702 5.80733 10.5825 -44.1 3.3412 6.0621 10.5391 -44.105 3.48155 6.32883 10.5043 -44.11 3.6283 6.60791 10.4789 -44.115 3.78168 6.8997 10.4636 -44.12 3.94193 7.2045 10.4592 -44.125 4.10931 7.52254 10.4665 -44.13 4.28408 7.85401 10.4866 -44.135 4.4665 8.19907 10.5205 -44.14 4.65685 8.55779 10.5693 -44.145 4.8554 8.93022 10.6342 -44.15 5.06244 9.31635 10.7165 -44.155 5.27827 9.7161 10.8175 -44.16 5.50317 10.1294 10.9387 -44.165 5.73747 10.556 11.0816 -44.17 5.98146 10.9957 11.2477 -44.175 6.23548 11.4483 11.4387 -44.18 6.49985 11.9134 11.6564 -44.185 6.7749 12.3906 11.9025 -44.19 7.06048 12.8793 12.1784 -44.195 7.35556 13.3777 12.4845 -44.2 7.66045 13.8849 12.8244 -44.205 7.97536 14.3993 13.2009 -44.21 8.30035 14.9192 13.617 -44.215 8.63525 15.4422 14.0749 -44.22 8.97977 15.9658 14.5767 -44.225 9.33339 16.4869 15.1241 -44.23 9.69543 17.0021 15.7185 -44.235 10.065 17.5075 16.3608 -44.24 10.4411 17.9988 17.0519 -44.245 10.8225 18.4714 17.7919 -44.25 11.2078 18.9203 18.5808 -44.255 11.5954 19.34 19.4183 -44.26 11.9836 19.7246 20.3037 -44.265 12.3703 20.0678 21.2359 -44.27 12.7535 20.363 22.2135 -44.275 13.1309 20.6032 23.2347 -44.28 13.5005 20.7826 24.2978 -44.285 13.8602 20.8966 25.3972 -44.29 14.2063 20.9382 26.5236 -44.295 14.5352 20.9016 27.668 -44.3 14.8435 20.7821 28.821 -44.305 15.1283 20.5765 29.9736 -44.31 15.3863 20.2827 31.1165 -44.315 15.6149 19.8997 32.2405 -44.32 15.8114 19.4282 33.3366 -44.325 15.9733 18.8696 34.3953 -44.33 16.0983 18.227 35.4077 -44.335 16.1844 17.5045 36.3644 -44.34 16.2295 16.7075 37.2564 -44.345 16.2321 15.8427 38.0743 -44.35 16.1904 14.917 38.8068 -44.355 16.1043 13.94 39.4437 -44.36 15.9741 12.9265 39.9845 -44.365 15.8009 11.8903 40.4298 -44.37 15.5858 10.8439 40.7807 -44.375 15.3305 9.79854 41.0388 -44.38 15.0369 8.76449 41.2063 -44.385 14.7072 7.75067 41.2861 -44.39 14.344 6.76481 41.2814 -44.395 13.9504 5.81345 41.1961 -44.4 13.5295 4.90193 41.0347 -44.405 13.085 4.03439 40.8021 -44.41 12.6208 3.21377 40.504 -44.415 12.1412 2.44181 40.1464 -44.42 11.6501 1.72108 39.738 -44.425 11.1491 1.05735 39.2909 -44.43 10.6416 0.450834 38.8119 -44.435 10.1307 -0.0991222 38.3072 -44.44 9.61939 -0.59374 37.7824 -44.445 9.11031 -1.03479 37.2428 -44.45 8.60587 -1.42459 36.6933 -44.455 8.10822 -1.76602 36.1383 -44.46 7.61928 -2.06251 35.5819 -44.465 7.14069 -2.31804 35.0277 -44.47 6.67385 -2.53715 34.4789 -44.475 6.21995 -2.724 33.938 -44.48 5.77997 -2.8802 33.4051 -44.485 5.35452 -3.00873 32.8814 -44.49 4.9441 -3.11255 32.3677 -44.495 4.54907 -3.19448 31.8645 -44.5 4.16971 -3.25717 31.3724 -44.505 3.80615 -3.30309 30.8918 -44.51 3.45844 -3.33456 30.4228 -44.515 3.12649 -3.35374 29.9653 -44.52 2.81012 -3.36261 29.5192 -44.525 2.50902 -3.36301 29.084 -44.53 2.22275 -3.35662 28.6594 -44.535 1.95084 -3.34493 28.2452 -44.54 1.69278 -3.32903 27.841 -44.545 1.44811 -3.30995 27.4465 -44.55 1.21631 -3.28865 27.0612 -44.555 0.996873 -3.26601 26.6847 -44.56 0.789278 -3.24285 26.3168 -44.565 0.592989 -3.21991 25.957 -44.57 0.407458 -3.19787 25.605 -44.575 0.232127 -3.17734 25.2606 -44.58 0.0664261 -3.15887 24.9235 -44.585 -0.0902276 -3.14291 24.5934 -44.59 -0.238428 -3.12987 24.27 -44.595 -0.37878 -3.12009 23.9532 -44.6 -0.511901 -3.11383 23.6427 -44.605 -0.63842 -3.11128 23.3384 -44.61 -0.758976 -3.11257 23.0401 -44.615 -0.874098 -3.11779 22.7475 -44.62 -0.984142 -3.12712 22.4605 -44.625 -1.08946 -3.14071 22.179 -44.63 -1.1904 -3.15872 21.903 -44.635 -1.28732 -3.18128 21.6323 -44.64 -1.38059 -3.20849 21.367 -44.645 -1.47059 -3.24048 21.1069 -44.65 -1.55769 -3.27732 20.8519 -44.655 -1.64228 -3.3191 20.6022 -44.66 -1.72475 -3.36586 20.3575 -44.665 -1.8055 -3.41767 20.1178 -44.67 -1.88492 -3.47453 19.8832 -44.675 -1.96344 -3.53649 19.6536 -44.68 -2.04146 -3.60352 19.4289 -44.685 -2.11938 -3.67565 19.2092 -44.69 -2.19734 -3.75299 18.9946 -44.695 -2.2755 -3.83571 18.7851 -44.7 -2.35405 -3.92394 18.5808 -44.705 -2.43319 -4.01781 18.3819 -44.71 -2.51313 -4.11745 18.1883 -44.715 -2.59408 -4.22299 18.0003 -44.72 -2.67627 -4.33454 17.8179 -44.725 -2.75992 -4.45224 17.6412 -44.73 -2.84527 -4.57618 17.4705 -44.735 -2.93256 -4.70648 17.3058 -44.74 -3.02206 -4.84326 17.1473 -44.745 -3.11401 -4.98661 16.9952 -44.75 -3.20869 -5.13663 16.8497 -44.755 -3.30638 -5.29342 16.711 -44.76 -3.40733 -5.45705 16.5793 -44.765 -3.51166 -5.62764 16.4549 -44.77 -3.61951 -5.80548 16.3381 -44.775 -3.73103 -5.99082 16.2293 -44.78 -3.84636 -6.1839 16.1288 -44.785 -3.96566 -6.38492 16.037 -44.79 -4.08908 -6.59404 15.9543 -44.795 -4.2168 -6.8114 15.8811 -44.8 -4.34898 -7.03712 15.818 -44.805 -4.48579 -7.27128 15.7655 -44.81 -4.62741 -7.51392 15.724 -44.815 -4.77403 -7.76506 15.6941 -44.82 -4.92583 -8.0247 15.6766 -44.825 -5.08302 -8.29278 15.6719 -44.83 -5.24579 -8.56925 15.6808 -44.835 -5.41434 -8.854 15.7039 -44.84 -5.58888 -9.14691 15.7419 -44.845 -5.76963 -9.44779 15.7958 -44.85 -5.95631 -9.75603 15.8654 -44.855 -6.14879 -10.0713 15.9515 -44.86 -6.34732 -10.3935 16.0556 -44.865 -6.55208 -10.7225 16.1792 -44.87 -6.7632 -11.0579 16.3234 -44.875 -6.98072 -11.3992 16.4895 -44.88 -7.20463 -11.7456 16.6786 -44.885 -7.43485 -12.0964 16.8917 -44.89 -7.67124 -12.4504 17.1297 -44.895 -7.91358 -12.8065 17.3935 -44.9 -8.16159 -13.1632 17.6838 -44.905 -8.41494 -13.519 18.0012 -44.91 -8.67322 -13.8721 18.3462 -44.915 -8.93594 -14.2207 18.7195 -44.92 -9.20258 -14.5626 19.1212 -44.925 -9.47253 -14.8957 19.5518 -44.93 -9.74511 -15.2175 20.0113 -44.935 -10.0196 -15.5254 20.4999 -44.94 -10.2952 -15.8167 21.0176 -44.945 -10.571 -16.0884 21.5643 -44.95 -10.8461 -16.3375 22.1398 -44.955 -11.1195 -16.5609 22.7439 -44.96 -11.3904 -16.7575 23.3754 -44.965 -11.6572 -16.9238 24.0315 -44.97 -11.9181 -17.0558 24.7093 -44.975 -12.1716 -17.15 25.4056 -44.98 -12.416 -17.2035 26.117 -44.985 -12.6497 -17.2137 26.84 -44.99 -12.871 -17.1785 27.5707 -44.995 -13.0785 -17.0963 28.3053 -45 -13.2707 -16.966 29.0397 -45.005 -13.446 -16.7869 29.7695 -45.01 -13.6031 -16.5588 30.4904 -45.015 -13.7405 -16.2819 31.1977 -45.02 -13.8568 -15.9569 31.8865 -45.025 -13.9507 -15.5851 32.5519 -45.03 -14.0208 -15.1682 33.1886 -45.035 -14.0659 -14.7081 33.7913 -45.04 -14.085 -14.2056 34.3533 -45.045 -14.0778 -13.6639 34.8695 -45.05 -14.0441 -13.0904 35.3381 -45.055 -13.9839 -12.4919 35.7575 -45.06 -13.8973 -11.8747 36.1265 -45.065 -13.7848 -11.2448 36.4442 -45.07 -13.6469 -10.6077 36.7101 -45.075 -13.4844 -9.96808 36.9239 -45.08 -13.2982 -9.33058 37.0857 -45.085 -13.0895 -8.69913 37.1959 -45.09 -12.8596 -8.07723 37.2554 -45.095 -12.6101 -7.46788 37.2652 -45.1 -12.3427 -6.87361 37.2267 -45.105 -12.0594 -6.29649 37.1417 -45.11 -11.7621 -5.73808 37.0123 -45.115 -11.4534 -5.19946 36.8408 -45.12 -11.1352 -4.68221 36.6305 -45.125 -10.8082 -4.19287 36.3878 -45.13 -10.4739 -3.73347 36.1164 -45.135 -10.1342 -3.30471 35.8192 -45.14 -9.79113 -2.90702 35.4991 -45.145 -9.44624 -2.5405 35.159 -45.15 -9.10116 -2.20496 34.8016 -45.155 -8.75736 -1.89991 34.4296 -45.16 -8.41621 -1.62457 34.0457 -45.165 -8.07896 -1.37782 33.6523 -45.17 -7.74675 -1.15827 33.2521 -45.175 -7.4206 -0.964232 32.8473 -45.18 -7.10141 -0.793689 32.4404 -45.185 -6.78999 -0.64434 32.0337 -45.19 -6.48704 -0.514312 31.6284 -45.195 -6.19316 -0.403305 31.2241 -45.2 -5.90868 -0.309939 30.8213 -45.205 -5.63389 -0.232814 30.4209 -45.21 -5.36903 -0.170588 30.0234 -45.215 -5.11429 -0.121972 29.6295 -45.22 -4.86981 -0.0857357 29.2394 -45.225 -4.63568 -0.0607017 28.8537 -45.23 -4.41195 -0.0457493 28.4727 -45.235 -4.1986 -0.0398131 28.0965 -45.24 -3.99558 -0.0418832 27.7253 -45.245 -3.80279 -0.0510053 27.3592 -45.25 -3.62006 -0.0662804 26.9981 -45.255 -3.44719 -0.0868653 26.642 -45.26 -3.28388 -0.112133 26.2908 -45.265 -3.12982 -0.141625 25.9446 -45.27 -2.98476 -0.174827 25.6034 -45.275 -2.84845 -0.211263 25.2671 -45.28 -2.72062 -0.250501 24.9357 -45.285 -2.60101 -0.292147 24.6089 -45.29 -2.48935 -0.335852 24.2869 -45.295 -2.38536 -0.381306 23.9695 -45.3 -2.28877 -0.428242 23.6567 -45.305 -2.19928 -0.476433 23.3484 -45.31 -2.11661 -0.525694 23.0445 -45.315 -2.04045 -0.575882 22.7449 -45.32 -1.97051 -0.626894 22.4496 -45.325 -1.90649 -0.678669 22.1586 -45.33 -1.84806 -0.731188 21.8717 -45.335 -1.79491 -0.784469 21.5889 -45.34 -1.74677 -0.838494 21.31 -45.345 -1.70351 -0.893217 21.0352 -45.35 -1.66497 -0.948611 20.7643 -45.355 -1.63103 -1.00467 20.4973 -45.36 -1.60154 -1.0614 20.2341 -45.365 -1.57636 -1.11882 19.9747 -45.37 -1.55534 -1.177 19.7191 -45.375 -1.53834 -1.23598 19.4672 -45.38 -1.5252 -1.29586 19.2191 -45.385 -1.51578 -1.35672 18.9746 -45.39 -1.50993 -1.4187 18.7337 -45.395 -1.50748 -1.48192 18.4965 -45.4 -1.50828 -1.54654 18.2629 -45.405 -1.51218 -1.61274 18.0329 -45.41 -1.519 -1.68069 17.8065 -45.415 -1.52862 -1.75061 17.5836 -45.42 -1.54111 -1.82252 17.3643 -45.425 -1.55649 -1.89654 17.1487 -45.43 -1.57475 -1.97279 16.9366 -45.435 -1.5959 -2.05139 16.7282 -45.44 -1.61994 -2.13249 16.5233 -45.445 -1.64687 -2.21625 16.3221 -45.45 -1.6767 -2.30284 16.1246 -45.455 -1.70944 -2.39243 15.9307 -45.46 -1.74509 -2.48521 15.7406 -45.465 -1.78368 -2.58138 15.5543 -45.47 -1.82521 -2.68117 15.3719 -45.475 -1.86972 -2.78478 15.1934 -45.48 -1.9172 -2.89246 15.0188 -45.485 -1.9677 -3.00445 14.8483 -45.49 -2.02122 -3.12101 14.682 -45.495 -2.07784 -3.24239 14.52 -45.5 -2.1377 -3.36872 14.3624 -45.505 -2.20093 -3.50025 14.2093 -45.51 -2.26761 -3.63725 14.0608 -45.515 -2.33787 -3.78 13.9171 -45.52 -2.41182 -3.92877 13.7783 -45.525 -2.48958 -4.08384 13.6446 -45.53 -2.57127 -4.24549 13.5162 -45.535 -2.65704 -4.41402 13.3932 -45.54 -2.74703 -4.58971 13.2761 -45.545 -2.84139 -4.77285 13.1651 -45.55 -2.94027 -4.96376 13.0604 -45.555 -3.04384 -5.16272 12.9625 -45.56 -3.15227 -5.37004 12.8717 -45.565 -3.26573 -5.58604 12.7884 -45.57 -3.38441 -5.81102 12.7131 -45.575 -3.5085 -6.04531 12.6462 -45.58 -3.63819 -6.28922 12.5882 -45.585 -3.77369 -6.54309 12.5396 -45.59 -3.9152 -6.80721 12.501 -45.595 -4.06283 -7.08114 12.473 -45.6 -4.21681 -7.36512 12.4564 -45.605 -4.37743 -7.65986 12.4518 -45.61 -4.54498 -7.96591 12.4601 -45.615 -4.71972 -8.2837 12.4822 -45.62 -4.90188 -8.61355 12.5189 -45.625 -5.09168 -8.95562 12.5714 -45.63 -5.2893 -9.30995 12.6406 -45.635 -5.49491 -9.67645 12.7276 -45.64 -5.70865 -10.0549 12.8336 -45.645 -5.93064 -10.445 12.9599 -45.65 -6.16098 -10.8461 13.1078 -45.655 -6.39974 -11.2578 13.2786 -45.66 -6.64698 -11.6792 13.4738 -45.665 -6.90271 -12.1096 13.6948 -45.67 -7.16695 -12.5478 13.9432 -45.675 -7.43967 -12.9927 14.2207 -45.68 -7.72083 -13.4431 14.5288 -45.685 -8.01038 -13.8976 14.8693 -45.69 -8.30821 -14.3547 15.244 -45.695 -8.61419 -14.8127 15.6547 -45.7 -8.92733 -15.2707 16.1008 -45.705 -9.24703 -15.7257 16.5837 -45.71 -9.57286 -16.1738 17.1059 -45.715 -9.90425 -16.611 17.6691 -45.72 -10.2405 -17.0332 18.2746 -45.725 -10.5806 -17.4362 18.923 -45.73 -10.9234 -17.8161 19.6142 -45.735 -11.2679 -18.1685 20.3477 -45.74 -11.6123 -18.4892 21.1222 -45.745 -11.9553 -18.7738 21.9361 -45.75 -12.2949 -19.0181 22.7868 -45.755 -12.6292 -19.2175 23.6714 -45.76 -12.9561 -19.3676 24.5863 -45.765 -13.2733 -19.4639 25.5272 -45.77 -13.5782 -19.5017 26.4895 -45.775 -13.8682 -19.4765 27.4678 -45.78 -14.1405 -19.3834 28.4559 -45.785 -14.3929 -19.2173 29.4486 -45.79 -14.6244 -18.9755 30.4395 -45.795 -14.8316 -18.6601 31.4179 -45.8 -15.0116 -18.2736 32.3739 -45.805 -15.1621 -17.8189 33.2983 -45.81 -15.2807 -17.2995 34.1828 -45.815 -15.3659 -16.7189 35.0199 -45.82 -15.4161 -16.0814 35.8029 -45.825 -15.4306 -15.3915 36.5259 -45.83 -15.4087 -14.6539 37.184 -45.835 -15.3503 -13.874 37.7728 -45.84 -15.2555 -13.0575 38.2889 -45.845 -15.1249 -12.2104 38.7299 -45.85 -14.9596 -11.3392 39.0939 -45.855 -14.7608 -10.4511 39.3798 -45.86 -14.5281 -9.56033 39.5862 -45.865 -14.2633 -8.67687 39.7147 -45.87 -13.9688 -7.80788 39.7684 -45.875 -13.6471 -6.95983 39.7505 -45.88 -13.3008 -6.13847 39.6649 -45.885 -12.9324 -5.34886 39.5158 -45.89 -12.5445 -4.59535 39.3077 -45.895 -12.1398 -3.8816 39.0458 -45.9 -11.721 -3.21055 38.7353 -45.905 -11.2907 -2.58444 38.3823 -45.91 -10.8516 -2.00481 37.9928 -45.915 -10.4065 -1.47248 37.5736 -45.92 -9.95823 -0.987587 37.1317 -45.925 -9.50956 -0.549538 36.6746 -45.93 -9.06282 -0.155498 36.2055 -45.935 -8.61977 0.1973 35.7257 -45.94 -8.18213 0.510736 35.2384 -45.945 -7.75143 0.786806 34.7463 -45.95 -7.32908 1.02761 34.252 -45.955 -6.91632 1.23537 33.7576 -45.96 -6.51422 1.41241 33.2653 -45.965 -6.12372 1.56116 32.7767 -45.97 -5.74559 1.68417 32.2933 -45.975 -5.38044 1.78409 31.8163 -45.98 -5.02874 1.86371 31.3466 -45.985 -4.69078 1.92589 30.8849 -45.99 -4.36673 1.97363 30.4316 -45.995 -4.05656 2.00972 29.9868 -46 -3.76017 2.03431 29.5505 -46.005 -3.47732 2.04844 29.1226 -46.01 -3.20778 2.05357 28.7029 -46.015 -2.95126 2.05102 28.2913 -46.02 -2.70748 2.04205 27.8878 -46.025 -2.4761 2.02779 27.4921 -46.03 -2.25677 2.0093 27.1042 -46.035 -2.04911 1.98751 26.7237 -46.04 -1.85272 1.96329 26.3506 -46.045 -1.66717 1.93739 25.9845 -46.05 -1.49201 1.91046 25.6253 -46.055 -1.32675 1.88306 25.2726 -46.06 -1.17089 1.85565 24.9263 -46.065 -1.02384 1.82867 24.5861 -46.07 -0.885146 1.8025 24.2518 -46.075 -0.754412 1.77748 23.9233 -46.08 -0.631242 1.7539 23.6003 -46.085 -0.515235 1.73203 23.2828 -46.09 -0.405989 1.71211 22.9704 -46.095 -0.303096 1.69433 22.6632 -46.1 -0.206149 1.67888 22.361 -46.105 -0.114738 1.6659 22.0636 -46.11 -0.0284468 1.6555 21.7708 -46.115 0.0531392 1.64777 21.4827 -46.12 0.13044 1.64276 21.199 -46.125 0.203876 1.6405 20.9196 -46.13 0.27387 1.64097 20.6445 -46.135 0.340733 1.64423 20.3736 -46.14 0.40467 1.65035 20.1068 -46.145 0.465901 1.6594 19.844 -46.15 0.524648 1.67144 19.5852 -46.155 0.581138 1.68654 19.3304 -46.16 0.635599 1.70474 19.0795 -46.165 0.688264 1.72608 18.8325 -46.17 0.739372 1.75059 18.5893 -46.175 0.789161 1.77831 18.3498 -46.18 0.837876 1.80926 18.1141 -46.185 0.885765 1.84344 17.8821 -46.19 0.933079 1.88088 17.6537 -46.195 0.980073 1.92156 17.429 -46.2 1.027 1.96549 17.2078 -46.205 1.07402 2.01274 16.9903 -46.21 1.12121 2.06344 16.7764 -46.215 1.1687 2.11769 16.566 -46.22 1.2166 2.1756 16.3593 -46.225 1.26504 2.23728 16.1562 -46.23 1.31417 2.30285 15.9568 -46.235 1.36412 2.37242 15.761 -46.24 1.41505 2.4461 15.5688 -46.245 1.46711 2.52402 15.3804 -46.25 1.52047 2.60628 15.1958 -46.255 1.5753 2.69303 15.0149 -46.26 1.63179 2.78436 14.8379 -46.265 1.69011 2.88042 14.6648 -46.27 1.75047 2.98133 14.4957 -46.275 1.81307 3.08721 14.3305 -46.28 1.87804 3.19825 14.1696 -46.285 1.94549 3.3147 14.0128 -46.29 2.01552 3.43682 13.8605 -46.295 2.08825 3.56487 13.7126 -46.3 2.16381 3.6991 13.5693 -46.305 2.24234 3.83978 13.4307 -46.31 2.324 3.98717 13.2972 -46.315 2.40895 4.14154 13.1687 -46.32 2.49737 4.30315 13.0457 -46.325 2.58945 4.47227 12.9282 -46.33 2.68538 4.64916 12.8167 -46.335 2.78539 4.83411 12.7113 -46.34 2.88969 5.02737 12.6125 -46.345 2.99852 5.22923 12.5205 -46.35 3.11213 5.43995 12.4357 -46.355 3.23077 5.65982 12.3585 -46.36 3.35473 5.88911 12.2893 -46.365 3.48417 6.12774 12.2287 -46.37 3.61922 6.37584 12.1772 -46.375 3.76013 6.63409 12.1353 -46.38 3.90715 6.90312 12.1037 -46.385 4.06052 7.18343 12.083 -46.39 4.22046 7.47546 12.0738 -46.395 4.38722 7.77954 12.077 -46.4 4.561 8.09593 12.0934 -46.405 4.74201 8.42477 12.124 -46.41 4.93046 8.76614 12.1697 -46.415 5.12655 9.12 12.2315 -46.42 5.33047 9.48625 12.3107 -46.425 5.54239 9.86467 12.4085 -46.43 5.76251 10.255 12.526 -46.435 5.99097 10.6568 12.6647 -46.44 6.22796 11.0696 12.826 -46.445 6.47361 11.4928 13.0113 -46.45 6.72809 11.9259 13.2223 -46.455 6.99153 12.3679 13.4605 -46.46 7.26406 12.8182 13.7276 -46.465 7.54582 13.2757 14.0255 -46.47 7.83634 13.7395 14.3546 -46.475 8.13482 14.208 14.7157 -46.48 8.44134 14.679 15.1117 -46.485 8.7558 15.15 15.5453 -46.49 9.07793 15.6183 16.0187 -46.495 9.4073 16.0809 16.5334 -46.5 9.74329 16.5345 17.0908 -46.505 10.0851 16.9758 17.6917 -46.51 10.4318 17.401 18.3363 -46.515 10.7823 17.8061 19.0247 -46.52 11.1351 18.187 19.7561 -46.525 11.489 18.5391 20.5297 -46.53 11.8421 18.8579 21.3439 -46.535 12.1928 19.1384 22.1967 -46.54 12.5389 19.3754 23.0859 -46.545 12.8783 19.5635 24.0085 -46.55 13.2087 19.697 24.9614 -46.555 13.5275 19.7699 25.9406 -46.56 13.8331 19.7771 26.9434 -46.565 14.1236 19.7153 27.9632 -46.57 14.3955 19.582 28.9901 -46.575 14.6456 19.3757 30.0143 -46.58 14.8712 19.0955 31.0267 -46.585 15.0695 18.7415 32.0186 -46.59 15.2382 18.3145 32.9817 -46.595 15.3755 17.8163 33.9083 -46.6 15.4795 17.2493 34.7911 -46.605 15.5487 16.6169 35.6233 -46.61 15.5821 15.9234 36.3985 -46.615 15.5789 15.1736 37.111 -46.62 15.5383 14.3734 37.7553 -46.625 15.4601 13.5296 38.3266 -46.63 15.3443 12.6499 38.8199 -46.635 15.1902 11.746 39.2284 -46.64 14.9992 10.8286 39.5522 -46.645 14.7729 9.90741 39.7933 -46.65 14.5132 8.99109 39.954 -46.655 14.2223 8.08762 40.0373 -46.66 13.9021 7.20417 40.0462 -46.665 13.5552 6.34709 39.9847 -46.67 13.1841 5.52197 39.8567 -46.675 12.7912 4.73358 39.6668 -46.68 12.3796 3.98591 39.4201 -46.685 11.9522 3.28214 39.122 -46.69 11.512 2.62465 38.7784 -46.695 11.0623 2.01506 38.3955 -46.7 10.6067 1.45414 37.9802 -46.705 10.1475 0.941488 37.5391 -46.71 9.68684 0.475892 37.0774 -46.715 9.22707 0.0560184 36.5993 -46.72 8.77036 -0.319726 36.1087 -46.725 8.31866 -0.653196 35.6094 -46.73 7.87374 -0.946504 35.1046 -46.735 7.43715 -1.20202 34.5973 -46.74 7.01027 -1.42238 34.0901 -46.745 6.59425 -1.61046 33.5855 -46.75 6.19007 -1.76942 33.0853 -46.755 5.79848 -1.90266 32.5912 -46.76 5.42007 -2.01384 32.1046 -46.765 5.0553 -2.10484 31.6259 -46.77 4.70444 -2.17697 31.1553 -46.775 4.36758 -2.23236 30.6931 -46.78 4.04473 -2.27303 30.2395 -46.785 3.73588 -2.30083 29.7947 -46.79 3.44093 -2.31752 29.3588 -46.795 3.15973 -2.32473 28.9318 -46.8 2.89208 -2.32393 28.5136 -46.805 2.63771 -2.3165 28.1041 -46.81 2.39628 -2.30367 27.7031 -46.815 2.16742 -2.28654 27.3104 -46.82 1.95069 -2.26609 26.9254 -46.825 1.74542 -2.24325 26.5481 -46.83 1.55109 -2.21875 26.1782 -46.835 1.36731 -2.19321 25.8154 -46.84 1.19368 -2.16719 25.4596 -46.845 1.02978 -2.14123 25.1104 -46.85 0.875197 -2.11581 24.7677 -46.855 0.729497 -2.09137 24.4312 -46.86 0.592238 -2.0683 24.1008 -46.865 0.462964 -2.04697 23.7761 -46.87 0.341213 -2.02768 23.4572 -46.875 0.226508 -2.01069 23.1437 -46.88 0.118364 -1.99623 22.8355 -46.885 0.0162844 -1.98449 22.5325 -46.89 -0.0802383 -1.97559 22.2344 -46.895 -0.171722 -1.96963 21.9413 -46.9 -0.258696 -1.96666 21.6528 -46.905 -0.341699 -1.96668 21.369 -46.91 -0.421158 -1.9697 21.0897 -46.915 -0.497237 -1.97582 20.8148 -46.92 -0.570135 -1.98515 20.5442 -46.925 -0.640064 -1.99781 20.278 -46.93 -0.707246 -2.0139 20.016 -46.935 -0.77191 -2.03348 19.7583 -46.94 -0.834298 -2.05664 19.5048 -46.945 -0.89466 -2.08345 19.2554 -46.95 -0.953258 -2.11395 19.0101 -46.955 -1.01036 -2.14819 18.7689 -46.96 -1.06625 -2.1862 18.5317 -46.965 -1.12122 -2.22799 18.2985 -46.97 -1.17557 -2.27357 18.0692 -46.975 -1.2296 -2.32295 17.8438 -46.98 -1.28364 -2.37611 17.6223 -46.985 -1.33803 -2.43302 17.4046 -46.99 -1.39295 -2.49375 17.1908 -46.995 -1.44836 -2.55854 16.981 -47 -1.50439 -2.62753 16.775 -47.005 -1.56117 -2.70085 16.5731 -47.01 -1.61884 -2.77864 16.3752 -47.015 -1.67755 -2.86103 16.1814 -47.02 -1.73746 -2.94816 15.9917 -47.025 -1.79874 -3.04017 15.8062 -47.03 -1.86156 -3.13721 15.6249 -47.035 -1.92609 -3.23942 15.448 -47.04 -1.99254 -3.34695 15.2755 -47.045 -2.0611 -3.45994 15.1075 -47.05 -2.13197 -3.57855 14.9441 -47.055 -2.20537 -3.70293 14.7854 -47.06 -2.28152 -3.83324 14.6316 -47.065 -2.36062 -3.96961 14.4828 -47.07 -2.4428 -4.11232 14.3392 -47.075 -2.52817 -4.26165 14.201 -47.08 -2.61686 -4.41793 14.0684 -47.085 -2.70904 -4.58144 13.9416 -47.09 -2.80484 -4.75247 13.8207 -47.095 -2.90443 -4.9313 13.7062 -47.1 -3.008 -5.1182 13.5984 -47.105 -3.11573 -5.31344 13.4974 -47.11 -3.22783 -5.51727 13.4039 -47.115 -3.3445 -5.72995 13.318 -47.12 -3.46597 -5.95173 13.2404 -47.125 -3.59247 -6.18283 13.1714 -47.13 -3.72426 -6.42348 13.1115 -47.135 -3.86158 -6.67392 13.0613 -47.14 -4.0047 -6.93435 13.0214 -47.145 -4.15391 -7.20499 12.9923 -47.15 -4.30949 -7.486 12.9746 -47.155 -4.47137 -7.77675 12.969 -47.16 -4.6397 -8.07745 12.9762 -47.165 -4.8148 -8.38882 12.9973 -47.17 -4.99697 -8.71139 13.0332 -47.175 -5.18646 -9.04554 13.085 -47.18 -5.3835 -9.39145 13.1538 -47.185 -5.58827 -9.74917 13.2406 -47.19 -5.80092 -10.1186 13.3466 -47.195 -6.02158 -10.4993 13.4731 -47.2 -6.25032 -10.891 13.6212 -47.205 -6.48719 -11.293 13.7923 -47.21 -6.73221 -11.7044 13.9875 -47.215 -6.98534 -12.1243 14.2083 -47.22 -7.24652 -12.5516 14.456 -47.225 -7.51567 -12.9849 14.7321 -47.23 -7.79266 -13.4228 15.0379 -47.235 -8.07731 -13.8637 15.375 -47.24 -8.36942 -14.3057 15.7449 -47.245 -8.66878 -14.7469 16.1492 -47.25 -8.97509 -15.1852 16.5894 -47.255 -9.28806 -15.6181 17.0672 -47.26 -9.60718 -16.0437 17.5837 -47.265 -9.9312 -16.4599 18.1381 -47.27 -10.2592 -16.8624 18.7315 -47.275 -10.5902 -17.2463 19.3647 -47.28 -10.9232 -17.607 20.038 -47.285 -11.2568 -17.9401 20.7509 -47.29 -11.5897 -18.2411 21.5023 -47.295 -11.9204 -18.5057 22.2907 -47.3 -12.247 -18.7298 23.1137 -47.305 -12.568 -18.9093 23.9684 -47.31 -12.8811 -19.0401 24.8514 -47.315 -13.1845 -19.1184 25.7585 -47.32 -13.4756 -19.1405 26.685 -47.325 -13.7523 -19.1026 27.6255 -47.33 -14.0119 -19.0013 28.5741 -47.335 -14.2517 -18.833 29.5241 -47.34 -14.4705 -18.5906 30.4708 -47.345 -14.6662 -18.2739 31.4062 -47.35 -14.836 -17.888 32.3204 -47.355 -14.9774 -17.4376 33.2039 -47.36 -15.0883 -16.9279 34.0486 -47.365 -15.167 -16.3636 34.8471 -47.37 -15.2122 -15.7497 35.5928 -47.375 -15.223 -15.091 36.2803 -47.38 -15.1987 -14.3923 36.9048 -47.385 -15.1394 -13.6584 37.4627 -47.39 -15.0453 -12.8939 37.9512 -47.395 -14.917 -12.1037 38.3683 -47.4 -14.7555 -11.2923 38.7131 -47.405 -14.5625 -10.4644 38.9854 -47.41 -14.3396 -9.62459 39.1863 -47.415 -14.0884 -8.77989 39.3168 -47.42 -13.8082 -7.94717 39.3773 -47.425 -13.5014 -7.13382 39.3702 -47.43 -13.1707 -6.34517 39.2988 -47.435 -12.8186 -5.58588 39.1667 -47.44 -12.4479 -4.86001 38.9777 -47.445 -12.0611 -4.17095 38.7363 -47.45 -11.6608 -3.52148 38.447 -47.455 -11.2494 -2.91373 38.1149 -47.46 -10.8294 -2.3492 37.7452 -47.465 -10.4033 -1.82874 37.3437 -47.47 -9.97336 -1.35258 36.9164 -47.475 -9.54202 -0.920296 36.4697 -47.48 -9.11154 -0.530844 36.0103 -47.485 -8.68419 -0.182528 35.5454 -47.49 -8.26192 0.127526 35.0759 -47.495 -7.84615 0.40198 34.6011 -47.5 -7.43811 0.642954 34.1233 -47.505 -7.03893 0.852586 33.6446 -47.51 -6.64963 1.03302 33.1667 -47.515 -6.27106 1.18644 32.6915 -47.52 -5.90398 1.31501 32.2201 -47.525 -5.54901 1.42093 31.7539 -47.53 -5.20665 1.50643 31.2937 -47.535 -4.87726 1.57371 30.8404 -47.54 -4.56108 1.62504 30.3943 -47.545 -4.25822 1.66267 29.9558 -47.55 -3.96869 1.68887 29.525 -47.555 -3.69234 1.7055 29.1017 -47.56 -3.42896 1.71303 28.6861 -47.565 -3.17826 1.7126 28.2782 -47.57 -2.93995 1.70537 27.8777 -47.575 -2.71371 1.69242 27.4846 -47.58 -2.49919 1.67476 27.0988 -47.585 -2.29606 1.65328 26.7199 -47.59 -2.10394 1.62884 26.348 -47.595 -1.92243 1.60218 25.9827 -47.6 -1.75114 1.57398 25.624 -47.605 -1.58965 1.54483 25.2716 -47.61 -1.43751 1.51524 24.9254 -47.615 -1.29427 1.48564 24.5851 -47.62 -1.15946 1.45639 24.2506 -47.625 -1.03256 1.42776 23.9215 -47.63 -0.913108 1.40006 23.5978 -47.635 -0.800736 1.37355 23.2793 -47.64 -0.695087 1.34845 22.9659 -47.645 -0.595805 1.32494 22.6574 -47.65 -0.50253 1.30321 22.3538 -47.655 -0.414903 1.28341 22.0548 -47.66 -0.332564 1.26564 21.7603 -47.665 -0.255152 1.25 21.4703 -47.67 -0.182306 1.23658 21.1847 -47.675 -0.113662 1.22542 20.9033 -47.68 -0.0488569 1.21653 20.626 -47.685 0.0124738 1.20991 20.3527 -47.69 0.070694 1.20555 20.0834 -47.695 0.126069 1.20345 19.818 -47.7 0.17878 1.20369 19.5564 -47.705 0.229019 1.2063 19.2986 -47.71 0.276981 1.21132 19.0445 -47.715 0.322861 1.21877 18.794 -47.72 0.366859 1.22869 18.5472 -47.725 0.409175 1.2411 18.304 -47.73 0.450011 1.256 18.0642 -47.735 0.489572 1.2734 17.828 -47.74 0.528064 1.29332 17.5951 -47.745 0.565695 1.31573 17.3657 -47.75 0.602676 1.34064 17.1396 -47.755 0.639218 1.36803 16.9168 -47.76 0.675513 1.39789 16.6972 -47.765 0.711648 1.43031 16.4809 -47.77 0.747714 1.46537 16.2679 -47.775 0.783809 1.50315 16.058 -47.78 0.820034 1.5437 15.8514 -47.785 0.856499 1.58713 15.648 -47.79 0.893318 1.6335 15.4477 -47.795 0.93061 1.68289 15.2506 -47.8 0.968501 1.73539 15.0567 -47.805 1.00712 1.79108 14.8659 -47.81 1.04661 1.85004 14.6784 -47.815 1.08711 1.91236 14.4939 -47.82 1.12876 1.97813 14.3127 -47.825 1.17173 2.04742 14.1347 -47.83 1.21616 2.12034 13.9598 -47.835 1.2622 2.19701 13.7882 -47.84 1.30992 2.27762 13.6199 -47.845 1.35938 2.36236 13.4549 -47.85 1.41069 2.45142 13.2933 -47.855 1.46394 2.545 13.135 -47.86 1.51923 2.6433 12.9802 -47.865 1.57669 2.74654 12.829 -47.87 1.63644 2.85493 12.6814 -47.875 1.69862 2.96869 12.5375 -47.88 1.76339 3.08804 12.3974 -47.885 1.83089 3.21323 12.2613 -47.89 1.90129 3.34449 12.1293 -47.895 1.97478 3.48206 12.0015 -47.9 2.05155 3.62619 11.8782 -47.905 2.13179 3.77714 11.7593 -47.91 2.21571 3.93516 11.6453 -47.915 2.30353 4.10052 11.5361 -47.92 2.39546 4.27337 11.4323 -47.925 2.49166 4.45401 11.3341 -47.93 2.59228 4.64294 11.2418 -47.935 2.69751 4.84064 11.1555 -47.94 2.80752 5.04759 11.0755 -47.945 2.92251 5.26421 11.0023 -47.95 3.04269 5.49093 10.9362 -47.955 3.16826 5.72814 10.8776 -47.96 3.29947 5.97622 10.8272 -47.965 3.43654 6.23553 10.7856 -47.97 3.57973 6.50639 10.7532 -47.975 3.72929 6.78912 10.731 -47.98 3.8855 7.08401 10.7195 -47.985 4.04863 7.39132 10.7198 -47.99 4.21897 7.7113 10.7325 -47.995 4.39683 8.04418 10.7587 -48 4.58253 8.39016 10.7994 -48.005 4.77638 8.74942 10.8556 -48.01 4.97871 9.12212 10.9284 -48.015 5.18988 9.50841 11.019 -48.02 5.41014 9.9082 11.1286 -48.025 5.63893 10.3201 11.2576 -48.03 5.87659 10.7444 11.4082 -48.035 6.12364 11.1817 11.5824 -48.04 6.38049 11.6321 11.7822 -48.045 6.64742 12.0954 12.0098 -48.05 6.92463 12.5711 12.2671 -48.055 7.21221 13.0582 12.5559 -48.06 7.51014 13.5556 12.8782 -48.065 7.81829 14.0615 13.2357 -48.07 8.13643 14.574 13.6302 -48.075 8.46421 15.0909 14.0633 -48.08 8.8012 15.6095 14.5367 -48.085 9.14683 16.1267 15.0518 -48.09 9.50046 16.6392 15.6103 -48.095 9.86131 17.1433 16.2135 -48.1 10.2285 17.6348 16.8629 -48.105 10.6011 18.1094 17.5597 -48.11 10.978 18.5624 18.3051 -48.115 11.3579 18.9885 19.1005 -48.12 11.7397 19.3823 19.947 -48.125 12.1218 19.741 20.8428 -48.13 12.5018 20.0581 21.7847 -48.135 12.8773 20.325 22.7692 -48.14 13.2458 20.5344 23.7925 -48.145 13.6045 20.6796 24.8496 -48.15 13.9509 20.7548 25.9353 -48.155 14.2821 20.755 27.0432 -48.16 14.5955 20.6764 28.1665 -48.165 14.888 20.5156 29.2975 -48.17 15.1569 20.2704 30.4279 -48.175 15.3992 19.9395 31.5485 -48.18 15.6117 19.5222 32.6497 -48.185 15.7915 19.0189 33.7208 -48.19 15.9354 18.4308 34.7507 -48.195 16.0412 17.7554 35.7264 -48.2 16.1076 16.9966 36.6372 -48.205 16.1329 16.1691 37.4763 -48.21 16.1159 15.2863 38.2377 -48.215 16.0558 14.3606 38.9164 -48.22 15.9525 13.4035 39.5086 -48.225 15.8063 12.4253 40.0113 -48.23 15.6181 11.4353 40.4227 -48.235 15.3891 10.4417 40.7419 -48.24 15.1213 9.4517 40.969 -48.245 14.8171 8.47135 41.1052 -48.25 14.4794 7.50572 41.1525 -48.255 14.1117 6.55879 41.1142 -48.26 13.7178 5.6335 40.9944 -48.265 13.301 4.73676 40.7997 -48.27 12.8618 3.8859 40.5404 -48.275 12.4037 3.08557 40.2235 -48.28 11.9305 2.33864 39.8556 -48.285 11.4455 1.64705 39.4434 -48.29 10.952 1.01184 38.9933 -48.295 10.4531 0.433154 38.512 -48.3 9.95161 -0.0897985 38.0056 -48.305 9.45032 -0.558705 37.4805 -48.31 8.95174 -0.976167 36.9429 -48.315 8.4582 -1.34569 36.3989 -48.32 7.97186 -1.67149 35.8542 -48.325 7.49455 -1.95567 35.3098 -48.33 7.02767 -2.20095 34.7674 -48.335 6.57244 -2.41052 34.2291 -48.34 6.12991 -2.58747 33.6968 -48.345 5.70097 -2.73483 33.172 -48.35 5.28635 -2.85551 32.6561 -48.355 4.88662 -2.95238 32.1501 -48.36 4.5022 -3.0282 31.6545 -48.365 4.13334 -3.08566 31.1699 -48.37 3.78012 -3.12737 30.6964 -48.375 3.44248 -3.15586 30.2336 -48.38 3.1203 -3.17317 29.7818 -48.385 2.81333 -3.18081 29.3407 -48.39 2.52116 -3.18029 28.9103 -48.395 2.24338 -3.17301 28.4899 -48.4 1.97956 -3.16031 28.0794 -48.405 1.72924 -3.14338 27.6785 -48.41 1.49196 -3.12336 27.2866 -48.415 1.26723 -3.10128 26.9037 -48.42 1.05456 -3.07805 26.5293 -48.425 0.853415 -3.05452 26.1632 -48.43 0.663267 -3.0314 25.8049 -48.435 0.48356 -3.00935 25.4544 -48.44 0.313725 -2.98889 25.1112 -48.445 0.153172 -2.97047 24.7751 -48.45 0.00129563 -2.95444 24.4458 -48.455 -0.142543 -2.94105 24.1231 -48.46 -0.278985 -2.93062 23.8066 -48.465 -0.408467 -2.9234 23.4962 -48.47 -0.531406 -2.91963 23.1917 -48.475 -0.648224 -2.91952 22.893 -48.48 -0.759347 -2.92326 22.6 -48.485 -0.865203 -2.93102 22.3125 -48.49 -0.966226 -2.94295 22.0304 -48.495 -1.06285 -2.95916 21.7536 -48.5 -1.15552 -2.97977 21.482 -48.505 -1.24467 -3.00485 21.2155 -48.51 -1.33076 -3.03446 20.954 -48.515 -1.41424 -3.06864 20.6974 -48.52 -1.49555 -3.1074 20.4457 -48.525 -1.57515 -3.15074 20.1988 -48.53 -1.6533 -3.19874 19.9567 -48.535 -1.73021 -3.25152 19.7194 -48.54 -1.8061 -3.30918 19.487 -48.545 -1.88121 -3.37183 19.2594 -48.55 -1.95577 -3.43958 19.0368 -48.555 -2.03003 -3.51252 18.819 -48.56 -2.10424 -3.59074 18.6063 -48.565 -2.17866 -3.67434 18.3985 -48.57 -2.25356 -3.7634 18.1958 -48.575 -2.3292 -3.85801 17.9983 -48.58 -2.40586 -3.95825 17.806 -48.585 -2.48381 -4.06419 17.619 -48.59 -2.56336 -4.17591 17.4374 -48.595 -2.6448 -4.29348 17.2612 -48.6 -2.72834 -4.41698 17.0907 -48.605 -2.81412 -4.54662 16.926 -48.61 -2.90228 -4.68262 16.7673 -48.615 -2.99296 -4.8252 16.6147 -48.62 -3.08632 -4.97457 16.4686 -48.625 -3.18251 -5.13092 16.329 -48.63 -3.28172 -5.29444 16.1964 -48.635 -3.38414 -5.4653 16.0708 -48.64 -3.48994 -5.64367 15.9528 -48.645 -3.59934 -5.8297 15.8425 -48.65 -3.71255 -6.02354 15.7404 -48.655 -3.82979 -6.22532 15.6467 -48.66 -3.9513 -6.43518 15.5619 -48.665 -4.07731 -6.65321 15.4865 -48.67 -4.20808 -6.87954 15.4207 -48.675 -4.34387 -7.11425 15.3652 -48.68 -4.4849 -7.35733 15.3203 -48.685 -4.63114 -7.60856 15.2865 -48.69 -4.78276 -7.8683 15.2646 -48.695 -4.93997 -8.13685 15.2553 -48.7 -5.10294 -8.41444 15.2594 -48.705 -5.27181 -8.70118 15.2775 -48.71 -5.44672 -8.99706 15.3107 -48.715 -5.62778 -9.302 15.3596 -48.72 -5.8151 -9.6158 15.4251 -48.725 -6.00873 -9.93814 15.5082 -48.73 -6.20874 -10.2686 15.6096 -48.735 -6.41516 -10.6067 15.7305 -48.74 -6.62801 -10.9518 15.8716 -48.745 -6.84729 -11.3032 16.034 -48.75 -7.07296 -11.66 16.2186 -48.755 -7.30499 -12.0214 16.4266 -48.76 -7.54331 -12.3863 16.6588 -48.765 -7.78785 -12.7535 16.9165 -48.77 -8.0385 -13.1218 17.2006 -48.775 -8.29513 -13.4899 17.5123 -48.78 -8.55741 -13.8567 17.8522 -48.785 -8.82449 -14.2212 18.2201 -48.79 -9.09599 -14.5808 18.6173 -48.795 -9.37143 -14.9324 19.0452 -48.8 -9.65027 -15.2734 19.5045 -48.805 -9.93181 -15.6008 19.9957 -48.81 -10.2153 -15.9117 20.5187 -48.815 -10.4998 -16.2033 21.0734 -48.82 -10.7843 -16.4726 21.6588 -48.825 -11.0678 -16.7169 22.2741 -48.83 -11.349 -16.9331 22.9176 -48.835 -11.6266 -17.1183 23.5874 -48.84 -11.8992 -17.2697 24.2815 -48.845 -12.1652 -17.3843 24.997 -48.85 -12.4229 -17.4592 25.7311 -48.855 -12.6707 -17.4914 26.4803 -48.86 -12.9066 -17.4779 27.2408 -48.865 -13.1287 -17.4159 28.0085 -48.87 -13.3357 -17.3017 28.7799 -48.875 -13.5267 -17.1333 29.5509 -48.88 -13.6994 -16.9123 30.3143 -48.885 -13.8518 -16.64 31.0636 -48.89 -13.9821 -16.3184 31.7925 -48.895 -14.0888 -15.9496 32.4953 -48.9 -14.1706 -15.5358 33.1669 -48.905 -14.2264 -15.0796 33.8026 -48.91 -14.2555 -14.5837 34.398 -48.915 -14.2573 -14.0513 34.9495 -48.92 -14.2316 -13.4854 35.4539 -48.925 -14.1783 -12.8896 35.9083 -48.93 -14.0978 -12.2676 36.3106 -48.935 -13.9905 -11.6234 36.6588 -48.94 -13.8571 -10.961 36.9518 -48.945 -13.6987 -10.285 37.1888 -48.95 -13.515 -9.60408 37.3685 -48.955 -13.3069 -8.92609 37.4915 -48.96 -13.076 -8.25586 37.5593 -48.965 -12.8241 -7.59777 37.5737 -48.97 -12.5532 -6.95582 37.537 -48.975 -12.2649 -6.3336 37.4514 -48.98 -11.9612 -5.73427 37.3198 -48.985 -11.6439 -5.16062 37.1449 -48.99 -11.3148 -4.61501 36.9302 -48.995 -10.9758 -4.0994 36.6791 -49 -10.6288 -3.61535 36.3953 -49.005 -10.2757 -3.16399 36.083 -49.01 -9.91842 -2.74608 35.7465 -49.015 -9.55882 -2.36196 35.3903 -49.02 -9.19884 -2.01155 35.0194 -49.025 -8.84038 -1.694 34.6381 -49.03 -8.48486 -1.40669 34.2465 -49.035 -8.13347 -1.14829 33.8462 -49.04 -7.78733 -0.917656 33.4393 -49.045 -7.44744 -0.713535 33.0275 -49.05 -7.11472 -0.534618 32.6125 -49.055 -6.78999 -0.379519 32.1959 -49.06 -6.47398 -0.246779 31.7789 -49.065 -6.16731 -0.134867 31.3629 -49.07 -5.87052 -0.0421774 30.9489 -49.075 -5.58405 0.0329663 30.5377 -49.08 -5.30823 0.0923155 30.1304 -49.085 -5.04333 0.137694 29.7273 -49.09 -4.78949 0.170999 29.329 -49.095 -4.54676 0.1942 28.936 -49.1 -4.31511 0.209165 28.5482 -49.105 -4.09433 0.215694 28.1657 -49.11 -3.88422 0.214273 27.7885 -49.115 -3.68459 0.205797 27.4165 -49.12 -3.49522 0.191097 27.0499 -49.125 -3.3159 0.170948 26.6885 -49.13 -3.14638 0.146061 26.3324 -49.135 -2.98642 0.117089 25.9815 -49.14 -2.83576 0.0846233 25.6358 -49.145 -2.69411 0.049195 25.2953 -49.15 -2.56119 0.0112746 24.9598 -49.155 -2.43669 -0.0287276 24.6293 -49.16 -2.32029 -0.0704618 24.3037 -49.165 -2.21165 -0.113639 23.9829 -49.17 -2.11044 -0.15803 23.6667 -49.175 -2.01625 -0.203443 23.3551 -49.18 -1.92877 -0.249685 23.048 -49.185 -1.84777 -0.29659 22.7453 -49.19 -1.77301 -0.344015 22.4469 -49.195 -1.70424 -0.391842 22.1527 -49.2 -1.64123 -0.439976 21.8628 -49.205 -1.58374 -0.488348 21.577 -49.21 -1.53153 -0.536913 21.2952 -49.215 -1.48434 -0.585649 21.0173 -49.22 -1.44194 -0.634562 20.7434 -49.225 -1.40407 -0.683679 20.4734 -49.23 -1.37049 -0.733052 20.2072 -49.235 -1.34095 -0.782758 19.9447 -49.24 -1.31519 -0.832898 19.6859 -49.245 -1.29297 -0.883596 19.4307 -49.25 -1.27417 -0.934905 19.1791 -49.255 -1.25873 -0.98685 18.9311 -49.26 -1.24654 -1.03949 18.6867 -49.265 -1.23754 -1.09288 18.4458 -49.27 -1.23164 -1.14711 18.2083 -49.275 -1.22875 -1.20226 17.9744 -49.28 -1.22879 -1.25843 17.7438 -49.285 -1.23168 -1.31574 17.5167 -49.29 -1.23734 -1.37432 17.2929 -49.295 -1.24568 -1.43429 17.0726 -49.3 -1.25663 -1.49581 16.8556 -49.305 -1.2701 -1.55904 16.6419 -49.31 -1.28602 -1.62415 16.4316 -49.315 -1.3043 -1.69132 16.2246 -49.32 -1.32489 -1.76074 16.021 -49.325 -1.34784 -1.83253 15.8208 -49.33 -1.37317 -1.9068 15.6239 -49.335 -1.40094 -1.9837 15.4304 -49.34 -1.43117 -2.06337 15.2403 -49.345 -1.46389 -2.14597 15.0536 -49.35 -1.49915 -2.23168 14.8703 -49.355 -1.53699 -2.32067 14.6905 -49.36 -1.57746 -2.41314 14.5142 -49.365 -1.6206 -2.5093 14.3415 -49.37 -1.66647 -2.60934 14.1724 -49.375 -1.71513 -2.7135 14.007 -49.38 -1.76664 -2.82201 13.8454 -49.385 -1.82105 -2.93511 13.6876 -49.39 -1.87843 -3.05307 13.5338 -49.395 -1.93886 -3.17614 13.3841 -49.4 -2.0024 -3.30461 13.2386 -49.405 -2.0692 -3.43865 13.0974 -49.41 -2.13946 -3.57842 12.9608 -49.415 -2.21329 -3.72426 12.8289 -49.42 -2.29082 -3.87651 12.7017 -49.425 -2.37218 -4.03552 12.5795 -49.43 -2.45751 -4.20161 12.4624 -49.435 -2.54696 -4.37512 12.3507 -49.44 -2.64068 -4.55638 12.2445 -49.445 -2.73885 -4.74572 12.1443 -49.45 -2.84164 -4.94347 12.0503 -49.455 -2.94923 -5.14995 11.9629 -49.46 -3.06183 -5.3655 11.8826 -49.465 -3.17963 -5.59044 11.8098 -49.47 -3.30284 -5.82509 11.7449 -49.475 -3.43168 -6.06976 11.6885 -49.48 -3.56639 -6.32478 11.6412 -49.485 -3.7072 -6.59047 11.6036 -49.49 -3.85436 -6.86714 11.5763 -49.495 -4.00812 -7.1551 11.5599 -49.5 -4.16875 -7.45467 11.5552 -49.505 -4.33653 -7.76616 11.563 -49.51 -4.51158 -8.08942 11.584 -49.515 -4.69381 -8.42356 11.619 -49.52 -4.88363 -8.76942 11.6692 -49.525 -5.08144 -9.12777 11.7359 -49.53 -5.2876 -9.49918 11.8203 -49.535 -5.50241 -9.88395 11.9237 -49.54 -5.72613 -10.2822 12.0475 -49.545 -5.95895 -10.6938 12.193 -49.55 -6.20102 -11.1184 12.3619 -49.555 -6.45243 -11.5553 12.5554 -49.56 -6.71323 -12.004 12.7752 -49.565 -6.98339 -12.4632 13.0228 -49.57 -7.26286 -12.9317 13.2998 -49.575 -7.55153 -13.4082 13.6079 -49.58 -7.84921 -13.8908 13.9487 -49.585 -8.1557 -14.3776 14.3241 -49.59 -8.47071 -14.8665 14.7358 -49.595 -8.79392 -15.3552 15.1856 -49.6 -9.12496 -15.841 15.6753 -49.605 -9.46339 -16.3211 16.2069 -49.61 -9.80873 -16.7924 16.7823 -49.615 -10.1604 -17.2518 17.4035 -49.62 -10.5172 -17.6972 18.0696 -49.625 -10.8778 -18.1236 18.7804 -49.63 -11.2407 -18.5247 19.5366 -49.635 -11.6045 -18.8942 20.3378 -49.64 -11.9676 -19.2263 21.183 -49.645 -12.3281 -19.5155 22.0705 -49.65 -12.6842 -19.7565 22.9976 -49.655 -13.0336 -19.9442 23.9609 -49.66 -13.3741 -20.0739 24.9562 -49.665 -13.7032 -20.1411 25.9784 -49.67 -14.0183 -20.1417 27.0219 -49.675 -14.3167 -20.0717 28.0799 -49.68 -14.5954 -19.9275 29.1452 -49.685 -14.8514 -19.7058 30.2095 -49.69 -15.0814 -19.4031 31.2639 -49.695 -15.2841 -19.0107 32.3011 -49.7 -15.4569 -18.5325 33.3105 -49.705 -15.5969 -17.9772 34.281 -49.71 -15.7017 -17.3532 35.2028 -49.715 -15.7692 -16.6684 36.0671 -49.72 -15.7981 -15.9304 36.8664 -49.725 -15.7872 -15.1465 37.5944 -49.73 -15.7362 -14.3233 38.2458 -49.735 -15.6451 -13.4674 38.8168 -49.74 -15.5144 -12.5848 39.3043 -49.745 -15.3452 -11.6811 39.7069 -49.75 -15.1389 -10.7617 40.024 -49.755 -14.8976 -9.83132 40.2564 -49.76 -14.6238 -8.89462 40.406 -49.765 -14.3203 -7.95648 40.4756 -49.77 -13.9867 -7.03606 40.4673 -49.775 -13.6251 -6.14506 40.385 -49.78 -13.2387 -5.28935 40.2336 -49.785 -12.8307 -4.47395 40.0185 -49.79 -12.4042 -3.70294 39.7451 -49.795 -11.9622 -2.97953 39.4194 -49.8 -11.5079 -2.30602 39.0475 -49.805 -11.044 -1.68382 38.6358 -49.81 -10.5735 -1.11345 38.191 -49.815 -10.0991 -0.594507 37.72 -49.82 -9.62359 -0.125724 37.2302 -49.825 -9.14964 0.295079 36.729 -49.83 -8.67967 0.670561 36.2212 -49.835 -8.21549 1.00304 35.7067 -49.84 -7.75874 1.2951 35.1885 -49.845 -7.31091 1.54937 34.6692 -49.85 -6.87331 1.76851 34.1514 -49.855 -6.44708 1.95519 33.637 -49.86 -6.0332 2.11213 33.1279 -49.865 -5.63249 2.24206 32.6254 -49.87 -5.24557 2.34776 32.1309 -49.875 -4.87294 2.43201 31.6451 -49.88 -4.51488 2.49765 31.1685 -49.885 -4.17154 2.54753 30.7013 -49.89 -3.84294 2.58418 30.2437 -49.895 -3.52901 2.60864 29.7958 -49.9 -3.2295 2.62244 29.3574 -49.905 -2.94413 2.62715 28.9285 -49.91 -2.67255 2.62421 28.5088 -49.915 -2.41443 2.61496 28.098 -49.92 -2.16939 2.60064 27.6961 -49.925 -1.93704 2.58238 27.3027 -49.93 -1.71696 2.56121 26.9175 -49.935 -1.5087 2.53805 26.5405 -49.94 -1.31179 2.51373 26.1712 -49.945 -1.12573 2.48894 25.8094 -49.95 -0.95002 2.46431 25.4548 -49.955 -0.784103 2.44034 25.1072 -49.96 -0.627417 2.41743 24.7661 -49.965 -0.479434 2.39602 24.4315 -49.97 -0.339662 2.37648 24.1031 -49.975 -0.207611 2.35911 23.7806 -49.98 -0.0828021 2.34419 23.464 -49.985 0.0352414 2.33196 23.1529 -49.99 0.146988 2.32263 22.8473 -49.995 0.2529 2.31638 22.547 -50 0.353433 2.31333 22.2519 diff --git a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_2.txt b/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_2.txt deleted file mode 100644 index 0b6d22d..0000000 --- a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_2.txt +++ /dev/null @@ -1,10005 +0,0 @@ -PARAMETRIC_CURVE_CARTESIAN_3D -t1: 0 -t2: 50 -NumPoints: 10001 -0 10 -5 10 -0.005 9.29075 -4.10119 9.64971 -0.01 8.65867 -3.25329 9.35811 -0.015 8.09707 -2.45356 9.1147 -0.02 7.60026 -1.69841 8.9118 -0.025 7.16357 -0.983951 8.74401 -0.03 6.78253 -0.306417 8.6064 -0.035 6.45287 0.337865 8.49461 -0.04 6.17053 0.952465 8.40478 -0.045 5.93164 1.54085 8.33357 -0.05 5.73253 2.10637 8.27818 -0.055 5.56976 2.65229 8.23633 -0.06 5.44037 3.18204 8.2069 -0.065 5.3425 3.69887 8.1901 -0.07 5.27435 4.20525 8.18572 -0.075 5.23421 4.70355 8.19365 -0.08 5.22047 5.19607 8.21395 -0.085 5.23162 5.68504 8.24685 -0.09 5.26622 6.17257 8.29272 -0.095 5.32296 6.66072 8.35208 -0.1 5.40059 7.15145 8.4256 -0.105 5.49802 7.64651 8.51426 -0.11 5.61463 8.1471 8.61944 -0.115 5.75005 8.65433 8.74245 -0.12 5.90388 9.16914 8.88471 -0.125 6.07573 9.69232 9.04776 -0.13 6.26519 10.2245 9.23329 -0.135 6.47184 10.766 9.44312 -0.14 6.69525 11.3173 9.67921 -0.145 6.93497 11.8784 9.94364 -0.15 7.19057 12.4492 10.2386 -0.155 7.46158 13.0295 10.5666 -0.16 7.74746 13.6188 10.9296 -0.165 8.04777 14.2153 11.3296 -0.17 8.36248 14.8177 11.77 -0.175 8.6914 15.424 12.254 -0.18 9.03414 16.0318 12.7843 -0.185 9.39011 16.6379 13.3634 -0.19 9.75851 17.2391 13.9936 -0.195 10.1384 17.8314 14.6766 -0.2 10.5285 18.4101 15.4139 -0.205 10.9275 18.9704 16.2067 -0.21 11.3338 19.5067 17.0559 -0.215 11.7457 20.013 17.9619 -0.22 12.161 20.4828 18.9249 -0.225 12.5778 20.9091 19.9448 -0.23 12.9938 21.2852 21.0212 -0.235 13.4071 21.6061 22.1516 -0.24 13.8142 21.8612 23.3302 -0.245 14.2117 22.0408 24.5501 -0.25 14.596 22.1366 25.804 -0.255 14.9635 22.1414 27.0835 -0.26 15.3106 22.0498 28.3799 -0.265 15.6339 21.8574 29.6836 -0.27 15.9298 21.5615 30.9842 -0.275 16.1947 21.1605 32.2708 -0.28 16.4253 20.6545 33.5317 -0.285 16.6179 20.0447 34.7545 -0.29 16.7691 19.3339 35.9262 -0.295 16.8754 18.526 37.0329 -0.3 16.9341 17.6217 38.0575 -0.305 16.9443 16.629 38.987 -0.31 16.9048 15.5679 39.8166 -0.315 16.815 14.4566 40.5425 -0.32 16.6749 13.3116 41.162 -0.325 16.4852 12.1479 41.6734 -0.33 16.2471 10.9785 42.0758 -0.335 15.9625 9.81491 42.3697 -0.34 15.6337 8.66686 42.5562 -0.345 15.2637 7.54241 42.6379 -0.35 14.8562 6.4479 42.618 -0.355 14.4154 5.38797 42.5008 -0.36 13.946 4.36556 42.2918 -0.365 13.4532 3.38263 41.9977 -0.37 12.9388 2.45594 41.6331 -0.375 12.4057 1.59464 41.2099 -0.38 11.8585 0.800747 40.7368 -0.385 11.3011 0.0752219 40.2222 -0.39 10.7373 -0.582034 39.6743 -0.395 10.1707 -1.17217 39.1006 -0.4 9.60455 -1.6974 38.5084 -0.405 9.04182 -2.16098 37.9047 -0.41 8.48525 -2.56724 37.296 -0.415 7.93726 -2.92153 36.6885 -0.42 7.40005 -3.22779 36.0856 -0.425 6.87529 -3.48897 35.4888 -0.43 6.36435 -3.7092 34.9005 -0.435 5.86843 -3.89246 34.3227 -0.44 5.3885 -4.04255 33.7569 -0.445 4.92533 -4.16313 33.2045 -0.45 4.47953 -4.25772 32.6664 -0.455 4.05145 -4.32965 32.1429 -0.46 3.6413 -4.38213 31.6343 -0.465 3.24905 -4.41819 31.1402 -0.47 2.8746 -4.44066 30.6606 -0.475 2.51776 -4.45169 30.1954 -0.48 2.17806 -4.45315 29.7439 -0.485 1.855 -4.44675 29.3058 -0.49 1.54806 -4.4341 28.8803 -0.495 1.25671 -4.41671 28.467 -0.5 0.980397 -4.39593 28.0653 -0.505 0.718542 -4.37304 27.6748 -0.51 0.470557 -4.34917 27.2951 -0.515 0.235829 -4.32534 26.9255 -0.52 0.0137287 -4.30246 26.5658 -0.525 -0.196394 -4.28133 26.2155 -0.53 -0.395208 -4.2626 25.8743 -0.535 -0.5834 -4.24684 25.5417 -0.54 -0.761676 -4.23449 25.2175 -0.545 -0.930764 -4.22585 24.9012 -0.55 -1.09147 -4.22121 24.5926 -0.555 -1.24449 -4.22085 24.2912 -0.56 -1.39029 -4.22504 23.9969 -0.565 -1.52932 -4.23401 23.7095 -0.57 -1.66208 -4.24796 23.429 -0.575 -1.78903 -4.26709 23.1551 -0.58 -1.91067 -4.29154 22.8878 -0.585 -2.02749 -4.32147 22.6269 -0.59 -2.13998 -4.357 22.3723 -0.595 -2.24866 -4.39822 22.124 -0.6 -2.35403 -4.4452 21.8819 -0.605 -2.45661 -4.498 21.6459 -0.61 -2.55691 -4.55665 21.4159 -0.615 -2.65547 -4.62115 21.1919 -0.62 -2.75282 -4.6915 20.9739 -0.625 -2.84934 -4.76768 20.7619 -0.63 -2.94518 -4.84982 20.556 -0.635 -3.0406 -4.93801 20.3563 -0.64 -3.13583 -5.03236 20.1631 -0.645 -3.23112 -5.13297 19.9763 -0.65 -3.32673 -5.23992 19.7961 -0.655 -3.42292 -5.35327 19.6227 -0.66 -3.51996 -5.47309 19.4562 -0.665 -3.61812 -5.59943 19.2967 -0.67 -3.71767 -5.73234 19.1445 -0.675 -3.81892 -5.87183 18.9998 -0.68 -3.92213 -6.01793 18.8627 -0.685 -4.02762 -6.17065 18.7334 -0.69 -4.13569 -6.32998 18.6121 -0.695 -4.24663 -6.49592 18.4992 -0.7 -4.36065 -6.6684 18.3948 -0.705 -4.47782 -6.84751 18.2993 -0.71 -4.59829 -7.03342 18.2131 -0.715 -4.72217 -7.22625 18.1367 -0.72 -4.84961 -7.42605 18.0704 -0.725 -4.98071 -7.63287 18.0148 -0.73 -5.11561 -7.84669 17.9701 -0.735 -5.25442 -8.06743 17.9371 -0.74 -5.39727 -8.29501 17.916 -0.745 -5.54426 -8.52927 17.9074 -0.75 -5.69552 -8.77001 17.9119 -0.755 -5.85115 -9.017 17.93 -0.76 -6.01127 -9.26996 17.9621 -0.765 -6.17598 -9.52857 18.009 -0.77 -6.34538 -9.79244 18.0712 -0.775 -6.51959 -10.0612 18.1492 -0.78 -6.6987 -10.3343 18.2437 -0.785 -6.88271 -10.6114 18.3551 -0.79 -7.0711 -10.8921 18.483 -0.795 -7.26382 -11.1756 18.6285 -0.8 -7.4609 -11.4613 18.7928 -0.805 -7.6623 -11.7481 18.9771 -0.81 -7.86791 -12.035 19.1822 -0.815 -8.07757 -12.321 19.4089 -0.82 -8.29104 -12.6049 19.6578 -0.825 -8.50803 -12.8854 19.9294 -0.83 -8.72819 -13.1612 20.224 -0.835 -8.95111 -13.4308 20.5417 -0.84 -9.1763 -13.6927 20.8825 -0.845 -9.40324 -13.9454 21.2462 -0.85 -9.6313 -14.1871 21.6326 -0.855 -9.85985 -14.416 22.0411 -0.86 -10.0881 -14.6304 22.4712 -0.865 -10.3154 -14.8283 22.922 -0.87 -10.5407 -15.0076 23.3926 -0.875 -10.7633 -15.1663 23.882 -0.88 -10.9821 -15.302 24.3888 -0.885 -11.196 -15.4127 24.9116 -0.89 -11.4041 -15.4958 25.449 -0.895 -11.6052 -15.5492 25.9996 -0.9 -11.7992 -15.5715 26.5621 -0.905 -11.9845 -15.5616 27.133 -0.91 -12.1597 -15.5185 27.7083 -0.915 -12.3232 -15.4415 28.2842 -0.92 -12.4739 -15.3302 28.8572 -0.925 -12.6105 -15.1844 29.4238 -0.93 -12.7321 -15.0041 29.9807 -0.935 -12.8377 -14.7897 30.5246 -0.94 -12.9263 -14.5418 31.0525 -0.945 -12.9974 -14.2612 31.5615 -0.95 -13.0503 -13.9492 32.0488 -0.955 -13.0845 -13.6071 32.5117 -0.96 -13.0995 -13.2366 32.9478 -0.965 -13.0952 -12.8396 33.3546 -0.97 -13.0714 -12.4183 33.73 -0.975 -13.028 -11.9752 34.0718 -0.98 -12.9651 -11.5129 34.378 -0.985 -12.8824 -11.0354 34.646 -0.99 -12.7798 -10.5472 34.8739 -0.995 -12.6582 -10.0524 35.0617 -1 -12.5185 -9.55437 35.21 -1.005 -12.3615 -9.0565 35.3192 -1.01 -12.1882 -8.56191 35.3899 -1.015 -11.9997 -8.07346 35.4231 -1.02 -11.7969 -7.59384 35.4199 -1.025 -11.5809 -7.12545 35.3814 -1.03 -11.353 -6.67052 35.3092 -1.035 -11.1142 -6.23101 35.2046 -1.04 -10.8659 -5.80869 35.0697 -1.045 -10.6094 -5.40507 34.9062 -1.05 -10.3459 -5.02145 34.7162 -1.055 -10.0769 -4.6589 34.5022 -1.06 -9.80371 -4.31827 34.2666 -1.065 -9.52792 -4.00017 34.0119 -1.07 -9.25094 -3.70483 33.7411 -1.075 -8.9737 -3.43148 33.4561 -1.08 -8.69723 -3.17981 33.1587 -1.085 -8.42251 -2.94951 32.8505 -1.09 -8.1505 -2.74018 32.533 -1.095 -7.88203 -2.5513 32.2076 -1.1 -7.61791 -2.38228 31.8757 -1.105 -7.35887 -2.23242 31.5385 -1.11 -7.10555 -2.10093 31.1973 -1.115 -6.85855 -1.98692 30.8533 -1.12 -6.61838 -1.88941 30.5075 -1.125 -6.3855 -1.80732 30.1609 -1.13 -6.16028 -1.73947 29.8144 -1.135 -5.94305 -1.68459 29.4689 -1.14 -5.73405 -1.64132 29.1251 -1.145 -5.53345 -1.60819 28.7838 -1.15 -5.34136 -1.58383 28.4454 -1.155 -5.1578 -1.56859 28.1098 -1.16 -4.98271 -1.56209 27.777 -1.165 -4.81605 -1.56367 27.4472 -1.17 -4.65775 -1.57271 27.1205 -1.175 -4.50772 -1.58861 26.7972 -1.18 -4.36588 -1.61084 26.4775 -1.185 -4.23214 -1.63887 26.1614 -1.19 -4.10637 -1.67225 25.849 -1.195 -3.98845 -1.71054 25.5406 -1.2 -3.87825 -1.75336 25.2361 -1.205 -3.77563 -1.80036 24.9356 -1.21 -3.68042 -1.85122 24.6392 -1.215 -3.59245 -1.90568 24.3468 -1.22 -3.51155 -1.9635 24.0586 -1.225 -3.43753 -2.02449 23.7744 -1.23 -3.37017 -2.08851 23.4943 -1.235 -3.30911 -2.15552 23.2183 -1.24 -3.25419 -2.22544 22.9466 -1.245 -3.20531 -2.29816 22.679 -1.25 -3.16236 -2.37358 22.4156 -1.255 -3.12526 -2.45164 22.1565 -1.26 -3.09389 -2.5323 21.9015 -1.265 -3.06814 -2.61553 21.6508 -1.27 -3.0479 -2.70134 21.4045 -1.275 -3.03306 -2.78976 21.1624 -1.28 -3.0235 -2.88083 20.9248 -1.285 -3.01909 -2.97462 20.6915 -1.29 -3.01971 -3.07124 20.4628 -1.295 -3.02522 -3.17079 20.2385 -1.3 -3.0355 -3.27343 20.019 -1.305 -3.0504 -3.37931 19.8041 -1.31 -3.06978 -3.48862 19.5939 -1.315 -3.0935 -3.60158 19.3886 -1.32 -3.1214 -3.71841 19.1883 -1.325 -3.15344 -3.83928 18.9931 -1.33 -3.18977 -3.96418 18.8031 -1.335 -3.23044 -4.09326 18.6184 -1.34 -3.27549 -4.22668 18.4391 -1.345 -3.32495 -4.36459 18.2654 -1.35 -3.37887 -4.50717 18.0974 -1.355 -3.43728 -4.65458 17.9352 -1.36 -3.50023 -4.807 17.7792 -1.365 -3.56775 -4.96461 17.6294 -1.37 -3.63988 -5.12758 17.4862 -1.375 -3.71668 -5.29611 17.3497 -1.38 -3.79818 -5.47039 17.2202 -1.385 -3.88441 -5.65061 17.0982 -1.39 -3.97544 -5.83696 16.9837 -1.395 -4.0713 -6.02966 16.8772 -1.4 -4.17203 -6.2289 16.7791 -1.405 -4.27768 -6.4349 16.6897 -1.41 -4.38829 -6.64787 16.6094 -1.415 -4.50391 -6.868 16.5387 -1.42 -4.62458 -7.09477 16.4777 -1.425 -4.75046 -7.32833 16.427 -1.43 -4.88174 -7.56904 16.3873 -1.435 -5.0186 -7.81719 16.3591 -1.44 -5.16117 -8.07299 16.3432 -1.445 -5.30959 -8.33655 16.34 -1.45 -5.46396 -8.60789 16.3504 -1.455 -5.62434 -8.88696 16.3749 -1.46 -5.79082 -9.17361 16.4144 -1.465 -5.96341 -9.46761 16.4695 -1.47 -6.14214 -9.76862 16.541 -1.475 -6.32699 -10.0763 16.6297 -1.48 -6.51795 -10.39 16.7362 -1.485 -6.71495 -10.7093 16.8615 -1.49 -6.91793 -11.0335 17.0063 -1.495 -7.12679 -11.3618 17.1715 -1.5 -7.34142 -11.6933 17.3578 -1.505 -7.56167 -12.0272 17.5662 -1.51 -7.78739 -12.3624 17.7976 -1.515 -8.01839 -12.6979 18.0527 -1.52 -8.25447 -13.0324 18.3327 -1.525 -8.49541 -13.3646 18.6383 -1.53 -8.74092 -13.6933 18.9704 -1.535 -8.99033 -14.0177 19.3283 -1.54 -9.2431 -14.3353 19.7129 -1.545 -9.49868 -14.6435 20.1247 -1.55 -9.75645 -14.9395 20.5641 -1.555 -10.0157 -15.2209 21.0312 -1.56 -10.2756 -15.4851 21.5258 -1.565 -10.5353 -15.7294 22.0473 -1.57 -10.7939 -15.9515 22.5947 -1.575 -11.0503 -16.1488 23.1668 -1.58 -11.3033 -16.319 23.7621 -1.585 -11.5518 -16.4596 24.3786 -1.59 -11.7945 -16.5682 25.0142 -1.595 -12.0301 -16.6427 25.6664 -1.6 -12.257 -16.6806 26.3323 -1.605 -12.4737 -16.6797 27.0086 -1.61 -12.6786 -16.6379 27.692 -1.615 -12.87 -16.553 28.3786 -1.62 -13.0473 -16.4204 29.0661 -1.625 -13.2093 -16.2396 29.7499 -1.63 -13.3542 -16.0131 30.424 -1.635 -13.4801 -15.7433 31.0827 -1.64 -13.5857 -15.4327 31.7207 -1.645 -13.6698 -15.0839 32.3333 -1.65 -13.7314 -14.6993 32.9163 -1.655 -13.7696 -14.2815 33.4657 -1.66 -13.7839 -13.8332 33.9784 -1.665 -13.774 -13.3569 34.4513 -1.67 -13.7398 -12.8552 34.882 -1.675 -13.6814 -12.331 35.2687 -1.68 -13.5991 -11.7867 35.6098 -1.685 -13.4935 -11.2252 35.9043 -1.69 -13.3653 -10.6492 36.1516 -1.695 -13.2157 -10.0615 36.3516 -1.7 -13.0458 -9.46483 36.5047 -1.705 -12.8561 -8.865 36.6111 -1.71 -12.6462 -8.27191 36.6703 -1.715 -12.4177 -7.68933 36.6838 -1.72 -12.1723 -7.12046 36.653 -1.725 -11.9118 -6.56822 36.5798 -1.73 -11.6378 -6.03519 36.466 -1.735 -11.352 -5.52365 36.3141 -1.74 -11.056 -5.03556 36.1263 -1.745 -10.7514 -4.57256 35.9054 -1.75 -10.4398 -4.13601 35.6543 -1.755 -10.1228 -3.72691 35.3759 -1.76 -9.80184 -3.34599 35.0738 -1.765 -9.47851 -2.99363 34.7513 -1.77 -9.15429 -2.66994 34.4123 -1.775 -8.83063 -2.37466 34.0608 -1.78 -8.50899 -2.10727 33.7009 -1.785 -8.19077 -1.86671 33.3362 -1.79 -7.87716 -1.65069 32.9651 -1.795 -7.569 -1.45795 32.5884 -1.8 -7.26704 -1.28739 32.2076 -1.805 -6.97197 -1.13787 31.824 -1.81 -6.6844 -1.00826 31.4388 -1.815 -6.40488 -0.897361 31.0531 -1.82 -6.13389 -0.803996 30.6678 -1.825 -5.87184 -0.726939 30.2839 -1.83 -5.61909 -0.664949 29.9021 -1.835 -5.37591 -0.616761 29.5229 -1.84 -5.14251 -0.581086 29.1471 -1.845 -4.91903 -0.556615 28.7749 -1.85 -4.70556 -0.542012 28.4067 -1.855 -4.50209 -0.535921 28.0428 -1.86 -4.30857 -0.536962 27.6831 -1.865 -4.12481 -0.544633 27.3278 -1.87 -3.95056 -0.558902 26.977 -1.875 -3.78564 -0.579113 26.6306 -1.88 -3.62985 -0.604656 26.2888 -1.885 -3.483 -0.634968 25.9516 -1.89 -3.34486 -0.669532 25.6189 -1.895 -3.21523 -0.707876 25.2907 -1.9 -3.09387 -0.749573 24.9671 -1.905 -2.98056 -0.794246 24.6479 -1.91 -2.87505 -0.841558 24.3333 -1.915 -2.77709 -0.891224 24.0231 -1.92 -2.68643 -0.943 23.7173 -1.925 -2.60279 -0.996691 23.4159 -1.93 -2.52592 -1.05215 23.1189 -1.935 -2.45552 -1.10926 22.826 -1.94 -2.39131 -1.16798 22.5374 -1.945 -2.33297 -1.22825 22.253 -1.95 -2.28032 -1.28998 21.9727 -1.955 -2.23322 -1.35312 21.6965 -1.96 -2.19152 -1.41762 21.4243 -1.965 -2.15507 -1.48345 21.1562 -1.97 -2.12371 -1.55063 20.8922 -1.975 -2.0973 -1.61917 20.6321 -1.98 -2.07568 -1.6891 20.376 -1.985 -2.05868 -1.76051 20.1238 -1.99 -2.04617 -1.83346 19.8756 -1.995 -2.03797 -1.90807 19.6314 -2 -2.03392 -1.98445 19.3911 -2.005 -2.03387 -2.06277 19.1547 -2.01 -2.03765 -2.14317 18.9223 -2.015 -2.0451 -2.22586 18.6938 -2.02 -2.05605 -2.31103 18.4693 -2.025 -2.07055 -2.39878 18.2488 -2.03 -2.08861 -2.48919 18.0324 -2.035 -2.11023 -2.58239 17.8201 -2.04 -2.13541 -2.67854 17.6118 -2.045 -2.16414 -2.77779 17.4077 -2.05 -2.19645 -2.8803 17.2078 -2.055 -2.23231 -2.98626 17.0121 -2.06 -2.27176 -3.09585 16.8208 -2.065 -2.31479 -3.20928 16.6339 -2.07 -2.36142 -3.32676 16.4515 -2.075 -2.41167 -3.44852 16.2737 -2.08 -2.46556 -3.5748 16.1007 -2.085 -2.52311 -3.70583 15.9325 -2.09 -2.58433 -3.8419 15.7693 -2.095 -2.64927 -3.98326 15.6113 -2.1 -2.71795 -4.13019 15.4586 -2.105 -2.79052 -4.28278 15.3115 -2.11 -2.86712 -4.44128 15.1702 -2.115 -2.94786 -4.606 15.0348 -2.12 -3.03286 -4.77723 14.9055 -2.125 -3.12226 -4.95528 14.7826 -2.13 -3.21617 -5.14041 14.6663 -2.135 -3.31473 -5.33289 14.557 -2.14 -3.41808 -5.533 14.4549 -2.145 -3.52635 -5.74099 14.3605 -2.15 -3.6397 -5.95709 14.2742 -2.155 -3.75826 -6.18155 14.1964 -2.16 -3.8822 -6.41458 14.1276 -2.165 -4.01166 -6.65641 14.0684 -2.17 -4.14681 -6.90725 14.0193 -2.175 -4.28781 -7.16728 13.9809 -2.18 -4.43483 -7.4367 13.9538 -2.185 -4.58804 -7.71569 13.9387 -2.19 -4.74761 -8.00442 13.9363 -2.195 -4.91373 -8.30304 13.9474 -2.2 -5.08656 -8.61168 13.9727 -2.205 -5.26607 -8.92975 14.0128 -2.21 -5.45245 -9.25732 14.0687 -2.215 -5.64597 -9.59464 14.1416 -2.22 -5.84684 -9.94178 14.2327 -2.225 -6.05522 -10.2986 14.3431 -2.23 -6.27123 -10.665 14.4742 -2.235 -6.49493 -11.0403 14.6269 -2.24 -6.72635 -11.4239 14.8026 -2.245 -6.96544 -11.8152 15.0024 -2.25 -7.21213 -12.2131 15.2274 -2.255 -7.46629 -12.6164 15.479 -2.26 -7.72775 -13.0239 15.7582 -2.265 -7.99627 -13.4341 16.0662 -2.27 -8.27158 -13.8452 16.4042 -2.275 -8.55336 -14.2555 16.7734 -2.28 -8.84123 -14.663 17.175 -2.285 -9.13477 -15.0654 17.6101 -2.29 -9.43351 -15.4604 18.08 -2.295 -9.7369 -15.8457 18.5856 -2.3 -10.044 -16.2206 19.1261 -2.305 -10.3539 -16.5806 19.7021 -2.31 -10.6655 -16.921 20.3137 -2.315 -10.9778 -17.2372 20.9608 -2.32 -11.2893 -17.5248 21.6426 -2.325 -11.5988 -17.7796 22.3579 -2.33 -11.9048 -17.9979 23.1048 -2.335 -12.2058 -18.1758 23.881 -2.34 -12.5001 -18.31 24.6836 -2.345 -12.7858 -18.3973 25.5091 -2.35 -13.0612 -18.4347 26.3537 -2.355 -13.3241 -18.4196 27.2128 -2.36 -13.5725 -18.3494 28.0813 -2.365 -13.8042 -18.2219 28.9539 -2.37 -14.0169 -18.035 29.8243 -2.375 -14.208 -17.7871 30.6859 -2.38 -14.3755 -17.4748 31.5318 -2.385 -14.5185 -17.0898 32.3556 -2.39 -14.6352 -16.6392 33.1499 -2.395 -14.7238 -16.1321 33.9075 -2.4 -14.783 -15.577 34.6223 -2.405 -14.8115 -14.9817 35.2885 -2.41 -14.8086 -14.3531 35.9016 -2.415 -14.7738 -13.6977 36.4575 -2.42 -14.7072 -13.0211 36.953 -2.425 -14.6088 -12.3284 37.3858 -2.43 -14.4794 -11.6239 37.7541 -2.435 -14.3199 -10.9112 38.0572 -2.44 -14.1316 -10.1933 38.2948 -2.445 -13.916 -9.47246 38.4678 -2.45 -13.6752 -8.75021 38.5775 -2.455 -13.4114 -8.02748 38.6262 -2.46 -13.1274 -7.3045 38.6169 -2.465 -12.8251 -6.5849 38.5528 -2.47 -12.5031 -5.88892 38.4357 -2.475 -12.1636 -5.22238 38.2687 -2.48 -11.8089 -4.58828 38.0557 -2.485 -11.4417 -3.98908 37.8006 -2.49 -11.0644 -3.42667 37.5072 -2.495 -10.6791 -2.90238 37.1797 -2.5 -10.2881 -2.41701 36.8222 -2.505 -9.89344 -1.97077 36.439 -2.51 -9.49716 -1.56333 36.0344 -2.515 -9.10112 -1.19381 35.6131 -2.52 -8.70713 -0.860774 35.1795 -2.525 -8.31688 -0.562214 34.7383 -2.53 -7.93197 -0.295657 34.2942 -2.535 -7.55378 -0.0596242 33.8469 -2.54 -7.18334 0.14751 33.3972 -2.545 -6.82153 0.327667 32.9468 -2.55 -6.46912 0.482746 32.497 -2.555 -6.12681 0.614621 32.0492 -2.56 -5.79519 0.725145 31.6046 -2.565 -5.47474 0.816145 31.1641 -2.57 -5.16585 0.889428 30.7286 -2.575 -4.86882 0.946774 30.2986 -2.58 -4.58385 0.989943 29.8745 -2.585 -4.31102 1.02067 29.4568 -2.59 -4.05034 1.04067 29.0455 -2.595 -3.80172 1.05162 28.6405 -2.6 -3.56495 1.05456 28.2419 -2.605 -3.33979 1.05023 27.8499 -2.61 -3.12597 1.03959 27.4643 -2.615 -2.9232 1.02354 27.0851 -2.62 -2.73117 1.00292 26.7121 -2.625 -2.54958 0.978508 26.3453 -2.63 -2.3781 0.951003 25.9844 -2.635 -2.21638 0.921045 25.6295 -2.64 -2.06408 0.889206 25.2803 -2.645 -1.92083 0.855992 24.9368 -2.65 -1.78625 0.821843 24.5987 -2.655 -1.65996 0.787132 24.266 -2.66 -1.54154 0.752165 23.9385 -2.665 -1.43058 0.717184 23.6161 -2.67 -1.32665 0.682389 23.2985 -2.675 -1.22938 0.648005 22.9857 -2.68 -1.13847 0.61421 22.6775 -2.685 -1.05361 0.581157 22.3739 -2.69 -0.974516 0.548979 22.0747 -2.695 -0.900881 0.517785 21.7798 -2.7 -0.832408 0.487662 21.4892 -2.705 -0.768801 0.458675 21.2027 -2.71 -0.709761 0.430866 20.9203 -2.715 -0.654992 0.404257 20.6419 -2.72 -0.604196 0.378844 20.3673 -2.725 -0.557076 0.354605 20.0965 -2.73 -0.513336 0.331493 19.8294 -2.735 -0.47269 0.309448 19.566 -2.74 -0.434971 0.288479 19.3062 -2.745 -0.400035 0.268593 19.0499 -2.75 -0.367734 0.249784 18.7971 -2.755 -0.33792 0.232042 18.5477 -2.76 -0.310444 0.215344 18.3017 -2.765 -0.285156 0.199664 18.059 -2.77 -0.261909 0.184968 17.8195 -2.775 -0.240553 0.171212 17.5833 -2.78 -0.22094 0.158347 17.3503 -2.785 -0.202922 0.146318 17.1203 -2.79 -0.186349 0.135058 16.8935 -2.795 -0.171073 0.124498 16.6696 -2.8 -0.156947 0.114558 16.4487 -2.805 -0.143888 0.105207 16.2308 -2.81 -0.131857 0.0964434 16.0157 -2.815 -0.120805 0.0882542 15.8036 -2.82 -0.110681 0.080623 15.5942 -2.825 -0.101431 0.07353 15.3876 -2.83 -0.0930015 0.0669522 15.1838 -2.835 -0.0853364 0.0608635 14.9826 -2.84 -0.0783788 0.0552343 14.7842 -2.845 -0.0720705 0.0500319 14.5883 -2.85 -0.0663515 0.0452202 14.3951 -2.855 -0.0611607 0.0407602 14.2045 -2.86 -0.0564356 0.0366092 14.0163 -2.865 -0.0521124 0.0327216 13.8307 -2.87 -0.0481256 0.0290483 13.6475 -2.875 -0.0444354 0.0255604 13.4667 -2.88 -0.0410568 0.0222756 13.2883 -2.885 -0.03798 0.0191909 13.1123 -2.89 -0.0351935 0.0163007 12.9387 -2.895 -0.0326845 0.013598 12.7673 -2.9 -0.0304392 0.011074 12.5982 -2.905 -0.0284427 0.00871841 12.4313 -2.91 -0.0266788 0.00651946 12.2667 -2.915 -0.0251306 0.00446368 12.1042 -2.92 -0.0237797 0.00253602 11.9439 -2.925 -0.0226068 0.000719873 11.7857 -2.93 -0.0215913 -0.00100298 11.6296 -2.935 -0.0207118 -0.00265234 11.4756 -2.94 -0.0199456 -0.00424959 11.3236 -2.945 -0.0192689 -0.0058177 11.1736 -2.95 -0.0186594 -0.0073788 11.0256 -2.955 -0.0181275 -0.00892551 10.8796 -2.96 -0.0176804 -0.0104521 10.7355 -2.965 -0.0173197 -0.0119583 10.5933 -2.97 -0.0170464 -0.0134447 10.453 -2.975 -0.0168604 -0.0149132 10.3145 -2.98 -0.0167615 -0.0163665 10.1779 -2.985 -0.0167484 -0.0178081 10.0431 -2.99 -0.0168192 -0.0192428 9.9101 -2.995 -0.0169715 -0.0206763 9.77884 -3 -0.0172021 -0.0221151 9.64933 -3.005 -0.0175071 -0.0235669 9.52153 -3.01 -0.017882 -0.0250403 9.39542 -3.015 -0.0183216 -0.0265449 9.27098 -3.02 -0.0188199 -0.0280913 9.14819 -3.025 -0.0193705 -0.0296912 9.02703 -3.03 -0.0199662 -0.0313569 8.90747 -3.035 -0.0205989 -0.0331021 8.7895 -3.04 -0.0212613 -0.0349404 8.67308 -3.045 -0.021967 -0.0368664 8.55821 -3.05 -0.0227255 -0.0388768 8.44487 -3.055 -0.0235408 -0.0409738 8.33302 -3.06 -0.0244165 -0.0431601 8.22265 -3.065 -0.0253563 -0.0454394 8.11375 -3.07 -0.0263639 -0.0478161 8.00629 -3.075 -0.0274428 -0.0502954 7.90025 -3.08 -0.0285963 -0.0528832 7.79562 -3.085 -0.0298278 -0.0555863 7.69238 -3.09 -0.0311407 -0.0584123 7.5905 -3.095 -0.0325381 -0.0613695 7.48998 -3.1 -0.0340232 -0.064467 7.39078 -3.105 -0.0355989 -0.0677147 7.29291 -3.11 -0.0372682 -0.0711232 7.19633 -3.115 -0.039034 -0.0747041 7.10103 -3.12 -0.0408991 -0.0784695 7.00699 -3.125 -0.0428662 -0.0824326 6.9142 -3.13 -0.0449379 -0.0866071 6.82264 -3.135 -0.0471167 -0.0910076 6.7323 -3.14 -0.0494053 -0.0956495 6.64316 -3.145 -0.0518058 -0.100549 6.55519 -3.15 -0.0543207 -0.105723 6.4684 -3.155 -0.0569675 -0.111183 6.38276 -3.16 -0.0597726 -0.116933 6.29825 -3.165 -0.0627389 -0.122986 6.21487 -3.17 -0.0658698 -0.129357 6.1326 -3.175 -0.06917 -0.136064 6.05142 -3.18 -0.0726454 -0.143125 5.97132 -3.185 -0.0763028 -0.15056 5.89228 -3.19 -0.0801504 -0.158392 5.8143 -3.195 -0.0841973 -0.166643 5.73736 -3.2 -0.0884539 -0.17534 5.66143 -3.205 -0.0929316 -0.18451 5.58653 -3.21 -0.0976431 -0.194181 5.51262 -3.215 -0.102602 -0.204386 5.4397 -3.22 -0.107823 -0.215156 5.36775 -3.225 -0.113323 -0.226525 5.29677 -3.23 -0.119118 -0.23853 5.22675 -3.235 -0.125227 -0.251208 5.15766 -3.24 -0.131669 -0.264598 5.08951 -3.245 -0.138464 -0.278743 5.02228 -3.25 -0.145635 -0.293685 4.95596 -3.255 -0.153204 -0.309469 4.89054 -3.26 -0.161195 -0.32614 4.82601 -3.265 -0.169633 -0.343748 4.76237 -3.27 -0.178544 -0.362343 4.6996 -3.275 -0.187956 -0.381975 4.6377 -3.28 -0.197897 -0.402699 4.57666 -3.285 -0.208396 -0.42457 4.51647 -3.29 -0.219485 -0.447644 4.45712 -3.295 -0.231194 -0.47198 4.3986 -3.3 -0.243558 -0.497639 4.34092 -3.305 -0.256634 -0.524693 4.28408 -3.31 -0.270514 -0.553239 4.22811 -3.315 -0.285212 -0.583359 4.173 -3.32 -0.300746 -0.61514 4.11873 -3.325 -0.317141 -0.648678 4.06527 -3.33 -0.334426 -0.68408 4.01262 -3.335 -0.352637 -0.721458 3.96076 -3.34 -0.371817 -0.760936 3.90969 -3.345 -0.392015 -0.802643 3.85941 -3.35 -0.413285 -0.846719 3.80992 -3.355 -0.43569 -0.893313 3.76123 -3.36 -0.459295 -0.942581 3.71336 -3.365 -0.484175 -0.994688 3.66633 -3.37 -0.51041 -1.04981 3.62014 -3.375 -0.538086 -1.10812 3.57483 -3.38 -0.567296 -1.16982 3.53043 -3.385 -0.598137 -1.23511 3.48697 -3.39 -0.630715 -1.30419 3.44448 -3.395 -0.66514 -1.37728 3.40302 -3.4 -0.701531 -1.45461 3.36262 -3.405 -0.740011 -1.53641 3.32335 -3.41 -0.780709 -1.62291 3.28524 -3.415 -0.823761 -1.71439 3.24837 -3.42 -0.86931 -1.81108 3.21279 -3.425 -0.917505 -1.91326 3.17858 -3.43 -0.968499 -2.02121 3.1458 -3.435 -1.02245 -2.13522 3.11454 -3.44 -1.07954 -2.25557 3.08487 -3.445 -1.13992 -2.38257 3.05687 -3.45 -1.20381 -2.51644 3.03082 -3.455 -1.27148 -2.65696 3.00791 -3.46 -1.3431 -2.80472 2.98809 -3.465 -1.41885 -2.96046 2.97108 -3.47 -1.49889 -3.12491 2.95671 -3.475 -1.58342 -3.29881 2.9449 -3.48 -1.67268 -3.48286 2.93566 -3.485 -1.76689 -3.67779 2.9291 -3.49 -1.86633 -3.88431 2.92542 -3.495 -1.97126 -4.10311 2.92493 -3.5 -2.082 -4.33489 2.92801 -3.505 -2.19886 -4.58035 2.93515 -3.51 -2.32219 -4.84015 2.94693 -3.515 -2.45234 -5.11499 2.96404 -3.52 -2.5897 -5.40552 2.98723 -3.525 -2.73468 -5.71242 3.01737 -3.53 -2.88768 -6.03634 3.05544 -3.535 -3.04917 -6.37793 3.10247 -3.54 -3.21959 -6.73783 3.15961 -3.545 -3.39943 -7.11668 3.22812 -3.55 -3.58919 -7.51512 3.30933 -3.555 -3.7894 -7.93376 3.40467 -3.56 -4.00061 -8.37324 3.51567 -3.565 -4.22336 -8.83415 3.64396 -3.57 -4.45825 -9.31711 3.79124 -3.575 -4.70588 -9.82271 3.95932 -3.58 -4.96688 -10.3515 4.15013 -3.585 -5.24188 -10.9042 4.36564 -3.59 -5.53155 -11.4813 4.60797 -3.595 -5.83618 -12.0826 4.87937 -3.6 -6.15537 -12.707 5.18308 -3.605 -6.48994 -13.3553 5.52294 -3.61 -6.84061 -14.0277 5.90283 -3.615 -7.20793 -14.7237 6.32665 -3.62 -7.59224 -15.442 6.79833 -3.625 -7.99369 -16.1806 7.32185 -3.63 -8.41227 -16.9367 7.90119 -3.635 -8.84774 -17.7066 8.54036 -3.64 -9.29969 -18.4862 9.24342 -3.645 -9.76753 -19.2701 10.0144 -3.65 -10.2505 -20.0527 10.8575 -3.655 -10.7475 -20.8272 11.7768 -3.66 -11.2575 -21.5862 12.7765 -3.665 -11.779 -22.3217 13.8606 -3.67 -12.3105 -23.0253 15.033 -3.675 -12.8495 -23.6907 16.2921 -3.68 -13.393 -24.3025 17.6381 -3.685 -13.9378 -24.8445 19.0702 -3.69 -14.48 -25.3015 20.5852 -3.695 -15.0157 -25.6596 22.1775 -3.7 -15.5404 -25.9059 23.8393 -3.705 -16.0491 -26.0289 25.5603 -3.71 -16.5366 -26.0178 27.3279 -3.715 -16.9971 -25.8633 29.1273 -3.72 -17.4246 -25.5571 30.9412 -3.725 -17.8126 -25.092 32.75 -3.73 -18.1541 -24.4619 34.5317 -3.735 -18.4435 -23.6536 36.2636 -3.74 -18.677 -22.6626 37.922 -3.745 -18.8486 -21.5169 39.4824 -3.75 -18.9537 -20.2429 40.9231 -3.755 -18.9886 -18.8649 42.2264 -3.76 -18.9511 -17.405 43.3777 -3.765 -18.8403 -15.8827 44.366 -3.77 -18.6565 -14.3156 45.1839 -3.775 -18.4012 -12.7187 45.8275 -3.78 -18.0775 -11.1049 46.2961 -3.785 -17.6893 -9.48481 46.5928 -3.79 -17.2422 -7.86667 46.724 -3.795 -16.7428 -6.25713 46.6996 -3.8 -16.1923 -4.69575 46.5293 -3.805 -15.5944 -3.21408 46.2263 -3.81 -14.9559 -1.82376 45.8063 -3.815 -14.2836 -0.533589 45.2852 -3.82 -13.5839 0.650469 44.6789 -3.825 -12.8631 1.72528 44.0038 -3.83 -12.1276 2.69056 43.2763 -3.835 -11.3831 3.54882 42.5129 -3.84 -10.6356 4.30544 41.7304 -3.845 -9.89035 4.96675 40.9414 -3.85 -9.15143 5.538 40.1511 -3.855 -8.42271 6.02607 39.367 -3.86 -7.70757 6.4379 38.5956 -3.865 -7.00891 6.78046 37.8423 -3.87 -6.32919 7.06077 37.1112 -3.875 -5.67036 7.28587 36.4056 -3.88 -5.03396 7.46285 35.7274 -3.885 -4.42103 7.59882 35.0777 -3.89 -3.83237 7.7003 34.4566 -3.895 -3.26863 7.77151 33.8646 -3.9 -2.72966 7.81677 33.3009 -3.905 -2.21519 7.84016 32.7643 -3.91 -1.72488 7.84539 32.2539 -3.915 -1.2583 7.83589 31.7687 -3.92 -0.814983 7.81473 31.3076 -3.925 -0.394353 7.78466 30.8694 -3.93 0.00422261 7.74814 30.453 -3.935 0.381451 7.70725 30.0573 -3.94 0.738114 7.6638 29.6809 -3.945 1.07507 7.61922 29.3228 -3.95 1.39324 7.57467 28.9816 -3.955 1.69364 7.53095 28.656 -3.96 1.97744 7.48899 28.3449 -3.965 2.24574 7.44996 28.0476 -3.97 2.49929 7.4143 27.7635 -3.975 2.73888 7.38241 27.4917 -3.98 2.96525 7.35467 27.2318 -3.985 3.17918 7.33139 26.9831 -3.99 3.38145 7.3129 26.745 -3.995 3.57281 7.29944 26.5172 -4 3.75406 7.29125 26.299 -4.005 3.92596 7.28853 26.0901 -4.01 4.0893 7.29143 25.8901 -4.015 4.24486 7.30009 25.6986 -4.02 4.39343 7.31459 25.5154 -4.025 4.53578 7.33499 25.3401 -4.03 4.67272 7.36131 25.1726 -4.035 4.80484 7.39327 25.0127 -4.04 4.9325 7.43065 24.8603 -4.045 5.05603 7.4734 24.7155 -4.05 5.17579 7.52145 24.5782 -4.055 5.2921 7.5747 24.4486 -4.06 5.40533 7.63305 24.3266 -4.065 5.5158 7.69639 24.2123 -4.07 5.62385 7.76458 24.1057 -4.075 5.72983 7.83747 24.0068 -4.08 5.83408 7.91489 23.9155 -4.085 5.93692 7.99665 23.832 -4.09 6.0387 8.08255 23.7562 -4.095 6.13976 8.17238 23.6881 -4.1 6.24042 8.2659 23.6277 -4.105 6.34102 8.36287 23.575 -4.11 6.4419 8.46301 23.53 -4.115 6.54312 8.56611 23.4927 -4.12 6.64467 8.67196 23.4635 -4.125 6.74658 8.78036 23.4425 -4.13 6.84891 8.89109 23.4299 -4.135 6.95169 9.00388 23.4258 -4.14 7.05495 9.11848 23.4305 -4.145 7.15872 9.2346 23.444 -4.15 7.263 9.35192 23.4663 -4.155 7.36781 9.47012 23.4977 -4.16 7.47315 9.58886 23.5381 -4.165 7.57902 9.70775 23.5874 -4.17 7.6854 9.82642 23.6459 -4.175 7.79227 9.94446 23.7133 -4.18 7.89961 10.0614 23.7896 -4.185 8.00738 10.1769 23.8749 -4.19 8.11555 10.2904 23.9689 -4.195 8.22406 10.4015 24.0715 -4.2 8.33287 10.5096 24.1827 -4.205 8.44179 10.6148 24.3023 -4.21 8.55059 10.7165 24.4301 -4.215 8.65901 10.8141 24.5661 -4.22 8.7668 10.9071 24.71 -4.225 8.87368 10.9947 24.8617 -4.23 8.97942 11.0765 25.0209 -4.235 9.08375 11.152 25.1872 -4.24 9.1864 11.2206 25.3604 -4.245 9.28712 11.2819 25.5399 -4.25 9.38565 11.3355 25.7255 -4.255 9.48171 11.3809 25.9164 -4.26 9.57504 11.4178 26.1124 -4.265 9.66537 11.446 26.3126 -4.27 9.75243 11.465 26.5166 -4.275 9.83596 11.4746 26.7237 -4.28 9.91568 11.4746 26.9331 -4.285 9.99131 11.4647 27.144 -4.29 10.0626 11.4448 27.3558 -4.295 10.1292 11.4148 27.5675 -4.3 10.1909 11.3745 27.7782 -4.305 10.2475 11.3239 27.987 -4.31 10.2985 11.2629 28.1929 -4.315 10.3439 11.1911 28.3952 -4.32 10.3835 11.1081 28.5932 -4.325 10.4171 11.0146 28.7862 -4.33 10.4445 10.9114 28.9732 -4.335 10.4654 10.7993 29.1535 -4.34 10.4798 10.6791 29.3263 -4.345 10.4875 10.5514 29.4909 -4.35 10.4884 10.4169 29.6467 -4.355 10.4826 10.2763 29.7931 -4.36 10.4699 10.1303 29.9297 -4.365 10.4504 9.97941 30.0558 -4.37 10.4243 9.82434 30.1712 -4.375 10.3915 9.66563 30.2755 -4.38 10.3521 9.50385 30.3683 -4.385 10.3065 9.33954 30.4495 -4.39 10.2546 9.1732 30.5189 -4.395 10.1968 9.00534 30.5762 -4.4 10.1333 8.83642 30.6215 -4.405 10.0645 8.66691 30.6547 -4.41 9.99058 8.49721 30.6759 -4.415 9.91197 8.32774 30.6852 -4.42 9.82905 8.15889 30.6826 -4.425 9.74225 7.991 30.6685 -4.43 9.65204 7.82443 30.643 -4.435 9.55876 7.65982 30.6067 -4.44 9.46213 7.4991 30.5606 -4.445 9.36248 7.34289 30.505 -4.45 9.2602 7.19158 30.44 -4.455 9.15569 7.04552 30.3655 -4.46 9.04933 6.90505 30.2819 -4.465 8.94149 6.77047 30.1892 -4.47 8.83254 6.64203 30.0878 -4.475 8.72282 6.51999 29.978 -4.48 8.61269 6.40454 29.86 -4.485 8.50248 6.29588 29.7342 -4.49 8.3925 6.19415 29.601 -4.495 8.28308 6.09947 29.461 -4.5 8.17451 6.01194 29.3145 -4.505 8.0671 5.93161 29.1621 -4.51 7.96112 5.85852 29.0043 -4.515 7.85685 5.79268 28.8419 -4.52 7.75457 5.73405 28.6754 -4.525 7.65451 5.68258 28.5055 -4.53 7.55694 5.63818 28.3329 -4.535 7.46208 5.60074 28.1585 -4.54 7.37016 5.57012 27.983 -4.545 7.28139 5.54614 27.8074 -4.55 7.196 5.52859 27.6324 -4.555 7.11416 5.51724 27.4591 -4.56 7.03607 5.51183 27.2882 -4.565 6.96174 5.51204 27.1184 -4.57 6.89121 5.5177 26.9489 -4.575 6.82453 5.52873 26.78 -4.58 6.76178 5.54502 26.6121 -4.585 6.70301 5.56646 26.4453 -4.59 6.64826 5.59296 26.2799 -4.595 6.59758 5.62441 26.1162 -4.6 6.55101 5.66069 25.9544 -4.605 6.50858 5.7017 25.7948 -4.61 6.47031 5.74733 25.6375 -4.615 6.43623 5.79747 25.4828 -4.62 6.40636 5.852 25.331 -4.625 6.38069 5.91081 25.1822 -4.63 6.35924 5.97379 25.0366 -4.635 6.34201 6.04081 24.8945 -4.64 6.32898 6.11176 24.756 -4.645 6.32015 6.18651 24.6214 -4.65 6.31549 6.26495 24.4908 -4.655 6.31498 6.34695 24.3643 -4.66 6.31859 6.43238 24.2422 -4.665 6.32629 6.52113 24.1246 -4.67 6.33803 6.61306 24.0117 -4.675 6.35372 6.70806 23.9035 -4.68 6.37306 6.80621 23.8004 -4.685 6.39603 6.90749 23.7023 -4.69 6.4227 7.01186 23.6097 -4.695 6.4531 7.11925 23.5226 -4.7 6.48726 7.22959 23.4414 -4.705 6.52519 7.3428 23.3662 -4.71 6.56691 7.45877 23.2972 -4.715 6.61241 7.57739 23.2346 -4.72 6.66165 7.69855 23.1787 -4.725 6.71463 7.82212 23.1296 -4.73 6.77128 7.94794 23.0875 -4.735 6.83156 8.07586 23.0526 -4.74 6.89539 8.20571 23.0251 -4.745 6.96271 8.33732 23.0051 -4.75 7.03341 8.47049 22.9928 -4.755 7.10739 8.60501 22.9884 -4.76 7.18454 8.74068 22.9919 -4.765 7.26472 8.87726 23.0037 -4.77 7.34781 9.01452 23.0237 -4.775 7.43364 9.1522 23.0522 -4.78 7.52206 9.29004 23.0893 -4.785 7.61288 9.42778 23.135 -4.79 7.70593 9.56511 23.1896 -4.795 7.80099 9.70176 23.2532 -4.8 7.89786 9.83739 23.3258 -4.805 7.99632 9.9717 23.4076 -4.81 8.09612 10.1044 23.4986 -4.815 8.19728 10.2354 23.5987 -4.82 8.29977 10.3646 23.7076 -4.825 8.4034 10.4911 23.8254 -4.83 8.50794 10.6143 23.952 -4.835 8.61314 10.7334 24.0873 -4.84 8.71878 10.8478 24.2313 -4.845 8.8246 10.9568 24.3839 -4.85 8.93034 11.0598 24.5446 -4.855 9.03574 11.1562 24.7135 -4.86 9.14052 11.2456 24.89 -4.865 9.2444 11.3274 25.074 -4.87 9.34709 11.4012 25.265 -4.875 9.44828 11.4665 25.4625 -4.88 9.54767 11.5229 25.6662 -4.885 9.64494 11.5701 25.8753 -4.89 9.73976 11.6076 26.0895 -4.895 9.8318 11.6353 26.308 -4.9 9.92072 11.6528 26.5302 -4.905 10.0062 11.6599 26.7554 -4.91 10.0878 11.6564 26.9828 -4.915 10.1652 11.6422 27.2116 -4.92 10.238 11.617 27.4409 -4.925 10.3059 11.5808 27.6699 -4.93 10.3684 11.5335 27.8975 -4.935 10.4251 11.4751 28.1229 -4.94 10.4757 11.4056 28.345 -4.945 10.5197 11.3249 28.5626 -4.95 10.5568 11.2328 28.7747 -4.955 10.5872 11.1282 28.9805 -4.96 10.6109 11.012 29.1793 -4.965 10.6278 10.8855 29.3701 -4.97 10.6376 10.7498 29.5523 -4.975 10.6403 10.606 29.7252 -4.98 10.6359 10.455 29.8881 -4.985 10.6243 10.2979 30.0406 -4.99 10.6056 10.1356 30.1821 -4.995 10.5798 9.96886 30.3121 -5 10.5471 9.79855 30.4303 -5.005 10.5074 9.6254 30.5363 -5.01 10.4609 9.4501 30.6299 -5.015 10.4079 9.27329 30.7108 -5.02 10.3485 9.09556 30.779 -5.025 10.283 8.91743 30.8342 -5.03 10.2116 8.73939 30.8764 -5.035 10.1346 8.56185 30.9057 -5.04 10.0523 8.38519 30.922 -5.045 9.96517 8.20971 30.9257 -5.05 9.87353 8.03569 30.9167 -5.055 9.77782 7.86332 30.8954 -5.06 9.6785 7.69275 30.862 -5.065 9.57604 7.52409 30.817 -5.07 9.47096 7.35738 30.7606 -5.075 9.36368 7.19301 30.6936 -5.08 9.25384 7.03374 30.6164 -5.085 9.14172 6.88042 30.5297 -5.09 9.02776 6.7334 30.4336 -5.095 8.91237 6.593 30.3286 -5.1 8.79597 6.45948 30.2151 -5.105 8.67894 6.33309 30.0935 -5.11 8.56166 6.21404 29.9642 -5.115 8.4445 6.10247 29.8276 -5.12 8.32781 5.99852 29.6842 -5.125 8.21192 5.90227 29.5346 -5.13 8.09716 5.81378 29.3792 -5.135 7.98384 5.73305 29.2185 -5.14 7.87226 5.66005 29.0532 -5.145 7.7627 5.59473 28.8837 -5.15 7.65543 5.53697 28.7107 -5.155 7.5507 5.48665 28.5348 -5.16 7.44877 5.44358 28.3567 -5.165 7.34985 5.40754 28.1769 -5.17 7.25416 5.37829 27.9961 -5.175 7.16191 5.35553 27.8151 -5.18 7.07328 5.33892 27.6346 -5.185 6.98842 5.32824 27.4547 -5.19 6.90739 5.32351 27.2749 -5.195 6.83025 5.32463 27.0952 -5.2 6.75709 5.33148 26.916 -5.205 6.68796 5.34394 26.7377 -5.21 6.62294 5.36187 26.5604 -5.215 6.56208 5.38516 26.3844 -5.22 6.50542 5.41369 26.2101 -5.225 6.45301 5.44731 26.0375 -5.23 6.40489 5.48592 25.8671 -5.235 6.36109 5.52938 25.699 -5.24 6.32163 5.57756 25.5334 -5.245 6.28654 5.63034 25.3706 -5.25 6.25582 5.68758 25.2108 -5.255 6.22949 5.74917 25.0542 -5.26 6.20754 5.81496 24.901 -5.265 6.18997 5.88483 24.7514 -5.27 6.17678 5.95865 24.6055 -5.275 6.16793 6.03628 24.4636 -5.28 6.16342 6.11759 24.3258 -5.285 6.16321 6.20246 24.1923 -5.29 6.16726 6.29074 24.0632 -5.295 6.17523 6.38242 23.9386 -5.3 6.18685 6.47758 23.8188 -5.305 6.20224 6.57618 23.704 -5.31 6.22148 6.67818 23.5943 -5.315 6.24465 6.78353 23.49 -5.32 6.27181 6.89219 23.3914 -5.325 6.30299 7.00407 23.2985 -5.33 6.33825 7.11909 23.2117 -5.335 6.37759 7.23717 23.131 -5.34 6.42101 7.3582 23.0568 -5.345 6.46853 7.48207 22.9892 -5.35 6.52009 7.60866 22.9284 -5.355 6.57569 7.73784 22.8746 -5.36 6.63525 7.86945 22.828 -5.365 6.69873 8.00334 22.7888 -5.37 6.76604 8.13936 22.7572 -5.375 6.83709 8.27732 22.7334 -5.38 6.91177 8.41704 22.7174 -5.385 6.98998 8.55832 22.7097 -5.39 7.07156 8.70095 22.7102 -5.395 7.15639 8.84472 22.7192 -5.4 7.24429 8.98939 22.7369 -5.405 7.3351 9.13473 22.7635 -5.41 7.42862 9.28049 22.799 -5.415 7.52466 9.42641 22.8438 -5.42 7.623 9.57221 22.8979 -5.425 7.7234 9.71761 22.9615 -5.43 7.82564 9.86233 23.0348 -5.435 7.92944 10.0061 23.118 -5.44 8.03454 10.1485 23.2112 -5.445 8.14107 10.2896 23.314 -5.45 8.24913 10.4291 23.4262 -5.455 8.35852 10.566 23.5479 -5.46 8.46901 10.6997 23.6791 -5.465 8.58038 10.8293 23.8198 -5.47 8.69237 10.9541 23.9699 -5.475 8.80475 11.0734 24.1293 -5.48 8.91723 11.1867 24.2979 -5.485 9.02955 11.2932 24.4752 -5.49 9.14142 11.3923 24.6612 -5.495 9.25254 11.4836 24.8554 -5.5 9.3626 11.5665 25.0575 -5.505 9.47127 11.6404 25.2669 -5.51 9.57823 11.705 25.4832 -5.515 9.68312 11.7599 25.7059 -5.52 9.7856 11.8045 25.9343 -5.525 9.8853 11.8387 26.1678 -5.53 9.98184 11.862 26.4056 -5.535 10.0748 11.8741 26.647 -5.54 10.1639 11.8749 26.8912 -5.545 10.2485 11.8641 27.1372 -5.55 10.3284 11.8414 27.3842 -5.555 10.4031 11.8068 27.6311 -5.56 10.4721 11.7601 27.8769 -5.565 10.535 11.7013 28.1206 -5.57 10.5913 11.6302 28.361 -5.575 10.6405 11.5469 28.5968 -5.58 10.6824 11.4506 28.827 -5.585 10.7173 11.3402 29.0507 -5.59 10.7449 11.2171 29.2669 -5.595 10.7651 11.0827 29.4748 -5.6 10.7778 10.9381 29.6735 -5.605 10.7828 10.7847 29.8622 -5.61 10.7801 10.6235 30.0403 -5.615 10.7697 10.4557 30.2071 -5.62 10.7516 10.2821 30.362 -5.625 10.7258 10.1039 30.5045 -5.63 10.6923 9.92182 30.6342 -5.635 10.6514 9.7367 30.7507 -5.64 10.6031 9.54929 30.8537 -5.645 10.5477 9.36028 30.943 -5.65 10.4853 9.17027 31.0184 -5.655 10.4163 8.97982 31.0797 -5.66 10.3409 8.78941 31.127 -5.665 10.2594 8.59945 31.1602 -5.67 10.1722 8.41029 31.1795 -5.675 10.0798 8.22222 31.185 -5.68 9.9825 8.03546 31.1769 -5.685 9.88083 7.85016 31.1556 -5.69 9.7753 7.66641 31.1213 -5.695 9.66645 7.48422 31.0744 -5.7 9.55486 7.30356 31.0156 -5.705 9.44063 7.12592 30.9454 -5.71 9.32343 6.95431 30.8643 -5.715 9.20373 6.7892 30.7728 -5.72 9.08199 6.63096 30.6712 -5.725 8.95869 6.47994 30.56 -5.73 8.83425 6.33642 30.4396 -5.735 8.70911 6.20066 30.3104 -5.74 8.58368 6.07285 30.173 -5.745 8.45835 5.95317 30.0277 -5.75 8.33351 5.84173 29.8753 -5.755 8.20953 5.73862 29.7161 -5.76 8.08675 5.64386 29.5509 -5.765 7.9655 5.55745 29.3801 -5.77 7.84612 5.47934 29.2045 -5.775 7.7289 5.40943 29.0245 -5.78 7.61413 5.34759 28.841 -5.785 7.50209 5.29364 28.6547 -5.79 7.39303 5.24736 28.4661 -5.795 7.28721 5.20848 28.2761 -5.8 7.18484 5.17669 28.0854 -5.805 7.08615 5.15165 27.8949 -5.81 6.99132 5.13301 27.705 -5.815 6.90044 5.12077 27.5149 -5.82 6.8136 5.11484 27.3247 -5.825 6.73089 5.11506 27.1348 -5.83 6.65237 5.12129 26.9454 -5.835 6.57811 5.13338 26.7569 -5.84 6.50819 5.15119 26.5695 -5.845 6.44264 5.17458 26.3835 -5.85 6.38153 5.20341 26.1992 -5.855 6.3249 5.23752 26.0168 -5.86 6.27278 5.27677 25.8365 -5.865 6.2252 5.32103 25.6587 -5.87 6.18219 5.37015 25.4835 -5.875 6.14376 5.42398 25.3111 -5.88 6.10992 5.48238 25.1418 -5.885 6.08069 5.54522 24.9758 -5.89 6.05605 5.61234 24.8132 -5.895 6.03599 5.6836 24.6543 -5.9 6.02051 5.75887 24.4992 -5.905 6.00958 5.838 24.348 -5.91 6.00317 5.92086 24.201 -5.915 6.00124 6.00729 24.0583 -5.92 6.00339 6.09739 23.92 -5.925 6.0095 6.1912 23.7865 -5.93 6.01966 6.28869 23.6578 -5.935 6.03394 6.38982 23.5342 -5.94 6.0524 6.49454 23.4159 -5.945 6.0751 6.60279 23.303 -5.95 6.10207 6.71451 23.1958 -5.955 6.13332 6.82963 23.0945 -5.96 6.16888 6.94805 22.9993 -5.965 6.20873 7.0697 22.9103 -5.97 6.25287 7.19448 22.8278 -5.975 6.30128 7.32228 22.7519 -5.98 6.3539 7.45299 22.683 -5.985 6.4107 7.5865 22.6211 -5.99 6.47161 7.72266 22.5665 -5.995 6.53656 7.86135 22.5194 -6 6.60545 8.00243 22.4801 -6.005 6.67819 8.14574 22.4486 -6.01 6.75467 8.29111 22.4253 -6.015 6.83477 8.4384 22.4104 -6.02 6.91834 8.58741 22.404 -6.025 7.00525 8.73797 22.4064 -6.03 7.09532 8.88988 22.4178 -6.035 7.18839 9.04296 22.4384 -6.04 7.28428 9.19698 22.4685 -6.045 7.38278 9.35174 22.5082 -6.05 7.48368 9.50701 22.5578 -6.055 7.58677 9.66257 22.6175 -6.06 7.69187 9.81822 22.6874 -6.065 7.79915 9.97383 22.7668 -6.07 7.90854 10.1287 22.8561 -6.075 8.01991 10.2823 22.9554 -6.08 8.13312 10.4337 23.0651 -6.085 8.24798 10.5824 23.1851 -6.09 8.36433 10.7277 23.3158 -6.095 8.48195 10.8689 23.457 -6.1 8.60061 11.0055 23.6088 -6.105 8.72008 11.1368 23.7711 -6.11 8.8401 11.2621 23.9437 -6.115 8.96037 11.381 24.1264 -6.12 9.08061 11.4929 24.3189 -6.125 9.20049 11.5971 24.5209 -6.13 9.31968 11.6932 24.732 -6.135 9.43782 11.7806 24.9516 -6.14 9.55454 11.8587 25.1794 -6.145 9.66945 11.9272 25.4146 -6.15 9.78212 11.9854 25.6567 -6.155 9.89214 12.033 25.9048 -6.16 9.99904 12.0695 26.1583 -6.165 10.1024 12.0943 26.4162 -6.17 10.2016 12.1072 26.6778 -6.175 10.2963 12.1076 26.9419 -6.18 10.3859 12.0951 27.2076 -6.185 10.4699 12.0694 27.4738 -6.19 10.5476 12.0301 27.7393 -6.195 10.6188 11.9762 28.0032 -6.2 10.6836 11.9051 28.265 -6.205 10.7419 11.818 28.5234 -6.21 10.793 11.7164 28.7769 -6.215 10.8368 11.6016 29.0242 -6.22 10.873 11.475 29.2639 -6.225 10.9012 11.3378 29.495 -6.23 10.9214 11.1911 29.7163 -6.235 10.9332 11.0361 29.927 -6.24 10.9368 10.8738 30.126 -6.245 10.9319 10.705 30.3127 -6.25 10.9185 10.5307 30.4864 -6.255 10.8968 10.3516 30.6465 -6.26 10.8667 10.1684 30.7925 -6.265 10.8285 9.98171 30.924 -6.27 10.7822 9.7921 31.0407 -6.275 10.7282 9.60003 31.1425 -6.28 10.6666 9.40587 31.2292 -6.285 10.5979 9.20994 31.301 -6.29 10.5223 9.01247 31.3577 -6.295 10.4403 8.81361 31.3998 -6.3 10.3523 8.61345 31.4274 -6.305 10.2588 8.41198 31.4409 -6.31 10.1604 8.20911 31.4409 -6.315 10.0577 8.00471 31.4279 -6.32 9.95135 7.79853 31.4027 -6.325 9.8412 7.59268 31.3653 -6.33 9.72643 7.39187 31.3149 -6.335 9.60757 7.19678 31.2518 -6.34 9.48514 7.00794 31.1764 -6.345 9.35967 6.82584 31.089 -6.35 9.23166 6.6509 30.99 -6.355 9.10161 6.48351 30.8798 -6.36 8.96999 6.32401 30.759 -6.365 8.83726 6.17271 30.628 -6.37 8.70387 6.02983 30.4874 -6.375 8.57026 5.89557 30.3379 -6.38 8.43684 5.7701 30.18 -6.385 8.30401 5.6535 30.0144 -6.39 8.17217 5.54583 29.8419 -6.395 8.04168 5.4471 29.6632 -6.4 7.91292 5.35727 29.4792 -6.405 7.78622 5.27624 29.2907 -6.41 7.66191 5.20389 29.0985 -6.415 7.54032 5.14003 28.9036 -6.42 7.42174 5.08442 28.7069 -6.425 7.30646 5.03678 28.5095 -6.43 7.19475 4.9968 28.3122 -6.435 7.08683 4.96411 28.1138 -6.44 6.98284 4.93854 27.9144 -6.445 6.88289 4.91993 27.7144 -6.45 6.7871 4.90812 27.5141 -6.455 6.69555 4.90296 27.3139 -6.46 6.60835 4.90427 27.114 -6.465 6.52557 4.9119 26.9148 -6.47 6.4473 4.92567 26.7166 -6.475 6.3736 4.94542 26.5197 -6.48 6.30453 4.97096 26.3244 -6.485 6.24015 5.00213 26.1309 -6.49 6.18051 5.03874 25.9396 -6.495 6.12564 5.08062 25.7505 -6.5 6.07557 5.12759 25.564 -6.505 6.03032 5.17945 25.3803 -6.51 5.98992 5.23603 25.1997 -6.515 5.95436 5.29713 25.0222 -6.52 5.92365 5.36257 24.848 -6.525 5.89777 5.43214 24.6775 -6.53 5.87672 5.50566 24.5106 -6.535 5.86046 5.58292 24.3476 -6.54 5.84871 5.66406 24.1886 -6.545 5.84132 5.7492 24.0339 -6.55 5.83833 5.83831 23.8837 -6.555 5.83978 5.93133 23.7381 -6.56 5.84571 6.0282 23.5973 -6.565 5.85613 6.12887 23.4615 -6.57 5.87108 6.23327 23.3308 -6.575 5.89053 6.34134 23.2056 -6.58 5.91451 6.45302 23.0858 -6.585 5.94298 6.56823 22.9718 -6.59 5.97594 6.68691 22.8638 -6.595 6.01334 6.80897 22.7619 -6.6 6.05516 6.93435 22.6664 -6.605 6.10134 7.06295 22.5774 -6.61 6.15182 7.19471 22.4953 -6.615 6.20654 7.32952 22.4201 -6.62 6.26543 7.46732 22.3522 -6.625 6.32839 7.608 22.2917 -6.63 6.39534 7.75147 22.239 -6.635 6.46618 7.89763 22.1941 -6.64 6.54079 8.0464 22.1574 -6.645 6.61906 8.19766 22.1292 -6.65 6.70085 8.35131 22.1096 -6.655 6.78603 8.50725 22.0988 -6.66 6.87445 8.66536 22.0973 -6.665 6.96596 8.82554 22.1051 -6.67 7.06044 8.98758 22.1222 -6.675 7.15791 9.15113 22.1483 -6.68 7.25837 9.31578 22.184 -6.685 7.36178 9.48116 22.2297 -6.69 7.46811 9.64684 22.2857 -6.695 7.57728 9.81238 22.3525 -6.7 7.6892 9.97735 22.4302 -6.705 7.80375 10.1413 22.5191 -6.71 7.92078 10.3037 22.6193 -6.715 8.04013 10.4641 22.731 -6.72 8.16162 10.6219 22.8543 -6.725 8.28502 10.7768 22.989 -6.73 8.41011 10.9279 23.1353 -6.735 8.53663 11.075 23.293 -6.74 8.66428 11.2173 23.4619 -6.745 8.79278 11.3542 23.6418 -6.75 8.92178 11.4852 23.8326 -6.755 9.05093 11.6097 24.0338 -6.76 9.17986 11.7269 24.2452 -6.765 9.30817 11.8362 24.4663 -6.77 9.43543 11.937 24.6966 -6.775 9.56119 12.0286 24.9357 -6.78 9.68499 12.1101 25.1829 -6.785 9.80633 12.1811 25.4377 -6.79 9.9247 12.2406 25.6993 -6.795 10.0395 12.2879 25.9671 -6.8 10.1503 12.3223 26.2402 -6.805 10.2572 12.3429 26.5184 -6.81 10.3599 12.3495 26.8008 -6.815 10.4578 12.3419 27.0858 -6.82 10.5505 12.32 27.3719 -6.825 10.6372 12.2838 27.6578 -6.83 10.7174 12.2332 27.9421 -6.835 10.7908 12.1685 28.2234 -6.84 10.8569 12.0896 28.5007 -6.845 10.9154 11.9967 28.7725 -6.85 10.9658 11.8903 29.0379 -6.855 11.0079 11.7704 29.2958 -6.86 11.0416 11.6376 29.5451 -6.865 11.0665 11.4922 29.7848 -6.87 11.0826 11.3348 30.014 -6.875 11.0897 11.1658 30.2319 -6.88 11.0878 10.9858 30.4377 -6.885 11.0769 10.7955 30.6305 -6.89 11.057 10.5957 30.8097 -6.895 11.0283 10.387 30.9747 -6.9 10.9907 10.1704 31.1248 -6.905 10.9446 9.94663 31.2596 -6.91 10.8901 9.71671 31.3784 -6.915 10.827 9.48261 31.4807 -6.92 10.7552 9.24606 31.566 -6.925 10.6753 9.00816 31.6342 -6.93 10.5876 8.76997 31.6854 -6.935 10.4927 8.53247 31.7197 -6.94 10.391 8.29663 31.7372 -6.945 10.2829 8.06336 31.7381 -6.95 10.169 7.8335 31.7228 -6.955 10.0496 7.60788 31.6914 -6.96 9.92525 7.38727 31.6446 -6.965 9.79645 7.17237 31.5826 -6.97 9.66366 6.96386 31.5061 -6.975 9.52738 6.76237 31.4156 -6.98 9.3881 6.56848 31.3119 -6.985 9.24633 6.3827 31.1956 -6.99 9.10256 6.20554 31.0676 -6.995 8.95731 6.03742 30.9286 -7 8.81109 5.87874 30.7797 -7.005 8.66443 5.72984 30.6219 -7.01 8.51784 5.59101 30.456 -7.015 8.37187 5.46251 30.2834 -7.02 8.22707 5.34422 30.105 -7.025 8.08395 5.23506 29.9208 -7.03 7.94287 5.13495 29.7314 -7.035 7.80411 5.04392 29.5373 -7.04 7.66797 4.96197 29.3389 -7.045 7.53472 4.88906 29.1368 -7.05 7.40462 4.82513 28.9314 -7.055 7.27793 4.77009 28.7233 -7.06 7.15487 4.7238 28.5129 -7.065 7.03566 4.68613 28.3006 -7.07 6.92051 4.65687 28.0869 -7.075 6.80961 4.63582 27.8723 -7.08 6.70313 4.62273 27.6572 -7.085 6.60124 4.61732 27.442 -7.09 6.50409 4.61927 27.227 -7.095 6.41181 4.62827 27.0128 -7.1 6.32451 4.64393 26.7996 -7.105 6.24232 4.66585 26.5879 -7.11 6.16531 4.69362 26.378 -7.115 6.09357 4.72676 26.1703 -7.12 6.02716 4.76478 25.9651 -7.125 5.96613 4.80717 25.7627 -7.13 5.91051 4.85337 25.5635 -7.135 5.86014 4.90356 25.3675 -7.14 5.81472 4.95855 25.1745 -7.145 5.77425 5.01821 24.9847 -7.15 5.73874 5.08245 24.7982 -7.155 5.70818 5.15115 24.6152 -7.16 5.68256 5.22422 24.4359 -7.165 5.66187 5.30157 24.2605 -7.17 5.64608 5.3831 24.0891 -7.175 5.63517 5.46875 23.922 -7.18 5.62913 5.55842 23.7593 -7.185 5.6279 5.65207 23.6012 -7.19 5.63147 5.74962 23.448 -7.195 5.63978 5.85101 23.2997 -7.2 5.65279 5.95621 23.1566 -7.205 5.67046 6.06517 23.0189 -7.21 5.69272 6.17784 22.8867 -7.215 5.71953 6.29421 22.7603 -7.22 5.75081 6.41424 22.6399 -7.225 5.7865 6.53792 22.5256 -7.23 5.82653 6.66524 22.4177 -7.235 5.87082 6.79618 22.3163 -7.24 5.91928 6.93075 22.2217 -7.245 5.97154 7.06872 22.1338 -7.25 6.02754 7.21 22.0529 -7.255 6.0874 7.3546 21.9792 -7.26 6.15123 7.50249 21.9132 -7.265 6.21909 7.65363 21.8552 -7.27 6.29106 7.80794 21.8054 -7.275 6.36716 7.96533 21.7642 -7.28 6.44742 8.12566 21.7319 -7.285 6.53185 8.28878 21.7087 -7.29 6.62041 8.45451 21.695 -7.295 6.71308 8.62265 21.6909 -7.3 6.80979 8.79296 21.6967 -7.305 6.91047 8.96519 21.7127 -7.31 7.01501 9.13903 21.7391 -7.315 7.1233 9.31419 21.776 -7.32 7.2352 9.49032 21.8238 -7.325 7.35055 9.66705 21.8825 -7.33 7.46918 9.84399 21.9523 -7.335 7.59089 10.0207 22.0335 -7.34 7.71546 10.1968 22.1261 -7.345 7.84266 10.3718 22.2304 -7.35 7.97223 10.5451 22.3464 -7.355 8.10389 10.7163 22.4742 -7.36 8.23735 10.8848 22.6141 -7.365 8.37229 11.05 22.766 -7.37 8.50838 11.2113 22.93 -7.375 8.64527 11.3681 23.1063 -7.38 8.78257 11.5197 23.2949 -7.385 8.9199 11.6655 23.4958 -7.39 9.0574 11.8051 23.7086 -7.395 9.19495 11.9377 23.9328 -7.4 9.33208 12.0622 24.168 -7.405 9.46832 12.1776 24.4136 -7.41 9.6032 12.2828 24.6692 -7.415 9.73624 12.3769 24.9339 -7.42 9.86696 12.459 25.2073 -7.425 9.9949 12.5285 25.4885 -7.43 10.1196 12.5846 25.7767 -7.435 10.2405 12.6268 26.0711 -7.44 10.3573 12.6544 26.3707 -7.445 10.4693 12.667 26.6745 -7.45 10.5762 12.6642 26.9816 -7.455 10.6775 12.6457 27.2907 -7.46 10.7727 12.6113 27.6007 -7.465 10.8613 12.5607 27.9103 -7.47 10.9428 12.4939 28.2184 -7.475 11.0169 12.4109 28.5234 -7.48 11.0829 12.3117 28.8241 -7.485 11.1405 12.1965 29.1188 -7.49 11.1892 12.0655 29.4061 -7.495 11.2284 11.9187 29.6844 -7.5 11.2582 11.7554 29.952 -7.505 11.2783 11.5766 30.2077 -7.51 11.2886 11.3842 30.4505 -7.515 11.2889 11.1798 30.6793 -7.52 11.2791 10.9649 30.8933 -7.525 11.2593 10.7409 31.0918 -7.53 11.2294 10.5094 31.2739 -7.535 11.1896 10.2716 31.4392 -7.54 11.1399 10.0288 31.5871 -7.545 11.0805 9.78216 31.7172 -7.55 11.0117 9.53282 31.8291 -7.555 10.9337 9.28181 31.9227 -7.56 10.8469 9.03009 31.9977 -7.565 10.7517 8.77855 32.0542 -7.57 10.6484 8.528 32.0921 -7.575 10.5377 8.2792 32.1116 -7.58 10.4201 8.03281 32.1129 -7.585 10.296 7.78942 32.0963 -7.59 10.1663 7.54955 32.0622 -7.595 10.0315 7.31366 32.0111 -7.6 9.89244 7.08211 31.9436 -7.605 9.74969 6.8558 31.8606 -7.61 9.60304 6.63747 31.7636 -7.615 9.45308 6.42791 31.6532 -7.62 9.30044 6.22758 31.53 -7.625 9.14575 6.03692 31.3947 -7.63 8.9896 5.85626 31.2479 -7.635 8.83256 5.6859 31.0902 -7.64 8.67517 5.52607 30.9224 -7.645 8.51797 5.3769 30.7452 -7.65 8.36145 5.23851 30.5593 -7.655 8.20609 5.11092 30.3655 -7.66 8.05233 4.99408 30.1647 -7.665 7.9006 4.8879 29.9575 -7.67 7.75131 4.7922 29.7448 -7.675 7.60484 4.70677 29.5276 -7.68 7.46154 4.63129 29.3067 -7.685 7.32174 4.56541 29.083 -7.69 7.18575 4.5087 28.8575 -7.695 7.05385 4.46067 28.6312 -7.7 6.9263 4.42075 28.4049 -7.705 6.80334 4.38865 28.1789 -7.71 6.6851 4.36439 27.9522 -7.715 6.57168 4.34772 27.7254 -7.72 6.46317 4.33839 27.4987 -7.725 6.35967 4.33616 27.2726 -7.73 6.26124 4.34077 27.0472 -7.735 6.16795 4.35201 26.823 -7.74 6.07986 4.36964 26.6002 -7.745 5.99702 4.39343 26.3792 -7.75 5.91946 4.42316 26.1601 -7.755 5.84723 4.45863 25.9433 -7.76 5.78034 4.49962 25.7289 -7.765 5.7188 4.54593 25.5173 -7.77 5.66264 4.59736 25.3085 -7.775 5.61183 4.65371 25.1029 -7.78 5.56638 4.7148 24.9006 -7.785 5.52627 4.78044 24.7017 -7.79 5.49146 4.85045 24.5064 -7.795 5.46192 4.92467 24.3149 -7.8 5.43759 5.00293 24.1272 -7.805 5.41815 5.08537 23.9437 -7.81 5.40346 5.17204 23.7645 -7.815 5.3936 5.2629 23.5899 -7.82 5.38858 5.35787 23.4198 -7.825 5.38844 5.45689 23.2546 -7.83 5.39321 5.55992 23.0943 -7.835 5.40289 5.66689 22.9391 -7.84 5.41749 5.77776 22.7892 -7.845 5.43701 5.89247 22.6448 -7.85 5.46143 6.01099 22.506 -7.855 5.49073 6.13327 22.3731 -7.86 5.52489 6.25927 22.2462 -7.865 5.56386 6.38896 22.1256 -7.87 5.60759 6.5223 22.0115 -7.875 5.65603 6.65925 21.9042 -7.88 5.70912 6.7998 21.8038 -7.885 5.76679 6.94392 21.7105 -7.89 5.82894 7.09158 21.6248 -7.895 5.89549 7.24276 21.5467 -7.9 5.96634 7.39745 21.4766 -7.905 6.04139 7.55563 21.4148 -7.91 6.12052 7.71729 21.3615 -7.915 6.2036 7.88242 21.3171 -7.92 6.2905 8.05102 21.2817 -7.925 6.38107 8.22308 21.2558 -7.93 6.47521 8.3985 21.2395 -7.935 6.573 8.57671 21.2325 -7.94 6.67451 8.75747 21.2353 -7.945 6.77978 8.94056 21.2485 -7.95 6.88882 9.12573 21.2724 -7.955 7.0016 9.31269 21.3076 -7.96 7.11809 9.50113 21.3543 -7.965 7.23821 9.69067 21.413 -7.97 7.36187 9.88092 21.484 -7.975 7.48895 10.0715 21.5676 -7.98 7.61931 10.2618 21.6638 -7.985 7.75277 10.4514 21.773 -7.99 7.88914 10.6398 21.8953 -7.995 8.02819 10.8264 22.0308 -8 8.16968 11.0106 22.1794 -8.005 8.31334 11.1916 22.3414 -8.01 8.45886 11.3689 22.5165 -8.015 8.60592 11.5416 22.7047 -8.02 8.75418 11.7091 22.906 -8.025 8.90325 11.8706 23.1202 -8.03 9.05274 12.0251 23.347 -8.035 9.20223 12.1719 23.5862 -8.04 9.35125 12.3099 23.8377 -8.045 9.49933 12.4384 24.1009 -8.05 9.64597 12.5562 24.3756 -8.055 9.79068 12.6625 24.6614 -8.06 9.93346 12.7567 24.958 -8.065 10.0739 12.838 25.2645 -8.07 10.2112 12.9054 25.5795 -8.075 10.3447 12.9579 25.9017 -8.08 10.4738 12.9948 26.2299 -8.085 10.5978 13.0152 26.5627 -8.09 10.7162 13.0186 26.8988 -8.095 10.8283 13.0046 27.237 -8.1 10.9335 12.9727 27.5757 -8.105 11.0315 12.9228 27.9138 -8.11 11.1217 12.8546 28.2498 -8.115 11.2036 12.7681 28.5823 -8.12 11.2768 12.6635 28.9101 -8.125 11.3409 12.5409 29.2316 -8.13 11.3955 12.4006 29.5455 -8.135 11.4402 12.243 29.8504 -8.14 11.4748 12.0688 30.1449 -8.145 11.499 11.8785 30.4274 -8.15 11.5124 11.6729 30.6967 -8.155 11.5149 11.4529 30.9511 -8.16 11.5061 11.2194 31.1893 -8.165 11.486 10.9733 31.4092 -8.17 11.4544 10.7164 31.61 -8.175 11.4117 10.4506 31.7914 -8.18 11.358 10.1775 31.9529 -8.185 11.2937 9.89901 32.0942 -8.19 11.219 9.61664 32.2151 -8.195 11.1343 9.33195 32.3155 -8.2 11.0399 9.04638 32.3953 -8.205 10.9362 8.76129 32.4547 -8.21 10.8237 8.47796 32.4937 -8.215 10.7029 8.19758 32.5125 -8.22 10.5743 7.92126 32.5114 -8.225 10.4384 7.65002 32.4908 -8.23 10.2959 7.38478 32.4513 -8.235 10.1473 7.12641 32.3932 -8.24 9.99336 6.87566 32.3173 -8.245 9.83471 6.63323 32.2243 -8.25 9.67212 6.39969 32.1149 -8.255 9.50635 6.17557 31.9901 -8.26 9.33821 5.96129 31.8509 -8.265 9.16841 5.75732 31.6984 -8.27 8.99727 5.56445 31.5344 -8.275 8.82536 5.38299 31.3598 -8.28 8.6533 5.21311 31.1752 -8.285 8.48167 5.05494 30.9816 -8.29 8.311 4.90853 30.7796 -8.295 8.14182 4.77391 30.5701 -8.3 7.97461 4.651 30.3537 -8.305 7.80983 4.53971 30.1312 -8.31 7.64792 4.43986 29.9034 -8.315 7.48927 4.35122 29.6709 -8.32 7.33425 4.27351 29.4346 -8.325 7.1832 4.20637 29.1951 -8.33 7.03644 4.1494 28.9532 -8.335 6.89425 4.10214 28.7096 -8.34 6.75689 4.06406 28.4649 -8.345 6.62457 4.03458 28.2199 -8.35 6.49748 4.01306 27.9752 -8.355 6.37581 3.99881 27.7316 -8.36 6.25967 3.99125 27.4895 -8.365 6.14907 3.9908 27.2484 -8.37 6.04406 3.99729 27.0084 -8.375 5.94466 4.01043 26.7699 -8.38 5.85089 4.02998 26.533 -8.385 5.76277 4.05567 26.2981 -8.39 5.68032 4.08728 26.0654 -8.395 5.60352 4.12457 25.8351 -8.4 5.53239 4.16733 25.6075 -8.405 5.46691 4.21537 25.3827 -8.41 5.40707 4.2685 25.161 -8.415 5.35284 4.32653 24.9425 -8.42 5.30421 4.38933 24.7275 -8.425 5.26112 4.45672 24.516 -8.43 5.22355 4.52859 24.3084 -8.435 5.19144 4.60481 24.1046 -8.44 5.16474 4.68526 23.905 -8.445 5.1434 4.76986 23.7095 -8.45 5.12733 4.85852 23.5183 -8.455 5.11645 4.95118 23.3316 -8.46 5.11043 5.04796 23.1497 -8.465 5.10927 5.14883 22.9726 -8.47 5.11301 5.25378 22.8006 -8.475 5.12167 5.36278 22.6337 -8.48 5.13527 5.47579 22.4722 -8.485 5.15383 5.5928 22.3162 -8.49 5.17735 5.71378 22.1658 -8.495 5.20583 5.8387 22.0213 -8.5 5.23926 5.96756 21.8828 -8.505 5.27762 6.10032 21.7506 -8.51 5.32089 6.23698 21.6249 -8.515 5.36902 6.37753 21.5058 -8.52 5.42197 6.52194 21.3937 -8.525 5.4797 6.67021 21.2888 -8.53 5.54215 6.82233 21.1912 -8.535 5.60925 6.9783 21.1014 -8.54 5.68093 7.13811 21.0195 -8.545 5.7571 7.30175 20.9459 -8.55 5.83768 7.46923 20.8808 -8.555 5.92257 7.64054 20.8246 -8.56 6.01166 7.81569 20.7776 -8.565 6.10484 7.99468 20.7401 -8.57 6.20198 8.17752 20.7124 -8.575 6.30297 8.36417 20.6948 -8.58 6.40787 8.55408 20.6872 -8.585 6.51675 8.74697 20.6899 -8.59 6.62967 8.94268 20.7035 -8.595 6.74662 9.14096 20.7286 -8.6 6.86761 9.34156 20.7655 -8.605 6.9926 9.54415 20.8148 -8.61 7.12151 9.74838 20.8768 -8.615 7.25427 9.95383 20.952 -8.62 7.39074 10.1601 21.0405 -8.625 7.53078 10.3666 21.1427 -8.63 7.67422 10.5728 21.2589 -8.635 7.82086 10.7782 21.3891 -8.64 7.97047 10.9821 21.5336 -8.645 8.12281 11.1838 21.6925 -8.65 8.27758 11.3827 21.8659 -8.655 8.43449 11.5779 22.0537 -8.66 8.5932 11.7686 22.256 -8.665 8.75335 11.9539 22.4726 -8.67 8.91456 12.133 22.7036 -8.675 9.0764 12.305 22.9488 -8.68 9.23844 12.4687 23.208 -8.685 9.40021 12.6232 23.481 -8.69 9.56121 12.7673 23.7675 -8.695 9.72096 12.9001 24.0673 -8.7 9.87937 13.0211 24.38 -8.705 10.0359 13.1291 24.7047 -8.71 10.1898 13.2229 25.0402 -8.715 10.3403 13.3011 25.3853 -8.72 10.4867 13.3627 25.7386 -8.725 10.6284 13.4067 26.099 -8.73 10.7647 13.4323 26.465 -8.735 10.8949 13.4387 26.8352 -8.74 11.0184 13.4254 27.2083 -8.745 11.1346 13.3919 27.5827 -8.75 11.243 13.338 27.9569 -8.755 11.3429 13.2633 28.3293 -8.76 11.4338 13.168 28.6985 -8.765 11.5152 13.0519 29.0627 -8.77 11.5866 12.9155 29.4203 -8.775 11.6475 12.759 29.7695 -8.78 11.6974 12.5829 30.1086 -8.785 11.736 12.3877 30.4358 -8.79 11.7628 12.1743 30.7492 -8.795 11.7773 11.9436 31.047 -8.8 11.7793 11.6957 31.3268 -8.805 11.7687 11.4321 31.587 -8.81 11.7454 11.155 31.8268 -8.815 11.7097 10.8668 32.0454 -8.82 11.6616 10.5694 32.2424 -8.825 11.6014 10.2649 32.4172 -8.83 11.5293 9.95532 32.5695 -8.835 11.4457 9.64234 32.699 -8.84 11.3508 9.32765 32.8055 -8.845 11.2451 9.01284 32.889 -8.85 11.1291 8.69935 32.9495 -8.855 11.0034 8.38853 32.9872 -8.86 10.8684 8.08161 33.0024 -8.865 10.7248 7.77971 32.9953 -8.87 10.5733 7.48384 32.9665 -8.875 10.4146 7.19489 32.9165 -8.88 10.2496 6.91365 32.846 -8.885 10.079 6.6408 32.7557 -8.89 9.90383 6.37688 32.6466 -8.895 9.72495 6.12236 32.5196 -8.9 9.54315 5.87809 32.3761 -8.905 9.35858 5.64592 32.2184 -8.91 9.17199 5.42634 32.0473 -8.915 8.98413 5.21965 31.8639 -8.92 8.79571 5.02607 31.669 -8.925 8.6074 4.84575 31.4635 -8.93 8.41984 4.67876 31.2483 -8.935 8.23364 4.52509 31.0245 -8.94 8.04936 4.38465 30.7928 -8.945 7.86753 4.25728 30.5542 -8.95 7.68865 4.14271 30.3096 -8.955 7.51317 4.04064 30.0598 -8.96 7.34153 3.95065 29.8059 -8.965 7.17411 3.87226 29.5487 -8.97 7.01126 3.8049 29.2891 -8.975 6.85329 3.74795 29.028 -8.98 6.7005 3.70067 28.7663 -8.985 6.55311 3.66226 28.505 -8.99 6.41135 3.63202 28.2446 -8.995 6.27534 3.61019 27.9846 -9 6.14517 3.59654 27.7251 -9.005 6.02089 3.59071 27.4665 -9.01 5.90255 3.59234 27.209 -9.015 5.79021 3.60111 26.953 -9.02 5.68388 3.61667 26.6987 -9.025 5.58361 3.63874 26.4465 -9.03 5.4894 3.66702 26.1965 -9.035 5.40125 3.70123 25.9491 -9.04 5.31917 3.74111 25.7044 -9.045 5.24315 3.78641 25.4626 -9.05 5.17315 3.8369 25.224 -9.055 5.10916 3.89236 24.9886 -9.06 5.05112 3.95259 24.7567 -9.065 4.99899 4.0174 24.5284 -9.07 4.9527 4.08661 24.3038 -9.075 4.9122 4.16007 24.083 -9.08 4.87738 4.23765 23.8662 -9.085 4.84784 4.3195 23.6535 -9.09 4.82348 4.40563 23.4452 -9.095 4.80435 4.49594 23.2414 -9.1 4.79047 4.59037 23.0422 -9.105 4.78186 4.68884 22.8476 -9.11 4.77855 4.79129 22.6579 -9.115 4.78053 4.89769 22.4731 -9.12 4.78781 5.00798 22.2933 -9.125 4.80037 5.12216 22.1188 -9.13 4.81819 5.24019 21.9496 -9.135 4.84125 5.3621 21.7861 -9.14 4.86951 5.48787 21.6282 -9.145 4.90292 5.61752 21.4763 -9.15 4.94143 5.7511 21.3306 -9.155 4.98498 5.88863 21.1913 -9.16 5.03351 6.03016 21.0585 -9.165 5.08692 6.17577 20.9326 -9.17 5.14514 6.32552 20.8138 -9.175 5.20807 6.47949 20.7024 -9.18 5.27561 6.63777 20.5986 -9.185 5.34764 6.80048 20.5027 -9.19 5.42404 6.96773 20.415 -9.195 5.50469 7.13964 20.3358 -9.2 5.58945 7.31635 20.2655 -9.205 5.67821 7.49791 20.2043 -9.21 5.77125 7.68365 20.1522 -9.215 5.86871 7.87345 20.1096 -9.22 5.97068 8.0673 20.077 -9.225 6.07721 8.26517 20.0549 -9.23 6.18832 8.46696 20.0437 -9.235 6.30403 8.67254 20.0439 -9.24 6.42432 8.88172 20.0558 -9.245 6.54915 9.09426 20.0799 -9.25 6.67848 9.30988 20.1166 -9.255 6.81222 9.52825 20.1662 -9.26 6.95028 9.74898 20.2291 -9.265 7.09253 9.97164 20.3057 -9.27 7.23884 10.1958 20.3963 -9.275 7.38904 10.4208 20.5013 -9.28 7.54294 10.6462 20.6208 -9.285 7.70035 10.8714 20.7553 -9.29 7.86102 11.0956 20.905 -9.295 8.02472 11.3181 21.0702 -9.3 8.19118 11.5382 21.2511 -9.305 8.36009 11.7551 21.4479 -9.31 8.53116 11.9679 21.6609 -9.315 8.70404 12.1756 21.8903 -9.32 8.87838 12.3774 22.1363 -9.325 9.05394 12.5728 22.3986 -9.33 9.23033 12.7608 22.6769 -9.335 9.40704 12.9397 22.9708 -9.34 9.58349 13.1079 23.2802 -9.345 9.75912 13.2639 23.6044 -9.35 9.93334 13.4063 23.943 -9.355 10.1056 13.5337 24.2952 -9.36 10.2751 13.6449 24.6602 -9.365 10.4414 13.7388 25.0368 -9.37 10.6038 13.8142 25.4242 -9.375 10.7615 13.8704 25.8209 -9.38 10.9139 13.9063 26.2257 -9.385 11.0603 13.9212 26.6369 -9.39 11.2 13.9143 27.0531 -9.395 11.3321 13.8852 27.4724 -9.4 11.456 13.8332 27.893 -9.405 11.5709 13.758 28.3128 -9.41 11.6758 13.6592 28.7298 -9.415 11.7701 13.5365 29.1415 -9.42 11.8529 13.3899 29.5457 -9.425 11.924 13.2171 29.9401 -9.43 11.983 13.0192 30.3226 -9.435 12.0292 12.7984 30.691 -9.44 12.0622 12.5572 31.0433 -9.445 12.0817 12.2977 31.3776 -9.45 12.0872 12.0221 31.6923 -9.455 12.0787 11.7323 31.9858 -9.46 12.0559 11.4303 32.257 -9.465 12.019 11.1179 32.5045 -9.47 11.968 10.7968 32.7276 -9.475 11.9031 10.4686 32.9253 -9.48 11.8246 10.1347 33.0972 -9.485 11.7329 9.79662 33.2427 -9.49 11.6285 9.45557 33.3616 -9.495 11.512 9.11276 33.4539 -9.5 11.3841 8.76927 33.5196 -9.505 11.2456 8.42606 33.559 -9.51 11.0974 8.08402 33.5726 -9.515 10.9404 7.74391 33.5609 -9.52 10.7757 7.40655 33.5249 -9.525 10.6031 7.07659 33.4661 -9.53 10.4229 6.75681 33.3855 -9.535 10.2361 6.44827 33.2839 -9.54 10.0437 6.1519 33.1623 -9.545 9.84661 5.86851 33.0216 -9.55 9.6458 5.59878 32.8629 -9.555 9.44209 5.34329 32.6872 -9.56 9.23632 5.10247 32.4958 -9.565 9.02929 4.87665 32.2898 -9.57 8.82177 4.66604 32.0704 -9.575 8.61448 4.47072 31.8391 -9.58 8.40814 4.29064 31.5972 -9.585 8.2034 4.12565 31.3462 -9.59 8.00089 3.97546 31.0876 -9.595 7.80121 3.83968 30.823 -9.6 7.60493 3.71777 30.5539 -9.605 7.41258 3.6091 30.2822 -9.61 7.22465 3.5129 30.0095 -9.615 7.04164 3.42864 29.735 -9.62 6.86387 3.35592 29.4583 -9.625 6.69156 3.29426 29.1802 -9.63 6.52491 3.2432 28.901 -9.635 6.36411 3.20227 28.6213 -9.64 6.20932 3.17101 28.3416 -9.645 6.06069 3.14898 28.0623 -9.65 5.91836 3.13571 27.7839 -9.655 5.78242 3.13078 27.5067 -9.66 5.65297 3.13374 27.2312 -9.665 5.53008 3.14415 26.9575 -9.67 5.41381 3.16159 26.6861 -9.675 5.3042 3.18562 26.4171 -9.68 5.20125 3.21584 26.1507 -9.685 5.10496 3.25182 25.8872 -9.69 5.01532 3.29316 25.6267 -9.695 4.93228 3.33944 25.3693 -9.7 4.85578 3.39029 25.1151 -9.705 4.78555 3.4458 24.8643 -9.71 4.72144 3.50598 24.6172 -9.715 4.66341 3.57068 24.3737 -9.72 4.6114 3.63972 24.134 -9.725 4.56536 3.71297 23.8982 -9.73 4.52525 3.7903 23.6664 -9.735 4.49099 3.87162 23.4388 -9.74 4.46252 3.95683 23.2153 -9.745 4.43978 4.04588 22.9962 -9.75 4.42269 4.13871 22.7816 -9.755 4.41117 4.2353 22.5716 -9.76 4.40516 4.33564 22.3664 -9.765 4.40455 4.43974 22.166 -9.77 4.40927 4.54762 21.9706 -9.775 4.41922 4.65933 21.7805 -9.78 4.43431 4.77494 21.5956 -9.785 4.45444 4.89453 21.4162 -9.79 4.4795 5.01821 21.2425 -9.795 4.50939 5.14608 21.0746 -9.8 4.544 5.2783 20.9126 -9.805 4.5832 5.415 20.7568 -9.81 4.62692 5.55604 20.6074 -9.815 4.67523 5.70146 20.4646 -9.82 4.72821 5.85139 20.3287 -9.825 4.78594 6.0059 20.1997 -9.83 4.84848 6.16508 20.078 -9.835 4.91589 6.32899 19.9638 -9.84 4.98821 6.49768 19.8573 -9.845 5.06547 6.67117 19.7589 -9.85 5.14771 6.8495 19.6689 -9.855 5.23493 7.03265 19.5874 -9.86 5.32714 7.22061 19.515 -9.865 5.42433 7.41335 19.4519 -9.87 5.52649 7.61082 19.3985 -9.875 5.6336 7.81296 19.3552 -9.88 5.74561 8.01969 19.3224 -9.885 5.86248 8.23091 19.3004 -9.89 5.98416 8.44653 19.2898 -9.895 6.11058 8.6664 19.2909 -9.9 6.24166 8.8904 19.3043 -9.905 6.37732 9.11836 19.3304 -9.91 6.51747 9.35011 19.3697 -9.915 6.66199 9.58546 19.4227 -9.92 6.81076 9.82421 19.4899 -9.925 6.96365 10.0661 19.5718 -9.93 7.12037 10.3108 19.6672 -9.935 7.28095 10.5574 19.7771 -9.94 7.44544 10.8054 19.9025 -9.945 7.61381 11.0538 20.0442 -9.95 7.78599 11.3018 20.2031 -9.955 7.96186 11.5486 20.3797 -9.96 8.14125 11.7932 20.5747 -9.965 8.32395 12.0346 20.7883 -9.97 8.50966 12.2719 21.0209 -9.975 8.69808 12.504 21.2727 -9.98 8.88883 12.7297 21.5435 -9.985 9.08148 12.9478 21.8334 -9.99 9.27555 13.1573 22.142 -9.995 9.47052 13.3569 22.469 -10 9.66581 13.5452 22.8138 -10.005 9.86078 13.721 23.176 -10.01 10.0548 13.8828 23.5547 -10.015 10.247 14.0293 23.949 -10.02 10.4368 14.159 24.358 -10.025 10.6232 14.2703 24.7805 -10.03 10.8054 14.3618 25.2153 -10.035 10.9824 14.4318 25.6609 -10.04 11.1533 14.4786 26.1159 -10.045 11.3171 14.5007 26.5786 -10.05 11.4726 14.4962 27.0473 -10.055 11.62 14.4637 27.5212 -10.06 11.7586 14.4033 27.9973 -10.065 11.8872 14.3151 28.4725 -10.07 12.0046 14.1997 28.9435 -10.075 12.11 14.0575 29.4075 -10.08 12.2024 13.8891 29.8616 -10.085 12.2811 13.6953 30.3032 -10.09 12.3455 13.4769 30.73 -10.095 12.395 13.2348 31.1396 -10.1 12.4293 12.9701 31.53 -10.105 12.4479 12.684 31.8993 -10.11 12.4507 12.3776 32.2457 -10.115 12.4376 12.0525 32.5677 -10.12 12.4085 11.7099 32.864 -10.125 12.3638 11.3517 33.1333 -10.13 12.3034 10.9794 33.3745 -10.135 12.2279 10.5948 33.587 -10.14 12.1376 10.1999 33.7698 -10.145 12.033 9.79702 33.9226 -10.15 11.9136 9.39114 34.0442 -10.155 11.78 8.98521 34.1346 -10.16 11.6331 8.58144 34.1944 -10.165 11.4739 8.18189 34.224 -10.17 11.3032 7.7885 34.2241 -10.175 11.1221 7.40304 34.1956 -10.18 10.9315 7.02716 34.1393 -10.185 10.7323 6.66236 34.0564 -10.19 10.5255 6.31002 33.9481 -10.195 10.312 5.97135 33.8157 -10.2 10.0928 5.64744 33.6607 -10.205 9.86882 5.33924 33.4847 -10.21 9.64107 5.04755 33.2894 -10.215 9.4105 4.77303 33.0768 -10.22 9.17808 4.51621 32.8487 -10.225 8.94479 4.27748 32.6074 -10.23 8.71161 4.05707 32.3552 -10.235 8.47953 3.85508 32.0944 -10.24 8.24951 3.67033 31.8258 -10.245 8.02227 3.50168 31.5496 -10.25 7.79837 3.34882 31.2668 -10.255 7.57837 3.21139 30.9784 -10.26 7.36275 3.08897 30.6853 -10.265 7.15199 2.98113 30.3884 -10.27 6.9465 2.88738 30.0884 -10.275 6.74669 2.80718 29.7863 -10.28 6.5529 2.73995 29.4826 -10.285 6.36545 2.68508 29.1781 -10.29 6.18461 2.64191 28.8735 -10.295 6.01064 2.60973 28.5692 -10.3 5.84374 2.58779 28.2659 -10.305 5.68407 2.57532 27.964 -10.31 5.53177 2.57147 27.664 -10.315 5.38693 2.57537 27.3662 -10.32 5.24961 2.5861 27.0711 -10.325 5.11983 2.6027 26.7789 -10.33 4.99755 2.62442 26.4898 -10.335 4.88246 2.65204 26.2037 -10.34 4.77447 2.68546 25.9207 -10.345 4.67348 2.72435 25.6409 -10.35 4.57941 2.76841 25.3644 -10.355 4.49217 2.81735 25.0913 -10.36 4.41168 2.87092 24.8219 -10.365 4.33783 2.9289 24.556 -10.37 4.27052 2.99109 24.294 -10.375 4.20965 3.05731 24.0358 -10.38 4.15511 3.12741 23.7816 -10.385 4.10679 3.20128 23.5314 -10.39 4.06457 3.27882 23.2855 -10.395 4.02833 3.35995 23.0437 -10.4 3.99794 3.44464 22.8063 -10.405 3.97328 3.53286 22.5733 -10.41 3.9542 3.62463 22.3448 -10.415 3.94059 3.71998 22.1209 -10.42 3.93228 3.81896 21.9016 -10.425 3.92905 3.92168 21.6872 -10.43 3.93082 4.02815 21.4777 -10.435 3.93762 4.13839 21.2732 -10.44 3.94946 4.25245 21.0738 -10.445 3.96635 4.37036 20.8797 -10.45 3.98829 4.49216 20.6908 -10.455 4.01528 4.61792 20.5074 -10.46 4.04731 4.74771 20.3297 -10.465 4.08438 4.88161 20.1577 -10.47 4.12646 5.01971 19.9916 -10.475 4.17354 5.1621 19.8317 -10.48 4.22559 5.3089 19.6781 -10.485 4.28258 5.46022 19.531 -10.49 4.34447 5.61619 19.3908 -10.495 4.41122 5.77696 19.2577 -10.5 4.48279 5.94267 19.1318 -10.505 4.55913 6.11347 19.0136 -10.51 4.64018 6.28955 18.9033 -10.515 4.72588 6.47107 18.8012 -10.52 4.81617 6.65822 18.7077 -10.525 4.91098 6.85121 18.623 -10.53 5.01037 7.04983 18.5475 -10.535 5.1146 7.25381 18.4815 -10.54 5.22377 7.46332 18.4254 -10.545 5.33797 7.67849 18.3797 -10.55 5.45728 7.89937 18.345 -10.555 5.58175 8.12596 18.3216 -10.56 5.71143 8.35822 18.3101 -10.565 5.84635 8.59604 18.311 -10.57 5.9865 8.83926 18.3249 -10.575 6.13188 9.08765 18.3522 -10.58 6.28246 9.34094 18.3935 -10.585 6.4382 9.59881 18.4494 -10.59 6.59903 9.86086 18.5203 -10.595 6.76489 10.1266 18.6069 -10.6 6.93567 10.3957 18.7096 -10.605 7.11126 10.6674 18.8292 -10.61 7.29154 10.9412 18.9661 -10.615 7.47635 11.2164 19.1209 -10.62 7.66554 11.4922 19.2943 -10.625 7.85893 11.768 19.4868 -10.63 8.05631 12.0429 19.6991 -10.635 8.25742 12.3161 19.9313 -10.64 8.46185 12.5872 20.1833 -10.645 8.66928 12.8543 20.4556 -10.65 8.87936 13.1157 20.7489 -10.655 9.09169 13.3696 21.0636 -10.66 9.30578 13.6143 21.3998 -10.665 9.52111 13.8481 21.7576 -10.67 9.7371 14.0692 22.1366 -10.675 9.95312 14.2761 22.5365 -10.68 10.1685 14.4669 22.9567 -10.685 10.3824 14.6401 23.3962 -10.69 10.594 14.794 23.854 -10.695 10.8026 14.927 24.3288 -10.7 11.0072 15.0374 24.8193 -10.705 11.2067 15.1236 25.3236 -10.71 11.4003 15.184 25.84 -10.715 11.5867 15.2171 26.3664 -10.72 11.7648 15.2213 26.9004 -10.725 11.9335 15.1951 27.4397 -10.73 12.0915 15.1367 27.9814 -10.735 12.2386 15.0421 28.5248 -10.74 12.3739 14.9111 29.0663 -10.745 12.496 14.7459 29.6016 -10.75 12.6038 14.5485 30.1265 -10.755 12.6961 14.3211 30.6373 -10.76 12.7721 14.0655 31.1305 -10.765 12.8309 13.7838 31.603 -10.77 12.872 13.4777 32.0519 -10.775 12.8949 13.1493 32.4747 -10.78 12.8994 12.8003 32.8693 -10.785 12.8851 12.4323 33.2337 -10.79 12.8523 12.0473 33.5665 -10.795 12.8009 11.6468 33.8665 -10.8 12.7314 11.2324 34.1327 -10.805 12.6442 10.8057 34.3646 -10.81 12.5398 10.3683 34.5619 -10.815 12.4192 9.92164 34.7247 -10.82 12.2831 9.46715 34.8534 -10.825 12.1328 9.00622 34.9488 -10.83 11.9686 8.54224 35.0111 -10.835 11.7897 8.08396 35.0394 -10.84 11.5971 7.63416 35.0342 -10.845 11.3923 7.19492 34.9965 -10.85 11.1764 6.76811 34.9272 -10.855 10.9508 6.3554 34.8277 -10.86 10.7167 5.95832 34.6993 -10.865 10.4753 5.57817 34.5436 -10.87 10.2278 5.21609 34.3621 -10.875 9.97526 4.87302 34.1568 -10.88 9.7189 4.54971 33.9297 -10.885 9.4598 4.24675 33.6827 -10.89 9.19903 3.96452 33.4183 -10.895 8.93763 3.70322 33.1389 -10.9 8.67662 3.46286 32.8471 -10.905 8.41699 3.24328 32.5455 -10.91 8.15971 3.04412 32.2371 -10.915 7.90571 2.86484 31.9249 -10.92 7.65595 2.70421 31.6097 -10.925 7.41115 2.56076 31.2897 -10.93 7.17179 2.43376 30.9659 -10.935 6.93832 2.3225 30.6393 -10.94 6.71113 2.22623 30.3106 -10.945 6.4906 2.14423 29.9807 -10.95 6.27704 2.07574 29.6502 -10.955 6.07074 2.02 29.32 -10.96 5.87195 1.97625 28.9905 -10.965 5.68089 1.94371 28.6624 -10.97 5.49772 1.9216 28.336 -10.975 5.32258 1.90912 28.0119 -10.98 5.15556 1.90548 27.6902 -10.985 4.99672 1.90986 27.3714 -10.99 4.84607 1.92144 27.0557 -10.995 4.70361 1.9394 26.7431 -11 4.56925 1.9629 26.4339 -11.005 4.44281 1.99172 26.128 -11.01 4.32404 2.02601 25.8258 -11.015 4.21281 2.06538 25.5271 -11.02 4.10902 2.10949 25.2322 -11.025 4.01252 2.15802 24.9411 -11.03 3.92318 2.21071 24.6538 -11.035 3.84088 2.26729 24.3703 -11.04 3.76546 2.32755 24.0909 -11.045 3.69678 2.39129 23.8154 -11.05 3.63471 2.45835 23.5441 -11.055 3.57907 2.52861 23.2768 -11.06 3.52972 2.60196 23.0137 -11.065 3.4865 2.67833 22.7548 -11.07 3.44925 2.75769 22.5002 -11.075 3.41778 2.84003 22.2499 -11.08 3.39194 2.92537 22.004 -11.085 3.37154 3.01377 21.7625 -11.09 3.35641 3.1053 21.5253 -11.095 3.34632 3.20007 21.2928 -11.1 3.34116 3.29811 21.0648 -11.105 3.34096 3.39945 20.8415 -11.11 3.34568 3.50411 20.623 -11.115 3.35534 3.61215 20.4092 -11.12 3.36992 3.72365 20.2002 -11.125 3.3894 3.83867 19.9963 -11.13 3.41376 3.95731 19.7973 -11.135 3.44298 4.07969 19.6035 -11.14 3.47703 4.20592 19.4151 -11.145 3.51588 4.33616 19.232 -11.15 3.55949 4.47054 19.0546 -11.155 3.60784 4.60925 18.8829 -11.16 3.66087 4.75247 18.7172 -11.165 3.71854 4.90039 18.5576 -11.17 3.7808 5.05322 18.4044 -11.175 3.84759 5.21121 18.2577 -11.18 3.91887 5.37458 18.1179 -11.185 3.99456 5.5436 17.9852 -11.19 4.0746 5.71854 17.8598 -11.195 4.15913 5.89933 17.742 -11.2 4.24842 6.0859 17.6322 -11.205 4.34257 6.2785 17.5306 -11.21 4.44167 6.47733 17.4376 -11.215 4.54582 6.68259 17.3536 -11.22 4.65512 6.89441 17.2789 -11.225 4.76964 7.11289 17.214 -11.23 4.88945 7.33813 17.1594 -11.235 5.01462 7.57015 17.1155 -11.24 5.14521 7.80897 17.0828 -11.245 5.28127 8.05455 17.0619 -11.25 5.42286 8.30684 17.0533 -11.255 5.57001 8.56573 17.0577 -11.26 5.72276 8.83109 17.0756 -11.265 5.88112 9.10276 17.1077 -11.27 6.04514 9.38053 17.1547 -11.275 6.21481 9.66417 17.2172 -11.28 6.39014 9.95341 17.2961 -11.285 6.57114 10.2479 17.392 -11.29 6.75779 10.5474 17.5058 -11.295 6.94982 10.8514 17.6374 -11.3 7.14698 11.1591 17.787 -11.305 7.34938 11.4699 17.9562 -11.31 7.55701 11.7827 18.1463 -11.315 7.76983 12.0967 18.3583 -11.32 7.98768 12.4107 18.5932 -11.325 8.21037 12.7234 18.8519 -11.33 8.43762 13.0337 19.1349 -11.335 8.66907 13.3399 19.4428 -11.34 8.90431 13.6407 19.7759 -11.345 9.14282 13.9343 20.1342 -11.35 9.38404 14.2191 20.5178 -11.355 9.62734 14.4931 20.9265 -11.36 9.87198 14.7543 21.36 -11.365 10.1172 15.0008 21.8177 -11.37 10.3621 15.2302 22.2991 -11.375 10.6058 15.4403 22.8032 -11.38 10.8473 15.6288 23.329 -11.385 11.0854 15.793 23.8755 -11.39 11.3191 15.9304 24.4412 -11.395 11.5471 16.0383 25.0248 -11.4 11.7683 16.1139 25.6248 -11.405 11.9824 16.1559 26.2398 -11.41 12.1877 16.1625 26.8657 -11.415 12.3825 16.1323 27.4981 -11.42 12.5652 16.064 28.1328 -11.425 12.7344 15.9568 28.7659 -11.43 12.8887 15.8104 29.3934 -11.435 13.0269 15.6245 30.0116 -11.44 13.1479 15.3994 30.6167 -11.445 13.2506 15.1356 31.2052 -11.45 13.3342 14.8341 31.7737 -11.455 13.3979 14.496 32.3189 -11.46 13.4412 14.1229 32.8376 -11.465 13.4633 13.7168 33.3269 -11.47 13.464 13.2799 33.7837 -11.475 13.443 12.8147 34.2052 -11.48 13.4 12.3243 34.5889 -11.485 13.3349 11.812 34.9319 -11.49 13.2473 11.2827 35.2302 -11.495 13.1377 10.7413 35.4834 -11.5 13.0069 10.1924 35.6917 -11.505 12.856 9.64016 35.8555 -11.51 12.6857 9.0885 35.9756 -11.515 12.4972 8.54109 36.0527 -11.52 12.2916 8.00128 36.0879 -11.525 12.07 7.47215 36.0825 -11.53 11.8337 6.95647 36.0379 -11.535 11.584 6.45673 35.9559 -11.54 11.3223 5.97513 35.8382 -11.545 11.0501 5.51359 35.6869 -11.55 10.7688 5.07373 35.5044 -11.555 10.4801 4.65689 35.293 -11.56 10.1857 4.2641 35.0556 -11.565 9.88725 3.89613 34.7949 -11.57 9.58646 3.55338 34.5142 -11.575 9.28432 3.23569 34.2167 -11.58 8.98205 2.94284 33.9044 -11.585 8.68086 2.67452 33.5792 -11.59 8.38189 2.43028 33.2431 -11.595 8.08617 2.20954 32.8977 -11.6 7.79467 2.01161 32.5447 -11.605 7.50826 1.83564 32.1857 -11.61 7.22772 1.6807 31.8221 -11.615 6.95376 1.5457 31.4554 -11.62 6.68699 1.42942 31.0868 -11.625 6.42796 1.33054 30.7175 -11.63 6.17712 1.24759 30.3486 -11.635 5.93481 1.17897 29.9812 -11.64 5.70133 1.12297 29.616 -11.645 5.47687 1.07786 29.254 -11.65 5.26156 1.04363 28.8949 -11.655 5.05541 1.01987 28.5387 -11.66 4.8584 1.00571 28.1857 -11.665 4.67049 1.00034 27.8361 -11.67 4.49162 1.00299 27.4902 -11.675 4.3217 1.01295 27.148 -11.68 4.16066 1.02954 26.8099 -11.685 4.00837 1.05215 26.4758 -11.69 3.86471 1.0802 26.1459 -11.695 3.72953 1.11316 25.8202 -11.7 3.60267 1.15056 25.4989 -11.705 3.48395 1.19196 25.1818 -11.71 3.37317 1.23699 24.8691 -11.715 3.27011 1.2853 24.5606 -11.72 3.17455 1.33662 24.2563 -11.725 3.08603 1.39083 23.9563 -11.73 3.00421 1.4478 23.6605 -11.735 2.929 1.50732 23.3689 -11.74 2.86027 1.5692 23.0816 -11.745 2.79792 1.63326 22.7985 -11.75 2.74183 1.6994 22.5195 -11.755 2.69185 1.76748 22.2447 -11.76 2.64784 1.83745 21.974 -11.765 2.60966 1.90926 21.7074 -11.77 2.57715 1.98288 21.445 -11.775 2.55014 2.05833 21.1867 -11.78 2.52846 2.13565 20.9325 -11.785 2.51193 2.2149 20.6825 -11.79 2.50036 2.29618 20.4366 -11.795 2.49355 2.37962 20.195 -11.8 2.4913 2.46537 19.9575 -11.805 2.4934 2.55361 19.7242 -11.81 2.49963 2.64455 19.4952 -11.815 2.50975 2.73843 19.2705 -11.82 2.52354 2.83553 19.0501 -11.825 2.54111 2.93585 18.8341 -11.83 2.56266 3.03937 18.6226 -11.835 2.5882 3.1462 18.4156 -11.84 2.61776 3.2565 18.2131 -11.845 2.65136 3.37041 18.0153 -11.85 2.689 3.48808 17.8222 -11.855 2.73072 3.60969 17.634 -11.86 2.77652 3.73542 17.4506 -11.865 2.82643 3.86547 17.2723 -11.87 2.88048 4.00003 17.0992 -11.875 2.93868 4.13934 16.9315 -11.88 3.00105 4.2836 16.7693 -11.885 3.06763 4.43308 16.6128 -11.89 3.13843 4.588 16.4622 -11.895 3.21348 4.74865 16.3178 -11.9 3.29281 4.91529 16.1797 -11.905 3.37644 5.0882 16.0482 -11.91 3.4644 5.26768 15.9236 -11.915 3.55685 5.45369 15.8063 -11.92 3.65398 5.64635 15.6964 -11.925 3.75595 5.84602 15.5944 -11.93 3.86288 6.05304 15.5006 -11.935 3.97493 6.26769 15.4153 -11.94 4.09223 6.49023 15.3391 -11.945 4.2149 6.72088 15.2722 -11.95 4.34308 6.95982 15.2153 -11.955 4.4769 7.20719 15.1688 -11.96 4.61647 7.46311 15.1334 -11.965 4.76192 7.72764 15.1097 -11.97 4.91337 8.00082 15.0984 -11.975 5.07093 8.28266 15.1 -11.98 5.23472 8.57312 15.1155 -11.985 5.40483 8.87211 15.1456 -11.99 5.58138 9.17955 15.191 -11.995 5.76447 9.49527 15.2527 -12 5.9542 9.81911 15.3316 -12.005 6.15066 10.1508 15.4285 -12.01 6.35395 10.4902 15.5446 -12.015 6.56411 10.8369 15.6807 -12.02 6.78077 11.19 15.8369 -12.025 7.00398 11.5489 16.0146 -12.03 7.23387 11.913 16.2154 -12.035 7.47045 12.2813 16.4409 -12.04 7.71368 12.6528 16.6924 -12.045 7.9634 13.0262 16.9711 -12.05 8.21939 13.4002 17.278 -12.055 8.48133 13.773 17.614 -12.06 8.74881 14.143 17.9798 -12.065 9.02133 14.5081 18.3759 -12.07 9.29831 14.8661 18.8029 -12.075 9.57908 15.2147 19.2608 -12.08 9.86288 15.5514 19.7498 -12.085 10.1489 15.8735 20.2699 -12.09 10.4361 16.178 20.8207 -12.095 10.7236 16.4618 21.402 -12.1 11.0101 16.7217 22.0131 -12.105 11.2946 16.9543 22.6534 -12.11 11.5758 17.1559 23.322 -12.115 11.8529 17.3248 24.0182 -12.12 12.1242 17.4575 24.7384 -12.125 12.3878 17.5499 25.4786 -12.13 12.6417 17.5986 26.2346 -12.135 12.884 17.6007 27.002 -12.14 13.113 17.5538 27.7765 -12.145 13.3269 17.4563 28.5535 -12.15 13.5241 17.3068 29.3285 -12.155 13.7029 17.1047 30.0966 -12.16 13.8619 16.8498 30.8532 -12.165 13.9996 16.5426 31.5933 -12.17 14.1146 16.184 32.3119 -12.175 14.2055 15.7755 33.0038 -12.18 14.2712 15.3192 33.6639 -12.185 14.3105 14.8177 34.2869 -12.19 14.3222 14.2742 34.8673 -12.195 14.3055 13.6905 35.3974 -12.2 14.2603 13.0726 35.8736 -12.205 14.1868 12.4281 36.295 -12.21 14.0855 11.7643 36.6607 -12.215 13.9568 11.088 36.9705 -12.22 13.8014 10.4053 37.2243 -12.225 13.6204 9.72174 37.4223 -12.23 13.4148 9.04248 37.5652 -12.235 13.186 8.37206 37.6538 -12.24 12.9353 7.71448 37.6893 -12.245 12.6644 7.07322 37.6732 -12.25 12.3752 6.45122 37.6073 -12.255 12.0697 5.85088 37.4938 -12.26 11.75 5.27406 37.335 -12.265 11.4187 4.72208 37.1337 -12.27 11.0782 4.19575 36.8929 -12.275 10.7301 3.69839 36.6183 -12.28 10.3754 3.23385 36.3157 -12.285 10.0162 2.80255 35.9885 -12.29 9.6543 2.4046 35.6397 -12.295 9.29159 2.03984 35.2723 -12.3 8.92966 1.70781 34.8893 -12.305 8.57005 1.40776 34.4934 -12.31 8.21413 1.13866 34.0872 -12.315 7.86317 0.899167 33.6733 -12.32 7.51831 0.687673 33.2541 -12.325 7.18055 0.502269 32.8319 -12.33 6.85077 0.340758 32.4088 -12.335 6.52971 0.200651 31.9868 -12.34 6.21803 0.0797081 31.5674 -12.345 5.91627 -0.0224135 31.1503 -12.35 5.62472 -0.10712 30.736 -12.355 5.34362 -0.175912 30.325 -12.36 5.07317 -0.230223 29.9181 -12.365 4.81348 -0.271416 29.5155 -12.37 4.56465 -0.300786 29.1178 -12.375 4.32671 -0.319561 28.7252 -12.38 4.09965 -0.328898 28.3379 -12.385 3.88341 -0.329887 27.956 -12.39 3.67787 -0.323549 27.5798 -12.395 3.48287 -0.310835 27.209 -12.4 3.29821 -0.29263 26.8437 -12.405 3.12361 -0.269742 26.4838 -12.41 2.95871 -0.242763 26.1291 -12.415 2.80321 -0.212214 25.7798 -12.42 2.65681 -0.178611 25.4358 -12.425 2.51924 -0.142423 25.0968 -12.43 2.3902 -0.104079 24.7629 -12.435 2.26939 -0.0639659 24.4339 -12.44 2.15651 -0.0224265 24.1098 -12.445 2.05126 0.0202378 23.7904 -12.45 1.95332 0.0637683 23.4757 -12.455 1.86237 0.107949 23.1655 -12.46 1.77809 0.152605 22.8598 -12.465 1.70015 0.197607 22.5586 -12.47 1.62822 0.242864 22.2616 -12.475 1.56196 0.28833 21.9689 -12.48 1.50103 0.334001 21.6803 -12.485 1.44512 0.379856 21.3957 -12.49 1.39404 0.425833 21.1152 -12.495 1.34763 0.471891 20.8385 -12.5 1.30572 0.518005 20.5658 -12.505 1.26815 0.564168 20.2969 -12.51 1.23474 0.610389 20.0317 -12.515 1.20532 0.656694 19.7702 -12.52 1.17972 0.703126 19.5124 -12.525 1.15777 0.749746 19.2583 -12.53 1.13927 0.796631 19.0077 -12.535 1.12407 0.843875 18.7606 -12.54 1.11197 0.89159 18.517 -12.545 1.1028 0.939903 18.2768 -12.55 1.09637 0.988959 18.04 -12.555 1.09249 1.03892 17.8066 -12.56 1.09109 1.0899 17.5765 -12.565 1.09218 1.14192 17.3498 -12.57 1.09573 1.19507 17.1263 -12.575 1.10173 1.24944 16.9062 -12.58 1.11013 1.30511 16.6893 -12.585 1.12092 1.36221 16.4756 -12.59 1.13405 1.42086 16.2652 -12.595 1.14951 1.48118 16.058 -12.6 1.16727 1.54331 15.854 -12.605 1.18731 1.6074 15.6533 -12.61 1.20959 1.67362 15.4557 -12.615 1.23411 1.74213 15.2614 -12.62 1.26084 1.81311 15.0702 -12.625 1.28975 1.88675 14.8824 -12.63 1.32084 1.96325 14.6977 -12.635 1.35411 2.0428 14.5164 -12.64 1.38967 2.12553 14.3383 -12.645 1.42759 2.21159 14.1637 -12.65 1.46794 2.30117 13.9923 -12.655 1.51077 2.39444 13.8244 -12.66 1.55616 2.49161 13.6599 -12.665 1.60419 2.59288 13.499 -12.67 1.65494 2.69846 13.3415 -12.675 1.7085 2.80859 13.1878 -12.68 1.76496 2.92351 13.0378 -12.685 1.82443 3.04345 12.8916 -12.69 1.88701 3.16868 12.7495 -12.695 1.9528 3.29948 12.6114 -12.7 2.02191 3.43611 12.4776 -12.705 2.09448 3.57887 12.3481 -12.71 2.17062 3.72806 12.2233 -12.715 2.25046 3.88399 12.1032 -12.72 2.33414 4.04698 11.9881 -12.725 2.4219 4.21686 11.8783 -12.73 2.514 4.3936 11.7745 -12.735 2.6106 4.57788 11.6765 -12.74 2.71184 4.77031 11.5846 -12.745 2.8179 4.97147 11.4989 -12.75 2.92896 5.18191 11.4198 -12.755 3.04519 5.40213 11.3476 -12.76 3.16678 5.6326 11.2826 -12.765 3.29395 5.87375 11.2254 -12.77 3.42688 6.12597 11.1765 -12.775 3.5658 6.38961 11.1364 -12.78 3.71093 6.66498 11.106 -12.785 3.8625 6.95236 11.0858 -12.79 4.02075 7.25198 11.0767 -12.795 4.18592 7.56404 11.0796 -12.8 4.35828 7.88871 11.0954 -12.805 4.53807 8.2261 11.1251 -12.81 4.72558 8.5763 11.1698 -12.815 4.92108 8.93934 11.2305 -12.82 5.12485 9.31525 11.3085 -12.825 5.3372 9.70397 11.4051 -12.83 5.55842 10.1055 11.5216 -12.835 5.78883 10.5196 11.6593 -12.84 6.02873 10.9462 11.8198 -12.845 6.27847 11.3851 12.0045 -12.85 6.53832 11.8361 12.215 -12.855 6.80743 12.2978 12.4517 -12.86 7.08575 12.7695 12.7167 -12.865 7.37361 13.2504 13.013 -12.87 7.6712 13.7395 13.343 -12.875 7.97857 14.2352 13.7091 -12.88 8.29561 14.7358 14.1134 -12.885 8.62205 15.2391 14.5578 -12.89 8.95747 15.7424 15.0438 -12.895 9.30132 16.2428 15.5729 -12.9 9.65288 16.737 16.146 -12.905 10.0113 17.2213 16.7642 -12.91 10.3755 17.6917 17.428 -12.915 10.7444 18.1436 18.1378 -12.92 11.1166 18.5723 18.8938 -12.925 11.4907 18.9726 19.6958 -12.93 11.865 19.3389 20.5436 -12.935 12.2378 19.6653 21.4364 -12.94 12.6071 19.9456 22.3736 -12.945 12.9715 20.1755 23.3538 -12.95 13.3286 20.3499 24.3718 -12.955 13.6751 20.4615 25.4208 -12.96 14.0081 20.5039 26.4935 -12.965 14.3245 20.472 27.5826 -12.97 14.6215 20.3617 28.6804 -12.975 14.8961 20.1701 29.7791 -12.98 15.1458 19.8954 30.8706 -12.985 15.368 19.5368 31.9465 -12.99 15.56 19.0947 32.9982 -12.995 15.7195 18.5706 34.017 -13 15.8442 17.967 34.9936 -13.005 15.9319 17.2877 35.919 -13.01 15.9803 16.5374 36.7834 -13.015 15.9877 15.7208 37.5759 -13.02 15.9532 14.843 38.2845 -13.025 15.877 13.9181 38.9069 -13.03 15.7591 12.9597 39.4422 -13.035 15.6002 11.9803 39.8899 -13.04 15.4014 10.9911 40.2501 -13.045 15.164 10.0024 40.5235 -13.05 14.8896 9.02307 40.7114 -13.055 14.5805 8.061 40.8158 -13.06 14.2389 7.12285 40.8389 -13.065 13.8678 6.21416 40.7838 -13.07 13.4704 5.33931 40.6542 -13.075 13.05 4.50152 40.4542 -13.08 12.6107 3.70285 40.1885 -13.085 12.1567 2.94455 39.8627 -13.09 11.6895 2.23518 39.4884 -13.095 11.2119 1.57918 39.0744 -13.1 10.7269 0.976953 38.627 -13.105 10.2376 0.428301 38.152 -13.11 9.74685 -0.0675789 37.6548 -13.115 9.2572 -0.512092 37.1407 -13.12 8.771 -0.907247 36.6144 -13.125 8.29037 -1.25566 36.0806 -13.13 7.81721 -1.56053 35.5433 -13.135 7.35318 -1.8257 35.0064 -13.14 6.89974 -2.05547 34.4734 -13.145 6.45815 -2.25211 33.9454 -13.15 6.02933 -2.41796 33.4236 -13.155 5.61398 -2.55598 32.9091 -13.16 5.21269 -2.66899 32.4029 -13.165 4.82593 -2.75966 31.9059 -13.17 4.45404 -2.83053 31.4187 -13.175 4.09723 -2.88402 30.9418 -13.18 3.75562 -2.92239 30.4754 -13.185 3.42916 -2.94777 30.0197 -13.19 3.11772 -2.96218 29.5743 -13.195 2.82104 -2.96747 29.1389 -13.2 2.53878 -2.9653 28.7136 -13.205 2.27053 -2.95695 28.2982 -13.21 2.01586 -2.94357 27.8921 -13.215 1.7743 -2.92623 27.4952 -13.22 1.5454 -2.90593 27.107 -13.225 1.32867 -2.88358 26.7272 -13.23 1.12363 -2.86005 26.3556 -13.235 0.929775 -2.8361 25.9918 -13.24 0.746589 -2.81242 25.6356 -13.245 0.573547 -2.78965 25.2866 -13.25 0.410111 -2.76833 24.9447 -13.255 0.255731 -2.74893 24.6095 -13.26 0.109845 -2.73186 24.2809 -13.265 -0.0281218 -2.71743 23.9586 -13.27 -0.158755 -2.7059 23.6425 -13.275 -0.282654 -2.69744 23.3323 -13.28 -0.400397 -2.69219 23.0278 -13.285 -0.512397 -2.69036 22.7288 -13.29 -0.619013 -2.69211 22.4353 -13.295 -0.720611 -2.69761 22.147 -13.3 -0.81756 -2.707 21.8639 -13.305 -0.910231 -2.72041 21.586 -13.31 -0.999001 -2.73796 21.3131 -13.315 -1.08425 -2.75972 21.0451 -13.32 -1.16636 -2.7858 20.782 -13.325 -1.24572 -2.81624 20.5237 -13.33 -1.32273 -2.85109 20.2701 -13.335 -1.39777 -2.89039 20.0212 -13.34 -1.47125 -2.93415 19.7769 -13.345 -1.54357 -2.98237 19.5372 -13.35 -1.61507 -3.03506 19.302 -13.355 -1.6859 -3.09237 19.0714 -13.36 -1.75625 -3.15441 18.8455 -13.365 -1.82632 -3.22129 18.6242 -13.37 -1.89633 -3.29312 18.4076 -13.375 -1.96647 -3.37002 18.1957 -13.38 -2.03698 -3.45208 17.9886 -13.385 -2.10808 -3.53943 17.7864 -13.39 -2.18 -3.63215 17.589 -13.395 -2.25299 -3.73035 17.3967 -13.4 -2.32728 -3.83414 17.2094 -13.405 -2.40313 -3.94361 17.0272 -13.41 -2.48081 -4.05887 16.8503 -13.415 -2.56057 -4.18 16.6788 -13.42 -2.64267 -4.3071 16.5127 -13.425 -2.72729 -4.44031 16.3523 -13.43 -2.81454 -4.5799 16.1978 -13.435 -2.90457 -4.7261 16.0493 -13.44 -2.99751 -4.87914 15.9071 -13.445 -3.09352 -5.03927 15.7713 -13.45 -3.19276 -5.20668 15.6423 -13.455 -3.29541 -5.38158 15.5204 -13.46 -3.40166 -5.56418 15.4057 -13.465 -3.51169 -5.75464 15.2988 -13.47 -3.62572 -5.95315 15.2 -13.475 -3.74396 -6.15987 15.1095 -13.48 -3.86663 -6.37494 15.028 -13.485 -3.99397 -6.59852 14.9557 -13.49 -4.12622 -6.83073 14.8931 -13.495 -4.26363 -7.07169 14.8409 -13.5 -4.40648 -7.32152 14.7993 -13.505 -4.55493 -7.58013 14.7691 -13.51 -4.70895 -7.84727 14.7506 -13.515 -4.86875 -8.12336 14.7447 -13.52 -5.03454 -8.40876 14.7523 -13.525 -5.20653 -8.7037 14.7742 -13.53 -5.38486 -9.0083 14.8113 -13.535 -5.56969 -9.32254 14.8644 -13.54 -5.76113 -9.6463 14.9345 -13.545 -5.95928 -9.97931 15.0226 -13.55 -6.16418 -10.3212 15.1297 -13.555 -6.37589 -10.6715 15.2566 -13.56 -6.59441 -11.0295 15.4045 -13.565 -6.81975 -11.3945 15.5743 -13.57 -7.05185 -11.7657 15.7672 -13.575 -7.29065 -12.142 15.9842 -13.58 -7.53608 -12.5223 16.2264 -13.585 -7.78801 -12.9054 16.4949 -13.59 -8.04631 -13.29 16.7909 -13.595 -8.31081 -13.6745 17.1156 -13.6 -8.58132 -14.0573 17.4701 -13.605 -8.8576 -14.4369 17.8556 -13.61 -9.13879 -14.8123 18.2716 -13.615 -9.42421 -15.1807 18.7191 -13.62 -9.71328 -15.5388 19.1992 -13.625 -10.0053 -15.8833 19.7126 -13.63 -10.2994 -16.2108 20.2596 -13.635 -10.5947 -16.5179 20.8398 -13.64 -10.8901 -16.8016 21.4528 -13.645 -11.1845 -17.0584 22.0975 -13.65 -11.4766 -17.2854 22.7723 -13.655 -11.765 -17.4791 23.4754 -13.66 -12.0482 -17.6367 24.2043 -13.665 -12.3246 -17.7548 24.9563 -13.67 -12.5925 -17.8306 25.728 -13.675 -12.85 -17.8608 26.5159 -13.68 -13.0951 -17.8426 27.3157 -13.685 -13.3258 -17.773 28.1229 -13.69 -13.5401 -17.6482 28.933 -13.695 -13.7376 -17.4621 29.7433 -13.7 -13.9159 -17.2167 30.5461 -13.705 -14.0729 -16.9156 31.3336 -13.71 -14.2066 -16.5626 32.0984 -13.715 -14.3152 -16.1612 32.834 -13.72 -14.3972 -15.7151 33.5343 -13.725 -14.4517 -15.2276 34.1942 -13.73 -14.4777 -14.7024 34.8092 -13.735 -14.4748 -14.1428 35.3753 -13.74 -14.4427 -13.5523 35.8893 -13.745 -14.3814 -12.9343 36.3489 -13.75 -14.2914 -12.292 36.7522 -13.755 -14.1733 -11.6288 37.098 -13.76 -14.0281 -10.948 37.386 -13.765 -13.857 -10.2527 37.6163 -13.77 -13.6615 -9.54617 37.7899 -13.775 -13.4429 -8.83378 37.9078 -13.78 -13.2001 -8.12993 37.9685 -13.785 -12.9349 -7.44048 37.9737 -13.79 -12.6496 -6.76955 37.9255 -13.795 -12.3463 -6.12083 37.8265 -13.8 -12.0271 -5.49754 37.6795 -13.805 -11.6941 -4.90248 37.4876 -13.81 -11.3493 -4.33798 37.2541 -13.815 -10.9948 -3.80595 36.9826 -13.82 -10.6324 -3.30782 36.6771 -13.825 -10.2642 -2.84461 36.3417 -13.83 -9.89208 -2.41685 35.9809 -13.835 -9.51789 -2.02467 35.5996 -13.84 -9.14349 -1.66773 35.2025 -13.845 -8.77067 -1.34523 34.7952 -13.85 -8.40121 -1.05592 34.383 -13.855 -8.03666 -0.797334 33.9656 -13.86 -7.67813 -0.567441 33.5427 -13.865 -7.32657 -0.364687 33.1161 -13.87 -6.98286 -0.187499 32.6874 -13.875 -6.64777 -0.0342879 32.2581 -13.88 -6.32198 0.0965538 31.8296 -13.885 -6.0061 0.206649 31.4029 -13.89 -5.70061 0.29764 30.9791 -13.895 -5.40594 0.371182 30.559 -13.9 -5.12239 0.428951 30.1434 -13.905 -4.85021 0.472639 29.7327 -13.91 -4.58951 0.503953 29.3273 -13.915 -4.34034 0.524619 28.9275 -13.92 -4.10265 0.536379 28.5333 -13.925 -3.87629 0.540458 28.1448 -13.93 -3.66099 0.536988 27.762 -13.935 -3.45652 0.526843 27.3849 -13.94 -3.26264 0.510869 27.0136 -13.945 -3.07908 0.489857 26.6479 -13.95 -2.90558 0.464531 26.2878 -13.955 -2.74185 0.435555 25.9332 -13.96 -2.58759 0.403533 25.5841 -13.965 -2.44249 0.369005 25.2404 -13.97 -2.30623 0.33245 24.9019 -13.975 -2.17848 0.294286 24.5685 -13.98 -2.05888 0.254868 24.2402 -13.985 -1.94709 0.214492 23.9169 -13.99 -1.84272 0.173389 23.5983 -13.995 -1.74538 0.131749 23.2844 -14 -1.65472 0.0897732 22.975 -14.005 -1.57047 0.0476287 22.6701 -14.01 -1.49238 0.00545756 22.3697 -14.015 -1.42017 -0.0366212 22.0735 -14.02 -1.35359 -0.0785118 21.7815 -14.025 -1.29237 -0.120141 21.4937 -14.03 -1.23625 -0.16146 21.2099 -14.035 -1.18496 -0.202442 20.9301 -14.04 -1.13824 -0.243084 20.6542 -14.045 -1.09582 -0.283404 20.3822 -14.05 -1.05745 -0.323447 20.1139 -14.055 -1.02285 -0.363278 19.8493 -14.06 -0.991765 -0.402985 19.5883 -14.065 -0.963981 -0.442642 19.3309 -14.07 -0.939403 -0.482255 19.0771 -14.075 -0.917916 -0.521855 18.8267 -14.08 -0.899406 -0.561488 18.5798 -14.085 -0.883761 -0.601207 18.3363 -14.09 -0.870869 -0.641076 18.0961 -14.095 -0.860619 -0.681167 17.8593 -14.1 -0.852901 -0.721565 17.6258 -14.105 -0.847607 -0.762363 17.3955 -14.11 -0.844627 -0.803664 17.1684 -14.115 -0.843854 -0.845581 16.9444 -14.12 -0.845181 -0.888237 16.7237 -14.125 -0.848504 -0.931766 16.506 -14.13 -0.853716 -0.976311 16.2914 -14.135 -0.860769 -1.02199 16.0799 -14.14 -0.869675 -1.06887 15.8714 -14.145 -0.880431 -1.11703 15.666 -14.15 -0.893038 -1.16657 15.4635 -14.155 -0.907494 -1.2176 15.264 -14.16 -0.923802 -1.27021 15.0675 -14.165 -0.941964 -1.32454 14.874 -14.17 -0.961986 -1.3807 14.6834 -14.175 -0.983871 -1.43883 14.4957 -14.18 -1.00763 -1.49908 14.311 -14.185 -1.03326 -1.56161 14.1292 -14.19 -1.06078 -1.62657 13.9503 -14.195 -1.09021 -1.69413 13.7744 -14.2 -1.12154 -1.76448 13.6015 -14.205 -1.15479 -1.8378 13.4315 -14.21 -1.18999 -1.91429 13.2645 -14.215 -1.22726 -1.99408 13.1006 -14.22 -1.26667 -2.07732 12.9398 -14.225 -1.30831 -2.16421 12.782 -14.23 -1.35224 -2.25493 12.6274 -14.235 -1.39855 -2.34967 12.4759 -14.24 -1.44732 -2.44867 12.3276 -14.245 -1.49866 -2.55213 12.1826 -14.25 -1.55266 -2.66028 12.0409 -14.255 -1.60942 -2.77338 11.9027 -14.26 -1.66907 -2.89168 11.768 -14.265 -1.73173 -3.01543 11.637 -14.27 -1.79751 -3.14492 11.5098 -14.275 -1.86656 -3.28043 11.3865 -14.28 -1.93902 -3.42225 11.2674 -14.285 -2.01502 -3.5707 11.1525 -14.29 -2.09473 -3.72608 11.042 -14.295 -2.1783 -3.88873 10.9362 -14.3 -2.2659 -4.05899 10.8352 -14.305 -2.35772 -4.237 10.7394 -14.31 -2.45408 -4.42238 10.6495 -14.315 -2.55516 -4.61577 10.5657 -14.32 -2.66114 -4.81789 10.4879 -14.325 -2.77222 -5.02939 10.4165 -14.33 -2.88859 -5.2509 10.3517 -14.335 -3.01046 -5.48301 10.2939 -14.34 -3.13804 -5.72624 10.2435 -14.345 -3.27155 -5.98109 10.201 -14.35 -3.41124 -6.248 10.1671 -14.355 -3.55733 -6.52736 10.1423 -14.36 -3.71008 -6.81954 10.1274 -14.365 -3.86974 -7.12484 10.1233 -14.37 -4.03657 -7.44352 10.1308 -14.375 -4.21086 -7.7758 10.1509 -14.38 -4.39287 -8.12185 10.1847 -14.385 -4.58291 -8.48181 10.2332 -14.39 -4.78127 -8.85574 10.2978 -14.395 -4.98825 -9.24369 10.3796 -14.4 -5.20418 -9.64566 10.48 -14.405 -5.42937 -10.0616 10.6005 -14.41 -5.66415 -10.4914 10.7426 -14.415 -5.90887 -10.9349 10.9078 -14.42 -6.16388 -11.3919 11.0979 -14.425 -6.42953 -11.8622 11.3145 -14.43 -6.70607 -12.3454 11.5593 -14.435 -6.99251 -12.84 11.8328 -14.44 -7.2889 -13.3452 12.1375 -14.445 -7.5956 -13.8599 12.4768 -14.45 -7.91281 -14.3829 12.8536 -14.455 -8.24054 -14.9123 13.2703 -14.46 -8.57862 -15.4459 13.7294 -14.465 -8.92672 -15.9812 14.2327 -14.47 -9.28432 -16.515 14.7822 -14.475 -9.65073 -17.0439 15.379 -14.48 -10.0251 -17.5639 16.0245 -14.485 -10.4064 -18.0706 16.7193 -14.49 -10.7933 -18.5594 17.464 -14.495 -11.1846 -19.0249 18.2589 -14.5 -11.5786 -19.4615 19.1039 -14.505 -11.9737 -19.8632 19.9986 -14.51 -12.3678 -20.2235 20.9424 -14.515 -12.7588 -20.5354 21.9343 -14.52 -13.1448 -20.7919 22.9731 -14.525 -13.5238 -20.9891 24.0561 -14.53 -13.8928 -21.1197 25.1757 -14.535 -14.2481 -21.1762 26.3234 -14.54 -14.5863 -21.1523 27.4906 -14.545 -14.904 -21.0432 28.6685 -14.55 -15.1983 -20.8452 29.8481 -14.555 -15.4658 -20.556 31.0201 -14.56 -15.7039 -20.1747 32.1753 -14.565 -15.9097 -19.7014 33.304 -14.57 -16.0804 -19.1379 34.3964 -14.575 -16.2138 -18.4869 35.4428 -14.58 -16.3072 -17.7527 36.4329 -14.585 -16.3585 -16.9407 37.3564 -14.59 -16.3656 -16.0573 38.2025 -14.595 -16.3273 -15.1077 38.9565 -14.6 -16.2436 -14.1061 39.6141 -14.605 -16.1148 -13.0679 40.1748 -14.61 -15.9417 -12.0074 40.6386 -14.615 -15.7255 -10.9375 41.0061 -14.62 -15.4677 -9.86951 41.2785 -14.625 -15.1703 -8.81379 41.4578 -14.63 -14.8356 -7.77918 41.5464 -14.635 -14.4664 -6.77322 41.5474 -14.64 -14.0657 -5.80213 41.4647 -14.645 -13.6371 -4.8708 41.3024 -14.65 -13.1846 -3.98282 41.0656 -14.655 -12.7124 -3.14042 40.7598 -14.66 -12.2251 -2.34503 40.3917 -14.665 -11.7246 -1.60528 39.9746 -14.67 -11.2139 -0.924713 39.5178 -14.675 -10.6964 -0.303387 39.0283 -14.68 -10.1754 0.259311 38.5123 -14.685 -9.65392 0.764644 37.976 -14.69 -9.13467 1.21453 37.4249 -14.695 -8.62012 1.61155 36.8641 -14.7 -8.1125 1.95892 36.2984 -14.705 -7.61377 2.26053 35.7322 -14.71 -7.12563 2.52092 35.1695 -14.715 -6.64955 2.74477 34.6133 -14.72 -6.18675 2.93404 34.0645 -14.725 -5.73811 3.09179 33.5243 -14.73 -5.30428 3.22125 32.9937 -14.735 -4.88583 3.3255 32.4738 -14.74 -4.48317 3.40744 31.9652 -14.745 -4.09659 3.46982 31.4684 -14.75 -3.72624 3.51522 30.9838 -14.755 -3.37213 3.54605 30.5113 -14.76 -3.03417 3.56455 30.0509 -14.765 -2.71209 3.57281 29.6022 -14.77 -2.40555 3.57278 29.1648 -14.775 -2.11412 3.56609 28.7386 -14.78 -1.83733 3.55398 28.3233 -14.785 -1.57468 3.53765 27.9183 -14.79 -1.32566 3.51818 27.5232 -14.795 -1.08975 3.49659 27.1376 -14.8 -0.866415 3.47383 26.7611 -14.805 -0.655117 3.45074 26.3934 -14.81 -0.455292 3.42812 26.0341 -14.815 -0.26637 3.40665 25.6829 -14.82 -0.087765 3.38697 25.3394 -14.825 0.0811194 3.36962 25.0035 -14.83 0.240894 3.35506 24.6748 -14.835 0.392181 3.34367 24.353 -14.84 0.535616 3.33577 24.038 -14.845 0.67185 3.33157 23.7296 -14.85 0.801541 3.33123 23.4275 -14.855 0.925248 3.33489 23.1314 -14.86 1.04336 3.34276 22.8412 -14.865 1.15626 3.355 22.5568 -14.87 1.26434 3.37178 22.2782 -14.875 1.36798 3.39324 22.0052 -14.88 1.46759 3.41951 21.7377 -14.885 1.56356 3.45069 21.4757 -14.89 1.65632 3.48689 21.2192 -14.895 1.74627 3.52819 20.968 -14.9 1.83383 3.57464 20.7221 -14.905 1.91943 3.62629 20.4815 -14.91 2.0035 3.68318 20.246 -14.915 2.08648 3.74531 20.0158 -14.92 2.1688 3.81268 19.7907 -14.925 2.25081 3.88532 19.5708 -14.93 2.33264 3.96338 19.3562 -14.935 2.41451 4.04699 19.147 -14.94 2.49661 4.13628 18.9432 -14.945 2.57916 4.23136 18.745 -14.95 2.6624 4.33237 18.5524 -14.955 2.74654 4.4394 18.3656 -14.96 2.83183 4.55258 18.1847 -14.965 2.91851 4.67199 18.0097 -14.97 3.00684 4.79774 17.841 -14.975 3.09708 4.92994 17.6785 -14.98 3.18948 5.06865 17.5226 -14.985 3.28433 5.21398 17.3733 -14.99 3.38191 5.366 17.2309 -14.995 3.48249 5.52478 17.0955 -15 3.58628 5.69036 16.9675 -15.005 3.69338 5.86295 16.8471 -15.01 3.80395 6.04282 16.7347 -15.015 3.91813 6.23018 16.6306 -15.02 4.03606 6.42522 16.5352 -15.025 4.1579 6.6281 16.4489 -15.03 4.28381 6.83894 16.3721 -15.035 4.41395 7.05785 16.3053 -15.04 4.54848 7.28488 16.2489 -15.045 4.68758 7.52007 16.2035 -15.05 4.83142 7.76343 16.1697 -15.055 4.98018 8.01492 16.1479 -15.06 5.13405 8.27448 16.1387 -15.065 5.29321 8.54202 16.1429 -15.07 5.45786 8.81742 16.161 -15.075 5.6282 9.10053 16.1938 -15.08 5.80442 9.39117 16.2419 -15.085 5.98652 9.68894 16.3058 -15.09 6.17412 9.99327 16.3856 -15.095 6.36743 10.3041 16.4826 -15.1 6.56662 10.6211 16.5984 -15.105 6.77179 10.9441 16.7339 -15.11 6.983 11.2724 16.8906 -15.115 7.20023 11.6054 17.0693 -15.12 7.4234 11.9423 17.271 -15.125 7.65238 12.282 17.4967 -15.13 7.88695 12.6234 17.7471 -15.135 8.12687 12.9653 18.0229 -15.14 8.3718 13.306 18.3247 -15.145 8.62135 13.6441 18.6529 -15.15 8.87508 13.9778 19.008 -15.155 9.13246 14.3051 19.3903 -15.16 9.39292 14.6239 19.8 -15.165 9.65583 14.932 20.2372 -15.17 9.92047 15.2271 20.7019 -15.175 10.1861 15.5064 21.1942 -15.18 10.4519 15.7675 21.7137 -15.185 10.7169 16.0072 22.2603 -15.19 10.9803 16.2228 22.8336 -15.195 11.2412 16.4131 23.4329 -15.2 11.4984 16.5751 24.0558 -15.205 11.7501 16.7053 24.6995 -15.21 11.9948 16.8004 25.3609 -15.215 12.231 16.8575 26.0369 -15.22 12.457 16.8743 26.7242 -15.225 12.6716 16.8486 27.4192 -15.23 12.8731 16.7791 28.1184 -15.235 13.0602 16.6646 28.8179 -15.24 13.2315 16.5043 29.5138 -15.245 13.3857 16.2981 30.2021 -15.25 13.5214 16.0461 30.8784 -15.255 13.6374 15.7488 31.5384 -15.26 13.7324 15.4073 32.1775 -15.265 13.8052 15.023 32.7911 -15.27 13.8547 14.5978 33.3743 -15.275 13.8797 14.1335 33.9216 -15.28 13.8798 13.6308 34.4269 -15.285 13.8548 13.0958 34.8877 -15.29 13.8047 12.5351 35.3026 -15.295 13.7296 11.9546 35.6704 -15.3 13.6298 11.3601 35.9902 -15.305 13.5058 10.7566 36.2614 -15.31 13.3583 10.1491 36.4837 -15.315 13.1881 9.54176 36.6571 -15.32 12.9961 8.93857 36.7818 -15.325 12.7837 8.34296 36.8584 -15.33 12.552 7.75798 36.8879 -15.335 12.3027 7.18622 36.8713 -15.34 12.0375 6.62987 36.8102 -15.345 11.7582 6.09066 36.7062 -15.35 11.4668 5.56989 36.5616 -15.355 11.1656 5.06843 36.3785 -15.36 10.8563 4.58893 36.1611 -15.365 10.5391 4.13678 35.9147 -15.37 10.2161 3.71297 35.6424 -15.375 9.88895 3.31804 35.3469 -15.38 9.55928 2.95225 35.0307 -15.385 9.22867 2.61562 34.6964 -15.39 8.89856 2.30788 34.3465 -15.395 8.5703 2.0285 33.9835 -15.4 8.24512 1.77668 33.6097 -15.405 7.92415 1.55136 33.2275 -15.41 7.60842 1.35119 32.8392 -15.415 7.29884 1.17457 32.4468 -15.42 6.99623 1.01963 32.0526 -15.425 6.70131 0.884224 31.6586 -15.43 6.4147 0.766606 31.2661 -15.435 6.13692 0.666581 30.8744 -15.44 5.86826 0.582909 30.4842 -15.445 5.60898 0.514319 30.0961 -15.45 5.35926 0.459593 29.7107 -15.455 5.11927 0.417564 29.3285 -15.46 4.88913 0.387117 28.9499 -15.465 4.6689 0.367187 28.5753 -15.47 4.45862 0.356761 28.2049 -15.475 4.25826 0.354877 27.839 -15.48 4.06778 0.360624 27.4778 -15.485 3.88708 0.373144 27.1213 -15.49 3.71601 0.391627 26.7695 -15.495 3.55438 0.415317 26.4223 -15.5 3.40194 0.443575 26.0798 -15.505 3.25835 0.476026 25.742 -15.51 3.12338 0.512221 25.4089 -15.515 2.99679 0.551735 25.0805 -15.52 2.87836 0.59418 24.7567 -15.525 2.76784 0.639207 24.4374 -15.53 2.665 0.686504 24.1227 -15.535 2.56959 0.735797 23.8124 -15.54 2.48135 0.78685 23.5065 -15.545 2.40003 0.839464 23.2049 -15.55 2.32537 0.893479 22.9077 -15.555 2.2571 0.948772 22.6148 -15.56 2.19496 1.00526 22.326 -15.565 2.13866 1.06289 22.0414 -15.57 2.08792 1.12165 21.761 -15.575 2.04247 1.18158 21.4845 -15.58 2.00201 1.24274 21.2122 -15.585 1.96632 1.30514 20.9438 -15.59 1.9353 1.36877 20.6793 -15.595 1.90884 1.43362 20.4188 -15.6 1.88685 1.4997 20.1622 -15.605 1.86922 1.56707 19.9095 -15.61 1.85585 1.63576 19.6606 -15.615 1.84664 1.70586 19.4156 -15.62 1.84147 1.77744 19.1744 -15.625 1.84023 1.85062 18.9371 -15.63 1.84281 1.92552 18.7036 -15.635 1.8491 2.00229 18.4739 -15.64 1.85897 2.08108 18.248 -15.645 1.87232 2.16208 18.026 -15.65 1.88901 2.24549 17.8079 -15.655 1.90893 2.33151 17.5936 -15.66 1.93194 2.42038 17.3833 -15.665 1.958 2.5123 17.1769 -15.67 1.98725 2.60732 16.9745 -15.675 2.01975 2.7056 16.7761 -15.68 2.05551 2.80729 16.5819 -15.685 2.09458 2.91257 16.3918 -15.69 2.13699 3.02163 16.2058 -15.695 2.18279 3.13467 16.0242 -15.7 2.23202 3.2519 15.847 -15.705 2.28474 3.37354 15.6742 -15.71 2.34098 3.49981 15.506 -15.715 2.40082 3.63095 15.3426 -15.72 2.46431 3.76722 15.184 -15.725 2.53152 3.90887 15.0305 -15.73 2.6025 4.05618 14.8822 -15.735 2.67734 4.20943 14.7392 -15.74 2.7561 4.3689 14.6019 -15.745 2.83886 4.53491 14.4704 -15.75 2.92579 4.70748 14.345 -15.755 3.01706 4.88679 14.226 -15.76 3.11284 5.07327 14.1137 -15.765 3.21327 5.26732 14.0083 -15.77 3.3185 5.4693 13.9101 -15.775 3.42869 5.67956 13.8194 -15.78 3.544 5.89841 13.7366 -15.785 3.66459 6.12614 13.6622 -15.79 3.79064 6.36301 13.5967 -15.795 3.9223 6.60927 13.5406 -15.8 4.05975 6.86513 13.4945 -15.805 4.20316 7.13076 13.459 -15.81 4.35271 7.40634 13.4347 -15.815 4.50858 7.69199 13.4225 -15.82 4.67095 7.98782 13.4231 -15.825 4.84001 8.29392 13.4373 -15.83 5.01593 8.61034 13.4659 -15.835 5.19893 8.9371 13.51 -15.84 5.38917 9.27421 13.5704 -15.845 5.58688 9.62166 13.6482 -15.85 5.79223 9.97938 13.7444 -15.855 6.00536 10.3472 13.86 -15.86 6.22594 10.7241 13.9955 -15.865 6.45417 11.11 14.1525 -15.87 6.69029 11.5046 14.3328 -15.875 6.93445 11.9073 14.5381 -15.88 7.18673 12.3175 14.7699 -15.885 7.4471 12.7341 15.0298 -15.89 7.71545 13.156 15.3191 -15.895 7.99158 13.5815 15.6392 -15.9 8.27519 14.0091 15.991 -15.905 8.56591 14.4367 16.3759 -15.91 8.86328 14.8621 16.7946 -15.915 9.16674 15.283 17.2482 -15.92 9.47565 15.6965 17.7374 -15.925 9.78927 16.0998 18.2629 -15.93 10.1068 16.4896 18.8252 -15.935 10.4273 16.8626 19.4249 -15.94 10.7498 17.215 20.0623 -15.945 11.0732 17.543 20.7377 -15.95 11.3965 17.8439 21.451 -15.955 11.7182 18.1146 22.2001 -15.96 12.0366 18.3491 22.9826 -15.965 12.3495 18.5417 23.7954 -15.97 12.6551 18.6877 24.6352 -15.975 12.9513 18.7826 25.4981 -15.98 13.2361 18.8227 26.38 -15.985 13.5075 18.8049 27.276 -15.99 13.7634 18.7268 28.1811 -15.995 14.0018 18.5864 29.0899 -16 14.2206 18.3824 29.9963 -16.005 14.4176 18.1141 30.894 -16.01 14.5907 17.7814 31.7763 -16.015 14.7378 17.3849 32.6358 -16.02 14.8568 16.9258 33.4651 -16.025 14.9454 16.4052 34.2558 -16.03 15.0027 15.8205 34.9981 -16.035 15.0279 15.1793 35.6864 -16.04 15.02 14.4922 36.3169 -16.045 14.9788 13.7688 36.8865 -16.05 14.9039 13.0179 37.3924 -16.055 14.7956 12.2477 37.8326 -16.06 14.6543 11.4656 38.2056 -16.065 14.4808 10.6781 38.5104 -16.07 14.2763 9.89096 38.7468 -16.075 14.0423 9.10929 38.9149 -16.08 13.7805 8.3373 39.0155 -16.085 13.4931 7.57847 39.05 -16.09 13.1825 6.83552 39.0204 -16.095 12.8514 6.11035 38.9291 -16.1 12.503 5.40414 38.7792 -16.105 12.1397 4.72132 38.5757 -16.11 11.7615 4.07438 38.3268 -16.115 11.3711 3.46605 38.037 -16.12 10.9712 2.89786 37.7108 -16.125 10.5642 2.37082 37.3526 -16.13 10.1526 1.88541 36.9666 -16.135 9.73858 1.44158 36.557 -16.14 9.32412 1.03873 36.1279 -16.145 8.9112 0.675754 35.6834 -16.15 8.50157 0.350998 35.2276 -16.155 8.09687 0.0622857 34.7642 -16.16 7.69857 -0.193095 34.2972 -16.165 7.30801 -0.418342 33.8303 -16.17 6.92639 -0.615007 33.364 -16.175 6.55455 -0.784568 32.8989 -16.18 6.19319 -0.929176 32.4361 -16.185 5.84289 -1.05092 31.9769 -16.19 5.50415 -1.1518 31.5222 -16.195 5.17737 -1.23378 31.0728 -16.2 4.86288 -1.29873 30.6295 -16.205 4.5609 -1.34845 30.1927 -16.21 4.27155 -1.38468 29.7629 -16.215 3.99487 -1.4091 29.3402 -16.22 3.73081 -1.4233 28.9247 -16.225 3.47923 -1.42881 28.5163 -16.23 3.23988 -1.427 28.1148 -16.235 3.01247 -1.41876 27.7204 -16.24 2.79668 -1.405 27.333 -16.245 2.59216 -1.3866 26.9524 -16.25 2.39857 -1.36438 26.5783 -16.255 2.21556 -1.33908 26.2108 -16.26 2.04275 -1.3114 25.8496 -16.265 1.87978 -1.28195 25.4944 -16.27 1.72625 -1.25132 25.1453 -16.275 1.58177 -1.21999 24.802 -16.28 1.44593 -1.1884 24.4644 -16.285 1.31832 -1.15694 24.1322 -16.29 1.1985 -1.12592 23.8054 -16.295 1.08605 -1.09559 23.4838 -16.3 0.980503 -1.06614 23.1672 -16.305 0.881416 -1.03771 22.8555 -16.31 0.788388 -1.01046 22.5485 -16.315 0.701113 -0.984565 22.2462 -16.32 0.619295 -0.960146 21.9483 -16.325 0.542638 -0.937316 21.6548 -16.33 0.470844 -0.916167 21.3657 -16.335 0.403616 -0.896776 21.0807 -16.34 0.340657 -0.879199 20.7999 -16.345 0.281671 -0.863474 20.5231 -16.35 0.22636 -0.849622 20.2503 -16.355 0.174427 -0.837646 19.9813 -16.36 0.125575 -0.82753 19.7161 -16.365 0.0795074 -0.819241 19.4546 -16.37 0.0359262 -0.812727 19.1967 -16.375 -0.0053944 -0.807974 18.9424 -16.38 -0.0445843 -0.805022 18.6916 -16.385 -0.0817923 -0.80389 18.4442 -16.39 -0.117169 -0.804591 18.2003 -16.395 -0.150864 -0.807135 17.9598 -16.4 -0.183032 -0.811527 17.7226 -16.405 -0.213827 -0.817769 17.4887 -16.41 -0.243404 -0.825856 17.258 -16.415 -0.27192 -0.835782 17.0305 -16.42 -0.299533 -0.847534 16.8062 -16.425 -0.326403 -0.861097 16.5849 -16.43 -0.35269 -0.876448 16.3668 -16.435 -0.378558 -0.893564 16.1516 -16.44 -0.404151 -0.912434 15.9394 -16.445 -0.429532 -0.933111 15.7302 -16.45 -0.454768 -0.955649 15.5239 -16.455 -0.479927 -0.980095 15.3206 -16.46 -0.505085 -1.0065 15.1201 -16.465 -0.530321 -1.03492 14.9224 -16.47 -0.555716 -1.06539 14.7276 -16.475 -0.58136 -1.09799 14.5356 -16.48 -0.607342 -1.13275 14.3464 -16.485 -0.63376 -1.16973 14.1599 -16.49 -0.660713 -1.20899 13.9762 -16.495 -0.688305 -1.25058 13.7953 -16.5 -0.716646 -1.29456 13.617 -16.505 -0.745847 -1.34099 13.4414 -16.51 -0.776026 -1.38991 13.2686 -16.515 -0.807276 -1.44144 13.0984 -16.52 -0.839646 -1.49571 12.9309 -16.525 -0.87319 -1.55284 12.7662 -16.53 -0.907968 -1.61297 12.6041 -16.535 -0.944049 -1.67626 12.4447 -16.54 -0.98151 -1.74284 12.288 -16.545 -1.02044 -1.81287 12.1341 -16.55 -1.06092 -1.88651 11.9829 -16.555 -1.10305 -1.96393 11.8345 -16.56 -1.14695 -2.04528 11.689 -16.565 -1.19273 -2.13076 11.5463 -16.57 -1.24051 -2.22053 11.4065 -16.575 -1.29042 -2.31479 11.2697 -16.58 -1.3426 -2.41372 11.1359 -16.585 -1.39719 -2.51753 11.0052 -16.59 -1.45435 -2.62642 10.8777 -16.595 -1.51425 -2.74058 10.7534 -16.6 -1.57704 -2.86023 10.6325 -16.605 -1.64288 -2.98562 10.5153 -16.61 -1.71186 -3.1171 10.4016 -16.615 -1.78409 -3.25503 10.2917 -16.62 -1.85972 -3.39975 10.1857 -16.625 -1.93888 -3.55163 10.0836 -16.63 -2.02173 -3.71101 9.98572 -16.635 -2.10846 -3.87828 9.89224 -16.64 -2.19923 -4.05379 9.80342 -16.645 -2.29426 -4.23793 9.71955 -16.65 -2.39375 -4.43106 9.64095 -16.655 -2.49794 -4.63357 9.56798 -16.66 -2.60706 -4.84585 9.50103 -16.665 -2.72137 -5.06828 9.44054 -16.67 -2.84114 -5.30127 9.38695 -16.675 -2.96664 -5.5452 9.34077 -16.68 -3.09818 -5.80049 9.30251 -16.685 -3.23606 -6.06753 9.27276 -16.69 -3.3806 -6.34674 9.25209 -16.695 -3.53215 -6.63854 9.24115 -16.7 -3.69101 -6.94318 9.24062 -16.705 -3.85701 -7.25906 9.25174 -16.71 -4.03047 -7.5869 9.27543 -16.715 -4.21189 -7.9282 9.31253 -16.72 -4.40174 -8.28419 9.36401 -16.725 -4.60045 -8.65586 9.43093 -16.73 -4.8084 -9.044 9.51445 -16.735 -5.02593 -9.44911 9.61586 -16.74 -5.25336 -9.87149 9.73656 -16.745 -5.49094 -10.3112 9.87803 -16.75 -5.73891 -10.768 10.0419 -16.755 -5.99744 -11.2416 10.2299 -16.76 -6.26668 -11.7312 10.4437 -16.765 -6.54673 -12.2359 10.6855 -16.77 -6.83767 -12.7546 10.9571 -16.775 -7.13951 -13.286 11.2608 -16.78 -7.45224 -13.8284 11.5988 -16.785 -7.77581 -14.3799 11.9735 -16.79 -8.11011 -14.9385 12.3873 -16.795 -8.45501 -15.5019 12.8429 -16.8 -8.81034 -16.0675 13.3429 -16.805 -9.17588 -16.6324 13.8901 -16.81 -9.55137 -17.1937 14.4875 -16.815 -9.93652 -17.748 15.138 -16.82 -10.3307 -18.2921 15.8439 -16.825 -10.7319 -18.8223 16.6031 -16.83 -11.1386 -19.3313 17.4172 -16.835 -11.5494 -19.8117 18.2875 -16.84 -11.9628 -20.2564 19.214 -16.845 -12.3766 -20.6582 20.1958 -16.85 -12.7889 -21.0102 21.231 -16.855 -13.1971 -21.3055 22.3164 -16.86 -13.5987 -21.5375 23.4479 -16.865 -13.9907 -21.6997 24.6202 -16.87 -14.3701 -21.7858 25.8271 -16.875 -14.7333 -21.7895 27.061 -16.88 -15.0768 -21.7048 28.3136 -16.885 -15.3968 -21.5257 29.5754 -16.89 -15.6898 -21.2447 30.837 -16.895 -15.9538 -20.8546 32.0895 -16.9 -16.1845 -20.3613 33.3168 -16.905 -16.3779 -19.7717 34.5037 -16.91 -16.5305 -19.0926 35.6366 -16.915 -16.6396 -18.3313 36.7035 -16.92 -16.7031 -17.4949 37.6941 -16.925 -16.7196 -16.5911 38.5994 -16.93 -16.6881 -15.6274 39.4122 -16.935 -16.6084 -14.6115 40.1269 -16.94 -16.4809 -13.5514 40.7393 -16.945 -16.3067 -12.4552 41.2471 -16.95 -16.0873 -11.3312 41.6493 -16.955 -15.825 -10.1878 41.9465 -16.96 -15.5214 -9.03922 42.1396 -16.965 -15.1766 -7.9088 42.2293 -16.97 -14.7941 -6.80706 42.2208 -16.975 -14.3778 -5.74281 42.1199 -16.98 -13.9315 -4.72366 41.933 -16.985 -13.4589 -3.75604 41.6674 -16.99 -12.9638 -2.84521 41.3304 -16.995 -12.4499 -1.99522 40.9303 -17 -11.921 -1.20896 40.4758 -17.005 -11.3808 -0.488114 39.9762 -17.01 -10.833 0.1668 39.4413 -17.015 -10.2813 0.756461 38.8817 -17.02 -9.72938 1.28273 38.3082 -17.025 -9.18063 1.74903 37.7292 -17.03 -8.63745 2.16003 37.1435 -17.035 -8.10202 2.51925 36.5548 -17.04 -7.57632 2.83018 35.9666 -17.045 -7.06211 3.09636 35.3822 -17.05 -6.56093 3.3214 34.8044 -17.055 -6.07407 3.50895 34.2355 -17.06 -5.60261 3.6627 33.6773 -17.065 -5.14739 3.78641 33.1312 -17.07 -4.70903 3.88388 32.5982 -17.075 -4.28792 3.95897 32.0789 -17.08 -3.88422 4.01559 31.5732 -17.085 -3.49794 4.05686 31.0812 -17.09 -3.12901 4.08391 30.6028 -17.095 -2.7771 4.09879 30.1378 -17.1 -2.44182 4.10347 29.6857 -17.105 -2.12277 4.09979 29.2461 -17.11 -1.81951 4.08943 28.8186 -17.115 -1.53156 4.07395 28.4028 -17.12 -1.25844 4.05477 27.9982 -17.125 -0.999595 4.03317 27.6045 -17.13 -0.754478 4.01026 27.2212 -17.135 -0.522494 3.98706 26.8479 -17.14 -0.303017 3.96441 26.4841 -17.145 -0.0953938 3.94303 26.1294 -17.15 0.101061 3.9235 25.7835 -17.155 0.287112 3.90629 25.4458 -17.16 0.463563 3.89195 25.1159 -17.165 0.630941 3.88085 24.7937 -17.17 0.789755 3.87335 24.4788 -17.175 0.940519 3.86976 24.1711 -17.18 1.08375 3.87038 23.8704 -17.185 1.21999 3.87544 23.5764 -17.19 1.34975 3.88519 23.289 -17.195 1.47358 3.89982 23.008 -17.2 1.59201 3.91949 22.7332 -17.205 1.7056 3.94434 22.4646 -17.21 1.8149 3.97448 22.202 -17.215 1.92046 4.00998 21.9452 -17.22 2.02286 4.05089 21.6942 -17.225 2.12266 4.09724 21.4489 -17.23 2.22032 4.14901 21.2093 -17.235 2.31607 4.20632 20.9754 -17.24 2.41019 4.26927 20.7472 -17.245 2.50294 4.33797 20.5248 -17.25 2.59461 4.41253 20.3082 -17.255 2.68549 4.49303 20.0976 -17.26 2.77587 4.57956 19.8929 -17.265 2.86606 4.6722 19.6943 -17.27 2.95635 4.771 19.5019 -17.275 3.04707 4.87603 19.3157 -17.28 3.13854 4.98734 19.1358 -17.285 3.23108 5.10495 18.9624 -17.29 3.32503 5.22892 18.7956 -17.295 3.42072 5.35926 18.6355 -17.3 3.5185 5.49598 18.4823 -17.305 3.61857 5.63911 18.3361 -17.31 3.72106 5.78882 18.1973 -17.315 3.82611 5.94531 18.0661 -17.32 3.93387 6.10872 17.9428 -17.325 4.0445 6.27919 17.8278 -17.33 4.15816 6.45685 17.7213 -17.335 4.27502 6.64177 17.6237 -17.34 4.39525 6.83401 17.5353 -17.345 4.51903 7.03362 17.4566 -17.35 4.64654 7.24061 17.3879 -17.355 4.77797 7.45496 17.3297 -17.36 4.91351 7.67665 17.2825 -17.365 5.05336 7.90561 17.2467 -17.37 5.19772 8.14177 17.2228 -17.375 5.34679 8.385 17.2112 -17.38 5.5008 8.63518 17.2127 -17.385 5.6599 8.8921 17.2275 -17.39 5.82387 9.15535 17.256 -17.395 5.99282 9.42489 17.299 -17.4 6.16688 9.70063 17.3575 -17.405 6.34612 9.9824 17.4325 -17.41 6.53061 10.2699 17.5247 -17.415 6.72036 10.5626 17.635 -17.42 6.91532 10.8601 17.7643 -17.425 7.11545 11.1617 17.9131 -17.43 7.32062 11.4666 18.0823 -17.435 7.5307 11.7738 18.2725 -17.44 7.7455 12.0825 18.4842 -17.445 7.9648 12.3915 18.718 -17.45 8.18833 12.6994 18.9744 -17.455 8.41579 13.0051 19.254 -17.46 8.64684 13.307 19.557 -17.465 8.8811 13.6034 19.8839 -17.47 9.11815 13.8928 20.2349 -17.475 9.35753 14.1732 20.6105 -17.48 9.59874 14.4428 21.0107 -17.485 9.84125 14.6994 21.4358 -17.49 10.0844 14.9425 21.8854 -17.495 10.3273 15.1697 22.3589 -17.5 10.5688 15.3779 22.8552 -17.505 10.8081 15.564 23.3733 -17.51 11.0439 15.7254 23.9119 -17.515 11.2753 15.8596 24.4693 -17.52 11.5011 15.9643 25.0437 -17.525 11.7201 16.0376 25.633 -17.53 11.9313 16.0776 26.2348 -17.535 12.1334 16.0828 26.8465 -17.54 12.3252 16.0519 27.4653 -17.545 12.5055 15.9837 28.088 -17.55 12.6731 15.8775 28.7114 -17.555 12.8265 15.7325 29.3318 -17.56 12.9646 15.5485 29.9454 -17.565 13.086 15.3252 30.5481 -17.57 13.1892 15.0627 31.1355 -17.575 13.2735 14.7594 31.7031 -17.58 13.3383 14.4154 32.2467 -17.585 13.3828 14.0355 32.7629 -17.59 13.4063 13.6243 33.2485 -17.595 13.4082 13.1862 33.7007 -17.6 13.3881 12.7256 34.1171 -17.605 13.346 12.2461 34.4955 -17.61 13.2818 11.7517 34.8342 -17.615 13.1958 11.2455 35.1318 -17.62 13.0883 10.7309 35.3872 -17.625 12.96 10.2107 35.5997 -17.63 12.8116 9.68756 35.769 -17.635 12.6442 9.16391 35.895 -17.64 12.4589 8.6419 35.978 -17.645 12.257 8.12343 36.0187 -17.65 12.04 7.61014 36.0182 -17.655 11.8098 7.10343 35.9777 -17.66 11.5677 6.6058 35.8994 -17.665 11.3135 6.12515 35.7867 -17.67 11.0486 5.66417 35.6417 -17.675 10.7747 5.22446 35.4666 -17.68 10.4934 4.80735 35.2633 -17.685 10.2062 4.41388 35.0341 -17.69 9.91463 4.04485 34.7811 -17.695 9.61999 3.70077 34.5066 -17.7 9.32365 3.38189 34.2129 -17.705 9.02685 3.08818 33.9026 -17.71 8.73079 2.81934 33.5779 -17.715 8.43657 2.57481 33.2414 -17.72 8.14525 2.35375 32.8958 -17.725 7.85782 2.15505 32.5437 -17.73 7.57518 1.97734 32.1877 -17.735 7.29819 1.81902 31.8305 -17.74 7.02764 1.6794 31.4712 -17.745 6.76404 1.55763 31.11 -17.75 6.50779 1.45267 30.7476 -17.755 6.25928 1.36348 30.385 -17.76 6.01881 1.28904 30.0229 -17.765 5.78667 1.22836 29.662 -17.77 5.5631 1.18046 29.3028 -17.775 5.34828 1.14439 28.946 -17.78 5.14237 1.1192 28.5919 -17.785 4.94546 1.10398 28.241 -17.79 4.75762 1.09784 27.8935 -17.795 4.57886 1.09988 27.5496 -17.8 4.40915 1.10926 27.2096 -17.805 4.24842 1.12513 26.8734 -17.81 4.09655 1.14667 26.5411 -17.815 3.9533 1.1735 26.2127 -17.82 3.81842 1.2054 25.8886 -17.825 3.69175 1.24192 25.5685 -17.83 3.5731 1.28266 25.2527 -17.835 3.4623 1.32724 24.941 -17.84 3.35917 1.37534 24.6336 -17.845 3.2635 1.42666 24.3303 -17.85 3.17512 1.48093 24.0312 -17.855 3.09382 1.53793 23.7363 -17.86 3.01939 1.59747 23.4457 -17.865 2.95163 1.65939 23.1592 -17.87 2.89032 1.72358 22.877 -17.875 2.83526 1.78994 22.5989 -17.88 2.78621 1.85844 22.325 -17.885 2.74295 1.92906 22.0553 -17.89 2.70525 2.00182 21.7898 -17.895 2.67287 2.07678 21.5284 -17.9 2.64557 2.15403 21.2712 -17.905 2.62321 2.23356 21.0183 -17.91 2.60573 2.31537 20.7695 -17.915 2.59308 2.39949 20.5249 -17.92 2.58521 2.48595 20.2845 -17.925 2.58205 2.57481 20.0484 -17.93 2.58353 2.66615 19.8165 -17.935 2.5896 2.76006 19.5889 -17.94 2.60017 2.85664 19.3656 -17.945 2.61519 2.95604 19.1468 -17.95 2.63458 3.05839 18.9324 -17.955 2.65825 3.16388 18.7225 -17.96 2.68613 3.27267 18.5172 -17.965 2.71814 3.38499 18.3166 -17.97 2.75419 3.50105 18.1208 -17.975 2.79419 3.62109 17.9298 -17.98 2.83806 3.74538 17.7439 -17.985 2.8857 3.87418 17.563 -17.99 2.93714 4.00768 17.3874 -17.995 2.99263 4.1459 17.2172 -18 3.05222 4.28905 17.0526 -18.005 3.116 4.43734 16.8937 -18.01 3.18404 4.59099 16.7406 -18.015 3.25641 4.75022 16.5936 -18.02 3.3332 4.91525 16.4529 -18.025 3.41448 5.08628 16.3188 -18.03 3.50034 5.26353 16.1914 -18.035 3.59086 5.44723 16.0712 -18.04 3.68614 5.63757 15.9584 -18.045 3.78626 5.83478 15.8533 -18.05 3.89133 6.03907 15.7565 -18.055 4.00142 6.25065 15.6681 -18.06 4.11666 6.46974 15.5888 -18.065 4.23713 6.69654 15.5189 -18.07 4.36294 6.93127 15.4588 -18.075 4.49421 7.17414 15.4092 -18.08 4.63091 7.42481 15.3704 -18.085 4.77297 7.68237 15.3426 -18.09 4.92069 7.94746 15.3267 -18.095 5.07435 8.22066 15.3235 -18.1 5.23419 8.5024 15.3339 -18.105 5.40042 8.79298 15.3589 -18.11 5.5732 9.09256 15.3991 -18.115 5.75267 9.40118 15.4557 -18.12 5.93893 9.71871 15.5293 -18.125 6.13203 10.0449 15.6209 -18.13 6.332 10.3794 15.7314 -18.135 6.53882 10.7216 15.8617 -18.14 6.75246 11.0709 16.0127 -18.145 6.97281 11.4264 16.1853 -18.15 7.19977 11.7873 16.3803 -18.155 7.43317 12.1525 16.5988 -18.16 7.67281 12.5207 16.8416 -18.165 7.91847 12.8905 17.1096 -18.17 8.16987 13.2606 17.4039 -18.175 8.42672 13.6292 17.7252 -18.18 8.68868 13.9947 18.0745 -18.185 8.95535 14.355 18.4528 -18.19 9.22635 14.7081 18.861 -18.195 9.5012 15.0519 19.3001 -18.2 9.77943 15.3841 19.7709 -18.205 10.0605 15.7022 20.2744 -18.21 10.3433 16.0053 20.8091 -18.215 10.6266 16.2897 21.3741 -18.22 10.9093 16.5513 21.9686 -18.225 11.1902 16.7862 22.5917 -18.23 11.4679 16.9908 23.2417 -18.235 11.741 17.1618 23.917 -18.24 12.0083 17.296 24.6151 -18.245 12.2682 17.3908 25.3334 -18.25 12.5191 17.4434 26.0688 -18.255 12.7596 17.4519 26.8179 -18.26 12.9879 17.414 27.5768 -18.265 13.2024 17.3281 28.3412 -18.27 13.4012 17.1929 29.1065 -18.275 13.5826 17.007 29.8675 -18.28 13.7447 16.7697 30.6188 -18.285 13.8856 16.4801 31.3547 -18.29 14.0045 16.1344 32.0694 -18.295 14.1001 15.7357 32.7575 -18.3 14.1711 15.2898 33.4133 -18.305 14.2162 14.8023 34.0319 -18.31 14.2345 14.2786 34.6091 -18.315 14.2253 13.7238 35.141 -18.32 14.1884 13.1425 35.6245 -18.325 14.1236 12.5395 36.0567 -18.33 14.0312 11.9189 36.4356 -18.335 13.9116 11.2847 36.7597 -18.34 13.7657 10.6407 37.0279 -18.345 13.5944 9.99035 37.2398 -18.35 13.3991 9.33682 37.3955 -18.355 13.1815 8.68306 37.4957 -18.36 12.9435 8.03173 37.5417 -18.365 12.6871 7.38535 37.5352 -18.37 12.4126 6.75323 37.4795 -18.375 12.121 6.14256 37.3775 -18.38 11.8144 5.5563 37.2322 -18.385 11.495 4.99695 37.0464 -18.39 11.1648 4.46659 36.8231 -18.395 10.8259 3.96689 36.5655 -18.4 10.48 3.49904 36.2769 -18.405 10.1291 3.06385 35.9606 -18.41 9.77487 2.66167 35.6202 -18.415 9.41905 2.29241 35.2594 -18.42 9.06323 1.95556 34.882 -18.425 8.70897 1.6502 34.4919 -18.43 8.35774 1.37493 34.0931 -18.435 8.01093 1.12796 33.6898 -18.44 7.66983 0.907679 33.2833 -18.445 7.33541 0.712908 32.8729 -18.45 7.00842 0.542136 32.46 -18.455 6.68957 0.393863 32.046 -18.46 6.37947 0.266599 31.6322 -18.465 6.07867 0.158863 31.2196 -18.47 5.78762 0.0691858 30.8092 -18.475 5.5067 -0.00389313 30.4017 -18.48 5.23623 -0.0618234 29.9979 -18.485 4.97644 -0.106045 29.5982 -18.49 4.72747 -0.137987 29.2032 -18.495 4.48939 -0.159069 28.8131 -18.5 4.26221 -0.1707 28.4281 -18.505 4.04583 -0.17428 28.0481 -18.51 3.84009 -0.170724 27.6733 -18.515 3.64475 -0.160425 27.3037 -18.52 3.45957 -0.144158 26.9395 -18.525 3.28432 -0.122647 26.5804 -18.53 3.11874 -0.0965634 26.2266 -18.535 2.96259 -0.0665225 25.878 -18.54 2.81559 -0.0330873 25.5344 -18.545 2.67746 0.00323371 25.196 -18.55 2.54793 0.0419857 24.8624 -18.555 2.42668 0.0827679 24.5339 -18.56 2.31342 0.125233 24.2101 -18.565 2.20784 0.169089 23.8911 -18.57 2.10959 0.214097 23.5767 -18.575 2.01835 0.26007 23.2669 -18.58 1.93378 0.306878 22.9615 -18.585 1.85549 0.354403 22.6605 -18.59 1.78324 0.402511 22.3637 -18.595 1.71681 0.451091 22.0712 -18.6 1.65599 0.500055 21.7829 -18.605 1.60057 0.549335 21.4986 -18.61 1.55033 0.598884 21.2184 -18.615 1.50506 0.648678 20.9421 -18.62 1.46455 0.698713 20.6697 -18.625 1.42857 0.749009 20.4012 -18.63 1.39692 0.799604 20.1364 -18.635 1.36936 0.850561 19.8754 -18.64 1.34568 0.901961 19.6182 -18.645 1.32565 0.953908 19.3645 -18.65 1.30906 1.00653 19.1145 -18.655 1.29569 1.05997 18.868 -18.66 1.28544 1.11429 18.6251 -18.665 1.27829 1.16954 18.3856 -18.67 1.27416 1.22579 18.1497 -18.675 1.27301 1.28312 17.9173 -18.68 1.27477 1.34162 17.6883 -18.685 1.27938 1.4014 17.4627 -18.69 1.28678 1.46258 17.2405 -18.695 1.29692 1.52528 17.0218 -18.7 1.30974 1.58965 16.8064 -18.705 1.32519 1.65582 16.5945 -18.71 1.3432 1.72397 16.3859 -18.715 1.36373 1.79427 16.1807 -18.72 1.38673 1.8669 15.9789 -18.725 1.41214 1.94206 15.7805 -18.73 1.43992 2.01994 15.5855 -18.735 1.47013 2.1007 15.394 -18.74 1.50284 2.18446 15.206 -18.745 1.53809 2.27139 15.0214 -18.75 1.57593 2.36166 14.8404 -18.755 1.61642 2.45545 14.663 -18.76 1.65962 2.55295 14.4891 -18.765 1.7056 2.65436 14.319 -18.77 1.75442 2.75989 14.1525 -18.775 1.80615 2.86977 13.9899 -18.78 1.86087 2.98423 13.8313 -18.785 1.91867 3.10352 13.6766 -18.79 1.97962 3.22788 13.5261 -18.795 2.04382 3.35759 13.3798 -18.8 2.11136 3.49293 13.2379 -18.805 2.18233 3.63417 13.1006 -18.81 2.25684 3.78162 12.9679 -18.815 2.335 3.93557 12.8402 -18.82 2.41703 4.09601 12.7177 -18.825 2.50313 4.26319 12.6007 -18.83 2.59343 4.43757 12.4894 -18.835 2.6881 4.61961 12.3838 -18.84 2.78728 4.80972 12.2843 -18.845 2.89115 5.00833 12.1911 -18.85 2.99987 5.21582 12.1045 -18.855 3.11363 5.43257 12.0249 -18.86 3.23262 5.65891 11.9528 -18.865 3.35703 5.8952 11.8886 -18.87 3.48706 6.14174 11.8329 -18.875 3.62294 6.39882 11.7862 -18.88 3.76488 6.66672 11.7493 -18.885 3.91311 6.94569 11.7228 -18.89 4.06786 7.23598 11.7074 -18.895 4.22938 7.53779 11.704 -18.9 4.39792 7.85133 11.7134 -18.905 4.57374 8.17677 11.7366 -18.91 4.75711 8.51428 11.7743 -18.915 4.94831 8.86399 11.8278 -18.92 5.14761 9.22602 11.898 -18.925 5.3553 9.60047 11.9861 -18.93 5.57168 9.98741 12.0931 -18.935 5.79637 10.3858 12.2197 -18.94 6.02943 10.7954 12.3674 -18.945 6.27129 11.2164 12.5383 -18.95 6.52229 11.6488 12.7343 -18.955 6.78266 12.0922 12.9574 -18.96 7.05252 12.546 13.2093 -18.965 7.33192 13.0092 13.4918 -18.97 7.62078 13.4804 13.8065 -18.975 7.91894 13.9581 14.1552 -18.98 8.22613 14.4403 14.5392 -18.985 8.54197 14.9249 14.96 -18.99 8.866 15.4092 15.4191 -18.995 9.19766 15.8906 15.9176 -19 9.53627 16.3657 16.4569 -19.005 9.88107 16.8311 17.038 -19.01 10.2312 17.2831 17.662 -19.015 10.5856 17.7175 18.3299 -19.02 10.9434 18.1301 19.0426 -19.025 11.3032 18.516 19.8009 -19.03 11.664 18.8712 20.6051 -19.035 12.024 19.1928 21.4528 -19.04 12.3811 19.4734 22.3412 -19.045 12.733 19.7059 23.2672 -19.05 13.0773 19.8839 24.2268 -19.055 13.4118 20.0019 25.2156 -19.06 13.7339 20.055 26.2286 -19.065 14.0412 20.0391 27.26 -19.07 14.3312 19.9511 28.3037 -19.075 14.6013 19.7882 29.3526 -19.08 14.8489 19.5487 30.3992 -19.085 15.0713 19.2316 31.4355 -19.09 15.2658 18.8366 32.4527 -19.095 15.4298 18.3641 33.4414 -19.1 15.5603 17.8154 34.3917 -19.105 15.6554 17.188 35.292 -19.11 15.7142 16.4854 36.1329 -19.115 15.735 15.7207 36.9083 -19.12 15.717 14.906 37.6134 -19.125 15.6595 14.0526 38.2438 -19.13 15.5623 13.1707 38.7962 -19.135 15.4259 12.2697 39.268 -19.14 15.2509 11.3579 39.6576 -19.145 15.0385 10.4427 39.9641 -19.15 14.7904 9.53049 40.1875 -19.155 14.5087 8.62678 40.3287 -19.16 14.1958 7.73606 40.3891 -19.165 13.8549 6.8619 40.3714 -19.17 13.4892 6.00688 40.279 -19.175 13.1025 5.17305 40.1159 -19.18 12.6957 4.37455 39.891 -19.185 12.2707 3.62045 39.6117 -19.19 11.831 2.91351 39.2839 -19.195 11.3796 2.25572 38.9132 -19.2 10.9195 1.64831 38.5054 -19.205 10.4537 1.09177 38.066 -19.21 9.98479 0.585791 37.6007 -19.215 9.51525 0.12934 37.1148 -19.22 9.04741 -0.279391 36.6137 -19.225 8.58344 -0.642968 36.1028 -19.23 8.12532 -0.964716 35.5873 -19.235 7.67487 -1.24838 35.0718 -19.24 7.23363 -1.49558 34.5567 -19.245 6.80274 -1.70877 34.0433 -19.25 6.3832 -1.89074 33.5335 -19.255 5.97586 -2.04417 33.0289 -19.26 5.58144 -2.17167 32.5307 -19.265 5.20054 -2.27579 32.04 -19.27 4.83361 -2.35899 31.5577 -19.275 4.48098 -2.42365 31.0844 -19.28 4.14284 -2.47208 30.6205 -19.285 3.81923 -2.5065 30.166 -19.29 3.5101 -2.52908 29.7209 -19.295 3.21524 -2.54174 29.285 -19.3 2.93445 -2.54577 28.8584 -19.305 2.66735 -2.54245 28.441 -19.31 2.41355 -2.53301 28.0324 -19.315 2.17265 -2.51859 27.6324 -19.32 1.94424 -2.50024 27.2407 -19.325 1.72789 -2.47894 26.8571 -19.33 1.52314 -2.45558 26.4813 -19.335 1.32956 -2.43097 26.1131 -19.34 1.14665 -2.40583 25.7522 -19.345 0.973934 -2.38079 25.3983 -19.35 0.81091 -2.35644 25.0512 -19.355 0.65706 -2.33323 24.7108 -19.36 0.511853 -2.31156 24.3767 -19.365 0.374744 -2.29174 24.0488 -19.37 0.245172 -2.27401 23.7267 -19.375 0.12257 -2.25861 23.4104 -19.38 0.00651939 -2.24578 23.0995 -19.385 -0.103358 -2.23572 22.7941 -19.39 -0.207445 -2.22862 22.4938 -19.395 -0.306124 -2.22465 22.1987 -19.4 -0.39978 -2.22394 21.9086 -19.405 -0.488799 -2.22662 21.6234 -19.41 -0.573572 -2.23279 21.343 -19.415 -0.654488 -2.24254 21.0672 -19.42 -0.73194 -2.25593 20.7961 -19.425 -0.806322 -2.27299 20.5294 -19.43 -0.878031 -2.29377 20.2671 -19.435 -0.947464 -2.31824 20.0092 -19.44 -1.015 -2.34642 19.7556 -19.445 -1.08085 -2.3784 19.5062 -19.45 -1.1452 -2.41425 19.261 -19.455 -1.20828 -2.45408 19.0201 -19.46 -1.2703 -2.49796 18.7834 -19.465 -1.33147 -2.54596 18.5509 -19.47 -1.39202 -2.59818 18.3226 -19.475 -1.45218 -2.65468 18.0985 -19.48 -1.51217 -2.71553 17.8786 -19.485 -1.57224 -2.78081 17.6629 -19.49 -1.63263 -2.85058 17.4515 -19.495 -1.69358 -2.92491 17.2443 -19.5 -1.75535 -3.00387 17.0413 -19.505 -1.81818 -3.08751 16.8427 -19.51 -1.88231 -3.17591 16.6484 -19.515 -1.94789 -3.26924 16.4585 -19.52 -2.01501 -3.36769 16.2731 -19.525 -2.08382 -3.47144 16.0924 -19.53 -2.15445 -3.58068 15.9163 -19.535 -2.22704 -3.6956 15.745 -19.54 -2.30176 -3.8164 15.5787 -19.545 -2.37878 -3.94326 15.4174 -19.55 -2.45827 -4.07637 15.2614 -19.555 -2.54042 -4.21592 15.1107 -19.56 -2.62544 -4.36209 14.9656 -19.565 -2.71354 -4.51508 14.8263 -19.57 -2.80494 -4.67508 14.693 -19.575 -2.89988 -4.84227 14.5659 -19.58 -2.99859 -5.01684 14.4453 -19.585 -3.10133 -5.19898 14.3314 -19.59 -3.20831 -5.3888 14.2246 -19.595 -3.31965 -5.5865 14.1252 -19.6 -3.4355 -5.79249 14.0336 -19.605 -3.55605 -6.00717 13.9502 -19.61 -3.68145 -6.23089 13.8754 -19.615 -3.81189 -6.46395 13.8097 -19.62 -3.94755 -6.70663 13.7536 -19.625 -4.08861 -6.95915 13.7077 -19.63 -4.23526 -7.22171 13.6725 -19.635 -4.38769 -7.49445 13.6488 -19.64 -4.54611 -7.77747 13.6373 -19.645 -4.71071 -8.07085 13.6387 -19.65 -4.88171 -8.37462 13.6539 -19.655 -5.0593 -8.68875 13.6836 -19.66 -5.24371 -9.01321 13.7288 -19.665 -5.43515 -9.34789 13.7905 -19.67 -5.63384 -9.69265 13.8696 -19.675 -5.84002 -10.0473 13.9672 -19.68 -6.05391 -10.4117 14.0844 -19.685 -6.2753 -10.7852 14.2217 -19.69 -6.50371 -11.1668 14.3794 -19.695 -6.7395 -11.5564 14.5598 -19.7 -6.98294 -11.9536 14.7649 -19.705 -7.23419 -12.3578 14.9964 -19.71 -7.4933 -12.768 15.2562 -19.715 -7.76024 -13.183 15.5458 -19.72 -8.03486 -13.6014 15.8664 -19.725 -8.3169 -14.0216 16.2193 -19.73 -8.60599 -14.4417 16.6055 -19.735 -8.90167 -14.8594 17.0259 -19.74 -9.20337 -15.2724 17.4812 -19.745 -9.51042 -15.6779 17.9719 -19.75 -9.82203 -16.0731 18.4983 -19.755 -10.1373 -16.4548 19.0607 -19.76 -10.4553 -16.8194 19.6591 -19.765 -10.7748 -17.1635 20.2934 -19.77 -11.0948 -17.483 20.9632 -19.775 -11.4138 -17.7737 21.6681 -19.78 -11.7305 -18.0313 22.4075 -19.785 -12.0433 -18.2509 23.1807 -19.79 -12.3511 -18.4296 23.9863 -19.795 -12.6522 -18.5642 24.8207 -19.8 -12.9441 -18.65 25.6781 -19.805 -13.2244 -18.6827 26.5531 -19.81 -13.4908 -18.6586 27.4398 -19.815 -13.741 -18.5751 28.3326 -19.82 -13.973 -18.4301 29.2256 -19.825 -14.1847 -18.2222 30.1129 -19.83 -14.3742 -17.951 30.9885 -19.835 -14.5396 -17.6165 31.8464 -19.84 -14.6793 -17.2196 32.6805 -19.845 -14.7917 -16.7621 33.4845 -19.85 -14.8752 -16.2463 34.2523 -19.855 -14.9284 -15.6752 34.9774 -19.86 -14.9499 -15.0528 35.6535 -19.865 -14.9387 -14.3833 36.2735 -19.87 -14.894 -13.6706 36.8284 -19.875 -14.816 -12.924 37.3164 -19.88 -14.7053 -12.153 37.7369 -19.885 -14.5624 -11.3662 38.0899 -19.89 -14.3883 -10.5716 38.3756 -19.895 -14.1841 -9.7765 38.5947 -19.9 -13.9511 -8.98739 38.7481 -19.905 -13.691 -8.21012 38.8373 -19.91 -13.4054 -7.44982 38.864 -19.915 -13.0964 -6.71092 38.8303 -19.92 -12.7662 -5.9971 38.7388 -19.925 -12.4174 -5.31138 38.5923 -19.93 -12.0524 -4.65602 38.3941 -19.935 -11.6744 -4.0326 38.1478 -19.94 -11.2863 -3.44201 37.8575 -19.945 -10.8898 -2.88844 37.5307 -19.95 -10.4866 -2.375 37.174 -19.955 -10.079 -1.90182 36.7915 -19.96 -9.66933 -1.46869 36.3873 -19.965 -9.25954 -1.07506 35.9649 -19.97 -8.85156 -0.719992 35.5278 -19.975 -8.44713 -0.402207 35.0795 -19.98 -8.04782 -0.120065 34.623 -19.985 -7.65504 0.128427 34.1612 -19.99 -7.27003 0.345623 33.6968 -19.995 -6.89386 0.534232 33.2324 -20 -6.52746 0.697321 32.7703 -20.005 -6.17161 0.837573 32.3119 -20.01 -5.82697 0.955692 31.8574 -20.015 -5.4939 1.05357 31.4073 -20.02 -5.17271 1.13312 30.9624 -20.025 -4.86363 1.19616 30.5232 -20.03 -4.56682 1.24443 30.0902 -20.035 -4.28237 1.27955 29.6638 -20.04 -4.01033 1.30306 29.2442 -20.045 -3.75064 1.31641 28.8316 -20.05 -3.50321 1.32096 28.4261 -20.055 -3.26786 1.31796 28.0276 -20.06 -3.04436 1.30858 27.636 -20.065 -2.8324 1.29388 27.2511 -20.07 -2.63154 1.27476 26.8727 -20.075 -2.44143 1.25192 26.501 -20.08 -2.26171 1.22605 26.1355 -20.085 -2.09205 1.19777 25.7763 -20.09 -1.93208 1.16767 25.423 -20.095 -1.78144 1.13627 25.0756 -20.1 -1.63975 1.10405 24.7339 -20.105 -1.50664 1.07143 24.3978 -20.11 -1.3817 1.03881 24.067 -20.115 -1.26456 1.0065 23.7414 -20.12 -1.15479 0.974788 23.421 -20.125 -1.052 0.943905 23.1055 -20.13 -0.955763 0.914033 22.7948 -20.135 -0.865646 0.885302 22.4888 -20.14 -0.781217 0.857797 22.1874 -20.145 -0.702035 0.831548 21.8904 -20.15 -0.627771 0.806639 21.5977 -20.155 -0.558209 0.783188 21.3093 -20.16 -0.493105 0.761271 21.025 -20.165 -0.432213 0.74095 20.7448 -20.17 -0.375288 0.722273 20.4686 -20.175 -0.322083 0.705276 20.1962 -20.18 -0.272353 0.689977 19.9277 -20.185 -0.225847 0.676386 19.663 -20.19 -0.182319 0.664496 19.4019 -20.195 -0.141519 0.654286 19.1445 -20.2 -0.103197 0.645722 18.8906 -20.205 -0.067103 0.638758 18.6402 -20.21 -0.032985 0.633332 18.3932 -20.215 -0.000605791 0.62938 18.1495 -20.22 0.0301405 0.626927 17.9092 -20.225 0.0593539 0.625995 17.6721 -20.23 0.0871472 0.626592 17.4382 -20.235 0.113635 0.628723 17.2076 -20.24 0.138933 0.632391 16.9801 -20.245 0.163161 0.637595 16.7556 -20.25 0.186437 0.644331 16.5343 -20.255 0.208884 0.65259 16.3159 -20.26 0.230625 0.662364 16.1006 -20.265 0.251787 0.673636 15.8882 -20.27 0.272495 0.686391 15.6786 -20.275 0.292881 0.700607 15.472 -20.28 0.313073 0.716262 15.2681 -20.285 0.333178 0.733354 15.067 -20.29 0.353228 0.751943 14.8687 -20.295 0.373275 0.772073 14.6732 -20.3 0.39337 0.793791 14.4803 -20.305 0.413571 0.817141 14.2901 -20.31 0.433939 0.842171 14.1026 -20.315 0.454538 0.868929 13.9177 -20.32 0.475437 0.897464 13.7354 -20.325 0.496709 0.927824 13.5557 -20.33 0.518429 0.960061 13.3785 -20.335 0.540679 0.994225 13.2039 -20.34 0.563542 1.03037 13.0318 -20.345 0.587105 1.06855 12.8622 -20.35 0.611462 1.10881 12.6951 -20.355 0.636707 1.15122 12.5305 -20.36 0.662925 1.19585 12.3683 -20.365 0.690159 1.24282 12.2086 -20.37 0.718452 1.29226 12.0514 -20.375 0.747854 1.34429 11.8965 -20.38 0.77842 1.39903 11.7442 -20.385 0.810215 1.45662 11.5942 -20.39 0.843309 1.5172 11.4468 -20.395 0.87778 1.58092 11.3018 -20.4 0.913711 1.64792 11.1592 -20.405 0.951194 1.71835 11.0192 -20.41 0.990326 1.79239 10.8817 -20.415 1.03121 1.87019 10.7468 -20.42 1.07397 1.95193 10.6144 -20.425 1.11871 2.03778 10.4847 -20.43 1.16556 2.12793 10.3577 -20.435 1.21466 2.22256 10.2334 -20.44 1.26614 2.32187 10.1118 -20.445 1.32015 2.42605 9.99317 -20.45 1.37686 2.53531 9.87755 -20.455 1.43638 2.64992 9.76505 -20.46 1.4988 2.7702 9.6557 -20.465 1.56423 2.8965 9.54957 -20.47 1.6328 3.02913 9.44674 -20.475 1.70463 3.16845 9.34735 -20.48 1.77989 3.31479 9.25154 -20.485 1.85874 3.46853 9.1595 -20.49 1.94135 3.63002 9.07145 -20.495 2.02792 3.79963 8.98761 -20.5 2.11865 3.97774 8.90828 -20.505 2.21376 4.16473 8.83375 -20.51 2.31349 4.36101 8.76435 -20.515 2.41807 4.56697 8.70045 -20.52 2.52778 4.78302 8.64245 -20.525 2.64288 5.00958 8.59075 -20.53 2.76367 5.24706 8.54583 -20.535 2.89043 5.4959 8.50816 -20.54 3.02349 5.75654 8.47826 -20.545 3.16317 6.02941 8.45666 -20.55 3.30983 6.31498 8.44395 -20.555 3.46349 6.61228 8.44124 -20.56 3.62427 6.92103 8.44967 -20.565 3.79266 7.2428 8.46981 -20.57 3.96914 7.57898 8.50236 -20.575 4.15412 7.93074 8.54819 -20.58 4.34802 8.29903 8.60825 -20.585 4.55121 8.6846 8.68366 -20.59 4.76404 9.08799 8.77566 -20.595 4.98684 9.50951 8.88561 -20.6 5.21988 9.94928 9.01501 -20.605 5.46343 10.4072 9.1655 -20.61 5.71772 10.883 9.33884 -20.615 5.98296 11.376 9.53693 -20.62 6.25932 11.8857 9.76179 -20.625 6.54694 12.411 10.0156 -20.63 6.84595 12.9508 10.3006 -20.635 7.15642 13.5037 10.6192 -20.64 7.47841 14.0681 10.9741 -20.645 7.81197 14.6423 11.3678 -20.65 8.15708 15.2242 11.8032 -20.655 8.51371 15.8117 12.2833 -20.66 8.88182 16.4023 12.811 -20.665 9.26132 16.9933 13.3897 -20.67 9.65208 17.582 14.0227 -20.675 10.053 18.1655 14.7106 -20.68 10.4623 18.7387 15.4533 -20.685 10.8789 19.2947 16.2538 -20.69 11.3017 19.8263 17.1141 -20.695 11.7291 20.3266 18.035 -20.7 12.1593 20.7884 19.0163 -20.705 12.5902 21.2045 20.0566 -20.71 13.0196 21.5678 21.1535 -20.715 13.4446 21.8708 22.3033 -20.72 13.8625 22.1062 23.5015 -20.725 14.2699 22.2668 24.7422 -20.73 14.6634 22.3449 26.0185 -20.735 15.0392 22.3333 27.3225 -20.74 15.3933 22.2242 28.645 -20.745 15.7225 22.0073 29.979 -20.75 16.0243 21.6762 31.3144 -20.755 16.2935 21.2356 32.6325 -20.76 16.5257 20.6909 33.9163 -20.765 16.7171 20.0478 35.1503 -20.77 16.8643 19.3123 36.3209 -20.775 16.965 18.4911 37.4161 -20.78 17.017 17.5909 38.4258 -20.785 17.0191 16.6191 39.3415 -20.79 16.9708 15.5835 40.1566 -20.795 16.8719 14.4921 40.8661 -20.8 16.7232 13.3534 41.4668 -20.805 16.5258 12.1765 41.9572 -20.81 16.2818 10.9706 42.3376 -20.815 15.9924 9.7511 42.6072 -20.82 15.6574 8.54395 42.7628 -20.825 15.2805 7.36156 42.8097 -20.83 14.8656 6.21433 42.7542 -20.835 14.4165 5.11134 42.603 -20.84 13.9372 4.06036 42.3639 -20.845 13.4317 3.06781 42.0448 -20.85 12.904 2.13882 41.6546 -20.855 12.358 1.2772 41.2029 -20.86 11.798 0.485427 40.6995 -20.865 11.2279 -0.235335 40.1554 -20.87 10.6519 -0.885244 39.5819 -20.875 10.0742 -1.46577 38.9909 -20.88 9.49854 -1.98059 38.3907 -20.885 8.92746 -2.4348 37.7819 -20.89 8.3635 -2.83202 37.1689 -20.895 7.80893 -3.17595 36.5561 -20.9 7.26579 -3.47039 35.9472 -20.905 6.73582 -3.71925 35.3452 -20.91 6.22053 -3.92655 34.753 -20.915 5.72116 -4.09641 34.1726 -20.92 5.23869 -4.23307 33.6057 -20.925 4.77385 -4.34088 33.0534 -20.93 4.32709 -4.42429 32.5164 -20.935 3.89861 -4.48786 31.9948 -20.94 3.48851 -4.53456 31.4885 -20.945 3.09668 -4.56553 30.9973 -20.95 2.7228 -4.58313 30.521 -20.955 2.3665 -4.58953 30.059 -20.96 2.02736 -4.58679 29.6109 -20.965 1.70496 -4.57678 29.1761 -20.97 1.39879 -4.56121 28.7543 -20.975 1.10836 -4.54164 28.3449 -20.98 0.833085 -4.51945 27.9474 -20.985 0.572386 -4.49588 27.5614 -20.99 0.325628 -4.472 27.1863 -20.995 0.0921394 -4.44871 26.8217 -21 -0.128786 -4.42676 26.4669 -21.005 -0.337898 -4.40675 26.1216 -21.01 -0.536122 -4.38932 25.7851 -21.015 -0.724127 -4.37497 25.4571 -21.02 -0.90246 -4.36413 25.1374 -21.025 -1.07167 -4.35715 24.8257 -21.03 -1.23231 -4.35437 24.5217 -21.035 -1.38495 -4.3561 24.2251 -21.04 -1.53015 -4.36261 23.9359 -21.045 -1.6685 -4.37413 23.6537 -21.05 -1.80056 -4.39087 23.3784 -21.055 -1.92694 -4.41302 23.1098 -21.06 -2.04822 -4.4407 22.8478 -21.065 -2.165 -4.47403 22.5921 -21.07 -2.27789 -4.51307 22.3428 -21.075 -2.3875 -4.55789 22.0996 -21.08 -2.49445 -4.60848 21.8625 -21.085 -2.59912 -4.66484 21.6315 -21.09 -2.70176 -4.72706 21.4067 -21.095 -2.80265 -4.79525 21.1881 -21.1 -2.9021 -4.8695 20.9758 -21.105 -3.00039 -4.9499 20.7698 -21.11 -3.09784 -5.03653 20.5703 -21.115 -3.19476 -5.12944 20.3773 -21.12 -3.29145 -5.2287 20.191 -21.125 -3.38825 -5.33434 20.0113 -21.13 -3.48549 -5.44639 19.8385 -21.135 -3.58349 -5.56486 19.6727 -21.14 -3.68261 -5.68978 19.514 -21.145 -3.78318 -5.82112 19.3625 -21.15 -3.88557 -5.95888 19.2184 -21.155 -3.99012 -6.10303 19.0819 -21.16 -4.097 -6.25356 18.9532 -21.165 -4.20632 -6.41061 18.8325 -21.17 -4.31821 -6.57432 18.7204 -21.175 -4.43284 -6.74479 18.617 -21.18 -4.55033 -6.92211 18.5227 -21.185 -4.67085 -7.10631 18.4379 -21.19 -4.79455 -7.29741 18.3629 -21.195 -4.92157 -7.49539 18.2982 -21.2 -5.05207 -7.7002 18.2441 -21.205 -5.18621 -7.91176 18.2011 -21.21 -5.32414 -8.12995 18.1696 -21.215 -5.46603 -8.35463 18.1501 -21.22 -5.61203 -8.58561 18.143 -21.225 -5.76231 -8.8227 18.1488 -21.23 -5.91704 -9.06564 18.1681 -21.235 -6.07637 -9.31417 18.2013 -21.24 -6.24043 -9.56797 18.249 -21.245 -6.40891 -9.82662 18.311 -21.25 -6.58185 -10.0898 18.3884 -21.255 -6.75929 -10.3573 18.482 -21.26 -6.94127 -10.6285 18.5928 -21.265 -7.12776 -10.9029 18.7216 -21.27 -7.31869 -11.1798 18.8691 -21.275 -7.51395 -11.4585 19.0361 -21.28 -7.71338 -11.7381 19.223 -21.285 -7.91679 -12.0178 19.4304 -21.29 -8.12392 -12.2963 19.6586 -21.295 -8.33448 -12.5726 19.908 -21.3 -8.54814 -12.8454 20.1788 -21.305 -8.76452 -13.1133 20.4712 -21.31 -8.9832 -13.375 20.7852 -21.315 -9.2037 -13.6288 21.1209 -21.32 -9.4255 -13.873 21.4781 -21.325 -9.64806 -14.106 21.8566 -21.33 -9.87077 -14.3258 22.2562 -21.335 -10.093 -14.5306 22.6766 -21.34 -10.314 -14.7182 23.1173 -21.345 -10.5332 -14.8872 23.5779 -21.35 -10.7499 -15.0366 24.0577 -21.355 -10.963 -15.1638 24.5547 -21.36 -11.1712 -15.2665 25.0668 -21.365 -11.3733 -15.3424 25.5918 -21.37 -11.5684 -15.3897 26.1275 -21.375 -11.7552 -15.4069 26.6715 -21.38 -11.9327 -15.3926 27.2214 -21.385 -12.0999 -15.3459 27.7746 -21.39 -12.2558 -15.2659 28.3284 -21.395 -12.3993 -15.1522 28.8802 -21.4 -12.5295 -15.0045 29.4271 -21.405 -12.6454 -14.823 29.966 -21.41 -12.7463 -14.6078 30.4941 -21.415 -12.8311 -14.3598 31.0082 -21.42 -12.8991 -14.0796 31.505 -21.425 -12.9495 -13.7686 31.9813 -21.43 -12.9814 -13.428 32.4336 -21.435 -12.9942 -13.0587 32.8579 -21.44 -12.9876 -12.6622 33.2505 -21.445 -12.9616 -12.2428 33.61 -21.45 -12.9163 -11.805 33.9354 -21.455 -12.8518 -11.3527 34.2256 -21.46 -12.7683 -10.8897 34.4801 -21.465 -12.6664 -10.4196 34.6983 -21.47 -12.5463 -9.94558 34.8799 -21.475 -12.4089 -9.47068 35.0247 -21.48 -12.2547 -8.99765 35.1329 -21.485 -12.0847 -8.52897 35.2048 -21.49 -11.8997 -8.06687 35.2407 -21.495 -11.7009 -7.61332 35.2415 -21.5 -11.4894 -7.17003 35.2079 -21.505 -11.2665 -6.73845 35.1412 -21.51 -11.0335 -6.31977 35.0424 -21.515 -10.792 -5.91493 34.9132 -21.52 -10.5437 -5.52459 34.7552 -21.525 -10.2895 -5.15075 34.5713 -21.53 -10.03 -4.79695 34.3652 -21.535 -9.7663 -4.46387 34.1388 -21.54 -9.49979 -4.15195 33.8938 -21.545 -9.23166 -3.86148 33.632 -21.55 -8.96304 -3.59255 33.3552 -21.555 -8.69501 -3.3451 33.065 -21.56 -8.42855 -3.1189 32.7631 -21.565 -8.1646 -2.91355 32.4512 -21.57 -7.90399 -2.72848 32.1309 -21.575 -7.64753 -2.56295 31.8038 -21.58 -7.39591 -2.41604 31.4715 -21.585 -7.14978 -2.28669 31.1355 -21.59 -6.90971 -2.17364 30.7974 -21.595 -6.67619 -2.07549 30.4587 -21.6 -6.44965 -1.99068 30.1208 -21.605 -6.2305 -1.91895 29.7835 -21.61 -6.01896 -1.85991 29.4465 -21.615 -5.81517 -1.81275 29.1105 -21.62 -5.61927 -1.77667 28.7759 -21.625 -5.43134 -1.7509 28.4431 -21.63 -5.25148 -1.73473 28.1125 -21.635 -5.07974 -1.72746 27.7844 -21.64 -4.91613 -1.72843 27.4592 -21.645 -4.76068 -1.737 27.137 -21.65 -4.61335 -1.75258 26.8182 -21.655 -4.47411 -1.7746 26.5028 -21.66 -4.3429 -1.80253 26.1911 -21.665 -4.21961 -1.83587 25.883 -21.67 -4.10415 -1.87415 25.5787 -21.675 -3.99636 -1.91694 25.2782 -21.68 -3.89604 -1.96389 24.9814 -21.685 -3.80285 -2.01493 24.6886 -21.69 -3.71665 -2.06983 24.3998 -21.695 -3.63732 -2.12834 24.1151 -21.7 -3.56476 -2.19025 23.8344 -21.705 -3.49882 -2.25538 23.5577 -21.71 -3.4394 -2.32358 23.2852 -21.715 -3.38634 -2.39472 23.0167 -21.72 -3.33953 -2.4687 22.7524 -21.725 -3.29881 -2.54545 22.4924 -21.73 -3.26403 -2.62492 22.2365 -21.735 -3.23506 -2.70709 21.985 -21.74 -3.21173 -2.79198 21.7377 -21.745 -3.19388 -2.87963 21.4948 -21.75 -3.18136 -2.9701 21.2564 -21.755 -3.17399 -3.06349 21.0224 -21.76 -3.1716 -3.15991 20.793 -21.765 -3.17402 -3.25951 20.5681 -21.77 -3.18107 -3.36248 20.348 -21.775 -3.19256 -3.469 20.1325 -21.78 -3.20848 -3.5791 19.922 -21.785 -3.22886 -3.69285 19.7164 -21.79 -3.25376 -3.81034 19.5158 -21.795 -3.2832 -3.93166 19.3204 -21.8 -3.31722 -4.05695 19.1302 -21.805 -3.35583 -4.1863 18.9452 -21.81 -3.39907 -4.31986 18.7657 -21.815 -3.44696 -4.45778 18.5918 -21.82 -3.49951 -4.60019 18.4237 -21.825 -3.55675 -4.74727 18.2615 -21.83 -3.61867 -4.89917 18.1055 -21.835 -3.6853 -5.0561 17.9558 -21.84 -3.75664 -5.21823 17.8128 -21.845 -3.83268 -5.38576 17.6766 -21.85 -3.91344 -5.55891 17.5476 -21.855 -3.9989 -5.7379 17.426 -21.86 -4.08907 -5.92296 17.3122 -21.865 -4.18392 -6.11432 17.2065 -21.87 -4.28345 -6.31224 17.1092 -21.875 -4.38764 -6.51697 17.0207 -21.88 -4.4966 -6.7284 16.9413 -21.885 -4.61059 -6.94625 16.8715 -21.89 -4.72977 -7.17084 16.8116 -21.895 -4.85428 -7.40241 16.7622 -21.9 -4.98425 -7.64116 16.7239 -21.905 -5.11979 -7.88722 16.6972 -21.91 -5.26099 -8.14062 16.6827 -21.915 -5.40794 -8.40137 16.681 -21.92 -5.56068 -8.66938 16.6928 -21.925 -5.71928 -8.94451 16.7186 -21.93 -5.88375 -9.22654 16.7592 -21.935 -6.05412 -9.51521 16.8152 -21.94 -6.23039 -9.81015 16.8874 -21.945 -6.41254 -10.111 16.9766 -21.95 -6.60054 -10.4172 17.0834 -21.955 -6.79434 -10.7282 17.2086 -21.96 -6.99388 -11.0435 17.3532 -21.965 -7.19908 -11.3624 17.5178 -21.97 -7.40984 -11.684 17.7034 -21.975 -7.62606 -12.0077 17.9109 -21.98 -7.84761 -12.3325 18.1411 -21.985 -8.07427 -12.6576 18.3946 -21.99 -8.30549 -12.9823 18.6711 -21.995 -8.54102 -13.3047 18.9717 -22 -8.78054 -13.6229 19.2976 -22.005 -9.0237 -13.9348 19.6494 -22.01 -9.27001 -14.2384 20.0279 -22.015 -9.51893 -14.5315 20.4333 -22.02 -9.76984 -14.812 20.8655 -22.025 -10.022 -15.0777 21.3245 -22.03 -10.2747 -15.3266 21.8095 -22.035 -10.5269 -15.5562 22.3199 -22.04 -10.7778 -15.7644 22.8547 -22.045 -11.0262 -15.9489 23.4124 -22.05 -11.2711 -16.1072 23.9914 -22.055 -11.5112 -16.2372 24.59 -22.06 -11.7453 -16.3363 25.206 -22.065 -11.9719 -16.4021 25.8369 -22.07 -12.1896 -16.4322 26.4801 -22.075 -12.3969 -16.424 27.1327 -22.08 -12.5926 -16.3748 27.7924 -22.085 -12.7763 -16.2827 28.4562 -22.09 -12.946 -16.1481 29.1187 -22.095 -13.0999 -15.9714 29.7746 -22.1 -13.2366 -15.7535 30.4192 -22.105 -13.3546 -15.4952 31.0476 -22.11 -13.4528 -15.1978 31.6558 -22.115 -13.5302 -14.8628 32.2396 -22.12 -13.586 -14.4918 32.7956 -22.125 -13.6195 -14.0868 33.3202 -22.13 -13.6302 -13.6499 33.8106 -22.135 -13.618 -13.1835 34.264 -22.14 -13.5828 -12.6902 34.678 -22.145 -13.5246 -12.1728 35.0506 -22.15 -13.4437 -11.6346 35.3801 -22.155 -13.3407 -11.0786 35.665 -22.16 -13.216 -10.5088 35.9041 -22.165 -13.0694 -9.93202 36.0957 -22.17 -12.9015 -9.35401 36.2398 -22.175 -12.7137 -8.77874 36.3374 -22.18 -12.5072 -8.20988 36.3895 -22.185 -12.2836 -7.65083 36.3976 -22.19 -12.0443 -7.1047 36.3634 -22.195 -11.7906 -6.57428 36.2885 -22.2 -11.524 -6.06211 36.175 -22.205 -11.246 -5.5704 36.0253 -22.21 -10.9582 -5.1011 35.8418 -22.215 -10.662 -4.65583 35.6271 -22.22 -10.3589 -4.23596 35.3843 -22.225 -10.0506 -3.84254 35.1164 -22.23 -9.73856 -3.47633 34.8269 -22.235 -9.42448 -3.13782 34.5192 -22.24 -9.10995 -2.82717 34.1972 -22.245 -8.79651 -2.54349 33.8638 -22.25 -8.48531 -2.28477 33.5194 -22.255 -8.17736 -2.05033 33.1659 -22.26 -7.87361 -1.83945 32.8048 -22.265 -7.57493 -1.65133 32.4377 -22.27 -7.28212 -1.48508 32.0659 -22.275 -6.99592 -1.33974 31.6909 -22.28 -6.71696 -1.21425 31.3137 -22.285 -6.44583 -1.10751 30.9356 -22.29 -6.18303 -1.01828 30.5576 -22.295 -5.929 -0.945302 30.1806 -22.3 -5.68407 -0.887188 29.8053 -22.305 -5.44854 -0.842494 29.4326 -22.31 -5.22262 -0.809687 29.063 -22.315 -5.00642 -0.787158 28.6971 -22.32 -4.80002 -0.773212 28.3353 -22.325 -4.60338 -0.766241 27.9778 -22.33 -4.41628 -0.766823 27.6244 -22.335 -4.23855 -0.77478 27.2752 -22.34 -4.07002 -0.789424 26.9301 -22.345 -3.91054 -0.810116 26.5893 -22.35 -3.75994 -0.83626 26.2528 -22.355 -3.61805 -0.867309 25.9206 -22.36 -3.48468 -0.902761 25.5928 -22.365 -3.35962 -0.942161 25.2694 -22.37 -3.24268 -0.985102 24.9504 -22.375 -3.13363 -1.03122 24.6359 -22.38 -3.03225 -1.0802 24.3257 -22.385 -2.93831 -1.13178 24.0199 -22.39 -2.85155 -1.18573 23.7184 -22.395 -2.77173 -1.24188 23.4213 -22.4 -2.69857 -1.3001 23.1284 -22.405 -2.63178 -1.3603 22.8396 -22.41 -2.57107 -1.42241 22.5551 -22.415 -2.51629 -1.48632 22.2748 -22.42 -2.4673 -1.55196 21.9985 -22.425 -2.42394 -1.61927 21.7265 -22.43 -2.38607 -1.68822 21.4585 -22.435 -2.35354 -1.75881 21.1945 -22.44 -2.32619 -1.83104 20.9347 -22.445 -2.30387 -1.90494 20.6789 -22.45 -2.28642 -1.98059 20.4272 -22.455 -2.27368 -2.05804 20.1795 -22.46 -2.26548 -2.13742 19.9359 -22.465 -2.26167 -2.21884 19.6963 -22.47 -2.26209 -2.30244 19.4609 -22.475 -2.26656 -2.3884 19.2295 -22.48 -2.27493 -2.47691 19.0023 -22.485 -2.28704 -2.56816 18.7792 -22.49 -2.30294 -2.66221 18.5603 -22.495 -2.32265 -2.75919 18.3456 -22.5 -2.34617 -2.8592 18.1353 -22.505 -2.3735 -2.96242 17.9292 -22.51 -2.40463 -3.06898 17.7275 -22.515 -2.43958 -3.17907 17.5303 -22.52 -2.47835 -3.29285 17.3377 -22.525 -2.52094 -3.41053 17.1496 -22.53 -2.56738 -3.5323 16.9663 -22.535 -2.61767 -3.65838 16.7878 -22.54 -2.67183 -3.789 16.6144 -22.545 -2.72987 -3.92439 16.446 -22.55 -2.79183 -4.0648 16.2829 -22.555 -2.85772 -4.2105 16.1253 -22.56 -2.92757 -4.36175 15.9733 -22.565 -3.00141 -4.51884 15.8271 -22.57 -3.07936 -4.68184 15.6871 -22.575 -3.16158 -4.85094 15.5533 -22.58 -3.24819 -5.02648 15.4261 -22.585 -3.33931 -5.20875 15.3057 -22.59 -3.43507 -5.39806 15.1924 -22.595 -3.5356 -5.59467 15.0864 -22.6 -3.64103 -5.79883 14.9881 -22.605 -3.7515 -6.01079 14.8979 -22.61 -3.86713 -6.23077 14.8163 -22.615 -3.98806 -6.45896 14.7436 -22.62 -4.11444 -6.69557 14.6804 -22.625 -4.2464 -6.94075 14.6273 -22.63 -4.38408 -7.19466 14.5848 -22.635 -4.52762 -7.45745 14.5536 -22.64 -4.67718 -7.72921 14.5342 -22.645 -4.83289 -8.01007 14.5274 -22.65 -4.9949 -8.30009 14.534 -22.655 -5.16337 -8.59935 14.5546 -22.66 -5.33844 -8.90791 14.5901 -22.665 -5.52028 -9.22578 14.6414 -22.67 -5.70888 -9.55265 14.709 -22.675 -5.90419 -9.88792 14.7937 -22.68 -6.10646 -10.2317 14.8969 -22.685 -6.31588 -10.5838 15.0198 -22.69 -6.53258 -10.944 15.1638 -22.695 -6.75663 -11.3117 15.33 -22.7 -6.98804 -11.6864 15.5198 -22.705 -7.22674 -12.0672 15.7343 -22.71 -7.47263 -12.453 15.9744 -22.715 -7.72552 -12.8426 16.2414 -22.72 -7.98516 -13.2346 16.5362 -22.725 -8.25125 -13.6274 16.8598 -22.73 -8.52343 -14.0192 17.2131 -22.735 -8.80126 -14.4081 17.5969 -22.74 -9.08424 -14.7918 18.0121 -22.745 -9.37183 -15.168 18.4594 -22.75 -9.66341 -15.5342 18.9396 -22.755 -9.95829 -15.8877 19.4533 -22.76 -10.2557 -16.2256 20.0012 -22.765 -10.555 -16.546 20.5833 -22.77 -10.8549 -16.8466 21.1985 -22.775 -11.1541 -17.1223 21.8458 -22.78 -11.4512 -17.3684 22.5239 -22.785 -11.7447 -17.5805 23.2311 -22.79 -12.0331 -17.7546 23.965 -22.795 -12.3148 -17.8872 24.7231 -22.8 -12.5881 -17.9751 25.5022 -22.805 -12.8514 -18.0155 26.2988 -22.81 -13.1028 -18.0059 27.109 -22.815 -13.3407 -17.9443 27.9283 -22.82 -13.563 -17.829 28.7521 -22.825 -13.7679 -17.6588 29.5749 -22.83 -13.9535 -17.4326 30.3912 -22.835 -14.1176 -17.1501 31.1948 -22.84 -14.2583 -16.8111 31.9792 -22.845 -14.3735 -16.4146 32.7373 -22.85 -14.4626 -15.9564 33.4616 -22.855 -14.5243 -15.4434 34.1467 -22.86 -14.5576 -14.8842 34.788 -22.865 -14.5617 -14.2868 35.3812 -22.87 -14.5358 -13.6584 35.9229 -22.875 -14.48 -13.0057 36.4101 -22.88 -14.3941 -12.3348 36.8404 -22.885 -14.2785 -11.6513 37.2119 -22.89 -14.1339 -10.9599 37.5234 -22.895 -13.9612 -10.2651 37.7741 -22.9 -13.7617 -9.57041 37.9639 -22.905 -13.5369 -8.87899 38.0932 -22.91 -13.2886 -8.19329 38.163 -22.915 -13.019 -7.51517 38.1748 -22.92 -12.7305 -6.84589 38.1307 -22.925 -12.4258 -6.18613 38.0334 -22.93 -12.1054 -5.54563 37.8876 -22.935 -11.7699 -4.93452 37.6978 -22.94 -11.4217 -4.35514 37.4677 -22.945 -11.0633 -3.80936 37.2007 -22.95 -10.6967 -3.29857 36.9006 -22.955 -10.3242 -2.82371 36.571 -22.96 -9.94774 -2.38524 36.2154 -22.965 -9.5692 -1.98314 35.8376 -22.97 -9.19037 -1.61693 35.4414 -22.975 -8.81294 -1.28565 35.0304 -22.98 -8.43846 -0.987892 34.6085 -22.985 -8.0684 -0.721747 34.1794 -22.99 -7.70409 -0.484852 33.7469 -22.995 -7.34678 -0.274909 33.3139 -23 -6.99748 -0.0910961 32.8794 -23.005 -6.65692 0.0682883 32.4444 -23.01 -6.32571 0.20501 32.0104 -23.015 -6.00442 0.320791 31.5783 -23.02 -5.69353 0.417315 31.1491 -23.025 -5.39341 0.496224 30.7237 -23.03 -5.1044 0.559115 30.3028 -23.035 -4.82672 0.607549 29.8869 -23.04 -4.56052 0.643042 29.4765 -23.045 -4.30588 0.667071 29.0718 -23.05 -4.06279 0.681071 28.673 -23.055 -3.83117 0.686435 28.28 -23.06 -3.61085 0.684486 27.8929 -23.065 -3.40157 0.675952 27.5116 -23.07 -3.20305 0.661555 27.1363 -23.075 -3.01502 0.642086 26.7669 -23.08 -2.83719 0.618277 26.4032 -23.085 -2.66926 0.590803 26.0452 -23.09 -2.51092 0.560283 25.6928 -23.095 -2.36187 0.527277 25.3458 -23.1 -2.22176 0.492289 25.0043 -23.105 -2.09027 0.455764 24.6679 -23.11 -1.96704 0.418092 24.3368 -23.115 -1.85173 0.379604 24.0106 -23.12 -1.74396 0.340573 23.6894 -23.125 -1.64336 0.301217 23.3729 -23.13 -1.54955 0.261695 23.0611 -23.135 -1.46213 0.222147 22.7539 -23.14 -1.3808 0.182735 22.4511 -23.145 -1.3053 0.143586 22.1526 -23.15 -1.23538 0.104805 21.8584 -23.155 -1.17078 0.066478 21.5684 -23.16 -1.11126 0.0286686 21.2824 -23.165 -1.05655 -0.00857805 21.0005 -23.17 -1.0064 -0.0452379 20.7225 -23.175 -0.960552 -0.081307 20.4484 -23.18 -0.918758 -0.116802 20.1781 -23.185 -0.880761 -0.151759 19.9115 -23.19 -0.846308 -0.186236 19.6485 -23.195 -0.815145 -0.22031 19.3891 -23.2 -0.787019 -0.254076 19.1333 -23.205 -0.761782 -0.287576 18.8809 -23.21 -0.739339 -0.320821 18.632 -23.215 -0.719583 -0.353847 18.3864 -23.22 -0.702406 -0.386696 18.1442 -23.225 -0.687699 -0.419421 17.9053 -23.23 -0.675355 -0.452082 17.6696 -23.235 -0.665269 -0.484747 17.4371 -23.24 -0.657334 -0.517494 17.2078 -23.245 -0.651446 -0.550408 16.9817 -23.25 -0.6475 -0.583584 16.7586 -23.255 -0.645391 -0.617123 16.5386 -23.26 -0.645017 -0.651138 16.3216 -23.265 -0.646275 -0.685748 16.1075 -23.27 -0.649073 -0.721074 15.8965 -23.275 -0.653401 -0.757183 15.6883 -23.28 -0.659258 -0.794135 15.4831 -23.285 -0.666636 -0.832 15.2807 -23.29 -0.675527 -0.870857 15.0811 -23.295 -0.685927 -0.91079 14.8844 -23.3 -0.697829 -0.95189 14.6904 -23.305 -0.711228 -0.994257 14.4993 -23.31 -0.726121 -1.038 14.3109 -23.315 -0.742505 -1.08323 14.1252 -23.32 -0.760376 -1.13006 13.9422 -23.325 -0.779733 -1.17863 13.762 -23.33 -0.800575 -1.22907 13.5844 -23.335 -0.822902 -1.28153 13.4096 -23.34 -0.846714 -1.33614 13.2374 -23.345 -0.872012 -1.39308 13.0679 -23.35 -0.898865 -1.45246 12.9011 -23.355 -0.927353 -1.51439 12.737 -23.36 -0.957527 -1.57901 12.5755 -23.365 -0.989443 -1.64646 12.4168 -23.37 -1.02316 -1.7169 12.2608 -23.375 -1.05875 -1.79047 12.1075 -23.38 -1.09627 -1.86737 11.9569 -23.385 -1.13582 -1.94776 11.8091 -23.39 -1.17745 -2.03184 11.664 -23.395 -1.22127 -2.11981 11.5219 -23.4 -1.26735 -2.21188 11.3826 -23.405 -1.3158 -2.30828 11.2463 -23.41 -1.36671 -2.40922 11.113 -23.415 -1.42019 -2.51496 10.9829 -23.42 -1.47635 -2.62573 10.8559 -23.425 -1.5353 -2.74181 10.7322 -23.43 -1.59716 -2.86346 10.6118 -23.435 -1.66206 -2.99095 10.495 -23.44 -1.73023 -3.12427 10.382 -23.445 -1.80207 -3.26313 10.2733 -23.45 -1.87766 -3.40809 10.1689 -23.455 -1.95708 -3.55975 10.0688 -23.46 -2.04044 -3.71866 9.9729 -23.465 -2.12785 -3.88537 9.88137 -23.47 -2.21945 -4.06041 9.79433 -23.475 -2.31539 -4.24429 9.71196 -23.48 -2.41584 -4.43751 9.63452 -23.485 -2.52097 -4.64054 9.56234 -23.49 -2.63099 -4.85383 9.49579 -23.495 -2.7461 -5.07782 9.43531 -23.5 -2.86654 -5.31294 9.38139 -23.505 -2.99254 -5.55959 9.33458 -23.51 -3.12438 -5.81814 9.29551 -23.515 -3.26231 -6.08898 9.26485 -23.52 -3.40664 -6.37243 9.24332 -23.525 -3.55767 -6.66884 9.23173 -23.53 -3.71572 -6.97851 9.23092 -23.535 -3.88113 -7.30174 9.24181 -23.54 -4.05425 -7.6388 9.26537 -23.545 -4.23545 -7.98995 9.30264 -23.55 -4.42513 -8.35542 9.3547 -23.555 -4.62367 -8.73545 9.4227 -23.56 -4.83149 -9.13023 9.50786 -23.565 -5.04902 -9.53994 9.61144 -23.57 -5.27672 -9.96475 9.73478 -23.575 -5.51505 -10.4048 9.87925 -23.58 -5.76437 -10.8602 10.0463 -23.585 -6.02374 -11.3295 10.2369 -23.59 -6.29331 -11.8128 10.4535 -23.595 -6.57362 -12.3104 10.6988 -23.6 -6.86508 -12.8221 10.9755 -23.605 -7.16798 -13.3472 11.2861 -23.61 -7.48243 -13.8847 11.6329 -23.615 -7.80844 -14.433 12.0183 -23.62 -8.14587 -14.9902 12.4444 -23.625 -8.49441 -15.5537 12.9133 -23.63 -8.85367 -16.1208 13.4271 -23.635 -9.22306 -16.688 13.9876 -23.64 -9.6019 -17.2517 14.5966 -23.645 -9.98934 -17.8076 15.2557 -23.65 -10.3844 -18.3511 15.9665 -23.655 -10.786 -18.877 16.7305 -23.66 -11.1928 -19.3798 17.549 -23.665 -11.6035 -19.8535 18.4232 -23.67 -12.0165 -20.2917 19.3545 -23.675 -12.4302 -20.689 20.3427 -23.68 -12.8424 -21.0407 21.3842 -23.685 -13.2501 -21.3364 22.4751 -23.69 -13.6504 -21.567 23.6105 -23.695 -14.0401 -21.7241 24.7847 -23.7 -14.4162 -21.8007 25.9912 -23.705 -14.7755 -21.7909 27.2227 -23.71 -15.1146 -21.6898 28.4709 -23.715 -15.4304 -21.4936 29.7268 -23.72 -15.7193 -21.1999 30.9803 -23.725 -15.978 -20.8071 32.2207 -23.73 -16.203 -20.3148 33.4363 -23.735 -16.3906 -19.7238 34.6145 -23.74 -16.5373 -19.036 35.7421 -23.745 -16.6405 -18.2487 36.8032 -23.75 -16.6989 -17.3684 37.7857 -23.755 -16.7106 -16.4128 38.6822 -23.76 -16.6743 -15.3986 39.4864 -23.765 -16.5895 -14.3406 40.1934 -23.77 -16.4561 -13.2524 40.7994 -23.775 -16.2748 -12.1464 41.3017 -23.78 -16.0467 -11.0333 41.6988 -23.785 -15.7738 -9.9225 41.9906 -23.79 -15.4585 -8.822 42.178 -23.795 -15.1039 -7.73841 42.263 -23.8 -14.7136 -6.67692 42.2491 -23.805 -14.292 -5.64132 42.1405 -23.81 -13.8438 -4.6344 41.9433 -23.815 -13.3705 -3.67372 41.669 -23.82 -12.8748 -2.77113 41.3281 -23.825 -12.3608 -1.93012 40.929 -23.83 -11.8327 -1.15304 40.4797 -23.835 -11.2942 -0.441168 39.9882 -23.84 -10.7491 0.205362 39.4622 -23.845 -10.2005 0.787512 38.9092 -23.85 -9.65178 1.30736 38.3367 -23.855 -9.10575 1.76809 37.7517 -23.86 -8.56516 2.17399 37.1614 -23.865 -8.03247 2.5299 36.5717 -23.87 -7.50973 2.83819 35.984 -23.875 -6.99854 3.10246 35.4005 -23.88 -6.50033 3.32654 34.8239 -23.885 -6.01631 3.51412 34.2561 -23.89 -5.54748 3.66881 33.699 -23.895 -5.09466 3.7941 33.1538 -23.9 -4.65847 3.89337 32.6215 -23.905 -4.23932 3.96991 32.1028 -23.91 -3.83743 4.02687 31.5977 -23.915 -3.45283 4.06734 31.1062 -23.92 -3.08547 4.09401 30.6281 -23.925 -2.73518 4.10883 30.1635 -23.93 -2.40153 4.11366 29.7119 -23.935 -2.08408 4.11022 29.2729 -23.94 -1.78233 4.10013 28.8459 -23.945 -1.4958 4.08488 28.4305 -23.95 -1.22397 4.06584 28.0263 -23.955 -0.966304 4.04427 27.6328 -23.96 -0.722242 4.02131 27.2496 -23.965 -0.491208 3.99797 26.8762 -23.97 -0.272603 3.97516 26.5124 -23.975 -0.0658085 3.95366 26.1576 -23.98 0.129816 3.93414 25.8116 -23.985 0.314929 3.91714 25.474 -23.99 0.490213 3.9031 25.1444 -23.995 0.656378 3.89232 24.8225 -24 0.814242 3.88515 24.5078 -24.005 0.964353 3.8819 24.2002 -24.01 1.10718 3.88285 23.8995 -24.015 1.24318 3.88823 23.6055 -24.02 1.37284 3.89826 23.318 -24.025 1.49664 3.91313 23.037 -24.03 1.61507 3.93303 22.7623 -24.035 1.72861 3.95809 22.4937 -24.04 1.83776 3.98845 22.2312 -24.045 1.94303 4.02419 21.9747 -24.05 2.04492 4.06541 21.724 -24.055 2.14395 4.11215 21.4791 -24.06 2.24064 4.16444 21.24 -24.065 2.3355 4.2223 21.0065 -24.07 2.42904 4.28571 20.7786 -24.075 2.52148 4.35475 20.5564 -24.08 2.61305 4.42953 20.3401 -24.085 2.70399 4.51017 20.1296 -24.09 2.79455 4.59678 19.9251 -24.095 2.88498 4.68946 19.7266 -24.1 2.97557 4.78829 19.5342 -24.105 3.06656 4.89336 19.3482 -24.11 3.15825 5.00473 19.1685 -24.115 3.25092 5.12249 18.9954 -24.12 3.34485 5.24667 18.8289 -24.125 3.44034 5.37733 18.6692 -24.13 3.53771 5.51452 18.5165 -24.135 3.63725 5.65826 18.371 -24.14 3.73928 5.80859 18.2328 -24.145 3.84408 5.96549 18.1021 -24.15 3.95176 6.12905 17.9794 -24.155 4.06244 6.29949 17.8648 -24.16 4.17628 6.47696 17.7587 -24.165 4.29342 6.66162 17.6615 -24.17 4.414 6.85357 17.5736 -24.175 4.53817 7.05289 17.4953 -24.18 4.66608 7.25962 17.4271 -24.185 4.79788 7.47378 17.3694 -24.19 4.93374 7.69535 17.3228 -24.195 5.07381 7.92426 17.2875 -24.2 5.21825 8.16043 17.2643 -24.205 5.36723 8.40374 17.2536 -24.21 5.52091 8.65403 17.256 -24.215 5.67946 8.91112 17.2719 -24.22 5.84306 9.17478 17.3021 -24.225 6.01187 9.44478 17.3472 -24.23 6.18598 9.72076 17.4075 -24.235 6.365 10.0022 17.4832 -24.24 6.54904 10.289 17.5752 -24.245 6.73818 10.5806 17.6849 -24.25 6.93249 10.8766 17.8132 -24.255 7.13197 11.1765 17.9611 -24.26 7.33656 11.4796 18.1296 -24.265 7.54615 11.7849 18.3194 -24.27 7.76058 12.0916 18.5313 -24.275 7.97963 12.3986 18.7657 -24.28 8.20303 12.7046 19.0232 -24.285 8.43046 13.0084 19.3043 -24.29 8.66153 13.3084 19.6092 -24.295 8.8958 13.6032 19.9381 -24.3 9.1328 13.891 20.2912 -24.305 9.37197 14.17 20.6685 -24.31 9.61273 14.4382 21.0699 -24.315 9.85442 14.6937 21.4952 -24.32 10.0963 14.9341 21.9442 -24.325 10.3377 15.1573 22.4166 -24.33 10.5777 15.3608 22.9118 -24.335 10.8156 15.5421 23.4294 -24.34 11.0507 15.7006 23.9688 -24.345 11.2817 15.8334 24.5276 -24.35 11.5072 15.9378 25.1033 -24.355 11.7258 16.0112 25.6931 -24.36 11.9363 16.0514 26.2943 -24.365 12.1372 16.0566 26.9041 -24.37 12.3274 16.0252 27.5193 -24.375 12.5057 15.9561 28.1369 -24.38 12.6708 15.8486 28.7537 -24.385 12.8216 15.702 29.3664 -24.39 12.957 15.5163 29.9718 -24.395 13.0759 15.2918 30.5662 -24.4 13.1775 15.0289 31.1462 -24.405 13.2605 14.7285 31.708 -24.41 13.3242 14.392 32.248 -24.415 13.3676 14.0209 32.7622 -24.42 13.3898 13.6172 33.2468 -24.425 13.3902 13.1816 33.6964 -24.43 13.3686 12.7174 34.1079 -24.435 13.3251 12.23 34.4799 -24.44 13.2598 11.7243 34.8116 -24.445 13.1731 11.2052 35.1021 -24.45 13.0652 10.677 35.3511 -24.455 12.9369 10.1438 35.5582 -24.46 12.7888 9.60939 35.7233 -24.465 12.6216 9.07707 35.8467 -24.47 12.4364 8.54998 35.9288 -24.475 12.2342 8.03086 35.9701 -24.48 12.0162 7.52213 35.9716 -24.485 11.7837 7.02588 35.9343 -24.49 11.5382 6.54389 35.8595 -24.495 11.2813 6.07758 35.7488 -24.5 11.0147 5.62806 35.604 -24.505 10.7402 5.19611 35.427 -24.51 10.4594 4.78316 35.2207 -24.515 10.1728 4.39338 34.99 -24.52 9.88163 4.02768 34.7373 -24.525 9.58749 3.68648 34.4647 -24.53 9.29172 3.36997 34.1743 -24.535 8.99563 3.07815 33.8682 -24.54 8.70041 2.81083 33.5484 -24.545 8.40721 2.56762 33.2168 -24.55 8.11704 2.34791 32.8754 -24.555 7.83086 2.15091 32.5259 -24.56 7.54954 1.97564 32.1702 -24.565 7.27385 1.82091 31.8101 -24.57 7.00448 1.68531 31.4472 -24.575 6.74203 1.56727 31.0832 -24.58 6.48703 1.46499 30.7197 -24.585 6.23994 1.37714 30.3577 -24.59 6.00112 1.30371 29.9964 -24.595 5.77075 1.24374 29.6365 -24.6 5.54898 1.19626 29.2782 -24.605 5.33594 1.16032 28.9223 -24.61 5.13171 1.13502 28.5689 -24.615 4.93636 1.11951 28.2186 -24.62 4.74992 1.11296 27.8715 -24.625 4.57238 1.11461 27.5281 -24.63 4.40373 1.12372 27.1884 -24.635 4.2439 1.13961 26.8526 -24.64 4.09281 1.16161 26.5209 -24.645 3.95034 1.18913 26.1933 -24.65 3.81634 1.2216 25.8698 -24.655 3.69064 1.25849 25.5503 -24.66 3.57296 1.29945 25.235 -24.665 3.46297 1.34425 24.9239 -24.67 3.36051 1.39259 24.617 -24.675 3.26542 1.44418 24.3143 -24.68 3.17754 1.49876 24.0159 -24.685 3.09668 1.55609 23.7216 -24.69 3.02269 1.61599 23.4315 -24.695 2.95536 1.67829 23.1456 -24.7 2.89452 1.74286 22.8638 -24.705 2.83998 1.80959 22.5862 -24.71 2.79155 1.87841 22.3128 -24.715 2.74902 1.94929 22.0436 -24.72 2.71219 2.02221 21.7785 -24.725 2.68085 2.09719 21.5176 -24.73 2.6548 2.1743 21.2609 -24.735 2.63382 2.25361 21.0083 -24.74 2.61768 2.33523 20.76 -24.745 2.60617 2.41932 20.5159 -24.75 2.59906 2.50603 20.276 -24.755 2.59632 2.59538 20.0404 -24.76 2.59793 2.68744 19.8092 -24.765 2.60392 2.78224 19.5823 -24.77 2.61426 2.87986 19.3597 -24.775 2.62897 2.98039 19.1416 -24.78 2.64802 3.08393 18.9279 -24.785 2.67141 3.19061 18.7187 -24.79 2.69912 3.30057 18.5141 -24.795 2.73113 3.41397 18.3141 -24.8 2.76742 3.53098 18.1189 -24.805 2.80796 3.65179 17.9286 -24.81 2.85272 3.7766 17.7433 -24.815 2.90166 3.90565 17.5631 -24.82 2.95475 4.03917 17.3882 -24.825 3.01194 4.17743 17.2187 -24.83 3.07318 4.3207 17.0548 -24.835 3.13844 4.46927 16.8967 -24.84 3.20764 4.62345 16.7445 -24.845 3.28075 4.78356 16.5985 -24.85 3.35805 4.94952 16.459 -24.855 3.43978 5.12146 16.3261 -24.86 3.52605 5.29965 16.2001 -24.865 3.61697 5.48437 16.0813 -24.87 3.71266 5.67585 15.97 -24.875 3.81321 5.87434 15.8664 -24.88 3.91876 6.08004 15.7711 -24.885 4.0294 6.29315 15.6842 -24.89 4.14525 6.51385 15.6064 -24.895 4.26642 6.7423 15.538 -24.9 4.39304 6.97864 15.4796 -24.905 4.5252 7.223 15.4317 -24.91 4.66303 7.47549 15.3948 -24.915 4.80665 7.7362 15.3696 -24.92 4.95616 8.00521 15.3568 -24.925 5.11168 8.28256 15.357 -24.93 5.27333 8.5683 15.3708 -24.935 5.44122 8.86244 15.3991 -24.94 5.61548 9.165 15.4427 -24.945 5.79592 9.47532 15.5016 -24.95 5.98255 9.79299 15.5768 -24.955 6.17562 10.1181 15.6695 -24.96 6.37533 10.4505 15.781 -24.965 6.58182 10.79 15.9126 -24.97 6.79517 11.1362 16.0655 -24.975 7.01538 11.4884 16.2409 -24.98 7.24239 11.8459 16.4396 -24.985 7.47609 12.2076 16.6628 -24.99 7.7163 12.5726 16.9112 -24.995 7.96277 12.9394 17.1859 -25 8.2152 13.3067 17.4874 -25.005 8.4732 13.6727 17.8166 -25.01 8.73635 14.0357 18.174 -25.015 9.00414 14.3937 18.5603 -25.02 9.27602 14.7445 18.9759 -25.025 9.55135 15.0858 19.4212 -25.03 9.82945 15.4151 19.8967 -25.035 10.1096 15.7297 20.4025 -25.04 10.3909 16.0267 20.939 -25.045 10.6725 16.3032 21.5063 -25.05 10.9536 16.5568 22.1042 -25.055 11.2331 16.7858 22.7311 -25.06 11.5095 16.9858 23.3848 -25.065 11.7812 17.1528 24.063 -25.07 12.0466 17.2828 24.7627 -25.075 12.3041 17.3727 25.4811 -25.08 12.5521 17.4196 26.2149 -25.085 12.789 17.4211 26.9606 -25.09 13.0133 17.3751 27.7144 -25.095 13.2232 17.2804 28.4721 -25.1 13.4173 17.1356 29.2294 -25.105 13.594 16.9403 29.9818 -25.11 13.7516 16.6942 30.7243 -25.115 13.8886 16.3976 31.4517 -25.12 14.0034 16.0512 32.1586 -25.125 14.0944 15.6562 32.8394 -25.13 14.16 15.2138 33.4878 -25.135 14.1997 14.7225 34.0966 -25.14 14.2127 14.1881 34.6616 -25.145 14.1987 13.6181 35.1803 -25.15 14.1573 13.0196 35.6502 -25.155 14.0886 12.3992 36.0695 -25.16 13.9926 11.763 36.4367 -25.165 13.8699 11.1165 36.7505 -25.17 13.721 10.4647 37.0103 -25.175 13.5469 9.81207 37.2158 -25.18 13.3486 9.16273 37.3669 -25.185 13.1274 8.52012 37.4642 -25.19 12.8851 7.88724 37.5086 -25.195 12.6232 7.26656 37.5012 -25.2 12.3439 6.66003 37.4438 -25.205 12.0495 6.06912 37.3383 -25.21 11.7423 5.49475 37.1872 -25.215 11.4238 4.94191 36.9952 -25.22 11.0943 4.4181 36.768 -25.225 10.7562 3.92477 36.5087 -25.23 10.4113 3.46299 36.2205 -25.235 10.0616 3.03343 35.9064 -25.24 9.709 2.63644 35.5696 -25.245 9.35513 2.272 35.213 -25.25 9.00161 1.93972 34.8396 -25.255 8.64991 1.63888 34.4525 -25.26 8.3014 1.36837 34.0545 -25.265 7.95732 1.12675 33.6485 -25.27 7.61883 0.912212 33.2374 -25.275 7.28694 0.722586 32.824 -25.28 6.96258 0.555428 32.4109 -25.285 6.6466 0.409887 31.998 -25.29 6.33953 0.284914 31.5856 -25.295 6.04183 0.178974 31.1744 -25.3 5.75384 0.0905841 30.7655 -25.305 5.47589 0.0183107 30.3594 -25.31 5.20824 -0.039228 29.9568 -25.315 4.95106 -0.0833632 29.5583 -25.32 4.70451 -0.115375 29.1643 -25.325 4.46865 -0.136493 28.7751 -25.33 4.2435 -0.147896 28.391 -25.335 4.02903 -0.15071 28.0121 -25.34 3.82512 -0.146013 27.6384 -25.345 3.63163 -0.134831 27.2699 -25.35 3.44832 -0.118061 26.9065 -25.355 3.27488 -0.096208 26.5484 -25.36 3.11104 -0.069871 26.1955 -25.365 2.95655 -0.0396282 25.8478 -25.37 2.81113 -0.00601193 25.5051 -25.375 2.6745 0.0304916 25.1674 -25.38 2.5464 0.0694422 24.8347 -25.385 2.42652 0.110446 24.5068 -25.39 2.31458 0.153155 24.1837 -25.395 2.21027 0.197268 23.8653 -25.4 2.11329 0.242529 23.5515 -25.405 2.02332 0.288729 23.2423 -25.41 1.94004 0.335705 22.9375 -25.415 1.86313 0.38334 22.6371 -25.42 1.79226 0.431562 22.341 -25.425 1.72708 0.48034 22.0491 -25.43 1.6673 0.529609 21.7613 -25.435 1.61274 0.579295 21.4776 -25.44 1.56323 0.629344 21.1978 -25.445 1.51858 0.67972 20.9221 -25.45 1.47864 0.730406 20.6502 -25.455 1.44321 0.781406 20.3822 -25.46 1.41211 0.832741 20.118 -25.465 1.38518 0.88445 19.8575 -25.47 1.36222 0.936594 19.6008 -25.475 1.34305 0.989249 19.3477 -25.48 1.32748 1.04251 19.0982 -25.485 1.31533 1.0965 18.8523 -25.49 1.3064 1.15135 18.61 -25.495 1.3005 1.20721 18.3712 -25.5 1.29744 1.26426 18.1358 -25.505 1.29718 1.32257 17.904 -25.51 1.29973 1.38221 17.6756 -25.515 1.30505 1.44325 17.4506 -25.52 1.31313 1.50579 17.2291 -25.525 1.32392 1.56996 17.011 -25.53 1.33741 1.63586 16.7963 -25.535 1.35355 1.70363 16.585 -25.54 1.37234 1.77342 16.3771 -25.545 1.39374 1.84538 16.1726 -25.55 1.41773 1.91967 15.9715 -25.555 1.44429 1.99648 15.7739 -25.56 1.4734 2.07599 15.5797 -25.565 1.50503 2.1584 15.389 -25.57 1.53918 2.24391 15.2018 -25.575 1.57583 2.33276 15.0182 -25.58 1.61499 2.42514 14.8382 -25.585 1.6568 2.5212 14.6618 -25.59 1.70133 2.62111 14.4891 -25.595 1.74864 2.72507 14.3202 -25.6 1.79882 2.83331 14.155 -25.605 1.85194 2.94602 13.9938 -25.61 1.9081 3.06345 13.8365 -25.615 1.96739 3.18583 13.6832 -25.62 2.0299 3.3134 13.5342 -25.625 2.09576 3.44643 13.3895 -25.63 2.16506 3.58519 13.2493 -25.635 2.23792 3.72994 13.1137 -25.64 2.31446 3.88098 12.983 -25.645 2.39481 4.03861 12.8573 -25.65 2.47911 4.20314 12.7368 -25.655 2.5675 4.37487 12.6219 -25.66 2.66011 4.55415 12.5127 -25.665 2.7571 4.74129 12.4095 -25.67 2.85865 4.93616 12.3128 -25.675 2.96504 5.13815 12.2232 -25.68 3.07646 5.34808 12.1409 -25.685 3.19312 5.56676 12.0662 -25.69 3.31522 5.79492 11.9993 -25.695 3.44297 6.03321 11.9407 -25.7 3.57657 6.28221 11.8907 -25.705 3.71622 6.54243 11.8499 -25.71 3.86212 6.81431 11.819 -25.715 4.01448 7.09821 11.7985 -25.72 4.1735 7.3944 11.7893 -25.725 4.33939 7.70311 11.7921 -25.73 4.51234 8.02447 11.8078 -25.735 4.69256 8.35853 11.8375 -25.74 4.88026 8.7053 11.8821 -25.745 5.07564 9.06469 11.9427 -25.75 5.2789 9.43654 12.0205 -25.755 5.49024 9.8206 12.1169 -25.76 5.70988 10.2166 12.233 -25.765 5.93802 10.6241 12.3703 -25.77 6.17485 11.0427 12.5304 -25.775 6.42059 11.4719 12.7146 -25.78 6.67544 11.911 12.9247 -25.785 6.9396 12.3593 13.1624 -25.79 7.21328 12.8162 13.4293 -25.795 7.49669 13.2808 13.7274 -25.8 7.78998 13.7521 14.0585 -25.805 8.09195 14.2291 14.4223 -25.81 8.40208 14.7094 14.8207 -25.815 8.72032 15.1905 15.2567 -25.82 9.04645 15.6696 15.7328 -25.825 9.38008 16.1436 16.2509 -25.83 9.72063 16.6091 16.8125 -25.835 10.0673 17.0627 17.4186 -25.84 10.4193 17.5005 18.0698 -25.845 10.7753 17.9185 18.766 -25.85 11.1341 18.3122 19.5068 -25.855 11.4943 18.6772 20.2913 -25.86 11.8541 19.0086 21.118 -25.865 12.2117 19.3014 21.9849 -25.87 12.565 19.5503 22.8898 -25.875 12.912 19.7497 23.8297 -25.88 13.2501 19.8938 24.8011 -25.885 13.5768 19.9765 25.8004 -25.89 13.8901 19.9921 26.824 -25.895 14.1884 19.937 27.8666 -25.9 14.4681 19.8085 28.9177 -25.905 14.7258 19.6047 29.9671 -25.91 14.9587 19.3247 31.0054 -25.915 15.1639 18.9685 32.0234 -25.92 15.3391 18.5367 33.0126 -25.925 15.4821 18.0311 33.9648 -25.93 15.5911 17.4542 34.8724 -25.935 15.6647 16.8095 35.7283 -25.94 15.7015 16.1012 36.5259 -25.945 15.7006 15.3346 37.2591 -25.95 15.6615 14.5156 37.9222 -25.955 15.5838 13.6513 38.5101 -25.96 15.4673 12.7497 39.0175 -25.965 15.3115 11.8228 39.4374 -25.97 15.1178 10.882 39.7699 -25.975 14.8878 9.93713 40.0171 -25.98 14.6234 8.99738 40.1815 -25.985 14.3269 8.07102 40.2661 -25.99 14.0003 7.16552 40.2742 -25.995 13.6463 6.28749 40.2098 -26 13.2672 5.44269 40.0772 -26.005 12.866 4.63607 39.8811 -26.01 12.4455 3.87173 39.6267 -26.015 12.0088 3.1529 39.3198 -26.02 11.5591 2.48203 38.9664 -26.025 11.0999 1.86067 38.5733 -26.03 10.6347 1.28956 38.1473 -26.035 10.1659 0.768152 37.6955 -26.04 9.69571 0.295231 37.2231 -26.045 9.22655 -0.130607 36.7344 -26.05 8.76064 -0.511042 36.2336 -26.055 8.3 -0.848029 35.7244 -26.06 7.84642 -1.1438 35.2101 -26.065 7.40151 -1.40086 34.6939 -26.07 6.96665 -1.62199 34.1785 -26.075 6.54301 -1.81025 33.6662 -26.08 6.13159 -1.96897 33.159 -26.085 5.73313 -2.10175 32.6586 -26.09 5.34821 -2.21241 32.1663 -26.095 4.97731 -2.30251 31.6825 -26.1 4.62065 -2.37359 31.2074 -26.105 4.27831 -2.42785 30.7411 -26.11 3.9503 -2.46735 30.2839 -26.115 3.6366 -2.49401 29.8359 -26.12 3.33708 -2.50963 29.3973 -26.125 3.05159 -2.51586 28.968 -26.13 2.77991 -2.51422 28.5478 -26.135 2.52174 -2.5061 28.1367 -26.14 2.27674 -2.49277 27.7344 -26.145 2.0445 -2.47534 27.3406 -26.15 1.82455 -2.4548 26.9549 -26.155 1.6162 -2.43209 26.577 -26.16 1.41892 -2.40794 26.2067 -26.165 1.23232 -2.38298 25.8438 -26.17 1.05598 -2.35779 25.4879 -26.175 0.889472 -2.33289 25.1389 -26.18 0.732361 -2.30878 24.7966 -26.185 0.584198 -2.2859 24.4606 -26.19 0.444522 -2.26464 24.1307 -26.195 0.312864 -2.24538 23.8069 -26.2 0.188742 -2.22842 23.4888 -26.205 0.0716631 -2.21403 23.1763 -26.21 -0.0388759 -2.20245 22.8692 -26.215 -0.143389 -2.19384 22.5674 -26.22 -0.242403 -2.18835 22.2707 -26.225 -0.336453 -2.18607 21.979 -26.23 -0.426086 -2.18706 21.6921 -26.235 -0.511861 -2.19132 21.4099 -26.24 -0.594147 -2.19887 21.1323 -26.245 -0.673117 -2.20983 20.8593 -26.25 -0.748987 -2.22431 20.5907 -26.255 -0.82198 -2.24242 20.3266 -26.26 -0.892332 -2.26427 20.0669 -26.265 -0.960288 -2.28994 19.8115 -26.27 -1.0261 -2.31952 19.5605 -26.275 -1.09004 -2.35307 19.3138 -26.28 -1.15238 -2.39065 19.0713 -26.285 -1.2134 -2.4323 18.8331 -26.29 -1.2734 -2.47807 18.599 -26.295 -1.33268 -2.52797 18.3692 -26.3 -1.39155 -2.58202 18.1434 -26.305 -1.45035 -2.64023 17.9217 -26.31 -1.50941 -2.70259 17.7042 -26.315 -1.56906 -2.76909 17.4906 -26.32 -1.6294 -2.83988 17.2812 -26.325 -1.69046 -2.91517 17.0761 -26.33 -1.75237 -2.99512 16.8751 -26.335 -1.81528 -3.07985 16.6785 -26.34 -1.87935 -3.16954 16.4862 -26.345 -1.94472 -3.26432 16.2984 -26.35 -2.01157 -3.36434 16.1151 -26.355 -2.08008 -3.46977 15.9364 -26.36 -2.15044 -3.58075 15.7623 -26.365 -2.22284 -3.69743 15.5931 -26.37 -2.29749 -3.81998 15.4288 -26.375 -2.37459 -3.94856 15.2696 -26.38 -2.45438 -4.08331 15.1156 -26.385 -2.53707 -4.22441 14.967 -26.39 -2.62292 -4.372 14.8238 -26.395 -2.7121 -4.52623 14.6865 -26.4 -2.80475 -4.68737 14.5551 -26.405 -2.901 -4.85575 14.43 -26.41 -3.00099 -5.03171 14.3113 -26.415 -3.10489 -5.21553 14.1994 -26.42 -3.21285 -5.4075 14.0946 -26.425 -3.32505 -5.6079 13.9972 -26.43 -3.44167 -5.81697 13.9077 -26.435 -3.56291 -6.03496 13.8264 -26.44 -3.68896 -6.26209 13.7539 -26.445 -3.82005 -6.49857 13.6906 -26.45 -3.95639 -6.74458 13.6371 -26.455 -4.09822 -7.00031 13.594 -26.46 -4.24578 -7.26591 13.5618 -26.465 -4.39932 -7.54154 13.5413 -26.47 -4.5591 -7.82731 13.533 -26.475 -4.7254 -8.12334 13.5378 -26.48 -4.89849 -8.42973 13.5563 -26.485 -5.07818 -8.74563 13.589 -26.49 -5.26449 -9.07096 13.6369 -26.495 -5.45779 -9.4063 13.7011 -26.5 -5.65839 -9.75205 13.783 -26.505 -5.86655 -10.1084 13.884 -26.51 -6.08245 -10.4753 14.0053 -26.515 -6.30623 -10.8524 14.1482 -26.52 -6.53799 -11.2395 14.314 -26.525 -6.77774 -11.6358 14.5039 -26.53 -7.02544 -12.0404 14.7191 -26.535 -7.28102 -12.4523 14.9608 -26.54 -7.54431 -12.8702 15.2303 -26.545 -7.81513 -13.2926 15.5287 -26.55 -8.0932 -13.7179 15.8573 -26.555 -8.37821 -14.144 16.2171 -26.56 -8.66978 -14.5691 16.6094 -26.565 -8.96748 -14.9906 17.0352 -26.57 -9.27082 -15.4061 17.4956 -26.575 -9.57925 -15.8129 17.9918 -26.58 -9.89218 -16.208 18.5249 -26.585 -10.2089 -16.5883 19.096 -26.59 -10.5288 -16.9504 19.706 -26.595 -10.8506 -17.2927 20.3541 -26.6 -11.1729 -17.6112 21.0388 -26.605 -11.4942 -17.9001 21.7592 -26.61 -11.8128 -18.1544 22.5137 -26.615 -12.127 -18.3692 23.3001 -26.62 -12.4352 -18.5402 24.1157 -26.625 -12.7355 -18.6634 24.9574 -26.63 -13.026 -18.7352 25.8214 -26.635 -13.3048 -18.7525 26.7035 -26.64 -13.5697 -18.7127 27.5987 -26.645 -13.8187 -18.6134 28.5018 -26.65 -14.0495 -18.4526 29.4067 -26.655 -14.26 -18.2289 30.3071 -26.66 -14.4477 -17.9413 31.1959 -26.665 -14.6102 -17.589 32.0656 -26.67 -14.7458 -17.169 32.9084 -26.675 -14.8535 -16.6809 33.7167 -26.68 -14.9314 -16.1329 34.4837 -26.685 -14.978 -15.5332 35.2031 -26.69 -14.9922 -14.8894 35.8695 -26.695 -14.9732 -14.2085 36.4782 -26.7 -14.9206 -13.4974 37.0254 -26.705 -14.8344 -12.7621 37.5078 -26.71 -14.7149 -12.0086 37.9232 -26.715 -14.5629 -11.242 38.2697 -26.72 -14.3795 -10.4672 38.5466 -26.725 -14.1661 -9.68871 38.7538 -26.73 -13.9247 -8.91038 38.892 -26.735 -13.6573 -8.13571 38.9624 -26.74 -13.3666 -7.36772 38.9674 -26.745 -13.0549 -6.61122 38.9102 -26.75 -12.7222 -5.88028 38.7958 -26.755 -12.3706 -5.18024 38.6283 -26.76 -12.0031 -4.51441 38.412 -26.765 -11.6221 -3.88545 38.1508 -26.77 -11.2302 -3.29546 37.8493 -26.775 -10.8298 -2.74588 37.5117 -26.78 -10.4233 -2.23756 37.1426 -26.785 -10.0128 -1.77074 36.7466 -26.79 -9.60044 -1.34504 36.3285 -26.795 -9.18828 -0.959461 35.8932 -26.8 -8.77822 -0.612409 35.4457 -26.805 -8.37207 -0.301661 34.991 -26.81 -7.97154 -0.0246486 34.5335 -26.815 -7.57801 0.220037 34.0725 -26.82 -7.19257 0.434328 33.6095 -26.825 -6.81614 0.620291 33.1461 -26.83 -6.44956 0.779974 32.6839 -26.835 -6.09358 0.915396 32.2244 -26.84 -5.7488 1.02856 31.7687 -26.845 -5.41574 1.12144 31.3178 -26.85 -5.0948 1.19599 30.8725 -26.855 -4.78627 1.25415 30.4334 -26.86 -4.49035 1.29782 30.001 -26.865 -4.2071 1.32889 29.5755 -26.87 -3.9365 1.34922 29.1569 -26.875 -3.67841 1.3605 28.7451 -26.88 -3.43262 1.36348 28.3404 -26.885 -3.19887 1.35918 27.9428 -26.89 -2.97686 1.34864 27.552 -26.895 -2.76628 1.33281 27.1679 -26.9 -2.5668 1.31258 26.7905 -26.905 -2.37809 1.28877 26.4196 -26.91 -2.19981 1.26211 26.0551 -26.915 -2.03158 1.2333 25.6968 -26.92 -1.87302 1.20291 25.3445 -26.925 -1.72374 1.17149 24.9982 -26.93 -1.58334 1.1395 24.6576 -26.935 -1.45139 1.10731 24.3225 -26.94 -1.32745 1.07524 23.9929 -26.945 -1.21108 1.04353 23.6684 -26.95 -1.10181 1.01243 23.349 -26.955 -0.999273 0.982166 23.0345 -26.96 -0.903155 0.952924 22.7248 -26.965 -0.813128 0.924873 22.4198 -26.97 -0.728872 0.898155 22.1194 -26.975 -0.650062 0.872893 21.8234 -26.98 -0.576376 0.849183 21.5318 -26.985 -0.50749 0.827103 21.2444 -26.99 -0.44308 0.806704 20.9611 -26.995 -0.382824 0.788017 20.6819 -27 -0.326398 0.771049 20.4067 -27.005 -0.273477 0.755785 20.1353 -27.01 -0.223737 0.742187 19.8677 -27.015 -0.176895 0.730225 19.6038 -27.02 -0.132788 0.719939 19.3436 -27.025 -0.0912508 0.711351 19.087 -27.03 -0.052116 0.704475 18.8339 -27.035 -0.0152143 0.699319 18.5843 -27.04 0.0196241 0.695884 18.3382 -27.045 0.05257 0.694165 18.0954 -27.05 0.083795 0.694152 17.856 -27.055 0.113472 0.695827 17.6199 -27.06 0.141773 0.699167 17.387 -27.065 0.168874 0.704142 17.1573 -27.07 0.19495 0.710716 16.9307 -27.075 0.220176 0.718847 16.7072 -27.08 0.244719 0.728496 16.4868 -27.085 0.268656 0.739694 16.2694 -27.09 0.29205 0.752478 16.0549 -27.095 0.314979 0.766875 15.8434 -27.1 0.33752 0.782915 15.6348 -27.105 0.359755 0.800623 15.4291 -27.11 0.381768 0.820028 15.2262 -27.115 0.403647 0.841157 15.0262 -27.12 0.425483 0.864035 14.8289 -27.125 0.447369 0.888689 14.6344 -27.13 0.469402 0.915144 14.4427 -27.135 0.491683 0.943426 14.2536 -27.14 0.514313 0.973559 14.0672 -27.145 0.5374 1.00557 13.8835 -27.15 0.561049 1.03948 13.7024 -27.155 0.585324 1.07537 13.5239 -27.16 0.610262 1.11334 13.3481 -27.165 0.635911 1.15348 13.1748 -27.17 0.662322 1.19588 13.0041 -27.175 0.689554 1.24065 12.8359 -27.18 0.71767 1.28787 12.6703 -27.185 0.746742 1.33767 12.5073 -27.19 0.776843 1.39015 12.3468 -27.195 0.808057 1.44542 12.1888 -27.2 0.84047 1.50359 12.0334 -27.205 0.874177 1.5648 11.8805 -27.21 0.909275 1.62916 11.7303 -27.215 0.945872 1.6968 11.5826 -27.22 0.984078 1.76785 11.4375 -27.225 1.02401 1.84244 11.295 -27.23 1.06579 1.92071 11.1552 -27.235 1.10955 2.00282 11.0181 -27.24 1.15537 2.089 10.8837 -27.245 1.20332 2.17945 10.7522 -27.25 1.25348 2.27441 10.6234 -27.255 1.30595 2.37412 10.4975 -27.26 1.36082 2.47884 10.3746 -27.265 1.41822 2.58882 10.2546 -27.27 1.47826 2.70433 10.1377 -27.275 1.54109 2.82565 10.0241 -27.28 1.60686 2.95305 9.91377 -27.285 1.67571 3.08684 9.80695 -27.29 1.74783 3.22731 9.70377 -27.295 1.82338 3.37478 9.60442 -27.3 1.90258 3.52955 9.50909 -27.305 1.98561 3.69197 9.41799 -27.31 2.0727 3.86237 9.33134 -27.315 2.16406 4.04108 9.24938 -27.32 2.25995 4.22847 9.17238 -27.325 2.36059 4.4249 9.10061 -27.33 2.46626 4.63068 9.0344 -27.335 2.57713 4.84559 8.97457 -27.34 2.69344 5.07019 8.92149 -27.345 2.81543 5.30533 8.87535 -27.35 2.94336 5.55178 8.83646 -27.355 3.0775 5.81025 8.80524 -27.36 3.21812 6.0814 8.78219 -27.365 3.36549 6.36582 8.76792 -27.37 3.5199 6.66405 8.76312 -27.375 3.68164 6.97654 8.7686 -27.38 3.85099 7.30372 8.78525 -27.385 4.02827 7.64593 8.81409 -27.39 4.21377 8.00346 8.85619 -27.395 4.40782 8.37653 8.91277 -27.4 4.61072 8.7653 8.98511 -27.405 4.8228 9.16989 9.0746 -27.41 5.04439 9.59033 9.18275 -27.415 5.27583 10.0266 9.31113 -27.42 5.51746 10.4786 9.46143 -27.425 5.76962 10.9463 9.63545 -27.43 6.03268 11.4293 9.83506 -27.435 6.30699 11.9275 10.0623 -27.44 6.59291 12.4406 10.3191 -27.445 6.89078 12.968 10.6077 -27.45 7.19975 13.5081 10.9288 -27.455 7.51979 14.0598 11.285 -27.46 7.85128 14.6217 11.6803 -27.465 8.19438 15.1922 12.1178 -27.47 8.54909 15.7691 12.6006 -27.475 8.91516 16.3495 13.1314 -27.48 9.29214 16.9303 13.7123 -27.485 9.67939 17.5077 14.3453 -27.49 10.076 18.0774 15.032 -27.495 10.481 18.6346 15.7735 -27.5 10.8931 19.174 16.5706 -27.505 11.3108 19.6896 17.4239 -27.51 11.7323 20.1753 18.3334 -27.515 12.1559 20.6241 19.299 -27.52 12.5794 21.0287 20.3199 -27.525 13.0005 21.3811 21.3952 -27.53 13.4167 21.6731 22.5236 -27.535 13.8261 21.8997 23.7029 -27.54 14.2253 22.0527 24.9249 -27.545 14.6103 22.1231 26.1801 -27.55 14.9771 22.1034 27.4587 -27.555 15.322 21.9876 28.7505 -27.56 15.6414 21.7712 30.0452 -27.565 15.9317 21.4515 31.3321 -27.57 16.1897 21.0272 32.6003 -27.575 16.4121 20.4987 33.8386 -27.58 16.5958 19.8677 35.0356 -27.585 16.7379 19.1377 36.1796 -27.59 16.8356 18.3137 37.2585 -27.595 16.8861 17.4024 38.2602 -27.6 16.8873 16.4102 39.1704 -27.605 16.838 15.3452 39.9739 -27.61 16.7385 14.2259 40.6685 -27.615 16.589 13.0701 41.2537 -27.62 16.3906 11.8939 41.7296 -27.625 16.1445 10.712 42.0972 -27.63 15.8527 9.53714 42.3582 -27.635 15.5175 8.38073 42.515 -27.64 15.1417 7.25237 42.5708 -27.645 14.7288 6.16005 42.5296 -27.65 14.2824 5.11016 42.396 -27.655 13.807 4.10742 42.1755 -27.66 13.3072 3.15493 41.8742 -27.665 12.7882 2.25416 41.4991 -27.67 12.2534 1.41302 41.0638 -27.675 11.7051 0.639108 40.5818 -27.68 11.1475 -0.0672136 40.0612 -27.685 10.5845 -0.706385 39.5098 -27.69 10.0196 -1.27967 38.9346 -27.695 9.45588 -1.78912 38.3425 -27.7 8.89638 -2.23765 37.7395 -27.705 8.34367 -2.62894 37.1314 -27.71 7.80007 -2.9675 36.5235 -27.715 7.26758 -3.25867 35.9205 -27.72 6.74793 -3.50823 35.3264 -27.725 6.24257 -3.71867 34.7421 -27.73 5.75252 -3.8933 34.1688 -27.735 5.27858 -4.03593 33.6077 -27.74 4.8214 -4.15016 33.0598 -27.745 4.38147 -4.23938 32.5259 -27.75 3.95913 -4.3068 32.0064 -27.755 3.55456 -4.35539 31.5017 -27.76 3.16779 -4.38794 31.0117 -27.765 2.79871 -4.40704 30.5362 -27.77 2.44704 -4.41507 30.0745 -27.775 2.11237 -4.41426 29.6263 -27.78 1.79422 -4.40645 29.1914 -27.785 1.49207 -4.39306 28.7691 -27.79 1.20536 -4.37538 28.3589 -27.795 0.933511 -4.35464 27.9602 -27.8 0.675945 -4.33196 27.5725 -27.805 0.432063 -4.30839 27.1953 -27.81 0.201251 -4.28488 26.8281 -27.815 -0.0171174 -4.26229 26.4705 -27.82 -0.223684 -4.24139 26.1222 -27.825 -0.419105 -4.22287 25.7826 -27.83 -0.604051 -4.20732 25.4515 -27.835 -0.779205 -4.19526 25.1285 -27.84 -0.945267 -4.18711 24.8134 -27.845 -1.10295 -4.18319 24.5058 -27.85 -1.25298 -4.18374 24.2057 -27.855 -1.39611 -4.18893 23.9126 -27.86 -1.53291 -4.19887 23.6262 -27.865 -1.66381 -4.21377 23.3465 -27.87 -1.78923 -4.23381 23.0733 -27.875 -1.9096 -4.25915 22.8066 -27.88 -2.02534 -4.28993 22.5462 -27.885 -2.1369 -4.32628 22.2921 -27.89 -2.24471 -4.36831 22.0443 -27.895 -2.34924 -4.41609 21.8026 -27.9 -2.45094 -4.46972 21.5671 -27.905 -2.55026 -4.52924 21.3377 -27.91 -2.64769 -4.59468 21.1144 -27.915 -2.74369 -4.66607 20.8971 -27.92 -2.83875 -4.7434 20.6858 -27.925 -2.93336 -4.82665 20.4806 -27.93 -3.02791 -4.91582 20.2814 -27.935 -3.12253 -5.01102 20.0885 -27.94 -3.21744 -5.11236 19.9021 -27.945 -3.31284 -5.21997 19.7221 -27.95 -3.40897 -5.33394 19.5489 -27.955 -3.50604 -5.45435 19.3825 -27.96 -3.6043 -5.58129 19.2232 -27.965 -3.70399 -5.71482 19.0712 -27.97 -3.80536 -5.855 18.9265 -27.975 -3.90865 -6.00187 18.7895 -27.98 -4.01413 -6.15545 18.6605 -27.985 -4.12205 -6.31578 18.5395 -27.99 -4.2327 -6.48286 18.4269 -27.995 -4.34633 -6.65669 18.323 -28 -4.46323 -6.83726 18.228 -28.005 -4.58363 -7.02449 18.1423 -28.01 -4.70759 -7.21834 18.0661 -28.015 -4.83523 -7.419 18 -28.02 -4.96669 -7.62656 17.9444 -28.025 -5.10207 -7.84111 17.8998 -28.03 -5.24149 -8.06263 17.8668 -28.035 -5.38504 -8.29107 17.8459 -28.04 -5.53282 -8.52634 17.8375 -28.045 -5.68493 -8.76826 17.8422 -28.05 -5.84145 -9.01662 17.8606 -28.055 -6.00245 -9.27114 17.8933 -28.06 -6.168 -9.53149 17.9408 -28.065 -6.33816 -9.79729 18.0036 -28.07 -6.513 -10.0681 18.0825 -28.075 -6.69256 -10.3434 18.178 -28.08 -6.87688 -10.6226 18.2907 -28.085 -7.06601 -10.9052 18.4214 -28.09 -7.25997 -11.1905 18.5705 -28.095 -7.45858 -11.478 18.7384 -28.1 -7.66115 -11.7676 18.9242 -28.105 -7.86759 -12.0581 19.1294 -28.11 -8.07785 -12.3479 19.3552 -28.115 -8.29178 -12.6357 19.6027 -28.12 -8.50917 -12.92 19.8728 -28.125 -8.72974 -13.1991 20.166 -28.13 -8.95313 -13.4716 20.4829 -28.135 -9.17893 -13.7358 20.8237 -28.14 -9.40664 -13.9901 21.1883 -28.145 -9.6357 -14.2328 21.5766 -28.15 -9.86547 -14.4621 21.9881 -28.155 -10.0953 -14.6763 22.4222 -28.16 -10.3243 -14.8737 22.8781 -28.165 -10.5517 -15.0523 23.3547 -28.17 -10.7765 -15.2103 23.8507 -28.175 -10.9979 -15.3457 24.3647 -28.18 -11.2146 -15.4568 24.8949 -28.185 -11.4257 -15.5413 25.4394 -28.19 -11.6299 -15.5975 25.9961 -28.195 -11.8258 -15.623 26.5626 -28.2 -12.0123 -15.616 27.1364 -28.205 -12.1878 -15.5742 27.7148 -28.21 -12.3515 -15.4953 28.2954 -28.215 -12.5033 -15.3782 28.8761 -28.22 -12.6416 -15.224 29.4523 -28.225 -12.7651 -15.0342 30.0196 -28.23 -12.8725 -14.8102 30.5739 -28.235 -12.9628 -14.5533 31.1114 -28.24 -13.035 -14.2653 31.6286 -28.245 -13.0883 -13.9479 32.1223 -28.25 -13.1223 -13.6027 32.5896 -28.255 -13.1365 -13.2316 33.0279 -28.26 -13.1305 -12.8366 33.435 -28.265 -13.1045 -12.4197 33.8088 -28.27 -13.0583 -11.9829 34.1476 -28.275 -12.9923 -11.5284 34.4502 -28.28 -12.9068 -11.0587 34.7155 -28.285 -12.8025 -10.5758 34.9425 -28.29 -12.6801 -10.0824 35.1311 -28.295 -12.5405 -9.58098 35.2808 -28.3 -12.3834 -9.07737 35.3914 -28.305 -12.2092 -8.57733 35.463 -28.31 -12.0192 -8.08367 35.4964 -28.315 -11.8147 -7.599 35.4926 -28.32 -11.5969 -7.1257 35.4529 -28.325 -11.3673 -6.66593 35.3786 -28.33 -11.1271 -6.22164 35.2713 -28.335 -10.8775 -5.79456 35.1327 -28.34 -10.62 -5.38621 34.9647 -28.345 -10.3556 -4.99789 34.7693 -28.35 -10.0857 -4.63066 34.549 -28.355 -9.81161 -4.28538 34.3059 -28.36 -9.53445 -3.96271 34.0429 -28.365 -9.25547 -3.66307 33.7626 -28.37 -8.9759 -3.38665 33.4681 -28.375 -8.69695 -3.13346 33.1623 -28.38 -8.4198 -2.90327 32.8488 -28.385 -8.14564 -2.69489 32.5289 -28.39 -7.87538 -2.50656 32.2018 -28.395 -7.60968 -2.33755 31.8688 -28.4 -7.34918 -2.18716 31.5311 -28.405 -7.09445 -2.0546 31.1897 -28.41 -6.84603 -1.9391 30.8456 -28.415 -6.60437 -1.83982 30.4999 -28.42 -6.36992 -1.75591 30.1534 -28.425 -6.14304 -1.68648 29.8068 -28.43 -5.92405 -1.63059 29.461 -28.435 -5.71322 -1.5873 29.1164 -28.44 -5.51078 -1.5556 28.7738 -28.445 -5.31688 -1.53448 28.4335 -28.45 -5.13166 -1.52288 28.096 -28.455 -4.95517 -1.51971 27.7615 -28.46 -4.78743 -1.52384 27.4304 -28.465 -4.6284 -1.53413 27.1028 -28.47 -4.47788 -1.5505 26.7787 -28.475 -4.33565 -1.57308 26.4582 -28.48 -4.20159 -1.60138 26.1415 -28.485 -4.07554 -1.63496 25.8286 -28.49 -3.95737 -1.67341 25.5195 -28.495 -3.84693 -1.71634 25.2143 -28.5 -3.74407 -1.76341 24.913 -28.505 -3.64861 -1.81431 24.6158 -28.51 -3.56039 -1.86878 24.3227 -28.515 -3.47925 -1.92657 24.0336 -28.52 -3.40501 -1.98748 23.7487 -28.525 -3.33747 -2.05136 23.4679 -28.53 -3.27647 -2.11807 23.1913 -28.535 -3.22179 -2.18752 22.9188 -28.54 -3.17325 -2.25964 22.6506 -28.545 -3.13064 -2.33443 22.3866 -28.55 -3.09374 -2.41188 22.1268 -28.555 -3.0623 -2.49205 21.8712 -28.56 -3.03617 -2.57494 21.62 -28.565 -3.01529 -2.66052 21.373 -28.57 -2.99961 -2.7488 21.1304 -28.575 -2.98907 -2.83979 20.8922 -28.58 -2.98359 -2.93354 20.6583 -28.585 -2.98313 -3.03011 20.4289 -28.59 -2.98759 -3.12955 20.204 -28.595 -2.99692 -3.23199 19.9837 -28.6 -3.01104 -3.33751 19.768 -28.605 -3.02987 -3.44627 19.557 -28.61 -3.05333 -3.5584 19.3509 -28.615 -3.08134 -3.67408 19.1496 -28.62 -3.11381 -3.79349 18.9534 -28.625 -3.15065 -3.91684 18.7623 -28.63 -3.19179 -4.04437 18.5765 -28.635 -3.23711 -4.1763 18.396 -28.64 -3.28653 -4.31291 18.2211 -28.645 -3.34003 -4.45437 18.052 -28.65 -3.39784 -4.60067 17.8887 -28.655 -3.46004 -4.752 17.7315 -28.66 -3.5267 -4.90857 17.5806 -28.665 -3.59787 -5.07058 17.4361 -28.67 -3.67364 -5.23821 17.2983 -28.675 -3.75407 -5.41167 17.1674 -28.68 -3.83923 -5.59112 17.0437 -28.685 -3.9292 -5.77674 16.9276 -28.69 -4.02404 -5.96872 16.8193 -28.695 -4.12383 -6.16721 16.7192 -28.7 -4.22864 -6.37238 16.6277 -28.705 -4.33854 -6.58438 16.5452 -28.71 -4.45362 -6.80335 16.4721 -28.715 -4.57395 -7.02946 16.4089 -28.72 -4.6996 -7.26283 16.3561 -28.725 -4.83065 -7.50361 16.3142 -28.73 -4.96718 -7.75191 16.2837 -28.735 -5.10923 -8.00775 16.2651 -28.74 -5.25649 -8.26998 16.2583 -28.745 -5.40915 -8.53871 16.2641 -28.75 -5.56748 -8.81437 16.2835 -28.755 -5.73174 -9.09725 16.3175 -28.76 -5.90213 -9.38751 16.3672 -28.765 -6.07878 -9.68516 16.4334 -28.77 -6.26182 -9.99007 16.517 -28.775 -6.45128 -10.302 16.6191 -28.78 -6.64719 -10.6204 16.7404 -28.785 -6.8495 -10.945 16.8817 -28.79 -7.05814 -11.2748 17.0438 -28.795 -7.27297 -11.6092 17.2276 -28.8 -7.49382 -11.9471 17.4336 -28.805 -7.72047 -12.2874 17.6627 -28.81 -7.95264 -12.6289 17.9154 -28.815 -8.19002 -12.9702 18.1923 -28.82 -8.43225 -13.3098 18.4942 -28.825 -8.67892 -13.6459 18.8215 -28.83 -8.92957 -13.9768 19.1747 -28.835 -9.1837 -14.3006 19.5544 -28.84 -9.44076 -14.615 19.961 -28.845 -9.70016 -14.918 20.395 -28.85 -9.96125 -15.2071 20.8567 -28.855 -10.2233 -15.4798 21.3465 -28.86 -10.4857 -15.7334 21.8647 -28.865 -10.7476 -15.9661 22.4112 -28.87 -11.0079 -16.1765 22.9836 -28.875 -11.2651 -16.3609 23.5801 -28.88 -11.518 -16.5157 24.1984 -28.885 -11.765 -16.6378 24.836 -28.89 -12.0048 -16.7242 25.4905 -28.895 -12.2359 -16.7726 26.159 -28.9 -12.4569 -16.7808 26.8384 -28.905 -12.6665 -16.7471 27.5253 -28.91 -12.8631 -16.6701 28.2163 -28.915 -13.0455 -16.5489 28.9076 -28.92 -13.2123 -16.383 29.5953 -28.925 -13.362 -16.172 30.2752 -28.93 -13.4934 -15.9162 30.9428 -28.935 -13.6049 -15.616 31.5934 -28.94 -13.6953 -15.2723 32.2223 -28.945 -13.7632 -14.8865 32.8243 -28.95 -13.8077 -14.4577 33.3933 -28.955 -13.8284 -13.9886 33.9248 -28.96 -13.8247 -13.4856 34.4161 -28.965 -13.7965 -12.9547 34.8651 -28.97 -13.7436 -12.4017 35.2698 -28.975 -13.6659 -11.8319 35.6286 -28.98 -13.564 -11.2502 35.9403 -28.985 -13.4381 -10.6609 36.2041 -28.99 -13.289 -10.0683 36.4194 -28.995 -13.1176 -9.47606 36.5861 -29 -12.9249 -8.88743 36.7043 -29.005 -12.7122 -8.30534 36.7744 -29.01 -12.481 -7.7323 36.7975 -29.015 -12.2329 -7.17041 36.7746 -29.02 -11.9698 -6.62138 36.7074 -29.025 -11.6937 -6.08654 36.5977 -29.03 -11.4069 -5.5671 36.448 -29.035 -11.1095 -5.06988 36.2633 -29.04 -10.803 -4.59851 36.0473 -29.045 -10.489 -4.15421 35.8026 -29.05 -10.1695 -3.73785 35.532 -29.055 -9.84612 -3.35006 35.2379 -29.06 -9.52043 -2.9911 34.9232 -29.065 -9.19392 -2.661 34.5902 -29.07 -8.868 -2.35943 34.2416 -29.075 -8.54396 -2.08581 33.88 -29.08 -8.22301 -1.83921 33.508 -29.085 -7.90625 -1.61844 33.128 -29.09 -7.59469 -1.422 32.7426 -29.095 -7.28924 -1.24807 32.3544 -29.1 -6.99072 -1.09455 31.9658 -29.105 -6.69989 -0.960261 31.5774 -29.11 -6.4173 -0.844676 31.1887 -29.115 -6.14332 -0.746494 30.8005 -29.12 -5.87828 -0.664451 30.4136 -29.125 -5.62244 -0.597326 30.0287 -29.13 -5.37604 -0.543938 29.6464 -29.135 -5.13926 -0.503148 29.2673 -29.14 -4.91224 -0.473858 28.8917 -29.145 -4.69506 -0.455012 28.52 -29.15 -4.48775 -0.445596 28.1525 -29.155 -4.29031 -0.444635 27.7894 -29.16 -4.10268 -0.451198 27.4309 -29.165 -3.92475 -0.464394 27.0769 -29.17 -3.75637 -0.483374 26.7275 -29.175 -3.5973 -0.507449 26.3825 -29.18 -3.44723 -0.536274 26.0423 -29.185 -3.30595 -0.569361 25.7067 -29.19 -3.17322 -0.606247 25.3757 -29.195 -3.04884 -0.646507 25.0492 -29.2 -2.93255 -0.689755 24.7274 -29.205 -2.82414 -0.735647 24.41 -29.21 -2.72334 -0.783876 24.0971 -29.215 -2.62993 -0.834176 23.7886 -29.22 -2.54364 -0.886319 23.4846 -29.225 -2.46423 -0.940117 23.1848 -29.23 -2.39142 -0.995423 22.8894 -29.235 -2.32495 -1.05213 22.5982 -29.24 -2.26455 -1.11016 22.3112 -29.245 -2.20994 -1.16949 22.0283 -29.25 -2.16085 -1.23013 21.7496 -29.255 -2.11697 -1.29212 21.4749 -29.26 -2.07808 -1.35546 21.2043 -29.265 -2.04408 -1.42012 20.9376 -29.27 -2.01484 -1.4861 20.675 -29.275 -1.99027 -1.5534 20.4163 -29.28 -1.97026 -1.62205 20.1615 -29.285 -1.95469 -1.69209 19.9106 -29.29 -1.94345 -1.7636 19.6637 -29.295 -1.93643 -1.83666 19.4206 -29.3 -1.9335 -1.91136 19.1814 -29.305 -1.93455 -1.98784 18.9461 -29.31 -1.93946 -2.06623 18.7147 -29.315 -1.9481 -2.14669 18.4872 -29.32 -1.96034 -2.2294 18.2636 -29.325 -1.97605 -2.31455 18.0439 -29.33 -1.99512 -2.40236 17.8282 -29.335 -2.01739 -2.49306 17.6165 -29.34 -2.04285 -2.58684 17.4088 -29.345 -2.07164 -2.68373 17.2052 -29.35 -2.10378 -2.78391 17.0057 -29.355 -2.1393 -2.88752 16.8104 -29.36 -2.17824 -2.99476 16.6193 -29.365 -2.22062 -3.10581 16.4325 -29.37 -2.2665 -3.22086 16.2501 -29.375 -2.31591 -3.34012 16.0722 -29.38 -2.36889 -3.46381 15.8989 -29.385 -2.4255 -3.59216 15.7302 -29.39 -2.48578 -3.7254 15.5665 -29.395 -2.5498 -3.86379 15.4077 -29.4 -2.61761 -4.00759 15.2541 -29.405 -2.68928 -4.15706 15.1058 -29.41 -2.76486 -4.31249 14.9631 -29.415 -2.84443 -4.47417 14.8261 -29.42 -2.92806 -4.64238 14.6951 -29.425 -3.01593 -4.81712 14.5704 -29.43 -3.10819 -4.99864 14.4523 -29.435 -3.20502 -5.18734 14.341 -29.44 -3.30655 -5.3836 14.2368 -29.445 -3.41293 -5.58779 14.14 -29.45 -3.52433 -5.80022 14.0509 -29.455 -3.64089 -6.0212 13.97 -29.46 -3.76278 -6.251 13.8977 -29.465 -3.89016 -6.48986 13.8346 -29.47 -4.02319 -6.738 13.781 -29.475 -4.16203 -6.99563 13.7378 -29.48 -4.30685 -7.26289 13.7054 -29.485 -4.45783 -7.53993 13.6846 -29.49 -4.61512 -7.82687 13.6761 -29.495 -4.77891 -8.12378 13.6807 -29.5 -4.94937 -8.43072 13.6992 -29.505 -5.12667 -8.74773 13.7324 -29.51 -5.311 -9.07481 13.7814 -29.515 -5.50254 -9.41192 13.847 -29.52 -5.70147 -9.75904 13.9303 -29.525 -5.90797 -10.1161 14.0323 -29.53 -6.12204 -10.4826 14.1539 -29.535 -6.34345 -10.8578 14.2956 -29.54 -6.57244 -11.2416 14.4593 -29.545 -6.80922 -11.6335 14.6467 -29.55 -7.05388 -12.0328 14.8594 -29.555 -7.30644 -12.4389 15.0988 -29.56 -7.56685 -12.8505 15.3663 -29.565 -7.83494 -13.2664 15.6633 -29.57 -8.11048 -13.685 15.9909 -29.575 -8.39314 -14.1046 16.3503 -29.58 -8.68252 -14.5231 16.7424 -29.585 -8.97811 -14.9382 17.1681 -29.59 -9.27933 -15.3476 17.6282 -29.595 -9.58551 -15.7484 18.1234 -29.6 -9.89589 -16.1377 18.6543 -29.605 -10.2096 -16.5123 19.2213 -29.61 -10.5258 -16.8689 19.825 -29.615 -10.8434 -17.2037 20.4655 -29.62 -11.1613 -17.5131 21.143 -29.625 -11.4786 -17.7955 21.8565 -29.63 -11.7935 -18.0458 22.6039 -29.635 -12.1041 -18.2584 23.3824 -29.64 -12.4086 -18.4281 24.189 -29.645 -12.7051 -18.5505 25.0203 -29.65 -12.9914 -18.6217 25.8723 -29.655 -13.2658 -18.6384 26.7408 -29.66 -13.5263 -18.5978 27.621 -29.665 -13.7707 -18.4977 28.5081 -29.67 -13.9972 -18.3366 29.3963 -29.675 -14.2037 -18.1135 30.2799 -29.68 -14.3881 -17.8278 31.1525 -29.685 -14.5485 -17.4799 32.0075 -29.69 -14.6826 -17.0704 32.8378 -29.695 -14.7885 -16.6006 33.6357 -29.7 -14.8642 -16.0705 34.393 -29.705 -14.9091 -15.4796 35.1007 -29.71 -14.9223 -14.8373 35.7546 -29.715 -14.9032 -14.1537 36.3512 -29.72 -14.8514 -13.4377 36.8878 -29.725 -14.7669 -12.6978 37.3618 -29.73 -14.6498 -11.9416 37.7716 -29.735 -14.5009 -11.1758 38.1158 -29.74 -14.321 -10.4067 38.3937 -29.745 -14.1113 -9.63964 38.6051 -29.75 -13.8733 -8.87916 38.7505 -29.755 -13.6088 -8.12918 38.8307 -29.76 -13.32 -7.39282 38.8471 -29.765 -13.0094 -6.67247 38.8018 -29.77 -12.6796 -5.96977 38.6974 -29.775 -12.3338 -5.28561 38.5368 -29.78 -11.9735 -4.62666 38.3259 -29.785 -11.5994 -4.00356 38.0719 -29.79 -11.2141 -3.41825 37.7792 -29.795 -10.82 -2.8721 37.4519 -29.8 -10.4198 -2.36597 37.0942 -29.805 -10.0155 -1.90022 36.7102 -29.81 -9.60929 -1.4747 36.3039 -29.815 -9.20317 -1.08877 35.8792 -29.82 -8.79896 -0.741279 35.44 -29.825 -8.39835 -0.43056 34.9902 -29.83 -8.00287 -0.154455 34.5335 -29.835 -7.61393 0.0897048 34.0736 -29.84 -7.23279 0.305009 33.6139 -29.845 -6.8606 0.492796 33.1548 -29.85 -6.49813 0.654556 32.6968 -29.855 -6.14603 0.792349 32.2411 -29.86 -5.80486 0.90817 31.7888 -29.865 -5.47506 1.00395 31.3409 -29.87 -5.15703 1.08154 30.898 -29.875 -4.85105 1.14273 30.461 -29.88 -4.55733 1.18927 30.0302 -29.885 -4.27598 1.22279 29.606 -29.89 -4.00703 1.24491 29.1887 -29.895 -3.75043 1.25714 28.7783 -29.9 -3.50603 1.26094 28.3746 -29.905 -3.2736 1.25763 27.9776 -29.91 -3.05283 1.24807 27.5875 -29.915 -2.84341 1.23311 27.204 -29.92 -2.64502 1.21361 26.8271 -29.925 -2.45731 1.19033 26.4565 -29.93 -2.27994 1.16399 26.0922 -29.935 -2.11257 1.13525 25.734 -29.94 -1.95481 1.1047 25.3818 -29.945 -1.8063 1.07288 25.0353 -29.95 -1.66666 1.04027 24.6945 -29.955 -1.53549 1.00729 24.3592 -29.96 -1.41238 0.974283 24.0293 -29.965 -1.29693 0.941559 23.7045 -29.97 -1.18871 0.90935 23.3849 -29.975 -1.0873 0.877833 23.0701 -29.98 -0.992241 0.847131 22.7601 -29.985 -0.90316 0.817403 22.4547 -29.99 -0.819765 0.788802 22.1538 -29.995 -0.741774 0.761448 21.8574 -30 -0.668905 0.735441 21.5652 -30.005 -0.600874 0.710866 21.2773 -30.01 -0.5374 0.687788 20.9935 -30.015 -0.478199 0.666255 20.7138 -30.02 -0.422989 0.646296 20.438 -30.025 -0.371486 0.627922 20.1661 -30.03 -0.323407 0.611127 19.898 -30.035 -0.27847 0.595886 19.6336 -30.04 -0.236391 0.582157 19.3729 -30.045 -0.196885 0.569878 19.1157 -30.05 -0.159722 0.559011 18.862 -30.055 -0.124787 0.549587 18.6118 -30.06 -0.091944 0.541614 18.365 -30.065 -0.0610571 0.535095 18.1215 -30.07 -0.0319886 0.530026 17.8814 -30.075 -0.00459989 0.5264 17.6445 -30.08 0.0212488 0.524202 17.4108 -30.085 0.0456981 0.523415 17.1803 -30.09 0.0688901 0.524015 16.9529 -30.095 0.0909676 0.525975 16.7286 -30.1 0.112074 0.52926 16.5074 -30.105 0.132356 0.533832 16.2891 -30.11 0.151958 0.539647 16.0737 -30.115 0.17102 0.546663 15.8613 -30.12 0.189599 0.554906 15.6517 -30.125 0.207743 0.564404 15.4449 -30.13 0.225509 0.575179 15.241 -30.135 0.242957 0.587253 15.0398 -30.14 0.260151 0.600645 14.8413 -30.145 0.277156 0.615375 14.6455 -30.15 0.294041 0.631464 14.4525 -30.155 0.310878 0.648929 14.262 -30.16 0.327739 0.667791 14.0742 -30.165 0.344702 0.688066 13.8889 -30.17 0.361847 0.709772 13.7062 -30.175 0.379255 0.732927 13.526 -30.18 0.397011 0.757546 13.3483 -30.185 0.415203 0.783648 13.173 -30.19 0.433888 0.811285 13.0002 -30.195 0.453094 0.840536 12.8299 -30.2 0.472855 0.871474 12.6619 -30.205 0.49321 0.904176 12.4963 -30.21 0.514202 0.93872 12.3331 -30.215 0.53588 0.975188 12.1723 -30.22 0.558297 1.01367 12.0137 -30.225 0.581511 1.05424 11.8575 -30.23 0.605585 1.097 11.7037 -30.235 0.630588 1.14204 11.5521 -30.24 0.656592 1.18946 11.4028 -30.245 0.683674 1.23936 11.2558 -30.25 0.711918 1.29183 11.1111 -30.255 0.741411 1.34699 10.9687 -30.26 0.772245 1.40494 10.8286 -30.265 0.804517 1.4658 10.6908 -30.27 0.838331 1.52967 10.5554 -30.275 0.87378 1.59673 10.4222 -30.28 0.910917 1.66716 10.2915 -30.285 0.949801 1.74113 10.1631 -30.29 0.990503 1.81886 10.0371 -30.295 1.0331 1.90053 9.91357 -30.3 1.07768 1.98636 9.79244 -30.305 1.12434 2.07657 9.67381 -30.31 1.17319 2.17139 9.55773 -30.315 1.22434 2.27106 9.44428 -30.32 1.27793 2.37582 9.33353 -30.325 1.33408 2.48593 9.22558 -30.33 1.39295 2.60166 9.12053 -30.335 1.45468 2.72327 9.01849 -30.34 1.51945 2.85106 8.91958 -30.345 1.58743 2.9853 8.82395 -30.35 1.65879 3.12631 8.73173 -30.355 1.73375 3.27438 8.6431 -30.36 1.81249 3.42984 8.5582 -30.365 1.89523 3.593 8.47723 -30.37 1.9822 3.76416 8.40044 -30.375 2.07362 3.9433 8.3285 -30.38 2.16967 4.13097 8.26159 -30.385 2.27056 4.32783 8.19977 -30.39 2.37648 4.53455 8.14323 -30.395 2.48766 4.75173 8.09222 -30.4 2.60433 4.97996 8.04705 -30.405 2.72673 5.21982 8.00815 -30.41 2.85514 5.47185 7.976 -30.415 2.98981 5.73657 7.95119 -30.42 3.13104 6.01447 7.93436 -30.425 3.27912 6.30601 7.92626 -30.43 3.43437 6.61165 7.9277 -30.435 3.59712 6.9318 7.93957 -30.44 3.76769 7.26684 7.96287 -30.445 3.94645 7.61716 7.99865 -30.45 4.13376 7.98308 8.04805 -30.455 4.33 8.36493 8.1123 -30.46 4.53555 8.763 8.1927 -30.465 4.75083 9.17756 8.29063 -30.47 4.97625 9.60884 8.40757 -30.475 5.21224 10.0571 8.54507 -30.48 5.45924 10.5224 8.70475 -30.485 5.71772 11.0051 8.88832 -30.49 5.98732 11.5039 9.09697 -30.495 6.26794 12.0181 9.33284 -30.5 6.56022 12.5484 9.59896 -30.505 6.86469 13.0945 9.89828 -30.51 7.18167 13.6559 10.2337 -30.515 7.51138 14.2316 10.6078 -30.52 7.85384 14.8199 11.0234 -30.525 8.20894 15.4187 11.483 -30.53 8.5764 16.0253 11.989 -30.535 8.95578 16.6366 12.5437 -30.54 9.3465 17.2488 13.1494 -30.545 9.74781 17.8578 13.8083 -30.55 10.1588 18.4588 14.5222 -30.555 10.5784 19.0465 15.2933 -30.56 11.0055 19.6153 16.1232 -30.565 11.4386 20.1587 17.0137 -30.57 11.8762 20.6701 17.9665 -30.575 12.3167 21.1419 18.983 -30.58 12.7581 21.5696 20.0623 -30.585 13.1978 21.945 21.2003 -30.59 13.6325 22.2565 22.3927 -30.595 14.0589 22.4937 23.6341 -30.6 14.4736 22.6475 24.9182 -30.605 14.8731 22.7101 26.2374 -30.61 15.2539 22.6749 27.5831 -30.615 15.6121 22.5367 28.9458 -30.62 15.9441 22.2912 30.3147 -30.625 16.2459 21.9359 31.678 -30.63 16.5135 21.4692 33.0228 -30.635 16.7428 20.8908 34.3351 -30.64 16.9296 20.2018 35.6 -30.645 17.0703 19.4013 36.8005 -30.65 17.1631 18.4886 37.9201 -30.655 17.2057 17.4828 38.9485 -30.66 17.1961 16.4034 39.8775 -30.665 17.1333 15.2678 40.7003 -30.67 17.0168 14.092 41.4116 -30.675 16.8471 12.8904 42.0074 -30.68 16.6251 11.6758 42.4856 -30.685 16.3527 10.4592 42.8451 -30.69 16.0325 9.25018 43.0867 -30.695 15.6676 8.05647 43.2124 -30.7 15.2622 6.88436 43.2258 -30.705 14.8209 5.73841 43.1319 -30.71 14.349 4.62245 42.9376 -30.715 13.8479 3.55824 42.6557 -30.72 13.3208 2.55874 42.2981 -30.725 12.7725 1.62826 41.8744 -30.73 12.2077 0.769766 41.3942 -30.735 11.6305 -0.0151699 40.8667 -30.74 11.045 -0.726341 40.3011 -30.745 10.4552 -1.36492 39.7064 -30.75 9.86459 -1.93344 39.0913 -30.755 9.27652 -2.43582 38.4644 -30.76 8.69413 -2.87735 37.834 -30.765 8.12019 -3.26222 37.2049 -30.77 7.55686 -3.59368 36.5789 -30.775 7.006 -3.87621 35.9594 -30.78 6.46926 -4.1142 35.3493 -30.785 5.94801 -4.3119 34.7509 -30.79 5.44339 -4.47347 34.166 -30.795 4.9563 -4.60298 33.5961 -30.8 4.4874 -4.70435 33.0421 -30.805 4.03709 -4.78142 32.5044 -30.81 3.60555 -4.83792 31.9829 -30.815 3.19285 -4.87722 31.4775 -30.82 2.79897 -4.90172 30.9883 -30.825 2.42348 -4.91369 30.5147 -30.83 2.06593 -4.91523 30.0562 -30.835 1.72582 -4.90829 29.6121 -30.84 1.40264 -4.89469 29.1818 -30.845 1.09586 -4.8761 28.7649 -30.85 0.804897 -4.85404 28.3606 -30.855 0.529172 -4.82989 27.9686 -30.86 0.268064 -4.80487 27.5883 -30.865 0.0209304 -4.78007 27.2191 -30.87 -0.212899 -4.75642 26.8606 -30.875 -0.43412 -4.73472 26.5123 -30.88 -0.643453 -4.71562 26.1738 -30.885 -0.841647 -4.6996 25.8445 -30.89 -1.02949 -4.68704 25.524 -30.895 -1.20795 -4.67839 25.2118 -30.9 -1.37762 -4.67401 24.9077 -30.905 -1.53901 -4.6742 24.6114 -30.91 -1.69266 -4.67921 24.3228 -30.915 -1.83908 -4.68929 24.0416 -30.92 -1.97881 -4.70465 23.7677 -30.925 -2.11239 -4.72547 23.5009 -30.93 -2.24036 -4.75193 23.241 -30.935 -2.36328 -4.78415 22.988 -30.94 -2.48171 -4.82224 22.7417 -30.945 -2.59621 -4.86628 22.5021 -30.95 -2.70735 -4.91634 22.2689 -30.955 -2.81571 -4.97244 22.0421 -30.96 -2.92187 -5.03459 21.8217 -30.965 -3.02641 -5.10277 21.6077 -30.97 -3.12967 -5.17696 21.4 -30.975 -3.23183 -5.25724 21.1988 -30.98 -3.33316 -5.3437 21.0043 -30.985 -3.43392 -5.43643 20.8165 -30.99 -3.53438 -5.5355 20.6356 -30.995 -3.63481 -5.64096 20.4618 -31 -3.7355 -5.75285 20.295 -31.005 -3.83672 -5.87121 20.1356 -31.01 -3.93876 -5.99604 19.9837 -31.015 -4.04193 -6.12736 19.8394 -31.02 -4.14651 -6.26515 19.7029 -31.025 -4.25281 -6.40938 19.5744 -31.03 -4.36115 -6.56003 19.4542 -31.035 -4.47184 -6.71704 19.3423 -31.04 -4.58519 -6.88034 19.2391 -31.045 -4.70137 -7.04984 19.1448 -31.05 -4.82046 -7.22558 19.0598 -31.055 -4.94256 -7.40768 18.9845 -31.06 -5.0678 -7.59617 18.9193 -31.065 -5.1963 -7.79106 18.8646 -31.07 -5.32816 -7.99231 18.8208 -31.075 -5.46348 -8.19983 18.7884 -31.08 -5.60237 -8.41349 18.7679 -31.085 -5.74492 -8.63311 18.7596 -31.09 -5.89123 -8.85848 18.7641 -31.095 -6.04137 -9.0893 18.7818 -31.1 -6.19544 -9.32529 18.8132 -31.105 -6.3535 -9.56606 18.8588 -31.11 -6.51564 -9.81122 18.919 -31.115 -6.68192 -10.0603 18.9944 -31.12 -6.8524 -10.3128 19.0854 -31.125 -7.02714 -10.5683 19.1926 -31.13 -7.20609 -10.8261 19.3163 -31.135 -7.38874 -11.0861 19.456 -31.14 -7.57502 -11.3475 19.6128 -31.145 -7.76485 -11.6092 19.7877 -31.15 -7.95811 -11.8702 19.9814 -31.155 -8.15464 -12.1293 20.1948 -31.16 -8.35419 -12.3855 20.4282 -31.165 -8.5565 -12.6375 20.6823 -31.17 -8.76123 -12.884 20.9571 -31.175 -8.96798 -13.1238 21.2528 -31.18 -9.17632 -13.3556 21.5692 -31.185 -9.38574 -13.5778 21.9063 -31.19 -9.5957 -13.7891 22.2635 -31.195 -9.80559 -13.9879 22.6403 -31.2 -10.0148 -14.1728 23.0362 -31.205 -10.2225 -14.3421 23.4501 -31.21 -10.428 -14.4941 23.8812 -31.215 -10.6305 -14.6272 24.3283 -31.22 -10.8291 -14.7396 24.79 -31.225 -11.0228 -14.8296 25.265 -31.23 -11.2107 -14.8952 25.7515 -31.235 -11.3918 -14.9346 26.248 -31.24 -11.5652 -14.9459 26.7527 -31.245 -11.7307 -14.9277 27.2648 -31.25 -11.887 -14.8796 27.7808 -31.255 -12.0328 -14.8016 28.2972 -31.26 -12.167 -14.6936 28.8106 -31.265 -12.2884 -14.5557 29.3177 -31.27 -12.3962 -14.3884 29.8156 -31.275 -12.4893 -14.1922 30.3014 -31.28 -12.5672 -13.9676 30.7722 -31.285 -12.6291 -13.7156 31.2257 -31.29 -12.6747 -13.4373 31.6593 -31.295 -12.7034 -13.1337 32.0709 -31.3 -12.7149 -12.8063 32.4585 -31.305 -12.7092 -12.4566 32.8202 -31.31 -12.6862 -12.0864 33.1542 -31.315 -12.6458 -11.6974 33.459 -31.32 -12.5883 -11.2918 33.7333 -31.325 -12.5139 -10.8717 33.9759 -31.33 -12.423 -10.4398 34.1856 -31.335 -12.3152 -10.0008 34.3606 -31.34 -12.1908 -9.55826 34.5007 -31.345 -12.0509 -9.11508 34.6062 -31.35 -11.8964 -8.67381 34.6777 -31.355 -11.7282 -8.23688 34.7159 -31.36 -11.5472 -7.80657 34.7215 -31.365 -11.3545 -7.38497 34.6955 -31.37 -11.1511 -6.97399 34.639 -31.375 -10.938 -6.57539 34.5533 -31.38 -10.7163 -6.19075 34.4398 -31.385 -10.4869 -5.82148 34.3001 -31.39 -10.2511 -5.46883 34.1358 -31.395 -10.0098 -5.13385 33.949 -31.4 -9.76428 -4.81745 33.7415 -31.405 -9.51559 -4.52035 33.5155 -31.41 -9.26491 -4.24312 33.2735 -31.415 -9.01343 -3.98614 33.0178 -31.42 -8.76233 -3.74942 32.7509 -31.425 -8.51259 -3.53139 32.4738 -31.43 -8.26498 -3.33153 32.1874 -31.435 -8.02022 -3.14956 31.893 -31.44 -7.77899 -2.98516 31.5916 -31.445 -7.54191 -2.83791 31.2845 -31.45 -7.30957 -2.70733 30.9724 -31.455 -7.08251 -2.59289 30.6566 -31.46 -6.86121 -2.49398 30.3377 -31.465 -6.64611 -2.40991 30.0168 -31.47 -6.43761 -2.33995 29.6947 -31.475 -6.23605 -2.28329 29.3721 -31.48 -6.04174 -2.23904 29.0496 -31.485 -5.85493 -2.20626 28.7281 -31.49 -5.67582 -2.18393 28.408 -31.495 -5.50459 -2.17098 28.09 -31.5 -5.34133 -2.16624 27.7746 -31.505 -5.18612 -2.16852 27.4621 -31.51 -5.03897 -2.17652 27.1531 -31.515 -4.8997 -2.19041 26.8474 -31.52 -4.76808 -2.21087 26.5447 -31.525 -4.64403 -2.23748 26.2451 -31.53 -4.52743 -2.26981 25.9489 -31.535 -4.41821 -2.3075 25.656 -31.54 -4.31625 -2.35022 25.3667 -31.545 -4.22143 -2.39763 25.081 -31.55 -4.13366 -2.44948 24.799 -31.555 -4.0528 -2.50549 24.5208 -31.56 -3.97873 -2.56546 24.2465 -31.565 -3.91131 -2.6292 23.9761 -31.57 -3.85042 -2.69653 23.7099 -31.575 -3.7959 -2.76735 23.4477 -31.58 -3.74762 -2.84154 23.1897 -31.585 -3.70541 -2.91904 22.9359 -31.59 -3.66913 -2.99982 22.6863 -31.595 -3.6386 -3.08387 22.4411 -31.6 -3.61362 -3.17122 22.2002 -31.605 -3.59398 -3.26193 21.9638 -31.61 -3.57962 -3.35598 21.732 -31.615 -3.57053 -3.45337 21.5047 -31.62 -3.56666 -3.55411 21.2821 -31.625 -3.568 -3.65822 21.0642 -31.63 -3.5745 -3.76575 20.8512 -31.635 -3.58612 -3.87676 20.643 -31.64 -3.60282 -3.99133 20.4398 -31.645 -3.62454 -4.10953 20.2418 -31.65 -3.65125 -4.23148 20.049 -31.655 -3.68288 -4.35731 19.8616 -31.66 -3.71937 -4.48714 19.6797 -31.665 -3.76067 -4.62113 19.5035 -31.67 -3.80672 -4.75945 19.3332 -31.675 -3.85744 -4.90229 19.169 -31.68 -3.91276 -5.04984 19.0111 -31.685 -3.97262 -5.20232 18.8596 -31.69 -4.03693 -5.35997 18.7148 -31.695 -4.10561 -5.52302 18.577 -31.7 -4.17878 -5.69143 18.4463 -31.705 -4.25665 -5.86517 18.3231 -31.71 -4.33928 -6.04446 18.2076 -31.715 -4.42677 -6.22947 18.1001 -31.72 -4.51918 -6.42036 18.0009 -31.725 -4.61659 -6.61726 17.9104 -31.73 -4.71905 -6.82026 17.829 -31.735 -4.82662 -7.02944 17.7571 -31.74 -4.93936 -7.24487 17.695 -31.745 -5.05731 -7.46656 17.6432 -31.75 -5.18052 -7.69453 17.6022 -31.755 -5.30902 -7.92874 17.5725 -31.76 -5.44284 -8.16915 17.5546 -31.765 -5.58202 -8.41568 17.549 -31.77 -5.72657 -8.66825 17.5563 -31.775 -5.87652 -8.92671 17.5772 -31.78 -6.03187 -9.19094 17.6122 -31.785 -6.19263 -9.46075 17.6619 -31.79 -6.3588 -9.73594 17.7271 -31.795 -6.53031 -10.0162 17.8082 -31.8 -6.70678 -10.301 17.9049 -31.805 -6.88829 -10.5898 18.0181 -31.81 -7.07495 -10.8821 18.1491 -31.815 -7.26678 -11.1773 18.2992 -31.82 -7.46378 -11.4746 18.4692 -31.825 -7.66584 -11.7731 18.6601 -31.83 -7.87282 -12.072 18.8726 -31.835 -8.08451 -12.3701 19.1074 -31.84 -8.30064 -12.6664 19.3649 -31.845 -8.52087 -12.9595 19.6456 -31.85 -8.74479 -13.248 19.9496 -31.855 -8.97195 -13.5305 20.2771 -31.86 -9.20182 -13.8054 20.6282 -31.865 -9.43382 -14.0711 21.0026 -31.87 -9.66728 -14.3256 21.4001 -31.875 -9.90151 -14.5672 21.8204 -31.88 -10.1357 -14.7937 22.2629 -31.885 -10.3691 -15.0032 22.727 -31.89 -10.6007 -15.1933 23.212 -31.895 -10.8295 -15.3617 23.7169 -31.9 -11.0547 -15.506 24.2407 -31.905 -11.275 -15.6238 24.7823 -31.91 -11.4897 -15.7128 25.3409 -31.915 -11.6983 -15.772 25.9145 -31.92 -11.8991 -15.7993 26.4994 -31.925 -12.0907 -15.7933 27.0919 -31.93 -12.2716 -15.7527 27.6885 -31.935 -12.4404 -15.6763 28.2855 -31.94 -12.596 -15.5637 28.8797 -31.945 -12.7372 -15.4143 29.4676 -31.95 -12.8629 -15.2282 30.0459 -31.955 -12.9722 -15.0057 30.6113 -31.96 -13.0642 -14.7474 31.1608 -31.965 -13.1381 -14.4541 31.6912 -31.97 -13.1932 -14.1272 32.1995 -31.975 -13.2291 -13.7681 32.6828 -31.98 -13.2451 -13.3787 33.1383 -31.985 -13.2409 -12.9613 33.563 -31.99 -13.2162 -12.5182 33.9544 -31.995 -13.1707 -12.0523 34.3096 -32 -13.104 -11.5673 34.6245 -32.005 -13.0163 -11.0677 34.8981 -32.01 -12.9084 -10.5578 35.1303 -32.015 -12.781 -10.0416 35.3212 -32.02 -12.6348 -9.523 35.4712 -32.025 -12.4708 -9.00544 35.5809 -32.03 -12.2897 -8.49219 35.6508 -32.035 -12.0928 -7.98626 35.6819 -32.04 -11.881 -7.49037 35.6754 -32.045 -11.6555 -7.007 35.6324 -32.05 -11.4176 -6.53836 35.5544 -32.055 -11.1684 -6.08639 35.4431 -32.06 -10.9096 -5.65278 35.3002 -32.065 -10.6423 -5.23895 35.1279 -32.07 -10.3683 -4.84605 34.9283 -32.075 -10.089 -4.47498 34.7037 -32.08 -9.80625 -4.12638 34.4569 -32.085 -9.52113 -3.80075 34.191 -32.09 -9.23461 -3.49832 33.9088 -32.095 -8.94789 -3.21899 33.6121 -32.1 -8.66212 -2.96255 33.3028 -32.105 -8.37836 -2.72865 32.9825 -32.11 -8.09759 -2.51682 32.6529 -32.115 -7.82071 -2.32646 32.3155 -32.12 -7.54854 -2.15685 31.9717 -32.125 -7.28184 -2.00714 31.6231 -32.13 -7.02128 -1.87634 31.2709 -32.135 -6.76745 -1.76335 30.9164 -32.14 -6.52085 -1.66693 30.5608 -32.145 -6.28193 -1.58574 30.2051 -32.15 -6.05104 -1.51828 29.8505 -32.155 -5.82847 -1.46294 29.4978 -32.16 -5.61442 -1.4182 29.1478 -32.165 -5.40902 -1.38427 28.8001 -32.17 -5.21231 -1.36063 28.455 -32.175 -5.02427 -1.34648 28.1125 -32.18 -4.84489 -1.34108 27.7731 -32.185 -4.67413 -1.34371 27.4369 -32.19 -4.51194 -1.35371 27.1042 -32.195 -4.35824 -1.37046 26.7751 -32.2 -4.21295 -1.39339 26.4498 -32.205 -4.07596 -1.42195 26.1283 -32.21 -3.94716 -1.45566 25.8109 -32.215 -3.8264 -1.49406 25.4975 -32.22 -3.71354 -1.53674 25.1883 -32.225 -3.6084 -1.58335 24.8831 -32.23 -3.5108 -1.63356 24.5821 -32.235 -3.42053 -1.68709 24.2852 -32.24 -3.33722 -1.7438 23.9923 -32.245 -3.26049 -1.80365 23.7037 -32.25 -3.19025 -1.86643 23.4192 -32.255 -3.1264 -1.93196 23.1389 -32.26 -3.06886 -2.00007 22.8628 -32.265 -3.01752 -2.07065 22.5908 -32.27 -2.97227 -2.1436 22.323 -32.275 -2.93299 -2.21884 22.0594 -32.28 -2.89955 -2.29632 21.7999 -32.285 -2.87182 -2.37604 21.5447 -32.29 -2.84965 -2.45801 21.2937 -32.295 -2.83291 -2.54226 21.0469 -32.3 -2.82143 -2.62887 20.8044 -32.305 -2.81505 -2.71792 20.5662 -32.31 -2.8136 -2.80955 20.3324 -32.315 -2.8169 -2.90389 20.103 -32.32 -2.82476 -3.00114 19.8781 -32.325 -2.83699 -3.10149 19.6577 -32.33 -2.85339 -3.20518 19.4419 -32.335 -2.87376 -3.31247 19.2307 -32.34 -2.89793 -3.42359 19.0243 -32.345 -2.92621 -3.53843 18.8227 -32.35 -2.9587 -3.65707 18.6261 -32.355 -2.99541 -3.77965 18.4345 -32.36 -3.0364 -3.90633 18.248 -32.365 -3.08168 -4.03726 18.0667 -32.37 -3.1313 -4.17262 17.8908 -32.375 -3.18529 -4.31258 17.7204 -32.38 -3.24369 -4.45733 17.5557 -32.385 -3.30652 -4.60705 17.3968 -32.39 -3.37383 -4.76195 17.2441 -32.395 -3.44565 -4.92223 17.0976 -32.4 -3.52202 -5.08811 16.9576 -32.405 -3.60297 -5.25982 16.8245 -32.41 -3.68855 -5.43757 16.6984 -32.415 -3.77879 -5.62161 16.5797 -32.42 -3.87372 -5.81219 16.4687 -32.425 -3.97339 -6.00956 16.3657 -32.43 -4.07783 -6.21398 16.2712 -32.435 -4.18713 -6.42538 16.1854 -32.44 -4.30146 -6.64358 16.1087 -32.445 -4.421 -6.86896 16.0416 -32.45 -4.54592 -7.10188 15.9847 -32.455 -4.67637 -7.3426 15.9384 -32.46 -4.81249 -7.59133 15.9033 -32.465 -4.9544 -7.84822 15.88 -32.47 -5.1022 -8.11332 15.8691 -32.475 -5.256 -8.38664 15.8712 -32.48 -5.41588 -8.66811 15.8872 -32.485 -5.5819 -8.9576 15.9176 -32.49 -5.75412 -9.2549 15.9632 -32.495 -5.93258 -9.55974 16.0249 -32.5 -6.11731 -9.87178 16.1033 -32.505 -6.30833 -10.1906 16.1994 -32.51 -6.50562 -10.5158 16.3141 -32.515 -6.70919 -10.8467 16.4482 -32.52 -6.919 -11.1827 16.6027 -32.525 -7.135 -11.5233 16.7785 -32.53 -7.35716 -11.8675 16.9767 -32.535 -7.58539 -12.2147 17.1982 -32.54 -7.81961 -12.5638 17.4443 -32.545 -8.05944 -12.9143 17.7148 -32.55 -8.30436 -13.2648 18.0103 -32.555 -8.55419 -13.6134 18.332 -32.56 -8.80864 -13.9579 18.6815 -32.565 -9.06732 -14.2962 19.0595 -32.57 -9.32975 -14.6261 19.4668 -32.575 -9.59535 -14.9454 19.9038 -32.58 -9.86345 -15.2515 20.3704 -32.585 -10.1333 -15.5422 20.8666 -32.59 -10.4039 -15.815 21.3917 -32.595 -10.6744 -16.0672 21.9449 -32.6 -10.9438 -16.2964 22.5252 -32.605 -11.2107 -16.4997 23.131 -32.61 -11.474 -16.6745 23.7607 -32.615 -11.7324 -16.818 24.4123 -32.62 -11.9843 -16.9272 25.0835 -32.625 -12.2281 -16.9992 25.7715 -32.63 -12.4623 -17.031 26.4736 -32.635 -12.6853 -17.0194 27.1868 -32.64 -12.8964 -16.9617 27.9091 -32.645 -13.094 -16.857 28.6349 -32.65 -13.276 -16.7053 29.3581 -32.655 -13.4404 -16.5069 30.0732 -32.66 -13.5857 -16.2623 30.7746 -32.665 -13.7103 -15.9725 31.4574 -32.67 -13.813 -15.6387 32.1168 -32.675 -13.8927 -15.2624 32.7484 -32.68 -13.9485 -14.8455 33.3483 -32.685 -13.9799 -14.3903 33.9126 -32.69 -13.9862 -13.8992 34.4382 -32.695 -13.9672 -13.3752 34.9218 -32.7 -13.9229 -12.8215 35.3609 -32.705 -13.8534 -12.2415 35.753 -32.71 -13.759 -11.6391 36.0961 -32.715 -13.6401 -11.0186 36.3885 -32.72 -13.4963 -10.3877 36.6275 -32.725 -13.3284 -9.75282 36.8129 -32.73 -13.1378 -9.11874 36.9457 -32.735 -12.9259 -8.48996 37.0272 -32.74 -12.6942 -7.87061 37.0591 -32.745 -12.4443 -7.26447 37.043 -32.75 -12.1775 -6.67496 36.9811 -32.755 -11.8957 -6.10514 36.8757 -32.76 -11.6004 -5.55771 36.7292 -32.765 -11.2933 -5.03502 36.5446 -32.77 -10.9761 -4.53905 36.3249 -32.775 -10.6506 -4.07143 36.0734 -32.78 -10.3187 -3.63343 35.7937 -32.785 -9.98218 -3.22597 35.4896 -32.79 -9.64293 -2.8496 35.1653 -32.795 -9.30291 -2.50441 34.8248 -32.8 -8.96358 -2.18846 34.4705 -32.805 -8.62619 -1.90061 34.1042 -32.81 -8.29196 -1.64018 33.7279 -32.815 -7.96199 -1.40637 33.3434 -32.82 -7.63732 -1.19826 32.9526 -32.825 -7.31889 -1.01481 32.5569 -32.83 -7.00752 -0.854886 32.158 -32.835 -6.70399 -0.71721 31.7573 -32.84 -6.40895 -0.600405 31.3561 -32.845 -6.12297 -0.502976 30.9555 -32.85 -5.84653 -0.42331 30.5566 -32.855 -5.58002 -0.359678 30.1603 -32.86 -5.32373 -0.310238 29.7674 -32.865 -5.07786 -0.273029 29.3786 -32.87 -4.84254 -0.245976 28.9946 -32.875 -4.61777 -0.226923 28.6157 -32.88 -4.40338 -0.216078 28.2417 -32.885 -4.19917 -0.213674 27.8723 -32.89 -4.00499 -0.218852 27.5076 -32.895 -3.82067 -0.230813 27.1477 -32.9 -3.64602 -0.248811 26.7925 -32.905 -3.48085 -0.272156 26.4422 -32.91 -3.32496 -0.300215 26.0967 -32.915 -3.17813 -0.332409 25.7561 -32.92 -3.04011 -0.368215 25.4203 -32.925 -2.91067 -0.407167 25.0893 -32.93 -2.78954 -0.448854 24.763 -32.935 -2.67644 -0.49292 24.4414 -32.94 -2.57109 -0.539066 24.1245 -32.945 -2.47318 -0.587047 23.812 -32.95 -2.38239 -0.636677 23.504 -32.955 -2.29833 -0.687799 23.2004 -32.96 -2.22078 -0.740247 22.9011 -32.965 -2.14955 -0.793875 22.6061 -32.97 -2.08442 -0.848561 22.3153 -32.975 -2.02521 -0.90421 22.0287 -32.98 -1.97169 -0.960751 21.7462 -32.985 -1.92368 -1.01814 21.4678 -32.99 -1.88095 -1.07634 21.1934 -32.995 -1.84329 -1.13537 20.9229 -33 -1.8105 -1.19525 20.6564 -33.005 -1.78234 -1.25604 20.3938 -33.01 -1.75862 -1.31781 20.135 -33.015 -1.73909 -1.38065 19.8801 -33.02 -1.72355 -1.44471 19.629 -33.025 -1.71176 -1.51012 19.3816 -33.03 -1.70355 -1.57703 19.138 -33.035 -1.6989 -1.64547 18.8981 -33.04 -1.69779 -1.71552 18.662 -33.045 -1.70015 -1.78725 18.4296 -33.05 -1.70595 -1.86077 18.201 -33.055 -1.71514 -1.93619 17.9761 -33.06 -1.72768 -2.01363 17.7549 -33.065 -1.74351 -2.09324 17.5374 -33.07 -1.76261 -2.17518 17.3237 -33.075 -1.78493 -2.25959 17.1138 -33.08 -1.81042 -2.34668 16.9077 -33.085 -1.83905 -2.43662 16.7054 -33.09 -1.87078 -2.52962 16.507 -33.095 -1.90557 -2.62591 16.3126 -33.1 -1.94338 -2.7257 16.1221 -33.105 -1.98417 -2.82926 15.9357 -33.11 -2.02799 -2.93678 15.7533 -33.115 -2.07497 -3.0484 15.5753 -33.12 -2.12517 -3.16431 15.4015 -33.125 -2.17867 -3.28474 15.232 -33.13 -2.23555 -3.40991 15.067 -33.135 -2.2959 -3.54004 14.9066 -33.14 -2.3598 -3.67538 14.7508 -33.145 -2.42735 -3.81618 14.6 -33.15 -2.49864 -3.96268 14.4541 -33.155 -2.57379 -4.11514 14.3134 -33.16 -2.6529 -4.27385 14.1782 -33.165 -2.73609 -4.43908 14.0486 -33.17 -2.82347 -4.61111 13.9249 -33.175 -2.91517 -4.79024 13.8074 -33.18 -3.01133 -4.97677 13.6964 -33.185 -3.11206 -5.17101 13.5922 -33.19 -3.21752 -5.37328 13.495 -33.195 -3.32785 -5.58391 13.4054 -33.2 -3.44318 -5.80246 13.3236 -33.205 -3.5637 -6.02856 13.2505 -33.21 -3.68967 -6.26307 13.1862 -33.215 -3.82132 -6.50674 13.1312 -33.22 -3.95888 -6.76023 13.0861 -33.225 -4.10257 -7.02413 13.0514 -33.23 -4.25259 -7.29888 13.0277 -33.235 -4.40915 -7.58486 13.0157 -33.24 -4.57242 -7.88235 13.0162 -33.245 -4.74259 -8.19151 13.0299 -33.25 -4.91981 -8.51244 13.0578 -33.255 -5.10425 -8.84509 13.1007 -33.26 -5.29603 -9.18937 13.1597 -33.265 -5.4953 -9.54504 13.2358 -33.27 -5.70218 -9.9118 13.3301 -33.275 -5.91677 -10.2892 13.4438 -33.28 -6.13918 -10.6768 13.5782 -33.285 -6.3695 -11.074 13.7344 -33.29 -6.60781 -11.48 13.914 -33.295 -6.85417 -11.8941 14.1183 -33.3 -7.10865 -12.3153 14.3488 -33.305 -7.37128 -12.7427 14.6071 -33.31 -7.64211 -13.1751 14.8947 -33.315 -7.92116 -13.6114 15.2133 -33.32 -8.20844 -14.0502 15.5647 -33.325 -8.5039 -14.4903 15.9505 -33.33 -8.80636 -14.9304 16.3701 -33.335 -9.11516 -15.3674 16.825 -33.34 -9.4299 -15.7981 17.3173 -33.345 -9.75001 -16.219 17.8484 -33.35 -10.0748 -16.6265 18.4195 -33.355 -10.4033 -17.0168 19.031 -33.36 -10.7346 -17.3864 19.6829 -33.365 -11.0675 -17.7312 20.3747 -33.37 -11.4005 -18.0473 21.1053 -33.375 -11.7323 -18.3307 21.8732 -33.38 -12.0611 -18.5773 22.6763 -33.385 -12.3851 -18.7827 23.5119 -33.39 -12.7024 -18.9427 24.3771 -33.395 -13.0107 -19.0527 25.2681 -33.4 -13.3079 -19.1083 26.1809 -33.405 -13.5915 -19.1049 27.1107 -33.41 -13.8594 -19.0375 28.0534 -33.415 -14.1105 -18.9027 29.0042 -33.42 -14.3418 -18.7002 29.9537 -33.425 -14.5502 -18.4303 30.8928 -33.43 -14.7333 -18.0941 31.8128 -33.435 -14.8889 -17.693 32.7057 -33.44 -15.015 -17.229 33.5643 -33.445 -15.11 -16.7048 34.3816 -33.45 -15.1726 -16.1234 35.1516 -33.455 -15.2019 -15.4886 35.8687 -33.46 -15.1971 -14.8047 36.5279 -33.465 -15.158 -14.0764 37.1248 -33.47 -15.0845 -13.3091 37.6556 -33.475 -14.9768 -12.5087 38.1172 -33.48 -14.8356 -11.6818 38.507 -33.485 -14.6607 -10.8387 38.8213 -33.49 -14.4528 -9.99033 39.0592 -33.495 -14.2137 -9.1445 39.2228 -33.5 -13.9456 -8.30825 39.3146 -33.505 -13.6506 -7.48801 39.3374 -33.51 -13.3308 -6.68953 39.2945 -33.515 -12.9885 -5.91797 39.1894 -33.52 -12.6261 -5.17779 39.0262 -33.525 -12.246 -4.47285 38.8093 -33.53 -11.8507 -3.80632 38.5434 -33.535 -11.4428 -3.18076 38.2338 -33.54 -11.025 -2.59807 37.886 -33.545 -10.6 -2.05949 37.5059 -33.55 -10.1706 -1.56564 37.1001 -33.555 -9.73965 -1.11621 36.6745 -33.56 -9.30893 -0.708782 36.2323 -33.565 -8.88036 -0.341696 35.7766 -33.57 -8.45575 -0.0133442 35.3106 -33.575 -8.03672 0.278031 34.8375 -33.58 -7.62477 0.534338 34.3598 -33.585 -7.22121 0.757636 33.8801 -33.59 -6.82717 0.950134 33.4004 -33.595 -6.44366 1.11419 32.9227 -33.6 -6.07149 1.25233 32.4486 -33.605 -5.71132 1.3672 31.9795 -33.61 -5.36364 1.46163 31.5163 -33.615 -5.02879 1.53857 31.0599 -33.62 -4.70701 1.5998 30.6106 -33.625 -4.39839 1.6462 30.1686 -33.63 -4.10288 1.67946 29.734 -33.635 -3.82039 1.7012 29.307 -33.64 -3.55079 1.7129 28.8875 -33.645 -3.29391 1.71595 28.4756 -33.65 -3.04954 1.71165 28.0714 -33.655 -2.81743 1.70117 27.6746 -33.66 -2.59729 1.68559 27.2853 -33.665 -2.38878 1.66587 26.9032 -33.67 -2.19153 1.64288 26.5282 -33.675 -2.00512 1.61737 26.1599 -33.68 -1.8291 1.59002 25.7982 -33.685 -1.66287 1.56142 25.4428 -33.69 -1.50604 1.53207 25.0936 -33.695 -1.35824 1.50243 24.7504 -33.7 -1.21908 1.47289 24.413 -33.705 -1.08819 1.44383 24.0813 -33.71 -0.96516 1.41559 23.755 -33.715 -0.849602 1.38845 23.4341 -33.72 -0.741109 1.36268 23.1183 -33.725 -0.639272 1.33848 22.8075 -33.73 -0.543676 1.31605 22.5016 -33.735 -0.453898 1.29553 22.2004 -33.74 -0.369511 1.27701 21.9038 -33.745 -0.290082 1.26057 21.6117 -33.75 -0.215171 1.24623 21.324 -33.755 -0.144332 1.23398 21.0404 -33.76 -0.0772169 1.22385 20.7611 -33.765 -0.0136343 1.21591 20.4858 -33.77 0.0466075 1.21025 20.2145 -33.775 0.103707 1.20693 19.9471 -33.78 0.157868 1.20602 19.6837 -33.785 0.209302 1.20755 19.4241 -33.79 0.258226 1.21157 19.1682 -33.795 0.304862 1.21809 18.9161 -33.8 0.349441 1.22713 18.6676 -33.805 0.392198 1.23869 18.4228 -33.81 0.433374 1.25276 18.1815 -33.815 0.473219 1.26933 17.9436 -33.82 0.511985 1.28835 17.7092 -33.825 0.549934 1.30979 17.4782 -33.83 0.587333 1.3336 17.2505 -33.835 0.624375 1.35977 17.0261 -33.84 0.66104 1.38845 16.8049 -33.845 0.697419 1.41973 16.5871 -33.85 0.733621 1.45365 16.3725 -33.855 0.769757 1.49029 16.1611 -33.86 0.805946 1.52972 15.953 -33.865 0.842307 1.57199 15.748 -33.87 0.878968 1.61719 15.5463 -33.875 0.91606 1.66538 15.3477 -33.88 0.953718 1.71663 15.1523 -33.885 0.992082 1.77101 14.96 -33.89 1.0313 1.8286 14.771 -33.895 1.07152 1.88947 14.5851 -33.9 1.11289 1.9537 14.4023 -33.905 1.15557 2.02136 14.2228 -33.91 1.19966 2.09262 14.0464 -33.915 1.24522 2.16763 13.8733 -33.92 1.29235 2.24657 13.7035 -33.925 1.34112 2.32962 13.5369 -33.93 1.39164 2.41695 13.3737 -33.935 1.44402 2.50876 13.2139 -33.94 1.49837 2.60523 13.0575 -33.945 1.55483 2.70657 12.9047 -33.95 1.61352 2.81298 12.7555 -33.955 1.6746 2.92466 12.6099 -33.96 1.73823 3.04183 12.4682 -33.965 1.80456 3.1647 12.3304 -33.97 1.87378 3.2935 12.1966 -33.975 1.94608 3.42846 12.067 -33.98 2.02163 3.5698 11.9417 -33.985 2.10066 3.71777 11.8208 -33.99 2.18336 3.87256 11.7047 -33.995 2.26989 4.03443 11.5936 -34 2.36037 4.20382 11.4877 -34.005 2.45496 4.38116 11.3871 -34.01 2.55383 4.56686 11.2921 -34.015 2.65715 4.76131 11.2029 -34.02 2.76511 4.96492 11.1199 -34.025 2.87792 5.17807 11.0436 -34.03 2.99577 5.40112 10.9742 -34.035 3.1189 5.63443 10.9123 -34.04 3.24755 5.87836 10.8584 -34.045 3.38196 6.13324 10.8131 -34.05 3.52239 6.39939 10.7769 -34.055 3.66913 6.67715 10.7507 -34.06 3.82245 6.96679 10.7351 -34.065 3.98264 7.26864 10.7308 -34.07 4.15004 7.58295 10.7387 -34.075 4.32494 7.91002 10.7596 -34.08 4.50769 8.2501 10.7945 -34.085 4.69864 8.60343 10.8442 -34.09 4.8977 8.96908 10.9097 -34.095 5.10439 9.34529 10.9918 -34.1 5.31933 9.73344 11.0921 -34.105 5.54311 10.1347 11.2125 -34.11 5.77621 10.5498 11.3547 -34.115 6.01903 10.9792 11.5204 -34.12 6.27189 11.4231 11.7114 -34.125 6.53499 11.8812 11.9293 -34.13 6.80848 12.353 12.1758 -34.135 7.09237 12.8375 12.4527 -34.14 7.38662 13.3335 12.7617 -34.145 7.69108 13.8394 13.1043 -34.15 8.00553 14.3532 13.4824 -34.155 8.32962 14.8726 13.8974 -34.16 8.66295 15.395 14.3512 -34.165 9.00502 15.9175 14.8452 -34.17 9.35521 16.4366 15.3812 -34.175 9.71285 16.9488 15.9608 -34.18 10.0772 17.45 16.5856 -34.185 10.4473 17.9358 17.2571 -34.19 10.8222 18.4016 17.977 -34.195 11.2009 18.8424 18.7469 -34.2 11.5823 19.2526 19.5683 -34.205 11.9651 19.6267 20.4428 -34.21 12.3475 19.9612 21.3682 -34.215 12.7268 20.2506 22.3389 -34.22 13.1002 20.4864 23.3506 -34.225 13.465 20.6611 24.3985 -34.23 13.8185 20.768 25.4772 -34.235 14.1578 20.8016 26.5806 -34.24 14.4801 20.7572 27.702 -34.245 14.7826 20.6311 28.8339 -34.25 15.0625 20.4207 29.9684 -34.255 15.3168 20.1243 31.0967 -34.26 15.5426 19.741 32.2096 -34.265 15.7371 19.2712 33.2971 -34.27 15.8971 18.7159 34.3486 -34.275 16.0198 18.0774 35.3528 -34.28 16.103 17.3546 36.2967 -34.285 16.1455 16.5527 37.1696 -34.29 16.1461 15.6864 37.9657 -34.295 16.1037 14.7695 38.6801 -34.3 16.0181 13.8146 39.3087 -34.305 15.8891 12.8334 39.8487 -34.31 15.7176 11.8363 40.2978 -34.315 15.5046 10.8327 40.6549 -34.32 15.2516 9.83081 40.9199 -34.325 14.9608 8.83794 41.0934 -34.33 14.6348 7.86014 41.1773 -34.335 14.2766 6.90241 41.174 -34.34 13.8901 5.96865 41.0873 -34.345 13.4791 5.06167 40.9216 -34.35 13.0467 4.18931 40.6846 -34.355 12.5939 3.36624 40.3872 -34.36 12.1244 2.59587 40.0364 -34.365 11.6417 1.88042 39.6389 -34.37 11.1492 1.22126 39.2014 -34.375 10.6502 0.61885 38.7302 -34.38 10.1476 0.0728017 38.2317 -34.385 9.64423 -0.418164 37.7121 -34.39 9.14265 -0.856199 37.1773 -34.395 8.64527 -1.24433 36.6332 -34.4 8.1543 -1.58647 36.0855 -34.405 7.67172 -1.88671 35.539 -34.41 7.19917 -2.14685 34.994 -34.415 6.73792 -2.36993 34.4525 -34.42 6.28905 -2.55915 33.9165 -34.425 5.85352 -2.71758 33.3875 -34.43 5.43211 -2.84821 32.8671 -34.435 5.02543 -2.95393 32.3562 -34.44 4.63397 -3.03754 31.8557 -34.445 4.25802 -3.10174 31.366 -34.45 3.89776 -3.14911 30.8876 -34.455 3.55318 -3.18217 30.4202 -34.46 3.22415 -3.20329 29.9637 -34.465 2.9105 -3.21423 29.5181 -34.47 2.61188 -3.21651 29.0833 -34.475 2.32787 -3.21156 28.6589 -34.48 2.05804 -3.20071 28.2446 -34.485 1.80192 -3.18522 27.8399 -34.49 1.55907 -3.16624 27.4446 -34.495 1.32898 -3.14482 27.0583 -34.5 1.11117 -3.12193 26.6807 -34.505 0.905122 -3.09844 26.3115 -34.51 0.710295 -3.07513 25.9503 -34.515 0.526146 -3.05268 25.597 -34.52 0.352109 -3.03166 25.2511 -34.525 0.187605 -3.01258 24.9125 -34.53 0.0320372 -2.99583 24.5809 -34.535 -0.115208 -2.98171 24.2559 -34.54 -0.254782 -2.97047 23.9374 -34.545 -0.387275 -2.96238 23.625 -34.55 -0.513104 -2.9577 23.3186 -34.555 -0.632682 -2.95664 23.018 -34.56 -0.746426 -2.95939 22.7232 -34.565 -0.854757 -2.96614 22.434 -34.57 -0.958102 -2.97704 22.1503 -34.575 -1.05689 -2.99223 21.872 -34.58 -1.15155 -3.01181 21.5989 -34.585 -1.24251 -3.03589 21.331 -34.59 -1.33023 -3.06453 21.0681 -34.595 -1.41514 -3.09778 20.8103 -34.6 -1.49769 -3.13568 20.5574 -34.605 -1.57833 -3.17823 20.3093 -34.61 -1.65749 -3.22544 20.066 -34.615 -1.7354 -3.27741 19.8276 -34.62 -1.81225 -3.33425 19.5941 -34.625 -1.88827 -3.39608 19.3654 -34.63 -1.9637 -3.46299 19.1417 -34.635 -2.03877 -3.5351 18.9229 -34.64 -2.11373 -3.61251 18.7091 -34.645 -2.18883 -3.6953 18.5004 -34.65 -2.26432 -3.78358 18.2968 -34.655 -2.34047 -3.87743 18.0983 -34.66 -2.41754 -3.97694 17.9051 -34.665 -2.49581 -4.08219 17.7173 -34.67 -2.57557 -4.19326 17.5348 -34.675 -2.65709 -4.31023 17.3579 -34.68 -2.74068 -4.43317 17.1866 -34.685 -2.82652 -4.56217 17.0212 -34.69 -2.91476 -4.69747 16.8617 -34.695 -3.00552 -4.83928 16.7084 -34.7 -3.09896 -4.98783 16.5616 -34.705 -3.19522 -5.14332 16.4213 -34.71 -3.29449 -5.30594 16.2879 -34.715 -3.39692 -5.47589 16.1617 -34.72 -3.50271 -5.65332 16.0429 -34.725 -3.61205 -5.8384 15.9319 -34.73 -3.72515 -6.03128 15.8291 -34.735 -3.84221 -6.2321 15.7347 -34.74 -3.96346 -6.44097 15.6493 -34.745 -4.08913 -6.65801 15.5731 -34.75 -4.21946 -6.88332 15.5067 -34.755 -4.3547 -7.11699 15.4506 -34.76 -4.49511 -7.3591 15.4051 -34.765 -4.64088 -7.60958 15.3708 -34.77 -4.79197 -7.8682 15.3482 -34.775 -4.94856 -8.13529 15.338 -34.78 -5.11084 -8.41115 15.3411 -34.785 -5.27899 -8.69596 15.3582 -34.79 -5.45316 -8.98979 15.3903 -34.795 -5.63346 -9.29258 15.438 -34.8 -5.81999 -9.60417 15.5024 -34.805 -6.01284 -9.92431 15.5843 -34.81 -6.21205 -10.2526 15.6845 -34.815 -6.41766 -10.5885 15.8041 -34.82 -6.62966 -10.9315 15.9439 -34.825 -6.84804 -11.2808 16.1048 -34.83 -7.07276 -11.6355 16.2879 -34.835 -7.30375 -11.9948 16.4942 -34.84 -7.54092 -12.3576 16.7246 -34.845 -7.78416 -12.7226 16.9801 -34.85 -8.03333 -13.0887 17.2617 -34.855 -8.28828 -13.4544 17.5706 -34.86 -8.54881 -13.8181 17.9078 -34.865 -8.8146 -14.1786 18.274 -34.87 -9.08477 -14.535 18.6688 -34.875 -9.35879 -14.8843 19.0934 -34.88 -9.63609 -15.2234 19.5487 -34.885 -9.916 -15.5493 20.0353 -34.89 -10.1977 -15.859 20.5532 -34.895 -10.4804 -16.1494 21.1024 -34.9 -10.7631 -16.4177 21.6821 -34.905 -11.0446 -16.6608 22.2913 -34.91 -11.3239 -16.8759 22.9287 -34.915 -11.5995 -17.0601 23.5923 -34.92 -11.8702 -17.2105 24.2801 -34.925 -12.1343 -17.3244 24.9893 -34.93 -12.3904 -17.399 25.7171 -34.935 -12.6368 -17.4315 26.46 -34.94 -12.8715 -17.4192 27.2142 -34.945 -13.0928 -17.3594 27.9756 -34.95 -13.2986 -17.2492 28.7398 -34.955 -13.4885 -17.0821 29.5046 -34.96 -13.6608 -16.8591 30.2637 -34.965 -13.8133 -16.5838 31.0096 -34.97 -13.9441 -16.2597 31.7355 -34.975 -14.0516 -15.8903 32.4353 -34.98 -14.1344 -15.4791 33.1034 -34.985 -14.1915 -15.0294 33.7349 -34.99 -14.222 -14.5445 34.3255 -34.995 -14.2255 -14.0276 34.8715 -35 -14.2016 -13.4817 35.3699 -35.005 -14.1504 -12.9101 35.8181 -35.01 -14.072 -12.3156 36.2145 -35.015 -13.9672 -11.7012 36.5578 -35.02 -13.8367 -11.0697 36.8474 -35.025 -13.6815 -10.424 37.0835 -35.03 -13.503 -9.76666 37.2666 -35.035 -13.3029 -9.10038 37.3982 -35.04 -13.0812 -8.43406 37.4781 -35.045 -12.8377 -7.7792 37.5056 -35.05 -12.5743 -7.13973 37.4828 -35.055 -12.2933 -6.51915 37.4115 -35.06 -11.9964 -5.92059 37.2942 -35.065 -11.6858 -5.34677 37.1336 -35.07 -11.3633 -4.80003 36.9323 -35.075 -11.0308 -4.2823 36.6935 -35.08 -10.6902 -3.79513 36.4206 -35.085 -10.3432 -3.33967 36.1172 -35.09 -9.99165 -2.91668 35.787 -35.095 -9.63726 -2.52653 35.4343 -35.1 -9.28173 -2.16917 35.0634 -35.105 -8.92671 -1.8442 34.6789 -35.11 -8.57383 -1.5508 34.2856 -35.115 -8.22468 -1.28772 33.8884 -35.12 -7.88065 -1.05265 33.4865 -35.125 -7.54271 -0.843811 33.0796 -35.13 -7.21173 -0.659773 32.6693 -35.135 -6.88844 -0.499116 32.257 -35.14 -6.57353 -0.360405 31.844 -35.145 -6.2676 -0.242194 31.4316 -35.15 -5.97118 -0.143027 31.0207 -35.155 -5.6847 -0.0614354 30.6123 -35.16 -5.40852 0.00405869 30.2072 -35.165 -5.14292 0.0549445 29.8059 -35.17 -4.8881 0.0927218 29.4091 -35.175 -4.64419 0.118902 29.017 -35.18 -4.41121 0.135005 28.6298 -35.185 -4.18914 0.142565 28.2477 -35.19 -3.97783 0.142923 27.8707 -35.195 -3.77703 0.136203 27.499 -35.2 -3.58652 0.123058 27.1324 -35.205 -3.40605 0.104243 26.7711 -35.21 -3.2354 0.0804594 26.415 -35.215 -3.07431 0.0523528 26.0641 -35.22 -2.92252 0.0205155 25.7183 -35.225 -2.77975 -0.0145147 25.3775 -35.23 -2.64574 -0.0522548 25.0417 -35.235 -2.52019 -0.0922758 24.7109 -35.24 -2.4028 -0.134203 24.385 -35.245 -2.29326 -0.177717 24.0638 -35.25 -2.19125 -0.222552 23.7473 -35.255 -2.09644 -0.268496 23.4354 -35.26 -2.00849 -0.315394 23.128 -35.265 -1.92703 -0.363124 22.825 -35.27 -1.85175 -0.411546 22.5263 -35.275 -1.78245 -0.46054 22.2318 -35.28 -1.7189 -0.510003 21.9416 -35.285 -1.66089 -0.55986 21.6555 -35.29 -1.60822 -0.610052 21.3734 -35.295 -1.56066 -0.660546 21.0953 -35.3 -1.51799 -0.711329 20.8212 -35.305 -1.48001 -0.762411 20.5509 -35.31 -1.44649 -0.813822 20.2845 -35.315 -1.4172 -0.865616 20.0219 -35.32 -1.39193 -0.917866 19.7629 -35.325 -1.37046 -0.970671 19.5077 -35.33 -1.35256 -1.02415 19.2561 -35.335 -1.33801 -1.07844 19.0081 -35.34 -1.32665 -1.13365 18.7636 -35.345 -1.31847 -1.18981 18.5228 -35.35 -1.31341 -1.24698 18.2854 -35.355 -1.31139 -1.30525 18.0515 -35.36 -1.31237 -1.36471 17.8212 -35.365 -1.31628 -1.42546 17.5942 -35.37 -1.32306 -1.48762 17.3708 -35.375 -1.33265 -1.5513 17.1507 -35.38 -1.345 -1.61666 16.9341 -35.385 -1.36004 -1.68384 16.7209 -35.39 -1.37774 -1.75299 16.5111 -35.395 -1.39802 -1.82429 16.3048 -35.4 -1.42085 -1.89793 16.1018 -35.405 -1.44616 -1.97409 15.9024 -35.41 -1.47391 -2.05299 15.7063 -35.415 -1.50412 -2.13479 15.5138 -35.42 -1.53686 -2.21962 15.3248 -35.425 -1.5722 -2.30765 15.1394 -35.43 -1.61017 -2.39903 14.9575 -35.435 -1.65084 -2.49396 14.7792 -35.44 -1.69426 -2.59262 14.6046 -35.445 -1.74049 -2.69522 14.4337 -35.45 -1.78962 -2.80196 14.2666 -35.455 -1.8417 -2.91307 14.1034 -35.46 -1.89682 -3.02879 13.9441 -35.465 -1.95506 -3.14935 13.7889 -35.47 -2.0165 -3.27501 13.6379 -35.475 -2.08122 -3.40604 13.4913 -35.48 -2.14934 -3.54272 13.3491 -35.485 -2.22093 -3.68532 13.2115 -35.49 -2.29611 -3.83415 13.0787 -35.495 -2.37497 -3.98952 12.9508 -35.5 -2.4577 -4.15155 12.8282 -35.505 -2.54452 -4.32026 12.7113 -35.51 -2.6356 -4.49613 12.6001 -35.515 -2.73108 -4.67964 12.4949 -35.52 -2.83111 -4.87122 12.3958 -35.525 -2.93587 -5.0713 12.3031 -35.53 -3.04553 -5.28028 12.2172 -35.535 -3.16026 -5.49853 12.1384 -35.54 -3.28027 -5.72641 12.0672 -35.545 -3.40573 -5.96426 12.0041 -35.55 -3.53685 -6.21239 11.9496 -35.555 -3.67384 -6.47108 11.9042 -35.56 -3.81692 -6.7406 11.8688 -35.565 -3.96631 -7.02119 11.8439 -35.57 -4.12224 -7.31308 11.8303 -35.575 -4.28495 -7.61647 11.8289 -35.58 -4.45468 -7.93152 11.8404 -35.585 -4.63169 -8.25841 11.8659 -35.59 -4.81624 -8.59725 11.9062 -35.595 -5.00858 -8.94817 11.9625 -35.6 -5.20901 -9.31124 12.0357 -35.605 -5.41779 -9.68653 12.1271 -35.61 -5.63522 -10.0741 12.2377 -35.615 -5.86127 -10.4734 12.3686 -35.62 -6.09556 -10.8836 12.5204 -35.625 -6.33849 -11.3048 12.6955 -35.63 -6.59043 -11.7368 12.8958 -35.635 -6.8516 -12.1794 13.1233 -35.64 -7.12217 -12.6319 13.3798 -35.645 -7.40215 -13.0932 13.6673 -35.65 -7.69148 -13.562 13.9873 -35.655 -7.98998 -14.0367 14.3414 -35.66 -8.29737 -14.5154 14.7312 -35.665 -8.61327 -14.9958 15.158 -35.67 -8.93718 -15.4753 15.6232 -35.675 -9.26852 -15.951 16.1278 -35.68 -9.60658 -16.4198 16.6731 -35.685 -9.95055 -16.8782 17.2601 -35.69 -10.2995 -17.3224 17.8896 -35.695 -10.6525 -17.7481 18.5624 -35.7 -11.0083 -18.1511 19.2794 -35.705 -11.3658 -18.5265 20.041 -35.71 -11.7236 -18.8697 20.8477 -35.715 -12.0804 -19.1784 21.6975 -35.72 -12.4339 -19.4457 22.5871 -35.725 -12.7817 -19.6643 23.5131 -35.73 -13.1215 -19.8281 24.4712 -35.735 -13.4508 -19.9315 25.4569 -35.74 -13.7673 -19.9698 26.4649 -35.745 -14.0684 -19.9389 27.4894 -35.75 -14.3517 -19.8359 28.5241 -35.755 -14.6146 -19.6583 29.5621 -35.76 -14.8546 -19.4047 30.596 -35.765 -15.0692 -19.0741 31.6177 -35.77 -15.2557 -18.6667 32.6188 -35.775 -15.4115 -18.1832 33.5902 -35.78 -15.534 -17.6254 34.5222 -35.785 -15.621 -16.9931 35.4038 -35.79 -15.6714 -16.2867 36.2243 -35.795 -15.6842 -15.519 36.9784 -35.8 -15.6584 -14.7024 37.6615 -35.805 -15.5935 -13.8483 38.27 -35.81 -15.4895 -12.9671 38.801 -35.815 -15.3469 -12.0684 39.2523 -35.82 -15.1663 -11.1606 39.6227 -35.825 -14.949 -10.2513 39.9114 -35.83 -14.6967 -9.3471 40.1186 -35.835 -14.4114 -8.45344 40.2454 -35.84 -14.0956 -7.57497 40.2932 -35.845 -13.7523 -6.71528 40.2647 -35.85 -13.3846 -5.87702 40.163 -35.855 -12.9965 -5.06182 39.9922 -35.86 -12.5899 -4.27844 39.7595 -35.865 -12.1658 -3.53936 39.4742 -35.87 -11.7275 -2.84714 39.1421 -35.875 -11.2782 -2.20357 38.7687 -35.88 -10.8209 -1.60973 38.3596 -35.885 -10.3583 -1.06597 37.9204 -35.89 -9.89301 -0.57194 37.4562 -35.895 -9.42754 -0.126578 36.9723 -35.9 -8.96413 0.271902 36.4739 -35.905 -8.50486 0.625995 35.9659 -35.91 -8.05165 0.938912 35.4531 -35.915 -7.60622 1.21451 34.9404 -35.92 -7.17012 1.45484 34.4288 -35.925 -6.74447 1.66192 33.9191 -35.93 -6.33021 1.83851 33.4131 -35.935 -5.92814 1.98726 32.9123 -35.94 -5.53895 2.11074 32.4178 -35.945 -5.1632 2.21144 31.9307 -35.95 -4.80132 2.29174 31.4519 -35.955 -4.4536 2.35398 30.9819 -35.96 -4.12023 2.40037 30.5211 -35.965 -3.80126 2.43306 30.0696 -35.97 -3.49661 2.4541 29.6273 -35.975 -3.20608 2.46542 29.1941 -35.98 -2.92945 2.46839 28.7699 -35.985 -2.66636 2.46423 28.3548 -35.99 -2.41643 2.45412 27.9483 -35.995 -2.17924 2.43916 27.5503 -36 -1.95439 2.42038 27.1605 -36.005 -1.74144 2.39871 26.7785 -36.01 -1.53996 2.37503 26.4043 -36.015 -1.3495 2.35012 26.0374 -36.02 -1.16958 2.32468 25.6777 -36.025 -0.999716 2.29934 25.325 -36.03 -0.839426 2.27465 24.979 -36.035 -0.688196 2.25108 24.6394 -36.04 -0.545505 2.22903 24.3061 -36.045 -0.410819 2.20879 23.9789 -36.05 -0.28359 2.19061 23.6575 -36.055 -0.163258 2.17469 23.3417 -36.06 -0.0493716 2.16126 23.0314 -36.065 0.0584383 2.15053 22.7263 -36.07 0.160542 2.14268 22.4264 -36.075 0.257312 2.13785 22.1316 -36.08 0.34912 2.1362 21.8417 -36.085 0.436343 2.13783 21.5566 -36.09 0.519358 2.14286 21.2763 -36.095 0.598542 2.15136 21.0005 -36.1 0.674276 2.1634 20.7293 -36.105 0.746942 2.17902 20.4625 -36.11 0.816922 2.19823 20.2001 -36.115 0.884602 2.22106 19.942 -36.12 0.950364 2.24749 19.688 -36.125 1.01446 2.27757 19.4383 -36.13 1.07706 2.31141 19.1927 -36.135 1.13839 2.34909 18.9513 -36.14 1.19864 2.39068 18.714 -36.145 1.25802 2.43627 18.4809 -36.15 1.31676 2.48592 18.2518 -36.155 1.37507 2.53972 18.0269 -36.16 1.43317 2.59774 17.8061 -36.165 1.49131 2.66004 17.5894 -36.17 1.5497 2.7267 17.3768 -36.175 1.60858 2.79777 17.1684 -36.18 1.6682 2.87333 16.9642 -36.185 1.72881 2.95343 16.7641 -36.19 1.79064 3.03815 16.5682 -36.195 1.85384 3.12762 16.3767 -36.2 1.91854 3.22203 16.1895 -36.205 1.98483 3.32158 16.0068 -36.21 2.05287 3.42644 15.8285 -36.215 2.12279 3.53681 15.655 -36.22 2.19475 3.65287 15.4861 -36.225 2.26891 3.7748 15.3221 -36.23 2.34544 3.90281 15.1632 -36.235 2.42453 4.03708 15.0093 -36.24 2.50637 4.1778 14.8609 -36.245 2.59117 4.32516 14.7179 -36.25 2.67915 4.47935 14.5807 -36.255 2.77053 4.64057 14.4494 -36.26 2.86554 4.809 14.3242 -36.265 2.96445 4.98484 14.2054 -36.27 3.06748 5.16824 14.0934 -36.275 3.17475 5.35934 13.9884 -36.28 3.28641 5.55856 13.8908 -36.285 3.40264 5.7663 13.8009 -36.29 3.52359 5.98292 13.7192 -36.295 3.64945 6.20875 13.646 -36.3 3.78041 6.44407 13.5819 -36.305 3.91663 6.68916 13.5274 -36.31 4.05833 6.94422 13.4831 -36.315 4.20569 7.20944 13.4496 -36.32 4.35892 7.48498 13.4275 -36.325 4.51822 7.77094 13.4177 -36.33 4.68382 8.0674 13.4208 -36.335 4.85593 8.37441 13.4377 -36.34 5.03478 8.69197 13.4693 -36.345 5.2206 9.02006 13.5165 -36.35 5.41361 9.3586 13.5803 -36.355 5.61408 9.70749 13.6616 -36.36 5.82224 10.0666 13.7615 -36.365 6.03797 10.4353 13.8806 -36.37 6.26042 10.8121 14.0185 -36.375 6.49 11.1971 14.1774 -36.38 6.72714 11.5904 14.3597 -36.385 6.97215 11.9915 14.5672 -36.39 7.22525 12.4001 14.8021 -36.395 7.48653 12.8152 15.0658 -36.4 7.75596 13.2358 15.3601 -36.405 8.03343 13.6605 15.6862 -36.41 8.31868 14.0877 16.0454 -36.415 8.61136 14.5155 16.4387 -36.42 8.911 14.9416 16.8669 -36.425 9.21703 15.3636 17.3306 -36.43 9.52874 15.7788 17.8304 -36.435 9.84534 16.1841 18.3666 -36.44 10.1659 16.5762 18.9393 -36.445 10.4894 16.9517 19.5485 -36.45 10.8147 17.3066 20.194 -36.455 11.1406 17.6369 20.8754 -36.46 11.4656 17.9381 21.5921 -36.465 11.7883 18.2056 22.3435 -36.47 12.1072 18.4345 23.1285 -36.475 12.4204 18.6195 23.9461 -36.48 12.7263 18.7554 24.7951 -36.485 13.0236 18.84 25.6721 -36.49 13.3099 18.8704 26.57 -36.495 13.5823 18.8428 27.4816 -36.5 13.8383 18.7546 28.3997 -36.505 14.0755 18.6034 29.3175 -36.51 14.2915 18.3881 30.2281 -36.515 14.4842 18.1081 31.1248 -36.52 14.6518 17.7634 32.0013 -36.525 14.7926 17.355 32.8511 -36.53 14.9049 16.8846 33.6682 -36.535 14.9874 16.3546 34.4465 -36.54 15.0388 15.7682 35.1803 -36.545 15.0582 15.1294 35.8638 -36.55 15.0447 14.4429 36.4915 -36.555 14.9975 13.7142 37.0581 -36.56 14.9159 12.9495 37.5558 -36.565 14.8002 12.158 37.9808 -36.57 14.6514 11.3485 38.3336 -36.575 14.4704 10.5298 38.6151 -36.58 14.2587 9.70948 38.8266 -36.585 14.0178 8.89475 38.9695 -36.59 13.7492 8.09205 39.046 -36.595 13.455 7.30713 39.0583 -36.6 13.137 6.54509 39.0091 -36.605 12.7975 5.81034 38.9016 -36.61 12.4389 5.10662 38.7391 -36.615 12.0637 4.43698 38.5255 -36.62 11.6746 3.80379 38.265 -36.625 11.2747 3.20878 37.9621 -36.63 10.8668 2.65295 37.6216 -36.635 10.4533 2.13777 37.2503 -36.64 10.0359 1.66414 36.8542 -36.645 9.61667 1.23153 36.4373 -36.65 9.19786 0.839126 36.0033 -36.655 8.78134 0.48583 35.5558 -36.66 8.36889 0.17026 35.098 -36.665 7.96208 -0.109256 34.6328 -36.67 7.56233 -0.354678 34.1632 -36.675 7.17089 -0.56825 33.6915 -36.68 6.78882 -0.752505 33.2201 -36.685 6.41703 -0.910264 32.7509 -36.69 6.05627 -1.04463 32.2858 -36.695 5.70712 -1.15831 31.8259 -36.7 5.37008 -1.25203 31.3714 -36.705 5.04539 -1.32762 30.9226 -36.71 4.7332 -1.38695 30.4801 -36.715 4.43362 -1.43179 30.0443 -36.72 4.14669 -1.46378 29.6154 -36.725 3.8724 -1.4845 29.1937 -36.73 3.61068 -1.49538 28.7792 -36.735 3.36139 -1.49777 28.3721 -36.74 3.12436 -1.49292 27.9723 -36.745 2.89932 -1.48198 27.5798 -36.75 2.68597 -1.46598 27.1942 -36.755 2.48394 -1.44585 26.8154 -36.76 2.29271 -1.42241 26.4432 -36.765 2.11187 -1.39632 26.0776 -36.77 1.9411 -1.36817 25.7183 -36.775 1.78002 -1.33852 25.3651 -36.78 1.62827 -1.30789 25.0179 -36.785 1.48549 -1.27673 24.6765 -36.79 1.35129 -1.24547 24.3408 -36.795 1.22527 -1.21448 24.0105 -36.8 1.10704 -1.18409 23.6855 -36.805 0.996204 -1.15459 23.3656 -36.81 0.892333 -1.12622 23.0508 -36.815 0.795009 -1.09917 22.7408 -36.82 0.7038 -1.07359 22.4356 -36.825 0.618268 -1.0496 22.1349 -36.83 0.537964 -1.02724 21.8388 -36.835 0.462433 -1.00654 21.547 -36.84 0.391265 -0.987499 21.2595 -36.845 0.324311 -0.970245 20.9762 -36.85 0.261353 -0.954856 20.6969 -36.855 0.202157 -0.941388 20.4217 -36.86 0.146486 -0.929885 20.1504 -36.865 0.0941036 -0.920383 19.883 -36.87 0.0447729 -0.912903 19.6193 -36.875 -0.00174507 -0.907458 19.3594 -36.88 -0.0456896 -0.904049 19.1031 -36.885 -0.087301 -0.902665 18.8505 -36.89 -0.126821 -0.903285 18.6014 -36.895 -0.16449 -0.905876 18.3557 -36.9 -0.200554 -0.910396 18.1134 -36.905 -0.235254 -0.916789 17.8745 -36.91 -0.268745 -0.925064 17.6389 -36.915 -0.301112 -0.93527 17.4066 -36.92 -0.332469 -0.947435 17.1775 -36.925 -0.362931 -0.961585 16.9517 -36.93 -0.392616 -0.977745 16.729 -36.935 -0.421644 -0.995939 16.5094 -36.94 -0.450139 -1.01619 16.2929 -36.945 -0.478226 -1.03852 16.0795 -36.95 -0.506033 -1.06294 15.8691 -36.955 -0.533691 -1.08948 15.6617 -36.96 -0.561333 -1.11815 15.4573 -36.965 -0.589096 -1.14896 15.2558 -36.97 -0.617117 -1.18194 15.0573 -36.975 -0.645529 -1.2171 14.8616 -36.98 -0.674408 -1.25453 14.6688 -36.985 -0.703809 -1.29431 14.4789 -36.99 -0.733793 -1.33654 14.2918 -36.995 -0.764429 -1.38131 14.1076 -37 -0.795792 -1.42872 13.9261 -37.005 -0.827962 -1.47886 13.7475 -37.01 -0.861026 -1.53185 13.5718 -37.015 -0.895078 -1.58778 13.3988 -37.02 -0.930216 -1.64677 13.2287 -37.025 -0.966547 -1.70893 13.0614 -37.03 -1.00418 -1.77437 12.8969 -37.035 -1.04324 -1.84321 12.7353 -37.04 -1.08384 -1.91557 12.5766 -37.045 -1.12612 -1.99158 12.4208 -37.05 -1.17022 -2.07135 12.2678 -37.055 -1.21626 -2.15505 12.1179 -37.06 -1.26433 -2.24287 11.971 -37.065 -1.31451 -2.33505 11.8272 -37.07 -1.36687 -2.4318 11.6864 -37.075 -1.42151 -2.53336 11.5489 -37.08 -1.47855 -2.63997 11.4145 -37.085 -1.53809 -2.75188 11.2835 -37.09 -1.60026 -2.86935 11.1559 -37.095 -1.66521 -2.99264 11.0318 -37.1 -1.73308 -3.12201 10.9114 -37.105 -1.80404 -3.25776 10.7948 -37.11 -1.87825 -3.40016 10.6822 -37.115 -1.9559 -3.5495 10.5737 -37.12 -2.03718 -3.70609 10.4696 -37.125 -2.12231 -3.87024 10.3701 -37.13 -2.21148 -4.04225 10.2754 -37.135 -2.30493 -4.22246 10.1857 -37.14 -2.40291 -4.41118 10.1013 -37.145 -2.50564 -4.60873 10.0226 -37.15 -2.61333 -4.81501 9.95007 -37.155 -2.72617 -5.03054 9.88418 -37.16 -2.8444 -5.25603 9.82513 -37.165 -2.96824 -5.49215 9.77325 -37.17 -3.09792 -5.7395 9.72894 -37.175 -3.23371 -5.99866 9.69269 -37.18 -3.37583 -6.27013 9.66509 -37.185 -3.52457 -6.55438 9.64677 -37.19 -3.68017 -6.85183 9.6385 -37.195 -3.84292 -7.16283 9.64109 -37.2 -4.01309 -7.48772 9.65545 -37.205 -4.19097 -7.82674 9.6826 -37.21 -4.37685 -8.18013 9.72359 -37.215 -4.57104 -8.54805 9.7796 -37.22 -4.77384 -8.93061 9.85188 -37.225 -4.98557 -9.3279 9.94176 -37.23 -5.20654 -9.73993 10.0507 -37.235 -5.4371 -10.1667 10.1801 -37.24 -5.67756 -10.608 10.3316 -37.245 -5.92828 -11.0639 10.5069 -37.25 -6.1896 -11.5341 10.7077 -37.255 -6.46187 -12.0184 10.9358 -37.26 -6.74451 -12.5155 11.192 -37.265 -7.03733 -13.0244 11.4783 -37.27 -7.34082 -13.5445 11.7981 -37.275 -7.65525 -14.0749 12.1542 -37.28 -7.98074 -14.614 12.5495 -37.285 -8.31723 -15.16 12.9865 -37.29 -8.66449 -15.7104 13.4673 -37.295 -9.02211 -16.2624 13.994 -37.3 -9.38951 -16.8126 14.5682 -37.305 -9.76593 -17.3574 15.1914 -37.31 -10.1504 -17.8925 15.8649 -37.315 -10.542 -18.4132 16.5894 -37.32 -10.9392 -18.9144 17.3658 -37.325 -11.3406 -19.3904 18.1944 -37.33 -11.7448 -19.8353 19.0753 -37.335 -12.1497 -20.2426 20.0085 -37.34 -12.5535 -20.6051 20.9936 -37.345 -12.954 -20.9157 22.03 -37.35 -13.3496 -21.1701 23.1156 -37.355 -13.7371 -21.3609 24.2439 -37.36 -14.1131 -21.4795 25.4073 -37.365 -14.4741 -21.5183 26.5975 -37.37 -14.8166 -21.4714 27.8061 -37.375 -15.1374 -21.3339 29.0242 -37.38 -15.4332 -21.1027 30.2426 -37.385 -15.7009 -20.7756 31.4517 -37.39 -15.9375 -20.3519 32.6414 -37.395 -16.14 -19.8325 33.8015 -37.4 -16.3055 -19.2192 34.9213 -37.405 -16.4313 -18.5156 35.9896 -37.41 -16.5146 -17.7262 36.995 -37.415 -16.5528 -16.8568 37.9253 -37.42 -16.5447 -15.9105 38.7645 -37.425 -16.4897 -14.9017 39.5068 -37.43 -16.3877 -13.8474 40.1505 -37.435 -16.2392 -12.763 40.6944 -37.44 -16.045 -11.6625 41.1382 -37.445 -15.8064 -10.5583 41.4822 -37.45 -15.5251 -9.46169 41.7276 -37.455 -15.2035 -8.38212 41.8762 -37.46 -14.8442 -7.32778 41.9307 -37.465 -14.4504 -6.30537 41.8943 -37.47 -14.0257 -5.32014 41.7712 -37.475 -13.5742 -4.37585 41.5662 -37.48 -13.1005 -3.47485 41.2848 -37.485 -12.6091 -2.61924 40.934 -37.49 -12.1018 -1.82115 40.5285 -37.495 -11.5818 -1.08473 40.0778 -37.5 -11.0528 -0.410545 39.5895 -37.505 -10.5185 0.201595 39.0704 -37.51 -9.98199 0.752683 38.5274 -37.515 -9.44631 1.2445 37.9666 -37.52 -8.91417 1.6796 37.3938 -37.525 -8.38803 2.06135 36.8146 -37.53 -7.87008 2.39388 36.2339 -37.535 -7.36222 2.68213 35.6563 -37.54 -6.86616 2.93028 35.0849 -37.545 -6.38324 3.14048 34.5205 -37.55 -5.91446 3.31634 33.9648 -37.555 -5.46064 3.46132 33.4192 -37.56 -5.02248 3.57874 32.8847 -37.565 -4.6005 3.67173 32.3624 -37.57 -4.19507 3.74328 31.8527 -37.575 -3.8064 3.7962 31.3559 -37.58 -3.43457 3.83313 30.8723 -37.585 -3.07947 3.85657 30.4015 -37.59 -2.74086 3.86884 29.9431 -37.595 -2.41846 3.87203 29.4972 -37.6 -2.11184 3.86768 29.0632 -37.605 -1.82049 3.85722 28.6408 -37.61 -1.54393 3.84196 28.2295 -37.615 -1.28162 3.82312 27.8288 -37.62 -1.03302 3.80182 27.4382 -37.625 -0.797599 3.77912 27.0574 -37.63 -0.574775 3.75596 26.6859 -37.635 -0.363972 3.7332 26.3234 -37.64 -0.164596 3.7116 25.9695 -37.645 0.0239628 3.69184 25.6239 -37.65 0.202328 3.67449 25.2863 -37.655 0.371139 3.66006 24.9564 -37.66 0.531049 3.64893 24.6338 -37.665 0.682725 3.64143 24.3184 -37.67 0.826852 3.63775 24.0099 -37.675 0.964118 3.6381 23.7081 -37.68 1.09501 3.64268 23.4125 -37.685 1.21993 3.6517 23.1233 -37.69 1.33931 3.66535 22.8401 -37.695 1.45358 3.68379 22.563 -37.7 1.56316 3.70718 22.2919 -37.705 1.6685 3.73565 22.0265 -37.71 1.77002 3.7693 21.767 -37.715 1.86819 3.80823 21.5131 -37.72 1.96344 3.85252 21.2649 -37.725 2.05623 3.90222 21.0222 -37.73 2.14703 3.95738 20.7851 -37.735 2.2363 4.018 20.5534 -37.74 2.3245 4.08409 20.3272 -37.745 2.41207 4.15566 20.1064 -37.75 2.49918 4.23282 19.8912 -37.755 2.58604 4.31569 19.6817 -37.76 2.67288 4.40439 19.4779 -37.765 2.75993 4.49904 19.2799 -37.77 2.84742 4.59974 19.0878 -37.775 2.9356 4.7066 18.9018 -37.78 3.02473 4.81971 18.722 -37.785 3.11505 4.93916 18.5485 -37.79 3.20684 5.06503 18.3814 -37.795 3.30036 5.19739 18.221 -37.8 3.39589 5.33632 18.0675 -37.805 3.49371 5.48188 17.9209 -37.81 3.59411 5.63412 17.7814 -37.815 3.69739 5.7931 17.6494 -37.82 3.80376 5.95881 17.5251 -37.825 3.91334 6.13141 17.4087 -37.83 4.02627 6.31114 17.3007 -37.835 4.14269 6.49818 17.2013 -37.84 4.26274 6.69269 17.111 -37.845 4.38657 6.89481 17.0302 -37.85 4.51433 7.1046 16.9593 -37.855 4.64618 7.32214 16.8987 -37.86 4.78226 7.54744 16.849 -37.865 4.92273 7.78048 16.8106 -37.87 5.06776 8.02121 16.7841 -37.875 5.2175 8.26955 16.77 -37.88 5.37212 8.52537 16.7689 -37.885 5.53179 8.78853 16.7815 -37.89 5.69669 9.05884 16.8083 -37.895 5.86697 9.33606 16.85 -37.9 6.04283 9.61994 16.9072 -37.905 6.2243 9.91011 16.9805 -37.91 6.41094 10.206 17.0698 -37.915 6.60287 10.5074 17.1764 -37.92 6.80022 10.8139 17.3015 -37.925 7.00307 11.125 17.4464 -37.93 7.21142 11.4401 17.6121 -37.935 7.42522 11.7583 17.7997 -37.94 7.64434 12.0787 18.01 -37.945 7.86863 12.4004 18.2438 -37.95 8.09782 12.7221 18.5017 -37.955 8.33163 13.0424 18.7842 -37.96 8.56969 13.36 19.0918 -37.965 8.81157 13.6732 19.4248 -37.97 9.05678 13.9803 19.7834 -37.975 9.30478 14.2793 20.1677 -37.98 9.55496 14.5684 20.5776 -37.985 9.80663 14.8453 21.0131 -37.99 10.0591 15.1077 21.4738 -37.995 10.3115 15.3533 21.9595 -38 10.563 15.5794 22.4697 -38.005 10.8127 15.7834 23.0037 -38.01 11.0596 15.9624 23.561 -38.015 11.303 16.1152 24.141 -38.02 11.5418 16.2394 24.7413 -38.025 11.7744 16.3321 25.3588 -38.03 11.9991 16.3907 25.9903 -38.035 12.2145 16.4127 26.6323 -38.04 12.4192 16.3964 27.2815 -38.045 12.6118 16.3402 27.9345 -38.05 12.7909 16.2429 28.5878 -38.055 12.9553 16.104 29.2378 -38.06 13.1037 15.923 29.8809 -38.065 13.2351 15.7 30.5133 -38.07 13.3483 15.4356 31.1314 -38.075 13.4423 15.1304 31.7312 -38.08 13.5161 14.7859 32.309 -38.085 13.5689 14.4036 32.8608 -38.09 13.5996 13.9856 33.3825 -38.095 13.6076 13.5343 33.8702 -38.1 13.5921 13.0513 34.3182 -38.105 13.5531 12.5406 34.7232 -38.11 13.4907 12.0079 35.0842 -38.115 13.4052 11.4588 35.4007 -38.12 13.2973 10.8982 35.6722 -38.125 13.1673 10.3309 35.8987 -38.13 13.0162 9.76123 36.08 -38.135 12.8446 9.19312 36.2166 -38.14 12.6537 8.6302 36.3091 -38.145 12.4444 8.0757 36.358 -38.15 12.2181 7.53251 36.3645 -38.155 11.9761 7.00313 36.3297 -38.16 11.7199 6.4897 36.2552 -38.165 11.4511 5.994 36.1425 -38.17 11.1715 5.51745 35.9937 -38.175 10.883 5.06107 35.8108 -38.18 10.5875 4.62556 35.5962 -38.185 10.2864 4.21315 35.3541 -38.19 9.98049 3.82673 35.0889 -38.195 9.67126 3.46665 34.8031 -38.2 9.36024 3.13305 34.4989 -38.205 9.04883 2.82588 34.1785 -38.21 8.73834 2.54488 33.8443 -38.215 8.42997 2.28958 33.4981 -38.22 8.12484 2.05933 33.142 -38.225 7.82397 1.85326 32.7779 -38.23 7.52826 1.6703 32.4078 -38.235 7.23856 1.50917 32.0334 -38.24 6.95559 1.36841 31.6563 -38.245 6.67997 1.24634 31.2783 -38.25 6.41226 1.14107 30.9009 -38.255 6.15291 1.05071 30.5255 -38.26 5.90231 0.975084 30.1516 -38.265 5.66067 0.913424 29.7794 -38.27 5.42813 0.864647 29.4095 -38.275 5.20479 0.827721 29.0423 -38.28 4.99073 0.801663 28.6782 -38.285 4.786 0.785539 28.3175 -38.29 4.5906 0.778463 27.9605 -38.295 4.40452 0.779601 27.6075 -38.3 4.22772 0.788165 27.2586 -38.305 4.06011 0.803417 26.9139 -38.31 3.90158 0.824668 26.5737 -38.315 3.75199 0.851277 26.2378 -38.32 3.61117 0.882654 25.9063 -38.325 3.47892 0.918256 25.5791 -38.33 3.35493 0.95768 25.2562 -38.335 3.23886 1.00067 24.9378 -38.34 3.13053 1.04689 24.6237 -38.345 3.02975 1.09603 24.314 -38.35 2.93632 1.14782 24.0086 -38.355 2.85006 1.20202 23.7075 -38.36 2.77076 1.25842 23.4106 -38.365 2.69822 1.31684 23.118 -38.37 2.63223 1.37715 22.8296 -38.375 2.57257 1.43922 22.5454 -38.38 2.51902 1.50297 22.2654 -38.385 2.47137 1.56837 21.9895 -38.39 2.42938 1.63539 21.7177 -38.395 2.39283 1.70405 21.45 -38.4 2.36146 1.77441 21.1865 -38.405 2.33506 1.84654 20.927 -38.41 2.31336 1.92056 20.6715 -38.415 2.29612 1.99661 20.4202 -38.42 2.28318 2.07478 20.1729 -38.425 2.27451 2.15509 19.9297 -38.43 2.27009 2.23757 19.6906 -38.435 2.26991 2.32228 19.4556 -38.44 2.27392 2.40928 19.2247 -38.445 2.28212 2.49866 18.9979 -38.45 2.29445 2.59052 18.7752 -38.455 2.3109 2.685 18.5567 -38.46 2.3314 2.78223 18.3425 -38.465 2.35593 2.88238 18.1325 -38.47 2.38443 2.98561 17.9269 -38.475 2.41686 3.09213 17.7257 -38.48 2.45315 3.20214 17.5289 -38.485 2.49325 3.31589 17.3368 -38.49 2.53709 3.43362 17.1493 -38.495 2.58461 3.5556 16.9666 -38.5 2.63574 3.68211 16.7888 -38.505 2.6904 3.81345 16.616 -38.51 2.74857 3.94991 16.4483 -38.515 2.81057 4.09146 16.2861 -38.52 2.87653 4.23828 16.1293 -38.525 2.94656 4.39062 15.9782 -38.53 3.02075 4.54873 15.8329 -38.535 3.09919 4.71285 15.6936 -38.54 3.18198 4.88324 15.5606 -38.545 3.26923 5.06012 15.4341 -38.55 3.36105 5.24375 15.3144 -38.555 3.45755 5.43435 15.2019 -38.56 3.55885 5.63217 15.0968 -38.565 3.66506 5.83744 14.9996 -38.57 3.77631 6.05038 14.9106 -38.575 3.89272 6.27124 14.8304 -38.58 4.01443 6.50023 14.7593 -38.585 4.14157 6.73758 14.6978 -38.59 4.27428 6.98352 14.6466 -38.595 4.41269 7.23827 14.606 -38.6 4.55695 7.50202 14.5767 -38.605 4.70694 7.77375 14.559 -38.61 4.86281 8.0535 14.5535 -38.615 5.02488 8.34193 14.5613 -38.62 5.19345 8.63957 14.5832 -38.625 5.36874 8.94678 14.6203 -38.63 5.55096 9.26377 14.6734 -38.635 5.74027 9.59058 14.7437 -38.64 5.93678 9.92712 14.8321 -38.645 6.14059 10.2731 14.9395 -38.65 6.35172 10.6282 15.0671 -38.655 6.57018 10.9917 15.2157 -38.66 6.79592 11.363 15.3865 -38.665 7.02887 11.7411 15.5805 -38.67 7.26891 12.125 15.7986 -38.675 7.51587 12.5136 16.042 -38.68 7.76955 12.9055 16.3117 -38.685 8.02971 13.2991 16.6087 -38.69 8.29606 13.6928 16.9342 -38.695 8.5683 14.0848 17.2891 -38.7 8.84605 14.4731 17.6747 -38.705 9.12891 14.8556 18.092 -38.71 9.41643 15.23 18.542 -38.715 9.70815 15.5938 19.0259 -38.72 10.0035 15.9445 19.5449 -38.725 10.3017 16.2804 20.0984 -38.73 10.6013 16.5988 20.6851 -38.735 10.9011 16.895 21.3047 -38.74 11.1999 17.1644 21.9563 -38.745 11.4964 17.4031 22.6387 -38.75 11.789 17.607 23.3499 -38.755 12.0764 17.7728 24.0879 -38.76 12.3569 17.897 24.85 -38.765 12.6289 17.9767 25.6328 -38.77 12.8906 18.0091 26.4329 -38.775 13.1402 17.9919 27.246 -38.78 13.3759 17.9228 28.0676 -38.785 13.5957 17.8001 28.8926 -38.79 13.7976 17.6222 29.7155 -38.795 13.9794 17.3876 30.5304 -38.8 14.139 17.0955 31.3307 -38.805 14.2754 16.741 32.1104 -38.81 14.3872 16.3267 32.863 -38.815 14.4727 15.859 33.5821 -38.82 14.5305 15.3444 34.2619 -38.825 14.5594 14.7887 34.8973 -38.83 14.5587 14.1977 35.4838 -38.835 14.5278 13.5766 36.0176 -38.84 14.4666 12.9305 36.4956 -38.845 14.3754 12.2642 36.9152 -38.85 14.2545 11.582 37.2747 -38.855 14.1047 10.888 37.5729 -38.86 13.9273 10.1862 37.8092 -38.865 13.7237 9.47986 37.9839 -38.87 13.4956 8.77228 38.0976 -38.875 13.2451 8.06631 38.152 -38.88 12.9745 7.36506 38.1491 -38.885 12.6837 6.68054 38.0922 -38.89 12.374 6.01978 37.9845 -38.895 12.0479 5.3861 37.8294 -38.9 11.7078 4.78237 37.6301 -38.905 11.3558 4.21091 37.3901 -38.91 10.9942 3.67355 37.113 -38.915 10.6251 3.17159 36.8027 -38.92 10.2504 2.70586 36.4631 -38.925 9.87207 2.27664 36.0982 -38.93 9.49208 1.88372 35.7124 -38.935 9.11216 1.52639 35.31 -38.94 8.73406 1.20342 34.8955 -38.945 8.3594 0.913067 34.4737 -38.95 7.98975 0.65327 34.0483 -38.955 7.62636 0.422663 33.6184 -38.96 7.2702 0.219604 33.1852 -38.965 6.92213 0.0423765 32.7504 -38.97 6.58291 -0.110727 32.3155 -38.975 6.25323 -0.241407 31.8816 -38.98 5.93365 -0.351357 31.4501 -38.985 5.62468 -0.442264 31.0218 -38.99 5.32671 -0.515805 30.5975 -38.995 5.04003 -0.573652 30.178 -39 4.76488 -0.617468 29.7637 -39.005 4.50135 -0.648911 29.355 -39.01 4.24948 -0.669629 28.952 -39.015 4.0092 -0.681263 28.5548 -39.02 3.78035 -0.684901 28.1634 -39.025 3.5627 -0.681058 27.778 -39.03 3.356 -0.67066 27.3986 -39.035 3.16001 -0.654573 27.025 -39.04 2.97444 -0.633598 26.6572 -39.045 2.79902 -0.608474 26.2952 -39.05 2.63346 -0.579876 25.9388 -39.055 2.47743 -0.548413 25.588 -39.06 2.33063 -0.514634 25.2427 -39.065 2.19271 -0.479023 24.9027 -39.07 2.06332 -0.441999 24.568 -39.075 1.94211 -0.40392 24.2384 -39.08 1.8287 -0.365077 23.9138 -39.085 1.72271 -0.325701 23.594 -39.09 1.62372 -0.286001 23.279 -39.095 1.53141 -0.246184 22.9685 -39.1 1.44551 -0.206419 22.6626 -39.105 1.36573 -0.166849 22.3611 -39.11 1.29181 -0.127597 22.064 -39.115 1.22345 -0.0887589 21.7711 -39.12 1.16038 -0.0504108 21.4823 -39.125 1.10233 -0.0126037 21.1977 -39.13 1.04901 0.0246343 20.917 -39.135 1.00016 0.0612984 20.6402 -39.14 0.95549 0.0974071 20.3672 -39.145 0.914732 0.133002 20.098 -39.15 0.877608 0.168148 19.8325 -39.155 0.843861 0.20292 19.5707 -39.16 0.813351 0.237325 19.3123 -39.165 0.785951 0.271378 19.0576 -39.17 0.761531 0.305109 18.8062 -39.175 0.73996 0.338557 18.5584 -39.18 0.72111 0.371771 18.3138 -39.185 0.704853 0.404807 18.0727 -39.19 0.691062 0.437733 17.8348 -39.195 0.679611 0.470623 17.6001 -39.2 0.670375 0.503565 17.3687 -39.205 0.663231 0.536651 17.1404 -39.21 0.658054 0.569986 16.9152 -39.215 0.654724 0.603683 16.6931 -39.22 0.653119 0.637863 16.474 -39.225 0.653176 0.672617 16.2579 -39.23 0.654883 0.707997 16.0448 -39.235 0.65822 0.744067 15.8347 -39.24 0.663169 0.780895 15.6275 -39.245 0.66971 0.818559 15.4231 -39.25 0.677826 0.857144 15.2217 -39.255 0.687497 0.89674 15.023 -39.26 0.698707 0.937447 14.8272 -39.265 0.711438 0.97937 14.6342 -39.27 0.725674 1.02262 14.4439 -39.275 0.741398 1.06733 14.2564 -39.28 0.758594 1.11361 14.0717 -39.285 0.777246 1.1616 13.8896 -39.29 0.797339 1.21145 13.7103 -39.295 0.818859 1.26331 13.5337 -39.3 0.841841 1.31729 13.3598 -39.305 0.866366 1.3735 13.1885 -39.31 0.892477 1.43205 13.02 -39.315 0.920221 1.49306 12.8542 -39.32 0.949649 1.55668 12.691 -39.325 0.980816 1.62304 12.5306 -39.33 1.01378 1.69231 12.3728 -39.335 1.04861 1.76464 12.2177 -39.34 1.08536 1.84021 12.0655 -39.345 1.12411 1.9192 11.9159 -39.35 1.16494 2.0018 11.7692 -39.355 1.20791 2.08821 11.6254 -39.36 1.25312 2.17864 11.4844 -39.365 1.30065 2.27331 11.3464 -39.37 1.3506 2.37245 11.2114 -39.375 1.40304 2.47629 11.0795 -39.38 1.45809 2.58508 10.9508 -39.385 1.51586 2.69906 10.8252 -39.39 1.57664 2.81819 10.7033 -39.395 1.64057 2.94276 10.5851 -39.4 1.70775 3.07315 10.4706 -39.405 1.77826 3.20975 10.3597 -39.41 1.85222 3.35296 10.2526 -39.415 1.92977 3.50317 10.1494 -39.42 2.01103 3.66077 10.0502 -39.425 2.09617 3.82614 9.95525 -39.43 2.18536 3.99968 9.86475 -39.435 2.27876 4.18178 9.77899 -39.44 2.37659 4.37283 9.69828 -39.445 2.47905 4.57321 9.62299 -39.45 2.58637 4.78332 9.55351 -39.455 2.69877 5.00354 9.49028 -39.46 2.81652 5.23427 9.43379 -39.465 2.93988 5.47589 9.38456 -39.47 3.06913 5.72879 9.34316 -39.475 3.20456 5.99335 9.31018 -39.48 3.34647 6.26997 9.28628 -39.485 3.49519 6.55904 9.27215 -39.49 3.65105 6.86093 9.26851 -39.495 3.8144 7.17604 9.27612 -39.5 3.98561 7.50475 9.29582 -39.505 4.16504 7.84745 9.32843 -39.51 4.35308 8.20453 9.37487 -39.515 4.54976 8.57551 9.43612 -39.52 4.75484 8.95964 9.51352 -39.525 4.96889 9.35822 9.60857 -39.53 5.19245 9.77226 9.72281 -39.535 5.42598 10.2025 9.85786 -39.54 5.66988 10.6493 10.0154 -39.545 5.92447 11.1128 10.1972 -39.55 6.19 11.5927 10.405 -39.555 6.46664 12.0885 10.6408 -39.56 6.7545 12.5994 10.9064 -39.565 7.05362 13.1242 11.204 -39.57 7.36396 13.6613 11.5355 -39.575 7.6854 14.2091 11.9031 -39.58 8.01777 14.7653 12.3091 -39.585 8.36082 15.3277 12.7557 -39.59 8.71423 15.8933 13.2452 -39.595 9.07759 16.4593 13.7801 -39.6 9.45044 17.0221 14.3628 -39.605 9.83225 17.5782 14.9959 -39.61 10.2224 18.1236 15.682 -39.615 10.6202 18.6538 16.4237 -39.62 11.0246 19.1653 17.2223 -39.625 11.4337 19.6534 18.0755 -39.63 11.8456 20.1096 18.984 -39.635 12.2584 20.5256 19.9472 -39.64 12.6701 20.8934 20.9639 -39.645 13.0783 21.2056 22.0314 -39.65 13.4804 21.4552 23.1461 -39.655 13.8737 21.6356 24.3031 -39.66 14.2552 21.7406 25.4966 -39.665 14.6217 21.7645 26.7195 -39.67 14.9699 21.7021 27.9637 -39.675 15.2961 21.5484 29.22 -39.68 15.5966 21.2991 30.4779 -39.685 15.8672 20.9501 31.7261 -39.69 16.1051 20.4937 32.9535 -39.695 16.3079 19.9276 34.1481 -39.7 16.4719 19.2629 35.2952 -39.705 16.5938 18.5108 36.3817 -39.71 16.6709 17.6817 37.396 -39.715 16.7013 16.7858 38.3284 -39.72 16.6838 15.8326 39.1705 -39.725 16.6179 14.8312 39.9159 -39.73 16.5035 13.7905 40.5595 -39.735 16.3414 12.7185 41.098 -39.74 16.1331 11.6232 41.5297 -39.745 15.8806 10.5117 41.8545 -39.75 15.5867 9.39089 42.074 -39.755 15.2549 8.26723 42.1915 -39.76 14.8864 7.15792 42.2104 -39.765 14.4823 6.08369 42.1357 -39.77 14.0468 5.05276 41.974 -39.775 13.5837 4.07207 41.7329 -39.78 13.0971 3.14724 41.4198 -39.785 12.5908 2.28262 41.0427 -39.79 12.0686 1.48123 40.6101 -39.795 11.5342 0.744821 40.1305 -39.8 10.9913 0.0738434 39.613 -39.805 10.4435 -0.532554 39.0671 -39.81 9.89423 -1.07651 38.5026 -39.815 9.34697 -1.56133 37.9285 -39.82 8.80433 -1.99002 37.3464 -39.825 8.26857 -2.36592 36.7598 -39.83 7.74179 -2.69253 36.1725 -39.835 7.22583 -2.9734 35.5878 -39.84 6.72232 -3.21213 35.0088 -39.845 6.23263 -3.41238 34.4379 -39.85 5.7579 -3.57786 33.877 -39.855 5.29904 -3.71233 33.3278 -39.86 4.85673 -3.8196 32.7912 -39.865 4.43139 -3.90354 32.2679 -39.87 4.02324 -3.96804 31.7579 -39.875 3.63246 -4.01547 31.2616 -39.88 3.25895 -4.04769 30.7789 -39.885 2.90241 -4.06691 30.3095 -39.89 2.5625 -4.07518 29.853 -39.895 2.23886 -4.07442 29.409 -39.9 1.93108 -4.0664 28.9773 -39.905 1.63873 -4.05274 28.5573 -39.91 1.36132 -4.0349 28.1487 -39.915 1.09836 -4.01422 27.7511 -39.92 0.849286 -3.99186 27.3641 -39.925 0.61353 -3.96886 26.9872 -39.93 0.390474 -3.94609 26.62 -39.935 0.179469 -3.9243 26.2619 -39.94 -0.0201705 -3.90405 25.9126 -39.945 -0.209283 -3.88593 25.5716 -39.95 -0.388573 -3.87047 25.2386 -39.955 -0.558554 -3.85808 24.9132 -39.96 -0.719745 -3.84912 24.5953 -39.965 -0.872672 -3.84392 24.2847 -39.97 -1.01786 -3.84279 23.9811 -39.975 -1.15586 -3.84601 23.6842 -39.98 -1.2872 -3.8538 23.394 -39.985 -1.41244 -3.86638 23.1102 -39.99 -1.53212 -3.88393 22.8327 -39.995 -1.64681 -3.90658 22.5613 -40 -1.75707 -3.93444 22.2959 -40.005 -1.86347 -3.96761 22.0364 -40.01 -1.96658 -4.00611 21.7826 -40.015 -2.067 -4.04997 21.5345 -40.02 -2.16508 -4.09921 21.292 -40.025 -2.26109 -4.15394 21.0553 -40.03 -2.3553 -4.21428 20.8242 -40.035 -2.44799 -4.28033 20.599 -40.04 -2.53945 -4.3522 20.3795 -40.045 -2.62998 -4.42996 20.1659 -40.05 -2.71988 -4.51371 19.9583 -40.055 -2.80947 -4.60352 19.7566 -40.06 -2.89905 -4.69944 19.5611 -40.065 -2.98895 -4.80153 19.3716 -40.07 -3.07951 -4.90984 19.1885 -40.075 -3.17105 -5.0244 19.0117 -40.08 -3.26393 -5.14524 18.8413 -40.085 -3.35848 -5.27239 18.6776 -40.09 -3.45506 -5.40584 18.5206 -40.095 -3.5538 -5.54568 18.3705 -40.1 -3.65484 -5.69209 18.2277 -40.105 -3.75833 -5.84524 18.0924 -40.11 -3.86443 -6.0053 17.9648 -40.115 -3.9733 -6.1724 17.8452 -40.12 -4.0851 -6.34664 17.734 -40.125 -4.20002 -6.52811 17.6315 -40.13 -4.31823 -6.71689 17.5381 -40.135 -4.43991 -6.91301 17.4541 -40.14 -4.56526 -7.1165 17.3799 -40.145 -4.69447 -7.32736 17.316 -40.15 -4.82775 -7.54556 17.2627 -40.155 -4.9653 -7.77107 17.2205 -40.16 -5.10733 -8.00381 17.19 -40.165 -5.25407 -8.2437 17.1715 -40.17 -5.40573 -8.49063 17.1656 -40.175 -5.56236 -8.7443 17.1727 -40.18 -5.72383 -9.00448 17.1933 -40.185 -5.89031 -9.27122 17.2282 -40.19 -6.06192 -9.54445 17.2783 -40.195 -6.23872 -9.824 17.3445 -40.2 -6.42079 -10.1096 17.4277 -40.205 -6.60812 -10.4008 17.5286 -40.21 -6.80069 -10.6971 17.6479 -40.215 -6.99847 -10.998 17.7865 -40.22 -7.20134 -11.3026 17.9449 -40.225 -7.40919 -11.6101 18.1239 -40.23 -7.62186 -11.9196 18.324 -40.235 -7.83915 -12.23 18.5459 -40.24 -8.06084 -12.54 18.7902 -40.245 -8.28665 -12.8485 19.0573 -40.25 -8.5163 -13.1539 19.3477 -40.255 -8.74945 -13.4548 19.6619 -40.26 -8.98574 -13.7496 20.0004 -40.265 -9.22475 -14.0364 20.3635 -40.27 -9.46605 -14.3135 20.7515 -40.275 -9.70911 -14.5796 21.1646 -40.28 -9.95309 -14.8334 21.6022 -40.285 -10.1971 -15.072 22.0638 -40.29 -10.4403 -15.2924 22.549 -40.295 -10.6818 -15.4916 23.0569 -40.3 -10.9204 -15.6672 23.5862 -40.305 -11.1552 -15.8168 24.1357 -40.31 -11.3851 -15.9381 24.7036 -40.315 -11.609 -16.029 25.2879 -40.32 -11.8258 -16.0878 25.8864 -40.325 -12.0343 -16.1128 26.4967 -40.33 -12.2332 -16.1025 27.1158 -40.335 -12.4212 -16.0555 27.7409 -40.34 -12.5972 -15.9709 28.3685 -40.345 -12.7596 -15.8478 28.995 -40.35 -12.9071 -15.6853 29.6167 -40.355 -13.0384 -15.4829 30.2292 -40.36 -13.1519 -15.2398 30.8284 -40.365 -13.2475 -14.953 31.4102 -40.37 -13.324 -14.626 31.9705 -40.375 -13.3805 -14.2631 32.5053 -40.38 -13.4161 -13.8684 33.0112 -40.385 -13.4301 -13.4461 33.485 -40.39 -13.4221 -12.9997 33.9239 -40.395 -13.3919 -12.5329 34.3256 -40.4 -13.3393 -12.049 34.6879 -40.405 -13.2647 -11.5512 35.0094 -40.41 -13.1683 -11.0425 35.2887 -40.415 -13.0507 -10.5255 35.5249 -40.42 -12.9126 -10.0027 35.7175 -40.425 -12.7549 -9.47661 35.8664 -40.43 -12.5789 -8.94924 35.9718 -40.435 -12.3858 -8.42253 36.0344 -40.44 -12.1772 -7.8982 36.0551 -40.445 -11.9549 -7.3778 36.0353 -40.45 -11.7188 -6.86821 35.9775 -40.455 -11.4696 -6.37528 35.8839 -40.46 -11.2089 -5.90111 35.7563 -40.465 -10.9385 -5.44746 35.5968 -40.47 -10.6598 -5.01586 35.4074 -40.475 -10.3744 -4.60753 35.1902 -40.48 -10.0837 -4.22342 34.9476 -40.485 -9.78926 -3.86419 34.6818 -40.49 -9.49232 -3.53023 34.3954 -40.495 -9.1942 -3.22163 34.0909 -40.5 -8.89613 -2.93823 33.7709 -40.505 -8.59928 -2.67957 33.4382 -40.51 -8.30476 -2.44489 33.0956 -40.515 -8.01364 -2.23319 32.7461 -40.52 -7.7269 -2.04316 32.3927 -40.525 -7.4455 -1.87346 32.0373 -40.53 -7.17023 -1.72331 31.6784 -40.535 -6.90159 -1.59169 31.3169 -40.54 -6.64007 -1.47756 30.9538 -40.545 -6.38608 -1.3799 30.59 -40.55 -6.14 -1.29767 30.2263 -40.555 -5.90216 -1.22986 29.8636 -40.56 -5.67283 -1.17548 29.5023 -40.565 -5.45224 -1.13354 29.1432 -40.57 -5.24056 -1.10304 28.7867 -40.575 -5.03794 -1.08303 28.4332 -40.58 -4.84445 -1.07254 28.083 -40.585 -4.66012 -1.07061 27.7364 -40.59 -4.48494 -1.07631 27.3936 -40.595 -4.31884 -1.0887 27.0546 -40.6 -4.16171 -1.10694 26.7194 -40.605 -4.01327 -1.13086 26.3882 -40.61 -3.87335 -1.16009 26.0612 -40.615 -3.74176 -1.19416 25.7383 -40.62 -3.61832 -1.23265 25.4196 -40.625 -3.50287 -1.27516 25.1051 -40.63 -3.3952 -1.32132 24.7948 -40.635 -3.29513 -1.37082 24.4887 -40.64 -3.20247 -1.42338 24.1868 -40.645 -3.117 -1.47875 23.8892 -40.65 -3.03852 -1.53672 23.5957 -40.655 -2.96682 -1.59712 23.3065 -40.66 -2.90169 -1.65982 23.0215 -40.665 -2.84289 -1.72471 22.7407 -40.67 -2.7902 -1.79175 22.4641 -40.675 -2.7434 -1.86091 22.1916 -40.68 -2.70224 -1.9322 21.9234 -40.685 -2.66647 -2.00568 21.6593 -40.69 -2.63586 -2.08136 21.3993 -40.695 -2.61032 -2.15924 21.1436 -40.7 -2.58979 -2.23932 20.892 -40.705 -2.57419 -2.3216 20.6445 -40.71 -2.56345 -2.40612 20.4013 -40.715 -2.55749 -2.49294 20.1623 -40.72 -2.55623 -2.58214 19.9275 -40.725 -2.55959 -2.6738 19.697 -40.73 -2.56749 -2.76803 19.4707 -40.735 -2.57984 -2.86498 19.2488 -40.74 -2.59654 -2.96478 19.0314 -40.745 -2.61751 -3.06761 18.8183 -40.75 -2.64266 -3.17366 18.6098 -40.755 -2.67188 -3.28313 18.406 -40.76 -2.70508 -3.39625 18.2068 -40.765 -2.74215 -3.51327 18.0123 -40.77 -2.78299 -3.63445 17.8228 -40.775 -2.82758 -3.76 17.6383 -40.78 -2.87613 -3.88993 17.4589 -40.785 -2.9287 -4.02445 17.2848 -40.79 -2.98537 -4.16374 17.1161 -40.795 -3.04619 -4.30802 16.9529 -40.8 -3.11123 -4.4575 16.7954 -40.805 -3.18056 -4.61238 16.6438 -40.81 -3.25424 -4.77287 16.4984 -40.815 -3.33235 -4.93921 16.3592 -40.82 -3.41497 -5.11159 16.2266 -40.825 -3.50217 -5.29025 16.101 -40.83 -3.59405 -5.47541 15.9825 -40.835 -3.69067 -5.6673 15.8715 -40.84 -3.79213 -5.86614 15.7684 -40.845 -3.89852 -6.07216 15.6735 -40.85 -4.00994 -6.28562 15.5872 -40.855 -4.12647 -6.50673 15.51 -40.86 -4.24822 -6.73574 15.4423 -40.865 -4.37519 -6.97227 15.3844 -40.87 -4.50747 -7.21592 15.3368 -40.875 -4.64533 -7.46731 15.3002 -40.88 -4.78898 -7.72695 15.2752 -40.885 -4.93863 -7.99522 15.2626 -40.89 -5.09448 -8.27241 15.2631 -40.895 -5.25666 -8.55869 15.2774 -40.9 -5.42532 -8.85412 15.3063 -40.905 -5.60055 -9.15865 15.3507 -40.91 -5.78243 -9.47211 15.4113 -40.915 -5.97102 -9.79424 15.4891 -40.92 -6.16635 -10.1247 15.5848 -40.925 -6.36841 -10.4628 15.6994 -40.93 -6.57718 -10.8082 15.8338 -40.935 -6.79262 -11.16 15.989 -40.94 -7.01464 -11.5175 16.1659 -40.945 -7.24315 -11.8797 16.3654 -40.95 -7.47803 -12.2455 16.5887 -40.955 -7.71911 -12.6137 16.8367 -40.96 -7.96622 -12.9832 17.1106 -40.965 -8.21917 -13.3525 17.4113 -40.97 -8.47771 -13.7202 17.74 -40.975 -8.7416 -14.0845 18.0978 -40.98 -9.01056 -14.4439 18.486 -40.985 -9.28418 -14.7966 18.9051 -40.99 -9.56146 -15.1415 19.3544 -40.995 -9.84164 -15.4751 19.8344 -41 -10.1239 -15.794 20.3456 -41.005 -10.4075 -16.0948 20.8879 -41.01 -10.6913 -16.3742 21.4611 -41.015 -10.9743 -16.629 22.0643 -41.02 -11.2554 -16.8562 22.6962 -41.025 -11.5332 -17.0527 23.3554 -41.03 -11.8065 -17.2156 24.0397 -41.035 -12.0737 -17.3421 24.7468 -41.04 -12.3334 -17.4295 25.4736 -41.045 -12.584 -17.4751 26.2171 -41.05 -12.8236 -17.4765 26.9733 -41.055 -13.0504 -17.4311 27.7384 -41.06 -13.2626 -17.3367 28.5076 -41.065 -13.4582 -17.1909 29.2762 -41.07 -13.6364 -16.9887 30.0407 -41.075 -13.7956 -16.7308 30.795 -41.08 -13.9339 -16.4207 31.5323 -41.085 -14.0493 -16.0619 32.2461 -41.09 -14.1404 -15.658 32.9305 -41.095 -14.2059 -15.2123 33.5803 -41.1 -14.2448 -14.7285 34.1909 -41.105 -14.2565 -14.2099 34.7582 -41.11 -14.2406 -13.66 35.2786 -41.115 -14.1969 -13.0822 35.7494 -41.12 -14.1256 -12.48 36.1681 -41.125 -14.0271 -11.8568 36.5331 -41.13 -13.902 -11.2159 36.8431 -41.135 -13.7515 -10.5609 37.0977 -41.14 -13.5767 -9.89501 37.2968 -41.145 -13.3791 -9.22167 37.4411 -41.15 -13.1595 -8.54796 37.5313 -41.155 -12.9175 -7.88494 37.5682 -41.16 -12.6552 -7.23684 37.5538 -41.165 -12.3747 -6.60728 37.49 -41.17 -12.078 -5.99953 37.3793 -41.175 -11.767 -5.4164 37.2243 -41.18 -11.4437 -4.86035 37.0278 -41.185 -11.11 -4.33339 36.793 -41.19 -10.7677 -3.83716 36.5232 -41.195 -10.4188 -3.37288 36.2221 -41.2 -10.065 -2.94139 35.8936 -41.205 -9.708 -2.54309 35.5418 -41.21 -9.34963 -2.17802 35.1711 -41.215 -8.99155 -1.84578 34.7862 -41.22 -8.63541 -1.54559 34.392 -41.225 -8.28283 -1.27624 33.9934 -41.23 -7.93525 -1.03542 33.5899 -41.235 -7.59368 -0.821302 33.1811 -41.24 -7.25898 -0.632455 32.7687 -41.245 -6.93195 -0.467436 32.3542 -41.25 -6.61327 -0.324793 31.9389 -41.255 -6.30358 -0.203056 31.524 -41.26 -6.00342 -0.100746 31.1107 -41.265 -5.71323 -0.0163684 30.6998 -41.27 -5.4334 0.0515843 30.2922 -41.275 -5.16422 0.104633 29.8885 -41.28 -4.9059 0.14431 29.4893 -41.285 -4.65856 0.172163 29.0948 -41.29 -4.42226 0.189752 28.7054 -41.295 -4.19694 0.198651 28.3212 -41.3 -3.98249 0.200218 27.942 -41.305 -3.77865 0.19457 27.5682 -41.31 -3.58519 0.182388 27.1997 -41.315 -3.40188 0.164447 26.8364 -41.32 -3.22848 0.141467 26.4785 -41.325 -3.06473 0.11411 26.1257 -41.33 -2.91038 0.0829834 25.7782 -41.335 -2.76515 0.0486404 25.4357 -41.34 -2.62875 0.0115771 25.0983 -41.345 -2.5009 -0.0277658 24.766 -41.35 -2.38128 -0.0690029 24.4385 -41.355 -2.26959 -0.111805 24.1158 -41.36 -2.1655 -0.155897 23.7979 -41.365 -2.06867 -0.201062 23.4846 -41.37 -1.97876 -0.247137 23.1758 -41.375 -1.89538 -0.293988 22.8714 -41.38 -1.81824 -0.341467 22.5714 -41.385 -1.74713 -0.389446 22.2757 -41.39 -1.68182 -0.437821 21.9842 -41.395 -1.6221 -0.486509 21.6968 -41.4 -1.56773 -0.535451 21.4134 -41.405 -1.51849 -0.584608 21.1341 -41.41 -1.47417 -0.633964 20.8588 -41.415 -1.43453 -0.683525 20.5873 -41.42 -1.39935 -0.733319 20.3196 -41.425 -1.3684 -0.783397 20.0558 -41.43 -1.34145 -0.83383 19.7956 -41.435 -1.31827 -0.884714 19.5391 -41.44 -1.29863 -0.936164 19.2863 -41.445 -1.28231 -0.988318 19.037 -41.45 -1.26919 -1.04124 18.7913 -41.455 -1.25923 -1.09498 18.5491 -41.46 -1.25237 -1.14959 18.3105 -41.465 -1.24852 -1.20515 18.0753 -41.47 -1.24763 -1.26175 17.8435 -41.475 -1.24962 -1.31949 17.6152 -41.48 -1.25443 -1.37848 17.3903 -41.485 -1.26199 -1.43885 17.1687 -41.49 -1.27224 -1.50072 16.9506 -41.495 -1.28511 -1.56424 16.7358 -41.5 -1.30054 -1.62958 16.5244 -41.505 -1.31847 -1.69688 16.3164 -41.51 -1.33885 -1.76634 16.1117 -41.515 -1.3616 -1.83815 15.9104 -41.52 -1.38668 -1.91249 15.7125 -41.525 -1.41414 -1.98951 15.518 -41.53 -1.44405 -2.06933 15.3269 -41.535 -1.47644 -2.1521 15.1392 -41.54 -1.51136 -2.238 14.955 -41.545 -1.54885 -2.32717 14.7743 -41.55 -1.58897 -2.41983 14.5971 -41.555 -1.63178 -2.51614 14.4235 -41.56 -1.67734 -2.61633 14.2535 -41.565 -1.7257 -2.7206 14.0873 -41.57 -1.77694 -2.82919 13.9248 -41.575 -1.83114 -2.94232 13.7662 -41.58 -1.88835 -3.06024 13.6115 -41.585 -1.94868 -3.18322 13.461 -41.59 -2.01218 -3.31152 13.3146 -41.595 -2.07897 -3.44542 13.1726 -41.6 -2.14911 -3.58521 13.035 -41.605 -2.22274 -3.73115 12.9021 -41.61 -2.30008 -3.88325 12.7743 -41.615 -2.38129 -4.04188 12.6515 -41.62 -2.46651 -4.20743 12.534 -41.625 -2.55586 -4.38031 12.4219 -41.63 -2.64952 -4.56089 12.3154 -41.635 -2.74762 -4.74956 12.2148 -41.64 -2.85035 -4.94668 12.1204 -41.645 -2.95788 -5.1526 12.0325 -41.65 -3.0704 -5.36765 11.9516 -41.655 -3.18809 -5.59218 11.8781 -41.66 -3.31116 -5.82651 11.8124 -41.665 -3.43982 -6.07093 11.7552 -41.67 -3.5743 -6.32576 11.7069 -41.675 -3.71481 -6.59128 11.6682 -41.68 -3.86161 -6.86776 11.6399 -41.685 -4.01492 -7.15548 11.6225 -41.69 -4.17501 -7.45469 11.617 -41.695 -4.34215 -7.76563 11.624 -41.7 -4.51659 -8.08854 11.6445 -41.705 -4.69862 -8.42365 11.6793 -41.71 -4.88853 -8.77116 11.7294 -41.715 -5.08661 -9.13125 11.7958 -41.72 -5.29257 -9.50286 11.8792 -41.725 -5.50657 -9.88603 11.9808 -41.73 -5.72907 -10.2813 12.1025 -41.735 -5.96044 -10.6891 12.2459 -41.74 -6.20098 -11.1094 12.4126 -41.745 -6.45089 -11.5419 12.6044 -41.75 -6.71031 -11.9861 12.8228 -41.755 -6.97929 -12.4413 13.0695 -41.76 -7.25781 -12.9062 13.3461 -41.765 -7.54575 -13.3796 13.6542 -41.77 -7.84295 -13.8598 13.9954 -41.775 -8.14911 -14.3448 14.3712 -41.78 -8.46392 -14.8325 14.7832 -41.785 -8.78693 -15.3204 15.2329 -41.79 -9.11764 -15.8057 15.7217 -41.795 -9.45548 -16.2853 16.2513 -41.8 -9.79977 -16.7559 16.8231 -41.805 -10.1498 -17.2138 17.4385 -41.81 -10.5047 -17.6553 18.099 -41.815 -10.8636 -18.0761 18.806 -41.82 -11.2253 -18.4734 19.5595 -41.825 -11.5882 -18.843 20.3574 -41.83 -11.9504 -19.1775 21.1986 -41.835 -12.3099 -19.4702 22.0812 -41.84 -12.6647 -19.7148 23.0026 -41.845 -13.0127 -19.9054 23.9594 -41.85 -13.3515 -20.037 24.9476 -41.855 -13.6788 -20.1051 25.9624 -41.86 -13.9922 -20.1054 26.9981 -41.865 -14.289 -20.0348 28.0486 -41.87 -14.5665 -19.8901 29.1067 -41.875 -14.822 -19.6692 30.1647 -41.88 -15.0527 -19.3703 31.2141 -41.885 -15.2554 -18.9922 32.2456 -41.89 -15.4271 -18.5341 33.2492 -41.895 -15.5663 -17.9898 34.2145 -41.9 -15.6712 -17.3649 35.1321 -41.905 -15.7396 -16.6712 35.9938 -41.91 -15.77 -15.9196 36.7922 -41.915 -15.7611 -15.1203 37.5213 -41.92 -15.7124 -14.2827 38.1758 -41.925 -15.6235 -13.4153 38.7515 -41.93 -15.4947 -12.5261 39.2454 -41.935 -15.327 -11.6221 39.6552 -41.94 -15.1215 -10.7097 39.9799 -41.945 -14.88 -9.79436 40.2194 -41.95 -14.6048 -8.88087 40.3746 -41.955 -14.2986 -7.97325 40.4477 -41.96 -13.9645 -7.07473 40.4414 -41.965 -13.6059 -6.18957 40.3602 -41.97 -13.2227 -5.33629 40.2105 -41.975 -12.8174 -4.52305 39.9983 -41.98 -12.3935 -3.75383 39.7293 -41.985 -11.9541 -3.03177 39.4091 -41.99 -11.5024 -2.35916 39.0436 -41.995 -11.0413 -1.73746 38.6387 -42 -10.5737 -1.16725 38.2003 -42.005 -10.1023 -0.648287 37.7345 -42.01 -9.62962 -0.17947 37.2475 -42.015 -9.15817 0.241144 36.7453 -42.02 -8.69022 0.61635 36.2344 -42.025 -8.22796 0.949575 35.7205 -42.03 -7.77317 1.24273 35.2041 -42.035 -7.32724 1.49828 34.6867 -42.04 -6.89143 1.71898 34.1705 -42.045 -6.46681 1.90757 33.6577 -42.05 -6.05434 2.06672 33.1498 -42.055 -5.6548 2.19908 32.6484 -42.06 -5.26884 2.30726 32.1545 -42.065 -4.89695 2.39383 31.6691 -42.07 -4.53947 2.46134 31.1928 -42.075 -4.19661 2.51226 30.726 -42.08 -3.8684 2.54906 30.2686 -42.085 -3.55477 2.57406 29.8205 -42.09 -3.25559 2.58864 29.3821 -42.095 -2.97057 2.59414 28.9531 -42.1 -2.69935 2.59196 28.5332 -42.105 -2.44156 2.58338 28.1224 -42.11 -2.19681 2.56962 27.7202 -42.115 -1.9647 2.55177 27.3265 -42.12 -1.74481 2.53085 26.941 -42.125 -1.53668 2.5078 26.5634 -42.13 -1.33987 2.48344 26.1936 -42.135 -1.15389 2.45852 25.8312 -42.14 -0.97824 2.43367 25.476 -42.145 -0.812419 2.40947 25.1278 -42.15 -0.655889 2.38636 24.7862 -42.155 -0.5081 2.36473 24.4511 -42.16 -0.368476 2.34486 24.1221 -42.165 -0.236423 2.32708 23.7991 -42.17 -0.11152 2.31165 23.4818 -42.175 0.00663612 2.29883 23.1701 -42.18 0.118448 2.28882 22.8639 -42.185 0.22432 2.28182 22.563 -42.19 0.324662 2.278 22.2673 -42.195 0.419883 2.27751 21.9766 -42.2 0.510395 2.28046 21.6909 -42.205 0.596612 2.28697 21.41 -42.21 0.67895 2.29709 21.1338 -42.215 0.757829 2.31089 20.8623 -42.22 0.833668 2.32839 20.5952 -42.225 0.906891 2.3496 20.3326 -42.23 0.977883 2.37453 20.0744 -42.235 1.04686 2.40327 19.8205 -42.24 1.11403 2.43591 19.5709 -42.245 1.17963 2.47254 19.3256 -42.25 1.24388 2.51323 19.0846 -42.255 1.30701 2.55808 18.8479 -42.26 1.36926 2.60714 18.6154 -42.265 1.43088 2.66049 18.3872 -42.27 1.4921 2.7182 18.1633 -42.275 1.55318 2.78034 17.9436 -42.28 1.61437 2.84695 17.7281 -42.285 1.67593 2.91811 17.517 -42.29 1.73813 2.99386 17.3101 -42.295 1.80123 3.07425 17.1075 -42.3 1.86547 3.15937 16.9093 -42.305 1.93098 3.24937 16.7155 -42.31 1.99788 3.34443 16.5263 -42.315 2.0663 3.44473 16.3416 -42.32 2.13639 3.55046 16.1616 -42.325 2.20829 3.66179 15.9864 -42.33 2.28217 3.77891 15.8161 -42.335 2.35821 3.90199 15.6509 -42.34 2.43658 4.03121 15.4908 -42.345 2.51747 4.16676 15.3361 -42.35 2.6011 4.3088 15.1869 -42.355 2.68768 4.45753 15.0434 -42.36 2.77743 4.61312 14.9058 -42.365 2.87059 4.77575 14.7743 -42.37 2.96739 4.94559 14.6492 -42.375 3.06811 5.12283 14.5306 -42.38 3.17291 5.30755 14.419 -42.385 3.28192 5.50004 14.3147 -42.39 3.3953 5.70069 14.2181 -42.395 3.51321 5.90987 14.1294 -42.4 3.63581 6.1279 14.0491 -42.405 3.7633 6.35507 13.9776 -42.41 3.89583 6.59165 13.9155 -42.415 4.0336 6.83784 13.8633 -42.42 4.1768 7.09385 13.8215 -42.425 4.32562 7.35982 13.7909 -42.43 4.48026 7.63586 13.7721 -42.435 4.64093 7.92206 13.7658 -42.44 4.80784 8.21846 13.7727 -42.445 4.9812 8.52508 13.7938 -42.45 5.16124 8.84188 13.8299 -42.455 5.34818 9.16881 13.8819 -42.46 5.54225 9.50577 13.9506 -42.465 5.7437 9.85263 14.0372 -42.47 5.95268 10.2091 14.1426 -42.475 6.16837 10.5738 14.2661 -42.48 6.39085 10.9465 14.4094 -42.485 6.62057 11.3273 14.5747 -42.49 6.85785 11.7158 14.7639 -42.495 7.10289 12.1117 14.9789 -42.5 7.35581 12.5142 15.2213 -42.505 7.61662 12.9223 15.4928 -42.51 7.88522 13.3349 15.7946 -42.515 8.1614 13.7504 16.1278 -42.52 8.44486 14.1671 16.4937 -42.525 8.73518 14.583 16.893 -42.53 9.03185 14.9958 17.3264 -42.535 9.33424 15.403 17.7944 -42.54 9.64163 15.8018 18.2975 -42.545 9.95318 16.1893 18.8359 -42.55 10.268 16.5621 19.4096 -42.555 10.5849 16.9167 20.0185 -42.56 10.9029 17.2493 20.6623 -42.565 11.2207 17.5559 21.3406 -42.57 11.5369 17.8321 22.0529 -42.575 11.8501 18.0735 22.7982 -42.58 12.1586 18.2751 23.5758 -42.585 12.4609 18.4319 24.3846 -42.59 12.7558 18.5417 25.2221 -42.595 13.0412 18.6015 26.0822 -42.6 13.3143 18.6076 26.9585 -42.605 13.5727 18.5568 27.8443 -42.61 13.8141 18.4466 28.7333 -42.615 14.0363 18.2753 29.6192 -42.62 14.2372 18.042 30.4957 -42.625 14.4149 17.7464 31.3567 -42.63 14.5677 17.389 32.1963 -42.635 14.6941 16.9708 33.0084 -42.64 14.7924 16.4939 33.7873 -42.645 14.8616 15.9607 34.5272 -42.65 14.9004 15.3748 35.2225 -42.655 14.9078 14.74 35.8676 -42.66 14.8831 14.0612 36.4571 -42.665 14.8254 13.3437 36.9843 -42.67 14.7344 12.5946 37.4428 -42.675 14.6109 11.8229 37.8323 -42.68 14.4558 11.0372 38.1534 -42.685 14.2702 10.2451 38.4068 -42.69 14.0554 9.45389 38.5937 -42.695 13.8128 8.67 38.7156 -42.7 13.5441 7.89931 38.7743 -42.705 13.2511 7.14703 38.7721 -42.71 12.9358 6.41772 38.7114 -42.715 12.6003 5.71529 38.5952 -42.72 12.247 5.04303 38.4267 -42.725 11.8785 4.40354 38.2096 -42.73 11.4974 3.79882 37.9477 -42.735 11.1066 3.23018 37.6454 -42.74 10.7091 2.69868 37.3077 -42.745 10.306 2.20666 36.9421 -42.75 9.89962 1.75435 36.5528 -42.755 9.49196 1.34126 36.1437 -42.76 9.08504 0.966639 35.7183 -42.765 8.68067 0.629445 35.28 -42.77 8.28052 0.32834 34.8317 -42.775 7.88607 0.0616999 34.3763 -42.78 7.49866 -0.17239 33.9166 -42.785 7.11945 -0.376131 33.4548 -42.79 6.74947 -0.552015 32.9933 -42.795 6.38955 -0.702824 32.5339 -42.8 6.04038 -0.831627 32.0785 -42.805 5.70256 -0.940365 31.6279 -42.81 5.37651 -1.02984 31.182 -42.815 5.06243 -1.1019 30.7415 -42.82 4.76048 -1.15831 30.3067 -42.825 4.47076 -1.20074 29.8782 -42.83 4.19333 -1.23074 29.4562 -42.835 3.92816 -1.2498 29.0409 -42.84 3.67519 -1.25928 28.6325 -42.845 3.4343 -1.26048 28.231 -42.85 3.2053 -1.25457 27.8365 -42.855 2.98796 -1.24264 27.4488 -42.86 2.78199 -1.22568 27.0677 -42.865 2.58702 -1.20459 26.693 -42.87 2.40255 -1.18012 26.3247 -42.875 2.22823 -1.15289 25.9627 -42.88 2.06372 -1.12347 25.6067 -42.885 1.90867 -1.0924 25.2566 -42.89 1.76274 -1.06017 24.9122 -42.895 1.62557 -1.02722 24.5734 -42.9 1.49679 -0.993944 24.2401 -42.905 1.37602 -0.960704 23.912 -42.91 1.2629 -0.927808 23.5891 -42.915 1.15703 -0.895522 23.2711 -42.92 1.05801 -0.864069 22.958 -42.925 0.965442 -0.833625 22.6497 -42.93 0.878915 -0.804325 22.346 -42.935 0.79801 -0.776256 22.0467 -42.94 0.7223 -0.749465 21.7518 -42.945 0.651353 -0.723952 21.4612 -42.95 0.584827 -0.699738 21.1748 -42.955 0.522575 -0.676945 20.8924 -42.96 0.46438 -0.655632 20.6141 -42.965 0.410021 -0.635843 20.3396 -42.97 0.359277 -0.617612 20.069 -42.975 0.311926 -0.60096 19.8022 -42.98 0.267746 -0.585895 19.5391 -42.985 0.22651 -0.572415 19.2796 -42.99 0.187996 -0.560505 19.0237 -42.995 0.151977 -0.550137 18.7713 -43 0.118227 -0.541273 18.5224 -43.005 0.0865169 -0.533861 18.2769 -43.01 0.056619 -0.527838 18.0346 -43.015 0.0283047 -0.52313 17.7957 -43.02 0.00144269 -0.519725 17.5599 -43.025 -0.0240357 -0.517655 17.3274 -43.03 -0.048227 -0.516924 17.098 -43.035 -0.0712294 -0.517534 16.8716 -43.04 -0.0931431 -0.519486 16.6484 -43.045 -0.11407 -0.522775 16.4282 -43.05 -0.134114 -0.527395 16.2109 -43.055 -0.153381 -0.533336 15.9966 -43.06 -0.171977 -0.540586 15.7852 -43.065 -0.190013 -0.54913 15.5766 -43.07 -0.2076 -0.558948 15.3708 -43.075 -0.224849 -0.570019 15.1679 -43.08 -0.241876 -0.582319 14.9677 -43.085 -0.258792 -0.595825 14.7702 -43.09 -0.275642 -0.610576 14.5753 -43.095 -0.292458 -0.626614 14.3831 -43.1 -0.309283 -0.643979 14.1936 -43.105 -0.326163 -0.662708 14.0066 -43.11 -0.343149 -0.68284 13.8222 -43.115 -0.360294 -0.704415 13.6404 -43.12 -0.377653 -0.727474 13.461 -43.125 -0.395287 -0.752056 13.2841 -43.13 -0.41326 -0.778204 13.1097 -43.135 -0.431639 -0.80596 12.9378 -43.14 -0.450492 -0.835367 12.7682 -43.145 -0.469895 -0.866468 12.6011 -43.15 -0.489924 -0.899307 12.4363 -43.155 -0.51066 -0.933929 12.2738 -43.16 -0.532184 -0.970384 12.1137 -43.165 -0.554551 -1.00877 11.956 -43.17 -0.577793 -1.04918 11.8005 -43.175 -0.601947 -1.09172 11.6474 -43.18 -0.627058 -1.13651 11.4965 -43.185 -0.653175 -1.18364 11.3479 -43.19 -0.680356 -1.23325 11.2016 -43.195 -0.708662 -1.28545 11.0576 -43.2 -0.738161 -1.34036 10.9158 -43.205 -0.768928 -1.39813 10.7764 -43.21 -0.801043 -1.45888 10.6392 -43.215 -0.834593 -1.52276 10.5043 -43.22 -0.869669 -1.58991 10.3718 -43.225 -0.906371 -1.66048 10.2416 -43.23 -0.944803 -1.73463 10.1137 -43.235 -0.985074 -1.81252 9.98828 -43.24 -1.0273 -1.89431 9.86527 -43.245 -1.07161 -1.98017 9.74471 -43.25 -1.11813 -2.07029 9.62668 -43.255 -1.16702 -2.16485 9.51132 -43.26 -1.21833 -2.26412 9.39865 -43.265 -1.27217 -2.36838 9.28868 -43.27 -1.32862 -2.47791 9.18146 -43.275 -1.3878 -2.59301 9.07706 -43.28 -1.44983 -2.71398 8.97555 -43.285 -1.51484 -2.84114 8.87706 -43.29 -1.58297 -2.9748 8.78172 -43.295 -1.6544 -3.11531 8.68968 -43.3 -1.7293 -3.263 8.60113 -43.305 -1.80784 -3.41823 8.51628 -43.31 -1.89023 -3.58135 8.43534 -43.315 -1.97668 -3.75274 8.35857 -43.32 -2.06741 -3.93278 8.28624 -43.325 -2.16266 -4.12187 8.21865 -43.33 -2.26268 -4.32039 8.15612 -43.335 -2.36773 -4.52877 8.09899 -43.34 -2.47809 -4.74741 8.04763 -43.345 -2.59404 -4.97676 8.00242 -43.35 -2.71589 -5.21724 7.96378 -43.355 -2.84395 -5.46931 7.93214 -43.36 -2.97834 -5.73232 7.90858 -43.365 -3.11926 -6.00627 7.89404 -43.37 -3.2671 -6.29252 7.88881 -43.375 -3.42225 -6.5923 7.89334 -43.38 -3.58509 -6.90669 7.90821 -43.385 -3.75597 -7.23663 7.93411 -43.39 -3.93527 -7.58289 7.97191 -43.395 -4.12331 -7.94614 8.02259 -43.4 -4.32045 -8.32687 8.08727 -43.405 -4.52701 -8.72543 8.16722 -43.41 -4.74329 -9.14205 8.26382 -43.415 -4.96961 -9.57679 8.37863 -43.42 -5.20626 -10.0296 8.5133 -43.425 -5.45353 -10.5002 8.66965 -43.43 -5.71168 -10.9882 8.84962 -43.435 -5.98098 -11.4933 9.05529 -43.44 -6.26169 -12.0146 9.28889 -43.445 -6.55405 -12.5514 9.55277 -43.45 -6.85828 -13.1027 9.84943 -43.455 -7.17462 -13.6675 10.1815 -43.46 -7.50328 -14.2446 10.5517 -43.465 -7.84445 -14.8325 10.963 -43.47 -8.19833 -15.4298 11.4185 -43.475 -8.56509 -16.0347 11.9212 -43.48 -8.94405 -16.6453 12.4725 -43.485 -9.33372 -17.2581 13.073 -43.49 -9.73391 -17.8683 13.7275 -43.495 -10.1441 -18.4705 14.4395 -43.5 -10.5636 -19.0592 15.2119 -43.505 -10.9911 -19.6286 16.0465 -43.51 -11.4255 -20.1724 16.9443 -43.515 -11.8649 -20.6839 17.9051 -43.52 -12.3073 -21.1561 18.9282 -43.525 -12.7505 -21.5817 20.0116 -43.53 -13.1919 -21.9529 21.1525 -43.535 -13.6286 -22.2617 22.3471 -43.54 -14.0573 -22.4996 23.5908 -43.545 -14.4745 -22.6578 24.878 -43.55 -14.8765 -22.7272 26.202 -43.555 -15.2595 -22.6983 27.5561 -43.56 -15.6212 -22.5638 28.9336 -43.565 -15.9568 -22.3204 30.3185 -43.57 -16.2615 -21.9664 31.6942 -43.575 -16.5306 -21.5017 33.0451 -43.58 -16.7602 -20.9275 34.3565 -43.585 -16.9469 -20.2465 35.6149 -43.59 -17.0878 -19.4629 36.808 -43.595 -17.1804 -18.582 37.9243 -43.6 -17.223 -17.611 38.9536 -43.605 -17.214 -16.5583 39.8866 -43.61 -17.1528 -15.4337 40.7152 -43.615 -17.0389 -14.2486 41.4323 -43.62 -16.8724 -13.0163 42.031 -43.625 -16.6529 -11.7569 42.5024 -43.63 -16.3824 -10.4881 42.8486 -43.635 -16.0639 -9.22483 43.0741 -43.64 -15.7002 -7.98082 43.1844 -43.645 -15.2948 -6.76815 43.1856 -43.65 -14.8511 -5.59744 43.0842 -43.655 -14.373 -4.4778 42.888 -43.66 -13.8645 -3.41684 42.6051 -43.665 -13.3299 -2.42067 42.2445 -43.67 -12.7738 -1.4939 41.8157 -43.675 -12.2011 -0.639649 41.3292 -43.68 -11.6166 0.140484 40.7961 -43.685 -11.0254 0.846909 40.2282 -43.69 -10.4305 1.4828 39.6349 -43.695 -9.83521 2.05026 39.023 -43.7 -9.24299 2.55171 38.3984 -43.705 -8.65679 2.99002 37.7668 -43.71 -8.0793 3.36857 37.1329 -43.715 -7.51289 3.69119 36.5014 -43.72 -6.95961 3.96222 35.8761 -43.725 -6.4212 4.18645 35.2604 -43.73 -5.89909 4.36918 34.6572 -43.735 -5.39437 4.51615 34.0689 -43.74 -4.90785 4.63362 33.4973 -43.745 -4.44001 4.7283 32.9436 -43.75 -3.99105 4.80313 32.4077 -43.755 -3.56098 4.8575 31.8881 -43.76 -3.14967 4.89431 31.3848 -43.765 -2.75689 4.91625 30.8973 -43.77 -2.38239 4.92581 30.4252 -43.775 -2.02584 4.92528 29.9682 -43.78 -1.68682 4.91674 29.5257 -43.785 -1.36489 4.90206 29.0973 -43.79 -1.05952 4.88292 28.6825 -43.795 -0.770114 4.86078 28.2806 -43.8 -0.496029 4.83689 27.8909 -43.805 -0.236546 4.81232 27.5129 -43.81 0.00924126 4.78807 27.1458 -43.815 0.242249 4.76511 26.7891 -43.82 0.463046 4.74403 26.4424 -43.825 0.672201 4.7254 26.1053 -43.83 0.870299 4.70971 25.7774 -43.835 1.05793 4.69744 25.4583 -43.84 1.23571 4.68903 25.1478 -43.845 1.40426 4.68486 24.8455 -43.85 1.56419 4.68529 24.5511 -43.855 1.71617 4.69062 24.2643 -43.86 1.86084 4.70113 23.9849 -43.865 1.99886 4.71705 23.7127 -43.87 2.13092 4.73858 23.4475 -43.875 2.25771 4.76587 23.1891 -43.88 2.37992 4.79903 22.9373 -43.885 2.49828 4.83813 22.6921 -43.89 2.61346 4.88318 22.4532 -43.895 2.7257 4.9341 22.2208 -43.9 2.83527 4.99098 21.9948 -43.905 2.94251 5.05392 21.7754 -43.91 3.0477 5.123 21.5625 -43.915 3.1512 5.19832 21.3562 -43.92 3.25331 5.27992 21.1566 -43.925 3.35439 5.36786 20.9638 -43.93 3.45477 5.46217 20.7779 -43.935 3.5548 5.56288 20.5989 -43.94 3.65484 5.67 20.427 -43.945 3.75526 5.78352 20.2622 -43.95 3.85642 5.90341 20.1047 -43.955 3.9587 6.02966 19.9546 -43.96 4.06249 6.16221 19.812 -43.965 4.16816 6.30101 19.677 -43.97 4.27586 6.44602 19.5499 -43.975 4.3857 6.59736 19.4311 -43.98 4.49781 6.75513 19.3208 -43.985 4.61234 6.91941 19.2194 -43.99 4.72944 7.09024 19.1272 -43.995 4.84926 7.26763 19.0445 -44 4.97194 7.45156 18.9717 -44.005 5.09764 7.64197 18.9092 -44.01 5.2265 7.83878 18.8573 -44.015 5.35867 8.04187 18.8165 -44.02 5.49432 8.2511 18.7871 -44.025 5.63358 8.46628 18.7696 -44.03 5.77661 8.68721 18.7643 -44.035 5.92356 8.91363 18.7718 -44.04 6.0746 9.14527 18.7924 -44.045 6.22986 9.38184 18.8268 -44.05 6.38944 9.62297 18.8751 -44.055 6.55306 9.86832 18.9374 -44.06 6.72072 10.1175 19.0147 -44.065 6.89246 10.3702 19.1077 -44.07 7.06827 10.6259 19.2173 -44.075 7.24809 10.8839 19.3441 -44.08 7.43184 11.1436 19.4889 -44.085 7.61939 11.4042 19.6521 -44.09 7.81056 11.665 19.8342 -44.095 8.00514 11.9249 20.0356 -44.1 8.20287 12.183 20.2566 -44.105 8.40348 12.4381 20.4974 -44.11 8.60661 12.6892 20.7582 -44.115 8.8119 12.9348 21.039 -44.12 9.01894 13.1738 21.3397 -44.125 9.22726 13.4045 21.6604 -44.13 9.43638 13.6256 22.0007 -44.135 9.64575 13.8354 22.3604 -44.14 9.85481 14.0322 22.7392 -44.145 10.0629 14.2143 23.1366 -44.15 10.2695 14.3797 23.5521 -44.155 10.4739 14.5276 23.9854 -44.16 10.6756 14.6566 24.4355 -44.165 10.8733 14.7645 24.9004 -44.17 11.066 14.8493 25.3783 -44.175 11.2526 14.9092 25.8669 -44.18 11.4321 14.9428 26.3644 -44.185 11.6035 14.9486 26.8683 -44.19 11.7659 14.9256 27.3766 -44.195 11.9183 14.8731 27.8868 -44.2 12.0599 14.7905 28.3966 -44.205 12.1898 14.6773 28.9036 -44.21 12.3071 14.5335 29.4052 -44.215 12.411 14.3593 29.8988 -44.22 12.5008 14.155 30.3818 -44.225 12.5758 13.9213 30.8514 -44.23 12.6351 13.6589 31.3048 -44.235 12.6782 13.3689 31.7392 -44.24 12.7044 13.0528 32.1517 -44.245 12.7131 12.7116 32.5389 -44.25 12.704 12.3463 32.8972 -44.255 12.6771 11.9605 33.2252 -44.26 12.6325 11.558 33.5222 -44.265 12.5704 11.1423 33.7872 -44.27 12.4911 10.7169 34.0198 -44.275 12.3949 10.2848 34.2194 -44.28 12.2823 9.84889 34.3858 -44.285 12.1539 9.41197 34.519 -44.29 12.0103 8.97648 34.619 -44.295 11.8523 8.54467 34.6861 -44.3 11.6807 8.1186 34.7207 -44.305 11.4963 7.70011 34.7233 -44.31 11.3003 7.2908 34.6948 -44.315 11.0938 6.89207 34.636 -44.32 10.8778 6.50513 34.5481 -44.325 10.6538 6.13092 34.4323 -44.33 10.4232 5.77021 34.29 -44.335 10.1872 5.42357 34.1229 -44.34 9.94665 5.09359 33.9343 -44.345 9.70209 4.78209 33.7267 -44.35 9.45473 4.48949 33.5016 -44.355 9.20567 4.21609 33.2605 -44.36 8.95596 3.96205 33.0051 -44.365 8.70658 3.72741 32.7367 -44.37 8.45844 3.51203 32.4568 -44.375 8.21239 3.31566 32.1669 -44.38 7.96924 3.13791 31.8684 -44.385 7.72971 2.97825 31.5626 -44.39 7.49447 2.836 31.251 -44.395 7.26413 2.71035 30.935 -44.4 7.03924 2.60036 30.6158 -44.405 6.82027 2.50492 30.2947 -44.41 6.60765 2.42283 29.9731 -44.415 6.40174 2.3527 29.6523 -44.42 6.20286 2.294 29.3323 -44.425 6.01122 2.24673 29.0127 -44.43 5.82693 2.21018 28.694 -44.435 5.65008 2.18369 28.3765 -44.44 5.48074 2.16661 28.0608 -44.445 5.31897 2.15833 27.747 -44.45 5.16481 2.15827 27.4355 -44.455 5.01827 2.16586 27.1267 -44.46 4.87936 2.18058 26.8207 -44.465 4.74805 2.20193 26.5178 -44.47 4.62431 2.22944 26.2181 -44.475 4.50809 2.26266 25.9219 -44.48 4.3993 2.30118 25.6292 -44.485 4.29786 2.34462 25.34 -44.49 4.20366 2.39262 25.0546 -44.495 4.11656 2.44484 24.7728 -44.5 4.03631 2.50113 24.4947 -44.505 3.96259 2.56146 24.2207 -44.51 3.89534 2.62564 23.9506 -44.515 3.83447 2.69348 23.6846 -44.52 3.77992 2.76483 23.4226 -44.525 3.73158 2.83956 23.1647 -44.53 3.68938 2.91757 22.911 -44.535 3.6532 2.99876 22.6615 -44.54 3.62297 3.08308 22.4163 -44.545 3.59855 3.1705 22.1754 -44.55 3.57986 3.26101 21.9389 -44.555 3.56677 3.35463 21.707 -44.56 3.55916 3.45139 21.4796 -44.565 3.5569 3.55137 21.2568 -44.57 3.55987 3.65464 21.0389 -44.575 3.56792 3.76133 20.8257 -44.58 3.58092 3.87158 20.6176 -44.585 3.59873 3.98554 20.4145 -44.59 3.62118 4.10341 20.2166 -44.595 3.64813 4.2254 20.024 -44.6 3.67944 4.35171 19.8368 -44.605 3.71521 4.48227 19.6553 -44.61 3.75554 4.61714 19.4795 -44.615 3.80049 4.75646 19.3096 -44.62 3.8501 4.90036 19.1458 -44.625 3.90443 5.04898 18.9882 -44.63 3.96352 5.20244 18.837 -44.635 4.02742 5.36088 18.6924 -44.64 4.09617 5.52441 18.5547 -44.645 4.16979 5.69317 18.424 -44.65 4.24832 5.86729 18.3008 -44.655 4.33179 6.04688 18.1852 -44.66 4.42023 6.23207 18.0776 -44.665 4.51366 6.42297 17.9784 -44.67 4.61209 6.61972 17.8879 -44.675 4.71554 6.82242 17.8064 -44.68 4.82403 7.0312 17.7345 -44.685 4.93755 7.24617 17.6725 -44.69 5.05612 7.46745 17.6209 -44.695 5.17973 7.69514 17.5801 -44.7 5.30839 7.92936 17.5507 -44.705 5.44207 8.17004 17.533 -44.71 5.58075 8.4164 17.5271 -44.715 5.72461 8.66855 17.5336 -44.72 5.87384 8.9266 17.5536 -44.725 6.02855 9.19055 17.5878 -44.73 6.18884 9.46032 17.6369 -44.735 6.35477 9.73571 17.7019 -44.74 6.52637 10.0164 17.7834 -44.745 6.7036 10.3021 17.882 -44.75 6.88641 10.5921 17.9986 -44.755 7.07472 10.886 18.1337 -44.76 7.26837 11.1829 18.2879 -44.765 7.46721 11.4822 18.4619 -44.77 7.67103 11.7828 18.6561 -44.775 7.87957 12.0837 18.8711 -44.78 8.09256 12.3839 19.1074 -44.785 8.30967 12.6821 19.3653 -44.79 8.53054 12.9769 19.6455 -44.795 8.75478 13.267 19.9481 -44.8 8.98194 13.5508 20.2736 -44.805 9.21155 13.8266 20.6224 -44.81 9.44311 14.0927 20.9947 -44.815 9.67606 14.3473 21.3907 -44.82 9.90981 14.5885 21.8108 -44.825 10.1438 14.8153 22.2544 -44.83 10.3773 15.026 22.7203 -44.835 10.6091 15.2173 23.2077 -44.84 10.8382 15.3866 23.7151 -44.845 11.0636 15.5312 24.2411 -44.85 11.2842 15.6489 24.7841 -44.855 11.4989 15.7377 25.3421 -44.86 11.7067 15.7955 25.913 -44.865 11.9063 15.821 26.4946 -44.87 12.0967 15.8126 27.0842 -44.875 12.2767 15.7693 27.6791 -44.88 12.4452 15.6902 28.2765 -44.885 12.601 15.5747 28.873 -44.89 12.7428 15.4222 29.4653 -44.895 12.8696 15.2328 30.0498 -44.9 12.9801 15.0063 30.6228 -44.905 13.0731 14.7431 31.1802 -44.91 13.1474 14.4431 31.7176 -44.915 13.2028 14.1047 32.2308 -44.92 13.2386 13.7322 32.7167 -44.925 13.2541 13.3301 33.1724 -44.93 13.249 12.9029 33.5957 -44.935 13.223 12.4547 33.9844 -44.94 13.1759 11.9893 34.3368 -44.945 13.108 11.5106 34.6512 -44.95 13.0194 11.0217 34.9265 -44.955 12.9104 10.5258 35.1618 -44.96 12.7818 10.0257 35.3566 -44.965 12.6343 9.52408 35.5104 -44.97 12.4687 9.02325 35.6234 -44.975 12.2861 8.52527 35.6958 -44.98 12.0879 8.03198 35.7283 -44.985 11.8753 7.54492 35.7217 -44.99 11.6501 7.06541 35.6773 -44.995 11.4139 6.59449 35.5966 -45 11.1674 6.13683 35.4826 -45.005 10.9108 5.69797 35.3384 -45.01 10.6458 5.27935 35.1658 -45.015 10.374 4.88215 34.9669 -45.02 10.0966 4.50736 34.7437 -45.025 9.81527 4.15567 34.498 -45.03 9.53119 3.82758 34.2321 -45.035 9.24566 3.52332 33.948 -45.04 8.95985 3.24289 33.6478 -45.045 8.67488 2.98604 33.3338 -45.05 8.39182 2.75228 33.0082 -45.055 8.11163 2.5409 32.6732 -45.06 7.83524 2.35092 32.3312 -45.065 7.56348 2.18113 31.9845 -45.07 7.29714 2.0301 31.6354 -45.075 7.03694 1.89636 31.2859 -45.08 6.7835 1.77957 30.9347 -45.085 6.53722 1.67885 30.5823 -45.09 6.29842 1.59323 30.2294 -45.095 6.06739 1.52177 29.8769 -45.1 5.84438 1.46353 29.5252 -45.105 5.6296 1.41761 29.175 -45.11 5.42324 1.38314 28.8268 -45.115 5.22542 1.35926 28.4811 -45.12 5.03625 1.34512 28.1382 -45.125 4.85579 1.33993 27.7984 -45.13 4.68406 1.34289 27.4621 -45.135 4.52106 1.35323 27.1293 -45.14 4.36673 1.37022 26.8002 -45.145 4.22099 1.39313 26.4749 -45.15 4.0837 1.42127 26.1533 -45.155 3.9546 1.45437 25.8357 -45.16 3.83346 1.49219 25.522 -45.165 3.72012 1.53438 25.2124 -45.17 3.61443 1.58056 24.9069 -45.175 3.51622 1.63045 24.6054 -45.18 3.42531 1.68375 24.3081 -45.185 3.34155 1.74022 24.0149 -45.19 3.26475 1.79965 23.7258 -45.195 3.19473 1.86185 23.4408 -45.2 3.13131 1.92669 23.16 -45.205 3.0743 1.99404 22.8834 -45.21 3.02351 2.06382 22.611 -45.215 2.97873 2.13598 22.3428 -45.22 2.93978 2.21051 22.0787 -45.225 2.90643 2.28742 21.8189 -45.23 2.87849 2.36677 21.5634 -45.235 2.85573 2.44862 21.3121 -45.24 2.83794 2.53311 21.065 -45.245 2.82494 2.62028 20.8223 -45.25 2.8167 2.71016 20.5839 -45.255 2.81318 2.80278 20.35 -45.26 2.81437 2.89819 20.1204 -45.265 2.82025 2.99645 19.8952 -45.27 2.83077 3.09764 19.6745 -45.275 2.8459 3.20187 19.4584 -45.28 2.86561 3.30924 19.2469 -45.285 2.88986 3.41991 19.04 -45.29 2.9186 3.534 18.838 -45.295 2.95178 3.6517 18.6408 -45.3 2.98937 3.7732 18.4486 -45.305 3.0313 3.89868 18.2616 -45.31 3.07751 4.02838 18.0798 -45.315 3.12796 4.16252 17.9034 -45.32 3.18257 4.30137 17.7325 -45.325 3.24129 4.44519 17.5674 -45.33 3.30405 4.59427 17.4082 -45.335 3.3708 4.74887 17.255 -45.34 3.44185 4.90891 17.1083 -45.345 3.51732 5.07458 16.9681 -45.35 3.59732 5.24611 16.8346 -45.355 3.68194 5.42376 16.7082 -45.36 3.77128 5.60773 16.5891 -45.365 3.86542 5.79824 16.4775 -45.37 3.96447 5.99547 16.3739 -45.375 4.06851 6.19961 16.2786 -45.38 4.17765 6.41081 16.1921 -45.385 4.29198 6.62924 16.1146 -45.39 4.41159 6.85503 16.0468 -45.395 4.53659 7.08831 15.989 -45.4 4.66705 7.32918 15.9419 -45.405 4.80309 7.57774 15.9059 -45.41 4.9448 7.83408 15.8817 -45.415 5.09227 8.09827 15.8699 -45.42 5.2456 8.37036 15.871 -45.425 5.40488 8.65039 15.8859 -45.43 5.57016 8.93826 15.9151 -45.435 5.74115 9.23304 15.9584 -45.44 5.91806 9.53477 16.0171 -45.445 6.10114 9.84358 16.0924 -45.45 6.29057 10.1594 16.1854 -45.455 6.4865 10.4821 16.2974 -45.46 6.689 10.8112 16.4294 -45.465 6.89809 11.1464 16.5823 -45.47 7.11371 11.4868 16.7573 -45.475 7.33579 11.8317 16.9551 -45.48 7.56415 12.1801 17.1767 -45.485 7.79858 12.5308 17.4227 -45.49 8.03881 12.8826 17.6939 -45.495 8.2845 13.234 17.9909 -45.5 8.53527 13.5833 18.3144 -45.505 8.79067 13.9289 18.6648 -45.51 9.05019 14.2687 19.0426 -45.515 9.31326 14.6008 19.4483 -45.52 9.57927 14.9227 19.882 -45.525 9.84753 15.2322 20.3443 -45.53 10.1173 15.5267 20.8352 -45.535 10.3878 15.8034 21.3549 -45.54 10.6581 16.0596 21.9035 -45.545 10.9275 16.2927 22.4808 -45.55 11.195 16.5017 23.0852 -45.555 11.459 16.6824 23.7142 -45.56 11.7181 16.8312 24.3653 -45.565 11.9706 16.9445 25.036 -45.57 12.215 17.0195 25.7231 -45.575 12.45 17.0536 26.4235 -45.58 12.6738 17.0446 27.1339 -45.585 12.8851 16.9908 27.8506 -45.59 13.0824 16.8909 28.5698 -45.595 13.2642 16.7441 29.2874 -45.6 13.4291 16.5498 29.9992 -45.605 13.5756 16.3081 30.7007 -45.61 13.7023 16.0194 31.3872 -45.615 13.8078 15.6844 32.0537 -45.62 13.8908 15.3043 32.6951 -45.625 13.9497 14.8808 33.306 -45.63 13.9839 14.4134 33.8797 -45.635 13.9927 13.9053 34.4117 -45.64 13.976 13.3638 34.8996 -45.645 13.9335 12.7954 35.3415 -45.65 13.8651 12.2062 35.7357 -45.655 13.7712 11.6018 36.0809 -45.66 13.6521 10.9877 36.3761 -45.665 13.5084 10.3684 36.6209 -45.67 13.341 9.74832 36.8148 -45.675 13.1508 9.13131 36.958 -45.68 12.9391 8.52077 37.0509 -45.685 12.7074 7.91963 37.0943 -45.69 12.4571 7.33039 37.0893 -45.695 12.1902 6.75508 37.0373 -45.7 11.9087 6.19528 36.9403 -45.705 11.6148 5.65211 36.8003 -45.71 11.3106 5.12708 36.6203 -45.715 10.9964 4.6276 36.4062 -45.72 10.6738 4.15636 36.1615 -45.725 10.3447 3.71434 35.8892 -45.73 10.0109 3.30224 35.5921 -45.735 9.67419 2.92043 35.2729 -45.74 9.33613 2.56896 34.9344 -45.745 8.99824 2.2476 34.5793 -45.75 8.66193 1.95578 34.2103 -45.755 8.32848 1.69263 33.8299 -45.76 7.99909 1.45699 33.4409 -45.765 7.67484 1.24735 33.0456 -45.77 7.35671 1.06191 32.6467 -45.775 7.04556 0.898567 32.2467 -45.78 6.74218 0.755176 31.8474 -45.785 6.44726 0.631331 31.4484 -45.79 6.16121 0.525876 31.0501 -45.795 5.88438 0.437437 30.6533 -45.8 5.61707 0.364688 30.2588 -45.805 5.3595 0.306352 29.867 -45.81 5.11186 0.261201 29.4786 -45.815 4.87431 0.228056 29.0941 -45.82 4.64693 0.205785 28.7138 -45.825 4.42976 0.193305 28.3379 -45.83 4.22278 0.189584 27.9668 -45.835 4.02595 0.193635 27.6005 -45.84 3.83914 0.204523 27.239 -45.845 3.66219 0.221359 26.8824 -45.85 3.49489 0.243355 26.5305 -45.855 3.3369 0.270079 26.1835 -45.86 3.18798 0.301026 25.8414 -45.865 3.04788 0.335696 25.504 -45.87 2.91637 0.373635 25.1715 -45.875 2.79319 0.414427 24.8437 -45.88 2.67809 0.457697 24.5205 -45.885 2.5708 0.503113 24.202 -45.89 2.47107 0.550383 23.8879 -45.895 2.37861 0.599258 23.5784 -45.9 2.29315 0.649527 23.2733 -45.905 2.21441 0.701023 22.9726 -45.91 2.14211 0.753619 22.6762 -45.915 2.07594 0.807229 22.384 -45.92 2.01562 0.861809 22.096 -45.925 1.96083 0.917356 21.8121 -45.93 1.91128 0.973892 21.5323 -45.935 1.86674 1.03139 21.2565 -45.94 1.82708 1.0898 20.9847 -45.945 1.79218 1.14911 20.7169 -45.95 1.7619 1.20933 20.4529 -45.955 1.73612 1.27046 20.1928 -45.96 1.7147 1.33256 19.9365 -45.965 1.6975 1.39567 19.684 -45.97 1.68438 1.45987 19.4353 -45.975 1.6752 1.52524 19.1904 -45.98 1.66983 1.59192 18.9492 -45.985 1.66811 1.66001 18.7117 -45.99 1.6699 1.72968 18.478 -45.995 1.67505 1.80109 18.248 -46 1.68341 1.87442 18.0216 -46.005 1.69482 1.94988 17.799 -46.01 1.70918 2.02766 17.5801 -46.015 1.72657 2.10782 17.3649 -46.02 1.74702 2.19047 17.1535 -46.025 1.77055 2.27574 16.9458 -46.03 1.79715 2.36379 16.7419 -46.035 1.82685 2.45477 16.5419 -46.04 1.85966 2.54885 16.3457 -46.045 1.89559 2.64621 16.1534 -46.05 1.93467 2.74705 15.9651 -46.055 1.97692 2.85156 15.7808 -46.06 2.02236 2.95998 15.6006 -46.065 2.07103 3.07252 15.4246 -46.07 2.12295 3.18942 15.2529 -46.075 2.17816 3.31093 15.0856 -46.08 2.2367 3.43732 14.9228 -46.085 2.2986 3.56885 14.7646 -46.09 2.36392 3.70579 14.6112 -46.095 2.43283 3.84826 14.4628 -46.1 2.50547 3.99652 14.3195 -46.105 2.58196 4.15088 14.1815 -46.11 2.6624 4.31164 14.0489 -46.115 2.74694 4.47911 13.922 -46.12 2.83571 4.65358 13.801 -46.125 2.92884 4.83534 13.686 -46.13 3.02649 5.0247 13.5776 -46.135 3.1288 5.22194 13.4759 -46.14 3.23594 5.42733 13.3813 -46.145 3.34807 5.64118 13.2943 -46.15 3.46536 5.86374 13.2153 -46.155 3.58799 6.09531 13.1448 -46.16 3.71615 6.33615 13.0832 -46.165 3.85001 6.58652 13.0312 -46.17 3.98979 6.8467 12.9894 -46.175 4.13567 7.11695 12.9582 -46.18 4.28788 7.39752 12.9385 -46.185 4.44662 7.68867 12.9308 -46.19 4.6121 7.99061 12.9359 -46.195 4.7844 8.30303 12.9545 -46.2 4.96376 8.62623 12.9877 -46.205 5.15046 8.96054 13.0364 -46.21 5.34471 9.30612 13.1018 -46.215 5.54672 9.66303 13.1848 -46.22 5.75664 10.0312 13.2867 -46.225 5.97461 10.4102 13.4087 -46.23 6.20073 10.7999 13.552 -46.235 6.43505 11.1995 13.7179 -46.24 6.67762 11.6084 13.9077 -46.245 6.92843 12.0258 14.1229 -46.25 7.18745 12.4507 14.3647 -46.255 7.4546 12.8819 14.6348 -46.26 7.7298 13.3182 14.9346 -46.265 8.0129 13.7581 15.2656 -46.27 8.30374 14.2001 15.6295 -46.275 8.60211 14.6424 16.0278 -46.28 8.90721 15.0841 16.4602 -46.285 9.21852 15.5224 16.9282 -46.29 9.53563 15.9535 17.4339 -46.295 9.85794 16.3737 17.979 -46.3 10.1847 16.7793 18.5644 -46.305 10.515 17.1663 19.1905 -46.31 10.8478 17.5309 19.8574 -46.315 11.1818 17.8692 20.5644 -46.32 11.5156 18.177 21.3102 -46.325 11.8478 18.4504 22.0932 -46.33 12.1766 18.6852 22.9111 -46.335 12.5 18.8772 23.7611 -46.34 12.8162 19.0223 24.6398 -46.345 13.1229 19.116 25.5432 -46.35 13.4178 19.154 26.4669 -46.355 13.6983 19.132 27.4059 -46.36 13.9618 19.0455 28.3546 -46.365 14.2072 18.8892 29.3091 -46.37 14.4323 18.6624 30.2615 -46.375 14.634 18.3668 31.2019 -46.38 14.8099 18.0043 32.1211 -46.385 14.9574 17.5773 33.0109 -46.39 15.0747 17.0886 33.8634 -46.395 15.1601 16.5413 34.6719 -46.4 15.2123 15.9393 35.4299 -46.405 15.2305 15.2863 36.1322 -46.41 15.2141 14.587 36.7738 -46.415 15.1629 13.8461 37.3507 -46.42 15.077 13.069 37.8595 -46.425 14.957 12.2613 38.2977 -46.43 14.8036 11.4291 38.6634 -46.435 14.6178 10.5798 38.9551 -46.44 14.3993 9.72656 39.1707 -46.445 14.1497 8.87841 39.312 -46.45 13.8714 8.04215 39.3815 -46.455 13.5667 7.22399 39.3823 -46.46 13.2379 6.42951 39.3177 -46.465 12.8874 5.66363 39.1915 -46.47 12.5176 4.93062 39.008 -46.475 12.131 4.23412 38.7716 -46.48 11.7301 3.57712 38.4873 -46.485 11.3175 2.96196 38.1605 -46.49 10.8958 2.39033 37.7969 -46.495 10.4675 1.86329 37.4026 -46.5 10.0354 1.38125 36.9841 -46.505 9.6021 0.94396 36.5484 -46.51 9.17005 0.549208 36.0994 -46.515 8.74091 0.194184 35.6385 -46.52 8.31637 -0.122736 35.1687 -46.525 7.89797 -0.403294 34.6928 -46.53 7.48708 -0.649357 34.2132 -46.535 7.08495 -0.862914 33.7321 -46.54 6.69269 -1.04608 33.2516 -46.545 6.31123 -1.20108 32.7735 -46.55 5.94139 -1.33028 32.2992 -46.555 5.5838 -1.43615 31.8301 -46.56 5.23899 -1.52129 31.3672 -46.565 4.90731 -1.58843 30.9113 -46.57 4.58898 -1.64041 30.4631 -46.575 4.28406 -1.68021 30.0228 -46.58 3.99248 -1.70918 29.5903 -46.585 3.71403 -1.72727 29.1656 -46.59 3.44852 -1.73588 28.7486 -46.595 3.1957 -1.73631 28.3393 -46.6 2.95531 -1.72979 27.9374 -46.605 2.72704 -1.71745 27.543 -46.61 2.51059 -1.70032 27.1558 -46.615 2.30562 -1.67933 26.7759 -46.62 2.11175 -1.65535 26.4029 -46.625 1.9286 -1.62913 26.0367 -46.63 1.75573 -1.60133 25.677 -46.635 1.59272 -1.57252 25.3238 -46.64 1.43908 -1.54318 24.9767 -46.645 1.29428 -1.51374 24.6355 -46.65 1.15785 -1.4846 24.3001 -46.655 1.0294 -1.45608 23.9702 -46.66 0.908582 -1.42849 23.6457 -46.665 0.795002 -1.4021 23.3265 -46.67 0.688288 -1.37714 23.0124 -46.675 0.588056 -1.35382 22.7033 -46.68 0.493921 -1.33232 22.3991 -46.685 0.405497 -1.31279 22.0995 -46.69 0.322392 -1.29533 21.8045 -46.695 0.244213 -1.28004 21.514 -46.7 0.170562 -1.26697 21.2278 -46.705 0.10104 -1.25614 20.9459 -46.71 0.0352455 -1.24754 20.6681 -46.715 -0.0271915 -1.24117 20.3943 -46.72 -0.0864763 -1.23708 20.1245 -46.725 -0.142804 -1.23536 19.8586 -46.73 -0.196374 -1.23604 19.5966 -46.735 -0.247392 -1.23917 19.3384 -46.74 -0.296064 -1.24479 19.0839 -46.745 -0.342601 -1.25293 18.8332 -46.75 -0.387218 -1.2636 18.5861 -46.755 -0.430133 -1.27682 18.3425 -46.76 -0.471566 -1.29259 18.1025 -46.765 -0.511744 -1.31091 17.866 -46.77 -0.550893 -1.33177 17.6329 -46.775 -0.589246 -1.35515 17.4033 -46.78 -0.627038 -1.38102 17.1769 -46.785 -0.664487 -1.40937 16.9539 -46.79 -0.701664 -1.44028 16.7342 -46.795 -0.738654 -1.47385 16.5177 -46.8 -0.775561 -1.51014 16.3046 -46.805 -0.812491 -1.54922 16.0946 -46.81 -0.849558 -1.59118 15.8879 -46.815 -0.88688 -1.63608 15.6845 -46.82 -0.924582 -1.684 15.4842 -46.825 -0.962793 -1.73502 15.2871 -46.83 -1.00165 -1.78922 15.0933 -46.835 -1.04128 -1.84667 14.9026 -46.84 -1.08185 -1.90747 14.7152 -46.845 -1.12349 -1.97168 14.5309 -46.85 -1.16637 -2.0394 14.3499 -46.855 -1.21064 -2.11071 14.1721 -46.86 -1.25645 -2.18573 13.9975 -46.865 -1.30385 -2.26465 13.8263 -46.87 -1.35294 -2.34764 13.6584 -46.875 -1.40381 -2.4349 13.4939 -46.88 -1.45654 -2.52661 13.3328 -46.885 -1.51124 -2.62299 13.1751 -46.89 -1.56805 -2.72422 13.021 -46.895 -1.62707 -2.83052 12.8705 -46.9 -1.68846 -2.94211 12.7238 -46.905 -1.75236 -3.0592 12.5809 -46.91 -1.81892 -3.18202 12.4419 -46.915 -1.88832 -3.3108 12.307 -46.92 -1.96074 -3.44578 12.1763 -46.925 -2.03635 -3.58719 12.05 -46.93 -2.11536 -3.73529 11.9282 -46.935 -2.19799 -3.89031 11.8111 -46.94 -2.28443 -4.05253 11.6989 -46.945 -2.3749 -4.22207 11.592 -46.95 -2.46953 -4.3993 11.4905 -46.955 -2.56849 -4.58469 11.3948 -46.96 -2.67195 -4.77872 11.3051 -46.965 -2.78009 -4.98181 11.2216 -46.97 -2.89309 -5.19439 11.1447 -46.975 -3.01115 -5.41686 11.0748 -46.98 -3.13451 -5.64961 11.0123 -46.985 -3.26337 -5.893 10.9578 -46.99 -3.39797 -6.14739 10.9119 -46.995 -3.53856 -6.41309 10.8751 -47 -3.68539 -6.69043 10.8482 -47.005 -3.83875 -6.97969 10.8318 -47.01 -3.9989 -7.28116 10.8268 -47.015 -4.16613 -7.59507 10.834 -47.02 -4.34076 -7.92168 10.8543 -47.025 -4.52309 -8.2612 10.8887 -47.03 -4.71344 -8.61384 10.9381 -47.035 -4.91216 -8.97976 11.0036 -47.04 -5.11959 -9.35915 11.0864 -47.045 -5.33568 -9.75138 11.1873 -47.05 -5.56011 -10.1555 11.3073 -47.055 -5.7934 -10.5723 11.4484 -47.06 -6.03604 -11.0023 11.6125 -47.065 -6.28839 -11.4455 11.8016 -47.07 -6.55075 -11.9019 12.0177 -47.075 -6.82328 -12.371 12.2625 -47.08 -7.10608 -12.8517 12.538 -47.085 -7.39912 -13.3431 12.8458 -47.09 -7.70229 -13.8435 13.1878 -47.095 -8.01538 -14.3511 13.5657 -47.1 -8.33809 -14.8637 13.981 -47.105 -8.67 -15.3787 14.4356 -47.11 -9.01062 -15.8933 14.9309 -47.115 -9.35933 -16.4044 15.4685 -47.12 -9.71544 -16.9082 16.0501 -47.125 -10.0782 -17.401 16.6769 -47.13 -10.4466 -17.8786 17.3505 -47.135 -10.8197 -18.3364 18.0724 -47.14 -11.1965 -18.7696 18.8437 -47.145 -11.5756 -19.1728 19.666 -47.15 -11.9557 -19.5436 20.5374 -47.155 -12.3345 -19.8752 21.455 -47.16 -12.7096 -20.1595 22.4159 -47.165 -13.0785 -20.389 23.4167 -47.17 -13.4388 -20.5572 24.4531 -47.175 -13.7879 -20.6583 25.52 -47.18 -14.1232 -20.6871 26.6117 -47.185 -14.4418 -20.6395 27.7216 -47.19 -14.7409 -20.5121 28.8424 -47.195 -15.0177 -20.3022 29.966 -47.2 -15.2693 -20.008 31.0836 -47.205 -15.4925 -19.6285 32.1858 -47.21 -15.6843 -19.1635 33.2621 -47.215 -15.8414 -18.6136 34.3015 -47.22 -15.9616 -17.9754 35.2916 -47.225 -16.0437 -17.2524 36.2219 -47.23 -16.0856 -16.4584 37.0845 -47.235 -16.0859 -15.6064 37.873 -47.24 -16.0437 -14.7083 38.5816 -47.245 -15.9585 -13.7752 39.206 -47.25 -15.8306 -12.8171 39.7426 -47.255 -15.6606 -11.8431 40.1891 -47.26 -15.4496 -10.8613 40.544 -47.265 -15.1995 -9.87887 40.8071 -47.27 -14.9123 -8.90195 40.9792 -47.275 -14.5909 -7.93574 41.0619 -47.28 -14.2385 -6.98449 41.0583 -47.285 -13.859 -6.05144 40.9721 -47.29 -13.4554 -5.14364 40.8095 -47.295 -13.0281 -4.27901 40.5799 -47.3 -12.5807 -3.46276 40.29 -47.305 -12.1168 -2.69819 39.9464 -47.31 -11.6398 -1.98768 39.5557 -47.315 -11.153 -1.33268 39.1243 -47.32 -10.6594 -0.733699 38.6588 -47.325 -10.1621 -0.190347 38.1654 -47.33 -9.66369 0.298703 37.6508 -47.335 -9.16691 0.735702 37.1212 -47.34 -8.67413 1.12382 36.5831 -47.345 -8.18761 1.4671 36.0426 -47.35 -7.70932 1.76797 35.5015 -47.355 -7.24073 2.0289 34.9611 -47.36 -6.78316 2.25301 34.4236 -47.365 -6.33772 2.44336 33.891 -47.37 -5.90539 2.60297 33.3652 -47.375 -5.48697 2.73475 32.8474 -47.38 -5.0831 2.84156 32.3389 -47.385 -4.69427 2.92622 31.8405 -47.39 -4.3208 2.99143 31.3527 -47.395 -3.96285 3.03987 30.8757 -47.4 -3.6204 3.07411 30.4094 -47.405 -3.29337 3.09648 29.9538 -47.41 -2.98157 3.10844 29.509 -47.415 -2.68465 3.11155 29.0746 -47.42 -2.4022 3.10726 28.6504 -47.425 -2.13381 3.09693 28.2361 -47.43 -1.87905 3.08182 27.8313 -47.435 -1.63746 3.0631 27.4357 -47.44 -1.40856 3.04182 27.0491 -47.445 -1.19189 3.01896 26.671 -47.45 -0.986916 2.99538 26.3013 -47.455 -0.79313 2.97185 25.9395 -47.46 -0.609986 2.94904 25.5855 -47.465 -0.436923 2.92753 25.2389 -47.47 -0.273365 2.90778 24.8994 -47.475 -0.118715 2.89017 24.5668 -47.48 0.0276529 2.87498 24.2407 -47.485 0.166399 2.86254 23.921 -47.49 0.297978 2.85312 23.6074 -47.495 0.42281 2.84698 23.2997 -47.5 0.541316 2.84432 22.9979 -47.505 0.653925 2.84535 22.7017 -47.51 0.761066 2.85025 22.411 -47.515 0.863173 2.85917 22.1258 -47.52 0.960683 2.87224 21.8458 -47.525 1.05404 2.88957 21.571 -47.53 1.14368 2.91125 21.3013 -47.535 1.23005 2.93734 21.0366 -47.54 1.31362 2.96788 20.7768 -47.545 1.39482 3.0029 20.5218 -47.55 1.47412 3.04237 20.2716 -47.555 1.55181 3.08639 20.0261 -47.56 1.62808 3.13505 19.7854 -47.565 1.70316 3.18847 19.5494 -47.57 1.7773 3.24675 19.3182 -47.575 1.85072 3.30999 19.0919 -47.58 1.92367 3.37828 18.8703 -47.585 1.99642 3.45173 18.6537 -47.59 2.06921 3.53041 18.4419 -47.595 2.1423 3.6144 18.2351 -47.6 2.21598 3.70381 18.0333 -47.605 2.29051 3.79868 17.8365 -47.61 2.36618 3.89912 17.6449 -47.615 2.44327 4.00517 17.4585 -47.62 2.52208 4.11692 17.2774 -47.625 2.60284 4.23444 17.1017 -47.63 2.68569 4.35794 16.9316 -47.635 2.77075 4.48763 16.7672 -47.64 2.85816 4.62373 16.6088 -47.645 2.94809 4.76644 16.4564 -47.65 3.04071 4.91596 16.3104 -47.655 3.13617 5.07248 16.1709 -47.66 3.23467 5.23617 16.0382 -47.665 3.33641 5.4072 15.9126 -47.67 3.44158 5.58575 15.7944 -47.675 3.5504 5.77197 15.6838 -47.68 3.6631 5.966 15.5813 -47.685 3.7799 6.16798 15.4873 -47.69 3.90107 6.37805 15.4019 -47.695 4.02683 6.59633 15.3258 -47.7 4.15748 6.82293 15.2593 -47.705 4.2932 7.05785 15.2028 -47.71 4.43402 7.30097 15.1569 -47.715 4.58012 7.55267 15.1221 -47.72 4.73168 7.81329 15.0993 -47.725 4.88888 8.08308 15.0889 -47.73 5.05187 8.36217 15.0919 -47.735 5.22081 8.65063 15.109 -47.74 5.39581 8.94843 15.1409 -47.745 5.57699 9.25543 15.1885 -47.75 5.76446 9.57142 15.2526 -47.755 5.95829 9.89607 15.3342 -47.76 6.15855 10.229 15.4341 -47.765 6.3653 10.5697 15.5533 -47.77 6.57859 10.9175 15.6928 -47.775 6.79842 11.2719 15.8535 -47.78 7.02483 11.6319 16.0366 -47.785 7.2578 11.9968 16.2431 -47.79 7.49731 12.3655 16.4742 -47.795 7.74334 12.7371 16.7308 -47.8 7.99583 13.1103 17.0143 -47.805 8.25425 13.4845 17.3246 -47.81 8.51796 13.8584 17.6623 -47.815 8.78672 14.2295 18.029 -47.82 9.06021 14.5952 18.4263 -47.825 9.33798 14.9531 18.8551 -47.83 9.61947 15.3004 19.3163 -47.835 9.90402 15.6345 19.8102 -47.84 10.1908 15.9525 20.3367 -47.845 10.479 16.2518 20.8954 -47.85 10.7675 16.5293 21.4857 -47.855 11.0552 16.7823 22.1063 -47.86 11.3409 17.0076 22.7558 -47.865 11.6232 17.2022 23.4324 -47.87 11.9006 17.3631 24.1337 -47.875 12.1716 17.4871 24.8574 -47.88 12.4344 17.571 25.6004 -47.885 12.6872 17.6114 26.3593 -47.89 12.9282 17.6051 27.1306 -47.895 13.1553 17.5485 27.9105 -47.9 13.3682 17.4383 28.6962 -47.905 13.5648 17.2745 29.4813 -47.91 13.7428 17.0578 30.2588 -47.915 13.9001 16.7893 31.022 -47.92 14.0352 16.4705 31.7648 -47.925 14.1462 16.103 32.4816 -47.93 14.2322 15.689 33.1671 -47.935 14.2918 15.2307 33.8166 -47.94 14.3245 14.7308 34.4259 -47.945 14.3296 14.1922 34.9911 -47.95 14.3068 13.6183 35.5088 -47.955 14.2561 13.0126 35.9762 -47.96 14.1778 12.3789 36.3909 -47.965 14.0721 11.7216 36.7507 -47.97 13.9399 11.045 37.0544 -47.975 13.7816 10.3555 37.3002 -47.98 13.5968 9.6628 37.4867 -47.985 13.3872 8.97263 37.6151 -47.99 13.1545 8.29 37.6871 -47.995 12.9005 7.6195 37.7046 -48 12.6268 6.96529 37.6698 -48.005 12.3354 6.3311 37.5852 -48.01 12.028 5.72024 37.4535 -48.015 11.7065 5.1356 37.278 -48.02 11.3729 4.57965 37.0618 -48.025 11.029 4.05443 36.8088 -48.03 10.6768 3.56157 36.5227 -48.035 10.3183 3.10226 36.2079 -48.04 9.95549 2.67729 35.8688 -48.045 9.59046 2.28701 35.5102 -48.05 9.22526 1.93131 35.1371 -48.055 8.86158 1.60798 34.7516 -48.06 8.50074 1.31532 34.3551 -48.065 8.144 1.0523 33.9497 -48.07 7.79254 0.817797 33.5376 -48.075 7.4474 0.610573 33.1205 -48.08 7.10956 0.429299 32.7003 -48.085 6.77985 0.272542 32.2784 -48.09 6.45905 0.138772 31.8563 -48.095 6.14779 0.0263553 31.4353 -48.1 5.84662 -0.0664394 31.0165 -48.105 5.556 -0.141445 30.6009 -48.11 5.27626 -0.200594 30.1893 -48.115 5.00764 -0.24592 29.7823 -48.12 4.75028 -0.279556 29.3805 -48.125 4.50421 -0.303735 28.9843 -48.13 4.26934 -0.319506 28.5936 -48.135 4.04543 -0.326332 28.2083 -48.14 3.83231 -0.325173 27.8284 -48.145 3.62978 -0.316951 27.4539 -48.15 3.43765 -0.302527 27.0848 -48.155 3.25567 -0.282697 26.7211 -48.16 3.08362 -0.258193 26.3629 -48.165 2.92123 -0.229683 26.01 -48.17 2.76824 -0.197771 25.6624 -48.175 2.62436 -0.163 25.32 -48.18 2.48928 -0.125845 24.9828 -48.185 2.36268 -0.0867205 24.6506 -48.19 2.24424 -0.0459752 24.3234 -48.195 2.1336 -0.00389479 24.001 -48.2 2.03036 0.0392881 23.6833 -48.205 1.93416 0.0833484 23.3702 -48.21 1.84475 0.128087 23.0617 -48.215 1.76186 0.173329 22.7575 -48.22 1.68525 0.218927 22.4578 -48.225 1.61466 0.264758 22.1623 -48.23 1.54984 0.310726 21.871 -48.235 1.49053 0.356758 21.5839 -48.24 1.43646 0.40281 21.3008 -48.245 1.38738 0.448861 21.0217 -48.25 1.34303 0.494915 20.7465 -48.255 1.30313 0.541005 20.4752 -48.26 1.26743 0.587186 20.2077 -48.265 1.23565 0.633541 19.9438 -48.27 1.20753 0.680177 19.6837 -48.275 1.18289 0.727159 19.4271 -48.28 1.16166 0.774496 19.1742 -48.285 1.14373 0.822226 18.9248 -48.29 1.12901 0.8704 18.6789 -48.295 1.1174 0.919079 18.4365 -48.3 1.1088 0.968339 18.1976 -48.305 1.10311 1.01826 17.962 -48.31 1.10024 1.06895 17.7298 -48.315 1.10009 1.12051 17.501 -48.32 1.10257 1.17306 17.2755 -48.325 1.10757 1.22674 17.0533 -48.33 1.115 1.28169 16.8344 -48.335 1.12476 1.33807 16.6187 -48.34 1.13675 1.39604 16.4063 -48.345 1.1509 1.45578 16.1971 -48.35 1.16721 1.51739 15.9911 -48.355 1.18573 1.58098 15.7884 -48.36 1.20647 1.64666 15.5889 -48.365 1.22946 1.71456 15.3926 -48.37 1.2547 1.78481 15.1995 -48.375 1.28223 1.85756 15.0097 -48.38 1.31208 1.93297 14.8231 -48.385 1.34426 2.01121 14.6398 -48.39 1.37882 2.09246 14.4597 -48.395 1.41578 2.1769 14.283 -48.4 1.45519 2.26474 14.1096 -48.405 1.49707 2.35618 13.9397 -48.41 1.54147 2.45143 13.7732 -48.415 1.58844 2.55074 13.6102 -48.42 1.63802 2.65433 13.4508 -48.425 1.69026 2.76246 13.295 -48.43 1.74533 2.87528 13.1431 -48.435 1.80334 2.993 12.995 -48.44 1.8644 3.11589 12.8509 -48.445 1.92862 3.24421 12.7108 -48.45 1.9961 3.37826 12.5748 -48.455 2.06698 3.5183 12.4431 -48.46 2.14138 3.66465 12.3158 -48.465 2.21944 3.81759 12.1931 -48.47 2.3013 3.97743 12.0752 -48.475 2.38714 4.14447 11.9623 -48.48 2.4771 4.31905 11.8548 -48.485 2.57137 4.50149 11.7528 -48.49 2.67012 4.6921 11.6568 -48.495 2.77354 4.89125 11.567 -48.5 2.88185 5.09926 11.4839 -48.505 2.99523 5.31649 11.4077 -48.51 3.11391 5.5433 11.339 -48.515 3.23812 5.78005 11.2782 -48.52 3.36808 6.02711 11.2258 -48.525 3.50404 6.28487 11.1822 -48.53 3.64611 6.55274 11.1482 -48.535 3.79448 6.83067 11.1246 -48.54 3.94951 7.11969 11.1119 -48.545 4.11153 7.42066 11.1109 -48.55 4.28085 7.73432 11.1224 -48.555 4.45776 8.06125 11.1471 -48.56 4.64253 8.40189 11.1861 -48.565 4.83542 8.75654 11.2404 -48.57 5.03665 9.12535 11.3111 -48.575 5.24644 9.50832 11.3993 -48.58 5.46496 9.90532 11.5064 -48.585 5.69239 10.3161 11.6338 -48.59 5.92888 10.7401 11.7828 -48.595 6.17454 11.1769 11.9551 -48.6 6.42949 11.6258 12.1522 -48.605 6.69381 12.0858 12.3758 -48.61 6.96757 12.5559 12.6278 -48.615 7.2508 13.0351 12.9099 -48.62 7.54353 13.522 13.2242 -48.625 7.84577 14.0151 13.5727 -48.63 8.1575 14.513 13.9575 -48.635 8.47867 15.0138 14.3808 -48.64 8.80922 15.5156 14.845 -48.645 9.1484 16.017 15.3504 -48.65 9.49499 16.515 15.8974 -48.655 9.84849 17.005 16.4887 -48.66 10.2082 17.4822 17.1265 -48.665 10.5733 17.9419 17.8121 -48.67 10.9426 18.3791 18.5462 -48.675 11.3148 18.789 19.3287 -48.68 11.6884 19.1664 20.1588 -48.685 12.0618 19.5062 21.035 -48.69 12.4329 19.8031 21.955 -48.695 12.7996 20.052 22.9158 -48.7 13.1596 20.2473 23.9137 -48.705 13.5104 20.3837 24.9443 -48.71 13.8491 20.4554 26.0024 -48.715 14.1728 20.457 27.0821 -48.72 14.4784 20.3827 28.1767 -48.725 14.7635 20.2261 29.2806 -48.73 15.0263 19.9842 30.3859 -48.735 15.263 19.6582 31.48 -48.74 15.4702 19.25 32.5514 -48.745 15.6448 18.7623 33.5891 -48.75 15.7845 18.1983 34.5833 -48.755 15.8872 17.5619 35.5251 -48.76 15.951 16.8576 36.4065 -48.765 15.975 16.0904 37.2204 -48.77 15.9583 15.2661 37.9607 -48.775 15.9005 14.3911 38.6222 -48.78 15.8018 13.4724 39.2006 -48.785 15.6628 12.5175 39.6927 -48.79 15.4845 11.5348 40.0959 -48.795 15.267 10.5373 40.4074 -48.8 15.011 9.53988 40.6266 -48.805 14.7192 8.552 40.757 -48.81 14.3943 7.58224 40.8022 -48.815 14.0389 6.63829 40.7666 -48.82 13.656 5.72693 40.655 -48.825 13.2484 4.85406 40.4725 -48.83 12.8192 4.02466 40.2251 -48.835 12.3715 3.24285 39.9189 -48.84 11.9083 2.51185 39.5608 -48.845 11.4329 1.83396 39.1579 -48.85 10.9487 1.21061 38.7181 -48.855 10.4589 0.642348 38.2495 -48.86 9.96707 0.12872 37.7608 -48.865 9.47577 -0.333566 37.2563 -48.87 8.98715 -0.747246 36.739 -48.875 8.50336 -1.11441 36.2128 -48.88 8.02632 -1.43734 35.6811 -48.885 7.55778 -1.71849 35.1471 -48.89 7.09928 -1.96049 34.6136 -48.895 6.65217 -2.16617 34.0831 -48.9 6.21759 -2.33853 33.5577 -48.905 5.79651 -2.48076 33.0392 -48.91 5.38967 -2.59621 32.529 -48.915 4.99763 -2.68845 32.0284 -48.92 4.62075 -2.7612 31.538 -48.925 4.25919 -2.81838 31.0584 -48.93 3.91296 -2.86196 30.5895 -48.935 3.58194 -2.89199 30.131 -48.94 3.26588 -2.9103 29.6827 -48.945 2.96454 -2.91864 29.2446 -48.95 2.67761 -2.9186 28.8163 -48.955 2.40477 -2.91168 28.3977 -48.96 2.14565 -2.89924 27.9887 -48.965 1.89985 -2.88252 27.5888 -48.97 1.66693 -2.86263 27.1978 -48.975 1.44643 -2.84058 26.8155 -48.98 1.23785 -2.81724 26.4415 -48.985 1.04065 -2.79335 26.0755 -48.99 0.85426 -2.76954 25.7171 -48.995 0.67802 -2.74638 25.366 -49 0.511328 -2.72441 25.0219 -49.005 0.353717 -2.70404 24.6846 -49.01 0.204723 -2.68566 24.3539 -49.015 0.0638723 -2.66963 24.0295 -49.02 -0.0693082 -2.65625 23.7112 -49.025 -0.195297 -2.64582 23.3989 -49.03 -0.314577 -2.63857 23.0924 -49.035 -0.427634 -2.63471 22.7915 -49.04 -0.534957 -2.63444 22.4961 -49.045 -0.637039 -2.63788 22.2059 -49.05 -0.734379 -2.64515 21.921 -49.055 -0.827477 -2.65632 21.641 -49.06 -0.916838 -2.67142 21.366 -49.065 -1.00292 -2.6905 21.0957 -49.07 -1.08601 -2.71365 20.8303 -49.075 -1.16635 -2.74097 20.5696 -49.08 -1.24423 -2.77257 20.3136 -49.085 -1.31992 -2.80854 20.0623 -49.09 -1.39369 -2.84896 19.8156 -49.095 -1.46583 -2.89392 19.5736 -49.1 -1.53662 -2.94348 19.3361 -49.105 -1.60637 -2.99771 19.1033 -49.11 -1.67537 -3.05667 18.8751 -49.115 -1.74392 -3.12042 18.6514 -49.12 -1.81234 -3.18899 18.4324 -49.125 -1.88094 -3.26242 18.218 -49.13 -1.95003 -3.34074 18.0081 -49.135 -2.01991 -3.424 17.803 -49.14 -2.09074 -3.51234 17.6026 -49.145 -2.16264 -3.60593 17.407 -49.15 -2.23576 -3.70494 17.2163 -49.155 -2.31027 -3.80954 17.0306 -49.16 -2.38633 -3.91989 16.8501 -49.165 -2.46412 -4.03615 16.6748 -49.17 -2.54383 -4.15849 16.5049 -49.175 -2.62565 -4.28706 16.3405 -49.18 -2.70979 -4.42202 16.1818 -49.185 -2.79647 -4.56352 16.029 -49.19 -2.88591 -4.71172 15.8822 -49.195 -2.97835 -4.86677 15.7417 -49.2 -3.07404 -5.02881 15.6077 -49.205 -3.17324 -5.19799 15.4804 -49.21 -3.2762 -5.37446 15.3601 -49.215 -3.38311 -5.55828 15.247 -49.22 -3.49408 -5.74971 15.1417 -49.225 -3.60927 -5.94911 15.0443 -49.23 -3.72883 -6.15678 14.9553 -49.235 -3.85292 -6.37302 14.8751 -49.24 -3.98171 -6.59806 14.8042 -49.245 -4.11536 -6.8321 14.743 -49.25 -4.25406 -7.07532 14.6922 -49.255 -4.39797 -7.32784 14.6522 -49.26 -4.54728 -7.58976 14.6238 -49.265 -4.70218 -7.86113 14.6075 -49.27 -4.86284 -8.14197 14.604 -49.275 -5.02947 -8.43226 14.6142 -49.28 -5.20226 -8.73195 14.6388 -49.285 -5.38141 -9.04094 14.6786 -49.29 -5.56713 -9.3591 14.7344 -49.295 -5.75963 -9.68627 14.8073 -49.3 -5.95912 -10.0222 14.898 -49.305 -6.16545 -10.3664 15.007 -49.31 -6.37798 -10.7178 15.1341 -49.315 -6.59704 -11.0764 15.2814 -49.32 -6.82293 -11.4419 15.4507 -49.325 -7.05587 -11.8138 15.6438 -49.33 -7.29595 -12.1915 15.8623 -49.335 -7.54319 -12.574 16.1076 -49.34 -7.79751 -12.9602 16.3811 -49.345 -8.05873 -13.3488 16.6837 -49.35 -8.32659 -13.7383 17.0166 -49.355 -8.60071 -14.1268 17.3805 -49.36 -8.88064 -14.5124 17.7759 -49.365 -9.16583 -14.8929 18.2035 -49.37 -9.45561 -15.2658 18.6636 -49.375 -9.74925 -15.6286 19.1562 -49.38 -10.0459 -15.9783 19.6814 -49.385 -10.3447 -16.312 20.239 -49.39 -10.6444 -16.6262 20.8287 -49.395 -10.9442 -16.9176 21.4501 -49.4 -11.2426 -17.1823 22.1024 -49.405 -11.5384 -17.4165 22.785 -49.41 -11.8302 -17.616 23.4967 -49.415 -12.1165 -17.7764 24.2365 -49.42 -12.3961 -17.8948 25.0031 -49.425 -12.6676 -17.9693 25.7919 -49.43 -12.9286 -17.9964 26.5973 -49.435 -13.1767 -17.973 27.4135 -49.44 -13.4099 -17.8969 28.2349 -49.445 -13.6262 -17.7663 29.0559 -49.45 -13.8236 -17.58 29.8709 -49.455 -14.0004 -17.3376 30.6747 -49.46 -14.1551 -17.0392 31.4617 -49.465 -14.2862 -16.6854 32.2269 -49.47 -14.3922 -16.2777 32.965 -49.475 -14.472 -15.8179 33.6708 -49.48 -14.5246 -15.3087 34.3394 -49.485 -14.5489 -14.7532 34.9658 -49.49 -14.5441 -14.1553 35.5451 -49.495 -14.5096 -13.5192 36.0725 -49.5 -14.4447 -12.8499 36.5409 -49.505 -14.3496 -12.1547 36.9472 -49.51 -14.2249 -11.4412 37.2915 -49.515 -14.0716 -10.7168 37.5741 -49.52 -13.8907 -9.98802 37.7957 -49.525 -13.6834 -9.26106 37.9574 -49.53 -13.4511 -8.54149 38.0605 -49.535 -13.1952 -7.83433 38.1065 -49.54 -12.9175 -7.14408 38.0973 -49.545 -12.6197 -6.47467 38.0353 -49.55 -12.3038 -5.82951 37.923 -49.555 -11.972 -5.21144 37.7631 -49.56 -11.6264 -4.62276 37.5589 -49.565 -11.2696 -4.06523 37.3139 -49.57 -10.9041 -3.54007 37.0318 -49.575 -10.5325 -3.04819 36.7171 -49.58 -10.1561 -2.5917 36.3761 -49.585 -9.77654 -2.1709 36.0129 -49.59 -9.3959 -1.78544 35.6307 -49.595 -9.01593 -1.43476 35.2327 -49.6 -8.63828 -1.118 34.8216 -49.605 -8.26445 -0.834088 34.4004 -49.61 -7.8958 -0.581684 33.9715 -49.615 -7.53357 -0.359202 33.5373 -49.62 -7.17882 -0.164806 33.1 -49.625 -6.83251 0.00359124 32.6617 -49.63 -6.49544 0.148326 32.2242 -49.635 -6.16826 0.271987 31.7892 -49.64 -5.85151 0.37726 31.3581 -49.645 -5.54565 0.464827 30.931 -49.65 -5.25093 0.535834 30.508 -49.655 -4.96746 0.591846 30.0897 -49.66 -4.69536 0.634343 29.6764 -49.665 -4.43467 0.664727 29.2685 -49.67 -4.18539 0.684316 28.8663 -49.675 -3.94748 0.69435 28.4699 -49.68 -3.72085 0.695983 28.0795 -49.685 -3.50536 0.690293 27.6952 -49.69 -3.30085 0.678271 27.3169 -49.695 -3.10708 0.660831 26.9446 -49.7 -2.92378 0.638803 26.5782 -49.705 -2.75064 0.612935 26.2174 -49.71 -2.5872 0.583834 25.8622 -49.715 -2.43311 0.552011 25.5126 -49.72 -2.28806 0.51795 25.1684 -49.725 -2.15177 0.482095 24.8296 -49.73 -2.02391 0.444849 24.4959 -49.735 -1.90418 0.406575 24.1672 -49.74 -1.79224 0.367597 23.8436 -49.745 -1.68779 0.328198 23.5247 -49.75 -1.59047 0.288622 23.2106 -49.755 -1.49996 0.249073 22.9011 -49.76 -1.4159 0.209714 22.5961 -49.765 -1.33796 0.170668 22.2956 -49.77 -1.26576 0.13202 21.9993 -49.775 -1.19895 0.0938144 21.7073 -49.78 -1.13716 0.0560537 21.4193 -49.785 -1.08002 0.0187026 21.1354 -49.79 -1.02726 -0.0182261 20.8555 -49.795 -0.978753 -0.0546572 20.5794 -49.8 -0.934318 -0.0905643 20.3072 -49.805 -0.893785 -0.125935 20.0387 -49.81 -0.856979 -0.160769 19.7739 -49.815 -0.823723 -0.195081 19.5128 -49.82 -0.793842 -0.228899 19.2552 -49.825 -0.767158 -0.262266 19.0011 -49.83 -0.743493 -0.295234 18.7506 -49.835 -0.722667 -0.327874 18.5034 -49.84 -0.704501 -0.360268 18.2596 -49.845 -0.688814 -0.39251 18.0191 -49.85 -0.675423 -0.424712 17.7818 -49.855 -0.664147 -0.456995 17.5478 -49.86 -0.654836 -0.489471 17.3169 -49.865 -0.647485 -0.522155 17.0892 -49.87 -0.642051 -0.555091 16.8646 -49.875 -0.638484 -0.588338 16.643 -49.88 -0.636735 -0.62196 16.4245 -49.885 -0.636755 -0.656029 16.209 -49.89 -0.638495 -0.690623 15.9965 -49.895 -0.641906 -0.725828 15.7868 -49.9 -0.64694 -0.761737 15.5801 -49.905 -0.653549 -0.798449 15.3763 -49.91 -0.661687 -0.836072 15.1753 -49.915 -0.671305 -0.874719 14.9772 -49.92 -0.682357 -0.914511 14.7818 -49.925 -0.694798 -0.955577 14.5892 -49.93 -0.708583 -0.998048 14.3994 -49.935 -0.723756 -1.042 14.2123 -49.94 -0.740354 -1.08751 14.028 -49.945 -0.758395 -1.13469 13.8463 -49.95 -0.777901 -1.18363 13.6673 -49.955 -0.798896 -1.23446 13.4911 -49.96 -0.821408 -1.28728 13.3174 -49.965 -0.845466 -1.34224 13.1465 -49.97 -0.871103 -1.39947 12.9782 -49.975 -0.898357 -1.4591 12.8126 -49.98 -0.927267 -1.52129 12.6496 -49.985 -0.957874 -1.58618 12.4894 -49.99 -0.990224 -1.65396 12.3318 -49.995 -1.02437 -1.72477 12.1769 -50 -1.06035 -1.7988 12.0247 diff --git a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_3.txt b/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_3.txt deleted file mode 100644 index 331e7a6..0000000 --- a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_3.txt +++ /dev/null @@ -1,10005 +0,0 @@ -PARAMETRIC_CURVE_CARTESIAN_3D -t1: 0 -t2: 50 -NumPoints: 10001 -0 -5 10 -10 -0.005 -4.29187 9.06985 -10.0872 -0.01 -3.66038 8.27006 -10.1245 -0.015 -3.0949 7.58663 -10.1246 -0.02 -2.58699 7.00779 -10.0952 -0.025 -2.13011 6.52398 -10.0411 -0.03 -1.71791 6.12632 -9.96667 -0.035 -1.34434 5.80662 -9.87627 -0.04 -1.00357 5.55737 -9.7739 -0.045 -0.690024 5.37175 -9.66336 -0.05 -0.398396 5.24364 -9.54823 -0.055 -0.124989 5.1684 -9.42866 -0.06 0.132779 5.14293 -9.30383 -0.065 0.377729 5.16446 -9.17405 -0.07 0.612584 5.23051 -9.03952 -0.075 0.839972 5.33888 -8.90031 -0.08 1.06242 5.48767 -8.75638 -0.085 1.28238 5.67529 -8.6076 -0.09 1.50206 5.90055 -8.45355 -0.095 1.72312 6.16328 -8.29328 -0.1 1.94712 6.46357 -8.12593 -0.105 2.17565 6.80163 -7.95043 -0.11 2.41029 7.1778 -7.76553 -0.115 2.65265 7.59254 -7.56978 -0.12 2.9043 8.0464 -7.36152 -0.125 3.16687 8.54008 -7.13889 -0.13 3.4419 9.07427 -6.8997 -0.135 3.73072 9.64986 -6.64121 -0.14 4.03469 10.2687 -6.36088 -0.145 4.35516 10.9325 -6.05569 -0.15 4.69346 11.6425 -5.72204 -0.155 5.05094 12.3999 -5.35579 -0.16 5.42894 13.2052 -4.95224 -0.165 5.82879 14.0589 -4.5061 -0.17 6.25182 14.9611 -4.01154 -0.175 6.69934 15.9115 -3.46218 -0.18 7.17267 16.9097 -2.85106 -0.185 7.67261 17.9535 -2.1716 -0.19 8.19884 19.0381 -1.41754 -0.195 8.75316 20.1634 -0.576998 -0.2 9.33692 21.327 0.361643 -0.205 9.95079 22.5238 1.40926 -0.21 10.5947 23.7461 2.57596 -0.215 11.268 24.9832 3.87108 -0.22 11.9692 26.2219 5.30322 -0.225 12.6963 27.4462 6.88018 -0.23 13.4463 28.6371 8.60903 -0.235 14.2158 29.7732 10.4961 -0.24 15.0006 30.8302 12.5468 -0.245 15.7958 31.7811 14.766 -0.25 16.5957 32.5963 17.1576 -0.255 17.3938 33.2543 19.7144 -0.26 18.18 33.7165 22.4161 -0.265 18.9437 33.9424 25.2385 -0.27 19.6737 33.8987 28.1522 -0.275 20.3585 33.5594 31.123 -0.28 20.9865 32.9062 34.1121 -0.285 21.5453 31.9278 37.0755 -0.29 22.0225 30.6204 39.9647 -0.295 22.4054 28.9877 42.7259 -0.3 22.6807 27.0393 45.3004 -0.305 22.8405 24.7762 47.621 -0.31 22.878 22.2608 49.6488 -0.315 22.7878 19.5696 51.3603 -0.32 22.5677 16.7705 52.7392 -0.325 22.2183 13.9222 53.7764 -0.33 21.7432 11.0748 54.4698 -0.335 21.1492 8.26955 54.8244 -0.34 20.4458 5.53891 54.8525 -0.345 19.6457 2.90645 54.5734 -0.35 18.7642 0.389014 54.0143 -0.355 17.809 -1.95281 53.2296 -0.36 16.7914 -4.08232 52.2682 -0.365 15.7256 -5.98881 51.1698 -0.37 14.6249 -7.66835 49.9724 -0.375 13.5015 -9.12392 48.7122 -0.38 12.3669 -10.3653 47.4241 -0.385 11.2315 -11.4091 46.1409 -0.39 10.105 -12.2789 44.8939 -0.395 8.99528 -12.9941 43.7004 -0.4 7.9084 -13.5675 42.5648 -0.405 6.84951 -14.0163 41.4956 -0.41 5.82291 -14.3568 40.4991 -0.415 4.83207 -14.6039 39.5794 -0.42 3.87959 -14.7716 38.7379 -0.425 2.96725 -14.8726 37.9743 -0.43 2.09596 -14.9186 37.2855 -0.435 1.26603 -14.9201 36.6679 -0.44 0.477536 -14.8839 36.1196 -0.445 -0.27006 -14.8154 35.6355 -0.45 -0.977387 -14.7194 35.2109 -0.455 -1.64516 -14.6 34.841 -0.46 -2.27419 -14.461 34.5214 -0.465 -2.86537 -14.3057 34.2477 -0.47 -3.41967 -14.1369 34.0156 -0.475 -3.93818 -13.9568 33.8211 -0.48 -4.42204 -13.7672 33.6602 -0.485 -4.8725 -13.5694 33.5294 -0.49 -5.2909 -13.3641 33.4248 -0.495 -5.67865 -13.1516 33.3431 -0.5 -6.03726 -12.9317 33.2809 -0.505 -6.36832 -12.7053 33.2352 -0.51 -6.67287 -12.4743 33.2029 -0.515 -6.95157 -12.2384 33.1814 -0.52 -7.2051 -11.9972 33.168 -0.525 -7.43419 -11.7508 33.1603 -0.53 -7.6396 -11.499 33.1561 -0.535 -7.82212 -11.2423 33.1532 -0.54 -7.9826 -10.981 33.1499 -0.545 -8.12189 -10.7157 33.1444 -0.55 -8.24091 -10.4471 33.1351 -0.555 -8.34061 -10.1763 33.1207 -0.56 -8.42196 -9.90431 33.0999 -0.565 -8.48598 -9.63243 33.0717 -0.57 -8.53374 -9.36215 33.0352 -0.575 -8.56632 -9.09511 32.9897 -0.58 -8.58485 -8.83312 32.9348 -0.585 -8.59048 -8.57798 32.8699 -0.59 -8.58381 -8.32823 32.7952 -0.595 -8.5655 -8.08347 32.7106 -0.6 -8.53633 -7.84434 32.6159 -0.605 -8.4971 -7.61141 32.5112 -0.61 -8.44857 -7.38522 32.3964 -0.615 -8.39151 -7.16626 32.2717 -0.62 -8.32667 -6.95498 32.1373 -0.625 -8.25479 -6.75181 31.9935 -0.63 -8.17662 -6.55711 31.8406 -0.635 -8.09287 -6.37121 31.6789 -0.64 -8.00426 -6.19441 31.5092 -0.645 -7.91151 -6.02695 31.3318 -0.65 -7.8153 -5.86905 31.1474 -0.655 -7.71634 -5.72086 30.9568 -0.66 -7.61531 -5.58252 30.7608 -0.665 -7.51286 -5.45411 30.5602 -0.67 -7.40969 -5.33519 30.3554 -0.675 -7.30627 -5.22537 30.1464 -0.68 -7.20295 -5.12467 29.9338 -0.685 -7.10011 -5.03307 29.7179 -0.69 -6.99807 -4.95051 29.4991 -0.695 -6.89718 -4.87693 29.278 -0.7 -6.79774 -4.81221 29.055 -0.705 -6.70007 -4.75624 28.8303 -0.71 -6.60445 -4.70885 28.6045 -0.715 -6.51118 -4.66986 28.3779 -0.72 -6.42053 -4.63905 28.1509 -0.725 -6.33275 -4.61619 27.9239 -0.73 -6.2481 -4.60099 27.6972 -0.735 -6.16682 -4.59317 27.4712 -0.74 -6.08912 -4.59239 27.2461 -0.745 -6.01522 -4.59831 27.0224 -0.75 -5.94533 -4.61055 26.8003 -0.755 -5.87963 -4.62869 26.5801 -0.76 -5.81831 -4.6523 26.3622 -0.765 -5.76153 -4.68092 26.1468 -0.77 -5.70944 -4.71406 25.9341 -0.775 -5.66184 -4.75205 25.7243 -0.78 -5.61859 -4.79516 25.5172 -0.785 -5.57969 -4.84328 25.3132 -0.79 -5.54516 -4.89631 25.1124 -0.795 -5.51501 -4.95413 24.915 -0.8 -5.48925 -5.01665 24.7212 -0.805 -5.46788 -5.08378 24.5311 -0.81 -5.45092 -5.15543 24.3449 -0.815 -5.43836 -5.23152 24.1628 -0.82 -5.4302 -5.31196 23.985 -0.825 -5.42645 -5.39668 23.8116 -0.83 -5.4271 -5.48561 23.6429 -0.835 -5.43214 -5.57869 23.479 -0.84 -5.44157 -5.67585 23.32 -0.845 -5.45538 -5.77704 23.1662 -0.85 -5.47355 -5.88222 23.0177 -0.855 -5.49607 -5.99132 22.8747 -0.86 -5.52292 -6.10432 22.7374 -0.865 -5.55409 -6.22118 22.6059 -0.87 -5.58955 -6.34185 22.4804 -0.875 -5.62923 -6.4663 22.361 -0.88 -5.67281 -6.59439 22.2479 -0.885 -5.72032 -6.72614 22.1414 -0.89 -5.77183 -6.86161 22.0416 -0.895 -5.82742 -7.0008 21.949 -0.9 -5.88714 -7.14371 21.8637 -0.905 -5.95103 -7.29031 21.786 -0.91 -6.01912 -7.44055 21.7163 -0.915 -6.09141 -7.59435 21.6547 -0.92 -6.16791 -7.7516 21.6016 -0.925 -6.2486 -7.9122 21.5572 -0.93 -6.33346 -8.07599 21.5218 -0.935 -6.42244 -8.24282 21.4956 -0.94 -6.51548 -8.41247 21.479 -0.945 -6.61252 -8.58475 21.472 -0.95 -6.71347 -8.75942 21.4751 -0.955 -6.81823 -8.93622 21.4884 -0.96 -6.9267 -9.11486 21.5123 -0.965 -7.03874 -9.29504 21.5468 -0.97 -7.15422 -9.47643 21.5924 -0.975 -7.273 -9.65868 21.6492 -0.98 -7.39489 -9.84142 21.7174 -0.985 -7.51972 -10.0242 21.7974 -0.99 -7.64731 -10.2067 21.8893 -0.995 -7.77743 -10.3884 21.9933 -1 -7.90987 -10.5689 22.1098 -1.005 -8.0444 -10.7477 22.2389 -1.01 -8.18077 -10.9242 22.3808 -1.015 -8.31885 -11.0982 22.5353 -1.02 -8.45859 -11.2692 22.7023 -1.025 -8.59969 -11.4361 22.8817 -1.03 -8.74183 -11.598 23.0736 -1.035 -8.88468 -11.7537 23.278 -1.04 -9.02791 -11.9023 23.4947 -1.045 -9.17114 -12.0429 23.7236 -1.05 -9.31399 -12.1747 23.9642 -1.055 -9.45606 -12.2967 24.2163 -1.06 -9.59693 -12.4081 24.4792 -1.065 -9.73616 -12.5082 24.7525 -1.07 -9.87331 -12.5962 25.0355 -1.075 -10.0079 -12.6714 25.3275 -1.08 -10.1394 -12.7332 25.6275 -1.085 -10.2674 -12.781 25.9347 -1.09 -10.3913 -12.8141 26.248 -1.095 -10.5106 -12.832 26.5664 -1.1 -10.6246 -12.8342 26.8887 -1.105 -10.7329 -12.8203 27.2136 -1.11 -10.8349 -12.7898 27.5397 -1.115 -10.9299 -12.7423 27.8656 -1.12 -11.0172 -12.6774 28.1897 -1.125 -11.0963 -12.5947 28.5106 -1.13 -11.1673 -12.4919 28.827 -1.135 -11.2297 -12.3696 29.1375 -1.14 -11.283 -12.2297 29.4403 -1.145 -11.3269 -12.0735 29.7338 -1.15 -11.3609 -11.9027 30.0164 -1.155 -11.3847 -11.7186 30.2868 -1.16 -11.3982 -11.5226 30.5438 -1.165 -11.4011 -11.316 30.7861 -1.17 -11.3933 -11.0999 31.0128 -1.175 -11.3749 -10.8756 31.2229 -1.18 -11.3459 -10.644 31.4158 -1.185 -11.3062 -10.4062 31.5907 -1.19 -11.2562 -10.1631 31.7471 -1.195 -11.1961 -9.91552 31.8846 -1.2 -11.1261 -9.66428 32.0029 -1.205 -11.0466 -9.41006 32.1019 -1.21 -10.958 -9.15352 32.1815 -1.215 -10.8609 -8.89521 32.2417 -1.22 -10.7558 -8.63563 32.2828 -1.225 -10.6433 -8.3752 32.3051 -1.23 -10.5241 -8.11427 32.309 -1.235 -10.3991 -7.85312 32.2951 -1.24 -10.2684 -7.59356 32.2642 -1.245 -10.1314 -7.34018 32.2171 -1.25 -9.98883 -7.09394 32.1541 -1.255 -9.84137 -6.85552 32.0753 -1.26 -9.6897 -6.62558 31.9812 -1.265 -9.53451 -6.40467 31.8722 -1.27 -9.37643 -6.1933 31.7487 -1.275 -9.2161 -5.99192 31.6113 -1.28 -9.05412 -5.80089 31.4607 -1.285 -8.89107 -5.62054 31.2974 -1.29 -8.72753 -5.45111 31.1223 -1.295 -8.56402 -5.2928 30.9363 -1.3 -8.40106 -5.14571 30.7402 -1.305 -8.23916 -5.00992 30.535 -1.31 -8.07879 -4.88541 30.3218 -1.315 -7.9204 -4.77211 30.1017 -1.32 -7.76442 -4.6699 29.8759 -1.325 -7.61127 -4.57856 29.6456 -1.33 -7.46133 -4.49785 29.4122 -1.335 -7.31498 -4.42744 29.1772 -1.34 -7.17254 -4.36693 28.942 -1.345 -7.03436 -4.31587 28.7081 -1.35 -6.90073 -4.27373 28.4761 -1.355 -6.7719 -4.23997 28.2435 -1.36 -6.64799 -4.21432 28.0103 -1.365 -6.52909 -4.19649 27.7769 -1.37 -6.41531 -4.18621 27.5437 -1.375 -6.30672 -4.18324 27.311 -1.38 -6.20341 -4.18731 27.0792 -1.385 -6.10544 -4.19816 26.8485 -1.39 -6.01286 -4.21555 26.6193 -1.395 -5.92573 -4.23924 26.3919 -1.4 -5.84409 -4.26899 26.1666 -1.405 -5.76796 -4.30456 25.9435 -1.41 -5.69737 -4.34573 25.723 -1.415 -5.63232 -4.39226 25.5052 -1.42 -5.57283 -4.44395 25.2904 -1.425 -5.51888 -4.50056 25.0787 -1.43 -5.47046 -4.5619 24.8703 -1.435 -5.42754 -4.62776 24.6654 -1.44 -5.39009 -4.69793 24.4641 -1.445 -5.35807 -4.77223 24.2666 -1.45 -5.33132 -4.85057 24.0729 -1.455 -5.30951 -4.93322 23.8834 -1.46 -5.29266 -5.02012 23.6983 -1.465 -5.28079 -5.1112 23.5176 -1.47 -5.27393 -5.2064 23.3416 -1.475 -5.27209 -5.30565 23.1703 -1.48 -5.27529 -5.40891 23.0039 -1.485 -5.28353 -5.51611 22.8426 -1.49 -5.29679 -5.62722 22.6866 -1.495 -5.31506 -5.7422 22.536 -1.5 -5.33831 -5.861 22.391 -1.505 -5.36653 -5.9836 22.2518 -1.51 -5.39966 -6.10997 22.1187 -1.515 -5.43767 -6.2401 21.9917 -1.52 -5.48049 -6.37397 21.8713 -1.525 -5.52807 -6.51156 21.7575 -1.53 -5.58033 -6.65288 21.6507 -1.535 -5.6372 -6.79791 21.551 -1.54 -5.6986 -6.94668 21.4587 -1.545 -5.76442 -7.09918 21.3741 -1.55 -5.83458 -7.25543 21.2975 -1.555 -5.90895 -7.41546 21.2291 -1.56 -5.98743 -7.57928 21.1693 -1.565 -6.06989 -7.74692 21.1182 -1.57 -6.1562 -7.91843 21.0762 -1.575 -6.2463 -8.09355 21.0434 -1.58 -6.3403 -8.27179 21.0198 -1.585 -6.43828 -8.45304 21.0059 -1.59 -6.54027 -8.63717 21.002 -1.595 -6.6463 -8.824 21.0088 -1.6 -6.75635 -9.0133 21.0266 -1.605 -6.8704 -9.20483 21.0559 -1.61 -6.9884 -9.39827 21.0969 -1.615 -7.11027 -9.59329 21.15 -1.62 -7.2359 -9.78951 21.2155 -1.625 -7.36517 -9.9865 21.2936 -1.63 -7.49794 -10.1838 21.3847 -1.635 -7.63402 -10.3809 21.4888 -1.64 -7.77323 -10.5773 21.6062 -1.645 -7.91533 -10.7724 21.737 -1.65 -8.06009 -10.9656 21.8813 -1.655 -8.20724 -11.1561 22.0391 -1.66 -8.35649 -11.3434 22.2106 -1.665 -8.50751 -11.5266 22.3958 -1.67 -8.65996 -11.705 22.5945 -1.675 -8.81349 -11.8777 22.8068 -1.68 -8.96771 -12.044 23.0326 -1.685 -9.12219 -12.2028 23.2717 -1.69 -9.27652 -12.3532 23.5241 -1.695 -9.43021 -12.4943 23.7895 -1.7 -9.58308 -12.6254 24.0678 -1.705 -9.7349 -12.7461 24.3583 -1.71 -9.88501 -12.8548 24.66 -1.715 -10.0328 -12.9504 24.972 -1.72 -10.1775 -13.0318 25.2934 -1.725 -10.3187 -13.0979 25.623 -1.73 -10.4556 -13.1478 25.9596 -1.735 -10.5876 -13.1808 26.3023 -1.74 -10.7143 -13.1962 26.6496 -1.745 -10.835 -13.1934 27.0004 -1.75 -10.9491 -13.172 27.3534 -1.755 -11.0561 -13.1316 27.7071 -1.76 -11.1555 -13.0721 28.0601 -1.765 -11.2468 -12.9933 28.411 -1.77 -11.3294 -12.8953 28.7583 -1.775 -11.4029 -12.7781 29.1004 -1.78 -11.4667 -12.6421 29.4356 -1.785 -11.5205 -12.4875 29.7624 -1.79 -11.5637 -12.3149 30.0789 -1.795 -11.5959 -12.1248 30.3834 -1.8 -11.6168 -11.9178 30.6741 -1.805 -11.6259 -11.6939 30.9487 -1.81 -11.6234 -11.4544 31.206 -1.815 -11.6091 -11.2017 31.4452 -1.82 -11.5831 -10.9376 31.6653 -1.825 -11.5454 -10.6641 31.8658 -1.83 -11.4962 -10.3831 32.0461 -1.835 -11.4357 -10.0964 32.2057 -1.84 -11.3641 -9.80543 32.3442 -1.845 -11.2818 -9.51189 32.4614 -1.85 -11.1889 -9.21717 32.5572 -1.855 -11.0861 -8.92262 32.6313 -1.86 -10.9736 -8.62947 32.6839 -1.865 -10.8521 -8.33886 32.7152 -1.87 -10.7221 -8.05184 32.7252 -1.875 -10.5842 -7.76934 32.7144 -1.88 -10.4391 -7.49222 32.6832 -1.885 -10.2875 -7.2212 32.6321 -1.89 -10.1301 -6.95695 32.5618 -1.895 -9.96791 -6.69999 32.4729 -1.9 -9.80169 -6.45077 32.3664 -1.905 -9.63222 -6.21008 32.2434 -1.91 -9.45954 -5.98011 32.1059 -1.915 -9.28433 -5.76151 31.9549 -1.92 -9.10731 -5.55468 31.7912 -1.925 -8.92916 -5.3599 31.6156 -1.93 -8.75055 -5.17741 31.429 -1.935 -8.5721 -5.00737 31.2322 -1.94 -8.39439 -4.84983 31.0261 -1.945 -8.218 -4.70482 30.8115 -1.95 -8.04345 -4.57225 30.5893 -1.955 -7.87124 -4.45197 30.3604 -1.96 -7.70183 -4.34376 30.1256 -1.965 -7.53565 -4.24731 29.8859 -1.97 -7.3731 -4.16225 29.6421 -1.975 -7.21456 -4.08812 29.3952 -1.98 -7.06035 -4.02439 29.146 -1.985 -6.91078 -3.97047 28.8956 -1.99 -6.76611 -3.92567 28.6447 -1.995 -6.6266 -3.88924 28.3944 -2 -6.49243 -3.86096 28.1446 -2.005 -6.36372 -3.84095 27.8948 -2.01 -6.24055 -3.82885 27.6453 -2.015 -6.12299 -3.82434 27.3966 -2.02 -6.01109 -3.82711 27.149 -2.025 -5.90492 -3.83685 26.9027 -2.03 -5.80451 -3.85328 26.6581 -2.035 -5.70989 -3.87611 26.4154 -2.04 -5.6211 -3.90507 26.1748 -2.045 -5.53815 -3.93992 25.9367 -2.05 -5.46103 -3.9804 25.7013 -2.055 -5.38976 -4.02628 25.4688 -2.06 -5.32432 -4.07734 25.2393 -2.065 -5.26468 -4.13338 25.013 -2.07 -5.21081 -4.19419 24.7901 -2.075 -5.16268 -4.25959 24.5708 -2.08 -5.12024 -4.3294 24.3552 -2.085 -5.08342 -4.40346 24.1433 -2.09 -5.05211 -4.48165 23.9354 -2.095 -5.02594 -4.56416 23.7317 -2.1 -5.00485 -4.65096 23.5324 -2.105 -4.98888 -4.74196 23.3375 -2.11 -4.97807 -4.8371 23.1473 -2.115 -4.97245 -4.93631 22.9618 -2.12 -4.97201 -5.03953 22.7811 -2.125 -4.97678 -5.14673 22.6055 -2.13 -4.98674 -5.25785 22.435 -2.135 -5.00188 -5.37287 22.2698 -2.14 -5.0222 -5.49177 22.1101 -2.145 -5.04766 -5.61453 21.9561 -2.15 -5.07822 -5.74115 21.808 -2.155 -5.11384 -5.87163 21.6659 -2.16 -5.15447 -6.00599 21.5302 -2.165 -5.20005 -6.14423 21.4009 -2.17 -5.25051 -6.2864 21.2785 -2.175 -5.30578 -6.43252 21.163 -2.18 -5.36576 -6.58264 21.0548 -2.185 -5.43037 -6.73682 20.9541 -2.19 -5.4995 -6.89512 20.8612 -2.195 -5.57304 -7.0576 20.7764 -2.2 -5.65088 -7.22434 20.7 -2.205 -5.73289 -7.39544 20.6323 -2.21 -5.81893 -7.57098 20.5736 -2.215 -5.90889 -7.75101 20.5242 -2.22 -6.00295 -7.93487 20.4839 -2.225 -6.10127 -8.12237 20.4533 -2.23 -6.20389 -8.31348 20.4328 -2.235 -6.31088 -8.5081 20.4228 -2.24 -6.42225 -8.70609 20.4239 -2.245 -6.53799 -8.90726 20.4364 -2.25 -6.65808 -9.11139 20.4608 -2.255 -6.78247 -9.31818 20.4975 -2.26 -6.91109 -9.52731 20.5468 -2.265 -7.04383 -9.73841 20.609 -2.27 -7.18059 -9.95107 20.6845 -2.275 -7.32122 -10.1648 20.7735 -2.28 -7.46555 -10.3791 20.8765 -2.285 -7.6134 -10.5934 20.9935 -2.29 -7.76456 -10.8071 21.1248 -2.295 -7.91878 -11.0196 21.2706 -2.3 -8.07582 -11.2301 21.4312 -2.305 -8.23538 -11.4379 21.6066 -2.31 -8.39718 -11.6422 21.797 -2.315 -8.56087 -11.8422 22.0025 -2.32 -8.72611 -12.037 22.2232 -2.325 -8.89253 -12.2255 22.4592 -2.33 -9.05973 -12.407 22.7105 -2.335 -9.22732 -12.5804 22.9771 -2.34 -9.39516 -12.7455 23.2585 -2.345 -9.56271 -12.9009 23.5543 -2.35 -9.72937 -13.0449 23.8639 -2.355 -9.8945 -13.1761 24.1864 -2.36 -10.0575 -13.2932 24.5213 -2.365 -10.2177 -13.395 24.8675 -2.37 -10.3746 -13.4802 25.2241 -2.375 -10.5274 -13.5479 25.59 -2.38 -10.6756 -13.5972 25.9641 -2.385 -10.8185 -13.6272 26.345 -2.39 -10.9554 -13.6373 26.7315 -2.395 -11.0858 -13.6269 27.1219 -2.4 -11.2089 -13.5955 27.5148 -2.405 -11.3241 -13.5427 27.9086 -2.41 -11.4308 -13.4683 28.3013 -2.415 -11.5283 -13.3722 28.6913 -2.42 -11.6159 -13.2543 29.0764 -2.425 -11.6929 -13.1146 29.4548 -2.43 -11.7588 -12.9535 29.8241 -2.435 -11.8128 -12.771 30.1823 -2.44 -11.8547 -12.5658 30.5268 -2.445 -11.8842 -12.3396 30.856 -2.45 -11.9011 -12.0946 31.1683 -2.455 -11.9051 -11.8334 31.4623 -2.46 -11.896 -11.5579 31.7367 -2.465 -11.8738 -11.2704 31.9904 -2.47 -11.8384 -10.9729 32.2224 -2.475 -11.79 -10.6671 32.4319 -2.48 -11.7287 -10.3549 32.6182 -2.485 -11.6547 -10.0379 32.7807 -2.49 -11.5684 -9.71752 32.919 -2.495 -11.4701 -9.39532 33.0328 -2.5 -11.3604 -9.07255 33.122 -2.505 -11.2398 -8.75038 33.1866 -2.51 -11.1089 -8.42989 33.2267 -2.515 -10.9686 -8.11205 33.2426 -2.52 -10.8195 -7.7977 33.2348 -2.525 -10.6626 -7.48757 33.2038 -2.53 -10.4988 -7.18227 33.1503 -2.535 -10.3292 -6.88237 33.0752 -2.54 -10.1538 -6.5911 32.9803 -2.545 -9.97286 -6.31093 32.8671 -2.55 -9.78737 -6.04258 32.7364 -2.555 -9.59818 -5.78672 32.5891 -2.56 -9.40612 -5.54388 32.4263 -2.565 -9.212 -5.31452 32.2487 -2.57 -9.01658 -5.09895 32.0575 -2.575 -8.82059 -4.89743 31.8537 -2.58 -8.62474 -4.71008 31.6383 -2.585 -8.42968 -4.53692 31.4125 -2.59 -8.23603 -4.37789 31.1773 -2.595 -8.0444 -4.23279 30.9341 -2.6 -7.85532 -4.10136 30.6839 -2.605 -7.66932 -3.9832 30.428 -2.61 -7.48689 -3.87782 30.1677 -2.615 -7.30847 -3.78463 29.9043 -2.62 -7.13447 -3.70294 29.6391 -2.625 -6.96528 -3.63194 29.3735 -2.63 -6.80126 -3.57117 29.1076 -2.635 -6.64265 -3.52052 28.8405 -2.64 -6.48961 -3.47958 28.5726 -2.645 -6.34229 -3.44793 28.3046 -2.65 -6.20079 -3.42516 28.0367 -2.655 -6.06524 -3.41087 27.7693 -2.66 -5.93572 -3.40467 27.5029 -2.665 -5.81233 -3.40619 27.2379 -2.67 -5.69512 -3.41506 26.9744 -2.675 -5.58416 -3.43091 26.7129 -2.68 -5.47947 -3.4534 26.4535 -2.685 -5.3811 -3.48219 26.1966 -2.69 -5.28904 -3.51693 25.9424 -2.695 -5.20331 -3.55732 25.691 -2.7 -5.12387 -3.60304 25.4427 -2.705 -5.0507 -3.65379 25.1975 -2.71 -4.98376 -3.70926 24.9557 -2.715 -4.92298 -3.76919 24.7172 -2.72 -4.8682 -3.83345 24.4823 -2.725 -4.81914 -3.90223 24.2512 -2.73 -4.77576 -3.9754 24.024 -2.735 -4.73806 -4.05284 23.8008 -2.74 -4.70601 -4.13445 23.5817 -2.745 -4.67958 -4.22012 23.3669 -2.75 -4.65873 -4.30978 23.1564 -2.755 -4.64343 -4.40336 22.9504 -2.76 -4.63363 -4.50083 22.7489 -2.765 -4.62928 -4.60214 22.5523 -2.77 -4.63034 -4.70728 22.3605 -2.775 -4.63673 -4.81625 22.1738 -2.78 -4.6484 -4.92905 21.9923 -2.785 -4.66528 -5.04572 21.8162 -2.79 -4.68729 -5.1663 21.6457 -2.795 -4.71436 -5.29085 21.4809 -2.8 -4.74639 -5.41943 21.3221 -2.805 -4.78331 -5.55214 21.1693 -2.81 -4.82501 -5.68907 21.0229 -2.815 -4.8714 -5.83035 20.8831 -2.82 -4.92236 -5.97612 20.75 -2.825 -4.97781 -6.1265 20.6239 -2.83 -5.03762 -6.28159 20.5051 -2.835 -5.1019 -6.44104 20.3936 -2.84 -5.17073 -6.6049 20.2898 -2.845 -5.24419 -6.77329 20.194 -2.85 -5.32236 -6.94626 20.1065 -2.855 -5.40528 -7.12386 20.0276 -2.86 -5.49299 -7.30609 19.9577 -2.865 -5.58553 -7.49295 19.8971 -2.87 -5.68291 -7.68438 19.8461 -2.875 -5.78512 -7.8803 19.8051 -2.88 -5.89216 -8.08059 19.7744 -2.885 -6.004 -8.28513 19.7545 -2.89 -6.1206 -8.49375 19.7457 -2.895 -6.24191 -8.70623 19.7483 -2.9 -6.36787 -8.92237 19.7629 -2.905 -6.49839 -9.14188 19.7897 -2.91 -6.63338 -9.36449 19.8293 -2.915 -6.77274 -9.58988 19.882 -2.92 -6.91635 -9.8177 19.9483 -2.925 -7.06408 -10.0476 20.0285 -2.93 -7.21579 -10.2791 20.1233 -2.935 -7.37131 -10.5118 20.2329 -2.94 -7.53048 -10.7452 20.358 -2.945 -7.69311 -10.9789 20.4989 -2.95 -7.859 -11.2125 20.6554 -2.955 -8.02796 -11.4455 20.8274 -2.96 -8.1998 -11.6765 21.0157 -2.965 -8.37431 -11.9044 21.2206 -2.97 -8.55122 -12.1279 21.4427 -2.975 -8.73022 -12.3459 21.6823 -2.98 -8.91097 -12.5571 21.9393 -2.985 -9.09308 -12.7603 22.2139 -2.99 -9.2761 -12.9544 22.5059 -2.995 -9.45957 -13.1381 22.815 -3 -9.64298 -13.3103 23.1407 -3.005 -9.82576 -13.4697 23.4825 -3.01 -10.0073 -13.6152 23.8397 -3.015 -10.187 -13.7456 24.2115 -3.02 -10.3641 -13.8597 24.5968 -3.025 -10.538 -13.9563 24.9944 -3.03 -10.7078 -14.0344 25.4033 -3.035 -10.8728 -14.0926 25.8218 -3.04 -11.032 -14.1299 26.2485 -3.045 -11.1847 -14.145 26.6818 -3.05 -11.3299 -14.1369 27.1196 -3.055 -11.4665 -14.1044 27.5602 -3.06 -11.5941 -14.0459 28.002 -3.065 -11.7126 -13.9601 28.4434 -3.07 -11.821 -13.8479 28.8816 -3.075 -11.9182 -13.7105 29.3136 -3.08 -12.0036 -13.5488 29.7367 -3.085 -12.0763 -13.3638 30.1483 -3.09 -12.1357 -13.1567 30.5461 -3.095 -12.1812 -12.9287 30.9279 -3.1 -12.2124 -12.6808 31.2917 -3.105 -12.2291 -12.4144 31.6357 -3.11 -12.231 -12.1307 31.9584 -3.115 -12.218 -11.8309 32.2582 -3.12 -12.1901 -11.5164 32.534 -3.125 -12.1474 -11.1886 32.7846 -3.13 -12.0902 -10.8488 33.0093 -3.135 -12.0189 -10.4985 33.2072 -3.14 -11.9337 -10.1391 33.378 -3.145 -11.8353 -9.77227 33.5213 -3.15 -11.7244 -9.39941 33.6369 -3.155 -11.6015 -9.02258 33.7249 -3.16 -11.4661 -8.64694 33.7851 -3.165 -11.3188 -8.27501 33.8179 -3.17 -11.1607 -7.90849 33.8238 -3.175 -10.9926 -7.54895 33.8033 -3.18 -10.8155 -7.19783 33.7571 -3.185 -10.6304 -6.85648 33.6861 -3.19 -10.4381 -6.52609 33.5913 -3.195 -10.2395 -6.20777 33.4736 -3.2 -10.0356 -5.9025 33.3343 -3.205 -9.82722 -5.61111 33.1746 -3.21 -9.61521 -5.33435 32.996 -3.215 -9.40043 -5.07282 32.8 -3.22 -9.18372 -4.82703 32.5883 -3.225 -8.96592 -4.59736 32.3625 -3.23 -8.74784 -4.38404 32.1246 -3.235 -8.53028 -4.18723 31.8765 -3.24 -8.31403 -4.00693 31.6204 -3.245 -8.09988 -3.84304 31.3585 -3.25 -7.88861 -3.69507 31.0925 -3.255 -7.68098 -3.56147 30.8211 -3.26 -7.47744 -3.44171 30.545 -3.265 -7.27837 -3.33537 30.2648 -3.27 -7.08415 -3.24203 29.9814 -3.275 -6.89512 -3.16124 29.6955 -3.28 -6.71158 -3.09252 29.4077 -3.285 -6.53382 -3.0354 29.1187 -3.29 -6.36209 -2.98937 28.8292 -3.295 -6.19663 -2.95391 28.5395 -3.3 -6.03762 -2.92846 28.2503 -3.305 -5.88525 -2.91246 27.962 -3.31 -5.73966 -2.90534 27.675 -3.315 -5.60096 -2.90649 27.3897 -3.32 -5.46924 -2.91529 27.1064 -3.325 -5.34456 -2.9311 26.8255 -3.33 -5.22696 -2.95326 26.5472 -3.335 -5.11644 -2.98109 26.2716 -3.34 -5.01298 -3.0139 25.999 -3.345 -4.91636 -3.05175 25.7294 -3.35 -4.82639 -3.09495 25.463 -3.355 -4.74298 -3.14324 25.2 -3.36 -4.66608 -3.19638 24.9403 -3.365 -4.59561 -3.25415 24.6842 -3.37 -4.53149 -3.31637 24.4317 -3.375 -4.47365 -3.38285 24.183 -3.38 -4.42199 -3.45346 23.9381 -3.385 -4.37644 -3.52806 23.6973 -3.39 -4.3369 -3.60655 23.4605 -3.395 -4.30327 -3.68885 23.2279 -3.4 -4.27547 -3.7749 22.9997 -3.405 -4.25339 -3.86466 22.7759 -3.41 -4.23693 -3.95811 22.5566 -3.415 -4.22597 -4.05527 22.342 -3.42 -4.22041 -4.15615 22.1322 -3.425 -4.22013 -4.26082 21.9273 -3.43 -4.22502 -4.36933 21.7274 -3.435 -4.23495 -4.48179 21.5326 -3.44 -4.24977 -4.5983 21.3431 -3.445 -4.2693 -4.71888 21.1591 -3.45 -4.29361 -4.84358 20.9808 -3.455 -4.32274 -4.97247 20.8082 -3.46 -4.35676 -5.1056 20.6415 -3.465 -4.3957 -5.24303 20.4809 -3.47 -4.43959 -5.38483 20.3265 -3.475 -4.48847 -5.53104 20.1785 -3.48 -4.54235 -5.68173 20.0371 -3.485 -4.60125 -5.83697 19.9026 -3.49 -4.66518 -5.99681 19.7751 -3.495 -4.73413 -6.16131 19.655 -3.5 -4.80809 -6.33053 19.5426 -3.505 -4.88704 -6.50454 19.4381 -3.51 -4.97097 -6.68339 19.3418 -3.515 -5.05984 -6.86715 19.2541 -3.52 -5.15361 -7.05589 19.1753 -3.525 -5.25224 -7.24965 19.1059 -3.53 -5.35567 -7.44851 19.0461 -3.535 -5.46385 -7.65253 18.9964 -3.54 -5.5767 -7.86177 18.9572 -3.545 -5.69415 -8.0763 18.929 -3.55 -5.81612 -8.29618 18.9122 -3.555 -5.94254 -8.52126 18.9071 -3.56 -6.07356 -8.75081 18.9136 -3.565 -6.2093 -8.98473 18.9324 -3.57 -6.34985 -9.2229 18.9644 -3.575 -6.49527 -9.46515 19.0102 -3.58 -6.64558 -9.71121 19.0704 -3.585 -6.80077 -9.96074 19.1458 -3.59 -6.96079 -10.2133 19.2369 -3.595 -7.12555 -10.4685 19.3442 -3.6 -7.29494 -10.7256 19.4682 -3.605 -7.46879 -10.984 19.6093 -3.61 -7.64692 -11.2431 19.768 -3.615 -7.82911 -11.5019 19.9446 -3.62 -8.01509 -11.7597 20.1395 -3.625 -8.20457 -12.0153 20.3528 -3.63 -8.39721 -12.2679 20.5848 -3.635 -8.59266 -12.5163 20.8357 -3.64 -8.79051 -12.7593 21.1056 -3.645 -8.99033 -12.9956 21.3947 -3.65 -9.19163 -13.2239 21.7028 -3.655 -9.39393 -13.4427 22.0301 -3.66 -9.59667 -13.6506 22.3766 -3.665 -9.79928 -13.8459 22.742 -3.67 -10.0012 -14.0273 23.1262 -3.675 -10.2022 -14.1943 23.5286 -3.68 -10.4012 -14.3447 23.9479 -3.685 -10.5973 -14.4762 24.3827 -3.69 -10.7896 -14.5869 24.8315 -3.695 -10.9771 -14.675 25.2929 -3.7 -11.159 -14.739 25.7651 -3.705 -11.3344 -14.7776 26.2463 -3.71 -11.5022 -14.7895 26.7345 -3.715 -11.6617 -14.7738 27.2279 -3.72 -11.812 -14.7297 27.7241 -3.725 -11.9522 -14.6568 28.221 -3.73 -12.0814 -14.5546 28.7162 -3.735 -12.1988 -14.423 29.2072 -3.74 -12.3035 -14.262 29.6914 -3.745 -12.3948 -14.0719 30.1661 -3.75 -12.4717 -13.8532 30.6285 -3.755 -12.5335 -13.6065 31.0756 -3.76 -12.5794 -13.3327 31.5043 -3.765 -12.6089 -13.0314 31.9111 -3.77 -12.6217 -12.7038 32.2932 -3.775 -12.6175 -12.3539 32.649 -3.78 -12.5964 -11.985 32.977 -3.785 -12.5582 -11.6007 33.2761 -3.79 -12.503 -11.204 33.5452 -3.795 -12.431 -10.798 33.7836 -3.8 -12.3425 -10.3854 33.9904 -3.805 -12.2379 -9.96867 34.1654 -3.81 -12.1177 -9.55027 34.308 -3.815 -11.9826 -9.13234 34.4184 -3.82 -11.8331 -8.71683 34.4965 -3.825 -11.6702 -8.30547 34.5426 -3.83 -11.4948 -7.89984 34.5572 -3.835 -11.3079 -7.50127 34.541 -3.84 -11.1106 -7.11091 34.4947 -3.845 -10.9043 -6.7297 34.4193 -3.85 -10.6902 -6.35839 34.3161 -3.855 -10.4696 -5.99778 34.1866 -3.86 -10.2428 -5.65203 34.0341 -3.865 -10.0106 -5.3231 33.8604 -3.87 -9.774 -5.0117 33.6672 -3.875 -9.53429 -4.7184 33.4558 -3.88 -9.2925 -4.44358 33.2277 -3.885 -9.04964 -4.18752 32.9843 -3.89 -8.80669 -3.95031 32.7272 -3.895 -8.56453 -3.73191 32.4579 -3.9 -8.32401 -3.53212 32.1777 -3.905 -8.08593 -3.35059 31.8883 -3.91 -7.85102 -3.18681 31.5911 -3.915 -7.61994 -3.04014 31.2876 -3.92 -7.39332 -2.90978 30.9793 -3.925 -7.17173 -2.79476 30.6679 -3.93 -6.95566 -2.69398 30.3547 -3.935 -6.74556 -2.60619 30.0414 -3.94 -6.54185 -2.53069 29.7282 -3.945 -6.34484 -2.46743 29.4145 -3.95 -6.1547 -2.41574 29.1008 -3.955 -5.97157 -2.37495 28.7875 -3.96 -5.79558 -2.34442 28.4751 -3.965 -5.62686 -2.32353 28.164 -3.97 -5.46547 -2.31169 27.8547 -3.975 -5.3115 -2.30831 27.5474 -3.98 -5.16499 -2.31284 27.2426 -3.985 -5.02596 -2.32476 26.9403 -3.99 -4.89442 -2.34356 26.641 -3.995 -4.77035 -2.36875 26.3447 -4 -4.65372 -2.39986 26.0517 -4.005 -4.54446 -2.43646 25.762 -4.01 -4.4425 -2.47813 25.4758 -4.015 -4.34773 -2.52447 25.1931 -4.02 -4.26 -2.57517 24.914 -4.025 -4.17898 -2.63025 24.6386 -4.03 -4.10456 -2.68953 24.3671 -4.035 -4.03666 -2.75281 24.0995 -4.04 -3.97519 -2.8199 23.8358 -4.045 -3.92006 -2.89065 23.5761 -4.05 -3.87118 -2.96493 23.3206 -4.055 -3.82846 -3.04264 23.0691 -4.06 -3.79179 -3.12367 22.8219 -4.065 -3.76106 -3.20799 22.5789 -4.07 -3.73617 -3.29555 22.3403 -4.075 -3.71699 -3.38633 22.1062 -4.08 -3.70343 -3.48037 21.8765 -4.085 -3.69534 -3.57768 21.6515 -4.09 -3.6926 -3.67834 21.4312 -4.095 -3.69509 -3.78244 21.2157 -4.1 -3.70267 -3.89007 21.0051 -4.105 -3.71519 -4.00138 20.7996 -4.11 -3.73252 -4.11653 20.5991 -4.115 -3.75451 -4.23569 20.4039 -4.12 -3.78101 -4.35905 20.2141 -4.125 -3.81205 -4.48657 20.0299 -4.13 -3.84769 -4.61832 19.8514 -4.135 -3.88798 -4.75441 19.6787 -4.14 -3.933 -4.89496 19.512 -4.145 -3.98278 -5.04009 19.3515 -4.15 -4.03737 -5.18991 19.1972 -4.155 -4.09681 -5.34452 19.0495 -4.16 -4.16115 -5.50405 18.9085 -4.165 -4.2304 -5.6686 18.7745 -4.17 -4.30459 -5.83829 18.6477 -4.175 -4.38375 -6.01323 18.5285 -4.18 -4.46789 -6.19353 18.4171 -4.185 -4.55703 -6.37929 18.3138 -4.19 -4.65116 -6.57064 18.2191 -4.195 -4.7503 -6.76768 18.1333 -4.2 -4.85444 -6.97052 18.0567 -4.205 -4.96357 -7.17927 17.9898 -4.21 -5.07769 -7.39404 17.933 -4.215 -5.19676 -7.61494 17.8868 -4.22 -5.32078 -7.84207 17.8517 -4.225 -5.44971 -8.07555 17.8281 -4.23 -5.58352 -8.31511 17.8162 -4.235 -5.7223 -8.56008 17.8163 -4.24 -5.86623 -8.81059 17.8291 -4.245 -6.01544 -9.06665 17.8556 -4.25 -6.17005 -9.32821 17.8964 -4.255 -6.33013 -9.59511 17.9523 -4.26 -6.4957 -9.86709 18.0242 -4.265 -6.66675 -10.1438 18.1126 -4.27 -6.84325 -10.4248 18.2182 -4.275 -7.02511 -10.7095 18.3417 -4.28 -7.21222 -10.9972 18.4837 -4.285 -7.40441 -11.2873 18.6447 -4.29 -7.60149 -11.5789 18.8253 -4.295 -7.80324 -11.871 19.0258 -4.3 -8.00938 -12.1627 19.2469 -4.305 -8.2196 -12.4526 19.4889 -4.31 -8.43357 -12.7397 19.7521 -4.315 -8.6509 -13.0226 20.037 -4.32 -8.87118 -13.2999 20.3439 -4.325 -9.09395 -13.5699 20.673 -4.33 -9.31871 -13.8312 21.0245 -4.335 -9.54493 -14.082 21.3988 -4.34 -9.77205 -14.3204 21.796 -4.345 -9.99951 -14.5449 22.2161 -4.35 -10.2267 -14.7548 22.6581 -4.355 -10.4528 -14.9473 23.121 -4.36 -10.6765 -15.1197 23.6037 -4.365 -10.8971 -15.2695 24.1047 -4.37 -11.1134 -15.3942 24.6226 -4.375 -11.3243 -15.492 25.1556 -4.38 -11.5289 -15.5609 25.7018 -4.385 -11.7261 -15.5993 26.2589 -4.39 -11.9147 -15.6059 26.8247 -4.395 -12.0938 -15.5794 27.3968 -4.4 -12.2622 -15.519 27.9722 -4.405 -12.4189 -15.424 28.5483 -4.41 -12.5626 -15.2939 29.1218 -4.415 -12.6924 -15.1285 29.6895 -4.42 -12.807 -14.9277 30.2479 -4.425 -12.9054 -14.6918 30.7934 -4.43 -12.9863 -14.4212 31.322 -4.435 -13.049 -14.1152 31.8295 -4.44 -13.0932 -13.7737 32.3122 -4.445 -13.1182 -13.4013 32.7673 -4.45 -13.1235 -13.0023 33.1925 -4.455 -13.1089 -12.5809 33.5857 -4.46 -13.0741 -12.1409 33.9449 -4.465 -13.0192 -11.6861 34.2687 -4.47 -12.9443 -11.2198 34.5559 -4.475 -12.8497 -10.7451 34.8053 -4.48 -12.7358 -10.265 35.0162 -4.485 -12.6034 -9.78203 35.1883 -4.49 -12.453 -9.2987 35.3213 -4.495 -12.2858 -8.81713 35.4153 -4.5 -12.1026 -8.33924 35.4707 -4.505 -11.9049 -7.86669 35.4883 -4.51 -11.6939 -7.40091 35.4688 -4.515 -11.4711 -6.94306 35.4135 -4.52 -11.2384 -6.49407 35.324 -4.525 -10.9961 -6.05875 35.2032 -4.53 -10.7446 -5.64178 35.0541 -4.535 -10.4856 -5.24445 34.8784 -4.54 -10.2203 -4.86784 34.678 -4.545 -9.95029 -4.51277 34.4548 -4.55 -9.6768 -4.17989 34.2106 -4.555 -9.40109 -3.86958 33.9474 -4.56 -9.12434 -3.58203 33.6672 -4.565 -8.84768 -3.31721 33.3719 -4.57 -8.57216 -3.07484 33.0637 -4.575 -8.29876 -2.85445 32.7445 -4.58 -8.02839 -2.65534 32.4165 -4.585 -7.76192 -2.47657 32.0818 -4.59 -7.50013 -2.31702 31.7426 -4.595 -7.24374 -2.1753 31.4012 -4.6 -6.99341 -2.04996 31.0593 -4.605 -6.74975 -1.94065 30.7161 -4.61 -6.51313 -1.84663 30.3718 -4.615 -6.28384 -1.76701 30.027 -4.62 -6.06214 -1.70088 29.6824 -4.625 -5.84826 -1.6474 29.3387 -4.63 -5.64239 -1.6057 28.9964 -4.635 -5.44469 -1.57499 28.6559 -4.64 -5.25529 -1.55446 28.3178 -4.645 -5.07428 -1.54333 27.9823 -4.65 -4.90171 -1.54087 27.6498 -4.655 -4.73761 -1.54633 27.3206 -4.66 -4.58197 -1.55902 26.9948 -4.665 -4.43475 -1.57825 26.6725 -4.67 -4.29586 -1.60336 26.3539 -4.675 -4.16519 -1.63372 26.039 -4.68 -4.04255 -1.6689 25.7278 -4.685 -3.92763 -1.7088 25.4205 -4.69 -3.8203 -1.75309 25.1172 -4.695 -3.72042 -1.80145 24.8178 -4.7 -3.62782 -1.85359 24.5225 -4.705 -3.54238 -1.90925 24.2312 -4.71 -3.46391 -1.9682 23.944 -4.715 -3.39228 -2.03025 23.6608 -4.72 -3.32731 -2.09523 23.3818 -4.725 -3.26883 -2.16301 23.1069 -4.73 -3.21668 -2.23348 22.8362 -4.735 -3.17068 -2.30657 22.5697 -4.74 -3.13064 -2.38224 22.3073 -4.745 -3.09639 -2.46049 22.0493 -4.75 -3.06774 -2.54132 21.7955 -4.755 -3.04449 -2.62479 21.546 -4.76 -3.02645 -2.71099 21.3009 -4.765 -3.01343 -2.80002 21.0601 -4.77 -3.00516 -2.89205 20.8237 -4.775 -3.00145 -2.98719 20.5919 -4.78 -3.00233 -3.08545 20.3646 -4.785 -3.00782 -3.18687 20.1419 -4.79 -3.01796 -3.29147 19.9239 -4.795 -3.03278 -3.39932 19.7105 -4.8 -3.05229 -3.51049 19.5019 -4.805 -3.0765 -3.62508 19.298 -4.81 -3.1054 -3.7432 19.0991 -4.815 -3.13901 -3.86497 18.9051 -4.82 -3.1773 -3.99055 18.7163 -4.825 -3.22026 -4.1201 18.5328 -4.83 -3.26786 -4.2538 18.3547 -4.835 -3.32008 -4.39184 18.1822 -4.84 -3.37686 -4.53445 18.0154 -4.845 -3.43818 -4.68185 17.8546 -4.85 -3.50397 -4.8343 17.7 -4.855 -3.57418 -4.99206 17.5518 -4.86 -3.64874 -5.15543 17.4102 -4.865 -3.72759 -5.3247 17.2755 -4.87 -3.81063 -5.5002 17.1479 -4.875 -3.89779 -5.68226 17.0278 -4.88 -3.98937 -5.87069 16.9155 -4.885 -4.08576 -6.0654 16.8111 -4.89 -4.1871 -6.26666 16.7152 -4.895 -4.29349 -6.47472 16.6281 -4.9 -4.40505 -6.6898 16.5501 -4.905 -4.52188 -6.91207 16.4817 -4.91 -4.64408 -7.14167 16.4234 -4.915 -4.77175 -7.37869 16.3756 -4.92 -4.90498 -7.62319 16.339 -4.925 -5.04384 -7.8752 16.314 -4.93 -5.18841 -8.13471 16.3013 -4.935 -5.33877 -8.40165 16.3015 -4.94 -5.49497 -8.67594 16.3152 -4.945 -5.65708 -8.95746 16.3431 -4.95 -5.82515 -9.24603 16.3861 -4.955 -5.99923 -9.54145 16.4447 -4.96 -6.17935 -9.84348 16.5199 -4.965 -6.36555 -10.1518 16.6125 -4.97 -6.55787 -10.4662 16.7232 -4.975 -6.75628 -10.7862 16.853 -4.98 -6.96038 -11.1112 17.0014 -4.985 -7.17015 -11.4405 17.1697 -4.99 -7.38566 -11.7731 17.3594 -4.995 -7.60694 -12.1083 17.5719 -5 -7.83389 -12.4449 17.8083 -5.005 -8.06635 -12.7816 18.0697 -5.01 -8.3041 -13.1173 18.3569 -5.015 -8.5468 -13.4503 18.6706 -5.02 -8.79407 -13.7791 19.0113 -5.025 -9.04541 -14.1019 19.3793 -5.03 -9.30026 -14.4168 19.7748 -5.035 -9.558 -14.7218 20.1979 -5.04 -9.81789 -15.0148 20.6482 -5.045 -10.0791 -15.2934 21.1255 -5.05 -10.3408 -15.5553 21.6293 -5.055 -10.6021 -15.7978 22.1588 -5.06 -10.8618 -16.0182 22.7133 -5.065 -11.1188 -16.2138 23.2916 -5.07 -11.372 -16.3816 23.8926 -5.075 -11.62 -16.5184 24.515 -5.08 -11.8618 -16.6215 25.1575 -5.085 -12.0968 -16.6892 25.8182 -5.09 -12.3231 -16.719 26.4927 -5.095 -12.5388 -16.7089 27.1765 -5.1 -12.7423 -16.657 27.8651 -5.105 -12.9318 -16.5622 28.5542 -5.11 -13.1059 -16.4235 29.2395 -5.115 -13.2632 -16.2405 29.9168 -5.12 -13.4023 -16.0131 30.582 -5.125 -13.5223 -15.7419 31.2311 -5.13 -13.6219 -15.4275 31.8602 -5.135 -13.7002 -15.0714 32.4654 -5.14 -13.7564 -14.675 33.0429 -5.145 -13.7898 -14.2406 33.5891 -5.15 -13.7998 -13.7707 34.1003 -5.155 -13.7858 -13.2682 34.573 -5.16 -13.7475 -12.7364 35.0038 -5.165 -13.6843 -12.1794 35.3878 -5.17 -13.5964 -11.6026 35.7222 -5.175 -13.4843 -11.0117 36.007 -5.18 -13.349 -10.4119 36.2423 -5.185 -13.1911 -9.80823 36.4287 -5.19 -13.0119 -9.20517 36.5667 -5.195 -12.8123 -8.60696 36.6574 -5.2 -12.5935 -8.01743 36.7018 -5.205 -12.3569 -7.44007 36.7013 -5.21 -12.1038 -6.87798 36.6576 -5.215 -11.8357 -6.33391 36.5724 -5.22 -11.5543 -5.81026 36.4479 -5.225 -11.2611 -5.30905 36.2864 -5.23 -10.9581 -4.83194 36.0904 -5.235 -10.6471 -4.38022 35.8626 -5.24 -10.3302 -3.95484 35.6062 -5.245 -10.0092 -3.55647 35.3245 -5.25 -9.68523 -3.18606 35.022 -5.255 -9.35968 -2.8437 34.7015 -5.26 -9.03401 -2.52914 34.3653 -5.265 -8.70959 -2.24198 34.0157 -5.27 -8.38768 -1.98164 33.6548 -5.275 -8.06944 -1.74738 33.2846 -5.28 -7.75592 -1.53829 32.907 -5.285 -7.44807 -1.35327 32.5239 -5.29 -7.14676 -1.19108 32.1368 -5.295 -6.85273 -1.05029 31.7475 -5.3 -6.56664 -0.929316 31.3572 -5.305 -6.28902 -0.826394 30.9674 -5.31 -6.02032 -0.739592 30.5794 -5.315 -5.7609 -0.666811 30.1942 -5.32 -5.51102 -0.607118 29.8122 -5.325 -5.27085 -0.560354 29.433 -5.33 -5.04043 -0.52542 29.0572 -5.335 -4.81978 -0.501276 28.6849 -5.34 -4.60888 -0.486937 28.3165 -5.345 -4.40771 -0.481476 27.9522 -5.35 -4.21619 -0.484023 27.5922 -5.355 -4.03426 -0.493765 27.2366 -5.36 -3.86179 -0.509943 26.8857 -5.365 -3.69865 -0.531859 26.5393 -5.37 -3.54467 -0.558869 26.1977 -5.375 -3.39966 -0.590387 25.8607 -5.38 -3.26342 -0.625883 25.5284 -5.385 -3.13569 -0.664883 25.2006 -5.39 -3.01617 -0.706992 24.8773 -5.395 -2.90444 -0.751966 24.5586 -5.4 -2.80026 -0.799514 24.2443 -5.405 -2.70344 -0.849358 23.9345 -5.41 -2.61379 -0.901253 23.6291 -5.415 -2.53111 -0.954981 23.328 -5.42 -2.45519 -1.01036 23.0311 -5.425 -2.38581 -1.06724 22.7386 -5.43 -2.32277 -1.12548 22.4502 -5.435 -2.26583 -1.18502 22.166 -5.44 -2.21478 -1.24577 21.886 -5.445 -2.16938 -1.30772 21.61 -5.45 -2.12938 -1.37086 21.3381 -5.455 -2.09456 -1.43523 21.0702 -5.46 -2.06465 -1.50089 20.8063 -5.465 -2.03941 -1.56794 20.5464 -5.47 -2.01858 -1.6365 20.2904 -5.475 -2.00189 -1.70672 20.0384 -5.48 -1.98917 -1.77874 19.7902 -5.485 -1.98042 -1.85254 19.546 -5.49 -1.97562 -1.92817 19.3058 -5.495 -1.97473 -2.00569 19.0694 -5.5 -1.97771 -2.08519 18.837 -5.505 -1.98452 -2.16675 18.6084 -5.51 -1.99512 -2.25049 18.3838 -5.515 -2.00948 -2.33653 18.1632 -5.52 -2.02754 -2.42502 17.9465 -5.525 -2.04925 -2.51612 17.7338 -5.53 -2.07458 -2.61 17.5252 -5.535 -2.10346 -2.70687 17.3206 -5.54 -2.13585 -2.80691 17.1202 -5.545 -2.17169 -2.91037 16.924 -5.55 -2.21093 -3.01748 16.7321 -5.555 -2.2535 -3.1285 16.5446 -5.56 -2.29935 -3.24371 16.3615 -5.565 -2.34842 -3.36338 16.1829 -5.57 -2.40092 -3.4876 16.009 -5.575 -2.45698 -3.61652 15.8399 -5.58 -2.5167 -3.75036 15.6757 -5.585 -2.58015 -3.88938 15.5166 -5.59 -2.64743 -4.03379 15.3625 -5.595 -2.71862 -4.18386 15.2138 -5.6 -2.79383 -4.33982 15.0706 -5.605 -2.87316 -4.50194 14.9332 -5.61 -2.95672 -4.67046 14.8017 -5.615 -3.04462 -4.84564 14.6764 -5.62 -3.13698 -5.02776 14.5577 -5.625 -3.23392 -5.21707 14.4458 -5.63 -3.33557 -5.41387 14.3411 -5.635 -3.44205 -5.61841 14.244 -5.64 -3.55351 -5.831 14.1548 -5.645 -3.67009 -6.0519 14.0739 -5.65 -3.79193 -6.28142 14.0018 -5.655 -3.91917 -6.51973 13.9389 -5.66 -4.05176 -6.7654 13.8857 -5.665 -4.18992 -7.01873 13.8428 -5.67 -4.33397 -7.28067 13.8109 -5.675 -4.4842 -7.55204 13.7906 -5.68 -4.64087 -7.8335 13.7827 -5.685 -4.8042 -8.12558 13.7879 -5.69 -4.97442 -8.42866 13.807 -5.695 -5.15169 -8.743 13.841 -5.7 -5.33617 -9.06868 13.8907 -5.705 -5.52799 -9.40568 13.957 -5.71 -5.72725 -9.7538 14.041 -5.715 -5.93401 -10.1127 14.1435 -5.72 -6.14833 -10.482 14.2658 -5.725 -6.37022 -10.861 14.4088 -5.73 -6.59968 -11.2489 14.5738 -5.735 -6.83668 -11.6449 14.7618 -5.74 -7.08114 -12.048 14.9741 -5.745 -7.33299 -12.4569 15.2121 -5.75 -7.5921 -12.8704 15.4769 -5.755 -7.85835 -13.287 15.7699 -5.76 -8.13155 -13.705 16.0925 -5.765 -8.41152 -14.1227 16.4461 -5.77 -8.69803 -14.5383 16.8321 -5.775 -8.99083 -14.9497 17.2522 -5.78 -9.28965 -15.3547 17.7077 -5.785 -9.59419 -15.751 18.2004 -5.79 -9.90387 -16.1365 18.731 -5.795 -10.217 -16.5091 19.2978 -5.8 -10.5325 -16.8644 19.9009 -5.805 -10.8493 -17.1976 20.5404 -5.81 -11.1661 -17.5043 21.216 -5.815 -11.4816 -17.7803 21.9265 -5.82 -11.7944 -18.0215 22.6703 -5.825 -12.1028 -18.2241 23.4454 -5.83 -12.4052 -18.3843 24.249 -5.835 -12.6998 -18.4986 25.078 -5.84 -12.9848 -18.5637 25.9284 -5.845 -13.258 -18.5766 26.7959 -5.85 -13.5175 -18.5342 27.6756 -5.855 -13.7608 -18.4338 28.562 -5.86 -13.9857 -18.2729 29.4492 -5.865 -14.1898 -18.0488 30.3306 -5.87 -14.3721 -17.7561 31.2011 -5.875 -14.5306 -17.397 32.0528 -5.88 -14.663 -16.9767 32.8774 -5.885 -14.7671 -16.5002 33.6674 -5.89 -14.8415 -15.9723 34.416 -5.895 -14.8848 -15.3981 35.1172 -5.9 -14.8961 -14.7823 35.7658 -5.905 -14.8749 -14.1297 36.3574 -5.91 -14.8209 -13.4449 36.8883 -5.915 -14.7344 -12.7326 37.3556 -5.92 -14.6158 -11.9974 37.7574 -5.925 -14.4661 -11.2437 38.0921 -5.93 -14.2865 -10.476 38.3594 -5.935 -14.0786 -9.69866 38.5593 -5.94 -13.8443 -8.91598 38.6931 -5.945 -13.5844 -8.13771 38.7623 -5.95 -13.2992 -7.37598 38.7693 -5.955 -12.9912 -6.63568 38.7169 -5.96 -12.6629 -5.92108 38.6079 -5.965 -12.3168 -5.23593 38.4458 -5.97 -11.9553 -4.5834 38.234 -5.975 -11.5809 -3.96614 37.9765 -5.98 -11.1956 -3.38623 37.6774 -5.985 -10.802 -2.84519 37.3413 -5.99 -10.402 -2.34403 36.9731 -5.995 -9.99797 -1.88317 36.5777 -6 -9.59191 -1.4625 36.1608 -6.005 -9.18587 -1.08136 35.7279 -6.01 -8.78184 -0.738528 35.2851 -6.015 -8.38178 -0.432241 34.8388 -6.02 -7.98739 -0.159927 34.3896 -6.025 -7.59988 0.0807464 33.9359 -6.03 -7.22029 0.291704 33.4799 -6.035 -6.84956 0.474873 33.0231 -6.04 -6.48852 0.632177 32.5672 -6.045 -6.13788 0.765538 32.1137 -6.05 -5.79828 0.876878 31.6635 -6.055 -5.47021 0.968118 31.2179 -6.06 -5.15408 1.04118 30.7775 -6.065 -4.85018 1.09797 30.3431 -6.07 -4.55872 1.14042 29.915 -6.075 -4.27978 1.17043 29.4936 -6.08 -4.01333 1.18993 29.0788 -6.085 -3.75925 1.20071 28.6707 -6.09 -3.51731 1.20336 28.2693 -6.095 -3.28723 1.19872 27.8747 -6.1 -3.06874 1.18779 27.4867 -6.105 -2.86153 1.17151 27.1053 -6.11 -2.66529 1.15075 26.7303 -6.115 -2.47969 1.1263 26.3616 -6.12 -2.30441 1.0989 25.9992 -6.125 -2.13907 1.06919 25.6428 -6.13 -1.98332 1.03775 25.2923 -6.135 -1.83676 1.00511 24.9475 -6.14 -1.699 0.971713 24.6084 -6.145 -1.56964 0.937924 24.2747 -6.15 -1.44823 0.904049 23.9463 -6.155 -1.33434 0.870327 23.623 -6.16 -1.22753 0.837007 23.3047 -6.165 -1.12747 0.804307 22.9912 -6.17 -1.03384 0.772411 22.6824 -6.175 -0.946323 0.74148 22.3783 -6.18 -0.864606 0.711651 22.0786 -6.185 -0.788373 0.68304 21.7833 -6.19 -0.717308 0.655736 21.4924 -6.195 -0.651095 0.629807 21.2055 -6.2 -0.589417 0.605297 20.9228 -6.205 -0.531959 0.582227 20.6441 -6.21 -0.478405 0.560594 20.3693 -6.215 -0.428438 0.540372 20.0983 -6.22 -0.381741 0.521512 19.8311 -6.225 -0.338066 0.503992 19.5675 -6.23 -0.297263 0.487845 19.3075 -6.235 -0.259173 0.473079 19.0511 -6.24 -0.223632 0.459698 18.7982 -6.245 -0.19048 0.447697 18.5488 -6.25 -0.159553 0.437062 18.3027 -6.255 -0.130689 0.427777 18.06 -6.26 -0.103725 0.419813 17.8206 -6.265 -0.0784965 0.413137 17.5844 -6.27 -0.0548393 0.40771 17.3514 -6.275 -0.0325887 0.403483 17.1215 -6.28 -0.0115794 0.400401 16.8947 -6.285 0.00835439 0.398402 16.671 -6.29 0.0273593 0.397434 16.4502 -6.295 0.0454882 0.397514 16.2324 -6.3 0.0627993 0.398653 16.0175 -6.305 0.0793565 0.400855 15.8055 -6.31 0.0952256 0.404124 15.5963 -6.315 0.110475 0.40846 15.3899 -6.32 0.125175 0.413863 15.1863 -6.325 0.139397 0.420328 14.9855 -6.33 0.153218 0.427852 14.7873 -6.335 0.166713 0.436426 14.5918 -6.34 0.179962 0.446041 14.3989 -6.345 0.193047 0.456687 14.2087 -6.35 0.206051 0.468349 14.0209 -6.355 0.21906 0.481013 13.8357 -6.36 0.232156 0.494667 13.653 -6.365 0.245363 0.509355 13.4728 -6.37 0.2587 0.525123 13.295 -6.375 0.272196 0.54201 13.1196 -6.38 0.285885 0.560057 12.9466 -6.385 0.299802 0.579303 12.776 -6.39 0.313986 0.599792 12.6076 -6.395 0.328478 0.621567 12.4416 -6.4 0.343325 0.64467 12.2779 -6.405 0.358575 0.669149 12.1164 -6.41 0.37428 0.695048 11.9572 -6.415 0.390494 0.722414 11.8002 -6.42 0.407277 0.751296 11.6453 -6.425 0.42469 0.781743 11.4927 -6.43 0.442797 0.813803 11.3422 -6.435 0.461666 0.847529 11.1938 -6.44 0.481366 0.882984 11.0476 -6.445 0.501935 0.920273 10.9035 -6.45 0.523402 0.959494 10.7615 -6.455 0.545804 1.00075 10.6216 -6.46 0.569179 1.04415 10.4837 -6.465 0.593576 1.0898 10.3479 -6.47 0.619047 1.13783 10.2142 -6.475 0.645649 1.18836 10.0826 -6.48 0.673448 1.24151 9.953 -6.485 0.702513 1.29743 9.82549 -6.49 0.73292 1.35624 9.70006 -6.495 0.76475 1.4181 9.57673 -6.5 0.798091 1.48316 9.4555 -6.505 0.833036 1.55156 9.33641 -6.51 0.869684 1.62348 9.21946 -6.515 0.90814 1.69907 9.1047 -6.52 0.948514 1.7785 8.99214 -6.525 0.990924 1.86196 8.88183 -6.53 1.03549 1.94961 8.77379 -6.535 1.08236 2.04165 8.66814 -6.54 1.13168 2.13829 8.56502 -6.545 1.18353 2.23981 8.46443 -6.55 1.23799 2.3465 8.36639 -6.555 1.29516 2.45867 8.27092 -6.56 1.35516 2.57664 8.1781 -6.565 1.41811 2.70073 8.088 -6.57 1.48415 2.83127 8.00076 -6.575 1.55345 2.96862 7.9165 -6.58 1.62616 3.11313 7.8354 -6.585 1.70247 3.26516 7.75765 -6.59 1.78257 3.42509 7.68346 -6.595 1.86667 3.59331 7.61309 -6.6 1.95499 3.77023 7.54681 -6.605 2.04777 3.95623 7.48491 -6.61 2.14526 4.15176 7.42771 -6.615 2.24772 4.35722 7.37556 -6.62 2.35542 4.57307 7.32884 -6.625 2.46865 4.79975 7.28796 -6.63 2.58772 5.03773 7.25333 -6.635 2.71294 5.28747 7.2254 -6.64 2.84464 5.54945 7.20467 -6.645 2.98316 5.82416 7.19163 -6.65 3.12857 6.11048 7.18765 -6.655 3.28103 6.40831 7.19386 -6.66 3.44102 6.71935 7.21059 -6.665 3.60903 7.04512 7.23835 -6.67 3.78549 7.38692 7.27781 -6.675 3.97083 7.74588 7.32979 -6.68 4.16545 8.1229 7.39527 -6.685 4.36974 8.51872 7.47538 -6.69 4.58405 8.93385 7.57142 -6.695 4.80875 9.36862 7.68484 -6.7 5.04414 9.82316 7.81725 -6.705 5.29053 10.2974 7.97042 -6.71 5.5482 10.7911 8.14627 -6.715 5.81742 11.3037 8.34688 -6.72 6.09842 11.8347 8.5745 -6.725 6.39144 12.3831 8.83151 -6.73 6.69666 12.948 9.12048 -6.735 7.01427 13.528 9.44411 -6.74 7.34443 14.1217 9.80529 -6.745 7.68728 14.7275 10.207 -6.75 8.04293 15.3435 10.6525 -6.755 8.41149 15.9677 11.1451 -6.76 8.79304 16.5978 11.6883 -6.765 9.18763 17.2314 12.2857 -6.77 9.59514 17.866 12.9407 -6.775 10.0136 18.4979 13.6523 -6.78 10.4418 19.1208 14.4236 -6.785 10.8791 19.7276 15.2581 -6.79 11.3241 20.311 16.1582 -6.795 11.7753 20.8636 17.1253 -6.8 12.2309 21.3778 18.1594 -6.805 12.6886 21.8457 19.2592 -6.81 13.146 22.2591 20.4224 -6.815 13.6001 22.6099 21.6454 -6.82 14.0478 22.8894 22.9235 -6.825 14.4856 23.0889 24.2508 -6.83 14.9096 23.1996 25.6201 -6.835 15.3157 23.2123 27.023 -6.84 15.6993 23.1176 28.4501 -6.845 16.0578 22.9061 29.894 -6.85 16.3868 22.5752 31.3387 -6.855 16.6809 22.1254 32.7653 -6.86 16.9352 21.5583 34.1565 -6.865 17.1456 20.8772 35.4962 -6.87 17.3087 20.0867 36.77 -6.875 17.4216 19.1925 37.9647 -6.88 17.482 18.2019 39.0686 -6.885 17.4884 17.1235 40.0716 -6.89 17.4398 15.9673 40.9648 -6.895 17.3358 14.7444 41.7407 -6.9 17.1768 13.4677 42.3935 -6.905 16.9634 12.1526 42.9176 -6.91 16.6954 10.8226 43.3071 -6.915 16.3758 9.49523 43.5661 -6.92 16.0079 8.18561 43.7006 -6.925 15.5954 6.90706 43.7172 -6.93 15.142 5.67136 43.6234 -6.935 14.6519 4.48864 43.4275 -6.94 14.1292 3.36741 43.1384 -6.945 13.5785 2.31457 42.7661 -6.95 13.0044 1.3354 42.3211 -6.955 12.4118 0.433548 41.8148 -6.96 11.8059 -0.388959 41.2592 -6.965 11.192 -1.13171 40.6675 -6.97 10.5743 -1.79771 40.0503 -6.975 9.95603 -2.39099 39.4145 -6.98 9.34075 -2.91455 38.7665 -6.985 8.73159 -3.37174 38.1124 -6.99 8.13139 -3.76635 37.4574 -6.995 7.54265 -4.10256 36.8063 -7 6.96753 -4.38494 36.1629 -7.005 6.40786 -4.61846 35.531 -7.01 5.86516 -4.80851 34.9131 -7.015 5.34058 -4.96087 34.3117 -7.02 4.83496 -5.08171 33.7282 -7.025 4.34881 -5.1776 33.1637 -7.03 3.8824 -5.25227 32.618 -7.035 3.43578 -5.30579 32.0904 -7.04 3.00878 -5.34119 31.5805 -7.045 2.60117 -5.36131 31.0878 -7.05 2.21263 -5.36876 30.6119 -7.055 1.84281 -5.36594 30.1523 -7.06 1.49127 -5.35505 29.7084 -7.065 1.15753 -5.33803 29.2796 -7.07 0.841017 -5.31664 28.8653 -7.075 0.541124 -5.29241 28.4649 -7.08 0.257168 -5.26665 28.0776 -7.085 -0.011596 -5.24045 27.7027 -7.09 -0.266021 -5.21474 27.3394 -7.095 -0.507177 -5.19059 26.9872 -7.1 -0.735725 -5.16866 26.6455 -7.105 -0.952263 -5.14948 26.314 -7.11 -1.1574 -5.13354 25.9921 -7.115 -1.35174 -5.12131 25.6797 -7.12 -1.53593 -5.11321 25.3761 -7.125 -1.7106 -5.10961 25.0813 -7.13 -1.8764 -5.11087 24.7947 -7.135 -2.03399 -5.11727 24.5162 -7.14 -2.18405 -5.1291 24.2455 -7.145 -2.32726 -5.14658 23.9823 -7.15 -2.46432 -5.1699 23.7265 -7.155 -2.59593 -5.1992 23.4777 -7.16 -2.72281 -5.23461 23.236 -7.165 -2.84569 -5.27619 23.0012 -7.17 -2.96528 -5.32397 22.773 -7.175 -3.0819 -5.3778 22.5516 -7.18 -3.19581 -5.43773 22.337 -7.185 -3.30734 -5.50385 22.1293 -7.19 -3.4168 -5.57624 21.9285 -7.195 -3.52451 -5.65495 21.7347 -7.2 -3.63082 -5.74001 21.548 -7.205 -3.73605 -5.83147 21.3685 -7.21 -3.84055 -5.92932 21.1963 -7.215 -3.94467 -6.03356 21.0315 -7.22 -4.04876 -6.14418 20.8742 -7.225 -4.15318 -6.26113 20.7245 -7.23 -4.25829 -6.38437 20.5825 -7.235 -4.36447 -6.51383 20.4484 -7.24 -4.47208 -6.64943 20.3223 -7.245 -4.58151 -6.79107 20.2044 -7.25 -4.69298 -6.93866 20.0948 -7.255 -4.80652 -7.09223 19.9939 -7.26 -4.92227 -7.25183 19.9021 -7.265 -5.04036 -7.4175 19.8197 -7.27 -5.16092 -7.58922 19.7471 -7.275 -5.28407 -7.76694 19.6846 -7.28 -5.40994 -7.95056 19.6325 -7.285 -5.53864 -8.13998 19.5913 -7.29 -5.67031 -8.33502 19.5612 -7.295 -5.80504 -8.5355 19.5427 -7.3 -5.94296 -8.74117 19.5362 -7.305 -6.08417 -8.95177 19.5421 -7.31 -6.22879 -9.16699 19.5606 -7.315 -6.37691 -9.38649 19.5923 -7.32 -6.52864 -9.60989 19.6376 -7.325 -6.68409 -9.83676 19.6967 -7.33 -6.84334 -10.0667 19.7703 -7.335 -7.00619 -10.2993 19.858 -7.34 -7.17242 -10.5342 19.9605 -7.345 -7.342 -10.7707 20.0784 -7.35 -7.51487 -11.0081 20.2125 -7.355 -7.69091 -11.2457 20.3635 -7.36 -7.86998 -11.4827 20.5319 -7.365 -8.05188 -11.7181 20.718 -7.37 -8.23639 -11.951 20.9222 -7.375 -8.42324 -12.1805 21.1448 -7.38 -8.61211 -12.4055 21.3857 -7.385 -8.80265 -12.6249 21.645 -7.39 -8.99447 -12.8375 21.9226 -7.395 -9.18713 -13.0421 22.2183 -7.4 -9.38018 -13.2375 22.5316 -7.405 -9.57308 -13.4223 22.8623 -7.41 -9.76529 -13.5952 23.2097 -7.415 -9.95621 -13.7547 23.5732 -7.42 -10.1452 -13.8994 23.9521 -7.425 -10.3316 -14.0276 24.3454 -7.43 -10.5147 -14.1377 24.7523 -7.435 -10.6937 -14.2282 25.1716 -7.44 -10.8683 -14.2978 25.603 -7.445 -11.0378 -14.3456 26.0451 -7.45 -11.2011 -14.3703 26.4954 -7.455 -11.357 -14.371 26.9513 -7.46 -11.5046 -14.3467 27.4105 -7.465 -11.6429 -14.297 27.8704 -7.47 -11.7711 -14.2213 28.3288 -7.475 -11.8884 -14.1195 28.7834 -7.48 -11.994 -13.9913 29.2318 -7.485 -12.0872 -13.8371 29.672 -7.49 -12.1675 -13.657 30.1018 -7.495 -12.2343 -13.4517 30.5189 -7.5 -12.2871 -13.2218 30.9215 -7.505 -12.3255 -12.9682 31.3075 -7.51 -12.3492 -12.692 31.6749 -7.515 -12.3579 -12.3945 32.0219 -7.52 -12.3513 -12.077 32.3465 -7.525 -12.3294 -11.7414 32.647 -7.53 -12.292 -11.3894 32.9216 -7.535 -12.2388 -11.0235 33.1678 -7.54 -12.1699 -10.6466 33.3843 -7.545 -12.0857 -10.2615 33.5708 -7.55 -11.9869 -9.87085 33.7274 -7.555 -11.8739 -9.47722 33.854 -7.56 -11.7474 -9.08293 33.951 -7.565 -11.6081 -8.6902 34.0186 -7.57 -11.4567 -8.30109 34.0572 -7.575 -11.2939 -7.91753 34.0674 -7.58 -11.1205 -7.54127 34.05 -7.585 -10.9374 -7.17396 34.0058 -7.59 -10.7454 -6.81706 33.9357 -7.595 -10.5454 -6.4719 33.8408 -7.6 -10.3385 -6.13968 33.7224 -7.605 -10.1256 -5.82143 33.5818 -7.61 -9.90768 -5.51804 33.4205 -7.615 -9.68596 -5.23026 33.24 -7.62 -9.46152 -4.95869 33.0422 -7.625 -9.23549 -4.70374 32.8289 -7.63 -9.00858 -4.46539 32.6022 -7.635 -8.78155 -4.24364 32.3634 -7.64 -8.55522 -4.03848 32.1139 -7.645 -8.33036 -3.84982 31.8546 -7.65 -8.10767 -3.67747 31.5868 -7.655 -7.88783 -3.52119 31.3115 -7.66 -7.67146 -3.38064 31.0297 -7.665 -7.45912 -3.25542 30.7425 -7.67 -7.25136 -3.14504 30.4508 -7.675 -7.04863 -3.04893 30.1556 -7.68 -6.85138 -2.96644 29.8577 -7.685 -6.65999 -2.89685 29.5581 -7.69 -6.47478 -2.83935 29.2575 -7.695 -6.29606 -2.79305 28.9567 -7.7 -6.12404 -2.757 28.6566 -7.705 -5.95894 -2.73014 28.3577 -7.71 -5.80088 -2.71137 28.0609 -7.715 -5.64994 -2.70029 27.7662 -7.72 -5.5061 -2.69732 27.4732 -7.725 -5.36935 -2.70199 27.1823 -7.73 -5.23966 -2.71387 26.8936 -7.735 -5.11701 -2.73253 26.6074 -7.74 -5.00137 -2.75757 26.3239 -7.745 -4.89268 -2.78863 26.0433 -7.75 -4.7909 -2.82536 25.7657 -7.755 -4.69597 -2.86745 25.4914 -7.76 -4.60782 -2.91461 25.2205 -7.765 -4.52638 -2.96658 24.9531 -7.77 -4.45155 -3.02311 24.6894 -7.775 -4.38325 -3.084 24.4294 -7.78 -4.32138 -3.14905 24.1733 -7.785 -4.26583 -3.21812 23.9211 -7.79 -4.21648 -3.29106 23.6729 -7.795 -4.17322 -3.36778 23.4288 -7.8 -4.13587 -3.4482 23.1888 -7.805 -4.10413 -3.53242 22.9532 -7.81 -4.07792 -3.6204 22.722 -7.815 -4.05722 -3.71207 22.4953 -7.82 -4.042 -3.8074 22.2731 -7.825 -4.03225 -3.90635 22.0556 -7.83 -4.02792 -4.00892 21.8428 -7.835 -4.02898 -4.1151 21.6349 -7.84 -4.03539 -4.22493 21.4319 -7.845 -4.04709 -4.33843 21.2339 -7.85 -4.06404 -4.45566 21.0412 -7.855 -4.08618 -4.57668 20.8539 -7.86 -4.11344 -4.70158 20.672 -7.865 -4.14577 -4.83045 20.4958 -7.87 -4.18308 -4.96342 20.3255 -7.875 -4.22531 -5.10061 20.1612 -7.88 -4.27237 -5.24217 20.0031 -7.885 -4.32417 -5.38826 19.8515 -7.89 -4.38063 -5.53906 19.7066 -7.895 -4.44165 -5.69476 19.5686 -7.9 -4.50713 -5.85558 19.4377 -7.905 -4.577 -6.02166 19.3142 -7.91 -4.65148 -6.19272 19.1983 -7.915 -4.73069 -6.36884 19.0904 -7.92 -4.81471 -6.55018 18.9907 -7.925 -4.90361 -6.73686 18.8995 -7.93 -4.99745 -6.92898 18.8173 -7.935 -5.09627 -7.12659 18.7442 -7.94 -5.20013 -7.32974 18.6809 -7.945 -5.30904 -7.53841 18.6276 -7.95 -5.42304 -7.75259 18.5847 -7.955 -5.54213 -7.9722 18.5527 -7.96 -5.66633 -8.19716 18.5321 -7.965 -5.79562 -8.42734 18.5232 -7.97 -5.92999 -8.66259 18.5267 -7.975 -6.06943 -8.90272 18.543 -7.98 -6.21389 -9.14752 18.5726 -7.985 -6.36334 -9.39674 18.616 -7.99 -6.51772 -9.6501 18.6739 -7.995 -6.67698 -9.9073 18.7468 -8 -6.84104 -10.168 18.8353 -8.005 -7.00983 -10.4318 18.94 -8.01 -7.18321 -10.6984 19.0613 -8.015 -7.36081 -10.9673 19.1986 -8.02 -7.5426 -11.2377 19.353 -8.025 -7.72853 -11.5086 19.5254 -8.03 -7.9185 -11.779 19.7168 -8.035 -8.11235 -12.0478 19.9278 -8.04 -8.30986 -12.3138 20.1592 -8.045 -8.51075 -12.576 20.4113 -8.05 -8.7147 -12.833 20.6844 -8.055 -8.9213 -13.0836 20.9788 -8.06 -9.13012 -13.3263 21.2943 -8.065 -9.34064 -13.5599 21.6308 -8.07 -9.55229 -13.7828 21.988 -8.075 -9.76447 -13.9936 22.3654 -8.08 -9.97648 -14.1907 22.7625 -8.085 -10.1876 -14.3724 23.1785 -8.09 -10.397 -14.5371 23.6123 -8.095 -10.6038 -14.6831 24.0631 -8.1 -10.8072 -14.8086 24.5295 -8.105 -11.0062 -14.9118 25.0102 -8.11 -11.1997 -14.9907 25.5037 -8.115 -11.3866 -15.0435 26.0082 -8.12 -11.5659 -15.0682 26.5221 -8.125 -11.7373 -15.0629 27.0444 -8.13 -11.9 -15.027 27.5722 -8.135 -12.0526 -14.9601 28.1019 -8.14 -12.1939 -14.8623 28.6299 -8.145 -12.3225 -14.7336 29.1528 -8.15 -12.4376 -14.5742 29.6673 -8.155 -12.5381 -14.3847 30.1705 -8.16 -12.6233 -14.1657 30.6594 -8.165 -12.6924 -13.918 31.1313 -8.17 -12.7449 -13.6425 31.5837 -8.175 -12.7804 -13.3406 32.0143 -8.18 -12.7984 -13.0134 32.4209 -8.185 -12.7987 -12.6626 32.8014 -8.19 -12.7813 -12.2899 33.154 -8.195 -12.7461 -11.8972 33.477 -8.2 -12.6933 -11.4865 33.769 -8.205 -12.623 -11.0602 34.0287 -8.21 -12.5357 -10.6206 34.2548 -8.215 -12.431 -10.1722 34.4456 -8.22 -12.3092 -9.71926 34.6004 -8.225 -12.1711 -9.26479 34.7194 -8.23 -12.0176 -8.81152 34.8032 -8.235 -11.8499 -8.36206 34.8525 -8.24 -11.6687 -7.91879 34.868 -8.245 -11.4753 -7.48396 34.8507 -8.25 -11.2705 -7.0596 34.8018 -8.255 -11.0554 -6.64758 34.7225 -8.26 -10.8311 -6.2496 34.6143 -8.265 -10.5987 -5.86715 34.4788 -8.27 -10.3593 -5.50156 34.3177 -8.275 -10.1141 -5.15399 34.1329 -8.28 -9.86416 -4.82538 33.9264 -8.285 -9.6107 -4.51654 33.7006 -8.29 -9.35491 -4.22806 33.4577 -8.295 -9.09801 -3.96037 33.2004 -8.3 -8.84125 -3.71361 32.9311 -8.305 -8.58566 -3.48629 32.6512 -8.31 -8.33205 -3.27773 32.3616 -8.315 -8.08118 -3.08767 32.0636 -8.32 -7.83377 -2.91576 31.7583 -8.325 -7.59046 -2.76159 31.4469 -8.33 -7.35187 -2.62466 31.1305 -8.335 -7.11858 -2.50441 30.81 -8.34 -6.89108 -2.40023 30.4864 -8.345 -6.66984 -2.3114 30.1606 -8.35 -6.45528 -2.23714 29.8334 -8.355 -6.24776 -2.17663 29.5058 -8.36 -6.0476 -2.12893 29.1783 -8.365 -5.85507 -2.09307 28.8516 -8.37 -5.67037 -2.06797 28.5265 -8.375 -5.49369 -2.05253 28.2035 -8.38 -5.32513 -2.04552 27.8831 -8.385 -5.16477 -2.04568 27.5658 -8.39 -5.01263 -2.05166 27.252 -8.395 -4.86851 -2.06365 26.9416 -8.4 -4.73219 -2.08233 26.6342 -8.405 -4.60358 -2.10723 26.3301 -8.41 -4.48257 -2.13793 26.0292 -8.415 -4.36907 -2.17404 25.7319 -8.42 -4.26296 -2.21519 25.4381 -8.425 -4.16413 -2.26106 25.1479 -8.43 -4.07245 -2.31135 24.8615 -8.435 -3.9878 -2.36579 24.5789 -8.44 -3.91005 -2.42415 24.3002 -8.445 -3.83905 -2.48623 24.0256 -8.45 -3.77466 -2.55185 23.7549 -8.455 -3.71674 -2.62088 23.4884 -8.46 -3.66512 -2.69321 23.226 -8.465 -3.61965 -2.76877 22.9679 -8.47 -3.58016 -2.84751 22.7139 -8.475 -3.54647 -2.92942 22.4642 -8.48 -3.51836 -3.01455 22.2188 -8.485 -3.49563 -3.10292 21.9779 -8.49 -3.47824 -3.1945 21.7414 -8.495 -3.46617 -3.28929 21.5095 -8.5 -3.45935 -3.3873 21.2821 -8.505 -3.45776 -3.48855 21.0594 -8.51 -3.46134 -3.5931 20.8414 -8.515 -3.47005 -3.70099 20.6281 -8.52 -3.48382 -3.81231 20.4198 -8.525 -3.50261 -3.92714 20.2164 -8.53 -3.52634 -4.04561 20.0182 -8.535 -3.55497 -4.16783 19.8252 -8.54 -3.58842 -4.29396 19.6376 -8.545 -3.62662 -4.42414 19.4555 -8.55 -3.6695 -4.55857 19.2791 -8.555 -3.71699 -4.69743 19.1086 -8.56 -3.76901 -4.84094 18.9441 -8.565 -3.82547 -4.98933 18.7859 -8.57 -3.8863 -5.14284 18.634 -8.575 -3.95146 -5.30162 18.4889 -8.58 -4.0212 -5.46557 18.3507 -8.585 -4.09561 -5.63487 18.2196 -8.59 -4.17475 -5.8097 18.0959 -8.595 -4.25872 -5.99025 17.9798 -8.6 -4.34757 -6.17666 17.8718 -8.605 -4.44137 -6.36907 17.772 -8.61 -4.54018 -6.5676 17.6809 -8.615 -4.64406 -6.77235 17.5988 -8.62 -4.75307 -6.9834 17.5262 -8.625 -4.86727 -7.2008 17.4634 -8.63 -4.98669 -7.42461 17.411 -8.635 -5.11139 -7.65484 17.3694 -8.64 -5.24141 -7.8915 17.3391 -8.645 -5.37679 -8.13458 17.3206 -8.65 -5.51757 -8.38403 17.3145 -8.655 -5.66378 -8.63982 17.3215 -8.66 -5.81544 -8.90186 17.342 -8.665 -5.9726 -9.17006 17.3768 -8.67 -6.13522 -9.44426 17.4264 -8.675 -6.30294 -9.72373 17.4903 -8.68 -6.47588 -10.0082 17.5697 -8.685 -6.65419 -10.2974 17.6656 -8.69 -6.838 -10.5911 17.7793 -8.695 -7.02734 -10.8887 17.9118 -8.7 -7.22221 -11.1896 18.064 -8.705 -7.42255 -11.4931 18.2368 -8.71 -7.62822 -11.7984 18.431 -8.715 -7.83904 -12.1046 18.6471 -8.72 -8.05478 -12.4105 18.8858 -8.725 -8.27512 -12.715 19.1474 -8.73 -8.4997 -13.0168 19.4324 -8.735 -8.72812 -13.3143 19.7409 -8.74 -8.95988 -13.6062 20.0732 -8.745 -9.19445 -13.8906 20.4294 -8.75 -9.43124 -14.1659 20.8092 -8.755 -9.66959 -14.43 21.2127 -8.76 -9.9088 -14.681 21.6396 -8.765 -10.1481 -14.9168 22.0895 -8.77 -10.3866 -15.135 22.5621 -8.775 -10.6235 -15.3332 23.0567 -8.78 -10.8578 -15.509 23.5728 -8.785 -11.0885 -15.6597 24.1097 -8.79 -11.3151 -15.7841 24.6665 -8.795 -11.5366 -15.8803 25.2408 -8.8 -11.7513 -15.9459 25.8292 -8.805 -11.9579 -15.9786 26.4286 -8.81 -12.1548 -15.9768 27.0356 -8.815 -12.3408 -15.9388 27.6469 -8.82 -12.5146 -15.8636 28.2593 -8.825 -12.6749 -15.7505 28.8694 -8.83 -12.8207 -15.599 29.474 -8.835 -12.9508 -15.409 30.0696 -8.84 -13.0644 -15.1808 30.6531 -8.845 -13.1604 -14.915 31.221 -8.85 -13.2379 -14.6125 31.77 -8.855 -13.2963 -14.2748 32.2968 -8.86 -13.3348 -13.9034 32.798 -8.865 -13.3526 -13.5004 33.2703 -8.87 -13.3494 -13.068 33.7102 -8.875 -13.3244 -12.6088 34.1137 -8.88 -13.2774 -12.1257 34.4767 -8.885 -13.2087 -11.6237 34.7983 -8.89 -13.1187 -11.1076 35.0781 -8.895 -13.008 -10.5819 35.316 -8.9 -12.8772 -10.0507 35.512 -8.905 -12.7271 -9.51795 35.6662 -8.91 -12.5585 -8.9872 35.7792 -8.915 -12.3723 -8.46173 35.8515 -8.92 -12.1696 -7.94449 35.884 -8.925 -11.9515 -7.43816 35.8776 -8.93 -11.7192 -6.9451 35.8336 -8.935 -11.4742 -6.46735 35.7534 -8.94 -11.2178 -6.00669 35.6386 -8.945 -10.9515 -5.56457 35.491 -8.95 -10.6771 -5.14213 35.3127 -8.955 -10.3962 -4.74022 35.1058 -8.96 -10.1107 -4.35954 34.8729 -8.965 -9.82127 -4.00219 34.6184 -8.97 -9.52909 -3.66892 34.345 -8.975 -9.23551 -3.35984 34.0548 -8.98 -8.9418 -3.07489 33.7497 -8.985 -8.64916 -2.81383 33.4315 -8.99 -8.35868 -2.57629 33.1022 -8.995 -8.07137 -2.36172 32.7634 -9 -7.78816 -2.1694 32.4169 -9.005 -7.50991 -1.99847 32.0643 -9.01 -7.23736 -1.84789 31.7071 -9.015 -6.97119 -1.71647 31.3468 -9.02 -6.712 -1.60286 30.9849 -9.025 -6.46028 -1.50554 30.6226 -9.03 -6.21647 -1.42283 30.2612 -9.035 -5.98089 -1.35295 29.902 -9.04 -5.75385 -1.2957 29.5446 -9.045 -5.53549 -1.25064 29.189 -9.05 -5.32587 -1.21685 28.8357 -9.055 -5.12504 -1.19346 28.4851 -9.06 -4.93304 -1.17963 28.1374 -9.065 -4.74985 -1.17458 27.7929 -9.07 -4.57548 -1.17756 27.4519 -9.075 -4.40986 -1.18787 27.1146 -9.08 -4.25294 -1.20486 26.7811 -9.085 -4.10463 -1.22793 26.4516 -9.09 -3.96481 -1.2565 26.1262 -9.095 -3.83336 -1.29005 25.8049 -9.1 -3.71011 -1.32812 25.4878 -9.105 -3.59489 -1.37025 25.1749 -9.11 -3.48749 -1.41608 24.866 -9.115 -3.38751 -1.4654 24.5612 -9.12 -3.2947 -1.51803 24.2607 -9.125 -3.20892 -1.57371 23.9644 -9.13 -3.13004 -1.63222 23.6723 -9.135 -3.05791 -1.69336 23.3844 -9.14 -2.99237 -1.75697 23.1006 -9.145 -2.93327 -1.82291 22.821 -9.15 -2.88045 -1.89107 22.5455 -9.155 -2.83374 -1.96138 22.2742 -9.16 -2.79296 -2.03379 22.0071 -9.165 -2.75795 -2.10827 21.7441 -9.17 -2.72851 -2.18484 21.4853 -9.175 -2.70446 -2.26353 21.2307 -9.18 -2.68561 -2.34442 20.9803 -9.185 -2.67175 -2.4276 20.7342 -9.19 -2.66269 -2.51319 20.4923 -9.195 -2.65821 -2.60134 20.2546 -9.2 -2.6581 -2.69226 20.0213 -9.205 -2.66215 -2.78613 19.7923 -9.21 -2.67038 -2.88299 19.5678 -9.215 -2.68282 -2.98289 19.3477 -9.22 -2.69949 -3.08592 19.1321 -9.225 -2.72041 -3.19218 18.921 -9.23 -2.74558 -3.30178 18.7146 -9.235 -2.775 -3.41487 18.5129 -9.24 -2.80869 -3.53159 18.3159 -9.245 -2.84665 -3.65209 18.1237 -9.25 -2.88888 -3.77654 17.9366 -9.255 -2.93538 -3.90514 17.7545 -9.26 -2.98616 -4.03809 17.5777 -9.265 -3.0412 -4.17558 17.4062 -9.27 -3.10052 -4.31786 17.2404 -9.275 -3.1641 -4.46516 17.0803 -9.28 -3.23194 -4.61774 16.9261 -9.285 -3.30403 -4.77586 16.7781 -9.29 -3.38037 -4.9398 16.6365 -9.295 -3.46093 -5.10987 16.5015 -9.3 -3.54574 -5.28632 16.3734 -9.305 -3.63503 -5.46905 16.2525 -9.31 -3.72901 -5.65823 16.1391 -9.315 -3.82779 -5.8542 16.0335 -9.32 -3.9315 -6.05723 15.936 -9.325 -4.04028 -6.26758 15.8471 -9.33 -4.15423 -6.48547 15.767 -9.335 -4.27349 -6.71109 15.6963 -9.34 -4.39817 -6.9446 15.6354 -9.345 -4.52837 -7.18613 15.5848 -9.35 -4.66422 -7.43577 15.5452 -9.355 -4.80582 -7.69358 15.5171 -9.36 -4.95327 -7.95961 15.501 -9.365 -5.10668 -8.23385 15.4978 -9.37 -5.26615 -8.51628 15.5081 -9.375 -5.43178 -8.80683 15.5327 -9.38 -5.60366 -9.10541 15.5723 -9.385 -5.78188 -9.41191 15.6277 -9.39 -5.96653 -9.72615 15.6998 -9.395 -6.1577 -10.048 15.7895 -9.4 -6.35546 -10.3771 15.8977 -9.405 -6.55949 -10.7129 16.0244 -9.41 -6.76981 -11.0546 16.1707 -9.415 -6.98656 -11.4019 16.3382 -9.42 -7.20983 -11.7541 16.5284 -9.425 -7.43961 -12.1103 16.7425 -9.43 -7.67582 -12.4696 16.9817 -9.435 -7.9183 -12.8307 17.247 -9.44 -8.1668 -13.1923 17.5394 -9.445 -8.421 -13.5529 17.8597 -9.45 -8.68051 -13.9108 18.2083 -9.455 -8.94484 -14.2641 18.586 -9.46 -9.21344 -14.6107 18.9929 -9.465 -9.48565 -14.9486 19.4294 -9.47 -9.76078 -15.2752 19.8955 -9.475 -10.038 -15.588 20.3912 -9.48 -10.3165 -15.8843 20.9164 -9.485 -10.5952 -16.1611 21.4707 -9.49 -10.8732 -16.4155 22.0536 -9.495 -11.1493 -16.6441 22.6647 -9.5 -11.4224 -16.8438 23.3032 -9.505 -11.6918 -17.013 23.9682 -9.51 -11.9558 -17.1482 24.6564 -9.515 -12.2125 -17.2456 25.364 -9.52 -12.4602 -17.3019 26.0873 -9.525 -12.6971 -17.3144 26.8222 -9.53 -12.9215 -17.2808 27.5648 -9.535 -13.1318 -17.1994 28.3109 -9.54 -13.3264 -17.0688 29.0562 -9.545 -13.5039 -16.8884 29.7964 -9.55 -13.6626 -16.658 30.5268 -9.555 -13.8014 -16.3778 31.243 -9.56 -13.9187 -16.0485 31.9402 -9.565 -14.0135 -15.6714 32.6136 -9.57 -14.0843 -15.2484 33.2583 -9.575 -14.1301 -14.7817 33.8691 -9.58 -14.1497 -14.274 34.441 -9.585 -14.1424 -13.7271 34.967 -9.59 -14.1078 -13.1454 35.4426 -9.595 -14.0462 -12.5365 35.8668 -9.6 -13.9578 -11.9071 36.2387 -9.605 -13.843 -11.2637 36.5578 -9.61 -13.7026 -10.6121 36.8237 -9.615 -13.5372 -9.95771 37.0366 -9.62 -13.3479 -9.30548 37.1968 -9.625 -13.1358 -8.65979 37.3049 -9.63 -12.9023 -8.02452 37.3618 -9.635 -12.6488 -7.4031 37.3689 -9.64 -12.3771 -6.79844 37.3275 -9.645 -12.0889 -6.21295 37.2396 -9.65 -11.7864 -5.64855 37.1072 -9.655 -11.4716 -5.10667 36.9328 -9.66 -11.147 -4.58824 36.7191 -9.665 -10.8147 -4.0949 36.4699 -9.67 -10.4753 -3.63179 36.1918 -9.675 -10.1306 -3.19997 35.8881 -9.68 -9.78248 -2.79973 35.562 -9.685 -9.43265 -2.4311 35.2162 -9.69 -9.08277 -2.09385 34.8535 -9.695 -8.73434 -1.78744 34.4767 -9.7 -8.38875 -1.51108 34.0882 -9.705 -8.04726 -1.2637 33.6905 -9.71 -7.71103 -1.04397 33.286 -9.715 -7.38107 -0.850243 32.8769 -9.72 -7.0583 -0.680641 32.4654 -9.725 -6.74351 -0.532988 32.0535 -9.73 -6.43737 -0.404837 31.6432 -9.735 -6.14048 -0.294889 31.2351 -9.74 -5.85328 -0.202629 30.8289 -9.745 -5.576 -0.126618 30.4254 -9.75 -5.30885 -0.0654768 30.025 -9.755 -5.05201 -0.0178911 29.6283 -9.76 -4.80558 0.0173924 29.2357 -9.765 -4.56963 0.0415641 28.8477 -9.77 -4.34419 0.0557521 28.4644 -9.775 -4.12924 0.061022 28.0861 -9.78 -3.92471 0.058377 27.713 -9.785 -3.73048 0.0487578 27.3451 -9.79 -3.54639 0.0330428 26.9823 -9.795 -3.37225 0.0120477 26.6248 -9.8 -3.20779 -0.0134886 26.2722 -9.805 -3.05265 -0.0430632 25.9246 -9.81 -2.90655 -0.0761957 25.5822 -9.815 -2.76923 -0.112416 25.2447 -9.82 -2.64041 -0.151295 24.9121 -9.825 -2.51983 -0.192442 24.5843 -9.83 -2.40722 -0.235509 24.2613 -9.835 -2.30229 -0.280185 23.9429 -9.84 -2.20477 -0.326202 23.6292 -9.845 -2.11434 -0.373331 23.3199 -9.85 -2.03074 -0.421383 23.0151 -9.855 -1.95365 -0.470208 22.7147 -9.86 -1.88276 -0.519699 22.4185 -9.865 -1.81778 -0.569786 22.1266 -9.87 -1.75839 -0.620442 21.8388 -9.875 -1.70426 -0.671679 21.5552 -9.88 -1.65509 -0.723518 21.2755 -9.885 -1.6107 -0.775921 20.9998 -9.89 -1.57094 -0.828856 20.7279 -9.895 -1.53569 -0.88231 20.46 -9.9 -1.50479 -0.936289 20.1959 -9.905 -1.47811 -0.990813 19.9355 -9.91 -1.45551 -1.04592 19.6789 -9.915 -1.43685 -1.10167 19.426 -9.92 -1.42196 -1.15814 19.1768 -9.925 -1.41071 -1.21542 18.9312 -9.93 -1.40294 -1.27361 18.6892 -9.935 -1.3985 -1.33284 18.4508 -9.94 -1.39724 -1.39326 18.2159 -9.945 -1.39899 -1.45502 17.9846 -9.95 -1.4036 -1.51831 17.7567 -9.955 -1.4109 -1.58333 17.5324 -9.96 -1.42089 -1.65017 17.3116 -9.965 -1.43362 -1.7189 17.0942 -9.97 -1.44909 -1.78963 16.8804 -9.975 -1.4673 -1.86248 16.6701 -9.98 -1.48824 -1.93758 16.4632 -9.985 -1.51192 -2.01509 16.2599 -9.99 -1.53834 -2.09515 16.0601 -9.995 -1.56751 -2.17793 15.8639 -10 -1.59942 -2.26362 15.6712 -10.005 -1.6341 -2.35239 15.4822 -10.01 -1.67155 -2.44446 15.2968 -10.015 -1.71179 -2.54003 15.1151 -10.02 -1.75484 -2.63933 14.9372 -10.025 -1.8007 -2.74259 14.7631 -10.03 -1.8494 -2.85004 14.5929 -10.035 -1.90097 -2.96196 14.4267 -10.04 -1.95555 -3.07849 14.2646 -10.045 -2.01326 -3.19983 14.1068 -10.05 -2.07419 -3.32626 13.9532 -10.055 -2.13844 -3.45801 13.804 -10.06 -2.20612 -3.59535 13.6593 -10.065 -2.27735 -3.73856 13.5192 -10.07 -2.35224 -3.8879 13.3839 -10.075 -2.43093 -4.04367 13.2537 -10.08 -2.51355 -4.20614 13.1287 -10.085 -2.60025 -4.37561 13.0091 -10.09 -2.69117 -4.55238 12.8953 -10.095 -2.78647 -4.73676 12.7875 -10.1 -2.88631 -4.92905 12.6861 -10.105 -2.99086 -5.12958 12.5914 -10.11 -3.10031 -5.33867 12.5037 -10.115 -3.21483 -5.55665 12.4236 -10.12 -3.33462 -5.78385 12.3513 -10.125 -3.45987 -6.02062 12.2873 -10.13 -3.59079 -6.2673 12.2322 -10.135 -3.7275 -6.52341 12.1865 -10.14 -3.87021 -6.789 12.1509 -10.145 -4.01923 -7.06489 12.126 -10.15 -4.17484 -7.35182 12.1124 -10.155 -4.33731 -7.65038 12.111 -10.16 -4.50691 -7.96105 12.1224 -10.165 -4.68385 -8.28417 12.1476 -10.17 -4.86836 -8.61996 12.1875 -10.175 -5.06064 -8.96854 12.2432 -10.18 -5.26087 -9.32987 12.3156 -10.185 -5.46921 -9.70383 12.406 -10.19 -5.68581 -10.0901 12.5156 -10.195 -5.91079 -10.4884 12.6457 -10.2 -6.14426 -10.8981 12.7976 -10.205 -6.38631 -11.3186 12.9728 -10.21 -6.63703 -11.7492 13.1727 -10.215 -6.89645 -12.1889 13.3991 -10.22 -7.16463 -12.6368 13.6534 -10.225 -7.44158 -13.0917 13.9374 -10.23 -7.7273 -13.5524 14.253 -10.235 -8.02178 -14.0175 14.6019 -10.24 -8.32498 -14.4855 14.9861 -10.245 -8.63677 -14.9548 15.4073 -10.25 -8.95599 -15.4243 15.8648 -10.255 -9.28205 -15.8906 16.3606 -10.26 -9.61456 -16.3497 16.8971 -10.265 -9.95289 -16.7977 17.476 -10.27 -10.2963 -17.2305 18.0986 -10.275 -10.6437 -17.6437 18.7655 -10.28 -10.9941 -18.0333 19.4765 -10.285 -11.3462 -18.3947 20.2312 -10.29 -11.6983 -18.7236 21.0282 -10.295 -12.0488 -19.0153 21.8657 -10.3 -12.3959 -19.2653 22.7411 -10.305 -12.7375 -19.4688 23.6514 -10.31 -13.0713 -19.621 24.5929 -10.315 -13.3949 -19.717 25.5612 -10.32 -13.7058 -19.7518 26.5515 -10.325 -14.0011 -19.7204 27.5581 -10.33 -14.2782 -19.6174 28.5753 -10.335 -14.5358 -19.4379 29.5985 -10.34 -14.7712 -19.1819 30.6174 -10.345 -14.981 -18.851 31.6215 -10.35 -15.1624 -18.4472 32.6007 -10.355 -15.3129 -17.9731 33.546 -10.36 -15.4305 -17.4316 34.4489 -10.365 -15.5134 -16.8265 35.3019 -10.37 -15.5603 -16.1618 36.0984 -10.375 -15.5704 -15.4421 36.8323 -10.38 -15.543 -14.6726 37.4985 -10.385 -15.4781 -13.8591 38.0927 -10.39 -15.3758 -13.0076 38.6113 -10.395 -15.2369 -12.1249 39.0517 -10.4 -15.0622 -11.2184 39.4117 -10.405 -14.8517 -10.3005 39.6888 -10.41 -14.6065 -9.38369 39.883 -10.415 -14.3288 -8.47608 39.9973 -10.42 -14.021 -7.58508 40.0348 -10.425 -13.6859 -6.71735 39.9992 -10.43 -13.3257 -5.87878 39.8947 -10.435 -12.9433 -5.07454 39.7258 -10.44 -12.5413 -4.30901 39.4975 -10.445 -12.1225 -3.58584 39.2153 -10.45 -11.6896 -2.90794 38.885 -10.455 -11.2456 -2.27743 38.5129 -10.46 -10.7933 -1.69572 38.1057 -10.465 -10.3357 -1.16344 37.6707 -10.47 -9.87598 -0.680482 37.2154 -10.475 -9.41668 -0.244623 36.745 -10.48 -8.95971 0.147178 36.2613 -10.485 -8.507 0.496689 35.7679 -10.49 -8.06031 0.805829 35.2679 -10.495 -7.62122 1.07667 34.7641 -10.5 -7.19116 1.31146 34.259 -10.505 -6.77138 1.51256 33.755 -10.51 -6.36296 1.68253 33.2541 -10.515 -5.96681 1.82405 32.758 -10.52 -5.58367 1.93997 32.2681 -10.525 -5.21411 2.03331 31.7857 -10.53 -4.85853 2.10721 31.3115 -10.535 -4.51717 2.16499 30.8463 -10.54 -4.19008 2.21002 30.3902 -10.545 -3.87719 2.2427 29.9432 -10.55 -3.57831 2.26373 29.5051 -10.555 -3.29322 2.27469 29.0757 -10.56 -3.02165 2.27704 28.6549 -10.565 -2.76331 2.27216 28.2426 -10.57 -2.5179 2.2613 27.8387 -10.575 -2.28507 2.24563 27.443 -10.58 -2.06444 2.22618 27.0553 -10.585 -1.85561 2.20391 26.6753 -10.59 -1.65813 2.17965 26.3029 -10.595 -1.47155 2.15413 25.9377 -10.6 -1.29537 2.12798 25.5795 -10.605 -1.12906 2.10172 25.228 -10.61 -0.972007 2.07584 24.883 -10.615 -0.823746 2.05079 24.5441 -10.62 -0.683859 2.02692 24.2114 -10.625 -0.551925 2.00457 23.8845 -10.63 -0.427521 1.98403 23.5633 -10.635 -0.310221 1.96558 23.2475 -10.64 -0.199596 1.94945 22.9372 -10.645 -0.0952125 1.93585 22.632 -10.65 0.00336403 1.92493 22.3319 -10.655 0.0965727 1.91685 22.0367 -10.66 0.184856 1.9117 21.7463 -10.665 0.268658 1.90955 21.4605 -10.67 0.348427 1.91045 21.1793 -10.675 0.424614 1.91439 20.9024 -10.68 0.497557 1.92144 20.6299 -10.685 0.567481 1.93168 20.3618 -10.69 0.634622 1.94519 20.0978 -10.695 0.699219 1.96205 19.8381 -10.7 0.761513 1.98233 19.5824 -10.705 0.821753 2.00609 19.3309 -10.71 0.880189 2.03338 19.0834 -10.715 0.937077 2.06425 18.84 -10.72 0.992677 2.09873 18.6005 -10.725 1.04725 2.13687 18.365 -10.73 1.10107 2.17868 18.1333 -10.735 1.1544 2.22418 17.9056 -10.74 1.20752 2.27338 17.6817 -10.745 1.26071 2.3263 17.4616 -10.75 1.31415 2.383 17.2454 -10.755 1.36795 2.44363 17.033 -10.76 1.42223 2.5083 16.8246 -10.765 1.47711 2.57716 16.62 -10.77 1.53275 2.65032 16.4194 -10.775 1.58928 2.72791 16.2228 -10.78 1.64688 2.81008 16.0301 -10.785 1.70569 2.89694 15.8416 -10.79 1.7659 2.98864 15.6571 -10.795 1.82769 3.08531 15.4769 -10.8 1.89125 3.18709 15.3009 -10.805 1.95677 3.29411 15.1293 -10.81 2.02446 3.40652 14.9621 -10.815 2.09454 3.52446 14.7994 -10.82 2.16723 3.64807 14.6414 -10.825 2.24271 3.7775 14.4882 -10.83 2.32109 3.91304 14.3399 -10.835 2.40248 4.05495 14.1967 -10.84 2.48702 4.20355 14.0589 -10.845 2.57485 4.3591 13.9264 -10.85 2.66612 4.52189 13.7997 -10.855 2.761 4.69219 13.6789 -10.86 2.85965 4.87028 13.5644 -10.865 2.96228 5.05642 13.4564 -10.87 3.06907 5.25087 13.3552 -10.875 3.18025 5.45388 13.2613 -10.88 3.29602 5.66572 13.1751 -10.885 3.41663 5.88663 13.0969 -10.89 3.54231 6.11686 13.0272 -10.895 3.67333 6.35663 12.9665 -10.9 3.80995 6.6062 12.9154 -10.905 3.95245 6.86579 12.8743 -10.91 4.10107 7.13549 12.8437 -10.915 4.25577 7.41476 12.8245 -10.92 4.41681 7.70418 12.8173 -10.925 4.58448 8.00442 12.823 -10.93 4.75904 8.31598 12.8424 -10.935 4.94074 8.63926 12.8766 -10.94 5.12981 8.97447 12.9264 -10.945 5.32642 9.3217 12.993 -10.95 5.53075 9.68089 13.0774 -10.955 5.74295 10.0519 13.1807 -10.96 5.96311 10.4342 13.3042 -10.965 6.19133 10.8275 13.4491 -10.97 6.42768 11.2311 13.6167 -10.975 6.67218 11.6442 13.8083 -10.98 6.92486 12.0659 14.0253 -10.985 7.18569 12.4951 14.2692 -10.99 7.45463 12.9306 14.5414 -10.995 7.73162 13.3711 14.8435 -11 8.01657 13.815 15.1772 -11.005 8.30934 14.2608 15.544 -11.01 8.60981 14.7065 15.9457 -11.015 8.91779 15.1504 16.3839 -11.02 9.23243 15.591 16.8587 -11.025 9.5528 16.0256 17.3708 -11.03 9.8783 16.4498 17.9219 -11.035 10.2082 16.8597 18.5134 -11.04 10.5415 17.251 19.1459 -11.045 10.8772 17.6196 19.8195 -11.05 11.2141 17.9614 20.5336 -11.055 11.5506 18.272 21.2871 -11.06 11.8854 18.5473 22.0784 -11.065 12.2167 18.7832 22.9052 -11.07 12.5425 18.9753 23.7646 -11.075 12.861 19.1195 24.6532 -11.08 13.1698 19.2114 25.5669 -11.085 13.4667 19.2468 26.5012 -11.09 13.7491 19.2214 27.4508 -11.095 14.0145 19.131 28.4098 -11.1 14.2613 18.9676 29.3752 -11.105 14.4878 18.7291 30.3397 -11.11 14.6909 18.4193 31.2922 -11.115 14.8676 18.0423 32.2225 -11.12 15.0156 17.6021 33.1214 -11.125 15.1328 17.1026 33.9805 -11.13 15.2176 16.5482 34.7927 -11.135 15.2687 15.9428 35.5514 -11.14 15.2852 15.2909 36.2513 -11.145 15.2667 14.5966 36.8881 -11.15 15.2129 13.8644 37.458 -11.155 15.1242 13.0986 37.9588 -11.16 15.0012 12.3038 38.3886 -11.165 14.8449 11.4844 38.747 -11.17 14.6568 10.6451 39.0343 -11.175 14.4386 9.79039 39.2518 -11.18 14.1904 8.933 39.3981 -11.185 13.9123 8.08786 39.4721 -11.19 13.607 7.26117 39.4767 -11.195 13.2771 6.4585 39.4151 -11.2 12.9252 5.68473 39.2911 -11.205 12.554 4.94414 39.1087 -11.21 12.1659 4.24033 38.8723 -11.215 11.7635 3.57627 38.5868 -11.22 11.3495 2.95427 38.2572 -11.225 10.9262 2.37599 37.8892 -11.23 10.4962 1.84246 37.4886 -11.235 10.062 1.35404 37.0618 -11.24 9.62596 0.910463 36.6153 -11.245 9.19062 0.510799 36.1563 -11.25 8.75832 0.153263 35.691 -11.255 8.33085 -0.165547 35.2184 -11.26 7.90967 -0.447933 34.74 -11.265 7.4961 -0.695979 34.2583 -11.27 7.09132 -0.911807 33.7755 -11.275 6.6964 -1.09758 33.2934 -11.28 6.31226 -1.25551 32.8139 -11.285 5.93968 -1.38783 32.3384 -11.29 5.57933 -1.49682 31.868 -11.295 5.23171 -1.58481 31.4039 -11.3 4.89722 -1.65417 30.9468 -11.305 4.5761 -1.7073 30.4971 -11.31 4.26847 -1.74664 30.0553 -11.315 3.97432 -1.77467 29.6212 -11.32 3.6935 -1.79282 29.195 -11.325 3.42579 -1.80155 28.7766 -11.33 3.17091 -1.80212 28.3661 -11.335 2.92857 -1.79574 27.9632 -11.34 2.69845 -1.78352 27.5678 -11.345 2.48021 -1.7665 27.1798 -11.35 2.2735 -1.74563 26.7989 -11.355 2.07795 -1.72175 26.4251 -11.36 1.89317 -1.69564 26.0582 -11.365 1.71874 -1.66801 25.6979 -11.37 1.55424 -1.63944 25.344 -11.375 1.3992 -1.61046 24.9965 -11.38 1.25316 -1.5815 24.6549 -11.385 1.11564 -1.55291 24.3192 -11.39 0.986083 -1.52502 23.989 -11.395 0.864082 -1.49815 23.6643 -11.4 0.749267 -1.47255 23.3449 -11.405 0.64127 -1.44844 23.0306 -11.41 0.539721 -1.42605 22.7213 -11.415 0.444249 -1.40554 22.417 -11.42 0.354481 -1.38707 22.1173 -11.425 0.270045 -1.37076 21.8223 -11.43 0.190564 -1.35671 21.5318 -11.435 0.115662 -1.34501 21.2456 -11.44 0.044962 -1.33569 20.9638 -11.445 -0.0219159 -1.32877 20.6861 -11.45 -0.085352 -1.32425 20.4125 -11.455 -0.145712 -1.32212 20.1429 -11.46 -0.203217 -1.32242 19.8773 -11.465 -0.258062 -1.32522 19.6155 -11.47 -0.310446 -1.33056 19.3575 -11.475 -0.360573 -1.33849 19.1033 -11.48 -0.408647 -1.34904 18.8529 -11.485 -0.454876 -1.36223 18.6061 -11.49 -0.49947 -1.3781 18.3629 -11.495 -0.542643 -1.39667 18.1234 -11.5 -0.584608 -1.41793 17.8873 -11.505 -0.625584 -1.4419 17.6548 -11.51 -0.665791 -1.46858 17.4256 -11.515 -0.70545 -1.49796 17.1999 -11.52 -0.744786 -1.53003 16.9776 -11.525 -0.783979 -1.56481 16.7586 -11.53 -0.823111 -1.6024 16.543 -11.535 -0.862281 -1.64288 16.3306 -11.54 -0.901593 -1.68634 16.1216 -11.545 -0.941157 -1.73286 15.9159 -11.55 -0.98109 -1.78254 15.7135 -11.555 -1.02151 -1.83546 15.5143 -11.56 -1.06256 -1.89171 15.3185 -11.565 -1.10436 -1.95139 15.126 -11.57 -1.14705 -2.01459 14.9367 -11.575 -1.19079 -2.0814 14.7508 -11.58 -1.23573 -2.15193 14.5682 -11.585 -1.28202 -2.22627 14.389 -11.59 -1.32983 -2.30452 14.2131 -11.595 -1.37934 -2.38678 14.0407 -11.6 -1.43068 -2.47321 13.8717 -11.605 -1.48391 -2.56401 13.7062 -11.61 -1.53914 -2.65939 13.5443 -11.615 -1.59646 -2.75957 13.386 -11.62 -1.65598 -2.86476 13.2314 -11.625 -1.71781 -2.97519 13.0806 -11.63 -1.78208 -3.09108 12.9337 -11.635 -1.84894 -3.21268 12.7907 -11.64 -1.91854 -3.34021 12.6519 -11.645 -1.99103 -3.47393 12.5174 -11.65 -2.0666 -3.61408 12.3872 -11.655 -2.14541 -3.76091 12.2617 -11.66 -2.22768 -3.9147 12.141 -11.665 -2.3136 -4.07569 12.0253 -11.67 -2.40339 -4.24416 11.9149 -11.675 -2.49727 -4.42039 11.8098 -11.68 -2.59549 -4.60464 11.7105 -11.685 -2.69823 -4.79702 11.6173 -11.69 -2.80568 -4.99781 11.5307 -11.695 -2.91801 -5.2076 11.4509 -11.7 -3.03542 -5.42691 11.3781 -11.705 -3.15811 -5.65623 11.3129 -11.71 -3.28629 -5.89601 11.2556 -11.715 -3.42017 -6.14667 11.2068 -11.72 -3.55999 -6.40859 11.167 -11.725 -3.70596 -6.68212 11.1368 -11.73 -3.85835 -6.96755 11.1171 -11.735 -4.01738 -7.26516 11.1086 -11.74 -4.18332 -7.57518 11.112 -11.745 -4.35642 -7.8978 11.1284 -11.75 -4.53696 -8.23319 11.1586 -11.755 -4.72522 -8.58145 11.2038 -11.76 -4.92147 -8.94268 11.2651 -11.765 -5.12602 -9.31692 11.3435 -11.77 -5.33916 -9.70418 11.4404 -11.775 -5.56119 -10.1044 11.557 -11.78 -5.79245 -10.5176 11.6947 -11.785 -6.03317 -10.9435 11.8549 -11.79 -6.2827 -11.3808 12.0378 -11.795 -6.54122 -11.8293 12.2457 -11.8 -6.80917 -12.2888 12.4811 -11.805 -7.08686 -12.7589 12.7463 -11.81 -7.37447 -13.2387 13.0435 -11.815 -7.67206 -13.7271 13.375 -11.82 -7.97955 -14.2226 13.7426 -11.825 -8.29672 -14.7231 14.148 -11.83 -8.62323 -15.2265 14.5928 -11.835 -8.95861 -15.73 15.0785 -11.84 -9.30224 -16.2306 15.6064 -11.845 -9.65339 -16.7249 16.1775 -11.85 -10.0112 -17.2093 16.7929 -11.855 -10.3746 -17.6794 17.4534 -11.86 -10.7426 -18.131 18.1595 -11.865 -11.1138 -18.5591 18.9117 -11.87 -11.4868 -18.9585 19.7105 -11.875 -11.8602 -19.3235 20.5558 -11.88 -12.2322 -19.6484 21.4478 -11.885 -12.6014 -19.9288 22.3856 -11.89 -12.9656 -20.1603 23.3647 -11.895 -13.3219 -20.3349 24.3795 -11.9 -13.6673 -20.4458 25.4242 -11.905 -13.9991 -20.4871 26.4924 -11.91 -14.3145 -20.4539 27.5772 -11.915 -14.6106 -20.3424 28.6714 -11.92 -14.8847 -20.1498 29.7676 -11.925 -15.1341 -19.8745 30.8577 -11.93 -15.3563 -19.5157 31.9332 -11.935 -15.5486 -19.0737 32.9855 -11.94 -15.7084 -18.5501 34.0052 -11.945 -15.8333 -17.9472 34.9827 -11.95 -15.9207 -17.2685 35.9082 -11.955 -15.9684 -16.5175 36.7703 -11.96 -15.9754 -15.6958 37.5561 -11.965 -15.9411 -14.8169 38.2613 -11.97 -15.8652 -13.8947 38.8832 -11.975 -15.7478 -12.942 39.42 -11.98 -15.5895 -11.9706 39.8705 -11.985 -15.3912 -10.991 40.2341 -11.99 -15.1542 -10.0126 40.5111 -11.995 -14.8802 -9.04345 40.7021 -12 -14.5715 -8.09077 40.8088 -12.005 -14.2307 -7.16043 40.8333 -12.01 -13.8606 -6.25719 40.7786 -12.015 -13.4646 -5.38466 40.648 -12.02 -13.0466 -4.54527 40.4458 -12.025 -12.6108 -3.74037 40.177 -12.03 -12.1591 -2.97917 39.8518 -12.035 -11.6934 -2.2698 39.4802 -12.04 -11.2172 -1.61356 39.0685 -12.045 -10.7337 -1.01107 38.6228 -12.05 -10.2459 -0.462262 38.149 -12.055 -9.75649 0.0336354 37.6526 -12.06 -9.26809 0.478068 37.1389 -12.065 -8.78304 0.873174 36.613 -12.07 -8.30345 1.22178 36.0796 -12.075 -7.83123 1.5274 35.5432 -12.08 -7.36807 1.79424 35.0081 -12.085 -6.91548 2.0255 34.4768 -12.09 -6.47462 2.22293 33.9497 -12.095 -6.04639 2.38957 33.4284 -12.1 -5.63152 2.52833 32.9143 -12.105 -5.23065 2.64199 32.4085 -12.11 -4.84427 2.73322 31.9118 -12.115 -4.47272 2.80458 31.4249 -12.12 -4.11626 2.85847 30.9483 -12.125 -3.77496 2.89721 30.4822 -12.13 -3.44881 2.92297 30.0265 -12.135 -3.13764 2.93781 29.5811 -12.14 -2.84118 2.94361 29.1458 -12.145 -2.55914 2.94183 28.7205 -12.15 -2.29108 2.93374 28.3049 -12.155 -2.03657 2.9205 27.8987 -12.16 -1.79517 2.90322 27.5015 -12.165 -1.5664 2.88293 27.1131 -12.17 -1.3498 2.86056 26.7331 -12.175 -1.14487 2.83698 26.3612 -12.18 -0.951118 2.81296 25.9971 -12.185 -0.768027 2.78922 25.6406 -12.19 -0.595072 2.76636 25.2913 -12.195 -0.431713 2.74494 24.9491 -12.2 -0.277396 2.72542 24.6137 -12.205 -0.131556 2.70818 24.2848 -12.21 0.00638405 2.69352 23.9622 -12.215 0.137017 2.68166 23.6457 -12.22 0.260944 2.67278 23.3352 -12.225 0.378654 2.6671 23.0303 -12.23 0.490525 2.6648 22.7309 -12.235 0.596934 2.66608 22.437 -12.24 0.698264 2.67108 22.1484 -12.245 0.794899 2.67996 21.8649 -12.25 0.887227 2.69283 21.5866 -12.255 0.975638 2.7098 21.3132 -12.26 1.06053 2.73096 21.0448 -12.265 1.14229 2.75638 20.7813 -12.27 1.22133 2.78612 20.5224 -12.275 1.29805 2.82021 20.2683 -12.28 1.37285 2.85868 20.0188 -12.285 1.44615 2.90152 19.7739 -12.29 1.51831 2.94874 19.5336 -12.295 1.5895 3.00047 19.2978 -12.3 1.65992 3.05682 19.0666 -12.305 1.72978 3.1179 18.84 -12.31 1.7993 3.1838 18.618 -12.315 1.86869 3.25464 18.4007 -12.32 1.93819 3.3305 18.1881 -12.325 2.00802 3.4115 17.9803 -12.33 2.07843 3.49772 17.7773 -12.335 2.14965 3.58927 17.5791 -12.34 2.22194 3.68623 17.3858 -12.345 2.29556 3.7887 17.1976 -12.35 2.37076 3.89676 17.0144 -12.355 2.44782 4.01051 16.8364 -12.36 2.527 4.13003 16.6637 -12.365 2.60845 4.25548 16.4965 -12.37 2.6923 4.38709 16.3348 -12.375 2.77868 4.5251 16.179 -12.38 2.86774 4.66973 16.0291 -12.385 2.95963 4.82121 15.8854 -12.39 3.05453 4.97973 15.7481 -12.395 3.1526 5.14551 15.6175 -12.4 3.25404 5.31872 15.4938 -12.405 3.35903 5.49957 15.3774 -12.41 3.4678 5.68821 15.2686 -12.415 3.58055 5.88484 15.1677 -12.42 3.69752 6.08959 15.0752 -12.425 3.81893 6.30264 14.9913 -12.43 3.94505 6.52411 14.9166 -12.435 4.07613 6.75416 14.8514 -12.44 4.21244 6.99291 14.7962 -12.445 4.35409 7.24019 14.7515 -12.45 4.50113 7.49607 14.718 -12.455 4.65378 7.76099 14.6962 -12.46 4.81224 8.03529 14.687 -12.465 4.97669 8.31923 14.691 -12.47 5.14729 8.61291 14.7092 -12.475 5.32419 8.91639 14.7423 -12.48 5.50752 9.22958 14.7912 -12.485 5.69739 9.55231 14.8567 -12.49 5.89389 9.8843 14.9399 -12.495 6.0971 10.2252 15.0417 -12.5 6.30707 10.5744 15.1631 -12.505 6.52383 10.9314 15.305 -12.51 6.74743 11.2955 15.4687 -12.515 6.97785 11.666 15.6551 -12.52 7.21509 12.0417 15.8653 -12.525 7.4591 12.4219 16.1007 -12.53 7.70986 12.8054 16.3622 -12.535 7.96728 13.1908 16.6512 -12.54 8.23128 13.577 16.9689 -12.545 8.50131 13.9632 17.3155 -12.55 8.77663 14.3477 17.6913 -12.555 9.05695 14.7277 18.0982 -12.56 9.34182 15.1004 18.5375 -12.565 9.6307 15.4629 19.0101 -12.57 9.92292 15.8121 19.5167 -12.575 10.2177 16.1452 20.0573 -12.58 10.5141 16.4591 20.6318 -12.585 10.8111 16.7506 21.2395 -12.59 11.1075 17.0167 21.8793 -12.595 11.4021 17.2542 22.5497 -12.6 11.6935 17.4599 23.2489 -12.605 11.9801 17.6305 23.9746 -12.61 12.2603 17.7627 24.7241 -12.615 12.5323 17.8533 25.4944 -12.62 12.7944 17.8988 26.2818 -12.625 13.0443 17.8958 27.0826 -12.63 13.2802 17.8408 27.8924 -12.635 13.5008 17.7297 28.7082 -12.64 13.7049 17.5617 29.5244 -12.645 13.8899 17.3375 30.3333 -12.65 14.0536 17.0585 31.1277 -12.655 14.1941 16.7264 31.9011 -12.66 14.3098 16.343 32.6473 -12.665 14.3992 15.9106 33.3606 -12.67 14.4612 15.4317 34.0361 -12.675 14.495 14.9093 34.669 -12.68 14.4999 14.3465 35.2553 -12.685 14.4758 13.7468 35.7914 -12.69 14.4224 13.1141 36.2743 -12.695 14.3401 12.4524 36.7015 -12.7 14.2292 11.7664 37.0709 -12.705 14.0907 11.0606 37.3809 -12.71 13.925 10.3415 37.6303 -12.715 13.7319 9.61954 37.8174 -12.72 13.5129 8.90099 37.9437 -12.725 13.2699 8.19115 38.011 -12.73 13.0047 7.49485 38.0213 -12.735 12.7193 6.81644 37.9772 -12.74 12.4155 6.15982 37.8813 -12.745 12.0953 5.52845 37.7367 -12.75 11.7608 4.92531 37.5468 -12.755 11.4138 4.35293 37.3152 -12.76 11.0565 3.81337 37.0458 -12.765 10.6909 3.30825 36.743 -12.77 10.3191 2.8387 36.4112 -12.775 9.94314 2.40543 36.0553 -12.78 9.56529 2.00867 35.6806 -12.785 9.18766 1.64802 35.2922 -12.79 8.81192 1.32095 34.8915 -12.795 8.43944 1.02582 34.4804 -12.8 8.07154 0.761473 34.0611 -12.805 7.70939 0.526626 33.6356 -12.81 7.35409 0.319904 33.2059 -12.815 7.0066 0.13983 32.7738 -12.82 6.66781 -0.0151722 32.3408 -12.825 6.33845 -0.146778 31.9085 -12.83 6.01917 -0.256763 31.4781 -12.835 5.71052 -0.347002 31.0506 -12.84 5.41291 -0.419471 30.6271 -12.845 5.12667 -0.476245 30.2082 -12.85 4.852 -0.519499 29.7947 -12.855 4.589 -0.551507 29.3868 -12.86 4.33765 -0.574495 28.985 -12.865 4.09778 -0.588272 28.589 -12.87 3.86918 -0.593277 28.1987 -12.875 3.65166 -0.590537 27.8142 -12.88 3.44502 -0.58101 27.4355 -12.885 3.24901 -0.565587 27.0626 -12.89 3.0634 -0.545088 26.6954 -12.895 2.88793 -0.520265 26.3338 -12.9 2.7223 -0.491803 25.9779 -12.905 2.56623 -0.460316 25.6275 -12.91 2.41939 -0.426352 25.2825 -12.915 2.28146 -0.390388 24.9429 -12.92 2.15208 -0.352833 24.6085 -12.925 2.03089 -0.314028 24.2791 -12.93 1.91748 -0.274252 23.9547 -12.935 1.81146 -0.233774 23.635 -12.94 1.71252 -0.192827 23.3201 -12.945 1.62038 -0.151614 23.0098 -12.95 1.53476 -0.110311 22.704 -12.955 1.45538 -0.0690693 22.4026 -12.96 1.38195 -0.0280122 22.1056 -12.965 1.31419 0.0127631 21.8127 -12.97 1.25181 0.0531857 21.5241 -12.975 1.19451 0.0932115 21.2395 -12.98 1.14203 0.132822 20.9589 -12.985 1.09405 0.172027 20.6822 -12.99 1.0503 0.210862 20.4093 -12.995 1.01048 0.249386 20.1402 -13 0.974315 0.28768 19.8747 -13.005 0.941651 0.325748 19.613 -13.01 0.912365 0.363597 19.3548 -13.015 0.886328 0.40125 19.1001 -13.02 0.86341 0.438742 18.849 -13.025 0.843481 0.476119 18.6012 -13.03 0.826411 0.513435 18.3569 -13.035 0.812072 0.550759 18.116 -13.04 0.800335 0.588167 17.8783 -13.045 0.79107 0.625749 17.644 -13.05 0.784149 0.663602 17.4128 -13.055 0.779444 0.701837 17.1849 -13.06 0.776828 0.740575 16.9601 -13.065 0.776171 0.779947 16.7384 -13.07 0.777357 0.820088 16.5198 -13.075 0.780372 0.861069 16.3042 -13.08 0.78521 0.902949 16.0917 -13.085 0.791857 0.945806 15.8822 -13.09 0.800299 0.989723 15.6757 -13.095 0.810521 1.03479 15.4721 -13.1 0.822511 1.08112 15.2715 -13.105 0.836258 1.1288 15.0738 -13.11 0.85175 1.17796 14.8789 -13.115 0.868977 1.22872 14.687 -13.12 0.88793 1.28122 14.498 -13.125 0.9086 1.33559 14.3118 -13.13 0.930979 1.39199 14.1285 -13.135 0.955061 1.45057 13.948 -13.14 0.980839 1.51149 13.7704 -13.145 1.00831 1.57493 13.5956 -13.15 1.03754 1.64103 13.4237 -13.155 1.06862 1.70989 13.2547 -13.16 1.1016 1.78168 13.0886 -13.165 1.13654 1.85653 12.9254 -13.17 1.17351 1.93463 12.7651 -13.175 1.21256 2.01613 12.6077 -13.18 1.25379 2.10124 12.4534 -13.185 1.29726 2.19014 12.302 -13.19 1.34306 2.28304 12.1537 -13.195 1.39128 2.38016 12.0085 -13.2 1.44201 2.48173 11.8665 -13.205 1.49536 2.58797 11.7278 -13.21 1.55142 2.69913 11.5924 -13.215 1.61031 2.81548 11.4605 -13.22 1.67214 2.93728 11.3321 -13.225 1.73703 3.0648 11.2075 -13.23 1.8051 3.19833 11.0866 -13.235 1.87648 3.33816 10.9696 -13.24 1.9515 3.48402 10.8572 -13.245 2.0304 3.63605 10.7494 -13.25 2.11329 3.79485 10.6464 -13.255 2.20027 3.961 10.5481 -13.26 2.29149 4.13505 10.4547 -13.265 2.38708 4.31753 10.3662 -13.27 2.4872 4.50897 10.2829 -13.275 2.59203 4.70984 10.2052 -13.28 2.70175 4.92062 10.1332 -13.285 2.81655 5.14175 10.0675 -13.29 2.93666 5.37366 10.0085 -13.295 3.06229 5.61674 9.95673 -13.3 3.19369 5.87137 9.91273 -13.305 3.33111 6.13792 9.87719 -13.31 3.4748 6.41672 9.85079 -13.315 3.62507 6.70808 9.83432 -13.32 3.78218 7.0123 9.82861 -13.325 3.94647 7.32964 9.83453 -13.33 4.11823 7.66035 9.85305 -13.335 4.29781 8.00466 9.88518 -13.34 4.48555 8.36277 9.93199 -13.345 4.68182 8.73486 9.99461 -13.35 4.88698 9.12109 10.0743 -13.355 5.10143 9.52161 10.1722 -13.36 5.32557 9.93651 10.2897 -13.365 5.55981 10.3659 10.4281 -13.37 5.80458 10.8099 10.589 -13.375 6.05953 11.2676 10.7733 -13.38 6.32414 11.7382 10.9827 -13.385 6.59895 12.222 11.2198 -13.39 6.88437 12.7187 11.4873 -13.395 7.18069 13.2278 11.7876 -13.4 7.48805 13.7481 12.1232 -13.405 7.80645 14.2783 12.4963 -13.41 8.13575 14.8164 12.9089 -13.415 8.47568 15.3602 13.363 -13.42 8.82582 15.9069 13.8605 -13.425 9.18562 16.4534 14.4031 -13.43 9.5544 16.996 14.9923 -13.435 9.93131 17.5309 15.6296 -13.44 10.3154 18.0535 16.3163 -13.445 10.7056 18.5591 17.0535 -13.45 11.1005 19.0424 17.8425 -13.455 11.499 19.4976 18.6839 -13.46 11.8993 19.9187 19.5788 -13.465 12.2999 20.2994 20.5276 -13.47 12.6991 20.6366 21.5281 -13.475 13.094 20.9217 22.5758 -13.48 13.4819 21.1457 23.6659 -13.485 13.8596 21.3006 24.7929 -13.49 14.2241 21.3794 25.9503 -13.495 14.5724 21.3765 27.1312 -13.5 14.9014 21.287 28.3278 -13.505 15.208 21.1075 29.5317 -13.51 15.489 20.8355 30.7338 -13.515 15.7413 20.4696 31.9242 -13.52 15.9617 20.0095 33.0923 -13.525 16.147 19.4562 34.2268 -13.53 16.2939 18.8117 35.3158 -13.535 16.3994 18.0781 36.3462 -13.54 16.4618 17.2534 37.3028 -13.545 16.4798 16.3514 38.1776 -13.55 16.4523 15.3883 38.9652 -13.555 16.3785 14.3795 39.6613 -13.56 16.2585 13.3384 40.2624 -13.565 16.0927 12.2776 40.7662 -13.57 15.8821 11.2081 41.1713 -13.575 15.6282 10.1396 41.4774 -13.58 15.3332 9.0804 41.6849 -13.585 14.9996 8.03751 41.7957 -13.59 14.6308 7.01659 41.8122 -13.595 14.2304 6.02192 41.7381 -13.6 13.8027 5.05645 41.5781 -13.605 13.3522 4.12323 41.3382 -13.61 12.8798 3.23961 41.031 -13.615 12.3888 2.41305 40.6659 -13.62 11.8829 1.64601 40.2504 -13.625 11.366 0.940017 39.7919 -13.63 10.8416 0.295618 39.2977 -13.635 10.313 -0.287603 38.7746 -13.64 9.78312 -0.811027 38.2294 -13.645 9.25491 -1.277 37.6686 -13.65 8.73096 -1.68884 37.0985 -13.655 8.21363 -2.05081 36.5253 -13.66 7.70509 -2.36748 35.9538 -13.665 7.20711 -2.64094 35.3851 -13.67 6.72108 -2.87459 34.8212 -13.675 6.2482 -3.07197 34.2642 -13.68 5.78947 -3.2365 33.7159 -13.685 5.34574 -3.37148 33.1777 -13.69 4.91768 -3.4801 32.6508 -13.695 4.50578 -3.56543 32.1358 -13.7 4.11035 -3.63044 31.6334 -13.705 3.73154 -3.67795 31.1436 -13.71 3.36931 -3.71069 30.6662 -13.715 3.02354 -3.73114 30.2011 -13.72 2.69403 -3.74111 29.7483 -13.725 2.38034 -3.74226 29.3075 -13.73 2.08204 -3.73614 28.8781 -13.735 1.79864 -3.72418 28.4598 -13.74 1.52966 -3.70774 28.0522 -13.745 1.27459 -3.68804 27.6548 -13.75 1.03291 -3.66621 27.2672 -13.755 0.804075 -3.64328 26.8891 -13.76 0.587533 -3.62018 26.52 -13.765 0.382704 -3.59772 26.1598 -13.77 0.188994 -3.57661 25.8079 -13.775 0.00579369 -3.55747 25.4642 -13.78 -0.167528 -3.54078 25.1282 -13.785 -0.331616 -3.52697 24.7997 -13.79 -0.487136 -3.51631 24.4784 -13.795 -0.634829 -3.50908 24.1639 -13.8 -0.775265 -3.50557 23.856 -13.805 -0.908879 -3.50602 23.5546 -13.81 -1.03611 -3.51067 23.2594 -13.815 -1.15741 -3.51972 22.9704 -13.82 -1.27322 -3.53334 22.6875 -13.825 -1.38399 -3.5517 22.4104 -13.83 -1.4902 -3.57494 22.1392 -13.835 -1.5923 -3.60317 21.8736 -13.84 -1.69075 -3.63649 21.6136 -13.845 -1.78605 -3.67498 21.3592 -13.85 -1.87866 -3.71868 21.1102 -13.855 -1.96906 -3.76762 20.8666 -13.86 -2.05776 -3.82182 20.6283 -13.865 -2.14521 -3.88127 20.3953 -13.87 -2.23164 -3.94606 20.1677 -13.875 -2.31726 -4.01632 19.9455 -13.88 -2.40231 -4.09216 19.7287 -13.885 -2.48703 -4.17369 19.5175 -13.89 -2.57167 -4.26102 19.3119 -13.895 -2.65647 -4.35426 19.1121 -13.9 -2.74171 -4.45349 18.918 -13.905 -2.82764 -4.5588 18.7298 -13.91 -2.91454 -4.67028 18.5477 -13.915 -3.0027 -4.788 18.3716 -13.92 -3.09239 -4.91204 18.2019 -13.925 -3.18392 -5.04245 18.0385 -13.93 -3.27759 -5.17931 17.8818 -13.935 -3.37369 -5.32265 17.7317 -13.94 -3.47249 -5.47252 17.5886 -13.945 -3.5741 -5.62907 17.4527 -13.95 -3.67866 -5.79253 17.3243 -13.955 -3.78633 -5.96309 17.2037 -13.96 -3.89724 -6.14095 17.0912 -13.965 -4.01156 -6.32625 16.9872 -13.97 -4.12944 -6.51913 16.8919 -13.975 -4.25106 -6.71968 16.8059 -13.98 -4.37658 -6.92799 16.7295 -13.985 -4.50619 -7.1441 16.6632 -13.99 -4.64006 -7.36805 16.6074 -13.995 -4.77839 -7.59984 16.5626 -14 -4.92138 -7.83944 16.5294 -14.005 -5.06922 -8.0868 16.5083 -14.01 -5.22211 -8.34185 16.4997 -14.015 -5.38028 -8.60449 16.5045 -14.02 -5.54394 -8.8746 16.5231 -14.025 -5.71308 -9.15181 16.5559 -14.03 -5.8875 -9.43577 16.6033 -14.035 -6.0674 -9.72649 16.6665 -14.04 -6.25292 -10.0239 16.7465 -14.045 -6.44417 -10.3277 16.8445 -14.05 -6.64119 -10.6377 16.9614 -14.055 -6.844 -10.9532 17.098 -14.06 -7.05255 -11.2736 17.2554 -14.065 -7.26675 -11.5982 17.4343 -14.07 -7.48648 -11.9261 17.6355 -14.075 -7.71154 -12.2561 17.8597 -14.08 -7.94171 -12.5871 18.1075 -14.085 -8.17672 -12.9178 18.3796 -14.09 -8.41623 -13.2467 18.6765 -14.095 -8.65987 -13.5722 18.9988 -14.1 -8.90724 -13.8926 19.3467 -14.105 -9.15785 -14.2059 19.7207 -14.11 -9.41121 -14.5103 20.1212 -14.115 -9.66675 -14.8034 20.5485 -14.12 -9.92385 -15.0831 21.0026 -14.125 -10.1819 -15.3469 21.4839 -14.13 -10.4401 -15.5936 21.992 -14.135 -10.6975 -15.8211 22.5256 -14.14 -10.9529 -16.0258 23.0837 -14.145 -11.2049 -16.2041 23.6645 -14.15 -11.4524 -16.3531 24.2663 -14.155 -11.6941 -16.4699 24.8869 -14.16 -11.9286 -16.5521 25.524 -14.165 -12.1548 -16.5974 26.1749 -14.17 -12.3712 -16.6042 26.8368 -14.175 -12.5765 -16.5707 27.5065 -14.18 -12.7694 -16.4957 28.1806 -14.185 -12.9485 -16.3784 28.8553 -14.19 -13.1123 -16.218 29.5268 -14.195 -13.2595 -16.0142 30.1907 -14.2 -13.3887 -15.7671 30.8427 -14.205 -13.4984 -15.4768 31.4779 -14.21 -13.5871 -15.1439 32.0913 -14.215 -13.6541 -14.7661 32.6773 -14.22 -13.699 -14.3467 33.2319 -14.225 -13.7207 -13.8914 33.7517 -14.23 -13.7189 -13.4059 34.2337 -14.235 -13.6931 -12.8952 34.6754 -14.24 -13.6432 -12.3641 35.0747 -14.245 -13.5692 -11.8173 35.4297 -14.25 -13.4715 -11.2588 35.7391 -14.255 -13.3504 -10.6925 36.0018 -14.26 -13.2067 -10.1219 36.2171 -14.265 -13.0412 -9.55013 36.3848 -14.27 -12.8551 -8.98002 36.505 -14.275 -12.6496 -8.41407 36.5781 -14.28 -12.4263 -7.85443 36.605 -14.285 -12.1869 -7.30292 36.587 -14.29 -11.9332 -6.76103 36.5256 -14.295 -11.6673 -6.23037 36.4229 -14.3 -11.3892 -5.71876 36.2834 -14.305 -11.1001 -5.2302 36.1101 -14.31 -10.802 -4.76627 35.9053 -14.315 -10.4965 -4.32827 35.6717 -14.32 -10.1854 -3.91717 35.4117 -14.325 -9.87018 -3.53365 35.1278 -14.33 -9.55248 -3.17806 34.8227 -14.335 -9.2337 -2.85046 34.4988 -14.34 -8.91519 -2.55059 34.159 -14.345 -8.59822 -2.27788 33.8059 -14.35 -8.28397 -2.03147 33.4421 -14.355 -7.97354 -1.81015 33.0704 -14.36 -7.66797 -1.61245 32.6937 -14.365 -7.36817 -1.43655 32.3148 -14.37 -7.07503 -1.28083 31.9353 -14.375 -6.78926 -1.14483 31.5542 -14.38 -6.51131 -1.02736 31.1723 -14.385 -6.24161 -0.927204 30.7904 -14.39 -5.98051 -0.843167 30.4094 -14.395 -5.72831 -0.774084 30.03 -14.4 -5.48527 -0.718822 29.6529 -14.405 -5.25159 -0.676277 29.2785 -14.41 -5.02745 -0.645374 28.9074 -14.415 -4.81294 -0.62507 28.54 -14.42 -4.60811 -0.61435 28.1765 -14.425 -4.41299 -0.612229 27.8172 -14.43 -4.22752 -0.617752 27.4622 -14.435 -4.05161 -0.629995 27.1115 -14.44 -3.88511 -0.648065 26.765 -14.445 -3.72778 -0.671483 26.423 -14.45 -3.57934 -0.699894 26.0856 -14.455 -3.4396 -0.732795 25.7526 -14.46 -3.30835 -0.769722 25.4241 -14.465 -3.18537 -0.810252 25.1001 -14.47 -3.07045 -0.854 24.7806 -14.475 -2.96335 -0.900622 24.4654 -14.48 -2.86386 -0.949812 24.1547 -14.485 -2.77172 -1.00131 23.8484 -14.49 -2.68671 -1.05488 23.5464 -14.495 -2.60857 -1.11034 23.2487 -14.5 -2.53706 -1.16754 22.9553 -14.505 -2.47192 -1.22639 22.6661 -14.51 -2.41288 -1.2868 22.3811 -14.515 -2.35968 -1.34875 22.1003 -14.52 -2.31205 -1.41226 21.8236 -14.525 -2.26971 -1.47736 21.551 -14.53 -2.23244 -1.54404 21.2825 -14.535 -2.20016 -1.61228 21.018 -14.54 -2.17275 -1.68205 20.7575 -14.545 -2.15012 -1.75339 20.501 -14.55 -2.13217 -1.82631 20.2486 -14.555 -2.11878 -1.90087 20.0001 -14.56 -2.10985 -1.97715 19.7555 -14.565 -2.10526 -2.05521 19.515 -14.57 -2.10491 -2.13519 19.2785 -14.575 -2.10868 -2.2172 19.0459 -14.58 -2.11644 -2.30138 18.8174 -14.585 -2.12809 -2.38791 18.5929 -14.59 -2.14349 -2.47697 18.3724 -14.595 -2.16253 -2.56876 18.1561 -14.6 -2.18508 -2.66351 17.9439 -14.605 -2.21101 -2.76145 17.7358 -14.61 -2.2403 -2.86276 17.532 -14.615 -2.2731 -2.9675 17.3325 -14.62 -2.30945 -3.07584 17.1374 -14.625 -2.34938 -3.18794 16.9467 -14.63 -2.39294 -3.304 16.7605 -14.635 -2.44015 -3.4242 16.5789 -14.64 -2.49108 -3.54875 16.402 -14.645 -2.54576 -3.67785 16.23 -14.65 -2.60425 -3.81175 16.0629 -14.655 -2.6666 -3.95065 15.9009 -14.66 -2.73287 -4.09481 15.7441 -14.665 -2.80313 -4.24448 15.5929 -14.67 -2.87744 -4.39991 15.4473 -14.675 -2.95586 -4.56137 15.3076 -14.68 -3.03847 -4.72916 15.174 -14.685 -3.12535 -4.90354 15.0467 -14.69 -3.21656 -5.08483 14.9261 -14.695 -3.31225 -5.273 14.8124 -14.7 -3.41261 -5.46815 14.7061 -14.705 -3.51778 -5.67072 14.6075 -14.71 -3.62795 -5.88115 14.5167 -14.715 -3.74328 -6.09978 14.4344 -14.72 -3.86391 -6.32697 14.3607 -14.725 -3.99001 -6.563 14.2963 -14.73 -4.12174 -6.80811 14.2416 -14.735 -4.25925 -7.06252 14.1973 -14.74 -4.40268 -7.32637 14.1638 -14.745 -4.5522 -7.59981 14.1419 -14.75 -4.70795 -7.88289 14.1323 -14.755 -4.87007 -8.17567 14.1358 -14.76 -5.03872 -8.47813 14.1531 -14.765 -5.21402 -8.79022 14.185 -14.77 -5.39613 -9.11187 14.2326 -14.775 -5.58518 -9.44293 14.2968 -14.78 -5.78131 -9.78323 14.3784 -14.785 -5.98466 -10.1326 14.4787 -14.79 -6.19535 -10.4907 14.5986 -14.795 -6.41351 -10.8572 14.7394 -14.8 -6.63929 -11.2319 14.9021 -14.805 -6.87239 -11.614 15.0873 -14.81 -7.11253 -12.0025 15.2957 -14.815 -7.3599 -12.3967 15.5295 -14.82 -7.61455 -12.7954 15.7904 -14.825 -7.87643 -13.1975 16.0801 -14.83 -8.14541 -13.6014 16.3999 -14.835 -8.42122 -14.0055 16.7512 -14.84 -8.70351 -14.4079 17.1349 -14.845 -8.9918 -14.8065 17.5519 -14.85 -9.28552 -15.1989 18.0028 -14.855 -9.58399 -15.5825 18.488 -14.86 -9.88642 -15.9546 19.0077 -14.865 -10.1919 -16.3122 19.562 -14.87 -10.4995 -16.652 20.1507 -14.875 -10.8081 -16.9706 20.7735 -14.88 -11.1164 -17.2643 21.4297 -14.885 -11.4232 -17.5294 22.1185 -14.89 -11.727 -17.7615 22.8391 -14.895 -12.0263 -17.9568 23.5903 -14.9 -12.3204 -18.1129 24.3708 -14.905 -12.607 -18.2256 25.1762 -14.91 -12.884 -18.2907 26.0013 -14.915 -13.1491 -18.3043 26.8409 -14.92 -13.4 -18.2636 27.6897 -14.925 -13.6349 -18.1663 28.5424 -14.93 -13.8517 -18.0106 29.3934 -14.935 -14.0487 -17.7957 30.2375 -14.94 -14.2239 -17.5211 31.0688 -14.945 -14.3758 -17.1873 31.8819 -14.95 -14.5028 -16.7953 32.671 -14.955 -14.6034 -16.3467 33.4304 -14.96 -14.6762 -15.8441 34.1542 -14.965 -14.7199 -15.2903 34.8364 -14.97 -14.7333 -14.6892 35.4712 -14.975 -14.7154 -14.0442 36.0512 -14.98 -14.6657 -13.3601 36.5693 -14.985 -14.5846 -12.6459 37.0245 -14.99 -14.4725 -11.9101 37.4163 -14.995 -14.3301 -11.1607 37.7447 -15 -14.1583 -10.4048 38.0097 -15.005 -13.9581 -9.64911 38.2121 -15.01 -13.7308 -8.89953 38.3528 -15.015 -13.478 -8.16139 38.433 -15.02 -13.2013 -7.43936 38.4543 -15.025 -12.9026 -6.73748 38.4188 -15.03 -12.584 -6.05912 38.3286 -15.035 -12.2479 -5.40704 38.1866 -15.04 -11.8968 -4.78332 37.9957 -15.045 -11.5334 -4.18943 37.7593 -15.05 -11.1605 -3.6262 37.4811 -15.055 -10.7798 -3.09764 37.1681 -15.06 -10.3927 -2.60665 36.8265 -15.065 -10.0015 -2.15342 36.4601 -15.07 -9.60832 -1.7378 36.0724 -15.075 -9.215 -1.35934 35.6668 -15.08 -8.82338 -1.01722 35.2467 -15.085 -8.43509 -0.71033 34.8151 -15.09 -8.05162 -0.437212 34.3749 -15.095 -7.67431 -0.196087 33.929 -15.1 -7.30435 0.0151527 33.4797 -15.105 -6.94275 0.198941 33.0296 -15.11 -6.59042 0.358041 32.5808 -15.115 -6.24809 0.495347 32.1352 -15.12 -5.91642 0.611682 31.693 -15.125 -5.59581 0.708457 31.2545 -15.13 -5.28653 0.787454 30.8204 -15.135 -4.9888 0.850369 30.3912 -15.14 -4.7028 0.898814 29.9675 -15.145 -4.4286 0.934316 29.5497 -15.15 -4.16627 0.958316 29.138 -15.155 -3.91578 0.972173 28.7326 -15.16 -3.67705 0.977158 28.3337 -15.165 -3.44994 0.974459 27.9413 -15.17 -3.23427 0.96518 27.5554 -15.175 -3.02976 0.950337 27.1757 -15.18 -2.83609 0.930839 26.8021 -15.185 -2.65284 0.907379 26.4346 -15.19 -2.47968 0.880593 26.0731 -15.195 -2.3163 0.851074 25.7175 -15.2 -2.16235 0.819369 25.3675 -15.205 -2.01751 0.785979 25.0232 -15.21 -1.88143 0.751358 24.6843 -15.215 -1.75377 0.715912 24.3507 -15.22 -1.63415 0.680004 24.0222 -15.225 -1.52223 0.643947 23.6988 -15.23 -1.41762 0.608009 23.3803 -15.235 -1.31996 0.572413 23.0666 -15.24 -1.22885 0.537334 22.7575 -15.245 -1.14391 0.502899 22.4531 -15.25 -1.06474 0.469192 22.153 -15.255 -0.990922 0.436249 21.8573 -15.26 -0.922094 0.404088 21.5658 -15.265 -0.85804 0.372822 21.2784 -15.27 -0.798547 0.342521 20.9951 -15.275 -0.743395 0.313233 20.7158 -15.28 -0.692363 0.284994 20.4403 -15.285 -0.645232 0.257825 20.1687 -15.29 -0.601779 0.231732 19.9008 -15.295 -0.561784 0.206709 19.6366 -15.3 -0.525026 0.182733 19.376 -15.305 -0.491283 0.15977 19.119 -15.31 -0.460333 0.137768 18.8655 -15.315 -0.431952 0.116663 18.6154 -15.32 -0.40592 0.0963777 18.3687 -15.325 -0.382012 0.0768186 18.1252 -15.33 -0.360065 0.0579242 17.885 -15.335 -0.340024 0.0397043 17.648 -15.34 -0.321801 0.0221382 17.4142 -15.345 -0.305308 0.00519937 17.1836 -15.35 -0.290454 -0.011144 16.956 -15.355 -0.277151 -0.026929 16.7314 -15.36 -0.265306 -0.0421982 16.5099 -15.365 -0.254831 -0.0569993 16.2913 -15.37 -0.245632 -0.0713855 16.0756 -15.375 -0.237618 -0.085415 15.8628 -15.38 -0.230697 -0.0991518 15.6528 -15.385 -0.224775 -0.112665 15.4456 -15.39 -0.219758 -0.126028 15.2412 -15.395 -0.215554 -0.139322 15.0395 -15.4 -0.212129 -0.152581 14.8404 -15.405 -0.20948 -0.165816 14.644 -15.41 -0.207589 -0.179052 14.4503 -15.415 -0.206437 -0.19232 14.2591 -15.42 -0.206002 -0.205651 14.0704 -15.425 -0.206264 -0.219081 13.8843 -15.43 -0.207202 -0.23265 13.7006 -15.435 -0.208795 -0.246401 13.5194 -15.44 -0.211019 -0.260378 13.3406 -15.445 -0.213853 -0.274632 13.1642 -15.45 -0.217272 -0.289215 12.9901 -15.455 -0.221253 -0.304183 12.8184 -15.46 -0.225771 -0.319595 12.649 -15.465 -0.230801 -0.335514 12.4818 -15.47 -0.236322 -0.352002 12.3169 -15.475 -0.242358 -0.36909 12.1542 -15.48 -0.248929 -0.386807 11.9937 -15.485 -0.25605 -0.40519 11.8353 -15.49 -0.263733 -0.42428 11.6791 -15.495 -0.271994 -0.44412 11.525 -15.5 -0.280847 -0.46476 11.373 -15.505 -0.29031 -0.486251 11.223 -15.51 -0.300399 -0.50865 11.0751 -15.515 -0.31113 -0.532017 10.9292 -15.52 -0.322523 -0.556416 10.7853 -15.525 -0.334595 -0.581915 10.6434 -15.53 -0.347366 -0.608585 10.5034 -15.535 -0.360856 -0.636502 10.3654 -15.54 -0.375086 -0.665745 10.2293 -15.545 -0.390076 -0.696399 10.0951 -15.55 -0.405848 -0.72855 9.96279 -15.555 -0.422427 -0.762289 9.83237 -15.56 -0.439886 -0.797691 9.70383 -15.565 -0.458287 -0.83483 9.57715 -15.57 -0.47766 -0.873795 9.45233 -15.575 -0.498042 -0.914684 9.32934 -15.58 -0.519472 -0.957603 9.20817 -15.585 -0.541995 -1.00266 9.08881 -15.59 -0.565662 -1.04998 8.97126 -15.595 -0.590528 -1.09969 8.85551 -15.6 -0.616651 -1.15192 8.74156 -15.605 -0.644098 -1.20682 8.62943 -15.61 -0.672936 -1.26452 8.51913 -15.615 -0.703242 -1.3252 8.41067 -15.62 -0.735093 -1.38902 8.30406 -15.625 -0.768574 -1.45613 8.19933 -15.63 -0.803773 -1.52674 8.09652 -15.635 -0.840785 -1.60101 7.99563 -15.64 -0.879708 -1.67915 7.89672 -15.645 -0.920646 -1.76135 7.79982 -15.65 -0.963707 -1.84783 7.70498 -15.655 -1.009 -1.9388 7.61223 -15.66 -1.05665 -2.03448 7.52162 -15.665 -1.10678 -2.13511 7.43322 -15.67 -1.15955 -2.24087 7.34716 -15.675 -1.21521 -2.35187 7.26382 -15.68 -1.27388 -2.46845 7.18318 -15.685 -1.33565 -2.591 7.1052 -15.69 -1.40063 -2.71994 7.02988 -15.695 -1.46894 -2.85567 6.95726 -15.7 -1.54073 -2.9986 6.88742 -15.705 -1.61615 -3.14917 6.8205 -15.71 -1.69538 -3.3078 6.75666 -15.715 -1.77861 -3.47494 6.69612 -15.72 -1.86604 -3.65102 6.63912 -15.725 -1.9579 -3.83651 6.58597 -15.73 -2.05443 -4.03187 6.537 -15.735 -2.15588 -4.23757 6.49261 -15.74 -2.26252 -4.45408 6.4532 -15.745 -2.37463 -4.68189 6.41925 -15.75 -2.49253 -4.92149 6.39128 -15.755 -2.61653 -5.17338 6.36982 -15.76 -2.74696 -5.43807 6.35547 -15.765 -2.88419 -5.71607 6.34888 -15.77 -3.02856 -6.00791 6.35071 -15.775 -3.18048 -6.31411 6.3617 -15.78 -3.34033 -6.63521 6.3826 -15.785 -3.50854 -6.97175 6.41423 -15.79 -3.68553 -7.32429 6.45742 -15.795 -3.87176 -7.69338 6.51308 -15.8 -4.06733 -8.07864 6.58246 -15.805 -4.27209 -8.47927 6.66736 -15.81 -4.48673 -8.89706 6.76905 -15.815 -4.71191 -9.33355 6.88896 -15.82 -4.94822 -9.78992 7.02866 -15.825 -5.19619 -10.267 7.18987 -15.83 -5.45627 -10.7653 7.37446 -15.835 -5.72887 -11.2849 7.58448 -15.84 -6.0143 -11.8257 7.82212 -15.845 -6.31284 -12.387 8.0897 -15.85 -6.62466 -12.9679 8.38975 -15.855 -6.94991 -13.5672 8.7249 -15.86 -7.28865 -14.1833 9.09797 -15.865 -7.64086 -14.8142 9.51192 -15.87 -8.00649 -15.4575 9.96987 -15.875 -8.38539 -16.1107 10.4751 -15.88 -8.77737 -16.7706 11.031 -15.885 -9.18214 -17.434 11.6412 -15.89 -9.59939 -18.0971 12.3094 -15.895 -10.0287 -18.7559 13.0395 -15.9 -10.4696 -19.4059 13.8356 -15.905 -10.921 -20.0431 14.6994 -15.91 -11.3808 -20.661 15.6295 -15.915 -11.8473 -21.2497 16.6286 -15.92 -12.3186 -21.7994 17.6982 -15.925 -12.7927 -22.3005 18.8381 -15.93 -13.2668 -22.7434 20.0466 -15.935 -13.7381 -23.1189 21.3203 -15.94 -14.2033 -23.418 22.6546 -15.945 -14.6589 -23.6316 24.043 -15.95 -15.1008 -23.7511 25.4776 -15.955 -15.5249 -23.7679 26.949 -15.96 -15.9265 -23.6738 28.4463 -15.965 -16.3006 -23.4605 29.9569 -15.97 -16.6424 -23.1183 31.468 -15.975 -16.9495 -22.6353 32.9683 -15.98 -17.2162 -22.0192 34.4363 -15.985 -17.4373 -21.2803 35.8509 -15.99 -17.6085 -20.4292 37.1937 -15.995 -17.7261 -19.476 38.4485 -16 -17.7876 -18.4314 39.6016 -16.005 -17.7912 -17.3057 40.6418 -16.01 -17.7358 -16.1095 41.5602 -16.015 -17.6216 -14.8531 42.3502 -16.02 -17.4492 -13.5472 43.0078 -16.025 -17.2204 -12.2023 43.5314 -16.03 -16.9377 -10.829 43.9217 -16.035 -16.6043 -9.43856 44.1817 -16.04 -16.2204 -8.06073 44.3101 -16.045 -15.7887 -6.71785 44.3118 -16.05 -15.3141 -5.42283 44.1959 -16.055 -14.8013 -4.18666 43.9718 -16.06 -14.2552 -3.01838 43.6499 -16.065 -13.6806 -1.92512 43.2412 -16.07 -13.0824 -0.912068 42.7577 -16.075 -12.4657 0.0175214 42.2118 -16.08 -11.8353 0.862315 41.6167 -16.085 -11.1964 1.62291 40.9865 -16.09 -10.554 2.30186 40.3353 -16.095 -9.91199 2.90334 39.6692 -16.1 -9.27376 3.43164 38.9935 -16.105 -8.64256 3.89117 38.3143 -16.11 -8.0213 4.28656 37.6373 -16.115 -7.41249 4.62263 36.9671 -16.12 -6.81832 4.90444 36.308 -16.125 -6.24061 5.13725 35.663 -16.13 -5.68083 5.32654 35.0347 -16.135 -5.14011 5.47798 34.4249 -16.14 -4.61921 5.59748 33.8346 -16.145 -4.11864 5.69035 33.2641 -16.15 -3.63884 5.7588 32.7137 -16.155 -3.17971 5.80606 32.183 -16.16 -2.74102 5.8353 31.6715 -16.165 -2.32251 5.8495 31.1787 -16.17 -1.92384 5.85135 30.704 -16.175 -1.54461 5.84335 30.2468 -16.18 -1.18433 5.82772 29.8064 -16.185 -0.842492 5.80649 29.3823 -16.19 -0.518484 5.7814 28.9736 -16.195 -0.211648 5.754 28.5796 -16.2 0.0787423 5.72558 28.1995 -16.205 0.353479 5.69719 27.8324 -16.21 0.613457 5.66972 27.4775 -16.215 0.859799 5.64424 27.1341 -16.22 1.09321 5.62141 26.8018 -16.225 1.31433 5.60174 26.4801 -16.23 1.52379 5.5857 26.1686 -16.235 1.72226 5.57372 25.8668 -16.24 1.91038 5.56622 25.5744 -16.245 2.08884 5.56353 25.291 -16.25 2.2583 5.56599 25.0162 -16.255 2.41946 5.57387 24.7499 -16.26 2.57302 5.58743 24.4916 -16.265 2.71967 5.60687 24.2412 -16.27 2.86014 5.63235 23.9984 -16.275 2.99515 5.66401 23.7631 -16.28 3.12543 5.70194 23.535 -16.285 3.25173 5.74619 23.3141 -16.29 3.37469 5.79671 23.1003 -16.295 3.49458 5.85335 22.8935 -16.3 3.6117 5.91617 22.6939 -16.305 3.72639 5.98523 22.5015 -16.31 3.83896 6.06058 22.3164 -16.315 3.94976 6.14223 22.1387 -16.32 4.05912 6.23019 21.9685 -16.325 4.16738 6.32445 21.8058 -16.33 4.27488 6.42499 21.6509 -16.335 4.38197 6.53175 21.5038 -16.34 4.48902 6.64467 21.3645 -16.345 4.59636 6.76369 21.2333 -16.35 4.70438 6.88869 21.1103 -16.355 4.81343 7.01957 20.9955 -16.36 4.92387 7.15619 20.8891 -16.365 5.03609 7.29841 20.7913 -16.37 5.15018 7.4461 20.7023 -16.375 5.26619 7.59927 20.6224 -16.38 5.38424 7.75788 20.552 -16.385 5.50445 7.9219 20.4915 -16.39 5.62691 8.09123 20.4412 -16.395 5.75173 8.26574 20.4014 -16.4 5.879 8.44526 20.3725 -16.405 6.00882 8.62959 20.3548 -16.41 6.14126 8.81847 20.3486 -16.415 6.27641 9.01164 20.3543 -16.42 6.41434 9.20875 20.3723 -16.425 6.55512 9.40946 20.4027 -16.43 6.69881 9.61337 20.446 -16.435 6.84547 9.82004 20.5024 -16.44 6.99516 10.029 20.5724 -16.445 7.14791 10.2397 20.6561 -16.45 7.30377 10.4516 20.7539 -16.455 7.46249 10.6646 20.8655 -16.46 7.62382 10.878 20.9914 -16.465 7.78763 11.0911 21.1321 -16.47 7.95379 11.303 21.2882 -16.475 8.12212 11.5127 21.4601 -16.48 8.29238 11.7194 21.6481 -16.485 8.46434 11.9221 21.8524 -16.49 8.63769 12.1198 22.0731 -16.495 8.81213 12.3115 22.3102 -16.5 8.9873 12.4964 22.5636 -16.505 9.1628 12.6732 22.833 -16.51 9.3382 12.8409 23.118 -16.515 9.51306 12.9986 23.4182 -16.52 9.68687 13.145 23.733 -16.525 9.8591 13.279 24.0618 -16.53 10.0292 13.3996 24.4036 -16.535 10.1965 13.5055 24.7576 -16.54 10.3605 13.5955 25.1227 -16.545 10.5204 13.6685 25.4978 -16.55 10.6756 13.7232 25.8817 -16.555 10.8253 13.7583 26.273 -16.56 10.969 13.7725 26.6706 -16.565 11.1065 13.7649 27.074 -16.57 11.2367 13.7352 27.4807 -16.575 11.3589 13.6832 27.8882 -16.58 11.472 13.6091 28.2941 -16.585 11.5753 13.5128 28.6962 -16.59 11.6682 13.3946 29.0923 -16.595 11.7498 13.2548 29.4803 -16.6 11.8198 13.0939 29.8582 -16.605 11.8776 12.9123 30.2243 -16.61 11.9229 12.7108 30.5769 -16.615 11.9552 12.49 30.9141 -16.62 11.9744 12.2509 31.2347 -16.625 11.9803 11.9944 31.537 -16.63 11.9728 11.7216 31.8199 -16.635 11.952 11.4336 32.0822 -16.64 11.9178 11.1318 32.3227 -16.645 11.8706 10.8175 32.5405 -16.65 11.8103 10.4923 32.7346 -16.655 11.7375 10.1578 32.9045 -16.66 11.6519 9.81688 33.0488 -16.665 11.5535 9.47266 33.1671 -16.67 11.4429 9.12708 33.2594 -16.675 11.321 8.78192 33.326 -16.68 11.1883 8.43891 33.367 -16.685 11.0456 8.09965 33.3831 -16.69 10.8936 7.76565 33.3747 -16.695 10.7331 7.4383 33.3425 -16.7 10.5648 7.11891 33.2871 -16.705 10.3894 6.80867 33.2095 -16.71 10.2078 6.50869 33.1106 -16.715 10.0207 6.21995 32.9916 -16.72 9.82894 5.94336 32.8535 -16.725 9.63324 5.67971 32.6976 -16.73 9.43444 5.42967 32.5254 -16.735 9.23337 5.19385 32.3383 -16.74 9.03086 4.97273 32.138 -16.745 8.82773 4.7667 31.9261 -16.75 8.62485 4.57602 31.7045 -16.755 8.42307 4.40035 31.4746 -16.76 8.22308 4.23838 31.2368 -16.765 8.02542 4.08999 30.9917 -16.77 7.83056 3.95503 30.7403 -16.775 7.639 3.83335 30.4834 -16.78 7.45115 3.7247 30.2217 -16.785 7.26742 3.62881 29.9559 -16.79 7.08821 3.54538 29.6868 -16.795 6.91385 3.47403 29.4151 -16.8 6.74467 3.41436 29.1413 -16.805 6.58095 3.36591 28.8662 -16.81 6.42298 3.32818 28.5903 -16.815 6.27097 3.30061 28.3142 -16.82 6.12514 3.2826 28.0385 -16.825 5.98566 3.27353 27.7635 -16.83 5.85269 3.2727 27.4899 -16.835 5.72633 3.27936 27.2181 -16.84 5.60668 3.29275 26.9484 -16.845 5.4938 3.31203 26.6813 -16.85 5.38773 3.33633 26.4172 -16.855 5.28836 3.36537 26.1561 -16.86 5.19539 3.40015 25.8978 -16.865 5.10877 3.44049 25.6423 -16.87 5.02844 3.48613 25.3899 -16.875 4.95436 3.53685 25.1407 -16.88 4.88646 3.59244 24.8948 -16.885 4.82469 3.65271 24.6524 -16.89 4.76899 3.7175 24.4136 -16.895 4.71928 3.78666 24.1786 -16.9 4.67551 3.86006 23.9474 -16.905 4.63758 3.93759 23.7203 -16.91 4.60543 4.01916 23.4974 -16.915 4.57898 4.1047 23.2787 -16.92 4.55813 4.19417 23.0645 -16.925 4.54281 4.28753 22.8549 -16.93 4.53291 4.38477 22.6499 -16.935 4.52834 4.48591 22.4498 -16.94 4.529 4.59097 22.2546 -16.945 4.53478 4.7 22.0644 -16.95 4.54555 4.81307 21.8794 -16.955 4.56109 4.9302 21.6999 -16.96 4.58142 5.05145 21.526 -16.965 4.60662 5.17683 21.3579 -16.97 4.6367 5.30639 21.1956 -16.975 4.67172 5.44017 21.0393 -16.98 4.7117 5.5782 20.8893 -16.985 4.75665 5.72051 20.7456 -16.99 4.8066 5.86714 20.6086 -16.995 4.86154 6.01811 20.4784 -17 4.92147 6.17346 20.3553 -17.005 4.98638 6.33322 20.2395 -17.01 5.05625 6.49742 20.1314 -17.015 5.13105 6.66609 20.0311 -17.02 5.21076 6.83924 19.939 -17.025 5.29532 7.01692 19.8554 -17.03 5.38469 7.19914 19.7806 -17.035 5.47881 7.38592 19.715 -17.04 5.57761 7.5773 19.659 -17.045 5.68103 7.7733 19.6129 -17.05 5.78897 7.97392 19.5771 -17.055 5.90136 8.17921 19.5521 -17.06 6.01809 8.38917 19.5382 -17.065 6.13907 8.60378 19.5359 -17.07 6.26435 8.82239 19.5449 -17.075 6.39403 9.0447 19.5658 -17.08 6.5282 9.27056 19.5992 -17.085 6.66688 9.49971 19.6459 -17.09 6.81009 9.73186 19.7065 -17.095 6.9578 9.96665 19.7815 -17.1 7.10993 10.2036 19.8716 -17.105 7.2664 10.4423 19.977 -17.11 7.42707 10.6821 20.0983 -17.115 7.59178 10.9224 20.2359 -17.12 7.76033 11.1625 20.39 -17.125 7.93248 11.4016 20.5609 -17.13 8.10797 11.639 20.7489 -17.135 8.2865 11.8736 20.9541 -17.14 8.46774 12.1046 21.1766 -17.145 8.65132 12.3309 21.4165 -17.15 8.83683 12.5515 21.6738 -17.155 9.02384 12.7651 21.9485 -17.16 9.21188 12.9705 22.2405 -17.165 9.40045 13.1665 22.5496 -17.17 9.58902 13.3517 22.8757 -17.175 9.777 13.5247 23.2185 -17.18 9.9638 13.6839 23.5778 -17.185 10.1491 13.8288 23.9533 -17.19 10.3324 13.9581 24.3437 -17.195 10.5128 14.0699 24.7478 -17.2 10.6892 14.1625 25.164 -17.205 10.8609 14.2344 25.5906 -17.21 11.0269 14.2842 26.026 -17.215 11.1865 14.3109 26.4685 -17.22 11.3388 14.3133 26.9162 -17.225 11.483 14.2908 27.3673 -17.23 11.6183 14.2428 27.82 -17.235 11.744 14.1687 28.2721 -17.24 11.8594 14.0685 28.7216 -17.245 11.9637 13.942 29.1664 -17.25 12.0562 13.7894 29.6044 -17.255 12.1363 13.611 30.0332 -17.26 12.2034 13.4074 30.4505 -17.265 12.2568 13.1791 30.8539 -17.27 12.2959 12.9271 31.241 -17.275 12.3202 12.6525 31.6092 -17.28 12.3291 12.3556 31.9555 -17.285 12.3226 12.0378 32.2775 -17.29 12.3006 11.7022 32.5739 -17.295 12.2631 11.352 32.844 -17.3 12.2104 10.9901 33.087 -17.305 12.1426 10.6192 33.3023 -17.31 12.0599 10.2418 33.4894 -17.315 11.9629 9.86043 33.6479 -17.32 11.8519 9.47724 33.7777 -17.325 11.7275 9.09431 33.8787 -17.33 11.5903 8.71352 33.9511 -17.335 11.4409 8.33661 33.995 -17.34 11.2801 7.96513 34.0109 -17.345 11.1087 7.60046 33.9992 -17.35 10.9278 7.24381 33.9607 -17.355 10.7381 6.89624 33.8961 -17.36 10.541 6.55861 33.8064 -17.365 10.3374 6.23164 33.6927 -17.37 10.1286 5.91587 33.5562 -17.375 9.91553 5.61255 33.3988 -17.38 9.69841 5.32447 33.2235 -17.385 9.4782 5.05224 33.0316 -17.39 9.25587 4.79627 32.8243 -17.395 9.03235 4.55683 32.6029 -17.4 8.80852 4.33407 32.3685 -17.405 8.58521 4.12805 32.1226 -17.41 8.36319 3.9387 31.8661 -17.415 8.1432 3.76583 31.6005 -17.42 7.9259 3.60915 31.3268 -17.425 7.71192 3.46825 31.0464 -17.43 7.50185 3.3426 30.7603 -17.435 7.29621 3.23155 30.4699 -17.44 7.09548 3.13435 30.1762 -17.445 6.90008 3.05013 29.8805 -17.45 6.7104 2.97791 29.5839 -17.455 6.52675 2.91658 29.2876 -17.46 6.34943 2.86543 28.9921 -17.465 6.17864 2.82465 28.6966 -17.47 6.01449 2.79371 28.4016 -17.475 5.85708 2.77208 28.1075 -17.48 5.70647 2.75923 27.8146 -17.485 5.56272 2.75468 27.5232 -17.49 5.42588 2.75795 27.2338 -17.495 5.29598 2.76858 26.9465 -17.5 5.17303 2.78614 26.6617 -17.505 5.05704 2.81023 26.3796 -17.51 4.94799 2.84046 26.1003 -17.515 4.84585 2.87645 25.8242 -17.52 4.75059 2.91788 25.5512 -17.525 4.66214 2.9644 25.2817 -17.53 4.58042 3.01572 25.0156 -17.535 4.50537 3.07157 24.7531 -17.54 4.43686 3.13167 24.4942 -17.545 4.37466 3.19594 24.239 -17.55 4.31848 3.26445 23.9878 -17.555 4.26828 3.33704 23.7407 -17.56 4.22402 3.41358 23.4976 -17.565 4.18567 3.49393 23.2587 -17.57 4.15319 3.57801 23.024 -17.575 4.12652 3.66573 22.7936 -17.58 4.1056 3.75704 22.5677 -17.585 4.09037 3.8519 22.3462 -17.59 4.08077 3.95028 22.1294 -17.595 4.07672 4.0522 21.9172 -17.6 4.07814 4.15766 21.71 -17.605 4.08496 4.26672 21.5076 -17.61 4.09707 4.37944 21.3105 -17.615 4.11438 4.49589 21.1185 -17.62 4.1368 4.61619 20.932 -17.625 4.16422 4.74045 20.751 -17.63 4.19651 4.86881 20.5758 -17.635 4.23358 5.00145 20.4065 -17.64 4.27528 5.13854 20.2432 -17.645 4.3215 5.28029 20.0863 -17.65 4.3721 5.42692 19.9358 -17.655 4.42714 5.57835 19.792 -17.66 4.4868 5.73443 19.6551 -17.665 4.55117 5.89531 19.5254 -17.67 4.62031 6.06114 19.4031 -17.675 4.6943 6.23203 19.2884 -17.68 4.77317 6.40806 19.1817 -17.685 4.85698 6.58933 19.0832 -17.69 4.94577 6.77587 18.9932 -17.695 5.03957 6.96774 18.9121 -17.7 5.13839 7.16495 18.8403 -17.705 5.24227 7.36749 18.778 -17.71 5.35119 7.57534 18.7259 -17.715 5.46517 7.78847 18.6841 -17.72 5.5842 8.00681 18.6532 -17.725 5.70826 8.23028 18.6337 -17.73 5.83734 8.45879 18.6259 -17.735 5.97139 8.69221 18.6305 -17.74 6.11039 8.9304 18.6479 -17.745 6.25429 9.17321 18.6786 -17.75 6.40303 9.42046 18.7233 -17.755 6.55657 9.67196 18.7824 -17.76 6.71479 9.92747 18.8565 -17.765 6.87721 10.1866 18.9446 -17.77 7.04376 10.4487 19.0471 -17.775 7.21457 10.7132 19.1655 -17.78 7.38971 10.9794 19.3008 -17.785 7.56919 11.2465 19.454 -17.79 7.75296 11.5137 19.6261 -17.795 7.94092 11.78 19.8176 -17.8 8.13289 12.0446 20.0292 -17.805 8.32866 12.3063 20.2614 -17.81 8.52793 12.5641 20.5144 -17.815 8.73036 12.8168 20.7884 -17.82 8.93555 13.0633 21.0835 -17.825 9.14303 13.302 21.3995 -17.83 9.35228 13.5319 21.7362 -17.835 9.56273 13.7513 22.0933 -17.84 9.77373 13.9588 22.4702 -17.845 9.98459 14.1529 22.8662 -17.85 10.1945 14.3319 23.2806 -17.855 10.4028 14.4941 23.7124 -17.86 10.6084 14.6378 24.1605 -17.865 10.8105 14.7611 24.6238 -17.87 11.008 14.8622 25.1008 -17.875 11.2 14.9391 25.5902 -17.88 11.3853 14.9897 26.0903 -17.885 11.5627 15.0121 26.5992 -17.89 11.7311 15.004 27.1153 -17.895 11.8907 14.9644 27.6372 -17.9 12.0403 14.8933 28.1613 -17.905 12.1788 14.791 28.684 -17.91 12.3049 14.6579 29.2016 -17.915 12.4175 14.4947 29.7108 -17.92 12.5156 14.3019 30.2084 -17.925 12.5984 14.0804 30.6914 -17.93 12.6652 13.8313 31.1571 -17.935 12.7154 13.5555 31.6028 -17.94 12.7485 13.2544 32.0263 -17.945 12.7642 12.9293 32.4254 -17.95 12.7623 12.5817 32.7982 -17.955 12.7427 12.2134 33.1429 -17.96 12.7054 11.826 33.458 -17.965 12.6507 11.4215 33.7423 -17.97 12.5788 11.002 33.9944 -17.975 12.4901 10.5697 34.2137 -17.98 12.3852 10.1269 34.3993 -17.985 12.2637 9.67852 34.55 -17.99 12.126 9.22891 34.6655 -17.995 11.973 8.78076 34.7462 -18 11.8058 8.33656 34.7927 -18.005 11.6254 7.89865 34.8059 -18.01 11.4328 7.46917 34.7868 -18.015 11.2292 7.05009 34.7363 -18.02 11.0156 6.64323 34.6557 -18.025 10.7931 6.2502 34.5465 -18.03 10.5627 5.87248 34.4101 -18.035 10.3255 5.51133 34.2484 -18.04 10.0827 5.16788 34.0631 -18.045 9.8353 4.84306 33.8563 -18.05 9.58447 4.53763 33.6301 -18.055 9.3313 4.25219 33.3868 -18.06 9.07694 3.98715 33.129 -18.065 8.82251 3.74276 32.8592 -18.07 8.56916 3.51898 32.5802 -18.075 8.31792 3.31415 32.2922 -18.08 8.06954 3.12745 31.9961 -18.085 7.82468 2.95846 31.693 -18.09 7.58398 2.80672 31.384 -18.095 7.348 2.67173 31.0702 -18.1 7.11727 2.55293 30.7525 -18.105 6.8923 2.44971 30.4319 -18.11 6.6735 2.3614 30.1092 -18.115 6.46129 2.28728 29.7852 -18.12 6.25601 2.22658 29.4608 -18.125 6.05797 2.17849 29.1364 -18.13 5.86742 2.14214 28.8129 -18.135 5.68457 2.1166 28.4908 -18.14 5.50961 2.10089 28.1706 -18.145 5.34264 2.09398 27.8526 -18.15 5.18375 2.09481 27.5375 -18.155 5.03298 2.10223 27.2254 -18.16 4.89028 2.11519 26.9166 -18.165 4.7554 2.13434 26.611 -18.17 4.62819 2.15969 26.3087 -18.175 4.50854 2.19083 26.0096 -18.18 4.39635 2.22737 25.714 -18.185 4.29151 2.26897 25.4219 -18.19 4.19391 2.31528 25.1334 -18.195 4.10343 2.36604 24.8487 -18.2 4.01994 2.42097 24.5678 -18.205 3.94331 2.47984 24.2907 -18.21 3.8734 2.54246 24.0177 -18.215 3.81009 2.60865 23.7486 -18.22 3.75322 2.67828 23.4837 -18.225 3.70265 2.75124 23.2229 -18.23 3.65821 2.82746 22.9663 -18.235 3.61976 2.90689 22.714 -18.24 3.58712 2.98951 22.4659 -18.245 3.56014 3.07535 22.2222 -18.25 3.53858 3.16446 21.9829 -18.255 3.52226 3.25688 21.7481 -18.26 3.51115 3.3526 21.5179 -18.265 3.50524 3.45163 21.2923 -18.27 3.5045 3.55399 21.0714 -18.275 3.50889 3.65972 20.8553 -18.28 3.51839 3.76887 20.6439 -18.285 3.53294 3.88152 20.4375 -18.29 3.55252 3.99774 20.2362 -18.295 3.57708 4.11763 20.04 -18.3 3.60657 4.24131 19.849 -18.305 3.64093 4.36892 19.6635 -18.31 3.68013 4.50059 19.4836 -18.315 3.72408 4.6365 19.3095 -18.32 3.77274 4.77681 19.1412 -18.325 3.82605 4.92173 18.9791 -18.33 3.88392 5.07146 18.8233 -18.335 3.94629 5.22623 18.6741 -18.34 4.01309 5.38628 18.5316 -18.345 4.08424 5.55186 18.3961 -18.35 4.15992 5.72284 18.2679 -18.355 4.24029 5.89928 18.1472 -18.36 4.32546 6.08138 18.0344 -18.365 4.41551 6.26933 17.9296 -18.37 4.5105 6.46328 17.8333 -18.375 4.61051 6.66337 17.7459 -18.38 4.71561 6.8697 17.6676 -18.385 4.82586 7.08235 17.5989 -18.39 4.94131 7.30137 17.5402 -18.395 5.06203 7.52678 17.4921 -18.4 5.18804 7.75859 17.4549 -18.405 5.31939 7.99676 17.4292 -18.41 5.45613 8.24125 17.4155 -18.415 5.59827 8.49197 17.4144 -18.42 5.74584 8.74883 17.4265 -18.425 5.89887 9.01167 17.4524 -18.43 6.05737 9.28036 17.4927 -18.435 6.22134 9.5547 17.5481 -18.44 6.39079 9.83448 17.6192 -18.445 6.56564 10.1194 17.7066 -18.45 6.74551 10.4088 17.8098 -18.455 6.93049 10.7022 17.9301 -18.46 7.12068 10.9991 18.0687 -18.465 7.31612 11.2988 18.2267 -18.47 7.51677 11.6005 18.4052 -18.475 7.72253 11.9032 18.6051 -18.48 7.93323 12.2061 18.827 -18.485 8.14866 12.508 19.0718 -18.49 8.36852 12.8077 19.3397 -18.495 8.59245 13.1039 19.6313 -18.5 8.82003 13.3951 19.9466 -18.505 9.05078 13.6798 20.286 -18.51 9.28415 13.9563 20.6492 -18.515 9.51953 14.223 21.0361 -18.52 9.75623 14.4778 21.4465 -18.525 9.99352 14.7189 21.88 -18.53 10.2306 14.9442 22.3359 -18.535 10.4666 15.1514 22.8137 -18.54 10.7005 15.3383 23.3125 -18.545 10.9314 15.5024 23.8313 -18.55 11.1582 15.6413 24.3691 -18.555 11.3798 15.7522 24.9248 -18.56 11.5958 15.8337 25.4974 -18.565 11.805 15.884 26.0843 -18.57 12.0059 15.9015 26.6815 -18.575 12.197 15.8843 27.2855 -18.58 12.3767 15.8315 27.8925 -18.585 12.5438 15.7419 28.4989 -18.59 12.6971 15.6151 29.1012 -18.595 12.8353 15.4508 29.6961 -18.6 12.9575 15.249 30.28 -18.605 13.0627 15.0102 30.8498 -18.61 13.15 14.735 31.4023 -18.615 13.2187 14.4246 31.9342 -18.62 13.2681 14.0802 32.4425 -18.625 13.2976 13.7036 32.9243 -18.63 13.3068 13.2968 33.3766 -18.635 13.2953 12.8621 33.7965 -18.64 13.2628 12.4023 34.1814 -18.645 13.2089 11.9204 34.5278 -18.65 13.1334 11.4207 34.8323 -18.655 13.0369 10.9078 35.0945 -18.66 12.92 10.386 35.3144 -18.665 12.7835 9.85934 35.4924 -18.67 12.6282 9.33164 35.6289 -18.675 12.455 8.8064 35.7243 -18.68 12.265 8.28686 35.7797 -18.685 12.0591 7.776 35.7959 -18.69 11.8386 7.2765 35.7742 -18.695 11.6046 6.79079 35.716 -18.7 11.3584 6.32102 35.6227 -18.705 11.1014 5.86907 35.4963 -18.71 10.835 5.43654 35.3386 -18.715 10.5608 5.02477 35.1518 -18.72 10.2804 4.63482 34.9383 -18.725 9.99531 4.26747 34.7005 -18.73 9.70729 3.92328 34.4414 -18.735 9.41721 3.60274 34.1644 -18.74 9.12623 3.30587 33.8718 -18.745 8.83556 3.03252 33.5653 -18.75 8.54634 2.78239 33.2468 -18.755 8.2596 2.55506 32.918 -18.76 7.97632 2.34997 32.5805 -18.765 7.69737 2.16645 32.2358 -18.77 7.42358 2.00368 31.8856 -18.775 7.15565 1.86071 31.5311 -18.78 6.89425 1.73647 31.1737 -18.785 6.63992 1.62975 30.8147 -18.79 6.39317 1.5392 30.4551 -18.795 6.15438 1.46336 30.0961 -18.8 5.92388 1.40063 29.7388 -18.805 5.70193 1.34928 29.384 -18.81 5.48869 1.30879 29.0317 -18.815 5.28425 1.27913 28.6819 -18.82 5.0886 1.25948 28.3348 -18.825 4.90173 1.24904 27.9906 -18.83 4.72363 1.24705 27.6497 -18.835 4.55423 1.25281 27.3122 -18.84 4.39348 1.26567 26.9783 -18.845 4.24128 1.28499 26.6482 -18.85 4.09756 1.31022 26.322 -18.855 3.96217 1.34082 25.9999 -18.86 3.83501 1.3763 25.6818 -18.865 3.7159 1.41622 25.3679 -18.87 3.60469 1.4602 25.0582 -18.875 3.50118 1.50787 24.7526 -18.88 3.40518 1.55892 24.4511 -18.885 3.31639 1.61315 24.1538 -18.89 3.23434 1.6705 23.8606 -18.895 3.15891 1.73078 23.5716 -18.9 3.09 1.79379 23.2869 -18.905 3.0275 1.85935 23.0063 -18.91 2.9713 1.92733 22.7298 -18.915 2.92128 1.99761 22.4576 -18.92 2.87731 2.07011 22.1894 -18.925 2.83926 2.14476 21.9255 -18.93 2.80699 2.22155 21.6657 -18.935 2.78034 2.30047 21.4101 -18.94 2.75917 2.38154 21.1587 -18.945 2.7433 2.46483 20.9116 -18.95 2.73258 2.55041 20.6687 -18.955 2.72681 2.63839 20.4301 -18.96 2.72582 2.72892 20.1958 -18.965 2.72942 2.82216 19.9659 -18.97 2.7374 2.9183 19.7404 -18.975 2.74956 3.01758 19.5193 -18.98 2.76569 3.12023 19.3028 -18.985 2.78562 3.22648 19.0909 -18.99 2.80964 3.33625 18.8837 -18.995 2.8378 3.4496 18.6813 -19 2.87015 3.56668 18.4837 -19.005 2.9067 3.68763 18.291 -19.01 2.94748 3.81261 18.1034 -19.015 2.99253 3.94178 17.9208 -19.02 3.04186 4.07531 17.7435 -19.025 3.09552 4.2134 17.5717 -19.03 3.15351 4.35622 17.4054 -19.035 3.21589 4.504 17.2449 -19.04 3.28267 4.65692 17.0903 -19.045 3.35388 4.81523 16.9419 -19.05 3.42956 4.97915 16.7999 -19.055 3.50974 5.14892 16.6646 -19.06 3.59444 5.32478 16.5362 -19.065 3.68369 5.50701 16.415 -19.07 3.77754 5.69586 16.3014 -19.075 3.876 5.89162 16.1956 -19.08 3.9792 6.09419 16.098 -19.085 4.08733 6.30354 16.009 -19.09 4.20057 6.52007 15.929 -19.095 4.31906 6.74409 15.8584 -19.1 4.44295 6.9759 15.7977 -19.105 4.57237 7.2157 15.7474 -19.11 4.70746 7.46367 15.708 -19.115 4.84831 7.71991 15.6802 -19.12 4.99505 7.98447 15.6645 -19.125 5.14777 8.25735 15.6616 -19.13 5.30655 8.53849 15.6722 -19.135 5.47148 8.82778 15.697 -19.14 5.64263 9.12505 15.7368 -19.145 5.82005 9.43007 15.7923 -19.15 6.00379 9.74255 15.8644 -19.155 6.1939 10.0622 15.954 -19.16 6.39041 10.3885 16.0619 -19.165 6.59334 10.7211 16.1891 -19.17 6.8027 11.0596 16.3367 -19.175 7.01851 11.4032 16.5055 -19.18 7.24074 11.7514 16.6967 -19.185 7.46927 12.1036 16.911 -19.19 7.70353 12.459 17.148 -19.195 7.94347 12.816 17.4095 -19.2 8.18898 13.1733 17.697 -19.205 8.4399 13.529 18.0118 -19.21 8.69593 13.8813 18.3551 -19.215 8.9567 14.2285 18.7277 -19.22 9.22173 14.5683 19.1302 -19.225 9.49043 14.8988 19.5628 -19.23 9.76213 15.2175 20.0257 -19.235 10.036 15.5221 20.5186 -19.24 10.3113 15.8101 21.0411 -19.245 10.5869 16.0788 21.5924 -19.25 10.8619 16.3256 22.1716 -19.255 11.1349 16.5475 22.7774 -19.26 11.4048 16.7415 23.4084 -19.265 11.6702 16.9047 24.0627 -19.27 11.9296 17.0336 24.7384 -19.275 12.1814 17.1251 25.4331 -19.28 12.4241 17.1756 26.1446 -19.285 12.6572 17.1826 26.8712 -19.29 12.8787 17.1443 27.6079 -19.295 13.0867 17.0595 28.3487 -19.3 13.2791 16.9272 29.0882 -19.305 13.454 16.7471 29.8207 -19.31 13.61 16.5192 30.5413 -19.315 13.7455 16.2439 31.2449 -19.32 13.8592 15.922 31.927 -19.325 13.9501 15.5547 32.5831 -19.33 14.0171 15.1438 33.209 -19.335 14.0596 14.6914 33.8009 -19.34 14.0768 14.1999 34.355 -19.345 14.0685 13.6724 34.8679 -19.35 14.0343 13.1123 35.3365 -19.355 13.9742 12.5232 35.7578 -19.36 13.8882 11.9095 36.1291 -19.365 13.7758 11.2777 36.4461 -19.37 13.6376 10.6345 36.7077 -19.375 13.4747 9.98544 36.9146 -19.38 13.2883 9.33578 37.0676 -19.385 13.0797 8.69034 37.1681 -19.39 12.8504 8.05354 37.2174 -19.395 12.6016 7.42942 37.2175 -19.4 12.3351 6.82164 37.1702 -19.405 12.0523 6.23347 37.0778 -19.41 11.7551 5.66778 36.9428 -19.415 11.445 5.12706 36.7681 -19.42 11.1241 4.61341 36.5566 -19.425 10.7941 4.12854 36.3117 -19.43 10.4571 3.67377 36.037 -19.435 10.1151 3.25004 35.7361 -19.44 9.77035 2.85786 35.4133 -19.445 9.42423 2.49662 35.0722 -19.45 9.07813 2.16554 34.7154 -19.455 8.73352 1.864 34.3453 -19.46 8.39172 1.59122 33.9643 -19.465 8.05398 1.34628 33.5744 -19.47 7.72141 1.12813 33.1777 -19.475 7.39504 0.935583 32.776 -19.48 7.07576 0.767293 32.371 -19.485 6.76437 0.621785 31.9643 -19.49 6.46157 0.497441 31.5573 -19.495 6.16793 0.392503 31.1513 -19.5 5.88392 0.305069 30.7473 -19.505 5.6099 0.2331 30.3464 -19.51 5.34613 0.174412 29.9495 -19.515 5.09278 0.127853 29.5568 -19.52 4.84991 0.0933234 29.1681 -19.525 4.6175 0.0696959 28.7838 -19.53 4.39547 0.0559017 28.404 -19.535 4.18376 0.0509365 28.0289 -19.54 3.98225 0.0538598 27.6586 -19.545 3.79081 0.0637954 27.2933 -19.55 3.60929 0.0799312 26.933 -19.555 3.43752 0.101519 26.5778 -19.56 3.27529 0.127876 26.2277 -19.565 3.12238 0.158382 25.8826 -19.57 2.97854 0.192481 25.5425 -19.575 2.84351 0.229682 25.2074 -19.58 2.71698 0.269558 24.877 -19.585 2.59859 0.311766 24.5514 -19.59 2.48785 0.356057 24.2304 -19.595 2.38455 0.402146 23.9141 -19.6 2.28849 0.44977 23.6023 -19.605 2.19944 0.498702 23.2949 -19.61 2.11718 0.54874 22.992 -19.615 2.04149 0.599716 22.6934 -19.62 1.97214 0.65149 22.3991 -19.625 1.90889 0.703954 22.109 -19.63 1.85148 0.757031 21.823 -19.635 1.79968 0.810672 21.5411 -19.64 1.75321 0.86486 21.2632 -19.645 1.71183 0.919609 20.9893 -19.65 1.67525 0.974962 20.7193 -19.655 1.64321 1.03099 20.4532 -19.66 1.61541 1.08781 20.191 -19.665 1.59158 1.14554 19.9325 -19.67 1.57142 1.20435 19.6777 -19.675 1.55486 1.26428 19.4267 -19.68 1.54192 1.32531 19.1793 -19.685 1.53254 1.38749 18.9357 -19.69 1.52665 1.45088 18.6957 -19.695 1.52421 1.51557 18.4593 -19.7 1.52513 1.58162 18.2266 -19.705 1.52937 1.64917 17.9974 -19.71 1.53685 1.71832 17.7719 -19.715 1.5475 1.78921 17.5499 -19.72 1.56127 1.86198 17.3316 -19.725 1.57807 1.93681 17.1169 -19.73 1.59784 2.01387 16.9058 -19.735 1.62052 2.09336 16.6983 -19.74 1.64601 2.17547 16.4944 -19.745 1.67427 2.26043 16.2943 -19.75 1.70519 2.34848 16.0978 -19.755 1.73879 2.43982 15.9051 -19.76 1.77522 2.53453 15.7162 -19.765 1.81455 2.63277 15.5311 -19.77 1.85682 2.73473 15.3499 -19.775 1.9021 2.8406 15.1727 -19.78 1.95045 2.95059 14.9994 -19.785 2.00193 3.06491 14.8303 -19.79 2.05663 3.18378 14.6653 -19.795 2.11461 3.30744 14.5046 -19.8 2.17596 3.43614 14.3484 -19.805 2.24077 3.57012 14.1967 -19.81 2.30913 3.70965 14.0497 -19.815 2.38112 3.85501 13.9077 -19.82 2.45686 4.00648 13.7707 -19.825 2.53644 4.16436 13.6389 -19.83 2.61998 4.32894 13.5127 -19.835 2.70759 4.50055 13.3921 -19.84 2.79941 4.67932 13.2776 -19.845 2.89568 4.8651 13.1696 -19.85 2.99658 5.05842 13.0682 -19.855 3.10227 5.25982 12.9738 -19.86 3.21294 5.46976 12.8866 -19.865 3.32874 5.68872 12.8069 -19.87 3.44988 5.91709 12.7352 -19.875 3.57652 6.15524 12.6719 -19.88 3.70886 6.40352 12.6176 -19.885 3.84708 6.6622 12.5728 -19.89 3.99138 6.93154 12.5381 -19.895 4.14195 7.21176 12.5143 -19.9 4.299 7.50303 12.5021 -19.905 4.46272 7.80548 12.5024 -19.91 4.63331 8.11921 12.5159 -19.915 4.811 8.44427 12.5436 -19.92 4.99598 8.78069 12.5865 -19.925 5.18848 9.12843 12.6457 -19.93 5.3887 9.48744 12.7222 -19.935 5.59688 9.85761 12.8172 -19.94 5.81323 10.2388 12.9319 -19.945 6.03798 10.6309 13.0676 -19.95 6.27137 11.0335 13.2256 -19.955 6.51359 11.4465 13.4072 -19.96 6.76404 11.8688 13.6128 -19.965 7.02269 12.2995 13.844 -19.97 7.2898 12.7379 14.1033 -19.975 7.56552 13.1832 14.3928 -19.98 7.84986 13.6338 14.7146 -19.985 8.14271 14.0884 15.0704 -19.99 8.44381 14.545 15.4617 -19.995 8.75281 15.0014 15.8899 -20 9.06921 15.4552 16.356 -20.005 9.39239 15.9035 16.8611 -20.01 9.7216 16.3433 17.4058 -20.015 10.056 16.7712 17.9907 -20.02 10.3945 17.1836 18.6159 -20.025 10.736 17.5766 19.2816 -20.03 11.0794 17.9457 19.9876 -20.035 11.4231 18.2866 20.7336 -20.04 11.7657 18.5943 21.519 -20.045 12.1056 18.8637 22.343 -20.05 12.4412 19.0903 23.2048 -20.055 12.7711 19.2712 24.1016 -20.06 13.0927 19.4002 25.0278 -20.065 13.4032 19.4718 25.9773 -20.07 13.7001 19.4813 26.944 -20.075 13.9808 19.4251 27.9217 -20.08 14.2429 19.3001 28.9039 -20.085 14.4841 19.1044 29.8839 -20.09 14.7022 18.8369 30.8549 -20.095 14.8948 18.4973 31.8098 -20.1 15.0601 18.0862 32.7415 -20.105 15.1958 17.6052 33.6426 -20.11 15.3003 17.0567 34.5056 -20.115 15.3715 16.4439 35.3227 -20.12 15.4079 15.771 36.086 -20.125 15.4079 15.0416 36.786 -20.13 15.3709 14.2608 37.4135 -20.135 15.297 13.4403 37.9666 -20.14 15.1866 12.5911 38.4445 -20.145 15.0402 11.7235 38.8468 -20.15 14.8587 10.8469 39.1735 -20.155 14.6433 9.96963 39.4251 -20.16 14.3954 9.09928 39.6026 -20.165 14.1168 8.24248 39.7074 -20.17 13.8096 7.40494 39.7415 -20.175 13.4761 6.5915 39.7071 -20.18 13.1189 5.80608 39.6072 -20.185 12.741 5.05172 39.4451 -20.19 12.3455 4.33054 39.2245 -20.195 11.9361 3.64376 38.9497 -20.2 11.5154 2.99462 38.6274 -20.205 11.0845 2.39044 38.2675 -20.21 10.6464 1.8321 37.8753 -20.215 10.2036 1.31972 37.4557 -20.22 9.75864 0.852956 37.0133 -20.225 9.31382 0.430986 36.5524 -20.23 8.87126 0.0525165 36.0773 -20.235 8.43288 -0.284219 35.5917 -20.24 8.00041 -0.581458 35.0993 -20.245 7.57538 -0.841912 34.6036 -20.25 7.15916 -1.06876 34.1077 -20.255 6.75291 -1.26567 33.6146 -20.26 6.35767 -1.43497 33.1255 -20.265 5.9742 -1.57806 32.6407 -20.27 5.60303 -1.69734 32.1614 -20.275 5.2446 -1.79512 31.6884 -20.28 4.89927 -1.87359 31.2223 -20.285 4.5673 -1.93484 30.7639 -20.29 4.24885 -1.98084 30.3134 -20.295 3.944 -2.01346 29.8713 -20.3 3.65274 -2.03446 29.4375 -20.305 3.37495 -2.04548 29.0123 -20.31 3.11045 -2.04807 28.5953 -20.315 2.85894 -2.04364 28.1863 -20.32 2.62004 -2.03342 27.7853 -20.325 2.39337 -2.01837 27.3922 -20.33 2.17853 -1.99939 27.0066 -20.335 1.97512 -1.9773 26.6285 -20.34 1.78275 -1.95286 26.2574 -20.345 1.60099 -1.92679 25.8933 -20.35 1.42942 -1.89973 25.5359 -20.355 1.2676 -1.87226 25.1849 -20.36 1.11509 -1.84493 24.8402 -20.365 0.971431 -1.81818 24.5015 -20.37 0.836158 -1.79243 24.1688 -20.375 0.708798 -1.76803 23.8417 -20.38 0.588865 -1.74525 23.5202 -20.385 0.475866 -1.72432 23.2041 -20.39 0.369297 -1.70541 22.8931 -20.395 0.268644 -1.68861 22.5872 -20.4 0.173465 -1.67405 22.2862 -20.405 0.083457 -1.66188 21.9899 -20.41 -0.00168255 -1.65224 21.6982 -20.415 -0.0822596 -1.64524 21.4112 -20.42 -0.158581 -1.64097 21.1285 -20.425 -0.230957 -1.63952 20.8503 -20.43 -0.299698 -1.64095 20.5763 -20.435 -0.365116 -1.64533 20.3066 -20.44 -0.427526 -1.65269 20.0409 -20.445 -0.487244 -1.66305 19.7794 -20.45 -0.544588 -1.67643 19.5218 -20.455 -0.599878 -1.69282 19.2681 -20.46 -0.653436 -1.7122 19.0182 -20.465 -0.705575 -1.73456 18.7722 -20.47 -0.756471 -1.75994 18.5299 -20.475 -0.806266 -1.78844 18.2913 -20.48 -0.855119 -1.82012 18.0565 -20.485 -0.903197 -1.85504 17.8253 -20.49 -0.950667 -1.89326 17.5978 -20.495 -0.997704 -1.93486 17.374 -20.5 -1.04448 -1.9799 17.1538 -20.505 -1.09119 -2.02843 16.9373 -20.51 -1.13801 -2.08052 16.7244 -20.515 -1.18513 -2.13623 16.5151 -20.52 -1.23274 -2.19561 16.3094 -20.525 -1.28105 -2.25873 16.1073 -20.53 -1.33026 -2.32564 15.9089 -20.535 -1.38056 -2.39642 15.714 -20.54 -1.43208 -2.4712 15.5229 -20.545 -1.4849 -2.55014 15.3355 -20.55 -1.53913 -2.63342 15.1518 -20.555 -1.59488 -2.72121 14.972 -20.56 -1.65226 -2.81368 14.796 -20.565 -1.71141 -2.91101 14.6239 -20.57 -1.77247 -3.01338 14.4558 -20.575 -1.83558 -3.12097 14.2918 -20.58 -1.90091 -3.23397 14.1319 -20.585 -1.96862 -3.35257 13.9764 -20.59 -2.0389 -3.47697 13.8253 -20.595 -2.11192 -3.60736 13.6788 -20.6 -2.1879 -3.74395 13.5369 -20.605 -2.26704 -3.88693 13.3999 -20.61 -2.34955 -4.03651 13.2679 -20.615 -2.43566 -4.19287 13.1411 -20.62 -2.5255 -4.35624 13.0198 -20.625 -2.61922 -4.52699 12.9042 -20.63 -2.71695 -4.70551 12.7946 -20.635 -2.81886 -4.89218 12.6912 -20.64 -2.92512 -5.08736 12.5943 -20.645 -3.03589 -5.29139 12.5042 -20.65 -3.15138 -5.5046 12.4214 -20.655 -3.27178 -5.72731 12.3463 -20.66 -3.39731 -5.95981 12.2793 -20.665 -3.52818 -6.2024 12.221 -20.67 -3.66463 -6.45534 12.1719 -20.675 -3.8069 -6.71889 12.1328 -20.68 -3.95524 -6.99329 12.1041 -20.685 -4.10992 -7.27877 12.0867 -20.69 -4.27121 -7.57553 12.0812 -20.695 -4.4394 -7.88377 12.0885 -20.7 -4.61479 -8.20368 12.1094 -20.705 -4.79767 -8.53542 12.1448 -20.71 -4.98821 -8.87875 12.1954 -20.715 -5.18587 -9.23205 12.2616 -20.72 -5.39107 -9.59604 12.3451 -20.725 -5.60429 -9.97153 12.4474 -20.73 -5.82592 -10.3591 12.5702 -20.735 -6.0563 -10.7589 12.715 -20.74 -6.29567 -11.171 12.8834 -20.745 -6.5442 -11.5951 13.077 -20.75 -6.80198 -12.0305 13.2972 -20.755 -7.06901 -12.4765 13.5456 -20.76 -7.34525 -12.9318 13.8236 -20.765 -7.63052 -13.3951 14.1326 -20.77 -7.92462 -13.8646 14.4741 -20.775 -8.22723 -14.3382 14.8494 -20.78 -8.53797 -14.8138 15.26 -20.785 -8.85639 -15.2888 15.7071 -20.79 -9.18193 -15.7603 16.192 -20.795 -9.51398 -16.2252 16.7162 -20.8 -9.85185 -16.6801 17.2807 -20.805 -10.1948 -17.1214 17.8869 -20.81 -10.5418 -17.5449 18.536 -20.815 -10.8922 -17.9466 19.2291 -20.82 -11.2448 -18.3218 19.9675 -20.825 -11.5984 -18.6663 20.7518 -20.83 -11.9514 -18.9779 21.5788 -20.835 -12.3014 -19.2498 22.4452 -20.84 -12.6462 -19.4754 23.3478 -20.845 -12.9836 -19.6483 24.283 -20.85 -13.3112 -19.7634 25.2463 -20.855 -13.6266 -19.8157 26.2329 -20.86 -13.9276 -19.8016 27.2372 -20.865 -14.2116 -19.7176 28.2533 -20.87 -14.4762 -19.5615 29.2745 -20.875 -14.7189 -19.3313 30.2936 -20.88 -14.9371 -19.0262 31.3029 -20.885 -15.1284 -18.6459 32.294 -20.89 -15.29 -18.1907 33.2581 -20.895 -15.4194 -17.662 34.1857 -20.9 -15.5145 -17.0585 35.0661 -20.905 -15.5743 -16.3821 35.8898 -20.91 -15.5974 -15.6448 36.6509 -20.915 -15.5829 -14.8581 37.3444 -20.92 -15.53 -14.0325 37.9661 -20.925 -15.4386 -13.1776 38.5125 -20.93 -15.309 -12.3025 38.9811 -20.935 -15.1418 -11.4151 39.3701 -20.94 -14.9381 -10.5228 39.6785 -20.945 -14.6995 -9.6318 39.9063 -20.95 -14.4279 -8.74778 40.0541 -20.955 -14.1257 -7.87542 40.1234 -20.96 -13.7958 -7.01863 40.1165 -20.965 -13.4413 -6.18046 40.0365 -20.97 -13.0659 -5.3634 39.8875 -20.975 -12.6706 -4.58 39.6775 -20.98 -12.2572 -3.83883 39.4138 -20.985 -11.8289 -3.14268 39.1019 -20.99 -11.389 -2.49362 38.7473 -20.995 -10.9403 -1.89299 38.3554 -21 -10.4855 -1.34139 37.9315 -21.005 -10.0273 -0.838711 37.481 -21.01 -9.5681 -0.384107 37.0091 -21.015 -9.11016 0.0239907 36.5212 -21.02 -8.6556 0.387879 36.0223 -21.025 -8.20638 0.710581 35.5175 -21.03 -7.76431 0.995757 35.0119 -21.035 -7.33095 1.24531 34.5063 -21.04 -6.90746 1.46129 34.0017 -21.045 -6.49483 1.64636 33.4997 -21.05 -6.09392 1.80311 33.002 -21.055 -5.70545 1.93405 32.5099 -21.06 -5.33003 2.04163 32.0246 -21.065 -4.96813 2.12821 31.5469 -21.07 -4.6201 2.19611 31.0775 -21.075 -4.28617 2.24755 30.6169 -21.08 -3.96643 2.2847 30.1652 -21.085 -3.66084 2.30966 29.7224 -21.09 -3.36925 2.3244 29.2884 -21.095 -3.09147 2.33034 28.8633 -21.1 -2.82716 2.32866 28.4469 -21.105 -2.57596 2.32057 28.0391 -21.11 -2.33749 2.30719 27.6396 -21.115 -2.11135 2.28955 27.2481 -21.12 -1.89713 2.26863 26.8644 -21.125 -1.69441 2.2453 26.4884 -21.13 -1.50274 2.22036 26.1196 -21.135 -1.32167 2.19454 25.758 -21.14 -1.15074 2.16848 25.4033 -21.145 -0.989474 2.14274 25.0552 -21.15 -0.837367 2.11781 24.7136 -21.155 -0.693915 2.09409 24.3782 -21.16 -0.558596 2.0719 24.0488 -21.165 -0.430874 2.0515 23.7253 -21.17 -0.310199 2.03309 23.4072 -21.175 -0.196128 2.01693 23.0946 -21.18 -0.0882897 2.00322 22.7873 -21.185 0.0136853 1.99215 22.4851 -21.19 0.110169 1.98387 22.1878 -21.195 0.201534 1.97853 21.8955 -21.2 0.288156 1.97625 21.6079 -21.205 0.370408 1.97713 21.325 -21.21 0.448668 1.98125 21.0467 -21.215 0.523313 1.98867 20.7728 -21.22 0.594722 1.99944 20.5034 -21.225 0.663275 2.01357 20.2381 -21.23 0.729353 2.03106 19.9771 -21.235 0.793324 2.05191 19.7203 -21.24 0.85541 2.07619 19.4675 -21.245 0.915804 2.10397 19.2188 -21.25 0.974711 2.13534 18.9742 -21.255 1.03234 2.17036 18.7336 -21.26 1.0889 2.2091 18.497 -21.265 1.14461 2.25163 18.2644 -21.27 1.19968 2.298 18.0358 -21.275 1.25435 2.34828 17.8111 -21.28 1.30883 2.40254 17.5903 -21.285 1.36336 2.46081 17.3736 -21.29 1.41817 2.52316 17.1607 -21.295 1.4735 2.58963 16.9518 -21.3 1.52958 2.66028 16.7469 -21.305 1.58664 2.73518 16.546 -21.31 1.64479 2.81448 16.3491 -21.315 1.70415 2.89835 16.1563 -21.32 1.76483 2.98695 15.9676 -21.325 1.82696 3.08046 15.7831 -21.33 1.89069 3.17903 15.603 -21.335 1.95617 3.28285 15.4271 -21.34 2.02356 3.39209 15.2558 -21.345 2.09302 3.50692 15.089 -21.35 2.16474 3.62752 14.9268 -21.355 2.23891 3.75407 14.7695 -21.36 2.31573 3.88675 14.6172 -21.365 2.39541 4.02573 14.47 -21.37 2.47817 4.17121 14.328 -21.375 2.56424 4.32336 14.1915 -21.38 2.65386 4.48238 14.0606 -21.385 2.74719 4.64839 13.9356 -21.39 2.84437 4.82173 13.8169 -21.395 2.94554 5.00279 13.7046 -21.4 3.05085 5.1919 13.5991 -21.405 3.16047 5.38942 13.5005 -21.41 3.27457 5.59565 13.4094 -21.415 3.39332 5.8109 13.3261 -21.42 3.51693 6.03545 13.2511 -21.425 3.64559 6.26954 13.1849 -21.43 3.77951 6.51341 13.1279 -21.435 3.91892 6.76729 13.0808 -21.44 4.06402 7.03137 13.0442 -21.445 4.21508 7.30583 13.0188 -21.45 4.37232 7.59083 13.0052 -21.455 4.53601 7.8865 13.0042 -21.46 4.70641 8.19296 13.0166 -21.465 4.8838 8.51031 13.0432 -21.47 5.06845 8.83862 13.085 -21.475 5.26044 9.17756 13.1425 -21.48 5.45929 9.5258 13.2161 -21.485 5.66537 9.88391 13.3073 -21.49 5.8791 10.2524 13.4179 -21.495 6.10082 10.6316 13.5495 -21.5 6.33078 11.0214 13.7035 -21.505 6.56918 11.4216 13.8816 -21.51 6.81611 11.8317 14.0852 -21.515 7.07159 12.251 14.3156 -21.52 7.33557 12.6784 14.5743 -21.525 7.6079 13.1126 14.8624 -21.53 7.88839 13.5521 15.1814 -21.535 8.17672 13.9951 15.5323 -21.54 8.47254 14.4396 15.9162 -21.545 8.77538 14.8832 16.3343 -21.55 9.08473 15.3234 16.7877 -21.555 9.39996 15.7573 17.2772 -21.56 9.72039 16.1818 17.8037 -21.565 10.0453 16.5937 18.3683 -21.57 10.3737 16.9893 18.9716 -21.575 10.7048 17.3648 19.6144 -21.58 11.0376 17.716 20.2974 -21.585 11.3709 18.0385 21.0214 -21.59 11.7036 18.3295 21.7857 -21.595 12.0339 18.5859 22.5867 -21.6 12.3594 18.8012 23.4213 -21.605 12.6782 18.9699 24.2857 -21.61 12.988 19.0867 25.176 -21.615 13.2867 19.1473 26.0876 -21.62 13.572 19.1481 27.0157 -21.625 13.8419 19.0859 27.9549 -21.63 14.094 18.9585 28.8996 -21.635 14.3263 18.7643 29.8434 -21.64 14.5365 18.5023 30.7799 -21.645 14.7224 18.1723 31.702 -21.65 14.8819 17.7748 32.6023 -21.655 15.0127 17.3108 33.473 -21.66 15.1126 16.7822 34.3057 -21.665 15.1798 16.1891 35.0909 -21.67 15.2137 15.5334 35.8199 -21.675 15.2133 14.8259 36.4884 -21.68 15.1779 14.0772 37.093 -21.685 15.1074 13.2967 37.6305 -21.69 15.0017 12.4934 38.0989 -21.695 14.8614 11.6752 38.4963 -21.7 14.6872 10.8497 38.8218 -21.705 14.4803 10.0232 39.0749 -21.71 14.242 9.20148 39.2559 -21.715 13.9743 8.38959 39.3655 -21.72 13.6794 7.5917 39.4053 -21.725 13.3597 6.81123 39.3774 -21.73 13.0182 6.05084 39.2845 -21.735 12.6581 5.31242 39.1299 -21.74 12.282 4.6005 38.919 -21.745 11.8903 3.92668 38.6603 -21.75 11.4858 3.29377 38.3591 -21.755 11.0713 2.70337 38.02 -21.76 10.6495 2.15651 37.6478 -21.765 10.2229 1.65366 37.247 -21.77 9.79374 1.19468 36.8222 -21.775 9.36423 0.778892 36.3777 -21.78 8.9364 0.405006 35.9179 -21.785 8.51209 0.0711746 35.447 -21.79 8.09302 -0.225031 34.9692 -21.795 7.68073 -0.486616 34.4886 -21.8 7.27662 -0.716898 34.0088 -21.805 6.88191 -0.9171 33.5298 -21.81 6.49744 -1.08919 33.0525 -21.815 6.12393 -1.23546 32.5784 -21.82 5.76201 -1.35813 32.1085 -21.825 5.41218 -1.45936 31.644 -21.83 5.07486 -1.54121 31.1856 -21.835 4.75036 -1.60569 30.7339 -21.84 4.43891 -1.65472 30.2896 -21.845 4.14061 -1.69014 29.8529 -21.85 3.85548 -1.71373 29.424 -21.855 3.58342 -1.72719 29.0028 -21.86 3.32425 -1.73214 28.5891 -21.865 3.0777 -1.7298 28.183 -21.87 2.84345 -1.72113 27.7844 -21.875 2.62116 -1.70714 27.3933 -21.88 2.41046 -1.68873 27.0093 -21.885 2.21099 -1.66675 26.6323 -21.89 2.02235 -1.64199 26.2621 -21.895 1.84417 -1.61516 25.8985 -21.9 1.67604 -1.58692 25.5414 -21.905 1.51754 -1.55786 25.1905 -21.91 1.36825 -1.52848 24.8457 -21.915 1.22774 -1.49925 24.5067 -21.92 1.09555 -1.47056 24.1735 -21.925 0.971237 -1.44271 23.8458 -21.93 0.854324 -1.41597 23.5235 -21.935 0.744336 -1.39052 23.2063 -21.94 0.640792 -1.36652 22.8942 -21.945 0.543319 -1.34415 22.587 -21.95 0.451591 -1.3236 22.2845 -21.955 0.365285 -1.30498 21.9866 -21.96 0.284078 -1.28843 21.6933 -21.965 0.207648 -1.27404 21.4044 -21.97 0.135673 -1.26189 21.1199 -21.975 0.0678298 -1.25206 20.8396 -21.98 0.00379798 -1.24458 20.5634 -21.985 -0.056744 -1.23948 20.2912 -21.99 -0.114117 -1.23678 20.0231 -21.995 -0.168641 -1.23647 19.7588 -22 -0.220637 -1.23853 19.4983 -22.005 -0.270397 -1.24292 19.2416 -22.01 -0.318091 -1.24971 18.9885 -22.015 -0.363889 -1.25894 18.7391 -22.02 -0.407965 -1.27064 18.4934 -22.025 -0.450494 -1.28484 18.2511 -22.03 -0.491655 -1.30157 18.0124 -22.035 -0.531626 -1.32086 17.7772 -22.04 -0.570587 -1.34273 17.5454 -22.045 -0.60872 -1.3672 17.317 -22.05 -0.64621 -1.39428 17.092 -22.055 -0.683241 -1.424 16.8703 -22.06 -0.720001 -1.45635 16.6519 -22.065 -0.756677 -1.49134 16.4368 -22.07 -0.79345 -1.529 16.2249 -22.075 -0.83043 -1.56939 16.0162 -22.08 -0.867698 -1.61262 15.8108 -22.085 -0.905344 -1.65877 15.6086 -22.09 -0.943462 -1.70795 15.4096 -22.095 -0.982156 -1.76025 15.2137 -22.1 -1.02153 -1.81577 15.0211 -22.105 -1.06171 -1.87461 14.8317 -22.11 -1.10281 -1.93688 14.6455 -22.115 -1.14497 -2.00269 14.4625 -22.12 -1.18831 -2.07214 14.2828 -22.125 -1.23298 -2.14535 14.1064 -22.13 -1.27913 -2.22243 13.9332 -22.135 -1.32692 -2.30348 13.7633 -22.14 -1.37651 -2.38864 13.5968 -22.145 -1.42806 -2.47802 13.4337 -22.15 -1.48168 -2.57183 13.274 -22.155 -1.53744 -2.67028 13.1179 -22.16 -1.59545 -2.77361 12.9654 -22.165 -1.6558 -2.88205 12.8165 -22.17 -1.7186 -2.99584 12.6713 -22.175 -1.78399 -3.11523 12.53 -22.18 -1.85209 -3.24047 12.3927 -22.185 -1.92305 -3.37181 12.2595 -22.19 -1.99704 -3.50952 12.1305 -22.195 -2.07422 -3.65386 12.006 -22.2 -2.15476 -3.8051 11.8861 -22.205 -2.23888 -3.96353 11.771 -22.21 -2.32676 -4.12943 11.661 -22.215 -2.41862 -4.30308 11.5563 -22.22 -2.51468 -4.48478 11.4571 -22.225 -2.6152 -4.67482 11.3638 -22.23 -2.7204 -4.87352 11.2766 -22.235 -2.8305 -5.08095 11.196 -22.24 -2.94568 -5.29728 11.1225 -22.245 -3.06614 -5.52317 11.0564 -22.25 -3.19211 -5.75922 10.9981 -22.255 -3.3238 -6.00601 10.9479 -22.26 -3.46145 -6.26405 10.9065 -22.265 -3.60529 -6.53377 10.8744 -22.27 -3.75555 -6.81559 10.8523 -22.275 -3.91249 -7.10986 10.8409 -22.28 -4.07634 -7.41686 10.8409 -22.285 -4.24736 -7.73684 10.8534 -22.29 -4.4258 -8.06998 10.8792 -22.295 -4.61192 -8.41642 10.9194 -22.3 -4.80598 -8.77624 10.9752 -22.305 -5.00826 -9.14946 11.0476 -22.31 -5.21903 -9.53605 11.138 -22.315 -5.43856 -9.93594 11.2476 -22.32 -5.66713 -10.349 11.3781 -22.325 -5.90504 -10.775 11.5307 -22.33 -6.15257 -11.2138 11.7071 -22.335 -6.41002 -11.6649 11.9089 -22.34 -6.67745 -12.128 12.1374 -22.345 -6.95404 -12.6015 12.3931 -22.35 -7.24009 -13.0848 12.6788 -22.355 -7.53593 -13.5771 12.9974 -22.36 -7.84171 -14.0769 13.3515 -22.365 -8.15742 -14.5828 13.7435 -22.37 -8.48292 -15.0925 14.1754 -22.375 -8.81786 -15.6038 14.6492 -22.38 -9.16177 -16.1137 15.1664 -22.385 -9.514 -16.6192 15.7281 -22.39 -9.87376 -17.1165 16.3355 -22.395 -10.2401 -17.6017 16.9893 -22.4 -10.6118 -18.0704 17.69 -22.405 -10.9876 -18.5179 18.4378 -22.41 -11.3662 -18.939 19.2325 -22.415 -11.7458 -19.3283 20.0739 -22.42 -12.1248 -19.6797 20.9614 -22.425 -12.5011 -19.9871 21.894 -22.43 -12.8728 -20.2436 22.8707 -22.435 -13.2382 -20.4452 23.8897 -22.44 -13.5947 -20.5863 24.945 -22.445 -13.9391 -20.6599 26.0286 -22.45 -14.268 -20.6599 27.1324 -22.455 -14.5783 -20.5816 28.2485 -22.46 -14.867 -20.4213 29.3684 -22.465 -15.1313 -20.1767 30.4838 -22.47 -15.3685 -19.8463 31.5861 -22.475 -15.5759 -19.4301 32.6665 -22.48 -15.751 -18.9292 33.7163 -22.485 -15.8915 -18.3457 34.7263 -22.49 -15.9953 -17.683 35.6876 -22.495 -16.0601 -16.9458 36.5908 -22.5 -16.0841 -16.1397 37.4265 -22.505 -16.0656 -15.27 38.183 -22.51 -16.0041 -14.3449 38.8501 -22.515 -15.9 -13.3787 39.4267 -22.52 -15.7537 -12.3852 39.9125 -22.525 -15.5662 -11.3765 40.308 -22.53 -15.3389 -10.3639 40.6139 -22.535 -15.0733 -9.35748 40.8317 -22.54 -14.7714 -8.366 40.9634 -22.545 -14.4356 -7.39715 41.0115 -22.55 -14.0686 -6.45742 40.9792 -22.555 -13.6734 -5.55213 40.87 -22.56 -13.2533 -4.68543 40.6883 -22.565 -12.8123 -3.86028 40.4388 -22.57 -12.3542 -3.07848 40.1267 -22.575 -11.8832 -2.34206 39.7592 -22.58 -11.4007 -1.65911 39.3486 -22.585 -10.9097 -1.03125 38.9025 -22.59 -10.4135 -0.45834 38.427 -22.595 -9.91496 0.0603576 37.9278 -22.6 -9.41687 0.526142 37.4103 -22.605 -8.92168 0.940894 36.8796 -22.61 -8.43162 1.30707 36.3402 -22.615 -7.9487 1.62772 35.7964 -22.62 -7.47468 1.90643 35.252 -22.625 -7.01109 2.14742 34.7107 -22.63 -6.55924 2.35465 34.175 -22.635 -6.12023 2.52984 33.6457 -22.64 -5.69482 2.67594 33.1238 -22.645 -5.28361 2.7959 32.6105 -22.65 -4.88709 2.89252 32.1066 -22.655 -4.50564 2.96845 31.6128 -22.66 -4.1395 3.02618 31.1296 -22.665 -3.78879 3.06808 30.6574 -22.67 -3.45352 3.09635 30.196 -22.675 -3.13357 3.11305 29.7455 -22.68 -2.82871 3.1201 29.3056 -22.685 -2.53858 3.11929 28.876 -22.69 -2.26279 3.11207 28.4565 -22.695 -2.0009 3.09962 28.0469 -22.7 -1.75243 3.08303 27.6468 -22.705 -1.51692 3.06334 27.2557 -22.71 -1.29388 3.04148 26.8734 -22.715 -1.08281 3.01833 26.4994 -22.72 -0.883192 2.9947 26.1336 -22.725 -0.694512 2.97131 25.7756 -22.73 -0.516232 2.94882 25.425 -22.735 -0.347804 2.92779 25.0817 -22.74 -0.18867 2.90873 24.7454 -22.745 -0.0382577 2.89208 24.4158 -22.75 0.104016 2.87818 24.0927 -22.755 0.238747 2.86732 23.776 -22.76 0.366542 2.8597 23.4653 -22.765 0.488017 2.85545 23.1606 -22.77 0.603677 2.85475 22.8615 -22.775 0.713888 2.85778 22.5679 -22.78 0.819011 2.86469 22.2798 -22.785 0.919415 2.87565 21.997 -22.79 1.01547 2.89079 21.7195 -22.795 1.10756 2.91022 21.4472 -22.8 1.19605 2.93406 21.1799 -22.805 1.28134 2.96239 20.9176 -22.81 1.36381 2.99529 20.6603 -22.815 1.44386 3.0328 20.4079 -22.82 1.52189 3.07497 20.1603 -22.825 1.5983 3.12183 19.9174 -22.83 1.6735 3.17339 19.6793 -22.835 1.7479 3.22963 19.4459 -22.84 1.82176 3.29063 19.2173 -22.845 1.89522 3.35653 18.9934 -22.85 1.96849 3.42746 18.7743 -22.855 2.04176 3.50352 18.5601 -22.86 2.11525 3.58485 18.3508 -22.865 2.18917 3.67155 18.1465 -22.87 2.26375 3.76374 17.9473 -22.875 2.33922 3.86152 17.7532 -22.88 2.41581 3.96501 17.5643 -22.885 2.49377 4.07432 17.3808 -22.89 2.57335 4.18954 17.2027 -22.895 2.6548 4.31079 17.0301 -22.9 2.7384 4.43815 16.8633 -22.905 2.82442 4.57174 16.7022 -22.91 2.91311 4.71162 16.5471 -22.915 3.00461 4.85798 16.3982 -22.92 3.09906 5.01107 16.2558 -22.925 3.19659 5.17114 16.1201 -22.93 3.29736 5.33844 15.9912 -22.935 3.40151 5.51318 15.8696 -22.94 3.50923 5.69556 15.7555 -22.945 3.62067 5.88578 15.6493 -22.95 3.73603 6.08401 15.5513 -22.955 3.8555 6.29039 15.4619 -22.96 3.97928 6.50508 15.3816 -22.965 4.10758 6.7282 15.3108 -22.97 4.24062 6.95985 15.25 -22.975 4.37863 7.20013 15.1997 -22.98 4.52184 7.44912 15.1605 -22.985 4.6705 7.70687 15.1328 -22.99 4.82487 7.97344 15.1174 -22.995 4.9851 8.24867 15.1146 -23 5.15104 8.53213 15.1251 -23.005 5.32291 8.82414 15.1497 -23.01 5.50093 9.12495 15.1895 -23.015 5.68529 9.43471 15.2454 -23.02 5.87613 9.75336 15.3185 -23.025 6.07356 10.0808 15.4099 -23.03 6.27765 10.4166 15.5204 -23.035 6.48845 10.7603 15.651 -23.04 6.70593 11.1115 15.8028 -23.045 6.93006 11.4692 15.9768 -23.05 7.16077 11.8326 16.1738 -23.055 7.39792 12.2007 16.3949 -23.06 7.64137 12.5722 16.641 -23.065 7.89092 12.9459 16.9131 -23.07 8.14633 13.3202 17.2121 -23.075 8.40734 13.6935 17.539 -23.08 8.67364 14.0641 17.8947 -23.085 8.94488 14.43 18.2801 -23.09 9.22068 14.7892 18.6962 -23.095 9.50062 15.1394 19.1438 -23.1 9.78404 15.4792 19.6232 -23.105 10.0699 15.8066 20.1338 -23.11 10.3573 16.1176 20.6759 -23.115 10.6451 16.4083 21.2491 -23.12 10.9324 16.675 21.853 -23.125 11.2179 16.9142 22.4864 -23.13 11.5004 17.1226 23.148 -23.135 11.7785 17.297 23.8358 -23.14 12.0509 17.4344 24.5474 -23.145 12.3159 17.5321 25.2802 -23.15 12.5721 17.5875 26.0309 -23.155 12.8176 17.5981 26.7958 -23.16 13.0508 17.5617 27.5709 -23.165 13.2699 17.4763 28.3516 -23.17 13.4728 17.34 29.1331 -23.175 13.6576 17.151 29.9099 -23.18 13.8224 16.9068 30.6767 -23.185 13.9668 16.6034 31.4287 -23.19 14.0888 16.2453 32.1591 -23.195 14.1867 15.8375 32.8617 -23.2 14.2591 15.3849 33.5307 -23.205 14.3047 14.8922 34.1611 -23.21 14.3228 14.364 34.7484 -23.215 14.3127 13.8045 35.2887 -23.22 14.2742 13.2179 35.7787 -23.225 14.2073 12.6083 36.2157 -23.23 14.1124 11.9793 36.5979 -23.235 13.9899 11.3346 36.9236 -23.24 13.8408 10.6777 37.1922 -23.245 13.6664 10.0118 37.4034 -23.25 13.468 9.33989 37.5576 -23.255 13.2475 8.66496 37.6559 -23.26 13.0068 7.99033 37.7 -23.265 12.7453 7.328 37.6924 -23.27 12.4643 6.68448 37.6354 -23.275 12.1663 6.06311 37.5312 -23.28 11.8532 5.46679 37.3821 -23.285 11.5273 4.89803 37.1908 -23.29 11.1907 4.35891 36.9603 -23.295 10.8451 3.8511 36.6936 -23.3 10.4927 3.37585 36.3941 -23.305 10.1352 2.93402 36.0654 -23.31 9.77446 2.52601 35.7114 -23.315 9.41211 2.15185 35.3362 -23.32 9.04984 1.81112 34.944 -23.325 8.68922 1.50301 34.5394 -23.33 8.33177 1.22629 34.1273 -23.335 7.97893 0.979304 33.7127 -23.34 7.63209 0.760023 33.2991 -23.345 7.29232 0.566567 32.8828 -23.35 6.96038 0.397335 32.4645 -23.355 6.63692 0.250756 32.0456 -23.36 6.32253 0.125279 31.6272 -23.365 6.01772 0.0193756 31.2104 -23.37 5.72294 -0.0684626 30.796 -23.375 5.43854 -0.139722 30.3849 -23.38 5.16482 -0.195868 29.9778 -23.385 4.90199 -0.238346 29.5751 -23.39 4.65019 -0.268577 29.1774 -23.395 4.4095 -0.287963 28.7848 -23.4 4.17989 -0.297886 28.3975 -23.405 3.9613 -0.299704 28.0156 -23.41 3.75356 -0.294702 27.6389 -23.415 3.55639 -0.283342 27.2676 -23.42 3.36953 -0.266214 26.9018 -23.425 3.19273 -0.244038 26.5413 -23.43 3.0257 -0.217482 26.1862 -23.435 2.86819 -0.18716 25.8364 -23.44 2.71992 -0.153634 25.4918 -23.445 2.58058 -0.117412 25.1523 -23.45 2.44988 -0.0789487 24.8179 -23.455 2.32752 -0.0386463 24.4884 -23.46 2.21317 0.00314675 24.1638 -23.465 2.1065 0.0461348 23.844 -23.47 2.00719 0.0900755 23.5289 -23.475 1.9149 0.13478 23.2184 -23.48 1.82925 0.180111 22.9123 -23.485 1.7499 0.225969 22.6106 -23.49 1.67651 0.272226 22.3133 -23.495 1.6089 0.31877 22.0201 -23.5 1.54682 0.365511 21.7311 -23.505 1.49009 0.41238 21.4462 -23.51 1.43847 0.459327 21.1654 -23.515 1.39175 0.506325 20.8884 -23.52 1.34971 0.553366 20.6154 -23.525 1.31214 0.600465 20.3462 -23.53 1.27881 0.647655 20.0808 -23.535 1.24949 0.694992 19.8191 -23.54 1.22398 0.742551 19.561 -23.545 1.20203 0.79043 19.3066 -23.55 1.18343 0.838745 19.0558 -23.555 1.16794 0.887634 18.8084 -23.56 1.15543 0.937197 18.5646 -23.565 1.14588 0.987455 18.3242 -23.57 1.13921 1.03847 18.0873 -23.575 1.13537 1.09032 17.8537 -23.58 1.13429 1.14308 17.6235 -23.585 1.13591 1.19685 17.3967 -23.59 1.14016 1.25174 17.1732 -23.595 1.14699 1.30785 16.953 -23.6 1.15633 1.36533 16.7362 -23.605 1.16813 1.4243 16.5226 -23.61 1.18231 1.48491 16.3122 -23.615 1.19884 1.54733 16.1051 -23.62 1.21764 1.61172 15.9013 -23.625 1.23866 1.67826 15.7007 -23.63 1.26184 1.74715 15.5034 -23.635 1.28722 1.81852 15.3094 -23.64 1.31485 1.8925 15.1186 -23.645 1.34479 1.96922 14.9312 -23.65 1.37706 2.04884 14.747 -23.655 1.41173 2.13151 14.5662 -23.66 1.44883 2.21742 14.3887 -23.665 1.48843 2.30674 14.2146 -23.67 1.53057 2.39967 14.044 -23.675 1.57533 2.49641 13.8768 -23.68 1.62277 2.59718 13.7132 -23.685 1.67295 2.7022 13.5532 -23.69 1.72594 2.81171 13.397 -23.695 1.78184 2.92595 13.2445 -23.7 1.8407 3.04518 13.0959 -23.705 1.90262 3.16967 12.9514 -23.71 1.96769 3.29969 12.8109 -23.715 2.03599 3.43552 12.6747 -23.72 2.10777 3.57723 12.5431 -23.725 2.18317 3.72508 12.4162 -23.73 2.26232 3.87947 12.2941 -23.735 2.34536 4.04077 12.177 -23.74 2.43242 4.20936 12.0649 -23.745 2.52365 4.3856 11.9581 -23.75 2.61923 4.56986 11.857 -23.755 2.71932 4.7625 11.7616 -23.76 2.82409 4.96386 11.6725 -23.765 2.93374 5.17429 11.59 -23.77 3.04848 5.39413 11.5146 -23.775 3.1685 5.62371 11.4466 -23.78 3.29403 5.86335 11.3867 -23.785 3.42529 6.11339 11.3353 -23.79 3.56253 6.37414 11.2931 -23.795 3.70599 6.6459 11.2607 -23.8 3.85593 6.92899 11.2388 -23.805 4.01261 7.22369 11.2282 -23.81 4.17632 7.53031 11.2295 -23.815 4.34733 7.84914 11.2437 -23.82 4.52595 8.18044 11.2715 -23.825 4.71248 8.52451 11.3139 -23.83 4.90684 8.88063 11.3717 -23.835 5.10901 9.24838 11.4459 -23.84 5.31947 9.62863 11.5381 -23.845 5.53866 10.022 11.6497 -23.85 5.76691 10.4288 11.7824 -23.855 6.00451 10.8492 11.9377 -23.86 6.25168 11.2829 12.1171 -23.865 6.50855 11.7294 12.3224 -23.87 6.7752 12.1881 12.5551 -23.875 7.05164 12.6579 12.8168 -23.88 7.33779 13.1376 13.1093 -23.885 7.63352 13.6255 13.4341 -23.89 7.93863 14.1199 13.793 -23.895 8.25283 14.6187 14.1877 -23.9 8.57578 15.1196 14.6198 -23.905 8.90708 15.6198 15.0913 -23.91 9.24622 16.1166 15.6037 -23.915 9.59266 16.6067 16.1589 -23.92 9.94577 17.0867 16.7586 -23.925 10.3049 17.553 17.4048 -23.93 10.6692 18.0014 18.0992 -23.935 11.0375 18.4297 18.8412 -23.94 11.408 18.8326 19.6294 -23.945 11.7791 19.2028 20.4634 -23.95 12.149 19.5336 21.3421 -23.955 12.5156 19.8184 22.2633 -23.96 12.8769 20.0515 23.2243 -23.965 13.2307 20.2272 24.2212 -23.97 13.5745 20.3406 25.2496 -23.975 13.9057 20.3872 26.3041 -23.98 14.2219 20.3629 27.3786 -23.985 14.5201 20.2641 28.4661 -23.99 14.7973 20.0877 29.5587 -23.995 15.0506 19.831 30.6478 -24 15.2767 19.4917 31.7239 -24.005 15.4726 19.067 32.777 -24.01 15.6368 18.55 33.7974 -24.015 15.7669 17.9494 34.7746 -24.02 15.8602 17.2759 35.6989 -24.025 15.915 16.5394 36.5615 -24.03 15.9295 15.7495 37.355 -24.035 15.903 14.915 38.0733 -24.04 15.835 14.0441 38.7112 -24.045 15.7257 13.1445 39.2647 -24.05 15.5755 12.2232 39.7312 -24.055 15.3858 11.2864 40.1092 -24.06 15.1581 10.34 40.3981 -24.065 14.8947 9.38915 40.5988 -24.07 14.5984 8.43833 40.7132 -24.075 14.2723 7.49147 40.7446 -24.08 13.9183 6.55956 40.6972 -24.085 13.5366 5.66122 40.5761 -24.09 13.1308 4.80235 40.387 -24.095 12.7041 3.98765 40.1358 -24.1 12.26 3.22088 39.8283 -24.105 11.8017 2.50487 39.4707 -24.11 11.3322 1.8415 39.0693 -24.115 10.8545 1.23174 38.6308 -24.12 10.3716 0.675604 38.1617 -24.125 9.88613 0.172177 37.6691 -24.13 9.4009 -0.280393 37.16 -24.135 8.91844 -0.68489 36.6417 -24.14 8.44112 -1.04434 36.119 -24.145 7.97075 -1.36084 35.5919 -24.15 7.50888 -1.63721 35.0631 -24.155 7.05692 -1.87628 34.5352 -24.16 6.61611 -2.08089 34.0104 -24.165 6.18752 -2.25388 33.4906 -24.17 5.77203 -2.39805 32.9775 -24.175 5.3704 -2.51622 32.4723 -24.18 4.98317 -2.6112 31.9761 -24.185 4.61074 -2.68579 31.4895 -24.19 4.25333 -2.74277 31.0129 -24.195 3.91101 -2.78493 30.5462 -24.2 3.58375 -2.81448 30.0896 -24.205 3.27142 -2.83261 29.6433 -24.21 2.97369 -2.84096 29.2069 -24.215 2.69024 -2.84103 28.7802 -24.22 2.4207 -2.83424 28.363 -24.225 2.16468 -2.82189 27.9551 -24.23 1.92178 -2.80519 27.5562 -24.235 1.69156 -2.78524 27.1659 -24.24 1.47357 -2.76303 26.7841 -24.245 1.26734 -2.73947 26.4105 -24.25 1.07237 -2.71533 26.0447 -24.255 0.888146 -2.69131 25.6866 -24.26 0.714125 -2.66798 25.3357 -24.265 0.549744 -2.64581 24.9918 -24.27 0.394413 -2.62519 24.6547 -24.275 0.247464 -2.6065 24.3239 -24.28 0.108408 -2.59008 23.9994 -24.285 -0.0231814 -2.57622 23.6809 -24.29 -0.147736 -2.56519 23.3683 -24.295 -0.265688 -2.55721 23.0614 -24.3 -0.377475 -2.55251 22.76 -24.305 -0.483535 -2.55127 22.4641 -24.31 -0.584311 -2.55364 22.1734 -24.315 -0.680249 -2.55975 21.8879 -24.32 -0.771796 -2.56972 21.6074 -24.325 -0.859404 -2.58361 21.3318 -24.33 -0.943527 -2.60149 21.061 -24.335 -1.02462 -2.62337 20.7949 -24.34 -1.10314 -2.64927 20.5334 -24.345 -1.1794 -2.67923 20.2765 -24.35 -1.25362 -2.71338 20.0242 -24.355 -1.32603 -2.7518 19.7765 -24.36 -1.39686 -2.79458 19.5332 -24.365 -1.46639 -2.84183 19.2945 -24.37 -1.53484 -2.8936 19.0603 -24.375 -1.60248 -2.95 18.8307 -24.38 -1.66957 -3.01108 18.6055 -24.385 -1.73638 -3.07693 18.385 -24.39 -1.80319 -3.1476 18.1689 -24.395 -1.87026 -3.22316 17.9574 -24.4 -1.93789 -3.30367 17.7506 -24.405 -2.00635 -3.38917 17.5483 -24.41 -2.07595 -3.47971 17.3507 -24.415 -2.14688 -3.57541 17.1579 -24.42 -2.21927 -3.67645 16.9699 -24.425 -2.29325 -3.78302 16.7869 -24.43 -2.36897 -3.8953 16.609 -24.435 -2.44658 -4.01348 16.4362 -24.44 -2.52625 -4.13775 16.2688 -24.445 -2.60815 -4.26827 16.1069 -24.45 -2.69246 -4.40524 15.9506 -24.455 -2.77939 -4.54882 15.8002 -24.46 -2.86913 -4.6992 15.6558 -24.465 -2.96191 -4.85653 15.5177 -24.47 -3.05795 -5.02099 15.3861 -24.475 -3.15749 -5.19274 15.2613 -24.48 -3.26077 -5.37196 15.1435 -24.485 -3.36806 -5.55879 15.0329 -24.49 -3.47961 -5.75339 14.93 -24.495 -3.59554 -5.95577 14.8352 -24.5 -3.71601 -6.16627 14.7487 -24.505 -3.84116 -6.38527 14.6711 -24.51 -3.97118 -6.61311 14.6029 -24.515 -4.10622 -6.85007 14.5444 -24.52 -4.24647 -7.09637 14.4964 -24.525 -4.39209 -7.35221 14.4592 -24.53 -4.54324 -7.61771 14.4337 -24.535 -4.70011 -7.89296 14.4205 -24.54 -4.86286 -8.17798 14.4202 -24.545 -5.03167 -8.47276 14.4337 -24.55 -5.2067 -8.77722 14.4618 -24.555 -5.38813 -9.09125 14.5053 -24.56 -5.57615 -9.41467 14.5652 -24.565 -5.77091 -9.74726 14.6423 -24.57 -5.97259 -10.0888 14.7377 -24.575 -6.18138 -10.4388 14.8523 -24.58 -6.39745 -10.7971 14.9874 -24.585 -6.62086 -11.1632 15.1436 -24.59 -6.85086 -11.5361 15.3208 -24.595 -7.08755 -11.9152 15.5207 -24.6 -7.33114 -12.2998 15.7454 -24.605 -7.58174 -12.6889 15.9967 -24.61 -7.83933 -13.0812 16.2763 -24.615 -8.10381 -13.4755 16.5857 -24.62 -8.37495 -13.87 16.926 -24.625 -8.65244 -14.263 17.2983 -24.63 -8.93582 -14.6524 17.7033 -24.635 -9.22457 -15.0361 18.1416 -24.64 -9.51802 -15.4115 18.6136 -24.645 -9.81543 -15.776 19.1194 -24.65 -10.1159 -16.1267 19.6589 -24.655 -10.4185 -16.4606 20.2319 -24.66 -10.7221 -16.7744 20.8377 -24.665 -11.0256 -17.0646 21.4758 -24.67 -11.3276 -17.3275 22.1452 -24.675 -11.6267 -17.5592 22.8446 -24.68 -11.9215 -17.7556 23.5729 -24.685 -12.2103 -17.9123 24.3282 -24.69 -12.4916 -18.0254 25.1092 -24.695 -12.7645 -18.0929 25.9131 -24.7 -13.0267 -18.1114 26.7337 -24.705 -13.2756 -18.0781 27.5649 -24.71 -13.5091 -17.9907 28.4005 -24.715 -13.7251 -17.8476 29.2348 -24.72 -13.9215 -17.6477 30.0618 -24.725 -14.0967 -17.3907 30.8759 -24.73 -14.249 -17.0768 31.6716 -24.735 -14.3769 -16.7068 32.4435 -24.74 -14.479 -16.2823 33.1862 -24.745 -14.5542 -15.8053 33.8948 -24.75 -14.6015 -15.2785 34.5641 -24.755 -14.6198 -14.7054 35.1893 -24.76 -14.6087 -14.0898 35.7657 -24.765 -14.5673 -13.4364 36.2886 -24.77 -14.4952 -12.7504 36.7518 -24.775 -14.3923 -12.0393 37.1509 -24.78 -14.2594 -11.3109 37.4861 -24.785 -14.0975 -10.5726 37.7581 -24.79 -13.9079 -9.83096 37.9678 -24.795 -13.6916 -9.09233 38.1162 -24.8 -13.4503 -8.36233 38.2051 -24.805 -13.1855 -7.64606 38.2361 -24.81 -12.8989 -6.94808 38.2115 -24.815 -12.5924 -6.27238 38.1337 -24.82 -12.268 -5.62242 38.0055 -24.825 -11.9279 -5.00109 37.83 -24.83 -11.5744 -4.41074 37.6105 -24.835 -11.2099 -3.85318 37.351 -24.84 -10.8371 -3.32965 37.0552 -24.845 -10.4585 -2.84098 36.7279 -24.85 -10.0757 -2.38857 36.3752 -24.855 -9.69031 -1.97251 36.0012 -24.86 -9.30434 -1.59232 35.609 -24.865 -8.91957 -1.24727 35.2018 -24.87 -8.53761 -0.936428 34.7826 -24.875 -8.15998 -0.658585 34.354 -24.88 -7.788 -0.412308 33.9186 -24.885 -7.4229 -0.195925 33.4787 -24.89 -7.06572 -0.00752256 33.0365 -24.895 -6.71739 0.155052 32.5939 -24.9 -6.37868 0.294189 32.1528 -24.905 -6.05021 0.412522 31.7146 -24.91 -5.73249 0.512761 31.2807 -24.915 -5.42594 0.595593 30.8511 -24.92 -5.13078 0.662192 30.4261 -24.925 -4.84711 0.714134 30.0061 -24.93 -4.575 0.752908 29.5915 -24.935 -4.31448 0.77992 29.1826 -24.94 -4.06551 0.796491 28.7795 -24.945 -3.82804 0.803856 28.3825 -24.95 -3.60196 0.803169 27.9917 -24.955 -3.3871 0.795496 27.6071 -24.96 -3.18327 0.781821 27.2287 -24.965 -2.99023 0.763042 26.8564 -24.97 -2.80768 0.739973 26.49 -24.975 -2.63528 0.713342 26.1293 -24.98 -2.47256 0.683744 25.7744 -24.985 -2.31915 0.651686 25.4251 -24.99 -2.17475 0.617644 25.0813 -24.995 -2.03906 0.582052 24.7428 -25 -1.91176 0.545306 24.4095 -25.005 -1.79254 0.507763 24.0813 -25.01 -1.68107 0.469738 23.7581 -25.015 -1.57701 0.431509 23.4398 -25.02 -1.48003 0.393315 23.1262 -25.025 -1.38978 0.355353 22.8172 -25.03 -1.3059 0.317784 22.5128 -25.035 -1.22805 0.280726 22.2127 -25.04 -1.15586 0.24426 21.917 -25.045 -1.08895 0.208428 21.6255 -25.05 -1.02695 0.173231 21.3381 -25.055 -0.969469 0.13863 21.0547 -25.06 -0.916217 0.104615 20.7753 -25.065 -0.867087 0.0712784 20.4997 -25.07 -0.821904 0.0386481 20.2279 -25.075 -0.780491 0.00673784 19.9599 -25.08 -0.742667 -0.0244513 19.6956 -25.085 -0.708255 -0.054931 19.4348 -25.09 -0.677074 -0.0847252 19.1777 -25.095 -0.648944 -0.113871 18.924 -25.1 -0.623685 -0.142417 18.6738 -25.105 -0.601115 -0.170425 18.427 -25.11 -0.581052 -0.19797 18.1835 -25.115 -0.563314 -0.225138 17.9434 -25.12 -0.547719 -0.252029 17.7064 -25.125 -0.534082 -0.278755 17.4726 -25.13 -0.522265 -0.305407 17.2419 -25.135 -0.512253 -0.33199 17.0144 -25.14 -0.503992 -0.358546 16.7899 -25.145 -0.497423 -0.385121 16.5684 -25.15 -0.492489 -0.41177 16.35 -25.155 -0.489133 -0.438553 16.1345 -25.16 -0.487297 -0.465535 15.9219 -25.165 -0.486925 -0.492789 15.7122 -25.17 -0.487959 -0.520393 15.5053 -25.175 -0.490343 -0.54843 15.3012 -25.18 -0.494021 -0.57699 15.0999 -25.185 -0.498935 -0.60617 14.9014 -25.19 -0.505029 -0.636072 14.7056 -25.195 -0.512246 -0.666803 14.5125 -25.2 -0.520551 -0.698465 14.322 -25.205 -0.529973 -0.731111 14.1342 -25.21 -0.540527 -0.764802 13.949 -25.215 -0.552226 -0.799609 13.7664 -25.22 -0.565082 -0.835609 13.5863 -25.225 -0.579111 -0.872882 13.4088 -25.23 -0.594329 -0.911519 13.2338 -25.235 -0.610754 -0.951615 13.0613 -25.24 -0.628404 -0.993271 12.8913 -25.245 -0.647298 -1.0366 12.7237 -25.25 -0.667458 -1.0817 12.5587 -25.255 -0.688905 -1.12872 12.3961 -25.26 -0.711663 -1.17776 12.2359 -25.265 -0.735757 -1.22897 12.0781 -25.27 -0.761211 -1.28248 11.9228 -25.275 -0.788053 -1.33844 11.77 -25.28 -0.816334 -1.39699 11.6195 -25.285 -0.846166 -1.45825 11.4716 -25.29 -0.877609 -1.52235 11.3261 -25.295 -0.910718 -1.58943 11.183 -25.3 -0.945559 -1.65967 11.0425 -25.305 -0.982201 -1.73322 10.9043 -25.31 -1.02072 -1.81027 10.7687 -25.315 -1.0612 -1.891 10.6356 -25.32 -1.10373 -1.97562 10.5051 -25.325 -1.14841 -2.06433 10.3772 -25.33 -1.19533 -2.15736 10.252 -25.335 -1.24461 -2.25492 10.1295 -25.34 -1.29636 -2.35727 10.0098 -25.345 -1.3507 -2.46464 9.89299 -25.35 -1.40775 -2.57731 9.77919 -25.355 -1.46766 -2.69553 9.66847 -25.36 -1.53056 -2.81958 9.56094 -25.365 -1.59659 -2.94976 9.45673 -25.37 -1.66592 -3.08635 9.35597 -25.375 -1.73869 -3.22968 9.25878 -25.38 -1.81509 -3.38 9.16538 -25.385 -1.89545 -3.53712 9.0764 -25.39 -1.97992 -3.70151 8.99193 -25.395 -2.06867 -3.87379 8.91199 -25.4 -2.16184 -4.05453 8.83666 -25.405 -2.25961 -4.24432 8.76609 -25.41 -2.36217 -4.4437 8.7005 -25.415 -2.46973 -4.65321 8.64018 -25.42 -2.58249 -4.87337 8.5855 -25.425 -2.70069 -5.10467 8.53687 -25.43 -2.82459 -5.34759 8.49479 -25.435 -2.95442 -5.6026 8.45983 -25.44 -3.09048 -5.87014 8.43262 -25.445 -3.23305 -6.15064 8.41388 -25.45 -3.38243 -6.4445 8.40436 -25.455 -3.53894 -6.75211 8.40491 -25.46 -3.70291 -7.07385 8.41645 -25.465 -3.87469 -7.41006 8.43995 -25.47 -4.05464 -7.76109 8.47646 -25.475 -4.24314 -8.12724 8.52709 -25.48 -4.44057 -8.50882 8.59305 -25.485 -4.64733 -8.90611 8.67558 -25.49 -4.86386 -9.31936 8.776 -25.495 -5.09057 -9.74883 8.89572 -25.5 -5.32791 -10.1947 9.03619 -25.505 -5.57634 -10.6573 9.19893 -25.51 -5.83527 -11.1351 9.38504 -25.515 -6.10477 -11.6279 9.59672 -25.52 -6.38547 -12.1365 9.83676 -25.525 -6.67787 -12.6608 10.1079 -25.53 -6.98233 -13.2004 10.4126 -25.535 -7.29905 -13.7544 10.7537 -25.54 -7.62811 -14.3215 11.1334 -25.545 -7.96943 -14.8998 11.5542 -25.55 -8.32281 -15.4871 12.0185 -25.555 -8.68788 -16.0804 12.5285 -25.56 -9.06417 -16.6766 13.0864 -25.565 -9.45102 -17.2718 13.6942 -25.57 -9.84766 -17.8619 14.354 -25.575 -10.2532 -18.442 15.0678 -25.58 -10.6665 -19.007 15.8374 -25.585 -11.0865 -19.5513 16.6646 -25.59 -11.5117 -20.0686 17.5512 -25.595 -11.9407 -20.5523 18.4988 -25.6 -12.3718 -20.9965 19.5083 -25.605 -12.8029 -21.3963 20.5761 -25.61 -13.231 -21.7411 21.6987 -25.615 -13.653 -22.0205 22.8719 -25.62 -14.0659 -22.2253 24.0904 -25.625 -14.4662 -22.3473 25.3477 -25.63 -14.8508 -22.3797 26.6364 -25.635 -15.216 -22.3167 27.9481 -25.64 -15.5583 -22.1537 29.2733 -25.645 -15.874 -21.8872 30.6013 -25.65 -16.1594 -21.5147 31.9205 -25.655 -16.4105 -21.0352 33.2184 -25.66 -16.6234 -20.4486 34.4812 -25.665 -16.7939 -19.7558 35.6941 -25.67 -16.9196 -18.9517 36.8403 -25.675 -16.9986 -18.0457 37.907 -25.68 -17.0284 -17.0567 38.8849 -25.685 -17.0075 -16.0019 39.7661 -25.69 -16.935 -14.8972 40.5442 -25.695 -16.8106 -13.7569 41.2142 -25.7 -16.6348 -12.5939 41.7726 -25.705 -16.409 -11.4196 42.2174 -25.71 -16.1348 -10.244 42.5479 -25.715 -15.815 -9.07561 42.7649 -25.72 -15.4529 -7.92149 42.8707 -25.725 -15.0525 -6.78719 42.8689 -25.73 -14.6184 -5.67685 42.7648 -25.735 -14.1551 -4.59768 42.566 -25.74 -13.6632 -3.57328 42.2852 -25.745 -13.1468 -2.61122 41.9322 -25.75 -12.6105 -1.71555 41.516 -25.755 -12.0586 -0.88902 41.0456 -25.76 -11.4953 -0.133062 40.5298 -25.765 -10.9243 0.552201 39.9774 -25.77 -10.3495 1.16796 39.3968 -25.775 -9.77406 1.7167 38.7965 -25.78 -9.20138 2.20225 38.1849 -25.785 -8.63442 2.62969 37.5701 -25.79 -8.07578 3.00264 36.9558 -25.795 -7.52753 3.32437 36.344 -25.8 -6.99144 3.59909 35.7379 -25.805 -6.46909 3.83095 35.1402 -25.81 -5.96178 4.02398 34.5532 -25.815 -5.47062 4.18213 33.9787 -25.82 -4.99646 4.30926 33.4181 -25.825 -4.53995 4.40913 32.8724 -25.83 -4.10149 4.48539 32.3418 -25.835 -3.68124 4.54164 31.8265 -25.84 -3.27926 4.58115 31.3263 -25.845 -2.89554 4.60625 30.8414 -25.85 -2.5297 4.61908 30.3712 -25.855 -2.18129 4.62166 29.9153 -25.86 -1.84984 4.61589 29.473 -25.865 -1.53485 4.6035 29.044 -25.87 -1.23581 4.58612 28.6275 -25.875 -0.95216 4.5652 28.2233 -25.88 -0.683343 4.5421 27.8306 -25.885 -0.428759 4.51799 27.4492 -25.89 -0.187786 4.49394 27.0784 -25.895 0.0402215 4.47086 26.7179 -25.9 0.255934 4.44954 26.3672 -25.905 0.460048 4.4306 26.0258 -25.91 0.653284 4.41456 25.6933 -25.915 0.836401 4.40179 25.3693 -25.92 1.01031 4.39271 25.0534 -25.925 1.17563 4.3877 24.7452 -25.93 1.33285 4.38704 24.4446 -25.935 1.48248 4.39101 24.1513 -25.94 1.62503 4.39985 23.8652 -25.945 1.76103 4.41377 23.5862 -25.95 1.89099 4.43297 23.314 -25.955 2.01546 4.45762 23.0485 -25.96 2.13497 4.48784 22.7896 -25.965 2.25007 4.52376 22.5372 -25.97 2.36129 4.56547 22.2911 -25.975 2.46921 4.61302 22.0513 -25.98 2.57438 4.66645 21.8177 -25.985 2.67736 4.72577 21.5902 -25.99 2.77873 4.79097 21.3688 -25.995 2.87879 4.86206 21.1535 -26 2.97775 4.93913 20.9445 -26.005 3.07586 5.02229 20.7418 -26.01 3.17339 5.11164 20.5456 -26.015 3.2706 5.20725 20.3559 -26.02 3.36778 5.3092 20.1729 -26.025 3.46519 5.41755 19.9968 -26.03 3.56314 5.53234 19.8276 -26.035 3.6619 5.65361 19.6655 -26.04 3.76177 5.78139 19.5106 -26.045 3.86307 5.91569 19.3632 -26.05 3.96609 6.05651 19.2234 -26.055 4.07116 6.20385 19.0914 -26.06 4.17859 6.35768 18.9674 -26.065 4.2887 6.51798 18.8516 -26.07 4.40164 6.68468 18.7443 -26.075 4.5175 6.85791 18.6458 -26.08 4.63641 7.03782 18.5566 -26.085 4.75851 7.22448 18.4769 -26.09 4.88393 7.41794 18.4073 -26.095 5.01278 7.61822 18.3482 -26.1 5.1452 7.82528 18.2999 -26.105 5.2813 8.03905 18.2629 -26.11 5.42122 8.25942 18.2378 -26.115 5.56507 8.48622 18.2248 -26.12 5.71297 8.71927 18.2246 -26.125 5.86503 8.95833 18.2377 -26.13 6.02138 9.20311 18.2645 -26.135 6.18212 9.4533 18.3056 -26.14 6.34737 9.70854 18.3615 -26.145 6.51724 9.96843 18.4328 -26.15 6.69184 10.2325 18.5201 -26.155 6.87097 10.5004 18.6233 -26.16 7.05428 10.7717 18.7427 -26.165 7.24182 11.0457 18.8795 -26.17 7.43358 11.3217 19.0347 -26.175 7.62949 11.5987 19.2092 -26.18 7.82944 11.8759 19.4038 -26.185 8.03324 12.1523 19.6192 -26.19 8.24066 12.4267 19.8559 -26.195 8.45142 12.698 20.1143 -26.2 8.66516 12.9649 20.3946 -26.205 8.8815 13.226 20.6969 -26.21 9.09996 13.48 21.0213 -26.215 9.32004 13.7253 21.3676 -26.22 9.54118 13.9603 21.7354 -26.225 9.76275 14.1833 22.1244 -26.23 9.98407 14.3925 22.534 -26.235 10.2044 14.5862 22.9634 -26.24 10.423 14.7623 23.412 -26.245 10.6389 14.9189 23.8786 -26.25 10.8513 15.0538 24.3623 -26.255 11.0593 15.1648 24.8617 -26.26 11.2618 15.2498 25.3757 -26.265 11.4586 15.3075 25.9036 -26.27 11.6483 15.3366 26.4426 -26.275 11.8297 15.3355 26.9893 -26.28 12.0014 15.3033 27.5403 -26.285 12.1621 15.239 28.0923 -26.29 12.3106 15.1421 28.6423 -26.295 12.446 15.0123 29.1871 -26.3 12.5672 14.8494 29.7237 -26.305 12.6734 14.6538 30.2491 -26.31 12.7637 14.4258 30.7607 -26.315 12.8374 14.1663 31.2555 -26.32 12.8941 13.8761 31.731 -26.325 12.9331 13.5566 32.1845 -26.33 12.9539 13.2093 32.6136 -26.335 12.9564 12.836 33.0159 -26.34 12.9402 12.4387 33.389 -26.345 12.9052 12.0198 33.7306 -26.35 12.8512 11.5818 34.0386 -26.355 12.7778 11.1286 34.3095 -26.36 12.6855 10.6642 34.5427 -26.365 12.575 10.192 34.7382 -26.37 12.4468 9.7157 34.8962 -26.375 12.302 9.23835 35.0171 -26.38 12.1411 8.763 35.1014 -26.385 11.9653 8.29242 35.1498 -26.39 11.7754 7.82918 35.1632 -26.395 11.5724 7.37563 35.1424 -26.4 11.3573 6.93391 35.0889 -26.405 11.1314 6.50594 35.0039 -26.41 10.8958 6.09344 34.8888 -26.415 10.6517 5.69787 34.7456 -26.42 10.4004 5.32053 34.5759 -26.425 10.1432 4.96247 34.3818 -26.43 9.88156 4.62454 34.1655 -26.435 9.61693 4.30736 33.9293 -26.44 9.35059 4.01124 33.6759 -26.445 9.08337 3.73601 33.4078 -26.45 8.81629 3.48159 33.1265 -26.455 8.55036 3.24779 32.8336 -26.46 8.28651 3.03432 32.5306 -26.465 8.02562 2.84079 32.2188 -26.47 7.76848 2.66671 31.8997 -26.475 7.51583 2.51147 31.5746 -26.48 7.26835 2.37438 31.2447 -26.485 7.02662 2.25462 30.9111 -26.49 6.7912 2.1513 30.5749 -26.495 6.56256 2.0634 30.2373 -26.5 6.34109 1.9898 29.8992 -26.505 6.12715 1.9293 29.5615 -26.51 5.92099 1.88056 29.225 -26.515 5.72283 1.84217 28.8906 -26.52 5.53281 1.81287 28.5589 -26.525 5.35098 1.79305 28.2294 -26.53 5.17734 1.78227 27.9023 -26.535 5.01184 1.77988 27.5778 -26.54 4.85446 1.78525 27.2562 -26.545 4.70513 1.79782 26.9377 -26.55 4.56381 1.81704 26.6224 -26.555 4.4304 1.84241 26.3106 -26.56 4.30483 1.87347 26.0023 -26.565 4.18699 1.90977 25.6977 -26.57 4.07677 1.95094 25.3969 -26.575 3.97404 1.99661 25.1 -26.58 3.87868 2.04646 24.807 -26.585 3.79052 2.10022 24.518 -26.59 3.70942 2.15763 24.233 -26.595 3.63519 2.21849 23.9521 -26.6 3.56765 2.28263 23.6751 -26.605 3.50644 2.35003 23.4022 -26.61 3.45138 2.42062 23.1336 -26.615 3.40239 2.49425 22.8691 -26.62 3.35939 2.57085 22.6088 -26.625 3.32228 2.65033 22.3527 -26.63 3.29097 2.73263 22.1009 -26.635 3.26537 2.81773 21.8534 -26.64 3.24536 2.90563 21.6102 -26.645 3.23085 2.99633 21.3715 -26.65 3.22172 3.08987 21.1371 -26.655 3.21785 3.18633 20.9073 -26.66 3.21914 3.28578 20.6821 -26.665 3.22545 3.38832 20.4615 -26.67 3.23666 3.4941 20.2457 -26.675 3.25265 3.60326 20.0346 -26.68 3.27326 3.71599 19.8286 -26.685 3.29837 3.83248 19.6275 -26.69 3.32783 3.95294 19.4316 -26.695 3.3615 4.07764 19.2409 -26.7 3.39947 4.20657 19.0557 -26.705 3.44186 4.3398 18.876 -26.71 3.48873 4.47748 18.702 -26.715 3.5401 4.61977 18.5338 -26.72 3.59604 4.76684 18.3716 -26.725 3.65658 4.91883 18.2156 -26.73 3.72176 5.07592 18.0659 -26.735 3.79163 5.23825 17.9228 -26.74 3.86624 5.40601 17.7866 -26.745 3.94562 5.57934 17.6575 -26.75 4.02982 5.75841 17.5358 -26.755 4.11888 5.94339 17.4218 -26.76 4.21284 6.13444 17.3159 -26.765 4.31174 6.33173 17.2184 -26.77 4.41562 6.53542 17.1296 -26.775 4.52451 6.74569 17.0501 -26.78 4.63847 6.96269 16.9802 -26.785 4.75752 7.1866 16.9204 -26.79 4.88171 7.41759 16.871 -26.795 5.01098 7.65508 16.8324 -26.8 5.14548 7.89898 16.805 -26.805 5.28539 8.14961 16.7895 -26.81 5.4309 8.40721 16.7868 -26.815 5.58216 8.67191 16.7974 -26.82 5.73928 8.94375 16.8223 -26.825 5.90234 9.22264 16.8621 -26.83 6.07139 9.50841 16.9175 -26.835 6.24646 9.80079 16.9893 -26.84 6.42754 10.0994 17.0783 -26.845 6.6146 10.4038 17.185 -26.85 6.80756 10.7133 17.3104 -26.855 7.00632 11.0273 17.455 -26.86 7.21075 11.3451 17.6195 -26.865 7.4207 11.6656 17.8048 -26.87 7.63597 11.988 18.0114 -26.875 7.85634 12.3111 18.2402 -26.88 8.08155 12.6338 18.4917 -26.885 8.31133 12.9547 18.7667 -26.89 8.54535 13.2725 19.0659 -26.895 8.78328 13.5857 19.3899 -26.9 9.02474 13.8926 19.7395 -26.905 9.26933 14.1916 20.1153 -26.91 9.51655 14.4812 20.5176 -26.915 9.76566 14.7604 20.9456 -26.92 10.0158 15.0262 21.3991 -26.925 10.2662 15.2754 21.8779 -26.93 10.516 15.5052 22.3815 -26.935 10.7641 15.7128 22.909 -26.94 11.0095 15.8957 23.4592 -26.945 11.2513 16.0515 24.0307 -26.95 11.4882 16.178 24.6218 -26.955 11.7191 16.2729 25.2302 -26.96 11.9428 16.3343 25.8537 -26.965 12.158 16.3605 26.4896 -26.97 12.3633 16.3498 27.1349 -26.975 12.5573 16.3008 27.7862 -26.98 12.7387 16.212 28.44 -26.985 12.9058 16.0824 29.0924 -26.99 13.0572 15.9109 29.7391 -26.995 13.1915 15.6959 30.3759 -27 13.3083 15.4342 30.9991 -27.005 13.4062 15.1293 31.6038 -27.01 13.4839 14.7852 32.1854 -27.015 13.5406 14.4058 32.7396 -27.02 13.5751 13.9948 33.2629 -27.025 13.587 13.5557 33.7518 -27.03 13.5758 13.092 34.2034 -27.035 13.5413 12.6069 34.6152 -27.04 13.4836 12.1035 34.9852 -27.045 13.4028 11.5849 35.3116 -27.05 13.2994 11.0539 35.5934 -27.055 13.1742 10.5131 35.8297 -27.06 13.0278 9.96507 36.0202 -27.065 12.8616 9.4122 36.1648 -27.07 12.6767 8.85674 36.2641 -27.075 12.4747 8.30075 36.319 -27.08 12.2571 7.74709 36.3309 -27.085 12.0232 7.20512 36.3026 -27.09 11.7745 6.67897 36.2356 -27.095 11.5126 6.17097 36.1316 -27.1 11.2394 5.68317 35.9921 -27.105 10.9565 5.21734 35.8189 -27.11 10.6655 4.77498 35.6142 -27.115 10.368 4.35729 35.3802 -27.12 10.0654 3.96519 35.1191 -27.125 9.75931 3.59933 34.8337 -27.13 9.45099 3.26009 34.5266 -27.135 9.14181 2.94753 34.2007 -27.14 8.83302 2.66146 33.8593 -27.145 8.52585 2.40141 33.5056 -27.15 8.22144 2.16662 33.1431 -27.155 7.92088 1.95603 32.7753 -27.16 7.6252 1.76834 32.4063 -27.165 7.33541 1.60196 32.0388 -27.17 7.05235 1.45552 31.6692 -27.175 6.77651 1.32786 31.2977 -27.18 6.50836 1.21785 30.9252 -27.185 6.24827 1.12438 30.5527 -27.19 5.99659 1.04635 30.1809 -27.195 5.75361 0.982696 29.8106 -27.2 5.51958 0.932353 29.4423 -27.205 5.2947 0.894285 29.0766 -27.21 5.07913 0.867475 28.714 -27.215 4.87296 0.850924 28.3549 -27.22 4.67625 0.843653 27.9994 -27.225 4.48901 0.844701 27.6479 -27.23 4.31119 0.853126 27.3005 -27.235 4.14272 0.868005 26.9572 -27.24 3.98345 0.888452 26.6179 -27.245 3.83309 0.914189 26.2829 -27.25 3.69141 0.944913 25.9522 -27.255 3.5582 0.980154 25.6258 -27.26 3.43328 1.01948 25.3038 -27.265 3.31645 1.06249 24.9861 -27.27 3.20749 1.10884 24.6727 -27.275 3.1062 1.15819 24.3636 -27.28 3.01237 1.21028 24.0589 -27.285 2.92577 1.26486 23.7584 -27.29 2.84618 1.32173 23.4622 -27.295 2.77337 1.38071 23.1702 -27.3 2.7071 1.44167 22.8825 -27.305 2.64714 1.50454 22.599 -27.31 2.59324 1.56925 22.3197 -27.315 2.54514 1.63579 22.0445 -27.32 2.5026 1.70418 21.7735 -27.325 2.46534 1.77448 21.5065 -27.33 2.43316 1.8467 21.2437 -27.335 2.40597 1.92082 20.985 -27.34 2.38369 1.99684 20.7304 -27.345 2.36623 2.07477 20.4799 -27.35 2.35352 2.15467 20.2335 -27.355 2.34546 2.23658 19.9911 -27.36 2.34197 2.32058 19.7529 -27.365 2.34295 2.40677 19.5188 -27.37 2.3483 2.49527 19.2888 -27.375 2.35794 2.58619 19.0631 -27.38 2.37175 2.67971 18.8415 -27.385 2.38964 2.77599 18.6242 -27.39 2.41151 2.87522 18.4112 -27.395 2.43724 2.97762 18.2026 -27.4 2.46674 3.08341 17.9984 -27.405 2.49987 3.19283 17.7988 -27.41 2.53655 3.30617 17.6037 -27.415 2.57688 3.42349 17.4133 -27.42 2.62101 3.54492 17.2277 -27.425 2.66897 3.67064 17.047 -27.43 2.72083 3.80086 16.8713 -27.435 2.77663 3.93576 16.7007 -27.44 2.83644 4.07557 16.5353 -27.445 2.90032 4.2205 16.3754 -27.45 2.96833 4.37077 16.2211 -27.455 3.04055 4.52661 16.0725 -27.46 3.11705 4.68825 15.93 -27.465 3.1979 4.85593 15.7938 -27.47 3.28319 5.02991 15.6641 -27.475 3.37299 5.21043 15.5412 -27.48 3.4674 5.39775 15.4254 -27.485 3.56649 5.59213 15.3171 -27.49 3.67037 5.79386 15.2165 -27.495 3.77913 6.00321 15.1241 -27.5 3.89285 6.2201 15.0402 -27.505 4.01168 6.44421 14.9653 -27.51 4.13582 6.6761 14.8999 -27.515 4.26548 6.91628 14.8444 -27.52 4.40085 7.16517 14.7995 -27.525 4.54211 7.4231 14.7656 -27.53 4.68942 7.69033 14.7435 -27.535 4.84293 7.96704 14.7337 -27.54 5.00278 8.25331 14.737 -27.545 5.16909 8.54917 14.7542 -27.55 5.34196 8.85453 14.7861 -27.555 5.52148 9.16925 14.8334 -27.56 5.70775 9.49309 14.8971 -27.565 5.90083 9.82574 14.9781 -27.57 6.10076 10.1668 15.0774 -27.575 6.3076 10.5158 15.1959 -27.58 6.52135 10.8721 15.3347 -27.585 6.74204 11.2352 15.4949 -27.59 6.96966 11.6043 15.6777 -27.595 7.2042 11.9785 15.8841 -27.6 7.44562 12.3571 16.1154 -27.605 7.69388 12.7389 16.3729 -27.61 7.94893 13.1231 16.6578 -27.615 8.21063 13.5084 16.9713 -27.62 8.47817 13.894 17.3129 -27.625 8.75117 14.2776 17.6841 -27.63 9.02929 14.6565 18.0863 -27.635 9.31211 15.0282 18.5209 -27.64 9.59907 15.3899 18.9887 -27.645 9.88948 15.7388 19.4902 -27.65 10.1826 16.0721 20.0255 -27.655 10.4774 16.3867 20.5942 -27.66 10.7729 16.6797 21.1958 -27.665 11.068 16.9479 21.8292 -27.67 11.3614 17.1882 22.493 -27.675 11.6516 17.3974 23.1854 -27.68 11.9373 17.5721 23.9041 -27.685 12.2167 17.709 24.6468 -27.69 12.4881 17.8046 25.4104 -27.695 12.7496 17.8554 26.1916 -27.7 12.9993 17.8577 26.9867 -27.705 13.2357 17.8077 27.7928 -27.71 13.4578 17.703 28.6058 -27.715 13.6632 17.5435 29.4183 -27.72 13.8495 17.3293 30.2232 -27.725 14.0146 17.0611 31.0139 -27.73 14.1568 16.74 31.7842 -27.735 14.2745 16.3675 32.5281 -27.74 14.3663 15.9453 33.2404 -27.745 14.4312 15.4757 33.9161 -27.75 14.4683 14.9614 34.5508 -27.755 14.477 14.4055 35.1403 -27.76 14.457 13.8114 35.681 -27.765 14.4081 13.1831 36.1698 -27.77 14.3305 12.5247 36.6038 -27.775 14.2246 11.8409 36.9807 -27.78 14.0908 11.1372 37.2985 -27.785 13.9287 10.4228 37.554 -27.79 13.7394 9.70518 37.7477 -27.795 13.5245 8.99012 37.8809 -27.8 13.2856 8.28294 37.9554 -27.805 13.0245 7.58854 37.9733 -27.81 12.7431 6.91133 37.937 -27.815 12.443 6.25528 37.8491 -27.82 12.1263 5.62388 37.7125 -27.825 11.7948 5.02019 37.5307 -27.83 11.4507 4.44678 37.3072 -27.835 11.0958 3.9058 37.0458 -27.84 10.7325 3.39889 36.7508 -27.845 10.3627 2.92728 36.4266 -27.85 9.98874 2.49172 36.0781 -27.855 9.6129 2.09249 35.7103 -27.86 9.23707 1.72841 35.3269 -27.865 8.86268 1.3976 34.9297 -27.87 8.49124 1.099 34.5214 -27.875 8.1241 0.831385 34.1042 -27.88 7.76253 0.593454 33.6806 -27.885 7.40765 0.383774 33.2524 -27.89 7.06048 0.200797 32.8217 -27.895 6.72188 0.0428585 32.39 -27.9 6.39264 -0.0918198 31.9588 -27.905 6.0734 -0.205134 31.5295 -27.91 5.76467 -0.299096 31.1032 -27.915 5.46686 -0.375834 30.6808 -27.92 5.18025 -0.437592 30.263 -27.925 4.90499 -0.486638 29.8505 -27.93 4.64119 -0.523502 29.4432 -27.935 4.3888 -0.548986 29.0413 -27.94 4.14771 -0.564306 28.645 -27.945 3.91781 -0.570606 28.2542 -27.95 3.69894 -0.568954 27.8692 -27.955 3.49094 -0.560343 27.4898 -27.96 3.29359 -0.545691 27.1163 -27.965 3.10669 -0.525842 26.7486 -27.97 2.92997 -0.501565 26.3865 -27.975 2.76317 -0.473552 26.0301 -27.98 2.60598 -0.442422 25.6793 -27.985 2.45809 -0.40872 25.3339 -27.99 2.31914 -0.372913 24.9938 -27.995 2.18873 -0.335399 24.6588 -28 2.06644 -0.296526 24.3289 -28.005 1.95196 -0.256604 24.0039 -28.01 1.84499 -0.215911 23.6837 -28.015 1.74525 -0.174695 23.3682 -28.02 1.65243 -0.133173 23.0574 -28.025 1.56624 -0.0915299 22.7511 -28.03 1.48638 -0.0499209 22.4493 -28.035 1.41254 -0.00847001 22.1517 -28.04 1.34442 0.0327297 21.8585 -28.045 1.28171 0.073616 21.5693 -28.05 1.2241 0.114157 21.2843 -28.055 1.17127 0.154354 21.0032 -28.06 1.12292 0.194235 20.7261 -28.065 1.07872 0.233862 20.4527 -28.07 1.03842 0.27328 20.1832 -28.075 1.00188 0.312464 19.9173 -28.08 0.968966 0.351414 19.6551 -28.085 0.939545 0.390145 19.3965 -28.09 0.913474 0.428682 19.1415 -28.095 0.890615 0.467064 18.89 -28.1 0.870826 0.505343 18.642 -28.105 0.853967 0.54358 18.3973 -28.11 0.839894 0.581852 18.156 -28.115 0.828466 0.620247 17.9181 -28.12 0.819539 0.658865 17.6834 -28.125 0.812967 0.697819 17.452 -28.13 0.808605 0.737236 17.2238 -28.135 0.806306 0.777251 16.9987 -28.14 0.805932 0.818012 16.7768 -28.145 0.807472 0.859577 16.5579 -28.15 0.810932 0.901999 16.3422 -28.155 0.816289 0.945352 16.1294 -28.16 0.823526 0.989719 15.9198 -28.165 0.832622 1.03519 15.7131 -28.17 0.843559 1.08187 15.5094 -28.175 0.856322 1.12987 15.3086 -28.18 0.870893 1.1793 15.1108 -28.185 0.887256 1.23028 14.9159 -28.19 0.905399 1.28295 14.724 -28.195 0.925306 1.33744 14.5349 -28.2 0.946964 1.39392 14.3487 -28.205 0.970363 1.45253 14.1655 -28.21 0.99549 1.51344 13.9851 -28.215 1.02234 1.57683 13.8076 -28.22 1.05097 1.64282 13.633 -28.225 1.08147 1.71153 13.4614 -28.23 1.11389 1.78312 13.2927 -28.235 1.14829 1.85773 13.1269 -28.24 1.18472 1.93553 12.964 -28.245 1.22326 2.01669 12.8041 -28.25 1.26398 2.10139 12.6472 -28.255 1.30695 2.18983 12.4934 -28.26 1.35225 2.28222 12.3426 -28.265 1.39997 2.37876 12.195 -28.27 1.45021 2.47968 12.0507 -28.275 1.50305 2.58522 11.9096 -28.28 1.5586 2.69561 11.7719 -28.285 1.61696 2.81112 11.6377 -28.29 1.67824 2.93201 11.507 -28.295 1.74255 3.05856 11.3801 -28.3 1.81002 3.19104 11.2569 -28.305 1.88078 3.32971 11.1378 -28.31 1.95518 3.47433 11.0231 -28.315 2.03337 3.62525 10.913 -28.32 2.11546 3.78301 10.8076 -28.325 2.20159 3.94812 10.7068 -28.33 2.29188 4.12109 10.6109 -28.335 2.3865 4.3024 10.5199 -28.34 2.48559 4.49252 10.4341 -28.345 2.58933 4.69191 10.3539 -28.35 2.69792 4.90099 10.2795 -28.355 2.81155 5.1202 10.2113 -28.36 2.93045 5.34992 10.1499 -28.365 3.05483 5.59055 10.0958 -28.37 3.18494 5.84246 10.0494 -28.375 3.32103 6.106 10.0115 -28.38 3.46337 6.38151 9.98272 -28.385 3.61224 6.6693 9.96383 -28.39 3.76794 6.96968 9.95562 -28.395 3.93076 7.28294 9.95895 -28.4 4.10103 7.60934 9.97473 -28.405 4.27907 7.94914 10.0039 -28.41 4.46525 8.30258 10.0476 -28.415 4.6599 8.66988 10.1068 -28.42 4.86341 9.05124 10.1827 -28.425 5.07616 9.44685 10.2764 -28.43 5.29854 9.85687 10.3893 -28.435 5.53097 10.2815 10.5226 -28.44 5.77291 10.7195 10.6772 -28.445 6.02428 11.1708 10.855 -28.45 6.28563 11.6356 11.0583 -28.455 6.5574 12.1142 11.2895 -28.46 6.83988 12.6061 11.5509 -28.465 7.13328 13.1107 11.8447 -28.47 7.43766 13.6267 12.1729 -28.475 7.75296 14.1528 12.5377 -28.48 8.07901 14.6869 12.941 -28.485 8.41552 15.2268 13.3846 -28.49 8.76207 15.7698 13.8705 -28.495 9.11813 16.3128 14.4004 -28.5 9.48304 16.8523 14.9758 -28.505 9.85603 17.3844 15.5985 -28.51 10.2362 17.9048 16.2699 -28.515 10.6225 18.4089 16.9915 -28.52 11.0139 18.8916 17.7646 -28.525 11.409 19.3474 18.5905 -28.53 11.8064 19.7704 19.4705 -28.535 12.2048 20.157 20.4038 -28.54 12.6017 20.5012 21.3869 -28.545 12.9946 20.7934 22.4167 -28.55 13.3807 21.0255 23.4889 -28.555 13.7573 21.1899 24.5986 -28.56 14.1214 21.2802 25.74 -28.565 14.4702 21.2908 26.9066 -28.57 14.8006 21.2173 28.091 -28.575 15.1096 21.0559 29.2849 -28.58 15.3939 20.804 30.4793 -28.585 15.6504 20.46 31.6643 -28.59 15.8758 20.0231 32.8292 -28.595 16.0666 19.4936 33.9626 -28.6 16.2195 18.8725 35.0521 -28.605 16.332 18.1566 36.0835 -28.61 16.4028 17.351 37.0454 -28.615 16.43 16.4717 37.93 -28.62 16.4121 15.5337 38.7311 -28.625 16.3485 14.5504 39.4431 -28.63 16.2389 13.5345 40.062 -28.635 16.0837 12.4971 40.5845 -28.64 15.8838 11.4482 41.0089 -28.645 15.6408 10.3967 41.3341 -28.65 15.3567 9.35006 41.5606 -28.655 15.0342 8.31474 41.6898 -28.66 14.6766 7.29587 41.7242 -28.665 14.2876 6.29741 41.6675 -28.67 13.8716 5.3221 41.5245 -28.675 13.4311 4.38172 41.3038 -28.68 12.9673 3.49285 41.0159 -28.685 12.4841 2.65943 40.6683 -28.69 11.9856 1.88434 40.2684 -28.695 11.4752 1.16942 39.8235 -28.7 10.9565 0.515499 39.3407 -28.705 10.4328 -0.0776393 38.8273 -28.71 9.90711 -0.611221 38.2901 -28.715 9.3823 -1.0875 37.736 -28.72 8.86104 -1.50976 37.1719 -28.725 8.34582 -1.88231 36.6043 -28.73 7.83886 -2.20881 36.0373 -28.735 7.34189 -2.49146 35.4717 -28.74 6.85636 -2.73379 34.9099 -28.745 6.38352 -2.93925 34.3542 -28.75 5.92446 -3.11121 33.8064 -28.755 5.48007 -3.25293 33.2683 -28.76 5.05108 -3.36761 32.7408 -28.765 4.63802 -3.45834 32.225 -28.77 4.24124 -3.52814 31.7213 -28.775 3.86093 -3.57992 31.23 -28.78 3.49707 -3.61651 30.7508 -28.785 3.1496 -3.64038 30.2838 -28.79 2.81832 -3.65323 29.829 -28.795 2.50282 -3.65677 29.3859 -28.8 2.20269 -3.6526 28.9542 -28.805 1.91745 -3.64219 28.5335 -28.81 1.64665 -3.62692 28.1234 -28.815 1.3898 -3.60806 27.7235 -28.82 1.14638 -3.58677 27.3334 -28.825 0.915871 -3.5641 26.9528 -28.83 0.697725 -3.54099 26.5813 -28.835 0.491376 -3.51827 26.2185 -28.84 0.296237 -3.49666 25.8642 -28.845 0.111705 -3.47679 25.518 -28.85 -0.0628457 -3.45916 25.1795 -28.855 -0.228058 -3.44416 24.8485 -28.86 -0.384609 -3.4321 24.5246 -28.865 -0.53324 -3.4233 24.2075 -28.87 -0.674444 -3.41807 23.897 -28.875 -0.808664 -3.41665 23.593 -28.88 -0.936349 -3.4193 23.2952 -28.885 -1.05795 -3.4262 23.0036 -28.89 -1.17393 -3.43756 22.7179 -28.895 -1.28476 -3.45354 22.4381 -28.9 -1.39088 -3.47427 22.1641 -28.905 -1.49279 -3.49989 21.8957 -28.91 -1.59096 -3.53047 21.6329 -28.915 -1.68587 -3.5661 21.3755 -28.92 -1.778 -3.60683 21.1235 -28.925 -1.86785 -3.65267 20.8767 -28.93 -1.95591 -3.70364 20.6353 -28.935 -2.04259 -3.75976 20.399 -28.94 -2.12808 -3.82113 20.168 -28.945 -2.2126 -3.88789 19.9423 -28.95 -2.29641 -3.96013 19.7221 -28.955 -2.37974 -4.03798 19.5072 -28.96 -2.46286 -4.12154 19.2979 -28.965 -2.54602 -4.21089 19.0941 -28.97 -2.62949 -4.30614 18.896 -28.975 -2.71355 -4.40736 18.7036 -28.98 -2.79849 -4.51464 18.5171 -28.985 -2.88457 -4.62806 18.3365 -28.99 -2.97211 -4.74767 18.162 -28.995 -3.0614 -4.87354 17.9937 -29 -3.15275 -5.00574 17.8317 -29.005 -3.24646 -5.14431 17.6762 -29.01 -3.34273 -5.28932 17.5274 -29.015 -3.44166 -5.44099 17.3856 -29.02 -3.54342 -5.59954 17.251 -29.025 -3.64815 -5.76516 17.1239 -29.03 -3.756 -5.93804 17.0045 -29.035 -3.86713 -6.11832 16.8933 -29.04 -3.98173 -6.30614 16.7906 -29.045 -4.09996 -6.50162 16.6967 -29.05 -4.22201 -6.70484 16.612 -29.055 -4.34806 -6.91588 16.537 -29.06 -4.47832 -7.13479 16.4721 -29.065 -4.61299 -7.36159 16.4177 -29.07 -4.75228 -7.5963 16.3744 -29.075 -4.89641 -7.8389 16.3426 -29.08 -5.0456 -8.08936 16.323 -29.085 -5.20008 -8.34761 16.316 -29.09 -5.36003 -8.61353 16.3223 -29.095 -5.52526 -8.88664 16.342 -29.1 -5.6959 -9.16704 16.3761 -29.105 -5.87213 -9.45481 16.4257 -29.11 -6.05408 -9.74989 16.4916 -29.115 -6.24185 -10.0521 16.5749 -29.12 -6.43549 -10.3611 16.6765 -29.125 -6.63501 -10.6765 16.7972 -29.13 -6.84039 -10.9976 16.9379 -29.135 -7.05158 -11.3239 17.0994 -29.14 -7.26846 -11.6543 17.2825 -29.145 -7.49089 -11.9881 17.488 -29.15 -7.71871 -12.3239 17.7167 -29.155 -7.95167 -12.6608 17.9691 -29.16 -8.18953 -12.9971 18.2461 -29.165 -8.43199 -13.3316 18.5482 -29.17 -8.6787 -13.6624 18.876 -29.175 -8.9293 -13.988 19.2302 -29.18 -9.18335 -14.3063 19.6113 -29.185 -9.44042 -14.6154 20.0198 -29.19 -9.69999 -14.9132 20.4562 -29.195 -9.9614 -15.1985 20.9203 -29.2 -10.2237 -15.4692 21.4116 -29.205 -10.4858 -15.7218 21.9295 -29.21 -10.7469 -15.9529 22.4734 -29.215 -11.0056 -16.1593 23.0422 -29.22 -11.261 -16.3381 23.6344 -29.225 -11.5119 -16.4865 24.2483 -29.23 -11.7569 -16.602 24.8819 -29.235 -11.9949 -16.6824 25.5328 -29.24 -12.2245 -16.7255 26.1983 -29.245 -12.4442 -16.7295 26.8753 -29.25 -12.6528 -16.6929 27.5604 -29.255 -12.8486 -16.6142 28.25 -29.26 -13.0302 -16.4922 28.94 -29.265 -13.196 -16.326 29.6261 -29.27 -13.3443 -16.1149 30.3036 -29.275 -13.4735 -15.8582 30.9675 -29.28 -13.583 -15.5523 31.613 -29.285 -13.6718 -15.1997 32.2355 -29.29 -13.7386 -14.8053 32.8302 -29.295 -13.7824 -14.3741 33.393 -29.3 -13.8023 -13.9108 33.9201 -29.305 -13.7979 -13.4197 34.4081 -29.31 -13.7688 -12.9049 34.8544 -29.315 -13.7149 -12.3705 35.2564 -29.32 -13.6363 -11.8201 35.6123 -29.325 -13.5334 -11.257 35.9206 -29.33 -13.4069 -10.6846 36.1803 -29.335 -13.2576 -10.1057 36.3908 -29.34 -13.0864 -9.52309 36.5521 -29.345 -12.8949 -8.93919 36.6644 -29.35 -12.6845 -8.35625 36.7285 -29.355 -12.4569 -7.77625 36.7459 -29.36 -12.214 -7.20174 36.7181 -29.365 -11.9553 -6.64234 36.6482 -29.37 -11.6824 -6.10254 36.5387 -29.375 -11.3969 -5.58469 36.3917 -29.38 -11.1009 -5.09078 36.2098 -29.385 -10.7961 -4.62246 35.9953 -29.39 -10.4841 -4.18104 35.751 -29.395 -10.1667 -3.76749 35.4795 -29.4 -9.84538 -3.3824 35.1837 -29.405 -9.52167 -3.02607 34.8666 -29.41 -9.19702 -2.6984 34.5311 -29.415 -8.87281 -2.399 34.1806 -29.42 -8.55035 -2.12709 33.8182 -29.425 -8.23091 -1.88156 33.4473 -29.43 -7.91564 -1.66097 33.0715 -29.435 -7.60569 -1.46371 32.6933 -29.44 -7.30198 -1.28885 32.3114 -29.445 -7.00517 -1.13518 31.9267 -29.45 -6.71582 -1.00147 31.5403 -29.455 -6.43446 -0.88647 31.1534 -29.46 -6.16155 -0.788964 30.7668 -29.465 -5.89748 -0.707737 30.3815 -29.47 -5.64259 -0.641587 29.9981 -29.475 -5.39716 -0.589321 29.6174 -29.48 -5.1614 -0.54976 29.2398 -29.485 -4.93546 -0.521733 28.8659 -29.49 -4.71944 -0.504083 28.4958 -29.495 -4.51336 -0.49566 28.13 -29.5 -4.31721 -0.495328 27.7684 -29.505 -4.13088 -0.50196 27.4112 -29.51 -3.95419 -0.514845 27.0584 -29.515 -3.7869 -0.53374 26.7101 -29.52 -3.6288 -0.55804 26.3665 -29.525 -3.47969 -0.587178 26.0274 -29.53 -3.33935 -0.620632 25.6929 -29.535 -3.20756 -0.657926 25.3629 -29.54 -3.0841 -0.698624 25.0375 -29.545 -2.96873 -0.742337 24.7167 -29.55 -2.86122 -0.788719 24.4003 -29.555 -2.76131 -0.837468 24.0884 -29.56 -2.66876 -0.888326 23.7809 -29.565 -2.58329 -0.941079 23.4778 -29.57 -2.50466 -0.995556 23.1791 -29.575 -2.43257 -1.05163 22.8846 -29.58 -2.36676 -1.10922 22.5944 -29.585 -2.30694 -1.16829 22.3084 -29.59 -2.25279 -1.22882 22.0265 -29.595 -2.2041 -1.29076 21.7487 -29.6 -2.16075 -1.35404 21.475 -29.605 -2.1226 -1.41864 21.2053 -29.61 -2.08951 -1.48454 20.9396 -29.615 -2.06134 -1.55175 20.6779 -29.62 -2.03796 -1.62031 20.4202 -29.625 -2.01922 -1.69025 20.1665 -29.63 -2.00497 -1.76164 19.9166 -29.635 -1.99509 -1.83458 19.6707 -29.64 -1.98941 -1.90917 19.4287 -29.645 -1.98778 -1.98555 19.1907 -29.65 -1.99007 -2.06385 18.9565 -29.655 -1.99611 -2.14425 18.7263 -29.66 -2.00575 -2.22694 18.5 -29.665 -2.01884 -2.31213 18.2777 -29.67 -2.03528 -2.4 18.0593 -29.675 -2.05516 -2.4906 17.845 -29.68 -2.07851 -2.58407 17.6347 -29.685 -2.10533 -2.68055 17.4285 -29.69 -2.13562 -2.7802 17.2265 -29.695 -2.16941 -2.88318 17.0286 -29.7 -2.20671 -2.98967 16.835 -29.705 -2.24753 -3.09986 16.6457 -29.71 -2.2919 -3.21396 16.4608 -29.715 -2.33985 -3.33218 16.2804 -29.72 -2.39139 -3.45474 16.1046 -29.725 -2.44656 -3.58188 15.9335 -29.73 -2.50539 -3.71384 15.7673 -29.735 -2.56792 -3.85089 15.6061 -29.74 -2.63418 -3.99329 15.4501 -29.745 -2.70422 -4.14133 15.2994 -29.75 -2.77809 -4.29526 15.1542 -29.755 -2.85596 -4.45514 15.0148 -29.76 -2.93797 -4.62127 14.8814 -29.765 -3.02426 -4.79397 14.7542 -29.77 -3.11495 -4.97357 14.6335 -29.775 -3.21017 -5.16037 14.5194 -29.78 -3.31006 -5.35466 14.4123 -29.785 -3.41477 -5.55672 14.3124 -29.79 -3.52444 -5.76682 14.2203 -29.795 -3.63922 -5.98521 14.1363 -29.8 -3.75925 -6.21213 14.0609 -29.805 -3.88471 -6.44779 13.9946 -29.81 -4.01574 -6.69242 13.9379 -29.815 -4.15251 -6.94621 13.8913 -29.82 -4.29518 -7.20935 13.8556 -29.825 -4.44394 -7.482 13.8313 -29.83 -4.59895 -7.76432 13.8192 -29.835 -4.76039 -8.05646 13.82 -29.84 -4.92844 -8.35855 13.8344 -29.845 -5.10329 -8.67071 13.8633 -29.85 -5.28513 -8.99303 13.9076 -29.855 -5.47398 -9.32516 13.9679 -29.86 -5.66994 -9.66688 14.0452 -29.865 -5.87325 -10.0183 14.1409 -29.87 -6.08409 -10.3793 14.2561 -29.875 -6.3026 -10.7497 14.3922 -29.88 -6.52886 -11.1291 14.5503 -29.885 -6.76289 -11.5167 14.7317 -29.89 -7.00468 -11.9119 14.9377 -29.895 -7.25415 -12.3136 15.1693 -29.9 -7.51117 -12.7208 15.428 -29.905 -7.77556 -13.1319 15.7149 -29.91 -8.04708 -13.5457 16.0311 -29.915 -8.32546 -13.9602 16.3779 -29.92 -8.61036 -14.3737 16.7565 -29.925 -8.90138 -14.7841 17.168 -29.93 -9.19808 -15.1892 17.6137 -29.935 -9.49996 -15.5865 18.0947 -29.94 -9.80635 -15.9747 18.6112 -29.945 -10.1163 -16.3516 19.1628 -29.95 -10.4288 -16.7122 19.7505 -29.955 -10.743 -17.0519 20.3745 -29.96 -11.0575 -17.366 21.0344 -29.965 -11.3712 -17.6503 21.7293 -29.97 -11.6827 -17.9007 22.4579 -29.975 -11.9905 -18.1134 23.2183 -29.98 -12.2929 -18.2848 24.0079 -29.985 -12.5882 -18.4114 24.8236 -29.99 -12.8747 -18.49 25.662 -29.995 -13.1503 -18.5177 26.5188 -30 -13.413 -18.4918 27.3893 -30.005 -13.6605 -18.4096 28.2684 -30.01 -13.8907 -18.2689 29.1503 -30.015 -14.1011 -18.0676 30.0286 -30.02 -14.2891 -17.8038 30.8964 -30.025 -14.4531 -17.4735 31.7473 -30.03 -14.5923 -17.0751 32.5746 -30.035 -14.7046 -16.6155 33.3706 -30.04 -14.7882 -16.1011 34.1283 -30.045 -14.8415 -15.5384 34.8414 -30.05 -14.8634 -14.9333 35.5044 -30.055 -14.8533 -14.2915 36.1125 -30.06 -14.8106 -13.6185 36.6618 -30.065 -14.7354 -12.9196 37.149 -30.07 -14.628 -12.1994 37.5718 -30.075 -14.489 -11.4627 37.9284 -30.08 -14.3196 -10.7138 38.218 -30.085 -14.1211 -9.95658 38.4403 -30.09 -13.8954 -9.19486 38.5961 -30.095 -13.6445 -8.43205 38.6868 -30.1 -13.3708 -7.67192 38.7144 -30.105 -13.0741 -6.92792 38.682 -30.11 -12.756 -6.20803 38.5927 -30.115 -12.419 -5.51627 38.4502 -30.12 -12.0658 -4.85607 38.2581 -30.125 -11.6987 -4.23028 38.0203 -30.13 -11.32 -3.64115 37.741 -30.135 -10.9322 -3.09034 37.4244 -30.14 -10.5375 -2.57893 37.0749 -30.145 -10.1379 -2.1074 36.6973 -30.15 -9.73571 -1.67564 36.2964 -30.155 -9.33281 -1.28295 35.8773 -30.16 -8.93121 -0.928045 35.4451 -30.165 -8.53278 -0.60905 35.0054 -30.17 -8.13927 -0.323886 34.5611 -30.175 -7.75198 -0.0709302 34.1114 -30.18 -7.37203 0.151709 33.6583 -30.185 -7.00041 0.345932 33.2037 -30.19 -6.63802 0.513645 32.7493 -30.195 -6.28562 0.656757 32.2964 -30.2 -5.9439 0.77718 31.8465 -30.205 -5.61341 0.876832 31.4005 -30.21 -5.2946 0.957634 30.9594 -30.215 -4.98781 1.02151 30.5238 -30.22 -4.69326 1.07039 30.0943 -30.225 -4.41108 1.10621 29.6712 -30.23 -4.14127 1.1309 29.2546 -30.235 -3.88374 1.14619 28.8445 -30.24 -3.63831 1.15265 28.441 -30.245 -3.40475 1.1513 28.0443 -30.25 -3.18278 1.14318 27.6541 -30.255 -2.97213 1.12928 27.2705 -30.26 -2.77251 1.11048 26.8933 -30.265 -2.58361 1.08763 26.5224 -30.27 -2.40511 1.06147 26.1577 -30.275 -2.23665 1.0327 25.7991 -30.28 -2.07788 1.00191 25.4464 -30.285 -1.92844 0.969641 25.0995 -30.29 -1.78792 0.936367 24.7583 -30.295 -1.65592 0.902475 24.4225 -30.3 -1.53203 0.868284 24.092 -30.305 -1.41578 0.834054 23.7667 -30.31 -1.30675 0.80006 23.4464 -30.315 -1.20463 0.766526 23.1309 -30.32 -1.10908 0.73365 22.8202 -30.325 -1.01981 0.701605 22.5142 -30.33 -0.936486 0.670538 22.2126 -30.335 -0.858794 0.640573 21.9155 -30.34 -0.786414 0.611808 21.6227 -30.345 -0.719028 0.584317 21.3342 -30.35 -0.656317 0.558147 21.0497 -30.355 -0.597958 0.533323 20.7693 -30.36 -0.543632 0.509843 20.4927 -30.365 -0.493016 0.487683 20.2201 -30.37 -0.445789 0.46679 19.9512 -30.375 -0.401702 0.447148 19.6859 -30.38 -0.360609 0.428788 19.4244 -30.385 -0.322349 0.411723 19.1664 -30.39 -0.286761 0.395953 18.9119 -30.395 -0.253684 0.381473 18.6609 -30.4 -0.222956 0.368271 18.4133 -30.405 -0.194413 0.356325 18.169 -30.41 -0.167892 0.345605 17.9281 -30.415 -0.143229 0.336076 17.6904 -30.42 -0.120258 0.327691 17.4559 -30.425 -0.0988145 0.320399 17.2246 -30.43 -0.078731 0.314139 16.9963 -30.435 -0.0598404 0.308842 16.7711 -30.44 -0.0419851 0.30444 16.5489 -30.445 -0.0251086 0.300941 16.3297 -30.45 -0.00916095 0.298353 16.1134 -30.455 0.00591892 0.296674 15.9 -30.46 0.0201939 0.2959 15.6894 -30.465 0.0337287 0.296025 15.4816 -30.47 0.04659 0.29704 15.2766 -30.475 0.0588465 0.298932 15.0744 -30.48 0.0705687 0.301688 14.8748 -30.485 0.0818289 0.30529 14.6779 -30.49 0.0927015 0.309721 14.4837 -30.495 0.103263 0.314957 14.292 -30.5 0.113591 0.320974 14.1029 -30.505 0.123766 0.327747 13.9163 -30.51 0.133868 0.335246 13.7322 -30.515 0.143923 0.343494 13.5505 -30.52 0.15394 0.352527 13.3713 -30.525 0.163945 0.362367 13.1945 -30.53 0.173962 0.373039 13.02 -30.535 0.184021 0.384565 12.8479 -30.54 0.194152 0.396969 12.6781 -30.545 0.204391 0.410276 12.5106 -30.55 0.214771 0.424509 12.3453 -30.555 0.225333 0.439692 12.1823 -30.56 0.236118 0.45585 12.0215 -30.565 0.247167 0.473007 11.8628 -30.57 0.258528 0.491187 11.7063 -30.575 0.270249 0.510416 11.5519 -30.58 0.28238 0.530718 11.3996 -30.585 0.294975 0.552117 11.2494 -30.59 0.308081 0.574653 11.1013 -30.595 0.321719 0.598397 10.9552 -30.6 0.335908 0.623414 10.8111 -30.605 0.35067 0.649771 10.6689 -30.61 0.366033 0.677536 10.5288 -30.615 0.382027 0.706784 10.3907 -30.62 0.398689 0.73759 10.2544 -30.625 0.416057 0.770035 10.1201 -30.63 0.434174 0.8042 9.98774 -30.635 0.453089 0.840171 9.85726 -30.64 0.472851 0.878038 9.72867 -30.645 0.493517 0.917892 9.60196 -30.65 0.515146 0.959828 9.47714 -30.655 0.537801 1.00395 9.35418 -30.66 0.56155 1.05035 9.2331 -30.665 0.586465 1.09913 9.11388 -30.67 0.61262 1.15041 8.99652 -30.675 0.640096 1.2043 8.88103 -30.68 0.668977 1.26091 8.76742 -30.685 0.699373 1.32038 8.65573 -30.69 0.731345 1.38289 8.54598 -30.695 0.764941 1.4486 8.43817 -30.7 0.800215 1.5177 8.33227 -30.705 0.837233 1.59038 8.22831 -30.71 0.876073 1.66685 8.12629 -30.715 0.916817 1.74732 8.02626 -30.72 0.959562 1.83202 7.92824 -30.725 1.00441 1.92118 7.83229 -30.73 1.05148 2.01505 7.73848 -30.735 1.10089 2.11388 7.64687 -30.74 1.15277 2.21792 7.55755 -30.745 1.20727 2.32747 7.47061 -30.75 1.26454 2.44279 7.38615 -30.755 1.32474 2.5642 7.3043 -30.76 1.38805 2.69198 7.22518 -30.765 1.45464 2.82645 7.14893 -30.77 1.5247 2.96794 7.07569 -30.775 1.59844 3.11678 7.00562 -30.78 1.67606 3.27332 6.9389 -30.785 1.75779 3.43791 6.8757 -30.79 1.84385 3.61091 6.81622 -30.795 1.93448 3.7925 6.76088 -30.8 2.0299 3.98258 6.71058 -30.805 2.13033 4.18193 6.66535 -30.81 2.236 4.39136 6.62521 -30.815 2.34715 4.61166 6.59031 -30.82 2.46404 4.8436 6.56086 -30.825 2.58692 5.08788 6.53722 -30.83 2.7161 5.34518 6.51981 -30.835 2.85186 5.61615 6.50919 -30.84 2.99451 5.90139 6.506 -30.845 3.14437 6.20147 6.51098 -30.85 3.30178 6.51694 6.52499 -30.855 3.46709 6.84828 6.54898 -30.86 3.64067 7.19596 6.584 -30.865 3.82288 7.56041 6.63121 -30.87 4.01412 7.94201 6.69188 -30.875 4.2148 8.34111 6.76736 -30.88 4.42532 8.75804 6.85912 -30.885 4.64611 9.19307 6.96872 -30.89 4.87763 9.64645 7.09784 -30.895 5.12033 10.1184 7.24826 -30.9 5.37467 10.609 7.42184 -30.905 5.64114 11.1186 7.62056 -30.91 5.92024 11.647 7.84651 -30.915 6.21248 12.1945 8.10186 -30.92 6.51772 12.7601 8.38833 -30.925 6.83547 13.3424 8.70817 -30.93 7.16638 13.9411 9.06528 -30.935 7.51092 14.5557 9.46335 -30.94 7.86936 15.1847 9.90588 -30.945 8.24175 15.8262 10.3962 -30.95 8.62795 16.4775 10.9373 -30.955 9.02761 17.1353 11.5321 -30.96 9.44017 17.7956 12.1833 -30.965 9.86487 18.4539 12.8934 -30.97 10.3007 19.105 13.6645 -30.975 10.7466 19.7428 14.4988 -30.98 11.2011 20.3609 15.3982 -30.985 11.6626 20.9521 16.3642 -30.99 12.1294 21.5085 17.3983 -30.995 12.5994 22.0217 18.5017 -31 13.0705 22.4832 19.6752 -31.005 13.5404 22.8877 20.9158 -31.01 14.0053 23.2224 22.2178 -31.015 14.4614 23.4746 23.5747 -31.02 14.9047 23.633 24.9786 -31.025 15.3312 23.6883 26.4207 -31.03 15.7367 23.6326 27.8907 -31.035 16.117 23.4598 29.3776 -31.04 16.4679 23.1652 30.8687 -31.045 16.7849 22.7462 32.3505 -31.05 17.0637 22.2014 33.8082 -31.055 17.2997 21.5314 35.226 -31.06 17.4884 20.7383 36.5866 -31.065 17.6253 19.8243 37.8712 -31.07 17.7083 18.7869 39.0588 -31.075 17.7352 17.6469 40.1381 -31.08 17.7042 16.428 41.1012 -31.085 17.6144 15.1514 41.942 -31.09 17.4656 13.8364 42.6556 -31.095 17.2585 12.5003 43.239 -31.1 16.9945 11.1579 43.6907 -31.105 16.6761 9.8222 44.0108 -31.11 16.3062 8.50388 44.2009 -31.115 15.889 7.21154 44.2644 -31.12 15.4291 5.95167 44.2062 -31.125 14.9323 4.72859 44.0325 -31.13 14.4044 3.54682 43.7524 -31.135 13.8468 2.43155 43.3831 -31.14 13.2638 1.39338 42.9382 -31.145 12.6609 0.435922 42.429 -31.15 12.0429 -0.438764 41.8664 -31.155 11.4146 -1.23017 41.2611 -31.16 10.7805 -1.93934 40.6231 -31.165 10.1445 -2.56887 39.9625 -31.17 9.51059 -3.12292 39.2886 -31.175 8.88219 -3.6072 38.6105 -31.18 8.26249 -4.02816 37.936 -31.185 7.6541 -4.38924 37.2675 -31.19 7.05912 -4.6954 36.6081 -31.195 6.47938 -4.95178 35.961 -31.2 5.91644 -5.16339 35.3287 -31.205 5.37158 -5.33502 34.7133 -31.21 4.8458 -5.47133 34.1163 -31.215 4.33983 -5.57677 33.5386 -31.22 3.85413 -5.65564 32.9805 -31.225 3.38887 -5.71208 32.4417 -31.23 2.94416 -5.74989 31.9222 -31.235 2.51995 -5.77191 31.4218 -31.24 2.11575 -5.78062 30.9398 -31.245 1.73106 -5.77833 30.4753 -31.25 1.36531 -5.76718 30.0276 -31.255 1.01793 -5.74916 29.5959 -31.26 0.68833 -5.72608 29.1795 -31.265 0.37587 -5.6996 28.7776 -31.27 0.0798969 -5.6712 28.3896 -31.275 -0.200273 -5.64222 28.0148 -31.28 -0.465351 -5.61382 27.6526 -31.285 -0.716073 -5.58699 27.3024 -31.29 -0.953206 -5.56257 26.9637 -31.295 -1.17754 -5.54123 26.6357 -31.3 -1.3899 -5.52349 26.3182 -31.305 -1.59113 -5.50969 26.0104 -31.31 -1.78246 -5.50026 25.7118 -31.315 -1.96462 -5.49559 25.422 -31.32 -2.13809 -5.49592 25.1407 -31.325 -2.30334 -5.50148 24.8679 -31.33 -2.46085 -5.51247 24.6032 -31.335 -2.61113 -5.5291 24.3466 -31.34 -2.75471 -5.55151 24.0979 -31.345 -2.89211 -5.57985 23.857 -31.35 -3.0239 -5.61425 23.6237 -31.355 -3.15064 -5.65478 23.3979 -31.36 -3.27291 -5.70154 23.1794 -31.365 -3.3913 -5.75458 22.9682 -31.37 -3.50643 -5.81391 22.7642 -31.375 -3.61893 -5.87956 22.5672 -31.38 -3.72943 -5.95151 22.3771 -31.385 -3.83859 -6.02972 22.194 -31.39 -3.94708 -6.11413 22.0177 -31.395 -4.05511 -6.20464 21.8484 -31.4 -4.16263 -6.30122 21.6865 -31.405 -4.26986 -6.40392 21.5321 -31.41 -4.37704 -6.51277 21.3853 -31.415 -4.48442 -6.62776 21.2465 -31.42 -4.59221 -6.74889 21.1158 -31.425 -4.70067 -6.87612 20.9933 -31.43 -4.81004 -7.0094 20.8793 -31.435 -4.92054 -7.14865 20.774 -31.44 -5.03244 -7.29378 20.6777 -31.445 -5.14597 -7.44468 20.5904 -31.45 -5.26138 -7.60121 20.5125 -31.455 -5.37892 -7.76323 20.4441 -31.46 -5.49883 -7.93056 20.3856 -31.465 -5.62137 -8.103 20.3372 -31.47 -5.74674 -8.28035 20.299 -31.475 -5.87489 -8.4624 20.2714 -31.48 -6.0059 -8.64906 20.2548 -31.485 -6.1398 -8.84019 20.2498 -31.49 -6.27664 -9.03559 20.2567 -31.495 -6.41645 -9.23503 20.276 -31.5 -6.55924 -9.4382 20.3081 -31.505 -6.705 -9.64474 20.3534 -31.51 -6.85372 -9.85426 20.4123 -31.515 -7.00536 -10.0663 20.4852 -31.52 -7.15987 -10.2803 20.5722 -31.525 -7.31719 -10.4958 20.6739 -31.53 -7.47724 -10.712 20.7903 -31.535 -7.63993 -10.9284 20.9218 -31.54 -7.80514 -11.1442 21.0686 -31.545 -7.97276 -11.3586 21.2308 -31.55 -8.14264 -11.5708 21.4088 -31.555 -8.31463 -11.7799 21.6026 -31.56 -8.48856 -11.985 21.8124 -31.565 -8.6641 -12.1858 22.0381 -31.57 -8.84078 -12.3818 22.2795 -31.575 -9.01818 -12.5711 22.5367 -31.58 -9.19588 -12.7524 22.8097 -31.585 -9.3734 -12.9242 23.0983 -31.59 -9.55026 -13.085 23.4022 -31.595 -9.72595 -13.2336 23.7209 -31.6 -9.89993 -13.3687 24.0539 -31.605 -10.0716 -13.489 24.4003 -31.61 -10.2405 -13.5936 24.7594 -31.615 -10.4059 -13.6813 25.1302 -31.62 -10.5672 -13.7511 25.5114 -31.625 -10.7238 -13.8022 25.9019 -31.63 -10.8749 -13.8337 26.3003 -31.635 -11.0199 -13.8448 26.7049 -31.64 -11.1581 -13.8348 27.1143 -31.645 -11.2886 -13.8031 27.5264 -31.65 -11.4108 -13.7492 27.9395 -31.655 -11.5238 -13.6724 28.3514 -31.66 -11.6268 -13.5725 28.7599 -31.665 -11.719 -13.4489 29.1627 -31.67 -11.8 -13.2991 29.558 -31.675 -11.8696 -13.1231 29.9436 -31.68 -11.9271 -12.9237 30.3174 -31.685 -11.972 -12.7031 30.6771 -31.69 -12.0037 -12.4637 31.0208 -31.695 -12.0221 -12.2078 31.3467 -31.7 -12.0267 -11.9372 31.6532 -31.705 -12.0176 -11.6541 31.9388 -31.71 -11.9945 -11.3601 32.2024 -31.715 -11.9575 -11.0569 32.4428 -31.72 -11.9068 -10.7461 32.6592 -31.725 -11.8425 -10.429 32.8508 -31.73 -11.7651 -10.1071 33.0172 -31.735 -11.6748 -9.78136 33.158 -31.74 -11.5723 -9.45289 33.2729 -31.745 -11.458 -9.12259 33.362 -31.75 -11.3328 -8.79122 33.4255 -31.755 -11.1975 -8.45944 33.4638 -31.76 -11.0528 -8.12777 33.4774 -31.765 -10.8998 -7.79659 33.4669 -31.77 -10.7396 -7.46623 33.4334 -31.775 -10.5718 -7.14166 33.3778 -31.78 -10.3964 -6.82687 33.3007 -31.785 -10.2144 -6.52288 33.2032 -31.79 -10.0268 -6.23062 33.0859 -31.795 -9.83454 -5.9509 32.9498 -31.8 -9.6384 -5.68439 32.796 -31.805 -9.43928 -5.43167 32.6253 -31.81 -9.238 -5.19319 32.439 -31.815 -9.03535 -4.9693 32.2383 -31.82 -8.83207 -4.76021 32.0242 -31.825 -8.6289 -4.56603 31.7981 -31.83 -8.42652 -4.38676 31.5614 -31.835 -8.22559 -4.22226 31.3154 -31.84 -8.02672 -4.07229 31.0616 -31.845 -7.83052 -3.9365 30.8016 -31.85 -7.63754 -3.8144 30.5369 -31.855 -7.44829 -3.70542 30.2691 -31.86 -7.26329 -3.60883 30 -31.865 -7.08302 -3.52402 29.7298 -31.87 -6.90784 -3.45062 29.4572 -31.875 -6.73797 -3.38817 29.183 -31.88 -6.57362 -3.33623 28.9076 -31.885 -6.41498 -3.29435 28.6316 -31.89 -6.2622 -3.26208 28.3555 -31.895 -6.11544 -3.239 28.0797 -31.9 -5.97483 -3.22468 27.8046 -31.905 -5.84048 -3.21868 27.5307 -31.91 -5.7125 -3.22058 27.2582 -31.915 -5.59094 -3.22996 26.9876 -31.92 -5.47588 -3.24641 26.719 -31.925 -5.36736 -3.26951 26.4528 -31.93 -5.2654 -3.29887 26.1892 -31.935 -5.17 -3.33407 25.9283 -31.94 -5.08115 -3.37473 25.6704 -31.945 -4.99882 -3.42044 25.4156 -31.95 -4.92297 -3.47082 25.1639 -31.955 -4.85342 -3.52571 24.9155 -31.96 -4.78993 -3.58533 24.6708 -31.965 -4.73244 -3.64951 24.4297 -31.97 -4.68091 -3.7181 24.1923 -31.975 -4.6353 -3.79096 23.9589 -31.98 -4.59555 -3.86796 23.7294 -31.985 -4.56162 -3.949 23.504 -31.99 -4.53343 -4.034 23.2828 -31.995 -4.51094 -4.12288 23.066 -32 -4.49408 -4.2156 22.8537 -32.005 -4.48277 -4.31212 22.6459 -32.01 -4.47694 -4.41242 22.4429 -32.015 -4.47652 -4.51651 22.2448 -32.02 -4.48142 -4.6244 22.0517 -32.025 -4.49156 -4.73614 21.8638 -32.03 -4.50684 -4.85177 21.6812 -32.035 -4.52718 -4.97138 21.5042 -32.04 -4.55247 -5.09505 21.3328 -32.045 -4.58262 -5.22289 21.1672 -32.05 -4.61751 -5.35502 21.0077 -32.055 -4.65704 -5.4916 20.8544 -32.06 -4.7011 -5.63266 20.7074 -32.065 -4.74967 -5.77803 20.5671 -32.07 -4.80285 -5.92784 20.4337 -32.075 -4.86072 -6.08218 20.3073 -32.08 -4.92335 -6.24114 20.1882 -32.085 -4.9908 -6.40479 20.0767 -32.09 -5.06312 -6.57317 19.973 -32.095 -5.14034 -6.7463 19.8775 -32.1 -5.2225 -6.92422 19.7903 -32.105 -5.30962 -7.10689 19.7119 -32.11 -5.40169 -7.29431 19.6425 -32.115 -5.49872 -7.48643 19.5824 -32.12 -5.60069 -7.68318 19.5322 -32.125 -5.70758 -7.88449 19.492 -32.13 -5.81935 -8.09026 19.4624 -32.135 -5.93595 -8.30037 19.4437 -32.14 -6.05732 -8.51469 19.4363 -32.145 -6.1834 -8.73306 19.4407 -32.15 -6.31411 -8.95531 19.4573 -32.155 -6.44936 -9.18125 19.4866 -32.16 -6.58905 -9.41068 19.5291 -32.165 -6.73306 -9.64337 19.5852 -32.17 -6.88128 -9.87907 19.6555 -32.175 -7.03357 -10.1175 19.7405 -32.18 -7.18971 -10.3585 19.8401 -32.185 -7.34945 -10.6016 19.9536 -32.19 -7.51282 -10.8459 20.0819 -32.195 -7.67981 -11.0905 20.226 -32.2 -7.85036 -11.3345 20.3869 -32.205 -8.02436 -11.5769 20.5651 -32.21 -8.20164 -11.8167 20.7612 -32.215 -8.38199 -12.0529 20.9757 -32.22 -8.56516 -12.2844 21.2089 -32.225 -8.75081 -12.5102 21.4608 -32.23 -8.93859 -12.7291 21.7316 -32.235 -9.12809 -12.94 22.0211 -32.24 -9.31883 -13.1417 22.329 -32.245 -9.5103 -13.333 22.655 -32.25 -9.70193 -13.5127 22.9985 -32.255 -9.89311 -13.6796 23.359 -32.26 -10.0832 -13.8323 23.7354 -32.265 -10.2714 -13.9694 24.1271 -32.27 -10.457 -14.0898 24.5328 -32.275 -10.6391 -14.1919 24.9514 -32.28 -10.817 -14.2744 25.3815 -32.285 -10.9896 -14.3359 25.8218 -32.29 -11.156 -14.3748 26.2704 -32.295 -11.3153 -14.3897 26.7258 -32.3 -11.4662 -14.379 27.186 -32.305 -11.6077 -14.3412 27.649 -32.31 -11.7402 -14.2746 28.114 -32.315 -11.8628 -14.1796 28.578 -32.32 -11.9746 -14.057 29.0379 -32.325 -12.0745 -13.908 29.4907 -32.33 -12.1617 -13.7335 29.9333 -32.335 -12.2353 -13.5346 30.3632 -32.34 -12.2948 -13.3124 30.7779 -32.345 -12.3396 -13.0682 31.175 -32.35 -12.3692 -12.8032 31.5526 -32.355 -12.3834 -12.5186 31.9088 -32.36 -12.382 -12.2158 32.2419 -32.365 -12.3649 -11.8961 32.5504 -32.37 -12.3322 -11.5609 32.8331 -32.375 -12.284 -11.2118 33.089 -32.38 -12.2205 -10.8501 33.317 -32.385 -12.1422 -10.4775 33.5167 -32.39 -12.0495 -10.0956 33.6875 -32.395 -11.9431 -9.70601 33.8292 -32.4 -11.8237 -9.31043 33.9417 -32.405 -11.6911 -8.91333 34.0247 -32.41 -11.5454 -8.51892 34.0782 -32.415 -11.3875 -8.12914 34.1027 -32.42 -11.2185 -7.74578 34.0988 -32.425 -11.0393 -7.3705 34.0672 -32.43 -10.851 -7.00482 34.0087 -32.435 -10.6546 -6.65013 33.9244 -32.44 -10.4509 -6.30769 33.8153 -32.445 -10.2409 -5.97862 33.6827 -32.45 -10.0257 -5.66393 33.528 -32.455 -9.80599 -5.36447 33.3525 -32.46 -9.58284 -5.08096 33.158 -32.465 -9.35713 -4.814 32.9461 -32.47 -9.12975 -4.56405 32.7188 -32.475 -8.90158 -4.33143 32.4779 -32.48 -8.6735 -4.11635 32.2257 -32.485 -8.44638 -3.91887 31.9643 -32.49 -8.22107 -3.7389 31.6961 -32.495 -7.99842 -3.57604 31.4232 -32.5 -7.77928 -3.42864 31.1444 -32.505 -7.56414 -3.29606 30.8602 -32.51 -7.35344 -3.17788 30.5717 -32.515 -7.14761 -3.07362 30.2795 -32.52 -6.94702 -2.98279 29.9845 -32.525 -6.75201 -2.90489 29.6874 -32.53 -6.56292 -2.83938 29.3889 -32.535 -6.38002 -2.7857 29.0896 -32.54 -6.20356 -2.74328 28.7902 -32.545 -6.03378 -2.7115 28.4911 -32.55 -5.87087 -2.68975 28.1929 -32.555 -5.71497 -2.67737 27.896 -32.56 -5.56623 -2.6737 27.6008 -32.565 -5.42474 -2.67804 27.3077 -32.57 -5.29056 -2.68967 27.0169 -32.575 -5.16373 -2.70785 26.7288 -32.58 -5.04426 -2.73182 26.4436 -32.585 -4.9321 -2.76083 26.1613 -32.59 -4.82701 -2.7952 25.8822 -32.595 -4.72881 -2.83502 25.6062 -32.6 -4.63743 -2.88 25.3336 -32.605 -4.55278 -2.92989 25.0644 -32.61 -4.47479 -2.98442 24.7987 -32.615 -4.40337 -3.0434 24.5367 -32.62 -4.33841 -3.10661 24.2784 -32.625 -4.27983 -3.17391 24.024 -32.63 -4.22752 -3.24513 23.7735 -32.635 -4.18138 -3.32017 23.5271 -32.64 -4.1413 -3.39892 23.2848 -32.645 -4.10718 -3.48131 23.0468 -32.65 -4.0789 -3.56731 22.8131 -32.655 -4.05633 -3.65688 22.5839 -32.66 -4.03937 -3.75002 22.3592 -32.665 -4.02789 -3.84677 22.1392 -32.67 -4.02175 -3.94718 21.9239 -32.675 -4.02082 -4.05131 21.7134 -32.68 -4.02496 -4.15927 21.5078 -32.685 -4.03396 -4.27114 21.3074 -32.69 -4.04781 -4.38694 21.1123 -32.695 -4.06654 -4.50673 20.9225 -32.7 -4.0902 -4.63055 20.7382 -32.705 -4.11881 -4.75846 20.5595 -32.71 -4.1524 -4.89053 20.3865 -32.715 -4.19098 -5.02682 20.2194 -32.72 -4.23457 -5.16739 20.0584 -32.725 -4.28317 -5.31234 19.9036 -32.73 -4.33678 -5.46175 19.7553 -32.735 -4.39539 -5.6157 19.6136 -32.74 -4.459 -5.77429 19.479 -32.745 -4.52758 -5.93763 19.3515 -32.75 -4.60111 -6.10581 19.2314 -32.755 -4.67957 -6.27896 19.1192 -32.76 -4.7629 -6.45719 19.015 -32.765 -4.85107 -6.64062 18.9193 -32.77 -4.94404 -6.82939 18.8323 -32.775 -5.04175 -7.02363 18.7544 -32.78 -5.14413 -7.22348 18.686 -32.785 -5.25112 -7.42909 18.6276 -32.79 -5.36266 -7.64058 18.5794 -32.795 -5.47888 -7.85741 18.5417 -32.8 -5.59996 -8.0794 18.5148 -32.805 -5.72603 -8.30664 18.4994 -32.81 -5.85717 -8.53916 18.4961 -32.815 -5.99345 -8.7769 18.5055 -32.82 -6.1349 -9.01974 18.5282 -32.825 -6.28153 -9.26747 18.5648 -32.83 -6.43333 -9.51982 18.6157 -32.835 -6.59027 -9.77646 18.6816 -32.84 -6.75226 -10.037 18.7631 -32.845 -6.91923 -10.3008 18.8605 -32.85 -7.09105 -10.5675 18.9745 -32.855 -7.26758 -10.8364 19.1055 -32.86 -7.44865 -11.1068 19.254 -32.865 -7.63406 -11.3779 19.4205 -32.87 -7.8236 -11.6488 19.6054 -32.875 -8.01701 -11.9187 19.8092 -32.88 -8.21402 -12.1865 20.0324 -32.885 -8.41434 -12.4512 20.2753 -32.89 -8.61763 -12.7116 20.5383 -32.895 -8.82354 -12.9665 20.8219 -32.9 -9.03171 -13.2147 21.1265 -32.905 -9.24172 -13.4556 21.4516 -32.91 -9.45304 -13.6876 21.7971 -32.915 -9.66502 -13.9086 22.1628 -32.92 -9.877 -14.1163 22.5485 -32.925 -10.0883 -14.3087 22.9536 -32.93 -10.2981 -14.4838 23.3775 -32.935 -10.5057 -14.6398 23.8192 -32.94 -10.7103 -14.775 24.2777 -32.945 -10.911 -14.8877 24.7518 -32.95 -11.1069 -14.9765 25.2397 -32.955 -11.2971 -15.04 25.74 -32.96 -11.4808 -15.0768 26.2506 -32.965 -11.6568 -15.0858 26.7694 -32.97 -11.8242 -15.066 27.2941 -32.975 -11.9818 -15.0164 27.8223 -32.98 -12.1287 -14.9362 28.3511 -32.985 -12.2637 -14.8245 28.8776 -32.99 -12.3856 -14.6809 29.3987 -32.995 -12.4935 -14.5039 29.9113 -33 -12.5872 -14.2913 30.4127 -33.005 -12.6657 -14.046 30.8995 -33.01 -12.7281 -13.7709 31.3683 -33.015 -12.7736 -13.469 31.8162 -33.02 -12.8017 -13.143 32.2406 -33.025 -12.8119 -12.7956 32.6389 -33.03 -12.8039 -12.4294 33.0091 -33.035 -12.7776 -12.0466 33.3493 -33.04 -12.7329 -11.6497 33.658 -33.045 -12.6699 -11.2409 33.9338 -33.05 -12.5891 -10.8221 34.1758 -33.055 -12.4909 -10.3954 34.3832 -33.06 -12.3757 -9.96251 34.5555 -33.065 -12.2445 -9.52521 34.6927 -33.07 -12.0981 -9.08508 34.7948 -33.075 -11.9375 -8.64357 34.8622 -33.08 -11.764 -8.20206 34.8956 -33.085 -11.5788 -7.76188 34.896 -33.09 -11.3816 -7.32931 34.8655 -33.095 -11.173 -6.9087 34.8056 -33.1 -10.9542 -6.50167 34.7171 -33.105 -10.7267 -6.10968 34.601 -33.11 -10.4918 -5.73401 34.4585 -33.115 -10.2505 -5.37574 34.2908 -33.12 -10.0043 -5.03581 34.0994 -33.125 -9.7541 -4.71495 33.8858 -33.13 -9.50114 -4.41373 33.6516 -33.135 -9.24643 -4.13253 33.3987 -33.14 -8.991 -3.87157 33.129 -33.145 -8.73581 -3.63088 32.8446 -33.15 -8.48177 -3.4103 32.5476 -33.155 -8.22976 -3.20953 32.2405 -33.16 -7.98061 -3.02804 31.9258 -33.165 -7.73509 -2.86518 31.6059 -33.17 -7.49395 -2.72007 31.2837 -33.175 -7.25787 -2.59169 30.9621 -33.18 -7.02754 -2.47889 30.6417 -33.185 -6.80349 -2.38077 30.3194 -33.19 -6.58601 -2.29657 29.9957 -33.195 -6.37537 -2.22555 29.6713 -33.2 -6.1718 -2.16697 29.3467 -33.205 -5.97551 -2.12011 29.0225 -33.21 -5.78667 -2.08427 28.6994 -33.215 -5.60543 -2.05874 28.3776 -33.22 -5.43191 -2.04287 28.0578 -33.225 -5.2662 -2.03598 27.7402 -33.23 -5.10837 -2.03743 27.4251 -33.235 -4.95846 -2.04659 27.1129 -33.24 -4.81647 -2.06283 26.8038 -33.245 -4.68238 -2.08556 26.4978 -33.25 -4.55615 -2.11419 26.1952 -33.255 -4.43769 -2.14813 25.896 -33.26 -4.32691 -2.18685 25.6003 -33.265 -4.22351 -2.23024 25.3081 -33.27 -4.12729 -2.27823 25.0197 -33.275 -4.03813 -2.33055 24.7352 -33.28 -3.95592 -2.38694 24.4544 -33.285 -3.88054 -2.44718 24.1776 -33.29 -3.81187 -2.51108 23.9047 -33.295 -3.74978 -2.57846 23.6359 -33.3 -3.69416 -2.64917 23.3711 -33.305 -3.64486 -2.72311 23.1104 -33.31 -3.60175 -2.80019 22.854 -33.315 -3.56468 -2.88035 22.6017 -33.32 -3.53353 -2.96355 22.3538 -33.325 -3.50813 -3.04978 22.1102 -33.33 -3.48835 -3.13908 21.8711 -33.335 -3.47402 -3.23149 21.6364 -33.34 -3.46498 -3.32708 21.4063 -33.345 -3.46108 -3.42596 21.1809 -33.35 -3.46215 -3.52826 20.9601 -33.355 -3.46801 -3.63414 20.7441 -33.36 -3.47848 -3.7437 20.5331 -33.365 -3.49355 -3.857 20.3272 -33.37 -3.51328 -3.97409 20.1264 -33.375 -3.53773 -4.09505 19.9308 -33.38 -3.56693 -4.21994 19.7404 -33.385 -3.60093 -4.34887 19.5555 -33.39 -3.63976 -4.48193 19.3761 -33.395 -3.68344 -4.61923 19.2023 -33.4 -3.732 -4.76088 19.0344 -33.405 -3.78544 -4.90703 18.8726 -33.41 -3.84377 -5.05779 18.7169 -33.415 -3.90701 -5.21333 18.5677 -33.42 -3.97514 -5.3738 18.4252 -33.425 -4.04815 -5.53938 18.2897 -33.43 -4.12602 -5.71023 18.1614 -33.435 -4.20874 -5.88655 18.0406 -33.44 -4.29627 -6.06854 17.9276 -33.445 -4.38859 -6.25641 17.8228 -33.45 -4.48564 -6.45037 17.7266 -33.455 -4.58739 -6.65065 17.6393 -33.46 -4.69377 -6.8575 17.5612 -33.465 -4.80474 -7.07114 17.4929 -33.47 -4.92053 -7.29112 17.4345 -33.475 -5.04143 -7.51725 17.3865 -33.48 -5.16757 -7.74976 17.3494 -33.485 -5.29909 -7.98882 17.3239 -33.49 -5.43609 -8.2345 17.3105 -33.495 -5.57864 -8.48683 17.3099 -33.5 -5.72682 -8.74574 17.3226 -33.505 -5.88066 -9.01108 17.3493 -33.51 -6.04017 -9.28266 17.3906 -33.515 -6.20537 -9.56017 17.4471 -33.52 -6.37622 -9.84327 17.5196 -33.525 -6.55268 -10.1315 17.6086 -33.53 -6.73469 -10.4244 17.7149 -33.535 -6.92217 -10.7213 17.839 -33.54 -7.115 -11.0217 17.9818 -33.545 -7.31305 -11.3247 18.1439 -33.55 -7.51619 -11.6296 18.326 -33.555 -7.72424 -11.9354 18.5288 -33.56 -7.93701 -12.2413 18.753 -33.565 -8.15429 -12.5462 18.9994 -33.57 -8.37585 -12.8489 19.2688 -33.575 -8.60135 -13.1488 19.5614 -33.58 -8.83026 -13.4447 19.8768 -33.585 -9.06216 -13.7344 20.2159 -33.59 -9.29656 -14.0158 20.5793 -33.595 -9.53292 -14.2866 20.9671 -33.6 -9.77062 -14.5446 21.3795 -33.605 -10.009 -14.7877 21.8162 -33.61 -10.2472 -15.0139 22.2768 -33.615 -10.4845 -15.2209 22.7603 -33.62 -10.7201 -15.4069 23.2659 -33.625 -10.9528 -15.5696 23.7922 -33.63 -11.1817 -15.7072 24.3377 -33.635 -11.4058 -15.8177 24.9006 -33.64 -11.6238 -15.8991 25.4788 -33.645 -11.8345 -15.9495 26.07 -33.65 -12.0366 -15.9671 26.6715 -33.655 -12.2288 -15.9499 27.2805 -33.66 -12.4096 -15.8963 27.8939 -33.665 -12.5778 -15.8036 28.5088 -33.67 -12.7331 -15.6681 29.1233 -33.675 -12.8741 -15.4915 29.7324 -33.68 -12.9991 -15.2761 30.331 -33.685 -13.1068 -15.0241 30.9145 -33.69 -13.1962 -14.7378 31.4786 -33.695 -13.2661 -14.4194 32.0194 -33.7 -13.3157 -14.0712 32.5334 -33.705 -13.3446 -13.6953 33.0176 -33.71 -13.3523 -13.294 33.4691 -33.715 -13.3385 -12.8694 33.8857 -33.72 -13.3032 -12.4238 34.2654 -33.725 -13.2466 -11.9593 34.6066 -33.73 -13.169 -11.4781 34.9081 -33.735 -13.0709 -10.9824 35.1692 -33.74 -12.953 -10.4742 35.3894 -33.745 -12.8163 -9.95572 35.5687 -33.75 -12.6618 -9.42909 35.7075 -33.755 -12.4906 -8.89698 35.8064 -33.76 -12.3018 -8.36855 35.8648 -33.765 -12.0964 -7.84861 35.8832 -33.77 -11.8759 -7.33986 35.8629 -33.775 -11.6419 -6.84475 35.8051 -33.78 -11.3956 -6.36549 35.7114 -33.785 -11.1388 -5.90405 35.5834 -33.79 -10.8726 -5.46214 35.4232 -33.795 -10.5987 -5.04124 35.2327 -33.8 -10.3182 -4.64258 35.0142 -33.805 -10.0327 -4.26713 34.7703 -33.81 -9.7433 -3.91564 34.5034 -33.815 -9.45141 -3.58859 34.2164 -33.82 -9.15828 -3.28623 33.9124 -33.825 -8.86515 -3.00857 33.5945 -33.83 -8.57322 -2.75535 33.266 -33.835 -8.2837 -2.5261 32.9306 -33.84 -7.99774 -2.31994 32.5914 -33.845 -7.71642 -2.13492 32.2468 -33.85 -7.44042 -1.9699 31.8973 -33.855 -7.17034 -1.82398 31.5438 -33.86 -6.90674 -1.69623 31.1877 -33.865 -6.65011 -1.58572 30.8298 -33.87 -6.4009 -1.4915 30.4711 -33.875 -6.1595 -1.4126 30.1125 -33.88 -5.92625 -1.34805 29.7546 -33.885 -5.70145 -1.29685 29.3982 -33.89 -5.48532 -1.25799 29.0438 -33.895 -5.27806 -1.23045 28.692 -33.9 -5.07979 -1.21319 28.3431 -33.905 -4.8906 -1.20515 27.9974 -33.91 -4.71051 -1.20526 27.6553 -33.915 -4.5395 -1.21244 27.3167 -33.92 -4.37749 -1.22565 26.9819 -33.925 -4.22423 -1.24488 26.651 -33.93 -4.07951 -1.26993 26.324 -33.935 -3.94317 -1.30032 26.001 -33.94 -3.81506 -1.33559 25.682 -33.945 -3.695 -1.3753 25.3671 -33.95 -3.58282 -1.41909 25.0563 -33.955 -3.47834 -1.4666 24.7497 -33.96 -3.38137 -1.51752 24.4472 -33.965 -3.29172 -1.57159 24.1489 -33.97 -3.2092 -1.62857 23.8548 -33.975 -3.1336 -1.68828 23.5649 -33.98 -3.06471 -1.75054 23.2792 -33.985 -3.00233 -1.81524 22.9977 -33.99 -2.94623 -1.8823 22.7205 -33.995 -2.8962 -1.95167 22.4474 -34 -2.85199 -2.02336 22.1784 -34.005 -2.81337 -2.09738 21.9137 -34.01 -2.78008 -2.17376 21.6531 -34.015 -2.75204 -2.25247 21.3968 -34.02 -2.72917 -2.3335 21.1446 -34.025 -2.7114 -2.41687 20.8967 -34.03 -2.69865 -2.50259 20.6531 -34.035 -2.69084 -2.59071 20.4136 -34.04 -2.68789 -2.6813 20.1785 -34.045 -2.6897 -2.77444 19.9477 -34.05 -2.6962 -2.87025 19.7212 -34.055 -2.70729 -2.96883 19.4992 -34.06 -2.72288 -3.07034 19.2816 -34.065 -2.74288 -3.17493 19.0686 -34.07 -2.76718 -3.2828 18.8602 -34.075 -2.79569 -3.39413 18.6565 -34.08 -2.8283 -3.50916 18.4576 -34.085 -2.86491 -3.62812 18.2636 -34.09 -2.90541 -3.75127 18.0746 -34.095 -2.94978 -3.87882 17.8907 -34.1 -2.9982 -4.01078 17.712 -34.105 -3.05076 -4.14733 17.5388 -34.11 -3.10752 -4.28868 17.3711 -34.115 -3.16852 -4.43503 17.2091 -34.12 -3.23383 -4.58657 17.0529 -34.125 -3.30351 -4.74351 16.9028 -34.13 -3.37764 -4.90605 16.7589 -34.135 -3.45628 -5.07441 16.6216 -34.14 -3.5395 -5.24878 16.491 -34.145 -3.62737 -5.42939 16.3675 -34.15 -3.71998 -5.61644 16.2514 -34.155 -3.81739 -5.81015 16.143 -34.16 -3.91969 -6.01073 16.0427 -34.165 -4.02696 -6.2184 15.9508 -34.17 -4.13929 -6.43339 15.8678 -34.175 -4.25676 -6.6559 15.7941 -34.18 -4.37947 -6.88617 15.7302 -34.185 -4.5074 -7.12385 15.6763 -34.19 -4.64063 -7.3685 15.6329 -34.195 -4.7794 -7.62068 15.6007 -34.2 -4.92394 -7.88085 15.5804 -34.205 -5.07445 -8.14937 15.5727 -34.21 -5.2311 -8.42648 15.5784 -34.215 -5.39404 -8.7123 15.5982 -34.22 -5.56339 -9.00687 15.633 -34.225 -5.73923 -9.31008 15.6836 -34.23 -5.92164 -9.62173 15.7506 -34.235 -6.11064 -9.9415 15.8351 -34.24 -6.30624 -10.269 15.9378 -34.245 -6.50843 -10.6036 16.0595 -34.25 -6.71715 -10.9447 16.2013 -34.255 -6.93233 -11.2915 16.3639 -34.26 -7.15388 -11.6433 16.5483 -34.265 -7.38165 -11.9988 16.7555 -34.27 -7.61549 -12.3572 16.9863 -34.275 -7.85522 -12.7171 17.2417 -34.28 -8.10062 -13.0773 17.5228 -34.285 -8.35146 -13.4363 17.8304 -34.29 -8.60746 -13.7925 18.1657 -34.295 -8.86833 -14.1443 18.5296 -34.3 -9.13375 -14.49 18.9233 -34.305 -9.40327 -14.8279 19.3473 -34.31 -9.67591 -15.1567 19.8006 -34.315 -9.95089 -15.4731 20.2837 -34.32 -10.2274 -15.7736 20.7967 -34.325 -10.5044 -16.0549 21.3395 -34.33 -10.7811 -16.3138 21.9116 -34.335 -11.0563 -16.5472 22.5118 -34.34 -11.3288 -16.7521 23.1389 -34.345 -11.5973 -16.9257 23.7912 -34.35 -11.8607 -17.0652 24.4664 -34.355 -12.1173 -17.1681 25.162 -34.36 -12.3658 -17.2319 25.8751 -34.365 -12.6045 -17.2543 26.6024 -34.37 -12.8317 -17.2329 27.3401 -34.375 -13.0458 -17.1657 28.084 -34.38 -13.2448 -17.0506 28.8297 -34.385 -13.4268 -16.8859 29.5723 -34.39 -13.5911 -16.6667 30.3081 -34.395 -13.7363 -16.3939 31.0315 -34.4 -13.8605 -16.0712 31.736 -34.405 -13.962 -15.7024 32.4156 -34.41 -14.0396 -15.2913 33.0651 -34.415 -14.092 -14.8415 33.6795 -34.42 -14.1185 -14.3566 34.2547 -34.425 -14.1185 -13.8401 34.7868 -34.43 -14.0915 -13.2955 35.2728 -34.435 -14.0378 -12.7263 35.71 -34.44 -13.9573 -12.1358 36.0963 -34.445 -13.8507 -11.5273 36.4303 -34.45 -13.7188 -10.9041 36.711 -34.455 -13.5624 -10.2692 36.9381 -34.46 -13.383 -9.62592 37.1115 -34.465 -13.1822 -8.9772 37.2322 -34.47 -12.9608 -8.32861 37.3012 -34.475 -12.7185 -7.69137 37.32 -34.48 -12.4572 -7.06967 37.2903 -34.485 -12.1788 -6.46682 37.2142 -34.49 -11.8853 -5.88575 37.0937 -34.495 -11.5787 -5.32904 36.9315 -34.5 -11.2609 -4.79884 36.7301 -34.505 -10.9336 -4.29699 36.4925 -34.51 -10.5988 -3.8249 36.2219 -34.515 -10.258 -3.38363 35.9217 -34.52 -9.91313 -2.97387 35.5954 -34.525 -9.56573 -2.59591 35.2471 -34.53 -9.21745 -2.24969 34.8807 -34.535 -8.86983 -1.93476 34.5006 -34.54 -8.52442 -1.65031 34.1114 -34.545 -8.18268 -1.39512 33.718 -34.55 -7.84603 -1.16739 33.3223 -34.555 -7.51551 -0.965054 32.9219 -34.56 -7.19191 -0.786723 32.5181 -34.565 -6.87593 -0.631002 32.1123 -34.57 -6.56822 -0.496499 31.7058 -34.575 -6.26933 -0.381823 31.2996 -34.58 -5.97975 -0.285582 30.8949 -34.585 -5.69991 -0.206381 30.4924 -34.59 -5.43014 -0.142826 30.093 -34.595 -5.17071 -0.0935214 29.6972 -34.6 -4.92181 -0.0570717 29.3055 -34.605 -4.68357 -0.0320798 28.9184 -34.61 -4.45604 -0.0171476 28.536 -34.615 -4.23918 -0.0108767 28.1585 -34.62 -4.03291 -0.0118713 27.7858 -34.625 -3.83698 -0.0195608 27.4181 -34.63 -3.65115 -0.0336202 27.0555 -34.635 -3.47519 -0.0533301 26.698 -34.64 -3.30887 -0.0780224 26.3455 -34.645 -3.15194 -0.10708 25.9981 -34.65 -3.00416 -0.139937 25.6556 -34.655 -2.86527 -0.176077 25.318 -34.66 -2.73499 -0.215038 24.9853 -34.665 -2.61305 -0.256407 24.6574 -34.67 -2.49917 -0.299821 24.3343 -34.675 -2.39304 -0.344971 24.0159 -34.68 -2.29437 -0.391596 23.702 -34.685 -2.20284 -0.439487 23.3928 -34.69 -2.11813 -0.488489 23.0879 -34.695 -2.03991 -0.538494 22.7874 -34.7 -1.96783 -0.589412 22.4912 -34.705 -1.90163 -0.641131 22.1992 -34.71 -1.84113 -0.693555 21.9114 -34.715 -1.78614 -0.74661 21.6277 -34.72 -1.73647 -0.800245 21.348 -34.725 -1.69192 -0.854427 21.0723 -34.73 -1.65229 -0.909147 20.8005 -34.735 -1.6174 -0.964415 20.5326 -34.74 -1.58705 -1.02026 20.2686 -34.745 -1.56103 -1.07675 20.0084 -34.75 -1.53915 -1.13394 19.752 -34.755 -1.5212 -1.19193 19.4992 -34.76 -1.50697 -1.25085 19.2502 -34.765 -1.49628 -1.31083 19.0048 -34.77 -1.4889 -1.37203 18.763 -34.775 -1.4847 -1.43458 18.5249 -34.78 -1.48369 -1.49852 18.2904 -34.785 -1.48582 -1.56393 18.0594 -34.79 -1.49107 -1.63092 17.832 -34.795 -1.49938 -1.69958 17.6082 -34.8 -1.51071 -1.77004 17.388 -34.805 -1.52504 -1.84243 17.1713 -34.81 -1.54232 -1.91689 16.9582 -34.815 -1.56253 -1.99357 16.7487 -34.82 -1.58562 -2.07265 16.5427 -34.825 -1.61156 -2.15431 16.3404 -34.83 -1.64033 -2.23872 16.1417 -34.835 -1.6719 -2.3261 15.9467 -34.84 -1.70624 -2.41666 15.7554 -34.845 -1.74333 -2.51063 15.5678 -34.85 -1.78315 -2.60823 15.384 -34.855 -1.82581 -2.70961 15.2042 -34.86 -1.87141 -2.81495 15.0282 -34.865 -1.91999 -2.92445 14.8563 -34.87 -1.97165 -3.03832 14.6884 -34.875 -2.02647 -3.15679 14.5246 -34.88 -2.08452 -3.28008 14.3651 -34.885 -2.1459 -3.40844 14.2099 -34.89 -2.21071 -3.5421 14.0593 -34.895 -2.27904 -3.68133 13.9132 -34.9 -2.35102 -3.8264 13.772 -34.905 -2.42674 -3.97758 13.6358 -34.91 -2.50632 -4.13515 13.5048 -34.915 -2.5899 -4.29942 13.3793 -34.92 -2.67759 -4.47068 13.2594 -34.925 -2.76954 -4.64925 13.1455 -34.93 -2.86587 -4.83545 13.0378 -34.935 -2.96674 -5.02962 12.9365 -34.94 -3.07229 -5.23185 12.8422 -34.945 -3.18275 -5.4414 12.7554 -34.95 -3.29835 -5.65892 12.6765 -34.955 -3.4193 -5.88519 12.6057 -34.96 -3.54581 -6.12092 12.5434 -34.965 -3.6781 -6.36671 12.4901 -34.97 -3.81637 -6.62313 12.4462 -34.975 -3.96083 -6.89061 12.4123 -34.98 -4.11167 -7.16955 12.3892 -34.985 -4.26909 -7.46024 12.3774 -34.99 -4.43329 -7.76291 12.3778 -34.995 -4.60443 -8.07769 12.3912 -35 -4.78272 -8.40465 12.4185 -35.005 -4.96833 -8.74377 12.4608 -35.01 -5.16144 -9.09493 12.519 -35.015 -5.36221 -9.45797 12.5943 -35.02 -5.57082 -9.83263 12.6879 -35.025 -5.78743 -10.2186 12.801 -35.03 -6.0122 -10.6153 12.935 -35.035 -6.24528 -11.0225 13.0912 -35.04 -6.48684 -11.4394 13.2711 -35.045 -6.73701 -11.8654 13.4762 -35.05 -6.99594 -12.2998 13.7082 -35.055 -7.26378 -12.7417 13.9687 -35.06 -7.54066 -13.1903 14.2594 -35.065 -7.82671 -13.6445 14.5821 -35.07 -8.12147 -14.1034 14.9376 -35.075 -8.42381 -14.5651 15.3261 -35.08 -8.73364 -15.0271 15.7502 -35.085 -9.05073 -15.4864 16.2125 -35.09 -9.37469 -15.94 16.7148 -35.095 -9.70495 -16.3846 17.2586 -35.1 -10.0408 -16.8168 17.8448 -35.105 -10.3813 -17.233 18.4738 -35.11 -10.7253 -17.6293 19.1456 -35.115 -11.0717 -18.0017 19.8597 -35.12 -11.419 -18.3458 20.6151 -35.125 -11.7657 -18.6574 21.4104 -35.13 -12.1099 -18.9317 22.2435 -35.135 -12.4498 -19.164 23.112 -35.14 -12.7833 -19.3492 24.0131 -35.145 -13.108 -19.4821 24.9432 -35.15 -13.4217 -19.5572 25.8985 -35.155 -13.7217 -19.5691 26.8749 -35.16 -14.0071 -19.5133 27.8692 -35.165 -14.275 -19.3879 28.8721 -35.17 -14.522 -19.1914 29.8738 -35.175 -14.7453 -18.9233 30.8651 -35.18 -14.9422 -18.5838 31.8373 -35.185 -15.1104 -18.1739 32.782 -35.19 -15.248 -17.6952 33.6918 -35.195 -15.3531 -17.1502 34.5593 -35.2 -15.4245 -16.5419 35.3779 -35.205 -15.4609 -15.8743 36.1416 -35.21 -15.4615 -15.1521 36.8447 -35.215 -15.4259 -14.3806 37.4822 -35.22 -15.3537 -13.566 38.0496 -35.225 -15.2452 -12.7151 38.5429 -35.23 -15.1 -11.8374 38.9567 -35.235 -14.9184 -10.9449 39.2878 -35.24 -14.702 -10.0468 39.5377 -35.245 -14.4528 -9.15181 39.7089 -35.25 -14.1728 -8.26757 39.8039 -35.255 -13.864 -7.40116 39.8259 -35.26 -13.5289 -6.55886 39.7783 -35.265 -13.1697 -5.74623 39.6652 -35.27 -12.789 -4.96808 39.4909 -35.275 -12.3895 -4.22846 39.2601 -35.28 -11.974 -3.53069 38.9781 -35.285 -11.5453 -2.87736 38.6506 -35.29 -11.1066 -2.2703 38.2834 -35.295 -10.6609 -1.71059 37.8832 -35.3 -10.2115 -1.19842 37.4566 -35.305 -9.76026 -0.732268 37.0088 -35.31 -9.30941 -0.310716 36.5439 -35.315 -8.86105 0.0677375 36.0657 -35.32 -8.41714 0.404821 35.5778 -35.325 -7.97941 0.702482 35.0834 -35.33 -7.54944 0.962892 34.5855 -35.335 -7.1286 1.18844 34.0868 -35.34 -6.71808 1.38175 33.5894 -35.345 -6.31887 1.54564 33.0955 -35.35 -5.9318 1.68317 32.6066 -35.355 -5.55748 1.79763 32.1242 -35.36 -5.19637 1.89236 31.6492 -35.365 -4.84884 1.96857 31.182 -35.37 -4.51501 2.0278 30.7227 -35.375 -4.19493 2.07202 30.2715 -35.38 -3.88855 2.10306 29.8287 -35.385 -3.59579 2.12264 29.3942 -35.39 -3.31653 2.13236 28.9682 -35.395 -3.05058 2.1337 28.5507 -35.4 -2.7977 2.128 28.1416 -35.405 -2.55759 2.11652 27.7407 -35.41 -2.32992 2.10035 27.3478 -35.415 -2.11429 2.08051 26.9626 -35.42 -1.91025 2.05785 26.5849 -35.425 -1.71712 2.03319 26.2144 -35.43 -1.5344 2.0072 25.8508 -35.435 -1.36171 1.98042 25.494 -35.44 -1.19868 1.95338 25.1438 -35.445 -1.04492 1.92655 24.7998 -35.45 -0.90003 1.90037 24.4621 -35.455 -0.763603 1.87523 24.1302 -35.46 -0.635214 1.85148 23.8041 -35.465 -0.514432 1.82945 23.4836 -35.47 -0.400814 1.80939 23.1685 -35.475 -0.293903 1.79156 22.8586 -35.48 -0.193235 1.77612 22.5538 -35.485 -0.0983333 1.76325 22.2539 -35.49 -0.00870985 1.75305 21.9588 -35.495 0.0761338 1.74558 21.6684 -35.5 0.156707 1.74088 21.3825 -35.505 0.233532 1.73893 21.101 -35.51 0.307034 1.73972 20.8238 -35.515 0.377325 1.74336 20.5509 -35.52 0.444586 1.74996 20.2822 -35.525 0.509016 1.75959 20.0177 -35.53 0.570822 1.77236 19.7572 -35.535 0.630221 1.78832 19.5008 -35.54 0.687437 1.80756 19.2484 -35.545 0.742704 1.83011 19 -35.55 0.796264 1.85602 18.7554 -35.555 0.848368 1.88533 18.5148 -35.56 0.899275 1.91806 18.278 -35.565 0.949254 1.95422 18.045 -35.57 0.998582 1.99381 17.8157 -35.575 1.04754 2.03684 17.5902 -35.58 1.09644 2.08327 17.3683 -35.585 1.14556 2.1331 17.1501 -35.59 1.19507 2.18639 16.9355 -35.595 1.24495 2.24335 16.7246 -35.6 1.29532 2.30411 16.5174 -35.605 1.34629 2.36879 16.3139 -35.61 1.398 2.4375 16.1142 -35.615 1.45059 2.51037 15.9182 -35.62 1.50421 2.58754 15.7261 -35.625 1.55901 2.66912 15.5378 -35.63 1.61515 2.75526 15.3534 -35.635 1.6728 2.84608 15.1729 -35.64 1.73214 2.94172 14.9965 -35.645 1.79335 3.04232 14.8241 -35.65 1.85663 3.14803 14.6559 -35.655 1.92216 3.25898 14.4919 -35.66 1.99017 3.37532 14.3322 -35.665 2.06081 3.49721 14.1769 -35.67 2.13421 3.62492 14.0263 -35.675 2.21046 3.75873 13.8804 -35.68 2.28971 3.89891 13.7394 -35.685 2.37208 4.04576 13.6033 -35.69 2.45773 4.19954 13.4726 -35.695 2.5468 4.36053 13.3472 -35.7 2.63948 4.52902 13.2276 -35.705 2.73594 4.70526 13.1139 -35.71 2.83639 4.88954 13.0065 -35.715 2.94103 5.08213 12.9057 -35.72 3.05008 5.2833 12.8118 -35.725 3.16377 5.49331 12.7253 -35.73 3.28234 5.71243 12.6465 -35.735 3.40605 5.94093 12.5759 -35.74 3.53516 6.17907 12.5139 -35.745 3.66996 6.42712 12.461 -35.75 3.8107 6.68519 12.4178 -35.755 3.95737 6.95288 12.3849 -35.76 4.11024 7.2308 12.363 -35.765 4.26959 7.51966 12.3528 -35.77 4.43568 7.82002 12.3552 -35.775 4.60877 8.13231 12.3708 -35.78 4.78909 8.45686 12.4007 -35.785 4.97685 8.79385 12.4458 -35.79 5.17224 9.14336 12.5072 -35.795 5.37543 9.50531 12.5858 -35.8 5.5866 9.87952 12.683 -35.805 5.80587 10.2657 12.7999 -35.81 6.03337 10.6634 12.9378 -35.815 6.26921 11.072 13.0981 -35.82 6.51347 11.4909 13.2822 -35.825 6.76621 11.9192 13.4915 -35.83 7.02749 12.3561 13.7277 -35.835 7.29733 12.8004 13.9922 -35.84 7.57576 13.251 14.2869 -35.845 7.86276 13.7065 14.6134 -35.85 8.15832 14.1655 14.9736 -35.855 8.46237 14.6265 15.3692 -35.86 8.77402 15.0883 15.8002 -35.865 9.09257 15.5483 16.2677 -35.87 9.41765 16.0028 16.7744 -35.875 9.74876 16.4481 17.322 -35.88 10.0852 16.8805 17.9119 -35.885 10.426 17.2959 18.5449 -35.89 10.7703 17.6904 19.221 -35.895 11.1167 18.0597 19.94 -35.9 11.464 18.3996 20.7008 -35.905 11.8104 18.7058 21.5019 -35.91 12.1543 18.9737 22.3412 -35.915 12.4937 19.1987 23.216 -35.92 12.8266 19.3761 24.1231 -35.925 13.1507 19.5012 25.0588 -35.93 13.4635 19.5688 26.0185 -35.935 13.7625 19.5741 26.9973 -35.94 14.045 19.5117 27.9901 -35.945 14.3099 19.3768 28.9928 -35.95 14.5543 19.1687 29.996 -35.955 14.7752 18.8879 30.9892 -35.96 14.9695 18.5354 31.963 -35.965 15.1349 18.113 32.9084 -35.97 15.2691 17.6231 33.8172 -35.975 15.3704 17.0684 34.6819 -35.98 15.4374 16.4524 35.4957 -35.985 15.4689 15.7793 36.2524 -35.99 15.4642 15.0536 36.9467 -35.995 15.4229 14.2806 37.5738 -36 15.3451 13.4662 38.1297 -36.005 15.2309 12.6168 38.611 -36.01 15.0812 11.7394 39.0152 -36.015 14.896 10.8448 39.3387 -36.02 14.6756 9.94568 39.5802 -36.025 14.4222 9.05039 39.7423 -36.03 14.1382 8.16659 39.8277 -36.035 13.8257 7.30122 39.8396 -36.04 13.4872 6.46049 39.7818 -36.045 13.1252 5.64988 39.6583 -36.05 12.7422 4.87415 39.4738 -36.055 12.3408 4.13734 39.233 -36.06 11.9238 3.44275 38.9415 -36.065 11.494 2.79296 38.605 -36.07 11.0542 2.18985 38.2297 -36.075 10.6074 1.63453 37.8224 -36.08 10.1566 1.12742 37.3899 -36.085 9.70474 0.667466 36.939 -36.09 9.25371 0.251588 36.4723 -36.095 8.80549 -0.121771 35.9932 -36.1 8.36195 -0.454231 35.505 -36.105 7.92477 -0.7476 35.0107 -36.11 7.49547 -1.00387 34.513 -36.115 7.07541 -1.22522 34.0143 -36.12 6.66576 -1.41403 33.5168 -36.125 6.26756 -1.57283 33.0225 -36.13 5.88164 -1.70437 32.533 -36.135 5.50868 -1.81158 32.0497 -36.14 5.14921 -1.89756 31.5738 -36.145 4.80357 -1.96562 31.1062 -36.15 4.47192 -2.01924 30.6475 -36.155 4.15429 -2.06107 30.1978 -36.16 3.85051 -2.09039 29.7567 -36.165 3.56042 -2.10857 29.3241 -36.17 3.28379 -2.11713 28.8999 -36.175 3.02037 -2.11748 28.4839 -36.18 2.76989 -2.11093 28.0762 -36.185 2.53204 -2.0987 27.6765 -36.19 2.30648 -2.08188 27.2847 -36.195 2.09283 -2.06147 26.9006 -36.2 1.89069 -2.03836 26.524 -36.205 1.69963 -2.01333 26.1547 -36.21 1.51918 -1.98707 25.7924 -36.215 1.34885 -1.96014 25.4367 -36.22 1.18806 -1.93309 25.0875 -36.225 1.03628 -1.90637 24.7446 -36.23 0.893117 -1.88037 24.4078 -36.235 0.758163 -1.85547 24.0768 -36.24 0.631005 -1.83197 23.7515 -36.245 0.511229 -1.81017 23.4317 -36.25 0.398415 -1.79032 23.1173 -36.255 0.292141 -1.77264 22.8081 -36.26 0.191982 -1.75732 22.504 -36.265 0.0975069 -1.74452 22.2048 -36.27 0.00828265 -1.73435 21.9103 -36.275 -0.0761283 -1.7269 21.6205 -36.28 -0.156167 -1.72223 21.3352 -36.285 -0.232279 -1.72036 21.0544 -36.29 -0.304886 -1.72128 20.7778 -36.295 -0.374244 -1.72507 20.5055 -36.3 -0.440569 -1.73183 20.2373 -36.305 -0.504089 -1.74162 19.9733 -36.31 -0.565034 -1.75452 19.7134 -36.315 -0.623638 -1.77058 19.4575 -36.32 -0.680141 -1.78985 19.2055 -36.325 -0.734786 -1.81239 18.9575 -36.33 -0.787823 -1.83823 18.7134 -36.335 -0.839504 -1.86739 18.4731 -36.34 -0.890087 -1.89989 18.2366 -36.345 -0.939833 -1.93575 18.0039 -36.35 -0.989009 -1.97498 17.7749 -36.355 -1.03788 -2.01756 17.5496 -36.36 -1.08673 -2.0635 17.3279 -36.365 -1.13567 -2.11289 17.11 -36.37 -1.1848 -2.16587 16.8957 -36.375 -1.23425 -2.22254 16.685 -36.38 -1.28413 -2.28301 16.4781 -36.385 -1.33458 -2.3474 16.2749 -36.39 -1.38575 -2.41582 16.0754 -36.395 -1.43779 -2.48839 15.8797 -36.4 -1.49085 -2.56523 15.6877 -36.405 -1.54509 -2.64646 15.4996 -36.41 -1.6007 -2.7322 15.3154 -36.415 -1.65784 -2.82258 15.1351 -36.42 -1.71671 -2.91772 14.9587 -36.425 -1.7775 -3.01775 14.7864 -36.43 -1.84041 -3.12279 14.6182 -36.435 -1.90564 -3.23298 14.4541 -36.44 -1.97334 -3.34852 14.2944 -36.445 -2.0436 -3.46965 14.1391 -36.45 -2.11653 -3.59665 13.9884 -36.455 -2.19226 -3.72977 13.8423 -36.46 -2.27093 -3.86928 13.701 -36.465 -2.35267 -4.01545 13.5648 -36.47 -2.43765 -4.16854 13.4337 -36.475 -2.52604 -4.3288 13.3081 -36.48 -2.61802 -4.49652 13.1881 -36.485 -2.71378 -4.67195 13.074 -36.49 -2.81353 -4.85536 12.9662 -36.495 -2.91749 -5.04702 12.8649 -36.5 -3.02589 -5.24718 12.7705 -36.505 -3.13896 -5.45613 12.6834 -36.51 -3.25695 -5.67412 12.6039 -36.515 -3.38014 -5.90143 12.5325 -36.52 -3.5088 -6.13831 12.4695 -36.525 -3.64306 -6.38458 12.4156 -36.53 -3.78306 -6.64046 12.3714 -36.535 -3.92906 -6.90665 12.3375 -36.54 -4.08132 -7.18373 12.3144 -36.545 -4.24007 -7.4722 12.3029 -36.55 -4.40555 -7.77245 12.3037 -36.555 -4.57797 -8.08477 12.3177 -36.56 -4.75754 -8.40936 12.3458 -36.565 -4.94447 -8.74631 12.3889 -36.57 -5.13894 -9.09562 12.448 -36.575 -5.34113 -9.45717 12.5244 -36.58 -5.55122 -9.83076 12.619 -36.585 -5.76935 -10.2161 12.7333 -36.59 -5.99569 -10.6127 12.8684 -36.595 -6.23036 -11.0202 13.0258 -36.6 -6.47351 -11.4379 13.2069 -36.605 -6.72524 -11.8651 13.4132 -36.61 -6.98567 -12.3011 13.6463 -36.615 -7.25489 -12.7448 13.9078 -36.62 -7.53299 -13.1953 14.1995 -36.625 -7.82006 -13.6516 14.523 -36.63 -8.11542 -14.1125 14.8787 -36.635 -8.41839 -14.5764 15.2675 -36.64 -8.72894 -15.0404 15.6923 -36.645 -9.04683 -15.5019 16.1555 -36.65 -9.37168 -15.9577 16.6591 -36.655 -9.70293 -16.4047 17.2043 -36.66 -10.0398 -16.8393 17.7923 -36.665 -10.3815 -17.2578 18.4234 -36.67 -10.7269 -17.6566 19.0976 -36.675 -11.0746 -18.0314 19.8144 -36.68 -11.4234 -18.378 20.5728 -36.685 -11.7716 -18.6921 21.3712 -36.69 -12.1174 -18.9688 22.2078 -36.695 -12.459 -19.2034 23.0801 -36.7 -12.7941 -19.3907 23.9851 -36.705 -13.1205 -19.5256 24.9195 -36.71 -13.4358 -19.6025 25.8792 -36.715 -13.7374 -19.6157 26.8601 -36.72 -14.0242 -19.5607 27.8589 -36.725 -14.2935 -19.4352 28.867 -36.73 -14.542 -19.2381 29.8744 -36.735 -14.7667 -18.9689 30.8716 -36.74 -14.9649 -18.6278 31.8495 -36.745 -15.1343 -18.2158 32.7999 -36.75 -15.2728 -17.7347 33.715 -36.755 -15.3787 -17.187 34.5874 -36.76 -15.4505 -16.5757 35.4105 -36.765 -15.4872 -15.9049 36.1782 -36.77 -15.4879 -15.1792 36.8847 -36.775 -15.4521 -14.404 37.5251 -36.78 -15.3796 -13.5855 38.0949 -36.785 -15.2705 -12.7304 38.5901 -36.79 -15.1247 -11.8478 39.006 -36.795 -14.9423 -10.9503 39.3386 -36.8 -14.7248 -10.0471 39.5893 -36.805 -14.4743 -9.14708 39.7606 -36.81 -14.1928 -8.25793 39.8552 -36.815 -13.8824 -7.38678 39.8762 -36.82 -13.5455 -6.53997 39.8272 -36.825 -13.1845 -5.7231 39.7121 -36.83 -12.8019 -4.94101 39.5355 -36.835 -12.4004 -4.19781 39.3022 -36.84 -11.9829 -3.49684 39.0175 -36.845 -11.5521 -2.8407 38.687 -36.85 -11.1112 -2.23126 38.317 -36.855 -10.6634 -1.66961 37.9139 -36.86 -10.2118 -1.15598 37.4846 -36.865 -9.75845 -0.688748 37.0343 -36.87 -9.30555 -0.266376 36.5669 -36.875 -8.85521 0.112672 36.0864 -36.88 -8.40938 0.450154 35.5964 -36.885 -7.96982 0.74804 35.1 -36.89 -7.53809 1.00852 34.6003 -36.895 -7.11557 1.23399 34.0997 -36.9 -6.70346 1.42708 33.6007 -36.905 -6.30276 1.59061 33.1052 -36.91 -5.91428 1.72765 32.615 -36.915 -5.53866 1.84145 32.1313 -36.92 -5.17633 1.93547 31.6551 -36.925 -4.82766 2.01124 31.187 -36.93 -4.4928 2.07005 30.7268 -36.935 -4.17176 2.11387 30.2749 -36.94 -3.8645 2.14453 29.8315 -36.945 -3.57092 2.16377 29.3965 -36.95 -3.29088 2.17317 28.9701 -36.955 -3.0242 2.17423 28.5522 -36.96 -2.77063 2.16831 28.1427 -36.965 -2.52988 2.15664 27.7415 -36.97 -2.3016 2.14035 27.3484 -36.975 -2.08539 2.12042 26.9631 -36.98 -1.88081 2.09774 26.5853 -36.985 -1.68729 2.07311 26.2147 -36.99 -1.50428 2.04721 25.8511 -36.995 -1.33137 2.0206 25.4944 -37 -1.16815 1.99381 25.1442 -37.005 -1.01419 1.96731 24.8004 -37.01 -0.869088 1.94154 24.4627 -37.015 -0.732391 1.91689 24.131 -37.02 -0.603664 1.8937 23.8051 -37.025 -0.482457 1.87229 23.4847 -37.03 -0.368314 1.85293 23.1698 -37.035 -0.260773 1.83583 22.8601 -37.04 -0.159363 1.82117 22.5555 -37.045 -0.0636049 1.8091 22.2558 -37.05 0.0269856 1.7997 21.961 -37.055 0.112902 1.79304 21.6708 -37.06 0.194642 1.78912 21.3851 -37.065 0.272583 1.78799 21.1039 -37.07 0.34694 1.78974 20.8271 -37.075 0.417929 1.79449 20.5546 -37.08 0.485774 1.80233 20.2863 -37.085 0.550707 1.81334 20.0222 -37.09 0.612967 1.82761 19.7622 -37.095 0.672803 1.84518 19.5064 -37.1 0.730472 1.86611 19.2546 -37.105 0.786239 1.89044 19.0067 -37.11 0.840377 1.9182 18.7629 -37.115 0.893168 1.9494 18.5229 -37.12 0.944899 1.98405 18.2867 -37.125 0.995871 2.02214 18.0543 -37.13 1.04639 2.06366 17.8257 -37.135 1.09676 2.10858 17.6008 -37.14 1.14727 2.1569 17.3796 -37.145 1.19789 2.20881 17.1621 -37.15 1.24874 2.26444 16.9484 -37.155 1.29993 2.32391 16.7384 -37.16 1.3516 2.38733 16.5322 -37.165 1.4039 2.45481 16.3298 -37.17 1.45697 2.52647 16.1312 -37.175 1.51098 2.60243 15.9364 -37.18 1.56609 2.68281 15.7455 -37.185 1.62247 2.76773 15.5586 -37.19 1.6803 2.85731 15.3756 -37.195 1.73977 2.95169 15.1967 -37.2 1.80106 3.05099 15.0219 -37.205 1.86439 3.15533 14.8512 -37.21 1.92995 3.26485 14.6848 -37.215 1.99794 3.3797 14.5227 -37.22 2.06847 3.5001 14.3651 -37.225 2.14165 3.62633 14.2121 -37.23 2.21759 3.75864 14.0639 -37.235 2.29643 3.8973 13.9205 -37.24 2.37832 4.04258 13.7822 -37.245 2.46339 4.19473 13.6491 -37.25 2.55183 4.35403 13.5214 -37.255 2.64381 4.52072 13.3995 -37.26 2.73951 4.69508 13.2835 -37.265 2.83915 4.87737 13.1739 -37.27 2.94293 5.06784 13.0708 -37.275 3.05107 5.26676 12.9746 -37.28 3.16382 5.47438 12.8857 -37.285 3.28143 5.69097 12.8045 -37.29 3.40415 5.91678 12.7313 -37.295 3.53225 6.15207 12.6667 -37.3 3.66598 6.39696 12.6112 -37.305 3.80538 6.6512 12.5652 -37.31 3.9507 6.9154 12.5296 -37.315 4.10219 7.19021 12.5048 -37.32 4.2601 7.47615 12.4916 -37.325 4.42466 7.77362 12.4907 -37.33 4.59609 8.08297 12.503 -37.335 4.77461 8.40439 12.5293 -37.34 4.96039 8.73799 12.5706 -37.345 5.15364 9.08378 12.6278 -37.35 5.35453 9.44167 12.7022 -37.355 5.56321 9.81144 12.7947 -37.36 5.77983 10.1928 12.9067 -37.365 6.00455 10.5853 13.0394 -37.37 6.23747 10.9885 13.1942 -37.375 6.47871 11.4017 13.3724 -37.38 6.72839 11.8242 13.5755 -37.385 6.98658 12.2551 13.805 -37.39 7.25336 12.6937 14.0626 -37.395 7.52881 13.1387 14.3499 -37.4 7.81297 13.5891 14.6687 -37.405 8.10566 14.0438 15.0201 -37.41 8.40586 14.5015 15.404 -37.415 8.71337 14.9595 15.8228 -37.42 9.02799 15.4151 16.279 -37.425 9.34937 15.8651 16.7748 -37.43 9.67696 16.3062 17.3114 -37.435 10.01 16.7351 17.89 -37.44 10.3478 17.148 18.5111 -37.445 10.6891 17.5413 19.1746 -37.45 11.0327 17.9109 19.8801 -37.455 11.3773 18.2527 20.6267 -37.46 11.7214 18.5623 21.4128 -37.465 12.0632 18.8354 22.2365 -37.47 12.4008 19.0672 23.0953 -37.475 12.7321 19.2529 23.9863 -37.48 13.0549 19.3874 24.906 -37.485 13.3669 19.4655 25.8506 -37.49 13.6654 19.482 26.8155 -37.495 13.9488 19.4314 27.7973 -37.5 14.2154 19.3113 28.7896 -37.505 14.4618 19.1206 29.7822 -37.51 14.6851 18.8591 30.7657 -37.515 14.8824 18.5271 31.731 -37.52 15.0515 18.1258 32.6697 -37.525 15.1904 17.657 33.5742 -37.53 15.2971 17.1229 34.437 -37.535 15.3704 16.5269 35.2517 -37.54 15.4091 15.8725 36.0122 -37.545 15.4123 15.1644 36.7129 -37.55 15.3797 14.4076 37.3491 -37.555 15.3111 13.6079 37.9163 -37.56 15.2065 12.7718 38.4109 -37.565 15.0663 11.9068 38.8294 -37.57 14.89 11.0252 39.1668 -37.575 14.6791 10.137 39.4235 -37.58 14.4353 9.25082 39.6018 -37.585 14.1608 8.37426 39.7042 -37.59 13.8578 7.51433 39.7338 -37.595 13.5284 6.67732 39.6942 -37.6 13.1751 5.86878 39.589 -37.605 12.8003 5.09356 39.4226 -37.61 12.4067 4.35579 39.1998 -37.615 11.9969 3.65886 38.9255 -37.62 11.5737 3.00548 38.6054 -37.625 11.14 2.39762 38.2455 -37.63 10.6989 1.83652 37.852 -37.635 10.2534 1.32272 37.4317 -37.64 9.8062 0.85511 36.9903 -37.645 9.35908 0.431675 36.5315 -37.65 8.91417 0.0509185 36.0591 -37.655 8.4734 -0.288852 35.5765 -37.66 8.03852 -0.589521 35.087 -37.665 7.6111 -0.853165 34.5935 -37.67 7.19251 -1.08206 34.0985 -37.675 6.78396 -1.27866 33.6044 -37.68 6.38647 -1.44563 33.1132 -37.685 6.00089 -1.58582 32.6265 -37.69 5.62788 -1.70227 32.1458 -37.695 5.26792 -1.79822 31.672 -37.7 4.92134 -1.8765 31.206 -37.705 4.58839 -1.93785 30.7478 -37.71 4.26909 -1.98402 30.2976 -37.715 3.9634 -2.01684 29.8555 -37.72 3.67122 -2.03801 29.4215 -37.725 3.39243 -2.04912 28.9959 -37.73 3.12685 -2.05163 28.5786 -37.735 2.87423 -2.04691 28.1694 -37.74 2.63431 -2.03618 27.7683 -37.745 2.40677 -2.02057 27.3752 -37.75 2.19123 -2.00108 26.9898 -37.755 1.98729 -1.97861 26.6118 -37.76 1.79446 -1.95394 26.2409 -37.765 1.61214 -1.92777 25.8769 -37.77 1.43987 -1.90071 25.5196 -37.775 1.27725 -1.87326 25.1688 -37.78 1.12388 -1.84589 24.8243 -37.785 0.979346 -1.81903 24.4859 -37.79 0.843227 -1.79308 24.1534 -37.795 0.715097 -1.76838 23.8266 -37.8 0.594525 -1.74525 23.5053 -37.805 0.481071 -1.72394 23.1894 -37.81 0.37429 -1.7047 22.8787 -37.815 0.273727 -1.6877 22.573 -37.82 0.178923 -1.67309 22.2723 -37.825 0.0894124 -1.66097 21.9762 -37.83 0.00472066 -1.65142 21.6848 -37.835 -0.0756323 -1.64445 21.398 -37.84 -0.152096 -1.64006 21.1155 -37.845 -0.224924 -1.63834 20.8373 -37.85 -0.294321 -1.6394 20.5633 -37.855 -0.360502 -1.64332 20.2936 -37.86 -0.423688 -1.65019 20.0279 -37.865 -0.48411 -1.66007 19.7664 -37.87 -0.542003 -1.67303 19.5088 -37.875 -0.597612 -1.68911 19.2552 -37.88 -0.65119 -1.70835 19.0056 -37.885 -0.702995 -1.73077 18.7598 -37.89 -0.753295 -1.7564 18.5177 -37.895 -0.802363 -1.78523 18.2795 -37.9 -0.850483 -1.81727 18.045 -37.905 -0.897942 -1.85249 17.8141 -37.91 -0.945039 -1.89086 17.5868 -37.915 -0.99207 -1.93236 17.3631 -37.92 -1.0391 -1.9771 17.143 -37.925 -1.08618 -2.02525 16.9265 -37.93 -1.13342 -2.0769 16.7136 -37.935 -1.18097 -2.13215 16.5043 -37.94 -1.22894 -2.19111 16.2986 -37.945 -1.27748 -2.25388 16.0965 -37.95 -1.32675 -2.32056 15.8981 -37.955 -1.37689 -2.39127 15.7034 -37.96 -1.42806 -2.46612 15.5123 -37.965 -1.48043 -2.54522 15.325 -37.97 -1.53417 -2.62868 15.1414 -37.975 -1.58948 -2.71661 14.9617 -37.98 -1.64652 -2.80915 14.7858 -37.985 -1.7055 -2.9064 14.6137 -37.99 -1.7666 -3.00849 14.4457 -37.995 -1.82995 -3.11563 14.2817 -38 -1.89565 -3.22805 14.1219 -38.005 -1.96379 -3.34601 13.9664 -38.01 -2.0345 -3.46975 13.8153 -38.015 -2.10791 -3.59951 13.6686 -38.02 -2.18417 -3.73554 13.5266 -38.025 -2.26342 -3.87811 13.3894 -38.03 -2.34584 -4.02746 13.2572 -38.035 -2.4316 -4.18385 13.1303 -38.04 -2.52089 -4.34754 13.0088 -38.045 -2.61391 -4.5188 12.893 -38.05 -2.71087 -4.69787 12.7832 -38.055 -2.812 -4.88504 12.6796 -38.06 -2.91754 -5.08056 12.5827 -38.065 -3.02772 -5.28471 12.4926 -38.07 -3.14282 -5.49776 12.4099 -38.075 -3.26307 -5.71989 12.3347 -38.08 -3.3886 -5.95101 12.2679 -38.085 -3.5196 -6.19167 12.2098 -38.09 -3.65631 -6.44247 12.1609 -38.095 -3.79896 -6.70395 12.1218 -38.1 -3.94777 -6.97658 12.093 -38.105 -4.10296 -7.26072 12.0752 -38.11 -4.26474 -7.55671 12.0692 -38.115 -4.43335 -7.86476 12.0758 -38.12 -4.60898 -8.18506 12.0958 -38.125 -4.79186 -8.51767 12.1302 -38.13 -4.98218 -8.86262 12.1801 -38.135 -5.18017 -9.21985 12.2465 -38.14 -5.38601 -9.58922 12.3306 -38.145 -5.59992 -9.97052 12.4336 -38.15 -5.82209 -10.3635 12.5569 -38.155 -6.05272 -10.7677 12.7017 -38.16 -6.29199 -11.1828 12.8695 -38.165 -6.54011 -11.6083 13.0619 -38.17 -6.79726 -12.0435 13.2804 -38.175 -7.06362 -12.4878 13.5266 -38.18 -7.33902 -12.9404 13.8015 -38.185 -7.6226 -13.4 14.1054 -38.19 -7.91453 -13.8652 14.4411 -38.195 -8.21491 -14.334 14.8114 -38.2 -8.52365 -14.8045 15.2185 -38.205 -8.84052 -15.2744 15.6646 -38.21 -9.16513 -15.7409 16.1511 -38.215 -9.49692 -16.2012 16.6794 -38.22 -9.83515 -16.652 17.2501 -38.225 -10.1789 -17.0899 17.8639 -38.23 -10.5273 -17.5111 18.5209 -38.235 -10.8789 -17.9114 19.2207 -38.24 -11.2324 -18.2866 19.9629 -38.245 -11.5863 -18.6319 20.7462 -38.25 -11.939 -18.9425 21.5695 -38.255 -12.2884 -19.213 22.4309 -38.26 -12.6327 -19.4381 23.3283 -38.265 -12.9696 -19.6118 24.2593 -38.27 -13.2968 -19.7282 25.221 -38.275 -13.6132 -19.7832 26.2112 -38.28 -13.9159 -19.773 27.2219 -38.285 -14.2018 -19.6939 28.2441 -38.29 -14.4678 -19.5431 29.2689 -38.295 -14.711 -19.3188 30.2878 -38.3 -14.9288 -19.0201 31.2925 -38.305 -15.1189 -18.6469 32.275 -38.31 -15.2792 -18.2002 33.2277 -38.315 -15.4078 -17.6817 34.1431 -38.32 -15.503 -17.0943 35.014 -38.325 -15.5634 -16.4416 35.8338 -38.33 -15.5878 -15.7281 36.5959 -38.335 -15.5752 -14.9594 37.294 -38.34 -15.525 -14.1418 37.9222 -38.345 -15.4364 -13.283 38.4736 -38.35 -15.3091 -12.3931 38.9405 -38.355 -15.1443 -11.4832 39.3234 -38.36 -14.9432 -10.5634 39.6237 -38.365 -14.7075 -9.64311 39.8431 -38.37 -14.439 -8.73072 39.984 -38.375 -14.1396 -7.83391 40.0491 -38.38 -13.8115 -6.95952 40.0414 -38.385 -13.4572 -6.11351 39.9647 -38.39 -13.0791 -5.30104 39.8228 -38.395 -12.6802 -4.52642 39.6202 -38.4 -12.2633 -3.79312 39.3619 -38.405 -11.8317 -3.10379 39.053 -38.41 -11.3887 -2.46022 38.6995 -38.415 -10.938 -1.86342 38.3074 -38.42 -10.4816 -1.31456 37.8848 -38.425 -10.0219 -0.813563 37.4377 -38.43 -9.56141 -0.359433 36.9707 -38.435 -9.10236 0.0491391 36.4883 -38.44 -8.6469 0.413786 35.9943 -38.445 -8.19694 0.736465 35.4923 -38.45 -7.75419 1.01945 34.9859 -38.455 -7.32016 1.26535 34.4778 -38.46 -6.89613 1.47709 33.9707 -38.465 -6.48321 1.65791 33.467 -38.47 -6.08228 1.81138 32.9686 -38.475 -5.69406 1.94087 32.477 -38.48 -5.31915 2.04757 31.9925 -38.485 -4.95785 2.13365 31.5155 -38.49 -4.61038 2.20137 31.0466 -38.495 -4.27688 2.25283 30.5862 -38.5 -3.95739 2.29004 30.1345 -38.505 -3.65192 2.31485 29.6917 -38.51 -3.36038 2.32898 29.258 -38.515 -3.0826 2.33403 28.8332 -38.52 -2.81836 2.33147 28.4173 -38.525 -2.56734 2.32264 28.0099 -38.53 -2.32917 2.30873 27.6109 -38.535 -2.10332 2.29087 27.2199 -38.54 -1.88927 2.26998 26.8368 -38.545 -1.68662 2.2468 26.4613 -38.55 -1.49497 2.22203 26.0932 -38.555 -1.31387 2.19632 25.7322 -38.56 -1.14291 2.17026 25.378 -38.565 -0.981633 2.1444 25.0304 -38.57 -0.829585 2.11923 24.6892 -38.575 -0.686303 2.09519 24.3542 -38.58 -0.551312 2.07267 24.0251 -38.585 -0.424129 2.05202 23.7019 -38.59 -0.304259 2.03353 23.3842 -38.595 -0.191197 2.01744 23.072 -38.6 -0.0844301 2.00393 22.765 -38.605 0.0165662 1.99315 22.4631 -38.61 0.112326 1.98518 22.1662 -38.615 0.20339 1.98006 21.8742 -38.62 0.290116 1.97786 21.5869 -38.625 0.372729 1.97871 21.3042 -38.63 0.451497 1.98273 21.026 -38.635 0.526695 1.99001 20.7523 -38.64 0.598602 2.00064 20.483 -38.645 0.6675 2.0147 20.218 -38.65 0.733679 2.03224 19.9573 -38.655 0.79743 2.05333 19.7008 -38.66 0.859051 2.078 19.4485 -38.665 0.918845 2.10628 19.2002 -38.67 0.977116 2.13821 18.9561 -38.675 1.03418 2.17378 18.7159 -38.68 1.09034 2.21299 18.4797 -38.685 1.14594 2.25584 18.2474 -38.69 1.20123 2.30233 18.019 -38.695 1.2563 2.35262 17.7945 -38.7 1.3113 2.40679 17.574 -38.705 1.36636 2.46498 17.3574 -38.71 1.42166 2.52728 17.1448 -38.715 1.47734 2.5938 16.9361 -38.72 1.53358 2.66465 16.7314 -38.725 1.59056 2.73994 16.5308 -38.73 1.64845 2.81979 16.3342 -38.735 1.70746 2.90429 16.1418 -38.74 1.76776 2.99358 15.9535 -38.745 1.82958 3.08775 15.7694 -38.75 1.89311 3.18693 15.5896 -38.755 1.95859 3.29122 15.4142 -38.76 2.02622 3.40075 15.2431 -38.765 2.09619 3.51566 15.0767 -38.77 2.16859 3.6362 14.9149 -38.775 2.24354 3.76262 14.7579 -38.78 2.32118 3.89518 14.6058 -38.785 2.40162 4.03411 14.4588 -38.79 2.48503 4.17968 14.3171 -38.795 2.57157 4.33211 14.1808 -38.8 2.66139 4.49167 14.0502 -38.805 2.75469 4.6586 13.9256 -38.81 2.85167 4.83312 13.8072 -38.815 2.95252 5.0155 13.6953 -38.82 3.05747 5.20596 13.5902 -38.825 3.16673 5.40475 13.4922 -38.83 3.28056 5.61209 13.4018 -38.835 3.39921 5.82824 13.3193 -38.84 3.52293 6.05341 13.2451 -38.845 3.65199 6.28783 13.1797 -38.85 3.7865 6.53129 13.1235 -38.855 3.92662 6.78413 13.0773 -38.86 4.07258 7.04695 13.0415 -38.865 4.22461 7.32025 13.0169 -38.87 4.38293 7.60443 13.004 -38.875 4.54775 7.89981 13.0038 -38.88 4.71927 8.20659 13.0169 -38.885 4.89767 8.52491 13.0442 -38.89 5.08314 8.85479 13.0868 -38.895 5.27584 9.19617 13.1456 -38.9 5.47593 9.54888 13.2216 -38.905 5.68356 9.91267 13.316 -38.91 5.89886 10.2872 13.4299 -38.915 6.12197 10.672 13.5645 -38.92 6.35301 11.0666 13.7212 -38.925 6.59207 11.4703 13.9013 -38.93 6.83927 11.8824 14.1062 -38.935 7.09468 12.3021 14.3373 -38.94 7.35839 12.7284 14.5963 -38.945 7.63047 13.1604 14.8845 -38.95 7.91071 13.5971 15.2032 -38.955 8.19815 14.0374 15.5521 -38.96 8.49271 14.4789 15.9337 -38.965 8.79425 14.9192 16.3504 -38.97 9.10247 15.3555 16.8041 -38.975 9.41693 15.7849 17.2963 -38.98 9.73702 16.2045 17.8281 -38.985 10.062 16.6109 18.4001 -38.99 10.3909 17.0007 19.0124 -38.995 10.7227 17.3703 19.6649 -39 11.0561 17.716 20.3569 -39.005 11.3898 18.0338 21.0871 -39.01 11.7222 18.3196 21.8541 -39.015 12.0516 18.5691 22.6558 -39.02 12.3762 18.7778 23.4898 -39.025 12.694 18.9411 24.3533 -39.03 13.0028 19.0541 25.2428 -39.035 13.3002 19.1117 26.1546 -39.04 13.5841 19.109 27.085 -39.045 13.8536 19.0421 28.0305 -39.05 14.1057 18.9095 28.9824 -39.055 14.3376 18.7104 29.9316 -39.06 14.5464 18.4445 30.8695 -39.065 14.7299 18.1124 31.7881 -39.07 14.8859 17.715 32.6798 -39.075 15.0126 17.2542 33.5376 -39.08 15.1084 16.7322 34.3549 -39.085 15.172 16.152 35.1256 -39.09 15.2025 15.5174 35.8443 -39.095 15.1991 14.8326 36.506 -39.1 15.1616 14.1024 37.106 -39.105 15.0897 13.3325 37.6404 -39.11 14.9836 12.529 38.1057 -39.115 14.8433 11.6999 38.498 -39.12 14.6687 10.8567 38.813 -39.125 14.4613 10.0081 39.0522 -39.13 14.223 9.16198 39.2175 -39.135 13.9556 8.32533 39.3114 -39.14 13.6613 7.50466 39.3366 -39.145 13.342 6.70577 39.2962 -39.15 13.0001 5.93381 39.1939 -39.155 12.6378 5.19325 39.0336 -39.16 12.2577 4.48795 38.8196 -39.165 11.8623 3.82106 38.5568 -39.17 11.4542 3.19511 38.25 -39.175 11.0362 2.61196 37.905 -39.18 10.6112 2.07281 37.5276 -39.185 10.1821 1.57821 37.124 -39.19 9.75117 1.12714 36.6994 -39.195 9.32035 0.717921 36.2574 -39.2 8.89158 0.349179 35.8017 -39.205 8.4667 0.0193692 35.3355 -39.21 8.04738 -0.273242 34.862 -39.215 7.63511 -0.530572 34.3839 -39.22 7.23121 -0.754723 33.9036 -39.225 6.83684 -0.947985 33.4235 -39.23 6.45297 -1.11283 32.9454 -39.235 6.08043 -1.25191 32.471 -39.24 5.71985 -1.36807 32.0016 -39.245 5.37171 -1.46434 31.5384 -39.25 5.03637 -1.54298 31.0818 -39.255 4.71406 -1.60485 30.6322 -39.26 4.40484 -1.65177 30.1897 -39.265 4.10868 -1.68547 29.7546 -39.27 3.82553 -1.70757 29.327 -39.275 3.55529 -1.71959 28.907 -39.28 3.29781 -1.72292 28.4948 -39.285 3.05287 -1.71888 28.0901 -39.29 2.82025 -1.70863 27.6931 -39.295 2.59962 -1.69326 27.3035 -39.3 2.39067 -1.67374 26.9211 -39.305 2.19298 -1.65092 26.5457 -39.31 2.00606 -1.62557 26.177 -39.315 1.82927 -1.59837 25.815 -39.32 1.66226 -1.56986 25.4593 -39.325 1.50469 -1.54054 25.1098 -39.33 1.35621 -1.51089 24.7663 -39.335 1.21645 -1.48132 24.4286 -39.34 1.08505 -1.45222 24.0967 -39.345 0.961619 -1.42393 23.7702 -39.35 0.845764 -1.39676 23.449 -39.355 0.737084 -1.37097 23.133 -39.36 0.635164 -1.34679 22.822 -39.365 0.53958 -1.32441 22.5159 -39.37 0.449897 -1.30397 22.2146 -39.375 0.365671 -1.28558 21.9178 -39.38 0.286445 -1.26931 21.6256 -39.385 0.211754 -1.25519 21.3377 -39.39 0.14112 -1.24321 21.0541 -39.395 0.0740612 -1.23331 20.7746 -39.4 0.0103931 -1.22558 20.4991 -39.405 -0.0499641 -1.22012 20.2277 -39.41 -0.107218 -1.21699 19.9602 -39.415 -0.161581 -1.21625 19.6967 -39.42 -0.213265 -1.21794 19.4369 -39.425 -0.262489 -1.22209 19.1809 -39.43 -0.309473 -1.22872 18.9286 -39.435 -0.354441 -1.23786 18.68 -39.44 -0.397619 -1.24951 18.435 -39.445 -0.439237 -1.26367 18.1935 -39.45 -0.479528 -1.28032 17.9555 -39.455 -0.518728 -1.29946 17.7209 -39.46 -0.557075 -1.32106 17.4898 -39.465 -0.594813 -1.34507 17.262 -39.47 -0.632096 -1.37153 17.0375 -39.475 -0.668986 -1.40054 16.8163 -39.48 -0.705588 -1.43216 16.5984 -39.485 -0.742011 -1.46645 16.3837 -39.49 -0.77837 -1.50348 16.1723 -39.495 -0.814783 -1.54332 15.9642 -39.5 -0.851374 -1.58604 15.7592 -39.505 -0.888273 -1.63169 15.5574 -39.51 -0.925612 -1.68036 15.3588 -39.515 -0.963531 -1.73212 15.1634 -39.52 -1.00217 -1.78702 14.9712 -39.525 -1.04168 -1.84515 14.7822 -39.53 -1.08222 -1.90658 14.5963 -39.535 -1.12393 -1.97137 14.4136 -39.54 -1.16697 -2.03964 14.2341 -39.545 -1.21143 -2.11152 14.0579 -39.55 -1.25736 -2.1872 13.8849 -39.555 -1.30487 -2.26684 13.7151 -39.56 -1.35403 -2.35063 13.5487 -39.565 -1.40496 -2.43873 13.3856 -39.57 -1.45775 -2.53135 13.226 -39.575 -1.51254 -2.62867 13.0698 -39.58 -1.56945 -2.73089 12.9172 -39.585 -1.62863 -2.83821 12.7682 -39.59 -1.69021 -2.95085 12.6229 -39.595 -1.75437 -3.069 12.4815 -39.6 -1.82126 -3.1929 12.344 -39.605 -1.89107 -3.32277 12.2106 -39.61 -1.96399 -3.45882 12.0813 -39.615 -2.0402 -3.60131 11.9565 -39.62 -2.11992 -3.75045 11.8361 -39.625 -2.20334 -3.90642 11.7206 -39.63 -2.2906 -4.06957 11.61 -39.635 -2.38184 -4.24031 11.5047 -39.64 -2.47721 -4.41906 11.4048 -39.645 -2.57688 -4.60625 11.3105 -39.65 -2.68103 -4.80226 11.2221 -39.655 -2.78985 -5.00748 11.14 -39.66 -2.90354 -5.22228 11.0646 -39.665 -3.02232 -5.44705 10.9963 -39.67 -3.14641 -5.68212 10.9355 -39.675 -3.27605 -5.92785 10.8829 -39.68 -3.41149 -6.18456 10.839 -39.685 -3.553 -6.45259 10.8044 -39.69 -3.70086 -6.73224 10.7798 -39.695 -3.85534 -7.02381 10.766 -39.7 -4.01676 -7.32761 10.7636 -39.705 -4.18541 -7.6439 10.7736 -39.71 -4.36164 -7.97296 10.7968 -39.715 -4.54577 -8.31504 10.8341 -39.72 -4.73815 -8.6704 10.8864 -39.725 -4.93835 -9.03716 10.9545 -39.73 -5.14631 -9.41482 11.0395 -39.735 -5.36266 -9.80477 11.1432 -39.74 -5.58797 -10.2081 11.2672 -39.745 -5.82268 -10.6254 11.4134 -39.75 -6.06717 -11.0571 11.5833 -39.755 -6.32171 -11.5032 11.7788 -39.76 -6.58651 -11.9634 12.0014 -39.765 -6.86166 -12.437 12.253 -39.77 -7.14717 -12.9231 12.5351 -39.775 -7.44298 -13.4203 12.8495 -39.78 -7.74891 -13.9269 13.1979 -39.785 -8.06472 -14.4409 13.5818 -39.79 -8.39007 -14.96 14.003 -39.795 -8.72452 -15.4815 14.4631 -39.8 -9.06755 -16.0023 14.9637 -39.805 -9.41856 -16.519 15.5065 -39.81 -9.77685 -17.0281 16.0932 -39.815 -10.1416 -17.5253 16.7252 -39.82 -10.512 -18.0063 17.4043 -39.825 -10.8871 -18.4665 18.1321 -39.83 -11.2657 -18.9006 18.9102 -39.835 -11.6468 -19.3034 19.7401 -39.84 -12.0291 -19.6693 20.6232 -39.845 -12.4104 -19.9957 21.5551 -39.85 -12.788 -20.2752 22.5311 -39.855 -13.1592 -20.4995 23.5471 -39.86 -13.5213 -20.6615 24.5982 -39.865 -13.8716 -20.7549 25.679 -39.87 -14.2072 -20.7742 26.7833 -39.875 -14.5255 -20.7151 27.9044 -39.88 -14.8235 -20.5742 29.0346 -39.885 -15.0984 -20.349 30.166 -39.89 -15.3473 -20.0378 31.2897 -39.895 -15.5672 -19.6401 32.3963 -39.9 -15.7553 -19.1563 33.4756 -39.905 -15.9085 -18.5876 34.517 -39.91 -16.0238 -17.9359 35.5088 -39.915 -16.0997 -17.1988 36.4377 -39.92 -16.1348 -16.3864 37.2953 -39.925 -16.1279 -15.5131 38.0756 -39.93 -16.0781 -14.5922 38.7739 -39.935 -15.985 -13.6359 39.3862 -39.94 -15.8489 -12.6554 39.9095 -39.945 -15.6703 -11.6606 40.342 -39.95 -15.4507 -10.6607 40.6826 -39.955 -15.1915 -9.66347 40.9311 -39.96 -14.8951 -8.67586 41.0886 -39.965 -14.5642 -7.70364 41.1569 -39.97 -14.2019 -6.75153 41.1387 -39.975 -13.8121 -5.82315 41.038 -39.98 -13.3988 -4.92123 40.8594 -39.985 -12.9637 -4.05889 40.6126 -39.99 -12.5088 -3.24649 40.3069 -39.995 -12.0379 -2.48703 39.9489 -40 -11.5544 -1.78259 39.5454 -40.005 -11.0618 -1.13441 39.1028 -40.01 -10.5631 -0.542807 38.6277 -40.015 -10.0613 -0.00724307 38.1262 -40.02 -9.55918 0.47372 37.6047 -40.025 -9.05924 0.902399 37.0689 -40.03 -8.56385 1.282 36.525 -40.035 -8.0752 1.6166 35.9787 -40.04 -7.59523 1.90971 35.4336 -40.045 -7.12547 2.16319 34.8901 -40.05 -6.66716 2.38024 34.3503 -40.055 -6.22136 2.56401 33.8161 -40.06 -5.78899 2.71755 33.2893 -40.065 -5.37081 2.84381 32.7711 -40.07 -4.96743 2.94566 32.2625 -40.075 -4.57928 3.02587 31.7643 -40.08 -4.20666 3.08713 31.2771 -40.085 -3.84969 3.13202 30.8009 -40.09 -3.50835 3.16304 30.3357 -40.095 -3.1825 3.18249 29.8813 -40.1 -2.87195 3.192 29.4378 -40.105 -2.57633 3.19307 29.005 -40.11 -2.29522 3.18711 28.5824 -40.115 -2.02817 3.17546 28.1698 -40.12 -1.77475 3.15935 27.7668 -40.125 -1.53448 3.13991 27.3731 -40.13 -1.30688 3.11819 26.9882 -40.135 -1.09145 3.09514 26.612 -40.14 -0.887667 3.0716 26.2441 -40.145 -0.695008 3.04833 25.8843 -40.15 -0.512919 3.026 25.5321 -40.155 -0.340835 3.00518 25.1874 -40.16 -0.178174 2.98633 24.8498 -40.165 -0.0243361 2.96983 24.5192 -40.17 0.121292 2.95597 24.1951 -40.175 0.259379 2.945 23.8774 -40.18 0.390449 2.93721 23.5658 -40.185 0.514914 2.93283 23.2602 -40.19 0.63319 2.93208 22.9604 -40.195 0.745696 2.93516 22.6663 -40.2 0.852854 2.94222 22.3778 -40.205 0.95509 2.95344 22.0946 -40.21 1.05284 2.96893 21.8169 -40.215 1.14652 2.98881 21.5443 -40.22 1.23659 3.01316 21.2769 -40.225 1.32348 3.04205 21.0146 -40.23 1.40764 3.07554 20.7572 -40.235 1.48951 3.11363 20.5047 -40.24 1.56954 3.15635 20.257 -40.245 1.64814 3.2037 20.0141 -40.25 1.72547 3.2558 19.776 -40.255 1.80177 3.31277 19.5428 -40.26 1.87726 3.37471 19.3144 -40.265 1.95217 3.44174 19.091 -40.27 2.02674 3.51394 18.8725 -40.275 2.10123 3.59143 18.6589 -40.28 2.17587 3.67429 18.4504 -40.285 2.25094 3.76261 18.247 -40.29 2.32669 3.85649 18.0487 -40.295 2.4034 3.956 17.8557 -40.3 2.48135 4.06123 17.6679 -40.305 2.5608 4.17226 17.4856 -40.31 2.64207 4.28916 17.3087 -40.315 2.72541 4.41199 17.1374 -40.32 2.81101 4.54091 16.972 -40.325 2.89899 4.67613 16.8125 -40.33 2.98949 4.81788 16.6592 -40.335 3.08266 4.96638 16.5122 -40.34 3.17865 5.12183 16.3719 -40.345 3.27765 5.28442 16.2384 -40.35 3.37981 5.45433 16.112 -40.355 3.48535 5.63174 15.9931 -40.36 3.59444 5.81679 15.8819 -40.365 3.7073 6.00964 15.7788 -40.37 3.82414 6.21043 15.6842 -40.375 3.9452 6.41928 15.5984 -40.38 4.07069 6.6363 15.5219 -40.385 4.20088 6.86161 15.4551 -40.39 4.33602 7.09529 15.3985 -40.395 4.47636 7.33743 15.3525 -40.4 4.62201 7.58783 15.3177 -40.405 4.77298 7.84649 15.2945 -40.41 4.92949 8.11377 15.2838 -40.415 5.09172 8.38995 15.2863 -40.42 5.25983 8.67518 15.3029 -40.425 5.43397 8.96952 15.3344 -40.43 5.61426 9.2729 15.3815 -40.435 5.80079 9.58514 15.4452 -40.44 5.99365 9.90598 15.5264 -40.445 6.19288 10.235 15.6259 -40.45 6.39852 10.5718 15.7446 -40.455 6.61058 10.9156 15.8836 -40.46 6.82906 11.2658 16.0437 -40.465 7.05391 11.6216 16.226 -40.47 7.28509 11.982 16.4314 -40.475 7.52251 12.346 16.6609 -40.48 7.76609 12.7124 16.9157 -40.485 8.01569 13.08 17.1967 -40.49 8.27118 13.4473 17.5051 -40.495 8.5324 13.813 17.8419 -40.5 8.79876 14.1761 18.2072 -40.505 9.06951 14.5351 18.6013 -40.51 9.34421 14.8868 19.0255 -40.515 9.62229 15.2283 19.4807 -40.52 9.90308 15.5566 19.9676 -40.525 10.1858 15.8688 20.4861 -40.53 10.4696 16.1619 21.0361 -40.535 10.7536 16.4329 21.6169 -40.54 11.0365 16.679 22.2275 -40.545 11.3172 16.8973 22.8665 -40.55 11.5944 17.0848 23.532 -40.555 11.8667 17.2387 24.2219 -40.56 12.1327 17.356 24.9337 -40.565 12.3906 17.4341 25.6642 -40.57 12.6387 17.4699 26.4101 -40.575 12.8753 17.4607 27.1677 -40.58 13.0985 17.4036 27.9329 -40.585 13.3062 17.2956 28.7013 -40.59 13.4981 17.1334 29.47 -40.595 13.6722 16.9177 30.2322 -40.6 13.8263 16.6505 30.9813 -40.605 13.9587 16.3337 31.7108 -40.61 14.0676 15.9696 32.415 -40.615 14.1518 15.5605 33.0886 -40.62 14.2102 15.1091 33.7267 -40.625 14.2419 14.6181 34.3252 -40.63 14.2465 14.0907 34.88 -40.635 14.2236 13.53 35.3881 -40.64 14.1731 12.9394 35.8465 -40.645 14.0954 12.3228 36.253 -40.65 13.9908 11.6838 36.6057 -40.655 13.8601 11.0265 36.9034 -40.66 13.7044 10.3553 37.1453 -40.665 13.5241 9.67641 37.3307 -40.67 13.3191 8.99974 37.4595 -40.675 13.0912 8.33036 37.5331 -40.68 12.8422 7.67266 37.5534 -40.685 12.5738 7.03065 37.5224 -40.69 12.2881 6.40793 37.4425 -40.695 11.9867 5.8077 37.3163 -40.7 11.6716 5.23274 37.1467 -40.705 11.3446 4.68546 36.9368 -40.71 11.0076 4.16783 36.6901 -40.715 10.6624 3.68144 36.4104 -40.72 10.311 3.22747 36.1015 -40.725 9.9551 2.8067 35.7678 -40.73 9.59667 2.41949 35.4137 -40.735 9.23758 2.06583 35.0441 -40.74 8.8797 1.74523 34.6639 -40.745 8.52464 1.4554 34.2743 -40.75 8.17362 1.19451 33.8758 -40.755 7.82771 0.961366 33.4704 -40.76 7.48795 0.754731 33.0601 -40.765 7.15523 0.573292 32.6463 -40.77 6.83038 0.415674 32.2308 -40.775 6.51413 0.280439 31.8148 -40.78 6.20711 0.166085 31.3995 -40.785 5.90987 0.0710478 30.9861 -40.79 5.62285 -0.00630295 30.5755 -40.795 5.3464 -0.0676598 30.1684 -40.8 5.0808 -0.114779 29.7655 -40.805 4.82619 -0.149482 29.3674 -40.81 4.58267 -0.173651 28.9742 -40.815 4.35021 -0.189231 28.5863 -40.82 4.12865 -0.196707 28.2037 -40.825 3.91776 -0.196135 27.8263 -40.83 3.71736 -0.188408 27.4541 -40.835 3.52723 -0.174361 27.0873 -40.84 3.34716 -0.154769 26.7257 -40.845 3.17691 -0.130347 26.3693 -40.85 3.01623 -0.101751 26.0182 -40.855 2.86485 -0.0695765 25.6722 -40.86 2.72251 -0.0343608 25.3314 -40.865 2.58892 0.00341926 24.9956 -40.87 2.46377 0.0433464 24.6648 -40.875 2.34676 0.0850629 24.3389 -40.88 2.23755 0.12827 24.0178 -40.885 2.1358 0.17273 23.7014 -40.89 2.04114 0.218255 23.3895 -40.895 1.95322 0.264658 23.0821 -40.9 1.87178 0.31177 22.7791 -40.905 1.79659 0.359447 22.4804 -40.91 1.72743 0.407568 22.186 -40.915 1.66404 0.456038 21.8958 -40.92 1.6062 0.504783 21.6097 -40.925 1.55366 0.553757 21.3276 -40.93 1.50619 0.602934 21.0496 -40.935 1.46354 0.652316 20.7755 -40.94 1.42547 0.701925 20.5052 -40.945 1.39174 0.75181 20.2387 -40.95 1.36209 0.802043 19.976 -40.955 1.33629 0.852719 19.717 -40.96 1.31409 0.903959 19.4617 -40.965 1.2953 0.955855 19.2099 -40.97 1.27989 1.00842 18.9618 -40.975 1.26776 1.06172 18.7172 -40.98 1.25882 1.11581 18.4761 -40.985 1.25301 1.17077 18.2385 -40.99 1.25024 1.22668 18.0044 -40.995 1.25042 1.28365 17.7738 -41 1.25348 1.3418 17.5465 -41.005 1.25934 1.40123 17.3227 -41.01 1.26792 1.46209 17.1022 -41.015 1.27914 1.52453 16.8852 -41.02 1.29293 1.5887 16.6715 -41.025 1.30921 1.65478 16.4612 -41.03 1.32791 1.72295 16.2542 -41.035 1.34895 1.7934 16.0506 -41.04 1.37235 1.86627 15.8504 -41.045 1.39818 1.94167 15.6536 -41.05 1.42646 2.01976 15.4602 -41.055 1.45723 2.10066 15.2702 -41.06 1.49052 2.18456 15.0837 -41.065 1.52639 2.27161 14.9006 -41.07 1.56487 2.362 14.721 -41.075 1.60601 2.45592 14.545 -41.08 1.64987 2.55358 14.3726 -41.085 1.6965 2.65519 14.2038 -41.09 1.74595 2.76097 14.0388 -41.095 1.7983 2.87115 13.8776 -41.1 1.85361 2.986 13.7204 -41.105 1.91194 3.10575 13.5671 -41.11 1.97336 3.23069 13.418 -41.115 2.03796 3.36108 13.2731 -41.12 2.10583 3.49718 13.1326 -41.125 2.1772 3.63906 12.9968 -41.13 2.2522 3.78706 12.8658 -41.135 2.33095 3.94153 12.7397 -41.14 2.41359 4.10281 12.6186 -41.145 2.50026 4.27127 12.5027 -41.15 2.5911 4.44723 12.3923 -41.155 2.68628 4.63103 12.2876 -41.16 2.78597 4.82303 12.1889 -41.165 2.89033 5.02353 12.0966 -41.17 2.99956 5.23288 12.0111 -41.175 3.11385 5.45139 11.9327 -41.18 3.2334 5.67939 11.862 -41.185 3.35842 5.91719 11.7994 -41.19 3.48913 6.1651 11.7455 -41.195 3.62576 6.42344 11.7009 -41.2 3.76855 6.6925 11.6662 -41.205 3.91775 6.9726 11.642 -41.21 4.0736 7.26401 11.6291 -41.215 4.23637 7.56705 11.6282 -41.22 4.40634 7.88199 11.6401 -41.225 4.58379 8.20912 11.6656 -41.23 4.76859 8.54757 11.7055 -41.235 4.96089 8.8973 11.7607 -41.24 5.16113 9.25914 11.8326 -41.245 5.36969 9.63369 11.9226 -41.25 5.58691 10.0213 12.0321 -41.255 5.81304 10.4221 12.1624 -41.26 6.04831 10.836 12.3151 -41.265 6.29285 11.2627 12.4916 -41.27 6.54677 11.7015 12.6934 -41.275 6.81008 12.1515 12.9221 -41.28 7.08277 12.6119 13.1791 -41.285 7.36475 13.0811 13.4662 -41.29 7.65588 13.5578 13.7849 -41.295 7.95595 14.0401 14.1368 -41.3 8.2647 14.5259 14.5237 -41.305 8.5818 15.0131 14.9473 -41.31 8.90688 15.4991 15.4092 -41.315 9.23951 15.9812 15.9113 -41.32 9.57917 16.4564 16.4553 -41.325 9.92531 16.9215 17.0431 -41.33 10.2773 17.3731 17.6765 -41.335 10.6342 17.8087 18.3556 -41.34 10.9943 18.2244 19.0791 -41.345 11.3563 18.6134 19.8474 -41.35 11.7186 18.9694 20.66 -41.355 12.0795 19.2863 21.5155 -41.36 12.437 19.5586 22.412 -41.365 12.7893 19.7808 23.3467 -41.37 13.1342 19.9481 24.3158 -41.375 13.4692 20.0557 25.315 -41.38 13.7921 20.0995 26.3392 -41.385 14.1001 20.0754 27.3822 -41.39 14.3906 19.98 28.4374 -41.395 14.6606 19.81 29.4972 -41.4 14.9071 19.5625 30.5533 -41.405 15.1269 19.235 31.5965 -41.41 15.3182 18.8199 32.6184 -41.415 15.4791 18.3185 33.6095 -41.42 15.6068 17.7406 34.559 -41.425 15.6989 17.0953 35.4576 -41.43 15.7535 16.3911 36.2971 -41.435 15.7693 15.6363 37.0702 -41.44 15.7454 14.8385 37.771 -41.445 15.6816 14.0048 38.3947 -41.45 15.5778 13.1421 38.9374 -41.455 15.4349 12.2564 39.3967 -41.46 15.2538 11.3534 39.7711 -41.465 15.0362 10.4385 40.0604 -41.47 14.7843 9.51626 40.2654 -41.475 14.5006 8.59098 40.388 -41.48 14.1882 7.66662 40.4314 -41.485 13.8474 6.75997 40.3988 -41.49 13.4795 5.88451 40.2944 -41.495 13.0879 5.04579 40.1233 -41.5 12.6757 4.24846 39.8909 -41.505 12.2462 3.49627 39.6027 -41.51 11.8023 2.79213 39.2646 -41.515 11.347 2.13804 38.8825 -41.52 10.8833 1.53512 38.4628 -41.525 10.4138 0.98362 38.012 -41.53 9.94141 0.482896 37.5368 -41.535 9.46864 0.0314281 37.0443 -41.54 8.99807 -0.373187 36.5416 -41.545 8.53205 -0.733717 36.0334 -41.55 8.07234 -1.0523 35.5196 -41.555 7.6205 -1.33155 35.003 -41.56 7.17793 -1.57411 34.486 -41.565 6.74587 -1.78265 33.971 -41.57 6.32541 -1.95983 33.4599 -41.575 5.91745 -2.10832 32.9544 -41.58 5.52274 -2.23082 32.4558 -41.585 5.14189 -2.33001 31.9652 -41.59 4.77531 -2.4086 31.4834 -41.595 4.42329 -2.46932 31.0108 -41.6 4.08591 -2.51488 30.5475 -41.605 3.76316 -2.54772 30.0937 -41.61 3.45498 -2.56892 29.6494 -41.615 3.16109 -2.57998 29.2146 -41.62 2.88116 -2.58241 28.7891 -41.625 2.61488 -2.57759 28.3726 -41.63 2.36189 -2.56683 27.965 -41.635 2.12179 -2.5513 27.566 -41.64 1.8942 -2.53211 27.1753 -41.645 1.67868 -2.51024 26.7929 -41.65 1.47479 -2.48658 26.4183 -41.655 1.28205 -2.46193 26.0514 -41.66 1.09999 -2.43696 25.6918 -41.665 0.928068 -2.41228 25.3393 -41.67 0.765762 -2.38835 24.9937 -41.675 0.612506 -2.36558 24.6545 -41.68 0.467663 -2.34435 24.3216 -41.685 0.330758 -2.325 23.9948 -41.69 0.201372 -2.30783 23.6739 -41.695 0.0790836 -2.2931 23.3587 -41.7 -0.0365299 -2.28106 23.049 -41.705 -0.145894 -2.27191 22.7448 -41.71 -0.249436 -2.26584 22.4458 -41.715 -0.347587 -2.263 22.152 -41.72 -0.440778 -2.26353 21.8631 -41.725 -0.529444 -2.26753 21.5791 -41.73 -0.614023 -2.27507 21.2999 -41.735 -0.694953 -2.2862 21.0253 -41.74 -0.772677 -2.30095 20.7552 -41.745 -0.847626 -2.31932 20.4896 -41.75 -0.920076 -2.34138 20.2284 -41.755 -0.990249 -2.36722 19.9717 -41.76 -1.05838 -2.39693 19.7192 -41.765 -1.12471 -2.4306 19.4711 -41.77 -1.18948 -2.4683 19.2273 -41.775 -1.25294 -2.51009 18.9877 -41.78 -1.31534 -2.55605 18.7524 -41.785 -1.37694 -2.60624 18.5213 -41.79 -1.438 -2.66072 18.2945 -41.795 -1.49877 -2.71954 18.0719 -41.8 -1.55954 -2.78274 17.8535 -41.805 -1.62058 -2.85037 17.6394 -41.81 -1.68215 -2.92247 17.4295 -41.815 -1.74454 -2.99909 17.2238 -41.82 -1.80788 -3.08036 17.0225 -41.825 -1.8723 -3.16645 16.8256 -41.83 -1.93793 -3.25753 16.6331 -41.835 -2.00492 -3.35375 16.4451 -41.84 -2.07341 -3.4553 16.2617 -41.845 -2.14356 -3.56233 16.083 -41.85 -2.21556 -3.67502 15.9092 -41.855 -2.28957 -3.79352 15.7402 -41.86 -2.36579 -3.91801 15.5764 -41.865 -2.44443 -4.04865 15.4177 -41.87 -2.52569 -4.18562 15.2644 -41.875 -2.6098 -4.32908 15.1166 -41.88 -2.69698 -4.4792 14.9745 -41.885 -2.78747 -4.63615 14.8383 -41.89 -2.88153 -4.80009 14.7082 -41.895 -2.97936 -4.97115 14.5846 -41.9 -3.08106 -5.14959 14.4676 -41.905 -3.18679 -5.33577 14.3577 -41.91 -3.29671 -5.53006 14.255 -41.915 -3.41096 -5.73275 14.16 -41.92 -3.52973 -5.94415 14.073 -41.925 -3.65318 -6.16451 13.9945 -41.93 -3.78151 -6.39409 13.9249 -41.935 -3.9149 -6.63309 13.8648 -41.94 -4.05355 -6.8817 13.8148 -41.945 -4.19768 -7.14009 13.7753 -41.95 -4.34749 -7.40839 13.7472 -41.955 -4.5032 -7.68671 13.7309 -41.96 -4.66504 -7.97513 13.7274 -41.965 -4.83326 -8.27372 13.7373 -41.97 -5.00809 -8.5825 13.7615 -41.975 -5.18978 -8.90149 13.8007 -41.98 -5.3786 -9.23067 13.856 -41.985 -5.57459 -9.56965 13.9278 -41.99 -5.77719 -9.91722 14.0164 -41.995 -5.98675 -10.2737 14.1234 -42 -6.20364 -10.6394 14.2505 -42.005 -6.42815 -11.0143 14.3994 -42.01 -6.66048 -11.3981 14.5718 -42.015 -6.90077 -11.7904 14.7689 -42.02 -7.14904 -12.1906 14.9924 -42.025 -7.40526 -12.5975 15.2434 -42.03 -7.6693 -13.0101 15.5233 -42.035 -7.94094 -13.4269 15.833 -42.04 -8.21989 -13.8462 16.1737 -42.045 -8.50577 -14.266 16.5463 -42.05 -8.79812 -14.6843 16.9517 -42.055 -9.0964 -15.0986 17.3906 -42.06 -9.39996 -15.5062 17.8638 -42.065 -9.7081 -15.9042 18.3717 -42.07 -10.02 -16.2896 18.915 -42.075 -10.3348 -16.6588 19.494 -42.08 -10.6516 -17.0084 20.109 -42.085 -10.9692 -17.3343 20.7604 -42.09 -11.2866 -17.6326 21.4482 -42.095 -11.6026 -17.8988 22.1724 -42.1 -11.9159 -18.1304 22.9321 -42.105 -12.2248 -18.3244 23.7235 -42.11 -12.527 -18.4754 24.5425 -42.115 -12.8204 -18.5783 25.3847 -42.12 -13.1028 -18.6292 26.2454 -42.125 -13.3722 -18.6244 27.1199 -42.13 -13.6264 -18.5612 28.003 -42.135 -13.8634 -18.4374 28.8894 -42.14 -14.0813 -18.2517 29.7735 -42.145 -14.2781 -18.0033 30.6494 -42.15 -14.4519 -17.6921 31.5112 -42.155 -14.601 -17.3188 32.3524 -42.16 -14.7234 -16.8847 33.1665 -42.165 -14.8175 -16.3917 33.9467 -42.17 -14.8815 -15.8425 34.6859 -42.175 -14.9138 -15.2398 35.3763 -42.18 -14.9139 -14.5849 36.0088 -42.185 -14.8812 -13.8869 36.5801 -42.19 -14.8158 -13.1558 37.0885 -42.195 -14.7179 -12.4003 37.5326 -42.2 -14.5877 -11.6287 37.9112 -42.205 -14.4261 -10.8486 38.2239 -42.21 -14.2341 -10.0667 38.4706 -42.215 -14.0128 -9.2892 38.6518 -42.22 -13.7638 -8.52133 38.7681 -42.225 -13.4888 -7.76775 38.8208 -42.23 -13.1899 -7.03236 38.8117 -42.235 -12.8695 -6.31836 38.743 -42.24 -12.5301 -5.6282 38.6172 -42.245 -12.1746 -4.96362 38.4374 -42.25 -11.8061 -4.32562 38.2071 -42.255 -11.426 -3.7203 37.9334 -42.26 -11.0359 -3.1535 37.6236 -42.265 -10.6381 -2.62618 37.2818 -42.27 -10.235 -2.13886 36.9121 -42.275 -9.829 -1.69162 36.5185 -42.28 -9.42205 -1.28413 36.1049 -42.285 -9.01611 -0.915607 35.6749 -42.29 -8.61296 -0.584832 35.232 -42.295 -8.2142 -0.29016 34.7797 -42.3 -7.82129 -0.0295104 34.3212 -42.305 -7.43554 0.199631 33.8597 -42.31 -7.0581 0.400212 33.398 -42.315 -6.68998 0.57518 32.9387 -42.32 -6.33204 0.725341 32.4815 -42.325 -5.98487 0.852506 32.0273 -42.33 -5.6489 0.958672 31.577 -42.335 -5.32453 1.04575 31.1314 -42.34 -5.01206 1.11557 30.6912 -42.345 -4.71171 1.16989 30.2569 -42.35 -4.42365 1.21036 29.829 -42.355 -4.14794 1.23858 29.4079 -42.36 -3.88458 1.25604 28.9936 -42.365 -3.63349 1.26417 28.5863 -42.37 -3.39451 1.26431 28.1858 -42.375 -3.16742 1.25771 27.7921 -42.38 -2.95187 1.24541 27.405 -42.385 -2.74752 1.22818 27.0246 -42.39 -2.55404 1.20682 26.6507 -42.395 -2.37108 1.18205 26.2831 -42.4 -2.1983 1.15454 25.9217 -42.405 -2.03534 1.1249 25.5664 -42.41 -1.88184 1.0937 25.2169 -42.415 -1.73741 1.06144 24.8731 -42.42 -1.60168 1.02856 24.5349 -42.425 -1.47425 0.995479 24.2021 -42.43 -1.35473 0.962523 23.8746 -42.435 -1.2427 0.929983 23.5523 -42.44 -1.13776 0.89809 23.2349 -42.445 -1.03948 0.867022 22.9224 -42.45 -0.947424 0.836902 22.6146 -42.455 -0.861156 0.807802 22.3113 -42.46 -0.780337 0.779853 22.0126 -42.465 -0.704707 0.75318 21.7182 -42.47 -0.634005 0.727877 21.428 -42.475 -0.567967 0.704022 21.1421 -42.48 -0.506329 0.681678 20.8602 -42.485 -0.448828 0.66089 20.5823 -42.49 -0.395199 0.64169 20.3084 -42.495 -0.345177 0.624092 20.0383 -42.5 -0.298498 0.608094 19.7719 -42.505 -0.254895 0.593679 19.5093 -42.51 -0.214103 0.580814 19.2503 -42.515 -0.175855 0.569448 18.9948 -42.52 -0.139885 0.559518 18.7428 -42.525 -0.105964 0.550971 18.4942 -42.53 -0.0739955 0.543842 18.249 -42.535 -0.043859 0.538137 18.0071 -42.54 -0.015432 0.53386 17.7685 -42.545 0.0114096 0.531008 17.5332 -42.55 0.0367916 0.529576 17.301 -42.555 0.0608408 0.529553 17.072 -42.56 0.0836858 0.530923 16.8461 -42.565 0.105456 0.533667 16.6233 -42.57 0.126284 0.537762 16.4034 -42.575 0.146301 0.543179 16.1865 -42.58 0.165641 0.549886 15.9726 -42.585 0.18444 0.557847 15.7615 -42.59 0.202834 0.56702 15.5533 -42.595 0.220892 0.577422 15.3479 -42.6 0.238652 0.589092 15.1453 -42.605 0.256164 0.602057 14.9454 -42.61 0.273483 0.616344 14.7483 -42.615 0.290669 0.63198 14.5538 -42.62 0.30778 0.648991 14.362 -42.625 0.324882 0.667406 14.1728 -42.63 0.342041 0.68725 13.9862 -42.635 0.359326 0.70855 13.8022 -42.64 0.37681 0.731333 13.6207 -42.645 0.394569 0.755626 13.4418 -42.65 0.412681 0.781455 13.2653 -42.655 0.431228 0.808847 13.0912 -42.66 0.450295 0.837828 12.9197 -42.665 0.469958 0.868438 12.7505 -42.67 0.490254 0.900765 12.5837 -42.675 0.511214 0.934891 12.4193 -42.68 0.532876 0.970902 12.2573 -42.685 0.555284 1.00889 12.0977 -42.69 0.578485 1.04894 11.9403 -42.695 0.602534 1.09115 11.7853 -42.7 0.627488 1.13562 11.6326 -42.705 0.653413 1.18246 11.4822 -42.71 0.680377 1.23176 11.3341 -42.715 0.708456 1.28365 11.1883 -42.72 0.737729 1.33823 11.0448 -42.725 0.768281 1.39562 10.9037 -42.73 0.800204 1.45594 10.7648 -42.735 0.833593 1.51932 10.6283 -42.74 0.868549 1.58588 10.4941 -42.745 0.905179 1.65576 10.3622 -42.75 0.9436 1.72909 10.2328 -42.755 0.98391 1.80607 10.1058 -42.76 1.02617 1.8869 9.98126 -42.765 1.07045 1.9718 9.85919 -42.77 1.11683 2.06099 9.73963 -42.775 1.1654 2.15471 9.62261 -42.78 1.21626 2.25321 9.50818 -42.785 1.26953 2.35672 9.39642 -42.79 1.32531 2.46552 9.2874 -42.795 1.38376 2.57988 9.18124 -42.8 1.44501 2.70009 9.07804 -42.805 1.50922 2.82642 8.97793 -42.81 1.57656 2.95918 8.88105 -42.815 1.64719 3.09869 8.78756 -42.82 1.7213 3.24525 8.69763 -42.825 1.79911 3.39921 8.61145 -42.83 1.8808 3.56089 8.52921 -42.835 1.96661 3.73064 8.45114 -42.84 2.05675 3.90883 8.37745 -42.845 2.15148 4.09581 8.3084 -42.85 2.25104 4.29197 8.24424 -42.855 2.35564 4.4971 8.18578 -42.86 2.46551 4.71162 8.13349 -42.865 2.58088 4.93637 8.08747 -42.87 2.70202 5.17217 8.04795 -42.875 2.82917 5.41978 8.01523 -42.88 2.96262 5.6799 7.98975 -42.885 3.10264 5.95318 7.97202 -42.89 3.24953 6.24022 7.96267 -42.895 3.40358 6.54156 7.96243 -42.9 3.56509 6.85769 7.97213 -42.905 3.73439 7.18905 7.9927 -42.91 3.91178 7.53601 8.02517 -42.915 4.09762 7.89891 8.07068 -42.92 4.29222 8.27802 8.13046 -42.925 4.49595 8.67356 8.20587 -42.93 4.70917 9.0857 8.29833 -42.935 4.93222 9.51455 8.4094 -42.94 5.16551 9.96017 8.54073 -42.945 5.40939 10.4226 8.69405 -42.95 5.66427 10.9017 8.87122 -42.955 5.93055 11.3974 9.0742 -42.96 6.20863 11.9097 9.30504 -42.965 6.49894 12.4382 9.5659 -42.97 6.8017 12.9825 9.85877 -42.975 7.11602 13.5406 10.1846 -42.98 7.44218 14.1119 10.547 -42.985 7.7806 14.695 10.9496 -42.99 8.13147 15.2886 11.3958 -42.995 8.49478 15.8902 11.8888 -43 8.87029 16.4972 12.4313 -43.005 9.25758 17.1061 13.0258 -43.01 9.656 17.7132 13.6744 -43.015 10.0647 18.3138 14.379 -43.02 10.4826 18.9029 15.1409 -43.025 10.9084 19.4749 15.9615 -43.03 11.3406 20.0236 16.8415 -43.035 11.7776 20.5422 17.7815 -43.04 12.2173 21.0233 18.7817 -43.045 12.6578 21.4591 19.842 -43.05 13.0966 21.8411 20.962 -43.055 13.5316 22.1619 22.1407 -43.06 13.9601 22.4156 23.3732 -43.065 14.3782 22.5912 24.651 -43.07 14.7817 22.6789 25.965 -43.075 15.1669 22.6704 27.3057 -43.08 15.5297 22.5593 28.6628 -43.085 15.8665 22.3408 30.0257 -43.09 16.1734 22.0117 31.3829 -43.095 16.4469 21.5705 32.7228 -43.1 16.6833 21.0175 34.0329 -43.105 16.8791 20.3544 35.3003 -43.11 17.0309 19.5848 36.5115 -43.115 17.1353 18.7138 37.6525 -43.12 17.1892 17.7476 38.7082 -43.125 17.1909 16.6892 39.6593 -43.13 17.1397 15.5572 40.4996 -43.135 17.0353 14.3718 41.2264 -43.14 16.8779 13.1518 41.8379 -43.145 16.6686 11.9137 42.3337 -43.15 16.4086 10.6727 42.7139 -43.155 16.1 9.44151 42.9799 -43.16 15.7456 8.23145 43.1338 -43.165 15.3485 7.05178 43.1789 -43.17 14.9127 5.90995 43.1193 -43.175 14.4424 4.81155 42.9601 -43.18 13.9428 3.76029 42.7074 -43.185 13.4195 2.75807 42.3684 -43.19 12.8759 1.81504 41.9568 -43.195 12.3144 0.943152 41.4882 -43.2 11.7396 0.143818 40.9719 -43.205 11.1559 -0.582594 40.4168 -43.21 10.5671 -1.23675 39.8312 -43.215 9.977 -1.82036 39.2231 -43.22 9.38891 -2.33615 38.5997 -43.225 8.80587 -2.78792 37.968 -43.23 8.2306 -3.18046 37.3344 -43.235 7.6655 -3.51964 36.7049 -43.24 7.11269 -3.81125 36.084 -43.245 6.57387 -4.05778 35.4726 -43.25 6.05031 -4.26343 34.8725 -43.255 5.54308 -4.43244 34.2855 -43.26 5.05305 -4.56884 33.7127 -43.265 4.58091 -4.67647 33.1554 -43.27 4.12713 -4.75893 32.6142 -43.275 3.69203 -4.81964 32.0893 -43.28 3.27572 -4.86178 31.5809 -43.285 2.87812 -4.88836 31.0885 -43.29 2.49897 -4.90217 30.6115 -43.295 2.13798 -4.90569 30.1499 -43.3 1.79466 -4.90075 29.703 -43.305 1.46846 -4.889 29.2703 -43.31 1.1588 -4.87196 28.851 -43.315 0.86509 -4.85106 28.4445 -43.32 0.586722 -4.8276 28.0503 -43.325 0.32307 -4.8028 27.6677 -43.33 0.0734913 -4.77773 27.2962 -43.335 -0.162675 -4.7534 26.9353 -43.34 -0.386106 -4.73067 26.5846 -43.345 -0.597496 -4.71032 26.2436 -43.35 -0.797557 -4.69301 25.9118 -43.355 -0.987018 -4.67929 25.5891 -43.36 -1.16662 -4.66959 25.2749 -43.365 -1.33714 -4.66426 24.969 -43.37 -1.49936 -4.66353 24.6711 -43.375 -1.65406 -4.66758 24.3808 -43.38 -1.80175 -4.67663 24.0977 -43.385 -1.9429 -4.69089 23.8219 -43.39 -2.07797 -4.71054 23.5531 -43.395 -2.20745 -4.73576 23.2913 -43.4 -2.33182 -4.76667 23.0364 -43.405 -2.45156 -4.80341 22.7882 -43.41 -2.56716 -4.84607 22.5467 -43.415 -2.67913 -4.89474 22.3118 -43.42 -2.78796 -4.94948 22.0835 -43.425 -2.89417 -5.01034 21.8618 -43.43 -2.99827 -5.07732 21.6464 -43.435 -3.10078 -5.15043 21.4376 -43.44 -3.20223 -5.22965 21.2351 -43.445 -3.30311 -5.31494 21.039 -43.45 -3.40365 -5.40633 20.8496 -43.455 -3.50402 -5.50391 20.6669 -43.46 -3.60447 -5.60777 20.4911 -43.465 -3.70523 -5.71799 20.3224 -43.47 -3.80654 -5.83463 20.1609 -43.475 -3.90866 -5.95774 20.0068 -43.48 -4.01182 -6.08734 19.8603 -43.485 -4.11628 -6.22346 19.7216 -43.49 -4.22231 -6.36611 19.5909 -43.495 -4.33016 -6.51527 19.4684 -43.5 -4.44009 -6.67092 19.3544 -43.505 -4.55239 -6.83302 19.2491 -43.51 -4.66732 -7.00153 19.1527 -43.515 -4.78516 -7.17637 19.0656 -43.52 -4.90618 -7.35745 18.988 -43.525 -5.03044 -7.54462 18.9201 -43.53 -5.15804 -7.73796 18.8625 -43.535 -5.28909 -7.93752 18.8157 -43.54 -5.42369 -8.14329 18.78 -43.545 -5.56192 -8.35523 18.7561 -43.55 -5.70388 -8.57322 18.7443 -43.555 -5.84962 -8.79708 18.7452 -43.56 -5.99922 -9.0266 18.7593 -43.565 -6.15272 -9.26148 18.787 -43.57 -6.31018 -9.5014 18.8289 -43.575 -6.47162 -9.74595 18.8853 -43.58 -6.63707 -9.9947 18.957 -43.585 -6.80655 -10.2471 19.0442 -43.59 -6.98007 -10.5027 19.1476 -43.595 -7.15763 -10.7607 19.2676 -43.6 -7.33921 -11.0206 19.4047 -43.605 -7.5248 -11.2815 19.5594 -43.61 -7.71434 -11.5429 19.7322 -43.615 -7.90722 -11.8049 19.9223 -43.62 -8.10315 -12.0665 20.1303 -43.625 -8.30197 -12.3261 20.3571 -43.63 -8.50345 -12.5821 20.6037 -43.635 -8.70733 -12.833 20.8705 -43.64 -8.91328 -13.0772 21.1581 -43.645 -9.12091 -13.3132 21.4666 -43.65 -9.32978 -13.5395 21.796 -43.655 -9.5394 -13.7544 22.1463 -43.66 -9.74921 -13.9566 22.5169 -43.665 -9.9586 -14.1444 22.9075 -43.67 -10.1669 -14.3165 23.3171 -43.675 -10.3734 -14.4712 23.7449 -43.68 -10.5773 -14.6071 24.1898 -43.685 -10.7778 -14.7227 24.6503 -43.69 -10.974 -14.8165 25.125 -43.695 -11.1649 -14.8872 25.6121 -43.7 -11.3496 -14.9332 26.1096 -43.705 -11.5269 -14.9531 26.6156 -43.71 -11.6958 -14.9454 27.1276 -43.715 -11.8551 -14.9088 27.6432 -43.72 -12.0036 -14.8418 28.1596 -43.725 -12.14 -14.7429 28.6741 -43.73 -12.2645 -14.6095 29.1852 -43.735 -12.3762 -14.4427 29.6898 -43.74 -12.4741 -14.2446 30.1841 -43.745 -12.5571 -14.0172 30.6647 -43.75 -12.6244 -13.7627 31.1285 -43.755 -12.6753 -13.483 31.5725 -43.76 -12.7092 -13.18 31.9942 -43.765 -12.7256 -12.8558 32.3911 -43.77 -12.7244 -12.5122 32.7613 -43.775 -12.7053 -12.151 33.1029 -43.78 -12.6684 -11.7742 33.4144 -43.785 -12.6138 -11.3834 33.6946 -43.79 -12.5418 -10.9805 33.9424 -43.795 -12.4529 -10.5672 34.1572 -43.8 -12.3476 -10.1451 34.3385 -43.805 -12.2267 -9.71594 34.4862 -43.81 -12.091 -9.28127 34.6004 -43.815 -11.9417 -8.8427 34.6815 -43.82 -11.7794 -8.40262 34.7301 -43.825 -11.6035 -7.96822 34.7469 -43.83 -11.4151 -7.54241 34.7324 -43.835 -11.2152 -7.12706 34.6877 -43.84 -11.0053 -6.72384 34.6136 -43.845 -10.7864 -6.33427 34.5112 -43.85 -10.5597 -5.9597 34.3819 -43.855 -10.3265 -5.60129 34.2268 -43.86 -10.0878 -5.26005 34.0477 -43.865 -9.84466 -4.93684 33.8462 -43.87 -9.59821 -4.6323 33.624 -43.875 -9.34944 -4.34695 33.383 -43.88 -9.09935 -4.08113 33.1255 -43.885 -8.84892 -3.83498 32.8535 -43.89 -8.59907 -3.60852 32.5695 -43.895 -8.35071 -3.40157 32.276 -43.9 -8.10473 -3.21379 31.9755 -43.905 -7.86196 -3.04468 31.6708 -43.91 -7.62324 -2.89346 31.3645 -43.915 -7.3894 -2.75865 31.0545 -43.92 -7.16091 -2.63937 30.7409 -43.925 -6.93816 -2.53494 30.4245 -43.93 -6.72152 -2.44468 30.106 -43.935 -6.51132 -2.36793 29.7863 -43.94 -6.30784 -2.30398 29.466 -43.945 -6.11134 -2.25216 29.1457 -43.95 -5.92206 -2.21178 28.8261 -43.955 -5.74018 -2.18213 28.5076 -43.96 -5.56587 -2.16252 28.1907 -43.965 -5.39925 -2.15226 27.8758 -43.97 -5.24042 -2.15063 27.5632 -43.975 -5.08944 -2.15692 27.2533 -43.98 -4.94633 -2.17043 26.9462 -43.985 -4.8111 -2.19043 26.6422 -43.99 -4.6837 -2.21622 26.3413 -43.995 -4.56404 -2.2471 26.0437 -44 -4.45187 -2.28318 25.7495 -44.005 -4.34699 -2.32438 25.4588 -44.01 -4.24931 -2.37038 25.1718 -44.015 -4.1587 -2.4209 24.8885 -44.02 -4.07507 -2.47568 24.6089 -44.025 -3.99828 -2.53448 24.3332 -44.03 -3.92822 -2.5971 24.0614 -44.035 -3.86476 -2.66337 23.7935 -44.04 -3.80776 -2.73313 23.5297 -44.045 -3.7571 -2.80626 23.27 -44.05 -3.71264 -2.88268 23.0144 -44.055 -3.67424 -2.96232 22.7631 -44.06 -3.64175 -3.04514 22.5162 -44.065 -3.61503 -3.13113 22.2735 -44.07 -3.59392 -3.22032 22.0354 -44.075 -3.57827 -3.31274 21.8017 -44.08 -3.56792 -3.40848 21.5726 -44.085 -3.56271 -3.50764 21.3481 -44.09 -3.56244 -3.61034 21.1283 -44.095 -3.56698 -3.71663 20.9135 -44.1 -3.57636 -3.82655 20.7036 -44.105 -3.5906 -3.94014 20.4987 -44.11 -3.60972 -4.05748 20.2989 -44.115 -3.63374 -4.17863 20.1043 -44.12 -3.66265 -4.30367 19.915 -44.125 -3.69647 -4.4327 19.7312 -44.13 -3.7352 -4.56583 19.5529 -44.135 -3.77882 -4.70316 19.3804 -44.14 -3.82734 -4.84483 19.2139 -44.145 -3.88073 -4.99098 19.0534 -44.15 -3.93897 -5.14176 18.8993 -44.155 -4.00205 -5.29732 18.7517 -44.16 -4.06994 -5.45784 18.611 -44.165 -4.1426 -5.62351 18.4773 -44.17 -4.22 -5.79451 18.351 -44.175 -4.30209 -5.97106 18.2323 -44.18 -4.38882 -6.15337 18.1215 -44.185 -4.48016 -6.34166 18.019 -44.19 -4.57603 -6.53619 17.9251 -44.195 -4.6765 -6.73691 17.8402 -44.2 -4.78186 -6.94347 17.7644 -44.205 -4.89224 -7.15609 17.6984 -44.21 -5.00777 -7.37496 17.6425 -44.215 -5.12853 -7.60022 17.5972 -44.22 -5.25462 -7.83194 17.563 -44.225 -5.3861 -8.07014 17.5406 -44.23 -5.52303 -8.31479 17.5303 -44.235 -5.66544 -8.5658 17.5328 -44.24 -5.81337 -8.82302 17.5486 -44.245 -5.96682 -9.08623 17.5784 -44.25 -6.12578 -9.35517 17.6227 -44.255 -6.29024 -9.62953 17.6821 -44.26 -6.46015 -9.90893 17.7573 -44.265 -6.63548 -10.1929 17.849 -44.27 -6.81616 -10.481 17.9578 -44.275 -7.0021 -10.7727 18.0844 -44.28 -7.19321 -11.0673 18.2296 -44.285 -7.38938 -11.3642 18.394 -44.29 -7.59049 -11.6627 18.5784 -44.295 -7.7964 -11.962 18.7835 -44.3 -8.00683 -12.2614 19.0097 -44.305 -8.22135 -12.5603 19.2566 -44.31 -8.43975 -12.857 19.5254 -44.315 -8.66174 -13.1496 19.8171 -44.32 -8.88697 -13.4364 20.1321 -44.325 -9.11503 -13.7157 20.4712 -44.33 -9.34543 -13.9856 20.8343 -44.335 -9.57761 -14.2444 21.2217 -44.34 -9.81093 -14.49 21.6329 -44.345 -10.0447 -14.7208 22.0676 -44.35 -10.2782 -14.9346 22.5251 -44.355 -10.5104 -15.1298 23.0045 -44.36 -10.7406 -15.3042 23.5046 -44.365 -10.9678 -15.456 24.0241 -44.37 -11.1908 -15.583 24.5614 -44.375 -11.4086 -15.6834 25.1147 -44.38 -11.62 -15.7551 25.6819 -44.385 -11.8237 -15.7959 26.2607 -44.39 -12.0184 -15.8039 26.8487 -44.395 -12.2027 -15.7768 27.4433 -44.4 -12.3763 -15.7122 28.0428 -44.405 -12.5381 -15.6097 28.6435 -44.41 -12.6864 -15.4698 29.2407 -44.415 -12.8199 -15.2931 29.8299 -44.42 -12.9371 -15.0806 30.4071 -44.425 -13.0371 -14.8332 30.9684 -44.43 -13.1188 -14.5522 31.5102 -44.435 -13.1815 -14.239 32.0293 -44.44 -13.2245 -13.895 32.5225 -44.445 -13.2473 -13.5221 32.9871 -44.45 -13.2496 -13.122 33.4206 -44.455 -13.2312 -12.697 33.8208 -44.46 -13.1922 -12.2492 34.1858 -44.465 -13.1327 -11.781 34.5139 -44.47 -13.0531 -11.2952 34.8037 -44.475 -12.9538 -10.7944 35.054 -44.48 -12.8354 -10.2815 35.2641 -44.485 -12.6978 -9.76239 35.4327 -44.49 -12.5412 -9.24245 35.5594 -44.495 -12.3669 -8.72502 35.6451 -44.5 -12.1761 -8.21321 35.6907 -44.505 -11.97 -7.70986 35.6972 -44.51 -11.75 -7.21761 35.666 -44.515 -11.5173 -6.73883 35.5986 -44.52 -11.2732 -6.27569 35.4965 -44.525 -11.0189 -5.83011 35.3618 -44.53 -10.7559 -5.40378 35.1965 -44.535 -10.4853 -4.99814 35.0027 -44.54 -10.2086 -4.61442 34.783 -44.545 -9.92707 -4.2536 34.5399 -44.55 -9.64207 -3.91643 34.2762 -44.555 -9.35495 -3.60343 33.995 -44.56 -9.06709 -3.31489 33.6994 -44.565 -8.77988 -3.05084 33.3928 -44.57 -8.49459 -2.80976 33.0764 -44.575 -8.21213 -2.59027 32.7509 -44.58 -7.93334 -2.3918 32.4176 -44.585 -7.659 -2.21372 32.0779 -44.59 -7.38981 -2.05531 31.7331 -44.595 -7.12642 -1.91584 31.3844 -44.6 -6.86942 -1.79447 31.0327 -44.605 -6.61934 -1.69034 30.6793 -44.61 -6.37665 -1.60248 30.325 -44.615 -6.14177 -1.5299 29.9707 -44.62 -5.91504 -1.47154 29.6171 -44.625 -5.69677 -1.42626 29.265 -44.63 -5.48716 -1.39288 28.915 -44.635 -5.28642 -1.37014 28.5676 -44.64 -5.09463 -1.35673 28.2233 -44.645 -4.91187 -1.35127 27.8824 -44.65 -4.73811 -1.35234 27.5453 -44.655 -4.57317 -1.35998 27.2118 -44.66 -4.41685 -1.37449 26.882 -44.665 -4.269 -1.39532 26.5559 -44.67 -4.1295 -1.42193 26.2335 -44.675 -3.99819 -1.45386 25.9151 -44.68 -3.87494 -1.49064 25.6006 -44.685 -3.75958 -1.53188 25.2901 -44.69 -3.65195 -1.5772 24.9836 -44.695 -3.55187 -1.62629 24.6813 -44.7 -3.45917 -1.67884 24.3831 -44.705 -3.37367 -1.73461 24.089 -44.71 -3.29517 -1.79339 23.7991 -44.715 -3.22347 -1.85501 23.5135 -44.72 -3.15837 -1.91932 23.232 -44.725 -3.09965 -1.98624 22.9546 -44.73 -3.04711 -2.0557 22.6815 -44.735 -3.00047 -2.12769 22.4125 -44.74 -2.95949 -2.20221 22.1477 -44.745 -2.92407 -2.2792 21.8871 -44.75 -2.89412 -2.35864 21.6308 -44.755 -2.86955 -2.4405 21.3787 -44.76 -2.85027 -2.52479 21.1309 -44.765 -2.83617 -2.61154 20.8873 -44.77 -2.82717 -2.7008 20.648 -44.775 -2.82315 -2.79262 20.4131 -44.78 -2.82403 -2.88711 20.1825 -44.785 -2.8297 -2.98435 19.9564 -44.79 -2.84004 -3.0845 19.7348 -44.795 -2.85496 -3.18768 19.5177 -44.8 -2.87434 -3.29406 19.3053 -44.805 -2.89807 -3.40384 19.0976 -44.81 -2.92603 -3.51723 18.8947 -44.815 -2.95811 -3.63444 18.6967 -44.82 -2.9942 -3.75573 18.5037 -44.825 -3.03435 -3.88119 18.3158 -44.83 -3.07868 -4.01091 18.1332 -44.835 -3.12724 -4.14507 17.956 -44.84 -3.18007 -4.28384 17.7842 -44.845 -3.23722 -4.42742 17.6181 -44.85 -3.29874 -4.576 17.4579 -44.855 -3.36468 -4.72975 17.3036 -44.86 -3.43509 -4.88889 17.1556 -44.865 -3.51003 -5.0536 17.0141 -44.87 -3.58955 -5.22409 16.8793 -44.875 -3.67371 -5.40056 16.7514 -44.88 -3.76258 -5.58322 16.6309 -44.885 -3.85621 -5.77228 16.518 -44.89 -3.95468 -5.96794 16.413 -44.895 -4.05804 -6.17044 16.3163 -44.9 -4.16637 -6.37998 16.2284 -44.905 -4.27974 -6.5968 16.1495 -44.91 -4.3982 -6.82094 16.0802 -44.915 -4.52177 -7.05183 16.0207 -44.92 -4.65065 -7.28986 15.9715 -44.925 -4.78504 -7.53544 15.9334 -44.93 -4.92514 -7.78892 15.9069 -44.935 -5.07109 -8.05054 15.8927 -44.94 -5.22304 -8.32045 15.8914 -44.945 -5.38111 -8.5987 15.9039 -44.95 -5.54538 -8.88526 15.9308 -44.955 -5.71593 -9.18001 15.9728 -44.96 -5.89282 -9.48271 16.0308 -44.965 -6.07606 -9.79305 16.1055 -44.97 -6.26566 -10.1106 16.1976 -44.975 -6.46161 -10.4349 16.3082 -44.98 -6.66386 -10.7653 16.4379 -44.985 -6.87236 -11.1012 16.5877 -44.99 -7.08702 -11.4417 16.7585 -44.995 -7.30774 -11.786 16.9511 -45 -7.53438 -12.1331 17.1665 -45.005 -7.76679 -12.4819 17.4058 -45.01 -8.00481 -12.8313 17.6697 -45.015 -8.24824 -13.18 17.9594 -45.02 -8.49686 -13.5267 18.2759 -45.025 -8.75043 -13.87 18.6202 -45.03 -9.00841 -14.2088 18.9923 -45.035 -9.27004 -14.5412 19.392 -45.04 -9.53477 -14.8645 19.8203 -45.045 -9.80196 -15.1755 20.2776 -45.05 -10.0709 -15.4716 20.7642 -45.055 -10.3406 -15.7499 21.2798 -45.06 -10.6104 -16.0075 21.824 -45.065 -10.8791 -16.2419 22.3957 -45.07 -11.1457 -16.4503 22.9937 -45.075 -11.409 -16.6301 23.6165 -45.08 -11.6677 -16.7787 24.2621 -45.085 -11.9204 -16.8936 24.928 -45.09 -12.1658 -16.9722 25.6117 -45.095 -12.4022 -17.0121 26.3101 -45.1 -12.628 -17.0109 27.0198 -45.105 -12.8415 -16.9662 27.7371 -45.11 -13.0409 -16.8756 28.4577 -45.115 -13.2254 -16.7348 29.1791 -45.12 -13.3937 -16.5425 29.8966 -45.125 -13.544 -16.3014 30.6036 -45.13 -13.6744 -16.0141 31.294 -45.135 -13.7833 -15.6833 31.9621 -45.14 -13.8694 -15.3118 32.603 -45.145 -13.9317 -14.9023 33.2119 -45.15 -13.9693 -14.4576 33.7849 -45.155 -13.9817 -13.9805 34.3182 -45.16 -13.9684 -13.4739 34.8089 -45.165 -13.9295 -12.9407 35.2544 -45.17 -13.8651 -12.3837 35.6526 -45.175 -13.7755 -11.806 36.002 -45.18 -13.6613 -11.2106 36.3016 -45.185 -13.5235 -10.6004 36.5508 -45.19 -13.3632 -9.97862 36.7497 -45.195 -13.1817 -9.34824 36.8986 -45.2 -12.9789 -8.718 36.9975 -45.205 -12.755 -8.09632 37.0465 -45.21 -12.512 -7.48694 37.0474 -45.215 -12.2516 -6.89327 37.0019 -45.22 -11.9757 -6.31833 36.912 -45.225 -11.686 -5.76483 36.78 -45.23 -11.3843 -5.23512 36.6085 -45.235 -11.0723 -4.73119 36.4001 -45.24 -10.7518 -4.2547 36.158 -45.245 -10.4244 -3.80694 35.8853 -45.25 -10.0918 -3.38888 35.5854 -45.255 -9.75566 -3.00111 35.2621 -45.26 -9.41753 -2.6439 34.9194 -45.265 -9.07902 -2.31716 34.5613 -45.27 -8.74172 -2.02045 34.1924 -45.275 -8.40715 -1.75297 33.8171 -45.28 -8.07675 -1.51272 33.4362 -45.285 -7.75153 -1.2978 33.0489 -45.29 -7.43234 -1.10701 32.6569 -45.295 -7.11996 -0.939119 32.2615 -45.3 -6.81509 -0.792881 31.8641 -45.305 -6.51835 -0.667017 31.466 -45.31 -6.23029 -0.560225 31.0683 -45.315 -5.95139 -0.471179 30.6718 -45.32 -5.68205 -0.398529 30.2775 -45.325 -5.42259 -0.340898 29.8861 -45.33 -5.17327 -0.296886 29.4981 -45.335 -4.93426 -0.265067 29.1141 -45.34 -4.70566 -0.243992 28.7344 -45.345 -4.48751 -0.232186 28.3592 -45.35 -4.27974 -0.228149 27.9886 -45.355 -4.0822 -0.231033 27.6227 -45.36 -3.89464 -0.240886 27.2615 -45.365 -3.71685 -0.256992 26.9052 -45.37 -3.54863 -0.278666 26.5537 -45.375 -3.38976 -0.305274 26.2071 -45.38 -3.24001 -0.336234 25.8652 -45.385 -3.09916 -0.371013 25.5281 -45.39 -2.96695 -0.409128 25.1958 -45.395 -2.84313 -0.450146 24.8682 -45.4 -2.72744 -0.493686 24.5452 -45.405 -2.61961 -0.539414 24.227 -45.41 -2.51936 -0.58705 23.9132 -45.415 -2.4264 -0.636361 23.604 -45.42 -2.34042 -0.687166 23.2993 -45.425 -2.26112 -0.739333 22.9988 -45.43 -2.18818 -0.792774 22.7027 -45.435 -2.12127 -0.847385 22.4107 -45.44 -2.06023 -0.903061 22.123 -45.445 -2.00486 -0.959722 21.8394 -45.45 -1.95499 -1.01731 21.5598 -45.455 -1.91044 -1.07578 21.2843 -45.46 -1.87102 -1.13512 21.0128 -45.465 -1.83654 -1.19534 20.7453 -45.47 -1.80683 -1.25646 20.4816 -45.475 -1.78168 -1.31852 20.2218 -45.48 -1.76092 -1.38161 19.9659 -45.485 -1.74436 -1.44581 19.7138 -45.49 -1.7318 -1.51123 19.4655 -45.495 -1.72305 -1.57802 19.221 -45.5 -1.71791 -1.64632 18.9802 -45.505 -1.7162 -1.7163 18.7431 -45.51 -1.71788 -1.78807 18.5098 -45.515 -1.72295 -1.86168 18.2803 -45.52 -1.73137 -1.93723 18.0545 -45.525 -1.7431 -2.01485 17.8324 -45.53 -1.75813 -2.09465 17.6141 -45.535 -1.77643 -2.17678 17.3996 -45.54 -1.79796 -2.26139 17.1888 -45.545 -1.8227 -2.34864 16.9819 -45.55 -1.85064 -2.4387 16.7788 -45.555 -1.88175 -2.53178 16.5796 -45.56 -1.91602 -2.62806 16.3843 -45.565 -1.95342 -2.72776 16.193 -45.57 -1.99396 -2.8311 16.0058 -45.575 -2.0376 -2.93832 15.8227 -45.58 -2.08435 -3.04967 15.6437 -45.585 -2.13424 -3.16536 15.4691 -45.59 -2.18741 -3.28555 15.2989 -45.595 -2.24393 -3.41047 15.1333 -45.6 -2.3039 -3.54035 14.9722 -45.605 -2.3674 -3.67543 14.8158 -45.61 -2.43453 -3.81596 14.6643 -45.615 -2.5054 -3.96218 14.5178 -45.62 -2.58012 -4.11437 14.3764 -45.625 -2.6588 -4.27278 14.2405 -45.63 -2.74155 -4.43768 14.1102 -45.635 -2.82851 -4.60935 13.9857 -45.64 -2.91979 -4.78808 13.8674 -45.645 -3.01555 -4.97414 13.7556 -45.65 -3.11592 -5.16784 13.6505 -45.655 -3.22103 -5.36948 13.5526 -45.66 -3.33106 -5.57935 13.4621 -45.665 -3.44615 -5.79778 13.3796 -45.67 -3.56646 -6.02508 13.3054 -45.675 -3.69216 -6.26151 13.2399 -45.68 -3.82323 -6.50533 13.1838 -45.685 -3.95989 -6.75658 13.1377 -45.69 -4.10248 -7.01644 13.1021 -45.695 -4.2513 -7.28592 13.0778 -45.7 -4.40662 -7.5659 13.0652 -45.705 -4.56871 -7.85709 13.0653 -45.71 -4.73779 -8.16005 13.0787 -45.715 -4.91408 -8.47519 13.1063 -45.72 -5.09774 -8.80277 13.1491 -45.725 -5.28895 -9.14287 13.2078 -45.73 -5.48782 -9.49546 13.2835 -45.735 -5.69447 -9.8603 13.3773 -45.74 -5.90898 -10.2371 13.4903 -45.745 -6.1314 -10.6252 13.6236 -45.75 -6.36176 -11.024 13.7784 -45.755 -6.60008 -11.4328 13.956 -45.76 -6.84633 -11.8504 14.1577 -45.765 -7.10047 -12.2758 14.3849 -45.77 -7.36244 -12.7077 14.6389 -45.775 -7.63214 -13.1447 14.9213 -45.78 -7.90945 -13.5851 15.2335 -45.785 -8.19423 -14.0272 15.5772 -45.79 -8.48631 -14.469 15.954 -45.795 -8.78551 -14.9086 16.3655 -45.8 -9.0916 -15.3438 16.8136 -45.805 -9.40434 -15.772 17.2999 -45.81 -9.72346 -16.1909 17.8263 -45.815 -10.0486 -16.5979 18.3945 -45.82 -10.3777 -16.991 19.0021 -45.825 -10.7094 -17.3655 19.649 -45.83 -11.0425 -17.7161 20.3351 -45.835 -11.3755 -18.0377 21.0599 -45.84 -11.7071 -18.3257 21.8224 -45.845 -12.0357 -18.5754 22.6208 -45.85 -12.3594 -18.7825 23.4526 -45.855 -12.6766 -18.943 24.3148 -45.86 -12.9851 -19.0529 25.2037 -45.865 -13.283 -19.1085 26.1151 -45.87 -13.568 -19.1066 27.0441 -45.875 -13.8377 -19.0437 27.9849 -45.88 -14.0896 -18.9171 28.9316 -45.885 -14.3213 -18.7238 29.8771 -45.89 -14.5301 -18.4608 30.8145 -45.895 -14.7151 -18.1228 31.7376 -45.9 -14.8737 -17.7138 32.6373 -45.905 -15.0036 -17.2395 33.5047 -45.91 -15.1026 -16.7055 34.3317 -45.915 -15.1691 -16.1174 35.1109 -45.92 -15.2017 -15.4806 35.8362 -45.925 -15.1997 -14.8006 36.502 -45.93 -15.1625 -14.0827 37.1037 -45.935 -15.0901 -13.3322 37.6378 -45.94 -14.9828 -12.5542 38.1014 -45.945 -14.8414 -11.7538 38.4926 -45.95 -14.667 -10.9363 38.8104 -45.955 -14.4613 -10.1064 39.0546 -45.96 -14.2261 -9.26922 39.2259 -45.965 -13.9633 -8.43131 39.3261 -45.97 -13.6725 -7.60798 39.3576 -45.975 -13.356 -6.80642 39.3236 -45.98 -13.0167 -6.03161 39.2271 -45.985 -12.6572 -5.28793 39.072 -45.99 -12.2802 -4.57912 38.8622 -45.995 -11.8883 -3.90828 38.6019 -46 -11.484 -3.27788 38.2957 -46.005 -11.0698 -2.68975 37.9488 -46.01 -10.6482 -2.1451 37.5664 -46.015 -10.2214 -1.6445 37.1541 -46.02 -9.79193 -1.18786 36.7179 -46.025 -9.36192 -0.774511 36.2642 -46.03 -8.93359 -0.4031 35.7996 -46.035 -8.5091 -0.0716633 35.3311 -46.04 -8.09035 0.22257 34.8601 -46.045 -7.67867 0.482199 34.385 -46.05 -7.27523 0.709399 33.9077 -46.055 -6.88108 0.906345 33.4302 -46.06 -6.49715 1.07521 32.9544 -46.065 -6.12422 1.21815 32.4816 -46.07 -5.76299 1.33733 32.0132 -46.075 -5.41401 1.43491 31.5503 -46.08 -5.07773 1.51304 31.0937 -46.085 -4.75447 1.57388 30.644 -46.09 -4.44442 1.61956 30.2017 -46.095 -4.14766 1.65224 29.767 -46.1 -3.86414 1.67405 29.3398 -46.105 -3.59372 1.68672 28.9201 -46.11 -3.33614 1.69081 28.5081 -46.115 -3.09111 1.68745 28.1037 -46.12 -2.85833 1.67776 27.7067 -46.125 -2.63745 1.66275 27.3169 -46.13 -2.42814 1.64339 26.9342 -46.135 -2.23004 1.62055 26.5585 -46.14 -2.04276 1.59503 26.1896 -46.145 -1.86591 1.56754 25.8272 -46.15 -1.69909 1.53873 25.4713 -46.155 -1.54188 1.50916 25.1216 -46.16 -1.39383 1.47932 24.778 -46.165 -1.25449 1.44961 24.4402 -46.17 -1.12338 1.42036 24.108 -46.175 -1.00002 1.39184 23.7813 -46.18 -0.883931 1.36433 23.4599 -46.185 -0.774738 1.33806 23.1435 -46.19 -0.672094 1.31325 22.8322 -46.195 -0.575649 1.29007 22.5257 -46.2 -0.48505 1.26869 22.224 -46.205 -0.399945 1.24924 21.9269 -46.21 -0.319983 1.23183 21.6343 -46.215 -0.244809 1.21656 21.3461 -46.22 -0.174072 1.20348 21.0622 -46.225 -0.107417 1.19264 20.7825 -46.23 -0.0444905 1.18405 20.5068 -46.235 0.0150616 1.17772 20.2352 -46.24 0.071593 1.17361 19.9674 -46.245 0.125365 1.17174 19.7035 -46.25 0.176554 1.17216 19.4434 -46.255 0.225352 1.17492 19.187 -46.26 0.271949 1.18005 18.9344 -46.265 0.316537 1.18758 18.6853 -46.27 0.359312 1.19752 18.4398 -46.275 0.40047 1.2099 18.1979 -46.28 0.440209 1.22472 17.9594 -46.285 0.478728 1.242 17.7244 -46.29 0.516227 1.26174 17.4928 -46.295 0.552911 1.28392 17.2645 -46.3 0.588982 1.30855 17.0396 -46.305 0.624648 1.3356 16.8179 -46.31 0.660081 1.36509 16.5994 -46.315 0.695369 1.3971 16.3842 -46.32 0.730601 1.43169 16.1722 -46.325 0.765874 1.46895 15.9634 -46.33 0.801287 1.50895 15.7577 -46.335 0.836948 1.55177 15.5553 -46.34 0.87297 1.59747 15.3559 -46.345 0.90947 1.64615 15.1597 -46.35 0.946573 1.69788 14.9666 -46.355 0.984407 1.75274 14.7767 -46.36 1.02311 1.81082 14.5899 -46.365 1.06282 1.8722 14.4062 -46.37 1.10368 1.93696 14.2257 -46.375 1.14584 2.00519 14.0483 -46.38 1.18947 2.07697 13.8741 -46.385 1.23468 2.15246 13.7031 -46.39 1.28154 2.23183 13.5353 -46.395 1.33012 2.31526 13.3708 -46.4 1.38052 2.40296 13.2096 -46.405 1.43283 2.49511 13.0517 -46.41 1.48717 2.59192 12.8973 -46.415 1.54363 2.6936 12.7463 -46.42 1.60236 2.80035 12.5989 -46.425 1.6635 2.91241 12.4551 -46.43 1.72718 3.02999 12.3151 -46.435 1.79356 3.15332 12.179 -46.44 1.86282 3.28264 12.0469 -46.445 1.93512 3.41819 11.919 -46.45 2.01066 3.56022 11.7954 -46.455 2.08963 3.70899 11.6762 -46.46 2.17225 3.86474 11.5617 -46.465 2.25872 4.02775 11.452 -46.47 2.34924 4.19814 11.3475 -46.475 2.44398 4.37627 11.2485 -46.48 2.54309 4.56264 11.1552 -46.485 2.64674 4.75771 11.0678 -46.49 2.75512 4.96194 10.9866 -46.495 2.86841 5.17578 10.912 -46.5 2.98683 5.39962 10.8443 -46.505 3.11059 5.63388 10.7839 -46.51 3.23992 5.87892 10.7316 -46.515 3.37505 6.13512 10.6877 -46.52 3.51624 6.4028 10.6529 -46.525 3.66374 6.6823 10.628 -46.53 3.81783 6.9739 10.6136 -46.535 3.9788 7.2779 10.6106 -46.54 4.14693 7.59456 10.6199 -46.545 4.32253 7.92412 10.6423 -46.55 4.50592 8.26681 10.6788 -46.555 4.69743 8.62284 10.7304 -46.56 4.89739 8.99238 10.7983 -46.565 5.10616 9.37562 10.8835 -46.57 5.32393 9.77238 10.9872 -46.575 5.55018 10.1813 11.1101 -46.58 5.78534 10.6029 11.2541 -46.585 6.02992 11.0378 11.4212 -46.59 6.28433 11.4862 11.6136 -46.595 6.54887 11.9479 11.8332 -46.6 6.82376 12.4225 12.0819 -46.605 7.10908 12.9091 12.3616 -46.61 7.40484 13.4066 12.6742 -46.615 7.71093 13.9134 13.0214 -46.62 8.02715 14.4276 13.4052 -46.625 8.3532 14.9471 13.827 -46.63 8.68865 15.4692 14.2888 -46.635 9.03301 15.991 14.792 -46.64 9.38565 16.5093 15.3383 -46.645 9.74585 17.0204 15.9292 -46.65 10.1128 17.5203 16.5663 -46.655 10.4856 18.0048 17.2509 -46.66 10.8632 18.4691 17.9846 -46.665 11.2444 18.9083 18.7687 -46.67 11.6282 19.3169 19.6046 -46.675 12.0128 19.6921 20.4907 -46.68 12.3961 20.0275 21.4239 -46.685 12.7757 20.3145 22.4013 -46.69 13.1491 20.5456 23.4193 -46.695 13.5136 20.7138 24.4734 -46.7 13.8667 20.8133 25.5584 -46.705 14.2055 20.8388 26.6685 -46.71 14.5274 20.786 27.7967 -46.715 14.8293 20.6515 28.9356 -46.72 15.1084 20.4326 30.077 -46.725 15.3616 20.1275 31.2117 -46.73 15.5859 19.7353 32.3299 -46.735 15.7779 19.2557 33.4211 -46.74 15.9346 18.6894 34.4738 -46.745 16.0536 18.0332 35.4753 -46.75 16.1335 17.291 36.4146 -46.755 16.1724 16.4769 37.2843 -46.76 16.1689 15.6045 38.0774 -46.765 16.1221 14.6861 38.7886 -46.77 16.0316 13.7329 39.4133 -46.775 15.8976 12.7554 39.9481 -46.78 15.7208 11.7628 40.3907 -46.785 15.5024 10.7634 40.7399 -46.79 15.2444 9.7645 40.9954 -46.795 14.949 8.77228 41.1582 -46.8 14.619 7.792 41.2302 -46.805 14.2579 6.82787 41.2145 -46.81 13.8697 5.88308 41.1153 -46.815 13.4572 4.96598 40.9392 -46.82 13.021 4.09426 40.6959 -46.825 12.5648 3.27264 40.3923 -46.83 12.0924 2.50434 40.0352 -46.835 11.607 1.79164 39.6314 -46.84 11.1122 1.13583 39.1874 -46.845 10.6111 0.53729 38.7099 -46.85 10.1065 -0.0045771 38.2055 -46.855 9.60139 -0.491312 37.6808 -46.86 9.09829 -0.925409 37.1423 -46.865 8.59968 -1.31032 36.5966 -46.87 8.10781 -1.65017 36.0494 -46.875 7.6246 -1.94709 35.5019 -46.88 7.15151 -2.2039 34.9557 -46.885 6.68983 -2.42381 34.4133 -46.89 6.24069 -2.60996 33.8765 -46.895 5.80504 -2.76542 33.3471 -46.9 5.38368 -2.89319 32.8265 -46.905 4.97721 -2.99619 32.3158 -46.91 4.58611 -3.07728 31.8156 -46.915 4.21064 -3.13923 31.3266 -46.92 3.85095 -3.18476 30.8486 -46.925 3.50697 -3.21651 30.3818 -46.93 3.17863 -3.23658 29.9259 -46.935 2.86568 -3.24648 29.4812 -46.94 2.56773 -3.24778 29.0472 -46.945 2.28437 -3.24195 28.6235 -46.95 2.01517 -3.23036 28.2099 -46.955 1.75969 -3.21428 27.806 -46.96 1.51745 -3.19487 27.4115 -46.965 1.28798 -3.17319 27.026 -46.97 1.07077 -3.15021 26.6493 -46.975 0.865296 -3.12678 26.281 -46.98 0.671028 -3.10367 25.9208 -46.985 0.487403 -3.08153 25.5685 -46.99 0.313846 -3.06093 25.2236 -46.995 0.149763 -3.04232 24.886 -47 -0.00545975 -3.02605 24.5553 -47.005 -0.152482 -3.01241 24.2312 -47.01 -0.291942 -3.00173 23.9136 -47.015 -0.424273 -2.99427 23.6021 -47.02 -0.549903 -2.99029 23.2966 -47.025 -0.669263 -2.99 22.997 -47.03 -0.782788 -2.99359 22.7032 -47.035 -0.890918 -3.00125 22.415 -47.04 -0.994093 -3.01313 22.1323 -47.045 -1.09276 -3.02934 21.8549 -47.05 -1.18737 -3.05001 21.5828 -47.055 -1.27838 -3.0752 21.3159 -47.06 -1.36625 -3.10499 21.0541 -47.065 -1.45143 -3.13941 20.7973 -47.07 -1.5344 -3.17848 20.5453 -47.075 -1.6156 -3.22219 20.2983 -47.08 -1.69529 -3.27064 20.0561 -47.085 -1.77369 -3.32392 19.8188 -47.09 -1.85102 -3.38217 19.5864 -47.095 -1.92752 -3.44548 19.359 -47.1 -2.00343 -3.51396 19.1365 -47.105 -2.07901 -3.58769 18.919 -47.11 -2.15452 -3.66678 18.7066 -47.115 -2.23021 -3.75132 18.4993 -47.12 -2.30636 -3.84139 18.2971 -47.125 -2.38323 -3.93707 18.1002 -47.13 -2.46112 -4.03844 17.9086 -47.135 -2.54032 -4.14557 17.7223 -47.14 -2.6211 -4.25854 17.5416 -47.145 -2.70378 -4.3774 17.3664 -47.15 -2.78858 -4.50225 17.1969 -47.155 -2.87562 -4.63328 17.0333 -47.16 -2.96505 -4.77073 16.8759 -47.165 -3.057 -4.91481 16.7247 -47.17 -3.15165 -5.06571 16.5801 -47.175 -3.24914 -5.22364 16.4422 -47.18 -3.34966 -5.38876 16.3113 -47.185 -3.4534 -5.56125 16.1877 -47.19 -3.56054 -5.74127 16.0717 -47.195 -3.67129 -5.92896 15.9636 -47.2 -3.78587 -6.12446 15.8639 -47.205 -3.90449 -6.32789 15.7728 -47.21 -4.02739 -6.53937 15.6908 -47.215 -4.15481 -6.75901 15.6182 -47.22 -4.287 -6.98689 15.5556 -47.225 -4.42422 -7.2231 15.5034 -47.23 -4.56667 -7.4676 15.462 -47.235 -4.71433 -7.72017 15.432 -47.24 -4.86737 -7.98116 15.414 -47.245 -5.02598 -8.25084 15.4088 -47.25 -5.19033 -8.52942 15.4173 -47.255 -5.36056 -8.81698 15.4401 -47.26 -5.5368 -9.11348 15.4782 -47.265 -5.71915 -9.41881 15.5322 -47.27 -5.9077 -9.73273 15.6032 -47.275 -6.10252 -10.0549 15.692 -47.28 -6.30364 -10.3849 15.7994 -47.285 -6.51108 -10.7221 15.9264 -47.29 -6.72485 -11.0659 16.0739 -47.295 -6.94493 -11.4156 16.2428 -47.3 -7.17127 -11.7702 16.4342 -47.305 -7.40382 -12.1288 16.6491 -47.31 -7.64249 -12.4903 16.8883 -47.315 -7.88718 -12.8535 17.1531 -47.32 -8.13776 -13.2172 17.4443 -47.325 -8.39409 -13.5799 17.7632 -47.33 -8.65579 -13.9405 18.1101 -47.335 -8.92203 -14.2981 18.485 -47.34 -9.19238 -14.6498 18.8891 -47.345 -9.46634 -14.9927 19.3236 -47.35 -9.74331 -15.324 19.789 -47.355 -10.0226 -15.6407 20.2857 -47.36 -10.3033 -15.94 20.8137 -47.365 -10.5846 -16.219 21.3724 -47.37 -10.8655 -16.4749 21.961 -47.375 -11.1448 -16.7048 22.5783 -47.38 -11.4213 -16.9059 23.2227 -47.385 -11.6936 -17.0754 23.8922 -47.39 -11.9604 -17.2104 24.5845 -47.395 -12.22 -17.3081 25.2968 -47.4 -12.4709 -17.3657 26.0261 -47.405 -12.7113 -17.3804 26.7688 -47.41 -12.9393 -17.3495 27.5211 -47.415 -13.153 -17.27 28.2786 -47.42 -13.3514 -17.1384 29.0383 -47.425 -13.5333 -16.9536 29.7954 -47.43 -13.6966 -16.7172 30.5428 -47.435 -13.8393 -16.4311 31.2743 -47.44 -13.9597 -16.0972 31.9839 -47.445 -14.0564 -15.7179 32.666 -47.45 -14.1282 -15.2954 33.3159 -47.455 -14.1741 -14.8326 33.9289 -47.46 -14.1935 -14.3321 34.5012 -47.465 -14.1859 -13.797 35.0291 -47.47 -14.1512 -13.2307 35.5098 -47.475 -14.0895 -12.6365 35.9406 -47.48 -14.001 -12.0181 36.3195 -47.485 -13.8863 -11.3794 36.6449 -47.49 -13.7463 -10.7244 36.9159 -47.495 -13.5821 -10.0575 37.1317 -47.5 -13.3933 -9.3878 37.2916 -47.505 -13.1808 -8.7225 37.3963 -47.51 -12.9464 -8.06614 37.4474 -47.515 -12.692 -7.42287 37.4467 -47.52 -12.4194 -6.79645 37.3965 -47.525 -12.1302 -6.19025 37.299 -47.53 -11.8265 -5.60726 37.157 -47.535 -11.5099 -5.05005 36.9734 -47.54 -11.1824 -4.52082 36.7513 -47.545 -10.8456 -4.02138 36.4944 -47.55 -10.5016 -3.55312 36.2062 -47.555 -10.1521 -3.11707 35.8909 -47.56 -9.79891 -2.71385 35.5526 -47.565 -9.44394 -2.34369 35.196 -47.57 -9.08903 -2.00644 34.8258 -47.575 -8.73598 -1.70116 34.4461 -47.58 -8.3862 -1.42525 34.0568 -47.585 -8.0408 -1.17742 33.6593 -47.59 -7.70085 -0.956493 33.2557 -47.595 -7.3673 -0.761233 32.8476 -47.6 -7.04102 -0.590342 32.4366 -47.605 -6.72278 -0.442458 32.0241 -47.61 -6.41327 -0.316157 31.6116 -47.615 -6.11308 -0.209949 31.2001 -47.62 -5.82271 -0.122281 30.7906 -47.625 -5.54258 -0.0515352 30.3841 -47.63 -5.27301 0.00396841 29.9812 -47.635 -5.01422 0.0459745 29.5826 -47.64 -4.76634 0.0762912 29.1887 -47.645 -4.52943 0.0967905 28.7998 -47.65 -4.30344 0.109253 28.416 -47.655 -4.08815 0.113537 28.0374 -47.66 -3.88337 0.11011 27.6639 -47.665 -3.6889 0.0998299 27.2955 -47.67 -3.50452 0.0834939 26.9324 -47.675 -3.33003 0.0618424 26.5744 -47.68 -3.16518 0.0355573 26.2216 -47.685 -3.00973 0.00526205 25.8739 -47.69 -2.86342 -0.0284779 25.5312 -47.695 -2.72597 -0.0651553 25.1937 -47.7 -2.59711 -0.104321 24.861 -47.705 -2.47652 -0.145585 24.5333 -47.71 -2.36391 -0.188614 24.2104 -47.715 -2.25895 -0.233134 23.8922 -47.72 -2.1613 -0.278929 23.5786 -47.725 -2.07059 -0.325827 23.2695 -47.73 -1.98649 -0.373652 22.9648 -47.735 -1.90876 -0.422248 22.6644 -47.74 -1.83719 -0.471481 22.3684 -47.745 -1.77154 -0.521243 22.0766 -47.75 -1.71159 -0.571449 21.7889 -47.755 -1.65712 -0.622037 21.5053 -47.76 -1.60787 -0.672971 21.2258 -47.765 -1.56364 -0.724236 20.9502 -47.77 -1.52417 -0.775843 20.6785 -47.775 -1.48924 -0.827826 20.4106 -47.78 -1.45861 -0.880242 20.1466 -47.785 -1.43204 -0.933174 19.8863 -47.79 -1.4093 -0.986727 19.6297 -47.795 -1.39014 -1.04103 19.3768 -47.8 -1.37441 -1.09618 19.1275 -47.805 -1.36206 -1.15219 18.8818 -47.81 -1.35302 -1.20913 18.6396 -47.815 -1.34721 -1.26707 18.4011 -47.82 -1.34456 -1.3261 18.166 -47.825 -1.345 -1.38631 17.9345 -47.83 -1.34845 -1.44781 17.7064 -47.835 -1.35485 -1.51072 17.4818 -47.84 -1.36412 -1.57517 17.2607 -47.845 -1.3762 -1.64131 17.0431 -47.85 -1.39102 -1.7093 16.8289 -47.855 -1.40851 -1.77929 16.6181 -47.86 -1.4286 -1.85148 16.4108 -47.865 -1.45124 -1.92606 16.2069 -47.87 -1.47635 -2.00322 16.0066 -47.875 -1.50395 -2.08314 15.8097 -47.88 -1.53413 -2.16592 15.6164 -47.885 -1.56691 -2.25173 15.4266 -47.89 -1.60234 -2.34073 15.2404 -47.895 -1.64047 -2.43309 15.0578 -47.9 -1.68135 -2.52899 14.8788 -47.905 -1.72504 -2.62864 14.7035 -47.91 -1.7716 -2.73224 14.532 -47.915 -1.8211 -2.84 14.3644 -47.92 -1.87358 -2.95215 14.2007 -47.925 -1.92914 -3.06894 14.041 -47.93 -1.98785 -3.1906 13.8854 -47.935 -2.04977 -3.31741 13.7341 -47.94 -2.115 -3.44962 13.5872 -47.945 -2.18362 -3.58753 13.4448 -47.95 -2.25572 -3.73143 13.307 -47.955 -2.3314 -3.8816 13.1742 -47.96 -2.41086 -4.03811 13.0465 -47.965 -2.4943 -4.20117 12.9242 -47.97 -2.58184 -4.37121 12.8074 -47.975 -2.67365 -4.54865 12.6964 -47.98 -2.76986 -4.73389 12.5913 -47.985 -2.87065 -4.92729 12.4923 -47.99 -2.97617 -5.12924 12.3999 -47.995 -3.0866 -5.34008 12.3144 -48 -3.20213 -5.56014 12.2362 -48.005 -3.32295 -5.78976 12.1657 -48.01 -3.44925 -6.02923 12.1035 -48.015 -3.58124 -6.27885 12.0501 -48.02 -3.71913 -6.5389 12.0061 -48.025 -3.86315 -6.80963 11.9723 -48.03 -4.01352 -7.0913 11.9492 -48.035 -4.17049 -7.38414 11.9376 -48.04 -4.33428 -7.68836 11.9384 -48.045 -4.50516 -8.00417 11.9524 -48.05 -4.68338 -8.33175 11.9804 -48.055 -4.86922 -8.67128 12.0235 -48.06 -5.06293 -9.02292 12.0826 -48.065 -5.26482 -9.3868 12.1587 -48.07 -5.4748 -9.76237 12.2526 -48.075 -5.69272 -10.1489 12.3654 -48.08 -5.91901 -10.547 12.4987 -48.085 -6.15403 -10.9567 12.6545 -48.09 -6.39808 -11.378 12.8344 -48.095 -6.65133 -11.8105 13.0402 -48.1 -6.91389 -12.2537 13.2735 -48.105 -7.18579 -12.7065 13.5359 -48.11 -7.46696 -13.1678 13.8291 -48.115 -7.75725 -13.636 14.1545 -48.12 -8.05641 -14.1094 14.5136 -48.125 -8.36413 -14.5859 14.9079 -48.13 -8.67999 -15.0633 15.3388 -48.135 -9.00349 -15.5388 15.8076 -48.14 -9.33406 -16.0095 16.3156 -48.145 -9.67102 -16.4723 16.8642 -48.15 -10.0136 -16.9237 17.4545 -48.155 -10.361 -17.3599 18.0878 -48.16 -10.7123 -17.7768 18.7652 -48.165 -11.0664 -18.1703 19.4878 -48.17 -11.4222 -18.5376 20.255 -48.175 -11.7779 -18.8742 21.0648 -48.18 -12.1316 -19.1729 21.9154 -48.185 -12.4813 -19.427 22.8041 -48.19 -12.8247 -19.6306 23.728 -48.195 -13.1597 -19.7782 24.6831 -48.2 -13.484 -19.8652 25.6651 -48.205 -13.7953 -19.8874 26.6688 -48.21 -14.0911 -19.8413 27.6884 -48.215 -14.3689 -19.7241 28.7174 -48.22 -14.6262 -19.5336 29.7488 -48.225 -14.8603 -19.268 30.7748 -48.23 -15.0683 -18.9266 31.787 -48.235 -15.2476 -18.5088 32.7762 -48.24 -15.3953 -18.0148 33.7328 -48.245 -15.5097 -17.4396 34.6458 -48.25 -15.5896 -16.7891 35.5067 -48.255 -15.6331 -16.0753 36.3086 -48.26 -15.6389 -15.3093 37.0456 -48.265 -15.6062 -14.5015 37.7124 -48.27 -15.5347 -13.6614 38.305 -48.275 -15.4243 -12.7975 38.8201 -48.28 -15.2757 -11.9177 39.2552 -48.285 -15.0897 -11.0289 39.6089 -48.29 -14.8677 -10.1373 39.8807 -48.295 -14.6118 -9.24797 40.0707 -48.3 -14.324 -8.3655 40.1803 -48.305 -14.0073 -7.49345 40.2116 -48.31 -13.6649 -6.63455 40.1676 -48.315 -13.3002 -5.79146 40.0524 -48.32 -12.9136 -4.9801 39.8732 -48.325 -12.5071 -4.20948 39.6366 -48.33 -12.084 -3.48294 39.348 -48.335 -11.6475 -2.80304 39.0129 -48.34 -11.2005 -2.17156 38.637 -48.345 -10.7459 -1.58952 38.2256 -48.35 -10.2864 -1.05715 37.7844 -48.355 -9.82454 -0.573925 37.319 -48.36 -9.36266 -0.138538 36.8349 -48.365 -8.90306 0.251092 36.3377 -48.37 -8.44782 0.597817 35.833 -48.375 -7.99892 0.905172 35.3262 -48.38 -7.55802 1.17512 34.8183 -48.385 -7.12642 1.4098 34.3102 -48.39 -6.7052 1.61188 33.804 -48.395 -6.29532 1.784 33.3014 -48.4 -5.89762 1.92872 32.8039 -48.405 -5.51278 2.04855 32.3127 -48.41 -5.14136 2.14593 31.829 -48.415 -4.78378 2.22328 31.3535 -48.42 -4.44033 2.28293 30.8866 -48.425 -4.11116 2.32718 30.4288 -48.43 -3.79628 2.35824 29.9801 -48.435 -3.49558 2.37828 29.5402 -48.44 -3.2089 2.38876 29.1094 -48.445 -2.93595 2.39089 28.6876 -48.45 -2.67637 2.38595 28.2745 -48.455 -2.42978 2.37513 27.8699 -48.46 -2.1958 2.35955 27.4736 -48.465 -1.97402 2.34022 27.0853 -48.47 -1.76403 2.31809 26.7048 -48.475 -1.56539 2.29402 26.3319 -48.48 -1.37764 2.26878 25.9662 -48.485 -1.20033 2.24304 25.6077 -48.49 -1.03297 2.21743 25.256 -48.495 -0.875072 2.19245 24.911 -48.5 -0.726114 2.16854 24.5724 -48.505 -0.585573 2.14605 24.2399 -48.51 -0.452905 2.12525 23.9133 -48.515 -0.327543 2.1064 23.5925 -48.52 -0.209041 2.08976 23.2772 -48.525 -0.0970197 2.07556 22.9672 -48.53 0.00890348 2.06398 22.6625 -48.535 0.109112 2.05521 22.3629 -48.54 0.203991 2.0494 22.0684 -48.545 0.293928 2.04668 21.7786 -48.55 0.379309 2.04716 21.4937 -48.555 0.460525 2.05093 21.2134 -48.56 0.537965 2.05806 20.9376 -48.565 0.612023 2.0686 20.6663 -48.57 0.683093 2.08257 20.3993 -48.575 0.751568 2.09997 20.1367 -48.58 0.817827 2.12079 19.8782 -48.585 0.882092 2.14513 19.6239 -48.59 0.944564 2.17305 19.3737 -48.595 1.00546 2.20464 19.1277 -48.6 1.06498 2.23996 18.8858 -48.605 1.12336 2.2791 18.6479 -48.61 1.18081 2.3221 18.4141 -48.615 1.23757 2.36905 18.1843 -48.62 1.29386 2.41999 17.9585 -48.625 1.34992 2.475 17.7368 -48.63 1.40598 2.53411 17.5191 -48.635 1.4623 2.59739 17.3054 -48.64 1.5191 2.66488 17.0957 -48.645 1.57665 2.73663 16.8901 -48.65 1.63516 2.81271 16.6885 -48.655 1.69476 2.89328 16.4911 -48.66 1.75556 2.9785 16.2978 -48.665 1.81768 3.06855 16.1087 -48.67 1.88126 3.16358 15.9239 -48.675 1.94644 3.26377 15.7435 -48.68 2.01338 3.3693 15.5676 -48.685 2.08223 3.48033 15.3962 -48.69 2.15318 3.59704 15.2295 -48.695 2.22641 3.71961 15.0676 -48.7 2.30211 3.8482 14.9106 -48.705 2.38049 3.98301 14.7587 -48.71 2.46175 4.1242 14.6121 -48.715 2.54613 4.27197 14.4708 -48.72 2.63385 4.42648 14.3352 -48.725 2.72516 4.58793 14.2053 -48.73 2.82023 4.75644 14.0816 -48.735 2.91918 4.93234 13.9642 -48.74 3.02216 5.11602 13.8535 -48.745 3.12933 5.30781 13.7496 -48.75 3.24084 5.50807 13.6531 -48.755 3.35688 5.71709 13.5641 -48.76 3.47762 5.93516 13.4832 -48.765 3.60325 6.16255 13.4108 -48.77 3.73397 6.39952 13.3475 -48.775 3.86999 6.64627 13.2937 -48.78 4.01153 6.90301 13.2501 -48.785 4.1588 7.16992 13.2172 -48.79 4.31205 7.44715 13.1959 -48.795 4.47152 7.73485 13.1867 -48.8 4.63745 8.03313 13.1904 -48.805 4.81011 8.34208 13.208 -48.81 4.98977 8.66176 13.2401 -48.815 5.1767 8.99223 13.2876 -48.82 5.37093 9.33307 13.3513 -48.825 5.57197 9.68302 13.4314 -48.83 5.78021 10.0426 13.5296 -48.835 5.99604 10.4122 13.6475 -48.84 6.21981 10.7922 13.7868 -48.845 6.45174 11.1822 13.9491 -48.85 6.69201 11.5822 14.1359 -48.855 6.9407 11.9914 14.3486 -48.86 7.19779 12.409 14.5887 -48.865 7.46321 12.834 14.8574 -48.87 7.7368 13.2649 15.156 -48.875 8.01831 13.7002 15.4857 -48.88 8.3074 14.1379 15.8476 -48.885 8.60368 14.5761 16.2427 -48.89 8.90665 15.0122 16.672 -48.895 9.21573 15.4436 17.1365 -48.9 9.53028 15.8676 17.637 -48.905 9.84956 16.2808 18.1743 -48.91 10.1728 16.6799 18.7491 -48.915 10.499 17.0613 19.362 -48.92 10.8272 17.4209 20.0137 -48.925 11.1564 17.7548 20.7047 -48.93 11.4854 18.0583 21.4354 -48.935 11.8131 18.3287 22.205 -48.94 12.1375 18.5629 23.0099 -48.945 12.4564 18.7547 23.8464 -48.95 12.7677 18.8987 24.7105 -48.955 13.0691 18.99 25.5979 -48.96 13.3586 19.0246 26.5038 -48.965 13.6338 18.999 27.4233 -48.97 13.8927 18.9105 28.3509 -48.975 14.1331 18.7573 29.2808 -48.98 14.3529 18.5378 30.2068 -48.985 14.5501 18.2517 31.1225 -48.99 14.7224 17.899 32.021 -48.995 14.8679 17.4806 32.8951 -49 14.9845 16.9979 33.7372 -49.005 15.0701 16.4533 34.5393 -49.01 15.123 15.8478 35.2923 -49.015 15.1426 15.1832 35.9872 -49.02 15.1281 14.47 36.6206 -49.025 15.0792 13.7187 37.1894 -49.03 14.9958 12.9387 37.6914 -49.035 14.878 12.1388 38.1247 -49.04 14.7266 11.327 38.4883 -49.045 14.5423 10.5104 38.7815 -49.05 14.3263 9.69547 39.0041 -49.055 14.0802 8.88784 39.1568 -49.06 13.8059 8.09237 39.2406 -49.065 13.5055 7.31314 39.257 -49.07 13.1815 6.55346 39.2083 -49.075 12.8368 5.81587 39.0971 -49.08 12.4745 5.1021 38.9269 -49.085 12.0976 4.41496 38.7023 -49.09 11.7065 3.76522 38.4322 -49.095 11.3037 3.15609 38.122 -49.1 10.892 2.58889 37.7764 -49.105 10.4739 2.06441 37.3999 -49.11 10.0518 1.58292 36.9968 -49.115 9.62797 1.14414 36.5715 -49.12 9.20453 0.747294 36.1281 -49.125 8.78336 0.391037 35.6707 -49.13 8.36625 0.0735195 35.2033 -49.135 7.95481 -0.207646 34.7295 -49.14 7.55047 -0.455376 34.2533 -49.145 7.15453 -0.673037 33.7779 -49.15 6.76816 -0.862127 33.3041 -49.155 6.39217 -1.02427 32.8324 -49.16 6.0272 -1.16169 32.3639 -49.165 5.6738 -1.27656 31.8998 -49.17 5.33244 -1.37094 31.4409 -49.175 5.00349 -1.44685 30.9881 -49.18 4.68722 -1.50618 30.542 -49.185 4.38382 -1.55079 30.103 -49.19 4.09337 -1.58242 29.6714 -49.195 3.81586 -1.60276 29.2473 -49.2 3.55121 -1.61339 28.8308 -49.205 3.29921 -1.61584 28.4216 -49.21 3.05959 -1.61138 28.0197 -49.215 2.83203 -1.60093 27.6252 -49.22 2.61617 -1.5854 27.2379 -49.225 2.41166 -1.56568 26.8575 -49.23 2.21813 -1.54257 26.4839 -49.235 2.03522 -1.51681 26.1169 -49.24 1.86253 -1.48907 25.7564 -49.245 1.69967 -1.45998 25.4021 -49.25 1.54623 -1.4301 25.0539 -49.255 1.4018 -1.3999 24.7116 -49.26 1.26596 -1.36983 24.375 -49.265 1.13826 -1.34025 24.044 -49.27 1.01826 -1.31146 23.7184 -49.275 0.905517 -1.28372 23.398 -49.28 0.799553 -1.25719 23.0827 -49.285 0.699898 -1.232 22.7723 -49.29 0.60616 -1.20832 22.4667 -49.295 0.51803 -1.18631 22.1658 -49.3 0.435204 -1.1661 21.8694 -49.305 0.357377 -1.1478 21.5775 -49.31 0.284243 -1.1315 21.2898 -49.315 0.215496 -1.11728 21.0065 -49.32 0.150833 -1.10519 20.7273 -49.325 0.0899475 -1.09529 20.4522 -49.33 0.0325347 -1.08758 20.181 -49.335 -0.0217105 -1.08208 19.9137 -49.34 -0.073093 -1.07878 19.6503 -49.345 -0.121918 -1.07766 19.3906 -49.35 -0.168488 -1.07866 19.1346 -49.355 -0.213015 -1.08181 18.8821 -49.36 -0.255641 -1.08715 18.6333 -49.365 -0.296524 -1.0947 18.388 -49.37 -0.335824 -1.10451 18.1462 -49.375 -0.373702 -1.11658 17.9078 -49.38 -0.410322 -1.13094 17.6728 -49.385 -0.445849 -1.14761 17.4411 -49.39 -0.48045 -1.1666 17.2128 -49.395 -0.514292 -1.18792 16.9878 -49.4 -0.547548 -1.21158 16.766 -49.405 -0.580388 -1.23758 16.5474 -49.41 -0.612986 -1.26593 16.3319 -49.415 -0.645518 -1.29661 16.1196 -49.42 -0.67813 -1.32967 15.9104 -49.425 -0.710899 -1.36519 15.7044 -49.43 -0.743899 -1.40323 15.5013 -49.435 -0.777215 -1.44389 15.3014 -49.44 -0.810932 -1.48725 15.1045 -49.445 -0.845146 -1.5334 14.9106 -49.45 -0.879957 -1.58242 14.7198 -49.455 -0.91547 -1.63441 14.532 -49.46 -0.951798 -1.68945 14.3473 -49.465 -0.989058 -1.74765 14.1655 -49.47 -1.02738 -1.8091 13.9869 -49.475 -1.06688 -1.87389 13.8112 -49.48 -1.10771 -1.94213 13.6386 -49.485 -1.15 -2.01391 13.4691 -49.49 -1.19391 -2.08935 13.3026 -49.495 -1.23957 -2.16857 13.1393 -49.5 -1.28705 -2.25177 12.9792 -49.505 -1.33642 -2.33915 12.8223 -49.51 -1.38779 -2.43092 12.6686 -49.515 -1.44123 -2.52729 12.5182 -49.52 -1.49685 -2.62847 12.3712 -49.525 -1.55477 -2.73469 12.2276 -49.53 -1.61512 -2.84619 12.0876 -49.535 -1.67802 -2.9632 11.9512 -49.54 -1.74364 -3.08596 11.8185 -49.545 -1.81212 -3.21473 11.6898 -49.55 -1.88363 -3.34975 11.565 -49.555 -1.95835 -3.4913 11.4445 -49.56 -2.03648 -3.63964 11.3283 -49.565 -2.1182 -3.79504 11.2167 -49.57 -2.20372 -3.95779 11.1098 -49.575 -2.29328 -4.12818 11.0078 -49.58 -2.38708 -4.30648 10.9111 -49.585 -2.48534 -4.49275 10.82 -49.59 -2.58823 -4.68744 10.7349 -49.595 -2.69592 -4.89111 10.6561 -49.6 -2.80862 -5.10431 10.5836 -49.605 -2.92652 -5.32754 10.518 -49.61 -3.04984 -5.56128 10.4597 -49.615 -3.1788 -5.80599 10.409 -49.62 -3.31364 -6.06208 10.3666 -49.625 -3.4546 -6.32994 10.333 -49.63 -3.60193 -6.60993 10.309 -49.635 -3.7559 -6.90238 10.2953 -49.64 -3.91677 -7.20759 10.2927 -49.645 -4.08483 -7.52583 10.3021 -49.65 -4.26037 -7.85734 10.3244 -49.655 -4.44369 -8.20232 10.3607 -49.66 -4.6351 -8.56096 10.4121 -49.665 -4.83493 -8.93341 10.4797 -49.67 -5.0435 -9.31977 10.5647 -49.675 -5.26115 -9.72016 10.6684 -49.68 -5.48825 -10.1346 10.7922 -49.685 -5.72513 -10.5632 10.9375 -49.69 -5.97145 -11.0048 11.1051 -49.695 -6.22703 -11.4587 11.2964 -49.7 -6.49244 -11.9254 11.5142 -49.705 -6.76809 -12.4047 11.7608 -49.71 -7.05427 -12.8962 12.0386 -49.715 -7.35113 -13.3988 12.3499 -49.72 -7.6587 -13.9115 12.6966 -49.725 -7.97687 -14.4324 13.081 -49.73 -8.30542 -14.9596 13.5047 -49.735 -8.64398 -15.4904 13.9696 -49.74 -8.99205 -16.0222 14.4773 -49.745 -9.34901 -16.5516 15.0292 -49.75 -9.7141 -17.0749 15.6269 -49.755 -10.0864 -17.5881 16.2716 -49.76 -10.465 -18.0867 16.9644 -49.765 -10.8487 -18.5659 17.7064 -49.77 -11.2362 -19.0205 18.4986 -49.775 -11.6261 -19.4447 19.3416 -49.78 -12.0168 -19.8325 20.2362 -49.785 -12.4069 -20.179 21.1823 -49.79 -12.7942 -20.4801 22.176 -49.795 -13.176 -20.7268 23.2129 -49.8 -13.5492 -20.9109 24.2877 -49.805 -13.9111 -21.0254 25.3947 -49.81 -14.2586 -21.0641 26.5274 -49.815 -14.5889 -21.022 27.6788 -49.82 -14.8989 -20.8953 28.8413 -49.825 -15.1857 -20.681 30.0065 -49.83 -15.4463 -20.3774 31.1654 -49.835 -15.6778 -19.9836 32.3084 -49.84 -15.877 -19.5 33.4254 -49.845 -16.0411 -18.9279 34.5053 -49.85 -16.1669 -18.2698 35.5368 -49.855 -16.2517 -17.527 36.5069 -49.86 -16.2945 -16.7004 37.402 -49.865 -16.2939 -15.8052 38.2163 -49.87 -16.2491 -14.8567 38.9452 -49.875 -16.1598 -13.8686 39.5849 -49.88 -16.026 -12.8539 40.1327 -49.885 -15.8484 -11.8238 40.5868 -49.89 -15.6281 -10.7885 40.9462 -49.895 -15.3668 -9.75709 41.2109 -49.9 -15.0666 -8.73708 41.3819 -49.905 -14.7303 -7.73489 41.4609 -49.91 -14.3609 -6.75569 41.4507 -49.915 -13.9623 -5.80334 41.355 -49.92 -13.5385 -4.88048 41.1783 -49.925 -13.0937 -3.99099 40.927 -49.93 -12.6285 -3.15138 40.6137 -49.935 -12.1465 -2.36691 40.2465 -49.94 -11.6512 -1.6397 39.8326 -49.945 -11.1462 -0.970961 39.3788 -49.95 -10.6349 -0.361014 38.8919 -49.955 -10.1203 0.190695 38.3784 -49.96 -9.6053 0.685611 37.8444 -49.965 -9.09252 1.12606 37.2961 -49.97 -8.58441 1.51527 36.7394 -49.975 -8.0832 1.85734 36.1797 -49.98 -7.59086 2.15667 35.622 -49.985 -7.10895 2.41519 35.0666 -49.99 -6.63887 2.63602 34.5159 -49.995 -6.18181 2.82254 33.9718 -50 -5.73872 2.97804 33.436 diff --git a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_4.txt b/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_4.txt deleted file mode 100644 index fd968c5..0000000 --- a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_4.txt +++ /dev/null @@ -1,10005 +0,0 @@ -PARAMETRIC_CURVE_CARTESIAN_3D -t1: 0 -t2: 50 -NumPoints: 10001 -0 -10 -20 30 -0.005 -10.4825 -19.7823 30.6149 -0.01 -10.9299 -19.5269 31.255 -0.015 -11.343 -19.2305 31.9144 -0.02 -11.7215 -18.8908 32.5859 -0.025 -12.0641 -18.5058 33.2607 -0.03 -12.3699 -18.0744 33.9307 -0.035 -12.638 -17.5964 34.5882 -0.04 -12.8678 -17.0722 35.2261 -0.045 -13.0589 -16.5031 35.8376 -0.05 -13.211 -15.891 36.4166 -0.055 -13.3243 -15.239 36.9573 -0.06 -13.399 -14.5505 37.4546 -0.065 -13.4356 -13.8301 37.9037 -0.07 -13.4348 -13.0829 38.3003 -0.075 -13.3974 -12.315 38.6408 -0.08 -13.3247 -11.5331 38.9219 -0.085 -13.2177 -10.7446 39.1411 -0.09 -13.0774 -9.9551 39.2989 -0.095 -12.9054 -9.17031 39.3965 -0.1 -12.7039 -8.39587 39.4349 -0.105 -12.4751 -7.63691 39.4157 -0.11 -12.2211 -6.89808 39.3411 -0.115 -11.9442 -6.18351 39.2136 -0.12 -11.6467 -5.49688 39.0361 -0.125 -11.3309 -4.84138 38.8121 -0.13 -10.9992 -4.2197 38.5455 -0.135 -10.654 -3.63406 38.2408 -0.14 -10.2978 -3.08617 37.9028 -0.145 -9.93297 -2.57729 37.5367 -0.15 -9.56213 -2.10817 37.1484 -0.155 -9.1878 -1.67883 36.7437 -0.16 -8.81188 -1.28679 36.3239 -0.165 -8.43612 -0.930661 35.8911 -0.17 -8.0622 -0.609363 35.4481 -0.175 -7.69168 -0.321668 34.9973 -0.18 -7.32595 -0.0661857 34.5409 -0.185 -6.96632 0.158631 34.081 -0.19 -6.6139 0.354485 33.6196 -0.195 -6.26972 0.523241 33.1583 -0.2 -5.93465 0.666918 32.6987 -0.205 -5.60943 0.787693 32.2422 -0.21 -5.29465 0.887903 31.79 -0.215 -4.99079 0.970041 31.3431 -0.22 -4.69818 1.03676 30.9023 -0.225 -4.41701 1.09086 30.4683 -0.23 -4.14735 1.13362 30.0411 -0.235 -3.88913 1.16477 29.6204 -0.24 -3.64224 1.18562 29.2062 -0.245 -3.40656 1.1974 28.7986 -0.25 -3.18193 1.20129 28.3975 -0.255 -2.96817 1.19835 28.003 -0.26 -2.76508 1.18958 27.615 -0.265 -2.57241 1.17591 27.2334 -0.27 -2.38989 1.15816 26.8583 -0.275 -2.21725 1.13709 26.4894 -0.28 -2.05415 1.11337 26.1267 -0.285 -1.90027 1.08759 25.7699 -0.29 -1.75521 1.06027 25.4189 -0.295 -1.61855 1.03184 25.0735 -0.3 -1.48983 1.0027 24.7335 -0.305 -1.36872 0.973201 24.3989 -0.31 -1.25493 0.943648 24.0694 -0.315 -1.14813 0.914325 23.7451 -0.32 -1.04802 0.88548 23.4256 -0.325 -0.954258 0.857335 23.111 -0.33 -0.866531 0.830081 22.8011 -0.335 -0.784506 0.803877 22.4958 -0.34 -0.70785 0.778853 22.195 -0.345 -0.636224 0.755109 21.8985 -0.35 -0.569287 0.732714 21.6063 -0.355 -0.506694 0.711707 21.3183 -0.36 -0.448095 0.692098 21.0343 -0.365 -0.393137 0.673866 20.7543 -0.37 -0.34149 0.656979 20.4782 -0.375 -0.292984 0.641491 20.2059 -0.38 -0.247471 0.62745 19.9374 -0.385 -0.204795 0.614895 19.6726 -0.39 -0.164797 0.603853 19.4115 -0.395 -0.127315 0.594342 19.154 -0.4 -0.092182 0.586371 18.9 -0.405 -0.0592273 0.579939 18.6494 -0.41 -0.028277 0.575036 18.4024 -0.415 0.000846748 0.57164 18.1586 -0.42 0.0283258 0.569721 17.9182 -0.425 0.0543457 0.569241 17.6811 -0.43 0.0790957 0.570149 17.4472 -0.435 0.102769 0.572387 17.2164 -0.44 0.125562 0.575886 16.9887 -0.445 0.147634 0.580601 16.7641 -0.45 0.16897 0.586614 16.5425 -0.455 0.189626 0.593954 16.3239 -0.46 0.209674 0.602638 16.1083 -0.465 0.229188 0.612683 15.8956 -0.47 0.248242 0.624105 15.6858 -0.475 0.266916 0.636917 15.4789 -0.48 0.285292 0.651133 15.2748 -0.485 0.303451 0.666764 15.0734 -0.49 0.321481 0.683822 14.8748 -0.495 0.339471 0.702317 14.679 -0.5 0.35751 0.722257 14.4858 -0.505 0.375694 0.743649 14.2953 -0.51 0.394117 0.766499 14.1074 -0.515 0.412872 0.790822 13.9221 -0.52 0.432 0.816681 13.7394 -0.525 0.451533 0.844146 13.5592 -0.53 0.471509 0.873282 13.3816 -0.535 0.491972 0.904158 13.2065 -0.54 0.51297 0.936847 13.0339 -0.545 0.534555 0.971421 12.8637 -0.55 0.556784 1.00796 12.696 -0.555 0.57972 1.04653 12.5308 -0.56 0.603429 1.08723 12.3679 -0.565 0.627982 1.13013 12.2075 -0.57 0.653455 1.17531 12.0495 -0.575 0.679928 1.22287 11.8939 -0.58 0.707488 1.2729 11.7407 -0.585 0.736223 1.32548 11.5898 -0.59 0.766228 1.38071 11.4414 -0.595 0.797603 1.43869 11.2953 -0.6 0.830433 1.49956 11.1517 -0.605 0.864768 1.5635 11.0105 -0.61 0.90066 1.63065 10.8717 -0.615 0.938173 1.7012 10.7353 -0.62 0.977377 1.77532 10.6014 -0.625 1.01835 1.8532 10.47 -0.63 1.06119 1.93504 10.341 -0.635 1.10598 2.02104 10.2147 -0.64 1.15284 2.11142 10.0909 -0.645 1.20188 2.20638 9.96981 -0.65 1.25322 2.30617 9.85146 -0.655 1.307 2.411 9.73592 -0.66 1.36335 2.52113 9.62328 -0.665 1.42243 2.63681 9.51365 -0.67 1.4844 2.75828 9.40713 -0.675 1.54942 2.88583 9.30382 -0.68 1.61767 3.01971 9.20386 -0.685 1.68934 3.16022 9.10738 -0.69 1.76462 3.30764 9.01451 -0.695 1.84373 3.4621 8.92567 -0.7 1.92685 3.62391 8.84115 -0.705 2.01413 3.79361 8.76101 -0.71 2.10573 3.97172 8.68535 -0.715 2.20184 4.15876 8.61434 -0.72 2.30265 4.35525 8.54823 -0.725 2.40836 4.56169 8.4873 -0.73 2.5192 4.77855 8.43191 -0.735 2.63541 5.00634 8.38249 -0.74 2.75724 5.24551 8.33952 -0.745 2.88495 5.49652 8.30356 -0.75 3.01884 5.75983 8.2752 -0.755 3.15918 6.03588 8.25512 -0.76 3.3063 6.32509 8.24407 -0.765 3.46052 6.62789 8.24283 -0.77 3.62217 6.94469 8.25228 -0.775 3.79162 7.27589 8.27332 -0.78 3.96923 7.62189 8.30696 -0.785 4.15538 7.98305 8.35424 -0.79 4.35047 8.35976 8.41627 -0.795 4.55492 8.75237 8.49423 -0.8 4.76915 9.16124 8.58935 -0.805 4.99359 9.58668 8.70294 -0.81 5.22786 10.0273 8.83614 -0.815 5.47213 10.4834 8.99081 -0.82 5.72707 10.9558 9.16919 -0.825 5.99325 11.4453 9.37351 -0.83 6.2711 11.952 9.60603 -0.835 6.56097 12.4759 9.86903 -0.84 6.8631 13.0161 10.1648 -0.845 7.17758 13.5718 10.4956 -0.85 7.50444 14.1413 10.8639 -0.855 7.84357 14.7228 11.2719 -0.86 8.19475 15.314 11.722 -0.865 8.55766 15.912 12.2166 -0.87 8.93185 16.5137 12.758 -0.875 9.31678 17.1155 13.3487 -0.88 9.7118 17.7132 13.9912 -0.885 10.1161 18.3025 14.6878 -0.89 10.5289 18.8783 15.441 -0.895 10.9491 19.4355 16.2534 -0.9 11.3756 19.9682 17.1273 -0.905 11.8071 20.4711 18.0643 -0.91 12.2415 20.9397 19.0614 -0.915 12.6763 21.3634 20.1172 -0.92 13.1088 21.7321 21.2295 -0.925 13.5364 22.0366 22.395 -0.93 13.9561 22.2683 23.6092 -0.935 14.3647 22.4196 24.8661 -0.94 14.7589 22.4836 26.1588 -0.945 15.1352 22.4544 27.479 -0.95 15.4899 22.3267 28.8171 -0.955 15.8191 22.0962 30.1625 -0.96 16.1188 21.7595 31.5031 -0.965 16.3847 21.3139 32.8259 -0.97 16.6124 20.7574 34.1162 -0.975 16.7994 20.0813 35.3597 -0.98 16.9429 19.2934 36.5418 -0.985 17.0396 18.4098 37.6494 -0.99 17.0869 17.4457 38.6711 -0.995 17.0829 16.4154 39.5973 -1 17.0267 15.3319 40.42 -1.005 16.9178 14.2074 41.1332 -1.01 16.7568 13.0529 41.7323 -1.015 16.5448 11.8783 42.2148 -1.02 16.2838 10.6927 42.5796 -1.025 15.9765 9.50396 42.8278 -1.03 15.6264 8.31889 42.9618 -1.035 15.2377 7.14335 42.9861 -1.04 14.8139 5.98821 42.907 -1.045 14.3555 4.87955 42.7333 -1.05 13.8668 3.82647 42.474 -1.055 13.3524 2.83516 42.1379 -1.06 12.8166 1.91038 41.7341 -1.065 12.2638 1.05541 41.2716 -1.07 11.698 0.272068 40.7599 -1.075 11.1233 -0.439294 40.2085 -1.08 10.5434 -1.07978 39.6269 -1.085 9.96199 -1.65194 39.025 -1.09 9.38266 -2.15983 38.4126 -1.095 8.80854 -2.60754 37.7962 -1.1 8.24209 -2.99811 37.1773 -1.105 7.68551 -3.33569 36.5598 -1.11 7.14075 -3.62442 35.9473 -1.115 6.60951 -3.86843 35.3429 -1.12 6.09322 -4.07182 34.749 -1.125 5.59309 -4.2387 34.1678 -1.13 5.11005 -4.37312 33.6006 -1.135 4.64476 -4.47914 33.0484 -1.14 4.19767 -4.5608 32.5116 -1.145 3.76894 -4.62209 31.9903 -1.15 3.3588 -4.66576 31.4847 -1.155 2.96709 -4.69406 30.9947 -1.16 2.59342 -4.70929 30.5196 -1.165 2.23741 -4.71365 30.0592 -1.17 1.89862 -4.70914 29.6127 -1.175 1.57659 -4.69763 29.1798 -1.18 1.27081 -4.68081 28.76 -1.185 0.98075 -4.66023 28.3527 -1.19 0.705851 -4.63728 27.9575 -1.195 0.445513 -4.61319 27.5737 -1.2 0.199105 -4.58903 27.2011 -1.205 -0.0340343 -4.56572 26.8389 -1.21 -0.254602 -4.544 26.4868 -1.215 -0.463327 -4.52449 26.1441 -1.22 -0.661011 -4.50767 25.8105 -1.225 -0.848592 -4.49411 25.4854 -1.23 -1.02665 -4.48422 25.1685 -1.235 -1.19573 -4.47837 24.8597 -1.24 -1.35636 -4.47685 24.5587 -1.245 -1.50908 -4.47997 24.2651 -1.25 -1.65447 -4.48797 23.979 -1.255 -1.79307 -4.5011 23.7 -1.26 -1.92544 -4.51954 23.4279 -1.265 -2.05217 -4.54348 23.1627 -1.27 -2.17382 -4.57303 22.9041 -1.275 -2.29099 -4.60833 22.652 -1.28 -2.40426 -4.64945 22.4063 -1.285 -2.51423 -4.69643 22.1669 -1.29 -2.6215 -4.74931 21.9338 -1.295 -2.72665 -4.80806 21.7067 -1.3 -2.82998 -4.8727 21.4859 -1.305 -2.93172 -4.94333 21.2714 -1.31 -3.03216 -5.02004 21.0633 -1.315 -3.13157 -5.10292 20.8617 -1.32 -3.23025 -5.19206 20.6666 -1.325 -3.32849 -5.28751 20.4782 -1.33 -3.42658 -5.38934 20.2966 -1.335 -3.52484 -5.49758 20.1218 -1.34 -3.62357 -5.61226 19.9541 -1.345 -3.72308 -5.73341 19.7936 -1.35 -3.82372 -5.86102 19.6404 -1.355 -3.92579 -5.9951 19.4946 -1.36 -4.02964 -6.13562 19.3565 -1.365 -4.1356 -6.28256 19.2262 -1.37 -4.24401 -6.43587 19.1039 -1.375 -4.35498 -6.59553 18.9899 -1.38 -4.46862 -6.76168 18.8846 -1.385 -4.58507 -6.93443 18.7882 -1.39 -4.70446 -7.11386 18.7012 -1.395 -4.82693 -7.30003 18.6239 -1.4 -4.95261 -7.49293 18.5568 -1.405 -5.08163 -7.69253 18.5001 -1.41 -5.21414 -7.89878 18.4545 -1.415 -5.35025 -8.11156 18.4202 -1.42 -5.49011 -8.33074 18.3977 -1.425 -5.63384 -8.55614 18.3876 -1.43 -5.78158 -8.78754 18.3902 -1.435 -5.93346 -9.02468 18.406 -1.44 -6.08961 -9.26729 18.4356 -1.445 -6.25015 -9.51503 18.4795 -1.45 -6.41523 -9.76755 18.5381 -1.455 -6.58492 -10.0244 18.612 -1.46 -6.7589 -10.2853 18.7011 -1.465 -6.93707 -10.5498 18.806 -1.47 -7.11948 -10.8172 18.9279 -1.475 -7.3061 -11.0869 19.0677 -1.48 -7.49687 -11.3583 19.2262 -1.485 -7.69168 -11.6304 19.4041 -1.49 -7.89035 -11.9023 19.602 -1.495 -8.09268 -12.1731 19.8205 -1.5 -8.29839 -12.4416 20.0598 -1.505 -8.50718 -12.7067 20.3203 -1.51 -8.71867 -12.9671 20.6021 -1.515 -8.93245 -13.2215 20.9052 -1.52 -9.14805 -13.4684 21.2296 -1.525 -9.36497 -13.7063 21.575 -1.53 -9.58263 -13.9335 21.9413 -1.535 -9.80041 -14.1484 22.3279 -1.54 -10.0177 -14.3492 22.7343 -1.545 -10.2337 -14.534 23.16 -1.55 -10.4476 -14.7008 23.6041 -1.555 -10.6588 -14.8476 24.0658 -1.56 -10.8662 -14.9722 24.5441 -1.565 -11.0696 -15.0735 25.0387 -1.57 -11.2679 -15.15 25.5477 -1.575 -11.4597 -15.1998 26.0681 -1.58 -11.6439 -15.2213 26.5972 -1.585 -11.8191 -15.2131 27.132 -1.59 -11.9844 -15.1742 27.6699 -1.595 -12.1385 -15.1036 28.208 -1.6 -12.2806 -15.001 28.7435 -1.605 -12.4096 -14.8658 29.2736 -1.61 -12.5247 -14.6983 29.7957 -1.615 -12.625 -14.4986 30.3069 -1.62 -12.7099 -14.2672 30.8046 -1.625 -12.7787 -14.0049 31.2861 -1.63 -12.8307 -13.7129 31.7486 -1.635 -12.8654 -13.3924 32.1896 -1.64 -12.8823 -13.045 32.6063 -1.645 -12.881 -12.6726 32.9962 -1.65 -12.8612 -12.2774 33.3565 -1.655 -12.8224 -11.8616 33.6838 -1.66 -12.7646 -11.4285 33.9757 -1.665 -12.6882 -10.9821 34.232 -1.67 -12.5937 -10.526 34.4524 -1.675 -12.4817 -10.0638 34.6368 -1.68 -12.3528 -9.59858 34.7853 -1.685 -12.2076 -9.13342 34.8982 -1.69 -12.0471 -8.67112 34.9759 -1.695 -11.8719 -8.21424 35.019 -1.7 -11.6831 -7.76513 35.0282 -1.705 -11.4817 -7.32593 35.0046 -1.71 -11.2686 -6.89855 34.9491 -1.715 -11.045 -6.48467 34.8629 -1.72 -10.8122 -6.08577 34.7476 -1.725 -10.5715 -5.7031 34.6047 -1.73 -10.3241 -5.33768 34.4358 -1.735 -10.0715 -4.99032 34.243 -1.74 -9.8152 -4.66162 34.0282 -1.745 -9.55615 -4.35255 33.7946 -1.75 -9.29514 -4.06382 33.5448 -1.755 -9.03331 -3.79551 33.2802 -1.76 -8.77168 -3.5476 33.0025 -1.765 -8.51125 -3.31995 32.7133 -1.77 -8.25294 -3.11227 32.4139 -1.775 -7.9976 -2.9242 32.1058 -1.78 -7.746 -2.75521 31.7904 -1.785 -7.49887 -2.6047 31.469 -1.79 -7.25685 -2.47189 31.1428 -1.795 -7.02054 -2.35594 30.8131 -1.8 -6.79044 -2.25585 30.4811 -1.805 -6.56702 -2.17052 30.1478 -1.81 -6.35064 -2.09872 29.8143 -1.815 -6.14164 -2.03909 29.4816 -1.82 -5.94025 -1.99018 29.1508 -1.825 -5.74669 -1.95146 28.8219 -1.83 -5.56103 -1.92306 28.4946 -1.835 -5.38331 -1.90428 28.1693 -1.84 -5.21356 -1.89446 27.8462 -1.845 -5.05175 -1.89296 27.5256 -1.85 -4.89789 -1.89919 27.2078 -1.855 -4.75194 -1.91258 26.893 -1.86 -4.61386 -1.93261 26.5814 -1.865 -4.48359 -1.95878 26.2732 -1.87 -4.36105 -1.99065 25.9685 -1.875 -4.24615 -2.02777 25.6675 -1.88 -4.1388 -2.06977 25.3702 -1.885 -4.03886 -2.1163 25.0768 -1.89 -3.94621 -2.16704 24.7873 -1.895 -3.8607 -2.2217 24.5016 -1.9 -3.78216 -2.28003 24.2199 -1.905 -3.71026 -2.34196 23.9421 -1.91 -3.64465 -2.40747 23.6685 -1.915 -3.58526 -2.47639 23.399 -1.92 -3.53205 -2.54857 23.1336 -1.925 -3.48494 -2.62386 22.8725 -1.93 -3.44387 -2.70216 22.6155 -1.935 -3.40876 -2.78339 22.3627 -1.94 -3.37953 -2.86748 22.1142 -1.945 -3.35608 -2.95441 21.87 -1.95 -3.33831 -3.04417 21.6302 -1.955 -3.32612 -3.13678 21.3949 -1.96 -3.3194 -3.23228 21.164 -1.965 -3.31801 -3.33075 20.9376 -1.97 -3.32184 -3.43227 20.716 -1.975 -3.33076 -3.53697 20.4991 -1.98 -3.34461 -3.64499 20.287 -1.985 -3.36326 -3.75652 20.0798 -1.99 -3.38655 -3.87173 19.8777 -1.995 -3.41431 -3.99086 19.6807 -2 -3.44637 -4.11415 19.4891 -2.005 -3.48256 -4.24188 19.3028 -2.01 -3.52283 -4.37422 19.1221 -2.015 -3.56751 -4.51096 18.9471 -2.02 -3.61668 -4.65225 18.7781 -2.025 -3.67041 -4.79825 18.615 -2.03 -3.72875 -4.94912 18.4582 -2.035 -3.79174 -5.10502 18.3077 -2.04 -3.85945 -5.2661 18.1638 -2.045 -3.93191 -5.43252 18.0267 -2.05 -4.00918 -5.60443 17.8968 -2.055 -4.0913 -5.78197 17.7742 -2.06 -4.17832 -5.96529 17.6593 -2.065 -4.27027 -6.15454 17.5524 -2.07 -4.36721 -6.34985 17.4539 -2.075 -4.46918 -6.55136 17.3642 -2.08 -4.5762 -6.75921 17.2835 -2.085 -4.68832 -6.97353 17.2125 -2.09 -4.80557 -7.19445 17.1514 -2.095 -4.928 -7.4221 17.1008 -2.1 -5.05562 -7.65661 17.0612 -2.105 -5.18848 -7.8981 17.0331 -2.11 -5.32647 -8.14603 17.0165 -2.115 -5.46965 -8.40002 17.012 -2.12 -5.61824 -8.66036 17.0203 -2.125 -5.77242 -8.92719 17.0424 -2.13 -5.93235 -9.20059 17.0792 -2.135 -6.09813 -9.48048 17.1313 -2.14 -6.26983 -9.7667 17.1998 -2.145 -6.44749 -10.059 17.2853 -2.15 -6.63108 -10.3568 17.3885 -2.155 -6.82058 -10.6599 17.5103 -2.16 -7.01588 -10.9674 17.6513 -2.165 -7.21687 -11.2786 17.8122 -2.17 -7.42337 -11.5928 17.9936 -2.175 -7.63519 -11.9089 18.1962 -2.18 -7.85208 -12.2259 18.4205 -2.185 -8.07375 -12.5425 18.6671 -2.19 -8.2999 -12.8575 18.9366 -2.195 -8.53014 -13.1694 19.2294 -2.2 -8.7641 -13.4767 19.5461 -2.205 -9.00133 -13.7777 19.8872 -2.21 -9.24134 -14.0707 20.2529 -2.215 -9.48363 -14.3539 20.6438 -2.22 -9.72764 -14.6251 21.0603 -2.225 -9.97278 -14.8824 21.5027 -2.23 -10.2184 -15.1247 21.9704 -2.235 -10.4636 -15.3501 22.4623 -2.24 -10.7074 -15.5552 22.9774 -2.245 -10.9485 -15.7369 23.5142 -2.25 -11.1858 -15.8924 24.0713 -2.255 -11.4183 -16.0191 24.647 -2.26 -11.6446 -16.1148 25.2391 -2.265 -11.8638 -16.1774 25.8454 -2.27 -12.0744 -16.2052 26.4635 -2.275 -12.2754 -16.1965 27.0904 -2.28 -12.4654 -16.1501 27.7233 -2.285 -12.6432 -16.0651 28.3589 -2.29 -12.8075 -15.9406 28.9937 -2.295 -12.9569 -15.7762 29.6238 -2.3 -13.0903 -15.5717 30.2455 -2.305 -13.2061 -15.327 30.8543 -2.31 -13.3031 -15.0425 31.4459 -2.315 -13.3802 -14.7169 32.0153 -2.32 -13.4371 -14.3502 32.5583 -2.325 -13.473 -13.9476 33.0715 -2.33 -13.4871 -13.514 33.5519 -2.335 -13.4791 -13.0543 33.9968 -2.34 -13.4486 -12.5728 34.404 -2.345 -13.3955 -12.0736 34.7714 -2.35 -13.32 -11.5606 35.0976 -2.355 -13.2224 -11.0374 35.3811 -2.36 -13.1031 -10.5072 35.6212 -2.365 -12.9629 -9.97314 35.8172 -2.37 -12.8026 -9.43787 35.9689 -2.375 -12.6232 -8.90386 36.0765 -2.38 -12.426 -8.37327 36.1404 -2.385 -12.2125 -7.84799 36.1615 -2.39 -11.9842 -7.32963 36.1409 -2.395 -11.743 -6.81949 36.0802 -2.4 -11.4904 -6.32048 35.9816 -2.405 -11.226 -5.84034 35.8492 -2.41 -10.9516 -5.38132 35.685 -2.415 -10.6687 -4.94493 35.4914 -2.42 -10.3791 -4.53236 35.2704 -2.425 -10.0843 -4.14453 35.0243 -2.43 -9.78565 -3.78209 34.7554 -2.435 -9.48468 -3.44543 34.466 -2.44 -9.18267 -3.13462 34.1587 -2.445 -8.88088 -2.84949 33.8357 -2.45 -8.58049 -2.58959 33.4995 -2.455 -8.28258 -2.35417 33.1528 -2.46 -7.98821 -2.14222 32.7981 -2.465 -7.69832 -1.95245 32.4381 -2.47 -7.41379 -1.7833 32.0753 -2.475 -7.13546 -1.63321 31.7119 -2.48 -6.86403 -1.50171 31.3464 -2.485 -6.59994 -1.3878 30.9797 -2.49 -6.34359 -1.29039 30.6125 -2.495 -6.09531 -1.2084 30.2456 -2.5 -5.8554 -1.1408 29.8797 -2.505 -5.62411 -1.08656 29.5155 -2.51 -5.40166 -1.04469 29.1536 -2.515 -5.1882 -1.01421 28.7943 -2.52 -4.98385 -0.994179 28.4382 -2.525 -4.78869 -0.983664 28.0855 -2.53 -4.60275 -0.981768 27.7365 -2.535 -4.42601 -0.987614 27.3914 -2.54 -4.25841 -1.00035 27.0502 -2.545 -4.09985 -1.01914 26.713 -2.55 -3.95015 -1.04328 26.3799 -2.555 -3.80903 -1.07257 26.0509 -2.56 -3.6763 -1.10661 25.7262 -2.565 -3.55176 -1.14497 25.4057 -2.57 -3.43523 -1.18725 25.0894 -2.575 -3.32653 -1.2331 24.7774 -2.58 -3.22546 -1.28219 24.4697 -2.585 -3.13181 -1.33424 24.1662 -2.59 -3.04538 -1.389 23.8669 -2.595 -2.96597 -1.44626 23.5719 -2.6 -2.89335 -1.50585 23.2811 -2.605 -2.82731 -1.56761 22.9945 -2.61 -2.76763 -1.63145 22.7121 -2.615 -2.71407 -1.69731 22.4339 -2.62 -2.66641 -1.76515 22.1599 -2.625 -2.62441 -1.83497 21.8901 -2.63 -2.58782 -1.90683 21.6244 -2.635 -2.55639 -1.98078 21.3628 -2.64 -2.52993 -2.05687 21.1054 -2.645 -2.50835 -2.13508 20.8521 -2.65 -2.4916 -2.21542 20.603 -2.655 -2.47962 -2.29793 20.358 -2.66 -2.47233 -2.38264 20.1172 -2.665 -2.46967 -2.46963 19.8806 -2.67 -2.47156 -2.55898 19.6481 -2.675 -2.47793 -2.65079 19.4199 -2.68 -2.48871 -2.74518 19.196 -2.685 -2.5038 -2.8423 18.9764 -2.69 -2.52312 -2.94231 18.7611 -2.695 -2.5466 -3.04537 18.5503 -2.7 -2.57415 -3.15169 18.344 -2.705 -2.60566 -3.26149 18.1423 -2.71 -2.64105 -3.375 17.9452 -2.715 -2.68023 -3.49246 17.7529 -2.72 -2.72309 -3.61416 17.5655 -2.725 -2.76963 -3.7403 17.383 -2.73 -2.82006 -3.8709 17.2057 -2.735 -2.87447 -4.00616 17.0336 -2.74 -2.93292 -4.14629 16.8668 -2.745 -2.99548 -4.2915 16.7056 -2.75 -3.06223 -4.44201 16.5501 -2.755 -3.13322 -4.59802 16.4004 -2.76 -3.20855 -4.75977 16.2569 -2.765 -3.28828 -4.92748 16.1196 -2.77 -3.37251 -5.10136 15.989 -2.775 -3.46132 -5.28166 15.8652 -2.78 -3.5548 -5.46859 15.7486 -2.785 -3.65304 -5.66239 15.6396 -2.79 -3.75614 -5.8633 15.5384 -2.795 -3.86419 -6.07155 15.4455 -2.8 -3.97729 -6.28738 15.3612 -2.805 -4.09556 -6.51104 15.286 -2.81 -4.21909 -6.74278 15.2204 -2.815 -4.3479 -6.98221 15.1647 -2.82 -4.48206 -7.22881 15.1194 -2.825 -4.62182 -7.48324 15.085 -2.83 -4.76745 -7.74605 15.0625 -2.835 -4.91916 -8.01769 15.0523 -2.84 -5.07714 -8.29848 15.0555 -2.845 -5.24156 -8.58861 15.0726 -2.85 -5.41256 -8.88819 15.1045 -2.855 -5.59025 -9.19717 15.1521 -2.86 -5.77471 -9.5154 15.2162 -2.865 -5.96602 -9.84262 15.2976 -2.87 -6.16419 -10.1784 15.3974 -2.875 -6.36923 -10.5223 15.5163 -2.88 -6.58112 -10.8737 15.6553 -2.885 -6.7998 -11.2318 15.8155 -2.89 -7.02521 -11.5958 15.9977 -2.895 -7.25724 -11.9646 16.2031 -2.9 -7.49576 -12.3372 16.4326 -2.905 -7.7406 -12.7124 16.6874 -2.91 -7.9916 -13.0889 16.9684 -2.915 -8.24852 -13.4651 17.2769 -2.92 -8.51114 -13.8395 17.6139 -2.925 -8.77919 -14.2105 17.9806 -2.93 -9.05238 -14.5762 18.3782 -2.935 -9.33038 -14.9347 18.8079 -2.94 -9.61232 -15.2848 19.2691 -2.945 -9.89723 -15.6238 19.7615 -2.95 -10.1843 -15.9478 20.2858 -2.955 -10.4726 -16.2533 20.8418 -2.96 -10.7611 -16.5367 21.4294 -2.965 -11.0487 -16.7947 22.0475 -2.97 -11.3342 -17.0239 22.6951 -2.975 -11.6163 -17.2213 23.3705 -2.98 -11.8936 -17.3838 24.0714 -2.985 -12.1647 -17.5085 24.7955 -2.99 -12.4279 -17.5926 25.5396 -2.995 -12.6816 -17.6335 26.3004 -3 -12.924 -17.6286 27.074 -3.005 -13.1532 -17.5755 27.8561 -3.01 -13.3673 -17.4719 28.642 -3.015 -13.5642 -17.3157 29.4266 -3.02 -13.7428 -17.1023 30.2055 -3.025 -13.9018 -16.8309 30.9735 -3.03 -14.0393 -16.5053 31.7233 -3.035 -14.1532 -16.1294 32.4482 -3.04 -14.2421 -15.7072 33.1424 -3.045 -14.3046 -15.2424 33.8003 -3.05 -14.3399 -14.7389 34.4172 -3.055 -14.3472 -14.2005 34.989 -3.06 -14.326 -13.6308 35.5121 -3.065 -14.2764 -13.0335 35.9835 -3.07 -14.1985 -12.4123 36.4008 -3.075 -14.0927 -11.7707 36.7625 -3.08 -13.9599 -11.1124 37.0674 -3.085 -13.801 -10.4408 37.3149 -3.09 -13.6175 -9.7594 37.5052 -3.095 -13.4109 -9.07169 37.639 -3.1 -13.182 -8.38472 37.7175 -3.105 -12.9307 -7.70991 37.7419 -3.11 -12.659 -7.05157 37.7143 -3.115 -12.369 -6.41334 37.6368 -3.12 -12.0629 -5.79845 37.5119 -3.125 -11.7427 -5.20973 37.3425 -3.13 -11.4104 -4.64955 37.1315 -3.135 -11.068 -4.1199 36.8822 -3.14 -10.7173 -3.62231 36.5981 -3.145 -10.3604 -3.15792 36.2831 -3.15 -9.99892 -2.72743 35.9411 -3.155 -9.63478 -2.33112 35.5764 -3.16 -9.2697 -1.96886 35.1937 -3.165 -8.90539 -1.64009 34.7977 -3.17 -8.54351 -1.34381 34.3936 -3.175 -8.18569 -1.0786 33.9863 -3.18 -7.83334 -0.842098 33.5745 -3.185 -7.48742 -0.632493 33.1582 -3.19 -7.1488 -0.448273 32.7389 -3.195 -6.81826 -0.287916 32.3181 -3.2 -6.49646 -0.149894 31.8972 -3.205 -6.18403 -0.0326742 31.4773 -3.21 -5.88147 0.0652837 31.0595 -3.215 -5.58921 0.145525 30.6446 -3.22 -5.30762 0.209601 30.2335 -3.225 -5.03696 0.259069 29.8267 -3.23 -4.7774 0.295492 29.4248 -3.235 -4.52906 0.32044 29.0279 -3.24 -4.29193 0.335488 28.6364 -3.245 -4.06596 0.342216 28.2501 -3.25 -3.85097 0.341711 27.8693 -3.255 -3.64669 0.334153 27.4939 -3.26 -3.45289 0.320351 27.1241 -3.265 -3.26933 0.301082 26.7596 -3.27 -3.09574 0.277067 26.4006 -3.275 -2.93186 0.248968 26.047 -3.28 -2.77742 0.217392 25.6986 -3.285 -2.63213 0.182885 25.3555 -3.29 -2.49568 0.14594 25.0175 -3.295 -2.36778 0.106991 24.6845 -3.3 -2.24809 0.0664133 24.3565 -3.305 -2.13628 0.0245274 24.0334 -3.31 -2.03202 -0.0184046 23.7151 -3.315 -1.93495 -0.0621779 23.4014 -3.32 -1.84471 -0.10664 23.0923 -3.325 -1.76091 -0.151633 22.7876 -3.33 -1.68332 -0.197008 22.4872 -3.335 -1.61169 -0.242641 22.1912 -3.34 -1.5458 -0.28843 21.8993 -3.345 -1.4854 -0.334297 21.6116 -3.35 -1.43026 -0.380183 21.328 -3.355 -1.38014 -0.426054 21.0483 -3.36 -1.33482 -0.471897 20.7726 -3.365 -1.29403 -0.517721 20.5007 -3.37 -1.25756 -0.563557 20.2327 -3.375 -1.22515 -0.609458 19.9683 -3.38 -1.19657 -0.6555 19.7077 -3.385 -1.17157 -0.70178 19.4507 -3.39 -1.14992 -0.748419 19.1973 -3.395 -1.13144 -0.795501 18.9474 -3.4 -1.11608 -0.843048 18.701 -3.405 -1.10376 -0.89111 18.4581 -3.41 -1.09439 -0.939751 18.2186 -3.415 -1.0879 -0.989045 17.9825 -3.42 -1.08419 -1.03908 17.7498 -3.425 -1.08319 -1.08994 17.5205 -3.43 -1.08481 -1.14175 17.2944 -3.435 -1.08899 -1.19461 17.0717 -3.44 -1.09563 -1.24865 16.8522 -3.445 -1.10466 -1.30401 16.636 -3.45 -1.116 -1.36085 16.423 -3.455 -1.12957 -1.41931 16.2133 -3.46 -1.14531 -1.47957 16.0067 -3.465 -1.16315 -1.54181 15.8034 -3.47 -1.18312 -1.60613 15.6033 -3.475 -1.20527 -1.67264 15.4063 -3.48 -1.22961 -1.74147 15.2126 -3.485 -1.25618 -1.81275 15.0221 -3.49 -1.28501 -1.88664 14.8348 -3.495 -1.31613 -1.96329 14.6508 -3.5 -1.34958 -2.04287 14.47 -3.505 -1.38541 -2.12555 14.2925 -3.51 -1.42365 -2.21153 14.1183 -3.515 -1.46435 -2.30099 13.9475 -3.52 -1.50755 -2.39415 13.78 -3.525 -1.55332 -2.49123 13.6161 -3.53 -1.60171 -2.59245 13.4556 -3.535 -1.65276 -2.69805 13.2988 -3.54 -1.70655 -2.80829 13.1456 -3.545 -1.76314 -2.92341 12.9962 -3.55 -1.82268 -3.04358 12.8507 -3.555 -1.88535 -3.16901 12.7093 -3.56 -1.95123 -3.29998 12.572 -3.565 -2.02045 -3.4368 12.4389 -3.57 -2.09313 -3.57978 12.3102 -3.575 -2.16939 -3.72922 12.1859 -3.58 -2.24939 -3.88545 12.0662 -3.585 -2.33325 -4.04877 11.9515 -3.59 -2.42115 -4.2195 11.8418 -3.595 -2.51326 -4.39799 11.7375 -3.6 -2.60974 -4.58454 11.6389 -3.605 -2.71078 -4.77951 11.5463 -3.61 -2.81659 -4.98322 11.4601 -3.615 -2.92736 -5.19602 11.3807 -3.62 -3.04332 -5.41825 11.3084 -3.625 -3.16467 -5.65028 11.2439 -3.63 -3.29166 -5.89244 11.1875 -3.635 -3.42452 -6.1451 11.1397 -3.64 -3.56352 -6.40863 11.1012 -3.645 -3.7089 -6.68339 11.0725 -3.65 -3.86092 -6.96971 11.0542 -3.655 -4.01958 -7.26661 11.0472 -3.66 -4.18511 -7.57439 11.0522 -3.665 -4.35792 -7.8941 11.0703 -3.67 -4.53839 -8.22662 11.1022 -3.675 -4.72685 -8.57265 11.149 -3.68 -4.92362 -8.93268 11.2118 -3.685 -5.12896 -9.30703 11.2917 -3.69 -5.34311 -9.69582 11.39 -3.695 -5.56629 -10.099 11.5079 -3.7 -5.79865 -10.5163 11.647 -3.705 -6.04034 -10.9474 11.8085 -3.71 -6.29146 -11.3915 11.994 -3.715 -6.55207 -11.848 12.2053 -3.72 -6.82222 -12.3157 12.4439 -3.725 -7.10189 -12.7936 12.7116 -3.73 -7.39105 -13.2802 13.0103 -3.735 -7.68964 -13.7741 13.3418 -3.74 -7.99755 -14.2734 13.7083 -3.745 -8.31465 -14.7763 14.1117 -3.75 -8.64077 -15.2806 14.5541 -3.755 -8.97569 -15.784 15.0379 -3.76 -9.31919 -16.2841 15.5653 -3.765 -9.67086 -16.7784 16.1383 -3.77 -10.0292 -17.2646 16.7558 -3.775 -10.3933 -17.7375 17.4191 -3.78 -10.762 -18.1913 18.13 -3.785 -11.1342 -18.6205 18.8892 -3.79 -11.5084 -19.0195 19.6966 -3.795 -11.8832 -19.3827 20.5513 -3.8 -12.2566 -19.7047 21.4517 -3.805 -12.6268 -19.9801 22.3953 -3.81 -12.9914 -20.2037 23.3788 -3.815 -13.3482 -20.3701 24.398 -3.82 -13.6945 -20.4742 25.448 -3.825 -14.0276 -20.5109 26.5232 -3.83 -14.3444 -20.4751 27.6168 -3.835 -14.6419 -20.3619 28.7217 -3.84 -14.9167 -20.1656 29.83 -3.845 -15.1677 -19.8767 30.9366 -3.85 -15.3916 -19.4982 32.0291 -3.855 -15.5847 -19.0363 33.0944 -3.86 -15.7442 -18.4971 34.1207 -3.865 -15.8673 -17.8868 35.0975 -3.87 -15.9521 -17.2114 36.0154 -3.875 -15.997 -16.4767 36.8665 -3.88 -16.0011 -15.6889 37.6441 -3.885 -15.9637 -14.8539 38.3429 -3.89 -15.8848 -13.9775 38.9586 -3.895 -15.765 -13.0655 39.4886 -3.9 -15.6051 -12.1238 39.9312 -3.905 -15.4068 -11.1581 40.2863 -3.91 -15.1719 -10.1741 40.5548 -3.915 -14.9028 -9.17849 40.7388 -3.92 -14.5987 -8.19215 40.8369 -3.925 -14.2615 -7.22774 40.8515 -3.93 -13.8946 -6.29245 40.7869 -3.935 -13.5012 -5.39257 40.6479 -3.94 -13.0846 -4.53354 40.4396 -3.945 -12.6478 -3.71985 40.1677 -3.95 -12.1941 -2.95517 39.8384 -3.955 -11.7265 -2.24224 39.4583 -3.96 -11.2481 -1.58293 39.0344 -3.965 -10.7619 -0.978234 38.5741 -3.97 -10.271 -0.428239 38.0855 -3.975 -9.77823 0.0678404 37.5769 -3.98 -9.28657 0.511676 37.0571 -3.985 -8.79881 0.906021 36.5334 -3.99 -8.31694 1.25476 36.004 -3.995 -7.84268 1.56079 35.4711 -4 -7.37758 1.82693 34.9374 -4.005 -6.923 2.056 34.4056 -4.01 -6.48016 2.25084 33.8778 -4.015 -6.0501 2.41433 33.3559 -4.02 -5.63367 2.54935 32.8415 -4.025 -5.23157 2.65883 32.3357 -4.03 -4.8443 2.74569 31.8395 -4.035 -4.47222 2.81289 31.3534 -4.04 -4.11551 2.86341 30.8778 -4.045 -3.77415 2.90026 30.4125 -4.05 -3.44806 2.92529 29.9575 -4.055 -3.13702 2.93946 29.513 -4.06 -2.84069 2.94436 29.0786 -4.065 -2.55871 2.94152 28.6541 -4.07 -2.2907 2.9323 28.2393 -4.075 -2.03626 2.91801 27.8337 -4.08 -1.79495 2.89983 27.4373 -4.085 -1.56634 2.87883 27.0496 -4.09 -1.34993 2.85598 26.6704 -4.095 -1.14525 2.83215 26.2994 -4.1 -0.951762 2.80809 25.9363 -4.105 -0.768938 2.78446 25.5808 -4.11 -0.596212 2.76181 25.2326 -4.115 -0.432997 2.74057 24.8914 -4.12 -0.278653 2.72113 24.5569 -4.125 -0.132561 2.70387 24.2288 -4.13 0.00572156 2.6891 23.9069 -4.135 0.136633 2.67713 23.5912 -4.14 0.260612 2.66819 23.2813 -4.145 0.378103 2.66252 22.9772 -4.15 0.489551 2.66033 22.6786 -4.155 0.595407 2.66178 22.3855 -4.16 0.696123 2.66704 22.0976 -4.165 0.792154 2.67622 21.815 -4.17 0.88396 2.68942 21.5374 -4.175 0.972002 2.70671 21.2647 -4.18 1.05675 2.72813 20.9969 -4.185 1.13866 2.7537 20.7338 -4.19 1.21817 2.78344 20.4754 -4.195 1.29552 2.81743 20.2216 -4.2 1.37095 2.85579 19.9725 -4.205 1.4447 2.89861 19.728 -4.21 1.51701 2.94598 19.4882 -4.215 1.58814 2.998 19.253 -4.22 1.65835 3.05474 19.0224 -4.225 1.7279 3.11629 18.7964 -4.23 1.79707 3.18272 18.5751 -4.235 1.86613 3.25409 18.3585 -4.24 1.93535 3.33049 18.1465 -4.245 2.00503 3.41196 17.9393 -4.25 2.07546 3.49856 17.7368 -4.255 2.14693 3.59035 17.5391 -4.26 2.21972 3.68739 17.3462 -4.265 2.294 3.78982 17.1584 -4.27 2.36988 3.89784 16.9756 -4.275 2.44751 4.01164 16.798 -4.28 2.52704 4.13141 16.6258 -4.285 2.60863 4.25733 16.459 -4.29 2.69246 4.3896 16.2979 -4.295 2.7787 4.52839 16.1426 -4.3 2.86755 4.67387 15.9932 -4.305 2.9592 4.82621 15.8502 -4.31 3.05388 4.98559 15.7135 -4.315 3.15181 5.15216 15.5836 -4.32 3.25321 5.3261 15.4607 -4.325 3.35834 5.50755 15.345 -4.33 3.46744 5.69667 15.2368 -4.335 3.58078 5.89362 15.1365 -4.34 3.69859 6.09846 15.0444 -4.345 3.82096 6.31126 14.961 -4.35 3.94804 6.5324 14.8867 -4.355 4.08002 6.76225 14.822 -4.36 4.21705 7.0011 14.7674 -4.365 4.35931 7.24919 14.7235 -4.37 4.50696 7.50672 14.6908 -4.375 4.66015 7.7738 14.6701 -4.38 4.81907 8.0505 14.662 -4.385 4.98385 8.33684 14.6672 -4.39 5.15466 8.63275 14.6865 -4.395 5.33165 8.93814 14.7208 -4.4 5.51497 9.25284 14.7708 -4.405 5.70477 9.57662 14.8375 -4.41 5.90121 9.9092 14.9219 -4.415 6.10442 10.2502 15.0248 -4.42 6.31456 10.5993 15.1474 -4.425 6.53175 10.9561 15.2906 -4.43 6.75615 11.3198 15.4556 -4.435 6.98761 11.6901 15.6431 -4.44 7.2254 12.0661 15.8527 -4.445 7.46967 12.4468 16.0867 -4.45 7.72053 12.8311 16.347 -4.455 7.97798 13.2176 16.6354 -4.46 8.24189 13.6047 16.9535 -4.465 8.51205 13.9908 17.3024 -4.47 8.7881 14.374 17.6832 -4.475 9.06962 14.7521 18.0967 -4.48 9.35603 15.123 18.5433 -4.485 9.64666 15.4841 19.0233 -4.49 9.94073 15.8328 19.5368 -4.495 10.2373 16.1663 20.0834 -4.5 10.5355 16.4816 20.6627 -4.505 10.8341 16.7755 21.2739 -4.51 11.1318 17.0447 21.916 -4.515 11.4275 17.2855 22.5877 -4.52 11.7195 17.4943 23.2877 -4.525 12.0063 17.6672 24.014 -4.53 12.2864 17.8 24.7646 -4.535 12.5578 17.8884 25.5375 -4.54 12.8198 17.9297 26.3308 -4.545 13.0707 17.9216 27.1391 -4.55 13.3078 17.8619 27.956 -4.555 13.529 17.749 28.7749 -4.56 13.7321 17.5818 29.5897 -4.565 13.9153 17.3596 30.3944 -4.57 14.0767 17.0826 31.1834 -4.575 14.2148 16.7512 31.9513 -4.58 14.3282 16.3667 32.6927 -4.585 14.4157 15.9307 33.4027 -4.59 14.4764 15.4454 34.0765 -4.595 14.5093 14.9137 34.7096 -4.6 14.5137 14.3389 35.2977 -4.605 14.4893 13.7249 35.8367 -4.61 14.4357 13.0762 36.3228 -4.615 14.3527 12.3979 36.7521 -4.62 14.2398 11.6976 37.1188 -4.625 14.0978 10.9828 37.4227 -4.63 13.9278 10.2601 37.6645 -4.635 13.7312 9.53609 37.8453 -4.64 13.5093 8.81643 37.9666 -4.645 13.2636 8.10648 38.0301 -4.65 12.9958 7.41106 38.0377 -4.655 12.7075 6.7345 37.9919 -4.66 12.4006 6.08063 37.8951 -4.665 12.0772 5.45276 37.7505 -4.67 11.7391 4.85374 37.5612 -4.675 11.3887 4.28588 37.3307 -4.68 11.0281 3.75103 37.0629 -4.685 10.6599 3.25051 36.762 -4.69 10.2865 2.78516 36.4323 -4.695 9.90988 2.35525 36.0788 -4.7 9.53156 1.96042 35.7057 -4.705 9.15329 1.60006 35.316 -4.71 8.77674 1.27336 34.9126 -4.715 8.40344 0.979322 34.4982 -4.72 8.03481 0.716764 34.0754 -4.725 7.67209 0.484301 33.6464 -4.73 7.31643 0.280362 33.2133 -4.735 6.96881 0.103181 32.7782 -4.74 6.6301 -0.0491983 32.3428 -4.745 6.30102 -0.178925 31.9087 -4.75 5.98216 -0.288341 31.4773 -4.755 5.67398 -0.379979 31.0497 -4.76 5.37681 -0.45612 30.6269 -4.765 5.09094 -0.517053 30.2087 -4.77 4.81643 -0.564053 29.7954 -4.775 4.5533 -0.598523 29.3873 -4.78 4.30152 -0.621787 28.9846 -4.785 4.06106 -0.635088 28.5876 -4.79 3.83181 -0.639589 28.1963 -4.795 3.61366 -0.636373 27.811 -4.8 3.40644 -0.626442 27.4315 -4.805 3.20995 -0.610718 27.058 -4.81 3.02396 -0.590043 26.6904 -4.815 2.8482 -0.565178 26.3286 -4.82 2.68236 -0.536804 25.9725 -4.825 2.52611 -0.505522 25.6218 -4.83 2.37892 -0.471819 25.2765 -4.835 2.24045 -0.436121 24.9365 -4.84 2.11041 -0.398829 24.6017 -4.845 1.98852 -0.360304 24.2719 -4.85 1.87449 -0.320876 23.9472 -4.855 1.76803 -0.280836 23.6272 -4.86 1.66882 -0.240442 23.3121 -4.865 1.57657 -0.199913 23.0015 -4.87 1.49095 -0.159436 22.6955 -4.875 1.41164 -0.119161 22.3939 -4.88 1.33832 -0.0792025 22.0967 -4.885 1.27064 -0.0396383 21.8037 -4.89 1.20827 -0.000512093 21.5148 -4.895 1.15087 0.0381686 21.23 -4.9 1.09806 0.0764318 20.9492 -4.905 1.0495 0.114341 20.6723 -4.91 1.00485 0.151979 20.3991 -4.915 0.963979 0.1893 20.1298 -4.92 0.926794 0.22627 19.8641 -4.925 0.893164 0.26288 19.6021 -4.93 0.862956 0.299135 19.3437 -4.935 0.836035 0.335053 19.0888 -4.94 0.812265 0.370667 18.8375 -4.945 0.791504 0.406022 18.5895 -4.95 0.773609 0.441176 18.345 -4.955 0.758433 0.476202 18.1038 -4.96 0.745826 0.511186 17.866 -4.965 0.735636 0.546227 17.6313 -4.97 0.727705 0.581438 17.3999 -4.975 0.721876 0.616945 17.1717 -4.98 0.717987 0.652889 16.9465 -4.985 0.715872 0.689422 16.7245 -4.99 0.715467 0.726638 16.5055 -4.995 0.71685 0.764525 16.2895 -5 0.719999 0.803149 16.0766 -5.005 0.72489 0.842584 15.8666 -5.01 0.731502 0.882913 15.6596 -5.015 0.739813 0.924224 15.4555 -5.02 0.749801 0.966613 15.2543 -5.025 0.761446 1.01019 15.0559 -5.03 0.77473 1.05505 14.8605 -5.035 0.789634 1.10133 14.6678 -5.04 0.806141 1.14915 14.478 -5.045 0.824234 1.19863 14.291 -5.05 0.843897 1.24994 14.1068 -5.055 0.865116 1.3032 13.9254 -5.06 0.887876 1.35858 13.7467 -5.065 0.912222 1.4162 13.5709 -5.07 0.938222 1.47617 13.3978 -5.075 0.965923 1.53863 13.2275 -5.08 0.995373 1.60369 13.06 -5.085 1.02663 1.6715 12.8953 -5.09 1.05974 1.74222 12.7333 -5.095 1.09478 1.81601 12.5742 -5.1 1.1318 1.89304 12.4179 -5.105 1.17088 1.97349 12.2644 -5.11 1.21209 2.05756 12.1139 -5.115 1.25551 2.14544 11.9663 -5.12 1.30121 2.23735 11.8217 -5.125 1.3493 2.33351 11.6801 -5.13 1.39985 2.43413 11.5417 -5.135 1.45295 2.53948 11.4064 -5.14 1.50872 2.64978 11.2744 -5.145 1.56724 2.76531 11.1458 -5.15 1.62865 2.88628 11.0206 -5.155 1.69325 3.01267 10.8993 -5.16 1.76116 3.14478 10.7819 -5.165 1.83249 3.28304 10.6684 -5.17 1.90733 3.42785 10.5589 -5.175 1.98583 3.57962 10.4535 -5.18 2.06811 3.73875 10.3522 -5.185 2.15432 3.90564 10.2553 -5.19 2.24463 4.08069 10.1631 -5.195 2.33921 4.2643 10.0757 -5.2 2.43825 4.45686 9.99345 -5.205 2.54196 4.65876 9.91679 -5.21 2.65055 4.87039 9.84608 -5.215 2.76425 5.09213 9.78176 -5.22 2.88331 5.32436 9.72432 -5.225 3.00799 5.56747 9.6743 -5.23 3.13855 5.82183 9.63227 -5.235 3.27528 6.08781 9.59886 -5.24 3.41848 6.36579 9.57473 -5.245 3.56845 6.65614 9.56059 -5.25 3.72553 6.95921 9.55719 -5.255 3.89005 7.27538 9.56533 -5.26 4.06235 7.60501 9.58584 -5.265 4.24282 7.94844 9.61963 -5.27 4.43182 8.30604 9.6676 -5.275 4.62971 8.6781 9.73073 -5.28 4.83612 9.06336 9.81008 -5.285 5.05126 9.46222 9.90713 -5.29 5.2757 9.87577 10.0236 -5.295 5.50995 10.3048 10.1611 -5.3 5.75441 10.7497 10.3214 -5.305 6.00941 11.2106 10.5063 -5.31 6.27522 11.6874 10.7176 -5.315 6.55202 12.1794 10.9573 -5.32 6.8399 12.6859 11.2272 -5.325 7.13889 13.2055 11.5293 -5.33 7.44892 13.737 11.8656 -5.335 7.76986 14.2783 12.2382 -5.34 8.1015 14.8273 12.6492 -5.345 8.44353 15.3817 13.1007 -5.35 8.7956 15.9384 13.5949 -5.355 9.15724 16.4945 14.1341 -5.36 9.52792 17.0465 14.7205 -5.365 9.90704 17.5905 15.3565 -5.37 10.2939 18.1226 16.0445 -5.375 10.6878 18.6381 16.7867 -5.38 11.0877 19.133 17.5852 -5.385 11.4917 19.6036 18.4377 -5.39 11.8981 20.0419 19.3437 -5.395 12.3048 20.4394 20.3028 -5.4 12.7096 20.788 21.3131 -5.405 13.1102 21.0804 22.372 -5.41 13.504 21.3096 23.4756 -5.415 13.8884 21.4693 24.619 -5.42 14.2603 21.5536 25.7963 -5.425 14.6168 21.5572 27.0004 -5.43 14.9544 21.4752 28.2233 -5.435 15.2698 21.3033 29.4559 -5.44 15.5593 21.0379 30.6879 -5.445 15.8189 20.6756 31.9081 -5.45 16.0452 20.2119 33.1046 -5.455 16.2365 19.6398 34.2661 -5.46 16.3893 18.9699 35.3793 -5.465 16.5005 18.2142 36.4317 -5.47 16.5678 17.3842 37.4124 -5.475 16.5891 16.4904 38.3122 -5.48 16.5634 15.5432 39.1234 -5.485 16.4902 14.552 39.8396 -5.49 16.3696 13.5257 40.4562 -5.495 16.2023 12.4725 40.9701 -5.5 15.9898 11.4002 41.3797 -5.505 15.7341 10.3157 41.6849 -5.51 15.4381 9.2254 41.8871 -5.515 15.105 8.13515 41.9894 -5.52 14.738 7.0543 41.9962 -5.525 14.3368 6.00679 41.9126 -5.53 13.9051 5.00223 41.7453 -5.535 13.447 4.04714 41.5015 -5.54 12.9663 3.14683 41.1886 -5.545 12.4669 2.30536 40.8143 -5.55 11.9523 1.52556 40.3864 -5.555 11.4263 0.809036 39.9132 -5.56 10.8924 0.156144 39.4031 -5.565 10.3539 -0.433979 38.865 -5.57 9.81429 -0.963435 38.3079 -5.575 9.27668 -1.43554 37.7409 -5.58 8.74385 -1.8534 37.1676 -5.585 8.21796 -2.22 36.5899 -5.59 7.701 -2.5388 36.0114 -5.595 7.19472 -2.81326 35.4353 -5.6 6.70069 -3.04689 34.8645 -5.605 6.22022 -3.24321 34.3012 -5.61 5.75442 -3.40575 33.7475 -5.615 5.30417 -3.53806 33.2048 -5.62 4.87012 -3.64373 32.6741 -5.625 4.45272 -3.72635 32.1561 -5.63 4.05219 -3.78954 31.651 -5.635 3.66863 -3.8363 31.1588 -5.64 3.30206 -3.86824 30.6798 -5.645 2.95217 -3.88745 30.2135 -5.65 2.61861 -3.89592 29.7597 -5.655 2.30102 -3.89547 29.3181 -5.66 1.99899 -3.88783 28.8881 -5.665 1.71207 -3.87454 28.4696 -5.67 1.43981 -3.85705 28.0621 -5.675 1.1817 -3.83664 27.6651 -5.68 0.937219 -3.81448 27.2784 -5.685 0.705801 -3.79157 26.9015 -5.69 0.486858 -3.7688 26.534 -5.695 0.279768 -3.74691 26.1755 -5.7 0.0838771 -3.72651 25.8255 -5.705 -0.101517 -3.70809 25.4836 -5.71 -0.27725 -3.69218 25.1495 -5.715 -0.443878 -3.6792 24.8229 -5.72 -0.601897 -3.66951 24.5035 -5.725 -0.751812 -3.66343 24.1912 -5.73 -0.894131 -3.66126 23.8857 -5.735 -1.02937 -3.66327 23.5868 -5.74 -1.15804 -3.66969 23.2944 -5.745 -1.28067 -3.68072 23.0083 -5.75 -1.39779 -3.69655 22.7283 -5.755 -1.50993 -3.71732 22.4542 -5.76 -1.61763 -3.74314 22.1861 -5.765 -1.72145 -3.77409 21.9236 -5.77 -1.82192 -3.81024 21.6668 -5.775 -1.91961 -3.85161 21.4156 -5.78 -2.01501 -3.89821 21.1698 -5.785 -2.10838 -3.95011 20.9295 -5.79 -2.19997 -4.00744 20.6947 -5.795 -2.29005 -4.07031 20.4656 -5.8 -2.37891 -4.13883 20.242 -5.805 -2.46682 -4.21309 20.0241 -5.81 -2.55407 -4.29317 19.8119 -5.815 -2.64097 -4.37917 19.6055 -5.82 -2.72782 -4.47115 19.405 -5.825 -2.81492 -4.56919 19.2103 -5.83 -2.90259 -4.67333 19.0217 -5.835 -2.99116 -4.78363 18.8392 -5.84 -3.08096 -4.90012 18.6629 -5.845 -3.17232 -5.02286 18.4929 -5.85 -3.26558 -5.15185 18.3294 -5.855 -3.36099 -5.28714 18.1725 -5.86 -3.45866 -5.4289 18.0224 -5.865 -3.55874 -5.57733 17.8795 -5.87 -3.66138 -5.7326 17.744 -5.875 -3.76675 -5.89488 17.6161 -5.88 -3.875 -6.0643 17.4962 -5.885 -3.98632 -6.24098 17.3845 -5.89 -4.10089 -6.42501 17.2814 -5.895 -4.21888 -6.61648 17.1872 -5.9 -4.34049 -6.81545 17.1024 -5.905 -4.46593 -7.02195 17.0273 -5.91 -4.5954 -7.23601 16.9624 -5.915 -4.72911 -7.45761 16.9081 -5.92 -4.86727 -7.68675 16.8648 -5.925 -5.01013 -7.92338 16.8331 -5.93 -5.1579 -8.16744 16.8134 -5.935 -5.31078 -8.41878 16.8063 -5.94 -5.46861 -8.67706 16.812 -5.945 -5.63154 -8.94234 16.8314 -5.95 -5.79969 -9.2147 16.8653 -5.955 -5.97319 -9.49407 16.9147 -5.96 -6.15212 -9.78028 16.9804 -5.965 -6.33654 -10.0731 17.0631 -5.97 -6.52645 -10.372 17.1638 -5.975 -6.72185 -10.6766 17.2831 -5.98 -6.92269 -10.9862 17.4218 -5.985 -7.12889 -11.3001 17.5808 -5.99 -7.34033 -11.6174 17.7606 -5.995 -7.55687 -11.9372 17.9619 -6 -7.77834 -12.2584 18.1856 -6.005 -8.00453 -12.5798 18.432 -6.01 -8.23519 -12.9 18.702 -6.015 -8.47004 -13.2176 18.9961 -6.02 -8.70878 -13.5312 19.3149 -6.025 -8.95108 -13.839 19.6589 -6.03 -9.19655 -14.1393 20.0287 -6.035 -9.44476 -14.4304 20.4247 -6.04 -9.69494 -14.7117 20.8464 -6.045 -9.94629 -14.9803 21.2937 -6.05 -10.198 -15.2332 21.7665 -6.055 -10.4491 -15.4673 22.2643 -6.06 -10.6988 -15.68 22.7863 -6.065 -10.9459 -15.8686 23.3314 -6.07 -11.1896 -16.0305 23.8983 -6.075 -11.4286 -16.1636 24.4851 -6.08 -11.6618 -16.2657 25.09 -6.085 -11.8881 -16.3347 25.7106 -6.09 -12.106 -16.3689 26.3443 -6.095 -12.3144 -16.3665 26.9881 -6.1 -12.5118 -16.3261 27.6388 -6.105 -12.6969 -16.2463 28.2929 -6.11 -12.868 -16.1258 28.9466 -6.115 -13.0237 -15.9637 29.5956 -6.12 -13.1625 -15.759 30.2356 -6.125 -13.2837 -15.5076 30.8628 -6.13 -13.3864 -15.2116 31.4727 -6.135 -13.4693 -14.8751 32.0604 -6.14 -13.5311 -14.5022 32.6218 -6.145 -13.5711 -14.0968 33.153 -6.15 -13.5885 -13.6626 33.6505 -6.155 -13.5828 -13.2032 34.1113 -6.16 -13.5539 -12.7219 34.5329 -6.165 -13.5016 -12.222 34.913 -6.17 -13.4262 -11.7065 35.2499 -6.175 -13.3281 -11.1783 35.5424 -6.18 -13.2078 -10.6401 35.7895 -6.185 -13.0662 -10.0944 35.9907 -6.19 -12.9043 -9.54359 36.1461 -6.195 -12.7234 -8.98981 36.2559 -6.2 -12.5251 -8.43509 36.3211 -6.205 -12.3108 -7.88128 36.3429 -6.21 -12.081 -7.33509 36.3236 -6.215 -11.8358 -6.80417 36.2655 -6.22 -11.5769 -6.29092 36.1701 -6.225 -11.3062 -5.79747 36.039 -6.23 -11.0253 -5.32564 35.8739 -6.235 -10.736 -4.87701 35.6768 -6.24 -10.4397 -4.45283 35.4497 -6.245 -10.1381 -4.05411 35.1951 -6.25 -9.83251 -3.68156 34.9154 -6.255 -9.52445 -3.33561 34.6132 -6.26 -9.21521 -3.0164 34.2915 -6.265 -8.90609 -2.72381 33.9531 -6.27 -8.5983 -2.45741 33.6014 -6.275 -8.29301 -2.21652 33.2397 -6.28 -7.9913 -2.00015 32.8716 -6.285 -7.69423 -1.80705 32.5008 -6.29 -7.40276 -1.63567 32.1312 -6.295 -7.11784 -1.48449 31.762 -6.3 -6.84008 -1.35239 31.3906 -6.305 -6.56991 -1.2382 31.0181 -6.31 -6.30775 -1.14081 30.6453 -6.315 -6.05392 -1.05911 30.2731 -6.32 -5.80874 -0.992017 29.9022 -6.325 -5.57246 -0.938467 29.5332 -6.33 -5.34528 -0.897424 29.1667 -6.335 -5.12736 -0.86787 28.8032 -6.34 -4.91882 -0.848811 28.443 -6.345 -4.71972 -0.839273 28.0865 -6.35 -4.53009 -0.838305 27.7338 -6.355 -4.34989 -0.844978 27.3853 -6.36 -4.17906 -0.858383 27.0408 -6.365 -4.01746 -0.877636 26.7005 -6.37 -3.8649 -0.902101 26.3642 -6.375 -3.72105 -0.931646 26.0324 -6.38 -3.58573 -0.965811 25.7048 -6.385 -3.45875 -1.00416 25.3816 -6.39 -3.3399 -1.04628 25.0628 -6.395 -3.22897 -1.09181 24.7482 -6.4 -3.12577 -1.14042 24.438 -6.405 -3.03008 -1.19183 24.1321 -6.41 -2.94168 -1.24577 23.8305 -6.415 -2.86034 -1.30204 23.5331 -6.42 -2.78584 -1.36046 23.24 -6.425 -2.71794 -1.42089 22.9512 -6.43 -2.65641 -1.48322 22.6665 -6.435 -2.60101 -1.5474 22.3861 -6.44 -2.55148 -1.61339 22.1098 -6.445 -2.50758 -1.6812 21.8377 -6.45 -2.46905 -1.75089 21.5697 -6.455 -2.43562 -1.82251 21.3057 -6.46 -2.40717 -1.89603 21.0459 -6.465 -2.38363 -1.97145 20.7902 -6.47 -2.36492 -2.04879 20.5386 -6.475 -2.35096 -2.12808 20.2911 -6.48 -2.34166 -2.20937 20.0476 -6.485 -2.33694 -2.29272 19.8083 -6.49 -2.33671 -2.37823 19.5731 -6.495 -2.34088 -2.466 19.342 -6.5 -2.34934 -2.55617 19.115 -6.505 -2.36202 -2.64887 18.8923 -6.51 -2.37881 -2.74427 18.6738 -6.515 -2.39961 -2.84256 18.4597 -6.52 -2.42431 -2.94394 18.2498 -6.525 -2.45281 -3.04863 18.0444 -6.53 -2.48501 -3.15687 17.8435 -6.535 -2.52078 -3.26892 17.6471 -6.54 -2.5601 -3.385 17.4553 -6.545 -2.60317 -3.50514 17.2684 -6.55 -2.65005 -3.62952 17.0863 -6.555 -2.70079 -3.75834 16.9091 -6.56 -2.75546 -3.8918 16.7371 -6.565 -2.8141 -4.03011 16.5702 -6.57 -2.87679 -4.17347 16.4087 -6.575 -2.94359 -4.32211 16.2527 -6.58 -3.01458 -4.47626 16.1025 -6.585 -3.08981 -4.63615 15.9582 -6.59 -3.16938 -4.80201 15.8201 -6.595 -3.25335 -4.9741 15.6885 -6.6 -3.34182 -5.15265 15.5635 -6.605 -3.43487 -5.33792 15.4456 -6.61 -3.53259 -5.53019 15.335 -6.615 -3.63508 -5.72971 15.2321 -6.62 -3.74242 -5.93675 15.1373 -6.625 -3.85472 -6.15158 15.0508 -6.63 -3.97205 -6.37368 14.9732 -6.635 -4.09461 -6.60328 14.9049 -6.64 -4.22261 -6.84092 14.8463 -6.645 -4.35626 -7.0871 14.7982 -6.65 -4.49574 -7.34219 14.7609 -6.655 -4.64122 -7.60651 14.7351 -6.66 -4.79287 -7.88029 14.7216 -6.665 -4.95083 -8.16364 14.7209 -6.67 -5.11523 -8.45663 14.7339 -6.675 -5.28617 -8.75922 14.7613 -6.68 -5.46377 -9.0713 14.8039 -6.685 -5.6481 -9.39264 14.8627 -6.69 -5.83924 -9.72297 14.9384 -6.695 -6.03724 -10.0619 15.0321 -6.7 -6.24214 -10.409 15.1448 -6.705 -6.45396 -10.7637 15.2775 -6.71 -6.67272 -11.1253 15.4312 -6.715 -6.89842 -11.4932 15.6071 -6.72 -7.13102 -11.8666 15.8062 -6.725 -7.37051 -12.2444 16.0299 -6.73 -7.61683 -12.6259 16.2794 -6.735 -7.86992 -13.0099 16.5559 -6.74 -8.1297 -13.3953 16.8607 -6.745 -8.39588 -13.7809 17.1946 -6.75 -8.66761 -14.1657 17.5573 -6.755 -8.94455 -14.5468 17.9505 -6.76 -9.2263 -14.9217 18.3755 -6.765 -9.51235 -15.2875 18.8334 -6.77 -9.80206 -15.6414 19.3248 -6.775 -10.0947 -15.9804 19.85 -6.78 -10.3893 -16.3017 20.409 -6.785 -10.685 -16.6021 21.0011 -6.79 -10.9806 -16.8786 21.6255 -6.795 -11.2749 -17.128 22.2809 -6.8 -11.5665 -17.3472 22.9656 -6.805 -11.854 -17.5328 23.6775 -6.81 -12.1357 -17.6816 24.4143 -6.815 -12.4101 -17.7901 25.1729 -6.82 -12.6751 -17.8549 25.9502 -6.825 -12.929 -17.8724 26.7426 -6.83 -13.1697 -17.8391 27.5463 -6.835 -13.3966 -17.7512 28.3586 -6.84 -13.6075 -17.608 29.173 -6.845 -13.8 -17.4098 29.9823 -6.85 -13.9721 -17.157 30.7795 -6.855 -14.1217 -16.8509 31.5581 -6.86 -14.2473 -16.4928 32.312 -6.865 -14.3473 -16.0844 33.0359 -6.87 -14.4205 -15.628 33.7244 -6.875 -14.4662 -15.1262 34.373 -6.88 -14.4835 -14.5819 34.9774 -6.885 -14.4721 -13.9985 35.5338 -6.89 -14.4318 -13.3797 36.039 -6.895 -14.3626 -12.7297 36.49 -6.9 -14.2649 -12.0528 36.8845 -6.905 -14.1392 -11.3542 37.2204 -6.91 -13.9856 -10.641 37.4954 -6.915 -13.8041 -9.92262 37.7079 -6.92 -13.5965 -9.20515 37.8594 -6.925 -13.3644 -8.49404 37.9514 -6.93 -13.1094 -7.79431 37.986 -6.935 -12.8335 -7.11053 37.9654 -6.94 -12.5385 -6.4468 37.8923 -6.945 -12.2262 -5.80676 37.7696 -6.95 -11.8986 -5.1936 37.6004 -6.955 -11.5577 -4.61005 37.3883 -6.96 -11.2055 -4.05838 37.1371 -6.965 -10.8441 -3.54039 36.8508 -6.97 -10.4756 -3.05743 36.534 -6.975 -10.1023 -2.6104 36.1913 -6.98 -9.7263 -2.19974 35.8278 -6.985 -9.34982 -1.8251 35.4482 -6.99 -8.9744 -1.4843 35.0543 -6.995 -8.6015 -1.17608 34.6486 -7 -8.23254 -0.89923 34.2334 -7.005 -7.86879 -0.652475 33.8111 -7.01 -7.51142 -0.434406 33.3838 -7.015 -7.16147 -0.243509 32.9533 -7.02 -6.81986 -0.0781601 32.5215 -7.025 -6.4874 0.0633746 32.0897 -7.03 -6.16477 0.18294 31.6595 -7.035 -5.85252 0.282491 31.2319 -7.04 -5.5511 0.364093 30.808 -7.045 -5.26083 0.429921 30.3885 -7.05 -4.98189 0.482261 29.9741 -7.055 -4.71441 0.522665 29.565 -7.06 -4.45839 0.551352 29.1613 -7.065 -4.21373 0.569529 28.7631 -7.07 -3.98031 0.57836 28.3705 -7.075 -3.75799 0.578937 27.9836 -7.08 -3.5466 0.572273 27.6024 -7.085 -3.34594 0.559309 27.227 -7.09 -3.1558 0.540911 26.8574 -7.095 -2.97592 0.517871 26.4936 -7.1 -2.80605 0.490904 26.1354 -7.105 -2.64589 0.460654 25.7828 -7.11 -2.49512 0.427687 25.4357 -7.115 -2.35342 0.392495 25.094 -7.12 -2.2204 0.355498 24.7574 -7.125 -2.09563 0.317055 24.4259 -7.13 -1.97874 0.277488 24.0993 -7.135 -1.86946 0.237082 23.7777 -7.14 -1.76747 0.196095 23.4607 -7.145 -1.6725 0.15475 23.1485 -7.15 -1.58425 0.113244 22.8408 -7.155 -1.5024 0.0717391 22.5376 -7.16 -1.42667 0.0303702 22.2387 -7.165 -1.35675 -0.0107599 21.9441 -7.17 -1.29233 -0.0515784 21.6537 -7.175 -1.2331 -0.0920433 21.3674 -7.18 -1.17876 -0.132143 21.0851 -7.185 -1.12898 -0.171896 20.8068 -7.19 -1.08346 -0.211352 20.5323 -7.195 -1.04189 -0.250579 20.2615 -7.2 -1.00411 -0.289565 19.9945 -7.205 -0.969992 -0.328303 19.7312 -7.21 -0.939392 -0.366802 19.4715 -7.215 -0.912174 -0.405085 19.2154 -7.22 -0.888197 -0.443186 18.9628 -7.225 -0.867322 -0.481151 18.7137 -7.23 -0.849409 -0.519039 18.468 -7.235 -0.834315 -0.556919 18.2256 -7.24 -0.821898 -0.594877 17.9866 -7.245 -0.812015 -0.633006 17.7509 -7.25 -0.804523 -0.671415 17.5185 -7.255 -0.799277 -0.710223 17.2892 -7.26 -0.796131 -0.749562 17.0632 -7.265 -0.79494 -0.789578 16.8402 -7.27 -0.795637 -0.830368 16.6204 -7.275 -0.798245 -0.871971 16.4036 -7.28 -0.802741 -0.914456 16.1899 -7.285 -0.809106 -0.957904 15.9792 -7.29 -0.817321 -1.0024 15.7715 -7.295 -0.827366 -1.04805 15.5668 -7.3 -0.839225 -1.09495 15.3651 -7.305 -0.852879 -1.14321 15.1663 -7.31 -0.868313 -1.19295 14.9704 -7.315 -0.885511 -1.24431 14.7774 -7.32 -0.904459 -1.29741 14.5874 -7.325 -0.925142 -1.35241 14.4002 -7.33 -0.947549 -1.40945 14.2159 -7.335 -0.971665 -1.4687 14.0344 -7.34 -0.997481 -1.53033 13.8559 -7.345 -1.02503 -1.59449 13.6802 -7.35 -1.0544 -1.66129 13.5075 -7.355 -1.08564 -1.73086 13.3376 -7.36 -1.11881 -1.80336 13.1707 -7.365 -1.15398 -1.87895 13.0066 -7.37 -1.1912 -1.95778 12.8456 -7.375 -1.23054 -2.04004 12.6874 -7.38 -1.27208 -2.12592 12.5323 -7.385 -1.3159 -2.21562 12.3802 -7.39 -1.36207 -2.30934 12.2313 -7.395 -1.41069 -2.4073 12.0855 -7.4 -1.46184 -2.50973 11.9429 -7.405 -1.51564 -2.61688 11.8036 -7.41 -1.57216 -2.72897 11.6678 -7.415 -1.63154 -2.84629 11.5354 -7.42 -1.69386 -2.96909 11.4066 -7.425 -1.75926 -3.09765 11.2816 -7.43 -1.82784 -3.23227 11.1604 -7.435 -1.89989 -3.37284 11.0434 -7.44 -1.97565 -3.51948 10.931 -7.445 -2.05523 -3.67273 10.823 -7.45 -2.13873 -3.83308 10.7197 -7.455 -2.22629 -4.00103 10.621 -7.46 -2.31806 -4.17707 10.5271 -7.465 -2.41418 -4.36164 10.4383 -7.47 -2.51484 -4.55521 10.3547 -7.475 -2.62022 -4.75821 10.2768 -7.48 -2.7305 -4.97106 10.2049 -7.485 -2.84591 -5.19417 10.1394 -7.49 -2.96666 -5.42792 10.0808 -7.495 -3.09298 -5.6727 10.0297 -7.5 -3.22514 -5.92886 9.98659 -7.505 -3.36339 -6.19676 9.95221 -7.51 -3.50801 -6.47674 9.92725 -7.515 -3.65928 -6.7691 9.91245 -7.52 -3.81751 -7.07415 9.90865 -7.525 -3.98301 -7.39219 9.9167 -7.53 -4.15611 -7.72349 9.93755 -7.535 -4.33715 -8.06831 9.97216 -7.54 -4.52649 -8.42689 10.0216 -7.545 -4.72449 -8.79948 10.0869 -7.55 -4.93154 -9.18628 10.1693 -7.555 -5.14803 -9.5875 10.2699 -7.56 -5.37436 -10.0033 10.39 -7.565 -5.61029 -10.433 10.5306 -7.57 -5.85547 -10.8758 10.6932 -7.575 -6.11049 -11.3325 10.8801 -7.58 -6.37581 -11.8032 11.0937 -7.585 -6.65177 -12.2878 11.3361 -7.59 -6.93861 -12.7857 11.6095 -7.595 -7.23645 -13.2961 11.916 -7.6 -7.54529 -13.8176 12.2577 -7.605 -7.86503 -14.3485 12.6365 -7.61 -8.19542 -14.8868 13.0545 -7.615 -8.53613 -15.4299 13.5134 -7.62 -8.88671 -15.9751 14.0152 -7.625 -9.24657 -16.519 14.5615 -7.63 -9.61503 -17.058 15.1541 -7.635 -9.99129 -17.5881 15.7946 -7.64 -10.3744 -18.1049 16.4847 -7.645 -10.7634 -18.6035 17.2258 -7.65 -11.1571 -19.0789 18.0194 -7.655 -11.5542 -19.5254 18.8671 -7.66 -11.9533 -19.9381 19.7692 -7.665 -12.3525 -20.3132 20.723 -7.67 -12.7492 -20.6414 21.7255 -7.675 -13.141 -20.9141 22.7734 -7.68 -13.525 -21.1234 23.8623 -7.685 -13.8984 -21.2624 24.9872 -7.69 -14.2585 -21.325 26.142 -7.695 -14.6022 -21.3061 27.3199 -7.7 -14.9265 -21.2016 28.513 -7.705 -15.2281 -21.0081 29.7128 -7.71 -15.504 -20.7231 30.9098 -7.715 -15.7507 -20.3453 32.0936 -7.72 -15.9649 -19.8741 33.2531 -7.725 -16.143 -19.3097 34.3762 -7.73 -16.2819 -18.6508 35.4495 -7.735 -16.3803 -17.8954 36.4599 -7.74 -16.436 -17.0584 37.3983 -7.745 -16.4473 -16.1548 38.2571 -7.75 -16.4131 -15.1986 39.0301 -7.755 -16.3326 -14.2023 39.7119 -7.76 -16.2061 -13.1776 40.2986 -7.765 -16.034 -12.1348 40.7874 -7.77 -15.8176 -11.0831 41.1767 -7.775 -15.5586 -10.0306 41.466 -7.78 -15.2595 -8.98419 41.6561 -7.785 -14.9232 -7.94953 41.7489 -7.79 -14.5532 -6.93122 41.7477 -7.795 -14.1537 -5.93266 41.6568 -7.8 -13.7282 -4.96057 41.4826 -7.805 -13.2773 -4.03552 41.2357 -7.81 -12.8045 -3.16381 40.924 -7.815 -12.3138 -2.34904 40.555 -7.82 -11.8091 -1.59375 40.1359 -7.825 -11.2938 -0.899408 39.6742 -7.83 -10.7714 -0.26645 39.1771 -7.835 -10.245 0.305768 38.6518 -7.84 -9.71777 0.818941 38.1055 -7.845 -9.19242 1.27583 37.5452 -7.85 -8.67162 1.68024 36.9781 -7.855 -8.15782 2.03653 36.41 -7.86 -7.65299 2.34686 35.842 -7.865 -7.15872 2.61452 35.2762 -7.87 -6.67641 2.84301 34.7152 -7.875 -6.20728 3.03575 34.1612 -7.88 -5.75234 3.19607 33.6159 -7.885 -5.31244 3.32724 33.0807 -7.89 -4.88823 3.43244 32.5568 -7.895 -4.48018 3.5148 32.0448 -7.9 -4.08857 3.57733 31.5452 -7.905 -3.71349 3.62299 31.058 -7.91 -3.35489 3.65459 30.5829 -7.915 -3.0127 3.67403 30.1201 -7.92 -2.68659 3.68307 29.6694 -7.925 -2.37614 3.68338 29.2305 -7.93 -2.08091 3.67654 28.8027 -7.935 -1.80045 3.66401 28.3859 -7.94 -1.53427 3.64713 27.9796 -7.945 -1.2819 3.62714 27.5833 -7.95 -1.0428 3.60517 27.1969 -7.955 -0.816438 3.58222 26.8198 -7.96 -0.602264 3.5592 26.4517 -7.965 -0.399696 3.5369 26.0923 -7.97 -0.208137 3.51598 25.7413 -7.975 -0.0269678 3.49703 25.3982 -7.98 0.14445 3.48048 25.0628 -7.985 0.306776 3.46668 24.7348 -7.99 0.460775 3.45597 24.4137 -7.995 0.607021 3.44867 24.0994 -8 0.745962 3.44507 23.7917 -8.005 0.878053 3.44542 23.4903 -8.01 1.00375 3.44993 23.1952 -8.015 1.12352 3.45881 22.9062 -8.02 1.23783 3.47225 22.6232 -8.025 1.34716 3.49039 22.3461 -8.03 1.45197 3.51337 22.0746 -8.035 1.55276 3.5413 21.8088 -8.04 1.65001 3.57425 21.5485 -8.045 1.74421 3.6123 21.2937 -8.05 1.83586 3.65546 21.0441 -8.055 1.92546 3.70377 20.7999 -8.06 2.01348 3.75721 20.5609 -8.065 2.10015 3.81588 20.3272 -8.07 2.1857 3.8799 20.0989 -8.075 2.27037 3.94938 19.8759 -8.08 2.35441 4.02444 19.6584 -8.085 2.43807 4.10517 19.4463 -8.09 2.52162 4.19168 19.2398 -8.095 2.60532 4.28406 19.039 -8.1 2.68945 4.38239 18.8439 -8.105 2.7743 4.48674 18.6546 -8.11 2.86015 4.59721 18.4712 -8.115 2.9473 4.71385 18.2939 -8.12 3.03604 4.83672 18.1227 -8.125 3.1267 4.96588 17.9578 -8.13 3.21958 5.10139 17.7994 -8.135 3.31493 5.24329 17.6475 -8.14 3.41286 5.39175 17.5026 -8.145 3.51352 5.547 17.3647 -8.15 3.61706 5.70923 17.2343 -8.155 3.72362 5.87864 17.1116 -8.16 3.83338 6.05538 16.9968 -8.165 3.9465 6.23958 16.8904 -8.17 4.06315 6.43137 16.7926 -8.175 4.18352 6.63084 16.704 -8.18 4.30779 6.83807 16.6248 -8.185 4.43617 7.05311 16.5555 -8.19 4.56884 7.276 16.4966 -8.195 4.70603 7.50675 16.4485 -8.2 4.84794 7.74536 16.4118 -8.205 4.99481 7.99179 16.387 -8.21 5.14685 8.246 16.3745 -8.215 5.3043 8.5079 16.3751 -8.22 5.46704 8.77706 16.389 -8.225 5.63509 9.05344 16.4168 -8.23 5.80864 9.33714 16.4597 -8.235 5.98783 9.62815 16.5186 -8.24 6.17277 9.92633 16.5944 -8.245 6.36352 10.2314 16.688 -8.25 6.56011 10.543 16.8004 -8.255 6.76252 10.8605 16.9323 -8.26 6.97072 11.1833 17.0847 -8.265 7.18461 11.5106 17.2582 -8.27 7.40407 11.8415 17.4537 -8.275 7.62892 12.175 17.6719 -8.28 7.85898 12.5098 17.9136 -8.285 8.09399 12.8447 18.1793 -8.29 8.33368 13.1782 18.4698 -8.295 8.57773 13.5088 18.7857 -8.3 8.82578 13.8348 19.1275 -8.305 9.07743 14.1543 19.4959 -8.31 9.33226 14.4655 19.8914 -8.315 9.58978 14.7661 20.3144 -8.32 9.84943 15.0548 20.7651 -8.325 10.1103 15.3303 21.2429 -8.33 10.3714 15.5889 21.7473 -8.335 10.6317 15.8274 22.2779 -8.34 10.8902 16.0425 22.8336 -8.345 11.1458 16.2312 23.4132 -8.35 11.3973 16.3909 24.015 -8.355 11.6436 16.5189 24.6373 -8.36 11.8833 16.6129 25.2778 -8.365 12.1153 16.6708 25.9338 -8.37 12.338 16.6906 26.6025 -8.375 12.5502 16.6708 27.2807 -8.38 12.7503 16.6098 27.9648 -8.385 12.9369 16.5063 28.6509 -8.39 13.1084 16.3593 29.335 -8.395 13.2632 16.168 30.0123 -8.4 13.3996 15.9316 30.6782 -8.405 13.5166 15.6476 31.3278 -8.41 13.6136 15.3154 31.9565 -8.415 13.6892 14.9403 32.5595 -8.42 13.7423 14.5269 33.1325 -8.425 13.7721 14.08 33.6716 -8.43 13.7779 13.6038 34.1733 -8.435 13.7592 13.1025 34.6345 -8.44 13.7159 12.5801 35.0529 -8.445 13.648 12.0403 35.4262 -8.45 13.5558 11.4864 35.7528 -8.455 13.4399 10.9217 36.0315 -8.46 13.3009 10.3492 36.2616 -8.465 13.1398 9.77163 36.4428 -8.47 12.958 9.19157 36.5753 -8.475 12.7567 8.61128 36.6596 -8.48 12.5376 8.03284 36.6969 -8.485 12.3028 7.4581 36.6887 -8.49 12.0523 6.89459 36.6374 -8.495 11.7868 6.34935 36.5458 -8.5 11.5082 5.82488 36.4159 -8.505 11.2182 5.32328 36.2502 -8.51 10.9187 4.84637 36.051 -8.515 10.6114 4.39558 35.8209 -8.52 10.2979 3.97202 35.5625 -8.525 9.97988 3.57646 35.2787 -8.53 9.65882 3.20933 34.9722 -8.535 9.33618 2.87071 34.6462 -8.54 9.01336 2.56035 34.3037 -8.545 8.69171 2.27765 33.948 -8.55 8.37249 2.02168 33.5823 -8.555 8.05691 1.79115 33.2102 -8.56 7.74612 1.58447 32.8351 -8.565 7.44116 1.40048 32.4566 -8.57 7.14276 1.23811 32.0747 -8.575 6.85153 1.09612 31.6906 -8.58 6.56801 0.97331 31.3053 -8.585 6.29268 0.868451 30.92 -8.59 6.02598 0.780343 30.5355 -8.595 5.76825 0.707791 30.1526 -8.6 5.51981 0.649611 29.7719 -8.605 5.2809 0.604626 29.3942 -8.61 5.05169 0.571672 29.0198 -8.615 4.83232 0.549591 28.6491 -8.62 4.62283 0.537237 28.2825 -8.625 4.42324 0.533471 27.92 -8.63 4.23348 0.537165 27.5619 -8.635 4.05341 0.5473 27.208 -8.64 3.8828 0.563635 26.8586 -8.645 3.72144 0.585661 26.5138 -8.65 3.56912 0.612798 26.1735 -8.655 3.42564 0.644507 25.8378 -8.66 3.29078 0.680295 25.5066 -8.665 3.16432 0.719711 25.1799 -8.67 3.04603 0.762349 24.8578 -8.675 2.93568 0.807844 24.5401 -8.68 2.83304 0.855878 24.2269 -8.685 2.73784 0.906175 23.9182 -8.69 2.64985 0.958502 23.6138 -8.695 2.56879 1.01267 23.3138 -8.7 2.4944 1.06854 23.0181 -8.705 2.42641 1.126 22.7266 -8.71 2.36453 1.185 22.4394 -8.715 2.30848 1.24552 22.1563 -8.72 2.25796 1.30753 21.8773 -8.725 2.21285 1.37097 21.6024 -8.73 2.17299 1.43579 21.3316 -8.735 2.13827 1.50197 21.0648 -8.74 2.10854 1.56952 20.802 -8.745 2.08367 1.63846 20.5432 -8.75 2.06353 1.70881 20.2883 -8.755 2.04797 1.78065 20.0375 -8.76 2.03685 1.85405 19.7905 -8.765 2.03003 1.92912 19.5475 -8.77 2.02736 2.00597 19.3085 -8.775 2.02871 2.08474 19.0734 -8.78 2.03391 2.16559 18.8422 -8.785 2.04281 2.24871 18.615 -8.79 2.05528 2.3343 18.3918 -8.795 2.07115 2.42258 18.1726 -8.8 2.09045 2.51364 17.9574 -8.805 2.11324 2.60759 17.7463 -8.81 2.13953 2.70457 17.5394 -8.815 2.16934 2.80471 17.3366 -8.82 2.20267 2.9082 17.138 -8.825 2.23955 3.01521 16.9437 -8.83 2.27999 3.12592 16.7537 -8.835 2.32402 3.24053 16.5682 -8.84 2.37167 3.35925 16.3872 -8.845 2.42295 3.4823 16.2109 -8.85 2.47791 3.60991 16.0393 -8.855 2.53657 3.74233 15.8726 -8.86 2.59898 3.8798 15.7109 -8.865 2.66517 4.0226 15.5545 -8.87 2.73518 4.17099 15.4034 -8.875 2.80907 4.32526 15.2579 -8.88 2.88692 4.4856 15.1182 -8.885 2.96892 4.65209 14.9845 -8.89 3.0552 4.82508 14.8572 -8.895 3.14589 5.00491 14.7363 -8.9 3.24113 5.1919 14.6222 -8.905 3.34106 5.38636 14.5151 -8.91 3.4458 5.58856 14.4153 -8.915 3.55552 5.79878 14.3233 -8.92 3.67035 6.01727 14.2395 -8.925 3.79045 6.24426 14.1643 -8.93 3.91597 6.47999 14.0982 -8.935 4.04707 6.72465 14.0417 -8.94 4.18391 6.97843 13.9955 -8.945 4.32664 7.2415 13.9602 -8.95 4.47544 7.51402 13.9363 -8.955 4.63047 7.79612 13.9246 -8.96 4.79191 8.08793 13.9259 -8.965 4.95992 8.38954 13.941 -8.97 5.1347 8.70106 13.9706 -8.975 5.31642 9.02255 14.0155 -8.98 5.50524 9.35403 14.0768 -8.985 5.70112 9.69496 14.1551 -8.99 5.9042 10.0452 14.2515 -8.995 6.1147 10.4047 14.3673 -9 6.33278 10.7734 14.504 -9.005 6.55854 11.1507 14.6627 -9.01 6.79202 11.5362 14.8448 -9.015 7.03323 11.9291 15.0515 -9.02 7.28207 12.3284 15.2841 -9.025 7.53842 12.7329 15.5436 -9.03 7.80209 13.1413 15.8313 -9.035 8.07283 13.552 16.1484 -9.04 8.35033 13.9635 16.4959 -9.045 8.63423 14.3736 16.8751 -9.05 8.92409 14.7803 17.2868 -9.055 9.21944 15.1814 17.7322 -9.06 9.51973 15.5743 18.2124 -9.065 9.82436 15.9563 18.7282 -9.07 10.1326 16.3263 19.2799 -9.075 10.4434 16.6817 19.8668 -9.08 10.7556 17.0173 20.4893 -9.085 11.0681 17.328 21.1469 -9.09 11.3795 17.609 21.8386 -9.095 11.6884 17.8559 22.5632 -9.1 11.9933 18.0647 23.3185 -9.105 12.2926 18.2315 24.1023 -9.11 12.5846 18.353 24.9114 -9.115 12.8675 18.426 25.7423 -9.12 13.1395 18.4477 26.5911 -9.125 13.3985 18.4156 27.4532 -9.13 13.6426 18.3276 28.3234 -9.135 13.8694 18.1817 29.1963 -9.14 14.0769 17.9766 30.0656 -9.145 14.2626 17.7109 30.9247 -9.15 14.4241 17.3837 31.7665 -9.155 14.5593 16.9914 32.5831 -9.16 14.6675 16.5276 33.3671 -9.165 14.7473 16.0024 34.112 -9.17 14.7974 15.4261 34.8123 -9.175 14.8166 14.8082 35.4632 -9.18 14.8045 14.1573 36.0604 -9.185 14.7605 13.4812 36.6003 -9.19 14.6847 12.7867 37.0802 -9.195 14.5774 12.0798 37.4978 -9.2 14.4393 11.3656 37.8515 -9.205 14.2711 10.6483 38.1405 -9.21 14.0743 9.93142 38.3645 -9.215 13.8503 9.2173 38.5242 -9.22 13.6012 8.50762 38.6206 -9.225 13.3291 7.8031 38.6554 -9.23 13.0366 7.10361 38.6313 -9.235 12.7266 6.40815 38.5514 -9.24 12.401 5.72056 38.4193 -9.245 12.0585 5.06161 38.239 -9.25 11.7013 4.43581 38.0143 -9.255 11.332 3.84541 37.7492 -9.26 10.9529 3.2921 37.4475 -9.265 10.5666 2.77708 37.1134 -9.27 10.175 2.30099 36.7507 -9.275 9.78044 1.86398 36.3636 -9.28 9.38471 1.46564 35.956 -9.285 8.98971 1.10507 35.532 -9.29 8.59716 0.780818 35.0958 -9.295 8.20867 0.490914 34.6515 -9.3 7.82573 0.232866 34.2032 -9.305 7.44971 0.00407616 33.7543 -9.31 7.08175 -0.196426 33.3039 -9.315 6.72267 -0.370457 32.8532 -9.32 6.37319 -0.51996 32.4037 -9.325 6.03394 -0.646833 31.9565 -9.33 5.70545 -0.75293 31.5126 -9.335 5.38817 -0.840059 31.073 -9.34 5.08246 -0.909983 30.6385 -9.345 4.78859 -0.964422 30.2096 -9.35 4.50673 -1.00505 29.7867 -9.355 4.23696 -1.0335 29.3702 -9.36 3.9793 -1.05135 28.9602 -9.365 3.73363 -1.06015 28.5567 -9.37 3.49978 -1.06128 28.1594 -9.375 3.27748 -1.0555 27.7687 -9.38 3.06645 -1.04368 27.3845 -9.385 2.8664 -1.02668 27.0066 -9.39 2.677 -1.00531 26.6349 -9.395 2.49795 -0.980306 26.2693 -9.4 2.3289 -0.952359 25.9097 -9.405 2.16952 -0.922084 25.556 -9.41 2.01945 -0.890041 25.208 -9.415 1.87834 -0.856723 24.8656 -9.42 1.7458 -0.822566 24.5286 -9.425 1.62144 -0.78794 24.197 -9.43 1.50489 -0.753155 23.8705 -9.435 1.39572 -0.718459 23.549 -9.44 1.29352 -0.684037 23.2325 -9.445 1.19786 -0.650048 22.9206 -9.45 1.10842 -0.616683 22.6134 -9.455 1.02489 -0.584088 22.3107 -9.46 0.947001 -0.552391 22.0124 -9.465 0.874466 -0.521696 21.7184 -9.47 0.807001 -0.492089 21.4286 -9.475 0.744321 -0.463636 21.143 -9.48 0.686144 -0.436381 20.8614 -9.485 0.632187 -0.410349 20.5837 -9.49 0.582166 -0.385547 20.3099 -9.495 0.535799 -0.361958 20.04 -9.5 0.492802 -0.339547 19.7737 -9.505 0.452894 -0.31826 19.511 -9.51 0.415803 -0.298028 19.252 -9.515 0.381375 -0.278855 18.9964 -9.52 0.349482 -0.260746 18.7443 -9.525 0.319989 -0.243693 18.4956 -9.53 0.292757 -0.227682 18.2503 -9.535 0.267652 -0.212691 18.0082 -9.54 0.244536 -0.198691 17.7695 -9.545 0.223271 -0.185649 17.5339 -9.55 0.203719 -0.173523 17.3015 -9.555 0.185745 -0.162264 17.0722 -9.56 0.169208 -0.151819 16.846 -9.565 0.153972 -0.142125 16.6227 -9.57 0.139898 -0.133115 16.4025 -9.575 0.126847 -0.124714 16.1852 -9.58 0.114733 -0.116885 15.9707 -9.585 0.103528 -0.109631 15.7591 -9.59 0.0931864 -0.102943 15.5504 -9.595 0.0836614 -0.0968067 15.3443 -9.6 0.0749054 -0.0912056 15.1411 -9.605 0.0668689 -0.0861205 14.9405 -9.61 0.0595013 -0.081529 14.7426 -9.615 0.0527504 -0.0774062 14.5473 -9.62 0.0465626 -0.0737241 14.3546 -9.625 0.0408828 -0.0704517 14.1645 -9.63 0.0356548 -0.0675554 13.9769 -9.635 0.0308205 -0.0649986 13.7918 -9.64 0.0263208 -0.0627418 13.6091 -9.645 0.0220949 -0.0607425 13.4288 -9.65 0.0180957 -0.0589689 13.251 -9.655 0.014335 -0.0574399 13.0754 -9.66 0.0108062 -0.0561588 12.9023 -9.665 0.00749824 -0.0551246 12.7314 -9.67 0.00439911 -0.0543354 12.5627 -9.675 0.00149544 -0.0537879 12.3963 -9.68 -0.00122737 -0.0534774 12.2322 -9.685 -0.00378515 -0.053398 12.0701 -9.69 -0.00619497 -0.0535426 11.9103 -9.695 -0.00847513 -0.0539028 11.7525 -9.7 -0.0106452 -0.0544687 11.5969 -9.705 -0.0127259 -0.0552293 11.4433 -9.71 -0.0147393 -0.0561724 11.2917 -9.715 -0.0167087 -0.0572844 11.1422 -9.72 -0.0186585 -0.0585504 10.9946 -9.725 -0.0206145 -0.0599542 10.849 -9.73 -0.0225833 -0.0614986 10.7053 -9.735 -0.0245546 -0.0632025 10.5635 -9.74 -0.0265293 -0.0650744 10.4236 -9.745 -0.0285089 -0.0671224 10.2856 -9.75 -0.0304962 -0.0693542 10.1493 -9.755 -0.0324951 -0.0717772 10.0149 -9.76 -0.0345103 -0.0743983 9.8823 -9.765 -0.0365476 -0.0772242 9.75142 -9.77 -0.0386138 -0.080261 9.62228 -9.775 -0.0407168 -0.0835147 9.49485 -9.78 -0.0428655 -0.0869906 9.36911 -9.785 -0.0450697 -0.0906938 9.24504 -9.79 -0.0473404 -0.094629 9.12261 -9.795 -0.0496894 -0.0988006 9.00181 -9.8 -0.0521297 -0.103212 8.88261 -9.805 -0.0546753 -0.107868 8.76499 -9.81 -0.0573412 -0.112771 8.64893 -9.815 -0.0601432 -0.117923 8.53441 -9.82 -0.0630955 -0.123333 8.42141 -9.825 -0.0661966 -0.129029 8.30991 -9.83 -0.0694473 -0.13503 8.19989 -9.835 -0.0728503 -0.141356 8.09133 -9.84 -0.0764096 -0.148026 7.98422 -9.845 -0.0801305 -0.155061 7.87852 -9.85 -0.0840195 -0.162484 7.77424 -9.855 -0.0880846 -0.170316 7.67134 -9.86 -0.0923349 -0.178581 7.56981 -9.865 -0.0967809 -0.187304 7.46963 -9.87 -0.101434 -0.196509 7.37079 -9.875 -0.106308 -0.206223 7.27327 -9.88 -0.111417 -0.216473 7.17705 -9.885 -0.116777 -0.227287 7.08212 -9.89 -0.122404 -0.238693 6.98845 -9.895 -0.128316 -0.250722 6.89605 -9.9 -0.134534 -0.263403 6.80488 -9.905 -0.141079 -0.276769 6.71493 -9.91 -0.147971 -0.290852 6.6262 -9.915 -0.155235 -0.305684 6.53867 -9.92 -0.162896 -0.3213 6.45231 -9.925 -0.170979 -0.337736 6.36713 -9.93 -0.179513 -0.355026 6.2831 -9.935 -0.188537 -0.373214 6.20022 -9.94 -0.198101 -0.392359 6.11849 -9.945 -0.208212 -0.412517 6.03789 -9.95 -0.218876 -0.433749 5.95841 -9.955 -0.230106 -0.456118 5.88003 -9.96 -0.241919 -0.479695 5.80273 -9.965 -0.254336 -0.504554 5.7265 -9.97 -0.267381 -0.530775 5.65134 -9.975 -0.281084 -0.558441 5.57723 -9.98 -0.295478 -0.587643 5.50416 -9.985 -0.310601 -0.618472 5.43214 -9.99 -0.326496 -0.65103 5.36116 -9.995 -0.343207 -0.685418 5.29121 -10 -0.360786 -0.721745 5.22231 -10.005 -0.379288 -0.760124 5.15444 -10.01 -0.39877 -0.800674 5.08762 -10.015 -0.419297 -0.843517 5.02184 -10.02 -0.440936 -0.88878 4.95713 -10.025 -0.463757 -0.936597 4.89348 -10.03 -0.487838 -0.987104 4.83091 -10.035 -0.513259 -1.04044 4.76942 -10.04 -0.540103 -1.09676 4.70905 -10.045 -0.568459 -1.15621 4.64979 -10.05 -0.598419 -1.21895 4.59168 -10.055 -0.630082 -1.28514 4.53472 -10.06 -0.663548 -1.35494 4.47894 -10.065 -0.698923 -1.42853 4.42437 -10.07 -0.736316 -1.50608 4.37104 -10.075 -0.775855 -1.58777 4.319 -10.08 -0.817761 -1.67376 4.26869 -10.085 -0.862122 -1.76434 4.22011 -10.09 -0.909002 -1.85984 4.17313 -10.095 -0.958482 -1.96061 4.1277 -10.1 -1.01066 -2.06699 4.08378 -10.105 -1.06565 -2.17937 4.04138 -10.11 -1.12358 -2.29812 4.00053 -10.115 -1.1846 -2.42366 3.96131 -10.12 -1.24887 -2.55638 3.92382 -10.125 -1.31658 -2.69673 3.88821 -10.13 -1.38791 -2.84515 3.85466 -10.135 -1.46308 -3.00209 3.82339 -10.14 -1.54232 -3.16802 3.79464 -10.145 -1.62587 -3.34344 3.76871 -10.15 -1.71401 -3.52884 3.74592 -10.155 -1.80699 -3.72473 3.72662 -10.16 -1.90513 -3.93166 3.71121 -10.165 -2.00872 -4.15016 3.70011 -10.17 -2.1181 -4.38079 3.6938 -10.175 -2.23362 -4.62412 3.69276 -10.18 -2.35562 -4.88075 3.69754 -10.185 -2.4845 -5.15126 3.70871 -10.19 -2.62063 -5.43629 3.72687 -10.195 -2.76444 -5.73645 3.75267 -10.2 -2.91634 -6.0524 3.78678 -10.205 -3.07679 -6.38479 3.82991 -10.21 -3.24623 -6.73429 3.88282 -10.215 -3.42514 -7.1016 3.94629 -10.22 -3.61353 -7.48592 4.02214 -10.225 -3.81156 -7.88744 4.11225 -10.23 -4.01999 -8.30832 4.21753 -10.235 -4.23953 -8.75039 4.33915 -10.24 -4.47085 -9.21512 4.47849 -10.245 -4.71456 -9.70368 4.63719 -10.25 -4.97122 -10.2169 4.81712 -10.255 -5.24134 -10.7552 5.02039 -10.26 -5.52538 -11.3187 5.24933 -10.265 -5.82375 -11.9073 5.50652 -10.27 -6.13681 -12.5203 5.79479 -10.275 -6.46485 -13.157 6.11718 -10.28 -6.80814 -13.8161 6.477 -10.285 -7.16687 -14.496 6.87776 -10.29 -7.54121 -15.1948 7.32323 -10.295 -7.93124 -15.9104 7.81742 -10.3 -8.33703 -16.6401 8.36456 -10.305 -8.75856 -17.381 8.96914 -10.31 -9.19579 -18.13 9.63586 -10.315 -9.64861 -18.8833 10.3697 -10.32 -10.1169 -19.6371 11.1758 -10.325 -10.5993 -20.3873 12.0556 -10.33 -11.094 -21.1261 13.0102 -10.335 -11.5999 -21.8433 14.0449 -10.34 -12.1152 -22.5286 15.1633 -10.345 -12.6381 -23.1712 16.367 -10.35 -13.1659 -23.7604 17.6559 -10.355 -13.6956 -24.2849 19.028 -10.36 -14.2239 -24.7336 20.4795 -10.365 -14.7467 -25.0947 22.0048 -10.37 -15.2597 -25.3566 23.5964 -10.375 -15.7579 -25.5072 25.2449 -10.38 -16.236 -25.5341 26.9393 -10.385 -16.6883 -25.425 28.6665 -10.39 -17.1094 -25.1666 30.4137 -10.395 -17.4954 -24.7504 32.1654 -10.4 -17.839 -24.1778 33.8951 -10.405 -18.1337 -23.452 35.5778 -10.41 -18.374 -22.5784 37.1906 -10.415 -18.555 -21.5642 38.7132 -10.42 -18.6731 -20.4184 40.1276 -10.425 -18.7253 -19.1519 41.4179 -10.43 -18.7097 -17.7774 42.5707 -10.435 -18.6254 -16.3097 43.575 -10.44 -18.4722 -14.7652 44.4217 -10.445 -18.2511 -13.1624 45.1046 -10.45 -17.9623 -11.5274 45.6161 -10.455 -17.6076 -9.89158 45.9555 -10.46 -17.1912 -8.27641 46.1313 -10.465 -16.7179 -6.70107 46.1536 -10.47 -16.1928 -5.18222 46.0331 -10.475 -15.6211 -3.73407 45.782 -10.48 -15.0083 -2.36838 45.4132 -10.485 -14.3605 -1.09442 44.941 -10.49 -13.6837 0.0809719 44.3805 -10.495 -12.9844 1.15343 43.7482 -10.5 -12.2693 2.12106 43.0614 -10.505 -11.5454 2.98456 42.3383 -10.51 -10.8175 3.74952 41.5915 -10.515 -10.0902 4.4213 40.8298 -10.52 -9.36779 5.00474 40.062 -10.525 -8.6542 5.50522 39.2959 -10.53 -7.95292 5.9286 38.538 -10.535 -7.26693 6.28122 37.7942 -10.54 -6.59879 6.56994 37.0693 -10.545 -5.95055 6.8021 36.3668 -10.55 -5.32384 6.98553 35.6896 -10.555 -4.71979 7.12857 35.0395 -10.56 -4.13909 7.2398 34.4171 -10.565 -3.58226 7.32178 33.8221 -10.57 -3.04938 7.37718 33.2537 -10.575 -2.54029 7.41005 32.711 -10.58 -2.05472 7.42414 32.1933 -10.585 -1.59235 7.42286 31.6997 -10.59 -1.15275 7.40932 31.2291 -10.595 -0.735403 7.38627 30.7806 -10.6 -0.339709 7.35617 30.3532 -10.605 0.0350256 7.32113 29.9458 -10.61 0.38958 7.28294 29.5571 -10.615 0.724822 7.24307 29.1861 -10.62 1.04171 7.20268 28.8314 -10.625 1.34141 7.1631 28.492 -10.63 1.62489 7.12541 28.1671 -10.635 1.89291 7.09021 27.8559 -10.64 2.14625 7.05805 27.5577 -10.645 2.38568 7.02945 27.2719 -10.65 2.61198 7.00486 26.9977 -10.655 2.82594 6.98471 26.7346 -10.66 3.02835 6.96936 26.482 -10.665 3.22 6.95916 26.2396 -10.67 3.4017 6.95439 26.0067 -10.675 3.57426 6.9553 25.7831 -10.68 3.73849 6.96209 25.5683 -10.685 3.89521 6.97491 25.362 -10.69 4.04524 6.99388 25.164 -10.695 4.18942 7.01907 24.9741 -10.7 4.32841 7.05024 24.792 -10.705 4.4626 7.08718 24.6176 -10.71 4.59234 7.12987 24.4509 -10.715 4.71802 7.1783 24.2921 -10.72 4.83999 7.2324 24.1411 -10.725 4.95864 7.29212 23.9979 -10.73 5.07434 7.35736 23.8626 -10.735 5.18745 7.42803 23.7351 -10.74 5.29837 7.50401 23.6156 -10.745 5.40745 7.58516 23.5039 -10.75 5.51508 7.67132 23.4002 -10.755 5.62163 7.76232 23.3045 -10.76 5.72748 7.85798 23.2167 -10.765 5.83302 7.95808 23.1369 -10.77 5.93862 8.06239 23.0651 -10.775 6.04465 8.17069 23.0013 -10.78 6.15122 8.28274 22.9457 -10.785 6.2583 8.39839 22.8984 -10.79 6.36599 8.51748 22.8599 -10.795 6.47435 8.63981 22.8303 -10.8 6.58345 8.76516 22.8098 -10.805 6.69336 8.89329 22.7986 -10.81 6.80412 9.02393 22.7968 -10.815 6.91578 9.15678 22.8047 -10.82 7.02838 9.29152 22.8223 -10.825 7.14196 9.4278 22.8498 -10.83 7.25654 9.56527 22.8872 -10.835 7.37213 9.70351 22.9347 -10.84 7.48875 9.84211 22.9922 -10.845 7.60641 9.98063 23.0598 -10.85 7.72508 10.1186 23.1375 -10.855 7.84478 10.2555 23.2253 -10.86 7.96547 10.3908 23.3232 -10.865 8.08709 10.5242 23.4311 -10.87 8.20936 10.6556 23.5488 -10.875 8.33208 10.7842 23.6766 -10.88 8.45501 10.9092 23.8143 -10.885 8.57792 11.0302 23.9619 -10.89 8.70057 11.1462 24.1194 -10.895 8.8227 11.2568 24.2865 -10.9 8.94404 11.3613 24.4631 -10.905 9.06433 11.459 24.6488 -10.91 9.18328 11.5495 24.8433 -10.915 9.3006 11.632 25.0462 -10.92 9.41599 11.7062 25.2569 -10.925 9.52913 11.7715 25.475 -10.93 9.63972 11.8274 25.6998 -10.935 9.74742 11.8733 25.9306 -10.94 9.85189 11.909 26.1668 -10.945 9.95279 11.9338 26.4076 -10.95 10.0498 11.9475 26.652 -10.955 10.1424 11.9497 26.8992 -10.96 10.2304 11.9399 27.1482 -10.965 10.3134 11.9178 27.3979 -10.97 10.3908 11.8831 27.6473 -10.975 10.4627 11.8347 27.8956 -10.98 10.5287 11.7719 28.1425 -10.985 10.5885 11.6954 28.3864 -10.99 10.6416 11.6062 28.6261 -10.995 10.6878 11.5051 28.8603 -11 10.7267 11.3929 29.088 -11.005 10.758 11.2704 29.3081 -11.01 10.7816 11.1384 29.5196 -11.015 10.7973 10.9975 29.7216 -11.02 10.8049 10.8486 29.9133 -11.025 10.8044 10.6922 30.094 -11.03 10.7957 10.529 30.2629 -11.035 10.7789 10.3597 30.4196 -11.04 10.7541 10.1848 30.5635 -11.045 10.7213 10.0049 30.6942 -11.05 10.6808 9.82059 30.8113 -11.055 10.6326 9.63237 30.9147 -11.06 10.5771 9.44072 31.0041 -11.065 10.5146 9.24613 31.0794 -11.07 10.4454 9.04903 31.1405 -11.075 10.3698 8.84983 31.1876 -11.08 10.2884 8.64893 31.2208 -11.085 10.2016 8.4467 31.2403 -11.09 10.1099 8.24347 31.2464 -11.095 10.0136 8.04002 31.2394 -11.1 9.91228 7.83969 31.2196 -11.105 9.80611 7.64353 31.1871 -11.11 9.69562 7.4521 31.142 -11.115 9.58132 7.26591 31.0845 -11.12 9.46368 7.08545 31.0149 -11.125 9.34319 6.91114 30.9333 -11.13 9.22031 6.74339 30.8402 -11.135 9.09548 6.58257 30.736 -11.14 8.96914 6.42901 30.621 -11.145 8.84172 6.28298 30.4958 -11.15 8.71363 6.14476 30.361 -11.155 8.58528 6.01454 30.217 -11.16 8.45706 5.89251 30.0646 -11.165 8.32934 5.7788 29.9045 -11.17 8.2025 5.67353 29.7373 -11.175 8.07689 5.57675 29.564 -11.18 7.95285 5.48849 29.3853 -11.185 7.83072 5.40875 29.2021 -11.19 7.71083 5.33747 29.0155 -11.195 7.59347 5.27457 28.8263 -11.2 7.47895 5.21993 28.6357 -11.205 7.36755 5.17338 28.4448 -11.21 7.25955 5.1347 28.2545 -11.215 7.15521 5.1032 28.0635 -11.22 7.05468 5.07856 27.8715 -11.225 6.95806 5.06065 27.6787 -11.23 6.86547 5.04935 27.4856 -11.235 6.77701 5.0445 27.2925 -11.24 6.69275 5.04596 27.0997 -11.245 6.61279 5.0536 26.9074 -11.25 6.53719 5.06725 26.7162 -11.255 6.46604 5.08676 26.5261 -11.26 6.39938 5.11198 26.3375 -11.265 6.33728 5.14274 26.1506 -11.27 6.27978 5.17889 25.9658 -11.275 6.22692 5.22024 25.7832 -11.28 6.17873 5.26664 25.6032 -11.285 6.13523 5.31791 25.4258 -11.29 6.09645 5.37386 25.2514 -11.295 6.06239 5.43431 25.0801 -11.3 6.03306 5.49909 24.9122 -11.305 6.00845 5.568 24.7478 -11.31 5.98854 5.64085 24.587 -11.315 5.97333 5.71744 24.4301 -11.32 5.96277 5.79759 24.2772 -11.325 5.95649 5.88154 24.1285 -11.33 5.95442 5.96936 23.9842 -11.335 5.95663 6.06101 23.8445 -11.34 5.96315 6.15643 23.7095 -11.345 5.97402 6.25558 23.5795 -11.35 5.98926 6.35838 23.4547 -11.355 6.00889 6.46478 23.3351 -11.36 6.03292 6.57471 23.2211 -11.365 6.06133 6.68809 23.1128 -11.37 6.09412 6.80484 23.0104 -11.375 6.13126 6.92488 22.9141 -11.38 6.17272 7.04813 22.8242 -11.385 6.21846 7.17449 22.7407 -11.39 6.26841 7.30386 22.6641 -11.395 6.32254 7.43614 22.5943 -11.4 6.38075 7.57124 22.5317 -11.405 6.44297 7.70903 22.4765 -11.41 6.5091 7.84941 22.4289 -11.415 6.57906 7.99225 22.3891 -11.42 6.65272 8.13743 22.3574 -11.425 6.72997 8.28482 22.3339 -11.43 6.81067 8.43429 22.319 -11.435 6.89469 8.5857 22.3127 -11.44 6.98189 8.73892 22.3155 -11.445 7.07209 8.89378 22.3274 -11.45 7.16514 9.05015 22.3488 -11.455 7.26089 9.20787 22.3796 -11.46 7.35934 9.36668 22.4195 -11.465 7.46047 9.52612 22.4688 -11.47 7.56424 9.68569 22.5278 -11.475 7.67057 9.84491 22.5971 -11.48 7.77936 10.0033 22.6767 -11.485 7.89051 10.1603 22.7671 -11.49 8.00388 10.3155 22.8683 -11.495 8.1193 10.4683 22.9804 -11.5 8.2366 10.6182 23.1036 -11.505 8.35557 10.7646 23.2379 -11.51 8.47599 10.9071 23.3831 -11.515 8.5976 11.0451 23.5393 -11.52 8.72014 11.1781 23.7061 -11.525 8.84332 11.3054 23.8835 -11.53 8.96683 11.4265 24.0711 -11.535 9.09032 11.5408 24.2686 -11.54 9.21344 11.6478 24.4757 -11.545 9.33581 11.7469 24.6918 -11.55 9.45703 11.8374 24.9166 -11.555 9.57667 11.9189 25.1493 -11.56 9.69429 11.9906 25.3895 -11.565 9.80943 12.0519 25.6365 -11.57 9.92158 12.1023 25.8895 -11.575 10.0302 12.1411 26.1478 -11.58 10.1349 12.1676 26.4105 -11.585 10.2349 12.1813 26.6768 -11.59 10.3301 12.1813 26.9459 -11.595 10.4206 12.1669 27.2175 -11.6 10.5061 12.1383 27.4902 -11.605 10.5859 12.0956 27.7624 -11.61 10.6596 12.0392 28.0328 -11.615 10.7266 11.9694 28.3001 -11.62 10.7865 11.8864 28.5629 -11.625 10.839 11.7906 28.8202 -11.63 10.8838 11.6825 29.0706 -11.635 10.9206 11.5623 29.3132 -11.64 10.9491 11.4306 29.547 -11.645 10.9691 11.2878 29.771 -11.65 10.9807 11.1345 29.9845 -11.655 10.9836 10.9711 30.1866 -11.66 10.9778 10.7983 30.3765 -11.665 10.9634 10.6166 30.5537 -11.67 10.9403 10.4266 30.7176 -11.675 10.9088 10.229 30.8676 -11.68 10.869 10.0245 31.0034 -11.685 10.8211 9.8138 31.1245 -11.69 10.7654 9.59762 31.2307 -11.695 10.7021 9.37674 31.3216 -11.7 10.6316 9.15197 31.3973 -11.705 10.5537 8.92542 31.4573 -11.71 10.4684 8.69906 31.5015 -11.715 10.3761 8.47375 31.5299 -11.72 10.2773 8.25033 31.5427 -11.725 10.1726 8.02961 31.5399 -11.73 10.0623 7.81233 31.5219 -11.735 9.94709 7.59921 31.4888 -11.74 9.8273 7.39092 31.4411 -11.745 9.70345 7.1881 31.3791 -11.75 9.576 6.99132 31.3032 -11.755 9.44544 6.80115 31.2141 -11.76 9.31222 6.61809 31.1123 -11.765 9.17681 6.4426 30.9983 -11.77 9.03967 6.27511 30.873 -11.775 8.90126 6.116 30.7371 -11.78 8.76202 5.96561 30.5914 -11.785 8.62242 5.82424 30.4368 -11.79 8.4829 5.69215 30.2742 -11.795 8.34391 5.56956 30.1046 -11.8 8.20588 5.45664 29.9292 -11.805 8.06926 5.35353 29.7489 -11.81 7.93449 5.2603 29.5651 -11.815 7.80208 5.17604 29.3775 -11.82 7.67237 5.10014 29.186 -11.825 7.5456 5.03256 28.9912 -11.83 7.42198 4.97322 28.7934 -11.835 7.30172 4.92204 28.5931 -11.84 7.18501 4.87891 28.3908 -11.845 7.07206 4.8437 28.1869 -11.85 6.96302 4.81627 27.9818 -11.855 6.85806 4.79647 27.7759 -11.86 6.75733 4.78411 27.5696 -11.865 6.66098 4.77899 27.3633 -11.87 6.56913 4.7809 27.1572 -11.875 6.48189 4.78959 26.9519 -11.88 6.39937 4.80483 26.7476 -11.885 6.32168 4.82633 26.5446 -11.89 6.24888 4.8538 26.3432 -11.895 6.18106 4.88694 26.1438 -11.9 6.11827 4.92542 25.9466 -11.905 6.06056 4.96889 25.7518 -11.91 6.00797 5.01699 25.5598 -11.915 5.96052 5.06934 25.3707 -11.92 5.91823 5.12552 25.1849 -11.925 5.88098 5.18551 25.0023 -11.93 5.84847 5.24995 24.8232 -11.935 5.82071 5.31878 24.6476 -11.94 5.79769 5.39191 24.4757 -11.945 5.77943 5.46927 24.3077 -11.95 5.76592 5.55077 24.1437 -11.955 5.75715 5.63633 23.984 -11.96 5.75312 5.72588 23.8287 -11.965 5.7538 5.81936 23.678 -11.97 5.75916 5.91668 23.5321 -11.975 5.76919 6.01779 23.3912 -11.98 5.78384 6.12264 23.2555 -11.985 5.80308 6.23115 23.1251 -11.99 5.82686 6.34328 23.0003 -11.995 5.85514 6.45898 22.8813 -12 5.88784 6.57819 22.7683 -12.005 5.92492 6.70088 22.6615 -12.01 5.96632 6.827 22.5611 -12.015 6.01194 6.95652 22.4672 -12.02 6.06173 7.08941 22.3802 -12.025 6.1156 7.22562 22.3002 -12.03 6.17345 7.36513 22.2275 -12.035 6.2352 7.50793 22.1623 -12.04 6.30065 7.65385 22.1045 -12.045 6.36963 7.80264 22.0542 -12.05 6.44224 7.95424 22.0119 -12.055 6.51854 8.10853 21.9777 -12.06 6.59858 8.26541 21.9523 -12.065 6.68238 8.42472 21.9358 -12.07 6.76996 8.58628 21.9287 -12.075 6.8613 8.74989 21.9312 -12.08 6.95635 8.91531 21.9436 -12.085 7.05508 9.08228 21.9662 -12.09 7.1574 9.2505 21.9991 -12.095 7.2632 9.41967 22.0427 -12.1 7.37238 9.58943 22.097 -12.105 7.4848 9.75942 22.1623 -12.11 7.60029 9.92922 22.2386 -12.115 7.71868 10.0984 22.3262 -12.12 7.83976 10.2665 22.425 -12.125 7.96331 10.4331 22.5352 -12.13 8.08909 10.5976 22.6567 -12.135 8.21683 10.7595 22.7897 -12.14 8.34625 10.9183 22.9341 -12.145 8.47705 11.0732 23.0899 -12.15 8.60889 11.2238 23.257 -12.155 8.74144 11.3693 23.4353 -12.16 8.87432 11.509 23.6248 -12.165 9.00715 11.6424 23.8254 -12.17 9.13951 11.7685 24.0368 -12.175 9.27098 11.8868 24.259 -12.18 9.40142 11.9965 24.4916 -12.185 9.53091 12.0975 24.7342 -12.19 9.65889 12.1886 24.986 -12.195 9.78483 12.2689 25.2461 -12.2 9.90819 12.3376 25.5136 -12.205 10.0285 12.3939 25.7877 -12.21 10.1452 12.4372 26.0675 -12.215 10.2578 12.4669 26.352 -12.22 10.3658 12.4825 26.6403 -12.225 10.4689 12.4835 26.9313 -12.23 10.5665 12.4697 27.224 -12.235 10.6583 12.4407 27.5174 -12.24 10.7438 12.3965 27.8104 -12.245 10.8225 12.3369 28.1018 -12.25 10.8943 12.262 28.3906 -12.255 10.9585 12.1717 28.6755 -12.26 11.015 12.0665 28.9554 -12.265 11.0633 11.9463 29.2289 -12.27 11.1032 11.8117 29.495 -12.275 11.1342 11.663 29.7522 -12.28 11.1562 11.5008 29.9992 -12.285 11.1688 11.3256 30.2347 -12.29 11.1718 11.1376 30.4572 -12.295 11.1652 10.9377 30.6653 -12.3 11.1489 10.7275 30.8586 -12.305 11.123 10.5084 31.0365 -12.31 11.0877 10.282 31.1984 -12.315 11.0431 10.0497 31.3439 -12.32 10.9894 9.81264 31.4727 -12.325 10.9267 9.57222 31.5845 -12.33 10.8553 9.32959 31.6791 -12.335 10.7756 9.08586 31.7564 -12.34 10.6878 8.84209 31.8163 -12.345 10.5922 8.59927 31.8588 -12.35 10.4894 8.35832 31.884 -12.355 10.3796 8.12008 31.892 -12.36 10.2634 7.88535 31.8832 -12.365 10.1413 7.65486 31.8578 -12.37 10.0138 7.42925 31.8162 -12.375 9.88146 7.20911 31.7588 -12.38 9.74492 6.99497 31.6862 -12.385 9.60481 6.78729 31.5989 -12.39 9.46182 6.58645 31.4977 -12.395 9.31664 6.39282 31.3833 -12.4 9.16943 6.20768 31.2572 -12.405 9.02059 6.03172 31.1204 -12.41 8.87068 5.86523 30.9734 -12.415 8.72023 5.70846 30.8169 -12.42 8.56974 5.56159 30.6516 -12.425 8.41971 5.42476 30.478 -12.43 8.27058 5.29806 30.2967 -12.435 8.12281 5.1815 30.1086 -12.44 7.9768 5.07508 29.9141 -12.445 7.83295 4.97871 29.714 -12.45 7.69162 4.89228 29.5089 -12.455 7.55317 4.8156 29.2996 -12.46 7.41792 4.74844 29.0866 -12.465 7.28617 4.69052 28.8706 -12.47 7.15818 4.64151 28.6525 -12.475 7.03423 4.60101 28.4327 -12.48 6.91452 4.56859 28.2121 -12.485 6.79929 4.54375 27.9914 -12.49 6.68869 4.52594 27.7712 -12.495 6.5829 4.51469 27.5521 -12.5 6.48197 4.51024 27.3336 -12.505 6.38595 4.51248 27.1157 -12.51 6.2949 4.5212 26.8988 -12.515 6.20886 4.53619 26.6831 -12.52 6.12787 4.55723 26.4689 -12.525 6.05198 4.58414 26.2565 -12.53 5.9812 4.61672 26.0461 -12.535 5.91556 4.65479 25.8379 -12.54 5.85508 4.69817 25.6323 -12.545 5.79976 4.7467 25.4294 -12.55 5.7496 4.80021 25.2294 -12.555 5.7046 4.85856 25.0326 -12.56 5.66476 4.92159 24.8391 -12.565 5.63004 4.98917 24.6492 -12.57 5.60044 5.06116 24.4629 -12.575 5.57591 5.13745 24.2806 -12.58 5.55643 5.21791 24.1023 -12.585 5.54194 5.30243 23.9281 -12.59 5.5324 5.39092 23.7583 -12.595 5.52768 5.48332 23.593 -12.6 5.52747 5.57974 23.4324 -12.605 5.53183 5.68015 23.2768 -12.61 5.54078 5.78452 23.1262 -12.615 5.55438 5.89281 22.981 -12.62 5.57265 6.00499 22.8411 -12.625 5.5956 6.12101 22.7069 -12.63 5.62324 6.24082 22.5785 -12.635 5.65559 6.36438 22.4562 -12.64 5.69261 6.49164 22.34 -12.645 5.73431 6.62253 22.2303 -12.65 5.78064 6.75701 22.1272 -12.655 5.83158 6.89502 22.0309 -12.66 5.88707 7.03648 21.9418 -12.665 5.94706 7.18134 21.86 -12.67 6.01149 7.32953 21.7858 -12.675 6.08027 7.48096 21.7195 -12.68 6.15334 7.63557 21.6612 -12.685 6.23059 7.79329 21.6113 -12.69 6.31192 7.95402 21.57 -12.695 6.39722 8.11768 21.5376 -12.7 6.48638 8.28419 21.5144 -12.705 6.57925 8.45346 21.5007 -12.71 6.67571 8.6254 21.4968 -12.715 6.7756 8.7999 21.5029 -12.72 6.87878 8.97686 21.5195 -12.725 6.98521 9.15589 21.5459 -12.73 7.09495 9.33656 21.5826 -12.735 7.20799 9.51849 21.6301 -12.74 7.32428 9.70126 21.6888 -12.745 7.44376 9.88442 21.7592 -12.75 7.56636 10.0675 21.8415 -12.755 7.69195 10.25 21.9362 -12.76 7.8204 10.4315 22.0434 -12.765 7.95153 10.6113 22.1633 -12.77 8.08516 10.7889 22.2961 -12.775 8.22105 10.9637 22.4418 -12.78 8.35897 11.1351 22.6004 -12.785 8.49864 11.3024 22.7719 -12.79 8.63975 11.465 22.9561 -12.795 8.78198 11.6221 23.153 -12.8 8.92498 11.7731 23.3622 -12.805 9.06835 11.9172 23.5834 -12.81 9.21171 12.0536 23.8164 -12.815 9.3546 12.1816 24.0607 -12.82 9.49657 12.3002 24.3159 -12.825 9.63713 12.4087 24.5815 -12.83 9.77576 12.5062 24.8568 -12.835 9.91193 12.5918 25.1412 -12.84 10.0451 12.6645 25.4341 -12.845 10.1746 12.7234 25.7346 -12.85 10.3003 12.7676 26.0425 -12.855 10.4221 12.7967 26.3568 -12.86 10.5394 12.8101 26.676 -12.865 10.6513 12.8074 26.9984 -12.87 10.7572 12.7884 27.3224 -12.875 10.8565 12.7527 27.6464 -12.88 10.9486 12.7004 27.969 -12.885 11.0331 12.6313 28.2886 -12.89 11.1093 12.5456 28.604 -12.895 11.177 12.4432 28.9137 -12.9 11.2356 12.3246 29.2165 -12.905 11.285 12.1899 29.5109 -12.91 11.3248 12.0395 29.796 -12.915 11.3547 11.874 30.0704 -12.92 11.3746 11.694 30.333 -12.925 11.3844 11.5 30.5828 -12.93 11.3839 11.2929 30.8188 -12.935 11.3731 11.0734 31.0399 -12.94 11.352 10.8426 31.2453 -12.945 11.3207 10.6013 31.434 -12.95 11.2792 10.3507 31.6052 -12.955 11.2275 10.0924 31.7579 -12.96 11.1653 9.82852 31.891 -12.965 11.0931 9.56055 32.0045 -12.97 11.0112 9.28994 32.0982 -12.975 10.9202 9.01804 32.1722 -12.98 10.8205 8.74613 32.2265 -12.985 10.7126 8.47544 32.2613 -12.99 10.5969 8.20713 32.2768 -12.995 10.474 7.9423 32.2734 -13 10.3444 7.68197 32.2514 -13.005 10.2086 7.42711 32.2114 -13.01 10.0672 7.17863 32.1539 -13.015 9.9208 6.93737 32.0794 -13.02 9.76988 6.70408 31.9887 -13.025 9.61508 6.4795 31.8827 -13.03 9.457 6.26425 31.762 -13.035 9.29626 6.05892 31.6278 -13.04 9.1335 5.86402 31.4809 -13.045 8.96936 5.68001 31.3224 -13.05 8.80452 5.50726 31.1536 -13.055 8.63963 5.34611 30.9757 -13.06 8.47537 5.19599 30.7898 -13.065 8.31223 5.0563 30.5964 -13.07 8.15064 4.92717 30.3962 -13.075 7.99099 4.80868 30.1899 -13.08 7.83367 4.70085 29.9779 -13.085 7.67905 4.60367 29.7609 -13.09 7.52747 4.51708 29.5395 -13.095 7.37927 4.44097 29.3142 -13.1 7.23474 4.3752 29.0855 -13.105 7.09418 4.31955 28.8541 -13.11 6.95785 4.27379 28.6205 -13.115 6.82601 4.23763 28.3851 -13.12 6.69888 4.21074 28.1486 -13.125 6.57668 4.19272 27.9115 -13.13 6.4596 4.18316 27.6742 -13.135 6.34781 4.18159 27.4372 -13.14 6.24146 4.18747 27.2011 -13.145 6.14069 4.20026 26.9664 -13.15 6.04561 4.21934 26.7335 -13.155 5.95631 4.24406 26.5028 -13.16 5.87288 4.27371 26.275 -13.165 5.79537 4.30754 26.0503 -13.17 5.72369 4.34535 25.8289 -13.175 5.65746 4.38839 25.6103 -13.18 5.59666 4.43658 25.3944 -13.185 5.54128 4.48978 25.1815 -13.19 5.49128 4.54784 24.9718 -13.195 5.44665 4.61061 24.7654 -13.2 5.40738 4.67797 24.5626 -13.205 5.37342 4.7498 24.3634 -13.21 5.34474 4.826 24.168 -13.215 5.32132 4.90648 23.9767 -13.22 5.3031 4.99115 23.7897 -13.225 5.29005 5.07994 23.607 -13.23 5.28211 5.1728 23.4288 -13.235 5.27924 5.26966 23.2554 -13.24 5.28138 5.37051 23.0869 -13.245 5.28846 5.4753 22.9235 -13.25 5.30044 5.58402 22.7653 -13.255 5.31723 5.69667 22.6125 -13.26 5.33877 5.81326 22.4654 -13.265 5.36498 5.93381 22.324 -13.27 5.39576 6.05833 22.1885 -13.275 5.43087 6.18672 22.0592 -13.28 5.47031 6.319 21.9363 -13.285 5.51415 6.45519 21.82 -13.29 5.56246 6.59531 21.7105 -13.295 5.6153 6.73936 21.6081 -13.3 5.67269 6.88732 21.513 -13.305 5.73467 7.03916 21.4255 -13.31 5.80125 7.19481 21.3458 -13.315 5.87243 7.35422 21.2742 -13.32 5.9482 7.5173 21.211 -13.325 6.02852 7.68394 21.1563 -13.33 6.11337 7.85403 21.1106 -13.335 6.20268 8.02742 21.0741 -13.34 6.2964 8.20397 21.047 -13.345 6.39444 8.3835 21.0297 -13.35 6.49671 8.56583 21.0224 -13.355 6.60312 8.75075 21.0256 -13.36 6.71354 8.93804 21.0393 -13.365 6.82785 9.12746 21.0641 -13.37 6.9459 9.31876 21.1002 -13.375 7.06754 9.51167 21.1479 -13.38 7.19259 9.7059 21.2075 -13.385 7.32088 9.90114 21.2795 -13.39 7.45222 10.0971 21.3641 -13.395 7.58639 10.2934 21.4616 -13.4 7.7232 10.4898 21.5722 -13.405 7.8626 10.6862 21.6951 -13.41 8.00447 10.8817 21.8307 -13.415 8.14865 11.0753 21.9796 -13.42 8.29495 11.2658 22.142 -13.425 8.44316 11.4525 22.3184 -13.43 8.59303 11.6342 22.5087 -13.435 8.74429 11.8101 22.7132 -13.44 8.89663 11.9792 22.9318 -13.445 9.04972 12.1407 23.1643 -13.45 9.20318 12.2935 23.4105 -13.455 9.35663 12.437 23.67 -13.46 9.50963 12.5701 23.9425 -13.465 9.66173 12.6921 24.2274 -13.47 9.81244 12.8021 24.5239 -13.475 9.96124 12.8994 24.8315 -13.48 10.1076 12.9831 25.1492 -13.485 10.2509 13.0526 25.4761 -13.49 10.3906 13.107 25.8111 -13.495 10.526 13.1456 26.1531 -13.5 10.6565 13.1678 26.5008 -13.505 10.7813 13.1728 26.8528 -13.51 10.8998 13.16 27.2077 -13.515 11.0111 13.1286 27.564 -13.52 11.1145 13.0782 27.9199 -13.525 11.2092 13.008 28.2737 -13.53 11.2949 12.9151 28.6242 -13.535 11.3717 12.7973 28.9705 -13.54 11.4389 12.6573 29.3101 -13.545 11.4961 12.4976 29.641 -13.55 11.5429 12.3205 29.9613 -13.555 11.5789 12.1281 30.2691 -13.56 11.6037 11.9225 30.5628 -13.565 11.6172 11.7054 30.8411 -13.57 11.6193 11.4788 31.1026 -13.575 11.6097 11.2439 31.3462 -13.58 11.5887 11.0023 31.5708 -13.585 11.5561 10.7552 31.7759 -13.59 11.5122 10.5036 31.9606 -13.595 11.4571 10.2484 32.1245 -13.6 11.3912 9.99043 32.2674 -13.605 11.3149 9.73022 32.389 -13.61 11.2285 9.46823 32.4894 -13.615 11.1325 9.20474 32.5688 -13.62 11.0276 8.93986 32.6276 -13.625 10.9143 8.67357 32.6662 -13.63 10.7935 8.40566 32.6853 -13.635 10.6659 8.13579 32.6858 -13.64 10.5323 7.86345 32.6687 -13.645 10.3938 7.58798 32.6352 -13.65 10.2501 7.31285 32.5852 -13.655 10.1 7.04541 32.5175 -13.66 9.94432 6.78659 32.4327 -13.665 9.78387 6.53715 32.3314 -13.67 9.61938 6.29773 32.2142 -13.675 9.45158 6.06893 32.0819 -13.68 9.28116 5.85122 31.9352 -13.685 9.10881 5.64503 31.7748 -13.69 8.93516 5.45067 31.6018 -13.695 8.76086 5.26839 31.4169 -13.7 8.58649 5.09836 31.2212 -13.705 8.41265 4.94063 31.0156 -13.71 8.23986 4.79522 30.8013 -13.715 8.06867 4.66202 30.5793 -13.72 7.89957 4.54086 30.3508 -13.725 7.73304 4.43148 30.117 -13.73 7.56952 4.33354 29.8792 -13.735 7.40944 4.24661 29.6387 -13.74 7.2532 4.17019 29.3969 -13.745 7.10119 4.10371 29.1547 -13.75 6.95374 4.04686 28.9109 -13.755 6.81104 3.99932 28.6655 -13.76 6.67324 3.96078 28.4191 -13.765 6.5405 3.93093 28.1721 -13.77 6.41295 3.90945 27.925 -13.775 6.29071 3.89604 27.6782 -13.78 6.17389 3.89038 27.4319 -13.785 6.06259 3.89217 27.1866 -13.79 5.95688 3.9011 26.9427 -13.795 5.85685 3.91688 26.7003 -13.8 5.76256 3.9392 26.4599 -13.805 5.67404 3.96776 26.2216 -13.81 5.59134 4.00227 25.9858 -13.815 5.51447 4.04243 25.7525 -13.82 5.44345 4.08796 25.5221 -13.825 5.37827 4.13856 25.2947 -13.83 5.31891 4.19394 25.0705 -13.835 5.26535 4.25382 24.8495 -13.84 5.21753 4.31794 24.632 -13.845 5.17517 4.38652 24.4181 -13.85 5.13815 4.45959 24.2081 -13.855 5.10648 4.53705 24.0021 -13.86 5.08015 4.6188 23.8001 -13.865 5.05915 4.70475 23.6024 -13.87 5.04347 4.79483 23.409 -13.875 5.03308 4.88897 23.2202 -13.88 5.02795 4.98712 23.0361 -13.885 5.02806 5.08923 22.8568 -13.89 5.03336 5.19526 22.6824 -13.895 5.04381 5.30519 22.5133 -13.9 5.05937 5.41901 22.3495 -13.905 5.07997 5.53671 22.1913 -13.91 5.10557 5.65831 22.0388 -13.915 5.13609 5.78381 21.8922 -13.92 5.17147 5.91324 21.7518 -13.925 5.21163 6.04664 21.6178 -13.93 5.2565 6.18407 21.4903 -13.935 5.30598 6.32557 21.3696 -13.94 5.35999 6.47122 21.256 -13.945 5.41844 6.62109 21.1496 -13.95 5.48121 6.77528 21.0508 -13.955 5.54821 6.9338 20.9596 -13.96 5.61942 7.09628 20.8764 -13.965 5.69494 7.26267 20.8012 -13.97 5.77483 7.43304 20.7346 -13.975 5.85918 7.60738 20.6769 -13.98 5.94801 7.78567 20.6284 -13.985 6.04136 7.96784 20.5896 -13.99 6.13925 8.15379 20.5607 -13.995 6.24166 8.34339 20.5421 -14 6.34856 8.53645 20.5342 -14.005 6.45993 8.73278 20.5373 -14.01 6.57568 8.93214 20.5517 -14.015 6.69575 9.13423 20.5777 -14.02 6.82005 9.33874 20.6157 -14.025 6.94845 9.54533 20.666 -14.03 7.08082 9.7536 20.7289 -14.035 7.21702 9.96314 20.8047 -14.04 7.35687 10.1735 20.8937 -14.045 7.5002 10.3841 20.9962 -14.05 7.6468 10.5945 21.1125 -14.055 7.79645 10.8042 21.2428 -14.06 7.94892 11.0124 21.3875 -14.065 8.10394 11.2187 21.5468 -14.07 8.26124 11.4222 21.721 -14.075 8.42053 11.6223 21.9103 -14.08 8.58155 11.8184 22.1149 -14.085 8.74418 12.0101 22.3343 -14.09 8.90805 12.1962 22.5684 -14.095 9.07275 12.3752 22.8173 -14.1 9.23785 12.5458 23.0807 -14.105 9.40287 12.7067 23.3585 -14.11 9.56735 12.8568 23.6503 -14.115 9.73078 12.9948 23.9556 -14.12 9.89263 13.1197 24.2737 -14.125 10.0524 13.2304 24.604 -14.13 10.2094 13.326 24.9455 -14.135 10.3632 13.4055 25.2975 -14.14 10.5131 13.4681 25.6587 -14.145 10.6585 13.5131 26.0279 -14.15 10.7988 13.5395 26.404 -14.155 10.9332 13.5469 26.7854 -14.16 11.0611 13.5344 27.1706 -14.165 11.1817 13.5017 27.558 -14.17 11.2944 13.4482 27.9457 -14.175 11.3983 13.3735 28.3319 -14.18 11.4928 13.2771 28.7146 -14.185 11.5771 13.1581 29.0919 -14.19 11.6513 13.0145 29.4621 -14.195 11.7147 12.8482 29.823 -14.2 11.7668 12.6611 30.1727 -14.205 11.8071 12.4552 30.5091 -14.21 11.8351 12.2323 30.8305 -14.215 11.8506 11.9943 31.1352 -14.22 11.8533 11.7427 31.4218 -14.225 11.8432 11.4791 31.6891 -14.23 11.82 11.2052 31.9358 -14.235 11.7839 10.9221 32.1611 -14.24 11.7351 10.6314 32.364 -14.245 11.6736 10.3342 32.544 -14.25 11.5998 10.0317 32.7005 -14.255 11.5142 9.72498 32.8332 -14.26 11.4171 9.41499 32.9419 -14.265 11.3092 9.10264 33.0267 -14.27 11.191 8.78874 33.0876 -14.275 11.0634 8.47403 33.125 -14.28 10.9272 8.15913 33.1393 -14.285 10.7833 7.84461 33.1312 -14.29 10.6321 7.53246 33.1018 -14.295 10.4731 7.22792 33.0523 -14.3 10.307 6.93224 32.9832 -14.305 10.1349 6.64634 32.8949 -14.31 9.95745 6.37104 32.788 -14.315 9.77563 6.10705 32.663 -14.32 9.59023 5.85502 32.5207 -14.325 9.40202 5.61548 32.3618 -14.33 9.21175 5.38888 32.1872 -14.335 9.02016 5.17558 31.9979 -14.34 8.82794 4.97584 31.7949 -14.345 8.63575 4.78984 31.5793 -14.35 8.44423 4.61766 31.3524 -14.355 8.25398 4.45929 31.1155 -14.36 8.0656 4.31463 30.8701 -14.365 7.87962 4.18348 30.6175 -14.37 7.69656 4.06557 30.3594 -14.375 7.51691 3.96051 30.0975 -14.38 7.34113 3.86784 29.8335 -14.385 7.16966 3.78699 29.5692 -14.39 7.0029 3.71731 29.3067 -14.395 6.84124 3.65809 29.0453 -14.4 6.68497 3.60882 28.7826 -14.405 6.53422 3.56909 28.5193 -14.41 6.38914 3.5385 28.2556 -14.415 6.24983 3.51667 27.992 -14.42 6.1164 3.50322 27.7289 -14.425 5.98894 3.49778 27.4667 -14.43 5.86754 3.5 27.2058 -14.435 5.75226 3.5095 26.9464 -14.44 5.64315 3.52597 26.6889 -14.445 5.54025 3.54904 26.4335 -14.45 5.44358 3.5784 26.1806 -14.455 5.35317 3.61373 25.9302 -14.46 5.26901 3.65471 25.6827 -14.465 5.1911 3.70105 25.4382 -14.47 5.1194 3.75243 25.1968 -14.475 5.05387 3.80859 24.9588 -14.48 4.99448 3.86923 24.7241 -14.485 4.94113 3.9341 24.4929 -14.49 4.89353 4.00335 24.2655 -14.495 4.85154 4.07703 24.042 -14.5 4.81513 4.15502 23.8226 -14.505 4.78431 4.23721 23.6073 -14.51 4.75905 4.32351 23.3962 -14.515 4.73932 4.41383 23.1895 -14.52 4.7251 4.50812 22.9873 -14.525 4.71635 4.60633 22.7897 -14.53 4.71303 4.70841 22.5969 -14.535 4.71508 4.81434 22.409 -14.54 4.72247 4.92412 22.2262 -14.545 4.73512 5.03774 22.0487 -14.55 4.75299 5.15523 21.8766 -14.555 4.776 5.27662 21.7101 -14.56 4.80407 5.40196 21.5494 -14.565 4.83713 5.5313 21.3947 -14.57 4.8751 5.66472 21.2461 -14.575 4.91788 5.8023 21.104 -14.58 4.96538 5.94416 20.9685 -14.585 5.01751 6.09039 20.8399 -14.59 5.07414 6.24114 20.7183 -14.595 5.13518 6.39655 20.6041 -14.6 5.20055 6.55659 20.4974 -14.605 5.27037 6.7209 20.3984 -14.61 5.34472 6.88958 20.3075 -14.615 5.4237 7.06269 20.2249 -14.62 5.50735 7.2403 20.151 -14.625 5.59572 7.42241 20.0863 -14.63 5.68886 7.609 20.0309 -14.635 5.78676 7.80002 19.9852 -14.64 5.88945 7.99537 19.9497 -14.645 5.99689 8.19495 19.9247 -14.65 6.10908 8.3986 19.9105 -14.655 6.22597 8.60612 19.9076 -14.66 6.3475 8.81731 19.9162 -14.665 6.4736 9.0319 19.9368 -14.67 6.60419 9.2496 19.9698 -14.675 6.73917 9.47011 20.0155 -14.68 6.87843 9.69305 20.0744 -14.685 7.02183 9.91805 20.1469 -14.69 7.16924 10.1447 20.2333 -14.695 7.32049 10.3725 20.3341 -14.7 7.47542 10.601 20.4497 -14.705 7.63384 10.8297 20.5805 -14.71 7.79554 11.058 20.7269 -14.715 7.96031 11.2853 20.8894 -14.72 8.12795 11.5114 21.0676 -14.725 8.29824 11.7355 21.2615 -14.73 8.47092 11.9561 21.4717 -14.735 8.64571 12.1721 21.6985 -14.74 8.82227 12.382 21.9421 -14.745 9.00022 12.5847 22.2026 -14.75 9.17917 12.7789 22.48 -14.755 9.35866 12.9634 22.774 -14.76 9.53822 13.1369 23.0844 -14.765 9.71732 13.2982 23.4107 -14.77 9.89542 13.4463 23.7522 -14.775 10.0719 13.58 24.1083 -14.78 10.2462 13.6981 24.478 -14.785 10.4175 13.7995 24.8604 -14.79 10.5852 13.8832 25.2541 -14.795 10.7486 13.9481 25.658 -14.8 10.9069 13.9931 26.0707 -14.805 11.0592 14.0173 26.4904 -14.81 11.2046 14.0196 26.9155 -14.815 11.3424 13.9991 27.3442 -14.82 11.4716 13.9549 27.7744 -14.825 11.5912 13.8853 28.2043 -14.83 11.7015 13.7866 28.6331 -14.835 11.8017 13.66 29.058 -14.84 11.8907 13.5077 29.4759 -14.845 11.9679 13.3319 29.8841 -14.85 12.0326 13.1345 30.2798 -14.855 12.0841 12.9175 30.6608 -14.86 12.122 12.6825 31.0248 -14.865 12.1458 12.4314 31.3699 -14.87 12.1555 12.1656 31.6944 -14.875 12.1507 11.8867 31.9968 -14.88 12.1315 11.596 32.2758 -14.885 12.0979 11.2948 32.5305 -14.89 12.05 10.9843 32.7599 -14.895 11.9881 10.6656 32.9635 -14.9 11.9127 10.3395 33.141 -14.905 11.8241 10.007 33.2921 -14.91 11.723 9.66888 33.4171 -14.915 11.6101 9.32569 33.5161 -14.92 11.4861 8.97803 33.5897 -14.925 11.352 8.62634 33.6387 -14.93 11.2088 8.27098 33.6641 -14.935 11.0566 7.91538 33.6662 -14.94 10.8944 7.5668 33.6442 -14.945 10.7231 7.22673 33.5987 -14.95 10.5438 6.89638 33.53 -14.955 10.3575 6.57683 33.439 -14.96 10.1651 6.26907 33.3263 -14.965 9.96749 5.97395 33.1929 -14.97 9.76567 5.69224 33.0398 -14.975 9.56046 5.42458 32.868 -14.98 9.35271 5.17149 32.6788 -14.985 9.14322 4.9334 32.4734 -14.99 8.93277 4.7106 32.2533 -14.995 8.72213 4.50329 32.0199 -15 8.51201 4.31155 31.775 -15.005 8.30312 4.13535 31.5201 -15.01 8.09611 3.97454 31.2572 -15.015 7.89163 3.82887 30.9881 -15.02 7.6903 3.69797 30.7149 -15.025 7.49268 3.58135 30.4397 -15.03 7.29934 3.47842 30.1647 -15.035 7.11088 3.38809 29.8881 -15.04 6.92764 3.30967 29.6091 -15.045 6.74987 3.24269 29.3282 -15.05 6.57778 3.18666 29.0462 -15.055 6.41157 3.14111 28.7635 -15.06 6.25141 3.10558 28.4806 -15.065 6.09747 3.07959 28.1981 -15.07 5.94988 3.06269 27.9162 -15.075 5.80876 3.05439 27.6356 -15.08 5.67422 3.05426 27.3564 -15.085 5.54634 3.06183 27.0791 -15.09 5.42517 3.07665 26.804 -15.095 5.31075 3.09826 26.5312 -15.1 5.20312 3.12622 26.2611 -15.105 5.10227 3.16008 25.9937 -15.11 5.00818 3.1994 25.7294 -15.115 4.92082 3.24373 25.4682 -15.12 4.84013 3.29265 25.2101 -15.125 4.76588 3.34614 24.9554 -15.13 4.69786 3.40435 24.7043 -15.135 4.636 3.46711 24.4568 -15.14 4.58026 3.53423 24.2131 -15.145 4.53059 3.60558 23.9733 -15.15 4.48691 3.68103 23.7374 -15.155 4.44916 3.76045 23.5056 -15.16 4.41727 3.84376 23.2779 -15.165 4.39118 3.9309 23.0546 -15.17 4.37081 4.0218 22.8357 -15.175 4.35607 4.11643 22.6213 -15.18 4.34688 4.21478 22.4116 -15.185 4.34315 4.31685 22.2067 -15.19 4.3448 4.42267 22.0067 -15.195 4.35173 4.53229 21.8118 -15.2 4.36383 4.64576 21.6222 -15.205 4.38101 4.76317 21.4379 -15.21 4.40315 4.88462 21.2592 -15.215 4.43016 5.01023 21.0861 -15.22 4.46191 5.14015 20.9189 -15.225 4.49828 5.27449 20.7577 -15.23 4.53919 5.41315 20.6028 -15.235 4.58472 5.55619 20.4543 -15.24 4.63493 5.70372 20.3125 -15.245 4.68992 5.85583 20.1776 -15.25 4.74974 6.0126 20.0497 -15.255 4.81444 6.17409 19.9291 -15.26 4.88407 6.34037 19.8161 -15.265 4.95867 6.51146 19.7109 -15.27 5.03826 6.6874 19.6139 -15.275 5.12285 6.86821 19.5252 -15.28 5.21246 7.05388 19.4453 -15.285 5.30708 7.2444 19.3745 -15.29 5.40669 7.43975 19.3132 -15.295 5.51128 7.63989 19.2616 -15.3 5.62081 7.84476 19.2203 -15.305 5.73525 8.05431 19.1896 -15.31 5.85453 8.26846 19.17 -15.315 5.97861 8.48712 19.1619 -15.32 6.10741 8.71018 19.1658 -15.325 6.24085 8.93753 19.1821 -15.33 6.37884 9.16905 19.2114 -15.335 6.52129 9.40457 19.2542 -15.34 6.66809 9.64396 19.311 -15.345 6.81907 9.88697 19.3819 -15.35 6.97406 10.133 19.4663 -15.355 7.13316 10.3813 19.5652 -15.36 7.2964 10.6315 19.6795 -15.365 7.46377 10.8828 19.8101 -15.37 7.63522 11.1344 19.9579 -15.375 7.81064 11.3855 20.1235 -15.38 7.98988 11.6354 20.3073 -15.385 8.17273 11.8831 20.5099 -15.39 8.35893 12.1275 20.7315 -15.395 8.54817 12.3678 20.9723 -15.4 8.74011 12.6028 21.2324 -15.405 8.93432 12.8314 21.5118 -15.41 9.13036 13.0523 21.8103 -15.415 9.32771 13.2644 22.1275 -15.42 9.52582 13.4663 22.4632 -15.425 9.72407 13.6566 22.8168 -15.43 9.92182 13.834 23.1877 -15.435 10.1183 13.9969 23.5752 -15.44 10.3129 14.1438 23.9783 -15.445 10.5046 14.2731 24.3962 -15.45 10.6927 14.3831 24.8277 -15.455 10.8762 14.4722 25.2717 -15.46 11.0543 14.5386 25.7267 -15.465 11.2257 14.5804 26.1914 -15.47 11.3902 14.596 26.6648 -15.475 11.5474 14.5847 27.1451 -15.48 11.6961 14.546 27.6292 -15.485 11.8352 14.4798 28.1139 -15.49 11.9635 14.3861 28.5961 -15.495 12.0802 14.2648 29.0731 -15.5 12.1842 14.1163 29.542 -15.505 12.2749 13.941 30.0002 -15.51 12.3514 13.7393 30.4454 -15.515 12.4134 13.5121 30.8752 -15.52 12.4602 13.2602 31.2873 -15.525 12.4914 12.9846 31.6799 -15.53 12.5069 12.6865 32.051 -15.535 12.5063 12.3673 32.3988 -15.54 12.4896 12.0284 32.7217 -15.545 12.4569 11.6716 33.0183 -15.55 12.4082 11.2985 33.2872 -15.555 12.3437 10.9113 33.5273 -15.56 12.2638 10.5119 33.7374 -15.565 12.1681 10.1044 33.9159 -15.57 12.0568 9.69249 34.0622 -15.575 11.9307 9.27866 34.1763 -15.58 11.7907 8.86535 34.2588 -15.585 11.6375 8.45484 34.31 -15.59 11.4722 8.04924 34.3308 -15.595 11.2955 7.65055 34.3217 -15.6 11.1084 7.26057 34.2838 -15.605 10.9118 6.88098 34.218 -15.61 10.7066 6.51332 34.1257 -15.615 10.4938 6.15896 34.008 -15.62 10.2745 5.81912 33.8665 -15.625 10.0495 5.4949 33.7027 -15.63 9.81993 5.18721 33.5185 -15.635 9.58682 4.89685 33.3155 -15.64 9.35122 4.62444 33.0959 -15.645 9.1142 4.37047 32.8619 -15.65 8.87687 4.13528 32.6156 -15.655 8.64029 3.91833 32.3589 -15.66 8.40525 3.71831 32.0926 -15.665 8.17245 3.53504 31.8177 -15.67 7.94254 3.36832 31.5353 -15.675 7.71614 3.21785 31.2463 -15.68 7.49381 3.0833 30.9519 -15.685 7.27609 2.96425 30.6529 -15.69 7.06345 2.86024 30.3501 -15.695 6.85635 2.77071 30.0445 -15.7 6.65519 2.69507 29.7368 -15.705 6.46032 2.63265 29.4279 -15.71 6.27208 2.58272 29.1183 -15.715 6.09074 2.54447 28.8088 -15.72 5.91654 2.51706 28.5001 -15.725 5.74967 2.49955 28.1927 -15.73 5.59029 2.49095 27.8872 -15.735 5.4385 2.49021 27.584 -15.74 5.29439 2.49621 27.2837 -15.745 5.15798 2.50777 26.9867 -15.75 5.02913 2.52473 26.6929 -15.755 4.90757 2.54809 26.402 -15.76 4.79321 2.57749 26.1141 -15.765 4.68598 2.61256 25.8293 -15.77 4.5858 2.65297 25.5478 -15.775 4.49257 2.69842 25.2697 -15.78 4.40621 2.74863 24.9952 -15.785 4.3266 2.80335 24.7242 -15.79 4.25366 2.86236 24.457 -15.795 4.18727 2.92547 24.1937 -15.8 4.12732 2.99251 23.9342 -15.805 4.0737 3.06334 23.6788 -15.81 4.02627 3.13785 23.4276 -15.815 3.98492 3.21595 23.1805 -15.82 3.94951 3.29758 22.9376 -15.825 3.91991 3.38272 22.6992 -15.83 3.89597 3.47137 22.4651 -15.835 3.87755 3.56354 22.2354 -15.84 3.8644 3.65931 22.0104 -15.845 3.85642 3.75872 21.7901 -15.85 3.85361 3.86176 21.5746 -15.855 3.85596 3.96845 21.364 -15.86 3.86346 4.0788 21.1583 -15.865 3.87609 4.19287 20.9577 -15.87 3.89384 4.31069 20.7623 -15.875 3.91669 4.43233 20.5721 -15.88 3.9446 4.55787 20.3874 -15.885 3.97756 4.6874 20.2083 -15.89 4.01552 4.82101 20.0349 -15.895 4.05844 4.95882 19.8675 -15.9 4.10628 5.10096 19.7062 -15.905 4.15901 5.24756 19.5513 -15.91 4.21655 5.39877 19.4029 -15.915 4.27886 5.55475 19.2613 -15.92 4.34589 5.71569 19.1267 -15.925 4.41755 5.88177 18.9995 -15.93 4.4938 6.05319 18.8798 -15.935 4.57455 6.23016 18.7681 -15.94 4.65978 6.4128 18.6644 -15.945 4.74972 6.60079 18.5692 -15.95 4.84451 6.79425 18.4828 -15.955 4.94423 6.99336 18.4055 -15.96 5.04896 7.19823 18.3378 -15.965 5.15876 7.40896 18.2801 -15.97 5.2737 7.62556 18.2327 -15.975 5.39381 7.84804 18.1963 -15.98 5.51913 8.07636 18.1712 -15.985 5.64967 8.31042 18.1579 -15.99 5.78546 8.55009 18.1569 -15.995 5.92649 8.7952 18.1688 -16 6.07274 9.04553 18.194 -16.005 6.22419 9.30083 18.2332 -16.01 6.3808 9.5608 18.2869 -16.015 6.54254 9.82509 18.3557 -16.02 6.70933 10.0933 18.4401 -16.025 6.88112 10.3651 18.541 -16.03 7.05781 10.6399 18.6587 -16.035 7.23933 10.9172 18.7941 -16.04 7.42556 11.1965 18.9478 -16.045 7.61617 11.4775 19.1196 -16.05 7.81092 11.7593 19.3096 -16.055 8.00969 12.0406 19.5191 -16.06 8.21232 12.3202 19.749 -16.065 8.41859 12.5967 19.9999 -16.07 8.6282 12.8688 20.2726 -16.075 8.84081 13.1349 20.5673 -16.08 9.056 13.3937 20.8843 -16.085 9.2733 13.6436 21.2236 -16.09 9.49215 13.883 21.5851 -16.095 9.71197 14.1104 21.9683 -16.1 9.93208 14.3241 22.3729 -16.105 10.1518 14.5225 22.7981 -16.11 10.3702 14.7038 23.243 -16.115 10.5866 14.8662 23.7065 -16.12 10.8 15.008 24.1875 -16.125 11.0094 15.1273 24.6845 -16.13 11.2138 15.2222 25.196 -16.135 11.4121 15.2908 25.72 -16.14 11.6031 15.3312 26.2547 -16.145 11.7856 15.3412 26.7979 -16.15 11.9591 15.3187 27.3483 -16.155 12.1229 15.2628 27.9033 -16.16 12.2756 15.1734 28.459 -16.165 12.4158 15.0508 29.0113 -16.17 12.5423 14.8953 29.5564 -16.175 12.654 14.7074 30.091 -16.18 12.7499 14.4879 30.6116 -16.185 12.8292 14.2377 31.1152 -16.19 12.8911 13.9579 31.599 -16.195 12.9351 13.6496 32.0602 -16.2 12.9608 13.3144 32.4964 -16.205 12.9678 12.9538 32.9053 -16.21 12.956 12.5696 33.285 -16.215 12.9254 12.1638 33.6335 -16.22 12.8761 11.7384 33.9495 -16.225 12.8082 11.2958 34.2313 -16.23 12.7222 10.8385 34.4779 -16.235 12.6186 10.3692 34.6882 -16.24 12.4968 9.89323 34.8607 -16.245 12.3575 9.41497 34.9951 -16.25 12.2015 8.93743 35.0919 -16.255 12.0301 8.46343 35.1518 -16.26 11.8443 7.9956 35.1758 -16.265 11.6452 7.53638 35.1647 -16.27 11.4339 7.088 35.1199 -16.275 11.2116 6.6525 35.0427 -16.28 10.9793 6.23171 34.9346 -16.285 10.7383 5.82727 34.7973 -16.29 10.4898 5.44062 34.6327 -16.295 10.2348 5.07301 34.4428 -16.3 9.97471 4.72549 34.2299 -16.305 9.71068 4.39889 33.9962 -16.31 9.44397 4.09386 33.7445 -16.315 9.17584 3.81086 33.4772 -16.32 8.90755 3.55013 33.1974 -16.325 8.64037 3.31106 32.9073 -16.33 8.37522 3.09195 32.6072 -16.335 8.11291 2.89238 32.2986 -16.34 7.85419 2.71193 31.9826 -16.345 7.59974 2.55008 31.6605 -16.35 7.35021 2.40627 31.3334 -16.355 7.10619 2.27988 31.0023 -16.36 6.86821 2.17019 30.6683 -16.365 6.63676 2.07646 30.3322 -16.37 6.41226 1.99784 29.9951 -16.375 6.1951 1.93344 29.6576 -16.38 5.9856 1.8823 29.3206 -16.385 5.78402 1.84339 28.9847 -16.39 5.5906 1.81563 28.6505 -16.395 5.40549 1.79784 28.3185 -16.4 5.22881 1.7888 27.9893 -16.405 5.06062 1.78723 27.6633 -16.41 4.90093 1.79177 27.3408 -16.415 4.74956 1.8025 27.0218 -16.42 4.60628 1.81996 26.706 -16.425 4.47098 1.84365 26.3937 -16.43 4.34356 1.87312 26.0848 -16.435 4.22389 1.90794 25.7795 -16.44 4.11185 1.94773 25.4779 -16.445 4.0073 1.99213 25.1801 -16.45 3.91011 2.04082 24.8862 -16.455 3.82014 2.0935 24.5961 -16.46 3.73724 2.14994 24.3101 -16.465 3.66125 2.20991 24.0281 -16.47 3.59201 2.27323 23.7502 -16.475 3.52935 2.33975 23.4764 -16.48 3.4731 2.40936 23.2068 -16.485 3.42308 2.48197 22.9413 -16.49 3.37911 2.55753 22.6801 -16.495 3.34099 2.63605 22.423 -16.5 3.30845 2.71755 22.1702 -16.505 3.28135 2.80203 21.9218 -16.51 3.25965 2.88946 21.6778 -16.515 3.24327 2.97983 21.4382 -16.52 3.23218 3.07316 21.203 -16.525 3.22629 3.16946 20.9722 -16.53 3.22555 3.26879 20.7461 -16.535 3.2299 3.37121 20.5245 -16.54 3.23926 3.47681 20.3077 -16.545 3.25355 3.58567 20.0956 -16.55 3.27272 3.69794 19.8885 -16.555 3.29667 3.81373 19.6863 -16.56 3.32533 3.93321 19.4892 -16.565 3.35862 4.05655 19.2973 -16.57 3.39645 4.18395 19.1108 -16.575 3.43873 4.31561 18.9297 -16.58 3.48537 4.45176 18.7544 -16.585 3.53628 4.59266 18.5848 -16.59 3.5914 4.73851 18.4212 -16.595 3.65093 4.88927 18.2639 -16.6 3.71497 5.04509 18.1129 -16.605 3.78359 5.20618 17.9686 -16.61 3.85685 5.37272 17.831 -16.615 3.93482 5.54488 17.7006 -16.62 4.01757 5.72283 17.5774 -16.625 4.10515 5.90674 17.4619 -16.63 4.19764 6.09676 17.3543 -16.635 4.29509 6.29301 17.2551 -16.64 4.39757 6.49564 17.1645 -16.645 4.50514 6.70477 17.0829 -16.65 4.61786 6.9205 17.0109 -16.655 4.7358 7.14295 16.9488 -16.66 4.859 7.37219 16.8972 -16.665 4.98754 7.60833 16.8565 -16.67 5.12147 7.85142 16.8272 -16.675 5.26085 8.10154 16.81 -16.68 5.40574 8.35874 16.8053 -16.685 5.55591 8.6224 16.8133 -16.69 5.71113 8.89175 16.8339 -16.695 5.87171 9.1671 16.8683 -16.7 6.03792 9.44865 16.9177 -16.705 6.20995 9.73646 16.9832 -16.71 6.38796 10.0304 17.0658 -16.715 6.57204 10.3304 17.1664 -16.72 6.76223 10.6359 17.2861 -16.725 6.95852 10.9465 17.4255 -16.73 7.16086 11.2616 17.5856 -16.735 7.36912 11.5804 17.7669 -16.74 7.58313 11.902 17.9703 -16.745 7.80267 12.2254 18.1962 -16.75 8.02746 12.5493 18.4452 -16.755 8.25717 12.8725 18.7178 -16.76 8.49142 13.1935 19.0144 -16.765 8.72976 13.5107 19.3353 -16.77 8.9717 13.8224 19.6809 -16.775 9.21671 14.1268 20.0513 -16.78 9.46417 14.4217 20.4467 -16.785 9.71345 14.7052 20.8672 -16.79 9.96382 14.9748 21.313 -16.795 10.2145 15.2283 21.7838 -16.8 10.4648 15.463 22.2797 -16.805 10.7137 15.6763 22.8005 -16.81 10.9604 15.8653 23.3461 -16.815 11.204 16.0283 23.9155 -16.82 11.4436 16.1642 24.5062 -16.825 11.6776 16.2698 25.115 -16.83 11.9043 16.3422 25.7387 -16.835 12.1224 16.379 26.3743 -16.84 12.3303 16.3783 27.0183 -16.845 12.5268 16.3384 27.6675 -16.85 12.7104 16.2581 28.3184 -16.855 12.8799 16.1365 28.9675 -16.86 13.0341 15.9732 29.6113 -16.865 13.1718 15.768 30.2461 -16.87 13.2918 15.5213 30.8681 -16.875 13.3932 15.2337 31.4736 -16.88 13.4749 14.9064 32.0588 -16.885 13.5359 14.5408 32.6196 -16.89 13.5754 14.1388 33.1521 -16.895 13.5924 13.7026 33.6523 -16.9 13.5863 13.2341 34.1149 -16.905 13.5568 12.7359 34.5355 -16.91 13.504 12.2138 34.913 -16.915 13.4281 11.6733 35.2466 -16.92 13.3297 11.1197 35.5357 -16.925 13.2091 10.5576 35.78 -16.93 13.067 9.99154 35.9796 -16.935 12.9043 9.42556 36.1345 -16.94 12.7219 8.86334 36.2452 -16.945 12.5208 8.30821 36.3123 -16.95 12.3021 7.76314 36.3367 -16.955 12.0673 7.23072 36.3194 -16.96 11.8177 6.71318 36.2619 -16.965 11.555 6.21239 36.1655 -16.97 11.2808 5.72985 36.0323 -16.975 10.997 5.26669 35.8641 -16.98 10.7055 4.82369 35.6633 -16.985 10.4081 4.40228 35.433 -16.99 10.1052 4.00622 35.1786 -16.995 9.79838 3.63623 34.9024 -17 9.48916 3.29255 34.607 -17.005 9.17897 2.97523 34.2945 -17.01 8.86915 2.68409 33.9671 -17.015 8.56094 2.41878 33.6268 -17.02 8.25548 2.17871 33.2759 -17.025 7.95382 1.96311 32.9161 -17.03 7.65693 1.77099 32.5494 -17.035 7.36567 1.60116 32.1777 -17.04 7.0808 1.45222 31.8027 -17.045 6.80299 1.32258 31.426 -17.05 6.53283 1.21042 31.0494 -17.055 6.27079 1.11375 30.6743 -17.06 6.01732 1.03191 30.3008 -17.065 5.77269 0.96447 29.9288 -17.07 5.53705 0.910347 29.5587 -17.075 5.31053 0.868492 29.1912 -17.08 5.09322 0.83791 28.8265 -17.085 4.88518 0.81765 28.4651 -17.09 4.68644 0.806811 28.1073 -17.095 4.497 0.80454 27.7533 -17.1 4.31683 0.810033 27.4033 -17.105 4.14587 0.822532 27.0575 -17.11 3.98402 0.841329 26.716 -17.115 3.83115 0.865763 26.3788 -17.12 3.68711 0.895221 26.0461 -17.125 3.55171 0.929139 25.7176 -17.13 3.42469 0.967039 25.3934 -17.135 3.30568 1.00866 25.0736 -17.14 3.19449 1.05368 24.7582 -17.145 3.09091 1.10178 24.4472 -17.15 2.99477 1.15267 24.1404 -17.155 2.90588 1.20609 23.838 -17.16 2.82402 1.26182 23.5398 -17.165 2.74901 1.31968 23.2458 -17.17 2.68063 1.37951 22.9561 -17.175 2.61867 1.44118 22.6706 -17.18 2.56292 1.5046 22.3892 -17.185 2.51315 1.56972 22.112 -17.19 2.46915 1.63649 21.839 -17.195 2.43067 1.70494 21.57 -17.2 2.39749 1.77509 21.3052 -17.205 2.36937 1.84702 21.0444 -17.21 2.34607 1.92083 20.7878 -17.215 2.32733 1.99666 20.5352 -17.22 2.31295 2.07462 20.2867 -17.225 2.30286 2.15475 20.0423 -17.23 2.29706 2.23706 19.802 -17.235 2.29552 2.32161 19.5658 -17.24 2.29822 2.40846 19.3337 -17.245 2.30514 2.49768 19.1057 -17.25 2.31623 2.58938 18.8819 -17.255 2.33148 2.68367 18.6623 -17.26 2.35084 2.78069 18.4469 -17.265 2.37426 2.88059 18.2358 -17.27 2.4017 2.98355 18.0291 -17.275 2.43312 3.08975 17.8267 -17.28 2.46845 3.19939 17.6289 -17.285 2.50764 3.31272 17.4356 -17.29 2.55063 3.42996 17.247 -17.295 2.59735 3.55139 17.0631 -17.3 2.64773 3.67727 16.8842 -17.305 2.7017 3.80792 16.7103 -17.31 2.75918 3.94365 16.5415 -17.315 2.82035 4.08453 16.3781 -17.32 2.8855 4.23062 16.2202 -17.325 2.9547 4.38218 16.0679 -17.33 3.02806 4.53945 15.9215 -17.335 3.10566 4.70268 15.7811 -17.34 3.18761 4.87212 15.6469 -17.345 3.27401 5.048 15.5192 -17.35 3.36497 5.23056 15.3984 -17.355 3.4606 5.42004 15.2846 -17.36 3.56101 5.61668 15.1782 -17.365 3.66632 5.8207 15.0797 -17.37 3.77665 6.03234 14.9894 -17.375 3.89213 6.25181 14.9077 -17.38 4.01288 6.47934 14.8351 -17.385 4.13904 6.71515 14.7722 -17.39 4.27074 6.95946 14.7193 -17.395 4.40813 7.21248 14.6771 -17.4 4.55134 7.47443 14.6461 -17.405 4.70039 7.74499 14.6268 -17.41 4.85521 8.0233 14.6195 -17.415 5.01613 8.30999 14.6252 -17.42 5.18343 8.60562 14.6449 -17.425 5.35737 8.9106 14.6796 -17.43 5.53817 9.22518 14.7303 -17.435 5.726 9.54945 14.7978 -17.44 5.921 9.88333 14.8834 -17.445 6.12324 10.2266 14.9878 -17.45 6.33278 10.5789 15.1122 -17.455 6.54963 10.9397 15.2576 -17.46 6.77375 11.3082 15.425 -17.465 7.00507 11.6837 15.6153 -17.47 7.24346 12.0651 15.8297 -17.475 7.48877 12.4512 16.0691 -17.48 7.74079 12.8407 16.3346 -17.485 7.99929 13.2322 16.6272 -17.49 8.26398 13.6239 16.9479 -17.495 8.53454 14.0142 17.2978 -17.5 8.81059 14.401 17.678 -17.505 9.09173 14.7822 18.0895 -17.51 9.37751 15.1555 18.5333 -17.515 9.66743 15.5186 19.0105 -17.52 9.96097 15.8688 19.5222 -17.525 10.2574 16.2041 20.0688 -17.53 10.5555 16.5226 20.6485 -17.535 10.8539 16.8197 21.2608 -17.54 11.1515 17.0909 21.905 -17.545 11.4469 17.3321 22.5798 -17.55 11.7386 17.5392 23.2835 -17.555 12.0252 17.7088 24.0139 -17.56 12.3051 17.8375 24.7685 -17.565 12.5767 17.9222 25.544 -17.57 12.8384 17.9602 26.3371 -17.575 13.0882 17.9492 27.1436 -17.58 13.3244 17.8869 27.9591 -17.585 13.5451 17.7716 28.7786 -17.59 13.7482 17.6017 29.5968 -17.595 13.9317 17.376 30.4079 -17.6 14.0935 17.0935 31.2055 -17.605 14.232 16.7513 31.9832 -17.61 14.3464 16.3479 32.7348 -17.615 14.4349 15.89 33.4541 -17.62 14.4961 15.384 34.1351 -17.625 14.5288 14.8362 34.7728 -17.63 14.5321 14.2523 35.3627 -17.635 14.5056 13.6379 35.9008 -17.64 14.4491 12.9983 36.3841 -17.645 14.3626 12.3381 36.81 -17.65 14.2465 11.662 37.1764 -17.655 14.1017 10.9742 37.4822 -17.66 13.9291 10.2784 37.7267 -17.665 13.7302 9.57831 37.91 -17.67 13.5066 8.87701 38.0326 -17.675 13.2604 8.17737 38.0959 -17.68 12.9938 7.48195 38.1018 -17.685 12.7079 6.79849 38.0534 -17.69 12.4028 6.13795 37.9542 -17.695 12.0811 5.50377 37.8075 -17.7 11.745 4.89884 37.6164 -17.705 11.3967 4.32555 37.3844 -17.71 11.0386 3.78579 37.1152 -17.715 10.6726 3.28093 36.8123 -17.72 10.3008 2.81188 36.4796 -17.725 9.92515 2.37902 36.1211 -17.73 9.54752 1.98224 35.7409 -17.735 9.16968 1.62093 35.3433 -17.74 8.79333 1.29397 34.9325 -17.745 8.42011 0.999766 34.5131 -17.75 8.05156 0.736216 34.0897 -17.755 7.68906 0.501758 33.6625 -17.76 7.3336 0.294952 33.2317 -17.765 6.98604 0.114087 32.799 -17.77 6.64715 -0.0425362 32.3658 -17.775 6.31762 -0.176604 31.9335 -17.78 5.99803 -0.289794 31.5031 -17.785 5.68887 -0.383768 31.0757 -17.79 5.39057 -0.460182 30.6522 -17.795 5.10344 -0.520675 30.2332 -17.8 4.8277 -0.566878 29.8192 -17.805 4.56351 -0.600409 29.4107 -17.81 4.3109 -0.622875 29.0078 -17.815 4.06983 -0.63587 28.6107 -17.82 3.84018 -0.640814 28.2192 -17.825 3.62172 -0.638208 27.8337 -17.83 3.41421 -0.628884 27.454 -17.835 3.2174 -0.613709 27.0802 -17.84 3.03102 -0.593485 26.7122 -17.845 2.85479 -0.568954 26.3498 -17.85 2.68842 -0.540795 25.9931 -17.855 2.53161 -0.509625 25.642 -17.86 2.38405 -0.475999 25.2962 -17.865 2.2454 -0.44041 24.9559 -17.87 2.11532 -0.403287 24.6207 -17.875 1.99346 -0.365 24.2907 -17.88 1.87946 -0.325854 23.9657 -17.885 1.77293 -0.286093 23.6455 -17.89 1.67348 -0.24591 23.33 -17.895 1.58075 -0.205512 23.0192 -17.9 1.49444 -0.165071 22.7129 -17.905 1.4143 -0.124735 22.411 -17.91 1.34005 -0.0846284 22.1134 -17.915 1.27141 -0.0448515 21.8201 -17.92 1.20813 -0.00548279 21.531 -17.925 1.14992 0.0334221 21.2459 -17.93 1.09652 0.0718306 20.9648 -17.935 1.04766 0.109733 20.6877 -17.94 1.00307 0.147141 20.4144 -17.945 0.962481 0.184093 20.1448 -17.95 0.925619 0.220645 19.879 -17.955 0.892219 0.256879 19.6168 -17.96 0.86207 0.292855 19.3582 -17.965 0.835064 0.328574 19.1031 -17.97 0.811079 0.364066 18.8515 -17.975 0.789991 0.399366 18.6033 -17.98 0.771679 0.434524 18.3585 -17.985 0.756023 0.469594 18.1171 -17.99 0.742902 0.504643 17.8789 -17.995 0.732198 0.539746 17.6441 -18 0.723794 0.574987 17.4124 -18.005 0.71757 0.61046 17.1839 -18.01 0.713413 0.646267 16.9586 -18.015 0.711206 0.682523 16.7363 -18.02 0.710834 0.719347 16.5171 -18.025 0.71219 0.756869 16.301 -18.03 0.715241 0.795169 16.0878 -18.035 0.719981 0.834308 15.8777 -18.04 0.726399 0.874357 15.6704 -18.045 0.734481 0.915396 15.4661 -18.05 0.744217 0.957512 15.2647 -18.055 0.755596 1.0008 15.0662 -18.06 0.768609 1.04536 14.8705 -18.065 0.783246 1.0913 14.6777 -18.07 0.799499 1.13875 14.4877 -18.075 0.817359 1.18782 14.3005 -18.08 0.836821 1.23865 14.116 -18.085 0.857877 1.29138 13.9344 -18.09 0.880521 1.34615 13.7555 -18.095 0.904749 1.40314 13.5794 -18.1 0.930557 1.46249 13.4061 -18.105 0.957999 1.52434 13.2356 -18.11 0.987165 1.58881 13.0678 -18.115 1.01811 1.65602 12.9028 -18.12 1.05088 1.72613 12.7407 -18.125 1.08555 1.7993 12.5813 -18.13 1.12217 1.87568 12.4247 -18.135 1.16082 1.95545 12.271 -18.14 1.20158 2.0388 12.1202 -18.145 1.24452 2.12593 11.9723 -18.15 1.28974 2.21704 11.8273 -18.155 1.33731 2.31234 11.6854 -18.16 1.38734 2.41207 11.5466 -18.165 1.43992 2.51645 11.4109 -18.17 1.49515 2.62573 11.2785 -18.175 1.55316 2.74017 11.1494 -18.18 1.61405 2.86003 11.0238 -18.185 1.67793 2.98559 10.9017 -18.19 1.74494 3.11712 10.7832 -18.195 1.81535 3.25454 10.6689 -18.2 1.88946 3.39778 10.5589 -18.205 1.96737 3.54741 10.4534 -18.21 2.04916 3.70398 10.3523 -18.215 2.13497 3.86804 10.2556 -18.22 2.22492 4.04009 10.1635 -18.225 2.31916 4.22064 10.0762 -18.23 2.41785 4.41017 9.99387 -18.235 2.52117 4.60914 9.91681 -18.24 2.62931 4.81802 9.84538 -18.245 2.74247 5.03722 9.78 -18.25 2.86087 5.26718 9.72112 -18.255 2.98475 5.50828 9.66928 -18.26 3.11435 5.76091 9.62505 -18.265 3.24994 6.02543 9.58907 -18.27 3.39179 6.30219 9.56205 -18.275 3.54019 6.59153 9.54473 -18.28 3.69546 6.89375 9.53794 -18.285 3.85791 7.20916 9.54255 -18.29 4.02787 7.53803 9.55948 -18.295 4.2057 7.88063 9.58972 -18.3 4.39177 8.23721 9.63432 -18.305 4.58644 8.60799 9.69439 -18.31 4.79011 8.99318 9.77108 -18.315 5.00319 9.39299 9.86561 -18.32 5.22611 9.80759 9.97927 -18.325 5.45929 10.2371 10.1134 -18.33 5.70295 10.6815 10.2692 -18.335 5.95624 11.1394 10.4479 -18.34 6.21954 11.6111 10.6518 -18.345 6.49337 12.0969 10.8836 -18.35 6.77812 12.5967 11.1456 -18.355 7.07405 13.1099 11.4402 -18.36 7.38129 13.6354 11.7697 -18.365 7.69984 14.1718 12.1364 -18.37 8.02957 14.7172 12.5422 -18.375 8.37022 15.2695 12.9893 -18.38 8.7214 15.8258 13.4795 -18.385 9.0826 16.3831 14.0147 -18.39 9.45316 16.9379 14.5968 -18.395 9.83232 17.4861 15.2272 -18.4 10.2192 18.0234 15.9077 -18.405 10.6127 18.5449 16.6398 -18.41 11.0117 19.0455 17.4247 -18.415 11.4148 19.5196 18.264 -18.42 11.8208 19.9609 19.1588 -18.425 12.228 20.3643 20.1095 -18.43 12.6343 20.7256 21.1129 -18.435 13.0371 21.0351 22.1654 -18.44 13.4335 21.2836 23.2627 -18.445 13.8206 21.4631 24.3998 -18.45 14.1954 21.5665 25.5708 -18.455 14.5547 21.5878 26.7688 -18.46 14.8956 21.5221 27.9862 -18.465 15.2148 21.3653 29.2146 -18.47 15.509 21.1147 30.4445 -18.475 15.7748 20.7682 31.6657 -18.48 16.0089 20.3252 32.8672 -18.485 16.2078 19.7858 34.037 -18.49 16.3679 19.1512 35.1625 -18.495 16.4864 18.4197 36.229 -18.5 16.5618 17.5932 37.2234 -18.505 16.5923 16.6883 38.1376 -18.51 16.5763 15.721 38.9648 -18.515 16.513 14.7059 39.6997 -18.52 16.4023 13.6564 40.3377 -18.525 16.2444 12.5844 40.8758 -18.53 16.0402 11.5007 41.3118 -18.535 15.7915 10.4146 41.6451 -18.54 15.5002 9.33435 41.8759 -18.545 15.1692 8.26663 42.0058 -18.55 14.8019 7.21693 42.0374 -18.555 14.4021 6.18941 41.9747 -18.56 13.9744 5.18695 41.8228 -18.565 13.5217 4.22079 41.5903 -18.57 13.045 3.30865 41.2888 -18.575 12.5486 2.45464 40.9262 -18.58 12.0364 1.66164 40.5104 -18.585 11.5123 0.931465 40.0491 -18.59 10.9799 0.264835 39.5498 -18.595 10.4426 -0.338607 39.02 -18.6 9.90344 -0.8803 38.4669 -18.605 9.3655 -1.36277 37.8977 -18.61 8.8315 -1.78961 37.3194 -18.615 8.304 -2.1655 36.7389 -18.62 7.78525 -2.49376 36.1593 -18.625 7.27697 -2.77706 35.5821 -18.63 6.78066 -3.01913 35.0097 -18.635 6.29759 -3.22357 34.4445 -18.64 5.82886 -3.39392 33.8884 -18.645 5.37539 -3.5336 33.3429 -18.65 4.93787 -3.64594 32.8091 -18.655 4.51683 -3.73418 32.288 -18.66 4.11261 -3.80146 31.7798 -18.665 3.72532 -3.85081 31.2848 -18.67 3.35494 -3.88517 30.8025 -18.675 3.00143 -3.90681 30.3333 -18.68 2.66448 -3.91754 29.8769 -18.685 2.34367 -3.91911 29.4327 -18.69 2.03853 -3.91316 29.0005 -18.695 1.74862 -3.90121 28.5797 -18.7 1.47342 -3.88467 28.17 -18.705 1.21243 -3.86484 27.7709 -18.71 0.965128 -3.84289 27.3819 -18.715 0.730952 -3.81989 27.0028 -18.72 0.509335 -3.79679 26.6331 -18.725 0.299684 -3.77442 26.2725 -18.73 0.101388 -3.7535 25.9206 -18.735 -0.0861845 -3.73464 25.577 -18.74 -0.263687 -3.71833 25.2414 -18.745 -0.43179 -3.70495 24.9135 -18.75 -0.591235 -3.69479 24.5929 -18.755 -0.74274 -3.68821 24.2793 -18.76 -0.886772 -3.68549 23.9725 -18.765 -1.02379 -3.68689 23.6723 -18.77 -1.15426 -3.69265 23.3786 -18.775 -1.27864 -3.70296 23.0913 -18.78 -1.39742 -3.71802 22.8101 -18.785 -1.51108 -3.73799 22.5351 -18.79 -1.62009 -3.763 22.2659 -18.795 -1.72495 -3.79317 22.0027 -18.8 -1.82615 -3.82859 21.7451 -18.805 -1.92419 -3.86933 21.4933 -18.81 -2.01958 -3.91543 21.247 -18.815 -2.11284 -3.96692 21.0062 -18.82 -2.20446 -4.02379 20.7709 -18.825 -2.29483 -4.08607 20.5411 -18.83 -2.38412 -4.15388 20.3168 -18.835 -2.47257 -4.22733 20.0981 -18.84 -2.56044 -4.30655 19.8852 -18.845 -2.64798 -4.39162 19.678 -18.85 -2.73545 -4.48266 19.4766 -18.855 -2.82311 -4.57976 19.2812 -18.86 -2.91125 -4.68299 19.0919 -18.865 -3.00012 -4.79243 18.9086 -18.87 -3.09004 -4.90816 18.7317 -18.875 -3.18128 -5.03024 18.5612 -18.88 -3.27415 -5.15872 18.3972 -18.885 -3.36895 -5.29365 18.2399 -18.89 -3.466 -5.43508 18.0895 -18.895 -3.56561 -5.58303 17.9462 -18.9 -3.66794 -5.73756 17.8101 -18.905 -3.77312 -5.89886 17.6816 -18.91 -3.88128 -6.06714 17.561 -18.915 -3.99259 -6.24257 17.4487 -18.92 -4.10718 -6.4253 17.3448 -18.925 -4.22522 -6.61546 17.2499 -18.93 -4.34686 -6.81313 17.1643 -18.935 -4.47227 -7.01839 17.0884 -18.94 -4.60162 -7.23126 17.0227 -18.945 -4.73508 -7.45176 16.9675 -18.95 -4.87284 -7.67986 16.9234 -18.955 -5.01507 -7.91553 16.891 -18.96 -5.16196 -8.15869 16.8706 -18.965 -5.31371 -8.40924 16.8629 -18.97 -5.4705 -8.66704 16.8684 -18.975 -5.63256 -8.93195 16.8878 -18.98 -5.80003 -9.20374 16.9215 -18.985 -5.97267 -9.48191 16.9698 -18.99 -6.15051 -9.76632 17.0334 -18.995 -6.33369 -10.0569 17.1136 -19 -6.52233 -10.3533 17.2114 -19.005 -6.71648 -10.6552 17.3277 -19.01 -6.91613 -10.962 17.4636 -19.015 -7.12126 -11.2733 17.6199 -19.02 -7.33176 -11.5881 17.7973 -19.025 -7.5475 -11.9055 17.9966 -19.03 -7.76828 -12.2246 18.2185 -19.035 -7.99388 -12.5442 18.4636 -19.04 -8.224 -12.863 18.7323 -19.045 -8.45831 -13.1795 19.0252 -19.05 -8.69643 -13.4922 19.3427 -19.055 -8.93793 -13.7994 19.685 -19.06 -9.18232 -14.0992 20.0524 -19.065 -9.42908 -14.3899 20.4451 -19.07 -9.67762 -14.6691 20.8633 -19.075 -9.92733 -14.9348 21.3071 -19.08 -10.1775 -15.1846 21.7763 -19.085 -10.4275 -15.4164 22.2709 -19.09 -10.6766 -15.6293 22.7902 -19.095 -10.9234 -15.8201 23.3326 -19.1 -11.1668 -15.9857 23.8964 -19.105 -11.4055 -16.1228 24.4797 -19.11 -11.6382 -16.229 25.0802 -19.115 -11.8637 -16.3016 25.6957 -19.12 -12.0807 -16.3388 26.3234 -19.125 -12.2879 -16.3387 26.9606 -19.13 -12.484 -16.3 27.6042 -19.135 -12.6679 -16.2215 28.2511 -19.14 -12.8381 -16.1023 28.8977 -19.145 -12.9936 -15.9422 29.5404 -19.15 -13.1329 -15.7408 30.1754 -19.155 -13.2548 -15.4983 30.7986 -19.16 -13.358 -15.2152 31.4056 -19.165 -13.4413 -14.8924 31.992 -19.17 -13.5034 -14.5305 32.553 -19.175 -13.544 -14.1282 33.083 -19.18 -13.5624 -13.6901 33.579 -19.185 -13.5582 -13.2219 34.0384 -19.19 -13.5312 -12.7287 34.4591 -19.195 -13.4812 -12.2155 34.8393 -19.2 -13.4083 -11.687 35.1775 -19.205 -13.3127 -11.1474 35.4724 -19.21 -13.195 -10.6006 35.7233 -19.215 -13.0557 -10.0501 35.9295 -19.22 -12.8956 -9.49936 36.0908 -19.225 -12.7157 -8.95115 36.2072 -19.23 -12.5172 -8.40806 36.2793 -19.235 -12.3014 -7.87235 36.3077 -19.24 -12.0698 -7.34589 36.2934 -19.245 -11.8241 -6.83026 36.2377 -19.25 -11.5662 -6.32668 36.1424 -19.255 -11.298 -5.83635 36.0096 -19.26 -11.0198 -5.36582 35.8438 -19.265 -10.7326 -4.91848 35.6481 -19.27 -10.4382 -4.49553 35.4249 -19.275 -10.1383 -4.0979 35.1765 -19.28 -9.83438 -3.72624 34.9052 -19.285 -9.52793 -3.38095 34.6134 -19.29 -9.22035 -3.06215 34.3035 -19.295 -8.91293 -2.76969 33.9776 -19.3 -8.6069 -2.50317 33.6383 -19.305 -8.30339 -2.26189 33.2878 -19.31 -8.00345 -2.04492 32.9286 -19.315 -7.70805 -1.85103 32.563 -19.32 -7.41805 -1.67873 32.1933 -19.325 -7.13427 -1.52626 31.822 -19.33 -6.85741 -1.39192 31.4508 -19.335 -6.58813 -1.27539 31.0789 -19.34 -6.32679 -1.17569 30.7067 -19.345 -6.07372 -1.09169 30.3349 -19.35 -5.8292 -1.02228 29.9643 -19.355 -5.59346 -0.966396 29.5956 -19.36 -5.36669 -0.923014 29.2291 -19.365 -5.14905 -0.891136 28.8655 -19.37 -4.94065 -0.869798 28.5051 -19.375 -4.74155 -0.858075 28.1482 -19.38 -4.55178 -0.855072 27.7952 -19.385 -4.37132 -0.859931 27.4462 -19.39 -4.20012 -0.871827 27.1013 -19.395 -4.03807 -0.88997 26.7606 -19.4 -3.88503 -0.913605 26.424 -19.405 -3.74077 -0.942165 26.0916 -19.41 -3.60499 -0.975405 25.7635 -19.415 -3.47751 -1.0129 25.4398 -19.42 -3.35812 -1.05424 25.1205 -19.425 -3.24664 -1.09906 24.8054 -19.43 -3.14285 -1.14703 24.4947 -19.435 -3.04657 -1.19787 24.1882 -19.44 -2.95757 -1.25131 23.8861 -19.445 -2.87564 -1.30712 23.5882 -19.45 -2.80056 -1.36513 23.2945 -19.455 -2.73212 -1.42518 23.0051 -19.46 -2.67007 -1.48717 22.7199 -19.465 -2.61419 -1.551 22.4388 -19.47 -2.56425 -1.61664 22.162 -19.475 -2.51999 -1.68408 21.8893 -19.48 -2.48118 -1.75336 21.6207 -19.485 -2.44755 -1.82453 21.3562 -19.49 -2.41887 -1.89768 21.0959 -19.495 -2.39499 -1.97281 20.8396 -19.5 -2.37584 -2.04993 20.5875 -19.505 -2.36137 -2.12907 20.3394 -19.51 -2.3515 -2.21025 20.0955 -19.515 -2.34618 -2.29353 19.8556 -19.52 -2.34533 -2.379 19.6199 -19.525 -2.34887 -2.46674 19.3883 -19.53 -2.35674 -2.55687 19.1609 -19.535 -2.36886 -2.64951 18.9377 -19.54 -2.38514 -2.74483 18.7187 -19.545 -2.4055 -2.84298 18.504 -19.55 -2.42986 -2.94415 18.2937 -19.555 -2.45812 -3.04855 18.0877 -19.56 -2.49021 -3.1564 17.8863 -19.565 -2.52602 -3.26794 17.6894 -19.57 -2.56546 -3.38343 17.4971 -19.575 -2.60843 -3.50315 17.3096 -19.58 -2.65504 -3.62721 17.127 -19.585 -2.70548 -3.7557 16.9494 -19.59 -2.75981 -3.88883 16.7769 -19.595 -2.81808 -4.0268 16.6096 -19.6 -2.88037 -4.16985 16.4476 -19.605 -2.94676 -4.31817 16.2912 -19.61 -3.01731 -4.472 16.1405 -19.615 -3.09211 -4.63157 15.9958 -19.62 -3.17123 -4.7971 15.8572 -19.625 -3.25478 -4.96883 15.725 -19.63 -3.34283 -5.14699 15.5994 -19.635 -3.43548 -5.33184 15.4809 -19.64 -3.53283 -5.52362 15.3697 -19.645 -3.63497 -5.72258 15.2662 -19.65 -3.74201 -5.92898 15.1707 -19.655 -3.85406 -6.14306 15.0836 -19.66 -3.97122 -6.36511 15.0054 -19.665 -4.0936 -6.59527 14.9364 -19.67 -4.22121 -6.83273 14.8771 -19.675 -4.35425 -7.07782 14.828 -19.68 -4.49299 -7.33117 14.7897 -19.685 -4.63765 -7.59331 14.763 -19.69 -4.78843 -7.86467 14.7484 -19.695 -4.94553 -8.14554 14.7467 -19.7 -5.10911 -8.43613 14.7587 -19.705 -5.27931 -8.73653 14.7851 -19.71 -5.45624 -9.0467 14.8269 -19.715 -5.63999 -9.36651 14.8848 -19.72 -5.83064 -9.69572 14.9597 -19.725 -6.02824 -10.034 15.0525 -19.73 -6.23281 -10.3808 15.1643 -19.735 -6.44436 -10.7356 15.2959 -19.74 -6.66287 -11.0977 15.4485 -19.745 -6.88828 -11.4663 15.623 -19.75 -7.12055 -11.8406 15.8206 -19.755 -7.35957 -12.2193 16.0423 -19.76 -7.60524 -12.6016 16.2894 -19.765 -7.85743 -12.986 16.563 -19.77 -8.11598 -13.3713 16.8643 -19.775 -8.38071 -13.7559 17.1946 -19.78 -8.65142 -14.1383 17.5551 -19.785 -8.92788 -14.5169 17.9473 -19.79 -9.2096 -14.8902 18.3715 -19.795 -9.4955 -15.2563 18.8272 -19.8 -9.78492 -15.6119 19.3152 -19.805 -10.0771 -15.9533 19.8364 -19.81 -10.3712 -16.2771 20.3909 -19.815 -10.6662 -16.58 20.9784 -19.82 -10.9611 -16.8585 21.5984 -19.825 -11.2546 -17.1094 22.2497 -19.83 -11.5455 -17.3294 22.9307 -19.835 -11.8324 -17.5154 23.6395 -19.84 -12.1137 -17.6643 24.3736 -19.845 -12.3879 -17.7729 25.13 -19.85 -12.6531 -17.8383 25.9054 -19.855 -12.9075 -17.8575 26.6961 -19.86 -13.1492 -17.8276 27.4978 -19.865 -13.3762 -17.7459 28.3059 -19.87 -13.5864 -17.6087 29.1156 -19.875 -13.7794 -17.4113 29.9237 -19.88 -13.9528 -17.1557 30.7225 -19.885 -14.1044 -16.8451 31.5045 -19.89 -14.2322 -16.4826 32.2627 -19.895 -14.3347 -16.0715 32.9908 -19.9 -14.4105 -15.6151 33.683 -19.905 -14.4584 -15.1168 34.3342 -19.91 -14.4777 -14.58 34.9401 -19.915 -14.468 -14.0081 35.4969 -19.92 -14.4291 -13.4048 36.0013 -19.925 -14.361 -12.7735 36.4509 -19.93 -14.2641 -12.118 36.8438 -19.935 -14.1393 -11.4419 37.1787 -19.94 -13.9874 -10.7491 37.455 -19.945 -13.8097 -10.0432 37.6727 -19.95 -13.6078 -9.32856 37.8324 -19.955 -13.3811 -8.61714 37.9337 -19.96 -13.1307 -7.91683 37.9777 -19.965 -12.8587 -7.23209 37.9664 -19.97 -12.5673 -6.56696 37.9022 -19.975 -12.2586 -5.925 37.7879 -19.98 -11.9345 -5.30937 37.6264 -19.985 -11.5973 -4.72272 37.4209 -19.99 -11.2488 -4.16729 37.1749 -19.995 -10.8911 -3.64487 36.8923 -20 -10.5261 -3.15678 36.5771 -20.005 -10.1559 -2.70392 36.2337 -20.01 -9.78222 -2.28672 35.8667 -20.015 -9.40711 -1.90517 35.4812 -20.02 -9.03241 -1.5588 35.0822 -20.025 -8.65998 -1.24671 34.6754 -20.03 -8.29153 -0.96683 34.2628 -20.035 -7.92831 -0.716745 33.8433 -20.04 -7.57135 -0.494953 33.4187 -20.045 -7.22163 -0.29993 32.9909 -20.05 -6.87999 -0.130121 32.5614 -20.055 -6.54721 0.0160598 32.1318 -20.06 -6.22396 0.140229 31.7032 -20.065 -5.91081 0.244033 31.2769 -20.07 -5.60824 0.329148 30.8538 -20.075 -5.31663 0.397282 30.4346 -20.08 -5.03628 0.450172 30.0201 -20.085 -4.76737 0.489588 29.6108 -20.09 -4.51002 0.517328 29.2069 -20.095 -4.26421 0.535222 28.8086 -20.1 -4.02985 0.544955 28.4159 -20.105 -3.80671 0.546675 28.029 -20.11 -3.59457 0.541076 27.6478 -20.115 -3.39318 0.529056 27.2724 -20.12 -3.20231 0.511455 26.9026 -20.125 -3.02169 0.489045 26.5385 -20.13 -2.85104 0.462539 26.18 -20.135 -2.69008 0.432584 25.827 -20.14 -2.53851 0.399766 25.4795 -20.145 -2.39601 0.364606 25.1372 -20.15 -2.26226 0.327564 24.8003 -20.155 -2.13692 0.289036 24.4684 -20.16 -2.01962 0.249353 24.1416 -20.165 -1.91 0.208787 23.8196 -20.17 -1.80767 0.167549 23.5024 -20.175 -1.71225 0.125852 23.1898 -20.18 -1.62345 0.0838877 22.8818 -20.185 -1.54101 0.0418137 22.5782 -20.19 -1.46465 -0.000233523 22.279 -20.195 -1.39411 -0.0421421 21.9841 -20.2 -1.32911 -0.0838235 21.6933 -20.205 -1.2694 -0.125213 21.4067 -20.21 -1.2147 -0.166271 21.1241 -20.215 -1.16474 -0.206979 20.8454 -20.22 -1.11926 -0.247344 20.5707 -20.225 -1.07798 -0.287397 20.2997 -20.23 -1.04064 -0.327192 20.0325 -20.235 -1.00696 -0.366807 19.769 -20.24 -0.976707 -0.406328 19.509 -20.245 -0.949751 -0.445764 19.2527 -20.25 -0.92598 -0.485141 18.9998 -20.255 -0.905275 -0.524495 18.7505 -20.26 -0.88752 -0.563876 18.5045 -20.265 -0.872598 -0.603342 18.262 -20.27 -0.860394 -0.64296 18.0228 -20.275 -0.850792 -0.68281 17.7869 -20.28 -0.843678 -0.72298 17.5543 -20.285 -0.83894 -0.763568 17.325 -20.29 -0.836465 -0.804684 17.0988 -20.295 -0.836142 -0.846445 16.8757 -20.3 -0.83786 -0.888982 16.6558 -20.305 -0.84151 -0.932432 16.439 -20.31 -0.847011 -0.976926 16.2253 -20.315 -0.85437 -1.02253 16.0146 -20.32 -0.863584 -1.06934 15.807 -20.325 -0.874648 -1.11742 15.6024 -20.33 -0.887559 -1.16688 15.4007 -20.335 -0.902316 -1.21783 15.2021 -20.34 -0.918916 -1.27037 15.0063 -20.345 -0.937362 -1.32463 14.8136 -20.35 -0.957653 -1.38075 14.6237 -20.355 -0.979793 -1.43885 14.4368 -20.36 -1.00379 -1.4991 14.2528 -20.365 -1.02964 -1.56164 14.0718 -20.37 -1.05735 -1.62664 13.8937 -20.375 -1.08693 -1.69428 13.7185 -20.38 -1.11839 -1.76474 13.5463 -20.385 -1.15175 -1.8382 13.377 -20.39 -1.18709 -1.91482 13.2107 -20.395 -1.22451 -1.99474 13.0475 -20.4 -1.26409 -2.07812 12.8874 -20.405 -1.30588 -2.16515 12.7303 -20.41 -1.34997 -2.25603 12.5763 -20.415 -1.39644 -2.35095 12.4254 -20.42 -1.44538 -2.45013 12.2778 -20.425 -1.49689 -2.55379 12.1334 -20.43 -1.55106 -2.66217 11.9924 -20.435 -1.60802 -2.77551 11.8548 -20.44 -1.66786 -2.89406 11.7207 -20.445 -1.73071 -3.0181 11.5904 -20.45 -1.7967 -3.1479 11.4638 -20.455 -1.86596 -3.28375 11.3412 -20.46 -1.93863 -3.42593 11.2227 -20.465 -2.01486 -3.57477 11.1084 -20.47 -2.09478 -3.73058 10.9986 -20.475 -2.17857 -3.89368 10.8934 -20.48 -2.26641 -4.06424 10.7931 -20.485 -2.35863 -4.2419 10.6985 -20.49 -2.4554 -4.42726 10.6095 -20.495 -2.55688 -4.62099 10.5264 -20.5 -2.66326 -4.82375 10.4493 -20.505 -2.77473 -5.03614 10.3784 -20.51 -2.89146 -5.25872 10.314 -20.515 -3.01368 -5.49203 10.2566 -20.52 -3.1416 -5.73655 10.2066 -20.525 -3.27544 -5.99272 10.1645 -20.53 -3.41543 -6.26097 10.131 -20.535 -3.56183 -6.54166 10.1068 -20.54 -3.71487 -6.83512 10.0926 -20.545 -3.87484 -7.14165 10.0892 -20.55 -4.04199 -7.46149 10.0976 -20.555 -4.21661 -7.79487 10.1187 -20.56 -4.399 -8.14195 10.1536 -20.565 -4.58945 -8.50288 10.2034 -20.57 -4.78828 -8.87775 10.2694 -20.575 -4.9958 -9.26662 10.3527 -20.58 -5.21236 -9.66951 10.4548 -20.585 -5.43828 -10.0864 10.577 -20.59 -5.67392 -10.5172 10.7209 -20.595 -5.91964 -10.9619 10.888 -20.6 -6.17581 -11.4203 11.08 -20.605 -6.44279 -11.8922 11.2985 -20.61 -6.71991 -12.3763 11.5443 -20.615 -7.00685 -12.8719 11.8192 -20.62 -7.30406 -13.3781 12.1265 -20.625 -7.61183 -13.8942 12.4691 -20.63 -7.93025 -14.4186 12.8495 -20.635 -8.25928 -14.9496 13.2701 -20.64 -8.59869 -15.4849 13.7332 -20.645 -8.9481 -16.0217 14.2405 -20.65 -9.30695 -16.5569 14.7937 -20.655 -9.67453 -17.087 15.3942 -20.66 -10.0499 -17.608 16.043 -20.665 -10.4321 -18.1154 16.7411 -20.67 -10.8199 -18.6044 17.4891 -20.675 -11.2118 -19.0697 18.2874 -20.68 -11.6064 -19.5056 19.136 -20.685 -12.0019 -19.906 20.0348 -20.69 -12.3964 -20.2642 20.9835 -20.695 -12.7879 -20.5732 21.9814 -20.7 -13.1747 -20.8283 23.0271 -20.705 -13.5542 -21.0238 24.1151 -20.71 -13.9229 -21.1512 25.238 -20.715 -14.2776 -21.2032 26.388 -20.72 -14.615 -21.1739 27.557 -20.725 -14.9318 -21.0586 28.7366 -20.73 -15.2249 -20.8538 29.9179 -20.735 -15.4914 -20.5575 31.0921 -20.74 -15.7283 -20.1686 32.2496 -20.745 -15.9328 -19.6876 33.3807 -20.75 -16.1021 -19.1162 34.4754 -20.755 -16.2337 -18.4573 35.5234 -20.76 -16.3249 -17.7151 36.5139 -20.765 -16.3733 -16.8951 37.4359 -20.77 -16.377 -16.0008 38.2751 -20.775 -16.3355 -15.0415 39.0217 -20.78 -16.2486 -14.0336 39.6738 -20.785 -16.1167 -12.9923 40.2303 -20.79 -15.9404 -11.9313 40.6906 -20.795 -15.7209 -10.8629 41.055 -20.8 -15.4597 -9.79809 41.3244 -20.805 -15.1589 -8.74661 41.5002 -20.81 -14.8208 -7.71671 41.5848 -20.815 -14.4483 -6.71532 41.581 -20.82 -14.0448 -5.74803 41.4926 -20.825 -13.6139 -4.81904 41.3238 -20.83 -13.1597 -3.93123 41.0795 -20.835 -12.687 -3.08609 40.7655 -20.84 -12.1988 -2.28976 40.3918 -20.845 -11.6969 -1.55191 39.9714 -20.85 -11.185 -0.87345 39.5114 -20.855 -10.6665 -0.254514 39.0188 -20.86 -10.1447 0.305509 38.5 -20.865 -9.62264 0.807955 37.9611 -20.87 -9.1029 1.25489 37.4078 -20.875 -8.588 1.64909 36.8454 -20.88 -8.08013 1.99409 36.2787 -20.885 -7.58126 2.29412 35.7124 -20.89 -7.09309 2.554 35.1504 -20.895 -6.61711 2.77626 34.5942 -20.9 -6.15442 2.96375 34.0452 -20.905 -5.70587 3.11984 33.5047 -20.91 -5.2722 3.24776 32.974 -20.915 -4.85398 3.35056 32.4541 -20.92 -4.45164 3.43117 31.9458 -20.925 -4.06547 3.49233 31.4494 -20.93 -3.6956 3.53665 30.9653 -20.935 -3.34203 3.56659 30.4933 -20.94 -3.0046 3.58444 30.0333 -20.945 -2.68305 3.59234 29.585 -20.95 -2.37705 3.59208 29.1482 -20.955 -2.08615 3.58505 28.7226 -20.96 -1.80986 3.57257 28.3078 -20.965 -1.5477 3.55586 27.9033 -20.97 -1.29916 3.53607 27.5086 -20.975 -1.06371 3.51423 27.1235 -20.98 -0.840824 3.4913 26.7475 -20.985 -0.629943 3.46817 26.3802 -20.99 -0.430508 3.44562 26.0214 -20.995 -0.24194 3.42435 25.6707 -21 -0.0636472 3.40497 25.3278 -21.005 0.104975 3.388 24.9924 -21.01 0.264547 3.37389 24.6643 -21.015 0.415703 3.36298 24.3432 -21.02 0.55909 3.35553 24.0288 -21.025 0.695374 3.35174 23.721 -21.03 0.825158 3.35179 23.4194 -21.035 0.948859 3.3559 23.1239 -21.04 1.06688 3.36426 22.8343 -21.045 1.17963 3.37705 22.5506 -21.05 1.28753 3.39443 22.2726 -21.055 1.39099 3.41654 22.0003 -21.06 1.49043 3.44349 21.7335 -21.065 1.58629 3.47539 21.4722 -21.07 1.67899 3.51233 21.2164 -21.075 1.76897 3.55437 20.9658 -21.08 1.85666 3.60156 20.7206 -21.085 1.94252 3.65394 20.4806 -21.09 2.027 3.71151 20.2458 -21.095 2.11054 3.77428 20.0162 -21.1 2.19345 3.84229 19.7918 -21.105 2.27589 3.9157 19.5726 -21.11 2.35808 3.99461 19.3588 -21.115 2.44024 4.07915 19.1505 -21.12 2.52262 4.16943 18.9476 -21.125 2.60543 4.26556 18.7503 -21.13 2.68893 4.36764 18.5587 -21.135 2.77337 4.47579 18.3729 -21.14 2.859 4.59008 18.1931 -21.145 2.94608 4.71062 18.0193 -21.15 3.03489 4.83748 17.8516 -21.155 3.1257 4.97076 17.6904 -21.16 3.21879 5.11053 17.5356 -21.165 3.31446 5.25686 17.3875 -21.17 3.41297 5.40981 17.2463 -21.175 3.51447 5.56947 17.1123 -21.18 3.61909 5.73609 16.9857 -21.185 3.72698 5.90992 16.8669 -21.19 3.83828 6.09114 16.7561 -21.195 3.95315 6.27994 16.6537 -21.2 4.07175 6.47646 16.5602 -21.205 4.19423 6.68083 16.4758 -21.21 4.32078 6.89314 16.401 -21.215 4.45157 7.11346 16.3364 -21.22 4.58677 7.34185 16.2823 -21.225 4.72658 7.57831 16.2393 -21.23 4.87119 7.82283 16.2079 -21.235 5.0208 8.07539 16.1887 -21.24 5.17561 8.33591 16.1823 -21.245 5.33583 8.60432 16.1892 -21.25 5.50168 8.88048 16.2102 -21.255 5.67333 9.16422 16.2459 -21.26 5.85046 9.45493 16.2962 -21.265 6.03318 9.75257 16.3624 -21.27 6.22168 10.0571 16.4456 -21.275 6.41608 10.3684 16.5469 -21.28 6.61649 10.686 16.6674 -21.285 6.82292 11.0096 16.8082 -21.29 7.03535 11.3385 16.9703 -21.295 7.25372 11.6718 17.1544 -21.3 7.47789 12.0088 17.3616 -21.305 7.70769 12.3483 17.5924 -21.31 7.94288 12.6891 17.8476 -21.315 8.18319 13.0299 18.128 -21.32 8.42827 13.369 18.434 -21.325 8.67774 13.705 18.7661 -21.33 8.93115 14.0358 19.1249 -21.335 9.18801 14.3597 19.5107 -21.34 9.44777 14.6744 19.9238 -21.345 9.70984 14.9777 20.3645 -21.35 9.97356 15.2672 20.833 -21.355 10.2382 15.5404 21.3295 -21.36 10.5031 15.7946 21.8539 -21.365 10.7674 16.0291 22.4056 -21.37 11.0298 16.2405 22.983 -21.375 11.2889 16.4251 23.5843 -21.38 11.5435 16.5794 24.2075 -21.385 11.7921 16.7003 24.8503 -21.39 12.0333 16.7851 25.51 -21.395 12.2658 16.8313 26.184 -21.4 12.4881 16.837 26.8692 -21.405 12.6989 16.8004 27.5621 -21.41 12.8966 16.7203 28.2593 -21.415 13.08 16.5955 28.9568 -21.42 13.2476 16.4257 29.6506 -21.425 13.3979 16.2104 30.3363 -21.43 13.5294 15.9498 31.0093 -21.435 13.6408 15.6443 31.6647 -21.44 13.7306 15.2947 32.2975 -21.445 13.7975 14.9011 32.9018 -21.45 13.841 14.4628 33.4721 -21.455 13.8606 13.9859 34.0051 -21.46 13.8556 13.4766 34.4979 -21.465 13.8258 12.9407 34.948 -21.47 13.7709 12.3836 35.3534 -21.475 13.6911 11.8105 35.7125 -21.48 13.5867 11.2259 36.0237 -21.485 13.4581 10.6341 36.2864 -21.49 13.3062 10.0391 36.4997 -21.495 13.1318 9.44426 36.6637 -21.5 12.936 8.85273 36.7784 -21.505 12.7203 8.26725 36.8444 -21.51 12.4862 7.69013 36.8626 -21.515 12.2354 7.12332 36.8344 -21.52 11.9699 6.56838 36.7615 -21.525 11.6919 6.02648 36.6459 -21.53 11.4025 5.50269 36.4915 -21.535 11.102 5.00363 36.303 -21.54 10.7925 4.53084 36.0829 -21.545 10.4758 4.08553 35.8339 -21.55 10.1537 3.66863 35.5587 -21.555 9.82776 3.28071 35.26 -21.56 9.49967 2.92203 34.9404 -21.565 9.17089 2.59254 34.6027 -21.57 8.84282 2.29187 34.2496 -21.575 8.51674 2.01932 33.8837 -21.58 8.19388 1.77389 33.5078 -21.585 7.87533 1.55425 33.1246 -21.59 7.56212 1.35873 32.7368 -21.595 7.25518 1.18539 32.3472 -21.6 6.95536 1.03238 31.9577 -21.605 6.66336 0.899334 31.5672 -21.61 6.37965 0.784999 31.1765 -21.615 6.10461 0.688074 30.7864 -21.62 5.83859 0.607293 30.3978 -21.625 5.58187 0.541426 30.0114 -21.63 5.33469 0.489281 29.6277 -21.635 5.09723 0.449705 29.2472 -21.64 4.86963 0.42158 28.8705 -21.645 4.65197 0.403827 28.4978 -21.65 4.44428 0.395405 28.1295 -21.655 4.24654 0.39531 27.7656 -21.66 4.05869 0.402576 27.4063 -21.665 3.88059 0.416275 27.0516 -21.67 3.71206 0.435546 26.7013 -21.675 3.55282 0.459981 26.3558 -21.68 3.4026 0.489109 26.015 -21.685 3.2612 0.522421 25.6788 -21.69 3.12839 0.559448 25.3473 -21.695 3.00393 0.599763 25.0204 -21.7 2.88759 0.642977 24.698 -21.705 2.77911 0.688745 24.3802 -21.71 2.67826 0.736762 24.0669 -21.715 2.58479 0.786763 23.758 -21.72 2.49842 0.838525 23.4536 -21.725 2.41889 0.891865 23.1534 -21.73 2.34594 0.946642 22.8576 -21.735 2.27929 1.00275 22.566 -21.74 2.21866 1.06014 22.2787 -21.745 2.16375 1.11879 21.9955 -21.75 2.11429 1.17872 21.7163 -21.755 2.06999 1.23992 21.4413 -21.76 2.03072 1.30237 21.1702 -21.765 1.99635 1.36602 20.9032 -21.77 1.96678 1.43089 20.6401 -21.775 1.94188 1.49699 20.381 -21.78 1.92153 1.56434 20.1257 -21.785 1.9056 1.633 19.8744 -21.79 1.89397 1.70305 19.6269 -21.795 1.8865 1.77457 19.3833 -21.8 1.88308 1.84768 19.1436 -21.805 1.88355 1.9225 18.9077 -21.81 1.88779 1.99918 18.6756 -21.815 1.89566 2.07788 18.4475 -21.82 1.90703 2.1588 18.2232 -21.825 1.92174 2.24214 18.0027 -21.83 1.93966 2.32811 17.7862 -21.835 1.96074 2.4169 17.5736 -21.84 1.98511 2.50856 17.365 -21.845 2.01279 2.60322 17.1605 -21.85 2.04378 2.70105 16.9599 -21.855 2.07813 2.80221 16.7635 -21.86 2.11585 2.90687 16.5712 -21.865 2.15697 3.01523 16.3831 -21.87 2.20152 3.12749 16.1994 -21.875 2.24954 3.24385 16.02 -21.88 2.30106 3.36453 15.8451 -21.885 2.35613 3.48978 15.6749 -21.89 2.41479 3.61983 15.5093 -21.895 2.47709 3.75493 15.3487 -21.9 2.54307 3.89535 15.1931 -21.905 2.61279 4.04137 15.0426 -21.91 2.68631 4.19328 14.8976 -21.915 2.76369 4.35134 14.7581 -21.92 2.84512 4.51558 14.6245 -21.925 2.93075 4.68631 14.497 -21.93 3.02071 4.86389 14.3759 -21.935 3.11515 5.04867 14.2612 -21.94 3.21421 5.24097 14.1533 -21.945 3.31803 5.4411 14.0526 -21.95 3.42677 5.64936 13.9593 -21.955 3.54058 5.86602 13.8739 -21.96 3.65961 6.09135 13.7969 -21.965 3.78404 6.32559 13.7287 -21.97 3.91402 6.56897 13.6698 -21.975 4.04972 6.82168 13.6208 -21.98 4.19133 7.08394 13.5824 -21.985 4.33901 7.35591 13.5551 -21.99 4.49294 7.63775 13.5398 -21.995 4.65333 7.9296 13.5371 -22 4.82034 8.2316 13.5478 -22.005 4.99418 8.54383 13.5728 -22.01 5.17503 8.86641 13.6129 -22.015 5.36311 9.19939 13.669 -22.02 5.55855 9.54269 13.742 -22.025 5.76122 9.89563 13.8327 -22.03 5.97136 10.2583 13.9423 -22.035 6.18921 10.6306 14.0724 -22.04 6.41494 11.0123 14.2243 -22.045 6.64866 11.403 14.3994 -22.05 6.89042 11.8021 14.5991 -22.055 7.14017 12.2087 14.8248 -22.06 7.39784 12.6217 15.0775 -22.065 7.66328 13.0399 15.3588 -22.07 7.93626 13.4617 15.6696 -22.075 8.21649 13.8855 16.0113 -22.08 8.50364 14.3094 16.385 -22.085 8.79728 14.7312 16.7918 -22.09 9.09692 15.1486 17.2328 -22.095 9.40204 15.5591 17.7091 -22.1 9.71201 15.9599 18.2217 -22.105 10.0262 16.3481 18.7715 -22.11 10.3437 16.7215 19.3593 -22.115 10.6638 17.0795 19.9844 -22.12 10.9849 17.4163 20.6463 -22.125 11.3057 17.7259 21.3442 -22.13 11.6248 18.0028 22.0768 -22.135 11.9405 18.242 22.8423 -22.14 12.2512 18.4388 23.6382 -22.145 12.5551 18.5892 24.4617 -22.15 12.8506 18.6894 25.3095 -22.155 13.1356 18.7363 26.1777 -22.16 13.4083 18.7272 27.0617 -22.165 13.6665 18.6597 27.9568 -22.17 13.9082 18.5321 28.8575 -22.175 14.1312 18.3429 29.7578 -22.18 14.3331 18.0914 30.6514 -22.185 14.5117 17.777 31.5311 -22.19 14.6644 17.3999 32.3896 -22.195 14.7888 16.9604 33.2188 -22.2 14.8828 16.4571 34.0098 -22.205 14.9462 15.8868 34.7537 -22.21 14.978 15.2604 35.4461 -22.215 14.9774 14.5887 36.083 -22.22 14.944 13.8817 36.6611 -22.225 14.8774 13.1484 37.1776 -22.23 14.7779 12.397 37.6305 -22.235 14.6458 11.6347 38.018 -22.24 14.482 10.8679 38.3391 -22.245 14.2875 10.1019 38.5932 -22.25 14.0638 9.34117 38.7805 -22.255 13.8125 8.58938 38.9014 -22.26 13.5357 7.84918 38.9572 -22.265 13.2356 7.12231 38.9496 -22.27 12.9151 6.40964 38.8808 -22.275 12.5771 5.7111 38.7537 -22.28 12.2245 5.02712 38.5719 -22.285 11.857 4.37366 38.3428 -22.29 11.4763 3.75733 38.0717 -22.295 11.0852 3.17988 37.763 -22.3 10.6862 2.64251 37.421 -22.305 10.2815 2.14591 37.0497 -22.31 9.87355 1.69025 36.6534 -22.315 9.46433 1.27518 36.2361 -22.32 9.05581 0.899845 35.8018 -22.325 8.6498 0.56285 35.3545 -22.33 8.24796 0.262292 34.898 -22.335 7.8518 -0.00425202 34.4362 -22.34 7.46269 -0.239726 33.9728 -22.345 7.0819 -0.446752 33.5104 -22.35 6.71042 -0.626203 33.0483 -22.355 6.34896 -0.780131 32.5879 -22.36 5.99816 -0.9106 32.1304 -22.365 5.65854 -1.01961 31.6768 -22.37 5.33055 -1.10909 31.228 -22.375 5.01453 -1.18092 30.7848 -22.38 4.71076 -1.23688 30.3477 -22.385 4.41939 -1.27871 29.9172 -22.39 4.14053 -1.30808 29.4936 -22.395 3.87415 -1.32659 29.077 -22.4 3.62016 -1.33577 28.6673 -22.405 3.37837 -1.33709 28.2645 -22.41 3.14852 -1.33161 27.8686 -22.415 2.93029 -1.3202 27.4795 -22.42 2.72336 -1.30373 27.0972 -22.425 2.5274 -1.28304 26.7215 -22.43 2.34206 -1.25889 26.3522 -22.435 2.16698 -1.23199 25.9892 -22.44 2.0018 -1.20298 25.6323 -22.445 1.84616 -1.17244 25.2813 -22.45 1.69966 -1.1409 24.9362 -22.455 1.56191 -1.10882 24.5967 -22.46 1.43251 -1.07659 24.2627 -22.465 1.31104 -1.04455 23.9341 -22.47 1.19709 -1.01298 23.6106 -22.475 1.09021 -0.982095 23.2923 -22.48 0.989966 -0.952043 22.9788 -22.485 0.895921 -0.922963 22.67 -22.49 0.807747 -0.895036 22.3659 -22.495 0.725154 -0.868398 22.0663 -22.5 0.647851 -0.843163 21.7711 -22.505 0.57555 -0.819431 21.4802 -22.51 0.50796 -0.79728 21.1935 -22.515 0.444792 -0.776773 20.911 -22.52 0.385755 -0.757952 20.6325 -22.525 0.330558 -0.740842 20.3579 -22.53 0.278913 -0.725451 20.0872 -22.535 0.230527 -0.711768 19.8203 -22.54 0.185112 -0.699762 19.5571 -22.545 0.142376 -0.689387 19.2976 -22.55 0.102043 -0.680588 19.0415 -22.555 0.0639622 -0.673387 18.7891 -22.56 0.0279987 -0.667806 18.54 -22.565 -0.00599003 -0.663855 18.2944 -22.57 -0.0381482 -0.661539 18.0522 -22.575 -0.0686211 -0.660859 17.8133 -22.58 -0.0975555 -0.66181 17.5776 -22.585 -0.125099 -0.664384 17.3452 -22.59 -0.151401 -0.668567 17.1159 -22.595 -0.17661 -0.67434 16.8898 -22.6 -0.20088 -0.68168 16.6668 -22.605 -0.224361 -0.690558 16.4468 -22.61 -0.247209 -0.700943 16.2298 -22.615 -0.269577 -0.712797 16.0157 -22.62 -0.291562 -0.726129 15.8046 -22.625 -0.313214 -0.740987 15.5964 -22.63 -0.334595 -0.757405 15.391 -22.635 -0.355771 -0.775417 15.1884 -22.64 -0.376811 -0.795059 14.9887 -22.645 -0.397789 -0.816364 14.7917 -22.65 -0.418779 -0.839368 14.5975 -22.655 -0.439862 -0.864106 14.406 -22.66 -0.461122 -0.890613 14.2171 -22.665 -0.482643 -0.918923 14.031 -22.67 -0.504517 -0.949073 13.8474 -22.675 -0.526836 -0.981098 13.6665 -22.68 -0.549697 -1.01503 13.4882 -22.685 -0.5732 -1.05091 13.3124 -22.69 -0.597439 -1.08879 13.1392 -22.695 -0.62246 -1.12876 12.9685 -22.7 -0.648303 -1.17094 12.8004 -22.705 -0.675015 -1.21541 12.6348 -22.71 -0.702648 -1.26229 12.4717 -22.715 -0.731263 -1.3117 12.3111 -22.72 -0.760925 -1.36374 12.153 -22.725 -0.791704 -1.41854 11.9973 -22.73 -0.82368 -1.47621 11.8442 -22.735 -0.856936 -1.5369 11.6936 -22.74 -0.891563 -1.60072 11.5456 -22.745 -0.927657 -1.66783 11.4 -22.75 -0.965322 -1.73835 11.2571 -22.755 -1.00467 -1.81243 11.1167 -22.76 -1.0458 -1.89023 10.9789 -22.765 -1.08886 -1.9719 10.8437 -22.77 -1.13396 -2.05759 10.7112 -22.775 -1.18124 -2.14747 10.5815 -22.78 -1.23082 -2.24176 10.4546 -22.785 -1.28276 -2.34073 10.3305 -22.79 -1.33716 -2.44461 10.2094 -22.795 -1.39411 -2.5537 10.0912 -22.8 -1.45373 -2.66826 9.97603 -22.805 -1.51613 -2.78858 9.86399 -22.81 -1.58146 -2.91495 9.7552 -22.815 -1.64985 -3.04769 9.64978 -22.82 -1.72147 -3.18711 9.54789 -22.825 -1.7965 -3.33352 9.44973 -22.83 -1.8751 -3.48726 9.35547 -22.835 -1.95748 -3.64867 9.26534 -22.84 -2.04385 -3.81809 9.17959 -22.845 -2.13442 -3.99589 9.09846 -22.85 -2.22943 -4.18243 9.02225 -22.855 -2.32912 -4.37807 8.95124 -22.86 -2.43374 -4.58322 8.88577 -22.865 -2.54356 -4.79825 8.82616 -22.87 -2.65887 -5.02357 8.7728 -22.875 -2.77993 -5.25941 8.72615 -22.88 -2.90685 -5.50522 8.68728 -22.885 -3.03994 -5.76186 8.65657 -22.89 -3.1795 -6.03035 8.63435 -22.895 -3.32586 -6.31163 8.62104 -22.9 -3.47933 -6.60654 8.61722 -22.905 -3.64023 -6.91581 8.62355 -22.91 -3.80886 -7.24005 8.64083 -22.915 -3.98554 -7.57981 8.66995 -22.92 -4.17056 -7.93549 8.71195 -22.925 -4.36424 -8.30741 8.76796 -22.93 -4.56686 -8.69581 8.83924 -22.935 -4.77874 -9.10078 8.92716 -22.94 -5.00016 -9.52234 9.03321 -22.945 -5.23142 -9.9604 9.159 -22.95 -5.47281 -10.4148 9.30623 -22.955 -5.72462 -10.8851 9.47676 -22.96 -5.98712 -11.3711 9.67253 -22.965 -6.26061 -11.8722 9.89562 -22.97 -6.54535 -12.3878 10.1482 -22.975 -6.84164 -12.9172 10.4326 -22.98 -7.14974 -13.4596 10.7512 -22.985 -7.46993 -14.0141 11.1066 -22.99 -7.80247 -14.5796 11.5014 -22.995 -8.14666 -15.1547 11.9364 -23 -8.50163 -15.7366 12.4133 -23.005 -8.86751 -16.3224 12.9366 -23.01 -9.24418 -16.9088 13.5098 -23.015 -9.63127 -17.4919 14.136 -23.02 -10.0281 -18.0674 14.8175 -23.025 -10.4339 -18.6306 15.5561 -23.03 -10.8473 -19.1762 16.3528 -23.035 -11.2671 -19.6986 17.2081 -23.04 -11.6915 -20.1916 18.1217 -23.045 -12.1187 -20.6488 19.0927 -23.05 -12.5464 -21.063 20.1196 -23.055 -12.9722 -21.4268 21.2001 -23.06 -13.3934 -21.7323 22.3315 -23.065 -13.8071 -21.9711 23.5102 -23.07 -14.21 -22.1343 24.7321 -23.075 -14.5993 -22.2136 25.9933 -23.08 -14.9726 -22.2033 27.2871 -23.085 -15.3252 -22.0975 28.5994 -23.09 -15.6527 -21.8916 29.9167 -23.095 -15.9509 -21.5828 31.2257 -23.1 -16.216 -21.1696 32.5137 -23.105 -16.4447 -20.652 33.7686 -23.11 -16.6337 -20.0317 34.9787 -23.115 -16.7804 -19.3119 36.1329 -23.12 -16.8825 -18.4972 37.2206 -23.125 -16.938 -17.5941 38.2317 -23.13 -16.9451 -16.6101 39.1566 -23.135 -16.9026 -15.5547 39.9863 -23.14 -16.8095 -14.4388 40.7118 -23.145 -16.6651 -13.2768 41.3202 -23.15 -16.4703 -12.0858 41.8104 -23.155 -16.2272 -10.8816 42.1852 -23.16 -15.9377 -9.67868 42.4479 -23.165 -15.6044 -8.48995 42.6025 -23.17 -15.2301 -7.32698 42.6537 -23.175 -14.8179 -6.19986 42.6069 -23.18 -14.3714 -5.11725 42.4681 -23.185 -13.8942 -4.08636 42.2439 -23.19 -13.3906 -3.11297 41.9417 -23.195 -12.8649 -2.20142 41.5694 -23.2 -12.322 -1.3546 41.1357 -23.205 -11.7669 -0.573966 40.6499 -23.21 -11.2031 0.139066 40.1245 -23.215 -10.6337 0.784558 39.5692 -23.22 -10.0621 1.36403 38.9908 -23.225 -9.49189 1.87953 38.3958 -23.23 -8.92591 2.33368 37.7899 -23.235 -8.36688 2.72961 37.1785 -23.24 -7.81718 3.071 36.5663 -23.245 -7.27888 3.36209 35.9576 -23.25 -6.75374 3.60764 35.3559 -23.255 -6.2432 3.81296 34.7645 -23.26 -5.74839 3.98391 34.186 -23.265 -5.27018 4.12587 33.6221 -23.27 -4.80924 4.23982 33.0724 -23.275 -4.36589 4.32874 32.537 -23.28 -3.94028 4.39581 32.0162 -23.285 -3.53251 4.44402 31.5101 -23.29 -3.14255 4.47612 31.0186 -23.295 -2.7703 4.49466 30.5418 -23.3 -2.41554 4.50197 30.0793 -23.305 -2.07799 4.50017 29.6308 -23.31 -1.75723 4.49116 29.1958 -23.315 -1.45277 4.47663 28.7736 -23.32 -1.16403 4.45805 28.3637 -23.325 -0.890213 4.43687 27.9653 -23.33 -0.630615 4.41426 27.5782 -23.335 -0.384664 4.39106 27.2018 -23.34 -0.151778 4.36807 26.8356 -23.345 0.0686402 4.34603 26.4792 -23.35 0.277196 4.32562 26.1322 -23.355 0.474507 4.30748 25.794 -23.36 0.661203 4.29217 25.4644 -23.365 0.837926 4.28021 25.1431 -23.37 1.00533 4.27205 24.8296 -23.375 1.16407 4.26809 24.5237 -23.38 1.31483 4.26868 24.2252 -23.385 1.4583 4.2741 23.9338 -23.39 1.59516 4.28458 23.6493 -23.395 1.72614 4.30029 23.3715 -23.4 1.85195 4.32136 23.1003 -23.405 1.97323 4.34775 22.8354 -23.41 2.09034 4.37952 22.5768 -23.415 2.20359 4.41681 22.3244 -23.42 2.31333 4.45975 22.0783 -23.425 2.41989 4.50847 21.8384 -23.43 2.52362 4.56307 21.6047 -23.435 2.62489 4.62365 21.3773 -23.44 2.72407 4.69028 21.1561 -23.445 2.82154 4.76302 20.9412 -23.45 2.91769 4.84192 20.7327 -23.455 3.01292 4.92701 20.5305 -23.46 3.10765 5.01831 20.3346 -23.465 3.2023 5.11582 20.1452 -23.47 3.2973 5.21953 19.9623 -23.475 3.39309 5.32941 19.7859 -23.48 3.49012 5.44542 19.616 -23.485 3.58858 5.56759 19.4529 -23.49 3.68852 5.6961 19.297 -23.495 3.7901 5.83109 19.1483 -23.5 3.89349 5.97266 19.0072 -23.505 3.99888 6.12093 18.8738 -23.51 4.10646 6.27597 18.7485 -23.515 4.2164 6.43784 18.6315 -23.52 4.32892 6.60658 18.5232 -23.525 4.44419 6.78222 18.4238 -23.53 4.56244 6.96475 18.3336 -23.535 4.68387 7.15416 18.2531 -23.54 4.8087 7.35041 18.1825 -23.545 4.93713 7.55345 18.1223 -23.55 5.0694 7.7632 18.0728 -23.555 5.20574 7.97957 18.0345 -23.56 5.34636 8.20243 18.0077 -23.565 5.49127 8.43149 17.9927 -23.57 5.64049 8.66671 17.9902 -23.575 5.79412 8.90809 18.0007 -23.58 5.95226 9.15557 18.0251 -23.585 6.11497 9.40897 18.064 -23.59 6.28229 9.66805 18.1182 -23.595 6.45424 9.93248 18.1881 -23.6 6.63081 10.2018 18.2746 -23.605 6.81196 10.4756 18.3781 -23.61 6.99765 10.7531 18.4993 -23.615 7.18779 11.0337 18.6387 -23.62 7.38227 11.3167 18.797 -23.625 7.58097 11.6011 18.9745 -23.63 7.78373 11.8861 19.1719 -23.635 7.99038 12.1705 19.3896 -23.64 8.2007 12.4532 19.6281 -23.645 8.41448 12.7331 19.8879 -23.65 8.63147 13.0087 20.1693 -23.655 8.85137 13.2788 20.4728 -23.66 9.07381 13.5423 20.7985 -23.665 9.29811 13.7985 21.1461 -23.67 9.52365 14.045 21.5158 -23.675 9.7498 14.2795 21.9075 -23.68 9.97588 14.4995 22.3211 -23.685 10.2011 14.7029 22.7561 -23.69 10.4248 14.8876 23.2116 -23.695 10.6461 15.0517 23.6867 -23.7 10.8641 15.1933 24.1802 -23.705 11.0779 15.3105 24.6907 -23.71 11.2865 15.4018 25.2164 -23.715 11.489 15.4655 25.7554 -23.72 11.6842 15.5002 26.3056 -23.725 11.8711 15.5045 26.8645 -23.73 12.0485 15.4772 27.4296 -23.735 12.2152 15.4172 27.9979 -23.74 12.3699 15.3232 28.5663 -23.745 12.5115 15.1945 29.1315 -23.75 12.6386 15.0297 29.69 -23.755 12.7511 14.8253 30.2391 -23.76 12.8478 14.5836 30.775 -23.765 12.9278 14.308 31.2937 -23.77 12.99 14.0016 31.7916 -23.775 13.0336 13.6674 32.2656 -23.78 13.0581 13.3084 32.7126 -23.785 13.0631 12.9274 33.1302 -23.79 13.0482 12.5268 33.516 -23.795 13.0134 12.1094 33.8682 -23.8 12.9587 11.6775 34.1851 -23.805 12.8844 11.2332 34.4655 -23.81 12.7909 10.7788 34.7085 -23.815 12.6789 10.3162 34.9135 -23.82 12.549 9.8472 35.0802 -23.825 12.4022 9.37363 35.2086 -23.83 12.2395 8.89703 35.2993 -23.835 12.0624 8.41885 35.3528 -23.84 11.8721 7.94049 35.3703 -23.845 11.6684 7.46883 35.3536 -23.85 11.4516 7.00951 35.3039 -23.855 11.2232 6.56446 35.2224 -23.86 10.9847 6.1354 35.1102 -23.865 10.7375 5.72382 34.9687 -23.87 10.4829 5.33104 34.7992 -23.875 10.2224 4.95814 34.6035 -23.88 9.95704 4.60601 34.3833 -23.885 9.68819 4.27533 34.1406 -23.89 9.41698 3.96656 33.8773 -23.895 9.14454 3.67997 33.5958 -23.9 8.87195 3.41561 33.2984 -23.905 8.60023 3.17333 32.9876 -23.91 8.33037 2.95277 32.6662 -23.915 8.0633 2.75336 32.3368 -23.92 7.7999 2.57432 32.0026 -23.925 7.54102 2.41467 31.6666 -23.93 7.28745 2.27321 31.3318 -23.935 7.03996 2.14869 30.9955 -23.94 6.79901 2.04017 30.6571 -23.945 6.56493 1.94678 30.3173 -23.95 6.33804 1.86768 29.9769 -23.955 6.11861 1.80202 29.6365 -23.96 5.90689 1.74898 29.2968 -23.965 5.70308 1.70773 28.9584 -23.97 5.50735 1.67749 28.6218 -23.975 5.31983 1.65747 28.2873 -23.98 5.14063 1.6469 27.9554 -23.985 4.96982 1.64501 27.6264 -23.99 4.80743 1.65107 27.3005 -23.995 4.65346 1.66435 26.978 -24 4.50785 1.68411 26.659 -24.005 4.37056 1.70968 26.3435 -24.01 4.24146 1.74035 26.0315 -24.015 4.12029 1.77592 25.7232 -24.02 4.00681 1.8163 25.4188 -24.025 3.90088 1.86115 25.1183 -24.03 3.80237 1.91015 24.8218 -24.035 3.71113 1.96301 24.5292 -24.04 3.627 2.01948 24.2406 -24.045 3.54985 2.07934 23.956 -24.05 3.4795 2.1424 23.6755 -24.055 3.4158 2.20849 23.3991 -24.06 3.35859 2.27748 23.1268 -24.065 3.30769 2.34928 22.8587 -24.07 3.26294 2.42382 22.5948 -24.075 3.22416 2.50105 22.3352 -24.08 3.19117 2.58097 22.0798 -24.085 3.16378 2.6636 21.8287 -24.09 3.14182 2.74901 21.582 -24.095 3.12507 2.83727 21.3396 -24.1 3.11336 2.9285 21.1016 -24.105 3.10647 3.0228 20.8681 -24.11 3.10434 3.12022 20.6392 -24.115 3.10698 3.22079 20.4149 -24.12 3.11438 3.32456 20.1952 -24.125 3.12654 3.43159 19.9802 -24.13 3.14345 3.54197 19.77 -24.135 3.16509 3.65579 19.5646 -24.14 3.19146 3.77316 19.3642 -24.145 3.22253 3.89422 19.1688 -24.15 3.25829 4.0191 18.9785 -24.155 3.29869 4.14796 18.7936 -24.16 3.34372 4.28097 18.6141 -24.165 3.39334 4.41832 18.4402 -24.17 3.44751 4.56023 18.2722 -24.175 3.5062 4.70689 18.1101 -24.18 3.56935 4.85855 17.9541 -24.185 3.63692 5.01546 17.8046 -24.19 3.70887 5.17789 17.6617 -24.195 3.78512 5.3461 17.5257 -24.2 3.86564 5.52038 17.3968 -24.205 3.95067 5.70057 17.2753 -24.21 4.04043 5.88676 17.1615 -24.215 4.13503 6.07921 17.0558 -24.22 4.23457 6.27814 16.9584 -24.225 4.33916 6.48377 16.8697 -24.23 4.44889 6.69627 16.7902 -24.235 4.56385 6.91576 16.7201 -24.24 4.68413 7.14235 16.6601 -24.245 4.80982 7.37613 16.6106 -24.25 4.94099 7.61712 16.5721 -24.255 5.07771 7.86536 16.5451 -24.26 5.22005 8.12081 16.5303 -24.265 5.36808 8.38343 16.5282 -24.27 5.52186 8.65314 16.5395 -24.275 5.68143 8.92982 16.5649 -24.28 5.84685 9.21333 16.6051 -24.285 6.01816 9.5035 16.6608 -24.29 6.1954 9.80011 16.7328 -24.295 6.37861 10.1029 16.8218 -24.3 6.56777 10.4117 16.9287 -24.305 6.76247 10.7256 17.053 -24.31 6.96278 11.0442 17.1959 -24.315 7.1688 11.3667 17.359 -24.32 7.38058 11.6926 17.5435 -24.325 7.59807 12.0208 17.7506 -24.33 7.82116 12.3503 17.9812 -24.335 8.04968 12.68 18.2363 -24.34 8.28335 13.0086 18.5166 -24.345 8.52186 13.3347 18.8227 -24.35 8.76478 13.6567 19.1549 -24.355 9.01164 13.9729 19.5136 -24.36 9.26187 14.2815 19.8989 -24.365 9.51486 14.5805 20.3108 -24.37 9.7699 14.8678 20.749 -24.375 10.0262 15.1412 21.2134 -24.38 10.2829 15.3983 21.7034 -24.385 10.5391 15.6366 22.2185 -24.39 10.7938 15.8535 22.7578 -24.395 11.0459 16.0462 23.3205 -24.4 11.2942 16.2117 23.9056 -24.405 11.5376 16.3472 24.5119 -24.41 11.7754 16.4507 25.1385 -24.415 12.0065 16.5203 25.7823 -24.42 12.229 16.5533 26.4391 -24.425 12.4411 16.5476 27.1049 -24.43 12.6413 16.5016 27.7754 -24.435 12.8281 16.414 28.4468 -24.44 12.9999 16.2838 29.115 -24.445 13.1556 16.1107 29.7762 -24.45 13.2938 15.8944 30.4263 -24.455 13.4135 15.6355 31.0616 -24.46 13.5136 15.3345 31.6783 -24.465 13.5932 14.9928 32.2725 -24.47 13.6513 14.6119 32.8408 -24.475 13.6874 14.1937 33.3793 -24.48 13.7007 13.7407 33.8844 -24.485 13.6907 13.2556 34.3527 -24.49 13.6569 12.7417 34.7804 -24.495 13.5988 12.2025 35.1623 -24.5 13.5167 11.6435 35.4966 -24.505 13.411 11.0701 35.7833 -24.51 13.2827 10.4875 36.0225 -24.515 13.1323 9.90041 36.2143 -24.52 12.961 9.31327 36.3594 -24.525 12.7696 8.73014 36.4586 -24.53 12.5593 8.15474 36.5127 -24.535 12.3313 7.59043 36.523 -24.54 12.0871 7.04022 36.4909 -24.545 11.8279 6.50676 36.4181 -24.55 11.5553 5.99236 36.3065 -24.555 11.2711 5.49898 36.1581 -24.56 10.9769 5.0282 35.9754 -24.565 10.6746 4.58128 35.7608 -24.57 10.3661 4.15911 35.5171 -24.575 10.0534 3.76247 35.2478 -24.58 9.73736 3.39279 34.9573 -24.585 9.41933 3.0503 34.6483 -24.59 9.10079 2.73485 34.3232 -24.595 8.7831 2.44615 33.9842 -24.6 8.46751 2.1837 33.6332 -24.605 8.15516 1.94687 33.2723 -24.61 7.84713 1.73482 32.9035 -24.615 7.54436 1.54656 32.5284 -24.62 7.24771 1.38091 32.1488 -24.625 6.95794 1.23654 31.7663 -24.63 6.67572 1.11193 31.3824 -24.635 6.40161 1.00538 30.9985 -24.64 6.13607 0.915049 30.6158 -24.645 5.87947 0.838889 30.2357 -24.65 5.63211 0.775891 29.8583 -24.655 5.39419 0.72597 29.4835 -24.66 5.16577 0.688055 29.1116 -24.665 4.94687 0.661129 28.743 -24.67 4.73752 0.644224 28.3779 -24.675 4.53769 0.636429 28.0167 -24.68 4.34736 0.636887 27.6596 -24.685 4.16644 0.644794 27.3066 -24.69 3.99485 0.659399 26.9581 -24.695 3.83247 0.680006 26.614 -24.7 3.67915 0.705973 26.2745 -24.705 3.53473 0.736711 25.9396 -24.71 3.399 0.771685 25.6091 -24.715 3.27175 0.810415 25.2832 -24.72 3.15271 0.852483 24.9616 -24.725 3.04145 0.897649 24.6444 -24.73 2.93772 0.945635 24.3317 -24.735 2.84136 0.996161 24.0234 -24.74 2.75217 1.04898 23.7195 -24.745 2.66997 1.10386 23.4198 -24.75 2.59455 1.16063 23.1244 -24.755 2.52572 1.21913 22.8333 -24.76 2.46327 1.27923 22.5463 -24.765 2.40699 1.34083 22.2635 -24.77 2.35667 1.40388 21.9848 -24.775 2.31207 1.46833 21.7103 -24.78 2.27298 1.53419 21.4398 -24.785 2.23916 1.60149 21.1734 -24.79 2.21038 1.67027 20.9111 -24.795 2.18639 1.74065 20.6528 -24.8 2.16695 1.81272 20.3984 -24.805 2.1518 1.88666 20.1481 -24.81 2.14073 1.96261 19.9018 -24.815 2.1337 2.04059 19.6595 -24.82 2.13072 2.12065 19.4212 -24.825 2.13175 2.20285 19.1869 -24.83 2.13676 2.28726 18.9566 -24.835 2.14574 2.37397 18.7304 -24.84 2.15865 2.46311 18.5082 -24.845 2.17545 2.55478 18.2901 -24.85 2.19612 2.64915 18.0761 -24.855 2.22061 2.74636 17.8662 -24.86 2.24889 2.84659 17.6606 -24.865 2.28092 2.95005 17.4593 -24.87 2.31665 3.05692 17.2623 -24.875 2.35605 3.16745 17.0698 -24.88 2.39905 3.28186 16.8818 -24.885 2.44562 3.40043 16.6984 -24.89 2.49571 3.52341 16.5197 -24.895 2.54925 3.65112 16.3458 -24.9 2.60626 3.78379 16.1769 -24.905 2.667 3.92145 16.0132 -24.91 2.73158 4.06433 15.8548 -24.915 2.8001 4.21266 15.7017 -24.92 2.87266 4.36671 15.5543 -24.925 2.94935 4.52671 15.4126 -24.93 3.03027 4.69293 15.2769 -24.935 3.11554 4.8656 15.1475 -24.94 3.20526 5.04499 15.0246 -24.945 3.29956 5.23133 14.9084 -24.95 3.39855 5.42488 14.7995 -24.955 3.50236 5.62589 14.698 -24.96 3.61112 5.8346 14.6044 -24.965 3.72496 6.05128 14.5192 -24.97 3.84402 6.27615 14.4427 -24.975 3.96844 6.50949 14.3754 -24.98 4.09837 6.75152 14.3178 -24.985 4.23396 7.00251 14.2705 -24.99 4.37534 7.26265 14.234 -24.995 4.52244 7.53091 14.2086 -25 4.67544 7.80737 14.1951 -25.005 4.83467 8.09279 14.1943 -25.01 5.0004 8.38777 14.2071 -25.015 5.17289 8.69273 14.2345 -25.02 5.35236 9.00796 14.2774 -25.025 5.53898 9.3336 14.3367 -25.03 5.73288 9.66961 14.4134 -25.035 5.93418 10.0158 14.5086 -25.04 6.14295 10.3719 14.6233 -25.045 6.3592 10.7374 14.7584 -25.05 6.58295 11.1116 14.9151 -25.055 6.81414 11.4938 15.0945 -25.06 7.05269 11.883 15.2976 -25.065 7.2985 12.2781 15.5256 -25.07 7.5514 12.6779 15.7795 -25.075 7.81121 13.0809 16.0607 -25.08 8.07771 13.4856 16.3702 -25.085 8.35063 13.8902 16.7093 -25.09 8.62968 14.293 17.0791 -25.095 8.91452 14.6918 17.481 -25.1 9.20478 15.0846 17.9161 -25.105 9.50005 15.4689 18.3858 -25.11 9.79989 15.8422 18.8914 -25.115 10.1035 16.2029 19.433 -25.12 10.4096 16.5484 20.0091 -25.125 10.7169 16.8739 20.6199 -25.13 11.0244 17.1751 21.2649 -25.135 11.3307 17.4475 21.9432 -25.14 11.6345 17.6872 22.6535 -25.145 11.9342 17.8902 23.3938 -25.15 12.2284 18.0531 24.1617 -25.155 12.5152 18.1725 24.9543 -25.16 12.7931 18.2453 25.768 -25.165 13.0601 18.2687 26.599 -25.17 13.3143 18.24 27.4426 -25.175 13.5536 18.1568 28.2941 -25.18 13.7759 18.0171 29.1477 -25.185 13.9789 17.8189 29.9976 -25.19 14.1604 17.5605 30.8372 -25.195 14.3193 17.2366 31.6607 -25.2 14.454 16.8491 32.4613 -25.205 14.5625 16.404 33.2316 -25.21 14.6432 15.9074 33.9648 -25.215 14.6945 15.3649 34.6551 -25.22 14.7156 14.782 35.2972 -25.225 14.7056 14.164 35.8867 -25.23 14.6642 13.5157 36.4197 -25.235 14.5914 12.842 36.8932 -25.24 14.4876 12.1474 37.3049 -25.245 14.3534 11.4361 37.6532 -25.25 14.1899 10.7122 37.9373 -25.255 13.9983 9.97952 38.1569 -25.26 13.7804 9.24161 38.3127 -25.265 13.5383 8.50178 38.406 -25.27 13.2739 7.76427 38.4388 -25.275 12.987 7.0426 38.4135 -25.28 12.6792 6.34346 38.3332 -25.285 12.3531 5.67071 38.2011 -25.29 12.011 5.02771 38.0206 -25.295 11.6553 4.41722 37.7954 -25.3 11.2883 3.84148 37.5294 -25.305 10.9121 3.30218 37.2266 -25.31 10.5289 2.80042 36.8911 -25.315 10.1408 2.3368 36.5276 -25.32 9.74978 1.91134 36.1406 -25.325 9.35784 1.52351 35.7349 -25.33 8.96685 1.17222 35.3156 -25.335 8.57864 0.855862 34.8879 -25.34 8.19495 0.572441 34.4554 -25.345 7.81709 0.320333 34.0171 -25.35 7.44614 0.0977828 33.5747 -25.355 7.08308 -0.0969893 33.1301 -25.36 6.7288 -0.265771 32.685 -25.365 6.38406 -0.410358 32.2408 -25.37 6.04954 -0.532556 31.7989 -25.375 5.7258 -0.634177 31.3602 -25.38 5.41329 -0.717043 30.9257 -25.385 5.11239 -0.782985 30.4962 -25.39 4.82333 -0.833841 30.0721 -25.395 4.54626 -0.871458 29.654 -25.4 4.28124 -0.897692 29.242 -25.405 4.02818 -0.914377 28.836 -25.41 3.78696 -0.922302 28.4363 -25.415 3.55733 -0.922211 28.0429 -25.42 3.33907 -0.915124 27.6558 -25.425 3.13191 -0.901992 27.275 -25.43 2.93558 -0.883696 26.9002 -25.435 2.7498 -0.861047 26.5315 -25.44 2.57425 -0.834785 26.1688 -25.445 2.40861 -0.805581 25.812 -25.45 2.25256 -0.774037 25.4609 -25.455 2.10574 -0.740683 25.1154 -25.46 1.96777 -0.705981 24.7755 -25.465 1.83828 -0.670321 24.4409 -25.47 1.71686 -0.634026 24.1114 -25.475 1.60309 -0.597355 23.787 -25.48 1.49656 -0.560573 23.4675 -25.485 1.39696 -0.523904 23.1527 -25.49 1.30397 -0.487542 22.8426 -25.495 1.2173 -0.451655 22.5371 -25.5 1.13663 -0.416387 22.2361 -25.505 1.06168 -0.381855 21.9394 -25.51 0.992133 -0.348154 21.647 -25.515 0.927685 -0.315352 21.3587 -25.52 0.868032 -0.283491 21.0746 -25.525 0.81287 -0.252591 20.7944 -25.53 0.761894 -0.222643 20.5181 -25.535 0.714798 -0.193617 20.2456 -25.54 0.671278 -0.165455 19.9768 -25.545 0.631088 -0.138124 19.7117 -25.55 0.59409 -0.111644 19.4503 -25.555 0.560132 -0.0860122 19.1924 -25.56 0.529064 -0.0612162 18.9379 -25.565 0.500734 -0.0372351 18.687 -25.57 0.474992 -0.014039 18.4394 -25.575 0.451687 0.00841074 18.1952 -25.58 0.430669 0.0301618 17.9543 -25.585 0.411789 0.0512707 17.7166 -25.59 0.394894 0.0718028 17.4821 -25.595 0.379836 0.0918322 17.2507 -25.6 0.366464 0.111442 17.0225 -25.605 0.354629 0.130724 16.7972 -25.61 0.344191 0.149772 16.575 -25.615 0.335107 0.16861 16.3557 -25.62 0.327341 0.18726 16.1394 -25.625 0.320846 0.205759 15.9259 -25.63 0.315576 0.224145 15.7153 -25.635 0.311484 0.242462 15.5076 -25.64 0.308523 0.260758 15.3026 -25.645 0.306644 0.279086 15.1003 -25.65 0.305799 0.297504 14.9007 -25.655 0.305941 0.316073 14.7039 -25.66 0.307019 0.334862 14.5096 -25.665 0.308983 0.35394 14.318 -25.67 0.311785 0.373385 14.1289 -25.675 0.315373 0.393276 13.9424 -25.68 0.319698 0.413698 13.7583 -25.685 0.324767 0.434696 13.5768 -25.69 0.330599 0.456302 13.3977 -25.695 0.337201 0.478559 13.221 -25.7 0.34458 0.501517 13.0467 -25.705 0.352744 0.525228 12.8748 -25.71 0.361702 0.54975 12.7053 -25.715 0.371462 0.575145 12.538 -25.72 0.382034 0.601479 12.373 -25.725 0.393427 0.628824 12.2103 -25.73 0.405651 0.657256 12.0499 -25.735 0.418717 0.686855 11.8917 -25.74 0.432635 0.717706 11.7356 -25.745 0.447419 0.749899 11.5818 -25.75 0.463079 0.783528 11.4301 -25.755 0.479628 0.81869 11.2806 -25.76 0.497081 0.85549 11.1333 -25.765 0.515504 0.894008 10.988 -25.77 0.534953 0.934324 10.8449 -25.775 0.555465 0.976528 10.7039 -25.78 0.57708 1.02072 10.5649 -25.785 0.599842 1.06701 10.428 -25.79 0.623802 1.11551 10.2933 -25.795 0.649012 1.16635 10.1605 -25.8 0.67553 1.21964 10.0299 -25.805 0.703416 1.27554 9.90126 -25.81 0.732736 1.33419 9.77474 -25.815 0.76356 1.39573 9.65031 -25.82 0.79596 1.46033 9.52799 -25.825 0.830015 1.52816 9.4078 -25.83 0.865806 1.59939 9.28976 -25.835 0.903418 1.67421 9.1739 -25.84 0.942943 1.7528 9.06024 -25.845 0.984473 1.83537 8.94884 -25.85 1.02811 1.92212 8.83971 -25.855 1.07395 2.01325 8.73292 -25.86 1.1221 2.10901 8.6285 -25.865 1.17281 2.20945 8.52673 -25.87 1.22625 2.31479 8.42772 -25.875 1.28249 2.42536 8.33142 -25.88 1.34161 2.54151 8.23784 -25.885 1.40372 2.66359 8.14698 -25.89 1.46893 2.79198 8.05892 -25.895 1.53737 2.92703 7.97374 -25.9 1.60919 3.06912 7.89157 -25.905 1.68454 3.21864 7.81258 -25.91 1.76361 3.37599 7.73696 -25.915 1.84659 3.54157 7.66495 -25.92 1.93367 3.71578 7.5968 -25.925 2.02508 3.89904 7.53283 -25.93 2.12105 4.09178 7.47336 -25.935 2.22184 4.29443 7.41876 -25.94 2.32771 4.50743 7.36945 -25.945 2.43894 4.73123 7.32585 -25.95 2.55582 4.96627 7.28845 -25.955 2.67867 5.21304 7.25774 -25.96 2.8078 5.47199 7.23428 -25.965 2.94356 5.74362 7.21863 -25.97 3.08629 6.02839 7.21141 -25.975 3.23638 6.32682 7.21326 -25.98 3.39421 6.6394 7.22487 -25.985 3.56017 6.96664 7.24695 -25.99 3.73453 7.30863 7.2804 -25.995 3.91706 7.66405 7.3269 -26 4.10825 8.03433 7.38747 -26.005 4.30872 8.42105 7.46312 -26.01 4.51899 8.82551 7.55504 -26.015 4.73958 9.24872 7.66455 -26.02 4.97092 9.69141 7.79311 -26.025 5.21342 10.154 7.94236 -26.03 5.46744 10.6367 8.11406 -26.035 5.73327 11.1393 8.31013 -26.04 6.01118 11.6615 8.53263 -26.045 6.30136 12.2026 8.78378 -26.05 6.60399 12.7616 9.06594 -26.055 6.91916 13.3371 9.38162 -26.06 7.24695 13.9278 9.73349 -26.065 7.58736 14.5318 10.1243 -26.07 7.94037 15.1469 10.5571 -26.075 8.30589 15.7708 11.035 -26.08 8.68378 16.4008 11.5612 -26.085 9.07388 17.0339 12.139 -26.09 9.47595 17.6669 12.7722 -26.095 9.88971 18.2963 13.4642 -26.1 10.3147 18.9184 14.2187 -26.105 10.7491 19.5292 15.0341 -26.11 11.1913 20.121 15.9124 -26.115 11.64 20.6851 16.8561 -26.12 12.0934 21.213 17.8662 -26.125 12.5494 21.6962 18.9425 -26.13 13.0058 22.1264 20.0833 -26.135 13.4598 22.4951 21.2857 -26.14 13.9084 22.7941 22.5453 -26.145 14.3482 23.0151 23.8564 -26.15 14.7757 23.1499 25.212 -26.155 15.1869 23.1905 26.6038 -26.16 15.5774 23.1287 28.0219 -26.165 15.9426 22.9565 29.4554 -26.17 16.2788 22.663 30.8943 -26.175 16.5832 22.2401 32.3274 -26.18 16.8503 21.6949 33.7339 -26.185 17.0752 21.0353 35.0944 -26.19 17.2538 20.2693 36.3919 -26.195 17.3828 19.4054 37.6113 -26.2 17.4595 18.4521 38.7398 -26.205 17.4821 17.4183 39.7666 -26.21 17.4495 16.3131 40.6831 -26.215 17.3615 15.1457 41.4827 -26.22 17.2185 13.9257 42.161 -26.225 17.0218 12.6628 42.7158 -26.23 16.7733 11.3671 43.1468 -26.235 16.4758 10.0489 43.4561 -26.24 16.1294 8.73434 43.6418 -26.245 15.736 7.446 43.7062 -26.25 15.3001 6.19599 43.6566 -26.255 14.8263 4.99481 43.5009 -26.26 14.3189 3.85139 43.2476 -26.265 13.7824 2.77314 42.9059 -26.27 13.2212 1.76585 42.486 -26.275 12.64 0.833803 41.9985 -26.28 12.0432 -0.0203239 41.4548 -26.285 11.4352 -0.795395 40.8671 -26.29 10.8207 -1.49184 40.2482 -26.295 10.204 -2.11166 39.6115 -26.3 9.58962 -2.65874 38.9687 -26.305 8.98035 -3.13885 38.3194 -26.31 8.37894 -3.55647 37.6681 -26.315 7.78788 -3.91599 37.0193 -26.32 7.20936 -4.22186 36.3771 -26.325 6.64527 -4.47861 35.7448 -26.33 6.09722 -4.69084 35.1254 -26.335 5.56652 -4.86323 34.521 -26.34 5.0542 -5.00049 33.9331 -26.345 4.56098 -5.10745 33.3628 -26.35 4.08731 -5.18898 32.8105 -26.355 3.63334 -5.24989 32.276 -26.36 3.19922 -5.29246 31.7594 -26.365 2.78472 -5.31887 31.2604 -26.37 2.38947 -5.33166 30.7783 -26.375 2.01303 -5.3332 30.3126 -26.38 1.65496 -5.32568 29.8626 -26.385 1.31475 -5.31112 29.4277 -26.39 0.99185 -5.29134 29.0074 -26.395 0.685689 -5.26798 28.6009 -26.4 0.395643 -5.24251 28.2078 -26.405 0.121052 -5.21621 27.8273 -26.41 -0.138785 -5.19017 27.459 -26.415 -0.384609 -5.16532 27.1021 -26.42 -0.6172 -5.14239 26.756 -26.425 -0.837409 -5.12196 26.4202 -26.43 -1.04641 -5.10473 26.094 -26.435 -1.24486 -5.09119 25.7771 -26.44 -1.43329 -5.0817 25.4691 -26.445 -1.61221 -5.07661 25.1698 -26.45 -1.78218 -5.07621 24.8789 -26.455 -1.94375 -5.0808 24.5962 -26.46 -2.09749 -5.09061 24.3215 -26.465 -2.24398 -5.10589 24.0545 -26.47 -2.38382 -5.12682 23.7951 -26.475 -2.51762 -5.15357 23.543 -26.48 -2.646 -5.18629 23.2982 -26.485 -2.76961 -5.22509 23.0603 -26.49 -2.88909 -5.27006 22.8294 -26.495 -3.0051 -5.32125 22.6052 -26.5 -3.11833 -5.37869 22.3878 -26.505 -3.22947 -5.4424 22.1768 -26.51 -3.3391 -5.5123 21.9725 -26.515 -3.44722 -5.58834 21.7748 -26.52 -3.55408 -5.67059 21.5841 -26.525 -3.65994 -5.75911 21.4004 -26.53 -3.76509 -5.85397 21.2239 -26.535 -3.8698 -5.95519 21.0546 -26.54 -3.97436 -6.06281 20.8928 -26.545 -4.07906 -6.17684 20.7385 -26.55 -4.18418 -6.29726 20.592 -26.555 -4.29003 -6.42406 20.4534 -26.56 -4.39691 -6.5572 20.3228 -26.565 -4.50512 -6.69662 20.2005 -26.57 -4.61498 -6.84226 20.0866 -26.575 -4.72679 -6.99403 19.9814 -26.58 -4.84087 -7.15183 19.885 -26.585 -4.95753 -7.31555 19.7976 -26.59 -5.07683 -7.48506 19.7196 -26.595 -5.19885 -7.6604 19.6514 -26.6 -5.3237 -7.8416 19.5933 -26.605 -5.45149 -8.02862 19.5458 -26.61 -5.58231 -8.22139 19.5093 -26.615 -5.71624 -8.41979 19.4843 -26.62 -5.85337 -8.62364 19.471 -26.625 -5.99377 -8.83273 19.47 -26.63 -6.13751 -9.0468 19.4817 -26.635 -6.28465 -9.26554 19.5064 -26.64 -6.43523 -9.48858 19.5447 -26.645 -6.58932 -9.71553 19.5968 -26.65 -6.74694 -9.94593 19.6633 -26.655 -6.90812 -10.1793 19.7445 -26.66 -7.0729 -10.4151 19.8408 -26.665 -7.24129 -10.6526 19.9527 -26.67 -7.41331 -10.8914 20.0806 -26.675 -7.58875 -11.131 20.2244 -26.68 -7.76717 -11.3711 20.384 -26.685 -7.94844 -11.6108 20.5602 -26.69 -8.1324 -11.8487 20.7537 -26.695 -8.31885 -12.0837 20.9653 -26.7 -8.50753 -12.3145 21.1952 -26.705 -8.69814 -12.5401 21.4439 -26.71 -8.89035 -12.7591 21.7114 -26.715 -9.08376 -12.9702 21.9977 -26.72 -9.27795 -13.1723 22.3027 -26.725 -9.47242 -13.3641 22.6261 -26.73 -9.66666 -13.5442 22.9674 -26.735 -9.86008 -13.7114 23.326 -26.74 -10.0521 -13.8644 23.7011 -26.745 -10.242 -14.0017 24.0918 -26.75 -10.4291 -14.1222 24.497 -26.755 -10.6126 -14.2244 24.9155 -26.76 -10.7918 -14.3069 25.3459 -26.765 -10.9658 -14.3684 25.7867 -26.77 -11.1337 -14.4074 26.2362 -26.775 -11.2945 -14.4227 26.6926 -26.78 -11.4474 -14.4126 27.1539 -26.785 -11.5914 -14.3756 27.6184 -26.79 -11.7266 -14.3103 28.0852 -26.795 -11.8518 -14.2171 28.551 -26.8 -11.9661 -14.0967 29.0128 -26.805 -12.0683 -13.9499 29.4674 -26.81 -12.1578 -13.7776 29.9121 -26.815 -12.2336 -13.5807 30.3442 -26.82 -12.2951 -13.3602 30.7613 -26.825 -12.3419 -13.1171 31.1612 -26.83 -12.3735 -12.8526 31.5416 -26.835 -12.3896 -12.5679 31.9009 -26.84 -12.39 -12.2643 32.2373 -26.845 -12.3746 -11.9432 32.5493 -26.85 -12.3435 -11.6059 32.8356 -26.855 -12.2969 -11.2541 33.0951 -26.86 -12.2349 -10.8892 33.3268 -26.865 -12.158 -10.513 33.5301 -26.87 -12.0667 -10.1271 33.7044 -26.875 -11.9615 -9.73335 33.8494 -26.88 -11.8428 -9.33439 33.9647 -26.885 -11.7102 -8.93545 34.0498 -26.89 -11.5645 -8.539 34.1051 -26.895 -11.4066 -8.14701 34.1311 -26.9 -11.2376 -7.7613 34.1283 -26.905 -11.0583 -7.38358 34.0975 -26.91 -10.8698 -7.0154 34.0397 -26.915 -10.673 -6.65819 33.9558 -26.92 -10.4689 -6.31325 33.847 -26.925 -10.2584 -5.98173 33.7145 -26.93 -10.0424 -5.66465 33.5598 -26.935 -9.82192 -5.36291 33.3844 -26.94 -9.59785 -5.07726 33.1899 -26.945 -9.37111 -4.80831 32.9782 -26.95 -9.14263 -4.55656 32.7511 -26.955 -8.91332 -4.32235 32.5106 -26.96 -8.68409 -4.10589 32.259 -26.965 -8.45584 -3.90728 31.9985 -26.97 -8.22947 -3.72643 31.7316 -26.975 -8.00589 -3.56201 31.4584 -26.98 -7.78575 -3.41296 31.1788 -26.985 -7.56954 -3.2789 30.8938 -26.99 -7.35773 -3.1594 30.6042 -26.995 -7.15074 -3.05402 30.311 -27 -6.94898 -2.96226 30.0149 -27.005 -6.75282 -2.88362 29.7166 -27.01 -6.56257 -2.81756 29.4168 -27.015 -6.37855 -2.7635 29.1163 -27.02 -6.20102 -2.72084 28.8156 -27.025 -6.0302 -2.68894 28.5152 -27.03 -5.86629 -2.66715 28.2157 -27.035 -5.70947 -2.65476 27.9176 -27.04 -5.55986 -2.65107 27.6212 -27.045 -5.41755 -2.65531 27.3269 -27.05 -5.28262 -2.6667 27.035 -27.055 -5.15509 -2.68443 26.7459 -27.06 -5.03495 -2.70764 26.4597 -27.065 -4.92211 -2.73595 26.1765 -27.07 -4.81628 -2.76998 25.8964 -27.075 -4.71737 -2.80947 25.6195 -27.08 -4.6253 -2.85413 25.3459 -27.085 -4.54 -2.90369 25.0758 -27.09 -4.46137 -2.9579 24.8092 -27.095 -4.38932 -3.01655 24.5462 -27.1 -4.32376 -3.07943 24.287 -27.105 -4.26459 -3.14639 24.0316 -27.11 -4.2117 -3.21726 23.7802 -27.115 -4.16499 -3.29194 23.5328 -27.12 -4.12435 -3.37033 23.2896 -27.125 -4.08967 -3.45236 23.0506 -27.13 -4.06082 -3.53798 22.816 -27.135 -4.0377 -3.62717 22.5859 -27.14 -4.02016 -3.71993 22.3603 -27.145 -4.00809 -3.81631 22.1392 -27.15 -4.00135 -3.91634 21.9229 -27.155 -3.9998 -4.02011 21.7114 -27.16 -4.00324 -4.1277 21.5049 -27.165 -4.01157 -4.23917 21.3035 -27.17 -4.02482 -4.35454 21.1073 -27.175 -4.04303 -4.47385 20.9164 -27.18 -4.06622 -4.59716 20.731 -27.185 -4.09441 -4.72451 20.5511 -27.19 -4.12762 -4.85597 20.3769 -27.195 -4.16583 -4.99162 20.2085 -27.2 -4.20907 -5.13152 20.0462 -27.205 -4.25732 -5.27577 19.8901 -27.21 -4.31058 -5.42444 19.7404 -27.215 -4.36882 -5.57765 19.5974 -27.22 -4.43203 -5.7355 19.4613 -27.225 -4.50018 -5.8981 19.3323 -27.23 -4.57324 -6.06558 19.2108 -27.235 -4.65116 -6.23805 19.0971 -27.24 -4.73391 -6.41566 18.9914 -27.245 -4.82144 -6.59854 18.894 -27.25 -4.91369 -6.78685 18.8054 -27.255 -5.0106 -6.98074 18.7258 -27.26 -5.1121 -7.18038 18.6557 -27.265 -5.21814 -7.38592 18.5954 -27.27 -5.32886 -7.59684 18.5451 -27.275 -5.44445 -7.81302 18.5053 -27.28 -5.56502 -8.0346 18.4763 -27.285 -5.69067 -8.26161 18.459 -27.29 -5.82145 -8.49405 18.4537 -27.295 -5.95741 -8.73183 18.4611 -27.3 -6.09858 -8.9748 18.4817 -27.305 -6.24494 -9.22275 18.516 -27.31 -6.39648 -9.47539 18.5646 -27.315 -6.55315 -9.73238 18.6281 -27.32 -6.71488 -9.99329 18.7069 -27.325 -6.88157 -10.2576 18.8016 -27.33 -7.05312 -10.5249 18.9127 -27.335 -7.22938 -10.7944 19.0407 -27.34 -7.41019 -11.0656 19.1861 -27.345 -7.59538 -11.3375 19.3495 -27.35 -7.78473 -11.6095 19.5313 -27.355 -7.97802 -11.8806 19.732 -27.36 -8.175 -12.15 19.9522 -27.365 -8.3754 -12.4164 20.1924 -27.37 -8.57891 -12.679 20.4529 -27.375 -8.78523 -12.9366 20.7342 -27.38 -8.99391 -13.1888 21.0359 -27.385 -9.20448 -13.4337 21.3579 -27.39 -9.41638 -13.6692 21.7007 -27.395 -9.62906 -13.8933 22.064 -27.4 -9.84187 -14.104 22.4477 -27.405 -10.0542 -14.2995 22.8512 -27.41 -10.2652 -14.478 23.2739 -27.415 -10.4742 -14.6378 23.715 -27.42 -10.6805 -14.7771 24.1733 -27.425 -10.8831 -14.8945 24.6475 -27.43 -11.0811 -14.9884 25.1362 -27.435 -11.2737 -15.0574 25.6376 -27.44 -11.4598 -15.1001 26.1498 -27.445 -11.6385 -15.1153 26.6706 -27.45 -11.8086 -15.1018 27.1978 -27.455 -11.969 -15.0583 27.7287 -27.46 -12.1187 -14.9839 28.2606 -27.465 -12.2563 -14.8775 28.7906 -27.47 -12.3811 -14.7369 29.3159 -27.475 -12.4928 -14.5604 29.8342 -27.48 -12.5902 -14.3504 30.3416 -27.485 -12.6722 -14.1095 30.8344 -27.49 -12.7381 -13.84 31.3093 -27.495 -12.7869 -13.5444 31.7634 -27.5 -12.8182 -13.2251 32.1938 -27.505 -12.8315 -12.8842 32.5982 -27.51 -12.8265 -12.5239 32.9745 -27.515 -12.803 -12.1464 33.3206 -27.52 -12.7611 -11.7536 33.6351 -27.525 -12.7009 -11.3475 33.9168 -27.53 -12.6228 -10.9299 34.1645 -27.535 -12.5273 -10.5028 34.3777 -27.54 -12.4148 -10.0677 34.556 -27.545 -12.2864 -9.62634 34.6991 -27.55 -12.1428 -9.18034 34.8074 -27.555 -11.9852 -8.73117 34.8813 -27.56 -11.8147 -8.28036 34.9215 -27.565 -11.631 -7.83435 34.9293 -27.57 -11.4344 -7.39803 34.9054 -27.575 -11.2263 -6.97327 34.8508 -27.58 -11.0081 -6.56176 34.7665 -27.585 -10.7809 -6.16501 34.6536 -27.59 -10.546 -5.78435 34.5134 -27.595 -10.3047 -5.42094 34.3473 -27.6 -10.0581 -5.07576 34.1569 -27.605 -9.80732 -4.74959 33.9439 -27.61 -9.55348 -4.44306 33.7102 -27.615 -9.29762 -4.15659 33.4577 -27.62 -9.04078 -3.89045 33.1885 -27.625 -8.78393 -3.64471 32.9051 -27.63 -8.52803 -3.41927 32.6097 -27.635 -8.27398 -3.21385 32.3049 -27.64 -8.02265 -3.02798 31.9935 -27.645 -7.77489 -2.86102 31.6782 -27.65 -7.53149 -2.71216 31.3621 -27.655 -7.29329 -2.58008 31.0442 -27.66 -7.06081 -2.46369 30.723 -27.665 -6.83443 -2.36228 30.3995 -27.67 -6.6145 -2.27508 30.0743 -27.675 -6.40132 -2.20137 29.7483 -27.68 -6.19516 -2.14043 29.4221 -27.685 -5.99626 -2.09152 29.0962 -27.69 -5.80484 -2.05392 28.7713 -27.695 -5.62106 -2.02692 28.4479 -27.7 -5.44506 -2.00979 28.1263 -27.705 -5.27697 -2.00184 27.807 -27.71 -5.11684 -2.00235 27.4903 -27.715 -4.96473 -2.01062 27.1764 -27.72 -4.82064 -2.02595 26.8655 -27.725 -4.68456 -2.04765 26.5579 -27.73 -4.55642 -2.07502 26.2536 -27.735 -4.43613 -2.10742 25.9526 -27.74 -4.3234 -2.14488 25.6551 -27.745 -4.21806 -2.18728 25.3613 -27.75 -4.11998 -2.23431 25.0713 -27.755 -4.02904 -2.28568 24.785 -27.76 -3.94513 -2.34112 24.5025 -27.765 -3.86811 -2.40042 24.224 -27.77 -3.79785 -2.46336 23.9494 -27.775 -3.73422 -2.52977 23.6788 -27.78 -3.67708 -2.59951 23.4123 -27.785 -3.62628 -2.67247 23.1499 -27.79 -3.58169 -2.74855 22.8918 -27.795 -3.54315 -2.8277 22.6378 -27.8 -3.5105 -2.90989 22.3882 -27.805 -3.4836 -2.99512 22.1429 -27.81 -3.46228 -3.08342 21.902 -27.815 -3.44637 -3.17483 21.6656 -27.82 -3.43572 -3.26945 21.4337 -27.825 -3.43013 -3.3674 21.2064 -27.83 -3.42943 -3.46878 20.9838 -27.835 -3.4335 -3.57365 20.766 -27.84 -3.44238 -3.68206 20.5531 -27.845 -3.45607 -3.79405 20.3451 -27.85 -3.4746 -3.90969 20.1421 -27.855 -3.49798 -4.02905 19.9442 -27.86 -3.5262 -4.15224 19.7516 -27.865 -3.55928 -4.27934 19.5642 -27.87 -3.59721 -4.41047 19.3824 -27.875 -3.63998 -4.54576 19.2061 -27.88 -3.68758 -4.68535 19.0357 -27.885 -3.74 -4.82938 18.8712 -27.89 -3.79722 -4.97803 18.7129 -27.895 -3.85921 -5.13146 18.561 -27.9 -3.92594 -5.28986 18.4157 -27.905 -3.99739 -5.45344 18.2773 -27.91 -4.07351 -5.6224 18.1461 -27.915 -4.15427 -5.79698 18.0223 -27.92 -4.23961 -5.97739 17.9062 -27.925 -4.32949 -6.16391 17.7982 -27.93 -4.42385 -6.35677 17.6985 -27.935 -4.5229 -6.55572 17.6075 -27.94 -4.62686 -6.76069 17.5255 -27.945 -4.73588 -6.97193 17.453 -27.95 -4.85007 -7.18965 17.3903 -27.955 -4.96951 -7.41398 17.3381 -27.96 -5.0943 -7.64502 17.2966 -27.965 -5.22452 -7.88281 17.2666 -27.97 -5.36022 -8.12733 17.2484 -27.975 -5.50145 -8.37853 17.2427 -27.98 -5.64826 -8.63629 17.25 -27.985 -5.80066 -8.90044 17.2709 -27.99 -5.95867 -9.17077 17.3061 -27.995 -6.12229 -9.44699 17.3563 -28 -6.29151 -9.72879 17.4219 -28.005 -6.4663 -10.0158 17.5039 -28.01 -6.64662 -10.3076 17.6028 -28.015 -6.83243 -10.6036 17.7194 -28.02 -7.02367 -10.9034 17.8545 -28.025 -7.22025 -11.2064 18.0088 -28.03 -7.4221 -11.512 18.1832 -28.035 -7.62907 -11.8194 18.3782 -28.04 -7.84071 -12.1283 18.5936 -28.045 -8.05684 -12.4372 18.8301 -28.05 -8.27729 -12.7448 19.0891 -28.055 -8.50184 -13.0493 19.3716 -28.06 -8.73018 -13.3492 19.6782 -28.065 -8.96193 -13.6428 20.0095 -28.07 -9.19664 -13.9283 20.3659 -28.075 -9.43377 -14.2039 20.7475 -28.08 -9.67272 -14.4678 21.154 -28.085 -9.9128 -14.718 21.5853 -28.09 -10.1533 -14.9527 22.0407 -28.095 -10.3932 -15.1698 22.5194 -28.1 -10.6319 -15.3672 23.0205 -28.105 -10.8682 -15.5428 23.5426 -28.11 -11.101 -15.6945 24.0845 -28.115 -11.3293 -15.82 24.6443 -28.12 -11.5519 -15.917 25.2203 -28.125 -11.7674 -15.9833 25.8103 -28.13 -11.9745 -16.0163 26.4119 -28.135 -12.1719 -16.0137 27.0229 -28.14 -12.3594 -15.9732 27.6418 -28.145 -12.5354 -15.8943 28.2642 -28.15 -12.6983 -15.7768 28.8854 -28.155 -12.8466 -15.6211 29.5009 -28.16 -12.9788 -15.4276 30.1063 -28.165 -13.0939 -15.1968 30.6976 -28.17 -13.1906 -14.9298 31.2711 -28.175 -13.2682 -14.6276 31.8233 -28.18 -13.3259 -14.2916 32.3507 -28.185 -13.363 -13.9235 32.8505 -28.19 -13.3792 -13.525 33.3199 -28.195 -13.3742 -13.0983 33.7563 -28.2 -13.3478 -12.6455 34.1575 -28.205 -13.3002 -12.1694 34.5215 -28.21 -13.2314 -11.6726 34.8465 -28.215 -13.1418 -11.1582 35.1309 -28.22 -13.0319 -10.6297 35.3735 -28.225 -12.9011 -10.0934 35.5721 -28.23 -12.7503 -9.55412 35.7267 -28.235 -12.5805 -9.01557 35.8381 -28.24 -12.393 -8.48118 35.9071 -28.245 -12.1891 -7.95414 35.9348 -28.25 -11.9699 -7.43738 35.9226 -28.255 -11.7367 -6.93358 35.872 -28.26 -11.4909 -6.44518 35.7846 -28.265 -11.2337 -5.97434 35.6624 -28.27 -10.9666 -5.52297 35.5075 -28.275 -10.6909 -5.09273 35.3222 -28.28 -10.4081 -4.68503 35.109 -28.285 -10.1195 -4.30101 34.8706 -28.29 -9.82667 -3.94158 34.6099 -28.295 -9.53108 -3.60736 34.33 -28.3 -9.23426 -3.29874 34.0342 -28.305 -8.93772 -3.0155 33.7257 -28.31 -8.64259 -2.75575 33.4055 -28.315 -8.34986 -2.51883 33.0752 -28.32 -8.06046 -2.30424 32.7363 -28.325 -7.77526 -2.11138 32.3902 -28.33 -7.49505 -1.93957 32.0383 -28.335 -7.22055 -1.78805 31.6818 -28.34 -6.95244 -1.65595 31.3221 -28.345 -6.69129 -1.54234 30.9602 -28.35 -6.43765 -1.44619 30.5971 -28.355 -6.19197 -1.36639 30.2339 -28.36 -5.95463 -1.30174 29.8713 -28.365 -5.72598 -1.25095 29.5103 -28.37 -5.50625 -1.21266 29.1515 -28.375 -5.29566 -1.1854 28.7954 -28.38 -5.09431 -1.16764 28.4428 -28.385 -4.90226 -1.15773 28.094 -28.39 -4.71949 -1.15427 27.7494 -28.395 -4.54574 -1.15817 27.4085 -28.4 -4.38084 -1.16923 27.0714 -28.405 -4.22468 -1.18683 26.738 -28.41 -4.07711 -1.2104 26.4086 -28.415 -3.93798 -1.23941 26.0832 -28.42 -3.80714 -1.27337 25.7618 -28.425 -3.68442 -1.31184 25.4445 -28.43 -3.56965 -1.35441 25.1314 -28.435 -3.46265 -1.40072 24.8225 -28.44 -3.36323 -1.45045 24.5179 -28.445 -3.2712 -1.50333 24.2174 -28.45 -3.18633 -1.55911 23.9212 -28.455 -3.10843 -1.61761 23.6292 -28.46 -3.03726 -1.67868 23.3415 -28.465 -2.9726 -1.74219 23.0579 -28.47 -2.91418 -1.8081 22.7784 -28.475 -2.86171 -1.87636 22.5032 -28.48 -2.81505 -1.9469 22.2321 -28.485 -2.77408 -2.01966 21.9652 -28.49 -2.73869 -2.09459 21.7025 -28.495 -2.70877 -2.17168 21.4439 -28.5 -2.68418 -2.25092 21.1895 -28.505 -2.66483 -2.33233 20.9393 -28.51 -2.65057 -2.41596 20.6933 -28.515 -2.64129 -2.50188 20.4516 -28.52 -2.63686 -2.59017 20.2141 -28.525 -2.63714 -2.68093 19.9808 -28.53 -2.64201 -2.77431 19.752 -28.535 -2.65134 -2.87044 19.5274 -28.54 -2.66498 -2.9695 19.3073 -28.545 -2.68281 -3.07169 19.0917 -28.55 -2.70467 -3.17723 18.8807 -28.555 -2.73045 -3.28632 18.6742 -28.56 -2.76022 -3.39906 18.4725 -28.565 -2.79406 -3.51553 18.2756 -28.57 -2.83197 -3.63591 18.0836 -28.575 -2.874 -3.76036 17.8965 -28.58 -2.92018 -3.88906 17.7146 -28.585 -2.97052 -4.02219 17.5378 -28.59 -3.02507 -4.15993 17.3664 -28.595 -3.08386 -4.30249 17.2006 -28.6 -3.14694 -4.45008 17.0404 -28.605 -3.21433 -4.6029 16.8861 -28.61 -3.2861 -4.76117 16.738 -28.615 -3.36227 -4.92514 16.5962 -28.62 -3.4429 -5.09502 16.461 -28.625 -3.52805 -5.27108 16.3327 -28.63 -3.61775 -5.45355 16.2115 -28.635 -3.71207 -5.6427 16.0978 -28.64 -3.81107 -5.83878 15.9918 -28.645 -3.91483 -6.04158 15.894 -28.65 -4.02354 -6.25127 15.8047 -28.655 -4.13735 -6.46826 15.7244 -28.66 -4.25643 -6.69291 15.6534 -28.665 -4.38092 -6.92551 15.5922 -28.67 -4.51097 -7.1663 15.5414 -28.675 -4.64671 -7.41546 15.5014 -28.68 -4.78826 -7.67311 15.473 -28.685 -4.93573 -7.93931 15.4566 -28.69 -5.08923 -8.21409 15.453 -28.695 -5.24886 -8.49738 15.4628 -28.7 -5.41469 -8.78909 15.4868 -28.705 -5.58681 -9.08905 15.5258 -28.71 -5.76528 -9.39703 15.5805 -28.715 -5.95017 -9.71277 15.6519 -28.72 -6.14151 -10.0359 15.7407 -28.725 -6.33936 -10.3661 15.8481 -28.73 -6.54374 -10.7029 15.9748 -28.735 -6.75468 -11.0457 16.1219 -28.74 -6.97218 -11.394 16.2904 -28.745 -7.19625 -11.7472 16.4815 -28.75 -7.42688 -12.1047 16.6962 -28.755 -7.66359 -12.4656 16.9344 -28.76 -7.90606 -12.8288 17.1969 -28.765 -8.15424 -13.1927 17.4854 -28.77 -8.40797 -13.5555 17.8016 -28.775 -8.66699 -13.9153 18.1465 -28.78 -8.93095 -14.2703 18.5213 -28.785 -9.19937 -14.6183 18.9264 -28.79 -9.4717 -14.9571 19.3625 -28.795 -9.74725 -15.2843 19.8295 -28.8 -10.0253 -15.5976 20.3274 -28.805 -10.3049 -15.8943 20.8558 -28.81 -10.5851 -16.1718 21.4139 -28.815 -10.8648 -16.4272 22.0008 -28.82 -11.1428 -16.6577 22.6153 -28.825 -11.4179 -16.8601 23.2559 -28.83 -11.6887 -17.0313 23.9208 -28.835 -11.9536 -17.168 24.6079 -28.84 -12.2111 -17.2668 25.315 -28.845 -12.4595 -17.3242 26.0393 -28.85 -12.698 -17.337 26.7795 -28.855 -12.9251 -17.3034 27.5311 -28.86 -13.1387 -17.222 28.2878 -28.865 -13.3366 -17.092 29.0439 -28.87 -13.5169 -16.9127 29.7937 -28.875 -13.678 -16.6843 30.5316 -28.88 -13.8183 -16.407 31.2527 -28.885 -13.9365 -16.0817 31.952 -28.89 -14.0313 -15.7097 32.6249 -28.895 -14.1019 -15.2927 33.2672 -28.9 -14.1473 -14.8328 33.8746 -28.905 -14.1669 -14.3327 34.4435 -28.91 -14.1604 -13.7953 34.9702 -28.915 -14.1273 -13.224 35.4514 -28.92 -14.0677 -12.6229 35.8842 -28.925 -13.9816 -11.9961 36.2658 -28.93 -13.8686 -11.3503 36.5921 -28.935 -13.7291 -10.6924 36.8612 -28.94 -13.5642 -10.0284 37.074 -28.945 -13.3751 -9.36373 37.2315 -28.95 -13.1633 -8.70331 37.3348 -28.955 -12.9301 -8.05176 37.3857 -28.96 -12.677 -7.41329 37.3859 -28.965 -12.4057 -6.79168 37.3375 -28.97 -12.1177 -6.19032 37.2429 -28.975 -11.8148 -5.61219 37.1046 -28.98 -11.4989 -5.05984 36.9257 -28.985 -11.1718 -4.53544 36.7092 -28.99 -10.8354 -4.04075 36.4586 -28.995 -10.4919 -3.57712 36.1777 -29 -10.1433 -3.14549 35.8703 -29.005 -9.79188 -2.74638 35.5407 -29.01 -9.43912 -2.3791 35.1927 -29.015 -9.08644 -2.04281 34.8289 -29.02 -8.73532 -1.73684 34.4518 -29.025 -8.38713 -1.46035 34.0638 -29.03 -8.04315 -1.21237 33.6671 -29.035 -7.70451 -0.991791 33.2638 -29.04 -7.37226 -0.797341 32.8557 -29.045 -7.04731 -0.62762 32.4445 -29.05 -6.73047 -0.481078 32.032 -29.055 -6.42244 -0.356022 31.6194 -29.06 -6.1238 -0.250615 31.2081 -29.065 -5.83502 -0.162876 30.7992 -29.07 -5.55646 -0.090678 30.3937 -29.075 -5.28836 -0.0317638 29.9924 -29.08 -5.0309 0.0146282 29.5954 -29.085 -4.78411 0.0489145 29.2027 -29.09 -4.54797 0.0722624 28.8146 -29.095 -4.32241 0.0857721 28.4313 -29.1 -4.10734 0.090477 28.0528 -29.105 -3.90265 0.0873435 27.6794 -29.11 -3.70819 0.077271 27.3111 -29.115 -3.52381 0.0610919 26.948 -29.12 -3.34933 0.0395717 26.5902 -29.125 -3.18452 0.0134089 26.2375 -29.13 -3.02915 -0.016765 25.8901 -29.135 -2.88295 -0.0503853 25.5478 -29.14 -2.74565 -0.0869545 25.2105 -29.145 -2.61693 -0.126042 24.878 -29.15 -2.49633 -0.167317 24.5504 -29.155 -2.38349 -0.210491 24.2275 -29.16 -2.27817 -0.255272 23.9093 -29.165 -2.18015 -0.301395 23.5957 -29.17 -2.08919 -0.34863 23.2866 -29.175 -2.00505 -0.396774 22.982 -29.18 -1.92748 -0.445657 22.6817 -29.185 -1.85624 -0.49514 22.3857 -29.19 -1.79106 -0.545114 22.0939 -29.195 -1.73169 -0.5955 21.8063 -29.2 -1.67785 -0.646253 21.5228 -29.205 -1.62927 -0.697355 21.2433 -29.21 -1.58567 -0.748822 20.9678 -29.215 -1.54677 -0.800699 20.6961 -29.22 -1.51227 -0.853063 20.4283 -29.225 -1.48189 -0.90602 20.1644 -29.23 -1.45531 -0.95971 19.9041 -29.235 -1.43238 -1.0142 19.6475 -29.24 -1.41309 -1.06946 19.3947 -29.245 -1.39738 -1.12553 19.1455 -29.25 -1.38515 -1.18244 18.8999 -29.255 -1.37635 -1.24027 18.6579 -29.26 -1.37088 -1.29909 18.4194 -29.265 -1.36867 -1.35898 18.1845 -29.27 -1.36963 -1.42005 17.9531 -29.275 -1.37368 -1.48242 17.7253 -29.28 -1.38074 -1.54622 17.5009 -29.285 -1.39071 -1.6116 17.28 -29.29 -1.40352 -1.67872 17.0625 -29.295 -1.41906 -1.74775 16.8486 -29.3 -1.43726 -1.81888 16.6381 -29.305 -1.458 -1.89232 16.4311 -29.31 -1.48121 -1.96829 16.2276 -29.315 -1.50687 -2.04696 16.0275 -29.32 -1.53512 -2.12838 15.831 -29.325 -1.566 -2.21272 15.6381 -29.33 -1.59954 -2.30013 15.4488 -29.335 -1.63579 -2.39078 15.263 -29.34 -1.6748 -2.48485 15.0809 -29.345 -1.71662 -2.58253 14.9025 -29.35 -1.76129 -2.68402 14.7278 -29.355 -1.80887 -2.78953 14.557 -29.36 -1.85943 -2.89929 14.3901 -29.365 -1.91304 -3.01353 14.2271 -29.37 -1.96975 -3.1325 14.0683 -29.375 -2.02964 -3.25644 13.9137 -29.38 -2.09279 -3.38563 13.7634 -29.385 -2.15928 -3.52034 13.6175 -29.39 -2.2292 -3.66086 13.4763 -29.395 -2.30263 -3.80746 13.3399 -29.4 -2.37978 -3.9602 13.2085 -29.405 -2.46083 -4.11936 13.0825 -29.41 -2.5459 -4.28534 12.9618 -29.415 -2.63514 -4.45854 12.8467 -29.42 -2.72868 -4.63931 12.7374 -29.425 -2.82669 -4.82803 12.6341 -29.43 -2.92934 -5.02504 12.5372 -29.435 -3.03679 -5.23069 12.447 -29.44 -3.14922 -5.4453 12.3639 -29.445 -3.26681 -5.66918 12.2883 -29.45 -3.38977 -5.90264 12.2207 -29.455 -3.5183 -6.14599 12.1617 -29.46 -3.6526 -6.39949 12.1119 -29.465 -3.79289 -6.66343 12.0718 -29.47 -3.9394 -6.93806 12.0421 -29.475 -4.09236 -7.22363 12.0236 -29.48 -4.25201 -7.52038 12.0169 -29.485 -4.4186 -7.82854 12.0229 -29.49 -4.59239 -8.14832 12.0425 -29.495 -4.77363 -8.47994 12.0765 -29.5 -4.9626 -8.82357 12.1258 -29.505 -5.15952 -9.17926 12.1914 -29.51 -5.36409 -9.54595 12.274 -29.515 -5.57661 -9.92393 12.3749 -29.52 -5.79749 -10.3137 12.4958 -29.525 -6.02705 -10.7154 12.6384 -29.53 -6.26555 -11.129 12.8043 -29.535 -6.51316 -11.5541 12.995 -29.54 -6.76999 -11.9903 13.2121 -29.545 -7.03605 -12.4365 13.4571 -29.55 -7.3113 -12.8917 13.7316 -29.555 -7.59561 -13.3545 14.0372 -29.56 -7.88878 -13.8232 14.3752 -29.565 -8.19052 -14.296 14.7472 -29.57 -8.50049 -14.7706 15.1546 -29.575 -8.81825 -15.2446 15.5988 -29.58 -9.1433 -15.7153 16.0814 -29.585 -9.47506 -16.1798 16.6036 -29.59 -9.81285 -16.6347 17.1669 -29.595 -10.156 -17.0767 17.7727 -29.6 -10.5036 -17.5019 18.4222 -29.605 -10.8548 -17.9065 19.1168 -29.61 -11.2084 -18.2884 19.8552 -29.615 -11.5626 -18.642 20.6361 -29.62 -11.9157 -18.9605 21.4584 -29.625 -12.2659 -19.2374 22.3201 -29.63 -12.6111 -19.467 23.2186 -29.635 -12.9492 -19.6441 24.1505 -29.64 -13.2781 -19.7638 25.1121 -29.645 -13.5955 -19.8219 26.0984 -29.65 -13.899 -19.8147 27.1041 -29.655 -14.1861 -19.7391 28.1232 -29.66 -14.4543 -19.5924 29.1488 -29.665 -14.7009 -19.3723 30.1734 -29.67 -14.923 -19.0773 31.1889 -29.675 -15.1179 -18.7064 32.1865 -29.68 -15.2825 -18.2583 33.1564 -29.685 -15.4157 -17.7268 34.0889 -29.69 -15.5156 -17.119 34.9752 -29.695 -15.5802 -16.4462 35.8076 -29.7 -15.608 -15.7186 36.5791 -29.705 -15.5979 -14.9458 37.284 -29.71 -15.5492 -14.1367 37.9173 -29.715 -15.4619 -13.2995 38.4751 -29.72 -15.3362 -12.4415 38.9543 -29.725 -15.1728 -11.5693 39.3531 -29.73 -14.9731 -10.689 39.6702 -29.735 -14.7387 -9.80568 39.9057 -29.74 -14.4717 -8.92378 40.0604 -29.745 -14.1748 -8.04701 40.1361 -29.75 -13.8509 -7.17835 40.1356 -29.755 -13.5034 -6.32106 40.0628 -29.76 -13.1323 -5.49247 39.9237 -29.765 -12.7396 -4.70168 39.724 -29.77 -12.3286 -3.95256 39.4689 -29.775 -11.9024 -3.24818 39.1639 -29.78 -11.4641 -2.59084 38.8144 -29.785 -11.0165 -1.98202 38.4258 -29.79 -10.5623 -1.42242 38.0039 -29.795 -10.1042 -0.911965 37.5544 -29.8 -9.64449 -0.44977 37.083 -29.805 -9.18568 -0.0341673 36.5956 -29.81 -8.72993 0.337303 36.0982 -29.815 -8.27936 0.667875 35.5966 -29.82 -7.8358 0.959809 35.0927 -29.825 -7.40063 1.2151 34.5871 -29.83 -6.97507 1.43636 34.0818 -29.835 -6.56017 1.62618 33.5789 -29.84 -6.15687 1.7871 33.08 -29.845 -5.76595 1.92163 32.5866 -29.85 -5.38805 2.03226 32.0999 -29.855 -5.02369 2.1214 31.6208 -29.86 -4.67323 2.19147 31.15 -29.865 -4.33691 2.24482 30.688 -29.87 -4.01481 2.28379 30.2348 -29.875 -3.7069 2.31066 29.7905 -29.88 -3.41303 2.32718 29.355 -29.885 -3.13301 2.33446 28.9285 -29.89 -2.86648 2.33383 28.5107 -29.895 -2.61311 2.32655 28.1015 -29.9 -2.37252 2.31379 27.7006 -29.905 -2.14433 2.29663 27.3078 -29.91 -1.92813 2.27607 26.9229 -29.915 -1.72351 2.25301 26.5456 -29.92 -1.53003 2.22827 26.1757 -29.925 -1.34724 2.20259 25.813 -29.93 -1.17467 2.17661 25.4573 -29.935 -1.01183 2.1509 25.1083 -29.94 -0.85823 2.12592 24.7658 -29.945 -0.713336 2.10206 24.4295 -29.95 -0.576616 2.07963 24.0993 -29.955 -0.447498 2.0589 23.7748 -29.96 -0.325522 2.04016 23.456 -29.965 -0.210303 2.02365 23.1425 -29.97 -0.101453 2.00958 22.8344 -29.975 0.00141658 1.99814 22.5315 -29.98 0.098696 1.9895 22.2335 -29.985 0.190777 1.9838 21.9405 -29.99 0.278051 1.98116 21.6523 -29.995 0.360914 1.98168 21.3688 -30 0.439761 1.98543 21.0898 -30.005 0.514988 1.99246 20.8153 -30.01 0.586993 2.0028 20.5451 -30.015 0.656177 2.01645 20.2793 -30.02 0.722921 2.03342 20.0176 -30.025 0.787457 2.05377 19.7601 -30.03 0.849989 2.07759 19.5068 -30.035 0.910734 2.10495 19.2575 -30.04 0.96991 2.13591 19.0123 -30.045 1.02774 2.17055 18.7712 -30.05 1.08445 2.20893 18.5341 -30.055 1.14027 2.2511 18.3009 -30.06 1.19543 2.29711 18.0718 -30.065 1.25017 2.34703 17.8466 -30.07 1.30473 2.4009 17.6253 -30.075 1.35935 2.45875 17.408 -30.08 1.41428 2.52064 17.1947 -30.085 1.46977 2.5866 16.9852 -30.09 1.52603 2.65669 16.7798 -30.095 1.58319 2.73107 16.5783 -30.1 1.64135 2.8099 16.3809 -30.105 1.70065 2.89331 16.1876 -30.11 1.76121 2.98149 15.9984 -30.115 1.82317 3.07457 15.8134 -30.12 1.8867 3.17273 15.6327 -30.125 1.95195 3.27613 15.4564 -30.13 2.01909 3.38493 15.2845 -30.135 2.08831 3.4993 15.1172 -30.14 2.15979 3.61939 14.9546 -30.145 2.23374 3.74539 14.7968 -30.15 2.31036 3.87747 14.6439 -30.155 2.38988 4.01578 14.4961 -30.16 2.47253 4.16052 14.3535 -30.165 2.55853 4.31184 14.2163 -30.17 2.64803 4.46991 14.0848 -30.175 2.74117 4.63509 13.9593 -30.18 2.83807 4.80771 13.8399 -30.185 2.93889 4.98812 13.7269 -30.19 3.04379 5.17662 13.6205 -30.195 3.15294 5.37353 13.5212 -30.2 3.26652 5.57913 13.4293 -30.205 3.38471 5.7937 13.3452 -30.21 3.50772 6.0175 13.2694 -30.215 3.63576 6.25078 13.2023 -30.22 3.76905 6.49375 13.1445 -30.225 3.90781 6.74664 13.0965 -30.23 4.05229 7.00965 13.059 -30.235 4.20275 7.28295 13.0326 -30.24 4.35942 7.56673 13.018 -30.245 4.5226 7.86112 13.0158 -30.25 4.69256 8.16628 13.0269 -30.255 4.86958 8.48233 13.0521 -30.26 5.05344 8.80826 13.0918 -30.265 5.24415 9.14394 13.1468 -30.27 5.44211 9.49008 13.2187 -30.275 5.6477 9.84715 13.3089 -30.28 5.86118 10.2154 13.4187 -30.285 6.08279 10.5949 13.5495 -30.29 6.3127 10.9854 13.7026 -30.295 6.55099 11.3864 13.8795 -30.3 6.79771 11.7974 14.0814 -30.305 7.05283 12.2174 14.3097 -30.31 7.31625 12.6452 14.5656 -30.315 7.58783 13.0796 14.8504 -30.32 7.86735 13.519 15.1655 -30.325 8.15453 13.9614 15.5121 -30.33 8.44903 14.405 15.8913 -30.335 8.75044 14.8474 16.3045 -30.34 9.0583 15.2862 16.7529 -30.345 9.37206 15.7185 17.2376 -30.35 9.69115 16.1415 17.7598 -30.355 10.0149 16.5519 18.3207 -30.36 10.3426 16.9463 18.9215 -30.365 10.6734 17.3211 19.5632 -30.37 11.0064 17.6734 20.2462 -30.375 11.34 18.0005 20.9681 -30.38 11.6724 18.2965 21.7275 -30.385 12.0019 18.5555 22.5226 -30.39 12.3267 18.7721 23.3509 -30.395 12.6448 18.9415 24.2095 -30.4 12.9543 19.0595 25.0949 -30.405 13.2532 19.122 26.0028 -30.41 13.5392 19.1259 26.9286 -30.415 13.8104 19.0682 27.8671 -30.42 14.0643 18.9466 28.8124 -30.425 14.2987 18.7593 29.758 -30.43 14.5112 18.5049 30.6971 -30.435 14.6993 18.1826 31.622 -30.44 14.8605 17.792 32.5246 -30.445 14.9927 17.3311 33.3962 -30.45 15.095 16.7983 34.2284 -30.455 15.1655 16.2026 35.0143 -30.46 15.2028 15.5532 35.7474 -30.465 15.2057 14.8586 36.4225 -30.47 15.1736 14.1269 37.0349 -30.475 15.1061 13.3657 37.5807 -30.48 15.0034 12.5817 38.057 -30.485 14.8658 11.7815 38.4614 -30.49 14.6944 10.9707 38.7927 -30.495 14.4903 10.1547 39.0501 -30.5 14.2553 9.33816 39.234 -30.505 13.9915 8.52515 39.3452 -30.51 13.7012 7.71925 39.3856 -30.515 13.3875 6.92347 39.3578 -30.52 13.0527 6.14356 39.2659 -30.525 12.6967 5.39394 39.1158 -30.53 12.3224 4.67932 38.9124 -30.535 11.9325 4.00288 38.6602 -30.54 11.5299 3.36708 38.3637 -30.545 11.1171 2.77377 38.0278 -30.55 10.6968 2.2241 37.6572 -30.555 10.2714 1.71856 37.2568 -30.56 9.84307 1.25699 36.8315 -30.565 9.41407 0.838557 36.3865 -30.57 8.98645 0.461759 35.9268 -30.575 8.56216 0.124435 35.4576 -30.58 8.14303 -0.176241 34.9842 -30.585 7.73072 -0.442516 34.5087 -30.59 7.32647 -0.675913 34.031 -30.595 6.93132 -0.878712 33.5529 -30.6 6.54619 -1.05316 33.0762 -30.605 6.17188 -1.20147 32.6023 -30.61 5.80909 -1.32581 32.1326 -30.615 5.45837 -1.42834 31.6682 -30.62 5.1202 -1.51115 31.2099 -30.625 4.79489 -1.57632 30.7584 -30.63 4.48269 -1.6259 30.3142 -30.635 4.18368 -1.66189 29.8775 -30.64 3.89787 -1.68626 29.4484 -30.645 3.62513 -1.7009 29.0268 -30.65 3.36527 -1.70685 28.6129 -30.655 3.118 -1.70516 28.2066 -30.66 2.88302 -1.69693 27.8077 -30.665 2.66 -1.68321 27.4162 -30.67 2.44858 -1.66494 27.0318 -30.675 2.24841 -1.64303 26.6544 -30.68 2.05912 -1.61827 26.2838 -30.685 1.88031 -1.59141 25.9199 -30.69 1.71159 -1.56311 25.5624 -30.695 1.55254 -1.53394 25.2111 -30.7 1.40273 -1.50443 24.866 -30.705 1.26171 -1.475 24.5268 -30.71 1.12902 -1.44602 24.1933 -30.715 1.00419 -1.41776 23.8653 -30.72 0.886729 -1.39046 23.5426 -30.725 0.776185 -1.36438 23.225 -30.73 0.672208 -1.33973 22.9125 -30.735 0.574453 -1.3167 22.6049 -30.74 0.482573 -1.29544 22.3021 -30.745 0.396223 -1.27611 22.0039 -30.75 0.315059 -1.25881 21.7102 -30.755 0.238735 -1.24365 21.421 -30.76 0.166904 -1.2307 21.1361 -30.765 0.0992225 -1.22001 20.8554 -30.77 0.035344 -1.21162 20.5788 -30.775 -0.0250769 -1.20552 20.3063 -30.78 -0.0823857 -1.20172 20.0377 -30.785 -0.136917 -1.20018 19.773 -30.79 -0.188884 -1.20094 19.512 -30.795 -0.238467 -1.20406 19.2549 -30.8 -0.285854 -1.20956 19.0014 -30.805 -0.331234 -1.21748 18.7516 -30.81 -0.374797 -1.22785 18.5054 -30.815 -0.416737 -1.24069 18.2627 -30.82 -0.457245 -1.25601 18.0235 -30.825 -0.496519 -1.27383 17.7878 -30.83 -0.534753 -1.29415 17.5556 -30.835 -0.572147 -1.31699 17.3267 -30.84 -0.608899 -1.34234 17.1011 -30.845 -0.645211 -1.37018 16.8789 -30.85 -0.681282 -1.40052 16.6599 -30.855 -0.717248 -1.43341 16.4441 -30.86 -0.753193 -1.46891 16.2316 -30.865 -0.789209 -1.50713 16.0223 -30.87 -0.825393 -1.54812 15.8162 -30.875 -0.861848 -1.59198 15.6133 -30.88 -0.898684 -1.63878 15.4136 -30.885 -0.936015 -1.68862 15.217 -30.89 -0.973964 -1.74157 15.0236 -30.895 -1.01266 -1.79772 14.8334 -30.9 -1.05223 -1.85717 14.6463 -30.905 -1.09281 -1.92 14.4624 -30.91 -1.13456 -1.9863 14.2817 -30.915 -1.17762 -2.05617 14.1042 -30.92 -1.22214 -2.1297 13.9298 -30.925 -1.26829 -2.20699 13.7588 -30.93 -1.31617 -2.28821 13.591 -30.935 -1.36584 -2.37356 13.4265 -30.94 -1.4174 -2.46324 13.2654 -30.945 -1.47092 -2.55746 13.1077 -30.95 -1.52652 -2.65641 12.9535 -30.955 -1.58432 -2.76032 12.8028 -30.96 -1.64443 -2.8694 12.6558 -30.965 -1.70699 -2.98389 12.5124 -30.97 -1.77215 -3.10401 12.373 -30.975 -1.84006 -3.23 12.2375 -30.98 -1.91089 -3.3621 12.1061 -30.985 -1.98481 -3.50057 11.9789 -30.99 -2.06202 -3.64565 11.8562 -30.995 -2.1427 -3.79761 11.7381 -31 -2.22706 -3.95671 11.6247 -31.005 -2.31533 -4.12322 11.5164 -31.01 -2.40772 -4.29741 11.4132 -31.015 -2.50443 -4.47936 11.3158 -31.02 -2.60562 -4.6695 11.2243 -31.025 -2.71147 -4.86837 11.139 -31.03 -2.82216 -5.07646 11.0601 -31.035 -2.93788 -5.29425 10.988 -31.04 -3.05884 -5.52218 10.923 -31.045 -3.18526 -5.76067 10.8657 -31.05 -3.31735 -6.01012 10.8166 -31.055 -3.45535 -6.27089 10.7763 -31.06 -3.59952 -6.54332 10.7453 -31.065 -3.75009 -6.82773 10.7245 -31.07 -3.90733 -7.1244 10.7146 -31.075 -4.07153 -7.4336 10.7164 -31.08 -4.24296 -7.75556 10.7308 -31.085 -4.42191 -8.09048 10.7588 -31.09 -4.6087 -8.43856 10.8015 -31.095 -4.80362 -8.79994 10.8598 -31.1 -5.00702 -9.17476 10.935 -31.105 -5.21922 -9.56311 11.0282 -31.11 -5.44056 -9.96507 11.1407 -31.115 -5.67121 -10.3804 11.2736 -31.12 -5.91058 -10.8077 11.4277 -31.125 -6.15909 -11.2473 11.605 -31.13 -6.41721 -11.6996 11.808 -31.135 -6.68531 -12.1642 12.0388 -31.14 -6.96364 -12.6409 12.2995 -31.145 -7.25232 -13.1288 12.5922 -31.15 -7.55137 -13.6265 12.9189 -31.155 -7.86069 -14.1327 13.2813 -31.16 -8.18005 -14.6453 13.6813 -31.165 -8.5091 -15.162 14.1205 -31.17 -8.84741 -15.6802 14.6005 -31.175 -9.19439 -16.1967 15.1227 -31.18 -9.54934 -16.7083 15.6886 -31.185 -9.91147 -17.2111 16.2995 -31.19 -10.2798 -17.7009 16.9565 -31.195 -10.6534 -18.1734 17.6608 -31.2 -11.031 -18.6235 18.4134 -31.205 -11.4114 -19.046 19.2153 -31.21 -11.7932 -19.4354 20.0672 -31.215 -12.1749 -19.7869 20.9691 -31.22 -12.5545 -20.0968 21.9177 -31.225 -12.9295 -20.3567 22.9089 -31.23 -13.2971 -20.5587 23.9383 -31.235 -13.6546 -20.6959 25.0007 -31.24 -13.9992 -20.7623 26.0904 -31.245 -14.3282 -20.7529 27.201 -31.25 -14.6388 -20.6637 28.3253 -31.255 -14.928 -20.4916 29.4559 -31.26 -15.1931 -20.2344 30.5842 -31.265 -15.4312 -19.8911 31.7013 -31.27 -15.6392 -19.4614 32.7977 -31.275 -15.8144 -18.9461 33.8631 -31.28 -15.9536 -18.3469 34.8865 -31.285 -16.0542 -17.6652 35.856 -31.29 -16.1148 -16.8996 36.7584 -31.295 -16.1341 -16.063 37.5866 -31.3 -16.111 -15.1699 38.3354 -31.305 -16.0449 -14.2335 39.0007 -31.31 -15.9357 -13.2662 39.579 -31.315 -15.7838 -12.279 40.068 -31.32 -15.59 -11.2817 40.4661 -31.325 -15.3557 -10.2832 40.7728 -31.33 -15.0828 -9.29101 40.9884 -31.335 -14.7735 -8.31163 41.1141 -31.34 -14.4308 -7.35038 41.152 -31.345 -14.0581 -6.41144 41.1052 -31.35 -13.659 -5.49784 40.9776 -31.355 -13.2379 -4.61186 40.7743 -31.36 -12.796 -3.76774 40.5056 -31.365 -12.3356 -2.97468 40.1805 -31.37 -11.8604 -2.23531 39.8059 -31.375 -11.3738 -1.55135 39.3883 -31.38 -10.8792 -0.923705 38.9342 -31.385 -10.3797 -0.352403 38.4498 -31.39 -9.87801 0.163383 37.9414 -31.395 -9.37693 0.625335 37.415 -31.4 -8.87891 1.036 36.8763 -31.405 -8.38622 1.39877 36.3311 -31.41 -7.90094 1.71791 35.7848 -31.415 -7.42491 1.99652 35.2402 -31.42 -6.95956 2.23664 34.6981 -31.425 -6.50605 2.44151 34.1604 -31.43 -6.06538 2.61423 33.629 -31.435 -5.6384 2.75784 33.1053 -31.44 -5.22582 2.87524 32.5906 -31.445 -4.82816 2.96926 32.0858 -31.45 -4.44583 3.04262 31.5916 -31.455 -4.07906 3.09794 31.1083 -31.46 -3.72793 3.13774 30.6362 -31.465 -3.39237 3.16445 30.1749 -31.47 -3.07221 3.18022 29.7244 -31.475 -2.76724 3.18663 29.2848 -31.48 -2.47703 3.18512 28.8557 -31.485 -2.20117 3.17709 28.4368 -31.49 -1.93922 3.16381 28.0276 -31.495 -1.69071 3.14647 27.6279 -31.5 -1.45517 3.12616 27.2374 -31.505 -1.23212 3.10391 26.8556 -31.51 -1.02104 3.0806 26.4824 -31.515 -0.821417 3.05707 26.1173 -31.52 -0.632712 3.03405 25.7602 -31.525 -0.454373 3.01215 25.4106 -31.53 -0.285832 2.99192 25.0684 -31.535 -0.126503 2.97382 24.7332 -31.54 0.0242125 2.95818 24.4048 -31.545 0.166932 2.94529 24.083 -31.55 0.302317 2.93537 23.7674 -31.555 0.430861 2.92871 23.4578 -31.56 0.552971 2.92553 23.1542 -31.565 0.66906 2.92603 22.8563 -31.57 0.779542 2.93041 22.5641 -31.575 0.884837 2.93882 22.2773 -31.58 0.985366 2.95142 21.996 -31.585 1.08156 2.96832 21.72 -31.59 1.17384 2.98964 21.4491 -31.595 1.26264 3.01545 21.1834 -31.6 1.3484 3.04582 20.9227 -31.605 1.43157 3.08078 20.6669 -31.61 1.51258 3.12037 20.416 -31.615 1.59189 3.16458 20.1699 -31.62 1.66985 3.21344 19.9285 -31.625 1.74664 3.26708 19.692 -31.63 1.8225 3.3256 19.4604 -31.635 1.89763 3.38912 19.2336 -31.64 1.97228 3.45774 19.0117 -31.645 2.04668 3.53156 18.7947 -31.65 2.12108 3.61068 18.5828 -31.655 2.19573 3.6952 18.3759 -31.66 2.27088 3.78521 18.174 -31.665 2.3468 3.88079 17.9774 -31.67 2.42375 3.98204 17.7859 -31.675 2.50202 4.08903 17.5999 -31.68 2.58189 4.20185 17.4192 -31.685 2.66363 4.32057 17.244 -31.69 2.74753 4.44526 17.0745 -31.695 2.83373 4.57607 16.9109 -31.7 2.92238 4.71325 16.7533 -31.705 3.0136 4.85701 16.6019 -31.71 3.10755 5.00757 16.4569 -31.715 3.20439 5.16514 16.3185 -31.72 3.30428 5.3299 16.1871 -31.725 3.40741 5.50203 16.063 -31.73 3.51397 5.68171 15.9463 -31.735 3.62415 5.8691 15.8374 -31.74 3.73816 6.06433 15.7368 -31.745 3.85621 6.26755 15.6448 -31.75 3.97854 6.47888 15.5617 -31.755 4.10538 6.69843 15.488 -31.76 4.23697 6.9263 15.4242 -31.765 4.37358 7.16259 15.3706 -31.77 4.51545 7.40738 15.3279 -31.775 4.66266 7.66042 15.2965 -31.78 4.81525 7.92175 15.2769 -31.785 4.97343 8.19174 15.27 -31.79 5.13738 8.47066 15.2765 -31.795 5.30726 8.75864 15.2973 -31.8 5.48323 9.05572 15.3332 -31.805 5.66539 9.36182 15.3851 -31.81 5.85383 9.67675 15.4538 -31.815 6.04864 10.0002 15.5402 -31.82 6.24985 10.3318 15.6453 -31.825 6.4575 10.6709 15.7699 -31.83 6.67159 11.017 15.915 -31.835 6.89209 11.3693 16.0816 -31.84 7.11896 11.727 16.2706 -31.845 7.35215 12.089 16.4831 -31.85 7.59155 12.4543 16.7201 -31.855 7.83706 12.8216 16.9826 -31.86 8.08854 13.1898 17.2716 -31.865 8.34584 13.5572 17.5883 -31.87 8.60877 13.9226 17.9337 -31.875 8.87674 14.2848 18.3079 -31.88 9.14898 14.6423 18.7112 -31.885 9.42501 14.9919 19.1448 -31.89 9.70424 15.3305 19.6096 -31.895 9.98597 15.6551 20.1059 -31.9 10.2694 15.9627 20.634 -31.905 10.5536 16.2504 21.1934 -31.91 10.8376 16.5151 21.7835 -31.915 11.1203 16.7539 22.403 -31.92 11.4003 16.964 23.0505 -31.925 11.6766 17.1423 23.724 -31.93 11.9474 17.2861 24.4213 -31.935 12.2115 17.3924 25.1397 -31.94 12.467 17.4585 25.8759 -31.945 12.7123 17.4815 26.6266 -31.95 12.9455 17.4587 27.3879 -31.955 13.1646 17.3873 28.1554 -31.96 13.3681 17.2631 28.9254 -31.965 13.5554 17.0808 29.6953 -31.97 13.7244 16.8433 30.4573 -31.975 13.8729 16.5541 31.2043 -31.98 13.9992 16.2168 31.9295 -31.985 14.1016 15.835 32.6269 -31.99 14.1789 15.4119 33.2908 -31.995 14.2301 14.951 33.9166 -32 14.2544 14.4555 34.5001 -32.005 14.2513 13.9286 35.0377 -32.01 14.2207 13.3734 35.5266 -32.015 14.1626 12.7928 35.9644 -32.02 14.0773 12.19 36.3496 -32.025 13.9656 11.5676 36.6812 -32.03 13.8282 10.9286 36.9588 -32.035 13.6665 10.2757 37.1827 -32.04 13.4817 9.61155 37.3539 -32.045 13.2755 8.93901 37.4738 -32.05 13.047 8.2706 37.5411 -32.055 12.7971 7.61478 37.5561 -32.06 12.5277 6.97541 37.5208 -32.065 12.241 6.35594 37.4373 -32.07 11.9389 5.75941 37.308 -32.075 11.6234 5.18849 37.1357 -32.08 11.2964 4.64542 36.9232 -32.085 10.9598 4.13207 36.6739 -32.09 10.6154 3.64989 36.3911 -32.095 10.2651 3.19994 36.0786 -32.1 9.91067 2.78288 35.7403 -32.105 9.5538 2.39897 35.3805 -32.11 9.19621 2.04807 35.0036 -32.115 8.83957 1.72965 34.6144 -32.12 8.48551 1.44278 34.2178 -32.125 8.13562 1.18595 33.8179 -32.13 7.79117 0.956736 33.4126 -32.135 7.45308 0.753557 33.0028 -32.14 7.12219 0.574984 32.5899 -32.145 6.79923 0.419573 32.1755 -32.15 6.48488 0.28587 31.7608 -32.155 6.17972 0.172407 31.347 -32.16 5.88425 0.0777078 30.9351 -32.165 5.5989 0.000282925 30.526 -32.17 5.32399 -0.0613678 30.1204 -32.175 5.0598 -0.108756 29.7189 -32.18 4.8065 -0.143404 29.322 -32.185 4.56417 -0.166846 28.93 -32.19 4.33285 -0.180627 28.543 -32.195 4.11247 -0.186303 28.1612 -32.2 3.90284 -0.184864 27.7846 -32.205 3.7037 -0.176431 27.4132 -32.21 3.51483 -0.16179 27.0471 -32.215 3.336 -0.141689 26.6864 -32.22 3.16695 -0.116819 26.3308 -32.225 3.00744 -0.08782 25.9804 -32.23 2.8572 -0.0552735 25.6352 -32.235 2.71594 -0.0197071 25.2951 -32.24 2.58339 0.0184068 24.96 -32.245 2.45925 0.0586509 24.6298 -32.25 2.34321 0.100663 24.3045 -32.255 2.23495 0.144136 23.9839 -32.26 2.13415 0.188819 23.6681 -32.265 2.04046 0.234513 23.3568 -32.27 1.95355 0.281078 23.05 -32.275 1.87302 0.328378 22.7476 -32.28 1.79864 0.376273 22.4495 -32.285 1.73018 0.424646 22.1557 -32.29 1.66742 0.473401 21.866 -32.295 1.61015 0.522465 21.5805 -32.3 1.55814 0.571786 21.2989 -32.305 1.51118 0.621335 21.0214 -32.31 1.46905 0.671106 20.7478 -32.315 1.43151 0.721111 20.478 -32.32 1.39834 0.771388 20.2121 -32.325 1.36933 0.821995 19.9499 -32.33 1.34424 0.873013 19.6914 -32.335 1.32285 0.924544 19.4366 -32.34 1.30492 0.976712 19.1854 -32.345 1.29024 1.02965 18.9378 -32.35 1.27875 1.08342 18.6937 -32.355 1.27039 1.13805 18.4531 -32.36 1.2651 1.19362 18.2161 -32.365 1.26281 1.25021 17.9825 -32.37 1.26345 1.30792 17.7523 -32.375 1.26696 1.36684 17.5256 -32.38 1.27328 1.42709 17.3023 -32.385 1.28234 1.48881 17.0824 -32.39 1.29408 1.55212 16.8659 -32.395 1.30845 1.61718 16.6527 -32.4 1.32537 1.68415 16.443 -32.405 1.3448 1.75319 16.2366 -32.41 1.36667 1.82451 16.0336 -32.415 1.39093 1.89827 15.834 -32.42 1.41754 1.97469 15.6378 -32.425 1.44658 2.05389 15.445 -32.43 1.4781 2.136 15.2557 -32.435 1.51214 2.22119 15.0699 -32.44 1.54875 2.30962 14.8875 -32.445 1.58798 2.40146 14.7087 -32.45 1.62989 2.49691 14.5335 -32.455 1.67454 2.59617 14.3618 -32.46 1.722 2.69945 14.1939 -32.465 1.77232 2.80696 14.0298 -32.47 1.82559 2.91894 13.8695 -32.475 1.88188 3.03563 13.7132 -32.48 1.94126 3.15728 13.5609 -32.485 2.00383 3.28416 13.4128 -32.49 2.06967 3.41654 13.2691 -32.495 2.13887 3.55471 13.1297 -32.5 2.21152 3.69895 12.995 -32.505 2.28776 3.84951 12.8651 -32.51 2.36783 4.00638 12.7404 -32.515 2.45188 4.16997 12.621 -32.52 2.54005 4.34069 12.507 -32.525 2.63248 4.51896 12.3986 -32.53 2.72933 4.70517 12.2961 -32.535 2.83076 4.8997 12.1997 -32.54 2.93695 5.10293 12.1097 -32.545 3.04807 5.31521 12.0266 -32.55 3.16431 5.53689 11.9507 -32.555 3.28588 5.76829 11.8825 -32.56 3.41297 6.00972 11.8226 -32.565 3.54579 6.26148 11.7714 -32.57 3.68458 6.52387 11.7297 -32.575 3.82956 6.79715 11.6981 -32.58 3.98097 7.08159 11.6773 -32.585 4.13906 7.37742 11.668 -32.59 4.30407 7.68488 11.6711 -32.595 4.47628 8.00418 11.6875 -32.6 4.65596 8.33553 11.718 -32.605 4.84338 8.67912 11.7636 -32.61 5.03884 9.03512 11.8252 -32.615 5.24263 9.40369 11.9041 -32.62 5.45455 9.78399 12.0008 -32.625 5.67457 10.1756 12.1165 -32.63 5.90315 10.5792 12.2532 -32.635 6.14067 10.9948 12.4125 -32.64 6.38741 11.4225 12.5964 -32.645 6.64357 11.8618 12.8065 -32.65 6.90925 12.3121 13.0445 -32.655 7.18448 12.7726 13.3121 -32.66 7.4692 13.2418 13.6109 -32.665 7.76324 13.7183 13.9425 -32.67 8.06639 14.2004 14.3083 -32.675 8.3783 14.6857 14.71 -32.68 8.69856 15.1721 15.1489 -32.685 9.02667 15.6567 15.6266 -32.69 9.36205 16.1366 16.1444 -32.695 9.70401 16.6085 16.7036 -32.7 10.0518 17.0687 17.3056 -32.705 10.4046 17.5136 17.9517 -32.71 10.7614 17.9388 18.6431 -32.715 11.1212 18.3399 19.381 -32.72 11.4828 18.7145 20.1646 -32.725 11.8443 19.0575 20.9919 -32.73 12.2038 19.3613 21.8609 -32.735 12.5592 19.6192 22.7692 -32.74 12.9082 19.8251 23.7135 -32.745 13.2486 19.9734 24.69 -32.75 13.5781 20.0593 25.6939 -32.755 13.8942 20.0785 26.7199 -32.76 14.1945 20.0274 27.7621 -32.765 14.4763 19.9031 28.8137 -32.77 14.7369 19.7033 29.8674 -32.775 14.9736 19.4262 30.915 -32.78 15.1836 19.071 31.9477 -32.785 15.3639 18.6371 32.956 -32.79 15.5115 18.1242 33.9296 -32.795 15.6253 17.527 34.8577 -32.8 15.7035 16.8543 35.7316 -32.805 15.7443 16.1182 36.5443 -32.81 15.7464 15.33 37.2896 -32.815 15.709 14.5 37.9622 -32.82 15.6317 13.6379 38.5579 -32.825 15.5147 12.7524 39.0734 -32.83 15.3586 11.8512 39.5063 -32.835 15.1643 10.9414 39.8552 -32.84 14.9335 10.0291 40.1196 -32.845 14.6681 9.11962 40.3001 -32.85 14.3706 8.21739 40.3982 -32.855 14.0441 7.32599 40.4162 -32.86 13.6918 6.44813 40.3575 -32.865 13.3169 5.58921 40.227 -32.87 12.9192 4.76723 40.0326 -32.875 12.5018 3.98798 39.7802 -32.88 12.0681 3.25478 39.4757 -32.885 11.6212 2.57011 39.1247 -32.89 11.1641 1.93565 38.7331 -32.895 10.6998 1.35226 38.3065 -32.9 10.231 0.819984 37.8508 -32.905 9.76025 0.338043 37.3719 -32.91 9.28999 -0.0951477 36.8756 -32.915 8.82254 -0.481992 36.3677 -32.92 8.36003 -0.82571 35.8542 -32.925 7.90444 -1.12966 35.3395 -32.93 7.45736 -1.39543 34.8235 -32.935 7.02001 -1.62571 34.3082 -32.94 6.59353 -1.82324 33.7955 -32.945 6.17885 -1.99073 33.2872 -32.95 5.77681 -2.13083 32.7849 -32.955 5.38809 -2.24612 32.2897 -32.96 5.01321 -2.33914 31.8026 -32.965 4.65257 -2.41238 31.3243 -32.97 4.30641 -2.46826 30.8552 -32.975 3.97485 -2.50916 30.3957 -32.98 3.65785 -2.5374 29.9455 -32.985 3.35528 -2.55498 29.5046 -32.99 3.06693 -2.56315 29.0732 -32.995 2.79247 -2.56325 28.651 -33 2.53152 -2.55659 28.2378 -33.005 2.28369 -2.54438 27.8334 -33.01 2.04858 -2.52774 27.4374 -33.015 1.82577 -2.50771 27.0497 -33.02 1.61483 -2.48522 26.6699 -33.025 1.4153 -2.46113 26.2979 -33.03 1.22672 -2.43621 25.9333 -33.035 1.04859 -2.41115 25.576 -33.04 0.880423 -2.38652 25.2256 -33.045 0.721695 -2.36284 24.882 -33.05 0.571872 -2.34052 24.5449 -33.055 0.430405 -2.31988 24.214 -33.06 0.296713 -2.30119 23.8891 -33.065 0.170243 -2.28473 23.57 -33.07 0.0505927 -2.27076 23.2565 -33.075 -0.0626303 -2.2595 22.9485 -33.08 -0.169821 -2.25115 22.6458 -33.085 -0.271375 -2.24588 22.3483 -33.09 -0.367692 -2.24384 22.0559 -33.095 -0.459173 -2.24517 21.7684 -33.1 -0.54622 -2.24998 21.4858 -33.105 -0.629238 -2.25835 21.208 -33.11 -0.708633 -2.27034 20.9347 -33.115 -0.784814 -2.28601 20.666 -33.12 -0.858193 -2.30536 20.4017 -33.125 -0.929181 -2.32841 20.1419 -33.13 -0.998127 -2.35516 19.8863 -33.135 -1.06523 -2.38572 19.635 -33.14 -1.13069 -2.42018 19.388 -33.145 -1.19474 -2.45863 19.1453 -33.15 -1.2576 -2.50113 18.9068 -33.155 -1.31949 -2.54777 18.6725 -33.16 -1.38066 -2.59862 18.4425 -33.165 -1.44132 -2.65375 18.2166 -33.17 -1.50174 -2.71324 17.995 -33.175 -1.56214 -2.77714 17.7776 -33.18 -1.62279 -2.84552 17.5645 -33.185 -1.68393 -2.91844 17.3556 -33.19 -1.74583 -2.99596 17.151 -33.195 -1.80875 -3.07812 16.9506 -33.2 -1.87289 -3.16503 16.7547 -33.205 -1.93838 -3.25685 16.5631 -33.21 -2.00533 -3.35377 16.3761 -33.215 -2.07389 -3.45598 16.1937 -33.22 -2.1442 -3.56366 16.0159 -33.225 -2.21639 -3.67698 15.8429 -33.23 -2.29065 -3.79614 15.6749 -33.235 -2.36714 -3.92131 15.5119 -33.24 -2.44605 -4.05268 15.3541 -33.245 -2.52757 -4.19043 15.2016 -33.25 -2.6119 -4.33474 15.0547 -33.255 -2.69927 -4.4858 14.9136 -33.26 -2.78989 -4.64379 14.7784 -33.265 -2.884 -4.80889 14.6493 -33.27 -2.98186 -4.98128 14.5267 -33.275 -3.0837 -5.16115 14.4107 -33.28 -3.1897 -5.34857 14.3017 -33.285 -3.29997 -5.54387 14.2002 -33.29 -3.41469 -5.74746 14.1063 -33.295 -3.53402 -5.9597 14.0205 -33.3 -3.65812 -6.18091 13.9432 -33.305 -3.78718 -6.41139 13.8748 -33.31 -3.92138 -6.65139 13.816 -33.315 -4.0609 -6.90113 13.7672 -33.32 -4.20593 -7.16079 13.729 -33.325 -4.35668 -7.43053 13.7021 -33.33 -4.51333 -7.71044 13.6873 -33.335 -4.67611 -8.0006 13.6852 -33.34 -4.84521 -8.30106 13.6966 -33.345 -5.02087 -8.61181 13.7223 -33.35 -5.2033 -8.93283 13.7634 -33.355 -5.39272 -9.26403 13.8206 -33.36 -5.58938 -9.60532 13.8949 -33.365 -5.79351 -9.95655 13.9875 -33.37 -6.00521 -10.3174 14.099 -33.375 -6.2236 -10.6863 14.229 -33.38 -6.44886 -11.0633 14.3792 -33.385 -6.68142 -11.4481 14.5519 -33.39 -6.92162 -11.8408 14.749 -33.395 -7.16964 -12.2406 14.9725 -33.4 -7.42561 -12.6468 15.224 -33.405 -7.68952 -13.0585 15.505 -33.41 -7.96125 -13.4743 15.817 -33.415 -8.24058 -13.8926 16.1611 -33.42 -8.52718 -14.3117 16.5383 -33.425 -8.82063 -14.7295 16.9495 -33.43 -9.12036 -15.1436 17.3953 -33.435 -9.42574 -15.5515 17.8763 -33.44 -9.736 -15.9502 18.3927 -33.445 -10.0503 -16.3367 18.9447 -33.45 -10.3676 -16.7076 19.5323 -33.455 -10.6868 -17.0593 20.1554 -33.46 -11.0068 -17.3878 20.8135 -33.465 -11.3262 -17.6891 21.5061 -33.47 -11.6437 -17.9586 22.2326 -33.475 -11.9577 -18.1917 22.992 -33.48 -12.2666 -18.3835 23.7834 -33.485 -12.5687 -18.5288 24.6055 -33.49 -12.8627 -18.6253 25.4556 -33.495 -13.1466 -18.6701 26.3276 -33.5 -13.4176 -18.6597 27.2144 -33.505 -13.6732 -18.5911 28.1093 -33.51 -13.911 -18.4621 29.0056 -33.515 -14.1288 -18.2712 29.8969 -33.52 -14.3245 -18.0176 30.7767 -33.525 -14.4963 -17.7012 31.6388 -33.53 -14.6424 -17.3228 32.4771 -33.535 -14.7613 -16.8836 33.2857 -33.54 -14.8515 -16.3859 34.0587 -33.545 -14.9119 -15.8324 34.7905 -33.55 -14.9414 -15.2268 35.4754 -33.555 -14.9391 -14.5733 36.1081 -33.56 -14.9042 -13.8769 36.6833 -33.565 -14.836 -13.1434 37.1943 -33.57 -14.7344 -12.3806 37.6352 -33.575 -14.6001 -11.5973 38.0061 -33.58 -14.4343 -10.8021 38.3077 -33.585 -14.2381 -10.0026 38.541 -33.59 -14.0128 -9.20588 38.7074 -33.595 -13.7601 -8.41838 38.8085 -33.6 -13.4816 -7.64588 38.8464 -33.605 -13.1792 -6.89351 38.8236 -33.61 -12.855 -6.16575 38.7427 -33.615 -12.5112 -5.46643 38.607 -33.62 -12.1503 -4.79876 38.4198 -33.625 -11.7747 -4.16527 38.185 -33.63 -11.3874 -3.56786 37.9069 -33.635 -10.9911 -3.00778 37.5898 -33.64 -10.5886 -2.48609 37.2394 -33.645 -10.1814 -2.00452 36.8624 -33.65 -9.77145 -1.56293 36.4632 -33.655 -9.36099 -1.16068 36.0454 -33.66 -8.95193 -0.796902 35.6125 -33.665 -8.54604 -0.470407 35.1678 -33.67 -8.14495 -0.179747 34.7142 -33.675 -7.75011 0.0768112 34.2546 -33.68 -7.3628 0.301279 33.7915 -33.685 -6.98414 0.495949 33.3273 -33.69 -6.61512 0.663394 32.8641 -33.695 -6.25651 0.806464 32.4036 -33.7 -5.90895 0.928273 31.9477 -33.705 -5.57303 1.03028 31.4967 -33.71 -5.24906 1.11359 31.0509 -33.715 -4.93724 1.18004 30.6107 -33.72 -4.63769 1.23138 30.1766 -33.725 -4.3505 1.26925 29.7489 -33.73 -4.07567 1.29521 29.3279 -33.735 -3.81318 1.3107 28.9138 -33.74 -3.56292 1.31708 28.5067 -33.745 -3.32476 1.31561 28.1067 -33.75 -3.09849 1.30745 27.7136 -33.755 -2.88384 1.29365 27.3274 -33.76 -2.68051 1.27517 26.9478 -33.765 -2.48809 1.25288 26.5747 -33.77 -2.30607 1.22749 26.208 -33.775 -2.13412 1.19961 25.8475 -33.78 -1.97189 1.1698 25.4931 -33.785 -1.81904 1.13858 25.1445 -33.79 -1.6752 1.10642 24.8017 -33.795 -1.54003 1.07374 24.4645 -33.8 -1.41314 1.04094 24.1327 -33.805 -1.29417 1.00836 23.8061 -33.81 -1.18273 0.976293 23.4846 -33.815 -1.07841 0.944996 23.1682 -33.82 -0.980833 0.91468 22.8566 -33.825 -0.889575 0.885511 22.5497 -33.83 -0.804225 0.857612 22.2473 -33.835 -0.724356 0.831063 21.9495 -33.84 -0.649538 0.805898 21.656 -33.845 -0.57933 0.78211 21.3668 -33.85 -0.513421 0.759733 21.0817 -33.855 -0.451672 0.738887 20.8006 -33.86 -0.393863 0.719626 20.5236 -33.865 -0.339773 0.701995 20.2504 -33.87 -0.289181 0.686026 19.9811 -33.875 -0.241865 0.67174 19.7156 -33.88 -0.197599 0.659147 19.4537 -33.885 -0.15616 0.648244 19.1955 -33.89 -0.117322 0.639016 18.9409 -33.895 -0.0808572 0.63144 18.6898 -33.9 -0.0465392 0.625477 18.4421 -33.905 -0.0141388 0.621079 18.1978 -33.91 0.0165737 0.618186 17.9568 -33.915 0.045825 0.616729 17.7191 -33.92 0.0737288 0.616717 17.4846 -33.925 0.100362 0.61818 17.2533 -33.93 0.125822 0.62113 17.0251 -33.935 0.150212 0.625574 16.8 -33.94 0.173634 0.631518 16.578 -33.945 0.196192 0.638966 16.359 -33.95 0.217995 0.647918 16.143 -33.955 0.239151 0.658374 15.9299 -33.96 0.259772 0.670328 15.7198 -33.965 0.279971 0.683774 15.5125 -33.97 0.299863 0.698704 15.3081 -33.975 0.319565 0.715105 15.1064 -33.98 0.339198 0.732964 14.9075 -33.985 0.358872 0.752274 14.7114 -33.99 0.378632 0.773089 14.5179 -33.995 0.398519 0.795465 14.3271 -34 0.418581 0.819454 14.139 -34.005 0.438867 0.845109 13.9535 -34.01 0.459436 0.872485 13.7706 -34.015 0.480346 0.901639 13.5903 -34.02 0.501662 0.932627 13.4125 -34.025 0.523452 0.965508 13.2373 -34.03 0.545788 1.00034 13.0646 -34.035 0.568748 1.03719 12.8944 -34.04 0.592411 1.07612 12.7266 -34.045 0.616864 1.11719 12.5614 -34.05 0.642194 1.16046 12.3986 -34.055 0.668496 1.20601 12.2382 -34.06 0.695865 1.2539 12.0803 -34.065 0.724375 1.30426 11.9248 -34.07 0.754067 1.35721 11.7718 -34.075 0.78499 1.41289 11.6212 -34.08 0.817199 1.47144 11.473 -34.085 0.850756 1.533 11.3273 -34.09 0.885732 1.59773 11.184 -34.095 0.922205 1.66578 11.0432 -34.1 0.960259 1.73732 10.9048 -34.105 0.999988 1.81252 10.769 -34.11 1.04149 1.89156 10.6357 -34.115 1.08488 1.97461 10.505 -34.12 1.13026 2.06187 10.377 -34.125 1.17776 2.15354 10.2516 -34.13 1.22752 2.2498 10.129 -34.135 1.27966 2.35088 10.0092 -34.14 1.33433 2.45699 9.89224 -34.145 1.39169 2.56834 9.77825 -34.15 1.4519 2.68516 9.66731 -34.155 1.51515 2.80763 9.55965 -34.16 1.58155 2.93607 9.45542 -34.165 1.65123 3.07085 9.35463 -34.17 1.7243 3.21236 9.25737 -34.175 1.80091 3.36097 9.16375 -34.18 1.88121 3.51707 9.07393 -34.185 1.96536 3.68105 8.9881 -34.19 2.05355 3.85332 8.90648 -34.195 2.14597 4.03426 8.82936 -34.2 2.24284 4.2243 8.75703 -34.205 2.34437 4.42383 8.68985 -34.21 2.45082 4.63327 8.62819 -34.215 2.56243 4.85305 8.57249 -34.22 2.67947 5.08358 8.5232 -34.225 2.80222 5.32529 8.48082 -34.23 2.93099 5.57862 8.44589 -34.235 3.06608 5.84401 8.419 -34.24 3.20781 6.12189 8.40075 -34.245 3.35654 6.41271 8.3918 -34.25 3.51262 6.71693 8.39284 -34.255 3.6764 7.03499 8.40461 -34.26 3.84821 7.36703 8.42794 -34.265 4.02766 7.71058 8.46437 -34.27 4.2152 8.06677 8.51499 -34.275 4.41143 8.43743 8.58079 -34.28 4.61692 8.8241 8.66291 -34.285 4.83217 9.22798 8.76257 -34.29 5.05763 9.64997 8.88115 -34.295 5.29367 10.0907 9.0201 -34.3 5.54064 10.5504 9.18102 -34.305 5.79881 11.0291 9.36561 -34.31 6.06839 11.5264 9.5757 -34.315 6.34955 12.0417 9.81322 -34.32 6.64238 12.5739 10.0802 -34.325 6.94694 13.122 10.3789 -34.33 7.26322 13.6842 10.7115 -34.335 7.59114 14.2586 11.0804 -34.34 7.93058 14.8431 11.4882 -34.345 8.28136 15.4351 11.9375 -34.35 8.64325 16.0319 12.4311 -34.355 9.01594 16.6302 12.9717 -34.36 9.39909 17.2266 13.5625 -34.365 9.79228 17.8173 14.2064 -34.37 10.1951 18.3983 14.9068 -34.375 10.6069 18.9652 15.6669 -34.38 11.0272 19.5133 16.4903 -34.385 11.4541 20.0387 17.3755 -34.39 11.8849 20.5338 18.32 -34.395 12.3178 20.9893 19.3238 -34.4 12.7503 21.3961 20.3861 -34.405 13.1801 21.7456 21.5043 -34.41 13.6044 22.0298 22.6749 -34.415 14.0204 22.2411 23.8931 -34.42 14.4248 22.3725 25.1526 -34.425 14.8142 22.4175 26.4462 -34.43 15.185 22.3699 27.7651 -34.435 15.5333 22.2242 29.0995 -34.44 15.8551 21.9754 30.438 -34.445 16.146 21.6188 31.7684 -34.45 16.4025 21.147 33.0784 -34.455 16.6221 20.5576 34.355 -34.46 16.8006 19.8611 35.5818 -34.465 16.9343 19.0683 36.7441 -34.47 17.0203 18.1897 37.829 -34.475 17.0564 17.2355 38.8256 -34.48 17.0412 16.2159 39.7245 -34.485 16.974 15.1408 40.5184 -34.49 16.8548 14.0199 41.2017 -34.495 16.6844 12.8627 41.7705 -34.5 16.4645 11.6785 42.223 -34.505 16.1972 10.4764 42.5589 -34.51 15.8856 9.26519 42.7798 -34.515 15.5325 8.05735 42.889 -34.52 15.1382 6.87771 42.8907 -34.525 14.7067 5.73823 42.7919 -34.53 14.2421 4.64783 42.6005 -34.535 13.7488 3.61391 42.3246 -34.54 13.2308 2.64242 41.973 -34.545 12.6924 1.7378 41.5547 -34.55 12.1377 0.903006 41.0796 -34.555 11.5708 0.139495 40.5577 -34.56 10.9958 -0.552755 39.9995 -34.565 10.4165 -1.17526 39.4163 -34.57 9.83715 -1.73098 38.8191 -34.575 9.26069 -2.22341 38.2115 -34.58 8.68984 -2.65613 37.5971 -34.585 8.12708 -3.03291 36.9805 -34.59 7.57463 -3.35763 36.3659 -34.595 7.03442 -3.63427 35.7568 -34.6 6.50811 -3.8669 35.1562 -34.605 5.99711 -4.0597 34.5666 -34.61 5.50253 -4.21693 33.9899 -34.615 5.02523 -4.34299 33.4275 -34.62 4.56577 -4.44233 32.8801 -34.625 4.12447 -4.51949 32.3479 -34.63 3.70164 -4.577 31.8314 -34.635 3.29721 -4.61702 31.3303 -34.64 2.91092 -4.64209 30.8443 -34.645 2.54245 -4.65458 30.373 -34.65 2.19144 -4.65669 29.916 -34.655 1.85751 -4.65043 29.4729 -34.66 1.54019 -4.63766 29.0431 -34.665 1.23902 -4.62005 28.6263 -34.67 0.953453 -4.59909 28.2219 -34.675 0.682918 -4.57611 27.8295 -34.68 0.426797 -4.55225 27.4484 -34.685 0.184429 -4.52851 27.0781 -34.69 -0.0448936 -4.50567 26.718 -34.695 -0.26196 -4.48439 26.3676 -34.7 -0.467864 -4.46543 26.0264 -34.705 -0.663218 -4.44931 25.6939 -34.71 -0.848519 -4.43644 25.3699 -34.715 -1.02428 -4.42723 25.0542 -34.72 -1.19103 -4.42202 24.7465 -34.725 -1.3493 -4.42115 24.4465 -34.73 -1.49965 -4.4249 24.154 -34.735 -1.64264 -4.43355 23.8688 -34.74 -1.77884 -4.44733 23.5907 -34.745 -1.90887 -4.46644 23.3195 -34.75 -2.0333 -4.49105 23.055 -34.755 -2.15278 -4.52131 22.797 -34.76 -2.26792 -4.55732 22.5455 -34.765 -2.37937 -4.59917 22.3003 -34.77 -2.4878 -4.64689 22.0612 -34.775 -2.59386 -4.70051 21.8282 -34.78 -2.6981 -4.75999 21.6012 -34.785 -2.80055 -4.82536 21.3805 -34.79 -2.90146 -4.89672 21.166 -34.795 -3.00113 -4.97416 20.9578 -34.8 -3.09982 -5.05778 20.7561 -34.805 -3.19784 -5.14766 20.5609 -34.81 -3.29547 -5.24386 20.3723 -34.815 -3.39301 -5.34643 20.1905 -34.82 -3.49078 -5.45542 20.0156 -34.825 -3.58909 -5.57086 19.8476 -34.83 -3.68825 -5.69277 19.6868 -34.835 -3.7886 -5.82114 19.5332 -34.84 -3.89046 -5.95599 19.3871 -34.845 -3.99417 -6.0973 19.2486 -34.85 -4.10009 -6.24503 19.1178 -34.855 -4.20849 -6.39914 18.995 -34.86 -4.31946 -6.55968 18.8806 -34.865 -4.43314 -6.72677 18.7747 -34.87 -4.54965 -6.90055 18.6778 -34.875 -4.66914 -7.08109 18.5903 -34.88 -4.79175 -7.26843 18.5125 -34.885 -4.91761 -7.46258 18.4448 -34.89 -5.04686 -7.66352 18.3876 -34.895 -5.17963 -7.87118 18.3414 -34.9 -5.31607 -8.08546 18.3066 -34.905 -5.45632 -8.30623 18.2835 -34.91 -5.60051 -8.5333 18.2728 -34.915 -5.74877 -8.76648 18.2749 -34.92 -5.90126 -9.00552 18.2902 -34.925 -6.0581 -9.25013 18.3194 -34.93 -6.21944 -9.5 18.3628 -34.935 -6.38541 -9.75479 18.4211 -34.94 -6.55602 -10.0141 18.4945 -34.945 -6.73091 -10.2775 18.5831 -34.95 -6.91013 -10.5446 18.6879 -34.955 -7.09368 -10.8149 18.8099 -34.96 -7.28157 -11.0877 18.95 -34.965 -7.47371 -11.3622 19.109 -34.97 -7.66998 -11.6377 19.2877 -34.975 -7.87023 -11.9132 19.4865 -34.98 -8.07424 -12.1877 19.7061 -34.985 -8.28172 -12.4602 19.9468 -34.99 -8.49238 -12.7295 20.2088 -34.995 -8.70583 -12.9941 20.4923 -35 -8.92167 -13.2529 20.7973 -35.005 -9.13943 -13.5043 21.1239 -35.01 -9.35859 -13.7467 21.4719 -35.015 -9.57859 -13.9785 21.8409 -35.02 -9.79881 -14.198 22.2307 -35.025 -10.0186 -14.4033 22.6407 -35.03 -10.2372 -14.5925 23.0703 -35.035 -10.4539 -14.7635 23.5189 -35.04 -10.6678 -14.9143 23.9857 -35.045 -10.8783 -15.0428 24.4699 -35.05 -11.0848 -15.1483 24.9709 -35.055 -11.2861 -15.2287 25.4862 -35.06 -11.4809 -15.282 26.0131 -35.065 -11.668 -15.3065 26.5488 -35.07 -11.846 -15.3007 27.0907 -35.075 -12.0141 -15.2637 27.6358 -35.08 -12.1709 -15.1943 28.1815 -35.085 -12.3156 -15.0922 28.725 -35.09 -12.4472 -14.9569 29.2634 -35.095 -12.5649 -14.7885 29.7941 -35.1 -12.6676 -14.5872 30.3142 -35.105 -12.7548 -14.3534 30.8208 -35.11 -12.8257 -14.0881 31.3113 -35.115 -12.8796 -13.7923 31.7828 -35.12 -12.9159 -13.4674 32.2324 -35.125 -12.9341 -13.1149 32.6573 -35.13 -12.9337 -12.7369 33.0548 -35.135 -12.9143 -12.3354 33.4215 -35.14 -12.8755 -11.9126 33.7538 -35.145 -12.8175 -11.4724 34.0505 -35.15 -12.7406 -11.0189 34.3112 -35.155 -12.6454 -10.5558 34.5356 -35.16 -12.5324 -10.0867 34.7236 -35.165 -12.4022 -9.61479 34.8753 -35.17 -12.2555 -9.14318 34.9908 -35.175 -12.093 -8.67467 35.0706 -35.18 -11.9157 -8.21185 35.1153 -35.185 -11.7244 -7.75707 35.1256 -35.19 -11.5202 -7.31244 35.1023 -35.195 -11.3042 -6.87985 35.0466 -35.2 -11.0776 -6.46093 34.9597 -35.205 -10.8416 -6.05711 34.843 -35.21 -10.5976 -5.66956 34.6981 -35.215 -10.3471 -5.29922 34.5268 -35.22 -10.0914 -4.9468 34.3309 -35.225 -9.83215 -4.61305 34.1129 -35.23 -9.56976 -4.29964 33.8763 -35.235 -9.30539 -4.007 33.6232 -35.24 -9.04017 -3.73523 33.3551 -35.245 -8.77518 -3.48429 33.0737 -35.25 -8.51142 -3.25404 32.7806 -35.255 -8.24983 -3.04419 32.4772 -35.26 -7.99127 -2.85431 32.165 -35.265 -7.73654 -2.68387 31.8456 -35.27 -7.48636 -2.53218 31.5201 -35.275 -7.2414 -2.39842 31.19 -35.28 -7.00224 -2.28166 30.8566 -35.285 -6.7694 -2.18082 30.521 -35.29 -6.54333 -2.09469 30.1844 -35.295 -6.32441 -2.02195 29.848 -35.3 -6.11296 -1.96113 29.5129 -35.305 -5.90923 -1.91107 29.1797 -35.31 -5.7134 -1.87206 28.8479 -35.315 -5.52553 -1.84346 28.5177 -35.32 -5.34566 -1.82455 28.1895 -35.325 -5.17382 -1.81465 27.8636 -35.33 -5.01002 -1.8131 27.5404 -35.335 -4.85425 -1.8193 27.22 -35.34 -4.70648 -1.83267 26.9027 -35.345 -4.56667 -1.85266 26.5887 -35.35 -4.43476 -1.87878 26.2782 -35.355 -4.31068 -1.91055 25.9712 -35.36 -4.19432 -1.94752 25.668 -35.365 -4.08558 -1.98932 25.3686 -35.37 -3.98432 -2.03556 25.0731 -35.375 -3.89042 -2.08593 24.7814 -35.38 -3.80369 -2.14012 24.4937 -35.385 -3.72387 -2.19797 24.2098 -35.39 -3.65057 -2.25947 23.9301 -35.395 -3.58371 -2.32443 23.6544 -35.4 -3.52322 -2.39266 23.3829 -35.405 -3.46901 -2.46402 23.1154 -35.41 -3.42098 -2.53838 22.8522 -35.415 -3.37906 -2.61564 22.5931 -35.42 -3.34313 -2.69573 22.3382 -35.425 -3.3131 -2.77859 22.0876 -35.43 -3.28884 -2.86422 21.8413 -35.435 -3.27023 -2.9526 21.5993 -35.44 -3.25716 -3.04377 21.3618 -35.445 -3.24949 -3.1378 21.1287 -35.45 -3.24708 -3.23475 20.9002 -35.455 -3.24979 -3.33474 20.6763 -35.46 -3.25746 -3.4379 20.457 -35.465 -3.26995 -3.54439 20.2426 -35.47 -3.28709 -3.6544 20.033 -35.475 -3.3087 -3.76814 19.8284 -35.48 -3.33462 -3.88585 19.6289 -35.485 -3.36468 -4.00779 19.4346 -35.49 -3.39899 -4.13391 19.2456 -35.495 -3.43774 -4.26422 19.0621 -35.5 -3.48097 -4.39887 18.8842 -35.505 -3.52872 -4.53801 18.7121 -35.51 -3.58104 -4.68179 18.5458 -35.515 -3.63798 -4.83036 18.3855 -35.52 -3.69958 -4.98387 18.2314 -35.525 -3.76588 -5.14249 18.0839 -35.53 -3.83692 -5.30637 17.9429 -35.535 -3.91274 -5.47566 17.809 -35.54 -3.99337 -5.65053 17.6822 -35.545 -4.07886 -5.83115 17.5629 -35.55 -4.16923 -6.01768 17.4515 -35.555 -4.26452 -6.21029 17.3483 -35.56 -4.36477 -6.40914 17.2536 -35.565 -4.46999 -6.61442 17.1678 -35.57 -4.58022 -6.82628 17.0914 -35.575 -4.6955 -7.04492 17.0247 -35.58 -4.81583 -7.27049 16.9683 -35.585 -4.94125 -7.50308 16.9225 -35.59 -5.07176 -7.74202 16.8875 -35.595 -5.20756 -7.98746 16.8639 -35.6 -5.34884 -8.23967 16.8526 -35.605 -5.49575 -8.49883 16.8541 -35.61 -5.64843 -8.76504 16.8694 -35.615 -5.80696 -9.03826 16.899 -35.62 -5.97142 -9.31839 16.9437 -35.625 -6.14185 -9.60521 17.0043 -35.63 -6.31826 -9.89839 17.0814 -35.635 -6.50062 -10.1975 17.1758 -35.64 -6.68888 -10.5021 17.2882 -35.645 -6.88297 -10.8115 17.4194 -35.65 -7.08278 -11.1251 17.5699 -35.655 -7.28815 -11.4419 17.7405 -35.66 -7.49893 -11.7612 17.932 -35.665 -7.7149 -12.0818 18.145 -35.67 -7.93585 -12.4027 18.3801 -35.675 -8.16151 -12.7226 18.6383 -35.68 -8.3916 -13.0404 18.92 -35.685 -8.62578 -13.3544 19.226 -35.69 -8.86372 -13.6634 19.5569 -35.695 -9.10503 -13.9655 19.9136 -35.7 -9.34929 -14.2594 20.2964 -35.705 -9.59584 -14.5441 20.7048 -35.71 -9.84393 -14.8171 21.1386 -35.715 -10.0928 -15.0753 21.5977 -35.72 -10.3415 -15.316 22.0818 -35.725 -10.5892 -15.5364 22.5902 -35.73 -10.8349 -15.7338 23.122 -35.735 -11.0777 -15.9059 23.6758 -35.74 -11.3164 -16.0504 24.2502 -35.745 -11.5499 -16.1651 24.8432 -35.75 -11.777 -16.248 25.4528 -35.755 -11.9966 -16.2972 26.0763 -35.76 -12.2072 -16.311 26.7111 -35.765 -12.4075 -16.2877 27.3541 -35.77 -12.5962 -16.226 28.0018 -35.775 -12.7717 -16.1245 28.6506 -35.78 -12.9325 -15.9821 29.2966 -35.785 -13.0771 -15.7976 29.9354 -35.79 -13.2049 -15.5674 30.5636 -35.795 -13.3149 -15.2926 31.1766 -35.8 -13.4057 -14.977 31.7696 -35.805 -13.4761 -14.6245 32.3383 -35.81 -13.5251 -14.2385 32.8786 -35.815 -13.5521 -13.8227 33.3869 -35.82 -13.5564 -13.3802 33.8602 -35.825 -13.5377 -12.9145 34.2956 -35.83 -13.4959 -12.4284 34.6909 -35.835 -13.4311 -11.925 35.0442 -35.84 -13.3436 -11.4071 35.354 -35.845 -13.234 -10.8774 35.6193 -35.85 -13.103 -10.3385 35.8394 -35.855 -12.9514 -9.79271 36.0142 -35.86 -12.7806 -9.24241 36.1438 -35.865 -12.5919 -8.68973 36.2288 -35.87 -12.3869 -8.13673 36.2704 -35.875 -12.1658 -7.5898 36.2705 -35.88 -11.9288 -7.05667 36.2311 -35.885 -11.6776 -6.53984 36.1537 -35.89 -11.414 -6.04154 36.0398 -35.895 -11.1396 -5.56373 35.8911 -35.9 -10.8561 -5.10808 35.7095 -35.905 -10.5651 -4.67597 35.4971 -35.91 -10.268 -4.26855 35.2562 -35.915 -9.96636 -3.88664 34.9893 -35.92 -9.66153 -3.53081 34.6991 -35.925 -9.35489 -3.20136 34.3882 -35.93 -9.04773 -2.8983 34.0597 -35.935 -8.74129 -2.62136 33.7169 -35.94 -8.43677 -2.37001 33.3631 -35.945 -8.1353 -2.14343 33.0017 -35.95 -7.83796 -1.94052 32.6367 -35.955 -7.54577 -1.75992 32.2718 -35.96 -7.25972 -1.60005 31.9062 -35.965 -6.98048 -1.45965 31.5379 -35.97 -6.70851 -1.33759 31.1678 -35.975 -6.44426 -1.23279 30.7971 -35.98 -6.1881 -1.14414 30.4264 -35.985 -5.94037 -1.07057 30.0566 -35.99 -5.70136 -1.01104 29.6883 -35.995 -5.4713 -0.964501 29.3222 -36 -5.25039 -0.929926 28.9589 -36.005 -5.03875 -0.906306 28.5986 -36.01 -4.8365 -0.892649 28.2418 -36.015 -4.64366 -0.887974 27.8888 -36.02 -4.46025 -0.891318 27.5397 -36.025 -4.28619 -0.901733 27.1946 -36.03 -4.1214 -0.918288 26.8535 -36.035 -3.96569 -0.940253 26.5165 -36.04 -3.81875 -0.967547 26.1838 -36.045 -3.68039 -0.999723 25.8554 -36.05 -3.55042 -1.03632 25.5312 -36.055 -3.42865 -1.07693 25.2114 -36.06 -3.31487 -1.12115 24.8959 -36.065 -3.20889 -1.16866 24.5846 -36.07 -3.1105 -1.21913 24.2777 -36.075 -3.01948 -1.27231 23.975 -36.08 -2.93561 -1.32797 23.6766 -36.085 -2.85867 -1.38591 23.3825 -36.09 -2.78843 -1.44598 23.0926 -36.095 -2.72465 -1.50806 22.8069 -36.1 -2.6671 -1.57208 22.5254 -36.105 -2.61553 -1.638 22.2481 -36.11 -2.5697 -1.7058 21.975 -36.115 -2.52935 -1.77554 21.706 -36.12 -2.49421 -1.84726 21.4411 -36.125 -2.46414 -1.92095 21.1804 -36.13 -2.43905 -1.99659 20.9237 -36.135 -2.41887 -2.07418 20.6712 -36.14 -2.40352 -2.15377 20.4227 -36.145 -2.39291 -2.23539 20.1784 -36.15 -2.38696 -2.3191 19.9382 -36.155 -2.38556 -2.405 19.7022 -36.16 -2.38864 -2.49318 19.4703 -36.165 -2.3961 -2.58377 19.2426 -36.17 -2.40783 -2.6769 19.0191 -36.175 -2.42375 -2.77274 18.7999 -36.18 -2.44374 -2.87146 18.585 -36.185 -2.46771 -2.97328 18.3745 -36.19 -2.49554 -3.07839 18.1684 -36.195 -2.52713 -3.18705 17.9668 -36.2 -2.56237 -3.2995 17.7699 -36.205 -2.60119 -3.41599 17.5776 -36.21 -2.64378 -3.53654 17.3901 -36.215 -2.69022 -3.66133 17.2075 -36.22 -2.74056 -3.79054 17.0299 -36.225 -2.79486 -3.92438 16.8575 -36.23 -2.85318 -4.06305 16.6903 -36.235 -2.91557 -4.20677 16.5284 -36.24 -2.9821 -4.35574 16.3722 -36.245 -3.05285 -4.5102 16.2217 -36.25 -3.12787 -4.67037 16.0773 -36.255 -3.20725 -4.83648 15.939 -36.26 -3.29106 -5.00878 15.8073 -36.265 -3.37939 -5.18751 15.6823 -36.27 -3.47231 -5.37293 15.5643 -36.275 -3.56992 -5.56528 15.4538 -36.28 -3.67231 -5.76483 15.351 -36.285 -3.77956 -5.97186 15.2563 -36.29 -3.89177 -6.18663 15.17 -36.295 -4.00902 -6.40873 15.0927 -36.3 -4.13147 -6.6382 15.0246 -36.305 -4.25935 -6.8756 14.9664 -36.31 -4.39285 -7.12141 14.9186 -36.315 -4.53216 -7.37603 14.8818 -36.32 -4.67747 -7.63976 14.8565 -36.325 -4.82892 -7.91282 14.8435 -36.33 -4.98665 -8.19534 14.8435 -36.335 -5.1508 -8.48737 14.8571 -36.34 -5.32148 -8.78886 14.8852 -36.345 -5.49877 -9.09971 14.9286 -36.35 -5.68276 -9.41968 14.9881 -36.355 -5.87351 -9.74848 15.0646 -36.36 -6.07107 -10.0857 15.1591 -36.365 -6.27548 -10.4309 15.2726 -36.37 -6.48674 -10.7836 15.406 -36.375 -6.70487 -11.143 15.5605 -36.38 -6.92984 -11.5084 15.737 -36.385 -7.16163 -11.879 15.9368 -36.39 -7.4002 -12.254 16.1609 -36.395 -7.64547 -12.6322 16.4107 -36.4 -7.89738 -13.0127 16.6874 -36.405 -8.15584 -13.3943 16.9922 -36.41 -8.4206 -13.7759 17.326 -36.415 -8.69083 -14.1562 17.6886 -36.42 -8.96612 -14.5328 18.0812 -36.425 -9.24607 -14.9029 18.5053 -36.43 -9.53015 -15.2637 18.9618 -36.435 -9.81772 -15.6124 19.4515 -36.44 -10.108 -15.946 19.9745 -36.445 -10.4002 -16.2617 20.5308 -36.45 -10.6932 -16.5564 21.1197 -36.455 -10.986 -16.827 21.7403 -36.46 -11.2773 -17.0705 22.3914 -36.465 -11.5658 -17.2838 23.0711 -36.47 -11.85 -17.4636 23.7776 -36.475 -12.1284 -17.6067 24.5082 -36.48 -12.3993 -17.7097 25.2601 -36.485 -12.6609 -17.7695 26.03 -36.49 -12.9112 -17.7824 26.8144 -36.495 -13.1483 -17.7452 27.6094 -36.5 -13.3714 -17.6539 28.4123 -36.505 -13.5787 -17.5079 29.217 -36.51 -13.7677 -17.3075 30.0161 -36.515 -13.9364 -17.0536 30.8029 -36.52 -14.0827 -16.7471 31.5709 -36.525 -14.2052 -16.3895 32.3143 -36.53 -14.3023 -15.9828 33.0276 -36.535 -14.3729 -15.5291 33.7058 -36.54 -14.4162 -15.031 34.3442 -36.545 -14.4315 -14.4914 34.9388 -36.55 -14.4184 -13.9137 35.4859 -36.555 -14.3767 -13.3014 35.9823 -36.56 -14.3065 -12.6587 36.4251 -36.565 -14.2081 -11.99 36.8122 -36.57 -14.0822 -11.3 37.1415 -36.575 -13.929 -10.5955 37.411 -36.58 -13.7483 -9.88603 37.6191 -36.585 -13.5419 -9.17764 37.767 -36.59 -13.3112 -8.47564 37.8564 -36.595 -13.0582 -7.78493 37.8892 -36.6 -12.7845 -7.10998 37.8676 -36.605 -12.492 -6.45478 37.7943 -36.61 -12.1825 -5.82291 37.6721 -36.615 -11.858 -5.21749 37.504 -36.62 -11.5204 -4.64118 37.2936 -36.625 -11.1718 -4.09622 37.0445 -36.63 -10.8141 -3.58438 36.7608 -36.635 -10.4494 -3.10699 36.4469 -36.64 -10.08 -2.66495 36.1073 -36.645 -9.70782 -2.25868 35.747 -36.65 -9.33519 -1.88799 35.371 -36.655 -8.96369 -1.55044 34.9812 -36.66 -8.59473 -1.24473 34.5797 -36.665 -8.22965 -0.96984 34.1689 -36.67 -7.8697 -0.724664 33.7507 -36.675 -7.516 -0.507956 33.3273 -36.68 -7.16958 -0.318352 32.9004 -36.685 -6.83135 -0.154367 32.4718 -36.69 -6.50211 -0.0143939 32.0428 -36.695 -6.18255 0.103294 31.6149 -36.7 -5.87326 0.200547 31.1894 -36.705 -5.5747 0.279337 30.7671 -36.71 -5.28724 0.341755 30.3491 -36.715 -5.01113 0.390015 29.936 -36.72 -4.74651 0.426454 29.5285 -36.725 -4.49343 0.453524 29.1269 -36.73 -4.25174 0.471591 28.7311 -36.735 -4.02123 0.480409 28.3409 -36.74 -3.80173 0.481016 27.9562 -36.745 -3.59306 0.474385 27.5772 -36.75 -3.39499 0.461422 27.2038 -36.755 -3.2073 0.442965 26.836 -36.76 -3.02975 0.419782 26.4738 -36.765 -2.86207 0.392577 26.1171 -36.77 -2.70399 0.361984 25.7659 -36.775 -2.5552 0.32857 25.4201 -36.78 -2.41539 0.292834 25.0796 -36.785 -2.28422 0.255209 24.7442 -36.79 -2.16135 0.216058 24.4139 -36.795 -2.04639 0.175678 24.0886 -36.8 -1.93893 0.134335 23.768 -36.805 -1.83865 0.0922743 23.4521 -36.81 -1.74528 0.0497083 23.1408 -36.815 -1.65854 0.00682331 22.8341 -36.82 -1.57817 -0.0362213 22.5317 -36.825 -1.50388 -0.0792928 22.2338 -36.83 -1.4354 -0.122285 21.94 -36.835 -1.37246 -0.165119 21.6505 -36.84 -1.31478 -0.207742 21.365 -36.845 -1.26207 -0.250127 21.0835 -36.85 -1.21405 -0.292277 20.806 -36.855 -1.17044 -0.334217 20.5323 -36.86 -1.13095 -0.376003 20.2624 -36.865 -1.0953 -0.417716 19.9963 -36.87 -1.06324 -0.459431 19.7338 -36.875 -1.03467 -0.501143 19.4749 -36.88 -1.00947 -0.542874 19.2196 -36.885 -0.98752 -0.584655 18.9678 -36.89 -0.968705 -0.62653 18.7195 -36.895 -0.952906 -0.668555 18.4747 -36.9 -0.940007 -0.710796 18.2333 -36.905 -0.929889 -0.753333 17.9952 -36.91 -0.922434 -0.796254 17.7604 -36.915 -0.917525 -0.839662 17.5289 -36.92 -0.915045 -0.883667 17.3007 -36.925 -0.914874 -0.928396 17.0757 -36.93 -0.916895 -0.973982 16.8539 -36.935 -0.920991 -1.02057 16.6352 -36.94 -0.92705 -1.06832 16.4197 -36.945 -0.935073 -1.11731 16.2073 -36.95 -0.945074 -1.16762 15.998 -36.955 -0.957049 -1.21934 15.7917 -36.96 -0.970997 -1.27256 15.5885 -36.965 -0.986919 -1.3274 15.3884 -36.97 -1.00482 -1.38397 15.1913 -36.975 -1.02469 -1.44241 14.9972 -36.98 -1.04655 -1.50285 14.8061 -36.985 -1.07039 -1.56543 14.6181 -36.99 -1.09624 -1.63032 14.4331 -36.995 -1.12408 -1.69767 14.2511 -37 -1.15394 -1.76766 14.0721 -37.005 -1.18583 -1.84046 13.8962 -37.01 -1.21975 -1.91628 13.7234 -37.015 -1.25573 -1.99531 13.5537 -37.02 -1.29382 -2.07773 13.387 -37.025 -1.33414 -2.16369 13.2236 -37.03 -1.37677 -2.25336 13.0634 -37.035 -1.42178 -2.34694 12.9065 -37.04 -1.46925 -2.44464 12.7528 -37.045 -1.51928 -2.54666 12.6024 -37.05 -1.57196 -2.65323 12.4554 -37.055 -1.62739 -2.76459 12.312 -37.06 -1.68567 -2.88098 12.172 -37.065 -1.74693 -3.00266 12.0358 -37.07 -1.81128 -3.1299 11.9034 -37.075 -1.87885 -3.26297 11.7749 -37.08 -1.94978 -3.40216 11.6506 -37.085 -2.0242 -3.54776 11.5305 -37.09 -2.10226 -3.7001 11.4149 -37.095 -2.18413 -3.85947 11.3039 -37.1 -2.26995 -4.02622 11.1979 -37.105 -2.35989 -4.20068 11.0969 -37.11 -2.45414 -4.3832 11.0012 -37.115 -2.55292 -4.57362 10.9115 -37.12 -2.65651 -4.7718 10.8281 -37.125 -2.7651 -4.97853 10.7514 -37.13 -2.8789 -5.19454 10.6813 -37.135 -2.9981 -5.42053 10.6184 -37.14 -3.12293 -5.65711 10.5628 -37.145 -3.2536 -5.90487 10.515 -37.15 -3.39033 -6.16432 10.4756 -37.155 -3.53335 -6.43593 10.4452 -37.16 -3.6829 -6.72009 10.4243 -37.165 -3.83922 -7.01716 10.4138 -37.17 -4.00255 -7.32743 10.4146 -37.175 -4.17316 -7.65114 10.4274 -37.18 -4.35128 -7.98847 10.4534 -37.185 -4.5372 -8.33954 10.4935 -37.19 -4.73118 -8.70444 10.549 -37.195 -4.9335 -9.08315 10.6211 -37.2 -5.14443 -9.47566 10.7111 -37.205 -5.36427 -9.88185 10.8204 -37.21 -5.5933 -10.3016 10.9504 -37.215 -5.83183 -10.7346 11.1027 -37.22 -6.08016 -11.1807 11.279 -37.225 -6.3386 -11.6396 11.481 -37.23 -6.60747 -12.1108 11.7104 -37.235 -6.88708 -12.5939 11.9691 -37.24 -7.17722 -13.0881 12.2583 -37.245 -7.47687 -13.5917 12.5787 -37.25 -7.78635 -14.1035 12.9337 -37.255 -8.10585 -14.6219 13.3264 -37.26 -8.43536 -15.1449 13.7596 -37.265 -8.77471 -15.67 14.2357 -37.27 -9.12352 -16.1945 14.7566 -37.275 -9.48125 -16.7151 15.3241 -37.28 -9.84716 -17.2283 15.9393 -37.285 -10.2203 -17.7299 16.6033 -37.29 -10.5996 -18.2157 17.3164 -37.295 -10.9837 -18.6807 18.0789 -37.3 -11.3712 -19.1198 18.8905 -37.305 -11.7603 -19.5273 19.7507 -37.31 -12.1493 -19.8973 20.6584 -37.315 -12.536 -20.2233 21.6124 -37.32 -12.9183 -20.4984 22.6109 -37.325 -13.2937 -20.7156 23.6518 -37.33 -13.6604 -20.8691 24.7331 -37.335 -14.0159 -20.9542 25.8484 -37.34 -14.3565 -20.9643 26.9879 -37.345 -14.6786 -20.894 28.142 -37.35 -14.9788 -20.7391 29.3011 -37.355 -15.254 -20.4969 30.4557 -37.36 -15.5011 -20.1657 31.5964 -37.365 -15.7175 -19.7453 32.7138 -37.37 -15.9004 -19.2364 33.7988 -37.375 -16.0476 -18.6414 34.842 -37.38 -16.1569 -17.9635 35.8346 -37.385 -16.2263 -17.2076 36.7674 -37.39 -16.254 -16.3795 37.6315 -37.395 -16.2386 -15.4864 38.4181 -37.4 -16.1786 -14.5359 39.1157 -37.405 -16.0738 -13.5393 39.7157 -37.41 -15.9252 -12.511 40.2183 -37.415 -15.7338 -11.4645 40.6247 -37.42 -15.5009 -10.412 40.9362 -37.425 -15.2285 -9.36451 41.155 -37.43 -14.9186 -8.33193 41.2837 -37.435 -14.5736 -7.32292 41.3256 -37.44 -14.1962 -6.34495 41.2844 -37.445 -13.7895 -5.40434 41.1643 -37.45 -13.3568 -4.5062 40.9702 -37.455 -12.9019 -3.65446 40.7076 -37.46 -12.4288 -2.85187 40.3822 -37.465 -11.9418 -2.1 40.0008 -37.47 -11.4443 -1.40182 39.5728 -37.475 -10.9384 -0.761249 39.1095 -37.48 -10.4273 -0.177903 38.617 -37.485 -9.91414 0.349168 38.1014 -37.49 -9.40177 0.821442 37.5681 -37.495 -8.89273 1.24092 37.0222 -37.5 -8.38935 1.61013 36.4684 -37.505 -7.89368 1.93212 35.9109 -37.51 -7.40754 2.21048 35.3536 -37.515 -6.93246 2.4493 34.7998 -37.52 -6.46975 2.65322 34.2525 -37.525 -6.02051 2.82627 33.7139 -37.53 -5.58559 2.96996 33.184 -37.535 -5.16553 3.08724 32.6638 -37.54 -4.76075 3.18104 32.1539 -37.545 -4.37155 3.2541 31.655 -37.55 -3.99813 3.30901 31.1673 -37.555 -3.64058 3.34818 30.6913 -37.56 -3.29888 3.37385 30.2269 -37.565 -2.97292 3.38812 29.774 -37.57 -2.66245 3.39288 29.3325 -37.575 -2.36716 3.38988 28.9018 -37.58 -2.08657 3.38074 28.4817 -37.585 -1.82014 3.36689 28.0718 -37.59 -1.56738 3.34939 27.6718 -37.595 -1.3278 3.32921 27.2814 -37.6 -1.10089 3.30726 26.9001 -37.605 -0.886133 3.28437 26.5275 -37.61 -0.68301 3.26132 26.1633 -37.615 -0.490978 3.23881 25.8072 -37.62 -0.309487 3.21748 25.4588 -37.625 -0.137976 3.19792 25.1178 -37.63 0.0241295 3.18063 24.7841 -37.635 0.177413 3.16606 24.4572 -37.64 0.32247 3.15459 24.1371 -37.645 0.459909 3.14653 23.8234 -37.65 0.590348 3.14213 23.516 -37.655 0.714419 3.14157 23.2146 -37.66 0.832761 3.14498 22.9192 -37.665 0.945906 3.15243 22.6295 -37.67 1.0542 3.16407 22.3453 -37.675 1.15798 3.18005 22.0667 -37.68 1.25758 3.20053 21.7934 -37.685 1.35336 3.22564 21.5255 -37.69 1.44568 3.25548 21.2629 -37.695 1.5349 3.29016 21.0056 -37.7 1.62138 3.32977 20.7534 -37.705 1.70551 3.37438 20.5064 -37.71 1.78767 3.42406 20.2646 -37.715 1.86824 3.47884 20.0278 -37.72 1.94764 3.53877 19.796 -37.725 2.02626 3.60385 19.5693 -37.73 2.10451 3.6741 19.3476 -37.735 2.1828 3.74951 19.1309 -37.74 2.26131 3.83018 18.9193 -37.745 2.34019 3.91629 18.713 -37.75 2.4196 4.00798 18.5119 -37.755 2.49975 4.10537 18.3162 -37.76 2.58083 4.20862 18.126 -37.765 2.66305 4.31785 17.9414 -37.77 2.74663 4.43318 17.7625 -37.775 2.83179 4.55475 17.5895 -37.78 2.91876 4.68266 17.4226 -37.785 3.00779 4.81704 17.2618 -37.79 3.09911 4.95799 17.1075 -37.795 3.193 5.10562 16.9596 -37.8 3.2897 5.26004 16.8186 -37.805 3.3895 5.42134 16.6845 -37.81 3.49266 5.58961 16.5576 -37.815 3.59935 5.76489 16.4383 -37.82 3.70969 5.94744 16.3268 -37.825 3.82382 6.13755 16.2235 -37.83 3.9419 6.33545 16.1288 -37.835 4.06407 6.54135 16.0431 -37.84 4.19048 6.75542 15.9668 -37.845 4.3213 6.97779 15.9004 -37.85 4.45669 7.20858 15.8443 -37.855 4.59681 7.44783 15.7992 -37.86 4.74183 7.6956 15.7655 -37.865 4.89193 7.95187 15.744 -37.87 5.04728 8.21661 15.7351 -37.875 5.20806 8.48974 15.7395 -37.88 5.37445 8.77116 15.7581 -37.885 5.54665 9.06073 15.7913 -37.89 5.72485 9.35826 15.8401 -37.895 5.90923 9.66355 15.9052 -37.9 6.09987 9.97625 15.9872 -37.905 6.29622 10.2956 16.0858 -37.91 6.49845 10.6214 16.2026 -37.915 6.70676 10.9534 16.3391 -37.92 6.92131 11.2911 16.4968 -37.925 7.14215 11.634 16.6769 -37.93 7.36927 11.9813 16.8806 -37.935 7.6026 12.332 17.1091 -37.94 7.84197 12.685 17.3632 -37.945 8.08717 13.039 17.6438 -37.95 8.33787 13.3926 17.9517 -37.955 8.5937 13.7441 18.2873 -37.96 8.85422 14.0917 18.6511 -37.965 9.11888 14.4335 19.0435 -37.97 9.3871 14.7672 19.4647 -37.975 9.65818 15.0907 19.9146 -37.98 9.93139 15.4012 20.3934 -37.985 10.2059 15.6964 20.9009 -37.99 10.4808 15.9731 21.4366 -37.995 10.7551 16.2286 22.0003 -38 11.0278 16.4595 22.5914 -38.005 11.2978 16.6626 23.2092 -38.01 11.5639 16.8348 23.853 -38.015 11.8253 16.9747 24.5213 -38.02 12.0803 17.079 25.2102 -38.025 12.327 17.1445 25.9158 -38.03 12.5635 17.1682 26.634 -38.035 12.7882 17.1477 27.3606 -38.04 12.9993 17.0813 28.0914 -38.045 13.1953 16.9674 28.8222 -38.05 13.3748 16.8054 29.5486 -38.055 13.5362 16.5947 30.2665 -38.06 13.6783 16.3354 30.9713 -38.065 13.7997 16.0282 31.6587 -38.07 13.8993 15.6742 32.324 -38.075 13.9759 15.2749 32.9629 -38.08 14.0286 14.8324 33.5706 -38.085 14.0562 14.3493 34.1426 -38.09 14.0579 13.8287 34.6741 -38.095 14.0331 13.2729 35.1586 -38.1 13.9814 12.687 35.5924 -38.105 13.9034 12.0778 35.9745 -38.11 13.7994 11.4518 36.3047 -38.115 13.6701 10.8151 36.5827 -38.12 13.5162 10.1731 36.8086 -38.125 13.3386 9.53088 36.9829 -38.13 13.1384 8.89311 37.106 -38.135 12.9168 8.26392 37.179 -38.14 12.6751 7.64701 37.2031 -38.145 12.415 7.04562 37.1796 -38.15 12.138 6.46252 37.1103 -38.155 11.846 5.90003 36.9972 -38.16 11.541 5.36001 36.8425 -38.165 11.2251 4.84386 36.6488 -38.17 10.9005 4.35252 36.4189 -38.175 10.5695 3.88727 36.1565 -38.18 10.2326 3.45188 35.8678 -38.185 9.89168 3.04707 35.556 -38.19 9.54842 2.67295 35.2239 -38.195 9.20446 2.32938 34.8743 -38.2 8.86134 2.01597 34.5096 -38.205 8.52045 1.7321 34.1325 -38.21 8.18309 1.47691 33.7452 -38.215 7.85043 1.24928 33.35 -38.22 7.52352 1.04787 32.9491 -38.225 7.2033 0.871086 32.5444 -38.23 6.89059 0.717099 32.1379 -38.235 6.58611 0.583834 31.7314 -38.24 6.29045 0.468977 31.3267 -38.245 6.00411 0.370816 30.9245 -38.25 5.7275 0.28916 30.5247 -38.255 5.46082 0.222696 30.1276 -38.26 5.2042 0.170126 29.7338 -38.265 4.95778 0.13021 29.3437 -38.27 4.72162 0.101772 28.9577 -38.275 4.49576 0.0836993 28.5762 -38.28 4.28019 0.0749396 28.1993 -38.285 4.07486 0.0745036 27.8273 -38.29 3.8797 0.081464 27.4603 -38.295 3.69458 0.0949557 27.0983 -38.3 3.51933 0.114176 26.7414 -38.305 3.35375 0.138384 26.3896 -38.31 3.19759 0.166901 26.0426 -38.315 3.05051 0.199203 25.7005 -38.32 2.91217 0.234885 25.3634 -38.325 2.78233 0.27352 25.031 -38.33 2.66074 0.314719 24.7035 -38.335 2.54714 0.358131 24.3806 -38.34 2.44127 0.403439 24.0624 -38.345 2.34287 0.450365 23.7488 -38.35 2.25167 0.498669 23.4396 -38.355 2.16739 0.548147 23.1349 -38.36 2.08977 0.598632 22.8345 -38.365 2.0185 0.649994 22.5384 -38.37 1.95332 0.702142 22.2465 -38.375 1.89393 0.755019 21.9588 -38.38 1.84002 0.808607 21.6753 -38.385 1.79131 0.862926 21.3957 -38.39 1.74749 0.918032 21.1202 -38.395 1.70825 0.974001 20.8485 -38.4 1.67342 1.03083 20.5808 -38.405 1.64292 1.08848 20.317 -38.41 1.61668 1.14696 20.0569 -38.415 1.5946 1.20627 19.8007 -38.42 1.57658 1.26645 19.5482 -38.425 1.56253 1.32754 19.2994 -38.43 1.55234 1.38962 19.0544 -38.435 1.5459 1.45276 18.813 -38.44 1.5431 1.51707 18.5752 -38.445 1.5438 1.58269 18.3412 -38.45 1.54789 1.64975 18.1107 -38.455 1.55524 1.71842 17.8839 -38.46 1.5657 1.78887 17.6607 -38.465 1.57914 1.86132 17.4411 -38.47 1.5954 1.93597 17.2251 -38.475 1.61434 2.01307 17.0127 -38.48 1.63583 2.09285 16.8039 -38.485 1.66007 2.17533 16.5989 -38.49 1.68717 2.26058 16.3975 -38.495 1.71714 2.34876 16.1998 -38.5 1.75003 2.44004 16.0059 -38.505 1.78586 2.53457 15.8158 -38.51 1.82466 2.63254 15.6294 -38.515 1.86649 2.73416 15.447 -38.52 1.91137 2.83962 15.2685 -38.525 1.95936 2.94914 15.0941 -38.53 2.01051 3.06294 14.9238 -38.535 2.06487 3.18127 14.7577 -38.54 2.1225 3.30437 14.5959 -38.545 2.18345 3.4325 14.4386 -38.55 2.2478 3.56593 14.2859 -38.555 2.31561 3.70493 14.1379 -38.56 2.38695 3.84981 13.9947 -38.565 2.46198 4.00066 13.8568 -38.57 2.54089 4.1577 13.7241 -38.575 2.6238 4.32132 13.597 -38.58 2.71083 4.49185 13.4756 -38.585 2.80215 4.66965 13.36 -38.59 2.89788 4.85505 13.2506 -38.595 2.99819 5.04838 13.1476 -38.6 3.10323 5.24996 13.0513 -38.605 3.21318 5.46008 12.9623 -38.61 3.32822 5.67906 12.8808 -38.615 3.44851 5.90717 12.8073 -38.62 3.57424 6.14469 12.7424 -38.625 3.70562 6.3919 12.6866 -38.63 3.84285 6.64904 12.6405 -38.635 3.98612 6.91638 12.6046 -38.64 4.13565 7.19414 12.5798 -38.645 4.29167 7.48256 12.5666 -38.65 4.4544 7.78186 12.566 -38.655 4.62407 8.09224 12.5785 -38.66 4.80093 8.41392 12.6052 -38.665 4.98522 8.74707 12.6468 -38.67 5.1769 9.09117 12.7041 -38.675 5.37602 9.4459 12.778 -38.68 5.58295 9.81176 12.87 -38.685 5.798 10.189 12.9816 -38.69 6.02142 10.5777 13.1142 -38.695 6.25341 10.9776 13.2691 -38.7 6.49408 11.3884 13.4479 -38.705 6.7435 11.8094 13.6519 -38.71 7.00166 12.2397 13.8827 -38.715 7.26851 12.6782 14.1415 -38.72 7.5439 13.1237 14.4298 -38.725 7.82765 13.5745 14.7491 -38.73 8.1195 14.0289 15.1007 -38.735 8.41913 14.4849 15.4861 -38.74 8.72616 14.9402 15.9066 -38.745 9.04015 15.3925 16.3637 -38.75 9.36057 15.839 16.8587 -38.755 9.68687 16.2767 17.3931 -38.76 10.0184 16.7026 17.9682 -38.765 10.3545 17.1135 18.5853 -38.77 10.6939 17.5077 19.2436 -38.775 11.0354 17.8802 19.9426 -38.78 11.3775 18.2249 20.682 -38.785 11.7187 18.536 21.461 -38.79 12.0573 18.8082 22.2778 -38.795 12.3915 19.0365 23.1303 -38.8 12.7194 19.2163 24.0154 -38.805 13.0391 19.3434 24.9295 -38.81 13.3483 19.4138 25.8684 -38.815 13.6448 19.4241 26.827 -38.82 13.9263 19.3711 27.7999 -38.825 14.1903 19.2521 28.7806 -38.83 14.4342 19.0647 29.7622 -38.835 14.6553 18.8067 30.7372 -38.84 14.8507 18.4767 31.6971 -38.845 15.0182 18.0698 32.6336 -38.85 15.1569 17.5827 33.5383 -38.855 15.2643 17.0253 34.4026 -38.86 15.3385 16.4073 35.2185 -38.865 15.378 15.7374 35.9793 -38.87 15.3817 15.0242 36.6789 -38.875 15.3489 14.2751 37.3124 -38.88 15.2793 13.4974 37.8757 -38.885 15.1733 12.6972 38.3657 -38.89 15.0313 11.8805 38.7803 -38.895 14.8544 11.0522 39.1181 -38.9 14.6442 10.2169 39.3789 -38.905 14.4025 9.37827 39.5634 -38.91 14.1316 8.53958 39.6731 -38.915 13.8344 7.70333 39.7106 -38.92 13.5138 6.87217 39.6793 -38.925 13.1695 6.06355 39.5832 -38.93 12.8032 5.28772 39.4267 -38.935 12.418 4.54874 39.2144 -38.94 12.0167 3.84998 38.9513 -38.945 11.6021 3.19403 38.6421 -38.95 11.1772 2.58279 38.2921 -38.955 10.7443 2.01741 37.9064 -38.96 10.3061 1.49829 37.4904 -38.965 9.86501 1.02515 37.0497 -38.97 9.42325 0.596919 36.5897 -38.975 8.98306 0.211841 36.1163 -38.98 8.54652 -0.132593 35.6353 -38.985 8.11559 -0.439135 35.1512 -38.99 7.69178 -0.709399 34.6633 -38.995 7.27634 -0.9457 34.1737 -39 6.87037 -1.15041 33.6843 -39.005 6.47485 -1.32587 33.197 -39.01 6.09063 -1.47443 32.7133 -39.015 5.71842 -1.59838 32.2346 -39.02 5.35881 -1.70002 31.7619 -39.025 5.01226 -1.78162 31.2962 -39.03 4.67909 -1.84543 30.838 -39.035 4.35949 -1.89368 30.3877 -39.04 4.05352 -1.92858 29.9455 -39.045 3.76113 -1.9523 29.5114 -39.05 3.48219 -1.96616 29.0853 -39.055 3.21644 -1.97121 28.6675 -39.06 2.96359 -1.9687 28.2577 -39.065 2.7233 -1.95981 27.8558 -39.07 2.49523 -1.94563 27.4615 -39.075 2.27903 -1.92716 27.0748 -39.08 2.07431 -1.90533 26.6953 -39.085 1.88068 -1.88097 26.323 -39.09 1.69774 -1.85484 25.9576 -39.095 1.52505 -1.82762 25.599 -39.1 1.36216 -1.79989 25.2468 -39.105 1.20863 -1.77216 24.901 -39.11 1.06397 -1.74486 24.5613 -39.115 0.92768 -1.71832 24.2274 -39.12 0.799248 -1.69283 23.8992 -39.125 0.678172 -1.66869 23.5765 -39.13 0.564071 -1.64615 23.2591 -39.135 0.456574 -1.62542 22.9469 -39.14 0.355308 -1.6067 22.6396 -39.145 0.259902 -1.59016 22.3373 -39.15 0.169984 -1.57596 22.0398 -39.155 0.0851792 -1.5642 21.747 -39.16 0.00511501 -1.555 21.4586 -39.165 -0.0705829 -1.54842 21.1748 -39.17 -0.142289 -1.54453 20.8952 -39.175 -0.210379 -1.54334 20.6199 -39.18 -0.275228 -1.54487 20.3487 -39.185 -0.337207 -1.54909 20.0815 -39.19 -0.396572 -1.55606 19.8183 -39.195 -0.453519 -1.56584 19.5591 -39.2 -0.508255 -1.57848 19.3038 -39.205 -0.560988 -1.59403 19.0523 -39.21 -0.61193 -1.61254 18.8046 -39.215 -0.661294 -1.63405 18.5607 -39.22 -0.709294 -1.65859 18.3205 -39.225 -0.756149 -1.6862 18.084 -39.23 -0.802077 -1.71689 17.8511 -39.235 -0.847299 -1.7507 17.6218 -39.24 -0.892041 -1.78763 17.3961 -39.245 -0.936526 -1.82771 17.1739 -39.25 -0.980984 -1.87093 16.9553 -39.255 -1.0256 -1.91735 16.7402 -39.26 -1.07047 -1.96708 16.5285 -39.265 -1.11571 -2.02023 16.3204 -39.27 -1.16142 -2.07689 16.1158 -39.275 -1.20772 -2.13719 15.9148 -39.28 -1.25474 -2.20124 15.7172 -39.285 -1.30262 -2.26916 15.5232 -39.29 -1.35148 -2.34106 15.3328 -39.295 -1.40149 -2.41707 15.146 -39.3 -1.4528 -2.4973 14.9629 -39.305 -1.50557 -2.58187 14.7834 -39.31 -1.55998 -2.67092 14.6076 -39.315 -1.6162 -2.76457 14.4356 -39.32 -1.67441 -2.86294 14.2675 -39.325 -1.73482 -2.96617 14.1032 -39.33 -1.79759 -3.07443 13.9429 -39.335 -1.86282 -3.18794 13.7867 -39.34 -1.9306 -3.30696 13.6348 -39.345 -2.00105 -3.43177 13.4871 -39.35 -2.07429 -3.56262 13.3438 -39.355 -2.15046 -3.69977 13.2052 -39.36 -2.22971 -3.8435 13.0712 -39.365 -2.3122 -3.99408 12.9422 -39.37 -2.39809 -4.15176 12.8183 -39.375 -2.48757 -4.31684 12.6998 -39.38 -2.58083 -4.48958 12.587 -39.385 -2.67809 -4.67026 12.48 -39.39 -2.77955 -4.85917 12.3793 -39.395 -2.88546 -5.05658 12.2852 -39.4 -2.99604 -5.26278 12.1979 -39.405 -3.11156 -5.47806 12.1179 -39.41 -3.23227 -5.70271 12.0455 -39.415 -3.35844 -5.93693 11.9813 -39.42 -3.49017 -6.18048 11.9258 -39.425 -3.62767 -6.43393 11.8796 -39.43 -3.7712 -6.69798 11.8432 -39.435 -3.92102 -6.97322 11.8172 -39.44 -4.07735 -7.26014 11.8023 -39.445 -4.24045 -7.55917 11.7992 -39.45 -4.41053 -7.87062 11.8087 -39.455 -4.58783 -8.19472 11.8317 -39.46 -4.77255 -8.5316 11.8692 -39.465 -4.9649 -8.88132 11.9223 -39.47 -5.1651 -9.24383 11.9919 -39.475 -5.37332 -9.61898 12.0795 -39.48 -5.58978 -10.0066 12.186 -39.485 -5.81463 -10.4062 12.3131 -39.49 -6.04807 -10.8176 12.4619 -39.495 -6.29026 -11.2401 12.6341 -39.5 -6.54137 -11.6733 12.8311 -39.505 -6.80154 -12.1163 13.0546 -39.51 -7.07093 -12.5685 13.3064 -39.515 -7.34969 -13.0289 13.5881 -39.52 -7.63792 -13.4966 13.9016 -39.525 -7.93475 -13.9705 14.2468 -39.53 -8.23981 -14.4487 14.6255 -39.535 -8.55311 -14.9289 15.0408 -39.54 -8.87452 -15.4085 15.4951 -39.545 -9.20373 -15.8846 15.9907 -39.55 -9.54022 -16.354 16.5291 -39.555 -9.88333 -16.8133 17.1114 -39.56 -10.2322 -17.259 17.7385 -39.565 -10.5858 -17.6872 18.4104 -39.57 -10.9428 -18.0935 19.127 -39.575 -11.302 -18.4737 19.8875 -39.58 -11.6617 -18.823 20.6909 -39.585 -12.0202 -19.1365 21.5353 -39.59 -12.3756 -19.409 22.4188 -39.595 -12.7256 -19.635 23.3387 -39.6 -13.0682 -19.8088 24.2921 -39.605 -13.4006 -19.9244 25.2753 -39.61 -13.7206 -19.9757 26.2847 -39.615 -14.0268 -19.9581 27.3171 -39.62 -14.3162 -19.8687 28.3631 -39.625 -14.5854 -19.7051 29.4126 -39.63 -14.8313 -19.4659 30.4558 -39.635 -15.051 -19.1506 31.4834 -39.64 -15.2419 -18.7593 32.4867 -39.645 -15.4018 -18.2935 33.4574 -39.65 -15.5287 -17.755 34.3876 -39.655 -15.621 -17.1469 35.27 -39.66 -15.6773 -16.4729 36.0977 -39.665 -15.6965 -15.7378 36.8644 -39.67 -15.6777 -14.9472 37.5641 -39.675 -15.6206 -14.1076 38.1915 -39.68 -15.5249 -13.2261 38.7416 -39.685 -15.3902 -12.3129 39.2076 -39.69 -15.2166 -11.38 39.5856 -39.695 -15.006 -10.438 39.8775 -39.7 -14.7601 -9.49634 40.0854 -39.705 -14.4809 -8.56375 40.2121 -39.71 -14.1705 -7.64811 40.2608 -39.715 -13.8314 -6.75645 40.2349 -39.72 -13.4659 -5.89498 40.1387 -39.725 -13.0768 -5.06905 39.9765 -39.73 -12.6669 -4.28319 39.7533 -39.735 -12.2391 -3.54108 39.4746 -39.74 -11.7967 -2.84557 39.1462 -39.745 -11.3429 -2.19867 38.7743 -39.75 -10.8813 -1.60156 38.3659 -39.755 -10.415 -1.05444 37.928 -39.76 -9.94599 -0.556335 37.4669 -39.765 -9.47674 -0.106 36.9872 -39.77 -9.00957 0.298094 36.4932 -39.775 -8.5466 0.657745 35.9888 -39.78 -8.08974 0.97503 35.4776 -39.785 -7.64069 1.2523 34.9628 -39.79 -7.20095 1.49219 34.4473 -39.795 -6.7718 1.69761 33.9336 -39.8 -6.35433 1.87173 33.424 -39.805 -5.94942 2.01802 32.9203 -39.81 -5.55773 2.14022 32.4241 -39.815 -5.17978 2.24142 31.9362 -39.82 -4.81595 2.32249 31.4568 -39.825 -4.46638 2.38558 30.986 -39.83 -4.13111 2.43283 30.5242 -39.835 -3.81015 2.46622 30.0716 -39.84 -3.50342 2.48762 29.6282 -39.845 -3.21079 2.49876 29.194 -39.85 -2.93207 2.50123 28.7692 -39.855 -2.66702 2.49648 28.3534 -39.86 -2.41531 2.48585 27.9465 -39.865 -2.17657 2.47051 27.5483 -39.87 -1.95037 2.45154 27.1583 -39.875 -1.73613 2.42989 26.7763 -39.88 -1.53319 2.40643 26.402 -39.885 -1.34115 2.3818 26.0352 -39.89 -1.15959 2.35661 25.6756 -39.895 -0.988091 2.33141 25.3229 -39.9 -0.82622 2.30673 24.977 -39.905 -0.673534 2.28302 24.6376 -39.91 -0.52958 2.26072 24.3044 -39.915 -0.393892 2.24021 23.9773 -39.92 -0.265994 2.22181 23.6561 -39.925 -0.1454 2.20583 23.3405 -39.93 -0.0316127 2.19252 23.0305 -39.935 0.0758773 2.18207 22.7258 -39.94 0.177589 2.17465 22.4262 -39.945 0.274054 2.17038 22.1317 -39.95 0.365812 2.16932 21.8421 -39.955 0.453415 2.17151 21.5573 -39.96 0.537373 2.17694 21.2771 -39.965 0.617898 2.18569 21.0015 -39.97 0.695191 2.19787 20.7304 -39.975 0.769471 2.21362 20.4637 -39.98 0.840968 2.23303 20.2014 -39.985 0.90992 2.2562 19.9436 -39.99 0.976579 2.2832 19.6901 -39.995 1.0412 2.31413 19.4408 -40 1.10406 2.34903 19.1959 -40.005 1.16543 2.38795 18.9551 -40.01 1.22561 2.43095 18.7186 -40.015 1.2849 2.47804 18.4862 -40.02 1.3436 2.52925 18.258 -40.025 1.40203 2.58458 18.0338 -40.03 1.46054 2.64404 17.8138 -40.035 1.51945 2.7076 17.5977 -40.04 1.57904 2.7753 17.3858 -40.045 1.63928 2.84738 17.178 -40.05 1.70028 2.924 16.9743 -40.055 1.76219 3.00531 16.775 -40.06 1.82513 3.09144 16.5799 -40.065 1.88928 3.18256 16.3892 -40.07 1.9548 3.2788 16.203 -40.075 2.02186 3.38033 16.0212 -40.08 2.09064 3.48729 15.8441 -40.085 2.16134 3.59983 15.6717 -40.09 2.23415 3.71811 15.5041 -40.095 2.30928 3.84229 15.3415 -40.1 2.38694 3.97253 15.1839 -40.105 2.46737 4.10897 15.0316 -40.11 2.55079 4.25179 14.8847 -40.115 2.63743 4.40112 14.7433 -40.12 2.72744 4.55715 14.6077 -40.125 2.82094 4.72022 14.4782 -40.13 2.91808 4.89066 14.355 -40.135 3.019 5.06876 14.2382 -40.14 3.12387 5.25481 14.1283 -40.145 3.23284 5.44911 14.0256 -40.15 3.34611 5.65191 13.9304 -40.155 3.46385 5.86346 13.8431 -40.16 3.58627 6.084 13.7642 -40.165 3.71357 6.31374 13.6942 -40.17 3.84598 6.55289 13.6335 -40.175 3.98371 6.80164 13.5828 -40.18 4.12702 7.06016 13.5425 -40.185 4.27615 7.32861 13.5134 -40.19 4.43136 7.60714 13.496 -40.195 4.59291 7.89589 13.4911 -40.2 4.76108 8.19496 13.4994 -40.205 4.93601 8.50412 13.5215 -40.21 5.11741 8.82255 13.5579 -40.215 5.30563 9.15083 13.6099 -40.22 5.50099 9.48944 13.6788 -40.225 5.70378 9.83869 13.7657 -40.23 5.91422 10.1987 13.8721 -40.235 6.13247 10.5692 13.9991 -40.24 6.35865 10.9501 14.1481 -40.245 6.59283 11.3407 14.3201 -40.25 6.835 11.7404 14.5166 -40.255 7.08511 12.1482 14.7387 -40.26 7.34307 12.563 14.9877 -40.265 7.6087 12.9834 15.2647 -40.27 7.8818 13.408 15.571 -40.275 8.1621 13.8348 15.9077 -40.28 8.44927 14.2621 16.2761 -40.285 8.74293 14.6877 16.6773 -40.29 9.04266 15.1091 17.1125 -40.295 9.34795 15.5239 17.5829 -40.3 9.65827 15.9293 18.0895 -40.305 9.97303 16.3223 18.6337 -40.31 10.2916 16.6997 19.2164 -40.315 10.613 17.0589 19.8381 -40.32 10.936 17.3978 20.4971 -40.325 11.259 17.7108 21.1927 -40.33 11.5805 17.9925 21.9238 -40.335 11.899 18.238 22.6887 -40.34 12.2128 18.4427 23.4852 -40.345 12.5201 18.6025 24.3104 -40.35 12.819 18.7135 25.161 -40.355 13.1078 18.7723 26.0332 -40.36 13.3842 18.7759 26.9225 -40.365 13.6463 18.7216 27.8237 -40.37 13.8919 18.6071 28.7314 -40.375 14.1187 18.4306 29.6395 -40.38 14.3244 18.1904 30.5411 -40.385 14.5064 17.8855 31.429 -40.39 14.6626 17.5143 32.2956 -40.395 14.7921 17.0723 33.1335 -40.4 14.8929 16.5657 33.9351 -40.405 14.9633 16.0027 34.6935 -40.41 15.002 15.3906 35.4027 -40.415 15.0078 14.7365 36.0573 -40.42 14.9801 14.0473 36.6527 -40.425 14.9186 13.3292 37.1852 -40.43 14.8234 12.588 37.6518 -40.435 14.695 11.8293 38.0502 -40.44 14.5343 11.058 38.3792 -40.445 14.3425 10.2788 38.6381 -40.45 14.1211 9.49589 38.827 -40.455 13.8723 8.71309 38.9468 -40.46 13.5984 7.93378 38.9994 -40.465 13.302 7.16108 38.9872 -40.47 12.9835 6.40723 38.9144 -40.475 12.6443 5.68156 38.7853 -40.48 12.2871 4.98787 38.6039 -40.485 11.9145 4.32933 38.3742 -40.49 11.5292 3.70848 38.1006 -40.495 11.1335 3.12726 37.7873 -40.5 10.73 2.58695 37.439 -40.505 10.3208 2.08825 37.0604 -40.51 9.90822 1.63118 36.6561 -40.515 9.49433 1.21519 36.2312 -40.52 9.08114 0.839085 35.7907 -40.525 8.67059 0.501035 35.3399 -40.53 8.2645 0.198606 34.8842 -40.535 7.86451 -0.0701595 34.4249 -40.54 7.47182 -0.306899 33.962 -40.545 7.08749 -0.513684 33.4975 -40.55 6.71244 -0.692571 33.0332 -40.555 6.34751 -0.845599 32.5706 -40.56 5.9934 -0.974796 32.111 -40.565 5.6507 -1.08217 31.6555 -40.57 5.31992 -1.16972 31.2053 -40.575 5.0014 -1.23943 30.7609 -40.58 4.69544 -1.29327 30.3229 -40.585 4.40216 -1.33317 29.8917 -40.59 4.1216 -1.36109 29.4675 -40.595 3.8537 -1.37894 29.0502 -40.6 3.5983 -1.38787 28.6399 -40.605 3.35516 -1.38871 28.2367 -40.61 3.12401 -1.38255 27.8405 -40.615 2.90453 -1.37043 27.4512 -40.62 2.69643 -1.35328 27.0686 -40.625 2.49937 -1.33199 26.6927 -40.63 2.31301 -1.30735 26.3233 -40.635 2.13701 -1.2801 25.9602 -40.64 1.97098 -1.25089 25.6034 -40.645 1.81454 -1.22031 25.2526 -40.65 1.66728 -1.18885 24.9076 -40.655 1.5288 -1.15695 24.5684 -40.66 1.39865 -1.12499 24.2348 -40.665 1.27639 -1.09323 23.9064 -40.67 1.16156 -1.06193 23.5833 -40.675 1.05372 -1.03134 23.2651 -40.68 0.952563 -1.00168 22.9519 -40.685 0.857746 -0.973138 22.6434 -40.69 0.768945 -0.945865 22.3396 -40.695 0.685834 -0.920006 22.0404 -40.7 0.608084 -0.895675 21.7456 -40.705 0.535364 -0.872963 21.4551 -40.71 0.467348 -0.85194 21.1688 -40.715 0.403703 -0.83265 20.8867 -40.72 0.344102 -0.815115 20.6086 -40.725 0.288212 -0.799333 20.3344 -40.73 0.235704 -0.785278 20.0641 -40.735 0.186252 -0.772907 19.7975 -40.74 0.139646 -0.76224 19.5347 -40.745 0.0957261 -0.753311 19.2755 -40.75 0.0543209 -0.746141 19.0199 -40.755 0.0152594 -0.740743 18.7678 -40.76 -0.0216312 -0.737125 18.5193 -40.765 -0.0565245 -0.735287 18.2741 -40.77 -0.0895953 -0.735223 18.0324 -40.775 -0.12102 -0.736921 17.794 -40.78 -0.150975 -0.740363 17.5588 -40.785 -0.179638 -0.745524 17.3269 -40.79 -0.20719 -0.752372 17.0982 -40.795 -0.23381 -0.760869 16.8726 -40.8 -0.25968 -0.770972 16.65 -40.805 -0.284935 -0.78267 16.4305 -40.81 -0.309629 -0.796016 16.2141 -40.815 -0.333838 -0.81104 16.0006 -40.82 -0.357642 -0.827774 15.7901 -40.825 -0.381123 -0.846251 15.5825 -40.83 -0.404365 -0.866499 15.3778 -40.835 -0.427459 -0.888551 15.1759 -40.84 -0.450495 -0.912437 14.9769 -40.845 -0.47357 -0.938186 14.7806 -40.85 -0.496781 -0.965828 14.5872 -40.855 -0.520231 -0.995393 14.3965 -40.86 -0.544024 -1.02691 14.2085 -40.865 -0.568269 -1.06041 14.0232 -40.87 -0.593076 -1.09592 13.8406 -40.875 -0.618545 -1.13348 13.6606 -40.88 -0.644721 -1.17321 13.4833 -40.885 -0.67165 -1.21519 13.3086 -40.89 -0.699384 -1.25954 13.1366 -40.895 -0.727979 -1.30634 12.9671 -40.9 -0.757502 -1.35571 12.8003 -40.905 -0.788021 -1.40777 12.636 -40.91 -0.819614 -1.46262 12.4744 -40.915 -0.852364 -1.52039 12.3153 -40.92 -0.886359 -1.5812 12.1589 -40.925 -0.921696 -1.64517 12.0051 -40.93 -0.958475 -1.71244 11.8539 -40.935 -0.996805 -1.78314 11.7054 -40.94 -1.0368 -1.85742 11.5596 -40.945 -1.07858 -1.9354 11.4165 -40.95 -1.12227 -2.01724 11.2761 -40.955 -1.16801 -2.10309 11.1385 -40.96 -1.21592 -2.19314 11.0037 -40.965 -1.26607 -2.28763 10.8719 -40.97 -1.31855 -2.3868 10.743 -40.975 -1.37345 -2.4909 10.6171 -40.98 -1.43086 -2.6002 10.4942 -40.985 -1.49092 -2.71497 10.3745 -40.99 -1.55374 -2.83548 10.258 -40.995 -1.61946 -2.96202 10.1449 -41 -1.68823 -3.09489 10.0352 -41.005 -1.76022 -3.23438 9.92927 -41.01 -1.83559 -3.38082 9.82715 -41.015 -1.91454 -3.53452 9.72905 -41.02 -1.99725 -3.6958 9.63521 -41.025 -2.08395 -3.86502 9.54585 -41.03 -2.17484 -4.0425 9.46122 -41.035 -2.27015 -4.2286 9.3816 -41.04 -2.37014 -4.42369 9.30727 -41.045 -2.47506 -4.62814 9.23855 -41.05 -2.58517 -4.84232 9.17576 -41.055 -2.70072 -5.06635 9.11941 -41.06 -2.82186 -5.30001 9.0704 -41.065 -2.94887 -5.54417 9.02897 -41.07 -3.08202 -5.79971 8.99546 -41.075 -3.22161 -6.06745 8.97026 -41.08 -3.36791 -6.34812 8.95392 -41.085 -3.52122 -6.64237 8.94704 -41.09 -3.68183 -6.95076 8.95037 -41.095 -3.85003 -7.27379 8.96474 -41.1 -4.02611 -7.61186 8.9911 -41.105 -4.21036 -7.9653 9.03049 -41.11 -4.40308 -8.33435 9.08406 -41.115 -4.60457 -8.71919 9.15308 -41.12 -4.81513 -9.11989 9.23889 -41.125 -5.03506 -9.53647 9.34298 -41.13 -5.26466 -9.96884 9.46692 -41.135 -5.50424 -10.4169 9.61237 -41.14 -5.7541 -10.8803 9.78113 -41.145 -6.01455 -11.3588 9.97509 -41.15 -6.28589 -11.852 10.1962 -41.155 -6.56845 -12.3594 10.4466 -41.16 -6.86252 -12.8804 10.7285 -41.165 -7.16844 -13.4145 11.0442 -41.17 -7.48621 -13.9607 11.3956 -41.175 -7.81474 -14.517 11.7831 -41.18 -8.15421 -15.0816 12.2105 -41.185 -8.50476 -15.6523 12.6816 -41.19 -8.86635 -16.2263 13.1996 -41.195 -9.23867 -16.8007 13.7672 -41.2 -9.6212 -17.3716 14.3867 -41.205 -10.0132 -17.935 15.06 -41.21 -10.4137 -18.4863 15.7882 -41.215 -10.8214 -19.0204 16.5722 -41.22 -11.2351 -19.5318 17.4122 -41.225 -11.6528 -20.0143 18.3081 -41.23 -12.0729 -20.4615 19.2593 -41.235 -12.4932 -20.8663 20.2644 -41.24 -12.9113 -21.2213 21.3219 -41.245 -13.3246 -21.5185 22.4296 -41.25 -13.7304 -21.7493 23.5849 -41.255 -14.1262 -21.9067 24.7852 -41.26 -14.5096 -21.985 26.0238 -41.265 -14.8761 -21.9765 27.2891 -41.27 -15.2216 -21.8751 28.5694 -41.275 -15.5422 -21.6761 29.8531 -41.28 -15.8341 -21.3763 31.1288 -41.285 -16.0941 -20.9743 32.3855 -41.29 -16.3188 -20.4701 33.6119 -41.295 -16.5054 -19.8651 34.7972 -41.3 -16.6511 -19.1624 35.9305 -41.305 -16.7535 -18.3668 37.0012 -41.31 -16.8105 -17.4843 37.9989 -41.315 -16.8201 -16.5228 38.913 -41.32 -16.7806 -15.4913 39.7331 -41.325 -16.6908 -14.3999 40.4443 -41.33 -16.5512 -13.265 41.0429 -41.335 -16.363 -12.103 41.5302 -41.34 -16.1275 -10.9293 41.9081 -41.345 -15.8468 -9.75755 42.1789 -41.35 -15.5229 -8.60002 42.3459 -41.355 -15.1587 -7.46751 42.4128 -41.36 -14.7571 -6.36934 42.3842 -41.365 -14.3216 -5.31338 42.2652 -41.37 -13.8559 -4.30601 42.0614 -41.375 -13.3643 -3.35216 41.7794 -41.38 -12.8513 -2.45529 41.4262 -41.385 -12.322 -1.61737 41.0095 -41.39 -11.7804 -0.841176 40.5403 -41.395 -11.229 -0.131265 40.032 -41.4 -10.6714 0.512764 39.4923 -41.405 -10.1114 1.0921 38.9281 -41.41 -9.552 1.60857 38.3459 -41.415 -8.99633 2.06463 37.7516 -41.42 -8.44699 2.46338 37.1507 -41.425 -7.90632 2.80855 36.5479 -41.43 -7.37637 3.10452 35.9477 -41.435 -6.85887 3.35628 35.354 -41.44 -6.35527 3.56948 34.7702 -41.445 -5.86674 3.74915 34.1986 -41.45 -5.39424 3.89675 33.639 -41.455 -4.93829 4.01566 33.0921 -41.46 -4.49933 4.10926 32.5586 -41.465 -4.07765 4.18071 32.039 -41.47 -3.67341 4.23296 31.5335 -41.475 -3.2867 4.26877 31.0423 -41.48 -2.91743 4.29067 30.5652 -41.485 -2.56543 4.30098 30.1021 -41.49 -2.23041 4.30183 29.6525 -41.495 -1.91195 4.29512 29.2158 -41.5 -1.60949 4.28261 28.7914 -41.505 -1.32238 4.26591 28.3791 -41.51 -1.05006 4.24615 27.9782 -41.515 -0.791952 4.22435 27.5884 -41.52 -0.547492 4.20146 27.2089 -41.525 -0.316085 4.17837 26.8395 -41.53 -0.0971308 4.15589 26.4797 -41.535 0.109984 4.13478 26.129 -41.54 0.305886 4.11569 25.787 -41.545 0.491213 4.09925 25.4534 -41.55 0.666615 4.08598 25.1279 -41.555 0.832755 4.07636 24.8101 -41.56 0.990306 4.07078 24.4998 -41.565 1.13996 4.06957 24.1967 -41.57 1.28241 4.07299 23.9006 -41.575 1.41837 4.08124 23.6113 -41.58 1.54855 4.09441 23.3287 -41.585 1.6735 4.11254 23.0524 -41.59 1.79359 4.13578 22.7824 -41.595 1.90917 4.16429 22.5186 -41.6 2.02061 4.19822 22.261 -41.605 2.1283 4.23768 22.0095 -41.61 2.23263 4.28279 21.7641 -41.615 2.33398 4.33366 21.5248 -41.62 2.43277 4.39035 21.2915 -41.625 2.52941 4.45294 21.0643 -41.63 2.62432 4.52147 20.8431 -41.635 2.71793 4.59597 20.6279 -41.64 2.81068 4.67648 20.4188 -41.645 2.90302 4.76298 20.2157 -41.65 2.9954 4.85547 20.0187 -41.655 3.08829 4.95391 19.8278 -41.66 3.18194 5.05835 19.6431 -41.665 3.27643 5.16895 19.4648 -41.67 3.37194 5.28583 19.2932 -41.675 3.46868 5.40913 19.1284 -41.68 3.56683 5.53896 18.9706 -41.685 3.66661 5.67541 18.82 -41.69 3.76822 5.81858 18.6768 -41.695 3.8719 5.96852 18.5413 -41.7 3.97785 6.12531 18.4136 -41.705 4.08631 6.28898 18.2942 -41.71 4.19753 6.45957 18.1832 -41.715 4.31174 6.63709 18.081 -41.72 4.42919 6.82156 17.9878 -41.725 4.55014 7.01295 17.904 -41.73 4.67485 7.21125 17.8299 -41.735 4.80356 7.41638 17.7659 -41.74 4.93627 7.62822 17.7123 -41.745 5.07311 7.8469 17.6697 -41.75 5.2142 8.07254 17.6386 -41.755 5.35965 8.30519 17.6197 -41.76 5.50956 8.5448 17.6134 -41.765 5.66401 8.79129 17.6206 -41.77 5.82307 9.04449 17.6416 -41.775 5.98682 9.30415 17.6771 -41.78 6.15529 9.56996 17.7278 -41.785 6.32851 9.84155 17.7942 -41.79 6.50652 10.1184 17.8771 -41.795 6.68933 10.4001 17.9769 -41.8 6.87692 10.6861 18.0944 -41.805 7.06928 10.9755 18.2302 -41.81 7.26639 11.2677 18.3849 -41.815 7.4682 11.562 18.5592 -41.82 7.67466 11.8574 18.7538 -41.825 7.88571 12.1529 18.9694 -41.83 8.10097 12.4482 19.2059 -41.835 8.31986 12.7427 19.4632 -41.84 8.54215 13.0343 19.7427 -41.845 8.76755 13.3213 20.0451 -41.85 8.99569 13.6016 20.3711 -41.855 9.22615 13.8735 20.7211 -41.86 9.45841 14.1349 21.0952 -41.865 9.69191 14.3841 21.4935 -41.87 9.92599 14.619 21.9156 -41.875 10.16 14.8378 22.3609 -41.88 10.393 15.0386 22.8286 -41.885 10.6243 15.2194 23.3177 -41.89 10.8529 15.3784 23.827 -41.895 11.0779 15.5136 24.3549 -41.9 11.2981 15.6232 24.8996 -41.905 11.5124 15.7052 25.4591 -41.91 11.7197 15.7578 26.0313 -41.915 11.9186 15.779 26.6135 -41.92 12.1078 15.7669 27.2031 -41.925 12.2859 15.7196 27.7972 -41.93 12.4517 15.635 28.3927 -41.935 12.605 15.5107 28.988 -41.94 12.7445 15.3477 29.5784 -41.945 12.8687 15.1475 30.1593 -41.95 12.9763 14.9118 30.7264 -41.955 13.0662 14.6423 31.2758 -41.96 13.1374 14.3406 31.8039 -41.965 13.1891 14.0086 32.3072 -41.97 13.2209 13.6483 32.7828 -41.975 13.2321 13.2616 33.228 -41.98 13.2227 12.8507 33.6405 -41.985 13.1925 12.4176 34.0182 -41.99 13.1415 11.9646 34.3594 -41.995 13.0702 11.494 34.6627 -42 12.9789 11.0083 34.9271 -42.005 12.8682 10.5099 35.1518 -42.01 12.739 10.0013 35.3363 -42.015 12.5923 9.48532 35.4807 -42.02 12.4277 8.96821 35.5846 -42.025 12.2457 8.4556 35.6484 -42.03 12.0476 7.95037 35.6732 -42.035 11.8349 7.45518 35.6599 -42.04 11.609 6.97245 35.61 -42.045 11.3711 6.50437 35.5249 -42.05 11.1226 6.05289 35.4063 -42.055 10.865 5.61975 35.2559 -42.06 10.5994 5.20644 35.076 -42.065 10.3272 4.81424 34.8686 -42.07 10.0497 4.44417 34.6361 -42.075 9.76814 4.09705 34.3812 -42.08 9.48386 3.77346 34.1066 -42.085 9.19808 3.47374 33.8152 -42.09 8.91207 3.198 33.5102 -42.095 8.62704 2.94613 33.1948 -42.1 8.34422 2.71778 32.8726 -42.105 8.0648 2.51132 32.5439 -42.11 7.7896 2.32526 32.2084 -42.115 7.51931 2.15885 31.8674 -42.12 7.25456 2.01129 31.522 -42.125 6.99592 1.88176 31.1735 -42.13 6.74391 1.76941 30.8227 -42.135 6.499 1.67335 30.4708 -42.14 6.26159 1.59267 30.1184 -42.145 6.03207 1.52642 29.7664 -42.15 5.81072 1.47363 29.4156 -42.155 5.59782 1.43328 29.0664 -42.16 5.39355 1.40435 28.7194 -42.165 5.19807 1.38575 28.3751 -42.17 5.01147 1.3764 28.0338 -42.175 4.8338 1.37515 27.6959 -42.18 4.66504 1.38085 27.3614 -42.185 4.50511 1.39253 27.0306 -42.19 4.35374 1.41056 26.7034 -42.195 4.21078 1.43462 26.3801 -42.2 4.07607 1.4642 26.0605 -42.205 3.94948 1.49886 25.7449 -42.21 3.83083 1.53817 25.4332 -42.215 3.71998 1.58176 25.1256 -42.22 3.61676 1.62929 24.822 -42.225 3.52098 1.68045 24.5224 -42.23 3.43248 1.73496 24.227 -42.235 3.35107 1.7926 23.9358 -42.24 3.27655 1.85318 23.6487 -42.245 3.20875 1.91652 23.3658 -42.25 3.14744 1.98252 23.0871 -42.255 3.09243 2.05109 22.8126 -42.26 3.04351 2.12218 22.5422 -42.265 3.00046 2.19578 22.2761 -42.27 2.96302 2.27192 22.0141 -42.275 2.93097 2.35061 21.7564 -42.28 2.90423 2.43182 21.503 -42.285 2.88274 2.51554 21.2538 -42.29 2.86643 2.60179 21.0089 -42.295 2.85522 2.69057 20.7683 -42.3 2.84903 2.78195 20.532 -42.305 2.84778 2.87599 20.3001 -42.31 2.85139 2.97276 20.0726 -42.315 2.85978 3.07238 19.8496 -42.32 2.87287 3.17497 19.6312 -42.325 2.89055 3.28067 19.4173 -42.33 2.91274 3.38964 19.2082 -42.335 2.93935 3.50207 19.0038 -42.34 2.97028 3.61814 18.8043 -42.345 3.00542 3.73809 18.6098 -42.35 3.04469 3.86215 18.4204 -42.355 3.08797 3.99058 18.2363 -42.36 3.13523 4.12357 18.0574 -42.365 3.18669 4.26114 17.8842 -42.37 3.2424 4.40346 17.7165 -42.375 3.30244 4.55073 17.5548 -42.38 3.36686 4.70316 17.399 -42.385 3.43573 4.86093 17.2493 -42.39 3.50911 5.02425 17.1061 -42.395 3.58706 5.1933 16.9696 -42.4 3.66966 5.36829 16.8399 -42.405 3.75697 5.5494 16.7175 -42.41 3.84906 5.73683 16.6025 -42.415 3.94601 5.93077 16.4955 -42.42 4.0479 6.13141 16.3966 -42.425 4.15479 6.33893 16.3064 -42.43 4.26677 6.55354 16.2252 -42.435 4.38392 6.77541 16.1534 -42.44 4.50632 7.00474 16.0915 -42.445 4.63404 7.2417 16.0401 -42.45 4.7671 7.48611 15.9994 -42.455 4.90541 7.73718 15.9698 -42.46 5.04923 7.99538 15.9519 -42.465 5.1988 8.26116 15.9466 -42.47 5.35434 8.53485 15.9547 -42.475 5.51602 8.81664 15.9772 -42.48 5.68399 9.1066 16.0147 -42.485 5.85834 9.40471 16.0681 -42.49 6.03915 9.71078 16.1382 -42.495 6.22646 10.0245 16.226 -42.5 6.42027 10.3455 16.3321 -42.505 6.62055 10.6733 16.4574 -42.51 6.82723 11.0071 16.6027 -42.515 7.04022 11.3461 16.7689 -42.52 7.25937 11.6896 16.9567 -42.525 7.48452 12.0364 17.167 -42.53 7.71547 12.3854 17.4006 -42.535 7.95196 12.7353 17.6583 -42.54 8.19374 13.0848 17.9409 -42.545 8.4405 13.4323 18.2493 -42.55 8.69188 13.7761 18.5842 -42.555 8.94752 14.1146 18.9465 -42.56 9.20701 14.4458 19.337 -42.565 9.46989 14.7677 19.7565 -42.57 9.73569 15.0781 20.2058 -42.575 10.0037 15.3759 20.6845 -42.58 10.2728 15.6588 21.1916 -42.585 10.5421 15.9231 21.7266 -42.59 10.8105 16.1652 22.2889 -42.595 11.0767 16.3818 22.8773 -42.6 11.3397 16.5697 23.4904 -42.605 11.5982 16.7261 24.1265 -42.61 11.851 16.8483 24.7834 -42.615 12.0965 16.9339 25.4587 -42.62 12.3335 16.9806 26.1494 -42.625 12.5605 16.9865 26.8524 -42.63 12.776 16.9498 27.5641 -42.635 12.9784 16.8689 28.2806 -42.64 13.166 16.7426 28.9976 -42.645 13.3372 16.5697 29.7105 -42.65 13.4902 16.3495 30.4144 -42.655 13.6234 16.0805 31.1039 -42.66 13.7364 15.7595 31.7743 -42.665 13.8277 15.3906 32.4205 -42.67 13.896 14.9788 33.0372 -42.675 13.9402 14.529 33.6203 -42.68 13.9596 14.0459 34.1655 -42.685 13.9534 13.5338 34.6694 -42.69 13.9215 12.9971 35.1292 -42.695 13.8636 12.4395 35.5422 -42.7 13.7801 11.8651 35.9064 -42.705 13.6713 11.2771 36.2204 -42.71 13.5379 10.6791 36.4832 -42.715 13.3808 10.074 36.6943 -42.72 13.2012 9.46478 36.8537 -42.725 13.0006 8.85409 36.9618 -42.73 12.7807 8.24434 37.0196 -42.735 12.5434 7.63777 37.0287 -42.74 12.2892 7.04153 36.9914 -42.745 12.0185 6.46376 36.9106 -42.75 11.7333 5.90723 36.7887 -42.755 11.4355 5.37437 36.628 -42.76 11.1272 4.86722 36.4312 -42.765 10.81 4.38743 36.2012 -42.77 10.4858 3.93629 35.9406 -42.775 10.1562 3.51471 35.6526 -42.78 9.82298 3.12322 35.3402 -42.785 9.48757 2.76198 35.0068 -42.79 9.15155 2.43077 34.6557 -42.795 8.81634 2.12899 34.2905 -42.8 8.48333 1.85567 33.9148 -42.805 8.15384 1.60946 33.5324 -42.81 7.82913 1.3887 33.1467 -42.815 7.51029 1.19219 32.757 -42.82 7.19808 1.0187 32.3637 -42.825 6.89319 0.8669 31.9682 -42.83 6.59622 0.735478 31.5716 -42.835 6.30769 0.623116 31.1751 -42.84 6.02809 0.528507 30.7796 -42.845 5.75781 0.450349 30.3859 -42.85 5.49718 0.387349 29.9949 -42.855 5.24646 0.338217 29.607 -42.86 5.00585 0.301672 29.2228 -42.865 4.77548 0.27644 28.8427 -42.87 4.5554 0.26125 28.467 -42.875 4.34561 0.254842 28.0958 -42.88 4.14603 0.255959 27.7292 -42.885 3.95649 0.263772 27.3672 -42.89 3.77674 0.278016 27.0099 -42.895 3.60658 0.298018 26.6575 -42.9 3.4458 0.323141 26.3099 -42.905 3.29417 0.3528 25.9671 -42.91 3.15145 0.386454 25.6291 -42.915 3.01741 0.423612 25.2957 -42.92 2.89181 0.463832 24.9671 -42.925 2.77437 0.506717 24.6432 -42.93 2.66485 0.551919 24.3239 -42.935 2.56297 0.599138 24.0091 -42.94 2.46845 0.648122 23.6989 -42.945 2.38101 0.698667 23.3931 -42.95 2.30034 0.750616 23.0917 -42.955 2.22616 0.803861 22.7946 -42.96 2.15813 0.858337 22.5017 -42.965 2.09594 0.913976 22.2131 -42.97 2.0394 0.970688 21.9285 -42.975 1.98835 1.02841 21.6481 -42.98 1.94263 1.08708 21.3717 -42.985 1.90206 1.14668 21.0993 -42.99 1.86648 1.2072 20.8308 -42.995 1.83572 1.26866 20.5663 -43 1.8096 1.33109 20.3057 -43.005 1.78796 1.39454 20.049 -43.01 1.77061 1.4591 19.7961 -43.015 1.75739 1.52486 19.547 -43.02 1.74811 1.59193 19.3017 -43.025 1.7426 1.66046 19.0602 -43.03 1.74067 1.7306 18.8224 -43.035 1.74215 1.80254 18.5884 -43.04 1.74689 1.87644 18.3582 -43.045 1.75494 1.95235 18.1317 -43.05 1.7663 2.03038 17.909 -43.055 1.78094 2.11063 17.69 -43.06 1.79884 2.19325 17.4749 -43.065 1.82 2.27836 17.2635 -43.07 1.84439 2.36613 17.056 -43.075 1.87201 2.45672 16.8524 -43.08 1.90284 2.55031 16.6526 -43.085 1.93689 2.64708 16.4568 -43.09 1.97415 2.74725 16.265 -43.095 2.01461 2.85102 16.0773 -43.1 2.05828 2.95862 15.8937 -43.105 2.10516 3.07028 15.7144 -43.11 2.15525 3.18627 15.5394 -43.115 2.20856 3.30683 15.3687 -43.12 2.26517 3.43217 15.2026 -43.125 2.32521 3.56245 15.0413 -43.13 2.3888 3.69793 14.8847 -43.135 2.45601 3.83887 14.733 -43.14 2.52697 3.98552 14.5864 -43.145 2.60177 4.13815 14.445 -43.15 2.68053 4.29703 14.3089 -43.155 2.76338 4.46242 14.1786 -43.16 2.85045 4.63461 14.0541 -43.165 2.94186 4.81386 13.9357 -43.17 3.03775 5.00046 13.8239 -43.175 3.13827 5.19469 13.7188 -43.18 3.24357 5.39683 13.6209 -43.185 3.3538 5.60717 13.5305 -43.19 3.46912 5.82601 13.4481 -43.195 3.58971 6.05365 13.374 -43.2 3.71572 6.29037 13.3089 -43.205 3.84735 6.53648 13.2531 -43.21 3.98477 6.79229 13.2072 -43.215 4.12805 7.05728 13.1718 -43.22 4.27729 7.33099 13.1474 -43.225 4.43284 7.6143 13.1348 -43.23 4.59499 7.90793 13.1348 -43.235 4.76402 8.21249 13.1483 -43.24 4.94018 8.52839 13.1762 -43.245 5.12369 8.85592 13.2194 -43.25 5.31473 9.19523 13.2788 -43.255 5.51347 9.54629 13.3556 -43.26 5.72003 9.90895 13.4507 -43.265 5.9345 10.2829 13.5654 -43.27 6.15697 10.6677 13.7007 -43.275 6.38747 11.0626 13.858 -43.28 6.626 11.467 14.0384 -43.285 6.87256 11.88 14.2433 -43.29 7.12709 12.3004 14.474 -43.295 7.38951 12.7271 14.7319 -43.3 7.65973 13.1587 15.0185 -43.305 7.93759 13.5937 15.3352 -43.31 8.22293 14.0304 15.6836 -43.315 8.51557 14.467 16.0653 -43.32 8.81526 14.9017 16.4818 -43.325 9.12176 15.3321 16.935 -43.33 9.43478 15.7562 17.4264 -43.335 9.75325 16.1725 17.9555 -43.34 10.076 16.5773 18.5224 -43.345 10.4023 16.9661 19.1282 -43.35 10.7309 17.3342 19.7734 -43.355 11.0608 17.6772 20.4578 -43.36 11.3907 17.9906 21.1807 -43.365 11.719 18.2703 21.9407 -43.37 12.0443 18.512 22.7361 -43.375 12.3648 18.7117 23.5641 -43.38 12.6786 18.8656 24.4217 -43.385 12.9838 18.9697 25.3051 -43.39 13.2781 19.0205 26.21 -43.395 13.5594 19.0142 27.1314 -43.4 13.8251 18.9473 28.0639 -43.405 14.0727 18.8166 29.0011 -43.41 14.2998 18.618 29.9369 -43.415 14.5054 18.3444 30.8665 -43.42 14.6871 17.9992 31.7805 -43.425 14.8421 17.5877 32.6695 -43.43 14.9681 17.1151 33.5246 -43.435 15.0633 16.5865 34.3382 -43.44 15.1261 16.0071 35.1032 -43.445 15.1554 15.3816 35.8139 -43.45 15.1505 14.715 36.465 -43.455 15.1111 14.0121 37.0525 -43.46 15.0372 13.2773 37.5731 -43.465 14.9291 12.5153 38.0245 -43.47 14.7879 11.7306 38.4052 -43.475 14.6145 10.9275 38.7148 -43.48 14.4107 10.1103 38.9535 -43.485 14.1785 9.28305 39.1227 -43.49 13.919 8.4542 39.2237 -43.495 13.6316 7.64031 39.257 -43.5 13.3189 6.84758 39.2253 -43.505 12.9837 6.08093 39.1319 -43.51 12.6285 5.34468 38.9802 -43.515 12.2559 4.64253 38.7744 -43.52 11.8684 3.97757 38.5185 -43.525 11.4687 3.35226 38.2171 -43.53 11.059 2.76844 37.8753 -43.535 10.6418 2.22737 37.4981 -43.54 10.2194 1.72964 37.0913 -43.545 9.79417 1.27526 36.6608 -43.55 9.36832 0.863614 36.2129 -43.555 8.94405 0.493463 35.7541 -43.56 8.52351 0.162948 35.2913 -43.565 8.10855 -0.130796 34.8247 -43.57 7.70047 -0.390275 34.3536 -43.575 7.30045 -0.617592 33.8801 -43.58 6.90954 -0.814855 33.4061 -43.585 6.52866 -0.984176 32.9335 -43.59 6.15862 -1.12768 32.4636 -43.595 5.8001 -1.24747 31.9979 -43.6 5.45368 -1.3457 31.5374 -43.605 5.11979 -1.42449 31.0829 -43.61 4.79878 -1.48597 30.6351 -43.615 4.49083 -1.53229 30.1946 -43.62 4.19604 -1.5656 29.7614 -43.625 3.91437 -1.58805 29.3356 -43.63 3.64567 -1.60136 28.9171 -43.635 3.38971 -1.60602 28.5062 -43.64 3.14619 -1.60313 28.1027 -43.645 2.91482 -1.59381 27.7065 -43.65 2.69528 -1.57909 27.3174 -43.655 2.48723 -1.5599 26.9354 -43.66 2.29031 -1.53713 26.5602 -43.665 2.10416 -1.51155 26.1916 -43.67 1.9284 -1.4839 25.8296 -43.675 1.76263 -1.4548 25.4739 -43.68 1.60642 -1.42482 25.1244 -43.685 1.45935 -1.39444 24.7809 -43.69 1.32096 -1.36406 24.4432 -43.695 1.1908 -1.33401 24.1111 -43.7 1.06837 -1.30456 23.7843 -43.705 0.953209 -1.27599 23.4628 -43.71 0.844965 -1.24853 23.1464 -43.715 0.74329 -1.22241 22.8349 -43.72 0.647838 -1.19779 22.5283 -43.725 0.558261 -1.17483 22.2263 -43.73 0.474211 -1.15368 21.929 -43.735 0.395341 -1.13443 21.6361 -43.74 0.3213 -1.11719 21.3476 -43.745 0.251739 -1.102 21.0633 -43.75 0.186308 -1.08891 20.7832 -43.755 0.124657 -1.07793 20.5072 -43.76 0.0664331 -1.06905 20.2351 -43.765 0.0112875 -1.06224 19.9669 -43.77 -0.0410308 -1.05751 19.7025 -43.775 -0.0906951 -1.05493 19.4419 -43.78 -0.137891 -1.05452 19.1849 -43.785 -0.182804 -1.05631 18.9317 -43.79 -0.225623 -1.06032 18.682 -43.795 -0.266539 -1.06658 18.4359 -43.8 -0.305742 -1.07509 18.1932 -43.805 -0.343426 -1.08586 17.954 -43.81 -0.379786 -1.09889 17.7182 -43.815 -0.415017 -1.11416 17.4858 -43.82 -0.449318 -1.13168 17.2566 -43.825 -0.482888 -1.15142 17.0308 -43.83 -0.515929 -1.17336 16.8081 -43.835 -0.548611 -1.19749 16.5886 -43.84 -0.581011 -1.22389 16.3723 -43.845 -0.613216 -1.25263 16.1591 -43.85 -0.645316 -1.28375 15.949 -43.855 -0.677408 -1.31734 15.742 -43.86 -0.709593 -1.35344 15.5381 -43.865 -0.741977 -1.39212 15.3373 -43.87 -0.774672 -1.43345 15.1395 -43.875 -0.807792 -1.4775 14.9447 -43.88 -0.84146 -1.52432 14.7529 -43.885 -0.875801 -1.574 14.5641 -43.89 -0.910945 -1.62659 14.3784 -43.895 -0.947029 -1.68216 14.1956 -43.9 -0.984193 -1.74079 14.0158 -43.905 -1.02258 -1.80255 13.839 -43.91 -1.06229 -1.86757 13.6652 -43.915 -1.10339 -1.93601 13.4944 -43.92 -1.14594 -2.00804 13.3267 -43.925 -1.19003 -2.08381 13.1621 -43.93 -1.23574 -2.1635 13.0005 -43.935 -1.28316 -2.24729 12.8421 -43.94 -1.33242 -2.33536 12.6869 -43.945 -1.38362 -2.4279 12.5349 -43.95 -1.43688 -2.5251 12.3862 -43.955 -1.49234 -2.62716 12.2408 -43.96 -1.55013 -2.7343 12.099 -43.965 -1.61043 -2.84671 11.9606 -43.97 -1.67337 -2.96462 11.8259 -43.975 -1.73913 -3.08825 11.695 -43.98 -1.8079 -3.21782 11.5679 -43.985 -1.87985 -3.35357 11.4448 -43.99 -1.95519 -3.49572 11.3258 -43.995 -2.03408 -3.64447 11.2114 -44 -2.11667 -3.80019 11.1015 -44.005 -2.20309 -3.9633 10.9964 -44.01 -2.29349 -4.13421 10.8961 -44.015 -2.38803 -4.31333 10.801 -44.02 -2.48689 -4.50104 10.7113 -44.025 -2.59026 -4.69774 10.6273 -44.03 -2.69834 -4.90381 10.5494 -44.035 -2.81134 -5.11964 10.4779 -44.04 -2.9295 -5.34559 10.4134 -44.045 -3.05305 -5.58205 10.3562 -44.05 -3.18225 -5.82936 10.307 -44.055 -3.31737 -6.08789 10.2664 -44.06 -3.45869 -6.35799 10.2349 -44.065 -3.6065 -6.64 10.2132 -44.07 -3.7611 -6.93426 10.2021 -44.075 -3.92283 -7.24111 10.2023 -44.08 -4.09201 -7.56088 10.2146 -44.085 -4.26898 -7.89389 10.2399 -44.09 -4.45411 -8.24045 10.2791 -44.095 -4.64705 -8.59873 10.333 -44.1 -4.84778 -8.96831 10.4029 -44.105 -5.05695 -9.35073 10.4902 -44.11 -5.27512 -9.74721 10.5965 -44.115 -5.50275 -10.1586 10.7234 -44.12 -5.74024 -10.5856 10.8724 -44.125 -5.98792 -11.0282 11.0452 -44.13 -6.24602 -11.4865 11.2434 -44.135 -6.51471 -11.96 11.4688 -44.14 -6.79407 -12.4478 11.7231 -44.145 -7.0841 -12.949 12.008 -44.15 -7.38474 -13.4621 12.3253 -44.155 -7.69583 -13.9854 12.6769 -44.16 -8.01713 -14.5167 13.0647 -44.165 -8.34834 -15.0536 13.4904 -44.17 -8.68908 -15.5934 13.9561 -44.175 -9.03888 -16.133 14.4636 -44.18 -9.39718 -16.669 15.0151 -44.185 -9.76338 -17.1976 15.6125 -44.19 -10.1368 -17.7149 16.2578 -44.195 -10.5165 -18.2163 16.9532 -44.2 -10.9019 -18.6971 17.7008 -44.205 -11.2918 -19.1524 18.5028 -44.21 -11.6853 -19.5768 19.361 -44.215 -12.0803 -19.9673 20.272 -44.22 -12.474 -20.3163 21.2321 -44.225 -12.864 -20.6152 22.2386 -44.23 -13.2479 -20.8561 23.2878 -44.235 -13.6229 -21.0319 24.3753 -44.24 -13.9863 -21.1364 25.4957 -44.245 -14.3352 -21.1641 26.6428 -44.25 -14.6668 -21.1105 27.8094 -44.255 -14.9779 -20.9719 28.9877 -44.26 -15.2654 -20.7453 30.1687 -44.265 -15.5261 -20.4286 31.3429 -44.27 -15.7567 -20.0205 32.4995 -44.275 -15.9536 -19.5206 33.6272 -44.28 -16.1137 -18.9282 34.7136 -44.285 -16.2354 -18.2393 35.7461 -44.29 -16.3165 -17.4653 36.7143 -44.295 -16.3548 -16.6199 37.6098 -44.3 -16.3488 -15.7159 38.425 -44.305 -16.2976 -14.7651 39.1539 -44.31 -16.201 -13.7784 39.7914 -44.315 -16.0591 -12.766 40.3339 -44.32 -15.8728 -11.7369 40.779 -44.325 -15.6436 -10.6995 41.1254 -44.33 -15.3734 -9.66106 41.3732 -44.335 -15.065 -8.62808 41.5236 -44.34 -14.7215 -7.60612 41.5793 -44.345 -14.3468 -6.59983 41.5439 -44.35 -13.9442 -5.61654 41.4231 -44.355 -13.5143 -4.67552 41.2264 -44.36 -13.0606 -3.78367 40.961 -44.365 -12.5871 -2.9453 40.6341 -44.37 -12.0975 -2.16364 40.2528 -44.375 -11.5952 -1.44085 39.8243 -44.38 -11.0838 -0.778038 39.3558 -44.385 -10.5665 -0.175228 38.8545 -44.39 -10.0463 0.368616 38.3279 -44.395 -9.52615 0.855597 37.7831 -44.4 -9.00883 1.28889 37.2277 -44.405 -8.49692 1.67261 36.6687 -44.41 -7.99263 2.0093 36.1078 -44.415 -7.49765 2.30183 35.5469 -44.42 -7.01352 2.55357 34.9887 -44.425 -6.54156 2.76786 34.4356 -44.43 -6.08293 2.94797 33.8896 -44.435 -5.63857 3.09713 33.3524 -44.44 -5.20927 3.21853 32.8253 -44.445 -4.79561 3.31528 32.3093 -44.45 -4.398 3.39045 31.8049 -44.455 -4.01663 3.44708 31.3125 -44.46 -3.65154 3.48813 30.832 -44.465 -3.30272 3.51597 30.3633 -44.47 -2.96997 3.5322 29.9065 -44.475 -2.65292 3.53857 29.4613 -44.48 -2.35118 3.53673 29.0274 -44.485 -2.0643 3.52819 28.6042 -44.49 -1.79186 3.51437 28.1916 -44.495 -1.53338 3.49658 27.7891 -44.5 -1.28837 3.47599 27.3964 -44.505 -1.05633 3.45368 27.0131 -44.51 -0.83671 3.43061 26.6389 -44.515 -0.628969 3.40763 26.2735 -44.52 -0.432528 3.38547 25.9164 -44.525 -0.246788 3.36475 25.5674 -44.53 -0.0711312 3.34598 25.2261 -44.535 0.095084 3.32955 24.8922 -44.54 0.252583 3.31581 24.5654 -44.545 0.402012 3.30514 24.2453 -44.55 0.543826 3.29782 23.9318 -44.555 0.678477 3.29413 23.6247 -44.56 0.806425 3.29432 23.3239 -44.565 0.928133 3.2986 23.0291 -44.57 1.04407 3.30716 22.7403 -44.575 1.1547 3.32018 22.4573 -44.58 1.26052 3.3378 22.18 -44.585 1.36199 3.36014 21.9083 -44.59 1.4596 3.38729 21.642 -44.595 1.55385 3.41932 21.381 -44.6 1.64523 3.45628 21.1254 -44.605 1.73423 3.49819 20.8749 -44.61 1.82135 3.54504 20.6295 -44.615 1.90686 3.59692 20.3893 -44.62 1.99097 3.65394 20.1543 -44.625 2.07393 3.71621 19.9244 -44.63 2.15599 3.78386 19.6999 -44.635 2.23742 3.85697 19.4806 -44.64 2.31846 3.93564 19.2666 -44.645 2.3994 4.01997 19.0581 -44.65 2.48051 4.11005 18.855 -44.655 2.56208 4.20595 18.6574 -44.66 2.64438 4.30774 18.4655 -44.665 2.72773 4.41551 18.2793 -44.67 2.81242 4.52931 18.0989 -44.675 2.89876 4.6492 17.9244 -44.68 2.98707 4.77524 17.7559 -44.685 3.0776 4.90748 17.5936 -44.69 3.17048 5.04611 17.4378 -44.695 3.26585 5.19133 17.2886 -44.7 3.36386 5.34336 17.1462 -44.705 3.46466 5.50238 17.011 -44.71 3.56842 5.66857 16.8831 -44.715 3.67532 5.84209 16.763 -44.72 3.78553 6.02308 16.6508 -44.725 3.89925 6.21166 16.547 -44.73 4.01666 6.40794 16.4519 -44.735 4.13798 6.61201 16.3659 -44.74 4.26342 6.82396 16.2895 -44.745 4.39321 7.04385 16.2229 -44.75 4.52756 7.27171 16.1668 -44.755 4.66672 7.50758 16.1216 -44.76 4.81093 7.75147 16.0878 -44.765 4.96043 8.00335 16.0659 -44.77 5.11514 8.26284 16.0562 -44.775 5.27515 8.53009 16.0596 -44.78 5.44066 8.8053 16.0769 -44.785 5.61182 9.08857 16.1089 -44.79 5.78875 9.37986 16.1566 -44.795 5.97155 9.67904 16.2207 -44.8 6.16028 9.98584 16.3022 -44.805 6.35497 10.2999 16.4018 -44.81 6.55564 10.6207 16.5205 -44.815 6.76226 10.9476 16.659 -44.82 6.97478 11.2799 16.8182 -44.825 7.19311 11.6167 16.9989 -44.83 7.41715 11.9571 17.202 -44.835 7.64676 12.3 17.4283 -44.84 7.88176 12.6442 17.6787 -44.845 8.12196 12.9884 17.9538 -44.85 8.36713 13.3311 18.2546 -44.855 8.61701 13.6708 18.5819 -44.86 8.87131 14.0058 18.9364 -44.865 9.12971 14.3343 19.3189 -44.87 9.39144 14.6557 19.7292 -44.875 9.65576 14.9675 20.1673 -44.88 9.92195 15.2663 20.6338 -44.885 10.1892 15.5492 21.1288 -44.89 10.4567 15.8131 21.6518 -44.895 10.7234 16.055 22.2024 -44.9 10.9883 16.2723 22.7794 -44.905 11.2504 16.4622 23.3814 -44.91 11.5084 16.6221 24.0068 -44.915 11.761 16.7495 24.6535 -44.92 12.007 16.8422 25.319 -44.925 12.2449 16.8977 26.0004 -44.93 12.4731 16.9141 26.6946 -44.935 12.6902 16.8891 27.3982 -44.94 12.8944 16.821 28.107 -44.945 13.084 16.7077 28.817 -44.95 13.2572 16.5475 29.5236 -44.955 13.4135 16.3354 30.2235 -44.96 13.5514 16.0727 30.9113 -44.965 13.6694 15.7632 31.581 -44.97 13.7658 15.4108 32.2272 -44.975 13.8393 15.0191 32.8448 -44.98 13.8891 14.5917 33.4293 -44.985 13.9142 14.1321 33.9769 -44.99 13.9141 13.6437 34.484 -44.995 13.8887 13.1297 34.9478 -45 13.8378 12.5932 35.3658 -45.005 13.7617 12.0373 35.7361 -45.01 13.6608 11.4649 36.0574 -45.015 13.5359 10.8788 36.3288 -45.02 13.3879 10.2819 36.55 -45.025 13.2179 9.67655 36.721 -45.03 13.0275 9.06542 36.8427 -45.035 12.8184 8.45103 36.9161 -45.04 12.5899 7.84329 36.9426 -45.045 12.343 7.24944 36.9234 -45.05 12.0795 6.67257 36.8602 -45.055 11.8014 6.11545 36.755 -45.06 11.5104 5.5805 36.6098 -45.065 11.2085 5.06983 36.427 -45.07 10.8972 4.58519 36.2092 -45.075 10.5784 4.12799 35.959 -45.08 10.2537 3.69933 35.6795 -45.085 9.92473 3.29994 35.374 -45.09 9.59298 2.93024 35.0457 -45.095 9.25998 2.5903 34.6983 -45.1 8.9272 2.27985 34.3357 -45.105 8.59604 1.9983 33.9619 -45.11 8.26787 1.7447 33.5813 -45.115 7.94398 1.51779 33.1982 -45.12 7.62563 1.31573 32.8134 -45.125 7.3137 1.1368 32.4245 -45.13 7.00886 0.979718 32.0329 -45.135 6.7117 0.843194 31.6398 -45.14 6.42278 0.725951 31.2462 -45.145 6.14256 0.626715 30.8533 -45.15 5.87145 0.544221 30.4618 -45.155 5.6098 0.477206 30.0726 -45.16 5.3579 0.424415 29.6862 -45.165 5.11596 0.384596 29.3033 -45.17 4.88413 0.356504 28.9242 -45.175 4.66251 0.338901 28.5494 -45.18 4.45112 0.330552 28.1789 -45.185 4.24992 0.330228 27.813 -45.19 4.05882 0.336706 27.4516 -45.195 3.87758 0.349362 27.0948 -45.2 3.70595 0.367988 26.7427 -45.205 3.54371 0.391952 26.3954 -45.21 3.39063 0.420666 26.0528 -45.215 3.24651 0.453588 25.7149 -45.22 3.11109 0.490225 25.3818 -45.225 2.98414 0.530126 25.0532 -45.23 2.86542 0.572888 24.7293 -45.235 2.75467 0.618153 24.41 -45.24 2.65162 0.665609 24.0953 -45.245 2.55601 0.71499 23.785 -45.25 2.46756 0.766077 23.4792 -45.255 2.38599 0.818694 23.1778 -45.26 2.311 0.872714 22.8806 -45.265 2.24231 0.928054 22.5878 -45.27 2.1796 0.984675 22.2991 -45.275 2.12256 1.04253 22.0146 -45.28 2.07103 1.10153 21.7342 -45.285 2.02486 1.16164 21.4578 -45.29 1.98388 1.22281 21.1855 -45.295 1.94796 1.28503 20.9171 -45.3 1.91693 1.3483 20.6527 -45.305 1.89064 1.41266 20.3923 -45.31 1.86893 1.47814 20.1357 -45.315 1.85164 1.54482 19.883 -45.32 1.83861 1.61278 19.6342 -45.325 1.82967 1.68213 19.3891 -45.33 1.82465 1.753 19.148 -45.335 1.82339 1.82553 18.9106 -45.34 1.82573 1.89991 18.677 -45.345 1.83148 1.97631 18.4473 -45.35 1.8405 2.05493 18.2213 -45.355 1.85284 2.13583 17.9992 -45.36 1.86851 2.21912 17.781 -45.365 1.8875 2.30493 17.5666 -45.37 1.90982 2.39338 17.3561 -45.375 1.93546 2.48462 17.1495 -45.38 1.96442 2.57883 16.9469 -45.385 1.9967 2.67618 16.7483 -45.39 2.0323 2.77684 16.5537 -45.395 2.07124 2.88102 16.3633 -45.4 2.11352 2.98893 16.177 -45.405 2.15915 3.10079 15.9951 -45.41 2.20815 3.21683 15.8175 -45.415 2.26054 3.33729 15.6443 -45.42 2.31633 3.46245 15.4757 -45.425 2.37554 3.59255 15.3119 -45.43 2.43822 3.72787 15.1528 -45.435 2.50453 3.86851 14.9989 -45.44 2.57458 4.01475 14.8501 -45.445 2.64848 4.16685 14.7066 -45.45 2.72635 4.32512 14.5687 -45.455 2.80832 4.48982 14.4364 -45.46 2.89449 4.66125 14.31 -45.465 2.98501 4.83968 14.1898 -45.47 3.08001 5.02538 14.076 -45.475 3.17963 5.21863 13.969 -45.48 3.28402 5.41971 13.8692 -45.485 3.39333 5.62887 13.7769 -45.49 3.50772 5.8464 13.6926 -45.495 3.62735 6.07255 13.6166 -45.5 3.75238 6.30759 13.5496 -45.505 3.883 6.55177 13.4919 -45.51 4.01937 6.80537 13.4443 -45.515 4.16169 7.06863 13.4072 -45.52 4.31014 7.34182 13.3812 -45.525 4.46493 7.62518 13.3671 -45.53 4.62612 7.91847 13.3654 -45.535 4.79383 8.22139 13.3769 -45.54 4.96836 8.53451 13.4024 -45.545 5.14998 8.85825 13.4432 -45.55 5.33895 9.19288 13.5001 -45.555 5.53545 9.53852 13.5743 -45.56 5.73967 9.89511 13.6668 -45.565 5.95172 10.2625 13.7788 -45.57 6.1717 10.6402 13.9115 -45.575 6.39965 11.0278 14.0661 -45.58 6.6356 11.4246 14.2437 -45.585 6.87953 11.8297 14.4457 -45.59 7.13137 12.2422 14.6734 -45.595 7.39103 12.6609 14.928 -45.6 7.65836 13.0845 15.2109 -45.605 7.93321 13.5114 15.5235 -45.61 8.21537 13.9401 15.8672 -45.615 8.50457 14.3688 16.2435 -45.62 8.80055 14.7956 16.6537 -45.625 9.10297 15.2182 17.0996 -45.63 9.4114 15.6348 17.5821 -45.635 9.72478 16.0443 18.1005 -45.64 10.0423 16.4423 18.6559 -45.645 10.3632 16.8243 19.2493 -45.65 10.6863 17.1858 19.8811 -45.655 11.0107 17.5223 20.5514 -45.66 11.3349 17.8297 21.2592 -45.665 11.6578 18.1038 22.0034 -45.67 11.9776 18.3407 22.782 -45.675 12.2928 18.5366 23.5925 -45.68 12.6015 18.6876 24.432 -45.685 12.9018 18.7902 25.2968 -45.69 13.1917 18.841 26.1826 -45.695 13.4689 18.8366 27.0847 -45.7 13.731 18.7739 27.9977 -45.705 13.9756 18.6496 28.9156 -45.71 14.2 18.461 29.8319 -45.715 14.4022 18.2041 30.7402 -45.72 14.5813 17.8757 31.6346 -45.725 14.7349 17.4805 32.5061 -45.73 14.8605 17.0233 33.3462 -45.735 14.9562 16.5091 34.1473 -45.74 15.0204 15.9429 34.9027 -45.745 15.052 15.3295 35.6064 -45.75 15.0501 14.6741 36.2532 -45.755 15.0144 13.9813 36.8387 -45.76 14.9447 13.2563 37.3595 -45.765 14.8414 12.504 37.8128 -45.77 14.7052 11.7292 38.1968 -45.775 14.5372 10.937 38.5104 -45.78 14.3388 10.1322 38.7533 -45.785 14.112 9.31978 38.926 -45.79 13.8579 8.50776 39.03 -45.795 13.5766 7.70995 39.0676 -45.8 13.2704 6.93224 39.0416 -45.805 12.942 6.17947 38.9549 -45.81 12.5939 5.45588 38.8111 -45.815 12.2287 4.76509 38.614 -45.82 11.8488 4.11016 38.3675 -45.825 11.4567 3.49356 38.0761 -45.83 11.0546 2.91713 37.7446 -45.835 10.645 2.38216 37.378 -45.84 10.2302 1.88931 36.9817 -45.845 9.81233 1.43868 36.5614 -45.85 9.39365 1.02976 36.1232 -45.855 8.97631 0.661445 35.6734 -45.86 8.5624 0.332041 35.2188 -45.865 8.15379 0.0388354 34.7602 -45.87 7.75178 -0.220666 34.2966 -45.875 7.35753 -0.448477 33.8301 -45.88 6.97207 -0.64662 33.3626 -45.885 6.59633 -0.817124 32.8959 -45.89 6.23112 -0.96203 32.4315 -45.895 5.87713 -1.08339 31.9707 -45.9 5.53492 -1.18325 31.5146 -45.905 5.20496 -1.26369 31.0641 -45.91 4.88758 -1.32678 30.6199 -45.915 4.58302 -1.37461 30.1825 -45.92 4.29137 -1.40926 29.7522 -45.925 4.01262 -1.43285 29.329 -45.93 3.74666 -1.44725 28.9128 -45.935 3.49325 -1.45295 28.5039 -45.94 3.25212 -1.45095 28.1021 -45.945 3.02299 -1.44235 27.7075 -45.95 2.80555 -1.42814 27.3197 -45.955 2.59948 -1.40927 26.9388 -45.96 2.40444 -1.3866 26.5645 -45.965 2.22008 -1.36092 26.1968 -45.97 2.04602 -1.33293 25.8354 -45.975 1.88189 -1.30326 25.4803 -45.98 1.72727 -1.27248 25.1312 -45.985 1.58175 -1.24107 24.788 -45.99 1.44491 -1.20942 24.4505 -45.995 1.31628 -1.17788 24.1185 -46 1.19539 -1.1467 23.7918 -46.005 1.08179 -1.11617 23.4703 -46.01 0.975125 -1.08653 23.1538 -46.015 0.875063 -1.05797 22.8422 -46.02 0.781264 -1.03068 22.5353 -46.025 0.693393 -1.00482 22.2331 -46.03 0.611112 -0.980512 21.9354 -46.035 0.534082 -0.957873 21.6422 -46.04 0.461963 -0.936982 21.3532 -46.045 0.394417 -0.9179 21.0685 -46.05 0.331104 -0.900661 20.7879 -46.055 0.271682 -0.885276 20.5113 -46.06 0.21581 -0.87173 20.2386 -46.065 0.163147 -0.859987 19.9697 -46.07 0.113429 -0.850045 19.7046 -46.075 0.0664924 -0.841949 19.4433 -46.08 0.0221606 -0.835729 19.1855 -46.085 -0.0197439 -0.831403 18.9314 -46.09 -0.0594001 -0.828986 18.6808 -46.095 -0.0969883 -0.828485 18.4337 -46.1 -0.13269 -0.829901 18.1901 -46.105 -0.166688 -0.833228 17.9498 -46.11 -0.199168 -0.838455 17.7128 -46.115 -0.230313 -0.845561 17.4792 -46.12 -0.260312 -0.854523 17.2488 -46.125 -0.289353 -0.865308 17.0215 -46.13 -0.317625 -0.877878 16.7974 -46.135 -0.345301 -0.892205 16.5764 -46.14 -0.37245 -0.908341 16.3584 -46.145 -0.399147 -0.92633 16.1435 -46.15 -0.425476 -0.94621 15.9316 -46.155 -0.451522 -0.96802 15.7227 -46.16 -0.477376 -0.991801 15.5167 -46.165 -0.503131 -1.01759 15.3136 -46.17 -0.528884 -1.04543 15.1134 -46.175 -0.554737 -1.07536 14.9161 -46.18 -0.580794 -1.10741 14.7216 -46.185 -0.607163 -1.14163 14.53 -46.19 -0.633957 -1.17806 14.3411 -46.195 -0.66129 -1.21673 14.1551 -46.2 -0.689283 -1.25768 13.9717 -46.205 -0.718053 -1.30096 13.7912 -46.21 -0.747675 -1.34668 13.6133 -46.215 -0.778195 -1.39493 13.4382 -46.22 -0.80967 -1.44585 13.2658 -46.225 -0.842161 -1.49955 13.0962 -46.23 -0.875737 -1.55615 12.9292 -46.235 -0.910476 -1.61578 12.765 -46.24 -0.946461 -1.67858 12.6035 -46.245 -0.983782 -1.74467 12.4448 -46.25 -1.02254 -1.81421 12.2888 -46.255 -1.06283 -1.88734 12.1356 -46.26 -1.10477 -1.96421 11.9852 -46.265 -1.14849 -2.04497 11.8377 -46.27 -1.19409 -2.12978 11.6931 -46.275 -1.24172 -2.21882 11.5514 -46.28 -1.29152 -2.31223 11.4127 -46.285 -1.34363 -2.4102 11.277 -46.29 -1.39821 -2.51291 11.1444 -46.295 -1.45537 -2.6206 11.0151 -46.3 -1.5152 -2.73355 10.8891 -46.305 -1.57779 -2.85206 10.7665 -46.31 -1.64327 -2.97642 10.6472 -46.315 -1.71175 -3.10694 10.5316 -46.32 -1.78338 -3.24392 10.4196 -46.325 -1.85831 -3.38769 10.3115 -46.33 -1.93669 -3.53856 10.2074 -46.335 -2.01871 -3.69687 10.1075 -46.34 -2.10456 -3.86296 10.0121 -46.345 -2.19443 -4.03717 9.9215 -46.35 -2.28854 -4.21986 9.83589 -46.355 -2.38712 -4.41138 9.7556 -46.36 -2.49041 -4.61209 9.68098 -46.365 -2.59866 -4.82238 9.61238 -46.37 -2.71213 -5.04262 9.55019 -46.375 -2.8311 -5.27319 9.49482 -46.38 -2.95587 -5.51449 9.44668 -46.385 -3.08673 -5.76692 9.40626 -46.39 -3.22381 -6.02997 9.37444 -46.395 -3.36729 -6.30374 9.35203 -46.4 -3.51753 -6.5894 9.33946 -46.405 -3.67487 -6.88796 9.33731 -46.41 -3.83967 -7.20029 9.34624 -46.415 -4.01225 -7.52715 9.36704 -46.42 -4.19292 -7.86915 9.40059 -46.425 -4.38198 -8.22675 9.44792 -46.43 -4.57972 -8.60029 9.51014 -46.435 -4.78643 -8.98999 9.58849 -46.44 -5.00237 -9.39589 9.68431 -46.445 -5.22778 -9.81795 9.79906 -46.45 -5.46292 -10.256 9.93432 -46.455 -5.70801 -10.7096 10.0918 -46.46 -5.96326 -11.1783 10.2732 -46.465 -6.22888 -11.6615 10.4805 -46.47 -6.50507 -12.1586 10.7158 -46.475 -6.792 -12.6685 10.981 -46.48 -7.08984 -13.1903 11.2786 -46.485 -7.39875 -13.7228 11.6108 -46.49 -7.71886 -14.2648 11.9802 -46.495 -8.05032 -14.8147 12.3893 -46.5 -8.39323 -15.3712 12.8407 -46.505 -8.74704 -15.9324 13.3358 -46.51 -9.11044 -16.4957 13.8749 -46.515 -9.4832 -17.0567 14.4619 -46.52 -9.86492 -17.611 15.1 -46.525 -10.2549 -18.1538 15.7918 -46.53 -10.6522 -18.6801 16.539 -46.535 -11.0557 -19.1844 17.3423 -46.54 -11.4639 -19.6612 18.2019 -46.545 -11.8751 -20.1045 19.1171 -46.55 -12.2873 -20.5081 20.0865 -46.555 -12.6984 -20.8656 21.1078 -46.56 -13.1058 -21.1702 22.1778 -46.565 -13.5069 -21.4148 23.2928 -46.57 -13.8987 -21.5922 24.4482 -46.575 -14.2778 -21.6947 25.6386 -46.58 -14.641 -21.7144 26.8576 -46.585 -14.9853 -21.6435 28.1 -46.59 -15.3084 -21.4776 29.3571 -46.595 -15.6058 -21.2147 30.6139 -46.6 -15.8732 -20.8545 31.8566 -46.605 -16.1069 -20.3975 33.072 -46.61 -16.3036 -19.8452 34.2479 -46.615 -16.4605 -19.2007 35.3732 -46.62 -16.5752 -18.4679 36.4374 -46.625 -16.6459 -17.6518 37.4312 -46.63 -16.671 -16.7588 38.346 -46.635 -16.6496 -15.7962 39.1742 -46.64 -16.5812 -14.7726 39.9093 -46.645 -16.4656 -13.6975 40.5455 -46.65 -16.303 -12.5825 41.0772 -46.655 -16.0931 -11.4451 41.4973 -46.66 -15.8377 -10.3001 41.8073 -46.665 -15.5394 -9.16032 42.0109 -46.67 -15.2009 -8.03712 42.1127 -46.675 -14.8253 -6.94078 42.1178 -46.68 -14.4155 -5.88034 42.0316 -46.685 -13.975 -4.86362 41.8606 -46.69 -13.5073 -3.89726 41.6117 -46.695 -13.016 -2.98665 41.2923 -46.7 -12.5051 -2.13601 40.9105 -46.705 -11.9788 -1.34831 40.4751 -46.71 -11.4412 -0.625353 39.9955 -46.715 -10.8968 0.0323552 39.4815 -46.72 -10.3489 0.627264 38.9421 -46.725 -9.80026 1.16178 38.3833 -46.73 -9.25375 1.6378 37.8102 -46.735 -8.7121 2.05762 37.2277 -46.74 -8.17772 2.42389 36.6402 -46.745 -7.65278 2.73966 36.0516 -46.75 -7.13917 3.00834 35.4654 -46.755 -6.63852 3.23372 34.8849 -46.76 -6.15221 3.41998 34.3126 -46.765 -5.68134 3.57167 33.7509 -46.77 -5.22675 3.6937 33.2015 -46.775 -4.78901 3.79138 32.6661 -46.78 -4.36846 3.87037 32.1454 -46.785 -3.96518 3.93208 31.6391 -46.79 -3.57908 3.97649 31.1462 -46.795 -3.21001 4.00602 30.6665 -46.8 -2.85772 4.02294 30.1999 -46.805 -2.52195 4.02933 29.7461 -46.81 -2.20237 4.02711 29.3048 -46.815 -1.89859 4.01804 28.8755 -46.82 -1.61018 4.00371 28.458 -46.825 -1.33666 3.98554 28.0518 -46.83 -1.07748 3.96478 27.6565 -46.835 -0.832066 3.94251 27.2716 -46.84 -0.599769 3.91966 26.8965 -46.845 -0.379842 3.89704 26.5308 -46.85 -0.171507 3.87547 26.174 -46.855 0.0257868 3.85553 25.8258 -46.86 0.212587 3.83772 25.4859 -46.865 0.389446 3.82254 25.154 -46.87 0.556926 3.81041 24.8297 -46.875 0.715592 3.80174 24.5129 -46.88 0.866019 3.79688 24.2032 -46.885 1.00879 3.79613 23.9004 -46.89 1.14448 3.79978 23.6043 -46.895 1.2737 3.80806 23.3147 -46.9 1.39704 3.82114 23.0314 -46.905 1.51511 3.83918 22.7543 -46.91 1.62852 3.86229 22.4831 -46.915 1.73789 3.89052 22.2178 -46.92 1.84378 3.9239 21.9583 -46.925 1.94649 3.9625 21.7044 -46.93 2.04633 4.00645 21.4563 -46.935 2.14361 4.05586 21.214 -46.94 2.23864 4.11086 20.9773 -46.945 2.33174 4.17152 20.7464 -46.95 2.42325 4.23794 20.5213 -46.955 2.51349 4.3102 20.302 -46.96 2.60282 4.38836 20.0885 -46.965 2.69158 4.47248 19.8809 -46.97 2.78013 4.56261 19.6792 -46.975 2.86883 4.65877 19.4836 -46.98 2.95806 4.76099 19.2939 -46.985 3.04818 4.8693 19.1104 -46.99 3.1396 4.98368 18.9331 -46.995 3.23257 5.10418 18.7621 -47 3.32721 5.23095 18.5977 -47.005 3.42367 5.36417 18.4401 -47.01 3.52213 5.50399 18.2895 -47.015 3.62274 5.65056 18.1461 -47.02 3.7257 5.804 18.0102 -47.025 3.83118 5.96443 17.882 -47.03 3.93939 6.13193 17.7619 -47.035 4.05053 6.30659 17.65 -47.04 4.16479 6.48848 17.5469 -47.045 4.2824 6.67763 17.4527 -47.05 4.40358 6.87407 17.3679 -47.055 4.52856 7.07783 17.2928 -47.06 4.65757 7.2889 17.2279 -47.065 4.79085 7.50727 17.1735 -47.07 4.92866 7.73289 17.13 -47.075 5.07112 7.9656 17.0979 -47.08 5.2182 8.20527 17.0776 -47.085 5.37003 8.45206 17.0699 -47.09 5.52676 8.70607 17.0754 -47.095 5.68849 8.96726 17.095 -47.1 5.85531 9.23553 17.1292 -47.105 6.02727 9.51069 17.1788 -47.11 6.20443 9.79243 17.2446 -47.115 6.38681 10.0804 17.3272 -47.12 6.5744 10.374 17.4273 -47.125 6.76718 10.6728 17.5457 -47.13 6.96511 10.9761 17.6831 -47.135 7.16811 11.2831 17.84 -47.14 7.37611 11.593 18.0173 -47.145 7.58899 11.9048 18.2157 -47.15 7.80663 12.2174 18.4357 -47.155 8.02886 12.5299 18.6782 -47.16 8.25551 12.8408 18.9437 -47.165 8.48639 13.1489 19.233 -47.17 8.72121 13.4531 19.5465 -47.175 8.95928 13.7528 19.884 -47.18 9.20007 14.0458 20.246 -47.185 9.44304 14.3296 20.6331 -47.19 9.68759 14.6016 21.0455 -47.195 9.93307 14.8594 21.4832 -47.2 10.1787 15.1007 21.946 -47.205 10.4238 15.3232 22.4331 -47.21 10.6673 15.5246 22.9438 -47.215 10.9084 15.7028 23.4768 -47.22 11.146 15.8556 24.0307 -47.225 11.3791 15.9809 24.6038 -47.23 11.6064 16.0768 25.1939 -47.235 11.8269 16.1413 25.7988 -47.24 12.0391 16.1725 26.4158 -47.245 12.2417 16.1687 27.0421 -47.25 12.4334 16.128 27.6744 -47.255 12.6125 16.0487 28.3093 -47.26 12.7775 15.9291 28.943 -47.265 12.9281 15.7641 29.5732 -47.27 13.0632 15.5543 30.1958 -47.275 13.1811 15.3031 30.8052 -47.28 13.2805 15.0139 31.3966 -47.285 13.3603 14.6898 31.9655 -47.29 13.4195 14.3339 32.5081 -47.295 13.4573 13.9492 33.0205 -47.3 13.4733 13.5385 33.4998 -47.305 13.4669 13.1045 33.9432 -47.31 13.4382 12.6497 34.3484 -47.315 13.3872 12.1767 34.7135 -47.32 13.314 11.6877 35.0372 -47.325 13.2193 11.1849 35.3185 -47.33 13.1036 10.6704 35.5567 -47.335 12.9678 10.1461 35.7519 -47.34 12.8131 9.61398 35.9044 -47.345 12.6406 9.07558 36.0148 -47.35 12.4519 8.53253 36.0844 -47.355 12.2472 7.9912 36.114 -47.36 12.0259 7.46109 36.1038 -47.365 11.7897 6.94486 36.0551 -47.37 11.5403 6.44488 35.9691 -47.375 11.2794 5.96323 35.8477 -47.38 11.0084 5.50173 35.6925 -47.385 10.7289 5.06196 35.5056 -47.39 10.4424 4.64522 35.2891 -47.395 10.1504 4.25254 35.0454 -47.4 9.85412 3.8847 34.777 -47.405 9.55503 3.54221 34.4866 -47.41 9.25441 3.22533 34.1771 -47.415 8.95351 2.93403 33.8516 -47.42 8.65355 2.66805 33.5134 -47.425 8.35571 2.42685 33.1659 -47.43 8.0611 2.20961 32.8128 -47.435 7.77081 2.01529 32.4578 -47.44 7.4859 1.8423 32.101 -47.445 7.20712 1.68916 31.7404 -47.45 6.935 1.55485 31.3772 -47.455 6.67003 1.43832 31.0122 -47.46 6.41264 1.33855 30.6466 -47.465 6.16322 1.2545 30.281 -47.47 5.9221 1.18515 29.9163 -47.475 5.68957 1.12948 29.5531 -47.48 5.46587 1.08649 29.192 -47.485 5.25118 1.05515 28.8336 -47.49 5.04564 1.03448 28.4783 -47.495 4.84934 1.02346 28.1263 -47.5 4.66231 1.02111 27.778 -47.505 4.48455 1.02643 27.4334 -47.51 4.31599 1.03844 27.0928 -47.515 4.15652 1.05621 26.756 -47.52 4.00585 1.07961 26.4233 -47.525 3.86378 1.10834 26.0948 -47.53 3.73013 1.14194 25.7704 -47.535 3.60471 1.17996 25.4503 -47.54 3.48734 1.222 25.1343 -47.545 3.37783 1.26768 24.8226 -47.55 3.27599 1.31669 24.5151 -47.555 3.18161 1.36874 24.2119 -47.56 3.09448 1.42357 23.9129 -47.565 3.0144 1.48097 23.6181 -47.57 2.94114 1.54077 23.3276 -47.575 2.87449 1.60281 23.0412 -47.58 2.81422 1.66702 22.7591 -47.585 2.76009 1.73331 22.4812 -47.59 2.71188 1.80167 22.2075 -47.595 2.66933 1.87211 21.9379 -47.6 2.63219 1.94468 21.6725 -47.605 2.60024 2.01939 21.4112 -47.61 2.57338 2.09622 21.1541 -47.615 2.55155 2.17517 20.9011 -47.62 2.53467 2.25625 20.6523 -47.625 2.52266 2.3395 20.4077 -47.63 2.51543 2.42497 20.1672 -47.635 2.5129 2.51274 19.931 -47.64 2.51498 2.6029 19.699 -47.645 2.52159 2.69555 19.4712 -47.65 2.53262 2.79084 19.2477 -47.655 2.54799 2.88891 19.0286 -47.66 2.5676 2.98993 18.8139 -47.665 2.59135 3.09408 18.6037 -47.67 2.61913 3.20159 18.398 -47.675 2.65085 3.31268 18.197 -47.68 2.68638 3.42758 18.0006 -47.685 2.72564 3.54658 17.8091 -47.69 2.76864 3.66981 17.6225 -47.695 2.81559 3.79733 17.4409 -47.7 2.86653 3.92934 17.2645 -47.705 2.92153 4.06605 17.0934 -47.71 2.98063 4.20764 16.9277 -47.715 3.04391 4.35433 16.7676 -47.72 3.11142 4.50633 16.6132 -47.725 3.18324 4.66385 16.4648 -47.73 3.25944 4.82712 16.3226 -47.735 3.34008 4.99635 16.1868 -47.74 3.42526 5.17178 16.0577 -47.745 3.51504 5.35363 15.9356 -47.75 3.60951 5.54214 15.8209 -47.755 3.70875 5.73754 15.7138 -47.76 3.81286 5.94009 15.6147 -47.765 3.92191 6.15003 15.524 -47.77 4.03602 6.36761 15.4421 -47.775 4.15526 6.59302 15.3693 -47.78 4.27966 6.82561 15.3062 -47.785 4.4094 7.06561 15.2532 -47.79 4.54472 7.31358 15.2108 -47.795 4.68584 7.56998 15.1798 -47.8 4.83294 7.83515 15.1608 -47.805 4.98618 8.10936 15.1545 -47.81 5.14572 8.39276 15.1616 -47.815 5.31169 8.68539 15.1828 -47.82 5.48418 8.98723 15.219 -47.825 5.66328 9.29812 15.271 -47.83 5.84906 9.61781 15.3396 -47.835 6.04154 9.94595 15.4257 -47.84 6.24077 10.2821 15.5302 -47.845 6.44672 10.6257 15.654 -47.85 6.65938 10.9762 15.7981 -47.855 6.8787 11.3327 15.9634 -47.86 7.10462 11.6944 16.1511 -47.865 7.33705 12.0604 16.3621 -47.87 7.57588 12.4296 16.5976 -47.875 7.82099 12.8009 16.8587 -47.88 8.07222 13.173 17.1464 -47.885 8.3294 13.5445 17.4621 -47.89 8.59233 13.9141 17.8068 -47.895 8.86077 14.2803 18.1817 -47.9 9.13386 14.6419 18.5862 -47.905 9.41093 14.9962 19.021 -47.91 9.69139 15.3401 19.487 -47.915 9.97454 15.6705 19.9847 -47.92 10.2596 15.9841 20.5144 -47.925 10.5455 16.278 21.0758 -47.93 10.8314 16.549 21.6682 -47.935 11.1162 16.7942 22.2906 -47.94 11.3985 17.0105 22.9414 -47.945 11.6771 17.195 23.6188 -47.95 11.9505 17.3448 24.3206 -47.955 12.2171 17.4568 25.044 -47.96 12.4754 17.5283 25.786 -47.965 12.7236 17.5564 26.5431 -47.97 12.9599 17.5382 27.3113 -47.975 13.1821 17.4709 28.0865 -47.98 13.389 17.3507 28.8648 -47.985 13.5797 17.1736 29.6429 -47.99 13.7519 16.9419 30.4134 -47.995 13.9036 16.6583 31.1689 -48 14.0329 16.3255 31.903 -48.005 14.1382 15.9463 32.6097 -48.01 14.2182 15.5235 33.2836 -48.015 14.2718 15.0602 33.9198 -48.02 14.2983 14.5593 34.5141 -48.025 14.2972 14.024 35.0629 -48.03 14.2683 13.4574 35.5631 -48.035 14.2115 12.8628 36.0122 -48.04 14.1272 12.2434 36.4083 -48.045 14.0161 11.6027 36.7501 -48.05 13.8788 10.9442 37.0368 -48.055 13.7166 10.2714 37.2684 -48.06 13.5309 9.58787 37.4452 -48.065 13.3214 8.90365 37.5664 -48.07 13.0885 8.22784 37.6323 -48.075 12.8343 7.56481 37.6447 -48.08 12.5607 6.91851 37.6057 -48.085 12.2697 6.29248 37.5177 -48.09 11.9633 5.68986 37.3832 -48.095 11.6434 5.11336 37.2052 -48.1 11.3118 4.56531 36.9868 -48.105 10.9706 4.04761 36.7315 -48.11 10.6215 3.56174 36.443 -48.115 10.2664 3.10881 36.1252 -48.12 9.90716 2.68947 35.7825 -48.125 9.5456 2.304 35.4193 -48.13 9.18353 1.95225 35.0404 -48.135 8.82272 1.63366 34.6509 -48.14 8.46494 1.34704 34.2551 -48.145 8.11157 1.08972 33.8519 -48.15 7.76367 0.86016 33.4424 -48.155 7.42221 0.656984 33.0283 -48.16 7.08806 0.478788 32.6115 -48.165 6.762 0.324134 32.1932 -48.17 6.44474 0.191546 31.7749 -48.175 6.13687 0.079512 31.3576 -48.18 5.83891 -0.0135138 30.9426 -48.185 5.55129 -0.0891142 30.5306 -48.19 5.27435 -0.148907 30.1223 -48.195 5.00834 -0.194547 29.7184 -48.2 4.75342 -0.227722 29.3194 -48.205 4.50965 -0.250159 28.9254 -48.21 4.27702 -0.263617 28.5366 -48.215 4.05541 -0.269415 28.1532 -48.22 3.84456 -0.267463 27.7751 -48.225 3.64427 -0.258554 27.4024 -48.23 3.45431 -0.243513 27.0351 -48.235 3.27444 -0.223106 26.6731 -48.24 3.10442 -0.198041 26.3164 -48.245 2.94399 -0.168967 25.965 -48.25 2.79287 -0.136474 25.6189 -48.255 2.65079 -0.101093 25.2778 -48.26 2.51745 -0.063299 24.9419 -48.265 2.39254 -0.023505 24.611 -48.27 2.27574 0.0179329 24.285 -48.275 2.16672 0.0607173 23.9638 -48.28 2.06514 0.10461 23.6473 -48.285 1.97063 0.149429 23.3354 -48.29 1.88282 0.195002 23.0279 -48.295 1.80143 0.241162 22.7249 -48.3 1.72623 0.287768 22.4262 -48.305 1.65698 0.334705 22.1318 -48.31 1.59345 0.381877 21.8416 -48.315 1.53539 0.429215 21.5554 -48.32 1.48256 0.476671 21.2733 -48.325 1.43473 0.524221 20.9952 -48.33 1.39165 0.571863 20.721 -48.335 1.35309 0.619618 20.4507 -48.34 1.31879 0.667533 20.1841 -48.345 1.28852 0.715674 19.9213 -48.35 1.26203 0.764132 19.6622 -48.355 1.23907 0.813021 19.4067 -48.36 1.21947 0.862439 19.1547 -48.365 1.20315 0.912405 18.9064 -48.37 1.19003 0.962969 18.6615 -48.375 1.18002 1.0142 18.4202 -48.38 1.17304 1.06616 18.1823 -48.385 1.169 1.11894 17.9478 -48.39 1.16782 1.17265 17.7168 -48.395 1.16942 1.22737 17.4891 -48.4 1.17371 1.28325 17.2648 -48.405 1.18061 1.3404 17.0438 -48.41 1.19004 1.39896 16.8261 -48.415 1.20193 1.45909 16.6118 -48.42 1.2162 1.52096 16.4007 -48.425 1.23276 1.58473 16.1929 -48.43 1.25156 1.65058 15.9884 -48.435 1.27262 1.71865 15.7872 -48.44 1.29598 1.78904 15.5894 -48.445 1.32167 1.86189 15.3948 -48.45 1.34971 1.93733 15.2035 -48.455 1.38015 2.01553 15.0155 -48.46 1.41302 2.09663 14.8309 -48.465 1.44835 2.18083 14.6497 -48.47 1.4862 2.26829 14.4718 -48.475 1.5266 2.35922 14.2974 -48.48 1.5696 2.45382 14.1266 -48.485 1.61526 2.5523 13.9592 -48.49 1.66363 2.65489 13.7955 -48.495 1.71477 2.76183 13.6355 -48.5 1.76873 2.87336 13.4793 -48.505 1.82558 2.98975 13.3269 -48.51 1.88538 3.11125 13.1785 -48.515 1.94828 3.23806 13.0343 -48.52 2.01447 3.37034 12.8943 -48.525 2.08405 3.5084 12.7588 -48.53 2.15714 3.65257 12.6278 -48.535 2.23387 3.80316 12.5013 -48.54 2.31437 3.9605 12.3797 -48.545 2.39879 4.12491 12.2631 -48.55 2.48728 4.29671 12.1516 -48.555 2.58 4.47623 12.0457 -48.56 2.67712 4.6638 11.9456 -48.565 2.77882 4.85975 11.8516 -48.57 2.88529 5.0644 11.7641 -48.575 2.99674 5.27809 11.6835 -48.58 3.11336 5.50115 11.6102 -48.585 3.23537 5.73391 11.5448 -48.59 3.36301 5.97672 11.4877 -48.595 3.49649 6.22991 11.4394 -48.6 3.63607 6.49383 11.4006 -48.605 3.782 6.7688 11.3719 -48.61 3.93454 7.05517 11.3538 -48.615 4.09397 7.35329 11.3471 -48.62 4.26033 7.66267 11.3526 -48.625 4.43368 7.98283 11.371 -48.63 4.61445 8.3148 11.4035 -48.635 4.80303 8.65942 11.451 -48.64 4.99977 9.01731 11.5148 -48.645 5.20499 9.38891 11.596 -48.65 5.41893 9.77442 11.6959 -48.655 5.64182 10.1739 11.8157 -48.66 5.87384 10.5871 11.9569 -48.665 6.11513 11.0136 12.1209 -48.67 6.36578 11.4529 12.3091 -48.675 6.62583 11.9041 12.5232 -48.68 6.8953 12.3663 12.7647 -48.685 7.17415 12.8382 13.0353 -48.69 7.46229 13.3184 13.3368 -48.695 7.75961 13.8053 13.671 -48.7 8.06595 14.297 14.0396 -48.705 8.3811 14.7915 14.4447 -48.71 8.7048 15.2867 14.8882 -48.715 9.03677 15.7799 15.3721 -48.72 9.37667 16.2687 15.8985 -48.725 9.72412 16.75 16.4697 -48.73 10.0783 17.2217 17.0864 -48.735 10.4378 17.6804 17.7476 -48.74 10.8015 18.1201 18.4547 -48.745 11.168 18.5348 19.2084 -48.75 11.5361 18.9188 20.0086 -48.755 11.9041 19.2665 20.8544 -48.76 12.2702 19.5724 21.7441 -48.765 12.6326 19.8311 22.6751 -48.77 12.9889 20.0378 23.6442 -48.775 13.337 20.1872 24.6473 -48.78 13.6742 20.2748 25.6793 -48.785 13.9981 20.2958 26.7346 -48.79 14.3055 20.2459 27.8066 -48.795 14.5937 20.1207 28.8879 -48.8 14.8592 19.9162 29.9703 -48.805 15.0996 19.6252 31.0467 -48.81 15.3135 19.2432 32.1089 -48.815 15.4974 18.7772 33.1444 -48.82 15.6482 18.2346 34.1416 -48.825 15.7633 17.6224 35.0904 -48.83 15.8409 16.9476 35.9815 -48.835 15.8794 16.2169 36.8074 -48.84 15.8777 15.4367 37.5613 -48.845 15.8354 14.6132 38.2379 -48.85 15.7524 13.7526 38.8331 -48.855 15.6293 12.8606 39.3441 -48.86 15.4669 11.9429 39.7692 -48.865 15.2669 11.0049 40.108 -48.87 15.0312 10.0519 40.3613 -48.875 14.7623 9.0889 40.5312 -48.88 14.4615 8.12721 40.6197 -48.885 14.1286 7.18714 40.6282 -48.89 13.7666 6.27591 40.5605 -48.895 13.379 5.39951 40.4211 -48.9 12.9689 4.56304 40.2149 -48.905 12.5395 3.77078 39.9473 -48.91 12.0939 3.02617 39.6239 -48.915 11.6351 2.33178 39.2509 -48.92 11.166 1.68936 38.8347 -48.925 10.6896 1.0998 38.3824 -48.93 10.2088 0.563178 37.9013 -48.935 9.72612 0.0786871 37.3992 -48.94 9.24444 -0.3553 36.8843 -48.945 8.76636 -0.741259 36.3652 -48.95 8.2942 -1.08254 35.845 -48.955 7.82961 -1.38235 35.3213 -48.96 7.37402 -1.64348 34.7966 -48.965 6.92873 -1.8687 34.2734 -48.97 6.49489 -2.06079 33.7538 -48.975 6.07349 -2.22248 33.2395 -48.98 5.66533 -2.35653 32.732 -48.985 5.27111 -2.46565 32.2325 -48.99 4.89133 -2.55258 31.742 -48.995 4.52634 -2.62 31.2611 -49 4.17634 -2.67061 30.7901 -49.005 3.84139 -2.7071 30.329 -49.01 3.52136 -2.732 29.8777 -49.015 3.21611 -2.74642 29.4363 -49.02 2.92531 -2.75169 29.0047 -49.025 2.6486 -2.74923 28.5826 -49.03 2.38561 -2.74037 28.1698 -49.035 2.13593 -2.72636 27.766 -49.04 1.89915 -2.70832 27.3709 -49.045 1.67481 -2.68731 26.9843 -49.05 1.46248 -2.66427 26.6058 -49.055 1.26166 -2.64005 26.2353 -49.06 1.07187 -2.61541 25.8725 -49.065 0.892587 -2.59099 25.517 -49.07 0.723278 -2.56737 25.1687 -49.075 0.563389 -2.545 24.8272 -49.08 0.412347 -2.52426 24.4922 -49.085 0.269534 -2.50545 24.1635 -49.09 0.13439 -2.48892 23.8409 -49.095 0.00649943 -2.47495 23.5242 -49.1 -0.114554 -2.46377 23.2133 -49.105 -0.22919 -2.45561 22.9079 -49.11 -0.337828 -2.45067 22.6079 -49.115 -0.440893 -2.44912 22.3132 -49.12 -0.538811 -2.45111 22.0237 -49.125 -0.63201 -2.45677 21.7393 -49.13 -0.720922 -2.46619 21.4598 -49.135 -0.80598 -2.47946 21.185 -49.14 -0.887621 -2.49662 20.915 -49.145 -0.966282 -2.5177 20.6497 -49.15 -1.04241 -2.5427 20.3888 -49.155 -1.11635 -2.57166 20.1325 -49.16 -1.18833 -2.60468 19.8806 -49.165 -1.25856 -2.64185 19.6332 -49.17 -1.32728 -2.68326 19.3902 -49.175 -1.39473 -2.72901 19.1517 -49.18 -1.46115 -2.77916 18.9175 -49.185 -1.52678 -2.83381 18.6878 -49.19 -1.59189 -2.89301 18.4625 -49.195 -1.65672 -2.95686 18.2416 -49.2 -1.72153 -3.02541 18.0252 -49.205 -1.78661 -3.09872 17.8132 -49.21 -1.8522 -3.17686 17.6058 -49.215 -1.9186 -3.25988 17.4028 -49.22 -1.98608 -3.34784 17.2043 -49.225 -2.05487 -3.44083 17.0105 -49.23 -2.1251 -3.53902 16.8214 -49.235 -2.19689 -3.6426 16.6372 -49.24 -2.27038 -3.75176 16.4578 -49.245 -2.34572 -3.8667 16.2834 -49.25 -2.42307 -3.98759 16.1142 -49.255 -2.50261 -4.11461 15.9503 -49.26 -2.58451 -4.24795 15.7918 -49.265 -2.66896 -4.38779 15.639 -49.27 -2.75616 -4.53431 15.492 -49.275 -2.84633 -4.68769 15.351 -49.28 -2.93969 -4.84809 15.2163 -49.285 -3.03647 -5.0157 15.088 -49.29 -3.13691 -5.19068 14.9665 -49.295 -3.24127 -5.37321 14.8521 -49.3 -3.34981 -5.56346 14.7449 -49.305 -3.46269 -5.76145 14.6454 -49.31 -3.58003 -5.96749 14.554 -49.315 -3.702 -6.18197 14.4711 -49.32 -3.82876 -6.40524 14.3971 -49.325 -3.9605 -6.63762 14.3326 -49.33 -4.09738 -6.87936 14.2779 -49.335 -4.23958 -7.13067 14.2337 -49.34 -4.38727 -7.39173 14.2006 -49.345 -4.54063 -7.66265 14.1793 -49.35 -4.69984 -7.94351 14.1705 -49.355 -4.86508 -8.23433 14.1748 -49.36 -5.03654 -8.53509 14.1932 -49.365 -5.21441 -8.84572 14.2264 -49.37 -5.39886 -9.16612 14.2753 -49.375 -5.5901 -9.49611 14.341 -49.38 -5.7883 -9.83549 14.4242 -49.385 -5.99368 -10.184 14.5261 -49.39 -6.20641 -10.5414 14.6477 -49.395 -6.42665 -10.9072 14.7901 -49.4 -6.65376 -11.2806 14.953 -49.405 -6.88769 -11.6609 15.1379 -49.41 -7.1287 -12.0477 15.3469 -49.415 -7.37697 -12.4401 15.5818 -49.42 -7.63254 -12.8371 15.8446 -49.425 -7.89536 -13.2375 16.1366 -49.43 -8.16527 -13.6398 16.4592 -49.435 -8.44201 -14.0424 16.8135 -49.44 -8.72519 -14.4432 17.2006 -49.445 -9.01435 -14.8402 17.621 -49.45 -9.30888 -15.231 18.0754 -49.455 -9.60811 -15.6131 18.5641 -49.46 -9.91121 -15.9835 19.0871 -49.465 -10.2173 -16.3393 19.6446 -49.47 -10.5253 -16.6773 20.2361 -49.475 -10.8342 -16.9938 20.8613 -49.48 -11.1427 -17.2853 21.5195 -49.485 -11.4494 -17.5478 22.2098 -49.49 -11.753 -17.7771 22.9312 -49.495 -12.0518 -17.9689 23.6824 -49.5 -12.3444 -18.1188 24.4621 -49.505 -12.6298 -18.2246 25.2682 -49.51 -12.9057 -18.2828 26.0953 -49.515 -13.1698 -18.2898 26.9373 -49.52 -13.4198 -18.2428 27.7882 -49.525 -13.6533 -18.1393 28.6422 -49.53 -13.8684 -17.9779 29.4933 -49.535 -14.0632 -17.7575 30.3358 -49.54 -14.2359 -17.478 31.164 -49.545 -14.3849 -17.1397 31.9723 -49.55 -14.5085 -16.7438 32.7551 -49.555 -14.6056 -16.2918 33.5069 -49.56 -14.6747 -15.7863 34.2223 -49.565 -14.715 -15.2303 34.896 -49.57 -14.7252 -14.6275 35.5226 -49.575 -14.7048 -13.9823 36.0969 -49.58 -14.6527 -13.2996 36.6124 -49.585 -14.5689 -12.5859 37.0631 -49.59 -14.454 -11.8496 37.4486 -49.595 -14.3087 -11.0987 37.7693 -49.6 -14.1341 -10.3405 38.0257 -49.605 -13.9314 -9.582 38.2188 -49.61 -13.7018 -8.82917 38.3498 -49.615 -13.447 -8.08765 38.4204 -49.62 -13.1686 -7.36241 38.4324 -49.625 -12.8685 -6.65782 38.3882 -49.63 -12.5486 -5.97766 38.2902 -49.635 -12.2113 -5.32511 38.1414 -49.64 -11.8587 -4.70275 37.9451 -49.645 -11.4936 -4.11257 37.7047 -49.65 -11.1185 -3.55595 37.4243 -49.655 -10.7363 -3.03378 37.1082 -49.66 -10.3485 -2.5485 36.7632 -49.665 -9.95679 -2.10088 36.3942 -49.67 -9.56331 -1.69062 36.0047 -49.675 -9.16996 -1.31716 35.5981 -49.68 -8.77854 -0.979644 35.1775 -49.685 -8.39065 -0.676951 34.7459 -49.69 -8.00776 -0.407687 34.3061 -49.695 -7.63122 -0.170179 33.8607 -49.7 -7.26217 0.0375177 33.412 -49.705 -6.90165 0.217624 32.9623 -49.71 -6.55051 0.372635 32.5135 -49.715 -6.20949 0.50532 32.0675 -49.72 -5.87916 0.618433 31.6256 -49.725 -5.56005 0.712611 31.188 -49.73 -5.25239 0.78928 30.7549 -49.735 -4.95636 0.850125 30.3268 -49.74 -4.67208 0.896742 29.9042 -49.745 -4.39961 0.930642 29.4874 -49.75 -4.13897 0.953244 29.0768 -49.755 -3.89013 0.965883 28.6724 -49.76 -3.65299 0.969802 28.2745 -49.765 -3.42742 0.966158 27.883 -49.77 -3.21322 0.956021 27.498 -49.775 -3.01016 0.940372 27.1193 -49.78 -2.81794 0.920103 26.7468 -49.785 -2.63618 0.896007 26.3802 -49.79 -2.46442 0.868715 26.0197 -49.795 -2.30233 0.83879 25.6649 -49.8 -2.1496 0.806754 25.3159 -49.805 -2.0059 0.773087 24.9725 -49.81 -1.87091 0.738225 24.6344 -49.815 -1.74427 0.702564 24.3016 -49.82 -1.62565 0.666457 23.974 -49.825 -1.5147 0.630212 23.6513 -49.83 -1.41105 0.594097 23.3336 -49.835 -1.31434 0.558339 23.0206 -49.84 -1.2242 0.523118 22.7123 -49.845 -1.14025 0.488576 22.4085 -49.85 -1.0621 0.45481 22.1092 -49.855 -0.989365 0.421876 21.8141 -49.86 -0.921639 0.389786 21.5233 -49.865 -0.858527 0.358517 21.2366 -49.87 -0.799815 0.328141 20.9539 -49.875 -0.745339 0.298733 20.6751 -49.88 -0.694896 0.270332 20.4002 -49.885 -0.648286 0.242962 20.1292 -49.89 -0.605307 0.216633 19.8619 -49.895 -0.565757 0.191346 19.5982 -49.9 -0.529432 0.167086 19.3382 -49.905 -0.496129 0.143827 19.0817 -49.91 -0.465645 0.121529 18.8287 -49.915 -0.437775 0.10014 18.5791 -49.92 -0.412316 0.079596 18.3329 -49.925 -0.389061 0.0598183 18.09 -49.93 -0.367806 0.040717 17.8503 -49.935 -0.348359 0.0221998 17.6138 -49.94 -0.330663 0.00426556 17.3805 -49.945 -0.314652 -0.0130992 17.1503 -49.95 -0.300245 -0.0299233 16.9232 -49.955 -0.287362 -0.0462403 16.6991 -49.96 -0.275922 -0.0620886 16.478 -49.965 -0.265845 -0.0775108 16.2598 -49.97 -0.257051 -0.0925545 16.0446 -49.975 -0.249458 -0.107272 15.8322 -49.98 -0.242985 -0.121719 15.6227 -49.985 -0.237552 -0.135959 15.4159 -49.99 -0.233078 -0.150056 15.2119 -49.995 -0.229481 -0.164081 15.0106 -50 -0.226682 -0.17811 14.812 diff --git a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_5.txt b/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_5.txt deleted file mode 100644 index d43930c..0000000 --- a/tools/visualizers/parametric_curve_visualizer/demo5_lorenz_system_as_parametric_curve_5.txt +++ /dev/null @@ -1,10005 +0,0 @@ -PARAMETRIC_CURVE_CARTESIAN_3D -t1: 0 -t2: 50 -NumPoints: 10001 -0 -70 20 -50 -0.005 -66.2807 -7.08014 -51.5228 -0.01 -64.0177 -31.9087 -44.466 -0.015 -62.9806 -52.628 -30.4447 -0.02 -62.8731 -67.7696 -11.0867 -0.025 -63.3494 -76.183 11.7972 -0.03 -64.0327 -77.1038 36.126 -0.035 -64.5336 -70.393 59.3281 -0.04 -64.5082 -56.7398 79.0065 -0.045 -63.6816 -37.6925 93.1063 -0.05 -61.8889 -15.8064 100.304 -0.055 -59.0911 6.21062 100.499 -0.06 -55.3963 26.1557 94.5442 -0.065 -51.0021 42.4181 84.1668 -0.07 -46.1367 54.3204 71.2951 -0.075 -41.031 61.9755 57.6479 -0.08 -35.8929 66.1143 44.6138 -0.085 -30.8724 67.5776 32.9139 -0.09 -26.0742 67.1975 22.9375 -0.095 -21.5584 65.7502 14.7791 -0.1 -17.3482 63.838 8.33541 -0.105 -13.4387 61.8244 3.42946 -0.11 -9.8126 59.9814 -0.12855 -0.115 -6.44567 58.4919 -2.51039 -0.12 -3.30669 57.4495 -3.86983 -0.125 -0.358514 56.8782 -4.33992 -0.13 2.43179 56.7724 -3.99606 -0.135 5.09086 57.0781 -2.87581 -0.14 7.64167 57.7259 -1.00762 -0.145 10.1035 58.6328 1.5888 -0.15 12.492 59.7018 4.90248 -0.155 14.8192 60.8221 8.9312 -0.16 17.0888 61.8639 13.67 -0.165 19.2914 62.6302 19.1063 -0.17 21.412 62.9099 25.2018 -0.175 23.4278 62.5139 31.867 -0.18 25.3083 61.2753 38.9609 -0.185 27.0154 59.0493 46.2916 -0.19 28.5033 55.713 53.6156 -0.195 29.7278 51.1577 60.6663 -0.2 30.6452 45.449 67.1376 -0.205 31.2119 38.7774 72.7275 -0.21 31.3998 31.3507 77.2095 -0.215 31.1964 23.3943 80.4331 -0.22 30.605 15.1508 82.3239 -0.225 29.644 6.88247 82.8833 -0.23 28.3362 -1.0588 82.2014 -0.235 26.7206 -8.39572 80.4692 -0.24 24.8452 -14.9554 77.9063 -0.245 22.7607 -20.6337 74.7479 -0.25 20.5209 -25.3952 71.2445 -0.255 18.1815 -29.2723 67.6573 -0.26 15.7885 -32.3426 64.1625 -0.265 13.3803 -34.6955 60.8826 -0.27 10.9907 -36.4253 57.9192 -0.275 8.64662 -37.6292 55.3427 -0.28 6.36917 -38.4078 53.1924 -0.285 4.17334 -38.8548 51.4791 -0.29 2.06992 -39.0181 50.1975 -0.295 0.066523 -38.9385 49.3286 -0.3 -1.8305 -38.6485 48.8475 -0.305 -3.61596 -38.1712 48.7239 -0.31 -5.28583 -37.5199 48.9217 -0.315 -6.83729 -36.6984 49.3993 -0.32 -8.26863 -35.7009 50.1098 -0.325 -9.57942 -34.5184 51.0078 -0.33 -10.7666 -33.1526 52.0513 -0.335 -11.8249 -31.602 53.1849 -0.34 -12.7501 -29.8694 54.357 -0.345 -13.5395 -27.962 55.5203 -0.35 -14.1912 -25.8916 56.6321 -0.355 -14.7051 -23.6746 57.6537 -0.36 -15.0818 -21.3319 58.5514 -0.365 -15.3235 -18.8891 59.2956 -0.37 -15.4335 -16.3759 59.8609 -0.375 -15.4162 -13.8271 60.2271 -0.38 -15.2756 -11.2823 60.3863 -0.385 -15.0189 -8.77866 60.3431 -0.39 -14.655 -6.34864 60.1054 -0.395 -14.1932 -4.02037 59.6853 -0.4 -13.6435 -1.8176 59.0982 -0.405 -13.0162 0.240272 58.3635 -0.41 -12.322 2.1382 57.5044 -0.415 -11.5723 3.86549 56.5477 -0.42 -10.7789 5.41579 55.5241 -0.425 -9.95384 6.78722 54.4676 -0.43 -9.107 7.98732 53.3974 -0.435 -8.24684 9.02536 52.3249 -0.44 -7.38188 9.90934 51.2647 -0.445 -6.51971 10.6484 50.2295 -0.45 -5.66706 11.2527 49.2298 -0.455 -4.82973 11.7336 48.2741 -0.46 -4.01264 12.1036 47.369 -0.465 -3.21979 12.3763 46.5187 -0.47 -2.45429 12.5664 45.7257 -0.475 -1.71867 12.6842 44.9899 -0.48 -1.01498 12.7343 44.3086 -0.485 -0.344513 12.7247 43.6795 -0.49 0.291686 12.6628 43.0996 -0.495 0.892869 12.5555 42.5661 -0.5 1.45856 12.4088 42.0755 -0.505 1.98858 12.2282 41.6244 -0.51 2.48301 12.0184 41.209 -0.515 2.94221 11.7836 40.8254 -0.52 3.36685 11.5272 40.4692 -0.525 3.75786 11.252 40.1361 -0.53 4.11625 10.9609 39.822 -0.535 4.44276 10.6576 39.5248 -0.54 4.73837 10.3446 39.2414 -0.545 5.00414 10.0237 38.9687 -0.55 5.24115 9.69704 38.7039 -0.555 5.45054 9.36643 38.4445 -0.56 5.63346 9.03375 38.1884 -0.565 5.79112 8.70076 37.9336 -0.57 5.92477 8.36918 37.6787 -0.575 6.03568 8.04063 37.4223 -0.58 6.12518 7.7167 37.1633 -0.585 6.19463 7.39888 36.901 -0.59 6.24541 7.0886 36.6351 -0.595 6.27897 6.78723 36.3653 -0.6 6.29676 6.4956 36.0916 -0.605 6.3 6.21402 35.8137 -0.61 6.28978 5.94291 35.5312 -0.615 6.26719 5.68264 35.2437 -0.62 6.23328 5.43354 34.951 -0.625 6.18909 5.19587 34.653 -0.63 6.1356 4.96989 34.3498 -0.635 6.07382 4.75578 34.0414 -0.64 6.00467 4.55368 33.7281 -0.645 5.9291 4.3637 33.4102 -0.65 5.84801 4.18589 33.0881 -0.655 5.76227 4.02027 32.7625 -0.66 5.67273 3.86679 32.434 -0.665 5.58022 3.72539 32.1033 -0.67 5.48554 3.59595 31.7713 -0.675 5.38948 3.47829 31.4391 -0.68 5.29276 3.3722 31.1076 -0.685 5.19614 3.27743 30.7782 -0.69 5.10029 3.19366 30.4521 -0.695 5.00573 3.11986 30.1279 -0.7 4.91273 3.05535 29.8049 -0.705 4.8215 2.9998 29.4831 -0.71 4.73229 2.95288 29.1631 -0.715 4.64532 2.91427 28.845 -0.72 4.56078 2.88366 28.5291 -0.725 4.4789 2.86072 28.2156 -0.73 4.39986 2.84513 27.9047 -0.735 4.32386 2.83659 27.5966 -0.74 4.25108 2.83477 27.2915 -0.745 4.18168 2.83936 26.9896 -0.75 4.11584 2.85005 26.691 -0.755 4.05372 2.86653 26.3957 -0.76 3.99545 2.88849 26.104 -0.765 3.94119 2.91562 25.8158 -0.77 3.89106 2.94761 25.5312 -0.775 3.8452 2.98416 25.2504 -0.78 3.80372 3.02496 24.9732 -0.785 3.76671 3.06973 24.6998 -0.79 3.73393 3.11864 24.4303 -0.795 3.70525 3.17172 24.1648 -0.8 3.68067 3.2289 23.9035 -0.805 3.66017 3.29009 23.6463 -0.81 3.64373 3.35526 23.3934 -0.815 3.63136 3.42435 23.1447 -0.82 3.62304 3.49733 22.9005 -0.825 3.61876 3.57417 22.6607 -0.83 3.61852 3.65488 22.4255 -0.835 3.62232 3.73944 22.1949 -0.84 3.63015 3.82788 21.9691 -0.845 3.64201 3.92021 21.748 -0.85 3.65789 4.01648 21.5319 -0.855 3.6778 4.11673 21.3208 -0.86 3.70174 4.22102 21.1149 -0.865 3.72971 4.32942 20.9141 -0.87 3.76171 4.44202 20.7188 -0.875 3.79775 4.55891 20.5289 -0.88 3.83774 4.6801 20.3446 -0.885 3.88147 4.8055 20.1662 -0.89 3.92906 4.93534 19.9939 -0.895 3.98061 5.0698 19.8278 -0.9 4.03625 5.20909 19.6679 -0.905 4.09606 5.35338 19.5145 -0.91 4.16015 5.50283 19.3677 -0.915 4.2286 5.65757 19.2278 -0.92 4.30149 5.81773 19.095 -0.925 4.37892 5.98342 18.9696 -0.93 4.46093 6.15473 18.8518 -0.935 4.5476 6.33172 18.7419 -0.94 4.63899 6.51447 18.6402 -0.945 4.73514 6.703 18.5471 -0.95 4.83611 6.89734 18.4629 -0.955 4.94192 7.09749 18.3881 -0.96 5.05262 7.30345 18.3229 -0.965 5.16823 7.51519 18.2679 -0.97 5.28877 7.73267 18.2234 -0.975 5.41425 7.95582 18.19 -0.98 5.54468 8.18456 18.1681 -0.985 5.68007 8.41881 18.1582 -0.99 5.8204 8.65845 18.1609 -0.995 5.96566 8.90335 18.1767 -1 6.11584 9.15338 18.2062 -1.005 6.27092 9.40836 18.2499 -1.01 6.43086 9.66812 18.3085 -1.015 6.59562 9.93247 18.3827 -1.02 6.76517 10.2012 18.473 -1.025 6.93943 10.474 18.5799 -1.03 7.11819 10.7501 18.703 -1.035 7.30145 11.0288 18.843 -1.04 7.48923 11.3091 19.0012 -1.045 7.68148 11.5902 19.1785 -1.05 7.87808 11.8712 19.3758 -1.055 8.07886 12.1509 19.5938 -1.06 8.28359 12.4284 19.8331 -1.065 8.49198 12.7023 20.0941 -1.07 8.70367 12.9714 20.3771 -1.075 8.91826 13.2344 20.6822 -1.08 9.13526 13.4898 21.0094 -1.085 9.35416 13.7362 21.3586 -1.09 9.57435 13.9719 21.7295 -1.095 9.79518 14.1954 22.1215 -1.1 10.0159 14.405 22.5343 -1.105 10.2359 14.5987 22.9669 -1.11 10.4541 14.7748 23.4186 -1.115 10.6698 14.9313 23.8883 -1.12 10.8819 15.0662 24.3749 -1.125 11.0896 15.1774 24.8771 -1.13 11.2916 15.2627 25.3933 -1.135 11.4869 15.3199 25.9222 -1.14 11.6754 15.3474 26.4629 -1.145 11.8558 15.3443 27.0122 -1.15 12.0268 15.3095 27.5664 -1.155 12.1869 15.2425 28.122 -1.16 12.3349 15.1427 28.6753 -1.165 12.4696 15.0101 29.2232 -1.17 12.5901 14.8445 29.7625 -1.175 12.6954 14.6464 30.29 -1.18 12.7846 14.4163 30.8028 -1.185 12.8571 14.1548 31.2981 -1.19 12.9122 13.8632 31.7733 -1.195 12.9495 13.5425 32.2258 -1.2 12.9686 13.1944 32.6533 -1.205 12.9691 12.8205 33.0535 -1.21 12.951 12.4228 33.4242 -1.215 12.9141 12.0036 33.7634 -1.22 12.8585 11.5653 34.0693 -1.225 12.7841 11.1108 34.34 -1.23 12.6907 10.6449 34.5726 -1.235 12.5787 10.1712 34.767 -1.24 12.4491 9.69332 34.9234 -1.245 12.3026 9.21438 35.0422 -1.25 12.1402 8.7374 35.1239 -1.255 11.9628 8.26516 35.1695 -1.26 11.7714 7.80027 35.1797 -1.265 11.567 7.34509 35.1556 -1.27 11.3507 6.90179 35.0986 -1.275 11.1237 6.47234 35.01 -1.28 10.887 6.05849 34.8914 -1.285 10.642 5.66178 34.7446 -1.29 10.3897 5.28355 34.5714 -1.295 10.1316 4.92493 34.3741 -1.3 9.86891 4.58683 34.1548 -1.305 9.60303 4.26997 33.916 -1.31 9.33537 3.97485 33.6602 -1.315 9.06715 3.70124 33.39 -1.32 8.79924 3.44841 33.1069 -1.325 8.53261 3.21611 32.8125 -1.33 8.26818 3.00402 32.5083 -1.335 8.00679 2.81173 32.1957 -1.34 7.74923 2.63874 31.8759 -1.345 7.49622 2.48447 31.5503 -1.35 7.24843 2.34824 31.22 -1.355 7.00644 2.22928 30.8862 -1.36 6.77079 2.12675 30.5499 -1.365 6.54196 2.0397 30.2121 -1.37 6.32034 1.96711 29.8737 -1.375 6.10628 1.90785 29.5356 -1.38 5.90007 1.86073 29.1986 -1.385 5.70191 1.82446 28.8633 -1.39 5.51196 1.79765 28.5305 -1.395 5.33031 1.77907 28.2006 -1.4 5.15694 1.76915 27.8734 -1.405 4.99179 1.76754 27.5488 -1.41 4.8348 1.77362 27.2272 -1.415 4.68591 1.78683 26.9086 -1.42 4.54505 1.80662 26.5934 -1.425 4.41211 1.83251 26.2815 -1.43 4.287 1.86402 25.9733 -1.435 4.16963 1.90075 25.6687 -1.44 4.05986 1.94229 25.3679 -1.445 3.95757 1.98831 25.0709 -1.45 3.86262 2.03848 24.778 -1.455 3.77487 2.09253 24.489 -1.46 3.69415 2.15022 24.204 -1.465 3.62031 2.21135 23.9231 -1.47 3.55315 2.27575 23.6463 -1.475 3.49251 2.34328 23.3736 -1.48 3.43805 2.41393 23.105 -1.485 3.38957 2.48766 22.8406 -1.49 3.34698 2.56437 22.5804 -1.495 3.3102 2.64399 22.3244 -1.5 3.27916 2.72646 22.0728 -1.505 3.25375 2.81176 21.8254 -1.51 3.2339 2.89986 21.5824 -1.515 3.21951 2.99078 21.3437 -1.52 3.21047 3.08456 21.1095 -1.525 3.2067 3.18124 20.8798 -1.53 3.20808 3.28091 20.6547 -1.535 3.21451 3.38366 20.4343 -1.54 3.22587 3.48961 20.2185 -1.545 3.24205 3.59891 20.0076 -1.55 3.26294 3.71171 19.8016 -1.555 3.28839 3.8282 19.6006 -1.56 3.3183 3.94858 19.4048 -1.565 3.35253 4.07309 19.2142 -1.57 3.39096 4.20197 19.029 -1.575 3.43367 4.33523 18.8494 -1.58 3.48081 4.47295 18.6754 -1.585 3.53242 4.61529 18.5073 -1.59 3.58855 4.76242 18.3452 -1.595 3.64925 4.9145 18.1893 -1.6 3.71457 5.07171 18.0398 -1.605 3.78455 5.2342 17.8968 -1.61 3.85926 5.40215 17.7607 -1.615 3.93872 5.5757 17.6317 -1.62 4.023 5.75503 17.5101 -1.625 4.11214 5.94029 17.3962 -1.63 4.20619 6.13165 17.2904 -1.635 4.3052 6.32925 17.1929 -1.64 4.40921 6.53326 17.1043 -1.645 4.51827 6.74383 17.0248 -1.65 4.63243 6.96111 16.955 -1.655 4.75174 7.18526 16.8952 -1.66 4.87624 7.41642 16.846 -1.665 5.00596 7.65467 16.8078 -1.67 5.14079 7.89923 16.7806 -1.675 5.28091 8.15023 16.7652 -1.68 5.42654 8.40799 16.7623 -1.685 5.57785 8.67272 16.7728 -1.69 5.73498 8.9445 16.7974 -1.695 5.89806 9.22334 16.837 -1.7 6.06716 9.5091 16.8923 -1.705 6.24232 9.80155 16.9641 -1.71 6.42354 10.1004 17.0532 -1.715 6.6108 10.4051 17.1602 -1.72 6.80404 10.7151 17.2859 -1.725 7.00317 11.0298 17.431 -1.73 7.20804 11.3484 17.5963 -1.735 7.4185 11.67 17.7823 -1.74 7.63435 11.9935 17.9899 -1.745 7.85534 12.3179 18.2196 -1.75 8.08122 12.642 18.4721 -1.755 8.31167 12.9644 18.748 -1.76 8.54636 13.2837 19.0481 -1.765 8.78492 13.5983 19.3728 -1.77 9.02694 13.9065 19.7228 -1.775 9.27197 14.2066 20.0988 -1.78 9.51953 14.4967 20.5012 -1.785 9.76912 14.775 20.9306 -1.79 10.02 15.0407 21.3859 -1.795 10.2712 15.2908 21.8666 -1.8 10.5218 15.5222 22.3721 -1.805 10.7708 15.7317 22.9013 -1.81 11.0171 15.9165 23.4533 -1.815 11.2596 16.074 24.0264 -1.82 11.4971 16.2017 24.6189 -1.825 11.7285 16.2974 25.2288 -1.83 11.9526 16.3591 25.8536 -1.835 12.1681 16.3851 26.4907 -1.84 12.3736 16.3736 27.1373 -1.845 12.5679 16.3234 27.7899 -1.85 12.7496 16.2333 28.4452 -1.855 12.9172 16.1024 29.0993 -1.86 13.0692 15.9299 29.7481 -1.865 13.2042 15.7153 30.3872 -1.87 13.3207 15.4579 31.0119 -1.875 13.4183 15.1547 31.6179 -1.88 13.4958 14.8087 32.2007 -1.885 13.5523 14.4249 32.7562 -1.89 13.5868 14.0076 33.2808 -1.895 13.5987 13.5612 33.7711 -1.9 13.5874 13.0897 34.2242 -1.905 13.5529 12.597 34.6376 -1.91 13.495 12.0867 35.0091 -1.915 13.4139 11.5621 35.3372 -1.92 13.31 11.0265 35.6206 -1.925 13.1839 10.4829 35.8583 -1.93 13.0365 9.93387 36.0499 -1.935 12.8687 9.38201 36.1953 -1.94 12.6819 8.8296 36.2949 -1.945 12.4775 8.2787 36.3494 -1.95 12.2571 7.73114 36.36 -1.955 12.0224 7.18907 36.3284 -1.96 11.7733 6.66098 36.2574 -1.965 11.5109 6.15133 36.1493 -1.97 11.2369 5.66223 36.0062 -1.975 10.9532 5.1955 35.8304 -1.98 10.6612 4.75265 35.6239 -1.985 10.3628 4.33487 35.3894 -1.99 10.0593 3.94306 35.1291 -1.995 9.7522 3.57781 34.8458 -2 9.443 3.23938 34.5419 -2.005 9.133 2.92775 34.2205 -2.01 8.82349 2.64258 33.8842 -2.015 8.51568 2.38322 33.5361 -2.02 8.21073 2.14871 33.1792 -2.025 7.90973 1.9378 32.8167 -2.03 7.61372 1.74894 32.4518 -2.035 7.32365 1.58111 32.0838 -2.04 7.04017 1.43334 31.7128 -2.045 6.7638 1.3045 31.3398 -2.05 6.49502 1.19347 30.9659 -2.055 6.23427 1.09913 30.5919 -2.06 5.98191 1.02037 30.2187 -2.065 5.73826 0.956103 29.8469 -2.07 5.50359 0.905255 29.4773 -2.075 5.2781 0.866755 29.1104 -2.08 5.06196 0.839546 28.7465 -2.085 4.85527 0.822585 28.3862 -2.09 4.65808 0.814837 28.0297 -2.095 4.47039 0.815283 27.677 -2.1 4.29214 0.822912 27.3284 -2.105 4.12322 0.836745 26.9839 -2.11 3.96339 0.856447 26.6435 -2.115 3.81244 0.881679 26.3074 -2.12 3.67017 0.911917 25.9757 -2.125 3.5364 0.946677 25.6483 -2.13 3.41092 0.985516 25.3253 -2.135 3.29354 1.02803 25.0066 -2.14 3.18405 1.07386 24.6922 -2.145 3.08223 1.12267 24.3822 -2.15 2.98786 1.17419 24.0764 -2.155 2.90072 1.22816 23.775 -2.16 2.82058 1.2844 23.4779 -2.165 2.7472 1.34272 23.1851 -2.17 2.68034 1.40301 22.8965 -2.175 2.61975 1.46519 22.6121 -2.18 2.56517 1.5292 22.3319 -2.185 2.51636 1.59505 22.0558 -2.19 2.47302 1.66277 21.7839 -2.195 2.43495 1.73233 21.5161 -2.2 2.40205 1.80371 21.2524 -2.205 2.37421 1.87689 20.9927 -2.21 2.35133 1.95188 20.7372 -2.215 2.33333 2.02871 20.4857 -2.22 2.32008 2.10742 20.2383 -2.225 2.31149 2.18808 19.995 -2.23 2.30745 2.27076 19.7557 -2.235 2.30785 2.35559 19.5206 -2.24 2.31258 2.44267 19.2896 -2.245 2.32152 2.53216 19.0627 -2.25 2.33455 2.62422 18.8401 -2.255 2.35157 2.71903 18.6216 -2.26 2.37243 2.81679 18.4075 -2.265 2.39704 2.91772 18.1976 -2.27 2.42524 3.02208 17.9922 -2.275 2.45699 3.13007 17.7912 -2.28 2.49245 3.24173 17.5947 -2.285 2.53165 3.35723 17.4029 -2.29 2.57465 3.47675 17.2158 -2.295 2.62148 3.60047 17.0335 -2.3 2.67219 3.72858 16.8561 -2.305 2.72683 3.86129 16.6838 -2.31 2.78544 3.99881 16.5166 -2.315 2.84809 4.14136 16.3547 -2.32 2.91483 4.28916 16.1983 -2.325 2.98571 4.44245 16.0477 -2.33 3.06081 4.60148 15.903 -2.335 3.14019 4.76649 15.7644 -2.34 3.22392 4.93774 15.6323 -2.345 3.31207 5.11551 15.5068 -2.35 3.40472 5.30006 15.3883 -2.355 3.50195 5.49168 15.277 -2.36 3.60385 5.69054 15.1733 -2.365 3.71056 5.89637 15.0777 -2.37 3.82228 6.10959 14.9905 -2.375 3.93919 6.33066 14.912 -2.38 4.06144 6.55997 14.8427 -2.385 4.18921 6.79786 14.7832 -2.39 4.32266 7.04461 14.7338 -2.395 4.46194 7.30043 14.6952 -2.4 4.60718 7.5655 14.668 -2.405 4.75852 7.83992 14.6529 -2.41 4.9161 8.12373 14.6505 -2.415 5.08003 8.41692 14.6616 -2.42 5.25044 8.71942 14.687 -2.425 5.42741 9.0311 14.7276 -2.43 5.61107 9.35176 14.7841 -2.435 5.80149 9.68118 14.8576 -2.44 5.99877 10.019 14.949 -2.445 6.20299 10.365 15.0594 -2.45 6.41421 10.7185 15.1897 -2.455 6.6325 11.0793 15.3412 -2.46 6.85792 11.4467 15.5149 -2.465 7.09052 11.8201 15.7121 -2.47 7.33035 12.1989 15.934 -2.475 7.57689 12.5824 16.1806 -2.48 7.8298 12.9691 16.4527 -2.485 8.08908 13.3576 16.7525 -2.49 8.35461 13.7461 17.0816 -2.495 8.62617 14.1327 17.4415 -2.5 8.90341 14.5153 17.8334 -2.505 9.18587 14.8917 18.2581 -2.51 9.47297 15.2595 18.7162 -2.515 9.76404 15.6162 19.2079 -2.52 10.0583 15.9591 19.7333 -2.525 10.3547 16.2853 20.2921 -2.53 10.6523 16.5918 20.8836 -2.535 10.95 16.8755 21.507 -2.54 11.2465 17.133 22.1611 -2.545 11.5403 17.3608 22.8444 -2.55 11.83 17.5554 23.5552 -2.555 12.114 17.7128 24.2914 -2.56 12.3906 17.8292 25.0507 -2.565 12.658 17.9005 25.8305 -2.57 12.9154 17.9237 26.6292 -2.575 13.1609 17.8965 27.4409 -2.58 13.3919 17.817 28.259 -2.585 13.6063 17.6838 29.0769 -2.59 13.8019 17.496 29.8886 -2.595 13.9769 17.2534 30.6881 -2.6 14.1295 16.9561 31.4697 -2.605 14.2583 16.6051 32.2281 -2.61 14.362 16.2016 32.958 -2.615 14.4393 15.7475 33.6546 -2.62 14.4894 15.2454 34.3132 -2.625 14.5115 14.6981 34.9293 -2.63 14.505 14.1092 35.4988 -2.635 14.4696 13.4827 36.0179 -2.64 14.4049 12.8235 36.4827 -2.645 14.3108 12.137 36.889 -2.65 14.187 11.4312 37.2323 -2.655 14.0345 10.7135 37.5129 -2.66 13.8545 9.99028 37.7317 -2.665 13.6484 9.26782 37.89 -2.67 13.4176 8.55169 37.9893 -2.675 13.1636 7.84705 38.0314 -2.68 12.8881 7.15852 38.0186 -2.685 12.593 6.49027 37.9532 -2.69 12.2799 5.84594 37.838 -2.695 11.9511 5.2287 37.6761 -2.7 11.6085 4.6412 37.4709 -2.705 11.2543 4.08563 37.226 -2.71 10.8908 3.56366 36.9454 -2.715 10.5206 3.07647 36.6333 -2.72 10.146 2.62475 36.2944 -2.725 9.76876 2.20842 35.9335 -2.73 9.39049 1.82691 35.5542 -2.735 9.01292 1.47954 35.1594 -2.74 8.63766 1.16541 34.752 -2.745 8.26619 0.883466 34.3346 -2.75 7.89986 0.632442 33.9095 -2.755 7.53988 0.410899 33.4792 -2.76 7.18733 0.217208 33.0455 -2.765 6.84315 0.0495556 32.6105 -2.77 6.50816 -0.0940604 32.1757 -2.775 6.18303 -0.215827 31.7427 -2.78 5.8683 -0.318118 31.3128 -2.785 5.56438 -0.403494 30.8871 -2.79 5.27159 -0.473808 30.4662 -2.795 4.99014 -0.529333 30.05 -2.8 4.72007 -0.571469 29.6388 -2.805 4.46136 -0.601589 29.2329 -2.81 4.214 -0.62098 28.8325 -2.815 3.97791 -0.630855 28.4378 -2.82 3.75299 -0.632344 28.0489 -2.825 3.53909 -0.626497 27.6659 -2.83 3.33604 -0.614284 27.2888 -2.835 3.14363 -0.596595 26.9176 -2.84 2.96162 -0.574242 26.5523 -2.845 2.78972 -0.547955 26.1928 -2.85 2.62762 -0.518384 25.8388 -2.855 2.47494 -0.486097 25.4902 -2.86 2.33118 -0.451547 25.147 -2.865 2.196 -0.41515 24.8091 -2.87 2.06914 -0.377289 24.4762 -2.875 1.95031 -0.338313 24.1485 -2.88 1.83922 -0.298536 23.8256 -2.885 1.73557 -0.258236 23.5075 -2.89 1.63907 -0.217657 23.1942 -2.895 1.54941 -0.177007 22.8854 -2.9 1.46626 -0.136457 22.5811 -2.905 1.38932 -0.0961475 22.2813 -2.91 1.31824 -0.0561794 21.9857 -2.915 1.2527 -0.0166205 21.6943 -2.92 1.19236 0.0224971 21.4071 -2.925 1.13687 0.0611764 21.1238 -2.93 1.08586 0.0994556 20.8445 -2.935 1.039 0.137408 20.5691 -2.94 0.995943 0.175111 20.2975 -2.945 0.956626 0.212505 20.0295 -2.95 0.920934 0.249563 19.7653 -2.955 0.888738 0.286284 19.5047 -2.96 0.859908 0.322676 19.2477 -2.965 0.834311 0.358762 18.9942 -2.97 0.811811 0.394578 18.7442 -2.975 0.792269 0.430175 18.4976 -2.98 0.775543 0.465614 18.2544 -2.985 0.761489 0.500972 18.0145 -2.99 0.749959 0.536337 17.7779 -2.995 0.740803 0.571814 17.5445 -3 0.733868 0.607517 17.3144 -3.005 0.728998 0.643576 17.0874 -3.01 0.726035 0.680133 16.8635 -3.015 0.724818 0.717343 16.6426 -3.02 0.725338 0.755262 16.4249 -3.025 0.727645 0.793902 16.2101 -3.03 0.731716 0.833333 15.9984 -3.035 0.73753 0.873632 15.7896 -3.04 0.745067 0.914884 15.5838 -3.045 0.754306 0.957181 15.3808 -3.05 0.765228 1.00062 15.1808 -3.055 0.777817 1.04532 14.9837 -3.06 0.792054 1.09138 14.7894 -3.065 0.807923 1.13892 14.5979 -3.07 0.825409 1.18809 14.4093 -3.075 0.844498 1.23901 14.2235 -3.08 0.865176 1.29182 14.0405 -3.085 0.88743 1.34669 13.8603 -3.09 0.911252 1.40377 13.6828 -3.095 0.936701 1.46318 13.5082 -3.1 0.963843 1.52503 13.3364 -3.105 0.992725 1.58945 13.1673 -3.11 1.0234 1.65659 13.0011 -3.115 1.05592 1.72658 12.8376 -3.12 1.09035 1.7996 12.677 -3.125 1.12675 1.8758 12.5192 -3.13 1.1652 1.95536 12.3643 -3.135 1.20576 2.03848 12.2122 -3.14 1.2485 2.12535 12.0631 -3.145 1.29353 2.21617 11.917 -3.15 1.3409 2.31117 11.774 -3.155 1.39073 2.41056 11.634 -3.16 1.4431 2.51459 11.4972 -3.165 1.4981 2.6235 11.3637 -3.17 1.55585 2.73754 11.2335 -3.175 1.61645 2.85698 11.1068 -3.18 1.68003 2.98203 10.9837 -3.185 1.74692 3.11262 10.8645 -3.19 1.81724 3.2491 10.7494 -3.195 1.89109 3.39191 10.6383 -3.2 1.96857 3.54149 10.5313 -3.205 2.04983 3.69826 10.4285 -3.21 2.13499 3.86265 10.3301 -3.215 2.22421 4.03507 10.2362 -3.22 2.31765 4.21593 10.1471 -3.225 2.4155 4.40564 10.0631 -3.23 2.51795 4.6046 9.98447 -3.235 2.62522 4.81321 9.91164 -3.24 2.73751 5.03186 9.84503 -3.245 2.85506 5.26093 9.78512 -3.25 2.97813 5.50079 9.73243 -3.255 3.10698 5.75184 9.68753 -3.26 3.24188 6.01442 9.65103 -3.265 3.38311 6.28892 9.62361 -3.27 3.531 6.57568 9.60598 -3.275 3.68584 6.87506 9.59888 -3.28 3.84797 7.18741 9.60312 -3.285 4.01773 7.51307 9.61957 -3.29 4.19549 7.85237 9.6491 -3.295 4.38161 8.20565 9.69268 -3.3 4.57647 8.57324 9.75129 -3.305 4.78048 8.95545 9.82596 -3.31 4.99346 9.35152 9.91771 -3.315 5.21525 9.761 10.028 -3.32 5.44644 10.185 10.1585 -3.325 5.68755 10.6241 10.3113 -3.33 5.939 11.0789 10.4882 -3.335 6.20112 11.5492 10.691 -3.34 6.47416 12.0349 10.9217 -3.345 6.75828 12.5353 11.1823 -3.35 7.05355 13.0493 11.4747 -3.355 7.35995 13.5756 11.8009 -3.36 7.67736 14.1125 12.1629 -3.365 8.00561 14.658 12.5628 -3.37 8.34439 15.2097 13.0027 -3.375 8.69334 15.7649 13.4846 -3.38 9.052 16.3204 14.0106 -3.385 9.41982 16.8729 14.5828 -3.39 9.79615 17.4187 15.2035 -3.395 10.1803 17.9535 15.8748 -3.4 10.5714 18.473 16.5989 -3.405 10.9686 18.9723 17.378 -3.41 11.3707 19.4472 18.2134 -3.415 11.7758 19.8936 19.1024 -3.42 12.1818 20.3028 20.0443 -3.425 12.5866 20.6662 21.0377 -3.43 12.9877 20.9756 22.0801 -3.435 13.3828 21.2238 23.168 -3.44 13.7692 21.4041 24.2969 -3.445 14.1439 21.5104 25.4611 -3.45 14.504 21.5371 26.6541 -3.455 14.8462 21.4795 27.8682 -3.46 15.1674 21.3333 29.0947 -3.465 15.4639 21.0951 30.3239 -3.47 15.732 20.7617 31.5449 -3.475 15.968 20.3311 32.746 -3.48 16.1686 19.798 33.9147 -3.485 16.332 19.1592 35.0391 -3.49 16.4552 18.4274 36.1066 -3.495 16.5353 17.6156 37.1061 -3.5 16.5703 16.736 38.028 -3.505 16.5588 15.8 38.8641 -3.51 16.4999 14.8181 39.6079 -3.515 16.3936 13.8002 40.254 -3.52 16.2404 12.7552 40.7988 -3.525 16.0413 11.6913 41.2402 -3.53 15.7983 10.6161 41.5773 -3.535 15.5138 9.53599 41.811 -3.54 15.1909 8.45693 41.9435 -3.545 14.8333 7.38392 41.9784 -3.55 14.4436 6.32854 41.9212 -3.555 14.0221 5.31321 41.7786 -3.56 13.5729 4.34535 41.558 -3.565 13.1 3.43055 41.2666 -3.57 12.6072 2.57322 40.912 -3.575 12.0984 1.77654 40.5019 -3.58 11.5771 1.04249 40.0442 -3.585 11.047 0.371835 39.5471 -3.59 10.5113 -0.235859 39.0188 -3.595 9.97334 -0.782245 38.4678 -3.6 9.43635 -1.27018 37.9028 -3.605 8.90328 -1.70351 37.3319 -3.61 8.37653 -2.0849 36.7564 -3.615 7.85812 -2.41759 36.1791 -3.62 7.34983 -2.70509 35.6032 -3.625 6.85326 -2.95091 35.0317 -3.63 6.36979 -3.15854 34.467 -3.635 5.90058 -3.33149 33.9111 -3.64 5.44657 -3.47324 33.3657 -3.645 5.0085 -3.58725 32.8319 -3.65 4.58689 -3.677 32.3106 -3.655 4.18205 -3.74595 31.802 -3.66 3.79407 -3.79753 31.3062 -3.665 3.42305 -3.83399 30.8234 -3.67 3.06882 -3.85715 30.3535 -3.675 2.73101 -3.86899 29.8962 -3.68 2.40926 -3.87137 29.451 -3.685 2.10315 -3.86602 29.0176 -3.69 1.81226 -3.85452 28.5956 -3.695 1.53612 -3.83833 28.1847 -3.7 1.27424 -3.81879 27.7845 -3.705 1.0261 -3.79709 27.3945 -3.71 0.791163 -3.7743 27.0144 -3.715 0.568852 -3.75135 26.6438 -3.72 0.358564 -3.72905 26.2822 -3.725 0.159671 -3.70807 25.9294 -3.73 -0.0284842 -3.68894 25.5848 -3.735 -0.206622 -3.67211 25.2481 -3.74 -0.375548 -3.65807 24.9189 -3.745 -0.535784 -3.64719 24.597 -3.75 -0.68782 -3.63979 24.2822 -3.755 -0.832148 -3.63619 23.9742 -3.76 -0.969267 -3.63665 23.6729 -3.765 -1.09968 -3.64142 23.378 -3.77 -1.2239 -3.65071 23.0895 -3.775 -1.34244 -3.66471 22.8072 -3.78 -1.45581 -3.68357 22.5308 -3.785 -1.56455 -3.70742 22.2604 -3.79 -1.66917 -3.73638 21.9957 -3.795 -1.77023 -3.7705 21.7367 -3.8 -1.86825 -3.80983 21.4832 -3.805 -1.96378 -3.85439 21.2352 -3.81 -2.05728 -3.90419 20.9927 -3.815 -2.14898 -3.95932 20.7557 -3.82 -2.23911 -4.01992 20.5241 -3.825 -2.32796 -4.08608 20.2982 -3.83 -2.4158 -4.15791 20.0778 -3.835 -2.5029 -4.23551 19.8631 -3.84 -2.58955 -4.31897 19.6541 -3.845 -2.67603 -4.40837 19.4509 -3.85 -2.76266 -4.50378 19.2536 -3.855 -2.84972 -4.60527 19.0622 -3.86 -2.93754 -4.7129 18.8769 -3.865 -3.02643 -4.82671 18.6977 -3.87 -3.11672 -4.94677 18.5248 -3.875 -3.20874 -5.07309 18.3583 -3.88 -3.30281 -5.20572 18.1983 -3.885 -3.39915 -5.34469 18.045 -3.89 -3.49788 -5.49022 17.8987 -3.895 -3.59914 -5.64248 17.7597 -3.9 -3.70309 -5.80166 17.6281 -3.905 -3.80988 -5.96791 17.5043 -3.91 -3.91968 -6.14139 17.3886 -3.915 -4.03267 -6.32219 17.2813 -3.92 -4.14902 -6.51041 17.1827 -3.925 -4.26892 -6.70614 17.0933 -3.93 -4.39256 -6.90942 17.0134 -3.935 -4.52013 -7.12028 16.9435 -3.94 -4.65185 -7.33875 16.8839 -3.945 -4.78792 -7.56481 16.8352 -3.95 -4.92855 -7.79843 16.7978 -3.955 -5.07398 -8.03957 16.7722 -3.96 -5.22444 -8.28815 16.759 -3.965 -5.38007 -8.544 16.7585 -3.97 -5.54072 -8.80675 16.7712 -3.975 -5.70654 -9.07649 16.798 -3.98 -5.87765 -9.35326 16.8397 -3.985 -6.05419 -9.63697 16.8972 -3.99 -6.23623 -9.92743 16.9715 -3.995 -6.4238 -10.2243 17.0633 -4 -6.61693 -10.5272 17.1734 -4.005 -6.81558 -10.8355 17.3027 -4.01 -7.01969 -11.1485 17.452 -4.015 -7.22917 -11.4656 17.6218 -4.02 -7.44388 -11.7856 17.8131 -4.025 -7.66367 -12.1078 18.0263 -4.03 -7.88832 -12.4307 18.2623 -4.035 -8.11761 -12.7534 18.5215 -4.04 -8.35126 -13.0742 18.8047 -4.045 -8.58898 -13.3918 19.1124 -4.05 -8.83041 -13.7045 19.4451 -4.055 -9.07519 -14.0106 19.8033 -4.06 -9.32291 -14.3082 20.1877 -4.065 -9.5731 -14.5955 20.5984 -4.07 -9.825 -14.872 21.0351 -4.075 -10.0777 -15.1346 21.4975 -4.08 -10.3304 -15.3803 21.9853 -4.085 -10.5821 -15.606 22.4978 -4.09 -10.8318 -15.8088 23.0341 -4.095 -11.0786 -15.9861 23.593 -4.1 -11.3212 -16.1355 24.1729 -4.105 -11.5585 -16.2546 24.7719 -4.11 -11.7894 -16.3412 25.3879 -4.115 -12.0127 -16.3935 26.0185 -4.12 -12.227 -16.4097 26.6608 -4.125 -12.4309 -16.3882 27.3118 -4.13 -12.6232 -16.3277 27.968 -4.135 -12.8024 -16.2269 28.6259 -4.14 -12.9669 -16.0848 29.2814 -4.145 -13.1152 -15.9005 29.9302 -4.15 -13.2459 -15.6731 30.5677 -4.155 -13.3583 -15.399 31.19 -4.16 -13.4514 -15.0807 31.7925 -4.165 -13.5241 -14.7226 32.3705 -4.17 -13.5753 -14.329 32.9201 -4.175 -13.6041 -13.9041 33.4376 -4.18 -13.6099 -13.4517 33.9196 -4.185 -13.5925 -12.9756 34.3635 -4.19 -13.5516 -12.4793 34.7667 -4.195 -13.4872 -11.966 35.1273 -4.2 -13.3997 -11.439 35.4437 -4.205 -13.2895 -10.9011 35.7149 -4.21 -13.1573 -10.3551 35.94 -4.215 -13.0042 -9.8035 36.1188 -4.22 -12.8311 -9.24863 36.2514 -4.225 -12.6394 -8.69266 36.3383 -4.23 -12.4308 -8.13752 36.3806 -4.235 -12.207 -7.58507 36.3797 -4.24 -11.9679 -7.04321 36.3377 -4.245 -11.7143 -6.51805 36.2568 -4.25 -11.4478 -6.01196 36.139 -4.255 -11.1703 -5.52701 35.9865 -4.26 -10.8835 -5.06495 35.8014 -4.265 -10.5888 -4.62722 35.586 -4.27 -10.2881 -4.21494 35.3429 -4.275 -9.98259 -3.82892 35.0745 -4.28 -9.67391 -3.46968 34.7836 -4.285 -9.36341 -3.13739 34.4731 -4.29 -9.05242 -2.83194 34.1457 -4.295 -8.74223 -2.55289 33.8047 -4.3 -8.43407 -2.2995 33.4531 -4.305 -8.12909 -2.07069 33.0942 -4.31 -7.82842 -1.86511 32.7314 -4.315 -7.53309 -1.68145 32.3656 -4.32 -7.24389 -1.51877 31.9958 -4.325 -6.96141 -1.37592 31.6233 -4.33 -6.68617 -1.25179 31.249 -4.335 -6.41866 -1.14526 30.8741 -4.34 -6.15931 -1.05522 30.4993 -4.345 -5.90849 -0.980553 30.1256 -4.35 -5.6665 -0.920164 29.7536 -4.355 -5.4336 -0.872958 29.3839 -4.36 -5.20999 -0.837842 29.0171 -4.365 -4.99582 -0.813734 28.6536 -4.37 -4.79116 -0.799554 28.2937 -4.375 -4.59607 -0.794229 27.9376 -4.38 -4.4105 -0.796692 27.5855 -4.385 -4.23438 -0.80588 27.2374 -4.39 -4.06752 -0.821174 26.8934 -4.395 -3.90969 -0.842404 26.5538 -4.4 -3.76071 -0.869015 26.2184 -4.405 -3.62037 -0.900488 25.8874 -4.41 -3.4885 -0.936346 25.5607 -4.415 -3.36489 -0.97615 25.2384 -4.42 -3.24933 -1.01951 24.9205 -4.425 -3.14162 -1.06606 24.6069 -4.43 -3.04153 -1.11549 24.2976 -4.435 -2.94883 -1.16753 23.9927 -4.44 -2.86331 -1.22195 23.6921 -4.445 -2.78472 -1.27856 23.3958 -4.45 -2.71283 -1.3372 23.1037 -4.455 -2.64738 -1.39776 22.8159 -4.46 -2.58811 -1.46018 22.5323 -4.465 -2.53478 -1.52443 22.2529 -4.47 -2.4871 -1.59051 21.9776 -4.475 -2.44482 -1.65842 21.7064 -4.48 -2.40782 -1.72812 21.4393 -4.485 -2.37599 -1.79958 21.1763 -4.49 -2.34923 -1.87279 20.9174 -4.495 -2.32743 -1.94778 20.6626 -4.5 -2.31048 -2.02457 20.4118 -4.505 -2.29826 -2.10322 20.1651 -4.51 -2.29067 -2.1838 19.9225 -4.515 -2.28757 -2.26642 19.6839 -4.52 -2.28886 -2.35118 19.4495 -4.525 -2.29441 -2.43822 19.2191 -4.53 -2.30409 -2.5277 18.9929 -4.535 -2.31779 -2.61978 18.7709 -4.54 -2.33538 -2.71467 18.5531 -4.545 -2.35672 -2.81257 18.3396 -4.55 -2.38168 -2.91373 18.1304 -4.555 -2.41019 -3.01835 17.9256 -4.56 -2.44239 -3.12648 17.7252 -4.565 -2.47832 -3.23828 17.5294 -4.57 -2.51802 -3.35392 17.3382 -4.575 -2.56152 -3.47357 17.1517 -4.58 -2.60886 -3.59742 16.9699 -4.585 -2.66008 -3.72567 16.7931 -4.59 -2.71522 -3.85853 16.6212 -4.595 -2.77434 -3.99622 16.4546 -4.6 -2.83747 -4.13896 16.2933 -4.605 -2.90468 -4.28697 16.1375 -4.61 -2.97602 -4.44051 15.9874 -4.615 -3.05155 -4.59983 15.8433 -4.62 -3.13134 -4.76518 15.7053 -4.625 -3.21544 -4.93683 15.5737 -4.63 -3.30394 -5.11507 15.4488 -4.635 -3.39689 -5.30017 15.3309 -4.64 -3.49439 -5.49226 15.2202 -4.645 -3.59662 -5.69121 15.1172 -4.65 -3.70374 -5.89745 15.0222 -4.655 -3.81593 -6.11139 14.9356 -4.66 -3.93333 -6.33342 14.8577 -4.665 -4.05612 -6.56385 14.789 -4.67 -4.18443 -6.80295 14.7301 -4.675 -4.31843 -7.05095 14.6813 -4.68 -4.45825 -7.30802 14.6433 -4.685 -4.60403 -7.57429 14.6167 -4.69 -4.75591 -7.84984 14.6022 -4.695 -4.91401 -8.13469 14.6005 -4.7 -5.07846 -8.42884 14.6124 -4.705 -5.24938 -8.73221 14.6386 -4.71 -5.42688 -9.04469 14.68 -4.715 -5.61109 -9.36612 14.7376 -4.72 -5.80209 -9.69627 14.8121 -4.725 -6.00001 -10.0349 14.9047 -4.73 -6.20493 -10.3817 15.0164 -4.735 -6.41694 -10.7363 15.1482 -4.74 -6.63614 -11.0983 15.3012 -4.745 -6.86261 -11.4672 15.4766 -4.75 -7.09625 -11.8425 15.6753 -4.755 -7.33652 -12.2231 15.8972 -4.76 -7.58349 -12.608 16.1443 -4.765 -7.83718 -12.996 16.4185 -4.77 -8.09752 -13.3854 16.7213 -4.775 -8.36432 -13.7749 17.0541 -4.78 -8.63727 -14.1625 17.4181 -4.785 -8.91598 -14.5462 17.8141 -4.79 -9.19993 -14.9239 18.2429 -4.795 -9.4885 -15.2932 18.7049 -4.8 -9.78097 -15.6515 19.2002 -4.805 -10.0765 -15.9961 19.7288 -4.81 -10.3741 -16.3241 20.2904 -4.815 -10.6728 -16.6322 20.8846 -4.82 -10.9713 -16.9174 21.5104 -4.825 -11.2685 -17.1759 22.1671 -4.83 -11.563 -17.4042 22.8532 -4.835 -11.8532 -17.5984 23.5674 -4.84 -12.1375 -17.7544 24.308 -4.845 -12.4149 -17.8688 25.0736 -4.85 -12.6841 -17.9391 25.8612 -4.855 -12.9426 -17.9619 26.665 -4.86 -13.1884 -17.9342 27.4793 -4.865 -13.4191 -17.8539 28.2982 -4.87 -13.6327 -17.7192 29.1163 -4.875 -13.8275 -17.5292 29.928 -4.88 -14.0017 -17.2833 30.7279 -4.885 -14.1536 -16.9817 31.5106 -4.89 -14.2819 -16.6253 32.2709 -4.895 -14.3851 -16.2153 33.0037 -4.9 -14.4621 -15.7538 33.7039 -4.905 -14.5119 -15.2433 34.3666 -4.91 -14.5336 -14.6871 34.9868 -4.915 -14.5263 -14.0889 35.5598 -4.92 -14.4894 -13.4532 36.0809 -4.925 -14.4223 -12.785 36.5432 -4.93 -14.3251 -12.0913 36.9436 -4.935 -14.1985 -11.38 37.2821 -4.94 -14.0435 -10.6581 37.5592 -4.945 -13.8612 -9.93218 37.7756 -4.95 -13.6526 -9.20841 37.9323 -4.955 -13.4193 -8.49226 38.0306 -4.96 -13.1627 -7.7887 38.0723 -4.965 -12.8844 -7.1022 38.0592 -4.97 -12.5863 -6.43666 37.9937 -4.975 -12.2703 -5.79544 37.8783 -4.98 -11.9386 -5.18139 37.7158 -4.985 -11.5934 -4.5968 37.5095 -4.99 -11.2371 -4.04343 37.2629 -4.995 -10.8722 -3.52251 36.9796 -5 -10.5014 -3.03491 36.6642 -5.005 -10.1259 -2.58253 36.323 -5.01 -9.74755 -2.16561 35.9597 -5.015 -9.36816 -1.78382 35.5778 -5.02 -8.98955 -1.43655 35.1803 -5.025 -8.61335 -1.12295 34.77 -5.03 -8.24104 -0.841945 34.3496 -5.035 -7.87398 -0.592194 33.9217 -5.04 -7.51338 -0.372125 33.4886 -5.045 -7.1603 -0.179919 33.0525 -5.05 -6.81568 -0.0135104 32.6154 -5.055 -6.48031 0.129407 32.1791 -5.06 -6.15483 0.251384 31.7453 -5.065 -5.83977 0.355128 31.3154 -5.07 -5.53558 0.441437 30.8895 -5.075 -5.24251 0.511336 30.4677 -5.08 -4.96068 0.566375 30.0506 -5.085 -4.69019 0.60802 29.6385 -5.09 -4.43106 0.637658 29.2317 -5.095 -4.1833 0.656594 28.8306 -5.1 -3.94686 0.666055 28.4353 -5.105 -3.72165 0.667183 28.0459 -5.11 -3.50755 0.661043 27.6625 -5.115 -3.30436 0.648617 27.2851 -5.12 -3.11187 0.630805 26.9137 -5.125 -2.9298 0.60843 26.5481 -5.13 -2.75786 0.582231 26.1881 -5.135 -2.59558 0.552815 25.8337 -5.14 -2.44261 0.520689 25.4849 -5.145 -2.29864 0.486326 25.1414 -5.15 -2.16337 0.450166 24.8032 -5.155 -2.0365 0.412606 24.4702 -5.16 -1.91772 0.374003 24.1422 -5.165 -1.80671 0.334678 23.8191 -5.17 -1.70315 0.294909 23.5009 -5.175 -1.60671 0.254936 23.1873 -5.18 -1.51704 0.214961 22.8784 -5.185 -1.43382 0.175144 22.5739 -5.19 -1.3567 0.135608 22.2739 -5.195 -1.28531 0.0964345 21.9781 -5.2 -1.21931 0.0576675 21.6866 -5.205 -1.15833 0.0193105 21.3991 -5.21 -1.102 -0.0186724 21.1157 -5.215 -1.05003 -0.0562913 20.8362 -5.22 -1.00229 -0.0934678 20.5606 -5.225 -0.958615 -0.130176 20.2888 -5.23 -0.918839 -0.166403 20.0208 -5.235 -0.882791 -0.202151 19.7564 -5.24 -0.850299 -0.237434 19.4957 -5.245 -0.821193 -0.272283 19.2386 -5.25 -0.795298 -0.306738 18.9849 -5.255 -0.772443 -0.340856 18.7348 -5.26 -0.752451 -0.374707 18.4881 -5.265 -0.735146 -0.408373 18.2447 -5.27 -0.720353 -0.441951 18.0046 -5.275 -0.707894 -0.475553 17.7678 -5.28 -0.697589 -0.509301 17.5342 -5.285 -0.689271 -0.543325 17.3038 -5.29 -0.682922 -0.577655 17.0765 -5.295 -0.678515 -0.612329 16.8524 -5.3 -0.676005 -0.647408 16.6313 -5.305 -0.675346 -0.682958 16.4132 -5.31 -0.676495 -0.719052 16.1982 -5.315 -0.679406 -0.755773 15.9861 -5.32 -0.684037 -0.793208 15.777 -5.325 -0.690343 -0.831453 15.5708 -5.33 -0.698282 -0.870611 15.3675 -5.335 -0.707811 -0.910792 15.1671 -5.34 -0.718889 -0.952115 14.9695 -5.345 -0.731472 -0.994704 14.7748 -5.35 -0.745521 -1.03869 14.5828 -5.355 -0.760995 -1.08422 14.3937 -5.36 -0.777893 -1.1314 14.2073 -5.365 -0.796273 -1.18032 14.0236 -5.37 -0.816163 -1.23108 13.8427 -5.375 -0.837596 -1.28378 13.6645 -5.38 -0.860605 -1.33853 13.4891 -5.385 -0.885228 -1.39547 13.3164 -5.39 -0.911503 -1.45472 13.1464 -5.395 -0.939473 -1.51641 12.979 -5.4 -0.969182 -1.58071 12.8145 -5.405 -1.00068 -1.64777 12.6526 -5.41 -1.03401 -1.71775 12.4935 -5.415 -1.06923 -1.79082 12.3372 -5.42 -1.1064 -1.86717 12.1837 -5.425 -1.14556 -1.947 12.033 -5.43 -1.18679 -2.03049 11.8851 -5.435 -1.23015 -2.11786 11.7401 -5.44 -1.2757 -2.20932 11.5981 -5.445 -1.32362 -2.30501 11.4592 -5.45 -1.37404 -2.40512 11.3234 -5.455 -1.42704 -2.5099 11.1907 -5.46 -1.48271 -2.61962 11.0612 -5.465 -1.54115 -2.73454 10.935 -5.47 -1.60247 -2.85495 10.812 -5.475 -1.66679 -2.98113 10.6925 -5.48 -1.73425 -3.11338 10.5765 -5.485 -1.80499 -3.252 10.4643 -5.49 -1.87916 -3.39732 10.3559 -5.495 -1.95693 -3.54965 10.2515 -5.5 -2.03846 -3.70933 10.1514 -5.505 -2.12394 -3.87669 10.0559 -5.51 -2.21357 -4.0521 9.96514 -5.515 -2.30756 -4.23591 9.87945 -5.52 -2.4061 -4.42848 9.79916 -5.525 -2.50944 -4.63021 9.72459 -5.53 -2.61781 -4.84146 9.65611 -5.535 -2.73144 -5.06265 9.59408 -5.54 -2.85061 -5.29417 9.53892 -5.545 -2.97557 -5.53644 9.49106 -5.55 -3.10661 -5.78988 9.45095 -5.555 -3.24383 -6.05364 9.41958 -5.56 -3.38744 -6.32773 9.39778 -5.565 -3.53783 -6.61345 9.38597 -5.57 -3.69536 -6.91191 9.38468 -5.575 -3.86038 -7.22411 9.39458 -5.58 -4.03323 -7.55089 9.41641 -5.585 -4.21423 -7.89291 9.45107 -5.59 -4.40369 -8.25071 9.49953 -5.595 -4.60188 -8.62467 9.56292 -5.6 -4.80909 -9.01502 9.64244 -5.605 -5.02557 -9.42182 9.73943 -5.61 -5.25157 -9.84501 9.85535 -5.615 -5.48732 -10.2844 9.99175 -5.62 -5.73303 -10.7395 10.1503 -5.625 -5.98888 -11.2098 10.3328 -5.63 -6.25508 -11.6948 10.5412 -5.635 -6.53177 -12.1935 10.7774 -5.64 -6.81912 -12.7049 11.0436 -5.645 -7.11725 -13.2279 11.3421 -5.65 -7.42629 -13.7613 11.6752 -5.655 -7.74635 -14.3035 12.0454 -5.66 -8.0775 -14.8531 12.4553 -5.665 -8.41983 -15.4082 12.9075 -5.67 -8.77339 -15.967 13.4049 -5.675 -9.13778 -16.5275 13.9493 -5.68 -9.5113 -17.0868 14.5402 -5.685 -9.89341 -17.64 15.1809 -5.69 -10.2835 -18.1817 15.8743 -5.695 -10.6806 -18.7064 16.6227 -5.7 -11.0836 -19.2086 17.4271 -5.705 -11.4911 -19.6823 18.2878 -5.71 -11.9013 -20.1216 19.2043 -5.715 -12.3125 -20.5202 20.1752 -5.72 -12.7223 -20.8717 21.1981 -5.725 -13.1284 -21.1695 22.2699 -5.73 -13.528 -21.4069 23.3866 -5.735 -13.9181 -21.5768 24.5431 -5.74 -14.2956 -21.6722 25.7337 -5.745 -14.6569 -21.6857 26.9518 -5.75 -14.9986 -21.6096 28.1899 -5.755 -15.3186 -21.4369 29.4425 -5.76 -15.6133 -21.1661 30.6961 -5.765 -15.878 -20.7973 31.9359 -5.77 -16.1091 -20.3319 33.1482 -5.775 -16.303 -19.7722 34.3204 -5.78 -16.4569 -19.1215 35.4409 -5.785 -16.5683 -18.3841 36.4992 -5.79 -16.6355 -17.5653 37.4857 -5.795 -16.6569 -16.6715 38.3921 -5.8 -16.6317 -15.7099 39.2109 -5.805 -16.5594 -14.6889 39.936 -5.81 -16.4402 -13.6179 40.5619 -5.815 -16.2746 -12.507 41.0845 -5.82 -16.0626 -11.3719 41.4982 -5.825 -15.8051 -10.23 41.8016 -5.83 -15.5048 -9.09386 41.9985 -5.835 -15.1645 -7.97471 42.0935 -5.84 -14.7874 -6.88271 42.0918 -5.845 -14.3766 -5.82679 41.9992 -5.85 -13.9355 -4.81471 41.8219 -5.855 -13.4676 -3.85303 41.5672 -5.86 -12.9765 -2.94713 41.2424 -5.865 -12.4662 -2.1012 40.856 -5.87 -11.9404 -1.31824 40.4167 -5.875 -11.4035 -0.60008 39.9339 -5.88 -10.8596 0.05266 39.4178 -5.885 -10.3127 0.641541 38.8777 -5.89 -9.76524 1.17029 38.3188 -5.895 -9.22019 1.64111 37.7464 -5.9 -8.68013 2.05647 37.165 -5.905 -8.14745 2.41913 36.5791 -5.91 -7.62427 2.73214 35.9926 -5.915 -7.11244 2.9989 35.4089 -5.92 -6.61357 3.22309 34.8309 -5.925 -6.129 3.40869 34.2613 -5.93 -5.65983 3.56001 33.7022 -5.935 -5.20689 3.68165 33.1552 -5.94 -4.77075 3.77853 32.6217 -5.945 -4.35175 3.85587 32.1024 -5.95 -3.94999 3.91641 31.5972 -5.955 -3.56543 3.9599 31.1054 -5.96 -3.19787 3.98868 30.6269 -5.965 -2.84707 4.00499 30.1614 -5.97 -2.51274 4.01088 29.7085 -5.975 -2.19454 4.00826 29.2681 -5.98 -1.89208 3.99887 28.8396 -5.985 -1.60492 3.98429 28.4229 -5.99 -1.33258 3.96592 28.0173 -5.995 -1.07453 3.94501 27.6226 -6 -0.830196 3.92267 27.2383 -6.005 -0.598943 3.89981 26.8637 -6.01 -0.380088 3.8772 26.4985 -6.015 -0.172795 3.85565 26.1422 -6.02 0.0235515 3.83578 25.7944 -6.025 0.209491 3.81808 25.4549 -6.03 0.385568 3.80302 25.1233 -6.035 0.552334 3.79103 24.7993 -6.04 0.710345 3.7825 24.4827 -6.045 0.860166 3.77778 24.1732 -6.05 1.00237 3.77717 23.8706 -6.055 1.13752 3.78093 23.5747 -6.06 1.26622 3.78931 23.2852 -6.065 1.38904 3.80249 23.002 -6.07 1.50658 3.82062 22.725 -6.075 1.61945 3.84381 22.4539 -6.08 1.72825 3.87213 22.1887 -6.085 1.83358 3.90561 21.9293 -6.09 1.93582 3.9443 21.6755 -6.095 2.03524 3.9883 21.4274 -6.1 2.13216 4.03775 21.185 -6.105 2.22687 4.09274 20.9483 -6.11 2.3197 4.15339 20.7173 -6.115 2.41096 4.21977 20.4921 -6.12 2.50099 4.29198 20.2726 -6.125 2.59011 4.37008 20.059 -6.13 2.67866 4.45414 19.8512 -6.135 2.767 4.54419 19.6494 -6.14 2.85548 4.64029 19.4535 -6.145 2.94446 4.74246 19.2637 -6.15 3.03431 4.85073 19.08 -6.155 3.1254 4.96511 18.9025 -6.16 3.21808 5.0856 18.7313 -6.165 3.31247 5.21232 18.5667 -6.17 3.40872 5.34547 18.4088 -6.175 3.50698 5.48519 18.2578 -6.18 3.60743 5.63165 18.1141 -6.185 3.71024 5.78498 17.9778 -6.19 3.81559 5.9453 17.8492 -6.195 3.92367 6.1127 17.7287 -6.2 4.03469 6.28727 17.6164 -6.205 4.14884 6.46909 17.5128 -6.21 4.26632 6.65819 17.4181 -6.215 4.38737 6.85463 17.3328 -6.22 4.5122 7.05841 17.2572 -6.225 4.64105 7.26954 17.1917 -6.23 4.77415 7.488 17.1367 -6.235 4.91174 7.71376 17.0927 -6.24 5.05405 7.94675 17.0601 -6.245 5.20101 8.18668 17.0392 -6.25 5.35273 8.43368 17.0308 -6.255 5.50936 8.68786 17.0355 -6.26 5.67101 8.94923 17.0542 -6.265 5.83777 9.21772 17.0876 -6.27 6.00971 9.49314 17.1364 -6.275 6.18689 9.77521 17.2012 -6.28 6.36932 10.0636 17.283 -6.285 6.557 10.3578 17.3823 -6.29 6.74992 10.6572 17.4998 -6.295 6.94802 10.9612 17.6364 -6.3 7.15124 11.2691 17.7926 -6.305 7.35949 11.58 17.9691 -6.31 7.57265 11.8929 18.1668 -6.315 7.79058 12.2069 18.3861 -6.32 8.01313 12.5206 18.6279 -6.325 8.2401 12.8331 18.8928 -6.33 8.47128 13.1428 19.1815 -6.335 8.70645 13.4484 19.4945 -6.34 8.9451 13.7491 19.832 -6.345 9.18654 14.0437 20.1939 -6.35 9.43023 14.3294 20.5809 -6.355 9.67556 14.6038 20.9932 -6.36 9.92187 14.8641 21.4309 -6.365 10.1684 15.1081 21.8937 -6.37 10.4144 15.3333 22.3811 -6.375 10.6589 15.5375 22.8921 -6.38 10.901 15.7184 23.4257 -6.385 11.1397 15.8739 23.9805 -6.39 11.3739 16.0018 24.5546 -6.395 11.6025 16.1002 25.1461 -6.4 11.8242 16.1671 25.7526 -6.405 12.0377 16.2006 26.3716 -6.41 12.2418 16.199 27.0001 -6.415 12.4349 16.1604 27.6349 -6.42 12.6157 16.0833 28.2726 -6.425 12.7824 15.966 28.9094 -6.43 12.9344 15.8046 29.5424 -6.435 13.0709 15.5976 30.168 -6.44 13.1904 15.3484 30.781 -6.445 13.2914 15.0603 31.3762 -6.45 13.3727 14.7365 31.9494 -6.455 13.4335 14.3802 32.4963 -6.46 13.4728 13.9943 33.0133 -6.465 13.4901 13.5818 33.4973 -6.47 13.4851 13.1453 33.9454 -6.475 13.4575 12.6875 34.3553 -6.48 13.4074 12.211 34.7251 -6.485 13.335 11.7182 35.0532 -6.49 13.2409 11.2114 35.3387 -6.495 13.1256 10.6927 35.5807 -6.5 12.99 10.1643 35.7793 -6.505 12.8352 9.62811 35.9345 -6.51 12.6624 9.08597 36.0471 -6.515 12.4731 8.53964 36.1181 -6.52 12.2676 7.99534 36.1484 -6.525 12.0454 7.46229 36.1387 -6.53 11.8083 6.94321 36.0901 -6.535 11.5579 6.44048 36.0041 -6.54 11.2958 5.95618 35.8824 -6.545 11.0236 5.49219 35.7268 -6.55 10.7429 5.05007 35.5392 -6.555 10.4551 4.63113 35.3219 -6.56 10.1616 4.23642 35.0772 -6.565 9.86401 3.86672 34.8077 -6.57 9.56353 3.52255 34.5161 -6.575 9.26149 3.20416 34.2054 -6.58 8.95918 2.91153 33.8786 -6.585 8.65781 2.64437 33.5391 -6.59 8.35857 2.40214 33.1903 -6.595 8.06259 2.18402 32.8359 -6.6 7.77096 1.98893 32.4798 -6.605 7.48475 1.81526 32.1217 -6.61 7.20469 1.66155 31.7599 -6.615 6.93134 1.52677 31.3954 -6.62 6.66516 1.40985 31.0292 -6.625 6.40661 1.30977 30.6623 -6.63 6.15606 1.22548 30.2956 -6.635 5.91387 1.15594 29.9297 -6.64 5.68031 1.10014 29.5655 -6.645 5.45562 1.05705 29.2034 -6.65 5.23999 1.02564 28.844 -6.655 5.03355 1.00491 28.4877 -6.66 4.8364 0.993853 28.1348 -6.665 4.64856 0.991454 27.7856 -6.67 4.47003 0.996718 27.4402 -6.675 4.30074 1.00865 27.0988 -6.68 4.14056 1.02632 26.7612 -6.685 3.98921 1.04966 26.4278 -6.69 3.84649 1.07831 26.0985 -6.695 3.71221 1.11182 25.7734 -6.7 3.5862 1.14972 25.4526 -6.705 3.46826 1.19162 25.1359 -6.71 3.3582 1.23714 24.8236 -6.715 3.25582 1.28596 24.5154 -6.72 3.16092 1.33779 24.2116 -6.725 3.07329 1.39237 23.9119 -6.73 2.99271 1.44949 23.6165 -6.735 2.91898 1.50898 23.3254 -6.74 2.85185 1.57068 23.0385 -6.745 2.79111 1.6345 22.7558 -6.75 2.73651 1.70038 22.4773 -6.755 2.68782 1.7683 22.2029 -6.76 2.64479 1.83826 21.9327 -6.765 2.60716 1.91032 21.6667 -6.77 2.57472 1.98448 21.4048 -6.775 2.54739 2.06071 21.1471 -6.78 2.52508 2.13901 20.8935 -6.785 2.50772 2.21941 20.644 -6.79 2.49522 2.30193 20.3987 -6.795 2.4875 2.38662 20.1576 -6.8 2.48446 2.47357 19.9206 -6.805 2.48603 2.56287 19.6879 -6.81 2.4921 2.65462 19.4594 -6.815 2.50258 2.74896 19.2352 -6.82 2.51737 2.84605 19.0153 -6.825 2.53636 2.94605 18.7997 -6.83 2.55947 3.04915 18.5887 -6.835 2.58658 3.15556 18.3821 -6.84 2.61758 3.26552 18.1801 -6.845 2.65237 3.37926 17.9828 -6.85 2.69083 3.49706 17.7903 -6.855 2.73307 3.619 17.6026 -6.86 2.77923 3.7452 17.4199 -6.865 2.82936 3.87583 17.2424 -6.87 2.88352 4.0111 17.07 -6.875 2.94176 4.15121 16.903 -6.88 3.00415 4.29637 16.7415 -6.885 3.07075 4.44679 16.5857 -6.89 3.14162 4.60268 16.4358 -6.895 3.21683 4.76427 16.292 -6.9 3.29646 4.93178 16.1546 -6.905 3.38059 5.10545 16.0237 -6.91 3.46928 5.2855 15.8998 -6.915 3.56262 5.47218 15.7831 -6.92 3.6607 5.66573 15.6739 -6.925 3.7636 5.8664 15.5725 -6.93 3.87141 6.07445 15.4795 -6.935 3.98422 6.29014 15.3951 -6.94 4.10212 6.51351 15.3197 -6.945 4.22516 6.74399 15.2538 -6.95 4.35357 6.98206 15.1979 -6.955 4.48756 7.22823 15.1525 -6.96 4.62734 7.48294 15.1182 -6.965 4.77308 7.74649 15.0958 -6.97 4.92495 8.01915 15.0858 -6.975 5.08309 8.30104 15.0891 -6.98 5.24763 8.59222 15.1062 -6.985 5.41866 8.89264 15.138 -6.99 5.59627 9.20217 15.1854 -6.995 5.78055 9.52057 15.249 -7 5.97152 9.84752 15.3299 -7.005 6.16922 10.1826 15.429 -7.01 6.37367 10.5253 15.5471 -7.015 6.58485 10.875 15.6852 -7.02 6.80274 11.231 15.8444 -7.025 7.0273 11.5925 16.0257 -7.03 7.25846 11.9587 16.2302 -7.035 7.49613 12.3284 16.459 -7.04 7.74022 12.7008 16.7133 -7.045 7.99061 13.0746 16.9941 -7.05 8.24715 13.4485 17.3028 -7.055 8.50969 13.8211 17.6405 -7.06 8.77776 14.1915 18.0077 -7.065 9.05053 14.5578 18.4041 -7.07 9.32755 14.9172 18.8312 -7.075 9.60823 15.2666 19.2898 -7.08 9.89193 15.6032 19.7805 -7.085 10.1778 15.9239 20.3036 -7.09 10.4651 16.2258 20.8588 -7.095 10.7527 16.5059 21.4455 -7.1 11.0396 16.7611 22.0627 -7.105 11.3244 16.9884 22.7091 -7.11 11.606 17.185 23.3828 -7.115 11.8828 17.3476 24.0818 -7.12 12.1534 17.4733 24.8034 -7.125 12.416 17.5591 25.5446 -7.13 12.669 17.602 26.3021 -7.135 12.9103 17.5987 27.0723 -7.14 13.1382 17.5464 27.8508 -7.145 13.3516 17.4398 28.6354 -7.15 13.5492 17.2769 29.4214 -7.155 13.7287 17.06 30.2008 -7.16 13.8878 16.7911 30.9666 -7.165 14.0248 16.4727 31.7119 -7.17 14.1379 16.1072 32.4309 -7.175 14.2259 15.6972 33.1179 -7.18 14.2877 15.2453 33.7681 -7.185 14.3225 14.7544 34.3773 -7.19 14.3297 14.2274 34.9416 -7.195 14.3089 13.6673 35.4579 -7.2 14.2603 13.0773 35.9237 -7.205 14.184 12.4606 36.3371 -7.21 14.0806 11.8206 36.6965 -7.215 13.9508 11.1608 37.0013 -7.22 13.7957 10.4848 37.2512 -7.225 13.6165 9.79644 37.4465 -7.23 13.4128 9.10634 37.5855 -7.235 13.1851 8.42324 37.6681 -7.24 12.9356 7.75168 37.6961 -7.245 12.6659 7.0958 37.6715 -7.25 12.3783 6.45931 37.5967 -7.255 12.0745 5.84552 37.4743 -7.26 11.7565 5.25731 37.3072 -7.265 11.4262 4.69715 37.0985 -7.27 11.0855 4.1671 36.8517 -7.275 10.7363 3.66882 36.5706 -7.28 10.3805 3.20352 36.2592 -7.285 10.02 2.77204 35.9216 -7.29 9.65664 2.37476 35.5625 -7.295 9.29228 2.01169 35.1867 -7.3 8.92879 1.68238 34.7993 -7.305 8.56798 1.38566 34.4045 -7.31 8.21123 1.11878 34.0013 -7.315 7.85967 0.880254 33.5913 -7.32 7.51429 0.668756 33.1763 -7.325 7.17603 0.482894 32.7581 -7.33 6.84571 0.321238 32.338 -7.335 6.52407 0.182307 31.9176 -7.34 6.21174 0.0645761 31.4981 -7.345 5.90927 -0.0335287 31.0806 -7.35 5.61714 -0.113627 30.6659 -7.355 5.33569 -0.177385 30.255 -7.36 5.0652 -0.226516 29.8483 -7.365 4.80586 -0.26278 29.4465 -7.37 4.55775 -0.287985 29.0498 -7.375 4.32086 -0.303984 28.6584 -7.38 4.09508 -0.312164 28.2724 -7.385 3.88016 -0.31234 27.8918 -7.39 3.67591 -0.305317 27.5167 -7.395 3.48208 -0.291948 27.147 -7.4 3.29847 -0.273026 26.7826 -7.405 3.12481 -0.249283 26.4237 -7.41 2.96086 -0.221392 26.0701 -7.415 2.80634 -0.189966 25.7218 -7.42 2.66097 -0.155556 25.3786 -7.425 2.52445 -0.118655 25.0407 -7.43 2.39647 -0.0796947 24.7078 -7.435 2.27671 -0.039047 24.3798 -7.44 2.16484 0.00297629 24.0567 -7.445 2.06051 0.0461236 23.7384 -7.45 1.96334 0.0902006 23.4247 -7.455 1.87297 0.135018 23.1155 -7.46 1.78912 0.180401 22.8107 -7.465 1.71154 0.226199 22.5104 -7.47 1.63999 0.27229 22.2143 -7.475 1.57423 0.318571 21.9224 -7.48 1.51401 0.364964 21.6347 -7.485 1.45908 0.411417 21.351 -7.49 1.4092 0.457898 21.0713 -7.495 1.36411 0.5044 20.7956 -7.5 1.32357 0.550941 20.5237 -7.505 1.28733 0.59756 20.2557 -7.51 1.25514 0.644322 19.9913 -7.515 1.22674 0.691314 19.7307 -7.52 1.20189 0.738647 19.4737 -7.525 1.18041 0.786397 19.2203 -7.53 1.16223 0.834581 18.9704 -7.535 1.14726 0.883248 18.7241 -7.54 1.1354 0.932457 18.4812 -7.545 1.12656 0.982279 18.2418 -7.55 1.12066 1.0328 18.0059 -7.555 1.11759 1.0841 17.7733 -7.56 1.11727 1.13629 17.544 -7.565 1.11961 1.18949 17.3181 -7.57 1.12452 1.24383 17.0956 -7.575 1.13192 1.29943 16.8763 -7.58 1.14171 1.35645 16.6603 -7.585 1.15382 1.41505 16.4475 -7.59 1.16815 1.47539 16.238 -7.595 1.18465 1.53765 16.0317 -7.6 1.20336 1.60193 15.8287 -7.605 1.2243 1.66834 15.629 -7.61 1.24749 1.737 15.4324 -7.615 1.27295 1.80806 15.2391 -7.62 1.30072 1.88165 15.0491 -7.625 1.33083 1.95793 14.8623 -7.63 1.3633 2.03707 14.6788 -7.635 1.39817 2.11924 14.4986 -7.64 1.43548 2.20463 14.3218 -7.645 1.47526 2.29344 14.1484 -7.65 1.51757 2.38588 13.9783 -7.655 1.56244 2.48215 13.8118 -7.66 1.60993 2.5825 13.6488 -7.665 1.66008 2.68715 13.4894 -7.67 1.71295 2.79636 13.3337 -7.675 1.7686 2.91037 13.1818 -7.68 1.82721 3.02933 13.0338 -7.685 1.88892 3.15347 12.8899 -7.69 1.95382 3.28308 12.7501 -7.695 2.02202 3.41844 12.6145 -7.7 2.09366 3.55986 12.4832 -7.705 2.16885 3.70763 12.3563 -7.71 2.24773 3.86205 12.2341 -7.715 2.33046 4.02344 12.1168 -7.72 2.41718 4.1921 12.0046 -7.725 2.50807 4.36837 11.8977 -7.73 2.60329 4.55257 11.7965 -7.735 2.70303 4.74501 11.7012 -7.74 2.80747 4.94605 11.6123 -7.745 2.91683 5.15602 11.5301 -7.75 3.0313 5.37527 11.4551 -7.755 3.1511 5.60414 11.3876 -7.76 3.27647 5.84299 11.3281 -7.765 3.40763 6.09219 11.2772 -7.77 3.54483 6.35209 11.2354 -7.775 3.68832 6.62307 11.2032 -7.78 3.83824 6.9048 11.1813 -7.785 3.99467 7.19675 11.1705 -7.79 4.158 7.49997 11.1717 -7.795 4.32859 7.81535 11.1856 -7.8 4.50677 8.14366 11.2131 -7.805 4.69286 8.48547 11.2552 -7.81 4.88712 8.84119 11.3129 -7.815 5.08982 9.21106 11.3873 -7.82 5.30117 9.59516 11.4797 -7.825 5.52137 9.9934 11.5913 -7.83 5.75057 10.4055 11.7235 -7.835 5.98892 10.8311 11.8776 -7.84 6.23653 11.2695 12.0554 -7.845 6.49347 11.72 12.2582 -7.85 6.75979 12.1816 12.4879 -7.855 7.03552 12.6534 12.7461 -7.86 7.32066 13.1338 13.0347 -7.865 7.61516 13.6217 13.3555 -7.87 7.91897 14.1153 13.7107 -7.875 8.232 14.6129 14.1022 -7.88 8.55412 15.1125 14.5323 -7.885 8.88519 15.612 15.003 -7.89 9.22503 16.1092 15.5168 -7.895 9.57274 16.6022 16.0738 -7.9 9.92703 17.0876 16.6742 -7.905 10.2872 17.56 17.3204 -7.91 10.6522 18.0143 18.0137 -7.915 11.0211 18.4451 18.7551 -7.92 11.3924 18.8473 19.5443 -7.925 11.7646 19.2156 20.3807 -7.93 12.136 19.5447 21.2627 -7.935 12.5046 19.8294 22.1879 -7.94 12.8684 20.0645 23.1532 -7.945 13.2249 20.2448 24.1547 -7.95 13.5717 20.3649 25.1879 -7.955 13.906 20.4198 26.2472 -7.96 14.2248 20.4042 27.3264 -7.965 14.5251 20.3128 28.4187 -7.97 14.8038 20.1401 29.5168 -7.975 15.0597 19.8809 30.6146 -7.98 15.2891 19.5368 31.7 -7.985 15.4888 19.1105 32.7612 -7.99 15.6556 18.6055 33.7872 -7.995 15.7872 18.0256 34.7681 -8 15.8813 17.3753 35.6948 -8.005 15.9365 16.6593 36.5596 -8.01 15.9516 15.8831 37.3554 -8.015 15.9259 15.0526 38.0763 -8.02 15.8591 14.1743 38.7173 -8.025 15.7516 13.2549 39.2745 -8.03 15.6041 12.3021 39.745 -8.035 15.4176 11.3237 40.1268 -8.04 15.1933 10.3303 40.4183 -8.045 14.931 9.3386 40.6188 -8.05 14.6333 8.3583 40.7315 -8.055 14.3031 7.39768 40.7602 -8.06 13.9433 6.46416 40.7092 -8.065 13.5566 5.56427 40.5835 -8.07 13.1462 4.70363 40.3882 -8.075 12.715 3.88703 40.1292 -8.08 12.266 3.11834 39.8128 -8.085 11.8023 2.40056 39.4457 -8.09 11.3272 1.73581 39.0353 -8.095 10.8438 1.12533 38.5892 -8.1 10.3554 0.569477 38.1157 -8.105 9.86526 0.067726 37.6235 -8.11 9.37623 -0.382626 37.1179 -8.115 8.89037 -0.785072 36.6006 -8.12 8.40973 -1.14185 36.0751 -8.125 7.93618 -1.45535 35.5449 -8.13 7.47138 -1.72808 35.013 -8.135 7.01681 -1.9627 34.4821 -8.14 6.57376 -2.16202 33.9546 -8.145 6.14334 -2.32897 33.4324 -8.15 5.72645 -2.46662 32.9174 -8.155 5.32381 -2.57819 32.4107 -8.16 4.93596 -2.66705 31.9134 -8.165 4.56321 -2.73668 31.4263 -8.17 4.20574 -2.79071 30.9497 -8.175 3.86352 -2.8315 30.4835 -8.18 3.53645 -2.8592 30.0276 -8.185 3.22427 -2.87556 29.582 -8.19 2.92671 -2.88227 29.1463 -8.195 2.64345 -2.8809 28.7204 -8.2 2.37415 -2.87289 28.304 -8.205 2.11844 -2.85958 27.8971 -8.21 1.87592 -2.84217 27.4991 -8.215 1.64615 -2.82175 27.11 -8.22 1.42865 -2.79931 26.7295 -8.225 1.22294 -2.7757 26.3571 -8.23 1.02849 -2.75165 25.9926 -8.235 0.844723 -2.72779 25.6357 -8.24 0.671038 -2.70463 25.2859 -8.245 0.506766 -2.68271 24.9431 -8.25 0.351431 -2.66244 24.6069 -8.255 0.204573 -2.6442 24.2773 -8.26 0.0657321 -2.62831 23.9539 -8.265 -0.0655581 -2.61509 23.6366 -8.27 -0.189766 -2.60481 23.3252 -8.275 -0.307363 -2.5977 23.0196 -8.28 -0.418824 -2.59398 22.7195 -8.285 -0.524629 -2.59381 22.4247 -8.29 -0.625261 -2.59734 22.1353 -8.295 -0.721204 -2.60467 21.8509 -8.3 -0.812947 -2.61589 21.5716 -8.305 -0.900985 -2.63103 21.2971 -8.31 -0.985798 -2.65011 21.0274 -8.315 -1.0677 -2.67321 20.7624 -8.32 -1.14694 -2.70043 20.5022 -8.325 -1.22377 -2.73189 20.2465 -8.33 -1.29847 -2.76766 19.9956 -8.335 -1.37131 -2.80784 19.7492 -8.34 -1.44256 -2.8525 19.5074 -8.345 -1.5125 -2.90173 19.2702 -8.35 -1.58141 -2.95558 19.0375 -8.355 -1.6496 -3.01412 18.8094 -8.36 -1.71736 -3.07741 18.5859 -8.365 -1.78497 -3.14548 18.3669 -8.37 -1.85276 -3.21839 18.1525 -8.375 -1.92103 -3.29616 17.9427 -8.38 -1.99009 -3.37884 17.7375 -8.385 -2.06011 -3.46654 17.5369 -8.39 -2.13124 -3.55944 17.3412 -8.395 -2.2036 -3.6577 17.1503 -8.4 -2.27736 -3.7615 16.9644 -8.405 -2.35268 -3.871 16.7835 -8.41 -2.42973 -3.98638 16.6079 -8.415 -2.5087 -4.10779 16.4375 -8.42 -2.58977 -4.2354 16.2726 -8.425 -2.67315 -4.36936 16.1133 -8.43 -2.75905 -4.50984 15.9598 -8.435 -2.84769 -4.657 15.8124 -8.44 -2.93931 -4.81098 15.6711 -8.445 -3.03415 -4.97194 15.5362 -8.45 -3.13245 -5.14004 15.408 -8.455 -3.23449 -5.31542 15.2866 -8.46 -3.34048 -5.49818 15.1724 -8.465 -3.45054 -5.68848 15.0658 -8.47 -3.5648 -5.88669 14.9671 -8.475 -3.68344 -6.09315 14.8767 -8.48 -3.80661 -6.30815 14.7949 -8.485 -3.93447 -6.53194 14.7223 -8.49 -4.0672 -6.76476 14.6593 -8.495 -4.20496 -7.00679 14.6065 -8.5 -4.34794 -7.25816 14.5644 -8.505 -4.49631 -7.51899 14.5337 -8.51 -4.65027 -7.78934 14.515 -8.515 -4.80999 -8.06925 14.509 -8.52 -4.97567 -8.35871 14.5164 -8.525 -5.14751 -8.65768 14.5381 -8.53 -5.3257 -8.96607 14.5748 -8.535 -5.51046 -9.28378 14.6274 -8.54 -5.70199 -9.61063 14.6969 -8.545 -5.90051 -9.94643 14.7841 -8.55 -6.10613 -10.2909 14.8898 -8.555 -6.31808 -10.6428 15.0136 -8.56 -6.53647 -11.002 15.1569 -8.565 -6.76165 -11.3681 15.3218 -8.57 -6.99386 -11.7409 15.5102 -8.575 -7.23325 -12.1198 15.7237 -8.58 -7.47988 -12.5038 15.9639 -8.585 -7.73369 -12.8919 16.2321 -8.59 -7.99456 -13.2829 16.5296 -8.595 -8.26222 -13.6752 16.8573 -8.6 -8.53636 -14.0671 17.2161 -8.605 -8.81652 -14.4566 17.6067 -8.61 -9.10218 -14.8417 18.0297 -8.615 -9.39271 -15.2199 18.4853 -8.62 -9.68738 -15.5885 18.9739 -8.625 -9.98537 -15.9449 19.4955 -8.63 -10.2858 -16.2859 20.0498 -8.635 -10.5875 -16.6082 20.6367 -8.64 -10.8895 -16.9084 21.2556 -8.645 -11.1906 -17.1827 21.906 -8.65 -11.4893 -17.4272 22.587 -8.655 -11.7844 -17.6378 23.2977 -8.66 -12.0743 -17.8101 24.0369 -8.665 -12.3576 -17.9399 24.8034 -8.67 -12.6332 -18.0258 25.5943 -8.675 -12.8989 -18.0644 26.4037 -8.68 -13.1522 -18.0527 27.2257 -8.685 -13.3911 -17.9882 28.0544 -8.69 -13.6133 -17.8689 28.884 -8.695 -13.8169 -17.6936 29.7089 -8.7 -14.0001 -17.4616 30.5234 -8.705 -14.1612 -17.1729 31.3221 -8.71 -14.2987 -16.828 32.0996 -8.715 -14.4112 -16.4283 32.8507 -8.72 -14.4975 -15.9754 33.5701 -8.725 -14.5564 -15.472 34.2529 -8.73 -14.5871 -14.921 34.8939 -8.735 -14.5885 -14.3261 35.4885 -8.74 -14.5602 -13.6917 36.0317 -8.745 -14.5014 -13.0226 36.5177 -8.75 -14.4118 -12.3255 36.9409 -8.755 -14.2922 -11.6081 37.3009 -8.76 -14.1434 -10.878 37.5982 -8.765 -13.9665 -10.1422 37.8335 -8.77 -13.7627 -9.40683 38.0077 -8.775 -13.5334 -8.67783 38.1222 -8.78 -13.2799 -7.96042 38.1787 -8.785 -13.004 -7.25929 38.1789 -8.79 -12.7075 -6.5786 38.1253 -8.795 -12.3924 -5.92194 38.0203 -8.8 -12.0607 -5.29236 37.8669 -8.805 -11.7146 -4.69234 37.6682 -8.81 -11.3567 -4.12385 37.4278 -8.815 -10.9895 -3.58826 37.1494 -8.82 -10.6156 -3.08644 36.8372 -8.825 -10.2367 -2.62006 36.4974 -8.83 -9.85442 -2.18985 36.1346 -8.835 -9.47069 -1.79548 35.7523 -8.84 -9.08734 -1.43638 35.3536 -8.845 -8.70607 -1.11171 34.9415 -8.85 -8.32843 -0.820425 34.5188 -8.855 -7.95582 -0.561195 34.088 -8.86 -7.5895 -0.332459 33.6517 -8.865 -7.23058 -0.13241 33.2121 -8.87 -6.88005 0.0410106 32.7712 -8.875 -6.53873 0.190105 32.3308 -8.88 -6.20731 0.317425 31.8928 -8.885 -5.88634 0.425759 31.4586 -8.89 -5.5763 0.516415 31.0286 -8.895 -5.27748 0.590153 30.6028 -8.9 -4.99003 0.648571 30.1818 -8.905 -4.71402 0.693184 29.7659 -8.91 -4.44953 0.725426 29.3554 -8.915 -4.19654 0.746644 28.9507 -8.92 -3.95503 0.758106 28.5519 -8.925 -3.72489 0.760993 28.1591 -8.93 -3.50602 0.756405 27.7725 -8.935 -3.29822 0.745359 27.3921 -8.94 -3.10127 0.728787 27.0177 -8.945 -2.91491 0.70754 26.6493 -8.95 -2.73883 0.682385 26.2867 -8.955 -2.57258 0.653967 25.9297 -8.96 -2.41577 0.622812 25.5784 -8.965 -2.2681 0.589411 25.2325 -8.97 -2.12926 0.554219 24.8921 -8.975 -1.99893 0.517646 24.5569 -8.98 -1.87682 0.480068 24.2268 -8.985 -1.76258 0.441815 23.9017 -8.99 -1.65589 0.403183 23.5815 -8.995 -1.55642 0.364423 23.2661 -9 -1.46383 0.325751 22.9554 -9.005 -1.37776 0.287339 22.6491 -9.01 -1.29786 0.249321 22.3474 -9.015 -1.22377 0.211792 22.05 -9.02 -1.15513 0.174806 21.7568 -9.025 -1.09157 0.138378 21.4678 -9.03 -1.0327 0.102482 21.1828 -9.035 -0.978186 0.0670895 20.9019 -9.04 -0.927909 0.0322897 20.6248 -9.045 -0.881696 -0.00188139 20.3515 -9.05 -0.839371 -0.0354066 20.082 -9.055 -0.800754 -0.0682818 19.8162 -9.06 -0.765668 -0.100516 19.5541 -9.065 -0.733932 -0.13213 19.2956 -9.07 -0.705367 -0.16316 19.0406 -9.075 -0.679792 -0.193654 18.789 -9.08 -0.657025 -0.223672 18.5409 -9.085 -0.636884 -0.253289 18.2961 -9.09 -0.619187 -0.282591 18.0547 -9.095 -0.60375 -0.311679 17.8165 -9.1 -0.59039 -0.340667 17.5815 -9.105 -0.578938 -0.369666 17.3497 -9.11 -0.569369 -0.398698 17.121 -9.115 -0.56164 -0.427796 16.8954 -9.12 -0.555695 -0.457011 16.6728 -9.125 -0.551479 -0.486399 16.4533 -9.13 -0.548939 -0.516023 16.2367 -9.135 -0.548019 -0.545952 16.0231 -9.14 -0.548664 -0.576263 15.8124 -9.145 -0.550821 -0.607039 15.6046 -9.15 -0.554435 -0.638367 15.3997 -9.155 -0.559454 -0.670343 15.1975 -9.16 -0.565822 -0.703069 14.9982 -9.165 -0.573488 -0.736653 14.8016 -9.17 -0.582397 -0.77121 14.6077 -9.175 -0.592501 -0.806858 14.4165 -9.18 -0.603818 -0.843675 14.228 -9.185 -0.616375 -0.881725 14.0422 -9.19 -0.63019 -0.921085 13.859 -9.195 -0.645281 -0.96184 13.6784 -9.2 -0.661668 -1.00408 13.5005 -9.205 -0.679373 -1.0479 13.3251 -9.21 -0.698419 -1.09342 13.1522 -9.215 -0.718831 -1.14073 12.982 -9.22 -0.740634 -1.18996 12.8142 -9.225 -0.763858 -1.24124 12.649 -9.23 -0.788532 -1.2947 12.4864 -9.235 -0.814687 -1.35048 12.3263 -9.24 -0.842355 -1.40873 12.1687 -9.245 -0.871571 -1.4696 12.0136 -9.25 -0.902371 -1.53326 11.8611 -9.255 -0.934794 -1.59986 11.7112 -9.26 -0.968949 -1.66956 11.5638 -9.265 -1.00494 -1.74248 11.4191 -9.27 -1.04283 -1.8188 11.277 -9.275 -1.08268 -1.8987 11.1376 -9.28 -1.12457 -1.98238 11.0007 -9.285 -1.16859 -2.07003 10.8666 -9.29 -1.21483 -2.16186 10.7352 -9.295 -1.26339 -2.25811 10.6066 -9.3 -1.31437 -2.35899 10.4808 -9.305 -1.36789 -2.46477 10.3579 -9.31 -1.42407 -2.57568 10.2381 -9.315 -1.48304 -2.69201 10.1214 -9.32 -1.54494 -2.81401 10.0079 -9.325 -1.6099 -2.94198 9.8978 -9.33 -1.67809 -3.07622 9.79121 -9.335 -1.74966 -3.21703 9.68828 -9.34 -1.82478 -3.36473 9.58918 -9.345 -1.90362 -3.51964 9.49408 -9.35 -1.98637 -3.68211 9.40318 -9.355 -2.07321 -3.85249 9.31666 -9.36 -2.16435 -4.03103 9.23481 -9.365 -2.2601 -4.21733 9.15847 -9.37 -2.36066 -4.41195 9.08781 -9.375 -2.46623 -4.61568 9.02291 -9.38 -2.57701 -4.82925 8.96391 -9.385 -2.69323 -5.05336 8.91105 -9.39 -2.8151 -5.28868 8.86468 -9.395 -2.94288 -5.5358 8.82521 -9.4 -3.07679 -5.7953 8.79314 -9.405 -3.21711 -6.06769 8.76908 -9.41 -3.3641 -6.35345 8.7537 -9.415 -3.51803 -6.65302 8.74777 -9.42 -3.67921 -6.96677 8.75215 -9.425 -3.84792 -7.29505 8.76779 -9.43 -4.02448 -7.63816 8.79572 -9.435 -4.20921 -7.99635 8.83707 -9.44 -4.40244 -8.36983 8.89304 -9.445 -4.60452 -8.75877 8.96493 -9.45 -4.81578 -9.16328 9.05412 -9.455 -5.03661 -9.58344 9.16209 -9.46 -5.26737 -10.0193 9.29041 -9.465 -5.50844 -10.4708 9.44071 -9.47 -5.76021 -10.9379 9.61473 -9.475 -6.0231 -11.4205 9.81431 -9.48 -6.29752 -11.9185 10.0414 -9.485 -6.58388 -12.4316 10.2978 -9.49 -6.88141 -12.9584 10.5846 -9.495 -7.18988 -13.4979 10.904 -9.5 -7.50978 -14.0492 11.2598 -9.505 -7.84139 -14.6111 11.6552 -9.51 -8.1848 -15.182 12.0933 -9.515 -8.53991 -15.7596 12.5766 -9.52 -8.90641 -16.341 13.1076 -9.525 -9.28383 -16.923 13.6885 -9.53 -9.67147 -17.5017 14.321 -9.535 -10.0685 -18.0729 15.0067 -9.54 -10.4737 -18.6317 15.7469 -9.545 -10.886 -19.1728 16.5423 -9.55 -11.3038 -19.6901 17.3938 -9.555 -11.7255 -20.1775 18.3017 -9.56 -12.1493 -20.6278 19.266 -9.565 -12.573 -21.0338 20.2865 -9.57 -12.9945 -21.3875 21.3626 -9.575 -13.4117 -21.6821 22.4934 -9.58 -13.8221 -21.9123 23.6737 -9.585 -14.2219 -22.068 24.8954 -9.59 -14.6073 -22.1403 26.1498 -9.595 -14.9745 -22.122 27.4276 -9.6 -15.32 -22.0072 28.7194 -9.605 -15.6402 -21.7916 30.015 -9.61 -15.9316 -21.4725 31.304 -9.615 -16.1909 -21.0487 32.5756 -9.62 -16.4147 -20.5205 33.8183 -9.625 -16.5999 -19.8897 35.0204 -9.63 -16.7434 -19.1597 36.1697 -9.635 -16.8422 -18.3352 37.2534 -9.64 -16.8933 -17.4227 38.2585 -9.645 -16.8949 -16.4249 39.1672 -9.65 -16.8465 -15.3564 39.9714 -9.655 -16.7478 -14.2362 40.6689 -9.66 -16.5991 -13.0816 41.2585 -9.665 -16.4012 -11.9084 41.7396 -9.67 -16.1555 -10.7304 42.1126 -9.675 -15.8639 -9.56004 42.3786 -9.68 -15.5288 -8.40803 42.5398 -9.685 -15.153 -7.28337 42.5988 -9.69 -14.74 -6.19342 42.5595 -9.695 -14.2938 -5.14388 42.4265 -9.7 -13.8189 -4.13878 42.2049 -9.705 -13.3203 -3.18051 41.9012 -9.71 -12.8028 -2.27248 41.5241 -9.715 -12.2679 -1.42859 41.0899 -9.72 -11.7196 -0.651982 40.6084 -9.725 -11.162 0.0567876 40.0879 -9.73 -10.5988 0.698072 39.536 -9.735 -10.0336 1.27312 38.9602 -9.74 -9.46956 1.7841 38.3671 -9.745 -8.9096 2.23406 37.7634 -9.75 -8.35634 2.62696 37.1548 -9.755 -7.81211 2.96767 36.547 -9.76 -7.27894 3.26194 35.9449 -9.765 -6.75862 3.51343 35.3508 -9.77 -6.25248 3.72499 34.7659 -9.775 -5.76155 3.9006 34.1918 -9.78 -5.2867 4.04404 33.6298 -9.785 -4.82863 4.15892 33.0812 -9.79 -4.38786 4.24865 32.5466 -9.795 -3.96474 4.31645 32.0267 -9.8 -3.55946 4.36535 31.5216 -9.805 -3.17203 4.39819 31.0312 -9.81 -2.80229 4.41764 30.5551 -9.815 -2.44995 4.42616 30.0928 -9.82 -2.11466 4.42583 29.6443 -9.825 -1.79591 4.41825 29.2091 -9.83 -1.49317 4.40489 28.7865 -9.835 -1.20589 4.38712 28.3759 -9.84 -0.933494 4.36622 27.9768 -9.845 -0.675405 4.34336 27.5888 -9.85 -0.431023 4.31962 27.2112 -9.855 -0.199731 4.29597 26.8438 -9.86 0.0190988 4.27331 26.4859 -9.865 0.226114 4.2524 26.1373 -9.87 0.421977 4.23393 25.7976 -9.875 0.607365 4.21849 25.4664 -9.88 0.78297 4.20656 25.1433 -9.885 0.949503 4.19852 24.8282 -9.89 1.10769 4.19466 24.5207 -9.895 1.25828 4.19519 24.2205 -9.9 1.40194 4.20027 23.9273 -9.905 1.53913 4.21014 23.641 -9.91 1.67029 4.225 23.3613 -9.915 1.79587 4.24501 23.0882 -9.92 1.91632 4.27034 22.8216 -9.925 2.0321 4.30114 22.5613 -9.93 2.14367 4.33751 22.3074 -9.935 2.2515 4.37958 22.0597 -9.94 2.35606 4.42741 21.8182 -9.945 2.45784 4.48106 21.5828 -9.95 2.55732 4.54059 21.3535 -9.955 2.65499 4.60602 21.1302 -9.96 2.75134 4.67735 20.9129 -9.965 2.84688 4.75457 20.7016 -9.97 2.94201 4.83767 20.4964 -9.975 3.03687 4.92676 20.2973 -9.98 3.13169 5.02195 20.1046 -9.985 3.2267 5.12335 19.9183 -9.99 3.32215 5.23106 19.7386 -9.995 3.41826 5.34515 19.5656 -10 3.5153 5.46571 19.3995 -10.005 3.61351 5.59279 19.2405 -10.01 3.71315 5.72645 19.0887 -10.015 3.81449 5.86673 18.9444 -10.02 3.9178 6.01367 18.8078 -10.025 4.02335 6.16729 18.679 -10.03 4.13141 6.32759 18.5583 -10.035 4.24229 6.49458 18.446 -10.04 4.35626 6.66825 18.3422 -10.045 4.47351 6.84851 18.2474 -10.05 4.59414 7.03543 18.1619 -10.055 4.71828 7.22918 18.086 -10.06 4.84605 7.42987 18.0203 -10.065 4.97757 7.63756 17.9652 -10.07 5.11295 7.85226 17.9212 -10.075 5.25232 8.07394 17.8887 -10.08 5.39578 8.30252 17.8683 -10.085 5.54343 8.53785 17.8605 -10.09 5.69537 8.77976 17.8658 -10.095 5.8517 9.02801 17.8847 -10.1 6.01251 9.28232 17.9179 -10.105 6.1779 9.54235 17.9658 -10.11 6.34794 9.80772 18.0291 -10.115 6.52271 10.078 18.1084 -10.12 6.7023 10.3527 18.2043 -10.125 6.88676 10.6313 18.3174 -10.13 7.07617 10.9132 18.4484 -10.135 7.27 11.1983 18.5966 -10.14 7.46799 11.4857 18.7628 -10.145 7.67015 11.7745 18.9482 -10.15 7.8764 12.0635 19.154 -10.155 8.08665 12.3515 19.3813 -10.16 8.30068 12.6373 19.6308 -10.165 8.51824 12.9195 19.9031 -10.17 8.73902 13.1967 20.1987 -10.175 8.9626 13.4674 20.5178 -10.18 9.18855 13.7301 20.8606 -10.185 9.41632 13.9832 21.2267 -10.19 9.64533 14.2251 21.6161 -10.195 9.87491 14.4539 22.0282 -10.2 10.1043 14.6679 22.4622 -10.205 10.3328 14.8653 22.9175 -10.21 10.5595 15.044 23.3928 -10.215 10.7834 15.2021 23.8871 -10.22 11.0036 15.3375 24.3988 -10.225 11.219 15.4481 24.9265 -10.23 11.4285 15.5316 25.4683 -10.235 11.6308 15.5858 26.0223 -10.24 11.8247 15.6084 26.5864 -10.245 12.0095 15.597 27.1588 -10.25 12.1846 15.5507 27.7377 -10.255 12.3486 15.4692 28.3187 -10.26 12.4999 15.3526 28.8975 -10.265 12.6372 15.2012 29.4701 -10.27 12.7593 15.0154 30.0327 -10.275 12.8651 14.7958 30.5817 -10.28 12.9538 14.5433 31.1138 -10.285 13.0244 14.2589 31.6258 -10.29 13.0764 13.9439 32.1149 -10.295 13.1093 13.5998 32.5784 -10.3 13.1228 13.2281 33.0138 -10.305 13.1165 12.8308 33.4189 -10.31 13.0904 12.4099 33.7916 -10.315 13.0446 11.9676 34.1303 -10.32 12.9792 11.5064 34.4334 -10.325 12.8947 11.029 34.6995 -10.33 12.7914 10.5382 34.9274 -10.335 12.6689 10.0399 35.1153 -10.34 12.5277 9.53852 35.2628 -10.345 12.3689 9.0374 35.3705 -10.35 12.1937 8.53965 35.4392 -10.355 12.0031 8.04812 35.4697 -10.36 11.7983 7.56548 35.4632 -10.365 11.5804 7.09415 35.4211 -10.37 11.3507 6.63635 35.3446 -10.375 11.1104 6.19407 35.2356 -10.38 10.8607 5.76908 35.0958 -10.385 10.6028 5.36295 34.9272 -10.39 10.3381 4.97701 34.732 -10.395 10.0678 4.61238 34.5126 -10.4 9.7932 4.26995 34.2716 -10.405 9.51573 3.95041 34.0115 -10.41 9.23672 3.65421 33.7355 -10.415 8.95755 3.3816 33.4465 -10.42 8.67947 3.13139 33.1464 -10.425 8.40343 2.90225 32.836 -10.43 8.13027 2.69379 32.5168 -10.435 7.86081 2.50554 32.1901 -10.44 7.59578 2.33693 31.8572 -10.445 7.33587 2.18734 31.5192 -10.45 7.08171 2.05608 31.1774 -10.455 6.83387 1.94236 30.8327 -10.46 6.59286 1.84533 30.4862 -10.465 6.35912 1.76407 30.1388 -10.47 6.13306 1.69758 29.7913 -10.475 5.91501 1.64477 29.4445 -10.48 5.70524 1.60449 29.0991 -10.485 5.50397 1.57553 28.7558 -10.49 5.31137 1.55656 28.4151 -10.495 5.12753 1.54623 28.0775 -10.5 4.9525 1.54307 27.7435 -10.505 4.78624 1.54592 27.4133 -10.51 4.62847 1.55577 27.0865 -10.515 4.47905 1.57236 26.7632 -10.52 4.33787 1.59516 26.4434 -10.525 4.2048 1.6237 26.1273 -10.53 4.07971 1.65751 25.815 -10.535 3.96245 1.69617 25.5065 -10.54 3.85289 1.73932 25.2019 -10.545 3.75087 1.7866 24.9013 -10.55 3.65624 1.83771 24.6047 -10.555 3.56882 1.89239 24.3122 -10.56 3.48844 1.95039 24.0239 -10.565 3.41492 2.01154 23.7396 -10.57 3.34809 2.07567 23.4595 -10.575 3.28773 2.14267 23.1836 -10.58 3.23366 2.21245 22.9118 -10.585 3.18566 2.28497 22.6442 -10.59 3.14346 2.36023 22.3808 -10.595 3.10687 2.43822 22.1217 -10.6 3.07581 2.51889 21.8668 -10.605 3.05021 2.60222 21.6162 -10.61 3.02998 2.68819 21.3699 -10.615 3.01504 2.77681 21.1279 -10.62 3.0053 2.86813 20.8903 -10.625 3.00069 2.96219 20.6571 -10.63 3.0011 3.05907 20.4284 -10.635 3.00644 3.15885 20.2042 -10.64 3.01663 3.26165 19.9846 -10.645 3.03155 3.3676 19.7696 -10.65 3.05112 3.47685 19.5594 -10.655 3.07523 3.58957 19.3541 -10.66 3.10377 3.70595 19.1537 -10.665 3.13664 3.8262 18.9583 -10.67 3.17374 3.95056 18.7682 -10.675 3.21494 4.07927 18.5833 -10.68 3.26029 4.21243 18.4038 -10.685 3.30996 4.35011 18.23 -10.69 3.36398 4.49248 18.0619 -10.695 3.42241 4.63973 17.8998 -10.7 3.48531 4.79205 17.7437 -10.705 3.55273 4.94961 17.5938 -10.71 3.62472 5.1126 17.4505 -10.715 3.70134 5.28121 17.3138 -10.72 3.78266 5.45561 17.1842 -10.725 3.86872 5.63598 17.0619 -10.73 3.95959 5.82251 16.9472 -10.735 4.05533 6.01538 16.8405 -10.74 4.156 6.21475 16.742 -10.745 4.26168 6.42082 16.6523 -10.75 4.37242 6.63376 16.5716 -10.755 4.48828 6.85375 16.5005 -10.76 4.60935 7.08096 16.4394 -10.765 4.73569 7.31556 16.3887 -10.77 4.86721 7.55702 16.3486 -10.775 5.00398 7.80506 16.3197 -10.78 5.14626 8.06015 16.3027 -10.785 5.29424 8.32264 16.2984 -10.79 5.44811 8.59274 16.3075 -10.795 5.60802 8.87058 16.3309 -10.8 5.77407 9.15616 16.3694 -10.805 5.94635 9.44936 16.4236 -10.81 6.12492 9.74998 16.4945 -10.815 6.30977 10.0577 16.5827 -10.82 6.50091 10.372 16.6891 -10.825 6.69827 10.6923 16.8145 -10.83 6.90178 11.0181 16.9595 -10.835 7.11133 11.3484 17.1251 -10.84 7.32676 11.6825 17.3119 -10.845 7.5479 12.0192 17.5207 -10.85 7.77454 12.3575 17.7523 -10.855 8.00644 12.6961 18.0075 -10.86 8.24331 13.0336 18.287 -10.865 8.48484 13.3687 18.5917 -10.87 8.73071 13.6997 18.9222 -10.875 8.98053 14.0249 19.2793 -10.88 9.23389 14.3425 19.6639 -10.885 9.49036 14.6506 20.0766 -10.89 9.74939 14.9477 20.5177 -10.895 10.0101 15.2324 20.986 -10.9 10.2715 15.5013 21.4814 -10.905 10.5326 15.7512 22.0035 -10.91 10.7925 15.9787 22.5513 -10.915 11.0501 16.181 23.1239 -10.92 11.3042 16.3552 23.7197 -10.925 11.5537 16.4987 24.3371 -10.93 11.7973 16.6091 24.9738 -10.935 12.0337 16.6842 25.6275 -10.94 12.2616 16.722 26.2953 -10.945 12.4795 16.7206 26.9742 -10.95 12.6859 16.6784 27.6606 -10.955 12.8795 16.5941 28.3509 -10.96 13.0585 16.4662 29.0408 -10.965 13.2214 16.2937 29.7259 -10.97 13.3664 16.0759 30.4014 -10.975 13.4926 15.8095 31.0629 -10.98 13.5992 15.4946 31.7056 -10.985 13.6848 15.1357 32.3245 -10.99 13.7481 14.7374 32.9149 -10.995 13.7882 14.304 33.4726 -11 13.8044 13.8396 33.9941 -11.005 13.796 13.3481 34.4759 -11.01 13.7629 12.8334 34.9153 -11.015 13.705 12.299 35.3101 -11.02 13.6226 11.7482 35.6584 -11.025 13.516 11.1845 35.9587 -11.03 13.386 10.6106 36.2103 -11.035 13.2334 10.0296 36.4126 -11.04 13.0594 9.444 36.5657 -11.045 12.8654 8.85636 36.6701 -11.05 12.6531 8.26895 36.7267 -11.055 12.4242 7.68412 36.7369 -11.06 12.1785 7.11069 36.7031 -11.065 11.9171 6.55455 36.6275 -11.07 11.6418 6.01833 36.5123 -11.075 11.3544 5.50433 36.3598 -11.08 11.0568 5.01452 36.1723 -11.085 10.7507 4.5505 35.9525 -11.09 10.4377 4.11352 35.7029 -11.095 10.1194 3.7045 35.4265 -11.1 9.79751 3.324 35.1263 -11.105 9.47339 2.97223 34.8052 -11.11 9.14851 2.64907 34.4666 -11.115 8.82428 2.35404 34.1137 -11.12 8.50201 2.0863 33.7502 -11.125 8.18297 1.84469 33.3796 -11.13 7.8684 1.62771 33.0055 -11.135 7.55936 1.43413 32.6272 -11.14 7.25662 1.26279 32.2448 -11.145 6.96083 1.11248 31.8598 -11.15 6.67258 0.98196 31.4733 -11.155 6.39239 0.870023 31.0864 -11.16 6.12073 0.775449 30.7 -11.165 5.85799 0.697023 30.315 -11.17 5.60451 0.633533 29.9321 -11.175 5.36056 0.58377 29.5519 -11.18 5.12634 0.546525 29.175 -11.185 4.902 0.520594 28.8017 -11.19 4.68762 0.504774 28.4325 -11.195 4.4832 0.497864 28.0674 -11.2 4.28871 0.498666 27.7066 -11.205 4.10402 0.506134 27.3501 -11.21 3.92888 0.52008 26.9982 -11.215 3.76311 0.539952 26.6508 -11.22 3.6065 0.565144 26.3079 -11.225 3.45884 0.595091 25.9697 -11.23 3.31993 0.629275 25.636 -11.235 3.18953 0.667222 25.3069 -11.24 3.06742 0.708506 24.9823 -11.245 2.95338 0.752741 24.6622 -11.25 2.84715 0.79959 24.3467 -11.255 2.74848 0.848759 24.0356 -11.26 2.65713 0.900001 23.7289 -11.265 2.57282 0.953111 23.4267 -11.27 2.49528 1.00793 23.1287 -11.275 2.42424 1.06435 22.835 -11.28 2.35942 1.1223 22.5456 -11.285 2.3005 1.18174 22.2603 -11.29 2.24721 1.24263 21.9792 -11.295 2.19942 1.30489 21.7021 -11.3 2.15698 1.36848 21.4292 -11.305 2.11975 1.43337 21.1602 -11.31 2.08758 1.49956 20.8953 -11.315 2.06032 1.56705 20.6344 -11.32 2.03784 1.63589 20.3774 -11.325 2.01997 1.70613 20.1243 -11.33 2.00658 1.77785 19.8752 -11.335 1.9975 1.85114 19.6301 -11.34 1.99259 1.92612 19.3888 -11.345 1.99168 2.00293 19.1515 -11.35 1.99461 2.08173 18.918 -11.355 2.00124 2.1627 18.6886 -11.36 2.0114 2.24603 18.463 -11.365 2.02496 2.33192 18.2414 -11.37 2.04199 2.42043 18.0238 -11.375 2.06251 2.51169 17.8103 -11.38 2.08652 2.60582 17.6008 -11.385 2.11403 2.70297 17.3954 -11.39 2.14503 2.80332 17.1941 -11.395 2.17955 2.90703 16.9971 -11.4 2.21759 3.01428 16.8043 -11.405 2.25916 3.12527 16.6158 -11.41 2.30429 3.24021 16.4318 -11.415 2.35299 3.35932 16.2523 -11.42 2.40529 3.48283 16.0774 -11.425 2.46121 3.61098 15.9073 -11.43 2.52078 3.74402 15.7421 -11.435 2.58403 3.88222 15.5819 -11.44 2.65099 4.02586 15.4269 -11.445 2.72172 4.1752 15.2773 -11.45 2.79636 4.33031 15.1334 -11.455 2.87507 4.49148 14.9953 -11.46 2.95795 4.65902 14.8631 -11.465 3.04514 4.83323 14.7372 -11.47 3.13676 5.01442 14.6177 -11.475 3.23295 5.20287 14.505 -11.48 3.33385 5.39885 14.3993 -11.485 3.43959 5.60264 14.301 -11.49 3.55031 5.81448 14.2105 -11.495 3.66618 6.03462 14.1282 -11.5 3.78734 6.2633 14.0547 -11.505 3.91394 6.50074 13.9903 -11.51 4.04616 6.74715 13.9357 -11.515 4.18415 7.00273 13.8914 -11.52 4.32808 7.26768 13.8581 -11.525 4.47813 7.54219 13.8364 -11.53 4.63447 7.82641 13.827 -11.535 4.79729 8.12052 13.8307 -11.54 4.96676 8.42466 13.8481 -11.545 5.14307 8.73896 13.8802 -11.55 5.32623 9.06294 13.9275 -11.555 5.5164 9.39663 13.9911 -11.56 5.71383 9.74018 14.0723 -11.565 5.91872 10.0936 14.1721 -11.57 6.1312 10.4567 14.2918 -11.575 6.35138 10.8291 14.4326 -11.58 6.57931 11.2104 14.5956 -11.585 6.81499 11.5998 14.7822 -11.59 7.05838 11.9964 14.9935 -11.595 7.30938 12.3993 15.2307 -11.6 7.56786 12.8073 15.495 -11.605 7.83362 13.2188 15.7877 -11.61 8.10644 13.6326 16.11 -11.615 8.38603 14.0467 16.4632 -11.62 8.67206 14.4593 16.8483 -11.625 8.96416 14.8684 17.2668 -11.63 9.26189 15.2717 17.7198 -11.635 9.5647 15.6675 18.2081 -11.64 9.87166 16.0548 18.731 -11.645 10.1819 16.429 19.2895 -11.65 10.4946 16.7854 19.8842 -11.655 10.8086 17.1194 20.5153 -11.66 11.1228 17.4267 21.1824 -11.665 11.4359 17.7032 21.8843 -11.67 11.7466 17.945 22.6196 -11.675 12.0532 18.1483 23.3862 -11.68 12.3542 18.3097 24.1814 -11.685 12.6478 18.4258 25.0021 -11.69 12.9322 18.4935 25.8446 -11.695 13.2053 18.5098 26.7045 -11.7 13.465 18.4721 27.5771 -11.705 13.7091 18.3778 28.457 -11.71 13.9353 18.2246 29.3382 -11.715 14.1411 18.0103 30.2144 -11.72 14.3239 17.7331 31.0785 -11.725 14.4826 17.3878 31.9244 -11.73 14.6161 16.976 32.745 -11.735 14.7223 16.5044 33.5329 -11.74 14.7993 15.9796 34.281 -11.745 14.8459 15.4078 34.9833 -11.75 14.861 14.795 35.6344 -11.755 14.8439 14.1468 36.2298 -11.76 14.7942 13.4686 36.7656 -11.765 14.7121 12.7654 37.2389 -11.77 14.5979 12.0421 37.6474 -11.775 14.4524 11.3032 37.9895 -11.78 14.2768 10.5528 38.2645 -11.785 14.0725 9.79498 38.4725 -11.79 13.8414 9.03335 38.6142 -11.795 13.5857 8.27126 38.6913 -11.8 13.3073 7.51368 38.706 -11.805 13.0061 6.77497 38.6613 -11.81 12.684 6.06124 38.5606 -11.815 12.3436 5.37637 38.4074 -11.82 11.9874 4.72369 38.2055 -11.825 11.6179 4.1059 37.9588 -11.83 11.2374 3.52512 37.6715 -11.835 10.8482 2.98291 37.3478 -11.84 10.4525 2.48019 36.9923 -11.845 10.0525 2.01735 36.6096 -11.85 9.65021 1.59414 36.2047 -11.855 9.24767 1.20974 35.7827 -11.86 8.84683 0.862753 35.3487 -11.865 8.44955 0.551175 34.9084 -11.87 8.05749 0.273071 34.4631 -11.875 7.67189 0.0267564 34.0128 -11.88 7.29384 -0.189663 33.5595 -11.885 6.92432 -0.378087 33.105 -11.89 6.56418 -0.540417 32.651 -11.895 6.21418 -0.678562 32.1988 -11.9 5.87498 -0.794432 31.7498 -11.905 5.5471 -0.889945 31.305 -11.91 5.23097 -0.967018 30.8651 -11.915 4.9269 -1.02758 30.431 -11.92 4.63512 -1.07355 30.003 -11.925 4.35569 -1.10687 29.5813 -11.93 4.08862 -1.12948 29.1662 -11.935 3.8338 -1.14287 28.7576 -11.94 3.59101 -1.14761 28.3557 -11.945 3.36003 -1.14475 27.9604 -11.95 3.14059 -1.13535 27.5717 -11.955 2.9324 -1.12034 27.1895 -11.96 2.73517 -1.10062 26.8137 -11.965 2.54858 -1.07701 26.4442 -11.97 2.37232 -1.05023 26.0808 -11.975 2.20603 -1.02096 25.7235 -11.98 2.04934 -0.989791 25.3721 -11.985 1.9019 -0.957247 25.0265 -11.99 1.76329 -0.923774 24.6865 -11.995 1.63311 -0.889749 24.3519 -12 1.51095 -0.855475 24.0226 -12.005 1.39633 -0.821214 23.6983 -12.01 1.28886 -0.787231 23.3791 -12.015 1.18822 -0.753745 23.0646 -12.02 1.0941 -0.720948 22.7549 -12.025 1.00619 -0.689007 22.4499 -12.03 0.924155 -0.658064 22.1493 -12.035 0.847688 -0.628238 21.8531 -12.04 0.776468 -0.599621 21.5612 -12.045 0.710176 -0.572281 21.2736 -12.05 0.648493 -0.546261 20.99 -12.055 0.591098 -0.521579 20.7104 -12.06 0.53767 -0.498229 20.4347 -12.065 0.487888 -0.47618 20.1628 -12.07 0.441433 -0.455377 19.8947 -12.075 0.398091 -0.435824 19.6303 -12.08 0.357713 -0.417546 19.3694 -12.085 0.320139 -0.400552 19.1122 -12.09 0.285208 -0.384843 18.8585 -12.095 0.252759 -0.370411 18.6082 -12.1 0.222629 -0.357241 18.3613 -12.105 0.194656 -0.345309 18.1178 -12.11 0.168677 -0.334584 17.8775 -12.115 0.144527 -0.325028 17.6405 -12.12 0.122041 -0.316592 17.4067 -12.125 0.101054 -0.309223 17.176 -12.13 0.0813986 -0.302857 16.9484 -12.135 0.062909 -0.297423 16.7238 -12.14 0.0454406 -0.292862 16.5022 -12.145 0.0289528 -0.289193 16.2836 -12.15 0.01339 -0.286417 16.0679 -12.155 -0.00130858 -0.284531 15.8551 -12.16 -0.015206 -0.283531 15.6451 -12.165 -0.0283669 -0.283408 15.4379 -12.17 -0.0408579 -0.284152 15.2335 -12.175 -0.0527475 -0.285749 15.0318 -12.18 -0.0641062 -0.288183 14.8328 -12.185 -0.0750061 -0.291437 14.6364 -12.19 -0.0855215 -0.295489 14.4427 -12.195 -0.0957282 -0.300316 14.2516 -12.2 -0.105704 -0.305891 14.063 -12.205 -0.115529 -0.312187 13.8769 -12.21 -0.125279 -0.319179 13.6933 -12.215 -0.134964 -0.326897 13.5121 -12.22 -0.144599 -0.335373 13.3334 -12.225 -0.154208 -0.344626 13.157 -12.23 -0.163817 -0.354679 12.983 -12.235 -0.173454 -0.365553 12.8114 -12.24 -0.183151 -0.377271 12.642 -12.245 -0.192941 -0.389853 12.4749 -12.25 -0.202859 -0.403322 12.3101 -12.255 -0.212943 -0.417699 12.1475 -12.26 -0.223234 -0.433007 11.987 -12.265 -0.233773 -0.449267 11.8288 -12.27 -0.244607 -0.466502 11.6727 -12.275 -0.255783 -0.484733 11.5187 -12.28 -0.267349 -0.503983 11.3667 -12.285 -0.279359 -0.524273 11.2169 -12.29 -0.291851 -0.545649 11.0691 -12.295 -0.304842 -0.568179 10.9233 -12.3 -0.318351 -0.591924 10.7795 -12.305 -0.332399 -0.616946 10.6377 -12.31 -0.347013 -0.643312 10.4979 -12.315 -0.362224 -0.671091 10.36 -12.32 -0.378066 -0.700356 10.224 -12.325 -0.394576 -0.731183 10.09 -12.33 -0.411797 -0.763648 9.95785 -12.335 -0.429774 -0.797833 9.82759 -12.34 -0.448557 -0.833822 9.69919 -12.345 -0.468199 -0.871703 9.57267 -12.35 -0.488757 -0.911564 9.448 -12.355 -0.510293 -0.953499 9.32518 -12.36 -0.53287 -0.997603 9.2042 -12.365 -0.556558 -1.04398 9.08506 -12.37 -0.58143 -1.09272 8.96775 -12.375 -0.607561 -1.14393 8.85228 -12.38 -0.635037 -1.19773 8.73866 -12.385 -0.663957 -1.25426 8.62693 -12.39 -0.694366 -1.31369 8.51709 -12.395 -0.72631 -1.37616 8.40912 -12.4 -0.759844 -1.44187 8.30303 -12.405 -0.795032 -1.511 8.19882 -12.41 -0.831947 -1.58373 8.0965 -12.415 -0.870673 -1.66028 7.99611 -12.42 -0.911299 -1.74086 7.89767 -12.425 -0.953928 -1.82569 7.80124 -12.43 -0.998667 -1.915 7.70686 -12.435 -1.04564 -2.00903 7.61461 -12.44 -1.09496 -2.10805 7.52456 -12.445 -1.14679 -2.2123 7.43678 -12.45 -1.20125 -2.32207 7.35138 -12.455 -1.25851 -2.43762 7.26845 -12.46 -1.31873 -2.55926 7.18811 -12.465 -1.38208 -2.68728 7.11048 -12.47 -1.44875 -2.82199 7.03569 -12.475 -1.51892 -2.96372 6.96388 -12.48 -1.5928 -3.11278 6.89521 -12.485 -1.6706 -3.26952 6.82982 -12.49 -1.75254 -3.43428 6.76789 -12.495 -1.83884 -3.60711 6.71004 -12.5 -1.92974 -3.78819 6.65684 -12.505 -2.02542 -3.97828 6.60825 -12.51 -2.12609 -4.17813 6.5643 -12.515 -2.23199 -4.38846 6.52512 -12.52 -2.34336 -4.60997 6.49095 -12.525 -2.46044 -4.84331 6.4621 -12.53 -2.58352 -5.08914 6.43898 -12.535 -2.71287 -5.34807 6.42209 -12.54 -2.8488 -5.62068 6.41205 -12.545 -2.99163 -5.90755 6.40954 -12.55 -3.14168 -6.20921 6.41535 -12.555 -3.2993 -6.52617 6.43036 -12.56 -3.46486 -6.85892 6.45554 -12.565 -3.63872 -7.20793 6.49196 -12.57 -3.82127 -7.57362 6.54078 -12.575 -4.01293 -7.95642 6.60325 -12.58 -4.21411 -8.35669 6.68073 -12.585 -4.42524 -8.77481 6.77464 -12.59 -4.64678 -9.2111 6.88654 -12.595 -4.87919 -9.66587 7.01804 -12.6 -5.12295 -10.1394 7.17087 -12.605 -5.37855 -10.632 7.34684 -12.61 -5.64651 -11.1438 7.54786 -12.615 -5.92734 -11.675 7.77593 -12.62 -6.22056 -12.2243 8.03253 -12.625 -6.52621 -12.791 8.32046 -12.63 -6.845 -13.3755 8.64325 -12.635 -7.17741 -13.9775 9.0043 -12.64 -7.52378 -14.5959 9.4069 -12.645 -7.88424 -15.2292 9.85423 -12.65 -8.25876 -15.8751 10.3493 -12.655 -8.64709 -16.5309 10.8951 -12.66 -9.04883 -17.193 11.4944 -12.665 -9.46339 -17.8573 12.1499 -12.67 -9.88998 -18.5193 12.8641 -12.675 -10.3276 -19.1735 13.6396 -12.68 -10.7752 -19.814 14.4785 -12.685 -11.2314 -20.4342 15.3832 -12.69 -11.6947 -21.0269 16.3558 -12.695 -12.1634 -21.5844 17.3981 -12.7 -12.6355 -22.0983 18.5119 -12.705 -13.1091 -22.5637 19.6955 -12.71 -13.5808 -22.9692 20.9446 -12.715 -14.047 -23.3017 22.2546 -12.72 -14.5042 -23.5492 23.6196 -12.725 -14.9485 -23.7016 25.032 -12.73 -15.3759 -23.7499 26.4832 -12.735 -15.7823 -23.6867 27.9631 -12.74 -16.1634 -23.5061 29.4603 -12.745 -16.5148 -23.2036 30.9619 -12.75 -16.832 -22.7762 32.4537 -12.755 -17.1103 -22.2223 33.9204 -12.76 -17.3448 -21.5417 35.3449 -12.765 -17.5308 -20.7354 36.7091 -12.77 -17.6653 -19.7967 37.9921 -12.775 -17.7459 -18.7407 39.179 -12.78 -17.7698 -17.5907 40.2589 -12.785 -17.7352 -16.3679 41.2226 -12.79 -17.6411 -15.0917 42.0628 -12.795 -17.4876 -13.7795 42.774 -12.8 -17.2754 -12.4466 43.3528 -12.805 -17.0061 -11.1065 43.7972 -12.81 -16.6825 -9.77051 44.1074 -12.815 -16.3078 -8.44819 44.2855 -12.82 -15.8865 -7.14701 44.335 -12.825 -15.4237 -5.8725 44.2618 -12.83 -14.9254 -4.62874 44.0733 -12.835 -14.3934 -3.44022 43.7836 -12.84 -13.8311 -2.32437 43.4066 -12.845 -13.2438 -1.28659 42.9539 -12.85 -12.6369 -0.330588 42.4368 -12.855 -12.0152 0.541626 41.8665 -12.86 -11.3834 1.32976 41.2538 -12.865 -10.7459 2.03522 40.6095 -12.87 -10.1069 2.66114 39.944 -12.875 -9.47026 3.21232 39.2675 -12.88 -8.83957 3.69489 38.5894 -12.885 -8.21785 4.1126 37.9132 -12.89 -7.60757 4.47022 37.2426 -12.895 -7.01091 4.77297 36.5814 -12.9 -6.42974 5.02595 35.9331 -12.905 -5.86564 5.23414 35.3002 -12.91 -5.31989 5.40242 34.6846 -12.915 -4.79347 5.53555 34.0879 -12.92 -4.28706 5.6382 33.5107 -12.925 -3.80103 5.71489 32.9532 -12.93 -3.33562 5.76988 32.4152 -12.935 -2.89102 5.8062 31.8969 -12.94 -2.46684 5.82663 31.3978 -12.945 -2.06264 5.83375 30.9169 -12.95 -1.67791 5.82997 30.4536 -12.955 -1.31214 5.8175 30.0071 -12.96 -0.96478 5.79839 29.5767 -12.965 -0.635233 5.77449 29.1617 -12.97 -0.322881 5.74746 28.7614 -12.975 -0.0270683 5.71879 28.3752 -12.98 0.252895 5.68979 28.0023 -12.985 0.517731 5.66155 27.6421 -12.99 0.768197 5.63503 27.2939 -12.995 1.00508 5.61096 26.9572 -13 1.22921 5.58991 26.6313 -13.005 1.44149 5.57229 26.3156 -13.01 1.64311 5.55874 26.0095 -13.015 1.83472 5.54965 25.7126 -13.02 2.01684 5.54532 25.4246 -13.025 2.19001 5.546 25.1454 -13.03 2.35478 5.55194 24.8747 -13.035 2.51171 5.56336 24.6123 -13.04 2.66137 5.58045 24.3579 -13.045 2.80434 5.60337 24.1115 -13.05 2.94122 5.63227 23.8727 -13.055 3.07262 5.66727 23.6415 -13.06 3.19916 5.70845 23.4177 -13.065 3.32146 5.75589 23.2012 -13.07 3.44017 5.80962 22.9918 -13.075 3.55594 5.86966 22.7895 -13.08 3.66944 5.936 22.5941 -13.085 3.78135 6.00862 22.4056 -13.09 3.89202 6.08738 22.224 -13.095 4.0015 6.17224 22.0496 -13.1 4.11005 6.26325 21.8826 -13.105 4.21793 6.36044 21.7231 -13.11 4.32539 6.46382 21.5712 -13.115 4.4327 6.57338 21.4272 -13.12 4.54012 6.6891 21.2912 -13.125 4.64793 6.81094 21.1633 -13.13 4.75638 6.93883 21.0437 -13.135 4.86575 7.07269 20.9327 -13.14 4.97632 7.21243 20.8304 -13.145 5.08836 7.35793 20.737 -13.15 5.20215 7.50906 20.6527 -13.155 5.31797 7.66565 20.5777 -13.16 5.4361 7.82755 20.5123 -13.165 5.5568 7.99454 20.4565 -13.17 5.68004 8.16647 20.4108 -13.175 5.8059 8.34328 20.3755 -13.18 5.93444 8.52485 20.3511 -13.185 6.06572 8.71106 20.3379 -13.19 6.19979 8.90171 20.3365 -13.195 6.3367 9.09654 20.3471 -13.2 6.47645 9.29528 20.3702 -13.205 6.61907 9.49758 20.4062 -13.21 6.76456 9.70304 20.4553 -13.215 6.91291 9.91123 20.5179 -13.22 7.0641 10.1217 20.5944 -13.225 7.21809 10.3338 20.6849 -13.23 7.37483 10.547 20.7899 -13.235 7.53428 10.7607 20.9095 -13.24 7.69636 10.9743 21.0441 -13.245 7.86099 11.1868 21.1937 -13.25 8.02808 11.3976 21.3588 -13.255 8.1975 11.6061 21.5393 -13.26 8.3688 11.8125 21.7349 -13.265 8.54165 12.0157 21.9458 -13.27 8.71573 12.2142 22.1722 -13.275 8.89069 12.4065 22.4145 -13.28 9.06615 12.5912 22.6726 -13.285 9.24172 12.767 22.9465 -13.29 9.41696 12.9325 23.2359 -13.295 9.5914 13.0866 23.5405 -13.3 9.76456 13.2279 23.8597 -13.305 9.93592 13.3555 24.1929 -13.31 10.1049 13.4683 24.5394 -13.315 10.271 13.5651 24.8982 -13.32 10.4335 13.6451 25.2683 -13.325 10.5919 13.7074 25.6485 -13.33 10.7455 13.751 26.0375 -13.335 10.8935 13.7753 26.4339 -13.34 11.0353 13.7794 26.8359 -13.345 11.17 13.7628 27.242 -13.35 11.2971 13.7247 27.6502 -13.355 11.4155 13.6645 28.0585 -13.36 11.5245 13.5819 28.4648 -13.365 11.6232 13.4763 28.8669 -13.37 11.7108 13.3472 29.2623 -13.375 11.7871 13.1911 29.6493 -13.38 11.8517 13.0085 30.026 -13.385 11.9042 12.8025 30.3902 -13.39 11.9441 12.576 30.7399 -13.395 11.971 12.3315 31.0733 -13.4 11.9847 12.0718 31.3886 -13.405 11.9848 11.7989 31.6844 -13.41 11.9715 11.5151 31.9594 -13.415 11.9445 11.2223 32.2124 -13.42 11.9041 10.9222 32.4425 -13.425 11.8503 10.6165 32.6488 -13.43 11.7834 10.3066 32.8307 -13.435 11.7037 9.99356 32.9878 -13.44 11.6117 9.67857 33.1198 -13.445 11.5078 9.36244 33.2266 -13.45 11.3927 9.04584 33.3083 -13.455 11.267 8.72926 33.3651 -13.46 11.1316 8.41301 33.3974 -13.465 10.9872 8.09723 33.4059 -13.47 10.8349 7.78185 33.3914 -13.475 10.6757 7.46664 33.3546 -13.48 10.5106 7.15132 33.2969 -13.485 10.339 6.84219 33.2187 -13.49 10.1608 6.54368 33.1208 -13.495 9.977 6.25667 33.0039 -13.5 9.7885 5.98195 32.8689 -13.505 9.59618 5.72017 32.7168 -13.51 9.4009 5.4719 32.5485 -13.515 9.20348 5.23757 32.365 -13.52 9.00469 5.01752 32.1676 -13.525 8.80529 4.81197 31.9571 -13.53 8.60598 4.62103 31.7349 -13.535 8.40744 4.4447 31.5022 -13.54 8.21032 4.28287 31.2601 -13.545 8.01523 4.13533 31.0101 -13.55 7.82274 4.00173 30.7535 -13.555 7.63338 3.88164 30.4917 -13.56 7.44767 3.7745 30.2261 -13.565 7.26607 3.67964 29.9582 -13.57 7.08903 3.5963 29.6897 -13.575 6.91696 3.52396 29.4203 -13.58 6.75016 3.46239 29.1492 -13.585 6.58883 3.41114 28.877 -13.59 6.43311 3.36977 28.6042 -13.595 6.28318 3.33786 28.3312 -13.6 6.13916 3.31498 28.0584 -13.605 6.00118 3.30073 27.7864 -13.61 5.86934 3.29468 27.5154 -13.615 5.74374 3.29644 27.2458 -13.62 5.62444 3.30562 26.978 -13.625 5.5115 3.32183 26.7122 -13.63 5.40497 3.3447 26.4487 -13.635 5.30487 3.37384 26.1877 -13.64 5.21121 3.4089 25.9295 -13.645 5.12398 3.44951 25.6741 -13.65 5.04317 3.49533 25.4219 -13.655 4.96872 3.54602 25.1729 -13.66 4.9006 3.60123 24.9271 -13.665 4.83861 3.66088 24.6848 -13.67 4.7825 3.72513 24.4462 -13.675 4.73224 3.79383 24.2113 -13.68 4.6878 3.86686 23.9804 -13.685 4.64914 3.94408 23.7535 -13.69 4.61622 4.02539 23.5306 -13.695 4.58899 4.1107 23.312 -13.7 4.5674 4.19995 23.0977 -13.705 4.5514 4.29306 22.8879 -13.71 4.54093 4.39001 22.6827 -13.715 4.53592 4.49077 22.4823 -13.72 4.53631 4.59533 22.2868 -13.725 4.54203 4.70371 22.0963 -13.73 4.553 4.81593 21.911 -13.735 4.56914 4.93203 21.731 -13.74 4.59036 5.05208 21.5566 -13.745 4.61658 5.17614 21.3879 -13.75 4.6477 5.30432 21.2251 -13.755 4.68363 5.43672 21.0684 -13.76 4.72426 5.57347 20.9179 -13.765 4.76949 5.71471 20.7739 -13.77 4.81921 5.86057 20.6366 -13.775 4.8734 6.01081 20.5061 -13.78 4.93215 6.16547 20.3828 -13.785 4.99554 6.32465 20.2668 -13.79 5.06365 6.48845 20.1585 -13.795 5.13654 6.65694 20.0581 -13.8 5.21426 6.83015 19.966 -13.805 5.29684 7.00811 19.8823 -13.81 5.38432 7.19081 19.8075 -13.815 5.4767 7.37823 19.7418 -13.82 5.57399 7.57032 19.6856 -13.825 5.67618 7.76699 19.6393 -13.83 5.78326 7.96817 19.6032 -13.835 5.89518 8.17371 19.5776 -13.84 6.01192 8.38349 19.5631 -13.845 6.13341 8.59733 19.56 -13.85 6.25959 8.81505 19.5687 -13.855 6.39039 9.03643 19.5897 -13.86 6.52571 9.26123 19.6234 -13.865 6.66546 9.48919 19.6702 -13.87 6.80951 9.72003 19.7307 -13.875 6.95777 9.95345 19.8053 -13.88 7.11007 10.1891 19.8945 -13.885 7.26629 10.4267 19.9988 -13.89 7.42625 10.6658 20.1184 -13.895 7.58975 10.906 20.2528 -13.9 7.75673 11.1465 20.4027 -13.905 7.92708 11.3862 20.5689 -13.91 8.10065 11.624 20.752 -13.915 8.27723 11.859 20.9526 -13.92 8.45658 12.09 21.1711 -13.925 8.63841 12.3159 21.4076 -13.93 8.82238 12.5356 21.6625 -13.935 9.00811 12.7481 21.9355 -13.94 9.19516 12.952 22.2266 -13.945 9.38306 13.1463 22.5356 -13.95 9.57129 13.3297 22.8619 -13.955 9.75928 13.5011 23.205 -13.96 9.94641 13.6591 23.5643 -13.965 10.132 13.8025 23.939 -13.97 10.3154 13.9301 24.3281 -13.975 10.4958 14.0405 24.7304 -13.98 10.6724 14.1324 25.1449 -13.985 10.8444 14.2044 25.5701 -13.99 11.0109 14.2552 26.0046 -13.995 11.171 14.2833 26.4467 -14 11.3236 14.2875 26.8948 -14.005 11.4679 14.266 27.3471 -14.01 11.6041 14.2175 27.8027 -14.015 11.7311 14.1422 28.2587 -14.02 11.848 14.0405 28.7121 -14.025 11.9536 13.913 29.1599 -14.03 12.0472 13.7604 29.5994 -14.035 12.128 13.5835 30.0279 -14.04 12.1952 13.383 30.4432 -14.045 12.2485 13.1599 30.843 -14.05 12.2872 12.9151 31.2252 -14.055 12.311 12.6499 31.588 -14.06 12.3198 12.3653 31.9296 -14.065 12.3134 12.0625 32.2485 -14.07 12.2917 11.743 32.5433 -14.075 12.2549 11.4082 32.8129 -14.08 12.203 11.0595 33.0562 -14.085 12.1365 10.6986 33.2724 -14.09 12.0557 10.3271 33.4609 -14.095 11.9611 9.94677 33.621 -14.1 11.8531 9.55984 33.7524 -14.105 11.7313 9.17119 33.8543 -14.11 11.5963 8.78354 33.927 -14.115 11.449 8.39888 33.9707 -14.12 11.2903 8.01905 33.986 -14.125 11.1212 7.6458 33.9737 -14.13 10.9424 7.28071 33.9344 -14.135 10.7551 6.92526 33.8691 -14.14 10.5599 6.5808 33.7788 -14.145 10.358 6.24855 33.6646 -14.15 10.1501 5.92959 33.5279 -14.155 9.93724 5.62489 33.37 -14.16 9.72023 5.33528 33.1925 -14.165 9.50001 5.06147 32.997 -14.17 9.27748 4.80404 32.7853 -14.175 9.05353 4.56345 32.5593 -14.18 8.82907 4.34002 32.3211 -14.185 8.60499 4.13395 32.0726 -14.19 8.3822 3.94531 31.8163 -14.195 8.16159 3.77339 31.5535 -14.2 7.94393 3.61672 31.2837 -14.205 7.72973 3.47492 31.0077 -14.21 7.51948 3.34766 30.7266 -14.215 7.31362 3.23454 30.4412 -14.22 7.11258 3.13514 30.1522 -14.225 6.91674 3.04901 29.8604 -14.23 6.72646 2.97565 29.5667 -14.235 6.54206 2.91453 29.2715 -14.24 6.36382 2.86511 28.9757 -14.245 6.19201 2.82678 28.6797 -14.25 6.02684 2.79891 28.3841 -14.255 5.8685 2.78084 28.0894 -14.26 5.71715 2.77188 27.7961 -14.265 5.57291 2.77129 27.5046 -14.27 5.43589 2.77831 27.2153 -14.275 5.30612 2.79212 26.9284 -14.28 5.18365 2.81191 26.6442 -14.285 5.06846 2.8368 26.3631 -14.29 4.96034 2.86706 26.085 -14.295 4.85907 2.90301 25.8099 -14.3 4.76461 2.94436 25.538 -14.305 4.67686 2.99084 25.2693 -14.31 4.59575 3.04218 25.0041 -14.315 4.52121 3.09815 24.7424 -14.32 4.45313 3.15856 24.4844 -14.325 4.39144 3.22321 24.2301 -14.33 4.33603 3.29196 23.9797 -14.335 4.28682 3.36466 23.7332 -14.34 4.2437 3.44121 23.4909 -14.345 4.20656 3.52152 23.2527 -14.35 4.1753 3.60552 23.0189 -14.355 4.14981 3.69319 22.7894 -14.36 4.12996 3.7845 22.5644 -14.365 4.11564 3.87947 22.3441 -14.37 4.10673 3.97813 22.1284 -14.375 4.1031 4.08053 21.9175 -14.38 4.10461 4.18676 21.7114 -14.385 4.11103 4.29689 21.5105 -14.39 4.12234 4.41096 21.3148 -14.395 4.13859 4.52901 21.1244 -14.4 4.15979 4.65106 20.9395 -14.405 4.18599 4.77718 20.7601 -14.41 4.21719 4.90742 20.5864 -14.415 4.2534 5.04183 20.4185 -14.42 4.29465 5.18048 20.2567 -14.425 4.34092 5.32344 20.1011 -14.43 4.39221 5.47079 19.9519 -14.435 4.44852 5.62261 19.8093 -14.44 4.50981 5.779 19.6737 -14.445 4.57609 5.94003 19.5451 -14.45 4.6473 6.10582 19.424 -14.455 4.72342 6.27647 19.3106 -14.46 4.80441 6.45209 19.2051 -14.465 4.89023 6.63281 19.108 -14.47 4.98081 6.81873 19.0196 -14.475 5.0761 7.01001 18.9401 -14.48 5.17604 7.20676 18.8701 -14.485 5.28056 7.40913 18.8099 -14.49 5.38959 7.61723 18.7598 -14.495 5.50326 7.83052 18.7199 -14.5 5.62176 8.04886 18.6909 -14.505 5.74519 8.27231 18.6731 -14.51 5.87364 8.50091 18.6672 -14.515 6.00715 8.73457 18.6738 -14.52 6.14576 8.97318 18.6935 -14.525 6.28949 9.21653 18.7268 -14.53 6.4383 9.46437 18.7742 -14.535 6.59217 9.71635 18.8363 -14.54 6.75101 9.97206 18.9136 -14.545 6.91474 10.231 19.0066 -14.55 7.08324 10.4928 19.1158 -14.555 7.25637 10.7566 19.2416 -14.56 7.43396 11.0218 19.3845 -14.565 7.61581 11.2878 19.5451 -14.57 7.80171 11.5536 19.7237 -14.575 7.99143 11.8183 19.9207 -14.58 8.18468 12.0811 20.1366 -14.585 8.38118 12.3409 20.3718 -14.59 8.5806 12.5966 20.6267 -14.595 8.78262 12.847 20.9016 -14.6 8.98686 13.091 21.197 -14.605 9.19293 13.328 21.5124 -14.61 9.40031 13.5565 21.8476 -14.615 9.60837 13.7743 22.2026 -14.62 9.81648 13.9793 22.5771 -14.625 10.024 14.1696 22.9706 -14.63 10.2301 14.3432 23.3825 -14.635 10.4341 14.4984 23.8119 -14.64 10.6353 14.6335 24.2579 -14.645 10.8328 14.7471 24.719 -14.65 11.0257 14.8375 25.194 -14.655 11.2132 14.9036 25.6811 -14.66 11.3944 14.944 26.1786 -14.665 11.5682 14.9575 26.6844 -14.67 11.7338 14.9433 27.1963 -14.675 11.89 14.9002 27.712 -14.68 12.0359 14.8275 28.2287 -14.685 12.1703 14.7244 28.7437 -14.69 12.2922 14.5903 29.2539 -14.695 12.4005 14.424 29.7565 -14.7 12.495 14.2231 30.2487 -14.705 12.5749 13.99 30.7274 -14.71 12.6393 13.7277 31.1892 -14.715 12.6873 13.4389 31.6313 -14.72 12.7185 13.1263 32.0511 -14.725 12.7322 12.7924 32.4461 -14.73 12.7283 12.4396 32.8141 -14.735 12.7066 12.0704 33.1535 -14.74 12.6669 11.6869 33.4626 -14.745 12.6095 11.2913 33.74 -14.75 12.5345 10.8855 33.9848 -14.755 12.4425 10.4713 34.1961 -14.76 12.3339 10.0507 34.3735 -14.765 12.2094 9.62523 34.5168 -14.77 12.0698 9.19645 34.626 -14.775 11.9163 8.76582 34.7013 -14.78 11.7498 8.33466 34.7434 -14.785 11.5716 7.9042 34.7532 -14.79 11.382 7.47886 34.7323 -14.795 11.1809 7.06454 34.6824 -14.8 10.9695 6.66288 34.6044 -14.805 10.7492 6.27533 34.4991 -14.81 10.5213 5.90318 34.3677 -14.815 10.2869 5.54754 34.2113 -14.82 10.0472 5.20938 34.0312 -14.825 9.80336 4.88945 33.8289 -14.83 9.55646 4.58839 33.6059 -14.835 9.30752 4.30662 33.3639 -14.84 9.05755 4.04443 33.1048 -14.845 8.8075 3.80191 32.8306 -14.85 8.55827 3.579 32.5432 -14.855 8.31072 3.37547 32.245 -14.86 8.06569 3.19091 31.9383 -14.865 7.82393 3.02476 31.6255 -14.87 7.5862 2.87627 31.3094 -14.875 7.35316 2.74454 30.9925 -14.88 7.12549 2.62848 30.6774 -14.885 6.90382 2.52708 30.3609 -14.89 6.68848 2.43959 30.0427 -14.895 6.47974 2.36528 29.7234 -14.9 6.27784 2.30344 29.4037 -14.905 6.083 2.25338 29.0841 -14.91 5.89539 2.21443 28.7652 -14.915 5.71518 2.18591 28.4475 -14.92 5.54249 2.16718 28.1313 -14.925 5.37743 2.15758 27.8172 -14.93 5.22008 2.1565 27.5054 -14.935 5.07048 2.16332 27.1962 -14.94 4.92867 2.17744 26.8899 -14.945 4.79463 2.19827 26.5867 -14.95 4.66833 2.22523 26.2867 -14.955 4.54973 2.25777 25.99 -14.96 4.43873 2.29534 25.6967 -14.965 4.33518 2.33751 25.4068 -14.97 4.23876 2.38439 25.1207 -14.975 4.14935 2.43577 24.8382 -14.98 4.06684 2.49138 24.5596 -14.985 3.99113 2.551 24.2848 -14.99 3.9221 2.61444 24.0139 -14.995 3.85963 2.6815 23.747 -15 3.80362 2.75205 23.4842 -15.005 3.75394 2.82596 23.2254 -15.01 3.71045 2.90314 22.9708 -15.015 3.67304 2.98352 22.7205 -15.02 3.64157 3.06705 22.4744 -15.025 3.6159 3.15372 22.2327 -15.03 3.5959 3.24354 21.9954 -15.035 3.58141 3.33654 21.7627 -15.04 3.57228 3.43279 21.5345 -15.045 3.56838 3.53238 21.311 -15.05 3.56954 3.63542 21.0923 -15.055 3.5756 3.74206 20.8784 -15.06 3.58639 3.85246 20.6694 -15.065 3.60177 3.96667 20.4656 -15.07 3.62177 4.08476 20.267 -15.075 3.64646 4.2068 20.0737 -15.08 3.6759 4.33286 19.8858 -15.085 3.71012 4.46303 19.7033 -15.09 3.74916 4.59741 19.5265 -15.095 3.79307 4.73609 19.3555 -15.1 3.84187 4.87918 19.1904 -15.105 3.89558 5.0268 19.0315 -15.11 3.95423 5.17907 18.8789 -15.115 4.0178 5.33612 18.7328 -15.12 4.08633 5.49809 18.5936 -15.125 4.15979 5.66514 18.4614 -15.13 4.23818 5.8374 18.3366 -15.135 4.32149 6.01506 18.2194 -15.14 4.4097 6.19827 18.1102 -15.145 4.50277 6.38721 18.0093 -15.15 4.60069 6.58208 17.9172 -15.155 4.7034 6.78305 17.834 -15.16 4.81086 6.99034 17.7604 -15.165 4.92303 7.20416 17.6966 -15.17 5.03985 7.42468 17.6432 -15.175 5.16154 7.65133 17.6002 -15.18 5.28834 7.88395 17.5682 -15.185 5.42041 8.12273 17.5479 -15.19 5.55787 8.3678 17.5398 -15.195 5.70081 8.61916 17.5447 -15.2 5.84929 8.87677 17.5631 -15.205 6.00337 9.1405 17.5957 -15.21 6.16307 9.41013 17.6432 -15.215 6.32837 9.68535 17.7061 -15.22 6.49925 9.96579 17.7851 -15.225 6.67565 10.251 17.8809 -15.23 6.85748 10.5404 17.9941 -15.235 7.04464 10.8334 18.1253 -15.24 7.237 11.1293 18.2751 -15.245 7.43439 11.4273 18.4442 -15.25 7.63663 11.7265 18.6332 -15.255 7.84352 12.0259 18.8427 -15.26 8.05482 12.3246 19.0734 -15.265 8.27027 12.6215 19.3258 -15.27 8.48958 12.9152 19.6007 -15.275 8.71244 13.2046 19.8986 -15.28 8.93851 13.4885 20.22 -15.285 9.16725 13.7661 20.5643 -15.29 9.39809 14.0353 20.9319 -15.295 9.63043 14.2935 21.3229 -15.3 9.86359 14.5385 21.7372 -15.305 10.0969 14.7679 22.1747 -15.31 10.3295 14.9794 22.6347 -15.315 10.5606 15.171 23.1164 -15.32 10.7893 15.3406 23.6188 -15.325 11.0146 15.4862 24.1405 -15.33 11.2357 15.606 24.6799 -15.335 11.4513 15.6982 25.2352 -15.34 11.6605 15.7609 25.8042 -15.345 11.8619 15.7927 26.3847 -15.35 12.0545 15.792 26.9739 -15.355 12.2369 15.7572 27.5689 -15.36 12.4077 15.6871 28.1667 -15.365 12.5657 15.5803 28.7638 -15.37 12.7095 15.4349 29.3568 -15.375 12.8389 15.2478 29.9431 -15.38 12.9526 15.021 30.5183 -15.385 13.0493 14.7577 31.0779 -15.39 13.1279 14.4605 31.6178 -15.395 13.1873 14.1323 32.1343 -15.4 13.227 13.7758 32.624 -15.405 13.2462 13.3936 33.084 -15.41 13.2447 12.9883 33.5116 -15.415 13.2221 12.5622 33.9047 -15.42 13.1786 12.118 34.2612 -15.425 13.1142 11.6577 34.5797 -15.43 13.0294 11.1838 34.8589 -15.435 12.9247 10.6984 35.0982 -15.44 12.8007 10.2037 35.297 -15.445 12.6585 9.70158 35.4553 -15.45 12.499 9.19412 35.5734 -15.455 12.3237 8.68319 35.6519 -15.46 12.1333 8.17242 35.6919 -15.465 11.9272 7.67054 35.6944 -15.47 11.7067 7.1806 35.6605 -15.475 11.4735 6.70483 35.5914 -15.48 11.2289 6.2452 35.4885 -15.485 10.9746 5.80348 35.3533 -15.49 10.7118 5.38119 35.1876 -15.495 10.442 4.97964 34.9933 -15.5 10.1665 4.59987 34.7723 -15.505 9.8866 4.24273 34.527 -15.51 9.60359 3.90881 34.2597 -15.515 9.31867 3.59849 33.9729 -15.52 9.03302 3.3119 33.6695 -15.525 8.74779 3.04894 33.3522 -15.53 8.46406 2.8093 33.0243 -15.535 8.18291 2.59241 32.6888 -15.54 7.90536 2.39748 32.3492 -15.545 7.63238 2.22345 32.0086 -15.55 7.36491 2.06867 31.6647 -15.555 7.10352 1.93206 31.3173 -15.56 6.84869 1.81268 30.9675 -15.565 6.60083 1.70962 30.6163 -15.57 6.36033 1.62196 30.2643 -15.575 6.12753 1.54878 29.9124 -15.58 5.90273 1.48917 29.5613 -15.585 5.68617 1.44223 29.2117 -15.59 5.47806 1.40703 28.864 -15.595 5.27857 1.38269 28.5187 -15.6 5.08781 1.36828 28.1762 -15.605 4.90586 1.36293 27.8368 -15.61 4.73275 1.36572 27.5008 -15.615 4.56847 1.37576 27.1683 -15.62 4.41296 1.39216 26.8395 -15.625 4.26611 1.41408 26.5143 -15.63 4.12764 1.44146 26.1929 -15.635 3.99735 1.47408 25.8754 -15.64 3.87509 1.51151 25.5619 -15.645 3.76069 1.55336 25.2525 -15.65 3.654 1.59929 24.947 -15.655 3.55484 1.64897 24.6456 -15.66 3.46304 1.70212 24.3484 -15.665 3.37842 1.75849 24.0552 -15.67 3.3008 1.81786 23.7661 -15.675 3.22999 1.88005 23.4813 -15.68 3.16581 1.94492 23.2006 -15.685 3.10805 2.01235 22.924 -15.69 3.05651 2.08227 22.6517 -15.695 3.011 2.15463 22.3836 -15.7 2.9713 2.22943 22.1197 -15.705 2.9372 2.30669 21.86 -15.71 2.90847 2.38648 21.6046 -15.715 2.88488 2.46887 21.3534 -15.72 2.8663 2.55388 21.1065 -15.725 2.8527 2.6415 20.8639 -15.73 2.84402 2.73176 20.6257 -15.735 2.84023 2.8247 20.3918 -15.74 2.84128 2.92039 20.1623 -15.745 2.84711 3.01888 19.9372 -15.75 2.85766 3.12029 19.7167 -15.755 2.87289 3.22472 19.5007 -15.76 2.89273 3.3323 19.2893 -15.765 2.91712 3.44318 19.0827 -15.77 2.94599 3.55754 18.8809 -15.775 2.97927 3.67554 18.684 -15.78 3.01689 3.79741 18.4921 -15.785 3.05878 3.92335 18.3054 -15.79 3.10485 4.0536 18.1239 -15.795 3.15502 4.18844 17.9479 -15.8 3.20922 4.32812 17.7775 -15.805 3.26739 4.4729 17.6128 -15.81 3.32976 4.62276 17.4541 -15.815 3.39647 4.77785 17.3016 -15.82 3.46761 4.9384 17.1553 -15.825 3.54324 5.10463 17.0157 -15.83 3.62346 5.27676 16.8827 -15.835 3.70834 5.45497 16.7569 -15.84 3.79796 5.63948 16.6383 -15.845 3.89242 5.83047 16.5274 -15.85 3.9918 6.02811 16.4245 -15.855 4.09619 6.23259 16.33 -15.86 4.20566 6.44406 16.2442 -15.865 4.32032 6.66268 16.1677 -15.87 4.44024 6.8886 16.1009 -15.875 4.56552 7.12197 16.0442 -15.88 4.69626 7.36292 15.9982 -15.885 4.83253 7.61158 15.9635 -15.89 4.97444 7.86806 15.9405 -15.895 5.12208 8.13247 15.93 -15.9 5.27525 8.40412 15.932 -15.905 5.43366 8.68187 15.9465 -15.91 5.59767 8.96629 15.9748 -15.915 5.76761 9.25782 16.0181 -15.92 5.94375 9.55675 16.0775 -15.925 6.12629 9.86319 16.1541 -15.93 6.31539 10.1771 16.2491 -15.935 6.51115 10.4983 16.3633 -15.94 6.71362 10.8264 16.4978 -15.945 6.92278 11.1608 16.6534 -15.95 7.13856 11.5009 16.831 -15.955 7.36083 11.8458 17.0314 -15.96 7.58942 12.1946 17.2553 -15.965 7.82408 12.5459 17.5035 -15.97 8.06452 12.8985 17.7766 -15.975 8.3104 13.2508 18.0752 -15.98 8.5613 13.6013 18.3998 -15.985 8.81676 13.948 18.7509 -15.99 9.07627 14.2889 19.129 -15.995 9.33925 14.6219 19.5344 -16 9.60506 14.9447 19.9676 -16.005 9.87302 15.2548 20.4287 -16.01 10.1424 15.5496 20.9181 -16.015 10.4124 15.8261 21.4359 -16.02 10.6821 16.0815 21.9822 -16.025 10.9507 16.3126 22.5572 -16.03 11.2171 16.5162 23.1609 -16.035 11.4805 16.6911 23.7914 -16.04 11.7392 16.835 24.4453 -16.045 11.9915 16.9441 25.1189 -16.05 12.2357 17.0153 25.8089 -16.055 12.4701 17.0457 26.5116 -16.06 12.6931 17.0331 27.2233 -16.065 12.9031 16.9756 27.94 -16.07 13.0987 16.8719 28.6579 -16.075 13.2784 16.7211 29.3728 -16.08 13.4408 16.5228 30.0806 -16.085 13.5846 16.2769 30.777 -16.09 13.7084 15.984 31.4575 -16.095 13.8111 15.645 32.1177 -16.1 13.8913 15.2615 32.7528 -16.105 13.9481 14.8352 33.3583 -16.11 13.9804 14.3686 33.9291 -16.115 13.987 13.8639 34.4599 -16.12 13.9677 13.323 34.9443 -16.125 13.9224 12.7525 35.3805 -16.13 13.8513 12.1592 35.7676 -16.135 13.7546 11.5491 36.1047 -16.14 13.633 10.928 36.3914 -16.145 13.4871 10.3013 36.6276 -16.15 13.3177 9.67376 36.8132 -16.155 13.1257 9.04976 36.9487 -16.16 12.9125 8.43324 37.0348 -16.165 12.6792 7.82767 37.0724 -16.17 12.4274 7.23606 37.0627 -16.175 12.1588 6.66099 37.0073 -16.18 11.8751 6.10456 36.9079 -16.185 11.5784 5.56842 36.7667 -16.19 11.2707 5.05378 36.586 -16.195 10.9545 4.56139 36.3684 -16.2 10.6311 4.09463 36.119 -16.205 10.3012 3.65715 35.8429 -16.21 9.96683 3.24947 35.543 -16.215 9.62968 2.87183 35.2219 -16.22 9.29138 2.52423 34.8825 -16.225 8.95344 2.2064 34.5271 -16.23 8.61727 1.9178 34.1585 -16.235 8.28416 1.65766 33.7788 -16.24 7.95528 1.42494 33.3905 -16.245 7.63171 1.21831 32.9958 -16.25 7.31441 1.03623 32.5968 -16.255 7.00421 0.876869 32.1956 -16.26 6.70184 0.738142 31.7941 -16.265 6.40794 0.617727 31.3942 -16.27 6.12307 0.514737 30.9961 -16.275 5.84759 0.428537 30.5997 -16.28 5.58174 0.357793 30.2056 -16.285 5.32571 0.301223 29.8145 -16.29 5.07964 0.257606 29.4267 -16.295 4.84364 0.225777 29.0428 -16.3 4.61778 0.204628 28.663 -16.305 4.40206 0.193109 28.2877 -16.31 4.19648 0.190228 27.9171 -16.315 4.00097 0.195048 27.5513 -16.32 3.81542 0.206692 27.1904 -16.325 3.63969 0.224337 26.8345 -16.33 3.47358 0.247222 26.4834 -16.335 3.31687 0.274644 26.1371 -16.34 3.16919 0.306134 25.7956 -16.345 3.03027 0.341264 25.4589 -16.35 2.89986 0.379598 25.1271 -16.355 2.77772 0.420737 24.7999 -16.36 2.66361 0.464319 24.4774 -16.365 2.55727 0.510022 24.1595 -16.37 2.45844 0.557559 23.8461 -16.375 2.36686 0.606683 23.5372 -16.38 2.28227 0.657185 23.2327 -16.385 2.20439 0.708892 22.9326 -16.39 2.13294 0.761671 22.6367 -16.395 2.06765 0.815425 22.3451 -16.4 2.00823 0.870096 22.0577 -16.405 1.9544 0.925664 21.7744 -16.41 1.90584 0.982146 21.4951 -16.415 1.86227 1.0396 21.2199 -16.42 1.82344 1.09805 20.9486 -16.425 1.78922 1.15747 20.6813 -16.43 1.7595 1.21786 20.4178 -16.435 1.73417 1.27922 20.1583 -16.44 1.71312 1.34159 19.9025 -16.445 1.69625 1.40501 19.6505 -16.45 1.68343 1.46955 19.4023 -16.455 1.67454 1.53527 19.1579 -16.46 1.66947 1.60229 18.9172 -16.465 1.6681 1.67072 18.6803 -16.47 1.67029 1.74069 18.447 -16.475 1.67594 1.81235 18.2175 -16.48 1.68489 1.88587 17.9917 -16.485 1.69704 1.96144 17.7696 -16.49 1.71223 2.03926 17.5512 -16.495 1.73035 2.11955 17.3365 -16.5 1.75134 2.2025 17.1256 -16.505 1.77533 2.28814 16.9184 -16.51 1.80235 2.37662 16.7151 -16.515 1.83242 2.4681 16.5156 -16.52 1.86557 2.56273 16.32 -16.525 1.90182 2.66069 16.1283 -16.53 1.94121 2.76216 15.9406 -16.535 1.98377 2.86735 15.7568 -16.54 2.02954 2.97646 15.5772 -16.545 2.07857 3.0897 15.4018 -16.55 2.13088 3.20731 15.2307 -16.555 2.18655 3.32954 15.064 -16.56 2.2456 3.45662 14.9018 -16.565 2.3081 3.58882 14.7443 -16.57 2.37411 3.72643 14.5915 -16.575 2.44369 3.86971 14.4437 -16.58 2.5169 4.01895 14.301 -16.585 2.59395 4.1742 14.1637 -16.59 2.67498 4.33576 14.032 -16.595 2.76012 4.504 13.9061 -16.6 2.84952 4.67926 13.7861 -16.605 2.9433 4.86187 13.6723 -16.61 3.04161 5.05215 13.5649 -16.615 3.14462 5.2504 13.4644 -16.62 3.25248 5.45695 13.371 -16.625 3.36535 5.67206 13.2851 -16.63 3.4834 5.89602 13.2072 -16.635 3.60681 6.1291 13.1378 -16.64 3.73577 6.37156 13.0775 -16.645 3.87046 6.62363 13.0267 -16.65 4.01106 6.88557 12.986 -16.655 4.1578 7.15758 12.9563 -16.66 4.31086 7.43988 12.938 -16.665 4.47045 7.73268 12.932 -16.67 4.63681 8.03617 12.9391 -16.675 4.81014 8.35053 12.96 -16.68 4.99067 8.67592 12.9956 -16.685 5.17856 9.0123 13.0467 -16.69 5.37369 9.35899 13.1141 -16.695 5.57638 9.71628 13.1991 -16.7 5.78692 10.0844 13.303 -16.705 6.00555 10.4635 13.4273 -16.71 6.23245 10.8533 13.5734 -16.715 6.46774 11.2534 13.7425 -16.72 6.71148 11.6632 13.9362 -16.725 6.96367 12.0819 14.1557 -16.73 7.22425 12.5085 14.4024 -16.735 7.4931 12.9418 14.6777 -16.74 7.77005 13.3802 14.9829 -16.745 8.05484 13.8221 15.3193 -16.75 8.34719 14.2657 15.6885 -16.755 8.64672 14.7089 16.0915 -16.76 8.95303 15.1493 16.5299 -16.765 9.26563 15.5844 17.0049 -16.77 9.58398 16.0115 17.5178 -16.775 9.90749 16.4277 18.0701 -16.78 10.2354 16.8304 18.6624 -16.785 10.5666 17.2179 19.2939 -16.79 10.8999 17.5846 19.9647 -16.795 11.2339 17.9248 20.6747 -16.8 11.5673 18.2332 21.423 -16.805 11.8983 18.505 22.2082 -16.81 12.2255 18.7353 23.0282 -16.815 12.5469 18.9199 23.8804 -16.82 12.8607 19.0547 24.7613 -16.825 13.1649 19.136 25.6669 -16.83 13.4572 19.1605 26.5928 -16.835 13.7356 19.1251 27.5336 -16.84 13.9975 19.0269 28.4834 -16.845 14.2405 18.8637 29.4358 -16.85 14.462 18.6333 30.3836 -16.855 14.6593 18.334 31.319 -16.86 14.83 17.9614 32.2341 -16.865 14.9732 17.5097 33.1211 -16.87 15.0868 16.9883 33.9715 -16.875 15.1688 16.4065 34.7777 -16.88 15.2176 15.7735 35.5327 -16.885 15.2322 15.0975 36.2307 -16.89 15.2117 14.3859 36.8667 -16.895 15.1558 13.6458 37.4364 -16.9 15.0647 12.8833 37.9368 -16.905 14.9387 12.104 38.3654 -16.91 14.7787 11.3126 38.7208 -16.915 14.5861 10.5134 39.0025 -16.92 14.3625 9.70974 39.2109 -16.925 14.1101 8.90453 39.3472 -16.93 13.8312 8.09983 39.4135 -16.935 13.5288 7.29708 39.413 -16.94 13.2049 6.50265 39.3492 -16.945 12.8586 5.73624 39.2254 -16.95 12.4926 5.00319 39.0457 -16.955 12.1097 4.307 38.8148 -16.96 11.7128 3.65053 38.5371 -16.965 11.3045 3.03591 38.2174 -16.97 10.8873 2.46462 37.8604 -16.975 10.4638 1.93747 37.4713 -16.98 10.0362 1.45455 37.055 -16.985 9.60694 1.01531 36.6168 -16.99 9.17803 0.618508 36.162 -16.995 8.75156 0.262212 35.696 -17 8.32945 -0.0561816 35.2244 -17.005 7.91348 -0.339018 34.75 -17.01 7.50497 -0.587871 34.2722 -17.015 7.10505 -0.804996 33.7932 -17.02 6.71472 -0.992631 33.3148 -17.025 6.33485 -1.15299 32.8386 -17.03 5.96621 -1.28827 32.3661 -17.035 5.60942 -1.40064 31.8984 -17.04 5.26502 -1.49225 31.4365 -17.045 4.93338 -1.56523 30.9813 -17.05 4.61479 -1.62168 30.5331 -17.055 4.30939 -1.66369 30.0925 -17.06 4.01722 -1.69331 29.6594 -17.065 3.73818 -1.71257 29.2339 -17.07 3.47214 -1.7226 28.816 -17.075 3.21882 -1.72439 28.4059 -17.08 2.97794 -1.71913 28.0032 -17.085 2.74916 -1.70788 27.608 -17.09 2.53215 -1.69167 27.22 -17.095 2.32657 -1.67142 26.8392 -17.1 2.13205 -1.64799 26.4652 -17.105 1.94821 -1.62215 26.098 -17.11 1.77464 -1.5946 25.7373 -17.115 1.61095 -1.56595 25.383 -17.12 1.4567 -1.53675 25.035 -17.125 1.31145 -1.50746 24.6929 -17.13 1.17474 -1.47846 24.3566 -17.135 1.04609 -1.45007 24.026 -17.14 0.925 -1.42253 23.7007 -17.145 0.811021 -1.39613 23.3807 -17.15 0.703793 -1.37109 23.0658 -17.155 0.602967 -1.3476 22.7559 -17.16 0.508191 -1.32586 22.4508 -17.165 0.419114 -1.306 22.1504 -17.17 0.335385 -1.28816 21.8546 -17.175 0.256652 -1.27245 21.5633 -17.18 0.182562 -1.25894 21.2764 -17.185 0.112763 -1.2477 20.9937 -17.19 0.0469012 -1.23877 20.7152 -17.195 -0.015377 -1.23216 20.4408 -17.2 -0.0744259 -1.22786 20.1704 -17.205 -0.130593 -1.22584 19.9039 -17.21 -0.184108 -1.22614 19.6412 -17.215 -0.23515 -1.22882 19.3823 -17.22 -0.283911 -1.23391 19.1272 -17.225 -0.330581 -1.24145 18.8757 -17.23 -0.375354 -1.25147 18.6279 -17.235 -0.418425 -1.26399 18.3837 -17.24 -0.459992 -1.27904 18.143 -17.245 -0.500252 -1.29662 17.9058 -17.25 -0.539407 -1.31674 17.672 -17.255 -0.577659 -1.33942 17.4417 -17.26 -0.615212 -1.36464 17.2147 -17.265 -0.652272 -1.39241 16.9911 -17.27 -0.689045 -1.42271 16.7707 -17.275 -0.725691 -1.45557 16.5537 -17.28 -0.762293 -1.49109 16.3399 -17.285 -0.798944 -1.52933 16.1293 -17.29 -0.835742 -1.57038 15.9219 -17.295 -0.872791 -1.61432 15.7178 -17.3 -0.9102 -1.66125 15.5168 -17.305 -0.948085 -1.71123 15.3191 -17.31 -0.986568 -1.76436 15.1246 -17.315 -1.02578 -1.82072 14.9332 -17.32 -1.06584 -1.88041 14.7451 -17.325 -1.10691 -1.94351 14.5601 -17.33 -1.14912 -2.01013 14.3784 -17.335 -1.19263 -2.08034 14.1999 -17.34 -1.23759 -2.15425 14.0246 -17.345 -1.28417 -2.23195 13.8526 -17.35 -1.33248 -2.31361 13.6839 -17.355 -1.3826 -2.39941 13.5186 -17.36 -1.4346 -2.48956 13.3566 -17.365 -1.48859 -2.58427 13.1981 -17.37 -1.54466 -2.68373 13.0432 -17.375 -1.60293 -2.78818 12.8917 -17.38 -1.66353 -2.89783 12.744 -17.385 -1.72658 -3.0129 12.6 -17.39 -1.79223 -3.13363 12.46 -17.395 -1.86063 -3.26026 12.3239 -17.4 -1.93196 -3.39304 12.192 -17.405 -2.00639 -3.5322 12.0643 -17.41 -2.0841 -3.678 11.9412 -17.415 -2.16529 -3.83071 11.8227 -17.42 -2.25017 -3.99058 11.7091 -17.425 -2.33896 -4.1579 11.6005 -17.43 -2.43188 -4.33294 11.4971 -17.435 -2.52913 -4.51578 11.3995 -17.44 -2.63089 -4.70679 11.3079 -17.445 -2.73732 -4.90649 11.2226 -17.45 -2.84861 -5.11541 11.1438 -17.455 -2.96496 -5.33401 11.0718 -17.46 -3.08656 -5.56275 11.0072 -17.465 -3.21363 -5.80205 10.9502 -17.47 -3.3464 -6.05232 10.9016 -17.475 -3.4851 -6.31391 10.8617 -17.48 -3.62996 -6.58717 10.8314 -17.485 -3.78125 -6.87241 10.8113 -17.49 -3.93921 -7.1699 10.8022 -17.495 -4.10413 -7.4799 10.8049 -17.5 -4.27627 -7.80264 10.8203 -17.505 -4.45594 -8.1383 10.8495 -17.51 -4.64342 -8.48705 10.8934 -17.515 -4.83903 -8.84904 10.9531 -17.52 -5.04309 -9.22438 11.0298 -17.525 -5.25592 -9.61313 11.1247 -17.53 -5.47786 -10.0154 11.2391 -17.535 -5.70918 -10.431 11.3742 -17.54 -5.94929 -10.8586 11.5305 -17.545 -6.19842 -11.2983 11.7101 -17.55 -6.45706 -11.7502 11.9153 -17.555 -6.72559 -12.2143 12.1485 -17.56 -7.00427 -12.69 12.4117 -17.565 -7.29322 -13.1766 12.707 -17.57 -7.59246 -13.6727 13.0365 -17.575 -7.90188 -14.1769 13.4019 -17.58 -8.22125 -14.6871 13.8049 -17.585 -8.55023 -15.201 14.2474 -17.59 -8.88835 -15.716 14.7306 -17.595 -9.23501 -16.2289 15.2562 -17.6 -9.58951 -16.7364 15.8254 -17.605 -9.95102 -17.2346 16.4394 -17.61 -10.3186 -17.7195 17.0994 -17.615 -10.6912 -18.1864 17.8063 -17.62 -11.0675 -18.6305 18.5611 -17.625 -11.4464 -19.0464 19.3646 -17.63 -11.8263 -19.4287 20.2173 -17.635 -12.2058 -19.7721 21.1196 -17.64 -12.583 -20.0735 22.0681 -17.645 -12.9553 -20.3246 23.0587 -17.65 -13.32 -20.5177 24.0865 -17.655 -13.6743 -20.6459 25.1463 -17.66 -14.0154 -20.7032 26.2323 -17.665 -14.3405 -20.6848 27.3378 -17.67 -14.6469 -20.5866 28.4559 -17.675 -14.9317 -20.4058 29.5788 -17.68 -15.1921 -20.1404 30.6983 -17.685 -15.4253 -19.7894 31.8055 -17.69 -15.6284 -19.3527 32.891 -17.695 -15.7985 -18.8314 33.9446 -17.7 -15.9328 -18.2273 34.9558 -17.705 -16.0285 -17.543 35.913 -17.71 -16.0842 -16.7766 36.8027 -17.715 -16.0987 -15.9397 37.6173 -17.72 -16.0711 -15.0468 38.3523 -17.725 -16.0008 -14.1115 39.0037 -17.73 -15.8878 -13.1459 39.5687 -17.735 -15.7324 -12.1614 40.045 -17.74 -15.5357 -11.1679 40.4313 -17.745 -15.2989 -10.1743 40.7274 -17.75 -15.0239 -9.18811 40.9335 -17.755 -14.7131 -8.21603 41.0511 -17.76 -14.3692 -7.26339 41.0822 -17.765 -13.9956 -6.33439 41.0298 -17.77 -13.596 -5.4321 40.8979 -17.775 -13.1746 -4.55844 40.6912 -17.78 -12.7334 -3.72406 40.419 -17.785 -12.2742 -2.94057 40.0916 -17.79 -11.8005 -2.21042 39.7155 -17.795 -11.3159 -1.53522 39.2975 -17.8 -10.8235 -0.915773 38.8438 -17.805 -10.3264 -0.352066 38.3606 -17.81 -9.82748 0.156745 37.854 -17.815 -9.32936 0.612326 37.3297 -17.82 -8.83446 1.01716 36.7934 -17.825 -8.34502 1.37456 36.2504 -17.83 -7.86305 1.68866 35.7062 -17.835 -7.39037 1.96306 35.1641 -17.84 -6.92842 2.19953 34.6246 -17.845 -6.47833 2.40121 34.0895 -17.85 -6.04106 2.5712 33.5607 -17.855 -5.61745 2.71248 33.0395 -17.86 -5.20815 2.82795 32.5272 -17.865 -4.81372 2.92038 32.0246 -17.87 -4.43451 2.99243 31.5325 -17.875 -4.07075 3.04668 31.0513 -17.88 -3.72254 3.0856 30.581 -17.885 -3.3898 3.11153 30.1215 -17.89 -3.07235 3.12664 29.6726 -17.895 -2.76996 3.13256 29.2344 -17.9 -2.48226 3.1307 28.8066 -17.905 -2.20879 3.1224 28.3888 -17.91 -1.94913 3.10894 27.9807 -17.915 -1.70282 3.09146 27.582 -17.92 -1.46938 3.07106 27.1923 -17.925 -1.24833 3.04872 26.8113 -17.93 -1.03916 3.02533 26.4387 -17.935 -0.841356 3.00171 26.0742 -17.94 -0.654389 2.97856 25.7175 -17.945 -0.47771 2.95653 25.3683 -17.95 -0.310756 2.93614 25.0264 -17.955 -0.152949 2.91784 24.6914 -17.96 -0.00369598 2.90199 24.3632 -17.965 0.13761 2.88886 24.0414 -17.97 0.271612 2.87867 23.7259 -17.975 0.398843 2.87169 23.4164 -17.98 0.519706 2.86813 23.1127 -17.985 0.634603 2.8682 22.8147 -17.99 0.743944 2.87208 22.5223 -17.995 0.848138 2.87995 22.2354 -18 0.9476 2.89194 21.9538 -18.005 1.04275 2.90817 21.6774 -18.01 1.134 2.92875 21.4062 -18.015 1.22179 2.95376 21.1401 -18.02 1.30654 2.98327 20.8789 -18.025 1.38869 3.01732 20.6226 -18.03 1.46866 3.05593 20.3712 -18.035 1.5469 3.09912 20.1245 -18.04 1.62379 3.14688 19.8825 -18.045 1.69953 3.19935 19.6454 -18.05 1.77434 3.25663 19.4129 -18.055 1.84842 3.31882 19.1854 -18.06 1.922 3.38605 18.9626 -18.065 1.99533 3.4584 18.7447 -18.07 2.06865 3.53598 18.5317 -18.075 2.14219 3.61888 18.3237 -18.08 2.21621 3.70721 18.1207 -18.085 2.29097 3.80104 17.9228 -18.09 2.36673 3.90046 17.7301 -18.095 2.44376 4.00557 17.5426 -18.1 2.52235 4.11644 17.3604 -18.105 2.60277 4.23316 17.1837 -18.11 2.68529 4.35579 17.0125 -18.115 2.7701 4.48447 16.847 -18.12 2.85731 4.61944 16.6875 -18.125 2.94707 4.76093 16.534 -18.13 3.03952 4.90914 16.3868 -18.135 3.13482 5.0643 16.2462 -18.14 3.23314 5.2266 16.1123 -18.145 3.33466 5.39622 15.9854 -18.15 3.43955 5.57334 15.8659 -18.155 3.54803 5.75812 15.7541 -18.16 3.66029 5.95073 15.6503 -18.165 3.77656 6.15131 15.5548 -18.17 3.89705 6.35998 15.4681 -18.175 4.022 6.57688 15.3906 -18.18 4.15167 6.80212 15.3227 -18.185 4.28629 7.03581 15.2649 -18.19 4.42615 7.27803 15.2176 -18.195 4.57135 7.52862 15.1814 -18.2 4.7219 7.78753 15.1567 -18.205 4.87803 8.05515 15.1444 -18.21 5.03991 8.33178 15.1453 -18.215 5.20772 8.6176 15.1601 -18.22 5.38161 8.91267 15.1896 -18.225 5.5617 9.21697 15.2348 -18.23 5.7481 9.53034 15.2964 -18.235 5.9409 9.85252 15.3754 -18.24 6.14015 10.1831 15.4726 -18.245 6.3459 10.5217 15.5891 -18.25 6.55816 10.8677 15.7257 -18.255 6.77693 11.2204 15.8835 -18.26 7.00219 11.5789 16.0634 -18.265 7.23389 11.9423 16.2665 -18.27 7.47196 12.3097 16.4937 -18.275 7.71631 12.6799 16.7463 -18.28 7.96684 13.0516 17.0252 -18.285 8.22342 13.4235 17.3316 -18.29 8.48587 13.7942 17.6666 -18.295 8.75372 14.1625 18.0304 -18.3 9.02615 14.5272 18.4233 -18.305 9.30273 14.8851 18.8465 -18.31 9.5829 15.2334 19.3011 -18.315 9.86603 15.5689 19.7877 -18.32 10.1513 15.8887 20.3065 -18.325 10.438 16.1898 20.8574 -18.33 10.725 16.4691 21.4398 -18.335 11.0112 16.7238 22.0528 -18.34 11.2956 16.9509 22.6949 -18.345 11.5767 17.1473 23.3644 -18.35 11.8531 17.3102 24.0592 -18.355 12.1234 17.4365 24.7767 -18.36 12.3859 17.5233 25.5139 -18.365 12.6389 17.5678 26.2675 -18.37 12.8805 17.5669 27.0337 -18.375 13.1088 17.5178 27.8084 -18.38 13.3218 17.4173 28.5873 -18.385 13.519 17.2618 29.3673 -18.39 13.6985 17.052 30.1418 -18.395 13.858 16.7894 30.904 -18.4 13.9956 16.4762 31.6473 -18.405 14.1098 16.1143 32.3656 -18.41 14.199 15.7061 33.0536 -18.415 14.2622 15.2544 33.7062 -18.42 14.2985 14.7619 34.3191 -18.425 14.3073 14.2316 34.8882 -18.43 14.2882 13.6668 35.4101 -18.435 14.2412 13.071 35.8818 -18.44 14.1664 12.4479 36.3011 -18.445 14.0643 11.8015 36.6658 -18.45 13.9356 11.1359 36.9747 -18.455 13.7812 10.4555 37.2268 -18.46 13.6019 9.76666 37.4215 -18.465 13.3972 9.07948 37.5583 -18.47 13.1691 8.39921 37.6388 -18.475 12.9194 7.73042 37.6648 -18.48 12.6498 7.07723 37.6384 -18.485 12.3624 6.44339 37.562 -18.49 12.0589 5.83221 37.4383 -18.495 11.7412 5.24658 37.2703 -18.5 11.4112 4.689 37.0611 -18.505 11.0709 4.16151 36.8143 -18.51 10.7221 3.66578 36.5337 -18.515 10.3667 3.20304 36.2233 -18.52 10.0067 2.77411 35.8876 -18.525 9.64396 2.37939 35.531 -18.53 9.28041 2.01887 35.1586 -18.535 8.91801 1.69206 34.7752 -18.54 8.55836 1.39652 34.382 -18.545 8.20269 1.13051 33.9798 -18.55 7.85213 0.892811 33.5706 -18.555 7.50772 0.682168 33.1563 -18.56 7.1704 0.497236 32.7386 -18.565 6.84101 0.336608 32.3191 -18.57 6.52032 0.198809 31.8992 -18.575 6.20896 0.0822933 31.4802 -18.58 5.90749 -0.014552 31.0631 -18.585 5.61637 -0.0934093 30.6489 -18.59 5.33596 -0.156029 30.2384 -18.595 5.06653 -0.204232 29.8322 -18.6 4.80824 -0.239906 29.431 -18.605 4.56118 -0.265007 29.0349 -18.61 4.3253 -0.281526 28.6442 -18.615 4.10045 -0.289686 28.2589 -18.62 3.88639 -0.289724 27.8789 -18.625 3.68294 -0.282559 27.5044 -18.63 3.48989 -0.269046 27.1352 -18.635 3.307 -0.249981 26.7714 -18.64 3.13405 -0.226096 26.4129 -18.645 2.97077 -0.198065 26.0597 -18.65 2.8169 -0.166498 25.7119 -18.655 2.67215 -0.131943 25.3692 -18.66 2.53624 -0.0948884 25.0317 -18.665 2.40886 -0.0557608 24.6992 -18.67 2.28967 -0.0149246 24.3717 -18.675 2.17834 0.027317 24.049 -18.68 2.07452 0.070722 23.731 -18.685 1.97782 0.11509 23.4176 -18.69 1.88789 0.160221 23.1088 -18.695 1.80451 0.205939 22.8043 -18.7 1.72742 0.252097 22.5043 -18.705 1.65637 0.298568 22.2085 -18.71 1.59112 0.345253 21.917 -18.715 1.53141 0.392076 21.6296 -18.72 1.47701 0.438985 21.3462 -18.725 1.42766 0.485953 21.0669 -18.73 1.3831 0.532978 20.7914 -18.735 1.34309 0.580081 20.5199 -18.74 1.30736 0.627309 20.2521 -18.745 1.27567 0.674733 19.9881 -18.75 1.24775 0.722448 19.7277 -18.755 1.22335 0.770569 19.471 -18.76 1.20237 0.819137 19.2179 -18.765 1.1847 0.868179 18.9684 -18.77 1.17027 0.917743 18.7224 -18.775 1.15899 0.96789 18.4799 -18.78 1.15075 1.01869 18.2408 -18.785 1.14547 1.07024 18.0052 -18.79 1.14305 1.12262 17.7729 -18.795 1.14342 1.17594 17.5441 -18.8 1.14647 1.23032 17.3186 -18.805 1.15212 1.28589 17.0964 -18.81 1.16027 1.34279 16.8775 -18.815 1.17085 1.40118 16.6619 -18.82 1.18377 1.46122 16.4496 -18.825 1.19893 1.52309 16.2406 -18.83 1.21629 1.58695 16.0348 -18.835 1.23589 1.65289 15.8323 -18.84 1.25777 1.72105 15.6331 -18.845 1.28194 1.79153 15.4371 -18.85 1.30844 1.86449 15.2444 -18.855 1.33728 1.94007 15.055 -18.86 1.36851 2.01842 14.8689 -18.865 1.40215 2.09973 14.6861 -18.87 1.43824 2.18418 14.5067 -18.875 1.47682 2.27194 14.3307 -18.88 1.51794 2.36323 14.1581 -18.885 1.56163 2.45825 13.989 -18.89 1.60795 2.55722 13.8234 -18.895 1.65695 2.66039 13.6615 -18.9 1.70867 2.76799 13.5032 -18.905 1.76318 2.88027 13.3487 -18.91 1.82054 2.99748 13.1981 -18.915 1.88096 3.11976 13.0515 -18.92 1.94454 3.24736 12.9091 -18.925 2.0114 3.38057 12.7709 -18.93 2.08165 3.51968 12.637 -18.935 2.15542 3.66501 12.5075 -18.94 2.23283 3.81686 12.3827 -18.945 2.31404 3.97553 12.2626 -18.95 2.39918 4.14133 12.1476 -18.955 2.48842 4.3146 12.0378 -18.96 2.58192 4.49564 11.9336 -18.965 2.67987 4.68479 11.8352 -18.97 2.78245 4.88237 11.7431 -18.975 2.88984 5.08872 11.6575 -18.98 3.00227 5.30418 11.579 -18.985 3.11992 5.52909 11.5078 -18.99 3.24304 5.7638 11.4446 -18.995 3.37184 6.00865 11.3897 -19 3.50657 6.26401 11.3437 -19.005 3.64747 6.53024 11.3072 -19.01 3.7948 6.80769 11.2808 -19.015 3.94868 7.09606 11.2651 -19.02 4.10919 7.39478 11.261 -19.025 4.2767 7.70486 11.2693 -19.03 4.45161 8.02721 11.2909 -19.035 4.63423 8.36254 11.3268 -19.04 4.82489 8.7114 11.3779 -19.045 5.02386 9.07415 11.4453 -19.05 5.23138 9.45099 11.5303 -19.055 5.44766 9.84193 11.634 -19.06 5.67288 10.2468 11.7578 -19.065 5.90719 10.6653 11.903 -19.07 6.15071 11.0968 12.0712 -19.075 6.40352 11.5408 12.2639 -19.08 6.66567 11.9962 12.4826 -19.085 6.93718 12.4622 12.7292 -19.09 7.21805 12.9374 13.0052 -19.095 7.50822 13.4204 13.3127 -19.1 7.80763 13.9098 13.6534 -19.105 8.11616 14.4036 14.0294 -19.11 8.43368 14.9001 14.4427 -19.115 8.76002 15.397 14.8955 -19.12 9.09496 15.8922 15.39 -19.125 9.43827 16.3832 15.9283 -19.13 9.78871 16.8681 16.5099 -19.135 10.1452 17.3427 17.1356 -19.14 10.5068 17.8015 17.8075 -19.145 10.8726 18.239 18.5265 -19.15 11.2412 18.65 19.293 -19.155 11.6113 19.0291 20.1066 -19.16 11.9811 19.3711 20.9661 -19.165 12.3489 19.6707 21.8694 -19.17 12.7126 19.9228 22.8138 -19.175 13.07 20.1221 23.7957 -19.18 13.4186 20.2637 24.8107 -19.185 13.7559 20.3424 25.8539 -19.19 14.079 20.3532 26.9192 -19.195 14.3849 20.2913 28 -19.2 14.6704 20.1515 29.089 -19.205 14.9333 19.9255 30.1802 -19.21 15.1719 19.6085 31.2663 -19.215 15.3825 19.2065 32.3336 -19.22 15.5617 18.7256 33.3698 -19.225 15.7068 18.1718 34.3637 -19.23 15.8155 17.551 35.3055 -19.235 15.886 16.8693 36.1867 -19.24 15.917 16.1323 36.9999 -19.245 15.9076 15.3458 37.7392 -19.25 15.8575 14.5155 38.3998 -19.255 15.767 13.6468 38.9781 -19.26 15.6365 12.7452 39.4721 -19.265 15.4673 11.8161 39.8808 -19.27 15.2609 10.8649 40.2046 -19.275 15.0196 9.89673 40.4451 -19.28 14.7451 8.91951 40.6041 -19.285 14.4365 7.95547 40.6795 -19.29 14.0962 7.01469 40.6743 -19.295 13.7277 6.10392 40.5927 -19.3 13.3339 5.22905 40.4394 -19.305 12.9181 4.39514 40.2196 -19.31 12.4834 3.60638 39.9388 -19.315 12.0327 2.86612 39.603 -19.32 11.5692 2.17684 39.2187 -19.325 11.0959 1.54019 38.7928 -19.33 10.6155 0.956939 38.3326 -19.335 10.1312 0.427034 37.846 -19.34 9.64565 -0.0504487 37.341 -19.345 9.16176 -0.477281 36.8265 -19.35 8.68218 -0.856334 36.3086 -19.355 8.20879 -1.19135 35.7851 -19.36 7.74321 -1.4851 35.2585 -19.365 7.28691 -1.74034 34.7315 -19.37 6.84122 -1.9598 34.2065 -19.375 6.40727 -2.14626 33.6854 -19.38 5.98604 -2.30249 33.1702 -19.385 5.57834 -2.4313 32.6623 -19.39 5.18482 -2.53551 32.1628 -19.395 4.80595 -2.61796 31.6726 -19.4 4.44206 -2.68149 31.1922 -19.405 4.0933 -2.72898 30.7219 -19.41 3.75965 -2.76331 30.2616 -19.415 3.44099 -2.78624 29.8113 -19.42 3.13711 -2.7987 29.371 -19.425 2.84766 -2.80223 28.9406 -19.43 2.57229 -2.79829 28.5197 -19.435 2.31062 -2.78821 28.1081 -19.44 2.06225 -2.77323 27.7055 -19.445 1.82676 -2.75449 27.3117 -19.45 1.60369 -2.73302 26.9264 -19.455 1.3926 -2.70977 26.5494 -19.46 1.19298 -2.68556 26.1803 -19.465 1.00434 -2.66112 25.8189 -19.47 0.826139 -2.63708 25.4648 -19.475 0.657828 -2.61397 25.1179 -19.48 0.498833 -2.59221 24.7778 -19.485 0.348533 -2.57215 24.4441 -19.49 0.206328 -2.55418 24.1168 -19.495 0.0717854 -2.5386 23.7955 -19.5 -0.0555226 -2.52569 23.4802 -19.505 -0.176026 -2.51569 23.1706 -19.51 -0.290159 -2.50883 22.8666 -19.515 -0.398356 -2.50529 22.5681 -19.52 -0.501057 -2.50525 22.2748 -19.525 -0.598702 -2.50885 21.9868 -19.53 -0.691736 -2.5162 21.7037 -19.535 -0.780605 -2.5274 21.4257 -19.54 -0.865759 -2.54252 21.1524 -19.545 -0.94765 -2.56157 20.8838 -19.55 -1.02673 -2.58459 20.6199 -19.555 -1.10341 -2.61159 20.3605 -19.56 -1.17791 -2.64266 20.1057 -19.565 -1.25046 -2.67791 19.8554 -19.57 -1.32131 -2.71742 19.6096 -19.575 -1.39069 -2.76129 19.3683 -19.58 -1.45886 -2.8096 19.1314 -19.585 -1.52607 -2.86242 18.8991 -19.59 -1.59258 -2.91984 18.6712 -19.595 -1.65865 -2.98192 18.4478 -19.6 -1.72455 -3.04873 18.2289 -19.605 -1.79056 -3.12033 18.0145 -19.61 -1.85696 -3.19678 17.8046 -19.615 -1.92402 -3.27813 17.5993 -19.62 -1.99204 -3.36443 17.3985 -19.625 -2.06127 -3.45574 17.2024 -19.63 -2.13185 -3.55225 17.011 -19.635 -2.2039 -3.65412 16.8245 -19.64 -2.27757 -3.76155 16.6429 -19.645 -2.35301 -3.87473 16.4663 -19.65 -2.43037 -3.99382 16.2949 -19.655 -2.50983 -4.11902 16.1288 -19.66 -2.59157 -4.2505 15.9681 -19.665 -2.67577 -4.38843 15.8131 -19.67 -2.76265 -4.533 15.6639 -19.675 -2.8524 -4.68437 15.5208 -19.68 -2.94526 -4.84271 15.3839 -19.685 -3.04145 -5.0082 15.2535 -19.69 -3.14122 -5.181 15.1298 -19.695 -3.24482 -5.36127 15.0131 -19.7 -3.35251 -5.54918 14.9037 -19.705 -3.46448 -5.74478 14.8019 -19.71 -3.58085 -5.94831 14.7081 -19.715 -3.70177 -6.16015 14.6228 -19.72 -3.82741 -6.38065 14.5464 -19.725 -3.95793 -6.61014 14.4792 -19.73 -4.09352 -6.84885 14.4219 -19.735 -4.23435 -7.09701 14.375 -19.74 -4.38057 -7.35479 14.3391 -19.745 -4.53238 -7.6223 14.3148 -19.75 -4.68996 -7.89962 14.3029 -19.755 -4.85346 -8.18677 14.304 -19.76 -5.0231 -8.48375 14.3189 -19.765 -5.19903 -8.79047 14.3485 -19.77 -5.38146 -9.10685 14.3936 -19.775 -5.57056 -9.4327 14.4551 -19.78 -5.76653 -9.76785 14.534 -19.785 -5.96955 -10.112 14.6313 -19.79 -6.17983 -10.4649 14.748 -19.795 -6.39753 -10.8262 14.8852 -19.8 -6.62205 -11.1951 15.0426 -19.805 -6.85327 -11.5709 15.2215 -19.81 -7.09147 -11.953 15.424 -19.815 -7.33681 -12.3408 15.6521 -19.82 -7.58936 -12.7333 15.9074 -19.825 -7.84908 -13.1292 16.1915 -19.83 -8.11582 -13.5272 16.5056 -19.835 -8.38933 -13.9256 16.851 -19.84 -8.66925 -14.3226 17.2285 -19.845 -8.95513 -14.7161 17.639 -19.85 -9.24639 -15.1038 18.0829 -19.855 -9.54236 -15.4833 18.5606 -19.86 -9.84228 -15.8517 19.0722 -19.865 -10.1453 -16.2061 19.6178 -19.87 -10.4503 -16.5434 20.197 -19.875 -10.7563 -16.8602 20.8095 -19.88 -11.0621 -17.1529 21.4546 -19.885 -11.3664 -17.4176 22.1316 -19.89 -11.6678 -17.6503 22.8393 -19.895 -11.9648 -17.8467 23.5766 -19.9 -12.2557 -18.0025 24.3421 -19.905 -12.5397 -18.1151 25.1343 -19.91 -12.8149 -18.1816 25.9483 -19.915 -13.0787 -18.1982 26.778 -19.92 -13.329 -18.1621 27.6176 -19.925 -13.5635 -18.0709 28.4613 -19.93 -13.7801 -17.9228 29.3032 -19.935 -13.977 -17.717 30.1378 -19.94 -14.1524 -17.4529 30.9593 -19.945 -14.3046 -17.1308 31.7623 -19.95 -14.4322 -16.7518 32.5413 -19.955 -14.5337 -16.3172 33.2909 -19.96 -14.608 -15.8294 34.0057 -19.965 -14.6539 -15.2913 34.6806 -19.97 -14.6705 -14.7062 35.3102 -19.975 -14.6569 -14.0785 35.8896 -19.98 -14.6124 -13.4127 36.4131 -19.985 -14.5365 -12.7146 36.8734 -19.99 -14.4296 -11.9923 37.2695 -19.995 -14.2927 -11.2538 37.6017 -20 -14.1266 -10.5064 37.8703 -20.005 -13.9324 -9.75703 38.0763 -20.01 -13.7115 -9.01173 38.2209 -20.015 -13.4653 -8.27618 38.3054 -20.02 -13.1954 -7.55539 38.3317 -20.025 -12.9036 -6.85383 38.3019 -20.03 -12.5918 -6.17536 38.2185 -20.035 -12.2622 -5.52327 38.0843 -20.04 -11.917 -4.90027 37.9023 -20.045 -11.5587 -4.30847 37.6759 -20.05 -11.1898 -3.74943 37.409 -20.055 -10.8132 -3.22411 37.1055 -20.06 -10.4308 -2.73424 36.7714 -20.065 -10.0441 -2.28145 36.4126 -20.07 -9.65498 -1.86552 36.0324 -20.075 -9.26554 -1.48599 35.6343 -20.08 -8.87751 -1.1421 35.2215 -20.085 -8.49254 -0.832844 34.7969 -20.09 -8.11212 -0.556945 34.3632 -20.095 -7.7376 -0.312856 33.9231 -20.1 -7.37017 -0.0987661 33.479 -20.105 -7.01088 0.0874025 33.0331 -20.11 -6.66064 0.247995 32.5873 -20.115 -6.32021 0.385623 32.1436 -20.12 -5.99017 0.503162 31.7036 -20.125 -5.67109 0.602075 31.2677 -20.13 -5.36329 0.683149 30.8361 -20.135 -5.06695 0.748063 30.4092 -20.14 -4.78219 0.79841 29.9876 -20.145 -4.50911 0.835694 29.5715 -20.15 -4.24773 0.861336 29.1612 -20.155 -3.99802 0.876671 28.757 -20.16 -3.75992 0.882947 28.3591 -20.165 -3.53331 0.881327 27.9675 -20.17 -3.31803 0.872887 27.5823 -20.175 -3.11384 0.858619 27.2033 -20.18 -2.92049 0.839428 26.8304 -20.185 -2.73766 0.816132 26.4635 -20.19 -2.5649 0.789413 26.1024 -20.195 -2.40182 0.759834 25.7472 -20.2 -2.24811 0.72792 25.3976 -20.205 -2.10346 0.694154 25.0535 -20.21 -1.96755 0.658979 24.7148 -20.215 -1.84005 0.622794 24.3814 -20.22 -1.72063 0.585958 24.0531 -20.225 -1.60893 0.548789 23.7298 -20.23 -1.50463 0.511562 23.4113 -20.235 -1.40735 0.47451 23.0977 -20.24 -1.31674 0.437826 22.7886 -20.245 -1.23243 0.40166 22.4842 -20.25 -1.15405 0.366121 22.1841 -20.255 -1.08122 0.331277 21.8884 -20.26 -1.01355 0.297153 21.5968 -20.265 -0.95064 0.263733 21.3094 -20.27 -0.892179 0.231018 21.0261 -20.275 -0.838032 0.19911 20.7466 -20.28 -0.788008 0.168048 20.4711 -20.285 -0.74191 0.137856 20.1994 -20.29 -0.699544 0.108544 19.9314 -20.295 -0.660713 0.0801128 19.6671 -20.3 -0.625223 0.0525463 19.4064 -20.305 -0.592877 0.0258178 19.1493 -20.31 -0.563478 -0.000112762 18.8956 -20.315 -0.536832 -0.0252981 18.6454 -20.32 -0.51274 -0.049804 18.3986 -20.325 -0.491008 -0.0737089 18.1551 -20.33 -0.471436 -0.097104 17.9149 -20.335 -0.453829 -0.120093 17.6779 -20.34 -0.438068 -0.142735 17.444 -20.345 -0.424113 -0.165032 17.2133 -20.35 -0.411894 -0.18702 16.9857 -20.355 -0.401338 -0.208738 16.7611 -20.36 -0.392374 -0.230232 16.5396 -20.365 -0.384931 -0.251552 16.321 -20.37 -0.378936 -0.272754 16.1053 -20.375 -0.374319 -0.2939 15.8925 -20.38 -0.371006 -0.315057 15.6826 -20.385 -0.368927 -0.336297 15.4755 -20.39 -0.368009 -0.357699 15.2712 -20.395 -0.368181 -0.379346 15.0696 -20.4 -0.369371 -0.401326 14.8707 -20.405 -0.371508 -0.423735 14.6745 -20.41 -0.374579 -0.446625 14.481 -20.415 -0.378593 -0.470033 14.29 -20.42 -0.383549 -0.494004 14.1017 -20.425 -0.389446 -0.518589 13.9159 -20.43 -0.396281 -0.543846 13.7326 -20.435 -0.404054 -0.569836 13.5518 -20.44 -0.412764 -0.596624 13.3735 -20.445 -0.42241 -0.624282 13.1976 -20.45 -0.432992 -0.652885 13.0242 -20.455 -0.44451 -0.682516 12.8531 -20.46 -0.456965 -0.713259 12.6845 -20.465 -0.470355 -0.745206 12.5181 -20.47 -0.484684 -0.778453 12.3542 -20.475 -0.49995 -0.8131 12.1925 -20.48 -0.516156 -0.849253 12.0331 -20.485 -0.533323 -0.887013 11.876 -20.49 -0.551523 -0.926449 11.7211 -20.495 -0.570793 -0.967644 11.5686 -20.5 -0.591171 -1.01069 11.4182 -20.505 -0.612697 -1.05569 11.2701 -20.51 -0.635417 -1.10275 11.1241 -20.515 -0.659379 -1.15199 10.9804 -20.52 -0.684635 -1.20352 10.8389 -20.525 -0.711238 -1.25748 10.6996 -20.53 -0.739248 -1.31401 10.5625 -20.535 -0.768726 -1.37324 10.4276 -20.54 -0.799738 -1.43534 10.2949 -20.545 -0.832352 -1.50046 10.1645 -20.55 -0.866639 -1.56876 10.0364 -20.555 -0.902677 -1.64043 9.91047 -20.56 -0.940542 -1.71564 9.78689 -20.565 -0.980317 -1.79459 9.66564 -20.57 -1.02209 -1.87746 9.54676 -20.575 -1.06595 -1.96447 9.43028 -20.58 -1.11208 -2.05573 9.31637 -20.585 -1.16071 -2.15135 9.2052 -20.59 -1.21188 -2.25164 9.09671 -20.595 -1.26568 -2.35688 8.99089 -20.6 -1.32217 -2.4674 8.88775 -20.605 -1.38146 -2.58352 8.78733 -20.61 -1.44366 -2.70557 8.68971 -20.615 -1.5089 -2.83387 8.59497 -20.62 -1.57731 -2.96879 8.50324 -20.625 -1.64905 -3.11067 8.41469 -20.63 -1.72428 -3.25988 8.32948 -20.635 -1.80318 -3.41679 8.24784 -20.64 -1.88596 -3.58176 8.17001 -20.645 -1.97281 -3.7552 8.09625 -20.65 -2.06396 -3.9375 8.02687 -20.655 -2.15965 -4.12906 7.9622 -20.66 -2.26013 -4.33029 7.90258 -20.665 -2.36566 -4.54162 7.8484 -20.67 -2.47651 -4.76347 7.80009 -20.675 -2.59299 -4.99627 7.75807 -20.68 -2.7154 -5.24048 7.72283 -20.685 -2.84405 -5.49654 7.69486 -20.69 -2.97929 -5.76493 7.67469 -20.695 -3.12145 -6.0461 7.66288 -20.7 -3.2709 -6.34053 7.66001 -20.705 -3.42801 -6.64869 7.66672 -20.71 -3.59266 -6.9694 7.68442 -20.715 -3.76507 -7.30307 7.71421 -20.72 -3.94578 -7.65132 7.75683 -20.725 -4.13529 -8.01554 7.81314 -20.73 -4.33408 -8.39685 7.88417 -20.735 -4.54259 -8.79618 7.97107 -20.74 -4.76122 -9.21419 8.07516 -20.745 -4.99033 -9.65132 8.19789 -20.75 -5.23026 -10.1078 8.34084 -20.755 -5.48131 -10.5835 8.50577 -20.76 -5.74374 -11.0782 8.69457 -20.765 -6.01776 -11.5914 8.90927 -20.77 -6.30358 -12.1223 9.15204 -20.775 -6.60135 -12.6699 9.42521 -20.78 -6.91119 -13.2331 9.73126 -20.785 -7.23319 -13.8103 10.0728 -20.79 -7.56739 -14.3998 10.4526 -20.795 -7.91381 -14.9998 10.8735 -20.8 -8.27243 -15.608 11.3386 -20.805 -8.64319 -16.222 11.8511 -20.81 -9.02601 -16.8392 12.4143 -20.815 -9.42075 -17.4566 13.0318 -20.82 -9.82725 -18.0713 13.7071 -20.825 -10.244 -18.68 14.44 -20.83 -10.6696 -19.2766 15.2315 -20.835 -11.1027 -19.8537 16.0848 -20.84 -11.5422 -20.4034 17.002 -20.845 -11.9864 -20.9182 17.9836 -20.85 -12.4332 -21.3903 19.0292 -20.855 -12.8804 -21.8119 20.1372 -20.86 -13.3253 -22.1752 21.3045 -20.865 -13.7651 -22.4722 22.527 -20.87 -14.1965 -22.6949 23.7994 -20.875 -14.6161 -22.8354 25.115 -20.88 -15.0199 -22.8854 26.466 -20.885 -15.4037 -22.837 27.8435 -20.89 -15.7633 -22.6817 29.2372 -20.895 -16.0961 -22.4062 30.6411 -20.9 -16.3982 -22.0094 32.0396 -20.905 -16.6641 -21.4973 33.4126 -20.91 -16.8894 -20.8762 34.7419 -20.915 -17.0701 -20.1529 36.0113 -20.92 -17.203 -19.3346 37.2068 -20.925 -17.2856 -18.4286 38.3162 -20.93 -17.3162 -17.4429 39.3291 -20.935 -17.2937 -16.3855 40.2376 -20.94 -17.2177 -15.265 41.0352 -20.945 -17.0886 -14.0903 41.7178 -20.95 -16.9074 -12.8706 42.2831 -20.955 -16.6759 -11.6154 42.7308 -20.96 -16.3964 -10.3351 43.0626 -20.965 -16.0686 -9.05543 43.2744 -20.97 -15.6946 -7.79752 43.3677 -20.975 -15.2786 -6.57329 43.3492 -20.98 -14.8248 -5.39317 43.226 -20.985 -14.3373 -4.26611 43.0062 -20.99 -13.8204 -3.19959 42.6984 -20.995 -13.2784 -2.19966 42.312 -21 -12.7157 -1.27086 41.8571 -21.005 -12.1365 -0.416285 41.3445 -21.01 -11.5453 0.362435 40.7854 -21.015 -10.9463 1.06514 40.1921 -21.02 -10.3441 1.69315 39.5774 -21.025 -9.743 2.24949 38.9533 -21.03 -9.14595 2.7398 38.3209 -21.035 -8.55567 3.16841 37.6841 -21.04 -7.97466 3.53937 37.0475 -21.045 -7.40514 3.85684 36.4153 -21.05 -6.84904 4.12509 35.791 -21.055 -6.30804 4.34848 35.1775 -21.06 -5.7835 4.53146 34.5772 -21.065 -5.27651 4.67858 33.9919 -21.07 -4.7879 4.7945 33.4228 -21.075 -4.31818 4.88396 32.8707 -21.08 -3.86762 4.95182 32.3354 -21.085 -3.43632 5.00152 31.8171 -21.09 -3.02424 5.0344 31.3156 -21.095 -2.63103 5.05299 30.8303 -21.1 -2.25631 5.05965 30.3609 -21.105 -1.89965 5.05659 29.9066 -21.11 -1.56058 5.04581 29.467 -21.115 -1.2386 5.02916 29.0416 -21.12 -0.933168 5.00831 28.6296 -21.125 -0.643688 4.98474 28.2306 -21.13 -0.369538 4.95978 27.8441 -21.135 -0.110055 4.93456 27.4693 -21.14 0.135468 4.91006 27.1059 -21.145 0.367774 4.88705 26.7531 -21.15 0.587649 4.86616 26.4104 -21.155 0.796068 4.84804 26.0772 -21.16 0.993786 4.83327 25.7531 -21.165 1.18137 4.82225 25.4379 -21.17 1.35939 4.81535 25.1312 -21.175 1.52843 4.81291 24.8327 -21.18 1.68908 4.81524 24.5422 -21.185 1.84192 4.82262 24.2595 -21.19 1.98757 4.83527 23.9842 -21.195 2.12661 4.85341 23.7163 -21.2 2.25967 4.87722 23.4555 -21.205 2.38737 4.90684 23.2017 -21.21 2.51032 4.94238 22.9547 -21.215 2.62917 4.98392 22.7144 -21.22 2.74456 5.03151 22.4806 -21.225 2.85712 5.08515 22.2534 -21.23 2.96736 5.14482 22.0326 -21.235 3.07551 5.21053 21.8183 -21.24 3.18186 5.28238 21.6107 -21.245 3.28671 5.36045 21.4097 -21.25 3.39035 5.44482 21.2156 -21.255 3.49309 5.53554 21.0284 -21.26 3.59524 5.63266 20.8482 -21.265 3.69712 5.7362 20.6751 -21.27 3.79905 5.84617 20.5092 -21.275 3.90136 5.96259 20.3508 -21.28 4.00437 6.08544 20.1998 -21.285 4.10842 6.21469 20.0565 -21.29 4.21387 6.35031 19.9211 -21.295 4.32104 6.49224 19.7936 -21.3 4.43031 6.64041 19.6743 -21.305 4.54192 6.79474 19.5633 -21.31 4.65595 6.95525 19.4611 -21.315 4.77252 7.12203 19.3679 -21.32 4.89175 7.29515 19.2841 -21.325 5.01378 7.47463 19.2101 -21.33 5.13874 7.66045 19.1463 -21.335 5.26674 7.85256 19.0931 -21.34 5.39791 8.05087 19.0508 -21.345 5.53236 8.25523 19.0199 -21.35 5.67022 8.46549 19.0008 -21.355 5.8116 8.68143 18.9938 -21.36 5.9566 8.9028 18.9995 -21.365 6.10535 9.12931 19.0183 -21.37 6.25794 9.36064 19.0506 -21.375 6.41449 9.59643 19.0969 -21.38 6.5751 9.83626 19.1577 -21.385 6.73987 10.0797 19.2333 -21.39 6.90874 10.3263 19.3241 -21.395 7.08135 10.5758 19.43 -21.4 7.25767 10.8276 19.5519 -21.405 7.43768 11.0808 19.6907 -21.41 7.62129 11.3347 19.8472 -21.415 7.80837 11.5885 20.0221 -21.42 7.99874 11.8413 20.2159 -21.425 8.19219 12.092 20.429 -21.43 8.38845 12.3395 20.6618 -21.435 8.58719 12.5829 20.9144 -21.44 8.78806 12.8209 21.1869 -21.445 8.99065 13.0522 21.4792 -21.45 9.19451 13.2755 21.7912 -21.455 9.39914 13.4894 22.1225 -21.46 9.60398 13.6926 22.4728 -21.465 9.80844 13.8834 22.8416 -21.47 10.0119 14.0602 23.2282 -21.475 10.2136 14.2216 23.6318 -21.48 10.4129 14.3656 24.0516 -21.485 10.609 14.4905 24.4866 -21.49 10.801 14.5946 24.9356 -21.495 10.9882 14.6759 25.3977 -21.5 11.1704 14.7335 25.8723 -21.505 11.3462 14.766 26.3569 -21.51 11.5146 14.7724 26.8487 -21.515 11.6743 14.7515 27.3447 -21.52 11.8244 14.7027 27.8424 -21.525 11.9637 14.6254 28.3388 -21.53 12.0913 14.5192 28.8315 -21.535 12.2065 14.3841 29.3179 -21.54 12.3084 14.2201 29.7955 -21.545 12.3963 14.0276 30.2617 -21.55 12.4696 13.8071 30.7144 -21.555 12.5278 13.5594 31.1511 -21.56 12.5704 13.2855 31.5696 -21.565 12.597 12.9865 31.9677 -21.57 12.6072 12.664 32.3433 -21.575 12.6009 12.3194 32.6944 -21.58 12.5778 11.9548 33.019 -21.585 12.5379 11.572 33.315 -21.59 12.4809 11.1739 33.58 -21.595 12.4067 10.7639 33.8121 -21.6 12.3158 10.345 34.0111 -21.605 12.209 9.92034 34.1771 -21.61 12.0867 9.49273 34.3101 -21.615 11.9498 9.06481 34.4106 -21.62 11.799 8.63909 34.4788 -21.625 11.635 8.21787 34.5154 -21.63 11.4587 7.80329 34.5211 -21.635 11.271 7.39732 34.4968 -21.64 11.0728 7.00176 34.4434 -21.645 10.8651 6.61823 34.3621 -21.65 10.649 6.24818 34.2541 -21.655 10.4255 5.89288 34.121 -21.66 10.1957 5.55343 33.9642 -21.665 9.96076 5.23078 33.7856 -21.67 9.72199 4.92567 33.5869 -21.675 9.48061 4.63869 33.3702 -21.68 9.23777 4.37015 33.1377 -21.685 8.99418 4.11991 32.8915 -21.69 8.75075 3.88796 32.633 -21.695 8.50836 3.6742 32.3637 -21.7 8.26783 3.47843 32.0846 -21.705 8.02992 3.3004 31.7971 -21.71 7.79534 3.13974 31.5023 -21.715 7.56477 2.99599 31.2014 -21.72 7.33879 2.86863 30.8955 -21.725 7.11796 2.75703 30.5855 -21.73 6.90278 2.66047 30.2726 -21.735 6.69367 2.57815 29.9576 -21.74 6.49102 2.50918 29.6415 -21.745 6.29517 2.45258 29.3251 -21.75 6.10638 2.40729 29.0092 -21.755 5.92487 2.37216 28.6947 -21.76 5.75082 2.34593 28.3821 -21.765 5.58431 2.32785 28.0719 -21.77 5.42535 2.31841 27.7637 -21.775 5.27392 2.31713 27.4576 -21.78 5.12999 2.32348 27.1539 -21.785 4.99354 2.33697 26.8528 -21.79 4.86451 2.35714 26.5545 -21.795 4.74286 2.38354 26.2593 -21.8 4.62852 2.41579 25.9672 -21.805 4.52142 2.4535 25.6785 -21.81 4.42148 2.49633 25.3933 -21.815 4.32861 2.54397 25.1116 -21.82 4.2427 2.59615 24.8337 -21.825 4.16364 2.65261 24.5596 -21.83 4.09133 2.71312 24.2894 -21.835 4.02562 2.77751 24.0231 -21.84 3.96638 2.8456 23.7609 -21.845 3.91346 2.91727 23.5026 -21.85 3.86662 2.99249 23.2484 -21.855 3.82559 3.07128 22.9985 -21.86 3.79031 3.15356 22.7529 -21.865 3.76073 3.23927 22.5116 -21.87 3.7368 3.32833 22.2747 -21.875 3.71848 3.42073 22.0422 -21.88 3.7057 3.51644 21.8143 -21.885 3.69841 3.61547 21.591 -21.89 3.69652 3.71784 21.3724 -21.895 3.69998 3.82359 21.1585 -21.9 3.7087 3.93279 20.9496 -21.905 3.72262 4.0455 20.7456 -21.91 3.74163 4.16184 20.5468 -21.915 3.76566 4.28192 20.3533 -21.92 3.79461 4.40588 20.1652 -21.925 3.82839 4.53388 19.9826 -21.93 3.86689 4.66608 19.8057 -21.935 3.91001 4.8027 19.6348 -21.94 3.95763 4.94394 19.4699 -21.945 4.00965 5.09004 19.3113 -21.95 4.06602 5.24113 19.1591 -21.955 4.12698 5.39705 19.0136 -21.96 4.1926 5.55796 18.875 -21.965 4.26296 5.72403 18.7436 -21.97 4.33811 5.89541 18.6196 -21.975 4.41812 6.07224 18.5032 -21.98 4.50304 6.25462 18.3947 -21.985 4.59292 6.44268 18.2945 -21.99 4.68781 6.63649 18.2029 -21.995 4.78775 6.83613 18.1203 -22 4.89277 7.04165 18.0471 -22.005 5.00291 7.2531 17.9836 -22.01 5.11819 7.47049 17.9304 -22.015 5.23865 7.69383 17.8878 -22.02 5.3643 7.92312 17.8563 -22.025 5.49516 8.15833 17.8365 -22.03 5.63123 8.39942 17.8289 -22.035 5.77254 8.64633 17.834 -22.04 5.91907 8.899 17.8524 -22.045 6.07083 9.15733 17.8847 -22.05 6.22768 9.42106 17.9312 -22.055 6.3891 9.68935 17.991 -22.06 6.55526 9.96198 18.0653 -22.065 6.72638 10.2387 18.1555 -22.07 6.9026 10.5192 18.2626 -22.075 7.084 10.8029 18.3879 -22.08 7.27062 11.0894 18.5321 -22.085 7.46242 11.378 18.6963 -22.09 7.65931 11.6678 18.881 -22.095 7.86112 11.9581 19.0871 -22.1 8.06764 12.2478 19.3148 -22.105 8.27859 12.5358 19.5647 -22.11 8.49364 12.8209 19.8371 -22.115 8.71239 13.1019 20.132 -22.12 8.93437 13.3773 20.4496 -22.125 9.15907 13.6455 20.7898 -22.13 9.38591 13.905 21.1525 -22.135 9.61424 14.1541 21.5373 -22.14 9.84337 14.3908 21.9439 -22.145 10.0725 14.6133 22.3717 -22.15 10.3009 14.8194 22.8202 -22.155 10.5276 15.0071 23.2886 -22.16 10.7516 15.174 23.7761 -22.165 10.9721 15.3177 24.2816 -22.17 11.1878 15.4359 24.8043 -22.175 11.3977 15.5259 25.3427 -22.18 11.6008 15.5852 25.8959 -22.185 11.7969 15.6134 26.4617 -22.19 11.9845 15.6092 27.0365 -22.195 12.162 15.5716 27.6163 -22.2 12.3282 15.4998 28.1972 -22.205 12.4816 15.3934 28.7757 -22.21 12.6211 15.252 29.3482 -22.215 12.7455 15.0758 29.9114 -22.22 12.854 14.8649 30.462 -22.225 12.9457 14.6201 30.997 -22.23 13.0197 14.3421 31.5132 -22.235 13.0755 14.032 32.008 -22.24 13.1125 13.6913 32.4786 -22.245 13.1304 13.3215 32.9225 -22.25 13.1288 12.9246 33.3372 -22.255 13.1075 12.5028 33.7203 -22.26 13.0664 12.0586 34.0699 -22.265 13.0056 11.5946 34.3837 -22.27 12.9248 11.1147 34.6592 -22.275 12.824 10.6236 34.8941 -22.28 12.7039 10.1252 35.0886 -22.285 12.5654 9.62321 35.2431 -22.29 12.4094 9.12099 35.3581 -22.295 12.2368 8.62174 35.4342 -22.3 12.0487 8.1284 35.4723 -22.305 11.8461 7.64371 35.4735 -22.31 11.6301 7.17013 35.4391 -22.315 11.4018 6.70994 35.3703 -22.32 11.1625 6.26515 35.2689 -22.325 10.9133 5.83755 35.1365 -22.33 10.6557 5.42871 34.9751 -22.335 10.391 5.03996 34.7868 -22.34 10.1205 4.67238 34.574 -22.345 9.84575 4.32684 34.3391 -22.35 9.5682 4.00399 34.0847 -22.355 9.28932 3.70406 33.8137 -22.36 9.01006 3.42637 33.5283 -22.365 8.73145 3.17062 33.2303 -22.37 8.45452 2.9365 32.9212 -22.375 8.18021 2.7236 32.6025 -22.38 7.90939 2.53143 32.2758 -22.385 7.64289 2.35936 31.9425 -22.39 7.38144 2.20671 31.6038 -22.395 7.1257 2.07266 31.261 -22.4 6.87628 1.95632 30.9153 -22.405 6.63371 1.8567 30.5677 -22.41 6.39844 1.77268 30.2193 -22.415 6.17087 1.70308 29.871 -22.42 5.95132 1.6466 29.5237 -22.425 5.74003 1.60186 29.1781 -22.43 5.53719 1.56735 28.835 -22.435 5.34291 1.54174 28.495 -22.44 5.1572 1.52543 28.1576 -22.445 4.98002 1.51796 27.823 -22.45 4.81132 1.51865 27.4915 -22.455 4.65103 1.52687 27.1631 -22.46 4.49908 1.54201 26.8382 -22.465 4.35537 1.56352 26.5167 -22.47 4.2198 1.59087 26.199 -22.475 4.09227 1.6236 25.8851 -22.48 3.97265 1.66126 25.575 -22.485 3.8608 1.70346 25.269 -22.49 3.75657 1.74983 24.9669 -22.495 3.65981 1.80007 24.669 -22.5 3.57034 1.85389 24.3751 -22.505 3.48798 1.91105 24.0854 -22.51 3.41253 1.97136 23.7997 -22.515 3.34377 2.03467 23.5181 -22.52 3.28133 2.10096 23.2407 -22.525 3.22506 2.17011 22.9674 -22.53 3.17486 2.24202 22.6983 -22.535 3.13064 2.31658 22.4334 -22.54 3.09228 2.39374 22.1728 -22.545 3.05968 2.47344 21.9163 -22.55 3.03273 2.55566 21.6641 -22.555 3.0113 2.6404 21.4161 -22.56 2.99527 2.72769 21.1725 -22.565 2.98452 2.81758 20.9332 -22.57 2.97893 2.91014 20.6984 -22.575 2.97836 3.00546 20.4679 -22.58 2.98267 3.10367 20.242 -22.585 2.99172 3.2049 20.0207 -22.59 3.00538 3.30932 19.804 -22.595 3.02349 3.41712 19.5921 -22.6 3.04591 3.52851 19.3849 -22.605 3.07247 3.64373 19.1826 -22.61 3.10318 3.76289 18.9854 -22.615 3.13817 3.88602 18.7933 -22.62 3.17748 4.01326 18.6064 -22.625 3.22115 4.14476 18.4249 -22.63 3.26921 4.2807 18.2489 -22.635 3.3217 4.42122 18.0784 -22.64 3.37866 4.56652 17.9138 -22.645 3.44013 4.71675 17.7551 -22.65 3.50614 4.87211 17.6026 -22.655 3.57673 5.03277 17.4565 -22.66 3.65194 5.19894 17.317 -22.665 3.73182 5.3708 17.1845 -22.67 3.8164 5.54855 17.0591 -22.675 3.90572 5.73241 16.9412 -22.68 3.99983 5.92259 16.8312 -22.685 4.09877 6.1193 16.7293 -22.69 4.20258 6.32276 16.6359 -22.695 4.3113 6.5332 16.5515 -22.7 4.42498 6.75073 16.4763 -22.705 4.5437 6.97488 16.4108 -22.71 4.66764 7.20594 16.3554 -22.715 4.79699 7.44426 16.3108 -22.72 4.9319 7.69013 16.2774 -22.725 5.07252 7.94373 16.2559 -22.73 5.21896 8.20519 16.247 -22.735 5.37133 8.47454 16.2513 -22.74 5.5297 8.75174 16.2694 -22.745 5.69415 9.03664 16.3022 -22.75 5.86472 9.32905 16.3502 -22.755 6.04143 9.62867 16.4143 -22.76 6.22429 9.93513 16.4952 -22.765 6.41328 10.248 16.5937 -22.77 6.60837 10.5667 16.7105 -22.775 6.8095 10.8906 16.8466 -22.78 7.01661 11.2191 17.0028 -22.785 7.2296 11.5513 17.18 -22.79 7.44836 11.8865 17.3789 -22.795 7.67276 12.2235 17.6007 -22.8 7.90265 12.5616 17.8461 -22.805 8.13787 12.8994 18.1162 -22.81 8.37822 13.236 18.412 -22.815 8.62328 13.5702 18.7336 -22.82 8.87244 13.9008 19.0809 -22.825 9.12528 14.2253 19.455 -22.83 9.3813 14.5411 19.8568 -22.835 9.63992 14.8458 20.2866 -22.84 9.90046 15.1369 20.7446 -22.845 10.1622 15.4118 21.2306 -22.85 10.4242 15.6682 21.7442 -22.855 10.6856 15.9035 22.2846 -22.86 10.9454 16.1152 22.8505 -22.865 11.2025 16.301 23.4406 -22.87 11.4556 16.4582 24.0532 -22.875 11.7035 16.5845 24.6861 -22.88 11.9448 16.6774 25.3369 -22.885 12.178 16.7345 26.003 -22.89 12.4017 16.7532 26.6812 -22.895 12.6141 16.7312 27.3684 -22.9 12.8137 16.6658 28.0609 -22.905 13 16.552 28.7572 -22.91 13.1716 16.3903 29.452 -22.915 13.3263 16.1828 30.1389 -22.92 13.4626 15.9314 30.812 -22.925 13.5788 15.6384 31.466 -22.93 13.6737 15.3061 32.0959 -22.935 13.7463 14.9368 32.6973 -22.94 13.7956 14.5327 33.2664 -22.945 13.8211 14.0962 33.7995 -22.95 13.8223 13.6299 34.2936 -22.955 13.799 13.1363 34.7463 -22.96 13.7514 12.6179 35.1554 -22.965 13.6796 12.0773 35.5194 -22.97 13.5841 11.5173 35.837 -22.975 13.4657 10.9406 36.1078 -22.98 13.3251 10.3499 36.3314 -22.985 13.1637 9.74821 36.5082 -22.99 12.9819 9.14087 36.638 -22.995 12.7791 8.53836 36.7195 -23 12.5569 7.94483 36.7539 -23.005 12.3169 7.36369 36.7425 -23.01 12.0608 6.79804 36.6873 -23.015 11.7904 6.25067 36.5901 -23.02 11.5073 5.72406 36.4532 -23.025 11.2131 5.22034 36.279 -23.03 10.9095 4.74136 36.0702 -23.035 10.598 4.28861 35.8295 -23.04 10.2803 3.86331 35.5603 -23.045 9.95798 3.46631 35.2657 -23.05 9.63252 3.09819 34.9494 -23.055 9.30549 2.75918 34.6152 -23.06 8.97843 2.44919 34.267 -23.065 8.65285 2.16784 33.9092 -23.07 8.33023 1.91419 33.5453 -23.075 8.01183 1.68586 33.1744 -23.08 7.69852 1.48155 32.7971 -23.085 7.39113 1.30019 32.4152 -23.09 7.09038 1.14066 32.0299 -23.095 6.79695 1.0018 31.6425 -23.1 6.51143 0.882445 31.2542 -23.105 6.23433 0.781374 30.8661 -23.11 5.96612 0.697345 30.479 -23.115 5.70718 0.629082 30.0938 -23.12 5.45782 0.575278 29.7112 -23.125 5.21827 0.534592 29.3318 -23.13 4.98871 0.505653 28.956 -23.135 4.76924 0.487056 28.5842 -23.14 4.55987 0.477366 28.2167 -23.145 4.36058 0.475115 27.8534 -23.15 4.17119 0.479638 27.4947 -23.155 3.99145 0.491051 27.1404 -23.16 3.82117 0.50867 26.7907 -23.165 3.66017 0.531855 26.4455 -23.17 3.50825 0.560013 26.105 -23.175 3.36519 0.592595 25.769 -23.18 3.23077 0.629104 25.4376 -23.185 3.10477 0.669088 25.1108 -23.19 2.98696 0.712141 24.7886 -23.195 2.87708 0.757908 24.4709 -23.2 2.7749 0.806079 24.1577 -23.205 2.68014 0.856391 23.849 -23.21 2.59254 0.90863 23.5447 -23.215 2.51182 0.962628 23.2447 -23.22 2.43769 1.01826 22.949 -23.225 2.36987 1.07547 22.6576 -23.23 2.30802 1.13416 22.3703 -23.235 2.25196 1.19425 22.0872 -23.24 2.20155 1.25567 21.8082 -23.245 2.15662 1.31837 21.5333 -23.25 2.11701 1.38232 21.2624 -23.255 2.08256 1.44751 20.9956 -23.26 2.0531 1.51395 20.7327 -23.265 2.02847 1.58168 20.4738 -23.27 2.0085 1.65076 20.2189 -23.275 1.99303 1.72126 19.9679 -23.28 1.98188 1.79328 19.7208 -23.285 1.9749 1.86695 19.4776 -23.29 1.9719 1.9424 19.2383 -23.295 1.97271 2.01979 19.0029 -23.3 1.97716 2.09932 18.7714 -23.305 1.98512 2.18115 18.5439 -23.31 1.99663 2.26536 18.3203 -23.315 2.01168 2.35203 18.1006 -23.32 2.03026 2.44131 17.885 -23.325 2.05237 2.53334 17.6733 -23.33 2.07798 2.62825 17.4657 -23.335 2.1071 2.72623 17.2622 -23.34 2.13972 2.82743 17.0629 -23.345 2.17584 2.93206 16.8677 -23.35 2.21547 3.0403 16.6768 -23.355 2.2586 3.15237 16.4903 -23.36 2.30524 3.26849 16.3083 -23.365 2.3554 3.3889 16.1308 -23.37 2.4091 3.51385 15.958 -23.375 2.46634 3.64359 15.7899 -23.38 2.52714 3.77839 15.6268 -23.385 2.59158 3.91846 15.4688 -23.39 2.65979 4.06395 15.3161 -23.395 2.7319 4.21513 15.1689 -23.4 2.808 4.37228 15.0272 -23.405 2.88822 4.53569 14.8913 -23.41 2.97267 4.70563 14.7614 -23.415 3.06148 4.88236 14.6377 -23.42 3.15476 5.06616 14.5206 -23.425 3.25267 5.25729 14.4102 -23.43 3.35532 5.45601 14.3071 -23.435 3.46286 5.66258 14.2115 -23.44 3.57545 5.87724 14.124 -23.445 3.69322 6.10025 14.0448 -23.45 3.81633 6.33185 13.9745 -23.455 3.94495 6.57229 13.9137 -23.46 4.07924 6.8218 13.8628 -23.465 4.21936 7.08061 13.8224 -23.47 4.36549 7.34897 13.7931 -23.475 4.51781 7.62709 13.7757 -23.48 4.67649 7.91516 13.7707 -23.485 4.84147 8.21241 13.7786 -23.49 5.01295 8.51896 13.8002 -23.495 5.19125 8.83535 13.8367 -23.5 5.37664 9.16196 13.8891 -23.505 5.56936 9.49901 13.9586 -23.51 5.76958 9.84653 14.0461 -23.515 5.97746 10.2044 14.1529 -23.52 6.19308 10.5723 14.2801 -23.525 6.4165 10.9498 14.4287 -23.53 6.64773 11.3362 14.6001 -23.535 6.88675 11.7307 14.7953 -23.54 7.13346 12.1324 15.0156 -23.545 7.38776 12.5401 15.2621 -23.55 7.64947 12.9525 15.536 -23.555 7.91839 13.368 15.8387 -23.56 8.19426 13.7851 16.1712 -23.565 8.4768 14.2018 16.535 -23.57 8.76565 14.6163 16.9312 -23.575 9.06044 15.0262 17.3611 -23.58 9.36074 15.4294 17.826 -23.585 9.66607 15.8232 18.3273 -23.59 9.97579 16.2057 18.8655 -23.595 10.2887 16.5749 19.4396 -23.6 10.6038 16.926 20.0499 -23.605 10.9199 17.2542 20.6964 -23.61 11.2357 17.5548 21.3785 -23.615 11.5499 17.8237 22.0951 -23.62 11.861 18.0566 22.8446 -23.625 12.1675 18.2497 23.6246 -23.63 12.4676 18.3994 24.4324 -23.635 12.7595 18.5022 25.2646 -23.64 13.0414 18.555 26.1174 -23.645 13.3112 18.5549 26.9863 -23.65 13.5668 18.4991 27.8664 -23.655 13.806 18.3853 28.7519 -23.66 14.0265 18.2111 29.6369 -23.665 14.2258 17.9746 30.5148 -23.67 14.4018 17.672 31.3787 -23.675 14.5537 17.2982 32.2226 -23.68 14.6795 16.8602 33.0383 -23.685 14.777 16.3651 33.8183 -23.69 14.8447 15.8198 34.556 -23.695 14.8812 15.2305 35.2453 -23.7 14.8859 14.6035 35.8813 -23.705 14.858 13.9442 36.4595 -23.71 14.7974 13.2581 36.9765 -23.715 14.7043 12.5498 37.4297 -23.72 14.5793 11.8239 37.817 -23.725 14.4233 11.0844 38.1374 -23.73 14.2376 10.335 38.3906 -23.735 14.0238 9.57899 38.5771 -23.74 13.7839 8.81926 38.6981 -23.745 13.5203 8.05829 38.7558 -23.75 13.2349 7.30149 38.7528 -23.755 12.9268 6.56536 38.6913 -23.76 12.5985 5.85559 38.5744 -23.765 12.2524 5.17592 38.406 -23.77 11.8911 4.52951 38.1898 -23.775 11.517 3.91893 37.9298 -23.78 11.1325 3.34615 37.6303 -23.785 10.7399 2.81253 37.2956 -23.79 10.3414 2.31886 36.9303 -23.795 9.93912 1.86532 36.5392 -23.8 9.53515 1.4515 36.127 -23.805 9.13148 1.07641 35.699 -23.81 8.73003 0.738444 35.2604 -23.815 8.33263 0.435439 34.8165 -23.82 7.94086 0.165591 34.3677 -23.825 7.55591 -0.0728329 33.9146 -23.83 7.17884 -0.281762 33.4591 -23.835 6.81059 -0.463121 33.003 -23.84 6.452 -0.618839 32.5478 -23.845 6.10378 -0.75084 32.0951 -23.85 5.76656 -0.861051 31.6458 -23.855 5.44083 -0.951398 31.201 -23.86 5.127 -1.02381 30.7615 -23.865 4.82535 -1.0802 30.328 -23.87 4.53605 -1.1225 29.9007 -23.875 4.25917 -1.15264 29.48 -23.88 3.99467 -1.17254 29.0658 -23.885 3.7424 -1.1834 28.6582 -23.89 3.50216 -1.18591 28.2574 -23.895 3.27369 -1.18115 27.8633 -23.9 3.05671 -1.17012 27.4758 -23.905 2.85094 -1.15379 27.0949 -23.91 2.65607 -1.133 26.7203 -23.915 2.47178 -1.10856 26.352 -23.92 2.29773 -1.08118 25.9899 -23.925 2.13358 -1.05153 25.6339 -23.93 1.97895 -1.02017 25.2837 -23.935 1.83347 -0.98762 24.9393 -23.94 1.69672 -0.954299 24.6005 -23.945 1.5683 -0.920571 24.2671 -23.95 1.44778 -0.886723 23.9389 -23.955 1.33468 -0.853013 23.6158 -23.96 1.22865 -0.819699 23.2977 -23.965 1.12934 -0.786991 22.9844 -23.97 1.03646 -0.755075 22.6758 -23.975 0.949672 -0.724112 22.3718 -23.98 0.868669 -0.694238 22.0723 -23.985 0.79313 -0.665567 21.7772 -23.99 0.722734 -0.638185 21.4863 -23.995 0.657163 -0.612157 21.1996 -24 0.596095 -0.587521 20.917 -24.005 0.539209 -0.564291 20.6384 -24.01 0.486184 -0.542458 20.3637 -24.015 0.436697 -0.521987 20.0928 -24.02 0.390437 -0.502827 19.8256 -24.025 0.347211 -0.484994 19.5621 -24.03 0.306866 -0.468513 19.3022 -24.035 0.269243 -0.453392 19.0459 -24.04 0.234177 -0.439632 18.7931 -24.045 0.201507 -0.427226 18.5437 -24.05 0.171069 -0.416162 18.2977 -24.055 0.142699 -0.406416 18.0551 -24.06 0.116231 -0.39796 17.8157 -24.065 0.0914996 -0.390757 17.5796 -24.07 0.0683381 -0.384761 17.3466 -24.075 0.0465792 -0.379921 17.1168 -24.08 0.0260548 -0.376178 16.89 -24.085 0.00659596 -0.373462 16.6663 -24.09 -0.0119241 -0.371736 16.4456 -24.095 -0.0295436 -0.371024 16.2278 -24.1 -0.046324 -0.371333 16.0129 -24.105 -0.0623292 -0.372663 15.8009 -24.11 -0.0776254 -0.375017 15.5918 -24.115 -0.0922807 -0.378391 15.3854 -24.12 -0.106366 -0.382782 15.1818 -24.125 -0.119952 -0.388183 14.981 -24.13 -0.133115 -0.394585 14.7828 -24.135 -0.145931 -0.401979 14.5873 -24.14 -0.158479 -0.41035 14.3944 -24.145 -0.17084 -0.419685 14.2041 -24.15 -0.183097 -0.429966 14.0164 -24.155 -0.195334 -0.441173 13.8311 -24.16 -0.207624 -0.453299 13.6484 -24.165 -0.219979 -0.466395 13.4681 -24.17 -0.23242 -0.480497 13.2903 -24.175 -0.244978 -0.49564 13.1148 -24.18 -0.257683 -0.511859 12.9417 -24.185 -0.27057 -0.529191 12.771 -24.19 -0.283677 -0.547672 12.6026 -24.195 -0.297045 -0.56734 12.4365 -24.2 -0.310718 -0.588234 12.2726 -24.205 -0.324741 -0.610392 12.111 -24.21 -0.339166 -0.633854 11.9516 -24.215 -0.354044 -0.658661 11.7945 -24.22 -0.369432 -0.684855 11.6395 -24.225 -0.385388 -0.712476 11.4866 -24.23 -0.401975 -0.741569 11.3359 -24.235 -0.419256 -0.772175 11.1873 -24.24 -0.437287 -0.804367 11.0408 -24.245 -0.456096 -0.838239 10.8964 -24.25 -0.47571 -0.873879 10.7541 -24.255 -0.496164 -0.911381 10.6138 -24.26 -0.517495 -0.950844 10.4756 -24.265 -0.539747 -0.99237 10.3394 -24.27 -0.56297 -1.03607 10.2052 -24.275 -0.587217 -1.08205 10.073 -24.28 -0.612549 -1.13043 9.9429 -24.285 -0.639031 -1.18133 9.81479 -24.29 -0.666733 -1.23488 9.68869 -24.295 -0.69573 -1.29121 9.56463 -24.3 -0.726104 -1.35045 9.4426 -24.305 -0.757941 -1.41274 9.32263 -24.31 -0.791333 -1.47823 9.20472 -24.315 -0.826375 -1.54708 9.08889 -24.32 -0.863171 -1.61942 8.97517 -24.325 -0.901828 -1.69542 8.86357 -24.33 -0.94246 -1.77524 8.75413 -24.335 -0.98522 -1.85906 8.64698 -24.34 -1.0302 -1.94712 8.54217 -24.345 -1.07745 -2.03965 8.43969 -24.35 -1.12708 -2.13692 8.33954 -24.355 -1.17917 -2.23922 8.24177 -24.36 -1.23382 -2.34682 8.14644 -24.365 -1.29116 -2.46002 8.05361 -24.37 -1.35132 -2.57913 7.96339 -24.375 -1.41444 -2.70447 7.87589 -24.38 -1.48068 -2.83636 7.79125 -24.385 -1.55021 -2.97516 7.70964 -24.39 -1.6232 -3.12119 7.63123 -24.395 -1.69986 -3.27484 7.55623 -24.4 -1.7804 -3.43647 7.48485 -24.405 -1.86502 -3.60646 7.41734 -24.41 -1.95396 -3.78522 7.35397 -24.415 -2.04747 -3.97314 7.29502 -24.42 -2.1458 -4.17064 7.2408 -24.425 -2.24922 -4.37814 7.19163 -24.43 -2.35801 -4.5961 7.14786 -24.435 -2.47247 -4.82495 7.10986 -24.44 -2.59291 -5.06516 7.07802 -24.445 -2.71959 -5.31685 7.05296 -24.45 -2.85258 -5.57903 7.03618 -24.455 -2.99225 -5.85286 7.02798 -24.46 -3.13899 -6.13972 7.02862 -24.465 -3.29319 -6.44082 7.0385 -24.47 -3.45522 -6.75725 7.05818 -24.475 -3.62546 -7.08997 7.08837 -24.48 -3.80428 -7.43979 7.12992 -24.485 -3.99204 -7.80738 7.18382 -24.49 -4.1891 -8.19326 7.25123 -24.495 -4.3958 -8.59785 7.33345 -24.5 -4.61248 -9.0214 7.43193 -24.505 -4.83949 -9.46403 7.54827 -24.51 -5.07715 -9.92572 7.6842 -24.515 -5.32578 -10.4063 7.84165 -24.52 -5.58569 -10.9055 8.02263 -24.525 -5.85721 -11.4229 8.22936 -24.53 -6.14062 -11.9579 8.46417 -24.535 -6.43624 -12.5098 8.72956 -24.54 -6.74433 -13.0777 9.02817 -24.545 -7.0652 -13.6607 9.36279 -24.55 -7.39911 -14.2576 9.73636 -24.555 -7.74634 -14.8672 10.152 -24.56 -8.10715 -15.4881 10.6129 -24.565 -8.4818 -16.1187 11.1224 -24.57 -8.86954 -16.757 11.6819 -24.575 -9.26893 -17.3992 12.2926 -24.58 -9.67985 -18.0404 12.9595 -24.585 -10.1019 -18.6756 13.6867 -24.59 -10.5343 -19.2991 14.4774 -24.595 -10.976 -19.9047 15.3338 -24.6 -11.4256 -20.4859 16.2571 -24.605 -11.8813 -21.0356 17.2476 -24.61 -12.3412 -21.5464 18.3047 -24.615 -12.8029 -22.0103 19.4266 -24.62 -13.2636 -22.4189 20.6107 -24.625 -13.7203 -22.7634 21.8535 -24.63 -14.1697 -23.0343 23.1504 -24.635 -14.6082 -23.2219 24.496 -24.64 -15.0316 -23.316 25.8836 -24.645 -15.4364 -23.3063 27.307 -24.65 -15.8197 -23.1857 28.7578 -24.655 -16.1763 -22.9497 30.2183 -24.66 -16.5007 -22.5957 31.6707 -24.665 -16.7882 -22.1225 33.0987 -24.67 -17.0347 -21.5307 34.4867 -24.675 -17.2363 -20.8228 35.8202 -24.68 -17.39 -20.0028 37.0859 -24.685 -17.493 -19.0766 38.2711 -24.69 -17.5433 -18.0518 39.3645 -24.695 -17.5391 -16.9377 40.3558 -24.7 -17.4794 -15.7452 41.2354 -24.705 -17.3635 -14.4872 41.995 -24.71 -17.191 -13.18 42.6242 -24.715 -16.9621 -11.8453 43.116 -24.72 -16.6793 -10.5012 43.4745 -24.725 -16.3455 -9.16454 43.7047 -24.73 -15.9639 -7.85001 43.8124 -24.735 -15.5378 -6.57081 43.8043 -24.74 -15.0712 -5.33837 43.6877 -24.745 -14.568 -4.16239 43.4709 -24.75 -14.0329 -3.05086 43.1627 -24.755 -13.4706 -2.01007 42.773 -24.76 -12.8861 -1.04458 42.3122 -24.765 -12.2849 -0.157208 41.7918 -24.77 -11.6726 0.65094 41.2238 -24.775 -11.0532 1.3816 40.6218 -24.78 -10.4303 2.03678 39.995 -24.785 -9.80761 2.61852 39.3504 -24.79 -9.18876 3.12947 38.6945 -24.795 -8.57691 3.57288 38.0331 -24.8 -7.97489 3.95262 37.3717 -24.805 -7.38515 4.27318 36.7149 -24.81 -6.80983 4.53965 36.067 -24.815 -6.2507 4.75774 35.4316 -24.82 -5.70916 4.93378 34.8118 -24.825 -5.18629 5.07469 34.21 -24.83 -4.68281 5.18804 33.6283 -24.835 -4.19909 5.27995 33.0673 -24.84 -3.73524 5.34871 32.5249 -24.845 -3.29119 5.39692 32.0007 -24.85 -2.86681 5.42765 31.4942 -24.855 -2.46186 5.44376 31.0052 -24.86 -2.07606 5.44785 30.533 -24.865 -1.70904 5.44229 30.0773 -24.87 -1.36035 5.42922 29.6374 -24.875 -1.02946 5.41057 29.2127 -24.88 -0.715795 5.38798 28.8025 -24.885 -0.418673 5.36292 28.4061 -24.89 -0.137351 5.33658 28.0226 -24.895 0.129094 5.31011 27.6513 -24.9 0.381602 5.28464 27.2917 -24.905 0.620796 5.26083 26.9432 -24.91 0.847303 5.23929 26.6053 -24.915 1.06176 5.2206 26.2775 -24.92 1.26481 5.20527 25.9595 -24.925 1.45712 5.19378 25.6507 -24.93 1.63934 5.18657 25.3509 -24.935 1.81217 5.18404 25.0597 -24.94 1.9763 5.18651 24.7767 -24.945 2.13241 5.19431 24.5018 -24.95 2.28123 5.20768 24.2346 -24.955 2.42348 5.22684 23.9748 -24.96 2.55988 5.25196 23.7224 -24.965 2.69118 5.28317 23.4771 -24.97 2.81815 5.32054 23.2388 -24.975 2.94138 5.36402 23.0073 -24.98 3.06118 5.41351 22.7827 -24.985 3.17786 5.46912 22.565 -24.99 3.29175 5.53093 22.3542 -24.995 3.40321 5.599 22.1505 -25 3.51258 5.6734 21.9538 -25.005 3.6202 5.75416 21.7642 -25.01 3.72645 5.8413 21.5818 -25.015 3.83168 5.93483 21.4068 -25.02 3.93627 6.03473 21.239 -25.025 4.0406 6.14098 21.0788 -25.03 4.14504 6.25354 20.9261 -25.035 4.25 6.37234 20.781 -25.04 4.35585 6.49731 20.6438 -25.045 4.46301 6.62836 20.5144 -25.05 4.57187 6.76538 20.393 -25.055 4.68251 6.90833 20.2799 -25.06 4.79502 7.05726 20.1754 -25.065 4.90954 7.21221 20.0799 -25.07 5.02621 7.37321 19.9936 -25.075 5.14516 7.54022 19.917 -25.08 5.26654 7.71319 19.8502 -25.085 5.39047 7.89202 19.7938 -25.09 5.51708 8.07658 19.748 -25.095 5.64651 8.26673 19.7132 -25.1 5.77887 8.46226 19.6896 -25.105 5.9143 8.66294 19.6778 -25.11 6.05292 8.86852 19.6781 -25.115 6.19485 9.0787 19.6908 -25.12 6.34021 9.29315 19.7163 -25.125 6.48912 9.5115 19.755 -25.13 6.64169 9.73335 19.8072 -25.135 6.79795 9.95833 19.8734 -25.14 6.9576 10.1861 19.9533 -25.145 7.1206 10.4162 20.0478 -25.15 7.28693 10.648 20.1576 -25.155 7.4565 10.8809 20.2833 -25.16 7.6292 11.1142 20.4256 -25.165 7.8049 11.3471 20.5848 -25.17 7.98339 11.5788 20.7614 -25.175 8.16447 11.8084 20.9557 -25.18 8.34788 12.0349 21.1677 -25.185 8.53331 12.2575 21.3976 -25.19 8.72043 12.4749 21.6454 -25.195 8.90888 12.6862 21.9111 -25.2 9.09826 12.8901 22.1943 -25.205 9.2881 13.0853 22.4949 -25.21 9.47794 13.2707 22.8124 -25.215 9.66726 13.4448 23.1464 -25.22 9.8555 13.6063 23.4964 -25.225 10.0421 13.7536 23.8616 -25.23 10.2263 13.8852 24.2414 -25.235 10.4076 13.9995 24.6349 -25.24 10.5855 14.0955 25.0417 -25.245 10.7595 14.1722 25.461 -25.25 10.9284 14.2281 25.8905 -25.255 11.0914 14.262 26.3281 -25.26 11.2473 14.2727 26.7716 -25.265 11.3953 14.2594 27.219 -25.27 11.5345 14.2213 27.668 -25.275 11.6642 14.1579 28.1165 -25.28 11.7835 14.0689 28.5624 -25.285 11.8918 13.9541 29.0037 -25.29 11.9884 13.8135 29.4381 -25.295 12.0726 13.6475 29.8637 -25.3 12.144 13.4564 30.2784 -25.305 12.202 13.2409 30.6801 -25.31 12.2461 13.0018 31.0667 -25.315 12.2761 12.74 31.4363 -25.32 12.2914 12.4567 31.7867 -25.325 12.2919 12.1534 32.116 -25.33 12.2772 11.8317 32.4222 -25.335 12.2471 11.4931 32.7027 -25.34 12.2014 11.14 32.9555 -25.345 12.1404 10.7754 33.18 -25.35 12.0644 10.4019 33.3758 -25.355 11.974 10.0221 33.5429 -25.36 11.8696 9.63867 33.6811 -25.365 11.7518 9.25378 33.7906 -25.37 11.621 8.86963 33.8714 -25.375 11.4781 8.48827 33.9239 -25.38 11.3236 8.11156 33.9486 -25.385 11.1584 7.74124 33.946 -25.39 10.9832 7.37888 33.9169 -25.395 10.7988 7.02593 33.8619 -25.4 10.6062 6.68366 33.7822 -25.405 10.4064 6.35323 33.6787 -25.41 10.2002 6.0356 33.5527 -25.415 9.98888 5.73164 33.4055 -25.42 9.77342 5.44203 33.2384 -25.425 9.555 5.16731 33.0532 -25.43 9.33456 4.90807 32.8519 -25.435 9.11263 4.66491 32.6367 -25.44 8.89008 4.43799 32.4087 -25.445 8.66775 4.22736 32.1693 -25.45 8.44641 4.03301 31.9194 -25.455 8.22681 3.85483 31.6603 -25.46 8.00963 3.69261 31.393 -25.465 7.79551 3.54609 31.1186 -25.47 7.58504 3.41487 30.8381 -25.475 7.37876 3.29851 30.5526 -25.48 7.17718 3.19646 30.263 -25.485 6.98073 3.10809 29.9703 -25.49 6.78983 3.03267 29.6754 -25.495 6.60482 2.96939 29.3793 -25.5 6.426 2.91736 29.0827 -25.505 6.25363 2.8756 28.7865 -25.51 6.08792 2.84303 28.4916 -25.515 5.92903 2.81872 28.1985 -25.52 5.77703 2.80305 27.9067 -25.525 5.63194 2.79574 27.6164 -25.53 5.49378 2.79632 27.3279 -25.535 5.36254 2.80434 27.0415 -25.54 5.23822 2.81937 26.7573 -25.545 5.12081 2.84102 26.4756 -25.55 5.01027 2.86891 26.1966 -25.555 4.90658 2.90269 25.9206 -25.56 4.80969 2.94203 25.6477 -25.565 4.71954 2.98663 25.3781 -25.57 4.63607 3.03622 25.1119 -25.575 4.55921 3.09055 24.8493 -25.58 4.48888 3.14938 24.5903 -25.585 4.42498 3.21251 24.3351 -25.59 4.36741 3.27977 24.0838 -25.595 4.31607 3.35101 23.8364 -25.6 4.27082 3.42609 23.593 -25.605 4.23137 3.50507 23.3538 -25.61 4.19754 3.58795 23.1188 -25.615 4.16933 3.67464 22.8882 -25.62 4.1467 3.76507 22.6621 -25.625 4.12963 3.85919 22.4404 -25.63 4.11809 3.95697 22.2234 -25.635 4.11204 4.05839 22.0111 -25.64 4.11143 4.16344 21.8035 -25.645 4.11621 4.27214 21.6009 -25.65 4.12634 4.38451 21.4034 -25.655 4.14174 4.50061 21.211 -25.66 4.16237 4.62049 21.024 -25.665 4.18814 4.74424 20.8425 -25.67 4.21898 4.87195 20.6667 -25.675 4.25482 5.00374 20.4967 -25.68 4.29557 5.13973 20.3328 -25.685 4.34114 5.28007 20.175 -25.69 4.39143 5.42493 20.0238 -25.695 4.44636 5.57448 19.8792 -25.7 4.5058 5.72892 19.7414 -25.705 4.56965 5.88845 19.6109 -25.71 4.63793 6.05307 19.4876 -25.715 4.71086 6.22252 19.372 -25.72 4.78854 6.39698 19.2643 -25.725 4.87102 6.57658 19.1648 -25.73 4.95838 6.76142 19.0738 -25.735 5.05067 6.95158 18.9916 -25.74 5.14793 7.14711 18.9187 -25.745 5.2502 7.34803 18.8554 -25.75 5.35751 7.55433 18.802 -25.755 5.46986 7.76598 18.7591 -25.76 5.58727 7.98289 18.7269 -25.765 5.70974 8.20497 18.706 -25.77 5.83725 8.43209 18.6968 -25.775 5.96979 8.6641 18.6997 -25.78 6.10732 8.90081 18.7154 -25.785 6.2498 9.142 18.7442 -25.79 6.39718 9.38743 18.7868 -25.795 6.54941 9.63682 18.8435 -25.8 6.70641 9.88987 18.9152 -25.805 6.86812 10.1462 19.0022 -25.81 7.03443 10.4056 19.1051 -25.815 7.20521 10.6675 19.2244 -25.82 7.38011 10.9316 19.3595 -25.825 7.55909 11.1971 19.5113 -25.83 7.74211 11.4629 19.6808 -25.835 7.92905 11.7281 19.8689 -25.84 8.11976 11.9915 20.0763 -25.845 8.31401 12.2521 20.3036 -25.85 8.51153 12.5087 20.5512 -25.855 8.71199 12.7601 20.8194 -25.86 8.915 13.005 21.1083 -25.865 9.12012 13.2422 21.4178 -25.87 9.32686 13.4702 21.7479 -25.875 9.53466 13.6877 22.0981 -25.88 9.7429 13.8932 22.468 -25.885 9.95093 14.0852 22.857 -25.89 10.158 14.2622 23.2644 -25.895 10.3634 14.4225 23.6892 -25.9 10.5662 14.5644 24.1304 -25.905 10.7656 14.6864 24.5867 -25.91 10.9606 14.7866 25.0569 -25.915 11.1502 14.8633 25.5393 -25.92 11.3334 14.9145 26.0325 -25.925 11.509 14.9384 26.5345 -25.93 11.6768 14.9332 27.0444 -25.935 11.836 14.898 27.5599 -25.94 11.9854 14.8327 28.0773 -25.945 12.1238 14.7372 28.5931 -25.95 12.2499 14.6117 29.1039 -25.955 12.3627 14.4566 29.6067 -25.96 12.4614 14.2722 30.0985 -25.965 12.5451 14.0592 30.5765 -25.97 12.6132 13.8185 31.038 -25.975 12.665 13.551 31.4805 -25.98 12.7002 13.2578 31.9019 -25.985 12.7184 12.9402 32.2999 -25.99 12.7194 12.5998 32.6726 -25.995 12.703 12.2381 33.0183 -26 12.6693 11.857 33.3354 -26.005 12.6184 11.4583 33.6224 -26.01 12.5506 11.0443 33.8781 -26.015 12.4661 10.6172 34.1015 -26.02 12.365 10.1805 34.291 -26.025 12.2471 9.73913 34.4456 -26.03 12.1133 9.29591 34.5654 -26.035 11.9644 8.85357 34.6509 -26.04 11.8015 8.41461 34.7028 -26.045 11.6254 7.98134 34.7217 -26.05 11.4372 7.55594 34.7086 -26.055 11.2379 7.1404 34.6644 -26.06 11.0285 6.73653 34.5906 -26.065 10.8101 6.34598 34.4883 -26.07 10.5836 5.97024 34.3591 -26.075 10.3502 5.61061 34.2046 -26.08 10.1109 5.26824 34.0267 -26.085 9.86688 4.94408 33.8273 -26.09 9.61926 4.63894 33.6085 -26.095 9.36918 4.35344 33.3726 -26.1 9.11779 4.08804 33.122 -26.105 8.86627 3.84304 32.8592 -26.11 8.61575 3.61766 32.5861 -26.115 8.36707 3.41054 32.3033 -26.12 8.12098 3.22143 32.012 -26.125 7.87815 3.04999 31.7134 -26.13 7.63925 2.89585 31.4085 -26.135 7.40485 2.75855 31.0984 -26.14 7.17553 2.63758 30.7841 -26.145 6.95177 2.53236 30.4664 -26.15 6.73404 2.44224 30.1464 -26.155 6.52275 2.3665 29.8248 -26.16 6.31827 2.30439 29.5024 -26.165 6.12091 2.25504 29.18 -26.17 5.93096 2.21756 28.8581 -26.175 5.74862 2.19098 28.5375 -26.18 5.57408 2.17424 28.2187 -26.185 5.40749 2.16627 27.9022 -26.19 5.24891 2.16587 27.5886 -26.195 5.09839 2.17184 27.2781 -26.2 4.95589 2.18322 26.971 -26.205 4.82111 2.20108 26.6671 -26.21 4.69393 2.22525 26.3662 -26.215 4.57426 2.25532 26.0686 -26.22 4.462 2.29089 25.7743 -26.225 4.35705 2.33162 25.4836 -26.23 4.2593 2.37717 25.1963 -26.235 4.16864 2.42726 24.9128 -26.24 4.08495 2.48162 24.6331 -26.245 4.00809 2.54001 24.3572 -26.25 3.93796 2.60225 24.0852 -26.255 3.8744 2.66815 23.8173 -26.26 3.81728 2.73757 23.5534 -26.265 3.76645 2.81041 23.2937 -26.27 3.72177 2.88658 23.0382 -26.275 3.68308 2.96603 22.7869 -26.28 3.65022 3.04875 22.5399 -26.285 3.62301 3.13475 22.2972 -26.29 3.60121 3.22408 22.0589 -26.295 3.5847 3.31677 21.8252 -26.3 3.57346 3.4128 21.5961 -26.305 3.56745 3.51218 21.3716 -26.31 3.56666 3.61493 21.1518 -26.315 3.57103 3.72107 20.9367 -26.32 3.58054 3.83068 20.7266 -26.325 3.59514 3.9438 20.5213 -26.33 3.6148 4.06053 20.3212 -26.335 3.63945 4.18096 20.1262 -26.34 3.66905 4.30521 19.9366 -26.345 3.70355 4.4334 19.7525 -26.35 3.74289 4.56569 19.574 -26.355 3.787 4.70224 19.4012 -26.36 3.83582 4.84321 19.2345 -26.365 3.88929 4.98881 19.074 -26.37 3.94733 5.13924 18.9198 -26.375 4.00986 5.29473 18.7723 -26.38 4.07682 5.45551 18.6316 -26.385 4.14815 5.62177 18.4979 -26.39 4.2241 5.79332 18.3716 -26.395 4.30478 5.97033 18.2529 -26.4 4.39028 6.15298 18.1421 -26.405 4.48066 6.34144 18.0395 -26.41 4.57601 6.53587 17.9455 -26.415 4.67639 6.73636 17.8603 -26.42 4.78186 6.94301 17.7844 -26.425 4.89247 7.15589 17.7183 -26.43 5.00828 7.37504 17.6622 -26.435 5.12933 7.60047 17.6168 -26.44 5.25567 7.83216 17.5824 -26.445 5.38731 8.07007 17.5596 -26.45 5.52431 8.31415 17.5489 -26.455 5.66667 8.5643 17.5509 -26.46 5.81442 8.82041 17.5662 -26.465 5.96757 9.08233 17.5953 -26.47 6.12613 9.3499 17.6389 -26.475 6.29011 9.62292 17.6977 -26.48 6.45949 9.90118 17.7724 -26.485 6.63405 10.1842 17.8629 -26.49 6.81356 10.4715 17.9693 -26.495 6.99815 10.7625 18.093 -26.5 7.18788 11.0567 18.2351 -26.505 7.38278 11.3533 18.3968 -26.51 7.58277 11.6514 18.579 -26.515 7.78774 11.9503 18.7824 -26.52 7.99751 12.2489 19.008 -26.525 8.21184 12.5461 19.256 -26.53 8.43041 12.8407 19.5271 -26.535 8.65285 13.1312 19.8215 -26.54 8.87873 13.4163 20.1395 -26.545 9.10755 13.6945 20.4809 -26.55 9.33874 13.9641 20.8459 -26.555 9.57169 14.2234 21.2341 -26.56 9.80571 14.4704 21.6452 -26.565 10.04 14.7033 22.0788 -26.57 10.2739 14.9199 22.5343 -26.575 10.5063 15.1182 23.011 -26.58 10.7365 15.2958 23.508 -26.585 10.9633 15.4503 24.0243 -26.59 11.1858 15.5793 24.5588 -26.595 11.4028 15.6802 25.1104 -26.6 11.614 15.7518 25.6781 -26.605 11.8182 15.7923 26.2588 -26.61 12.0137 15.8001 26.8488 -26.615 12.1992 15.7736 27.4443 -26.62 12.3732 15.7119 28.0418 -26.625 12.5344 15.6141 28.6378 -26.63 12.6816 15.4797 29.2289 -26.635 12.8138 15.3086 29.8116 -26.64 12.9299 15.101 30.3828 -26.645 13.0291 14.8572 30.9392 -26.65 13.1104 14.5782 31.4777 -26.655 13.1733 14.265 31.9954 -26.66 13.2171 13.9189 32.4891 -26.665 13.2412 13.5418 32.9561 -26.67 13.2453 13.1357 33.3936 -26.675 13.2289 12.7029 33.7988 -26.68 13.192 12.2462 34.1691 -26.685 13.134 11.7685 34.5011 -26.69 13.0549 11.2744 34.7918 -26.695 12.9552 10.7683 35.041 -26.7 12.8357 10.2541 35.2488 -26.705 12.6971 9.73602 35.4155 -26.71 12.5402 9.21749 35.5415 -26.715 12.366 8.70194 35.6275 -26.72 12.1754 8.19247 35.6743 -26.725 11.9695 7.69194 35.6828 -26.73 11.7495 7.20294 35.6544 -26.735 11.5165 6.72778 35.5903 -26.74 11.2718 6.26854 35.4923 -26.745 11.0167 5.82702 35.3619 -26.75 10.7527 5.40475 35.2013 -26.755 10.4813 5.00303 35.0124 -26.76 10.2039 4.62286 34.7977 -26.765 9.92228 4.26501 34.5596 -26.77 9.63795 3.93 34.301 -26.775 9.3518 3.61815 34.0251 -26.78 9.06498 3.32946 33.7341 -26.785 8.77866 3.06374 33.4297 -26.79 8.49392 2.82071 33.1137 -26.795 8.21178 2.59994 32.7877 -26.8 7.93317 2.40089 32.4533 -26.805 7.65895 2.22289 32.112 -26.81 7.3899 2.06514 31.7653 -26.815 7.12673 1.92672 31.4145 -26.82 6.87005 1.80659 31.0608 -26.825 6.6204 1.70357 30.7055 -26.83 6.37827 1.61637 30.3497 -26.835 6.14404 1.54357 29.9945 -26.84 5.91802 1.48363 29.6408 -26.845 5.70045 1.43486 29.2896 -26.85 5.49149 1.39653 28.941 -26.855 5.29123 1.36881 28.5948 -26.86 5.09965 1.35091 28.2512 -26.865 4.91675 1.34204 27.9105 -26.87 4.74249 1.34148 27.573 -26.875 4.57682 1.34857 27.2389 -26.88 4.41967 1.36265 26.9082 -26.885 4.27097 1.38313 26.5814 -26.89 4.13062 1.40946 26.2583 -26.895 3.9985 1.44113 25.9393 -26.9 3.87448 1.47767 25.6242 -26.905 3.75842 1.51866 25.3133 -26.91 3.65015 1.56372 25.0065 -26.915 3.5495 1.6125 24.7038 -26.92 3.45626 1.66472 24.4052 -26.925 3.37021 1.72013 24.1106 -26.93 3.29084 1.77873 23.8203 -26.935 3.21797 1.84034 23.5341 -26.94 3.15153 1.90477 23.2521 -26.945 3.09141 1.97187 22.9743 -26.95 3.03752 2.04148 22.7007 -26.955 2.98977 2.1135 22.4312 -26.96 2.94803 2.18783 22.1659 -26.965 2.91218 2.26444 21.9047 -26.97 2.8821 2.34328 21.6478 -26.975 2.85766 2.42435 21.395 -26.98 2.8387 2.50769 21.1465 -26.985 2.82508 2.59334 20.9023 -26.99 2.81664 2.68139 20.6623 -26.995 2.81321 2.77195 20.4267 -27 2.81462 2.86515 20.1955 -27.005 2.82069 2.96116 19.9688 -27.01 2.83123 3.06018 19.7465 -27.015 2.84604 3.16242 19.5288 -27.02 2.86492 3.26813 19.3157 -27.025 2.88766 3.37759 19.1074 -27.03 2.91427 3.4909 18.9038 -27.035 2.94504 3.60797 18.7052 -27.04 2.98003 3.72892 18.5115 -27.045 3.01927 3.85391 18.3229 -27.05 3.06278 3.98309 18.1395 -27.055 3.11061 4.11664 17.9614 -27.06 3.16279 4.25471 17.7888 -27.065 3.21936 4.39751 17.6217 -27.07 3.28035 4.5452 17.4605 -27.075 3.3458 4.69799 17.3052 -27.08 3.41575 4.85608 17.1561 -27.085 3.49023 5.01968 17.0134 -27.09 3.56929 5.18901 16.8775 -27.095 3.65296 5.36429 16.7485 -27.1 3.74128 5.54575 16.6267 -27.105 3.8343 5.73364 16.5126 -27.11 3.93204 5.9282 16.4063 -27.115 4.03456 6.12969 16.3083 -27.12 4.1419 6.33834 16.2188 -27.125 4.25417 6.55378 16.1384 -27.13 4.37157 6.77621 16.0673 -27.135 4.49427 7.00599 16.0062 -27.14 4.62243 7.24344 15.9555 -27.145 4.7562 7.48882 15.9157 -27.15 4.89571 7.74229 15.8875 -27.155 5.04108 8.00397 15.8715 -27.16 5.19241 8.27389 15.8682 -27.165 5.3498 8.55202 15.8785 -27.17 5.5133 8.83825 15.9029 -27.175 5.683 9.1324 15.9423 -27.18 5.85892 9.43424 15.9973 -27.185 6.04111 9.74345 16.0688 -27.19 6.22959 10.0596 16.1577 -27.195 6.42435 10.3824 16.2647 -27.2 6.62539 10.7111 16.3907 -27.205 6.83268 11.0452 16.5368 -27.21 7.04618 11.3841 16.7038 -27.215 7.26584 11.727 16.8927 -27.22 7.49159 12.0731 17.1046 -27.225 7.72335 12.4216 17.3405 -27.23 7.96101 12.7714 17.6013 -27.235 8.20397 13.122 17.8867 -27.24 8.4519 13.4716 18.1978 -27.245 8.70455 13.8181 18.5358 -27.25 8.96158 14.1594 18.902 -27.255 9.22256 14.4932 19.2972 -27.26 9.48694 14.8172 19.7219 -27.265 9.75408 15.1291 20.1763 -27.27 10.0233 15.4265 20.6603 -27.275 10.2937 15.7069 21.1736 -27.28 10.5643 15.9678 21.7154 -27.285 10.8342 16.2067 22.2847 -27.29 11.1023 16.4208 22.8803 -27.295 11.3672 16.6074 23.5006 -27.3 11.6277 16.7638 24.1436 -27.305 11.8824 16.8872 24.8072 -27.31 12.1298 16.9746 25.4888 -27.315 12.3682 17.0232 26.1857 -27.32 12.5959 17.0298 26.8946 -27.325 12.8119 16.9913 27.6132 -27.33 13.0152 16.9058 28.3382 -27.335 13.2038 16.7731 29.0633 -27.34 13.3756 16.5935 29.7826 -27.345 13.5289 16.3673 30.4905 -27.35 13.6622 16.0955 31.1818 -27.355 13.774 15.7791 31.8516 -27.36 13.8633 15.4198 32.4953 -27.365 13.929 15.0191 33.1088 -27.37 13.9704 14.5792 33.6882 -27.375 13.9869 14.1026 34.2299 -27.38 13.9782 13.592 34.7309 -27.385 13.9442 13.0503 35.1883 -27.39 13.8848 12.481 35.5997 -27.395 13.8004 11.8877 35.9628 -27.4 13.6913 11.2745 36.276 -27.405 13.5579 10.6469 36.5371 -27.41 13.3997 10.013 36.7443 -27.415 13.2183 9.37801 36.8986 -27.42 13.0149 8.74651 37.0009 -27.425 12.7911 8.12279 37.0529 -27.43 12.5484 7.51078 37.0561 -27.435 12.2883 6.91404 37.0126 -27.44 12.0124 6.33577 36.9245 -27.445 11.7224 5.77881 36.7943 -27.45 11.42 5.24567 36.6248 -27.455 11.1067 4.73847 36.4188 -27.46 10.7845 4.25898 36.1797 -27.465 10.455 3.80863 35.9108 -27.47 10.1202 3.38849 35.6159 -27.475 9.78181 2.99924 35.299 -27.48 9.44183 2.64125 34.9643 -27.485 9.10203 2.31374 34.6154 -27.49 8.76368 2.01465 34.2537 -27.495 8.42801 1.74325 33.8812 -27.5 8.09618 1.49877 33.4998 -27.505 7.76923 1.28033 33.1114 -27.51 7.44815 1.08695 32.7176 -27.515 7.13382 0.917504 32.3199 -27.52 6.82701 0.770792 31.9199 -27.525 6.52842 0.645483 31.5189 -27.53 6.23867 0.540141 31.1181 -27.535 5.95826 0.453216 30.7185 -27.54 5.68762 0.383049 30.3212 -27.545 5.42709 0.327867 29.9269 -27.55 5.1769 0.285789 29.5365 -27.555 4.93721 0.254821 29.1505 -27.56 4.70809 0.232857 28.7695 -27.565 4.48945 0.218503 28.3935 -27.57 4.28106 0.212773 28.0222 -27.575 4.08277 0.214966 27.6556 -27.58 3.89442 0.22426 27.2937 -27.585 3.71582 0.239887 26.9366 -27.59 3.54678 0.261135 26.5843 -27.595 3.38711 0.287348 26.2368 -27.6 3.23658 0.317926 25.8942 -27.605 3.09497 0.352322 25.5564 -27.61 2.96204 0.390048 25.2234 -27.615 2.83752 0.430668 24.8952 -27.62 2.72116 0.473806 24.5717 -27.625 2.61266 0.519137 24.2529 -27.63 2.51174 0.566394 23.9386 -27.635 2.41808 0.615365 23.6288 -27.64 2.33131 0.665889 23.3234 -27.645 2.25112 0.717806 23.0223 -27.65 2.17732 0.77096 22.7256 -27.655 2.10971 0.825219 22.4331 -27.66 2.04809 0.880478 22.1448 -27.665 1.99226 0.936654 21.8606 -27.67 1.942 0.993691 21.5805 -27.675 1.89711 1.05156 21.3044 -27.68 1.85739 1.11024 21.0323 -27.685 1.82261 1.16976 20.7642 -27.69 1.79257 1.23016 20.5 -27.695 1.76705 1.2915 20.2397 -27.7 1.74582 1.35387 19.9832 -27.705 1.72867 1.4174 19.7305 -27.71 1.71537 1.48221 19.4816 -27.715 1.7057 1.54846 19.2364 -27.72 1.69959 1.61625 18.995 -27.725 1.69703 1.6856 18.7574 -27.73 1.69797 1.7566 18.5235 -27.735 1.70236 1.82935 18.2933 -27.74 1.71015 1.90394 18.0668 -27.745 1.7213 1.98052 17.8441 -27.75 1.73578 2.0592 17.6251 -27.755 1.75352 2.14013 17.4099 -27.76 1.77451 2.22348 17.1984 -27.765 1.79868 2.30942 16.9907 -27.77 1.82601 2.39813 16.7869 -27.775 1.85645 2.48982 16.5869 -27.78 1.88997 2.58469 16.3908 -27.785 1.92652 2.68298 16.1987 -27.79 1.96608 2.78493 16.0105 -27.795 2.00863 2.89076 15.8265 -27.8 2.05428 3.00063 15.6467 -27.805 2.10312 3.11471 15.4711 -27.81 2.15524 3.23321 15.2998 -27.815 2.2107 3.35636 15.133 -27.82 2.26959 3.48437 14.9706 -27.825 2.33199 3.6175 14.8129 -27.83 2.398 3.75597 14.66 -27.835 2.46772 3.90004 14.512 -27.84 2.54124 4.04998 14.3692 -27.845 2.61868 4.20603 14.2316 -27.85 2.70014 4.36849 14.0997 -27.855 2.78575 4.53763 13.9735 -27.86 2.87563 4.71375 13.8534 -27.865 2.96991 4.89714 13.7396 -27.87 3.06871 5.08811 13.6325 -27.875 3.17217 5.28697 13.5324 -27.88 3.28044 5.49406 13.4395 -27.885 3.39367 5.70948 13.3544 -27.89 3.51198 5.93235 13.2776 -27.895 3.63564 6.16324 13.2096 -27.9 3.76488 6.40297 13.1506 -27.905 3.89993 6.65226 13.1013 -27.91 4.04102 6.9117 13.0622 -27.915 4.18837 7.18181 13.0338 -27.92 4.34216 7.46302 13.0169 -27.925 4.5026 7.75563 13.012 -27.93 4.66986 8.05987 13.0201 -27.935 4.84411 8.37585 13.042 -27.94 5.02551 8.70361 13.0785 -27.945 5.21421 9.04305 13.1306 -27.95 5.41034 9.39401 13.1994 -27.955 5.61404 9.75622 13.2859 -27.96 5.8254 10.1293 13.3913 -27.965 6.04455 10.5128 13.5169 -27.97 6.27156 10.9061 13.6638 -27.975 6.50653 11.3086 13.8334 -27.98 6.74953 11.7195 14.0272 -27.985 7.00061 12.138 14.2465 -27.99 7.25983 12.563 14.4929 -27.995 7.52723 12.9935 14.768 -28 7.80284 13.4284 15.0734 -28.005 8.08666 13.8665 15.4108 -28.01 8.37872 14.3062 15.782 -28.015 8.67847 14.7465 16.1876 -28.02 8.98472 15.1853 16.6275 -28.025 9.29708 15.6192 17.104 -28.03 9.61508 16.0448 17.6187 -28.035 9.93805 16.4584 18.173 -28.04 10.2652 16.8566 18.7676 -28.045 10.5955 17.2355 19.4026 -28.05 10.9279 17.5913 20.0778 -28.055 11.2611 17.92 20.7924 -28.06 11.5936 18.2178 21.545 -28.065 11.9239 18.4803 22.3337 -28.07 12.2503 18.7036 23.1562 -28.075 12.5707 18.8832 24.0095 -28.08 12.8831 19.0147 24.8904 -28.085 13.1853 19.0938 25.7947 -28.09 13.475 19.1157 26.7182 -28.095 13.7496 19.0759 27.6559 -28.1 14.0082 18.9695 28.6046 -28.105 14.2482 18.7954 29.556 -28.11 14.4665 18.5536 30.5008 -28.115 14.6607 18.245 31.4301 -28.12 14.8281 17.8707 32.3356 -28.125 14.9668 17.4327 33.2097 -28.13 15.0751 16.9332 34.0454 -28.135 15.1515 16.3753 34.8362 -28.14 15.1948 15.7623 35.5763 -28.145 15.2044 15.0983 36.2605 -28.15 15.1797 14.3878 36.8841 -28.155 15.1205 13.6361 37.4432 -28.16 15.0271 12.8488 37.9342 -28.165 14.8999 12.032 38.3544 -28.17 14.7392 11.1938 38.701 -28.175 14.5449 10.3465 38.9708 -28.18 14.3186 9.49851 39.1653 -28.185 14.0623 8.65722 39.2869 -28.19 13.7782 7.82933 39.3383 -28.195 13.4685 7.02087 39.3225 -28.2 13.1353 6.23725 39.2429 -28.205 12.7809 5.48324 39.1035 -28.21 12.4079 4.76293 38.9084 -28.215 12.0186 4.0798 38.6623 -28.22 11.6156 3.43665 38.3702 -28.225 11.2016 2.83567 38.0376 -28.23 10.7791 2.27837 37.6702 -28.235 10.3512 1.76564 37.2742 -28.24 9.92048 1.2977 36.8561 -28.245 9.48935 0.872882 36.4205 -28.25 9.05957 0.489042 35.9699 -28.255 8.63301 0.144633 35.5078 -28.26 8.21137 -0.162039 35.0372 -28.265 7.79621 -0.432821 34.5611 -28.27 7.38891 -0.669708 34.0818 -28.275 6.99068 -0.874846 33.6018 -28.28 6.60258 -1.05053 33.1231 -28.285 6.2255 -1.19921 32.6472 -28.29 5.86017 -1.32349 32.1758 -28.295 5.50715 -1.4261 31.7099 -28.3 5.16684 -1.50995 31.2506 -28.305 4.8395 -1.57771 30.7983 -28.31 4.52532 -1.63009 30.3532 -28.315 4.22429 -1.66865 29.9154 -28.32 3.93632 -1.69501 29.4852 -28.325 3.6613 -1.71073 29.0625 -28.33 3.39908 -1.71724 28.6474 -28.335 3.14947 -1.71587 28.24 -28.34 2.91223 -1.70783 27.8401 -28.345 2.68708 -1.69426 27.4476 -28.35 2.47371 -1.67616 27.0625 -28.355 2.27176 -1.65444 26.6845 -28.36 2.08084 -1.6299 26.3134 -28.365 1.90051 -1.60325 25.949 -28.37 1.73022 -1.57511 25.591 -28.375 1.56948 -1.54602 25.2392 -28.38 1.41792 -1.51646 24.8935 -28.385 1.27517 -1.48685 24.5537 -28.39 1.14084 -1.45756 24.2196 -28.395 1.01454 -1.42895 23.8911 -28.4 0.895876 -1.40134 23.5679 -28.405 0.784449 -1.37498 23.25 -28.41 0.67985 -1.35013 22.9372 -28.415 0.581666 -1.32696 22.6292 -28.42 0.489478 -1.30565 22.3261 -28.425 0.402862 -1.28631 22.0276 -28.43 0.321386 -1.26903 21.7336 -28.435 0.244615 -1.25384 21.4441 -28.44 0.172106 -1.24076 21.1588 -28.445 0.103438 -1.22978 20.8777 -28.45 0.0383778 -1.22096 20.6007 -28.455 -0.0232627 -1.21438 20.3277 -28.46 -0.081679 -1.21013 20.0588 -28.465 -0.137073 -1.20825 19.7937 -28.47 -0.189653 -1.20881 19.5325 -28.475 -0.239634 -1.21184 19.2751 -28.48 -0.287235 -1.21737 19.0214 -28.485 -0.332684 -1.22541 18.7715 -28.49 -0.376213 -1.23598 18.5251 -28.495 -0.418062 -1.24907 18.2823 -28.5 -0.458475 -1.26467 18.043 -28.505 -0.497705 -1.28274 17.8072 -28.51 -0.536008 -1.30326 17.5748 -28.515 -0.57365 -1.32617 17.3457 -28.52 -0.610886 -1.35142 17.1199 -28.525 -0.647749 -1.37914 16.8974 -28.53 -0.684285 -1.40942 16.6782 -28.535 -0.720601 -1.44233 16.4623 -28.54 -0.756807 -1.47793 16.2496 -28.545 -0.793018 -1.51629 16.0401 -28.55 -0.829353 -1.55748 15.8339 -28.555 -0.865937 -1.60157 15.6308 -28.56 -0.902899 -1.64863 15.4309 -28.565 -0.940373 -1.69872 15.2342 -28.57 -0.978497 -1.75193 15.0407 -28.575 -1.01741 -1.80831 14.8503 -28.58 -1.05727 -1.86795 14.6631 -28.585 -1.09823 -1.93092 14.4791 -28.59 -1.14043 -1.9973 14.2983 -28.595 -1.18401 -2.06721 14.1206 -28.6 -1.22905 -2.14081 13.9462 -28.605 -1.27561 -2.21828 13.7751 -28.61 -1.32379 -2.29978 13.6072 -28.615 -1.37368 -2.38551 13.4427 -28.62 -1.42538 -2.47563 13.2815 -28.625 -1.47901 -2.57036 13.1237 -28.63 -1.53469 -2.66987 12.9695 -28.635 -1.59256 -2.77438 12.8188 -28.64 -1.65276 -2.88408 12.6718 -28.645 -1.71545 -2.99919 12.5286 -28.65 -1.78078 -3.11993 12.3892 -28.655 -1.84892 -3.24652 12.2538 -28.66 -1.92007 -3.37917 12.1226 -28.665 -1.99441 -3.51813 11.9956 -28.67 -2.07213 -3.66363 11.873 -28.675 -2.15346 -3.8159 11.755 -28.68 -2.23856 -3.97511 11.642 -28.685 -2.32757 -4.14167 11.5341 -28.69 -2.42063 -4.31602 11.4314 -28.695 -2.51791 -4.49856 11.3342 -28.7 -2.61957 -4.68971 11.2428 -28.705 -2.72581 -4.88987 11.1575 -28.71 -2.83681 -5.09942 11.0786 -28.715 -2.95278 -5.31874 11.0065 -28.72 -3.07395 -5.5482 10.9417 -28.725 -3.20054 -5.78814 10.8847 -28.73 -3.33279 -6.0389 10.8361 -28.735 -3.47098 -6.30082 10.7965 -28.74 -3.61535 -6.57422 10.7665 -28.745 -3.7662 -6.85941 10.7468 -28.75 -3.92382 -7.15668 10.7382 -28.755 -4.0885 -7.46631 10.7414 -28.76 -4.26058 -7.78859 10.7574 -28.765 -4.44037 -8.12378 10.787 -28.77 -4.62822 -8.47212 10.8311 -28.775 -4.82439 -8.83364 10.8907 -28.78 -5.02823 -9.20592 10.9665 -28.785 -5.24004 -9.5895 11.0598 -28.79 -5.46045 -9.98569 11.1725 -28.795 -5.69 -10.3954 11.3064 -28.8 -5.92911 -10.8193 11.4631 -28.805 -6.17814 -11.2576 11.6444 -28.81 -6.43735 -11.7102 11.8521 -28.815 -6.70689 -12.1767 12.0878 -28.82 -6.98684 -12.6564 12.3533 -28.825 -7.27719 -13.148 12.6501 -28.83 -7.57782 -13.6501 12.9801 -28.835 -7.88853 -14.1609 13.3449 -28.84 -8.20903 -14.6783 13.7461 -28.845 -8.53893 -15.1997 14.1853 -28.85 -8.87777 -15.7223 14.6643 -28.855 -9.22498 -16.2429 15.1846 -28.86 -9.57989 -16.758 15.7478 -28.865 -9.94176 -17.2636 16.3555 -28.87 -10.3097 -17.7555 17.0094 -28.875 -10.6829 -18.2292 17.7109 -28.88 -11.0602 -18.6797 18.4617 -28.885 -11.4406 -19.1018 19.2633 -28.89 -11.8229 -19.4898 20.1173 -28.895 -12.2055 -19.8387 21.0241 -28.9 -12.5861 -20.1455 21.9781 -28.905 -12.9619 -20.4018 22.9749 -28.91 -13.3301 -20.5998 24.0098 -28.915 -13.688 -20.7325 25.0775 -28.92 -14.0327 -20.7938 26.1721 -28.925 -14.3616 -20.7788 27.2872 -28.93 -14.6716 -20.6834 28.4155 -28.935 -14.96 -20.5045 29.5494 -28.94 -15.224 -20.2401 30.6803 -28.945 -15.4605 -19.8891 31.7993 -28.95 -15.6668 -19.4513 32.8966 -28.955 -15.8398 -18.9276 33.962 -28.96 -15.9766 -18.3199 34.9846 -28.965 -16.0745 -17.6298 35.9523 -28.97 -16.1322 -16.8564 36.852 -28.975 -16.1484 -16.0127 37.6767 -28.98 -16.122 -15.113 38.4213 -28.985 -16.0524 -14.1706 39.0816 -28.99 -15.9395 -13.1975 39.6541 -28.995 -15.7837 -12.2048 40.1366 -29 -15.586 -11.2022 40.5276 -29.005 -15.3477 -10.1986 40.8266 -29.01 -15.0708 -9.20174 41.034 -29.015 -14.7576 -8.21806 41.151 -29.02 -14.4111 -7.25305 41.1801 -29.025 -14.0346 -6.31108 41.1244 -29.03 -13.6321 -5.39538 40.988 -29.035 -13.2077 -4.5092 40.7763 -29.04 -12.7623 -3.66768 40.5005 -29.045 -12.2987 -2.87779 40.1689 -29.05 -11.8207 -2.14204 39.7882 -29.055 -11.3317 -1.46213 39.365 -29.06 -10.8349 -0.838833 38.9059 -29.065 -10.3335 -0.272092 38.4172 -29.07 -9.83028 0.239032 37.9051 -29.075 -9.32794 0.696343 37.3755 -29.08 -8.82894 1.10251 36.8344 -29.085 -8.33553 1.46108 36.2875 -29.09 -7.84979 1.77641 35.7403 -29.095 -7.37352 2.0511 35.1948 -29.1 -6.90811 2.28755 34.6519 -29.105 -6.4547 2.48897 34.1138 -29.11 -6.01428 2.65848 33.5821 -29.115 -5.5877 2.79912 33.0585 -29.12 -5.17563 2.91381 32.544 -29.125 -4.7786 3.00536 32.0397 -29.13 -4.39698 3.07651 31.546 -29.135 -4.031 3.12989 31.0635 -29.14 -3.68071 3.16801 30.5921 -29.145 -3.34601 3.19332 30.1316 -29.15 -3.02676 3.20788 29.682 -29.155 -2.72269 3.21323 29.2432 -29.16 -2.43339 3.21082 28.8151 -29.165 -2.15842 3.20204 28.397 -29.17 -1.89734 3.18816 27.9888 -29.175 -1.64968 3.17037 27.5901 -29.18 -1.41498 3.14975 27.2004 -29.185 -1.19273 3.12731 26.8196 -29.19 -0.982435 3.10395 26.4473 -29.195 -0.783557 3.08048 26.0832 -29.2 -0.59556 3.05761 25.727 -29.205 -0.417885 3.03598 25.3784 -29.21 -0.24996 3.0161 25.0371 -29.215 -0.0911954 2.99841 24.7028 -29.22 0.0590148 2.98326 24.3754 -29.225 0.201296 2.97089 24.0544 -29.23 0.336307 2.96157 23.7398 -29.235 0.46451 2.95556 23.4311 -29.24 0.586316 2.95309 23.1284 -29.245 0.702139 2.95436 22.8314 -29.25 0.812396 2.95956 22.5401 -29.255 0.917511 2.96884 22.2543 -29.26 1.01791 2.98236 21.9739 -29.265 1.11401 3.00023 21.6988 -29.27 1.20627 3.02256 21.429 -29.275 1.2951 3.04942 21.1642 -29.28 1.38095 3.08087 20.9044 -29.285 1.46427 3.11697 20.6496 -29.29 1.5455 3.15771 20.3997 -29.295 1.62509 3.20311 20.1546 -29.3 1.70337 3.25321 19.9143 -29.305 1.78052 3.30813 19.6789 -29.31 1.85676 3.36799 19.4484 -29.315 1.93233 3.43289 19.2227 -29.32 2.00745 3.50294 19.002 -29.325 2.08236 3.57825 18.7863 -29.33 2.15732 3.6589 18.5756 -29.335 2.23257 3.745 18.3699 -29.34 2.30837 3.83663 18.1694 -29.345 2.385 3.93389 17.9742 -29.35 2.46271 4.03685 17.7842 -29.355 2.5418 4.14561 17.5996 -29.36 2.62254 4.26023 17.4205 -29.365 2.70522 4.3808 17.247 -29.37 2.7901 4.50738 17.0792 -29.375 2.87732 4.64016 16.9174 -29.38 2.96703 4.77935 16.7616 -29.385 3.05935 4.9252 16.6122 -29.39 3.15444 5.0779 16.4692 -29.395 3.25247 5.23766 16.3331 -29.4 3.3536 5.40467 16.204 -29.405 3.45802 5.5791 16.0822 -29.41 3.5659 5.76113 15.968 -29.415 3.67746 5.95089 15.8619 -29.42 3.7929 6.14854 15.7641 -29.425 3.91244 6.3542 15.675 -29.43 4.0363 6.56799 15.5951 -29.435 4.16473 6.79002 15.5247 -29.44 4.29796 7.02039 15.4644 -29.445 4.43626 7.25916 15.4145 -29.45 4.57988 7.50642 15.3757 -29.455 4.72883 7.76184 15.3483 -29.46 4.88319 8.02557 15.3331 -29.465 5.04318 8.29796 15.3307 -29.47 5.20897 8.57923 15.3421 -29.475 5.38072 8.8695 15.368 -29.48 5.55857 9.16878 15.4093 -29.485 5.74262 9.47695 15.4669 -29.49 5.93296 9.7938 15.5416 -29.495 6.12966 10.119 15.6344 -29.5 6.33274 10.452 15.7461 -29.505 6.54224 10.7924 15.8776 -29.51 6.75813 11.1394 16.03 -29.515 6.98038 11.4923 16.2041 -29.52 7.20894 11.8501 16.401 -29.525 7.44372 12.2118 16.6216 -29.53 7.68463 12.5763 16.8669 -29.535 7.93152 12.9424 17.138 -29.54 8.18426 13.3087 17.4359 -29.545 8.44265 13.6736 17.7617 -29.55 8.7065 14.0357 18.1164 -29.555 8.97513 14.3942 18.4998 -29.56 9.2478 14.7469 18.9125 -29.565 9.52401 15.0908 19.3555 -29.57 9.8031 15.4227 19.8297 -29.575 10.0844 15.7397 20.3352 -29.58 10.3669 16.0385 20.8721 -29.585 10.6499 16.3164 21.4399 -29.59 10.9322 16.5703 22.0377 -29.595 11.2126 16.7973 22.6642 -29.6 11.4901 16.9946 23.3179 -29.605 11.7631 17.1592 23.9966 -29.61 12.0302 17.2883 24.6979 -29.615 12.2899 17.3792 25.4191 -29.62 12.5406 17.4291 26.1568 -29.625 12.7804 17.4352 26.9075 -29.63 13.0075 17.3949 27.6671 -29.635 13.2199 17.3055 28.4313 -29.64 13.4164 17.1622 29.1967 -29.645 13.5962 16.9614 29.9594 -29.65 13.757 16.7067 30.712 -29.655 13.8969 16.4017 31.4473 -29.66 14.0141 16.0499 32.1589 -29.665 14.1071 15.6548 32.841 -29.67 14.1747 15.2197 33.4884 -29.675 14.2161 14.748 34.0966 -29.68 14.2306 14.2429 34.6616 -29.685 14.2177 13.7075 35.1801 -29.69 14.1774 13.145 35.6494 -29.695 14.1099 12.5585 36.0674 -29.7 14.0156 11.9508 36.4326 -29.705 13.8951 11.3249 36.7442 -29.71 13.7496 10.6837 37.0021 -29.715 13.5801 10.0298 37.2065 -29.72 13.3883 9.36604 37.3586 -29.725 13.1752 8.69707 37.4594 -29.73 12.9399 8.03658 37.5075 -29.735 12.684 7.39 37.5044 -29.74 12.4095 6.76099 37.4519 -29.745 12.1184 6.15283 37.3525 -29.75 11.8128 5.56842 37.2085 -29.755 11.4945 5.01024 37.0228 -29.76 11.1655 4.4804 36.7983 -29.765 10.8276 3.98058 36.5382 -29.77 10.4827 3.51211 36.2462 -29.775 10.1324 3.07589 35.9258 -29.78 9.77868 2.67245 35.5813 -29.785 9.42312 2.30191 35.2168 -29.79 9.06743 1.964 34.8368 -29.795 8.71325 1.65806 34.4461 -29.8 8.36217 1.38303 34.0498 -29.805 8.01573 1.13706 33.65 -29.81 7.67503 0.917903 33.2446 -29.815 7.34096 0.724139 32.8352 -29.82 7.0143 0.554341 32.4233 -29.825 6.69578 0.407077 32.0102 -29.83 6.38602 0.280902 31.5972 -29.835 6.08557 0.174361 31.1853 -29.84 5.79491 0.0859891 30.7756 -29.845 5.51443 0.0143088 30.3689 -29.85 5.24444 -0.0421674 29.9659 -29.855 4.98518 -0.084938 29.5671 -29.86 4.73678 -0.115513 29.1729 -29.865 4.49933 -0.135411 28.7836 -29.87 4.27281 -0.146166 28.3994 -29.875 4.05713 -0.149305 28.0203 -29.88 3.85208 -0.145342 27.6463 -29.885 3.6574 -0.134642 27.2776 -29.89 3.47287 -0.117982 26.9141 -29.895 3.29826 -0.0960874 26.5558 -29.9 3.13331 -0.0696251 26.2028 -29.905 2.97777 -0.03921 25.8548 -29.91 2.83137 -0.00540156 25.512 -29.915 2.69384 0.0312949 25.1742 -29.92 2.56488 0.0704287 24.8413 -29.925 2.44422 0.111604 24.5134 -29.93 2.33152 0.154478 24.1903 -29.935 2.22649 0.198765 23.8719 -29.94 2.12879 0.244232 23.5581 -29.945 2.03808 0.290699 23.2489 -29.95 1.95401 0.338041 22.944 -29.955 1.87623 0.386123 22.6436 -29.96 1.80451 0.434811 22.3474 -29.965 1.73862 0.483999 22.0555 -29.97 1.67837 0.533598 21.7676 -29.975 1.62353 0.583544 21.4839 -29.98 1.57389 0.633794 21.2042 -29.985 1.52923 0.684326 20.9285 -29.99 1.48933 0.735142 20.6566 -29.995 1.45398 0.786262 20.3886 -30 1.42294 0.837733 20.1244 -30.005 1.39601 0.88962 19.864 -30.01 1.37296 0.942011 19.6072 -30.015 1.35356 0.995016 19.3541 -30.02 1.33759 1.04877 19.1046 -30.025 1.32485 1.1034 18.8587 -30.03 1.31529 1.15895 18.6163 -30.035 1.30888 1.21548 18.3775 -30.04 1.30553 1.27305 18.1422 -30.045 1.3052 1.33177 17.9103 -30.05 1.30781 1.39172 17.682 -30.055 1.31331 1.45302 17.457 -30.06 1.32164 1.51578 17.2355 -30.065 1.33274 1.58014 17.0175 -30.07 1.34655 1.64625 16.8028 -30.075 1.36303 1.71425 16.5916 -30.08 1.3821 1.78432 16.3838 -30.085 1.40373 1.85663 16.1794 -30.09 1.42785 1.93138 15.9784 -30.095 1.45442 2.00877 15.7809 -30.1 1.48341 2.08898 15.5868 -30.105 1.51491 2.17215 15.3963 -30.11 1.54896 2.25843 15.2092 -30.115 1.58563 2.34798 15.0258 -30.12 1.62495 2.44097 14.8459 -30.125 1.66699 2.5376 14.6696 -30.13 1.71181 2.63806 14.497 -30.135 1.75948 2.74256 14.3282 -30.14 1.81006 2.85131 14.1632 -30.145 1.86364 2.96455 14.002 -30.15 1.92028 3.08251 13.845 -30.155 1.98008 3.20544 13.692 -30.16 2.04311 3.33361 13.5433 -30.165 2.10948 3.46728 13.3989 -30.17 2.17926 3.60674 13.2591 -30.175 2.25257 3.75229 13.124 -30.18 2.32951 3.90421 12.9938 -30.185 2.4102 4.06277 12.8686 -30.19 2.4949 4.22788 12.7489 -30.195 2.58377 4.39996 12.6349 -30.2 2.67696 4.57947 12.5267 -30.205 2.77462 4.76686 12.4245 -30.21 2.87691 4.96256 12.3286 -30.215 2.98401 5.16696 12.2392 -30.22 3.09609 5.38045 12.1567 -30.225 3.21333 5.60339 12.0816 -30.23 3.33594 5.83612 12.0143 -30.235 3.46409 6.07897 11.9554 -30.24 3.59801 6.33223 11.9053 -30.245 3.73791 6.59618 11.8647 -30.25 3.884 6.87107 11.8343 -30.255 4.03652 7.15715 11.8149 -30.26 4.19571 7.45463 11.8072 -30.265 4.3618 7.76369 11.812 -30.27 4.53504 8.08451 11.8302 -30.275 4.71571 8.41725 11.8628 -30.28 4.90405 8.76204 11.9108 -30.285 5.10035 9.11897 11.9751 -30.29 5.30488 9.48815 12.057 -30.295 5.51794 9.86964 12.1576 -30.3 5.73967 10.2633 12.2778 -30.305 5.9696 10.6678 12.4183 -30.31 6.20805 11.0835 12.5812 -30.315 6.45541 11.5103 12.7683 -30.32 6.71196 11.948 12.9817 -30.325 6.97787 12.396 13.2233 -30.33 7.25323 12.8536 13.4948 -30.335 7.538 13.3194 13.798 -30.34 7.83205 13.792 14.1346 -30.345 8.13515 14.2697 14.5059 -30.35 8.44697 14.7503 14.9136 -30.355 8.76706 15.2314 15.3588 -30.36 9.0949 15.7103 15.843 -30.365 9.42984 16.1839 16.3672 -30.37 9.77112 16.649 16.9327 -30.375 10.1179 17.1018 17.5403 -30.38 10.4693 17.5383 18.191 -30.385 10.8241 17.9544 18.8857 -30.39 11.1813 18.3455 19.625 -30.395 11.5396 18.7065 20.4096 -30.4 11.8977 19.0352 21.2386 -30.405 12.2537 19.3259 22.1089 -30.41 12.6051 19.5712 23.0175 -30.415 12.9498 19.7646 23.9605 -30.42 13.2853 19.9001 24.9337 -30.425 13.6092 19.9728 25.9322 -30.43 13.9191 19.9783 26.9504 -30.435 14.2124 19.9131 27.9825 -30.44 14.4868 19.7743 29.0216 -30.445 14.7395 19.5602 30.0607 -30.45 14.9682 19.2693 31.092 -30.455 15.17 18.9014 32.1071 -30.46 15.3425 18.4567 33.0972 -30.465 15.4828 17.9364 34.0526 -30.47 15.5884 17.3416 34.9632 -30.475 15.6581 16.6693 35.8171 -30.48 15.6907 15.93 36.6075 -30.485 15.6851 15.1363 37.3294 -30.49 15.6405 14.2999 37.9785 -30.495 15.5567 13.4315 38.5514 -30.5 15.4338 12.5411 39.0455 -30.505 15.2725 11.6374 39.4589 -30.51 15.0737 10.7282 39.7905 -30.515 14.8389 9.82052 40.04 -30.52 14.57 8.92021 40.2081 -30.525 14.2693 8.03223 40.296 -30.53 13.9394 7.16058 40.3058 -30.535 13.5837 6.30828 40.2404 -30.54 13.2057 5.47739 40.1035 -30.545 12.8084 4.67239 39.9007 -30.55 12.3923 3.90882 39.6416 -30.555 11.9604 3.19101 39.3324 -30.56 11.5158 2.52114 38.979 -30.565 11.0616 1.90068 38.5869 -30.57 10.6007 1.33037 38.1617 -30.575 10.1359 0.81021 37.7087 -30.58 9.66958 0.339481 37.2333 -30.585 9.20419 -0.0832732 36.7408 -30.59 8.74189 -0.460236 36.2363 -30.595 8.28469 -0.79432 35.7248 -30.6 7.83444 -1.08917 35.2113 -30.605 7.39281 -1.34787 34.6989 -30.61 6.96108 -1.57188 34.1875 -30.615 6.54028 -1.76394 33.6789 -30.62 6.13129 -1.92676 33.1747 -30.625 5.73487 -2.06294 32.6764 -30.63 5.35164 -2.17502 32.185 -30.635 4.9821 -2.26546 31.7015 -30.64 4.62663 -2.33661 31.2266 -30.645 4.28545 -2.39078 30.7608 -30.65 3.9587 -2.43016 30.3043 -30.655 3.64634 -2.45689 29.857 -30.66 3.34823 -2.473 29.4189 -30.665 3.06418 -2.4801 28.9899 -30.67 2.79387 -2.47942 28.5701 -30.675 2.53693 -2.47218 28.1591 -30.68 2.29296 -2.45954 27.7566 -30.685 2.06155 -2.44257 27.3625 -30.69 1.84229 -2.42225 26.9765 -30.695 1.63473 -2.3995 26.5982 -30.7 1.43843 -2.37514 26.2275 -30.705 1.25293 -2.34992 25.8642 -30.71 1.07775 -2.32451 25.5079 -30.715 0.912396 -2.2995 25.1584 -30.72 0.756374 -2.27539 24.8156 -30.725 0.609163 -2.25262 24.4792 -30.73 0.470233 -2.23153 24.1489 -30.735 0.339038 -2.21239 23.8246 -30.74 0.215017 -2.1954 23.506 -30.745 0.0976593 -2.18082 23.1929 -30.75 -0.0134161 -2.16884 22.8852 -30.755 -0.118582 -2.15967 22.5828 -30.76 -0.218215 -2.15348 22.2854 -30.765 -0.312689 -2.1504 21.9931 -30.77 -0.402383 -2.15058 21.7056 -30.775 -0.487677 -2.15412 21.423 -30.78 -0.568952 -2.16111 21.145 -30.785 -0.646591 -2.17163 20.8716 -30.79 -0.72098 -2.18571 20.6026 -30.795 -0.792503 -2.20341 20.3381 -30.8 -0.861549 -2.22473 20.0779 -30.805 -0.928509 -2.24965 19.822 -30.81 -0.993696 -2.27821 19.5702 -30.815 -1.05729 -2.31052 19.3227 -30.82 -1.1195 -2.34664 19.0793 -30.825 -1.18052 -2.38667 18.8401 -30.83 -1.24058 -2.43067 18.605 -30.835 -1.29988 -2.47873 18.3741 -30.84 -1.35865 -2.53093 18.1473 -30.845 -1.41712 -2.58732 17.9246 -30.85 -1.47551 -2.64799 17.706 -30.855 -1.53405 -2.71301 17.4916 -30.86 -1.59299 -2.78242 17.2814 -30.865 -1.65256 -2.85631 17.0753 -30.87 -1.71302 -2.93473 16.8734 -30.875 -1.77461 -3.01775 16.6757 -30.88 -1.83751 -3.10546 16.4822 -30.885 -1.90185 -3.19807 16.2932 -30.89 -1.96775 -3.29574 16.1086 -30.895 -2.03532 -3.39868 15.9285 -30.9 -2.10472 -3.50706 15.7529 -30.905 -2.17608 -3.62107 15.5821 -30.91 -2.24958 -3.74089 15.4162 -30.915 -2.32538 -3.86673 15.2552 -30.92 -2.40367 -3.99876 15.0993 -30.925 -2.48463 -4.13717 14.9487 -30.93 -2.56847 -4.28216 14.8036 -30.935 -2.65541 -4.43391 14.6641 -30.94 -2.74566 -4.59262 14.5305 -30.945 -2.83946 -4.75846 14.403 -30.95 -2.93706 -4.93165 14.2818 -30.955 -3.03871 -5.11235 14.1672 -30.96 -3.14455 -5.30066 14.0596 -30.965 -3.25472 -5.49693 13.9593 -30.97 -3.36939 -5.70158 13.8665 -30.975 -3.48872 -5.91498 13.7818 -30.98 -3.61288 -6.13747 13.7056 -30.985 -3.74207 -6.36934 13.6382 -30.99 -3.87645 -6.61087 13.5802 -30.995 -4.01623 -6.86228 13.5322 -31 -4.16159 -7.12377 13.4948 -31.005 -4.31274 -7.39549 13.4687 -31.01 -4.46988 -7.67758 13.4545 -31.015 -4.63323 -7.97012 13.4531 -31.02 -4.803 -8.27316 13.4651 -31.025 -4.97942 -8.58671 13.4915 -31.03 -5.16272 -8.91077 13.5332 -31.035 -5.35312 -9.24527 13.5911 -31.04 -5.55087 -9.59013 13.6662 -31.045 -5.75622 -9.94522 13.7596 -31.05 -5.9693 -10.3102 13.8721 -31.055 -6.18918 -10.6836 14.0032 -31.06 -6.41604 -11.0651 14.1545 -31.065 -6.65031 -11.4548 14.3284 -31.07 -6.89237 -11.8525 14.527 -31.075 -7.14243 -12.2579 14.7522 -31.08 -7.40063 -12.67 15.0057 -31.085 -7.66698 -13.088 15.2892 -31.09 -7.94138 -13.5106 15.604 -31.095 -8.22362 -13.9361 15.9514 -31.1 -8.51338 -14.3628 16.3324 -31.105 -8.81023 -14.7886 16.748 -31.11 -9.11362 -15.2111 17.1988 -31.115 -9.42291 -15.6276 17.6855 -31.12 -9.73732 -16.0353 18.2083 -31.125 -10.056 -16.431 18.7674 -31.13 -10.3779 -16.8111 19.363 -31.135 -10.702 -17.172 19.9948 -31.14 -11.027 -17.5097 20.6625 -31.145 -11.3517 -17.8199 21.3657 -31.15 -11.6745 -18.098 22.1037 -31.155 -11.994 -18.3392 22.8755 -31.16 -12.3085 -18.5385 23.6803 -31.165 -12.6162 -18.6904 24.5168 -31.17 -12.9158 -18.7918 25.3828 -31.175 -13.2053 -18.8405 26.2719 -31.18 -13.4819 -18.8326 27.1768 -31.185 -13.7429 -18.7652 28.0905 -31.19 -13.9858 -18.6357 29.0061 -31.195 -14.2085 -18.4426 29.9167 -31.2 -14.4086 -18.1852 30.8158 -31.205 -14.5844 -17.8632 31.6969 -31.21 -14.7339 -17.4773 32.5537 -31.215 -14.8556 -17.0291 33.3799 -31.22 -14.9481 -16.5205 34.1696 -31.225 -15.01 -15.9547 34.9169 -31.23 -15.0403 -15.3352 35.6161 -31.235 -15.038 -14.6665 36.2615 -31.24 -15.0024 -13.9538 36.8479 -31.245 -14.9328 -13.203 37.3684 -31.25 -14.8289 -12.4222 37.8167 -31.255 -14.6916 -11.6206 38.193 -31.26 -14.522 -10.8069 38.4981 -31.265 -14.3213 -9.98919 38.733 -31.27 -14.0909 -9.17467 38.8991 -31.275 -13.8324 -8.36999 38.9984 -31.28 -13.5476 -7.58113 39.0329 -31.285 -13.2384 -6.81336 39.0052 -31.29 -12.9071 -6.07129 38.9182 -31.295 -12.5558 -5.35886 38.7753 -31.3 -12.1871 -4.67932 38.58 -31.305 -11.8037 -4.03527 38.3363 -31.31 -11.4083 -3.4286 38.0487 -31.315 -11.0041 -2.86055 37.7219 -31.32 -10.5936 -2.33224 37.3617 -31.325 -10.1785 -1.8453 36.9751 -31.33 -9.76084 -1.39942 36.5663 -31.335 -9.34284 -0.993909 36.1392 -31.34 -8.92648 -0.627782 35.6972 -31.345 -8.51355 -0.29977 35.2438 -31.35 -8.1057 -0.00831223 34.7821 -31.355 -7.7044 0.248438 34.3148 -31.36 -7.31095 0.472617 33.8446 -31.365 -6.92649 0.66665 33.3738 -31.37 -6.55196 0.833249 32.9045 -31.375 -6.18817 0.975416 32.4387 -31.38 -5.83575 1.09627 31.9778 -31.385 -5.49527 1.19683 31.5221 -31.39 -5.16701 1.27863 31.072 -31.395 -4.85116 1.34354 30.6279 -31.4 -4.54785 1.39336 30.1903 -31.405 -4.25714 1.42977 29.7594 -31.41 -3.97905 1.45437 29.3356 -31.415 -3.71353 1.46863 28.9191 -31.42 -3.46045 1.47394 28.5098 -31.425 -3.21967 1.47157 28.1078 -31.43 -2.99096 1.46269 27.713 -31.435 -2.77402 1.44838 27.3253 -31.44 -2.56852 1.42961 26.9444 -31.445 -2.37398 1.40724 26.5701 -31.45 -2.18995 1.38197 26.2024 -31.455 -2.01608 1.35441 25.8411 -31.46 -1.85202 1.32513 25.486 -31.465 -1.69742 1.29466 25.1368 -31.47 -1.55189 1.26348 24.7935 -31.475 -1.41506 1.23202 24.4559 -31.48 -1.28656 1.20068 24.1238 -31.485 -1.16598 1.1698 23.797 -31.49 -1.05292 1.13967 23.4754 -31.495 -0.946971 1.11056 23.1589 -31.5 -0.84772 1.08267 22.8472 -31.505 -0.754737 1.05618 22.5404 -31.51 -0.667588 1.03119 22.2382 -31.515 -0.585831 1.00779 21.9405 -31.52 -0.509014 0.986007 21.6472 -31.525 -0.43669 0.965832 21.3582 -31.53 -0.36864 0.94736 21.0734 -31.535 -0.304682 0.930691 20.7927 -31.54 -0.244581 0.915884 20.516 -31.545 -0.188103 0.902988 20.2433 -31.55 -0.135013 0.892039 19.9744 -31.555 -0.0850755 0.883064 19.7094 -31.56 -0.0380532 0.876076 19.4481 -31.565 0.00629178 0.871079 19.1905 -31.57 0.0481982 0.868065 18.9365 -31.575 0.0879059 0.867015 18.686 -31.58 0.125656 0.867898 18.4391 -31.585 0.161689 0.870674 18.1955 -31.59 0.196248 0.875289 17.9553 -31.595 0.229538 0.881711 17.7184 -31.6 0.261639 0.889992 17.4848 -31.605 0.292661 0.900163 17.2544 -31.61 0.322715 0.912246 17.0273 -31.615 0.351917 0.926265 16.8033 -31.62 0.380384 0.942242 16.5824 -31.625 0.408238 0.960196 16.3647 -31.63 0.4356 0.980146 16.15 -31.635 0.462596 1.00211 15.9383 -31.64 0.489354 1.0261 15.7296 -31.645 0.516005 1.05213 15.5239 -31.65 0.54268 1.08022 15.3211 -31.655 0.569515 1.11038 15.1212 -31.66 0.596648 1.14261 14.9242 -31.665 0.624174 1.17697 14.7301 -31.67 0.652145 1.21355 14.5387 -31.675 0.680619 1.25243 14.3503 -31.68 0.709662 1.2937 14.1646 -31.685 0.739341 1.33746 13.9817 -31.69 0.769734 1.3838 13.8016 -31.695 0.800923 1.4328 13.6243 -31.7 0.832994 1.48458 13.4498 -31.705 0.866042 1.53923 13.278 -31.71 0.900167 1.59686 13.109 -31.715 0.935474 1.65757 12.9428 -31.72 0.972074 1.72147 12.7794 -31.725 1.01009 1.78868 12.6188 -31.73 1.04963 1.85931 12.461 -31.735 1.09084 1.93348 12.3061 -31.74 1.13385 2.01131 12.154 -31.745 1.17875 2.09299 12.0048 -31.75 1.22561 2.17874 11.8586 -31.755 1.27451 2.26876 11.7154 -31.76 1.32552 2.36327 11.5752 -31.765 1.37876 2.4625 11.4381 -31.77 1.43433 2.56669 11.3042 -31.775 1.49235 2.67607 11.1734 -31.78 1.55294 2.7909 11.046 -31.785 1.61626 2.91143 10.9221 -31.79 1.68244 3.03793 10.8017 -31.795 1.75164 3.17067 10.685 -31.8 1.82405 3.30993 10.5722 -31.805 1.89985 3.456 10.4635 -31.81 1.97922 3.60916 10.3589 -31.815 2.06237 3.76973 10.2588 -31.82 2.14951 3.93801 10.1633 -31.825 2.24087 4.11432 10.0726 -31.83 2.33668 4.29898 9.98708 -31.835 2.43716 4.49203 9.90715 -31.84 2.5425 4.69378 9.83327 -31.845 2.6529 4.90491 9.76563 -31.85 2.76857 5.12605 9.70446 -31.855 2.88973 5.35779 9.65012 -31.86 3.01662 5.6007 9.60302 -31.865 3.14947 5.8553 9.56365 -31.87 3.28854 6.12205 9.53258 -31.875 3.43409 6.40142 9.51047 -31.88 3.58639 6.69379 9.49804 -31.885 3.7457 6.99953 9.49612 -31.89 3.91233 7.31898 9.50558 -31.895 4.08656 7.65241 9.52739 -31.9 4.2687 8.00009 9.56261 -31.905 4.45907 8.36223 9.61235 -31.91 4.65799 8.73899 9.67783 -31.915 4.86579 9.13052 9.76033 -31.92 5.08281 9.53691 9.86121 -31.925 5.30942 9.95822 9.9819 -31.93 5.54596 10.3945 10.1239 -31.935 5.79281 10.8457 10.2889 -31.94 6.05034 11.3117 10.4785 -31.945 6.31831 11.7917 10.6938 -31.95 6.59632 12.2846 10.9362 -31.955 6.88492 12.7903 11.2089 -31.96 7.1845 13.3084 11.5146 -31.965 7.49533 13.8379 11.8561 -31.97 7.81748 14.3776 12.236 -31.975 8.15088 14.9256 12.6565 -31.98 8.49531 15.4796 13.1199 -31.985 8.85039 16.0369 13.628 -31.99 9.21557 16.5943 14.1827 -31.995 9.59015 17.1482 14.7855 -32 9.97327 17.6944 15.4379 -32.005 10.3639 18.2284 16.1411 -32.01 10.7609 18.7452 16.8961 -32.015 11.1629 19.2393 17.7039 -32.02 11.5685 19.7047 18.5651 -32.025 11.9759 20.1352 19.4802 -32.03 12.3834 20.5238 20.4495 -32.035 12.7892 20.8644 21.4729 -32.04 13.1911 21.1528 22.5466 -32.045 13.5861 21.3795 23.6648 -32.05 13.9707 21.5357 24.821 -32.055 14.3417 21.6136 26.0081 -32.06 14.6959 21.607 27.2185 -32.065 15.03 21.5107 28.4438 -32.07 15.3407 21.321 29.6752 -32.075 15.6249 21.0351 30.9032 -32.08 15.8793 20.652 32.1178 -32.085 16.1008 20.1716 33.3083 -32.09 16.2863 19.595 34.4633 -32.095 16.4326 18.925 35.5711 -32.1 16.5365 18.1652 36.6191 -32.105 16.5956 17.3178 37.5927 -32.11 16.6088 16.3873 38.4782 -32.115 16.575 15.3913 39.271 -32.12 16.4939 14.3465 39.9676 -32.125 16.3655 13.2681 40.5653 -32.13 16.1902 12.17 41.0624 -32.135 15.9692 11.0643 41.4583 -32.14 15.7041 9.96189 41.753 -32.145 15.397 8.87212 41.9476 -32.15 15.0507 7.80284 42.0441 -32.155 14.6683 6.76045 42.0453 -32.16 14.2535 5.74987 41.955 -32.165 13.8108 4.77456 41.7779 -32.17 13.3448 3.8365 41.5197 -32.175 12.8587 2.94429 41.1906 -32.18 12.3541 2.11178 40.804 -32.185 11.8351 1.34119 40.3679 -32.19 11.3056 0.63372 39.8902 -32.195 10.7691 -0.0103792 39.3782 -32.2 10.229 -0.591776 38.839 -32.205 9.6885 -1.11207 38.2792 -32.21 9.15034 -1.5738 37.7053 -32.215 8.61717 -1.98042 37.1234 -32.22 8.09135 -2.33631 36.5391 -32.225 7.57498 -2.64648 35.9576 -32.23 7.06989 -2.9134 35.3805 -32.235 6.57742 -3.14041 34.8094 -32.24 6.09874 -3.3312 34.2465 -32.245 5.63481 -3.48931 33.6934 -32.25 5.18646 -3.61815 33.1514 -32.255 4.75429 -3.72099 32.6216 -32.26 4.33875 -3.80095 32.1046 -32.265 3.94013 -3.86101 31.6008 -32.27 3.5585 -3.90403 31.1102 -32.275 3.19379 -3.93269 30.6327 -32.28 2.84586 -3.94946 30.168 -32.285 2.51445 -3.95621 29.7162 -32.29 2.19908 -3.95458 29.2766 -32.295 1.8993 -3.94612 28.8489 -32.3 1.61459 -3.93226 28.4326 -32.305 1.34445 -3.91433 28.0272 -32.31 1.08835 -3.89355 27.6322 -32.315 0.845732 -3.87104 27.2474 -32.32 0.616044 -3.84783 26.8721 -32.325 0.398701 -3.82482 26.5062 -32.33 0.193106 -3.80282 26.1492 -32.335 -0.00135595 -3.78253 25.8007 -32.34 -0.185317 -3.76456 25.4605 -32.345 -0.359427 -3.74939 25.1281 -32.35 -0.52435 -3.73742 24.8034 -32.355 -0.68077 -3.72893 24.4861 -32.36 -0.829438 -3.72416 24.1757 -32.365 -0.970949 -3.7234 23.872 -32.37 -1.10574 -3.72687 23.5749 -32.375 -1.23425 -3.7348 23.2842 -32.38 -1.35694 -3.74739 22.9998 -32.385 -1.47425 -3.76481 22.7215 -32.39 -1.58663 -3.78721 22.4493 -32.395 -1.69456 -3.81473 22.1831 -32.4 -1.79851 -3.84749 21.9227 -32.405 -1.89893 -3.88557 21.6681 -32.41 -1.99633 -3.92904 21.4192 -32.415 -2.09116 -3.97797 21.176 -32.42 -2.18394 -4.03237 20.9383 -32.425 -2.27514 -4.09226 20.7061 -32.43 -2.36526 -4.15762 20.4794 -32.435 -2.45457 -4.22852 20.2583 -32.44 -2.54324 -4.30509 20.0429 -32.445 -2.63152 -4.38744 19.8332 -32.45 -2.71965 -4.47569 19.6293 -32.455 -2.80786 -4.56995 19.4313 -32.46 -2.89642 -4.67031 19.2394 -32.465 -2.98557 -4.77686 19.0536 -32.47 -3.0756 -4.88968 18.874 -32.475 -3.16676 -5.00886 18.7009 -32.48 -3.25933 -5.13447 18.5343 -32.485 -3.3536 -5.26656 18.3744 -32.49 -3.44986 -5.40519 18.2213 -32.495 -3.54841 -5.55042 18.0754 -32.5 -3.64955 -5.70227 17.9366 -32.505 -3.75356 -5.86078 17.8053 -32.51 -3.86057 -6.02601 17.6818 -32.515 -3.97071 -6.19817 17.5664 -32.52 -4.08412 -6.37746 17.4593 -32.525 -4.20094 -6.56406 17.3611 -32.53 -4.32133 -6.75807 17.272 -32.535 -4.44543 -6.95962 17.1924 -32.54 -4.5734 -7.16876 17.1229 -32.545 -4.70538 -7.38552 17.0638 -32.55 -4.84154 -7.6099 17.0156 -32.555 -4.98204 -7.84187 16.9788 -32.56 -5.12704 -8.08136 16.954 -32.565 -5.27672 -8.32828 16.9416 -32.57 -5.43123 -8.58249 16.9423 -32.575 -5.59077 -8.84382 16.9566 -32.58 -5.75549 -9.11208 16.9852 -32.585 -5.92559 -9.38704 17.0287 -32.59 -6.1012 -9.6684 17.0877 -32.595 -6.28196 -9.95564 17.1621 -32.6 -6.46788 -10.2485 17.2529 -32.605 -6.6591 -10.5466 17.3614 -32.61 -6.8557 -10.8497 17.4886 -32.615 -7.05771 -11.1571 17.6358 -32.62 -7.26509 -11.4681 17.8038 -32.625 -7.47777 -11.782 17.9934 -32.63 -7.69558 -12.0978 18.2056 -32.635 -7.91833 -12.4145 18.4409 -32.64 -8.14576 -12.7307 18.6999 -32.645 -8.37756 -13.0453 18.9831 -32.65 -8.61334 -13.3566 19.2908 -32.655 -8.85267 -13.6632 19.6234 -32.66 -9.09507 -13.9632 19.981 -32.665 -9.34 -14.2548 20.3637 -32.67 -9.58684 -14.536 20.7714 -32.675 -9.83494 -14.8046 21.2042 -32.68 -10.0836 -15.0584 21.6617 -32.685 -10.332 -15.2951 22.1436 -32.69 -10.5793 -15.512 22.6496 -32.695 -10.8247 -15.7064 23.1791 -32.7 -11.0675 -15.8772 23.7317 -32.705 -11.3065 -16.0223 24.3054 -32.71 -11.5404 -16.1385 24.8977 -32.715 -11.7676 -16.2229 25.5055 -32.72 -11.9867 -16.2733 26.1261 -32.725 -12.1963 -16.2875 26.7563 -32.73 -12.3951 -16.2638 27.3931 -32.735 -12.5819 -16.2008 28.0332 -32.74 -12.7553 -16.0977 28.6733 -32.745 -12.9142 -15.9538 29.3099 -32.75 -13.0574 -15.7689 29.9395 -32.755 -13.1837 -15.5432 30.5584 -32.76 -13.2921 -15.2771 31.1629 -32.765 -13.3815 -14.9716 31.7492 -32.77 -13.4509 -14.6278 32.3133 -32.775 -13.4994 -14.2475 32.8511 -32.78 -13.5261 -13.8326 33.3584 -32.785 -13.53 -13.3844 33.8302 -32.79 -13.5112 -12.9053 34.262 -32.795 -13.4694 -12.4011 34.6527 -32.8 -13.405 -11.8773 35.0013 -32.805 -13.3182 -11.3388 35.3068 -32.81 -13.2093 -10.7905 35.5689 -32.815 -13.079 -10.2367 35.7871 -32.82 -12.928 -9.68127 35.9615 -32.825 -12.7571 -9.12799 36.0923 -32.83 -12.5673 -8.58011 36.1798 -32.835 -12.3597 -8.04055 36.2248 -32.84 -12.1356 -7.5119 36.2281 -32.845 -11.8963 -6.99637 36.1909 -32.85 -11.6433 -6.49582 36.1146 -32.855 -11.3784 -6.01175 36.0008 -32.86 -11.1034 -5.54532 35.8514 -32.865 -10.8201 -5.09732 35.6685 -32.87 -10.5303 -4.66938 35.4553 -32.875 -10.2342 -4.26586 35.2167 -32.88 -9.93356 -3.88766 34.9555 -32.885 -9.62977 -3.53517 34.6738 -32.89 -9.32431 -3.20858 34.3739 -32.895 -9.01854 -2.90785 34.058 -32.9 -8.71372 -2.63275 33.7281 -32.905 -8.41101 -2.38282 33.3864 -32.91 -8.11151 -2.15739 33.0348 -32.915 -7.81619 -1.95557 32.6754 -32.92 -7.52595 -1.77628 32.3099 -32.925 -7.2416 -1.6182 31.9403 -32.93 -6.96384 -1.4798 31.5682 -32.935 -6.69329 -1.35937 31.1956 -32.94 -6.43049 -1.25494 30.824 -32.945 -6.17593 -1.16566 30.4536 -32.95 -5.92991 -1.09123 30.0843 -32.955 -5.69263 -1.03057 29.7165 -32.96 -5.46425 -0.982631 29.3508 -32.965 -5.24488 -0.946416 28.9876 -32.97 -5.03463 -0.920974 28.6274 -32.975 -4.83353 -0.9054 28.2705 -32.98 -4.64163 -0.898831 27.9172 -32.985 -4.45891 -0.90045 27.5676 -32.99 -4.28534 -0.909485 27.2222 -32.995 -4.12083 -0.925209 26.8808 -33 -3.9653 -0.946939 26.5437 -33.005 -3.8186 -0.974037 26.2109 -33.01 -3.68056 -1.00591 25.8823 -33.015 -3.55096 -1.04204 25.558 -33.02 -3.42945 -1.08214 25.2379 -33.025 -3.3158 -1.1259 24.9221 -33.03 -3.20984 -1.17299 24.6107 -33.035 -3.11138 -1.22311 24.3036 -33.04 -3.02024 -1.27599 24.0007 -33.045 -2.93621 -1.33139 23.7021 -33.05 -2.85911 -1.38911 23.4077 -33.055 -2.78873 -1.44899 23.1176 -33.06 -2.72487 -1.51088 22.8316 -33.065 -2.66731 -1.57468 22.5498 -33.07 -2.61584 -1.64032 22.2722 -33.075 -2.57024 -1.70777 21.9987 -33.08 -2.53029 -1.777 21.7294 -33.085 -2.49576 -1.84805 21.4642 -33.09 -2.46641 -1.92098 21.2031 -33.095 -2.44202 -1.99588 20.9461 -33.1 -2.42234 -2.07287 20.6933 -33.105 -2.40712 -2.15209 20.4446 -33.11 -2.39627 -2.2336 20.2 -33.115 -2.38977 -2.3174 19.9596 -33.12 -2.38762 -2.40353 19.7233 -33.125 -2.38979 -2.49206 19.4912 -33.13 -2.39627 -2.58305 19.2633 -33.135 -2.40704 -2.67659 19.0396 -33.14 -2.42205 -2.77279 18.8202 -33.145 -2.44128 -2.87179 18.605 -33.15 -2.4647 -2.97372 18.3942 -33.155 -2.49225 -3.07876 18.1878 -33.16 -2.52389 -3.18708 17.986 -33.165 -2.55957 -3.2989 17.7886 -33.17 -2.59923 -3.41443 17.596 -33.175 -2.64282 -3.5339 17.4081 -33.18 -2.69026 -3.65759 17.2252 -33.185 -2.74149 -3.78576 17.0472 -33.19 -2.79644 -3.91871 16.8744 -33.195 -2.85502 -4.05675 16.7068 -33.2 -2.91721 -4.20017 16.5447 -33.205 -2.98336 -4.34889 16.3883 -33.21 -3.05363 -4.5031 16.2377 -33.215 -3.12813 -4.66306 16.0931 -33.22 -3.20694 -4.82901 15.9548 -33.225 -3.29017 -5.0012 15.8228 -33.23 -3.37792 -5.17987 15.6975 -33.235 -3.4703 -5.36526 15.5793 -33.24 -3.56742 -5.55759 15.4683 -33.245 -3.66939 -5.75709 15.365 -33.25 -3.77632 -5.96397 15.2697 -33.255 -3.88833 -6.17845 15.1829 -33.26 -4.00555 -6.40073 15.1049 -33.265 -4.12809 -6.63102 15.0364 -33.27 -4.25609 -6.86951 14.9777 -33.275 -4.38968 -7.11638 14.9294 -33.28 -4.52898 -7.37183 14.8921 -33.285 -4.67414 -7.63603 14.8664 -33.29 -4.82529 -7.90916 14.8528 -33.295 -4.98233 -8.19051 14.8518 -33.3 -5.1453 -8.4797 14.8638 -33.305 -5.31453 -8.7773 14.89 -33.31 -5.49029 -9.08371 14.9314 -33.315 -5.67281 -9.39918 14.9891 -33.32 -5.86227 -9.72378 15.0641 -33.325 -6.05881 -10.0574 15.1575 -33.33 -6.26251 -10.3999 15.2703 -33.335 -6.47343 -10.7507 15.4036 -33.34 -6.69155 -11.1094 15.5582 -33.345 -6.91683 -11.4752 15.7353 -33.35 -7.14916 -11.8472 15.9358 -33.355 -7.38841 -12.2243 16.1607 -33.36 -7.63438 -12.6053 16.4109 -33.365 -7.88683 -12.9888 16.6874 -33.37 -8.14548 -13.3734 16.9912 -33.375 -8.41 -13.7572 17.3231 -33.38 -8.68001 -14.1384 17.6842 -33.385 -8.95508 -14.515 18.0752 -33.39 -9.23475 -14.8848 18.4972 -33.395 -9.51849 -15.2455 18.9509 -33.4 -9.80575 -15.5944 19.4373 -33.405 -10.0959 -15.9289 19.9573 -33.41 -10.3882 -16.2467 20.5112 -33.415 -10.6816 -16.5463 21.0976 -33.42 -10.9747 -16.8233 21.7153 -33.425 -11.2662 -17.0733 22.3633 -33.43 -11.5547 -17.2919 23.0401 -33.435 -11.8387 -17.4755 23.7436 -33.44 -12.1167 -17.6204 24.4715 -33.445 -12.3872 -17.7236 25.221 -33.45 -12.6485 -17.7821 25.9888 -33.455 -12.899 -17.7937 26.7714 -33.46 -13.1369 -17.756 27.5646 -33.465 -13.3605 -17.6673 28.364 -33.47 -13.5679 -17.5262 29.1647 -33.475 -13.7573 -17.3316 29.9614 -33.48 -13.9267 -17.0827 30.7482 -33.485 -14.074 -16.779 31.5191 -33.49 -14.1975 -16.4195 32.2676 -33.495 -14.2966 -16.0009 32.9871 -33.5 -14.3698 -15.5293 33.672 -33.505 -14.4159 -15.0117 34.3173 -33.51 -14.4339 -14.4549 34.9184 -33.515 -14.4231 -13.865 35.4714 -33.52 -14.3832 -13.2478 35.9729 -33.525 -14.3139 -12.6088 36.4203 -33.53 -14.2156 -11.9529 36.8112 -33.535 -14.0888 -11.2848 37.1442 -33.54 -13.9341 -10.6086 37.4182 -33.545 -13.7529 -9.92821 37.6327 -33.55 -13.5463 -9.24693 37.788 -33.555 -13.3161 -8.56774 37.8847 -33.56 -13.0644 -7.89324 37.9242 -33.565 -12.7933 -7.22558 37.9083 -33.57 -12.5051 -6.56798 37.8397 -33.575 -12.1994 -5.93236 37.7231 -33.58 -11.8782 -5.32347 37.5617 -33.585 -11.5438 -4.74388 37.3588 -33.59 -11.1983 -4.19568 37.1179 -33.595 -10.844 -3.68051 36.8422 -33.6 -10.4828 -3.19953 36.5353 -33.605 -10.1168 -2.75345 36.2008 -33.61 -9.74783 -2.34249 35.8423 -33.615 -9.3776 -1.96643 35.4636 -33.62 -9.00782 -1.62458 35.0686 -33.625 -8.64008 -1.31579 34.6612 -33.63 -8.27587 -1.03842 34.2453 -33.635 -7.9166 -0.790391 33.8251 -33.64 -7.56359 -0.569693 33.4031 -33.645 -7.21784 -0.375347 32.9782 -33.65 -6.88015 -0.205711 32.5518 -33.655 -6.55119 -0.0591229 32.1251 -33.66 -6.23157 0.0660511 31.6994 -33.665 -5.92181 0.171421 31.2758 -33.67 -5.62236 0.258572 30.8551 -33.675 -5.33359 0.329062 30.4382 -33.68 -5.05577 0.384426 30.0256 -33.685 -4.78911 0.426174 29.6179 -33.69 -4.53373 0.455789 29.2155 -33.695 -4.28968 0.47473 28.8185 -33.7 -4.05692 0.48443 28.4271 -33.705 -3.83532 0.486297 28.0412 -33.71 -3.62467 0.481168 27.6608 -33.715 -3.42471 0.469615 27.2862 -33.72 -3.2352 0.452444 26.9172 -33.725 -3.05585 0.430403 26.5538 -33.73 -2.88641 0.404182 26.196 -33.735 -2.72657 0.374416 25.8435 -33.74 -2.57606 0.341682 25.4964 -33.745 -2.43455 0.306498 25.1546 -33.75 -2.30174 0.269327 24.818 -33.755 -2.1773 0.230576 24.4865 -33.76 -2.06088 0.190591 24.1599 -33.765 -1.95216 0.149666 23.8382 -33.77 -1.85076 0.108032 23.5213 -33.775 -1.75631 0.0658685 23.209 -33.78 -1.66844 0.0233152 22.9012 -33.785 -1.58682 -0.0194647 22.5978 -33.79 -1.5112 -0.0623365 22.2988 -33.795 -1.44135 -0.105188 22.0041 -33.8 -1.37702 -0.147927 21.7135 -33.805 -1.31796 -0.190486 21.4271 -33.81 -1.26394 -0.232815 21.1446 -33.815 -1.21471 -0.274887 20.8662 -33.82 -1.17002 -0.316698 20.5916 -33.825 -1.12964 -0.358262 20.3208 -33.83 -1.09331 -0.399617 20.0538 -33.835 -1.06079 -0.440822 19.7905 -33.84 -1.03184 -0.481956 19.5308 -33.845 -1.0062 -0.523121 19.2747 -33.85 -0.983654 -0.564423 19.0221 -33.855 -0.964118 -0.605882 18.773 -33.86 -0.947506 -0.647534 18.5273 -33.865 -0.933724 -0.689428 18.285 -33.87 -0.922682 -0.731624 18.0461 -33.875 -0.914287 -0.774193 17.8105 -33.88 -0.908447 -0.817213 17.5783 -33.885 -0.905074 -0.860775 17.3492 -33.89 -0.904076 -0.904978 17.1234 -33.895 -0.905366 -0.94993 16.9008 -33.9 -0.908854 -0.995751 16.6814 -33.905 -0.914452 -1.04257 16.465 -33.91 -0.922074 -1.09053 16.2518 -33.915 -0.931632 -1.13977 16.0417 -33.92 -0.943048 -1.19044 15.8347 -33.925 -0.956331 -1.24266 15.6307 -33.93 -0.971507 -1.29651 15.4298 -33.935 -0.988586 -1.35208 15.2319 -33.94 -1.00759 -1.40949 15.037 -33.945 -1.02852 -1.46886 14.8451 -33.95 -1.05141 -1.53032 14.6562 -33.955 -1.07627 -1.59401 14.4704 -33.96 -1.10313 -1.66007 14.2875 -33.965 -1.13202 -1.72867 14.1077 -33.97 -1.16295 -1.79996 13.9308 -33.975 -1.19596 -1.87413 13.7571 -33.98 -1.23108 -1.95136 13.5864 -33.985 -1.26834 -2.03184 13.4188 -33.99 -1.30777 -2.11577 13.2543 -33.995 -1.34941 -2.20337 13.093 -34 -1.39332 -2.29486 12.935 -34.005 -1.43963 -2.39037 12.7802 -34.01 -1.48846 -2.49012 12.6288 -34.015 -1.53988 -2.59431 12.4807 -34.02 -1.594 -2.70318 12.3361 -34.025 -1.6509 -2.81699 12.1951 -34.03 -1.71069 -2.93597 12.0576 -34.035 -1.7735 -3.06039 11.9238 -34.04 -1.83945 -3.19053 11.7938 -34.045 -1.90867 -3.32667 11.6678 -34.05 -1.98129 -3.46909 11.5459 -34.055 -2.05748 -3.61811 11.4284 -34.06 -2.13737 -3.77402 11.3154 -34.065 -2.22115 -3.93715 11.2071 -34.07 -2.30898 -4.10783 11.1038 -34.075 -2.40104 -4.2864 11.0058 -34.08 -2.49753 -4.47321 10.9133 -34.085 -2.59863 -4.66861 10.8266 -34.09 -2.70455 -4.87297 10.7461 -34.095 -2.81552 -5.08668 10.6721 -34.1 -2.93173 -5.30992 10.605 -34.105 -3.0534 -5.542 10.5458 -34.11 -3.18078 -5.78363 10.4947 -34.115 -3.31417 -6.03576 10.4521 -34.12 -3.45382 -6.29921 10.4184 -34.125 -3.60001 -6.5747 10.3941 -34.13 -3.753 -6.86289 10.38 -34.135 -3.91305 -7.16431 10.3765 -34.14 -4.08041 -7.4794 10.3847 -34.145 -4.25534 -7.80853 10.4053 -34.15 -4.43808 -8.15194 10.4393 -34.155 -4.62888 -8.5098 10.4878 -34.16 -4.82799 -8.88217 10.5521 -34.165 -5.03563 -9.26902 10.6332 -34.17 -5.25205 -9.67023 10.7327 -34.175 -5.47746 -10.0856 10.8519 -34.18 -5.71211 -10.5147 10.9925 -34.185 -5.9562 -10.9573 11.1559 -34.19 -6.20995 -11.4128 11.344 -34.195 -6.47359 -11.8805 11.5586 -34.2 -6.74732 -12.3599 11.8015 -34.205 -7.03135 -12.8501 12.0748 -34.21 -7.32588 -13.3502 12.3807 -34.215 -7.63111 -13.8592 12.7212 -34.22 -7.9472 -14.3761 13.0986 -34.225 -8.273 -14.8994 13.5126 -34.23 -8.60796 -15.4265 13.9655 -34.235 -8.95208 -15.9545 14.4609 -34.24 -9.3051 -16.4799 15.0017 -34.245 -9.66659 -16.999 15.5902 -34.25 -10.0359 -17.508 16.2282 -34.255 -10.412 -18.0025 16.9168 -34.26 -10.794 -18.478 17.6567 -34.265 -11.1804 -18.9295 18.4476 -34.27 -11.5696 -19.3519 19.289 -34.275 -11.96 -19.7396 20.1796 -34.28 -12.3496 -20.0869 21.1175 -34.285 -12.7361 -20.3877 22.1004 -34.29 -13.117 -20.6354 23.125 -34.295 -13.4898 -20.8234 24.1878 -34.3 -13.8516 -20.9447 25.2845 -34.305 -14.1993 -20.9919 26.4102 -34.31 -14.5312 -20.9588 27.5613 -34.315 -14.8443 -20.8418 28.7279 -34.32 -15.1345 -20.6386 29.8975 -34.325 -15.3981 -20.3477 31.0581 -34.33 -15.6318 -19.9687 32.1985 -34.335 -15.8326 -19.5023 33.3081 -34.34 -15.9978 -18.9504 34.3769 -34.345 -16.1253 -18.3158 35.3957 -34.35 -16.2131 -17.6024 36.3558 -34.355 -16.2598 -16.8152 37.2494 -34.36 -16.2642 -15.9602 38.069 -34.365 -16.2254 -15.0446 38.8082 -34.37 -16.1433 -14.0764 39.4608 -34.375 -16.0175 -13.0652 40.0215 -34.38 -15.8475 -12.025 40.4818 -34.385 -15.6346 -10.9695 40.8411 -34.39 -15.3809 -9.91081 41.1024 -34.395 -15.0885 -8.8597 41.2687 -34.4 -14.76 -7.82599 41.3441 -34.405 -14.3979 -6.81846 41.3328 -34.41 -14.0052 -5.84483 41.2398 -34.415 -13.5848 -4.91174 41.0705 -34.42 -13.1401 -4.02482 40.831 -34.425 -12.6744 -3.18862 40.5277 -34.43 -12.1914 -2.40666 40.1678 -34.435 -11.695 -1.68138 39.7588 -34.44 -11.189 -1.01419 39.3089 -34.445 -10.6775 -0.405266 38.8268 -34.45 -10.1626 0.14692 38.32 -34.455 -9.64734 0.643967 37.7939 -34.46 -9.13427 1.08774 37.2535 -34.465 -8.62588 1.48045 36.7033 -34.47 -8.12435 1.82463 36.1474 -34.475 -7.63163 2.12313 35.5896 -34.48 -7.14944 2.37917 35.0331 -34.485 -6.67923 2.59626 34.4809 -34.49 -6.22222 2.77828 33.9354 -34.495 -5.77938 2.92941 33.3986 -34.5 -5.35144 3.05419 32.8723 -34.505 -4.93891 3.15692 32.3574 -34.51 -4.54217 3.23837 31.8537 -34.515 -4.16134 3.30066 31.3614 -34.52 -3.79641 3.34624 30.8804 -34.525 -3.44731 3.37737 30.4109 -34.53 -3.11391 3.39619 29.9529 -34.535 -2.79603 3.40465 29.5061 -34.54 -2.49341 3.40454 29.0705 -34.545 -2.20572 3.39749 28.6457 -34.55 -1.93257 3.385 28.2316 -34.555 -1.67353 3.36835 27.8276 -34.56 -1.42808 3.34872 27.4333 -34.565 -1.19562 3.3271 27.0483 -34.57 -0.975439 3.30447 26.6721 -34.575 -0.766978 3.28158 26.3046 -34.58 -0.569726 3.25906 25.9453 -34.585 -0.383159 3.23751 25.5939 -34.59 -0.20675 3.21748 25.2501 -34.595 -0.0399625 3.19945 24.9137 -34.6 0.117747 3.1839 24.5843 -34.605 0.266929 3.1712 24.2618 -34.61 0.408141 3.16172 23.9458 -34.615 0.541948 3.15575 23.6362 -34.62 0.668923 3.15356 23.3327 -34.625 0.789645 3.15534 23.0352 -34.63 0.904702 3.16126 22.7435 -34.635 1.01469 3.17142 22.4574 -34.64 1.12019 3.18589 22.1768 -34.645 1.22164 3.20472 21.9016 -34.65 1.31934 3.22806 21.6317 -34.655 1.41359 3.25605 21.367 -34.66 1.5047 3.28878 21.1076 -34.665 1.59299 3.32639 20.8535 -34.67 1.6788 3.36897 20.6045 -34.675 1.76244 3.41661 20.3606 -34.68 1.84427 3.46937 20.1219 -34.685 1.92463 3.52734 19.8883 -34.69 2.00388 3.59056 19.6598 -34.695 2.08237 3.65908 19.4365 -34.7 2.16049 3.73292 19.2182 -34.705 2.23859 3.81212 19.0051 -34.71 2.31707 3.89669 18.7971 -34.715 2.39629 3.98663 18.5943 -34.72 2.47637 4.0821 18.3968 -34.725 2.55745 4.18327 18.2048 -34.73 2.6397 4.29031 18.0183 -34.735 2.72329 4.40338 17.8374 -34.74 2.80842 4.52262 17.6624 -34.745 2.89527 4.64818 17.4934 -34.75 2.98406 4.78021 17.3305 -34.755 3.07498 4.91883 17.174 -34.76 3.16827 5.06419 17.0239 -34.765 3.26415 5.21639 16.8807 -34.77 3.36287 5.37556 16.7444 -34.775 3.46467 5.54181 16.6153 -34.78 3.56981 5.71525 16.4937 -34.785 3.67856 5.89599 16.3799 -34.79 3.79119 6.08411 16.2741 -34.795 3.90786 6.2796 16.1767 -34.8 4.02869 6.48265 16.0881 -34.805 4.15383 6.69358 16.0088 -34.81 4.28341 6.91264 15.9392 -34.815 4.4176 7.14002 15.8798 -34.82 4.55654 7.37589 15.8311 -34.825 4.70038 7.62035 15.7937 -34.83 4.84926 7.87345 15.7682 -34.835 5.00333 8.13518 15.7551 -34.84 5.16273 8.40549 15.7553 -34.845 5.3276 8.68428 15.7693 -34.85 5.49809 8.9714 15.7979 -34.855 5.67431 9.26663 15.8418 -34.86 5.85643 9.56972 15.9018 -34.865 6.04456 9.88036 15.9787 -34.87 6.23884 10.1982 16.0735 -34.875 6.43941 10.5228 16.1869 -34.88 6.6464 10.8537 16.3199 -34.885 6.8596 11.1904 16.4727 -34.89 7.07818 11.5322 16.6447 -34.895 7.30232 11.8784 16.8378 -34.9 7.53218 12.2279 17.0539 -34.905 7.76785 12.5797 17.2949 -34.91 8.00928 12.9324 17.562 -34.915 8.25635 13.2846 17.8566 -34.92 8.50883 13.6349 18.1797 -34.925 8.7664 13.9815 18.5321 -34.93 9.02863 14.3227 18.9142 -34.935 9.29499 14.6563 19.3265 -34.94 9.56488 14.9803 19.7689 -34.945 9.83756 15.2925 20.2412 -34.95 10.1122 15.5903 20.7432 -34.955 10.3879 15.8714 21.2742 -34.96 10.6637 16.1329 21.8332 -34.965 10.9384 16.3721 22.4193 -34.97 11.2108 16.5859 23.031 -34.975 11.4796 16.7712 23.6668 -34.98 11.7435 16.9248 24.325 -34.985 12.0008 17.0432 25.0034 -34.99 12.2499 17.1229 25.6998 -34.995 12.4893 17.1602 26.4117 -35 12.7174 17.1516 27.1367 -35.005 12.9337 17.096 27.8716 -35.01 13.1362 16.9927 28.6102 -35.015 13.3228 16.8417 29.3464 -35.02 13.4915 16.643 30.0745 -35.025 13.6408 16.3971 30.7888 -35.03 13.7691 16.1048 31.4844 -35.035 13.8752 15.7673 32.1564 -35.04 13.9578 15.3862 32.8003 -35.045 14.0163 14.9632 33.4121 -35.05 14.0497 14.5007 33.9878 -35.055 14.0578 14.0013 34.5242 -35.06 14.0401 13.4678 35.0179 -35.065 13.9965 12.9035 35.4663 -35.07 13.9272 12.3122 35.8669 -35.075 13.8325 11.6978 36.2175 -35.08 13.7126 11.065 36.5161 -35.085 13.5672 10.422 36.7597 -35.09 13.3973 9.77486 36.9486 -35.095 13.2041 9.12855 37.0838 -35.1 12.9893 8.48772 37.1666 -35.105 12.7542 7.85664 37.1987 -35.11 12.5004 7.23918 37.1819 -35.115 12.2295 6.63888 37.1184 -35.12 11.9432 6.05887 37.0105 -35.125 11.643 5.50193 36.8609 -35.13 11.3309 4.97045 36.6726 -35.135 11.0084 4.46646 36.4485 -35.14 10.6776 3.99161 36.1923 -35.145 10.3402 3.54717 35.9076 -35.15 9.99818 3.13405 35.5982 -35.155 9.65355 2.75278 35.2685 -35.16 9.30824 2.40324 34.9225 -35.165 8.96357 2.08365 34.5622 -35.17 8.62089 1.79307 34.1896 -35.175 8.28145 1.53062 33.807 -35.18 7.94643 1.29533 33.4164 -35.185 7.61689 1.08611 33.0197 -35.19 7.29378 0.901755 32.6186 -35.195 6.97798 0.740974 32.2147 -35.2 6.67023 0.602351 31.8094 -35.205 6.3712 0.484368 31.4042 -35.21 6.08143 0.385399 31.0001 -35.215 5.80138 0.303709 30.5981 -35.22 5.5314 0.237456 30.1991 -35.225 5.27174 0.184691 29.8039 -35.23 5.02253 0.143357 29.4131 -35.235 4.78385 0.112743 29.0267 -35.24 4.55566 0.0926023 28.6447 -35.245 4.33785 0.0819103 28.2673 -35.25 4.13032 0.0797028 27.8946 -35.255 3.93293 0.085077 27.5268 -35.26 3.74553 0.0971922 27.1638 -35.265 3.56795 0.115269 26.8059 -35.27 3.4 0.13859 26.4529 -35.275 3.24147 0.166499 26.105 -35.28 3.09214 0.198401 25.7621 -35.285 2.95175 0.233763 25.4241 -35.29 2.82005 0.272115 25.091 -35.295 2.69675 0.313047 24.7628 -35.3 2.58154 0.35621 24.4393 -35.305 2.47408 0.401324 24.1203 -35.31 2.37394 0.448167 23.806 -35.315 2.28088 0.49651 23.4961 -35.32 2.1947 0.546143 23.1907 -35.325 2.11516 0.596886 22.8897 -35.33 2.04204 0.648588 22.5929 -35.335 1.97511 0.701124 22.3004 -35.34 1.91414 0.754396 22.0121 -35.345 1.85889 0.808337 21.7279 -35.35 1.80913 0.862904 21.4477 -35.355 1.7646 0.918084 21.1716 -35.36 1.72507 0.973892 20.8994 -35.365 1.69029 1.03037 20.6312 -35.37 1.65999 1.08759 20.3668 -35.375 1.63394 1.14564 20.1062 -35.38 1.61185 1.20466 19.8494 -35.385 1.59349 1.26478 19.5963 -35.39 1.57881 1.32604 19.347 -35.395 1.56774 1.38846 19.1013 -35.4 1.56024 1.45211 18.8594 -35.405 1.55624 1.51705 18.6211 -35.41 1.55567 1.58336 18.3865 -35.415 1.55847 1.65116 18.1554 -35.42 1.56457 1.72055 17.9281 -35.425 1.57392 1.79167 17.7043 -35.43 1.58644 1.86464 17.4842 -35.435 1.60207 1.93964 17.2677 -35.44 1.62074 2.01682 17.0548 -35.445 1.64238 2.09638 16.8456 -35.45 1.66692 2.17851 16.6401 -35.455 1.69431 2.26343 16.4382 -35.46 1.72445 2.35136 16.2401 -35.465 1.75731 2.44254 16.0457 -35.47 1.79298 2.53708 15.8552 -35.475 1.83157 2.63512 15.6685 -35.48 1.87312 2.73685 15.4858 -35.485 1.91769 2.84245 15.307 -35.49 1.96535 2.95213 15.1322 -35.495 2.01616 3.0661 14.9615 -35.5 2.07019 3.18457 14.7951 -35.505 2.12752 3.30779 14.6329 -35.51 2.18823 3.43598 14.4752 -35.515 2.2524 3.5694 14.322 -35.52 2.32012 3.70831 14.1736 -35.525 2.39149 3.85299 14.03 -35.53 2.46661 4.0037 13.8916 -35.535 2.54557 4.16075 13.7584 -35.54 2.62849 4.32444 13.6307 -35.545 2.71548 4.49507 13.5087 -35.55 2.80665 4.67295 13.3926 -35.555 2.90221 4.85791 13.283 -35.56 3.00236 5.05018 13.1801 -35.565 3.10728 5.25031 13.0842 -35.57 3.21714 5.45883 12.9955 -35.575 3.33213 5.67621 12.9143 -35.58 3.45241 5.90287 12.8412 -35.585 3.57818 6.13922 12.7764 -35.59 3.70962 6.38559 12.7205 -35.595 3.84692 6.64229 12.6741 -35.6 3.99026 6.90959 12.6378 -35.605 4.13984 7.1877 12.6122 -35.61 4.29585 7.47681 12.5982 -35.615 4.45849 7.77704 12.5964 -35.62 4.62795 8.0885 12.6078 -35.625 4.80444 8.41122 12.6333 -35.63 4.98817 8.74523 12.6739 -35.635 5.17933 9.09049 12.7305 -35.64 5.37814 9.44692 12.8043 -35.645 5.5848 9.8144 12.8964 -35.65 5.79953 10.1928 13.0081 -35.655 6.02255 10.5818 13.1405 -35.66 6.25407 10.9813 13.295 -35.665 6.49431 11.391 13.473 -35.67 6.74321 11.8103 13.6755 -35.675 7.00012 12.2379 13.9028 -35.68 7.26528 12.6732 14.1575 -35.685 7.53887 13.1151 14.4418 -35.69 7.82095 13.5625 14.7578 -35.695 8.11144 14.0138 15.1074 -35.7 8.41013 14.4671 15.4922 -35.705 8.71668 14.9203 15.9136 -35.71 9.03064 15.3711 16.3727 -35.715 9.3514 15.8166 16.8706 -35.72 9.67824 16.254 17.4079 -35.725 10.0103 16.6799 17.9851 -35.73 10.3466 17.0907 18.6024 -35.735 10.6861 17.4827 19.2598 -35.74 11.0274 17.8515 19.9573 -35.745 11.3692 18.1929 20.6942 -35.75 11.7101 18.5019 21.4699 -35.755 12.0483 18.7737 22.2836 -35.76 12.3822 19.0029 23.1341 -35.765 12.7105 19.1866 24.0201 -35.77 13.0311 19.3199 24.9366 -35.775 13.3411 19.3973 25.8774 -35.78 13.638 19.4139 26.8361 -35.785 13.919 19.3659 27.8063 -35.79 14.1818 19.2504 28.7814 -35.795 14.424 19.0651 29.7547 -35.8 14.6434 18.8088 30.7194 -35.805 14.8377 18.4813 31.6687 -35.81 15.005 18.0829 32.5954 -35.815 15.1432 17.615 33.4924 -35.82 15.2507 17.08 34.3526 -35.825 15.3256 16.481 35.1685 -35.83 15.3663 15.822 35.9327 -35.835 15.3713 15.1079 36.6374 -35.84 15.3396 14.342 37.2718 -35.845 15.2712 13.5341 37.8317 -35.85 15.1664 12.6952 38.3164 -35.855 15.0258 11.8358 38.7257 -35.86 14.8503 10.9654 39.0597 -35.865 14.6411 10.0927 39.319 -35.87 14.3995 9.22531 39.5046 -35.875 14.1273 8.37021 39.6182 -35.88 13.8263 7.53341 39.6616 -35.885 13.4989 6.72008 39.6371 -35.89 13.1476 5.93448 39.5477 -35.895 12.775 5.18003 39.3965 -35.9 12.3843 4.45927 39.1872 -35.905 11.9788 3.77388 38.924 -35.91 11.5619 3.12488 38.6117 -35.915 11.1352 2.51829 38.2597 -35.92 10.7007 1.95701 37.8749 -35.925 10.2612 1.44117 37.4623 -35.93 9.81925 0.97046 37.0264 -35.935 9.37705 0.544152 36.5716 -35.94 8.93677 0.161064 36.1019 -35.945 8.50035 -0.180417 35.6211 -35.95 8.06954 -0.482345 35.1328 -35.955 7.64589 -0.747208 34.6404 -35.96 7.23078 -0.977934 34.1469 -35.965 6.8254 -1.17789 33.6551 -35.97 6.43074 -1.35055 33.1674 -35.975 6.04769 -1.49716 32.6841 -35.98 5.67682 -1.61974 32.206 -35.985 5.31855 -1.7206 31.7339 -35.99 4.97324 -1.80192 31.2685 -35.995 4.64114 -1.86579 30.8104 -36 4.32243 -1.91418 30.3601 -36.005 4.01719 -1.94894 29.9179 -36.01 3.72545 -1.97182 29.484 -36.015 3.4471 -1.98445 29.0584 -36.02 3.18199 -1.98836 28.641 -36.025 2.92986 -1.98497 28.2317 -36.03 2.69036 -1.97556 27.8302 -36.035 2.46306 -1.9612 27.4365 -36.04 2.24759 -1.94275 27.0503 -36.045 2.04356 -1.92103 26.6715 -36.05 1.85056 -1.89681 26.2998 -36.055 1.6682 -1.87079 25.935 -36.06 1.49604 -1.84362 25.5768 -36.065 1.33368 -1.81588 25.2251 -36.07 1.18066 -1.7881 24.8796 -36.075 1.03655 -1.76075 24.5402 -36.08 0.900881 -1.73425 24.2066 -36.085 0.773204 -1.70896 23.8788 -36.09 0.653038 -1.68518 23.5564 -36.095 0.539902 -1.66314 23.2394 -36.1 0.433303 -1.64303 22.9275 -36.105 0.33274 -1.62498 22.6207 -36.11 0.237709 -1.60906 22.3188 -36.115 0.14785 -1.5954 22.0217 -36.12 0.0628828 -1.58415 21.7291 -36.125 -0.017487 -1.57541 21.4411 -36.13 -0.093555 -1.5693 21.1575 -36.135 -0.165619 -1.56588 20.8783 -36.14 -0.233978 -1.56524 20.6033 -36.145 -0.298933 -1.56743 20.3326 -36.15 -0.360787 -1.5725 20.0659 -36.155 -0.419846 -1.58047 19.8033 -36.16 -0.476415 -1.59137 19.5446 -36.165 -0.530803 -1.60519 19.2898 -36.17 -0.58332 -1.62192 19.0389 -36.175 -0.634279 -1.64153 18.7917 -36.18 -0.68396 -1.66402 18.5482 -36.185 -0.732494 -1.68947 18.3084 -36.19 -0.780026 -1.71794 18.0723 -36.195 -0.826713 -1.7495 17.8398 -36.2 -0.872712 -1.78421 17.611 -36.205 -0.918189 -1.82214 17.3858 -36.21 -0.96331 -1.86335 17.1641 -36.215 -1.00825 -1.90789 16.946 -36.22 -1.05318 -1.95583 16.7315 -36.225 -1.09828 -2.00723 16.5205 -36.23 -1.14374 -2.06214 16.3131 -36.235 -1.18975 -2.12062 16.1092 -36.24 -1.23649 -2.18273 15.9088 -36.245 -1.28418 -2.24853 15.712 -36.25 -1.33297 -2.31809 15.5187 -36.255 -1.38298 -2.39158 15.3291 -36.26 -1.43428 -2.46915 15.143 -36.265 -1.48699 -2.55096 14.9606 -36.27 -1.5412 -2.6372 14.782 -36.275 -1.59704 -2.72802 14.6071 -36.28 -1.65464 -2.82361 14.436 -36.285 -1.71414 -2.92414 14.2688 -36.29 -1.77567 -3.0298 14.1056 -36.295 -1.83941 -3.14077 13.9465 -36.3 -1.90551 -3.25725 13.7915 -36.305 -1.97416 -3.37942 13.6408 -36.31 -2.04553 -3.50748 13.4946 -36.315 -2.11984 -3.64164 13.3529 -36.32 -2.19727 -3.78209 13.2159 -36.325 -2.27805 -3.92904 13.0837 -36.33 -2.36238 -4.08267 12.9566 -36.335 -2.45038 -4.24325 12.8349 -36.34 -2.5422 -4.41116 12.7187 -36.345 -2.63798 -4.58679 12.6083 -36.35 -2.73788 -4.7705 12.5038 -36.355 -2.84206 -4.96266 12.4056 -36.36 -2.95071 -5.1636 12.314 -36.365 -3.06402 -5.37365 12.2295 -36.37 -3.18218 -5.59315 12.1523 -36.375 -3.30542 -5.82239 12.0831 -36.38 -3.43395 -6.06168 12.0223 -36.385 -3.56802 -6.31129 11.9704 -36.39 -3.70787 -6.5715 11.928 -36.395 -3.85375 -6.84257 11.8959 -36.4 -4.00594 -7.12474 11.8746 -36.405 -4.16472 -7.41826 11.865 -36.41 -4.33039 -7.72334 11.8677 -36.415 -4.50323 -8.04021 11.8835 -36.42 -4.68357 -8.36905 11.9134 -36.425 -4.87141 -8.70925 11.958 -36.43 -5.0664 -9.05962 12.0179 -36.435 -5.26905 -9.42117 12.0949 -36.44 -5.47981 -9.79474 12.1902 -36.445 -5.69909 -10.1809 12.3055 -36.45 -5.92718 -10.5798 12.4424 -36.455 -6.16435 -10.9917 12.6022 -36.46 -6.41076 -11.4161 12.7865 -36.465 -6.66652 -11.8526 12.9969 -36.47 -6.93164 -12.3003 13.2348 -36.475 -7.20609 -12.7581 13.5016 -36.48 -7.48974 -13.2248 13.799 -36.485 -7.78242 -13.6985 14.1284 -36.49 -8.08384 -14.1775 14.4912 -36.495 -8.39369 -14.6595 14.889 -36.5 -8.71155 -15.142 15.3232 -36.505 -9.03694 -15.6224 15.7953 -36.51 -9.3693 -16.0976 16.3067 -36.515 -9.70802 -16.5643 16.859 -36.52 -10.0524 -17.019 17.4535 -36.525 -10.4017 -17.4578 18.0916 -36.53 -10.755 -17.8766 18.775 -36.535 -11.1114 -18.271 19.5049 -36.54 -11.4698 -18.6375 20.2816 -36.545 -11.8281 -18.973 21.1015 -36.55 -12.1843 -19.2701 21.9625 -36.555 -12.5362 -19.522 22.8621 -36.56 -12.8816 -19.7227 23.7968 -36.565 -13.2184 -19.8665 24.7628 -36.57 -13.5441 -19.9486 25.7554 -36.575 -13.8564 -19.9649 26.7694 -36.58 -14.1528 -19.9117 27.7989 -36.585 -14.4308 -19.7863 28.8373 -36.59 -14.6877 -19.5864 29.8772 -36.595 -14.9209 -19.3104 30.9108 -36.6 -15.1277 -18.9574 31.9296 -36.605 -15.3051 -18.5272 32.9242 -36.61 -15.4505 -18.02 33.8847 -36.615 -15.5622 -17.4314 34.8004 -36.62 -15.6389 -16.7687 35.6629 -36.625 -15.6787 -16.0431 36.465 -36.63 -15.6803 -15.2656 37.2007 -36.635 -15.6429 -14.446 37.8648 -36.64 -15.5662 -13.5937 38.453 -36.645 -15.4502 -12.7172 38.9621 -36.65 -15.2955 -11.8241 39.3898 -36.655 -15.1032 -10.9217 39.7345 -36.66 -14.8747 -10.0161 39.9959 -36.665 -14.612 -9.1129 40.1743 -36.67 -14.3176 -8.21693 40.2713 -36.675 -13.9943 -7.33225 40.2891 -36.68 -13.6455 -6.46219 40.231 -36.685 -13.2739 -5.6135 40.1021 -36.69 -12.8797 -4.80196 39.9103 -36.695 -12.4662 -4.03239 39.6613 -36.7 -12.0366 -3.30807 39.3607 -36.705 -11.5941 -2.63144 39.0142 -36.71 -11.1415 -2.00418 38.6272 -36.715 -10.6818 -1.42714 38.2056 -36.72 -10.2177 -0.900387 37.7551 -36.725 -9.75161 -0.423172 37.2814 -36.73 -9.28603 0.00604081 36.7902 -36.735 -8.82319 0.389592 36.2875 -36.74 -8.36522 0.730623 35.779 -36.745 -7.91408 1.03239 35.2692 -36.75 -7.47131 1.29646 34.7579 -36.755 -7.03815 1.52547 34.2469 -36.76 -6.6157 1.7221 33.7382 -36.765 -6.20489 1.88899 33.2337 -36.77 -5.80656 2.02874 32.7348 -36.775 -5.42137 2.1439 32.2428 -36.78 -5.04985 2.23694 31.7585 -36.785 -4.6924 2.3103 31.2828 -36.79 -4.34927 2.36639 30.8161 -36.795 -4.02057 2.40754 30.3586 -36.8 -3.70628 2.43603 29.9103 -36.805 -3.40627 2.4539 29.471 -36.81 -3.12035 2.46235 29.041 -36.815 -2.84819 2.46271 28.6201 -36.82 -2.58941 2.45626 28.2079 -36.825 -2.34365 2.4442 27.8044 -36.83 -2.11051 2.42764 27.4091 -36.835 -1.88957 2.4076 27.022 -36.84 -1.6804 2.38501 26.6427 -36.845 -1.48257 2.36072 26.271 -36.85 -1.29562 2.33549 25.9066 -36.855 -1.11906 2.31 25.5494 -36.86 -0.952399 2.28483 25.1991 -36.865 -0.795137 2.26047 24.8554 -36.87 -0.646744 2.23735 24.5181 -36.875 -0.50668 2.21578 24.187 -36.88 -0.374375 2.19603 23.8619 -36.885 -0.249285 2.17839 23.5424 -36.89 -0.131013 2.16311 23.2285 -36.895 -0.0191686 2.1504 22.9199 -36.9 0.0866375 2.14046 22.6167 -36.905 0.186798 2.13346 22.3186 -36.91 0.281705 2.12956 22.0255 -36.915 0.371756 2.12889 21.7373 -36.92 0.457347 2.13154 21.4539 -36.925 0.538876 2.1376 21.1751 -36.93 0.616745 2.14715 20.9009 -36.935 0.691356 2.16021 20.6312 -36.94 0.763112 2.1768 20.3658 -36.945 0.832418 2.19692 20.1048 -36.95 0.899605 2.2206 19.848 -36.955 0.964866 2.24793 19.5954 -36.96 1.02841 2.27899 19.3471 -36.965 1.09047 2.31387 19.1029 -36.97 1.15124 2.35263 18.8628 -36.975 1.21097 2.39535 18.6269 -36.98 1.26988 2.44209 18.3951 -36.985 1.3282 2.49293 18.1674 -36.99 1.38618 2.54791 17.9439 -36.995 1.44404 2.60712 17.7244 -37 1.50205 2.67059 17.509 -37.005 1.56044 2.73838 17.2977 -37.01 1.61948 2.81055 17.0906 -37.015 1.67941 2.88714 16.8876 -37.02 1.74042 2.96825 16.6888 -37.025 1.80264 3.05407 16.4942 -37.03 1.86616 3.14476 16.3039 -37.035 1.93114 3.24048 16.1181 -37.04 1.99771 3.34143 15.9367 -37.045 2.06601 3.44777 15.7598 -37.05 2.13622 3.55968 15.5876 -37.055 2.2085 3.67733 15.4202 -37.06 2.28303 3.8009 15.2576 -37.065 2.36001 3.93057 15.1001 -37.07 2.43963 4.06652 14.9479 -37.075 2.52211 4.20892 14.8009 -37.08 2.60767 4.35797 14.6596 -37.085 2.69654 4.51383 14.5239 -37.09 2.78897 4.6767 14.3942 -37.095 2.88519 4.84673 14.2707 -37.1 2.98533 5.02408 14.1537 -37.105 3.08953 5.20913 14.0435 -37.11 3.19796 5.40224 13.9404 -37.115 3.31076 5.60377 13.8447 -37.12 3.42811 5.81404 13.7568 -37.125 3.55019 6.03335 13.6772 -37.13 3.67717 6.26196 13.6063 -37.135 3.80926 6.50012 13.5445 -37.14 3.94664 6.74805 13.4925 -37.145 4.08954 7.00593 13.4509 -37.15 4.23815 7.27393 13.4203 -37.155 4.39271 7.55218 13.4013 -37.16 4.55344 7.8408 13.3948 -37.165 4.72058 8.13987 13.4014 -37.17 4.89437 8.44945 13.422 -37.175 5.07508 8.76957 13.4575 -37.18 5.26295 9.10023 13.5088 -37.185 5.45826 9.44141 13.5768 -37.19 5.66075 9.79224 13.6618 -37.195 5.87003 10.1518 13.7643 -37.2 6.08657 10.5206 13.8863 -37.205 6.31076 10.8988 14.0296 -37.21 6.54288 11.2865 14.196 -37.215 6.78314 11.6832 14.387 -37.22 7.03165 12.0885 14.6043 -37.225 7.28842 12.5016 14.8493 -37.23 7.5534 12.9213 15.1232 -37.235 7.82642 13.3463 15.4275 -37.24 8.10723 13.775 15.7631 -37.245 8.39549 14.2056 16.1312 -37.25 8.69076 14.636 16.5327 -37.255 8.99252 15.0637 16.9684 -37.26 9.30017 15.4861 17.4391 -37.265 9.61298 15.9002 17.9454 -37.27 9.93018 16.3031 18.4879 -37.275 10.2509 16.6911 19.067 -37.28 10.5741 17.0606 19.683 -37.285 10.8987 17.4078 20.3363 -37.29 11.2237 17.7282 21.0268 -37.295 11.5476 18.0175 21.7548 -37.3 11.8693 18.271 22.5201 -37.305 12.1875 18.486 23.3214 -37.31 12.5001 18.6593 24.1541 -37.315 12.8048 18.7853 25.0134 -37.32 13.0992 18.8592 25.8942 -37.325 13.381 18.8768 26.7913 -37.33 13.648 18.8349 27.6991 -37.335 13.898 18.7308 28.6122 -37.34 14.129 18.5627 29.5246 -37.345 14.3388 18.3294 30.4303 -37.35 14.5255 18.0307 31.3231 -37.355 14.6872 17.667 32.1965 -37.36 14.8222 17.2394 33.0439 -37.365 14.9285 16.7498 33.8586 -37.37 15.0045 16.2009 34.6335 -37.375 15.0486 15.5961 35.3614 -37.38 15.0593 14.9382 36.0339 -37.385 15.0362 14.231 36.6421 -37.39 14.979 13.4846 37.1842 -37.395 14.8881 12.7091 37.6588 -37.4 14.7637 11.9135 38.0652 -37.405 14.6066 11.1065 38.4029 -37.41 14.4177 10.2955 38.6719 -37.415 14.1983 9.48745 38.8729 -37.42 13.9499 8.68852 39.0066 -37.425 13.6741 7.90401 39.0745 -37.43 13.373 7.13848 39.0783 -37.435 13.0488 6.39571 39.0203 -37.44 12.7042 5.67873 38.9031 -37.445 12.3418 4.98978 38.7297 -37.45 11.9649 4.33034 38.5038 -37.455 11.5765 3.70171 38.2297 -37.46 11.1775 3.11131 37.9163 -37.465 10.7702 2.56197 37.5696 -37.47 10.357 2.05421 37.1938 -37.475 9.9404 1.58811 36.7933 -37.48 9.52246 1.16332 36.372 -37.485 9.10529 0.779072 35.9337 -37.49 8.69074 0.43417 35.4822 -37.495 8.28052 0.126984 35.0208 -37.5 7.87617 -0.144541 34.5529 -37.505 7.47906 -0.382889 34.0816 -37.51 7.09038 -0.59097 33.6099 -37.515 6.71119 -0.772111 33.1404 -37.52 6.34241 -0.928053 32.6739 -37.525 5.9847 -1.06008 32.2109 -37.53 5.63853 -1.1703 31.7522 -37.535 5.30428 -1.26074 31.2986 -37.54 4.98227 -1.33335 30.8508 -37.545 4.67273 -1.38996 30.4093 -37.55 4.37581 -1.43233 29.9747 -37.555 4.09158 -1.4621 29.5472 -37.56 3.82004 -1.48086 29.127 -37.565 3.56111 -1.49007 28.7142 -37.57 3.31461 -1.49112 28.3087 -37.575 3.08033 -1.4853 27.9103 -37.58 2.85791 -1.47374 27.5188 -37.585 2.64697 -1.45731 27.1344 -37.59 2.44718 -1.4368 26.7567 -37.595 2.25817 -1.41298 26.3857 -37.6 2.07958 -1.38652 26.0212 -37.605 1.91104 -1.35808 25.6629 -37.61 1.75216 -1.32822 25.3107 -37.615 1.60255 -1.29749 24.9645 -37.62 1.46182 -1.26635 24.6239 -37.625 1.32955 -1.23522 24.289 -37.63 1.20534 -1.20447 23.9596 -37.635 1.08876 -1.1744 23.6354 -37.64 0.979369 -1.14527 23.3163 -37.645 0.876734 -1.11727 23.0023 -37.65 0.780403 -1.09055 22.693 -37.655 0.689918 -1.06519 22.3885 -37.66 0.604864 -1.04128 22.0886 -37.665 0.524971 -1.01897 21.7931 -37.67 0.44997 -0.998365 21.502 -37.675 0.379585 -0.979553 21.2152 -37.68 0.313544 -0.962607 20.9325 -37.685 0.251572 -0.947586 20.6539 -37.69 0.193394 -0.934533 20.3793 -37.695 0.138735 -0.923478 20.1087 -37.7 0.0873205 -0.914433 19.8419 -37.705 0.0388733 -0.907398 19.5789 -37.71 -0.00688258 -0.902357 19.3195 -37.715 -0.0502241 -0.89928 19.0638 -37.72 -0.0914285 -0.898121 18.8117 -37.725 -0.130762 -0.898827 18.563 -37.73 -0.168366 -0.901431 18.3178 -37.735 -0.204361 -0.905966 18.076 -37.74 -0.238883 -0.912454 17.8376 -37.745 -0.272068 -0.920914 17.6025 -37.75 -0.304054 -0.931362 17.3707 -37.755 -0.334983 -0.943812 17.1421 -37.76 -0.364996 -0.958273 16.9167 -37.765 -0.394239 -0.974754 16.6945 -37.77 -0.422858 -0.993259 16.4754 -37.775 -0.451002 -1.01379 16.2594 -37.78 -0.478822 -1.03635 16.0465 -37.785 -0.50647 -1.06092 15.8365 -37.79 -0.534102 -1.08751 15.6295 -37.795 -0.561836 -1.11614 15.4255 -37.8 -0.589731 -1.14689 15.2245 -37.805 -0.61785 -1.17983 15.0263 -37.81 -0.646263 -1.21504 14.831 -37.815 -0.675046 -1.25258 14.6386 -37.82 -0.704278 -1.29253 14.4491 -37.825 -0.734045 -1.33498 14.2624 -37.83 -0.764439 -1.38 14.0786 -37.835 -0.795556 -1.42767 13.8975 -37.84 -0.827497 -1.47809 13.7193 -37.845 -0.860369 -1.53132 13.5439 -37.85 -0.894286 -1.58747 13.3714 -37.855 -0.929365 -1.64662 13.2016 -37.86 -0.96573 -1.70886 13.0347 -37.865 -1.00351 -1.77429 12.8705 -37.87 -1.04282 -1.84302 12.7093 -37.875 -1.08374 -1.91523 12.5509 -37.88 -1.12632 -1.99111 12.3954 -37.885 -1.17063 -2.07082 12.2428 -37.89 -1.21677 -2.15457 12.0932 -37.895 -1.26483 -2.24254 11.9466 -37.9 -1.31489 -2.33495 11.803 -37.905 -1.36709 -2.432 11.6625 -37.91 -1.42152 -2.53392 11.5251 -37.915 -1.47834 -2.64092 11.3911 -37.92 -1.53767 -2.75323 11.2604 -37.925 -1.59967 -2.8711 11.1331 -37.93 -1.66449 -2.99477 11.0094 -37.935 -1.7323 -3.12448 10.8894 -37.94 -1.80328 -3.2605 10.7733 -37.945 -1.87762 -3.4031 10.6611 -37.95 -1.95551 -3.55253 10.553 -37.955 -2.03717 -3.70909 10.4493 -37.96 -2.12279 -3.8729 10.3502 -37.965 -2.21256 -4.04431 10.2561 -37.97 -2.30661 -4.22383 10.1671 -37.975 -2.40512 -4.41196 10.0834 -37.98 -2.50828 -4.60918 10.0052 -37.985 -2.61627 -4.81596 9.93278 -37.99 -2.72931 -5.03276 9.86657 -37.995 -2.84762 -5.26001 9.80697 -38 -2.97143 -5.49815 9.75444 -38.005 -3.10098 -5.74757 9.70954 -38.01 -3.23654 -6.00868 9.67285 -38.015 -3.37837 -6.28185 9.64504 -38.02 -3.52676 -6.56746 9.62682 -38.025 -3.68201 -6.86584 9.61897 -38.03 -3.84442 -7.17735 9.62233 -38.035 -4.01432 -7.5023 9.63778 -38.04 -4.19204 -7.841 9.66628 -38.045 -4.37793 -8.19373 9.70885 -38.05 -4.57236 -8.56079 9.76656 -38.055 -4.77568 -8.94242 9.84053 -38.06 -4.98829 -9.33889 9.93197 -38.065 -5.21032 -9.74988 10.042 -38.07 -5.44132 -10.1741 10.1716 -38.075 -5.68184 -10.6125 10.3228 -38.08 -5.93243 -11.0656 10.4979 -38.085 -6.19354 -11.5338 10.6988 -38.09 -6.4655 -12.0171 10.9276 -38.095 -6.74854 -12.515 11.1865 -38.1 -7.04281 -13.0266 11.4774 -38.105 -7.34832 -13.5507 11.8024 -38.11 -7.665 -14.0859 12.1635 -38.115 -7.99266 -14.63 12.5626 -38.12 -8.33102 -15.1808 13.0019 -38.125 -8.67969 -15.7356 13.4832 -38.13 -9.03817 -16.2912 14.0086 -38.135 -9.40587 -16.8441 14.5799 -38.14 -9.78207 -17.3906 15.1991 -38.145 -10.166 -17.9264 15.8681 -38.15 -10.5567 -18.4468 16.5888 -38.155 -10.9531 -18.9469 17.3631 -38.16 -11.3542 -19.4213 18.1928 -38.165 -11.7587 -19.865 19.0792 -38.17 -12.1645 -20.2744 20.0191 -38.175 -12.5694 -20.6402 21.0106 -38.18 -12.9707 -20.9536 22.0508 -38.185 -13.3659 -21.2063 23.1362 -38.19 -13.7523 -21.3911 24.2622 -38.195 -14.127 -21.5015 25.4232 -38.2 -14.487 -21.5316 26.6128 -38.205 -14.8292 -21.4768 27.8234 -38.21 -15.1504 -21.3329 29.0465 -38.215 -15.4472 -21.0968 30.2728 -38.22 -15.7161 -20.7662 31.4918 -38.225 -15.9536 -20.3394 32.6921 -38.23 -16.1559 -19.8158 33.8615 -38.235 -16.3199 -19.1923 34.9866 -38.24 -16.4439 -18.4671 36.0544 -38.245 -16.5255 -17.6549 37.0545 -38.25 -16.5623 -16.7699 37.9775 -38.255 -16.5529 -15.8257 38.8157 -38.26 -16.4963 -14.8347 39.5626 -38.265 -16.3924 -13.8082 40.2131 -38.27 -16.2413 -12.7565 40.7635 -38.275 -16.0442 -11.6889 41.2113 -38.28 -15.8027 -10.6138 41.5555 -38.285 -15.519 -9.53842 41.7964 -38.29 -15.196 -8.46894 41.9358 -38.295 -14.8372 -7.41062 41.9765 -38.3 -14.4468 -6.36761 41.9231 -38.305 -14.0273 -5.35182 41.7826 -38.31 -13.5797 -4.3831 41.564 -38.315 -13.1081 -3.46723 41.2752 -38.32 -12.6164 -2.60856 40.9237 -38.325 -12.1085 -1.81025 40.5171 -38.33 -11.5883 -1.07435 40.0632 -38.335 -11.0591 -0.401701 39.5698 -38.34 -10.5244 0.207981 39.0446 -38.345 -9.98733 0.75616 38.4955 -38.35 -9.45102 1.24546 37.9303 -38.355 -8.91832 1.67965 37.357 -38.36 -8.39187 2.06276 36.7816 -38.365 -7.87375 2.39712 36.2046 -38.37 -7.36571 2.68625 35.6291 -38.375 -6.86932 2.93373 35.0578 -38.38 -6.38591 3.1431 34.4932 -38.385 -5.91665 3.31783 33.9373 -38.39 -5.46249 3.46135 33.3917 -38.395 -5.02416 3.57704 32.8575 -38.4 -4.60221 3.66822 32.3358 -38.405 -4.19699 3.73819 31.8268 -38.41 -3.80863 3.79015 31.3307 -38.415 -3.43712 3.82708 30.8473 -38.42 -3.08245 3.85081 30.3769 -38.425 -2.74427 3.86324 29.9191 -38.43 -2.42218 3.86617 29.4736 -38.435 -2.11575 3.8613 29.0398 -38.44 -1.82454 3.85019 28.6174 -38.445 -1.54807 3.8343 28.2061 -38.45 -1.28585 3.81494 27.8054 -38.455 -1.03737 3.79331 27.4149 -38.46 -0.802067 3.7705 27.0343 -38.465 -0.579388 3.74745 26.6631 -38.47 -0.36874 3.725 26.301 -38.475 -0.169509 3.70385 25.9476 -38.48 0.0189421 3.6846 25.6025 -38.485 0.197276 3.66771 25.2654 -38.49 0.366212 3.65354 24.9359 -38.495 0.52653 3.64252 24.6136 -38.5 0.678734 3.63497 24.2984 -38.505 0.823295 3.63119 23.99 -38.51 0.960692 3.63145 23.6882 -38.515 1.09141 3.63599 23.3929 -38.52 1.21593 3.64502 23.104 -38.525 1.33476 3.65874 22.8212 -38.53 1.44838 3.67729 22.5444 -38.535 1.5573 3.70083 22.2736 -38.54 1.66204 3.72946 22.0085 -38.545 1.7631 3.76326 21.7492 -38.55 1.86101 3.8023 21.4954 -38.555 1.95628 3.84662 21.2472 -38.56 2.04945 3.8962 21.0044 -38.565 2.14094 3.95108 20.767 -38.57 2.23096 4.01136 20.5351 -38.575 2.31975 4.07715 20.3087 -38.58 2.40757 4.14857 20.0879 -38.585 2.49469 4.22572 19.8727 -38.59 2.58137 4.30871 19.6633 -38.595 2.66788 4.39761 19.4596 -38.6 2.75451 4.49253 19.2618 -38.605 2.84155 4.59352 19.0699 -38.61 2.92929 4.70066 18.8841 -38.615 3.01804 4.81402 18.7044 -38.62 3.10809 4.93364 18.531 -38.625 3.19978 5.05959 18.364 -38.63 3.29341 5.19189 18.2036 -38.635 3.38931 5.33059 18.0498 -38.64 3.48768 5.47573 17.903 -38.645 3.58864 5.6275 17.7633 -38.65 3.69233 5.78612 17.6312 -38.655 3.7989 5.95176 17.5067 -38.66 3.9085 6.12458 17.3903 -38.665 4.02131 6.30472 17.2822 -38.67 4.13748 6.49228 17.1829 -38.675 4.2572 6.68736 17.0927 -38.68 4.38063 6.89002 17.0119 -38.685 4.50797 7.1003 16.9411 -38.69 4.63941 7.31823 16.8806 -38.695 4.77514 7.54379 16.8309 -38.7 4.91536 7.77696 16.7926 -38.705 5.06029 8.01768 16.766 -38.71 5.21014 8.2659 16.7518 -38.715 5.36514 8.5215 16.7505 -38.72 5.52544 8.78432 16.7626 -38.725 5.69085 9.0539 16.7884 -38.73 5.86148 9.33026 16.8287 -38.735 6.03747 9.6134 16.8846 -38.74 6.21895 9.90317 16.957 -38.745 6.40597 10.1993 17.0468 -38.75 6.59859 10.5015 17.155 -38.755 6.79678 10.8092 17.2823 -38.76 7.00049 11.1217 17.4297 -38.765 7.20966 11.4384 17.5977 -38.77 7.42413 11.7583 17.7872 -38.775 7.64375 12.0805 17.9989 -38.78 7.8683 12.4037 18.2333 -38.785 8.09754 12.7268 18.4911 -38.79 8.33117 13.0483 18.7728 -38.795 8.56887 13.3668 19.079 -38.8 8.81027 13.6806 19.4101 -38.805 9.05495 13.988 19.7666 -38.81 9.30247 14.2871 20.1488 -38.815 9.55233 14.5758 20.5572 -38.82 9.80401 14.852 20.992 -38.825 10.0568 15.1148 21.4531 -38.83 10.3099 15.362 21.9397 -38.835 10.5622 15.5904 22.451 -38.84 10.8125 15.7967 22.9862 -38.845 11.06 15.9779 23.5438 -38.85 11.3033 16.1312 24.1225 -38.855 11.5414 16.2543 24.7202 -38.86 11.7731 16.3447 25.3349 -38.865 11.997 16.4005 25.9642 -38.87 12.2121 16.4198 26.6053 -38.875 12.4168 16.4012 27.2553 -38.88 12.61 16.3434 27.9109 -38.885 12.7903 16.2452 28.5686 -38.89 12.9562 16.1058 29.2245 -38.895 13.1063 15.9246 29.8744 -38.9 13.2391 15.7012 30.514 -38.905 13.3532 15.4357 31.1386 -38.91 13.4475 15.1254 31.7433 -38.915 13.5217 14.7713 32.3238 -38.92 13.5746 14.3784 32.8761 -38.925 13.6053 13.9517 33.3965 -38.93 13.6132 13.4957 33.882 -38.935 13.5979 13.0149 34.3297 -38.94 13.5591 12.5134 34.7372 -38.945 13.4969 11.9951 35.1024 -38.95 13.4115 11.4635 35.4238 -38.955 13.3032 10.9221 35.7002 -38.96 13.1727 10.3738 35.9307 -38.965 13.0208 9.82151 36.1149 -38.97 12.8486 9.2678 36.2528 -38.975 12.6572 8.71495 36.3447 -38.98 12.4483 8.165 36.3914 -38.985 12.2234 7.61973 36.3941 -38.99 11.9844 7.08066 36.3544 -38.995 11.732 6.55341 36.2748 -39 11.4665 6.0452 36.1587 -39.005 11.1896 5.5581 36.0081 -39.01 10.903 5.09385 35.8253 -39.015 10.6086 4.65391 35.6125 -39.02 10.3079 4.2394 35.3721 -39.025 10.0024 3.85116 35.1067 -39.03 9.69371 3.48971 34.8187 -39.035 9.38313 3.15527 34.5108 -39.04 9.07205 2.84776 34.1856 -39.045 8.76172 2.56678 33.846 -39.05 8.45336 2.31163 33.4947 -39.055 8.14809 2.0813 33.1349 -39.06 7.84698 1.87449 32.7693 -39.065 7.55102 1.68957 32.4012 -39.07 7.26115 1.52531 32.0313 -39.075 6.97805 1.38097 31.6585 -39.08 6.70224 1.25539 31.2841 -39.085 6.43416 1.14742 30.909 -39.09 6.17422 1.05593 30.5341 -39.095 5.92277 0.979814 30.1601 -39.1 5.68011 0.917973 29.7877 -39.105 5.44649 0.869331 29.4176 -39.11 5.2221 0.83283 29.0503 -39.115 5.00709 0.807428 28.6862 -39.12 4.80156 0.792102 28.3257 -39.125 4.60553 0.785846 27.9691 -39.13 4.41902 0.787671 27.6164 -39.135 4.24195 0.796607 27.2679 -39.14 4.07421 0.811699 26.9234 -39.145 3.91557 0.832452 26.5831 -39.15 3.76579 0.858603 26.2472 -39.155 3.62468 0.88964 25.9157 -39.16 3.49205 0.925086 25.5885 -39.165 3.36768 0.964507 25.2657 -39.17 3.25138 1.00751 24.9472 -39.175 3.14295 1.05373 24.6331 -39.18 3.04215 1.10285 24.3233 -39.185 2.94877 1.1546 24.0179 -39.19 2.86259 1.20874 23.7167 -39.195 2.78337 1.26507 23.4199 -39.2 2.71087 1.32343 23.1273 -39.205 2.64485 1.38369 22.839 -39.21 2.58506 1.44579 22.5548 -39.215 2.53126 1.50967 22.2749 -39.22 2.48317 1.57533 21.9991 -39.225 2.44053 1.64282 21.7274 -39.23 2.4031 1.71212 21.4598 -39.235 2.37077 1.78322 21.1963 -39.24 2.34345 1.8561 20.9369 -39.245 2.32104 1.93076 20.6815 -39.25 2.30345 2.00724 20.4303 -39.255 2.29058 2.08558 20.183 -39.26 2.28232 2.16585 19.9399 -39.265 2.27858 2.24812 19.7008 -39.27 2.27923 2.3325 19.4658 -39.275 2.28419 2.41912 19.2349 -39.28 2.29333 2.50813 19.0082 -39.285 2.30654 2.59967 18.7856 -39.29 2.32371 2.69394 18.5672 -39.295 2.34471 2.79113 18.3531 -39.3 2.36944 2.89147 18.1433 -39.305 2.39776 2.99519 17.9378 -39.31 2.42958 3.10254 17.7368 -39.315 2.46504 3.21358 17.5403 -39.32 2.5042 3.32845 17.3484 -39.325 2.54713 3.44733 17.1612 -39.33 2.59385 3.57039 16.9788 -39.335 2.64442 3.69785 16.8012 -39.34 2.69889 3.82989 16.6286 -39.345 2.75731 3.96674 16.4612 -39.35 2.81973 4.1086 16.299 -39.355 2.88621 4.25571 16.1424 -39.36 2.95682 4.4083 15.9913 -39.365 3.03163 4.56661 15.8462 -39.37 3.1107 4.73091 15.7072 -39.375 3.19411 4.90143 15.5745 -39.38 3.28192 5.07846 15.4484 -39.385 3.37423 5.26226 15.3293 -39.39 3.47111 5.45312 15.2173 -39.395 3.57265 5.65131 15.1129 -39.4 3.67898 5.85654 15.0164 -39.405 3.79028 6.06907 14.9283 -39.41 3.90673 6.28939 14.8489 -39.415 4.02852 6.51791 14.7786 -39.42 4.15581 6.75501 14.7179 -39.425 4.28877 7.00099 14.6674 -39.43 4.42755 7.25609 14.6275 -39.435 4.5723 7.5205 14.599 -39.44 4.72316 7.79433 14.5824 -39.445 4.88025 8.07765 14.5785 -39.45 5.04371 8.37046 14.5879 -39.455 5.21365 8.6727 14.6116 -39.46 5.39019 8.98426 14.6503 -39.465 5.57342 9.30494 14.7049 -39.47 5.76344 9.63451 14.7763 -39.475 5.96034 9.97266 14.8656 -39.48 6.16419 10.319 14.9737 -39.485 6.37508 10.6732 15.1016 -39.49 6.59306 11.0347 15.2506 -39.495 6.8182 11.403 15.4218 -39.5 7.05054 11.7774 15.6163 -39.505 7.29013 12.1574 15.8355 -39.51 7.53681 12.5421 16.0801 -39.515 7.78991 12.9306 16.3499 -39.52 8.04937 13.3212 16.647 -39.525 8.31512 13.7122 16.9732 -39.53 8.58696 14.1017 17.3301 -39.535 8.86458 14.4875 17.7189 -39.54 9.14754 14.8675 18.1407 -39.545 9.4353 15.2392 18.5961 -39.55 9.72717 15.6001 19.0854 -39.555 10.0224 15.9475 19.6087 -39.56 10.32 16.2786 20.1658 -39.565 10.6191 16.5903 20.7562 -39.57 10.9184 16.8794 21.3788 -39.575 11.2167 17.1428 22.0327 -39.58 11.5127 17.3768 22.7164 -39.585 11.8048 17.5779 23.428 -39.59 12.0914 17.7423 24.1655 -39.595 12.3708 17.866 24.9266 -39.6 12.6412 17.9449 25.7085 -39.605 12.9014 17.9755 26.5095 -39.61 13.1502 17.9554 27.3251 -39.615 13.3848 17.8827 28.1485 -39.62 13.603 17.7559 28.9728 -39.625 13.8027 17.5742 29.7919 -39.63 13.9818 17.3371 30.5995 -39.635 14.1387 17.045 31.3897 -39.64 14.2717 16.6986 32.1571 -39.645 14.3795 16.2992 32.8963 -39.65 14.4609 15.8486 33.6024 -39.655 14.5149 15.3492 34.2705 -39.66 14.5408 14.8039 34.8962 -39.665 14.5379 14.2163 35.4753 -39.67 14.5059 13.5904 36.004 -39.675 14.4445 12.9307 36.4785 -39.68 14.3537 12.2424 36.8952 -39.685 14.2329 11.5336 37.2489 -39.69 14.083 10.8117 37.5389 -39.695 13.9052 10.0835 37.7664 -39.7 13.7008 9.35524 37.9325 -39.705 13.4715 8.63273 38.0388 -39.71 13.2185 7.9212 38.0871 -39.715 12.9438 7.22541 38.0796 -39.72 12.649 6.54963 38.0188 -39.725 12.3361 5.89762 37.9076 -39.73 12.0069 5.27265 37.7488 -39.735 11.6637 4.6775 37.5461 -39.74 11.3085 4.11444 37.303 -39.745 10.9437 3.58524 37.0237 -39.75 10.5717 3.09118 36.7123 -39.755 10.1951 2.63305 36.3736 -39.76 9.81573 2.21084 36.0123 -39.765 9.43517 1.82384 35.6323 -39.77 9.05515 1.47133 35.2366 -39.775 8.67731 1.15241 34.8281 -39.78 8.30316 0.866009 34.4093 -39.785 7.93407 0.610863 33.9828 -39.79 7.57127 0.385533 33.5508 -39.795 7.21587 0.188398 33.1154 -39.8 6.86881 0.0176541 32.6785 -39.805 6.53094 -0.128683 32.2418 -39.81 6.20295 -0.252778 31.8068 -39.815 5.8854 -0.356979 31.3748 -39.82 5.5787 -0.443815 30.947 -39.825 5.28319 -0.515534 30.5241 -39.83 4.99908 -0.572419 30.106 -39.835 4.72644 -0.615748 29.693 -39.84 4.46525 -0.646911 29.2854 -39.845 4.21548 -0.667217 28.8833 -39.85 3.97706 -0.677894 28.487 -39.855 3.74988 -0.680089 28.0965 -39.86 3.53379 -0.674868 27.712 -39.865 3.32864 -0.663215 27.3335 -39.87 3.13419 -0.646036 26.961 -39.875 2.95021 -0.624153 26.5943 -39.88 2.77641 -0.598309 26.2335 -39.885 2.61249 -0.569164 25.8784 -39.89 2.45808 -0.537299 25.5287 -39.895 2.31265 -0.503184 25.1844 -39.9 2.17585 -0.467237 24.8454 -39.905 2.0474 -0.429846 24.5116 -39.91 1.92703 -0.391366 24.1829 -39.915 1.81443 -0.352114 23.8591 -39.92 1.70932 -0.312377 23.5402 -39.925 1.61139 -0.272402 23.226 -39.93 1.52035 -0.232403 22.9164 -39.935 1.43586 -0.19256 22.6113 -39.94 1.35761 -0.153016 22.3107 -39.945 1.28527 -0.113881 22.0143 -39.95 1.21851 -0.0752279 21.7222 -39.955 1.15698 -0.0370962 21.4343 -39.96 1.10032 0.000510286 21.1503 -39.965 1.04819 0.0376226 20.8704 -39.97 1.00022 0.0743069 20.5942 -39.975 0.956052 0.110658 20.3219 -39.98 0.915554 0.146646 20.0534 -39.985 0.878645 0.182225 19.7885 -39.99 0.845198 0.217385 19.5272 -39.995 0.815083 0.252132 19.2695 -40 0.788169 0.286482 19.0154 -40.005 0.764318 0.320466 18.7647 -40.01 0.743392 0.354128 18.5175 -40.015 0.725251 0.387523 18.2736 -40.02 0.709749 0.420721 18.033 -40.025 0.696738 0.453804 17.7958 -40.03 0.68607 0.486866 17.5618 -40.035 0.677591 0.520017 17.3309 -40.04 0.671145 0.553377 17.1032 -40.045 0.666572 0.587079 16.8786 -40.05 0.663711 0.621271 16.6571 -40.055 0.662476 0.656056 16.4386 -40.06 0.662946 0.691417 16.2231 -40.065 0.6651 0.727414 16.0105 -40.07 0.668913 0.764117 15.8009 -40.075 0.674361 0.801603 15.5943 -40.08 0.681421 0.839955 15.3905 -40.085 0.690071 0.879263 15.1896 -40.09 0.700289 0.919625 14.9915 -40.095 0.712053 0.961145 14.7963 -40.1 0.725344 1.00394 14.6038 -40.105 0.740142 1.04811 14.4141 -40.11 0.756428 1.09381 14.2272 -40.115 0.774184 1.14115 14.043 -40.12 0.793393 1.19027 13.8615 -40.125 0.814038 1.24133 13.6828 -40.13 0.836156 1.29444 13.5068 -40.135 0.859812 1.3497 13.3335 -40.14 0.885047 1.40723 13.1629 -40.145 0.911907 1.46715 12.995 -40.15 0.94044 1.52959 12.8297 -40.155 0.970698 1.5947 12.6672 -40.16 1.00274 1.66262 12.5074 -40.165 1.03662 1.73352 12.3504 -40.17 1.07241 1.80756 12.196 -40.175 1.11016 1.88493 12.0445 -40.18 1.14997 1.96581 11.8957 -40.185 1.19188 2.0504 11.7498 -40.19 1.236 2.1389 11.6068 -40.195 1.28239 2.23153 11.4667 -40.2 1.33114 2.32852 11.3297 -40.205 1.38234 2.43009 11.1956 -40.21 1.43609 2.5365 11.0647 -40.215 1.4925 2.64794 10.9371 -40.22 1.55187 2.76444 10.813 -40.225 1.61429 2.88632 10.6924 -40.23 1.67985 3.01394 10.5755 -40.235 1.74866 3.14765 10.4621 -40.24 1.82084 3.28782 10.3525 -40.245 1.8965 3.43481 10.2466 -40.25 1.97581 3.589 10.1447 -40.255 2.0589 3.75075 10.047 -40.26 2.14596 3.92044 9.95374 -40.265 2.23715 4.09845 9.8651 -40.27 2.33268 4.28514 9.78142 -40.275 2.43276 4.48091 9.70306 -40.28 2.53761 4.68613 9.63039 -40.285 2.64745 4.90118 9.56383 -40.29 2.76255 5.12647 9.50383 -40.295 2.88315 5.36237 9.45089 -40.3 3.00954 5.60929 9.40553 -40.305 3.142 5.8676 9.36832 -40.31 3.28083 6.13772 9.33986 -40.315 3.42634 6.42005 9.32079 -40.32 3.57886 6.71497 9.3118 -40.325 3.73874 7.0229 9.31359 -40.33 3.90632 7.34425 9.32692 -40.335 4.08197 7.67943 9.35258 -40.34 4.26573 8.02795 9.39153 -40.345 4.45747 8.38908 9.44503 -40.35 4.65773 8.76418 9.51433 -40.355 4.86704 9.15438 9.60071 -40.36 5.08584 9.56054 9.70557 -40.365 5.31455 9.98322 9.83039 -40.37 5.55349 10.4227 9.97672 -40.375 5.80296 10.8791 10.1462 -40.38 6.06318 11.352 10.3406 -40.385 6.33432 11.8409 10.5617 -40.39 6.61649 12.3451 10.8114 -40.395 6.90972 12.8633 11.0918 -40.4 7.21403 13.3942 11.4048 -40.405 7.52934 13.9362 11.7526 -40.41 7.85552 14.4873 12.1375 -40.415 8.19239 15.0452 12.5619 -40.42 8.53971 15.6076 13.0281 -40.425 8.89718 16.1715 13.5387 -40.43 9.26444 16.734 14.0961 -40.435 9.64108 17.2916 14.7032 -40.44 10.0266 17.8408 15.3627 -40.445 10.4205 18.3777 16.0774 -40.45 10.8214 18.8993 16.8469 -40.455 11.2275 19.3996 17.6706 -40.46 11.6372 19.8706 18.5496 -40.465 12.0489 20.3045 19.484 -40.47 12.4605 20.6939 20.4727 -40.475 12.8699 21.0317 21.5137 -40.48 13.2745 21.3109 22.6037 -40.485 13.6719 21.525 23.7384 -40.49 14.0589 21.6676 24.9124 -40.495 14.4327 21.7327 26.1191 -40.5 14.7897 21.7147 27.351 -40.505 15.1265 21.6081 28.5994 -40.51 15.4392 21.4077 29.8544 -40.515 15.7238 21.1087 31.1052 -40.52 15.978 20.701 32.3428 -40.525 16.1989 20.1858 33.5541 -40.53 16.3823 19.5724 34.7238 -40.535 16.5249 18.87 35.8383 -40.54 16.6239 18.0878 36.8855 -40.545 16.6772 17.2345 37.8551 -40.55 16.6832 16.3187 38.7382 -40.555 16.6413 15.3487 39.5277 -40.56 16.5512 14.3327 40.2181 -40.565 16.4134 13.2786 40.8055 -40.57 16.2291 12.1942 41.2878 -40.575 16.0001 11.0869 41.6643 -40.58 15.7288 9.96396 41.9361 -40.585 15.4183 8.83257 42.1058 -40.59 15.0691 7.71284 42.175 -40.595 14.6828 6.62329 42.1474 -40.6 14.2634 5.57277 42.0296 -40.605 13.8146 4.56885 41.8284 -40.61 13.3404 3.61779 41.5511 -40.615 12.8445 2.72459 41.2057 -40.62 12.3308 1.89295 40.8003 -40.625 11.8029 1.12527 40.3436 -40.63 11.2647 0.422687 39.8448 -40.635 10.7197 -0.21496 39.3136 -40.64 10.1716 -0.789116 38.7599 -40.645 9.62412 -1.30248 38.1935 -40.65 9.07989 -1.75829 37.617 -40.655 8.54135 -2.15976 37.0334 -40.66 8.01073 -2.51025 36.4471 -40.665 7.49001 -2.81319 35.8617 -40.67 6.98093 -3.07211 35.2804 -40.675 6.48502 -3.29063 34.706 -40.68 6.00352 -3.47245 34.1405 -40.685 5.53746 -3.62139 33.586 -40.69 5.08763 -3.74133 33.0435 -40.695 4.65455 -3.83627 32.5141 -40.7 4.23854 -3.91029 31.9979 -40.705 3.8398 -3.96639 31.4952 -40.71 3.45835 -4.00607 31.0062 -40.715 3.09395 -4.03162 30.5304 -40.72 2.7463 -4.0452 30.0677 -40.725 2.41507 -4.0488 29.6176 -40.73 2.09988 -4.04428 29.1799 -40.735 1.80032 -4.03333 28.7541 -40.74 1.51595 -4.0175 28.3399 -40.745 1.24626 -3.99819 27.9369 -40.75 0.990746 -3.97663 27.5447 -40.755 0.748829 -3.95392 27.1627 -40.76 0.519908 -3.93098 26.7906 -40.765 0.30334 -3.90862 26.4279 -40.77 0.0984444 -3.88745 26.0741 -40.775 -0.0956243 -3.86812 25.7287 -40.78 -0.279552 -3.85118 25.3914 -40.785 -0.45386 -3.83706 25.0619 -40.79 -0.619074 -3.82616 24.7401 -40.795 -0.775728 -3.81883 24.4255 -40.8 -0.924359 -3.8154 24.1181 -40.805 -1.06551 -3.81617 23.8176 -40.81 -1.19974 -3.82138 23.5237 -40.815 -1.32759 -3.83126 23.2363 -40.82 -1.44963 -3.846 22.9553 -40.825 -1.56642 -3.86576 22.6804 -40.83 -1.67855 -3.89066 22.4115 -40.835 -1.78658 -3.92078 22.1485 -40.84 -1.8911 -3.95618 21.8912 -40.845 -1.9927 -3.99688 21.6397 -40.85 -2.09176 -4.04291 21.3938 -40.855 -2.18853 -4.09437 21.1536 -40.86 -2.2833 -4.15138 20.9191 -40.865 -2.37635 -4.21405 20.6903 -40.87 -2.46799 -4.28248 20.4673 -40.875 -2.55852 -4.35677 20.2501 -40.88 -2.64825 -4.43698 20.0387 -40.885 -2.73748 -4.52319 19.8334 -40.89 -2.82656 -4.61547 19.634 -40.895 -2.9158 -4.71387 19.4407 -40.9 -3.00555 -4.81843 19.2535 -40.905 -3.09614 -4.92919 19.0726 -40.91 -3.18792 -5.04617 18.898 -40.915 -3.28126 -5.16939 18.7299 -40.92 -3.37649 -5.29887 18.5684 -40.925 -3.47375 -5.43469 18.4137 -40.93 -3.57319 -5.57703 18.2661 -40.935 -3.67495 -5.72607 18.1258 -40.94 -3.7792 -5.88197 17.993 -40.945 -3.8861 -6.04486 17.8681 -40.95 -3.99582 -6.21486 17.7513 -40.955 -4.10854 -6.39205 17.643 -40.96 -4.22445 -6.57652 17.5435 -40.965 -4.34374 -6.76832 17.4532 -40.97 -4.4666 -6.96748 17.3724 -40.975 -4.59324 -7.17401 17.3016 -40.98 -4.72386 -7.38791 17.2411 -40.985 -4.85869 -7.60915 17.1914 -40.99 -4.99794 -7.83768 17.153 -40.995 -5.14183 -8.07344 17.1263 -41 -5.29062 -8.31634 17.1118 -41.005 -5.44426 -8.56605 17.1099 -41.01 -5.60275 -8.82248 17.1211 -41.015 -5.76624 -9.0857 17.1464 -41.02 -5.93483 -9.35568 17.1864 -41.025 -6.10863 -9.63227 17.2421 -41.03 -6.28768 -9.91524 17.3143 -41.035 -6.47201 -10.2042 17.4037 -41.04 -6.66161 -10.4988 17.5111 -41.045 -6.85645 -10.7983 17.6371 -41.05 -7.05646 -11.1021 17.7826 -41.055 -7.26154 -11.4094 17.9482 -41.06 -7.47156 -11.7193 18.1344 -41.065 -7.68636 -12.0309 18.3421 -41.07 -7.90574 -12.3429 18.5717 -41.075 -8.12949 -12.6543 18.8239 -41.08 -8.35734 -12.9636 19.0993 -41.085 -8.58901 -13.2694 19.3983 -41.09 -8.82419 -13.5701 19.7214 -41.095 -9.06253 -13.8642 20.0693 -41.1 -9.30365 -14.1499 20.4423 -41.105 -9.5469 -14.4265 20.8402 -41.11 -9.79151 -14.692 21.2627 -41.115 -10.0367 -14.9433 21.7099 -41.12 -10.2816 -15.1778 22.1813 -41.125 -10.5254 -15.3925 22.6763 -41.13 -10.7672 -15.5851 23.194 -41.135 -11.0058 -15.7532 23.7331 -41.14 -11.2405 -15.8944 24.2921 -41.145 -11.4699 -16.0067 24.8693 -41.15 -11.6931 -16.0881 25.4625 -41.155 -11.9088 -16.137 26.0694 -41.16 -12.1158 -16.1515 26.6873 -41.165 -12.3127 -16.1303 27.3133 -41.17 -12.4984 -16.0719 27.9442 -41.175 -12.6712 -15.9752 28.5763 -41.18 -12.83 -15.8392 29.206 -41.185 -12.973 -15.6629 29.8291 -41.19 -13.0992 -15.4442 30.4417 -41.195 -13.2082 -15.1809 31.04 -41.2 -13.2987 -14.8768 31.6195 -41.205 -13.3695 -14.5358 32.1758 -41.21 -13.4197 -14.1618 32.7052 -41.215 -13.4485 -13.7583 33.2042 -41.22 -13.4553 -13.329 33.6696 -41.225 -13.4398 -12.8769 34.0988 -41.23 -13.4019 -12.4054 34.4895 -41.235 -13.3415 -11.9173 34.8398 -41.24 -13.2591 -11.4154 35.1483 -41.245 -13.155 -10.9025 35.4138 -41.25 -13.0298 -10.3811 35.6357 -41.255 -12.8846 -9.8533 35.8137 -41.26 -12.7203 -9.32142 35.9478 -41.265 -12.5382 -8.78742 36.0385 -41.27 -12.3399 -8.25312 36.0868 -41.275 -12.1268 -7.7205 36.094 -41.28 -11.8986 -7.19812 36.0628 -41.285 -11.6561 -6.69103 35.9949 -41.29 -11.4011 -6.20142 35.8916 -41.295 -11.1352 -5.7312 35.7545 -41.3 -10.8601 -5.28205 35.5852 -41.305 -10.5772 -4.85537 35.3857 -41.31 -10.2882 -4.45229 35.1579 -41.315 -9.99447 -4.0737 34.9041 -41.32 -9.69735 -3.72021 34.6265 -41.325 -9.39821 -3.39218 34.3279 -41.33 -9.09829 -3.08971 34.0108 -41.335 -8.79882 -2.81263 33.6781 -41.34 -8.50093 -2.56051 33.333 -41.345 -8.20573 -2.33267 32.9786 -41.35 -7.91424 -2.12815 32.6183 -41.355 -7.62744 -1.94574 32.2557 -41.36 -7.34624 -1.78398 31.8946 -41.365 -7.07153 -1.64143 31.5335 -41.37 -6.80388 -1.51704 31.1704 -41.375 -6.54369 -1.40972 30.8062 -41.38 -6.29132 -1.31843 30.4417 -41.385 -6.0471 -1.24212 30.0776 -41.39 -5.8113 -1.17979 29.7148 -41.395 -5.58417 -1.13044 29.3537 -41.4 -5.36588 -1.09311 28.9949 -41.405 -5.15659 -1.06684 28.6389 -41.41 -4.95641 -1.0507 28.286 -41.415 -4.76539 -1.04378 27.9367 -41.42 -4.58355 -1.04521 27.591 -41.425 -4.41088 -1.0541 27.2492 -41.43 -4.2473 -1.06961 26.9113 -41.435 -4.09271 -1.09091 26.5774 -41.44 -3.94692 -1.11734 26.2475 -41.445 -3.80961 -1.14879 25.9217 -41.45 -3.6806 -1.18487 25.6001 -41.455 -3.5597 -1.22517 25.2827 -41.46 -3.44674 -1.26932 24.9696 -41.465 -3.34151 -1.31697 24.6607 -41.47 -3.24383 -1.36782 24.3559 -41.475 -3.1535 -1.42161 24.0555 -41.48 -3.07033 -1.47809 23.7592 -41.485 -2.99409 -1.53707 23.4671 -41.49 -2.92458 -1.59839 23.1793 -41.495 -2.86159 -1.66192 22.8956 -41.5 -2.8049 -1.72758 22.6162 -41.505 -2.75427 -1.7953 22.3409 -41.51 -2.70949 -1.86507 22.0699 -41.515 -2.67032 -1.9369 21.8029 -41.52 -2.63651 -2.01085 21.5402 -41.525 -2.60783 -2.087 21.2816 -41.53 -2.58408 -2.16538 21.0271 -41.535 -2.5652 -2.24599 20.7769 -41.54 -2.55113 -2.32885 20.5308 -41.545 -2.54182 -2.41399 20.289 -41.55 -2.5372 -2.50145 20.0513 -41.555 -2.53722 -2.59132 19.8179 -41.56 -2.54181 -2.68368 19.5887 -41.565 -2.55089 -2.77864 19.3638 -41.57 -2.56441 -2.87632 19.1432 -41.575 -2.58228 -2.97687 18.9271 -41.58 -2.60443 -3.08045 18.7154 -41.585 -2.63078 -3.18725 18.5082 -41.59 -2.66124 -3.29746 18.3057 -41.595 -2.69574 -3.4113 18.1078 -41.6 -2.73419 -3.52902 17.9148 -41.605 -2.77649 -3.65086 17.7266 -41.61 -2.82255 -3.7771 17.5435 -41.615 -2.87233 -3.90799 17.3655 -41.62 -2.92607 -4.04353 17.1928 -41.625 -2.98387 -4.18391 17.0255 -41.63 -3.04579 -4.32933 16.8639 -41.635 -3.11191 -4.48003 16.708 -41.64 -3.18231 -4.63621 16.558 -41.645 -3.25706 -4.7981 16.4141 -41.65 -3.33625 -4.96591 16.2766 -41.655 -3.41995 -5.13986 16.1457 -41.66 -3.50827 -5.32018 16.0218 -41.665 -3.60128 -5.50707 15.905 -41.67 -3.69908 -5.70077 15.7959 -41.675 -3.80176 -5.90148 15.6946 -41.68 -3.90942 -6.10943 15.6017 -41.685 -4.02216 -6.32484 15.5174 -41.69 -4.14009 -6.54793 15.4423 -41.695 -4.26331 -6.77892 15.3768 -41.7 -4.39193 -7.01803 15.3215 -41.705 -4.52601 -7.26525 15.2766 -41.71 -4.66543 -7.51947 15.2426 -41.715 -4.81043 -7.78113 15.22 -41.72 -4.9613 -8.05085 15.2098 -41.725 -5.1183 -8.32912 15.2127 -41.73 -5.28164 -8.61631 15.2297 -41.735 -5.4515 -8.91263 15.2616 -41.74 -5.62803 -9.21815 15.3092 -41.745 -5.81134 -9.53284 15.3734 -41.75 -6.00151 -9.85649 15.4551 -41.755 -6.19857 -10.1888 15.5553 -41.76 -6.40255 -10.5293 15.6747 -41.765 -6.61341 -10.8773 15.8144 -41.77 -6.83108 -11.2322 15.9752 -41.775 -7.05548 -11.5931 16.158 -41.78 -7.28646 -11.959 16.3639 -41.785 -7.52387 -12.3287 16.5937 -41.79 -7.7675 -12.7009 16.8484 -41.795 -8.01712 -13.0743 17.129 -41.8 -8.27245 -13.4473 17.4364 -41.805 -8.53318 -13.8182 17.7717 -41.81 -8.79899 -14.1852 18.1357 -41.815 -9.06948 -14.5463 18.5296 -41.82 -9.34426 -14.8994 18.9543 -41.825 -9.62287 -15.2424 19.4108 -41.83 -9.90484 -15.5728 19.9001 -41.835 -10.1892 -15.8894 20.4214 -41.84 -10.4747 -16.1893 20.9736 -41.845 -10.7604 -16.4682 21.5562 -41.85 -11.0449 -16.7221 22.1685 -41.855 -11.327 -16.9474 22.8092 -41.86 -11.6055 -17.1407 23.4767 -41.865 -11.8789 -17.2987 24.169 -41.87 -12.1458 -17.4184 24.8835 -41.875 -12.4048 -17.4972 25.6175 -41.88 -12.6541 -17.5327 26.3675 -41.885 -12.8922 -17.5225 27.1299 -41.89 -13.1173 -17.4647 27.9005 -41.895 -13.3276 -17.3577 28.6747 -41.9 -13.5214 -17.2 29.4477 -41.905 -13.6966 -16.9904 30.214 -41.91 -13.8513 -16.7278 30.9678 -41.915 -13.9845 -16.4083 31.7038 -41.92 -14.0951 -16.0335 32.4162 -41.925 -14.1814 -15.609 33.0989 -41.93 -14.2421 -15.1403 33.7467 -41.935 -14.2761 -14.6324 34.3547 -41.94 -14.2826 -14.0905 34.9187 -41.945 -14.2611 -13.5191 35.4352 -41.95 -14.2113 -12.9228 35.901 -41.955 -14.1334 -12.3058 36.3138 -41.96 -14.0278 -11.6723 36.6716 -41.965 -13.895 -11.026 36.9731 -41.97 -13.7361 -10.3704 37.2177 -41.975 -13.5523 -9.709 37.4052 -41.98 -13.3451 -9.04486 37.536 -41.985 -13.1163 -8.38087 37.6113 -41.99 -12.868 -7.71973 37.6325 -41.995 -12.6006 -7.0702 37.6025 -42 -12.3147 -6.44066 37.524 -42.005 -12.0127 -5.83438 37.3999 -42.01 -11.6967 -5.25414 37.233 -42.015 -11.3687 -4.7023 37.0263 -42.02 -11.0307 -4.18079 36.7831 -42.025 -10.6848 -3.69105 36.5065 -42.03 -10.3327 -3.23412 36.2002 -42.035 -9.97636 -2.81056 35.8677 -42.04 -9.61748 -2.42052 35.5128 -42.045 -9.25776 -2.06367 35.1395 -42.05 -8.89881 -1.73926 34.7518 -42.055 -8.54221 -1.44607 34.3539 -42.06 -8.18944 -1.18247 33.9504 -42.065 -7.84189 -0.946728 33.5431 -42.07 -7.5006 -0.737571 33.1312 -42.075 -7.16643 -0.553487 32.7161 -42.08 -6.84012 -0.392959 32.2993 -42.085 -6.52237 -0.254474 31.8821 -42.09 -6.21376 -0.136524 31.4658 -42.095 -5.91481 -0.0376007 31.0513 -42.1 -5.62596 0.0437998 30.6396 -42.105 -5.34755 0.109179 30.2314 -42.11 -5.07985 0.160034 29.8272 -42.115 -4.82305 0.197861 29.4277 -42.12 -4.57726 0.224154 29.033 -42.125 -4.34249 0.2404 28.6435 -42.13 -4.11869 0.248088 28.2591 -42.135 -3.90571 0.248276 27.8798 -42.14 -3.70331 0.241313 27.506 -42.145 -3.51127 0.228009 27.1376 -42.15 -3.32935 0.209134 26.7745 -42.155 -3.15732 0.185399 26.4166 -42.16 -2.99491 0.157461 26.0641 -42.165 -2.84185 0.125921 25.7167 -42.17 -2.69788 0.0913222 25.3745 -42.175 -2.56269 0.0541538 25.0374 -42.18 -2.43598 0.0148474 24.7053 -42.185 -2.31746 -0.026221 24.3781 -42.19 -2.2068 -0.0687315 24.0558 -42.195 -2.10366 -0.11242 23.7381 -42.2 -2.00771 -0.15708 23.4251 -42.205 -1.91859 -0.202559 23.1166 -42.21 -1.83592 -0.248713 22.8125 -42.215 -1.75945 -0.295395 22.5128 -42.22 -1.68894 -0.342482 22.2173 -42.225 -1.62416 -0.389872 21.9261 -42.23 -1.56491 -0.437487 21.6389 -42.235 -1.51094 -0.48527 21.3559 -42.24 -1.46203 -0.533186 21.0768 -42.245 -1.41795 -0.581223 20.8016 -42.25 -1.37848 -0.62939 20.5304 -42.255 -1.34338 -0.677718 20.2629 -42.26 -1.31241 -0.72626 19.9992 -42.265 -1.28536 -0.775091 19.7392 -42.27 -1.26198 -0.824309 19.4828 -42.275 -1.24204 -0.874033 19.2301 -42.28 -1.22533 -0.924388 18.9809 -42.285 -1.21179 -0.975405 18.7353 -42.29 -1.20136 -1.02713 18.4931 -42.295 -1.19396 -1.07964 18.2544 -42.3 -1.18951 -1.133 18.0192 -42.305 -1.18794 -1.18731 17.7874 -42.31 -1.18918 -1.24265 17.559 -42.315 -1.19316 -1.29915 17.334 -42.32 -1.19981 -1.35693 17.1123 -42.325 -1.20906 -1.41611 16.8939 -42.33 -1.22084 -1.47683 16.6789 -42.335 -1.23508 -1.53927 16.4672 -42.34 -1.25172 -1.60357 16.2588 -42.345 -1.27068 -1.66992 16.0537 -42.35 -1.29192 -1.73851 15.852 -42.355 -1.3154 -1.80949 15.6535 -42.36 -1.34121 -1.88299 15.4584 -42.365 -1.36937 -1.95913 15.2666 -42.37 -1.39993 -2.03806 15.0782 -42.375 -1.43292 -2.11995 14.8931 -42.38 -1.46839 -2.20495 14.7114 -42.385 -1.50639 -2.29325 14.5332 -42.39 -1.54696 -2.38503 14.3584 -42.395 -1.59017 -2.4805 14.1872 -42.4 -1.63607 -2.57987 14.0195 -42.405 -1.68473 -2.68335 13.8555 -42.41 -1.7362 -2.79118 13.6952 -42.415 -1.79056 -2.90361 13.5387 -42.42 -1.84787 -3.02087 13.3862 -42.425 -1.90823 -3.14324 13.2376 -42.43 -1.97169 -3.271 13.0932 -42.435 -2.03835 -3.40441 12.953 -42.44 -2.10841 -3.54358 12.8174 -42.445 -2.18204 -3.68876 12.6864 -42.45 -2.25936 -3.8403 12.5602 -42.455 -2.34051 -3.99856 12.4389 -42.46 -2.42561 -4.16391 12.3227 -42.465 -2.51481 -4.33669 12.2118 -42.47 -2.60828 -4.51725 12.1064 -42.475 -2.70618 -4.70594 12.0068 -42.48 -2.80868 -4.9031 11.9133 -42.485 -2.91598 -5.10906 11.8263 -42.49 -3.02825 -5.32416 11.7463 -42.495 -3.14571 -5.54873 11.6736 -42.5 -3.26857 -5.78308 11.6088 -42.505 -3.39704 -6.02754 11.5524 -42.51 -3.53137 -6.28243 11.505 -42.515 -3.67178 -6.54805 11.4671 -42.52 -3.81853 -6.82472 11.4395 -42.525 -3.97188 -7.11274 11.4228 -42.53 -4.13209 -7.41241 11.4177 -42.535 -4.29943 -7.72403 11.4251 -42.54 -4.4742 -8.04789 11.4457 -42.545 -4.65664 -8.38412 11.4804 -42.55 -4.84651 -8.73157 11.5299 -42.555 -5.04414 -9.09078 11.5955 -42.56 -5.24998 -9.46254 11.6786 -42.565 -5.46441 -9.8474 11.7806 -42.57 -5.68775 -10.2457 11.9029 -42.575 -5.92025 -10.6574 12.047 -42.58 -6.16212 -11.0823 12.2145 -42.585 -6.41348 -11.5201 12.4068 -42.59 -6.67441 -11.97 12.6254 -42.595 -6.94492 -12.431 12.8721 -42.6 -7.22496 -12.902 13.1483 -42.605 -7.51441 -13.3815 13.4558 -42.61 -7.8131 -13.8678 13.7962 -42.615 -8.12079 -14.359 14.1712 -42.62 -8.43718 -14.8528 14.5825 -42.625 -8.76191 -15.347 15.0319 -42.63 -9.09455 -15.8386 15.5212 -42.635 -9.43462 -16.3248 16.0521 -42.64 -9.78157 -16.8025 16.6266 -42.645 -10.1348 -17.2681 17.2464 -42.65 -10.4936 -17.7181 17.9135 -42.655 -10.8567 -18.1502 18.6266 -42.66 -11.2224 -18.5591 19.3852 -42.665 -11.5894 -18.9377 20.1892 -42.67 -11.9557 -19.2796 21.0378 -42.675 -12.3197 -19.5787 21.9293 -42.68 -12.6793 -19.8292 22.8611 -42.685 -13.0324 -20.0259 23.8299 -42.69 -13.3767 -20.1638 24.8317 -42.695 -13.7098 -20.2383 25.8614 -42.7 -14.0291 -20.2452 26.9134 -42.705 -14.3318 -20.1807 27.9811 -42.71 -14.6151 -20.0414 29.0571 -42.715 -14.876 -19.8242 30.1332 -42.72 -15.1113 -19.5266 31.2006 -42.725 -15.318 -19.145 32.2496 -42.73 -15.4947 -18.6722 33.2715 -42.735 -15.6389 -18.1161 34.2557 -42.74 -15.7478 -17.4863 35.1919 -42.745 -15.8194 -16.7922 36.071 -42.75 -15.852 -16.0426 36.8854 -42.755 -15.8446 -15.2457 37.6284 -42.76 -15.7964 -14.4091 38.2944 -42.765 -15.7075 -13.5402 38.8792 -42.77 -15.5782 -12.6456 39.3795 -42.775 -15.4095 -11.7315 39.7936 -42.78 -15.2029 -10.8036 40.1205 -42.785 -14.9603 -9.86706 40.3606 -42.79 -14.6842 -8.92647 40.5155 -42.795 -14.3775 -7.98598 40.5878 -42.8 -14.0425 -7.05455 40.5812 -42.805 -13.6788 -6.15207 40.4995 -42.81 -13.2897 -5.28538 40.3481 -42.815 -12.8786 -4.45959 40.1322 -42.82 -12.4487 -3.67885 39.8576 -42.825 -12.003 -2.94644 39.5302 -42.83 -11.5448 -2.2647 39.1562 -42.835 -11.0769 -1.63507 38.7419 -42.84 -10.6024 -1.05807 38.2938 -42.845 -10.1238 -0.533306 37.819 -42.85 -9.64413 -0.0594778 37.3243 -42.855 -9.16583 0.365634 36.8171 -42.86 -8.69145 0.744971 36.3039 -42.865 -8.22296 1.08076 35.785 -42.87 -7.762 1.3756 35.2626 -42.875 -7.31005 1.6322 34.7393 -42.88 -6.86843 1.85331 34.2177 -42.885 -6.43828 2.04168 33.6998 -42.89 -6.02059 2.20006 33.1873 -42.895 -5.61618 2.33121 32.6818 -42.9 -5.22568 2.43789 32.1844 -42.905 -4.84959 2.5229 31.6959 -42.91 -4.48822 2.589 31.2169 -42.915 -4.14172 2.63899 30.7475 -42.92 -3.81009 2.67554 30.2879 -42.925 -3.49329 2.69998 29.8382 -42.93 -3.19107 2.71375 29.3983 -42.935 -2.90313 2.71843 28.9679 -42.94 -2.62913 2.71545 28.547 -42.945 -2.3687 2.70618 28.1353 -42.95 -2.12146 2.69185 27.7324 -42.955 -1.88701 2.67362 27.3382 -42.96 -1.66492 2.65251 26.9525 -42.965 -1.45473 2.62948 26.5749 -42.97 -1.25597 2.60534 26.2052 -42.975 -1.06815 2.58082 25.8431 -42.98 -0.890735 2.55656 25.4883 -42.985 -0.723192 2.53307 25.1405 -42.99 -0.564952 2.51077 24.7995 -42.995 -0.415372 2.49005 24.465 -43 -0.273907 2.47127 24.1366 -43.005 -0.140131 2.45475 23.8143 -43.01 -0.0136183 2.44077 23.4979 -43.015 0.106062 2.42957 23.1872 -43.02 0.219343 2.42137 22.8821 -43.025 0.32666 2.41638 22.5823 -43.03 0.42845 2.41476 22.2878 -43.035 0.525155 2.41666 21.9985 -43.04 0.617218 2.42218 21.7141 -43.045 0.705085 2.43142 21.4346 -43.05 0.789206 2.44444 21.1599 -43.055 0.870031 2.46126 20.8898 -43.06 0.948014 2.4819 20.6243 -43.065 1.02351 2.50639 20.3634 -43.07 1.09674 2.53484 20.1069 -43.075 1.16793 2.56735 19.8549 -43.08 1.23733 2.60399 19.6073 -43.085 1.30519 2.64486 19.3641 -43.09 1.37174 2.69003 19.1254 -43.095 1.43726 2.73958 18.891 -43.1 1.50199 2.79357 18.6611 -43.105 1.56621 2.85207 18.4355 -43.11 1.63018 2.91515 18.2143 -43.115 1.69418 2.98285 17.9975 -43.12 1.75848 3.05524 17.7851 -43.125 1.82337 3.13234 17.5772 -43.13 1.88913 3.21422 17.3736 -43.135 1.95598 3.30095 17.1746 -43.14 2.02405 3.39271 16.9802 -43.145 2.09347 3.48969 16.7905 -43.15 2.16437 3.59205 16.6055 -43.155 2.23691 3.69998 16.4253 -43.16 2.31124 3.81364 16.2502 -43.165 2.38755 3.93321 16.0801 -43.17 2.466 4.05887 15.9153 -43.175 2.5468 4.19079 15.7558 -43.18 2.63014 4.32913 15.6019 -43.185 2.71624 4.47408 15.4538 -43.19 2.80531 4.62579 15.3116 -43.195 2.8976 4.78444 15.1755 -43.2 2.99334 4.95019 15.0458 -43.205 3.09278 5.12322 14.9228 -43.21 3.19618 5.30366 14.8066 -43.215 3.30368 5.49162 14.6976 -43.22 3.4154 5.68744 14.5962 -43.225 3.53152 5.89149 14.5028 -43.23 3.65219 6.1041 14.4177 -43.235 3.77758 6.32558 14.3414 -43.24 3.90786 6.55618 14.2743 -43.245 4.04321 6.79613 14.2169 -43.25 4.18382 7.04561 14.1699 -43.255 4.32985 7.30478 14.1338 -43.26 4.48152 7.57375 14.1092 -43.265 4.639 7.8526 14.097 -43.27 4.80251 8.14136 14.0977 -43.275 4.97224 8.44004 14.1122 -43.28 5.14841 8.7486 14.1414 -43.285 5.33122 9.06698 14.186 -43.29 5.52089 9.39506 14.247 -43.295 5.71765 9.7327 14.3253 -43.3 5.92173 10.0797 14.422 -43.305 6.13291 10.4354 14.5373 -43.31 6.35051 10.7987 14.6711 -43.315 6.57493 11.1696 14.8257 -43.32 6.80652 11.548 15.0031 -43.325 7.04552 11.9333 15.2051 -43.33 7.29207 12.325 15.4334 -43.335 7.54622 12.7221 15.6897 -43.34 7.8079 13.1235 15.9752 -43.345 8.07693 13.5279 16.2913 -43.35 8.35306 13.9335 16.6389 -43.355 8.63591 14.3387 17.0189 -43.36 8.925 14.7412 17.4321 -43.365 9.21977 15.1386 17.8789 -43.37 9.51952 15.5286 18.3597 -43.375 9.82348 15.9081 18.8748 -43.38 10.1308 16.2742 19.4242 -43.385 10.4404 16.6236 20.0077 -43.39 10.7512 16.9527 20.6251 -43.395 11.0621 17.2577 21.2758 -43.4 11.3718 17.5346 21.9592 -43.405 11.6788 17.7792 22.6746 -43.41 11.9817 17.9869 23.4209 -43.415 12.2788 18.1531 24.197 -43.42 12.5688 18.2737 25.0015 -43.425 12.8502 18.3472 25.8302 -43.43 13.1207 18.37 26.6765 -43.435 13.3777 18.339 27.5342 -43.44 13.6188 18.2517 28.3969 -43.445 13.842 18.1062 29.2586 -43.45 14.0451 17.9014 30.1132 -43.455 14.2264 17.6369 30.9547 -43.46 14.384 17.3128 31.7775 -43.465 14.5165 16.93 32.5757 -43.47 14.6224 16.4901 33.3439 -43.475 14.7004 15.9952 34.0765 -43.48 14.7494 15.4483 34.7683 -43.485 14.7685 14.853 35.414 -43.49 14.7568 14.2134 36.0085 -43.495 14.7137 13.5345 36.5467 -43.5 14.6385 12.8219 37.0212 -43.505 14.5314 12.0837 37.4291 -43.51 14.3934 11.3282 37.7707 -43.515 14.2254 10.5631 38.0465 -43.52 14.0285 9.79538 38.2577 -43.525 13.8043 9.03162 38.4053 -43.53 13.554 8.27768 38.4912 -43.535 13.2794 7.53886 38.5172 -43.54 12.9824 6.81985 38.4855 -43.545 12.6649 6.12474 38.399 -43.55 12.3291 5.45704 38.2603 -43.555 11.9772 4.81963 38.073 -43.56 11.6118 4.21482 37.8405 -43.565 11.2356 3.6443 37.5669 -43.57 10.8512 3.10918 37.2563 -43.575 10.4611 2.61065 36.9144 -43.58 10.0667 2.15027 36.5474 -43.585 9.66994 1.72783 36.159 -43.59 9.27291 1.34275 35.7528 -43.595 8.87742 0.994224 35.3319 -43.6 8.48513 0.681157 34.8994 -43.605 8.09759 0.402199 34.4582 -43.61 7.71616 0.155736 34.0109 -43.615 7.34206 -0.0601115 33.5598 -43.62 6.97636 -0.247487 33.1073 -43.625 6.61998 -0.408797 32.6553 -43.63 6.27367 -0.546714 32.2057 -43.635 5.93805 -0.664171 31.76 -43.64 5.61365 -0.762877 31.319 -43.645 5.30081 -0.843564 30.8825 -43.65 4.9997 -0.907963 30.4512 -43.655 4.71044 -0.957714 30.0254 -43.66 4.4331 -0.994366 29.6055 -43.665 4.1677 -1.01938 29.1917 -43.67 3.91421 -1.03412 28.7843 -43.675 3.67253 -1.03987 28.3835 -43.68 3.44255 -1.03782 27.9892 -43.685 3.22407 -1.02906 27.6014 -43.69 3.01687 -1.0146 27.2202 -43.695 2.82065 -0.995369 26.8453 -43.7 2.63508 -0.97218 26.4764 -43.705 2.45968 -0.945732 26.1136 -43.71 2.29406 -0.916603 25.7568 -43.715 2.13791 -0.885323 25.4057 -43.72 1.9909 -0.852385 25.0603 -43.725 1.8527 -0.818236 24.7204 -43.73 1.72297 -0.783282 24.3858 -43.735 1.60137 -0.747889 24.0565 -43.74 1.48754 -0.71238 23.7322 -43.745 1.38113 -0.677036 23.4129 -43.75 1.28177 -0.642095 23.0984 -43.755 1.18908 -0.607757 22.7887 -43.76 1.10269 -0.574176 22.4835 -43.765 1.0222 -0.541466 22.1828 -43.77 0.947227 -0.5097 21.8864 -43.775 0.877364 -0.478908 21.5943 -43.78 0.812203 -0.449078 21.3064 -43.785 0.751387 -0.420198 21.0225 -43.79 0.694787 -0.392375 20.7426 -43.795 0.642212 -0.365661 20.4665 -43.8 0.593463 -0.340087 20.1944 -43.805 0.548339 -0.315674 19.926 -43.81 0.506638 -0.292427 19.6613 -43.815 0.468158 -0.270343 19.4002 -43.82 0.432696 -0.249405 19.1427 -43.825 0.400049 -0.229583 18.8887 -43.83 0.370012 -0.210836 18.6381 -43.835 0.342381 -0.19311 18.391 -43.84 0.316949 -0.17634 18.1471 -43.845 0.293512 -0.160447 17.9065 -43.85 0.271862 -0.145342 17.6692 -43.855 0.251843 -0.130961 17.435 -43.86 0.233414 -0.117322 17.2039 -43.865 0.216499 -0.104408 16.9759 -43.87 0.20102 -0.0922002 16.751 -43.875 0.186894 -0.0806723 16.529 -43.88 0.174043 -0.069795 16.31 -43.885 0.162383 -0.0595346 16.0939 -43.89 0.151832 -0.0498529 15.8807 -43.895 0.142307 -0.0407074 15.6704 -43.9 0.133723 -0.0320512 15.4628 -43.905 0.125995 -0.0238332 15.258 -43.91 0.119036 -0.0159977 15.0559 -43.915 0.112759 -0.00848478 14.8565 -43.92 0.107077 -0.0012303 14.6597 -43.925 0.101943 0.00579807 14.4656 -43.93 0.09736 0.012594 14.274 -43.935 0.093308 0.0191695 14.0849 -43.94 0.0897666 0.0255391 13.8984 -43.945 0.0867143 0.0317193 13.7143 -43.95 0.0841287 0.0377292 13.5327 -43.955 0.0819862 0.0435901 13.3535 -43.96 0.0802623 0.0493255 13.1766 -43.965 0.0789312 0.0549614 13.0021 -43.97 0.0779666 0.0605258 12.8299 -43.975 0.0773406 0.0660493 12.66 -43.98 0.0770246 0.0715646 12.4924 -43.985 0.076989 0.0771069 12.327 -43.99 0.0772029 0.0827135 12.1637 -43.995 0.0776351 0.0884237 12.0027 -44 0.0782867 0.0942505 11.8437 -44.005 0.0791729 0.100193 11.6869 -44.01 0.0802967 0.106261 11.5321 -44.015 0.0816606 0.112465 11.3794 -44.02 0.0832667 0.118821 11.2288 -44.025 0.0851166 0.125342 11.0801 -44.03 0.0872116 0.132046 10.9334 -44.035 0.0895524 0.138953 10.7886 -44.04 0.0921394 0.146082 10.6458 -44.045 0.0949726 0.153458 10.5049 -44.05 0.0980513 0.161105 10.3658 -44.055 0.101375 0.169049 10.2286 -44.06 0.104941 0.177319 10.0932 -44.065 0.108749 0.185945 9.95964 -44.07 0.112796 0.194959 9.82783 -44.075 0.117079 0.204396 9.69778 -44.08 0.121595 0.214291 9.56946 -44.085 0.126366 0.224666 9.44285 -44.09 0.131417 0.235535 9.31793 -44.095 0.136759 0.246922 9.19468 -44.1 0.142406 0.258851 9.07307 -44.105 0.14837 0.271353 8.95309 -44.11 0.154667 0.284457 8.83472 -44.115 0.161311 0.298199 8.71793 -44.12 0.168319 0.312614 8.60271 -44.125 0.17571 0.327742 8.48904 -44.13 0.1835 0.343625 8.3769 -44.135 0.191711 0.360308 8.26628 -44.14 0.200362 0.377836 8.15715 -44.145 0.209474 0.396261 8.0495 -44.15 0.219072 0.415635 7.94331 -44.155 0.229177 0.436012 7.83858 -44.16 0.239814 0.457451 7.73528 -44.165 0.251009 0.480011 7.6334 -44.17 0.262789 0.503757 7.53292 -44.175 0.27518 0.528753 7.43384 -44.18 0.288212 0.555068 7.33614 -44.185 0.301914 0.582774 7.23981 -44.19 0.316357 0.611931 7.14486 -44.195 0.33164 0.642594 7.05129 -44.2 0.347778 0.674845 6.95909 -44.205 0.364788 0.708776 6.86824 -44.21 0.382693 0.744486 6.77871 -44.215 0.40152 0.782081 6.69049 -44.22 0.421307 0.821672 6.60356 -44.225 0.442093 0.863382 6.51794 -44.23 0.463927 0.907337 6.4336 -44.235 0.48686 0.953672 6.35055 -44.24 0.510954 1.00253 6.2688 -44.245 0.536272 1.05406 6.18835 -44.25 0.562887 1.10842 6.10923 -44.255 0.590876 1.16578 6.03144 -44.26 0.620323 1.2263 5.95502 -44.265 0.651317 1.29016 5.87998 -44.27 0.683954 1.35756 5.80636 -44.275 0.718337 1.42868 5.73419 -44.28 0.754571 1.50372 5.66351 -44.285 0.792773 1.5829 5.59436 -44.29 0.833061 1.66643 5.52679 -44.295 0.875562 1.75452 5.46084 -44.3 0.920408 1.84742 5.39658 -44.305 0.967736 1.94536 5.33406 -44.31 1.01769 2.04858 5.27335 -44.315 1.07042 2.15733 5.2145 -44.32 1.12609 2.27188 5.1576 -44.325 1.18485 2.39249 5.10272 -44.33 1.24695 2.51923 5.05033 -44.335 1.31262 2.65221 5.00106 -44.34 1.38197 2.79202 4.9547 -44.345 1.45514 2.93926 4.91114 -44.35 1.53227 3.09451 4.87031 -44.355 1.61353 3.25838 4.83223 -44.36 1.69911 3.43147 4.79698 -44.365 1.78921 3.61435 4.76472 -44.37 1.88405 3.80762 4.73569 -44.375 1.98388 4.01186 4.71017 -44.38 2.08896 4.22767 4.68855 -44.385 2.19958 4.45563 4.67127 -44.39 2.31604 4.69632 4.65884 -44.395 2.43865 4.95032 4.65185 -44.4 2.56776 5.21821 4.65096 -44.405 2.70373 5.50057 4.6569 -44.41 2.84693 5.79798 4.67047 -44.415 2.99777 6.11101 4.69255 -44.42 3.15666 6.44023 4.72408 -44.425 3.32403 6.78622 4.76609 -44.43 3.50035 7.14954 4.81965 -44.435 3.68609 7.53077 4.88594 -44.44 3.88174 7.93047 4.96617 -44.445 4.08782 8.3492 5.06167 -44.45 4.30486 8.78753 5.17379 -44.455 4.5334 9.24602 5.304 -44.46 4.77403 9.72524 5.45381 -44.465 5.02733 10.2257 5.62481 -44.47 5.29324 10.7469 5.81883 -44.475 5.57156 11.2881 6.03851 -44.48 5.86316 11.851 6.28671 -44.485 6.16877 12.4362 6.56638 -44.49 6.48896 13.044 6.88056 -44.495 6.82419 13.6741 7.23233 -44.5 7.17476 14.3254 7.62486 -44.505 7.54081 14.9964 8.06142 -44.51 7.92236 15.685 8.54531 -44.515 8.31929 16.3883 9.07994 -44.52 8.73131 17.1029 9.66877 -44.525 9.158 17.8251 10.3154 -44.53 9.5988 18.55 11.0233 -44.535 10.053 19.2727 11.7964 -44.54 10.5198 19.9873 12.6382 -44.545 10.9981 20.6874 13.5528 -44.55 11.4868 21.3662 14.544 -44.555 11.9847 22.0165 15.6151 -44.56 12.4891 22.6326 16.764 -44.565 12.9977 23.2014 17.9907 -44.57 13.5073 23.709 19.2945 -44.575 14.0148 24.1426 20.6727 -44.58 14.5165 24.49 22.1206 -44.585 15.0087 24.7403 23.6318 -44.59 15.4869 24.8831 25.1977 -44.595 15.9466 24.9092 26.8077 -44.6 16.3828 24.81 28.4495 -44.605 16.7903 24.5782 30.1086 -44.61 17.1633 24.2069 31.7686 -44.615 17.4959 23.6904 33.4112 -44.62 17.7829 23.0192 35.0172 -44.625 18.021 22.1857 36.5676 -44.63 18.2049 21.2099 38.0398 -44.635 18.3298 20.1124 39.4141 -44.64 18.3924 18.9124 40.6735 -44.645 18.39 17.6276 41.8041 -44.65 18.3215 16.2745 42.7947 -44.655 18.1865 14.8684 43.6373 -44.66 17.9859 13.4229 44.3264 -44.665 17.7217 11.9505 44.86 -44.67 17.3968 10.4622 45.2384 -44.675 17.0156 8.96785 45.4653 -44.68 16.5831 7.47576 45.5471 -44.685 16.1023 6.00949 45.4913 -44.69 15.5747 4.60388 45.3074 -44.695 15.0063 3.27105 45.0079 -44.7 14.403 2.02051 44.606 -44.705 13.7706 0.859419 44.115 -44.71 13.1148 -0.207433 43.5487 -44.715 12.4411 -1.17764 42.9212 -44.72 11.755 -2.05117 42.2469 -44.725 11.0618 -2.83036 41.5408 -44.73 10.3668 -3.51992 40.8178 -44.735 9.67435 -4.1249 40.0871 -44.74 8.9882 -4.65009 39.3532 -44.745 8.3117 -5.10131 38.6226 -44.75 7.64782 -5.48444 37.9009 -44.755 6.99914 -5.80543 37.1929 -44.76 6.36783 -6.07027 36.5025 -44.765 5.75568 -6.28505 35.8325 -44.77 5.16406 -6.45592 35.185 -44.775 4.59396 -6.58908 34.5611 -44.78 4.04599 -6.69067 33.9611 -44.785 3.52082 -6.76474 33.3854 -44.79 3.01845 -6.81482 32.8337 -44.795 2.53861 -6.84454 32.3052 -44.8 2.08096 -6.85725 31.799 -44.805 1.64513 -6.85602 31.3145 -44.81 1.23065 -6.84367 30.8508 -44.815 0.837008 -6.82272 30.4069 -44.82 0.463632 -6.79546 29.982 -44.825 0.109877 -6.76388 29.5752 -44.83 -0.224962 -6.7297 29.1856 -44.835 -0.541652 -6.69439 28.8121 -44.84 -0.841024 -6.65914 28.4539 -44.845 -1.12397 -6.62487 28.1098 -44.85 -1.39149 -6.59232 27.7788 -44.855 -1.64478 -6.56259 27.4603 -44.86 -1.8846 -6.53628 27.1537 -44.865 -2.11165 -6.51381 26.8586 -44.87 -2.32661 -6.49558 26.5743 -44.875 -2.5302 -6.48194 26.3004 -44.88 -2.72311 -6.47322 26.0365 -44.885 -2.90606 -6.46972 25.7822 -44.89 -3.07977 -6.47168 25.5372 -44.895 -3.24496 -6.47933 25.301 -44.9 -3.40237 -6.49285 25.0734 -44.905 -3.55272 -6.5124 24.8541 -44.91 -3.69677 -6.53809 24.6429 -44.915 -3.83525 -6.57 24.4395 -44.92 -3.96892 -6.60818 24.2438 -44.925 -4.09853 -6.65265 24.0556 -44.93 -4.22456 -6.70314 23.8749 -44.935 -4.34731 -6.75955 23.7017 -44.94 -4.46709 -6.82188 23.536 -44.945 -4.58423 -6.89012 23.3781 -44.95 -4.69906 -6.96423 23.2279 -44.955 -4.8119 -7.04415 23.0856 -44.96 -4.92308 -7.12982 22.9512 -44.965 -5.03293 -7.22113 22.8248 -44.97 -5.14178 -7.31798 22.7065 -44.975 -5.24996 -7.42024 22.5964 -44.98 -5.3578 -7.52776 22.4946 -44.985 -5.46564 -7.64038 22.4012 -44.99 -5.57382 -7.7579 22.3161 -44.995 -5.68266 -7.88013 22.2396 -45 -5.7925 -8.00684 22.1718 -45.005 -5.90365 -8.1378 22.1126 -45.01 -6.01609 -8.27282 22.0623 -45.015 -6.12987 -8.41178 22.0214 -45.02 -6.24504 -8.55453 21.99 -45.025 -6.36168 -8.70086 21.9684 -45.03 -6.47983 -8.85056 21.957 -45.035 -6.59954 -9.00336 21.956 -45.04 -6.72084 -9.15898 21.9656 -45.045 -6.84376 -9.3171 21.986 -45.05 -6.96831 -9.47735 22.0174 -45.055 -7.09451 -9.63936 22.06 -45.06 -7.22236 -9.80269 22.114 -45.065 -7.35183 -9.96689 22.1794 -45.07 -7.48293 -10.1315 22.2565 -45.075 -7.61562 -10.2959 22.3452 -45.08 -7.74987 -10.4597 22.4457 -45.085 -7.88563 -10.6222 22.5581 -45.09 -8.02286 -10.7828 22.6823 -45.095 -8.16141 -10.9412 22.8183 -45.1 -8.30096 -11.0972 22.9659 -45.105 -8.44127 -11.25 23.1253 -45.11 -8.58205 -11.3984 23.2965 -45.115 -8.72302 -11.5417 23.4796 -45.12 -8.86389 -11.679 23.6744 -45.125 -9.00434 -11.8093 23.8808 -45.13 -9.14404 -11.932 24.0984 -45.135 -9.28265 -12.0462 24.3271 -45.14 -9.4198 -12.1511 24.5662 -45.145 -9.55513 -12.2461 24.8153 -45.15 -9.68826 -12.3305 25.0739 -45.155 -9.81877 -12.4035 25.3411 -45.16 -9.94626 -12.4646 25.6163 -45.165 -10.0703 -12.5132 25.8986 -45.17 -10.1904 -12.5487 26.1871 -45.175 -10.3062 -12.5706 26.4807 -45.18 -10.4171 -12.5783 26.7783 -45.185 -10.5227 -12.5714 27.0789 -45.19 -10.6225 -12.5495 27.381 -45.195 -10.7159 -12.5121 27.6834 -45.2 -10.8025 -12.4588 27.9846 -45.205 -10.8817 -12.389 28.2833 -45.21 -10.9535 -12.3003 28.5789 -45.215 -11.0175 -12.1938 28.8698 -45.22 -11.0732 -12.0709 29.1544 -45.225 -11.1201 -11.9332 29.4313 -45.23 -11.158 -11.7818 29.6988 -45.235 -11.1866 -11.6182 29.9558 -45.24 -11.2055 -11.4434 30.201 -45.245 -11.2147 -11.2587 30.4333 -45.25 -11.2141 -11.0652 30.6518 -45.255 -11.2035 -10.8637 30.8555 -45.26 -11.1831 -10.6554 31.0438 -45.265 -11.1528 -10.441 31.216 -45.27 -11.1128 -10.2214 31.3716 -45.275 -11.0632 -9.99732 31.51 -45.28 -11.0044 -9.76943 31.6311 -45.285 -10.9367 -9.53834 31.7347 -45.29 -10.8603 -9.30461 31.8205 -45.295 -10.7758 -9.06872 31.8888 -45.3 -10.6835 -8.83106 31.9395 -45.305 -10.5842 -8.59199 31.973 -45.31 -10.4782 -8.35179 31.9897 -45.315 -10.3664 -8.11067 31.9899 -45.32 -10.2495 -7.86878 31.9743 -45.325 -10.1273 -7.62844 31.9435 -45.33 -9.99943 -7.39386 31.8977 -45.335 -9.86641 -7.16577 31.8373 -45.34 -9.7289 -6.9448 31.7623 -45.345 -9.58755 -6.73152 31.6732 -45.35 -9.44295 -6.52646 31.5702 -45.355 -9.29569 -6.33007 31.4538 -45.36 -9.14634 -6.14277 31.3245 -45.365 -8.99547 -5.9649 31.1829 -45.37 -8.84359 -5.79677 31.0295 -45.375 -8.69122 -5.63861 30.8651 -45.38 -8.53885 -5.49061 30.6904 -45.385 -8.38698 -5.35291 30.5063 -45.39 -8.23604 -5.22558 30.3136 -45.395 -8.08649 -5.10864 30.1132 -45.4 -7.93874 -5.00205 29.9062 -45.405 -7.7932 -4.90573 29.6936 -45.41 -7.65025 -4.81954 29.4766 -45.415 -7.51025 -4.74327 29.2564 -45.42 -7.37355 -4.67667 29.0343 -45.425 -7.24048 -4.61943 28.8115 -45.43 -7.11135 -4.57119 28.5895 -45.435 -6.98645 -4.5315 28.3694 -45.44 -6.86603 -4.49979 28.149 -45.445 -6.75021 -4.47578 27.928 -45.45 -6.63909 -4.45924 27.7066 -45.455 -6.53278 -4.44994 27.4853 -45.46 -6.43135 -4.44765 27.2644 -45.465 -6.33488 -4.45216 27.0442 -45.47 -6.24345 -4.46325 26.8251 -45.475 -6.1571 -4.48069 26.6074 -45.48 -6.07591 -4.50429 26.3913 -45.485 -5.9999 -4.53382 26.1771 -45.49 -5.92912 -4.56908 25.9651 -45.495 -5.86359 -4.60986 25.7555 -45.5 -5.80334 -4.65597 25.5485 -45.505 -5.74838 -4.70719 25.3445 -45.51 -5.6987 -4.76334 25.1434 -45.515 -5.6543 -4.82421 24.9457 -45.52 -5.61517 -4.88962 24.7513 -45.525 -5.58129 -4.95937 24.5606 -45.53 -5.55263 -5.03328 24.3735 -45.535 -5.52915 -5.11116 24.1903 -45.54 -5.51061 -5.19305 24.0112 -45.545 -5.49676 -5.27914 23.8364 -45.55 -5.48764 -5.36939 23.6661 -45.555 -5.48329 -5.46373 23.5004 -45.56 -5.48375 -5.56211 23.3395 -45.565 -5.48904 -5.66446 23.1835 -45.57 -5.49918 -5.77074 23.0327 -45.575 -5.51416 -5.88089 22.8871 -45.58 -5.53399 -5.99485 22.747 -45.585 -5.55865 -6.11259 22.6125 -45.59 -5.58813 -6.23405 22.484 -45.595 -5.62239 -6.35919 22.3615 -45.6 -5.6614 -6.48795 22.2452 -45.605 -5.70512 -6.6203 22.1355 -45.61 -5.75348 -6.75619 22.0325 -45.615 -5.80643 -6.89558 21.9364 -45.62 -5.86389 -7.03844 21.8476 -45.625 -5.92579 -7.18472 21.7661 -45.63 -5.99203 -7.33439 21.6924 -45.635 -6.06251 -7.48742 21.6267 -45.64 -6.13714 -7.64377 21.5691 -45.645 -6.21579 -7.8034 21.5201 -45.65 -6.29834 -7.9663 21.4798 -45.655 -6.38467 -8.13242 21.4487 -45.66 -6.47462 -8.30175 21.4269 -45.665 -6.56806 -8.47423 21.4147 -45.67 -6.665 -8.64938 21.4118 -45.675 -6.76553 -8.82688 21.4186 -45.68 -6.86967 -9.00647 21.4355 -45.685 -6.97742 -9.18788 21.4631 -45.69 -7.08877 -9.37081 21.5017 -45.695 -7.20366 -9.5549 21.5517 -45.7 -7.32203 -9.7398 21.6135 -45.705 -7.44377 -9.92508 21.6874 -45.71 -7.56877 -10.1103 21.7736 -45.715 -7.69688 -10.295 21.8724 -45.72 -7.82792 -10.4787 21.9838 -45.725 -7.96169 -10.6608 22.108 -45.73 -8.09798 -10.8407 22.2451 -45.735 -8.23652 -11.0179 22.3951 -45.74 -8.37705 -11.1917 22.558 -45.745 -8.51926 -11.3614 22.7337 -45.75 -8.66283 -11.5264 22.9221 -45.755 -8.80741 -11.6858 23.123 -45.76 -8.95262 -11.839 23.3363 -45.765 -9.09806 -11.985 23.5617 -45.77 -9.2433 -12.1232 23.7989 -45.775 -9.38788 -12.2526 24.0476 -45.78 -9.53134 -12.3723 24.3074 -45.785 -9.67316 -12.4813 24.5779 -45.79 -9.81281 -12.5788 24.8586 -45.795 -9.95002 -12.6638 25.1491 -45.8 -10.0848 -12.736 25.449 -45.805 -10.2164 -12.7945 25.7569 -45.81 -10.3442 -12.8384 26.0714 -45.815 -10.4674 -12.8669 26.3912 -45.82 -10.5855 -12.8796 26.7149 -45.825 -10.6979 -12.8758 27.0411 -45.83 -10.804 -12.8552 27.3686 -45.835 -10.9033 -12.8174 27.696 -45.84 -10.9952 -12.7623 28.022 -45.845 -11.0793 -12.6898 28.3452 -45.85 -11.1552 -12.5999 28.6644 -45.855 -11.2225 -12.4928 28.9781 -45.86 -11.2808 -12.3685 29.2852 -45.865 -11.3297 -12.2276 29.5843 -45.87 -11.3691 -12.0703 29.8741 -45.875 -11.3985 -11.8974 30.1534 -45.88 -11.4178 -11.7093 30.4208 -45.885 -11.4267 -11.5069 30.6751 -45.89 -11.4252 -11.2911 30.915 -45.895 -11.413 -11.0627 31.1393 -45.9 -11.39 -10.8228 31.3464 -45.905 -11.3559 -10.573 31.5349 -45.91 -11.3111 -10.3148 31.7044 -45.915 -11.2557 -10.0499 31.8545 -45.92 -11.1902 -9.78002 31.985 -45.925 -11.1147 -9.50661 32.0957 -45.93 -11.0296 -9.23113 32.1866 -45.935 -10.9354 -8.95494 32.2577 -45.94 -10.8324 -8.67935 32.309 -45.945 -10.7212 -8.40559 32.3407 -45.95 -10.602 -8.1348 32.353 -45.955 -10.4756 -7.86805 32.3463 -45.96 -10.3423 -7.60634 32.321 -45.965 -10.2028 -7.3506 32.2774 -45.97 -10.0576 -7.10167 32.2163 -45.975 -9.9074 -6.86033 32.1382 -45.98 -9.75275 -6.62727 32.0438 -45.985 -9.59436 -6.40313 31.9339 -45.99 -9.43293 -6.18844 31.8094 -45.995 -9.2692 -5.98369 31.6713 -46 -9.10392 -5.78926 31.5205 -46.005 -8.9377 -5.60549 31.3584 -46.01 -8.77094 -5.43262 31.1863 -46.015 -8.60419 -5.2708 31.0049 -46.02 -8.43798 -5.12016 30.8149 -46.025 -8.27284 -4.98076 30.617 -46.03 -8.10925 -4.8526 30.4121 -46.035 -7.94765 -4.73566 30.2007 -46.04 -7.7885 -4.62983 29.9835 -46.045 -7.63218 -4.53497 29.7613 -46.05 -7.47908 -4.4509 29.5346 -46.055 -7.32955 -4.37737 29.3043 -46.06 -7.18392 -4.31408 29.0709 -46.065 -7.04248 -4.26069 28.8351 -46.07 -6.9055 -4.21679 28.5974 -46.075 -6.77324 -4.18194 28.3587 -46.08 -6.6459 -4.15564 28.1194 -46.085 -6.52368 -4.13733 27.8802 -46.09 -6.40674 -4.12642 27.6417 -46.095 -6.29522 -4.12224 27.4044 -46.1 -6.18923 -4.12417 27.169 -46.105 -6.08875 -4.13257 26.9351 -46.11 -5.99376 -4.14746 26.7025 -46.115 -5.90429 -4.16859 26.4717 -46.12 -5.82036 -4.19573 26.2428 -46.125 -5.74196 -4.22866 26.0162 -46.13 -5.6691 -4.26716 25.7919 -46.135 -5.60178 -4.31106 25.5702 -46.14 -5.53998 -4.36015 25.3514 -46.145 -5.48369 -4.41427 25.1356 -46.15 -5.43289 -4.47325 24.923 -46.155 -5.38755 -4.53696 24.7139 -46.16 -5.34765 -4.60525 24.5084 -46.165 -5.31315 -4.67801 24.3067 -46.17 -5.284 -4.75511 24.1089 -46.175 -5.26015 -4.83647 23.9153 -46.18 -5.24156 -4.92199 23.7259 -46.185 -5.22817 -5.01161 23.5409 -46.19 -5.21991 -5.10525 23.3605 -46.195 -5.21672 -5.20288 23.1847 -46.2 -5.21841 -5.30448 23.0138 -46.205 -5.22477 -5.41012 22.848 -46.21 -5.23584 -5.51979 22.6875 -46.215 -5.25166 -5.63348 22.5324 -46.22 -5.27227 -5.75117 22.3829 -46.225 -5.29768 -5.87285 22.2392 -46.23 -5.32792 -5.99848 22.1015 -46.235 -5.363 -6.12806 21.9699 -46.24 -5.4029 -6.26155 21.8447 -46.245 -5.44762 -6.39892 21.726 -46.25 -5.49714 -6.54015 21.6141 -46.255 -5.55143 -6.68519 21.5093 -46.26 -5.61045 -6.83402 21.4118 -46.265 -5.67416 -6.98659 21.3217 -46.27 -5.74251 -7.14286 21.2395 -46.275 -5.81542 -7.3028 21.1653 -46.28 -5.89284 -7.46634 21.0994 -46.285 -5.97468 -7.63345 21.0422 -46.29 -6.06084 -7.80406 20.9939 -46.295 -6.15124 -7.97814 20.9548 -46.3 -6.24576 -8.15561 20.9253 -46.305 -6.34429 -8.33642 20.9057 -46.31 -6.44671 -8.5205 20.8963 -46.315 -6.55288 -8.7078 20.8975 -46.32 -6.66268 -8.8982 20.9095 -46.325 -6.77613 -9.09116 20.932 -46.33 -6.89326 -9.28635 20.9655 -46.335 -7.01409 -9.48341 21.0105 -46.34 -7.13861 -9.68198 21.0676 -46.345 -7.26676 -9.88164 21.1372 -46.35 -7.39845 -10.082 21.2198 -46.355 -7.5336 -10.2824 21.3157 -46.36 -7.67204 -10.4825 21.4252 -46.365 -7.81363 -10.6817 21.5485 -46.37 -7.95816 -10.8793 21.6859 -46.375 -8.10541 -11.0748 21.8375 -46.38 -8.25513 -11.2674 22.0033 -46.385 -8.40703 -11.4564 22.1833 -46.39 -8.56079 -11.6411 22.3775 -46.395 -8.71609 -11.8206 22.5859 -46.4 -8.87253 -11.9942 22.8081 -46.405 -9.02973 -12.161 23.0441 -46.41 -9.18726 -12.32 23.2935 -46.415 -9.34465 -12.4703 23.556 -46.42 -9.50143 -12.611 23.8313 -46.425 -9.65706 -12.7409 24.1188 -46.43 -9.811 -12.859 24.418 -46.435 -9.96268 -12.9643 24.7285 -46.44 -10.1115 -13.0556 25.0495 -46.445 -10.2574 -13.1321 25.3809 -46.45 -10.3999 -13.1931 25.7215 -46.455 -10.5383 -13.2378 26.0696 -46.46 -10.6717 -13.2651 26.4237 -46.465 -10.7994 -13.2745 26.782 -46.47 -10.9207 -13.2654 27.143 -46.475 -11.035 -13.2373 27.505 -46.48 -11.1415 -13.1899 27.8666 -46.485 -11.2398 -13.1229 28.226 -46.49 -11.3294 -13.0364 28.5818 -46.495 -11.4096 -12.9302 28.9324 -46.5 -11.4801 -12.8047 29.2763 -46.505 -11.5405 -12.6601 29.6121 -46.51 -11.5903 -12.4969 29.9382 -46.515 -11.6293 -12.3154 30.2533 -46.52 -11.6572 -12.1165 30.5558 -46.525 -11.6738 -11.9009 30.8443 -46.53 -11.6788 -11.6696 31.1175 -46.535 -11.672 -11.4235 31.374 -46.54 -11.6534 -11.1638 31.6123 -46.545 -11.6228 -10.8919 31.831 -46.55 -11.58 -10.6095 32.0282 -46.555 -11.5251 -10.3187 32.2036 -46.56 -11.4587 -10.0213 32.3569 -46.565 -11.381 -9.71925 32.488 -46.57 -11.2924 -9.41418 32.5967 -46.575 -11.1934 -9.10777 32.683 -46.58 -11.0844 -8.80158 32.7471 -46.585 -10.966 -8.49706 32.7891 -46.59 -10.8387 -8.1956 32.8094 -46.595 -10.7029 -7.89846 32.8083 -46.6 -10.5594 -7.60685 32.7863 -46.605 -10.4088 -7.32186 32.7439 -46.61 -10.2516 -7.0445 32.6817 -46.615 -10.0886 -6.7757 32.6006 -46.62 -9.92044 -6.51627 32.5013 -46.625 -9.74794 -6.26697 32.3847 -46.63 -9.57185 -6.02843 32.2519 -46.635 -9.39296 -5.80122 32.1039 -46.64 -9.21213 -5.5858 31.9419 -46.645 -9.03016 -5.38253 31.7673 -46.65 -8.84756 -5.19153 31.5817 -46.655 -8.66489 -5.01293 31.386 -46.66 -8.48276 -4.84682 31.181 -46.665 -8.30175 -4.69324 30.9675 -46.67 -8.1224 -4.55216 30.7465 -46.675 -7.94523 -4.42351 30.5186 -46.68 -7.77071 -4.30715 30.2847 -46.685 -7.59929 -4.20289 30.0454 -46.69 -7.43139 -4.11047 29.8016 -46.695 -7.2674 -4.0296 29.554 -46.7 -7.10768 -3.95991 29.3033 -46.705 -6.95254 -3.90098 29.0502 -46.71 -6.80229 -3.85233 28.7953 -46.715 -6.65717 -3.81342 28.5394 -46.72 -6.51743 -3.78366 28.2831 -46.725 -6.38326 -3.76241 28.0271 -46.73 -6.25482 -3.74896 27.7719 -46.735 -6.13226 -3.74253 27.5182 -46.74 -6.01567 -3.74248 27.2664 -46.745 -5.90501 -3.74929 27.0162 -46.75 -5.80027 -3.76285 26.7675 -46.755 -5.70147 -3.78287 26.5208 -46.76 -5.6086 -3.80909 26.2761 -46.765 -5.52165 -3.84124 26.0337 -46.77 -5.44063 -3.87908 25.7939 -46.775 -5.3655 -3.92238 25.5569 -46.78 -5.29624 -3.97094 25.3228 -46.785 -5.23283 -4.02455 25.0918 -46.79 -5.17524 -4.08305 24.8641 -46.795 -5.12341 -4.14625 24.64 -46.8 -5.07732 -4.21403 24.4195 -46.805 -5.0369 -4.28624 24.2028 -46.81 -5.0021 -4.36277 23.9901 -46.815 -4.97286 -4.44352 23.7816 -46.82 -4.94911 -4.5284 23.5772 -46.825 -4.93077 -4.61735 23.3772 -46.83 -4.91777 -4.71031 23.1818 -46.835 -4.90998 -4.80726 22.9909 -46.84 -4.90712 -4.90828 22.8049 -46.845 -4.90919 -5.01339 22.6239 -46.85 -4.9162 -5.12256 22.4482 -46.855 -4.9282 -5.23578 22.2777 -46.86 -4.94519 -5.35303 22.1127 -46.865 -4.96719 -5.47432 21.9532 -46.87 -4.9942 -5.59962 21.7996 -46.875 -5.02622 -5.72894 21.652 -46.88 -5.06324 -5.86228 21.5105 -46.885 -5.10524 -5.99964 21.3754 -46.89 -5.15219 -6.14102 21.2468 -46.895 -5.20406 -6.28642 21.1251 -46.9 -5.2608 -6.43586 21.0105 -46.905 -5.32238 -6.58935 20.9032 -46.91 -5.38874 -6.7469 20.8035 -46.915 -5.4598 -6.90852 20.7116 -46.92 -5.53551 -7.07424 20.6279 -46.925 -5.61579 -7.24407 20.5527 -46.93 -5.70054 -7.41804 20.4862 -46.935 -5.78968 -7.59618 20.4288 -46.94 -5.88311 -7.77851 20.3809 -46.945 -5.98072 -7.96507 20.3427 -46.95 -6.08239 -8.15588 20.3147 -46.955 -6.18812 -8.35058 20.2968 -46.96 -6.29803 -8.54873 20.2893 -46.965 -6.41219 -8.75022 20.2926 -46.97 -6.53062 -8.95491 20.3074 -46.975 -6.65333 -9.16256 20.3342 -46.98 -6.78032 -9.37292 20.3734 -46.985 -6.91153 -9.58567 20.4256 -46.99 -7.04689 -9.80045 20.491 -46.995 -7.18631 -10.0168 20.5701 -47 -7.32966 -10.2343 20.6632 -47.005 -7.47679 -10.4525 20.7706 -47.01 -7.62751 -10.6706 20.8926 -47.015 -7.78164 -10.8882 21.0294 -47.02 -7.93892 -11.1045 21.1812 -47.025 -8.09911 -11.3188 21.3482 -47.03 -8.26191 -11.5304 21.5304 -47.035 -8.42702 -11.7383 21.7281 -47.04 -8.5941 -11.9418 21.9411 -47.045 -8.76277 -12.1398 22.1695 -47.05 -8.93266 -12.3314 22.4134 -47.055 -9.10333 -12.5155 22.6727 -47.06 -9.27434 -12.6912 22.9472 -47.065 -9.44523 -12.8571 23.2368 -47.07 -9.61557 -13.0124 23.5415 -47.075 -9.78518 -13.1567 23.8606 -47.08 -9.95338 -13.2883 24.1933 -47.085 -10.1194 -13.4058 24.5387 -47.09 -10.2827 -13.5077 24.8955 -47.095 -10.4423 -13.5926 25.2628 -47.1 -10.5977 -13.6595 25.6392 -47.105 -10.7481 -13.7073 26.0235 -47.11 -10.8928 -13.735 26.4143 -47.115 -11.0313 -13.742 26.8101 -47.12 -11.1627 -13.7276 27.2094 -47.125 -11.2866 -13.6914 27.6107 -47.13 -11.4021 -13.6329 28.0122 -47.135 -11.5087 -13.552 28.4122 -47.14 -11.6058 -13.4486 28.8089 -47.145 -11.6927 -13.3228 29.2004 -47.15 -11.7689 -13.1747 29.5847 -47.155 -11.8337 -13.0048 29.9597 -47.16 -11.8865 -12.8134 30.3234 -47.165 -11.9268 -12.6013 30.6735 -47.17 -11.9541 -12.3686 31.0076 -47.175 -11.9681 -12.1152 31.3233 -47.18 -11.9689 -11.8437 31.6193 -47.185 -11.9562 -11.5567 31.8944 -47.19 -11.93 -11.2566 32.1478 -47.195 -11.8904 -10.9457 32.3784 -47.2 -11.8375 -10.6262 32.5857 -47.205 -11.7715 -10.3001 32.7691 -47.21 -11.6927 -9.96937 32.928 -47.215 -11.6013 -9.63582 33.0621 -47.22 -11.4979 -9.3011 33.1712 -47.225 -11.3829 -8.96675 33.2552 -47.23 -11.2567 -8.63416 33.3142 -47.235 -11.1202 -8.30463 33.3484 -47.24 -10.9739 -7.9793 33.358 -47.245 -10.8186 -7.6592 33.3436 -47.25 -10.6552 -7.34521 33.3056 -47.255 -10.4846 -7.0381 33.2447 -47.26 -10.3078 -6.73851 33.1619 -47.265 -10.1258 -6.44694 33.0579 -47.27 -9.93929 -6.16477 32.9345 -47.275 -9.74838 -5.89496 32.7939 -47.28 -9.55392 -5.6382 32.6371 -47.285 -9.35677 -5.395 32.4652 -47.29 -9.15776 -5.16575 32.2791 -47.295 -8.95769 -4.95074 32.0799 -47.3 -8.7573 -4.75018 31.8686 -47.305 -8.55732 -4.56415 31.6463 -47.31 -8.3584 -4.39266 31.4141 -47.315 -8.1612 -4.23559 31.1729 -47.32 -7.96629 -4.09276 30.924 -47.325 -7.77424 -3.96385 30.6683 -47.33 -7.58556 -3.84846 30.407 -47.335 -7.40072 -3.74609 30.1413 -47.34 -7.22016 -3.65613 29.8722 -47.345 -7.04428 -3.5779 29.6009 -47.35 -6.87342 -3.51057 29.3286 -47.355 -6.70791 -3.45326 29.0564 -47.36 -6.54804 -3.40556 28.7844 -47.365 -6.39399 -3.36751 28.512 -47.37 -6.24588 -3.33868 28.2397 -47.375 -6.10381 -3.31864 27.9677 -47.38 -5.96787 -3.30697 27.6965 -47.385 -5.83812 -3.30326 27.4265 -47.39 -5.71465 -3.30713 27.1579 -47.395 -5.59748 -3.31821 26.8911 -47.4 -5.48667 -3.33614 26.6264 -47.405 -5.38223 -3.36056 26.364 -47.41 -5.28418 -3.39116 26.1042 -47.415 -5.19251 -3.42761 25.8471 -47.42 -5.10722 -3.46962 25.593 -47.425 -5.02827 -3.51689 25.3421 -47.43 -4.95563 -3.56915 25.0944 -47.435 -4.88923 -3.62615 24.8502 -47.44 -4.82903 -3.68764 24.6094 -47.445 -4.77493 -3.75339 24.3722 -47.45 -4.72663 -3.82348 24.1389 -47.455 -4.68397 -3.89793 23.9095 -47.46 -4.64693 -3.97662 23.6843 -47.465 -4.61552 -4.05943 23.4632 -47.47 -4.58971 -4.14627 23.2464 -47.475 -4.56948 -4.23707 23.0341 -47.48 -4.5548 -4.33176 22.8262 -47.485 -4.54564 -4.43029 22.6229 -47.49 -4.54196 -4.53263 22.4244 -47.495 -4.5437 -4.63876 22.2309 -47.5 -4.55082 -4.74868 22.0423 -47.505 -4.56326 -4.86241 21.859 -47.51 -4.58096 -4.97997 21.6811 -47.515 -4.60384 -5.1014 21.5087 -47.52 -4.63182 -5.22677 21.342 -47.525 -4.66484 -5.35616 21.1813 -47.53 -4.7028 -5.48964 21.0267 -47.535 -4.7456 -5.62733 20.8784 -47.54 -4.79316 -5.76935 20.7367 -47.545 -4.84535 -5.91584 20.6018 -47.55 -4.90208 -6.06694 20.4738 -47.555 -4.96322 -6.22282 20.3532 -47.56 -5.02867 -6.38362 20.24 -47.565 -5.09857 -6.54895 20.1344 -47.57 -5.17306 -6.71879 20.0369 -47.575 -5.2522 -6.89325 19.9476 -47.58 -5.33607 -7.07241 19.8669 -47.585 -5.42473 -7.2563 19.7952 -47.59 -5.51821 -7.44495 19.7328 -47.595 -5.61654 -7.63832 19.6801 -47.6 -5.71974 -7.83637 19.6374 -47.605 -5.82781 -8.03899 19.6052 -47.61 -5.94072 -8.24607 19.5837 -47.615 -6.05846 -8.45745 19.5734 -47.62 -6.18098 -8.67293 19.5747 -47.625 -6.30823 -8.8923 19.5881 -47.63 -6.44015 -9.11529 19.6138 -47.635 -6.57665 -9.34161 19.6524 -47.64 -6.71763 -9.57094 19.7042 -47.645 -6.863 -9.80291 19.7698 -47.65 -7.01262 -10.0371 19.8495 -47.655 -7.16637 -10.2732 19.9438 -47.66 -7.32409 -10.5106 20.0533 -47.665 -7.48563 -10.749 20.1783 -47.67 -7.6508 -10.9876 20.3193 -47.675 -7.81942 -11.2261 20.4768 -47.68 -7.99124 -11.4642 20.6502 -47.685 -8.16606 -11.7009 20.8399 -47.69 -8.34367 -11.9348 21.0465 -47.695 -8.5238 -12.1646 21.2706 -47.7 -8.70616 -12.3892 21.5124 -47.705 -8.89039 -12.6072 21.7723 -47.71 -9.07611 -12.8173 22.0501 -47.715 -9.26288 -13.0184 22.3458 -47.72 -9.45023 -13.2091 22.6592 -47.725 -9.63764 -13.3881 22.9898 -47.73 -9.82454 -13.5544 23.3372 -47.735 -10.0103 -13.7065 23.7006 -47.74 -10.1944 -13.8433 24.0791 -47.745 -10.3759 -13.9636 24.4719 -47.75 -10.5543 -14.0661 24.8777 -47.755 -10.7287 -14.1496 25.2952 -47.76 -10.8983 -14.2129 25.7232 -47.765 -11.0623 -14.2549 26.1599 -47.77 -11.2197 -14.2742 26.6036 -47.775 -11.3696 -14.2697 27.0526 -47.78 -11.5109 -14.2402 27.5047 -47.785 -11.643 -14.1843 27.9581 -47.79 -11.7658 -14.1003 28.4116 -47.795 -11.8783 -13.9888 28.8623 -47.8 -11.9797 -13.851 29.307 -47.805 -12.0688 -13.6879 29.7429 -47.81 -12.1451 -13.5005 30.1674 -47.815 -12.2077 -13.2901 30.5779 -47.82 -12.2562 -13.0578 30.9721 -47.825 -12.29 -12.8048 31.348 -47.83 -12.3088 -12.5325 31.7037 -47.835 -12.3125 -12.242 32.0374 -47.84 -12.3008 -11.9348 32.3477 -47.845 -12.2737 -11.6122 32.6332 -47.85 -12.2315 -11.2757 32.8929 -47.855 -12.1742 -10.9267 33.1257 -47.86 -12.1023 -10.5667 33.331 -47.865 -12.0162 -10.1973 33.5082 -47.87 -11.9164 -9.82003 33.6569 -47.875 -11.8036 -9.43657 33.7771 -47.88 -11.6784 -9.04902 33.8686 -47.885 -11.5402 -8.66268 33.9315 -47.89 -11.3898 -8.28017 33.966 -47.895 -11.2282 -7.90324 33.9727 -47.9 -11.0563 -7.53354 33.9522 -47.905 -10.8752 -7.17259 33.9052 -47.91 -10.6856 -6.82177 33.8327 -47.915 -10.4888 -6.48235 33.7355 -47.92 -10.2854 -6.15546 33.6149 -47.925 -10.0765 -5.84212 33.4721 -47.93 -9.86302 -5.5432 33.3084 -47.935 -9.64579 -5.25945 33.1253 -47.94 -9.42571 -4.99151 32.9245 -47.945 -9.20365 -4.73988 32.7076 -47.95 -8.98048 -4.50494 32.4765 -47.955 -8.75704 -4.28692 32.2331 -47.96 -8.53417 -4.08595 31.9796 -47.965 -8.31268 -3.90203 31.7181 -47.97 -8.09339 -3.73503 31.4509 -47.975 -7.87713 -3.5842 31.1794 -47.98 -7.66462 -3.44805 30.9023 -47.985 -7.4563 -3.32612 30.6205 -47.99 -7.25259 -3.21796 30.3347 -47.995 -7.05385 -3.12313 30.0457 -48 -6.86045 -3.04114 29.7542 -48.005 -6.67269 -2.97149 29.461 -48.01 -6.49088 -2.91367 29.1667 -48.015 -6.31526 -2.86713 28.8719 -48.02 -6.14607 -2.83133 28.5771 -48.025 -5.98351 -2.80567 28.2829 -48.03 -5.82776 -2.78957 27.9898 -48.035 -5.67895 -2.7824 27.698 -48.04 -5.53721 -2.78353 27.4081 -48.045 -5.4026 -2.79229 27.1203 -48.05 -5.27519 -2.80801 26.835 -48.055 -5.15501 -2.82999 26.5523 -48.06 -5.04204 -2.8575 26.2725 -48.065 -4.93622 -2.88992 25.9957 -48.07 -4.83729 -2.92769 25.7221 -48.075 -4.74511 -2.97078 25.4516 -48.08 -4.65961 -3.01891 25.1845 -48.085 -4.58071 -3.07183 24.9209 -48.09 -4.50833 -3.12933 24.6608 -48.095 -4.44239 -3.19122 24.4044 -48.1 -4.38279 -3.2573 24.1518 -48.105 -4.32946 -3.32744 23.903 -48.11 -4.28228 -3.4015 23.6583 -48.115 -4.24118 -3.47938 23.4177 -48.12 -4.20603 -3.561 23.1813 -48.125 -4.17674 -3.64629 22.9492 -48.13 -4.15321 -3.73523 22.7215 -48.135 -4.13531 -3.82779 22.4983 -48.14 -4.12293 -3.924 22.2798 -48.145 -4.11596 -4.02389 22.066 -48.15 -4.11426 -4.12752 21.8571 -48.155 -4.11772 -4.23496 21.6531 -48.16 -4.1262 -4.34631 21.4541 -48.165 -4.13949 -4.46166 21.2605 -48.17 -4.15757 -4.58103 21.0722 -48.175 -4.18049 -4.70448 20.8895 -48.18 -4.2083 -4.83206 20.7125 -48.185 -4.24103 -4.96384 20.5412 -48.19 -4.27872 -5.09987 20.3758 -48.195 -4.3214 -5.24021 20.2166 -48.2 -4.36907 -5.38494 20.0636 -48.205 -4.42177 -5.53412 19.9172 -48.21 -4.47948 -5.68783 19.7774 -48.215 -4.5422 -5.84615 19.6446 -48.22 -4.60994 -6.00915 19.519 -48.225 -4.68267 -6.17692 19.4009 -48.23 -4.76038 -6.34955 19.2906 -48.235 -4.84303 -6.52711 19.1884 -48.24 -4.93059 -6.70972 19.0946 -48.245 -5.02302 -6.89745 19.0096 -48.25 -5.12027 -7.09041 18.9337 -48.255 -5.22229 -7.28869 18.8673 -48.26 -5.32902 -7.49242 18.8108 -48.265 -5.44039 -7.70168 18.7647 -48.27 -5.55632 -7.91659 18.7294 -48.275 -5.67678 -8.13703 18.7051 -48.28 -5.80196 -8.36231 18.6919 -48.285 -5.93199 -8.59244 18.6905 -48.29 -6.06697 -8.82741 18.7016 -48.295 -6.20697 -9.06712 18.7259 -48.3 -6.35204 -9.31141 18.7639 -48.305 -6.50216 -9.56003 18.8163 -48.31 -6.65733 -9.81265 18.8837 -48.315 -6.81749 -10.0689 18.9666 -48.32 -6.98255 -10.3283 19.0655 -48.325 -7.1524 -10.5902 19.181 -48.33 -7.32689 -10.8541 19.3135 -48.335 -7.50584 -11.1193 19.4634 -48.34 -7.68905 -11.3849 19.6312 -48.345 -7.87628 -11.6501 19.8173 -48.35 -8.06725 -11.9139 20.0219 -48.355 -8.26168 -12.1755 20.2455 -48.36 -8.45922 -12.4335 20.4883 -48.365 -8.65953 -12.687 20.7506 -48.37 -8.8622 -12.9346 21.0326 -48.375 -9.06681 -13.1751 21.3347 -48.38 -9.27291 -13.4069 21.6569 -48.385 -9.48002 -13.6288 21.9994 -48.39 -9.68775 -13.84 22.3619 -48.395 -9.89546 -14.039 22.7438 -48.4 -10.1024 -14.2235 23.1442 -48.405 -10.3076 -14.3913 23.5625 -48.41 -10.5105 -14.5402 23.9976 -48.415 -10.71 -14.6685 24.4484 -48.42 -10.9054 -14.7743 24.9135 -48.425 -11.0957 -14.8562 25.3915 -48.43 -11.2801 -14.9128 25.8806 -48.435 -11.4577 -14.9428 26.379 -48.44 -11.6275 -14.9452 26.8847 -48.445 -11.7887 -14.919 27.3955 -48.45 -11.9402 -14.8636 27.909 -48.455 -12.0811 -14.7783 28.4228 -48.46 -12.2104 -14.6628 28.9342 -48.465 -12.3272 -14.5169 29.4402 -48.47 -12.4304 -14.3403 29.9378 -48.475 -12.519 -14.1333 30.4239 -48.48 -12.5921 -13.8952 30.895 -48.485 -12.6495 -13.6247 31.348 -48.49 -12.6906 -13.3252 31.7802 -48.495 -12.7149 -13.0001 32.1892 -48.5 -12.7218 -12.6528 32.5728 -48.505 -12.7112 -12.2865 32.9291 -48.51 -12.6829 -11.9041 33.2565 -48.515 -12.6369 -11.5085 33.5536 -48.52 -12.5732 -11.1022 33.819 -48.525 -12.4921 -10.6878 34.0518 -48.53 -12.394 -10.2675 34.2514 -48.535 -12.2794 -9.84335 34.4171 -48.54 -12.1489 -9.41735 34.5489 -48.545 -12.0034 -8.99123 34.6466 -48.55 -11.8437 -8.56654 34.7105 -48.555 -11.6709 -8.14467 34.7411 -48.56 -11.4862 -7.72685 34.739 -48.565 -11.2908 -7.31411 34.7053 -48.57 -11.0862 -6.90737 34.641 -48.575 -10.8724 -6.51166 34.5487 -48.58 -10.65 -6.13072 34.4304 -48.585 -10.4202 -5.76579 34.2874 -48.59 -10.1842 -5.41793 34.1211 -48.595 -9.94339 -5.08801 33.9331 -48.6 -9.69881 -4.77673 33.7249 -48.605 -9.45156 -4.48462 33.4981 -48.61 -9.20271 -4.21199 33.2542 -48.615 -8.95325 -3.95902 32.9951 -48.62 -8.70413 -3.72567 32.7224 -48.625 -8.45624 -3.51174 32.4379 -48.63 -8.21041 -3.31686 32.1435 -48.635 -7.96745 -3.14045 31.8411 -48.64 -7.72809 -2.98178 31.5326 -48.645 -7.49301 -2.83991 31.2201 -48.65 -7.26286 -2.71374 30.9056 -48.655 -7.03824 -2.60222 30.5904 -48.66 -6.81967 -2.50504 30.2732 -48.665 -6.60745 -2.42153 29.9545 -48.67 -6.40184 -2.35096 29.6348 -48.675 -6.20308 -2.29262 29.315 -48.68 -6.01138 -2.24583 28.9954 -48.685 -5.82692 -2.20991 28.6767 -48.69 -5.64984 -2.1842 28.3593 -48.695 -5.48028 -2.16804 28.0437 -48.7 -5.31833 -2.1608 27.7301 -48.705 -5.16407 -2.16186 27.419 -48.71 -5.01753 -2.17061 27.1106 -48.715 -4.87872 -2.18646 26.8051 -48.72 -4.74765 -2.20882 26.5027 -48.725 -4.62426 -2.23714 26.2036 -48.73 -4.50849 -2.27086 25.9078 -48.735 -4.40024 -2.30945 25.6154 -48.74 -4.29925 -2.35281 25.3265 -48.745 -4.20531 -2.40086 25.0413 -48.75 -4.11833 -2.45332 24.7599 -48.755 -4.0382 -2.50995 24.4823 -48.76 -3.96482 -2.57053 24.2086 -48.765 -3.89806 -2.63485 23.9387 -48.77 -3.83782 -2.70277 23.6729 -48.775 -3.78397 -2.77413 23.4112 -48.78 -3.73638 -2.84883 23.1535 -48.785 -3.69495 -2.92678 22.9001 -48.79 -3.65952 -3.00791 22.6509 -48.795 -3.62997 -3.09219 22.406 -48.8 -3.60616 -3.17962 22.1655 -48.805 -3.58794 -3.27022 21.9294 -48.81 -3.57518 -3.36403 21.6979 -48.815 -3.56771 -3.46111 21.471 -48.82 -3.5654 -3.56159 21.2489 -48.825 -3.56808 -3.66557 21.0314 -48.83 -3.57559 -3.77321 20.8188 -48.835 -3.58772 -3.88463 20.6113 -48.84 -3.60444 -3.99989 20.4089 -48.845 -3.62581 -4.11905 20.2118 -48.85 -3.65189 -4.24218 20.02 -48.855 -3.68273 -4.36935 19.8336 -48.86 -3.71838 -4.50065 19.6527 -48.865 -3.75887 -4.63617 19.4775 -48.87 -3.80424 -4.77602 19.3081 -48.875 -3.85451 -4.92031 19.1447 -48.88 -3.90971 -5.06914 18.9874 -48.885 -3.96985 -5.22266 18.8366 -48.89 -4.03493 -5.38099 18.6924 -48.895 -4.10495 -5.54427 18.555 -48.9 -4.17992 -5.71266 18.4248 -48.905 -4.25981 -5.88632 18.3021 -48.91 -4.34461 -6.06541 18.187 -48.915 -4.4343 -6.25011 18.0801 -48.92 -4.52883 -6.4406 17.9816 -48.925 -4.62818 -6.63707 17.8919 -48.93 -4.7323 -6.83973 17.8113 -48.935 -4.84113 -7.04877 17.7404 -48.94 -4.95463 -7.26442 17.6794 -48.945 -5.07277 -7.48676 17.6289 -48.95 -5.19586 -7.71506 17.5889 -48.955 -5.32413 -7.9494 17.5601 -48.96 -5.4577 -8.18994 17.5431 -48.965 -5.59668 -8.43679 17.5386 -48.97 -5.74116 -8.68993 17.5471 -48.975 -5.89121 -8.94929 17.5694 -48.98 -6.04687 -9.21471 17.6061 -48.985 -6.20813 -9.48595 17.6578 -48.99 -6.375 -9.76269 17.7251 -48.995 -6.54743 -10.0445 17.8087 -49 -6.72535 -10.331 17.9093 -49.005 -6.90869 -10.6215 18.0274 -49.01 -7.09731 -10.9154 18.1637 -49.015 -7.29109 -11.2119 18.3188 -49.02 -7.48986 -11.5104 18.4933 -49.025 -7.69343 -11.8098 18.688 -49.03 -7.90158 -12.1091 18.9033 -49.035 -8.11407 -12.4075 19.14 -49.04 -8.33063 -12.7036 19.3986 -49.045 -8.55098 -12.9963 19.6798 -49.05 -8.7748 -13.2844 19.9843 -49.055 -9.00169 -13.5667 20.3121 -49.06 -9.23109 -13.8423 20.6628 -49.065 -9.46243 -14.1087 21.0369 -49.07 -9.69508 -14.3636 21.4344 -49.075 -9.92837 -14.6044 21.8553 -49.08 -10.1616 -14.8291 22.2991 -49.085 -10.3939 -15.0353 22.7653 -49.09 -10.6244 -15.221 23.253 -49.095 -10.8523 -15.3842 23.7609 -49.1 -11.0766 -15.5228 24.2878 -49.105 -11.2963 -15.6351 24.8319 -49.11 -11.5103 -15.7193 25.3913 -49.115 -11.7175 -15.7737 25.9639 -49.12 -11.9166 -15.7967 26.5471 -49.125 -12.1065 -15.7867 27.1384 -49.13 -12.2859 -15.7423 27.7346 -49.135 -12.4533 -15.6621 28.3326 -49.14 -12.6074 -15.5449 28.9289 -49.145 -12.7474 -15.3878 29.5206 -49.15 -12.8726 -15.1892 30.1044 -49.155 -12.9818 -14.952 30.6758 -49.16 -13.0735 -14.679 31.2304 -49.165 -13.1469 -14.3731 31.7642 -49.17 -13.2009 -14.0369 32.2737 -49.175 -13.235 -13.6732 32.7555 -49.18 -13.2485 -13.2844 33.2067 -49.185 -13.2411 -12.8732 33.625 -49.19 -13.2127 -12.442 34.008 -49.195 -13.1634 -11.9931 34.3541 -49.2 -13.0933 -11.5289 34.6618 -49.205 -13.0029 -11.0515 34.93 -49.21 -12.8927 -10.5632 35.158 -49.215 -12.7636 -10.066 35.3456 -49.22 -12.6165 -9.562 35.4927 -49.225 -12.4525 -9.05309 35.5998 -49.23 -12.2731 -8.54116 35.6676 -49.235 -12.0783 -8.03214 35.6971 -49.24 -11.868 -7.53328 35.6894 -49.245 -11.6438 -7.047 35.6457 -49.25 -11.4072 -6.57545 35.567 -49.255 -11.1598 -6.12055 35.455 -49.26 -10.9029 -5.684 35.3111 -49.265 -10.638 -5.26727 35.1372 -49.27 -10.3665 -4.87159 34.9351 -49.275 -10.0896 -4.49796 34.7071 -49.28 -9.80869 -4.14714 34.4554 -49.285 -9.52498 -3.81968 34.1823 -49.29 -9.23969 -3.51588 33.8906 -49.295 -8.95399 -3.23582 33.5831 -49.3 -8.66901 -2.97933 33.2626 -49.305 -8.38584 -2.74603 32.9323 -49.31 -8.10554 -2.5353 32.5954 -49.315 -7.82911 -2.34628 32.2556 -49.32 -7.55755 -2.17773 31.9145 -49.325 -7.29168 -2.02804 31.5695 -49.33 -7.03202 -1.89627 31.2213 -49.335 -6.77904 -1.78149 30.871 -49.34 -6.53314 -1.68277 30.5194 -49.345 -6.29471 -1.59922 30.1673 -49.35 -6.06405 -1.52989 29.8155 -49.355 -5.84147 -1.4739 29.4648 -49.36 -5.6272 -1.43032 29.1155 -49.365 -5.42144 -1.39824 28.7684 -49.37 -5.22433 -1.37677 28.4238 -49.375 -5.03598 -1.36498 28.0821 -49.38 -4.85646 -1.36199 27.7436 -49.385 -4.68578 -1.36689 27.4086 -49.39 -4.52392 -1.37878 27.0771 -49.395 -4.37081 -1.39676 26.7492 -49.4 -4.2263 -1.42015 26.425 -49.405 -4.0901 -1.44902 26.1046 -49.41 -3.96203 -1.48301 25.7883 -49.415 -3.84195 -1.5217 25.4759 -49.42 -3.72969 -1.56471 25.1675 -49.425 -3.62509 -1.6117 24.8631 -49.43 -3.52797 -1.66236 24.5629 -49.435 -3.43816 -1.71642 24.2667 -49.44 -3.35549 -1.77363 23.9746 -49.445 -3.27977 -1.83379 23.6867 -49.45 -3.2108 -1.89672 23.403 -49.455 -3.1484 -1.9623 23.1234 -49.46 -3.09238 -2.03041 22.848 -49.465 -3.04252 -2.101 22.5769 -49.47 -2.99862 -2.17402 22.3099 -49.475 -2.96047 -2.24949 22.0471 -49.48 -2.92786 -2.32743 21.7886 -49.485 -2.90056 -2.40793 21.5343 -49.49 -2.87834 -2.49103 21.2843 -49.495 -2.86112 -2.57674 21.0385 -49.5 -2.84887 -2.66507 20.7971 -49.505 -2.84154 -2.75605 20.5601 -49.51 -2.83909 -2.84971 20.3274 -49.515 -2.84146 -2.94614 20.0991 -49.52 -2.84859 -3.0454 19.8752 -49.525 -2.86045 -3.1476 19.6559 -49.53 -2.87695 -3.25285 19.4412 -49.535 -2.89805 -3.36129 19.2311 -49.54 -2.92368 -3.47309 19.0257 -49.545 -2.95376 -3.58839 18.8252 -49.55 -2.98824 -3.70741 18.6297 -49.555 -3.02702 -3.83035 18.4392 -49.56 -3.07005 -3.95743 18.2539 -49.565 -3.11723 -4.0889 18.0739 -49.57 -3.16849 -4.22502 17.8994 -49.575 -3.22374 -4.36608 17.7305 -49.58 -3.28301 -4.51224 17.5674 -49.585 -3.34655 -4.66348 17.4104 -49.59 -3.41446 -4.82002 17.2595 -49.595 -3.4868 -4.98208 17.115 -49.6 -3.56367 -5.14989 16.9771 -49.605 -3.64515 -5.32364 16.8461 -49.61 -3.73131 -5.50353 16.7221 -49.615 -3.82224 -5.68977 16.6056 -49.62 -3.91803 -5.88254 16.4968 -49.625 -4.01876 -6.082 16.3961 -49.63 -4.12452 -6.28835 16.3039 -49.635 -4.23539 -6.50173 16.2206 -49.64 -4.35146 -6.72231 16.1466 -49.645 -4.47283 -6.95023 16.0825 -49.65 -4.59958 -7.18563 16.0286 -49.655 -4.7318 -7.42865 15.9856 -49.66 -4.86959 -7.67942 15.954 -49.665 -5.01304 -7.93805 15.9343 -49.67 -5.16222 -8.20462 15.9272 -49.675 -5.31672 -8.47774 15.9324 -49.68 -5.47659 -8.75719 15.9504 -49.685 -5.64219 -9.04351 15.9827 -49.69 -5.81382 -9.33708 16.0303 -49.695 -5.99173 -9.63815 16.0943 -49.7 -6.1761 -9.94676 16.1758 -49.705 -6.36707 -10.2628 16.276 -49.71 -6.56473 -10.5861 16.3957 -49.715 -6.76908 -10.9161 16.5358 -49.72 -6.98011 -11.2524 16.6973 -49.725 -7.19772 -11.594 16.881 -49.73 -7.42178 -11.9402 17.0877 -49.735 -7.65208 -12.2899 17.3181 -49.74 -7.88836 -12.6418 17.5729 -49.745 -8.13033 -12.9946 17.8527 -49.75 -8.37761 -13.3466 18.1582 -49.755 -8.62978 -13.6963 18.4898 -49.76 -8.88638 -14.0416 18.8481 -49.765 -9.14686 -14.3805 19.2334 -49.77 -9.41064 -14.711 19.6463 -49.775 -9.67707 -15.0305 20.0869 -49.78 -9.94546 -15.3365 20.5557 -49.785 -10.2151 -15.6265 21.0528 -49.79 -10.4851 -15.8974 21.5785 -49.795 -10.7546 -16.1464 22.1329 -49.8 -11.0227 -16.3702 22.7161 -49.805 -11.2885 -16.5661 23.3278 -49.81 -11.5508 -16.7333 23.965 -49.815 -11.808 -16.8683 24.6245 -49.82 -12.0582 -16.9676 25.3027 -49.825 -12.2999 -17.028 25.9963 -49.83 -12.5313 -17.047 26.7015 -49.835 -12.7509 -17.0224 27.4148 -49.84 -12.9572 -16.9525 28.1321 -49.845 -13.1486 -16.8361 28.8496 -49.85 -13.3238 -16.6724 29.5631 -49.855 -13.4814 -16.4611 30.2684 -49.86 -13.6199 -16.2024 30.9612 -49.865 -13.7382 -15.8969 31.637 -49.87 -13.835 -15.5457 32.2913 -49.875 -13.9092 -15.1503 32.9192 -49.88 -13.9594 -14.7128 33.5161 -49.885 -13.9848 -14.2356 34.0768 -49.89 -13.9844 -13.7201 34.595 -49.895 -13.9581 -13.1701 35.0663 -49.9 -13.9058 -12.5927 35.4893 -49.905 -13.8277 -11.9944 35.8631 -49.91 -13.7244 -11.3812 36.1869 -49.915 -13.5961 -10.7586 36.4603 -49.92 -13.4438 -10.1318 36.6831 -49.925 -13.2682 -9.5055 36.8555 -49.93 -13.0704 -8.88386 36.9779 -49.935 -12.8515 -8.27065 37.0511 -49.94 -12.6131 -7.66916 37.076 -49.945 -12.3566 -7.08226 37.0539 -49.95 -12.0837 -6.51232 36.9864 -49.955 -11.7963 -5.96129 36.8754 -49.96 -11.4966 -5.43064 36.723 -49.965 -11.1866 -4.9214 36.5318 -49.97 -10.8687 -4.4347 36.3047 -49.975 -10.5435 -3.97585 36.0473 -49.98 -10.2125 -3.54666 35.7637 -49.985 -9.87746 -3.14755 35.4569 -49.99 -9.54006 -2.77856 35.13 -49.995 -9.20185 -2.43944 34.7861 -50 -8.8643 -2.12957 34.4277 diff --git a/tools/visualizers/parametric_curve_visualizer/helix.txt b/tools/visualizers/parametric_curve_visualizer/helix.txt deleted file mode 100644 index 010cdb6..0000000 --- a/tools/visualizers/parametric_curve_visualizer/helix.txt +++ /dev/null @@ -1,104 +0,0 @@ -PARAMETRIC_CURVE_CARTESIAN_3D -t1: 0 -t2: 6.28319 -NumPoints: 100 -0 20 0 0 -0.0634665 19.9597 1.26848 1.26933 -0.126933 19.8391 2.53185 2.53866 -0.1904 19.6386 3.78502 3.80799 -0.253866 19.359 5.02296 5.07732 -0.317333 19.0014 6.24067 6.34665 -0.380799 18.5674 7.43325 7.61598 -0.444266 18.0585 8.5959 8.88531 -0.507732 17.477 9.72393 10.1546 -0.571199 16.8251 10.8128 11.424 -0.634665 16.1054 11.8582 12.6933 -0.698132 15.3209 12.8558 13.9626 -0.761598 14.4747 13.8016 15.232 -0.825065 13.5702 14.6918 16.5013 -0.888531 12.6111 15.5229 17.7706 -0.951998 11.6011 16.2915 19.04 -1.01546 10.5445 16.9945 20.3093 -1.07893 9.44542 17.6291 21.5786 -1.1424 8.3083 18.1926 22.8479 -1.20586 7.13772 18.683 24.1173 -1.26933 5.93841 19.098 25.3866 -1.3328 4.71518 19.4362 26.6559 -1.39626 3.47296 19.6962 27.9253 -1.45973 2.21676 19.8768 29.1946 -1.5232 0.951638 19.9773 30.4639 -1.58666 -0.317319 19.9975 31.7333 -1.65013 -1.585 19.9371 33.0026 -1.7136 -2.8463 19.7964 34.2719 -1.77706 -4.09613 19.576 35.5413 -1.84053 -5.32948 19.2768 36.8106 -1.904 -6.54136 18.9 38.0799 -1.96746 -7.7269 18.4471 39.3492 -2.03093 -8.88133 17.9199 40.6186 -2.0944 -10 17.3205 41.8879 -2.15786 -11.0784 16.6514 43.1572 -2.22133 -12.1122 15.9152 44.4266 -2.28479 -13.0972 15.115 45.6959 -2.34826 -14.0295 14.2539 46.9652 -2.41173 -14.9053 13.3354 48.2346 -2.47519 -15.7211 12.3632 49.5039 -2.53866 -16.4735 11.3412 50.7732 -2.60213 -17.1597 10.2735 52.0425 -2.66559 -17.7767 9.16453 53.3119 -2.72906 -18.3222 8.01861 54.5812 -2.79253 -18.7939 6.8404 55.8505 -2.85599 -19.1899 5.63465 57.1199 -2.91946 -19.5086 4.40621 58.3892 -2.98293 -19.7488 3.16003 59.6585 -3.04639 -19.9094 1.90112 60.9279 -3.10986 -19.9899 0.634559 62.1972 -3.17333 -19.9899 -0.634559 63.4665 -3.23679 -19.9094 -1.90112 64.7358 -3.30026 -19.7488 -3.16003 66.0052 -3.36373 -19.5086 -4.40621 67.2745 -3.42719 -19.1899 -5.63465 68.5438 -3.49066 -18.7939 -6.8404 69.8132 -3.55413 -18.3222 -8.01861 71.0825 -3.61759 -17.7767 -9.16453 72.3518 -3.68106 -17.1597 -10.2735 73.6212 -3.74452 -16.4735 -11.3412 74.8905 -3.80799 -15.7211 -12.3632 76.1598 -3.87146 -14.9053 -13.3354 77.4292 -3.93492 -14.0295 -14.2539 78.6985 -3.99839 -13.0972 -15.115 79.9678 -4.06186 -12.1122 -15.9152 81.2371 -4.12532 -11.0784 -16.6514 82.5065 -4.18879 -10 -17.3205 83.7758 -4.25226 -8.88133 -17.9199 85.0451 -4.31572 -7.7269 -18.4471 86.3145 -4.37919 -6.54136 -18.9 87.5838 -4.44266 -5.32948 -19.2768 88.8531 -4.50612 -4.09613 -19.576 90.1225 -4.56959 -2.8463 -19.7964 91.3918 -4.63306 -1.585 -19.9371 92.6611 -4.69652 -0.317319 -19.9975 93.9304 -4.75999 0.951638 -19.9773 95.1998 -4.82346 2.21676 -19.8768 96.4691 -4.88692 3.47296 -19.6962 97.7384 -4.95039 4.71518 -19.4362 99.0078 -5.01385 5.93841 -19.098 100.277 -5.07732 7.13772 -18.683 101.546 -5.14079 8.3083 -18.1926 102.816 -5.20425 9.44542 -17.6291 104.085 -5.26772 10.5445 -16.9945 105.354 -5.33119 11.6011 -16.2915 106.624 -5.39465 12.6111 -15.5229 107.893 -5.45812 13.5702 -14.6918 109.162 -5.52159 14.4747 -13.8016 110.432 -5.58505 15.3209 -12.8558 111.701 -5.64852 16.1054 -11.8582 112.97 -5.71199 16.8251 -10.8128 114.24 -5.77545 17.477 -9.72393 115.509 -5.83892 18.0585 -8.5959 116.778 -5.90239 18.5674 -7.43325 118.048 -5.96585 19.0014 -6.24067 119.317 -6.02932 19.359 -5.02296 120.586 -6.09279 19.6386 -3.78502 121.856 -6.15625 19.8391 -2.53185 123.125 -6.21972 19.9597 -1.26848 124.394 -6.28319 20 -4.04257e-14 125.664 diff --git a/tools/visualizers/parametric_curve_visualizer/ode_1_param_curve.txt b/tools/visualizers/parametric_curve_visualizer/ode_1_param_curve.txt deleted file mode 100644 index 881bf36..0000000 --- a/tools/visualizers/parametric_curve_visualizer/ode_1_param_curve.txt +++ /dev/null @@ -1,10005 +0,0 @@ -PARAMETRIC_CURVE_CARTESIAN_3D -t1: 0 -t2: 50 -numPoints: 5001 -0 2 1 1 -0.005 1.95768 1.26133 0.997865 -0.01 1.93002 1.51666 0.998054 -0.015 1.91584 1.76819 1.00049 -0.02 1.91433 2.01768 1.0052 -0.025 1.92502 2.26652 1.01229 -0.03 1.94747 2.51609 1.0219 -0.035 1.98128 2.7678 1.03423 -0.04 2.02607 3.02307 1.0495 -0.045 2.08146 3.28334 1.06795 -0.05 2.14714 3.55006 1.08989 -0.055 2.22279 3.82471 1.11565 -0.06 2.30814 4.10878 1.1456 -0.065 2.4031 4.40355 1.18026 -0.07 2.50796 4.70991 1.22029 -0.075 2.62293 5.02892 1.26626 -0.08 2.74822 5.3617 1.31881 -0.085 2.88408 5.70933 1.37874 -0.09 3.03076 6.07295 1.44693 -0.095 3.18854 6.45366 1.5244 -0.1 3.35772 6.85263 1.61228 -0.105 3.53862 7.27098 1.71181 -0.11 3.73157 7.7099 1.82436 -0.115 3.93692 8.17054 1.9514 -0.12 4.15496 8.65334 2.09484 -0.125 4.38621 9.15906 2.2566 -0.13 4.63141 9.68921 2.43847 -0.135 4.89127 10.245 2.64253 -0.14 5.1664 10.8272 2.87116 -0.145 5.45739 11.4364 3.12703 -0.15 5.76477 12.0728 3.41309 -0.155 6.089 12.7362 3.7326 -0.16 6.4305 13.4263 4.08911 -0.165 6.78963 14.1421 4.48646 -0.17 7.16668 14.8827 4.92877 -0.175 7.56192 15.6465 5.42048 -0.18 7.97552 16.4319 5.96629 -0.185 8.40763 17.2366 6.57122 -0.19 8.85833 18.0584 7.24053 -0.195 9.32657 18.8936 7.97551 -0.2 9.812 19.7368 8.78173 -0.205 10.3147 20.5816 9.6675 -0.21 10.8343 21.4205 10.6395 -0.215 11.3696 22.2451 11.703 -0.22 11.9193 23.0458 12.8616 -0.225 12.4812 23.8123 14.1172 -0.23 13.0527 24.5329 15.4705 -0.235 13.6307 25.1954 16.9202 -0.24 14.2115 25.7861 18.4638 -0.245 14.7908 26.2907 20.0971 -0.25 15.3638 26.6935 21.8144 -0.255 15.9253 26.9783 23.6081 -0.26 16.4694 27.1274 25.4696 -0.265 16.9903 27.1233 27.3895 -0.27 17.4836 26.9546 29.3534 -0.275 17.9407 26.6125 31.3322 -0.28 18.3538 26.0914 33.2971 -0.285 18.7156 25.389 35.2213 -0.29 19.0196 24.5065 37.0795 -0.295 19.2603 23.4485 38.8481 -0.3 19.4329 22.2229 40.5055 -0.305 19.5333 20.8414 42.0315 -0.31 19.5582 19.3186 43.4079 -0.315 19.5054 17.673 44.6181 -0.32 19.3731 15.9263 45.6473 -0.325 19.1601 14.1071 46.475 -0.33 18.8679 12.2505 47.0955 -0.335 18.4998 10.3874 47.517 -0.34 18.0601 8.54539 47.7494 -0.345 17.5534 6.74889 47.8037 -0.35 16.9852 5.01871 47.6921 -0.355 16.3616 3.37234 47.4284 -0.36 15.6892 1.82388 47.0275 -0.365 14.9755 0.384009 46.5058 -0.37 14.2283 -0.939967 45.8808 -0.375 13.4565 -2.14414 45.1714 -0.38 12.6683 -3.22805 44.3996 -0.385 11.8686 -4.19378 43.5882 -0.39 11.0637 -5.04427 42.7509 -0.395 10.2594 -5.78366 41.8993 -0.4 9.46104 -6.41727 41.0442 -0.405 8.67327 -6.95164 40.1951 -0.41 7.90015 -7.39453 39.3604 -0.415 7.14512 -7.75488 38.5471 -0.42 6.41103 -8.04285 37.7613 -0.425 5.70013 -8.26983 37.0079 -0.43 5.01406 -8.44837 36.2905 -0.435 4.35388 -8.59024 35.6112 -0.44 3.72016 -8.69439 34.9668 -0.445 3.11314 -8.76475 34.3561 -0.45 2.53287 -8.80652 33.7781 -0.455 1.97929 -8.82444 33.232 -0.46 1.45218 -8.8228 32.7165 -0.465 0.951166 -8.80541 32.2305 -0.47 0.475761 -8.77565 31.7725 -0.475 0.0253216 -8.73641 31.3411 -0.48 -0.400934 -8.69013 30.9345 -0.485 -0.803926 -8.63882 30.5512 -0.49 -1.18474 -8.58417 30.1892 -0.495 -1.54453 -8.52821 29.8473 -0.5 -1.88419 -8.47197 29.5243 -0.505 -2.20463 -8.41627 29.219 -0.51 -2.50673 -8.36188 28.9301 -0.515 -2.79138 -8.30949 28.6565 -0.52 -3.05951 -8.25974 28.3973 -0.525 -3.312 -8.21321 28.1516 -0.53 -3.54979 -8.17041 27.9183 -0.535 -3.77378 -8.1318 27.6968 -0.54 -3.98492 -8.09776 27.4864 -0.545 -4.18412 -8.06862 27.2864 -0.55 -4.37233 -8.04467 27.0962 -0.555 -4.5505 -8.02609 26.9154 -0.56 -4.71956 -8.01301 26.7436 -0.565 -4.88038 -8.00513 26.58 -0.57 -5.03343 -8.00224 26.4245 -0.575 -5.17918 -8.00427 26.2769 -0.58 -5.31806 -8.01115 26.1371 -0.585 -5.45051 -8.02277 26.0049 -0.59 -5.57698 -8.03903 25.8802 -0.595 -5.69792 -8.05982 25.7629 -0.6 -5.81377 -8.08503 25.6527 -0.605 -5.92499 -8.11452 25.5496 -0.61 -6.03201 -8.14815 25.4535 -0.615 -6.13529 -8.18578 25.3641 -0.62 -6.23527 -8.22725 25.2813 -0.625 -6.33242 -8.27239 25.205 -0.63 -6.42718 -8.32103 25.135 -0.635 -6.52 -8.373 25.0712 -0.64 -6.61133 -8.42808 25.0134 -0.645 -6.70144 -8.48604 24.9616 -0.65 -6.79025 -8.54662 24.9161 -0.655 -6.87786 -8.60964 24.8769 -0.66 -6.96437 -8.6749 24.8441 -0.665 -7.04988 -8.7422 24.8178 -0.67 -7.13449 -8.81134 24.798 -0.675 -7.21828 -8.8821 24.7848 -0.68 -7.30135 -8.95425 24.7781 -0.685 -7.38377 -9.02755 24.778 -0.69 -7.46561 -9.10175 24.7844 -0.695 -7.54696 -9.1766 24.7973 -0.7 -7.62789 -9.25183 24.8166 -0.705 -7.70845 -9.32716 24.8423 -0.71 -7.78872 -9.4023 24.8743 -0.715 -7.86874 -9.47695 24.9124 -0.72 -7.94858 -9.55082 24.9566 -0.725 -8.02828 -9.62357 25.0067 -0.73 -8.10786 -9.69496 25.0625 -0.735 -8.18719 -9.76488 25.1241 -0.74 -8.26614 -9.833 25.1914 -0.745 -8.34457 -9.899 25.2643 -0.75 -8.42234 -9.96255 25.3427 -0.755 -8.49934 -10.0233 25.4264 -0.76 -8.57541 -10.0811 25.5154 -0.765 -8.65044 -10.1355 25.6095 -0.77 -8.72428 -10.1862 25.7084 -0.775 -8.79681 -10.2331 25.8119 -0.78 -8.8679 -10.2759 25.9198 -0.785 -8.9374 -10.3143 26.0318 -0.79 -9.00519 -10.3481 26.1476 -0.795 -9.07114 -10.3771 26.2668 -0.8 -9.13512 -10.4011 26.3891 -0.805 -9.19698 -10.4199 26.5142 -0.81 -9.2566 -10.4333 26.6415 -0.815 -9.31385 -10.4413 26.7707 -0.82 -9.3686 -10.4435 26.9013 -0.825 -9.4207 -10.4399 27.0328 -0.83 -9.47004 -10.4304 27.1648 -0.835 -9.51647 -10.4149 27.2966 -0.84 -9.55995 -10.393 27.4281 -0.845 -9.60032 -10.3648 27.559 -0.85 -9.63738 -10.3305 27.6888 -0.855 -9.67095 -10.2902 27.8168 -0.86 -9.70087 -10.2442 27.9426 -0.865 -9.72698 -10.1926 28.0657 -0.87 -9.74916 -10.1356 28.1857 -0.875 -9.76731 -10.0736 28.3021 -0.88 -9.78134 -10.0066 28.4144 -0.885 -9.79119 -9.93492 28.5223 -0.89 -9.7968 -9.85881 28.6255 -0.895 -9.79815 -9.7785 28.7236 -0.9 -9.79523 -9.69425 28.8162 -0.905 -9.78806 -9.6063 28.9032 -0.91 -9.77666 -9.51494 28.9842 -0.915 -9.76108 -9.42042 29.0589 -0.92 -9.7414 -9.32304 29.1272 -0.925 -9.71771 -9.22308 29.1889 -0.93 -9.69011 -9.12083 29.2438 -0.935 -9.65874 -9.0166 29.2917 -0.94 -9.62374 -8.91071 29.3326 -0.945 -9.58528 -8.80345 29.3663 -0.95 -9.54356 -8.69518 29.3928 -0.955 -9.49877 -8.5862 29.412 -0.96 -9.45115 -8.47687 29.4239 -0.965 -9.40087 -8.3676 29.4285 -0.97 -9.34777 -8.25929 29.4264 -0.975 -9.29199 -8.15231 29.4174 -0.98 -9.23374 -8.04696 29.4016 -0.985 -9.17326 -7.9435 29.3792 -0.99 -9.11075 -7.84219 29.35 -0.995 -9.04643 -7.74328 29.3141 -1 -8.98051 -7.64699 29.2718 -1.005 -8.9132 -7.55356 29.223 -1.01 -8.84472 -7.46319 29.168 -1.015 -8.77526 -7.37608 29.1069 -1.02 -8.70504 -7.29243 29.0399 -1.025 -8.63425 -7.2124 28.9672 -1.03 -8.5631 -7.13617 28.8891 -1.035 -8.49179 -7.06388 28.8059 -1.04 -8.4205 -6.99567 28.7178 -1.045 -8.34945 -6.93169 28.6251 -1.05 -8.27881 -6.87203 28.5282 -1.055 -8.20878 -6.81682 28.4275 -1.06 -8.13955 -6.76615 28.3233 -1.065 -8.07131 -6.7201 28.216 -1.07 -8.00424 -6.67874 28.1062 -1.075 -7.93852 -6.64213 27.9942 -1.08 -7.87433 -6.61032 27.8805 -1.085 -7.81186 -6.58335 27.7657 -1.09 -7.75127 -6.56124 27.6503 -1.095 -7.69276 -6.54401 27.5348 -1.1 -7.63641 -6.53117 27.419 -1.105 -7.58229 -6.52237 27.3025 -1.11 -7.5305 -6.51766 27.1856 -1.115 -7.48113 -6.51704 27.0685 -1.12 -7.43425 -6.52053 26.9514 -1.125 -7.38995 -6.52812 26.8346 -1.13 -7.34828 -6.5398 26.7183 -1.135 -7.30933 -6.55554 26.6027 -1.14 -7.27314 -6.57533 26.4881 -1.145 -7.23978 -6.59911 26.3746 -1.15 -7.20929 -6.62682 26.2624 -1.155 -7.18172 -6.65842 26.1519 -1.16 -7.15711 -6.69382 26.0431 -1.165 -7.13549 -6.73293 25.9362 -1.17 -7.1169 -6.77567 25.8315 -1.175 -7.10135 -6.82194 25.7292 -1.18 -7.08887 -6.87161 25.6294 -1.185 -7.07946 -6.92456 25.5324 -1.19 -7.07315 -6.98067 25.4383 -1.195 -7.06992 -7.03978 25.3473 -1.2 -7.06978 -7.10173 25.2595 -1.205 -7.07273 -7.16637 25.1752 -1.21 -7.07874 -7.23352 25.0945 -1.215 -7.0878 -7.303 25.0175 -1.22 -7.0999 -7.3746 24.9446 -1.225 -7.11499 -7.44812 24.8757 -1.23 -7.13304 -7.52336 24.811 -1.235 -7.15373 -7.6005 24.7505 -1.24 -7.17693 -7.67966 24.6941 -1.245 -7.20267 -7.76074 24.642 -1.25 -7.23098 -7.84364 24.5946 -1.255 -7.26189 -7.92826 24.5519 -1.26 -7.2954 -8.01446 24.5142 -1.265 -7.33151 -8.10213 24.4816 -1.27 -7.3702 -8.19113 24.4542 -1.275 -7.41144 -8.28133 24.4323 -1.28 -7.45522 -8.37256 24.4158 -1.285 -7.50147 -8.46468 24.405 -1.29 -7.55014 -8.55751 24.4 -1.295 -7.60116 -8.65088 24.4008 -1.3 -7.65446 -8.74461 24.4074 -1.305 -7.70994 -8.8385 24.4201 -1.31 -7.76751 -8.93236 24.4387 -1.315 -7.82706 -9.02598 24.4634 -1.32 -7.88846 -9.11915 24.4941 -1.325 -7.95159 -9.21164 24.5309 -1.33 -8.0163 -9.30321 24.5737 -1.335 -8.08243 -9.39363 24.6226 -1.34 -8.14983 -9.48266 24.6775 -1.345 -8.21832 -9.57002 24.7384 -1.35 -8.28771 -9.65547 24.8051 -1.355 -8.35781 -9.73872 24.8777 -1.36 -8.4284 -9.8195 24.956 -1.365 -8.49929 -9.89752 25.04 -1.37 -8.57022 -9.97247 25.1295 -1.375 -8.64098 -10.0441 25.2244 -1.38 -8.7113 -10.112 25.3246 -1.385 -8.7813 -10.1761 25.43 -1.39 -8.85107 -10.2364 25.5403 -1.395 -8.92034 -10.2924 25.6553 -1.4 -8.98888 -10.3438 25.7746 -1.405 -9.05646 -10.3903 25.8978 -1.41 -9.12283 -10.4316 26.0246 -1.415 -9.18779 -10.4675 26.1547 -1.42 -9.25111 -10.4976 26.2877 -1.425 -9.31259 -10.5219 26.4232 -1.43 -9.37202 -10.54 26.5608 -1.435 -9.42922 -10.5519 26.7002 -1.44 -9.48398 -10.5574 26.8409 -1.445 -9.53614 -10.5565 26.9826 -1.45 -9.58551 -10.549 27.1248 -1.455 -9.63192 -10.5349 27.2671 -1.46 -9.67522 -10.5142 27.4091 -1.465 -9.71526 -10.4868 27.5504 -1.47 -9.75187 -10.4529 27.6904 -1.475 -9.78493 -10.4124 27.8287 -1.48 -9.81429 -10.3655 27.9649 -1.485 -9.83983 -10.3123 28.0985 -1.49 -9.86143 -10.2529 28.229 -1.495 -9.87897 -10.1874 28.3559 -1.5 -9.89235 -10.1161 28.4787 -1.505 -9.90146 -10.0391 28.5969 -1.51 -9.90622 -9.95681 28.71 -1.515 -9.90654 -9.86928 28.8175 -1.52 -9.90239 -9.77677 28.919 -1.525 -9.89383 -9.67979 29.0142 -1.53 -9.88088 -9.57885 29.1028 -1.535 -9.86361 -9.47443 29.1846 -1.54 -9.84208 -9.367 29.2593 -1.545 -9.81636 -9.25703 29.3267 -1.55 -9.78654 -9.14497 29.3867 -1.555 -9.75272 -9.03124 29.4391 -1.56 -9.71501 -8.91627 29.4838 -1.565 -9.67354 -8.80046 29.5207 -1.57 -9.62843 -8.68422 29.5498 -1.575 -9.57984 -8.56792 29.5709 -1.58 -9.5279 -8.45193 29.5842 -1.585 -9.4728 -8.33661 29.5896 -1.59 -9.41471 -8.22229 29.5872 -1.595 -9.35382 -8.10931 29.577 -1.6 -9.29032 -7.99797 29.5592 -1.605 -9.22444 -7.88858 29.5338 -1.61 -9.15639 -7.78143 29.5011 -1.615 -9.0864 -7.6768 29.4612 -1.62 -9.01473 -7.57493 29.4143 -1.625 -8.94162 -7.47609 29.3606 -1.63 -8.86735 -7.3805 29.3005 -1.635 -8.7922 -7.28839 29.2342 -1.64 -8.71645 -7.19996 29.162 -1.645 -8.64037 -7.11542 29.0843 -1.65 -8.56404 -7.03495 29.0016 -1.655 -8.48764 -6.95875 28.9143 -1.66 -8.4114 -6.88696 28.8225 -1.665 -8.33552 -6.81974 28.7264 -1.67 -8.26021 -6.75719 28.6264 -1.675 -8.18565 -6.69942 28.5227 -1.68 -8.11204 -6.64652 28.4155 -1.685 -8.03955 -6.59855 28.3051 -1.69 -7.96837 -6.55556 28.1917 -1.695 -7.89866 -6.51758 28.0757 -1.7 -7.83059 -6.48463 27.9574 -1.705 -7.7643 -6.45669 27.837 -1.71 -7.69995 -6.43374 27.7148 -1.715 -7.63768 -6.41574 27.5911 -1.72 -7.57762 -6.40262 27.4663 -1.725 -7.51991 -6.39431 27.3406 -1.73 -7.46467 -6.39071 27.2144 -1.735 -7.412 -6.3917 27.088 -1.74 -7.36203 -6.39714 26.9618 -1.745 -7.31485 -6.40689 26.836 -1.75 -7.27056 -6.42077 26.7111 -1.755 -7.22925 -6.4386 26.5874 -1.76 -7.191 -6.46016 26.4652 -1.765 -7.15589 -6.48523 26.3449 -1.77 -7.12384 -6.51386 26.2264 -1.775 -7.09479 -6.54617 26.1096 -1.78 -7.06878 -6.5821 25.9945 -1.785 -7.04586 -6.62161 25.8815 -1.79 -7.02606 -6.66462 25.7707 -1.795 -7.00941 -6.71109 25.6623 -1.8 -6.99593 -6.76095 25.5566 -1.805 -6.98563 -6.81411 25.4536 -1.81 -6.97853 -6.87051 25.3537 -1.815 -6.97463 -6.93006 25.2569 -1.82 -6.97393 -6.99267 25.1635 -1.825 -6.97643 -7.05825 25.0736 -1.83 -6.98211 -7.12671 24.9874 -1.835 -6.99096 -7.19794 24.905 -1.84 -7.00295 -7.27184 24.8267 -1.845 -7.01805 -7.34829 24.7525 -1.85 -7.03623 -7.42718 24.6826 -1.855 -7.05745 -7.50838 24.6172 -1.86 -7.08166 -7.59178 24.5564 -1.865 -7.10881 -7.67723 24.5003 -1.87 -7.13884 -7.76461 24.4491 -1.875 -7.1717 -7.85377 24.4029 -1.88 -7.2073 -7.94456 24.3618 -1.885 -7.24558 -8.03684 24.3259 -1.89 -7.2864 -8.1305 24.2954 -1.895 -7.32956 -8.22557 24.27 -1.9 -7.37503 -8.3219 24.2499 -1.905 -7.42281 -8.41928 24.2354 -1.91 -7.4729 -8.51754 24.2267 -1.915 -7.52528 -8.61647 24.2239 -1.92 -7.57989 -8.71587 24.2273 -1.925 -7.63671 -8.81552 24.2368 -1.93 -7.69566 -8.91522 24.2527 -1.935 -7.75668 -9.01474 24.275 -1.94 -7.81969 -9.11386 24.3037 -1.945 -7.8846 -9.21234 24.3391 -1.95 -7.95129 -9.30995 24.381 -1.955 -8.01965 -9.40645 24.4295 -1.96 -8.08955 -9.50157 24.4845 -1.965 -8.16085 -9.59508 24.5461 -1.97 -8.23341 -9.6867 24.6142 -1.975 -8.30705 -9.77618 24.6886 -1.98 -8.38161 -9.86324 24.7694 -1.985 -8.45689 -9.9476 24.8563 -1.99 -8.5327 -10.029 24.9493 -1.995 -8.60883 -10.1071 25.0482 -2 -8.68505 -10.1816 25.1528 -2.005 -8.76114 -10.2523 25.2629 -2.01 -8.83684 -10.3189 25.3783 -2.015 -8.91191 -10.3809 25.4988 -2.02 -8.98608 -10.4382 25.624 -2.025 -9.05906 -10.4903 25.7537 -2.03 -9.13056 -10.537 25.8876 -2.035 -9.20032 -10.5779 26.0254 -2.04 -9.26862 -10.6128 26.167 -2.045 -9.33536 -10.6415 26.3121 -2.05 -9.40023 -10.6639 26.4599 -2.055 -9.46296 -10.6797 26.61 -2.06 -9.52325 -10.6888 26.7618 -2.065 -9.58086 -10.6911 26.9147 -2.07 -9.63554 -10.6865 27.0682 -2.075 -9.68707 -10.675 27.2218 -2.08 -9.73523 -10.6564 27.3748 -2.085 -9.77984 -10.6309 27.5269 -2.09 -9.82072 -10.5984 27.6776 -2.095 -9.8577 -10.5589 27.8262 -2.1 -9.89065 -10.5125 27.9724 -2.105 -9.91943 -10.4594 28.1157 -2.11 -9.94393 -10.3996 28.2556 -2.115 -9.96406 -10.3333 28.3917 -2.12 -9.97974 -10.2607 28.5235 -2.125 -9.99091 -10.1819 28.6506 -2.13 -9.99751 -10.0973 28.7726 -2.135 -9.99952 -10.007 28.8892 -2.14 -9.99693 -9.91128 28.9998 -2.145 -9.98974 -9.81054 29.1042 -2.15 -9.97797 -9.70508 29.2019 -2.155 -9.96164 -9.59526 29.2926 -2.16 -9.94082 -9.48146 29.3759 -2.165 -9.9155 -9.36418 29.4515 -2.17 -9.88554 -9.24424 29.5191 -2.175 -9.85107 -9.12215 29.5785 -2.18 -9.81225 -8.99838 29.6296 -2.185 -9.76927 -8.8734 29.6723 -2.19 -9.7223 -8.74766 29.7065 -2.195 -9.67152 -8.62158 29.7321 -2.2 -9.61714 -8.4956 29.7492 -2.205 -9.55933 -8.37011 29.7577 -2.21 -9.4983 -8.24552 29.7577 -2.215 -9.43426 -8.12221 29.7493 -2.22 -9.36742 -8.00054 29.7325 -2.225 -9.29798 -7.88089 29.7075 -2.23 -9.22617 -7.76358 29.6744 -2.235 -9.15221 -7.64896 29.6335 -2.24 -9.07634 -7.53734 29.5849 -2.245 -8.99878 -7.42904 29.5289 -2.25 -8.91977 -7.32433 29.4657 -2.255 -8.83957 -7.22352 29.3958 -2.26 -8.75842 -7.12685 29.3193 -2.265 -8.67657 -7.0346 29.2367 -2.27 -8.59429 -6.94699 29.1484 -2.275 -8.51183 -6.86427 29.0548 -2.28 -8.42947 -6.78665 28.9564 -2.285 -8.34748 -6.71433 28.8535 -2.29 -8.26614 -6.6475 28.7468 -2.295 -8.18571 -6.58572 28.6365 -2.3 -8.10637 -6.52879 28.5228 -2.305 -8.02831 -6.47681 28.406 -2.31 -7.9517 -6.42987 28.2863 -2.315 -7.87669 -6.38803 28.164 -2.32 -7.80345 -6.35136 28.0394 -2.325 -7.73213 -6.31988 27.9128 -2.33 -7.66287 -6.29361 27.7845 -2.335 -7.59582 -6.27255 27.6546 -2.34 -7.53109 -6.2567 27.5236 -2.345 -7.46883 -6.24601 27.3916 -2.35 -7.40915 -6.24043 27.259 -2.355 -7.35215 -6.23991 27.1261 -2.36 -7.29796 -6.24434 26.993 -2.365 -7.24665 -6.25364 26.8601 -2.37 -7.19834 -6.26769 26.7277 -2.375 -7.1531 -6.28634 26.596 -2.38 -7.11102 -6.30945 26.4654 -2.385 -7.07216 -6.33685 26.336 -2.39 -7.0366 -6.36834 26.2083 -2.395 -7.0044 -6.40374 26.0824 -2.4 -6.9756 -6.44281 25.9586 -2.405 -6.95026 -6.48532 25.8373 -2.41 -6.92841 -6.53102 25.7186 -2.415 -6.9101 -6.57963 25.603 -2.42 -6.89518 -6.63124 25.4903 -2.425 -6.88348 -6.68618 25.3804 -2.43 -6.87502 -6.74439 25.2735 -2.435 -6.86984 -6.80581 25.1698 -2.44 -6.86796 -6.87038 25.0696 -2.445 -6.86939 -6.93803 24.9729 -2.45 -6.87414 -7.00868 24.88 -2.455 -6.8822 -7.08224 24.791 -2.46 -6.89357 -7.15863 24.7062 -2.465 -6.90823 -7.23776 24.6256 -2.47 -6.92617 -7.31952 24.5495 -2.475 -6.94735 -7.40381 24.478 -2.48 -6.97175 -7.49051 24.4113 -2.485 -6.99933 -7.57952 24.3495 -2.49 -7.03002 -7.67071 24.2928 -2.495 -7.06379 -7.76394 24.2413 -2.5 -7.10056 -7.85909 24.1952 -2.505 -7.14028 -7.95602 24.1545 -2.51 -7.18286 -8.05458 24.1195 -2.515 -7.22823 -8.15462 24.0902 -2.52 -7.2763 -8.25598 24.0668 -2.525 -7.32697 -8.3585 24.0494 -2.53 -7.38013 -8.46202 24.0381 -2.535 -7.43569 -8.56635 24.033 -2.54 -7.49353 -8.67133 24.0343 -2.545 -7.55347 -8.7769 24.0417 -2.55 -7.61529 -8.88317 24.0552 -2.555 -7.67898 -8.9898 24.0748 -2.56 -7.74448 -9.09645 24.1007 -2.565 -7.81177 -9.20279 24.1332 -2.57 -7.88078 -9.30847 24.1724 -2.575 -7.95144 -9.41316 24.2185 -2.58 -8.02368 -9.51654 24.2714 -2.585 -8.09739 -9.61827 24.3313 -2.59 -8.17247 -9.71804 24.3983 -2.595 -8.2488 -9.81553 24.4722 -2.6 -8.32625 -9.91043 24.5531 -2.605 -8.40467 -10.0024 24.6409 -2.61 -8.48392 -10.0912 24.7355 -2.615 -8.56381 -10.1765 24.8368 -2.62 -8.64417 -10.258 24.9446 -2.625 -8.7248 -10.3354 25.0587 -2.63 -8.8055 -10.4084 25.179 -2.635 -8.88605 -10.4767 25.3052 -2.64 -8.96621 -10.5401 25.4369 -2.645 -9.04575 -10.5983 25.574 -2.65 -9.12441 -10.6509 25.716 -2.655 -9.20191 -10.6978 25.8625 -2.66 -9.27798 -10.7387 26.0133 -2.665 -9.35233 -10.7733 26.1678 -2.67 -9.42465 -10.8014 26.3255 -2.675 -9.49461 -10.8226 26.4861 -2.68 -9.5619 -10.8368 26.6489 -2.685 -9.62616 -10.8437 26.8134 -2.69 -9.68705 -10.8431 26.979 -2.695 -9.74418 -10.8347 27.1452 -2.7 -9.79723 -10.8183 27.3112 -2.705 -9.84663 -10.7925 27.4772 -2.71 -9.8924 -10.7575 27.6425 -2.715 -9.9343 -10.7138 27.8063 -2.72 -9.97209 -10.662 27.9679 -2.725 -10.0056 -10.6026 28.1265 -2.73 -10.0345 -10.5363 28.2814 -2.735 -10.0588 -10.4635 28.432 -2.74 -10.0784 -10.3848 28.5776 -2.745 -10.093 -10.3005 28.7177 -2.75 -10.1026 -10.2112 28.8518 -2.755 -10.1072 -10.1173 28.9794 -2.76 -10.1067 -10.0191 29.1001 -2.765 -10.1011 -9.91718 29.2135 -2.77 -10.0904 -9.81173 29.3192 -2.775 -10.0747 -9.70313 29.417 -2.78 -10.054 -9.59171 29.5067 -2.785 -10.0283 -9.47774 29.5879 -2.79 -9.99787 -9.3615 29.6606 -2.795 -9.96276 -9.24322 29.7247 -2.8 -9.92313 -9.12314 29.78 -2.805 -9.87917 -9.00144 29.8266 -2.81 -9.83109 -8.87829 29.8645 -2.815 -9.77911 -8.75386 29.8937 -2.82 -9.72348 -8.62827 29.9144 -2.825 -9.66448 -8.50163 29.9267 -2.83 -9.60241 -8.37401 29.9307 -2.835 -9.53761 -8.24548 29.9269 -2.84 -9.47041 -8.11608 29.9153 -2.845 -9.40103 -7.98626 29.8964 -2.85 -9.32887 -7.85861 29.8699 -2.855 -9.25408 -7.73382 29.8358 -2.86 -9.17695 -7.61221 29.7942 -2.865 -9.09777 -7.49404 29.745 -2.87 -9.0168 -7.37958 29.6883 -2.875 -8.93432 -7.26908 29.6242 -2.88 -8.85061 -7.16278 29.5529 -2.885 -8.76593 -7.06088 29.4745 -2.89 -8.68053 -6.96358 29.3892 -2.895 -8.59466 -6.87106 29.2974 -2.9 -8.50859 -6.78349 29.1991 -2.905 -8.42254 -6.701 29.0948 -2.91 -8.33676 -6.62374 28.9847 -2.915 -8.25149 -6.55181 28.8693 -2.92 -8.16695 -6.4853 28.7488 -2.925 -8.08336 -6.4243 28.6238 -2.93 -8.00095 -6.36886 28.4947 -2.935 -7.91993 -6.31903 28.3619 -2.94 -7.84051 -6.27484 28.2261 -2.945 -7.76289 -6.23628 28.0877 -2.95 -7.68727 -6.20337 27.9473 -2.955 -7.61385 -6.17607 27.8056 -2.96 -7.54281 -6.15434 27.6632 -2.965 -7.47435 -6.13813 27.5208 -2.97 -7.40863 -6.12735 27.379 -2.975 -7.34584 -6.12192 27.2387 -2.98 -7.28611 -6.12162 27.1002 -2.985 -7.2294 -6.12595 26.962 -2.99 -7.17578 -6.1348 26.8241 -2.995 -7.12532 -6.14815 26.6868 -3 -7.07808 -6.16594 26.5505 -3.005 -7.03412 -6.18813 26.4152 -3.01 -6.99349 -6.21465 26.2812 -3.015 -6.95624 -6.24544 26.1488 -3.02 -6.92242 -6.28042 26.0182 -3.025 -6.89204 -6.31954 25.8896 -3.03 -6.86516 -6.3627 25.7632 -3.035 -6.84179 -6.40981 25.6393 -3.04 -6.82195 -6.46078 25.518 -3.045 -6.80566 -6.51553 25.3995 -3.05 -6.79292 -6.57393 25.284 -3.055 -6.78374 -6.63588 25.1718 -3.06 -6.77811 -6.70127 25.063 -3.065 -6.77603 -6.76997 24.9578 -3.07 -6.77747 -6.84185 24.8563 -3.075 -6.78243 -6.91679 24.7588 -3.08 -6.79088 -6.99465 24.6654 -3.085 -6.80278 -7.07527 24.5763 -3.09 -6.81809 -7.15851 24.4915 -3.095 -6.83679 -7.24422 24.4114 -3.1 -6.85881 -7.33224 24.3359 -3.105 -6.88396 -7.42246 24.2653 -3.11 -6.91182 -7.51498 24.1993 -3.115 -6.94243 -7.60975 24.1382 -3.12 -6.97588 -7.70667 24.0823 -3.125 -7.01222 -7.80565 24.0318 -3.13 -7.0515 -7.90656 23.9869 -3.135 -7.09376 -8.00929 23.9478 -3.14 -7.139 -8.1137 23.9148 -3.145 -7.18724 -8.21964 23.8881 -3.15 -7.23845 -8.32696 23.8677 -3.155 -7.29261 -8.4355 23.8538 -3.16 -7.34968 -8.54506 23.8467 -3.165 -7.4096 -8.65547 23.8463 -3.17 -7.47231 -8.76651 23.8528 -3.175 -7.53772 -8.87798 23.8664 -3.18 -7.60572 -8.98965 23.887 -3.185 -7.67621 -9.10129 23.9147 -3.19 -7.74905 -9.21264 23.9496 -3.195 -7.82411 -9.32345 23.9918 -3.2 -7.90122 -9.43345 24.0412 -3.205 -7.98021 -9.54237 24.0978 -3.21 -8.0609 -9.6499 24.1617 -3.215 -8.14309 -9.75574 24.2327 -3.22 -8.22655 -9.85958 24.311 -3.225 -8.31106 -9.9611 24.3963 -3.23 -8.39637 -10.06 24.4886 -3.235 -8.48223 -10.1558 24.5879 -3.24 -8.56836 -10.2483 24.6941 -3.245 -8.65447 -10.337 24.807 -3.25 -8.74026 -10.4216 24.9264 -3.255 -8.82541 -10.5017 25.0523 -3.26 -8.90959 -10.5769 25.1846 -3.265 -8.99275 -10.6468 25.3229 -3.27 -9.07531 -10.7115 25.4671 -3.275 -9.15698 -10.7704 25.6165 -3.28 -9.23746 -10.8232 25.7709 -3.285 -9.31642 -10.8694 25.9296 -3.29 -9.39357 -10.9087 26.0921 -3.295 -9.46863 -10.9408 26.258 -3.3 -9.54132 -10.9655 26.4267 -3.305 -9.61136 -10.9824 26.5978 -3.31 -9.67852 -10.9914 26.7706 -3.315 -9.74253 -10.9923 26.9447 -3.32 -9.80318 -10.985 27.1196 -3.325 -9.86023 -10.9694 27.2946 -3.33 -9.91347 -10.9454 27.4692 -3.335 -9.96271 -10.9131 27.6428 -3.34 -10.0078 -10.8725 27.815 -3.345 -10.0484 -10.8235 27.9851 -3.35 -10.0845 -10.7664 28.1525 -3.355 -10.116 -10.7012 28.3167 -3.36 -10.1425 -10.628 28.477 -3.365 -10.1641 -10.5472 28.6329 -3.37 -10.1805 -10.459 28.7838 -3.375 -10.1918 -10.3636 28.929 -3.38 -10.1977 -10.2613 29.0679 -3.385 -10.1981 -10.1525 29.1999 -3.39 -10.1931 -10.0375 29.3243 -3.395 -10.1824 -9.91675 29.4407 -3.4 -10.1662 -9.79092 29.5485 -3.405 -10.1446 -9.66067 29.6477 -3.41 -10.1177 -9.52665 29.7378 -3.415 -10.0855 -9.3895 29.8186 -3.42 -10.0482 -9.24981 29.8901 -3.425 -10.006 -9.10818 29.9519 -3.43 -9.95894 -8.96517 30.0041 -3.435 -9.90725 -8.82134 30.0465 -3.44 -9.85108 -8.67719 30.079 -3.445 -9.79063 -8.53325 30.1017 -3.45 -9.7261 -8.38999 30.1146 -3.455 -9.65772 -8.24788 30.1177 -3.46 -9.58572 -8.10736 30.1111 -3.465 -9.51033 -7.96885 30.0949 -3.47 -9.43182 -7.83275 30.0694 -3.475 -9.35047 -7.69945 30.0346 -3.48 -9.26654 -7.56931 29.9908 -3.485 -9.18035 -7.44266 29.9383 -3.49 -9.09221 -7.31983 29.8774 -3.495 -9.00243 -7.20112 29.8084 -3.5 -8.91136 -7.08679 29.7316 -3.505 -8.81935 -6.97712 29.6476 -3.51 -8.72677 -6.87234 29.5567 -3.515 -8.63387 -6.77266 29.4594 -3.52 -8.54081 -6.67825 29.3565 -3.525 -8.44785 -6.5893 29.2481 -3.53 -8.35527 -6.50595 29.1346 -3.535 -8.2633 -6.42834 29.0163 -3.54 -8.1722 -6.35658 28.8935 -3.545 -8.0822 -6.29074 28.7666 -3.55 -7.99353 -6.23089 28.6359 -3.555 -7.90639 -6.17706 28.5016 -3.56 -7.821 -6.12928 28.3643 -3.565 -7.73755 -6.08753 28.2241 -3.57 -7.65624 -6.05178 28.0815 -3.575 -7.57723 -6.02199 27.9369 -3.58 -7.50071 -5.99807 27.7904 -3.585 -7.42682 -5.97992 27.6427 -3.59 -7.35573 -5.96742 27.4939 -3.595 -7.28758 -5.96043 27.3446 -3.6 -7.22249 -5.95878 27.195 -3.605 -7.16059 -5.96228 27.0456 -3.61 -7.10199 -5.97071 26.8967 -3.615 -7.04681 -5.98384 26.7487 -3.62 -6.99513 -6.00141 26.6021 -3.625 -6.94705 -6.02314 26.4573 -3.63 -6.90259 -6.04886 26.3144 -3.635 -6.86163 -6.07887 26.1731 -3.64 -6.82422 -6.11311 26.0335 -3.645 -6.79038 -6.15153 25.896 -3.65 -6.76015 -6.19404 25.7606 -3.655 -6.73356 -6.24057 25.6276 -3.66 -6.71064 -6.29104 25.4973 -3.665 -6.69139 -6.34537 25.3697 -3.67 -6.67584 -6.40347 25.2452 -3.675 -6.66399 -6.46526 25.1239 -3.68 -6.65584 -6.53064 25.0061 -3.685 -6.65139 -6.59953 24.8918 -3.69 -6.65063 -6.67182 24.7813 -3.695 -6.65354 -6.74742 24.6748 -3.7 -6.6601 -6.82624 24.5724 -3.705 -6.67029 -6.90816 24.4743 -3.71 -6.68407 -6.99308 24.3808 -3.715 -6.70142 -7.0809 24.2919 -3.72 -6.72228 -7.1715 24.2078 -3.725 -6.7466 -7.26477 24.1287 -3.73 -6.77435 -7.3606 24.0548 -3.735 -6.80545 -7.45886 23.9862 -3.74 -6.83984 -7.55944 23.923 -3.745 -6.87743 -7.66221 23.8654 -3.75 -6.91796 -7.76716 23.8132 -3.755 -6.9614 -7.87416 23.7668 -3.76 -7.00778 -7.9831 23.7263 -3.765 -7.05712 -8.09384 23.6921 -3.77 -7.10942 -8.20623 23.6643 -3.775 -7.16467 -8.32009 23.6431 -3.78 -7.22283 -8.43526 23.6287 -3.785 -7.28387 -8.55155 23.6213 -3.79 -7.34773 -8.66875 23.6211 -3.795 -7.41436 -8.78667 23.6281 -3.8 -7.48367 -8.90506 23.6426 -3.805 -7.55557 -9.0237 23.6645 -3.81 -7.62995 -9.14234 23.694 -3.815 -7.70669 -9.26072 23.7312 -3.82 -7.78566 -9.37857 23.776 -3.825 -7.86671 -9.49561 23.8286 -3.83 -7.94968 -9.61154 23.8889 -3.835 -8.03441 -9.72606 23.957 -3.84 -8.1207 -9.83884 24.0328 -3.845 -8.20835 -9.94956 24.1162 -3.85 -8.29715 -10.0579 24.2073 -3.855 -8.38688 -10.1634 24.3059 -3.86 -8.47729 -10.2658 24.4119 -3.865 -8.56812 -10.3648 24.5253 -3.87 -8.65913 -10.4598 24.6459 -3.875 -8.75001 -10.5505 24.7735 -3.88 -8.84049 -10.6365 24.9081 -3.885 -8.93025 -10.7174 25.0494 -3.89 -9.01945 -10.793 25.1972 -3.895 -9.10803 -10.8629 25.3514 -3.9 -9.19564 -10.9268 25.5112 -3.905 -9.28196 -10.984 25.6764 -3.91 -9.36665 -11.0341 25.8462 -3.915 -9.44941 -11.0768 26.0203 -3.92 -9.52993 -11.1118 26.1981 -3.925 -9.60793 -11.1386 26.3791 -3.93 -9.68311 -11.1571 26.5627 -3.935 -9.75521 -11.167 26.7483 -3.94 -9.82397 -11.1681 26.9354 -3.945 -9.88913 -11.1603 27.1234 -3.95 -9.95046 -11.1434 27.3117 -3.955 -10.0077 -11.1175 27.4997 -3.96 -10.0607 -11.0825 27.6868 -3.965 -10.1091 -11.0384 27.8723 -3.97 -10.1529 -10.9853 28.0556 -3.975 -10.1918 -10.9232 28.236 -3.98 -10.2256 -10.8524 28.413 -3.985 -10.2541 -10.7729 28.5857 -3.99 -10.2772 -10.6851 28.7536 -3.995 -10.2948 -10.5892 28.916 -4 -10.3067 -10.4854 29.072 -4.005 -10.3127 -10.3743 29.2211 -4.01 -10.3128 -10.2559 29.3624 -4.015 -10.3069 -10.1307 29.4953 -4.02 -10.295 -9.99937 29.6194 -4.025 -10.2772 -9.8627 29.7342 -4.03 -10.2535 -9.72142 29.8396 -4.035 -10.224 -9.57625 29.9351 -4.04 -10.189 -9.42787 30.0207 -4.045 -10.1484 -9.27695 30.096 -4.05 -10.1025 -9.12413 30.1609 -4.055 -10.0514 -8.97002 30.2153 -4.06 -9.99523 -8.81521 30.259 -4.065 -9.93427 -8.66027 30.2922 -4.07 -9.86869 -8.50574 30.3147 -4.075 -9.79874 -8.35214 30.3265 -4.08 -9.72464 -8.19995 30.3278 -4.085 -9.64666 -8.04965 30.3187 -4.09 -9.56508 -7.90167 30.2993 -4.095 -9.4802 -7.75643 30.2698 -4.1 -9.39231 -7.61432 30.2304 -4.105 -9.30176 -7.47571 30.1814 -4.11 -9.20888 -7.34095 30.1231 -4.115 -9.11403 -7.21035 30.0558 -4.12 -9.01759 -7.0842 29.9799 -4.125 -8.91995 -6.96277 29.8959 -4.13 -8.82151 -6.84632 29.8041 -4.135 -8.72244 -6.73522 29.7055 -4.14 -8.62296 -6.62979 29.6004 -4.145 -8.52336 -6.5302 29.4892 -4.15 -8.42394 -6.43663 29.3722 -4.155 -8.32498 -6.34923 29.2498 -4.16 -8.22677 -6.2681 29.1224 -4.165 -8.12955 -6.19334 28.9902 -4.17 -8.03358 -6.125 28.8537 -4.175 -7.9391 -6.06314 28.7132 -4.18 -7.84635 -6.00776 28.5692 -4.185 -7.75553 -5.95885 28.4219 -4.19 -7.66687 -5.91637 28.2718 -4.195 -7.58056 -5.88025 28.1192 -4.2 -7.4968 -5.85041 27.9646 -4.205 -7.41574 -5.82672 27.8084 -4.21 -7.33758 -5.80905 27.651 -4.215 -7.26246 -5.79722 27.4929 -4.22 -7.19053 -5.79104 27.3343 -4.225 -7.12192 -5.7903 27.1758 -4.23 -7.05677 -5.79473 27.0179 -4.235 -6.99518 -5.80408 26.8609 -4.24 -6.93726 -5.81804 26.7053 -4.245 -6.88309 -5.83637 26.5514 -4.25 -6.83257 -5.85932 26.3989 -4.255 -6.78574 -5.88687 26.2478 -4.26 -6.74263 -5.91895 26.0984 -4.265 -6.70329 -5.95547 25.9509 -4.27 -6.66775 -5.99634 25.8055 -4.275 -6.63604 -6.04148 25.6625 -4.28 -6.60817 -6.09079 25.522 -4.285 -6.58418 -6.14419 25.3842 -4.29 -6.56406 -6.20158 25.2495 -4.295 -6.54783 -6.26287 25.1179 -4.3 -6.53549 -6.32797 24.9897 -4.305 -6.52704 -6.39678 24.8651 -4.31 -6.52246 -6.4692 24.7443 -4.315 -6.52174 -6.54512 24.6273 -4.32 -6.52486 -6.62446 24.5146 -4.325 -6.53179 -6.7071 24.4061 -4.33 -6.54251 -6.79295 24.3021 -4.335 -6.55698 -6.8819 24.2028 -4.34 -6.57516 -6.97383 24.1083 -4.345 -6.597 -7.06865 24.0187 -4.35 -6.62246 -7.16623 23.9343 -4.355 -6.65146 -7.26648 23.8552 -4.36 -6.68386 -7.36929 23.7815 -4.365 -6.71943 -7.47465 23.7132 -4.37 -6.75822 -7.58247 23.6506 -4.375 -6.80027 -7.69264 23.594 -4.38 -6.84559 -7.80507 23.5435 -4.385 -6.89418 -7.91962 23.4994 -4.39 -6.94605 -8.03617 23.4619 -4.395 -7.00118 -8.15456 23.4313 -4.4 -7.05953 -8.27464 23.4076 -4.405 -7.12105 -8.39621 23.391 -4.41 -7.18569 -8.51911 23.3818 -4.415 -7.25338 -8.64311 23.3801 -4.42 -7.32404 -8.76802 23.3859 -4.425 -7.39756 -8.89359 23.3994 -4.43 -7.47383 -9.01959 23.4208 -4.435 -7.55273 -9.14575 23.4501 -4.44 -7.63413 -9.27182 23.4873 -4.445 -7.71787 -9.3975 23.5326 -4.45 -7.80379 -9.52251 23.586 -4.455 -7.89172 -9.64652 23.6476 -4.46 -7.98145 -9.76923 23.7173 -4.465 -8.0728 -9.89029 23.7952 -4.47 -8.16555 -10.0094 23.8814 -4.475 -8.25946 -10.1261 23.9756 -4.48 -8.3543 -10.2401 24.0781 -4.485 -8.44981 -10.3509 24.1886 -4.49 -8.54572 -10.4582 24.3072 -4.495 -8.64175 -10.5616 24.4338 -4.5 -8.73793 -10.6609 24.5683 -4.505 -8.83428 -10.7558 24.7103 -4.51 -8.93047 -10.8457 24.8595 -4.515 -9.0262 -10.9298 25.0158 -4.52 -9.12117 -11.0078 25.1785 -4.525 -9.21507 -11.079 25.3475 -4.53 -9.3076 -11.143 25.5222 -4.535 -9.39846 -11.1994 25.7023 -4.54 -9.48736 -11.2477 25.8872 -4.545 -9.574 -11.2875 26.0764 -4.55 -9.65811 -11.3187 26.2695 -4.555 -9.73938 -11.3408 26.4659 -4.56 -9.81755 -11.3536 26.665 -4.565 -9.89233 -11.357 26.8662 -4.57 -9.96345 -11.3508 27.0689 -4.575 -10.0306 -11.3349 27.2723 -4.58 -10.0936 -11.3091 27.4759 -4.585 -10.1521 -11.2735 27.6788 -4.59 -10.2059 -11.228 27.8805 -4.595 -10.2546 -11.1727 28.08 -4.6 -10.2981 -11.1076 28.2765 -4.605 -10.3361 -11.033 28.4694 -4.61 -10.3683 -10.9489 28.6576 -4.615 -10.3945 -10.8555 28.8404 -4.62 -10.4146 -10.7529 29.0167 -4.625 -10.4283 -10.6408 29.1859 -4.63 -10.4358 -10.5201 29.3474 -4.635 -10.437 -10.3917 29.5004 -4.64 -10.4318 -10.2564 29.6446 -4.645 -10.4202 -10.115 29.7794 -4.65 -10.4023 -9.96832 29.9044 -4.655 -10.378 -9.81713 30.0193 -4.66 -10.3475 -9.66215 30.1236 -4.665 -10.3109 -9.50407 30.2172 -4.67 -10.2683 -9.34356 30.2997 -4.675 -10.2198 -9.18125 30.371 -4.68 -10.1656 -9.01775 30.4309 -4.685 -10.1058 -8.85362 30.4793 -4.69 -10.0408 -8.68942 30.5161 -4.695 -9.97076 -8.52565 30.5414 -4.7 -9.89592 -8.36279 30.5552 -4.705 -9.8166 -8.20129 30.5575 -4.71 -9.73312 -8.04156 30.5484 -4.715 -9.64581 -7.884 30.5282 -4.72 -9.55505 -7.72896 30.4971 -4.725 -9.46124 -7.57677 30.4553 -4.73 -9.36478 -7.42771 30.4032 -4.735 -9.26613 -7.28206 30.341 -4.74 -9.16572 -7.14009 30.2693 -4.745 -9.06352 -7.00301 30.1888 -4.75 -8.95976 -6.87144 30.1002 -4.755 -8.8548 -6.74569 30.0037 -4.76 -8.74901 -6.62599 29.8997 -4.765 -8.64271 -6.51258 29.7884 -4.77 -8.53626 -6.40565 29.6704 -4.775 -8.42997 -6.30536 29.5458 -4.78 -8.32415 -6.21184 29.4152 -4.785 -8.2191 -6.12519 29.279 -4.79 -8.1151 -6.04548 29.1375 -4.795 -8.01244 -5.97274 28.9912 -4.8 -7.91137 -5.90697 28.8405 -4.805 -7.81215 -5.84816 28.686 -4.81 -7.71502 -5.79624 28.5281 -4.815 -7.6202 -5.75113 28.3673 -4.82 -7.52792 -5.7127 28.2041 -4.825 -7.43838 -5.6808 28.039 -4.83 -7.35177 -5.65526 27.8726 -4.835 -7.26828 -5.63584 27.7054 -4.84 -7.18808 -5.62232 27.5381 -4.845 -7.11132 -5.6144 27.3711 -4.85 -7.03815 -5.6118 27.2051 -4.855 -6.96864 -5.61439 27.04 -4.86 -6.90281 -5.62227 26.8754 -4.865 -6.8407 -5.63535 26.7115 -4.87 -6.7824 -5.65352 26.5485 -4.875 -6.72794 -5.67669 26.3869 -4.88 -6.67738 -5.70476 26.2267 -4.885 -6.63076 -5.73762 26.0683 -4.89 -6.58811 -5.77517 25.9119 -4.895 -6.54948 -5.81731 25.7577 -4.9 -6.51488 -5.86394 25.6059 -4.905 -6.48434 -5.91494 25.4568 -4.91 -6.45787 -5.9702 25.3105 -4.915 -6.43549 -6.02963 25.1674 -4.92 -6.41719 -6.0931 25.0275 -4.925 -6.40297 -6.1605 24.8911 -4.93 -6.39283 -6.23172 24.7584 -4.935 -6.38676 -6.30665 24.6295 -4.94 -6.38473 -6.38516 24.5047 -4.945 -6.38672 -6.46714 24.384 -4.95 -6.39271 -6.55247 24.2678 -4.955 -6.40266 -6.64103 24.1561 -4.96 -6.41652 -6.73269 24.049 -4.965 -6.43417 -6.82737 23.9468 -4.97 -6.45534 -6.92511 23.8496 -4.975 -6.48006 -7.02587 23.7575 -4.98 -6.50837 -7.12959 23.6708 -4.985 -6.54031 -7.2362 23.5897 -4.99 -6.5759 -7.34562 23.5145 -4.995 -6.61516 -7.45777 23.4452 -5 -6.6581 -7.57253 23.3823 -5.005 -6.70469 -7.68979 23.3258 -5.01 -6.75491 -7.80941 23.2759 -5.015 -6.80873 -7.93127 23.2328 -5.02 -6.8661 -8.0552 23.1968 -5.025 -6.92697 -8.18105 23.1679 -5.03 -6.99125 -8.30863 23.1463 -5.035 -7.05887 -8.43775 23.1322 -5.04 -7.12972 -8.56822 23.1258 -5.045 -7.20371 -8.69983 23.1271 -5.05 -7.28072 -8.83234 23.1364 -5.055 -7.3606 -8.96553 23.1537 -5.06 -7.44322 -9.09914 23.1793 -5.065 -7.52842 -9.23291 23.2131 -5.07 -7.61603 -9.36658 23.2554 -5.075 -7.70588 -9.49985 23.3062 -5.08 -7.79777 -9.63244 23.3656 -5.085 -7.89149 -9.76403 23.4337 -5.09 -7.98684 -9.8943 23.5107 -5.095 -8.08358 -10.0229 23.5965 -5.1 -8.18147 -10.1496 23.6913 -5.105 -8.28054 -10.2743 23.7949 -5.11 -8.38077 -10.3968 23.907 -5.115 -8.48194 -10.5165 24.0277 -5.12 -8.58381 -10.6324 24.1567 -5.125 -8.68613 -10.7441 24.2941 -5.13 -8.78866 -10.8507 24.4397 -5.135 -8.89113 -10.9518 24.5932 -5.14 -8.99329 -11.0467 24.7544 -5.145 -9.09486 -11.1349 24.923 -5.15 -9.19558 -11.2159 25.0987 -5.155 -9.29515 -11.2892 25.2812 -5.16 -9.3933 -11.3543 25.4699 -5.165 -9.48973 -11.411 25.6646 -5.17 -9.58414 -11.4587 25.8646 -5.175 -9.67623 -11.4973 26.0694 -5.18 -9.76568 -11.5263 26.2785 -5.185 -9.85218 -11.5455 26.4913 -5.19 -9.9354 -11.5548 26.707 -5.195 -10.015 -11.5538 26.9251 -5.2 -10.0907 -11.5426 27.1446 -5.205 -10.1621 -11.5208 27.365 -5.21 -10.2288 -11.4886 27.5853 -5.215 -10.2906 -11.4457 27.8047 -5.22 -10.347 -11.3923 28.0222 -5.225 -10.3977 -11.3283 28.237 -5.23 -10.4423 -11.2537 28.448 -5.235 -10.4805 -11.1688 28.6542 -5.24 -10.5118 -11.0733 28.8546 -5.245 -10.5366 -10.9665 29.0483 -5.25 -10.5548 -10.8489 29.2345 -5.255 -10.5662 -10.7218 29.4127 -5.26 -10.5708 -10.5861 29.5821 -5.265 -10.5686 -10.4429 29.7422 -5.27 -10.5596 -10.2932 29.8924 -5.275 -10.5436 -10.1379 30.0322 -5.28 -10.5209 -9.97779 30.1612 -5.285 -10.4914 -9.81373 30.2791 -5.29 -10.4553 -9.6465 30.3854 -5.295 -10.4126 -9.4768 30.4799 -5.3 -10.3636 -9.30532 30.5623 -5.305 -10.3083 -9.13268 30.6326 -5.31 -10.2471 -8.95946 30.6904 -5.315 -10.1801 -8.78618 30.7359 -5.32 -10.1076 -8.61334 30.7689 -5.325 -10.0299 -8.44137 30.7896 -5.33 -9.94728 -8.27065 30.7978 -5.335 -9.86015 -8.10152 30.7939 -5.34 -9.76886 -7.93428 30.7779 -5.345 -9.67381 -7.76916 30.7501 -5.35 -9.57543 -7.60637 30.7109 -5.355 -9.47419 -7.44605 30.6604 -5.36 -9.37056 -7.28829 30.5992 -5.365 -9.26501 -7.13334 30.5277 -5.37 -9.15732 -6.98336 30.4467 -5.375 -9.0477 -6.83927 30.3567 -5.38 -8.93656 -6.70138 30.258 -5.385 -8.82431 -6.56997 30.151 -5.39 -8.71131 -6.4453 30.0362 -5.395 -8.59795 -6.32757 29.9138 -5.4 -8.48457 -6.21696 29.7843 -5.405 -8.37153 -6.11363 29.6481 -5.41 -8.25914 -6.01766 29.5058 -5.415 -8.14772 -5.92914 29.3576 -5.42 -8.03758 -5.8481 29.2042 -5.425 -7.92901 -5.77454 29.046 -5.43 -7.82229 -5.70842 28.8836 -5.435 -7.71768 -5.64969 28.7174 -5.44 -7.61543 -5.59823 28.548 -5.445 -7.51578 -5.5539 28.376 -5.45 -7.41895 -5.51652 28.202 -5.455 -7.32516 -5.4859 28.0266 -5.46 -7.23461 -5.46177 27.8504 -5.465 -7.14749 -5.44386 27.6739 -5.47 -7.06396 -5.43185 27.498 -5.475 -6.98417 -5.42545 27.323 -5.48 -6.90816 -5.42474 27.1482 -5.485 -6.83598 -5.42965 26.9739 -5.49 -6.76772 -5.44007 26.8001 -5.495 -6.70343 -5.45588 26.6274 -5.5 -6.64316 -5.47697 26.4558 -5.505 -6.58698 -5.50322 26.2856 -5.51 -6.53491 -5.53451 26.1172 -5.515 -6.48702 -5.57072 25.9507 -5.52 -6.44331 -5.61175 25.7864 -5.525 -6.40384 -5.65746 25.6245 -5.53 -6.36861 -5.70775 25.4653 -5.535 -6.33764 -5.76249 25.3089 -5.54 -6.31095 -5.82156 25.1556 -5.545 -6.28853 -5.88485 25.0056 -5.55 -6.2704 -5.95222 24.859 -5.555 -6.25653 -6.02356 24.7161 -5.56 -6.24692 -6.09875 24.5771 -5.565 -6.24155 -6.17765 24.442 -5.57 -6.24039 -6.26016 24.3112 -5.575 -6.24342 -6.34613 24.1847 -5.58 -6.25059 -6.43546 24.0627 -5.585 -6.26178 -6.52805 23.9454 -5.59 -6.2767 -6.62398 23.8328 -5.595 -6.29538 -6.72322 23.7254 -5.6 -6.31789 -6.82572 23.6231 -5.605 -6.34426 -6.93143 23.5263 -5.61 -6.37452 -7.04028 23.4352 -5.615 -6.4087 -7.15219 23.35 -5.62 -6.44679 -7.26708 23.2708 -5.625 -6.48879 -7.38484 23.198 -5.63 -6.53469 -7.50537 23.1316 -5.635 -6.58445 -7.62854 23.0719 -5.64 -6.63805 -7.75423 23.019 -5.645 -6.69542 -7.88229 22.9732 -5.65 -6.75651 -8.01257 22.9347 -5.655 -6.82124 -8.14491 22.9036 -5.66 -6.88952 -8.27914 22.88 -5.665 -6.96126 -8.41506 22.8643 -5.67 -7.03636 -8.55249 22.8565 -5.675 -7.11468 -8.69122 22.8569 -5.68 -7.1961 -8.83103 22.8655 -5.685 -7.28048 -8.9717 22.8826 -5.69 -7.36766 -9.11298 22.9083 -5.695 -7.45747 -9.25464 22.9428 -5.7 -7.54974 -9.3964 22.9862 -5.705 -7.64428 -9.53801 23.0386 -5.71 -7.74088 -9.67918 23.1003 -5.715 -7.83935 -9.81962 23.1714 -5.72 -7.93945 -9.95906 23.252 -5.725 -8.04126 -10.0976 23.3416 -5.73 -8.14468 -10.2348 23.4402 -5.735 -8.24954 -10.3698 23.548 -5.74 -8.35565 -10.502 23.6651 -5.745 -8.4628 -10.6307 23.7914 -5.75 -8.57078 -10.7552 23.9269 -5.755 -8.67936 -10.8749 24.0717 -5.76 -8.78831 -10.9893 24.2254 -5.765 -8.89737 -11.0977 24.388 -5.77 -9.00627 -11.1996 24.5593 -5.775 -9.11476 -11.2944 24.7388 -5.78 -9.22252 -11.3818 24.9263 -5.785 -9.32927 -11.4611 25.1215 -5.79 -9.43468 -11.532 25.3238 -5.795 -9.53845 -11.594 25.5327 -5.8 -9.64021 -11.6468 25.7478 -5.805 -9.73963 -11.69 25.9683 -5.81 -9.83635 -11.7232 26.1937 -5.815 -9.92998 -11.7461 26.4233 -5.82 -10.0201 -11.7584 26.6562 -5.825 -10.1064 -11.7598 26.8918 -5.83 -10.1884 -11.7502 27.129 -5.835 -10.2657 -11.7293 27.367 -5.84 -10.3379 -11.6969 27.6049 -5.845 -10.4045 -11.6528 27.8416 -5.85 -10.465 -11.5969 28.076 -5.855 -10.519 -11.5291 28.3071 -5.86 -10.5663 -11.4481 28.5339 -5.865 -10.6072 -11.3533 28.7557 -5.87 -10.6414 -11.246 28.9714 -5.875 -10.6687 -11.1273 29.1801 -5.88 -10.6889 -10.9986 29.3809 -5.885 -10.7019 -10.8608 29.5729 -5.89 -10.7075 -10.7151 29.7555 -5.895 -10.7057 -10.5624 29.9278 -5.9 -10.6965 -10.4038 30.0894 -5.905 -10.6798 -10.24 30.2395 -5.91 -10.6557 -10.0718 30.3777 -5.915 -10.6244 -9.9001 30.5037 -5.92 -10.5858 -9.72549 30.617 -5.925 -10.5401 -9.54861 30.7173 -5.93 -10.4876 -9.37004 30.8044 -5.935 -10.4284 -9.19028 30.8782 -5.94 -10.3628 -9.00977 30.9386 -5.945 -10.2911 -8.8289 30.9856 -5.95 -10.2136 -8.64798 31.0191 -5.955 -10.1307 -8.46727 31.0394 -5.96 -10.0428 -8.28697 31.0465 -5.965 -9.95024 -8.10722 31.0408 -5.97 -9.8536 -7.9281 31.0226 -5.975 -9.75335 -7.7496 30.9922 -5.98 -9.65003 -7.5717 30.9501 -5.985 -9.54409 -7.3947 30.8968 -5.99 -9.43494 -7.22216 30.8326 -5.995 -9.3228 -7.05527 30.7579 -6 -9.20815 -6.89446 30.6728 -6.005 -9.09143 -6.7401 30.5779 -6.01 -8.97308 -6.59252 30.4733 -6.015 -8.85351 -6.45202 30.3597 -6.02 -8.73315 -6.31885 30.2373 -6.025 -8.61237 -6.19322 30.1066 -6.03 -8.49157 -6.07532 29.9681 -6.035 -8.3711 -5.96527 29.8224 -6.04 -8.25134 -5.86317 29.6699 -6.045 -8.13261 -5.76907 29.5112 -6.05 -8.01524 -5.68299 29.347 -6.055 -7.89955 -5.6049 29.1777 -6.06 -7.78584 -5.53473 29.0042 -6.065 -7.67439 -5.47237 28.8269 -6.07 -7.56547 -5.41768 28.6468 -6.075 -7.45936 -5.37048 28.4643 -6.08 -7.35628 -5.33053 28.2805 -6.085 -7.25648 -5.29757 28.0959 -6.09 -7.16017 -5.27129 27.9114 -6.095 -7.06754 -5.25139 27.7275 -6.1 -6.97869 -5.23779 27.5431 -6.105 -6.89372 -5.23039 27.3586 -6.11 -6.8127 -5.22904 27.1742 -6.115 -6.73572 -5.23363 26.9902 -6.12 -6.66285 -5.24401 26.807 -6.125 -6.59416 -5.26007 26.6247 -6.13 -6.52971 -5.28166 26.4437 -6.135 -6.46954 -5.30865 26.2643 -6.14 -6.41372 -5.3409 26.0866 -6.145 -6.36227 -5.37829 25.911 -6.15 -6.31524 -5.42066 25.7377 -6.155 -6.27265 -5.46788 25.5669 -6.16 -6.23453 -5.51981 25.3988 -6.165 -6.20088 -5.5763 25.2338 -6.17 -6.17173 -5.63721 25.0718 -6.175 -6.14707 -5.7024 24.9133 -6.18 -6.12689 -5.77171 24.7583 -6.185 -6.1112 -5.84501 24.607 -6.19 -6.09997 -5.92213 24.4596 -6.195 -6.09318 -6.00294 24.3163 -6.2 -6.0908 -6.08727 24.1771 -6.205 -6.0926 -6.1751 24.0424 -6.21 -6.09826 -6.26656 23.9122 -6.215 -6.10787 -6.36163 23.7868 -6.22 -6.1215 -6.46027 23.6664 -6.225 -6.1392 -6.56243 23.5511 -6.23 -6.16102 -6.66804 23.4413 -6.235 -6.187 -6.77706 23.3369 -6.24 -6.21716 -6.88939 23.2384 -6.245 -6.25152 -7.00496 23.1458 -6.25 -6.29007 -7.12369 23.0595 -6.255 -6.3328 -7.24546 22.9794 -6.26 -6.37968 -7.37017 22.906 -6.265 -6.43069 -7.49771 22.8393 -6.27 -6.48577 -7.62796 22.7796 -6.275 -6.54486 -7.76077 22.7271 -6.28 -6.6079 -7.89601 22.6819 -6.285 -6.67478 -8.03353 22.6443 -6.29 -6.74543 -8.17317 22.6145 -6.295 -6.81972 -8.31476 22.5926 -6.3 -6.89755 -8.45813 22.579 -6.305 -6.97877 -8.6031 22.5737 -6.31 -7.06324 -8.74948 22.5769 -6.315 -7.15081 -8.89706 22.589 -6.32 -7.24131 -9.04563 22.61 -6.325 -7.33456 -9.19499 22.6402 -6.33 -7.43035 -9.3449 22.6798 -6.335 -7.5285 -9.49513 22.729 -6.34 -7.62878 -9.64543 22.7879 -6.345 -7.73098 -9.79559 22.8568 -6.35 -7.83519 -9.94558 22.9351 -6.355 -7.9414 -10.0949 23.0228 -6.36 -8.04948 -10.2428 23.1202 -6.365 -8.15926 -10.3886 23.2275 -6.37 -8.27059 -10.5317 23.3448 -6.375 -8.38326 -10.6713 23.4722 -6.38 -8.49709 -10.807 23.6097 -6.385 -8.61186 -10.9379 23.7574 -6.39 -8.72731 -11.0636 23.915 -6.395 -8.8432 -11.1835 24.0824 -6.4 -8.95926 -11.2969 24.2594 -6.405 -9.0752 -11.4034 24.4458 -6.41 -9.19072 -11.5024 24.6412 -6.415 -9.30548 -11.5933 24.8451 -6.42 -9.41916 -11.6758 25.0573 -6.425 -9.5314 -11.7493 25.277 -6.43 -9.64182 -11.8133 25.5039 -6.435 -9.75004 -11.8675 25.7371 -6.44 -9.85564 -11.9113 25.9762 -6.445 -9.95821 -11.9443 26.2202 -6.45 -10.0573 -11.9663 26.4684 -6.455 -10.1525 -11.9767 26.7199 -6.46 -10.2432 -11.9752 26.9738 -6.465 -10.329 -11.9616 27.2291 -6.47 -10.4095 -11.9354 27.4848 -6.475 -10.484 -11.8964 27.7397 -6.48 -10.552 -11.8442 27.9927 -6.485 -10.6135 -11.7769 28.2432 -6.49 -10.6687 -11.6937 28.4903 -6.495 -10.7171 -11.5962 28.7326 -6.5 -10.7584 -11.4857 28.969 -6.505 -10.7923 -11.3634 29.1983 -6.51 -10.8187 -11.2307 29.4194 -6.515 -10.8374 -11.0886 29.6313 -6.52 -10.8482 -10.9383 29.833 -6.525 -10.8509 -10.7807 30.0238 -6.53 -10.8457 -10.6168 30.203 -6.535 -10.8323 -10.4475 30.3699 -6.54 -10.811 -10.2736 30.5239 -6.545 -10.7816 -10.0957 30.6645 -6.55 -10.7445 -9.91447 30.7914 -6.555 -10.6997 -9.73057 30.9042 -6.56 -10.6473 -9.54447 31.0028 -6.565 -10.5878 -9.35659 31.087 -6.57 -10.5213 -9.16729 31.1567 -6.575 -10.4482 -8.97686 31.2121 -6.58 -10.3689 -8.7855 31.2531 -6.585 -10.2837 -8.59336 31.2801 -6.59 -10.1932 -8.4005 31.2934 -6.595 -10.0978 -8.20691 31.2932 -6.6 -9.99807 -8.01253 31.2802 -6.605 -9.89463 -7.81719 31.2548 -6.61 -9.78803 -7.62089 31.2176 -6.615 -9.67749 -7.42786 31.1685 -6.62 -9.563 -7.24027 31.1072 -6.625 -9.44508 -7.05862 31.0343 -6.63 -9.32422 -6.88337 30.9498 -6.635 -9.20091 -6.71494 30.8544 -6.64 -9.07563 -6.55371 30.7483 -6.645 -8.94883 -6.4 30.632 -6.65 -8.82096 -6.2541 30.506 -6.655 -8.69245 -6.11626 30.3707 -6.66 -8.56371 -5.98666 30.2268 -6.665 -8.43514 -5.86547 30.0749 -6.67 -8.30714 -5.75277 29.9155 -6.675 -8.18006 -5.64864 29.7492 -6.68 -8.05429 -5.55309 29.5769 -6.685 -7.93015 -5.4661 29.3992 -6.69 -7.80798 -5.38759 29.2169 -6.695 -7.68809 -5.31744 29.0308 -6.7 -7.5708 -5.2555 28.8417 -6.705 -7.45638 -5.20156 28.6506 -6.71 -7.34511 -5.15536 28.4582 -6.715 -7.23725 -5.11661 28.2655 -6.72 -7.13304 -5.08498 28.0731 -6.725 -7.03264 -5.06024 27.8797 -6.73 -6.93617 -5.04224 27.6856 -6.735 -6.84371 -5.03085 27.4913 -6.74 -6.75538 -5.02591 27.2969 -6.745 -6.67126 -5.02728 27.1029 -6.75 -6.59143 -5.03479 26.9095 -6.755 -6.51596 -5.04831 26.717 -6.76 -6.44492 -5.06768 26.5258 -6.765 -6.37838 -5.09273 26.3361 -6.77 -6.31638 -5.12332 26.1481 -6.775 -6.25897 -5.15927 25.9622 -6.78 -6.20619 -5.20043 25.7786 -6.785 -6.15807 -5.24663 25.5974 -6.79 -6.11464 -5.2977 25.419 -6.795 -6.07591 -5.35347 25.2436 -6.8 -6.04189 -5.41378 25.0713 -6.805 -6.01258 -5.47844 24.9023 -6.81 -5.98799 -5.54729 24.7369 -6.815 -5.96809 -5.62015 24.5751 -6.82 -5.95288 -5.69683 24.4172 -6.825 -5.94231 -5.77716 24.2633 -6.83 -5.93608 -5.86125 24.1136 -6.835 -5.93405 -5.94922 23.9683 -6.84 -5.93626 -6.04103 23.8276 -6.845 -5.94278 -6.13663 23.6916 -6.85 -5.95363 -6.23598 23.5606 -6.855 -5.96886 -6.339 23.4348 -6.86 -5.98847 -6.44564 23.3143 -6.865 -6.01248 -6.55583 23.1994 -6.87 -6.04089 -6.66949 23.0901 -6.875 -6.07369 -6.78656 22.9868 -6.88 -6.11086 -6.90695 22.8896 -6.885 -6.15236 -7.03057 22.7987 -6.89 -6.19817 -7.15732 22.7144 -6.895 -6.24823 -7.28713 22.6368 -6.9 -6.30248 -7.41987 22.5662 -6.905 -6.36085 -7.55546 22.5028 -6.91 -6.42326 -7.69377 22.4467 -6.915 -6.48962 -7.83469 22.3983 -6.92 -6.55984 -7.9781 22.3577 -6.925 -6.63381 -8.12387 22.3251 -6.93 -6.71139 -8.27188 22.3009 -6.935 -6.79248 -8.42199 22.2851 -6.94 -6.87693 -8.57407 22.2782 -6.945 -6.96458 -8.72796 22.2802 -6.95 -7.05529 -8.88351 22.2914 -6.955 -7.14887 -9.04059 22.3121 -6.96 -7.24517 -9.19901 22.3425 -6.965 -7.34413 -9.35863 22.3822 -6.97 -7.44576 -9.51901 22.4312 -6.975 -7.55002 -9.67965 22.4899 -6.98 -7.65685 -9.84005 22.5587 -6.985 -7.76614 -9.99969 22.638 -6.99 -7.8778 -10.1581 22.728 -6.995 -7.99169 -10.3146 22.8288 -7 -8.10765 -10.4689 22.9407 -7.005 -8.2255 -10.6202 23.0636 -7.01 -8.34506 -10.7682 23.1978 -7.015 -8.46608 -10.9122 23.3429 -7.02 -8.58834 -11.0517 23.4991 -7.025 -8.71156 -11.1861 23.6662 -7.03 -8.83545 -11.3149 23.8439 -7.035 -8.9597 -11.4375 24.032 -7.04 -9.08399 -11.5533 24.2301 -7.045 -9.20795 -11.6618 24.4379 -7.05 -9.33121 -11.7623 24.6549 -7.055 -9.45337 -11.8542 24.8807 -7.06 -9.574 -11.937 25.1147 -7.065 -9.69266 -12.0101 25.3562 -7.07 -9.80889 -12.0727 25.6047 -7.075 -9.92219 -12.1244 25.8593 -7.08 -10.0321 -12.1645 26.1194 -7.085 -10.138 -12.1924 26.3839 -7.09 -10.2393 -12.2074 26.6522 -7.095 -10.3356 -12.2088 26.9231 -7.1 -10.4271 -12.1958 27.1965 -7.105 -10.5135 -12.1681 27.4713 -7.11 -10.5944 -12.126 27.7458 -7.115 -10.6691 -12.0699 28.0188 -7.12 -10.7372 -12.0002 28.2887 -7.125 -10.7982 -11.917 28.5543 -7.13 -10.8517 -11.821 28.8143 -7.135 -10.8975 -11.7124 29.0676 -7.14 -10.9352 -11.5918 29.313 -7.145 -10.9646 -11.4595 29.5496 -7.15 -10.9855 -11.3162 29.7763 -7.155 -10.9978 -11.1622 29.9924 -7.16 -11.0014 -10.9982 30.1969 -7.165 -10.9961 -10.8247 30.3893 -7.17 -10.9822 -10.6423 30.5687 -7.175 -10.9595 -10.4517 30.7346 -7.18 -10.9283 -10.2534 30.8866 -7.185 -10.8886 -10.0482 31.0241 -7.19 -10.8408 -9.83678 31.1469 -7.195 -10.785 -9.61983 31.2545 -7.2 -10.7215 -9.39813 31.3468 -7.205 -10.6508 -9.17244 31.4237 -7.21 -10.573 -8.94402 31.485 -7.215 -10.4876 -8.7156 31.5305 -7.22 -10.3952 -8.48824 31.5601 -7.225 -10.2961 -8.26279 31.5739 -7.23 -10.191 -8.04006 31.5721 -7.235 -10.0803 -7.8208 31.555 -7.24 -9.96446 -7.60574 31.5226 -7.245 -9.84403 -7.39555 31.4755 -7.25 -9.71948 -7.19086 31.414 -7.255 -9.59129 -6.99227 31.3385 -7.26 -9.45994 -6.80032 31.2496 -7.265 -9.32589 -6.61552 31.1478 -7.27 -9.18962 -6.43834 31.0337 -7.275 -9.0516 -6.2692 30.9081 -7.28 -8.91228 -6.10848 30.7717 -7.285 -8.77211 -5.95652 30.6254 -7.29 -8.63156 -5.81361 30.4699 -7.295 -8.49108 -5.68002 30.3063 -7.3 -8.35109 -5.55595 30.1355 -7.305 -8.21205 -5.44157 29.9587 -7.31 -8.07438 -5.33701 29.7769 -7.315 -7.93853 -5.24236 29.5913 -7.32 -7.80496 -5.15728 29.4025 -7.325 -7.67412 -5.08067 29.21 -7.33 -7.54625 -5.01241 29.0141 -7.335 -7.42157 -4.95242 28.8152 -7.34 -7.30028 -4.9006 28.6138 -7.345 -7.18258 -4.85684 28.4104 -7.35 -7.06865 -4.82102 28.2054 -7.355 -6.95867 -4.79299 27.9992 -7.36 -6.85279 -4.77259 27.7922 -7.365 -6.75117 -4.75963 27.5848 -7.37 -6.65394 -4.75392 27.3773 -7.375 -6.56123 -4.75526 27.1702 -7.38 -6.47315 -4.7634 26.9638 -7.385 -6.38982 -4.7781 26.7584 -7.39 -6.31132 -4.7991 26.5543 -7.395 -6.23773 -4.82612 26.3518 -7.4 -6.16913 -4.85885 26.1512 -7.405 -6.10557 -4.89699 25.9528 -7.41 -6.0471 -4.94021 25.7569 -7.415 -5.99377 -4.98814 25.5637 -7.42 -5.94558 -5.04044 25.3734 -7.425 -5.90257 -5.09672 25.1862 -7.43 -5.86467 -5.15671 25.0024 -7.435 -5.83158 -5.22106 24.822 -7.44 -5.80323 -5.2898 24.6451 -7.445 -5.77965 -5.36287 24.4719 -7.45 -5.76084 -5.44017 24.3026 -7.455 -5.7468 -5.52162 24.1374 -7.46 -5.73752 -5.60715 23.9764 -7.465 -5.73299 -5.69668 23.8198 -7.47 -5.73319 -5.79015 23.6678 -7.475 -5.7381 -5.88748 23.5206 -7.48 -5.7477 -5.98862 23.3784 -7.485 -5.76195 -6.0935 23.2414 -7.49 -5.78081 -6.20206 23.1097 -7.495 -5.80423 -6.31426 22.9836 -7.5 -5.83218 -6.43004 22.8633 -7.505 -5.86459 -6.54935 22.7489 -7.51 -5.9014 -6.67216 22.6407 -7.515 -5.94255 -6.79842 22.5389 -7.52 -5.98797 -6.9281 22.4437 -7.525 -6.03758 -7.06115 22.3553 -7.53 -6.0913 -7.19756 22.2739 -7.535 -6.14904 -7.3373 22.1998 -7.54 -6.21071 -7.48033 22.1332 -7.545 -6.27617 -7.6266 22.0742 -7.55 -6.34519 -7.77581 22.0226 -7.555 -6.41783 -7.92784 21.979 -7.56 -6.49414 -8.08261 21.9435 -7.565 -6.5742 -8.24001 21.9167 -7.57 -6.65802 -8.39989 21.8988 -7.575 -6.74561 -8.56208 21.8902 -7.58 -6.83698 -8.72638 21.8913 -7.585 -6.93209 -8.89255 21.9023 -7.59 -7.03088 -9.06034 21.9235 -7.595 -7.13329 -9.22946 21.955 -7.6 -7.23922 -9.3996 21.9972 -7.605 -7.34856 -9.57042 22.0503 -7.61 -7.46117 -9.74155 22.1143 -7.615 -7.5769 -9.91257 22.1895 -7.62 -7.69557 -10.0831 22.2759 -7.625 -7.81698 -10.2526 22.3737 -7.63 -7.94092 -10.4207 22.4829 -7.635 -8.06714 -10.5867 22.6035 -7.64 -8.19538 -10.7503 22.7357 -7.645 -8.32538 -10.9108 22.8794 -7.65 -8.45681 -11.0676 23.0346 -7.655 -8.58937 -11.22 23.2012 -7.66 -8.7227 -11.3675 23.3791 -7.665 -8.85644 -11.5094 23.5683 -7.67 -8.99022 -11.6449 23.7687 -7.675 -9.12361 -11.7733 23.9801 -7.68 -9.2562 -11.8938 24.2023 -7.685 -9.38774 -12.0058 24.4352 -7.69 -9.51836 -12.109 24.6782 -7.695 -9.64757 -12.2025 24.9306 -7.7 -9.7748 -12.2853 25.1916 -7.705 -9.89953 -12.3564 25.4602 -7.71 -10.0212 -12.4153 25.7356 -7.715 -10.1394 -12.461 26.0168 -7.72 -10.2535 -12.4931 26.303 -7.725 -10.3632 -12.511 26.5932 -7.73 -10.4678 -12.5143 26.8863 -7.735 -10.5671 -12.5026 27.1813 -7.74 -10.6605 -12.4757 27.4771 -7.745 -10.7476 -12.4334 27.7727 -7.75 -10.828 -12.3756 28.067 -7.755 -10.9014 -12.3022 28.3587 -7.76 -10.9673 -12.2134 28.6467 -7.765 -11.0254 -12.1093 28.9297 -7.77 -11.0753 -11.9902 29.2067 -7.775 -11.1167 -11.8565 29.4761 -7.78 -11.1493 -11.7084 29.7368 -7.785 -11.1728 -11.5465 29.9875 -7.79 -11.1868 -11.3715 30.2267 -7.795 -11.1912 -11.1835 30.4529 -7.8 -11.1858 -10.9833 30.6648 -7.805 -11.1708 -10.7725 30.8617 -7.81 -11.146 -10.5525 31.0432 -7.815 -11.1117 -10.325 31.2085 -7.82 -11.068 -10.0912 31.3574 -7.825 -11.015 -9.85264 31.4895 -7.83 -10.953 -9.61047 31.6044 -7.835 -10.8822 -9.36593 31.702 -7.84 -10.8028 -9.12016 31.782 -7.845 -10.7153 -8.87424 31.8446 -7.85 -10.62 -8.62917 31.8895 -7.855 -10.5172 -8.38589 31.917 -7.86 -10.4074 -8.14527 31.9272 -7.865 -10.291 -7.90811 31.9203 -7.87 -10.1686 -7.67514 31.8966 -7.875 -10.0407 -7.44705 31.8565 -7.88 -9.90785 -7.22442 31.8005 -7.885 -9.7707 -7.00779 31.729 -7.89 -9.62988 -6.79762 31.6426 -7.895 -9.48608 -6.59431 31.5421 -7.9 -9.34 -6.39822 31.4283 -7.905 -9.19186 -6.2106 31.3025 -7.91 -9.04201 -6.03222 31.1658 -7.915 -8.89102 -5.8634 31.0188 -7.92 -8.73942 -5.70436 30.8621 -7.925 -8.58774 -5.55531 30.6965 -7.93 -8.43646 -5.41639 30.5224 -7.935 -8.28606 -5.28768 30.3407 -7.94 -8.13697 -5.16921 30.1519 -7.945 -7.98963 -5.06098 29.9567 -7.95 -7.84443 -4.96289 29.7558 -7.955 -7.70173 -4.87484 29.5498 -7.96 -7.56191 -4.79664 29.3394 -7.965 -7.42527 -4.72806 29.1253 -7.97 -7.29214 -4.6688 28.9082 -7.975 -7.16277 -4.61854 28.6888 -7.98 -7.03745 -4.57689 28.4679 -7.985 -6.91639 -4.54339 28.246 -7.99 -6.79981 -4.51754 28.0239 -7.995 -6.68789 -4.49881 27.8024 -8 -6.58079 -4.48668 27.582 -8.005 -6.47858 -4.48141 27.3621 -8.01 -6.3813 -4.48289 27.1428 -8.015 -6.28902 -4.4909 26.9244 -8.02 -6.20177 -4.50522 26.7073 -8.025 -6.11961 -4.52565 26.4916 -8.03 -6.04257 -4.55197 26.2778 -8.035 -5.97067 -4.584 26.0659 -8.04 -5.90393 -4.62156 25.8562 -8.045 -5.84238 -4.66446 25.6491 -8.05 -5.78602 -4.71253 25.4447 -8.055 -5.73486 -4.76561 25.2432 -8.06 -5.68888 -4.82354 25.0448 -8.065 -5.64808 -4.88618 24.8498 -8.07 -5.61244 -4.95338 24.6583 -8.075 -5.58193 -5.02501 24.4705 -8.08 -5.55654 -5.10094 24.2866 -8.085 -5.53621 -5.18106 24.1067 -8.09 -5.5209 -5.26526 23.9309 -8.095 -5.51057 -5.35343 23.7595 -8.1 -5.50506 -5.44553 23.5925 -8.105 -5.50409 -5.54166 23.4303 -8.11 -5.50771 -5.64181 23.273 -8.115 -5.51597 -5.74592 23.1207 -8.12 -5.52888 -5.85398 22.9737 -8.125 -5.54649 -5.96593 22.8322 -8.13 -5.56881 -6.08173 22.6962 -8.135 -5.59585 -6.20135 22.566 -8.14 -5.62761 -6.32473 22.4419 -8.145 -5.66407 -6.45182 22.3239 -8.15 -5.70522 -6.58257 22.2123 -8.155 -5.75104 -6.71693 22.1073 -8.16 -5.80147 -6.85484 22.0092 -8.165 -5.85649 -6.99623 21.9181 -8.17 -5.91602 -7.14106 21.8344 -8.175 -5.98001 -7.28924 21.7582 -8.18 -6.04838 -7.44073 21.6898 -8.185 -6.12106 -7.59543 21.6295 -8.19 -6.19793 -7.7533 21.5775 -8.195 -6.27892 -7.91424 21.5341 -8.2 -6.3639 -8.07818 21.4997 -8.205 -6.45275 -8.24505 21.4744 -8.21 -6.54536 -8.41475 21.4585 -8.215 -6.64157 -8.58721 21.4525 -8.22 -6.74124 -8.76234 21.4565 -8.225 -6.84422 -8.94003 21.4708 -8.23 -6.95053 -9.11983 21.4951 -8.235 -7.0602 -9.30135 21.5296 -8.24 -7.17322 -9.48422 21.5749 -8.245 -7.28955 -9.66803 21.6315 -8.25 -7.40915 -9.85235 21.6998 -8.255 -7.53192 -10.0367 21.7801 -8.26 -7.65776 -10.2207 21.8728 -8.265 -7.78651 -10.4037 21.9781 -8.27 -7.91803 -10.5852 22.0962 -8.275 -8.05211 -10.7647 22.2272 -8.28 -8.18854 -10.9416 22.3712 -8.285 -8.32707 -11.1152 22.5281 -8.29 -8.46742 -11.2849 22.6981 -8.295 -8.6093 -11.45 22.8809 -8.3 -8.75239 -11.6099 23.0764 -8.305 -8.89632 -11.7637 23.2844 -8.31 -9.04071 -11.9108 23.5047 -8.315 -9.18517 -12.0504 23.7368 -8.32 -9.32926 -12.1816 23.9805 -8.325 -9.47251 -12.3036 24.2352 -8.33 -9.61445 -12.4155 24.5005 -8.335 -9.75455 -12.5165 24.7759 -8.34 -9.89228 -12.6056 25.0606 -8.345 -10.0271 -12.682 25.3541 -8.35 -10.1583 -12.7445 25.6556 -8.355 -10.286 -12.7925 25.9649 -8.36 -10.4099 -12.8254 26.2809 -8.365 -10.5293 -12.8426 26.6019 -8.37 -10.6433 -12.8438 26.9264 -8.375 -10.7514 -12.8285 27.2528 -8.38 -10.853 -12.7965 27.5795 -8.385 -10.9474 -12.7477 27.9051 -8.39 -11.0342 -12.6818 28.2281 -8.395 -11.1128 -12.599 28.547 -8.4 -11.1829 -12.4993 28.8607 -8.405 -11.244 -12.383 29.1676 -8.41 -11.2958 -12.2503 29.4666 -8.415 -11.338 -12.1017 29.7564 -8.42 -11.3703 -11.9375 30.0357 -8.425 -11.3927 -11.7584 30.3036 -8.43 -11.4048 -11.565 30.5587 -8.435 -11.4065 -11.358 30.8001 -8.44 -11.3979 -11.1384 31.0267 -8.445 -11.3789 -10.907 31.2376 -8.45 -11.3495 -10.6649 31.4317 -8.455 -11.3098 -10.4132 31.6082 -8.46 -11.2595 -10.1536 31.7658 -8.465 -11.1987 -9.88816 31.9038 -8.47 -11.1277 -9.6183 32.0219 -8.475 -11.047 -9.34552 32.1201 -8.48 -10.9569 -9.07122 32.1983 -8.485 -10.858 -8.7967 32.2567 -8.49 -10.7507 -8.52324 32.2954 -8.495 -10.6355 -8.25201 32.3146 -8.5 -10.5129 -7.98414 32.3146 -8.505 -10.3834 -7.72069 32.2959 -8.51 -10.2476 -7.46265 32.2589 -8.515 -10.106 -7.21094 32.2041 -8.52 -9.95913 -6.96642 32.1321 -8.525 -9.80765 -6.72987 32.0437 -8.53 -9.65213 -6.50201 31.9396 -8.535 -9.49319 -6.28352 31.8207 -8.54 -9.33148 -6.07496 31.6879 -8.545 -9.16763 -5.87688 31.5422 -8.55 -9.00232 -5.68971 31.3848 -8.555 -8.83624 -5.51386 31.2167 -8.56 -8.67008 -5.34959 31.0392 -8.565 -8.50441 -5.19641 30.8532 -8.57 -8.33969 -5.0541 30.6595 -8.575 -8.1764 -4.92271 30.4586 -8.58 -8.01498 -4.80223 30.2513 -8.585 -7.85583 -4.6926 30.0383 -8.59 -7.69935 -4.59373 29.8201 -8.595 -7.54592 -4.50551 29.5974 -8.6 -7.39587 -4.42774 29.3709 -8.605 -7.24953 -4.36022 29.1411 -8.61 -7.1072 -4.3027 28.9086 -8.615 -6.96916 -4.25488 28.6739 -8.62 -6.83565 -4.21643 28.4377 -8.625 -6.70692 -4.18696 28.2005 -8.63 -6.58315 -4.16608 27.9628 -8.635 -6.46454 -4.15331 27.7251 -8.64 -6.35125 -4.14816 27.4879 -8.645 -6.2434 -4.15008 27.2518 -8.65 -6.14112 -4.15851 27.017 -8.655 -6.0445 -4.17283 26.7842 -8.66 -5.95359 -4.19237 26.5538 -8.665 -5.8683 -4.21743 26.3255 -8.67 -5.78853 -4.24831 26.0994 -8.675 -5.71428 -4.28479 25.8756 -8.68 -5.64555 -4.32669 25.6543 -8.685 -5.58233 -4.37383 25.4358 -8.69 -5.52459 -4.42602 25.2202 -8.695 -5.47232 -4.48311 25.0078 -8.7 -5.4255 -4.54496 24.7986 -8.705 -5.38409 -4.61144 24.5929 -8.71 -5.34806 -4.68242 24.391 -8.715 -5.31738 -4.75779 24.1928 -8.72 -5.292 -4.83746 23.9987 -8.725 -5.27188 -4.92133 23.8088 -8.73 -5.25696 -5.00935 23.6233 -8.735 -5.2472 -5.10144 23.4423 -8.74 -5.24253 -5.19757 23.2661 -8.745 -5.24289 -5.29768 23.0946 -8.75 -5.24822 -5.40177 22.9282 -8.755 -5.25844 -5.50981 22.767 -8.76 -5.27348 -5.62181 22.611 -8.765 -5.29313 -5.73777 22.4606 -8.77 -5.31727 -5.85767 22.3159 -8.775 -5.34596 -5.98153 22.1772 -8.78 -5.37925 -6.10938 22.0446 -8.785 -5.41718 -6.24121 21.9183 -8.79 -5.45978 -6.37701 21.7986 -8.795 -5.50707 -6.51676 21.6856 -8.8 -5.55907 -6.66043 21.5796 -8.805 -5.61576 -6.80799 21.4809 -8.81 -5.67715 -6.95938 21.3896 -8.815 -5.74321 -7.11456 21.306 -8.82 -5.81391 -7.27345 21.2303 -8.825 -5.88921 -7.43597 21.1629 -8.83 -5.96906 -7.60204 21.104 -8.835 -6.05339 -7.77157 21.0539 -8.84 -6.14214 -7.94444 21.0129 -8.845 -6.23522 -8.12055 20.9813 -8.85 -6.33254 -8.29977 20.9594 -8.855 -6.434 -8.48196 20.9475 -8.86 -6.53949 -8.66698 20.946 -8.865 -6.64887 -8.85467 20.9551 -8.87 -6.76203 -9.04488 20.9753 -8.875 -6.87881 -9.23742 21.0068 -8.88 -6.99907 -9.43212 21.0501 -8.885 -7.12263 -9.62879 21.1054 -8.89 -7.24945 -9.82707 21.1723 -8.895 -7.3795 -10.0264 21.251 -8.9 -7.51274 -10.2262 21.3421 -8.905 -7.6491 -10.4258 21.4463 -8.91 -7.78845 -10.6246 21.5639 -8.915 -7.93067 -10.8218 21.6953 -8.92 -8.07557 -11.0169 21.8408 -8.925 -8.22294 -11.2091 22.0006 -8.93 -8.37256 -11.3976 22.1748 -8.935 -8.52414 -11.5817 22.3635 -8.94 -8.67739 -11.7606 22.5665 -8.945 -8.83197 -11.9335 22.7838 -8.95 -8.98752 -12.0997 23.0152 -8.955 -9.14363 -12.2581 23.2603 -8.96 -9.29987 -12.4081 23.5188 -8.965 -9.45579 -12.5487 23.7902 -8.97 -9.61089 -12.679 24.074 -8.975 -9.76465 -12.798 24.3696 -8.98 -9.9165 -12.9049 24.6762 -8.985 -10.0659 -12.9986 24.9931 -8.99 -10.2121 -13.0782 25.3194 -8.995 -10.3546 -13.1427 25.6541 -9 -10.4926 -13.191 25.9962 -9.005 -10.6254 -13.222 26.3446 -9.01 -10.7526 -13.2346 26.6985 -9.015 -10.8744 -13.2281 27.0572 -9.02 -10.9898 -13.2022 27.4185 -9.025 -11.098 -13.157 27.7804 -9.03 -11.1984 -13.0926 28.1408 -9.035 -11.2902 -13.0092 28.4977 -9.04 -11.3728 -12.9069 28.8495 -9.045 -11.4457 -12.7861 29.1942 -9.05 -11.5084 -12.6473 29.5303 -9.055 -11.5604 -12.4907 29.8561 -9.06 -11.6015 -12.3171 30.1703 -9.065 -11.6312 -12.1271 30.4715 -9.07 -11.6496 -11.9212 30.7582 -9.075 -11.6563 -11.7004 31.0295 -9.08 -11.6513 -11.4655 31.2842 -9.085 -11.6347 -11.2174 31.5212 -9.09 -11.6064 -10.9571 31.7398 -9.095 -11.5666 -10.6857 31.939 -9.1 -11.5155 -10.4044 32.1182 -9.105 -11.4534 -10.1144 32.2767 -9.11 -11.3805 -9.81715 32.414 -9.115 -11.2967 -9.51544 32.5292 -9.12 -11.2018 -9.21174 32.622 -9.125 -11.0967 -8.90759 32.6923 -9.13 -10.982 -8.6044 32.7405 -9.135 -10.8582 -8.30356 32.7667 -9.14 -10.7259 -8.00635 32.7713 -9.145 -10.586 -7.71397 32.7547 -9.15 -10.4389 -7.42755 32.7175 -9.155 -10.2853 -7.14814 32.6603 -9.16 -10.1259 -6.87673 32.5838 -9.165 -9.96131 -6.61421 32.4888 -9.17 -9.79225 -6.36139 32.3762 -9.175 -9.61936 -6.11903 32.247 -9.18 -9.44332 -5.88778 32.1022 -9.185 -9.26479 -5.66823 31.943 -9.19 -9.08446 -5.4609 31.7706 -9.195 -8.90302 -5.26622 31.5864 -9.2 -8.72116 -5.08454 31.3918 -9.205 -8.53958 -4.91614 31.1883 -9.21 -8.35898 -4.76121 30.9775 -9.215 -8.18009 -4.61879 30.76 -9.22 -8.00344 -4.4881 30.536 -9.225 -7.82943 -4.36908 30.3063 -9.23 -7.65846 -4.2616 30.0714 -9.235 -7.4909 -4.16551 29.832 -9.24 -7.32707 -4.08063 29.5889 -9.245 -7.16731 -4.00674 29.3426 -9.25 -7.01191 -3.94357 29.0937 -9.255 -6.86115 -3.89085 28.8429 -9.26 -6.71529 -3.84823 28.5905 -9.265 -6.57456 -3.81536 28.3372 -9.27 -6.43917 -3.79184 28.0835 -9.275 -6.30931 -3.77723 27.8298 -9.28 -6.18516 -3.77106 27.5767 -9.285 -6.06685 -3.77283 27.3244 -9.29 -5.95451 -3.78201 27.0736 -9.295 -5.84824 -3.798 26.8245 -9.3 -5.74813 -3.8202 26.5775 -9.305 -5.65423 -3.84797 26.3329 -9.31 -5.56658 -3.88061 26.0912 -9.315 -5.48517 -3.91753 25.8525 -9.32 -5.40969 -3.95954 25.6167 -9.325 -5.34003 -4.00681 25.3837 -9.33 -5.27616 -4.05916 25.1539 -9.335 -5.21805 -4.1164 24.9273 -9.34 -5.16566 -4.17839 24.7041 -9.345 -5.11895 -4.24498 24.4844 -9.35 -5.07789 -4.31604 24.2685 -9.355 -5.04242 -4.39145 24.0564 -9.36 -5.0125 -4.47112 23.8483 -9.365 -4.98807 -4.55495 23.6444 -9.37 -4.96907 -4.64288 23.4449 -9.375 -4.95545 -4.73486 23.2499 -9.38 -4.94714 -4.83083 23.0595 -9.385 -4.94407 -4.93078 22.8739 -9.39 -4.94618 -5.03469 22.6933 -9.395 -4.95338 -5.14257 22.5178 -9.4 -4.9656 -5.25443 22.3477 -9.405 -4.98275 -5.37031 22.183 -9.41 -5.00475 -5.49025 22.0239 -9.415 -5.03151 -5.61431 21.8706 -9.42 -5.0628 -5.74245 21.7233 -9.425 -5.09857 -5.87467 21.5822 -9.43 -5.13891 -6.01102 21.4476 -9.435 -5.18389 -6.15155 21.3195 -9.44 -5.23357 -6.29629 21.1984 -9.445 -5.28799 -6.44524 21.0843 -9.45 -5.3472 -6.59841 20.9775 -9.455 -5.41121 -6.7558 20.8783 -9.46 -5.48004 -6.91736 20.7869 -9.465 -5.55368 -7.08308 20.7037 -9.47 -5.63214 -7.25288 20.6287 -9.475 -5.71538 -7.42672 20.5625 -9.48 -5.80337 -7.6045 20.5052 -9.485 -5.89607 -7.78614 20.4572 -9.49 -5.99342 -7.97153 20.4188 -9.495 -6.09534 -8.16055 20.3903 -9.5 -6.20177 -8.35307 20.3721 -9.505 -6.31261 -8.54894 20.3646 -9.51 -6.42775 -8.748 20.3681 -9.515 -6.54708 -8.95008 20.383 -9.52 -6.67048 -9.15498 20.4097 -9.525 -6.7978 -9.36252 20.4485 -9.53 -6.9289 -9.57248 20.5 -9.535 -7.06361 -9.78462 20.5645 -9.54 -7.20177 -9.99872 20.6424 -9.545 -7.34323 -10.2145 20.7333 -9.55 -7.48795 -10.4314 20.8371 -9.555 -7.63591 -10.6487 20.9545 -9.56 -7.78702 -10.8654 21.0863 -9.565 -7.94116 -11.0807 21.233 -9.57 -8.09818 -11.2938 21.395 -9.575 -8.25788 -11.5039 21.5727 -9.58 -8.42004 -11.7099 21.7664 -9.585 -8.58437 -11.9111 21.9761 -9.59 -8.75058 -12.1065 22.2019 -9.595 -8.9183 -12.2952 22.4437 -9.6 -9.08715 -12.4762 22.7014 -9.605 -9.2567 -12.6486 22.9746 -9.61 -9.42649 -12.8113 23.2628 -9.615 -9.59601 -12.9634 23.5657 -9.62 -9.76472 -13.1038 23.8826 -9.625 -9.93203 -13.2316 24.2127 -9.63 -10.0973 -13.3456 24.5552 -9.635 -10.2599 -13.4448 24.9093 -9.64 -10.4192 -13.5281 25.2737 -9.645 -10.5743 -13.5944 25.6474 -9.65 -10.7246 -13.6425 26.0292 -9.655 -10.8691 -13.6715 26.4175 -9.66 -11.0071 -13.68 26.811 -9.665 -11.1376 -13.667 27.2081 -9.67 -11.2605 -13.6309 27.6079 -9.675 -11.3758 -13.5712 28.0088 -9.68 -11.4823 -13.4886 28.4083 -9.685 -11.5794 -13.3837 28.8037 -9.69 -11.6661 -13.2572 29.1928 -9.695 -11.7419 -13.1099 29.5732 -9.7 -11.806 -12.9424 29.943 -9.705 -11.8581 -12.7557 30.3002 -9.71 -11.8977 -12.5506 30.6429 -9.715 -11.9245 -12.3281 30.9696 -9.72 -11.9382 -12.089 31.2788 -9.725 -11.9386 -11.8345 31.5692 -9.73 -11.9258 -11.5655 31.8394 -9.735 -11.8998 -11.2832 32.0886 -9.74 -11.8606 -10.9887 32.3157 -9.745 -11.8085 -10.6832 32.5201 -9.75 -11.7438 -10.3679 32.7011 -9.755 -11.6669 -10.0442 32.8583 -9.76 -11.5782 -9.71325 32.9914 -9.765 -11.4783 -9.37655 33.1002 -9.77 -11.3673 -9.03693 33.1844 -9.775 -11.2448 -8.69843 33.2437 -9.78 -11.1117 -8.36266 33.2785 -9.785 -10.9689 -8.0311 33.2891 -9.79 -10.817 -7.70511 33.2758 -9.795 -10.657 -7.386 33.2395 -9.8 -10.4895 -7.07495 33.1806 -9.805 -10.3155 -6.77305 33.1 -9.81 -10.1357 -6.4813 32.9985 -9.815 -9.95077 -6.2006 32.8772 -9.82 -9.76161 -5.93176 32.7371 -9.825 -9.56892 -5.67548 32.5794 -9.83 -9.37348 -5.43238 32.4054 -9.835 -9.17602 -5.20298 32.2164 -9.84 -8.97728 -4.9877 32.0141 -9.845 -8.778 -4.78686 31.7999 -9.85 -8.57889 -4.60069 31.5756 -9.855 -8.38068 -4.42933 31.343 -9.86 -8.18407 -4.27281 31.1039 -9.865 -7.98979 -4.13094 30.8601 -9.87 -7.79857 -4.00228 30.611 -9.875 -7.61087 -3.88625 30.3567 -9.88 -7.42705 -3.78258 30.0981 -9.885 -7.24746 -3.69095 29.8359 -9.89 -7.07242 -3.61103 29.5706 -9.895 -6.90225 -3.54247 29.3031 -9.9 -6.73721 -3.4849 29.0338 -9.905 -6.57756 -3.43792 28.7634 -9.91 -6.42352 -3.40111 28.4923 -9.915 -6.27532 -3.37403 28.2212 -9.92 -6.13312 -3.35621 27.9504 -9.925 -5.99708 -3.34716 27.6804 -9.93 -5.86735 -3.34638 27.4116 -9.935 -5.74403 -3.35333 27.1443 -9.94 -5.62722 -3.36745 26.879 -9.945 -5.51697 -3.38818 26.6159 -9.95 -5.41332 -3.41491 26.3552 -9.955 -5.3163 -3.44702 26.0973 -9.96 -5.22589 -3.48386 25.8422 -9.965 -5.14191 -3.52553 25.5902 -9.97 -5.06412 -3.57247 25.3413 -9.975 -4.99249 -3.62446 25.0956 -9.98 -4.92697 -3.6813 24.8532 -9.985 -4.8675 -3.74281 24.6144 -9.99 -4.81403 -3.80883 24.3791 -9.995 -4.7665 -3.87922 24.1477 -10 -4.72486 -3.95385 23.9201 -10.005 -4.68902 -4.03261 23.6965 -10.01 -4.65893 -4.11542 23.4772 -10.015 -4.63451 -4.20221 23.2621 -10.02 -4.61569 -4.29292 23.0514 -10.025 -4.60238 -4.38751 22.8454 -10.03 -4.5945 -4.48598 22.6441 -10.035 -4.59197 -4.58833 22.4476 -10.04 -4.59469 -4.69457 22.2562 -10.045 -4.60258 -4.80474 22.0699 -10.05 -4.61553 -4.91891 21.8889 -10.055 -4.63345 -5.03715 21.7133 -10.06 -4.65622 -5.15955 21.5434 -10.065 -4.68356 -5.28614 21.3792 -10.07 -4.7153 -5.41694 21.2212 -10.075 -4.75158 -5.55202 21.0694 -10.08 -4.79251 -5.69144 20.9241 -10.085 -4.83819 -5.83525 20.7853 -10.09 -4.88871 -5.98349 20.6532 -10.095 -4.94415 -6.13619 20.5282 -10.1 -5.00455 -6.29338 20.4104 -10.105 -5.06998 -6.45507 20.3 -10.11 -5.14046 -6.62125 20.1973 -10.115 -5.21602 -6.79192 20.1026 -10.12 -5.29666 -6.96707 20.0162 -10.125 -5.38237 -7.14665 19.9384 -10.13 -5.47314 -7.33064 19.8694 -10.135 -5.56893 -7.51897 19.8097 -10.14 -5.66969 -7.7116 19.7596 -10.145 -5.77536 -7.90845 19.7195 -10.15 -5.88587 -8.10945 19.6897 -10.155 -6.00113 -8.31449 19.6707 -10.16 -6.12103 -8.52349 19.6628 -10.165 -6.24547 -8.73633 19.6666 -10.17 -6.37431 -8.9529 19.6824 -10.175 -6.50741 -9.17305 19.7108 -10.18 -6.64462 -9.39666 19.7522 -10.185 -6.78576 -9.62356 19.8071 -10.19 -6.93066 -9.85361 19.8761 -10.195 -7.07912 -10.0866 19.9595 -10.2 -7.2312 -10.322 20.0567 -10.205 -7.387 -10.5589 20.168 -10.21 -7.54649 -10.7966 20.2942 -10.215 -7.70961 -11.0343 20.4362 -10.22 -7.87626 -11.271 20.5947 -10.225 -8.04629 -11.506 20.7701 -10.23 -8.2195 -11.7382 20.963 -10.235 -8.39566 -11.9668 21.1735 -10.24 -8.57446 -12.1908 21.402 -10.245 -8.75558 -12.409 21.6484 -10.25 -8.93863 -12.6205 21.9128 -10.255 -9.12319 -12.8242 22.1949 -10.26 -9.30879 -13.0189 22.4946 -10.265 -9.49491 -13.2035 22.8113 -10.27 -9.68099 -13.3768 23.1446 -10.275 -9.86641 -13.5375 23.4938 -10.28 -10.0505 -13.6844 23.8581 -10.285 -10.2326 -13.8162 24.2368 -10.29 -10.412 -13.9315 24.6287 -10.295 -10.5878 -14.0291 25.0328 -10.3 -10.7592 -14.1074 25.4479 -10.305 -10.9253 -14.1651 25.8725 -10.31 -11.0852 -14.2006 26.3052 -10.315 -11.238 -14.2126 26.7445 -10.32 -11.3832 -14.1993 27.1893 -10.325 -11.5207 -14.1601 27.638 -10.33 -11.6494 -14.0952 28.0875 -10.335 -11.7682 -14.0048 28.535 -10.34 -11.8762 -13.8892 28.9776 -10.345 -11.9726 -13.749 29.4128 -10.35 -12.0565 -13.5846 29.838 -10.355 -12.1274 -13.3968 30.251 -10.36 -12.1847 -13.1864 30.6495 -10.365 -12.2279 -12.9541 31.0317 -10.37 -12.2566 -12.7009 31.3956 -10.375 -12.2707 -12.428 31.7395 -10.38 -12.2699 -12.1365 32.062 -10.385 -12.2542 -11.8276 32.3615 -10.39 -12.2236 -11.5028 32.6369 -10.395 -12.1783 -11.1635 32.8871 -10.4 -12.1185 -10.8113 33.1111 -10.405 -12.0446 -10.4479 33.3082 -10.41 -11.9569 -10.075 33.4777 -10.415 -11.8556 -9.69533 33.6189 -10.42 -11.7404 -9.31344 33.7309 -10.425 -11.612 -8.93159 33.814 -10.43 -11.4713 -8.55178 33.8684 -10.435 -11.3191 -8.17588 33.8947 -10.44 -11.1564 -7.80566 33.8935 -10.445 -10.9839 -7.44274 33.8654 -10.45 -10.8025 -7.08863 33.8114 -10.455 -10.6131 -6.74472 33.7324 -10.46 -10.4166 -6.41226 33.6296 -10.465 -10.2139 -6.0924 33.504 -10.47 -10.0058 -5.78614 33.3572 -10.475 -9.7932 -5.49437 33.1904 -10.48 -9.57708 -5.21787 33.0054 -10.485 -9.35828 -4.95727 32.8038 -10.49 -9.13772 -4.71309 32.5874 -10.495 -8.9163 -4.48572 32.3582 -10.5 -8.69494 -4.27544 32.1183 -10.505 -8.47454 -4.0824 31.8698 -10.51 -8.25603 -3.90564 31.6138 -10.515 -8.04011 -3.74396 31.3503 -10.52 -7.82731 -3.59711 31.0802 -10.525 -7.61814 -3.46481 30.8045 -10.53 -7.41307 -3.34671 30.524 -10.535 -7.21255 -3.24244 30.2395 -10.54 -7.01697 -3.15159 29.9519 -10.545 -6.82671 -3.0737 29.6618 -10.55 -6.64211 -3.00826 29.37 -10.555 -6.46348 -2.95474 29.077 -10.56 -6.29109 -2.91255 28.7837 -10.565 -6.12518 -2.88107 28.4904 -10.57 -5.96596 -2.85964 28.1977 -10.575 -5.8136 -2.84755 27.9062 -10.58 -5.66825 -2.84404 27.6163 -10.585 -5.53001 -2.84834 27.3284 -10.59 -5.39896 -2.8596 27.0428 -10.595 -5.27513 -2.87696 26.7599 -10.6 -5.15855 -2.8995 26.48 -10.605 -5.04903 -2.92725 26.2032 -10.61 -4.94633 -2.96083 25.9292 -10.615 -4.8504 -2.99996 25.6584 -10.62 -4.76115 -3.04435 25.3907 -10.625 -4.67852 -3.09373 25.1263 -10.63 -4.60242 -3.14788 24.8655 -10.635 -4.53278 -3.20658 24.6081 -10.64 -4.46951 -3.26964 24.3545 -10.645 -4.41253 -3.33689 24.1047 -10.65 -4.36174 -3.4082 23.8588 -10.655 -4.31704 -3.48345 23.617 -10.66 -4.27834 -3.56253 23.3793 -10.665 -4.24552 -3.64539 23.1459 -10.67 -4.21849 -3.73196 22.9168 -10.675 -4.19713 -3.82223 22.6922 -10.68 -4.18133 -3.9162 22.4722 -10.685 -4.17097 -4.01389 22.2569 -10.69 -4.16592 -4.11534 22.0462 -10.695 -4.16605 -4.22063 21.8405 -10.7 -4.17113 -4.32983 21.6398 -10.705 -4.18112 -4.44297 21.4444 -10.71 -4.19606 -4.5601 21.2542 -10.715 -4.21597 -4.68123 21.0695 -10.72 -4.24088 -4.80642 20.8903 -10.725 -4.27081 -4.93572 20.7168 -10.73 -4.30576 -5.06918 20.5491 -10.735 -4.34575 -5.20685 20.3875 -10.74 -4.39078 -5.34881 20.232 -10.745 -4.44083 -5.49512 20.0829 -10.75 -4.4959 -5.64586 19.9405 -10.755 -4.55597 -5.80111 19.8049 -10.76 -4.62101 -5.96096 19.6765 -10.765 -4.691 -6.1255 19.5554 -10.77 -4.76589 -6.29484 19.442 -10.775 -4.84565 -6.46907 19.3366 -10.78 -4.93023 -6.6483 19.2394 -10.785 -5.01957 -6.83266 19.1509 -10.79 -5.11362 -7.02226 19.0714 -10.795 -5.2123 -7.21723 19.0012 -10.8 -5.31555 -7.4177 18.9407 -10.805 -5.42329 -7.6238 18.8904 -10.81 -5.53562 -7.83507 18.8503 -10.815 -5.65272 -8.05125 18.8208 -10.82 -5.7747 -8.27243 18.8026 -10.825 -5.90164 -8.49861 18.7961 -10.83 -6.03359 -8.72972 18.8021 -10.835 -6.17059 -8.96564 18.821 -10.84 -6.31264 -9.20617 18.8533 -10.845 -6.45972 -9.45104 18.8997 -10.85 -6.61179 -9.69992 18.9606 -10.855 -6.76877 -9.95241 19.0366 -10.86 -6.93058 -10.208 19.128 -10.865 -7.09709 -10.4663 19.2355 -10.87 -7.26816 -10.7265 19.3594 -10.875 -7.44362 -10.9881 19.5003 -10.88 -7.62328 -11.2502 19.6585 -10.885 -7.80692 -11.5121 19.8344 -10.89 -7.99429 -11.773 20.0286 -10.895 -8.18512 -12.0318 20.2413 -10.9 -8.37912 -12.2876 20.473 -10.905 -8.57597 -12.5392 20.724 -10.91 -8.77533 -12.7856 20.9947 -10.915 -8.97683 -13.0255 21.2855 -10.92 -9.1801 -13.2584 21.596 -10.925 -9.38463 -13.483 21.926 -10.93 -9.58982 -13.697 22.2753 -10.935 -9.79502 -13.8986 22.6437 -10.94 -9.99957 -14.0856 23.0307 -10.945 -10.2028 -14.2563 23.4357 -10.95 -10.4038 -14.4089 23.8578 -10.955 -10.6021 -14.5419 24.296 -10.96 -10.7966 -14.6536 24.7491 -10.965 -10.9867 -14.7426 25.2157 -10.97 -11.1714 -14.8077 25.6942 -10.975 -11.3498 -14.8476 26.1827 -10.98 -11.5211 -14.8613 26.6795 -10.985 -11.6842 -14.8477 27.1822 -10.99 -11.8382 -14.8059 27.6886 -10.995 -11.982 -14.7352 28.1962 -11 -12.1147 -14.6348 28.7021 -11.005 -12.235 -14.5042 29.2035 -11.01 -12.342 -14.3428 29.6974 -11.015 -12.4354 -14.1477 30.1813 -11.02 -12.5145 -13.9206 30.6519 -11.025 -12.5784 -13.6644 31.1063 -11.03 -12.6263 -13.3819 31.5415 -11.035 -12.6578 -13.0758 31.9551 -11.04 -12.6722 -12.7486 32.3445 -11.045 -12.6693 -12.4029 32.7079 -11.05 -12.649 -12.0409 33.0433 -11.055 -12.611 -11.6648 33.3491 -11.06 -12.5557 -11.2769 33.6242 -11.065 -12.4831 -10.879 33.8674 -11.07 -12.3937 -10.473 34.078 -11.075 -12.288 -10.0608 34.2554 -11.08 -12.1667 -9.64389 34.3994 -11.085 -12.0305 -9.22387 34.51 -11.09 -11.8803 -8.80216 34.5874 -11.095 -11.7174 -8.38005 34.6321 -11.1 -11.5428 -7.95872 34.6449 -11.105 -11.3574 -7.54054 34.6271 -11.11 -11.1607 -7.13233 34.5809 -11.115 -10.9538 -6.7363 34.5073 -11.12 -10.738 -6.35389 34.4071 -11.125 -10.5145 -5.98637 34.2811 -11.13 -10.2845 -5.63486 34.1306 -11.135 -10.0492 -5.30028 33.9568 -11.14 -9.80975 -4.98344 33.7609 -11.145 -9.56711 -4.68496 33.5445 -11.15 -9.32236 -4.40528 33.3091 -11.155 -9.07648 -4.14472 33.0565 -11.16 -8.8304 -3.90339 32.7885 -11.165 -8.58503 -3.68128 32.5071 -11.17 -8.3412 -3.47819 32.2143 -11.175 -8.09973 -3.29377 31.9125 -11.18 -7.86138 -3.1275 31.6039 -11.185 -7.62686 -2.9787 31.2911 -11.19 -7.39684 -2.84652 30.9766 -11.195 -7.17197 -2.72997 30.6632 -11.2 -6.95285 -2.62797 30.351 -11.205 -6.73996 -2.53975 30.0369 -11.21 -6.53356 -2.4646 29.7216 -11.215 -6.33387 -2.40183 29.4058 -11.22 -6.14111 -2.35078 29.0899 -11.225 -5.95544 -2.31077 28.7745 -11.23 -5.77704 -2.28116 28.4601 -11.235 -5.60601 -2.26132 28.1472 -11.24 -5.44248 -2.25064 27.8361 -11.245 -5.28652 -2.2485 27.5271 -11.25 -5.13818 -2.25432 27.2207 -11.255 -4.9975 -2.26752 26.9171 -11.26 -4.86448 -2.28755 26.6164 -11.265 -4.73909 -2.31385 26.3189 -11.27 -4.62131 -2.3459 26.0246 -11.275 -4.51104 -2.38317 25.7337 -11.28 -4.40821 -2.42517 25.4462 -11.285 -4.31256 -2.47171 25.1622 -11.29 -4.22384 -2.52285 24.882 -11.295 -4.14195 -2.57832 24.6055 -11.3 -4.0668 -2.6379 24.3328 -11.305 -3.99829 -2.70138 24.0641 -11.31 -3.93631 -2.7686 23.7993 -11.315 -3.88074 -2.83939 23.5385 -11.32 -3.83149 -2.91364 23.2818 -11.325 -3.78843 -2.99125 23.0292 -11.33 -3.75145 -3.07213 22.7809 -11.335 -3.72041 -3.15625 22.5368 -11.34 -3.69519 -3.24358 22.2972 -11.345 -3.67566 -3.33411 22.062 -11.35 -3.66169 -3.42789 21.8313 -11.355 -3.65314 -3.52496 21.6052 -11.36 -3.64986 -3.6254 21.3838 -11.365 -3.6517 -3.72931 21.1673 -11.37 -3.65853 -3.83684 20.9556 -11.375 -3.67018 -3.94813 20.7489 -11.38 -3.68649 -4.06333 20.5473 -11.385 -3.70738 -4.18247 20.351 -11.39 -3.7329 -4.30562 20.1601 -11.395 -3.76313 -4.43287 19.9747 -11.4 -3.7981 -4.56431 19.7949 -11.405 -3.83788 -4.70003 19.6208 -11.41 -3.88249 -4.84012 19.4527 -11.415 -3.93198 -4.9847 19.2905 -11.42 -3.98638 -5.13386 19.1346 -11.425 -4.0457 -5.28773 18.9852 -11.43 -4.10997 -5.44642 18.8424 -11.435 -4.17921 -5.61006 18.7065 -11.44 -4.25341 -5.77878 18.5778 -11.445 -4.33258 -5.9527 18.4566 -11.45 -4.41671 -6.13197 18.3432 -11.455 -4.5058 -6.31672 18.2379 -11.46 -4.59982 -6.50712 18.141 -11.465 -4.69876 -6.70331 18.053 -11.47 -4.80258 -6.90545 17.9742 -11.475 -4.91125 -7.11371 17.905 -11.48 -5.02474 -7.32825 17.8459 -11.485 -5.143 -7.54925 17.7973 -11.49 -5.26598 -7.77678 17.7596 -11.495 -5.3939 -8.01012 17.7329 -11.5 -5.52695 -8.24925 17.7179 -11.505 -5.66526 -8.49431 17.7152 -11.51 -5.80897 -8.74535 17.7255 -11.515 -5.95814 -9.00232 17.7496 -11.52 -6.11284 -9.26509 17.7881 -11.525 -6.27309 -9.53346 17.8417 -11.53 -6.43888 -9.8071 17.911 -11.535 -6.61018 -10.0856 17.9967 -11.54 -6.78693 -10.3686 18.0993 -11.545 -6.96903 -10.6553 18.2196 -11.55 -7.15635 -10.9453 18.358 -11.555 -7.34874 -11.2377 18.5152 -11.56 -7.54603 -11.5317 18.6917 -11.565 -7.74798 -11.8264 18.8881 -11.57 -7.95437 -12.1207 19.105 -11.575 -8.16492 -12.4136 19.3428 -11.58 -8.37932 -12.704 19.6021 -11.585 -8.59724 -12.9904 19.8835 -11.59 -8.81833 -13.2716 20.1872 -11.595 -9.04218 -13.5461 20.514 -11.6 -9.26838 -13.8124 20.8641 -11.605 -9.49644 -14.0699 21.2373 -11.61 -9.72568 -14.3166 21.6331 -11.615 -9.95535 -14.5498 22.0513 -11.62 -10.1847 -14.7671 22.4915 -11.625 -10.4128 -14.9659 22.9532 -11.63 -10.6389 -15.1441 23.4353 -11.635 -10.8621 -15.2995 23.9367 -11.64 -11.0813 -15.4302 24.456 -11.645 -11.2957 -15.5343 24.9916 -11.65 -11.5041 -15.61 25.5416 -11.655 -11.7056 -15.656 26.1038 -11.66 -11.8989 -15.6706 26.676 -11.665 -12.0829 -15.6527 27.2554 -11.67 -12.2565 -15.6011 27.8392 -11.675 -12.4184 -15.5148 28.4243 -11.68 -12.5673 -15.3929 29.0074 -11.685 -12.702 -15.2348 29.5848 -11.69 -12.821 -15.0395 30.1529 -11.695 -12.9242 -14.8039 30.7082 -11.7 -13.0105 -14.5304 31.2471 -11.705 -13.0789 -14.2224 31.7656 -11.71 -13.1285 -13.8836 32.2603 -11.715 -13.1586 -13.5173 32.728 -11.72 -13.1687 -13.1266 33.166 -11.725 -13.1584 -12.7146 33.5718 -11.73 -13.1276 -12.2842 33.9432 -11.735 -13.0762 -11.8381 34.2786 -11.74 -13.0044 -11.3789 34.5764 -11.745 -12.9127 -10.9091 34.8356 -11.75 -12.8014 -10.431 35.0553 -11.755 -12.6714 -9.94674 35.2351 -11.76 -12.5235 -9.45829 35.3751 -11.765 -12.3588 -8.96754 35.4753 -11.77 -12.1786 -8.47619 35.5363 -11.775 -11.9843 -7.98582 35.5592 -11.78 -11.777 -7.49911 35.5453 -11.785 -11.5562 -7.02409 35.4964 -11.79 -11.3233 -6.56376 35.4141 -11.795 -11.0797 -6.12001 35.3 -11.8 -10.827 -5.69451 35.1558 -11.805 -10.5665 -5.28866 34.9833 -11.81 -10.2995 -4.90365 34.7843 -11.815 -10.0275 -4.5404 34.5609 -11.82 -9.75176 -4.1996 34.3151 -11.825 -9.47343 -3.8817 34.0493 -11.83 -9.19373 -3.58689 33.7657 -11.835 -8.9138 -3.31514 33.4667 -11.84 -8.63473 -3.06616 33.155 -11.845 -8.35755 -2.83942 32.8331 -11.85 -8.08327 -2.63416 32.5038 -11.855 -7.81282 -2.44935 32.17 -11.86 -7.54713 -2.28382 31.8338 -11.865 -7.28697 -2.13669 31.4937 -11.87 -7.03286 -2.0071 31.1504 -11.875 -6.78524 -1.89413 30.8049 -11.88 -6.54454 -1.7969 30.458 -11.885 -6.31112 -1.71452 30.1105 -11.89 -6.0853 -1.6461 29.7632 -11.895 -5.86736 -1.59077 29.4168 -11.9 -5.65755 -1.54764 29.0718 -11.905 -5.45605 -1.51583 28.7287 -11.91 -5.26303 -1.49448 28.388 -11.915 -5.07857 -1.48272 28.0502 -11.92 -4.90276 -1.47967 27.7153 -11.925 -4.73562 -1.48449 27.3838 -11.93 -4.5771 -1.4963 27.0557 -11.935 -4.42717 -1.51426 26.731 -11.94 -4.28565 -1.53777 26.41 -11.945 -4.15229 -1.56686 26.0928 -11.95 -4.02695 -1.60113 25.7794 -11.955 -3.90947 -1.64016 25.47 -11.96 -3.7997 -1.68359 25.1645 -11.965 -3.6975 -1.73108 24.8629 -11.97 -3.60268 -1.78233 24.5654 -11.975 -3.5151 -1.83708 24.272 -11.98 -3.43458 -1.89508 23.9826 -11.985 -3.36093 -1.95614 23.6974 -11.99 -3.294 -2.02009 23.4163 -11.995 -3.23358 -2.0868 23.1394 -12 -3.1795 -2.15617 22.8666 -12.005 -3.13155 -2.22814 22.5981 -12.01 -3.08955 -2.30267 22.3337 -12.015 -3.05328 -2.37977 22.0737 -12.02 -3.02256 -2.45947 21.8178 -12.025 -2.99715 -2.54185 21.5662 -12.03 -2.97682 -2.62698 21.319 -12.035 -2.9615 -2.71486 21.0761 -12.04 -2.95114 -2.80551 20.8375 -12.045 -2.94572 -2.89895 20.6034 -12.05 -2.94519 -2.99523 20.3737 -12.055 -2.94951 -3.0944 20.1485 -12.06 -2.95864 -3.19656 19.9279 -12.065 -2.97253 -3.3018 19.7118 -12.07 -2.99111 -3.41023 19.5004 -12.075 -3.01435 -3.52199 19.2938 -12.08 -3.04219 -3.63723 19.0921 -12.085 -3.07455 -3.75612 18.8953 -12.09 -3.11138 -3.87885 18.7036 -12.095 -3.15262 -4.00561 18.5172 -12.1 -3.19818 -4.13664 18.3361 -12.105 -3.24801 -4.27216 18.1605 -12.11 -3.30202 -4.41244 17.9905 -12.115 -3.36013 -4.55775 17.8264 -12.12 -3.42229 -4.70836 17.6684 -12.125 -3.48874 -4.86419 17.5166 -12.13 -3.55963 -5.02542 17.3712 -12.135 -3.63503 -5.19226 17.2325 -12.14 -3.71504 -5.36494 17.1008 -12.145 -3.79974 -5.54367 16.9761 -12.15 -3.88921 -5.72863 16.8589 -12.155 -3.98354 -5.92002 16.7495 -12.16 -4.08281 -6.118 16.6482 -12.165 -4.1871 -6.32274 16.5553 -12.17 -4.29651 -6.53438 16.4714 -12.175 -4.41111 -6.75305 16.3968 -12.18 -4.53098 -6.97889 16.3319 -12.185 -4.65622 -7.21201 16.2774 -12.19 -4.78691 -7.4525 16.2336 -12.195 -4.92313 -7.70046 16.2012 -12.2 -5.06496 -7.95596 16.1808 -12.205 -5.21249 -8.21907 16.1729 -12.21 -5.3658 -8.48985 16.1781 -12.215 -5.5249 -8.76814 16.197 -12.22 -5.68951 -9.05302 16.2296 -12.225 -5.85987 -9.34461 16.2767 -12.23 -6.03621 -9.64305 16.3398 -12.235 -6.21872 -9.94835 16.4198 -12.24 -6.40755 -10.2604 16.518 -12.245 -6.60277 -10.5788 16.6353 -12.25 -6.80441 -10.9032 16.7726 -12.255 -7.01244 -11.2329 16.931 -12.26 -7.22679 -11.5673 17.1112 -12.265 -7.4473 -11.9055 17.3141 -12.27 -7.6738 -12.2463 17.5404 -12.275 -7.90603 -12.5887 17.7907 -12.28 -8.14369 -12.9313 18.0658 -12.285 -8.38642 -13.2725 18.3662 -12.29 -8.63382 -13.6109 18.6925 -12.295 -8.88541 -13.9445 19.0449 -12.3 -9.14068 -14.2715 19.4241 -12.305 -9.39905 -14.5899 19.8303 -12.31 -9.65989 -14.8972 20.2638 -12.315 -9.92252 -15.1913 20.7248 -12.32 -10.1862 -15.4696 21.2135 -12.325 -10.4501 -15.7293 21.7301 -12.33 -10.7134 -15.9678 22.2746 -12.335 -10.9754 -16.1837 22.8462 -12.34 -11.2349 -16.3746 23.4429 -12.345 -11.4903 -16.5367 24.0623 -12.35 -11.7402 -16.6666 24.7018 -12.355 -11.983 -16.7611 25.3588 -12.36 -12.2174 -16.8177 26.0303 -12.365 -12.4418 -16.8341 26.7132 -12.37 -12.6549 -16.8084 27.4042 -12.375 -12.8553 -16.7392 28.0997 -12.38 -13.0414 -16.6254 28.796 -12.385 -13.212 -16.4663 29.4892 -12.39 -13.3657 -16.2616 30.1751 -12.395 -13.5011 -16.0116 30.8494 -12.4 -13.6168 -15.7166 31.5076 -12.405 -13.7117 -15.3777 32.1449 -12.41 -13.7842 -14.9962 32.7564 -12.415 -13.8332 -14.5734 33.3369 -12.42 -13.8581 -14.1089 33.8798 -12.425 -13.8585 -13.6074 34.3818 -12.43 -13.8341 -13.0757 34.8409 -12.435 -13.7847 -12.5198 35.2551 -12.44 -13.7105 -11.9455 35.6232 -12.445 -13.6117 -11.358 35.9439 -12.45 -13.4888 -10.7622 36.2165 -12.455 -13.3425 -10.1625 36.4404 -12.46 -13.1735 -9.56303 36.6155 -12.465 -12.9829 -8.96726 36.7419 -12.47 -12.7718 -8.37838 36.8202 -12.475 -12.5418 -7.79915 36.8512 -12.48 -12.2943 -7.23187 36.8359 -12.485 -12.0312 -6.67844 36.7759 -12.49 -11.7544 -6.14033 36.6729 -12.495 -11.466 -5.61857 36.5291 -12.5 -11.1681 -5.11494 36.3473 -12.505 -10.8608 -4.63641 36.1334 -12.51 -10.5457 -4.18508 35.8905 -12.515 -10.2247 -3.76184 35.6213 -12.52 -9.89958 -3.36732 35.3285 -12.525 -9.57187 -3.00183 35.0147 -12.53 -9.24315 -2.66541 34.6824 -12.535 -8.91484 -2.35781 34.3343 -12.54 -8.58827 -2.07847 33.9728 -12.545 -8.26467 -1.82657 33.6005 -12.55 -7.94517 -1.601 33.2197 -12.555 -7.6308 -1.40033 32.8329 -12.56 -7.32248 -1.22287 32.4424 -12.565 -7.02103 -1.06664 32.0506 -12.57 -6.72718 -0.92951 31.6595 -12.575 -6.44161 -0.811025 31.2688 -12.58 -6.16472 -0.710215 30.8785 -12.585 -5.89682 -0.625784 30.4896 -12.59 -5.63819 -0.556481 30.1027 -12.595 -5.38904 -0.501102 29.7184 -12.6 -5.14955 -0.458488 29.3371 -12.605 -4.91985 -0.427528 28.9595 -12.61 -4.70004 -0.407155 28.5858 -12.615 -4.49014 -0.39635 28.2163 -12.62 -4.29016 -0.39414 27.8512 -12.625 -4.10003 -0.399596 27.4908 -12.63 -3.91967 -0.411837 27.1349 -12.635 -3.74892 -0.430029 26.7838 -12.64 -3.58758 -0.45339 26.4371 -12.645 -3.43535 -0.481455 26.0951 -12.65 -3.29197 -0.513802 25.7579 -12.655 -3.1572 -0.549961 25.4253 -12.66 -3.03082 -0.589502 25.0973 -12.665 -2.9126 -0.632034 24.7739 -12.67 -2.8023 -0.677205 24.455 -12.675 -2.69967 -0.724701 24.1406 -12.68 -2.60448 -0.774248 23.8307 -12.685 -2.51646 -0.825609 23.5252 -12.69 -2.43536 -0.878588 23.224 -12.695 -2.36092 -0.933028 22.9272 -12.7 -2.29287 -0.988809 22.6346 -12.705 -2.23093 -1.04585 22.3462 -12.71 -2.17483 -1.10411 22.062 -12.715 -2.12429 -1.16359 21.7819 -12.72 -2.07903 -1.22432 21.5058 -12.725 -2.03875 -1.28635 21.2338 -12.73 -2.00332 -1.34964 20.9658 -12.735 -1.97263 -1.41419 20.7018 -12.74 -1.94658 -1.48 20.4417 -12.745 -1.92505 -1.54708 20.1855 -12.75 -1.90794 -1.61548 19.9333 -12.755 -1.89514 -1.68525 19.6849 -12.76 -1.88654 -1.75649 19.4403 -12.765 -1.88201 -1.82927 19.1996 -12.77 -1.88145 -1.90371 18.9628 -12.775 -1.88473 -1.97995 18.7298 -12.78 -1.89173 -2.05813 18.5007 -12.785 -1.90232 -2.13843 18.2755 -12.79 -1.91639 -2.22103 18.0541 -12.795 -1.9338 -2.30613 17.8367 -12.8 -1.95442 -2.39397 17.6231 -12.805 -1.97813 -2.48478 17.4135 -12.81 -2.00506 -2.57861 17.208 -12.815 -2.03526 -2.67561 17.0065 -12.82 -2.06877 -2.77592 16.809 -12.825 -2.10562 -2.87971 16.6158 -12.83 -2.14583 -2.98717 16.4267 -12.835 -2.18946 -3.09849 16.2419 -12.84 -2.23654 -3.21387 16.0614 -12.845 -2.2871 -3.33352 15.8854 -12.85 -2.34121 -3.45767 15.714 -12.855 -2.39892 -3.58654 15.5473 -12.86 -2.46027 -3.72039 15.3854 -12.865 -2.52532 -3.85947 15.2285 -12.87 -2.59414 -4.00404 15.0768 -12.875 -2.66678 -4.15438 14.9304 -12.88 -2.74333 -4.31078 14.7895 -12.885 -2.82384 -4.47353 14.6543 -12.89 -2.90843 -4.64281 14.5252 -12.895 -2.9973 -4.81864 14.4024 -12.9 -3.0906 -5.00144 14.2861 -12.905 -3.18848 -5.19158 14.1767 -12.91 -3.29109 -5.38944 14.0743 -12.915 -3.39859 -5.59535 13.9793 -12.92 -3.51111 -5.80964 13.892 -12.925 -3.62884 -6.0326 13.813 -12.93 -3.75192 -6.26449 13.7426 -12.935 -3.88053 -6.50556 13.6814 -12.94 -4.01482 -6.75602 13.6299 -12.945 -4.15498 -7.01607 13.5887 -12.95 -4.30116 -7.28588 13.5585 -12.955 -4.45355 -7.56558 13.54 -12.96 -4.61233 -7.85531 13.5339 -12.965 -4.77767 -8.15514 13.541 -12.97 -4.94976 -8.46516 13.5622 -12.975 -5.12878 -8.7854 13.5983 -12.98 -5.31492 -9.11588 13.6502 -12.985 -5.50838 -9.45661 13.719 -12.99 -5.70936 -9.80754 13.8057 -12.995 -5.918 -10.1686 13.9112 -13 -6.13403 -10.5388 14.036 -13.005 -6.35761 -10.9181 14.1817 -13.01 -6.58897 -11.3061 14.3499 -13.015 -6.82827 -11.7024 14.5422 -13.02 -7.07561 -12.1065 14.7603 -13.025 -7.33097 -12.5173 15.0055 -13.03 -7.59426 -12.9338 15.2793 -13.035 -7.86532 -13.3546 15.5828 -13.04 -8.14389 -13.778 15.9173 -13.045 -8.42962 -14.2022 16.2839 -13.05 -8.72209 -14.6252 16.6837 -13.055 -9.0208 -15.0446 17.1174 -13.06 -9.32514 -15.4579 17.5861 -13.065 -9.63445 -15.8623 18.0903 -13.07 -9.94797 -16.2548 18.6309 -13.075 -10.2648 -16.6321 19.2083 -13.08 -10.5841 -16.9907 19.823 -13.085 -10.9049 -17.3268 20.4755 -13.09 -11.226 -17.6381 21.1656 -13.095 -11.5463 -17.9214 21.8917 -13.1 -11.8639 -18.1709 22.6515 -13.105 -12.1769 -18.3811 23.4426 -13.11 -12.4834 -18.5469 24.2619 -13.115 -12.7816 -18.6641 25.1058 -13.12 -13.0695 -18.7288 25.9706 -13.125 -13.3451 -18.7378 26.8518 -13.13 -13.6064 -18.6885 27.7447 -13.135 -13.8514 -18.5787 28.6439 -13.14 -14.078 -18.4068 29.5438 -13.145 -14.284 -18.1719 30.4383 -13.15 -14.4673 -17.8735 31.3207 -13.155 -14.6259 -17.5117 32.184 -13.16 -14.7574 -17.0874 33.0208 -13.165 -14.8597 -16.6015 33.8231 -13.17 -14.9316 -16.0507 34.5813 -13.175 -14.9723 -15.4408 35.2891 -13.18 -14.9807 -14.7821 35.9421 -13.185 -14.9562 -14.0842 36.5369 -13.19 -14.8985 -13.3561 37.0704 -13.195 -14.8075 -12.6057 37.54 -13.2 -14.6837 -11.8404 37.9439 -13.205 -14.5276 -11.0667 38.2808 -13.21 -14.3403 -10.2906 38.5501 -13.215 -14.123 -9.51706 38.7516 -13.22 -13.8775 -8.75037 38.8857 -13.225 -13.6055 -7.99409 38.9536 -13.23 -13.3096 -7.25101 38.9569 -13.235 -12.9922 -6.52317 38.8978 -13.24 -12.6564 -5.81184 38.7792 -13.245 -12.3049 -5.11927 38.605 -13.25 -11.9378 -4.45892 38.3828 -13.255 -11.5571 -3.83553 38.1177 -13.26 -11.1657 -3.25094 37.814 -13.265 -10.766 -2.70647 37.4761 -13.27 -10.3605 -2.2029 37.1082 -13.275 -9.95128 -1.74048 36.7143 -13.28 -9.54058 -1.31892 36.2988 -13.285 -9.13034 -0.937396 35.8657 -13.29 -8.72238 -0.594552 35.4191 -13.295 -8.31839 -0.288499 34.9629 -13.3 -7.91994 -0.0168115 34.5011 -13.305 -7.52842 0.223468 34.0376 -13.31 -7.14512 0.434826 33.5747 -13.315 -6.77104 0.618197 33.112 -13.32 -6.40693 0.775679 32.6508 -13.325 -6.05344 0.909345 32.1923 -13.33 -5.71111 1.02121 31.7376 -13.335 -5.3804 1.11322 31.2876 -13.34 -5.06169 1.18725 30.8432 -13.345 -4.75526 1.24514 30.4048 -13.35 -4.46128 1.28864 29.9731 -13.355 -4.17984 1.31944 29.5483 -13.36 -3.91096 1.33918 29.1304 -13.365 -3.65454 1.34942 28.7196 -13.37 -3.41039 1.35166 28.3156 -13.375 -3.17825 1.34696 27.9186 -13.38 -2.95782 1.33617 27.5285 -13.385 -2.74876 1.32022 27.1451 -13.39 -2.55075 1.29994 26.7684 -13.395 -2.36344 1.27611 26.3981 -13.4 -2.18648 1.24945 26.0341 -13.405 -2.0195 1.22062 25.6763 -13.41 -1.86213 1.1902 25.3245 -13.415 -1.71398 1.15874 24.9786 -13.42 -1.57466 1.1267 24.6383 -13.425 -1.44376 1.09448 24.3036 -13.43 -1.32087 1.06243 23.9742 -13.435 -1.20555 1.03083 23.6501 -13.44 -1.09738 0.999895 23.331 -13.445 -0.995904 0.969787 23.0169 -13.45 -0.90069 0.940654 22.7075 -13.455 -0.811415 0.912681 22.4028 -13.46 -0.727782 0.886004 22.1026 -13.465 -0.649499 0.860743 21.8069 -13.47 -0.576269 0.836997 21.5155 -13.475 -0.507798 0.814848 21.2283 -13.48 -0.443792 0.794361 20.9452 -13.485 -0.383956 0.775578 20.6662 -13.49 -0.327996 0.758527 20.3912 -13.495 -0.275616 0.743215 20.1201 -13.5 -0.226521 0.72963 19.8527 -13.505 -0.180418 0.717744 19.5891 -13.51 -0.137011 0.707507 19.3291 -13.515 -0.09603 0.698872 19.0727 -13.52 -0.0573345 0.691872 18.8198 -13.525 -0.0207827 0.686524 18.5704 -13.53 0.0137723 0.682839 18.3244 -13.535 0.0464782 0.680823 18.0818 -13.54 0.0774844 0.680475 17.8425 -13.545 0.106941 0.681792 17.6065 -13.55 0.134999 0.684764 17.3738 -13.555 0.161812 0.689377 17.1442 -13.56 0.187533 0.695612 16.9177 -13.565 0.212316 0.703446 16.6944 -13.57 0.236319 0.71285 16.4741 -13.575 0.259697 0.723791 16.2568 -13.58 0.282605 0.736234 16.0425 -13.585 0.305127 0.750202 15.8311 -13.59 0.327316 0.765741 15.6226 -13.595 0.349238 0.782885 15.4169 -13.6 0.37096 0.80167 15.2142 -13.605 0.392556 0.82213 15.0142 -13.61 0.414099 0.844303 14.817 -13.615 0.43567 0.868224 14.6226 -13.62 0.45735 0.893928 14.4308 -13.625 0.479226 0.921451 14.2418 -13.63 0.501386 0.95083 14.0555 -13.635 0.523924 0.982101 13.8718 -13.64 0.546936 1.0153 13.6907 -13.645 0.570521 1.05046 13.5123 -13.65 0.594783 1.08763 13.3364 -13.655 0.619809 1.12685 13.1631 -13.66 0.645642 1.16825 12.9924 -13.665 0.672324 1.21192 12.8242 -13.67 0.699905 1.25797 12.6586 -13.675 0.72844 1.30651 12.4954 -13.68 0.757991 1.35765 12.3348 -13.685 0.788628 1.41152 12.1768 -13.69 0.820424 1.46823 12.0212 -13.695 0.853461 1.52791 11.8682 -13.7 0.887826 1.5907 11.7178 -13.705 0.923613 1.65673 11.5699 -13.71 0.960923 1.72614 11.4246 -13.715 0.999862 1.79908 11.2818 -13.72 1.04054 1.87569 11.1417 -13.725 1.08308 1.95613 11.0043 -13.73 1.12761 2.04055 10.8695 -13.735 1.17426 2.12912 10.7375 -13.74 1.22317 2.22202 10.6083 -13.745 1.27443 2.31948 10.482 -13.75 1.32814 2.42176 10.3586 -13.755 1.38437 2.52913 10.2382 -13.76 1.44323 2.64187 10.1208 -13.765 1.50485 2.76026 10.0065 -13.77 1.56933 2.88459 9.8955 -13.775 1.63684 3.01518 9.78782 -13.78 1.70751 3.15232 9.68365 -13.785 1.78152 3.29634 9.58314 -13.79 1.85904 3.44756 9.4865 -13.795 1.94025 3.60633 9.39394 -13.8 2.02537 3.77298 9.30568 -13.805 2.11461 3.94788 9.222 -13.81 2.20818 4.13137 9.14315 -13.815 2.30633 4.32384 9.06944 -13.82 2.40932 4.52566 9.00119 -13.825 2.51739 4.73721 8.93873 -13.83 2.63083 4.9589 8.88243 -13.835 2.74992 5.19114 8.83267 -13.84 2.87488 5.43387 8.79011 -13.845 3.00586 5.68676 8.75574 -13.85 3.14318 5.9509 8.72986 -13.855 3.28715 6.22729 8.71284 -13.86 3.43811 6.51686 8.70519 -13.865 3.59637 6.82041 8.70753 -13.87 3.76226 7.13864 8.72058 -13.875 3.93607 7.47215 8.74522 -13.88 4.11812 7.8214 8.78239 -13.885 4.30871 8.18677 8.83318 -13.89 4.50814 8.56853 8.89881 -13.895 4.7167 8.96683 8.98058 -13.9 4.93468 9.38172 9.07992 -13.905 5.16238 9.81314 9.19841 -13.91 5.40006 10.2609 9.33769 -13.915 5.64802 10.7247 9.49957 -13.92 5.90652 11.2043 9.68593 -13.925 6.17583 11.699 9.89881 -13.93 6.45622 12.2083 10.1403 -13.935 6.74794 12.7314 10.4128 -13.94 7.05127 13.2677 10.7184 -13.945 7.36645 13.816 11.0599 -13.95 7.69372 14.3754 11.4397 -13.955 8.03326 14.9447 11.8604 -13.96 8.38381 15.522 12.322 -13.965 8.74503 16.1042 12.8276 -13.97 9.1169 16.6882 13.3813 -13.975 9.49918 17.2701 13.9866 -13.98 9.89133 17.8457 14.6462 -13.985 10.2926 18.4104 15.3621 -13.99 10.7019 18.9591 16.1357 -13.995 11.118 19.4865 16.9676 -14 11.5393 19.9865 17.8579 -14.005 11.9639 20.4529 18.8058 -14.01 12.3899 20.8789 19.8099 -14.015 12.8148 21.2573 20.8681 -14.02 13.236 21.5805 21.9778 -14.025 13.6508 21.8405 23.1354 -14.03 14.0559 22.0287 24.3368 -14.035 14.448 22.1364 25.5773 -14.04 14.8248 22.156 26.8529 -14.045 15.1831 22.0822 28.1533 -14.05 15.518 21.9104 29.464 -14.055 15.8252 21.6373 30.7712 -14.06 16.1008 21.261 32.0617 -14.065 16.3411 20.7814 33.3231 -14.07 16.5429 20.1996 34.5434 -14.075 16.7034 19.5183 35.7112 -14.08 16.8201 18.7415 36.8159 -14.085 16.8911 17.875 37.8475 -14.09 16.9145 16.9258 38.7964 -14.095 16.8892 15.9024 39.654 -14.1 16.8141 14.8149 40.412 -14.105 16.6886 13.6755 41.0609 -14.11 16.5124 12.5008 41.5912 -14.115 16.2872 11.3071 42.0051 -14.12 16.0152 10.1091 42.3056 -14.125 15.6987 8.92034 42.4967 -14.13 15.3406 7.75271 42.5831 -14.135 14.9437 6.61685 42.5698 -14.14 14.5115 5.52199 42.4628 -14.145 14.0475 4.47593 42.2685 -14.15 13.5556 3.48509 41.9942 -14.155 13.0401 2.55448 41.6476 -14.16 12.5054 1.68774 41.2372 -14.165 11.9565 0.887088 40.7722 -14.17 11.398 0.153462 40.2627 -14.175 10.8329 -0.512908 39.7204 -14.18 10.2644 -1.11325 39.1529 -14.185 9.69596 -1.64945 38.5666 -14.19 9.1307 -2.12386 37.9674 -14.195 8.57139 -2.53938 37.3607 -14.2 8.02051 -2.89938 36.7513 -14.205 7.48023 -3.20772 36.1436 -14.21 6.95241 -3.46879 35.5414 -14.215 6.43863 -3.68746 34.9479 -14.22 5.94014 -3.86911 34.3659 -14.225 5.45788 -4.0196 33.7976 -14.23 4.99259 -4.14338 33.2441 -14.235 4.54477 -4.24116 32.7048 -14.24 4.11459 -4.31607 32.1798 -14.245 3.70215 -4.37112 31.6694 -14.25 3.30743 -4.40912 31.1735 -14.255 2.93035 -4.43266 30.6919 -14.26 2.57074 -4.44415 30.2247 -14.265 2.22832 -4.44575 29.7713 -14.27 1.90276 -4.43945 29.3315 -14.275 1.5936 -4.427 28.9048 -14.28 1.30032 -4.40997 28.4905 -14.285 1.02231 -4.38969 28.0879 -14.29 0.758735 -4.36753 27.6965 -14.295 0.508891 -4.34454 27.3159 -14.3 0.272216 -4.3215 26.9457 -14.305 0.0481353 -4.29914 26.5853 -14.31 -0.163937 -4.27815 26.2343 -14.315 -0.3646 -4.25915 25.8923 -14.32 -0.554462 -4.24273 25.559 -14.325 -0.734144 -4.2294 25.234 -14.33 -0.904278 -4.21963 24.917 -14.335 -1.06551 -4.21384 24.6076 -14.34 -1.21849 -4.21241 24.3056 -14.345 -1.36389 -4.21563 24.0108 -14.35 -1.50238 -4.22377 23.7229 -14.355 -1.63465 -4.23703 23.4417 -14.36 -1.76141 -4.25558 23.1671 -14.365 -1.88336 -4.2795 22.8989 -14.37 -2.00111 -4.30879 22.637 -14.375 -2.11498 -4.34348 22.3812 -14.38 -2.22528 -4.38371 22.1316 -14.385 -2.33235 -4.4296 21.8881 -14.39 -2.43651 -4.48129 21.6508 -14.395 -2.53812 -4.53885 21.4197 -14.4 -2.63753 -4.6024 21.1947 -14.405 -2.73509 -4.67199 20.976 -14.41 -2.8312 -4.74769 20.7635 -14.415 -2.92622 -4.82955 20.5573 -14.42 -3.02054 -4.91759 20.3574 -14.425 -3.11458 -5.01184 20.1639 -14.43 -3.20874 -5.1123 19.9767 -14.435 -3.30343 -5.21897 19.7961 -14.44 -3.39908 -5.33181 19.622 -14.445 -3.49612 -5.45079 19.4545 -14.45 -3.59467 -5.57599 19.2938 -14.455 -3.69482 -5.70757 19.1403 -14.46 -3.79673 -5.84567 18.9941 -14.465 -3.9006 -5.99042 18.8555 -14.47 -4.00658 -6.1419 18.7248 -14.475 -4.11487 -6.30021 18.6022 -14.48 -4.22565 -6.46541 18.488 -14.485 -4.33911 -6.63752 18.3825 -14.49 -4.45546 -6.81659 18.286 -14.495 -4.5749 -7.00261 18.1989 -14.5 -4.69764 -7.19556 18.1215 -14.505 -4.82388 -7.39541 18.0543 -14.51 -4.95386 -7.6021 17.9975 -14.515 -5.08778 -7.81554 17.9515 -14.52 -5.22588 -8.03566 17.9169 -14.525 -5.36838 -8.26231 17.894 -14.53 -5.51523 -8.4952 17.8831 -14.535 -5.66647 -8.7343 17.8849 -14.54 -5.82222 -8.97962 17.9 -14.545 -5.98257 -9.23109 17.9292 -14.55 -6.14758 -9.48851 17.9732 -14.555 -6.31729 -9.75163 18.0326 -14.56 -6.4917 -10.0201 18.1083 -14.565 -6.67082 -10.2934 18.2007 -14.57 -6.85459 -10.5711 18.3105 -14.575 -7.04296 -10.8526 18.4383 -14.58 -7.23583 -11.137 18.5847 -14.585 -7.4331 -11.4236 18.7502 -14.59 -7.63462 -11.7115 18.9355 -14.595 -7.84023 -11.9997 19.1409 -14.6 -8.04974 -12.2872 19.367 -14.605 -8.26293 -12.5726 19.6142 -14.61 -8.47956 -12.8549 19.8831 -14.615 -8.69937 -13.1326 20.1741 -14.62 -8.92206 -13.4042 20.4875 -14.625 -9.14722 -13.6689 20.8234 -14.63 -9.37413 -13.9258 21.1816 -14.635 -9.60218 -14.1724 21.5622 -14.64 -9.8307 -14.4062 21.9651 -14.645 -10.059 -14.6248 22.3901 -14.65 -10.2863 -14.826 22.8365 -14.655 -10.5117 -15.0078 23.3035 -14.66 -10.7345 -15.168 23.7902 -14.665 -10.9538 -15.3048 24.2951 -14.67 -11.1685 -15.4164 24.8168 -14.675 -11.3777 -15.5011 25.3535 -14.68 -11.5804 -15.5573 25.9031 -14.685 -11.7755 -15.5836 26.4634 -14.69 -11.9618 -15.5786 27.0319 -14.695 -12.1381 -15.541 27.6058 -14.7 -12.3033 -15.4699 28.1821 -14.705 -12.456 -15.364 28.7576 -14.71 -12.595 -15.2226 29.3287 -14.715 -12.7191 -15.0437 29.8922 -14.72 -12.8281 -14.8248 30.445 -14.725 -12.9208 -14.5687 30.983 -14.73 -12.9962 -14.2788 31.5025 -14.735 -13.0533 -13.9585 31.9998 -14.74 -13.0914 -13.6107 32.4718 -14.745 -13.1099 -13.2384 32.9155 -14.75 -13.1085 -12.8445 33.3285 -14.755 -13.0869 -12.4316 33.7086 -14.76 -13.045 -12.0023 34.0539 -14.765 -12.9831 -11.559 34.3628 -14.77 -12.9013 -11.104 34.6343 -14.775 -12.8003 -10.6395 34.8675 -14.78 -12.6806 -10.1673 35.0618 -14.785 -12.543 -9.68953 35.2171 -14.79 -12.3886 -9.20776 35.3336 -14.795 -12.2186 -8.72364 35.4118 -14.8 -12.0342 -8.23863 35.4525 -14.805 -11.8368 -7.75493 35.4571 -14.81 -11.6256 -7.28106 35.4275 -14.815 -11.4016 -6.82056 35.3649 -14.82 -11.1664 -6.3753 35.2704 -14.825 -10.9215 -5.94695 35.1452 -14.83 -10.6683 -5.53698 34.9909 -14.835 -10.4082 -5.14663 34.8089 -14.84 -10.1424 -4.77692 34.6011 -14.845 -9.87233 -4.42867 34.3691 -14.85 -9.59912 -4.10248 34.1151 -14.855 -9.32398 -3.79874 33.8413 -14.86 -9.04803 -3.51762 33.5499 -14.865 -8.77235 -3.25908 33.2435 -14.87 -8.49796 -3.02287 32.9246 -14.875 -8.22585 -2.80851 32.5961 -14.88 -7.95693 -2.61533 32.261 -14.885 -7.6921 -2.44244 31.9221 -14.89 -7.43218 -2.28871 31.5829 -14.895 -7.17798 -2.15285 31.2449 -14.9 -6.93017 -2.03374 30.9045 -14.905 -6.68912 -1.93048 30.5623 -14.91 -6.45517 -1.84217 30.2192 -14.915 -6.22862 -1.76794 29.8757 -14.92 -6.00973 -1.70695 29.5327 -14.925 -5.79874 -1.65835 29.1907 -14.93 -5.59583 -1.6213 28.8503 -14.935 -5.40116 -1.59501 28.5119 -14.94 -5.21485 -1.57867 28.1759 -14.945 -5.03699 -1.5715 27.8427 -14.95 -4.86762 -1.57273 27.5126 -14.955 -4.70677 -1.58161 27.1857 -14.96 -4.5544 -1.59741 26.8624 -14.965 -4.41047 -1.61939 26.5426 -14.97 -4.27487 -1.64685 26.2264 -14.975 -4.14745 -1.67922 25.9138 -14.98 -4.02789 -1.71652 25.6051 -14.985 -3.91603 -1.75844 25.3003 -14.99 -3.81173 -1.80465 24.9995 -14.995 -3.71483 -1.85484 24.7026 -15 -3.62519 -1.90873 24.4097 -15.005 -3.54264 -1.96607 24.1209 -15.01 -3.46704 -2.02665 23.8361 -15.015 -3.39821 -2.09029 23.5554 -15.02 -3.336 -2.15684 23.2789 -15.025 -3.28022 -2.22617 23.0065 -15.03 -3.2307 -2.29821 22.7382 -15.035 -3.18726 -2.37289 22.4742 -15.04 -3.14972 -2.45018 22.2145 -15.045 -3.1179 -2.5301 21.959 -15.05 -3.09159 -2.61268 21.7078 -15.055 -3.07061 -2.69798 21.4609 -15.06 -3.05476 -2.78611 21.2184 -15.065 -3.04382 -2.8772 20.9802 -15.07 -3.03766 -2.97128 20.7466 -15.075 -3.03627 -3.0684 20.5175 -15.08 -3.03964 -3.16859 20.2929 -15.085 -3.04776 -3.2719 20.0729 -15.09 -3.06063 -3.37843 19.8576 -15.095 -3.07822 -3.48824 19.6471 -15.1 -3.10052 -3.60146 19.4413 -15.105 -3.1275 -3.71819 19.2404 -15.11 -3.15914 -3.83858 19.0446 -15.115 -3.1954 -3.96278 18.8538 -15.12 -3.23625 -4.09096 18.6684 -15.125 -3.28167 -4.22331 18.4883 -15.13 -3.33159 -4.36001 18.3138 -15.135 -3.38599 -4.5013 18.1451 -15.14 -3.44481 -4.6474 17.9823 -15.145 -3.50801 -4.79856 17.8256 -15.15 -3.57553 -4.95504 17.6752 -15.155 -3.64731 -5.11713 17.5314 -15.16 -3.72329 -5.28512 17.3944 -15.165 -3.80365 -5.45896 17.2645 -15.17 -3.88865 -5.63866 17.1419 -15.175 -3.9784 -5.82449 17.0269 -15.18 -4.07299 -6.01668 16.9199 -15.185 -4.17253 -6.21546 16.8211 -15.19 -4.27711 -6.421 16.7309 -15.195 -4.38684 -6.63346 16.6498 -15.2 -4.50179 -6.85299 16.5781 -15.205 -4.62207 -7.07968 16.5163 -15.21 -4.74774 -7.31362 16.465 -15.215 -4.8789 -7.55486 16.4245 -15.22 -5.01562 -7.80343 16.3956 -15.225 -5.15797 -8.05933 16.3787 -15.23 -5.30603 -8.32254 16.3744 -15.235 -5.45986 -8.593 16.3836 -15.24 -5.61953 -8.87065 16.4067 -15.245 -5.7851 -9.15536 16.4446 -15.25 -5.95662 -9.44703 16.4979 -15.255 -6.13416 -9.74548 16.5675 -15.26 -6.3177 -10.0505 16.654 -15.265 -6.50688 -10.3612 16.7571 -15.27 -6.7018 -10.6773 16.8781 -15.275 -6.90263 -10.9984 17.0184 -15.28 -7.10944 -11.3239 17.1794 -15.285 -7.32225 -11.6531 17.3621 -15.29 -7.54099 -11.9852 17.5677 -15.295 -7.76555 -12.319 17.797 -15.3 -7.99571 -12.6536 18.0509 -15.305 -8.2312 -12.9877 18.3301 -15.31 -8.47169 -13.3197 18.6351 -15.315 -8.71676 -13.6482 18.9663 -15.32 -8.96592 -13.9713 19.3241 -15.325 -9.21862 -14.2873 19.7086 -15.33 -9.47424 -14.5942 20.1199 -15.335 -9.73208 -14.8897 20.558 -15.34 -9.99136 -15.1716 21.0226 -15.345 -10.2513 -15.4374 21.5134 -15.35 -10.5109 -15.6846 22.0301 -15.355 -10.7692 -15.9104 22.572 -15.36 -11.0252 -16.1119 23.1384 -15.365 -11.2777 -16.2862 23.7286 -15.37 -11.526 -16.431 24.3418 -15.375 -11.7692 -16.5447 24.9759 -15.38 -12.0053 -16.624 25.627 -15.385 -12.2329 -16.6664 26.2914 -15.39 -12.4501 -16.6695 26.9653 -15.395 -12.6555 -16.6315 27.645 -15.4 -12.8475 -16.5509 28.3264 -15.405 -13.0248 -16.4268 29.0059 -15.41 -13.186 -16.2585 29.6795 -15.415 -13.33 -16.0459 30.3433 -15.42 -13.4554 -15.7893 30.9934 -15.425 -13.5612 -15.4895 31.6258 -15.43 -13.6464 -15.1475 32.2364 -15.435 -13.7099 -14.7649 32.8214 -15.44 -13.7511 -14.3437 33.3767 -15.445 -13.7689 -13.8864 33.8983 -15.45 -13.7628 -13.3958 34.382 -15.455 -13.732 -12.8744 34.8221 -15.46 -13.6765 -12.3267 35.2154 -15.465 -13.5967 -11.759 35.5612 -15.47 -13.493 -11.1767 35.8593 -15.475 -13.3661 -10.5851 36.1096 -15.48 -13.2168 -9.98917 36.3121 -15.485 -13.0458 -9.39333 36.4672 -15.49 -12.8542 -8.80169 36.5756 -15.495 -12.6431 -8.21796 36.6382 -15.5 -12.4137 -7.64546 36.6559 -15.505 -12.1675 -7.08712 36.6301 -15.51 -11.9059 -6.54548 36.5624 -15.515 -11.6306 -6.02272 36.4546 -15.52 -11.3433 -5.52061 36.3087 -15.525 -11.046 -5.04053 36.127 -15.53 -10.7406 -4.58348 35.9121 -15.535 -10.4292 -4.15018 35.6667 -15.54 -10.1127 -3.74338 35.396 -15.545 -9.79255 -3.36432 35.1037 -15.55 -9.47018 -3.01314 34.7922 -15.555 -9.14713 -2.68975 34.4638 -15.56 -8.8248 -2.39387 34.1209 -15.565 -8.50449 -2.12503 33.7657 -15.57 -8.18736 -1.88253 33.4002 -15.575 -7.87453 -1.66548 33.0266 -15.58 -7.56695 -1.4728 32.6466 -15.585 -7.26552 -1.30318 32.2622 -15.59 -6.97101 -1.15514 31.8751 -15.595 -6.6841 -1.02696 31.4869 -15.6 -6.40536 -0.916738 31.0991 -15.605 -6.13526 -0.822374 30.7133 -15.61 -5.87422 -0.742707 30.3298 -15.615 -5.6225 -0.677568 29.9485 -15.62 -5.38024 -0.625797 29.5697 -15.625 -5.14755 -0.586284 29.1939 -15.63 -4.92448 -0.557973 28.8215 -15.635 -4.71107 -0.539865 28.4528 -15.64 -4.50733 -0.531012 28.0881 -15.645 -4.31322 -0.530523 27.7276 -15.65 -4.1287 -0.53756 27.3714 -15.655 -3.95367 -0.551339 27.0198 -15.66 -3.788 -0.571133 26.6728 -15.665 -3.63155 -0.596267 26.3304 -15.67 -3.48412 -0.626121 25.9927 -15.675 -3.34551 -0.660131 25.6594 -15.68 -3.21542 -0.69782 25.3306 -15.685 -3.09347 -0.738899 25.0064 -15.69 -2.97943 -0.783025 24.6867 -15.695 -2.87311 -0.829873 24.3715 -15.7 -2.7743 -0.879154 24.0607 -15.705 -2.68278 -0.93061 23.7543 -15.71 -2.59833 -0.984016 23.4522 -15.715 -2.52074 -1.03918 23.1544 -15.72 -2.44977 -1.09595 22.8609 -15.725 -2.3852 -1.15419 22.5716 -15.73 -2.32678 -1.21381 22.2864 -15.735 -2.27429 -1.27476 22.0054 -15.74 -2.22746 -1.33701 21.7286 -15.745 -2.18606 -1.40055 21.4558 -15.75 -2.14983 -1.46545 21.187 -15.755 -2.11851 -1.53175 20.9223 -15.76 -2.09184 -1.59958 20.6616 -15.765 -2.06955 -1.66907 20.4048 -15.77 -2.05149 -1.74026 20.152 -15.775 -2.03763 -1.81319 19.9032 -15.78 -2.02794 -1.88786 19.6583 -15.785 -2.02235 -1.96434 19.4174 -15.79 -2.02085 -2.04268 19.1803 -15.795 -2.02337 -2.12296 18.9473 -15.8 -2.02986 -2.20528 18.7181 -15.805 -2.04027 -2.28977 18.493 -15.81 -2.05454 -2.37655 18.2718 -15.815 -2.0726 -2.46578 18.0546 -15.82 -2.09439 -2.55764 17.8415 -15.825 -2.11984 -2.65232 17.6324 -15.83 -2.14888 -2.75001 17.4275 -15.835 -2.18142 -2.85095 17.2268 -15.84 -2.21739 -2.95539 17.0304 -15.845 -2.25671 -3.06358 16.8383 -15.85 -2.29927 -3.17581 16.6505 -15.855 -2.345 -3.29236 16.4673 -15.86 -2.39412 -3.4133 16.2887 -15.865 -2.4468 -3.53874 16.1148 -15.87 -2.50312 -3.6689 15.9458 -15.875 -2.56316 -3.80401 15.7817 -15.88 -2.62699 -3.9443 15.6226 -15.885 -2.6947 -4.08999 15.4688 -15.89 -2.76638 -4.24134 15.3204 -15.895 -2.84212 -4.39858 15.1776 -15.9 -2.92203 -4.56197 15.0406 -15.905 -3.00621 -4.73177 14.9097 -15.91 -3.09476 -4.90824 14.7852 -15.915 -3.1878 -5.09164 14.6673 -15.92 -3.28544 -5.28225 14.5563 -15.925 -3.38781 -5.48035 14.4526 -15.93 -3.49503 -5.68621 14.3566 -15.935 -3.60723 -5.90012 14.2687 -15.94 -3.72456 -6.12238 14.1892 -15.945 -3.8471 -6.35297 14.1185 -15.95 -3.97492 -6.59089 14.0572 -15.955 -4.10826 -6.83681 14.0059 -15.96 -4.2474 -7.0915 13.9651 -15.965 -4.3926 -7.35561 13.9353 -15.97 -4.54406 -7.62969 13.9174 -15.975 -4.70201 -7.91416 13.912 -15.98 -4.86662 -8.20932 13.9198 -15.985 -5.03807 -8.51535 13.9417 -15.99 -5.2165 -8.83232 13.9785 -15.995 -5.40203 -9.16018 14.0312 -16 -5.59477 -9.49877 14.1006 -16.005 -5.7948 -9.84778 14.1877 -16.01 -6.00219 -10.2068 14.2936 -16.015 -6.21698 -10.5754 14.4194 -16.02 -6.4392 -10.9528 14.5661 -16.025 -6.66883 -11.3383 14.735 -16.03 -6.90588 -11.7311 14.9272 -16.035 -7.15029 -12.13 15.1441 -16.04 -7.40201 -12.5341 15.3868 -16.045 -7.66096 -12.9421 15.6569 -16.05 -7.92703 -13.3526 15.9555 -16.055 -8.20012 -13.7642 16.2843 -16.06 -8.48007 -14.1753 16.6446 -16.065 -8.76673 -14.5842 17.038 -16.07 -9.05991 -14.989 17.4661 -16.075 -9.35884 -15.3884 17.929 -16.08 -9.66232 -15.7797 18.4262 -16.085 -9.96965 -16.1591 18.959 -16.09 -10.28 -16.5226 19.5282 -16.095 -10.5924 -16.8663 20.1338 -16.1 -10.9058 -17.1866 20.7758 -16.105 -11.219 -17.4796 21.4531 -16.11 -11.5306 -17.7417 22.1646 -16.115 -11.8392 -17.9692 22.9083 -16.12 -12.1432 -18.1584 23.682 -16.125 -12.4409 -18.3059 24.4828 -16.13 -12.7303 -18.4081 25.3072 -16.135 -13.0097 -18.4615 26.1514 -16.14 -13.2767 -18.4628 27.0111 -16.145 -13.5293 -18.4085 27.8812 -16.15 -13.765 -18.2953 28.7564 -16.155 -13.9828 -18.1173 29.6331 -16.16 -14.1808 -17.8736 30.5046 -16.165 -14.3565 -17.5676 31.3618 -16.17 -14.5074 -17.2025 32.1965 -16.175 -14.6316 -16.7818 33.0011 -16.18 -14.7274 -16.3089 33.769 -16.185 -14.7934 -15.7876 34.494 -16.19 -14.8286 -15.2215 35.1708 -16.195 -14.8323 -14.6144 35.7949 -16.2 -14.8042 -13.9703 36.3624 -16.205 -14.7443 -13.2933 36.8703 -16.21 -14.6528 -12.5874 37.3161 -16.215 -14.5305 -11.8569 37.6983 -16.22 -14.3782 -11.1061 38.0159 -16.225 -14.1974 -10.3395 38.2688 -16.23 -13.9894 -9.56206 38.4575 -16.235 -13.7539 -8.78683 38.5811 -16.24 -13.492 -8.02293 38.6407 -16.245 -13.206 -7.2756 38.6388 -16.25 -12.8984 -6.54954 38.5782 -16.255 -12.5712 -5.84892 38.462 -16.26 -12.227 -5.17738 38.2936 -16.265 -11.8678 -4.53803 38.0767 -16.27 -11.4959 -3.93344 37.8155 -16.275 -11.1136 -3.36567 37.5142 -16.28 -10.7231 -2.83621 37.1778 -16.285 -10.3266 -2.34604 36.8111 -16.29 -9.92623 -1.89562 36.4195 -16.295 -9.52415 -1.48485 36.0089 -16.3 -9.12254 -1.11312 35.5851 -16.305 -8.72349 -0.779177 35.154 -16.31 -8.32873 -0.480077 34.7154 -16.315 -7.93956 -0.213733 34.27 -16.32 -7.55715 0.0215715 33.8202 -16.325 -7.18259 0.227594 33.3678 -16.33 -6.81683 0.406134 32.9147 -16.335 -6.46073 0.559033 32.4623 -16.34 -6.11501 0.688177 32.0122 -16.345 -5.78031 0.795491 31.5656 -16.35 -5.45711 0.882942 31.1233 -16.355 -5.14583 0.952543 30.6863 -16.36 -4.84673 1.00634 30.2551 -16.365 -4.55999 1.04644 29.8301 -16.37 -4.28566 1.07497 29.4117 -16.375 -4.02368 1.09405 28.9998 -16.38 -3.77386 1.10418 28.5945 -16.385 -3.53596 1.106 28.1957 -16.39 -3.30973 1.10057 27.8036 -16.395 -3.09492 1.08892 27.4179 -16.4 -2.89125 1.07198 27.0387 -16.405 -2.69841 1.05059 26.6658 -16.41 -2.51609 1.02555 26.2991 -16.415 -2.34396 0.997573 25.9384 -16.42 -2.18167 0.967283 25.5838 -16.425 -2.02885 0.935245 25.235 -16.43 -1.88511 0.901947 24.8918 -16.435 -1.75006 0.867799 24.5542 -16.44 -1.62326 0.833139 24.2218 -16.445 -1.50427 0.79826 23.8947 -16.45 -1.39267 0.763448 23.5726 -16.455 -1.28815 0.72894 23.2554 -16.46 -1.19039 0.694948 22.9429 -16.465 -1.09907 0.661654 22.6352 -16.47 -1.01387 0.629218 22.332 -16.475 -0.934467 0.597772 22.0333 -16.48 -0.860536 0.567419 21.7389 -16.485 -0.791755 0.538241 21.4487 -16.49 -0.7278 0.510289 21.1627 -16.495 -0.668346 0.483591 20.8808 -16.5 -0.613066 0.458147 20.6027 -16.505 -0.561634 0.433931 20.3286 -16.51 -0.513721 0.410892 20.0582 -16.515 -0.469089 0.389022 19.7916 -16.52 -0.427587 0.36835 19.5286 -16.525 -0.389055 0.348888 19.2692 -16.53 -0.35333 0.330637 19.0133 -16.535 -0.320248 0.31359 18.761 -16.54 -0.289647 0.297731 18.512 -16.545 -0.26136 0.283037 18.2665 -16.55 -0.235224 0.269474 18.0242 -16.555 -0.21107 0.257 17.7852 -16.56 -0.188734 0.245567 17.5495 -16.565 -0.168046 0.235115 17.3168 -16.57 -0.148839 0.225578 17.0873 -16.575 -0.130942 0.216879 16.8609 -16.58 -0.114197 0.208942 16.6374 -16.585 -0.0985475 0.201768 16.417 -16.59 -0.0839488 0.195361 16.1994 -16.595 -0.0703411 0.189711 15.9848 -16.6 -0.0576632 0.184807 15.773 -16.605 -0.0458527 0.180632 15.564 -16.61 -0.0348454 0.177171 15.3579 -16.615 -0.0245754 0.1744 15.1544 -16.62 -0.0149754 0.172296 14.9537 -16.625 -0.00597649 0.170831 14.7557 -16.63 0.00249199 0.169975 14.5602 -16.635 0.0105021 0.169695 14.3674 -16.64 0.0181277 0.169954 14.1771 -16.645 0.025444 0.170713 13.9894 -16.65 0.0325267 0.171929 13.8041 -16.655 0.0393954 0.17361 13.6213 -16.66 0.0460527 0.175777 13.4409 -16.665 0.0525171 0.178437 13.263 -16.67 0.0588088 0.181598 13.0873 -16.675 0.0649498 0.185264 12.9141 -16.68 0.0709638 0.189441 12.7431 -16.685 0.076876 0.194132 12.5744 -16.69 0.0827136 0.199342 12.4079 -16.695 0.0885054 0.205072 12.2436 -16.7 0.0942818 0.211324 12.0816 -16.705 0.100075 0.218098 11.9217 -16.71 0.105919 0.225395 11.7639 -16.715 0.111849 0.233214 11.6082 -16.72 0.117902 0.241553 11.4546 -16.725 0.124118 0.250409 11.303 -16.73 0.130522 0.259797 11.1535 -16.735 0.137114 0.269756 11.0059 -16.74 0.143901 0.280316 10.8603 -16.745 0.150896 0.291507 10.7167 -16.75 0.158111 0.303358 10.575 -16.755 0.165561 0.315904 10.4352 -16.76 0.173264 0.329175 10.2972 -16.765 0.181239 0.343206 10.1611 -16.77 0.189508 0.358031 10.0269 -16.775 0.198095 0.373686 9.89443 -16.78 0.207026 0.390207 9.76377 -16.785 0.21633 0.407631 9.63487 -16.79 0.226037 0.425996 9.50771 -16.795 0.236179 0.445341 9.38229 -16.8 0.246793 0.465707 9.25857 -16.805 0.257915 0.487133 9.13654 -16.81 0.269585 0.509662 9.01618 -16.815 0.281843 0.533336 8.89748 -16.82 0.294736 0.558213 8.78042 -16.825 0.308292 0.584373 8.66499 -16.83 0.322529 0.61189 8.55118 -16.835 0.337467 0.640841 8.43897 -16.84 0.353132 0.671307 8.32833 -16.845 0.369554 0.703374 8.21926 -16.85 0.386768 0.737135 8.11175 -16.855 0.404814 0.772686 8.00579 -16.86 0.423735 0.810127 7.90137 -16.865 0.44358 0.849565 7.79848 -16.87 0.4644 0.891111 7.69713 -16.875 0.486254 0.934878 7.59731 -16.88 0.509203 0.980989 7.49903 -16.885 0.533314 1.02957 7.40228 -16.89 0.558656 1.08075 7.30708 -16.895 0.585306 1.13466 7.21343 -16.9 0.613342 1.19144 7.12135 -16.905 0.64285 1.25124 7.03084 -16.91 0.673918 1.3142 6.94193 -16.915 0.706639 1.38049 6.85462 -16.92 0.741111 1.45025 6.76894 -16.925 0.777437 1.52366 6.6849 -16.93 0.815745 1.60087 6.6026 -16.935 0.856208 1.68206 6.52222 -16.94 0.898887 1.76749 6.44374 -16.945 0.94385 1.85743 6.36712 -16.95 0.991175 1.95216 6.29235 -16.955 1.04096 2.05197 6.21945 -16.96 1.0933 2.15717 6.14845 -16.965 1.14833 2.26808 6.07942 -16.97 1.20617 2.38503 6.01244 -16.975 1.26699 2.50837 5.94762 -16.98 1.33093 2.63845 5.8851 -16.985 1.39817 2.77566 5.82504 -16.99 1.4689 2.92037 5.76761 -16.995 1.54333 3.07298 5.71303 -17 1.62167 3.23389 5.66153 -17.005 1.70416 3.40355 5.61335 -17.01 1.79102 3.58237 5.56879 -17.015 1.88253 3.77081 5.52813 -17.02 1.97895 3.96932 5.49172 -17.025 2.08057 4.17839 5.45989 -17.03 2.18769 4.3985 5.43303 -17.035 2.30062 4.63016 5.41154 -17.04 2.41967 4.87386 5.39583 -17.045 2.54521 5.13014 5.38635 -17.05 2.67757 5.39955 5.38358 -17.055 2.81712 5.68262 5.38802 -17.06 2.96389 5.97773 5.40149 -17.065 3.11806 6.28446 5.42552 -17.07 3.28017 6.605 5.46021 -17.075 3.45078 6.94131 5.5059 -17.08 3.63039 7.2951 5.56311 -17.085 3.81952 7.66787 5.63257 -17.09 4.01862 8.06084 5.71521 -17.095 4.22815 8.47503 5.81216 -17.1 4.44854 8.91118 5.92476 -17.105 4.6802 9.36983 6.05454 -17.11 4.9235 9.85126 6.20323 -17.115 5.17881 10.3555 6.37278 -17.12 5.44646 10.8824 6.56531 -17.125 5.72677 11.4314 6.78317 -17.13 6.02004 12.002 7.0289 -17.135 6.32653 12.5932 7.30524 -17.14 6.64649 13.2039 7.61513 -17.145 6.98014 13.8325 7.96172 -17.15 7.3277 14.4777 8.34836 -17.155 7.68932 15.1373 8.77859 -17.16 8.06519 15.8095 9.25617 -17.165 8.45542 16.4917 9.78503 -17.17 8.86013 17.1814 10.3693 -17.175 9.27941 17.8758 11.0134 -17.18 9.71333 18.5718 11.7219 -17.185 10.1618 19.2661 12.4991 -17.19 10.6224 19.9539 13.3435 -17.195 11.0933 20.6266 14.2577 -17.2 11.5734 21.2753 15.2456 -17.205 12.0609 21.8907 16.3092 -17.21 12.5539 22.4633 17.4493 -17.215 13.0498 22.9837 18.6651 -17.22 13.5459 23.4419 19.9541 -17.225 14.0388 23.8282 21.3122 -17.23 14.525 24.1323 22.7341 -17.235 15.0003 24.344 24.2125 -17.24 15.4604 24.4529 25.7388 -17.245 15.9004 24.4483 27.3028 -17.25 16.3151 24.3194 28.8929 -17.255 16.7012 24.0512 30.5016 -17.26 17.0539 23.6397 32.1108 -17.265 17.3666 23.0898 33.6954 -17.27 17.6337 22.4074 35.2327 -17.275 17.8503 21.5991 36.7025 -17.28 18.0123 20.6723 38.087 -17.285 18.1167 19.6355 39.3709 -17.29 18.1612 18.4979 40.5413 -17.295 18.1441 17.2697 41.5878 -17.3 18.0649 15.9618 42.5025 -17.305 17.9239 14.5863 43.2797 -17.31 17.722 13.1558 43.9166 -17.315 17.4611 11.684 44.4123 -17.32 17.1422 10.1937 44.7638 -17.325 16.7661 8.71711 44.9673 -17.33 16.3372 7.27122 45.0306 -17.335 15.8604 5.87069 44.963 -17.34 15.3405 4.52821 44.7742 -17.345 14.7825 3.25448 44.4751 -17.35 14.1916 2.05824 44.0774 -17.355 13.5728 0.946211 43.5937 -17.36 12.9316 -0.0768285 43.0373 -17.365 12.2734 -1.0081 42.4227 -17.37 11.6037 -1.84681 41.765 -17.375 10.9282 -2.59414 41.0804 -17.38 10.2521 -3.2541 40.3822 -17.385 9.57897 -3.83351 39.6736 -17.39 8.91226 -4.33729 38.9612 -17.395 8.2552 -4.77048 38.2511 -17.4 7.61062 -5.1383 37.5487 -17.405 6.98096 -5.44618 36.8584 -17.41 6.36832 -5.69975 36.1839 -17.415 5.7744 -5.90484 35.5282 -17.42 5.20053 -6.06748 34.8934 -17.425 4.64767 -6.19392 34.2807 -17.43 4.11641 -6.2906 33.6908 -17.435 3.60706 -6.36315 33.1234 -17.44 3.11982 -6.41316 32.5784 -17.445 2.65446 -6.44372 32.0553 -17.45 2.21062 -6.45799 31.5531 -17.455 1.78791 -6.45886 31.0712 -17.46 1.38587 -6.44898 30.6088 -17.465 1.00398 -6.43078 30.165 -17.47 0.641658 -6.40641 29.739 -17.475 0.298281 -6.3778 29.33 -17.48 -0.0268473 -6.34664 28.9372 -17.485 -0.334476 -6.31435 28.5597 -17.49 -0.625413 -6.28214 28.1966 -17.495 -0.900525 -6.25095 27.8471 -17.5 -1.16077 -6.22154 27.5102 -17.505 -1.40733 -6.19494 27.1853 -17.51 -1.64095 -6.17174 26.8717 -17.515 -1.86227 -6.15235 26.5691 -17.52 -2.07196 -6.13718 26.277 -17.525 -2.27068 -6.12659 25.9948 -17.53 -2.45911 -6.12091 25.7224 -17.535 -2.63793 -6.12044 25.4593 -17.54 -2.80783 -6.12543 25.2051 -17.545 -2.96951 -6.13612 24.9596 -17.55 -3.12368 -6.1527 24.7224 -17.555 -3.27106 -6.17534 24.4934 -17.56 -3.41237 -6.20417 24.2723 -17.565 -3.54834 -6.23928 24.0588 -17.57 -3.67971 -6.28073 23.853 -17.575 -3.80724 -6.32857 23.6545 -17.58 -3.93158 -6.38269 23.4633 -17.585 -4.05295 -6.44287 23.2795 -17.59 -4.17166 -6.50913 23.1031 -17.595 -4.28802 -6.58148 22.9343 -17.6 -4.40236 -6.6599 22.7732 -17.605 -4.51498 -6.74439 22.6198 -17.61 -4.62621 -6.83489 22.4743 -17.615 -4.73638 -6.93135 22.3368 -17.62 -4.8458 -7.03369 22.2074 -17.625 -4.9548 -7.14181 22.0861 -17.63 -5.0637 -7.25558 21.9732 -17.635 -5.17285 -7.37489 21.8686 -17.64 -5.28257 -7.49957 21.7727 -17.645 -5.39319 -7.62944 21.6853 -17.65 -5.50505 -7.76433 21.6068 -17.655 -5.61848 -7.90402 21.5371 -17.66 -5.73359 -8.04831 21.4766 -17.665 -5.85039 -8.1971 21.4254 -17.67 -5.96895 -8.35029 21.3841 -17.675 -6.08936 -8.50773 21.3529 -17.68 -6.21167 -8.66924 21.3321 -17.685 -6.33595 -8.8346 21.3221 -17.69 -6.46224 -9.00355 21.3231 -17.695 -6.59059 -9.17578 21.3354 -17.7 -6.72102 -9.35098 21.3593 -17.705 -6.85355 -9.52876 21.395 -17.71 -6.9882 -9.70872 21.4427 -17.715 -7.12498 -9.89041 21.5027 -17.72 -7.26388 -10.0733 21.5752 -17.725 -7.40488 -10.257 21.6602 -17.73 -7.54797 -10.4408 21.7581 -17.735 -7.69312 -10.6242 21.8689 -17.74 -7.84028 -10.8065 21.9928 -17.745 -7.98937 -10.9872 22.1298 -17.75 -8.14004 -11.1664 22.2797 -17.755 -8.29204 -11.343 22.4427 -17.76 -8.44511 -11.5161 22.619 -17.765 -8.59898 -11.6846 22.8088 -17.77 -8.75337 -11.8476 23.0122 -17.775 -8.90794 -12.004 23.2291 -17.78 -9.06237 -12.1529 23.4593 -17.785 -9.2163 -12.2934 23.7026 -17.79 -9.36933 -12.4246 23.9586 -17.795 -9.52108 -12.5456 24.2268 -17.8 -9.6711 -12.6556 24.5066 -17.805 -9.81896 -12.7537 24.7975 -17.81 -9.96419 -12.8391 25.0985 -17.815 -10.1063 -12.9112 25.4089 -17.82 -10.2448 -12.9691 25.7277 -17.825 -10.379 -13.012 26.0537 -17.83 -10.5086 -13.0394 26.3858 -17.835 -10.6329 -13.0505 26.7228 -17.84 -10.7512 -13.0447 27.0631 -17.845 -10.863 -13.0213 27.4054 -17.85 -10.9677 -12.9799 27.748 -17.855 -11.0645 -12.9195 28.0894 -17.86 -11.1534 -12.8368 28.4291 -17.865 -11.234 -12.7324 28.7655 -17.87 -11.3057 -12.608 29.0963 -17.875 -11.3678 -12.4655 29.4195 -17.88 -11.4199 -12.3065 29.7333 -17.885 -11.4616 -12.1327 30.0359 -17.89 -11.4926 -11.9454 30.3258 -17.895 -11.5126 -11.7462 30.6015 -17.9 -11.5215 -11.5363 30.8617 -17.905 -11.5191 -11.3169 31.1053 -17.91 -11.5053 -11.0892 31.3314 -17.915 -11.4803 -10.8542 31.5392 -17.92 -11.444 -10.6127 31.7279 -17.925 -11.3968 -10.3656 31.897 -17.93 -11.3389 -10.1137 32.0462 -17.935 -11.2705 -9.8576 32.1753 -17.94 -11.1922 -9.59783 32.2842 -17.945 -11.1042 -9.33486 32.3729 -17.95 -11.0073 -9.06904 32.4418 -17.955 -10.9021 -8.80064 32.4911 -17.96 -10.7891 -8.52983 32.5215 -17.965 -10.6692 -8.25667 32.5335 -17.97 -10.5433 -7.98116 32.5282 -17.975 -10.4114 -7.70556 32.5059 -17.98 -10.2725 -7.43602 32.4661 -17.985 -10.1273 -7.17366 32.409 -17.99 -9.9765 -6.91925 32.335 -17.995 -9.82092 -6.67349 32.2444 -18 -9.66125 -6.43704 32.1376 -18.005 -9.49817 -6.21046 32.0154 -18.01 -9.33237 -5.99424 31.8782 -18.015 -9.16448 -5.78883 31.7267 -18.02 -8.99514 -5.59457 31.5618 -18.025 -8.82494 -5.41176 31.3843 -18.03 -8.65447 -5.24061 31.1951 -18.035 -8.48429 -5.08128 30.9952 -18.04 -8.31493 -4.93384 30.7857 -18.045 -8.14691 -4.79829 30.5677 -18.05 -7.98072 -4.67458 30.3426 -18.055 -7.81683 -4.56258 30.1115 -18.06 -7.65568 -4.46207 29.8758 -18.065 -7.49771 -4.37279 29.6371 -18.07 -7.3433 -4.29439 29.3968 -18.075 -7.19285 -4.22646 29.1565 -18.08 -7.04671 -4.16849 28.9178 -18.085 -6.90524 -4.11979 28.6783 -18.09 -6.76862 -4.07994 28.4377 -18.095 -6.63699 -4.04866 28.1964 -18.1 -6.51046 -4.02563 27.9547 -18.105 -6.38916 -4.01058 27.7131 -18.11 -6.27317 -4.00322 27.4719 -18.115 -6.1626 -4.00324 27.2315 -18.12 -6.05751 -4.01039 26.9923 -18.125 -5.95798 -4.02437 26.7545 -18.13 -5.86406 -4.04491 26.5184 -18.135 -5.7758 -4.07173 26.2843 -18.14 -5.69325 -4.10458 26.0525 -18.145 -5.61641 -4.14318 25.8232 -18.15 -5.54531 -4.18728 25.5967 -18.155 -5.47995 -4.23661 25.373 -18.16 -5.42033 -4.29093 25.1525 -18.165 -5.36642 -4.34997 24.9352 -18.17 -5.3182 -4.4135 24.7214 -18.175 -5.27563 -4.48126 24.511 -18.18 -5.23857 -4.55315 24.3043 -18.185 -5.20671 -4.62945 24.1016 -18.19 -5.18004 -4.7101 23.903 -18.195 -5.15857 -4.79501 23.7086 -18.2 -5.1423 -4.8841 23.5186 -18.205 -5.13123 -4.97731 23.333 -18.21 -5.12536 -5.07457 23.1521 -18.215 -5.12466 -5.17582 22.976 -18.22 -5.12913 -5.28103 22.8049 -18.225 -5.13873 -5.39015 22.6389 -18.23 -5.15344 -5.50316 22.4782 -18.235 -5.17321 -5.62002 22.323 -18.24 -5.19799 -5.74074 22.1735 -18.245 -5.22774 -5.8653 22.0299 -18.25 -5.2624 -5.99371 21.8924 -18.255 -5.3019 -6.12598 21.7612 -18.26 -5.34618 -6.26212 21.6366 -18.265 -5.39516 -6.40218 21.5187 -18.27 -5.44875 -6.54618 21.4079 -18.275 -5.50687 -6.69417 21.3043 -18.28 -5.56942 -6.84619 21.2082 -18.285 -5.63629 -7.00232 21.1198 -18.29 -5.70739 -7.16262 21.0396 -18.295 -5.7826 -7.32717 20.9676 -18.3 -5.86186 -7.49567 20.904 -18.305 -5.94528 -7.6678 20.849 -18.31 -6.03294 -7.84358 20.8029 -18.315 -6.12488 -8.02297 20.7663 -18.32 -6.22116 -8.2059 20.7395 -18.325 -6.3218 -8.39226 20.7229 -18.33 -6.42678 -8.58189 20.7169 -18.335 -6.5361 -8.77459 20.7218 -18.34 -6.6497 -8.97014 20.7381 -18.345 -6.76753 -9.16827 20.766 -18.35 -6.88951 -9.36866 20.8058 -18.355 -7.01552 -9.57096 20.8579 -18.36 -7.14545 -9.77477 20.9226 -18.365 -7.27915 -9.97967 21 -18.37 -7.41646 -10.1852 21.0905 -18.375 -7.5572 -10.3908 21.1944 -18.38 -7.70115 -10.596 21.3117 -18.385 -7.8481 -10.8001 21.4428 -18.39 -7.9978 -11.0026 21.5878 -18.395 -8.14998 -11.2027 21.7469 -18.4 -8.30435 -11.3997 21.9203 -18.405 -8.46062 -11.593 22.1081 -18.41 -8.61844 -11.7817 22.3105 -18.415 -8.77748 -11.9649 22.5276 -18.42 -8.93737 -12.1419 22.7594 -18.425 -9.09801 -12.3124 23.0056 -18.43 -9.259 -12.4753 23.2658 -18.435 -9.41985 -12.629 23.5397 -18.44 -9.58 -12.7724 23.8267 -18.445 -9.73894 -12.904 24.1264 -18.45 -9.89609 -13.0226 24.4381 -18.455 -10.0509 -13.1273 24.7611 -18.46 -10.2029 -13.2168 25.0944 -18.465 -10.3513 -13.2904 25.4373 -18.47 -10.4957 -13.3472 25.7885 -18.475 -10.6355 -13.3863 26.1471 -18.48 -10.77 -13.4072 26.5117 -18.485 -10.8986 -13.4093 26.881 -18.49 -11.0208 -13.392 27.2535 -18.495 -11.1358 -13.355 27.6279 -18.5 -11.2431 -13.2979 28.0023 -18.505 -11.342 -13.2204 28.3752 -18.51 -11.4319 -13.1226 28.7446 -18.515 -11.5121 -13.0042 29.1086 -18.52 -11.5818 -12.8653 29.4653 -18.525 -11.6406 -12.7055 29.8125 -18.53 -11.6885 -12.5236 30.1484 -18.535 -11.7249 -12.3216 30.4711 -18.54 -11.7495 -12.1017 30.7792 -18.545 -11.7621 -11.8658 31.0712 -18.55 -11.7624 -11.616 31.3457 -18.555 -11.7503 -11.354 31.6016 -18.56 -11.7258 -11.0816 31.8377 -18.565 -11.6888 -10.8005 32.0533 -18.57 -11.6395 -10.5122 32.2475 -18.575 -11.578 -10.2182 32.4196 -18.58 -11.5046 -9.91977 32.5692 -18.585 -11.4197 -9.61828 32.6959 -18.59 -11.3236 -9.31487 32.7995 -18.595 -11.2169 -9.01061 32.8799 -18.6 -11.1001 -8.70649 32.937 -18.605 -10.9739 -8.4034 32.9712 -18.61 -10.8389 -8.10212 32.9826 -18.615 -10.696 -7.80336 32.9718 -18.62 -10.5461 -7.5077 32.9393 -18.625 -10.3902 -7.21566 32.8859 -18.63 -10.2282 -6.93024 32.813 -18.635 -10.0603 -6.65439 32.7218 -18.64 -9.88733 -6.38889 32.6131 -18.645 -9.71016 -6.13447 32.4876 -18.65 -9.52957 -5.89172 32.3462 -18.655 -9.34633 -5.66118 32.1897 -18.66 -9.16118 -5.44326 32.0191 -18.665 -8.97483 -5.23829 31.8352 -18.67 -8.78797 -5.04649 31.6391 -18.675 -8.60123 -4.86802 31.4318 -18.68 -8.41524 -4.70289 31.2143 -18.685 -8.23059 -4.55107 30.9879 -18.69 -8.04782 -4.41239 30.7535 -18.695 -7.86746 -4.28663 30.5126 -18.7 -7.69002 -4.17342 30.2661 -18.705 -7.51595 -4.07234 30.0156 -18.71 -7.34569 -3.98286 29.7623 -18.715 -7.17964 -3.90434 29.5075 -18.72 -7.01818 -3.83611 29.2526 -18.725 -6.86166 -3.77792 28.9964 -18.73 -6.71029 -3.72947 28.7389 -18.735 -6.56422 -3.69039 28.4805 -18.74 -6.42358 -3.66031 28.2218 -18.745 -6.28852 -3.63886 27.9632 -18.75 -6.15913 -3.62569 27.705 -18.755 -6.03553 -3.62044 27.4476 -18.76 -5.91781 -3.62278 27.1914 -18.765 -5.80602 -3.63235 26.9367 -18.77 -5.70025 -3.64882 26.6838 -18.775 -5.60053 -3.67188 26.433 -18.78 -5.50691 -3.70118 26.1845 -18.785 -5.41939 -3.73643 25.9386 -18.79 -5.33799 -3.77731 25.6954 -18.795 -5.2627 -3.8235 25.4553 -18.8 -5.1935 -3.87473 25.2182 -18.805 -5.13035 -3.93068 24.9844 -18.81 -5.07322 -3.99109 24.7539 -18.815 -5.02196 -4.0558 24.5269 -18.82 -4.97627 -4.12506 24.3037 -18.825 -4.93614 -4.19875 24.0844 -18.83 -4.90155 -4.27677 23.8691 -18.835 -4.87249 -4.35901 23.6579 -18.84 -4.84893 -4.44539 23.451 -18.845 -4.83084 -4.53581 23.2484 -18.85 -4.8182 -4.63024 23.0503 -18.855 -4.81097 -4.7286 22.8569 -18.86 -4.8091 -4.83087 22.6683 -18.865 -4.81254 -4.93703 22.4847 -18.87 -4.82125 -5.04705 22.3062 -18.875 -4.83517 -5.16095 22.133 -18.88 -4.85423 -5.27873 21.9653 -18.885 -4.87837 -5.40043 21.8033 -18.89 -4.90751 -5.52609 21.6471 -18.895 -4.94157 -5.65576 21.497 -18.9 -4.98047 -5.78951 21.3531 -18.905 -5.02413 -5.92742 21.2157 -18.91 -5.07245 -6.06958 21.085 -18.915 -5.12533 -6.2161 20.9613 -18.92 -5.18267 -6.36711 20.8446 -18.925 -5.24435 -6.52271 20.7354 -18.93 -5.31038 -6.6826 20.6338 -18.935 -5.38084 -6.84669 20.5399 -18.94 -5.45582 -7.01507 20.4542 -18.945 -5.5354 -7.18779 20.3769 -18.95 -5.61962 -7.36488 20.3085 -18.955 -5.70853 -7.54632 20.2492 -18.96 -5.80215 -7.73208 20.1995 -18.965 -5.9005 -7.92206 20.1595 -18.97 -6.00356 -8.11617 20.1298 -18.975 -6.11131 -8.31426 20.1107 -18.98 -6.22372 -8.51615 20.1024 -18.985 -6.34075 -8.72163 20.1054 -18.99 -6.46231 -8.93046 20.1201 -18.995 -6.58833 -9.14237 20.1468 -19 -6.71871 -9.35705 20.1858 -19.005 -6.85334 -9.57415 20.2376 -19.01 -6.99209 -9.7933 20.3024 -19.015 -7.13482 -10.0141 20.3808 -19.02 -7.28137 -10.2361 20.4731 -19.025 -7.43156 -10.4588 20.5796 -19.03 -7.58522 -10.6818 20.7007 -19.035 -7.74213 -10.9044 20.8369 -19.04 -7.90207 -11.1261 20.9885 -19.045 -8.06482 -11.3463 21.1559 -19.05 -8.23018 -11.5648 21.3389 -19.055 -8.39795 -11.7807 21.5372 -19.06 -8.56785 -11.9927 21.7515 -19.065 -8.73955 -12.1994 21.9818 -19.07 -8.91271 -12.3996 22.2283 -19.075 -9.08692 -12.592 22.4912 -19.08 -9.26178 -12.7753 22.7702 -19.085 -9.43682 -12.9484 23.065 -19.09 -9.61157 -13.1101 23.3754 -19.095 -9.78549 -13.2593 23.7007 -19.1 -9.95802 -13.3948 24.0403 -19.105 -10.1286 -13.5155 24.3934 -19.11 -10.2966 -13.6205 24.7591 -19.115 -10.4613 -13.7087 25.1363 -19.12 -10.6221 -13.779 25.5239 -19.125 -10.7782 -13.8306 25.9204 -19.13 -10.9289 -13.8625 26.3245 -19.135 -11.0733 -13.8737 26.7346 -19.14 -11.2107 -13.8635 27.1488 -19.145 -11.3403 -13.8309 27.5655 -19.15 -11.461 -13.7751 27.9824 -19.155 -11.5721 -13.6948 28.3979 -19.16 -11.6738 -13.5865 28.8109 -19.165 -11.7652 -13.4517 29.2187 -19.17 -11.8455 -13.2926 29.6186 -19.175 -11.914 -13.1111 30.0079 -19.18 -11.9702 -12.9093 30.3844 -19.185 -12.0134 -12.6891 30.7457 -19.19 -12.0433 -12.452 31.09 -19.195 -12.0595 -12.1999 31.4154 -19.2 -12.0618 -11.9342 31.7205 -19.205 -12.0502 -11.6565 32.0038 -19.21 -12.0246 -11.368 32.2643 -19.215 -11.9851 -11.07 32.5009 -19.22 -11.9319 -10.7637 32.713 -19.225 -11.8653 -10.45 32.9 -19.23 -11.7856 -10.1301 33.0615 -19.235 -11.6935 -9.80466 33.1975 -19.24 -11.5894 -9.4745 33.3081 -19.245 -11.4741 -9.14026 33.3934 -19.25 -11.3484 -8.80251 33.4541 -19.255 -11.2131 -8.46168 33.4908 -19.26 -11.0693 -8.11814 33.5044 -19.265 -10.9168 -7.77621 33.4953 -19.27 -10.7549 -7.44177 33.4634 -19.275 -10.5847 -7.11604 33.4091 -19.28 -10.4071 -6.80012 33.3328 -19.285 -10.2232 -6.495 33.2354 -19.29 -10.0337 -6.20158 33.1174 -19.295 -9.83961 -5.92062 32.9799 -19.3 -9.64178 -5.65282 32.8236 -19.305 -9.44102 -5.39874 32.6496 -19.31 -9.23815 -5.15886 32.4592 -19.315 -9.03393 -4.93352 32.2534 -19.32 -8.82911 -4.72299 32.0338 -19.325 -8.62439 -4.52742 31.8016 -19.33 -8.42048 -4.34686 31.5585 -19.335 -8.21802 -4.18124 31.3061 -19.34 -8.01763 -4.03039 31.0461 -19.345 -7.81993 -3.89406 30.7804 -19.35 -7.62549 -3.77186 30.5109 -19.355 -7.43483 -3.66331 30.2397 -19.36 -7.24849 -3.56783 29.9688 -19.365 -7.067 -3.48447 29.6973 -19.37 -6.89074 -3.41251 29.4235 -19.375 -6.71992 -3.35149 29.1482 -19.38 -6.55472 -3.30096 28.8718 -19.385 -6.39533 -3.26048 28.5949 -19.39 -6.24191 -3.22959 28.3178 -19.395 -6.0946 -3.20787 28.0412 -19.4 -5.95353 -3.19489 27.7654 -19.405 -5.8188 -3.1902 27.4908 -19.41 -5.6905 -3.19338 27.2177 -19.415 -5.56871 -3.20402 26.9465 -19.42 -5.45348 -3.22169 26.6774 -19.425 -5.34485 -3.24598 26.4107 -19.43 -5.24284 -3.27649 26.1467 -19.435 -5.14744 -3.3128 25.8854 -19.44 -5.05865 -3.35452 25.6272 -19.445 -4.97643 -3.40124 25.3721 -19.45 -4.90073 -3.45258 25.1202 -19.455 -4.83141 -3.50832 24.8716 -19.46 -4.76817 -3.56873 24.6266 -19.465 -4.71095 -3.63367 24.3853 -19.47 -4.6597 -3.70298 24.1478 -19.475 -4.61439 -3.77654 23.9142 -19.48 -4.57496 -3.85422 23.6846 -19.485 -4.54136 -3.93592 23.4591 -19.49 -4.51353 -4.02154 23.2379 -19.495 -4.4914 -4.11103 23.021 -19.5 -4.47491 -4.20434 22.8086 -19.505 -4.46399 -4.30143 22.6008 -19.51 -4.45857 -4.40228 22.3978 -19.515 -4.45856 -4.50691 22.1996 -19.52 -4.46388 -4.61534 22.0065 -19.525 -4.47445 -4.7276 21.8186 -19.53 -4.49018 -4.84375 21.6361 -19.535 -4.51096 -4.96388 21.459 -19.54 -4.53671 -5.08806 21.2877 -19.545 -4.56732 -5.21642 21.1221 -19.55 -4.60268 -5.34908 20.9627 -19.555 -4.64268 -5.48619 20.8094 -19.56 -4.68721 -5.6278 20.6625 -19.565 -4.73627 -5.77376 20.5223 -19.57 -4.78995 -5.92415 20.389 -19.575 -4.84832 -6.07909 20.2627 -19.58 -4.91147 -6.23867 20.1438 -19.585 -4.97943 -6.40295 20.0325 -19.59 -5.05227 -6.57198 19.929 -19.595 -5.13003 -6.74579 19.8336 -19.6 -5.21272 -6.9244 19.7466 -19.605 -5.30036 -7.1078 19.6684 -19.61 -5.39297 -7.29598 19.5993 -19.615 -5.49054 -7.48888 19.5396 -19.62 -5.59306 -7.68644 19.4897 -19.625 -5.70049 -7.8886 19.4499 -19.63 -5.81281 -8.09524 19.4207 -19.635 -5.92997 -8.30627 19.4024 -19.64 -6.05191 -8.52153 19.3956 -19.645 -6.17857 -8.74089 19.4005 -19.65 -6.30987 -8.96417 19.4177 -19.655 -6.44572 -9.19118 19.4477 -19.66 -6.58604 -9.42171 19.4909 -19.665 -6.73069 -9.65554 19.5478 -19.67 -6.87958 -9.89243 19.619 -19.675 -7.03257 -10.1321 19.705 -19.68 -7.18938 -10.3744 19.8052 -19.685 -7.34983 -10.6187 19.9195 -19.69 -7.51396 -10.8641 20.0488 -19.695 -7.68175 -11.1098 20.1941 -19.7 -7.85314 -11.3549 20.3563 -19.705 -8.02801 -11.5984 20.536 -19.71 -8.2062 -11.8392 20.7338 -19.715 -8.3875 -12.0765 20.9501 -19.72 -8.57163 -12.309 21.1852 -19.725 -8.75827 -12.5358 21.4392 -19.73 -8.94705 -12.7557 21.7121 -19.735 -9.13755 -12.9676 22.0039 -19.74 -9.32931 -13.1702 22.3142 -19.745 -9.52178 -13.3625 22.6426 -19.75 -9.71441 -13.543 22.9886 -19.755 -9.90657 -13.7106 23.3516 -19.76 -10.0976 -13.864 23.7307 -19.765 -10.2867 -14.0017 24.125 -19.77 -10.4732 -14.1225 24.5335 -19.775 -10.6561 -14.2248 24.9548 -19.78 -10.8348 -14.3074 25.3878 -19.785 -11.0081 -14.3686 25.8308 -19.79 -11.1751 -14.407 26.2823 -19.795 -11.3348 -14.4211 26.7405 -19.8 -11.4861 -14.4093 27.2036 -19.805 -11.6281 -14.37 27.6697 -19.81 -11.761 -14.3016 28.1377 -19.815 -11.884 -14.2049 28.6046 -19.82 -11.996 -14.0807 29.0671 -19.825 -12.096 -13.93 29.5222 -19.83 -12.1831 -13.7536 29.9669 -19.835 -12.2566 -13.5528 30.3987 -19.84 -12.3158 -13.3285 30.8151 -19.845 -12.3601 -13.082 31.2137 -19.85 -12.3892 -12.8144 31.5926 -19.855 -12.4028 -12.5271 31.9498 -19.86 -12.4006 -12.2213 32.2837 -19.865 -12.3827 -11.8984 32.5929 -19.87 -12.3491 -11.5599 32.876 -19.875 -12.2998 -11.2072 33.1321 -19.88 -12.2353 -10.842 33.3601 -19.885 -12.1558 -10.4656 33.5596 -19.89 -12.062 -10.08 33.7299 -19.895 -11.9544 -9.68661 33.8709 -19.9 -11.8336 -9.28756 33.9824 -19.905 -11.6993 -8.88809 34.0641 -19.91 -11.5518 -8.49145 34.116 -19.915 -11.3922 -8.09958 34.1386 -19.92 -11.2215 -7.71428 34.1326 -19.925 -11.0407 -7.33722 34.0987 -19.93 -10.8507 -6.96994 34.0379 -19.935 -10.6526 -6.61384 33.9511 -19.94 -10.4472 -6.27018 33.8395 -19.945 -10.2357 -5.9401 33.7043 -19.95 -10.0188 -5.62458 33.5469 -19.955 -9.79753 -5.3245 33.3689 -19.96 -9.57283 -5.04058 33.1719 -19.965 -9.34561 -4.7734 32.9577 -19.97 -9.11678 -4.52343 32.7281 -19.975 -8.88722 -4.29099 32.4853 -19.98 -8.65784 -4.07626 32.2313 -19.985 -8.4295 -3.8793 31.9684 -19.99 -8.20309 -3.70003 31.6992 -19.995 -7.97949 -3.53765 31.4247 -20 -7.75946 -3.39063 31.1441 -20.005 -7.54347 -3.25852 30.8583 -20.01 -7.33197 -3.14088 30.568 -20.015 -7.12539 -3.03723 30.2742 -20.02 -6.9241 -2.94709 29.9777 -20.025 -6.72847 -2.86992 29.6791 -20.03 -6.5388 -2.8052 29.3792 -20.035 -6.35539 -2.75234 29.0785 -20.04 -6.1785 -2.71076 28.7778 -20.045 -6.00834 -2.67983 28.4775 -20.05 -5.84511 -2.65892 28.1781 -20.055 -5.68896 -2.64734 27.8801 -20.06 -5.54003 -2.64441 27.5839 -20.065 -5.39839 -2.6494 27.2899 -20.07 -5.26413 -2.66157 26.9982 -20.075 -5.13726 -2.68015 26.7093 -20.08 -5.01778 -2.70434 26.4232 -20.085 -4.90561 -2.73353 26.1403 -20.09 -4.80048 -2.76829 25.8604 -20.095 -4.70227 -2.80848 25.5837 -20.1 -4.6109 -2.85379 25.3104 -20.105 -4.52628 -2.90397 25.0405 -20.11 -4.44833 -2.95877 24.7742 -20.115 -4.37696 -3.01797 24.5115 -20.12 -4.31207 -3.08139 24.2526 -20.125 -4.25356 -3.14885 23.9976 -20.13 -4.20133 -3.22022 23.7465 -20.135 -4.15527 -3.29537 23.4995 -20.14 -4.11528 -3.37421 23.2566 -20.145 -4.08124 -3.45667 23.0181 -20.15 -4.05303 -3.54271 22.7838 -20.155 -4.03054 -3.63232 22.554 -20.16 -4.01363 -3.72548 22.3288 -20.165 -4.00219 -3.82225 22.1082 -20.17 -3.99607 -3.92266 21.8923 -20.175 -3.99515 -4.02681 21.6813 -20.18 -3.99925 -4.13478 21.4751 -20.185 -4.0082 -4.24664 21.2742 -20.19 -4.02203 -4.36241 21.0785 -20.195 -4.04079 -4.48215 20.8881 -20.2 -4.0645 -4.6059 20.7031 -20.205 -4.09318 -4.73373 20.5238 -20.21 -4.12685 -4.86568 20.3501 -20.215 -4.16553 -5.00184 20.1823 -20.22 -4.20922 -5.14228 20.0206 -20.225 -4.25793 -5.28708 19.8651 -20.23 -4.31163 -5.43634 19.716 -20.235 -4.37034 -5.59014 19.5737 -20.24 -4.43402 -5.74859 19.4382 -20.245 -4.50266 -5.9118 19.3099 -20.25 -4.57622 -6.07989 19.1891 -20.255 -4.65468 -6.25298 19.0761 -20.26 -4.73799 -6.43119 18.9711 -20.265 -4.82612 -6.61466 18.8745 -20.27 -4.919 -6.80354 18.7867 -20.275 -5.01657 -6.99797 18.708 -20.28 -5.11879 -7.19811 18.6387 -20.285 -5.22557 -7.40412 18.5794 -20.29 -5.33694 -7.61585 18.5302 -20.295 -5.45312 -7.83279 18.4913 -20.3 -5.57425 -8.05504 18.4635 -20.305 -5.70042 -8.28268 18.4471 -20.31 -5.83171 -8.51572 18.4429 -20.315 -5.96819 -8.75408 18.4514 -20.32 -6.10986 -8.99762 18.4732 -20.325 -6.25674 -9.24613 18.5088 -20.33 -6.40881 -9.49935 18.5588 -20.335 -6.56603 -9.75692 18.6237 -20.34 -6.72832 -10.0184 18.7041 -20.345 -6.8956 -10.2834 18.8004 -20.35 -7.06774 -10.5512 18.9133 -20.355 -7.24462 -10.8213 19.0431 -20.36 -7.42605 -11.0929 19.1905 -20.365 -7.61186 -11.3654 19.3559 -20.37 -7.80184 -11.6378 19.5398 -20.375 -7.99573 -11.9093 19.7426 -20.38 -8.19329 -12.1788 19.965 -20.385 -8.39423 -12.4454 20.2072 -20.39 -8.59824 -12.7079 20.4698 -20.395 -8.80499 -12.9652 20.7532 -20.4 -9.0141 -13.2163 21.0575 -20.405 -9.22509 -13.4605 21.3822 -20.41 -9.4374 -13.6954 21.7274 -20.415 -9.65043 -13.919 22.0932 -20.42 -9.86354 -14.1292 22.4792 -20.425 -10.076 -14.324 22.885 -20.43 -10.2872 -14.5016 23.3099 -20.435 -10.4962 -14.6601 23.753 -20.44 -10.7024 -14.798 24.2133 -20.445 -10.9048 -14.9136 24.6893 -20.45 -11.1025 -15.0054 25.1797 -20.455 -11.2947 -15.072 25.6827 -20.46 -11.4803 -15.112 26.1963 -20.465 -11.6583 -15.1243 26.7184 -20.47 -11.8277 -15.1076 27.2467 -20.475 -11.9874 -15.061 27.7785 -20.48 -12.1363 -14.9833 28.3112 -20.485 -12.2731 -14.8739 28.8418 -20.49 -12.3967 -14.7315 29.3671 -20.495 -12.507 -14.5532 29.8847 -20.5 -12.6029 -14.3403 30.3913 -20.505 -12.6835 -14.0957 30.8832 -20.51 -12.7478 -13.822 31.3571 -20.515 -12.7952 -13.5218 31.81 -20.52 -12.8249 -13.1978 32.2391 -20.525 -12.8365 -12.8522 32.642 -20.53 -12.8298 -12.4875 33.0166 -20.535 -12.8047 -12.1058 33.3609 -20.54 -12.761 -11.7094 33.6735 -20.545 -12.699 -11.3002 33.9529 -20.55 -12.619 -10.8802 34.1983 -20.555 -12.5215 -10.4513 34.4089 -20.56 -12.4071 -10.0153 34.5843 -20.565 -12.2765 -9.57386 34.7243 -20.57 -12.1308 -9.12852 34.8292 -20.575 -11.9709 -8.6808 34.8994 -20.58 -11.7981 -8.23209 34.9356 -20.585 -11.613 -7.78618 34.9391 -20.59 -11.4151 -7.35009 34.9115 -20.595 -11.2056 -6.92587 34.8534 -20.6 -10.986 -6.51518 34.766 -20.605 -10.7576 -6.11951 34.6504 -20.61 -10.5216 -5.74016 34.5076 -20.615 -10.2793 -5.37827 34.3393 -20.62 -10.0318 -5.03477 34.1468 -20.625 -9.78029 -4.71044 33.9318 -20.63 -9.52585 -4.40586 33.6962 -20.635 -9.26955 -4.12143 33.4418 -20.64 -9.01241 -3.85739 33.1708 -20.645 -8.7554 -3.61378 32.8853 -20.65 -8.49947 -3.39046 32.5878 -20.655 -8.2455 -3.18713 32.2806 -20.66 -7.99436 -3.00328 31.9665 -20.665 -7.74685 -2.83824 31.6482 -20.67 -7.50375 -2.69115 31.3287 -20.675 -7.26581 -2.56094 31.0096 -20.68 -7.03372 -2.44637 30.6878 -20.685 -6.80784 -2.34667 30.3639 -20.69 -6.58848 -2.26108 30.0384 -20.695 -6.37594 -2.18885 29.7122 -20.7 -6.17048 -2.12925 29.3858 -20.705 -5.97231 -2.08154 29.06 -20.71 -5.78164 -2.04502 28.7351 -20.715 -5.59863 -2.01897 28.4117 -20.72 -5.4234 -2.0027 28.0902 -20.725 -5.25607 -1.9955 27.771 -20.73 -5.0967 -1.9967 27.4544 -20.735 -4.94532 -2.00561 27.1406 -20.74 -4.80196 -2.02158 26.83 -20.745 -4.66657 -2.04395 26.5226 -20.75 -4.53912 -2.07207 26.2185 -20.755 -4.41951 -2.10529 25.9178 -20.76 -4.30752 -2.14334 25.6205 -20.765 -4.20289 -2.18629 25.327 -20.77 -4.10551 -2.23383 25.0372 -20.775 -4.01524 -2.28567 24.7512 -20.78 -3.93199 -2.34157 24.4691 -20.785 -3.85561 -2.40129 24.1909 -20.79 -3.78597 -2.46464 23.9166 -20.795 -3.72296 -2.53143 23.6464 -20.8 -3.66642 -2.60154 23.3802 -20.805 -3.61622 -2.67484 23.1182 -20.81 -3.57221 -2.75126 22.8603 -20.815 -3.53426 -2.83072 22.6067 -20.82 -3.5022 -2.91321 22.3574 -20.825 -3.47588 -2.99872 22.1124 -20.83 -3.45514 -3.08727 21.8719 -20.835 -3.43983 -3.17893 21.6358 -20.84 -3.42977 -3.27378 21.4043 -20.845 -3.42479 -3.37193 21.1774 -20.85 -3.42471 -3.47351 20.9551 -20.855 -3.42926 -3.57869 20.7377 -20.86 -3.43843 -3.6875 20.5253 -20.865 -3.45228 -3.79998 20.3178 -20.87 -3.47089 -3.91617 20.1154 -20.875 -3.49428 -4.03613 19.9181 -20.88 -3.5225 -4.15994 19.726 -20.885 -3.55559 -4.28769 19.5392 -20.89 -3.59356 -4.41946 19.3579 -20.895 -3.63645 -4.55537 19.1822 -20.9 -3.68425 -4.69554 19.0122 -20.905 -3.73697 -4.84011 18.8482 -20.91 -3.7946 -4.98924 18.6904 -20.915 -3.85714 -5.14307 18.5389 -20.92 -3.92457 -5.30178 18.394 -20.925 -3.99685 -5.46557 18.256 -20.93 -4.07396 -5.63463 18.1252 -20.935 -4.15585 -5.80917 18.0018 -20.94 -4.24247 -5.98942 17.8861 -20.945 -4.33378 -6.17561 17.7785 -20.95 -4.42969 -6.368 17.6793 -20.955 -4.53015 -6.56686 17.5889 -20.96 -4.63508 -6.77244 17.5077 -20.965 -4.74452 -6.98479 17.436 -20.97 -4.85894 -7.20327 17.3741 -20.975 -4.97853 -7.42809 17.3225 -20.98 -5.10342 -7.65945 17.2817 -20.985 -5.23371 -7.89748 17.2524 -20.99 -5.3695 -8.14225 17.235 -20.995 -5.51085 -8.39375 17.2301 -21 -5.65784 -8.65193 17.2384 -21.005 -5.81049 -8.91664 17.2605 -21.01 -5.96882 -9.18768 17.297 -21.015 -6.13285 -9.46478 17.3484 -21.02 -6.30254 -9.7476 17.4156 -21.025 -6.47787 -10.0357 17.4991 -21.03 -6.65879 -10.3287 17.5997 -21.035 -6.84522 -10.626 17.718 -21.04 -7.03708 -10.9269 17.8548 -21.045 -7.23426 -11.2309 18.0107 -21.05 -7.43664 -11.5371 18.1866 -21.055 -7.64407 -11.8448 18.3832 -21.06 -7.85639 -12.153 18.6012 -21.065 -8.07343 -12.4608 18.8415 -21.07 -8.29489 -12.7676 19.1044 -21.075 -8.52027 -13.0723 19.3896 -21.08 -8.74926 -13.373 19.6981 -21.085 -8.98149 -13.6678 20.0307 -21.09 -9.2165 -13.9544 20.388 -21.095 -9.45379 -14.2311 20.7703 -21.1 -9.69274 -14.4956 21.1776 -21.105 -9.9327 -14.7459 21.6097 -21.11 -10.1729 -14.98 22.0661 -21.115 -10.4126 -15.1959 22.5461 -21.12 -10.6509 -15.3914 23.0487 -21.125 -10.8868 -15.5646 23.5727 -21.13 -11.1192 -15.7133 24.1166 -21.135 -11.3471 -15.8356 24.6786 -21.14 -11.5694 -15.9294 25.2568 -21.145 -11.7847 -15.9925 25.8489 -21.15 -11.9917 -16.0229 26.4524 -21.155 -12.189 -16.0186 27.0646 -21.16 -12.3752 -15.9775 27.6824 -21.165 -12.5497 -15.8953 28.3044 -21.17 -12.7117 -15.7701 28.9275 -21.175 -12.8595 -15.6043 29.5462 -21.18 -12.9915 -15.3997 30.1552 -21.185 -13.1064 -15.1587 30.7497 -21.19 -13.2028 -14.8831 31.3252 -21.195 -13.28 -14.5752 31.8779 -21.2 -13.3369 -14.237 32.4041 -21.205 -13.3731 -13.8705 32.9007 -21.21 -13.388 -13.4779 33.3648 -21.215 -13.3814 -13.0611 33.7942 -21.22 -13.3532 -12.6222 34.1869 -21.225 -13.3035 -12.1632 34.5413 -21.23 -13.2327 -11.6862 34.8563 -21.235 -13.1413 -11.1932 35.1311 -21.24 -13.0298 -10.6862 35.3656 -21.245 -12.8992 -10.1672 35.5597 -21.25 -12.7505 -9.6382 35.7139 -21.255 -12.5848 -9.10147 35.8291 -21.26 -12.4013 -8.56625 35.9036 -21.265 -12.2005 -8.03848 35.9373 -21.27 -11.984 -7.52098 35.9312 -21.275 -11.7532 -7.01634 35.8867 -21.28 -11.5097 -6.52689 35.8052 -21.285 -11.2548 -6.05472 35.6886 -21.29 -10.9901 -5.60167 35.5385 -21.295 -10.7169 -5.16933 35.3572 -21.3 -10.4367 -4.75903 35.1468 -21.305 -10.1507 -4.37188 34.9099 -21.31 -9.86042 -4.00872 34.649 -21.315 -9.5671 -3.67014 34.367 -21.32 -9.27204 -3.35649 34.0668 -21.325 -8.97653 -3.06788 33.7518 -21.33 -8.68181 -2.80414 33.4252 -21.335 -8.38912 -2.56489 33.0907 -21.34 -8.09967 -2.3494 32.7517 -21.345 -7.81457 -2.15568 32.4071 -21.35 -7.53459 -1.98246 32.057 -21.355 -7.26034 -1.82886 31.7027 -21.36 -6.99242 -1.69394 31.3453 -21.365 -6.73135 -1.57678 30.9858 -21.37 -6.4776 -1.47642 30.6253 -21.375 -6.2316 -1.39187 30.2646 -21.38 -5.99372 -1.32215 29.9044 -21.385 -5.76425 -1.26625 29.5456 -21.39 -5.54347 -1.22313 29.1887 -21.395 -5.33158 -1.19173 28.8342 -21.4 -5.12872 -1.17099 28.4826 -21.405 -4.93499 -1.15983 28.1342 -21.41 -4.75044 -1.15713 27.7893 -21.415 -4.57505 -1.16176 27.448 -21.42 -4.40876 -1.1726 27.1105 -21.425 -4.25133 -1.18952 26.7769 -21.43 -4.10254 -1.21244 26.4472 -21.435 -3.96225 -1.24085 26.1215 -21.44 -3.83027 -1.27427 25.7999 -21.445 -3.70645 -1.31226 25.4824 -21.45 -3.59061 -1.35441 25.169 -21.455 -3.48256 -1.40037 24.8597 -21.46 -3.38212 -1.4498 24.5547 -21.465 -3.28909 -1.50243 24.2538 -21.47 -3.20328 -1.558 23.9572 -21.475 -3.12448 -1.61631 23.6647 -21.48 -3.05248 -1.67718 23.3765 -21.485 -2.98707 -1.74048 23.0925 -21.49 -2.92802 -1.80612 22.8127 -21.495 -2.87511 -1.87403 22.5371 -21.5 -2.8281 -1.94421 22.2656 -21.505 -2.78675 -2.01667 21.9983 -21.51 -2.75079 -2.09143 21.7353 -21.515 -2.72013 -2.16845 21.4764 -21.52 -2.6947 -2.24772 21.2216 -21.525 -2.6744 -2.32924 20.9711 -21.53 -2.65915 -2.41303 20.7248 -21.535 -2.64887 -2.49914 20.4827 -21.54 -2.64347 -2.58762 20.2449 -21.545 -2.64284 -2.67855 20.0113 -21.55 -2.64691 -2.77204 19.7821 -21.555 -2.65556 -2.86821 19.5572 -21.56 -2.66871 -2.96719 19.3367 -21.565 -2.68625 -3.06916 19.1207 -21.57 -2.70808 -3.17427 18.9093 -21.575 -2.73408 -3.28274 18.7025 -21.58 -2.76416 -3.39479 18.5003 -21.585 -2.7982 -3.51064 18.303 -21.59 -2.83608 -3.63056 18.1105 -21.595 -2.87783 -3.75471 17.9231 -21.6 -2.92361 -3.88314 17.7408 -21.605 -2.97349 -4.01603 17.5637 -21.61 -3.0275 -4.15357 17.3921 -21.615 -3.08572 -4.29596 17.2259 -21.62 -3.14819 -4.4434 17.0654 -21.625 -3.21497 -4.5961 16.9108 -21.63 -3.28613 -4.75426 16.7623 -21.635 -3.36173 -4.91809 16.6201 -21.64 -3.44183 -5.0878 16.4844 -21.645 -3.52652 -5.26361 16.3555 -21.65 -3.61585 -5.44574 16.2338 -21.655 -3.70991 -5.63442 16.1195 -21.66 -3.80877 -5.82988 16.0129 -21.665 -3.91251 -6.03234 15.9145 -21.67 -4.02121 -6.24203 15.8247 -21.675 -4.13495 -6.4592 15.7437 -21.68 -4.25383 -6.68405 15.6721 -21.685 -4.37784 -6.91596 15.6101 -21.69 -4.50717 -7.15511 15.5584 -21.695 -4.64203 -7.40201 15.5174 -21.7 -4.78263 -7.65708 15.4879 -21.705 -4.92916 -7.92064 15.4705 -21.71 -5.08177 -8.19291 15.4659 -21.715 -5.24061 -8.47402 15.4749 -21.72 -5.40577 -8.76398 15.4981 -21.725 -5.57737 -9.06273 15.5364 -21.73 -5.75547 -9.3701 15.5905 -21.735 -5.94012 -9.6858 15.6612 -21.74 -6.13134 -10.0095 15.7495 -21.745 -6.32914 -10.3406 15.8561 -21.75 -6.5335 -10.6788 15.982 -21.755 -6.74439 -11.0231 16.1281 -21.76 -6.96173 -11.373 16.2953 -21.765 -7.18545 -11.7275 16.4847 -21.77 -7.41544 -12.0857 16.6972 -21.775 -7.65157 -12.4465 16.9338 -21.78 -7.89369 -12.8088 17.1956 -21.785 -8.14162 -13.1712 17.4837 -21.79 -8.39518 -13.5325 17.7992 -21.795 -8.65414 -13.8912 18.1432 -21.8 -8.91821 -14.2458 18.5166 -21.805 -9.18652 -14.5953 18.9188 -21.81 -9.45846 -14.9368 19.3504 -21.815 -9.7334 -15.2673 19.8124 -21.82 -10.0106 -15.5837 20.305 -21.825 -10.2893 -15.8829 20.8284 -21.83 -10.5685 -16.162 21.382 -21.835 -10.8473 -16.4181 21.9653 -21.84 -11.1245 -16.6483 22.5771 -21.845 -11.3989 -16.8497 23.2158 -21.85 -11.6693 -17.0195 23.8795 -21.855 -11.9341 -17.155 24.566 -21.86 -12.192 -17.2534 25.2725 -21.865 -12.4413 -17.3121 25.996 -21.87 -12.6803 -17.3283 26.733 -21.875 -12.9072 -17.2995 27.4798 -21.88 -13.1202 -17.2232 28.232 -21.885 -13.3178 -17.0954 28.9861 -21.89 -13.4993 -16.9129 29.7385 -21.895 -13.6625 -16.6779 30.4823 -21.9 -13.8056 -16.3931 31.2107 -21.905 -13.9267 -16.0614 31.9175 -21.91 -14.0243 -15.6856 32.597 -21.915 -14.0972 -15.2685 33.2442 -21.92 -14.1446 -14.8132 33.8545 -21.925 -14.1656 -14.3224 34.4239 -21.93 -14.1598 -13.7994 34.9491 -21.935 -14.127 -13.2471 35.4271 -21.94 -14.0674 -12.6687 35.8557 -21.945 -13.9812 -12.0673 36.233 -21.95 -13.8691 -11.4463 36.5578 -21.955 -13.732 -10.8088 36.8295 -21.96 -13.5708 -10.1582 37.0479 -21.965 -13.3871 -9.49789 37.2136 -21.97 -13.1808 -8.83643 37.3261 -21.975 -12.9521 -8.1834 37.3857 -21.98 -12.7029 -7.5429 37.3941 -21.985 -12.4351 -6.91865 37.3532 -21.99 -12.1508 -6.31398 37.2652 -21.995 -11.8517 -5.73184 37.1326 -22 -11.5396 -5.17479 36.9581 -22.005 -11.2166 -4.64501 36.7447 -22.01 -10.8842 -4.1443 36.4957 -22.015 -10.5444 -3.67408 36.2144 -22.02 -10.199 -3.23538 35.9047 -22.025 -9.8496 -2.82884 35.5706 -22.03 -9.498 -2.45474 35.2163 -22.035 -9.14592 -2.11295 34.8462 -22.04 -8.79502 -1.80297 34.4653 -22.045 -8.44698 -1.52387 34.0782 -22.05 -8.10324 -1.27326 33.6845 -22.055 -7.76483 -1.04939 33.2845 -22.06 -7.43268 -0.850956 32.8798 -22.065 -7.10761 -0.67663 32.4721 -22.07 -6.79036 -0.52505 32.0626 -22.075 -6.48161 -0.394826 31.6528 -22.08 -6.18194 -0.28454 31.2438 -22.085 -5.89185 -0.192744 30.8365 -22.09 -5.61175 -0.117961 30.4318 -22.095 -5.34199 -0.058686 30.0305 -22.1 -5.0828 -0.0133828 29.6332 -22.105 -4.83437 0.0195125 29.2403 -22.11 -4.59678 0.0415936 28.8522 -22.115 -4.37004 0.0544829 28.4689 -22.12 -4.15406 0.0597588 28.0906 -22.125 -3.94861 0.0576004 27.7174 -22.13 -3.75348 0.048455 27.3494 -22.135 -3.56845 0.0331089 26.9865 -22.14 -3.39329 0.0122939 26.6286 -22.145 -3.22778 -0.0133133 26.2759 -22.15 -3.07166 -0.0430907 25.9283 -22.155 -2.92469 -0.0764711 25.5857 -22.16 -2.78658 -0.112942 25.248 -22.165 -2.65708 -0.152046 24.9154 -22.17 -2.53589 -0.19338 24.5875 -22.175 -2.42271 -0.236595 24.2645 -22.18 -2.31723 -0.2814 23.9461 -22.185 -2.21914 -0.327554 23.6324 -22.19 -2.1281 -0.374876 23.3232 -22.195 -2.04376 -0.423229 23.0185 -22.2 -1.96578 -0.472471 22.718 -22.205 -1.89393 -0.522468 22.4219 -22.21 -1.828 -0.573108 22.13 -22.215 -1.76779 -0.624304 21.8422 -22.22 -1.71306 -0.675988 21.5585 -22.225 -1.66362 -0.728116 21.2789 -22.23 -1.61925 -0.780667 21.0032 -22.235 -1.57972 -0.833642 20.7315 -22.24 -1.54482 -0.887063 20.4636 -22.245 -1.51433 -0.940975 20.1995 -22.25 -1.48804 -0.995447 19.9393 -22.255 -1.46571 -1.05057 19.6827 -22.26 -1.44714 -1.10645 19.4298 -22.265 -1.43209 -1.16323 19.1806 -22.27 -1.42038 -1.22104 18.935 -22.275 -1.41198 -1.27991 18.693 -22.28 -1.40683 -1.3399 18.4546 -22.285 -1.40486 -1.40111 18.2198 -22.29 -1.40602 -1.46361 17.9885 -22.295 -1.41025 -1.52752 17.7607 -22.3 -1.41749 -1.59295 17.5364 -22.305 -1.42768 -1.66002 17.3156 -22.31 -1.44076 -1.72889 17.0984 -22.315 -1.45668 -1.79969 16.8846 -22.32 -1.47539 -1.8726 16.6743 -22.325 -1.49684 -1.94778 16.4676 -22.33 -1.52096 -2.02543 16.2644 -22.335 -1.54773 -2.10574 16.0647 -22.34 -1.57708 -2.18892 15.8686 -22.345 -1.60901 -2.27516 15.6761 -22.35 -1.6436 -2.36461 15.4872 -22.355 -1.68092 -2.45742 15.3021 -22.36 -1.72101 -2.55377 15.1206 -22.365 -1.76394 -2.65385 14.9429 -22.37 -1.80976 -2.75785 14.769 -22.375 -1.85855 -2.86598 14.599 -22.38 -1.91037 -2.97845 14.433 -22.385 -1.9653 -3.0955 14.271 -22.39 -2.02343 -3.21737 14.1132 -22.395 -2.08483 -3.34429 13.9597 -22.4 -2.1496 -3.47655 13.8106 -22.405 -2.21783 -3.61439 13.6661 -22.41 -2.28962 -3.75811 13.5263 -22.415 -2.36507 -3.908 13.3915 -22.42 -2.44428 -4.06435 13.2617 -22.425 -2.52737 -4.22748 13.1373 -22.43 -2.61446 -4.39765 13.0184 -22.435 -2.7058 -4.57469 12.9055 -22.44 -2.80159 -4.759 12.7989 -22.445 -2.90197 -4.95111 12.6986 -22.45 -3.00711 -5.15151 12.6051 -22.455 -3.11719 -5.36064 12.5185 -22.46 -3.23239 -5.57894 12.4392 -22.465 -3.35288 -5.8068 12.3676 -22.47 -3.47885 -6.04458 12.3042 -22.475 -3.6105 -6.2926 12.2496 -22.48 -3.74803 -6.55115 12.2043 -22.485 -3.89163 -6.8205 12.1689 -22.49 -4.04153 -7.10088 12.1442 -22.495 -4.19792 -7.39249 12.1309 -22.5 -4.36103 -7.69548 12.1298 -22.505 -4.53108 -8.01 12.1418 -22.51 -4.7083 -8.33613 12.1679 -22.515 -4.89293 -8.67396 12.2089 -22.52 -5.08521 -9.0235 12.266 -22.525 -5.28537 -9.38477 12.3403 -22.53 -5.49367 -9.75773 12.4329 -22.535 -5.71037 -10.1423 12.545 -22.54 -5.93572 -10.5384 12.6779 -22.545 -6.16999 -10.946 12.833 -22.55 -6.41278 -11.364 13.0106 -22.555 -6.66391 -11.7917 13.2124 -22.56 -6.92374 -12.2288 13.4405 -22.565 -7.1925 -12.6747 13.6973 -22.57 -7.47032 -13.1284 13.9848 -22.575 -7.75718 -13.5888 14.3048 -22.58 -8.05295 -14.0541 14.6591 -22.585 -8.35739 -14.5226 15.0491 -22.59 -8.67014 -14.9921 15.4762 -22.595 -8.99069 -15.4601 15.9417 -22.6 -9.31845 -15.9236 16.4466 -22.605 -9.65268 -16.3797 16.9918 -22.61 -9.99253 -16.8249 17.5779 -22.615 -10.337 -17.2554 18.2056 -22.62 -10.6851 -17.6671 18.8751 -22.625 -11.0355 -18.0557 19.5867 -22.63 -11.3869 -18.4164 20.3404 -22.635 -11.7379 -18.7443 21.1361 -22.64 -12.0869 -19.0342 21.9735 -22.645 -12.4327 -19.2835 22.8511 -22.65 -12.7729 -19.4864 23.7646 -22.655 -13.105 -19.6362 24.709 -22.66 -13.4263 -19.7272 25.6788 -22.665 -13.7344 -19.7544 26.6684 -22.67 -14.0267 -19.7138 27.6717 -22.675 -14.3007 -19.6024 28.6824 -22.68 -14.554 -19.4178 29.6937 -22.685 -14.7843 -19.1588 30.6986 -22.69 -14.9893 -18.8248 31.6896 -22.695 -15.1665 -18.4162 32.6591 -22.7 -15.3139 -17.9345 33.5989 -22.705 -15.4291 -17.3817 34.5006 -22.71 -15.51 -16.7608 35.3554 -22.715 -15.5545 -16.0752 36.1538 -22.72 -15.5618 -15.3259 36.884 -22.725 -15.5313 -14.5242 37.5418 -22.73 -15.4629 -13.6823 38.125 -22.735 -15.3565 -12.8117 38.6317 -22.74 -15.2128 -11.9225 39.061 -22.745 -15.0324 -11.0243 39.4121 -22.75 -14.8166 -10.1253 39.6851 -22.755 -14.5668 -9.23298 39.8806 -22.76 -14.2849 -8.35379 39.9997 -22.765 -13.9732 -7.49316 40.044 -22.77 -13.6341 -6.65557 40.016 -22.775 -13.2705 -5.84449 39.9184 -22.78 -12.8857 -5.06246 39.7547 -22.785 -12.4834 -4.311 39.5289 -22.79 -12.0667 -3.59305 39.2469 -22.795 -11.6364 -2.91956 38.9194 -22.8 -11.1954 -2.29306 38.5525 -22.805 -10.7466 -1.71441 38.1518 -22.81 -10.2928 -1.18388 37.7221 -22.815 -9.83661 -0.70116 37.2686 -22.82 -9.38035 -0.265365 36.796 -22.825 -8.92623 0.124964 36.3086 -22.83 -8.47627 0.471862 35.8109 -22.835 -8.03226 0.777945 35.3069 -22.84 -7.59584 1.0464 34.8005 -22.845 -7.16843 1.281 34.2953 -22.85 -6.75131 1.48447 33.7934 -22.855 -6.34546 1.65821 33.2948 -22.86 -5.9516 1.80484 32.8011 -22.865 -5.57033 1.92686 32.3132 -22.87 -5.20215 2.02668 31.8322 -22.875 -4.84747 2.10659 31.3588 -22.88 -4.50657 2.1688 30.8937 -22.885 -4.17963 2.21539 30.4372 -22.89 -3.86672 2.24833 29.9896 -22.895 -3.56781 2.26952 29.5509 -22.9 -3.28276 2.28072 29.1211 -22.905 -3.01132 2.28359 28.6998 -22.91 -2.75318 2.27949 28.2871 -22.915 -2.50796 2.26951 27.8829 -22.92 -2.27526 2.25469 27.4868 -22.925 -2.05469 2.23596 27.0987 -22.93 -1.84583 2.21423 26.7182 -22.935 -1.64824 2.19031 26.3452 -22.94 -1.4615 2.16495 25.9793 -22.945 -1.28514 2.13884 25.6204 -22.95 -1.11872 2.11258 25.2682 -22.955 -0.961754 2.08673 24.9225 -22.96 -0.813765 2.06176 24.5831 -22.965 -0.67426 2.03809 24.2498 -22.97 -0.542733 2.01604 23.9223 -22.975 -0.418669 1.99589 23.6006 -22.98 -0.301541 1.97786 23.2845 -22.985 -0.190814 1.96206 22.9737 -22.99 -0.0860218 1.94869 22.668 -22.995 0.0131777 1.93791 22.3674 -23 0.10712 1.92988 22.0717 -23.005 0.196142 1.92474 21.7807 -23.01 0.280581 1.92261 21.4945 -23.015 0.36078 1.92358 21.2129 -23.02 0.43708 1.92774 20.9358 -23.025 0.509826 1.93516 20.6631 -23.03 0.579363 1.9459 20.3948 -23.035 0.646039 1.96 20.1307 -23.04 0.710204 1.97747 19.8708 -23.045 0.772211 1.99831 19.6151 -23.05 0.832411 2.02253 19.3633 -23.055 0.891131 2.0501 19.1156 -23.06 0.948537 2.08113 18.8718 -23.065 1.0048 2.11569 18.632 -23.07 1.0601 2.15386 18.3961 -23.075 1.11463 2.19572 18.1642 -23.08 1.16858 2.24134 17.9362 -23.085 1.22214 2.2908 17.7121 -23.09 1.27551 2.34416 17.4919 -23.095 1.3289 2.40151 17.2756 -23.1 1.38252 2.4629 17.0632 -23.105 1.43658 2.5284 16.8548 -23.11 1.49129 2.59809 16.6502 -23.115 1.54689 2.67204 16.4496 -23.12 1.60359 2.75029 16.253 -23.125 1.66161 2.83295 16.0603 -23.13 1.72106 2.92018 15.8718 -23.135 1.78205 3.01216 15.6874 -23.14 1.84468 3.10909 15.5071 -23.145 1.9091 3.21114 15.3312 -23.15 1.97543 3.31851 15.1595 -23.155 2.04382 3.43138 14.9924 -23.16 2.11442 3.54996 14.8298 -23.165 2.18741 3.67444 14.672 -23.17 2.26297 3.805 14.519 -23.175 2.34127 3.94187 14.371 -23.18 2.42253 4.08522 14.2282 -23.185 2.50695 4.23527 14.0907 -23.19 2.59475 4.39222 13.9589 -23.195 2.68616 4.55627 13.8327 -23.2 2.78142 4.72764 13.7126 -23.205 2.88075 4.90646 13.5987 -23.21 2.98427 5.09296 13.4915 -23.215 3.09214 5.28757 13.3913 -23.22 3.20452 5.49069 13.2983 -23.225 3.32159 5.70271 13.2129 -23.23 3.44353 5.92397 13.1355 -23.235 3.57051 6.15479 13.0667 -23.24 3.70274 6.39545 13.0068 -23.245 3.84042 6.64621 12.9565 -23.25 3.98375 6.90731 12.9163 -23.255 4.13294 7.17894 12.887 -23.26 4.28824 7.46127 12.8692 -23.265 4.44985 7.75443 12.8636 -23.27 4.61803 8.05854 12.8712 -23.275 4.79301 8.37368 12.8927 -23.28 4.97505 8.69989 12.9291 -23.285 5.16441 9.03719 12.9812 -23.29 5.36135 9.38558 13.0502 -23.295 5.56615 9.74501 13.137 -23.3 5.77871 10.1148 13.2422 -23.305 5.99824 10.4934 13.3658 -23.31 6.22521 10.8811 13.51 -23.315 6.4601 11.2783 13.6768 -23.32 6.70327 11.6849 13.8683 -23.325 6.95498 12.1006 14.0865 -23.33 7.21538 12.5249 14.333 -23.335 7.4845 12.9568 14.6095 -23.34 7.76227 13.3952 14.9175 -23.345 8.04852 13.8385 15.2582 -23.35 8.34295 14.285 15.6328 -23.355 8.64517 14.7325 16.0425 -23.36 8.95467 15.1786 16.4881 -23.365 9.27083 15.6208 16.9705 -23.37 9.59294 16.056 17.4902 -23.375 9.92016 16.4808 18.0477 -23.38 10.2515 16.8918 18.6434 -23.385 10.586 17.2851 19.2776 -23.39 10.9225 17.6564 19.9503 -23.395 11.2596 18.0013 20.6615 -23.4 11.5961 18.3151 21.4109 -23.405 11.9304 18.5926 22.1982 -23.41 12.2609 18.8286 23.023 -23.415 12.586 19.0174 23.8847 -23.42 12.9042 19.157 24.7796 -23.425 13.2129 19.2434 25.7012 -23.43 13.5094 19.2717 26.6425 -23.435 13.7909 19.2379 27.5966 -23.44 14.0548 19.1389 28.5566 -23.445 14.2988 18.9724 29.5158 -23.45 14.5206 18.737 30.4673 -23.455 14.718 18.432 31.4042 -23.46 14.8891 18.0577 32.3198 -23.465 15.0319 17.6153 33.2073 -23.47 15.1448 17.1068 34.0599 -23.475 15.2261 16.535 34.8709 -23.48 15.2745 15.9036 35.6335 -23.485 15.2886 15.2172 36.3409 -23.49 15.2673 14.4811 36.9863 -23.495 15.2096 13.7005 37.5598 -23.5 15.1159 12.885 38.0581 -23.505 14.9867 12.0451 38.481 -23.51 14.8229 11.1904 38.8291 -23.515 14.6257 10.3297 39.1029 -23.52 14.3965 9.47117 39.3039 -23.525 14.1367 8.62198 39.4334 -23.53 13.8483 7.78861 39.4936 -23.535 13.5333 6.97672 39.4868 -23.54 13.1939 6.19116 39.416 -23.545 12.8327 5.43601 39.2842 -23.55 12.4524 4.71451 39.0951 -23.555 12.0561 4.02914 38.8528 -23.56 11.6469 3.38155 38.5617 -23.565 11.2281 2.77282 38.2269 -23.57 10.8016 2.207 37.8571 -23.575 10.3692 1.6856 37.4587 -23.58 9.93368 1.20836 37.036 -23.585 9.49724 0.774653 36.5934 -23.59 9.06206 0.383478 36.1349 -23.595 8.63011 0.0334541 35.6642 -23.6 8.20315 -0.277173 35.1848 -23.605 7.7828 -0.550531 34.6998 -23.61 7.37044 -0.789125 34.2123 -23.615 6.96732 -0.995832 33.7249 -23.62 6.57445 -1.1739 33.2401 -23.625 6.19272 -1.32678 32.7598 -23.63 5.82287 -1.45572 32.2845 -23.635 5.46538 -1.56255 31.8147 -23.64 5.12057 -1.64942 31.3512 -23.645 4.7887 -1.71841 30.8945 -23.65 4.46996 -1.77148 30.445 -23.655 4.16444 -1.81046 30.0032 -23.66 3.87219 -1.83709 29.5693 -23.665 3.59314 -1.85299 29.1435 -23.67 3.32719 -1.85966 28.7257 -23.675 3.07413 -1.85851 28.3159 -23.68 2.83369 -1.85082 27.9138 -23.685 2.60551 -1.83777 27.5193 -23.69 2.38913 -1.82036 27.1321 -23.695 2.18414 -1.79941 26.7523 -23.7 1.99018 -1.77565 26.3795 -23.705 1.80685 -1.74977 26.0134 -23.71 1.63375 -1.72241 25.654 -23.715 1.47049 -1.69416 25.301 -23.72 1.31664 -1.66555 24.9542 -23.725 1.17178 -1.63705 24.6134 -23.73 1.03549 -1.6091 24.2784 -23.735 0.907304 -1.58206 23.9491 -23.74 0.786788 -1.55625 23.6252 -23.745 0.673478 -1.53195 23.3066 -23.75 0.566906 -1.50937 22.9932 -23.755 0.466594 -1.48868 22.6848 -23.76 0.372057 -1.46997 22.3812 -23.765 0.282799 -1.45332 22.0824 -23.77 0.198419 -1.43879 21.7882 -23.775 0.118684 -1.42652 21.4985 -23.78 0.0433223 -1.41662 21.2131 -23.785 -0.0279402 -1.40917 20.9321 -23.79 -0.0953799 -1.40425 20.6552 -23.795 -0.159275 -1.40192 20.3825 -23.8 -0.219904 -1.40223 20.1139 -23.805 -0.27755 -1.40521 19.8493 -23.81 -0.332495 -1.4109 19.5886 -23.815 -0.385025 -1.41929 19.3318 -23.82 -0.435426 -1.4304 19.0787 -23.825 -0.483986 -1.4442 18.8294 -23.83 -0.530997 -1.46067 18.5837 -23.835 -0.576745 -1.47978 18.3416 -23.84 -0.621394 -1.50157 18.1031 -23.845 -0.665062 -1.52613 17.8682 -23.85 -0.707889 -1.55349 17.6367 -23.855 -0.750019 -1.58373 17.4088 -23.86 -0.791601 -1.6169 17.1843 -23.865 -0.832787 -1.65305 16.9633 -23.87 -0.873734 -1.69224 16.7458 -23.875 -0.914601 -1.73452 16.5316 -23.88 -0.955554 -1.77995 16.3208 -23.885 -0.996761 -1.82858 16.1134 -23.89 -1.03839 -1.88046 15.9094 -23.895 -1.08063 -1.93565 15.7088 -23.9 -1.12365 -1.99419 15.5115 -23.905 -1.16762 -2.05615 15.3176 -23.91 -1.21268 -2.12165 15.1271 -23.915 -1.25889 -2.19084 14.9399 -23.92 -1.30634 -2.26387 14.7562 -23.925 -1.35513 -2.3409 14.576 -23.93 -1.40537 -2.42209 14.3992 -23.935 -1.45717 -2.5076 14.226 -23.94 -1.51065 -2.59759 14.0564 -23.945 -1.56595 -2.69226 13.8904 -23.95 -1.62321 -2.79176 13.7281 -23.955 -1.68258 -2.89628 13.5697 -23.96 -1.74423 -3.00599 13.4151 -23.965 -1.80832 -3.1211 13.2644 -23.97 -1.87503 -3.24179 13.1179 -23.975 -1.94455 -3.36826 12.9756 -23.98 -2.01708 -3.50069 12.8375 -23.985 -2.09281 -3.6393 12.704 -23.99 -2.17191 -3.78429 12.5751 -23.995 -2.2545 -3.936 12.4511 -24 -2.34069 -4.0948 12.3322 -24.005 -2.43065 -4.26105 12.2184 -24.01 -2.52451 -4.43511 12.1101 -24.015 -2.62246 -4.61731 12.0075 -24.02 -2.72466 -4.808 11.9109 -24.025 -2.83131 -5.00751 11.8207 -24.03 -2.94262 -5.21617 11.7372 -24.035 -3.0588 -5.43431 11.6609 -24.04 -3.18008 -5.66225 11.5922 -24.045 -3.3067 -5.90029 11.5316 -24.05 -3.43892 -6.14875 11.4796 -24.055 -3.57699 -6.40793 11.4369 -24.06 -3.7212 -6.67811 11.4041 -24.065 -3.87184 -6.9596 11.3817 -24.07 -4.0292 -7.25268 11.3705 -24.075 -4.19361 -7.55763 11.3713 -24.08 -4.36533 -7.87454 11.3846 -24.085 -4.54407 -8.20203 11.4114 -24.09 -4.73014 -8.54068 11.4527 -24.095 -4.92399 -8.89157 11.5098 -24.1 -5.12603 -9.25551 11.5838 -24.105 -5.33662 -9.63306 11.6761 -24.11 -5.55606 -10.0246 11.788 -24.115 -5.78458 -10.4301 11.9209 -24.12 -6.02238 -10.8495 12.0762 -24.125 -6.26959 -11.2823 12.2555 -24.13 -6.5263 -11.728 12.4601 -24.135 -6.79252 -12.1856 12.6918 -24.14 -7.06823 -12.6541 12.9519 -24.145 -7.35334 -13.132 13.2423 -24.15 -7.64772 -13.6177 13.5646 -24.155 -7.95117 -14.1093 13.9204 -24.16 -8.26345 -14.6049 14.3116 -24.165 -8.58424 -15.102 14.7399 -24.17 -8.91321 -15.598 15.2072 -24.175 -9.24993 -16.0901 15.7154 -24.18 -9.59393 -16.5752 16.2664 -24.185 -9.9447 -17.0501 16.8622 -24.19 -10.3017 -17.5111 17.5047 -24.195 -10.6641 -17.9548 18.1957 -24.2 -11.0302 -18.3786 18.9328 -24.205 -11.3984 -18.7761 19.7158 -24.21 -11.767 -19.1405 20.5442 -24.215 -12.1342 -19.4653 21.4167 -24.22 -12.4981 -19.7446 22.3313 -24.225 -12.8567 -19.9727 23.2851 -24.23 -13.2077 -20.1443 24.2745 -24.235 -13.5487 -20.2547 25.2948 -24.24 -13.8773 -20.2992 26.3408 -24.245 -14.1907 -20.2739 27.4062 -24.25 -14.4861 -20.175 28.4842 -24.255 -14.7607 -19.9993 29.5668 -24.26 -15.0112 -19.7437 30.6456 -24.265 -15.2345 -19.4058 31.7109 -24.27 -15.4286 -18.9788 32.7543 -24.275 -15.5916 -18.4648 33.7655 -24.28 -15.7204 -17.8726 34.7337 -24.285 -15.8126 -17.2109 35.6492 -24.29 -15.8663 -16.488 36.5035 -24.295 -15.8802 -15.7119 37.2892 -24.3 -15.8534 -14.8901 38.0002 -24.305 -15.7855 -14.0299 38.6314 -24.31 -15.6767 -13.1384 39.179 -24.315 -15.5277 -12.2221 39.6404 -24.32 -15.3397 -11.2873 40.0141 -24.325 -15.1144 -10.3399 40.2998 -24.33 -14.854 -9.3856 40.4983 -24.335 -14.5614 -8.42964 40.6116 -24.34 -14.2386 -7.48102 40.6429 -24.345 -13.8856 -6.55831 40.5961 -24.35 -13.5057 -5.66892 40.4762 -24.355 -13.1022 -4.81845 40.2886 -24.36 -12.6782 -4.01155 40.0388 -24.365 -12.2369 -3.25197 39.7329 -24.37 -11.7815 -2.54251 39.3769 -24.375 -11.315 -1.88503 38.9773 -24.38 -10.8403 -1.28048 38.5409 -24.385 -10.3604 -0.728874 38.0746 -24.39 -9.87805 -0.229295 37.5857 -24.395 -9.39598 0.220104 37.0818 -24.4 -8.91687 0.622024 36.5701 -24.405 -8.44284 0.978907 36.0515 -24.41 -7.97563 1.2933 35.528 -24.415 -7.51683 1.56792 35.0026 -24.42 -7.06785 1.80548 34.4778 -24.425 -6.62995 2.00875 33.9559 -24.43 -6.2042 2.18051 33.4389 -24.435 -5.79149 2.32356 32.9283 -24.44 -5.39257 2.44074 32.4255 -24.445 -5.00797 2.5349 31.9315 -24.45 -4.63808 2.60894 31.4469 -24.455 -4.28312 2.66576 30.9721 -24.46 -3.94312 2.70824 30.507 -24.465 -3.61809 2.7379 30.052 -24.47 -3.30783 2.7561 29.6069 -24.475 -3.01205 2.76448 29.1717 -24.48 -2.73043 2.76456 28.7459 -24.485 -2.46262 2.75776 28.3296 -24.49 -2.20825 2.7454 27.9224 -24.495 -1.96692 2.72868 27.524 -24.5 -1.73821 2.70868 27.1343 -24.505 -1.52168 2.6864 26.7529 -24.51 -1.31686 2.66271 26.3796 -24.515 -1.12325 2.63839 26.0141 -24.52 -0.940335 2.61411 25.6561 -24.525 -0.767562 2.59041 25.3053 -24.53 -0.604366 2.56775 24.9614 -24.535 -0.450091 2.54654 24.6241 -24.54 -0.304186 2.52718 24.2931 -24.545 -0.166218 2.51001 23.9684 -24.55 -0.035751 2.49531 23.6496 -24.555 0.087654 2.48334 23.3366 -24.56 0.204439 2.47436 23.0293 -24.565 0.315048 2.46856 22.7275 -24.57 0.419929 2.46613 22.4311 -24.575 0.519533 2.46722 22.1399 -24.58 0.614312 2.47195 21.8537 -24.585 0.704723 2.48042 21.5725 -24.59 0.791226 2.49271 21.2962 -24.595 0.874282 2.50883 21.0245 -24.6 0.954355 2.52882 20.7576 -24.605 1.03182 2.55269 20.4951 -24.61 1.10689 2.58057 20.2373 -24.615 1.17981 2.61255 19.9839 -24.62 1.25084 2.64871 19.7351 -24.625 1.32021 2.68914 19.4907 -24.63 1.3882 2.73392 19.2508 -24.635 1.45505 2.78312 19.0153 -24.64 1.52103 2.83683 18.7843 -24.645 1.58642 2.89509 18.5577 -24.65 1.65149 2.95797 18.3355 -24.655 1.71652 3.02553 18.1178 -24.66 1.7818 3.09781 17.9045 -24.665 1.84761 3.17486 17.6957 -24.67 1.91425 3.25672 17.4914 -24.675 1.98194 3.34348 17.2917 -24.68 2.05082 3.43529 17.0966 -24.685 2.121 3.53236 16.9062 -24.69 2.19265 3.63484 16.7206 -24.695 2.2659 3.74291 16.5399 -24.7 2.34093 3.85674 16.3643 -24.705 2.4179 3.97652 16.1938 -24.71 2.497 4.1024 16.0286 -24.715 2.57841 4.23456 15.8689 -24.72 2.66236 4.37317 15.7147 -24.725 2.74904 4.5184 15.5664 -24.73 2.83868 4.6704 15.4241 -24.735 2.93152 4.82935 15.288 -24.74 3.0278 4.99541 15.1583 -24.745 3.12777 5.16875 15.0353 -24.75 3.23168 5.3495 14.9192 -24.755 3.33968 5.53776 14.8105 -24.76 3.45191 5.73385 14.7094 -24.765 3.56851 5.93815 14.6163 -24.77 3.68966 6.15098 14.5317 -24.775 3.81551 6.37265 14.4558 -24.78 3.94625 6.60339 14.3893 -24.785 4.08203 6.84344 14.3327 -24.79 4.22305 7.09297 14.2865 -24.795 4.36949 7.35212 14.2512 -24.8 4.52153 7.62099 14.2277 -24.805 4.67936 7.89966 14.2164 -24.81 4.84319 8.18815 14.2183 -24.815 5.01321 8.48644 14.2341 -24.82 5.18963 8.7945 14.2645 -24.825 5.37265 9.11223 14.3105 -24.83 5.56249 9.43953 14.373 -24.835 5.75937 9.77621 14.4529 -24.84 5.96351 10.1221 14.5512 -24.845 6.17468 10.4765 14.6681 -24.85 6.39222 10.8384 14.8037 -24.855 6.61651 11.2076 14.96 -24.86 6.84789 11.5841 15.1391 -24.865 7.08658 11.9673 15.3429 -24.87 7.33272 12.3565 15.573 -24.875 7.58633 12.7508 15.8309 -24.88 7.84735 13.1491 16.1181 -24.885 8.11559 13.5499 16.4358 -24.89 8.39077 13.9516 16.7849 -24.895 8.67252 14.3524 17.1662 -24.9 8.96035 14.7501 17.5805 -24.905 9.25367 15.1424 18.0282 -24.91 9.55179 15.5267 18.5097 -24.915 9.85393 15.9003 19.0251 -24.92 10.1592 16.2601 19.5744 -24.925 10.4666 16.6027 20.1574 -24.93 10.775 16.9248 20.7738 -24.935 11.0833 17.2226 21.423 -24.94 11.3901 17.4921 22.1043 -24.945 11.694 17.729 22.8168 -24.95 11.9935 17.9289 23.5595 -24.955 12.2871 18.0873 24.3311 -24.96 12.5732 18.2001 25.1302 -24.965 12.8508 18.2659 25.9525 -24.97 13.1171 18.2813 26.7916 -24.975 13.3698 18.2433 27.6412 -24.98 13.6065 18.1494 28.4949 -24.985 13.8251 17.9982 29.3468 -24.99 14.0237 17.7884 30.1909 -24.995 14.2004 17.5198 31.0213 -25 14.3536 17.1927 31.8323 -25.005 14.4816 16.808 32.6184 -25.01 14.5832 16.3672 33.3741 -25.015 14.6571 15.8727 34.0941 -25.02 14.7022 15.3273 34.7732 -25.025 14.7177 14.7345 35.4063 -25.03 14.7027 14.0987 35.9885 -25.035 14.6568 13.4246 36.515 -25.04 14.5791 12.718 36.9784 -25.045 14.4701 11.9868 37.3761 -25.05 14.3304 11.2392 37.7083 -25.055 14.1613 10.4825 37.9756 -25.06 13.9638 9.72368 38.179 -25.065 13.7394 8.96912 38.32 -25.07 13.4894 8.22455 38.4 -25.075 13.2156 7.49514 38.421 -25.08 12.9198 6.78548 38.3854 -25.085 12.604 6.09959 38.2958 -25.09 12.2702 5.44091 38.155 -25.095 11.9207 4.81227 37.9664 -25.1 11.558 4.21597 37.7335 -25.105 11.1847 3.65369 37.4604 -25.11 10.8034 3.12654 37.1511 -25.115 10.4167 2.63555 36.811 -25.12 10.0258 2.18213 36.4463 -25.125 9.6328 1.76605 36.0606 -25.13 9.23959 1.38674 35.6574 -25.135 8.848 1.04338 35.2397 -25.14 8.45966 0.734911 34.8106 -25.145 8.07607 0.460003 34.3729 -25.15 7.69859 0.217082 33.9291 -25.155 7.32842 0.00431778 33.4815 -25.16 6.96659 -0.18037 33.0324 -25.165 6.61402 -0.339317 32.5837 -25.17 6.27144 -0.47511 32.1373 -25.175 5.93947 -0.590589 31.6945 -25.18 5.61859 -0.687827 31.2564 -25.185 5.30919 -0.767323 30.8228 -25.19 5.01142 -0.830736 30.3942 -25.195 4.7254 -0.879674 29.9709 -25.2 4.45117 -0.915657 29.5535 -25.205 4.18876 -0.940115 29.142 -25.21 3.93812 -0.95439 28.7368 -25.215 3.69919 -0.959737 28.3379 -25.22 3.47182 -0.95732 27.9455 -25.225 3.25585 -0.948218 27.5595 -25.23 3.05103 -0.933419 27.1799 -25.235 2.8571 -0.913824 26.8065 -25.24 2.67374 -0.890245 26.4392 -25.245 2.50049 -0.863381 26.0777 -25.25 2.33693 -0.833799 25.7222 -25.255 2.18275 -0.80202 25.3723 -25.26 2.03763 -0.768523 25.028 -25.265 1.90124 -0.733747 24.6891 -25.27 1.77326 -0.698089 24.3556 -25.275 1.65336 -0.661906 24.0272 -25.28 1.54118 -0.625515 23.7038 -25.285 1.43638 -0.589192 23.3853 -25.29 1.3386 -0.553171 23.0716 -25.295 1.24748 -0.517645 22.7626 -25.3 1.16265 -0.482769 22.4581 -25.305 1.08372 -0.448655 22.1581 -25.31 1.01032 -0.415374 21.8624 -25.315 0.942052 -0.382956 21.5709 -25.32 0.878519 -0.351393 21.2836 -25.325 0.819338 -0.320648 21.0003 -25.33 0.764356 -0.290809 20.7209 -25.335 0.71341 -0.261935 20.4455 -25.34 0.666307 -0.234055 20.1738 -25.345 0.622855 -0.207184 19.9059 -25.35 0.58286 -0.181327 19.6416 -25.355 0.546128 -0.156475 19.381 -25.36 0.512464 -0.132607 19.124 -25.365 0.481673 -0.10969 18.8704 -25.37 0.45356 -0.0876807 18.6203 -25.375 0.427929 -0.0665203 18.3736 -25.38 0.404583 -0.0461401 18.1301 -25.385 0.383326 -0.0264586 17.89 -25.39 0.36396 -0.00738212 17.653 -25.395 0.34631 0.011178 17.4192 -25.4 0.330331 0.0292207 17.1885 -25.405 0.315959 0.0467638 16.9609 -25.41 0.303123 0.0638366 16.7363 -25.415 0.29175 0.0804728 16.5148 -25.42 0.281766 0.0967112 16.2962 -25.425 0.273097 0.112596 16.0805 -25.43 0.265671 0.128174 15.8677 -25.435 0.259411 0.1435 15.6577 -25.44 0.254244 0.158632 15.4505 -25.445 0.250093 0.173632 15.2461 -25.45 0.246882 0.188569 15.0444 -25.455 0.244536 0.203515 14.8454 -25.46 0.242976 0.218547 14.649 -25.465 0.242147 0.233731 14.4553 -25.47 0.24206 0.249082 14.2641 -25.475 0.242706 0.264626 14.0755 -25.48 0.244076 0.280395 13.8894 -25.485 0.246161 0.296427 13.7058 -25.49 0.24895 0.31276 13.5246 -25.495 0.252433 0.329439 13.3459 -25.5 0.2566 0.34651 13.1695 -25.505 0.261439 0.364024 12.9956 -25.51 0.266938 0.382035 12.8239 -25.515 0.273087 0.400602 12.6546 -25.52 0.279874 0.419787 12.4876 -25.525 0.287285 0.439654 12.3228 -25.53 0.295309 0.460272 12.1602 -25.535 0.303933 0.481715 11.9999 -25.54 0.313153 0.504052 11.8417 -25.545 0.323011 0.527324 11.6857 -25.55 0.333534 0.551575 11.5318 -25.555 0.344742 0.576859 11.38 -25.56 0.35666 0.603232 11.2303 -25.565 0.369311 0.630759 11.0827 -25.57 0.382724 0.659505 10.9371 -25.575 0.396925 0.689544 10.7935 -25.58 0.411944 0.720952 10.652 -25.585 0.427814 0.753813 10.5124 -25.59 0.444565 0.788214 10.3749 -25.595 0.462233 0.824245 10.2393 -25.6 0.480853 0.862006 10.1056 -25.605 0.500463 0.901598 9.97391 -25.61 0.521101 0.943127 9.84414 -25.615 0.542809 0.986707 9.71631 -25.62 0.565628 1.03245 9.5904 -25.625 0.589602 1.08049 9.46641 -25.63 0.614789 1.13093 9.34434 -25.635 0.641347 1.18387 9.22426 -25.64 0.66933 1.23942 9.10616 -25.645 0.698777 1.29773 8.99001 -25.65 0.729731 1.35897 8.87579 -25.655 0.762248 1.4233 8.7635 -25.66 0.796388 1.49089 8.65315 -25.665 0.832222 1.56194 8.54474 -25.67 0.86983 1.63664 8.4383 -25.675 0.909298 1.7152 8.33386 -25.68 0.950722 1.79784 8.23147 -25.685 0.994207 1.88478 8.13117 -25.69 1.03987 1.97625 8.03303 -25.695 1.08782 2.0725 7.93712 -25.7 1.1382 2.17379 7.84352 -25.705 1.19113 2.28039 7.75232 -25.71 1.24678 2.39256 7.66361 -25.715 1.3053 2.51059 7.57751 -25.72 1.36684 2.63478 7.49414 -25.725 1.43157 2.76542 7.41362 -25.73 1.49969 2.90284 7.33608 -25.735 1.57138 3.04736 7.26169 -25.74 1.64683 3.19931 7.19058 -25.745 1.72626 3.35902 7.12294 -25.75 1.80987 3.52687 7.05893 -25.755 1.89789 3.70312 6.99881 -25.76 1.99061 3.88717 6.94376 -25.765 2.08825 4.07959 6.894 -25.77 2.19101 4.28133 6.84943 -25.775 2.29912 4.49331 6.81007 -25.78 2.4128 4.71641 6.77603 -25.785 2.5323 4.95143 6.74756 -25.79 2.65789 5.19916 6.72499 -25.795 2.78983 5.46029 6.70876 -25.8 2.92842 5.73551 6.69944 -25.805 3.07396 6.02543 6.69769 -25.81 3.22676 6.33062 6.70428 -25.815 3.38715 6.6516 6.72009 -25.82 3.55547 6.98883 6.74612 -25.825 3.73207 7.34273 6.78346 -25.83 3.91733 7.71367 6.83332 -25.835 4.11163 8.10197 6.89702 -25.84 4.31536 8.5079 6.97598 -25.845 4.52893 8.93168 7.07174 -25.85 4.75277 9.37347 7.18594 -25.855 4.98731 9.8334 7.32032 -25.86 5.233 10.3115 7.47674 -25.865 5.49031 10.8079 7.65718 -25.87 5.75971 11.3224 7.86371 -25.875 6.0417 11.855 8.09852 -25.88 6.33677 12.4057 8.36389 -25.885 6.64544 12.9741 8.66222 -25.89 6.96811 13.5599 8.99588 -25.895 7.3036 14.1611 9.36614 -25.9 7.65201 14.7764 9.77685 -25.905 8.01377 15.4045 10.2323 -25.91 8.38906 16.0434 10.7362 -25.915 8.77782 16.6903 11.2922 -25.92 9.17975 17.342 11.9034 -25.925 9.59431 17.9944 12.5725 -25.93 10.0207 18.6429 13.3018 -25.935 10.4579 19.2821 14.0933 -25.94 10.9047 19.906 14.9487 -25.945 11.3595 20.5079 15.8691 -25.95 11.8205 21.0804 16.8554 -25.955 12.2859 21.6155 17.9081 -25.96 12.7533 22.1046 19.0273 -25.965 13.2202 22.5383 20.2127 -25.97 13.6841 22.9074 21.4636 -25.975 14.1426 23.2059 22.7765 -25.98 14.5913 23.4217 24.1425 -25.985 15.0259 23.543 25.5519 -25.99 15.442 23.5601 26.9942 -25.995 15.8352 23.4648 28.458 -26 16.2014 23.2513 29.9315 -26.005 16.5362 22.9155 31.402 -26.01 16.8356 22.4553 32.8561 -26.015 17.0955 21.8704 34.2798 -26.02 17.3119 21.1626 35.6583 -26.025 17.4808 20.3357 36.9762 -26.03 17.5984 19.3951 38.2172 -26.035 17.6609 18.3472 39.3634 -26.04 17.6667 17.1958 40.3939 -26.045 17.6149 15.9631 41.3018 -26.05 17.505 14.6722 42.0841 -26.055 17.3371 13.3443 42.7387 -26.06 17.1123 11.9982 43.2647 -26.065 16.8321 10.6506 43.6625 -26.07 16.499 9.31594 43.9336 -26.075 16.116 8.00648 44.0806 -26.08 15.6867 6.73227 44.1073 -26.085 15.2157 5.50116 44.0187 -26.09 14.7082 4.3188 43.821 -26.095 14.1699 3.18861 43.5215 -26.1 13.6069 2.114 43.1298 -26.105 13.0211 1.1134 42.666 -26.11 12.417 0.192959 42.1432 -26.115 11.7997 -0.646062 41.572 -26.12 11.1738 -1.40366 40.9623 -26.125 10.5436 -2.08109 40.3235 -26.13 9.91311 -2.68085 39.6645 -26.135 9.2859 -3.20668 38.9935 -26.14 8.66522 -3.6636 38.3183 -26.145 8.05398 -4.05785 37.6461 -26.15 7.45471 -4.39676 36.9835 -26.155 6.8696 -4.68415 36.3324 -26.16 6.30023 -4.92405 35.6943 -26.165 5.74792 -5.12139 35.0713 -26.17 5.21374 -5.28088 34.4651 -26.175 4.69857 -5.40696 33.8768 -26.18 4.20306 -5.50383 33.3074 -26.185 3.72763 -5.57546 32.7572 -26.19 3.2725 -5.62554 32.2263 -26.195 2.83765 -5.65753 31.7144 -26.2 2.42287 -5.67466 31.2206 -26.205 2.02786 -5.67986 30.7446 -26.21 1.65216 -5.67533 30.2859 -26.215 1.29517 -5.66291 29.8437 -26.22 0.956282 -5.64433 29.4172 -26.225 0.63485 -5.62119 29.0055 -26.23 0.330222 -5.59496 28.6078 -26.235 0.0417234 -5.56701 28.2236 -26.24 -0.23134 -5.53855 27.852 -26.245 -0.489682 -5.5107 27.4926 -26.25 -0.734036 -5.48444 27.1446 -26.255 -0.965154 -5.46063 26.8077 -26.26 -1.18381 -5.44002 26.4812 -26.265 -1.39079 -5.42322 26.1647 -26.27 -1.58691 -5.41071 25.8579 -26.275 -1.773 -5.40288 25.5604 -26.28 -1.94992 -5.39995 25.2717 -26.285 -2.11854 -5.40213 24.9914 -26.29 -2.27944 -5.40962 24.7192 -26.295 -2.4331 -5.42263 24.4549 -26.3 -2.58004 -5.44132 24.1983 -26.305 -2.72076 -5.46584 23.9495 -26.31 -2.85577 -5.49633 23.7081 -26.315 -2.98559 -5.5329 23.4742 -26.32 -3.11076 -5.57562 23.2476 -26.325 -3.23179 -5.62457 23.0283 -26.33 -3.34923 -5.67979 22.8162 -26.335 -3.46362 -5.7413 22.6111 -26.34 -3.5755 -5.80909 22.4132 -26.345 -3.68542 -5.88316 22.2222 -26.35 -3.79395 -5.96344 22.0383 -26.355 -3.90164 -6.04988 21.8613 -26.36 -4.0088 -6.14241 21.6915 -26.365 -4.11558 -6.24104 21.5289 -26.37 -4.22219 -6.34583 21.3739 -26.375 -4.32889 -6.4568 21.2266 -26.38 -4.4359 -6.57396 21.0871 -26.385 -4.54346 -6.6973 20.9557 -26.39 -4.6518 -6.82679 20.8326 -26.395 -4.76118 -6.96239 20.7179 -26.4 -4.87182 -7.10403 20.6119 -26.405 -4.98398 -7.25161 20.5148 -26.41 -5.09789 -7.40504 20.4269 -26.415 -5.21381 -7.56419 20.3484 -26.42 -5.33197 -7.72892 20.2794 -26.425 -5.45263 -7.89906 20.2204 -26.43 -5.57603 -8.07443 20.1714 -26.435 -5.70233 -8.25481 20.1328 -26.44 -5.83151 -8.44003 20.1048 -26.445 -5.96364 -8.63002 20.088 -26.45 -6.09878 -8.82463 20.0828 -26.455 -6.23697 -9.02368 20.0898 -26.46 -6.37823 -9.22693 20.1092 -26.465 -6.52258 -9.43409 20.1417 -26.47 -6.67002 -9.64479 20.1875 -26.475 -6.82054 -9.85862 20.2471 -26.48 -6.9741 -10.0751 20.3208 -26.485 -7.13065 -10.2938 20.4089 -26.49 -7.29015 -10.514 20.5118 -26.495 -7.4525 -10.7352 20.6297 -26.5 -7.61762 -10.9567 20.763 -26.505 -7.7854 -11.1777 20.9119 -26.51 -7.95573 -11.3974 21.0766 -26.515 -8.12847 -11.615 21.2574 -26.52 -8.30346 -11.8296 21.4544 -26.525 -8.48055 -12.0402 21.6677 -26.53 -8.65931 -12.247 21.8972 -26.535 -8.8393 -12.4487 22.1429 -26.54 -9.02012 -12.6438 22.4049 -26.545 -9.20133 -12.8307 22.6831 -26.55 -9.38246 -13.0079 22.9776 -26.555 -9.56302 -13.174 23.2878 -26.56 -9.7425 -13.3276 23.6134 -26.565 -9.92034 -13.4675 23.9537 -26.57 -10.096 -13.5924 24.3081 -26.575 -10.2688 -13.7012 24.6757 -26.58 -10.4382 -13.7928 25.0554 -26.585 -10.6035 -13.8661 25.4461 -26.59 -10.7641 -13.9202 25.8465 -26.595 -10.9192 -13.9542 26.2551 -26.6 -11.068 -13.9673 26.6704 -26.605 -11.21 -13.9587 27.0905 -26.61 -11.3441 -13.9277 27.5138 -26.615 -11.4697 -13.8738 27.938 -26.62 -11.5859 -13.7962 28.3612 -26.625 -11.6919 -13.6946 28.781 -26.63 -11.7867 -13.5682 29.1949 -26.635 -11.8703 -13.4139 29.6014 -26.64 -11.9421 -13.2329 29.9981 -26.645 -12.0015 -13.0279 30.3825 -26.65 -12.0479 -12.8014 30.7524 -26.655 -12.0808 -12.5557 31.1058 -26.66 -12.0999 -12.2932 31.4407 -26.665 -12.1049 -12.0158 31.7556 -26.67 -12.0956 -11.7256 32.0488 -26.675 -12.072 -11.4243 32.3192 -26.68 -12.0342 -11.1137 32.5656 -26.685 -11.9822 -10.7953 32.7872 -26.69 -11.9163 -10.4705 32.9831 -26.695 -11.8368 -10.1406 33.1529 -26.7 -11.7441 -9.80672 33.2963 -26.705 -11.6389 -9.46994 33.413 -26.71 -11.5218 -9.13109 33.5032 -26.715 -11.3934 -8.79092 33.5671 -26.72 -11.2546 -8.45002 33.6051 -26.725 -11.1064 -8.10887 33.6178 -26.73 -10.9499 -7.7678 33.6061 -26.735 -10.7859 -7.42758 33.5709 -26.74 -10.6136 -7.09477 33.513 -26.745 -10.4337 -6.77215 33.4331 -26.75 -10.247 -6.4608 33.332 -26.755 -10.0547 -6.16166 33.2107 -26.76 -9.85749 -5.87555 33.0701 -26.765 -9.65644 -5.60316 32.9113 -26.77 -9.45238 -5.34509 32.7353 -26.775 -9.24615 -5.10179 32.5433 -26.78 -9.03856 -4.87357 32.3366 -26.785 -8.83039 -4.66067 32.1165 -26.79 -8.62237 -4.46315 31.8843 -26.795 -8.41522 -4.281 31.6414 -26.8 -8.20961 -4.11404 31.3893 -26.805 -8.00618 -3.96201 31.1296 -26.81 -7.80554 -3.82448 30.8639 -26.815 -7.60826 -3.70095 30.5939 -26.82 -7.41488 -3.59076 30.3213 -26.825 -7.22592 -3.49316 30.0477 -26.83 -7.04189 -3.40763 29.772 -26.835 -6.86307 -3.33373 29.4941 -26.84 -6.6897 -3.27098 29.2147 -26.845 -6.52198 -3.21893 28.9342 -26.85 -6.36011 -3.17709 28.6532 -26.855 -6.20426 -3.145 28.3722 -26.86 -6.05458 -3.12221 28.0916 -26.865 -5.9112 -3.10826 27.8119 -26.87 -5.77424 -3.10271 27.5335 -26.875 -5.6438 -3.10509 27.2566 -26.88 -5.51993 -3.11497 26.9817 -26.885 -5.40271 -3.13191 26.7089 -26.89 -5.29217 -3.15547 26.4386 -26.895 -5.18832 -3.18522 26.171 -26.9 -5.09116 -3.22074 25.9062 -26.905 -5.00067 -3.2616 25.6445 -26.91 -4.91681 -3.30739 25.3858 -26.915 -4.8395 -3.35772 25.1303 -26.92 -4.76845 -3.4128 24.8783 -26.925 -4.70354 -3.47256 24.6299 -26.93 -4.64475 -3.53682 24.3851 -26.935 -4.592 -3.60542 24.1441 -26.94 -4.54524 -3.67822 23.9071 -26.945 -4.50443 -3.7551 23.674 -26.95 -4.46948 -3.83595 23.445 -26.955 -4.44034 -3.92069 23.2203 -26.96 -4.41693 -4.00925 22.9998 -26.965 -4.39919 -4.10159 22.7839 -26.97 -4.38703 -4.19768 22.5726 -26.975 -4.38036 -4.29751 22.366 -26.98 -4.37911 -4.40109 22.1642 -26.985 -4.38318 -4.50845 21.9675 -26.99 -4.39248 -4.61964 21.7759 -26.995 -4.40692 -4.73472 21.5896 -27 -4.42638 -4.85379 21.4087 -27.005 -4.45077 -4.97694 21.2335 -27.01 -4.47998 -5.1043 21.0641 -27.015 -4.51389 -5.23601 20.9005 -27.02 -4.55238 -5.37216 20.7431 -27.025 -4.5954 -5.51263 20.5921 -27.03 -4.64303 -5.6575 20.4477 -27.035 -4.69536 -5.80688 20.31 -27.04 -4.75246 -5.96086 20.1793 -27.045 -4.81438 -6.11951 20.0558 -27.05 -4.8812 -6.2829 19.9397 -27.055 -4.95294 -6.45107 19.8314 -27.06 -5.02964 -6.62406 19.731 -27.065 -5.11133 -6.80187 19.6389 -27.07 -5.19802 -6.98453 19.5553 -27.075 -5.28971 -7.17201 19.4807 -27.08 -5.38639 -7.36429 19.4154 -27.085 -5.48805 -7.56134 19.3597 -27.09 -5.59467 -7.76309 19.314 -27.095 -5.7062 -7.96948 19.2787 -27.1 -5.82261 -8.18044 19.2543 -27.105 -5.94383 -8.39585 19.2411 -27.11 -6.0698 -8.61562 19.2396 -27.115 -6.20044 -8.83962 19.2503 -27.12 -6.33568 -9.06771 19.2737 -27.125 -6.4754 -9.29973 19.3102 -27.13 -6.61951 -9.53552 19.3604 -27.135 -6.7679 -9.77489 19.4248 -27.14 -6.92038 -10.0176 19.5035 -27.145 -7.07678 -10.2631 19.5958 -27.15 -7.23715 -10.5106 19.7027 -27.155 -7.40152 -10.7596 19.8251 -27.16 -7.56989 -11.0092 19.964 -27.165 -7.74217 -11.2586 20.1201 -27.17 -7.91825 -11.507 20.2941 -27.175 -8.09796 -11.7536 20.4864 -27.18 -8.28107 -11.9972 20.6975 -27.185 -8.4673 -12.237 20.9276 -27.19 -8.65635 -12.4719 21.1768 -27.195 -8.84783 -12.7008 21.4453 -27.2 -9.04132 -12.9225 21.7328 -27.205 -9.23635 -13.1358 22.0391 -27.21 -9.43238 -13.3395 22.364 -27.215 -9.62885 -13.5323 22.707 -27.22 -9.82512 -13.7128 23.0674 -27.225 -10.0205 -13.8796 23.4445 -27.23 -10.2143 -14.0312 23.8376 -27.235 -10.4057 -14.1662 24.2457 -27.24 -10.594 -14.283 24.6676 -27.245 -10.7781 -14.38 25.1022 -27.25 -10.9572 -14.4556 25.5482 -27.255 -11.1303 -14.5079 26.0042 -27.26 -11.2964 -14.5354 26.4685 -27.265 -11.4547 -14.5362 26.9398 -27.27 -11.6054 -14.5094 27.4169 -27.275 -11.7472 -14.4551 27.8965 -27.28 -11.8791 -14.3732 28.3754 -27.285 -11.9998 -14.2639 28.8505 -27.29 -12.1085 -14.1277 29.3189 -27.295 -12.2043 -13.9649 29.778 -27.3 -12.2865 -13.7761 30.225 -27.305 -12.3544 -13.5621 30.6577 -27.31 -12.4074 -13.3237 31.0736 -27.315 -12.4452 -13.0618 31.4709 -27.32 -12.4673 -12.7777 31.8474 -27.325 -12.4736 -12.4725 32.2015 -27.33 -12.464 -12.1476 32.5315 -27.335 -12.4384 -11.8046 32.836 -27.34 -12.397 -11.445 33.1137 -27.345 -12.3398 -11.0706 33.3633 -27.35 -12.2673 -10.6834 33.5841 -27.355 -12.1798 -10.2853 33.7751 -27.36 -12.0773 -9.87977 33.9352 -27.365 -11.9595 -9.47127 34.0635 -27.37 -11.8275 -9.0622 34.1603 -27.375 -11.682 -8.65483 34.226 -27.38 -11.524 -8.25131 34.2613 -27.385 -11.3543 -7.85363 34.2666 -27.39 -11.1739 -7.46364 34.2429 -27.395 -10.9837 -7.08304 34.1912 -27.4 -10.7847 -6.71339 34.1124 -27.405 -10.5778 -6.35613 34.0079 -27.41 -10.3639 -6.01251 33.879 -27.415 -10.144 -5.68368 33.7271 -27.42 -9.91916 -5.37062 33.5539 -27.425 -9.69027 -5.07419 33.3612 -27.43 -9.45836 -4.79507 33.1508 -27.435 -9.22445 -4.53383 32.9248 -27.44 -8.98956 -4.29089 32.6853 -27.445 -8.75472 -4.06652 32.4347 -27.45 -8.52096 -3.86051 32.175 -27.455 -8.28916 -3.67126 31.9064 -27.46 -8.05997 -3.49836 31.63 -27.465 -7.834 -3.34151 31.3467 -27.47 -7.61181 -3.2004 31.0575 -27.475 -7.39394 -3.07464 30.7634 -27.48 -7.18086 -2.96379 30.4653 -27.485 -6.97303 -2.86736 30.1639 -27.49 -6.77085 -2.78481 29.8602 -27.495 -6.5747 -2.71556 29.5548 -27.5 -6.38491 -2.65894 29.2484 -27.505 -6.20177 -2.61428 28.9418 -27.51 -6.02554 -2.58081 28.6355 -27.515 -5.85642 -2.55773 28.3301 -27.52 -5.6946 -2.5442 28.0262 -27.525 -5.54022 -2.53929 27.7242 -27.53 -5.39336 -2.54206 27.4245 -27.535 -5.25409 -2.55149 27.1276 -27.54 -5.12243 -2.56653 26.8338 -27.545 -4.99825 -2.58685 26.5431 -27.55 -4.88128 -2.61335 26.2554 -27.555 -4.77144 -2.64572 25.9707 -27.56 -4.66865 -2.68359 25.6893 -27.565 -4.57282 -2.72668 25.4111 -27.57 -4.48387 -2.77468 25.1364 -27.575 -4.40169 -2.82734 24.8652 -27.58 -4.32619 -2.88443 24.5977 -27.585 -4.25728 -2.94574 24.3339 -27.59 -4.19483 -3.01109 24.074 -27.595 -4.13875 -3.08033 23.8181 -27.6 -4.08891 -3.15333 23.5663 -27.605 -4.0452 -3.23 23.3186 -27.61 -4.00749 -3.31025 23.0751 -27.615 -3.97566 -3.39405 22.8359 -27.62 -3.94957 -3.48138 22.6012 -27.625 -3.92908 -3.57224 22.3709 -27.63 -3.91406 -3.66666 22.1451 -27.635 -3.90431 -3.76472 21.9239 -27.64 -3.89963 -3.86647 21.7076 -27.645 -3.90005 -3.97193 21.4962 -27.65 -3.90555 -4.08111 21.2897 -27.655 -3.91614 -4.19405 21.0883 -27.66 -3.93183 -4.31078 20.892 -27.665 -3.9526 -4.43135 20.701 -27.67 -3.97844 -4.55583 20.5155 -27.675 -4.00933 -4.68429 20.3354 -27.68 -4.04526 -4.81682 20.1611 -27.685 -4.0862 -4.95351 19.9926 -27.69 -4.13212 -5.09446 19.8303 -27.695 -4.18299 -5.2398 19.6742 -27.7 -4.23876 -5.38965 19.5246 -27.705 -4.2994 -5.54415 19.3817 -27.71 -4.36485 -5.70346 19.2459 -27.715 -4.43506 -5.86774 19.1172 -27.72 -4.50998 -6.03716 18.9961 -27.725 -4.58955 -6.21191 18.8828 -27.73 -4.67369 -6.39218 18.7776 -27.735 -4.76234 -6.57817 18.6808 -27.74 -4.85553 -6.76984 18.5927 -27.745 -4.95352 -6.96686 18.5137 -27.75 -5.05641 -7.16942 18.444 -27.755 -5.1643 -7.37765 18.3842 -27.76 -5.27725 -7.59165 18.3347 -27.765 -5.39533 -7.81145 18.296 -27.77 -5.5186 -8.03704 18.2685 -27.775 -5.64708 -8.26838 18.2527 -27.78 -5.78079 -8.50533 18.2491 -27.785 -5.91974 -8.74776 18.2582 -27.79 -6.06392 -8.99544 18.2807 -27.795 -6.21331 -9.24812 18.3168 -27.8 -6.36787 -9.50549 18.3674 -27.805 -6.52754 -9.76719 18.4328 -27.81 -6.69226 -10.0328 18.5137 -27.815 -6.86194 -10.3019 18.6106 -27.82 -7.03651 -10.574 18.7243 -27.825 -7.21583 -10.8484 18.8551 -27.83 -7.3998 -11.1247 19.0039 -27.835 -7.58827 -11.4021 19.1712 -27.84 -7.78108 -11.6799 19.3577 -27.845 -7.97796 -11.9578 19.5633 -27.85 -8.17854 -12.2348 19.7881 -27.855 -8.38261 -12.5095 20.0329 -27.86 -8.58991 -12.7802 20.2986 -27.865 -8.80011 -13.0455 20.5857 -27.87 -9.01281 -13.3036 20.8945 -27.875 -9.22757 -13.5531 21.2252 -27.88 -9.44388 -13.7923 21.5779 -27.885 -9.66117 -14.0196 21.9522 -27.89 -9.87881 -14.2333 22.3477 -27.895 -10.0961 -14.4318 22.7639 -27.9 -10.3123 -14.6134 23.1999 -27.905 -10.5266 -14.7764 23.6547 -27.91 -10.7382 -14.9192 24.1272 -27.915 -10.946 -15.0401 24.6158 -27.92 -11.1492 -15.1373 25.119 -27.925 -11.3466 -15.2091 25.635 -27.93 -11.5372 -15.2538 26.1618 -27.935 -11.7198 -15.2696 26.6973 -27.94 -11.8931 -15.2548 27.239 -27.945 -12.0563 -15.2073 27.7849 -27.95 -12.2092 -15.1255 28.3332 -27.955 -12.3502 -15.0098 28.8798 -27.96 -12.4782 -14.861 29.4208 -27.965 -12.592 -14.6799 29.9524 -27.97 -12.6903 -14.4676 30.4711 -27.975 -12.7725 -14.225 30.9737 -27.98 -12.8376 -13.9534 31.4571 -27.985 -12.885 -13.6541 31.9185 -27.99 -12.9143 -13.3287 32.3555 -27.995 -12.9252 -12.9787 32.7657 -28 -12.9174 -12.6059 33.1471 -28.005 -12.8908 -12.212 33.4979 -28.01 -12.8456 -11.799 33.8165 -28.015 -12.7819 -11.3692 34.1016 -28.02 -12.7003 -10.9246 34.3521 -28.025 -12.601 -10.4677 34.5672 -28.03 -12.485 -10.0008 34.7463 -28.035 -12.352 -9.52875 34.8886 -28.04 -12.2021 -9.05678 34.9938 -28.045 -12.0364 -8.58773 35.0626 -28.05 -11.8562 -8.12417 35.0956 -28.055 -11.6625 -7.66852 35.0939 -28.06 -11.4565 -7.22298 35.0585 -28.065 -11.2393 -6.78956 34.9907 -28.07 -11.0122 -6.3701 34.8918 -28.075 -10.7762 -5.96624 34.7636 -28.08 -10.5325 -5.5794 34.6077 -28.085 -10.2824 -5.21086 34.426 -28.09 -10.0269 -4.86166 34.2206 -28.095 -9.76717 -4.53269 33.9938 -28.1 -9.50446 -4.22462 33.748 -28.105 -9.23991 -3.93793 33.4856 -28.11 -8.97468 -3.67293 33.2095 -28.115 -8.70995 -3.42972 32.9225 -28.12 -8.4469 -3.208 32.6273 -28.125 -8.18655 -3.00589 32.3238 -28.13 -7.92965 -2.82262 32.0128 -28.135 -7.67684 -2.65765 31.6955 -28.14 -7.42877 -2.5104 31.373 -28.145 -7.18598 -2.38025 31.0463 -28.15 -6.94902 -2.26654 30.7166 -28.155 -6.71834 -2.16855 30.3846 -28.16 -6.49438 -2.08551 30.0512 -28.165 -6.27751 -2.01664 29.7173 -28.17 -6.06806 -1.96107 29.3836 -28.175 -5.86631 -1.9179 29.0507 -28.18 -5.67249 -1.8862 28.7191 -28.185 -5.48679 -1.86498 28.3895 -28.19 -5.30934 -1.85319 28.0623 -28.195 -5.14023 -1.84977 27.7378 -28.2 -4.97949 -1.85358 27.4164 -28.205 -4.82713 -1.86345 27.0983 -28.21 -4.68297 -1.87924 26.7836 -28.215 -4.54677 -1.9014 26.4723 -28.22 -4.41843 -1.92947 26.1643 -28.225 -4.29782 -1.96303 25.86 -28.23 -4.18483 -2.00169 25.5592 -28.235 -4.07933 -2.04509 25.2622 -28.24 -3.98119 -2.09291 24.9689 -28.245 -3.89026 -2.14486 24.6795 -28.25 -3.80641 -2.20068 24.3941 -28.255 -3.72948 -2.26014 24.1126 -28.26 -3.65933 -2.32304 23.8352 -28.265 -3.59579 -2.38925 23.5619 -28.27 -3.53871 -2.45861 23.2928 -28.275 -3.4879 -2.53105 23.0278 -28.28 -3.4432 -2.6065 22.7671 -28.285 -3.40443 -2.68493 22.5105 -28.29 -3.3714 -2.76635 22.2583 -28.295 -3.34389 -2.85081 22.0103 -28.3 -3.32169 -2.93835 21.7668 -28.305 -3.30475 -3.02894 21.5277 -28.31 -3.29303 -3.12259 21.293 -28.315 -3.2865 -3.21931 21.0629 -28.32 -3.2851 -3.31915 20.8374 -28.325 -3.28878 -3.42214 20.6165 -28.33 -3.29751 -3.52836 20.4003 -28.335 -3.31122 -3.63789 20.1889 -28.34 -3.32986 -3.75084 19.9824 -28.345 -3.35336 -3.86732 19.7809 -28.35 -3.38168 -3.98748 19.5846 -28.355 -3.41473 -4.11146 19.3934 -28.36 -3.45245 -4.23944 19.2077 -28.365 -3.49477 -4.3716 19.0275 -28.37 -3.54161 -4.50816 18.853 -28.375 -3.5929 -4.64934 18.6844 -28.38 -3.64855 -4.79537 18.5218 -28.385 -3.70849 -4.94651 18.3655 -28.39 -3.7727 -5.10294 18.2156 -28.395 -3.84141 -5.26457 18.0724 -28.4 -3.91474 -5.43157 17.9361 -28.405 -3.99275 -5.60417 17.807 -28.41 -4.07552 -5.78255 17.6853 -28.415 -4.16313 -5.96687 17.5714 -28.42 -4.25565 -6.15731 17.4654 -28.425 -4.35315 -6.35399 17.3678 -28.43 -4.4557 -6.55704 17.279 -28.435 -4.56335 -6.76657 17.1993 -28.44 -4.67619 -6.98268 17.1291 -28.445 -4.79426 -7.20543 17.069 -28.45 -4.91763 -7.43489 17.0193 -28.455 -5.04635 -7.67111 16.9807 -28.46 -5.18048 -7.9141 16.9536 -28.465 -5.32008 -8.16388 16.9386 -28.47 -5.46519 -8.42045 16.9363 -28.475 -5.61587 -8.68379 16.9472 -28.48 -5.77215 -8.95385 16.9722 -28.485 -5.93399 -9.2304 17.0114 -28.49 -6.10109 -9.51265 17.0648 -28.495 -6.27362 -9.80054 17.1335 -28.5 -6.45179 -10.094 17.2187 -28.505 -6.63573 -10.3927 17.3215 -28.51 -6.82551 -10.6963 17.4431 -28.515 -7.02116 -11.0043 17.5843 -28.52 -7.22263 -11.3161 17.746 -28.525 -7.42983 -11.631 17.9291 -28.53 -7.6426 -11.948 18.1343 -28.535 -7.86073 -12.266 18.3622 -28.54 -8.08395 -12.5841 18.6133 -28.545 -8.31193 -12.9008 18.8882 -28.55 -8.5443 -13.2147 19.1871 -28.555 -8.7806 -13.5243 19.5105 -28.56 -9.02034 -13.828 19.8584 -28.565 -9.26295 -14.1238 20.2312 -28.57 -9.50784 -14.4099 20.6287 -28.575 -9.75431 -14.6842 21.051 -28.58 -10.0017 -14.9444 21.4979 -28.585 -10.2491 -15.1883 21.9693 -28.59 -10.4957 -15.4134 22.4648 -28.595 -10.7407 -15.617 22.9841 -28.6 -10.983 -15.7966 23.5268 -28.605 -11.2222 -15.951 24.0919 -28.61 -11.457 -16.0779 24.6769 -28.615 -11.6858 -16.1744 25.2789 -28.62 -11.9072 -16.2378 25.8948 -28.625 -12.1197 -16.266 26.5213 -28.63 -12.322 -16.257 27.1555 -28.635 -12.5127 -16.2094 27.7938 -28.64 -12.6904 -16.1221 28.4331 -28.645 -12.8541 -15.9942 29.0699 -28.65 -13.0025 -15.8256 29.7008 -28.655 -13.1344 -15.6161 30.322 -28.66 -13.2488 -15.3661 30.9301 -28.665 -13.3448 -15.0764 31.5213 -28.67 -13.4212 -14.7481 32.0919 -28.675 -13.4771 -14.3828 32.6379 -28.68 -13.5118 -13.9822 33.1555 -28.685 -13.5243 -13.5487 33.6407 -28.69 -13.5141 -13.0837 34.0882 -28.695 -13.4809 -12.5906 34.4943 -28.7 -13.4249 -12.0752 34.8581 -28.705 -13.3464 -11.5427 35.1789 -28.71 -13.2458 -10.998 35.4562 -28.715 -13.1236 -10.4458 35.6898 -28.72 -12.9805 -9.89029 35.8796 -28.725 -12.8174 -9.33535 36.0258 -28.73 -12.635 -8.78453 36.1288 -28.735 -12.4345 -8.24099 36.1892 -28.74 -12.217 -7.70758 36.2079 -28.745 -11.9839 -7.18677 36.1861 -28.75 -11.7365 -6.68068 36.1249 -28.755 -11.4763 -6.19108 36.026 -28.76 -11.2052 -5.71939 35.891 -28.765 -10.9249 -5.26666 35.7221 -28.77 -10.6373 -4.83362 35.5213 -28.775 -10.3439 -4.42192 35.2922 -28.78 -10.0454 -4.03513 35.0396 -28.785 -9.74309 -3.6738 34.7659 -28.79 -9.43861 -3.33819 34.4733 -28.795 -9.1333 -3.02831 34.1641 -28.8 -8.82847 -2.74401 33.8402 -28.805 -8.52532 -2.48493 33.5039 -28.81 -8.22497 -2.2505 33.157 -28.815 -7.92843 -2.03996 32.8015 -28.82 -7.63664 -1.85236 32.4392 -28.825 -7.35043 -1.68654 32.0719 -28.83 -7.07055 -1.54114 31.7013 -28.835 -6.79765 -1.41462 31.329 -28.84 -6.5323 -1.30521 30.9567 -28.845 -6.27497 -1.21097 30.5859 -28.85 -6.02609 -1.13121 30.2166 -28.855 -5.78591 -1.06558 29.8487 -28.86 -5.5546 -1.01303 29.4826 -28.865 -5.33227 -0.972539 29.119 -28.87 -5.11901 -0.943146 28.7581 -28.875 -4.91488 -0.923932 28.4004 -28.88 -4.7199 -0.914025 28.0461 -28.885 -4.53409 -0.912598 27.6955 -28.89 -4.35741 -0.918873 27.3488 -28.895 -4.1898 -0.932114 27.0062 -28.9 -4.03116 -0.951637 26.6678 -28.905 -3.88139 -0.9768 26.3337 -28.91 -3.74032 -1.00701 26.0038 -28.915 -3.60778 -1.04172 25.6782 -28.92 -3.48355 -1.08044 25.3568 -28.925 -3.36723 -1.12293 25.0398 -28.93 -3.25863 -1.16889 24.727 -28.935 -3.15756 -1.21801 24.4186 -28.94 -3.06385 -1.27001 24.1144 -28.945 -2.9773 -1.32464 23.8145 -28.95 -2.89775 -1.38168 23.5188 -28.955 -2.82498 -1.44096 23.2273 -28.96 -2.75881 -1.50233 22.94 -28.965 -2.69904 -1.56565 22.657 -28.97 -2.64545 -1.63085 22.378 -28.975 -2.59784 -1.69787 22.1033 -28.98 -2.55599 -1.76668 21.8327 -28.985 -2.51969 -1.8373 21.5662 -28.99 -2.4887 -1.90975 21.3038 -28.995 -2.46281 -1.98412 21.0456 -29 -2.44177 -2.0605 20.7915 -29.005 -2.42535 -2.13903 20.5415 -29.01 -2.41333 -2.21986 20.2956 -29.015 -2.4056 -2.30304 20.0539 -29.02 -2.40216 -2.3886 19.8164 -29.025 -2.40301 -2.47659 19.5831 -29.03 -2.40812 -2.56707 19.3539 -29.035 -2.41749 -2.66012 19.129 -29.04 -2.43108 -2.75585 18.9083 -29.045 -2.44888 -2.85437 18.6919 -29.05 -2.47086 -2.95581 18.4798 -29.055 -2.49699 -3.06033 18.2722 -29.06 -2.52723 -3.1681 18.069 -29.065 -2.56155 -3.2793 17.8704 -29.07 -2.5999 -3.39414 17.6764 -29.075 -2.64223 -3.51284 17.4872 -29.08 -2.68851 -3.63564 17.3029 -29.085 -2.73867 -3.7628 17.1236 -29.09 -2.79266 -3.8946 16.9493 -29.095 -2.85042 -4.03132 16.7803 -29.1 -2.91189 -4.17327 16.6168 -29.105 -2.97706 -4.32073 16.4588 -29.11 -3.04627 -4.47362 16.3067 -29.115 -3.11967 -4.63216 16.1605 -29.12 -3.19735 -4.79662 16.0206 -29.125 -3.27942 -4.96725 15.887 -29.13 -3.36599 -5.1443 15.7601 -29.135 -3.45715 -5.32801 15.6401 -29.14 -3.55303 -5.51862 15.5273 -29.145 -3.65373 -5.71634 15.4221 -29.15 -3.75937 -5.9214 15.3249 -29.155 -3.87007 -6.134 15.2359 -29.16 -3.98595 -6.35436 15.1558 -29.165 -4.10712 -6.58265 15.0849 -29.17 -4.23373 -6.81908 15.0238 -29.175 -4.36589 -7.06381 14.973 -29.18 -4.50374 -7.31702 14.933 -29.185 -4.64741 -7.57888 14.9044 -29.19 -4.79704 -7.84953 14.888 -29.195 -4.95277 -8.12913 14.8842 -29.2 -5.11456 -8.41724 14.8936 -29.205 -5.28234 -8.7132 14.9166 -29.21 -5.45643 -9.01749 14.9543 -29.215 -5.63711 -9.33046 15.0078 -29.22 -5.82461 -9.65227 15.0783 -29.225 -6.01909 -9.98295 15.1669 -29.23 -6.22068 -10.3223 15.2747 -29.235 -6.42945 -10.6701 15.4026 -29.24 -6.64543 -11.0257 15.5518 -29.245 -6.8686 -11.3885 15.7233 -29.25 -7.09886 -11.7578 15.9181 -29.255 -7.33609 -12.1324 16.1371 -29.26 -7.58012 -12.5112 16.3813 -29.265 -7.83072 -12.893 16.6517 -29.27 -8.0876 -13.2761 16.9491 -29.275 -8.35043 -13.659 17.2744 -29.28 -8.61883 -14.0398 17.6286 -29.285 -8.89238 -14.4165 18.0125 -29.29 -9.17059 -14.7869 18.4269 -29.295 -9.45292 -15.1487 18.8726 -29.3 -9.7388 -15.4995 19.3504 -29.305 -10.0276 -15.8364 19.8612 -29.31 -10.3186 -16.1567 20.4055 -29.315 -10.611 -16.4589 20.9831 -29.32 -10.9035 -16.7402 21.5922 -29.325 -11.1947 -16.9957 22.2318 -29.33 -11.4832 -17.2213 22.9003 -29.335 -11.7676 -17.4128 23.5959 -29.34 -12.0463 -17.5665 24.3163 -29.345 -12.3178 -17.6792 25.0586 -29.35 -12.5805 -17.748 25.8198 -29.355 -12.8327 -17.7703 26.5964 -29.36 -13.0728 -17.7438 27.3845 -29.365 -13.2989 -17.6669 28.1797 -29.37 -13.5094 -17.5379 28.9772 -29.375 -13.7024 -17.3559 29.772 -29.38 -13.8759 -17.12 30.5586 -29.385 -14.0281 -16.8299 31.3309 -29.39 -14.157 -16.4857 32.0827 -29.395 -14.2612 -16.0847 32.8071 -29.4 -14.34 -15.6273 33.4979 -29.405 -14.3921 -15.1211 34.1501 -29.41 -14.4165 -14.5732 34.7593 -29.415 -14.4125 -13.9903 35.3215 -29.42 -14.3794 -13.3787 35.8332 -29.425 -14.3173 -12.744 36.2918 -29.43 -14.2262 -12.0918 36.695 -29.435 -14.1065 -11.427 37.041 -29.44 -13.9589 -10.7539 37.3286 -29.445 -13.7844 -10.0766 37.5574 -29.45 -13.5842 -9.39862 37.7273 -29.455 -13.36 -8.72315 37.8387 -29.46 -13.1136 -8.05284 37.8928 -29.465 -12.8472 -7.3899 37.8911 -29.47 -12.5631 -6.7361 37.836 -29.475 -12.2628 -6.09683 37.7308 -29.48 -11.9465 -5.48318 37.5804 -29.485 -11.6163 -4.8981 37.3882 -29.49 -11.2746 -4.34377 37.1573 -29.495 -10.9235 -3.82191 36.8913 -29.5 -10.565 -3.33379 36.5934 -29.505 -10.2013 -2.88023 36.2673 -29.51 -9.83413 -2.4616 35.9165 -29.515 -9.46533 -2.07781 35.5444 -29.52 -9.09658 -1.72832 35.155 -29.525 -8.72947 -1.41215 34.7517 -29.53 -8.36551 -1.12783 34.3386 -29.535 -8.00609 -0.873479 33.9193 -29.54 -7.6525 -0.646756 33.4978 -29.545 -7.30593 -0.446245 33.0745 -29.55 -6.96723 -0.270782 32.6493 -29.555 -6.63709 -0.118691 32.2236 -29.56 -6.31612 0.0116754 31.7986 -29.565 -6.00483 0.121931 31.3752 -29.57 -5.7037 0.213657 30.9546 -29.575 -5.4131 0.288406 30.5374 -29.58 -5.13333 0.347697 30.1244 -29.585 -4.8646 0.393016 29.716 -29.59 -4.60708 0.425819 29.3128 -29.595 -4.36081 0.447531 28.915 -29.6 -4.1258 0.459544 28.5227 -29.605 -3.90196 0.463218 28.1359 -29.61 -3.68912 0.459797 27.7546 -29.615 -3.48701 0.449837 27.3789 -29.62 -3.29539 0.434058 27.0089 -29.625 -3.11398 0.413212 26.6445 -29.63 -2.94252 0.387999 26.2855 -29.635 -2.78073 0.35906 25.932 -29.64 -2.6283 0.326983 25.5839 -29.645 -2.48494 0.292297 25.2411 -29.65 -2.35034 0.25548 24.9034 -29.655 -2.22418 0.21695 24.5708 -29.66 -2.10613 0.177072 24.2432 -29.665 -1.99585 0.136155 23.9205 -29.67 -1.89299 0.0944517 23.6026 -29.675 -1.79718 0.0521597 23.2893 -29.68 -1.70807 0.00942109 22.9806 -29.685 -1.62527 -0.0336292 22.6763 -29.69 -1.5485 -0.0768458 22.3763 -29.695 -1.47754 -0.120111 22.0807 -29.7 -1.41215 -0.163329 21.7892 -29.705 -1.35209 -0.206423 21.5019 -29.71 -1.29712 -0.249339 21.2186 -29.715 -1.24702 -0.292043 20.9393 -29.72 -1.20154 -0.334522 20.6639 -29.725 -1.16045 -0.376783 20.3924 -29.73 -1.12351 -0.418856 20.1246 -29.735 -1.09047 -0.460791 19.8605 -29.74 -1.06111 -0.502657 19.6001 -29.745 -1.03517 -0.544546 19.3432 -29.75 -1.01241 -0.586572 19.0899 -29.755 -0.992652 -0.628832 18.8401 -29.76 -0.975827 -0.67134 18.5937 -29.765 -0.961855 -0.714141 18.3508 -29.77 -0.95065 -0.757291 18.1112 -29.775 -0.942127 -0.800855 17.875 -29.78 -0.936202 -0.844909 17.6421 -29.785 -0.932791 -0.889538 17.4125 -29.79 -0.93181 -0.934837 17.1861 -29.795 -0.933177 -0.980913 16.9629 -29.8 -0.936809 -1.02788 16.7429 -29.805 -0.942626 -1.07586 16.5261 -29.81 -0.950545 -1.12499 16.3124 -29.815 -0.960488 -1.17542 16.1018 -29.82 -0.972372 -1.2273 15.8943 -29.825 -0.98613 -1.28078 15.6899 -29.83 -1.00179 -1.33597 15.4886 -29.835 -1.01938 -1.39296 15.2903 -29.84 -1.03891 -1.45186 15.095 -29.845 -1.06041 -1.51279 14.9029 -29.85 -1.0839 -1.57588 14.7137 -29.855 -1.10941 -1.64126 14.5276 -29.86 -1.13696 -1.70908 14.3445 -29.865 -1.16658 -1.7795 14.1645 -29.87 -1.1983 -1.85268 13.9875 -29.875 -1.23216 -1.9288 13.8137 -29.88 -1.2682 -2.00805 13.6429 -29.885 -1.30645 -2.09061 13.4753 -29.89 -1.34696 -2.17669 13.3109 -29.895 -1.38976 -2.2665 13.1497 -29.9 -1.43491 -2.36027 12.9917 -29.905 -1.48246 -2.45821 12.8371 -29.91 -1.53256 -2.5605 12.686 -29.915 -1.58535 -2.66731 12.5383 -29.92 -1.64089 -2.77892 12.3942 -29.925 -1.6993 -2.89555 12.2537 -29.93 -1.76068 -3.01749 12.1169 -29.935 -1.82514 -3.145 11.9839 -29.94 -1.89281 -3.27835 11.8548 -29.945 -1.96381 -3.41784 11.7298 -29.95 -2.03831 -3.56376 11.6089 -29.955 -2.11643 -3.71642 11.4926 -29.96 -2.19835 -3.87613 11.3808 -29.965 -2.28422 -4.04322 11.274 -29.97 -2.37423 -4.218 11.1722 -29.975 -2.46856 -4.40084 11.076 -29.98 -2.5674 -4.59206 10.9854 -29.985 -2.67096 -4.79204 10.9009 -29.99 -2.77945 -5.00113 10.8228 -29.995 -2.89308 -5.2197 10.7515 -30 -3.01208 -5.44815 10.6874 -30.005 -3.1367 -5.68686 10.6309 -30.01 -3.2671 -5.93532 10.5828 -30.015 -3.40347 -6.19337 10.5438 -30.02 -3.54615 -6.46208 10.5143 -30.025 -3.69546 -6.74241 10.4948 -30.03 -3.85168 -7.03519 10.486 -30.035 -4.01513 -7.34111 10.4885 -30.04 -4.18607 -7.66077 10.5031 -30.045 -4.36477 -7.99461 10.5308 -30.05 -4.55149 -8.34296 10.5725 -30.055 -4.74647 -8.70604 10.6292 -30.06 -4.94995 -9.08391 10.7022 -30.065 -5.16214 -9.47654 10.7928 -30.07 -5.38325 -9.88376 10.9023 -30.075 -5.61348 -10.3053 11.0321 -30.08 -5.85302 -10.7407 11.1838 -30.085 -6.10203 -11.1894 11.3592 -30.09 -6.36068 -11.6507 11.5598 -30.095 -6.62912 -12.124 11.7876 -30.1 -6.90748 -12.6082 12.0445 -30.105 -7.19589 -13.1023 12.3325 -30.11 -7.49447 -13.6051 12.6537 -30.115 -7.80331 -14.1154 13.0104 -30.12 -8.12251 -14.6318 13.405 -30.125 -8.45214 -15.1526 13.8397 -30.13 -8.79151 -15.6764 14.3153 -30.135 -9.13936 -16.2006 14.8323 -30.14 -9.4954 -16.7209 15.3939 -30.145 -9.85917 -17.233 16.0029 -30.15 -10.23 -17.7326 16.6614 -30.155 -10.6068 -18.2147 17.3706 -30.16 -10.9886 -18.6746 18.131 -30.165 -11.374 -19.1071 18.9426 -30.17 -11.7614 -19.507 19.8044 -30.175 -12.1488 -19.8687 20.7148 -30.18 -12.5344 -20.1866 21.6716 -30.185 -12.9157 -20.4549 22.6718 -30.19 -13.2904 -20.6673 23.7115 -30.195 -13.6556 -20.8177 24.7864 -30.2 -14.0085 -20.8997 25.8912 -30.205 -14.3459 -20.9065 27.0202 -30.21 -14.6647 -20.8312 28.1674 -30.215 -14.9636 -20.6688 29.3269 -30.22 -15.2385 -20.4184 30.486 -30.225 -15.4856 -20.0801 31.6318 -30.23 -15.7016 -19.6551 32.7526 -30.235 -15.8834 -19.1453 33.8373 -30.24 -16.0285 -18.5536 34.8759 -30.245 -16.1348 -17.8835 35.8591 -30.25 -16.2005 -17.1397 36.7786 -30.255 -16.2245 -16.3275 37.627 -30.26 -16.2058 -15.4533 38.3976 -30.265 -16.1441 -14.5241 39.0848 -30.27 -16.0394 -13.5481 39.6837 -30.275 -15.8923 -12.534 40.1904 -30.28 -15.7027 -11.4941 40.6002 -30.285 -15.471 -10.4448 40.91 -30.29 -15.1995 -9.39722 41.1228 -30.295 -14.8908 -8.36163 41.2424 -30.3 -14.5477 -7.34718 41.273 -30.305 -14.1729 -6.36204 41.2193 -30.31 -13.7693 -5.41337 41.0865 -30.315 -13.3402 -4.50736 40.8807 -30.32 -12.8887 -3.64916 40.608 -30.325 -12.4181 -2.84295 40.2755 -30.33 -11.932 -2.09189 39.8905 -30.335 -11.434 -1.39814 39.461 -30.34 -10.9278 -0.762875 38.9957 -30.345 -10.4174 -0.186151 38.5033 -30.35 -9.90541 0.334961 37.9904 -30.355 -9.39435 0.802886 37.4613 -30.36 -8.88669 1.21953 36.9204 -30.365 -8.38469 1.58706 36.3718 -30.37 -7.89038 1.90793 35.819 -30.375 -7.40557 2.18487 35.2655 -30.38 -6.93186 2.42088 34.714 -30.385 -6.47062 2.61923 34.1674 -30.39 -6.02299 2.78345 33.6276 -30.395 -5.58989 2.91738 33.0967 -30.4 -5.17202 3.02511 32.576 -30.405 -4.76987 3.111 32.0668 -30.41 -4.38367 3.17969 31.5697 -30.415 -4.01349 3.23356 31.0848 -30.42 -3.65922 3.2721 30.6113 -30.425 -3.32069 3.29738 30.1491 -30.43 -2.99766 3.31135 29.6981 -30.435 -2.68985 3.31581 29.2579 -30.44 -2.39694 3.31244 28.8284 -30.445 -2.11857 3.30277 28.4093 -30.45 -1.85434 3.28821 28.0004 -30.455 -1.60381 3.26999 27.6013 -30.46 -1.3665 3.24925 27.2117 -30.465 -1.14187 3.22695 26.8312 -30.47 -0.929352 3.20392 26.4594 -30.475 -0.728334 3.18088 26.0959 -30.48 -0.538076 3.15851 25.7402 -30.485 -0.358018 3.13739 25.3922 -30.49 -0.187663 3.11798 25.0516 -30.495 -0.0265095 3.10072 24.7181 -30.5 0.125947 3.086 24.3914 -30.505 0.270219 3.07418 24.0714 -30.51 0.406822 3.06558 23.7577 -30.515 0.536277 3.06048 23.4503 -30.52 0.659109 3.05912 23.1489 -30.525 0.775851 3.06171 22.8534 -30.53 0.887037 3.06842 22.5635 -30.535 0.99321 3.07936 22.2791 -30.54 1.09491 3.09464 22.0002 -30.545 1.1927 3.1143 21.7265 -30.55 1.28707 3.13838 21.458 -30.555 1.37832 3.16698 21.1946 -30.56 1.46672 3.20021 20.9362 -30.565 1.55257 3.2382 20.683 -30.57 1.63615 3.28103 20.4348 -30.575 1.71777 3.32881 20.1916 -30.58 1.79773 3.38162 19.9535 -30.585 1.87634 3.43955 19.7204 -30.59 1.95392 3.50266 19.4924 -30.595 2.03079 3.57102 19.2693 -30.6 2.10727 3.64467 19.0514 -30.605 2.18372 3.72368 18.8385 -30.61 2.26045 3.80806 18.6307 -30.615 2.33783 3.89787 18.4281 -30.62 2.41619 3.99311 18.2306 -30.625 2.49572 4.09391 18.0384 -30.63 2.57656 4.20046 17.8517 -30.635 2.65885 4.31292 17.6705 -30.64 2.74276 4.43147 17.4951 -30.645 2.82846 4.55627 17.3255 -30.65 2.91615 4.6875 17.1619 -30.655 3.00601 4.82529 17.0045 -30.66 3.09825 4.9698 16.8535 -30.665 3.19308 5.12117 16.7091 -30.67 3.29071 5.27953 16.5716 -30.675 3.39138 5.44502 16.4412 -30.68 3.49534 5.61776 16.3182 -30.685 3.60283 5.79787 16.2029 -30.69 3.7141 5.98547 16.0954 -30.695 3.82943 6.18064 15.9963 -30.7 3.94906 6.38346 15.9058 -30.705 4.07306 6.59392 15.8243 -30.71 4.20157 6.81236 15.7523 -30.715 4.33476 7.03907 15.6904 -30.72 4.47278 7.27429 15.639 -30.725 4.61578 7.5182 15.5986 -30.73 4.76391 7.77091 15.57 -30.735 4.91731 8.03247 15.5537 -30.74 5.07613 8.30289 15.5504 -30.745 5.24048 8.5821 15.5607 -30.75 5.41052 8.86998 15.5855 -30.755 5.58635 9.16633 15.6254 -30.76 5.76811 9.47093 15.6814 -30.765 5.95592 9.78346 15.7541 -30.77 6.14989 10.1036 15.8445 -30.775 6.35013 10.4308 15.9535 -30.78 6.55675 10.7647 16.0819 -30.785 6.76985 11.1048 16.2309 -30.79 6.98953 11.4503 16.4013 -30.795 7.21539 11.8009 16.5931 -30.8 7.44691 12.1556 16.8068 -30.805 7.68419 12.5134 17.0441 -30.81 7.92725 12.8729 17.3071 -30.815 8.176 13.2325 17.597 -30.82 8.43027 13.5908 17.9151 -30.825 8.68975 13.946 18.2625 -30.83 8.95407 14.2961 18.6398 -30.835 9.22273 14.6391 19.0477 -30.84 9.49514 14.9729 19.4862 -30.845 9.77061 15.2952 19.9555 -30.85 10.0483 15.6036 20.4552 -30.855 10.3275 15.8954 20.9848 -30.86 10.607 16.168 21.5437 -30.865 10.8857 16.4186 22.1308 -30.87 11.1626 16.644 22.7448 -30.875 11.4363 16.8413 23.3842 -30.88 11.7053 17.0072 24.0474 -30.885 11.9683 17.1382 24.7322 -30.89 12.2236 17.2308 25.4364 -30.895 12.4694 17.2815 26.1576 -30.9 12.7052 17.2871 26.8941 -30.905 12.9294 17.2464 27.6413 -30.91 13.1398 17.158 28.393 -30.915 13.3345 17.0213 29.1434 -30.92 13.5114 16.8359 29.8867 -30.925 13.669 16.6019 30.6175 -30.93 13.8057 16.3197 31.3308 -30.935 13.9202 15.9903 32.0218 -30.94 14.0113 15.6151 32.6858 -30.945 14.0781 15.1957 33.3187 -30.95 14.1199 14.7344 33.9165 -30.955 14.1359 14.2336 34.4754 -30.96 14.126 13.6966 34.9921 -30.965 14.0897 13.1266 35.4634 -30.97 14.0271 12.5274 35.8864 -30.975 13.9383 11.9035 36.2586 -30.98 13.823 11.2609 36.5763 -30.985 13.6814 10.607 36.8374 -30.99 13.5147 9.94766 37.0426 -30.995 13.3242 9.28809 37.1929 -31 13.1112 8.6332 37.2896 -31.005 12.8772 7.9875 37.3344 -31.01 12.6236 7.35509 37.3291 -31.015 12.3522 6.73968 37.2757 -31.02 12.0644 6.14458 37.1767 -31.025 11.7621 5.57271 37.0347 -31.03 11.4471 5.02658 36.8526 -31.035 11.1211 4.50832 36.6335 -31.04 10.7861 4.01965 36.381 -31.045 10.4442 3.56189 36.0986 -31.05 10.0974 3.13598 35.7905 -31.055 9.74781 2.74244 35.4608 -31.06 9.39715 2.3806 35.1131 -31.065 9.04673 2.0494 34.7501 -31.07 8.698 1.74815 34.3741 -31.075 8.35231 1.47598 33.9875 -31.08 8.0109 1.23195 33.5923 -31.085 7.67488 1.01493 33.1907 -31.09 7.34528 0.823675 32.7845 -31.095 7.023 0.656817 32.3753 -31.1 6.70883 0.512836 31.9647 -31.105 6.40345 0.390085 31.5542 -31.11 6.10744 0.286779 31.1449 -31.115 5.82126 0.200999 30.7379 -31.12 5.54526 0.130693 30.3343 -31.125 5.27968 0.073671 29.9347 -31.13 5.02468 0.0286305 29.5395 -31.135 4.78033 -0.00448738 29.1487 -31.14 4.54656 -0.0268096 28.7623 -31.145 4.32332 -0.0394154 28.3807 -31.15 4.1105 -0.0433189 28.0039 -31.155 3.90798 -0.0394681 27.6321 -31.16 3.71564 -0.0287458 27.2653 -31.165 3.53329 -0.0119689 26.9037 -31.17 3.36076 0.0101111 26.5473 -31.175 3.19783 0.0368083 26.196 -31.18 3.04427 0.0675026 25.8499 -31.185 2.89982 0.101639 25.5088 -31.19 2.7642 0.138729 25.1728 -31.195 2.6371 0.178349 24.8416 -31.2 2.51814 0.22016 24.5151 -31.205 2.40684 0.263905 24.1934 -31.21 2.30298 0.309301 23.8763 -31.215 2.20633 0.356088 23.5637 -31.22 2.11669 0.404036 23.2557 -31.225 2.03383 0.452945 22.9521 -31.23 1.9575 0.502648 22.6528 -31.235 1.88748 0.553005 22.3578 -31.24 1.82353 0.603908 22.0671 -31.245 1.76538 0.655279 21.7804 -31.25 1.71278 0.707071 21.4979 -31.255 1.66547 0.759267 21.2194 -31.26 1.62317 0.81188 20.9448 -31.265 1.58562 0.864952 20.6741 -31.27 1.55253 0.918558 20.4073 -31.275 1.5236 0.972802 20.1443 -31.28 1.49855 1.02782 19.8851 -31.285 1.47709 1.08376 19.6295 -31.29 1.45917 1.14065 19.3776 -31.295 1.44479 1.19847 19.1294 -31.3 1.43389 1.25727 18.8848 -31.305 1.4264 1.31711 18.6439 -31.31 1.42225 1.37806 18.4065 -31.315 1.42138 1.44021 18.1726 -31.32 1.42371 1.50366 17.9424 -31.325 1.42916 1.56853 17.7156 -31.33 1.43768 1.63495 17.4924 -31.335 1.44918 1.70306 17.2727 -31.34 1.46359 1.77302 17.0565 -31.345 1.48083 1.84501 16.8438 -31.35 1.50082 1.91921 16.6347 -31.355 1.52349 1.99582 16.4291 -31.36 1.54875 2.07506 16.227 -31.365 1.57654 2.15714 16.0285 -31.37 1.6069 2.24223 15.8337 -31.375 1.63995 2.3304 15.6424 -31.38 1.67574 2.42183 15.4548 -31.385 1.71432 2.51669 15.271 -31.39 1.75573 2.61517 15.0908 -31.395 1.80004 2.71746 14.9145 -31.4 1.84731 2.82376 14.7421 -31.405 1.8976 2.93429 14.5735 -31.41 1.95098 3.04928 14.4091 -31.415 2.00752 3.16896 14.2487 -31.42 2.0673 3.29359 14.0927 -31.425 2.13041 3.42341 13.941 -31.43 2.19693 3.55869 13.7938 -31.435 2.26695 3.69973 13.6514 -31.44 2.34056 3.8468 13.5137 -31.445 2.41787 4.0002 13.3811 -31.45 2.49897 4.16023 13.2537 -31.455 2.5841 4.32683 13.1319 -31.46 2.67343 4.50031 13.016 -31.465 2.76711 4.68114 12.9061 -31.47 2.8653 4.86975 12.8024 -31.475 2.96815 5.06657 12.7051 -31.48 3.07584 5.27198 12.6146 -31.485 3.18854 5.48637 12.5313 -31.49 3.30642 5.71008 12.4555 -31.495 3.42967 5.94344 12.3878 -31.5 3.55849 6.18676 12.3286 -31.505 3.69308 6.44031 12.2785 -31.51 3.83363 6.70436 12.2381 -31.515 3.98036 6.97915 12.2082 -31.52 4.13349 7.26487 12.1894 -31.525 4.29324 7.56174 12.1825 -31.53 4.45984 7.8699 12.1884 -31.535 4.63352 8.18952 12.2079 -31.54 4.81454 8.52071 12.242 -31.545 5.00313 8.86356 12.2916 -31.55 5.19955 9.21817 12.3579 -31.555 5.40407 9.58457 12.4418 -31.56 5.61694 9.96281 12.5446 -31.565 5.8383 10.3526 12.6672 -31.57 6.06769 10.753 12.8102 -31.575 6.30543 11.1639 12.9757 -31.58 6.55187 11.5852 13.1655 -31.585 6.80725 12.0167 13.3815 -31.59 7.07171 12.4577 13.6258 -31.595 7.34531 12.9073 13.8999 -31.6 7.62797 13.3642 14.2054 -31.605 7.91954 13.8269 14.544 -31.61 8.21976 14.2936 14.9171 -31.615 8.52827 14.7621 15.326 -31.62 8.84461 15.2301 15.7719 -31.625 9.16821 15.6948 16.256 -31.63 9.49841 16.1532 16.7794 -31.635 9.83445 16.602 17.343 -31.64 10.1754 17.0377 17.9477 -31.645 10.5205 17.4563 18.5942 -31.65 10.8684 17.8535 19.2832 -31.655 11.2181 18.2251 20.0152 -31.66 11.5683 18.5662 20.7908 -31.665 11.9178 18.8749 21.6084 -31.67 12.2644 19.1449 22.4652 -31.675 12.6061 19.3695 23.3578 -31.68 12.9403 19.5425 24.2823 -31.685 13.265 19.6583 25.2345 -31.69 13.5776 19.7124 26.2095 -31.695 13.8759 19.7009 27.2018 -31.7 14.1574 19.6205 28.2056 -31.705 14.4199 19.4688 29.2143 -31.71 14.6607 19.2442 30.2211 -31.715 14.8776 18.9456 31.2185 -31.72 15.0679 18.5731 32.1984 -31.725 15.2292 18.127 33.1524 -31.73 15.359 17.6088 34.0713 -31.735 15.4547 17.0198 34.9454 -31.74 15.5154 16.3575 35.7634 -31.745 15.54 15.6319 36.5189 -31.75 15.5274 14.8552 37.2074 -31.755 15.4771 14.0386 37.8253 -31.76 15.3889 13.1924 38.3695 -31.765 15.2631 12.3261 38.8376 -31.77 15.1003 11.4481 39.2282 -31.775 14.9015 10.5659 39.5403 -31.78 14.6681 9.68624 39.7738 -31.785 14.4019 8.81467 39.9292 -31.79 14.1052 7.95599 40.0079 -31.795 13.7807 7.11403 40.0119 -31.8 13.4312 6.29168 39.9438 -31.805 13.0603 5.49091 39.8073 -31.81 12.6714 4.71444 39.6069 -31.815 12.2647 3.97661 39.3521 -31.82 11.8428 3.28274 39.0494 -31.825 11.409 2.63487 38.7041 -31.83 10.966 2.03435 38.3216 -31.835 10.5167 1.48189 37.9071 -31.84 10.0637 0.977503 37.4656 -31.845 9.60945 0.520545 37.0023 -31.85 9.15614 0.1097 36.5219 -31.855 8.70588 -0.25702 36.0294 -31.86 8.26062 -0.582274 35.5293 -31.865 7.82208 -0.869391 35.0264 -31.87 7.39187 -1.12189 34.5244 -31.875 6.97131 -1.34109 34.0234 -31.88 6.56138 -1.52939 33.5247 -31.885 6.16291 -1.68935 33.0298 -31.89 5.77662 -1.82347 32.5402 -31.895 5.40311 -1.93416 32.0568 -31.9 5.04285 -2.02376 31.5807 -31.905 4.69622 -2.09451 31.1124 -31.91 4.36345 -2.14858 30.6526 -31.915 4.04468 -2.18805 30.2015 -31.92 3.73989 -2.21494 29.7593 -31.925 3.449 -2.23116 29.3257 -31.93 3.17178 -2.23845 28.9006 -31.935 2.90797 -2.23802 28.4841 -31.94 2.65721 -2.23101 28.0761 -31.945 2.41912 -2.21854 27.6763 -31.95 2.19331 -2.20161 27.2845 -31.955 1.97938 -2.18119 26.9004 -31.96 1.77691 -2.15814 26.5238 -31.965 1.58547 -2.13326 26.1544 -31.97 1.40462 -2.10728 25.7921 -31.975 1.2339 -2.08085 25.4366 -31.98 1.07285 -2.05453 25.0877 -31.985 0.920988 -2.02884 24.7451 -31.99 0.777824 -2.00419 24.4088 -31.995 0.642851 -1.98094 24.0784 -32 0.515553 -1.95935 23.7538 -32.005 0.395399 -1.93964 23.4348 -32.01 0.281871 -1.922 23.1211 -32.015 0.174573 -1.90665 22.8127 -32.02 0.0731499 -1.89378 22.5093 -32.025 -0.0227547 -1.88354 22.2109 -32.03 -0.113499 -1.87607 21.9174 -32.035 -0.199441 -1.87151 21.6285 -32.04 -0.280942 -1.86995 21.3443 -32.045 -0.35836 -1.87148 21.0647 -32.05 -0.432059 -1.87617 20.7894 -32.055 -0.502401 -1.88406 20.5186 -32.06 -0.569748 -1.89518 20.2519 -32.065 -0.634466 -1.90956 19.9894 -32.07 -0.69692 -1.92716 19.7311 -32.075 -0.757443 -1.94801 19.4767 -32.08 -0.816221 -1.97217 19.2264 -32.085 -0.873444 -1.99972 18.9801 -32.09 -0.929309 -2.03073 18.7377 -32.095 -0.984016 -2.06527 18.4992 -32.1 -1.03777 -2.1034 18.2647 -32.105 -1.09078 -2.14518 18.034 -32.11 -1.14325 -2.19067 17.8072 -32.115 -1.19539 -2.23993 17.5842 -32.12 -1.24744 -2.29301 17.3651 -32.125 -1.2996 -2.34997 17.1499 -32.13 -1.3521 -2.41086 16.9384 -32.135 -1.40516 -2.47572 16.7309 -32.14 -1.45903 -2.54462 16.5271 -32.145 -1.51388 -2.61763 16.3273 -32.15 -1.56981 -2.69493 16.1314 -32.155 -1.62694 -2.77667 15.9394 -32.16 -1.68538 -2.86301 15.7515 -32.165 -1.74527 -2.95412 15.5676 -32.17 -1.80673 -3.05017 15.3878 -32.175 -1.86992 -3.15132 15.2123 -32.18 -1.935 -3.25776 15.0411 -32.185 -2.00214 -3.36965 14.8743 -32.19 -2.0715 -3.48716 14.712 -32.195 -2.14329 -3.61049 14.5543 -32.2 -2.21769 -3.7398 14.4014 -32.205 -2.29491 -3.87528 14.2534 -32.21 -2.37517 -4.01711 14.1104 -32.215 -2.4587 -4.16548 13.9727 -32.22 -2.54572 -4.32056 13.8404 -32.225 -2.63638 -4.48255 13.7138 -32.23 -2.7308 -4.65179 13.5931 -32.235 -2.82913 -4.82867 13.4786 -32.24 -2.93153 -5.01352 13.3706 -32.245 -3.03815 -5.20668 13.2692 -32.25 -3.14916 -5.40847 13.1749 -32.255 -3.26476 -5.6192 13.0881 -32.26 -3.38514 -5.83915 13.0092 -32.265 -3.5105 -6.06859 12.9387 -32.27 -3.64105 -6.30777 12.877 -32.275 -3.77702 -6.55694 12.8248 -32.28 -3.91865 -6.81632 12.7826 -32.285 -4.06617 -7.08611 12.7511 -32.29 -4.21984 -7.3665 12.7309 -32.295 -4.37993 -7.65768 12.7228 -32.3 -4.54671 -7.9598 12.7275 -32.305 -4.72046 -8.27301 12.7459 -32.31 -4.90148 -8.59742 12.7787 -32.315 -5.08966 -8.93229 12.8265 -32.32 -5.28478 -9.27685 12.89 -32.325 -5.48728 -9.63192 12.9708 -32.33 -5.69757 -9.99805 13.0703 -32.335 -5.91598 -10.3756 13.1902 -32.34 -6.14276 -10.7645 13.3318 -32.345 -6.3781 -11.1648 13.4966 -32.35 -6.62211 -11.5759 13.6861 -32.355 -6.87483 -11.9971 13.9015 -32.36 -7.13624 -12.4276 14.1444 -32.365 -7.40623 -12.8661 14.4161 -32.37 -7.68464 -13.3111 14.7178 -32.375 -7.97122 -13.7611 15.0509 -32.38 -8.26567 -14.2141 15.4166 -32.385 -8.56759 -14.6678 15.8163 -32.39 -8.87653 -15.1198 16.251 -32.395 -9.19198 -15.5674 16.7221 -32.4 -9.51332 -16.0078 17.2306 -32.405 -9.8399 -16.4376 17.7778 -32.41 -10.171 -16.8534 18.3647 -32.415 -10.5057 -17.2516 18.9924 -32.42 -10.8433 -17.6282 19.662 -32.425 -11.1827 -17.979 20.3746 -32.43 -11.5225 -18.3022 21.1282 -32.435 -11.8608 -18.5926 21.9202 -32.44 -12.1957 -18.8438 22.7484 -32.445 -12.5251 -19.05 23.6098 -32.45 -12.8469 -19.2059 24.5009 -32.455 -13.1591 -19.3068 25.4178 -32.46 -13.4594 -19.3489 26.3559 -32.465 -13.7457 -19.3287 27.3102 -32.47 -14.0157 -19.2434 28.275 -32.475 -14.2671 -19.0908 29.2441 -32.48 -14.4976 -18.8694 30.2107 -32.485 -14.7047 -18.5783 31.1677 -32.49 -14.886 -18.217 32.1071 -32.495 -15.039 -17.7859 33.0205 -32.5 -15.1612 -17.2854 33.899 -32.505 -15.2515 -16.712 34.7327 -32.51 -15.3086 -16.0734 35.5146 -32.515 -15.3311 -15.3802 36.2389 -32.52 -15.3181 -14.6422 36.9007 -32.525 -15.2689 -13.8684 37.4959 -32.53 -15.1834 -13.0672 38.0211 -32.535 -15.0618 -12.2465 38.4736 -32.54 -14.9048 -11.4131 38.8518 -32.545 -14.7133 -10.5735 39.1545 -32.55 -14.4889 -9.73318 39.3814 -32.555 -14.2333 -8.89717 39.5332 -32.56 -13.9489 -8.06968 39.611 -32.565 -13.6382 -7.25424 39.617 -32.57 -13.3042 -6.4537 39.554 -32.575 -12.9502 -5.67143 39.426 -32.58 -12.5762 -4.92128 39.2404 -32.585 -12.1848 -4.20942 39.0029 -32.59 -11.7788 -3.53865 38.7183 -32.595 -11.3612 -2.9111 38.3917 -32.6 -10.9347 -2.32826 38.0278 -32.605 -10.5018 -1.79092 37.6318 -32.61 -10.065 -1.29921 37.2084 -32.615 -9.62665 -0.852582 36.7627 -32.62 -9.18885 -0.449822 36.2997 -32.625 -8.75366 -0.0890473 35.8242 -32.63 -8.32297 0.232299 35.3413 -32.635 -7.89851 0.517439 34.8559 -32.64 -7.48187 0.768571 34.3698 -32.645 -7.07422 0.987266 33.883 -32.65 -6.67652 1.17594 33.3975 -32.655 -6.28963 1.33695 32.9146 -32.66 -5.91428 1.47261 32.4359 -32.665 -5.5511 1.58518 31.9625 -32.67 -5.20057 1.67684 31.4954 -32.675 -4.86309 1.74975 31.0353 -32.68 -4.53893 1.80599 30.5827 -32.685 -4.22824 1.84759 30.138 -32.69 -3.93104 1.87655 29.7014 -32.695 -3.64727 1.89478 29.2727 -32.7 -3.37674 1.90397 28.8519 -32.705 -3.11922 1.90513 28.4392 -32.71 -2.87438 1.89939 28.0344 -32.715 -2.64186 1.88783 27.6372 -32.72 -2.42133 1.87146 27.2475 -32.725 -2.21239 1.85122 26.8652 -32.73 -2.01467 1.82795 26.49 -32.735 -1.82776 1.80245 26.1217 -32.74 -1.65126 1.77542 25.7601 -32.745 -1.48474 1.7475 25.405 -32.75 -1.32776 1.71924 25.0563 -32.755 -1.17987 1.69114 24.7138 -32.76 -1.04059 1.6636 24.3771 -32.765 -0.90946 1.63696 24.0463 -32.77 -0.785976 1.61148 23.7209 -32.775 -0.669636 1.58736 23.401 -32.78 -0.559994 1.56486 23.0862 -32.785 -0.456694 1.54417 22.7765 -32.79 -0.359382 1.52547 22.4717 -32.795 -0.267705 1.50892 22.1716 -32.8 -0.181311 1.49464 21.8763 -32.805 -0.0998479 1.48276 21.5856 -32.81 -0.0229643 1.47337 21.2993 -32.815 0.0496915 1.46653 21.0173 -32.82 0.118471 1.46231 20.7396 -32.825 0.183724 1.46072 20.4661 -32.83 0.245802 1.46179 20.1966 -32.835 0.305056 1.4655 19.9312 -32.84 0.361811 1.47183 19.6696 -32.845 0.416269 1.48086 19.4119 -32.85 0.468622 1.49263 19.1581 -32.855 0.519066 1.50718 18.908 -32.86 0.567799 1.52457 18.6616 -32.865 0.615022 1.54482 18.419 -32.87 0.660934 1.56797 18.18 -32.875 0.70574 1.59406 17.9446 -32.88 0.749644 1.62311 17.7127 -32.885 0.792852 1.65515 17.4844 -32.89 0.835572 1.69019 17.2597 -32.895 0.878013 1.72826 17.0384 -32.9 0.920387 1.76937 16.8205 -32.905 0.962899 1.81353 16.6061 -32.91 1.00568 1.86084 16.3952 -32.915 1.04881 1.91141 16.1876 -32.92 1.09241 1.96533 15.9835 -32.925 1.13658 2.02273 15.7828 -32.93 1.18144 2.0837 15.5856 -32.935 1.22711 2.14838 15.3918 -32.94 1.27372 2.21687 15.2015 -32.945 1.32142 2.28929 15.0147 -32.95 1.37034 2.36576 14.8314 -32.955 1.42065 2.4464 14.6517 -32.96 1.4725 2.53135 14.4755 -32.965 1.52606 2.62072 14.303 -32.97 1.58152 2.71464 14.1342 -32.975 1.63905 2.81324 13.9691 -32.98 1.69884 2.91667 13.8079 -32.985 1.76101 3.02512 13.6506 -32.99 1.82566 3.13885 13.4973 -32.995 1.89287 3.25811 13.3481 -33 1.96278 3.38318 13.2031 -33.005 2.03551 3.51431 13.0624 -33.01 2.11119 3.65176 12.9262 -33.015 2.18998 3.79581 12.7947 -33.02 2.27205 3.94674 12.6681 -33.025 2.35755 4.1048 12.5465 -33.03 2.44669 4.27029 12.4302 -33.035 2.53966 4.44349 12.3194 -33.04 2.63666 4.62467 12.2145 -33.045 2.73793 4.81413 12.1158 -33.05 2.84368 5.01216 12.0234 -33.055 2.95418 5.21905 11.9379 -33.06 3.06967 5.43509 11.8596 -33.065 3.19042 5.66059 11.7888 -33.07 3.31663 5.89555 11.7261 -33.075 3.44844 6.13997 11.6722 -33.08 3.58608 6.3946 11.6274 -33.085 3.72983 6.6601 11.5924 -33.09 3.87992 6.93704 11.5676 -33.095 4.0366 7.22591 11.5539 -33.1 4.20011 7.5271 11.5518 -33.105 4.37067 7.84094 11.5624 -33.11 4.54851 8.16765 11.5864 -33.115 4.73387 8.50735 11.6248 -33.12 4.92695 8.86011 11.6788 -33.125 5.12796 9.22589 11.7494 -33.13 5.33712 9.60455 11.8379 -33.135 5.55463 9.9959 11.9455 -33.14 5.78068 10.3996 12.0736 -33.145 6.01547 10.8153 12.2237 -33.15 6.25918 11.2426 12.3973 -33.155 6.512 11.6808 12.5959 -33.16 6.7741 12.1293 12.8213 -33.165 7.04565 12.5873 13.0751 -33.17 7.32683 13.0541 13.3593 -33.175 7.61761 13.5288 13.6752 -33.18 7.91695 14.0099 14.0228 -33.185 8.22484 14.4956 14.4049 -33.19 8.54129 14.9835 14.8243 -33.195 8.86617 15.4711 15.2837 -33.2 9.19915 15.9556 15.7851 -33.205 9.5397 16.4339 16.3301 -33.21 9.88713 16.9024 16.9199 -33.215 10.2406 17.3575 17.5551 -33.22 10.599 17.7953 18.2361 -33.225 10.9611 18.2113 18.9625 -33.23 11.3255 18.6011 19.7338 -33.235 11.6905 18.9598 20.5488 -33.24 12.0545 19.2823 21.4059 -33.245 12.4154 19.5631 22.3031 -33.25 12.7711 19.7965 23.238 -33.255 13.1192 19.9765 24.2076 -33.26 13.4573 20.0967 25.2086 -33.265 13.7832 20.1512 26.2376 -33.27 14.0952 20.1361 27.2902 -33.275 14.3901 20.0477 28.3562 -33.28 14.6643 19.8836 29.4254 -33.285 14.9146 19.6419 30.4881 -33.29 15.1384 19.3219 31.535 -33.295 15.3328 18.9237 32.5573 -33.3 15.4958 18.4484 33.5467 -33.305 15.6253 17.8983 34.495 -33.31 15.7194 17.2762 35.3947 -33.315 15.7769 16.5862 36.2388 -33.32 15.7966 15.8332 37.0205 -33.325 15.7775 15.0231 37.7335 -33.33 15.719 14.1627 38.3721 -33.335 15.6209 13.2599 38.9306 -33.34 15.4825 12.3258 39.4005 -33.345 15.3046 11.3724 39.7808 -33.35 15.089 10.4104 40.0734 -33.355 14.8375 9.44954 40.2805 -33.36 14.5521 8.49887 40.4049 -33.365 14.2348 7.56641 40.4499 -33.37 13.8883 6.65933 40.419 -33.375 13.5149 5.78391 40.3165 -33.38 13.1174 4.94554 40.147 -33.385 12.6989 4.14874 39.9156 -33.39 12.2624 3.39712 39.6278 -33.395 11.8114 2.6934 39.2896 -33.4 11.3492 2.03945 38.9074 -33.405 10.8797 1.4362 38.4883 -33.41 10.4053 0.883893 38.0402 -33.415 9.92828 0.381767 37.5689 -33.42 9.45129 -0.071445 37.0793 -33.425 8.97665 -0.477325 36.5758 -33.43 8.50653 -0.837767 36.0622 -33.435 8.04286 -1.15498 35.5425 -33.44 7.58736 -1.43147 35.0198 -33.445 7.14152 -1.67009 34.4971 -33.45 6.70664 -1.87396 33.977 -33.455 6.28379 -2.04656 33.4618 -33.46 5.87383 -2.19163 32.9533 -33.465 5.4774 -2.31314 32.453 -33.47 5.09506 -2.4126 31.9613 -33.475 4.72709 -2.49179 31.4783 -33.48 4.37361 -2.55301 31.0045 -33.485 4.03469 -2.59845 30.54 -33.49 3.71034 -2.63015 30.0851 -33.495 3.40047 -2.64999 29.6399 -33.5 3.10495 -2.65974 29.2043 -33.505 2.82357 -2.66101 28.7783 -33.51 2.55606 -2.65528 28.3618 -33.515 2.30207 -2.64388 27.9543 -33.52 2.0612 -2.62801 27.5557 -33.525 1.83294 -2.60873 27.1654 -33.53 1.61661 -2.58707 26.7834 -33.535 1.41175 -2.56376 26.4093 -33.54 1.21792 -2.53947 26.0428 -33.545 1.0347 -2.51483 25.6836 -33.55 0.861637 -2.4904 25.3316 -33.555 0.698269 -2.46671 24.9864 -33.56 0.54413 -2.44424 24.6479 -33.565 0.398742 -2.42342 24.3157 -33.57 0.261615 -2.40462 23.9896 -33.575 0.132247 -2.3882 23.6695 -33.58 0.0101278 -2.37444 23.3552 -33.585 -0.105265 -2.36358 23.0465 -33.59 -0.214465 -2.35583 22.7431 -33.595 -0.318016 -2.35132 22.4451 -33.6 -0.416471 -2.35016 22.1521 -33.605 -0.510397 -2.35242 21.8642 -33.61 -0.600349 -2.35809 21.5811 -33.615 -0.686643 -2.36723 21.3027 -33.62 -0.76949 -2.37996 21.029 -33.625 -0.849113 -2.39641 20.76 -33.63 -0.925749 -2.41671 20.4955 -33.635 -0.999646 -2.44095 20.2356 -33.64 -1.07106 -2.46924 19.9801 -33.645 -1.14027 -2.50166 19.7292 -33.65 -1.20754 -2.53828 19.4827 -33.655 -1.27318 -2.57915 19.2406 -33.66 -1.33749 -2.62433 19.0029 -33.665 -1.40078 -2.67386 18.7695 -33.67 -1.46337 -2.72774 18.5404 -33.675 -1.52561 -2.78601 18.3156 -33.68 -1.58784 -2.84865 18.0951 -33.685 -1.65043 -2.91566 17.8787 -33.69 -1.71373 -2.98703 17.6667 -33.695 -1.77778 -3.06294 17.4589 -33.7 -1.84263 -3.1436 17.2555 -33.705 -1.90841 -3.22918 17.0566 -33.71 -1.97528 -3.31982 16.8623 -33.715 -2.0434 -3.41568 16.6725 -33.72 -2.11293 -3.51691 16.4874 -33.725 -2.18406 -3.62366 16.3071 -33.73 -2.25697 -3.73609 16.1317 -33.735 -2.33185 -3.85435 15.9613 -33.74 -2.40892 -3.9786 15.7961 -33.745 -2.48838 -4.109 15.6361 -33.75 -2.57046 -4.2457 15.4816 -33.755 -2.65538 -4.38885 15.3326 -33.76 -2.74339 -4.53863 15.1895 -33.765 -2.83472 -4.69517 15.0522 -33.77 -2.92957 -4.85859 14.9213 -33.775 -3.02807 -5.02919 14.7969 -33.78 -3.13035 -5.20731 14.6792 -33.785 -3.23656 -5.39326 14.5685 -33.79 -3.34687 -5.58734 14.4653 -33.795 -3.46143 -5.78981 14.3698 -33.8 -3.58043 -6.00094 14.2824 -33.805 -3.70404 -6.22095 14.2037 -33.81 -3.83246 -6.45005 14.134 -33.815 -3.96589 -6.68842 14.0739 -33.82 -4.10454 -6.93624 14.024 -33.825 -4.24862 -7.19364 13.9847 -33.83 -4.39836 -7.46075 13.9569 -33.835 -4.55399 -7.73767 13.9411 -33.84 -4.71575 -8.02449 13.938 -33.845 -4.88391 -8.32126 13.9483 -33.85 -5.0587 -8.62801 13.973 -33.855 -5.2404 -8.94476 14.0127 -33.86 -5.4287 -9.27057 14.0676 -33.865 -5.6236 -9.60528 14.1389 -33.87 -5.82545 -9.94931 14.2279 -33.875 -6.03456 -10.3029 14.3361 -33.88 -6.25115 -10.666 14.465 -33.885 -6.4754 -11.0384 14.6159 -33.89 -6.70739 -11.4197 14.7902 -33.895 -6.94716 -11.8092 14.9891 -33.9 -7.19465 -12.206 15.2139 -33.905 -7.44976 -12.6092 15.4656 -33.91 -7.71232 -13.0172 15.7454 -33.915 -7.98207 -13.4287 16.0544 -33.92 -8.25871 -13.8419 16.3936 -33.925 -8.54184 -14.2547 16.7639 -33.93 -8.83103 -14.6652 17.1663 -33.935 -9.12575 -15.0707 17.6015 -33.94 -9.42541 -15.4689 18.0705 -33.945 -9.72937 -15.8567 18.574 -33.95 -10.0369 -16.2312 19.1126 -33.955 -10.3472 -16.589 19.6871 -33.96 -10.6594 -16.9268 20.2979 -33.965 -10.9726 -17.2408 20.9458 -33.97 -11.2858 -17.529 21.6299 -33.975 -11.5973 -17.7881 22.3479 -33.98 -11.9053 -18.0125 23.0974 -33.985 -12.2079 -18.1973 23.8756 -33.99 -12.5035 -18.3378 24.6794 -33.995 -12.79 -18.4302 25.5053 -34 -13.0656 -18.471 26.3494 -34.005 -13.3283 -18.4573 27.2072 -34.01 -13.5763 -18.3868 28.074 -34.015 -13.8076 -18.2577 28.9447 -34.02 -14.0202 -18.0686 29.8136 -34.025 -14.2122 -17.8189 30.6749 -34.03 -14.3814 -17.5084 31.522 -34.035 -14.5259 -17.1375 32.3482 -34.04 -14.6436 -16.707 33.1463 -34.045 -14.7326 -16.2173 33.9085 -34.05 -14.7921 -15.6669 34.6264 -34.055 -14.8213 -15.0639 35.2949 -34.06 -14.8191 -14.4173 35.9101 -34.065 -14.785 -13.7355 36.4683 -34.07 -14.7188 -13.0263 36.9668 -34.075 -14.6206 -12.297 37.4032 -34.08 -14.4908 -11.554 37.7758 -34.085 -14.33 -10.8034 38.0834 -34.09 -14.1394 -10.0505 38.3256 -34.095 -13.9202 -9.29999 38.5024 -34.1 -13.6742 -8.55612 38.6143 -34.105 -13.4033 -7.82235 38.6625 -34.11 -13.1098 -7.10159 38.6489 -34.115 -12.7963 -6.39614 38.5758 -34.12 -12.4658 -5.70768 38.4461 -34.125 -12.1196 -5.04395 38.2656 -34.13 -11.7585 -4.41376 38.0404 -34.135 -11.3851 -3.8193 37.7746 -34.14 -11.0021 -3.26225 37.4723 -34.145 -10.6116 -2.74378 37.1375 -34.15 -10.2161 -2.26457 36.7741 -34.155 -9.81759 -1.82476 36.3863 -34.16 -9.41806 -1.42398 35.9779 -34.165 -9.01938 -1.06137 35.553 -34.17 -8.62327 -0.735531 35.1154 -34.175 -8.23134 -0.444577 34.6691 -34.18 -7.84505 -0.186097 34.2179 -34.185 -7.46573 0.0428183 33.7657 -34.19 -7.09461 0.243819 33.3134 -34.195 -6.73257 0.41815 32.861 -34.2 -6.38029 0.567812 32.4098 -34.205 -6.0384 0.694746 31.961 -34.21 -5.7074 0.800841 31.5158 -34.215 -5.38773 0.887929 31.0749 -34.22 -5.07974 0.957788 30.6391 -34.225 -4.78369 1.01214 30.209 -34.23 -4.49975 1.05264 29.785 -34.235 -4.22801 1.08092 29.3676 -34.24 -3.96846 1.09852 28.9566 -34.245 -3.72101 1.10693 28.5523 -34.25 -3.48548 1.10761 28.1544 -34.255 -3.26162 1.10149 27.7631 -34.26 -3.04912 1.08939 27.3783 -34.265 -2.84768 1.07215 26.9999 -34.27 -2.65697 1.0506 26.6278 -34.275 -2.47668 1.02545 26.2619 -34.28 -2.30646 0.997409 25.902 -34.285 -2.14597 0.967083 25.5479 -34.29 -1.99485 0.935034 25.1997 -34.295 -1.85273 0.901763 24.8571 -34.3 -1.71923 0.86771 24.5199 -34.305 -1.59397 0.833251 24.1881 -34.31 -1.47655 0.798707 23.8615 -34.315 -1.36656 0.764334 23.5399 -34.32 -1.26359 0.73033 23.2232 -34.325 -1.1672 0.696835 22.9114 -34.33 -1.077 0.664012 22.6041 -34.335 -0.992698 0.632023 22.3013 -34.34 -0.914014 0.600992 22.003 -34.345 -0.840668 0.571028 21.709 -34.35 -0.772381 0.542217 21.4193 -34.355 -0.708872 0.514629 21.1336 -34.36 -0.649862 0.488312 20.8521 -34.365 -0.595072 0.463297 20.5745 -34.37 -0.544221 0.439596 20.3007 -34.375 -0.497031 0.417199 20.0308 -34.38 -0.453223 0.396081 19.7646 -34.385 -0.412517 0.376194 19.502 -34.39 -0.374633 0.357474 19.243 -34.395 -0.339334 0.339866 18.9875 -34.4 -0.306504 0.323393 18.7355 -34.405 -0.276013 0.308053 18.4869 -34.41 -0.247727 0.293837 18.2416 -34.415 -0.221514 0.28073 17.9997 -34.42 -0.197241 0.268711 17.761 -34.425 -0.174773 0.257753 17.5255 -34.43 -0.153975 0.247822 17.2932 -34.435 -0.134713 0.238879 17.064 -34.44 -0.116851 0.230877 16.8379 -34.445 -0.100253 0.223766 16.6148 -34.45 -0.0847826 0.217486 16.3946 -34.455 -0.0703023 0.211974 16.1774 -34.46 -0.0566792 0.207163 15.9631 -34.465 -0.0438592 0.203047 15.7516 -34.47 -0.0318072 0.199632 15.5429 -34.475 -0.020477 0.196912 15.337 -34.48 -0.00982089 0.194883 15.1339 -34.485 0.000210793 0.193533 14.9334 -34.49 0.0096693 0.192853 14.7356 -34.495 0.0186076 0.192828 14.5405 -34.5 0.0270803 0.193443 14.3479 -34.505 0.0351438 0.194679 14.1579 -34.51 0.0428563 0.196516 13.9705 -34.515 0.0502773 0.198931 13.7855 -34.52 0.0574685 0.201899 13.6029 -34.525 0.064493 0.205392 13.4228 -34.53 0.0714157 0.20938 13.2451 -34.535 0.0782713 0.213861 13.0698 -34.54 0.0850554 0.218869 12.8968 -34.545 0.0917829 0.224417 12.726 -34.55 0.0984709 0.230521 12.5576 -34.555 0.105138 0.237194 12.3914 -34.56 0.111806 0.244452 12.2274 -34.565 0.118496 0.252308 12.0656 -34.57 0.125233 0.260775 11.9059 -34.575 0.132045 0.269867 11.7484 -34.58 0.138958 0.279597 11.593 -34.585 0.146004 0.289977 11.4397 -34.59 0.153214 0.301021 11.2884 -34.595 0.160623 0.31274 11.1391 -34.6 0.168266 0.325146 10.9918 -34.605 0.176182 0.33825 10.8465 -34.61 0.184409 0.352066 10.7032 -34.615 0.192969 0.366632 10.5617 -34.62 0.201869 0.381997 10.4222 -34.625 0.211121 0.398202 10.2846 -34.63 0.220742 0.415294 10.1488 -34.635 0.230747 0.433319 10.0149 -34.64 0.241159 0.452325 9.88273 -34.645 0.252 0.472365 9.7524 -34.65 0.263297 0.493489 9.62384 -34.655 0.275078 0.515754 9.49705 -34.66 0.287377 0.539215 9.372 -34.665 0.300226 0.563931 9.24867 -34.67 0.313665 0.589964 9.12705 -34.675 0.327734 0.617374 9.00712 -34.68 0.342475 0.646227 8.88888 -34.685 0.357935 0.676589 8.7723 -34.69 0.374163 0.708528 8.65737 -34.695 0.391209 0.742114 8.54409 -34.7 0.40913 0.77742 8.43244 -34.705 0.427983 0.814521 8.32241 -34.71 0.447844 0.853518 8.21402 -34.715 0.468752 0.894526 8.10727 -34.72 0.490736 0.93766 8.00213 -34.725 0.51383 0.983042 7.89859 -34.73 0.538077 1.0308 7.79665 -34.735 0.563524 1.08108 7.69629 -34.74 0.590227 1.13401 7.59753 -34.745 0.618249 1.18976 7.50037 -34.75 0.647659 1.24848 7.40482 -34.755 0.678531 1.31034 7.31089 -34.76 0.71095 1.37551 7.21862 -34.765 0.745005 1.44419 7.12803 -34.77 0.780793 1.51656 7.03914 -34.775 0.818416 1.59282 6.952 -34.78 0.857985 1.67317 6.86665 -34.785 0.899618 1.75783 6.78314 -34.79 0.943437 1.84703 6.70152 -34.795 0.989575 1.94098 6.62184 -34.8 1.03817 2.03994 6.54418 -34.805 1.08936 2.14414 6.4686 -34.81 1.1433 2.25383 6.39516 -34.815 1.20016 2.36927 6.32396 -34.82 1.26009 2.49074 6.25507 -34.825 1.3233 2.61839 6.18887 -34.83 1.39001 2.75243 6.12575 -34.835 1.46033 2.89339 6.06562 -34.84 1.5344 3.04178 6.00844 -34.845 1.61237 3.19809 5.95426 -34.85 1.69442 3.36285 5.90314 -34.855 1.78073 3.53659 5.85525 -34.86 1.87151 3.71981 5.81079 -34.865 1.96699 3.91305 5.77003 -34.87 2.06741 4.11684 5.7333 -34.875 2.17302 4.33169 5.70098 -34.88 2.28411 4.55815 5.67352 -34.885 2.40097 4.79676 5.65144 -34.89 2.5239 5.04804 5.63529 -34.895 2.65325 5.31255 5.62571 -34.9 2.78935 5.59082 5.62339 -34.905 2.93256 5.88341 5.62908 -34.91 3.08328 6.19086 5.64357 -34.915 3.24189 6.51373 5.66775 -34.92 3.40882 6.85257 5.70253 -34.925 3.58449 7.20794 5.74892 -34.93 3.76936 7.58041 5.80795 -34.935 3.9639 7.97053 5.88073 -34.94 4.16859 8.37888 5.96844 -34.945 4.38393 8.80602 6.0723 -34.95 4.61035 9.25228 6.19363 -34.955 4.84743 9.71619 6.3343 -34.96 5.09574 10.1989 6.49638 -34.965 5.35605 10.7019 6.68199 -34.97 5.62901 11.2262 6.89338 -34.975 5.9152 11.7723 7.13292 -34.98 6.21506 12.3403 7.4031 -34.985 6.52894 12.9299 7.70653 -34.99 6.8571 13.5401 8.04594 -34.995 7.19966 14.1696 8.42419 -35 7.55668 14.8166 8.84425 -35.005 7.92808 15.4788 9.30921 -35.01 8.31368 16.1534 9.8223 -35.015 8.71322 16.8371 10.3869 -35.02 9.1263 17.5263 11.0063 -35.025 9.55245 18.2168 11.6843 -35.03 9.99106 18.9039 12.4245 -35.035 10.4414 19.5825 13.2307 -35.04 10.9028 20.247 14.1069 -35.045 11.3742 20.8914 15.0569 -35.05 11.8536 21.511 16.0792 -35.055 12.3387 22.0954 17.174 -35.06 12.8272 22.6324 18.3422 -35.065 13.3165 23.1107 19.5827 -35.07 13.8036 23.5194 20.8929 -35.075 14.2851 23.848 22.2683 -35.08 14.7574 24.0869 23.7027 -35.085 15.2164 24.2269 25.188 -35.09 15.6579 24.2592 26.7146 -35.095 16.0772 24.1758 28.2711 -35.1 16.4692 23.9691 29.844 -35.105 16.8285 23.6322 31.4186 -35.11 17.1498 23.1578 32.9784 -35.115 17.4299 22.532 34.5089 -35.12 17.6641 21.7637 35.9892 -35.125 17.8471 20.8689 37.3982 -35.13 17.9747 19.8626 38.7175 -35.135 18.0438 18.7595 39.9315 -35.14 18.052 17.5733 41.027 -35.145 17.9981 16.3174 41.9937 -35.15 17.8819 15.0042 42.8239 -35.155 17.704 13.6457 43.5123 -35.16 17.4661 12.2531 44.0567 -35.165 17.1709 10.8371 44.4573 -35.17 16.8221 9.40755 44.717 -35.175 16.424 7.97536 44.8411 -35.18 15.9769 6.57414 44.8331 -35.185 15.4844 5.22483 44.7018 -35.19 14.952 3.9391 44.4579 -35.195 14.385 2.72647 44.1129 -35.2 13.7888 1.59434 43.6788 -35.205 13.1685 0.547981 43.1679 -35.21 12.5293 -0.409491 42.5934 -35.215 11.8765 -1.27708 41.9689 -35.22 11.2151 -2.05591 41.3084 -35.225 10.5501 -2.74928 40.6267 -35.23 9.88619 -3.36163 39.9337 -35.235 9.22669 -3.89734 39.2329 -35.24 8.57497 -4.36148 38.531 -35.245 7.934 -4.75921 37.8334 -35.25 7.30637 -5.09585 37.1452 -35.255 6.69429 -5.37684 36.4703 -35.26 6.09963 -5.60775 35.8119 -35.265 5.52385 -5.79427 35.1724 -35.27 4.96807 -5.94224 34.5535 -35.275 4.43303 -6.05762 33.9559 -35.28 3.91928 -6.14554 33.3798 -35.285 3.42721 -6.20877 32.8256 -35.29 2.95665 -6.25078 32.2926 -35.295 2.50734 -6.27486 31.7803 -35.3 2.07894 -6.28403 31.288 -35.305 1.67108 -6.28107 30.8151 -35.31 1.2833 -6.26853 30.3607 -35.315 0.915098 -6.24869 29.9243 -35.32 0.565894 -6.22358 29.5049 -35.325 0.235055 -6.195 29.1018 -35.33 -0.0781167 -6.16449 28.7142 -35.335 -0.37438 -6.13333 28.3411 -35.34 -0.654556 -6.10258 27.9817 -35.345 -0.919536 -6.07304 27.635 -35.35 -1.17048 -6.04573 27.3003 -35.355 -1.40823 -6.02142 26.9772 -35.36 -1.63345 -6.00057 26.665 -35.365 -1.84678 -5.98362 26.3633 -35.37 -2.04891 -5.97098 26.0718 -35.375 -2.2405 -5.96302 25.7899 -35.38 -2.42224 -5.96006 25.5174 -35.385 -2.59482 -5.96241 25.2539 -35.39 -2.75895 -5.97032 24.999 -35.395 -2.91532 -5.98401 24.7525 -35.4 -3.06466 -6.00367 24.5141 -35.405 -3.20768 -6.02945 24.2836 -35.41 -3.34513 -6.06147 24.0608 -35.415 -3.47772 -6.09981 23.8455 -35.42 -3.60622 -6.14451 23.6376 -35.425 -3.73128 -6.1955 23.4369 -35.43 -3.85322 -6.2526 23.2435 -35.435 -3.97233 -6.31581 23.0575 -35.44 -4.08893 -6.38518 22.879 -35.445 -4.20335 -6.46072 22.708 -35.45 -4.31592 -6.54241 22.5446 -35.455 -4.42696 -6.63024 22.3889 -35.46 -4.53681 -6.72417 22.2411 -35.465 -4.64581 -6.82413 22.1013 -35.47 -4.75429 -6.93005 21.9695 -35.475 -4.86259 -7.04183 21.8458 -35.48 -4.97106 -7.15935 21.7304 -35.485 -5.08005 -7.28248 21.6234 -35.49 -5.1899 -7.41107 21.5248 -35.495 -5.30096 -7.54495 21.4349 -35.5 -5.4136 -7.68393 21.3538 -35.505 -5.52796 -7.82784 21.2816 -35.51 -5.64403 -7.97659 21.2186 -35.515 -5.76191 -8.13013 21.1653 -35.52 -5.8817 -8.28832 21.122 -35.525 -6.00347 -8.45104 21.089 -35.53 -6.12731 -8.61809 21.0665 -35.535 -6.25327 -8.78924 21.0551 -35.54 -6.38142 -8.96425 21.0548 -35.545 -6.51181 -9.1428 21.066 -35.55 -6.64448 -9.32455 21.0891 -35.555 -6.77947 -9.50914 21.1241 -35.56 -6.9168 -9.69615 21.1714 -35.565 -7.05651 -9.88513 21.2313 -35.57 -7.1986 -10.0756 21.3039 -35.575 -7.34309 -10.267 21.3895 -35.58 -7.48996 -10.4588 21.4882 -35.585 -7.63921 -10.6503 21.6003 -35.59 -7.79075 -10.8413 21.7258 -35.595 -7.94421 -11.0314 21.8645 -35.6 -8.0994 -11.2199 22.0168 -35.605 -8.25611 -11.4057 22.1831 -35.61 -8.4141 -11.5879 22.3636 -35.615 -8.5731 -11.7654 22.5585 -35.62 -8.73284 -11.9374 22.7678 -35.625 -8.89299 -12.1029 22.9915 -35.63 -9.05322 -12.2609 23.2294 -35.635 -9.21315 -12.4106 23.4811 -35.64 -9.37239 -12.5509 23.7464 -35.645 -9.53052 -12.6811 24.0248 -35.65 -9.68709 -12.8001 24.3156 -35.655 -9.84163 -12.9071 24.6181 -35.66 -9.99364 -13.0012 24.9316 -35.665 -10.1426 -13.0816 25.2551 -35.67 -10.2879 -13.1473 25.5876 -35.675 -10.4291 -13.1975 25.9279 -35.68 -10.5654 -13.2313 26.2749 -35.685 -10.6963 -13.248 26.6272 -35.69 -10.8212 -13.2466 26.9833 -35.695 -10.9392 -13.2263 27.3417 -35.7 -11.05 -13.186 27.7013 -35.705 -11.1536 -13.1246 28.0613 -35.71 -11.249 -13.0428 28.4194 -35.715 -11.3356 -12.9412 28.7736 -35.72 -11.4127 -12.8207 29.1217 -35.725 -11.4797 -12.6819 29.4618 -35.73 -11.5361 -12.5256 29.7921 -35.735 -11.5815 -12.3528 30.1109 -35.74 -11.6155 -12.1641 30.4168 -35.745 -11.6379 -11.9604 30.7082 -35.75 -11.6485 -11.7428 30.9838 -35.755 -11.6471 -11.5119 31.2426 -35.76 -11.6338 -11.2689 31.4835 -35.765 -11.6085 -11.0146 31.7056 -35.77 -11.5714 -10.75 31.908 -35.775 -11.5227 -10.4762 32.0902 -35.78 -11.4627 -10.1941 32.2516 -35.785 -11.3917 -9.90496 32.3919 -35.79 -11.3101 -9.60971 32.5107 -35.795 -11.2185 -9.30952 32.6079 -35.8 -11.1175 -9.00552 32.6835 -35.805 -11.0068 -8.7009 32.7375 -35.81 -10.8864 -8.3986 32.77 -35.815 -10.7572 -8.09988 32.781 -35.82 -10.6197 -7.80591 32.7711 -35.825 -10.4749 -7.51778 32.7406 -35.83 -10.3234 -7.23651 32.69 -35.835 -10.1658 -6.96304 32.6198 -35.84 -10.003 -6.69824 32.5309 -35.845 -9.83562 -6.4429 32.4239 -35.85 -9.66431 -6.19771 32.2996 -35.855 -9.48976 -5.96333 32.1592 -35.86 -9.31264 -5.74029 32.0034 -35.865 -9.1336 -5.52908 31.8336 -35.87 -8.95328 -5.33009 31.6508 -35.875 -8.77231 -5.14365 31.4565 -35.88 -8.59132 -4.97 31.2518 -35.885 -8.41092 -4.80932 31.0384 -35.89 -8.23171 -4.66168 30.8178 -35.895 -8.05429 -4.52711 30.5915 -35.9 -7.87923 -4.40553 30.3614 -35.905 -7.70718 -4.29614 30.1278 -35.91 -7.53863 -4.19788 29.8897 -35.915 -7.37389 -4.11054 29.6478 -35.92 -7.21324 -4.03384 29.4028 -35.925 -7.05694 -3.96753 29.1552 -35.93 -6.90525 -3.91131 28.9057 -35.935 -6.75837 -3.86488 28.6546 -35.94 -6.61654 -3.82793 28.4027 -35.945 -6.47993 -3.80013 28.1502 -35.95 -6.34872 -3.78112 27.8977 -35.955 -6.22307 -3.77054 27.6456 -35.96 -6.10311 -3.76802 27.3942 -35.965 -5.98897 -3.77315 27.1441 -35.97 -5.88074 -3.78553 26.8954 -35.975 -5.7785 -3.80473 26.6485 -35.98 -5.68233 -3.8303 26.4038 -35.985 -5.59226 -3.86179 26.1614 -35.99 -5.50832 -3.89872 25.9215 -35.995 -5.43053 -3.94061 25.6845 -36 -5.35887 -3.98695 25.4505 -36.005 -5.29315 -4.03786 25.2195 -36.01 -5.23314 -4.09374 24.9919 -36.015 -5.17883 -4.15442 24.7676 -36.02 -5.1302 -4.21974 24.5468 -36.025 -5.0872 -4.28958 24.3297 -36.03 -5.0498 -4.36382 24.1164 -36.035 -5.01796 -4.44234 23.907 -36.04 -4.99165 -4.52506 23.7018 -36.045 -4.9708 -4.6119 23.5008 -36.05 -4.95538 -4.70278 23.3043 -36.055 -4.94532 -4.79767 23.1123 -36.06 -4.94057 -4.89651 22.9251 -36.065 -4.94107 -4.99929 22.7427 -36.07 -4.94674 -5.10599 22.5655 -36.075 -4.95752 -5.21663 22.3935 -36.08 -4.97333 -5.33121 22.2269 -36.085 -4.9941 -5.44976 22.0659 -36.09 -5.01974 -5.57234 21.9107 -36.095 -5.05017 -5.699 21.7614 -36.1 -5.0853 -5.82981 21.6183 -36.105 -5.12503 -5.96486 21.4815 -36.11 -5.16917 -6.10407 21.3512 -36.115 -5.21762 -6.24734 21.2277 -36.12 -5.27048 -6.39475 21.1112 -36.125 -5.32787 -6.54637 21.0019 -36.13 -5.38986 -6.70223 20.9001 -36.135 -5.45651 -6.86237 20.8062 -36.14 -5.5279 -7.02677 20.7202 -36.145 -5.60404 -7.19542 20.6427 -36.15 -5.68497 -7.36827 20.5737 -36.155 -5.77069 -7.54524 20.5137 -36.16 -5.8612 -7.72626 20.463 -36.165 -5.95648 -7.91119 20.4217 -36.17 -6.05649 -8.09991 20.3904 -36.175 -6.16117 -8.29226 20.3693 -36.18 -6.27047 -8.48805 20.3587 -36.185 -6.38431 -8.68709 20.359 -36.19 -6.50257 -8.88914 20.3705 -36.195 -6.62517 -9.09397 20.3936 -36.2 -6.75196 -9.30128 20.4287 -36.205 -6.88281 -9.51081 20.4761 -36.21 -7.01757 -9.72222 20.5362 -36.215 -7.15605 -9.93518 20.6095 -36.22 -7.29809 -10.1493 20.6962 -36.225 -7.44347 -10.3643 20.7968 -36.23 -7.59198 -10.5796 20.9118 -36.235 -7.7434 -10.795 21.0415 -36.24 -7.89752 -11.0099 21.1861 -36.245 -8.05438 -11.224 21.3449 -36.25 -8.2138 -11.4361 21.5185 -36.255 -8.37556 -11.6451 21.7072 -36.26 -8.5394 -11.8499 21.9113 -36.265 -8.70502 -12.0493 22.1312 -36.27 -8.87209 -12.2421 22.3668 -36.275 -9.04024 -12.4274 22.6181 -36.28 -9.20908 -12.604 22.8849 -36.285 -9.37817 -12.7708 23.1671 -36.29 -9.54705 -12.9269 23.4641 -36.295 -9.71522 -13.0711 23.7755 -36.3 -9.88214 -13.2024 24.1006 -36.305 -10.0472 -13.3199 24.4386 -36.31 -10.2099 -13.4226 24.7887 -36.315 -10.3695 -13.5095 25.1498 -36.32 -10.5254 -13.5796 25.5208 -36.325 -10.6769 -13.632 25.9004 -36.33 -10.8231 -13.6658 26.2873 -36.335 -10.9635 -13.6801 26.68 -36.34 -11.097 -13.674 27.0768 -36.345 -11.223 -13.6467 27.476 -36.35 -11.3405 -13.5972 27.8758 -36.355 -11.4491 -13.524 28.2747 -36.36 -11.5488 -13.4261 28.6714 -36.365 -11.6388 -13.3047 29.0632 -36.37 -11.7183 -13.1611 29.4478 -36.375 -11.7865 -12.9965 29.8227 -36.38 -11.843 -12.8121 30.1858 -36.385 -11.8871 -12.6092 30.5352 -36.39 -11.9184 -12.389 30.869 -36.395 -11.9368 -12.1526 31.1857 -36.4 -11.9418 -11.9013 31.4836 -36.405 -11.9335 -11.6363 31.7616 -36.41 -11.9118 -11.3588 32.0184 -36.415 -11.8768 -11.0699 32.2531 -36.42 -11.8286 -10.7708 32.4649 -36.425 -11.7674 -10.4627 32.6531 -36.43 -11.6937 -10.1467 32.8172 -36.435 -11.6079 -9.82393 32.957 -36.44 -11.5104 -9.49559 33.0723 -36.445 -11.4021 -9.1628 33.163 -36.45 -11.2835 -8.82666 33.2295 -36.455 -11.1552 -8.48916 33.2719 -36.46 -11.0165 -8.15528 33.2907 -36.465 -10.8683 -7.82682 33.2861 -36.47 -10.7114 -7.50504 33.2587 -36.475 -10.5467 -7.19113 33.2088 -36.48 -10.3751 -6.88616 33.1372 -36.485 -10.1973 -6.59113 33.0445 -36.49 -10.0143 -6.30691 32.9317 -36.495 -9.82675 -6.03431 32.7996 -36.5 -9.63553 -5.77401 32.6493 -36.505 -9.44139 -5.52661 32.4818 -36.51 -9.24506 -5.29262 32.2985 -36.515 -9.04727 -5.07245 32.1006 -36.52 -8.84874 -4.86639 31.8895 -36.525 -8.65016 -4.67467 31.6668 -36.53 -8.4522 -4.4974 31.4341 -36.535 -8.25551 -4.33459 31.193 -36.54 -8.06072 -4.18618 30.9455 -36.545 -7.86846 -4.05198 30.6934 -36.55 -7.67933 -3.93174 30.4387 -36.555 -7.49397 -3.82458 30.1816 -36.56 -7.31289 -3.72941 29.9209 -36.565 -7.1364 -3.64585 29.657 -36.57 -6.96475 -3.57353 29.3907 -36.575 -6.79821 -3.51206 29.1226 -36.58 -6.63699 -3.46105 28.8531 -36.585 -6.48131 -3.42009 28.5829 -36.59 -6.33135 -3.38879 28.3124 -36.595 -6.1873 -3.36671 28.0421 -36.6 -6.04929 -3.35344 27.7725 -36.605 -5.91746 -3.34855 27.5039 -36.61 -5.79191 -3.35159 27.2367 -36.615 -5.67275 -3.36212 26.9712 -36.62 -5.56003 -3.37968 26.7077 -36.625 -5.4538 -3.40381 26.4466 -36.63 -5.3541 -3.43405 26.1879 -36.635 -5.26094 -3.4699 25.932 -36.64 -5.17431 -3.51089 25.679 -36.645 -5.09418 -3.55651 25.429 -36.65 -5.02035 -3.60675 25.1822 -36.655 -4.9526 -3.66193 24.9387 -36.66 -4.89088 -3.72186 24.6987 -36.665 -4.83514 -3.78637 24.4623 -36.67 -4.78534 -3.85531 24.2297 -36.675 -4.74143 -3.92855 24.0009 -36.68 -4.70335 -4.00597 23.776 -36.685 -4.67105 -4.08747 23.5553 -36.69 -4.64445 -4.17297 23.3388 -36.695 -4.6235 -4.2624 23.1267 -36.7 -4.60812 -4.35572 22.919 -36.705 -4.59824 -4.4529 22.7161 -36.71 -4.59378 -4.55392 22.5179 -36.715 -4.59467 -4.65879 22.3246 -36.72 -4.60081 -4.76752 22.1365 -36.725 -4.61212 -4.88017 21.9536 -36.73 -4.62851 -4.99679 21.7761 -36.735 -4.64988 -5.11745 21.6042 -36.74 -4.67613 -5.24224 21.438 -36.745 -4.70716 -5.37127 21.2777 -36.75 -4.74285 -5.50465 21.1235 -36.755 -4.78302 -5.64229 20.9756 -36.76 -4.82772 -5.7842 20.8343 -36.765 -4.87702 -5.93048 20.6997 -36.77 -4.93104 -6.08121 20.5721 -36.775 -4.98982 -6.23645 20.4516 -36.78 -5.05345 -6.39625 20.3386 -36.785 -5.12196 -6.56064 20.2332 -36.79 -5.1954 -6.72963 20.1357 -36.795 -5.27379 -6.90322 20.0465 -36.8 -5.35714 -7.08139 19.9659 -36.805 -5.44546 -7.26412 19.894 -36.81 -5.53874 -7.45134 19.8313 -36.815 -5.63695 -7.643 19.7782 -36.82 -5.74007 -7.83902 19.7349 -36.825 -5.84804 -8.03929 19.7018 -36.83 -5.9608 -8.2437 19.6794 -36.835 -6.0783 -8.45212 19.668 -36.84 -6.20045 -8.66441 19.668 -36.845 -6.32715 -8.8804 19.68 -36.85 -6.4583 -9.09993 19.7042 -36.855 -6.59378 -9.32278 19.7412 -36.86 -6.73347 -9.54876 19.7915 -36.865 -6.87722 -9.77764 19.8555 -36.87 -7.02489 -10.0092 19.9338 -36.875 -7.1763 -10.2431 20.0267 -36.88 -7.33126 -10.4792 20.1336 -36.885 -7.48973 -10.7166 20.2545 -36.89 -7.65172 -10.9545 20.3906 -36.895 -7.81715 -11.192 20.5425 -36.9 -7.98592 -11.428 20.7111 -36.905 -8.15787 -11.6617 20.8968 -36.91 -8.3328 -11.8919 21.1001 -36.915 -8.51045 -12.1178 21.3214 -36.92 -8.69054 -12.3382 21.5607 -36.925 -8.87271 -12.5522 21.8181 -36.93 -9.05657 -12.7585 22.0935 -36.935 -9.24168 -12.956 22.3867 -36.94 -9.42756 -13.1438 22.6975 -36.945 -9.61367 -13.3204 23.0252 -36.95 -9.79943 -13.4849 23.3692 -36.955 -9.98421 -13.636 23.729 -36.96 -10.1673 -13.7723 24.1035 -36.965 -10.3481 -13.8928 24.4918 -36.97 -10.5257 -13.996 24.8928 -36.975 -10.6993 -14.0808 25.3052 -36.98 -10.8681 -14.1457 25.7276 -36.985 -11.0311 -14.1893 26.1586 -36.99 -11.1875 -14.2104 26.5964 -36.995 -11.3361 -14.2076 27.0394 -37 -11.476 -14.1793 27.4856 -37.005 -11.607 -14.1238 27.934 -37.01 -11.729 -14.041 28.3824 -37.015 -11.8408 -13.9318 28.8278 -37.02 -11.9414 -13.797 29.2671 -37.025 -12.0299 -13.6376 29.6976 -37.03 -12.1057 -13.4546 30.1168 -37.035 -12.1681 -13.2491 30.5222 -37.04 -12.2165 -13.022 30.9116 -37.045 -12.2504 -12.7746 31.283 -37.05 -12.2697 -12.5079 31.6345 -37.055 -12.2739 -12.2234 31.9646 -37.06 -12.2631 -11.9221 32.2718 -37.065 -12.2373 -11.6055 32.5547 -37.07 -12.1964 -11.2748 32.8124 -37.075 -12.1409 -10.9316 33.0438 -37.08 -12.0709 -10.5772 33.2483 -37.085 -11.987 -10.2131 33.4255 -37.09 -11.8896 -9.84099 33.5748 -37.095 -11.7794 -9.46231 33.6962 -37.1 -11.6568 -9.07971 33.7896 -37.105 -11.5213 -8.69842 33.8546 -37.11 -11.3736 -8.32063 33.8915 -37.115 -11.2149 -7.94808 33.9009 -37.12 -11.046 -7.58242 33.8834 -37.125 -10.8678 -7.22514 33.8397 -37.13 -10.6813 -6.87763 33.7706 -37.135 -10.4875 -6.54115 33.6771 -37.14 -10.2872 -6.21683 33.5603 -37.145 -10.0813 -5.90569 33.4215 -37.15 -9.87071 -5.60863 33.262 -37.155 -9.65633 -5.32641 33.0832 -37.16 -9.43903 -5.05967 32.8866 -37.165 -9.21967 -4.80894 32.6741 -37.17 -8.99909 -4.57462 32.4473 -37.175 -8.77813 -4.35699 32.2083 -37.18 -8.55763 -4.15619 31.959 -37.185 -8.33841 -3.97226 31.7017 -37.19 -8.12129 -3.80511 31.4387 -37.195 -7.9071 -3.65385 31.1707 -37.2 -7.69652 -3.51711 30.897 -37.205 -7.49001 -3.39447 30.6184 -37.21 -7.28798 -3.28552 30.3357 -37.215 -7.09079 -3.18983 30.0497 -37.22 -6.89882 -3.10695 29.761 -37.225 -6.71239 -3.03639 29.4705 -37.23 -6.53178 -2.97765 29.1788 -37.235 -6.35727 -2.93021 28.8864 -37.24 -6.18909 -2.89353 28.594 -37.245 -6.02744 -2.86702 28.302 -37.25 -5.87252 -2.85011 28.0109 -37.255 -5.72445 -2.84217 27.7211 -37.26 -5.58337 -2.84258 27.4331 -37.265 -5.44936 -2.85066 27.1472 -37.27 -5.32249 -2.86573 26.8636 -37.275 -5.20277 -2.8871 26.5826 -37.28 -5.09022 -2.91403 26.3045 -37.285 -4.9848 -2.94585 26.0294 -37.29 -4.88621 -2.98301 25.7573 -37.295 -4.79434 -3.02554 25.4884 -37.3 -4.7091 -3.07316 25.2229 -37.305 -4.63043 -3.12563 24.9607 -37.31 -4.55825 -3.18272 24.7021 -37.315 -4.49247 -3.24425 24.4471 -37.32 -4.43302 -3.31003 24.1959 -37.325 -4.3798 -3.37992 23.9486 -37.33 -4.33273 -3.45378 23.7052 -37.335 -4.2917 -3.5315 23.466 -37.34 -4.25662 -3.61301 23.2309 -37.345 -4.22739 -3.69823 23.0001 -37.35 -4.2039 -3.78714 22.7738 -37.355 -4.18605 -3.87972 22.552 -37.36 -4.17372 -3.97597 22.3348 -37.365 -4.1668 -4.07593 22.1224 -37.37 -4.16516 -4.17964 21.9148 -37.375 -4.16868 -4.28719 21.7122 -37.38 -4.17724 -4.39868 21.5146 -37.385 -4.19063 -4.51416 21.3224 -37.39 -4.20879 -4.63369 21.1355 -37.395 -4.23179 -4.75731 20.9543 -37.4 -4.25968 -4.88507 20.7787 -37.405 -4.2925 -5.01703 20.6089 -37.41 -4.33027 -5.15325 20.4451 -37.415 -4.37302 -5.29379 20.2874 -37.42 -4.42078 -5.43872 20.1361 -37.425 -4.47355 -5.58809 19.9913 -37.43 -4.53135 -5.74198 19.8532 -37.435 -4.59416 -5.90046 19.7221 -37.44 -4.66199 -6.0636 19.5983 -37.445 -4.73481 -6.23148 19.482 -37.45 -4.81261 -6.40417 19.3735 -37.455 -4.89535 -6.58175 19.2732 -37.46 -4.98301 -6.76431 19.1813 -37.465 -5.07553 -6.95193 19.0983 -37.47 -5.17288 -7.14469 19.0244 -37.475 -5.27499 -7.3427 18.9601 -37.48 -5.38181 -7.54604 18.9058 -37.485 -5.49325 -7.7548 18.8618 -37.49 -5.60926 -7.96909 18.8286 -37.495 -5.72976 -8.18888 18.8067 -37.5 -5.8549 -8.41345 18.7958 -37.505 -5.98482 -8.64273 18.7968 -37.51 -6.11963 -8.87667 18.8102 -37.515 -6.2594 -9.11518 18.8367 -37.52 -6.40417 -9.35809 18.877 -37.525 -6.55393 -9.60513 18.9318 -37.53 -6.70867 -9.85597 19.0015 -37.535 -6.86834 -10.1102 19.0867 -37.54 -7.03283 -10.3674 19.188 -37.545 -7.20204 -10.6269 19.3057 -37.55 -7.37581 -10.8881 19.4405 -37.555 -7.55396 -11.1504 19.5927 -37.56 -7.73627 -11.4128 19.7626 -37.565 -7.9225 -11.6746 19.9507 -37.57 -8.11237 -11.9349 20.1573 -37.575 -8.30557 -12.1925 20.3827 -37.58 -8.50176 -12.4464 20.6271 -37.585 -8.70057 -12.6954 20.8907 -37.59 -8.90159 -12.9383 21.1738 -37.595 -9.10439 -13.1738 21.4765 -37.6 -9.30851 -13.4004 21.799 -37.605 -9.51343 -13.6167 22.1414 -37.61 -9.71874 -13.8216 22.5035 -37.615 -9.92393 -14.0144 22.8847 -37.62 -10.1282 -14.1927 23.284 -37.625 -10.3307 -14.3541 23.7007 -37.63 -10.5305 -14.4968 24.1337 -37.635 -10.7269 -14.6188 24.5817 -37.64 -10.9189 -14.7184 25.0433 -37.645 -11.1058 -14.794 25.5171 -37.65 -11.2865 -14.8444 26.0013 -37.655 -11.4602 -14.8684 26.4942 -37.66 -11.6261 -14.8648 26.9936 -37.665 -11.7831 -14.833 27.4974 -37.67 -11.9304 -14.7722 28.0034 -37.675 -12.0671 -14.682 28.509 -37.68 -12.1922 -14.562 29.0117 -37.685 -12.3047 -14.412 29.5086 -37.69 -12.4038 -14.2322 29.9968 -37.695 -12.4884 -14.0226 30.4733 -37.7 -12.5576 -13.7836 30.9348 -37.705 -12.6111 -13.5135 31.3778 -37.71 -12.6484 -13.2144 31.7996 -37.715 -12.669 -12.8898 32.1981 -37.72 -12.6726 -12.5434 32.5713 -37.725 -12.6589 -12.1782 32.9173 -37.73 -12.6278 -11.7974 33.2346 -37.735 -12.5792 -11.4039 33.5219 -37.74 -12.5134 -11.0003 33.7782 -37.745 -12.4305 -10.5891 34.0024 -37.75 -12.331 -10.1727 34.1939 -37.755 -12.2154 -9.75322 34.3523 -37.76 -12.0842 -9.3326 34.4774 -37.765 -11.9383 -8.91261 34.5692 -37.77 -11.7785 -8.49485 34.6279 -37.775 -11.6058 -8.08071 34.6539 -37.78 -11.4213 -7.67142 34.6479 -37.785 -11.2264 -7.268 34.6108 -37.79 -11.0223 -6.8713 34.5438 -37.795 -10.8102 -6.4835 34.4486 -37.8 -10.5896 -6.11007 34.328 -37.805 -10.362 -5.75248 34.1834 -37.81 -10.1284 -5.41174 34.0164 -37.815 -9.89014 -5.08869 33.8284 -37.82 -9.6483 -4.78398 33.6208 -37.825 -9.40397 -4.49809 33.3951 -37.83 -9.1582 -4.23135 33.153 -37.835 -8.91195 -3.98391 32.896 -37.84 -8.66615 -3.75573 32.6258 -37.845 -8.42168 -3.54662 32.3441 -37.85 -8.17935 -3.35621 32.0525 -37.855 -7.93995 -3.18397 31.753 -37.86 -7.70417 -3.02918 31.4472 -37.865 -7.47268 -2.89096 31.1371 -37.87 -7.24609 -2.76826 30.8244 -37.875 -7.02495 -2.65987 30.5112 -37.88 -6.80983 -2.56528 30.1969 -37.885 -6.60104 -2.4841 29.8811 -37.89 -6.39884 -2.41562 29.5645 -37.895 -6.20344 -2.35914 29.2476 -37.9 -6.01503 -2.31399 28.931 -37.905 -5.83379 -2.27951 28.6153 -37.91 -5.65985 -2.25505 28.3009 -37.915 -5.49334 -2.23999 27.9881 -37.92 -5.33433 -2.23372 27.6774 -37.925 -5.1829 -2.23564 27.369 -37.93 -5.03909 -2.24518 27.0634 -37.935 -4.9029 -2.26177 26.7606 -37.94 -4.77434 -2.28487 26.4609 -37.945 -4.65336 -2.31396 26.1644 -37.95 -4.53991 -2.34851 25.8712 -37.955 -4.43389 -2.38803 25.5815 -37.96 -4.33514 -2.43217 25.2951 -37.965 -4.24337 -2.48098 25.0125 -37.97 -4.15846 -2.53422 24.7336 -37.975 -4.08032 -2.59167 24.4585 -37.98 -4.00885 -2.65309 24.1873 -37.985 -3.94395 -2.71831 23.9201 -37.99 -3.8855 -2.78717 23.6568 -37.995 -3.8334 -2.85952 23.3975 -38 -3.78752 -2.93525 23.1424 -38.005 -3.74776 -3.01428 22.8915 -38.01 -3.71399 -3.09655 22.6448 -38.015 -3.68608 -3.18203 22.4025 -38.02 -3.66391 -3.2707 22.1645 -38.025 -3.64733 -3.36258 21.9311 -38.03 -3.63622 -3.45771 21.7022 -38.035 -3.63043 -3.55617 21.478 -38.04 -3.62981 -3.65805 21.2586 -38.045 -3.63422 -3.76347 21.0439 -38.05 -3.64351 -3.87256 20.8342 -38.055 -3.65751 -3.98551 20.6295 -38.06 -3.67608 -4.10237 20.43 -38.065 -3.69925 -4.22321 20.2359 -38.07 -3.72707 -4.34809 20.0472 -38.075 -3.75962 -4.4771 19.864 -38.08 -3.79693 -4.61034 19.6865 -38.085 -3.83905 -4.7479 19.5147 -38.09 -3.88603 -4.88988 19.3489 -38.095 -3.93789 -5.03639 19.1892 -38.1 -3.99466 -5.18754 19.0358 -38.105 -4.05636 -5.34345 18.889 -38.11 -4.12302 -5.50424 18.7489 -38.115 -4.19463 -5.67005 18.6158 -38.12 -4.2712 -5.841 18.49 -38.125 -4.35273 -6.01723 18.3719 -38.13 -4.43921 -6.19889 18.2616 -38.135 -4.53062 -6.38613 18.1596 -38.14 -4.62696 -6.5791 18.0663 -38.145 -4.72818 -6.77797 17.9819 -38.15 -4.83427 -6.98289 17.9069 -38.155 -4.94518 -7.19405 17.8417 -38.16 -5.06086 -7.41162 17.7867 -38.165 -5.18128 -7.63578 17.7424 -38.17 -5.3065 -7.86617 17.7091 -38.175 -5.43678 -8.1023 17.687 -38.18 -5.57227 -8.34436 17.6769 -38.185 -5.71311 -8.59244 17.6795 -38.19 -5.8594 -8.84655 17.6954 -38.195 -6.0112 -9.1066 17.7253 -38.2 -6.16856 -9.37243 17.77 -38.205 -6.33148 -9.64378 17.83 -38.21 -6.49996 -9.92031 17.906 -38.215 -6.67393 -10.2016 17.9986 -38.22 -6.85333 -10.4871 18.1085 -38.225 -7.03805 -10.7762 18.2363 -38.23 -7.22795 -11.0683 18.3825 -38.235 -7.42288 -11.3625 18.5478 -38.24 -7.62262 -11.6579 18.7327 -38.245 -7.82697 -11.9537 18.9378 -38.25 -8.03567 -12.2488 19.1636 -38.255 -8.24843 -12.542 19.4107 -38.26 -8.46495 -12.8321 19.6796 -38.265 -8.68489 -13.1178 19.9708 -38.27 -8.90787 -13.3978 20.2848 -38.275 -9.1335 -13.6705 20.6221 -38.28 -9.36133 -13.9348 20.9829 -38.285 -9.59076 -14.1897 21.3664 -38.29 -9.82109 -14.4326 21.7727 -38.295 -10.0516 -14.6609 22.2014 -38.3 -10.2814 -14.8721 22.652 -38.305 -10.5097 -15.0639 23.1239 -38.31 -10.7356 -15.234 23.6159 -38.315 -10.9582 -15.3805 24.1269 -38.32 -11.1765 -15.5015 24.6553 -38.325 -11.3895 -15.595 25.1994 -38.33 -11.5962 -15.6595 25.7572 -38.335 -11.7954 -15.6935 26.3264 -38.34 -11.986 -15.6955 26.9046 -38.345 -12.1669 -15.6643 27.4889 -38.35 -12.3367 -15.5988 28.0765 -38.355 -12.4942 -15.498 28.6641 -38.36 -12.6382 -15.3611 29.2481 -38.365 -12.7672 -15.1874 29.8249 -38.37 -12.8805 -14.9742 30.391 -38.375 -12.9775 -14.7211 30.943 -38.38 -13.0572 -14.4318 31.4767 -38.385 -13.1184 -14.1097 31.9884 -38.39 -13.1604 -13.7581 32.4749 -38.395 -13.1826 -13.3803 32.933 -38.4 -13.1844 -12.9794 33.3601 -38.405 -13.1657 -12.5582 33.7538 -38.41 -13.1263 -12.1195 34.1122 -38.415 -13.0662 -11.6661 34.4336 -38.42 -12.9859 -11.2004 34.7168 -38.425 -12.8856 -10.7247 34.9606 -38.43 -12.766 -10.2414 35.1646 -38.435 -12.628 -9.75241 35.3285 -38.44 -12.4725 -9.25979 35.4522 -38.445 -12.3007 -8.76532 35.5363 -38.45 -12.1139 -8.27067 35.5815 -38.455 -11.9136 -7.77746 35.5888 -38.46 -11.6996 -7.29272 35.5608 -38.465 -11.4723 -6.82164 35.4992 -38.47 -11.2335 -6.36617 35.405 -38.475 -10.9846 -5.92804 35.2796 -38.48 -10.7271 -5.50877 35.1243 -38.485 -10.4625 -5.10964 34.9408 -38.49 -10.192 -4.73172 34.7308 -38.495 -9.91704 -4.37584 34.4963 -38.5 -9.63888 -4.04264 34.2391 -38.505 -9.35871 -3.73249 33.9617 -38.51 -9.07769 -3.44557 33.6662 -38.515 -8.79693 -3.18183 33.3552 -38.52 -8.51748 -2.94099 33.0315 -38.525 -8.24034 -2.72256 32.6977 -38.53 -7.96646 -2.52581 32.3569 -38.535 -7.69673 -2.34979 32.0122 -38.54 -7.43199 -2.19335 31.6669 -38.545 -7.17305 -2.05511 31.3235 -38.55 -6.92062 -1.93395 30.9785 -38.555 -6.67511 -1.82894 30.6318 -38.56 -6.43685 -1.73915 30.2843 -38.565 -6.20614 -1.66366 29.9366 -38.57 -5.98325 -1.6016 29.5894 -38.575 -5.7684 -1.55208 29.2434 -38.58 -5.56178 -1.51426 28.899 -38.585 -5.36354 -1.48728 28.5567 -38.59 -5.17381 -1.47034 28.217 -38.595 -4.99267 -1.46263 27.8802 -38.6 -4.82015 -1.46337 27.5466 -38.605 -4.65628 -1.47179 27.2163 -38.61 -4.50101 -1.48715 26.8897 -38.615 -4.3543 -1.50871 26.5667 -38.62 -4.21604 -1.53577 26.2473 -38.625 -4.08606 -1.56772 25.9317 -38.63 -3.96405 -1.60455 25.62 -38.635 -3.84983 -1.64594 25.3123 -38.64 -3.74325 -1.69155 25.0085 -38.645 -3.64415 -1.74106 24.7088 -38.65 -3.55239 -1.7942 24.4131 -38.655 -3.46779 -1.8507 24.1215 -38.66 -3.39019 -1.91035 23.834 -38.665 -3.31941 -1.97295 23.5506 -38.67 -3.25529 -2.03837 23.2714 -38.675 -3.19764 -2.10646 22.9963 -38.68 -3.14629 -2.17714 22.7254 -38.685 -3.10103 -2.25035 22.4587 -38.69 -3.06169 -2.32606 22.1962 -38.695 -3.02807 -2.40427 21.9379 -38.7 -2.99996 -2.48503 21.6839 -38.705 -2.97717 -2.56839 21.4342 -38.71 -2.95949 -2.65446 21.1889 -38.715 -2.9467 -2.74336 20.9478 -38.72 -2.93868 -2.83513 20.7112 -38.725 -2.93542 -2.9298 20.479 -38.73 -2.9369 -3.02741 20.2514 -38.735 -2.9431 -3.12801 20.0282 -38.74 -2.95401 -3.23167 19.8096 -38.745 -2.96961 -3.3385 19.5956 -38.75 -2.98987 -3.4486 19.3864 -38.755 -3.01476 -3.56208 19.1819 -38.76 -3.04424 -3.6791 18.9823 -38.765 -3.07829 -3.79981 18.7877 -38.77 -3.11686 -3.92437 18.5982 -38.775 -3.1599 -4.05299 18.414 -38.78 -3.20739 -4.18586 18.2351 -38.785 -3.25925 -4.32321 18.0619 -38.79 -3.31545 -4.46527 17.8943 -38.795 -3.37592 -4.61231 17.7327 -38.8 -3.44062 -4.7646 17.5771 -38.805 -3.50947 -4.92241 17.4279 -38.81 -3.58244 -5.08602 17.2852 -38.815 -3.65983 -5.25529 17.1493 -38.82 -3.74179 -5.4304 17.0205 -38.825 -3.82843 -5.6116 16.899 -38.83 -3.91985 -5.79914 16.785 -38.835 -4.01615 -5.99321 16.679 -38.84 -4.11741 -6.19402 16.5812 -38.845 -4.22374 -6.40174 16.4921 -38.85 -4.33523 -6.61652 16.4119 -38.855 -4.45198 -6.83848 16.3413 -38.86 -4.57407 -7.06775 16.2806 -38.865 -4.70158 -7.3044 16.2304 -38.87 -4.83462 -7.5485 16.1911 -38.875 -4.97325 -7.80011 16.1635 -38.88 -5.11757 -8.05925 16.148 -38.885 -5.26766 -8.32593 16.1453 -38.89 -5.4236 -8.60013 16.1561 -38.895 -5.58546 -8.88182 16.181 -38.9 -5.75333 -9.17095 16.2208 -38.905 -5.92727 -9.46742 16.2763 -38.91 -6.10703 -9.77059 16.3474 -38.915 -6.29258 -10.08 16.4348 -38.92 -6.48414 -10.3955 16.5399 -38.925 -6.68186 -10.7168 16.664 -38.93 -6.88585 -11.0436 16.8083 -38.935 -7.09614 -11.3752 16.974 -38.94 -7.31268 -11.7109 17.162 -38.945 -7.53537 -12.0499 17.3734 -38.95 -7.76404 -12.3911 17.6089 -38.955 -7.99846 -12.7332 17.8693 -38.96 -8.23832 -13.075 18.1552 -38.965 -8.48326 -13.415 18.4672 -38.97 -8.73284 -13.7516 18.8057 -38.975 -8.98657 -14.0828 19.1711 -38.98 -9.24388 -14.4067 19.5635 -38.985 -9.50414 -14.7213 19.9833 -38.99 -9.76665 -15.0243 20.4304 -38.995 -10.0306 -15.3132 20.9048 -39 -10.2953 -15.5855 21.4065 -39.005 -10.5597 -15.8384 21.935 -39.01 -10.8229 -16.0691 22.4903 -39.015 -11.0839 -16.2744 23.0717 -39.02 -11.342 -16.453 23.6787 -39.025 -11.596 -16.6025 24.3087 -39.03 -11.8441 -16.7191 24.9586 -39.035 -12.0847 -16.7998 25.6251 -39.04 -12.3162 -16.8418 26.3048 -39.045 -12.5372 -16.8429 26.9941 -39.05 -12.746 -16.8011 27.6895 -39.055 -12.9412 -16.7152 28.3873 -39.06 -13.1214 -16.584 29.0834 -39.065 -13.2853 -16.4072 29.7741 -39.07 -13.4316 -16.1845 30.4552 -39.075 -13.559 -15.9163 31.1225 -39.08 -13.6662 -15.6034 31.7717 -39.085 -13.7522 -15.247 32.3985 -39.09 -13.8157 -14.8487 32.9982 -39.095 -13.8558 -14.4107 33.5662 -39.1 -13.8714 -13.9353 34.0977 -39.105 -13.8619 -13.4234 34.586 -39.11 -13.8273 -12.8807 35.0285 -39.115 -13.7676 -12.3136 35.4242 -39.12 -13.6831 -11.7281 35.7722 -39.125 -13.5741 -11.13 36.0718 -39.13 -13.4414 -10.5244 36.3227 -39.135 -13.2856 -9.91613 36.5249 -39.14 -13.1076 -9.30944 36.6785 -39.145 -12.9084 -8.70828 36.7841 -39.15 -12.6894 -8.11612 36.8425 -39.155 -12.4517 -7.536 36.8545 -39.16 -12.197 -6.97054 36.8217 -39.165 -11.9269 -6.42192 36.7454 -39.17 -11.6434 -5.89188 36.6276 -39.175 -11.3483 -5.38174 36.4703 -39.18 -11.0438 -4.89239 36.2759 -39.185 -10.732 -4.42518 36.0478 -39.19 -10.4133 -3.98514 35.7918 -39.195 -10.0894 -3.57351 35.5112 -39.2 -9.76192 -3.19069 35.2085 -39.205 -9.43253 -2.83683 34.8864 -39.21 -9.10274 -2.51183 34.5474 -39.215 -8.77396 -2.21533 34.1939 -39.22 -8.4475 -1.94675 33.8282 -39.225 -8.12454 -1.70524 33.4526 -39.23 -7.80619 -1.4897 33.0694 -39.235 -7.49342 -1.2988 32.6806 -39.24 -7.18712 -1.13095 32.2882 -39.245 -6.88804 -0.984312 31.8943 -39.25 -6.59686 -0.856811 31.5006 -39.255 -6.31415 -0.746394 31.1088 -39.26 -6.04041 -0.652823 30.7183 -39.265 -5.77593 -0.575072 30.3295 -39.27 -5.5209 -0.51189 29.9431 -39.275 -5.2755 -0.462082 29.5596 -39.28 -5.03985 -0.424505 29.1793 -39.285 -4.81404 -0.398071 28.8027 -39.29 -4.59812 -0.381746 28.4302 -39.295 -4.3921 -0.374547 28.062 -39.3 -4.19594 -0.375548 27.6983 -39.305 -4.00958 -0.383875 27.3393 -39.31 -3.83291 -0.398708 26.9849 -39.315 -3.66577 -0.419281 26.6353 -39.32 -3.50797 -0.444882 26.2904 -39.325 -3.35929 -0.474873 25.9501 -39.33 -3.21934 -0.508862 25.6144 -39.335 -3.08789 -0.546442 25.2834 -39.34 -2.96471 -0.587209 24.9571 -39.345 -2.84957 -0.630793 24.6354 -39.35 -2.74223 -0.676865 24.3181 -39.355 -2.64246 -0.725127 24.0054 -39.36 -2.55002 -0.775322 23.6971 -39.365 -2.46466 -0.827226 23.3932 -39.37 -2.38613 -0.880654 23.0936 -39.375 -2.31416 -0.935456 22.7983 -39.38 -2.24851 -0.991518 22.5072 -39.385 -2.18891 -1.04876 22.2203 -39.39 -2.13508 -1.10715 21.9376 -39.395 -2.08675 -1.16668 21.6589 -39.4 -2.04364 -1.22738 21.3843 -39.405 -2.00548 -1.28932 21.1138 -39.41 -1.97194 -1.3526 20.8472 -39.415 -1.94286 -1.41726 20.5845 -39.42 -1.91819 -1.48325 20.3258 -39.425 -1.89787 -1.55058 20.071 -39.43 -1.88184 -1.61927 19.8201 -39.435 -1.87004 -1.68935 19.5731 -39.44 -1.86239 -1.76087 19.3299 -39.445 -1.85882 -1.83392 19.0905 -39.45 -1.85924 -1.90859 18.855 -39.455 -1.86356 -1.98499 18.6233 -39.46 -1.87169 -2.06326 18.3955 -39.465 -1.88352 -2.14356 18.1715 -39.47 -1.89895 -2.22607 17.9514 -39.475 -1.91786 -2.31098 17.7351 -39.48 -1.94013 -2.3985 17.5229 -39.485 -1.96564 -2.48888 17.3145 -39.49 -1.99426 -2.58238 17.1101 -39.495 -2.02584 -2.67926 16.9098 -39.5 -2.06029 -2.77981 16.7135 -39.505 -2.09787 -2.88401 16.5214 -39.51 -2.13874 -2.99196 16.3336 -39.515 -2.18296 -3.10386 16.15 -39.52 -2.23057 -3.21989 15.9708 -39.525 -2.28163 -3.34027 15.7961 -39.53 -2.33621 -3.46521 15.6259 -39.535 -2.39438 -3.59494 15.4604 -39.54 -2.45621 -3.72968 15.2997 -39.545 -2.52176 -3.86968 15.1439 -39.55 -2.59113 -4.0152 14.9933 -39.555 -2.66439 -4.16649 14.8481 -39.56 -2.74164 -4.32382 14.7084 -39.565 -2.82297 -4.48748 14.5744 -39.57 -2.90847 -4.65774 14.4464 -39.575 -2.99825 -4.8349 14.3247 -39.58 -3.09241 -5.01928 14.2095 -39.585 -3.19108 -5.21106 14.1012 -39.59 -3.29443 -5.40997 14.0002 -39.595 -3.40266 -5.61646 13.9068 -39.6 -3.51595 -5.83108 13.8213 -39.605 -3.63448 -6.05429 13.7441 -39.61 -3.75844 -6.28654 13.6757 -39.615 -3.888 -6.52819 13.6165 -39.62 -4.02333 -6.77957 13.567 -39.625 -4.16461 -7.04094 13.5278 -39.63 -4.31201 -7.31251 13.4996 -39.635 -4.46569 -7.59445 13.483 -39.64 -4.62582 -7.88685 13.4788 -39.645 -4.79256 -8.18978 13.4878 -39.65 -4.96608 -8.50323 13.5109 -39.655 -5.14653 -8.82714 13.549 -39.66 -5.33406 -9.16141 13.603 -39.665 -5.52882 -9.50588 13.674 -39.67 -5.73098 -9.86032 13.763 -39.675 -5.94067 -10.2245 13.8712 -39.68 -6.15803 -10.598 13.9997 -39.685 -6.38322 -10.9805 14.1498 -39.69 -6.61638 -11.3717 14.3229 -39.695 -6.85763 -11.7709 14.5201 -39.7 -7.10708 -12.1776 14.743 -39.705 -7.36405 -12.5909 14.9913 -39.71 -7.62839 -13.0094 15.2668 -39.715 -7.90019 -13.4319 15.5717 -39.72 -8.17942 -13.8566 15.9081 -39.725 -8.46591 -14.2818 16.2778 -39.73 -8.75937 -14.7053 16.682 -39.735 -9.05938 -15.1249 17.1221 -39.74 -9.36538 -15.5381 17.5988 -39.745 -9.67668 -15.942 18.1127 -39.75 -9.99247 -16.3338 18.6641 -39.755 -10.3118 -16.7101 19.2529 -39.76 -10.6336 -17.0676 19.879 -39.765 -10.9567 -17.4026 20.5417 -39.77 -11.2797 -17.7111 21.24 -39.775 -11.6012 -17.9891 21.973 -39.78 -11.9195 -18.2321 22.739 -39.785 -12.233 -18.4356 23.5365 -39.79 -12.5399 -18.5948 24.3632 -39.795 -12.8385 -18.7055 25.2177 -39.8 -13.1277 -18.7648 26.0961 -39.805 -13.4046 -18.7687 26.9916 -39.81 -13.6666 -18.7141 27.897 -39.815 -13.9112 -18.5986 28.8056 -39.82 -14.1362 -18.4202 29.7107 -39.825 -14.3392 -18.1783 30.6057 -39.83 -14.5185 -17.8723 31.4842 -39.835 -14.6722 -17.503 32.3399 -39.84 -14.7986 -17.0715 33.1667 -39.845 -14.8963 -16.5799 33.9586 -39.85 -14.9641 -16.0308 34.7097 -39.855 -15.0007 -15.4278 35.4144 -39.86 -15.0052 -14.775 36.0671 -39.865 -14.9768 -14.0775 36.6623 -39.87 -14.9149 -13.3409 37.1939 -39.875 -14.819 -12.5727 37.6546 -39.88 -14.6897 -11.7819 38.0441 -39.885 -14.5282 -10.9774 38.3629 -39.89 -14.3356 -10.1671 38.6121 -39.895 -14.1133 -9.35845 38.7929 -39.9 -13.8628 -8.55806 38.9071 -39.905 -13.5858 -7.77197 38.9566 -39.91 -13.2842 -7.00555 38.944 -39.915 -12.9601 -6.26349 38.8719 -39.92 -12.6157 -5.54981 38.7435 -39.925 -12.2534 -4.86788 38.5624 -39.93 -11.8759 -4.22039 38.3322 -39.935 -11.4859 -3.60936 38.0573 -39.94 -11.0864 -3.03616 37.7423 -39.945 -10.6803 -2.50179 37.3924 -39.95 -10.269 -2.00815 37.0149 -39.955 -9.85474 -1.55525 36.6143 -39.96 -9.43958 -1.14249 36.1944 -39.965 -9.02555 -0.768994 35.7589 -39.97 -8.61448 -0.433592 35.3111 -39.975 -8.20806 -0.134824 34.8541 -39.98 -7.80776 0.129055 34.3908 -39.985 -7.41493 0.360078 33.9238 -39.99 -7.03073 0.560564 33.4555 -39.995 -6.65615 0.733121 32.9882 -40 -6.29203 0.880645 32.5236 -40.005 -5.93903 1.00631 32.0636 -40.01 -5.59774 1.11171 31.6087 -40.015 -5.26852 1.19795 31.159 -40.02 -4.95157 1.26693 30.7151 -40.025 -4.64704 1.32043 30.2774 -40.03 -4.35499 1.36015 29.8464 -40.035 -4.07547 1.38769 29.4222 -40.04 -3.80844 1.40453 29.005 -40.045 -3.55382 1.41207 28.595 -40.05 -3.31144 1.4116 28.1923 -40.055 -3.08112 1.40431 27.7966 -40.06 -2.86258 1.39128 27.408 -40.065 -2.65551 1.37352 27.0262 -40.07 -2.45949 1.3519 26.651 -40.075 -2.27402 1.32716 26.2822 -40.08 -2.09874 1.29992 25.9199 -40.085 -1.93333 1.27077 25.5637 -40.09 -1.77741 1.24023 25.2135 -40.095 -1.63064 1.20879 24.8692 -40.1 -1.49263 1.17689 24.5305 -40.105 -1.36301 1.14493 24.1973 -40.11 -1.24139 1.11327 23.8695 -40.115 -1.12738 1.08222 23.5468 -40.12 -1.02059 1.05203 23.2292 -40.125 -0.920582 1.02293 22.9166 -40.13 -0.826958 0.99509 22.6087 -40.135 -0.739286 0.968646 22.3054 -40.14 -0.657132 0.94368 22.0067 -40.145 -0.580053 0.920235 21.7124 -40.15 -0.507599 0.898305 21.4223 -40.155 -0.439467 0.877939 21.1365 -40.16 -0.375505 0.859257 20.8548 -40.165 -0.315486 0.842319 20.5771 -40.17 -0.259179 0.827174 20.3033 -40.175 -0.206356 0.813859 20.0334 -40.18 -0.156784 0.802402 19.7674 -40.185 -0.110232 0.792815 19.5051 -40.19 -0.0664654 0.785102 19.2464 -40.195 -0.0252506 0.779256 18.9914 -40.2 0.0136476 0.775256 18.7399 -40.205 0.0504654 0.773071 18.4918 -40.21 0.0854398 0.772659 18.2472 -40.215 0.118809 0.773966 18.006 -40.22 0.150802 0.776934 17.768 -40.225 0.181524 0.781593 17.5333 -40.23 0.211066 0.787977 17.3019 -40.235 0.239535 0.796103 17.0736 -40.24 0.267041 0.805991 16.8484 -40.245 0.293695 0.817655 16.6264 -40.25 0.319613 0.831109 16.4075 -40.255 0.344909 0.846365 16.1915 -40.26 0.369705 0.863434 15.9786 -40.265 0.394119 0.882321 15.7686 -40.27 0.418277 0.903035 15.5616 -40.275 0.442304 0.925579 15.3575 -40.28 0.466329 0.949955 15.1562 -40.285 0.490481 0.976163 14.9578 -40.29 0.514876 1.00422 14.7621 -40.295 0.539563 1.03421 14.5693 -40.3 0.564593 1.06619 14.3792 -40.305 0.590024 1.10025 14.1918 -40.31 0.615917 1.13646 14.0072 -40.315 0.64234 1.17489 13.8253 -40.32 0.669363 1.21563 13.6461 -40.325 0.697067 1.25876 13.4695 -40.33 0.725532 1.30436 13.2956 -40.335 0.754848 1.35253 13.1244 -40.34 0.785108 1.40334 12.9559 -40.345 0.81641 1.45689 12.79 -40.35 0.848859 1.51327 12.6267 -40.355 0.882564 1.57259 12.4661 -40.36 0.917638 1.63493 12.3082 -40.365 0.954202 1.7004 12.1529 -40.37 0.992352 1.76915 12.0004 -40.375 1.03215 1.84136 11.8506 -40.38 1.07365 1.9172 11.7035 -40.385 1.11693 1.99688 11.5591 -40.39 1.16207 2.08057 11.4176 -40.395 1.20917 2.16849 11.2788 -40.4 1.25833 2.26084 11.143 -40.405 1.30965 2.35785 11.0101 -40.41 1.36326 2.45972 10.8802 -40.415 1.41929 2.5667 10.7534 -40.42 1.47788 2.67903 10.6298 -40.425 1.53917 2.79695 10.5094 -40.43 1.60333 2.92072 10.3925 -40.435 1.67052 3.05059 10.2792 -40.44 1.74092 3.18683 10.1695 -40.445 1.81472 3.32973 10.0636 -40.45 1.8921 3.47956 9.9617 -40.455 1.97329 3.63662 9.86393 -40.46 2.05849 3.80105 9.77068 -40.465 2.14789 3.97314 9.68231 -40.47 2.24164 4.15342 9.59891 -40.475 2.33992 4.34243 9.52064 -40.48 2.44292 4.5407 9.44773 -40.485 2.55083 4.74871 9.38047 -40.49 2.66387 4.96695 9.3192 -40.495 2.78227 5.1959 9.26434 -40.5 2.90626 5.43601 9.21637 -40.505 3.03609 5.68771 9.17583 -40.51 3.17204 5.95143 9.14334 -40.515 3.31438 6.22758 9.11955 -40.52 3.46339 6.51654 9.10522 -40.525 3.6194 6.81868 9.10112 -40.53 3.7827 7.13438 9.10814 -40.535 3.95364 7.46397 9.12718 -40.54 4.13255 7.80777 9.15925 -40.545 4.3198 8.1661 9.20539 -40.55 4.51575 8.53926 9.26673 -40.555 4.72079 8.92752 9.34445 -40.56 4.93531 9.33114 9.43978 -40.565 5.15972 9.75038 9.55404 -40.57 5.39386 10.1844 9.68828 -40.575 5.63754 10.6324 9.84401 -40.58 5.89141 11.0955 10.0235 -40.585 6.15599 11.574 10.2291 -40.59 6.43171 12.0681 10.4631 -40.595 6.71887 12.5775 10.7276 -40.6 7.01766 13.1014 11.0249 -40.605 7.32815 13.6388 11.3571 -40.61 7.65032 14.1881 11.7265 -40.615 7.98399 14.7472 12.1351 -40.62 8.3289 15.3139 12.5851 -40.625 8.68468 15.8854 13.0786 -40.63 9.0508 16.4585 13.6176 -40.635 9.42668 17.0295 14.2042 -40.64 9.81156 17.5945 14.8404 -40.645 10.2046 18.149 15.5281 -40.65 10.6049 18.6882 16.2694 -40.655 11.0113 19.2068 17.0661 -40.66 11.4227 19.6992 17.9203 -40.665 11.8376 20.1595 18.8335 -40.67 12.2544 20.5844 19.8034 -40.675 12.6704 20.9649 20.8272 -40.68 13.083 21.2913 21.9022 -40.685 13.4896 21.5547 23.0247 -40.69 13.8871 21.7472 24.1898 -40.695 14.2727 21.8618 25.3916 -40.7 14.6431 21.8925 26.6234 -40.705 14.9952 21.8339 27.8772 -40.71 15.3254 21.6819 29.144 -40.715 15.6304 21.4331 30.4139 -40.72 15.9064 21.0851 31.6759 -40.725 16.1496 20.6363 32.918 -40.73 16.3563 20.0861 34.1271 -40.735 16.5229 19.4319 35.2891 -40.74 16.6479 18.6711 36.3899 -40.745 16.7284 17.8191 37.4186 -40.75 16.7624 16.8915 38.3656 -40.755 16.7481 15.9029 39.2229 -40.76 16.6848 14.8666 39.9839 -40.765 16.5722 13.7947 40.6434 -40.77 16.4106 12.6983 41.1976 -40.775 16.2013 11.5873 41.6442 -40.78 15.946 10.4703 41.9824 -40.785 15.6472 9.35511 42.2127 -40.79 15.3079 8.24802 42.3372 -40.795 14.9319 7.15435 42.3593 -40.8 14.5238 6.07824 42.2838 -40.805 14.0858 5.0341 42.1189 -40.81 13.6192 4.04123 41.8744 -40.815 13.1285 3.10518 41.5586 -40.82 12.6178 2.23024 41.1795 -40.825 12.0911 1.41944 40.7456 -40.83 11.5524 0.674569 40.2649 -40.835 11.0053 -0.00381653 39.7457 -40.84 10.4533 -0.616415 39.1962 -40.845 9.89976 -1.16516 38.6247 -40.85 9.34776 -1.65325 38.0395 -40.855 8.8003 -2.08508 37.4488 -40.86 8.25998 -2.46417 36.8565 -40.865 7.72884 -2.79336 36.2643 -40.87 7.20866 -3.07652 35.6752 -40.875 6.701 -3.31745 35.0921 -40.88 6.20722 -3.51988 34.5174 -40.885 5.72845 -3.68749 33.9531 -40.89 5.2656 -3.82391 33.4005 -40.895 4.81939 -3.9327 32.8609 -40.9 4.39028 -4.01737 32.3349 -40.905 3.97855 -4.08136 31.8228 -40.91 3.58426 -4.12806 31.3244 -40.915 3.20748 -4.15996 30.8399 -40.92 2.84797 -4.17899 30.3691 -40.925 2.50535 -4.18715 29.9116 -40.93 2.17919 -4.18629 29.467 -40.935 1.86904 -4.17814 29.0348 -40.94 1.57441 -4.16429 28.6145 -40.945 1.29481 -4.1462 28.2057 -40.95 1.02972 -4.12521 27.808 -40.955 0.778579 -4.10251 27.4209 -40.96 0.540813 -4.07918 27.044 -40.965 0.31582 -4.05616 26.677 -40.97 0.102974 -4.03424 26.3193 -40.975 -0.0983771 -4.01411 25.9706 -40.98 -0.28891 -3.99632 25.6305 -40.985 -0.469328 -3.98126 25.2986 -40.99 -0.640475 -3.96937 24.9744 -40.995 -0.803012 -3.96104 24.6577 -41 -0.957426 -3.95658 24.3483 -41.005 -1.10421 -3.95628 24.0459 -41.01 -1.24386 -3.96039 23.7504 -41.015 -1.37688 -3.96916 23.4616 -41.02 -1.50378 -3.98279 23.1793 -41.025 -1.62507 -4.00145 22.9035 -41.03 -1.74127 -4.02531 22.6339 -41.035 -1.85292 -4.05448 22.3705 -41.04 -1.96054 -4.08907 22.1131 -41.045 -2.06466 -4.12916 21.8616 -41.05 -2.16584 -4.17478 21.6159 -41.055 -2.26461 -4.22597 21.376 -41.06 -2.36153 -4.28272 21.1418 -41.065 -2.45692 -4.34506 20.9134 -41.07 -2.55099 -4.4131 20.6907 -41.075 -2.644 -4.48696 20.474 -41.08 -2.73622 -4.56674 20.2632 -41.085 -2.82792 -4.65254 20.0584 -41.09 -2.91936 -4.74445 19.8598 -41.095 -3.01083 -4.84255 19.6673 -41.1 -3.10263 -4.9469 19.4812 -41.105 -3.19504 -5.05758 19.3016 -41.11 -3.28836 -5.17462 19.1285 -41.115 -3.38291 -5.29809 18.9621 -41.12 -3.479 -5.428 18.8026 -41.125 -3.57694 -5.5644 18.6501 -41.13 -3.67708 -5.7073 18.5047 -41.135 -3.77971 -5.85669 18.3667 -41.14 -3.88499 -6.01263 18.2363 -41.145 -3.99304 -6.17529 18.1139 -41.15 -4.10401 -6.34485 17.9997 -41.155 -4.21803 -6.52146 17.8941 -41.16 -4.33526 -6.70523 17.7974 -41.165 -4.45584 -6.89624 17.7101 -41.17 -4.57994 -7.09455 17.6324 -41.175 -4.70771 -7.30019 17.5649 -41.18 -4.83931 -7.51313 17.5079 -41.185 -4.97491 -7.73336 17.462 -41.19 -5.11467 -7.96079 17.4275 -41.195 -5.25877 -8.19532 17.405 -41.2 -5.40737 -8.43684 17.395 -41.205 -5.56066 -8.68518 17.398 -41.21 -5.71881 -8.94014 17.4147 -41.215 -5.882 -9.20151 17.4455 -41.22 -6.05037 -9.469 17.4909 -41.225 -6.2236 -9.74214 17.5512 -41.23 -6.40175 -10.0207 17.627 -41.235 -6.58492 -10.3045 17.7197 -41.24 -6.77317 -10.593 17.8301 -41.245 -6.96653 -10.8859 17.9593 -41.25 -7.16495 -11.1824 18.1081 -41.255 -7.36835 -11.4819 18.2772 -41.26 -7.5766 -11.7835 18.4675 -41.265 -7.78951 -12.0862 18.6793 -41.27 -8.00685 -12.3889 18.9134 -41.275 -8.22834 -12.6904 19.1702 -41.28 -8.45365 -12.9894 19.45 -41.285 -8.68241 -13.2845 19.7531 -41.29 -8.91418 -13.574 20.0797 -41.295 -9.1485 -13.8563 20.4301 -41.3 -9.38483 -14.1296 20.8042 -41.305 -9.62259 -14.392 21.2019 -41.31 -9.86118 -14.6413 21.6233 -41.315 -10.0999 -14.8755 22.0681 -41.32 -10.3381 -15.0922 22.5359 -41.325 -10.5749 -15.2895 23.0267 -41.33 -10.8098 -15.4666 23.5395 -41.335 -11.0415 -15.6205 24.0724 -41.34 -11.2687 -15.7484 24.6235 -41.345 -11.4901 -15.8475 25.1904 -41.35 -11.7046 -15.9158 25.7708 -41.355 -11.9108 -15.951 26.362 -41.36 -12.1075 -15.9517 26.9616 -41.365 -12.2937 -15.9165 27.5666 -41.37 -12.4681 -15.8443 28.174 -41.375 -12.6296 -15.7344 28.7809 -41.38 -12.777 -15.5864 29.3839 -41.385 -12.9094 -15.4003 29.9797 -41.39 -13.0255 -15.1762 30.5647 -41.395 -13.1243 -14.9147 31.1354 -41.4 -13.2049 -14.6166 31.6878 -41.405 -13.2661 -14.283 32.2181 -41.41 -13.307 -13.9156 32.7222 -41.415 -13.3269 -13.5139 33.1948 -41.42 -13.3256 -13.0811 33.6328 -41.425 -13.303 -12.6226 34.0345 -41.43 -13.2589 -12.1431 34.3985 -41.435 -13.1935 -11.6473 34.7236 -41.44 -13.107 -11.1396 35.0088 -41.445 -12.9999 -10.6239 35.2535 -41.45 -12.8725 -10.1039 35.4572 -41.455 -12.7257 -9.58294 35.6197 -41.46 -12.5602 -9.06409 35.741 -41.465 -12.3769 -8.55008 35.8215 -41.47 -12.177 -8.04333 35.8617 -41.475 -11.9618 -7.54594 35.8624 -41.48 -11.7325 -7.0597 35.8246 -41.485 -11.4908 -6.5861 35.7497 -41.49 -11.2382 -6.12628 35.6392 -41.495 -10.9767 -5.68112 35.4948 -41.5 -10.7076 -5.25242 35.3193 -41.505 -10.4313 -4.84538 35.1174 -41.51 -10.1491 -4.46125 34.8913 -41.515 -9.86248 -4.10069 34.6431 -41.52 -9.57298 -3.76417 34.3749 -41.525 -9.28187 -3.45193 34.0888 -41.53 -8.99043 -3.16401 33.7868 -41.535 -8.69982 -2.9002 33.4709 -41.54 -8.41114 -2.66012 33.1431 -41.545 -8.1254 -2.44315 32.8054 -41.55 -7.84353 -2.24845 32.4596 -41.555 -7.56639 -2.07499 32.1078 -41.56 -7.29472 -1.9215 31.7519 -41.565 -7.02924 -1.7865 31.3936 -41.57 -6.77052 -1.66832 31.0349 -41.575 -6.51913 -1.56544 30.677 -41.58 -6.27552 -1.47783 30.3191 -41.585 -6.03995 -1.40457 29.9617 -41.59 -5.81261 -1.34469 29.6053 -41.595 -5.59369 -1.29723 29.2506 -41.6 -5.38334 -1.26128 28.8979 -41.605 -5.18165 -1.23597 28.5478 -41.61 -4.98872 -1.22045 28.2006 -41.615 -4.80458 -1.21392 27.8565 -41.62 -4.62926 -1.21562 27.516 -41.625 -4.46272 -1.22481 27.1791 -41.63 -4.30494 -1.24079 26.846 -41.635 -4.15581 -1.26291 26.5169 -41.64 -4.01524 -1.29055 26.1918 -41.645 -3.88306 -1.32312 25.8707 -41.65 -3.75908 -1.36014 25.5535 -41.655 -3.64294 -1.40142 25.2405 -41.66 -3.53449 -1.44664 24.9316 -41.665 -3.43355 -1.49548 24.6269 -41.67 -3.33997 -1.54767 24.3263 -41.675 -3.25358 -1.60293 24.0299 -41.68 -3.1742 -1.66106 23.7377 -41.685 -3.10165 -1.72185 23.4496 -41.69 -3.03575 -1.78515 23.1657 -41.695 -2.97632 -1.85083 22.886 -41.7 -2.92317 -1.9188 22.6104 -41.705 -2.8761 -1.98899 22.339 -41.71 -2.83492 -2.06136 22.0718 -41.715 -2.79942 -2.13592 21.8088 -41.72 -2.76939 -2.21269 21.55 -41.725 -2.74462 -2.29174 21.2954 -41.73 -2.72491 -2.37315 21.045 -41.735 -2.71003 -2.45707 20.7988 -41.74 -2.69974 -2.54363 20.557 -41.745 -2.6939 -2.63292 20.3195 -41.75 -2.69252 -2.72496 20.0863 -41.755 -2.69561 -2.81978 19.8575 -41.76 -2.70318 -2.91746 19.6331 -41.765 -2.71522 -3.01804 19.4132 -41.77 -2.73174 -3.12164 19.1977 -41.775 -2.75272 -3.22835 18.9867 -41.78 -2.77815 -3.3383 18.7804 -41.785 -2.80801 -3.45163 18.5788 -41.79 -2.84227 -3.56851 18.3819 -41.795 -2.88092 -3.68912 18.19 -41.8 -2.9239 -3.81364 18.0031 -41.805 -2.97119 -3.94231 17.8213 -41.81 -3.02275 -4.07535 17.6448 -41.815 -3.07851 -4.21301 17.4739 -41.82 -3.13844 -4.35556 17.3085 -41.825 -3.20246 -4.50328 17.1489 -41.83 -3.27052 -4.65649 16.9954 -41.835 -3.34255 -4.8155 16.848 -41.84 -3.41852 -4.98059 16.7071 -41.845 -3.49882 -5.1516 16.5729 -41.85 -3.58365 -5.32868 16.4457 -41.855 -3.67314 -5.51213 16.3257 -41.86 -3.76738 -5.70219 16.2132 -41.865 -3.86649 -5.89911 16.1085 -41.87 -3.97057 -6.1031 16.0119 -41.875 -4.07975 -6.31436 15.924 -41.88 -4.19411 -6.53305 15.845 -41.885 -4.31378 -6.75935 15.7755 -41.89 -4.43885 -6.99337 15.7159 -41.895 -4.56945 -7.23525 15.6667 -41.9 -4.70566 -7.48506 15.6286 -41.905 -4.84761 -7.74288 15.6021 -41.91 -4.99538 -8.00878 15.5878 -41.915 -5.1491 -8.28277 15.5865 -41.92 -5.30886 -8.56488 15.5988 -41.925 -5.47476 -8.85508 15.6254 -41.93 -5.64692 -9.15337 15.6671 -41.935 -5.82541 -9.45965 15.7247 -41.94 -6.00997 -9.77315 15.7982 -41.945 -6.20069 -10.0936 15.8886 -41.95 -6.39779 -10.4209 15.9973 -41.955 -6.60143 -10.7549 16.1256 -41.96 -6.81173 -11.095 16.2748 -41.965 -7.0287 -11.4409 16.4461 -41.97 -7.25232 -11.7917 16.6404 -41.975 -7.48248 -12.1465 16.8589 -41.98 -7.71902 -12.5042 17.1023 -41.985 -7.9617 -12.8637 17.3716 -41.99 -8.21022 -13.2234 17.6675 -41.995 -8.46421 -13.5818 17.9905 -42 -8.72325 -13.9371 18.3414 -42.005 -8.98683 -14.2874 18.7206 -42.01 -9.25438 -14.6307 19.1284 -42.015 -9.52526 -14.9647 19.5652 -42.02 -9.79879 -15.2868 20.0313 -42.025 -10.0742 -15.5946 20.5267 -42.03 -10.3506 -15.8853 21.0516 -42.035 -10.6272 -16.1559 21.6059 -42.04 -10.903 -16.4034 22.1896 -42.045 -11.1771 -16.6258 22.8021 -42.05 -11.4485 -16.8209 23.4413 -42.055 -11.7153 -16.9845 24.1047 -42.06 -11.9761 -17.1126 24.7892 -42.065 -12.2291 -17.2021 25.4918 -42.07 -12.4728 -17.2499 26.2091 -42.075 -12.7056 -17.2537 26.9377 -42.08 -12.9258 -17.2114 27.6737 -42.085 -13.1321 -17.1216 28.4133 -42.09 -13.3227 -16.9832 29.1523 -42.095 -13.4964 -16.7956 29.8863 -42.1 -13.6514 -16.5586 30.6108 -42.105 -13.7865 -16.2726 31.3209 -42.11 -13.9001 -15.9383 32.0116 -42.115 -13.9909 -15.5569 32.6778 -42.12 -14.0575 -15.1302 33.314 -42.125 -14.0985 -14.6596 33.9143 -42.13 -14.1134 -14.1451 34.4717 -42.135 -14.1019 -13.5933 34.9831 -42.14 -14.0637 -13.0113 35.4468 -42.145 -13.9989 -12.406 35.8609 -42.15 -13.9076 -11.7835 36.2244 -42.155 -13.7902 -11.1497 36.5362 -42.16 -13.6474 -10.5097 36.7958 -42.165 -13.4799 -9.86837 37.0029 -42.17 -13.2888 -9.22995 37.1576 -42.175 -13.0752 -8.59821 37.2603 -42.18 -12.8405 -7.97643 37.312 -42.185 -12.5865 -7.36738 37.3136 -42.19 -12.3149 -6.77335 37.2667 -42.195 -12.0277 -6.19614 37.173 -42.2 -11.7272 -5.63704 37.0348 -42.205 -11.4157 -5.09684 36.8546 -42.21 -11.0946 -4.5802 36.6373 -42.215 -10.7645 -4.09288 36.3884 -42.22 -10.4275 -3.63588 36.111 -42.225 -10.0855 -3.20991 35.808 -42.23 -9.74027 -2.81535 35.4824 -42.235 -9.39353 -2.45225 35.1371 -42.24 -9.04685 -2.12036 34.7749 -42.245 -8.7017 -1.81911 34.3984 -42.25 -8.35943 -1.54761 34.0105 -42.255 -8.02128 -1.30466 33.6136 -42.26 -7.68838 -1.08875 33.2105 -42.265 -7.36174 -0.898019 32.8035 -42.27 -7.04225 -0.730334 32.3951 -42.275 -6.7307 -0.58329 31.9877 -42.28 -6.42784 -0.456126 31.5811 -42.285 -6.13411 -0.3479 31.1754 -42.29 -5.84986 -0.257158 30.7716 -42.295 -5.57539 -0.182504 30.3703 -42.3 -5.31094 -0.122592 29.972 -42.305 -5.05669 -0.0761325 29.5774 -42.31 -4.81279 -0.0418898 29.187 -42.315 -4.57932 -0.0186821 28.801 -42.32 -4.35631 -0.00538215 28.4198 -42.325 -4.14374 -0.000916594 28.0435 -42.33 -3.94155 -0.00426643 27.6723 -42.335 -3.74961 -0.0144668 27.3062 -42.34 -3.56775 -0.0306071 26.9451 -42.345 -3.39573 -0.051875 26.5889 -42.35 -3.23322 -0.0777862 26.2379 -42.355 -3.07996 -0.107811 25.8918 -42.36 -2.93569 -0.141432 25.5508 -42.365 -2.80016 -0.178175 25.2147 -42.37 -2.6731 -0.217609 24.8834 -42.375 -2.55423 -0.259344 24.5568 -42.38 -2.44328 -0.303034 24.235 -42.385 -2.33997 -0.348375 23.9178 -42.39 -2.24401 -0.395104 23.6052 -42.395 -2.15511 -0.443004 23.2971 -42.4 -2.07298 -0.491897 22.9934 -42.405 -1.9973 -0.54165 22.6941 -42.41 -1.92776 -0.592171 22.3991 -42.415 -1.86406 -0.643412 22.1082 -42.42 -1.80588 -0.695366 21.8215 -42.425 -1.7529 -0.748028 21.5388 -42.43 -1.70493 -0.801343 21.2602 -42.435 -1.66183 -0.855272 20.9855 -42.44 -1.62346 -0.90979 20.7148 -42.445 -1.58966 -0.964895 20.4479 -42.45 -1.56028 -1.0206 20.1848 -42.455 -1.53518 -1.07694 19.9256 -42.46 -1.51419 -1.13396 19.6701 -42.465 -1.49717 -1.19174 19.4183 -42.47 -1.48394 -1.25036 19.1702 -42.475 -1.47436 -1.30993 18.9257 -42.48 -1.46825 -1.37057 18.6849 -42.485 -1.46546 -1.43243 18.4477 -42.49 -1.46582 -1.49566 18.214 -42.495 -1.46916 -1.56044 17.9839 -42.5 -1.47531 -1.62697 17.7574 -42.505 -1.4843 -1.69533 17.5344 -42.51 -1.49616 -1.76559 17.315 -42.515 -1.51089 -1.83786 17.0992 -42.52 -1.52846 -1.91227 16.8869 -42.525 -1.54889 -1.98894 16.6781 -42.53 -1.57216 -2.06803 16.4729 -42.535 -1.59827 -2.14969 16.2714 -42.54 -1.62722 -2.23409 16.0734 -42.545 -1.65902 -2.32141 15.8791 -42.55 -1.69367 -2.41184 15.6885 -42.555 -1.73118 -2.5056 15.5016 -42.56 -1.77155 -2.60288 15.3185 -42.565 -1.81479 -2.70391 15.1392 -42.57 -1.86093 -2.80894 14.9638 -42.575 -1.90996 -2.91821 14.7925 -42.58 -1.96193 -3.03197 14.6252 -42.585 -2.01699 -3.15035 14.4621 -42.59 -2.07524 -3.27359 14.3033 -42.595 -2.13677 -3.40194 14.1489 -42.6 -2.2017 -3.53565 13.999 -42.605 -2.27012 -3.67498 13.8536 -42.61 -2.34215 -3.8202 13.7131 -42.615 -2.4179 -3.97158 13.5775 -42.62 -2.49752 -4.1294 13.447 -42.625 -2.58113 -4.29396 13.3219 -42.63 -2.66887 -4.46553 13.2024 -42.635 -2.76089 -4.64441 13.0887 -42.64 -2.85734 -4.83092 12.9813 -42.645 -2.95838 -5.02535 12.8805 -42.65 -3.06419 -5.22802 12.7865 -42.655 -3.17493 -5.43925 12.6997 -42.66 -3.29078 -5.65938 12.6206 -42.665 -3.41194 -5.88872 12.5496 -42.67 -3.53859 -6.12762 12.4871 -42.675 -3.67092 -6.37626 12.4337 -42.68 -3.80902 -6.63381 12.39 -42.685 -3.95315 -6.90083 12.3566 -42.69 -4.10363 -7.17818 12.3341 -42.695 -4.26074 -7.46655 12.3233 -42.7 -4.42475 -7.76654 12.3248 -42.705 -4.59589 -8.07861 12.3395 -42.71 -4.7744 -8.40307 12.3683 -42.715 -4.96047 -8.74012 12.4121 -42.72 -5.15431 -9.08983 12.472 -42.725 -5.35606 -9.45215 12.5489 -42.73 -5.56589 -9.82687 12.6442 -42.735 -5.78391 -10.2137 12.7589 -42.74 -6.01024 -10.6121 12.8944 -42.745 -6.24497 -11.0217 13.0521 -42.75 -6.48816 -11.4416 13.2333 -42.755 -6.73987 -11.871 13.4395 -42.76 -7.00012 -12.3089 13.6722 -42.765 -7.26892 -12.7543 13.9332 -42.77 -7.54628 -13.206 14.224 -42.775 -7.83215 -13.6626 14.5465 -42.78 -8.12649 -14.1225 14.9024 -42.785 -8.42923 -14.5843 15.2935 -42.79 -8.74028 -15.0461 15.722 -42.795 -9.05897 -15.5066 16.1881 -42.8 -9.38412 -15.9633 16.692 -42.805 -9.71524 -16.4121 17.2358 -42.81 -10.0517 -16.8487 17.8214 -42.815 -10.3926 -17.2689 18.4497 -42.82 -10.737 -17.6683 19.1214 -42.825 -11.0836 -18.0426 19.8362 -42.83 -11.4312 -18.3875 20.5934 -42.835 -11.7783 -18.6985 21.3915 -42.84 -12.123 -18.9711 22.2287 -42.845 -12.4636 -19.2009 23.1022 -42.85 -12.7979 -19.3833 24.0088 -42.855 -13.1239 -19.5136 24.9446 -42.86 -13.439 -19.5873 25.9051 -42.865 -13.7407 -19.5998 26.8853 -42.87 -14.0262 -19.5461 27.8794 -42.875 -14.293 -19.4215 28.8814 -42.88 -14.5399 -19.2211 29.8866 -42.885 -14.764 -18.9457 30.8849 -42.89 -14.9622 -18.5972 31.8657 -42.895 -15.1317 -18.1779 32.8196 -42.9 -15.2703 -17.6907 33.7377 -42.905 -15.3759 -17.1389 34.6121 -42.91 -15.447 -16.5263 35.4355 -42.915 -15.4824 -15.857 36.2016 -42.92 -15.4813 -15.136 36.9049 -42.925 -15.4434 -14.3682 37.5404 -42.93 -15.3685 -13.5593 38.1042 -42.935 -15.2571 -12.7155 38.5931 -42.94 -15.1099 -11.8433 39.0048 -42.945 -14.928 -10.9497 39.3376 -42.95 -14.7114 -10.0476 39.5892 -42.955 -14.461 -9.14868 39.7605 -42.96 -14.1794 -8.26059 39.8541 -42.965 -13.869 -7.39036 39.8734 -42.97 -13.5322 -6.54426 39.822 -42.975 -13.1716 -5.72785 39.7041 -42.98 -12.7899 -4.94596 39.524 -42.985 -12.3897 -4.20269 39.2868 -42.99 -11.9736 -3.50142 38.9977 -42.995 -11.5444 -2.84482 38.6626 -43 -11.1049 -2.2348 38.2877 -43.005 -10.6579 -1.6726 37.8796 -43.01 -10.2064 -1.15868 37.4453 -43.015 -9.75314 -0.692822 36.9923 -43.02 -9.30083 -0.272805 36.5255 -43.025 -8.85126 0.104455 36.0463 -43.03 -8.40626 0.44075 35.5579 -43.035 -7.96752 0.738002 35.0634 -43.04 -7.53654 0.998267 34.5656 -43.045 -7.11467 1.22374 34.0667 -43.05 -6.70309 1.41675 33.569 -43.055 -6.30284 1.57975 33.0745 -43.06 -5.91478 1.71536 32.5847 -43.065 -5.53959 1.82629 32.101 -43.07 -5.17783 1.91543 31.6245 -43.075 -4.82986 1.98577 31.156 -43.08 -4.4959 2.04046 30.696 -43.085 -4.17599 2.08269 30.2449 -43.09 -3.87005 2.11302 29.8025 -43.095 -3.57789 2.13209 29.3687 -43.1 -3.29927 2.14141 28.9433 -43.105 -3.03393 2.14241 28.5263 -43.11 -2.7816 2.1364 28.1175 -43.115 -2.54195 2.12459 27.7168 -43.12 -2.31463 2.10809 27.3241 -43.125 -2.09929 2.08792 26.9391 -43.13 -1.89552 2.06498 26.5616 -43.135 -1.70289 2.04008 26.1915 -43.14 -1.52095 2.01393 25.8284 -43.145 -1.34921 1.98712 25.4721 -43.15 -1.18717 1.96016 25.1223 -43.155 -1.03423 1.93353 24.7788 -43.16 -0.889904 1.90763 24.4414 -43.165 -0.753801 1.88282 24.1099 -43.17 -0.625508 1.85943 23.7841 -43.175 -0.504617 1.83773 23.4639 -43.18 -0.390714 1.81799 23.149 -43.185 -0.283384 1.80042 22.8394 -43.19 -0.182207 1.78523 22.5349 -43.195 -0.0867611 1.77257 22.2353 -43.2 0.00337816 1.76256 21.9406 -43.205 0.0886388 1.75532 21.6505 -43.21 0.169452 1.7509 21.3649 -43.215 0.246251 1.74934 21.0838 -43.22 0.319474 1.75064 20.8071 -43.225 0.389467 1.75484 20.5345 -43.23 0.456448 1.76202 20.2662 -43.235 0.52064 1.77225 20.002 -43.24 0.582272 1.78562 19.7419 -43.245 0.641577 1.80217 19.4859 -43.25 0.698792 1.82197 19.2338 -43.255 0.754157 1.84507 18.9857 -43.26 0.807915 1.8715 18.7415 -43.265 0.860316 1.90129 18.5012 -43.27 0.911612 1.93448 18.2647 -43.275 0.962059 1.97109 18.0319 -43.28 1.01192 2.01112 17.803 -43.285 1.06145 2.05458 17.5777 -43.29 1.11092 2.10148 17.3561 -43.295 1.16053 2.15187 17.1382 -43.3 1.21036 2.20587 16.9241 -43.305 1.26054 2.26361 16.7136 -43.31 1.31118 2.3252 16.5068 -43.315 1.36243 2.39076 16.3038 -43.32 1.41441 2.46041 16.1046 -43.325 1.46729 2.53427 15.9092 -43.33 1.52121 2.61247 15.7176 -43.335 1.57633 2.69512 15.5298 -43.34 1.63284 2.78235 15.346 -43.345 1.6909 2.87429 15.1661 -43.35 1.75071 2.97108 14.9903 -43.355 1.81246 3.07284 14.8185 -43.36 1.87635 3.1797 14.6509 -43.365 1.94259 3.2918 14.4876 -43.37 2.01135 3.40929 14.3286 -43.375 2.08274 3.53244 14.1742 -43.38 2.15686 3.66151 14.0244 -43.385 2.23385 3.79677 13.8793 -43.39 2.31383 3.9385 13.7391 -43.395 2.39694 4.08696 13.604 -43.4 2.48335 4.24242 13.4742 -43.405 2.57321 4.40516 13.35 -43.41 2.66672 4.57543 13.2315 -43.415 2.76407 4.75351 13.119 -43.42 2.86545 4.93967 13.013 -43.425 2.97108 5.13417 12.9136 -43.43 3.0812 5.33727 12.8213 -43.435 3.19603 5.54925 12.7364 -43.44 3.31583 5.77036 12.6593 -43.445 3.44087 6.00088 12.5905 -43.45 3.57141 6.24107 12.5304 -43.455 3.70769 6.49101 12.4796 -43.46 3.84975 6.75042 12.4386 -43.465 3.99785 7.01996 12.4081 -43.47 4.15226 7.30027 12.3889 -43.475 4.31322 7.59191 12.3814 -43.48 4.48098 7.8953 12.3867 -43.485 4.65576 8.21077 12.4055 -43.49 4.83777 8.53851 12.4387 -43.495 5.02722 8.87862 12.4874 -43.5 5.22428 9.2311 12.5525 -43.505 5.42912 9.5958 12.6352 -43.51 5.6419 9.9725 12.7367 -43.515 5.86277 10.3608 12.8581 -43.52 6.09185 10.7604 13.0009 -43.525 6.32925 11.1705 13.1664 -43.53 6.57508 11.5905 13.3561 -43.535 6.82943 12.0197 13.5714 -43.54 7.09236 12.4571 13.8139 -43.545 7.36393 12.9017 14.0853 -43.55 7.6442 13.3524 14.3872 -43.555 7.93319 13.8079 14.7215 -43.56 8.2308 14.2669 15.0897 -43.565 8.53599 14.7283 15.4914 -43.57 8.8484 15.1895 15.9288 -43.575 9.16778 15.6472 16.4043 -43.58 9.49373 16.0981 16.9202 -43.585 9.82563 16.5387 17.4776 -43.59 10.1627 16.9654 18.0777 -43.595 10.5041 17.3745 18.7208 -43.6 10.8486 17.7619 19.4069 -43.605 11.195 18.1236 20.1352 -43.61 11.5418 18.4552 20.9046 -43.615 11.8874 18.7525 21.7134 -43.62 12.23 19.0107 22.5594 -43.625 12.5675 19.2252 23.4399 -43.63 12.8979 19.3911 24.3515 -43.635 13.2189 19.5033 25.2906 -43.64 13.5279 19.5566 26.2528 -43.645 13.8222 19.5456 27.2332 -43.65 14.1006 19.4652 28.2284 -43.655 14.3608 19.3132 29.2307 -43.66 14.5995 19.0892 30.2297 -43.665 14.8136 18.7935 31.2158 -43.67 15.0006 18.4269 32.18 -43.675 15.1582 17.991 33.1137 -43.68 15.2843 17.4879 34.0093 -43.685 15.3773 16.9205 34.8597 -43.69 15.4359 16.2923 35.6582 -43.695 15.459 15.6074 36.399 -43.7 15.4461 14.8706 37.0768 -43.705 15.3968 14.0874 37.6871 -43.71 15.3111 13.2639 38.2258 -43.715 15.1893 12.4068 38.6895 -43.72 15.0317 11.5247 39.0748 -43.725 14.8381 10.6305 39.3777 -43.73 14.6102 9.73387 39.5997 -43.735 14.3501 8.84286 39.7434 -43.74 14.0599 7.96499 39.8116 -43.745 13.7419 7.10702 39.8077 -43.75 13.3984 6.27497 39.7353 -43.755 13.032 5.47416 39.5987 -43.76 12.6452 4.70914 39.4023 -43.765 12.2406 3.98378 39.1513 -43.77 11.821 3.30118 38.851 -43.775 11.3892 2.66375 38.5072 -43.78 10.9483 2.07313 38.1263 -43.785 10.5012 1.53028 37.715 -43.79 10.0511 1.03531 37.2802 -43.795 9.60021 0.586166 36.8263 -43.8 9.15049 0.180954 36.357 -43.805 8.70398 -0.181967 35.8758 -43.81 8.26255 -0.50442 35.3862 -43.815 7.82785 -0.788416 34.8913 -43.82 7.40139 -1.03615 34.3938 -43.825 6.98446 -1.24999 33.8961 -43.83 6.5782 -1.43251 33.4004 -43.835 6.18355 -1.58644 32.9086 -43.84 5.80128 -1.71472 32.4222 -43.845 5.43198 -1.82046 31.9424 -43.85 5.07604 -1.90695 31.4702 -43.855 4.73375 -1.97666 31.0062 -43.86 4.40528 -2.03024 30.5502 -43.865 4.09057 -2.06952 30.1024 -43.87 3.78956 -2.09628 29.663 -43.875 3.50211 -2.11217 29.232 -43.88 3.22805 -2.11874 28.8093 -43.885 2.96717 -2.1174 28.3951 -43.89 2.71922 -2.10947 27.989 -43.895 2.48387 -2.09613 27.5911 -43.9 2.2608 -2.07847 27.2011 -43.905 2.0496 -2.05744 26.8188 -43.91 1.84985 -2.03389 26.4439 -43.915 1.66104 -2.00855 26.0761 -43.92 1.48257 -1.9821 25.7151 -43.925 1.31397 -1.9551 25.3608 -43.93 1.15484 -1.92804 25.013 -43.935 1.00477 -1.90136 24.6714 -43.94 0.863337 -1.87548 24.3358 -43.945 0.730121 -1.85077 24.0061 -43.95 0.60469 -1.82754 23.682 -43.955 0.486607 -1.8061 23.3635 -43.96 0.37543 -1.7867 23.0502 -43.965 0.270709 -1.76953 22.7421 -43.97 0.171987 -1.75478 22.4391 -43.975 0.0788046 -1.74258 22.1409 -43.98 -0.00930791 -1.73302 21.8474 -43.985 -0.0928248 -1.72614 21.5586 -43.99 -0.172227 -1.72197 21.2742 -43.995 -0.247909 -1.72052 20.9942 -44 -0.320091 -1.7219 20.7185 -44.005 -0.388989 -1.72621 20.447 -44.01 -0.454826 -1.73353 20.1798 -44.015 -0.517833 -1.74393 19.9167 -44.02 -0.578247 -1.75749 19.6576 -44.025 -0.636311 -1.77427 19.4026 -44.03 -0.692276 -1.7943 19.1516 -44.035 -0.746401 -1.81763 18.9045 -44.04 -0.79895 -1.84428 18.6612 -44.045 -0.850195 -1.87426 18.4218 -44.05 -0.900413 -1.90759 18.1862 -44.055 -0.949892 -1.94425 17.9544 -44.06 -0.998922 -1.98423 17.7262 -44.065 -1.0478 -2.02751 17.5017 -44.07 -1.09675 -2.07412 17.2808 -44.075 -1.14578 -2.12424 17.0636 -44.08 -1.195 -2.17797 16.8501 -44.085 -1.24454 -2.23543 16.6402 -44.09 -1.29454 -2.29673 16.4341 -44.095 -1.34513 -2.36198 16.2317 -44.1 -1.39647 -2.43128 16.033 -44.105 -1.44871 -2.50476 15.8381 -44.11 -1.50202 -2.58253 15.647 -44.115 -1.55655 -2.66471 15.4597 -44.12 -1.61249 -2.75142 15.2763 -44.125 -1.67003 -2.84279 15.0968 -44.13 -1.72935 -2.93892 14.9213 -44.135 -1.79064 -3.03996 14.7498 -44.14 -1.85412 -3.14602 14.5825 -44.145 -1.91995 -3.25727 14.4194 -44.15 -1.98823 -3.37394 14.2606 -44.155 -2.05908 -3.4963 14.1063 -44.16 -2.1326 -3.6246 13.9565 -44.165 -2.20893 -3.75909 13.8114 -44.17 -2.28821 -3.90004 13.6712 -44.175 -2.37059 -4.04771 13.536 -44.18 -2.45624 -4.20236 13.4061 -44.185 -2.54534 -4.36424 13.2817 -44.19 -2.63807 -4.53362 13.1629 -44.195 -2.73464 -4.71077 13.0502 -44.2 -2.83525 -4.89594 12.9438 -44.205 -2.94014 -5.08939 12.844 -44.21 -3.04952 -5.2914 12.7512 -44.215 -3.16366 -5.50223 12.6657 -44.22 -3.28281 -5.72214 12.5878 -44.225 -3.40725 -5.9514 12.5181 -44.23 -3.53716 -6.19001 12.4571 -44.235 -3.67264 -6.43797 12.4053 -44.24 -3.81395 -6.69596 12.3633 -44.245 -3.96134 -6.96457 12.3316 -44.25 -4.11502 -7.24431 12.3109 -44.255 -4.27524 -7.5356 12.302 -44.26 -4.44222 -7.83876 12.3055 -44.265 -4.61616 -8.15402 12.3224 -44.27 -4.79727 -8.48153 12.3536 -44.275 -4.98575 -8.82132 12.4 -44.28 -5.18179 -9.17337 12.4627 -44.285 -5.38557 -9.53753 12.5428 -44.29 -5.59726 -9.91357 12.6415 -44.295 -5.81703 -10.3012 12.7601 -44.3 -6.04504 -10.6999 12.8999 -44.305 -6.28143 -11.1094 13.0623 -44.31 -6.52635 -11.5288 13.2488 -44.315 -6.77994 -11.9577 13.4608 -44.32 -7.04231 -12.3951 13.6999 -44.325 -7.31359 -12.8403 13.9679 -44.33 -7.5939 -13.2922 14.2665 -44.335 -7.88272 -13.7499 14.5961 -44.34 -8.1793 -14.2119 14.9574 -44.345 -8.48368 -14.6758 15.3534 -44.35 -8.79575 -15.1391 15.7865 -44.355 -9.1152 -15.5991 16.2589 -44.36 -9.4416 -16.0528 16.7722 -44.365 -9.7743 -16.497 17.3274 -44.37 -10.1125 -16.9283 17.9254 -44.375 -10.4553 -17.3429 18.5663 -44.38 -10.8014 -17.7371 19.2501 -44.385 -11.1497 -18.1067 19.9759 -44.39 -11.4986 -18.4474 20.7428 -44.395 -11.8465 -18.7546 21.5492 -44.4 -12.1916 -19.0234 22.3931 -44.405 -12.5319 -19.249 23.272 -44.41 -12.8653 -19.4259 24.183 -44.415 -13.1894 -19.5489 25.1229 -44.42 -13.5017 -19.6121 26.0877 -44.425 -13.8006 -19.6102 27.0745 -44.43 -14.0843 -19.5404 28.0771 -44.435 -14.3494 -19.4004 29.0857 -44.44 -14.5929 -19.1888 30.0907 -44.445 -14.8119 -18.9052 31.0832 -44.45 -15.0038 -18.5498 32.0546 -44.455 -15.1666 -18.1234 32.9969 -44.46 -15.2981 -17.628 33.9027 -44.465 -15.3968 -17.066 34.7647 -44.47 -15.4614 -16.4408 35.5766 -44.475 -15.4906 -15.7565 36.3321 -44.48 -15.4838 -15.018 37.0258 -44.485 -15.4405 -14.231 37.6526 -44.49 -15.3604 -13.4018 38.2078 -44.495 -15.2435 -12.5381 38.6871 -44.5 -15.0894 -11.6509 39.0838 -44.505 -14.899 -10.7512 39.3978 -44.51 -14.6742 -9.84798 39.6309 -44.515 -14.4168 -8.94977 39.7854 -44.52 -14.1288 -8.06423 39.8642 -44.525 -13.8125 -7.19827 39.8705 -44.53 -13.4701 -6.35808 39.8078 -44.535 -13.104 -5.54904 39.6802 -44.54 -12.7169 -4.77581 39.4921 -44.545 -12.3114 -4.04228 39.2484 -44.55 -11.8905 -3.35156 38.9545 -44.555 -11.4571 -2.70604 38.616 -44.56 -11.0144 -2.10732 38.2392 -44.565 -10.5658 -1.55625 37.8305 -44.57 -10.1138 -1.05247 37.3966 -44.575 -9.66038 -0.594626 36.9423 -44.58 -9.20787 -0.181389 36.4716 -44.585 -8.75836 0.188791 35.9885 -44.59 -8.31375 0.517705 35.4966 -44.595 -7.87576 0.807384 34.999 -44.6 -7.44592 1.0601 34.4985 -44.605 -7.02558 1.27835 33.9979 -44.61 -6.61587 1.46489 33.4994 -44.615 -6.21776 1.62269 33.0049 -44.62 -5.832 1.75499 32.5159 -44.625 -5.45917 1.86524 32.034 -44.63 -5.09972 1.95595 31.5596 -44.635 -4.75394 2.02803 31.093 -44.64 -4.42193 2.08355 30.6345 -44.645 -4.10371 2.12445 30.1842 -44.65 -3.79924 2.15256 29.7424 -44.655 -3.50844 2.1696 29.3091 -44.66 -3.23117 2.17713 28.8844 -44.665 -2.96723 2.17663 28.4683 -44.67 -2.71637 2.16942 28.0606 -44.675 -2.47827 2.15672 27.6611 -44.68 -2.25256 2.13963 27.2697 -44.685 -2.03883 2.11909 26.8859 -44.69 -1.83651 2.09601 26.5095 -44.695 -1.64498 2.07113 26.1404 -44.7 -1.46385 2.04508 25.7782 -44.705 -1.29274 2.0184 25.4228 -44.71 -1.13126 1.99161 25.074 -44.715 -0.979005 1.9652 24.7314 -44.72 -0.835558 1.93958 24.395 -44.725 -0.700494 1.91515 24.0645 -44.73 -0.573376 1.89226 23.7397 -44.735 -0.453756 1.87122 23.4205 -44.74 -0.341178 1.85228 23.1067 -44.745 -0.235173 1.83567 22.7981 -44.75 -0.13526 1.82156 22.4945 -44.755 -0.0409497 1.81009 22.1959 -44.76 0.0482581 1.80137 21.902 -44.765 0.132875 1.79543 21.6128 -44.77 0.213424 1.79229 21.3282 -44.775 0.290398 1.79192 21.0479 -44.78 0.363992 1.79441 20.772 -44.785 0.434379 1.79987 20.5004 -44.79 0.501756 1.80839 20.2329 -44.795 0.566334 1.82007 19.9697 -44.8 0.628329 1.835 19.7106 -44.805 0.687968 1.85324 19.4555 -44.81 0.745487 1.87485 19.2045 -44.815 0.801134 1.89989 18.9575 -44.82 0.855163 1.92838 18.7144 -44.825 0.907839 1.96037 18.4752 -44.83 0.959437 1.99586 18.2399 -44.835 1.01024 2.03486 18.0084 -44.84 1.06054 2.07736 17.7807 -44.845 1.11064 2.12336 17.5567 -44.85 1.16086 2.17282 17.3364 -44.855 1.21146 2.22575 17.1197 -44.86 1.26242 2.28236 16.9068 -44.865 1.31381 2.34279 16.6977 -44.87 1.36577 2.40717 16.4923 -44.875 1.41841 2.47562 16.2907 -44.88 1.47189 2.54827 16.0929 -44.885 1.52634 2.62524 15.899 -44.89 1.58193 2.70667 15.709 -44.895 1.63881 2.79268 15.523 -44.9 1.69715 2.88342 15.3409 -44.905 1.75714 2.97901 15.1629 -44.91 1.81895 3.07959 14.989 -44.915 1.88278 3.18532 14.8193 -44.92 1.94883 3.29632 14.6539 -44.925 2.0173 3.41276 14.4929 -44.93 2.08839 3.53476 14.3364 -44.935 2.16224 3.66255 14.1845 -44.94 2.23895 3.79643 14.0375 -44.945 2.31865 3.93667 13.8953 -44.95 2.40147 4.08356 13.7583 -44.955 2.48755 4.23738 13.6265 -44.96 2.57705 4.3984 13.5003 -44.965 2.67014 4.56689 13.3798 -44.97 2.767 4.74314 13.2653 -44.975 2.86782 4.92741 13.1571 -44.98 2.97281 5.11997 13.0557 -44.985 3.08218 5.32108 12.9612 -44.99 3.19616 5.53101 12.8741 -44.995 3.31499 5.75002 12.7949 -45 3.43892 5.97838 12.7238 -45.005 3.56822 6.21632 12.6615 -45.01 3.70316 6.46412 12.6084 -45.015 3.84402 6.72202 12.565 -45.02 3.99086 6.98961 12.532 -45.025 4.14383 7.26714 12.51 -45.03 4.30322 7.55534 12.4998 -45.035 4.46931 7.8548 12.5022 -45.04 4.64235 8.16599 12.5179 -45.045 4.82257 8.48926 12.548 -45.05 5.0102 8.82483 12.5934 -45.055 5.20542 9.17275 12.6551 -45.06 5.40841 9.53299 12.7342 -45.065 5.61933 9.90536 12.8318 -45.07 5.8383 10.2895 12.9492 -45.075 6.06543 10.6851 13.0876 -45.08 6.30083 11.0914 13.2484 -45.085 6.54456 11.5078 13.433 -45.09 6.79667 11.9335 13.6427 -45.095 7.05719 12.3675 13.8792 -45.1 7.32613 12.8086 14.1439 -45.105 7.60349 13.2556 14.4386 -45.11 7.88924 13.7072 14.7649 -45.115 8.18331 14.162 15.1246 -45.12 8.48565 14.6181 15.5194 -45.125 8.7958 15.0744 15.9504 -45.13 9.11266 15.5288 16.4173 -45.135 9.43584 15.9778 16.9227 -45.14 9.76481 16.4175 17.4683 -45.145 10.0988 16.844 18.0556 -45.15 10.4371 17.2533 18.6852 -45.155 10.7785 17.6414 19.3574 -45.16 11.1219 18.0041 20.0718 -45.165 11.4658 18.3371 20.8274 -45.17 11.8088 18.6363 21.6227 -45.175 12.149 18.8971 22.4555 -45.18 12.4846 19.1151 23.3232 -45.185 12.8136 19.2857 24.2225 -45.19 13.1337 19.4044 25.1494 -45.195 13.4425 19.4663 26.0997 -45.2 13.7375 19.4666 27.0683 -45.205 14.0158 19.4005 28.0497 -45.21 14.2764 19.2627 29.0401 -45.215 14.5168 19.0522 30.0307 -45.22 14.7338 18.7697 31.0114 -45.225 14.9244 18.4167 31.9726 -45.23 15.0864 17.995 32.9055 -45.235 15.2175 17.5071 33.8019 -45.24 15.3159 16.9559 34.6544 -45.245 15.3804 16.3449 35.4562 -45.25 15.4097 15.6783 36.2014 -45.255 15.4032 14.9605 36.8847 -45.26 15.3606 14.1968 37.5015 -45.265 15.2818 13.3929 38.0479 -45.27 15.1672 12.5549 38.5208 -45.275 15.0176 11.6896 38.9177 -45.28 14.8334 10.8065 39.2358 -45.285 14.6145 9.91879 39.4735 -45.29 14.363 9.03501 39.6327 -45.295 14.0813 8.1626 39.7164 -45.3 13.7715 7.30832 39.7276 -45.305 13.4362 6.47826 39.6701 -45.31 13.0777 5.67777 39.5477 -45.315 12.6986 4.91152 39.3651 -45.32 12.3014 4.18346 39.1269 -45.325 11.8889 3.49685 38.8385 -45.33 11.4637 2.85423 38.5056 -45.335 11.0286 2.25745 38.1341 -45.34 10.5866 1.70765 37.7308 -45.345 10.1405 1.20527 37.3024 -45.35 9.69326 0.749712 36.8559 -45.355 9.24689 0.337836 36.3941 -45.36 8.80331 -0.0321935 35.9199 -45.365 8.36432 -0.362 35.4365 -45.37 7.93159 -0.653375 34.947 -45.375 7.5066 -0.908273 34.4539 -45.38 7.09069 -1.12882 33.9596 -45.385 6.68502 -1.3173 33.4664 -45.39 6.2906 -1.47618 32.976 -45.395 5.90826 -1.60808 32.4902 -45.4 5.5387 -1.71579 32.0103 -45.405 5.18242 -1.80226 31.5374 -45.41 4.83979 -1.87062 31.0724 -45.415 4.51099 -1.92417 30.616 -45.42 4.19606 -1.96593 30.1683 -45.425 3.89487 -1.99556 29.729 -45.43 3.60723 -2.01407 29.298 -45.435 3.33292 -2.02293 28.8753 -45.44 3.07171 -2.02356 28.4607 -45.445 2.82332 -2.01724 28.0541 -45.45 2.58744 -2.00516 27.6554 -45.455 2.36374 -1.9884 27.2644 -45.46 2.15185 -1.96797 26.881 -45.465 1.95139 -1.94473 26.505 -45.47 1.76194 -1.91947 26.1362 -45.475 1.58303 -1.89288 25.7742 -45.48 1.41419 -1.86552 25.4189 -45.485 1.25488 -1.83792 25.07 -45.49 1.10453 -1.81053 24.7272 -45.495 0.962757 -1.78376 24.3904 -45.5 0.829144 -1.75795 24.0595 -45.505 0.703295 -1.73342 23.7341 -45.51 0.584806 -1.71045 23.4142 -45.515 0.473269 -1.6893 23.0997 -45.52 0.36827 -1.67019 22.7902 -45.525 0.269396 -1.6533 22.4858 -45.53 0.176227 -1.63879 22.1863 -45.535 0.0883404 -1.62677 21.8914 -45.54 0.00531079 -1.61734 21.6012 -45.545 -0.0732916 -1.61055 21.3155 -45.55 -0.1479 -1.60643 21.0341 -45.555 -0.218944 -1.60496 20.757 -45.56 -0.286714 -1.6062 20.484 -45.565 -0.351419 -1.61023 20.2152 -45.57 -0.413276 -1.61714 19.9505 -45.575 -0.472508 -1.62698 19.6898 -45.58 -0.529342 -1.63981 19.433 -45.585 -0.584009 -1.65568 19.1802 -45.59 -0.636744 -1.67463 18.9313 -45.595 -0.687786 -1.69669 18.6861 -45.6 -0.73738 -1.72189 18.4448 -45.605 -0.785773 -1.75025 18.2071 -45.61 -0.833217 -1.78177 17.9732 -45.615 -0.87997 -1.81646 17.7429 -45.62 -0.926292 -1.85431 17.5162 -45.625 -0.972448 -1.89532 17.293 -45.63 -1.0186 -1.93953 17.0735 -45.635 -1.06483 -1.98708 16.8575 -45.64 -1.11126 -2.03807 16.6451 -45.645 -1.15799 -2.0926 16.4362 -45.65 -1.20516 -2.15079 16.231 -45.655 -1.2529 -2.21273 16.0293 -45.66 -1.30136 -2.27853 15.8312 -45.665 -1.35068 -2.3483 15.6368 -45.67 -1.40102 -2.42216 15.446 -45.675 -1.45255 -2.50022 15.2589 -45.68 -1.50543 -2.5826 15.0755 -45.685 -1.55984 -2.6694 14.8958 -45.69 -1.61596 -2.76075 14.72 -45.695 -1.67398 -2.85677 14.548 -45.7 -1.7341 -2.95758 14.38 -45.705 -1.79647 -3.06335 14.2159 -45.71 -1.86118 -3.17433 14.056 -45.715 -1.92833 -3.29075 13.9003 -45.72 -1.99804 -3.41288 13.7488 -45.725 -2.07043 -3.54095 13.6018 -45.73 -2.14564 -3.67523 13.4594 -45.735 -2.22382 -3.81597 13.3217 -45.74 -2.30513 -3.96342 13.1889 -45.745 -2.38975 -4.11784 13.0613 -45.75 -2.47785 -4.27951 12.939 -45.755 -2.56964 -4.44868 12.8223 -45.76 -2.66532 -4.62561 12.7114 -45.765 -2.76512 -4.81059 12.6067 -45.77 -2.86925 -5.00387 12.5085 -45.775 -2.97797 -5.20574 12.417 -45.78 -3.09153 -5.41647 12.3327 -45.785 -3.21019 -5.63634 12.2559 -45.79 -3.33413 -5.86528 12.1871 -45.795 -3.4635 -6.10352 12.1269 -45.8 -3.59852 -6.35172 12.0758 -45.805 -3.73944 -6.61046 12.0342 -45.81 -3.88648 -6.88026 12.0028 -45.815 -4.03987 -7.16153 11.9821 -45.82 -4.19984 -7.45464 11.973 -45.825 -4.3666 -7.75986 11.9762 -45.83 -4.54037 -8.07739 11.9925 -45.835 -4.72136 -8.40734 12.023 -45.84 -4.90979 -8.74978 12.0685 -45.845 -5.10586 -9.10466 12.1303 -45.85 -5.30978 -9.47187 12.2094 -45.855 -5.52174 -9.85123 12.3071 -45.86 -5.74196 -10.2425 12.4246 -45.865 -5.97062 -10.6453 12.5633 -45.87 -6.20792 -11.0592 12.7246 -45.875 -6.45404 -11.4837 12.9101 -45.88 -6.70917 -11.9183 13.1213 -45.885 -6.97349 -12.3623 13.3598 -45.89 -7.24718 -12.815 13.6273 -45.895 -7.52953 -13.2753 13.924 -45.9 -7.82014 -13.7419 14.2513 -45.905 -8.11918 -14.2129 14.6123 -45.91 -8.42667 -14.6863 15.0096 -45.915 -8.74243 -15.1599 15.4453 -45.92 -9.06613 -15.6312 15.9213 -45.925 -9.39728 -16.0971 16.4391 -45.93 -9.73521 -16.5546 16.9995 -45.935 -10.0791 -17.0002 17.6034 -45.94 -10.4279 -17.4302 18.2508 -45.945 -10.7806 -17.8406 18.9418 -45.95 -11.1357 -18.2271 19.6758 -45.955 -11.4917 -18.585 20.4519 -45.96 -11.8471 -18.9096 21.2688 -45.965 -12.1999 -19.1956 22.1248 -45.97 -12.5482 -19.4375 23.0178 -45.975 -12.8898 -19.6297 23.9454 -45.98 -13.2225 -19.766 24.9047 -45.985 -13.5442 -19.8412 25.8933 -45.99 -13.8534 -19.8516 26.9061 -45.995 -14.1468 -19.7934 27.9337 -46 -14.4211 -19.6636 28.967 -46.005 -14.6733 -19.46 29.997 -46.01 -14.9007 -19.1815 31.0152 -46.015 -15.1009 -18.8278 32.0133 -46.02 -15.2716 -18.3995 32.9833 -46.025 -15.4108 -17.8982 33.9178 -46.03 -15.5168 -17.3264 34.8093 -46.035 -15.5881 -16.6875 35.651 -46.04 -15.6233 -15.9859 36.4361 -46.045 -15.6216 -15.2268 37.1584 -46.05 -15.5821 -14.4164 37.8118 -46.055 -15.5043 -13.5619 38.3905 -46.06 -15.3874 -12.6726 38.8858 -46.065 -15.2322 -11.7599 39.2955 -46.07 -15.0399 -10.8343 39.6211 -46.075 -14.8123 -9.90546 39.8643 -46.08 -14.551 -8.98228 40.0272 -46.085 -14.2581 -8.07275 40.1128 -46.09 -13.9356 -7.18402 40.1239 -46.095 -13.5859 -6.32243 40.0642 -46.1 -13.2116 -5.49344 39.9376 -46.105 -12.8154 -4.70168 39.7486 -46.11 -12.4003 -3.95095 39.5021 -46.115 -11.9694 -3.24419 39.2033 -46.12 -11.5261 -2.5835 38.8581 -46.125 -11.0739 -1.97013 38.4725 -46.13 -10.6157 -1.40496 38.0539 -46.135 -10.1535 -0.888326 37.6095 -46.14 -9.68985 -0.419316 37.1441 -46.145 -9.22709 0.00333367 36.6621 -46.15 -8.76744 0.381204 36.1676 -46.155 -8.31287 0.716194 35.6643 -46.16 -7.86517 1.01052 35.1558 -46.165 -7.4259 1.26672 34.645 -46.17 -6.99642 1.48765 34.1348 -46.175 -6.5779 1.67648 33.6275 -46.18 -6.17127 1.8367 33.1251 -46.185 -5.77729 1.97208 32.6295 -46.19 -5.39662 2.08451 32.1411 -46.195 -5.02963 2.17562 31.6604 -46.2 -4.67653 2.24773 31.1878 -46.205 -4.33749 2.30301 30.7238 -46.21 -4.01255 2.3435 30.2686 -46.215 -3.70174 2.37111 29.8224 -46.22 -3.40497 2.38761 29.3853 -46.225 -3.1221 2.39464 28.9574 -46.23 -2.85291 2.39372 28.5384 -46.235 -2.59711 2.38622 28.1282 -46.24 -2.35434 2.37338 27.7266 -46.245 -2.12414 2.35634 27.3331 -46.25 -1.90592 2.33613 26.9476 -46.255 -1.69924 2.31352 26.5699 -46.26 -1.5037 2.28923 26.1997 -46.265 -1.31887 2.2639 25.8367 -46.27 -1.14431 2.23815 25.4807 -46.275 -0.979578 2.21253 25.1314 -46.28 -0.824229 2.18754 24.7886 -46.285 -0.677796 2.16365 24.4521 -46.29 -0.539805 2.14125 24.1216 -46.295 -0.409772 2.12072 23.7971 -46.3 -0.287203 2.10234 23.4782 -46.305 -0.171595 2.08639 23.1648 -46.31 -0.0624334 2.07307 22.8568 -46.315 0.0408055 2.06253 22.554 -46.32 0.138656 2.05489 22.2562 -46.325 0.231662 2.05021 21.9633 -46.33 0.320322 2.0485 21.6752 -46.335 0.404864 2.04989 21.3917 -46.34 0.485541 2.0545 21.1129 -46.345 0.562622 2.06243 20.8385 -46.35 0.636379 2.07378 20.5686 -46.355 0.707094 2.08863 20.3031 -46.36 0.775049 2.10704 20.042 -46.365 0.840534 2.12909 19.7851 -46.37 0.903844 2.15482 19.5324 -46.375 0.965277 2.18427 19.2839 -46.38 1.02514 2.21747 19.0395 -46.385 1.08374 2.25444 18.7992 -46.39 1.14139 2.29518 18.5629 -46.395 1.19842 2.3397 18.3306 -46.4 1.25514 2.38798 18.1022 -46.405 1.31174 2.4401 17.8779 -46.41 1.36832 2.49619 17.6575 -46.415 1.42502 2.55639 17.4411 -46.42 1.48199 2.6208 17.2288 -46.425 1.53939 2.68953 17.0205 -46.43 1.59739 2.76271 16.8162 -46.435 1.65616 2.84044 16.6161 -46.44 1.71588 2.92286 16.4202 -46.445 1.77673 3.01007 16.2285 -46.45 1.83891 3.10221 16.041 -46.455 1.90264 3.19937 15.8579 -46.46 1.9681 3.3017 15.6792 -46.465 2.03553 3.40931 15.5049 -46.47 2.10514 3.52233 15.3353 -46.475 2.17716 3.64087 15.1702 -46.48 2.25174 3.76512 15.0101 -46.485 2.32899 3.89535 14.8549 -46.49 2.40902 4.03181 14.7047 -46.495 2.49198 4.17478 14.5599 -46.5 2.578 4.32452 14.4205 -46.505 2.66724 4.48126 14.2868 -46.51 2.75987 4.64528 14.159 -46.515 2.85607 4.81681 14.0373 -46.52 2.95602 4.9961 13.9222 -46.525 3.05993 5.1834 13.8137 -46.53 3.168 5.37893 13.7125 -46.535 3.28047 5.58294 13.6186 -46.54 3.39757 5.79566 13.5327 -46.545 3.51954 6.0173 13.455 -46.55 3.64664 6.24811 13.3861 -46.555 3.77914 6.48829 13.3263 -46.56 3.91731 6.73802 13.2762 -46.565 4.06117 6.99695 13.2364 -46.57 4.21093 7.26551 13.2075 -46.575 4.36682 7.54428 13.1903 -46.58 4.5291 7.83376 13.1854 -46.585 4.69799 8.1343 13.1937 -46.59 4.87368 8.44617 13.2161 -46.595 5.05638 8.76949 13.2534 -46.6 5.24625 9.1043 13.3066 -46.605 5.44344 9.45051 13.3767 -46.61 5.6481 9.80791 13.4649 -46.615 5.86034 10.1762 13.5722 -46.62 6.08027 10.5549 13.6997 -46.625 6.30797 10.9435 13.8488 -46.63 6.54352 11.3413 14.0207 -46.635 6.78696 11.7476 14.2167 -46.64 7.03833 12.1614 14.4383 -46.645 7.29766 12.5817 14.6868 -46.65 7.56493 13.0075 14.9638 -46.655 7.84014 13.4375 15.2708 -46.66 8.12325 13.8703 15.6094 -46.665 8.41408 14.3047 15.9809 -46.67 8.71158 14.7395 16.3848 -46.675 9.0154 15.1718 16.8233 -46.68 9.32518 15.5985 17.2983 -46.685 9.64041 16.0162 17.8115 -46.69 9.9604 16.4214 18.3638 -46.695 10.2844 16.8107 18.9559 -46.7 10.6113 17.1804 19.5878 -46.705 10.9401 17.5268 20.259 -46.71 11.2694 17.8461 20.9688 -46.715 11.5979 18.1344 21.7155 -46.72 11.9239 18.3877 22.4974 -46.725 12.2457 18.6019 23.312 -46.73 12.5614 18.7728 24.1563 -46.735 12.8689 18.896 25.027 -46.74 13.1661 18.9673 25.9201 -46.745 13.4505 18.9821 26.8312 -46.75 13.7197 18.9358 27.7555 -46.755 13.9726 18.8237 28.6897 -46.76 14.2071 18.6447 29.6259 -46.765 14.4201 18.3993 30.555 -46.77 14.609 18.0884 31.468 -46.775 14.7714 17.7134 32.3571 -46.78 14.9054 17.2764 33.2146 -46.785 15.0093 16.7798 34.0337 -46.79 15.0816 16.2265 34.8081 -46.795 15.1214 15.62 35.5322 -46.8 15.1278 14.9643 36.2009 -46.805 15.1005 14.2639 36.8098 -46.81 15.0393 13.5236 37.355 -46.815 14.9444 12.749 37.8335 -46.82 14.8164 11.9461 38.2426 -46.825 14.6559 11.1218 38.5799 -46.83 14.4625 10.2884 38.8425 -46.835 14.2377 9.45468 39.0313 -46.84 13.9835 8.62775 39.1486 -46.845 13.7021 7.81407 39.197 -46.85 13.3955 7.01952 39.1796 -46.855 13.066 6.24933 39.0996 -46.86 12.716 5.50811 38.9608 -46.865 12.3476 4.79985 38.7674 -46.87 11.9634 4.12793 38.5239 -46.875 11.5658 3.4951 38.2351 -46.88 11.1574 2.90348 37.9064 -46.885 10.7408 2.35459 37.5434 -46.89 10.3187 1.84929 37.1521 -46.895 9.8937 1.38786 36.7389 -46.9 9.46842 0.969166 36.309 -46.905 9.0445 0.590655 35.8643 -46.91 8.62376 0.250769 35.4082 -46.915 8.20786 -0.0521567 34.9435 -46.92 7.79832 -0.319923 34.4731 -46.925 7.39649 -0.554461 33.9995 -46.93 7.00356 -0.757839 33.5248 -46.935 6.62056 -0.932256 33.0511 -46.94 6.24839 -1.08004 32.58 -46.945 5.88776 -1.20367 32.113 -46.95 5.53923 -1.30574 31.6512 -46.955 5.20323 -1.38898 31.1955 -46.96 4.88 -1.4562 30.7466 -46.965 4.56974 -1.50854 30.3046 -46.97 4.27246 -1.54716 29.8698 -46.975 3.98808 -1.57366 29.4423 -46.98 3.71647 -1.58954 29.0221 -46.985 3.4575 -1.59621 28.6092 -46.99 3.21096 -1.59497 28.2038 -46.995 2.97662 -1.58701 27.8057 -47 2.75423 -1.57344 27.4148 -47.005 2.54347 -1.55526 27.0311 -47.01 2.34401 -1.53336 26.6544 -47.015 2.15546 -1.50854 26.2845 -47.02 1.97742 -1.48149 25.9211 -47.025 1.80939 -1.45282 25.564 -47.03 1.65082 -1.42308 25.213 -47.035 1.50135 -1.39273 24.868 -47.04 1.3606 -1.36218 24.5288 -47.045 1.22821 -1.33182 24.1952 -47.05 1.1038 -1.30197 23.8671 -47.055 0.986975 -1.27295 23.5443 -47.06 0.877361 -1.24503 23.2266 -47.065 0.774561 -1.21843 22.914 -47.07 0.678176 -1.19334 22.6062 -47.075 0.587801 -1.16993 22.3031 -47.08 0.503027 -1.14831 22.0047 -47.085 0.42344 -1.12857 21.7107 -47.09 0.348618 -1.11075 21.4211 -47.095 0.278136 -1.09487 21.1357 -47.1 0.21157 -1.0809 20.8544 -47.105 0.148641 -1.06888 20.5772 -47.11 0.0891728 -1.05889 20.304 -47.115 0.0329762 -1.051 20.0347 -47.12 -0.0201417 -1.04527 19.7693 -47.125 -0.07038 -1.04174 19.5076 -47.13 -0.117943 -1.04044 19.2498 -47.135 -0.163042 -1.04139 18.9956 -47.14 -0.205891 -1.04462 18.745 -47.145 -0.246712 -1.05012 18.498 -47.15 -0.285731 -1.05787 18.2545 -47.155 -0.323182 -1.06787 18.0144 -47.16 -0.359303 -1.08008 17.7778 -47.165 -0.394336 -1.09445 17.5444 -47.17 -0.42853 -1.11094 17.3144 -47.175 -0.46214 -1.12948 17.0876 -47.18 -0.49524 -1.15014 16.864 -47.185 -0.527847 -1.17302 16.6435 -47.19 -0.560059 -1.19818 16.4263 -47.195 -0.591978 -1.22567 16.2122 -47.2 -0.623712 -1.25553 16.0012 -47.205 -0.65537 -1.28783 15.7933 -47.21 -0.687067 -1.3226 15.5885 -47.215 -0.71892 -1.35991 15.3867 -47.22 -0.751052 -1.39981 15.188 -47.225 -0.783588 -1.44235 14.9922 -47.23 -0.816658 -1.48758 14.7995 -47.235 -0.850396 -1.53556 14.6098 -47.24 -0.884939 -1.58635 14.423 -47.245 -0.920429 -1.64 14.2392 -47.25 -0.956979 -1.69661 14.0584 -47.255 -0.994653 -1.75632 13.8806 -47.26 -1.03352 -1.81927 13.7057 -47.265 -1.07364 -1.8856 13.5339 -47.27 -1.11512 -1.95546 13.3651 -47.275 -1.15803 -2.02901 13.1993 -47.28 -1.20247 -2.1064 13.0365 -47.285 -1.24857 -2.18781 12.8769 -47.29 -1.29642 -2.27339 12.7204 -47.295 -1.34615 -2.36332 12.5672 -47.3 -1.3979 -2.45779 12.4171 -47.305 -1.45181 -2.55697 12.2704 -47.31 -1.50803 -2.66105 12.1271 -47.315 -1.56671 -2.77022 11.9873 -47.32 -1.62802 -2.88469 11.851 -47.325 -1.69213 -3.00466 11.7183 -47.33 -1.75924 -3.13031 11.5894 -47.335 -1.82947 -3.2619 11.4645 -47.34 -1.90295 -3.39975 11.3437 -47.345 -1.97979 -3.54423 11.2271 -47.35 -2.06012 -3.69569 11.1149 -47.355 -2.1441 -3.85447 11.0071 -47.36 -2.23188 -4.02094 10.9041 -47.365 -2.32364 -4.19544 10.806 -47.37 -2.41957 -4.37834 10.7132 -47.375 -2.51986 -4.56998 10.6259 -47.38 -2.62473 -4.77074 10.5446 -47.385 -2.7344 -4.98096 10.4695 -47.39 -2.84911 -5.201 10.4012 -47.395 -2.96912 -5.43124 10.3401 -47.4 -3.0947 -5.67202 10.2866 -47.405 -3.22611 -5.92372 10.2414 -47.41 -3.36366 -6.18669 10.2049 -47.415 -3.50765 -6.46131 10.1778 -47.42 -3.65839 -6.74793 10.1606 -47.425 -3.81622 -7.04694 10.1542 -47.43 -3.98122 -7.35773 10.1592 -47.435 -4.15333 -7.67953 10.1768 -47.44 -4.33302 -8.01369 10.2079 -47.445 -4.52075 -8.36137 10.2534 -47.45 -4.71693 -8.72352 10.3145 -47.455 -4.92194 -9.10083 10.3922 -47.46 -5.13609 -9.49378 10.488 -47.465 -5.35967 -9.90263 10.6031 -47.47 -5.59292 -10.3274 10.7389 -47.475 -5.83604 -10.7679 10.897 -47.48 -6.08919 -11.2236 11.079 -47.485 -6.35247 -11.6939 11.2865 -47.49 -6.62597 -12.1779 11.5213 -47.495 -6.90972 -12.6744 11.7852 -47.5 -7.20369 -13.1822 12.0803 -47.505 -7.50783 -13.6996 12.4085 -47.51 -7.82205 -14.2248 12.772 -47.515 -8.1462 -14.7557 13.1729 -47.52 -8.48011 -15.2901 13.6135 -47.525 -8.82354 -15.8254 14.0963 -47.53 -9.17623 -16.359 14.6235 -47.535 -9.53787 -16.8879 15.1979 -47.54 -9.9081 -17.4088 15.822 -47.545 -10.2863 -17.9186 16.4978 -47.55 -10.6706 -18.4142 17.2234 -47.555 -11.0597 -18.8888 17.9999 -47.56 -11.452 -19.3356 18.8283 -47.565 -11.8461 -19.7478 19.7084 -47.57 -12.2401 -20.119 20.6393 -47.575 -12.632 -20.4428 21.6189 -47.58 -13.0195 -20.713 22.6442 -47.585 -13.4002 -20.9237 23.7114 -47.59 -13.7714 -21.0692 24.8155 -47.595 -14.1302 -21.1438 25.9506 -47.6 -14.4736 -21.1422 27.1101 -47.605 -14.7983 -21.0592 28.286 -47.61 -15.1007 -20.8896 29.4697 -47.615 -15.3773 -20.6282 30.6519 -47.62 -15.6266 -20.266 31.8252 -47.625 -15.8449 -19.807 32.9762 -47.63 -16.0286 -19.2583 34.091 -47.635 -16.1744 -18.6267 35.1571 -47.64 -16.2798 -17.9192 36.1637 -47.645 -16.3429 -17.1428 37.101 -47.65 -16.3621 -16.3046 37.9608 -47.655 -16.3366 -15.4117 38.7364 -47.66 -16.2661 -14.4712 39.4224 -47.665 -16.1509 -13.4902 40.0147 -47.67 -15.9919 -12.4759 40.5108 -47.675 -15.7905 -11.4355 40.9095 -47.68 -15.5488 -10.3762 41.2111 -47.685 -15.2692 -9.3057 41.4171 -47.69 -14.9516 -8.24399 41.5283 -47.695 -14.5979 -7.20599 41.548 -47.7 -14.2118 -6.19988 41.481 -47.705 -13.7968 -5.23276 41.3329 -47.71 -13.3564 -4.31075 41.1096 -47.715 -12.8941 -3.43891 40.8177 -47.72 -12.4134 -2.62127 40.464 -47.725 -11.9176 -1.86083 40.0561 -47.73 -11.4102 -1.15956 39.602 -47.735 -10.8945 -0.518416 39.11 -47.74 -10.3737 0.0627077 38.5892 -47.745 -9.85124 0.58493 38.0491 -47.75 -9.33027 1.0504 37.4996 -47.755 -8.81373 1.46266 36.9463 -47.76 -8.30364 1.82572 36.3875 -47.765 -7.80187 2.14272 35.8266 -47.77 -7.31011 2.41686 35.2666 -47.775 -6.82985 2.65133 34.7102 -47.78 -6.36238 2.84936 34.1598 -47.785 -5.90879 3.0142 33.6174 -47.79 -5.46998 3.14912 33.0844 -47.795 -5.04665 3.25743 32.5621 -47.8 -4.6393 3.34245 32.0513 -47.805 -4.24823 3.40753 31.5524 -47.81 -3.87355 3.45605 31.0654 -47.815 -3.51522 3.49089 30.5903 -47.82 -3.17314 3.5131 30.1273 -47.825 -2.84696 3.52444 29.6759 -47.83 -2.53632 3.52664 29.2359 -47.835 -2.24083 3.52133 28.8069 -47.84 -1.96005 3.51001 28.3887 -47.845 -1.69355 3.49404 27.9808 -47.85 -1.44084 3.47468 27.5828 -47.855 -1.20143 3.45307 27.1946 -47.86 -0.97479 3.43024 26.8156 -47.865 -0.760371 3.40706 26.4456 -47.87 -0.557595 3.38431 26.0842 -47.875 -0.36586 3.36266 25.731 -47.88 -0.184537 3.34263 25.3856 -47.885 -0.0129588 3.32464 25.0478 -47.89 0.149634 3.30915 24.7171 -47.895 0.303767 3.29654 24.3933 -47.9 0.44991 3.28711 24.0763 -47.905 0.588537 3.28117 23.7658 -47.91 0.720126 3.27898 23.4616 -47.915 0.84516 3.28076 23.1636 -47.92 0.964126 3.28675 22.8716 -47.925 1.07752 3.2971 22.5855 -47.93 1.18583 3.31198 22.3051 -47.935 1.28956 3.33151 22.0304 -47.94 1.38922 3.35579 21.761 -47.945 1.48531 3.38488 21.4971 -47.95 1.57835 3.41883 21.2384 -47.955 1.66886 3.45766 20.9849 -47.96 1.75725 3.50138 20.7365 -47.965 1.84376 3.55011 20.4933 -47.97 1.92863 3.60396 20.2553 -47.975 2.01212 3.66304 20.0225 -47.98 2.0945 3.72745 19.795 -47.985 2.17604 3.7973 19.5727 -47.99 2.25702 3.87266 19.3557 -47.995 2.33773 3.95364 19.144 -48 2.41845 4.0403 18.9378 -48.005 2.49949 4.13271 18.737 -48.01 2.58114 4.23095 18.5417 -48.015 2.66372 4.33508 18.3521 -48.02 2.74754 4.44515 18.1682 -48.025 2.83293 4.56122 17.9901 -48.03 2.9202 4.68331 17.8178 -48.035 3.00951 4.81156 17.6517 -48.04 3.10099 4.94618 17.4919 -48.045 3.19481 5.08736 17.3386 -48.05 3.2911 5.2353 17.192 -48.055 3.39004 5.39018 17.0523 -48.06 3.49181 5.55216 16.9199 -48.065 3.59658 5.72139 16.795 -48.07 3.70454 5.89801 16.6778 -48.075 3.8159 6.08213 16.5688 -48.08 3.93086 6.27388 16.4683 -48.085 4.04964 6.47334 16.3766 -48.09 4.17246 6.68061 16.2941 -48.095 4.29956 6.89574 16.2213 -48.1 4.43118 7.11881 16.1586 -48.105 4.56758 7.34984 16.1064 -48.11 4.709 7.58887 16.0652 -48.115 4.85548 7.83564 16.0354 -48.12 5.00707 8.09021 16.0176 -48.125 5.16396 8.35285 16.0126 -48.13 5.32631 8.62372 16.0212 -48.135 5.49424 8.90289 16.0441 -48.14 5.66788 9.19029 16.0822 -48.145 5.84731 9.4858 16.1363 -48.15 6.03261 9.78914 16.207 -48.155 6.22381 10.1 16.2954 -48.16 6.42095 10.4178 16.4022 -48.165 6.62401 10.7421 16.5282 -48.17 6.83298 11.0721 16.6743 -48.175 7.04782 11.4071 16.8413 -48.18 7.26845 11.7463 17.0301 -48.185 7.49478 12.0886 17.2417 -48.19 7.7267 12.4329 17.4767 -48.195 7.96408 12.778 17.7363 -48.2 8.20675 13.1226 18.0212 -48.205 8.45454 13.4654 18.3323 -48.21 8.70719 13.805 18.6705 -48.215 8.96393 14.1407 19.0354 -48.22 9.22421 14.4701 19.4277 -48.225 9.48749 14.7904 19.8484 -48.23 9.75315 15.0989 20.2979 -48.235 10.0205 15.3926 20.7765 -48.24 10.2887 15.6689 21.2838 -48.245 10.5569 15.925 21.8195 -48.25 10.8241 16.1584 22.3826 -48.255 11.0893 16.3664 22.9719 -48.26 11.3513 16.5464 23.5859 -48.265 11.6088 16.696 24.2225 -48.27 11.8605 16.8125 24.8796 -48.275 12.105 16.8937 25.5544 -48.28 12.3408 16.937 26.2441 -48.285 12.5663 16.94 26.9452 -48.29 12.7797 16.9005 27.6541 -48.295 12.9793 16.8162 28.3669 -48.3 13.1638 16.6834 29.0799 -48.305 13.3325 16.4974 29.7904 -48.31 13.4837 16.2613 30.4917 -48.315 13.6155 15.9788 31.1776 -48.32 13.7263 15.6531 31.8423 -48.325 13.8148 15.2877 32.4803 -48.33 13.8798 14.8858 33.087 -48.335 13.9205 14.4506 33.6583 -48.34 13.9363 13.985 34.1905 -48.345 13.9269 13.4921 34.6804 -48.35 13.892 12.9746 35.1257 -48.355 13.8319 12.4353 35.5242 -48.36 13.7468 11.8769 35.8746 -48.365 13.6374 11.302 36.1759 -48.37 13.5046 10.7129 36.4279 -48.375 13.3493 10.1121 36.6307 -48.38 13.1731 9.5018 36.785 -48.385 12.9774 8.88415 36.8922 -48.39 12.7622 8.2672 36.9526 -48.395 12.5273 7.66163 36.9656 -48.4 12.2746 7.07084 36.9329 -48.405 12.006 6.49787 36.8564 -48.41 11.7232 5.9454 36.738 -48.415 11.4281 5.4158 36.5801 -48.42 11.1225 4.91107 36.385 -48.425 10.8081 4.43291 36.1557 -48.43 10.4865 3.98266 35.8949 -48.435 10.1595 3.5613 35.6058 -48.44 9.82848 3.16951 35.2919 -48.445 9.49515 2.80762 34.9567 -48.45 9.16099 2.4756 34.604 -48.455 8.82748 2.17311 34.238 -48.46 8.49605 1.89945 33.8629 -48.465 8.1681 1.6536 33.4832 -48.47 7.84496 1.4339 33.101 -48.475 7.52766 1.23832 32.7138 -48.48 7.21694 1.06558 32.3229 -48.485 6.91348 0.914425 31.9297 -48.49 6.61787 0.78358 31.5353 -48.495 6.33066 0.671773 31.1409 -48.5 6.05232 0.577729 30.7473 -48.505 5.78326 0.500166 30.3555 -48.51 5.5238 0.4378 29.9662 -48.515 5.27421 0.389341 29.58 -48.52 5.0347 0.353497 29.1975 -48.525 4.8054 0.32897 28.819 -48.53 4.58638 0.314458 28.4448 -48.535 4.37763 0.308658 28.0751 -48.54 4.17908 0.310258 27.7099 -48.545 3.99057 0.318306 27.3493 -48.55 3.81182 0.332761 26.9934 -48.555 3.64263 0.352996 26.6423 -48.56 3.48278 0.378381 26.2959 -48.565 3.33204 0.408337 25.9543 -48.57 3.19019 0.442331 25.6174 -48.575 3.057 0.479877 25.2851 -48.58 2.93222 0.520535 24.9576 -48.585 2.81559 0.563914 24.6347 -48.59 2.70686 0.60967 24.3164 -48.595 2.60577 0.657505 24.0026 -48.6 2.51202 0.707169 23.6933 -48.605 2.42535 0.75846 23.3885 -48.61 2.34546 0.81122 23.088 -48.615 2.27206 0.865343 22.7919 -48.62 2.20483 0.920764 22.4999 -48.625 2.14344 0.977427 22.2122 -48.63 2.08771 1.03524 21.9285 -48.635 2.03748 1.09415 21.649 -48.64 1.99259 1.15409 21.3735 -48.645 1.95286 1.21504 21.102 -48.65 1.91815 1.277 20.8345 -48.655 1.88829 1.33999 20.571 -48.66 1.8631 1.40403 20.3113 -48.665 1.84243 1.46918 20.0555 -48.67 1.8261 1.53552 19.8036 -48.675 1.81394 1.60315 19.5556 -48.68 1.80577 1.67219 19.3113 -48.685 1.80143 1.74278 19.0709 -48.69 1.80073 1.81507 18.8342 -48.695 1.8035 1.88926 18.6013 -48.7 1.80958 1.96552 18.3723 -48.705 1.819 2.04392 18.147 -48.71 1.83178 2.12456 17.9256 -48.715 1.84788 2.20756 17.708 -48.72 1.86731 2.29304 17.4942 -48.725 1.89005 2.38115 17.2843 -48.73 1.9161 2.47205 17.0783 -48.735 1.94545 2.5659 16.8763 -48.74 1.97809 2.66289 16.6782 -48.745 2.01402 2.76321 16.4842 -48.75 2.05326 2.86705 16.2943 -48.755 2.09579 2.97465 16.1086 -48.76 2.14162 3.08622 15.9271 -48.765 2.19077 3.20201 15.7499 -48.77 2.24323 3.32226 15.5773 -48.775 2.29904 3.44725 15.4091 -48.78 2.35822 3.57722 15.2457 -48.785 2.42093 3.71229 15.0871 -48.79 2.48728 3.85272 14.9335 -48.795 2.55738 3.99878 14.7851 -48.8 2.63133 4.15075 14.6419 -48.805 2.70924 4.30889 14.5041 -48.81 2.79124 4.47348 14.372 -48.815 2.87744 4.64478 14.2458 -48.82 2.96799 4.82308 14.1257 -48.825 3.06301 5.00865 14.0121 -48.83 3.16265 5.20176 13.9052 -48.835 3.26705 5.40268 13.8055 -48.84 3.37637 5.6117 13.7134 -48.845 3.49076 5.82909 13.6291 -48.85 3.61039 6.05513 13.5533 -48.855 3.73542 6.2901 13.4863 -48.86 3.86603 6.53427 13.4288 -48.865 4.0024 6.78792 13.3811 -48.87 4.14471 7.05134 13.3439 -48.875 4.29314 7.32472 13.3178 -48.88 4.44765 7.60717 13.3033 -48.885 4.60852 7.89903 13.3011 -48.89 4.77605 8.20103 13.3123 -48.895 4.95053 8.51371 13.3377 -48.9 5.13223 8.83746 13.3783 -48.905 5.32136 9.17251 13.435 -48.91 5.5181 9.51895 13.5091 -48.915 5.72261 9.87669 13.6014 -48.92 5.93499 10.2455 13.7133 -48.925 6.15532 10.6249 13.8457 -48.93 6.38366 11.0145 13.9999 -48.935 6.62 11.4135 14.1771 -48.94 6.86433 11.8209 14.3785 -48.945 7.11658 12.2359 14.6056 -48.95 7.37666 12.6571 14.8595 -48.955 7.64444 13.0833 15.1417 -48.96 7.91974 13.513 15.4535 -48.965 8.20238 13.9444 15.7965 -48.97 8.49211 14.3758 16.1721 -48.975 8.78867 14.8052 16.5817 -48.98 9.09175 15.2304 17.027 -48.985 9.40101 15.6492 17.5096 -48.99 9.71581 16.0597 18.03 -48.995 10.0349 16.4597 18.5873 -49 10.3574 16.8444 19.1827 -49.005 10.6822 17.2091 19.8165 -49.01 11.0083 17.5494 20.4888 -49.015 11.3344 17.8608 21.199 -49.02 11.659 18.139 21.9457 -49.025 11.9806 18.38 22.7271 -49.03 12.2976 18.5797 23.5408 -49.035 12.6081 18.7344 24.3838 -49.04 12.9101 18.8404 25.2525 -49.045 13.2017 18.8941 26.1427 -49.05 13.4806 18.8921 27.0495 -49.055 13.7445 18.8312 27.9676 -49.06 13.9909 18.7084 28.891 -49.065 14.2172 18.5206 29.813 -49.07 14.4216 18.2618 30.7282 -49.075 14.6029 17.9289 31.6298 -49.08 14.7585 17.5282 32.5085 -49.085 14.886 17.0656 33.3553 -49.09 14.9834 16.5472 34.1626 -49.095 15.0491 15.9786 34.9232 -49.1 15.0821 15.3652 35.6312 -49.105 15.0814 14.7122 36.2814 -49.11 15.0467 14.0246 36.8694 -49.115 14.9779 13.3071 37.3921 -49.12 14.8754 12.5642 37.8468 -49.125 14.74 11.8003 38.2321 -49.13 14.5727 11.0193 38.5471 -49.135 14.3751 10.2252 38.7923 -49.14 14.149 9.42146 38.9687 -49.145 13.8968 8.61151 39.0782 -49.15 13.6188 7.80683 39.1227 -49.155 13.3151 7.02202 39.1035 -49.16 12.9885 6.26199 39.0236 -49.165 12.6417 5.53104 38.8863 -49.17 12.2773 4.83286 38.6952 -49.175 11.8979 4.17056 38.4542 -49.18 11.5059 3.54664 38.1674 -49.185 11.1038 2.96301 37.8395 -49.19 10.694 2.42099 37.4752 -49.195 10.2786 1.92131 37.0799 -49.2 9.86006 1.46409 36.6588 -49.205 9.44038 1.04885 36.2179 -49.21 9.02168 0.674543 35.7633 -49.215 8.606 0.339499 35.3014 -49.22 8.19529 0.0414626 34.8387 -49.225 7.79117 -0.222275 34.3738 -49.23 7.39482 -0.453984 33.9061 -49.235 7.00724 -0.655774 33.4374 -49.24 6.62934 -0.829741 32.9694 -49.245 6.26191 -0.977958 32.5036 -49.25 5.90564 -1.10249 32.0413 -49.255 5.5611 -1.20537 31.5837 -49.26 5.22875 -1.28863 31.1316 -49.265 4.90894 -1.35427 30.6857 -49.27 4.60192 -1.40429 30.2467 -49.275 4.30782 -1.44065 29.8147 -49.28 4.02666 -1.46532 29.39 -49.285 3.75835 -1.48023 28.9725 -49.29 3.50269 -1.48681 28.562 -49.295 3.25942 -1.48562 28.1589 -49.3 3.02823 -1.47776 27.7629 -49.305 2.8088 -1.46421 27.3739 -49.31 2.60082 -1.44593 26.9918 -49.315 2.40393 -1.42376 26.6164 -49.32 2.21777 -1.3985 26.2476 -49.325 2.04198 -1.37088 25.8852 -49.33 1.87617 -1.34153 25.529 -49.335 1.71994 -1.31103 25.1789 -49.34 1.57288 -1.27988 24.8348 -49.345 1.43456 -1.24852 24.4964 -49.35 1.30455 -1.2173 24.1636 -49.355 1.18238 -1.1865 23.8361 -49.36 1.06759 -1.15635 23.5139 -49.365 0.959729 -1.12709 23.1967 -49.37 0.858463 -1.09895 22.8844 -49.375 0.763458 -1.0721 22.5769 -49.38 0.674384 -1.0467 22.2741 -49.385 0.59091 -1.02287 21.9758 -49.39 0.512704 -1.00075 21.682 -49.395 0.439437 -0.980411 21.3925 -49.4 0.370778 -0.961929 21.1073 -49.405 0.306394 -0.945349 20.8261 -49.41 0.245956 -0.930696 20.5491 -49.415 0.189133 -0.91797 20.276 -49.42 0.135593 -0.907152 20.0067 -49.425 0.0850093 -0.898202 19.7412 -49.43 0.0371553 -0.891134 19.4795 -49.435 -0.00813245 -0.88599 19.2214 -49.44 -0.0510285 -0.882792 18.9669 -49.445 -0.0917086 -0.881559 18.716 -49.45 -0.130349 -0.882304 18.4686 -49.455 -0.167129 -0.885034 18.2247 -49.46 -0.202225 -0.88975 17.9841 -49.465 -0.235819 -0.896447 17.7469 -49.47 -0.268092 -0.905117 17.513 -49.475 -0.299224 -0.915744 17.2824 -49.48 -0.3294 -0.928305 17.055 -49.485 -0.358803 -0.942776 16.8307 -49.49 -0.387619 -0.959123 16.6096 -49.495 -0.415983 -0.977355 16.3915 -49.5 -0.443964 -0.997528 16.1765 -49.505 -0.47164 -1.01969 15.9645 -49.51 -0.499097 -1.04389 15.7556 -49.515 -0.526422 -1.07016 15.5496 -49.52 -0.553706 -1.09857 15.3465 -49.525 -0.581046 -1.12916 15.1464 -49.53 -0.608543 -1.16197 14.9492 -49.535 -0.6363 -1.19706 14.7548 -49.54 -0.664426 -1.23447 14.5633 -49.545 -0.693034 -1.27426 14.3747 -49.55 -0.72224 -1.31646 14.1889 -49.555 -0.752166 -1.36114 14.0059 -49.56 -0.782936 -1.40834 13.8257 -49.565 -0.81467 -1.45813 13.6482 -49.57 -0.84743 -1.51063 13.4736 -49.575 -0.88127 -1.56597 13.3017 -49.58 -0.916252 -1.62429 13.1327 -49.585 -0.952443 -1.68571 12.9664 -49.59 -0.989921 -1.75039 12.803 -49.595 -1.02877 -1.81846 12.6423 -49.6 -1.06908 -1.89008 12.4845 -49.605 -1.11095 -1.9654 12.3296 -49.61 -1.1545 -2.04459 12.1775 -49.615 -1.19982 -2.12781 12.0284 -49.62 -1.24706 -2.21523 11.8823 -49.625 -1.29633 -2.30704 11.7392 -49.63 -1.34778 -2.4034 11.5992 -49.635 -1.40154 -2.5045 11.4624 -49.64 -1.45778 -2.61055 11.3287 -49.645 -1.51666 -2.72172 11.1984 -49.65 -1.57834 -2.83822 11.0715 -49.655 -1.64295 -2.96031 10.9482 -49.66 -1.71059 -3.08831 10.8286 -49.665 -1.78137 -3.22257 10.7127 -49.67 -1.85543 -3.3634 10.6006 -49.675 -1.9329 -3.51115 10.4926 -49.68 -2.01393 -3.66617 10.3887 -49.685 -2.0987 -3.8288 10.2893 -49.69 -2.18739 -3.99939 10.1945 -49.695 -2.28018 -4.17831 10.1045 -49.7 -2.3773 -4.36592 10.0199 -49.705 -2.47895 -4.56257 9.94071 -49.71 -2.58536 -4.76864 9.86749 -49.715 -2.6968 -4.98451 9.80059 -49.72 -2.81352 -5.21056 9.74044 -49.725 -2.93579 -5.44716 9.6875 -49.73 -3.0639 -5.69471 9.64226 -49.735 -3.19815 -5.9536 9.60524 -49.74 -3.33885 -6.22423 9.57701 -49.745 -3.48634 -6.507 9.55814 -49.75 -3.64074 -6.80149 9.54948 -49.755 -3.80205 -7.10697 9.55212 -49.76 -3.97073 -7.4248 9.56676 -49.765 -4.1472 -7.75618 9.5942 -49.77 -4.33186 -8.10212 9.63533 -49.775 -4.5251 -8.46344 9.69116 -49.78 -4.72724 -8.84073 9.76281 -49.785 -4.9386 -9.23441 9.85151 -49.79 -5.15945 -9.64468 9.95857 -49.795 -5.39006 -10.0716 10.0854 -49.8 -5.63063 -10.5149 10.2337 -49.805 -5.88135 -10.9742 10.4049 -49.81 -6.14239 -11.4489 10.6009 -49.815 -6.41386 -11.9383 10.8235 -49.82 -6.69586 -12.4413 11.0747 -49.825 -6.98847 -12.9567 11.3566 -49.83 -7.29171 -13.4833 11.6714 -49.835 -7.6056 -14.0192 12.0214 -49.84 -7.93009 -14.5629 12.4089 -49.845 -8.26515 -15.1122 12.8365 -49.85 -8.61067 -15.665 13.3068 -49.855 -8.96655 -16.2189 13.8226 -49.86 -9.33263 -16.7713 14.3866 -49.865 -9.70863 -17.3194 15.0014 -49.87 -10.0929 -17.8607 15.666 -49.875 -10.4842 -18.3891 16.3822 -49.88 -10.8815 -18.8986 17.1521 -49.885 -11.2837 -19.3826 17.9771 -49.89 -11.6892 -19.8348 18.8574 -49.895 -12.0963 -20.2489 19.7922 -49.9 -12.5029 -20.6183 20.78 -49.905 -12.9069 -20.9368 21.8181 -49.91 -13.3057 -21.1979 22.9028 -49.915 -13.6966 -21.3951 24.0297 -49.92 -14.0766 -21.5221 25.1931 -49.925 -14.4424 -21.5722 26.3867 -49.93 -14.7907 -21.5392 27.6028 -49.935 -15.1177 -21.4163 28.8331 -49.94 -15.4207 -21.1968 30.0702 -49.945 -15.697 -20.8778 31.3034 -49.95 -15.9423 -20.4611 32.5179 -49.955 -16.1527 -19.9492 33.7 -49.96 -16.3249 -19.3456 34.8373 -49.965 -16.4562 -18.6546 35.9183 -49.97 -16.5444 -17.8813 36.9327 -49.975 -16.5877 -17.0318 37.8714 -49.98 -16.585 -16.113 38.7266 -49.985 -16.5356 -15.1326 39.4912 -49.99 -16.4396 -14.0995 40.1596 -49.995 -16.2973 -13.0231 40.7272 -50 -16.1097 -11.9137 41.1906 diff --git a/tools/visualizers/real_function_visualizer/MML_RealFunctionVisualizer.dll b/tools/visualizers/real_function_visualizer/MML_RealFunctionVisualizer.dll index cda5df8..1c58b21 100644 Binary files a/tools/visualizers/real_function_visualizer/MML_RealFunctionVisualizer.dll and b/tools/visualizers/real_function_visualizer/MML_RealFunctionVisualizer.dll differ diff --git a/tools/visualizers/real_function_visualizer/MML_RealFunctionVisualizer.exe b/tools/visualizers/real_function_visualizer/MML_RealFunctionVisualizer.exe index b9a85d9..d65710b 100644 Binary files a/tools/visualizers/real_function_visualizer/MML_RealFunctionVisualizer.exe and b/tools/visualizers/real_function_visualizer/MML_RealFunctionVisualizer.exe differ diff --git a/tools/visualizers/real_function_visualizer/WPF3DHelperLib.dll b/tools/visualizers/real_function_visualizer/WPF3DHelperLib.dll index 2cbbda2..7527c62 100644 Binary files a/tools/visualizers/real_function_visualizer/WPF3DHelperLib.dll and b/tools/visualizers/real_function_visualizer/WPF3DHelperLib.dll differ diff --git a/tools/visualizers/real_function_visualizer/func_sin_x_lin_interp.txt b/tools/visualizers/real_function_visualizer/func_sin_x_lin_interp.txt deleted file mode 100644 index ade6a9c..0000000 --- a/tools/visualizers/real_function_visualizer/func_sin_x_lin_interp.txt +++ /dev/null @@ -1,104 +0,0 @@ -REAL_FUNCTION_EQUALLY_SPACED_DETAILED -x1: 0 -x2: 6.28319 -NumPoints: 100 -0 0 -0.0634665 0.0771391 -0.126933 0.151097 -0.1904 0.221874 -0.253866 0.28947 -0.317333 0.353885 -0.380799 0.41512 -0.444266 0.473173 -0.507732 0.528045 -0.571199 0.579736 -0.634665 0.628246 -0.698132 0.673575 -0.761598 0.715723 -0.825065 0.754691 -0.888531 0.790477 -0.951998 0.823082 -1.01546 0.852506 -1.07893 0.878749 -1.1424 0.901812 -1.20586 0.921693 -1.26933 0.938393 -1.3328 0.951912 -1.39626 0.96225 -1.45973 0.969408 -1.5232 0.973384 -1.58666 0.974179 -1.65013 0.971793 -1.7136 0.966227 -1.77706 0.957479 -1.84053 0.94555 -1.904 0.930441 -1.96746 0.91215 -2.03093 0.890678 -2.0944 0.866025 -2.15786 0.813539 -2.22133 0.761053 -2.28479 0.708566 -2.34826 0.65608 -2.41173 0.603593 -2.47519 0.551107 -2.53866 0.498621 -2.60213 0.446134 -2.66559 0.393648 -2.72906 0.341162 -2.79253 0.288675 -2.85599 0.236189 -2.91946 0.183702 -2.98293 0.131216 -3.04639 0.0787296 -3.10986 0.0262432 -3.17333 -0.0389672 -3.23679 -0.114516 -3.30026 -0.186883 -3.36373 -0.25607 -3.42719 -0.322076 -3.49066 -0.3849 -3.55413 -0.444544 -3.61759 -0.501006 -3.68106 -0.554288 -3.74452 -0.604389 -3.80799 -0.651308 -3.87146 -0.695047 -3.93492 -0.735605 -3.99839 -0.772981 -4.06186 -0.807177 -4.12532 -0.838192 -4.18879 -0.866025 -4.25226 -0.890678 -4.31572 -0.91215 -4.37919 -0.930441 -4.44266 -0.94555 -4.50612 -0.957479 -4.56959 -0.966227 -4.63306 -0.971793 -4.69652 -0.974179 -4.75999 -0.973384 -4.82346 -0.969408 -4.88692 -0.96225 -4.95039 -0.951912 -5.01385 -0.938393 -5.07732 -0.921693 -5.14079 -0.901812 -5.20425 -0.878749 -5.26772 -0.852506 -5.33119 -0.823082 -5.39465 -0.790477 -5.45812 -0.754691 -5.52159 -0.715723 -5.58505 -0.673575 -5.64852 -0.628246 -5.71199 -0.579736 -5.77545 -0.528045 -5.83892 -0.473173 -5.90239 -0.41512 -5.96585 -0.353885 -6.02932 -0.28947 -6.09279 -0.221874 -6.15625 -0.151097 -6.21972 -0.0771391 -6.28319 -2.44929e-16 diff --git a/tools/visualizers/real_function_visualizer/multi_func_3.txt b/tools/visualizers/real_function_visualizer/multi_func_3.txt deleted file mode 100644 index f7b60ed..0000000 --- a/tools/visualizers/real_function_visualizer/multi_func_3.txt +++ /dev/null @@ -1,507 +0,0 @@ -MULTI_REAL_FUNCTION_VARIABLE_SPACED -Three components of solution to Lorenz system -3 -501 -0 -100 -0 2 1 1 -0.2 9.812 19.7368 8.78173 -0.4 9.46104 -6.41727 41.0442 -0.6 -5.81377 -8.08503 25.6527 -0.8 -9.13512 -10.4011 26.3891 -1 -8.98051 -7.64699 29.2718 -1.2 -7.06978 -7.10173 25.2595 -1.4 -8.98888 -10.3438 25.7746 -1.6 -9.29032 -7.99797 29.5592 -1.8 -6.99593 -6.76095 25.5566 -2 -8.68505 -10.1816 25.1528 -2.2 -9.61714 -8.4956 29.7492 -2.4 -6.9756 -6.44281 25.9586 -2.6 -8.32625 -9.91043 24.5531 -2.8 -9.92313 -9.12314 29.78 -3 -7.07808 -6.16594 26.5505 -3.2 -7.90122 -9.43345 24.0412 -3.4 -10.1662 -9.79092 29.5485 -3.6 -7.22249 -5.95878 27.195 -3.8 -7.48367 -8.90506 23.6426 -4 -10.3067 -10.4854 29.072 -4.2 -7.4968 -5.85041 27.9646 -4.4 -7.05953 -8.27464 23.4076 -4.6 -10.2981 -11.1076 28.2765 -4.8 -7.91137 -5.90697 28.8405 -5 -6.6581 -7.57253 23.3823 -5.2 -10.0907 -11.5426 27.1446 -5.4 -8.48457 -6.21696 29.7843 -5.6 -6.31789 -6.82572 23.6231 -5.8 -9.64021 -11.6468 25.7478 -6 -9.20815 -6.89446 30.6728 -6.2 -6.0908 -6.08727 24.1771 -6.4 -8.95926 -11.2969 24.2594 -6.6 -9.99807 -8.01253 31.2802 -6.8 -6.04189 -5.41378 25.0713 -7 -8.10765 -10.4689 22.9407 -7.2 -10.7215 -9.39813 31.3468 -7.4 -6.16913 -4.85885 26.1512 -7.6 -7.23922 -9.3996 21.9972 -7.8 -11.1858 -10.9833 30.6648 -8 -6.58079 -4.48668 27.582 -8.2 -6.3639 -8.07818 21.4997 -8.4 -11.1829 -12.4993 28.8607 -8.6 -7.39587 -4.42774 29.3709 -8.8 -5.55907 -6.66043 21.5796 -9 -10.4926 -13.191 25.9962 -9.2 -8.72116 -5.08454 31.3918 -9.4 -4.9656 -5.25443 22.3477 -9.6 -9.08715 -12.4762 22.7014 -9.8 -10.4895 -7.07495 33.1806 -10 -4.72486 -3.95385 23.9201 -10.2 -7.2312 -10.322 20.0567 -10.4 -12.1185 -10.8113 33.1111 -10.6 -5.15855 -2.8995 26.48 -10.8 -5.31555 -7.4177 18.9407 -11 -12.1147 -14.6348 28.7021 -11.2 -6.95285 -2.62797 30.351 -11.4 -3.7981 -4.56431 19.7949 -11.6 -9.26838 -13.8124 20.8641 -11.8 -10.827 -5.69451 35.1558 -12 -3.1795 -2.15617 22.8666 -12.2 -5.06496 -7.95596 16.1808 -12.4 -13.6168 -15.7166 31.5076 -12.6 -5.14955 -0.458488 29.3371 -12.8 -1.95442 -2.39397 17.6231 -13 -6.13403 -10.5388 14.036 -13.2 -14.6837 -11.8404 37.9439 -13.4 -2.18648 1.24945 26.0341 -13.6 0.37096 0.80167 15.2142 -13.8 2.02537 3.77298 9.30568 -14 11.5393 19.9865 17.8579 -14.2 8.02051 -2.89938 36.7513 -14.4 -2.63753 -4.6024 21.1947 -14.6 -8.04974 -12.2872 19.367 -14.8 -12.0342 -8.23863 35.4525 -15 -3.62519 -1.90873 24.4097 -15.2 -4.50179 -6.85299 16.5781 -15.4 -12.8475 -16.5509 28.3264 -15.6 -6.40536 -0.916738 31.0991 -15.8 -2.02986 -2.20528 18.7181 -16 -5.59477 -9.49877 14.1006 -16.2 -14.8042 -13.9703 36.3624 -16.4 -2.89125 1.07198 27.0387 -16.6 -0.0576632 0.184807 15.773 -16.8 0.246793 0.465707 9.25857 -17 1.62167 3.23389 5.66153 -17.2 11.5734 21.2753 15.2456 -17.4 7.61062 -5.1383 37.5487 -17.6 -4.40236 -6.6599 22.7732 -17.8 -9.6711 -12.6556 24.5066 -18 -9.66125 -6.43704 32.1376 -18.2 -5.1423 -4.8841 23.5186 -18.4 -8.30435 -11.3997 21.9203 -18.6 -11.1001 -8.70649 32.937 -18.8 -5.1935 -3.87473 25.2182 -19 -6.71871 -9.35705 20.1858 -19.2 -12.0618 -11.9342 31.7205 -19.4 -5.95353 -3.19489 27.7654 -19.6 -5.21272 -6.9244 19.7466 -19.8 -11.4861 -14.4093 27.2036 -20 -7.75946 -3.39063 31.1441 -20.2 -4.0645 -4.6059 20.7031 -20.4 -9.0141 -13.2163 21.0575 -20.6 -10.986 -6.51518 34.766 -20.8 -3.66642 -2.60154 23.3802 -21 -5.65784 -8.65193 17.2384 -21.2 -13.3369 -14.237 32.4041 -21.4 -5.12872 -1.17099 28.4826 -21.6 -2.92361 -3.88314 17.7408 -21.8 -8.91821 -14.2458 18.5166 -22 -11.5396 -5.17479 36.9581 -22.2 -1.96578 -0.472471 22.718 -22.4 -2.1496 -3.47655 13.8106 -22.6 -9.31845 -15.9236 16.4466 -22.8 -11.1954 -2.29306 38.5525 -23 0.10712 1.92988 22.0717 -23.2 2.78142 4.72764 13.7126 -23.4 11.5961 18.3151 21.4109 -23.6 8.20315 -0.277173 35.1848 -23.8 -0.219904 -1.40223 20.1139 -24 -2.34069 -4.0948 12.3322 -24.2 -11.0302 -18.3786 18.9328 -24.4 -8.91687 0.622024 36.5701 -24.6 0.954355 2.52882 20.7576 -24.8 4.52153 7.62099 14.2277 -25 14.3536 17.1927 31.8323 -25.2 4.45117 -0.915657 29.5535 -25.4 0.330331 0.0292207 17.1885 -25.6 0.480853 0.862006 10.1056 -25.8 2.92842 5.73551 6.69944 -26 16.2014 23.2513 29.9315 -26.2 2.42287 -5.67466 31.2206 -26.4 -4.87182 -7.10403 20.6119 -26.6 -11.068 -13.9673 26.6704 -26.8 -8.20961 -4.11404 31.3893 -27 -4.42638 -4.85379 21.4087 -27.2 -9.04132 -12.9225 21.7328 -27.4 -10.7847 -6.71339 34.1124 -27.6 -4.08891 -3.15333 23.5663 -27.8 -6.36787 -9.50549 18.3674 -28 -12.9174 -12.6059 33.1471 -28.2 -4.97949 -1.85358 27.4164 -28.4 -3.91474 -5.43157 17.9361 -28.6 -10.983 -15.7966 23.5268 -28.8 -8.82847 -2.74401 33.8402 -29 -2.44177 -2.0605 20.7915 -29.2 -5.11456 -8.41724 14.8936 -29.4 -14.34 -15.6273 33.4979 -29.6 -4.1258 0.459544 28.5227 -29.8 -0.936809 -1.02788 16.7429 -30 -3.01208 -5.44815 10.6874 -30.2 -14.0085 -20.8997 25.8912 -30.4 -5.17202 3.02511 32.576 -30.6 2.10727 3.64467 19.0514 -30.8 7.44691 12.1556 16.8068 -31 13.1112 8.6332 37.2896 -31.2 2.51814 0.22016 24.5151 -31.4 1.84731 2.82376 14.7421 -31.6 7.62797 13.3642 14.2054 -31.8 13.4312 6.29168 39.9438 -32 0.515553 -1.95935 23.7538 -32.2 -2.21769 -3.7398 14.4014 -32.4 -9.51332 -16.0078 17.2306 -32.6 -10.9347 -2.32826 38.0278 -32.8 -0.181311 1.49464 21.8763 -33 1.96278 3.38318 13.2031 -33.2 9.19915 15.9556 15.7851 -33.4 11.3492 2.03945 38.9074 -33.6 -0.416471 -2.35016 22.1521 -33.8 -3.58043 -6.00094 14.2824 -34 -13.0656 -18.471 26.3494 -34.2 -6.38029 0.567812 32.4098 -34.4 -0.306504 0.323393 18.7355 -34.6 0.168266 0.325146 10.9918 -34.8 1.03817 2.03994 6.54418 -35 7.55668 14.8166 8.84425 -35.2 13.7888 1.59434 43.6788 -35.4 -3.06466 -6.00367 24.5141 -35.6 -8.0994 -11.2199 22.0168 -35.8 -11.1175 -9.00552 32.6835 -36 -5.35887 -3.98695 25.4505 -36.2 -6.75196 -9.30128 20.4287 -36.4 -11.9418 -11.9013 31.4836 -36.6 -6.04929 -3.35344 27.7725 -36.8 -5.35714 -7.08139 19.9659 -37 -11.476 -14.1793 27.4856 -37.2 -7.69652 -3.51711 30.897 -37.4 -4.25968 -4.88507 20.7787 -37.6 -9.30851 -13.4004 21.799 -37.8 -10.5896 -6.11007 34.328 -38 -3.78752 -2.93525 23.1424 -38.2 -6.16856 -9.37243 17.77 -38.4 -13.1844 -12.9794 33.3601 -38.6 -4.82015 -1.46337 27.5466 -38.8 -3.44062 -4.7646 17.5771 -39 -10.2953 -15.5855 21.4065 -39.2 -9.76192 -3.19069 35.2085 -39.4 -2.04364 -1.22738 21.3843 -39.6 -3.51595 -5.83108 13.8213 -39.8 -13.1277 -18.7648 26.0961 -40 -6.29203 0.880645 32.5236 -40.2 0.0136476 0.775256 18.7399 -40.4 1.25833 2.26084 11.143 -40.6 7.01766 13.1014 11.0249 -40.8 14.5238 6.07824 42.2838 -41 -0.957426 -3.95658 24.3483 -41.2 -5.40737 -8.43684 17.395 -41.4 -13.2049 -14.6166 31.6878 -41.6 -5.38334 -1.26128 28.8979 -41.8 -2.9239 -3.81364 18.0031 -42 -8.72325 -13.9371 18.3414 -42.2 -11.7272 -5.63704 37.0348 -42.4 -2.07298 -0.491897 22.9934 -42.6 -2.2017 -3.53565 13.999 -42.8 -9.38412 -15.9633 16.692 -43 -11.1049 -2.2348 38.2877 -43.2 0.00337816 1.76256 21.9406 -43.4 2.48335 4.24242 13.4742 -43.6 10.8486 17.7619 19.4069 -43.8 9.15049 0.180954 36.357 -44 -0.320091 -1.7219 20.7185 -44.2 -2.83525 -4.89594 12.9438 -44.4 -12.1916 -19.0234 22.3931 -44.6 -7.44592 1.0601 34.4985 -44.8 0.628329 1.835 19.7106 -45 3.43892 5.97838 12.7238 -45.2 13.7375 19.4666 27.0683 -45.4 5.5387 -1.71579 32.0103 -45.6 -0.73738 -1.72189 18.4448 -45.8 -3.59852 -6.35172 12.0758 -46 -14.4211 -19.6636 28.967 -46.2 -4.67653 2.24773 31.1878 -46.4 1.25514 2.38798 18.1022 -46.6 5.24625 9.1043 13.3066 -46.8 15.1278 14.9643 36.2009 -47 2.75423 -1.57344 27.4148 -47.2 -0.623712 -1.25553 16.0012 -47.4 -3.0947 -5.67202 10.2866 -47.6 -14.4736 -21.1422 27.1101 -47.8 -4.6393 3.34245 32.0513 -48 2.41845 4.0403 18.9378 -48.2 8.20675 13.1226 18.0212 -48.4 12.2746 7.07084 36.9329 -48.6 2.51202 0.707169 23.6933 -48.8 2.63133 4.15075 14.6419 -49 10.3574 16.8444 19.1827 -49.2 9.86006 1.46409 36.6588 -49.4 0.370778 -0.961929 21.1073 -49.6 -1.06908 -1.89008 12.4845 -49.8 -5.63063 -10.5149 10.2337 -50 -16.1166 -12.0375 41.1478 -50.2 -0.180845 3.73594 25.9692 -50.4 4.28334 6.72512 17.1288 -50.6 12.4292 16.3554 27.3502 -50.8 6.96107 1.40064 31.5615 -51 2.33687 2.50412 19.2124 -51.2 6.12852 10.2238 15.0624 -51.4 14.3292 12.4201 36.6941 -51.6 2.88505 -0.520301 26.3276 -51.8 0.810223 1.0346 15.4687 -52 3.05944 5.62443 9.95083 -52.2 14.5714 21.3678 27.124 -52.4 4.51711 -3.55407 32.1176 -52.6 -2.6426 -4.33748 19.0935 -52.8 -8.63909 -13.5584 18.9453 -53 -11.7073 -6.26903 36.4504 -53.2 -2.61434 -1.11143 23.2394 -53.4 -3.31988 -5.2855 14.8124 -53.6 -12.0432 -17.9636 23.6404 -53.8 -7.65686 -0.193877 33.9065 -54 -0.565821 0.197715 19.6264 -54.2 -0.290574 -0.477107 11.5201 -54.4 -1.57509 -3.05989 6.98364 -54.6 -10.6105 -19.5747 14.1812 -54.8 -9.08639 3.51044 38.7547 -55 3.59433 5.87688 22.5862 -55.2 9.00027 12.5526 22.5009 -55.4 10.5769 7.06207 33.3646 -55.6 4.61651 3.79683 23.8954 -55.8 7.05506 10.1663 19.7345 -56 12.2764 11.0856 33.1367 -56.2 5.14446 2.70044 26.7096 -56.4 5.03256 7.0272 18.7368 -56.6 12.0014 15.0419 27.8543 -56.8 7.21006 2.52564 30.99 -57 3.48967 4.0344 19.8828 -57.2 8.53155 13.0996 19.3888 -57.4 11.7054 6.89881 35.9339 -57.6 3.07293 1.57458 23.6257 -57.8 4.06631 6.36573 15.6568 -58 12.8796 17.4568 27.2084 -58.2 6.5182 0.316943 31.8594 -58.4 1.26659 1.05404 18.7496 -58.6 3.09484 5.40836 11.9434 -58.8 13.4206 20.0448 25.1629 -59 5.92082 -2.13623 32.9902 -59.2 -1.28947 -2.56457 19.0131 -59.4 -5.29587 -9.0561 13.9274 -59.6 -14.8644 -14.8598 35.6121 -59.8 -3.15182 1.13587 27.5717 -60 -0.0174253 0.281096 16.0674 -60.2 0.473582 0.883531 9.44637 -60.4 3.04656 6.02414 6.36237 -60.6 16.6642 23.0739 31.5836 -60.8 1.88539 -5.85983 30.7249 -61 -5.1598 -7.44689 20.7338 -61.2 -11.2235 -13.7135 27.4611 -61.4 -7.92938 -4.10175 30.8657 -61.6 -4.66105 -5.27177 21.3388 -61.8 -9.49582 -13.2311 22.7752 -62 -10.223 -6.0808 33.5417 -62.2 -4.22037 -3.61259 23.1321 -62.4 -7.06039 -10.4305 19.1618 -62.6 -12.5202 -10.9418 33.8779 -62.8 -4.72487 -2.25814 26.3875 -63 -4.61438 -6.5743 17.9988 -63.2 -12.0131 -15.7381 26.9234 -63.4 -7.41152 -2.13852 31.6851 -63.6 -2.90581 -3.17221 19.7754 -63.8 -7.21984 -11.5976 16.9947 -64 -13.2121 -9.53334 36.7413 -64.2 -2.95711 -0.50314 25.0648 -64.4 -2.32526 -3.51516 15.2923 -64.6 -8.95653 -15.0402 16.813 -64.8 -11.6616 -3.78058 38.2953 -65 -0.690789 1.08384 22.4196 -65.2 0.954689 1.6882 13.2242 -65.4 4.88692 9.11371 9.96123 -65.6 16.5061 15.4369 39.1418 -65.8 0.958216 -3.72706 27.169 -66 -3.78574 -5.94865 17.3561 -66.2 -11.6049 -16.3515 24.7667 -66.4 -8.08967 -1.95519 33.0838 -66.6 -2.22164 -2.01478 20.0901 -66.8 -5.08822 -8.49843 14.4176 -67 -14.5642 -15.7149 34.0067 -67.2 -3.79204 0.801914 28.3241 -67.4 -0.498262 -0.392256 16.5363 -67.6 -1.36675 -2.49526 9.87821 -67.8 -8.06292 -15.0518 11.6868 -68 -13.0153 -2.37808 41.813 -68.2 1.78401 4.40552 23.5007 -68.4 6.54808 10.0231 18.4223 -68.6 12.9079 11.9257 33.8194 -68.8 4.66555 1.78111 26.883 -69 3.93547 5.57643 17.6122 -69.2 11.2656 16.0805 24.03 -69.4 8.51311 2.3648 33.505 -69.6 2.33785 2.04125 20.4606 -69.8 5.10798 8.46234 14.6757 -70 14.445 15.6618 33.7597 -70.2 3.9477 -0.622131 28.3702 -70.4 0.737697 0.743867 16.6074 -70.6 2.29087 4.15918 10.243 -70.8 12.0251 20.1287 19.721 -71 7.55063 -2.56475 35.7922 -71.2 -2.16818 -3.94839 20.5822 -71.4 -7.29329 -11.5878 17.6071 -71.6 -12.9783 -9.63809 36.2301 -71.8 -3.28815 -0.946903 25.0976 -72 -3.01763 -4.56859 15.7338 -72.2 -10.664 -16.6724 20.7739 -72.4 -9.38191 -1.72309 35.641 -72.6 -0.983638 0.0353679 20.8351 -72.8 -0.872224 -1.45223 12.2972 -73 -4.51415 -8.54997 9.06594 -73.2 -16.8465 -16.9578 38.585 -73.4 -0.86689 4.27097 27.7464 -73.6 4.31263 6.62642 18.1699 -73.8 11.8664 15.7232 26.5346 -74 7.63851 2.30561 31.9565 -74.2 2.92874 3.12728 19.9814 -74.4 7.10211 11.3933 16.9522 -74.6 13.2892 9.88214 36.5725 -74.8 3.06626 0.526906 25.2663 -75 2.36338 3.55112 15.433 -75.2 8.98565 15.0354 16.9695 -75.4 11.6141 3.84103 38.2222 -75.6 0.756703 -0.997353 22.4326 -75.8 -0.781821 -1.3989 13.2024 -76 -4.06941 -7.65693 9.26717 -76.2 -16.5635 -18.9289 35.9003 -76.4 -1.76611 4.08073 28.7359 -76.6 3.73438 5.80898 18.1647 -76.8 11.0812 15.7551 23.9886 -77 8.68799 2.77468 33.5264 -77.2 2.59805 2.32189 20.7279 -77.4 5.59055 9.12676 15.3931 -77.6 14.2372 14.232 34.6738 -77.8 3.81994 -0.162931 27.6025 -78 1.36075 1.75725 16.3509 -78.2 4.84232 8.66221 11.8309 -78.4 15.7127 16.1842 36.4398 -78.6 2.31887 -2.5118 27.8633 -78.8 -1.88876 -3.18356 16.56 -79 -7.54374 -12.861 15.2741 -79.2 -13.3572 -7.28148 38.8813 -79.4 -1.33372 1.05765 23.9855 -79.6 0.485906 0.925723 14.0603 -79.8 2.56045 4.82023 8.85055 -80 13.8453 22.038 23.5817 -80.2 5.24826 -4.15174 33.603 -80.4 -3.2251 -5.14116 20.1492 -80.6 -9.33212 -13.8199 21.2273 -80.8 -10.6688 -5.631 34.9123 -81 -3.28916 -2.35076 22.8296 -81.2 -5.3685 -8.38801 16.5092 -81.4 -13.6045 -14.9702 32.3194 -81.6 -4.93239 -0.671544 28.6956 -81.8 -2.30312 -2.98812 17.4438 -82 -7.37632 -12.3884 15.6339 -82.2 -13.4447 -8.3274 38.3876 -82.4 -1.83965 0.624157 24.3822 -82.6 -0.375225 -0.465053 14.2903 -82.8 -1.49118 -2.80987 8.58848 -83 -9.34748 -17.3335 12.9266 -83.2 -11.0348 0.931929 40.38 -83.4 2.62938 4.99382 22.8151 -83.6 7.77482 11.5242 20.0411 -83.8 11.9617 9.20031 34.3512 -84 4.38286 2.58253 25.1778 -84.2 5.27312 7.71795 17.9756 -84.4 12.7006 14.9596 29.91 -84.6 6.21055 1.79129 29.8306 -84.8 3.25072 4.03902 18.8652 -85 8.83648 13.7778 19.2084 -85.2 11.4887 5.87874 36.3497 -85.4 2.548 1.13241 23.0497 -85.6 3.35104 5.35971 14.7188 -85.8 12.1775 18.0641 23.9499 -86 7.485 0.0611905 33.7203 -86.2 0.516884 -0.230976 19.5061 -86.4 0.191747 0.305332 11.4447 -86.6 1.02509 1.99497 6.8095 -86.8 7.34314 14.4289 8.6877 -87 14.1189 2.22456 43.8293 -87.2 -2.92417 -5.92264 24.5845 -87.4 -7.96913 -11.1094 21.7806 -87.6 -11.2469 -9.21149 32.7391 -87.8 -5.34285 -3.87158 25.5856 -88 -6.5963 -9.09338 20.2517 -88.2 -12.0035 -12.2557 31.2693 -88.4 -6.10095 -3.2533 28.022 -88.6 -5.19089 -6.82278 19.8968 -88.8 -11.3467 -14.3492 26.8896 -89 -7.92838 -3.58549 31.3552 -89.2 -4.10857 -4.57696 20.9137 -89.4 -8.90039 -13.0383 20.9906 -89.6 -11.0647 -6.68453 34.7052 -89.8 -3.73958 -2.64053 23.5172 -90 -5.68573 -8.66157 17.3697 -90.2 -13.2792 -14.2227 32.3099 -90.4 -5.13109 -1.22502 28.4615 -90.6 -2.97559 -3.9646 17.7711 -90.8 -9.03622 -14.3574 18.78 -91 -11.3535 -4.95773 36.8107 -91.2 -1.96914 -0.538863 22.6216 -91.4 -2.25987 -3.66364 13.8053 -91.6 -9.71054 -16.4103 17.1986 -91.8 -10.6763 -1.68427 37.9196 -92 0.102239 1.77735 21.6586 -92.2 2.61447 4.4728 13.3765 -92.4 11.3045 18.21 20.42 -92.6 8.56842 -0.247763 35.6883 -92.8 -0.356156 -1.65512 20.3478 -93 -2.81895 -4.89249 12.7151 -93.2 -12.2847 -19.1908 22.4539 -93.4 -7.32458 1.24461 34.4541 -93.6 0.770584 2.01615 19.6868 -93.8 3.84862 6.66004 13.0083 -94 14.265 18.8668 29.516 -94.2 4.82472 -1.63018 30.8218 -94.4 -0.557289 -1.3698 17.8217 -94.6 -2.93577 -5.25625 11.281 -94.8 -13.4696 -20.483 24.6791 -95 -5.8745 2.5286 33.2613 -95.2 1.69557 3.12987 19.2439 -95.4 6.37905 10.648 15.3738 -95.6 14.1314 11.5964 36.9918 -95.8 2.77414 -0.378377 25.9212 -96 0.994365 1.3548 15.2779 -96.2 3.91982 7.17266 10.4038 -96.4 15.8154 19.5052 33.2596 -96.6 2.81587 -3.39646 29.5681 -96.8 -2.71033 -4.38225 17.8634 -97 -9.26192 -14.6091 19.2774 -97.2 -11.0601 -4.62734 36.5273 -97.4 -2.0091 -0.703269 22.4024 -97.6 -2.55313 -4.16369 13.8243 -97.8 -10.6653 -17.4548 19.2507 -98 -9.40469 -0.578515 36.4708 -98.2 0.102712 1.48315 20.8361 -98.4 2.27852 3.9544 12.7276 -98.6 10.5924 17.7628 18.2705 -98.8 9.46722 -0.0114021 37.1087 -99 -0.744953 -2.35078 21.0515 -99.2 -4.03794 -6.83245 13.9837 -99.4 -13.9582 -18.1629 29.5025 -99.6 -5.15635 0.97417 30.7335 -99.8 -0.174023 0.315243 17.8064 -100 0.30815 0.574104 10.4539 diff --git a/tools/visualizers/real_function_visualizer/ode_2.txt b/tools/visualizers/real_function_visualizer/ode_2.txt deleted file mode 100644 index 4fc9d05..0000000 --- a/tools/visualizers/real_function_visualizer/ode_2.txt +++ /dev/null @@ -1,26 +0,0 @@ -MULTI_REAL_FUNCTION_VARIABLE_SPACED -2 -21 -0 -2 -0 2 0 -0.1 1.9541 -0.646764 -0.2 1.88525 -0.718124 -0.3 1.81088 -0.769922 -0.4 1.7309 -0.832501 -0.5 1.64375 -0.910681 -0.6 1.54768 -1.02065 -0.7 1.43849 -1.17184 -0.8 1.31043 -1.40908 -0.9 1.15126 -1.81888 -1 0.932224 -2.67838 -1.1 0.570806 -4.97955 -1.2 -0.240608 -12.6733 -1.3 -1.70922 -9.89316 -1.4 -2.02681 0.0290183 -1.5 -1.98037 0.637435 -1.6 -1.91288 0.701882 -1.7 -1.84035 0.749507 -1.8 -1.76257 0.804846 -1.9 -1.67863 0.879756 -2 -1.58623 0.974018 diff --git a/tools/visualizers/real_function_visualizer/sin_func.txt b/tools/visualizers/real_function_visualizer/sin_func.txt deleted file mode 100644 index ea2fbcd..0000000 --- a/tools/visualizers/real_function_visualizer/sin_func.txt +++ /dev/null @@ -1,104 +0,0 @@ -REAL_FUNCTION_EQUALLY_SPACED_DETAILED -x1: -10 -x2: 10 -NumPoints: 100 --10 -5.44021 --9.79798 -3.57233 --9.59596 -1.63464 --9.39394 0.28965 --9.19192 2.12113 --8.9899 3.78745 --8.78788 5.2262 --8.58586 6.3872 --8.38384 7.23424 --8.18182 7.74606 --7.9798 7.91672 --7.77778 7.75521 --7.57576 7.28443 --7.37374 6.53964 --7.17172 5.56631 --6.9697 4.41769 --6.76768 3.1521 --6.56566 1.83004 --6.36364 0.511409 --6.16162 -0.747219 --5.9596 -1.89498 --5.75758 -2.88881 --5.55556 -3.69501 --5.35354 -4.29038 --5.15152 -4.66276 --4.94949 -4.81102 --4.74747 -4.74455 --4.54545 -4.48227 --4.34343 -4.05114 --4.14141 -3.48448 --3.93939 -2.81991 --3.73737 -2.09725 --3.53535 -1.35639 --3.33333 -0.635227 --3.13131 0.0321878 --2.92929 0.617227 --2.72727 1.09791 --2.52525 1.45973 --2.32323 1.69602 --2.12121 1.80792 --1.91919 1.80389 --1.71717 1.69881 --1.51515 1.51281 --1.31313 1.26978 --1.11111 0.995769 --0.909091 0.717223 --0.707071 0.45932 --0.505051 0.24437 --0.30303 0.0904284 --0.10101 0.0101857 -0.10101 0.0101857 -0.30303 0.0904284 -0.505051 0.24437 -0.707071 0.45932 -0.909091 0.717223 -1.11111 0.995769 -1.31313 1.26978 -1.51515 1.51281 -1.71717 1.69881 -1.91919 1.80389 -2.12121 1.80792 -2.32323 1.69602 -2.52525 1.45973 -2.72727 1.09791 -2.92929 0.617227 -3.13131 0.0321878 -3.33333 -0.635227 -3.53535 -1.35639 -3.73737 -2.09725 -3.93939 -2.81991 -4.14141 -3.48448 -4.34343 -4.05114 -4.54545 -4.48227 -4.74747 -4.74455 -4.94949 -4.81102 -5.15152 -4.66276 -5.35354 -4.29038 -5.55556 -3.69501 -5.75758 -2.88881 -5.9596 -1.89498 -6.16162 -0.747219 -6.36364 0.511409 -6.56566 1.83004 -6.76768 3.1521 -6.9697 4.41769 -7.17172 5.56631 -7.37374 6.53964 -7.57576 7.28443 -7.77778 7.75521 -7.9798 7.91672 -8.18182 7.74606 -8.38384 7.23424 -8.58586 6.3872 -8.78788 5.2262 -8.9899 3.78745 -9.19192 2.12113 -9.39394 0.28965 -9.59596 -1.63464 -9.79798 -3.57233 -10 -5.44021 diff --git a/tools/visualizers/scalar_function_2d_visualizer/MML_ScalarFunction2Visualizer.dll b/tools/visualizers/scalar_function_2d_visualizer/MML_ScalarFunction2Visualizer.dll index f99d1bc..cce1dda 100644 Binary files a/tools/visualizers/scalar_function_2d_visualizer/MML_ScalarFunction2Visualizer.dll and b/tools/visualizers/scalar_function_2d_visualizer/MML_ScalarFunction2Visualizer.dll differ diff --git a/tools/visualizers/scalar_function_2d_visualizer/MML_ScalarFunction2Visualizer.exe b/tools/visualizers/scalar_function_2d_visualizer/MML_ScalarFunction2Visualizer.exe index e2ad96b..0431ef4 100644 Binary files a/tools/visualizers/scalar_function_2d_visualizer/MML_ScalarFunction2Visualizer.exe and b/tools/visualizers/scalar_function_2d_visualizer/MML_ScalarFunction2Visualizer.exe differ diff --git a/tools/visualizers/scalar_function_2d_visualizer/WPF3DHelperLib.dll b/tools/visualizers/scalar_function_2d_visualizer/WPF3DHelperLib.dll index 2cbbda2..7527c62 100644 Binary files a/tools/visualizers/scalar_function_2d_visualizer/WPF3DHelperLib.dll and b/tools/visualizers/scalar_function_2d_visualizer/WPF3DHelperLib.dll differ diff --git a/tools/visualizers/scalar_function_2d_visualizer/func_cart_2d.txt b/tools/visualizers/scalar_function_2d_visualizer/func_cart_2d.txt deleted file mode 100644 index 9f66dab..0000000 --- a/tools/visualizers/scalar_function_2d_visualizer/func_cart_2d.txt +++ /dev/null @@ -1,407 +0,0 @@ -SCALAR_FUNCTION_CARTESIAN_2D -x1: -10 -x2: 10 -NumPointsX: 20 -y1: -10 -y2: 10 -NumPointsY: 20 --10 -10 100 --10 -8.94737 89.4737 --10 -7.89474 78.9474 --10 -6.84211 68.4211 --10 -5.78947 57.8947 --10 -4.73684 47.3684 --10 -3.68421 36.8421 --10 -2.63158 26.3158 --10 -1.57895 15.7895 --10 -0.526316 5.26316 --10 0.526316 -5.26316 --10 1.57895 -15.7895 --10 2.63158 -26.3158 --10 3.68421 -36.8421 --10 4.73684 -47.3684 --10 5.78947 -57.8947 --10 6.84211 -68.4211 --10 7.89474 -78.9474 --10 8.94737 -89.4737 --10 10 -100 --8.94737 -10 89.4737 --8.94737 -8.94737 80.0554 --8.94737 -7.89474 70.6371 --8.94737 -6.84211 61.2188 --8.94737 -5.78947 51.8006 --8.94737 -4.73684 42.3823 --8.94737 -3.68421 32.964 --8.94737 -2.63158 23.5457 --8.94737 -1.57895 14.1274 --8.94737 -0.526316 4.70914 --8.94737 0.526316 -4.70914 --8.94737 1.57895 -14.1274 --8.94737 2.63158 -23.5457 --8.94737 3.68421 -32.964 --8.94737 4.73684 -42.3823 --8.94737 5.78947 -51.8006 --8.94737 6.84211 -61.2188 --8.94737 7.89474 -70.6371 --8.94737 8.94737 -80.0554 --8.94737 10 -89.4737 --7.89474 -10 78.9474 --7.89474 -8.94737 70.6371 --7.89474 -7.89474 62.3269 --7.89474 -6.84211 54.0166 --7.89474 -5.78947 45.7064 --7.89474 -4.73684 37.3961 --7.89474 -3.68421 29.0859 --7.89474 -2.63158 20.7756 --7.89474 -1.57895 12.4654 --7.89474 -0.526316 4.15512 --7.89474 0.526316 -4.15512 --7.89474 1.57895 -12.4654 --7.89474 2.63158 -20.7756 --7.89474 3.68421 -29.0859 --7.89474 4.73684 -37.3961 --7.89474 5.78947 -45.7064 --7.89474 6.84211 -54.0166 --7.89474 7.89474 -62.3269 --7.89474 8.94737 -70.6371 --7.89474 10 -78.9474 --6.84211 -10 68.4211 --6.84211 -8.94737 61.2188 --6.84211 -7.89474 54.0166 --6.84211 -6.84211 46.8144 --6.84211 -5.78947 39.6122 --6.84211 -4.73684 32.41 --6.84211 -3.68421 25.2078 --6.84211 -2.63158 18.0055 --6.84211 -1.57895 10.8033 --6.84211 -0.526316 3.60111 --6.84211 0.526316 -3.60111 --6.84211 1.57895 -10.8033 --6.84211 2.63158 -18.0055 --6.84211 3.68421 -25.2078 --6.84211 4.73684 -32.41 --6.84211 5.78947 -39.6122 --6.84211 6.84211 -46.8144 --6.84211 7.89474 -54.0166 --6.84211 8.94737 -61.2188 --6.84211 10 -68.4211 --5.78947 -10 57.8947 --5.78947 -8.94737 51.8006 --5.78947 -7.89474 45.7064 --5.78947 -6.84211 39.6122 --5.78947 -5.78947 33.518 --5.78947 -4.73684 27.4238 --5.78947 -3.68421 21.3296 --5.78947 -2.63158 15.2355 --5.78947 -1.57895 9.14127 --5.78947 -0.526316 3.04709 --5.78947 0.526316 -3.04709 --5.78947 1.57895 -9.14127 --5.78947 2.63158 -15.2355 --5.78947 3.68421 -21.3296 --5.78947 4.73684 -27.4238 --5.78947 5.78947 -33.518 --5.78947 6.84211 -39.6122 --5.78947 7.89474 -45.7064 --5.78947 8.94737 -51.8006 --5.78947 10 -57.8947 --4.73684 -10 47.3684 --4.73684 -8.94737 42.3823 --4.73684 -7.89474 37.3961 --4.73684 -6.84211 32.41 --4.73684 -5.78947 27.4238 --4.73684 -4.73684 22.4377 --4.73684 -3.68421 17.4515 --4.73684 -2.63158 12.4654 --4.73684 -1.57895 7.47922 --4.73684 -0.526316 2.49307 --4.73684 0.526316 -2.49307 --4.73684 1.57895 -7.47922 --4.73684 2.63158 -12.4654 --4.73684 3.68421 -17.4515 --4.73684 4.73684 -22.4377 --4.73684 5.78947 -27.4238 --4.73684 6.84211 -32.41 --4.73684 7.89474 -37.3961 --4.73684 8.94737 -42.3823 --4.73684 10 -47.3684 --3.68421 -10 36.8421 --3.68421 -8.94737 32.964 --3.68421 -7.89474 29.0859 --3.68421 -6.84211 25.2078 --3.68421 -5.78947 21.3296 --3.68421 -4.73684 17.4515 --3.68421 -3.68421 13.5734 --3.68421 -2.63158 9.69529 --3.68421 -1.57895 5.81717 --3.68421 -0.526316 1.93906 --3.68421 0.526316 -1.93906 --3.68421 1.57895 -5.81717 --3.68421 2.63158 -9.69529 --3.68421 3.68421 -13.5734 --3.68421 4.73684 -17.4515 --3.68421 5.78947 -21.3296 --3.68421 6.84211 -25.2078 --3.68421 7.89474 -29.0859 --3.68421 8.94737 -32.964 --3.68421 10 -36.8421 --2.63158 -10 26.3158 --2.63158 -8.94737 23.5457 --2.63158 -7.89474 20.7756 --2.63158 -6.84211 18.0055 --2.63158 -5.78947 15.2355 --2.63158 -4.73684 12.4654 --2.63158 -3.68421 9.69529 --2.63158 -2.63158 6.92521 --2.63158 -1.57895 4.15512 --2.63158 -0.526316 1.38504 --2.63158 0.526316 -1.38504 --2.63158 1.57895 -4.15512 --2.63158 2.63158 -6.92521 --2.63158 3.68421 -9.69529 --2.63158 4.73684 -12.4654 --2.63158 5.78947 -15.2355 --2.63158 6.84211 -18.0055 --2.63158 7.89474 -20.7756 --2.63158 8.94737 -23.5457 --2.63158 10 -26.3158 --1.57895 -10 15.7895 --1.57895 -8.94737 14.1274 --1.57895 -7.89474 12.4654 --1.57895 -6.84211 10.8033 --1.57895 -5.78947 9.14127 --1.57895 -4.73684 7.47922 --1.57895 -3.68421 5.81717 --1.57895 -2.63158 4.15512 --1.57895 -1.57895 2.49307 --1.57895 -0.526316 0.831025 --1.57895 0.526316 -0.831025 --1.57895 1.57895 -2.49307 --1.57895 2.63158 -4.15512 --1.57895 3.68421 -5.81717 --1.57895 4.73684 -7.47922 --1.57895 5.78947 -9.14127 --1.57895 6.84211 -10.8033 --1.57895 7.89474 -12.4654 --1.57895 8.94737 -14.1274 --1.57895 10 -15.7895 --0.526316 -10 5.26316 --0.526316 -8.94737 4.70914 --0.526316 -7.89474 4.15512 --0.526316 -6.84211 3.60111 --0.526316 -5.78947 3.04709 --0.526316 -4.73684 2.49307 --0.526316 -3.68421 1.93906 --0.526316 -2.63158 1.38504 --0.526316 -1.57895 0.831025 --0.526316 -0.526316 0.277008 --0.526316 0.526316 -0.277008 --0.526316 1.57895 -0.831025 --0.526316 2.63158 -1.38504 --0.526316 3.68421 -1.93906 --0.526316 4.73684 -2.49307 --0.526316 5.78947 -3.04709 --0.526316 6.84211 -3.60111 --0.526316 7.89474 -4.15512 --0.526316 8.94737 -4.70914 --0.526316 10 -5.26316 -0.526316 -10 -5.26316 -0.526316 -8.94737 -4.70914 -0.526316 -7.89474 -4.15512 -0.526316 -6.84211 -3.60111 -0.526316 -5.78947 -3.04709 -0.526316 -4.73684 -2.49307 -0.526316 -3.68421 -1.93906 -0.526316 -2.63158 -1.38504 -0.526316 -1.57895 -0.831025 -0.526316 -0.526316 -0.277008 -0.526316 0.526316 0.277008 -0.526316 1.57895 0.831025 -0.526316 2.63158 1.38504 -0.526316 3.68421 1.93906 -0.526316 4.73684 2.49307 -0.526316 5.78947 3.04709 -0.526316 6.84211 3.60111 -0.526316 7.89474 4.15512 -0.526316 8.94737 4.70914 -0.526316 10 5.26316 -1.57895 -10 -15.7895 -1.57895 -8.94737 -14.1274 -1.57895 -7.89474 -12.4654 -1.57895 -6.84211 -10.8033 -1.57895 -5.78947 -9.14127 -1.57895 -4.73684 -7.47922 -1.57895 -3.68421 -5.81717 -1.57895 -2.63158 -4.15512 -1.57895 -1.57895 -2.49307 -1.57895 -0.526316 -0.831025 -1.57895 0.526316 0.831025 -1.57895 1.57895 2.49307 -1.57895 2.63158 4.15512 -1.57895 3.68421 5.81717 -1.57895 4.73684 7.47922 -1.57895 5.78947 9.14127 -1.57895 6.84211 10.8033 -1.57895 7.89474 12.4654 -1.57895 8.94737 14.1274 -1.57895 10 15.7895 -2.63158 -10 -26.3158 -2.63158 -8.94737 -23.5457 -2.63158 -7.89474 -20.7756 -2.63158 -6.84211 -18.0055 -2.63158 -5.78947 -15.2355 -2.63158 -4.73684 -12.4654 -2.63158 -3.68421 -9.69529 -2.63158 -2.63158 -6.92521 -2.63158 -1.57895 -4.15512 -2.63158 -0.526316 -1.38504 -2.63158 0.526316 1.38504 -2.63158 1.57895 4.15512 -2.63158 2.63158 6.92521 -2.63158 3.68421 9.69529 -2.63158 4.73684 12.4654 -2.63158 5.78947 15.2355 -2.63158 6.84211 18.0055 -2.63158 7.89474 20.7756 -2.63158 8.94737 23.5457 -2.63158 10 26.3158 -3.68421 -10 -36.8421 -3.68421 -8.94737 -32.964 -3.68421 -7.89474 -29.0859 -3.68421 -6.84211 -25.2078 -3.68421 -5.78947 -21.3296 -3.68421 -4.73684 -17.4515 -3.68421 -3.68421 -13.5734 -3.68421 -2.63158 -9.69529 -3.68421 -1.57895 -5.81717 -3.68421 -0.526316 -1.93906 -3.68421 0.526316 1.93906 -3.68421 1.57895 5.81717 -3.68421 2.63158 9.69529 -3.68421 3.68421 13.5734 -3.68421 4.73684 17.4515 -3.68421 5.78947 21.3296 -3.68421 6.84211 25.2078 -3.68421 7.89474 29.0859 -3.68421 8.94737 32.964 -3.68421 10 36.8421 -4.73684 -10 -47.3684 -4.73684 -8.94737 -42.3823 -4.73684 -7.89474 -37.3961 -4.73684 -6.84211 -32.41 -4.73684 -5.78947 -27.4238 -4.73684 -4.73684 -22.4377 -4.73684 -3.68421 -17.4515 -4.73684 -2.63158 -12.4654 -4.73684 -1.57895 -7.47922 -4.73684 -0.526316 -2.49307 -4.73684 0.526316 2.49307 -4.73684 1.57895 7.47922 -4.73684 2.63158 12.4654 -4.73684 3.68421 17.4515 -4.73684 4.73684 22.4377 -4.73684 5.78947 27.4238 -4.73684 6.84211 32.41 -4.73684 7.89474 37.3961 -4.73684 8.94737 42.3823 -4.73684 10 47.3684 -5.78947 -10 -57.8947 -5.78947 -8.94737 -51.8006 -5.78947 -7.89474 -45.7064 -5.78947 -6.84211 -39.6122 -5.78947 -5.78947 -33.518 -5.78947 -4.73684 -27.4238 -5.78947 -3.68421 -21.3296 -5.78947 -2.63158 -15.2355 -5.78947 -1.57895 -9.14127 -5.78947 -0.526316 -3.04709 -5.78947 0.526316 3.04709 -5.78947 1.57895 9.14127 -5.78947 2.63158 15.2355 -5.78947 3.68421 21.3296 -5.78947 4.73684 27.4238 -5.78947 5.78947 33.518 -5.78947 6.84211 39.6122 -5.78947 7.89474 45.7064 -5.78947 8.94737 51.8006 -5.78947 10 57.8947 -6.84211 -10 -68.4211 -6.84211 -8.94737 -61.2188 -6.84211 -7.89474 -54.0166 -6.84211 -6.84211 -46.8144 -6.84211 -5.78947 -39.6122 -6.84211 -4.73684 -32.41 -6.84211 -3.68421 -25.2078 -6.84211 -2.63158 -18.0055 -6.84211 -1.57895 -10.8033 -6.84211 -0.526316 -3.60111 -6.84211 0.526316 3.60111 -6.84211 1.57895 10.8033 -6.84211 2.63158 18.0055 -6.84211 3.68421 25.2078 -6.84211 4.73684 32.41 -6.84211 5.78947 39.6122 -6.84211 6.84211 46.8144 -6.84211 7.89474 54.0166 -6.84211 8.94737 61.2188 -6.84211 10 68.4211 -7.89474 -10 -78.9474 -7.89474 -8.94737 -70.6371 -7.89474 -7.89474 -62.3269 -7.89474 -6.84211 -54.0166 -7.89474 -5.78947 -45.7064 -7.89474 -4.73684 -37.3961 -7.89474 -3.68421 -29.0859 -7.89474 -2.63158 -20.7756 -7.89474 -1.57895 -12.4654 -7.89474 -0.526316 -4.15512 -7.89474 0.526316 4.15512 -7.89474 1.57895 12.4654 -7.89474 2.63158 20.7756 -7.89474 3.68421 29.0859 -7.89474 4.73684 37.3961 -7.89474 5.78947 45.7064 -7.89474 6.84211 54.0166 -7.89474 7.89474 62.3269 -7.89474 8.94737 70.6371 -7.89474 10 78.9474 -8.94737 -10 -89.4737 -8.94737 -8.94737 -80.0554 -8.94737 -7.89474 -70.6371 -8.94737 -6.84211 -61.2188 -8.94737 -5.78947 -51.8006 -8.94737 -4.73684 -42.3823 -8.94737 -3.68421 -32.964 -8.94737 -2.63158 -23.5457 -8.94737 -1.57895 -14.1274 -8.94737 -0.526316 -4.70914 -8.94737 0.526316 4.70914 -8.94737 1.57895 14.1274 -8.94737 2.63158 23.5457 -8.94737 3.68421 32.964 -8.94737 4.73684 42.3823 -8.94737 5.78947 51.8006 -8.94737 6.84211 61.2188 -8.94737 7.89474 70.6371 -8.94737 8.94737 80.0554 -8.94737 10 89.4737 -10 -10 -100 -10 -8.94737 -89.4737 -10 -7.89474 -78.9474 -10 -6.84211 -68.4211 -10 -5.78947 -57.8947 -10 -4.73684 -47.3684 -10 -3.68421 -36.8421 -10 -2.63158 -26.3158 -10 -1.57895 -15.7895 -10 -0.526316 -5.26316 -10 0.526316 5.26316 -10 1.57895 15.7895 -10 2.63158 26.3158 -10 3.68421 36.8421 -10 4.73684 47.3684 -10 5.78947 57.8947 -10 6.84211 68.4211 -10 7.89474 78.9474 -10 8.94737 89.4737 -10 10 100 diff --git a/tools/visualizers/vector_field_visualizer/MML_VectorFieldVisualizer.dll b/tools/visualizers/vector_field_visualizer/MML_VectorFieldVisualizer.dll index 01ba59b..ddb3aaf 100644 Binary files a/tools/visualizers/vector_field_visualizer/MML_VectorFieldVisualizer.dll and b/tools/visualizers/vector_field_visualizer/MML_VectorFieldVisualizer.dll differ diff --git a/tools/visualizers/vector_field_visualizer/MML_VectorFieldVisualizer.exe b/tools/visualizers/vector_field_visualizer/MML_VectorFieldVisualizer.exe index c2c6c18..cfd608c 100644 Binary files a/tools/visualizers/vector_field_visualizer/MML_VectorFieldVisualizer.exe and b/tools/visualizers/vector_field_visualizer/MML_VectorFieldVisualizer.exe differ diff --git a/tools/visualizers/vector_field_visualizer/WPF3DHelperLib.dll b/tools/visualizers/vector_field_visualizer/WPF3DHelperLib.dll index 2cbbda2..7527c62 100644 Binary files a/tools/visualizers/vector_field_visualizer/WPF3DHelperLib.dll and b/tools/visualizers/vector_field_visualizer/WPF3DHelperLib.dll differ diff --git a/tools/visualizers/vector_field_visualizer/vec_field.txt b/tools/visualizers/vector_field_visualizer/vec_field.txt deleted file mode 100644 index 12942fa..0000000 --- a/tools/visualizers/vector_field_visualizer/vec_field.txt +++ /dev/null @@ -1,2 +0,0 @@ -10 10 10 5 -2 3 --10 -10 -10 -5 2 -3 \ No newline at end of file diff --git a/tools/visualizers/vector_field_visualizer/vector_field.txt b/tools/visualizers/vector_field_visualizer/vector_field.txt deleted file mode 100644 index ab58d85..0000000 --- a/tools/visualizers/vector_field_visualizer/vector_field.txt +++ /dev/null @@ -1,65 +0,0 @@ -VECTOR_FIELD_3D_CARTESIAN --30 -30 -30 -0.213833 -0.213833 -0.213833 --30 -30 -10 -0.362235 -0.362235 -0.120745 --30 -30 10 -0.362235 -0.362235 0.120745 --30 -30 30 -0.213833 -0.213833 0.213833 --30 -10 -30 -0.362235 -0.120745 -0.362235 --30 -10 -10 -0.822304 -0.274101 -0.274101 --30 -10 10 -0.822304 -0.274101 0.274101 --30 -10 30 -0.362235 -0.120745 0.362235 --30 10 -30 -0.362235 0.120745 -0.362235 --30 10 -10 -0.822304 0.274101 -0.274101 --30 10 10 -0.822304 0.274101 0.274101 --30 10 30 -0.362235 0.120745 0.362235 --30 30 -30 -0.213833 0.213833 -0.213833 --30 30 -10 -0.362235 0.362235 -0.120745 --30 30 10 -0.362235 0.362235 0.120745 --30 30 30 -0.213833 0.213833 0.213833 --10 -30 -30 -0.120745 -0.362235 -0.362235 --10 -30 -10 -0.274101 -0.822304 -0.274101 --10 -30 10 -0.274101 -0.822304 0.274101 --10 -30 30 -0.120745 -0.362235 0.362235 --10 -10 -30 -0.274101 -0.274101 -0.822304 --10 -10 -10 -1.9245 -1.9245 -1.9245 --10 -10 10 -1.9245 -1.9245 1.9245 --10 -10 30 -0.274101 -0.274101 0.822304 --10 10 -30 -0.274101 0.274101 -0.822304 --10 10 -10 -1.9245 1.9245 -1.9245 --10 10 10 -1.9245 1.9245 1.9245 --10 10 30 -0.274101 0.274101 0.822304 --10 30 -30 -0.120745 0.362235 -0.362235 --10 30 -10 -0.274101 0.822304 -0.274101 --10 30 10 -0.274101 0.822304 0.274101 --10 30 30 -0.120745 0.362235 0.362235 -10 -30 -30 0.120745 -0.362235 -0.362235 -10 -30 -10 0.274101 -0.822304 -0.274101 -10 -30 10 0.274101 -0.822304 0.274101 -10 -30 30 0.120745 -0.362235 0.362235 -10 -10 -30 0.274101 -0.274101 -0.822304 -10 -10 -10 1.9245 -1.9245 -1.9245 -10 -10 10 1.9245 -1.9245 1.9245 -10 -10 30 0.274101 -0.274101 0.822304 -10 10 -30 0.274101 0.274101 -0.822304 -10 10 -10 1.9245 1.9245 -1.9245 -10 10 10 1.9245 1.9245 1.9245 -10 10 30 0.274101 0.274101 0.822304 -10 30 -30 0.120745 0.362235 -0.362235 -10 30 -10 0.274101 0.822304 -0.274101 -10 30 10 0.274101 0.822304 0.274101 -10 30 30 0.120745 0.362235 0.362235 -30 -30 -30 0.213833 -0.213833 -0.213833 -30 -30 -10 0.362235 -0.362235 -0.120745 -30 -30 10 0.362235 -0.362235 0.120745 -30 -30 30 0.213833 -0.213833 0.213833 -30 -10 -30 0.362235 -0.120745 -0.362235 -30 -10 -10 0.822304 -0.274101 -0.274101 -30 -10 10 0.822304 -0.274101 0.274101 -30 -10 30 0.362235 -0.120745 0.362235 -30 10 -30 0.362235 0.120745 -0.362235 -30 10 -10 0.822304 0.274101 -0.274101 -30 10 10 0.822304 0.274101 0.274101 -30 10 30 0.362235 0.120745 0.362235 -30 30 -30 0.213833 0.213833 -0.213833 -30 30 -10 0.362235 0.362235 -0.120745 -30 30 10 0.362235 0.362235 0.120745 -30 30 30 0.213833 0.213833 0.213833 diff --git a/tools/visualizers/vector_field_visualizer/vector_field_spherical.txt b/tools/visualizers/vector_field_visualizer/vector_field_spherical.txt deleted file mode 100644 index 2995acb..0000000 --- a/tools/visualizers/vector_field_visualizer/vector_field_spherical.txt +++ /dev/null @@ -1,81 +0,0 @@ -VECTOR_FIELD_SPHERICAL -0.1 -30 -30 100000 -0 -0 -0.1 -30 -10 100000 -0 -0 -0.1 -30 10 100000 -0 -0 -0.1 -30 30 100000 -0 -0 -0.1 -10 -30 100000 -0 -0 -0.1 -10 -10 100000 -0 -0 -0.1 -10 10 100000 -0 -0 -0.1 -10 30 100000 -0 -0 -0.1 10 -30 100000 -0 0 -0.1 10 -10 100000 -0 0 -0.1 10 10 100000 -0 0 -0.1 10 30 100000 -0 0 -0.1 30 -30 100000 -0 0 -0.1 30 -10 100000 -0 0 -0.1 30 10 100000 -0 0 -0.1 30 30 100000 -0 0 -12.6 -30 -30 6.29882 -0 -0 -12.6 -30 -10 6.29882 -0 -0 -12.6 -30 10 6.29882 -0 -0 -12.6 -30 30 6.29882 -0 -0 -12.6 -10 -30 6.29882 -0 -0 -12.6 -10 -10 6.29882 -0 -0 -12.6 -10 10 6.29882 -0 -0 -12.6 -10 30 6.29882 -0 -0 -12.6 10 -30 6.29882 -0 0 -12.6 10 -10 6.29882 -0 0 -12.6 10 10 6.29882 -0 0 -12.6 10 30 6.29882 -0 0 -12.6 30 -30 6.29882 -0 0 -12.6 30 -10 6.29882 -0 0 -12.6 30 10 6.29882 -0 0 -12.6 30 30 6.29882 -0 0 -25.1 -30 -30 1.58728 -0 -0 -25.1 -30 -10 1.58728 -0 -0 -25.1 -30 10 1.58728 -0 -0 -25.1 -30 30 1.58728 -0 -0 -25.1 -10 -30 1.58728 -0 -0 -25.1 -10 -10 1.58728 -0 -0 -25.1 -10 10 1.58728 -0 -0 -25.1 -10 30 1.58728 -0 -0 -25.1 10 -30 1.58728 -0 0 -25.1 10 -10 1.58728 -0 0 -25.1 10 10 1.58728 -0 0 -25.1 10 30 1.58728 -0 0 -25.1 30 -30 1.58728 -0 0 -25.1 30 -10 1.58728 -0 0 -25.1 30 10 1.58728 -0 0 -25.1 30 30 1.58728 -0 0 -37.6 -30 -30 0.707334 -0 -0 -37.6 -30 -10 0.707334 -0 -0 -37.6 -30 10 0.707334 -0 -0 -37.6 -30 30 0.707334 -0 -0 -37.6 -10 -30 0.707334 -0 -0 -37.6 -10 -10 0.707334 -0 -0 -37.6 -10 10 0.707334 -0 -0 -37.6 -10 30 0.707334 -0 -0 -37.6 10 -30 0.707334 -0 0 -37.6 10 -10 0.707334 -0 0 -37.6 10 10 0.707334 -0 0 -37.6 10 30 0.707334 -0 0 -37.6 30 -30 0.707334 -0 0 -37.6 30 -10 0.707334 -0 0 -37.6 30 10 0.707334 -0 0 -37.6 30 30 0.707334 -0 0 -50.1 -30 -30 0.398405 -0 -0 -50.1 -30 -10 0.398405 -0 -0 -50.1 -30 10 0.398405 -0 -0 -50.1 -30 30 0.398405 -0 -0 -50.1 -10 -30 0.398405 -0 -0 -50.1 -10 -10 0.398405 -0 -0 -50.1 -10 10 0.398405 -0 -0 -50.1 -10 30 0.398405 -0 -0 -50.1 10 -30 0.398405 -0 0 -50.1 10 -10 0.398405 -0 0 -50.1 10 10 0.398405 -0 0 -50.1 10 30 0.398405 -0 0 -50.1 30 -30 0.398405 -0 0 -50.1 30 -10 0.398405 -0 0 -50.1 30 10 0.398405 -0 0 -50.1 30 30 0.398405 -0 0