diff --git a/packages/core.cmake b/packages/core.cmake
index 1ea9572de..f127f6ae8 100644
--- a/packages/core.cmake
+++ b/packages/core.cmake
@@ -1,576 +1,577 @@
 #===============================================================================
 # @file   core.cmake
 #
 # @author Guillaume Anciaux <guillaume.anciaux@epfl.ch>
 # @author Nicolas Richart <nicolas.richart@epfl.ch>
 #
 # @date creation: Mon Nov 21 2011
 # @date last modification: Mon Jan 18 2016
 #
 # @brief  package description for core
 #
 # @section LICENSE
 #
 # Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
 # Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
 # Solides)
 #
 # Akantu is free  software: you can redistribute it and/or  modify it under the
 # terms  of the  GNU Lesser  General Public  License as  published by  the Free
 # Software Foundation, either version 3 of the License, or (at your option) any
 # later version.
 #
 # Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 # A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
 # details.
 #
 # You should  have received  a copy  of the GNU  Lesser General  Public License
 # along with Akantu. If not, see <http://www.gnu.org/licenses/>.
 #
 #===============================================================================
 
 package_declare(core NOT_OPTIONAL
   DESCRIPTION "core package for Akantu"
   FEATURES_PUBLIC cxx_strong_enums cxx_defaulted_functions cxx_deleted_functions
   FEATURES_PRIVATE cxx_auto_type cxx_lambdas cxx_nullptr
                    cxx_delegated_constructors cxx_range_for
   )
 
 package_declare_sources(core
   common/aka_array.cc
   common/aka_array.hh
   common/aka_array_tmpl.hh
   common/aka_blas_lapack.hh
   common/aka_circular_array.hh
   common/aka_circular_array_inline_impl.cc
   common/aka_common.cc
   common/aka_common.hh
   common/aka_common_inline_impl.cc
   common/aka_csr.hh
   common/aka_element_classes_info_inline_impl.cc
   common/aka_error.cc
   common/aka_error.hh
   common/aka_event_handler_manager.hh
   common/aka_extern.cc
   common/aka_fwd.hh
   common/aka_grid_dynamic.hh
   common/aka_math.cc
   common/aka_math.hh
   common/aka_math_tmpl.hh
   common/aka_memory.cc
   common/aka_memory.hh
   common/aka_memory_inline_impl.cc
   common/aka_random_generator.hh
   common/aka_safe_enum.hh
   common/aka_static_memory.cc
   common/aka_static_memory.hh
   common/aka_static_memory_inline_impl.cc
   common/aka_static_memory_tmpl.hh
   common/aka_typelist.hh
   common/aka_types.hh
   common/aka_visitor.hh
   common/aka_voigthelper.hh
   common/aka_voigthelper_tmpl.hh
   common/aka_voigthelper.cc
   common/aka_warning.hh
   common/aka_warning_restore.hh
 
   fe_engine/element_class.cc
   fe_engine/element_class.hh
   fe_engine/element_class_tmpl.hh
   fe_engine/element_classes/element_class_hexahedron_8_inline_impl.cc
   fe_engine/element_classes/element_class_hexahedron_20_inline_impl.cc
   fe_engine/element_classes/element_class_pentahedron_6_inline_impl.cc
   fe_engine/element_classes/element_class_pentahedron_15_inline_impl.cc
   fe_engine/element_classes/element_class_point_1_inline_impl.cc
   fe_engine/element_classes/element_class_quadrangle_4_inline_impl.cc
   fe_engine/element_classes/element_class_quadrangle_8_inline_impl.cc
   fe_engine/element_classes/element_class_segment_2_inline_impl.cc
   fe_engine/element_classes/element_class_segment_3_inline_impl.cc
   fe_engine/element_classes/element_class_tetrahedron_10_inline_impl.cc
   fe_engine/element_classes/element_class_tetrahedron_4_inline_impl.cc
   fe_engine/element_classes/element_class_triangle_3_inline_impl.cc
   fe_engine/element_classes/element_class_triangle_6_inline_impl.cc
 
   fe_engine/fe_engine.cc
   fe_engine/fe_engine.hh
   fe_engine/fe_engine_inline_impl.cc
   fe_engine/fe_engine_template.hh
   fe_engine/fe_engine_template_tmpl.hh
   fe_engine/geometrical_element.cc
   fe_engine/gauss_integration.cc
   fe_engine/gauss_integration_tmpl.hh
   fe_engine/integrator.hh
   fe_engine/integrator_gauss.hh
   fe_engine/integrator_gauss_inline_impl.cc
   fe_engine/interpolation_element.cc
   fe_engine/interpolation_element_tmpl.hh
   fe_engine/integration_point.hh
   fe_engine/shape_functions.hh
   fe_engine/shape_functions_inline_impl.cc
   fe_engine/shape_lagrange.cc
   fe_engine/shape_lagrange.hh
   fe_engine/shape_lagrange_inline_impl.cc
   fe_engine/shape_linked.cc
   fe_engine/shape_linked.hh
   fe_engine/shape_linked_inline_impl.cc
   fe_engine/element.hh
 
   io/dumper/dumpable.hh
   io/dumper/dumpable.cc
   io/dumper/dumpable_dummy.hh
   io/dumper/dumpable_inline_impl.hh
   io/dumper/dumper_field.hh
   io/dumper/dumper_material_padders.hh
   io/dumper/dumper_filtered_connectivity.hh
   io/dumper/dumper_element_partition.hh
 
   io/mesh_io.cc
   io/mesh_io.hh
   io/mesh_io/mesh_io_abaqus.cc
   io/mesh_io/mesh_io_abaqus.hh
   io/mesh_io/mesh_io_diana.cc
   io/mesh_io/mesh_io_diana.hh
   io/mesh_io/mesh_io_msh.cc
   io/mesh_io/mesh_io_msh.hh
   io/model_io.cc
   io/model_io.hh
 
   io/parser/algebraic_parser.hh
   io/parser/input_file_parser.hh
   io/parser/parsable.cc
   io/parser/parsable.hh
   io/parser/parsable_tmpl.hh
   io/parser/parser.cc
   io/parser/parser_real.cc
   io/parser/parser_random.cc
   io/parser/parser_types.cc
   io/parser/parser_input_files.cc
   io/parser/parser.hh
   io/parser/parser_tmpl.hh
   io/parser/parser_grammar_tmpl.hh
   io/parser/cppargparse/cppargparse.hh
   io/parser/cppargparse/cppargparse.cc
   io/parser/cppargparse/cppargparse_tmpl.hh
 
   io/parser/parameter_registry.cc
   io/parser/parameter_registry.hh
   io/parser/parameter_registry_tmpl.hh
 
   mesh/element_group.cc
   mesh/element_group.hh
   mesh/element_group_inline_impl.cc
   mesh/element_type_map.hh
   mesh/element_type_map_tmpl.hh
   mesh/element_type_map_filter.hh
   mesh/group_manager.cc
   mesh/group_manager.hh
   mesh/group_manager_inline_impl.cc
   mesh/mesh.cc
   mesh/mesh.hh
   mesh/mesh_accessor.hh
   mesh/mesh_accessor.cc
   mesh/mesh_events.hh
   mesh/mesh_filter.hh
   mesh/mesh_data.cc
   mesh/mesh_data.hh
   mesh/mesh_data_tmpl.hh
   mesh/mesh_inline_impl.cc
   mesh/node_group.cc
   mesh/node_group.hh
   mesh/node_group_inline_impl.cc
 
   mesh_utils/mesh_partition.cc
   mesh_utils/mesh_partition.hh
   mesh_utils/mesh_partition/mesh_partition_mesh_data.cc
   mesh_utils/mesh_partition/mesh_partition_mesh_data.hh
   mesh_utils/mesh_partition/mesh_partition_scotch.hh
   mesh_utils/mesh_utils_pbc.cc
   mesh_utils/mesh_utils.cc
   mesh_utils/mesh_utils.hh
   mesh_utils/mesh_utils_distribution.cc
   mesh_utils/mesh_utils_distribution.hh
   mesh_utils/mesh_utils.hh
   mesh_utils/mesh_utils_inline_impl.cc
   mesh_utils/global_ids_updater.hh
   mesh_utils/global_ids_updater.cc
   mesh_utils/global_ids_updater_inline_impl.cc
 
   model/boundary_condition.hh
   model/boundary_condition_functor.hh
   model/boundary_condition_functor_inline_impl.cc
   model/boundary_condition_tmpl.hh
 
   model/dof_manager.cc
   model/dof_manager.hh
   model/dof_manager_default.cc
   model/dof_manager_default.hh
   model/dof_manager_default_inline_impl.cc
   model/dof_manager_inline_impl.cc
   model/model_solver.cc
   model/model_solver.hh
   model/model_solver_tmpl.hh
   model/non_linear_solver.cc
   model/non_linear_solver.hh
   model/non_linear_solver_default.hh
   model/non_linear_solver_lumped.cc
   model/non_linear_solver_lumped.hh
   model/solver_callback.hh
   model/solver_callback.cc
   model/time_step_solver.hh
   model/time_step_solvers/time_step_solver.cc
   model/time_step_solvers/time_step_solver_default.cc
   model/time_step_solvers/time_step_solver_default.hh
   model/time_step_solvers/time_step_solver_default_explicit.hh
   model/non_linear_solver_callback.hh
   model/time_step_solvers/time_step_solver_default_solver_callback.hh
 
   model/integration_scheme/generalized_trapezoidal.cc
   model/integration_scheme/generalized_trapezoidal.hh
   model/integration_scheme/integration_scheme.cc
   model/integration_scheme/integration_scheme.hh
   model/integration_scheme/integration_scheme_1st_order.cc
   model/integration_scheme/integration_scheme_1st_order.hh
   model/integration_scheme/integration_scheme_2nd_order.cc
   model/integration_scheme/integration_scheme_2nd_order.hh
   model/integration_scheme/newmark-beta.cc
   model/integration_scheme/newmark-beta.hh
   model/integration_scheme/pseudo_time.cc
   model/integration_scheme/pseudo_time.hh
   model/model.cc
   model/model.hh
   model/model_inline_impl.cc
 
   model/solid_mechanics/material.cc
   model/solid_mechanics/material.hh
   model/solid_mechanics/material_inline_impl.cc
   model/solid_mechanics/material_selector.hh
   model/solid_mechanics/material_selector_tmpl.hh
   model/solid_mechanics/materials/internal_field.hh
   model/solid_mechanics/materials/internal_field_tmpl.hh
   model/solid_mechanics/materials/random_internal_field.hh
   model/solid_mechanics/materials/random_internal_field_tmpl.hh
   model/solid_mechanics/solid_mechanics_model.cc
   model/solid_mechanics/solid_mechanics_model.hh
   model/solid_mechanics/solid_mechanics_model_inline_impl.cc
   model/solid_mechanics/solid_mechanics_model_mass.cc
   model/solid_mechanics/solid_mechanics_model_material.cc
   model/solid_mechanics/solid_mechanics_model_tmpl.hh
   model/solid_mechanics/solid_mechanics_model_event_handler.hh
   model/solid_mechanics/materials/plane_stress_toolbox.hh
   model/solid_mechanics/materials/plane_stress_toolbox_tmpl.hh
 
 
   model/solid_mechanics/materials/material_core_includes.hh
   model/solid_mechanics/materials/material_elastic.cc
   model/solid_mechanics/materials/material_elastic.hh
   model/solid_mechanics/materials/material_elastic_inline_impl.cc
   model/solid_mechanics/materials/material_thermal.cc
   model/solid_mechanics/materials/material_thermal.hh
   model/solid_mechanics/materials/material_elastic_linear_anisotropic.cc
   model/solid_mechanics/materials/material_elastic_linear_anisotropic.hh
   model/solid_mechanics/materials/material_elastic_orthotropic.cc
   model/solid_mechanics/materials/material_elastic_orthotropic.hh
   model/solid_mechanics/materials/material_damage/material_damage.hh
   model/solid_mechanics/materials/material_damage/material_damage_tmpl.hh
   model/solid_mechanics/materials/material_damage/material_marigo.cc
   model/solid_mechanics/materials/material_damage/material_marigo.hh
   model/solid_mechanics/materials/material_damage/material_marigo_inline_impl.cc
   model/solid_mechanics/materials/material_damage/material_mazars.cc
   model/solid_mechanics/materials/material_damage/material_mazars.hh
   model/solid_mechanics/materials/material_damage/material_mazars_inline_impl.cc
   model/solid_mechanics/materials/material_finite_deformation/material_neohookean.cc
   model/solid_mechanics/materials/material_finite_deformation/material_neohookean.hh
   model/solid_mechanics/materials/material_finite_deformation/material_neohookean_inline_impl.cc
   model/solid_mechanics/materials/material_plastic/material_plastic.cc
   model/solid_mechanics/materials/material_plastic/material_plastic.hh
   model/solid_mechanics/materials/material_plastic/material_plastic_inline_impl.cc
   model/solid_mechanics/materials/material_plastic/material_linear_isotropic_hardening.cc
   model/solid_mechanics/materials/material_plastic/material_linear_isotropic_hardening.hh
   model/solid_mechanics/materials/material_plastic/material_linear_isotropic_hardening_inline_impl.cc
   model/solid_mechanics/materials/material_viscoelastic/material_standard_linear_solid_deviatoric.cc
   model/solid_mechanics/materials/material_viscoelastic/material_standard_linear_solid_deviatoric.hh
 
   model/common/neighborhood_base.hh
   model/common/neighborhood_base.cc
   model/common/neighborhood_base_inline_impl.cc
 
   model/common/neighborhoods_criterion_evaluation/neighborhood_max_criterion.hh
   model/common/neighborhoods_criterion_evaluation/neighborhood_max_criterion.cc
   model/common/neighborhoods_criterion_evaluation/neighborhood_max_criterion_inline_impl.cc
 
   solver/sparse_solver.cc
   solver/sparse_solver.hh
   solver/sparse_solver_inline_impl.cc
   solver/sparse_matrix.cc
   solver/sparse_matrix.hh
   solver/sparse_matrix_inline_impl.cc
   solver/sparse_matrix_aij.cc
   solver/sparse_matrix_aij.hh
   solver/sparse_matrix_aij_inline_impl.cc
+  solver/terms_to_assemble.hh
 
   synchronizer/communication_descriptor_tmpl.hh
   synchronizer/communications_tmpl.hh
   synchronizer/communication_buffer.hh
   synchronizer/communication_buffer_inline_impl.cc
   synchronizer/communication_descriptor.hh
   synchronizer/communication_tag.hh
   synchronizer/communications.hh
   synchronizer/data_accessor.cc
   synchronizer/data_accessor.hh
   synchronizer/element_synchronizer.cc
   synchronizer/element_synchronizer.hh
   synchronizer/node_synchronizer.cc
   synchronizer/node_synchronizer.hh
   synchronizer/dof_synchronizer.cc
   synchronizer/dof_synchronizer.hh
   synchronizer/dof_synchronizer_inline_impl.cc
   synchronizer/element_info_per_processor.cc
   synchronizer/element_info_per_processor.hh
   synchronizer/element_info_per_processor_tmpl.hh
   synchronizer/filtered_synchronizer.cc
   synchronizer/filtered_synchronizer.hh
   synchronizer/grid_synchronizer.cc
   synchronizer/grid_synchronizer.hh
   synchronizer/master_element_info_per_processor.cc
   synchronizer/node_info_per_processor.cc
   synchronizer/node_info_per_processor.hh
   synchronizer/real_static_communicator.hh
   synchronizer/slave_element_info_per_processor.cc
   synchronizer/static_communicator.cc
   synchronizer/static_communicator.hh
   synchronizer/static_communicator_dummy.hh
   synchronizer/static_communicator_inline_impl.hh
   synchronizer/synchronizer.cc
   synchronizer/synchronizer.hh
   synchronizer/synchronizer_impl.hh
   synchronizer/synchronizer_impl_tmpl.hh
   synchronizer/synchronizer_registry.cc
   synchronizer/synchronizer_registry.hh
   synchronizer/synchronizer_tmpl.hh
   )
 
 package_declare_elements(core
   ELEMENT_TYPES
   _point_1
   _segment_2
   _segment_3
   _triangle_3
   _triangle_6
   _quadrangle_4
   _quadrangle_8
   _tetrahedron_4
   _tetrahedron_10
   _pentahedron_6
   _pentahedron_15
   _hexahedron_8
   _hexahedron_20
   KIND regular
   GEOMETRICAL_TYPES
   _gt_point
   _gt_segment_2
   _gt_segment_3
   _gt_triangle_3
   _gt_triangle_6
   _gt_quadrangle_4
   _gt_quadrangle_8
   _gt_tetrahedron_4
   _gt_tetrahedron_10
   _gt_hexahedron_8
   _gt_hexahedron_20
   _gt_pentahedron_6
   _gt_pentahedron_15
   INTERPOLATION_TYPES
   _itp_lagrange_point_1
   _itp_lagrange_segment_2
   _itp_lagrange_segment_3
   _itp_lagrange_triangle_3
   _itp_lagrange_triangle_6
   _itp_lagrange_quadrangle_4
   _itp_serendip_quadrangle_8
   _itp_lagrange_tetrahedron_4
   _itp_lagrange_tetrahedron_10
   _itp_lagrange_hexahedron_8
   _itp_serendip_hexahedron_20
   _itp_lagrange_pentahedron_6
   _itp_lagrange_pentahedron_15
   GEOMETRICAL_SHAPES
   _gst_point
   _gst_triangle
   _gst_square
   _gst_prism
   GAUSS_INTEGRATION_TYPES
   _git_point
   _git_segment
   _git_triangle
   _git_tetrahedron
   _git_pentahedron
   INTERPOLATION_KIND _itk_lagrangian
   FE_ENGINE_LISTS
   gradient_on_integration_points
   interpolate_on_integration_points
   interpolate
   compute_normals_on_integration_points
   inverse_map
   contains
   compute_shapes
   compute_shapes_derivatives
   get_shapes_derivatives
   )
 
 package_declare_material_infos(core
   LIST AKANTU_CORE_MATERIAL_LIST
   INCLUDE material_core_includes.hh
   )
 
 package_declare_documentation_files(core
   manual.sty
   manual.cls
   manual.tex
   manual-macros.sty
   manual-titlepages.tex
   manual-introduction.tex
   manual-gettingstarted.tex
   manual-io.tex
   manual-feengine.tex
   manual-solidmechanicsmodel.tex
   manual-constitutive-laws.tex
   manual-lumping.tex
   manual-elements.tex
   manual-appendix-elements.tex
   manual-appendix-materials.tex
   manual-appendix-packages.tex
   manual-backmatter.tex
   manual-bibliography.bib
   manual-bibliographystyle.bst
 
   figures/bc_and_ic_example.pdf
   figures/boundary.pdf
   figures/boundary.svg
   figures/dirichlet.pdf
   figures/dirichlet.svg
   figures/doc_wheel.pdf
   figures/doc_wheel.svg
   figures/dynamic_analysis.png
   figures/explicit_dynamic.pdf
   figures/explicit_dynamic.svg
   figures/static.pdf
   figures/static.svg
   figures/hooke_law.pdf
   figures/hot-point-1.png
   figures/hot-point-2.png
   figures/implicit_dynamic.pdf
   figures/implicit_dynamic.svg
   figures/insertion.pdf
   figures/interpolate.pdf
   figures/interpolate.svg
   figures/problemDomain.pdf_tex
   figures/problemDomain.pdf
   figures/static_analysis.png
   figures/stress_strain_el.pdf
   figures/tangent.pdf
   figures/tangent.svg
   figures/vectors.pdf
   figures/vectors.svg
 
   figures/stress_strain_neo.pdf
   figures/visco_elastic_law.pdf
   figures/isotropic_hardening_plasticity.pdf
   figures/stress_strain_visco.pdf
 
   figures/elements/hexahedron_8.pdf
   figures/elements/hexahedron_8.svg
   figures/elements/quadrangle_4.pdf
   figures/elements/quadrangle_4.svg
   figures/elements/quadrangle_8.pdf
   figures/elements/quadrangle_8.svg
   figures/elements/segment_2.pdf
   figures/elements/segment_2.svg
   figures/elements/segment_3.pdf
   figures/elements/segment_3.svg
   figures/elements/tetrahedron_10.pdf
   figures/elements/tetrahedron_10.svg
   figures/elements/tetrahedron_4.pdf
   figures/elements/tetrahedron_4.svg
   figures/elements/triangle_3.pdf
   figures/elements/triangle_3.svg
   figures/elements/triangle_6.pdf
   figures/elements/triangle_6.svg
   figures/elements/xtemp.pdf
   )
 
 package_declare_documentation(core
   "This package is the core engine of \\akantu. It depends on:"
   "\\begin{itemize}"
   "\\item A C++ compiler (\\href{http://gcc.gnu.org/}{GCC} >= 4, or \\href{https://software.intel.com/en-us/intel-compilers}{Intel})."
   "\\item The cross-platform, open-source \\href{http://www.cmake.org/}{CMake} build system."
   "\\item The \\href{http://www.boost.org/}{Boost} C++ portable libraries."
   "\\item The \\href{http://www.zlib.net/}{zlib} compression library."
   "\\end{itemize}"
   ""
   "Under Ubuntu (14.04 LTS) the installation can be performed using the commands:"
   "\\begin{command}"
   "  > sudo apt-get install cmake libboost-dev zlib1g-dev g++"
   "\\end{command}"
   ""
   "Under Mac OS X the installation requires the following steps:"
   "\\begin{itemize}"
   "\\item Install Xcode"
   "\\item Install the command line tools."
   "\\item Install the MacPorts project which allows to automatically"
   "download and install opensource packages."
   "\\end{itemize}"
   "Then the following commands should be typed in a terminal:"
   "\\begin{command}"
   "  > sudo port install cmake gcc48 boost"
   "\\end{command}"
   )
 
 find_program(READLINK_COMMAND readlink)
 find_program(ADDR2LINE_COMMAND addr2line)
 find_program(PATCH_COMMAND patch)
 mark_as_advanced(READLINK_COMMAND)
 mark_as_advanced(ADDR2LINE_COMMAND)
 
 include(CheckFunctionExists)
 check_function_exists(clock_gettime _clock_gettime)
 
 include(CheckCXXSymbolExists)
 check_cxx_symbol_exists(strdup cstring AKANTU_HAS_STRDUP)
 
 if(NOT _clock_gettime)
   set(AKANTU_USE_OBSOLETE_GETTIMEOFDAY ON  CACHE INTERNAL "" FORCE)
 else()
   set(AKANTU_USE_OBSOLETE_GETTIMEOFDAY OFF CACHE INTERNAL "" FORCE)
 endif()
 
 package_declare_extra_files_to_package(core
   SOURCES
     common/aka_element_classes_info.hh.in
     common/aka_config.hh.in
     model/solid_mechanics/material_list.hh.in
   )
 
 if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.9))
   package_set_compile_flags(core CXX "-Wno-undefined-var-template")
 endif()
 
 if(DEFINED AKANTU_CXX11_FLAGS)
   package_declare(core_cxx11 NOT_OPTIONAL
     DESCRIPTION "C++ 11 additions for Akantu core"
     COMPILE_FLAGS CXX "${AKANTU_CXX11_FLAGS}")
 
   if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
     if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.6")
       set(AKANTU_CORE_CXX11 OFF CACHE BOOL "C++ 11 additions for Akantu core - not supported by the selected compiler" FORCE)
     endif()
   endif()
 
   package_declare_documentation(core_cxx11
     "This option activates some features of the C++11 standard. This is usable with GCC>=4.7 or Intel>=13.")
 else()
   if(CMAKE_VERSION VERSION_LESS 3.1)
     message(FATAL_ERROR "Since version 3.0 Akantu requires at least c++11 capable compiler")
   endif()
 endif()
diff --git a/src/fe_engine/fe_engine.hh b/src/fe_engine/fe_engine.hh
index b662f5305..046eab625 100644
--- a/src/fe_engine/fe_engine.hh
+++ b/src/fe_engine/fe_engine.hh
@@ -1,405 +1,385 @@
 /**
  * @file   fe_engine.hh
  *
  * @author Guillaume Anciaux <guillaume.anciaux@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Fri Jun 18 2010
  * @date last modification: Thu Oct 22 2015
  *
  * @brief  FEM class
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_FE_ENGINE_HH__
 #define __AKANTU_FE_ENGINE_HH__
 
 /* -------------------------------------------------------------------------- */
 #include "aka_memory.hh"
-#include "mesh.hh"
-#include "element_class.hh"
-#include "integration_point.hh"
-
+#include "element_type_map.hh"
 /* -------------------------------------------------------------------------- */
+
 namespace akantu {
-  class Integrator;
-  class ShapeFunctions;
-  class DOFManager;
+class Mesh;
+class Integrator;
+class ShapeFunctions;
+class DOFManager;
+class Element;
 }
 
 /* -------------------------------------------------------------------------- */
 __BEGIN_AKANTU__
 /* -------------------------------------------------------------------------- */
 
 /**
- * The  generic  FEEngine class  derived  in  a  FEEngineTemplate class  containing  the
+ * The  generic  FEEngine class  derived  in  a  FEEngineTemplate class
+ * containing  the
  * shape functions and the integration method
  */
 class FEEngine : protected Memory {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 public:
-
-  FEEngine(Mesh & mesh, UInt spatial_dimension = _all_dimensions,
-      ID id = "fem", MemoryID memory_id = 0);
+  FEEngine(Mesh & mesh, UInt spatial_dimension = _all_dimensions, ID id = "fem",
+           MemoryID memory_id = 0);
 
   virtual ~FEEngine();
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
   /// pre-compute all the shape functions, their derivatives and the jacobians
-  virtual void initShapeFunctions(const GhostType & ghost_type = _not_ghost) = 0;
+  virtual void
+  initShapeFunctions(const GhostType & ghost_type = _not_ghost) = 0;
 
   /// extract the nodal values and store them per element
-  template<typename T>
-  static void extractNodalToElementField(const Mesh & mesh,
-                                         const Array<T> & nodal_f,
-                                         Array<T> & elemental_f,
-                                         const ElementType & type,
-                                         const GhostType & ghost_type = _not_ghost,
-                                         const Array<UInt> & filter_elements = empty_filter);
+  template <typename T>
+  static void extractNodalToElementField(
+      const Mesh & mesh, const Array<T> & nodal_f, Array<T> & elemental_f,
+      const ElementType & type, const GhostType & ghost_type = _not_ghost,
+      const Array<UInt> & filter_elements = empty_filter);
 
   /// filter a field
-  template<typename T>
-  static void filterElementalData(const Mesh & mesh,
-                                  const Array<T> & quad_f,
-                                  Array<T> & filtered_f,
-                                  const ElementType & type,
-                                  const GhostType & ghost_type = _not_ghost,
-                                  const Array<UInt> & filter_elements = empty_filter);
-
-
+  template <typename T>
+  static void
+  filterElementalData(const Mesh & mesh, const Array<T> & quad_f,
+                      Array<T> & filtered_f, const ElementType & type,
+                      const GhostType & ghost_type = _not_ghost,
+                      const Array<UInt> & filter_elements = empty_filter);
 
   /* ------------------------------------------------------------------------ */
   /* Integration method bridges                                               */
   /* ------------------------------------------------------------------------ */
   /// integrate f for all elements of type "type"
-  virtual void integrate(const Array<Real> & f,
-                         Array<Real> &intf,
-                         UInt nb_degree_of_freedom,
-                         const ElementType & type,
-                         const GhostType & ghost_type = _not_ghost,
-                         const Array<UInt> & filter_elements = empty_filter) const = 0;
+  virtual void
+  integrate(const Array<Real> & f, Array<Real> & intf,
+            UInt nb_degree_of_freedom, const ElementType & type,
+            const GhostType & ghost_type = _not_ghost,
+            const Array<UInt> & filter_elements = empty_filter) const = 0;
 
   /// integrate a scalar value f on all elements of type "type"
-  virtual Real integrate(const Array<Real> & f,
-                         const ElementType & type,
-                         const GhostType & ghost_type = _not_ghost,
-                         const Array<UInt> & filter_elements = empty_filter) const = 0;
-
-  /// integrate f for all integration points of type "type" but don't sum over all integration points
-  virtual void integrateOnIntegrationPoints(const Array<Real> & f,
-                                            Array<Real> &intf,
-                                            UInt nb_degree_of_freedom,
-                                            const ElementType & type,
-                                            const GhostType & ghost_type = _not_ghost,
-                                            const Array<UInt> & filter_elements = empty_filter) const = 0;
+  virtual Real
+  integrate(const Array<Real> & f, const ElementType & type,
+            const GhostType & ghost_type = _not_ghost,
+            const Array<UInt> & filter_elements = empty_filter) const = 0;
+
+  /// integrate f for all integration points of type "type" but don't sum over
+  /// all integration points
+  virtual void integrateOnIntegrationPoints(
+      const Array<Real> & f, Array<Real> & intf, UInt nb_degree_of_freedom,
+      const ElementType & type, const GhostType & ghost_type = _not_ghost,
+      const Array<UInt> & filter_elements = empty_filter) const = 0;
 
   /// integrate one element scalar value on all elements of type "type"
-  virtual Real integrate(const Vector<Real> & f,
-                         const ElementType & type,
-                         UInt index, const GhostType & ghost_type = _not_ghost) const = 0;
-
+  virtual Real integrate(const Vector<Real> & f, const ElementType & type,
+                         UInt index,
+                         const GhostType & ghost_type = _not_ghost) const = 0;
 
-  /* ------------------------------------------------------------------------ */
-  /* compatibility with old FEEngine fashion */
-  /* ------------------------------------------------------------------------ */
+/* ------------------------------------------------------------------------ */
+/* compatibility with old FEEngine fashion */
+/* ------------------------------------------------------------------------ */
 #ifndef SWIG
   /// get the number of integration points
-  virtual UInt getNbIntegrationPoints(const ElementType & type,
-                                      const GhostType & ghost_type = _not_ghost) const = 0;
+  virtual UInt
+  getNbIntegrationPoints(const ElementType & type,
+                         const GhostType & ghost_type = _not_ghost) const = 0;
   /// get the precomputed shapes
-  const virtual Array<Real> & getShapes(const ElementType & type,
-                                        const GhostType & ghost_type = _not_ghost,
-                                        UInt id = 0) const = 0;
+  const virtual Array<Real> &
+  getShapes(const ElementType & type, const GhostType & ghost_type = _not_ghost,
+            UInt id = 0) const = 0;
 
   /// get the derivatives of shapes
-  const virtual Array<Real> & getShapesDerivatives(const ElementType & type,
-                                                   const GhostType & ghost_type = _not_ghost,
-                                                   UInt id = 0) const = 0;
+  const virtual Array<Real> &
+  getShapesDerivatives(const ElementType & type,
+                       const GhostType & ghost_type = _not_ghost,
+                       UInt id = 0) const = 0;
 
   /// get integration points
-  const virtual Matrix<Real> & getIntegrationPoints(const ElementType & type,
-                                                    const GhostType & ghost_type = _not_ghost) const = 0;
+  const virtual Matrix<Real> &
+  getIntegrationPoints(const ElementType & type,
+                       const GhostType & ghost_type = _not_ghost) const = 0;
 #endif
   /* ------------------------------------------------------------------------ */
   /* Shape method bridges                                                     */
   /* ------------------------------------------------------------------------ */
-  /// Compute the gradient nablauq on the integration points of an element type from nodal values u
-  virtual
-  void gradientOnIntegrationPoints(const Array<Real> &u,
-                                   Array<Real> &nablauq,
-                                   const UInt nb_degree_of_freedom,
-                                   const ElementType & type,
-                                   const GhostType & ghost_type = _not_ghost,
-                                   const Array<UInt> & filter_elements = empty_filter) const = 0;
-
-  /// Interpolate a nodal field u at the integration points of an element type -> uq
-  virtual
-  void interpolateOnIntegrationPoints(const Array<Real> &u,
-                                      Array<Real> &uq,
-                                      UInt nb_degree_of_freedom,
-                                      const ElementType & type,
-                                      const GhostType & ghost_type = _not_ghost,
-                                      const Array<UInt> & filter_elements = empty_filter) const = 0;
-
-  /// Interpolate a nodal field u at the integration points of many element types -> uq
-  virtual
-  void interpolateOnIntegrationPoints(const Array<Real> & u,
-                                      ElementTypeMapArray<Real> & uq,
-                                      const ElementTypeMapArray<UInt> * filter_elements = NULL) const = 0;
-
-  /// Compute the interpolation point position in the global coordinates for many element types
-  virtual
-  void computeIntegrationPointsCoordinates(ElementTypeMapArray<Real> & integration_points_coordinates,
-                                           const ElementTypeMapArray<UInt> * filter_elements = NULL) const = 0;
-
-  /// Compute the interpolation point position in the global coordinates for an element type
-  virtual
-  void computeIntegrationPointsCoordinates(Array<Real> & integration_points_coordinates,
-                                          const ElementType & type,
-                                          const GhostType & ghost_type = _not_ghost,
-                                          const Array<UInt> & filter_elements = empty_filter) const = 0;
-
-  /// Build pre-computed matrices for interpolation of field form integration points at other given positions (interpolation_points)
-  virtual
-  void initElementalFieldInterpolationFromIntegrationPoints(const ElementTypeMapArray<Real> & interpolation_points_coordinates,
-                                                            ElementTypeMapArray<Real> & interpolation_points_coordinates_matrices,
-                                                            ElementTypeMapArray<Real> & integration_points_coordinates_inv_matrices,
-                                                            const ElementTypeMapArray<UInt> * element_filter) const = 0;
-
-  /// interpolate field at given position (interpolation_points) from given values of this field at integration points (field)
-  virtual
-  void interpolateElementalFieldFromIntegrationPoints(const ElementTypeMapArray<Real> & field,
-                                                      const ElementTypeMapArray<Real> & interpolation_points_coordinates,
-                                                      ElementTypeMapArray<Real> & result,
-                                                      const GhostType ghost_type,
-                                                      const ElementTypeMapArray<UInt> * element_filter) const = 0;
-
-  /// Interpolate field at given position from given values of this field at integration points (field)
-  /// using matrices precomputed with initElementalFieldInterplationFromIntegrationPoints
-  virtual
-  void interpolateElementalFieldFromIntegrationPoints(const ElementTypeMapArray<Real> & field,
-                                                  const ElementTypeMapArray<Real> & interpolation_points_coordinates_matrices,
-                                                  const ElementTypeMapArray<Real> & integration_points_coordinates_inv_matrices,
-                                                  ElementTypeMapArray<Real> & result,
-                                                  const GhostType ghost_type,
-                                                  const ElementTypeMapArray<UInt> * element_filter) const = 0;
+  /// Compute the gradient nablauq on the integration points of an element type
+  /// from nodal values u
+  virtual void gradientOnIntegrationPoints(
+      const Array<Real> & u, Array<Real> & nablauq,
+      const UInt nb_degree_of_freedom, const ElementType & type,
+      const GhostType & ghost_type = _not_ghost,
+      const Array<UInt> & filter_elements = empty_filter) const = 0;
+
+  /// Interpolate a nodal field u at the integration points of an element type
+  /// -> uq
+  virtual void interpolateOnIntegrationPoints(
+      const Array<Real> & u, Array<Real> & uq, UInt nb_degree_of_freedom,
+      const ElementType & type, const GhostType & ghost_type = _not_ghost,
+      const Array<UInt> & filter_elements = empty_filter) const = 0;
+
+  /// Interpolate a nodal field u at the integration points of many element
+  /// types -> uq
+  virtual void interpolateOnIntegrationPoints(
+      const Array<Real> & u, ElementTypeMapArray<Real> & uq,
+      const ElementTypeMapArray<UInt> * filter_elements = NULL) const = 0;
+
+  /// Compute the interpolation point position in the global coordinates for
+  /// many element types
+  virtual void computeIntegrationPointsCoordinates(
+      ElementTypeMapArray<Real> & integration_points_coordinates,
+      const ElementTypeMapArray<UInt> * filter_elements = NULL) const = 0;
+
+  /// Compute the interpolation point position in the global coordinates for an
+  /// element type
+  virtual void computeIntegrationPointsCoordinates(
+      Array<Real> & integration_points_coordinates, const ElementType & type,
+      const GhostType & ghost_type = _not_ghost,
+      const Array<UInt> & filter_elements = empty_filter) const = 0;
+
+  /// Build pre-computed matrices for interpolation of field form integration
+  /// points at other given positions (interpolation_points)
+  virtual void initElementalFieldInterpolationFromIntegrationPoints(
+      const ElementTypeMapArray<Real> & interpolation_points_coordinates,
+      ElementTypeMapArray<Real> & interpolation_points_coordinates_matrices,
+      ElementTypeMapArray<Real> & integration_points_coordinates_inv_matrices,
+      const ElementTypeMapArray<UInt> * element_filter) const = 0;
+
+  /// interpolate field at given position (interpolation_points) from given
+  /// values of this field at integration points (field)
+  virtual void interpolateElementalFieldFromIntegrationPoints(
+      const ElementTypeMapArray<Real> & field,
+      const ElementTypeMapArray<Real> & interpolation_points_coordinates,
+      ElementTypeMapArray<Real> & result, const GhostType ghost_type,
+      const ElementTypeMapArray<UInt> * element_filter) const = 0;
+
+  /// Interpolate field at given position from given values of this field at
+  /// integration points (field)
+  /// using matrices precomputed with
+  /// initElementalFieldInterplationFromIntegrationPoints
+  virtual void interpolateElementalFieldFromIntegrationPoints(
+      const ElementTypeMapArray<Real> & field,
+      const ElementTypeMapArray<Real> &
+          interpolation_points_coordinates_matrices,
+      const ElementTypeMapArray<Real> &
+          integration_points_coordinates_inv_matrices,
+      ElementTypeMapArray<Real> & result, const GhostType ghost_type,
+      const ElementTypeMapArray<UInt> * element_filter) const = 0;
 
   /// interpolate on a phyiscal point inside an element
-  virtual
-  void interpolate(const Vector<Real> & real_coords,
-                   const Matrix<Real> & nodal_values,
-                   Vector<Real> & interpolated,
-                   const Element & element) const = 0;
+  virtual void interpolate(const Vector<Real> & real_coords,
+                           const Matrix<Real> & nodal_values,
+                           Vector<Real> & interpolated,
+                           const Element & element) const = 0;
 
   /// compute the shape on a provided point
-  virtual
-  void computeShapes(const Vector<Real> & real_coords,
-                     UInt elem,
-                     const ElementType & type,
-                     Vector<Real> & shapes,
-                     const GhostType & ghost_type = _not_ghost) const = 0;
+  virtual void
+  computeShapes(const Vector<Real> & real_coords, UInt elem,
+                const ElementType & type, Vector<Real> & shapes,
+                const GhostType & ghost_type = _not_ghost) const = 0;
 
   /// compute the shape derivatives on a provided point
-  virtual
-  void computeShapeDerivatives(const Vector<Real> & real__coords,
-                               UInt element,
-                               const ElementType & type,
-                               Matrix<Real> & shape_derivatives,
-                               const GhostType & ghost_type = _not_ghost) const = 0;
+  virtual void
+  computeShapeDerivatives(const Vector<Real> & real__coords, UInt element,
+                          const ElementType & type,
+                          Matrix<Real> & shape_derivatives,
+                          const GhostType & ghost_type = _not_ghost) const = 0;
 
   /* ------------------------------------------------------------------------ */
   /* Other methods                                                            */
   /* ------------------------------------------------------------------------ */
 
   /// pre-compute normals on integration points
-  virtual void computeNormalsOnIntegrationPoints(const GhostType & ghost_type = _not_ghost) = 0;
+  virtual void computeNormalsOnIntegrationPoints(
+      const GhostType & ghost_type = _not_ghost) = 0;
 
   /// pre-compute normals on integration points
-  virtual void computeNormalsOnIntegrationPoints(__attribute__((unused)) const Array<Real> & field,
-                                             __attribute__((unused)) const GhostType & ghost_type = _not_ghost) {
+  virtual void computeNormalsOnIntegrationPoints(
+      __attribute__((unused)) const Array<Real> & field,
+      __attribute__((unused)) const GhostType & ghost_type = _not_ghost) {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   /// pre-compute normals on integration points
-  virtual void computeNormalsOnIntegrationPoints(__attribute__((unused)) const Array<Real> & field,
-                                                 __attribute__((unused)) Array<Real> & normal,
-                                                 __attribute__((unused)) const ElementType & type,
-                                                 __attribute__((unused)) const GhostType & ghost_type = _not_ghost) const {
+  virtual void computeNormalsOnIntegrationPoints(
+      __attribute__((unused)) const Array<Real> & field,
+      __attribute__((unused)) Array<Real> & normal,
+      __attribute__((unused)) const ElementType & type,
+      __attribute__((unused)) const GhostType & ghost_type = _not_ghost) const {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
-
-  // /// assemble vectors
-  // void assembleArray(const Array<Real> & elementary_vect,
-  //                     Array<Real> & nodal_values,
-  //                     const Array<Int> & equation_number,
-  //                     UInt nb_degree_of_freedom,
-  //                     const ElementType & type,
-  //                     const GhostType & ghost_type = _not_ghost,
-  //                     const Array<UInt> & filter_elements = empty_filter,
-  //                     Real scale_factor = 1) const;
-
-  // /// assemble matrix in the complete sparse matrix
-  // void assembleMatrix(const Array<Real> & elementary_mat,
-  //                     SparseMatrix & matrix,
-  //                     UInt nb_degree_of_freedom,
-  //                     const ElementType & type,
-  //                     const GhostType & ghost_type = _not_ghost,
-  //                     const Array<UInt> & filter_elements = empty_filter) const;
-
-
   /// assemble a field as a lumped matrix (ex. rho in lumped mass)
-  virtual void assembleFieldLumped(__attribute__ ((unused)) const Array<Real> & field,
-                                   __attribute__ ((unused)) const ID & lumped,
-                                   __attribute__ ((unused)) const ID & dof_id,
-                                   __attribute__ ((unused)) DOFManager & dof_manager,
-                                   __attribute__ ((unused)) ElementType type,
-                                   __attribute__ ((unused)) const GhostType & ghost_type) const {
+  virtual void assembleFieldLumped(__attribute__((unused))
+                                   const Array<Real> & field,
+                                   __attribute__((unused)) const ID & lumped,
+                                   __attribute__((unused)) const ID & dof_id,
+                                   __attribute__((unused))
+                                   DOFManager & dof_manager,
+                                   __attribute__((unused)) ElementType type,
+                                   __attribute__((unused))
+                                   const GhostType & ghost_type) const {
     AKANTU_DEBUG_TO_IMPLEMENT();
   };
 
-
   /// assemble a field as a matrix (ex. rho to mass matrix)
-  virtual void assembleFieldMatrix(__attribute__ ((unused)) const Array<Real> & field_1,
-                                   __attribute__ ((unused)) UInt nb_degree_of_freedom,
-                                   __attribute__ ((unused)) SparseMatrix & matrix,
-                                   __attribute__ ((unused)) ElementType type,
-                                   __attribute__ ((unused)) const GhostType & ghost_type) const {
+  virtual void
+  assembleFieldMatrix(__attribute__((unused)) const Array<Real> & field_1,
+                      __attribute__((unused)) UInt nb_degree_of_freedom,
+                      __attribute__((unused)) SparseMatrix & matrix,
+                      __attribute__((unused)) ElementType type,
+                      __attribute__((unused))
+                      const GhostType & ghost_type) const {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
-
 #ifdef AKANTU_STRUCTURAL_MECHANICS
 
-  /// assemble a field as a matrix for structural elements (ex. rho to mass matrix)
- virtual  void assembleFieldMatrix(__attribute__ ((unused)) const Array<Real> & field_1,
-                                   __attribute__ ((unused)) UInt nb_degree_of_freedom,
-                                   __attribute__ ((unused)) SparseMatrix & M,
-                                   __attribute__ ((unused)) Array<Real> * n,
-                                   __attribute__ ((unused)) ElementTypeMapArray<Real> & rotation_mat,
-                                   __attribute__ ((unused)) ElementType type,
-                                   __attribute__ ((unused)) const GhostType & ghost_type) const {
-
-   AKANTU_DEBUG_TO_IMPLEMENT();
- }
+  /// assemble a field as a matrix for structural elements (ex. rho to mass
+  /// matrix)
+  virtual void assembleFieldMatrix(
+      __attribute__((unused)) const Array<Real> & field_1,
+      __attribute__((unused)) UInt nb_degree_of_freedom,
+      __attribute__((unused)) SparseMatrix & M,
+      __attribute__((unused)) Array<Real> * n,
+      __attribute__((unused)) ElementTypeMapArray<Real> & rotation_mat,
+      __attribute__((unused)) ElementType type,
+      __attribute__((unused)) const GhostType & ghost_type) const {
+
+    AKANTU_DEBUG_TO_IMPLEMENT();
+  }
   /// compute shapes function in a matrix for structural elements
-  virtual void computeShapesMatrix(__attribute__ ((unused))const ElementType & type,
-                                   __attribute__ ((unused))UInt nb_degree_of_freedom,
-                                   __attribute__ ((unused))UInt nb_nodes_per_element,
-                                   __attribute__ ((unused))Array<Real> * n,
-                                   __attribute__ ((unused))UInt id,
-                                   __attribute__ ((unused))UInt degree_to_interpolate,
-                                   __attribute__ ((unused))UInt degree_interpolated,
-                                   __attribute__ ((unused))const bool sign,
-                                   __attribute__ ((unused))const GhostType & ghost_type) const {
+  virtual void computeShapesMatrix(
+      __attribute__((unused)) const ElementType & type,
+      __attribute__((unused)) UInt nb_degree_of_freedom,
+      __attribute__((unused)) UInt nb_nodes_per_element,
+      __attribute__((unused)) Array<Real> * n, __attribute__((unused)) UInt id,
+      __attribute__((unused)) UInt degree_to_interpolate,
+      __attribute__((unused)) UInt degree_interpolated,
+      __attribute__((unused)) const bool sign,
+      __attribute__((unused)) const GhostType & ghost_type) const {
 
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
 #endif
 
   /// function to print the containt of the class
   virtual void printself(std::ostream & stream, int indent = 0) const;
 
 private:
   /// initialise the class
   void init();
 
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   /// get the dimension of the element handeled by this fe_engine object
   AKANTU_GET_MACRO(ElementDimension, element_dimension, UInt);
 
   /// get the mesh contained in the fem object
   AKANTU_GET_MACRO(Mesh, mesh, const Mesh &);
   /// get the mesh contained in the fem object
   AKANTU_GET_MACRO_NOT_CONST(Mesh, mesh, Mesh &);
 
   /// get the in-radius of an element
-  static inline Real getElementInradius(const Matrix<Real> & coord, const ElementType & type);
+  static inline Real getElementInradius(const Matrix<Real> & coord,
+                                        const ElementType & type);
 
   /// get the normals on integration points
-  AKANTU_GET_MACRO_BY_ELEMENT_TYPE_CONST(NormalsOnIntegrationPoints, normals_on_integration_points, Real);
+  AKANTU_GET_MACRO_BY_ELEMENT_TYPE_CONST(NormalsOnIntegrationPoints,
+                                         normals_on_integration_points, Real);
 
   /// get cohesive element type for a given facet type
-  static inline ElementType getCohesiveElementType(const ElementType & type_facet);
+  static inline ElementType
+  getCohesiveElementType(const ElementType & type_facet);
 
   /// get igfem element type for a given regular type
-  static inline Vector<ElementType> getIGFEMElementTypes(const ElementType & type);
+  static inline Vector<ElementType>
+  getIGFEMElementTypes(const ElementType & type);
 
   /// get the interpolation element associated to an element type
-  static inline InterpolationType getInterpolationType(const ElementType & el_type);
+  static inline InterpolationType
+  getInterpolationType(const ElementType & el_type);
 
-  /// get the shape function class (probably useless: see getShapeFunction in fe_engine_template.hh)
+  /// get the shape function class (probably useless: see getShapeFunction in
+  /// fe_engine_template.hh)
   virtual const ShapeFunctions & getShapeFunctionsInterface() const = 0;
-  /// get the integrator class (probably useless: see getIntegrator in fe_engine_template.hh)
+  /// get the integrator class (probably useless: see getIntegrator in
+  /// fe_engine_template.hh)
   virtual const Integrator & getIntegratorInterface() const = 0;
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 protected:
   /// spatial dimension of the problem
   UInt element_dimension;
 
   /// the mesh on which all computation are made
   Mesh & mesh;
 
   /// normals at integration points
   ElementTypeMapArray<Real> normals_on_integration_points;
-
 };
 
 /* -------------------------------------------------------------------------- */
 /* inline functions                                                           */
 /* -------------------------------------------------------------------------- */
 
 /// standard output stream operator
-inline std::ostream & operator <<(std::ostream & stream, const FEEngine & _this)
-{
-  _this.printself(stream);
-  return stream;
-}
-
-
-/// standard output stream operator
-inline std::ostream & operator <<(std::ostream & stream, const IntegrationPoint & _this)
-{
+inline std::ostream & operator<<(std::ostream & stream,
+                                 const FEEngine & _this) {
   _this.printself(stream);
   return stream;
 }
 
 __END_AKANTU__
 
 #include "fe_engine_inline_impl.cc"
 #include "fe_engine_template.hh"
 
 #endif /* __AKANTU_FE_ENGINE_HH__ */
diff --git a/src/fe_engine/fe_engine_inline_impl.cc b/src/fe_engine/fe_engine_inline_impl.cc
index 671f5fc74..f44c2c0d9 100644
--- a/src/fe_engine/fe_engine_inline_impl.cc
+++ b/src/fe_engine/fe_engine_inline_impl.cc
@@ -1,209 +1,218 @@
 /**
  * @file   fe_engine_inline_impl.cc
  *
  * @author Guillaume Anciaux <guillaume.anciaux@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Tue Jul 20 2010
  * @date last modification: Sat Sep 05 2015
  *
  * @brief  Implementation of the inline functions of the FEEngine Class
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
-
 /* -------------------------------------------------------------------------- */
+#include "fe_engine.hh"
+#include "mesh.hh"
+#include "element_class.hh"
+/* -------------------------------------------------------------------------- */
+
+#ifndef __AKANTU_FE_ENGINE_INLINE_IMPL_CC__
+#define __AKANTU_FE_ENGINE_INLINE_IMPL_CC__
+
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 inline Real FEEngine::getElementInradius(const Matrix<Real> & coord,
                                          const ElementType & type) {
   AKANTU_DEBUG_IN();
 
   Real inradius = 0;
 
 #define GET_INRADIUS(type) inradius = ElementClass<type>::getInradius(coord);
 
   AKANTU_BOOST_ALL_ELEMENT_SWITCH(GET_INRADIUS);
 #undef GET_INRADIUS
 
   AKANTU_DEBUG_OUT();
   return inradius;
 }
 
 /* -------------------------------------------------------------------------- */
 inline InterpolationType
 FEEngine::getInterpolationType(const ElementType & type) {
   AKANTU_DEBUG_IN();
 
   InterpolationType itp_type = _itp_not_defined;
 
 #define GET_ITP(type) itp_type = ElementClassProperty<type>::interpolation_type;
 
   AKANTU_BOOST_ALL_ELEMENT_SWITCH(GET_ITP);
 #undef GET_ITP
 
   AKANTU_DEBUG_OUT();
   return itp_type;
 }
 
 /* -------------------------------------------------------------------------- */
 /// @todo rewrite this function in order to get the cohesive element
 /// type directly from the facet
 #if defined(AKANTU_COHESIVE_ELEMENT)
 inline ElementType
 FEEngine::getCohesiveElementType(const ElementType & type_facet) {
   AKANTU_DEBUG_IN();
 
   ElementType type_cohesive = _not_defined;
 
   if (type_facet == _point_1)
     type_cohesive = _cohesive_1d_2;
   else if (type_facet == _segment_2)
     type_cohesive = _cohesive_2d_4;
   else if (type_facet == _segment_3)
     type_cohesive = _cohesive_2d_6;
   else if (type_facet == _triangle_3)
     type_cohesive = _cohesive_3d_6;
   else if (type_facet == _triangle_6)
     type_cohesive = _cohesive_3d_12;
   else if (type_facet == _quadrangle_4)
     type_cohesive = _cohesive_3d_8;
   else if (type_facet == _quadrangle_8)
     type_cohesive = _cohesive_3d_16;
 
   AKANTU_DEBUG_OUT();
   return type_cohesive;
 }
 #else
 inline ElementType
 FEEngine::getCohesiveElementType(__attribute__((unused))
                                  const ElementType & type_facet) {
   return _not_defined;
 }
 #endif
 
 /* -------------------------------------------------------------------------- */
 #if defined(AKANTU_IGFEM)
 __END_AKANTU__
 #include "igfem_helper.hh"
 __BEGIN_AKANTU__
 
 inline Vector<ElementType>
 FEEngine::getIGFEMElementTypes(const ElementType & type) {
 
 #define GET_IGFEM_ELEMENT_TYPES(type)                                          \
   return IGFEMHelper::getIGFEMElementTypes<type>();
 
   AKANTU_BOOST_REGULAR_ELEMENT_SWITCH(GET_IGFEM_ELEMENT_TYPES);
 
 #undef GET_IGFEM_ELEMENT_TYPES
 }
 #endif
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 void FEEngine::extractNodalToElementField(const Mesh & mesh,
                                           const Array<T> & nodal_f,
                                           Array<T> & elemental_f,
                                           const ElementType & type,
                                           const GhostType & ghost_type,
                                           const Array<UInt> & filter_elements) {
   AKANTU_DEBUG_IN();
 
   UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
   UInt nb_degree_of_freedom = nodal_f.getNbComponent();
   UInt nb_element = mesh.getNbElement(type, ghost_type);
   UInt * conn_val = mesh.getConnectivity(type, ghost_type).storage();
 
   if (filter_elements != empty_filter) {
     nb_element = filter_elements.getSize();
   }
 
   elemental_f.resize(nb_element);
 
   T * nodal_f_val = nodal_f.storage();
   T * f_val = elemental_f.storage();
 
   UInt * el_conn;
   for (UInt el = 0; el < nb_element; ++el) {
     if (filter_elements != empty_filter)
       el_conn = conn_val + filter_elements(el) * nb_nodes_per_element;
     else
       el_conn = conn_val + el * nb_nodes_per_element;
 
     for (UInt n = 0; n < nb_nodes_per_element; ++n) {
       UInt node = *(el_conn + n);
       std::copy(nodal_f_val + node * nb_degree_of_freedom,
                 nodal_f_val + (node + 1) * nb_degree_of_freedom, f_val);
       f_val += nb_degree_of_freedom;
     }
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 void FEEngine::filterElementalData(const Mesh & mesh, const Array<T> & elem_f,
                                    Array<T> & filtered_f,
                                    const ElementType & type,
                                    const GhostType & ghost_type,
                                    const Array<UInt> & filter_elements) {
   AKANTU_DEBUG_IN();
 
   UInt nb_element = mesh.getNbElement(type, ghost_type);
   if (nb_element == 0) {
     filtered_f.resize(0);
     return;
   }
 
   UInt nb_degree_of_freedom = elem_f.getNbComponent();
   UInt nb_data_per_element = elem_f.getSize() / nb_element;
 
   if (filter_elements != empty_filter) {
     nb_element = filter_elements.getSize();
   }
 
   filtered_f.resize(nb_element * nb_data_per_element);
 
   T * elem_f_val = elem_f.storage();
   T * f_val = filtered_f.storage();
 
   UInt el_offset;
   for (UInt el = 0; el < nb_element; ++el) {
     if (filter_elements != empty_filter)
       el_offset = filter_elements(el);
     else
       el_offset = el;
 
     std::copy(elem_f_val +
                   el_offset * nb_data_per_element * nb_degree_of_freedom,
               elem_f_val +
                   (el_offset + 1) * nb_data_per_element * nb_degree_of_freedom,
               f_val);
     f_val += nb_degree_of_freedom * nb_data_per_element;
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 __END_AKANTU__
+
+#endif /* __AKANTU_FE_ENGINE_INLINE_IMPL_CC__ */
diff --git a/src/fe_engine/integration_point.hh b/src/fe_engine/integration_point.hh
index eb9677fe0..58d3fbab9 100644
--- a/src/fe_engine/integration_point.hh
+++ b/src/fe_engine/integration_point.hh
@@ -1,157 +1,169 @@
 /**
  * @file   integration_point.hh
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Wed Jun 17 2015
  * @date last modification: Sun Nov 15 2015
  *
  * @brief  definition of the class IntegrationPoint
  *
  * @section LICENSE
  *
  * Copyright (©) 2015 EPFL (Ecole Polytechnique Fédérale de Lausanne) Laboratory
  * (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
+/* -------------------------------------------------------------------------- */
+#include "aka_types.hh"
+#include "element.hh"
+/* -------------------------------------------------------------------------- */
 
 #ifndef AKANTU_QUADRATURE_POINT_H
 #define AKANTU_QUADRATURE_POINT_H
+
 /* -------------------------------------------------------------------------- */
-#include "element.hh"
-#include "aka_types.hh"
-/* -------------------------------------------------------------------------- */
+
 __BEGIN_AKANTU__
+
 /* -------------------------------------------------------------------------- */
 class IntegrationPoint;
 extern const IntegrationPoint IntegrationPointNull;
 /* -------------------------------------------------------------------------- */
 
 class IntegrationPoint : public Element {
 
   /* ------------------------------------------------------------------------ */
   /* Typedefs                                                                 */
   /* ------------------------------------------------------------------------ */
 
 public:
   typedef Vector<Real> position_type;
 
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 
 public:
-  IntegrationPoint(const Element & element, UInt num_point = 0, UInt nb_quad_per_element = 0) :
-    Element(element), num_point(num_point),
-    global_num(element.element*nb_quad_per_element + num_point),
-    position((Real *)NULL, 0) { };
+  IntegrationPoint(const Element & element, UInt num_point = 0,
+                   UInt nb_quad_per_element = 0)
+      : Element(element), num_point(num_point),
+        global_num(element.element * nb_quad_per_element + num_point),
+        position((Real *)NULL, 0){};
 
   IntegrationPoint(ElementType type = _not_defined, UInt element = 0,
-		  UInt num_point = 0, GhostType ghost_type = _not_ghost) :
-    Element(type, element, ghost_type), num_point(num_point), global_num(0),
-    position((Real *)NULL, 0) { };
-
-  IntegrationPoint(UInt element, UInt num_point,
-		  UInt global_num,
-		  const position_type & position,
-		  ElementType type,
-		  GhostType ghost_type = _not_ghost) :
-    Element(type, element, ghost_type), num_point(num_point), global_num(global_num),
-    position((Real *)NULL, 0) { this->position.shallowCopy(position); };
-
-  IntegrationPoint(const IntegrationPoint & quad) :
-    Element(quad), num_point(quad.num_point), global_num(quad.global_num), position((Real *) NULL, 0) {
+                   UInt num_point = 0, GhostType ghost_type = _not_ghost)
+      : Element(type, element, ghost_type), num_point(num_point), global_num(0),
+        position((Real *)NULL, 0){};
+
+  IntegrationPoint(UInt element, UInt num_point, UInt global_num,
+                   const position_type & position, ElementType type,
+                   GhostType ghost_type = _not_ghost)
+      : Element(type, element, ghost_type), num_point(num_point),
+        global_num(global_num), position((Real *)NULL, 0) {
+    this->position.shallowCopy(position);
+  };
+
+  IntegrationPoint(const IntegrationPoint & quad)
+      : Element(quad), num_point(quad.num_point), global_num(quad.global_num),
+        position((Real *)NULL, 0) {
     position.shallowCopy(quad.position);
   };
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 
   inline bool operator==(const IntegrationPoint & quad) const {
     return Element::operator==(quad) && this->num_point == quad.num_point;
   }
 
   inline bool operator!=(const IntegrationPoint & quad) const {
-    return ((element != quad.element)
-            || (type != quad.type)
-            || (ghost_type != quad.ghost_type)
-            || (kind != quad.kind)
-	    || (num_point != quad.num_point)
-	    || (global_num != quad.global_num));
+    return ((element != quad.element) || (type != quad.type) ||
+            (ghost_type != quad.ghost_type) || (kind != quad.kind) ||
+            (num_point != quad.num_point) || (global_num != quad.global_num));
   }
 
-  bool operator<(const IntegrationPoint& rhs) const {
-    bool res = Element::operator<(rhs) || (Element::operator==(rhs) && this->num_point < rhs.num_point);
+  bool operator<(const IntegrationPoint & rhs) const {
+    bool res = Element::operator<(rhs) ||
+               (Element::operator==(rhs) && this->num_point < rhs.num_point);
     return res;
   }
 
   inline IntegrationPoint & operator=(const IntegrationPoint & q) {
-    if(this != &q) {
-      element    = q.element;
-      type       = q.type;
+    if (this != &q) {
+      element = q.element;
+      type = q.type;
       ghost_type = q.ghost_type;
-      num_point  = q.num_point;
+      num_point = q.num_point;
       global_num = q.global_num;
       position.shallowCopy(q.position);
     }
 
     return *this;
   }
-  
+
   /// get the position of the integration point
   AKANTU_GET_MACRO(Position, position, const position_type &);
 
   /// set the position of the integration point
   void setPosition(const position_type & position) {
     this->position.shallowCopy(position);
   }
 
   /// deep copy of the position of the integration point
   void copyPosition(const position_type & position) {
     this->position.deepCopy(position);
   }
 
   /// function to print the containt of the class
   virtual void printself(std::ostream & stream, int indent = 0) const {
     std::string space;
-    for(Int i = 0; i < indent; i++, space += AKANTU_INDENT);
+    for (Int i = 0; i < indent; i++, space += AKANTU_INDENT)
+      ;
     stream << space << "IntegrationPoint [";
     Element::printself(stream, 0);
-    stream << ", " << num_point << "(" << global_num << ")" << "]";
+    stream << ", " << num_point << "(" << global_num << ")"
+           << "]";
   }
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 
 public:
   /// number of quadrature point in the element
   UInt num_point;
   /// global number of the quadrature point
   UInt global_num;
   // TODO might be temporary: however this class should be tought maybe...
   std::string material_id;
-private:
 
+private:
   /// position of the quadrature point
   position_type position;
 };
 
-__END_AKANTU__
+/// standard output stream operator
+inline std::ostream & operator<<(std::ostream & stream,
+                                 const IntegrationPoint & _this) {
+  _this.printself(stream);
+  return stream;
+}
 
+__END_AKANTU__
 
 #endif /* AKANTU_QUADRATURE_POINT_H */
diff --git a/src/model/boundary_condition_functor.hh b/src/model/boundary_condition_functor.hh
index 5354a89b9..92aee20bc 100644
--- a/src/model/boundary_condition_functor.hh
+++ b/src/model/boundary_condition_functor.hh
@@ -1,194 +1,197 @@
 /**
  * @file   boundary_condition_functor.hh
  *
  * @author Dana Christen <dana.christen@gmail.com>
  * @author David Simon Kammer <david.kammer@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Fri May 03 2013
  * @date last modification: Thu Oct 15 2015
  *
  * @brief  Definitions of the functors to apply boundary conditions
  *
  * @section LICENSE
  *
  * Copyright  (©)  2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
+#include "aka_common.hh"
+#include "fe_engine.hh"
+#include "integration_point.hh"
+/* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_BOUNDARY_CONDITION_FUNCTOR_HH__
 #define __AKANTU_BOUNDARY_CONDITION_FUNCTOR_HH__
 
-#include "aka_common.hh"
-#include "fe_engine.hh"
+/* -------------------------------------------------------------------------- */
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 namespace BC {
 typedef ::akantu::SpacialDirection Axis;
 
 struct Functor {
   enum Type { _dirichlet, _neumann };
 };
 
 /* ------------------------------------------------------------------------ */
 /* Dirichlet                                                                */
 /* ------------------------------------------------------------------------ */
 namespace Dirichlet {
   /* ---------------------------------------------------------------------- */
   class DirichletFunctor : public Functor {
   protected:
     DirichletFunctor() : axis(_x) {}
-    DirichletFunctor(Axis ax) : axis(ax) {}
+    explicit DirichletFunctor(Axis ax) : axis(ax) {}
 
   public:
     void operator()(__attribute__((unused)) UInt node,
                     __attribute__((unused)) Vector<bool> & flags,
                     __attribute__((unused)) Vector<Real> & primal,
                     __attribute__((unused)) const Vector<Real> & coord) const {
       AKANTU_DEBUG_TO_IMPLEMENT();
     }
 
   public:
     static const Type type = _dirichlet;
 
   protected:
     Axis axis;
   };
 
   /* ---------------------------------------------------------------------- */
   class FlagOnly : public DirichletFunctor {
   public:
-    FlagOnly(Axis ax = _x) : DirichletFunctor(ax) {}
+    explicit FlagOnly(Axis ax = _x) : DirichletFunctor(ax) {}
 
   public:
     inline void operator()(UInt node, Vector<bool> & flags,
                            Vector<Real> & primal,
                            const Vector<Real> & coord) const;
   };
 
   /* ---------------------------------------------------------------------- */
   class FreeBoundary : public DirichletFunctor {
   public:
-    FreeBoundary(Axis ax = _x) : DirichletFunctor(ax) {}
+    explicit FreeBoundary(Axis ax = _x) : DirichletFunctor(ax) {}
 
   public:
     inline void operator()(UInt node, Vector<bool> & flags,
                            Vector<Real> & primal,
                            const Vector<Real> & coord) const;
   };
 
   /* ---------------------------------------------------------------------- */
   class FixedValue : public DirichletFunctor {
   public:
     FixedValue(Real val, Axis ax = _x) : DirichletFunctor(ax), value(val) {}
 
   public:
     inline void operator()(UInt node, Vector<bool> & flags,
                            Vector<Real> & primal,
                            const Vector<Real> & coord) const;
 
   protected:
     Real value;
   };
 
   /* ---------------------------------------------------------------------- */
   class IncrementValue : public DirichletFunctor {
   public:
     IncrementValue(Real val, Axis ax = _x) : DirichletFunctor(ax), value(val) {}
 
   public:
     inline void operator()(UInt node, Vector<bool> & flags,
                            Vector<Real> & primal,
                            const Vector<Real> & coord) const;
 
     inline void setIncrement(Real val) { this->value = val; }
 
   protected:
     Real value;
   };
 } // end namespace Dirichlet
 
 /* ------------------------------------------------------------------------ */
 /* Neumann                                                                  */
 /* ------------------------------------------------------------------------ */
 namespace Neumann {
   /* ---------------------------------------------------------------------- */
   class NeumannFunctor : public Functor {
 
   protected:
     NeumannFunctor() {}
 
   public:
     virtual void operator()(const IntegrationPoint & quad_point,
                             Vector<Real> & dual, const Vector<Real> & coord,
                             const Vector<Real> & normals) const = 0;
 
     virtual ~NeumannFunctor() {}
 
   public:
     static const Type type = _neumann;
   };
 
   /* ---------------------------------------------------------------------- */
   class FromHigherDim : public NeumannFunctor {
   public:
-    FromHigherDim(const Matrix<Real> & mat) : bc_data(mat) {}
+    explicit FromHigherDim(const Matrix<Real> & mat) : bc_data(mat) {}
     virtual ~FromHigherDim() {}
 
   public:
     inline void operator()(const IntegrationPoint & quad_point,
                            Vector<Real> & dual, const Vector<Real> & coord,
                            const Vector<Real> & normals) const;
 
   protected:
     Matrix<Real> bc_data;
   };
 
   /* ---------------------------------------------------------------------- */
   class FromSameDim : public NeumannFunctor {
   public:
-    FromSameDim(const Vector<Real> & vec) : bc_data(vec) {}
+    explicit FromSameDim(const Vector<Real> & vec) : bc_data(vec) {}
     virtual ~FromSameDim() {}
 
   public:
     inline void operator()(const IntegrationPoint & quad_point,
                            Vector<Real> & dual, const Vector<Real> & coord,
                            const Vector<Real> & normals) const;
 
   protected:
     Vector<Real> bc_data;
   };
 
   /* ---------------------------------------------------------------------- */
   class FreeBoundary : public NeumannFunctor {
   public:
     inline void operator()(const IntegrationPoint & quad_point,
                            Vector<Real> & dual, const Vector<Real> & coord,
                            const Vector<Real> & normals) const;
   };
 } // end namespace Neumann
 } // end namespace BC
 
 __END_AKANTU__
 
 #include "boundary_condition_functor_inline_impl.cc"
 
 #endif /* __AKANTU_BOUNDARY_CONDITION_FUNCTOR_HH__ */
diff --git a/src/model/dof_manager.cc b/src/model/dof_manager.cc
index 26770d970..9ffe16fbc 100644
--- a/src/model/dof_manager.cc
+++ b/src/model/dof_manager.cc
@@ -1,643 +1,646 @@
+
 /**
  * @file   dof_manager.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Wed Aug 12 09:52:30 2015
  *
  * @brief  Implementation of the common parts of the DOFManagers
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "dof_manager.hh"
 #include "element_group.hh"
 #include "mesh.hh"
 #include "mesh_utils.hh"
 #include "node_group.hh"
 #include "sparse_matrix.hh"
 #include "static_communicator.hh"
+#include "non_linear_solver.hh"
+#include "time_step_solver.hh"
 /* -------------------------------------------------------------------------- */
 
-__BEGIN_AKANTU__
+namespace akantu {
 
 /* -------------------------------------------------------------------------- */
 DOFManager::DOFManager(const ID & id, const MemoryID & memory_id)
     : Memory(id, memory_id), mesh(NULL), local_system_size(0),
       pure_local_system_size(0), system_size(0) {}
 
 /* -------------------------------------------------------------------------- */
 DOFManager::~DOFManager() {
   NodesToElements::scalar_iterator nte_it = this->nodes_to_elements.begin();
   NodesToElements::scalar_iterator nte_end = this->nodes_to_elements.end();
   for (; nte_it != nte_end; ++nte_it)
     delete *nte_it;
 
   DOFStorage::iterator ds_it = dofs.begin();
   DOFStorage::iterator ds_end = dofs.end();
   for (; ds_it != ds_end; ++ds_it)
     delete ds_it->second;
 
   SparseMatricesMap::iterator sm_it = matrices.begin();
   SparseMatricesMap::iterator sm_end = matrices.end();
   for (; sm_it != sm_end; ++sm_it)
     delete sm_it->second;
 
   NonLinearSolversMap::iterator nls_it = non_linear_solvers.begin();
   NonLinearSolversMap::iterator nls_end = non_linear_solvers.end();
   for (; nls_it != nls_end; ++nls_it)
     delete nls_it->second;
 
   TimeStepSolversMap::iterator tss_it = time_step_solvers.begin();
   TimeStepSolversMap::iterator tss_end = time_step_solvers.end();
   for (; tss_it != tss_end; ++tss_it)
     delete tss_it->second;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::getEquationsNumbers(const ID &, Array<UInt> &) {
   AKANTU_DEBUG_TO_IMPLEMENT();
 }
 
 /* -------------------------------------------------------------------------- */
 std::vector<ID> DOFManager::getDOFIDs() const {
   std::vector<ID> keys;
   for (const auto & dof_data : this->dofs)
     keys.push_back(dof_data.first);
 
   return keys;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::assembleElementalArrayLocalArray(
     const Array<Real> & elementary_vect, Array<Real> & array_assembeled,
     const ElementType & type, const GhostType & ghost_type, Real scale_factor,
     const Array<UInt> & filter_elements) {
   AKANTU_DEBUG_IN();
 
   UInt nb_element;
   UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
   UInt nb_degree_of_freedom =
       elementary_vect.getNbComponent() / nb_nodes_per_element;
 
   UInt * filter_it = NULL;
   if (filter_elements != empty_filter) {
     nb_element = filter_elements.getSize();
     filter_it = filter_elements.storage();
   } else {
     nb_element = this->mesh->getNbElement(type, ghost_type);
   }
 
   AKANTU_DEBUG_ASSERT(elementary_vect.getSize() == nb_element,
                       "The vector elementary_vect("
                           << elementary_vect.getID()
                           << ") has not the good size.");
 
   const Array<UInt> & connectivity =
       this->mesh->getConnectivity(type, ghost_type);
   // Array<UInt>::const_vector_iterator conn_begin =
   //     connectivity.begin(nb_nodes_per_element);
   // Array<UInt>::const_vector_iterator conn_it = conn_begin;
 
   Array<Real>::const_matrix_iterator elem_it =
       elementary_vect.begin(nb_degree_of_freedom, nb_nodes_per_element);
 
   for (UInt el = 0; el < nb_element; ++el, ++elem_it) {
     UInt element = el;
     if (filter_it != NULL) {
       // conn_it = conn_begin + *filter_it;
       element = *filter_it;
     }
 
     // const Vector<UInt> & conn = *conn_it;
     const Matrix<Real> & elemental_val = *elem_it;
     for (UInt n = 0; n < nb_nodes_per_element; ++n) {
       UInt offset_node = connectivity(element, n) * nb_degree_of_freedom;
       Vector<Real> assemble(array_assembeled.storage() + offset_node,
                             nb_degree_of_freedom);
       Vector<Real> elem_val = elemental_val(n);
       assemble.aXplusY(elem_val, scale_factor);
     }
 
     if (filter_it != NULL)
       ++filter_it;
     //    else
     //      ++conn_it;
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::assembleElementalArrayToResidual(
     const ID & dof_id, const Array<Real> & elementary_vect,
     const ElementType & type, const GhostType & ghost_type, Real scale_factor,
     const Array<UInt> & filter_elements) {
   AKANTU_DEBUG_IN();
 
   UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
   UInt nb_degree_of_freedom =
       elementary_vect.getNbComponent() / nb_nodes_per_element;
   Array<Real> array_localy_assembeled(this->mesh->getNbNodes(),
                                       nb_degree_of_freedom);
 
   array_localy_assembeled.clear();
 
   this->assembleElementalArrayLocalArray(
       elementary_vect, array_localy_assembeled, type, ghost_type, scale_factor,
       filter_elements);
 
   this->assembleToResidual(dof_id, array_localy_assembeled, 1);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::assembleElementalArrayToLumpedMatrix(
     const ID & dof_id, const Array<Real> & elementary_vect,
     const ID & lumped_mtx, const ElementType & type,
     const GhostType & ghost_type, Real scale_factor,
     const Array<UInt> & filter_elements) {
   AKANTU_DEBUG_IN();
 
   UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
   UInt nb_degree_of_freedom =
       elementary_vect.getNbComponent() / nb_nodes_per_element;
   Array<Real> array_localy_assembeled(this->mesh->getNbNodes(),
                                       nb_degree_of_freedom);
 
   array_localy_assembeled.clear();
 
   this->assembleElementalArrayLocalArray(
       elementary_vect, array_localy_assembeled, type, ghost_type, scale_factor,
       filter_elements);
 
   this->assembleToLumpedMatrix(dof_id, array_localy_assembeled, lumped_mtx, 1);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerMesh(Mesh & mesh) {
   this->mesh = &mesh;
   this->mesh->registerEventHandler(*this, 20);
 
   UInt nb_nodes = this->mesh->getNbNodes();
   this->nodes_to_elements.resize(nb_nodes);
   for (UInt n = 0; n < nb_nodes; ++n) {
     this->nodes_to_elements[n] = new std::set<Element>();
   }
 }
 
 /* -------------------------------------------------------------------------- */
 DOFManager::DOFData::DOFData(const ID & dof_id)
     : support_type(_dst_generic), group_support("mesh"), dof(NULL),
       blocked_dofs(NULL), increment(NULL), previous(NULL),
       solution(0, 1, dof_id + ":solution"),
       local_equation_number(0, 1, dof_id + ":local_equation_number") {}
 
 /* -------------------------------------------------------------------------- */
 DOFManager::DOFData::~DOFData() {}
 
 /* -------------------------------------------------------------------------- */
 DOFManager::DOFData & DOFManager::getNewDOFData(const ID & dof_id) {
   DOFStorage::iterator it = this->dofs.find(dof_id);
   if (it != this->dofs.end()) {
     AKANTU_EXCEPTION("This dof array has already been registered");
   }
 
   DOFData * dofs_storage = new DOFData(dof_id);
   this->dofs[dof_id] = dofs_storage;
   return *dofs_storage;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerDOFsInternal(const ID & dof_id,
                                       Array<Real> & dofs_array) {
   DOFData & dofs_storage = this->getDOFData(dof_id);
   dofs_storage.dof = &dofs_array;
 
   UInt nb_local_dofs = 0;
   UInt nb_pure_local = 0;
 
   const DOFSupportType &support_type = dofs_storage.support_type;
 
   switch (support_type) {
   case _dst_nodal: {
     UInt nb_nodes = 0;
     const ID & group = dofs_storage.group_support;
 
     NodeGroup * node_group = NULL;
     if (group == "mesh") {
       nb_nodes = this->mesh->getNbNodes();
     } else {
       node_group = &this->mesh->getElementGroup(group).getNodeGroup();
       nb_nodes = node_group->getSize();
     }
 
     nb_local_dofs = nb_nodes;
     AKANTU_DEBUG_ASSERT(
         dofs_array.getSize() == nb_local_dofs,
         "The array of dof is too shot to be associated to nodes.");
 
     for (UInt n = 0; n < nb_nodes; ++n) {
       UInt node = n;
       if (node_group)
         node = node_group->getNodes()(n);
 
       nb_pure_local += this->mesh->isLocalOrMasterNode(node) ? 1 : 0;
     }
 
     nb_pure_local *= dofs_array.getNbComponent();
     nb_local_dofs *= dofs_array.getNbComponent();
     break;
   }
   case _dst_generic: {
     nb_local_dofs = nb_pure_local =
-        dofs_array.getSize() * dofs_array.getNbComponent();
+      dofs_array.getSize() * dofs_array.getNbComponent();
     break;
   }
   default: { AKANTU_EXCEPTION("This type of dofs is not handled yet."); }
   }
 
   this->pure_local_system_size += nb_pure_local;
   this->local_system_size += nb_local_dofs;
 
   StaticCommunicator & comm = StaticCommunicator::getStaticCommunicator();
   comm.allReduce(nb_pure_local, _so_sum);
 
   this->system_size += nb_pure_local;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerDOFs(const ID & dof_id, Array<Real> & dofs_array,
                               const DOFSupportType & support_type) {
   DOFData & dofs_storage = this->getNewDOFData(dof_id);
   dofs_storage.support_type = support_type;
 
   this->registerDOFsInternal(dof_id, dofs_array);
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerDOFs(const ID & dof_id, Array<Real> & dofs_array,
                               const ID & support_group) {
   DOFData & dofs_storage = this->getNewDOFData(dof_id);
   dofs_storage.support_type = _dst_nodal;
   dofs_storage.group_support = support_group;
 
   this->registerDOFsInternal(dof_id, dofs_array);
 
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerDOFsPrevious(const ID & dof_id, Array<Real> & array) {
   DOFData & dof = this->getDOFData(dof_id);
 
   if (dof.previous != NULL) {
     AKANTU_EXCEPTION("The previous dofs array for "
                      << dof_id << " has already been registered");
   }
 
   dof.previous = &array;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerDOFsIncrement(const ID & dof_id, Array<Real> & array) {
   DOFData & dof = this->getDOFData(dof_id);
 
   if (dof.increment != NULL) {
     AKANTU_EXCEPTION("The dofs increment array for "
                      << dof_id << " has already been registered");
   }
 
   dof.increment = &array;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerDOFsDerivative(const ID & dof_id, UInt order,
                                         Array<Real> & dofs_derivative) {
   DOFData & dof = this->getDOFData(dof_id);
   std::vector<Array<Real> *> & derivatives = dof.dof_derivatives;
 
   if (derivatives.size() < order) {
     derivatives.resize(order, NULL);
   } else {
     if (derivatives[order - 1] != NULL) {
       AKANTU_EXCEPTION("The dof derivatives of order "
                        << order << " already been registered for this dof ("
                        << dof_id << ")");
     }
   }
 
   derivatives[order - 1] = &dofs_derivative;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerBlockedDOFs(const ID & dof_id,
                                      Array<bool> & blocked_dofs) {
   DOFData & dof = this->getDOFData(dof_id);
 
   if (dof.blocked_dofs != NULL) {
     AKANTU_EXCEPTION("The blocked dofs array for "
                      << dof_id << " has already been registered");
   }
 
   dof.blocked_dofs = &blocked_dofs;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::splitSolutionPerDOFs() {
   DOFStorage::iterator it = this->dofs.begin();
   DOFStorage::iterator end = this->dofs.end();
 
   for (; it != end; ++it) {
     DOFData & dof_data = *it->second;
     dof_data.solution.resize(dof_data.dof->getSize() *
                              dof_data.dof->getNbComponent());
     this->getSolutionPerDOFs(it->first, dof_data.solution);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerSparseMatrix(const ID & matrix_id,
                                       SparseMatrix & matrix) {
   SparseMatricesMap::const_iterator it = this->matrices.find(matrix_id);
   if (it != this->matrices.end()) {
     AKANTU_EXCEPTION("The matrix " << matrix_id << " already exists in "
                                    << this->id);
   }
 
   this->matrices[matrix_id] = &matrix;
 }
 
 /* -------------------------------------------------------------------------- */
 /// Get an instance of a new SparseMatrix
 Array<Real> & DOFManager::getNewLumpedMatrix(const ID & id) {
   ID matrix_id = this->id + ":lumped_mtx:" + id;
   LumpedMatricesMap::const_iterator it = this->lumped_matrices.find(matrix_id);
   if (it != this->lumped_matrices.end()) {
     AKANTU_EXCEPTION("The lumped matrix " << matrix_id << " already exists in "
                                           << this->id);
   }
 
   Array<Real> & mtx = this->alloc<Real>(matrix_id, this->local_system_size, 1);
   this->lumped_matrices[matrix_id] = &mtx;
   return mtx;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerNonLinearSolver(const ID & non_linear_solver_id,
                                          NonLinearSolver & non_linear_solver) {
   NonLinearSolversMap::const_iterator it =
       this->non_linear_solvers.find(non_linear_solver_id);
   if (it != this->non_linear_solvers.end()) {
     AKANTU_EXCEPTION("The non linear solver " << non_linear_solver_id
                                               << " already exists in "
                                               << this->id);
   }
 
   this->non_linear_solvers[non_linear_solver_id] = &non_linear_solver;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::registerTimeStepSolver(const ID & time_step_solver_id,
                                         TimeStepSolver & time_step_solver) {
   TimeStepSolversMap::const_iterator it =
       this->time_step_solvers.find(time_step_solver_id);
   if (it != this->time_step_solvers.end()) {
     AKANTU_EXCEPTION("The non linear solver " << time_step_solver_id
                                               << " already exists in "
                                               << this->id);
   }
 
   this->time_step_solvers[time_step_solver_id] = &time_step_solver;
 }
 
 /* -------------------------------------------------------------------------- */
 SparseMatrix & DOFManager::getMatrix(const ID & id) {
   ID matrix_id = this->id + ":mtx:" + id;
   SparseMatricesMap::const_iterator it = this->matrices.find(matrix_id);
   if (it == this->matrices.end()) {
     AKANTU_SILENT_EXCEPTION("The matrix " << matrix_id << " does not exists in "
                                           << this->id);
   }
 
   return *(it->second);
 }
 
 /* -------------------------------------------------------------------------- */
 bool DOFManager::hasMatrix(const ID & id) const {
   ID mtx_id = this->id + ":mtx:" + id;
   SparseMatricesMap::const_iterator it = this->matrices.find(mtx_id);
   return it != this->matrices.end();
 }
 
 /* -------------------------------------------------------------------------- */
 Array<Real> & DOFManager::getLumpedMatrix(const ID & id) {
   ID matrix_id = this->id + ":lumped_mtx:" + id;
   LumpedMatricesMap::const_iterator it = this->lumped_matrices.find(matrix_id);
   if (it == this->lumped_matrices.end()) {
     AKANTU_SILENT_EXCEPTION("The lumped matrix "
                             << matrix_id << " does not exists in " << this->id);
   }
 
   return *(it->second);
 }
 
 /* -------------------------------------------------------------------------- */
 const Array<Real> & DOFManager::getLumpedMatrix(const ID & id) const {
   ID matrix_id = this->id + ":lumped_mtx:" + id;
   LumpedMatricesMap::const_iterator it = this->lumped_matrices.find(matrix_id);
   if (it == this->lumped_matrices.end()) {
     AKANTU_SILENT_EXCEPTION("The lumped matrix "
                             << matrix_id << " does not exists in " << this->id);
   }
 
   return *(it->second);
 }
 
 /* -------------------------------------------------------------------------- */
 bool DOFManager::hasLumpedMatrix(const ID & id) const {
   ID mtx_id = this->id + ":lumped_mtx:" + id;
   LumpedMatricesMap::const_iterator it = this->lumped_matrices.find(mtx_id);
   return it != this->lumped_matrices.end();
 }
 
 /* -------------------------------------------------------------------------- */
 NonLinearSolver & DOFManager::getNonLinearSolver(const ID & id) {
   ID non_linear_solver_id = this->id + ":nls:" + id;
   NonLinearSolversMap::const_iterator it =
       this->non_linear_solvers.find(non_linear_solver_id);
   if (it == this->non_linear_solvers.end()) {
     AKANTU_EXCEPTION("The non linear solver " << non_linear_solver_id
                                               << " does not exists in "
                                               << this->id);
   }
 
   return *(it->second);
 }
 
 /* -------------------------------------------------------------------------- */
 bool DOFManager::hasNonLinearSolver(const ID & id) const {
   ID solver_id = this->id + ":nls:" + id;
   NonLinearSolversMap::const_iterator it =
       this->non_linear_solvers.find(solver_id);
   return it != this->non_linear_solvers.end();
 }
 
 /* -------------------------------------------------------------------------- */
 TimeStepSolver & DOFManager::getTimeStepSolver(const ID & id) {
   ID time_step_solver_id = this->id + ":tss:" + id;
   TimeStepSolversMap::const_iterator it =
       this->time_step_solvers.find(time_step_solver_id);
   if (it == this->time_step_solvers.end()) {
     AKANTU_EXCEPTION("The non linear solver " << time_step_solver_id
                                               << " does not exists in "
                                               << this->id);
   }
 
   return *(it->second);
 }
 
 /* -------------------------------------------------------------------------- */
 bool DOFManager::hasTimeStepSolver(const ID & solver_id) const {
   ID time_step_solver_id = this->id + ":tss:" + solver_id;
   TimeStepSolversMap::const_iterator it =
       this->time_step_solvers.find(time_step_solver_id);
   return it != this->time_step_solvers.end();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::fillNodesToElements() {
   UInt spatial_dimension = this->mesh->getSpatialDimension();
   Element e;
 
   UInt nb_nodes = this->mesh->getNbNodes();
   for (UInt n = 0; n < nb_nodes; ++n) {
     this->nodes_to_elements[n]->clear();
   }
 
   for (ghost_type_t::iterator gt = ghost_type_t::begin();
        gt != ghost_type_t::end(); ++gt) {
     Mesh::type_iterator first =
         this->mesh->firstType(spatial_dimension, *gt, _ek_not_defined);
     Mesh::type_iterator last =
         this->mesh->lastType(spatial_dimension, *gt, _ek_not_defined);
     e.ghost_type = *gt;
     for (; first != last; ++first) {
       ElementType type = *first;
       e.type = type;
       e.kind = Mesh::getKind(type);
       UInt nb_element = this->mesh->getNbElement(type, *gt);
       Array<UInt>::const_iterator<Vector<UInt>> conn_it =
           this->mesh->getConnectivity(type, *gt).begin(
               Mesh::getNbNodesPerElement(type));
 
       for (UInt el = 0; el < nb_element; ++el, ++conn_it) {
         e.element = el;
         const Vector<UInt> & conn = *conn_it;
         for (UInt n = 0; n < conn.size(); ++n)
           nodes_to_elements[conn(n)]->insert(e);
       }
     }
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::savePreviousDOFs(const ID & dofs_id) {
   this->getPreviousDOFs(dofs_id).copy(this->getDOFs(dofs_id));
 }
 
 /* -------------------------------------------------------------------------- */
 /* Mesh Events                                                                */
 /* -------------------------------------------------------------------------- */
 void DOFManager::onNodesAdded(const Array<UInt> & nodes_list,
                               __attribute__((unused))
                               const NewNodesEvent & event) {
   Array<UInt>::const_scalar_iterator it = nodes_list.begin();
   Array<UInt>::const_scalar_iterator end = nodes_list.end();
 
   UInt nb_nodes = this->mesh->getNbNodes();
   this->nodes_to_elements.resize(nb_nodes);
 
   for (; it != end; ++it) {
     this->nodes_to_elements[*it] = new std::set<Element>();
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::onNodesRemoved(const Array<UInt> & nodes_list,
                                 const Array<UInt> & new_numbering,
                                 __attribute__((unused))
                                 const RemovedNodesEvent & event) {
   Array<UInt>::const_scalar_iterator it = nodes_list.begin();
   Array<UInt>::const_scalar_iterator end = nodes_list.end();
   for (; it != end; ++it) {
     delete this->nodes_to_elements[*it];
   }
 
   this->mesh->removeNodesFromArray(this->nodes_to_elements, new_numbering);
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::onElementsAdded(const Array<Element> & elements_list,
                                  __attribute__((unused))
                                  const NewElementsEvent & event) {
   Array<Element>::const_scalar_iterator it = elements_list.begin();
   Array<Element>::const_scalar_iterator end = elements_list.end();
 
   for (; it != end; ++it) {
     const Element & elem = *it;
     if (this->mesh->getSpatialDimension(elem.type) !=
         this->mesh->getSpatialDimension())
       continue;
 
     const Array<UInt> & conn =
         this->mesh->getConnectivity(elem.type, elem.ghost_type);
 
     UInt nb_nodes_per_elem = this->mesh->getNbNodesPerElement(elem.type);
 
     for (UInt n = 0; n < nb_nodes_per_elem; ++n) {
       nodes_to_elements[conn(elem.element, n)]->insert(elem);
     }
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::onElementsRemoved(
     __attribute__((unused)) const Array<Element> & elements_list,
     __attribute__((unused)) const ElementTypeMapArray<UInt> & new_numbering,
     __attribute__((unused)) const RemovedElementsEvent & event) {
   this->fillNodesToElements();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManager::onElementsChanged(
     __attribute__((unused)) const Array<Element> & old_elements_list,
     __attribute__((unused)) const Array<Element> & new_elements_list,
     __attribute__((unused)) const ElementTypeMapArray<UInt> & new_numbering,
     __attribute__((unused)) const ChangedElementsEvent & event) {
   this->fillNodesToElements();
 }
 
 /* -------------------------------------------------------------------------- */
 
-__END_AKANTU__
+} // akantu
diff --git a/src/model/dof_manager.hh b/src/model/dof_manager.hh
index a2a5ad576..c58a1a300 100644
--- a/src/model/dof_manager.hh
+++ b/src/model/dof_manager.hh
@@ -1,448 +1,454 @@
 /**
  * @file   dof_manager.hh
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Wed Jul 22 11:43:43 2015
  *
  * @brief  Class handling the different types of dofs
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "aka_memory.hh"
 #include "mesh.hh"
-#include "non_linear_solver.hh"
-#include "time_step_solver.hh"
 /* -------------------------------------------------------------------------- */
 #include <map>
 #include <set>
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_DOF_MANAGER_HH__
 #define __AKANTU_DOF_MANAGER_HH__
 
-__BEGIN_AKANTU__
+namespace akantu {
+class TermsToAssemble;
+class NonLinearSolver;
+class TimeStepSolver;
+class SparseMatrix;
+}
+
+namespace akantu {
 
 class DOFManager : protected Memory, protected MeshEventHandler {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 public:
   DOFManager(const ID & id = "dof_manager", const MemoryID & memory_id = 0);
   virtual ~DOFManager();
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
   /// register a mesh for dof that have a support type on nodes
   virtual void registerMesh(Mesh & mesh);
 
 private:
   /// common function to help registering dofs
   void registerDOFsInternal(const ID & dof_id, Array<Real> & dofs_array);
 
 public:
   /// register an array of degree of freedom
   virtual void registerDOFs(const ID & dof_id, Array<Real> & dofs_array,
                             const DOFSupportType & support_type);
 
   /// the dof as an implied type of _dst_nodal and is defined only on a subset
   /// of nodes
   virtual void registerDOFs(const ID & dof_id, Array<Real> & dofs_array,
                             const ID & group_support);
 
   /// register an array of previous values of the degree of freedom
   virtual void registerDOFsPrevious(const ID & dof_id,
                                     Array<Real> & dofs_array);
 
   /// register an array of increment of degree of freedom
   virtual void registerDOFsIncrement(const ID & dof_id,
                                      Array<Real> & dofs_array);
 
   /// register an array of derivatives for a particular dof array
   virtual void registerDOFsDerivative(const ID & dof_id, UInt order,
                                       Array<Real> & dofs_derivative);
 
   /// register array representing the blocked degree of freedoms
   virtual void registerBlockedDOFs(const ID & dof_id,
                                    Array<bool> & blocked_dofs);
 
   /// Assemble an array to the global residual array
   virtual void assembleToResidual(const ID & dof_id,
                                   const Array<Real> & array_to_assemble,
                                   Real scale_factor = 1.) = 0;
 
   /// Assemble an array to the global lumped matrix array
   virtual void assembleToLumpedMatrix(const ID & dof_id,
                                       const Array<Real> & array_to_assemble,
                                       const ID & lumped_mtx,
                                       Real scale_factor = 1.) = 0;
 
   /**
    * Assemble elementary values to a local array of the size nb_nodes *
    * nb_dof_per_node. The dof number is implicitly considered as
    * conn(el, n) * nb_nodes_per_element + d.
    * With 0 < n < nb_nodes_per_element and 0 < d < nb_dof_per_node
    **/
   virtual void assembleElementalArrayLocalArray(
       const Array<Real> & elementary_vect, Array<Real> & array_assembeled,
       const ElementType & type, const GhostType & ghost_type,
       Real scale_factor = 1.,
       const Array<UInt> & filter_elements = empty_filter);
 
   /**
    * Assemble elementary values to the global residual array. The dof number is
    * implicitly considered as conn(el, n) * nb_nodes_per_element + d.
    * With 0 < n < nb_nodes_per_element and 0 < d < nb_dof_per_node
    **/
   virtual void assembleElementalArrayToResidual(
       const ID & dof_id, const Array<Real> & elementary_vect,
       const ElementType & type, const GhostType & ghost_type,
       Real scale_factor = 1.,
       const Array<UInt> & filter_elements = empty_filter);
 
   /**
    * Assemble elementary values to a global array corresponding to a lumped
    * matrix
    */
   virtual void assembleElementalArrayToLumpedMatrix(
       const ID & dof_id, const Array<Real> & elementary_vect,
       const ID & lumped_mtx, const ElementType & type,
       const GhostType & ghost_type, Real scale_factor = 1.,
       const Array<UInt> & filter_elements = empty_filter);
 
   /**
    * Assemble elementary values to the global residual array. The dof number is
    * implicitly considered as conn(el, n) * nb_nodes_per_element + d.  With 0 <
    * n < nb_nodes_per_element and 0 < d < nb_dof_per_node
    **/
   virtual void assembleElementalMatricesToMatrix(
       const ID & matrix_id, const ID & dof_id,
       const Array<Real> & elementary_mat, const ElementType & type,
       const GhostType & ghost_type = _not_ghost,
       const MatrixType & elemental_matrix_type = _symmetric,
       const Array<UInt> & filter_elements = empty_filter) = 0;
 
   /// multiply a vector by a matrix and assemble the result to the residual
   virtual void assembleMatMulVectToResidual(const ID & dof_id, const ID & A_id,
                                             const Array<Real> & x,
                                             Real scale_factor = 1) = 0;
 
   /// multiply a vector by a lumped matrix and assemble the result to the
   /// residual
   virtual void assembleLumpedMatMulVectToResidual(const ID & dof_id,
                                                   const ID & A_id,
                                                   const Array<Real> & x,
                                                   Real scale_factor = 1) = 0;
 
-  /// notation fully defined yet...
-  // virtual void assemblePreassembledMatrix(const ID & matrix_id,
-  //                                         const ID & dof_id_m,
-  //                                         const ID & dof_id_n,
-  //                                         const Matrix<Real> & matrix) = 0;
+  /// assemble coupling terms between to dofs
+  virtual void assemblePreassembledMatrix(const ID & dof_id_m,
+                                          const ID & dof_id_n,
+                                          const ID & matrix_id,
+                                          const TermsToAssemble & terms) = 0;
 
   /// sets the residual to 0
   virtual void clearResidual() = 0;
   /// sets the matrix to 0
   virtual void clearMatrix(const ID & mtx) = 0;
   /// sets the lumped matrix to 0
   virtual void clearLumpedMatrix(const ID & mtx) = 0;
 
   /// splits the solution storage from a global view to the per dof storages
   void splitSolutionPerDOFs();
 
   /// extract a lumped matrix part corresponding to a given dof
   virtual void getLumpedMatrixPerDOFs(const ID & dof_id, const ID & lumped_mtx,
                                       Array<Real> & lumped) = 0;
 
 protected:
   /// minimum functionality to implement per derived version of the DOFManager
   /// to allow the splitSolutionPerDOFs function to work
   virtual void getSolutionPerDOFs(const ID & dof_id,
                                   Array<Real> & solution_array) = 0;
 
 protected:
   /* ------------------------------------------------------------------------ */
   /// register a matrix
   void registerSparseMatrix(const ID & matrix_id, SparseMatrix & matrix);
 
   /// register a non linear solver instantiated by a derived class
   void registerNonLinearSolver(const ID & non_linear_solver_id,
                                NonLinearSolver & non_linear_solver);
 
   /// register a time step solver instantiated by a derived class
   void registerTimeStepSolver(const ID & time_step_solver_id,
                               TimeStepSolver & time_step_solver);
 
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   /// Get the equation numbers corresponding to a dof_id. This might be used to
   /// access the matrix.
   virtual void getEquationsNumbers(const ID & dof_id,
                                    Array<UInt> & equation_numbers);
 
   /// Global number of dofs
   AKANTU_GET_MACRO(SystemSize, this->system_size, UInt);
 
   /// Local number of dofs
   AKANTU_GET_MACRO(LocalSystemSize, this->local_system_size, UInt);
 
   /// Retrieve all the registered DOFs
   std::vector<ID> getDOFIDs() const;
 
   /* ------------------------------------------------------------------------ */
   /* DOFs and derivatives accessors                                          */
   /* ------------------------------------------------------------------------ */
   /// Get a reference to the registered dof array for a given id
   inline Array<Real> & getDOFs(const ID & dofs_id);
 
   /// Get the support type of a given dof
   inline DOFSupportType getSupportType(const ID & dofs_id) const;
 
   /// are the dofs registered
   inline bool hasDOFs(const ID & dofs_id) const;
 
   /// Get a reference to the registered dof derivatives array for a given id
   inline Array<Real> & getDOFsDerivatives(const ID & dofs_id, UInt order);
 
   /// Does the dof has derivatives
   inline bool hasDOFsDerivatives(const ID & dofs_id, UInt order) const;
 
   /// Get a reference to the blocked dofs array registered for the given id
   inline const Array<bool> & getBlockedDOFs(const ID & dofs_id) const;
 
   /// Get a reference to the registered dof increment array for a given id
   inline Array<Real> & getDOFsIncrement(const ID & dofs_id);
 
   /// Does the dof has a increment array
   inline bool hasDOFsIncrement(const ID & dofs_id) const;
 
   /// Does the dof has a previous array
   inline Array<Real> & getPreviousDOFs(const ID & dofs_id);
 
   /// Get a reference to the registered dof array for previous step values a
   /// given id
   inline bool hasPreviousDOFs(const ID & dofs_id) const;
 
   /// saves the values from dofs to previous dofs
   virtual void savePreviousDOFs(const ID & dofs_id);
 
   /// Get a reference to the solution array registered for the given id
   inline const Array<Real> & getSolution(const ID & dofs_id) const;
 
   /* ------------------------------------------------------------------------ */
   /* Matrices accessors                                                       */
   /* ------------------------------------------------------------------------ */
   /// Get an instance of a new SparseMatrix
   virtual SparseMatrix & getNewMatrix(const ID & matrix_id,
                                       const MatrixType & matrix_type) = 0;
 
   /// Get an instance of a new SparseMatrix as a copy of the SparseMatrix
   /// matrix_to_copy_id
   virtual SparseMatrix & getNewMatrix(const ID & matrix_id,
                                       const ID & matrix_to_copy_id) = 0;
 
   /// Get the reference of an existing matrix
   SparseMatrix & getMatrix(const ID & matrix_id);
 
   /// check if the given matrix exists
   bool hasMatrix(const ID & matrix_id) const;
 
   /// Get an instance of a new lumped matrix
   virtual Array<Real> & getNewLumpedMatrix(const ID & matrix_id);
   /// Get the lumped version of a given matrix
   const Array<Real> & getLumpedMatrix(const ID & matrix_id) const;
   /// Get the lumped version of a given matrix
   Array<Real> & getLumpedMatrix(const ID & matrix_id);
 
   /// check if the given matrix exists
   bool hasLumpedMatrix(const ID & matrix_id) const;
 
   /* ------------------------------------------------------------------------ */
   /* Non linear system solver                                                 */
   /* ------------------------------------------------------------------------ */
   /// Get instance of a non linear solver
   virtual NonLinearSolver & getNewNonLinearSolver(
       const ID & nls_solver_id,
       const NonLinearSolverType & _non_linear_solver_type) = 0;
 
   /// get instance of a non linear solver
   virtual NonLinearSolver & getNonLinearSolver(const ID & nls_solver_id);
 
   /// check if the given solver exists
   bool hasNonLinearSolver(const ID & solver_id) const;
 
   /* ------------------------------------------------------------------------ */
   /* Time-Step Solver                                                         */
   /* ------------------------------------------------------------------------ */
   /// Get instance of a time step solver
   virtual TimeStepSolver &
   getNewTimeStepSolver(const ID & time_step_solver_id,
                        const TimeStepSolverType & type,
                        NonLinearSolver & non_linear_solver) = 0;
 
   /// get instance of a time step solver
   virtual TimeStepSolver & getTimeStepSolver(const ID & time_step_solver_id);
 
   /// check if the given solver exists
   bool hasTimeStepSolver(const ID & solver_id) const;
 
   /* ------------------------------------------------------------------------ */
   AKANTU_GET_MACRO(Mesh, *mesh, const Mesh &);
 
   /* ------------------------------------------------------------------------ */
   /* MeshEventHandler interface                                               */
   /* ------------------------------------------------------------------------ */
 private:
   /// fills the nodes_to_elements structure
   void fillNodesToElements();
 
 public:
   /// function to implement to react on  akantu::NewNodesEvent
   virtual void onNodesAdded(const Array<UInt> & nodes_list,
                             const NewNodesEvent & event);
   /// function to implement to react on  akantu::RemovedNodesEvent
   virtual void onNodesRemoved(const Array<UInt> & nodes_list,
                               const Array<UInt> & new_numbering,
                               const RemovedNodesEvent & event);
   /// function to implement to react on  akantu::NewElementsEvent
   virtual void onElementsAdded(const Array<Element> & elements_list,
                                const NewElementsEvent & event);
   /// function to implement to react on  akantu::RemovedElementsEvent
   virtual void
   onElementsRemoved(const Array<Element> & elements_list,
                     const ElementTypeMapArray<UInt> & new_numbering,
                     const RemovedElementsEvent & event);
   /// function to implement to react on  akantu::ChangedElementsEvent
   virtual void
   onElementsChanged(const Array<Element> & old_elements_list,
                     const Array<Element> & new_elements_list,
                     const ElementTypeMapArray<UInt> & new_numbering,
                     const ChangedElementsEvent & event);
 
 protected:
   struct DOFData;
   inline DOFData & getDOFData(const ID & dof_id);
   inline const DOFData & getDOFData(const ID & dof_id) const;
   template <class _DOFData>
   inline _DOFData & getDOFDataTyped(const ID & dof_id);
   template <class _DOFData>
   inline const _DOFData & getDOFDataTyped(const ID & dof_id) const;
 
   virtual DOFData & getNewDOFData(const ID & dof_id);
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 protected:
   /// dof representations in the dof manager
   struct DOFData {
-    DOFData(const ID & dof_id);
+    DOFData() = delete;
+    explicit DOFData(const ID & dof_id);
     virtual ~DOFData();
 
     /// DOF support type (nodal, general) this is needed to determine how the
     /// dof are shared among processors
     DOFSupportType support_type;
 
     ID group_support;
 
     /// Degree of freedom array
     Array<Real> * dof;
 
     /// Blocked degree of freedoms array
     Array<bool> * blocked_dofs;
 
     /// Degree of freedoms increment
     Array<Real> * increment;
 
     /// Degree of freedoms at previous step
     Array<Real> * previous;
 
     /// Solution associated to the dof
     Array<Real> solution;
 
     /// local numbering equation numbers
     Array<UInt> local_equation_number;
 
     /* ---------------------------------------------------------------------- */
     /* data for dynamic simulations                                           */
     /* ---------------------------------------------------------------------- */
     /// Degree of freedom derivatives arrays
     std::vector<Array<Real> *> dof_derivatives;
   };
 
   typedef Array<std::set<Element> *> NodesToElements;
 
   /// This info is stored to simplify the dynamic changes
   NodesToElements nodes_to_elements;
 
   /// type to store dofs information
   typedef std::map<ID, DOFData *> DOFStorage;
 
   /// type to store all the matrices
   typedef std::map<ID, SparseMatrix *> SparseMatricesMap;
 
   /// type to store all the lumped matrices
   typedef std::map<ID, Array<Real> *> LumpedMatricesMap;
 
   /// type to store all the non linear solver
   typedef std::map<ID, NonLinearSolver *> NonLinearSolversMap;
 
   /// type to store all the time step solver
   typedef std::map<ID, TimeStepSolver *> TimeStepSolversMap;
 
   /// store a reference to the dof arrays
   DOFStorage dofs;
 
   /// list of sparse matrices that where created
   SparseMatricesMap matrices;
 
   /// list of lumped matrices
   LumpedMatricesMap lumped_matrices;
 
   /// non linear solvers storage
   NonLinearSolversMap non_linear_solvers;
 
   /// time step solvers storage
   TimeStepSolversMap time_step_solvers;
 
   /// reference to the underlying mesh
   Mesh * mesh;
 
   /// Total number of degrees of freedom (size with the ghosts)
   UInt local_system_size;
 
   /// Number of purely local dofs (size without the ghosts)
   UInt pure_local_system_size;
 
   /// Total number of degrees of freedom
   UInt system_size;
 };
 
-__END_AKANTU__
+} // akantu
 
 #include "dof_manager_inline_impl.cc"
 
 #endif /* __AKANTU_DOF_MANAGER_HH__ */
diff --git a/src/model/dof_manager_default.cc b/src/model/dof_manager_default.cc
index 0a0658957..02cebb37e 100644
--- a/src/model/dof_manager_default.cc
+++ b/src/model/dof_manager_default.cc
@@ -1,669 +1,688 @@
 /**
  * @file   dof_manager_default.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Tue Aug 11 16:21:01 2015
  *
  * @brief  Implementation of the default DOFManager
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "dof_manager_default.hh"
 #include "dof_synchronizer.hh"
 #include "element_group.hh"
 #include "non_linear_solver_default.hh"
 #include "sparse_matrix_aij.hh"
 #include "static_communicator.hh"
 #include "time_step_solver_default.hh"
+#include "terms_to_assemble.hh"
 /* -------------------------------------------------------------------------- */
 #include <numeric>
 /* -------------------------------------------------------------------------- */
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 inline void DOFManagerDefault::addSymmetricElementalMatrixToSymmetric(
     SparseMatrixAIJ & matrix, const Matrix<Real> & elementary_mat,
     const Vector<UInt> & equation_numbers, UInt max_size) {
   for (UInt i = 0; i < elementary_mat.rows(); ++i) {
     UInt c_irn = equation_numbers(i);
     if (c_irn < max_size) {
       for (UInt j = i; j < elementary_mat.cols(); ++j) {
         UInt c_jcn = equation_numbers(j);
         if (c_jcn < max_size) {
           matrix(c_irn, c_jcn) += elementary_mat(i, j);
         }
       }
     }
   }
 }
 
 /* -------------------------------------------------------------------------- */
 inline void DOFManagerDefault::addUnsymmetricElementalMatrixToSymmetric(
     SparseMatrixAIJ & matrix, const Matrix<Real> & elementary_mat,
     const Vector<UInt> & equation_numbers, UInt max_size) {
   for (UInt i = 0; i < elementary_mat.rows(); ++i) {
     UInt c_irn = equation_numbers(i);
     if (c_irn < max_size) {
       for (UInt j = 0; j < elementary_mat.cols(); ++j) {
         UInt c_jcn = equation_numbers(j);
         if (c_jcn < max_size) {
           if (c_jcn >= c_irn) {
             matrix(c_irn, c_jcn) += elementary_mat(i, j);
           }
         }
       }
     }
   }
 }
 
 /* -------------------------------------------------------------------------- */
 inline void DOFManagerDefault::addElementalMatrixToUnsymmetric(
     SparseMatrixAIJ & matrix, const Matrix<Real> & elementary_mat,
     const Vector<UInt> & equation_numbers, UInt max_size) {
   for (UInt i = 0; i < elementary_mat.rows(); ++i) {
     UInt c_irn = equation_numbers(i);
     if (c_irn < max_size) {
       for (UInt j = 0; j < elementary_mat.cols(); ++j) {
         UInt c_jcn = equation_numbers(j);
         if (c_jcn < max_size) {
           matrix(c_irn, c_jcn) += elementary_mat(i, j);
         }
       }
     }
   }
 }
 
 /* -------------------------------------------------------------------------- */
 DOFManagerDefault::DOFManagerDefault(const ID & id, const MemoryID & memory_id)
     : DOFManager(id, memory_id), residual(0, 1, std::string(id + ":residual")),
       global_solution(0, 1, std::string(id + ":global_solution")),
       global_blocked_dofs(0, 1, std::string(id + ":global_blocked_dofs")),
       previous_global_blocked_dofs(
           0, 1, std::string(id + ":previous_global_blocked_dofs")),
       dofs_type(0, 1, std::string(id + ":dofs_type")),
       data_cache(0, 1, std::string(id + ":data_cache_array")),
       jacobian_release(0),
       global_equation_number(0, 1, "global_equation_number"),
       synchronizer(nullptr) {}
 
 /* -------------------------------------------------------------------------- */
 DOFManagerDefault::~DOFManagerDefault() { delete synchronizer; }
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 void DOFManagerDefault::assembleToGlobalArray(
     const ID & dof_id, const Array<T> & array_to_assemble,
     Array<T> & global_array, T scale_factor) {
   AKANTU_DEBUG_IN();
   const Array<UInt> & equation_number = this->getLocalEquationNumbers(dof_id);
 
   UInt nb_degree_of_freedoms =
       array_to_assemble.getSize() * array_to_assemble.getNbComponent();
 
   AKANTU_DEBUG_ASSERT(equation_number.getSize() == nb_degree_of_freedoms,
                       "The array to assemble does not have a correct size."
                           << " (" << array_to_assemble.getID() << ")");
 
   typename Array<T>::const_scalar_iterator arr_it =
       array_to_assemble.begin_reinterpret(nb_degree_of_freedoms);
   Array<UInt>::const_scalar_iterator equ_it = equation_number.begin();
 
   for (UInt d = 0; d < nb_degree_of_freedoms; ++d, ++arr_it, ++equ_it) {
     global_array(*equ_it) += scale_factor * (*arr_it);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 DOFManagerDefault::DOFDataDefault::DOFDataDefault(const ID & dof_id)
     : DOFData(dof_id), associated_nodes(0, 1, dof_id + "associated_nodes") {}
 
 /* -------------------------------------------------------------------------- */
 DOFManager::DOFData & DOFManagerDefault::getNewDOFData(const ID & dof_id) {
   DOFDataDefault * dofs_storage = new DOFDataDefault(dof_id);
   this->dofs[dof_id] = dofs_storage;
   return *dofs_storage;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::registerMesh(Mesh & mesh) {
   DOFManager::registerMesh(mesh);
 
   delete synchronizer;
-  synchronizer = new DOFSynchronizer(*this, this->id + ":dof_synchronizer",
-                                     this->memory_id, mesh.getCommunicator());
+  if(mesh.isDistributed())
+    synchronizer = new DOFSynchronizer(*this, this->id + ":dof_synchronizer",
+                                       this->memory_id, mesh.getCommunicator());
+  else synchronizer = nullptr;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::registerDOFsInternal(const ID & dof_id, UInt nb_dofs,
                                              UInt nb_pure_local_dofs) {
   // Count the number of pure local dofs per proc
-  StaticCommunicator & comm = StaticCommunicator::getStaticCommunicator();
+  StaticCommunicator & comm = mesh->getCommunicator();
   UInt prank = comm.whoAmI();
   UInt psize = comm.getNbProc();
 
   Array<UInt> nb_dofs_per_proc(psize);
   nb_dofs_per_proc(prank) = nb_pure_local_dofs;
   comm.allGather(nb_dofs_per_proc);
 
   UInt first_global_dofs_id = std::accumulate(
       nb_dofs_per_proc.begin(), nb_dofs_per_proc.begin() + prank, 0);
 
   DOFDataDefault & dof_data = this->getDOFDataTyped<DOFDataDefault>(dof_id);
   const DOFSupportType & support_type = dof_data.support_type;
   const ID & group = dof_data.group_support;
 
   dof_data.local_equation_number.resize(nb_dofs);
   this->global_equation_number.resize(this->local_system_size);
 
-  // set the equation numbers
+// set the equation numbers
   UInt first_dof_id = this->local_system_size - nb_dofs;
 
   const Array<UInt> * support_nodes = nullptr;
   if (group != "mesh") {
     support_nodes =
-        &this->mesh->getElementGroup(group).getNodeGroup().getNodes();
+      &this->mesh->getElementGroup(group).getNodeGroup().getNodes();
   }
 
   if (support_type == _dst_nodal) {
     dof_data.associated_nodes.resize(nb_dofs);
   }
 
   this->dofs_type.resize(local_system_size);
 
   for (UInt d = 0; d < nb_dofs; ++d) {
     UInt local_eq_num = first_dof_id + d;
     dof_data.local_equation_number(d) = local_eq_num;
 
     UInt global_eq_num = first_global_dofs_id + d;
     this->global_equation_number(local_eq_num) = global_eq_num;
     this->global_to_local_mapping[global_eq_num] = local_eq_num;
     switch (support_type) {
     case _dst_nodal: {
       UInt node = d / dof_data.dof->getNbComponent();
 
       if (support_nodes)
         node = (*support_nodes)(node);
 
       this->dofs_type(local_eq_num) = this->mesh->getNodeType(node);
       dof_data.associated_nodes(d) = node;
       break;
     }
     case _dst_generic: {
       this->dofs_type(local_eq_num) = _nt_normal;
       break;
     }
     default: { AKANTU_EXCEPTION("This type of dofs is not handled yet."); }
     }
   }
 
   this->residual.resize(this->local_system_size);
   this->global_solution.resize(this->local_system_size);
   this->global_blocked_dofs.resize(this->local_system_size);
 
   if (this->synchronizer)
     this->synchronizer->registerDOFs(dof_id);
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::registerDOFs(const ID & dof_id,
                                      Array<Real> & dofs_array,
                                      const DOFSupportType & support_type) {
   // stores the current numbers of dofs
   UInt nb_dofs_old = this->local_system_size;
   UInt nb_pure_local_dofs_old = this->pure_local_system_size;
 
   // update or create the dof_data
   DOFManager::registerDOFs(dof_id, dofs_array, support_type);
 
   UInt nb_dofs = this->local_system_size - nb_dofs_old;
   UInt nb_pure_local_dofs =
       this->pure_local_system_size - nb_pure_local_dofs_old;
 
   this->registerDOFsInternal(dof_id, nb_dofs, nb_pure_local_dofs);
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::registerDOFs(const ID & dof_id,
                                      Array<Real> & dofs_array,
                                      const ID & group_support) {
   // stores the current numbers of dofs
   UInt nb_dofs_old = this->local_system_size;
   UInt nb_pure_local_dofs_old = this->pure_local_system_size;
 
   // update or create the dof_data
   DOFManager::registerDOFs(dof_id, dofs_array, group_support);
 
   UInt nb_dofs = this->local_system_size - nb_dofs_old;
   UInt nb_pure_local_dofs =
       this->pure_local_system_size - nb_pure_local_dofs_old;
 
   this->registerDOFsInternal(dof_id, nb_dofs, nb_pure_local_dofs);
 }
 
 /* -------------------------------------------------------------------------- */
 SparseMatrix & DOFManagerDefault::getNewMatrix(const ID & id,
                                                const MatrixType & matrix_type) {
   ID matrix_id = this->id + ":mtx:" + id;
   SparseMatrix * sm = new SparseMatrixAIJ(*this, matrix_type, matrix_id);
   this->registerSparseMatrix(matrix_id, *sm);
 
   return *sm;
 }
 
 /* -------------------------------------------------------------------------- */
 SparseMatrix & DOFManagerDefault::getNewMatrix(const ID & id,
                                                const ID & matrix_to_copy_id) {
 
   ID matrix_id = this->id + ":mtx:" + id;
   SparseMatrixAIJ & sm_to_copy = this->getMatrix(matrix_to_copy_id);
   SparseMatrix * sm = new SparseMatrixAIJ(sm_to_copy, matrix_id);
   this->registerSparseMatrix(matrix_id, *sm);
 
   return *sm;
 }
 
 /* -------------------------------------------------------------------------- */
 SparseMatrixAIJ & DOFManagerDefault::getMatrix(const ID & id) {
   SparseMatrix & matrix = DOFManager::getMatrix(id);
 
   return dynamic_cast<SparseMatrixAIJ &>(matrix);
 }
 
 /* -------------------------------------------------------------------------- */
 NonLinearSolver &
 DOFManagerDefault::getNewNonLinearSolver(const ID & id,
                                          const NonLinearSolverType & type) {
   ID non_linear_solver_id = this->id + ":nls:" + id;
   NonLinearSolver * nls = NULL;
   switch (type) {
 #if defined(AKANTU_IMPLICIT)
   case _nls_newton_raphson:
   case _nls_newton_raphson_modified: {
     nls = new NonLinearSolverNewtonRaphson(*this, type, non_linear_solver_id,
                                            this->memory_id);
     break;
   }
   case _nls_linear: {
     nls = new NonLinearSolverLinear(*this, type, non_linear_solver_id,
                                     this->memory_id);
     break;
   }
 #endif
   case _nls_lumped: {
     nls = new NonLinearSolverLumped(*this, type, non_linear_solver_id,
                                     this->memory_id);
     break;
   }
   default:
     AKANTU_EXCEPTION("The asked type of non linear solver is not supported by "
                      "this dof manager");
   }
 
   this->registerNonLinearSolver(non_linear_solver_id, *nls);
 
   return *nls;
 }
 
 /* -------------------------------------------------------------------------- */
 TimeStepSolver &
 DOFManagerDefault::getNewTimeStepSolver(const ID & id,
                                         const TimeStepSolverType & type,
                                         NonLinearSolver & non_linear_solver) {
   ID time_step_solver_id = this->id + ":tss:" + id;
 
   TimeStepSolver * tss = new TimeStepSolverDefault(
       *this, type, non_linear_solver, time_step_solver_id, this->memory_id);
 
   this->registerTimeStepSolver(time_step_solver_id, *tss);
 
   return *tss;
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::clearResidual() {
   this->residual.resize(this->local_system_size);
   this->residual.clear();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::clearMatrix(const ID & mtx) {
   this->getMatrix(mtx).clear();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::clearLumpedMatrix(const ID & mtx) {
   this->getLumpedMatrix(mtx).clear();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::updateGlobalBlockedDofs() {
   DOFStorage::iterator it = this->dofs.begin();
   DOFStorage::iterator end = this->dofs.end();
 
   this->previous_global_blocked_dofs.copy(this->global_blocked_dofs);
   this->global_blocked_dofs.resize(this->local_system_size);
   this->global_blocked_dofs.clear();
 
   for (; it != end; ++it) {
     DOFData & dof_data = *it->second;
     this->assembleToGlobalArray(it->first, *dof_data.blocked_dofs,
                                 this->global_blocked_dofs, true);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 void DOFManagerDefault::getArrayPerDOFs(const ID & dof_id,
                                         const Array<T> & global_array,
                                         Array<T> & local_array) const {
   AKANTU_DEBUG_IN();
 
   const Array<UInt> & equation_number = this->getLocalEquationNumbers(dof_id);
 
   UInt nb_degree_of_freedoms = equation_number.getSize();
   local_array.resize(nb_degree_of_freedoms / local_array.getNbComponent());
 
   auto loc_it = local_array.begin_reinterpret(nb_degree_of_freedoms);
   auto equ_it = equation_number.begin();
 
   for (UInt d = 0; d < nb_degree_of_freedoms; ++d, ++loc_it, ++equ_it) {
     (*loc_it) = global_array(*equ_it);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::getEquationsNumbers(const ID & dof_id,
                                             Array<UInt> & equation_numbers) {
   AKANTU_DEBUG_IN();
   this->getArrayPerDOFs(dof_id, this->global_equation_number, equation_numbers);
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::getSolutionPerDOFs(const ID & dof_id,
                                            Array<Real> & solution_array) {
   AKANTU_DEBUG_IN();
   this->getArrayPerDOFs(dof_id, this->global_solution, solution_array);
   AKANTU_DEBUG_OUT();
 }
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::getLumpedMatrixPerDOFs(const ID & dof_id,
                                                const ID & lumped_mtx,
                                                Array<Real> & lumped) {
   AKANTU_DEBUG_IN();
   this->getArrayPerDOFs(dof_id, this->getLumpedMatrix(lumped_mtx), lumped);
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::assembleToResidual(
     const ID & dof_id, const Array<Real> & array_to_assemble,
     Real scale_factor) {
   AKANTU_DEBUG_IN();
 
   this->assembleToGlobalArray(dof_id, array_to_assemble, this->residual,
                               scale_factor);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::assembleToLumpedMatrix(
     const ID & dof_id, const Array<Real> & array_to_assemble,
     const ID & lumped_mtx, Real scale_factor) {
   AKANTU_DEBUG_IN();
 
   Array<Real> & lumped = this->getLumpedMatrix(lumped_mtx);
   this->assembleToGlobalArray(dof_id, array_to_assemble, lumped, scale_factor);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::assembleMatMulVectToResidual(const ID & dof_id,
                                                      const ID & A_id,
                                                      const Array<Real> & x,
                                                      Real scale_factor) {
   SparseMatrixAIJ & A = this->getMatrix(A_id);
 
   // Array<Real> data_cache(this->local_system_size, 1, 0.);
   this->data_cache.resize(this->local_system_size);
   this->data_cache.clear();
 
   this->assembleToGlobalArray(dof_id, x, data_cache, 1.);
 
   A.matVecMul(data_cache, this->residual, scale_factor, 1.);
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::assembleLumpedMatMulVectToResidual(
     const ID & dof_id, const ID & A_id, const Array<Real> & x,
     Real scale_factor) {
   const Array<Real> & A = this->getLumpedMatrix(A_id);
 
   //  Array<Real> data_cache(this->local_system_size, 1, 0.);
   this->data_cache.resize(this->local_system_size);
   this->data_cache.clear();
 
   this->assembleToGlobalArray(dof_id, x, data_cache, scale_factor);
 
   Array<Real>::const_scalar_iterator A_it = A.begin();
   Array<Real>::const_scalar_iterator A_end = A.end();
   Array<Real>::const_scalar_iterator x_it = data_cache.begin();
   Array<Real>::scalar_iterator r_it = this->residual.begin();
 
   for (; A_it != A_end; ++A_it, ++x_it, ++r_it) {
     *r_it += *A_it * *x_it;
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::assembleElementalMatricesToMatrix(
     const ID & matrix_id, const ID & dof_id, const Array<Real> & elementary_mat,
     const ElementType & type, const GhostType & ghost_type,
     const MatrixType & elemental_matrix_type,
     const Array<UInt> & filter_elements) {
   AKANTU_DEBUG_IN();
 
   this->addToProfile(matrix_id, dof_id, type, ghost_type);
 
   DOFData & dof_data = this->getDOFData(dof_id);
 
   const Array<UInt> & equation_number = this->getLocalEquationNumbers(dof_id);
   SparseMatrixAIJ & A = this->getMatrix(matrix_id);
 
   UInt nb_element;
   if (ghost_type == _not_ghost) {
     nb_element = this->mesh->getNbElement(type);
   } else {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   UInt * filter_it = nullptr;
   if (filter_elements != empty_filter) {
     nb_element = filter_elements.getSize();
     filter_it = filter_elements.storage();
   } else {
     if (dof_data.group_support != "mesh") {
       const Array<UInt> & group_elements =
         this->mesh->getElementGroup(dof_data.group_support).getElements(type, ghost_type);
       nb_element = group_elements.getSize();
       filter_it = group_elements.storage();
     } else {
       nb_element = this->mesh->getNbElement(type, ghost_type);
     }
   }
 
   AKANTU_DEBUG_ASSERT(elementary_mat.getSize() == nb_element,
                       "The vector elementary_mat("
                           << elementary_mat.getID()
                           << ") has not the good size.");
 
   UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
 
   UInt nb_degree_of_freedom = dof_data.dof->getNbComponent();
 
   const Array<UInt> & connectivity =
       this->mesh->getConnectivity(type, ghost_type);
   auto conn_begin = connectivity.begin(nb_nodes_per_element);
   auto conn_it = conn_begin;
 
   UInt size_mat = nb_nodes_per_element * nb_degree_of_freedom;
 
   Vector<UInt> element_eq_nb(nb_degree_of_freedom * nb_nodes_per_element);
   Array<Real>::const_matrix_iterator el_mat_it =
       elementary_mat.begin(size_mat, size_mat);
 
   for (UInt e = 0; e < nb_element; ++e, ++el_mat_it) {
     if (filter_it)
       conn_it = conn_begin + *filter_it;
 
     this->extractElementEquationNumber(equation_number, *conn_it,
                                        nb_degree_of_freedom, element_eq_nb);
     this->localToGlobalEquationNumber(element_eq_nb);
 
     if (filter_it) ++filter_it;
     else ++conn_it;
 
     if (A.getMatrixType() == _symmetric)
       if (elemental_matrix_type == _symmetric)
         this->addSymmetricElementalMatrixToSymmetric(
             A, *el_mat_it, element_eq_nb, A.getSize());
       else
         this->addUnsymmetricElementalMatrixToSymmetric(
             A, *el_mat_it, element_eq_nb, A.getSize());
     else
       this->addElementalMatrixToUnsymmetric(A, *el_mat_it, element_eq_nb,
                                             A.getSize());
   }
 
   AKANTU_DEBUG_OUT();
 }
 
+/* -------------------------------------------------------------------------- */
+void DOFManagerDefault::assemblePreassembledMatrix(const ID & dof_id_m,
+                                                   const ID & dof_id_n,
+                                                   const ID & matrix_id,
+                                                   const TermsToAssemble & terms) {
+  const Array<UInt> & equation_number_m = this->getLocalEquationNumbers(dof_id_m);
+  const Array<UInt> & equation_number_n = this->getLocalEquationNumbers(dof_id_n);
+  SparseMatrixAIJ & A = this->getMatrix(matrix_id);
+
+  for(const auto& term : terms) {
+    A.addToMatrix(equation_number_m(term.i()),
+                  equation_number_n(term.j()),
+                  term);
+  }
+}
+
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::addToProfile(const ID & matrix_id, const ID & dof_id,
                                      const ElementType & type,
                                      const GhostType & ghost_type) {
   AKANTU_DEBUG_IN();
 
   const DOFData & dof_data = this->getDOFData(dof_id);
 
   if (dof_data.support_type != _dst_nodal)
     return;
 
   auto mat_dof = std::make_pair(matrix_id, dof_id);
   auto type_pair = std::make_pair(type, ghost_type);
 
   auto prof_it = this->matrix_profiled_dofs.find(mat_dof);
   if (prof_it != this->matrix_profiled_dofs.end() &&
       std::find(prof_it->second.begin(), prof_it->second.end(), type_pair) !=
           prof_it->second.end())
     return;
 
   UInt nb_degree_of_freedom_per_node = dof_data.dof->getNbComponent();
 
   const Array<UInt> & equation_number = this->getLocalEquationNumbers(dof_id);
 
   SparseMatrixAIJ & A = this->getMatrix(matrix_id);
 
   UInt size = A.getSize();
 
   UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
 
   const auto & connectivity = this->mesh->getConnectivity(type, ghost_type);
   auto cbegin = connectivity.begin(nb_nodes_per_element);
   auto cit = cbegin;
 
   UInt nb_elements = connectivity.getSize();
   UInt * ge_it = nullptr;
   if (dof_data.group_support != "mesh") {
     const Array<UInt> & group_elements =
         this->mesh->getElementGroup(dof_data.group_support)
             .getElements(type, ghost_type);
     ge_it = group_elements.storage();
     nb_elements = group_elements.getSize();
   }
 
   UInt size_mat = nb_nodes_per_element * nb_degree_of_freedom_per_node;
   Vector<UInt> element_eq_nb(size_mat);
 
   for (UInt e = 0; e < nb_elements; ++e) {
     if (ge_it)  cit = cbegin + *ge_it;
 
     this->extractElementEquationNumber(
         equation_number, *cit, nb_degree_of_freedom_per_node, element_eq_nb);
     this->localToGlobalEquationNumber(element_eq_nb);
 
     if (ge_it) ++ge_it;
     else  ++cit;
 
     for (UInt i = 0; i < size_mat; ++i) {
       UInt c_irn = element_eq_nb(i);
       if (c_irn < size) {
         for (UInt j = 0; j < size_mat; ++j) {
           UInt c_jcn = element_eq_nb(j);
           if (c_jcn < size) {
             A.addToProfile(c_irn, c_jcn);
           }
         }
       }
     }
   }
 
   this->matrix_profiled_dofs[mat_dof].push_back(type_pair);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void DOFManagerDefault::applyBoundary() {
   this->updateGlobalBlockedDofs();
   SparseMatrixAIJ & J = this->getMatrix("J");
 
   if (this->jacobian_release == J.getValueRelease()) {
     Array<bool>::const_scalar_iterator it = global_blocked_dofs.begin();
     Array<bool>::const_scalar_iterator end = global_blocked_dofs.end();
 
     Array<bool>::const_scalar_iterator pit =
         previous_global_blocked_dofs.begin();
 
     for (; it != end && *it == *pit; ++it, ++pit)
       ;
 
     if (it != end)
       J.applyBoundary();
   } else {
     J.applyBoundary();
   }
 
   this->jacobian_release = J.getValueRelease();
 }
 
 /* -------------------------------------------------------------------------- */
 
 __END_AKANTU__
diff --git a/src/model/dof_manager_default.hh b/src/model/dof_manager_default.hh
index c41696d0a..63969e34f 100644
--- a/src/model/dof_manager_default.hh
+++ b/src/model/dof_manager_default.hh
@@ -1,306 +1,312 @@
 /**
  * @file   dof_manager_default.hh
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Tue Aug 11 14:06:18 2015
  *
  * @brief  Default implementation of the dof manager
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "dof_manager.hh"
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_DOF_MANAGER_DEFAULT_HH__
 #define __AKANTU_DOF_MANAGER_DEFAULT_HH__
 
 namespace akantu {
 class SparseMatrixAIJ;
 class NonLinearSolverDefault;
 class TimeStepSolverDefault;
 class DOFSynchronizer;
 }
 
 namespace akantu {
 
 class DOFManagerDefault : public DOFManager {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 public:
   DOFManagerDefault(const ID & id = "dof_manager_default",
                     const MemoryID & memory_id = 0);
   virtual ~DOFManagerDefault();
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
   /// register a mesh for dof that have a support type on nodes
   virtual void registerMesh(Mesh & mesh);
 
 private:
   void registerDOFsInternal(const ID & dof_id, UInt nb_dofs,
                             UInt nb_pure_local_dofs);
 
 public:
   /// register an array of degree of freedom
   virtual void registerDOFs(const ID & dof_id, Array<Real> & dofs_array,
                             const DOFSupportType & support_type);
 
   /// the dof as an implied type of _dst_nodal and is defined only on a subset
   /// of nodes
   virtual void registerDOFs(const ID & dof_id, Array<Real> & dofs_array,
                             const ID & group_support);
 
   /// Assemble an array to the global residual array
   virtual void assembleToResidual(const ID & dof_id,
                                   const Array<Real> & array_to_assemble,
                                   Real scale_factor = 1.);
 
   /// Assemble an array to the global lumped matrix array
   virtual void assembleToLumpedMatrix(const ID & dof_id,
                                       const Array<Real> & array_to_assemble,
                                       const ID & lumped_mtx,
                                       Real scale_factor = 1.);
   /**
    * Assemble elementary values to the global matrix. The dof number is
    * implicitly considered as conn(el, n) * nb_nodes_per_element + d.
    * With 0 < n < nb_nodes_per_element and 0 < d < nb_dof_per_node
    **/
   virtual void assembleElementalMatricesToMatrix(
       const ID & matrix_id, const ID & dof_id,
       const Array<Real> & elementary_mat, const ElementType & type,
       const GhostType & ghost_type, const MatrixType & elemental_matrix_type,
       const Array<UInt> & filter_elements);
 
   /// multiply a vector by a matrix and assemble the result to the residual
   virtual void assembleMatMulVectToResidual(const ID & dof_id, const ID & A_id,
                                             const Array<Real> & x,
                                             Real scale_factor = 1);
 
   /// multiply a vector by a lumped matrix and assemble the result to the
   /// residual
   virtual void assembleLumpedMatMulVectToResidual(const ID & dof_id,
                                                   const ID & A_id,
                                                   const Array<Real> & x,
                                                   Real scale_factor = 1);
 
+  /// assemble coupling terms between to dofs
+  virtual void assemblePreassembledMatrix(const ID & dof_id_m,
+                                          const ID & dof_id_n,
+                                          const ID & matrix_id,
+                                          const TermsToAssemble & terms);
+
 protected:
   /// Assemble an array to the global residual array
   template <typename T>
   void assembleToGlobalArray(const ID & dof_id,
                              const Array<T> & array_to_assemble,
                              Array<T> & global_array, T scale_factor);
 
 public:
   /// clear the residual
   virtual void clearResidual();
   /// sets the matrix to 0
   virtual void clearMatrix(const ID & mtx);
   /// sets the lumped matrix to 0
   virtual void clearLumpedMatrix(const ID & mtx);
 
   /// update the global dofs vector
   virtual void updateGlobalBlockedDofs();
 
   /// apply boundary conditions to jacobian matrix
   virtual void applyBoundary();
 
   virtual void getEquationsNumbers(const ID & dof_id,
                                    Array<UInt> & equation_numbers);
 
 protected:
   /// Get local part of an array corresponding to a given dofdata
   template <typename T>
   void getArrayPerDOFs(const ID & dof_id, const Array<T> & global_array,
                        Array<T> & local_array) const;
 
   /// Get the part of the solution corresponding to the dof_id
   virtual void getSolutionPerDOFs(const ID & dof_id,
                                   Array<Real> & solution_array);
 
   /// fill a Vector with the equation numbers corresponding to the given
   /// connectivity
   inline void extractElementEquationNumber(
       const Array<UInt> & equation_numbers, const Vector<UInt> & connectivity,
       UInt nb_degree_of_freedom, Vector<UInt> & local_equation_number);
 
 public:
   /// extract a lumped matrix part corresponding to a given dof
   virtual void getLumpedMatrixPerDOFs(const ID & dof_id, const ID & lumped_mtx,
                                       Array<Real> & lumped);
 
 private:
   /// Add a symmetric matrices to a symmetric sparse matrix
   void addSymmetricElementalMatrixToSymmetric(
       SparseMatrixAIJ & matrix, const Matrix<Real> & element_mat,
       const Vector<UInt> & equation_numbers, UInt max_size);
 
   /// Add a unsymmetric matrices to a symmetric sparse matrix (i.e. cohesive
   /// elements)
   void addUnsymmetricElementalMatrixToSymmetric(
       SparseMatrixAIJ & matrix, const Matrix<Real> & element_mat,
       const Vector<UInt> & equation_numbers, UInt max_size);
 
   /// Add a matrices to a unsymmetric sparse matrix
   void addElementalMatrixToUnsymmetric(SparseMatrixAIJ & matrix,
                                        const Matrix<Real> & element_mat,
                                        const Vector<UInt> & equation_numbers,
                                        UInt max_size);
 
   void addToProfile(const ID & matrix_id, const ID & dof_id,
                     const ElementType & type, const GhostType & ghost_type);
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   /// Get an instance of a new SparseMatrix
   virtual SparseMatrix & getNewMatrix(const ID & matrix_id,
                                       const MatrixType & matrix_type);
 
   /// Get an instance of a new SparseMatrix as a copy of the SparseMatrix
   /// matrix_to_copy_id
   virtual SparseMatrix & getNewMatrix(const ID & matrix_id,
                                       const ID & matrix_to_copy_id);
 
   /// Get the reference of an existing matrix
   SparseMatrixAIJ & getMatrix(const ID & matrix_id);
 
   /* ------------------------------------------------------------------------ */
   /* Non Linear Solver                                                        */
   /* ------------------------------------------------------------------------ */
   /// Get instance of a non linear solver
   virtual NonLinearSolver &
   getNewNonLinearSolver(const ID & nls_solver_id,
                         const NonLinearSolverType & _non_linear_solver_type);
 
   /* ------------------------------------------------------------------------ */
   /* Time-Step Solver                                                         */
   /* ------------------------------------------------------------------------ */
   /// Get instance of a time step solver
   TimeStepSolver & getNewTimeStepSolver(const ID & id,
                                         const TimeStepSolverType & type,
                                         NonLinearSolver & non_linear_solver);
 
   /* ------------------------------------------------------------------------ */
   /// Get the solution array
   AKANTU_GET_MACRO_NOT_CONST(GlobalSolution, global_solution, Array<Real> &);
   /// Get the residual array
   AKANTU_GET_MACRO_NOT_CONST(Residual, residual, Array<Real> &);
   /// Get the blocked dofs array
   AKANTU_GET_MACRO(GlobalBlockedDOFs, global_blocked_dofs, const Array<bool> &);
   /// Get the blocked dofs array
   AKANTU_GET_MACRO(PreviousGlobalBlockedDOFs, previous_global_blocked_dofs,
                    const Array<bool> &);
   /// Get the location type of a given dof
   inline bool isLocalOrMasterDOF(UInt dof_num);
 
   /// get the equation numbers (in local numbering) corresponding to a dof ID
   inline const Array<UInt> & getLocalEquationNumbers(const ID & dof_id) const;
 
   /// return the local index of the global equation number
   inline UInt globalToLocalEquationNumber(UInt global) const;
 
   /// converts local equation numbers to global equation numbers;
   template <class S> inline void localToGlobalEquationNumber(S & inout);
 
   /// get the array of dof types (use only if you know what you do...)
   inline Int getDOFType(UInt local_id) const;
 
   /// get the array of dof types (use only if you know what you do...)
   inline const Array<UInt> & getDOFsAssociatedNodes(const ID & dof_id) const;
 
 protected:
   virtual DOFData & getNewDOFData(const ID & dof_id);
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 protected:
   struct DOFDataDefault : public DOFData {
     DOFDataDefault(const ID & dof_id);
 
     /// associated node for _dst_nodal dofs only
     Array<UInt> associated_nodes;
   };
 
   typedef std::map<ID, SparseMatrixAIJ *> AIJMatrixMap;
   typedef std::map<ID, NonLinearSolverDefault *> DefaultNonLinearSolversMap;
   typedef std::map<ID, TimeStepSolverDefault *> DefaultTimeStepSolversMap;
 
   typedef std::map<std::pair<ID, ID>,
                    std::vector<std::pair<ElementType, GhostType>>>
       DOFToMatrixProfile;
 
   /// contains the the dofs that where added to the profile of a given matrix.
   DOFToMatrixProfile matrix_profiled_dofs;
 
   /// rhs to the system of equation corresponding to the residual linked to the
   /// different dofs
   Array<Real> residual;
 
   /// solution of the system of equation corresponding to the different dofs
   Array<Real> global_solution;
 
   /// blocked degree of freedom in the system equation corresponding to the
   /// different dofs
   Array<bool> global_blocked_dofs;
 
   /// blocked degree of freedom in the system equation corresponding to the
   /// different dofs
   Array<bool> previous_global_blocked_dofs;
 
   /// define the dofs type, local, shared, ghost
   Array<Int> dofs_type;
 
   /// Map of the different matrices stored in the dof manager
   AIJMatrixMap aij_matrices;
 
   /// Map of the different time step solvers stored with there real type
   DefaultTimeStepSolversMap default_time_step_solver_map;
 
   /// Memory cache, this is an array to keep the temporary memory needed for
   /// some operations, it is meant to be resized or cleared when needed
   Array<Real> data_cache;
 
   /// Release at last apply boundary on jacobian
   UInt jacobian_release;
 
   /// equation number in global numbering
   Array<UInt> global_equation_number;
 
   typedef unordered_map<UInt, UInt>::type equation_numbers_map;
 
   /// dual information of global_equation_number
   equation_numbers_map global_to_local_mapping;
 
   /// synchronizer to maintain coherency in dof fields
   DOFSynchronizer * synchronizer;
 };
 
 } // akantu
 
 #include "dof_manager_default_inline_impl.cc"
 
 #endif /* __AKANTU_DOF_MANAGER_DEFAULT_HH__ */
diff --git a/src/model/dof_manager_inline_impl.cc b/src/model/dof_manager_inline_impl.cc
index c80ee58ad..7fa134ceb 100644
--- a/src/model/dof_manager_inline_impl.cc
+++ b/src/model/dof_manager_inline_impl.cc
@@ -1,142 +1,143 @@
 /**
  * @file   dof_manager_inline_impl.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Wed Aug 12 11:07:01 2015
  *
  * @brief
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "dof_manager.hh"
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_DOF_MANAGER_INLINE_IMPL_CC__
 #define __AKANTU_DOF_MANAGER_INLINE_IMPL_CC__
 
-__BEGIN_AKANTU__
+namespace akantu {
 
 /* -------------------------------------------------------------------------- */
 inline bool DOFManager::hasDOFs(const ID & dof_id) const {
   DOFStorage::const_iterator it = this->dofs.find(dof_id);
   return it != this->dofs.end();
 }
 
 /* -------------------------------------------------------------------------- */
 inline DOFManager::DOFData & DOFManager::getDOFData(const ID & dof_id) {
   DOFStorage::iterator it = this->dofs.find(dof_id);
   if (it == this->dofs.end()) {
     AKANTU_EXCEPTION("The dof " << dof_id << " does not exists in "
                                 << this->id);
   }
   return *it->second;
 }
 
 /* -------------------------------------------------------------------------- */
 const DOFManager::DOFData & DOFManager::getDOFData(const ID & dof_id) const {
   DOFStorage::const_iterator it = this->dofs.find(dof_id);
   if (it == this->dofs.end()) {
     AKANTU_EXCEPTION("The dof " << dof_id << " does not exists in "
                                 << this->id);
   }
   return *it->second;
 }
 
 /* -------------------------------------------------------------------------- */
 template <class _DOFData>
 inline _DOFData & DOFManager::getDOFDataTyped(const ID & dof_id) {
   return dynamic_cast<_DOFData &>(this->getDOFData(dof_id));
 }
 
 /* -------------------------------------------------------------------------- */
 template <class _DOFData>
 inline const _DOFData & DOFManager::getDOFDataTyped(const ID & dof_id) const {
   return dynamic_cast<const _DOFData &>(this->getDOFData(dof_id));
 }
 /* -------------------------------------------------------------------------- */
 inline Array<Real> & DOFManager::getDOFs(const ID & dofs_id) {
   return *(this->getDOFData(dofs_id).dof);
 }
 
 
 /* -------------------------------------------------------------------------- */
 inline DOFSupportType DOFManager::getSupportType(const ID & dofs_id) const {
   return this->getDOFData(dofs_id).support_type;
 }
 
 /* -------------------------------------------------------------------------- */
 inline Array<Real> & DOFManager::getPreviousDOFs(const ID & dofs_id) {
   return *(this->getDOFData(dofs_id).previous);
 }
 
 /* -------------------------------------------------------------------------- */
 inline bool DOFManager::hasPreviousDOFs(const ID & dofs_id) const {
   return (this->getDOFData(dofs_id).previous != NULL);
 }
 
 /* -------------------------------------------------------------------------- */
 inline Array<Real> & DOFManager::getDOFsIncrement(const ID & dofs_id) {
   return *(this->getDOFData(dofs_id).increment);
 }
 
 /* -------------------------------------------------------------------------- */
 inline bool DOFManager::hasDOFsIncrement(const ID & dofs_id) const {
   return (this->getDOFData(dofs_id).increment != NULL);
 }
 
 /* -------------------------------------------------------------------------- */
 inline Array<Real> & DOFManager::getDOFsDerivatives(const ID & dofs_id,
                                                     UInt order) {
   std::vector<Array<Real> *> & derivatives =
       this->getDOFData(dofs_id).dof_derivatives;
   if ((order > derivatives.size()) || (derivatives[order - 1] == NULL))
     AKANTU_EXCEPTION("No derivatives of order " << order << " present in "
                                                 << this->id << " for dof "
                                                 << dofs_id);
 
   return *derivatives[order - 1];
 }
 
 /* -------------------------------------------------------------------------- */
 inline bool DOFManager::hasDOFsDerivatives(const ID & dofs_id,
                                            UInt order) const{
   const std::vector<Array<Real> *> & derivatives =
       this->getDOFData(dofs_id).dof_derivatives;
   return ((order < derivatives.size()) && (derivatives[order - 1] != NULL));
 }
 
 /* -------------------------------------------------------------------------- */
 inline const Array<Real> & DOFManager::getSolution(const ID & dofs_id) const {
   return this->getDOFData(dofs_id).solution;
 }
 
 /* -------------------------------------------------------------------------- */
 inline const Array<bool> &
 DOFManager::getBlockedDOFs(const ID & dofs_id) const {
   return *(this->getDOFData(dofs_id).blocked_dofs);
 }
 
 /* -------------------------------------------------------------------------- */
-__END_AKANTU__
+
+} // akantu
 
 #endif /* __AKANTU_DOF_MANAGER_INLINE_IMPL_CC__ */
diff --git a/src/model/model_solver.cc b/src/model/model_solver.cc
index ca528ea4a..8ab03e3e0 100644
--- a/src/model/model_solver.cc
+++ b/src/model/model_solver.cc
@@ -1,671 +1,674 @@
 /**
  * @file   model_solver.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Wed Aug 12 13:31:56 2015
  *
  * @brief  Implementation of ModelSolver
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "model_solver.hh"
 #include "dof_manager.hh"
+#include "non_linear_solver.hh"
+#include "time_step_solver.hh"
+
 #include "mesh.hh"
 
 #if defined(AKANTU_USE_MPI)
 #include "mpi_type_wrapper.hh"
 #endif
 
 #include "dof_manager_default.hh"
 
 #if defined(AKANTU_USE_PETSC)
 #include "dof_manager_petsc.hh"
 #endif
 
 /* -------------------------------------------------------------------------- */
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 ModelSolver::ModelSolver(Mesh & mesh, const ID & id, UInt memory_id)
     : Parsable(_st_model_solver, id), SolverCallback(), parent_id(id),
       parent_memory_id(memory_id), mesh(mesh), dof_manager(NULL),
       default_solver_id("") {}
 
 /* -------------------------------------------------------------------------- */
 ModelSolver::~ModelSolver() { delete this->dof_manager; }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::initDOFManager() {
   std::pair<Parser::const_section_iterator, Parser::const_section_iterator>
     sub_sect = getStaticParser().getSubSections(_st_model_solver);
 
   // default without external solver activated at compilation same as mumps that
   // is the historical solver but with only the lumped solver
   ID solver_type = "explicit";
 
 #if defined(AKANTU_USE_MUMPS)
   solver_type = "mumps";
 #elif defined(AKANTU_USE_PETSC)
   solver_type = "petsc";
 #endif
 
   const ParserSection * section = NULL;
   Parser::const_section_iterator it;
   for (it = sub_sect.first; it != sub_sect.second && section == NULL; ++it) {
     if (it->getName() == this->parent_id) {
       section = &(*it);
       solver_type = section->getOption(solver_type);
     }
   }
 
   if (section) {
     this->initDOFManager(*section, solver_type);
   } else {
     this->initDOFManager(solver_type);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::initDOFManager(const ID & solver_type) {
   if (solver_type == "explicit") {
     ID id = this->parent_id + ":dof_manager_default";
     this->dof_manager = new DOFManagerDefault(id, this->parent_memory_id);
   } else if (solver_type == "petsc") {
 #if defined(AKANTU_USE_PETSC)
     ID id = this->parent_id + ":dof_manager_petsc";
     this->dof_manager = new DOFManagerPETSc(id, this->parent_memory_id);
 #else
     AKANTU_EXCEPTION(
         "To use PETSc you have to activate it in the compilations options");
 #endif
   } else if (solver_type == "mumps") {
 #if defined(AKANTU_USE_MUMPS)
     ID id = this->parent_id + ":dof_manager_default";
     this->dof_manager = new DOFManagerDefault(id, this->parent_memory_id);
 #else
     AKANTU_EXCEPTION(
         "To use MUMPS you have to activate it in the compilations options");
 #endif
   } else {
     AKANTU_EXCEPTION(
         "To use the solver "
         << solver_type
         << " you will have to code it. This is an unknown solver type.");
   }
 
   this->dof_manager->registerMesh(mesh);
   this->setDOFManager(*this->dof_manager);
 }
 
 /* -------------------------------------------------------------------------- */
 template <typename T> static T getOptionToType(const std::string & opt_str) {
   std::stringstream sstr(opt_str);
   T opt;
   sstr >> opt;
 
   return opt;
 }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::initDOFManager(const ParserSection & section,
                                  const ID & solver_type) {
   this->initDOFManager(solver_type);
   std::pair<Parser::const_section_iterator, Parser::const_section_iterator>
     sub_sect = section.getSubSections(_st_time_step_solver);
 
   Parser::const_section_iterator it;
   for (it = sub_sect.first; it != sub_sect.second; ++it) {
     ID solver_id = it->getName();
 
     std::string str = it->getOption();
     TimeStepSolverType tss_type =
       it->getParameter("type", this->getDefaultSolverType());
     ModelSolverOptions tss_options = this->getDefaultSolverOptions(tss_type);
 
     std::pair<Parser::const_section_iterator, Parser::const_section_iterator>
       sub_solvers_sect = it->getSubSections(_st_non_linear_solver);
     Parser::const_section_iterator sub_it;
     UInt nb_non_linear_solver_section =
       it->getNbSubSections(_st_non_linear_solver);
 
     NonLinearSolverType nls_type = tss_options.non_linear_solver_type;
 
     if (nb_non_linear_solver_section == 1) {
       const ParserSection & nls_section = *(sub_solvers_sect.first);
       nls_type = getOptionToType<NonLinearSolverType>(nls_section.getName());
     } else if (nb_non_linear_solver_section > 0) {
       AKANTU_EXCEPTION("More than one non linear solver are provided for the "
                        "time step solver "
                        << solver_id);
     }
 
     this->getNewSolver(solver_id, tss_type, nls_type);
     if (nb_non_linear_solver_section == 1) {
       const ParserSection & nls_section = *(sub_solvers_sect.first);
       this->dof_manager->getNonLinearSolver(solver_id).parseSection(
           nls_section);
     }
 
     std::pair<Parser::const_section_iterator, Parser::const_section_iterator>
       sub_integrator_sect = it->getSubSections(_st_integration_scheme);
 
     for (sub_it = sub_integrator_sect.first;
          sub_it != sub_integrator_sect.second; ++sub_it) {
       const ParserSection & is_section = *sub_it;
       const ID & dof_id = is_section.getName();
 
       IntegrationSchemeType it_type = is_section.getParameter(
           "type", tss_options.integration_scheme_type[dof_id]);
 
       IntegrationScheme::SolutionType s_type = is_section.getParameter(
           "solution_type", tss_options.solution_type[dof_id]);
       this->setIntegrationScheme(solver_id, dof_id, it_type, s_type);
     }
 
     std::map<ID, IntegrationSchemeType>::const_iterator it =
       tss_options.integration_scheme_type.begin();
     std::map<ID, IntegrationSchemeType>::const_iterator end =
       tss_options.integration_scheme_type.end();
     for (; it != end; ++it) {
       if (!this->hasIntegrationScheme(solver_id, it->first)) {
         this->setIntegrationScheme(solver_id, it->first, it->second,
                                    tss_options.solution_type[it->first]);
       }
     }
   }
 
   if (section.hasParameter("default_solver")) {
     ID default_solver = section.getParameter("default_solver");
     this->setDefaultSolver(default_solver);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 TimeStepSolver & ModelSolver::getSolver(const ID & solver_id) {
   ID tmp_solver_id = solver_id;
   if (tmp_solver_id == "")
     tmp_solver_id = this->default_solver_id;
 
   TimeStepSolver & tss = this->dof_manager->getTimeStepSolver(tmp_solver_id);
   return tss;
 }
 
 /* -------------------------------------------------------------------------- */
 const TimeStepSolver & ModelSolver::getSolver(const ID & solver_id) const {
   ID tmp_solver_id = solver_id;
   if (solver_id == "")
     tmp_solver_id = this->default_solver_id;
 
   const TimeStepSolver & tss =
       this->dof_manager->getTimeStepSolver(tmp_solver_id);
   return tss;
 }
 
 /* -------------------------------------------------------------------------- */
 TimeStepSolver & ModelSolver::getTimeStepSolver(const ID & solver_id) {
   return this->getSolver(solver_id);
 }
 
 /* -------------------------------------------------------------------------- */
 const TimeStepSolver &
 ModelSolver::getTimeStepSolver(const ID & solver_id) const {
   return this->getSolver(solver_id);
 }
 
 /* -------------------------------------------------------------------------- */
 NonLinearSolver & ModelSolver::getNonLinearSolver(const ID & solver_id) {
   return this->getSolver(solver_id).getNonLinearSolver();
 }
 /* -------------------------------------------------------------------------- */
 const NonLinearSolver &
 ModelSolver::getNonLinearSolver(const ID & solver_id) const {
   return this->getSolver(solver_id).getNonLinearSolver();
 }
 
 /* -------------------------------------------------------------------------- */
 bool ModelSolver::hasSolver(const ID & solver_id) const {
   ID tmp_solver_id = solver_id;
   if (solver_id == "")
     tmp_solver_id = this->default_solver_id;
 
   return this->dof_manager->hasTimeStepSolver(tmp_solver_id);
 }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::setDefaultSolver(const ID & solver_id) {
   AKANTU_DEBUG_ASSERT(
       this->hasSolver(solver_id),
       "Cannot set the default solver to a solver that does not exists");
   this->default_solver_id = solver_id;
 }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::solveStep(const ID & solver_id) {
   AKANTU_DEBUG_IN();
 
   TimeStepSolver & tss = this->getSolver(solver_id);
   // make one non linear solve
   tss.solveStep(*this);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::getNewSolver(const ID & solver_id,
                                TimeStepSolverType time_step_solver_type,
                                NonLinearSolverType non_linear_solver_type) {
   if (this->default_solver_id == "") {
     this->default_solver_id = solver_id;
   }
 
   if (non_linear_solver_type == _nls_auto) {
     switch (time_step_solver_type) {
     case _tsst_dynamic:
     case _tsst_static:
       non_linear_solver_type = _nls_newton_raphson;
       break;
     case _tsst_dynamic_lumped:
       non_linear_solver_type = _nls_lumped;
       break;
     }
   }
 
   this->initSolver(time_step_solver_type, non_linear_solver_type);
 
   NonLinearSolver & nls = this->dof_manager->getNewNonLinearSolver(
       solver_id, non_linear_solver_type);
 
   this->dof_manager->getNewTimeStepSolver(solver_id, time_step_solver_type,
                                           nls);
 }
 
 /* -------------------------------------------------------------------------- */
 Real ModelSolver::getTimeStep(const ID & solver_id) const {
   const TimeStepSolver & tss = this->getSolver(solver_id);
 
   return tss.getTimeStep();
 }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::setTimeStep(Real time_step, const ID & solver_id) {
   TimeStepSolver & tss = this->getSolver(solver_id);
 
   return tss.setTimeStep(time_step);
 }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::setIntegrationScheme(
     const ID & solver_id, const ID & dof_id,
     const IntegrationSchemeType & integration_scheme_type,
     IntegrationScheme::SolutionType solution_type) {
   TimeStepSolver & tss = this->dof_manager->getTimeStepSolver(solver_id);
 
   tss.setIntegrationScheme(dof_id, integration_scheme_type, solution_type);
 }
 
 /* -------------------------------------------------------------------------- */
 bool ModelSolver::hasDefaultSolver() const {
   return (this->default_solver_id != "");
 }
 
 /* -------------------------------------------------------------------------- */
 bool ModelSolver::hasIntegrationScheme(const ID & solver_id,
                                        const ID & dof_id) const {
   TimeStepSolver & tss = this->dof_manager->getTimeStepSolver(solver_id);
   return tss.hasIntegrationScheme(dof_id);
 }
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::predictor() {}
 
 /* -------------------------------------------------------------------------- */
 void ModelSolver::corrector() {}
 
 /* -------------------------------------------------------------------------- */
 TimeStepSolverType ModelSolver::getDefaultSolverType() const {
   return _tsst_dynamic_lumped;
 }
 
 /* -------------------------------------------------------------------------- */
 ModelSolverOptions
 ModelSolver::getDefaultSolverOptions(__attribute__((unused))
                                      const TimeStepSolverType & type) const {
   ModelSolverOptions options;
   options.non_linear_solver_type = _nls_auto;
   return options;
 }
 
 /* -------------------------------------------------------------------------- */
 // void ModelSolver::setIntegrationScheme(
 //     const ID & solver_id, const ID & dof_id,
 //     const IntegrationSchemeType & integration_scheme_type) {}
 
 /* -------------------------------------------------------------------------- */
 
 // /* --------------------------------------------------------------------------
 // */
 // template <NewmarkBeta::IntegrationSchemeCorrectorType type>
 // void SolidMechanicsModel::solve(Array<Real> &increment, Real block_val,
 //                                 bool need_factorize, bool
 //                                 has_profile_changed) {
 
 //   if(has_profile_changed) {
 //     this->initJacobianMatrix();
 //     need_factorize = true;
 //   }
 
 //   updateResidualInternal(); //doesn't do anything for static
 
 //   if(need_factorize) {
 //     Real c = 0.,d = 0.,e = 0.;
 
 //     if(method == _static) {
 //       AKANTU_DEBUG_INFO("Solving K inc = r");
 //       e = 1.;
 //     } else {
 //       AKANTU_DEBUG_INFO("Solving (c M + d C + e K) inc = r");
 
 //       NewmarkBeta * nmb_int = dynamic_cast<NewmarkBeta *>(integrator);
 //       c = nmb_int->getAccelerationCoefficient<type>(time_step);
 //       d = nmb_int->getVelocityCoefficient<type>(time_step);
 //       e = nmb_int->getDisplacementCoefficient<type>(time_step);
 //     }
 
 //     jacobian_matrix->clear();
 //     // J = c M + d C + e K
 //     if(stiffness_matrix)
 //       jacobian_matrix->add(*stiffness_matrix, e);
 
 //     if(mass_matrix)
 //       jacobian_matrix->add(*mass_matrix, c);
 
 // #if !defined(AKANTU_NDEBUG)
 //     if(mass_matrix && AKANTU_DEBUG_TEST(dblDump))
 //       mass_matrix->saveMatrix("M.mtx");
 // #endif
 
 //     if(velocity_damping_matrix)
 //       jacobian_matrix->add(*velocity_damping_matrix, d);
 
 //     jacobian_matrix->applyBoundary(*blocked_dofs, block_val);
 
 // #if !defined(AKANTU_NDEBUG)
 //     if(AKANTU_DEBUG_TEST(dblDump))
 //       jacobian_matrix->saveMatrix("J.mtx");
 // #endif
 //     solver->factorize();
 //   }
 
 //   // if (rhs.getSize() != 0)
 //   //  solver->setRHS(rhs);
 //   // else
 
 //   solver->setOperators();
 
 //   solver->setRHS(*residual);
 
 //   // solve @f[ J \delta w = r @f]
 //   solver->solve(increment);
 
 //   UInt nb_nodes = displacement-> getSize();
 //   UInt nb_degree_of_freedom = displacement->getNbComponent() * nb_nodes;
 
 //   bool * blocked_dofs_val = blocked_dofs->storage();
 //   Real * increment_val = increment.storage();
 
 //   for (UInt j = 0; j < nb_degree_of_freedom;
 //        ++j,++increment_val, ++blocked_dofs_val) {
 //     if ((*blocked_dofs_val))
 //       *increment_val = 0.0;
 //     }
 
 // }
 
 // /* --------------------------------------------------------------------------
 // */
 // template<SolveConvergenceMethod cmethod, SolveConvergenceCriteria criteria>
 // bool SolidMechanicsModel::solveStatic(Real tolerance, UInt max_iteration,
 //                                       bool do_not_factorize) {
 
 //   AKANTU_DEBUG_INFO("Solving Ku = f");
 //   AKANTU_DEBUG_ASSERT(stiffness_matrix != NULL,
 //                       "You should first initialize the implicit solver and
 //                       assemble the stiffness matrix by calling
 //                       initImplicit");
 
 //   AnalysisMethod analysis_method=method;
 //   Real error = 0.;
 //   method=_static;
 //   bool converged = this->template solveStep<cmethod, criteria>(tolerance,
 //   error, max_iteration, do_not_factorize);
 //   method=analysis_method;
 //   return converged;
 
 // }
 
 // /* --------------------------------------------------------------------------
 // */
 // template<SolveConvergenceMethod cmethod, SolveConvergenceCriteria criteria>
 // bool SolidMechanicsModel::solveStep(Real tolerance,
 //                                     UInt max_iteration) {
 //   Real error = 0.;
 //   return this->template solveStep<cmethod,criteria>(tolerance,
 //                                                     error,
 //                                                     max_iteration);
 // }
 
 // /* --------------------------------------------------------------------------
 // */
 // template<SolveConvergenceMethod cmethod, SolveConvergenceCriteria criteria>
 // bool SolidMechanicsModel::solveStep(Real tolerance, Real & error, UInt
 // max_iteration,
 //                                     bool do_not_factorize) {
 //   EventManager::sendEvent(SolidMechanicsModelEvent::BeforeSolveStepEvent(method));
 //   this->implicitPred();
 //   this->updateResidual();
 
 //   AKANTU_DEBUG_ASSERT(stiffness_matrix != NULL,
 //                       "You should first initialize the implicit solver and
 //                       assemble the stiffness matrix");
 
 //   bool need_factorize = !do_not_factorize;
 
 //   if (method==_implicit_dynamic) {
 //     AKANTU_DEBUG_ASSERT(mass_matrix != NULL,
 //                         "You should first initialize the implicit solver and
 //                         assemble the mass matrix");
 //   }
 
 //   switch (cmethod) {
 //   case _scm_newton_raphson_tangent:
 //   case _scm_newton_raphson_tangent_not_computed:
 //     break;
 //   case _scm_newton_raphson_tangent_modified:
 //     this->assembleStiffnessMatrix();
 //     break;
 //   default:
 //     AKANTU_DEBUG_ERROR("The resolution method " << cmethod << " has not been
 //     implemented!");
 //   }
 
 //   this->n_iter = 0;
 //   bool converged = false;
 //   error = 0.;
 //   if(criteria == _scc_residual) {
 //     converged = this->testConvergence<criteria> (tolerance, error);
 //     if(converged) return converged;
 //   }
 
 //   do {
 //     if (cmethod == _scm_newton_raphson_tangent)
 //       this->assembleStiffnessMatrix();
 
 //     solve<NewmarkBeta::_displacement_corrector> (*increment, 1.,
 //     need_factorize);
 
 //     this->implicitCorr();
 
 //     if(criteria == _scc_residual) this->updateResidual();
 
 //     converged = this->testConvergence<criteria> (tolerance, error);
 
 //     if(criteria == _scc_increment && !converged) this->updateResidual();
 //     //this->dump();
 
 //     this->n_iter++;
 //     AKANTU_DEBUG_INFO("[" << criteria << "] Convergence iteration "
 //                       << std::setw(std::log10(max_iteration)) << this->n_iter
 //                       << ": error " << error << (converged ? " < " : " > ")
 //                       << tolerance);
 
 //     switch (cmethod) {
 //     case _scm_newton_raphson_tangent:
 //       need_factorize = true;
 //       break;
 //     case _scm_newton_raphson_tangent_not_computed:
 //     case _scm_newton_raphson_tangent_modified:
 //       need_factorize = false;
 //       break;
 //     default:
 //       AKANTU_DEBUG_ERROR("The resolution method " << cmethod << " has not
 //       been implemented!");
 //     }
 
 //   } while (!converged && this->n_iter < max_iteration);
 
 //   // this makes sure that you have correct strains and stresses after the
 //   solveStep function (e.g., for dumping)
 //   if(criteria == _scc_increment) this->updateResidual();
 
 //   if (converged) {
 //     EventManager::sendEvent(SolidMechanicsModelEvent::AfterSolveStepEvent(method));
 //   } else if(this->n_iter == max_iteration) {
 //     AKANTU_DEBUG_WARNING("[" << criteria << "] Convergence not reached after
 //     "
 //                          << std::setw(std::log10(max_iteration)) <<
 //                          this->n_iter <<
 //                          " iteration" << (this->n_iter == 1 ? "" : "s") <<
 //                          "!" << std::endl);
 //   }
 
 //   return converged;
 // }
 
 // void SolidMechanicsModel::updateResidualInternal() {
 //   AKANTU_DEBUG_IN();
 
 //   AKANTU_DEBUG_INFO("Update the residual");
 //   // f = f_ext - f_int - Ma - Cv = r - Ma - Cv;
 
 //   if(method != _static) {
 //     // f -= Ma
 //     if(mass_matrix) {
 //       // if full mass_matrix
 //       Array<Real> * Ma = new Array<Real>(*acceleration, true, "Ma");
 //       *Ma *= *mass_matrix;
 //       /// \todo check unit conversion for implicit dynamics
 //       //      *Ma /= f_m2a
 //       *residual -= *Ma;
 //       delete Ma;
 //     } else if (mass) {
 
 //       // else lumped mass
 //       UInt nb_nodes = acceleration->getSize();
 //       UInt nb_degree_of_freedom = acceleration->getNbComponent();
 
 //       Real * mass_val     = mass->storage();
 //       Real * accel_val    = acceleration->storage();
 //       Real * res_val      = residual->storage();
 //       bool * blocked_dofs_val = blocked_dofs->storage();
 
 //       for (UInt n = 0; n < nb_nodes * nb_degree_of_freedom; ++n) {
 // 	if(!(*blocked_dofs_val)) {
 // 	  *res_val -= *accel_val * *mass_val /f_m2a;
 // 	}
 // 	blocked_dofs_val++;
 // 	res_val++;
 // 	mass_val++;
 // 	accel_val++;
 //       }
 //     } else {
 //       AKANTU_DEBUG_ERROR("No function called to assemble the mass matrix.");
 //     }
 
 //     // f -= Cv
 //     if(velocity_damping_matrix) {
 //       Array<Real> * Cv = new Array<Real>(*velocity);
 //       *Cv *= *velocity_damping_matrix;
 //       *residual -= *Cv;
 //       delete Cv;
 //     }
 //   }
 
 //   AKANTU_DEBUG_OUT();
 // }
 
 // /* --------------------------------------------------------------------------
 // */
 // void SolidMechanicsModel::solveLumped(Array<Real> & x,
 // 				      const Array<Real> & A,
 // 				      const Array<Real> & b,
 // 				      const Array<bool> & blocked_dofs,
 // 				      Real alpha) {
 
 //   Real * A_val = A.storage();
 //   Real * b_val = b.storage();
 //   Real * x_val = x.storage();
 //   bool * blocked_dofs_val = blocked_dofs.storage();
 
 //   UInt nb_degrees_of_freedom = x.getSize() * x.getNbComponent();
 
 //   for (UInt n = 0; n < nb_degrees_of_freedom; ++n) {
 //     if(!(*blocked_dofs_val)) {
 //       *x_val = alpha * (*b_val / *A_val);
 //     }
 //     x_val++;
 //     A_val++;
 //     b_val++;
 //     blocked_dofs_val++;
 //   }
 // }
 
 /* -------------------------------------------------------------------------- */
 // void TimeStepSolverDefault::updateAcceleration() {
 //   AKANTU_DEBUG_IN();
 
 //   updateResidualInternal();
 
 //   if (method == _explicit_lumped_mass) {
 //     /* residual = residual_{n+1} - M * acceleration_n therefore
 //        solution = increment acceleration not acceleration */
 //     solveLumped(*increment_acceleration, *mass, *residual, *blocked_dofs,
 //                 f_m2a);
 //   } else if (method == _explicit_consistent_mass) {
 //     solve<NewmarkBeta::_acceleration_corrector>(*increment_acceleration);
 //   }
 
 //   AKANTU_DEBUG_OUT();
 // }
 
 __END_AKANTU__
diff --git a/src/model/solid_mechanics/material.cc b/src/model/solid_mechanics/material.cc
index 581a039df..40713adec 100644
--- a/src/model/solid_mechanics/material.cc
+++ b/src/model/solid_mechanics/material.cc
@@ -1,1670 +1,1670 @@
+
+
 /**
  * @file   material.cc
  *
  * @author Aurelia Isabel Cuba Ramos <aurelia.cubaramos@epfl.ch>
  * @author Daniel Pino Muñoz <daniel.pinomunoz@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  * @author Marco Vocialta <marco.vocialta@epfl.ch>
  *
  * @date creation: Tue Jul 27 2010
  * @date last modification: Tue Nov 24 2015
  *
  * @brief  Implementation of the common part of the material class
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "material.hh"
 #include "solid_mechanics_model.hh"
-#include "sparse_matrix.hh"
-#include "dof_synchronizer.hh"
 /* -------------------------------------------------------------------------- */
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 Material::Material(SolidMechanicsModel & model, const ID & id)
     : Memory(id, model.getMemoryID()), Parsable(_st_material, id),
       is_init(false), fem(&(model.getFEEngine())), finite_deformation(false),
       name(""), model(&model),
       spatial_dimension(this->model->getSpatialDimension()),
       element_filter("element_filter", id, this->memory_id),
       stress("stress", *this), eigengradu("eigen_grad_u", *this),
       gradu("grad_u", *this), green_strain("green_strain", *this),
       piola_kirchhoff_2("piola_kirchhoff_2", *this),
       potential_energy("potential_energy", *this), is_non_local(false),
       use_previous_stress(false), use_previous_gradu(false),
       interpolation_inverse_coordinates("interpolation inverse coordinates",
                                         *this),
       interpolation_points_matrices("interpolation points matrices", *this) {
   AKANTU_DEBUG_IN();
 
   /// for each connectivity types allocate the element filer array of the
   /// material
   model.getMesh().initElementTypeMapArray(element_filter, 1, spatial_dimension,
                                           false, _ek_regular);
 
   this->initialize();
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 Material::Material(SolidMechanicsModel & model, UInt dim, const Mesh & mesh,
                    FEEngine & fe_engine, const ID & id)
     : Memory(id, model.getMemoryID()), Parsable(_st_material, id),
       is_init(false), fem(&(model.getFEEngine())), finite_deformation(false),
       name(""), model(&model), spatial_dimension(dim),
       element_filter("element_filter", id, this->memory_id),
       stress("stress", *this, dim, fe_engine, this->element_filter),
       eigengradu("eigen_grad_u", *this, dim, fe_engine, this->element_filter),
       gradu("gradu", *this, dim, fe_engine, this->element_filter),
       green_strain("green_strain", *this, dim, fe_engine, this->element_filter),
       piola_kirchhoff_2("poila_kirchhoff_2", *this, dim, fe_engine,
                         this->element_filter),
       potential_energy("potential_energy", *this, dim, fe_engine,
                        this->element_filter),
       is_non_local(false), use_previous_stress(false),
       use_previous_gradu(false),
       interpolation_inverse_coordinates("interpolation inverse_coordinates",
                                         *this, dim, fe_engine,
                                         this->element_filter),
       interpolation_points_matrices("interpolation points matrices", *this, dim,
                                     fe_engine, this->element_filter) {
 
   AKANTU_DEBUG_IN();
   mesh.initElementTypeMapArray(element_filter, 1, spatial_dimension, false,
                                _ek_regular);
 
   this->initialize();
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 Material::~Material() {
   AKANTU_DEBUG_IN();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::initialize() {
   registerParam("rho", rho, Real(0.), _pat_parsable | _pat_modifiable,
                 "Density");
   registerParam("name", name, std::string(), _pat_parsable | _pat_readable);
   registerParam("finite_deformation", finite_deformation, false,
                 _pat_parsable | _pat_readable, "Is finite deformation");
   registerParam("inelastic_deformation", inelastic_deformation, false,
                 _pat_internal, "Is inelastic deformation");
 
   /// allocate gradu stress for local elements
   eigengradu.initialize(spatial_dimension * spatial_dimension);
   gradu.initialize(spatial_dimension * spatial_dimension);
   stress.initialize(spatial_dimension * spatial_dimension);
 
   potential_energy.initialize(1);
 
   this->model->registerEventHandler(*this);
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::initMaterial() {
   AKANTU_DEBUG_IN();
 
   if (finite_deformation) {
     this->piola_kirchhoff_2.initialize(spatial_dimension * spatial_dimension);
     if (use_previous_stress)
       this->piola_kirchhoff_2.initializeHistory();
     this->green_strain.initialize(spatial_dimension * spatial_dimension);
   }
 
   if (use_previous_stress)
     this->stress.initializeHistory();
   if (use_previous_gradu)
     this->gradu.initializeHistory();
 
   for (std::map<ID, InternalField<Real> *>::iterator it =
            internal_vectors_real.begin();
        it != internal_vectors_real.end(); ++it)
     it->second->resize();
 
   for (std::map<ID, InternalField<UInt> *>::iterator it =
            internal_vectors_uint.begin();
        it != internal_vectors_uint.end(); ++it)
     it->second->resize();
 
   for (std::map<ID, InternalField<bool> *>::iterator it =
            internal_vectors_bool.begin();
        it != internal_vectors_bool.end(); ++it)
     it->second->resize();
 
   is_init = true;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::savePreviousState() {
   AKANTU_DEBUG_IN();
 
   for (std::map<ID, InternalField<Real> *>::iterator it =
            internal_vectors_real.begin();
        it != internal_vectors_real.end(); ++it) {
     if (it->second->hasHistory())
       it->second->saveCurrentValues();
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 /**
  * Compute  the  residual  by  assembling  @f$\int_{e}  \sigma_e  \frac{\partial
  * \varphi}{\partial X} dX @f$
  *
  * @param[in] displacements nodes displacements
  * @param[in] ghost_type compute the residual for _ghost or _not_ghost element
  */
 // void Material::updateResidual(GhostType ghost_type) {
 //   AKANTU_DEBUG_IN();
 
 //   computeAllStresses(ghost_type);
 //   assembleResidual(ghost_type);
 
 //   AKANTU_DEBUG_OUT();
 // }
 
 /* -------------------------------------------------------------------------- */
 void Material::assembleInternalForces(GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   UInt spatial_dimension = model->getSpatialDimension();
 
   if (!finite_deformation) {
 
     Array<Real> & internal_force = const_cast<Array<Real> &>(model->getInternalForce());
 
     Mesh & mesh = fem->getMesh();
     Mesh::type_iterator it =
         element_filter.firstType(spatial_dimension, ghost_type);
     Mesh::type_iterator last_type =
         element_filter.lastType(spatial_dimension, ghost_type);
     for (; it != last_type; ++it) {
       Array<UInt> & elem_filter = element_filter(*it, ghost_type);
       UInt nb_element = elem_filter.getSize();
       if (nb_element) {
         const Array<Real> & shapes_derivatives =
             fem->getShapesDerivatives(*it, ghost_type);
 
         UInt size_of_shapes_derivatives = shapes_derivatives.getNbComponent();
         UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(*it);
         UInt nb_quadrature_points =
             fem->getNbIntegrationPoints(*it, ghost_type);
 
         /// compute @f$\sigma \frac{\partial \varphi}{\partial X}@f$ by
         /// @f$\mathbf{B}^t \mathbf{\sigma}_q@f$
         Array<Real> * sigma_dphi_dx =
             new Array<Real>(nb_element * nb_quadrature_points,
                             size_of_shapes_derivatives, "sigma_x_dphi_/_dX");
 
         Array<Real> * shapesd_filtered =
             new Array<Real>(0, size_of_shapes_derivatives, "filtered shapesd");
 
         FEEngine::filterElementalData(mesh, shapes_derivatives,
                                       *shapesd_filtered, *it, ghost_type,
                                       elem_filter);
 
         Array<Real> & stress_vect = this->stress(*it, ghost_type);
 
         Array<Real>::matrix_iterator sigma =
             stress_vect.begin(spatial_dimension, spatial_dimension);
         Array<Real>::matrix_iterator B =
             shapesd_filtered->begin(spatial_dimension, nb_nodes_per_element);
         Array<Real>::matrix_iterator Bt_sigma_it =
             sigma_dphi_dx->begin(spatial_dimension, nb_nodes_per_element);
 
         for (UInt q = 0; q < nb_element * nb_quadrature_points;
              ++q, ++sigma, ++B, ++Bt_sigma_it)
           Bt_sigma_it->mul<false, false>(*sigma, *B);
 
         delete shapesd_filtered;
 
         /**
          * compute @f$\int \sigma  * \frac{\partial \varphi}{\partial X}dX@f$ by
          * @f$ \sum_q \mathbf{B}^t
          * \mathbf{\sigma}_q \overline w_q J_q@f$
          */
         Array<Real> * int_sigma_dphi_dx = new Array<Real>(
             nb_element, nb_nodes_per_element * spatial_dimension,
             "int_sigma_x_dphi_/_dX");
 
         fem->integrate(*sigma_dphi_dx, *int_sigma_dphi_dx,
                        size_of_shapes_derivatives, *it, ghost_type,
                        elem_filter);
         delete sigma_dphi_dx;
 
         /// assemble
         model->getDOFManager().assembleElementalArrayLocalArray(*int_sigma_dphi_dx, internal_force,
                                                                 *it, ghost_type, 1, elem_filter);
         delete int_sigma_dphi_dx;
       }
     }
   } else {
     switch (spatial_dimension) {
     case 1:
       this->assembleInternalForces<1>(ghost_type);
       break;
     case 2:
       this->assembleInternalForces<2>(ghost_type);
       break;
     case 3:
       this->assembleInternalForces<3>(ghost_type);
       break;
     }
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 /**
  * Compute  the  stress from the gradu
  *
  * @param[in] current_position nodes postition + displacements
  * @param[in] ghost_type compute the residual for _ghost or _not_ghost element
  */
 void Material::computeAllStresses(GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   UInt spatial_dimension = model->getSpatialDimension();
 
   Mesh::type_iterator it =
       fem->getMesh().firstType(spatial_dimension, ghost_type);
   Mesh::type_iterator last_type =
       fem->getMesh().lastType(spatial_dimension, ghost_type);
 
   for (; it != last_type; ++it) {
     Array<UInt> & elem_filter = element_filter(*it, ghost_type);
     if (elem_filter.getSize() == 0)
       continue;
     Array<Real> & gradu_vect = gradu(*it, ghost_type);
 
     /// compute @f$\nabla u@f$
     fem->gradientOnIntegrationPoints(model->getDisplacement(), gradu_vect,
                                      spatial_dimension, *it, ghost_type,
                                      elem_filter);
 
     gradu_vect -= eigengradu(*it, ghost_type);
 
     /// compute @f$\mathbf{\sigma}_q@f$ from @f$\nabla u@f$
     computeStress(*it, ghost_type);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::computeAllCauchyStresses(GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   AKANTU_DEBUG_ASSERT(finite_deformation, "The Cauchy stress can only be "
                                           "computed if you are working in "
                                           "finite deformation.");
 
   // resizeInternalArray(stress);
 
   Mesh::type_iterator it =
       fem->getMesh().firstType(spatial_dimension, ghost_type);
   Mesh::type_iterator last_type =
       fem->getMesh().lastType(spatial_dimension, ghost_type);
 
   for (; it != last_type; ++it)
     switch (spatial_dimension) {
     case 1:
       this->computeCauchyStress<1>(*it, ghost_type);
       break;
     case 2:
       this->computeCauchyStress<2>(*it, ghost_type);
       break;
     case 3:
       this->computeCauchyStress<3>(*it, ghost_type);
       break;
     }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 void Material::computeCauchyStress(ElementType el_type, GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   Array<Real>::matrix_iterator gradu_it =
       this->gradu(el_type, ghost_type).begin(dim, dim);
 
   Array<Real>::matrix_iterator gradu_end =
       this->gradu(el_type, ghost_type).end(dim, dim);
 
   Array<Real>::matrix_iterator piola_it =
       this->piola_kirchhoff_2(el_type, ghost_type).begin(dim, dim);
 
   Array<Real>::matrix_iterator stress_it =
       this->stress(el_type, ghost_type).begin(dim, dim);
 
   Matrix<Real> F_tensor(dim, dim);
 
   for (; gradu_it != gradu_end; ++gradu_it, ++piola_it, ++stress_it) {
     Matrix<Real> & grad_u = *gradu_it;
     Matrix<Real> & piola = *piola_it;
     Matrix<Real> & sigma = *stress_it;
 
     gradUToF<dim>(grad_u, F_tensor);
     this->computeCauchyStressOnQuad<dim>(F_tensor, piola, sigma);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::setToSteadyState(GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   const Array<Real> & displacement = model->getDisplacement();
 
   // resizeInternalArray(gradu);
 
   UInt spatial_dimension = model->getSpatialDimension();
 
   Mesh::type_iterator it =
       fem->getMesh().firstType(spatial_dimension, ghost_type);
   Mesh::type_iterator last_type =
       fem->getMesh().lastType(spatial_dimension, ghost_type);
 
   for (; it != last_type; ++it) {
     Array<UInt> & elem_filter = element_filter(*it, ghost_type);
     Array<Real> & gradu_vect = gradu(*it, ghost_type);
 
     /// compute @f$\nabla u@f$
     fem->gradientOnIntegrationPoints(displacement, gradu_vect,
                                      spatial_dimension, *it, ghost_type,
                                      elem_filter);
 
     setToSteadyState(*it, ghost_type);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 /**
  * Compute  the stiffness  matrix by  assembling @f$\int_{\omega}  B^t  \times D
  * \times B d\omega @f$
  *
  * @param[in] current_position nodes postition + displacements
  * @param[in] ghost_type compute the residual for _ghost or _not_ghost element
  */
 void Material::assembleStiffnessMatrix(GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   UInt spatial_dimension = model->getSpatialDimension();
 
   Mesh::type_iterator it =
       element_filter.firstType(spatial_dimension, ghost_type);
   Mesh::type_iterator last_type =
       element_filter.lastType(spatial_dimension, ghost_type);
   for (; it != last_type; ++it) {
     if (finite_deformation) {
       switch (spatial_dimension) {
       case 1: {
         assembleStiffnessMatrixNL<1>(*it, ghost_type);
         assembleStiffnessMatrixL2<1>(*it, ghost_type);
         break;
       }
       case 2: {
         assembleStiffnessMatrixNL<2>(*it, ghost_type);
         assembleStiffnessMatrixL2<2>(*it, ghost_type);
         break;
       }
       case 3: {
         assembleStiffnessMatrixNL<3>(*it, ghost_type);
         assembleStiffnessMatrixL2<3>(*it, ghost_type);
         break;
       }
       }
     } else {
       switch (spatial_dimension) {
       case 1: {
         assembleStiffnessMatrix<1>(*it, ghost_type);
         break;
       }
       case 2: {
         assembleStiffnessMatrix<2>(*it, ghost_type);
         break;
       }
       case 3: {
         assembleStiffnessMatrix<3>(*it, ghost_type);
         break;
       }
       }
     }
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 void Material::assembleStiffnessMatrix(const ElementType & type,
                                        GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   Array<UInt> & elem_filter = element_filter(type, ghost_type);
   if (elem_filter.getSize()) {
 
     const Array<Real> & shapes_derivatives = fem->getShapesDerivatives(type,
                                                                        ghost_type);
 
     Array<Real> & gradu_vect = gradu(type, ghost_type);
 
     UInt nb_element = elem_filter.getSize();
     UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
     UInt nb_quadrature_points = fem->getNbIntegrationPoints(type, ghost_type);
 
     gradu_vect.resize(nb_quadrature_points * nb_element);
 
     fem->gradientOnIntegrationPoints(model->getDisplacement(), gradu_vect, dim,
                                      type, ghost_type, elem_filter);
 
     UInt tangent_size = getTangentStiffnessVoigtSize(dim);
 
     Array<Real> * tangent_stiffness_matrix = new Array<Real>(
         nb_element * nb_quadrature_points, tangent_size * tangent_size,
         "tangent_stiffness_matrix");
 
     tangent_stiffness_matrix->clear();
 
     computeTangentModuli(type, *tangent_stiffness_matrix, ghost_type);
 
     Array<Real> * shapesd_filtered =
         new Array<Real>(nb_element, dim * nb_nodes_per_element, "filtered shapesd");
 
     FEEngine::filterElementalData(fem->getMesh(), shapes_derivatives,
                                   *shapesd_filtered, type, ghost_type,
                                   elem_filter);
 
     /// compute @f$\mathbf{B}^t * \mathbf{D} * \mathbf{B}@f$
     UInt bt_d_b_size = dim * nb_nodes_per_element;
 
     Array<Real> * bt_d_b =
         new Array<Real>(nb_element * nb_quadrature_points,
                         bt_d_b_size * bt_d_b_size, "B^t*D*B");
 
     Matrix<Real> B(tangent_size, dim * nb_nodes_per_element);
     Matrix<Real> Bt_D(dim * nb_nodes_per_element, tangent_size);
 
     Array<Real>::matrix_iterator shapes_derivatives_filtered_it =
         shapesd_filtered->begin(dim, nb_nodes_per_element);
 
     Array<Real>::matrix_iterator Bt_D_B_it =
         bt_d_b->begin(dim * nb_nodes_per_element, dim * nb_nodes_per_element);
 
     Array<Real>::matrix_iterator D_it =
         tangent_stiffness_matrix->begin(tangent_size, tangent_size);
 
     Array<Real>::matrix_iterator D_end =
         tangent_stiffness_matrix->end(tangent_size, tangent_size);
 
     for (; D_it != D_end;
          ++D_it, ++Bt_D_B_it, ++shapes_derivatives_filtered_it) {
       Matrix<Real> & D = *D_it;
       Matrix<Real> & Bt_D_B = *Bt_D_B_it;
 
       VoigtHelper<dim>::transferBMatrixToSymVoigtBMatrix(
           *shapes_derivatives_filtered_it, B, nb_nodes_per_element);
       Bt_D.mul<true, false>(B, D);
       Bt_D_B.mul<false, false>(Bt_D, B);
     }
 
     delete tangent_stiffness_matrix;
     delete shapesd_filtered;
 
     /// compute @f$ k_e = \int_e \mathbf{B}^t * \mathbf{D} * \mathbf{B}@f$
     Array<Real> * K_e =
         new Array<Real>(nb_element, bt_d_b_size * bt_d_b_size, "K_e");
 
     fem->integrate(*bt_d_b, *K_e, bt_d_b_size * bt_d_b_size, type, ghost_type,
                    elem_filter);
 
     delete bt_d_b;
 
     model->getDOFManager().assembleElementalMatricesToMatrix("K", "displacement", *K_e,
                                                             type, ghost_type, _symmetric,
                                                             elem_filter);
     delete K_e;
   }
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 void Material::assembleStiffnessMatrixNL(const ElementType & type,
                                          GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   const Array<Real> & shapes_derivatives = fem->getShapesDerivatives(type, ghost_type);
 
   Array<UInt> & elem_filter = element_filter(type, ghost_type);
   // Array<Real> & gradu_vect = delta_gradu(type, ghost_type);
 
   UInt nb_element = elem_filter.getSize();
   UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
   UInt nb_quadrature_points = fem->getNbIntegrationPoints(type, ghost_type);
 
   // gradu_vect.resize(nb_quadrature_points * nb_element);
 
   // fem->gradientOnIntegrationPoints(model->getIncrement(), gradu_vect,
   //        dim, type, ghost_type, &elem_filter);
 
   Array<Real> * shapes_derivatives_filtered = new Array<Real>(
       nb_element * nb_quadrature_points, dim * nb_nodes_per_element,
       "shapes derivatives filtered");
 
   Array<Real>::const_matrix_iterator shapes_derivatives_it =
       shapes_derivatives.begin(spatial_dimension, nb_nodes_per_element);
 
   Array<Real>::matrix_iterator shapes_derivatives_filtered_it =
       shapes_derivatives_filtered->begin(spatial_dimension,
                                          nb_nodes_per_element);
   UInt * elem_filter_val = elem_filter.storage();
   for (UInt e = 0; e < nb_element; ++e, ++elem_filter_val)
     for (UInt q = 0; q < nb_quadrature_points;
          ++q, ++shapes_derivatives_filtered_it)
       *shapes_derivatives_filtered_it =
           shapes_derivatives_it[*elem_filter_val * nb_quadrature_points + q];
 
   /// compute @f$\mathbf{B}^t * \mathbf{D} * \mathbf{B}@f$
   UInt bt_s_b_size = dim * nb_nodes_per_element;
 
   Array<Real> * bt_s_b = new Array<Real>(nb_element * nb_quadrature_points,
                                          bt_s_b_size * bt_s_b_size, "B^t*D*B");
 
   UInt piola_matrix_size = getCauchyStressMatrixSize(dim);
 
   Matrix<Real> B(piola_matrix_size, bt_s_b_size);
   Matrix<Real> Bt_S(bt_s_b_size, piola_matrix_size);
   Matrix<Real> S(piola_matrix_size, piola_matrix_size);
 
   shapes_derivatives_filtered_it = shapes_derivatives_filtered->begin(
       spatial_dimension, nb_nodes_per_element);
 
   Array<Real>::matrix_iterator Bt_S_B_it =
       bt_s_b->begin(bt_s_b_size, bt_s_b_size);
   Array<Real>::matrix_iterator Bt_S_B_end =
       bt_s_b->end(bt_s_b_size, bt_s_b_size);
 
   Array<Real>::matrix_iterator piola_it =
       piola_kirchhoff_2(type, ghost_type).begin(dim, dim);
 
   for (; Bt_S_B_it != Bt_S_B_end;
        ++Bt_S_B_it, ++shapes_derivatives_filtered_it, ++piola_it) {
     Matrix<Real> & Bt_S_B = *Bt_S_B_it;
     Matrix<Real> & Piola_kirchhoff_matrix = *piola_it;
 
     setCauchyStressMatrix<dim>(Piola_kirchhoff_matrix, S);
     VoigtHelper<dim>::transferBMatrixToBNL(*shapes_derivatives_filtered_it, B,
                                            nb_nodes_per_element);
     Bt_S.mul<true, false>(B, S);
     Bt_S_B.mul<false, false>(Bt_S, B);
   }
 
   delete shapes_derivatives_filtered;
 
   /// compute @f$ k_e = \int_e \mathbf{B}^t * \mathbf{D} * \mathbf{B}@f$
   Array<Real> * K_e = new Array<Real > (nb_element,
                                         bt_s_b_size * bt_s_b_size,
                                         "K_e");
 
   fem->integrate(*bt_s_b, *K_e,
                             bt_s_b_size * bt_s_b_size,
                             type, ghost_type,
                             elem_filter);
 
   delete bt_s_b;
 
   model->getDOFManager().assembleElementalMatricesToMatrix("K", "displacement", *K_e,
                                                            type, ghost_type, _symmetric,
                                                            elem_filter);
 
   delete K_e;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 void Material::assembleStiffnessMatrixL2(const ElementType & type,
                                          GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   const Array<Real> & shapes_derivatives = fem->getShapesDerivatives(type, ghost_type);
 
   Array<UInt> & elem_filter = element_filter(type, ghost_type);
   Array<Real> & gradu_vect = gradu(type, ghost_type);
 
   UInt nb_element = elem_filter.getSize();
   UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
   UInt nb_quadrature_points = fem->getNbIntegrationPoints(type, ghost_type);
 
   gradu_vect.resize(nb_quadrature_points * nb_element);
 
   fem->gradientOnIntegrationPoints(model->getDisplacement(), gradu_vect, dim,
                                    type, ghost_type, elem_filter);
 
   UInt tangent_size = getTangentStiffnessVoigtSize(dim);
 
   Array<Real> * tangent_stiffness_matrix =
       new Array<Real>(nb_element * nb_quadrature_points,
                       tangent_size * tangent_size, "tangent_stiffness_matrix");
 
   tangent_stiffness_matrix->clear();
 
   computeTangentModuli(type, *tangent_stiffness_matrix, ghost_type);
 
   Array<Real> * shapes_derivatives_filtered = new Array<Real>(
       nb_element * nb_quadrature_points, dim * nb_nodes_per_element,
       "shapes derivatives filtered");
 
   Array<Real>::const_matrix_iterator shapes_derivatives_it =
       shapes_derivatives.begin(spatial_dimension, nb_nodes_per_element);
 
   Array<Real>::matrix_iterator shapes_derivatives_filtered_it =
       shapes_derivatives_filtered->begin(spatial_dimension,
                                          nb_nodes_per_element);
   UInt * elem_filter_val = elem_filter.storage();
   for (UInt e = 0; e < nb_element; ++e, ++elem_filter_val)
     for (UInt q = 0; q < nb_quadrature_points;
          ++q, ++shapes_derivatives_filtered_it)
       *shapes_derivatives_filtered_it =
           shapes_derivatives_it[*elem_filter_val * nb_quadrature_points + q];
 
   /// compute @f$\mathbf{B}^t * \mathbf{D} * \mathbf{B}@f$
   UInt bt_d_b_size = dim * nb_nodes_per_element;
 
   Array<Real> * bt_d_b = new Array<Real>(nb_element * nb_quadrature_points,
                                          bt_d_b_size * bt_d_b_size, "B^t*D*B");
 
   Matrix<Real> B(tangent_size, dim * nb_nodes_per_element);
   Matrix<Real> B2(tangent_size, dim * nb_nodes_per_element);
   Matrix<Real> Bt_D(dim * nb_nodes_per_element, tangent_size);
 
   shapes_derivatives_filtered_it = shapes_derivatives_filtered->begin(
       spatial_dimension, nb_nodes_per_element);
 
   Array<Real>::matrix_iterator Bt_D_B_it =
       bt_d_b->begin(dim * nb_nodes_per_element, dim * nb_nodes_per_element);
 
   Array<Real>::matrix_iterator grad_u_it = gradu_vect.begin(dim, dim);
 
   Array<Real>::matrix_iterator D_it =
       tangent_stiffness_matrix->begin(tangent_size, tangent_size);
   Array<Real>::matrix_iterator D_end =
       tangent_stiffness_matrix->end(tangent_size, tangent_size);
 
   for (; D_it != D_end;
        ++D_it, ++Bt_D_B_it, ++shapes_derivatives_filtered_it, ++grad_u_it) {
     Matrix<Real> & grad_u = *grad_u_it;
     Matrix<Real> & D = *D_it;
     Matrix<Real> & Bt_D_B = *Bt_D_B_it;
 
     // transferBMatrixToBL1<dim > (*shapes_derivatives_filtered_it, B,
     // nb_nodes_per_element);
     VoigtHelper<dim>::transferBMatrixToSymVoigtBMatrix(
         *shapes_derivatives_filtered_it, B, nb_nodes_per_element);
     VoigtHelper<dim>::transferBMatrixToBL2(*shapes_derivatives_filtered_it,
                                            grad_u, B2, nb_nodes_per_element);
     B += B2;
     Bt_D.mul<true, false>(B, D);
     Bt_D_B.mul<false, false>(Bt_D, B);
   }
 
   delete tangent_stiffness_matrix;
   delete shapes_derivatives_filtered;
 
   /// compute @f$ k_e = \int_e \mathbf{B}^t * \mathbf{D} * \mathbf{B}@f$
   Array<Real> * K_e =
       new Array<Real>(nb_element, bt_d_b_size * bt_d_b_size, "K_e");
 
   fem->integrate(*bt_d_b, *K_e, bt_d_b_size * bt_d_b_size, type, ghost_type,
                  elem_filter);
 
   delete bt_d_b;
 
   model->getDOFManager().assembleElementalMatricesToMatrix("K", "displacement", *K_e,
                                                             type, ghost_type, _symmetric,
                                                             elem_filter);
   delete K_e;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim> void Material::assembleInternalForces(GhostType ghost_type) {
 
   AKANTU_DEBUG_IN();
 
   Array<Real> & internal_force = model->getInternalForce();
 
   Mesh & mesh = fem->getMesh();
   Mesh::type_iterator it = element_filter.firstType(dim, ghost_type);
   Mesh::type_iterator last_type = element_filter.lastType(dim, ghost_type);
   for (; it != last_type; ++it) {
     const Array<Real> & shapes_derivatives =
         fem->getShapesDerivatives(*it, ghost_type);
 
     Array<UInt> & elem_filter = element_filter(*it, ghost_type);
     if (elem_filter.getSize() == 0)
       continue;
     UInt size_of_shapes_derivatives = shapes_derivatives.getNbComponent();
     UInt nb_element = elem_filter.getSize();
     UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(*it);
     UInt nb_quadrature_points = fem->getNbIntegrationPoints(*it, ghost_type);
 
     Array<Real> * shapesd_filtered =
         new Array<Real>(nb_element, size_of_shapes_derivatives, "filtered shapesd");
 
     FEEngine::filterElementalData(mesh, shapes_derivatives, *shapesd_filtered,
                                   *it, ghost_type, elem_filter);
 
     Array<Real>::matrix_iterator shapes_derivatives_filtered_it =
         shapesd_filtered->begin(dim, nb_nodes_per_element);
 
     // Set stress vectors
 
     UInt stress_size = getTangentStiffnessVoigtSize(dim);
 
     // Set matrices B and BNL*
     UInt bt_s_size = dim * nb_nodes_per_element;
 
     Array<Real> * bt_s =
         new Array<Real>(nb_element * nb_quadrature_points, bt_s_size, "B^t*S");
 
     Array<Real>::matrix_iterator grad_u_it =
         this->gradu(*it, ghost_type).begin(dim, dim);
 
     Array<Real>::matrix_iterator grad_u_end =
         this->gradu(*it, ghost_type).end(dim, dim);
 
     Array<Real>::matrix_iterator stress_it =
         this->piola_kirchhoff_2(*it, ghost_type).begin(dim, dim);
 
     shapes_derivatives_filtered_it =
         shapesd_filtered->begin(dim, nb_nodes_per_element);
 
     Array<Real>::matrix_iterator bt_s_it = bt_s->begin(bt_s_size, 1);
 
     Matrix<Real> S_vect(stress_size, 1);
     Matrix<Real> B_tensor(stress_size, bt_s_size);
     Matrix<Real> B2_tensor(stress_size, bt_s_size);
 
     for (; grad_u_it != grad_u_end; ++grad_u_it, ++stress_it,
                                     ++shapes_derivatives_filtered_it,
                                     ++bt_s_it) {
       Matrix<Real> & grad_u = *grad_u_it;
       Matrix<Real> & r_it = *bt_s_it;
       Matrix<Real> & S_it = *stress_it;
 
       setCauchyStressArray<dim>(S_it, S_vect);
       VoigtHelper<dim>::transferBMatrixToSymVoigtBMatrix(
           *shapes_derivatives_filtered_it, B_tensor, nb_nodes_per_element);
       VoigtHelper<dim>::transferBMatrixToBL2(*shapes_derivatives_filtered_it,
                                              grad_u, B2_tensor,
                                              nb_nodes_per_element);
 
       B_tensor += B2_tensor;
 
       r_it.mul<true, false>(B_tensor, S_vect);
     }
 
     delete shapesd_filtered;
 
     /// compute @f$ k_e = \int_e \mathbf{B}^t * \mathbf{D} * \mathbf{B}@f$
     Array<Real> * r_e = new Array<Real>(nb_element, bt_s_size, "r_e");
 
     fem->integrate(*bt_s, *r_e, bt_s_size, *it, ghost_type, elem_filter);
 
     delete bt_s;
 
     model->getDOFManager().assembleElementalArrayLocalArray(*r_e, internal_force,
                                                             *it, ghost_type, 1, elem_filter);
     delete r_e;
   }
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::computeAllStressesFromTangentModuli(GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   UInt spatial_dimension = model->getSpatialDimension();
 
   Mesh::type_iterator it =
       element_filter.firstType(spatial_dimension, ghost_type);
   Mesh::type_iterator last_type =
       element_filter.lastType(spatial_dimension, ghost_type);
   for (; it != last_type; ++it) {
     switch (spatial_dimension) {
     case 1: {
       computeAllStressesFromTangentModuli<1>(*it, ghost_type);
       break;
     }
     case 2: {
       computeAllStressesFromTangentModuli<2>(*it, ghost_type);
       break;
     }
     case 3: {
       computeAllStressesFromTangentModuli<3>(*it, ghost_type);
       break;
     }
     }
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 void Material::computeAllStressesFromTangentModuli(const ElementType & type,
                                                    GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   const Array<Real> & shapes_derivatives =
       fem->getShapesDerivatives(type, ghost_type);
   Array<UInt> & elem_filter = element_filter(type, ghost_type);
   Array<Real> & gradu_vect = gradu(type, ghost_type);
 
   UInt nb_element = elem_filter.getSize();
   if (nb_element) {
     UInt nb_nodes_per_element = Mesh::getNbNodesPerElement(type);
     UInt nb_quadrature_points = fem->getNbIntegrationPoints(type, ghost_type);
 
     gradu_vect.resize(nb_quadrature_points * nb_element);
 
     Array<Real> & disp = model->getDisplacement();
 
     fem->gradientOnIntegrationPoints(disp, gradu_vect, dim, type, ghost_type,
                                      elem_filter);
 
     UInt tangent_moduli_size = getTangentStiffnessVoigtSize(dim);
 
     Array<Real> * tangent_moduli_tensors = new Array<Real>(
         nb_element * nb_quadrature_points,
         tangent_moduli_size * tangent_moduli_size, "tangent_moduli_tensors");
 
     tangent_moduli_tensors->clear();
     computeTangentModuli(type, *tangent_moduli_tensors, ghost_type);
 
     Array<Real> * shapesd_filtered =
         new Array<Real>(nb_element, dim * nb_nodes_per_element, "filtered shapesd");
 
     FEEngine::filterElementalData(fem->getMesh(), shapes_derivatives,
                                   *shapesd_filtered, type, ghost_type,
                                   elem_filter);
 
     Array<Real> filtered_u(nb_element,
                            nb_nodes_per_element * spatial_dimension);
 
     FEEngine::extractNodalToElementField(fem->getMesh(), disp, filtered_u, type,
                                          ghost_type, elem_filter);
 
     /// compute @f$\mathbf{D} \mathbf{B} \mathbf{u}@f$
     Array<Real>::matrix_iterator shapes_derivatives_filtered_it =
         shapesd_filtered->begin(dim, nb_nodes_per_element);
 
     Array<Real>::matrix_iterator D_it =
         tangent_moduli_tensors->begin(tangent_moduli_size, tangent_moduli_size);
     Array<Real>::matrix_iterator sigma_it =
         stress(type, ghost_type).begin(spatial_dimension, spatial_dimension);
     Array<Real>::vector_iterator u_it =
         filtered_u.begin(spatial_dimension * nb_nodes_per_element);
 
     Matrix<Real> B(tangent_moduli_size,
                    spatial_dimension * nb_nodes_per_element);
     Vector<Real> Bu(tangent_moduli_size);
     Vector<Real> DBu(tangent_moduli_size);
 
     for (UInt e = 0; e < nb_element; ++e, ++u_it) {
       for (UInt q = 0; q < nb_quadrature_points;
            ++q, ++D_it, ++shapes_derivatives_filtered_it, ++sigma_it) {
         Vector<Real> & u = *u_it;
         Matrix<Real> & sigma = *sigma_it;
         Matrix<Real> & D = *D_it;
 
         VoigtHelper<dim>::transferBMatrixToSymVoigtBMatrix(
             *shapes_derivatives_filtered_it, B, nb_nodes_per_element);
 
         Bu.mul<false>(B, u);
         DBu.mul<false>(D, Bu);
 
         // Voigt notation to full symmetric tensor
         for (UInt i = 0; i < dim; ++i)
           sigma(i, i) = DBu(i);
         if (dim == 2) {
           sigma(0, 1) = sigma(1, 0) = DBu(2);
         } else if (dim == 3) {
           sigma(1, 2) = sigma(2, 1) = DBu(3);
           sigma(0, 2) = sigma(2, 0) = DBu(4);
           sigma(0, 1) = sigma(1, 0) = DBu(5);
         }
       }
     }
   }
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::computePotentialEnergyByElements() {
   AKANTU_DEBUG_IN();
 
   Mesh::type_iterator it = element_filter.firstType(spatial_dimension);
   Mesh::type_iterator last_type = element_filter.lastType(spatial_dimension);
   for (; it != last_type; ++it) {
     computePotentialEnergy(*it);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::computePotentialEnergy(__attribute__((unused))
                                       ElementType el_type,
                                       __attribute__((unused))
                                       GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 Real Material::getPotentialEnergy() {
   AKANTU_DEBUG_IN();
   Real epot = 0.;
 
   computePotentialEnergyByElements();
 
   /// integrate the potential energy for each type of elements
   Mesh::type_iterator it = element_filter.firstType(spatial_dimension);
   Mesh::type_iterator last_type = element_filter.lastType(spatial_dimension);
   for (; it != last_type; ++it) {
 
     epot += fem->integrate(potential_energy(*it, _not_ghost), *it, _not_ghost,
                            element_filter(*it, _not_ghost));
   }
 
   AKANTU_DEBUG_OUT();
   return epot;
 }
 
 /* -------------------------------------------------------------------------- */
 Real Material::getPotentialEnergy(ElementType & type, UInt index) {
   AKANTU_DEBUG_IN();
   Real epot = 0.;
 
   Vector<Real> epot_on_quad_points(fem->getNbIntegrationPoints(type));
 
   computePotentialEnergyByElement(type, index, epot_on_quad_points);
 
   epot = fem->integrate(epot_on_quad_points, type, element_filter(type)(index));
 
   AKANTU_DEBUG_OUT();
   return epot;
 }
 
 /* -------------------------------------------------------------------------- */
 Real Material::getEnergy(std::string type) {
   AKANTU_DEBUG_IN();
   if (type == "potential")
     return getPotentialEnergy();
   AKANTU_DEBUG_OUT();
   return 0.;
 }
 
 /* -------------------------------------------------------------------------- */
 Real Material::getEnergy(std::string energy_id, ElementType type, UInt index) {
   AKANTU_DEBUG_IN();
   if (energy_id == "potential")
     return getPotentialEnergy(type, index);
   AKANTU_DEBUG_OUT();
   return 0.;
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::initElementalFieldInterpolation(
     const ElementTypeMapArray<Real> & interpolation_points_coordinates) {
   AKANTU_DEBUG_IN();
 
   this->fem->initElementalFieldInterpolationFromIntegrationPoints(
       interpolation_points_coordinates, this->interpolation_points_matrices,
       this->interpolation_inverse_coordinates, &(this->element_filter));
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::interpolateStress(ElementTypeMapArray<Real> & result,
                                  const GhostType ghost_type) {
 
   this->fem->interpolateElementalFieldFromIntegrationPoints(
       this->stress, this->interpolation_points_matrices,
       this->interpolation_inverse_coordinates, result, ghost_type,
       &(this->element_filter));
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::interpolateStressOnFacets(
     ElementTypeMapArray<Real> & result,
     ElementTypeMapArray<Real> & by_elem_result, const GhostType ghost_type) {
 
   interpolateStress(by_elem_result, ghost_type);
 
   UInt stress_size = this->stress.getNbComponent();
 
   const Mesh & mesh = this->model->getMesh();
   const Mesh & mesh_facets = mesh.getMeshFacets();
 
   Mesh::type_iterator it =
       this->element_filter.firstType(spatial_dimension, ghost_type);
   Mesh::type_iterator last =
       this->element_filter.lastType(spatial_dimension, ghost_type);
 
   for (; it != last; ++it) {
 
     ElementType type = *it;
     Array<UInt> & elem_fil = element_filter(type, ghost_type);
     Array<Real> & by_elem_res = by_elem_result(type, ghost_type);
     UInt nb_element = elem_fil.getSize();
     UInt nb_element_full =
         this->model->getMesh().getNbElement(type, ghost_type);
     UInt nb_interpolation_points_per_elem =
         by_elem_res.getSize() / nb_element_full;
 
     const Array<Element> & facet_to_element =
         mesh_facets.getSubelementToElement(type, ghost_type);
     ElementType type_facet = Mesh::getFacetType(type);
     UInt nb_facet_per_elem = facet_to_element.getNbComponent();
     UInt nb_quad_per_facet =
         nb_interpolation_points_per_elem / nb_facet_per_elem;
     Element element_for_comparison(type, 0, ghost_type);
     const Array<std::vector<Element> > * element_to_facet = NULL;
     GhostType current_ghost_type = _casper;
     Array<Real> * result_vec = NULL;
 
     Array<Real>::const_matrix_iterator result_it =
         by_elem_res.begin_reinterpret(
             stress_size, nb_interpolation_points_per_elem, nb_element_full);
 
     for (UInt el = 0; el < nb_element; ++el) {
       UInt global_el = elem_fil(el);
       element_for_comparison.element = global_el;
       for (UInt f = 0; f < nb_facet_per_elem; ++f) {
 
         Element facet_elem = facet_to_element(global_el, f);
         UInt global_facet = facet_elem.element;
         if (facet_elem.ghost_type != current_ghost_type) {
           current_ghost_type = facet_elem.ghost_type;
           element_to_facet = &mesh_facets.getElementToSubelement(
               type_facet, current_ghost_type);
           result_vec = &result(type_facet, current_ghost_type);
         }
 
         bool is_second_element =
             (*element_to_facet)(global_facet)[0] != element_for_comparison;
 
         for (UInt q = 0; q < nb_quad_per_facet; ++q) {
           Vector<Real> result_local(result_vec->storage() +
                                         (global_facet * nb_quad_per_facet + q) *
                                             result_vec->getNbComponent() +
                                         is_second_element * stress_size,
                                     stress_size);
 
           const Matrix<Real> & result_tmp(result_it[global_el]);
           result_local = result_tmp(f * nb_quad_per_facet + q);
         }
       }
     }
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 const Array<T> & Material::getArray(__attribute__((unused)) const ID & vect_id,
                                     __attribute__((unused)) const ElementType & type,
                                     __attribute__((unused)) const GhostType & ghost_type) const {
   AKANTU_DEBUG_TO_IMPLEMENT();
   return NULL;
 }
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 Array<T> & Material::getArray(__attribute__((unused)) const ID & vect_id,
                               __attribute__((unused)) const ElementType & type,
                               __attribute__((unused)) const GhostType & ghost_type) {
   AKANTU_DEBUG_TO_IMPLEMENT();
   return NULL;
 }
 
 /* -------------------------------------------------------------------------- */
 template <>
 const Array<Real> & Material::getArray(const ID & vect_id,
                                        const ElementType & type,
                                        const GhostType & ghost_type) const {
   std::stringstream sstr;
   std::string ghost_id = "";
   if (ghost_type == _ghost)
     ghost_id = ":ghost";
   sstr << getID() << ":" << vect_id << ":" << type << ghost_id;
 
   ID fvect_id = sstr.str();
   try {
     return Memory::getArray<Real>(fvect_id);
   } catch (debug::Exception & e) {
     AKANTU_SILENT_EXCEPTION("The material " << name << "(" << getID()
                                             << ") does not contain a vector "
                                             << vect_id << "(" << fvect_id
                                             << ") [" << e << "]");
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <>
 Array<Real> & Material::getArray(const ID & vect_id, const ElementType & type,
                                  const GhostType & ghost_type) {
   std::stringstream sstr;
   std::string ghost_id = "";
   if (ghost_type == _ghost)
     ghost_id = ":ghost";
   sstr << getID() << ":" << vect_id << ":" << type << ghost_id;
 
   ID fvect_id = sstr.str();
   try {
     return Memory::getArray<Real>(fvect_id);
   } catch (debug::Exception & e) {
     AKANTU_SILENT_EXCEPTION("The material " << name << "(" << getID()
                                             << ") does not contain a vector "
                                             << vect_id << "(" << fvect_id
                                             << ") [" << e << "]");
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <>
 const Array<UInt> & Material::getArray(const ID & vect_id,
                                        const ElementType & type,
                                        const GhostType & ghost_type) const {
   std::stringstream sstr;
   std::string ghost_id = "";
   if (ghost_type == _ghost)
     ghost_id = ":ghost";
   sstr << getID() << ":" << vect_id << ":" << type << ghost_id;
 
   ID fvect_id = sstr.str();
   try {
     return Memory::getArray<UInt>(fvect_id);
   } catch (debug::Exception & e) {
     AKANTU_SILENT_EXCEPTION("The material " << name << "(" << getID()
                                             << ") does not contain a vector "
                                             << vect_id << "(" << fvect_id
                                             << ") [" << e << "]");
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <>
 Array<UInt> & Material::getArray(const ID & vect_id, const ElementType & type,
                                  const GhostType & ghost_type) {
   std::stringstream sstr;
   std::string ghost_id = "";
   if (ghost_type == _ghost)
     ghost_id = ":ghost";
   sstr << getID() << ":" << vect_id << ":" << type << ghost_id;
 
   ID fvect_id = sstr.str();
   try {
     return Memory::getArray<UInt>(fvect_id);
   } catch (debug::Exception & e) {
     AKANTU_SILENT_EXCEPTION("The material " << name << "(" << getID()
                                             << ") does not contain a vector "
                                             << vect_id << "(" << fvect_id
                                             << ") [" << e << "]");
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 const InternalField<T> & Material::getInternal(__attribute__((unused))
                                                const ID & int_id) const {
   AKANTU_DEBUG_TO_IMPLEMENT();
   return NULL;
 }
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 InternalField<T> & Material::getInternal(__attribute__((unused))
                                          const ID & int_id) {
   AKANTU_DEBUG_TO_IMPLEMENT();
   return NULL;
 }
 
 /* -------------------------------------------------------------------------- */
 template <>
 const InternalField<Real> & Material::getInternal(const ID & int_id) const {
   std::map<ID, InternalField<Real> *>::const_iterator it =
       internal_vectors_real.find(getID() + ":" + int_id);
   if (it == internal_vectors_real.end()) {
     AKANTU_SILENT_EXCEPTION("The material " << name << "(" << getID()
                                             << ") does not contain an internal "
                                             << int_id << " ("
                                             << (getID() + ":" + int_id) << ")");
   }
   return *it->second;
 }
 
 /* -------------------------------------------------------------------------- */
 template <> InternalField<Real> & Material::getInternal(const ID & int_id) {
   std::map<ID, InternalField<Real> *>::iterator it =
       internal_vectors_real.find(getID() + ":" + int_id);
   if (it == internal_vectors_real.end()) {
     AKANTU_SILENT_EXCEPTION("The material " << name << "(" << getID()
                                             << ") does not contain an internal "
                                             << int_id << " ("
                                             << (getID() + ":" + int_id) << ")");
   }
   return *it->second;
 }
 
 /* -------------------------------------------------------------------------- */
 template <>
 const InternalField<UInt> & Material::getInternal(const ID & int_id) const {
   std::map<ID, InternalField<UInt> *>::const_iterator it =
       internal_vectors_uint.find(getID() + ":" + int_id);
   if (it == internal_vectors_uint.end()) {
     AKANTU_SILENT_EXCEPTION("The material " << name << "(" << getID()
                                             << ") does not contain an internal "
                                             << int_id << " ("
                                             << (getID() + ":" + int_id) << ")");
   }
   return *it->second;
 }
 
 /* -------------------------------------------------------------------------- */
 template <> InternalField<UInt> & Material::getInternal(const ID & int_id) {
   std::map<ID, InternalField<UInt> *>::iterator it =
       internal_vectors_uint.find(getID() + ":" + int_id);
   if (it == internal_vectors_uint.end()) {
     AKANTU_SILENT_EXCEPTION("The material " << name << "(" << getID()
                                             << ") does not contain an internal "
                                             << int_id << " ("
                                             << (getID() + ":" + int_id) << ")");
   }
   return *it->second;
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::addElements(const Array<Element> & elements_to_add) {
   AKANTU_DEBUG_IN();
   UInt mat_id = model->getInternalIndexFromID(getID());
   Array<Element>::const_iterator<Element> el_begin = elements_to_add.begin();
   Array<Element>::const_iterator<Element> el_end = elements_to_add.end();
   for (; el_begin != el_end; ++el_begin) {
     const Element & element = *el_begin;
     Array<UInt> & mat_indexes =
         model->getMaterialByElement(element.type, element.ghost_type);
     Array<UInt> & mat_loc_num =
         model->getMaterialLocalNumbering(element.type, element.ghost_type);
 
     UInt index =
         this->addElement(element.type, element.element, element.ghost_type);
     mat_indexes(element.element) = mat_id;
     mat_loc_num(element.element) = index;
   }
 
   this->resizeInternals();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::removeElements(const Array<Element> & elements_to_remove) {
   AKANTU_DEBUG_IN();
 
   Array<Element>::const_iterator<Element> el_begin = elements_to_remove.begin();
   Array<Element>::const_iterator<Element> el_end = elements_to_remove.end();
 
   if (el_begin == el_end)
     return;
 
   ElementTypeMapArray<UInt> material_local_new_numbering("remove mat filter elem", getID(), getMemoryID());
 
   Element element;
   for (ghost_type_t::iterator gt = ghost_type_t::begin();
        gt != ghost_type_t::end(); ++gt) {
     GhostType ghost_type = *gt;
     element.ghost_type = ghost_type;
 
     ElementTypeMapArray<UInt>::type_iterator it =
         element_filter.firstType(_all_dimensions, ghost_type, _ek_not_defined);
     ElementTypeMapArray<UInt>::type_iterator end =
         element_filter.lastType(_all_dimensions, ghost_type, _ek_not_defined);
 
     for (; it != end; ++it) {
       ElementType type = *it;
       element.type = type;
 
       Array<UInt> & elem_filter = this->element_filter(type, ghost_type);
       Array<UInt> & mat_loc_num =
           this->model->getMaterialLocalNumbering(type, ghost_type);
 
       if (!material_local_new_numbering.exists(type, ghost_type))
         material_local_new_numbering.alloc(elem_filter.getSize(), 1, type,
                                            ghost_type);
       Array<UInt> & mat_renumbering =
           material_local_new_numbering(type, ghost_type);
 
       UInt nb_element = elem_filter.getSize();
       element.kind = (*el_begin).kind;
       Array<UInt> elem_filter_tmp;
 
       UInt new_id = 0;
       for (UInt el = 0; el < nb_element; ++el) {
         element.element = elem_filter(el);
 
         if (std::find(el_begin, el_end, element) == el_end) {
           elem_filter_tmp.push_back(element.element);
 
           mat_renumbering(el) = new_id;
           mat_loc_num(element.element) = new_id;
           ++new_id;
         } else {
           mat_renumbering(el) = UInt(-1);
         }
       }
 
       elem_filter.resize(elem_filter_tmp.getSize());
       elem_filter.copy(elem_filter_tmp);
     }
   }
 
   for (std::map<ID, InternalField<Real> *>::iterator it =
            internal_vectors_real.begin();
        it != internal_vectors_real.end(); ++it)
     it->second->removeIntegrationPoints(material_local_new_numbering);
 
   for (std::map<ID, InternalField<UInt> *>::iterator it =
            internal_vectors_uint.begin();
        it != internal_vectors_uint.end(); ++it)
     it->second->removeIntegrationPoints(material_local_new_numbering);
 
   for (std::map<ID, InternalField<bool> *>::iterator it =
            internal_vectors_bool.begin();
        it != internal_vectors_bool.end(); ++it)
     it->second->removeIntegrationPoints(material_local_new_numbering);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::resizeInternals() {
   AKANTU_DEBUG_IN();
   for (std::map<ID, InternalField<Real> *>::iterator it =
            internal_vectors_real.begin();
        it != internal_vectors_real.end(); ++it)
     it->second->resize();
 
   for (std::map<ID, InternalField<UInt> *>::iterator it =
            internal_vectors_uint.begin();
        it != internal_vectors_uint.end(); ++it)
     it->second->resize();
 
   for (std::map<ID, InternalField<bool> *>::iterator it =
            internal_vectors_bool.begin();
        it != internal_vectors_bool.end(); ++it)
     it->second->resize();
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::onElementsAdded(__attribute__((unused))
                                const Array<Element> & element_list,
                                __attribute__((unused))
                                const NewElementsEvent & event) {
   this->resizeInternals();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::onElementsRemoved(
     const Array<Element> & element_list,
     const ElementTypeMapArray<UInt> & new_numbering,
     __attribute__((unused)) const RemovedElementsEvent & event) {
   UInt my_num = model->getInternalIndexFromID(getID());
 
   ElementTypeMapArray<UInt> material_local_new_numbering("remove mat filter elem", getID(), getMemoryID());
 
   Array<Element>::const_iterator<Element> el_begin = element_list.begin();
   Array<Element>::const_iterator<Element> el_end = element_list.end();
 
   for (ghost_type_t::iterator g = ghost_type_t::begin();
        g != ghost_type_t::end(); ++g) {
     GhostType gt = *g;
 
     ElementTypeMapArray<UInt>::type_iterator it =
         new_numbering.firstType(_all_dimensions, gt, _ek_not_defined);
     ElementTypeMapArray<UInt>::type_iterator end =
         new_numbering.lastType(_all_dimensions, gt, _ek_not_defined);
     for (; it != end; ++it) {
       ElementType type = *it;
       if (element_filter.exists(type, gt) &&
           element_filter(type, gt).getSize()) {
         Array<UInt> & elem_filter = element_filter(type, gt);
 
         Array<UInt> & mat_indexes = this->model->getMaterialByElement(*it, gt);
         Array<UInt> & mat_loc_num =
             this->model->getMaterialLocalNumbering(*it, gt);
         UInt nb_element = this->model->getMesh().getNbElement(type, gt);
 
         // all materials will resize of the same size...
         mat_indexes.resize(nb_element);
         mat_loc_num.resize(nb_element);
 
         if (!material_local_new_numbering.exists(type, gt))
           material_local_new_numbering.alloc(elem_filter.getSize(), 1, type,
                                              gt);
 
         Array<UInt> & mat_renumbering = material_local_new_numbering(type, gt);
         const Array<UInt> & renumbering = new_numbering(type, gt);
         Array<UInt> elem_filter_tmp;
         UInt ni = 0;
         Element el;
         el.type = type;
         el.ghost_type = gt;
         el.kind = Mesh::getKind(type);
         for (UInt i = 0; i < elem_filter.getSize(); ++i) {
           el.element = elem_filter(i);
           if (std::find(el_begin, el_end, el) == el_end) {
             UInt new_el = renumbering(el.element);
             AKANTU_DEBUG_ASSERT(
                 new_el != UInt(-1),
                 "A not removed element as been badly renumbered");
             elem_filter_tmp.push_back(new_el);
             mat_renumbering(i) = ni;
 
             mat_indexes(new_el) = my_num;
             mat_loc_num(new_el) = ni;
             ++ni;
           } else {
             mat_renumbering(i) = UInt(-1);
           }
         }
 
         elem_filter.resize(elem_filter_tmp.getSize());
         elem_filter.copy(elem_filter_tmp);
       }
     }
   }
 
   for (std::map<ID, InternalField<Real> *>::iterator it =
            internal_vectors_real.begin();
        it != internal_vectors_real.end(); ++it)
     it->second->removeIntegrationPoints(material_local_new_numbering);
 
   for (std::map<ID, InternalField<UInt> *>::iterator it =
            internal_vectors_uint.begin();
        it != internal_vectors_uint.end(); ++it)
     it->second->removeIntegrationPoints(material_local_new_numbering);
 
   for (std::map<ID, InternalField<bool> *>::iterator it =
            internal_vectors_bool.begin();
        it != internal_vectors_bool.end(); ++it)
     it->second->removeIntegrationPoints(material_local_new_numbering);
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::onBeginningSolveStep(__attribute__((unused))
                                     const AnalysisMethod & method) {
   this->savePreviousState();
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::onEndSolveStep(__attribute__((unused))
                               const AnalysisMethod & method) {
   ElementTypeMapArray<UInt>::type_iterator it = this->element_filter.firstType(
       _all_dimensions, _not_ghost, _ek_not_defined);
   ElementTypeMapArray<UInt>::type_iterator end =
       element_filter.lastType(_all_dimensions, _not_ghost, _ek_not_defined);
 
   for (; it != end; ++it) {
     this->updateEnergies(*it, _not_ghost);
   }
 }
 /* -------------------------------------------------------------------------- */
 void Material::onDamageIteration() { this->savePreviousState(); }
 
 /* -------------------------------------------------------------------------- */
 void Material::onDamageUpdate() {
   ElementTypeMapArray<UInt>::type_iterator it = this->element_filter.firstType(
       _all_dimensions, _not_ghost, _ek_not_defined);
   ElementTypeMapArray<UInt>::type_iterator end =
       element_filter.lastType(_all_dimensions, _not_ghost, _ek_not_defined);
 
   for (; it != end; ++it) {
     this->updateEnergiesAfterDamage(*it, _not_ghost);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::onDump() {
   if (this->isFiniteDeformation())
     this->computeAllCauchyStresses(_not_ghost);
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::printself(std::ostream & stream, int indent) const {
   std::string space;
   for (Int i = 0; i < indent; i++, space += AKANTU_INDENT)
     ;
 
   std::string type = getID().substr(getID().find_last_of(":") + 1);
 
   stream << space << "Material " << type << " [" << std::endl;
   Parsable::printself(stream, indent);
   stream << space << "]" << std::endl;
 }
 
 /* -------------------------------------------------------------------------- */
 /// extrapolate internal values
 void Material::extrapolateInternal(const ID & id, const Element & element,
                                    __attribute__((unused))
                                    const Matrix<Real> & point,
                                    Matrix<Real> & extrapolated) {
   if (this->isInternal<Real>(id, element.kind)) {
     UInt nb_element =
         this->element_filter(element.type, element.ghost_type).getSize();
     const ID name = this->getID() + ":" + id;
     UInt nb_quads =
         this->internal_vectors_real[name]->getFEEngine().getNbIntegrationPoints(
             element.type, element.ghost_type);
     const Array<Real> & internal =
         this->getArray<Real>(id, element.type, element.ghost_type);
     UInt nb_component = internal.getNbComponent();
     Array<Real>::const_matrix_iterator internal_it =
         internal.begin_reinterpret(nb_component, nb_quads, nb_element);
     Element local_element = this->convertToLocalElement(element);
 
     /// instead of really extrapolating, here the value of the first GP
     /// is copied into the result vector. This works only for linear
     /// elements
     /// @todo extrapolate!!!!
     AKANTU_DEBUG_WARNING("This is a fix, values are not truly extrapolated");
 
     const Matrix<Real> & values = internal_it[local_element.element];
     UInt index = 0;
     Vector<Real> tmp(nb_component);
     for (UInt j = 0; j < values.cols(); ++j) {
       tmp = values(j);
       if (tmp.norm() > 0) {
         index = j;
         break;
       }
     }
 
     for (UInt i = 0; i < extrapolated.size(); ++i) {
       extrapolated(i) = values(index);
     }
   } else {
     Matrix<Real> default_values(extrapolated.rows(), extrapolated.cols(), 0.);
     extrapolated = default_values;
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void Material::applyEigenGradU(const Matrix<Real> & prescribed_eigen_grad_u,
                                const GhostType ghost_type) {
 
   ElementTypeMapArray<UInt>::type_iterator it = this->element_filter.firstType(
       _all_dimensions, _not_ghost, _ek_not_defined);
   ElementTypeMapArray<UInt>::type_iterator end =
       element_filter.lastType(_all_dimensions, _not_ghost, _ek_not_defined);
 
   for (; it != end; ++it) {
     ElementType type = *it;
     if (!element_filter(type, ghost_type).getSize())
       continue;
     Array<Real>::matrix_iterator eigen_it =
         this->eigengradu(type, ghost_type)
             .begin(spatial_dimension, spatial_dimension);
     Array<Real>::matrix_iterator eigen_end =
         this->eigengradu(type, ghost_type)
             .end(spatial_dimension, spatial_dimension);
     for (; eigen_it != eigen_end; ++eigen_it) {
       Matrix<Real> & current_eigengradu = *eigen_it;
       current_eigengradu = prescribed_eigen_grad_u;
     }
   }
 }
 
 __END_AKANTU__
diff --git a/src/model/solid_mechanics/material.hh b/src/model/solid_mechanics/material.hh
index c64c887ae..dd3307b59 100644
--- a/src/model/solid_mechanics/material.hh
+++ b/src/model/solid_mechanics/material.hh
@@ -1,659 +1,664 @@
 /**
  * @file   material.hh
  *
  * @author Daniel Pino Muñoz <daniel.pinomunoz@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  * @author Marco Vocialta <marco.vocialta@epfl.ch>
  *
  * @date creation: Fri Jun 18 2010
  * @date last modification: Wed Nov 25 2015
  *
  * @brief  Mother class for all materials
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "aka_common.hh"
 #include "aka_memory.hh"
 #include "aka_voigthelper.hh"
 #include "parser.hh"
 #include "parsable.hh"
 #include "data_accessor.hh"
 #include "integration_point.hh"
 /* -------------------------------------------------------------------------- */
 #include "internal_field.hh"
 #include "random_internal_field.hh"
 /* -------------------------------------------------------------------------- */
 #include "mesh_events.hh"
 #include "solid_mechanics_model_event_handler.hh"
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_MATERIAL_HH__
 #define __AKANTU_MATERIAL_HH__
 
 /* -------------------------------------------------------------------------- */
 namespace akantu {
 class Model;
 class SolidMechanicsModel;
 }
 
 __BEGIN_AKANTU__
 
 /**
  * Interface of all materials
  * Prerequisites for a new material
  * - inherit from this class
  * - implement the following methods:
  * \code
  *  virtual Real getStableTimeStep(Real h, const Element & element =
  * ElementNull);
  *
  *  virtual void computeStress(ElementType el_type,
  *                             GhostType ghost_type = _not_ghost);
  *
  *  virtual void computeTangentStiffness(const ElementType & el_type,
  *                                       Array<Real> & tangent_matrix,
  *                                       GhostType ghost_type = _not_ghost);
  * \endcode
  *
  */
 
 class Material : public Memory,
                  public DataAccessor<Element>,
                  public Parsable,
                  public MeshEventHandler,
                  protected SolidMechanicsModelEventHandler {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 public:
 #if __cplusplus > 199711L
   Material(const Material & mat) = delete;
   Material & operator=(const Material & mat) = delete;
 #endif
 
   /// Initialize material with defaults
   Material(SolidMechanicsModel & model, const ID & id = "");
 
   /// Initialize material with custom mesh & fe_engine
   Material(SolidMechanicsModel & model, UInt dim, const Mesh & mesh,
            FEEngine & fe_engine, const ID & id = "");
 
   /// Destructor
   virtual ~Material();
 
 protected:
   void initialize();
 
   /* ------------------------------------------------------------------------ */
   /* Function that materials can/should reimplement                           */
   /* ------------------------------------------------------------------------ */
 protected:
   /// constitutive law
   virtual void computeStress(__attribute__((unused)) ElementType el_type,
                              __attribute__((unused))
                              GhostType ghost_type = _not_ghost) {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   /// compute the tangent stiffness matrix
   virtual void computeTangentModuli(__attribute__((unused))
                                     const ElementType & el_type,
                                     __attribute__((unused))
                                     Array<Real> & tangent_matrix,
                                     __attribute__((unused))
                                     GhostType ghost_type = _not_ghost) {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   /// compute the potential energy
   virtual void computePotentialEnergy(ElementType el_type,
                                       GhostType ghost_type = _not_ghost);
 
   /// compute the potential energy for an element
   virtual void
   computePotentialEnergyByElement(__attribute__((unused)) ElementType type,
                                   __attribute__((unused)) UInt index,
                                   __attribute__((unused))
                                   Vector<Real> & epot_on_quad_points) {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   virtual void updateEnergies(__attribute__((unused)) ElementType el_type,
                               __attribute__((unused))
                               GhostType ghost_type = _not_ghost) {}
 
   virtual void updateEnergiesAfterDamage(__attribute__((unused))
                                          ElementType el_type,
                                          __attribute__((unused))
                                          GhostType ghost_type = _not_ghost) {}
 
   /// set the material to steady state (to be implemented for materials that
   /// need it)
   virtual void setToSteadyState(__attribute__((unused)) ElementType el_type,
                                 __attribute__((unused))
                                 GhostType ghost_type = _not_ghost) {}
 
   /// function called to update the internal parameters when the modifiable
   /// parameters are modified
   virtual void updateInternalParameters() {}
 
 public:
   /// extrapolate internal values
   virtual void extrapolateInternal(const ID & id, const Element & element,
                                    const Matrix<Real> & points,
                                    Matrix<Real> & extrapolated);
 
   /// compute the p-wave speed in the material
   virtual Real getPushWaveSpeed(__attribute__((unused))
                                 const Element & element) const {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   /// compute the s-wave speed in the material
   virtual Real getShearWaveSpeed(__attribute__((unused))
                                  const Element & element) const {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   /// get a material celerity to compute the stable time step (default: is the
   /// push wave speed)
   virtual Real getCelerity(const Element & element) const {
     return getPushWaveSpeed(element);
   }
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
   template <typename T>
   void registerInternal(__attribute__((unused)) InternalField<T> & vect) {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   template <typename T>
   void unregisterInternal(__attribute__((unused)) InternalField<T> & vect) {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   /// initialize the material computed parameter
   virtual void initMaterial();
 
   /// compute the residual for this material
   //  virtual void updateResidual(GhostType ghost_type = _not_ghost);
 
   /// assemble the residual for this material
   virtual void assembleInternalForces(GhostType ghost_type);
 
   /// save the stress in the previous_stress if needed
   virtual void savePreviousState();
 
   /// compute the stresses for this material
   virtual void computeAllStresses(GhostType ghost_type = _not_ghost);
   virtual void
   computeAllStressesFromTangentModuli(GhostType ghost_type = _not_ghost);
   virtual void computeAllCauchyStresses(GhostType ghost_type = _not_ghost);
 
   /// set material to steady state
   void setToSteadyState(GhostType ghost_type = _not_ghost);
 
   /// compute the stiffness matrix
   virtual void assembleStiffnessMatrix(GhostType ghost_type);
 
   /// add an element to the local mesh filter
   inline UInt addElement(const ElementType & type, UInt element,
                          const GhostType & ghost_type);
 
   /// add many elements at once
   void addElements(const Array<Element> & elements_to_add);
 
   /// remove many element at once
   void removeElements(const Array<Element> & elements_to_remove);
 
   /// function to print the contain of the class
   virtual void printself(std::ostream & stream, int indent = 0) const;
 
   /**
    * interpolate stress on given positions for each element by means
    * of a geometrical interpolation on quadrature points
    */
   void interpolateStress(ElementTypeMapArray<Real> & result,
                          const GhostType ghost_type = _not_ghost);
 
   /**
    * interpolate stress on given positions for each element by means
    * of a geometrical interpolation on quadrature points and store the
    * results per facet
    */
   void interpolateStressOnFacets(ElementTypeMapArray<Real> & result,
                                  ElementTypeMapArray<Real> & by_elem_result,
                                  const GhostType ghost_type = _not_ghost);
 
   /**
    * function to initialize the elemental field interpolation
    * function by inverting the quadrature points' coordinates
    */
   void initElementalFieldInterpolation(
       const ElementTypeMapArray<Real> & interpolation_points_coordinates);
 
   /* ------------------------------------------------------------------------ */
   /* Common part                                                              */
   /* ------------------------------------------------------------------------ */
 protected:
   /* ------------------------------------------------------------------------ */
   inline UInt getTangentStiffnessVoigtSize(UInt spatial_dimension) const;
 
   /// compute the potential energy by element
   void computePotentialEnergyByElements();
 
   /// resize the intenals arrays
   virtual void resizeInternals();
 
   /* ------------------------------------------------------------------------ */
   /* Finite deformation functions                                             */
   /* This functions area implementing what is described in the paper of Bathe */
   /* et al, in IJNME, Finite Element Formulations For Large Deformation       */
   /* Dynamic Analysis, Vol 9, 353-386, 1975                                   */
   /* ------------------------------------------------------------------------ */
 protected:
   /// assemble the residual
   template <UInt dim> void assembleInternalForces(GhostType ghost_type);
 
   /// Computation of Cauchy stress tensor in the case of finite deformation from
   /// the 2nd Piola-Kirchhoff for a given element type
   template <UInt dim>
   void computeCauchyStress(__attribute__((unused)) ElementType el_type,
                            __attribute__((unused))
                            GhostType ghost_type = _not_ghost);
 
   /// Computation the Cauchy stress the 2nd Piola-Kirchhoff and the deformation
   /// gradient
   template <UInt dim>
   inline void computeCauchyStressOnQuad(const Matrix<Real> & F,
                                         const Matrix<Real> & S,
                                         Matrix<Real> & cauchy,
                                         const Real & C33 = 1.0) const;
 
   template <UInt dim>
   void computeAllStressesFromTangentModuli(const ElementType & type,
                                            GhostType ghost_type);
 
   template <UInt dim>
   void assembleStiffnessMatrix(const ElementType & type, GhostType ghost_type);
 
   /// assembling in finite deformation
   template <UInt dim>
   void assembleStiffnessMatrixNL(const ElementType & type,
                                  GhostType ghost_type);
 
   template <UInt dim>
   void assembleStiffnessMatrixL2(const ElementType & type,
                                  GhostType ghost_type);
 
   /// Size of the Stress matrix for the case of finite deformation see: Bathe et
   /// al, IJNME, Vol 9, 353-386, 1975
   inline UInt getCauchyStressMatrixSize(UInt spatial_dimension) const;
 
   /// Sets the stress matrix according to Bathe et al, IJNME, Vol 9, 353-386,
   /// 1975
   template <UInt dim>
   inline void setCauchyStressMatrix(const Matrix<Real> & S_t,
                                     Matrix<Real> & sigma);
 
   /// write the stress tensor in the Voigt notation.
   template <UInt dim>
   inline void setCauchyStressArray(const Matrix<Real> & S_t,
                                    Matrix<Real> & sigma_voight);
 
   /* ------------------------------------------------------------------------ */
   /* Conversion functions                                                     */
   /* ------------------------------------------------------------------------ */
 public:
   template <UInt dim>
   static inline void gradUToF(const Matrix<Real> & grad_u, Matrix<Real> & F);
   static inline void rightCauchy(const Matrix<Real> & F, Matrix<Real> & C);
   static inline void leftCauchy(const Matrix<Real> & F, Matrix<Real> & B);
 
   template <UInt dim>
   static inline void gradUToEpsilon(const Matrix<Real> & grad_u,
                                     Matrix<Real> & epsilon);
   template <UInt dim>
   static inline void gradUToGreenStrain(const Matrix<Real> & grad_u,
                                         Matrix<Real> & epsilon);
 
   static inline Real stressToVonMises(const Matrix<Real> & stress);
 
 protected:
   /// converts global element to local element
   inline Element convertToLocalElement(const Element & global_element) const;
   /// converts local element to global element
   inline Element convertToGlobalElement(const Element & local_element) const;
 
   /// converts global quadrature point to local quadrature point
   inline IntegrationPoint
   convertToLocalPoint(const IntegrationPoint & global_point) const;
   /// converts local quadrature point to global quadrature point
   inline IntegrationPoint
   convertToGlobalPoint(const IntegrationPoint & local_point) const;
 
   /* ------------------------------------------------------------------------ */
   /* DataAccessor inherited members                                           */
   /* ------------------------------------------------------------------------ */
 public:
   virtual inline UInt getNbData(const Array<Element> & elements,
                                 const SynchronizationTag & tag) const;
 
   virtual inline void packData(CommunicationBuffer & buffer,
                                const Array<Element> & elements,
                                const SynchronizationTag & tag) const;
 
   virtual inline void unpackData(CommunicationBuffer & buffer,
                                  const Array<Element> & elements,
                                  const SynchronizationTag & tag);
 
   template <typename T>
   inline void packElementDataHelper(const ElementTypeMapArray<T> & data_to_pack,
                                     CommunicationBuffer & buffer,
                                     const Array<Element> & elements,
                                     const ID & fem_id = ID()) const;
 
   template <typename T>
   inline void unpackElementDataHelper(ElementTypeMapArray<T> & data_to_unpack,
                                       CommunicationBuffer & buffer,
                                       const Array<Element> & elements,
                                       const ID & fem_id = ID());
 
   /* ------------------------------------------------------------------------ */
   /* MeshEventHandler inherited members                                       */
   /* ------------------------------------------------------------------------ */
 public:
   /* ------------------------------------------------------------------------ */
   virtual void onNodesAdded(__attribute__((unused))
                             const Array<UInt> & nodes_list,
                             __attribute__((unused))
                             const NewNodesEvent & event){};
   virtual void
   onNodesRemoved(__attribute__((unused)) const Array<UInt> & nodes_list,
                  __attribute__((unused)) const Array<UInt> & new_numbering,
                  __attribute__((unused)) const RemovedNodesEvent & event){};
 
   virtual void onElementsAdded(const Array<Element> & element_list,
                                const NewElementsEvent & event);
 
   virtual void
   onElementsRemoved(const Array<Element> & element_list,
                     const ElementTypeMapArray<UInt> & new_numbering,
                     const RemovedElementsEvent & event);
 
   virtual void onElementsChanged(
       __attribute__((unused)) const Array<Element> & old_elements_list,
       __attribute__((unused)) const Array<Element> & new_elements_list,
       __attribute__((unused)) const ElementTypeMapArray<UInt> & new_numbering,
       __attribute__((unused)) const ChangedElementsEvent & event){};
 
   /* ------------------------------------------------------------------------ */
   /* SolidMechanicsModelEventHandler inherited members                        */
   /* ------------------------------------------------------------------------ */
 public:
   virtual void onBeginningSolveStep(const AnalysisMethod & method);
   virtual void onEndSolveStep(const AnalysisMethod & method);
   virtual void onDamageIteration();
   virtual void onDamageUpdate();
   virtual void onDump();
 
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   AKANTU_GET_MACRO(Name, name, const std::string &);
 
   AKANTU_GET_MACRO(Model, *model, const SolidMechanicsModel &)
 
   AKANTU_GET_MACRO(ID, Memory::getID(), const ID &);
   AKANTU_GET_MACRO(Rho, rho, Real);
   AKANTU_SET_MACRO(Rho, rho, Real);
 
   AKANTU_GET_MACRO(SpatialDimension, spatial_dimension, UInt);
 
   /// return the potential energy for the subset of elements contained by the
   /// material
   Real getPotentialEnergy();
   /// return the potential energy for the provided element
   Real getPotentialEnergy(ElementType & type, UInt index);
 
   /// return the energy (identified by id) for the subset of elements contained
   /// by the material
   virtual Real getEnergy(std::string energy_id);
   /// return the energy (identified by id) for the provided element
   virtual Real getEnergy(std::string energy_id, ElementType type, UInt index);
 
   AKANTU_GET_MACRO_BY_ELEMENT_TYPE_CONST(ElementFilter, element_filter, UInt);
   AKANTU_GET_MACRO_BY_ELEMENT_TYPE_CONST(GradU, gradu, Real);
   AKANTU_GET_MACRO_BY_ELEMENT_TYPE_CONST(Stress, stress, Real);
   AKANTU_GET_MACRO_BY_ELEMENT_TYPE_CONST(PotentialEnergy, potential_energy,
                                          Real);
   AKANTU_GET_MACRO(GradU, gradu, const ElementTypeMapArray<Real> &);
   AKANTU_GET_MACRO(Stress, stress, const ElementTypeMapArray<Real> &);
   AKANTU_GET_MACRO(ElementFilter, element_filter,
                    const ElementTypeMapArray<UInt> &);
   AKANTU_GET_MACRO(FEEngine, *fem, FEEngine &);
 
   bool isNonLocal() const { return is_non_local; }
 
   template <typename T>
   const Array<T> & getArray(const ID & id, const ElementType & type,
                             const GhostType & ghost_type = _not_ghost) const;
   template <typename T>
   Array<T> & getArray(const ID & id, const ElementType & type,
                       const GhostType & ghost_type = _not_ghost);
 
   template <typename T>
   const InternalField<T> & getInternal(const ID & id) const;
   template <typename T> InternalField<T> & getInternal(const ID & id);
 
   template <typename T>
   inline bool isInternal(const ID & id, const ElementKind & element_kind) const;
 
   template <typename T>
   ElementTypeMap<UInt>
   getInternalDataPerElem(const ID & id, const ElementKind & element_kind) const;
 
   bool isFiniteDeformation() const { return finite_deformation; }
   bool isInelasticDeformation() const { return inelastic_deformation; }
 
   template <typename T> inline void setParam(const ID & param, T value);
   inline const Parameter & getParam(const ID & param) const;
 
   template <typename T>
   void flattenInternal(const std::string & field_id,
                        ElementTypeMapArray<T> & internal_flat,
                        const GhostType ghost_type = _not_ghost,
                        ElementKind element_kind = _ek_not_defined) const;
 
   /// apply a constant eigengrad_u everywhere in the material
   virtual void applyEigenGradU(const Matrix<Real> & prescribed_eigen_grad_u,
                                const GhostType = _not_ghost);
 
+  /// specify if the matrix need to be recomputed for this material
+  virtual bool hasStiffnessMatrixChanged() {
+    return true;
+  }
+
 protected:
   bool isInit() const { return is_init; }
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 protected:
   /// boolean to know if the material has been initialized
   bool is_init;
 
   std::map<ID, InternalField<Real> *> internal_vectors_real;
   std::map<ID, InternalField<UInt> *> internal_vectors_uint;
   std::map<ID, InternalField<bool> *> internal_vectors_bool;
 
 protected:
   /// Link to the fem object in the model
   FEEngine * fem;
 
   /// Finite deformation
   bool finite_deformation;
 
   /// Finite deformation
   bool inelastic_deformation;
 
   /// material name
   std::string name;
 
   /// The model to witch the material belong
   SolidMechanicsModel * model;
 
   /// density : rho
   Real rho;
 
   /// spatial dimension
   UInt spatial_dimension;
 
   /// list of element handled by the material
   ElementTypeMapArray<UInt> element_filter;
 
   /// stresses arrays ordered by element types
   InternalField<Real> stress;
 
   /// eigengrad_u arrays ordered by element types
   InternalField<Real> eigengradu;
 
   /// grad_u arrays ordered by element types
   InternalField<Real> gradu;
 
   /// Green Lagrange strain (Finite deformation)
   InternalField<Real> green_strain;
 
   /// Second Piola-Kirchhoff stress tensor arrays ordered by element types
   /// (Finite deformation)
   InternalField<Real> piola_kirchhoff_2;
 
   /// potential energy by element
   InternalField<Real> potential_energy;
 
   /// tell if using in non local mode or not
   bool is_non_local;
 
   /// tell if the material need the previous stress state
   bool use_previous_stress;
 
   /// tell if the material need the previous strain state
   bool use_previous_gradu;
 
   /// elemental field interpolation coordinates
   InternalField<Real> interpolation_inverse_coordinates;
 
   /// elemental field interpolation points
   InternalField<Real> interpolation_points_matrices;
 
   /// vector that contains the names of all the internals that need to
   /// be transferred when material interfaces move
   std::vector<ID> internals_to_transfer;
 };
 
 /// standard output stream operator
 inline std::ostream & operator<<(std::ostream & stream,
                                  const Material & _this) {
   _this.printself(stream);
   return stream;
 }
 
 __END_AKANTU__
 
 #include "material_inline_impl.cc"
 
 #include "internal_field_tmpl.hh"
 #include "random_internal_field_tmpl.hh"
 
 /* -------------------------------------------------------------------------- */
 /* Auto loop                                                                  */
 /* -------------------------------------------------------------------------- */
 /// This can be used to automatically write the loop on quadrature points in
 /// functions such as computeStress. This macro in addition to write the loop
 /// provides two tensors (matrices) sigma and grad_u
 #define MATERIAL_STRESS_QUADRATURE_POINT_LOOP_BEGIN(el_type, ghost_type)       \
   Array<Real>::matrix_iterator gradu_it =                                      \
       this->gradu(el_type, ghost_type)                                         \
           .begin(this->spatial_dimension, this->spatial_dimension);            \
   Array<Real>::matrix_iterator gradu_end =                                     \
       this->gradu(el_type, ghost_type)                                         \
           .end(this->spatial_dimension, this->spatial_dimension);              \
                                                                                \
   this->stress(el_type, ghost_type)                                            \
       .resize(this->gradu(el_type, ghost_type).getSize());                     \
                                                                                \
   Array<Real>::iterator<Matrix<Real> > stress_it =                             \
       this->stress(el_type, ghost_type)                                        \
           .begin(this->spatial_dimension, this->spatial_dimension);            \
                                                                                \
   if (this->isFiniteDeformation()) {                                           \
     this->piola_kirchhoff_2(el_type, ghost_type)                               \
         .resize(this->gradu(el_type, ghost_type).getSize());                   \
     stress_it = this->piola_kirchhoff_2(el_type, ghost_type)                   \
                     .begin(this->spatial_dimension, this->spatial_dimension);  \
   }                                                                            \
                                                                                \
   for (; gradu_it != gradu_end; ++gradu_it, ++stress_it) {                     \
     Matrix<Real> & __attribute__((unused)) grad_u = *gradu_it;                 \
   Matrix<Real> & __attribute__((unused)) sigma = *stress_it
 
 #define MATERIAL_STRESS_QUADRATURE_POINT_LOOP_END }
 
 /// This can be used to automatically write the loop on quadrature points in
 /// functions such as computeTangentModuli. This macro in addition to write the
 /// loop provides two tensors (matrices) sigma_tensor, grad_u, and a matrix
 /// where the elemental tangent moduli should be stored in Voigt Notation
 #define MATERIAL_TANGENT_QUADRATURE_POINT_LOOP_BEGIN(tangent_mat)              \
   Array<Real>::matrix_iterator gradu_it =                                      \
       this->gradu(el_type, ghost_type)                                         \
           .begin(this->spatial_dimension, this->spatial_dimension);            \
   Array<Real>::matrix_iterator gradu_end =                                     \
       this->gradu(el_type, ghost_type)                                         \
           .end(this->spatial_dimension, this->spatial_dimension);              \
   Array<Real>::matrix_iterator sigma_it =                                      \
       this->stress(el_type, ghost_type)                                        \
           .begin(this->spatial_dimension, this->spatial_dimension);            \
                                                                                \
   tangent_mat.resize(this->gradu(el_type, ghost_type).getSize());              \
                                                                                \
   UInt tangent_size =                                                          \
       this->getTangentStiffnessVoigtSize(this->spatial_dimension);             \
   Array<Real>::matrix_iterator tangent_it =                                    \
       tangent_mat.begin(tangent_size, tangent_size);                           \
                                                                                \
   for (; gradu_it != gradu_end; ++gradu_it, ++sigma_it, ++tangent_it) {        \
     Matrix<Real> & __attribute__((unused)) grad_u = *gradu_it;                 \
     Matrix<Real> & __attribute__((unused)) sigma_tensor = *sigma_it;           \
   Matrix<Real> & tangent = *tangent_it
 
 #define MATERIAL_TANGENT_QUADRATURE_POINT_LOOP_END }
 
 /* -------------------------------------------------------------------------- */
 #define INSTANTIATE_MATERIAL(mat_name)                                         \
   template class mat_name<1>;                                                  \
   template class mat_name<2>;                                                  \
   template class mat_name<3>
 
 #endif /* __AKANTU_MATERIAL_HH__ */
 
 //  LocalWords:  ElementNull
diff --git a/src/model/solid_mechanics/materials/material_damage/material_damage.hh b/src/model/solid_mechanics/materials/material_damage/material_damage.hh
index d7e0d76de..aace57a4c 100644
--- a/src/model/solid_mechanics/materials/material_damage/material_damage.hh
+++ b/src/model/solid_mechanics/materials/material_damage/material_damage.hh
@@ -1,113 +1,113 @@
 /**
  * @file   material_damage.hh
  *
  * @author Marion Estelle Chambart <marion.chambart@epfl.ch>
  * @author Aurelia Isabel Cuba Ramos <aurelia.cubaramos@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Fri Jun 18 2010
  * @date last modification: Sat Jul 11 2015
  *
  * @brief  Material isotropic elastic
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "aka_common.hh"
 #include "material_elastic.hh"
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_MATERIAL_DAMAGE_HH__
 #define __AKANTU_MATERIAL_DAMAGE_HH__
 
 __BEGIN_AKANTU__
-template<UInt spatial_dimension, template<UInt> class Parent = MaterialElastic>
+template <UInt spatial_dimension,
+          template <UInt> class Parent = MaterialElastic>
 class MaterialDamage : public Parent<spatial_dimension> {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 public:
-
   MaterialDamage(SolidMechanicsModel & model, const ID & id = "");
 
-  virtual ~MaterialDamage() {};
+  virtual ~MaterialDamage(){};
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
-
   virtual void initMaterial();
 
   /// compute the tangent stiffness matrix for an element type
   virtual void computeTangentModuli(const ElementType & el_type,
-			    Array<Real> & tangent_matrix,
-			    GhostType ghost_type = _not_ghost);
+                                    Array<Real> & tangent_matrix,
+                                    GhostType ghost_type = _not_ghost);
+  virtual bool hasStiffnessMatrixChanged() { return true; }
 
 protected:
-  /// update the dissipated energy, must be called after the stress have been computed
+  /// update the dissipated energy, must be called after the stress have been
+  /// computed
   virtual void updateEnergies(ElementType el_type, GhostType ghost_type);
 
   /// compute the tangent stiffness matrix for a given quadrature point
   inline void computeTangentModuliOnQuad(Matrix<Real> & tangent, Real & dam);
 
   /* ------------------------------------------------------------------------ */
   /* DataAccessor inherited members                                           */
   /* ------------------------------------------------------------------------ */
 public:
-
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   /// give the dissipated energy for the time step
   Real getDissipatedEnergy() const;
 
   virtual Real getEnergy(std::string type);
   virtual Real getEnergy(std::string energy_id, ElementType type, UInt index) {
     return Parent<spatial_dimension>::getEnergy(energy_id, type, index);
   };
 
   AKANTU_GET_MACRO_NOT_CONST(Damage, damage, ElementTypeMapArray<Real> &);
   AKANTU_GET_MACRO(Damage, damage, const ElementTypeMapArray<Real> &);
   AKANTU_GET_MACRO_BY_ELEMENT_TYPE_CONST(Damage, damage, Real)
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 protected:
   /// damage internal variable
   InternalField<Real> damage;
 
   /// dissipated energy
   InternalField<Real> dissipated_energy;
 
-  /// contain the current value of @f$ \int_0^{\epsilon}\sigma(\omega)d\omega @f$ the dissipated energy
+  /// contain the current value of @f$ \int_0^{\epsilon}\sigma(\omega)d\omega
+  /// @f$ the dissipated energy
   InternalField<Real> int_sigma;
-
 };
 
 __END_AKANTU__
 
 #include "material_damage_tmpl.hh"
 
 #endif /* __AKANTU_MATERIAL_DAMAGE_HH__ */
diff --git a/src/model/solid_mechanics/materials/material_elastic.cc b/src/model/solid_mechanics/materials/material_elastic.cc
index a9207c40d..2f2474e5f 100644
--- a/src/model/solid_mechanics/materials/material_elastic.cc
+++ b/src/model/solid_mechanics/materials/material_elastic.cc
@@ -1,253 +1,259 @@
 /**
  * @file   material_elastic.cc
  *
  * @author Lucas Frerot <lucas.frerot@epfl.ch>
  * @author Daniel Pino Muñoz <daniel.pinomunoz@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  * @author Marco Vocialta <marco.vocialta@epfl.ch>
  *
  * @date creation: Fri Jun 18 2010
  * @date last modification: Thu Oct 15 2015
  *
  * @brief  Specialization of the material class for the elastic material
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "material_elastic.hh"
 #include "solid_mechanics_model.hh"
 /* -------------------------------------------------------------------------- */
 
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 MaterialElastic<dim>::MaterialElastic(SolidMechanicsModel & model,
                                       const ID & id)
-    : Material(model, id), Parent(model, id) {
+    : Material(model, id), Parent(model, id), was_stiffness_assembled(false) {
   AKANTU_DEBUG_IN();
   this->initialize();
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 MaterialElastic<dim>::MaterialElastic(SolidMechanicsModel & model,
                                       __attribute__((unused)) UInt a_dim,
                                       const Mesh & mesh, FEEngine & fe_engine,
                                       const ID & id)
     : Material(model, dim, mesh, fe_engine, id),
-      Parent(model, dim, mesh, fe_engine, id) {
+      Parent(model, dim, mesh, fe_engine, id), was_stiffness_assembled(false) {
   AKANTU_DEBUG_IN();
   this->initialize();
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim> void MaterialElastic<dim>::initialize() {
   this->registerParam("lambda", lambda, _pat_readable,
                       "First Lamé coefficient");
   this->registerParam("mu", mu, _pat_readable, "Second Lamé coefficient");
   this->registerParam("kapa", kpa, _pat_readable, "Bulk coefficient");
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim> void MaterialElastic<dim>::initMaterial() {
   AKANTU_DEBUG_IN();
   Parent::initMaterial();
 
   if (dim == 1)
     this->nu = 0.;
 
   this->updateInternalParameters();
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim> void MaterialElastic<dim>::updateInternalParameters() {
   MaterialThermal<dim>::updateInternalParameters();
 
   this->lambda = this->nu * this->E / ((1 + this->nu) * (1 - 2 * this->nu));
   this->mu = this->E / (2 * (1 + this->nu));
 
   this->kpa = this->lambda + 2. / 3. * this->mu;
+
+  this->was_stiffness_assembled = false;
 }
 
 /* -------------------------------------------------------------------------- */
 template <> void MaterialElastic<2>::updateInternalParameters() {
   MaterialThermal<2>::updateInternalParameters();
 
   this->lambda = this->nu * this->E / ((1 + this->nu) * (1 - 2 * this->nu));
   this->mu = this->E / (2 * (1 + this->nu));
 
   if (this->plane_stress)
     this->lambda = this->nu * this->E / ((1 + this->nu) * (1 - this->nu));
 
   this->kpa = this->lambda + 2. / 3. * this->mu;
+
+  this->was_stiffness_assembled = false;
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt spatial_dimension>
 void MaterialElastic<spatial_dimension>::computeStress(ElementType el_type,
                                                        GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   Parent::computeStress(el_type, ghost_type);
 
   Array<Real>::const_scalar_iterator sigma_th_it =
       this->sigma_th(el_type, ghost_type).begin();
 
   if (!this->finite_deformation) {
     MATERIAL_STRESS_QUADRATURE_POINT_LOOP_BEGIN(el_type, ghost_type);
     const Real & sigma_th = *sigma_th_it;
     this->computeStressOnQuad(grad_u, sigma, sigma_th);
     ++sigma_th_it;
     MATERIAL_STRESS_QUADRATURE_POINT_LOOP_END;
   } else {
     /// finite gradus
     Matrix<Real> E(spatial_dimension, spatial_dimension);
 
     MATERIAL_STRESS_QUADRATURE_POINT_LOOP_BEGIN(el_type, ghost_type);
 
     /// compute E
     this->template gradUToGreenStrain<spatial_dimension>(grad_u, E);
 
     const Real & sigma_th = *sigma_th_it;
 
     /// compute second Piola-Kirchhoff stress tensor
     this->computeStressOnQuad(E, sigma, sigma_th);
 
     ++sigma_th_it;
     MATERIAL_STRESS_QUADRATURE_POINT_LOOP_END;
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt spatial_dimension>
 void MaterialElastic<spatial_dimension>::computeTangentModuli(
     __attribute__((unused)) const ElementType & el_type,
     Array<Real> & tangent_matrix,
     __attribute__((unused)) GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   MATERIAL_TANGENT_QUADRATURE_POINT_LOOP_BEGIN(tangent_matrix);
   this->computeTangentModuliOnQuad(tangent);
   MATERIAL_TANGENT_QUADRATURE_POINT_LOOP_END;
 
+  this->was_stiffness_assembled = true;
+
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt spatial_dimension>
 Real MaterialElastic<spatial_dimension>::getPushWaveSpeed(
     __attribute__((unused)) const Element & element) const {
   return sqrt((lambda + 2 * mu) / this->rho);
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt spatial_dimension>
 Real MaterialElastic<spatial_dimension>::getShearWaveSpeed(
     __attribute__((unused)) const Element & element) const {
   return sqrt(mu / this->rho);
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt spatial_dimension>
 void MaterialElastic<spatial_dimension>::computePotentialEnergy(
     ElementType el_type, GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   MaterialThermal<spatial_dimension>::computePotentialEnergy(el_type,
                                                              ghost_type);
 
   if (ghost_type != _not_ghost)
     return;
   Array<Real>::scalar_iterator epot =
       this->potential_energy(el_type, ghost_type).begin();
 
   if (!this->finite_deformation) {
     MATERIAL_STRESS_QUADRATURE_POINT_LOOP_BEGIN(el_type, ghost_type);
 
     this->computePotentialEnergyOnQuad(grad_u, sigma, *epot);
     ++epot;
 
     MATERIAL_STRESS_QUADRATURE_POINT_LOOP_END;
   } else {
     Matrix<Real> E(spatial_dimension, spatial_dimension);
 
     MATERIAL_STRESS_QUADRATURE_POINT_LOOP_BEGIN(el_type, ghost_type);
     this->template gradUToGreenStrain<spatial_dimension>(grad_u, E);
 
     this->computePotentialEnergyOnQuad(E, sigma, *epot);
     ++epot;
 
     MATERIAL_STRESS_QUADRATURE_POINT_LOOP_END;
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt spatial_dimension>
 void MaterialElastic<spatial_dimension>::computePotentialEnergyByElement(
     ElementType type, UInt index, Vector<Real> & epot_on_quad_points) {
   Array<Real>::matrix_iterator gradu_it =
       this->gradu(type).begin(spatial_dimension, spatial_dimension);
   Array<Real>::matrix_iterator gradu_end =
       this->gradu(type).begin(spatial_dimension, spatial_dimension);
   Array<Real>::matrix_iterator stress_it =
       this->stress(type).begin(spatial_dimension, spatial_dimension);
 
   if (this->finite_deformation)
     stress_it = this->piola_kirchhoff_2(type)
                     .begin(spatial_dimension, spatial_dimension);
 
   UInt nb_quadrature_points =
       this->model->getFEEngine().getNbIntegrationPoints(type);
 
   gradu_it += index * nb_quadrature_points;
   gradu_end += (index + 1) * nb_quadrature_points;
   stress_it += index * nb_quadrature_points;
 
   Real * epot_quad = epot_on_quad_points.storage();
 
   Matrix<Real> grad_u(spatial_dimension, spatial_dimension);
 
   for (; gradu_it != gradu_end; ++gradu_it, ++stress_it, ++epot_quad) {
 
     if (this->finite_deformation)
       this->template gradUToGreenStrain<spatial_dimension>(*gradu_it, grad_u);
     else
       grad_u.copy(*gradu_it);
 
     this->computePotentialEnergyOnQuad(grad_u, *stress_it, *epot_quad);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 
 INSTANTIATE_MATERIAL(MaterialElastic);
 
 __END_AKANTU__
diff --git a/src/model/solid_mechanics/materials/material_elastic.hh b/src/model/solid_mechanics/materials/material_elastic.hh
index 15214a1d3..fd011833f 100644
--- a/src/model/solid_mechanics/materials/material_elastic.hh
+++ b/src/model/solid_mechanics/materials/material_elastic.hh
@@ -1,153 +1,158 @@
 /**
  * @file   material_elastic.hh
  *
  * @author Lucas Frerot <lucas.frerot@epfl.ch>
  * @author Daniel Pino Muñoz <daniel.pinomunoz@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Fri Jun 18 2010
  * @date last modification: Sun Nov 15 2015
  *
  * @brief  Material isotropic elastic
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "aka_common.hh"
 #include "material_thermal.hh"
 #include "plane_stress_toolbox.hh"
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_MATERIAL_ELASTIC_HH__
 #define __AKANTU_MATERIAL_ELASTIC_HH__
 
-__BEGIN_AKANTU__
+namespace akantu {
 
 /**
  * Material elastic isotropic
  *
  * parameters in the material files :
  *   - E   : Young's modulus (default: 0)
  *   - nu  : Poisson's ratio (default: 1/2)
  *   - Plane_Stress : if 0: plane strain, else: plane stress (default: 0)
  */
-template<UInt spatial_dimension>
-class MaterialElastic : public PlaneStressToolbox< spatial_dimension,
-                                                   MaterialThermal<spatial_dimension> > {
+template <UInt spatial_dimension>
+class MaterialElastic
+  : public PlaneStressToolbox<spatial_dimension,
+                              MaterialThermal<spatial_dimension>> {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 private:
-  typedef  PlaneStressToolbox< spatial_dimension,
-                               MaterialThermal<spatial_dimension> > Parent;
-public:
+  typedef PlaneStressToolbox<spatial_dimension,
+                             MaterialThermal<spatial_dimension>>
+  Parent;
 
+public:
   MaterialElastic(SolidMechanicsModel & model, const ID & id = "");
-  MaterialElastic(SolidMechanicsModel & model,
-                  UInt dim,
-                  const Mesh & mesh,
-                  FEEngine & fe_engine,
-                  const ID & id = "");
+  MaterialElastic(SolidMechanicsModel & model, UInt dim, const Mesh & mesh,
+                  FEEngine & fe_engine, const ID & id = "");
 
   virtual ~MaterialElastic() {}
 
 protected:
   void initialize();
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
-
   virtual void initMaterial();
 
   /// constitutive law for all element of a type
-  virtual void computeStress(ElementType el_type, GhostType ghost_type = _not_ghost);
+  virtual void computeStress(ElementType el_type,
+                             GhostType ghost_type = _not_ghost);
 
   /// compute the tangent stiffness matrix for an element type
   virtual void computeTangentModuli(const ElementType & el_type,
-				    Array<Real> & tangent_matrix,
-				    GhostType ghost_type = _not_ghost);
+                                    Array<Real> & tangent_matrix,
+                                    GhostType ghost_type = _not_ghost);
 
   /// compute the elastic potential energy
   virtual void computePotentialEnergy(ElementType el_type,
-				      GhostType ghost_type = _not_ghost);
+                                      GhostType ghost_type = _not_ghost);
 
-  virtual void computePotentialEnergyByElement(ElementType type, UInt index,
-					       Vector<Real> & epot_on_quad_points);
+  virtual void
+  computePotentialEnergyByElement(ElementType type, UInt index,
+                                  Vector<Real> & epot_on_quad_points);
 
   /// compute the p-wave speed in the material
   virtual Real getPushWaveSpeed(const Element & element) const;
 
   /// compute the s-wave speed in the material
   virtual Real getShearWaveSpeed(const Element & element) const;
 
 protected:
   /// constitutive law for a given quadrature point
   inline void computeStressOnQuad(const Matrix<Real> & grad_u,
-				  Matrix<Real> & sigma,
-				  const Real sigma_th = 0) const;
+                                  Matrix<Real> & sigma,
+                                  const Real sigma_th = 0) const;
 
   /// compute the tangent stiffness matrix for an element
   inline void computeTangentModuliOnQuad(Matrix<Real> & tangent) const;
 
   /// recompute the lame coefficient if E or nu changes
   virtual void updateInternalParameters();
 
   static inline void computePotentialEnergyOnQuad(const Matrix<Real> & grad_u,
-						  const Matrix<Real> & sigma,
-						  Real & epot);
+                                                  const Matrix<Real> & sigma,
+                                                  Real & epot);
+
+  virtual bool hasStiffnessMatrixChanged() {
+    return (! was_stiffness_assembled);
+  }
 
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   /// get first Lame constant
   AKANTU_GET_MACRO(Lambda, lambda, Real);
 
   /// get second Lame constant
   AKANTU_GET_MACRO(Mu, mu, Real);
 
   /// get bulk modulus
   AKANTU_GET_MACRO(Kappa, kpa, Real);
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 protected:
-
   /// First Lamé coefficient
   Real lambda;
 
   /// Second Lamé coefficient (shear modulus)
   Real mu;
 
   /// Bulk modulus
   Real kpa;
 
+  /// defines if the stiffness was computed
+  bool was_stiffness_assembled;
 };
 
-__END_AKANTU__
+}  // akantu
 
 #include "material_elastic_inline_impl.cc"
 
 #endif /* __AKANTU_MATERIAL_ELASTIC_HH__ */
diff --git a/src/model/solid_mechanics/materials/material_elastic_linear_anisotropic.cc b/src/model/solid_mechanics/materials/material_elastic_linear_anisotropic.cc
index 920508245..617bb1e6b 100644
--- a/src/model/solid_mechanics/materials/material_elastic_linear_anisotropic.cc
+++ b/src/model/solid_mechanics/materials/material_elastic_linear_anisotropic.cc
@@ -1,309 +1,313 @@
 /**
  * @file   material_elastic_linear_anisotropic.cc
  *
  * @author Till Junge <till.junge@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Wed Sep 25 2013
  * @date last modification: Thu Oct 15 2015
  *
  * @brief  Anisotropic elastic material
  *
  * @section LICENSE
  *
  * Copyright  (©)  2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------------- */
 #include "material_elastic_linear_anisotropic.hh"
 #include "solid_mechanics_model.hh"
 #include <algorithm>
 #include <sstream>
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 MaterialElasticLinearAnisotropic<dim>::MaterialElasticLinearAnisotropic(
     SolidMechanicsModel & model, const ID & id, bool symmetric)
     : Material(model, id), rot_mat(dim, dim), Cprime(dim * dim, dim * dim),
       C(voigt_h::size, voigt_h::size), eigC(voigt_h::size),
-      symmetric(symmetric), alpha(0) {
+      symmetric(symmetric), alpha(0), was_stiffness_assembled(false) {
   AKANTU_DEBUG_IN();
 
   this->dir_vecs.push_back(new Vector<Real>(dim));
   (*this->dir_vecs.back())[0] = 1.;
   this->registerParam("n1", *(this->dir_vecs.back()), _pat_parsmod,
                       "Direction of main material axis");
   this->dir_vecs.push_back(new Vector<Real>(dim));
   (*this->dir_vecs.back())[1] = 1.;
   this->registerParam("n2", *(this->dir_vecs.back()), _pat_parsmod,
                       "Direction of secondary material axis");
 
   if (dim > 2) {
     this->dir_vecs.push_back(new Vector<Real>(dim));
     (*this->dir_vecs.back())[2] = 1.;
     this->registerParam("n3", *(this->dir_vecs.back()), _pat_parsmod,
                         "Direction of tertiary material axis");
   }
 
   for (UInt i = 0; i < voigt_h::size; ++i) {
     UInt start = 0;
     if (this->symmetric) {
       start = i;
     }
     for (UInt j = start; j < voigt_h::size; ++j) {
       std::stringstream param("C");
       param << "C" << i + 1 << j + 1;
       this->registerParam(param.str(), this->Cprime(i, j), Real(0.),
                           _pat_parsmod, "Coefficient " + param.str());
     }
   }
 
   this->registerParam("alpha", this->alpha, _pat_parsmod,
                       "Proportion of viscous stress");
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 MaterialElasticLinearAnisotropic<dim>::~MaterialElasticLinearAnisotropic() {
   for (UInt i = 0; i < dim; ++i) {
     delete this->dir_vecs[i];
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim> void MaterialElasticLinearAnisotropic<dim>::initMaterial() {
   AKANTU_DEBUG_IN();
   Material::initMaterial();
 
   updateInternalParameters();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 void MaterialElasticLinearAnisotropic<dim>::updateInternalParameters() {
   Material::updateInternalParameters();
   if (this->symmetric) {
     for (UInt i = 0; i < voigt_h::size; ++i) {
       for (UInt j = i + 1; j < voigt_h::size; ++j) {
         this->Cprime(j, i) = this->Cprime(i, j);
       }
     }
   }
   this->rotateCprime();
   this->C.eig(this->eigC);
+
+  this->was_stiffness_assembled = false;
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt Dim> void MaterialElasticLinearAnisotropic<Dim>::rotateCprime() {
   // start by filling the empty parts fo Cprime
   UInt diff = Dim * Dim - voigt_h::size;
   for (UInt i = voigt_h::size; i < Dim * Dim; ++i) {
     for (UInt j = 0; j < Dim * Dim; ++j) {
       this->Cprime(i, j) = this->Cprime(i - diff, j);
     }
   }
   for (UInt i = 0; i < Dim * Dim; ++i) {
     for (UInt j = voigt_h::size; j < Dim * Dim; ++j) {
       this->Cprime(i, j) = this->Cprime(i, j - diff);
     }
   }
   // construction of rotator tensor
   // normalise rotation matrix
   for (UInt j = 0; j < Dim; ++j) {
     Vector<Real> rot_vec = this->rot_mat(j);
     rot_vec = *this->dir_vecs[j];
     rot_vec.normalize();
   }
 
   // make sure the vectors form a right-handed base
   Vector<Real> test_axis(3);
   Vector<Real> v1(3), v2(3), v3(3);
 
   if (Dim == 2) {
     for (UInt i = 0; i < Dim; ++i) {
       v1[i] = this->rot_mat(0, i);
       v2[i] = this->rot_mat(1, i);
       v3[i] = 0.;
     }
     v3[2] = 1.;
     v1[2] = 0.;
     v2[2] = 0.;
   } else if (Dim == 3) {
     v1 = this->rot_mat(0);
     v2 = this->rot_mat(1);
     v3 = this->rot_mat(2);
   }
 
   test_axis.crossProduct(v1, v2);
   test_axis -= v3;
   if (test_axis.norm() > 8 * std::numeric_limits<Real>::epsilon()) {
     AKANTU_DEBUG_ERROR("The axis vectors do not form a right-handed coordinate "
                        << "system. I. e., ||n1 x n2 - n3|| should be zero, but "
                        << "it is " << test_axis.norm() << ".");
   }
 
   // create the rotator and the reverse rotator
   Matrix<Real> rotator(Dim * Dim, Dim * Dim);
   Matrix<Real> revrotor(Dim * Dim, Dim * Dim);
   for (UInt i = 0; i < Dim; ++i) {
     for (UInt j = 0; j < Dim; ++j) {
       for (UInt k = 0; k < Dim; ++k) {
         for (UInt l = 0; l < Dim; ++l) {
           UInt I = voigt_h::mat[i][j];
           UInt J = voigt_h::mat[k][l];
           rotator(I, J) = this->rot_mat(k, i) * this->rot_mat(l, j);
           revrotor(I, J) = this->rot_mat(i, k) * this->rot_mat(j, l);
         }
       }
     }
   }
 
   // create the full rotated matrix
   Matrix<Real> Cfull(Dim * Dim, Dim * Dim);
   Cfull = rotator * Cprime * revrotor;
 
   for (UInt i = 0; i < voigt_h::size; ++i) {
     for (UInt j = 0; j < voigt_h::size; ++j) {
       this->C(i, j) = Cfull(i, j);
     }
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 void MaterialElasticLinearAnisotropic<dim>::computeStress(
     ElementType el_type, GhostType ghost_type) {
   // Wikipedia convention:
   // 2*eps_ij (i!=j) = voigt_eps_I
   // http://en.wikipedia.org/wiki/Voigt_notation
   AKANTU_DEBUG_IN();
 
   Array<Real>::iterator<Matrix<Real>> gradu_it =
       this->gradu(el_type, ghost_type).begin(dim, dim);
   Array<Real>::iterator<Matrix<Real>> gradu_end =
       this->gradu(el_type, ghost_type).end(dim, dim);
 
   UInt nb_quad_pts = gradu_end - gradu_it;
 
   // create array for strains and stresses of all dof of all gauss points
   // for efficient computation of stress
   Matrix<Real> voigt_strains(voigt_h::size, nb_quad_pts);
   Matrix<Real> voigt_stresses(voigt_h::size, nb_quad_pts);
 
   // copy strains
   Matrix<Real> strain(dim, dim);
 
   for (UInt q = 0; gradu_it != gradu_end; ++gradu_it, ++q) {
     Matrix<Real> & grad_u = *gradu_it;
 
     for (UInt I = 0; I < voigt_h::size; ++I) {
       Real voigt_factor = voigt_h::factors[I];
       UInt i = voigt_h::vec[I][0];
       UInt j = voigt_h::vec[I][1];
 
       voigt_strains(I, q) = voigt_factor * (grad_u(i, j) + grad_u(j, i)) / 2.;
     }
   }
 
   // compute the strain rate proportional part if needed
   // bool viscous = this->alpha == 0.; // only works if default value
   bool viscous = false;
   if (viscous) {
     Array<Real> strain_rate(0, dim * dim, "strain_rate");
 
     Array<Real> & velocity = this->model->getVelocity();
     const Array<UInt> & elem_filter = this->element_filter(el_type, ghost_type);
 
     this->model->getFEEngine().gradientOnIntegrationPoints(
         velocity, strain_rate, dim, el_type, ghost_type, elem_filter);
 
     Array<Real>::matrix_iterator gradu_dot_it = strain_rate.begin(dim, dim);
     Array<Real>::matrix_iterator gradu_dot_end = strain_rate.end(dim, dim);
 
     Matrix<Real> strain_dot(dim, dim);
     for (UInt q = 0; gradu_dot_it != gradu_dot_end; ++gradu_dot_it, ++q) {
       Matrix<Real> & grad_u_dot = *gradu_dot_it;
 
       for (UInt I = 0; I < voigt_h::size; ++I) {
         Real voigt_factor = voigt_h::factors[I];
         UInt i = voigt_h::vec[I][0];
         UInt j = voigt_h::vec[I][1];
 
         voigt_strains(I, q) = this->alpha * voigt_factor *
                               (grad_u_dot(i, j) + grad_u_dot(j, i)) / 2.;
       }
     }
   }
 
   // compute stresses
   voigt_stresses = this->C * voigt_strains;
 
   // copy stresses back
   Array<Real>::iterator<Matrix<Real>> stress_it =
       this->stress(el_type, ghost_type).begin(dim, dim);
 
   Array<Real>::iterator<Matrix<Real>> stress_end =
       this->stress(el_type, ghost_type).end(dim, dim);
 
   for (UInt q = 0; stress_it != stress_end; ++stress_it, ++q) {
     Matrix<Real> & stress = *stress_it;
 
     for (UInt I = 0; I < voigt_h::size; ++I) {
       UInt i = voigt_h::vec[I][0];
       UInt j = voigt_h::vec[I][1];
       stress(i, j) = stress(j, i) = voigt_stresses(I, q);
     }
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 void MaterialElasticLinearAnisotropic<dim>::computeTangentModuli(
     const ElementType & el_type, Array<Real> & tangent_matrix,
     GhostType ghost_type) {
   AKANTU_DEBUG_IN();
 
   MATERIAL_TANGENT_QUADRATURE_POINT_LOOP_BEGIN(tangent_matrix);
   tangent.copy(this->C);
   MATERIAL_TANGENT_QUADRATURE_POINT_LOOP_END;
 
+  this->was_stiffness_assembled = true;
+
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <UInt dim>
 Real MaterialElasticLinearAnisotropic<dim>::getCelerity(
     __attribute__((unused)) const Element & element) const {
   return std::sqrt(this->eigC(0) / rho);
 }
 
 /* -------------------------------------------------------------------------- */
 
 INSTANTIATE_MATERIAL(MaterialElasticLinearAnisotropic);
 
 __END_AKANTU__
diff --git a/src/model/solid_mechanics/materials/material_elastic_linear_anisotropic.hh b/src/model/solid_mechanics/materials/material_elastic_linear_anisotropic.hh
index 92eefd8f8..2b1b854ac 100644
--- a/src/model/solid_mechanics/materials/material_elastic_linear_anisotropic.hh
+++ b/src/model/solid_mechanics/materials/material_elastic_linear_anisotropic.hh
@@ -1,120 +1,128 @@
 /**
  * @file   material_elastic_linear_anisotropic.hh
  *
  * @author Till Junge <till.junge@epfl.ch>
  *
  * @date creation: Fri Jun 18 2010
  * @date last modification: Tue Aug 18 2015
  *
  * @brief  Orthotropic elastic material
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------------- */
 #include "aka_common.hh"
 #include "material.hh"
 #include "material_elastic.hh"
 #include <vector>
 
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_MATERIAL_ELASTIC_LINEAR_ANISOTROPIC_HH__
 #define __AKANTU_MATERIAL_ELASTIC_LINEAR_ANISOTROPIC_HH__
 
 __BEGIN_AKANTU__
 
 /**
  * General linear anisotropic elastic material
  * The only constraint on the elastic tensor is that it can be represented
  * as a symmetric 6x6 matrix (3D) or 3x3 (2D).
  *
  * parameters in the material files :
  *   - rho  : density (default: 0)
  *   - C_ij  : entry on the stiffness
  */
 template <UInt Dim>
 class MaterialElasticLinearAnisotropic : public virtual Material {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 public:
   MaterialElasticLinearAnisotropic(SolidMechanicsModel & model,
                                    const ID & id = "", bool symmetric = true);
 
   ~MaterialElasticLinearAnisotropic();
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
   virtual void initMaterial();
 
   /// constitutive law for all element of a type
   virtual void computeStress(ElementType el_type,
                              GhostType ghost_type = _not_ghost);
 
   /// compute the tangent stiffness matrix for an element type
   void computeTangentModuli(const ElementType & el_type,
                             Array<Real> & tangent_matrix,
                             GhostType ghost_type = _not_ghost);
 
   virtual void updateInternalParameters();
 
+  virtual bool hasStiffnessMatrixChanged() {
+    return (! was_stiffness_assembled);
+  }
+
 protected:
   // compute C from Cprime
   void rotateCprime();
 
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   /// compute max wave celerity
   virtual Real getCelerity(const Element & element) const;
 
   AKANTU_GET_MACRO(VoigtStiffness, C, Matrix<Real>);
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 protected:
   typedef VoigtHelper<Dim> voigt_h;
 
   /// direction matrix and vectors
   std::vector<Vector<Real> *> dir_vecs;
 
   Matrix<Real> rot_mat;
   /// Elastic stiffness tensor in material frame and full vectorised notation
   Matrix<Real> Cprime;
   /// Elastic stiffness tensor in voigt notation
   Matrix<Real> C;
   /// eigenvalues of stiffness tensor
   Vector<Real> eigC;
+
   bool symmetric;
 
   /// viscous proportion
   Real alpha;
+
+  /// defines if the stiffness was computed
+  bool was_stiffness_assembled;
 };
 __END_AKANTU__
 
 #endif /* __AKANTU_MATERIAL_ELASTIC_LINEAR_ANISOTROPIC_HH__ */
diff --git a/src/model/solid_mechanics/solid_mechanics_model.cc b/src/model/solid_mechanics/solid_mechanics_model.cc
index e979c96cd..53258a5c2 100644
--- a/src/model/solid_mechanics/solid_mechanics_model.cc
+++ b/src/model/solid_mechanics/solid_mechanics_model.cc
@@ -1,1564 +1,1554 @@
 /**
  * @file   solid_mechanics_model.cc
  *
  * @author Ramin Aghababaei <ramin.aghababaei@epfl.ch>
  * @author Guillaume Anciaux <guillaume.anciaux@epfl.ch>
  * @author Aurelia Isabel Cuba Ramos <aurelia.cubaramos@epfl.ch>
  * @author David Simon Kammer <david.kammer@epfl.ch>
  * @author Daniel Pino Muñoz <daniel.pinomunoz@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  * @author Clement Roux <clement.roux@epfl.ch>
  * @author Marco Vocialta <marco.vocialta@epfl.ch>
  *
  * @date creation: Tue Jul 27 2010
  * @date last modification: Tue Jan 19 2016
  *
  * @brief  Implementation of the SolidMechanicsModel class
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "solid_mechanics_model.hh"
 #include "aka_common.hh"
 #include "aka_math.hh"
 
 #include "element_group.hh"
 #include "group_manager_inline_impl.cc"
 #include "static_communicator.hh"
 #include "element_synchronizer.hh"
 #include "synchronizer_registry.hh"
 
 #include "sparse_matrix.hh"
 
 #include "dumpable_inline_impl.hh"
 #ifdef AKANTU_USE_IOHELPER
 #include "dumper_element_partition.hh"
 #include "dumper_elemental_field.hh"
 #include "dumper_field.hh"
 #include "dumper_homogenizing_field.hh"
 #include "dumper_internal_material_field.hh"
 #include "dumper_iohelper.hh"
 #include "dumper_material_padders.hh"
 #include "dumper_paraview.hh"
 #endif
 
 #ifdef AKANTU_DAMAGE_NON_LOCAL
 #include "non_local_manager.hh"
 #endif
 /* -------------------------------------------------------------------------- */
 #include <cmath>
 /* -------------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------------- */
 __BEGIN_AKANTU__
 
 const SolidMechanicsModelOptions
     default_solid_mechanics_model_options(_explicit_lumped_mass, false);
 
 /* -------------------------------------------------------------------------- */
 /**
  * A solid mechanics model need a mesh  and a dimension to be created. the model
  * by it  self can not  do a lot,  the good init  functions should be  called in
  * order to configure the model depending on what we want to do.
  *
  * @param  mesh mesh  representing  the model  we  want to  simulate
  * @param dim spatial  dimension of the problem, if dim =  0 (default value) the
  * dimension of the problem is assumed to be the on of the mesh
  * @param id an id to identify the model
  */
 SolidMechanicsModel::SolidMechanicsModel(Mesh & mesh, UInt dim, const ID & id,
                                          const MemoryID & memory_id)
     : Model(mesh, dim, id, memory_id), BoundaryCondition<SolidMechanicsModel>(),
       f_m2a(1.0), displacement(NULL), previous_displacement(NULL),
       displacement_increment(NULL), mass(NULL), velocity(NULL),
       acceleration(NULL), external_force(NULL), internal_force(NULL),
       blocked_dofs(NULL), current_position(NULL), mass_matrix(NULL),
       velocity_damping_matrix(NULL), stiffness_matrix(NULL),
       jacobian_matrix(NULL), material_index("material index", id, memory_id),
       material_local_numbering("material local numbering", id, memory_id),
       material_selector(new DefaultMaterialSelector(material_index)),
       is_default_material_selector(true), increment_flag(false),
       synch_parallel(NULL), are_materials_instantiated(false),
       non_local_manager(NULL) { //, pbc_synch(NULL) {
   AKANTU_DEBUG_IN();
 
   this->registerFEEngineObject<MyFEEngineType>("SolidMechanicsFEEngine", mesh,
                                                spatial_dimension);
 
   this->mesh.registerEventHandler(*this);
 
 #if defined(AKANTU_USE_IOHELPER)
   this->mesh.registerDumper<DumperParaview>("paraview_all", id, true);
   this->mesh.addDumpMesh(mesh, spatial_dimension, _not_ghost, _ek_regular);
 #endif
 
   this->initDOFManager();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 SolidMechanicsModel::~SolidMechanicsModel() {
   AKANTU_DEBUG_IN();
 
   std::vector<Material *>::iterator mat_it;
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     delete *mat_it;
   }
 
   materials.clear();
 
   delete synch_parallel;
 
   if (is_default_material_selector) {
     delete material_selector;
     material_selector = NULL;
   }
 
   flatten_internal_map::iterator fl_it = this->registered_internals.begin();
   flatten_internal_map::iterator fl_end = this->registered_internals.end();
   for (; fl_it != fl_end; ++fl_it) {
     delete fl_it->second;
   }
 
 #ifdef AKANTU_DAMAGE_NON_LOCAL
   delete non_local_manager;
   non_local_manager = NULL;
 #endif
 
 //  delete pbc_synch;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::setTimeStep(Real time_step, const ID & solver_id) {
   Model::setTimeStep(time_step, solver_id);
 
 #if defined(AKANTU_USE_IOHELPER)
   this->mesh.getDumper().setTimeStep(time_step);
 #endif
 }
 
 /* -------------------------------------------------------------------------- */
 /* Initialization                                                             */
 /* -------------------------------------------------------------------------- */
 /**
  * This function groups  many of the initialization in on  function. For most of
  * basics  case the  function should  be  enough. The  functions initialize  the
  * model, the internal  vectors, set them to 0, and  depending on the parameters
  * it also initialize the explicit or implicit solver.
  *
  * @param material_file the  file containing the materials to  use
  * @param method the analysis method wanted.  See the akantu::AnalysisMethod for
  * the different possibilities
  */
 void SolidMechanicsModel::initFull(const ModelOptions & options) {
   Model::initFull(options);
 
   const SolidMechanicsModelOptions & smm_options =
       dynamic_cast<const SolidMechanicsModelOptions &>(options);
 
   this->method = smm_options.analysis_method;
 
   // initialize the vectors
   this->initArrays();
 
   if (!this->hasDefaultSolver())
     this->initNewSolver(this->method);
 
   // initialize pbc
   if (this->pbc_pair.size() != 0)
     this->initPBC();
 
 #ifdef AKANTU_DAMAGE_NON_LOCAL
   /// create the non-local manager object for non-local damage computations
   std::stringstream nl_manager_name;
   nl_manager_name << "NLManager" << this->id;
   this->non_local_manager =
       new NonLocalManager(*this, nl_manager_name.str(), this->memory_id);
 #endif
 
   // initialize the materials
   if (this->parser->getLastParsedFile() != "") {
     this->instantiateMaterials();
   }
 
   if (!smm_options.no_init_materials) {
     this->initMaterials();
   }
 
   if (increment_flag)
     this->initBC(*this, *displacement, *displacement_increment,
                  *external_force);
   else
     this->initBC(*this, *displacement, *external_force);
 }
 
 /* -------------------------------------------------------------------------- */
 TimeStepSolverType SolidMechanicsModel::getDefaultSolverType() const {
   return _tsst_dynamic_lumped;
 }
 
 /* -------------------------------------------------------------------------- */
 ModelSolverOptions SolidMechanicsModel::getDefaultSolverOptions(
     const TimeStepSolverType & type) const {
   ModelSolverOptions options;
 
   switch (type) {
   case _tsst_dynamic_lumped: {
     options.non_linear_solver_type = _nls_lumped;
     options.integration_scheme_type["displacement"] = _ist_central_difference;
     options.solution_type["displacement"] = IntegrationScheme::_acceleration;
     break;
   }
   case _tsst_static: {
     options.non_linear_solver_type = _nls_newton_raphson;
     options.integration_scheme_type["displacement"] = _ist_pseudo_time;
     options.solution_type["displacement"] = IntegrationScheme::_not_defined;
     break;
   }
   case _tsst_dynamic: {
     if (this->method == _explicit_consistent_mass) {
       options.non_linear_solver_type = _nls_newton_raphson;
       options.integration_scheme_type["displacement"] = _ist_central_difference;
       options.solution_type["displacement"] = IntegrationScheme::_acceleration;
     } else {
       options.non_linear_solver_type = _nls_newton_raphson;
       options.integration_scheme_type["displacement"] = _ist_trapezoidal_rule_2;
       options.solution_type["displacement"] = IntegrationScheme::_displacement;
     }
     break;
   }
   }
 
   return options;
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::initNewSolver(const AnalysisMethod & method) {
   ID solver_name;
   TimeStepSolverType tss_type;
 
   this->method = method;
 
   switch (this->method) {
   case _explicit_lumped_mass: {
     solver_name = "explicit_lumped";
     tss_type = _tsst_dynamic_lumped;
     break;
   }
   case _explicit_consistent_mass: {
     solver_name = "explicit";
     tss_type = _tsst_dynamic;
     break;
   }
   case _static: {
     solver_name = "static";
     tss_type = _tsst_static;
     break;
   }
   case _implicit_dynamic: {
     solver_name = "implicit";
     tss_type = _tsst_dynamic;
     break;
   }
   }
 
   if (!this->hasSolver(solver_name)) {
     ModelSolverOptions options = this->getDefaultSolverOptions(tss_type);
     this->getNewSolver(solver_name, tss_type, options.non_linear_solver_type);
     this->setIntegrationScheme(solver_name, "displacement",
                                options.integration_scheme_type["displacement"],
                                options.solution_type["displacement"]);
     this->setDefaultSolver(solver_name);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 template <typename T>
 void SolidMechanicsModel::allocNodalField(Array<T> *& array,
                                           __attribute__((unused)) UInt nb_component,
                                           const ID & name) {
   if (array == NULL) {
     UInt nb_nodes = mesh.getNbNodes();
     std::stringstream sstr_disp;
     sstr_disp << id << ":" << name;
 
     array = &(alloc<T>(sstr_disp.str(), nb_nodes, spatial_dimension, T()));
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::initSolver(
     TimeStepSolverType time_step_solver_type,
     __attribute__((unused)) NonLinearSolverType non_linear_solver_type) {
   DOFManager & dof_manager = this->getDOFManager();
 
   /* ------------------------------------------------------------------------ */
   // for alloc type of solvers
   this->allocNodalField(this->displacement, spatial_dimension, "displacement");
   this->allocNodalField(this->internal_force, spatial_dimension,
                         "internal_force");
   this->allocNodalField(this->external_force, spatial_dimension,
                         "external_force");
   this->allocNodalField(this->blocked_dofs, spatial_dimension, "blocked_dofs");
   this->allocNodalField(this->current_position, spatial_dimension,
                         "current_position");
 
   /* ------------------------------------------------------------------------ */
   if (!dof_manager.hasDOFs("displacement")) {
     dof_manager.registerDOFs("displacement", *this->displacement, _dst_nodal);
     dof_manager.registerBlockedDOFs("displacement", *this->blocked_dofs);
   }
 
   /* ------------------------------------------------------------------------ */
   // for dynamic
   if (time_step_solver_type == _tsst_dynamic ||
       time_step_solver_type == _tsst_dynamic_lumped) {
     this->allocNodalField(this->velocity, spatial_dimension, "velocity");
     this->allocNodalField(this->acceleration, spatial_dimension,
                           "acceleration");
 
     if (!dof_manager.hasDOFsDerivatives("displacement", 1)) {
       dof_manager.registerDOFsDerivative("displacement", 1, *this->velocity);
       dof_manager.registerDOFsDerivative("displacement", 2,
                                          *this->acceleration);
     }
   }
 
   if (time_step_solver_type == _tsst_dynamic ||
       time_step_solver_type == _tsst_static) {
     if (!dof_manager.hasMatrix("K")) {
       dof_manager.getNewMatrix("K", _symmetric);
     }
 
     if (!dof_manager.hasMatrix("J")) {
       dof_manager.getNewMatrix("J", "K");
     }
   }
 }
 
 /* -------------------------------------------------------------------------- */
 // void SolidMechanicsModel::initParallel(MeshPartition & partition,
 //                                        DataAccessor<Element> * data_accessor) {
 //   AKANTU_DEBUG_IN();
 
 //   if (data_accessor == NULL)
 //     data_accessor = this;
 //   synch_parallel = &createParallelSynch(partition, *data_accessor);
 
 //   synch_registry->registerSynchronizer(*synch_parallel, _gst_material_id);
 //   synch_registry->registerSynchronizer(*synch_parallel, _gst_smm_mass);
 //   synch_registry->registerSynchronizer(*synch_parallel, _gst_smm_stress);
 //   synch_registry->registerSynchronizer(*synch_parallel, _gst_smm_boundary);
 //   synch_registry->registerSynchronizer(*synch_parallel, _gst_for_dump);
 
 //   AKANTU_DEBUG_OUT();
 // }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::initFEEngineBoundary() {
   FEEngine & fem_boundary = getFEEngineBoundary();
   fem_boundary.initShapeFunctions(_not_ghost);
   fem_boundary.initShapeFunctions(_ghost);
 
   fem_boundary.computeNormalsOnIntegrationPoints(_not_ghost);
   fem_boundary.computeNormalsOnIntegrationPoints(_ghost);
 }
 
-/* -------------------------------------------------------------------------- */
-// void SolidMechanicsModel::initExplicit(AnalysisMethod analysis_method) {
-//   AKANTU_DEBUG_IN();
-
-//   // in case of switch from implicit to explicit
-//   if (!this->isExplicit())
-//     method = analysis_method;
-
-//   // if (integrator) delete integrator;
-//   // integrator = new CentralDifference();
-
-//   UInt nb_nodes = acceleration->getSize();
-//   UInt nb_degree_of_freedom = acceleration->getNbComponent();
-
-//   std::stringstream sstr;
-//   sstr << id << ":increment_acceleration";
-//   increment_acceleration =
-//       &(alloc<Real>(sstr.str(), nb_nodes, nb_degree_of_freedom, Real()));
-
-//   AKANTU_DEBUG_OUT();
-// }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::initArraysPreviousDisplacment() {
   AKANTU_DEBUG_IN();
 
   this->setIncrementFlagOn();
   if (not this->previous_displacement) {
     this->allocNodalField(this->previous_displacement, spatial_dimension,
                           "previous_displacement");
 
     this->getDOFManager().registerDOFsPrevious("displacement",
                                                *this->previous_displacement);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 /**
  * Allocate all the needed vectors. By  default their are not necessarily set to
  * 0
  */
 void SolidMechanicsModel::initArrays() {
   AKANTU_DEBUG_IN();
 
   for (UInt g = _not_ghost; g <= _ghost; ++g) {
     GhostType gt = (GhostType)g;
     Mesh::type_iterator it =
         mesh.firstType(spatial_dimension, gt, _ek_not_defined);
     Mesh::type_iterator end =
         mesh.lastType(spatial_dimension, gt, _ek_not_defined);
     for (; it != end; ++it) {
       UInt nb_element = mesh.getNbElement(*it, gt);
       this->material_index.alloc(nb_element, 1, *it, gt);
       this->material_local_numbering.alloc(nb_element, 1, *it, gt);
     }
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 /**
  * Initialize the model,basically it  pre-compute the shapes, shapes derivatives
  * and jacobian
  *
  */
 void SolidMechanicsModel::initModel() {
   /// \todo add  the current position  as a parameter to  initShapeFunctions for
   /// large deformation
   getFEEngine().initShapeFunctions(_not_ghost);
   getFEEngine().initShapeFunctions(_ghost);
 }
 
 /* -------------------------------------------------------------------------- */
 // void SolidMechanicsModel::initPBC() {
 //   Model::initPBC();
 //   registerPBCSynchronizer();
 
 //   // as long as there are ones on the diagonal of the matrix, we can put
 //   // boudandary true for slaves
 //   std::map<UInt, UInt>::iterator it = pbc_pair.begin();
 //   std::map<UInt, UInt>::iterator end = pbc_pair.end();
 //   UInt dim = mesh.getSpatialDimension();
 //   while (it != end) {
 //     for (UInt i = 0; i < dim; ++i)
 //       (*blocked_dofs)((*it).first, i) = true;
 //     ++it;
 //   }
 // }
 
 // /* -------------------------------------------------------------------------- */
 // void SolidMechanicsModel::registerPBCSynchronizer() {
 //   pbc_synch = new PBCSynchronizer(pbc_pair);
 //   synch_registry->registerSynchronizer(*pbc_synch, _gst_smm_uv);
 //   synch_registry->registerSynchronizer(*pbc_synch, _gst_smm_mass);
 //   synch_registry->registerSynchronizer(*pbc_synch, _gst_smm_res);
 //   synch_registry->registerSynchronizer(*pbc_synch, _gst_for_dump);
 //   //  changeLocalEquationNumberForPBC(pbc_pair, mesh.getSpatialDimension());
 // }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::assembleResidual() {
   AKANTU_DEBUG_IN();
 
   this->assembleInternalForces();
 
   this->getDOFManager().assembleToResidual("displacement",
                                            *this->external_force, 1);
   this->getDOFManager().assembleToResidual("displacement",
                                            *this->internal_force, -1);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::assembleJacobian() {
   this->assembleStiffnessMatrix();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::predictor() {}
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::corrector() {}
 
 /* -------------------------------------------------------------------------- */
 /**
  * This function computes the internal forces as F_{int} = \int_{\Omega} N
  * \sigma d\Omega@f$
  */
 void SolidMechanicsModel::assembleInternalForces() {
   AKANTU_DEBUG_IN();
 
   AKANTU_DEBUG_INFO("Assemble the internal forces");
 
   this->internal_force->clear();
 
   AKANTU_DEBUG_INFO("Compute local stresses");
 
   std::vector<Material *>::iterator mat_it;
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     Material & mat = **mat_it;
     mat.computeAllStresses(_not_ghost);
   }
 
 #ifdef AKANTU_DAMAGE_NON_LOCAL
   /* ------------------------------------------------------------------------ */
   /* Computation of the non local part */
   this->non_local_manager->computeAllNonLocalStresses();
 #endif
 
   /* ------------------------------------------------------------------------ */
   /* assembling the forces internal */
   // communicate the stress
   AKANTU_DEBUG_INFO("Send data for residual assembly");
   this->asynchronousSynchronize(_gst_smm_stress);
 
   AKANTU_DEBUG_INFO("Assemble residual for local elements");
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     Material & mat = **mat_it;
     mat.assembleInternalForces(_not_ghost);
   }
 
   AKANTU_DEBUG_INFO("Wait distant stresses");
   // finalize communications
   this->waitEndSynchronize(_gst_smm_stress);
 
   AKANTU_DEBUG_INFO("Assemble residual for ghost elements");
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     Material & mat = **mat_it;
     mat.assembleInternalForces(_ghost);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::assembleStiffnessMatrix() {
   AKANTU_DEBUG_IN();
 
   AKANTU_DEBUG_INFO("Assemble the new stiffness matrix.");
 
-  this->getDOFManager().getMatrix("K").clear();
+  // Check if materials need to recompute the matrix
+  bool need_to_reassemble = false;
 
-  // call compute stiffness matrix on each local elements
   std::vector<Material *>::iterator mat_it;
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
-    (*mat_it)->assembleStiffnessMatrix(_not_ghost);
+    need_to_reassemble |= (*mat_it)->hasStiffnessMatrixChanged();
+  }
+
+
+  if(need_to_reassemble) {
+    this->getDOFManager().getMatrix("K").clear();
+
+    // call compute stiffness matrix on each local elements
+    std::vector<Material *>::iterator mat_it;
+    for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
+      (*mat_it)->assembleStiffnessMatrix(_not_ghost);
+    }
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::updateCurrentPosition() {
   AKANTU_DEBUG_IN();
 
   this->current_position->copy(this->mesh.getNodes());
 
   Array<Real>::vector_iterator cpos_it =
       this->current_position->begin(spatial_dimension);
   Array<Real>::vector_iterator cpos_end =
       this->current_position->end(spatial_dimension);
   Array<Real>::const_vector_iterator disp_it =
       this->displacement->begin(spatial_dimension);
 
   for (; cpos_it != cpos_end; ++cpos_it, ++disp_it) {
     *cpos_it += *disp_it;
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 // void SolidMechanicsModel::initializeUpdateResidualData() {
 //   AKANTU_DEBUG_IN();
 //   UInt nb_nodes = mesh.getNbNodes();
 //   internal_force->resize(nb_nodes);
 
 //   /// copy the forces in residual for boundary conditions
 //   this->getDOFManager().assembleToResidual("displacement",
 //                                            *this->external_force);
 
 //   // start synchronization
 //   this->asynchronousSynchronize(_gst_smm_uv);
 //   this->waitEndSynchronize(_gst_smm_uv);
 
 //   this->updateCurrentPosition();
 
 //   AKANTU_DEBUG_OUT();
 // }
 
 /* -------------------------------------------------------------------------- */
 /* Explicit scheme                                                            */
 /* -------------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------------- */
 // void SolidMechanicsModel::computeStresses() {
 //   if (isExplicit()) {
 //     // start synchronization
 //     this->asynchronousSynchronize(_gst_smm_uv);
 //     this->waitEndSynchronize(_gst_smm_uv);
 
 //     // compute stresses on all local elements for each materials
 //     std::vector<Material *>::iterator mat_it;
 //     for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
 //       Material & mat = **mat_it;
 //       mat.computeAllStresses(_not_ghost);
 //     }
 
 // #ifdef AKANTU_DAMAGE_NON_LOCAL
 //     /* Computation of the non local part */
 //     this->non_local_manager->computeAllNonLocalStresses();
 // #endif
 //   } else {
 //     std::vector<Material *>::iterator mat_it;
 //     for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
 //       Material & mat = **mat_it;
 //       mat.computeAllStressesFromTangentModuli(_not_ghost);
 //     }
 //   }
 // }
 
 /* -------------------------------------------------------------------------- */
 /* Implicit scheme                                                            */
 /* -------------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------------- */
 // /**
 //  * Initialize the solver and create the sparse matrices needed.
 //  *
 //  */
 // void SolidMechanicsModel::initSolver(__attribute__((unused))
 //                                      SolverOptions & options) {
 //   UInt nb_global_nodes = mesh.getNbGlobalNodes();
 
 //   jacobian_matrix = &(this->getDOFManager().getNewMatrix("jacobian",
 //   _symmetric));
 
 //   //  jacobian_matrix->buildProfile(mesh, *dof_synchronizer,
 //   spatial_dimension);
 
 //   if (!isExplicit()) {
 //     delete stiffness_matrix;
 //     std::stringstream sstr_sti;
 //     sstr_sti << id << ":stiffness_matrix";
 
 //     stiffness_matrix = &(this->getDOFManager().getNewMatrix("stiffness",
 //     _symmetric));
 //   }
 
 //   if (solver) solver->initialize(options);
 // }
 
 // /* --------------------------------------------------------------------------
 // */
 // void SolidMechanicsModel::initJacobianMatrix() {
 //   // @todo make it more flexible: this is an ugly patch to treat the case of
 //   non
 //   // fix profile of the K matrix
 //   delete jacobian_matrix;
 
 //   jacobian_matrix = &(this->getDOFManager().getNewMatrix("jacobian",
 //   "stiffness"));
 
 //   std::stringstream sstr_solv; sstr_solv << id << ":solver";
 //   delete solver;
 //   solver = new SolverMumps(*jacobian_matrix, sstr_solv.str());
 //   if(solver)
 //     solver->initialize(_solver_no_options);
 // }
 
 /* -------------------------------------------------------------------------- */
 /**
  * Initialize the implicit solver, either for dynamic or static cases,
  *
  * @param dynamic
  */
 // void SolidMechanicsModel::initImplicit(bool dynamic) {
 //   AKANTU_DEBUG_IN();
 
 //   method = dynamic ? _implicit_dynamic : _static;
 
 //   if (!increment)
 //     setIncrementFlagOn();
 
 //   initSolver();
 
 //   // if(method == _implicit_dynamic) {
 //   //   if(integrator) delete integrator;
 //   //   integrator = new TrapezoidalRule2();
 //   // }
 
 //   AKANTU_DEBUG_OUT();
 // }
 
 /* -------------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------------- */
 // SparseMatrix & SolidMechanicsModel::initVelocityDampingMatrix() {
 //   return this->getDOFManager().getNewMatrix("velocity_damping", "jacobian");
 // }
 
 // /* --------------------------------------------------------------------------
 // */
 // void SolidMechanicsModel::implicitPred() {
 //   AKANTU_DEBUG_IN();
 
 //   if(previous_displacement) previous_displacement->copy(*displacement);
 
 //   if(method == _implicit_dynamic)
 //     integrator->integrationSchemePred(time_step,
 //                                    *displacement,
 //                                    *velocity,
 //                                    *acceleration,
 //                                    *blocked_dofs);
 
 //   AKANTU_DEBUG_OUT();
 // }
 
 // /* --------------------------------------------------------------------------
 // */
 // void SolidMechanicsModel::implicitCorr() {
 //   AKANTU_DEBUG_IN();
 
 //   if(method == _implicit_dynamic) {
 //     integrator->integrationSchemeCorrDispl(time_step,
 //                                         *displacement,
 //                                         *velocity,
 //                                         *acceleration,
 //                                         *blocked_dofs,
 //                                         *increment);
 //   } else {
 //     UInt nb_nodes = displacement->getSize();
 //     UInt nb_degree_of_freedom = displacement->getNbComponent() * nb_nodes;
 
 //     Real * incr_val = increment->storage();
 //     Real * disp_val = displacement->storage();
 //     bool * boun_val = blocked_dofs->storage();
 
 //     for (UInt j = 0; j < nb_degree_of_freedom; ++j, ++disp_val, ++incr_val,
 //     ++boun_val){
 //       *incr_val *= (1. - *boun_val);
 //       *disp_val += *incr_val;
 //     }
 //   }
 
 //   AKANTU_DEBUG_OUT();
 // }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::updateIncrement() {
   AKANTU_DEBUG_IN();
 
   Array<Real>::vector_iterator incr_it =
       this->displacement_increment->begin(spatial_dimension);
   Array<Real>::vector_iterator incr_end =
       this->displacement_increment->end(spatial_dimension);
   Array<Real>::const_vector_iterator disp_it =
       this->displacement->begin(spatial_dimension);
   Array<Real>::const_vector_iterator prev_disp_it =
       this->previous_displacement->begin(spatial_dimension);
 
   for (; incr_it != incr_end; ++incr_it) {
     *incr_it = *disp_it;
     *incr_it -= *prev_disp_it;
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::updatePreviousDisplacement() {
   AKANTU_DEBUG_IN();
 
   AKANTU_DEBUG_ASSERT(
       previous_displacement,
       "The previous displacement has to be initialized."
           << " Are you working with Finite or Ineslactic deformations?");
 
   previous_displacement->copy(*displacement);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::updateDataForNonLocalCriterion(
     ElementTypeMapReal & criterion) {
   const ID field_name = criterion.getName();
   for (UInt m = 0; m < this->getNbMaterials(); ++m) {
     const Material & material = this->getMaterial(m);
     if (material.isInternal<Real>(field_name, _ek_regular))
       for (UInt g = _not_ghost; g <= _ghost; ++g) {
         GhostType ghost_type = (GhostType)g;
         material.flattenInternal(field_name, criterion, ghost_type,
                                  _ek_regular);
       }
   }
 }
 
 
 /* -------------------------------------------------------------------------- */
 /* Information                                                                */
 /* -------------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::synchronizeBoundaries() {
   AKANTU_DEBUG_IN();
   this->synchronize(_gst_smm_boundary);
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::synchronizeResidual() {
   AKANTU_DEBUG_IN();
   this->synchronize(_gst_smm_res);
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::setIncrementFlagOn() {
   AKANTU_DEBUG_IN();
 
   if (!displacement_increment) {
     this->allocNodalField(displacement_increment, spatial_dimension,
                           "displacement_increment");
 
     this->getDOFManager().registerDOFsIncrement("displacement",
                                                 *this->displacement_increment);
   }
 
   increment_flag = true;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 Real SolidMechanicsModel::getStableTimeStep() {
   AKANTU_DEBUG_IN();
 
   Real min_dt = getStableTimeStep(_not_ghost);
 
   /// reduction min over all processors
   StaticCommunicator::getStaticCommunicator().allReduce(min_dt, _so_min);
 
   AKANTU_DEBUG_OUT();
   return min_dt;
 }
 
 /* -------------------------------------------------------------------------- */
 Real SolidMechanicsModel::getStableTimeStep(const GhostType & ghost_type) {
   AKANTU_DEBUG_IN();
 
   Material ** mat_val = &(materials.at(0));
   Real min_dt = std::numeric_limits<Real>::max();
 
   this->updateCurrentPosition();
 
   Element elem;
   elem.ghost_type = ghost_type;
   elem.kind = _ek_regular;
 
   Mesh::type_iterator it =
       mesh.firstType(spatial_dimension, ghost_type, _ek_regular);
   Mesh::type_iterator end =
       mesh.lastType(spatial_dimension, ghost_type, _ek_regular);
   for (; it != end; ++it) {
     elem.type = *it;
     UInt nb_nodes_per_element = mesh.getNbNodesPerElement(*it);
     UInt nb_element = mesh.getNbElement(*it);
 
     Array<UInt>::const_scalar_iterator mat_indexes =
         material_index(*it, ghost_type).begin();
     Array<UInt>::const_scalar_iterator mat_loc_num =
         material_local_numbering(*it, ghost_type).begin();
 
     Array<Real> X(0, nb_nodes_per_element * spatial_dimension);
     FEEngine::extractNodalToElementField(mesh, *current_position, X, *it,
                                          _not_ghost);
 
     Array<Real>::matrix_iterator X_el =
         X.begin(spatial_dimension, nb_nodes_per_element);
 
     for (UInt el = 0; el < nb_element;
          ++el, ++X_el, ++mat_indexes, ++mat_loc_num) {
       elem.element = *mat_loc_num;
       Real el_h = getFEEngine().getElementInradius(*X_el, *it);
       Real el_c = mat_val[*mat_indexes]->getCelerity(elem);
       Real el_dt = el_h / el_c;
 
       min_dt = std::min(min_dt, el_dt);
     }
   }
 
   AKANTU_DEBUG_OUT();
   return min_dt;
 }
 
 /* -------------------------------------------------------------------------- */
 Real SolidMechanicsModel::getKineticEnergy() {
   AKANTU_DEBUG_IN();
 
   Real ekin = 0.;
   UInt nb_nodes = mesh.getNbNodes();
 
   if (this->getDOFManager().hasLumpedMatrix("M")) {
     const Array<Real> & M = this->getDOFManager().getLumpedMatrix("M");
     Array<Real>::const_vector_iterator m_it = M.begin(spatial_dimension);
     Array<Real>::const_vector_iterator m_end = M.end(spatial_dimension);
     Array<Real>::const_vector_iterator v_it =
         this->velocity->begin(spatial_dimension);
 
     for (UInt n = 0; m_it != m_end; ++n, ++m_it, ++v_it) {
       Real mv2 = 0;
       bool is_local_node = mesh.isLocalOrMasterNode(n);
       bool is_not_pbc_slave_node = !isPBCSlaveNode(n);
       bool count_node = is_local_node && is_not_pbc_slave_node;
       if (count_node) {
         for (UInt i = 0; i < spatial_dimension; ++i) {
           Real v = (*v_it)(i);
           mv2 += v * v * (*m_it)(i);
         }
       }
       ekin += mv2;
     }
   } else if (this->getDOFManager().hasMatrix("M")) {
     Array<Real> Mv(nb_nodes, spatial_dimension);
     this->getDOFManager().getMatrix("M").matVecMul(*this->velocity, Mv);
 
     Array<Real>::const_vector_iterator mv_it = Mv.begin(spatial_dimension);
     Array<Real>::const_vector_iterator mv_end = Mv.end(spatial_dimension);
     Array<Real>::const_vector_iterator v_it =
         this->velocity->begin(spatial_dimension);
 
     for (; mv_it != mv_end; ++mv_it, ++v_it) {
       ekin += v_it->dot(*mv_it);
     }
   } else {
     AKANTU_DEBUG_ERROR("No function called to assemble the mass matrix.");
   }
 
   StaticCommunicator::getStaticCommunicator().allReduce(ekin, _so_sum);
 
   AKANTU_DEBUG_OUT();
   return ekin * .5;
 }
 
 /* -------------------------------------------------------------------------- */
 Real SolidMechanicsModel::getKineticEnergy(const ElementType & type,
                                            UInt index) {
   AKANTU_DEBUG_IN();
 
   UInt nb_quadrature_points = getFEEngine().getNbIntegrationPoints(type);
 
   Array<Real> vel_on_quad(nb_quadrature_points, spatial_dimension);
   Array<UInt> filter_element(1, 1, index);
 
   getFEEngine().interpolateOnIntegrationPoints(*velocity, vel_on_quad,
                                                spatial_dimension, type,
                                                _not_ghost, filter_element);
 
   Array<Real>::vector_iterator vit = vel_on_quad.begin(spatial_dimension);
   Array<Real>::vector_iterator vend = vel_on_quad.end(spatial_dimension);
 
   Vector<Real> rho_v2(nb_quadrature_points);
 
   Real rho = materials[material_index(type)(index)]->getRho();
 
   for (UInt q = 0; vit != vend; ++vit, ++q) {
     rho_v2(q) = rho * vit->dot(*vit);
   }
 
   AKANTU_DEBUG_OUT();
 
   return .5 * getFEEngine().integrate(rho_v2, type, index);
 }
 
 /* -------------------------------------------------------------------------- */
 Real SolidMechanicsModel::getExternalWork() {
   AKANTU_DEBUG_IN();
 
   Real * incr_or_velo = NULL;
   if (this->method == _static) {
     incr_or_velo = this->displacement_increment->storage();
   } else {
     incr_or_velo = this->velocity->storage();
   }
   Real * forc = external_force->storage();
   Real * resi = internal_force->storage();
   bool * boun = blocked_dofs->storage();
 
   Real work = 0.;
 
   UInt nb_nodes = this->mesh.getNbNodes();
 
   for (UInt n = 0; n < nb_nodes; ++n) {
     bool is_local_node = this->mesh.isLocalOrMasterNode(n);
     bool is_not_pbc_slave_node = !this->isPBCSlaveNode(n);
     bool count_node = is_local_node && is_not_pbc_slave_node;
 
     for (UInt i = 0; i < this->spatial_dimension; ++i) {
       if (count_node) {
         if (*boun)
           work -= *resi * *incr_or_velo;
         else
           work += *forc * *incr_or_velo;
       }
 
       ++incr_or_velo;
       ++forc;
       ++resi;
       ++boun;
     }
   }
 
   StaticCommunicator::getStaticCommunicator().allReduce(work, _so_sum);
 
   if (this->method != _static)
     work *= this->getTimeStep();
   AKANTU_DEBUG_OUT();
   return work;
 }
 
 /* -------------------------------------------------------------------------- */
 Real SolidMechanicsModel::getEnergy(const std::string & energy_id) {
   AKANTU_DEBUG_IN();
 
   if (energy_id == "kinetic") {
     return getKineticEnergy();
   } else if (energy_id == "external work") {
     return getExternalWork();
   }
 
   Real energy = 0.;
   std::vector<Material *>::iterator mat_it;
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     energy += (*mat_it)->getEnergy(energy_id);
   }
 
   /// reduction sum over all processors
   StaticCommunicator::getStaticCommunicator().allReduce(energy, _so_sum);
 
   AKANTU_DEBUG_OUT();
   return energy;
 }
 /* -------------------------------------------------------------------------- */
 Real SolidMechanicsModel::getEnergy(const std::string & energy_id,
                                     const ElementType & type, UInt index) {
   AKANTU_DEBUG_IN();
 
   if (energy_id == "kinetic") {
     return getKineticEnergy(type, index);
   }
 
   std::vector<Material *>::iterator mat_it;
   UInt mat_index = this->material_index(type, _not_ghost)(index);
   UInt mat_loc_num = this->material_local_numbering(type, _not_ghost)(index);
   Real energy =
       this->materials[mat_index]->getEnergy(energy_id, type, mat_loc_num);
 
   AKANTU_DEBUG_OUT();
   return energy;
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::onElementsAdded(const Array<Element> & element_list,
                                           const NewElementsEvent & event) {
   AKANTU_DEBUG_IN();
 
   this->getFEEngine().initShapeFunctions(_not_ghost);
   this->getFEEngine().initShapeFunctions(_ghost);
 
   for (UInt g = _not_ghost; g <= _ghost; ++g) {
     GhostType gt = (GhostType)g;
     Mesh::type_iterator it =
         this->mesh.firstType(spatial_dimension, gt, _ek_not_defined);
     Mesh::type_iterator end =
         this->mesh.lastType(spatial_dimension, gt, _ek_not_defined);
     for (; it != end; ++it) {
       UInt nb_element = this->mesh.getNbElement(*it, gt);
       if (!material_index.exists(*it, gt)) {
         this->material_index.alloc(nb_element, 1, *it, gt);
         this->material_local_numbering.alloc(nb_element, 1, *it, gt);
       } else {
         this->material_index(*it, gt).resize(nb_element);
         this->material_local_numbering(*it, gt).resize(nb_element);
       }
     }
   }
 
   Array<Element>::const_iterator<Element> it = element_list.begin();
   Array<Element>::const_iterator<Element> end = element_list.end();
 
   ElementTypeMapArray<UInt> filter("new_element_filter", this->getID(),
                                    this->getMemoryID());
 
   for (UInt el = 0; it != end; ++it, ++el) {
     const Element & elem = *it;
 
     if (!filter.exists(elem.type, elem.ghost_type))
       filter.alloc(0, 1, elem.type, elem.ghost_type);
 
     filter(elem.type, elem.ghost_type).push_back(elem.element);
   }
 
   this->assignMaterialToElements(&filter);
 
   std::vector<Material *>::iterator mat_it;
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     (*mat_it)->onElementsAdded(element_list, event);
   }
 
   //  if (method == _explicit_lumped_mass)
   //    this->assembleMassLumped();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::onElementsRemoved(
     __attribute__((unused)) const Array<Element> & element_list,
     const ElementTypeMapArray<UInt> & new_numbering,
     const RemovedElementsEvent & event) {
   this->getFEEngine().initShapeFunctions(_not_ghost);
   this->getFEEngine().initShapeFunctions(_ghost);
 
   std::vector<Material *>::iterator mat_it;
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     (*mat_it)->onElementsRemoved(element_list, new_numbering, event);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::onNodesAdded(const Array<UInt> & nodes_list,
                                        __attribute__((unused))
                                        const NewNodesEvent & event) {
   AKANTU_DEBUG_IN();
   UInt nb_nodes = mesh.getNbNodes();
 
   if (displacement)
     displacement->resize(nb_nodes, 0.);
   if (mass)
     mass->resize(nb_nodes, 0.);
   if (velocity)
     velocity->resize(nb_nodes, 0.);
   if (acceleration)
     acceleration->resize(nb_nodes, 0.);
   if (external_force)
     external_force->resize(nb_nodes, 0.);
   if (internal_force)
     internal_force->resize(nb_nodes, 0.);
   if (blocked_dofs)
     blocked_dofs->resize(nb_nodes, 0.);
 
   if (previous_displacement)
     previous_displacement->resize(nb_nodes, 0.);
   if (displacement_increment)
     displacement_increment->resize(nb_nodes, 0.);
 
   std::vector<Material *>::iterator mat_it;
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     (*mat_it)->onNodesAdded(nodes_list, event);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::onNodesRemoved(__attribute__((unused))
                                          const Array<UInt> & element_list,
                                          const Array<UInt> & new_numbering,
                                          __attribute__((unused))
                                          const RemovedNodesEvent & event) {
   if (displacement)
     mesh.removeNodesFromArray(*displacement, new_numbering);
   if (mass)
     mesh.removeNodesFromArray(*mass, new_numbering);
   if (velocity)
     mesh.removeNodesFromArray(*velocity, new_numbering);
   if (acceleration)
     mesh.removeNodesFromArray(*acceleration, new_numbering);
   if (internal_force)
     mesh.removeNodesFromArray(*internal_force, new_numbering);
   if (external_force)
     mesh.removeNodesFromArray(*external_force, new_numbering);
   if (blocked_dofs)
     mesh.removeNodesFromArray(*blocked_dofs, new_numbering);
 
   // if (increment_acceleration)
   //   mesh.removeNodesFromArray(*increment_acceleration, new_numbering);
   if (displacement_increment)
     mesh.removeNodesFromArray(*displacement_increment, new_numbering);
 
   if (previous_displacement)
     mesh.removeNodesFromArray(*previous_displacement, new_numbering);
 
   // if (method != _explicit_lumped_mass) {
   //   this->initSolver();
   // }
 }
 
 /* -------------------------------------------------------------------------- */
 bool SolidMechanicsModel::isInternal(const std::string & field_name,
                                      const ElementKind & element_kind) {
 
   bool is_internal = false;
 
   /// check if at least one material contains field_id as an internal
   for (UInt m = 0; m < materials.size() && !is_internal; ++m) {
     is_internal |= materials[m]->isInternal<Real>(field_name, element_kind);
   }
 
   return is_internal;
 }
 /* -------------------------------------------------------------------------- */
 ElementTypeMap<UInt>
 SolidMechanicsModel::getInternalDataPerElem(const std::string & field_name,
                                             const ElementKind & element_kind) {
 
   if (!(this->isInternal(field_name, element_kind)))
     AKANTU_EXCEPTION("unknown internal " << field_name);
 
   for (UInt m = 0; m < materials.size(); ++m) {
     if (materials[m]->isInternal<Real>(field_name, element_kind))
       return materials[m]->getInternalDataPerElem<Real>(field_name,
                                                         element_kind);
   }
 
   return ElementTypeMap<UInt>();
 }
 
 /* -------------------------------------------------------------------------- */
 ElementTypeMapArray<Real> &
 SolidMechanicsModel::flattenInternal(const std::string & field_name,
                                      const ElementKind & kind,
                                      const GhostType ghost_type) {
   std::pair<std::string, ElementKind> key(field_name, kind);
   if (this->registered_internals.count(key) == 0) {
     this->registered_internals[key] =
         new ElementTypeMapArray<Real>(field_name, this->id, this->memory_id);
   }
 
   ElementTypeMapArray<Real> * internal_flat = this->registered_internals[key];
 
   typedef Mesh::type_iterator iterator;
   iterator tit = this->mesh.firstType(spatial_dimension, ghost_type, kind);
   iterator end = this->mesh.lastType(spatial_dimension, ghost_type, kind);
 
   for (; tit != end; ++tit) {
     ElementType type = *tit;
     if (internal_flat->exists(type, ghost_type)) {
       (*internal_flat)(type, ghost_type).clear();
       (*internal_flat)(type, ghost_type).resize(0);
     }
   }
 
   for (UInt m = 0; m < materials.size(); ++m) {
     if (materials[m]->isInternal<Real>(field_name, kind))
       materials[m]->flattenInternal(field_name, *internal_flat, ghost_type,
                                     kind);
   }
 
   return *internal_flat;
 }
 
 /* -------------------------------------------------------------------------- */
 void SolidMechanicsModel::flattenAllRegisteredInternals(
     const ElementKind & kind) {
 
   typedef std::map<std::pair<std::string, ElementKind>,
                    ElementTypeMapArray<Real> *>::iterator iterator;
   iterator it = this->registered_internals.begin();
   iterator end = this->registered_internals.end();
 
   while (it != end) {
     if (kind == it->first.second)
       this->flattenInternal(it->first.first, kind);
     ++it;
   }
 }
 
 /* -------------------------------------------------------------------------- */
 
 void SolidMechanicsModel::onDump() {
   this->flattenAllRegisteredInternals(_ek_regular);
 }
 /* -------------------------------------------------------------------------- */
 
 #ifdef AKANTU_USE_IOHELPER
 dumper::Field * SolidMechanicsModel::createElementalField(
     const std::string & field_name, const std::string & group_name,
     bool padding_flag, const UInt & spatial_dimension,
     const ElementKind & kind) {
 
   dumper::Field * field = NULL;
 
   if (field_name == "partitions")
     field = mesh.createElementalField<UInt, dumper::ElementPartitionField>(
         mesh.getConnectivities(), group_name, spatial_dimension, kind);
   else if (field_name == "material_index")
     field = mesh.createElementalField<UInt, Vector, dumper::ElementalField>(
         material_index, group_name, spatial_dimension, kind);
   else {
     // this copy of field_name is used to compute derivated data such as
     // strain and von mises stress that are based on grad_u and stress
     std::string field_name_copy(field_name);
 
     if (field_name == "strain" || field_name == "Green strain" ||
         field_name == "principal strain" ||
         field_name == "principal Green strain")
       field_name_copy = "grad_u";
     else if (field_name == "Von Mises stress")
       field_name_copy = "stress";
 
     bool is_internal = this->isInternal(field_name_copy, kind);
 
     if (is_internal) {
       ElementTypeMap<UInt> nb_data_per_elem =
           this->getInternalDataPerElem(field_name_copy, kind);
       ElementTypeMapArray<Real> & internal_flat =
           this->flattenInternal(field_name_copy, kind);
       field = mesh.createElementalField<Real, dumper::InternalMaterialField>(
           internal_flat, group_name, spatial_dimension, kind, nb_data_per_elem);
       if (field_name == "strain") {
         dumper::ComputeStrain<false> * foo =
             new dumper::ComputeStrain<false>(*this);
         field = dumper::FieldComputeProxy::createFieldCompute(field, *foo);
       } else if (field_name == "Von Mises stress") {
         dumper::ComputeVonMisesStress * foo =
             new dumper::ComputeVonMisesStress(*this);
         field = dumper::FieldComputeProxy::createFieldCompute(field, *foo);
       } else if (field_name == "Green strain") {
         dumper::ComputeStrain<true> * foo =
             new dumper::ComputeStrain<true>(*this);
         field = dumper::FieldComputeProxy::createFieldCompute(field, *foo);
       } else if (field_name == "principal strain") {
         dumper::ComputePrincipalStrain<false> * foo =
             new dumper::ComputePrincipalStrain<false>(*this);
         field = dumper::FieldComputeProxy::createFieldCompute(field, *foo);
       } else if (field_name == "principal Green strain") {
         dumper::ComputePrincipalStrain<true> * foo =
             new dumper::ComputePrincipalStrain<true>(*this);
         field = dumper::FieldComputeProxy::createFieldCompute(field, *foo);
       }
 
       // treat the paddings
       if (padding_flag) {
         if (field_name == "stress") {
           if (spatial_dimension == 2) {
             dumper::StressPadder<2> * foo = new dumper::StressPadder<2>(*this);
             field = dumper::FieldComputeProxy::createFieldCompute(field, *foo);
           }
         } else if (field_name == "strain" || field_name == "Green strain") {
           if (spatial_dimension == 2) {
             dumper::StrainPadder<2> * foo = new dumper::StrainPadder<2>(*this);
             field = dumper::FieldComputeProxy::createFieldCompute(field, *foo);
           }
         }
       }
 
       // homogenize the field
       dumper::ComputeFunctorInterface * foo =
           dumper::HomogenizerProxy::createHomogenizer(*field);
 
       field = dumper::FieldComputeProxy::createFieldCompute(field, *foo);
     }
   }
   return field;
 }
 
 /* --------------------------------------------------------------------------
  */
 dumper::Field *
 SolidMechanicsModel::createNodalFieldReal(const std::string & field_name,
                                           const std::string & group_name,
                                           bool padding_flag) {
 
   std::map<std::string, Array<Real> *> real_nodal_fields;
   real_nodal_fields["displacement"] = this->displacement;
   real_nodal_fields["mass"] = this->mass;
   real_nodal_fields["velocity"] = this->velocity;
   real_nodal_fields["acceleration"] = this->acceleration;
   real_nodal_fields["force"] = this->external_force;
   real_nodal_fields["internal_force"] = this->internal_force;
   real_nodal_fields["increment"] = this->displacement_increment;
 
   dumper::Field * field = NULL;
   if (padding_flag)
     field = this->mesh.createNodalField(real_nodal_fields[field_name],
                                         group_name, 3);
   else
     field =
         this->mesh.createNodalField(real_nodal_fields[field_name], group_name);
 
   return field;
 }
 
 /* --------------------------------------------------------------------------
  */
 dumper::Field *
 SolidMechanicsModel::createNodalFieldBool(const std::string & field_name,
                                           const std::string & group_name,
                                           __attribute__((unused)) bool padding_flag) {
 
   std::map<std::string, Array<bool> *> uint_nodal_fields;
   uint_nodal_fields["blocked_dofs"] = blocked_dofs;
 
   dumper::Field * field = NULL;
   field = mesh.createNodalField(uint_nodal_fields[field_name], group_name);
   return field;
 }
 /* -------------------------------------------------------------------------- */
 #else
 /* --------------------------------------------------------------------------
  */
 dumper::Field * SolidMechanicsModel::createElementalField(
     __attribute__((unused)) const std::string & field_name,
     __attribute__((unused)) const std::string & group_name,
     __attribute__((unused)) bool padding_flag,
     __attribute__((unused)) const UInt & spatial_dimension,
     __attribute__((unused)) const ElementKind & kind) {
   return NULL;
 }
 /* --------------------------------------------------------------------------
  */
 dumper::Field * SolidMechanicsModel::createNodalFieldReal(
     __attribute__((unused)) const std::string & field_name,
     __attribute__((unused)) const std::string & group_name,
     __attribute__((unused)) bool padding_flag) {
   return NULL;
 }
 
 /* --------------------------------------------------------------------------
  */
 dumper::Field * SolidMechanicsModel::createNodalFieldBool(
     __attribute__((unused)) const std::string & field_name,
     __attribute__((unused)) const std::string & group_name,
     __attribute__((unused)) bool padding_flag) {
   return NULL;
 }
 
 #endif
 /* --------------------------------------------------------------------------
  */
 void SolidMechanicsModel::dump(const std::string & dumper_name) {
   this->onDump();
   EventManager::sendEvent(SolidMechanicsModelEvent::BeforeDumpEvent());
   mesh.dump(dumper_name);
 }
 
 /* --------------------------------------------------------------------------
  */
 void SolidMechanicsModel::dump(const std::string & dumper_name, UInt step) {
   this->onDump();
   EventManager::sendEvent(SolidMechanicsModelEvent::BeforeDumpEvent());
   mesh.dump(dumper_name, step);
 }
 
 /* -------------------------------------------------------------------------
  */
 void SolidMechanicsModel::dump(const std::string & dumper_name, Real time,
                                UInt step) {
   this->onDump();
   EventManager::sendEvent(SolidMechanicsModelEvent::BeforeDumpEvent());
   mesh.dump(dumper_name, time, step);
 }
 
 /* --------------------------------------------------------------------------
  */
 void SolidMechanicsModel::dump() {
   this->onDump();
   EventManager::sendEvent(SolidMechanicsModelEvent::BeforeDumpEvent());
   mesh.dump();
 }
 
 /* --------------------------------------------------------------------------
  */
 void SolidMechanicsModel::dump(UInt step) {
   this->onDump();
   EventManager::sendEvent(SolidMechanicsModelEvent::BeforeDumpEvent());
   mesh.dump(step);
 }
 
 /* --------------------------------------------------------------------------
  */
 void SolidMechanicsModel::dump(Real time, UInt step) {
   this->onDump();
   EventManager::sendEvent(SolidMechanicsModelEvent::BeforeDumpEvent());
   mesh.dump(time, step);
 }
 
 /* --------------------------------------------------------------------------
  */
 void SolidMechanicsModel::printself(std::ostream & stream, int indent) const {
   std::string space;
   for (Int i = 0; i < indent; i++, space += AKANTU_INDENT)
     ;
 
   stream << space << "Solid Mechanics Model [" << std::endl;
   stream << space << " + id                : " << id << std::endl;
   stream << space << " + spatial dimension : " << spatial_dimension
          << std::endl;
   stream << space << " + fem [" << std::endl;
   getFEEngine().printself(stream, indent + 2);
   stream << space << AKANTU_INDENT << "]" << std::endl;
   stream << space << " + nodals information [" << std::endl;
   displacement->printself(stream, indent + 2);
   mass->printself(stream, indent + 2);
   velocity->printself(stream, indent + 2);
   acceleration->printself(stream, indent + 2);
   external_force->printself(stream, indent + 2);
   internal_force->printself(stream, indent + 2);
   blocked_dofs->printself(stream, indent + 2);
   stream << space << AKANTU_INDENT << "]" << std::endl;
 
   stream << space << " + material information [" << std::endl;
   material_index.printself(stream, indent + 2);
   stream << space << AKANTU_INDENT << "]" << std::endl;
 
   stream << space << " + materials [" << std::endl;
   std::vector<Material *>::const_iterator mat_it;
   for (mat_it = materials.begin(); mat_it != materials.end(); ++mat_it) {
     const Material & mat = *(*mat_it);
     mat.printself(stream, indent + 1);
   }
   stream << space << AKANTU_INDENT << "]" << std::endl;
 
   stream << space << "]" << std::endl;
 }
 
 /* --------------------------------------------------------------------------
  */
 
 __END_AKANTU__
diff --git a/src/model/time_step_solvers/time_step_solver_default.cc b/src/model/time_step_solvers/time_step_solver_default.cc
index ec8fbe41d..1eb2d5994 100644
--- a/src/model/time_step_solvers/time_step_solver_default.cc
+++ b/src/model/time_step_solvers/time_step_solver_default.cc
@@ -1,287 +1,289 @@
 /**
  * @file   time_step_solver_default.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Wed Sep 16 10:20:55 2015
  *
  * @brief  Default implementation of the time step solver
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "time_step_solver_default.hh"
-#include "mesh.hh"
 #include "dof_manager_default.hh"
-#include "sparse_matrix_aij.hh"
-
-#include "pseudo_time.hh"
 #include "integration_scheme_1st_order.hh"
 #include "integration_scheme_2nd_order.hh"
+#include "mesh.hh"
+#include "non_linear_solver.hh"
+#include "pseudo_time.hh"
+#include "sparse_matrix_aij.hh"
 /* -------------------------------------------------------------------------- */
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 TimeStepSolverDefault::TimeStepSolverDefault(
     DOFManagerDefault & dof_manager, const TimeStepSolverType & type,
     NonLinearSolver & non_linear_solver, const ID & id, UInt memory_id)
     : TimeStepSolver(dof_manager, type, non_linear_solver, id, memory_id),
       dof_manager(dof_manager), is_mass_lumped(false) {
   switch (type) {
   case _tsst_dynamic:
     break;
   case _tsst_dynamic_lumped:
     this->is_mass_lumped = true;
     break;
   case _tsst_static:
     /// initialize a static time solver for allback dofs
     break;
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void TimeStepSolverDefault::setIntegrationScheme(
     const ID & dof_id, const IntegrationSchemeType & type,
     IntegrationScheme::SolutionType solution_type) {
   if (this->integration_schemes.find(dof_id) !=
       this->integration_schemes.end()) {
     AKANTU_EXCEPTION("Their DOFs "
                      << dof_id
                      << "  have already an integration scheme associated");
   }
 
   IntegrationScheme * integration_scheme = NULL;
   if (this->is_mass_lumped) {
     switch (type) {
     case _ist_forward_euler: {
       integration_scheme = new ForwardEuler(dof_manager, dof_id);
       break;
     }
     case _ist_central_difference: {
       integration_scheme = new CentralDifference(dof_manager, dof_id);
       break;
     }
     default:
       AKANTU_EXCEPTION(
           "This integration scheme cannot be used in lumped dynamic");
     }
   } else {
     switch (type) {
     case _ist_pseudo_time: {
       integration_scheme = new PseudoTime(dof_manager, dof_id);
       break;
     }
     case _ist_forward_euler: {
       integration_scheme = new ForwardEuler(dof_manager, dof_id);
       break;
     }
     case _ist_trapezoidal_rule_1: {
       integration_scheme = new TrapezoidalRule1(dof_manager, dof_id);
       break;
     }
     case _ist_backward_euler: {
       integration_scheme = new BackwardEuler(dof_manager, dof_id);
       break;
     }
     case _ist_central_difference: {
       integration_scheme = new CentralDifference(dof_manager, dof_id);
       break;
     }
     case _ist_fox_goodwin: {
       integration_scheme = new FoxGoodwin(dof_manager, dof_id);
       break;
     }
     case _ist_trapezoidal_rule_2: {
       integration_scheme = new TrapezoidalRule2(dof_manager, dof_id);
       break;
     }
     case _ist_linear_acceleration: {
       integration_scheme = new LinearAceleration(dof_manager, dof_id);
       break;
     }
     case _ist_generalized_trapezoidal: {
       integration_scheme = new GeneralizedTrapezoidal(dof_manager, dof_id);
       break;
     }
     case _ist_newmark_beta:
       integration_scheme = new NewmarkBeta(dof_manager, dof_id);
       break;
     }
   }
 
+  AKANTU_DEBUG_ASSERT(integration_scheme != nullptr,
+                      "No integration scheme was found for the provided types");
   this->integration_schemes[dof_id] = integration_scheme;
   this->solution_types[dof_id] = solution_type;
 
   this->integration_schemes_owner.insert(dof_id);
 }
 
 /* -------------------------------------------------------------------------- */
 bool TimeStepSolverDefault::hasIntegrationScheme(const ID & dof_id) const {
   return this->integration_schemes.find(dof_id) !=
          this->integration_schemes.end();
 }
 /* -------------------------------------------------------------------------- */
 TimeStepSolverDefault::~TimeStepSolverDefault() {
   DOFsIntegrationSchemesOwner::iterator it =
       this->integration_schemes_owner.begin();
   DOFsIntegrationSchemesOwner::iterator end =
       this->integration_schemes_owner.end();
 
   for (; it != end; ++it) {
     delete this->integration_schemes[*it];
   }
   this->integration_schemes.clear();
 }
 
 /* -------------------------------------------------------------------------- */
 void TimeStepSolverDefault::solveStep(SolverCallback & solver_callback) {
   this->solver_callback = &solver_callback;
 
   this->non_linear_solver.solve(*this);
 
   this->solver_callback = NULL;
 }
 
 /* -------------------------------------------------------------------------- */
 void TimeStepSolverDefault::predictor() {
   AKANTU_DEBUG_IN();
 
   TimeStepSolver::predictor();
 
   DOFsIntegrationSchemes::iterator integration_scheme_it =
       this->integration_schemes.begin();
   DOFsIntegrationSchemes::iterator integration_scheme_end =
       this->integration_schemes.end();
 
   for (; integration_scheme_it != integration_scheme_end;
        ++integration_scheme_it) {
     ID dof_id = integration_scheme_it->first;
     Array<Real> * previous = NULL;
 
     UInt dof_array_comp = this->dof_manager.getDOFs(dof_id).getNbComponent();
 
     if (this->dof_manager.hasPreviousDOFs(dof_id)) {
       this->dof_manager.savePreviousDOFs(dof_id);
     } else {
       if (this->dof_manager.hasDOFsIncrement(dof_id)) {
         previous = new Array<Real>(this->dof_manager.getDOFs(dof_id));
       }
     }
 
     /// integrator predictor
     integration_scheme_it->second->predictor(this->time_step);
 
     /// computing the increment of dof if needed
     if (this->dof_manager.hasDOFsIncrement(dof_id)) {
       Array<Real> & increment = this->dof_manager.getDOFsIncrement(dof_id);
       Array<Real>::vector_iterator incr_it = increment.begin(dof_array_comp);
       Array<Real>::vector_iterator incr_end = increment.end(dof_array_comp);
       Array<Real>::const_vector_iterator dof_it =
           this->dof_manager.getDOFs(dof_id).begin(dof_array_comp);
       Array<Real>::const_vector_iterator prev_dof_it;
 
       if (this->dof_manager.hasPreviousDOFs(dof_id)) {
         prev_dof_it =
             this->dof_manager.getPreviousDOFs(dof_id).begin(dof_array_comp);
       } else {
         prev_dof_it = previous->begin(dof_array_comp);
       }
 
       for (; incr_it != incr_end; ++incr_it) {
         *incr_it = *dof_it;
         *incr_it -= *prev_dof_it;
       }
 
       delete previous;
     }
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void TimeStepSolverDefault::corrector() {
   AKANTU_DEBUG_IN();
 
   TimeStepSolver::corrector();
 
   DOFsIntegrationSchemes::iterator integration_scheme_it =
       this->integration_schemes.begin();
   DOFsIntegrationSchemes::iterator integration_scheme_end =
       this->integration_schemes.end();
 
   for (; integration_scheme_it != integration_scheme_end;
        ++integration_scheme_it) {
     IntegrationScheme::SolutionType solution_type =
         this->solution_types[integration_scheme_it->first];
 
     integration_scheme_it->second->corrector(solution_type, this->time_step);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void TimeStepSolverDefault::assembleJacobian() {
   AKANTU_DEBUG_IN();
 
   TimeStepSolver::assembleJacobian();
 
   DOFsIntegrationSchemes::iterator integration_scheme_it =
       this->integration_schemes.begin();
   DOFsIntegrationSchemes::iterator integration_scheme_end =
       this->integration_schemes.end();
 
   for (; integration_scheme_it != integration_scheme_end;
        ++integration_scheme_it) {
     IntegrationScheme::SolutionType solution_type =
         this->solution_types[integration_scheme_it->first];
 
     integration_scheme_it->second->assembleJacobian(solution_type,
                                                     this->time_step);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void TimeStepSolverDefault::assembleResidual() {
   AKANTU_DEBUG_IN();
 
   TimeStepSolver::assembleResidual();
 
   DOFsIntegrationSchemes::iterator integration_scheme_it =
       this->integration_schemes.begin();
   DOFsIntegrationSchemes::iterator integration_scheme_end =
       this->integration_schemes.end();
 
   for (; integration_scheme_it != integration_scheme_end;
        ++integration_scheme_it) {
     integration_scheme_it->second->assembleResidual(this->is_mass_lumped);
   }
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 
 __END_AKANTU__
diff --git a/src/solver/solver_mumps.cc b/src/solver/solver_mumps.cc
index be406ad07..af26878e9 100644
--- a/src/solver/solver_mumps.cc
+++ b/src/solver/solver_mumps.cc
@@ -1,406 +1,406 @@
 /**
  * @file   sparse_solver_mumps.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Mon Dec 13 2010
  * @date last modification: Tue Jan 19 2016
  *
  * @brief  implem of SparseSolverMumps class
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  * @section DESCRIPTION
  *
  * @subsection Ctrl_param Control parameters
  *
  * ICNTL(1),
  * ICNTL(2),
  * ICNTL(3) : output streams for error, diagnostics, and global messages
  *
  * ICNTL(4) : verbose level : 0 no message - 4 all messages
  *
  * ICNTL(5) : type of matrix, 0 assembled, 1 elementary
  *
  * ICNTL(6) : control  the permutation and scaling(default 7)  see mumps doc for
  * more information
  *
  * ICNTL(7) : determine  the pivot  order (default  7) see  mumps doc  for more
  * information
  *
  * ICNTL(8) : describe the scaling method used
  *
  * ICNTL(9) : 1 solve A x = b, 0 solve At x = b
  *
  * ICNTL(10) : number of iterative refinement when NRHS = 1
  *
  * ICNTL(11) : > 0 return statistics
  *
  * ICNTL(12) : only used for SYM = 2, ordering strategy
  *
  * ICNTL(13) :
  *
  * ICNTL(14) : percentage of increase of the estimated working space
  *
  * ICNTL(15-17) : not used
  *
  * ICNTL(18) : only  used if ICNTL(5) = 0, 0 matrix  centralized, 1 structure on
  * host and mumps  give the mapping, 2 structure on  host and distributed matrix
  * for facto, 3 distributed matrix
  *
  * ICNTL(19) : > 0, Shur complement returned
  *
  * ICNTL(20) : 0 rhs dense, 1 rhs sparse
  *
  * ICNTL(21) : 0 solution in rhs, 1 solution distributed in ISOL_loc and SOL_loc
  * allocated by user
  *
  * ICNTL(22) : 0 in-core, 1 out-of-core
  *
  * ICNTL(23) : maximum memory allocatable by mumps pre proc
  *
  * ICNTL(24) : controls the detection of "null pivot rows"
  *
  * ICNTL(25) :
  *
  * ICNTL(26) :
  *
  * ICNTL(27) :
  *
  * ICNTL(28) : 0 automatic choice, 1 sequential analysis, 2 parallel analysis
  *
  * ICNTL(29) : 0 automatic choice, 1 PT-Scotch, 2 ParMetis
  */
 
 /* -------------------------------------------------------------------------- */
 #include "aka_common.hh"
 #include "dof_manager_default.hh"
 #include "sparse_matrix_aij.hh"
 
 #if defined(AKANTU_USE_MPI)
 #include "static_communicator_mpi.hh"
 #include "mpi_type_wrapper.hh"
 #endif
 
 #include "solver_mumps.hh"
 #include "dof_synchronizer.hh"
 
 /* -------------------------------------------------------------------------- */
 // static std::ostream & operator <<(std::ostream & stream, const DMUMPS_STRUC_C
 // & _this) {
 //   stream << "DMUMPS Data [" << std::endl;
 //   stream << " + job          : " << _this.job          << std::endl;
 //   stream << " + par          : " << _this.par          << std::endl;
 //   stream << " + sym          : " << _this.sym          << std::endl;
 //   stream << " + comm_fortran : " << _this.comm_fortran << std::endl;
 //   stream << " + nz           : " << _this.nz           << std::endl;
 //   stream << " + irn          : " << _this.irn          << std::endl;
 //   stream << " + jcn          : " << _this.jcn          << std::endl;
 //   stream << " + nz_loc       : " << _this.nz_loc       << std::endl;
 //   stream << " + irn_loc      : " << _this.irn_loc      << std::endl;
 //   stream << " + jcn_loc      : " << _this.jcn_loc      << std::endl;
 //   stream << "]";
 //   return stream;
 // }
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 SparseSolverMumps::SparseSolverMumps(DOFManagerDefault & dof_manager,
                                      const ID & matrix_id, const ID & id,
                                      const MemoryID & memory_id)
     : SparseSolver(dof_manager, matrix_id, id, memory_id),
       dof_manager(dof_manager), matrix(dof_manager.getMatrix(matrix_id)),
       rhs(dof_manager.getResidual()), solution(dof_manager.getGlobalSolution()),
       master_rhs_solution(0, 1) {
   AKANTU_DEBUG_IN();
 
   StaticCommunicator & communicator =
-      StaticCommunicator::getStaticCommunicator();
+    StaticCommunicator::getStaticCommunicator();
   this->prank = communicator.whoAmI();
 
 #ifdef AKANTU_USE_MPI
   this->parallel_method = _fully_distributed;
 #else  // AKANTU_USE_MPI
   this->parallel_method = _not_parallel;
 #endif // AKANTU_USE_MPI
 
   this->mumps_data.par = 1; // The host is part of computations
 
   switch (this->parallel_method) {
   case _not_parallel:
     break;
   case _master_slave_distributed:
     this->mumps_data.par = 0; // The host is not part of the computations
   case _fully_distributed:
 #ifdef AKANTU_USE_MPI
     const StaticCommunicatorMPI & mpi_st_comm =
         dynamic_cast<const StaticCommunicatorMPI &>(
             communicator.getRealStaticCommunicator());
 
     this->mumps_data.comm_fortran =
         MPI_Comm_c2f(mpi_st_comm.getMPITypeWrapper().getMPICommunicator());
 #else
     AKANTU_DEBUG_ERROR(
         "You cannot use parallel method to solve without activating MPI");
 #endif
     break;
   }
 
   this->mumps_data.sym = 2 * (this->matrix.getMatrixType() == _symmetric);
   this->prank = communicator.whoAmI();
 
   this->mumps_data.job = _smj_initialize; // initialize
   dmumps_c(&this->mumps_data);
 
   /* ------------------------------------------------------------------------ */
   this->setOutputLevel();
 
   if (AKANTU_DEBUG_TEST(dblDump)) {
     strcpy(this->mumps_data.write_problem, "mumps_matrix.mtx");
   }
 
   this->last_profile_release = this->matrix.getProfileRelease() - 1;
   this->last_value_release = this->matrix.getValueRelease() - 1;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 SparseSolverMumps::~SparseSolverMumps() {
   AKANTU_DEBUG_IN();
 
   this->mumps_data.job = _smj_destroy; // destroy
   dmumps_c(&this->mumps_data);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseSolverMumps::setOutputLevel() {
   // Output setup
   icntl(1) = 0; // error output
   icntl(2) = 0; // dignostics output
   icntl(3) = 0; // informations
   icntl(4) = 0;
 
 #if !defined(AKANTU_NDEBUG)
   DebugLevel dbg_lvl = debug::debugger.getDebugLevel();
 
   icntl(1) = (dbg_lvl >= dblWarning) ? 6 : 0;
   icntl(3) = (dbg_lvl >= dblInfo) ? 6 : 0;
   icntl(2) = (dbg_lvl >= dblTrace) ? 6 : 0;
 
   if (dbg_lvl >= dblDump) {
     icntl(4) = 4;
   } else if (dbg_lvl >= dblTrace) {
     icntl(4) = 3;
   } else if (dbg_lvl >= dblInfo) {
     icntl(4) = 2;
   } else if (dbg_lvl >= dblWarning) {
     icntl(4) = 1;
   }
 #endif
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseSolverMumps::initMumpsData() {
   // Default Scaling
   icntl(8) = 77;
 
   // Assembled matrix
   icntl(5) = 0;
 
   /// Default centralized dense second member
   icntl(20) = 0;
   icntl(21) = 0;
 
   // automatic choice for analysis
   icntl(28) = 0;
 
   UInt size = this->matrix.getSize();
 
   if (prank == 0) {
     this->master_rhs_solution.resize(size);
   }
 
   this->mumps_data.nz_alloc = 0;
   this->mumps_data.n = size;
 
   switch (this->parallel_method) {
   case _fully_distributed:
     icntl(18) = 3; // fully distributed
 
     this->mumps_data.nz_loc = matrix.getNbNonZero();
     this->mumps_data.irn_loc = matrix.getIRN().storage();
     this->mumps_data.jcn_loc = matrix.getJCN().storage();
 
     break;
   case _not_parallel:
   case _master_slave_distributed:
     icntl(18) = 0; // centralized
 
     if (prank == 0) {
       this->mumps_data.nz = matrix.getNbNonZero();
       this->mumps_data.irn = matrix.getIRN().storage();
       this->mumps_data.jcn = matrix.getJCN().storage();
     } else {
       this->mumps_data.nz = 0;
       this->mumps_data.irn = NULL;
       this->mumps_data.jcn = NULL;
     }
     break;
   default:
     AKANTU_DEBUG_ERROR("This case should not happen!!");
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseSolverMumps::initialize() {
   AKANTU_DEBUG_IN();
 
   this->analysis();
   //  icntl(14) = 80;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseSolverMumps::analysis() {
   AKANTU_DEBUG_IN();
 
   initMumpsData();
 
   this->mumps_data.job = _smj_analyze; // analyze
   dmumps_c(&this->mumps_data);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseSolverMumps::factorize() {
   AKANTU_DEBUG_IN();
 
   this->mumps_data.rhs = this->rhs.storage();
   if (parallel_method == _fully_distributed)
     this->mumps_data.a_loc = this->matrix.getA().storage();
   else {
     if (prank == 0)
       this->mumps_data.a = this->matrix.getA().storage();
   }
 
   this->mumps_data.job = _smj_factorize; // factorize
   dmumps_c(&this->mumps_data);
 
   this->printError();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseSolverMumps::solve() {
   AKANTU_DEBUG_IN();
 
   this->setOutputLevel();
 
   this->dof_manager.applyBoundary();
 
   this->master_rhs_solution.copy(this->dof_manager.getResidual());
   // if (prank == 0) {
   //   matrix.getDOFSynchronizer().gather(this->rhs, 0, this->master_rhs_solution);
   // } else {
   //   this->matrix.getDOFSynchronizer().gather(this->rhs, 0);
   // }
 
   if (this->last_profile_release != this->matrix.getProfileRelease()) {
     this->analysis();
     this->last_profile_release = this->matrix.getProfileRelease();
   }
 
   if (this->last_value_release != this->matrix.getValueRelease()) {
     this->factorize();
     this->last_value_release = this->matrix.getValueRelease();
   }
 
   if (prank == 0) {
     this->mumps_data.rhs = this->master_rhs_solution.storage();
   }
 
   this->mumps_data.job = _smj_solve; // solve
   dmumps_c(&this->mumps_data);
 
   this->printError();
 
   this->dof_manager.getGlobalSolution().copy(this->master_rhs_solution);
   // if (prank == 0) {
   //   matrix.getDOFSynchronizer().scatter(this->solution, 0, this->master_rhs_solution);
   // } else {
   //   this->matrix.getDOFSynchronizer().gather(this->solution, 0);
   // }
 
   this->dof_manager.splitSolutionPerDOFs();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseSolverMumps::printError() {
   Vector<Int> _info_v(2);
   _info_v[0] = info(1);  // to get errors
   _info_v[1] = -info(1); // to get warnings
   StaticCommunicator::getStaticCommunicator().allReduce(_info_v, _so_min);
   _info_v[1] = -_info_v[1];
 
   if (_info_v[0] < 0) { // < 0 is an error
     switch (_info_v[0]) {
     case -10:
       AKANTU_DEBUG_ERROR("The matrix is singular");
       break;
     case -9: {
       icntl(14) += 10;
       if (icntl(14) != 90) {
         // std::cout << "Dynamic memory increase of 10%" << std::endl;
         AKANTU_DEBUG_WARNING("MUMPS dynamic memory is insufficient it will be "
                              "increased allowed to use 10% more");
 
         // change releases to force a recompute
         this->last_value_release--;
         this->last_profile_release--;
 
         this->solve();
       } else {
         AKANTU_DEBUG_ERROR("The MUMPS workarray is too small INFO(2)="
                            << info(2) << "No further increase possible");
         break;
       }
     }
     default:
       AKANTU_DEBUG_ERROR("Error in mumps during solve process, check mumps "
                          "user guide INFO(1) = "
                          << _info_v[1]);
     }
   } else if (_info_v[1] > 0) {
     AKANTU_DEBUG_WARNING("Warning in mumps during solve process, check mumps "
                          "user guide INFO(1) = "
                          << _info_v[1]);
   }
 }
 
 __END_AKANTU__
diff --git a/src/solver/sparse_matrix.hh b/src/solver/sparse_matrix.hh
index 5be2fa910..5391595ef 100644
--- a/src/solver/sparse_matrix.hh
+++ b/src/solver/sparse_matrix.hh
@@ -1,160 +1,162 @@
+
 /**
  * @file   sparse_matrix.hh
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Mon Dec 13 2010
  * @date last modification: Fri Oct 16 2015
  *
  * @brief  sparse matrix storage class (distributed assembled matrix)
  * This is a COO format (Coordinate List)
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "aka_common.hh"
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_SPARSE_MATRIX_HH__
 #define __AKANTU_SPARSE_MATRIX_HH__
 
 /* -------------------------------------------------------------------------- */
 namespace akantu {
-  class DOFManager;
+class DOFManager;
+class TermsToAssemble;
 }
 
-__BEGIN_AKANTU__
+namespace akantu {
 
 class SparseMatrix {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 public:
   SparseMatrix(DOFManager & dof_manager, const MatrixType & matrix_type,
                const ID & id = "sparse_matrix");
 
   SparseMatrix(const SparseMatrix & matrix, const ID & id = "sparse_matrix");
 
   virtual ~SparseMatrix();
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
   /// remove the existing profile
   virtual void clearProfile();
 
   /// set the matrix to 0
   virtual void clear() = 0;
 
   /// add a non-zero element to the profile
   virtual inline UInt addToProfile(UInt i, UInt j) = 0;
 
   /// assemble a local matrix in the sparse one
   virtual void addToMatrix(UInt i, UInt j, Real value) = 0;
 
   /// save the profil in a file using the MatrixMarket file format
   virtual void saveProfile(__attribute__((unused)) const std::string &) const {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   /// save the matrix in a file using the MatrixMarket file format
   virtual void saveMatrix(__attribute__((unused)) const std::string &) const {
     AKANTU_DEBUG_TO_IMPLEMENT();
   };
 
   /// multiply the matrix by a coefficient
   virtual void mul(Real alpha) = 0;
 
   /// add matrices
   virtual void add(const SparseMatrix & matrix, Real alpha = 1.);
 
   /// Equivalent of *gemv in blas
   virtual void matVecMul(const Array<Real> & x, Array<Real> & y,
                          Real alpha = 1., Real beta = 0.) const = 0;
 
   /// modify the matrix to "remove" the blocked dof
   virtual void applyBoundary(Real block_val = 1.) = 0;
 
   /// operator *=
   SparseMatrix & operator*=(Real alpha) { this->mul(alpha); return *this; }
 
 protected:
   /// This is the revert of add B += \alpha * *this;
   virtual void addMeTo(SparseMatrix & B, Real alpha) const = 0;
 
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   /// return the values at potition i, j
   virtual inline Real operator()(__attribute__((unused)) UInt i,
                                  __attribute__((unused)) UInt j) const {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
   /// return the values at potition i, j
   virtual inline Real & operator()(__attribute__((unused)) UInt i,
                                    __attribute__((unused)) UInt j) {
     AKANTU_DEBUG_TO_IMPLEMENT();
   }
 
   AKANTU_GET_MACRO(NbNonZero, nb_non_zero, UInt);
 
   AKANTU_GET_MACRO(Size, size, UInt);
 
   AKANTU_GET_MACRO(MatrixType, matrix_type, const MatrixType &);
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 protected:
   ID id;
 
   /// Underlying dof manager
   DOFManager & _dof_manager;
 
   /// sparce matrix type
   MatrixType matrix_type;
 
   /// Size of the matrix
   UInt size;
 
   /// number of processors
   UInt nb_proc;
 
   /// number of non zero element
   UInt nb_non_zero;
 
   /// matrix definition release
   UInt matrix_release;
 };
 
 Array<Real> & operator*=(Array<Real> & vect, const SparseMatrix & mat);
 
-__END_AKANTU__
+} // akantu
 
 /* -------------------------------------------------------------------------- */
 /* inline functions                                                           */
 /* -------------------------------------------------------------------------- */
 #include "sparse_matrix_inline_impl.cc"
 
 #endif /* __AKANTU_SPARSE_MATRIX_HH__ */
diff --git a/src/solver/sparse_matrix_aij.cc b/src/solver/sparse_matrix_aij.cc
index dc9ae8f5b..c8e0e4e95 100644
--- a/src/solver/sparse_matrix_aij.cc
+++ b/src/solver/sparse_matrix_aij.cc
@@ -1,226 +1,227 @@
 /**
  * @file   sparse_matrix_aij.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Tue Aug 18 16:31:23 2015
  *
  * @brief  Implementation of the AIJ sparse matrix
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "sparse_matrix_aij.hh"
 #include "dof_manager_default.hh"
+#include "terms_to_assemble.hh"
 /* -------------------------------------------------------------------------- */
 #include <fstream>
 /* -------------------------------------------------------------------------- */
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 SparseMatrixAIJ::SparseMatrixAIJ(DOFManagerDefault & dof_manager,
                                  const MatrixType & matrix_type, const ID & id)
     : SparseMatrix(dof_manager, matrix_type, id), dof_manager(dof_manager),
       irn(0, 1, id + ":irn"), jcn(0, 1, id + ":jcn"), a(0, 1, id + ":a"),
       profile_release(0), value_release(0) {}
 
 /* -------------------------------------------------------------------------- */
 SparseMatrixAIJ::SparseMatrixAIJ(const SparseMatrixAIJ & matrix, const ID & id)
     : SparseMatrix(matrix, id), dof_manager(matrix.dof_manager),
       irn(matrix.irn, true, id + ":irn"), jcn(matrix.jcn, true, id + ":jcn"),
       a(matrix.a, true, id + ":a"), profile_release(0), value_release(0) {}
 
 /* -------------------------------------------------------------------------- */
 SparseMatrixAIJ::~SparseMatrixAIJ() {}
 
 /* -------------------------------------------------------------------------- */
 void SparseMatrixAIJ::applyBoundary(Real block_val) {
   AKANTU_DEBUG_IN();
 
   const Array<bool> & blocked_dofs = this->dof_manager.getGlobalBlockedDOFs();
 
   Array<Int>::const_scalar_iterator irn_val = irn.begin();
   Array<Int>::const_scalar_iterator jcn_val = jcn.begin();
   Array<Real>::scalar_iterator a_val = a.begin();
 
   for (UInt i = 0; i < nb_non_zero; ++i) {
     UInt ni = this->dof_manager.globalToLocalEquationNumber(*irn_val - 1);
     UInt nj = this->dof_manager.globalToLocalEquationNumber(*jcn_val - 1);
     if (blocked_dofs(ni) || blocked_dofs(nj)) {
       if (*irn_val != *jcn_val) {
         *a_val = 0;
       } else {
         if (this->dof_manager.isLocalOrMasterDOF(ni)) {
           *a_val = block_val;
         } else {
           *a_val = 0;
         }
       }
     }
     ++irn_val;
     ++jcn_val;
     ++a_val;
   }
 
   this->value_release++;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseMatrixAIJ::saveProfile(const std::string & filename) const {
   AKANTU_DEBUG_IN();
 
   std::ofstream outfile;
   outfile.open(filename.c_str());
 
   outfile << "%%MatrixMarket matrix coordinate pattern";
 
   if (this->matrix_type == _symmetric)
     outfile << " symmetric";
   else
     outfile << " general";
   outfile << std::endl;
 
   UInt m = this->size;
   outfile << m << " " << m << " " << this->nb_non_zero << std::endl;
 
   for (UInt i = 0; i < this->nb_non_zero; ++i) {
     outfile << this->irn.storage()[i] << " " << this->jcn.storage()[i] << " 1"
             << std::endl;
   }
 
   outfile.close();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseMatrixAIJ::saveMatrix(const std::string & filename) const {
   AKANTU_DEBUG_IN();
 
   std::ofstream outfile;
   outfile.precision(std::numeric_limits<Real>::digits10);
 
   outfile.open(filename.c_str());
 
   outfile << "%%MatrixMarket matrix coordinate real";
 
   if (this->matrix_type == _symmetric)
     outfile << " symmetric";
   else
     outfile << " general";
   outfile << std::endl;
 
   outfile << this->size << " " << this->size << " " << this->nb_non_zero
           << std::endl;
 
   for (UInt i = 0; i < this->nb_non_zero; ++i) {
     outfile << this->irn(i) << " " << this->jcn(i) << " " << this->a(i)
             << std::endl;
   }
 
   outfile.close();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseMatrixAIJ::matVecMul(const Array<Real> & x, Array<Real> & y,
                                 Real alpha, Real beta) const {
   AKANTU_DEBUG_IN();
 
   y *= beta;
 
   Array<Int>::const_scalar_iterator i_it = this->irn.storage();
   Array<Int>::const_scalar_iterator j_it = this->jcn.storage();
   Array<Real>::const_scalar_iterator a_it = this->a.storage();
   Array<Real>::const_scalar_iterator x_it = x.storage();
   Array<Real>::scalar_iterator y_it = y.storage();
 
   for (UInt k = 0; k < this->nb_non_zero; ++k, ++i_it, ++j_it, ++a_it) {
     Int i = *i_it - 1;
     Int j = *j_it - 1;
     const Real & A = *a_it;
 
     y_it[i] += alpha * A * x_it[j];
 
     if ((this->matrix_type == _symmetric) && (i != j))
       y_it[j] += alpha * A * x_it[i];
   }
 
   //  if (dof_synchronizer)
   //  dof_synchronizer->reduceSynchronize<AddOperation>(vect);
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseMatrixAIJ::copyContent(const SparseMatrix & matrix) {
   AKANTU_DEBUG_IN();
   const SparseMatrixAIJ & mat = dynamic_cast<const SparseMatrixAIJ &>(matrix);
   AKANTU_DEBUG_ASSERT(nb_non_zero == mat.getNbNonZero(),
                       "The to matrix don't have the same profiles");
   memcpy(a.storage(), mat.getA().storage(), nb_non_zero * sizeof(Real));
 
   this->value_release++;
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template<class MatrixType>
 void SparseMatrixAIJ::addMeToTemplated(MatrixType & B, Real alpha) const {
   Array<Int>::const_scalar_iterator i_it = this->irn.begin();
   Array<Int>::const_scalar_iterator j_it = this->jcn.begin();
   Array<Real>::const_scalar_iterator a_it = this->a.begin();
   for (UInt n = 0; n < this->nb_non_zero; ++n, ++a_it, ++i_it, ++j_it) {
     const Int & i = *i_it;
     const Int & j = *j_it;
     const Real & A_ij = *a_it;
     B.addToMatrix(i - 1, j - 1, alpha * A_ij);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseMatrixAIJ::addMeTo(SparseMatrix & B, Real alpha) const {
   if(SparseMatrixAIJ * B_aij = dynamic_cast<SparseMatrixAIJ *>(&B)) {
     this->addMeToTemplated<SparseMatrixAIJ>(*B_aij, alpha);
   } else {
     //    this->addMeToTemplated<SparseMatrix>(*this, alpha);
   }
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseMatrixAIJ::mul(Real alpha) {
   this->a *= alpha;
   this->value_release++;
 }
 
 /* -------------------------------------------------------------------------- */
 void SparseMatrixAIJ::clear() {
   a.set(0.);
 
   this->value_release++;
 }
 
 __END_AKANTU__
diff --git a/src/solver/sparse_matrix_aij.hh b/src/solver/sparse_matrix_aij.hh
index 79c07d4bf..dcf3f1b0e 100644
--- a/src/solver/sparse_matrix_aij.hh
+++ b/src/solver/sparse_matrix_aij.hh
@@ -1,178 +1,179 @@
 /**
  * @file   sparse_matrix_aij.hh
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Mon Aug 17 21:22:57 2015
  *
  * @brief AIJ implementation of the SparseMatrix (this the format used by Mumps)
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
-#include "aka_common.hh"
 #include "aka_array.hh"
+#include "aka_common.hh"
 #include "sparse_matrix.hh"
 /* -------------------------------------------------------------------------- */
 
 #ifndef __AKANTU_SPARSE_MATRIX_AIJ_HH__
 #define __AKANTU_SPARSE_MATRIX_AIJ_HH__
 
 namespace akantu {
-  class DOFManagerDefault;
+class DOFManagerDefault;
+class TermsToAssemble;
 }
 
 __BEGIN_AKANTU__
 
 class SparseMatrixAIJ : public SparseMatrix {
   /* ------------------------------------------------------------------------ */
   /* Constructors/Destructors                                                 */
   /* ------------------------------------------------------------------------ */
 public:
   SparseMatrixAIJ(DOFManagerDefault & dof_manager,
                   const MatrixType & matrix_type,
                   const ID & id = "sparse_matrix_aij");
 
   SparseMatrixAIJ(const SparseMatrixAIJ & matrix,
                   const ID & id = "sparse_matrix_aij");
 
   virtual ~SparseMatrixAIJ();
 
   /* ------------------------------------------------------------------------ */
   /* Methods                                                                  */
   /* ------------------------------------------------------------------------ */
 public:
   /// remove the existing profile
   inline void clearProfile();
 
   /// add a non-zero element
   virtual UInt addToProfile(UInt i, UInt j);
 
   /// set the matrix to 0
   virtual void clear();
 
   /// assemble a local matrix in the sparse one
   inline void addToMatrix(UInt i, UInt j, Real value);
 
   /// set the size of the matrix
   void resize(UInt size) { this->size = size; }
 
   /// modify the matrix to "remove" the blocked dof
   virtual void applyBoundary(Real block_val = 1.);
 
   /// save the profil in a file using the MatrixMarket file format
   virtual void saveProfile(const std::string & filename) const;
 
   /// save the matrix in a file using the MatrixMarket file format
   virtual void saveMatrix(const std::string & filename) const;
 
   /// copy assuming the profile are the same
   virtual void copyContent(const SparseMatrix & matrix);
 
   /// multiply the matrix by a scalar
   void mul(Real alpha);
 
   /// add matrix *this += B
-  //virtual void add(const SparseMatrix & matrix, Real alpha);
+  // virtual void add(const SparseMatrix & matrix, Real alpha);
 
   /// Equivalent of *gemv in blas
   virtual void matVecMul(const Array<Real> & x, Array<Real> & y,
                          Real alpha = 1., Real beta = 0.) const;
 
   /* ------------------------------------------------------------------------ */
   /// accessor to A_{ij} - if (i, j) not present it returns 0
   inline Real operator()(UInt i, UInt j) const;
 
   /// accessor to A_{ij} - if (i, j) not present it fails, (i, j) should be
   /// first added to the profile
   inline Real & operator()(UInt i, UInt j);
 
 protected:
   /// This is the revert of add B += \alpha * *this;
   virtual void addMeTo(SparseMatrix & B, Real alpha) const;
 
 private:
   /// This is just to inline the addToMatrix function
-  template<class MatrixType>
+  template <class MatrixType>
   void addMeToTemplated(MatrixType & B, Real alpha) const;
 
   /* ------------------------------------------------------------------------ */
   /* Accessors                                                                */
   /* ------------------------------------------------------------------------ */
 public:
   AKANTU_GET_MACRO(IRN, irn, const Array<Int> &);
 
   AKANTU_GET_MACRO(JCN, jcn, const Array<Int> &);
 
   AKANTU_GET_MACRO(A, a, const Array<Real> &);
 
   /// The release changes at each call of a function that changes the profile,
   /// it in increasing but could overflow so it should be checked as
   /// (my_release != release) and not as (my_release < release)
   AKANTU_GET_MACRO(ProfileRelease, profile_release, UInt);
   AKANTU_GET_MACRO(ValueRelease, value_release, UInt);
 
 protected:
   typedef std::pair<UInt, UInt> KeyCOO;
   typedef unordered_map<KeyCOO, UInt>::type coordinate_list_map;
 
   /// get the pair corresponding to (i, j)
   inline KeyCOO key(UInt i, UInt j) const {
     if (this->matrix_type == _symmetric && (i > j))
       return std::make_pair(j, i);
     return std::make_pair(i, j);
   }
 
   /* ------------------------------------------------------------------------ */
   /* Class Members                                                            */
   /* ------------------------------------------------------------------------ */
 private:
   DOFManagerDefault & dof_manager;
 
   /// row indexes
   Array<Int> irn;
 
   /// column indexes
   Array<Int> jcn;
 
   /// values : A[k] = Matrix[irn[k]][jcn[k]]
   Array<Real> a;
 
   /// Profile release
   UInt profile_release;
 
   /// Value release
   UInt value_release;
 
   /*
    * map for (i, j) ->  k correspondence
    */
   coordinate_list_map irn_jcn_k;
 };
 
 __END_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 /* inline functions                                                           */
 /* -------------------------------------------------------------------------- */
 #include "sparse_matrix_aij_inline_impl.cc"
 
 #endif /* __AKANTU_SPARSE_MATRIX_AIJ_HH__ */
diff --git a/src/solver/terms_to_assemble.hh b/src/solver/terms_to_assemble.hh
new file mode 100644
index 000000000..2c6662781
--- /dev/null
+++ b/src/solver/terms_to_assemble.hh
@@ -0,0 +1,90 @@
+/**
+ * @file   terms_to_assemble.hh
+ *
+ * @author Nicolas Richart
+ *
+ * @date creation  Tue Dec 20 2016
+ *
+ * @brief List of terms to assemble to a matrix
+ *
+ * @section LICENSE
+ *
+ * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
+ * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
+ *
+ * Akantu is free  software: you can redistribute it and/or  modify it under the
+ * terms  of the  GNU Lesser  General Public  License as  published by  the Free
+ * Software Foundation, either version 3 of the License, or (at your option) any
+ * later version.
+ *
+ * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
+ * details.
+ *
+ * You should  have received  a copy  of the GNU  Lesser General  Public License
+ * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/* -------------------------------------------------------------------------- */
+#include "aka_common.hh"
+/* -------------------------------------------------------------------------- */
+#include <vector>
+/* -------------------------------------------------------------------------- */
+
+#ifndef __AKANTU_TERMS_TO_ASSEMBLE_HH__
+#define __AKANTU_TERMS_TO_ASSEMBLE_HH__
+
+namespace akantu {
+
+class TermsToAssemble {
+  /* ------------------------------------------------------------------------ */
+  /* Constructors/Destructors                                                 */
+  /* ------------------------------------------------------------------------ */
+public:
+  TermsToAssemble() {}
+  virtual ~TermsToAssemble() {}
+
+  class TermToAssemble {
+  public:
+    TermToAssemble(UInt i, UInt j) : _i(i), _j(j) {}
+    inline void operator+=(Real val) { this->val = val; }
+    inline operator Real() const  { return val; }
+    inline UInt i() const { return _i; }
+    inline UInt j() const { return _j; }
+  private:
+    UInt _i, _j;
+    Real val;
+  };
+
+  /* ------------------------------------------------------------------------ */
+  /* Methods                                                                  */
+  /* ------------------------------------------------------------------------ */
+public:
+  inline TermToAssemble & operator()(UInt i, UInt j) {
+    terms.emplace_back(i, j);
+    return terms.back();
+  }
+
+  /* ------------------------------------------------------------------------ */
+  /* Accessors                                                                */
+  /* ------------------------------------------------------------------------ */
+private:
+  typedef std::vector<TermToAssemble> TermsContainer;
+public:
+  typedef TermsContainer::const_iterator const_terms_iterator;
+
+  const_terms_iterator begin() const { return terms.begin(); }
+  const_terms_iterator end() const { return terms.end(); }
+
+  /* ------------------------------------------------------------------------ */
+  /* Class Members                                                            */
+  /* ------------------------------------------------------------------------ */
+private:
+  TermsContainer terms;
+};
+
+} // akantu
+
+#endif /* __AKANTU_TERMS_TO_ASSEMBLE_HH__ */
diff --git a/src/synchronizer/grid_synchronizer.cc b/src/synchronizer/grid_synchronizer.cc
index 965d1bef5..f06230e23 100644
--- a/src/synchronizer/grid_synchronizer.cc
+++ b/src/synchronizer/grid_synchronizer.cc
@@ -1,601 +1,602 @@
 /**
  * @file   grid_synchronizer.cc
  *
  * @author Aurelia Isabel Cuba Ramos <aurelia.cubaramos@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Mon Oct 03 2011
  * @date last modification: Fri Jan 22 2016
  *
  * @brief  implementation of the grid synchronizer
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "grid_synchronizer.hh"
 #include "aka_grid_dynamic.hh"
 #include "mesh.hh"
 #include "fe_engine.hh"
+#include "integration_point.hh"
 #include "static_communicator.hh"
 #include "mesh_io.hh"
 #include <iostream>
 
 /* -------------------------------------------------------------------------- */
 
 __BEGIN_AKANTU__
 
 /* -------------------------------------------------------------------------- */
 GridSynchronizer::GridSynchronizer(Mesh & mesh, const ID & id,
                                    MemoryID memory_id,
                                    const bool register_to_event_manager)
     : ElementSynchronizer(mesh, id, memory_id, register_to_event_manager) {
   AKANTU_DEBUG_IN();
 
   AKANTU_DEBUG_OUT();
 }
 
 /* -------------------------------------------------------------------------- */
 template <class E>
 GridSynchronizer * GridSynchronizer::createGridSynchronizer(
     Mesh & mesh, const SpatialGrid<E> & grid, SynchronizerID id,
     SynchronizerRegistry * synchronizer_registry,
     const std::set<SynchronizationTag> & tags_to_register, MemoryID memory_id,
     const bool register_to_event_manager) {
   AKANTU_DEBUG_IN();
 
   StaticCommunicator & comm = StaticCommunicator::getStaticCommunicator();
   UInt nb_proc = comm.getNbProc();
   UInt my_rank = comm.whoAmI();
 
   GridSynchronizer & communicator =
       *(new GridSynchronizer(mesh, id, memory_id, register_to_event_manager));
   if (nb_proc == 1)
     return &communicator;
 
   UInt spatial_dimension = mesh.getSpatialDimension();
 
   Vector<Real> bounding_boxes(2 * spatial_dimension * nb_proc);
   Vector<Real> my_bounding_box(bounding_boxes.storage() +
                                    2 * spatial_dimension * my_rank,
                                2 * spatial_dimension);
 
   // mesh.getLocalLowerBounds(my_bounding_box);
   // mesh.getLocalUpperBounds(my_bounding_box + spatial_dimension);
 
   const Vector<Real> & lower = grid.getLowerBounds();
   const Vector<Real> & upper = grid.getUpperBounds();
   const Vector<Real> & spacing = grid.getSpacing();
 
   for (UInt i = 0; i < spatial_dimension; ++i) {
     my_bounding_box[i] = lower(i) - spacing(i);
     my_bounding_box[spatial_dimension + i] = upper(i) + spacing(i);
   }
 
   AKANTU_DEBUG_INFO(
       "Exchange of bounding box to detect the overlapping regions.");
 
   comm.allGather(bounding_boxes);
 
   bool * intersects_proc = new bool[nb_proc];
   std::fill_n(intersects_proc, nb_proc, true);
 
   Int * first_cells = new Int[3 * nb_proc];
   Int * last_cells = new Int[3 * nb_proc];
   std::fill_n(first_cells, 3 * nb_proc, 0);
   std::fill_n(first_cells, 3 * nb_proc, 0);
 
   ElementTypeMapArray<UInt> ** element_per_proc =
       new ElementTypeMapArray<UInt> * [nb_proc];
   for (UInt p = 0; p < nb_proc; ++p)
     element_per_proc[p] = NULL;
 
   // check the overlapping between my box and the one from other processors
   for (UInt p = 0; p < nb_proc; ++p) {
     if (p == my_rank)
       continue;
 
     Real * proc_bounding_box = bounding_boxes.storage() + 2 * spatial_dimension * p;
 
     bool intersects = false;
     Int * first_cell_p = first_cells + p * spatial_dimension;
     Int * last_cell_p = last_cells + p * spatial_dimension;
     for (UInt s = 0; s < spatial_dimension; ++s) {
 
       // check overlapping of grid
       intersects = Math::intersects(
           my_bounding_box[s], my_bounding_box[spatial_dimension + s],
           proc_bounding_box[s], proc_bounding_box[spatial_dimension + s]);
 
       intersects_proc[p] &= intersects;
 
       if (intersects) {
         AKANTU_DEBUG_INFO("I intersects with processor "
                           << p << " in direction " << s);
 
         // is point 1 of proc p in the dimension s in the range ?
         bool point1 =
             Math::is_in_range(proc_bounding_box[s], my_bounding_box[s],
                               my_bounding_box[s + spatial_dimension]);
 
         // is point 2 of proc p in the dimension s in the range ?
         bool point2 = Math::is_in_range(
             proc_bounding_box[s + spatial_dimension], my_bounding_box[s],
             my_bounding_box[s + spatial_dimension]);
 
         Real start = 0.;
         Real end = 0.;
 
         if (point1 && !point2) {
           /* |-----------|         my_bounding_box(i)
            *       |-----------|   proc_bounding_box(i)
            *       1           2
            */
           start = proc_bounding_box[s];
           end = my_bounding_box[s + spatial_dimension];
 
           AKANTU_DEBUG_INFO("Intersection scheme 1 in direction "
                             << s << " with processor " << p << " [" << start
                             << ", " << end << "]");
         } else if (point1 && point2) {
           /* |-----------------|   my_bounding_box(i)
            *   |-----------|       proc_bounding_box(i)
            *   1           2
            */
           start = proc_bounding_box[s];
           end = proc_bounding_box[s + spatial_dimension];
 
           AKANTU_DEBUG_INFO("Intersection scheme 2 in direction "
                             << s << " with processor " << p << " [" << start
                             << ", " << end << "]");
         } else if (!point1 && point2) {
           /*       |-----------|   my_bounding_box(i)
            * |-----------|         proc_bounding_box(i)
            * 1           2
            */
           start = my_bounding_box[s];
           end = proc_bounding_box[s + spatial_dimension];
 
           AKANTU_DEBUG_INFO("Intersection scheme 3 in direction "
                             << s << " with processor " << p << " [" << start
                             << ", " << end << "]");
         } else {
           /*   |-----------|       my_bounding_box(i)
            * |-----------------|   proc_bounding_box(i)
            * 1                 2
            */
           start = my_bounding_box[s];
           end = my_bounding_box[s + spatial_dimension];
 
           AKANTU_DEBUG_INFO("Intersection scheme 4 in direction "
                             << s << " with processor " << p << " [" << start
                             << ", " << end << "]");
         }
 
         first_cell_p[s] = grid.getCellID(start, s);
         last_cell_p[s] = grid.getCellID(end, s);
       }
     }
 
     // create the list of cells in the overlapping
     typedef typename SpatialGrid<E>::CellID CellID;
 
     std::vector<CellID> * cell_ids = new std::vector<CellID>;
 
     if (intersects_proc[p]) {
       AKANTU_DEBUG_INFO("I intersects with processor " << p);
 
       CellID cell_id(spatial_dimension);
 
       // for (UInt i = 0; i < spatial_dimension; ++i) {
       //   if(first_cell_p[i] != 0) --first_cell_p[i];
       //   if(last_cell_p[i] != 0) ++last_cell_p[i];
       // }
 
       for (Int fd = first_cell_p[0]; fd <= last_cell_p[0]; ++fd) {
         cell_id.setID(0, fd);
         if (spatial_dimension == 1) {
           cell_ids->push_back(cell_id);
         } else {
           for (Int sd = first_cell_p[1]; sd <= last_cell_p[1]; ++sd) {
             cell_id.setID(1, sd);
             if (spatial_dimension == 2) {
               cell_ids->push_back(cell_id);
             } else {
               for (Int ld = first_cell_p[2]; ld <= last_cell_p[2]; ++ld) {
                 cell_id.setID(2, ld);
                 cell_ids->push_back(cell_id);
               }
             }
           }
         }
       }
 
       // get the list of elements in the cells of the overlapping
       typename std::vector<CellID>::iterator cur_cell_id = cell_ids->begin();
       typename std::vector<CellID>::iterator last_cell_id = cell_ids->end();
       std::set<Element> * to_send = new std::set<Element>();
 
       for (; cur_cell_id != last_cell_id; ++cur_cell_id) {
         typename SpatialGrid<E>::Cell::const_iterator cur_elem =
             grid.beginCell(*cur_cell_id);
         typename SpatialGrid<E>::Cell::const_iterator last_elem =
             grid.endCell(*cur_cell_id);
 
         for (; cur_elem != last_elem; ++cur_elem) {
           to_send->insert(*cur_elem);
         }
       }
 
       AKANTU_DEBUG_INFO("I have prepared " << to_send->size()
                                            << " elements to send to processor "
                                            << p);
       auto & scheme = communicator.getCommunications().createSendScheme(p);
       std::stringstream sstr; sstr << "element_per_proc_" << p;
       element_per_proc[p] = new ElementTypeMapArray<UInt>(sstr.str(), id, memory_id);
       ElementTypeMapArray<UInt> & elempproc = *(element_per_proc[p]);
 
       typename std::set<Element>::iterator elem = to_send->begin();
       typename std::set<Element>::iterator last_elem = to_send->end();
       for (; elem != last_elem; ++elem) {
         ElementType type = elem->type;
         UInt nb_nodes_per_element = mesh.getNbNodesPerElement(type);
 
         // /!\ this part must be slow due to the access in the
         // ElementTypeMapArray<UInt>
         if (!elempproc.exists(type, _not_ghost))
           elempproc.alloc(0, nb_nodes_per_element, type, _not_ghost);
 
         Vector<UInt> global_connect(nb_nodes_per_element);
         UInt * local_connect = mesh.getConnectivity(type).storage() +
                                elem->element * nb_nodes_per_element;
         for (UInt i = 0; i < nb_nodes_per_element; ++i) {
           global_connect(i) = mesh.getNodeGlobalId(local_connect[i]);
           AKANTU_DEBUG_ASSERT(
               global_connect(i) < mesh.getNbGlobalNodes(),
               "This global node send in the connectivity does not seem correct "
                   << global_connect(i) << " corresponding to "
                   << local_connect[i] << " from element " << elem->element);
         }
 
         elempproc(type).push_back(global_connect);
         scheme.push_back(*elem);
       }
 
       delete to_send;
     }
 
     delete cell_ids;
   }
 
   delete[] first_cells;
   delete[] last_cells;
 
   AKANTU_DEBUG_INFO("I have finished to compute intersection,"
                     << " no it's time to communicate with my neighbors");
 
   /**
    * Sending loop, sends the connectivity asynchronously to all concerned proc
    */
   std::vector<CommunicationRequest> isend_requests;
   UInt * space = new UInt[2*nb_proc*_max_element_type];
   UInt offset = 0;
   for (UInt p = 0; p < nb_proc; ++p) {
     if (p == my_rank)
       continue;
     if (intersects_proc[p]) {
       ElementTypeMapArray<UInt> & elempproc = *(element_per_proc[p]);
 
       ElementTypeMapArray<UInt>::type_iterator it_type =
           elempproc.firstType(_all_dimensions, _not_ghost);
       ElementTypeMapArray<UInt>::type_iterator last_type =
           elempproc.lastType(_all_dimensions, _not_ghost);
 
       UInt count = 0;
       for (; it_type != last_type; ++it_type) {
         Array<UInt> & conn = elempproc(*it_type, _not_ghost);
         Vector<UInt> info(space + offset, 2);
        offset += 2;
         info[0] = (UInt)*it_type;
         info[1] = conn.getSize() * conn.getNbComponent();
 
         AKANTU_DEBUG_INFO("I have " << conn.getSize() << " elements of type "
                                     << *it_type << " to send to processor " << p
                                     << " (communication tag : "
                                     << Tag::genTag(my_rank, count, DATA_TAG)
                                     << ")");
 
         isend_requests.push_back(
             comm.asyncSend(info, p, Tag::genTag(my_rank, count, SIZE_TAG)));
         if (info[1] != 0)
           isend_requests.push_back(
               comm.asyncSend<UInt>(conn, p,
                                    Tag::genTag(my_rank, count, DATA_TAG)));
 
         ++count;
       }
 
       Vector<UInt> info(space + offset, 2);
       offset += 2;
       info[0] = (UInt)_not_defined;
       info[1] = 0;
       isend_requests.push_back(
           comm.asyncSend(info, p, Tag::genTag(my_rank, count, SIZE_TAG)));
     }
   }
 
   /**
    * Receives the connectivity and store them in the ghosts elements
    */
   Array<UInt> & global_nodes_ids =
       const_cast<Array<UInt> &>(mesh.getGlobalNodesIds());
   Array<NodeType> & nodes_type =
       const_cast<Array<NodeType> &>(const_cast<const Mesh &>(mesh).getNodesType());
   std::vector<CommunicationRequest> isend_nodes_requests;
   Vector<UInt> nb_nodes_to_recv(nb_proc);
   UInt nb_total_nodes_to_recv = 0;
   UInt nb_current_nodes = global_nodes_ids.getSize();
 
   NewNodesEvent new_nodes;
   NewElementsEvent new_elements;
 
   Array<UInt> * ask_nodes_per_proc = new Array<UInt>[nb_proc];
 
   for (UInt p = 0; p < nb_proc; ++p) {
     nb_nodes_to_recv(p) = 0;
     if (p == my_rank)
       continue;
 
     auto & scheme = communicator.getCommunications().createRecvScheme(p);
     Array<UInt> & ask_nodes = ask_nodes_per_proc[p];
     UInt count = 0;
     if (intersects_proc[p]) {
       ElementType type = _not_defined;
       do {
         Vector<UInt> info(2);
         comm.receive(info, p, Tag::genTag(p, count, SIZE_TAG));
 
         type = (ElementType)info[0];
         if (type != _not_defined) {
           UInt nb_nodes_per_element = mesh.getNbNodesPerElement(type);
           ;
           UInt nb_element = info[1] / nb_nodes_per_element;
 
           Array<UInt> tmp_conn(nb_element, nb_nodes_per_element);
           tmp_conn.clear();
           if (info[1] != 0)
             comm.receive<UInt>(tmp_conn, p,
                                Tag::genTag(p, count, DATA_TAG));
 
           AKANTU_DEBUG_INFO("I will receive "
                             << nb_element << " elements of type "
                             << ElementType(info[0]) << " from processor " << p
                             << " (communication tag : "
                             << Tag::genTag(p, count, DATA_TAG) << ")");
 
           Array<UInt> & ghost_connectivity =
               const_cast<Array<UInt> &>(mesh.getConnectivity(type, _ghost));
 
           UInt nb_ghost_element = ghost_connectivity.getSize();
           Element element(type, 0, _ghost);
 
           Vector<UInt> conn(nb_nodes_per_element);
           for (UInt el = 0; el < nb_element; ++el) {
             UInt nb_node_to_ask_for_elem = 0;
 
             for (UInt n = 0; n < nb_nodes_per_element; ++n) {
               UInt gn = tmp_conn(el, n);
               UInt ln = global_nodes_ids.find(gn);
 
               AKANTU_DEBUG_ASSERT(gn < mesh.getNbGlobalNodes(),
                                   "This global node seems not correct "
                                       << gn << " from element " << el
                                       << " node " << n);
 
               if (ln == UInt(-1)) {
                 global_nodes_ids.push_back(gn);
                 nodes_type.push_back(_nt_pure_gost); // pure ghost node
                 ln = nb_current_nodes;
 
                 new_nodes.getList().push_back(ln);
                 ++nb_current_nodes;
                 ask_nodes.push_back(gn);
                 ++nb_node_to_ask_for_elem;
               }
 
               conn[n] = ln;
             }
 
             // all the nodes are already known locally, the element should
             // already exists
             UInt c = UInt(-1);
             if (nb_node_to_ask_for_elem == 0) {
               c = ghost_connectivity.find(conn);
               element.element = c;
             }
 
             if (c == UInt(-1)) {
               element.element = nb_ghost_element;
               ++nb_ghost_element;
               ghost_connectivity.push_back(conn);
               new_elements.getList().push_back(element);
             }
 
             scheme.push_back(element);
           }
         }
         count++;
       } while (type != _not_defined);
 
       AKANTU_DEBUG_INFO("I have "
                         << ask_nodes.getSize()
                         << " missing nodes for elements coming from processor "
                         << p << " (communication tag : "
                         << Tag::genTag(my_rank, 0, ASK_NODES_TAG) << ")");
 
       ask_nodes.push_back(UInt(-1));
 
       isend_nodes_requests.push_back(
           comm.asyncSend(ask_nodes, p,
                          Tag::genTag(my_rank, 0, ASK_NODES_TAG)));
       nb_nodes_to_recv(p) = ask_nodes.getSize() - 1;
       nb_total_nodes_to_recv += nb_nodes_to_recv(p);
     }
   }
 
   comm.waitAll(isend_requests);
   comm.freeCommunicationRequest(isend_requests);
   delete [] space;
 
   for (UInt p = 0; p < nb_proc; ++p) {
     if (element_per_proc[p])
       delete element_per_proc[p];
   }
   delete[] element_per_proc;
 
   /**
    * Sends requested nodes to proc
    */
   Array<Real> & nodes = const_cast<Array<Real> &>(mesh.getNodes());
   UInt nb_nodes = nodes.getSize();
 
   std::vector<CommunicationRequest> isend_coordinates_requests;
   Array<Real> * nodes_to_send_per_proc = new Array<Real>[nb_proc];
   for (UInt p = 0; p < nb_proc; ++p) {
     if (p == my_rank || !intersects_proc[p])
       continue;
 
     Array<UInt> asked_nodes;
     CommunicationStatus status;
     AKANTU_DEBUG_INFO("Waiting list of nodes to send to processor "
                       << p << "(communication tag : "
                       << Tag::genTag(p, 0, ASK_NODES_TAG) << ")");
 
     comm.probe<UInt>(p, Tag::genTag(p, 0, ASK_NODES_TAG), status);
     UInt nb_nodes_to_send = status.getSize();
     asked_nodes.resize(nb_nodes_to_send);
 
     AKANTU_DEBUG_INFO("I have " << nb_nodes_to_send - 1
                                 << " nodes to send to processor " << p
                                 << " (communication tag : "
                                 << Tag::genTag(p, 0, ASK_NODES_TAG) << ")");
 
     AKANTU_DEBUG_INFO("Getting list of nodes to send to processor "
                       << p << " (communication tag : "
                       << Tag::genTag(p, 0, ASK_NODES_TAG) << ")");
 
     comm.receive(asked_nodes, p,
                  Tag::genTag(p, 0, ASK_NODES_TAG));
 
     nb_nodes_to_send--;
     asked_nodes.resize(nb_nodes_to_send);
 
     Array<Real> & nodes_to_send = nodes_to_send_per_proc[p];
     nodes_to_send.extendComponentsInterlaced(spatial_dimension, 1);
     for (UInt n = 0; n < nb_nodes_to_send; ++n) {
       UInt ln = global_nodes_ids.find(asked_nodes(n));
       AKANTU_DEBUG_ASSERT(ln != UInt(-1), "The node ["
                                               << asked_nodes(n)
                                               << "] requested by proc " << p
                                               << " was not found locally!");
       nodes_to_send.push_back(nodes.storage() + ln * spatial_dimension);
     }
 
     if (nb_nodes_to_send != 0) {
       AKANTU_DEBUG_INFO("Sending the "
                         << nb_nodes_to_send << " nodes to processor " << p
                         << " (communication tag : "
                         << Tag::genTag(p, 0, SEND_NODES_TAG) << ")");
 
       isend_coordinates_requests.push_back(comm.asyncSend(
           nodes_to_send, p,
           Tag::genTag(my_rank, 0, SEND_NODES_TAG)));
     }
 #if not defined(AKANTU_NDEBUG)
     else {
       AKANTU_DEBUG_INFO("No nodes to send to processor " << p);
     }
 #endif
   }
 
   comm.waitAll(isend_nodes_requests);
   comm.freeCommunicationRequest(isend_nodes_requests);
   delete[] ask_nodes_per_proc;
 
   nodes.resize(nb_total_nodes_to_recv + nb_nodes);
   for (UInt p = 0; p < nb_proc; ++p) {
     if ((p != my_rank) && (nb_nodes_to_recv(p) > 0)) {
       AKANTU_DEBUG_INFO("Receiving the "
                         << nb_nodes_to_recv(p) << " nodes from processor " << p
                         << " (communication tag : "
                         << Tag::genTag(p, 0, SEND_NODES_TAG) << ")");
 
       Vector<Real> nodes_to_recv(nodes.storage() + nb_nodes * spatial_dimension,
         nb_nodes_to_recv(p) * spatial_dimension);
       comm.receive(nodes_to_recv, p,
                    Tag::genTag(p, 0, SEND_NODES_TAG));
       nb_nodes += nb_nodes_to_recv(p);
     }
 #if not defined(AKANTU_NDEBUG)
     else {
       if (p != my_rank) {
         AKANTU_DEBUG_INFO("No nodes to receive from processor " << p);
       }
     }
 #endif
   }
 
   comm.waitAll(isend_coordinates_requests);
   comm.freeCommunicationRequest(isend_coordinates_requests);
   delete[] nodes_to_send_per_proc;
 
   // Register the tags if any
   if (synchronizer_registry) {
     std::set<SynchronizationTag>::const_iterator it = tags_to_register.begin();
     std::set<SynchronizationTag>::const_iterator end = tags_to_register.end();
     for (; it != end; ++it) {
       synchronizer_registry->registerSynchronizer(communicator, *it);
     }
   }
 
   mesh.sendEvent(new_nodes);
   mesh.sendEvent(new_elements);
 
   delete[] intersects_proc;
 
   AKANTU_DEBUG_OUT();
   return &communicator;
 }
 
 /* -------------------------------------------------------------------------- */
 template GridSynchronizer *
 GridSynchronizer::createGridSynchronizer<IntegrationPoint>(
     Mesh & mesh, const SpatialGrid<IntegrationPoint> & grid, SynchronizerID id,
     SynchronizerRegistry * synchronizer_registry,
     const std::set<SynchronizationTag> & tags_to_register, MemoryID memory_id,
     const bool register_to_event_manager);
 template GridSynchronizer * GridSynchronizer::createGridSynchronizer<Element>(
     Mesh & mesh, const SpatialGrid<Element> & grid, SynchronizerID id,
     SynchronizerRegistry * synchronizer_registry,
     const std::set<SynchronizationTag> & tags_to_register, MemoryID memory_id,
     const bool register_to_event_manager);
 
 __END_AKANTU__
diff --git a/test/test_model/test_model_solver/test_dof_manager_default.cc b/test/test_model/test_model_solver/test_dof_manager_default.cc
index 9006e9688..b9b678c7e 100644
--- a/test/test_model/test_model_solver/test_dof_manager_default.cc
+++ b/test/test_model/test_model_solver/test_dof_manager_default.cc
@@ -1,123 +1,125 @@
 /**
  * @file   test_dof_manager_default.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Wed Feb 24 12:28:44 2016
  *
  * @brief  Test default dof manager
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "dof_manager_default.hh"
+#include "solver_callback.hh"
+#include "time_step_solver.hh"
 #include "sparse_matrix_aij.hh"
 
 using namespace akantu;
 
 /**
  *   =\o-----o-----o-> F
  *     |           |
  *     |---- L ----|
  */
 class MySolverCallback : public SolverCallback {
 public:
   MySolverCallback(Real F, DOFManagerDefault & dof_manager, UInt nb_dofs = 3)
       : dof_manager(dof_manager),
         K(dynamic_cast<SparseMatrixAIJ &>(
             dof_manager.getNewMatrix("K", _symmetric))),
         dispacement(nb_dofs, 1, "disp"), blocked(nb_dofs, 1),
         forces(nb_dofs, 1), nb_dofs(nb_dofs) {
     dof_manager.registerDOFs("disp", dispacement, _dst_generic);
     dof_manager.registerBlockedDOFs("disp", blocked);
 
     dispacement.set(0.);
     forces.set(0.);
     blocked.set(false);
 
     forces(nb_dofs - 1, _x) = F;
     blocked(0, _x) = true;
 
     for (UInt i = 0; i < nb_dofs; ++i)
       K.addToProfile(i, i);
     for (UInt i = 0; i < nb_dofs - 1; ++i)
       K.addToProfile(i, i + 1);
   }
 
   void assembleJacobian() {
     for (UInt i = 1; i < nb_dofs - 1; ++i)
       K(i, i) = 2;
     for (UInt i = 0; i < nb_dofs - 1; ++i)
       K(i, i + 1) = -1;
 
     K(0, 0) = K(nb_dofs - 1, nb_dofs - 1) = 1;
 
     // K *= 1 / L_{el}
     K *= nb_dofs - 1;
   }
 
   void assembleResidual() { dof_manager.assembleToResidual("disp", forces); }
 
   void predictor() {}
   void corrector() {}
 
   DOFManagerDefault & dof_manager;
   SparseMatrixAIJ & K;
   Array<Real> dispacement;
   Array<bool> blocked;
   Array<Real> forces;
 
   UInt nb_dofs;
 };
 
 int main(int argc, char * argv[]) {
   initialize(argc, argv);
 
   DOFManagerDefault dof_manager("test_dof_manager");
   MySolverCallback callback(10., dof_manager, 11);
 
   dof_manager.getNewMatrix("J", "K");
 
   NonLinearSolver & nls =
       dof_manager.getNewNonLinearSolver("my_nls", _nls_linear);
   TimeStepSolver & tss =
       dof_manager.getNewTimeStepSolver("my_tss", _tsst_static, nls);
   tss.setIntegrationScheme("disp", _ist_pseudo_time);
   tss.solveStep(callback);
 
   dof_manager.getMatrix("K").saveMatrix("K_dof_manager_default.mtx");
 
   Array<Real>::const_scalar_iterator disp_it = callback.dispacement.begin();
   Array<Real>::const_scalar_iterator force_it = callback.forces.begin();
   Array<bool>::const_scalar_iterator blocked_it = callback.blocked.begin();
   std::cout << std::setw(8) << "disp"
             << " " << std::setw(8) << "force"
             << " " << std::setw(8) << "blocked" << std::endl;
 
   for (; disp_it != callback.dispacement.end();
        ++disp_it, ++force_it, ++blocked_it) {
     std::cout << std::setw(8) << *disp_it << " " << std::setw(8) << *force_it
               << " " << std::setw(8) << std::boolalpha << *blocked_it << std::endl;
   }
 
   finalize();
   return EXIT_SUCCESS;
 }
diff --git a/test/test_model/test_model_solver/test_model_solver_dynamic.cc b/test/test_model/test_model_solver/test_model_solver_dynamic.cc
index c22986b0a..4587a5292 100644
--- a/test/test_model/test_model_solver/test_model_solver_dynamic.cc
+++ b/test/test_model/test_model_solver/test_model_solver_dynamic.cc
@@ -1,451 +1,453 @@
 /**
  * @file   test_dof_manager_default.cc
  *
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date   Wed Feb 24 12:28:44 2016
  *
  * @brief  Test default dof manager
  *
  * @section LICENSE
  *
  * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "dof_manager.hh"
 #include "mesh.hh"
 #include "mesh_accessor.hh"
 #include "model_solver.hh"
 #include "sparse_matrix.hh"
 /* -------------------------------------------------------------------------- */
 #include <fstream>
 /* -------------------------------------------------------------------------- */
 
 #ifndef EXPLICIT
 #define EXPLICIT true
 #endif
 
 using namespace akantu;
 
 class MyModel;
 static void genMesh(Mesh & mesh, UInt nb_nodes);
 
 /**
  *   =\o-----o-----o-> F
  *     |           |
  *     |---- L ----|
  */
 class MyModel : public ModelSolver {
 public:
   MyModel(Real F, Mesh & mesh, bool lumped)
       : ModelSolver(mesh, "model_solver", 0),
         displacement(mesh.getNbNodes(), 1, "disp"),
         velocity(mesh.getNbNodes(), 1, "velo"),
         acceleration(mesh.getNbNodes(), 1, "accel"),
         blocked(mesh.getNbNodes(), 1, "blocked"),
         forces(mesh.getNbNodes(), 1, "force_ext"),
         internal_forces(mesh.getNbNodes(), 1, "force_int"), mesh(mesh),
         nb_dofs(mesh.getNbNodes()), E(1.), A(1.), rho(1.), lumped(lumped) {
 
     this->initDOFManager();
 
     this->getDOFManager().registerDOFs("disp", displacement, _dst_nodal);
     this->getDOFManager().registerDOFsDerivative("disp", 1, velocity);
     this->getDOFManager().registerDOFsDerivative("disp", 2, acceleration);
 
     this->getDOFManager().registerBlockedDOFs("disp", blocked);
 
     this->getDOFManager().getNewMatrix("K", _symmetric);
     this->getDOFManager().getNewMatrix("M", "K");
     this->getDOFManager().getNewMatrix("J", "K");
 
     this->getDOFManager().getNewLumpedMatrix("M");
 
     if (lumped) {
       this->assembleLumpedMass();
     } else {
       this->assembleMass();
       this->assembleStiffness();
     }
     this->assembleJacobian();
 
     displacement.set(0.);
     velocity.set(0.);
     acceleration.set(0.);
 
     forces.set(0.);
     blocked.set(false);
 
     forces(nb_dofs - 1, _x) = F;
     // displacement(nb_dofs - 1, _x) = .1;
     blocked(0, _x) = true;
   }
 
   void assembleLumpedMass() {
     Array<Real> & M = this->getDOFManager().getLumpedMatrix("M");
     M.clear();
 
     Array<Real> m_all_el(this->nb_dofs - 1, 2);
     Array<Real>::vector_iterator m_it = m_all_el.begin(2);
 
     Array<UInt>::const_vector_iterator cit =
       this->mesh.getConnectivity(_segment_2).begin(2);
     Array<UInt>::const_vector_iterator cend =
       this->mesh.getConnectivity(_segment_2).end(2);
 
     for (; cit != cend; ++cit, ++m_it) {
       const Vector<UInt> & conn = *cit;
       UInt n1 = conn(0);
       UInt n2 = conn(1);
 
       Real p1 = this->mesh.getNodes()(n1, _x);
       Real p2 = this->mesh.getNodes()(n2, _x);
 
       Real L = std::abs(p2 - p1);
 
       Real M_n = rho * A * L / 2;
       (*m_it)(0) = (*m_it)(1) = M_n;
     }
 
     this->getDOFManager().assembleElementalArrayLocalArray(
         m_all_el, M, _segment_2, _not_ghost);
   }
 
   void assembleMass() {
     SparseMatrix & M = this->getDOFManager().getMatrix("M");
     M.clear();
 
     Array<Real> m_all_el(this->nb_dofs - 1, 4);
     Array<Real>::matrix_iterator m_it = m_all_el.begin(2, 2);
 
     Array<UInt>::const_vector_iterator cit =
       this->mesh.getConnectivity(_segment_2).begin(2);
     Array<UInt>::const_vector_iterator cend =
       this->mesh.getConnectivity(_segment_2).end(2);
 
     Matrix<Real> m(2, 2);
     m(0, 0) = m(1, 1) = 2;
     m(0, 1) = m(1, 0) = 1;
 
     // under integrated
     // m(0, 0) = m(1, 1) = 3./2.;
     // m(0, 1) = m(1, 0) = 3./2.;
 
     // lumping the mass matrix
     // m(0, 0) += m(0, 1);
     // m(1, 1) += m(1, 0);
     // m(0, 1) = m(1, 0) = 0;
 
     for (; cit != cend; ++cit, ++m_it) {
       const Vector<UInt> & conn = *cit;
       UInt n1 = conn(0);
       UInt n2 = conn(1);
 
       Real p1 = this->mesh.getNodes()(n1, _x);
       Real p2 = this->mesh.getNodes()(n2, _x);
 
       Real L = std::abs(p2 - p1);
 
       Matrix<Real> & m_el = *m_it;
       m_el = m;
       m_el *= rho * A * L / 6.;
     }
     this->getDOFManager().assembleElementalMatricesToMatrix(
         "M", "disp", m_all_el, _segment_2);
   }
 
   void assembleJacobian() {}
   void assembleStiffness() {
     SparseMatrix & K = this->getDOFManager().getMatrix("K");
     K.clear();
 
     Matrix<Real> k(2, 2);
     k(0, 0) = k(1, 1) = 1;
     k(0, 1) = k(1, 0) = -1;
 
     Array<Real> k_all_el(this->nb_dofs - 1, 4);
     Array<Real>::matrix_iterator k_it = k_all_el.begin(2, 2);
 
     Array<UInt>::const_vector_iterator cit =
       this->mesh.getConnectivity(_segment_2).begin(2);
     Array<UInt>::const_vector_iterator cend =
       this->mesh.getConnectivity(_segment_2).end(2);
 
     for (; cit != cend; ++cit, ++k_it) {
       const Vector<UInt> & conn = *cit;
       UInt n1 = conn(0);
       UInt n2 = conn(1);
 
       Real p1 = this->mesh.getNodes()(n1, _x);
       Real p2 = this->mesh.getNodes()(n2, _x);
 
       Real L = std::abs(p2 - p1);
 
       Matrix<Real> & k_el = *k_it;
       k_el = k;
       k_el *= E * A / L;
     }
     this->getDOFManager().assembleElementalMatricesToMatrix(
         "K", "disp", k_all_el, _segment_2);
   }
 
   void assembleResidual() {
     this->getDOFManager().assembleToResidual("disp", forces);
 
     Array<Real> forces_internal_el(this->nb_dofs - 1, 2);
     Array<Real>::vector_iterator f_it = forces_internal_el.begin(2);
 
     Array<UInt>::const_vector_iterator cit =
       this->mesh.getConnectivity(_segment_2).begin(2);
     Array<UInt>::const_vector_iterator cend =
       this->mesh.getConnectivity(_segment_2).end(2);
 
     for (; cit != cend; ++cit, ++f_it) {
       const Vector<UInt> & conn = *cit;
       UInt n1 = conn(0);
       UInt n2 = conn(1);
       Real p1 = this->mesh.getNodes()(n1, _x);
       Real p2 = this->mesh.getNodes()(n2, _x);
 
       Real L = std::abs(p2 - p1);
 
       Real u1 = this->displacement(n1, _x);
       Real u2 = this->displacement(n2, _x);
 
       Real f_n = E * A / L * (u2 - u1);
 
       Vector<Real> & f = *f_it;
 
       f(0) = -f_n;
       f(1) = f_n;
     }
 
     internal_forces.clear();
     this->getDOFManager().assembleElementalArrayLocalArray(
         forces_internal_el, internal_forces, _segment_2, _not_ghost);
     this->getDOFManager().assembleToResidual("disp", internal_forces, -1.);
   }
 
   Real getPotentialEnergy() {
     Real res = 0;
 
     if (!lumped) {
       res = this->mulVectMatVect(this->displacement,
                                  this->getDOFManager().getMatrix("K"),
                                  this->displacement);
     } else {
       Array<UInt>::const_vector_iterator cit =
         this->mesh.getConnectivity(_segment_2).begin(2);
       Array<UInt>::const_vector_iterator cend =
         this->mesh.getConnectivity(_segment_2).end(2);
 
       for (; cit != cend; ++cit) {
         const Vector<UInt> & conn = *cit;
         UInt n1 = conn(0);
         UInt n2 = conn(1);
         Real p1 = this->mesh.getNodes()(n1, _x);
         Real p2 = this->mesh.getNodes()(n2, _x);
 
         Real L = std::abs(p2 - p1);
 
         Real u1 = this->displacement(n1, _x);
         Real u2 = this->displacement(n2, _x);
 
         Real strain = (u2 - u1) / L;
 
         res += strain * E * strain * A * L;
       }
     }
     return res / 2.;
   }
 
   Real getKineticEnergy() {
     Real res = 0;
     if (!lumped) {
       res = this->mulVectMatVect(
           this->velocity, this->getDOFManager().getMatrix("M"), this->velocity);
     } else {
       Array<Real> & m = this->getDOFManager().getLumpedMatrix("M");
       Array<Real>::const_scalar_iterator it = velocity.begin();
       Array<Real>::const_scalar_iterator end = velocity.end();
       Array<Real>::const_scalar_iterator m_it = m.begin();
 
       for (; it != end; ++it, ++m_it) {
         res += *m_it * *it * *it;
       }
     }
     return res / 2.;
   }
 
   Real mulVectMatVect(const Array<Real> & x, const SparseMatrix & A,
                       const Array<Real> & y) {
-    Array<Real> Ay(this->nb_dofs);
+    Array<Real> Ay(this->nb_dofs, 1, 0.);
     A.matVecMul(y, Ay);
     Real res = 0.;
 
     Array<Real>::const_scalar_iterator it = Ay.begin();
     Array<Real>::const_scalar_iterator end = Ay.end();
     Array<Real>::const_scalar_iterator x_it = x.begin();
 
     for (; it != end; ++it, ++x_it) {
       res += *x_it * *it;
     }
     return res;
   }
 
   void predictor() {}
   void corrector() {}
 
   Array<Real> displacement;
   Array<Real> velocity;
   Array<Real> acceleration;
   Array<bool> blocked;
   Array<Real> forces;
   Array<Real> internal_forces;
 
 private:
   Mesh & mesh;
   UInt nb_dofs;
   Real E, A, rho;
 
   bool lumped;
 };
 
 /* -------------------------------------------------------------------------- */
 int main(int argc, char * argv[]) {
   initialize(argc, argv);
 
   UInt nb_nodes = 201;
   UInt max_steps = 2000;
   Real time_step = 0.001;
   Mesh mesh(1);
   Real F = -9.81;
   bool _explicit = EXPLICIT;
 
   genMesh(mesh, nb_nodes);
 
+  mesh.distribute();
+
   MyModel model(F, mesh, _explicit);
 
   if (!_explicit) {
     model.getNewSolver("dynamic", _tsst_dynamic, _nls_newton_raphson);
     model.setIntegrationScheme("dynamic", "disp", _ist_trapezoidal_rule_2,
                                IntegrationScheme::_displacement);
   } else {
     model.getNewSolver("dynamic", _tsst_dynamic_lumped, _nls_lumped);
     model.setIntegrationScheme("dynamic", "disp", _ist_central_difference,
                                IntegrationScheme::_acceleration);
   }
 
   model.setTimeStep(time_step);
 
   const Array<Real> & disp = model.displacement;
   const Array<Real> & velo = model.velocity;
   const Array<Real> & reac = model.internal_forces;
 
 // #if EXPLICIT == true
 //   std::ofstream output("output_dynamic_explicit.csv");
 // #else
 //   std::ofstream output("output_dynamic_implicit.csv");
 // #endif
 
   std::cout << std::setw(8) << "time"
             << "," << std::setw(8) << "disp"
             << "," << std::setw(8) << "velo"
             << "," << std::setw(8) << "reac"
             << "," << std::setw(8) << "wext"
             << "," << std::setw(8) << "epot"
             << "," << std::setw(8) << "ekin"
             << "," << std::setw(8) << "total"
             << std::endl;
 
   Real wext = 0;
 
   model.assembleResidual();
 
   Real epot = model.getPotentialEnergy();
   Real ekin = model.getKineticEnergy();
   Real einit = ekin +  epot;
   std::cout << std::setw(8) << 0.
             << "," << std::setw(8) << disp(nb_nodes - 1, _x)
             << "," << std::setw(8) << velo(nb_nodes - 1, _x)
             << "," << std::setw(8) << (-reac(0, _x))
             << "," << std::setw(8) << wext
             << "," << std::setw(8) << epot
             << "," << std::setw(8) << ekin
             << "," << std::setw(8) << (ekin + epot - wext - einit)
             << std::endl;
 
 #if EXPLICIT == false
   // NonLinearSolver & solver =
   //   model.getDOFManager().getNonLinearSolver("dynamic");
 #endif
 
   for (UInt i = 1; i < max_steps + 1; ++i) {
     model.solveStep();
 
 // #if EXPLICIT == false
     //     UInt nb_iter = solver.get("nb_iterations");
 //     Real error = solver.get("error");
 //     bool converged = solver.get("converged");
 //     std::cout << error << " " << nb_iter << " -> " << converged << std::endl;
 // #endif
 
     wext += F * velo(nb_nodes - 1, 0) * time_step;
     epot = model.getPotentialEnergy();
     ekin = model.getKineticEnergy();
     Real etot = ekin + epot - wext - einit;
 
     std::cout << std::setw(8) << time_step * i
               << "," << std::setw(8) << disp(nb_nodes - 1, _x)
               << "," << std::setw(8) << velo(nb_nodes - 1, _x)
               << "," << std::setw(8) << (-reac(0, _x))
               << "," << std::setw(8) << wext
               << "," << std::setw(8) << epot
               << "," << std::setw(8) << ekin
               << "," << std::setw(8) << (etot)
               << std::endl;
 
     // if (std::abs(etot) > 1e-7) {
     //   AKANTU_DEBUG_ERROR("The total energy of the system is not conserved!");
     // }
   }
 
   // output.close();
   finalize();
   return EXIT_SUCCESS;
 }
 
 /* -------------------------------------------------------------------------- */
 void genMesh(Mesh & mesh, UInt nb_nodes) {
   MeshAccessor mesh_accessor(mesh);
   Array<Real> & nodes = mesh_accessor.getNodes();
   Array<UInt> & conn = mesh_accessor.getConnectivity(_segment_2);
 
   nodes.resize(nb_nodes);
 
   for (UInt n = 0; n < nb_nodes; ++n) {
     nodes(n, _x) = n * (1. / (nb_nodes - 1));
   }
 
   conn.resize(nb_nodes - 1);
   for (UInt n = 0; n < nb_nodes - 1; ++n) {
     conn(n, 0) = n;
     conn(n, 1) = n + 1;
   }
 }
diff --git a/test/test_model/test_model_solver/test_model_solver_dynamic_explicit.verified b/test/test_model/test_model_solver/test_model_solver_dynamic_explicit.verified
index 414d83773..79604763a 100644
--- a/test/test_model/test_model_solver/test_model_solver_dynamic_explicit.verified
+++ b/test/test_model/test_model_solver/test_model_solver_dynamic_explicit.verified
@@ -1,2001 +1,2002 @@
-    time,     disp,     velo,     reac,     wext,     epot,     ekin
-   0.001,        0,    1.962,       -0, 0.0192472,        0, 0.0048118
-   0.002, 0.003924,  5.72904,       -0, 0.0754491, 0.00153978, 0.0410428
-   0.003, 0.0114581,  9.04404,       -0, 0.164171, 0.012774, 0.102604
-   0.004, 0.0220121,  11.6659,       -0, 0.278614, 0.0452231, 0.172681
-   0.005, 0.0347899,  13.4355,       -0, 0.410416, 0.106783, 0.235979
-   0.006, 0.0488831,  14.2928,       -0, 0.550628, 0.196298, 0.284868
-   0.007, 0.0633755,  14.2811,       -0, 0.690726, 0.302603, 0.321327
-   0.008, 0.0774452,  13.5374,       -0, 0.823528, 0.408548, 0.354051
-   0.009, 0.0904504,   12.272,       -0, 0.943916, 0.497889, 0.392622
-    0.01, 0.101989,  10.7378,       -0,  1.04925, 0.561539, 0.442033
-   0.011, 0.111926,  9.19645,       -0,  1.13947, 0.600169, 0.500411
-   0.012, 0.120382,  7.88413,       -0,  1.21681, 0.622205, 0.560823
-   0.013, 0.127694,  6.98202,       -0,  1.28531, 0.638742, 0.615775
-   0.014, 0.134346,  6.59599,       -0,  1.35001, 0.658295, 0.661618
-   0.015, 0.140886,  6.74725,       -0,   1.4162, 0.684108, 0.700376
-   0.016, 0.147841,  7.37528,       -0,  1.48856, 0.715003, 0.738129
-   0.017, 0.155637,  8.35188,       -0,  1.57049, 0.748646, 0.781148
-   0.018, 0.164544,  9.50425,       -0,  1.66372, 0.784851, 0.832177
-   0.019, 0.174645,  10.6431,       -0,  1.76813, 0.826726, 0.889014
-    0.02, 0.185831,  11.5916,       -0,  1.88185, 0.878992,  0.94611
-   0.021, 0.197828,  12.2118,       -0,  2.00164, 0.944612, 0.998052
-   0.022, 0.210254,  12.4226,       -0,  2.12351,  1.02193,  1.04279
-   0.023, 0.222674,  12.2103,       -0,  2.24329,  1.10422,  1.08269
-   0.024, 0.234675,  11.6269,       -0,  2.35735,  1.18204,  1.12292
-   0.025, 0.245927,  10.7795,       -0,   2.4631,  1.24722,  1.16823
-   0.026, 0.256234,  9.81192,       -0,  2.55935,  1.29628,   1.2201
-   0.027, 0.265551,  8.88061,       -0,  2.64647,  1.33144,  1.27601
-   0.028, 0.273995,  8.13048,       -0,  2.72623,   1.3589,  1.33111
-   0.029, 0.281812,  7.67281,       -0,   2.8015,  1.38543,  1.38119
-    0.03,  0.28934,   7.5693,       -0,  2.87576,   1.4154,  1.42525
-   0.031, 0.296951,  7.82422,       -0,  2.95251,  1.44968,  1.46595
-   0.032, 0.304989,  8.38568,       -0,  3.03478,  1.48685,  1.50789
-   0.033, 0.313722,  9.15552,       -0,  3.12459,  1.52568,  1.55476
-   0.034,   0.3233,   10.006,       -0,  3.22275,  1.56703,  1.60718
-   0.035, 0.333734,  10.8007,       -0,  3.32871,   1.6139,  1.66238
-   0.036, 0.344901,  11.4158,       -0,   3.4407,  1.66964,  1.71597
-   0.037, 0.356566,  11.7594,       -0,  3.55606,  1.73533,  1.76469
-   0.038,  0.36842,  11.7846,       -0,  3.67166,  1.80821,   1.8083
-   0.039, 0.380135,  11.4961,       -0,  3.78444,  1.88203,  1.84968
-    0.04, 0.391412,  10.9474,       -0,  3.89183,  1.94957,  1.89297
-   0.041,  0.40203,   10.232,       -0,  3.99221,  2.00563,  1.94106
-   0.042, 0.411876,  9.46688,       -0,  4.08508,  2.04923,  1.99385
-   0.043, 0.420964,  8.77433,       -0,  4.17116,  2.08358,  2.04838
-   0.044, 0.429425,  8.26213,       -0,  4.25221,  2.11408,  2.10072
-   0.045, 0.437488,  8.00715,       -0,  4.33076,  2.14557,  2.14835
-   0.046, 0.445439,  8.04396,       -0,  4.40967,  2.18045,  2.19167
-   0.047, 0.453576,   8.3603,       -0,  4.49168,   2.2185,   2.2337
-   0.048,  0.46216,   8.9001,       -0,  4.57899,  2.25839,  2.27816
-   0.049, 0.471376,  9.57318,       -0,  4.67291,  2.29969,  2.32723
-    0.05, 0.481306,  10.2702,       -0,  4.77366,  2.34389,  2.38024
-   0.051, 0.491916,  10.8803,       -0,  4.88039,  2.39385,  2.43412
-   0.052, 0.503067,  11.3084,       -0,  4.99133,  2.45187,  2.48536
-   0.053, 0.514533,  11.4904,       -0,  5.10405,  2.51768,   2.5321
-   0.054, 0.526047,   11.402,       -0,   5.2159,  2.58767,  2.57527
-   0.055, 0.537337,  11.0624,       -0,  5.32442,  2.65598,  2.61795
-   0.056, 0.548172,  10.5299,       -0,  5.42772,  2.71686,  2.66346
-   0.057, 0.558397,  9.89248,       -0,  5.52477,  2.76721,  2.71334
-   0.058, 0.567957,  9.25311,       -0,  5.61554,  2.80769,  2.76644
-   0.059, 0.576903,  8.71322,       -0,  5.70102,  2.84201,  2.81966
-    0.06, 0.585384,  8.35677,       -0,    5.783,  2.87488,   2.8699
-   0.061, 0.593617,  8.23723,       -0,   5.8638,  2.90973,  2.91591
-   0.062, 0.601858,  8.36965,       -0,  5.94591,  2.94765,  2.95905
-   0.063, 0.610356,  8.72892,       -0,  6.03154,  2.98787,  3.00239
-   0.064, 0.619316,  9.25438,       -0,  6.12233,  3.02937,  3.04885
-   0.065, 0.628865,  9.85999,       -0,  6.21905,   3.0724,  3.09939
-   0.066, 0.639036,  10.4484,       -0,  6.32155,  3.11889,  3.15247
-   0.067, 0.649762,  10.9263,       -0,  6.42874,  3.17138,  3.20502
-   0.068, 0.660888,  11.2197,       -0,   6.5388,  3.23115,  3.25435
-   0.069, 0.672201,  11.2845,       -0,   6.6495,  3.29683,  3.29977
-    0.07, 0.683457,  11.1139,       -0,  6.75853,  3.36425,  3.34298
-   0.071, 0.694429,  10.7383,       -0,  6.86387,  3.42802,    3.387
-   0.072, 0.704934,  10.2203,       -0,  6.96413,  3.48378,  3.43434
-   0.073, 0.714869,  9.64421,       -0,  7.05874,  3.53004,  3.48541
-   0.074, 0.724222,  9.10238,       -0,  7.14804,  3.56864,  3.53836
-   0.075, 0.733074,  8.68045,       -0,  7.23319,  3.60346,  3.59022
-   0.076, 0.741583,  8.44385,       -0,  7.31603,  3.63843,  3.63872
-   0.077, 0.749962,  8.42775,       -0,   7.3987,  3.67581,  3.68367
-   0.078, 0.758439,  8.63182,       -0,  7.48338,  3.71579,  3.72704
-   0.079, 0.767225,  9.02077,       -0,  7.57188,   3.7574,  3.77177
-    0.08,  0.77648,  9.53041,       -0,  7.66537,  3.80006,  3.81989
-   0.081, 0.786286,  10.0782,       -0,  7.76424,  3.84463,  3.87137
-   0.082, 0.796637,  10.5765,       -0,  7.86799,  3.89324,  3.92411
-   0.083, 0.807439,  10.9468,       -0,  7.97538,  3.94793,  3.97527
-   0.084,  0.81853,  11.1317,       -0,  8.08458,  4.00901,  4.02302
-   0.085, 0.829703,  11.1039,       -0,  8.19351,  4.07416,  4.06761
-   0.086, 0.840738,  10.8705,       -0,  8.30015,  4.13897,  4.11125
-   0.087, 0.851444,   10.471,       -0,  8.40287,  4.19867,  4.15668
-   0.088,  0.86168,  9.97079,       -0,  8.50069,  4.25022,  4.20552
-   0.089, 0.871385,  9.45068,       -0,   8.5934,   4.2935,  4.25729
-    0.09, 0.880581,  8.99361,       -0,  8.68162,  4.33109,  4.30973
-   0.091, 0.889372,  8.67161,       -0,  8.76669,  4.36678,  4.36019
-   0.092, 0.897925,  8.53443,       -0,  8.85042,  4.40366,  4.40725
-   0.093, 0.906441,  8.60187,       -0,   8.9348,  4.44301,  4.45161
-   0.094, 0.915128,  8.86099,       -0,  9.02173,  4.48443,  4.49558
-   0.095, 0.924163,   9.2685,       -0,  9.11265,  4.52701,  4.54171
-   0.096, 0.933665,  9.75797,       -0,  9.20838,  4.57069,  4.59119
-   0.097, 0.943679,  10.2506,       -0,  9.30893,  4.61681,  4.64315
-   0.098, 0.954167,   10.668,       -0,  9.41359,  4.66746,  4.69522
-   0.099, 0.965015,  10.9445,       -0,  9.52095,  4.72405,  4.74498
-     0.1, 0.976056,  11.0375,       -0,  9.62923,  4.78596,  4.79145
-   0.101,  0.98709,   10.934,       -0,  9.73649,  4.85015,  4.83567
-   0.102, 0.997924,  10.6524,       -0,  9.84099,   4.9122,  4.88005
-   0.103,   1.0084,  10.2395,       -0,  9.94144,  4.96816,  4.92687
-   0.104,   1.0184,  9.76205,       -0,  10.0372,  5.01622,   4.9769
-   0.105,  1.02792,  9.29686,       -0,  10.1284,  5.05737,  5.02894
-   0.106,    1.037,  8.91787,       -0,  10.2159,  5.09464,  5.08057
-   0.107,  1.04575,  8.68459,       -0,  10.3011,  5.13145,  5.12965
-   0.108,  1.05437,  8.63281,       -0,  10.3858,  5.17004,  5.17562
-   0.109,  1.06302,  8.76909,       -0,  10.4718,  5.21092,  5.21981
-    0.11,   1.0719,     9.07,       -0,  10.5608,  5.25336,  5.26465
-   0.111,  1.08116,  9.48609,       -0,  10.6538,  5.29671,  5.31214
-   0.112,  1.09088,  9.95006,       -0,  10.7514,  5.34142,  5.36263
-   0.113,  1.10106,  10.3876,       -0,  10.8534,  5.38915,  5.41465
-   0.114,  1.11165,  10.7292,       -0,  10.9586,  5.44177,   5.4658
-   0.115,  1.12252,  10.9213,       -0,  11.0657,  5.49994,  5.51423
-   0.116,  1.13349,  10.9346,       -0,   11.173,  5.56217,  5.55977
-   0.117,  1.14439,  10.7686,       -0,  11.2786,  5.62495,  5.60403
-   0.118,  1.15503,  10.4512,       -0,  11.3812,  5.68412,  5.64937
-   0.119,  1.16529,  10.0342,       -0,  11.4796,  5.73665,  5.69749
-    0.12,   1.1751,  9.58509,       -0,  11.5736,  5.78188,  5.74837
-   0.121,  1.18446,  9.17553,       -0,  11.6637,  5.82165,  5.80028
-   0.122,  1.19345,  8.87048,       -0,  11.7507,  5.85911,  5.85091
-   0.123,   1.2022,  8.71771,       -0,  11.8362,  5.89716,  5.89872
-   0.124,  1.21089,  8.74031,       -0,  11.9219,  5.93726,  5.94393
-   0.125,  1.21968,  8.93325,       -0,  12.0096,   5.9793,  5.98833
-   0.126,  1.22875,  9.26443,       -0,  12.1005,  6.02249,  6.03422
-   0.127,  1.23821,  9.67996,       -0,  12.1954,  6.06654,  6.08293
-   0.128,  1.24811,   10.113,       -0,  12.2946,  6.11238,  6.13409
-   0.129,  1.25844,  10.4943,       -0,  12.3976,   6.1618,  6.18581
-    0.13,   1.2691,  10.7635,       -0,  12.5032,  6.21625,  6.23589
-   0.131,  1.27996,  10.8787,       -0,  12.6099,  6.27562,  6.28313
-   0.132,  1.29086,  10.8226,       -0,  12.7161,  6.33765,   6.3281
-   0.133,  1.30161,  10.6054,       -0,  12.8201,  6.39862,  6.37274
-   0.134,  1.31207,  10.2631,       -0,  12.9208,  6.45486,  6.41918
-   0.135,  1.32214,  9.85101,       -0,  13.0174,  6.50431,  6.46844
-   0.136,  1.33177,  9.43548,       -0,    13.11,  6.54734,  6.51979
-   0.137,  1.34101,  9.08272,       -0,  13.1991,  6.58635,  6.57125
-   0.138,  1.34994,  8.84852,       -0,  13.2859,  6.62438,  6.62076
-   0.139,   1.3587,  8.76934,       -0,  13.3719,  6.66372,  6.66749
-    0.14,  1.36747,  8.85669,       -0,  13.4588,  6.70509,  6.71231
-   0.141,  1.37642,  9.09546,       -0,   13.548,    6.748,  6.75725
-   0.142,  1.38567,  9.44648,       -0,  13.6407,  6.79177,  6.80425
-   0.143,  1.39531,  9.85302,       -0,  13.7373,  6.83657,  6.85399
-   0.144,  1.40537,  10.2498,       -0,  13.8379,  6.88368,  6.90545
-   0.145,  1.41581,  10.5738,       -0,  13.9416,  6.93482,  6.95658
-   0.146,  1.42652,  10.7736,       -0,  14.0473,  6.99091,  7.00552
-   0.147,  1.43736,  10.8184,       -0,  14.1534,  7.05102,   7.0518
-   0.148,  1.44816,  10.7021,       -0,  14.2584,  7.11235,  7.09656
-   0.149,  1.45876,  10.4442,       -0,  14.3609,  7.17119,  7.14186
-    0.15,  1.46904,  10.0869,       -0,  14.4598,  7.22453,  7.18943
-   0.151,  1.47893,  9.68785,       -0,  14.5549,  7.27131,  7.23958
-   0.152,  1.48842,  9.31089,       -0,  14.6462,  7.31275,  7.29106
-   0.153,  1.49756,  9.01602,       -0,  14.7347,  7.35153,   7.3418
-   0.154,  1.50645,  8.84973,       -0,  14.8215,  7.39039,  7.39019
-   0.155,  1.51526,  8.83771,       -0,  14.9082,  7.43095,  7.43609
-   0.156,  1.52413,  8.98087,       -0,  14.9963,  7.47335,  7.48087
-   0.157,  1.53322,  9.25538,       -0,  15.0871,  7.51691,  7.52658
-   0.158,  1.54264,  9.61663,       -0,  15.1814,  7.56121,  7.57469
-   0.159,  1.55245,  10.0064,       -0,  15.2796,  7.60687,  7.62519
-    0.16,  1.56265,  10.3625,       -0,  15.3812,  7.65538,  7.67661
-   0.161,  1.57318,  10.6281,       -0,  15.4855,  7.70823,  7.72692
-   0.162,  1.58391,  10.7616,       -0,  15.5911,  7.76566,  7.77478
-   0.163,   1.5947,  10.7424,       -0,  15.6964,  7.82604,  7.82036
-   0.164,  1.60539,  10.5746,       -0,  15.8002,   7.8862,  7.86524
-   0.165,  1.61585,  10.2858,       -0,  15.9011,  7.94269,   7.9114
-   0.166,  1.62596,  9.92288,       -0,  15.9984,  7.99328,  7.96004
-   0.167,  1.63569,   9.5441,       -0,  16.0921,  8.03784,  8.01081
-   0.168,  1.64505,  9.21001,       -0,  16.1824,  8.07824,  8.06208
-   0.169,  1.65411,  8.97364,       -0,  16.2704,  8.11722,  8.11193
-    0.17,    1.663,  8.87213,       -0,  16.3575,  8.15706,  8.15928
-   0.171,  1.67186,  8.92085,       -0,   16.445,  8.19872,  8.20464
-   0.172,  1.68084,  9.11118,       -0,  16.5344,  8.24192,   8.2497
-   0.173,  1.69008,   9.4119,       -0,  16.6267,  8.28598,  8.29634
-   0.174,  1.69967,  9.77442,       -0,  16.7226,  8.33085,  8.34545
-   0.175,  1.70963,  10.1405,       -0,  16.8221,  8.37751,  8.39641
-   0.176,  1.71995,  10.4518,       -0,  16.9246,  8.42754,  8.44748
-   0.177,  1.73053,  10.6589,       -0,  17.0292,  8.48199,  8.49683
-   0.178,  1.74126,  10.7293,       -0,  17.1344,  8.54041,  8.54373
-   0.179,  1.75199,  10.6527,       -0,  17.2389,  8.60056,  8.58894
-    0.18,  1.76257,   10.442,       -0,  17.3414,  8.65915,  8.63424
-   0.181,  1.77288,  10.1316,       -0,  17.4408,  8.71317,  8.68137
-   0.182,  1.78283,  9.77159,       -0,  17.5366,  8.76124,  8.73091
-   0.183,  1.79242,   9.4197,       -0,   17.629,  8.80407,  8.78199
-   0.184,  1.80167,  9.13202,       -0,  17.7186,  8.84395,  8.83278
-   0.185,  1.81068,   8.9541,       -0,  17.8064,  8.88345,  8.88164
-   0.186,  1.81958,  8.91374,       -0,  17.8939,  8.92431,  8.92814
-   0.187,  1.82851,  9.01665,       -0,  17.9823,  8.96691,  8.97326
-   0.188,  1.83761,  9.24562,       -0,   18.073,  9.01071,  9.01887
-   0.189,    1.847,  9.56345,       -0,  18.1669,  9.05521,  9.06649
-    0.19,  1.85674,  9.91895,       -0,  18.2642,  9.10074,  9.11642
-   0.191,  1.86684,  10.2552,       -0,  18.3648,  9.14858,  9.16753
-   0.192,  1.87725,  10.5186,       -0,   18.468,  9.20015,  9.21799
-   0.193,  1.88788,  10.6676,       -0,  18.5726,  9.25601,  9.26636
-   0.194,  1.89859,  10.6789,       -0,  18.6774,  9.31501,   9.3125
-   0.195,  1.90923,  10.5514,       -0,  18.7809,  9.37447,  9.35764
-   0.196,  1.91969,  10.3063,       -0,   18.882,  9.43115,   9.4036
-   0.197,  1.92985,   9.9832,       -0,  18.9799,   9.4827,   9.4517
-   0.198,  1.93966,  9.63409,       -0,  19.0744,  9.52858,  9.50195
-   0.199,  1.94912,  9.31483,       -0,  19.1658,  9.57019,  9.55302
-     0.2,  1.95828,  9.07621,       -0,  19.2548,  9.60997,  9.60311
-   0.201,  1.96727,  8.95592, 5.06637e-279,  19.3427,  9.65021,    9.651
-   0.202,   1.9762,  8.97255, 1.95055e-276,  19.4307,  9.69205,  9.69686
-   0.203,  1.98521,  9.12279, 3.7634e-274,  19.5202,  9.73541,  9.74207
-   0.204,  1.99444,  9.38199, 4.85178e-272,  19.6122,  9.77967,  9.78842
-   0.205,  2.00398,  9.70824, 4.70186e-270,  19.7075,  9.82461,  9.83699
-   0.206,  2.01386,  10.0491, 3.65352e-268,  19.8061,  9.87095,  9.88749
-   0.207,  2.02408,  10.3502, 2.37112e-266,  19.9076,  9.92009,  9.93845
-   0.208,  2.03456,  10.5636, 1.32199e-264,  20.0112,   9.9732,  9.98813
-   0.209,   2.0452,  10.6557, 6.46375e-263,  20.1158,  10.0302,  10.0356
-    0.21,  2.05587,  10.6123, 2.81554e-261,  20.2199,  10.0893,  10.0812
-   0.211,  2.06643,   10.441, 1.10625e-259,  20.3223,  10.1476,  10.1266
-   0.212,  2.07675,  10.1698, 3.96023e-258,  20.4221,  10.2022,  10.1733
-   0.213,  2.08677,  9.84248, 1.30246e-256,  20.5186,  10.2514,  10.2223
-   0.214,  2.09644,  9.51149, 3.96284e-255,  20.6119,  10.2955,   10.273
-   0.215,  2.10579,  9.22969, 1.12209e-253,  20.7025,  10.3363,  10.3238
-   0.216,   2.1149,  9.04186, 2.97194e-252,  20.7912,  10.3764,  10.3731
-   0.217,  2.12387,  8.97753, 7.3957e-251,  20.8792,  10.4175,  10.4201
-   0.218,  2.13285,   9.0464, 1.73597e-249,   20.968,  10.4602,  10.4656
-   0.219,  2.14197,  9.23687, 3.85685e-248,  21.0586,  10.5041,  10.5111
-    0.22,  2.15133,  9.51797, 8.13559e-247,   21.152,  10.5488,  10.5583
-   0.221,    2.161,  9.84442, 1.63386e-245,  21.2485,  10.5942,  10.6077
-   0.222,  2.17101,  10.1639, 3.13178e-244,  21.3482,  10.6415,  10.6585
-   0.223,  2.18133,  10.4254, 5.74257e-243,  21.4505,  10.6921,  10.7091
-   0.224,  2.19187,  10.5875, 1.00938e-241,  21.5544,  10.7466,  10.7579
-   0.225,   2.2025,  10.6248, 1.70393e-240,  21.6586,  10.8044,  10.8045
-   0.226,  2.21311,  10.5318, 2.76728e-239,  21.7619,  10.8632,  10.8499
-   0.227,  2.22357,  10.3239, 4.33065e-238,  21.8632,    10.92,  10.8958
-   0.228,  2.23376,  10.0349, 6.54018e-237,  21.9617,  10.9724,  10.9434
-   0.229,  2.24364,  9.71129, 9.54459e-236,  22.0569,  11.0194,  10.9932
-    0.23,  2.25319,  9.40483, 1.34774e-234,  22.1492,  11.0621,   11.044
-   0.231,  2.26245,   9.1644, 1.84355e-233,  22.2391,  11.1026,  11.0943
-   0.232,  2.27151,  9.02809, 2.44558e-232,  22.3276,  11.1432,  11.1427
-   0.233,   2.2805,  9.01723, 3.14945e-231,  22.4161,  11.1852,   11.189
-   0.234,  2.28955,  9.13299, 3.94127e-230,  22.5057,  11.2286,  11.2344
-   0.235,  2.29877,  9.35636, 4.79717e-229,  22.5975,   11.273,  11.2805
-   0.236,  2.30826,  9.65122, 5.68399e-228,  22.6922,   11.318,  11.3286
-   0.237,  2.31807,  9.97018, 6.56136e-227,    22.79,  11.3641,  11.3787
-   0.238,   2.3282,  10.2622, 7.3848e-226,  22.8906,  11.4126,  11.4295
-   0.239,   2.3386,  10.4808, 8.10968e-225,  22.9935,  11.4646,  11.4794
-    0.24,  2.34916,  10.5914, 8.69535e-224,  23.0974,  11.5203,  11.5273
-   0.241,  2.35978,  10.5767, 9.10904e-223,  23.2011,  11.5785,  11.5734
-   0.242,  2.37032,  10.4397, 9.32887e-222,  23.3035,  11.6365,  11.6188
-   0.243,  2.38066,  10.2027, 9.34571e-221,  23.4036,  11.6915,  11.6653
-   0.244,  2.39072,   9.9039, 9.16362e-220,  23.5008,  11.7417,  11.7138
-   0.245,  2.40047,  9.59137, 8.79885e-219,  23.5949,  11.7869,  11.7641
-   0.246,   2.4099,  9.31504, 8.27772e-218,  23.6863,  11.8287,  11.8149
-   0.247,   2.4191,  9.11887, 7.63368e-217,  23.7757,  11.8692,  11.8644
-   0.248,  2.42814,  9.03386, 6.90396e-216,  23.8643,  11.9105,  11.9119
-   0.249,  2.43716,  9.07314, 6.12631e-215,  23.9533,  11.9532,  11.9578
-    0.25,  2.44629,  9.22993, 5.33607e-214,  24.0439,  11.9973,  12.0034
-   0.251,  2.45562,  9.47873, 4.564e-213,  24.1369,   12.042,  12.0502
-   0.252,  2.46525,  9.77945, 3.83479e-212,  24.2328,  12.0875,  12.0992
-   0.253,  2.47518,  10.0838, 3.16647e-211,  24.3317,  12.1344,  12.1496
-   0.254,  2.48541,  10.3433, 2.57042e-210,  24.4332,  12.1841,  12.2002
-   0.255,  2.49587,  10.5166, 2.05202e-209,  24.5364,  12.2374,  12.2494
-   0.256,  2.50645,  10.5763, 1.61159e-208,  24.6401,  12.2941,  12.2965
-   0.257,  2.51702,  10.5135, 1.24556e-207,  24.7433,  12.3523,  12.3422
-   0.258,  2.52747,  10.3385, 9.47647e-207,  24.8447,  12.4091,  12.3879
-   0.259,   2.5377,  10.0798, 7.0996e-206,  24.9436,  12.4622,  12.4352
-    0.26,  2.54763,  9.77901, 5.23905e-205,  25.0395,  12.5103,  12.4845
-   0.261,  2.55726,  9.48433, 3.80912e-204,  25.1325,   12.554,  12.5351
-   0.262,   2.5666,  9.24279, 2.72942e-203,  25.2232,  12.5952,  12.5855
-   0.263,  2.57574,  9.09276, 1.92798e-202,  25.3124,  12.6361,  12.6342
-   0.264,  2.58479,  9.05785, 1.34287e-201,  25.4013,  12.6781,   12.681
-   0.265,  2.59386,   9.1432, 9.22512e-201,   25.491,  12.7216,  12.7266
-   0.266,  2.60307,  9.33473, 6.252e-200,  25.5825,  12.7661,  12.7726
-   0.267,  2.61253,  9.60144, 4.18096e-199,  25.6767,  12.8112,  12.8203
-   0.268,  2.62228,  9.90046, 2.75957e-198,  25.7738,  12.8571,  12.8699
-   0.269,  2.63233,  10.1839, 1.79808e-197,  25.8737,   12.905,  12.9206
-    0.27,  2.64265,  10.4066, 1.15684e-196,  25.9758,   12.956,  12.9707
-   0.271,  2.65314,  10.5332, 7.35056e-196,  26.0792,  13.0106,   13.019
-   0.272,  2.66371,  10.5438, 4.61358e-195,  26.1826,  13.0679,  13.0655
-   0.273,  2.67423,  10.4371, 2.86096e-194,   26.285,  13.1256,  13.1111
-   0.274,  2.68459,  10.2307, 1.75316e-193,  26.3854,   13.181,  13.1573
-   0.275,  2.69469,  9.95787, 1.06181e-192,   26.483,  13.2321,  13.2054
-   0.276,   2.7045,  9.66238, 6.35719e-192,  26.5778,  13.2783,  13.2553
-   0.277,  2.71402,  9.39155, 3.76316e-191,    26.67,  13.3209,   13.306
-   0.278,  2.72328,  9.18853, 2.20284e-190,  26.7601,   13.362,  13.3558
-   0.279,  2.73239,   9.0855, 1.27534e-189,  26.8492,  13.4034,  13.4037
-    0.28,  2.74146,  9.09856, 7.30383e-189,  26.9385,  13.4462,  13.4499
-   0.281,  2.75059,  9.22522, 4.13835e-188,   27.029,  13.4902,  13.4956
-   0.282,  2.75991,  9.44483, 2.32017e-187,  27.1216,  13.5351,  13.5422
-   0.283,  2.76948,  9.72199, 1.28734e-186,   27.217,  13.5805,  13.5907
-   0.284,  2.77935,  10.0122, 7.06982e-186,  27.3152,  13.6271,  13.6408
-   0.285,   2.7895,  10.2691, 3.84352e-185,   27.416,  13.6761,  13.6913
-   0.286,  2.79989,  10.4518, 2.06878e-184,  27.5185,  13.7284,  13.7408
-   0.287,  2.81041,  10.5313, 1.10261e-183,  27.6218,  13.7841,  13.7884
-   0.288,  2.82095,  10.4954, 5.81979e-183,  27.7248,  13.8416,  13.8344
-   0.289,   2.8314,    10.35, 3.04248e-182,  27.8263,  13.8984,  13.8801
-    0.29,  2.84165,  10.1189, 1.57557e-181,  27.9256,  13.9521,  13.9271
-   0.291,  2.85164,   9.8393, 8.08331e-181,  28.0221,  14.0012,  13.9759
-   0.292,  2.86133,  9.55594, 4.10899e-180,  28.1158,  14.0459,  14.0262
-   0.293,  2.87075,  9.31414, 2.06978e-179,  28.2072,  14.0878,  14.0766
-   0.294,  2.87996,  9.15237, 1.03325e-178,   28.297,   14.129,  14.1257
-   0.295,  2.88905,   9.0962, 5.11249e-178,  28.3862,   14.171,  14.1729
-   0.296,  2.89815,  9.15424, 2.50754e-177,   28.476,  14.2145,  14.2188
-   0.297,  2.90736,  9.31684, 1.21926e-176,  28.5674,   14.259,  14.2647
-   0.298,  2.91678,  9.55767, 5.87799e-176,  28.6612,  14.3042,   14.312
-   0.299,  2.92648,    9.838, 2.80987e-175,  28.7577,    14.35,  14.3613
-     0.3,  2.93646,  10.1129, 1.33202e-174,  28.8569,  14.3974,  14.4117
-   0.301,   2.9467,  10.3385, 6.26251e-174,  28.9583,  14.4476,  14.4619
-   0.302,  2.95714,   10.479, 2.92037e-173,  29.0611,  14.5012,  14.5106
-   0.303,  2.96766,  10.5121, 1.3509e-172,  29.1643,  14.5577,  14.5575
-   0.304,  2.97816,  10.4329, 6.19926e-172,  29.2666,   14.615,  14.6033
-   0.305,  2.98853,  10.2545, 2.82248e-171,  29.3672,  14.6706,  14.6494
-   0.306,  2.99867,  10.0057, 1.27507e-170,  29.4654,  14.7224,  14.6971
-   0.307,  3.00854,  9.72639, 5.71588e-170,  29.5608,  14.7697,  14.7466
-   0.308,  3.01812,  9.46138, 2.54285e-169,  29.6536,  14.8131,  14.7971
-   0.309,  3.02746,  9.25292, 1.12274e-168,  29.7444,  14.8547,  14.8471
-    0.31,  3.03663,  9.13413, 4.92035e-168,   29.834,  14.8962,  14.8954
-   0.311,  3.04573,   9.1237, 2.14045e-167,  29.9235,   14.939,   14.942
-   0.312,  3.05488,  9.22293, 9.24358e-167,  30.0139,  14.9831,  14.9878
-   0.313,  3.06418,  9.41564, 3.96311e-166,  30.1063,   15.028,  15.0341
-   0.314,  3.07371,  9.67073, 1.68704e-165,  30.2012,  15.0734,  15.0822
-   0.315,  3.08352,  9.94726, 7.13082e-165,  30.2988,  15.1198,   15.132
-   0.316,   3.0936,   10.201, 2.99303e-164,  30.3988,  15.1682,  15.1825
-   0.317,  3.10392,  10.3914, 1.24759e-163,  30.5008,  15.2196,  15.2322
-   0.318,  3.11438,  10.4884, 5.16475e-163,  30.6037,  15.2743,  15.2801
-   0.319,   3.1249,  10.4767, 2.12362e-162,  30.7064,  15.3312,  15.3265
-    0.32,  3.13534,  10.3585, 8.67326e-162,  30.8081,  15.3879,  15.3723
-   0.321,  3.14561,  10.1531, 3.51881e-161,  30.9077,  15.4421,   15.419
-   0.322,  3.15564,  9.89344, 1.41823e-160,  31.0047,   15.492,  15.4674
-   0.323,   3.1654,   9.6213, 5.67883e-160,  31.0991,  15.5376,  15.5174
-   0.324,  3.17489,  9.38015, 2.25925e-159,  31.1911,  15.5802,  15.5678
-   0.325,  3.18416,  9.20842, 8.93073e-159,  31.2815,  15.6217,  15.6172
-   0.326,   3.1933,  9.13333, 3.50797e-158,  31.3711,  15.6639,  15.6648
-   0.327,  3.20243,  9.16658, 1.36929e-157,   31.461,  15.7073,   15.711
-   0.328,  3.21164,  9.30252, 5.31169e-157,  31.5522,  15.7518,  15.7568
-   0.329,  3.22103,  9.51912, 2.04782e-156,  31.6456,   15.797,  15.8039
-    0.33,  3.23068,  9.78154, 7.84693e-156,  31.7416,  15.8428,  15.8527
-   0.331,  3.24059,  10.0477, 2.98867e-155,  31.8401,  15.8898,  15.9028
-   0.332,  3.25077,  10.2751, 1.1315e-154,  31.9409,  15.9393,  15.9531
-   0.333,  3.26114,  10.4275, 4.25841e-154,  32.0432,   15.992,  16.0022
-   0.334,  3.27163,  10.4808, 1.59325e-153,  32.1461,  16.0476,  16.0494
-   0.335,  3.28211,  10.4267, 5.92636e-153,  32.2483,  16.1045,  16.0954
-   0.336,  3.29248,  10.2743, 2.19169e-152,  32.3491,  16.1603,  16.1415
-   0.337,  3.30265,  10.0482, 8.05903e-152,  32.4477,  16.2128,  16.1888
-   0.338,  3.31258,  9.78462, 2.94658e-151,  32.5437,  16.2609,   16.238
-   0.339,  3.32222,  9.52593, 1.07129e-150,  32.6371,  16.3052,  16.2883
-    0.34,  3.33163,  9.31338, 3.87323e-150,  32.7285,  16.3473,  16.3383
-   0.341,  3.34085,  9.18081, 1.39263e-149,  32.8186,   16.389,   16.387
-   0.342,  3.34999,  9.14915, 4.97982e-149,  32.9083,  16.4318,   16.434
-   0.343,  3.35915,  9.22317, 1.77105e-148,  32.9988,  16.4758,  16.4799
-   0.344,  3.36844,  9.39074, 6.26475e-148,  33.0909,  16.5207,  16.5262
-   0.345,  3.37793,  9.62481, 2.20422e-147,  33.1853,  16.5662,  16.5739
-   0.346,  3.38768,  9.88779, 7.71441e-147,  33.2823,  16.6124,  16.6233
-   0.347,  3.39771,  10.1376, 2.68575e-146,  33.3818,  16.6603,  16.6736
-   0.348,  3.40796,  10.3343, 9.30173e-146,  33.4832,  16.7109,  16.7235
-   0.349,  3.41837,  10.4467, 3.2049e-145,  33.5857,  16.7647,  16.7719
-    0.35,  3.42885,   10.457, 1.09859e-144,  33.6882,  16.8209,  16.8185
-   0.351,  3.43929,   10.364, 3.7467e-144,  33.7899,  16.8775,  16.8644
-   0.352,  3.44958,  10.1826, 1.27136e-143,  33.8898,   16.932,  16.9109
-   0.353,  3.45965,   9.9423, 4.29253e-143,  33.9873,  16.9828,   16.959
-   0.354,  3.46947,  9.68149, 1.44211e-142,  34.0823,  17.0293,  17.0087
-   0.355,  3.47902,  9.44195, 4.82109e-142,  34.1749,  17.0726,   17.059
-   0.356,  3.48835,   9.2619, 1.60386e-141,  34.2658,  17.1144,  17.1086
-   0.357,  3.49754,  9.16993, 5.30985e-141,  34.3557,  17.1566,  17.1566
-   0.358,  3.50669,  9.18049, 1.74947e-140,  34.4458,     17.2,   17.203
-   0.359,   3.5159,   9.2916, 5.73662e-140,   34.537,  17.2445,   17.249
-    0.36,  3.52527,  9.48524, 1.87217e-139,    34.63,  17.2898,  17.2957
-   0.361,  3.53487,  9.73023, 6.08127e-139,  34.7255,  17.3355,  17.3442
-   0.362,  3.54473,  9.98729, 1.96614e-138,  34.8234,  17.3823,  17.3941
-   0.363,  3.55485,  10.2153, 6.32735e-138,  34.9237,  17.4311,  17.4443
-   0.364,  3.56516,  10.3779, 2.0269e-137,  35.0255,  17.4829,  17.4937
-   0.365,   3.5756,  10.4494, 6.46341e-137,   35.128,  17.5377,  17.5413
-   0.366,  3.58606,  10.4184, 2.05175e-136,  35.2302,  17.5942,  17.5875
-   0.367,  3.59644,  10.2904, 6.48384e-136,  35.3311,    17.65,  17.6336
-   0.368,  3.60664,  10.0859, 2.03987e-135,  35.4301,  17.7031,  17.6806
-   0.369,  3.61661,  9.83789, 6.38922e-135,  35.5266,  17.7521,  17.7294
-    0.37,  3.62632,   9.5861, 1.99243e-134,  35.6206,  17.7972,  17.7794
-   0.371,  3.63578,  9.37077, 6.18617e-134,  35.7125,  17.8398,  17.8296
-   0.372,  3.64506,   9.2262, 1.91239e-133,   35.803,  17.8818,  17.8786
-   0.373,  3.65424,   9.1753, 5.88659e-133,  35.8931,  17.9245,  17.9259
-   0.374,  3.66341,  9.22597, 1.80424e-132,  35.9836,  17.9685,   17.972
-   0.375,  3.67269,  9.36982, 5.50657e-132,  36.0755,  18.0134,  18.0182
-   0.376,  3.68215,  9.58363, 1.67355e-131,  36.1695,  18.0589,  18.0656
-   0.377,  3.69186,  9.83304, 5.06498e-131,   36.266,   18.105,  18.1147
-   0.378,  3.70182,  10.0781, 1.52656e-130,  36.3648,  18.1524,  18.1648
-   0.379,  3.71201,  10.2797, 4.582e-130,  36.4657,  18.2024,  18.2148
-    0.38,  3.72238,  10.4057, 1.36968e-129,  36.5678,  18.2554,  18.2635
-   0.381,  3.73282,  10.4362, 4.07769e-129,  36.6701,  18.3109,  18.3105
-   0.382,  3.74325,  10.3665, 1.20908e-128,  36.7718,  18.3672,  18.3566
-   0.383,  3.75356,  10.2081, 3.57067e-128,   36.872,   18.422,  18.4029
-   0.384,  3.76366,  9.98648, 1.0503e-127,  36.9699,  18.4735,  18.4506
-   0.385,  3.77353,  9.73725, 3.07722e-127,  37.0655,  18.5208,     18.5
-   0.386,  3.78314,  9.50029, 8.98037e-127,  37.1587,  18.5648,  18.5502
-   0.387,  3.79253,  9.31344, 2.61055e-126,    37.25,  18.6071,     18.6
-   0.388,  3.80177,  9.20642, 7.55934e-126,  37.3403,  18.6494,  18.6483
-   0.389,  3.81094,  9.19613, 2.18052e-125,  37.4305,  18.6927,  18.6951
-    0.39,  3.82016,  9.28397, 6.26575e-125,  37.5216,  18.7372,  18.7411
-   0.391,  3.82951,  9.45564, 1.79363e-124,  37.6144,  18.7824,  18.7877
-   0.392,  3.83907,  9.68349, 5.11504e-124,  37.7094,  18.8281,  18.8357
-   0.393,  3.84888,  9.93099, 1.45323e-123,  37.8068,  18.8747,  18.8853
-   0.394,  3.85893,  10.1585, 4.11337e-123,  37.9065,   18.923,  18.9355
-   0.395,  3.86919,  10.3298, 1.15998e-122,  38.0078,  18.9741,  18.9851
-   0.396,  3.87959,  10.4175, 3.25912e-122,    38.11,  19.0281,  19.0331
-   0.397,  3.89003,   10.408, 9.1235e-122,  38.2121,   19.084,  19.0796
-   0.398,  3.90041,  10.3029, 2.54473e-121,  38.3132,  19.1399,  19.1257
-   0.399,  3.91063,  10.1193, 7.07213e-121,  38.4124,  19.1934,  19.1725
-     0.4,  3.92065,  9.88676, 1.95839e-120,  38.5094,  19.2432,  19.2209
-   0.401,  3.93041,  9.64251, 5.40374e-120,   38.604,  19.2891,  19.2707
-   0.402,  3.93993,  9.42564, 1.48576e-119,  38.6965,  19.3323,  19.3208
-   0.403,  3.94926,  9.27074, 4.07073e-119,  38.7874,  19.3745,  19.3701
-   0.404,  3.95847,  9.20239, 1.1114e-118,  38.8777,  19.4172,  19.4178
-   0.405,  3.96766,  9.23132, 3.02383e-118,  38.9683,  19.4611,  19.4641
-   0.406,  3.97693,  9.35265, 8.19859e-118,    39.06,   19.506,  19.5103
-   0.407,  3.98637,  9.54677, 2.21526e-117,  39.1537,  19.5515,  19.5574
-   0.408,  3.99603,  9.78248, 5.9652e-117,  39.2496,  19.5975,  19.6061
-   0.409,  4.00593,   10.022, 1.60084e-116,  39.3479,  19.6446,   19.656
-    0.41,  4.01607,  10.2271, 4.28155e-116,  39.4483,  19.6939,  19.7061
-   0.411,  4.02639,   10.365, 1.14129e-115,    39.55,  19.7461,  19.7551
-   0.412,   4.0368,  10.4139, 3.03205e-115,  39.6521,   19.801,  19.8024
-   0.413,  4.04722,  10.3661, 8.02852e-115,  39.7538,   19.857,  19.8487
-   0.414,  4.05753,  10.2296, 2.11885e-114,  39.8542,   19.912,  19.8949
-   0.415,  4.06768,  10.0264, 5.57364e-114,  39.9525,  19.9641,  19.9423
-   0.416,  4.07759,  9.78906, 1.46137e-113,  40.0485,  20.0123,  19.9913
-   0.417,  4.08725,  9.55565, 3.81918e-113,  40.1423,   20.057,  20.0414
-   0.418,   4.0967,  9.36345, 9.94902e-113,  40.2341,  20.0997,  20.0913
-   0.419,  4.10598,  9.24307, 2.58343e-112,  40.3248,   20.142,    20.14
-    0.42,  4.11518,  9.21359, 6.68692e-112,  40.4152,  20.1853,  20.1871
-   0.421,  4.12441,  9.27949, 1.72536e-111,  40.5062,  20.2297,  20.2332
-   0.422,  4.13374,  9.43001, 4.43773e-111,  40.5987,   20.275,  20.2796
-   0.423,  4.14327,  9.64091, 1.13784e-110,  40.6933,  20.3207,  20.3274
-   0.424,  4.15303,  9.87834, 2.90835e-110,  40.7902,  20.3671,  20.3766
-   0.425,  4.16302,  10.1043, 7.4108e-110,  40.8894,  20.4149,  20.4268
-   0.426,  4.17323,  10.2827, 1.88254e-109,  40.9902,  20.4653,  20.4765
-   0.427,  4.18359,  10.3851, 4.76749e-109,  41.0921,  20.5186,  20.5248
-   0.428,    4.194,  10.3954, 1.20368e-108,  41.1941,   20.574,  20.5716
-   0.429,  4.20438,  10.3121, 3.0298e-108,  41.2952,  20.6297,  20.6177
-    0.43,  4.21463,  10.1487, 7.60339e-108,  41.3948,  20.6837,  20.6644
-   0.431,  4.22468,  9.93161, 1.90238e-107,  41.4922,  20.7342,  20.7124
-   0.432,  4.23449,  9.69558, 4.74558e-107,  41.5873,  20.7809,   20.762
-   0.433,  4.24407,  9.47839, 1.1803e-106,  41.6803,  20.8246,  20.8121
-   0.434,  4.25345,  9.31469, 2.92694e-106,  41.7717,  20.8671,  20.8616
-   0.435,   4.2627,  9.23053, 7.23701e-106,  41.8623,  20.9099,  20.9096
-   0.436,  4.27191,  9.23918, 1.78417e-105,  41.9529,  20.9537,  20.9562
-   0.437,  4.28118,  9.33903, 4.38581e-105,  42.0445,  20.9985,  21.0023
-   0.438,  4.29059,  9.51393, 1.075e-104,  42.1378,   21.044,  21.0492
-   0.439,  4.30021,  9.73575, 2.62735e-104,  42.2333,    21.09,  21.0976
-    0.44,  4.31006,  9.96893, 6.40301e-104,  42.3311,  21.1369,  21.1473
-   0.441,  4.32014,  10.1762, 1.55602e-103,   42.431,  21.1856,  21.1974
-   0.442,  4.33041,  10.3244, 3.77065e-103,  42.5323,  21.2371,  21.2466
-   0.443,  4.34079,  10.3901, 9.1116e-103,  42.6342,  21.2912,  21.2943
-   0.444,  4.35119,   10.363, 2.19561e-102,  42.7358,  21.3469,  21.3407
-   0.445,  4.36152,  10.2475, 5.27601e-102,  42.8364,  21.4021,  21.3869
-   0.446,  4.37169,  10.0623, 1.2643e-101,  42.9351,  21.4547,  21.4341
-   0.447,  4.38164,  9.83728, 3.02133e-101,  43.0316,  21.5037,  21.4828
-   0.448,  4.39136,  9.60836, 7.20034e-101,  43.1258,  21.5491,  21.5327
-   0.449,  4.40086,  9.41218, 1.71128e-100,  43.2182,  21.5922,  21.5826
-    0.45,  4.41019,  9.28003, 4.0561e-100,  43.3092,  21.6347,  21.6316
-   0.451,  4.41942,  9.23286, 9.58787e-100,  43.3998,  21.6779,   21.679
-   0.452,  4.42865,  9.27805, 2.2603e-99,  43.4908,  21.7223,  21.7253
-   0.453,  4.43798,  9.40816, 5.31432e-99,  43.5831,  21.7675,  21.7716
-   0.454,  4.44747,   9.6022, 1.24615e-98,  43.6773,  21.8132,   21.819
-   0.455,  4.45718,  9.82903, 2.91437e-98,  43.7737,  21.8594,   21.868
-   0.456,  4.46713,  10.0523, 6.79784e-98,  43.8723,   21.907,   21.918
-   0.457,  4.47728,  10.2364, 1.58146e-97,  43.9728,  21.9567,  21.9678
-   0.458,   4.4876,  10.3519, 3.66951e-97,  44.0743,  22.0092,  22.0165
-   0.459,  4.49799,  10.3806, 8.4924e-97,  44.1761,  22.0641,  22.0636
-    0.46,  4.50836,   10.318, 1.96033e-96,  44.2774,  22.1197,  22.1098
-   0.461,  4.51862,  10.1743, 4.51345e-96,  44.3772,  22.1739,  22.1563
-   0.462,  4.52871,  9.97273, 1.03651e-95,   44.475,  22.2251,  22.2041
-   0.463,  4.53857,  9.74559, 2.37429e-95,  44.5706,  22.2726,  22.2533
-   0.464,   4.5482,  9.52923, 5.42487e-95,  44.6641,  22.3169,  22.3033
-   0.465,  4.55763,  9.35822, 1.23637e-94,  44.7559,  22.3597,   22.353
-   0.466,  4.56692,  9.25978, 2.8107e-94,  44.8467,  22.4025,  22.4013
-   0.467,  4.57615,  9.24949, 6.37372e-94,  44.9375,  22.4462,  22.4482
-   0.468,  4.58541,  9.32882, 1.44175e-93,   45.029,   22.491,  22.4944
-   0.469,  4.59481,  9.48489, 3.25319e-93,   45.122,  22.5365,  22.5411
-    0.47,  4.60438,  9.69258, 7.32247e-93,  45.2171,  22.5824,  22.5891
-   0.471,  4.61419,   9.9186, 1.64414e-92,  45.3144,  22.6291,  22.6386
-   0.472,  4.62422,  10.1268, 3.68262e-92,  45.4138,  22.6774,  22.6886
-   0.473,  4.63444,  10.2839, 8.22844e-92,  45.5146,  22.7282,  22.7381
-   0.474,  4.64479,  10.3649, 1.83411e-91,  45.6163,  22.7817,  22.7861
-   0.475,  4.65517,  10.3571, 4.07837e-91,  45.7179,  22.8369,  22.8328
-   0.476,   4.6655,  10.2618, 9.047e-91,  45.8186,  22.8921,   22.879
-   0.477,   4.6757,  10.0945, 2.00209e-90,  45.9176,  22.9452,  22.9259
-   0.478,  4.68569,  9.88213, 4.42007e-90,  46.0146,  22.9949,  22.9743
-   0.479,  4.69546,  9.65863, 9.73523e-90,  46.1093,   23.041,  23.0239
-    0.48,  4.70501,  9.45979, 2.13914e-89,  46.2021,  23.0846,  23.0739
-   0.481,  4.71438,  9.31735, 4.68933e-89,  46.2935,  23.1273,  23.1231
-   0.482,  4.72364,  9.25394, 1.02557e-88,  46.3843,  23.1705,  23.1708
-   0.483,  4.73289,  9.27955, 2.23776e-88,  46.4753,  23.2148,  23.2173
-   0.484,   4.7422,  9.38989, 4.87138e-88,  46.5674,  23.2599,  23.2636
-   0.485,  4.75167,  9.56715, 1.05801e-87,  46.6613,  23.3056,  23.3108
-   0.486,  4.76134,  9.78286, 2.2926e-87,  46.7573,  23.3518,  23.3595
-   0.487,  4.77123,  10.0025, 4.95649e-87,  46.8554,   23.399,  23.4093
-   0.488,  4.78134,  10.1909, 1.06913e-86,  46.9554,  23.4482,  23.4592
-   0.489,  4.79162,   10.318, 2.30093e-86,  47.0566,     23.5,  23.5081
-    0.49,  4.80198,  10.3637, 4.94076e-86,  47.1583,  23.5543,  23.5555
-   0.491,  4.81234,  10.3207, 1.05854e-85,  47.2595,  23.6097,  23.6019
-   0.492,  4.82262,  10.1963, 2.26282e-85,  47.3595,  23.6642,  23.6483
-   0.493,  4.83274,  10.0103, 4.82642e-85,  47.4577,  23.7159,  23.6957
-   0.494,  4.84264,  9.79271, 1.02715e-84,  47.5538,  23.7642,  23.7447
-   0.495,  4.85232,  9.57832, 2.18115e-84,  47.6478,  23.8091,  23.7946
-   0.496,   4.8618,  9.40139, 4.62145e-84,    47.74,  23.8523,  23.8444
-   0.497,  4.87112,  9.29013, 9.77058e-84,  47.8311,  23.8951,   23.893
-   0.498,  4.88038,  9.26219, 2.06117e-83,   47.922,  23.9388,  23.9401
-   0.499,  4.88965,  9.32187, 4.33874e-83,  48.0134,  23.9835,  23.9865
-     0.5,  4.89902,  9.45946, 9.11324e-83,  48.1062,  24.0289,   24.033
-   0.501,  4.90857,   9.6528, 1.91005e-82,  48.2009,  24.0748,  24.0808
-   0.502,  4.91833,  9.87089, 3.99471e-82,  48.2978,  24.1214,  24.1299
-   0.503,  4.92831,  10.0788, 8.33676e-82,  48.3966,  24.1692,  24.1799
-   0.504,  4.93849,  10.2433, 1.73614e-81,  48.4971,  24.2194,  24.2295
-   0.505,   4.9488,  10.3383, 3.60786e-81,  48.5985,  24.2722,  24.2778
-   0.506,  4.95916,  10.3486, 7.48164e-81,  48.7001,   24.327,  24.3248
-   0.507,  4.96949,  10.2728, 1.54821e-80,  48.8008,  24.3822,   24.371
-   0.508,  4.97971,  10.1232, 3.19709e-80,  48.9001,  24.4357,  24.4178
-   0.509,  4.98974,  9.92378, 6.58828e-80,  48.9975,  24.4861,  24.4658
-    0.51,  4.99955,  9.70659, 1.35483e-79,  49.0927,  24.5329,  24.5152
-   0.511,  5.00915,  9.50636, 2.78036e-79,   49.186,   24.577,  24.5652
-   0.512,  5.01857,  9.35505, 5.69404e-79,  49.2777,  24.6199,  24.6146
-   0.513,  5.02786,  9.27677, 1.16372e-78,  49.3687,  24.6631,  24.6626
-   0.514,  5.03712,  9.28387, 2.37348e-78,  49.4598,  24.7072,  24.7094
-   0.515,  5.04643,  9.37506, 4.83102e-78,  49.5518,  24.7523,  24.7556
-   0.516,  5.05587,   9.5356, 9.81319e-78,  49.6453,   24.798,  24.8026
-   0.517,   5.0655,  9.73969, 1.98931e-77,  49.7409,  24.8442,   24.851
-   0.518,  5.07535,  9.95462, 4.02458e-77,  49.8385,  24.8911,  24.9005
-   0.519,  5.08541,   10.146, 8.1258e-77,  49.9381,  24.9398,  24.9505
-    0.52,  5.09564,  10.2833, 1.63736e-76,  50.0389,   24.991,  24.9996
-   0.521,  5.10598,  10.3447, 3.29273e-76,  50.1404,  25.0447,  25.0474
-   0.522,  5.11633,  10.3205, 6.60857e-76,  50.2417,  25.0997,  25.0939
-   0.523,  5.12662,  10.2148, 1.32373e-75,  50.3419,  25.1544,  25.1403
-   0.524,  5.13676,  10.0445, 2.64629e-75,  50.4404,  25.2067,  25.1875
-   0.525,  5.14671,  9.83707, 5.27987e-75,  50.5369,  25.2556,  25.2361
-   0.526,  5.15644,  9.62572, 1.05138e-74,  50.6313,  25.3012,  25.2859
-   0.527,  5.16596,  9.44422, 2.08954e-74,   50.724,  25.3448,  25.3357
-   0.528,  5.17532,  9.32153, 4.14476e-74,  50.8154,  25.3877,  25.3846
-   0.529,   5.1846,  9.27717, 8.20556e-74,  50.9064,  25.4313,  25.4321
-    0.53,  5.19388,  9.31806, 1.62137e-73,  50.9979,  25.4759,  25.4785
-   0.531,  5.20324,  9.43751, 3.19758e-73,  51.0904,  25.5213,   25.525
-   0.532,  5.21275,  9.61628, 6.29406e-73,  51.1848,  25.5672,  25.5724
-   0.533,  5.22247,  9.82568, 1.23655e-72,  51.2812,  25.6136,  25.6213
-   0.534,  5.23241,  10.0322, 2.42478e-72,  51.3796,  25.6612,  25.6712
-   0.535,  5.24254,  10.2028, 4.7458e-72,  51.4797,  25.7108,  25.7209
-   0.536,  5.25281,  10.3103, 9.27105e-72,  51.5808,  25.7629,  25.7695
-   0.537,  5.26316,  10.3376, 1.80773e-71,  51.6822,  25.8172,  25.8167
-   0.538,  5.27349,  10.2805, 3.51824e-71,  51.7831,  25.8723,  25.8631
-   0.539,  5.28372,  10.1483, 6.83453e-71,  51.8826,  25.9261,  25.9097
-    0.54,  5.29378,  9.96233, 1.32521e-70,  51.9804,  25.9771,  25.9574
-   0.541,  5.30364,   9.7523, 2.56482e-70,   52.076,  26.0246,  26.0066
-   0.542,  5.31329,  9.55189, 4.95484e-70,  52.1697,  26.0693,  26.0565
-   0.543,  5.32275,   9.3931, 9.55442e-70,  52.2619,  26.1125,   26.106
-   0.544,  5.33207,  9.30126, 1.83901e-69,  52.3531,  26.1557,  26.1543
-   0.545,  5.34135,   9.2909, 3.53322e-69,  52.4443,  26.1997,  26.2013
-   0.546,  5.35066,  9.36355, 6.77591e-69,  52.5361,  26.2447,  26.2477
-   0.547,  5.36008,  9.50743, 1.29712e-68,  52.6294,  26.2904,  26.2945
-   0.548,  5.36967,  9.69942, 2.47859e-68,  52.7246,  26.3365,  26.3425
-   0.549,  5.37947,  9.90873, 4.7277e-68,  52.8218,  26.3833,  26.3919
-    0.55,  5.38949,  10.1019, 9.00154e-68,  52.9209,  26.4315,  26.4418
-   0.551,  5.39968,   10.248, 1.71083e-67,  53.0214,  26.4821,  26.4911
-   0.552,  5.40998,  10.3239, 3.24582e-67,  53.1227,  26.5352,  26.5391
-   0.553,  5.42033,  10.3174, 6.14711e-67,  53.2239,  26.5899,  26.5859
-   0.554,  5.43062,  10.2299, 1.16212e-66,  53.3242,  26.6446,  26.6323
-   0.555,  5.44079,  10.0754, 2.19312e-66,  53.4231,  26.6974,  26.6793
-   0.556,  5.45077,  9.87874, 4.13154e-66,    53.52,   26.747,  26.7276
-   0.557,  5.46054,  9.67146, 7.76965e-66,  53.6149,  26.7932,  26.7772
-   0.558,  5.47011,  9.48669, 1.45859e-65,  53.7079,  26.8372,   26.827
-   0.559,  5.47952,  9.35393, 2.73344e-65,  53.7997,  26.8803,  26.8761
-    0.56,  5.48882,  9.29432, 5.11367e-65,  53.8909,  26.9238,  26.9239
-   0.561,   5.4981,  9.31726, 9.55006e-65,  53.9823,  26.9683,  26.9705
-   0.562,  5.50745,  9.41892, 1.78046e-64,  54.0747,  27.0137,  27.0169
-   0.563,  5.51694,  9.58292, 3.31368e-64,  54.1687,  27.0596,  27.0642
-   0.564,  5.52662,  9.78293, 6.1567e-64,  54.2646,  27.1059,  27.1128
-   0.565,  5.53651,  9.98691, 1.14194e-63,  54.3626,  27.1532,  27.1625
-   0.566,  5.54659,  10.1623, 2.11447e-63,  54.4623,  27.2022,  27.2122
-   0.567,  5.55683,   10.281, 3.90863e-63,  54.5632,  27.2538,  27.2611
-   0.568,  5.56716,  10.3242, 7.21295e-63,  54.6644,  27.3076,  27.3086
-   0.569,  5.57748,  10.2851, 1.32883e-62,  54.7653,  27.3624,  27.3551
-    0.57,  5.58773,  10.1702, 2.44399e-62,  54.8651,  27.4165,  27.4016
-   0.571,  5.59782,  9.99786, 4.48748e-62,  54.9632,  27.4681,  27.4491
-   0.572,  5.60772,  9.79581, 8.22585e-62,  55.0593,  27.5163,   27.498
-   0.573,  5.61741,  9.59638, 1.50535e-61,  55.1534,  27.5615,  27.5478
-   0.574,  5.62691,  9.43144, 2.75027e-61,   55.246,   27.605,  27.5974
-   0.575,  5.63628,  9.32731, 5.01643e-61,  55.3375,  27.6482,   27.646
-   0.576,  5.64557,  9.30053, 9.13481e-61,  55.4287,  27.6922,  27.6933
-   0.577,  5.65488,  9.35524, 1.6607e-60,  55.5205,  27.7371,  27.7397
-   0.578,  5.66428,  9.48255, 3.0142e-60,  55.6135,  27.7828,  27.7864
-   0.579,  5.67384,  9.66199, 5.46192e-60,  55.7083,  27.8288,  27.8341
-    0.58,   5.6836,  9.86479, 9.88126e-60,   55.805,  27.8754,  27.8832
-   0.581,  5.69357,  10.0585, 1.78474e-59,  55.9037,  27.9233,   27.933
-   0.582,  5.70372,  10.2121, 3.21837e-59,  56.0039,  27.9733,  27.9826
-   0.583,    5.714,  10.3012, 5.79424e-59,   56.105,  28.0258,  28.0309
-   0.584,  5.72432,  10.3116, 1.0415e-58,  56.2061,  28.0801,  28.0779
-   0.585,  5.73462,  10.2418, 1.86908e-58,  56.3066,  28.1348,  28.1243
-   0.586,  5.74481,  10.1031, 3.34889e-58,  56.4057,   28.188,  28.1711
-   0.587,  5.75483,  9.91776, 5.99079e-58,   56.503,  28.2382,  28.2192
-   0.588,  5.76464,  9.71552, 1.06998e-57,  56.5983,  28.2851,  28.2685
-   0.589,  5.77426,  9.52873, 1.90802e-57,  56.6918,  28.3296,  28.3183
-    0.59,   5.7837,  9.38723, 3.39707e-57,  56.7839,  28.3728,  28.3676
-   0.591,  5.79303,  9.31355, 6.03868e-57,  56.8752,  28.4163,  28.4157
-   0.592,  5.80233,  9.31936, 1.07176e-56,  56.9667,  28.4607,  28.4625
-   0.593,  5.81167,   9.4036, 1.89922e-56,  57.0589,   28.506,  28.5089
-   0.594,  5.82113,  9.55267, 3.36028e-56,  57.1526,  28.5519,   28.556
-   0.595,  5.83078,  9.74262, 5.93609e-56,  57.2482,  28.5981,  28.6043
-   0.596,  5.84062,  9.94303, 1.04701e-55,  57.3457,  28.6452,  28.6538
-   0.597,  5.85066,  10.1218, 1.84388e-55,   57.445,  28.6938,  28.7036
-   0.598,  5.86086,  10.2505, 3.24223e-55,  57.5456,  28.7448,  28.7527
-   0.599,  5.87116,  10.3085, 5.69228e-55,  57.6467,   28.798,  28.8004
-     0.6,  5.88148,  10.2867, 9.97847e-55,  57.7476,  28.8526,  28.8471
-   0.601,  5.89174,  10.1888, 1.74654e-54,  57.8476,  28.9068,  28.8936
-   0.602,  5.90186,  10.0304, 3.05232e-54,   57.946,  28.9589,  28.9409
-   0.603,   5.9118,  9.83711, 5.32626e-54,  58.0425,  29.0078,  28.9894
-   0.604,  5.92153,  9.63977, 9.28018e-54,   58.137,  29.0536,  29.0391
-   0.605,  5.93108,  9.46998, 1.61449e-53,  58.2299,  29.0975,  29.0888
-   0.606,  5.94047,  9.35482, 2.80451e-53,  58.3217,  29.1408,  29.1376
-   0.607,  5.94979,  9.31263, 4.86439e-53,  58.4131,  29.1846,  29.1852
-   0.608,   5.9591,  9.35002, 8.42458e-53,  58.5048,  29.2295,  29.2317
-   0.609,  5.96849,  9.46088, 1.45686e-52,  58.5976,  29.2751,  29.2783
-    0.61,  5.97802,  9.62738, 2.51561e-52,   58.692,  29.3211,  29.3258
-   0.611,  5.98774,   9.8228, 4.33732e-52,  58.7884,  29.3676,  29.3746
-   0.612,  5.99766,  10.0159, 7.46716e-52,  58.8867,  29.4152,  29.4243
-   0.613,  6.00777,  10.1757, 1.28365e-51,  58.9865,  29.4647,   29.474
-   0.614,  6.01802,  10.2768, 2.20344e-51,  59.0873,  29.5165,  29.5226
-   0.615,  6.02833,  10.3031, 3.77672e-51,  59.1884,  29.5704,  29.5698
-   0.616,  6.03862,  10.2505, 6.46385e-51,  59.2889,   29.625,  29.6163
-   0.617,  6.04883,  10.1276, 1.10467e-50,  59.3883,  29.6785,   29.663
-   0.618,  6.05888,  9.95414, 1.88513e-50,  59.4859,  29.7293,  29.7108
-   0.619,  6.06873,  9.75789, 3.21232e-50,  59.5817,  29.7769,  29.7599
-    0.62,  6.07839,  9.57028, 5.46595e-50,  59.6755,  29.8218,  29.8096
-   0.621,  6.08788,  9.42131, 9.28718e-50,   59.768,  29.8653,  29.8591
-   0.622,  6.09724,  9.33471, 1.57571e-49,  59.8595,  29.9088,  29.9074
-   0.623,  6.10654,  9.32424, 2.66957e-49,   59.951,  29.9531,  29.9545
-   0.624,  6.11588,  9.39145, 4.51632e-49,  60.0431,  29.9984,  30.0009
-   0.625,  6.12533,  9.52546, 7.62967e-49,  60.1366,  30.0442,  30.0478
-   0.626,  6.13493,  9.70475, 1.28708e-48,  60.2318,  30.0904,  30.0958
-   0.627,  6.14474,  9.90058, 2.16815e-48,  60.3289,  30.1373,  30.1451
-   0.628,  6.15474,  10.0816, 3.64715e-48,  60.4278,  30.1855,  30.1949
-   0.629,   6.1649,  10.2189, 6.12637e-48,  60.5281,  30.2359,  30.2442
-    0.63,  6.17517,  10.2907, 1.02763e-47,   60.629,  30.2886,  30.2922
-   0.631,  6.18548,  10.2854, 1.72132e-47,  60.7299,  30.3429,  30.3391
-   0.632,  6.19574,  10.2042, 2.87921e-47,    60.83,  30.3972,  30.3856
-   0.633,  6.20589,  10.0601, 4.80924e-47,  60.9287,  30.4497,  30.4326
-   0.634,  6.21586,  9.87618, 8.02179e-47,  61.0256,  30.4992,  30.4809
-   0.635,  6.22564,  9.68201, 1.33616e-46,  61.1206,  30.5457,  30.5304
-   0.636,  6.23523,   9.5086, 2.22251e-46,  61.2139,  30.5899,  30.5801
-   0.637,  6.24466,  9.38366, 3.69168e-46,  61.3059,  30.6333,  30.6292
-   0.638,    6.254,  9.32707, 6.12354e-46,  61.3974,  30.6771,   30.677
-   0.639,  6.26331,  9.34778, 1.01433e-45,  61.4891,  30.7218,  30.7237
-    0.64,  6.27269,  9.44236, 1.67788e-45,  61.5817,  30.7674,  30.7702
-   0.641,   6.2822,  9.59557, 2.77167e-45,  61.6759,  30.8134,  30.8175
-   0.642,  6.29188,  9.78282, 4.57222e-45,  61.7718,  30.8598,  30.8661
-   0.643,  6.30176,  9.97412, 7.53213e-45,  61.8697,  30.9071,  30.9157
-   0.644,  6.31183,  10.1389, 1.23913e-44,  61.9691,  30.9561,  30.9653
-   0.645,  6.32204,  10.2508, 2.03574e-44,  62.0697,  31.0074,  31.0142
-   0.646,  6.33233,  10.2921, 3.33993e-44,  62.1707,  31.0609,  31.0617
-   0.647,  6.34263,  10.2562, 5.47222e-44,  62.2713,  31.1153,  31.1083
-   0.648,  6.35285,  10.1491, 8.95369e-44,  62.3709,   31.169,  31.1549
-   0.649,  6.36292,  9.98789, 1.46303e-43,  62.4688,  31.2204,  31.2025
-    0.65,  6.37282,   9.7985, 2.38738e-43,   62.565,  31.2686,  31.2513
-   0.651,  6.38252,  9.61124, 3.89051e-43,  62.6592,   31.314,  31.3009
-   0.652,  6.39204,  9.45604, 6.33153e-43,   62.752,  31.3578,  31.3505
-   0.653,  6.40143,  9.35768, 1.02903e-42,  62.8438,  31.4013,  31.3991
-   0.654,  6.41076,  9.33178, 1.67021e-42,  62.9353,  31.4455,  31.4464
-   0.655,   6.4201,  9.38238, 2.70729e-42,  63.0274,  31.4907,   31.493
-   0.656,  6.42952,  9.50127, 4.38249e-42,  63.1206,  31.5365,  31.5397
-   0.657,   6.4391,  9.66934, 7.08486e-42,  63.2155,  31.5826,  31.5875
-   0.658,  6.44886,  9.85964, 1.14385e-41,  63.3122,  31.6294,  31.6365
-   0.659,  6.45882,  10.0417, 1.8443e-41,  63.4107,  31.6772,  31.6862
-    0.66,  6.46895,  10.1865, 2.96977e-41,  63.5106,  31.7271,  31.7356
-   0.661,  6.47919,  10.2708, 4.77578e-41,  63.6114,  31.7793,   31.784
-   0.662,  6.48949,  10.2814, 7.67002e-41,  63.7122,  31.8332,  31.8311
-   0.663,  6.49975,  10.2165, 1.23021e-40,  63.8125,  31.8875,  31.8776
-   0.664,  6.50992,  10.0868, 1.9706e-40,  63.9114,  31.9404,  31.9245
-   0.665,  6.51993,  9.91299, 3.15246e-40,  64.0087,  31.9905,  31.9725
-   0.666,  6.52975,    9.723, 5.03659e-40,   64.104,  32.0376,  32.0217
-   0.667,  6.53937,   9.5472, 8.0364e-40,  64.1977,  32.0822,  32.0715
-   0.668,  6.54884,  9.41368, 1.28063e-39,    64.29,  32.1258,  32.1207
-   0.669,   6.5582,  9.34372, 2.0381e-39,  64.3817,  32.1696,  32.1688
-    0.67,  6.56753,  9.34842, 3.23943e-39,  64.4734,  32.2142,  32.2157
-   0.671,   6.5769,  9.42691, 5.14224e-39,  64.5659,  32.2596,  32.2622
-   0.672,  6.58638,  9.56654, 8.15228e-39,  64.6597,  32.3056,  32.3093
-   0.673,  6.59603,  9.74488, 1.29077e-38,  64.7553,   32.352,  32.3576
-   0.674,  6.60587,  9.93337, 2.04111e-38,  64.8528,  32.3991,   32.407
-   0.675,   6.6159,  10.1019, 3.22351e-38,  64.9519,  32.4477,  32.4567
-   0.676,  6.62608,  10.2234, 5.08438e-38,  65.0522,  32.4984,  32.5057
-   0.677,  6.63635,  10.2787, 8.00934e-38,   65.153,  32.5514,  32.5536
-   0.678,  6.64663,   10.259, 1.2601e-37,  65.2536,  32.6056,  32.6003
-   0.679,  6.65686,  10.1675, 1.98e-37,  65.3534,  32.6594,  32.6469
-    0.68,  6.66697,   10.019, 3.10724e-37,  65.4517,  32.7113,  32.6942
-   0.681,   6.6769,  9.83728, 4.87012e-37,  65.5482,  32.7602,  32.7427
-   0.682,  6.68664,  9.65148, 7.62356e-37,  65.6429,  32.8062,  32.7923
-   0.683,   6.6962,   9.4913, 1.19188e-36,   65.736,  32.8503,  32.8419
-   0.684,  6.70563,   9.3823, 1.86106e-36,   65.828,  32.8938,  32.8907
-   0.685,  6.71497,  9.34185, 2.90234e-36,  65.9197,  32.9379,  32.9383
-   0.686,  6.72431,  9.37631, 4.52058e-36,  66.0116,   32.983,   32.985
-   0.687,  6.73372,  9.48005, 7.03233e-36,  66.1046,  33.0287,  33.0316
-   0.688,  6.74327,   9.6364, 1.09261e-35,  66.1992,  33.0749,  33.0791
-   0.689,  6.75299,  9.82028, 1.69548e-35,  66.2955,  33.1215,  33.1279
-    0.69,  6.76291,  10.0022, 2.62774e-35,  66.3936,  33.1691,  33.1775
-   0.691,    6.773,  10.1532, 4.06758e-35,  66.4932,  33.2184,  33.2271
-   0.692,  6.78322,  10.2491, 6.2886e-35,  66.5938,  33.2701,  33.2756
-   0.693,   6.7935,  10.2746, 9.71042e-35,  66.6946,  33.3236,   33.323
-   0.694,  6.80377,  10.2258, 1.49758e-34,  66.7949,  33.3778,  33.3696
-   0.695,  6.81395,  10.1106, 2.30678e-34,  66.8941,   33.431,  33.4163
-   0.696,  6.82399,  9.94751, 3.5489e-34,  66.9917,  33.4817,  33.4641
-   0.697,  6.83384,  9.76265, 5.45319e-34,  67.0874,  33.5294,  33.5131
-   0.698,  6.84351,  9.58563, 8.36907e-34,  67.1815,  33.5745,  33.5628
-   0.699,  6.85301,  9.44473, 1.28285e-33,  67.2741,  33.6183,  33.6122
-     0.7,   6.8624,  9.36244, 1.96403e-33,   67.366,   33.662,  33.6605
-   0.701,  6.87174,  9.35183, 3.00325e-33,  67.4577,  33.7065,  33.7077
-   0.702,   6.8811,  9.41448, 4.58681e-33,  67.5501,  33.7519,  33.7542
-   0.703,  6.89057,  9.54029, 6.9969e-33,  67.6436,  33.7979,  33.8011
-   0.704,  6.90019,  9.70904, 1.06605e-32,  67.7389,  33.8442,  33.8492
-   0.705,  6.90999,  9.89369, 1.62227e-32,   67.836,  33.8911,  33.8984
-   0.706,  6.91997,  10.0647, 2.46576e-32,  67.9347,  33.9393,   33.948
-   0.707,  6.93012,  10.1947, 3.7433e-32,  68.0347,  33.9896,  33.9973
-   0.708,  6.94036,  10.2631, 5.67597e-32,  68.1354,   34.042,  34.0453
-   0.709,  6.95064,  10.2589, 8.59619e-32,   68.236,  34.0959,  34.0923
-    0.71,  6.96088,  10.1829, 1.30033e-31,  68.3359,  34.1499,  34.1389
-   0.711,  6.97101,  10.0474, 1.96464e-31,  68.4345,  34.2022,   34.186
-   0.712,  6.98098,  9.87418, 2.96481e-31,  68.5313,  34.2516,  34.2343
-   0.713,  6.99076,  9.69091, 4.46884e-31,  68.6264,  34.2982,  34.2836
-   0.714,  7.00036,  9.52693, 6.72788e-31,  68.7199,  34.3426,  34.3333
-   0.715,  7.00981,  9.40844, 1.01169e-30,  68.8122,  34.3863,  34.3823
-   0.716,  7.01917,  9.35432, 1.51951e-30,  68.9039,  34.4304,  34.4301
-   0.717,  7.02852,  9.37314, 2.27954e-30,  68.9959,  34.4753,  34.4769
-   0.718,  7.03792,  9.46178, 3.4157e-30,  69.0887,   34.521,  34.5235
-   0.719,  7.04744,  9.60597, 5.11212e-30,  69.1829,  34.5671,  34.5709
-    0.72,  7.05713,  9.78259, 7.6421e-30,  69.2789,  34.6136,  34.6194
-   0.721,  7.06701,  9.96334, 1.14108e-29,  69.3766,  34.6609,  34.6689
-   0.722,  7.07706,  10.1193, 1.70181e-29,  69.4759,  34.7099,  34.7185
-   0.723,  7.08725,  10.2256, 2.53511e-29,  69.5762,   34.761,  34.7673
-   0.724,  7.09751,  10.2653, 3.77205e-29,  69.6769,  34.8141,  34.8149
-   0.725,  7.10778,  10.2322, 5.60599e-29,  69.7773,  34.8682,  34.8616
-   0.726,  7.11797,  10.1316, 8.32189e-29,  69.8767,  34.9216,  34.9082
-   0.727,  7.12804,  9.97968, 1.23392e-28,  69.9746,  34.9728,  34.9558
-   0.728,  7.13793,  9.80087, 1.82747e-28,  70.0707,  35.0211,  35.0045
-   0.729,  7.14764,  9.62376, 2.70339e-28,  70.1652,  35.0667,  35.0541
-    0.73,  7.15718,  9.47668, 3.99453e-28,  70.2581,  35.1107,  35.1036
-   0.731,   7.1666,  9.38309, 5.89552e-28,  70.3502,  35.1545,  35.1522
-   0.732,  7.17595,  9.35789, 8.69115e-28,   70.442,  35.1989,  35.1996
-   0.733,  7.18531,  9.40501, 1.27977e-27,  70.5342,  35.2442,  35.2462
-   0.734,  7.19476,  9.51682, 1.8823e-27,  70.6276,  35.2901,   35.293
-   0.735,  7.20434,  9.67536, 2.76533e-27,  70.7225,  35.3364,  35.3408
-   0.736,  7.21411,  9.85521, 4.05796e-27,  70.8192,  35.3832,  35.3897
-   0.737,  7.22406,  10.0276, 5.94801e-27,  70.9176,   35.431,  35.4394
-   0.738,  7.23416,  10.1649, 8.70841e-27,  71.0173,  35.4808,  35.4887
-   0.739,  7.24438,  10.2454, 1.27353e-26,  71.1178,  35.5327,  35.5371
-    0.74,  7.25465,   10.256, 1.86032e-26,  71.2184,  35.5863,  35.5842
-   0.741,   7.2649,  10.1954, 2.71438e-26,  71.3184,  35.6403,  35.6308
-   0.742,  7.27504,  10.0732, 3.95603e-26,  71.4172,  35.6929,  35.6778
-   0.743,  7.28504,  9.90912, 5.75912e-26,  71.5144,   35.743,  35.7258
-   0.744,  7.29486,  9.72938, 8.37453e-26,  71.6099,  35.7901,   35.775
-   0.745,   7.3045,  9.56278, 1.21639e-25,  71.7037,   35.835,  35.8246
-   0.746,  7.31399,  9.43593, 1.7648e-25,  71.7963,  35.8788,  35.8738
-   0.747,  7.32337,  9.36906, 2.55756e-25,  71.8882,  35.9228,  35.9219
-   0.748,  7.33273,  9.37279, 3.70227e-25,  71.9801,  35.9676,  35.9689
-   0.749,  7.34212,  9.44641, 5.35329e-25,  72.0728,  36.0132,  36.0155
-    0.75,  7.35162,  9.57808, 7.73189e-25,  72.1668,  36.0593,  36.0626
-   0.751,  7.36128,  9.74665, 1.11548e-24,  72.2624,  36.1057,  36.1109
-   0.752,  7.37111,  9.92513, 1.6075e-24,  72.3597,  36.1529,  36.1602
-   0.753,  7.38113,   10.085, 2.31396e-24,  72.4587,  36.2014,  36.2098
-   0.754,  7.39128,  10.2006, 3.32715e-24,  72.5587,   36.252,  36.2588
-   0.755,  7.40153,  10.2537, 4.77864e-24,  72.6593,  36.3047,  36.3067
-   0.756,  7.41179,  10.2357, 6.85569e-24,  72.7597,  36.3586,  36.3535
-   0.757,    7.422,  10.1497, 9.82458e-24,  72.8593,  36.4121,  36.4002
-   0.758,  7.43209,  10.0095, 1.40635e-23,  72.9575,  36.4638,  36.4475
-   0.759,  7.44202,  9.83755, 2.01089e-23,   73.054,  36.5127,   36.496
-    0.76,  7.45176,  9.66146, 2.87212e-23,  73.1488,  36.5588,  36.5455
-   0.761,  7.46134,  9.50934, 4.09765e-23,  73.2421,  36.6031,   36.595
-   0.762,  7.47078,   9.4055, 5.83962e-23,  73.3343,  36.6469,  36.6438
-   0.763,  7.48015,  9.36647, 8.31292e-23,  73.4262,  36.6913,  36.6914
-   0.764,  7.48952,  9.39842, 1.18207e-22,  73.5184,  36.7364,  36.7382
-   0.765,  7.49895,  9.49613, 1.679e-22,  73.6116,  36.7823,  36.7849
-   0.766,  7.50851,   9.6439, 2.38222e-22,  73.7062,  36.8286,  36.8324
-   0.767,  7.51824,  9.81804, 3.37623e-22,  73.8025,  36.8752,  36.8812
-   0.768,  7.52814,  9.99066, 4.77975e-22,  73.9005,  36.9228,  36.9307
-   0.769,  7.53822,  10.1342, 6.75927e-22,  73.9999,  36.9721,  36.9802
-    0.77,  7.54841,  10.2257, 9.54812e-22,  74.1002,  37.0236,  37.0287
-   0.771,  7.55867,  10.2506, 1.34728e-21,  74.2008,  37.0768,  37.0761
-   0.772,  7.56891,   10.205, 1.89899e-21,  74.3009,  37.1307,  37.1228
-   0.773,  7.57908,  10.0963, 2.67369e-21,     74.4,  37.1836,  37.1696
-   0.774,  7.58911,  9.94202, 3.76032e-21,  74.4975,  37.2342,  37.2174
-   0.775,  7.59896,  9.76679, 5.28278e-21,  74.5933,   37.282,  37.2664
-   0.776,  7.60864,   9.5987, 7.41355e-21,  74.6875,  37.3272,   37.316
-   0.777,  7.61816,  9.46461, 1.03924e-20,  74.7803,  37.3712,  37.3653
-   0.778,  7.62757,  9.38593, 1.45523e-20,  74.8724,  37.4152,  37.4136
-   0.779,  7.63693,  9.37515, 2.03552e-20,  74.9644,  37.4599,  37.4608
-    0.78,  7.64632,  9.43392, 2.8441e-20,  75.0569,  37.5054,  37.5075
-   0.781,   7.6558,  9.55275, 3.96956e-20,  75.1506,  37.5515,  37.5544
-   0.782,  7.66543,  9.71256, 5.53437e-20,  75.2459,  37.5979,  37.6025
-   0.783,  7.67523,  9.88775, 7.70767e-20,  75.3429,  37.6449,  37.6516
-   0.784,   7.6852,  10.0503, 1.07228e-19,  75.4415,  37.6931,  37.7012
-   0.785,  7.69533,  10.1742, 1.49011e-19,  75.5413,  37.7432,  37.7504
-   0.786,  7.70555,  10.2397, 2.06853e-19,  75.6417,  37.7954,  37.7985
-   0.787,  7.71581,  10.2364, 2.86836e-19,  75.7422,   37.849,  37.8455
-   0.788,  7.72602,   10.165, 3.97316e-19,  75.8419,  37.9026,  37.8921
-   0.789,  7.73613,  10.0368, 5.49756e-19,  75.9403,  37.9547,  37.9393
-    0.79,   7.7461,   9.8726, 7.59862e-19,  76.0372,  38.0042,  37.9875
-   0.791,  7.75588,  9.69857, 1.04913e-18,  76.1323,  38.0508,  38.0368
-   0.792,  7.76549,  9.54257, 1.44697e-18,  76.2259,  38.0955,  38.0864
-   0.793,  7.77497,  9.42953, 1.99352e-18,  76.3185,  38.1394,  38.1354
-   0.794,  7.78435,  9.37747, 2.74355e-18,  76.4104,  38.1836,  38.1833
-   0.795,  7.79372,  9.39464, 3.77171e-18,  76.5026,  38.2287,  38.2301
-   0.796,  7.80314,   9.4782, 5.17962e-18,  76.5956,  38.2745,  38.2768
-   0.797,  7.81268,  9.61472, 7.10543e-18,  76.6899,  38.3207,  38.3242
-   0.798,  7.82237,  9.78229, 9.73681e-18,  76.7859,  38.3673,  38.3727
-   0.799,  7.83224,  9.95408, 1.33284e-17,  76.8835,  38.4147,  38.4221
-     0.8,  7.84228,  10.1026, 1.82252e-17,  76.9826,  38.4636,  38.4716
-   0.801,  7.85245,  10.2042, 2.48944e-17,  77.0827,  38.5145,  38.5204
-   0.802,  7.86269,  10.2426, 3.39677e-17,  77.1832,  38.5674,   38.568
-   0.803,  7.87293,  10.2118, 4.62985e-17,  77.2834,  38.6211,  38.6148
-   0.804,  7.88311,  10.1168, 6.3038e-17,  77.3826,  38.6743,  38.6615
-   0.805,  7.89317,   9.9728, 8.5738e-17,  77.4805,  38.7254,  38.7091
-   0.806,  7.90306,    9.803, 1.16488e-16,  77.5766,  38.7737,  38.7578
-   0.807,  7.91277,  9.63453, 1.58097e-16,  77.6711,  38.8194,  38.8073
-   0.808,  7.92233,  9.49432, 2.14341e-16,  77.7643,  38.8637,  38.8567
-   0.809,  7.93176,  9.40477, 2.90283e-16,  77.8565,  38.9076,  38.9053
-    0.81,  7.94113,  9.38012, 3.92714e-16,  77.9486,  38.9522,  38.9527
-   0.811,  7.95052,  9.42424, 5.30722e-16,   78.041,  38.9976,  38.9994
-   0.812,  7.95998,     9.53, 7.16467e-16,  78.1345,  39.0437,  39.0463
-   0.813,  7.96958,  9.68039, 9.6619e-16,  78.2295,    39.09,  39.0941
-   0.814,  7.97934,  9.85133, 1.30157e-15,  78.3261,  39.1369,   39.143
-   0.815,  7.98928,  10.0154, 1.75149e-15,  78.4244,  39.1848,  39.1925
-   0.816,  7.99937,  10.1465, 2.35445e-15,  78.5239,  39.2344,  39.2419
-   0.817,  8.00958,  10.2236, 3.16161e-15,  78.6242,  39.2861,  39.2902
-   0.818,  8.01982,  10.2345, 4.24097e-15,  78.7246,  39.3395,  39.3374
-   0.819,  8.03004,  10.1774, 5.68279e-15,  78.8244,  39.3931,  39.3841
-    0.82,  8.04018,  10.0617, 7.60671e-15,  78.9231,  39.4456,  39.4311
-   0.821,  8.05017,  9.90591, 1.01712e-14,  79.0203,  39.4956,  39.4791
-   0.822,  8.05999,  9.73494, 1.35858e-14,  79.1158,  39.5428,  39.5282
-   0.823,  8.06964,  9.57618, 1.81274e-14,  79.2098,  39.5878,  39.5778
-   0.824,  8.07914,  9.45501, 2.41617e-14,  79.3025,  39.6318,  39.6269
-   0.825,  8.08855,  9.39074, 3.21706e-14,  79.3946,   39.676,   39.675
-   0.826,  8.09792,  9.39359, 4.27888e-14,  79.4868,   39.721,  39.7221
-   0.827,  8.10734,  9.46303, 5.68514e-14,  79.5796,  39.7667,  39.7688
-   0.828,  8.11685,  9.58786, 7.54556e-14,  79.6737,  39.8129,  39.8159
-   0.829,  8.12651,  9.74807, 1.00042e-13,  79.7693,  39.8594,  39.8642
-    0.83,  8.13634,  9.91798, 1.32499e-13,  79.8666,  39.9066,  39.9134
-   0.831,  8.14635,  10.0704, 1.753e-13,  79.9654,  39.9551,   39.963
-   0.832,  8.15649,   10.181, 2.31683e-13,  80.0653,  40.0056,   40.012
-   0.833,  8.16671,  10.2322, 3.05875e-13,  80.1656,   40.058,  40.0598
-   0.834,  8.17695,  10.2158, 4.03399e-13,  80.2659,  40.1116,  40.1067
-   0.835,  8.18714,  10.1345, 5.31455e-13,  80.3653,  40.1649,  40.1535
-   0.836,  8.19722,  10.0014, 6.9942e-13,  80.4634,  40.2164,  40.2008
-   0.837,  8.20714,  9.83789, 9.19496e-13,  80.5599,  40.2653,  40.2493
-   0.838,  8.21689,   9.6701, 1.20754e-12,  80.6548,  40.3115,  40.2987
-   0.839,  8.22648,  9.52488, 1.58414e-12,  80.7482,   40.356,  40.3482
-    0.84,  8.23594,  9.42543, 2.076e-12,  80.8407,  40.4001,  40.3969
-   0.841,  8.24533,  9.38759, 2.71769e-12,  80.9328,  40.4445,  40.4446
-   0.842,  8.25472,  9.41735, 3.55397e-12,  81.0251,  40.4899,  40.4914
-   0.843,  8.26417,  9.50985, 4.64266e-12,  81.1184,  40.5358,  40.5382
-   0.844,  8.27374,  9.65024, 6.05844e-12,  81.2131,  40.5822,  40.5857
-   0.845,  8.28347,  9.81601, 7.89759e-12,  81.3094,  40.6289,  40.6344
-   0.846,  8.29337,  9.98063, 1.02842e-11,  81.4073,  40.6765,  40.6839
-   0.847,  8.30343,  10.1178, 1.33777e-11,  81.5066,  40.7257,  40.7333
-   0.848,  8.31361,  10.2055, 1.73835e-11,  81.6067,   40.777,  40.7819
-   0.849,  8.32384,  10.2299, 2.25648e-11,   81.707,    40.83,  40.8293
-    0.85,  8.33407,  10.1872, 2.92593e-11,   81.807,  40.8836,   40.876
-   0.851,  8.34422,  10.0841, 3.78999e-11,  81.9059,  40.9363,  40.9229
-   0.852,  8.35424,  9.93739, 4.904e-11,  82.0034,  40.9869,  40.9707
-   0.853,  8.36409,  9.77045, 6.33874e-11,  82.0992,  41.0346,  41.0196
-   0.854,  8.37378,  9.61002, 8.18455e-11,  82.1935,    41.08,  41.0691
-   0.855,  8.38331,  9.48177, 1.05566e-10,  82.2865,  41.1243,  41.1184
-   0.856,  8.39274,  9.40615, 1.36018e-10,  82.3788,  41.1684,  41.1668
-   0.857,  8.40212,   9.3952, 1.75067e-10,   82.471,  41.2132,   41.214
-   0.858,  8.41153,  9.45059, 2.25088e-10,  82.5637,  41.2589,  41.2607
-   0.859,  8.42102,  9.56339, 2.89093e-10,  82.6575,   41.305,  41.3077
-    0.86,  8.43066,  9.71549, 3.70904e-10,  82.7528,  41.3515,  41.3558
-   0.861,  8.44046,  9.88253, 4.75362e-10,  82.8498,  41.3985,  41.4048
-   0.862,  8.45042,  10.0378, 6.0859e-10,  82.9482,  41.4467,  41.4544
-   0.863,  8.46053,  10.1564, 7.78328e-10,  83.0479,  41.4967,  41.5035
-   0.864,  8.47073,  10.2195, 9.94347e-10,  83.1481,  41.5487,  41.5516
-   0.865,  8.48097,  10.2171, 1.26897e-09,  83.2483,  41.6021,  41.5987
-   0.866,  8.49117,  10.1495, 1.61771e-09,  83.3479,  41.6555,  41.6454
-   0.867,  8.50127,  10.0278, 2.06009e-09,  83.4463,  41.7074,  41.6926
-   0.868,  8.51122,  9.87133, 2.62065e-09,  83.5431,  41.7568,  41.7408
-   0.869,  8.52101,  9.70526, 3.33019e-09,  83.6383,  41.8036,    41.79
-    0.87,  8.53063,  9.55613, 4.2273e-09,  83.7321,  41.8484,  41.8396
-   0.871,  8.54012,  9.44776, 5.36036e-09,  83.8248,  41.8925,  41.8885
-   0.872,  8.54953,  9.39745, 6.78984e-09,  83.9169,  41.9369,  41.9364
-   0.873,  8.55892,  9.41316, 8.59132e-09,  84.0093,  41.9821,  41.9833
-   0.874,  8.56836,  9.49232, 1.08591e-08,  84.1024,   42.028,  42.0301
-   0.875,   8.5779,  9.62218, 1.37108e-08,  84.1968,  42.0743,  42.0775
-   0.876,   8.5876,  9.78193, 1.72929e-08,  84.2928,   42.121,  42.1259
-   0.877,  8.59747,  9.94599, 2.17873e-08,  84.3903,  42.1684,  42.1753
-   0.878,  8.60749,  10.0881, 2.74203e-08,  84.4893,  42.2172,  42.2247
-   0.879,  8.61764,  10.1856, 3.44727e-08,  84.5892,   42.268,  42.2735
-    0.88,  8.62786,  10.2229, 4.32922e-08,  84.6895,  42.3206,  42.3212
-   0.881,  8.63809,  10.1942, 5.43095e-08,  84.7895,  42.3741,   42.368
-   0.882,  8.64825,   10.104, 6.80571e-08,  84.8886,  42.4271,  42.4148
-   0.883,   8.6583,  9.96694, 8.51925e-08,  84.9864,   42.478,  42.4624
-   0.884,  8.66819,  9.80493, 1.06527e-07,  85.0826,  42.5263,  42.5111
-   0.885,  8.67791,  9.64392, 1.33061e-07,  85.1772,  42.5722,  42.5605
-   0.886,  8.68747,  9.50964, 1.66023e-07,  85.2705,  42.6166,  42.6099
-   0.887,  8.69693,  9.42355, 2.06926e-07,  85.3629,  42.6608,  42.6584
-   0.888,  8.70632,  9.39936, 2.57626e-07,  85.4551,  42.7055,  42.7059
-   0.889,  8.71573,  9.44085, 3.20401e-07,  85.5478,  42.7511,  42.7527
-    0.89,   8.7252,  9.54134, 3.98038e-07,  85.6414,  42.7972,  42.7996
-   0.891,  8.73481,  9.68467, 4.93949e-07,  85.7364,  42.8436,  42.8474
-   0.892,  8.74457,  9.84788, 6.12302e-07,   85.833,  42.8905,  42.8962
-   0.893,   8.7545,  10.0048, 7.58185e-07,  85.9311,  42.9384,  42.9457
-   0.894,  8.76458,  10.1305, 9.37798e-07,  86.0305,   42.988,   42.995
-   0.895,  8.77476,  10.2047, 1.15869e-06,  86.1306,  43.0395,  43.0433
-   0.896,  8.78499,  10.2158, 1.43005e-06,  86.2308,  43.0926,  43.0906
-   0.897,   8.7952,  10.1619, 1.76301e-06,  86.3305,   43.146,  43.1373
-   0.898,  8.80532,  10.0518, 2.17112e-06,  86.4291,  43.1983,  43.1844
-   0.899,   8.8153,  9.90322, 2.67074e-06,  86.5263,  43.2482,  43.2324
-     0.9,  8.82512,  9.73985, 3.28173e-06,  86.6218,  43.2955,  43.2814
-   0.901,  8.83478,  9.58788, 4.02803e-06,  86.7159,  43.3407,  43.3309
-   0.902,   8.8443,   9.4716, 4.93859e-06,  86.8088,  43.3849,  43.3801
-   0.903,  8.85372,  9.40957, 6.04827e-06,  86.9011,  43.4292,  43.4282
-   0.904,  8.86312,  9.41163, 7.39908e-06,  86.9934,  43.4743,  43.4753
-   0.905,  8.87255,   9.4774, 9.04151e-06,  87.0864,  43.5202,   43.522
-   0.906,  8.88207,  9.59628, 1.10362e-05,  87.1805,  43.5664,  43.5692
-   0.907,  8.89174,  9.74921, 1.3456e-05,  87.2762,   43.613,  43.6175
-   0.908,  8.90157,  9.91169, 1.6388e-05,  87.3734,  43.6602,  43.6666
-   0.909,  8.91156,  10.0577, 1.99365e-05,  87.4721,  43.7087,  43.7161
-    0.91,  8.92169,   10.164, 2.42262e-05,  87.5718,   43.759,  43.7651
-   0.911,  8.93189,  10.2135, 2.94059e-05,   87.672,  43.8113,   43.813
-   0.912,  8.94211,  10.1985, 3.56527e-05,   87.772,  43.8646,  43.8599
-   0.913,  8.95229,  10.1213, 4.3178e-05,  87.8713,  43.9177,  43.9067
-   0.914,  8.96236,  9.99448, 5.22324e-05,  87.9694,  43.9691,  43.9541
-   0.915,  8.97228,  9.83826, 6.31141e-05,  88.0659,   44.018,  44.0026
-   0.916,  8.98203,  9.67769, 7.61763e-05,  88.1608,  44.0643,  44.0519
-   0.917,  8.99163,  9.53846, 9.18372e-05,  88.2544,   44.109,  44.1013
-   0.918,  9.00111,   9.4428, 0.000110592,   88.347,  44.1532,  44.1501
-   0.919,  9.01052,  9.40597, 0.000133024,  88.4393,  44.1978,  44.1977
-    0.92,  9.01992,  9.43379, 0.000159824,  88.5318,  44.2433,  44.2446
-   0.921,  9.02938,  9.52174, 0.000191802,  88.6253,  44.2893,  44.2914
-   0.922,  9.03896,  9.65569, 0.000229914,    88.72,  44.3357,   44.339
-   0.923,   9.0487,  9.81417, 0.000275281,  88.8162,  44.3825,  44.3877
-   0.924,  9.05859,  9.97181, 0.00032922,  88.9141,  44.4302,  44.4371
-   0.925,  9.06864,  10.1034, 0.000393271,  89.0132,  44.4793,  44.4864
-   0.926,   9.0788,  10.1879, 0.000469238,  89.1131,  44.5304,   44.535
-   0.927,  9.08902,  10.2119, 0.000559227,  89.2133,  44.5832,  44.5825
-   0.928,  9.09922,  10.1716, 0.000665697,  89.3131,  44.6366,  44.6293
-   0.929,  9.10936,  10.0736, 0.00079151,  89.4119,  44.6891,  44.6762
-    0.93,  9.11937,  9.93343, 0.000939996,  89.5094,  44.7395,   44.724
-   0.931,  9.12923,  9.77371, 0.00111502,  89.6052,  44.7873,  44.7729
-   0.932,  9.13892,  9.61997, 0.00132108,  89.6996,  44.8329,  44.8223
-   0.933,  9.14847,  9.49678, 0.00156337,  89.7928,  44.8773,  44.8716
-   0.934,  9.15791,  9.42381, 0.00184789,  89.8852,  44.9216,  44.9199
-   0.935,  9.16731,  9.41268, 0.00218159,  89.9776,  44.9666,  44.9672
-   0.936,  9.17674,  9.46509, 0.00257249,  90.0704,  45.0123,   45.014
-   0.937,  9.18624,  9.57261, 0.00302978,  90.1643,  45.0586,   45.061
-   0.938,  9.19588,  9.71797, 0.00356408,  90.2597,  45.1051,   45.109
-   0.939,  9.20568,   9.8779, 0.00418755,  90.3566,  45.1522,   45.158
-    0.94,  9.21564,  10.0268, 0.00491413,  90.4549,  45.2003,  45.2075
-   0.941,  9.22573,  10.1409, 0.00575978,  90.5544,  45.2502,  45.2566
-   0.942,  9.23592,  10.2019, 0.00674273,  90.6545,   45.302,  45.3047
-   0.943,  9.24614,  10.2002, 0.00788379,  90.7545,  45.3552,  45.3519
-   0.944,  9.25632,  10.1361, 0.00920665,   90.854,  45.4083,  45.3986
-   0.945,  9.26641,  10.0199, 0.0107382,  90.9523,  45.4601,  45.4459
-   0.946,  9.27636,   9.8703, 0.0125092,  91.0491,  45.5095,  45.4941
-   0.947,  9.28615,  9.71119, 0.0145541,  91.1444,  45.5563,  45.5433
-   0.948,  9.29578,  9.56805, 0.0169122,  91.2382,  45.6013,  45.5927
-   0.949,  9.30529,  9.46375, 0.0196278,  91.3311,  45.6456,  45.6416
-    0.95,  9.31471,  9.41493, 0.0227509,  91.4234,  45.6902,  45.6895
-   0.951,  9.32412,  9.42934, 0.0263378,  91.5159,  45.7355,  45.7365
-   0.952,  9.33357,  9.50461, 0.0304516,  91.6092,  45.7815,  45.7833
-   0.953,  9.34312,  9.62864, 0.0351633,  91.7036,  45.8278,  45.8307
-   0.954,  9.35283,  9.78154, 0.0405522,  91.7996,  45.8746,  45.8792
-   0.955,  9.36269,  9.93883, 0.0467071,  91.8971,   45.922,  45.9285
-   0.956,   9.3727,  10.0754, 0.053727,  91.9959,  45.9708,  45.9779
-   0.957,  9.38284,  10.1693, 0.0617221,  92.0957,  46.0214,  46.0266
-   0.958,  9.39304,  10.2057, 0.070815,  92.1958,  46.0739,  46.0743
-   0.959,  9.40325,  10.1788, 0.0811416,  92.2957,  46.1271,  46.1212
-    0.96,   9.4134,  10.0929, 0.0928522,  92.3947,  46.1799,   46.168
-   0.961,  9.42344,  9.96187, 0.106113,  92.4924,  46.2308,  46.2156
-   0.962,  9.43332,   9.8067, 0.121107,  92.5886,  46.2792,  46.2642
-   0.963,  9.44305,  9.65222, 0.138037,  92.6833,  46.3252,  46.3136
-   0.964,  9.45263,  9.52313, 0.157123,  92.7767,  46.3698,  46.3629
-   0.965,   9.4621,  9.44005, 0.178608,  92.8693,  46.4142,  46.4114
-   0.966,  9.47151,  9.41622, 0.202756,  92.9617,  46.4591,  46.4588
-   0.967,  9.48093,  9.45538, 0.229857,  93.0545,  46.5048,  46.5056
-   0.968,  9.49042,  9.55122, 0.260225,  93.1481,   46.551,  46.5525
-   0.969,  9.50003,  9.68834, 0.294201,  93.2432,  46.5977,  46.6002
-    0.97,  9.50979,  9.84477, 0.332153,  93.3398,  46.6447,  46.6489
-   0.971,  9.51972,  9.99549, 0.374482,  93.4378,  46.6928,  46.6981
-   0.972,  9.52979,  10.1164, 0.421615,  93.5371,  46.7425,  46.7471
-   0.973,  9.53995,  10.1882, 0.474014,   93.637,  46.7941,  46.7952
-   0.974,  9.55016,  10.1994, 0.532172,  93.7371,  46.8473,  46.8422
-   0.975,  9.56035,  10.1483, 0.596617,  93.8366,  46.9009,  46.8886
-   0.976,  9.57046,  10.0432, 0.667909,  93.9351,  46.9536,  46.9352
-   0.977,  9.58044,  9.90092, 0.746643,  94.0323,  47.0041,  46.9825
-   0.978,  9.59026,  9.74423, 0.833449,  94.1279,  47.0521,  47.0308
-   0.979,  9.59993,  9.59822, 0.928989,   94.222,  47.0984,  47.0793
-    0.98,  9.60946,  9.48622,  1.03396,  94.3151,  47.1439,  47.1273
-   0.981,   9.6189,  9.42612,  1.14909,  94.4076,  47.1898,   47.174
-   0.982,  9.62831,  9.42747,  1.27514,     94.5,  47.2366,  47.2195
-   0.983,  9.63775,  9.48999,  1.41289,  94.5931,  47.2845,  47.2643
-   0.984,  9.64729,  9.60362,  1.56316,  94.6873,  47.3333,  47.3091
-   0.985,  9.65696,  9.75014,  1.72678,   94.783,  47.3829,  47.3544
-   0.986,  9.66679,  9.90609,  1.90459,  94.8802,  47.4336,  47.4001
-   0.987,  9.67677,  10.0465,  2.09747,  94.9787,  47.4861,  47.4454
-   0.988,  9.68688,   10.149,  2.30628,  95.0783,  47.5412,  47.4894
-   0.989,  9.69707,  10.1971,  2.53189,  95.1783,  47.5991,  47.5315
-    0.99,  9.70728,  10.1833,  2.77517,  95.2782,   47.659,  47.5717
-   0.991,  9.71744,  10.1098,  3.03697,  95.3774,    47.72,  47.6105
-   0.992,   9.7275,  9.98844,  3.31811,  95.4754,  47.7806,  47.6486
-   0.993,  9.73741,  9.83866,  3.61939,  95.5719,  47.8404,  47.6861
-   0.994,  9.74717,  9.68445,  3.94155,  95.6669,  47.8995,  47.7227
-   0.995,  9.75678,  9.55047,  4.28529,  95.7606,  47.9589,  47.7574
-   0.996,  9.76627,  9.45813,  4.65123,  95.8534,  48.0201,  47.7893
-   0.997,   9.7757,  9.42215,  5.03991,  95.9458,  48.0842,  47.8177
-   0.998,  9.78512,  9.44824,  5.45177,  96.0385,  48.1517,  47.8425
-   0.999,   9.7946,  9.53215,  5.88717,   96.132,  48.2229,  47.8644
-       1,  9.80418,  9.66041,  6.34632,  96.2268,  48.2978,  47.8836
-   1.001,  9.81392,  9.81247,  6.82928,   96.323,  48.3766,  47.9002
-   1.002,  9.82381,  9.96398,    7.336,  96.4208,  48.4601,  47.9136
-   1.003,  9.83384,  10.0907,  7.86622,  96.5198,  48.5493,  47.9228
-   1.004,  9.84399,  10.1724,  8.41951,  96.6196,  48.6449,  47.9267
-   1.005,  9.85419,  10.1961,  8.99526,  96.7196,  48.7468,  47.9249
-   1.006,  9.86438,   10.158,  9.59262,  96.8192,  48.8544,  47.9173
-   1.007,  9.87451,  10.0643,  10.2106,   96.918,  48.9664,  47.9047
-   1.008,  9.88451,  9.93001,  10.8478,  97.0154,  49.0818,  47.8874
-   1.009,  9.89437,  9.77667,  11.5027,  97.1113,  49.2003,  47.8656
-    1.01,  9.90406,  9.62881,  12.1737,  97.2058,  49.3222,  47.8387
-   1.011,  9.91362,  9.51007,  12.8585,   97.299,  49.4487,   47.806
-   1.012,  9.92308,  9.43941,  13.5551,  97.3917,  49.5807,  47.7668
-   1.013,   9.9325,  9.42809,  14.2607,  97.4841,  49.7188,  47.7212
-   1.014,  9.94194,  9.47786,  14.9726,  97.5771,  49.8628,  47.6698
-   1.015,  9.95146,  9.58069,  15.6878,  97.6711,  50.0124,  47.6137
-   1.016,   9.9611,   9.7201,  16.4031,  97.7665,  50.1668,  47.5539
-   1.017,   9.9709,  9.87374,  17.1148,  97.8633,  50.3258,   47.491
-   1.018,  9.98085,   10.017,  17.8194,  97.9616,  50.4894,  47.4249
-   1.019,  9.99093,  10.1271,  18.5129,  98.0609,  50.6577,  47.3556
-    1.02,  10.0011,  10.1863,  19.1914,  98.1609,  50.8299,  47.2832
-   1.021,  10.0113,  10.1853,  19.8507,  98.2608,   51.005,  47.2083
-   1.022,  10.0215,  10.1243,  20.4867,  98.3601,  51.1809,  47.1323
-   1.023,  10.0316,  10.0131,  21.0951,  98.4583,  51.3553,  47.0568
-   1.024,  10.0415,  9.86946,  21.6717,  98.5551,  51.5265,  46.9832
-   1.025,  10.0513,  9.71649,  22.2124,  98.6505,  51.6936,  46.9122
-   1.026,  10.0609,  9.57864,   22.713,  98.7444,  51.8565,  46.8438
-   1.027,  10.0704,  9.47791,  23.1698,  98.8374,  52.0157,   46.778
-   1.028,  10.0799,  9.43039,   23.579,  98.9299,  52.1717,  46.7147
-   1.029,  10.0893,  9.44363,  23.9372,  99.0226,  52.3243,  46.6545
-    1.03,  10.0988,  9.51544,  24.2415,  99.1159,  52.4733,  46.5984
-   1.031,  10.1083,   9.6343,  24.4892,  99.2104,  52.6184,  46.5473
-   1.032,   10.118,  9.78113,   24.678,  99.3064,  52.7593,  46.5015
-   1.033,  10.1279,  9.93244,  24.8064,  99.4038,  52.8968,  46.4606
-   1.034,  10.1379,   10.064,  24.8732,  99.5025,  53.0318,  46.4237
-   1.035,   10.148,  10.1549,  24.8778,  99.6022,  53.1654,  46.3894
-   1.036,  10.1582,  10.1904,  24.8205,  99.7021,   53.298,  46.3566
-   1.037,  10.1684,  10.1652,  24.7021,  99.8018,  53.4297,   46.325
-   1.038,  10.1785,  10.0831,   24.524,  99.9008,  53.5599,  46.2942
-   1.039,  10.1886,  9.95745,  24.2886,  99.9984,  53.6883,  46.2642
-    1.04,  10.1985,  9.80833,  23.9987,  100.095,   53.815,  46.2343
-   1.041,  10.2082,  9.65963,  23.6582,  100.189,  53.9412,  46.2035
-   1.042,  10.2178,  9.53511,  23.2715,  100.283,  54.0685,  46.1702
-   1.043,  10.2273,  9.45468,  22.8435,  100.376,  54.1986,   46.133
-   1.044,  10.2367,  9.43115,  22.3802,  100.468,  54.3329,  46.0912
-   1.045,  10.2461,  9.46823,  21.8877,  100.561,  54.4718,  46.0449
-   1.046,  10.2556,  9.55993,  21.3729,  100.655,  54.6153,  45.9947
-   1.047,  10.2652,  9.69153,   20.843,   100.75,  54.7629,  45.9415
-   1.048,   10.275,  9.84196,  20.3058,  100.847,  54.9144,  45.8858
-   1.049,  10.2849,  9.98713,  19.7689,  100.944,  55.0697,  45.8278
-    1.05,   10.295,  10.1038,  19.2405,  101.044,  55.2288,  45.7673
-   1.051,  10.3051,  10.1734,  18.7284,  101.143,  55.3911,  45.7046
-   1.052,  10.3153,  10.1849,  18.2404,  101.243,  55.5553,  45.6406
-   1.053,  10.3255,  10.1363,  17.7843,  101.343,  55.7193,  45.5766
-   1.054,  10.3356,  10.0356,  17.3671,  101.441,  55.8807,  45.5142
-   1.055,  10.3456,  9.89895,  16.9955,  101.538,  56.0377,  45.4551
-   1.056,  10.3554,  9.74819,  16.6757,  101.634,  56.1893,  45.3999
-   1.057,  10.3651,  9.60745,  16.4127,  101.728,  56.3354,  45.3486
-   1.058,  10.3746,  9.49924,  16.2109,  101.821,   56.477,  45.3007
-   1.059,  10.3841,  9.44082,  16.0736,  101.914,  56.6149,  45.2555
-    1.06,  10.3935,  9.44151,  16.0031,  102.007,  56.7501,  45.2128
-   1.061,   10.403,  9.50112,  16.0005,    102.1,   56.883,  45.1726
-   1.062,  10.4125,  9.61008,  16.0656,  102.194,  57.0142,  45.1351
-   1.063,  10.4222,  9.75091,  16.1969,   102.29,  57.1443,  45.0998
-   1.064,   10.432,  9.90105,  16.3918,  102.387,  57.2746,  45.0658
-   1.065,   10.442,  10.0365,  16.6465,  102.485,  57.4068,  45.0314
-   1.066,  10.4521,  10.1356,  16.9558,  102.585,  57.5422,  44.9949
-   1.067,  10.4623,  10.1825,  17.3135,  102.685,  57.6819,   44.955
-   1.068,  10.4724,  10.1698,  17.7124,  102.784,  57.8257,  44.9112
-   1.069,  10.4826,  10.0996,  18.1442,  102.884,  57.9727,  44.8638
-    1.07,  10.4926,  9.98313,  18.6001,  102.981,  58.1218,  44.8133
-   1.071,  10.5026,  9.83908,  19.0706,  103.078,  58.2719,  44.7605
-   1.072,  10.5123,  9.69051,  19.5458,  103.173,  58.4226,  44.7056
-   1.073,  10.5219,  9.56119,  20.0155,  103.267,  58.5739,  44.6486
-   1.074,  10.5314,  9.47179,  20.4698,   103.36,  58.7261,  44.5897
-   1.075,  10.5409,  9.43655,  20.8987,  103.452,   58.879,  44.5295
-   1.076,  10.5503,  9.46107,  21.2929,  103.545,  59.0319,  44.4693
-   1.077,  10.5598,  9.54137,  21.6437,  103.639,  59.1837,  44.4107
-   1.078,  10.5694,  9.66456,  21.9434,  103.734,  59.3333,  44.3553
-   1.079,  10.5791,  9.81089,  22.1852,   103.83,  59.4801,  44.3039
-    1.08,   10.589,  9.95695,  22.3637,  103.927,  59.6243,  44.2566
-   1.081,   10.599,  10.0794,  22.4749,  104.026,  59.7666,  44.2127
-   1.082,  10.6092,  10.1586,  22.5165,  104.126,  59.9075,  44.1711
-   1.083,  10.6194,   10.182,  22.4876,  104.226,  60.0476,  44.1309
-   1.084,  10.6295,  10.1459,  22.3891,  104.325,  60.1866,  44.0917
-   1.085,  10.6397,  10.0561,  22.2236,  104.424,  60.3244,  44.0531
-   1.086,  10.6497,  9.92702,  21.9954,  104.521,  60.4606,  44.0149
-   1.087,  10.6595,  9.77936,  21.7104,  104.617,  60.5959,  43.9763
-   1.088,  10.6692,  9.63673,  21.3759,  104.712,  60.7314,  43.9358
-   1.089,  10.6788,  9.52194,  21.0005,  104.805,  60.8688,  43.8922
-    1.09,  10.6883,  9.45333,   20.594,  104.898,  61.0094,  43.8446
-   1.091,  10.6977,  9.44182,   20.167,  104.991,  61.1539,  43.7927
-   1.092,  10.7071,   9.4892,  19.7308,  105.084,   61.302,  43.7374
-   1.093,  10.7167,  9.58785,  19.2969,  105.178,  61.4529,  43.6801
-   1.094,  10.7263,  9.72193,  18.8769,  105.273,  61.6054,  43.6223
-   1.095,  10.7361,  9.86997,   18.482,   105.37,  61.7587,  43.5651
-   1.096,  10.7461,  10.0083,   18.123,  105.468,  61.9123,  43.5091
-   1.097,  10.7561,  10.1148,  17.8095,  105.567,  62.0657,  43.4544
-   1.098,  10.7663,  10.1724,  17.5501,  105.667,  62.2184,  43.4015
-   1.099,  10.7765,   10.172,  17.3519,  105.767,  62.3693,  43.3506
-     1.1,  10.7866,  10.1138,  17.2204,  105.866,  62.5169,  43.3026
-   1.101,  10.7967,   10.007,   17.159,  105.964,  62.6603,   43.258
-   1.102,  10.8066,  9.86876,  17.1693,  106.061,  62.7989,  43.2169
-   1.103,  10.8164,  9.72129,  17.2509,  106.157,  62.9335,  43.1783
-   1.104,  10.8261,  9.58813,  17.4011,  106.251,  63.0656,  43.1407
-   1.105,  10.8356,  9.49058,  17.6154,  106.344,  63.1974,  43.1022
-   1.106,  10.8451,   9.4442,  17.8871,  106.436,   63.331,  43.0614
-   1.107,  10.8545,  9.45637,   18.208,  106.529,  63.4676,  43.0173
-   1.108,   10.864,  9.52508,  18.5683,  106.623,  63.6078,  42.9702
-   1.109,  10.8736,  9.63929,   18.957,  106.717,  63.7515,  42.9204
-    1.11,  10.8833,   9.7807,   19.362,  106.813,  63.8985,  42.8687
-   1.111,  10.8931,  9.92667,  19.7708,   106.91,  64.0486,  42.8152
-   1.112,  10.9031,  10.0539,  20.1707,  107.009,  64.2017,  42.7602
-   1.113,  10.9132,  10.1419,  20.5491,  107.109,  64.3572,  42.7039
-   1.114,  10.9234,  10.1768,  20.8942,  107.208,  64.5139,  42.6471
-   1.115,  10.9336,   10.153,  21.1951,  107.308,  64.6699,  42.5911
-   1.116,  10.9437,  10.0744,  21.4423,  107.407,  64.8231,  42.5373
-   1.117,  10.9537,  9.95355,  21.6278,  107.505,  64.9717,  42.4871
-   1.118,  10.9636,  9.80985,  21.7459,  107.601,  65.1148,  42.4409
-   1.119,  10.9733,  9.66631,   21.793,  107.696,  65.2528,  42.3983
-    1.12,  10.9829,  9.54587,  21.7675,  107.789,  65.3872,  42.3579
-   1.121,  10.9924,  9.46778,  21.6706,  107.882,    65.52,  42.3182
-   1.122,  11.0019,   9.4445,  21.5057,  107.975,   65.653,  42.2778
-   1.123,  11.0113,  9.47969,  21.2786,  108.068,  65.7874,   42.236
-   1.124,  11.0208,  9.56767,  20.9971,  108.162,  65.9243,  42.1925
-   1.125,  11.0305,  9.69433,  20.6711,  108.257,   66.064,  42.1472
-   1.126,  11.0402,  9.83938,  20.3117,  108.353,   66.207,  42.0999
-   1.127,  11.0501,   9.9796,  19.9317,  108.451,   66.354,  42.0502
-   1.128,  11.0602,  10.0926,  19.5443,   108.55,   66.505,  41.9977
-   1.129,  11.0703,  10.1603,  19.1631,   108.65,  66.6595,  41.9427
-    1.13,  11.0805,  10.1719,  18.8015,   108.75,  66.8163,  41.8859
-   1.131,  11.0907,  10.1256,  18.4724,  108.849,   66.973,   41.829
-   1.132,  11.1008,  10.0289,  18.1874,  108.947,  67.1274,  41.7737
-   1.133,  11.1107,  9.89725,  17.9567,  109.044,  67.2773,  41.7216
-   1.134,  11.1206,  9.75178,  17.7885,   109.14,  67.4221,  41.6732
-   1.135,  11.1302,  9.61576,  17.6887,  109.234,  67.5619,  41.6282
-   1.136,  11.1398,  9.51092,  17.6608,  109.328,  67.6982,  41.5856
-   1.137,  11.1493,  9.45401,  17.7056,   109.42,  67.8326,   41.544
-   1.138,  11.1587,  9.45408,  17.8213,  109.513,  67.9667,  41.5025
-   1.139,  11.1682,  9.51107,  18.0034,  109.607,  68.1015,  41.4606
-    1.14,  11.1777,  9.61582,  18.2448,  109.701,  68.2379,  41.4178
-   1.141,  11.1874,  9.75153,  18.5363,  109.797,  68.3768,  41.3739
-   1.142,  11.1972,  9.89648,  18.8666,  109.894,   68.519,   41.328
-   1.143,  11.2072,  10.0275,   19.223,  109.992,  68.6652,  41.2795
-   1.144,  11.2173,  10.1236,  19.5917,  110.091,  68.8157,   41.228
-   1.145,  11.2274,  10.1694,  19.9585,  110.191,    68.97,  41.1734
-   1.146,  11.2376,  10.1578,   20.309,  110.291,  69.1263,  41.1171
-   1.147,  11.2477,  10.0905,  20.6297,   110.39,  69.2823,  41.0606
-   1.148,  11.2578,  9.97842,   20.908,  110.488,  69.4357,  41.0059
-   1.149,  11.2677,  9.83951,   21.133,  110.584,  69.5846,  40.9543
-    1.15,  11.2775,  9.69601,  21.2959,  110.679,  69.7285,  40.9061
-   1.151,  11.2871,  9.57085,  21.3904,  110.773,   69.868,   40.861
-   1.152,  11.2966,  9.48406,  21.4128,  110.866,  70.0044,  40.8178
-   1.153,  11.3061,  9.44946,  21.3625,  110.959,  70.1394,  40.7756
-   1.154,  11.3155,  9.47256,  21.2417,  111.052,  70.2742,  40.7334
-   1.155,   11.325,  9.54961,  21.0555,  111.145,  70.4099,  40.6909
-   1.156,  11.3346,  9.66823,  20.8117,   111.24,  70.5473,  40.6476
-   1.157,  11.3443,  9.80942,  20.5205,  111.337,  70.6873,   40.603
-   1.158,  11.3542,  9.95059,  20.1942,  111.434,  70.8309,  40.5564
-   1.159,  11.3642,  10.0691,  19.8465,  111.533,  70.9786,  40.5069
-    1.16,  11.3744,  10.1462,  19.4918,  111.632,  71.1304,  40.4544
-   1.161,  11.3845,  10.1693,  19.1453,  111.732,  71.2853,  40.3994
-   1.162,  11.3947,   10.135,  18.8215,  111.832,  71.4413,  40.3433
-   1.163,  11.4048,  10.0488,  18.5341,   111.93,  71.5959,  40.2879
-   1.164,  11.4148,  9.92439,  18.2954,  112.028,  71.7469,   40.235
-   1.165,  11.4247,  9.78183,  18.1153,  112.124,  71.8931,  40.1855
-   1.166,  11.4344,   9.6439,  18.0016,  112.218,  72.0344,  40.1394
-   1.167,  11.4439,  9.53265,   17.959,  112.312,   72.172,  40.0957
-   1.168,  11.4534,  9.46585,  17.9892,  112.405,  72.3074,  40.0532
-   1.169,  11.4629,  9.45415,  18.0905,  112.497,  72.4423,  40.0109
-    1.17,  11.4723,  9.49937,  18.2585,   112.59,   72.578,  39.9681
-   1.171,  11.4819,  9.59423,  18.4854,  112.685,  72.7153,  39.9243
-   1.172,  11.4915,  9.72352,  18.7612,   112.78,   72.855,  39.8792
-   1.173,  11.5013,  9.86653,  19.0733,  112.877,  72.9979,  39.8324
-   1.174,  11.5113,  10.0004,  19.4076,  112.975,  73.1445,  39.7833
-   1.175,  11.5213,  10.1037,  19.7492,  113.074,   73.295,  39.7315
-   1.176,  11.5315,  10.1599,  20.0825,  113.174,  73.4487,  39.6774
-   1.177,  11.5416,  10.1601,  20.3925,  113.273,   73.604,   39.622
-   1.178,  11.5518,  10.1043,  20.6651,  113.372,  73.7587,  39.5669
-   1.179,  11.5619,  10.0015,  20.8878,  113.471,  73.9104,  39.5141
-    1.18,  11.5718,   9.8682,  21.0507,  113.567,  74.0574,  39.4646
-   1.181,  11.5816,  9.72565,  21.1463,  113.663,  74.1993,  39.4187
-   1.182,  11.5912,  9.59672,  21.1704,  113.757,  74.3371,  39.3756
-   1.183,  11.6008,  9.50201,  21.1221,   113.85,  74.4724,  39.3337
-   1.184,  11.6102,  9.45663,  21.0037,  113.943,  74.6072,  39.2917
-   1.185,  11.6197,  9.46781,  20.8211,  114.036,  74.7431,  39.2485
-   1.186,  11.6292,  9.53371,  20.5831,  114.129,  74.8812,  39.2035
-   1.187,  11.6388,  9.64374,  20.3009,  114.224,  75.0219,  39.1567
-   1.188,  11.6485,  9.78027,  19.9883,   114.32,  75.1657,  39.1082
-   1.189,  11.6583,  9.92143,  19.6601,  114.417,  75.3126,  39.0579
-    1.19,  11.6683,  10.0447,  19.3321,  114.516,  75.4627,  39.0058
-   1.191,  11.6784,  10.1303,  19.0202,  114.615,  75.6155,  38.9522
-   1.192,  11.6886,  10.1646,  18.7394,  114.715,  75.7695,  38.8979
-   1.193,  11.6987,  10.1421,  18.5031,  114.814,  75.9231,  38.8442
-   1.194,  11.7089,  10.0666,  18.3229,  114.913,  76.0739,  38.7926
-   1.195,  11.7189,  9.95009,  18.2073,  115.011,  76.2205,  38.7443
-   1.196,  11.7288,  9.81127,  18.1618,  115.107,  76.3622,  38.6996
-   1.197,  11.7385,  9.67237,  18.1886,  115.202,  76.4997,  38.6574
-   1.198,  11.7481,   9.5556,  18.2861,  115.296,   76.635,  38.6163
-   1.199,  11.7576,  9.47961,  18.4493,  115.389,  76.7701,  38.5744
-     1.2,  11.7671,  9.45653,  18.6698,  115.481,   76.907,  38.5302
-   1.201,  11.7765,  9.48999,  18.9365,  115.574,  77.0467,  38.4833
-   1.202,   11.786,  9.57461,   19.236,  115.668,  77.1896,  38.4338
-   1.203,  11.7957,  9.69681,  19.5529,  115.763,  77.3354,  38.3826
-   1.204,  11.8054,    9.837,  19.8712,   115.86,  77.4835,  38.3303
-   1.205,  11.8153,  9.97276,  20.1748,  115.958,  77.6334,  38.2776
-   1.206,  11.8254,  10.0824,  20.4483,  116.057,  77.7846,  38.2249
-   1.207,  11.8355,  10.1483,  20.6776,  116.156,  77.9362,  38.1727
-   1.208,  11.8457,  10.1601,  20.8511,  116.256,   78.087,  38.1217
-   1.209,  11.8558,  10.1159,  20.9602,  116.355,  78.2355,  38.0729
-    1.21,  11.8659,  10.0228,  20.9991,  116.453,  78.3805,  38.0267
-   1.211,  11.8759,  9.89576,  20.9663,  116.551,  78.5216,  37.9833
-   1.212,  11.8857,  9.75508,  20.8634,  116.646,  78.6596,  37.9416
-   1.213,  11.8954,   9.6233,  20.6962,  116.741,   78.796,  37.9001
-   1.214,  11.9049,  9.52149,  20.4734,  116.834,   78.933,  37.8568
-   1.215,  11.9144,  9.46591,  20.2071,  116.927,  79.0723,  37.8105
-   1.216,  11.9239,  9.46541,  19.9113,   117.02,  79.2149,  37.7607
-   1.217,  11.9334,  9.52001,  19.6018,  117.113,  79.3605,  37.7081
-   1.218,  11.9429,  9.62096,  19.2951,  117.208,  79.5083,  37.6543
-   1.219,  11.9526,  9.75205,  19.0076,  117.303,   79.657,  37.6006
-    1.22,  11.9624,   9.8923,  18.7545,    117.4,  79.8056,  37.5483
-   1.221,  11.9724,  10.0193,  18.5495,  117.499,  79.9538,  37.4979
-   1.222,  11.9825,  10.1127,  18.4033,  117.598,  80.1011,  37.4494
-   1.223,  11.9926,  10.1576,  18.3239,  117.697,  80.2476,  37.4025
-   1.224,  12.0028,  10.1469,  18.3153,  117.797,  80.3927,  37.3571
-   1.225,  12.0129,  10.0823,  18.3777,  117.896,  80.5362,  37.3129
-   1.226,  12.0229,  9.97421,  18.5077,  117.994,  80.6779,  37.2696
-   1.227,  12.0329,  9.83996,  18.6979,   118.09,  80.8183,  37.2264
-   1.228,  12.0426,  9.70102,  18.9377,  118.185,  80.9584,  37.1821
-   1.229,  12.0523,  9.57962,  19.2138,  118.279,  81.0994,  37.1355
-    1.23,  12.0618,  9.49517,  19.5108,  118.373,  81.2425,  37.0858
-   1.231,  12.0712,  9.46114,  19.8122,  118.465,  81.3881,  37.0332
-   1.232,  12.0807,  9.48293,  20.1012,  118.558,  81.5354,  36.9787
-   1.233,  12.0902,  9.55702,  20.3617,  118.652,  81.6833,  36.9243
-   1.234,  12.0998,   9.6715,  20.5792,  118.747,  81.8302,  36.8717
-   1.235,  12.1096,  9.80805,  20.7415,  118.843,  81.9753,  36.8221
-   1.236,  12.1194,  9.94479,  20.8398,  118.941,  82.1186,  36.7756
-   1.237,  12.1294,  10.0599,  20.8685,  119.039,  82.2608,  36.7316
-   1.238,  12.1396,  10.1349,  20.8263,  119.139,   82.403,  36.6885
-   1.239,  12.1497,  10.1579,  20.7156,  119.239,  82.5459,  36.6452
-    1.24,  12.1599,  10.1252,  20.5431,  119.338,    82.69,  36.6007
-   1.241,    12.17,  10.0422,  20.3187,  119.436,  82.8351,  36.5546
-   1.242,    12.18,  9.92206,  20.0553,  119.534,  82.9807,   36.507
-   1.243,  12.1898,  9.78412,  19.7684,   119.63,  83.1266,  36.4578
-   1.244,  12.1995,  9.65043,  19.4744,  119.724,  83.2726,  36.4071
-   1.245,  12.2091,  9.54236,  19.1905,  119.818,  83.4188,  36.3549
-   1.246,  12.2186,  9.47719,   18.933,  119.911,  83.5651,  36.3019
-   1.247,  12.2281,   9.4653,  18.7169,  120.004,  83.7107,  36.2491
-   1.248,  12.2375,  9.50855,  18.5547,  120.097,   83.855,  36.1979
-   1.249,  12.2471,  9.59998,  18.4557,  120.191,  83.9973,  36.1493
-    1.25,  12.2567,  9.72492,  18.4257,  120.287,  84.1374,  36.1038
-   1.251,  12.2665,  9.86337,  18.4662,  120.383,  84.2763,  36.0609
-   1.252,  12.2765,  9.99318,  18.5746,  120.481,  84.4154,  36.0191
-   1.253,  12.2865,  10.0936,  18.7444,   120.58,  84.5566,  35.9764
-   1.254,  12.2967,  10.1486,  18.9653,   120.68,  84.7011,  35.9313
-   1.255,  12.3068,  10.1493,  19.2241,   120.78,  84.8492,   35.883
-   1.256,   12.317,  10.0958,  19.5051,  120.879,  84.9998,  35.8318
-   1.257,   12.327,  9.99667,  19.7916,  120.977,  85.1513,  35.7791
-   1.258,  12.3369,  9.86773,  20.0663,  121.073,  85.3018,  35.7261
-   1.259,  12.3467,  9.72965,  20.3128,  121.169,  85.4501,   35.674
-    1.26,  12.3564,  9.60454,  20.5161,  121.263,  85.5954,  35.6235
-   1.261,   12.366,  9.51239,  20.6641,  121.356,   85.738,  35.5746
-   1.262,  12.3754,  9.46791,   20.748,  121.449,  85.8783,  35.5272
-   1.263,  12.3849,  9.47817,  20.7628,  121.542,   86.017,  35.4813
-   1.264,  12.3944,  9.54151,  20.7078,  121.636,  86.1549,  35.4366
-   1.265,   12.404,  9.64773,  20.5865,  121.731,  86.2927,  35.3927
-   1.266,  12.4137,  9.77982,  20.4065,  121.827,  86.4316,  35.3489
-   1.267,  12.4235,  9.91664,  20.1791,  121.924,  86.5731,  35.3041
-   1.268,  12.4335,  10.0363,  19.9183,  122.022,   86.718,   35.257
-   1.269,  12.4436,  10.1197,  19.6404,  122.122,   86.867,   35.207
-    1.27,  12.4538,  10.1534,  19.3626,  122.221,  87.0193,  35.1544
-   1.271,  12.4639,  10.1322,  19.1022,  122.321,  87.1731,  35.1003
-   1.272,   12.474,  10.0595,  18.8753,  122.419,   87.326,  35.0467
-   1.273,   12.484,  9.94699,   18.696,  122.517,  87.4757,  34.9953
-   1.274,  12.4939,  9.81261,  18.5755,  122.613,  87.6209,   34.947
-   1.275,  12.5037,  9.67792,  18.5211,  122.708,  87.7616,  34.9018
-   1.276,  12.5133,  9.56446,  18.5362,  122.802,  87.8991,  34.8585
-   1.277,  12.5228,  9.49036,  18.6195,  122.895,  88.0353,  34.8156
-   1.278,  12.5322,  9.46744,  18.7657,  122.988,  88.1722,  34.7715
-   1.279,  12.5417,  9.49933,  18.9654,  123.081,  88.3111,  34.7255
-    1.28,  12.5512,  9.58088,  19.2056,  123.175,  88.4526,  34.6774
-   1.281,  12.5609,  9.69901,  19.4711,   123.27,  88.5969,  34.6277
-   1.282,  12.5706,   9.8348,  19.7449,  123.367,  88.7436,  34.5768
-   1.283,  12.5805,  9.96652,  20.0093,  123.464,  88.8924,  34.5252
-   1.284,  12.5906,  10.0731,  20.2475,  123.563,  89.0426,  34.4735
-   1.285,  12.6007,  10.1375,  20.4442,  123.663,  89.1933,  34.4221
-   1.286,  12.6109,  10.1495,  20.5868,  123.762,  89.3432,  34.3718
-   1.287,   12.621,  10.1072,  20.6663,  123.861,  89.4911,  34.3234
-   1.288,  12.6311,  10.0174,  20.6777,   123.96,  89.6359,  34.2774
-   1.289,   12.641,  9.89445,  20.6203,  124.057,  89.7775,  34.2336
-    1.29,  12.6509,  9.75812,  20.4981,  124.152,  89.9165,  34.1908
-   1.291,  12.6605,  9.63019,  20.3192,  124.247,  90.0547,  34.1475
-   1.292,  12.6701,  9.53113,  20.0954,   124.34,   90.194,   34.102
-   1.293,  12.6796,  9.47674,  19.8416,  124.433,  90.3358,  34.0534
-   1.294,  12.6891,  9.47569,  19.5743,  124.526,  90.4804,  34.0017
-   1.295,  12.6986,  9.52812,  19.3114,   124.62,  90.6271,  33.9482
-   1.296,  12.7081,  9.62559,  19.0699,  124.714,  90.7746,  33.8947
-   1.297,  12.7178,  9.75247,   18.866,   124.81,  90.9215,  33.8429
-   1.298,  12.7276,  9.88846,   18.713,  124.907,   91.067,  33.7936
-   1.299,  12.7376,  10.0118,  18.6209,  125.005,  91.2113,   33.747
-     1.3,  12.7477,  10.1028,  18.5957,  125.104,  91.3548,  33.7022
-   1.301,  12.7578,  10.1468,   18.639,  125.204,  91.4983,   33.658
-   1.302,  12.7679,   10.137,  18.7476,  125.303,  91.6424,  33.6135
-   1.303,  12.7781,  10.0749,  18.9143,  125.402,  91.7871,  33.5681
-   1.304,  12.7881,  9.97043,  19.1275,    125.5,  91.9322,  33.5214
-   1.305,   12.798,   9.8404,  19.3729,  125.596,  92.0775,  33.4733
-   1.306,  12.8078,  9.70562,  19.6339,  125.692,   92.223,  33.4237
-   1.307,  12.8174,  9.58763,  19.8927,  125.786,  92.3686,  33.3727
-   1.308,   12.827,   9.5053,   20.132,  125.879,  92.5142,  33.3206
-   1.309,  12.8364,  9.47176,  20.3354,  125.972,  92.6595,  33.2684
-    1.31,  12.8459,  9.49235,  20.4892,  126.065,  92.8037,  33.2172
-   1.311,  12.8554,  9.56373,  20.5831,  126.159,  92.9461,  33.1682
-   1.312,   12.865,  9.67444,  20.6109,  126.254,  93.0865,   33.122
-   1.313,  12.8748,  9.80675,  20.5707,   126.35,  93.2257,  33.0782
-   1.314,  12.8846,  9.93948,  20.4654,  126.447,  93.3651,  33.0356
-   1.315,  12.8946,  10.0514,  20.3025,  126.546,  93.5064,  32.9923
-   1.316,  12.9047,  10.1246,  20.0934,  126.645,  93.6512,  32.9466
-   1.317,  12.9149,  10.1475,  19.8524,  126.745,  93.7996,  32.8977
-   1.318,   12.925,  10.1163,  19.5965,  126.844,  93.9509,  32.8461
-   1.319,  12.9351,  10.0362,  19.3433,  126.943,  94.1031,   32.793
-    1.32,  12.9451,  9.91998,  19.1104,   127.04,  94.2539,  32.7401
-   1.321,   12.955,  9.78625,   18.914,  127.136,  94.4018,   32.689
-   1.322,  12.9647,  9.65641,  18.7677,  127.231,   94.546,  32.6401
-   1.323,  12.9743,  9.55124,  18.6815,  127.324,  94.6868,  32.5934
-   1.324,  12.9838,  9.48753,  18.6614,  127.417,  94.8254,   32.548
-   1.325,  12.9933,  9.47545,  18.7086,   127.51,   94.963,  32.5033
-   1.326,  13.0027,  9.51689,  18.8196,  127.604,  95.1009,  32.4583
-   1.327,  13.0123,  9.60517,  18.9865,  127.698,  95.2401,  32.4128
-   1.328,  13.0219,  9.72615,  19.1974,  127.793,  95.3815,  32.3661
-   1.329,  13.0317,  9.86045,  19.4373,   127.89,  95.5256,  32.3181
-    1.33,  13.0417,  9.98658,  19.6891,  127.988,  95.6727,  32.2684
-   1.331,  13.0517,  10.0844,  19.9349,  128.087,  95.8226,  32.2171
-   1.332,  13.0618,  10.1382,  20.1573,  128.186,  95.9743,  32.1648
-   1.333,   13.072,  10.1395,  20.3405,  128.286,  96.1261,  32.1126
-   1.334,  13.0821,  10.0881,  20.4714,  128.385,  96.2761,   32.062
-   1.335,  13.0922,  9.99227,   20.541,  128.483,  96.4227,  32.0141
-   1.336,  13.1021,  9.86734,  20.5443,   128.58,  96.5652,  31.9689
-   1.337,  13.1119,  9.73334,  20.4813,  128.675,  96.7044,  31.9258
-   1.338,  13.1216,  9.61171,  20.3565,  128.769,   96.842,  31.8829
-   1.339,  13.1311,  9.52187,  20.1793,  128.863,  96.9801,  31.8385
-    1.34,  13.1406,  9.47819,  19.9624,  128.956,  97.1205,  31.7912
-   1.341,  13.1501,  9.48761,  19.7216,  129.049,  97.2637,  31.7409
-   1.342,  13.1596,  9.54859,  19.4745,  129.143,  97.4095,  31.6884
-   1.343,  13.1692,  9.65133,   19.239,  129.237,  97.5566,  31.6355
-   1.344,  13.1789,  9.77937,  19.0321,  129.333,  97.7038,  31.5837
-   1.345,  13.1887,  9.91222,  18.8689,   129.43,  97.8501,  31.5339
-   1.346,  13.1987,  10.0286,  18.7612,  129.529,  97.9955,  31.4864
-   1.347,  13.2088,    10.11,  18.7167,  129.628,  98.1402,  31.4405
-   1.348,  13.2189,  10.1433,  18.7385,  129.727,  98.2846,  31.3955
-   1.349,  13.2291,  10.1233,   18.825,  129.827,  98.4291,  31.3506
-    1.35,  13.2392,  10.0531,  18.9695,  129.925,  98.5736,  31.3051
-   1.351,  13.2492,   9.9442,  19.1613,  130.023,  98.7182,  31.2587
-   1.352,  13.2591,  9.81387,  19.3862,  130.119,  98.8629,  31.2109
-   1.353,  13.2688,  9.68302,  19.6274,  130.214,  99.0077,  31.1617
-   1.354,  13.2784,  9.57258,  19.8672,  130.308,  99.1528,   31.111
-   1.355,   13.288,  9.50019,  20.0876,  130.401,  99.2982,  31.0591
-   1.356,  13.2974,   9.4774,  20.2724,  130.494,  99.4432,  31.0071
-   1.357,  13.3069,  9.50783,   20.408,  130.588,  99.5871,  30.9563
-   1.358,  13.3164,  9.58656,  20.4842,  130.682,  99.7292,  30.9078
-   1.359,  13.3261,  9.70098,  20.4957,  130.777,  99.8695,   30.862
-    1.36,  13.3358,  9.83275,  20.4415,  130.873,  100.009,  30.8183
-   1.361,  13.3457,  9.96078,  20.3261,  130.971,  100.149,  30.7752
-   1.362,  13.3558,  10.0646,  20.1581,   131.07,  100.291,   30.731
-   1.363,  13.3659,  10.1276,  19.9503,  131.169,  100.437,  30.6842
-   1.364,   13.376,  10.1398,  19.7185,  131.269,  100.587,  30.6342
-   1.365,  13.3862,  10.0992,  19.4801,  131.368,  100.739,  30.5819
-   1.366,  13.3962,  10.0124,  19.2533,  131.466,  100.891,  30.5289
-   1.367,  13.4062,  9.89329,  19.0551,  131.563,   101.04,  30.4769
-   1.368,   13.416,  9.76094,  18.9005,  131.659,  101.187,  30.4271
-   1.369,  13.4257,  9.63653,  18.8011,  131.753,  101.329,  30.3798
-    1.37,  13.4353,  9.53995,  18.7644,  131.847,  101.468,  30.3343
-   1.371,  13.4448,  9.48664,   18.793,   131.94,  101.606,  30.2897
-   1.372,  13.4543,  9.48509,  18.8847,  132.033,  101.744,  30.2448
-   1.373,  13.4638,   9.5355,  19.0321,  132.126,  101.883,   30.199
-   1.374,  13.4733,  9.62978,   19.224,  132.221,  102.024,  30.1518
-   1.375,   13.483,  9.75282,  19.4456,  132.317,  102.167,  30.1033
-   1.376,  13.4928,  9.88491,  19.6797,  132.414,  102.314,  30.0536
-   1.377,  13.5028,  10.0049,  19.9082,  132.512,  102.462,  30.0028
-   1.378,  13.5128,  10.0937,  20.1138,  132.611,  102.612,  29.9515
-   1.379,   13.523,   10.137,  20.2804,   132.71,  102.762,  29.9004
-    1.38,  13.5331,   10.128,  20.3953,  132.809,  102.912,  29.8504
-   1.381,  13.5432,  10.0681,  20.4498,  132.908,  103.059,  29.8024
-   1.382,  13.5533,    9.967,  20.4397,  133.006,  103.203,  29.7567
-   1.383,  13.5632,  9.84085,   20.366,  133.103,  103.344,  29.7127
-   1.384,  13.5729,  9.70986,  20.2346,  133.198,  103.484,  29.6691
-   1.385,  13.5826,  9.59498,  20.0557,  133.292,  103.623,  29.6243
-   1.386,  13.5921,  9.51458,  19.8436,  133.385,  103.764,  29.5768
-   1.387,  13.6016,  9.48148,  19.6148,  133.478,  103.908,  29.5264
-   1.388,  13.6111,  9.50095,  19.3872,  133.571,  104.053,  29.4738
-   1.389,  13.6206,  9.56984,  19.1787,  133.665,    104.2,  29.4208
-    1.39,  13.6302,  9.67709,  19.0057,   133.76,  104.346,   29.369
-   1.391,    13.64,  9.80552,  18.8816,  133.856,  104.491,  29.3199
-   1.392,  13.6498,  9.93457,  18.8161,  133.954,  104.634,  29.2736
-   1.393,  13.6598,  10.0436,  18.8143,  134.052,  104.776,  29.2292
-   1.394,  13.6699,  10.1152,  18.8761,  134.152,  104.919,  29.1853
-   1.395,  13.6801,  10.1379,  18.9965,  134.251,  105.063,  29.1404
-   1.396,  13.6902,  10.1082,  19.1659,   134.35,   105.21,  29.0936
-   1.397,  13.7003,  10.0308,  19.3706,  134.449,  105.357,   29.045
-   1.398,  13.7103,  9.91811,  19.5945,  134.546,  105.505,  28.9948
-   1.399,  13.7201,  9.78823,  19.8195,  134.642,  105.653,   28.944
-     1.4,  13.7298,  9.66193,  20.0279,  134.737,  105.799,  28.8931
-   1.401,  13.7394,  9.55939,  20.2029,  134.831,  105.944,  28.8427
-   1.402,   13.749,  9.49702,  20.3307,  134.924,  106.087,  28.7933
-   1.403,  13.7584,  9.48475,  20.4011,  135.017,  106.228,  28.7451
-   1.404,  13.7679,   9.5245,  20.4087,   135.11,  106.368,  28.6984
-   1.405,  13.7775,   9.6099,  20.3529,  135.205,  106.507,   28.653
-   1.406,  13.7871,  9.72724,  20.2384,    135.3,  106.646,  28.6084
-   1.407,  13.7969,  9.85773,  20.0746,  135.397,  106.787,  28.5635
-   1.408,  13.8069,  9.98049,  19.8747,  135.495,  106.931,  28.5171
-   1.409,  13.8169,  10.0759,  19.6549,  135.593,  107.078,  28.4682
-    1.41,   13.827,  10.1287,  19.4331,  135.693,  107.228,   28.417
-   1.411,  13.8372,  10.1305,  19.2273,  135.792,  107.381,  28.3643
-   1.412,  13.8473,   10.081,   19.054,  135.891,  107.532,  28.3119
-   1.413,  13.8573,  9.98826,  18.9273,  135.989,  107.682,  28.2614
-   1.414,  13.8673,  9.86703,  18.8574,  136.086,  107.827,  28.2139
-   1.415,  13.8771,  9.73676,  18.8498,  136.181,  107.967,  28.1691
-   1.416,  13.8867,   9.6183,   18.905,  136.276,  108.106,  28.1257
-   1.417,  13.8963,  9.53059,  19.0184,  136.369,  108.243,  28.0818
-   1.418,  13.9058,  9.48762,  19.1806,  136.462,  108.382,   28.036
-   1.419,  13.9153,  9.49625,  19.3782,  136.555,  108.524,  27.9875
-    1.42,  13.9248,  9.55506,  19.5949,  136.649,  108.668,  27.9367
-   1.421,  13.9344,   9.6546,  19.8129,  136.744,  108.814,  27.8848
-   1.422,  13.9441,  9.77892,  20.0143,   136.84,  108.961,  27.8331
-   1.423,  13.9539,  9.90813,  20.1825,  136.937,  109.108,  27.7829
-   1.424,  13.9639,  10.0216,  20.3038,  137.035,  109.254,  27.7344
-   1.425,   13.974,  10.1011,  20.3682,  137.134,    109.4,  27.6875
-   1.426,  13.9841,   10.134,  20.3705,  137.234,  109.545,  27.6417
-   1.427,  13.9942,   10.115,  20.3107,  137.333,   109.69,  27.5962
-   1.428,  14.0043,  10.0473,  20.1939,  137.432,  109.834,  27.5505
-   1.429,  14.0143,  9.94168,  20.0299,  137.529,  109.979,  27.5041
-    1.43,  14.0242,  9.81507,  19.8323,  137.625,  110.123,  27.4566
-   1.431,   14.034,  9.68774,  19.6178,   137.72,  110.268,  27.4077
-   1.432,  14.0436,  9.58005,  19.4042,  137.814,  110.413,  27.3573
-   1.433,  14.0531,  9.50922,  19.2094,  137.908,  110.558,   27.306
-   1.434,  14.0626,  9.48654,  19.0495,  138.001,  110.702,  27.2545
-   1.435,  14.0721,  9.51562,  18.9379,  138.094,  110.846,  27.2043
-   1.436,  14.0816,  9.59176,  18.8838,  138.188,  110.987,  27.1562
-   1.437,  14.0913,  9.70275,  18.8916,  138.283,  111.128,  27.1105
-   1.438,  14.1011,  9.83082,  18.9605,   138.38,  111.267,  27.0665
-   1.439,  14.1109,  9.95547,  19.0846,  138.478,  111.408,  27.0228
-    1.44,   14.121,  10.0568,  19.2534,  138.576,  111.551,  26.9774
-   1.441,  14.1311,  10.1185,  19.4525,  138.675,  111.699,  26.9294
-   1.442,  14.1412,  10.1309,  19.6651,  138.775,  111.849,  26.8785
-   1.443,  14.1513,  10.0919,  19.8731,  138.874,  112.001,  26.8259
-   1.444,  14.1614,  10.0079,   20.059,  138.972,  112.152,  26.7734
-   1.445,  14.1713,  9.89227,  20.2071,  139.069,  112.301,  26.7227
-   1.446,  14.1812,  9.76356,  20.3049,  139.165,  112.445,  26.6746
-   1.447,  14.1909,  9.64237,  20.3442,  139.259,  112.586,   26.629
-   1.448,  14.2005,  9.54808,  20.3218,  139.353,  112.724,  26.5847
-   1.449,    14.21,  9.49575,  20.2397,  139.446,  112.862,  26.5403
-    1.45,  14.2194,  9.49371,  20.1051,  139.539,  113.001,  26.4944
-   1.451,   14.229,  9.54226,  19.9295,  139.633,  113.142,  26.4465
-   1.452,  14.2385,  9.63361,  19.7281,  139.727,  113.285,  26.3969
-   1.453,  14.2482,   9.7531,  19.5181,  139.823,  113.431,  26.3463
-   1.454,   14.258,  9.88161,  19.3175,   139.92,  113.578,  26.2955
-   1.455,   14.268,  9.99858,  19.1435,  140.018,  113.726,  26.2451
-   1.456,   14.278,  10.0853,   19.011,  140.117,  113.874,  26.1957
-   1.457,  14.2882,  10.1279,  18.9313,  140.216,  114.022,  26.1475
-   1.458,  14.2983,  10.1197,  18.9112,  140.316,  114.168,  26.1005
-   1.459,  14.3084,  10.0619,  18.9521,  140.414,  114.313,  26.0546
-    1.46,  14.3184,  9.96388,  19.0506,  140.512,  114.457,  26.0093
-   1.461,  14.3283,   9.8413,   19.198,  140.609,  114.599,  25.9639
-   1.462,  14.3381,   9.7138,  19.3813,  140.704,  114.742,  25.9174
-   1.463,  14.3477,  9.60178,  19.5847,  140.798,  114.885,  25.8689
-   1.464,  14.3573,  9.52313,  19.7905,  140.892,  115.029,  25.8184
-   1.465,  14.3668,  9.49042,  19.9809,  140.985,  115.174,  25.7665
-   1.466,  14.3763,  9.50885,  20.1392,  141.078,  115.319,  25.7145
-   1.467,  14.3858,  9.57543,  20.2519,  141.172,  115.463,  25.6641
-   1.468,  14.3954,  9.67949,  20.3092,  141.267,  115.606,  25.6163
-   1.469,  14.4052,  9.80435,  20.3062,  141.363,  115.746,  25.5711
-    1.47,   14.415,  9.93003,  20.2433,  141.461,  115.887,  25.5274
-   1.471,   14.425,  10.0364,  20.1261,  141.559,  116.028,  25.4834
-   1.472,  14.4351,  10.1065,   19.965,  141.658,  116.173,  25.4375
-   1.473,  14.4452,  10.1292,  19.7743,  141.758,  116.321,  25.3888
-   1.474,  14.4554,  10.1007,  19.5706,  141.857,  116.472,  25.3376
-   1.475,  14.4654,  10.0258,  19.3719,  141.955,  116.623,  25.2852
-   1.476,  14.4754,  9.91643,  19.1956,  142.052,  116.773,  25.2334
-   1.477,  14.4853,   9.7901,  19.0573,  142.148,   116.92,  25.1836
-   1.478,   14.495,  9.66704,   18.969,  142.243,  117.062,  25.1361
-   1.479,  14.5046,  9.56692,  18.9383,  142.337,  117.202,  25.0905
-    1.48,  14.5141,  9.50576,   18.968,   142.43,   117.34,  25.0457
-   1.481,  14.5236,   9.4933,  19.0552,  142.523,  117.479,  25.0004
-   1.482,  14.5331,   9.5315,  19.1921,  142.617,  117.618,  24.9538
-   1.483,  14.5427,  9.61422,  19.3664,  142.711,   117.76,  24.9057
-   1.484,  14.5524,   9.7282,  19.5627,  142.807,  117.905,  24.8564
-   1.485,  14.5621,  9.85519,  19.7635,  142.903,  118.051,  24.8062
-   1.486,  14.5721,  9.97486,  19.9509,  143.001,  118.199,  24.7557
-   1.487,  14.5821,  10.0681,  20.1082,    143.1,  118.347,  24.7055
-   1.488,  14.5922,    10.12,  20.2216,  143.199,  118.496,  24.6561
-   1.489,  14.6023,  10.1222,  20.2809,  143.298,  118.644,  24.6078
-    1.49,  14.6124,  10.0746,  20.2811,  143.397,   118.79,   24.561
-   1.491,  14.6225,   9.9846,  20.2222,  143.495,  118.934,  24.5155
-   1.492,  14.6324,  9.86678,  20.1096,  143.592,  119.076,  24.4705
-   1.493,  14.6422,  9.73995,  19.9535,  143.688,  119.217,   24.425
-   1.494,  14.6519,  9.62441,   19.768,  143.782,   119.36,  24.3778
-   1.495,  14.6615,  9.53863,  19.5698,  143.876,  119.503,  24.3283
-   1.496,   14.671,  9.49632,  19.3767,  143.969,  119.648,  24.2769
-   1.497,  14.6805,   9.5042,  19.2061,  144.062,  119.793,  24.2247
-   1.498,    14.69,  9.56099,  19.0733,  144.156,  119.938,  24.1733
-   1.499,  14.6996,  9.65757,  18.9902,  144.251,  120.081,  24.1243
-     1.5,  14.7093,  9.77847,  18.9641,  144.346,  120.223,  24.0781
-   1.501,  14.7191,  9.90433,  18.9974,  144.444,  120.363,  24.0339
-   1.502,  14.7291,   10.015,  19.0869,  144.542,  120.505,  23.9901
-   1.503,  14.7392,  10.0928,  19.2243,  144.641,  120.648,   23.945
-   1.504,  14.7493,  10.1254,  19.3972,   144.74,  120.795,  23.8973
-   1.505,  14.7594,  10.1074,  19.5897,  144.839,  120.945,  23.8469
-   1.506,  14.7695,  10.0419,  19.7844,  144.938,  121.096,   23.795
-   1.507,  14.7795,  9.93939,  19.9636,  145.035,  121.246,   23.743
-   1.508,  14.7894,  9.81621,   20.111,  145.132,  121.394,  23.6926
-   1.509,  14.7991,  9.69212,  20.2132,  145.227,  121.538,  23.6444
-    1.51,  14.8088,  9.58697,   20.261,  145.321,  121.678,  23.5982
-   1.511,  14.8183,  9.51756,  20.2501,  145.414,  121.817,  23.5531
-   1.512,  14.8278,  9.49497,  20.1818,  145.507,  121.955,  23.5079
-   1.513,  14.8373,  9.52278,  20.0623,  145.601,  122.095,  23.4616
-   1.514,  14.8468,  9.59652,  19.9026,  145.695,  122.236,  23.4139
-   1.515,  14.8565,  9.70435,  19.7176,   145.79,   122.38,  23.3648
-   1.516,  14.8663,  9.82901,  19.5242,  145.886,  122.525,  23.3149
-   1.517,  14.8761,  9.95055,  19.3401,  145.984,  122.673,  23.2645
-   1.518,  14.8862,  10.0495,  19.1823,  146.083,  122.821,  23.2143
-   1.519,  14.8962,  10.1101,  19.0653,  146.182,   122.97,  23.1648
-    1.52,  14.9064,  10.1227,  18.9997,  146.281,  123.118,  23.1164
-   1.521,  14.9165,  10.0852,  18.9914,   146.38,  123.264,  23.0693
-   1.522,  14.9265,  10.0038,  19.0412,  146.478,  123.408,  23.0235
-   1.523,  14.9365,  9.89136,  19.1443,  146.575,  123.551,  22.9784
-   1.524,  14.9463,  9.76602,   19.291,  146.671,  123.693,  22.9328
-   1.525,   14.956,   9.6478,  19.4678,  146.766,  123.835,  22.8857
-   1.526,  14.9656,   9.5556,  19.6581,  146.859,  123.979,  22.8365
-   1.527,  14.9751,  9.50416,  19.8443,  146.953,  124.123,  22.7854
-   1.528,  14.9846,  9.50166,  20.0092,  147.046,  124.268,  22.7334
-   1.529,  14.9941,  9.54849,  20.1374,   147.14,  124.413,  22.6821
-    1.53,  15.0037,  9.63711,  20.2171,  147.234,  124.556,   22.633
-   1.531,  15.0134,  9.75333,  20.2411,   147.33,  124.698,  22.5866
-   1.532,  15.0232,  9.87854,   20.207,  147.427,  124.838,  22.5422
-   1.533,  15.0332,   9.9927,  20.1184,  147.525,  124.979,  22.4983
-   1.534,  15.0432,  10.0776,  19.9835,  147.624,  125.123,  22.4532
-   1.535,  15.0533,  10.1196,   19.815,  147.723,   125.27,  22.4054
-   1.536,  15.0635,  10.1121,  19.6288,  147.822,   125.42,  22.3551
-   1.537,  15.0736,  10.0562,  19.4423,  147.921,  125.571,   22.303
-   1.538,  15.0836,  9.96103,   19.273,  148.018,  125.721,  22.2511
-   1.539,  15.0935,  9.84175,  19.1368,  148.115,  125.869,  22.2008
-    1.54,  15.1033,  9.71747,  19.0462,   148.21,  126.013,  22.1528
-   1.541,  15.1129,  9.60808,  19.0099,  148.305,  126.153,   22.107
-   1.542,  15.1225,  9.53104,   19.031,  148.398,  126.292,  22.0621
-   1.543,   15.132,  9.49868,  19.1075,  148.491,   126.43,   22.017
-   1.544,  15.1415,  9.51614,  19.2321,  148.585,   126.57,  21.9704
-   1.545,   15.151,  9.58058,  19.3929,  148.679,  126.712,  21.9222
-   1.546,  15.1606,  9.68168,  19.5746,  148.774,  126.856,  21.8725
-   1.547,  15.1704,  9.80324,  19.7601,   148.87,  127.002,  21.8221
-   1.548,  15.1802,   9.9258,  19.9319,  148.967,  127.149,  21.7718
-   1.549,  15.1902,  10.0298,  20.0736,  149.065,  127.297,  21.7221
-    1.55,  15.2003,  10.0985,  20.1719,  149.165,  127.444,  21.6733
-   1.551,  15.2104,  10.1211,  20.2176,  149.264,  127.591,  21.6256
-   1.552,  15.2205,  10.0938,  20.2065,  149.363,  127.737,   21.579
-   1.553,  15.2306,  10.0212,  20.1397,  149.461,  127.882,  21.5331
-   1.554,  15.2406,  9.91491,  20.0237,  149.558,  128.025,  21.4874
-   1.555,  15.2504,  9.79186,  19.8696,  149.655,  128.168,   21.441
-   1.556,  15.2602,  9.67179,  19.6922,  149.749,  128.311,  21.3931
-   1.557,  15.2698,   9.5739,  19.5084,  149.843,  128.455,  21.3435
-   1.558,  15.2793,  9.51385,  19.3358,  149.937,    128.6,  21.2924
-   1.559,  15.2888,   9.5012,  19.1908,   150.03,  128.745,   21.241
-    1.56,  15.2983,  9.53795,  19.0872,  150.123,  128.888,  21.1906
-   1.561,  15.3079,  9.61819,  19.0349,  150.218,  129.031,  21.1422
-   1.562,  15.3176,  9.72906,  19.0388,  150.313,  129.171,  21.0963
-   1.563,  15.3273,  9.85281,  19.0983,   150.41,  129.312,   21.052
-   1.564,  15.3373,  9.96963,  19.2077,  150.508,  129.453,  21.0076
-   1.565,  15.3473,  10.0608,  19.3564,  150.606,  129.597,  20.9617
-   1.566,  15.3574,  10.1119,    19.53,  150.706,  129.745,  20.9131
-   1.567,  15.3675,  10.1146,  19.7118,  150.805,  129.896,   20.862
-   1.568,  15.3776,  10.0686,  19.8842,  150.904,  130.047,  20.8097
-   1.569,  15.3876,  9.98125,  20.0307,  151.001,  130.197,  20.7581
-    1.57,  15.3976,  9.86658,  20.1371,  151.098,  130.344,  20.7086
-   1.571,  15.4074,  9.74293,  20.1934,  151.194,  130.487,  20.6617
-   1.572,  15.4171,  9.63009,  20.1942,  151.288,  130.627,  20.6168
-   1.573,  15.4266,   9.5461,  20.1394,  151.382,  130.765,  20.5725
-   1.574,  15.4361,  9.50437,  20.0346,  151.475,  130.904,   20.527
-   1.575,  15.4456,  9.51155,  19.8899,  151.569,  131.045,  20.4796
-   1.576,  15.4552,  9.56647,  19.7195,  151.662,  131.188,    20.43
-   1.577,  15.4648,   9.6603,  19.5399,  151.757,  131.333,  20.3791
-   1.578,  15.4745,  9.77802,  19.3685,  151.853,  131.479,  20.3281
-   1.579,  15.4843,  9.90078,  19.2221,   151.95,  131.626,  20.2781
-    1.58,  15.4943,  10.0089,  19.1148,  152.048,  131.772,  20.2295
-   1.581,  15.5044,  10.0852,  19.0569,  152.147,  131.918,  20.1823
-   1.582,  15.5145,  10.1174,   19.054,  152.247,  132.063,   20.136
-   1.583,  15.5246,  10.1004,  19.1063,  152.346,  132.209,    20.09
-   1.584,  15.5347,   10.037,  19.2085,  152.444,  132.354,  20.0437
-   1.585,  15.5447,   9.9373,  19.3507,  152.542,  132.499,  19.9966
-   1.586,  15.5545,   9.8173,  19.5187,  152.638,  132.644,  19.9485
-   1.587,  15.5643,  9.69621,  19.6962,  152.733,  132.789,  19.8992
-   1.588,  15.5739,   9.5934,  19.8658,  152.827,  132.934,   19.849
-   1.589,  15.5835,   9.5253,  20.0108,  152.921,  133.078,  19.7985
-    1.59,   15.593,  9.50277,  20.1171,  153.014,  133.221,  19.7485
-   1.591,  15.6025,  9.52941,  20.1744,  153.107,  133.363,  19.6998
-   1.592,   15.612,  9.60091,  20.1771,  153.201,  133.504,  19.6528
-   1.593,  15.6217,   9.7058,   20.125,  153.297,  133.644,  19.6074
-   1.594,  15.6315,   9.8273,  20.0234,  153.393,  133.784,  19.5625
-   1.595,  15.6413,  9.94596,  19.8824,  153.491,  133.927,  19.5169
-   1.596,  15.6513,  10.0428,  19.7159,  153.589,  134.073,  19.4693
-   1.597,  15.6614,  10.1023,  19.5405,  153.688,  134.222,  19.4193
-   1.598,  15.6715,  10.1151,  19.3733,  153.787,  134.373,  19.3676
-   1.599,  15.6817,   10.079,  19.2309,  153.886,  134.524,  19.3157
-     1.6,  15.6917,  9.99994,  19.1274,  153.984,  134.673,  19.2653
-   1.601,  15.7017,  9.89054,  19.0729,  154.081,  134.818,  19.2175
-   1.602,  15.7115,  9.76833,  19.0726,  154.177,   134.96,  19.1722
-   1.603,  15.7212,  9.65286,  19.1266,  154.272,  135.099,  19.1281
-   1.604,  15.7308,  9.56259,  19.2293,  154.366,  135.238,  19.0835
-   1.605,  15.7403,  9.51196,  19.3705,  154.459,  135.378,  19.0368
-   1.606,  15.7498,  9.50902,  19.5361,  154.552,  135.521,  18.9874
-   1.607,  15.7593,  9.55423,  19.7096,  154.646,  135.665,  18.9361
-   1.608,  15.7689,  9.64033,  19.8737,  154.741,  135.811,  18.8842
-   1.609,  15.7786,  9.75351,  20.0121,  154.836,  135.957,  18.8335
-    1.61,  15.7884,  9.87565,  20.1111,  154.933,  136.102,  18.7848
-   1.611,  15.7984,  9.98722,   20.161,  155.031,  136.246,  18.7384
-   1.612,  15.8084,  10.0704,  20.1567,   155.13,   136.39,  18.6932
-   1.613,  15.8185,  10.1118,  20.0989,  155.229,  136.534,  18.6479
-   1.614,  15.8286,   10.105,  19.9934,  155.328,   136.68,  18.6016
-   1.615,  15.8387,   10.051,  19.8509,  155.427,  136.827,  18.5536
-   1.616,  15.8487,  9.95842,  19.6856,  155.525,  136.974,  18.5042
-   1.617,  15.8586,   9.8422,  19.5142,  155.621,  137.122,   18.454
-   1.618,  15.8684,  9.72091,  19.3539,  155.717,  137.268,  18.4037
-   1.619,  15.8781,  9.61394,  19.2207,  155.811,  137.412,  18.3541
-    1.62,  15.8876,   9.5384,  19.1279,  155.904,  137.555,  18.3055
-   1.621,  15.8972,  9.50635,  19.0847,  155.998,  137.696,  18.2579
-   1.622,  15.9067,  9.52288,  19.0954,  156.091,  137.836,  18.2112
-   1.623,  15.9162,  9.58533,  19.1589,  156.185,  137.975,  18.1651
-   1.624,  15.9258,  9.68368,  19.2686,   156.28,  138.116,  18.1189
-   1.625,  15.9356,  9.80217,  19.4134,  156.376,  138.258,  18.0721
-   1.626,  15.9454,  9.92185,  19.5786,  156.474,  138.403,   18.024
-   1.627,  15.9554,  10.0236,  19.7476,  156.572,  138.551,  17.9744
-   1.628,  15.9655,   10.091,  19.9032,  156.671,    138.7,  17.9237
-   1.629,  15.9756,  10.1135,  20.0299,   156.77,   138.85,  17.8728
-    1.63,  15.9857,  10.0875,  20.1148,  156.869,  138.999,   17.823
-   1.631,  15.9958,   10.017,  20.1494,  156.967,  139.146,   17.775
-   1.632,  16.0057,  9.91352,  20.1304,  157.065,   139.29,  17.7291
-   1.633,  16.0156,  9.79352,  20.0597,  157.161,  139.431,  17.6844
-   1.634,  16.0253,  9.67623,  19.9446,  157.256,  139.571,  17.6395
-   1.635,  16.0349,   9.5804,  19.7969,   157.35,  139.712,  17.5929
-   1.636,  16.0445,  9.52136,  19.6316,  157.443,  139.855,  17.5438
-   1.637,   16.054,  9.50853,  19.4656,  157.536,      140,  17.4925
-   1.638,  16.0635,  9.54392,  19.3157,   157.63,  140.145,  17.4405
-   1.639,  16.0731,  9.62185,  19.1971,  157.724,   140.29,  17.3894
-    1.64,  16.0828,  9.72983,  19.1219,   157.82,  140.434,  17.3407
-   1.641,  16.0925,  9.85057,  19.0976,  157.916,  140.576,  17.2946
-   1.642,  16.1025,  9.96474,  19.1266,  158.014,  140.717,  17.2502
-   1.643,  16.1125,  10.0541,  19.2059,  158.113,   140.86,  17.2057
-   1.644,  16.1226,  10.1043,  19.3273,  158.212,  141.005,  17.1596
-   1.645,  16.1327,  10.1075,  19.4782,  158.311,  141.153,   17.111
-   1.646,  16.1428,   10.063,  19.6433,   158.41,  141.303,  17.0603
-   1.647,  16.1528,  9.97816,  19.8055,  158.508,  141.453,  17.0087
-   1.648,  16.1627,  9.86642,  19.9484,  158.604,  141.601,  16.9578
-   1.649,  16.1725,  9.74573,  20.0572,    158.7,  141.746,  16.9087
-    1.65,  16.1822,  9.63539,   20.121,  158.795,  141.889,  16.8616
-   1.651,  16.1918,  9.55304,  20.1332,  158.888,  142.028,  16.8159
-   1.652,  16.2013,  9.51185,  20.0926,  158.982,  142.167,  16.7704
-   1.653,  16.2108,  9.51837,  20.0037,  159.075,  142.306,  16.7242
-   1.654,  16.2204,  9.57154,  19.8755,  159.169,  142.447,  16.6767
-   1.655,    16.23,  9.66281,  19.7214,  159.264,  142.591,  16.6277
-   1.656,  16.2397,  9.77757,  19.5572,   159.36,  142.736,  16.5779
-   1.657,  16.2495,  9.89745,  19.3999,  159.457,  142.883,  16.5278
-   1.658,  16.2595,  10.0033,  19.2657,  159.555,   143.03,   16.478
-   1.659,  16.2695,  10.0781,  19.1684,  159.654,  143.178,  16.4291
-    1.66,  16.2796,    10.11,  19.1179,  159.753,  143.325,  16.3812
-   1.661,  16.2898,  10.0939,  19.1194,  159.852,  143.471,  16.3343
-   1.662,  16.2998,  10.0324,  19.1726,   159.95,  143.616,   16.288
-   1.663,  16.3098,  9.93538,   19.272,  160.048,   143.76,  16.2419
-   1.664,  16.3197,  9.81834,  19.4071,  160.144,  143.903,  16.1953
-   1.665,  16.3295,  9.70004,   19.564,  160.239,  144.047,  16.1474
-   1.666,  16.3391,  9.59939,  19.7262,  160.333,  144.191,   16.098
-   1.667,  16.3487,   9.5325,  19.8771,  160.427,  144.335,  16.0474
-   1.668,  16.3582,  9.51003,  20.0008,   160.52,   144.48,  15.9965
-   1.669,  16.3677,  9.53555,  20.0848,  160.614,  144.623,  15.9466
-    1.67,  16.3772,  9.60496,  20.1202,  160.708,  144.765,  15.8985
-   1.671,  16.3869,  9.70713,  20.1036,  160.803,  144.905,  15.8525
-   1.672,  16.3967,  9.82568,  20.0366,    160.9,  145.046,  15.8077
-   1.673,  16.4065,  9.94166,  19.9265,  160.997,  145.188,  15.7627
-   1.674,  16.4165,  10.0365,  19.7847,  161.096,  145.332,   15.716
-   1.675,  16.4266,  10.0951,  19.6261,  161.195,   145.48,  15.6669
-   1.676,  16.4367,   10.108,  19.4673,  161.294,  145.631,  15.6157
-   1.677,  16.4468,  10.0733,  19.3248,  161.393,  145.782,  15.5638
-   1.678,  16.4569,  9.99642,  19.2134,  161.491,  145.932,  15.5129
-   1.679,  16.4668,  9.88982,  19.1448,  161.588,  146.078,  15.4644
-    1.68,  16.4767,  9.77051,  19.1261,  161.684,   146.22,  15.4183
-   1.681,  16.4864,  9.65759,  19.1591,  161.778,   146.36,  15.3739
-   1.682,   16.496,  9.56911,  19.2403,  161.872,  146.499,  15.3293
-   1.683,  16.5055,  9.51922,  19.3611,  161.966,  146.638,  15.2829
-   1.684,   16.515,  9.51587,  19.5087,  162.059,   146.78,  15.2341
-   1.685,  16.5245,  9.55957,  19.6676,  162.153,  146.925,  15.1832
-   1.686,  16.5341,   9.6433,  19.8212,  162.247,  147.071,  15.1316
-   1.687,  16.5438,  9.75364,  19.9532,  162.343,  147.217,  15.0809
-   1.688,  16.5536,  9.87294,  20.0499,   162.44,  147.362,  15.0321
-   1.689,  16.5636,  9.98209,  20.1011,  162.538,  147.506,  14.9854
-    1.69,  16.5736,  10.0637,  20.1016,  162.636,   147.65,  14.9399
-   1.691,  16.5837,  10.1046,  20.0514,  162.736,  147.794,  14.8945
-   1.692,  16.5938,  10.0984,  19.9559,  162.835,   147.94,   14.848
-   1.693,  16.6039,  10.0461,  19.8251,  162.933,  148.086,     14.8
-   1.694,  16.6139,  9.95601,  19.6731,  163.031,  148.234,  14.7506
-   1.695,  16.6238,  9.84265,  19.5158,  163.127,  148.381,  14.7005
-   1.696,  16.6336,  9.72414,  19.3699,  163.223,  148.528,  14.6504
-   1.697,  16.6432,  9.61942,  19.2508,  163.317,  148.672,   14.601
-   1.698,  16.6528,  9.54526,   19.171,  163.411,  148.814,  14.5526
-   1.699,  16.6623,  9.51348,  19.1389,  163.504,  148.955,  14.5053
-     1.7,  16.6718,  9.52915,  19.1579,  163.598,  149.095,  14.4587
-   1.701,  16.6814,  9.58974,  19.2257,  163.692,  149.235,  14.4124
-   1.702,   16.691,  9.68552,  19.3352,  163.787,  149.376,  14.3658
-   1.703,  16.7008,  9.80115,  19.4747,  163.883,  149.518,  14.3184
-   1.704,  16.7106,  9.91814,  19.6292,   163.98,  149.664,  14.2699
-   1.705,  16.7206,  10.0178,  19.7824,  164.078,  149.811,  14.2201
-   1.706,  16.7307,  10.0841,   19.918,  164.177,  149.961,  14.1697
-   1.707,  16.7408,  10.1065,  20.0215,  164.277,   150.11,  14.1195
-   1.708,  16.7509,  10.0815,  20.0821,  164.375,  150.258,  14.0704
-   1.709,  16.7609,  10.0131,  20.0934,  164.474,  150.404,   14.023
-    1.71,  16.7709,  9.91226,  20.0542,  164.571,  150.548,  13.9772
-   1.711,  16.7808,   9.7951,  19.9688,  164.667,   150.69,  13.9322
-   1.712,  16.7905,  9.68039,  19.8464,  164.762,  150.831,  13.8864
-   1.713,  16.8001,  9.58648,  19.7001,  164.856,  150.973,  13.8388
-   1.714,  16.8097,  9.52838,  19.5457,  164.949,  151.116,   13.789
-   1.715,  16.8192,  9.51535,  19.3995,  165.043,  151.261,  13.7376
-   1.716,  16.8287,  9.54947,  19.2773,  165.137,  151.406,  13.6861
-   1.717,  16.8383,  9.62524,   19.192,  165.231,   151.55,  13.6361
-   1.718,  16.8479,  9.73052,  19.1527,  165.326,  151.692,  13.5886
-   1.719,  16.8577,  9.84845,  19.1636,  165.423,  151.834,  13.5433
-    1.72,  16.8676,  9.96016,  19.2233,  165.521,  151.975,  13.4989
-   1.721,  16.8777,  10.0478,  19.3254,  165.619,  152.118,  13.4537
-   1.722,  16.8877,  10.0973,  19.4589,  165.718,  152.265,  13.4063
-   1.723,  16.8979,  10.1009,  19.6094,  165.817,  152.414,  13.3564
-   1.724,  16.9079,  10.0579,  19.7606,  165.916,  152.564,  13.3049
-   1.725,   16.918,   9.9753,  19.8964,  166.014,  152.714,  13.2533
-   1.726,  16.9279,   9.8663,  20.0022,  166.111,  152.862,  13.2034
-   1.727,  16.9377,  9.74836,  20.0666,  166.206,  153.006,  13.1557
-   1.728,  16.9474,  9.64035,  20.0827,  166.301,  153.146,  13.1101
-   1.729,   16.957,  9.55953,   20.049,  166.395,  153.285,  13.0652
-    1.73,  16.9665,  9.51883,  19.9691,  166.488,  153.424,  13.0196
-   1.731,   16.976,  9.52472,  19.8518,  166.582,  153.565,  12.9722
-   1.732,  16.9856,  9.57624,  19.7097,  166.675,  153.708,  12.9229
-   1.733,  16.9952,  9.66512,  19.5583,   166.77,  153.853,  12.8724
-   1.734,  17.0049,  9.77713,  19.4139,  166.866,  153.999,  12.8218
-   1.735,  17.0147,  9.89432,  19.2921,  166.963,  154.145,   12.772
-   1.736,  17.0247,  9.99797,   19.206,  167.061,  154.291,  12.7238
-   1.737,  17.0347,  10.0715,   19.165,   167.16,  154.436,  12.6768
-   1.738,  17.0448,  10.1031,  19.1732,  167.259,  154.582,  12.6306
-   1.739,  17.0549,  10.0879,  19.2299,  167.358,  154.727,  12.5843
-    1.74,   17.065,  10.0282,  19.3287,  167.457,  154.873,  12.5374
-   1.741,   17.075,  9.93362,  19.4589,  167.554,  155.018,  12.4895
-   1.742,  17.0849,  9.81934,  19.6062,   167.65,  155.164,  12.4407
-   1.743,  17.0946,  9.70363,  19.7547,  167.746,   155.31,  12.3911
-   1.744,  17.1043,  9.60501,  19.8882,   167.84,  155.454,  12.3412
-   1.745,  17.1138,  9.53923,  19.9923,  167.933,  155.598,  12.2916
-   1.746,  17.1233,  9.51679,  20.0557,  168.027,   155.74,  12.2429
-   1.747,  17.1329,  9.54128,  20.0715,   168.12,  155.881,  12.1953
-   1.748,  17.1424,  9.60873,  20.0381,  168.215,  156.021,  12.1488
-   1.749,  17.1521,  9.70833,  19.9593,   168.31,  156.161,   12.103
-    1.75,  17.1618,  9.82415,  19.8436,  168.406,  156.303,  12.0568
-   1.751,  17.1717,  9.93763,  19.7039,  168.504,  156.448,  12.0094
-   1.752,  17.1817,  10.0306,  19.5553,  168.602,  156.595,  11.9603
-   1.753,  17.1918,  10.0883,  19.4141,  168.701,  156.744,  11.9098
-   1.754,  17.2019,  10.1014,  19.2958,    168.8,  156.894,  11.8588
-   1.755,   17.212,  10.0679,  19.2131,  168.899,  157.044,  11.8086
-   1.756,   17.222,  9.99316,  19.1751,  168.997,   157.19,  11.7604
-   1.757,   17.232,  9.88916,  19.1858,  169.094,  157.334,  11.7143
-   1.758,  17.2418,  9.77257,  19.2441,   169.19,  157.475,  11.6694
-   1.759,  17.2515,  9.66202,  19.3433,  169.285,  157.615,  11.6244
-    1.76,  17.2611,  9.57521,  19.4727,  169.379,  157.756,  11.5776
-   1.761,  17.2707,  9.52601,  19.6179,  169.472,  157.899,  11.5284
-   1.762,  17.2802,  9.52225,   19.763,  169.565,  158.044,  11.4772
-   1.763,  17.2897,  9.56453,  19.8921,  169.659,  158.189,  11.4255
-   1.764,  17.2993,  9.64605,   19.991,  169.754,  158.334,  11.3749
-   1.765,   17.309,  9.75374,   20.049,   169.85,  158.477,  11.3267
-   1.766,  17.3188,  9.87037,  20.0597,  169.946,  158.619,  11.2809
-   1.767,  17.3288,  9.97728,   20.022,  170.044,  158.761,  11.2364
-   1.768,  17.3388,  10.0574,  19.9401,  170.143,  158.904,  11.1914
-   1.769,  17.3489,  10.0979,  19.8232,  170.242,   159.05,  11.1445
-    1.77,   17.359,  10.0923,  19.6842,  170.341,  159.199,  11.0951
-   1.771,  17.3691,  10.0415,  19.5384,   170.44,  159.349,  11.0441
-   1.772,  17.3791,  9.95379,   19.402,  170.537,  159.498,  10.9927
-   1.773,   17.389,   9.8431,  19.2899,  170.634,  159.646,  10.9425
-   1.774,  17.3987,  9.72717,  19.2145,  170.729,   159.79,  10.8944
-   1.775,  17.4084,  9.62456,   19.184,  170.824,  159.931,  10.8482
-   1.776,   17.418,  9.55168,  19.2017,  170.917,   160.07,  10.8029
-   1.777,  17.4275,  9.52015,  19.2657,  171.011,  160.209,  10.7572
-   1.778,   17.437,    9.535,  19.3687,  171.104,   160.35,  10.7101
-   1.779,  17.4466,  9.59383,  19.4992,  171.198,  160.492,  10.6613
-    1.78,  17.4562,  9.68721,  19.6429,  171.293,  160.637,  10.6113
-   1.781,   17.466,  9.80017,  19.7837,  171.389,  160.783,   10.561
-   1.782,  17.4758,  9.91465,   19.906,  171.487,  160.929,  10.5113
-   1.783,  17.4858,  10.0123,  19.9964,  171.585,  161.076,  10.4626
-   1.784,  17.4958,  10.0776,  20.0448,  171.684,  161.222,  10.4152
-   1.785,  17.5059,     10.1,   20.046,  171.783,  161.367,  10.3685
-   1.786,   17.516,   10.076,  19.9998,  171.882,  161.513,  10.3221
-   1.787,  17.5261,  10.0095,  19.9116,   171.98,  161.658,  10.2753
-   1.788,  17.5361,   9.9111,  19.7912,  172.077,  161.803,  10.2278
-   1.789,  17.5459,   9.7966,  19.6519,  172.173,  161.949,  10.1794
-    1.79,  17.5557,   9.6843,  19.5095,  172.268,  162.093,    10.13
-   1.791,  17.5653,  9.59217,  19.3796,  172.362,  162.238,  10.0801
-   1.792,  17.5748,  9.53494,  19.2768,  172.456,  162.381,  10.0303
-   1.793,  17.5844,  9.52173,  19.2125,  172.549,  162.524,  9.98131
-   1.794,  17.5939,  9.55465,  19.1937,  172.643,  162.665,  9.93353
-   1.795,  17.6035,  9.62839,  19.2226,  172.738,  162.806,  9.88703
-   1.796,  17.6131,  9.73114,  19.2957,  172.833,  162.946,  9.84125
-   1.797,  17.6229,  9.84644,  19.4048,   172.93,  163.088,   9.7952
-   1.798,  17.6328,  9.95586,  19.5377,  173.027,  163.233,  9.74789
-   1.799,  17.6428,  10.0419,  19.6796,  173.126,   163.38,  9.69878
-     1.8,  17.6529,  10.0908,  19.8145,  173.225,  163.529,  9.64817
-   1.801,   17.663,  10.0947,  19.9273,  173.324,   163.68,  9.59714
-   1.802,  17.6731,  10.0531,  20.0055,  173.422,  163.829,  9.54706
-   1.803,  17.6831,  9.97265,  20.0404,   173.52,  163.975,  9.49897
-   1.804,  17.6931,  9.86622,  20.0281,  173.617,  164.118,  9.45297
-   1.805,  17.7029,  9.75085,  19.9701,  173.713,  164.259,  9.40814
-   1.806,  17.7126,  9.64501,  19.8729,  173.807,    164.4,  9.36293
-   1.807,  17.7222,  9.56562,  19.7476,  173.901,  164.541,  9.31589
-   1.808,  17.7317,  9.52536,  19.6083,  173.995,  164.684,  9.26643
-   1.809,  17.7412,  9.53065,  19.4706,  174.088,  164.829,  9.21516
-    1.81,  17.7508,  9.58063,  19.3499,  174.182,  164.974,  9.16359
-   1.811,  17.7604,  9.66726,  19.2599,  174.277,  165.118,   9.1134
-   1.812,  17.7701,  9.77668,  19.2105,  174.373,  165.262,  9.06559
-   1.813,  17.7799,  9.89137,  19.2074,   174.47,  165.404,  9.02002
-   1.814,  17.7899,  9.99298,  19.2506,  174.568,  165.546,  8.97541
-   1.815,  17.7999,  10.0653,  19.3354,  174.667,  165.689,  8.93007
-   1.816,    17.81,  10.0967,  19.4521,  174.766,  165.836,  8.88267
-   1.817,  17.8201,  10.0822,  19.5874,  174.865,  165.985,  8.83296
-   1.818,  17.8302,  10.0242,  19.7261,  174.963,  166.135,  8.78177
-   1.819,  17.8401,  9.93199,  19.8525,   175.06,  166.284,  8.73063
-    1.82,    17.85,   9.8203,  19.9525,  175.157,   166.43,  8.68093
-   1.821,  17.8598,  9.70702,  20.0147,  175.252,  166.574,  8.63332
-   1.822,  17.8694,  9.61028,  20.0321,  175.346,  166.714,  8.58743
-   1.823,   17.879,  9.54553,   20.003,   175.44,  166.853,   8.5421
-   1.824,  17.8885,  9.52313,  19.9306,  175.533,  166.993,  8.49605
-   1.825,  17.8981,  9.54662,  19.8232,  175.627,  167.134,  8.44843
-   1.826,  17.9076,  9.61223,   19.693,  175.721,  167.277,  8.39918
-   1.827,  17.9173,  9.70944,  19.5549,  175.816,  167.422,  8.34896
-   1.828,   17.927,  9.82268,  19.4244,  175.913,  167.568,  8.29874
-   1.829,  17.9369,  9.93383,  19.3164,   176.01,  167.714,  8.24938
-    1.83,  17.9469,  10.0251,   19.243,  176.109,   167.86,  8.20126
-   1.831,   17.957,  10.0819,  19.2126,  176.207,  168.006,  8.15424
-   1.832,  17.9671,  10.0952,  19.2284,  176.307,  168.152,  8.10778
-   1.833,  17.9772,  10.0629,  19.2887,  176.405,  168.297,  8.06124
-   1.834,  17.9872,  9.99012,  19.3865,  176.503,  168.443,   8.0141
-   1.835,  17.9971,  9.88858,  19.5106,    176.6,  168.588,  7.96605
-   1.836,   18.007,  9.77452,  19.6469,  176.696,  168.734,   7.9171
-   1.837,  18.0167,   9.6662,  19.7798,  176.791,  168.879,  7.86751
-   1.838,  18.0263,  9.58094,  19.8943,  176.885,  169.023,  7.81779
-   1.839,  18.0359,  9.53237,  19.9773,  176.978,  169.166,  7.76849
-    1.84,  18.0454,  9.52823,  20.0195,  177.072,  169.308,  7.72014
-   1.841,  18.0549,  9.56916,   20.016,  177.166,  169.448,  7.67293
-   1.842,  18.0645,   9.6486,  19.9674,   177.26,  169.589,  7.62664
-   1.843,  18.0742,  9.75381,  19.8793,  177.356,   169.73,  7.58057
-   1.844,   18.084,  9.86795,  19.7618,  177.453,  169.873,  7.53381
-   1.845,  18.0939,  9.97276,  19.6283,  177.551,  170.018,  7.48565
-   1.846,   18.104,  10.0515,  19.4942,  177.649,  170.166,  7.43594
-   1.847,  18.1141,  10.0915,  19.3747,  177.748,  170.316,  7.38528
-   1.848,  18.1242,  10.0865,  19.2835,  177.847,  170.466,  7.33481
-   1.849,  18.1342,  10.0373,   19.231,  177.946,  170.614,   7.2857
-    1.85,  18.1442,  9.95172,  19.2231,  178.043,  170.759,  7.23855
-   1.851,  18.1541,  9.84354,  19.2606,   178.14,  170.901,  7.19303
-   1.852,  18.1639,  9.73004,  19.3392,  178.235,  171.042,  7.14797
-   1.853,  18.1736,   9.6294,  19.4498,   178.33,  171.183,  7.10186
-   1.854,  18.1832,   9.5577,  19.5797,  178.424,  171.326,  7.05365
-   1.855,  18.1927,   9.5264,  19.7139,  178.517,  171.469,   7.0033
-   1.856,  18.2022,  9.54047,  19.8371,  178.611,  171.614,  6.95183
-   1.857,  18.2118,  9.59766,  19.9351,  178.705,  171.759,  6.90089
-   1.858,  18.2214,  9.68877,  19.9967,    178.8,  171.903,  6.85189
-   1.859,  18.2312,  9.79923,   20.015,  178.896,  172.045,   6.8053
-    1.86,   18.241,  9.91135,  19.9878,  178.993,  172.186,  6.76038
-   1.861,   18.251,  10.0072,  19.9184,  179.091,  172.329,  6.71556
-   1.862,   18.261,  10.0715,  19.8148,   179.19,  172.474,  6.66922
-   1.863,  18.2711,  10.0939,  19.6891,  179.289,  172.622,  6.62049
-   1.864,  18.2812,  10.0708,  19.5556,  179.388,  172.771,  6.56971
-   1.865,  18.2913,  10.0061,  19.4298,  179.486,  172.922,  6.51823
-   1.866,  18.3012,  9.91004,  19.3262,  179.583,   173.07,  6.46769
-   1.867,  18.3111,  9.79803,  19.2567,   179.68,  173.215,  6.41924
-   1.868,  18.3208,  9.68799,  19.2292,  179.775,  173.357,  6.37294
-   1.869,  18.3305,  9.59752,  19.2468,  179.869,  173.496,  6.32783
-    1.87,    18.34,  9.54109,  19.3074,  179.962,  173.636,  6.28242
-   1.871,  18.3495,  9.52771,   19.404,  180.056,  173.776,  6.23545
-   1.872,  18.3591,  9.55948,  19.5254,   180.15,  173.918,  6.18649
-   1.873,  18.3687,  9.63131,  19.6574,  180.244,  174.063,  6.13608
-   1.874,  18.3783,  9.73169,  19.7848,   180.34,  174.209,  6.08538
-   1.875,  18.3881,  9.84453,  19.8929,  180.436,  174.355,  6.03558
-   1.876,   18.398,  9.95179,  19.9693,  180.534,    174.5,  5.98734
-   1.877,   18.408,  10.0363,   20.005,  180.632,  174.645,  5.94055
-   1.878,  18.4181,  10.0846,  19.9961,  180.731,   174.79,   5.8945
-   1.879,  18.4282,  10.0889,  19.9437,   180.83,  174.935,  5.84824
-    1.88,  18.4383,  10.0486,  19.8539,  180.929,  175.081,  5.80103
-   1.881,  18.4483,  9.97018,  19.7371,  181.026,  175.228,  5.75262
-   1.882,  18.4582,  9.86615,   19.607,  181.123,  175.374,  5.70327
-   1.883,   18.468,   9.7532,  19.4787,  181.219,   175.52,  5.65352
-   1.884,  18.4777,  9.64938,   19.367,  181.314,  175.665,  5.60401
-   1.885,  18.4873,  9.57132,   19.285,  181.407,  175.808,  5.55521
-   1.886,  18.4969,  9.53147,   19.242,  181.501,  175.949,  5.50731
-   1.887,  18.5064,  9.53618,   19.243,  181.595,   176.09,  5.46023
-   1.888,  18.5159,  9.58469,  19.2878,  181.689,   176.23,  5.41362
-   1.889,  18.5256,  9.66921,  19.3712,  181.783,  176.371,  5.36695
-    1.89,  18.5353,   9.7762,  19.4833,  181.879,  176.514,  5.31966
-   1.891,  18.5451,  9.88853,  19.6112,  181.976,  176.659,  5.27136
-   1.892,  18.5551,  9.98822,  19.7398,  182.074,  176.806,    5.222
-   1.893,  18.5651,  10.0594,  19.8542,  182.173,  176.954,  5.17199
-   1.894,  18.5752,  10.0905,   19.941,  182.272,  177.103,  5.12212
-   1.895,  18.5853,  10.0768,  19.9903,  182.371,  177.251,  5.07319
-   1.896,  18.5953,  10.0204,  19.9963,  182.469,  177.397,  5.02572
-   1.897,  18.6053,  9.93036,  19.9584,  182.567,  177.541,  4.97955
-   1.898,  18.6152,  9.82108,  19.8811,  182.663,  177.684,  4.93388
-   1.899,   18.625,  9.71006,  19.7735,  182.758,  177.826,  4.88755
-     1.9,  18.6346,  9.61505,  19.6481,  182.852,  177.968,  4.83961
-   1.901,  18.6442,  9.55124,  19.5197,  182.946,  178.112,  4.78984
-   1.902,  18.6537,  9.52881,  19.4033,   183.04,  178.256,  4.73892
-   1.903,  18.6632,  9.55133,  19.3124,  183.133,  178.401,   4.6882
-   1.904,  18.6728,  9.61516,  19.2578,  183.228,  178.544,  4.63898
-   1.905,  18.6825,  9.71006,  19.2456,  183.323,  178.686,  4.59192
-   1.906,  18.6922,  9.82083,  19.2772,  183.419,  178.827,  4.54657
-   1.907,  18.7021,  9.92973,   19.349,  183.517,  178.969,  4.50161
-   1.908,  18.7121,  10.0193,  19.4523,  183.615,  179.113,  4.45546
-   1.909,  18.7222,  10.0753,  19.5752,  183.714,   179.26,  4.40708
-    1.91,  18.7322,  10.0887,   19.703,  183.813,  179.409,  4.35657
-   1.911,  18.7423,  10.0573,  19.8208,  183.911,   179.56,  4.30509
-   1.912,  18.7524,  9.98627,  19.9148,  184.009,  179.709,  4.25432
-   1.913,  18.7623,  9.88689,  19.9741,  184.106,  179.855,  4.20559
-   1.914,  18.7721,  9.77505,  19.9916,  184.202,  179.998,  4.15922
-   1.915,  18.7819,  9.66863,  19.9655,  184.297,  180.138,   4.1143
-   1.916,  18.7915,  9.58461,  19.8988,  184.391,  180.277,  4.06924
-   1.917,   18.801,  9.53638,  19.7995,  184.485,  180.418,  4.02252
-   1.918,  18.8105,   9.5316,  19.6792,  184.578,   180.56,  3.97348
-   1.919,  18.8201,  9.57096,  19.5522,  184.672,  180.705,  3.92265
-    1.92,  18.8297,  9.64809,  19.4335,  184.767,   180.85,  3.87142
-   1.921,  18.8394,  9.75057,  19.3369,  184.862,  180.996,  3.82131
-   1.922,  18.8492,  9.86192,  19.2739,  184.959,   181.14,  3.77325
-   1.923,  18.8591,  9.96426,  19.2518,  185.057,  181.283,   3.7271
-   1.924,  18.8691,  10.0411,  19.2731,  185.155,  181.427,  3.68181
-   1.925,  18.8792,  10.0801,  19.3353,  185.254,  181.571,  3.63598
-   1.926,  18.8893,   10.075,  19.4309,  185.353,  181.718,  3.58857
-   1.927,  18.8993,  10.0264,  19.5487,  185.452,  181.866,  3.53938
-   1.928,  18.9093,  9.94194,  19.6747,  185.549,  182.014,  3.48904
-   1.929,  18.9192,  9.83508,  19.7939,  185.646,  182.161,  3.43866
-    1.93,   18.929,  9.72273,  19.8924,  185.741,  182.307,  3.38927
-   1.931,  18.9387,  9.62264,  19.9585,  185.835,   182.45,  3.34132
-   1.932,  18.9482,  9.55061,  19.9845,  185.929,   182.59,  3.29459
-   1.933,  18.9578,   9.5179,  19.9672,  186.022,   182.73,  3.24837
-   1.934,  18.9673,  9.52943,   19.909,  186.116,   182.87,  3.20181
-   1.935,  18.9768,  9.58304,  19.8166,   186.21,  183.011,  3.15432
-   1.936,  18.9864,  9.66978,  19.7012,  186.305,  183.154,  3.10576
-   1.937,  18.9962,  9.77537,  19.5763,  186.401,  183.298,   3.0564
-   1.938,   19.006,  9.88248,  19.4569,  186.498,  183.445,  3.00677
-   1.939,  19.0159,   9.9735,   19.357,  186.595,  183.591,  2.95744
-    1.94,  19.0259,  10.0333,  19.2885,  186.694,  183.738,  2.90883
-   1.941,   19.036,  10.0519,  19.2595,  186.792,  183.885,   2.8611
-   1.942,   19.046,  10.0255,  19.2733,  186.891,   184.03,  2.81414
-   1.943,   19.056,  9.95764,  19.3282,  186.988,  184.175,  2.76753
-   1.944,   19.066,  9.85847,  19.4177,  187.085,  184.319,  2.72073
-   1.945,  19.0758,  9.74292,   19.531,  187.181,  184.462,  2.67317
-   1.946,  19.0854,   9.6285,  19.6547,  187.275,  184.606,  2.62453
-   1.947,   19.095,  9.53239,   19.774,  187.369,   184.75,  2.57493
-   1.948,  19.1045,  9.46875,  19.8748,  187.462,  184.893,  2.52492
-   1.949,   19.114,  9.44638,  19.9451,  187.554,  185.035,  2.47535
-    1.95,  19.1234,  9.46737,  19.9765,  187.647,  185.176,  2.42696
-   1.951,  19.1329,  9.52669,  19.9655,  187.741,  185.316,  2.38003
-   1.952,  19.1425,  9.61302,  19.9133,  187.835,  185.456,  2.33413
-   1.953,  19.1521,  9.71056,  19.8263,   187.93,  185.596,  2.28828
-   1.954,  19.1619,  9.80151,  19.7149,  188.026,  185.739,  2.24135
-   1.955,  19.1717,  9.86892,  19.5924,  188.123,  185.884,  2.19267
-   1.956,  19.1816,  9.89938,  19.4734,   188.22,  186.032,  2.14241
-   1.957,  19.1915,  9.88516,  19.3721,  188.317,   186.18,  2.09157
-   1.958,  19.2014,  9.82537,  19.3006,  188.414,  186.327,  2.04153
-   1.959,  19.2112,  9.72613,  19.2674,  188.509,  186.471,  1.99336
-    1.96,  19.2208,  9.59955,  19.2763,  188.603,  186.612,  1.94721
-   1.961,  19.2304,  9.46174,  19.3263,  188.696,   186.75,  1.90224
-   1.962,  19.2398,  9.33022,  19.4113,  188.788,  186.888,  1.85694
-   1.963,   19.249,  9.22109,  19.5211,  188.878,  187.025,  1.80992
-   1.964,  19.2582,  9.14642,  19.6425,  188.968,  187.165,  1.76067
-   1.965,  19.2673,  9.11228,  19.7609,  189.057,  187.305,  1.70982
-   1.966,  19.2764,  9.11775,  19.8623,  189.147,  187.445,  1.65886
-   1.967,  19.2856,  9.15501,  19.9345,  189.236,  187.585,   1.6094
-   1.968,  19.2947,  9.21059,  19.9689,  189.327,  187.722,   1.5623
-   1.969,   19.304,  9.26744,  19.9615,  189.418,  187.857,  1.51727
-    1.97,  19.3133,  9.30767,  19.9131,  189.509,  187.993,  1.47299
-   1.971,  19.3226,  9.31532,  19.8297,    189.6,  188.129,   1.4278
-   1.972,  19.3319,  9.27886,  19.7212,  189.691,  188.268,  1.38059
-   1.973,  19.3412,  9.19304,  19.6009,  189.782,  188.408,  1.33134
-   1.974,  19.3503,  9.05961,  19.4831,   189.87,  188.548,  1.28113
-   1.975,  19.3593,  8.88701,  19.3819,  189.958,  188.685,   1.2316
-   1.976,  19.3681,  8.68895,  19.3095,  190.043,  188.819,  1.18406
-   1.977,  19.3767,  8.48217,  19.2746,  190.126,  188.949,  1.13891
-   1.978,   19.385,   8.2837,  19.2812,  190.207,  189.074,  1.09544
-   1.979,  19.3932,  8.10805,  19.3285,  190.287,  189.198,  1.05231
-    1.98,  19.4012,  7.96484,  19.4108,  190.365,   189.32,  1.00821
-   1.981,  19.4092,  7.85721,  19.5181,  190.442,  189.444, 0.962577
-   1.982,   19.417,  7.78124,  19.6375,  190.518,  189.567, 0.915838
-   1.983,  19.4247,  7.72652,  19.7545,  190.594,   189.69, 0.869141
-   1.984,  19.4324,  7.67774,  19.8551,   190.67,  189.811, 0.823786
-   1.985,  19.4401,  7.61707,  19.9273,  190.744,  189.929, 0.780614
-   1.986,  19.4476,  7.52698,  19.9622,  190.818,  190.044, 0.739686
-   1.987,  19.4551,  7.39293,  19.9559,  190.891,  190.157, 0.700374
-   1.988,  19.4624,  7.20564,   19.909,  190.961,  190.267, 0.661768
-   1.989,  19.4695,  6.96252,  19.8274,   191.03,  190.375, 0.623173
-    1.99,  19.4764,  6.66799,  19.7209,  191.095,  190.481, 0.584435
-   1.991,  19.4829,  6.33273,  19.6025,  191.157,  190.583, 0.545989
-   1.992,   19.489,  5.97188,  19.4863,  191.216,  190.681,  0.50864
-   1.993,  19.4948,  5.60259,  19.3866,  191.271,  190.774, 0.473228
-   1.994,  19.5002,  5.24119,  19.3152,  191.322,   190.86, 0.440353
-   1.995,  19.5053,  4.90052,  19.2808,   191.37,  190.939, 0.410241
-   1.996,    19.51,  4.58789,  19.2874,  191.415,  191.013, 0.382777
-   1.997,  19.5145,  4.30379,  19.3343,  191.457,  191.082, 0.357644
-   1.998,  19.5186,  4.04184,  19.4156,  191.497,  191.146, 0.334499
-   1.999,  19.5226,  3.78978,  19.5215,  191.534,  191.206, 0.313129
-       2,  19.5262,  3.53137,  19.6392,  191.569,  191.261, 0.293581
+    time,    disp,    velo,    reac,    wext,    epot,    ekin,   total
+       0,       0,       0,      -0,       0,       0,       0,       0
+   0.001,       0,  -1.962,      -0,0.0192472,       0,0.0048118,-0.0144354
+   0.002,-0.003924,-5.72904,      -0,0.0754491,0.00153978,0.0410428,-0.0328666
+   0.003,-0.0114581,-9.04404,      -0,0.164171,0.012774,0.102604,-0.0487932
+   0.004,-0.0220121,-11.6659,      -0,0.278614,0.0452231,0.172681,-0.0607089
+   0.005,-0.0347899,-13.4355,      -0,0.410416,0.106783,0.235979,-0.0676538
+   0.006,-0.0488831,-14.2928,      -0,0.550628,0.196298,0.284868,-0.0694632
+   0.007,-0.0633755,-14.2811,      -0,0.690726,0.302603,0.321327,-0.0667962
+   0.008,-0.0774452,-13.5374,      -0,0.823528,0.408548,0.354051,-0.0609292
+   0.009,-0.0904504, -12.272,      -0,0.943916,0.497889,0.392622,-0.0534054
+    0.01,-0.101989,-10.7378,      -0, 1.04925,0.561539,0.442033,-0.0456807
+   0.011,-0.111926,-9.19645,      -0, 1.13947,0.600169,0.500411,-0.0388906
+   0.012,-0.120382,-7.88413,      -0, 1.21681,0.622205,0.560823,-0.0337852
+   0.013,-0.127694,-6.98202,      -0, 1.28531,0.638742,0.615775,-0.0307905
+   0.014,-0.134346,-6.59599,      -0, 1.35001,0.658295,0.661618,-0.030101
+   0.015,-0.140886,-6.74725,      -0,  1.4162,0.684108,0.700376,-0.0317203
+   0.016,-0.147841,-7.37528,      -0, 1.48856,0.715003,0.738129,-0.0354243
+   0.017,-0.155637,-8.35188,      -0, 1.57049,0.748646,0.781148,-0.0406935
+   0.018,-0.164544,-9.50425,      -0, 1.66372,0.784851,0.832177,-0.0466972
+   0.019,-0.174645,-10.6431,      -0, 1.76813,0.826726,0.889014,-0.0523937
+    0.02,-0.185831,-11.5916,      -0, 1.88185,0.878992, 0.94611,-0.0567458
+   0.021,-0.197828,-12.2118,      -0, 2.00164,0.944612,0.998052,-0.0589804
+   0.022,-0.210254,-12.4226,      -0, 2.12351, 1.02193, 1.04279,-0.0587893
+   0.023,-0.222674,-12.2103,      -0, 2.24329, 1.10422, 1.08269,-0.0563845
+   0.024,-0.234675,-11.6269,      -0, 2.35735, 1.18204, 1.12292,-0.0523941
+   0.025,-0.245927,-10.7795,      -0,  2.4631, 1.24722, 1.16823,-0.0476515
+   0.026,-0.256234,-9.81192,      -0, 2.55935, 1.29628,  1.2201,-0.0429745
+   0.027,-0.265551,-8.88061,      -0, 2.64647, 1.33144, 1.27601,-0.0390177
+   0.028,-0.273995,-8.13048,      -0, 2.72623,  1.3589, 1.33111,-0.036229
+   0.029,-0.281812,-7.67281,      -0,  2.8015, 1.38543, 1.38119,-0.0348789
+    0.03,-0.28934, -7.5693,      -0, 2.87576,  1.4154, 1.42525,-0.0351001
+   0.031,-0.296951,-7.82422,      -0, 2.95251, 1.44968, 1.46595,-0.0368863
+   0.032,-0.304989,-8.38568,      -0, 3.03478, 1.48685, 1.50789,-0.0400451
+   0.033,-0.313722,-9.15552,      -0, 3.12459, 1.52568, 1.55476,-0.044148
+   0.034, -0.3233, -10.006,      -0, 3.22275, 1.56703, 1.60718,-0.0485375
+   0.035,-0.333734,-10.8007,      -0, 3.32871,  1.6139, 1.66238,-0.0524287
+   0.036,-0.344901,-11.4158,      -0,  3.4407, 1.66964, 1.71597,-0.0550897
+   0.037,-0.356566,-11.7594,      -0, 3.55606, 1.73533, 1.76469,-0.0560356
+   0.038,-0.36842,-11.7846,      -0, 3.67166, 1.80821,  1.8083,-0.0551571
+   0.039,-0.380135,-11.4961,      -0, 3.78444, 1.88203, 1.84968,-0.0527282
+    0.04,-0.391412,-10.9474,      -0, 3.89183, 1.94957, 1.89297,-0.0492985
+   0.041,-0.40203, -10.232,      -0, 3.99221, 2.00563, 1.94106,-0.0455222
+   0.042,-0.411876,-9.46688,      -0, 4.08508, 2.04923, 1.99385,-0.0420011
+   0.043,-0.420964,-8.77433,      -0, 4.17116, 2.08358, 2.04838,-0.0391959
+   0.044,-0.429425,-8.26213,      -0, 4.25221, 2.11408, 2.10072,-0.0374136
+   0.045,-0.437488,-8.00715,      -0, 4.33076, 2.14557, 2.14835,-0.0368368
+   0.046,-0.445439,-8.04396,      -0, 4.40967, 2.18045, 2.19167,-0.0375424
+   0.047,-0.453576, -8.3603,      -0, 4.49168,  2.2185,  2.2337,-0.0394826
+   0.048,-0.46216, -8.9001,      -0, 4.57899, 2.25839, 2.27816,-0.0424378
+   0.049,-0.471376,-9.57318,      -0, 4.67291, 2.29969, 2.32723,-0.0459849
+    0.05,-0.481306,-10.2702,      -0, 4.77366, 2.34389, 2.38024,-0.0495292
+   0.051,-0.491916,-10.8803,      -0, 4.88039, 2.39385, 2.43412,-0.0524161
+   0.052,-0.503067,-11.3084,      -0, 4.99133, 2.45187, 2.48536,-0.0540936
+   0.053,-0.514533,-11.4904,      -0, 5.10405, 2.51768,  2.5321,-0.0542631
+   0.054,-0.526047, -11.402,      -0,  5.2159, 2.58767, 2.57527,-0.0529545
+   0.055,-0.537337,-11.0624,      -0, 5.32442, 2.65598, 2.61795,-0.0504967
+   0.056,-0.548172,-10.5299,      -0, 5.42772, 2.71686, 2.66346,-0.0474016
+   0.057,-0.558397,-9.89248,      -0, 5.52477, 2.76721, 2.71334,-0.0442182
+   0.058,-0.567957,-9.25311,      -0, 5.61554, 2.80769, 2.76644,-0.0414175
+   0.059,-0.576903,-8.71322,      -0, 5.70102, 2.84201, 2.81966,-0.0393428
+    0.06,-0.585384,-8.35677,      -0,   5.783, 2.87488,  2.8699,-0.0382159
+   0.061,-0.593617,-8.23723,      -0,  5.8638, 2.90973, 2.91591,-0.0381619
+   0.062,-0.601858,-8.36965,      -0, 5.94591, 2.94765, 2.95905,-0.0392134
+   0.063,-0.610356,-8.72892,      -0, 6.03154, 2.98787, 3.00239,-0.04128
+   0.064,-0.619316,-9.25438,      -0, 6.12233, 3.02937, 3.04885,-0.0441063
+   0.065,-0.628865,-9.85999,      -0, 6.21905,  3.0724, 3.09939,-0.0472609
+   0.066,-0.639036,-10.4484,      -0, 6.32155, 3.11889, 3.15247,-0.0501908
+   0.067,-0.649762,-10.9263,      -0, 6.42874, 3.17138, 3.20502,-0.0523404
+   0.068,-0.660888,-11.2197,      -0,  6.5388, 3.23115, 3.25435,-0.0532976
+   0.069,-0.672201,-11.2845,      -0,  6.6495, 3.29683, 3.29977,-0.052907
+    0.07,-0.683457,-11.1139,      -0, 6.75853, 3.36425, 3.34298,-0.0513024
+   0.071,-0.694429,-10.7383,      -0, 6.86387, 3.42802,   3.387,-0.0488487
+   0.072,-0.704934,-10.2203,      -0, 6.96413, 3.48378, 3.43434,-0.0460236
+   0.073,-0.714869,-9.64421,      -0, 7.05874, 3.53004, 3.48541,-0.0432942
+   0.074,-0.724222,-9.10238,      -0, 7.14804, 3.56864, 3.53836,-0.0410361
+   0.075,-0.733074,-8.68045,      -0, 7.23319, 3.60346, 3.59022,-0.0395108
+   0.076,-0.741583,-8.44385,      -0, 7.31603, 3.63843, 3.63872,-0.0388814
+   0.077,-0.749962,-8.42775,      -0,  7.3987, 3.67581, 3.68367,-0.0392306
+   0.078,-0.758439,-8.63182,      -0, 7.48338, 3.71579, 3.72704,-0.040551
+   0.079,-0.767225,-9.02077,      -0, 7.57188,  3.7574, 3.77177,-0.0427094
+    0.08,-0.77648,-9.53041,      -0, 7.66537, 3.80006, 3.81989,-0.0454148
+   0.081,-0.786286,-10.0782,      -0, 7.76424, 3.84463, 3.87137,-0.0482288
+   0.082,-0.796637,-10.5765,      -0, 7.86799, 3.89324, 3.92411,-0.0506382
+   0.083,-0.807439,-10.9468,      -0, 7.97538, 3.94793, 3.97527,-0.0521781
+   0.084,-0.81853,-11.1317,      -0, 8.08458, 4.00901, 4.02302,-0.0525576
+   0.085,-0.829703,-11.1039,      -0, 8.19351, 4.07416, 4.06761,-0.0517388
+   0.086,-0.840738,-10.8705,      -0, 8.30015, 4.13897, 4.11125,-0.049933
+   0.087,-0.851444, -10.471,      -0, 8.40287, 4.19867, 4.15668,-0.0475231
+   0.088,-0.86168,-9.97079,      -0, 8.50069, 4.25022, 4.20552,-0.0449491
+   0.089,-0.871385,-9.45068,      -0,  8.5934,  4.2935, 4.25729,-0.0426074
+    0.09,-0.880581,-8.99361,      -0, 8.68162, 4.33109, 4.30973,-0.0407987
+   0.091,-0.889372,-8.67161,      -0, 8.76669, 4.36678, 4.36019,-0.0397235
+   0.092,-0.897925,-8.53443,      -0, 8.85042, 4.40366, 4.40725,-0.0395019
+   0.093,-0.906441,-8.60187,      -0,  8.9348, 4.44301, 4.45161,-0.0401808
+   0.094,-0.915128,-8.86099,      -0, 9.02173, 4.48443, 4.49558,-0.0417138
+   0.095,-0.924163, -9.2685,      -0, 9.11265, 4.52701, 4.54171,-0.0439257
+   0.096,-0.933665,-9.75797,      -0, 9.20838, 4.57069, 4.59119,-0.0464937
+   0.097,-0.943679,-10.2506,      -0, 9.30893, 4.61681, 4.64315,-0.0489787
+   0.098,-0.954167, -10.668,      -0, 9.41359, 4.66746, 4.69522,-0.0509133
+   0.099,-0.965015,-10.9445,      -0, 9.52095, 4.72405, 4.74498,-0.051921
+     0.1,-0.976056,-11.0375,      -0, 9.62923, 4.78596, 4.79145,-0.0518209
+   0.101,-0.98709, -10.934,      -0, 9.73649, 4.85015, 4.83567,-0.050672
+   0.102,-0.997924,-10.6524,      -0, 9.84099,  4.9122, 4.88005,-0.0487411
+   0.103, -1.0084,-10.2395,      -0, 9.94144, 4.96816, 4.92687,-0.0464135
+   0.104, -1.0184,-9.76205,      -0, 10.0372, 5.01622,  4.9769,-0.0440872
+   0.105,-1.02792,-9.29686,      -0, 10.1284, 5.05737, 5.02894,-0.0420956
+   0.106,  -1.037,-8.91787,      -0, 10.2159, 5.09464, 5.08057,-0.0406787
+   0.107,-1.04575,-8.68459,      -0, 10.3011, 5.13145, 5.12965,-0.0399907
+   0.108,-1.05437,-8.63281,      -0, 10.3858, 5.17004, 5.17562,-0.0401174
+   0.109,-1.06302,-8.76909,      -0, 10.4718, 5.21092, 5.21981,-0.0410722
+    0.11, -1.0719,   -9.07,      -0, 10.5608, 5.25336, 5.26465,-0.0427698
+   0.111,-1.08116,-9.48609,      -0, 10.6538, 5.29671, 5.31214,-0.0449942
+   0.112,-1.09088,-9.95006,      -0, 10.7514, 5.34142, 5.36263,-0.0473974
+   0.113,-1.10106,-10.3876,      -0, 10.8534, 5.38915, 5.41465,-0.0495496
+   0.114,-1.11165,-10.7292,      -0, 10.9586, 5.44177,  5.4658,-0.0510365
+   0.115,-1.12252,-10.9213,      -0, 11.0657, 5.49994, 5.51423,-0.0515704
+   0.116,-1.13349,-10.9346,      -0,  11.173, 5.56217, 5.55977,-0.0510696
+   0.117,-1.14439,-10.7686,      -0, 11.2786, 5.62495, 5.60403,-0.0496719
+   0.118,-1.15503,-10.4512,      -0, 11.3812, 5.68412, 5.64937,-0.0476806
+   0.119,-1.16529,-10.0342,      -0, 11.4796, 5.73665, 5.69749,-0.0454695
+    0.12, -1.1751,-9.58509,      -0, 11.5736, 5.78188, 5.74837,-0.0433922
+   0.121,-1.18446,-9.17553,      -0, 11.6637, 5.82165, 5.80028,-0.0417258
+   0.122,-1.19345,-8.87048,      -0, 11.7507, 5.85911, 5.85091,-0.0406611
+   0.123, -1.2022,-8.71771,      -0, 11.8362, 5.89716, 5.89872,-0.0403159
+   0.124,-1.21089,-8.74031,      -0, 11.9219, 5.93726, 5.94393,-0.0407461
+   0.125,-1.21968,-8.93325,      -0, 12.0096,  5.9793, 5.98833,-0.0419321
+   0.126,-1.22875,-9.26443,      -0, 12.1005, 6.02249, 6.03422,-0.0437487
+   0.127,-1.23821,-9.67996,      -0, 12.1954, 6.06654, 6.08293,-0.045943
+   0.128,-1.24811, -10.113,      -0, 12.2946, 6.11238, 6.13409,-0.0481503
+   0.129,-1.25844,-10.4943,      -0, 12.3976,  6.1618, 6.18581,-0.0499611
+    0.13, -1.2691,-10.7635,      -0, 12.5032, 6.21625, 6.23589,-0.051022
+   0.131,-1.27996,-10.8787,      -0, 12.6099, 6.27562, 6.28313,-0.0511332
+   0.132,-1.29086,-10.8226,      -0, 12.7161, 6.33765,  6.3281,-0.0503015
+   0.133,-1.30161,-10.6054,      -0, 12.8201, 6.39862, 6.37274,-0.0487263
+   0.134,-1.31207,-10.2631,      -0, 12.9208, 6.45486, 6.41918,-0.0467298
+   0.135,-1.32214,-9.85101,      -0, 13.0174, 6.50431, 6.46844,-0.0446644
+   0.136,-1.33177,-9.43548,      -0,   13.11, 6.54734, 6.51979,-0.0428377
+   0.137,-1.34101,-9.08272,      -0, 13.1991, 6.58635, 6.57125,-0.0414779
+   0.138,-1.34994,-8.84852,      -0, 13.2859, 6.62438, 6.62076,-0.0407356
+   0.139, -1.3587,-8.76934,      -0, 13.3719, 6.66372, 6.66749,-0.0406989
+    0.14,-1.36747,-8.85669,      -0, 13.4588, 6.70509, 6.71231,-0.0413954
+   0.141,-1.37642,-9.09546,      -0,  13.548,   6.748, 6.75725,-0.0427713
+   0.142,-1.38567,-9.44648,      -0, 13.6407, 6.79177, 6.80425,-0.044662
+   0.143,-1.39531,-9.85302,      -0, 13.7373, 6.83657, 6.85399,-0.046783
+   0.144,-1.40537,-10.2498,      -0, 13.8379, 6.88368, 6.90545,-0.0487634
+   0.145,-1.41581,-10.5738,      -0, 13.9416, 6.93482, 6.95658,-0.050225
+   0.146,-1.42652,-10.7736,      -0, 14.0473, 6.99091, 7.00552,-0.050882
+   0.147,-1.43736,-10.8184,      -0, 14.1534, 7.05102,  7.0518,-0.0506202
+   0.148,-1.44816,-10.7021,      -0, 14.2584, 7.11235, 7.09656,-0.0495225
+   0.149,-1.45876,-10.4442,      -0, 14.3609, 7.17119, 7.14186,-0.0478334
+    0.15,-1.46904,-10.0869,      -0, 14.4598, 7.22453, 7.18943,-0.045879
+   0.151,-1.47893,-9.68785,      -0, 14.5549, 7.27131, 7.23958,-0.0439826
+   0.152,-1.48842,-9.31089,      -0, 14.6462, 7.31275, 7.29106,-0.0424072
+   0.153,-1.49756,-9.01602,      -0, 14.7347, 7.35153,  7.3418,-0.0413385
+   0.154,-1.50645,-8.84973,      -0, 14.8215, 7.39039, 7.39019,-0.0408945
+   0.155,-1.51526,-8.83771,      -0, 14.9082, 7.43095, 7.43609,-0.0411374
+   0.156,-1.52413,-8.98087,      -0, 14.9963, 7.47335, 7.48087,-0.0420663
+   0.157,-1.53322,-9.25538,      -0, 15.0871, 7.51691, 7.52658,-0.0435916
+   0.158,-1.54264,-9.61663,      -0, 15.1814, 7.56121, 7.57469,-0.0455115
+   0.159,-1.55245,-10.0064,      -0, 15.2796, 7.60687, 7.62519,-0.0475167
+    0.16,-1.56265,-10.3625,      -0, 15.3812, 7.65538, 7.67661,-0.0492416
+   0.161,-1.57318,-10.6281,      -0, 15.4855, 7.70823, 7.72692,-0.0503505
+   0.162,-1.58391,-10.7616,      -0, 15.5911, 7.76566, 7.77478,-0.0506295
+   0.163, -1.5947,-10.7424,      -0, 15.6964, 7.82604, 7.82036,-0.0500446
+   0.164,-1.60539,-10.5746,      -0, 15.8002,  7.8862, 7.86524,-0.0487425
+   0.165,-1.61585,-10.2858,      -0, 15.9011, 7.94269,  7.9114,-0.0469961
+   0.166,-1.62596,-9.92288,      -0, 15.9984, 7.99328, 7.96004,-0.0451235
+   0.167,-1.63569, -9.5441,      -0, 16.0921, 8.03784, 8.01081,-0.0434139
+   0.168,-1.64505,-9.21001,      -0, 16.1824, 8.07824, 8.06208,-0.0420887
+   0.169,-1.65411,-8.97364,      -0, 16.2704, 8.11722, 8.11193,-0.0412974
+    0.17,  -1.663,-8.87213,      -0, 16.3575, 8.15706, 8.15928,-0.0411311
+   0.171,-1.67186,-8.92085,      -0,  16.445, 8.19872, 8.20464,-0.0416273
+   0.172,-1.68084,-9.11118,      -0, 16.5344, 8.24192,  8.2497,-0.0427554
+   0.173,-1.69008, -9.4119,      -0, 16.6267, 8.28598, 8.29634,-0.0443893
+   0.174,-1.69967,-9.77442,      -0, 16.7226, 8.33085, 8.34545,-0.0462931
+   0.175,-1.70963,-10.1405,      -0, 16.8221, 8.37751, 8.39641,-0.0481423
+   0.176,-1.71995,-10.4518,      -0, 16.9246, 8.42754, 8.44748,-0.0495882
+   0.177,-1.73053,-10.6589,      -0, 17.0292, 8.48199, 8.49683,-0.0503469
+   0.178,-1.74126,-10.7293,      -0, 17.1344, 8.54041, 8.54373,-0.0502784
+   0.179,-1.75199,-10.6527,      -0, 17.2389, 8.60056, 8.58894,-0.0494216
+    0.18,-1.76257, -10.442,      -0, 17.3414, 8.65915, 8.63424,-0.0479727
+   0.181,-1.77288,-10.1316,      -0, 17.4408, 8.71317, 8.68137,-0.0462193
+   0.182,-1.78283,-9.77159,      -0, 17.5366, 8.76124, 8.73091,-0.044461
+   0.183,-1.79242, -9.4197,      -0,  17.629, 8.80407, 8.78199,-0.0429512
+   0.184,-1.80167,-9.13202,      -0, 17.7186, 8.84395, 8.83278,-0.0418733
+   0.185,-1.81068, -8.9541,      -0, 17.8064, 8.88345, 8.88164,-0.0413468
+   0.186,-1.81958,-8.91374,      -0, 17.8939, 8.92431, 8.92814,-0.0414391
+   0.187,-1.82851,-9.01665,      -0, 17.9823, 8.96691, 8.97326,-0.0421631
+   0.188,-1.83761,-9.24562,      -0,  18.073, 9.01071, 9.01887,-0.0434564
+   0.189,  -1.847,-9.56345,      -0, 18.1669, 9.05521, 9.06649,-0.0451569
+    0.19,-1.85674,-9.91895,      -0, 18.2642, 9.10074, 9.11642,  -0.047
+   0.191,-1.86684,-10.2552,      -0, 18.3648, 9.14858, 9.16753,-0.0486565
+   0.192,-1.87725,-10.5186,      -0,  18.468, 9.20015, 9.21799,-0.0498062
+   0.193,-1.88788,-10.6676,      -0, 18.5726, 9.25601, 9.26636,-0.0502245
+   0.194,-1.89859,-10.6789,      -0, 18.6774, 9.31501,  9.3125,-0.0498438
+   0.195,-1.90923,-10.5514,      -0, 18.7809, 9.37447, 9.35764,-0.0487668
+   0.196,-1.91969,-10.3063,      -0,  18.882, 9.43115,  9.4036,-0.0472252
+   0.197,-1.92985, -9.9832,      -0, 18.9799,  9.4827,  9.4517,-0.045508
+   0.198,-1.93966,-9.63409,      -0, 19.0744, 9.52858, 9.50195,-0.0438901
+   0.199,-1.94912,-9.31483,      -0, 19.1658, 9.57019, 9.55302,-0.0425885
+     0.2,-1.95828,-9.07621,      -0, 19.2548, 9.60997, 9.60311,-0.0417538
+   0.201,-1.96727,-8.95592,-5.06637e-279, 19.3427, 9.65021,   9.651,-0.0414798
+   0.202, -1.9762,-8.97255,-1.95055e-276, 19.4307, 9.69205, 9.69686,-0.0418121
+   0.203,-1.98521,-9.12279,-3.7634e-274, 19.5202, 9.73541, 9.74207,-0.0427376
+   0.204,-1.99444,-9.38199,-4.85178e-272, 19.6122, 9.77967, 9.78842,-0.0441606
+   0.205,-2.00398,-9.70824,-4.70186e-270, 19.7075, 9.82461, 9.83699,-0.0458847
+   0.206,-2.01386,-10.0491,-3.65352e-268, 19.8061, 9.87095, 9.88749,-0.0476243
+   0.207,-2.02408,-10.3502,-2.37112e-266, 19.9076, 9.92009, 9.93845,-0.0490564
+   0.208,-2.03456,-10.5636,-1.32199e-264, 20.0112,  9.9732, 9.98813,-0.0499003
+   0.209, -2.0452,-10.6557,-6.46375e-263, 20.1158, 10.0302, 10.0356,-0.0499949
+    0.21,-2.05587,-10.6123,-2.81554e-261, 20.2199, 10.0893, 10.0812,-0.0493419
+   0.211,-2.06643, -10.441,-1.10625e-259, 20.3223, 10.1476, 10.1266,-0.048096
+   0.212,-2.07675,-10.1698,-3.96023e-258, 20.4221, 10.2022, 10.1733,-0.0465112
+   0.213,-2.08677,-9.84248,-1.30246e-256, 20.5186, 10.2514, 10.2223,-0.044867
+   0.214,-2.09644,-9.51149,-3.96284e-255, 20.6119, 10.2955,  10.273,-0.0434092
+   0.215,-2.10579,-9.22969,-1.12209e-253, 20.7025, 10.3363, 10.3238,-0.0423209
+   0.216, -2.1149,-9.04186,-2.97194e-252, 20.7912, 10.3764, 10.3731,-0.0417238
+   0.217,-2.12387,-8.97753,-7.3957e-251, 20.8792, 10.4175, 10.4201,-0.04169
+   0.218,-2.13285, -9.0464,-1.73597e-249,  20.968, 10.4602, 10.4656,-0.0422431
+   0.219,-2.14197,-9.23687,-3.85685e-248, 21.0586, 10.5041, 10.5111,-0.0433422
+    0.22,-2.15133,-9.51797,-8.13559e-247,  21.152, 10.5488, 10.5583,-0.0448574
+   0.221,  -2.161,-9.84442,-1.63386e-245, 21.2485, 10.5942, 10.6077,-0.0465618
+   0.222,-2.17101,-10.1639,-3.13178e-244, 21.3482, 10.6415, 10.6585,-0.0481578
+   0.223,-2.18133,-10.4254,-5.74257e-243, 21.4505, 10.6921, 10.7091,-0.0493404
+   0.224,-2.19187,-10.5875,-1.00938e-241, 21.5544, 10.7466, 10.7579,-0.0498768
+   0.225, -2.2025,-10.6248,-1.70393e-240, 21.6586, 10.8044, 10.8045,-0.0496717
+   0.226,-2.21311,-10.5318,-2.76728e-239, 21.7619, 10.8632, 10.8499,-0.0487892
+   0.227,-2.22357,-10.3239,-4.33065e-238, 21.8632,   10.92, 10.8958,-0.0474244
+   0.228,-2.23376,-10.0349,-6.54018e-237, 21.9617, 10.9724, 10.9434,-0.0458405
+   0.229,-2.24364,-9.71129,-9.54459e-236, 22.0569, 11.0194, 10.9932,-0.0442998
+    0.23,-2.25319,-9.40483,-1.34774e-234, 22.1492, 11.0621,  11.044,-0.0430168
+   0.231,-2.26245, -9.1644,-1.84355e-233, 22.2391, 11.1026, 11.0943,-0.0421437
+   0.232,-2.27151,-9.02809,-2.44558e-232, 22.3276, 11.1432, 11.1427,-0.0417778
+   0.233, -2.2805,-9.01723,-3.14945e-231, 22.4161, 11.1852,  11.189,-0.0419712
+   0.234,-2.28955,-9.13299,-3.94127e-230, 22.5057, 11.2286, 11.2344,-0.0427246
+   0.235,-2.29877,-9.35636,-4.79717e-229, 22.5975,  11.273, 11.2805,-0.0439669
+   0.236,-2.30826,-9.65122,-5.68399e-228, 22.6922,  11.318, 11.3286,-0.0455349
+   0.237,-2.31807,-9.97018,-6.56136e-227,   22.79, 11.3641, 11.3787,-0.0471769
+   0.238, -2.3282,-10.2622,-7.3848e-226, 22.8906, 11.4126, 11.4295,-0.0485936
+   0.239, -2.3386,-10.4808,-8.10968e-225, 22.9935, 11.4646, 11.4794,-0.0495088
+    0.24,-2.34916,-10.5914,-8.69535e-224, 23.0974, 11.5203, 11.5273,-0.0497444
+   0.241,-2.35978,-10.5767,-9.10904e-223, 23.2011, 11.5785, 11.5734,-0.0492697
+   0.242,-2.37032,-10.4397,-9.32887e-222, 23.3035, 11.6365, 11.6188,-0.0482025
+   0.243,-2.38066,-10.2027,-9.34571e-221, 23.4036, 11.6915, 11.6653,-0.0467662
+   0.244,-2.39072, -9.9039,-9.16362e-220, 23.5008, 11.7417, 11.7138,-0.045222
+   0.245,-2.40047,-9.59137,-8.79885e-219, 23.5949, 11.7869, 11.7641,-0.043809
+   0.246, -2.4099,-9.31504,-8.27772e-218, 23.6863, 11.8287, 11.8149,-0.0427109
+   0.247, -2.4191,-9.11887,-7.63368e-217, 23.7757, 11.8692, 11.8644,-0.0420526
+   0.248,-2.42814,-9.03386,-6.90396e-216, 23.8643, 11.9105, 11.9119,-0.0419104
+   0.249,-2.43716,-9.07314,-6.12631e-215, 23.9533, 11.9532, 11.9578,-0.0423168
+    0.25,-2.44629,-9.22993,-5.33607e-214, 24.0439, 11.9973, 12.0034,-0.0432477
+   0.251,-2.45562,-9.47873,-4.564e-213, 24.1369,  12.042, 12.0502,-0.0446004
+   0.252,-2.46525,-9.77945,-3.83479e-212, 24.2328, 12.0875, 12.0992,-0.0461806
+   0.253,-2.47518,-10.0838,-3.16647e-211, 24.3317, 12.1344, 12.1496,-0.0477193
+   0.254,-2.48541,-10.3433,-2.57042e-210, 24.4332, 12.1841, 12.2002,-0.0489265
+   0.255,-2.49587,-10.5166,-2.05202e-209, 24.5364, 12.2374, 12.2494,-0.0495644
+   0.256,-2.50645,-10.5763,-1.61159e-208, 24.6401, 12.2941, 12.2965,-0.0495137
+   0.257,-2.51702,-10.5135,-1.24556e-207, 24.7433, 12.3523, 12.3422,-0.0488044
+   0.258,-2.52747,-10.3385,-9.47647e-207, 24.8447, 12.4091, 12.3879,-0.0475981
+   0.259, -2.5377,-10.0798,-7.0996e-206, 24.9436, 12.4622, 12.4352,-0.0461339
+    0.26,-2.54763,-9.77901,-5.23905e-205, 25.0395, 12.5103, 12.4845,-0.0446623
+   0.261,-2.55726,-9.48433,-3.80912e-204, 25.1325,  12.554, 12.5351,-0.0433958
+   0.262, -2.5666,-9.24279,-2.72942e-203, 25.2232, 12.5952, 12.5855,-0.0424892
+   0.263,-2.57574,-9.09276,-1.92798e-202, 25.3124, 12.6361, 12.6342,-0.0420435
+   0.264,-2.58479,-9.05785,-1.34287e-201, 25.4013, 12.6781,  12.681,-0.0421163
+   0.265,-2.59386, -9.1432,-9.22512e-201,  25.491, 12.7216, 12.7266,-0.0427197
+   0.266,-2.60307,-9.33473,-6.252e-200, 25.5825, 12.7661, 12.7726,-0.0438026
+   0.267,-2.61253,-9.60144,-4.18096e-199, 25.6767, 12.8112, 12.8203,-0.0452304
+   0.268,-2.62228,-9.90046,-2.75957e-198, 25.7738, 12.8571, 12.8699,-0.0467816
+   0.269,-2.63233,-10.1839,-1.79808e-197, 25.8737,  12.905, 12.9206,-0.0481794
+    0.27,-2.64265,-10.4066,-1.15684e-196, 25.9758,  12.956, 12.9707,-0.0491536
+   0.271,-2.65314,-10.5332,-7.35056e-196, 26.0792, 13.0106,  13.019,-0.0495126
+   0.272,-2.66371,-10.5438,-4.61358e-195, 26.1826, 13.0679, 13.0655,-0.0491974
+   0.273,-2.67423,-10.4371,-2.86096e-194,  26.285, 13.1256, 13.1111,-0.0482921
+   0.274,-2.68459,-10.2307,-1.75316e-193, 26.3854,  13.181, 13.1573,-0.0469912
+   0.275,-2.69469,-9.95787,-1.06181e-192,  26.483, 13.2321, 13.2054,-0.0455385
+   0.276, -2.7045,-9.66238,-6.35719e-192, 26.5778, 13.2783, 13.2553,-0.0441667
+   0.277,-2.71402,-9.39155,-3.76316e-191,   26.67, 13.3209,  13.306,-0.0430608
+   0.278,-2.72328,-9.18853,-2.20284e-190, 26.7601,  13.362, 13.3558,-0.0423491
+   0.279,-2.73239, -9.0855,-1.27534e-189, 26.8492, 13.4034, 13.4037,-0.0421122
+    0.28,-2.74146,-9.09856,-7.30383e-189, 26.9385, 13.4462, 13.4499,-0.0423897
+   0.281,-2.75059,-9.22522,-4.13835e-188,  27.029, 13.4902, 13.4956,-0.0431717
+   0.282,-2.75991,-9.44483,-2.32017e-187, 27.1216, 13.5351, 13.5422,-0.0443783
+   0.283,-2.76948,-9.72199,-1.28734e-186,  27.217, 13.5805, 13.5907,-0.0458436
+   0.284,-2.77935,-10.0122,-7.06982e-186, 27.3152, 13.6271, 13.6408,-0.0473257
+   0.285, -2.7895,-10.2691,-3.84352e-185,  27.416, 13.6761, 13.6913,-0.0485494
+   0.286,-2.79989,-10.4518,-2.06878e-184, 27.5185, 13.7284, 13.7408,-0.0492744
+   0.287,-2.81041,-10.5313,-1.10261e-183, 27.6218, 13.7841, 13.7884,-0.0493613
+   0.288,-2.82095,-10.4954,-5.81979e-183, 27.7248, 13.8416, 13.8344,-0.0488094
+   0.289, -2.8314,  -10.35,-3.04248e-182, 27.8263, 13.8984, 13.8801,-0.047749
+    0.29,-2.84165,-10.1189,-1.57557e-181, 27.9256, 13.9521, 13.9271,-0.0463959
+   0.291,-2.85164, -9.8393,-8.08331e-181, 28.0221, 14.0012, 13.9759,-0.044989
+   0.292,-2.86133,-9.55594,-4.10899e-180, 28.1158, 14.0459, 14.0262,-0.043739
+   0.293,-2.87075,-9.31414,-2.06978e-179, 28.2072, 14.0878, 14.0766,-0.0428036
+   0.294,-2.87996,-9.15237,-1.03325e-178,  28.297,  14.129, 14.1257,-0.0422878
+   0.295,-2.88905, -9.0962,-5.11249e-178, 28.3862,  14.171, 14.1729,-0.0422543
+   0.296,-2.89815,-9.15424,-2.50754e-177,  28.476, 14.2145, 14.2188,-0.0427244
+   0.297,-2.90736,-9.31684,-1.21926e-176, 28.5674,  14.259, 14.2647,-0.0436639
+   0.298,-2.91678,-9.55767,-5.87799e-176, 28.6612, 14.3042,  14.312,-0.0449627
+   0.299,-2.92648,  -9.838,-2.80987e-175, 28.7577,   14.35, 14.3613,-0.046427
+     0.3,-2.93646,-10.1129,-1.33202e-174, 28.8569, 14.3974, 14.4117,-0.0478015
+   0.301, -2.9467,-10.3385,-6.26251e-174, 28.9583, 14.4476, 14.4619,-0.0488235
+   0.302,-2.95714, -10.479,-2.92037e-173, 29.0611, 14.5012, 14.5106,-0.0492913
+   0.303,-2.96766,-10.5121,-1.3509e-172, 29.1643, 14.5577, 14.5575,-0.0491207
+   0.304,-2.97816,-10.4329,-6.19926e-172, 29.2666,  14.615, 14.6033,-0.0483648
+   0.305,-2.98853,-10.2545,-2.82248e-171, 29.3672, 14.6706, 14.6494,-0.0471906
+   0.306,-2.99867,-10.0057,-1.27507e-170, 29.4654, 14.7224, 14.6971,-0.0458244
+   0.307,-3.00854,-9.72639,-5.71588e-170, 29.5608, 14.7697, 14.7466,-0.0444927
+   0.308,-3.01812,-9.46138,-2.54285e-169, 29.6536, 14.8131, 14.7971,-0.0433815
+   0.309,-3.02746,-9.25292,-1.12274e-168, 29.7444, 14.8547, 14.8471,-0.0426231
+    0.31,-3.03663,-9.13413,-4.92035e-168,  29.834, 14.8962, 14.8954,-0.0423024
+   0.311,-3.04573, -9.1237,-2.14045e-167, 29.9235,  14.939,  14.942,-0.0424652
+   0.312,-3.05488,-9.22293,-9.24358e-167, 30.0139, 14.9831, 14.9878,-0.0431131
+   0.313,-3.06418,-9.41564,-3.96311e-166, 30.1063,  15.028, 15.0341,-0.0441858
+   0.314,-3.07371,-9.67073,-1.68704e-165, 30.2012, 15.0734, 15.0822,-0.0455429
+   0.315,-3.08352,-9.94726,-7.13082e-165, 30.2988, 15.1198,  15.132,-0.0469673
+   0.316, -3.0936, -10.201,-2.99303e-164, 30.3988, 15.1682, 15.1825,-0.0481994
+   0.317,-3.10392,-10.3914,-1.24759e-163, 30.5008, 15.2196, 15.2322,-0.0489989
+   0.318,-3.11438,-10.4884,-5.16475e-163, 30.6037, 15.2743, 15.2801,-0.0492095
+   0.319, -3.1249,-10.4767,-2.12362e-162, 30.7064, 15.3312, 15.3265,-0.0488026
+    0.32,-3.13534,-10.3585,-8.67326e-162, 30.8081, 15.3879, 15.3723,-0.0478789
+   0.321,-3.14561,-10.1531,-3.51881e-161, 30.9077, 15.4421,  15.419,-0.0466314
+   0.322,-3.15564,-9.89344,-1.41823e-160, 31.0047,  15.492, 15.4674,-0.0452873
+   0.323, -3.1654, -9.6213,-5.67883e-160, 31.0991, 15.5376, 15.5174,-0.044055
+   0.324,-3.17489,-9.38015,-2.25925e-159, 31.1911, 15.5802, 15.5678,-0.0430953
+   0.325,-3.18416,-9.20842,-8.93073e-159, 31.2815, 15.6217, 15.6172,-0.0425177
+   0.326, -3.1933,-9.13333,-3.50797e-158, 31.3711, 15.6639, 15.6648,-0.0423893
+   0.327,-3.20243,-9.16658,-1.36929e-157,  31.461, 15.7073,  15.711,-0.0427394
+   0.328,-3.21164,-9.30252,-5.31169e-157, 31.5522, 15.7518, 15.7568,-0.0435479
+   0.329,-3.22103,-9.51912,-2.04782e-156, 31.6456,  15.797, 15.8039,-0.0447262
+    0.33,-3.23068,-9.78154,-7.84693e-156, 31.7416, 15.8428, 15.8527,-0.0461057
+   0.331,-3.24059,-10.0477,-2.98867e-155, 31.8401, 15.8898, 15.9028,-0.0474522
+   0.332,-3.25077,-10.2751,-1.1315e-154, 31.9409, 15.9393, 15.9531,-0.0485117
+   0.333,-3.26114,-10.4275,-4.25841e-154, 32.0432,  15.992, 16.0022,-0.0490752
+   0.334,-3.27163,-10.4808,-1.59325e-153, 32.1461, 16.0476, 16.0494,-0.0490368
+   0.335,-3.28211,-10.4267,-5.92636e-153, 32.2483, 16.1045, 16.0954,-0.0484206
+   0.336,-3.29248,-10.2743,-2.19169e-152, 32.3491, 16.1603, 16.1415,-0.0473671
+   0.337,-3.30265,-10.0482,-8.05903e-152, 32.4477, 16.2128, 16.1888,-0.0460847
+   0.338,-3.31258,-9.78462,-2.94658e-151, 32.5437, 16.2609,  16.238,-0.0447934
+   0.339,-3.32222,-9.52593,-1.07129e-150, 32.6371, 16.3052, 16.2883,-0.0436799
+    0.34,-3.33163,-9.31338,-3.87323e-150, 32.7285, 16.3473, 16.3383,-0.0428808
+   0.341,-3.34085,-9.18081,-1.39263e-149, 32.8186,  16.389,  16.387,-0.0424854
+   0.342,-3.34999,-9.14915,-4.97982e-149, 32.9083, 16.4318,  16.434,-0.042545
+   0.343,-3.35915,-9.22317,-1.77105e-148, 32.9988, 16.4758, 16.4799,-0.0430709
+   0.344,-3.36844,-9.39074,-6.26475e-148, 33.0909, 16.5207, 16.5262,-0.0440193
+   0.345,-3.37793,-9.62481,-2.20422e-147, 33.1853, 16.5662, 16.5739,-0.0452729
+   0.346,-3.38768,-9.88779,-7.71441e-147, 33.2823, 16.6124, 16.6233,-0.0466378
+   0.347,-3.39771,-10.1376,-2.68575e-146, 33.3818, 16.6603, 16.6736,-0.0478707
+   0.348,-3.40796,-10.3343,-9.30173e-146, 33.4832, 16.7109, 16.7235,-0.0487332
+   0.349,-3.41837,-10.4467,-3.2049e-145, 33.5857, 16.7647, 16.7719,-0.0490552
+    0.35,-3.42885, -10.457,-1.09859e-144, 33.6882, 16.8209, 16.8185,-0.0487829
+   0.351,-3.43929, -10.364,-3.7467e-144, 33.7899, 16.8775, 16.8644,-0.0479891
+   0.352,-3.44958,-10.1826,-1.27136e-143, 33.8898,  16.932, 16.9109,-0.0468439
+   0.353,-3.45965, -9.9423,-4.29253e-143, 33.9873, 16.9828,  16.959,-0.0455621
+   0.354,-3.46947,-9.68149,-1.44211e-142, 34.0823, 17.0293, 17.0087,-0.0443495
+   0.355,-3.47902,-9.44195,-4.82109e-142, 34.1749, 17.0726,  17.059,-0.04337
+   0.356,-3.48835, -9.2619,-1.60386e-141, 34.2658, 17.1144, 17.1086,-0.0427375
+   0.357,-3.49754,-9.16993,-5.30985e-141, 34.3557, 17.1566, 17.1566,-0.0425239
+   0.358,-3.50669,-9.18049,-1.74947e-140, 34.4458,    17.2,  17.203,-0.0427649
+   0.359, -3.5159, -9.2916,-5.73662e-140,  34.537, 17.2445,  17.249,-0.0434526
+    0.36,-3.52527,-9.48524,-1.87217e-139,   34.63, 17.2898, 17.2957,-0.0445172
+   0.361,-3.53487,-9.73023,-6.08127e-139, 34.7255, 17.3355, 17.3442,-0.045813
+   0.362,-3.54473,-9.98729,-1.96614e-138, 34.8234, 17.3823, 17.3941,-0.0471264
+   0.363,-3.55485,-10.2153,-6.32735e-138, 34.9237, 17.4311, 17.4443,-0.0482137
+   0.364,-3.56516,-10.3779,-2.0269e-137, 35.0255, 17.4829, 17.4937,-0.0488613
+   0.365, -3.5756,-10.4494,-6.46341e-137,  35.128, 17.5377, 17.5413,-0.0489441
+   0.366,-3.58606,-10.4184,-2.05175e-136, 35.2302, 17.5942, 17.5875,-0.0484598
+   0.367,-3.59644,-10.2904,-6.48384e-136, 35.3311,   17.65, 17.6336,-0.0475225
+   0.368,-3.60664,-10.0859,-2.03987e-135, 35.4301, 17.7031, 17.6806,-0.0463229
+   0.369,-3.61661,-9.83789,-6.38922e-135, 35.5266, 17.7521, 17.7294,-0.0450732
+    0.37,-3.62632, -9.5861,-1.99243e-134, 35.6206, 17.7972, 17.7794,-0.0439609
+   0.371,-3.63578,-9.37077,-6.18617e-134, 35.7125, 17.8398, 17.8296,-0.0431265
+   0.372,-3.64506, -9.2262,-1.91239e-133,  35.803, 17.8818, 17.8786,-0.0426643
+   0.373,-3.65424, -9.1753,-5.88659e-133, 35.8931, 17.9245, 17.9259,-0.0426302
+   0.374,-3.66341,-9.22597,-1.80424e-132, 35.9836, 17.9685,  17.972,-0.0430441
+   0.375,-3.67269,-9.36982,-5.50657e-132, 36.0755, 18.0134, 18.0182,-0.0438763
+   0.376,-3.68215,-9.58363,-1.67355e-131, 36.1695, 18.0589, 18.0656,-0.0450299
+   0.377,-3.69186,-9.83304,-5.06498e-131,  36.266,  18.105, 18.1147,-0.0463333
+   0.378,-3.70182,-10.0781,-1.52656e-130, 36.3648, 18.1524, 18.1648,-0.0475595
+   0.379,-3.71201,-10.2797,-4.582e-130, 36.4657, 18.2024, 18.2148,-0.0484742
+    0.38,-3.72238,-10.4057,-1.36968e-129, 36.5678, 18.2554, 18.2635,-0.0488965
+   0.381,-3.73282,-10.4362,-4.07769e-129, 36.6701, 18.3109, 18.3105,-0.0487499
+   0.382,-3.74325,-10.3665,-1.20908e-128, 36.7718, 18.3672, 18.3566,-0.0480802
+   0.383,-3.75356,-10.2081,-3.57067e-128,  36.872,  18.422, 18.4029,-0.0470352
+   0.384,-3.76366,-9.98648,-1.0503e-127, 36.9699, 18.4735, 18.4506,-0.0458164
+   0.385,-3.77353,-9.73725,-3.07722e-127, 37.0655, 18.5208,    18.5,-0.0446263
+   0.386,-3.78314,-9.50029,-8.98037e-127, 37.1587, 18.5648, 18.5502,-0.0436313
+   0.387,-3.79253,-9.31344,-2.61055e-126,   37.25, 18.6071,    18.6,-0.0429502
+   0.388,-3.80177,-9.20642,-7.55934e-126, 37.3403, 18.6494, 18.6483,-0.0426597
+   0.389,-3.81094,-9.19613,-2.18052e-125, 37.4305, 18.6927, 18.6951,-0.042801
+    0.39,-3.82016,-9.28397,-6.26575e-125, 37.5216, 18.7372, 18.7411,-0.0433764
+   0.391,-3.82951,-9.45564,-1.79363e-124, 37.6144, 18.7824, 18.7877,-0.0443327
+   0.392,-3.83907,-9.68349,-5.11504e-124, 37.7094, 18.8281, 18.8357,-0.0455454
+   0.393,-3.84888,-9.93099,-1.45323e-123, 37.8068, 18.8747, 18.8853,-0.0468209
+   0.394,-3.85893,-10.1585,-4.11337e-123, 37.9065,  18.923, 18.9355,-0.047927
+   0.395,-3.86919,-10.3298,-1.15998e-122, 38.0078, 18.9741, 18.9851,-0.0486476
+   0.396,-3.87959,-10.4175,-3.25912e-122,   38.11, 19.0281, 19.0331,-0.0488419
+   0.397,-3.89003, -10.408,-9.1235e-122, 38.2121,  19.084, 19.0796,-0.0484823
+   0.398,-3.90041,-10.3029,-2.54473e-121, 38.3132, 19.1399, 19.1257,-0.047658
+   0.399,-3.91063,-10.1193,-7.07213e-121, 38.4124, 19.1934, 19.1725,-0.0465411
+     0.4,-3.92065,-9.88676,-1.95839e-120, 38.5094, 19.2432, 19.2209,-0.0453351
+   0.401,-3.93041,-9.64251,-5.40374e-120,  38.604, 19.2891, 19.2707,-0.0442275
+   0.402,-3.93993,-9.42564,-1.48576e-119, 38.6965, 19.3323, 19.3208,-0.0433632
+   0.403,-3.94926,-9.27074,-4.07073e-119, 38.7874, 19.3745, 19.3701,-0.0428409
+   0.404,-3.95847,-9.20239,-1.1114e-118, 38.8777, 19.4172, 19.4178,-0.0427216
+   0.405,-3.96766,-9.23132,-3.02383e-118, 38.9683, 19.4611, 19.4641,-0.0430319
+   0.406,-3.97693,-9.35265,-8.19859e-118,   39.06,  19.506, 19.5103,-0.0437547
+   0.407,-3.98637,-9.54677,-2.21526e-117, 39.1537, 19.5515, 19.5574,-0.0448113
+   0.408,-3.99603,-9.78248,-5.9652e-117, 39.2496, 19.5975, 19.6061,-0.0460509
+   0.409,-4.00593, -10.022,-1.60084e-116, 39.3479, 19.6446,  19.656,-0.0472634
+    0.41,-4.01607,-10.2271,-4.28155e-116, 39.4483, 19.6939, 19.7061,-0.0482202
+   0.411,-4.02639, -10.365,-1.14129e-115,   39.55, 19.7461, 19.7551,-0.0487324
+   0.412, -4.0368,-10.4139,-3.03205e-115, 39.6521,  19.801, 19.8024,-0.0487032
+   0.413,-4.04722,-10.3661,-8.02852e-115, 39.7538,  19.857, 19.8487,-0.048153
+   0.414,-4.05753,-10.2296,-2.11885e-114, 39.8542,  19.912, 19.8949,-0.047207
+   0.415,-4.06768,-10.0264,-5.57364e-114, 39.9525, 19.9641, 19.9423,-0.0460526
+   0.416,-4.07759,-9.78906,-1.46137e-113, 40.0485, 20.0123, 19.9913,-0.0448879
+   0.417,-4.08725,-9.55565,-3.81918e-113, 40.1423,  20.057, 20.0414,-0.0438819
+   0.418, -4.0967,-9.36345,-9.94902e-113, 40.2341, 20.0997, 20.0913,-0.043158
+   0.419,-4.10598,-9.24307,-2.58343e-112, 40.3248,  20.142,   20.14,-0.0427976
+    0.42,-4.11518,-9.21359,-6.68692e-112, 40.4152, 20.1853, 20.1871,-0.0428473
+   0.421,-4.12441,-9.27949,-1.72536e-111, 40.5062, 20.2297, 20.2332,-0.0433179
+   0.422,-4.13374,-9.43001,-4.43773e-111, 40.5987,  20.275, 20.2796,-0.0441708
+   0.423,-4.14327,-9.64091,-1.13784e-110, 40.6933, 20.3207, 20.3274,-0.0453007
+   0.424,-4.15303,-9.87834,-2.90835e-110, 40.7902, 20.3671, 20.3766,-0.0465335
+   0.425,-4.16302,-10.1043,-7.4108e-110, 40.8894, 20.4149, 20.4268,-0.0476497
+   0.426,-4.17323,-10.2827,-1.88254e-109, 40.9902, 20.4653, 20.4765,-0.0484332
+   0.427,-4.18359,-10.3851,-4.76749e-109, 41.0921, 20.5186, 20.5248,-0.0487296
+   0.428,  -4.194,-10.3954,-1.20368e-108, 41.1941,  20.574, 20.5716,-0.0484886
+   0.429,-4.20438,-10.3121,-3.0298e-108, 41.2952, 20.6297, 20.6177,-0.0477746
+    0.43,-4.21463,-10.1487,-7.60339e-108, 41.3948, 20.6837, 20.6644,-0.0467407
+   0.431,-4.22468,-9.93161,-1.90238e-107, 41.4922, 20.7342, 20.7124,-0.0455811
+   0.432,-4.23449,-9.69558,-4.74558e-107, 41.5873, 20.7809,  20.762,-0.0444821
+   0.433,-4.24407,-9.47839,-1.1803e-106, 41.6803, 20.8246, 20.8121,-0.0435927
+   0.434,-4.25345,-9.31469,-2.92694e-106, 41.7717, 20.8671, 20.8616,-0.0430165
+   0.435, -4.2627,-9.23053,-7.23701e-106, 41.8623, 20.9099, 20.9096,-0.0428192
+   0.436,-4.27191,-9.23918,-1.78417e-105, 41.9529, 20.9537, 20.9562,-0.0430335
+   0.437,-4.28118,-9.33903,-4.38581e-105, 42.0445, 20.9985, 21.0023,-0.043653
+   0.438,-4.29059,-9.51393,-1.075e-104, 42.1378,  21.044, 21.0492,-0.0446151
+   0.439,-4.30021,-9.73575,-2.62735e-104, 42.2333,   21.09, 21.0976,-0.0457888
+    0.44,-4.31006,-9.96893,-6.40301e-104, 42.3311, 21.1369, 21.1473,-0.0469808
+   0.441,-4.32014,-10.1762,-1.55602e-103,  42.431, 21.1856, 21.1974,-0.0479702
+   0.442,-4.33041,-10.3244,-3.77065e-103, 42.5323, 21.2371, 21.2466,-0.0485625
+   0.443,-4.34079,-10.3901,-9.1116e-103, 42.6342, 21.2912, 21.2943,-0.0486429
+   0.444,-4.35119, -10.363,-2.19561e-102, 42.7358, 21.3469, 21.3407,-0.0482079
+   0.445,-4.36152,-10.2475,-5.27601e-102, 42.8364, 21.4021, 21.3869,-0.0473601
+   0.446,-4.37169,-10.0623,-1.2643e-101, 42.9351, 21.4547, 21.4341,-0.046272
+   0.447,-4.38164,-9.83728,-3.02133e-101, 43.0316, 21.5037, 21.4828,-0.0451362
+   0.448,-4.39136,-9.60836,-7.20034e-101, 43.1258, 21.5491, 21.5327,-0.0441235
+   0.449,-4.40086,-9.41218,-1.71128e-100, 43.2182, 21.5922, 21.5826,-0.0433623
+    0.45,-4.41019,-9.28003,-4.0561e-100, 43.3092, 21.6347, 21.6316,-0.0429384
+   0.451,-4.41942,-9.23286,-9.58787e-100, 43.3998, 21.6779,  21.679,-0.0429035
+   0.452,-4.42865,-9.27805,-2.2603e-99, 43.4908, 21.7223, 21.7253,-0.043276
+   0.453,-4.43798,-9.40816,-5.31432e-99, 43.5831, 21.7675, 21.7716,-0.0440297
+   0.454,-4.44747, -9.6022,-1.24615e-98, 43.6773, 21.8132,  21.819,-0.0450772
+   0.455,-4.45718,-9.82903,-2.91437e-98, 43.7737, 21.8594,  21.868,-0.046263
+   0.456,-4.46713,-10.0523,-6.79784e-98, 43.8723,  21.907,  21.918,-0.047381
+   0.457,-4.47728,-10.2364,-1.58146e-97, 43.9728, 21.9567, 21.9678,-0.0482176
+   0.458, -4.4876,-10.3519,-3.66951e-97, 44.0743, 22.0092, 22.0165,-0.0486072
+   0.459,-4.49799,-10.3806,-8.4924e-97, 44.1761, 22.0641, 22.0636,-0.0484787
+    0.46,-4.50836, -10.318,-1.96033e-96, 44.2774, 22.1197, 22.1098,-0.0478727
+   0.461,-4.51862,-10.1743,-4.51345e-96, 44.3772, 22.1739, 22.1563,-0.0469228
+   0.462,-4.52871,-9.97273,-1.03651e-95,  44.475, 22.2251, 22.2041,-0.0458124
+   0.463,-4.53857,-9.74559,-2.37429e-95, 44.5706, 22.2726, 22.2533,-0.0447261
+   0.464, -4.5482,-9.52923,-5.42487e-95, 44.6641, 22.3169, 22.3033,-0.0438164
+   0.465,-4.55763,-9.35822,-1.23637e-94, 44.7559, 22.3597,  22.353,-0.043192
+   0.466,-4.56692,-9.25978,-2.8107e-94, 44.8467, 22.4025, 22.4013,-0.0429231
+   0.467,-4.57615,-9.24949,-6.37372e-94, 44.9375, 22.4462, 22.4482,-0.0430482
+   0.468,-4.58541,-9.32882,-1.44175e-93,  45.029,  22.491, 22.4944,-0.0435696
+   0.469,-4.59481,-9.48489,-3.25319e-93,  45.122, 22.5365, 22.5411,-0.0444397
+    0.47,-4.60438,-9.69258,-7.32247e-93, 45.2171, 22.5824, 22.5891,-0.0455455
+   0.471,-4.61419, -9.9186,-1.64414e-92, 45.3144, 22.6291, 22.6386,-0.0467109
+   0.472,-4.62422,-10.1268,-3.68262e-92, 45.4138, 22.6774, 22.6886,-0.0477239
+   0.473,-4.63444,-10.2839,-8.22844e-92, 45.5146, 22.7282, 22.7381,-0.0483867
+   0.474,-4.64479,-10.3649,-1.83411e-91, 45.6163, 22.7817, 22.7861,-0.0485692
+   0.475,-4.65517,-10.3571,-4.07837e-91, 45.7179, 22.8369, 22.8328,-0.0482454
+   0.476, -4.6655,-10.2618,-9.047e-91, 45.8186, 22.8921,  22.879,-0.0474952
+   0.477, -4.6757,-10.0945,-2.00209e-90, 45.9176, 22.9452, 22.9259,-0.0464755
+   0.478,-4.68569,-9.88213,-4.42007e-90, 46.0146, 22.9949, 22.9743,-0.0453723
+   0.479,-4.69546,-9.65863,-9.73523e-90, 46.1093,  23.041, 23.0239,-0.0443574
+    0.48,-4.70501,-9.45979,-2.13914e-89, 46.2021, 23.0846, 23.0739,-0.0435638
+   0.481,-4.71438,-9.31735,-4.68933e-89, 46.2935, 23.1273, 23.1231,-0.0430823
+   0.482,-4.72364,-9.25394,-1.02557e-88, 46.3843, 23.1705, 23.1708,-0.0429693
+   0.483,-4.73289,-9.27955,-2.23776e-88, 46.4753, 23.2148, 23.2173,-0.0432496
+   0.484, -4.7422,-9.38989,-4.87138e-88, 46.5674, 23.2599, 23.2636,-0.0439081
+   0.485,-4.75167,-9.56715,-1.05801e-87, 46.6613, 23.3056, 23.3108,-0.0448734
+   0.486,-4.76134,-9.78286,-2.2926e-87, 46.7573, 23.3518, 23.3595,-0.0460083
+   0.487,-4.77123,-10.0025,-4.95649e-87, 46.8554,  23.399, 23.4093,-0.0471206
+   0.488,-4.78134,-10.1909,-1.06913e-86, 46.9554, 23.4482, 23.4592,-0.0480007
+   0.489,-4.79162, -10.318,-2.30093e-86, 47.0566,    23.5, 23.5081,-0.0484749
+    0.49,-4.80198,-10.3637,-4.94076e-86, 47.1583, 23.5543, 23.5555,-0.0484532
+   0.491,-4.81234,-10.3207,-1.05854e-85, 47.2595, 23.6097, 23.6019,-0.0479529
+   0.492,-4.82262,-10.1963,-2.26282e-85, 47.3595, 23.6642, 23.6483,-0.047088
+   0.493,-4.83274,-10.0103,-4.82642e-85, 47.4577, 23.7159, 23.6957,-0.04603
+   0.494,-4.84264,-9.79271,-1.02715e-84, 47.5538, 23.7642, 23.7447,-0.0449605
+   0.495,-4.85232,-9.57832,-2.18115e-84, 47.6478, 23.8091, 23.7946,-0.0440351
+   0.496, -4.8618,-9.40139,-4.62145e-84,   47.74, 23.8523, 23.8444,-0.0433678
+   0.497,-4.87112,-9.29013,-9.77058e-84, 47.8311, 23.8951,  23.893,-0.0430333
+   0.498,-4.88038,-9.26219,-2.06117e-83,  47.922, 23.9388, 23.9401,-0.0430751
+   0.499,-4.88965,-9.32187,-4.33874e-83, 48.0134, 23.9835, 23.9865,-0.0435037
+     0.5,-4.89902,-9.45946,-9.11324e-83, 48.1062, 24.0289,  24.033,-0.044284
+   0.501,-4.90857, -9.6528,-1.91005e-82, 48.2009, 24.0748, 24.0808,-0.0453203
+   0.502,-4.91833,-9.87089,-3.99471e-82, 48.2978, 24.1214, 24.1299,-0.0464531
+   0.503,-4.92831,-10.0788,-8.33676e-82, 48.3966, 24.1692, 24.1799,-0.0474811
+   0.504,-4.93849,-10.2433,-1.73614e-81, 48.4971, 24.2194, 24.2295,-0.0482052
+   0.505, -4.9488,-10.3383,-3.60786e-81, 48.5985, 24.2722, 24.2778,-0.0484826
+   0.506,-4.95916,-10.3486,-7.48164e-81, 48.7001,  24.327, 24.3248,-0.0482657
+   0.507,-4.96949,-10.2728,-1.54821e-80, 48.8008, 24.3822,  24.371,-0.0476127
+   0.508,-4.97971,-10.1232,-3.19709e-80, 48.9001, 24.4357, 24.4178,-0.0466637
+   0.509,-4.98974,-9.92378,-6.58828e-80, 48.9975, 24.4861, 24.4658,-0.0455969
+    0.51,-4.99955,-9.70659,-1.35483e-79, 49.0927, 24.5329, 24.5152,-0.0445843
+   0.511,-5.00915,-9.50636,-2.78036e-79,  49.186,  24.577, 24.5652,-0.0437632
+   0.512,-5.01857,-9.35505,-5.69404e-79, 49.2777, 24.6199, 24.6146,-0.0432296
+   0.513,-5.02786,-9.27677,-1.16372e-78, 49.3687, 24.6631, 24.6626,-0.0430442
+   0.514,-5.03712,-9.28387,-2.37348e-78, 49.4598, 24.7072, 24.7094,-0.0432379
+   0.515,-5.04643,-9.37506,-4.83102e-78, 49.5518, 24.7523, 24.7556,-0.0438049
+   0.516,-5.05587, -9.5356,-9.81319e-78, 49.6453,  24.798, 24.8026,-0.0446886
+   0.517, -5.0655,-9.73969,-1.98931e-77, 49.7409, 24.8442,  24.851,-0.0457689
+   0.518,-5.07535,-9.95462,-4.02458e-77, 49.8385, 24.8911, 24.9005,-0.0468682
+   0.519,-5.08541, -10.146,-8.1258e-77, 49.9381, 24.9398, 24.9505,-0.047783
+    0.52,-5.09564,-10.2833,-1.63736e-76, 50.0389,  24.991, 24.9996,-0.0483333
+   0.521,-5.10598,-10.3447,-3.29273e-76, 50.1404, 25.0447, 25.0474,-0.0484123
+   0.522,-5.11633,-10.3205,-6.60857e-76, 50.2417, 25.0997, 25.0939,-0.0480156
+   0.523,-5.12662,-10.2148,-1.32373e-75, 50.3419, 25.1544, 25.1403,-0.0472367
+   0.524,-5.13676,-10.0445,-2.64629e-75, 50.4404, 25.2067, 25.1875,-0.0462342
+   0.525,-5.14671,-9.83707,-5.27987e-75, 50.5369, 25.2556, 25.2361,-0.0451859
+   0.526,-5.15644,-9.62572,-1.05138e-74, 50.6313, 25.3012, 25.2859,-0.0442496
+   0.527,-5.16596,-9.44422,-2.08954e-74,  50.724, 25.3448, 25.3357,-0.0435442
+   0.528,-5.17532,-9.32153,-4.14476e-74, 50.8154, 25.3877, 25.3846,-0.0431496
+   0.529, -5.1846,-9.27717,-8.20556e-74, 50.9064, 25.4313, 25.4321,-0.0431137
+    0.53,-5.19388,-9.31806,-1.62137e-73, 50.9979, 25.4759, 25.4785,-0.043454
+   0.531,-5.20324,-9.43751,-3.19758e-73, 51.0904, 25.5213,  25.525,-0.0441469
+   0.532,-5.21275,-9.61628,-6.29406e-73, 51.1848, 25.5672, 25.5724,-0.0451123
+   0.533,-5.22247,-9.82568,-1.23655e-72, 51.2812, 25.6136, 25.6213,-0.0462074
+   0.534,-5.23241,-10.0322,-2.42478e-72, 51.3796, 25.6612, 25.6712,-0.0472421
+   0.535,-5.24254,-10.2028,-4.7458e-72, 51.4797, 25.7108, 25.7209,-0.0480187
+   0.536,-5.25281,-10.3103,-9.27105e-72, 51.5808, 25.7629, 25.7695,-0.0483834
+   0.537,-5.26316,-10.3376,-1.80773e-71, 51.6822, 25.8172, 25.8167,-0.0482694
+   0.538,-5.27349,-10.2805,-3.51824e-71, 51.7831, 25.8723, 25.8631,-0.047713
+   0.539,-5.28372,-10.1483,-6.83453e-71, 51.8826, 25.9261, 25.9097,-0.0468369
+    0.54,-5.29378,-9.96233,-1.32521e-70, 51.9804, 25.9771, 25.9574,-0.0458105
+   0.541,-5.30364, -9.7523,-2.56482e-70,  52.076, 26.0246, 26.0066,-0.0448047
+   0.542,-5.31329,-9.55189,-4.95484e-70, 52.1697, 26.0693, 26.0565,-0.0439608
+   0.543,-5.32275, -9.3931,-9.55442e-70, 52.2619, 26.1125,  26.106,-0.04338
+   0.544,-5.33207,-9.30126,-1.83901e-69, 52.3531, 26.1557, 26.1543,-0.0431278
+   0.545,-5.34135, -9.2909,-3.53322e-69, 52.4443, 26.1997, 26.2013,-0.0432398
+   0.546,-5.35066,-9.36355,-6.77591e-69, 52.5361, 26.2447, 26.2477,-0.0437191
+   0.547,-5.36008,-9.50743,-1.29712e-68, 52.6294, 26.2904, 26.2945,-0.0445219
+   0.548,-5.36967,-9.69942,-2.47859e-68, 52.7246, 26.3365, 26.3425,-0.0455444
+   0.549,-5.37947,-9.90873,-4.7277e-68, 52.8218, 26.3833, 26.3919,-0.0466241
+    0.55,-5.38949,-10.1019,-9.00154e-68, 52.9209, 26.4315, 26.4418,-0.0475648
+   0.551,-5.39968, -10.248,-1.71083e-67, 53.0214, 26.4821, 26.4911,-0.0481828
+   0.552,-5.40998,-10.3239,-3.24582e-67, 53.1227, 26.5352, 26.5391,-0.0483567
+   0.553,-5.42033,-10.3174,-6.14711e-67, 53.2239, 26.5899, 26.5859,-0.048061
+   0.554,-5.43062,-10.2299,-1.16212e-66, 53.3242, 26.6446, 26.6323,-0.047369
+   0.555,-5.44079,-10.0754,-2.19312e-66, 53.4231, 26.6974, 26.6793,-0.0464254
+   0.556,-5.45077,-9.87874,-4.13154e-66,   53.52,  26.747, 26.7276,-0.0454025
+   0.557,-5.46054,-9.67146,-7.76965e-66, 53.6149, 26.7932, 26.7772,-0.0444599
+   0.558,-5.47011,-9.48669,-1.45859e-65, 53.7079, 26.8372,  26.827,-0.0437214
+   0.559,-5.47952,-9.35393,-2.73344e-65, 53.7997, 26.8803, 26.8761,-0.0432717
+    0.56,-5.48882,-9.29432,-5.11367e-65, 53.8909, 26.9238, 26.9239,-0.0431633
+   0.561, -5.4981,-9.31726,-9.55006e-65, 53.9823, 26.9683, 26.9705,-0.0434197
+   0.562,-5.50745,-9.41892,-1.78046e-64, 54.0747, 27.0137, 27.0169,-0.0440275
+   0.563,-5.51694,-9.58292,-3.31368e-64, 54.1687, 27.0596, 27.0642,-0.0449211
+   0.564,-5.52662,-9.78293,-6.1567e-64, 54.2646, 27.1059, 27.1128,-0.0459737
+   0.565,-5.53651,-9.98691,-1.14194e-63, 54.3626, 27.1532, 27.1625,-0.0470074
+   0.566,-5.54659,-10.1623,-2.11447e-63, 54.4623, 27.2022, 27.2122,-0.0478277
+   0.567,-5.55683, -10.281,-3.90863e-63, 54.5632, 27.2538, 27.2611,-0.0482723
+   0.568,-5.56716,-10.3242,-7.21295e-63, 54.6644, 27.3076, 27.3086,-0.0482568
+   0.569,-5.57748,-10.2851,-1.32883e-62, 54.7653, 27.3624, 27.3551,-0.0477962
+    0.57,-5.58773,-10.1702,-2.44399e-62, 54.8651, 27.4165, 27.4016,-0.0469953
+   0.571,-5.59782,-9.99786,-4.48748e-62, 54.9632, 27.4681, 27.4491,-0.0460132
+   0.572,-5.60772,-9.79581,-8.22585e-62, 55.0593, 27.5163,  27.498,-0.0450187
+   0.573,-5.61741,-9.59638,-1.50535e-61, 55.1534, 27.5615, 27.5478,-0.0441568
+   0.574,-5.62691,-9.43144,-2.75027e-61,  55.246,  27.605, 27.5974,-0.0435337
+   0.575,-5.63628,-9.32731,-5.01643e-61, 55.3375, 27.6482,  27.646,-0.0432195
+   0.576,-5.64557,-9.30053,-9.13481e-61, 55.4287, 27.6922, 27.6933,-0.0432548
+   0.577,-5.65488,-9.35524,-1.6607e-60, 55.5205, 27.7371, 27.7397,-0.0436498
+   0.578,-5.66428,-9.48255,-3.0142e-60, 55.6135, 27.7828, 27.7864,-0.0443725
+   0.579,-5.67384,-9.66199,-5.46192e-60, 55.7083, 27.8288, 27.8341,-0.0453347
+    0.58, -5.6836,-9.86479,-9.88126e-60,  55.805, 27.8754, 27.8832,-0.0463885
+   0.581,-5.69357,-10.0585,-1.78474e-59, 55.9037, 27.9233,  27.933,-0.0473468
+   0.582,-5.70372,-10.2121,-3.21837e-59, 56.0039, 27.9733, 27.9826,-0.0480242
+   0.583,  -5.714,-10.3012,-5.79424e-59,  56.105, 28.0258, 28.0309,-0.0482869
+   0.584,-5.72432,-10.3116,-1.0415e-58, 56.2061, 28.0801, 28.0779,-0.0480895
+   0.585,-5.73462,-10.2418,-1.86908e-58, 56.3066, 28.1348, 28.1243,-0.0474852
+   0.586,-5.74481,-10.1031,-3.34889e-58, 56.4057,  28.188, 28.1711,-0.0466036
+   0.587,-5.75483,-9.91776,-5.99079e-58,  56.503, 28.2382, 28.2192,-0.0456106
+   0.588,-5.76464,-9.71552,-1.06998e-57, 56.5983, 28.2851, 28.2685,-0.0446663
+   0.589,-5.77426,-9.52873,-1.90802e-57, 56.6918, 28.3296, 28.3183,-0.0438993
+    0.59, -5.7837,-9.38723,-3.39707e-57, 56.7839, 28.3728, 28.3676,-0.0433992
+   0.591,-5.79303,-9.31355,-6.03868e-57, 56.8752, 28.4163, 28.4157,-0.0432232
+   0.592,-5.80233,-9.31936,-1.07176e-56, 56.9667, 28.4607, 28.4625, -0.0434
+   0.593,-5.81167, -9.4036,-1.89922e-56, 57.0589,  28.506, 28.5089,-0.0439251
+   0.594,-5.82113,-9.55267,-3.36028e-56, 57.1526, 28.5519,  28.556,-0.0447462
+   0.595,-5.83078,-9.74262,-5.93609e-56, 57.2482, 28.5981, 28.6043,-0.045752
+   0.596,-5.84062,-9.94303,-1.04701e-55, 57.3457, 28.6452, 28.6538,-0.0467775
+   0.597,-5.85066,-10.1218,-1.84388e-55,  57.445, 28.6938, 28.7036,-0.047633
+   0.598,-5.86086,-10.2505,-3.24223e-55, 57.5456, 28.7448, 28.7527,-0.0481502
+   0.599,-5.87116,-10.3085,-5.69228e-55, 57.6467,  28.798, 28.8004,-0.0482285
+     0.6,-5.88148,-10.2867,-9.97847e-55, 57.7476, 28.8526, 28.8471,-0.0478626
+   0.601,-5.89174,-10.1888,-1.74654e-54, 57.8476, 28.9068, 28.8936,-0.0471389
+   0.602,-5.90186,-10.0304,-3.05232e-54,  57.946, 28.9589, 28.9409,-0.046205
+   0.603, -5.9118,-9.83711,-5.32626e-54, 58.0425, 29.0078, 28.9894,-0.0452265
+   0.604,-5.92153,-9.63977,-9.28018e-54,  58.137, 29.0536, 29.0391,-0.0443511
+   0.605,-5.93108,-9.46998,-1.61449e-53, 58.2299, 29.0975, 29.0888,-0.0436903
+   0.606,-5.94047,-9.35482,-2.80451e-53, 58.3217, 29.1408, 29.1376,-0.0433188
+   0.607,-5.94979,-9.31263,-4.86439e-53, 58.4131, 29.1846, 29.1852,-0.0432819
+   0.608, -5.9591,-9.35002,-8.42458e-53, 58.5048, 29.2295, 29.2317,-0.0435961
+   0.609,-5.96849,-9.46088,-1.45686e-52, 58.5976, 29.2751, 29.2783,-0.04424
+    0.61,-5.97802,-9.62738,-2.51561e-52,  58.692, 29.3211, 29.3258,-0.0451395
+   0.611,-5.98774, -9.8228,-4.33732e-52, 58.7884, 29.3676, 29.3746,-0.0461619
+   0.612,-5.99766,-10.0159,-7.46716e-52, 58.8867, 29.4152, 29.4243,-0.0471298
+   0.613,-6.00777,-10.1757,-1.28365e-51, 58.9865, 29.4647,  29.474,-0.0478585
+   0.614,-6.01802,-10.2768,-2.20344e-51, 59.0873, 29.5165, 29.5226,-0.0482035
+   0.615,-6.02833,-10.3031,-3.77672e-51, 59.1884, 29.5704, 29.5698,-0.0481015
+   0.616,-6.03862,-10.2505,-6.46385e-51, 59.2889,  29.625, 29.6163,-0.0475852
+   0.617,-6.04883,-10.1276,-1.10467e-50, 59.3883, 29.6785,  29.663,-0.0467687
+   0.618,-6.05888,-9.95414,-1.88513e-50, 59.4859, 29.7293, 29.7108,-0.0458099
+   0.619,-6.06873,-9.75789,-3.21232e-50, 59.5817, 29.7769, 29.7599,-0.0448687
+    0.62,-6.07839,-9.57028,-5.46595e-50, 59.6755, 29.8218, 29.8096,-0.0440777
+   0.621,-6.08788,-9.42131,-9.28718e-50,  59.768, 29.8653, 29.8591,-0.0435319
+   0.622,-6.09724,-9.33471,-1.57571e-49, 59.8595, 29.9088, 29.9074,-0.0432927
+   0.623,-6.10654,-9.32424,-2.66957e-49,  59.951, 29.9531, 29.9545,-0.0433941
+   0.624,-6.11588,-9.39145,-4.51632e-49, 60.0431, 29.9984, 30.0009,-0.043839
+   0.625,-6.12533,-9.52546,-7.62967e-49, 60.1366, 30.0442, 30.0478,-0.0445873
+   0.626,-6.13493,-9.70475,-1.28708e-48, 60.2318, 30.0904, 30.0958,-0.0455426
+   0.627,-6.14474,-9.90058,-2.16815e-48, 60.3289, 30.1373, 30.1451,-0.0465531
+   0.628,-6.15474,-10.0816,-3.64715e-48, 60.4278, 30.1855, 30.1949,-0.0474356
+   0.629, -6.1649,-10.2189,-6.12637e-48, 60.5281, 30.2359, 30.2442,-0.0480177
+    0.63,-6.17517,-10.2907,-1.02763e-47,  60.629, 30.2886, 30.2922,-0.048185
+   0.631,-6.18548,-10.2854,-1.72132e-47, 60.7299, 30.3429, 30.3391,-0.0479124
+   0.632,-6.19574,-10.2042,-2.87921e-47,   60.83, 30.3972, 30.3856,-0.0472677
+   0.633,-6.20589,-10.0601,-4.80924e-47, 60.9287, 30.4497, 30.4326,-0.0463857
+   0.634,-6.21586,-9.87618,-8.02179e-47, 61.0256, 30.4992, 30.4809,-0.0454278
+   0.635,-6.22564,-9.68201,-1.33616e-46, 61.1206, 30.5457, 30.5304,-0.0445437
+   0.636,-6.23523, -9.5086,-2.22251e-46, 61.2139, 30.5899, 30.5801,-0.0438496
+   0.637,-6.24466,-9.38366,-3.69168e-46, 61.3059, 30.6333, 30.6292,-0.0434253
+   0.638,  -6.254,-9.32707,-6.12354e-46, 61.3974, 30.6771,  30.677,-0.0433205
+   0.639,-6.26331,-9.34778,-1.01433e-45, 61.4891, 30.7218, 30.7237,-0.0435573
+    0.64,-6.27269,-9.44236,-1.67788e-45, 61.5817, 30.7674, 30.7702,-0.0441237
+   0.641, -6.2822,-9.59557,-2.77167e-45, 61.6759, 30.8134, 30.8175,-0.0449589
+   0.642,-6.29188,-9.78282,-4.57222e-45, 61.7718, 30.8598, 30.8661,-0.0459447
+   0.643,-6.30176,-9.97412,-7.53213e-45, 61.8697, 30.9071, 30.9157,-0.0469147
+   0.644,-6.31183,-10.1389,-1.23913e-44, 61.9691, 30.9561, 30.9653,-0.0476865
+   0.645,-6.32204,-10.2508,-2.03574e-44, 62.0697, 31.0074, 31.0142,-0.0481075
+   0.646,-6.33233,-10.2921,-3.33993e-44, 62.1707, 31.0609, 31.0617,-0.0480973
+   0.647,-6.34263,-10.2562,-5.47222e-44, 62.2713, 31.1153, 31.1083,-0.0476692
+   0.648,-6.35285,-10.1491,-8.95369e-44, 62.3709,  31.169, 31.1549,-0.0469207
+   0.649,-6.36292,-9.98789,-1.46303e-43, 62.4688, 31.2204, 31.2025,-0.0460004
+    0.65,-6.37282, -9.7985,-2.38738e-43,  62.565, 31.2686, 31.2513,-0.0450669
+   0.651,-6.38252,-9.61124,-3.89051e-43, 62.6592,  31.314, 31.3009,-0.0442565
+   0.652,-6.39204,-9.45604,-6.33153e-43,  62.752, 31.3578, 31.3505,-0.0436693
+   0.653,-6.40143,-9.35768,-1.02903e-42, 62.8438, 31.4013, 31.3991,-0.0433713
+   0.654,-6.41076,-9.33178,-1.67021e-42, 62.9353, 31.4455, 31.4464,-0.0434011
+   0.655, -6.4201,-9.38238,-2.70729e-42, 63.0274, 31.4907,  31.493,-0.0437685
+   0.656,-6.42952,-9.50127,-4.38249e-42, 63.1206, 31.5365, 31.5397,-0.0444441
+   0.657, -6.4391,-9.66934,-7.08486e-42, 63.2155, 31.5826, 31.5875,-0.0453456
+   0.658,-6.44886,-9.85964,-1.14385e-41, 63.3122, 31.6294, 31.6365,-0.0463349
+   0.659,-6.45882,-10.0417,-1.8443e-41, 63.4107, 31.6772, 31.6862,-0.0472365
+    0.66,-6.46895,-10.1865,-2.96977e-41, 63.5106, 31.7271, 31.7356,-0.0478759
+   0.661,-6.47919,-10.2708,-4.77578e-41, 63.6114, 31.7793,  31.784,-0.0481269
+   0.662,-6.48949,-10.2814,-7.67002e-41, 63.7122, 31.8332, 31.8311,-0.0479458
+   0.663,-6.49975,-10.2165,-1.23021e-40, 63.8125, 31.8875, 31.8776,-0.0473814
+   0.664,-6.50992,-10.0868,-1.9706e-40, 63.9114, 31.9404, 31.9245,-0.0465551
+   0.665,-6.51993,-9.91299,-3.15246e-40, 64.0087, 31.9905, 31.9725,-0.0456225
+   0.666,-6.52975,  -9.723,-5.03659e-40,  64.104, 32.0376, 32.0217,-0.0447342
+   0.667,-6.53937, -9.5472,-8.0364e-40, 64.1977, 32.0822, 32.0715,-0.0440112
+   0.668,-6.54884,-9.41368,-1.28063e-39,   64.29, 32.1258, 32.1207,-0.0435385
+   0.669, -6.5582,-9.34372,-2.0381e-39, 64.3817, 32.1696, 32.1688,-0.0433698
+    0.67,-6.56753,-9.34842,-3.23943e-39, 64.4734, 32.2142, 32.2157,-0.0435327
+   0.671, -6.5769,-9.42691,-5.14224e-39, 64.5659, 32.2596, 32.2622,-0.0440232
+   0.672,-6.58638,-9.56654,-8.15228e-39, 64.6597, 32.3056, 32.3093,-0.0447928
+   0.673,-6.59603,-9.74488,-1.29077e-38, 64.7553,  32.352, 32.3576,-0.0457374
+   0.674,-6.60587,-9.93337,-2.04111e-38, 64.8528, 32.3991,  32.407,-0.0467023
+   0.675, -6.6159,-10.1019,-3.22351e-38, 64.9519, 32.4477, 32.4567,-0.0475093
+   0.676,-6.62608,-10.2234,-5.08438e-38, 65.0522, 32.4984, 32.5057,-0.0479995
+   0.677,-6.63635,-10.2787,-8.00934e-38,  65.153, 32.5514, 32.5536,-0.0480775
+   0.678,-6.64663, -10.259,-1.2601e-37, 65.2536, 32.6056, 32.6003,-0.0477372
+   0.679,-6.65686,-10.1675,-1.98e-37, 65.3534, 32.6594, 32.6469,-0.0470592
+    0.68,-6.66697, -10.019,-3.10724e-37, 65.4517, 32.7113, 32.6942,-0.0461816
+   0.681, -6.6769,-9.83728,-4.87012e-37, 65.5482, 32.7602, 32.7427,-0.0452606
+   0.682,-6.68664,-9.65148,-7.62356e-37, 65.6429, 32.8062, 32.7923,-0.0444353
+   0.683, -6.6962, -9.4913,-1.19188e-36,  65.736, 32.8503, 32.8419,-0.043811
+   0.684,-6.70563, -9.3823,-1.86106e-36,  65.828, 32.8938, 32.8907,-0.0434584
+   0.685,-6.71497,-9.34185,-2.90234e-36, 65.9197, 32.9379, 32.9383,-0.0434203
+   0.686,-6.72431,-9.37631,-4.52058e-36, 66.0116,  32.983,  32.985,-0.0437129
+   0.687,-6.73372,-9.48005,-7.03233e-36, 66.1046, 33.0287, 33.0316,-0.0443162
+   0.688,-6.74327, -9.6364,-1.09261e-35, 66.1992, 33.0749, 33.0791,-0.0451613
+   0.689,-6.75299,-9.82028,-1.69548e-35, 66.2955, 33.1215, 33.1279,-0.0461236
+    0.69,-6.76291,-10.0022,-2.62774e-35, 66.3936, 33.1691, 33.1775,-0.0470365
+   0.691,  -6.773,-10.1532,-4.06758e-35, 66.4932, 33.2184, 33.2271,-0.0477258
+   0.692,-6.78322,-10.2491,-6.2886e-35, 66.5938, 33.2701, 33.2756,-0.0480549
+   0.693, -6.7935,-10.2746,-9.71042e-35, 66.6946, 33.3236,  33.323,-0.047963
+   0.694,-6.80377,-10.2258,-1.49758e-34, 66.7949, 33.3778, 33.3696,-0.0474802
+   0.695,-6.81395,-10.1106,-2.30678e-34, 66.8941,  33.431, 33.4163,-0.046713
+   0.696,-6.82399,-9.94751,-3.5489e-34, 66.9917, 33.4817, 33.4641,-0.0458101
+   0.697,-6.83384,-9.76265,-5.45319e-34, 67.0874, 33.5294, 33.5131,-0.0449223
+   0.698,-6.84351,-9.58563,-8.36907e-34, 67.1815, 33.5745, 33.5628,-0.0441749
+   0.699,-6.85301,-9.44473,-1.28285e-33, 67.2741, 33.6183, 33.6122,-0.0436578
+     0.7, -6.8624,-9.36244,-1.96403e-33,  67.366,  33.662, 33.6605,-0.0434293
+   0.701,-6.87174,-9.35183,-3.00325e-33, 67.4577, 33.7065, 33.7077,-0.0435216
+   0.702, -6.8811,-9.41448,-4.58681e-33, 67.5501, 33.7519, 33.7542,-0.0439379
+   0.703,-6.89057,-9.54029,-6.9969e-33, 67.6436, 33.7979, 33.8011,-0.044641
+   0.704,-6.90019,-9.70904,-1.06605e-32, 67.7389, 33.8442, 33.8492,-0.0455404
+   0.705,-6.90999,-9.89369,-1.62227e-32,  67.836, 33.8911, 33.8984,-0.0464936
+   0.706,-6.91997,-10.0647,-2.46576e-32, 67.9347, 33.9393,  33.948,-0.047328
+   0.707,-6.93012,-10.1947,-3.7433e-32, 68.0347, 33.9896, 33.9973,-0.0478805
+   0.708,-6.94036,-10.2631,-5.67597e-32, 68.1354,  34.042, 34.0453,-0.0480425
+   0.709,-6.95064,-10.2589,-8.59619e-32,  68.236, 34.0959, 34.0923,-0.0477893
+    0.71,-6.96088,-10.1829,-1.30033e-31, 68.3359, 34.1499, 34.1389,-0.047184
+   0.711,-6.97101,-10.0474,-1.96464e-31, 68.4345, 34.2022,  34.186,-0.0463534
+   0.712,-6.98098,-9.87418,-2.96481e-31, 68.5313, 34.2516, 34.2343,-0.0454495
+   0.713,-6.99076,-9.69091,-4.46884e-31, 68.6264, 34.2982, 34.2836,-0.0446138
+   0.714,-7.00036,-9.52693,-6.72788e-31, 68.7199, 34.3426, 34.3333,-0.0439566
+   0.715,-7.00981,-9.40844,-1.01169e-30, 68.8122, 34.3863, 34.3823,-0.0435533
+   0.716,-7.01917,-9.35432,-1.51951e-30, 68.9039, 34.4304, 34.4301,-0.0434512
+   0.717,-7.02852,-9.37314,-2.27954e-30, 68.9959, 34.4753, 34.4769,-0.0436715
+   0.718,-7.03792,-9.46178,-3.4157e-30, 69.0887,  34.521, 34.5235,-0.0442033
+   0.719,-7.04744,-9.60597,-5.11212e-30, 69.1829, 34.5671, 34.5709,-0.0449898
+    0.72,-7.05713,-9.78259,-7.6421e-30, 69.2789, 34.6136, 34.6194,-0.0459199
+   0.721,-7.06701,-9.96334,-1.14108e-29, 69.3766, 34.6609, 34.6689,-0.0468369
+   0.722,-7.07706,-10.1193,-1.70181e-29, 69.4759, 34.7099, 34.7185,-0.0475684
+   0.723,-7.08725,-10.2256,-2.53511e-29, 69.5762,  34.761, 34.7673,-0.0479699
+   0.724,-7.09751,-10.2653,-3.77205e-29, 69.6769, 34.8141, 34.8149,-0.0479645
+   0.725,-7.10778,-10.2322,-5.60599e-29, 69.7773, 34.8682, 34.8616,-0.0475637
+   0.726,-7.11797,-10.1316,-8.32189e-29, 69.8767, 34.9216, 34.9082,-0.0468589
+   0.727,-7.12804,-9.97968,-1.23392e-28, 69.9746, 34.9728, 34.9558,-0.0459903
+   0.728,-7.13793,-9.80087,-1.82747e-28, 70.0707, 35.0211, 35.0045,-0.0451077
+   0.729,-7.14764,-9.62376,-2.70339e-28, 70.1652, 35.0667, 35.0541,-0.0443402
+    0.73,-7.15718,-9.47668,-3.99453e-28, 70.2581, 35.1107, 35.1036,-0.0437828
+   0.731, -7.1666,-9.38309,-5.89552e-28, 70.3502, 35.1545, 35.1522,-0.0434983
+   0.732,-7.17595,-9.35789,-8.69115e-28,  70.442, 35.1989, 35.1996,-0.0435232
+   0.733,-7.18531,-9.40501,-1.27977e-27, 70.5342, 35.2442, 35.2462,-0.0438674
+   0.734,-7.19476,-9.51682,-1.8823e-27, 70.6276, 35.2901,  35.293,-0.0445034
+   0.735,-7.20434,-9.67536,-2.76533e-27, 70.7225, 35.3364, 35.3408,-0.0453541
+   0.736,-7.21411,-9.85521,-4.05796e-27, 70.8192, 35.3832, 35.3897,-0.0462894
+   0.737,-7.22406,-10.0276,-5.94801e-27, 70.9176,  35.431, 35.4394,-0.0471436
+   0.738,-7.23416,-10.1649,-8.70841e-27, 71.0173, 35.4808, 35.4887,-0.0477515
+   0.739,-7.24438,-10.2454,-1.27353e-26, 71.1178, 35.5327, 35.5371,-0.0479929
+    0.74,-7.25465, -10.256,-1.86032e-26, 71.2184, 35.5863, 35.5842,-0.0478256
+   0.741, -7.2649,-10.1954,-2.71438e-26, 71.3184, 35.6403, 35.6308,-0.047295
+   0.742,-7.27504,-10.0732,-3.95603e-26, 71.4172, 35.6929, 35.6778,-0.0465151
+   0.743,-7.28504,-9.90912,-5.75912e-26, 71.5144,  35.743, 35.7258,-0.0456331
+   0.744,-7.29486,-9.72938,-8.37453e-26, 71.6099, 35.7901,  35.775,-0.0447916
+   0.745, -7.3045,-9.56278,-1.21639e-25, 71.7037,  35.835, 35.8246,-0.0441056
+   0.746,-7.31399,-9.43593,-1.7648e-25, 71.7963, 35.8788, 35.8738,-0.0436556
+   0.747,-7.32337,-9.36906,-2.55756e-25, 71.8882, 35.9228, 35.9219,-0.0434929
+   0.748,-7.33273,-9.37279,-3.70227e-25, 71.9801, 35.9676, 35.9689,-0.0436439
+   0.749,-7.34212,-9.44641,-5.35329e-25, 72.0728, 36.0132, 36.0155,-0.0441052
+    0.75,-7.35162,-9.57808,-7.73189e-25, 72.1668, 36.0593, 36.0626,-0.0448313
+   0.751,-7.36128,-9.74665,-1.11548e-24, 72.2624, 36.1057, 36.1109,-0.0457244
+   0.752,-7.37111,-9.92513,-1.6075e-24, 72.3597, 36.1529, 36.1602,-0.0466386
+   0.753,-7.38113, -10.085,-2.31396e-24, 72.4587, 36.2014, 36.2098,-0.0474049
+   0.754,-7.39128,-10.2006,-3.32715e-24, 72.5587,  36.252, 36.2588,-0.0478726
+   0.755,-7.40153,-10.2537,-4.77864e-24, 72.6593, 36.3047, 36.3067,-0.0479506
+   0.756,-7.41179,-10.2357,-6.85569e-24, 72.7597, 36.3586, 36.3535,-0.0476321
+   0.757,  -7.422,-10.1497,-9.82458e-24, 72.8593, 36.4121, 36.4002,-0.0469926
+   0.758,-7.43209,-10.0095,-1.40635e-23, 72.9575, 36.4638, 36.4475,-0.0461626
+   0.759,-7.44202,-9.83755,-2.01089e-23,  73.054, 36.5127,  36.496,-0.0452899
+    0.76,-7.45176,-9.66146,-2.87212e-23, 73.1488, 36.5588, 36.5455,-0.0445067
+   0.761,-7.46134,-9.50934,-4.09765e-23, 73.2421, 36.6031,  36.595,-0.0439129
+   0.762,-7.47078, -9.4055,-5.83962e-23, 73.3343, 36.6469, 36.6438,-0.0435761
+   0.763,-7.48015,-9.36647,-8.31292e-23, 73.4262, 36.6913, 36.6914,-0.0435369
+   0.764,-7.48952,-9.39842,-1.18207e-22, 73.5184, 36.7364, 36.7382,-0.043811
+   0.765,-7.49895,-9.49613,-1.679e-22, 73.6116, 36.7823, 36.7849,-0.04438
+   0.766,-7.50851, -9.6439,-2.38222e-22, 73.7062, 36.8286, 36.8324,-0.0451791
+   0.767,-7.51824,-9.81804,-3.37623e-22, 73.8025, 36.8752, 36.8812,-0.0460907
+   0.768,-7.52814,-9.99066,-4.77975e-22, 73.9005, 36.9228, 36.9307,-0.0469573
+   0.769,-7.53822,-10.1342,-6.75927e-22, 73.9999, 36.9721, 36.9802,-0.0476135
+    0.77,-7.54841,-10.2257,-9.54812e-22, 74.1002, 37.0236, 37.0287,-0.0479294
+   0.771,-7.55867,-10.2506,-1.34728e-21, 74.2008, 37.0768, 37.0761,-0.0478463
+   0.772,-7.56891, -10.205,-1.89899e-21, 74.3009, 37.1307, 37.1228,-0.0473918
+   0.773,-7.57908,-10.0963,-2.67369e-21,    74.4, 37.1836, 37.1696,-0.0466665
+   0.774,-7.58911,-9.94202,-3.76032e-21, 74.4975, 37.2342, 37.2174,-0.0458108
+   0.775,-7.59896,-9.76679,-5.28278e-21, 74.5933,  37.282, 37.2664,-0.0449682
+   0.776,-7.60864, -9.5987,-7.41355e-21, 74.6875, 37.3272,  37.316,-0.0442575
+   0.777,-7.61816,-9.46461,-1.03924e-20, 74.7803, 37.3712, 37.3653,-0.0437646
+   0.778,-7.62757,-9.38593,-1.45523e-20, 74.8724, 37.4152, 37.4136,-0.0435449
+   0.779,-7.63693,-9.37515,-2.03552e-20, 74.9644, 37.4599, 37.4608,-0.0436293
+    0.78,-7.64632,-9.43392,-2.8441e-20, 75.0569, 37.5054, 37.5075,-0.0440213
+   0.781, -7.6558,-9.55275,-3.96956e-20, 75.1506, 37.5515, 37.5544,-0.0446858
+   0.782,-7.66543,-9.71256,-5.53437e-20, 75.2459, 37.5979, 37.6025,-0.0455379
+   0.783,-7.67523,-9.88775,-7.70767e-20, 75.3429, 37.6449, 37.6516,-0.0464427
+   0.784, -7.6852,-10.0503,-1.07228e-19, 75.4415, 37.6931, 37.7012,-0.0472363
+   0.785,-7.69533,-10.1742,-1.49011e-19, 75.5413, 37.7432, 37.7504,-0.047764
+   0.786,-7.70555,-10.2397,-2.06853e-19, 75.6417, 37.7954, 37.7985,-0.0479217
+   0.787,-7.71581,-10.2364,-2.86836e-19, 75.7422,  37.849, 37.8455,-0.0476853
+   0.788,-7.72602, -10.165,-3.97316e-19, 75.8419, 37.9026, 37.8921,-0.0471136
+   0.789,-7.73613,-10.0368,-5.49756e-19, 75.9403, 37.9547, 37.9393,-0.0463265
+    0.79, -7.7461, -9.8726,-7.59862e-19, 76.0372, 38.0042, 37.9875,-0.0454684
+   0.791,-7.75588,-9.69857,-1.04913e-18, 76.1323, 38.0508, 38.0368,-0.0446738
+   0.792,-7.76549,-9.54257,-1.44697e-18, 76.2259, 38.0955, 38.0864,-0.0440477
+   0.793,-7.77497,-9.42953,-1.99352e-18, 76.3185, 38.1394, 38.1354,-0.0436621
+   0.794,-7.78435,-9.37747,-2.74355e-18, 76.4104, 38.1836, 38.1833,-0.0435621
+   0.795,-7.79372,-9.39464,-3.77171e-18, 76.5026, 38.2287, 38.2301,-0.0437683
+   0.796,-7.80314, -9.4782,-5.17962e-18, 76.5956, 38.2745, 38.2768,-0.0442706
+   0.797,-7.81268,-9.61472,-7.10543e-18, 76.6899, 38.3207, 38.3242,-0.0450155
+   0.798,-7.82237,-9.78229,-9.73681e-18, 76.7859, 38.3673, 38.3727,-0.0458982
+   0.799,-7.83224,-9.95408,-1.33284e-17, 76.8835, 38.4147, 38.4221,-0.0467702
+     0.8,-7.84228,-10.1026,-1.82252e-17, 76.9826, 38.4636, 38.4716,-0.0474677
+   0.801,-7.85245,-10.2042,-2.48944e-17, 77.0827, 38.5145, 38.5204,-0.0478528
+   0.802,-7.86269,-10.2426,-3.39677e-17, 77.1832, 38.5674,  38.568,-0.0478516
+   0.803,-7.87293,-10.2118,-4.62985e-17, 77.2834, 38.6211, 38.6148,-0.0474743
+   0.804,-7.88311,-10.1168,-6.3038e-17, 77.3826, 38.6743, 38.6615,-0.0468069
+   0.805,-7.89317, -9.9728,-8.5738e-17, 77.4805, 38.7254, 38.7091,-0.0459823
+   0.806,-7.90306,  -9.803,-1.16488e-16, 77.5766, 38.7737, 38.7578,-0.045143
+   0.807,-7.91277,-9.63453,-1.58097e-16, 77.6711, 38.8194, 38.8073,-0.0444119
+   0.808,-7.92233,-9.49432,-2.14341e-16, 77.7643, 38.8637, 38.8567,-0.0438798
+   0.809,-7.93176,-9.40477,-2.90283e-16, 77.8565, 38.9076, 38.9053,-0.0436065
+    0.81,-7.94113,-9.38012,-3.92714e-16, 77.9486, 38.9522, 38.9527,-0.0436272
+   0.811,-7.95052,-9.42424,-5.30722e-16,  78.041, 38.9976, 38.9994,-0.0439513
+   0.812,-7.95998,   -9.53,-7.16467e-16, 78.1345, 39.0437, 39.0463,-0.0445535
+   0.813,-7.96958,-9.68039,-9.6619e-16, 78.2295,   39.09, 39.0941,-0.0453609
+   0.814,-7.97934,-9.85133,-1.30157e-15, 78.3261, 39.1369,  39.143,-0.0462501
+   0.815,-7.98928,-10.0154,-1.75149e-15, 78.4244, 39.1848, 39.1925,-0.0470639
+   0.816,-7.99937,-10.1465,-2.35445e-15, 78.5239, 39.2344, 39.2419,-0.0476451
+   0.817,-8.00958,-10.2236,-3.16161e-15, 78.6242, 39.2861, 39.2902,-0.0478785
+   0.818,-8.01982,-10.2345,-4.24097e-15, 78.7246, 39.3395, 39.3374,-0.0477232
+   0.819,-8.03004,-10.1774,-5.68279e-15, 78.8244, 39.3931, 39.3841,-0.0472215
+    0.82,-8.04018,-10.0617,-7.60671e-15, 78.9231, 39.4456, 39.4311,-0.0464815
+   0.821,-8.05017,-9.90591,-1.01712e-14, 79.0203, 39.4956, 39.4791,-0.0456426
+   0.822,-8.05999,-9.73494,-1.35858e-14, 79.1158, 39.5428, 39.5282,-0.0448411
+   0.823,-8.06964,-9.57618,-1.81274e-14, 79.2098, 39.5878, 39.5778,-0.0441865
+   0.824,-8.07914,-9.45501,-2.41617e-14, 79.3025, 39.6318, 39.6269,-0.0437558
+   0.825,-8.08855,-9.39074,-3.21706e-14, 79.3946,  39.676,  39.675,-0.0435981
+   0.826,-8.09792,-9.39359,-4.27888e-14, 79.4868,  39.721, 39.7221,-0.0437388
+   0.827,-8.10734,-9.46303,-5.68514e-14, 79.5796, 39.7667, 39.7688,-0.0441749
+   0.828,-8.11685,-9.58786,-7.54556e-14, 79.6737, 39.8129, 39.8159,-0.0448638
+   0.829,-8.12651,-9.74807,-1.00042e-13, 79.7693, 39.8594, 39.8642,-0.0457129
+    0.83,-8.13634,-9.91798,-1.32499e-13, 79.8666, 39.9066, 39.9134,-0.0465836
+   0.831,-8.14635,-10.0704,-1.753e-13, 79.9654, 39.9551,  39.963,-0.0473152
+   0.832,-8.15649, -10.181,-2.31683e-13, 80.0653, 40.0056,  40.012,-0.0477638
+   0.833,-8.16671,-10.2322,-3.05875e-13, 80.1656,  40.058, 40.0598,-0.047842
+   0.834,-8.17695,-10.2158,-4.03399e-13, 80.2659, 40.1116, 40.1067,-0.0475423
+   0.835,-8.18714,-10.1345,-5.31455e-13, 80.3653, 40.1649, 40.1535,-0.046936
+   0.836,-8.19722,-10.0014,-6.9942e-13, 80.4634, 40.2164, 40.2008,-0.0461468
+   0.837,-8.20714,-9.83789,-9.19496e-13, 80.5599, 40.2653, 40.2493,-0.0453155
+   0.838,-8.21689, -9.6701,-1.20754e-12, 80.6548, 40.3115, 40.2987,-0.0445683
+   0.839,-8.22648,-9.52488,-1.58414e-12, 80.7482,  40.356, 40.3482,-0.0440006
+    0.84,-8.23594,-9.42543,-2.076e-12, 80.8407, 40.4001, 40.3969,-0.0436771
+   0.841,-8.24533,-9.38759,-2.71769e-12, 80.9328, 40.4445, 40.4446,-0.0436369
+   0.842,-8.25472,-9.41735,-3.55397e-12, 81.0251, 40.4899, 40.4914,-0.0438949
+   0.843,-8.26417,-9.50985,-4.64266e-12, 81.1184, 40.5358, 40.5382,-0.0444344
+   0.844,-8.27374,-9.65024,-6.05844e-12, 81.2131, 40.5822, 40.5857,-0.0451938
+   0.845,-8.28347,-9.81601,-7.89759e-12, 81.3094, 40.6289, 40.6344,-0.046062
+   0.846,-8.29337,-9.98063,-1.02842e-11, 81.4073, 40.6765, 40.6839,-0.0468888
+   0.847,-8.30343,-10.1178,-1.33777e-11, 81.5066, 40.7257, 40.7333,-0.0475169
+   0.848,-8.31361,-10.2055,-1.73835e-11, 81.6067,  40.777, 40.7819,-0.0478215
+   0.849,-8.32384,-10.2299,-2.25648e-11,  81.707,   40.83, 40.8293,-0.0477462
+    0.85,-8.33407,-10.1872,-2.92593e-11,  81.807, 40.8836,  40.876,-0.0473162
+   0.851,-8.34422,-10.0841,-3.78999e-11, 81.9059, 40.9363, 40.9229,-0.0466269
+   0.852,-8.35424,-9.93739,-4.904e-11, 82.0034, 40.9869, 40.9707,-0.045812
+   0.853,-8.36409,-9.77045,-6.33874e-11, 82.0992, 41.0346, 41.0196,-0.045008
+   0.854,-8.37378,-9.61002,-8.18455e-11, 82.1935,   41.08, 41.0691,-0.0443289
+   0.855,-8.38331,-9.48177,-1.05566e-10, 82.2865, 41.1243, 41.1184,-0.0438566
+   0.856,-8.39274,-9.40615,-1.36018e-10, 82.3788, 41.1684, 41.1668,-0.0436444
+   0.857,-8.40212, -9.3952,-1.75067e-10,  82.471, 41.2132,  41.214,-0.0437219
+   0.858,-8.41153,-9.45059,-2.25088e-10, 82.5637, 41.2589, 41.2607,-0.0440927
+   0.859,-8.42102,-9.56339,-2.89093e-10, 82.6575,  41.305, 41.3077,-0.0447241
+    0.86,-8.43066,-9.71549,-3.70904e-10, 82.7528, 41.3515, 41.3558,-0.0455353
+   0.861,-8.44046,-9.88253,-4.75362e-10, 82.8498, 41.3985, 41.4048,-0.0463983
+   0.862,-8.45042,-10.0378,-6.0859e-10, 82.9482, 41.4467, 41.4544,-0.0471571
+   0.863,-8.46053,-10.1564,-7.78328e-10, 83.0479, 41.4967, 41.5035,-0.0476635
+   0.864,-8.47073,-10.2195,-9.94347e-10, 83.1481, 41.5487, 41.5516,-0.0478177
+   0.865,-8.48097,-10.2171,-1.26897e-09, 83.2483, 41.6021, 41.5987,-0.0475958
+   0.866,-8.49117,-10.1495,-1.61771e-09, 83.3479, 41.6555, 41.6454,-0.0470532
+   0.867,-8.50127,-10.0278,-2.06009e-09, 83.4463, 41.7074, 41.6926,-0.0463038
+   0.868,-8.51122,-9.87133,-2.62065e-09, 83.5431, 41.7568, 41.7408,-0.0454852
+   0.869,-8.52101,-9.70526,-3.33019e-09, 83.6383, 41.8036,   41.79,-0.044726
+    0.87,-8.53063,-9.55613,-4.2273e-09, 83.7321, 41.8484, 41.8396,-0.0441265
+   0.871,-8.54012,-9.44776,-5.36036e-09, 83.8248, 41.8925, 41.8885,-0.0437561
+   0.872,-8.54953,-9.39745,-6.78984e-09, 83.9169, 41.9369, 41.9364,-0.0436578
+   0.873,-8.55892,-9.41316,-8.59132e-09, 84.0093, 41.9821, 41.9833,-0.0438516
+   0.874,-8.56836,-9.49232,-1.08591e-08, 84.1024,  42.028, 42.0301,-0.0443282
+   0.875, -8.5779,-9.62218,-1.37108e-08, 84.1968, 42.0743, 42.0775,-0.0450373
+   0.876, -8.5876,-9.78193,-1.72929e-08, 84.2928,  42.121, 42.1259,-0.0458791
+   0.877,-8.59747,-9.94599,-2.17873e-08, 84.3903, 42.1684, 42.1753,-0.0467123
+   0.878,-8.60749,-10.0881,-2.74203e-08, 84.4893, 42.2172, 42.2247,-0.0473804
+   0.879,-8.61764,-10.1856,-3.44727e-08, 84.5892,  42.268, 42.2735,-0.0477515
+    0.88,-8.62786,-10.2229,-4.32922e-08, 84.6895, 42.3206, 42.3212,-0.0477542
+   0.881,-8.63809,-10.1942,-5.43095e-08, 84.7895, 42.3741,  42.368,-0.0473973
+   0.882,-8.64825, -10.104,-6.80571e-08, 84.8886, 42.4271, 42.4148,-0.0467623
+   0.883, -8.6583,-9.96694,-8.51925e-08, 84.9864,  42.478, 42.4624,-0.0459758
+   0.884,-8.66819,-9.80493,-1.06527e-07, 85.0826, 42.5263, 42.5111,-0.0451739
+   0.885,-8.67791,-9.64392,-1.33061e-07, 85.1772, 42.5722, 42.5605,-0.0444743
+   0.886,-8.68747,-9.50964,-1.66023e-07, 85.2705, 42.6166, 42.6099,-0.0439639
+   0.887,-8.69693,-9.42355,-2.06926e-07, 85.3629, 42.6608, 42.6584,-0.0437002
+   0.888,-8.70632,-9.39936,-2.57626e-07, 85.4551, 42.7055, 42.7059,-0.043717
+   0.889,-8.71573,-9.44085,-3.20401e-07, 85.5478, 42.7511, 42.7527,-0.0440238
+    0.89, -8.7252,-9.54134,-3.98038e-07, 85.6414, 42.7972, 42.7996,-0.0445966
+   0.891,-8.73481,-9.68467,-4.93949e-07, 85.7364, 42.8436, 42.8474,-0.0453662
+   0.892,-8.74457,-9.84788,-6.12302e-07,  85.833, 42.8905, 42.8962,-0.0462156
+   0.893, -8.7545,-10.0048,-7.58185e-07, 85.9311, 42.9384, 42.9457,-0.0469946
+   0.894,-8.76458,-10.1305,-9.37798e-07, 86.0305,  42.988,  42.995,-0.0475526
+   0.895,-8.77476,-10.2047,-1.15869e-06, 86.1306, 43.0395, 43.0433,-0.0477793
+   0.896,-8.78499,-10.2158,-1.43005e-06, 86.2308, 43.0926, 43.0906,-0.0476347
+   0.897, -8.7952,-10.1619,-1.76301e-06, 86.3305,  43.146, 43.1373,-0.0471582
+   0.898,-8.80532,-10.0518,-2.17112e-06, 86.4291, 43.1983, 43.1844,-0.0464527
+   0.899, -8.8153,-9.90322,-2.67074e-06, 86.5263, 43.2482, 43.2324,-0.0456514
+     0.9,-8.82512,-9.73985,-3.28173e-06, 86.6218, 43.2955, 43.2814,-0.0448844
+   0.901,-8.83478,-9.58788,-4.02803e-06, 86.7159, 43.3407, 43.3309,-0.044257
+   0.902, -8.8443, -9.4716,-4.93859e-06, 86.8088, 43.3849, 43.3801,-0.0438429
+   0.903,-8.85372,-9.40957,-6.04827e-06, 86.9011, 43.4292, 43.4282,-0.0436894
+   0.904,-8.86312,-9.41163,-7.39908e-06, 86.9934, 43.4743, 43.4753,-0.0438209
+   0.905,-8.87255, -9.4774,-9.04151e-06, 87.0864, 43.5202,  43.522,-0.0442351
+   0.906,-8.88207,-9.59628,-1.10362e-05, 87.1805, 43.5664, 43.5692,-0.0448916
+   0.907,-8.89174,-9.74921,-1.3456e-05, 87.2762,  43.613, 43.6175,-0.0457024
+   0.908,-8.90157,-9.91169,-1.6388e-05, 87.3734, 43.6602, 43.6666,-0.0465353
+   0.909,-8.91156,-10.0577,-1.99365e-05, 87.4721, 43.7087, 43.7161,-0.0472369
+    0.91,-8.92169, -10.164,-2.42262e-05, 87.5718,  43.759, 43.7651,-0.0476692
+   0.911,-8.93189,-10.2135,-2.94059e-05,  87.672, 43.8113,  43.813,-0.0477477
+   0.912,-8.94211,-10.1985,-3.56527e-05,  87.772, 43.8646, 43.8599,-0.0474645
+   0.913,-8.95229,-10.1213,-4.3178e-05, 87.8713, 43.9177, 43.9067,-0.0468871
+   0.914,-8.96236,-9.99448,-5.22324e-05, 87.9694, 43.9691, 43.9541,-0.0461335
+   0.915,-8.97228,-9.83826,-6.31141e-05, 88.0659,  44.018, 44.0026,-0.0453382
+   0.916,-8.98203,-9.67769,-7.61763e-05, 88.1608, 44.0643, 44.0519,-0.0446222
+   0.917,-8.99163,-9.53846,-9.18372e-05, 88.2544,  44.109, 44.1013,-0.0440771
+   0.918,-9.00111, -9.4428,-0.000110592,  88.347, 44.1532, 44.1501,-0.0437651
+   0.919,-9.01052,-9.40597,-0.000133024, 88.4393, 44.1978, 44.1977,-0.0437238
+    0.92,-9.01992,-9.43379,-0.000159824, 88.5318, 44.2433, 44.2446,-0.0439678
+   0.921,-9.02938,-9.52174,-0.000191802, 88.6253, 44.2893, 44.2914,-0.0444813
+   0.922,-9.03896,-9.65569,-0.000229914,   88.72, 44.3357,  44.339,-0.0452063
+   0.923, -9.0487,-9.81417,-0.000275281, 88.8162, 44.3825, 44.3877,-0.0460365
+   0.924,-9.05859,-9.97181,-0.00032922, 88.9141, 44.4302, 44.4371,-0.0468289
+   0.925,-9.06864,-10.1034,-0.000393271, 89.0132, 44.4793, 44.4864,-0.0474324
+   0.926, -9.0788,-10.1879,-0.000469238, 89.1131, 44.5304,  44.535,-0.0477274
+   0.927,-9.08902,-10.2119,-0.000559227, 89.2133, 44.5832, 44.5825,-0.047659
+   0.928,-9.09922,-10.1716,-0.000665697, 89.3131, 44.6366, 44.6293,-0.0472506
+   0.929,-9.10936,-10.0736,-0.00079151, 89.4119, 44.6891, 44.6762,-0.0465928
+    0.93,-9.11937,-9.93343,-0.000939996, 89.5094, 44.7395,  44.724,-0.0458133
+   0.931,-9.12923,-9.77371,-0.00111502, 89.6052, 44.7873, 44.7729,-0.0450431
+   0.932,-9.13892,-9.61997,-0.00132108, 89.6996, 44.8329, 44.8223,-0.0443914
+   0.933,-9.14847,-9.49678,-0.00156337, 89.7928, 44.8773, 44.8716,-0.043937
+   0.934,-9.15791,-9.42381,-0.00184789, 89.8852, 44.9216, 44.9199,-0.0437312
+   0.935,-9.16731,-9.41268,-0.00218159, 89.9776, 44.9666, 44.9672,-0.0438025
+   0.936,-9.17674,-9.46509,-0.00257249, 90.0704, 45.0123,  45.014,-0.0441548
+   0.937,-9.18624,-9.57261,-0.00302978, 90.1643, 45.0586,  45.061,-0.0447571
+   0.938,-9.19588,-9.71797,-0.00356408, 90.2597, 45.1051,  45.109,-0.0455326
+   0.939,-9.20568, -9.8779,-0.00418755, 90.3566, 45.1522,  45.158,-0.0463592
+    0.94,-9.21564,-10.0268,-0.00491413, 90.4549, 45.2003, 45.2075,-0.0470875
+   0.941,-9.22573,-10.1409,-0.00575978, 90.5544, 45.2502, 45.2566,-0.0475755
+   0.942,-9.23592,-10.2019,-0.00674273, 90.6545,  45.302, 45.3047,-0.0477269
+   0.943,-9.24614,-10.2002,-0.00788379, 90.7545, 45.3552, 45.3519,-0.0475178
+   0.944,-9.25632,-10.1361,-0.00920665,  90.854, 45.4083, 45.3986,-0.0470008
+   0.945,-9.26641,-10.0199,-0.0107382, 90.9523, 45.4601, 45.4459,-0.0462843
+   0.946,-9.27636, -9.8703,-0.0125092, 91.0491, 45.5095, 45.4941,-0.0455003
+   0.947,-9.28615,-9.71119,-0.0145541, 91.1444, 45.5563, 45.5433,-0.0447719
+   0.948,-9.29578,-9.56805,-0.0169122, 91.2382, 45.6013, 45.5927,-0.0441957
+   0.949,-9.30529,-9.46375,-0.0196278, 91.3311, 45.6456, 45.6416,-0.0438384
+    0.95,-9.31471,-9.41493,-0.0227509, 91.4234, 45.6902, 45.6895,-0.0437415
+   0.951,-9.32412,-9.42934,-0.0263378, 91.5159, 45.7355, 45.7365,-0.0439243
+   0.952,-9.33357,-9.50461,-0.0304516, 91.6092, 45.7815, 45.7833,-0.0443785
+   0.953,-9.34312,-9.62864,-0.0351633, 91.7036, 45.8278, 45.8307,-0.045056
+   0.954,-9.35283,-9.78154,-0.0405522, 91.7996, 45.8746, 45.8792,-0.045862
+   0.955,-9.36269,-9.93883,-0.0467071, 91.8971,  45.922, 45.9285,-0.0466612
+   0.956, -9.3727,-10.0754,-0.053727, 91.9959, 45.9708, 45.9779,-0.0473038
+   0.957,-9.38284,-10.1693,-0.0617221, 92.0957, 46.0214, 46.0266,-0.0476628
+   0.958,-9.39304,-10.2057,-0.070815, 92.1958, 46.0739, 46.0743,-0.0476691
+   0.959,-9.40325,-10.1788,-0.0811416, 92.2957, 46.1271, 46.1212,-0.0473302
+    0.96, -9.4134,-10.0929,-0.0928522, 92.3947, 46.1799,  46.168,-0.0467238
+   0.961,-9.42344,-9.96187,-0.106113, 92.4924, 46.2308, 46.2156,-0.0459707
+   0.962,-9.43332, -9.8067,-0.121107, 92.5886, 46.2792, 46.2642,-0.0452017
+   0.963,-9.44305,-9.65222,-0.138037, 92.6833, 46.3252, 46.3136,-0.0445297
+   0.964,-9.45263,-9.52313,-0.157123, 92.7767, 46.3698, 46.3629,-0.0440383
+   0.965, -9.4621,-9.44005,-0.178608, 92.8693, 46.4142, 46.4114,-0.0437831
+   0.966,-9.47151,-9.41622,-0.202756, 92.9617, 46.4591, 46.4588,-0.0437966
+   0.967,-9.48093,-9.45538,-0.229857, 93.0545, 46.5048, 46.5056,-0.0440882
+   0.968,-9.49042,-9.55122,-0.260225, 93.1481,  46.551, 46.5525,-0.0446353
+   0.969,-9.50003,-9.68834,-0.294201, 93.2432, 46.5977, 46.6002,-0.0453723
+    0.97,-9.50979,-9.84477,-0.332153, 93.3398, 46.6447, 46.6489,-0.0461871
+   0.971,-9.51972,-9.99549,-0.374482, 93.4378, 46.6928, 46.6981,-0.046936
+   0.972,-9.52979,-10.1164,-0.421615, 93.5371, 46.7425, 46.7471,-0.0474746
+   0.973,-9.53995,-10.1882,-0.474014,  93.637, 46.7941, 46.7952,-0.0476963
+   0.974,-9.55016,-10.1994,-0.532172, 93.7371, 46.8473, 46.8422,-0.047562
+   0.975,-9.56035,-10.1483,-0.596617, 93.8366, 46.9009, 46.8886,-0.0471089
+   0.976,-9.57046,-10.0432,-0.667909, 93.9351, 46.9536, 46.9352,-0.046435
+   0.977,-9.58044,-9.90092,-0.746643, 94.0323, 47.0041, 46.9825,-0.0456681
+   0.978,-9.59026,-9.74423,-0.833449, 94.1279, 47.0521, 47.0308,-0.0449334
+   0.979,-9.59993,-9.59822,-0.928989,  94.222, 47.0984, 47.0793,-0.0443318
+    0.98,-9.60946,-9.48622,-1.03396, 94.3151, 47.1439, 47.1273,-0.0439348
+   0.981, -9.6189,-9.42612,-1.14909, 94.4076, 47.1898,  47.174,-0.0437878
+   0.982,-9.62831,-9.42747,-1.27514,    94.5, 47.2366, 47.2195,-0.0439146
+   0.983,-9.63775,-9.48999,-1.41289, 94.5931, 47.2845, 47.2643,-0.0443133
+   0.984,-9.64729,-9.60362,-1.56316, 94.6873, 47.3333, 47.3091,-0.0449458
+   0.985,-9.65696,-9.75014,-1.72678,  94.783, 47.3829, 47.3544,-0.0457281
+   0.986,-9.66679,-9.90609,-1.90459, 94.8802, 47.4336, 47.4001,-0.0465339
+   0.987,-9.67677,-10.0465,-2.09747, 94.9787, 47.4861, 47.4454,-0.047216
+   0.988,-9.68688, -10.149,-2.30628, 95.0783, 47.5412, 47.4894,-0.0476416
+   0.989,-9.69707,-10.1971,-2.53189, 95.1783, 47.5991, 47.5315,-0.0477291
+    0.99,-9.70728,-10.1833,-2.77517, 95.2782,  47.659, 47.5717,-0.0474703
+   0.991,-9.71744,-10.1098,-3.03697, 95.3774,   47.72, 47.6105,-0.0469291
+   0.992, -9.7275,-9.98844,-3.31811, 95.4754, 47.7806, 47.6486,-0.0462185
+   0.993,-9.73741,-9.83866,-3.61939, 95.5719, 47.8404, 47.6861,-0.0454677
+   0.994,-9.74717,-9.68445,-3.94155, 95.6669, 47.8995, 47.7227,-0.044793
+   0.995,-9.75678,-9.55047,-4.28529, 95.7606, 47.9589, 47.7574,-0.0442828
+   0.996,-9.76627,-9.45813,-4.65123, 95.8534, 48.0201, 47.7893,-0.0439967
+   0.997, -9.7757,-9.42215,-5.03991, 95.9458, 48.0842, 47.8177,-0.0439712
+   0.998,-9.78512,-9.44824,-5.45177, 96.0385, 48.1517, 47.8425,-0.0442204
+   0.999, -9.7946,-9.53215,-5.88717,  96.132, 48.2229, 47.8644,-0.0447294
+       1,-9.80418,-9.66041,-6.34632, 96.2268, 48.2978, 47.8836,-0.0454425
+   1.001,-9.81392,-9.81247,-6.82928,  96.323, 48.3766, 47.9002,-0.0462581
+   1.002,-9.82381,-9.96398,  -7.336, 96.4208, 48.4601, 47.9136,-0.0470388
+   1.003,-9.83384,-10.0907,-7.86622, 96.5198, 48.5493, 47.9228,-0.0476389
+   1.004,-9.84399,-10.1724,-8.41951, 96.6196, 48.6449, 47.9267,-0.0479427
+   1.005,-9.85419,-10.1961,-8.99526, 96.7196, 48.7468, 47.9249,-0.0478963
+   1.006,-9.86438, -10.158,-9.59262, 96.8192, 48.8544, 47.9173,-0.0475208
+   1.007,-9.87451,-10.0643,-10.2106,  96.918, 48.9664, 47.9047,-0.0469023
+   1.008,-9.88451,-9.93001,-10.8478, 97.0154, 49.0818, 47.8874,-0.0461627
+   1.009,-9.89437,-9.77667,-11.5027, 97.1113, 49.2003, 47.8656,-0.0454273
+    1.01,-9.90406,-9.62881,-12.1737, 97.2058, 49.3222, 47.8387,-0.0448008
+   1.011,-9.91362,-9.51007,-12.8585,  97.299, 49.4487,  47.806,-0.0443588
+   1.012,-9.92308,-9.43941,-13.5551, 97.3917, 49.5807, 47.7668,-0.0441504
+   1.013, -9.9325,-9.42809,-14.2607, 97.4841, 49.7188, 47.7212,-0.0442029
+   1.014,-9.94194,-9.47786,-14.9726, 97.5771, 49.8628, 47.6698,-0.0445201
+   1.015,-9.95146,-9.58069,-15.6878, 97.6711, 50.0124, 47.6137,-0.0450726
+   1.016, -9.9611, -9.7201,-16.4031, 97.7665, 50.1668, 47.5539,-0.0457872
+   1.017, -9.9709,-9.87374,-17.1148, 97.8633, 50.3258,  47.491,-0.046547
+   1.018,-9.98085, -10.017,-17.8194, 97.9616, 50.4894, 47.4249,-0.0472092
+   1.019,-9.99093,-10.1271,-18.5129, 98.0609, 50.6577, 47.3556,-0.0476376
+    1.02,-10.0011,-10.1863,-19.1914, 98.1609, 50.8299, 47.2832,-0.0477399
+   1.021,-10.0113,-10.1853,-19.8507, 98.2608,  51.005, 47.2083,-0.0474934
+   1.022,-10.0215,-10.1243,-20.4867, 98.3601, 51.1809, 47.1323,-0.0469489
+   1.023,-10.0316,-10.0131,-21.0951, 98.4583, 51.3553, 47.0568,-0.0462117
+   1.024,-10.0415,-9.86946,-21.6717, 98.5551, 51.5265, 46.9832,-0.0454099
+   1.025,-10.0513,-9.71649,-22.2124, 98.6505, 51.6936, 46.9122,-0.0446637
+   1.026,-10.0609,-9.57864, -22.713, 98.7444, 51.8565, 46.8438,-0.0440678
+   1.027,-10.0704,-9.47791,-23.1698, 98.8374, 52.0157,  46.778,-0.0436878
+   1.028,-10.0799,-9.43039, -23.579, 98.9299, 52.1717, 46.7147,-0.0435655
+   1.029,-10.0893,-9.44363,-23.9372, 99.0226, 52.3243, 46.6545,-0.0437208
+    1.03,-10.0988,-9.51544,-24.2415, 99.1159, 52.4733, 46.5984,-0.0441469
+   1.031,-10.1083, -9.6343,-24.4892, 99.2104, 52.6184, 46.5473,-0.0447988
+   1.032, -10.118,-9.78113, -24.678, 99.3064, 52.7593, 46.5015,-0.045586
+   1.033,-10.1279,-9.93244,-24.8064, 99.4038, 52.8968, 46.4606,-0.0463785
+   1.034,-10.1379, -10.064,-24.8732, 99.5025, 53.0318, 46.4237,-0.0470316
+   1.035, -10.148,-10.1549,-24.8778, 99.6022, 53.1654, 46.3894,-0.0474215
+   1.036,-10.1582,-10.1904,-24.8205, 99.7021,  53.298, 46.3566,-0.0474796
+   1.037,-10.1684,-10.1652,-24.7021, 99.8018, 53.4297,  46.325,-0.0472104
+   1.038,-10.1785,-10.0831, -24.524, 99.9008, 53.5599, 46.2942,-0.0466856
+   1.039,-10.1886,-9.95745,-24.2886, 99.9984, 53.6883, 46.2642,-0.0460186
+    1.04,-10.1985,-9.80833,-23.9987, 100.095,  53.815, 46.2343,-0.0453323
+   1.041,-10.2082,-9.65963,-23.6582, 100.189, 53.9412, 46.2035,-0.0447331
+   1.042,-10.2178,-9.53511,-23.2715, 100.283, 54.0685, 46.1702,-0.044299
+   1.043,-10.2273,-9.45468,-22.8435, 100.376, 54.1986,  46.133,-0.0440814
+   1.044,-10.2367,-9.43115,-22.3802, 100.468, 54.3329, 46.0912,-0.0441101
+   1.045,-10.2461,-9.46823,-21.8877, 100.561, 54.4718, 46.0449,-0.044393
+   1.046,-10.2556,-9.55993,-21.3729, 100.655, 54.6153, 45.9947,-0.0449083
+   1.047,-10.2652,-9.69153, -20.843,  100.75, 54.7629, 45.9415,-0.0455935
+   1.048, -10.275,-9.84196,-20.3058, 100.847, 54.9144, 45.8858,-0.0463422
+   1.049,-10.2849,-9.98713,-19.7689, 100.944, 55.0697, 45.8278,-0.0470181
+    1.05, -10.295,-10.1038,-19.2405, 101.044, 55.2288, 45.7673,-0.0474846
+   1.051,-10.3051,-10.1734,-18.7284, 101.143, 55.3911, 45.7046,-0.0476417
+   1.052,-10.3153,-10.1849,-18.2404, 101.243, 55.5553, 45.6406,-0.0474545
+   1.053,-10.3255,-10.1363,-17.7843, 101.343, 55.7193, 45.5766,-0.046962
+   1.054,-10.3356,-10.0356,-17.3671, 101.441, 55.8807, 45.5142,-0.0462616
+   1.055,-10.3456,-9.89895,-16.9955, 101.538, 56.0377, 45.4551,-0.0454797
+   1.056,-10.3554,-9.74819,-16.6757, 101.634, 56.1893, 45.3999,-0.0447397
+   1.057,-10.3651,-9.60745,-16.4127, 101.728, 56.3354, 45.3486,-0.0441415
+   1.058,-10.3746,-9.49924,-16.2109, 101.821,  56.477, 45.3007,-0.0437553
+   1.059,-10.3841,-9.44082,-16.0736, 101.914, 56.6149, 45.2555,-0.0436252
+    1.06,-10.3935,-9.44151,-16.0031, 102.007, 56.7501, 45.2128,-0.0437732
+   1.061, -10.403,-9.50112,-16.0005,   102.1,  56.883, 45.1726,-0.0441959
+   1.062,-10.4125,-9.61008,-16.0656, 102.194, 57.0142, 45.1351,-0.0448537
+   1.063,-10.4222,-9.75091,-16.1969,  102.29, 57.1443, 45.0998,-0.0456622
+   1.064, -10.432,-9.90105,-16.3918, 102.387, 57.2746, 45.0658,-0.0464957
+   1.065, -10.442,-10.0365,-16.6465, 102.485, 57.4068, 45.0314,-0.0472074
+   1.066,-10.4521,-10.1356,-16.9558, 102.585, 57.5422, 44.9949,-0.0476647
+   1.067,-10.4623,-10.1825,-17.3135, 102.685, 57.6819,  44.955,-0.0477839
+   1.068,-10.4724,-10.1698,-17.7124, 102.784, 57.8257, 44.9112,-0.047553
+   1.069,-10.4826,-10.0996,-18.1442, 102.884, 57.9727, 44.8638,-0.0470307
+    1.07,-10.4926,-9.98313,-18.6001, 102.981, 58.1218, 44.8133,-0.0463248
+   1.071,-10.5026,-9.83908,-19.0706, 103.078, 58.2719, 44.7605,-0.0455602
+   1.072,-10.5123,-9.69051,-19.5458, 103.173, 58.4226, 44.7056,-0.0448514
+   1.073,-10.5219,-9.56119,-20.0155, 103.267, 58.5739, 44.6486,-0.0442875
+   1.074,-10.5314,-9.47179,-20.4698,  103.36, 58.7261, 44.5897,-0.0439309
+   1.075,-10.5409,-9.43655,-20.8987, 103.452,  58.879, 44.5295,-0.0438225
+   1.076,-10.5503,-9.46107,-21.2929, 103.545, 59.0319, 44.4693,-0.043982
+   1.077,-10.5598,-9.54137,-21.6437, 103.639, 59.1837, 44.4107,-0.044401
+   1.078,-10.5694,-9.66456,-21.9434, 103.734, 59.3333, 44.3553,-0.0450314
+   1.079,-10.5791,-9.81089,-22.1852,  103.83, 59.4801, 44.3039,-0.0457793
+    1.08, -10.589,-9.95695,-22.3637, 103.927, 59.6243, 44.2566,-0.0465149
+   1.081, -10.599,-10.0794,-22.4749, 104.026, 59.7666, 44.2127,-0.0470985
+   1.082,-10.6092,-10.1586,-22.5165, 104.126, 59.9075, 44.1711,-0.0474167
+   1.083,-10.6194, -10.182,-22.4876, 104.226, 60.0476, 44.1309,-0.0474136
+   1.084,-10.6295,-10.1459,-22.3891, 104.325, 60.1866, 44.0917,-0.0471045
+   1.085,-10.6397,-10.0561,-22.2236, 104.424, 60.3244, 44.0531,-0.046566
+   1.086,-10.6497,-9.92702,-21.9954, 104.521, 60.4606, 44.0149,-0.0459094
+   1.087,-10.6595,-9.77936,-21.7104, 104.617, 60.5959, 43.9763,-0.0452497
+   1.088,-10.6692,-9.63673,-21.3759, 104.712, 60.7314, 43.9358,-0.0446831
+   1.089,-10.6788,-9.52194,-21.0005, 104.805, 60.8688, 43.8922,-0.0442787
+    1.09,-10.6883,-9.45333, -20.594, 104.898, 61.0094, 43.8446,-0.0440825
+   1.091,-10.6977,-9.44182, -20.167, 104.991, 61.1539, 43.7927,-0.044121
+   1.092,-10.7071, -9.4892,-19.7308, 105.084,  61.302, 43.7374,-0.0444007
+   1.093,-10.7167,-9.58785,-19.2969, 105.178, 61.4529, 43.6801,-0.0448977
+   1.094,-10.7263,-9.72193,-18.8769, 105.273, 61.6054, 43.6223,-0.0455479
+   1.095,-10.7361,-9.86997, -18.482,  105.37, 61.7587, 43.5651,-0.046246
+   1.096,-10.7461,-10.0083, -18.123, 105.468, 61.9123, 43.5091,-0.0468611
+   1.097,-10.7561,-10.1148,-17.8095, 105.567, 62.0657, 43.4544,-0.047268
+   1.098,-10.7663,-10.1724,-17.5501, 105.667, 62.2184, 43.4015,-0.0473822
+   1.099,-10.7765, -10.172,-17.3519, 105.767, 62.3693, 43.3506,-0.0471839
+     1.1,-10.7866,-10.1138,-17.2204, 105.866, 62.5169, 43.3026,-0.0467216
+   1.101,-10.7967, -10.007, -17.159, 105.964, 62.6603,  43.258,-0.046094
+   1.102,-10.8066,-9.86876,-17.1693, 106.061, 62.7989, 43.2169,-0.0454193
+   1.103,-10.8164,-9.72129,-17.2509, 106.157, 62.9335, 43.1783,-0.0448064
+   1.104,-10.8261,-9.58813,-17.4011, 106.251, 63.0656, 43.1407,-0.044338
+   1.105,-10.8356,-9.49058,-17.6154, 106.344, 63.1974, 43.1022,-0.0440682
+   1.106,-10.8451, -9.4442,-17.8871, 106.436,  63.331, 43.0614,-0.0440281
+   1.107,-10.8545,-9.45637, -18.208, 106.529, 63.4676, 43.0173,-0.0442297
+   1.108, -10.864,-9.52508,-18.5683, 106.623, 63.6078, 42.9702,-0.044661
+   1.109,-10.8736,-9.63929, -18.957, 106.717, 63.7515, 42.9204,-0.0452766
+    1.11,-10.8833, -9.7807, -19.362, 106.813, 63.8985, 42.8687,-0.0459902
+   1.111,-10.8931,-9.92667,-19.7708,  106.91, 64.0486, 42.8152,-0.0466811
+   1.112,-10.9031,-10.0539,-20.1707, 107.009, 64.2017, 42.7602,-0.0472164
+   1.113,-10.9132,-10.1419,-20.5491, 107.109, 64.3572, 42.7039,-0.0474854
+   1.114,-10.9234,-10.1768,-20.8942, 107.208, 64.5139, 42.6471,-0.0474317
+   1.115,-10.9336, -10.153,-21.1951, 107.308, 64.6699, 42.5911,-0.0470692
+   1.116,-10.9437,-10.0744,-21.4423, 107.407, 64.8231, 42.5373,-0.0464755
+   1.117,-10.9537,-9.95355,-21.6278, 107.505, 64.9717, 42.4871,-0.0457671
+   1.118,-10.9636,-9.80985,-21.7459, 107.601, 65.1148, 42.4409,-0.0450668
+   1.119,-10.9733,-9.66631, -21.793, 107.696, 65.2528, 42.3983,-0.0444782
+    1.12,-10.9829,-9.54587,-21.7675, 107.789, 65.3872, 42.3579,-0.0440748
+   1.121,-10.9924,-9.46778,-21.6706, 107.882,   65.52, 42.3182,-0.0439011
+   1.122,-11.0019, -9.4445,-21.5057, 107.975,  65.653, 42.2778,-0.0439787
+   1.123,-11.0113,-9.47969,-21.2786, 108.068, 65.7874,  42.236,-0.0443075
+   1.124,-11.0208,-9.56767,-20.9971, 108.162, 65.9243, 42.1925,-0.0448587
+   1.125,-11.0305,-9.69433,-20.6711, 108.257,  66.064, 42.1472,-0.0455655
+   1.126,-11.0402,-9.83938,-20.3117, 108.353,  66.207, 42.0999,-0.0463211
+   1.127,-11.0501, -9.9796,-19.9317, 108.451,  66.354, 42.0502,-0.0469924
+   1.128,-11.0602,-10.0926,-19.5443,  108.55,  66.505, 41.9977,-0.0474483
+   1.129,-11.0703,-10.1603,-19.1631,  108.65, 66.6595, 41.9427,-0.0475955
+    1.13,-11.0805,-10.1719,-18.8015,  108.75, 66.8163, 41.8859,-0.0474053
+   1.131,-11.0907,-10.1256,-18.4724, 108.849,  66.973,  41.829,-0.0469207
+   1.132,-11.1008,-10.0289,-18.1874, 108.947, 67.1274, 41.7737,-0.0462415
+   1.133,-11.1107,-9.89725,-17.9567, 109.044, 67.2773, 41.7216,-0.0454942
+   1.134,-11.1206,-9.75178,-17.7885,  109.14, 67.4221, 41.6732, -0.0448
+   1.135,-11.1302,-9.61576,-17.6887, 109.234, 67.5619, 41.6282,-0.0442549
+   1.136,-11.1398,-9.51092,-17.6608, 109.328, 67.6982, 41.5856,-0.043923
+   1.137,-11.1493,-9.45401,-17.7056,  109.42, 67.8326,  41.544,-0.0438407
+   1.138,-11.1587,-9.45408,-17.8213, 109.513, 67.9667, 41.5025,-0.0440214
+   1.139,-11.1682,-9.51107,-18.0034, 109.607, 68.1015, 41.4606,-0.0444534
+    1.14,-11.1777,-9.61582,-18.2448, 109.701, 68.2379, 41.4178,-0.0450914
+   1.141,-11.1874,-9.75153,-18.5363, 109.797, 68.3768, 41.3739,-0.0458496
+   1.142,-11.1972,-9.89648,-18.8666, 109.894,  68.519,  41.328,-0.0466054
+   1.143,-11.2072,-10.0275, -19.223, 109.992, 68.6652, 41.2795,-0.04722
+   1.144,-11.2173,-10.1236,-19.5917, 110.091, 68.8157,  41.228,-0.0475718
+   1.145,-11.2274,-10.1694,-19.9585, 110.191,   68.97, 41.1734,-0.04759
+   1.146,-11.2376,-10.1578, -20.309, 110.291, 69.1263, 41.1171,-0.0472749
+   1.147,-11.2477,-10.0905,-20.6297,  110.39, 69.2823, 41.0606,-0.0466957
+   1.148,-11.2578,-9.97842, -20.908, 110.488, 69.4357, 41.0059,-0.0459678
+   1.149,-11.2677,-9.83951, -21.133, 110.584, 69.5846, 40.9543,-0.0452206
+    1.15,-11.2775,-9.69601,-21.2959, 110.679, 69.7285, 40.9061,-0.0445684
+   1.151,-11.2871,-9.57085,-21.3904, 110.773,  69.868,  40.861,-0.0440957
+   1.152,-11.2966,-9.48406,-21.4128, 110.866, 70.0044, 40.8178,-0.0438557
+   1.153,-11.3061,-9.44946,-21.3625, 110.959, 70.1394, 40.7756,-0.0438755
+   1.154,-11.3155,-9.47256,-21.2417, 111.052, 70.2742, 40.7334,-0.0441586
+   1.155, -11.325,-9.54961,-21.0555, 111.145, 70.4099, 40.6909,-0.0446801
+   1.156,-11.3346,-9.66823,-20.8117,  111.24, 70.5473, 40.6476,-0.045378
+   1.157,-11.3443,-9.80942,-20.5205, 111.337, 70.6873,  40.603,-0.0461499
+   1.158,-11.3542,-9.95059,-20.1942, 111.434, 70.8309, 40.5564,-0.0468632
+   1.159,-11.3642,-10.0691,-19.8465, 111.533, 70.9786, 40.5069,-0.0473823
+    1.16,-11.3744,-10.1462,-19.4918, 111.632, 71.1304, 40.4544,-0.0476033
+   1.161,-11.3845,-10.1693,-19.1453, 111.732, 71.2853, 40.3994,-0.0474835
+   1.162,-11.3947, -10.135,-18.8215, 111.832, 71.4413, 40.3433,-0.0470532
+   1.163,-11.4048,-10.0488,-18.5341,  111.93, 71.5959, 40.2879,-0.0464042
+   1.164,-11.4148,-9.92439,-18.2954, 112.028, 71.7469,  40.235,-0.0456614
+   1.165,-11.4247,-9.78183,-18.1153, 112.124, 71.8931, 40.1855,-0.0449502
+   1.166,-11.4344, -9.6439,-18.0016, 112.218, 72.0344, 40.1394,-0.0443728
+   1.167,-11.4439,-9.53265, -17.959, 112.312,  72.172, 40.0957,-0.043999
+   1.168,-11.4534,-9.46585,-17.9892, 112.405, 72.3074, 40.0532,-0.0438687
+   1.169,-11.4629,-9.45415,-18.0905, 112.497, 72.4423, 40.0109,-0.0439976
+    1.17,-11.4723,-9.49937,-18.2585,  112.59,  72.578, 39.9681,-0.0443773
+   1.171,-11.4819,-9.59423,-18.4854, 112.685, 72.7153, 39.9243,-0.0449687
+   1.172,-11.4915,-9.72352,-18.7612,  112.78,  72.855, 39.8792,-0.045694
+   1.173,-11.5013,-9.86653,-19.0733, 112.877, 72.9979, 39.8324,-0.0464389
+   1.174,-11.5113,-10.0004,-19.4076, 112.975, 73.1445, 39.7833,-0.0470691
+   1.175,-11.5213,-10.1037,-19.7492, 113.074,  73.295, 39.7315,-0.0474613
+   1.176,-11.5315,-10.1599,-20.0825, 113.174, 73.4487, 39.6774,-0.0475369
+   1.177,-11.5416,-10.1601,-20.3925, 113.273,  73.604,  39.622,-0.0472849
+   1.178,-11.5518,-10.1043,-20.6651, 113.372, 73.7587, 39.5669,-0.0467637
+   1.179,-11.5619,-10.0015,-20.8878, 113.471, 73.9104, 39.5141,-0.0460812
+    1.18,-11.5718, -9.8682,-21.0507, 113.567, 74.0574, 39.4646,-0.0453634
+   1.181,-11.5816,-9.72565,-21.1463, 113.663, 74.1993, 39.4187,-0.0447244
+   1.182,-11.5912,-9.59672,-21.1704, 113.757, 74.3371, 39.3756,-0.0442485
+   1.183,-11.6008,-9.50201,-21.1221,  113.85, 74.4724, 39.3337,-0.0439879
+   1.184,-11.6102,-9.45663,-21.0037, 113.943, 74.6072, 39.2917,-0.0439683
+   1.185,-11.6197,-9.46781,-20.8211, 114.036, 74.7431, 39.2485,-0.044194
+   1.186,-11.6292,-9.53371,-20.5831, 114.129, 74.8812, 39.2035,-0.0446452
+   1.187,-11.6388,-9.64374,-20.3009, 114.224, 75.0219, 39.1567,-0.0452706
+   1.188,-11.6485,-9.78027,-19.9883,  114.32, 75.1657, 39.1082,-0.0459819
+   1.189,-11.6583,-9.92143,-19.6601, 114.417, 75.3126, 39.0579,-0.0466606
+    1.19,-11.6683,-10.0447,-19.3321, 114.516, 75.4627, 39.0058,-0.0471795
+   1.191,-11.6784,-10.1303,-19.0202, 114.615, 75.6155, 38.9522,-0.0474357
+   1.192,-11.6886,-10.1646,-18.7394, 114.715, 75.7695, 38.8979,-0.0473796
+   1.193,-11.6987,-10.1421,-18.5031, 114.814, 75.9231, 38.8442,-0.0470295
+   1.194,-11.7089,-10.0666,-18.3229, 114.913, 76.0739, 38.7926,-0.0464638
+   1.195,-11.7189,-9.95009,-18.2073, 115.011, 76.2205, 38.7443,-0.0457957
+   1.196,-11.7288,-9.81127,-18.1618, 115.107, 76.3622, 38.6996,-0.0451417
+   1.197,-11.7385,-9.67237,-18.1886, 115.202, 76.4997, 38.6574,-0.0445966
+   1.198,-11.7481, -9.5556,-18.2861, 115.296,  76.635, 38.6163,-0.0442244
+   1.199,-11.7576,-9.47961,-18.4493, 115.389, 76.7701, 38.5744,-0.0440608
+     1.2,-11.7671,-9.45653,-18.6698, 115.481,  76.907, 38.5302,-0.0441216
+   1.201,-11.7765,-9.48999,-18.9365, 115.574, 77.0467, 38.4833,-0.0444045
+   1.202, -11.786,-9.57461, -19.236, 115.668, 77.1896, 38.4338,-0.0448847
+   1.203,-11.7957,-9.69681,-19.5529, 115.763, 77.3354, 38.3826,-0.0455051
+   1.204,-11.8054,  -9.837,-19.8712,  115.86, 77.4835, 38.3303,-0.0461739
+   1.205,-11.8153,-9.97276,-20.1748, 115.958, 77.6334, 38.2776,-0.0467747
+   1.206,-11.8254,-10.0824,-20.4483, 116.057, 77.7846, 38.2249,-0.0471926
+   1.207,-11.8355,-10.1483,-20.6776, 116.156, 77.9362, 38.1727,-0.0473449
+   1.208,-11.8457,-10.1601,-20.8511, 116.256,  78.087, 38.1217,-0.0472058
+   1.209,-11.8558,-10.1159,-20.9602, 116.355, 78.2355, 38.0729,-0.0468121
+    1.21,-11.8659,-10.0228,-20.9991, 116.453, 78.3805, 38.0267,-0.0462494
+   1.211,-11.8759,-9.89576,-20.9663, 116.551, 78.5216, 37.9833,-0.045624
+   1.212,-11.8857,-9.75508,-20.8634, 116.646, 78.6596, 37.9416,-0.0450355
+   1.213,-11.8954, -9.6233,-20.6962, 116.741,  78.796, 37.9001,-0.0445599
+   1.214,-11.9049,-9.52149,-20.4734, 116.834,  78.933, 37.8568,-0.0442472
+   1.215,-11.9144,-9.46591,-20.2071, 116.927, 79.0723, 37.8105,-0.044128
+   1.216,-11.9239,-9.46541,-19.9113,  117.02, 79.2149, 37.7607,-0.0442194
+   1.217,-11.9334,-9.52001,-19.6018, 117.113, 79.3605, 37.7081,-0.0445229
+   1.218,-11.9429,-9.62096,-19.2951, 117.208, 79.5083, 37.6543,-0.0450146
+   1.219,-11.9526,-9.75205,-19.0076, 117.303,  79.657, 37.6006,-0.0456343
+    1.22,-11.9624, -9.8923,-18.7545,   117.4, 79.8056, 37.5483,-0.0462857
+   1.221,-11.9724,-10.0193,-18.5495, 117.499, 79.9538, 37.4979,-0.046851
+   1.222,-11.9825,-10.1127,-18.4033, 117.598, 80.1011, 37.4494,-0.0472201
+   1.223,-11.9926,-10.1576,-18.3239, 117.697, 80.2476, 37.4025,-0.0473209
+   1.224,-12.0028,-10.1469,-18.3153, 117.797, 80.3927, 37.3571,-0.0471396
+   1.225,-12.0129,-10.0823,-18.3777, 117.896, 80.5362, 37.3129,-0.0467208
+   1.226,-12.0229,-9.97421,-18.5077, 117.994, 80.6779, 37.2696,-0.04615
+   1.227,-12.0329,-9.83996,-18.6979,  118.09, 80.8183, 37.2264,-0.0455269
+   1.228,-12.0426,-9.70102,-18.9377, 118.185, 80.9584, 37.1821,-0.0449426
+   1.229,-12.0523,-9.57962,-19.2138, 118.279, 81.0994, 37.1355,-0.0444691
+    1.23,-12.0618,-9.49517,-19.5108, 118.373, 81.2425, 37.0858,-0.0441599
+   1.231,-12.0712,-9.46114,-19.8122, 118.465, 81.3881, 37.0332,-0.0440551
+   1.232,-12.0807,-9.48293,-20.1012, 118.558, 81.5354, 36.9787,-0.0441812
+   1.233,-12.0902,-9.55702,-20.3617, 118.652, 81.6833, 36.9243,-0.0445424
+   1.234,-12.0998, -9.6715,-20.5792, 118.747, 81.8302, 36.8717,-0.0451065
+   1.235,-12.1096,-9.80805,-20.7415, 118.843, 81.9753, 36.8221,-0.045796
+   1.236,-12.1194,-9.94479,-20.8398, 118.941, 82.1186, 36.7756,-0.0464941
+   1.237,-12.1294,-10.0599,-20.8685, 119.039, 82.2608, 36.7316,-0.047068
+   1.238,-12.1396,-10.1349,-20.8263, 119.139,  82.403, 36.6885,-0.0474028
+   1.239,-12.1497,-10.1579,-20.7156, 119.239, 82.5459, 36.6452,-0.0474331
+    1.24,-12.1599,-10.1252,-20.5431, 119.338,   82.69, 36.6007,-0.0471592
+   1.241,  -12.17,-10.0422,-20.3187, 119.436, 82.8351, 36.5546,-0.0466419
+   1.242,  -12.18,-9.92206,-20.0553, 119.534, 82.9807,  36.507,-0.0459807
+   1.243,-12.1898,-9.78412,-19.7684,  119.63, 83.1266, 36.4578,-0.0452866
+   1.244,-12.1995,-9.65043,-19.4744, 119.724, 83.2726, 36.4071,-0.0446609
+   1.245,-12.2091,-9.54236,-19.1905, 119.818, 83.4188, 36.3549,-0.0441856
+   1.246,-12.2186,-9.47719, -18.933, 119.911, 83.5651, 36.3019,-0.043923
+   1.247,-12.2281, -9.4653,-18.7169, 120.004, 83.7107, 36.2491,-0.0439158
+   1.248,-12.2375,-9.50855,-18.5547, 120.097,  83.855, 36.1979,-0.0441822
+   1.249,-12.2471,-9.59998,-18.4557, 120.191, 83.9973, 36.1493,-0.0447034
+    1.25,-12.2567,-9.72492,-18.4257, 120.287, 84.1374, 36.1038,-0.0454133
+   1.251,-12.2665,-9.86337,-18.4662, 120.383, 84.2763, 36.0609,-0.0461976
+   1.252,-12.2765,-9.99318,-18.5746, 120.481, 84.4154, 36.0191,-0.0469116
+   1.253,-12.2865,-10.0936,-18.7444,  120.58, 84.5566, 35.9764,-0.0474134
+   1.254,-12.2967,-10.1486,-18.9653,  120.68, 84.7011, 35.9313,-0.0476011
+   1.255,-12.3068,-10.1493,-19.2241,  120.78, 84.8492,  35.883,-0.047441
+   1.256, -12.317,-10.0958,-19.5051, 120.879, 84.9998, 35.8318,-0.0469738
+   1.257, -12.327,-9.99667,-19.7916, 120.977, 85.1513, 35.7791,-0.0462987
+   1.258,-12.3369,-9.86773,-20.0663, 121.073, 85.3018, 35.7261,-0.0455436
+   1.259,-12.3467,-9.72965,-20.3128, 121.169, 85.4501,  35.674,-0.044834
+    1.26,-12.3564,-9.60454,-20.5161, 121.263, 85.5954, 35.6235,-0.0442724
+   1.261, -12.366,-9.51239,-20.6641, 121.356,  85.738, 35.5746,-0.0439308
+   1.262,-12.3754,-9.46791, -20.748, 121.449, 85.8783, 35.5272,-0.0438517
+   1.263,-12.3849,-9.47817,-20.7628, 121.542,  86.017, 35.4813,-0.0440494
+   1.264,-12.3944,-9.54151,-20.7078, 121.636, 86.1549, 35.4366,-0.044506
+   1.265, -12.404,-9.64773,-20.5865, 121.731, 86.2927, 35.3927,-0.0451643
+   1.266,-12.4137,-9.77982,-20.4065, 121.827, 86.4316, 35.3489,-0.0459251
+   1.267,-12.4235,-9.91664,-20.1791, 121.924, 86.5731, 35.3041,-0.0466566
+   1.268,-12.4335,-10.0363,-19.9183, 122.022,  86.718,  35.257,-0.0472202
+   1.269,-12.4436,-10.1197,-19.6404, 122.122,  86.867,  35.207,-0.0475044
+    1.27,-12.4538,-10.1534,-19.3626, 122.221, 87.0193, 35.1544,-0.0474563
+   1.271,-12.4639,-10.1322,-19.1022, 122.321, 87.1731, 35.1003,-0.0470958
+   1.272, -12.474,-10.0595,-18.8753, 122.419,  87.326, 35.0467,-0.046507
+   1.273, -12.484,-9.94699, -18.696, 122.517, 87.4757, 34.9953,-0.0458113
+   1.274,-12.4939,-9.81261,-18.5755, 122.613, 87.6209,  34.947,-0.0451331
+   1.275,-12.5037,-9.67792,-18.5211, 122.708, 87.7616, 34.9018,-0.0445739
+   1.276,-12.5133,-9.56446,-18.5362, 122.802, 87.8991, 34.8585,-0.0441999
+   1.277,-12.5228,-9.49036,-18.6195, 122.895, 88.0353, 34.8156,-0.0440454
+   1.278,-12.5322,-9.46744,-18.7657, 122.988, 88.1722, 34.7715,-0.0441204
+   1.279,-12.5417,-9.49933,-18.9654, 123.081, 88.3111, 34.7255,-0.0444157
+    1.28,-12.5512,-9.58088,-19.2056, 123.175, 88.4526, 34.6774,-0.0449003
+   1.281,-12.5609,-9.69901,-19.4711,  123.27, 88.5969, 34.6277,-0.0455141
+   1.282,-12.5706, -9.8348,-19.7449, 123.367, 88.7436, 34.5768,-0.0461669
+   1.283,-12.5805,-9.96652,-20.0093, 123.464, 88.8924, 34.5252,-0.046748
+   1.284,-12.5906,-10.0731,-20.2475, 123.563, 89.0426, 34.4735,-0.0471501
+   1.285,-12.6007,-10.1375,-20.4442, 123.663, 89.1933, 34.4221,-0.0472976
+   1.286,-12.6109,-10.1495,-20.5868, 123.762, 89.3432, 34.3718,-0.0471682
+   1.287, -12.621,-10.1072,-20.6663, 123.861, 89.4911, 34.3234,-0.0467978
+   1.288,-12.6311,-10.0174,-20.6777,  123.96, 89.6359, 34.2774,-0.0462662
+   1.289, -12.641,-9.89445,-20.6203, 124.057, 89.7775, 34.2336,-0.0456712
+    1.29,-12.6509,-9.75812,-20.4981, 124.152, 89.9165, 34.1908,-0.0451037
+   1.291,-12.6605,-9.63019,-20.3192, 124.247, 90.0547, 34.1475,-0.0446328
+   1.292,-12.6701,-9.53113,-20.0954,  124.34,  90.194,  34.102,-0.0443061
+   1.293,-12.6796,-9.47674,-19.8416, 124.433, 90.3358, 34.0534,-0.0441563
+   1.294,-12.6891,-9.47569,-19.5743, 124.526, 90.4804, 34.0017,-0.0442075
+   1.295,-12.6986,-9.52812,-19.3114,  124.62, 90.6271, 33.9482,-0.044471
+   1.296,-12.7081,-9.62559,-19.0699, 124.714, 90.7746, 33.8947,-0.0449336
+   1.297,-12.7178,-9.75247, -18.866,  124.81, 90.9215, 33.8429,-0.045544
+   1.298,-12.7276,-9.88846, -18.713, 124.907,  91.067, 33.7936,-0.0462098
+   1.299,-12.7376,-10.0118,-18.6209, 125.005, 91.2113,  33.747,-0.0468115
+     1.3,-12.7477,-10.1028,-18.5957, 125.104, 91.3548, 33.7022,-0.0472306
+   1.301,-12.7578,-10.1468, -18.639, 125.204, 91.4983,  33.658,-0.047382
+   1.302,-12.7679, -10.137,-18.7476, 125.303, 91.6424, 33.6135,-0.0472371
+   1.303,-12.7781,-10.0749,-18.9143, 125.402, 91.7871, 33.5681,-0.046829
+   1.304,-12.7881,-9.97043,-19.1275,   125.5, 91.9322, 33.5214,-0.0462378
+   1.305, -12.798, -9.8404,-19.3729, 125.596, 92.0775, 33.4733,-0.0455668
+   1.306,-12.8078,-9.70562,-19.6339, 125.692,  92.223, 33.4237,-0.0449193
+   1.307,-12.8174,-9.58763,-19.8927, 125.786, 92.3686, 33.3727,-0.0443847
+   1.308, -12.827, -9.5053, -20.132, 125.879, 92.5142, 33.3206,-0.0440348
+   1.309,-12.8364,-9.47176,-20.3354, 125.972, 92.6595, 33.2684,-0.0439228
+    1.31,-12.8459,-9.49235,-20.4892, 126.065, 92.8037, 33.2172,-0.0440797
+   1.311,-12.8554,-9.56373,-20.5831, 126.159, 92.9461, 33.1682,-0.0445034
+   1.312, -12.865,-9.67444,-20.6109, 126.254, 93.0865,  33.122,-0.0451463
+   1.313,-12.8748,-9.80675,-20.5707,  126.35, 93.2257, 33.0782,-0.04591
+   1.314,-12.8846,-9.93948,-20.4654, 126.447, 93.3651, 33.0356,-0.046657
+   1.315,-12.8946,-10.0514,-20.3025, 126.546, 93.5064, 32.9923,-0.0472391
+   1.316,-12.9047,-10.1246,-20.0934, 126.645, 93.6512, 32.9466,-0.047536
+   1.317,-12.9149,-10.1475,-19.8524, 126.745, 93.7996, 32.8977,-0.0474891
+   1.318, -12.925,-10.1163,-19.5965, 126.844, 93.9509, 32.8461,-0.0471158
+   1.319,-12.9351,-10.0362,-19.3433, 126.943, 94.1031,  32.793,-0.0465016
+    1.32,-12.9451,-9.91998,-19.1104,  127.04, 94.2539, 32.7401,-0.0457721
+   1.321, -12.955,-9.78625, -18.914, 127.136, 94.4018,  32.689,-0.0450588
+   1.322,-12.9647,-9.65641,-18.7677, 127.231,  94.546, 32.6401,-0.0444722
+   1.323,-12.9743,-9.55124,-18.6815, 127.324, 94.6868, 32.5934,-0.0440888
+   1.324,-12.9838,-9.48753,-18.6614, 127.417, 94.8254,  32.548,-0.0439507
+   1.325,-12.9933,-9.47545,-18.7086,  127.51,  94.963, 32.5033,-0.0440702
+   1.326,-13.0027,-9.51689,-18.8196, 127.604, 95.1009, 32.4583,-0.0444321
+   1.327,-13.0123,-9.60517,-18.9865, 127.698, 95.2401, 32.4128,-0.0449905
+   1.328,-13.0219,-9.72615,-19.1974, 127.793, 95.3815, 32.3661,-0.0456661
+   1.329,-13.0317,-9.86045,-19.4373,  127.89, 95.5256, 32.3181,-0.0463497
+    1.33,-13.0417,-9.98658,-19.6891, 127.988, 95.6727, 32.2684,-0.0469196
+   1.331,-13.0517,-10.0844,-19.9349, 128.087, 95.8226, 32.2171,-0.047269
+   1.332,-13.0618,-10.1382,-20.1573, 128.186, 95.9743, 32.1648,-0.0473349
+   1.333, -13.072,-10.1395,-20.3405, 128.286, 96.1261, 32.1126,-0.0471153
+   1.334,-13.0821,-10.0881,-20.4714, 128.385, 96.2761,  32.062,-0.0466676
+   1.335,-13.0922,-9.99227, -20.541, 128.483, 96.4227, 32.0141,-0.0460881
+   1.336,-13.1021,-9.86734,-20.5443,  128.58, 96.5652, 31.9689,-0.0454826
+   1.337,-13.1119,-9.73334,-20.4813, 128.675, 96.7044, 31.9258,-0.0449404
+   1.338,-13.1216,-9.61171,-20.3565, 128.769,  96.842, 31.8829,-0.0445229
+   1.339,-13.1311,-9.52187,-20.1793, 128.863, 96.9801, 31.8385,-0.0442659
+    1.34,-13.1406,-9.47819,-19.9624, 128.956, 97.1205, 31.7912,-0.0441901
+   1.341,-13.1501,-9.48761,-19.7216, 129.049, 97.2637, 31.7409,-0.0443078
+   1.342,-13.1596,-9.54859,-19.4745, 129.143, 97.4095, 31.6884,-0.0446203
+   1.343,-13.1692,-9.65133, -19.239, 129.237, 97.5566, 31.6355,-0.045106
+   1.344,-13.1789,-9.77937,-19.0321, 129.333, 97.7038, 31.5837,-0.045709
+   1.345,-13.1887,-9.91222,-18.8689,  129.43, 97.8501, 31.5339,-0.0463377
+   1.346,-13.1987,-10.0286,-18.7612, 129.529, 97.9955, 31.4864,-0.0468794
+   1.347,-13.2088,  -10.11,-18.7167, 129.628, 98.1402, 31.4405,-0.0472281
+   1.348,-13.2189,-10.1433,-18.7385, 129.727, 98.2846, 31.3955,-0.0473133
+   1.349,-13.2291,-10.1233, -18.825, 129.827, 98.4291, 31.3506,-0.0471192
+    1.35,-13.2392,-10.0531,-18.9695, 129.925, 98.5736, 31.3051,-0.0466862
+   1.351,-13.2492, -9.9442,-19.1613, 130.023, 98.7182, 31.2587,-0.046095
+   1.352,-13.2591,-9.81387,-19.3862, 130.119, 98.8629, 31.2109,-0.0454442
+   1.353,-13.2688,-9.68302,-19.6274, 130.214, 99.0077, 31.1617,-0.0448302
+   1.354,-13.2784,-9.57258,-19.8672, 130.308, 99.1528,  31.111,-0.044337
+   1.355, -13.288,-9.50019,-20.0876, 130.401, 99.2982, 31.0591,-0.0440325
+   1.356,-13.2974, -9.4774,-20.2724, 130.494, 99.4432, 31.0071,-0.0439682
+   1.357,-13.3069,-9.50783, -20.408, 130.588, 99.5871, 30.9563,-0.0441717
+   1.358,-13.3164,-9.58656,-20.4842, 130.682, 99.7292, 30.9078,-0.0446348
+   1.359,-13.3261,-9.70098,-20.4957, 130.777, 99.8695,  30.862,-0.0453006
+    1.36,-13.3358,-9.83275,-20.4415, 130.873, 100.009, 30.8183,-0.0460619
+   1.361,-13.3457,-9.96078,-20.3261, 130.971, 100.149, 30.7752,-0.0467762
+   1.362,-13.3558,-10.0646,-20.1581,  131.07, 100.291,  30.731,-0.0472983
+   1.363,-13.3659,-10.1276,-19.9503, 131.169, 100.437, 30.6842,-0.0475191
+   1.364, -13.376,-10.1398,-19.7185, 131.269, 100.587, 30.6342,-0.0473966
+   1.365,-13.3862,-10.0992,-19.4801, 131.368, 100.739, 30.5819,-0.0469657
+   1.366,-13.3962,-10.0124,-19.2533, 131.466, 100.891, 30.5289,-0.0463248
+   1.367,-13.4062,-9.89329,-19.0551, 131.563,  101.04, 30.4769,-0.0456041
+   1.368, -13.416,-9.76094,-18.9005, 131.659, 101.187, 30.4271,-0.0449315
+   1.369,-13.4257,-9.63653,-18.8011, 131.753, 101.329, 30.3798,-0.0444077
+    1.37,-13.4353,-9.53995,-18.7644, 131.847, 101.468, 30.3343,-0.044096
+   1.371,-13.4448,-9.48664, -18.793,  131.94, 101.606, 30.2897,-0.0440251
+   1.372,-13.4543,-9.48509,-18.8847, 132.033, 101.744, 30.2448,-0.0441959
+   1.373,-13.4638, -9.5355,-19.0321, 132.126, 101.883,  30.199,-0.0445847
+   1.374,-13.4733,-9.62978, -19.224, 132.221, 102.024, 30.1518,-0.0451411
+   1.375, -13.483,-9.75282,-19.4456, 132.317, 102.167, 30.1033,-0.0457859
+   1.376,-13.4928,-9.88491,-19.6797, 132.414, 102.314, 30.0536,-0.0464164
+   1.377,-13.5028,-10.0049,-19.9082, 132.512, 102.462, 30.0028,-0.0469226
+   1.378,-13.5128,-10.0937,-20.1138, 132.611, 102.612, 29.9515,-0.047213
+   1.379, -13.523, -10.137,-20.2804,  132.71, 102.762, 29.9004,-0.0472388
+    1.38,-13.5331, -10.128,-20.3953, 132.809, 102.912, 29.8504,-0.0470067
+   1.381,-13.5432,-10.0681,-20.4498, 132.908, 103.059, 29.8024,-0.0465736
+   1.382,-13.5533,  -9.967,-20.4397, 133.006, 103.203, 29.7567,-0.0460265
+   1.383,-13.5632,-9.84085, -20.366, 133.103, 103.344, 29.7127,-0.0454564
+   1.384,-13.5729,-9.70986,-20.2346, 133.198, 103.484, 29.6691,-0.0449391
+   1.385,-13.5826,-9.59498,-20.0557, 133.292, 103.623, 29.6243,-0.0445289
+   1.386,-13.5921,-9.51458,-19.8436, 133.385, 103.764, 29.5768,-0.0442644
+   1.387,-13.6016,-9.48148,-19.6148, 133.478, 103.908, 29.5264,-0.0441769
+   1.388,-13.6111,-9.50095,-19.3872, 133.571, 104.053, 29.4738,-0.0442917
+   1.389,-13.6206,-9.56984,-19.1787, 133.665,   104.2, 29.4208,-0.0446194
+    1.39,-13.6302,-9.67709,-19.0057,  133.76, 104.346,  29.369,-0.0451391
+   1.391,  -13.64,-9.80552,-18.8816, 133.856, 104.491, 29.3199,-0.0457859
+   1.392,-13.6498,-9.93457,-18.8161, 133.954, 104.634, 29.2736,-0.0464531
+   1.393,-13.6598,-10.0436,-18.8143, 134.052, 104.776, 29.2292,-0.047012
+   1.394,-13.6699,-10.1152,-18.8761, 134.152, 104.919, 29.1853,-0.0473458
+   1.395,-13.6801,-10.1379,-18.9965, 134.251, 105.063, 29.1404,-0.0473823
+   1.396,-13.6902,-10.1082,-19.1659,  134.35,  105.21, 29.0936,-0.0471135
+   1.397,-13.7003,-10.0308,-19.3706, 134.449, 105.357,  29.045,-0.0465952
+   1.398,-13.7103,-9.91811,-19.5945, 134.546, 105.505, 28.9948,-0.0459279
+   1.399,-13.7201,-9.78823,-19.8195, 134.642, 105.653,  28.944,-0.0452294
+     1.4,-13.7298,-9.66193,-20.0279, 134.737, 105.799, 28.8931,-0.0446115
+   1.401,-13.7394,-9.55939,-20.2029, 134.831, 105.944, 28.8427,-0.0441643
+   1.402, -13.749,-9.49702,-20.3307, 134.924, 106.087, 28.7933,-0.0439515
+   1.403,-13.7584,-9.48475,-20.4011, 135.017, 106.228, 28.7451,-0.0440075
+   1.404,-13.7679, -9.5245,-20.4087,  135.11, 106.368, 28.6984,-0.0443333
+   1.405,-13.7775, -9.6099,-20.3529, 135.205, 106.507,  28.653,-0.0448894
+   1.406,-13.7871,-9.72724,-20.2384,   135.3, 106.646, 28.6084,-0.0455918
+   1.407,-13.7969,-9.85773,-20.0746, 135.397, 106.787, 28.5635,-0.0463191
+   1.408,-13.8069,-9.98049,-19.8747, 135.495, 106.931, 28.5171,-0.0469336
+   1.409,-13.8169,-10.0759,-19.6549, 135.593, 107.078, 28.4682,-0.0473144
+    1.41, -13.827,-10.1287,-19.4331, 135.693, 107.228,  28.417,-0.0473902
+   1.411,-13.8372,-10.1305,-19.2273, 135.792, 107.381, 28.3643,-0.0471582
+   1.412,-13.8473, -10.081, -19.054, 135.891, 107.532, 28.3119,-0.0466827
+   1.413,-13.8573,-9.98826,-18.9273, 135.989, 107.682, 28.2614,-0.0460713
+   1.414,-13.8673,-9.86703,-18.8574, 136.086, 107.827, 28.2139,-0.0454417
+   1.415,-13.8771,-9.73676,-18.8498, 136.181, 107.967, 28.1691,-0.0448923
+   1.416,-13.8867, -9.6183, -18.905, 136.276, 108.106, 28.1257,-0.0444869
+   1.417,-13.8963,-9.53059,-19.0184, 136.369, 108.243, 28.0818,-0.0442575
+   1.418,-13.9058,-9.48762,-19.1806, 136.462, 108.382,  28.036,-0.0442151
+   1.419,-13.9153,-9.49625,-19.3782, 136.555, 108.524, 27.9875,-0.0443606
+    1.42,-13.9248,-9.55506,-19.5949, 136.649, 108.668, 27.9367,-0.0446857
+   1.421,-13.9344, -9.6546,-19.8129, 136.744, 108.814, 27.8848,-0.0451642
+   1.422,-13.9441,-9.77892,-20.0143,  136.84, 108.961, 27.8331,-0.0457424
+   1.423,-13.9539,-9.90813,-20.1825, 136.937, 109.108, 27.7829,-0.0463366
+   1.424,-13.9639,-10.0216,-20.3038, 137.035, 109.254, 27.7344,-0.0468445
+   1.425, -13.974,-10.1011,-20.3682, 137.134,   109.4, 27.6875,-0.0471696
+   1.426,-13.9841, -10.134,-20.3705, 137.234, 109.545, 27.6417,-0.0472472
+   1.427,-13.9942, -10.115,-20.3107, 137.333,  109.69, 27.5962,-0.0470616
+   1.428,-14.0043,-10.0473,-20.1939, 137.432, 109.834, 27.5505,-0.0466486
+   1.429,-14.0143,-9.94168,-20.0299, 137.529, 109.979, 27.5041,-0.0460821
+    1.43,-14.0242,-9.81507,-19.8323, 137.625, 110.123, 27.4566,-0.0454541
+   1.431, -14.034,-9.68774,-19.6178,  137.72, 110.268, 27.4077,-0.0448569
+   1.432,-14.0436,-9.58005,-19.4042, 137.814, 110.413, 27.3573,-0.0443735
+   1.433,-14.0531,-9.50922,-19.2094, 137.908, 110.558,  27.306,-0.0440734
+   1.434,-14.0626,-9.48654,-19.0495, 138.001, 110.702, 27.2545,-0.04401
+   1.435,-14.0721,-9.51562,-18.9379, 138.094, 110.846, 27.2043,-0.0442122
+   1.436,-14.0816,-9.59176,-18.8838, 138.188, 110.987, 27.1562,-0.0446711
+   1.437,-14.0913,-9.70275,-18.8916, 138.283, 111.128, 27.1105,-0.0453281
+   1.438,-14.1011,-9.83082,-18.9605,  138.38, 111.267, 27.0665,-0.0460739
+   1.439,-14.1109,-9.95547,-19.0846, 138.478, 111.408, 27.0228,-0.0467658
+    1.44, -14.121,-10.0568,-19.2534, 138.576, 111.551, 26.9774,-0.047261
+   1.441,-14.1311,-10.1185,-19.4525, 138.675, 111.699, 26.9294,-0.0474561
+   1.442,-14.1412,-10.1309,-19.6651, 138.775, 111.849, 26.8785,-0.0473162
+   1.443,-14.1513,-10.0919,-19.8731, 138.874, 112.001, 26.8259,-0.0468835
+   1.444,-14.1614,-10.0079, -20.059, 138.972, 112.152, 26.7734,-0.0462604
+   1.445,-14.1713,-9.89227,-20.2071, 139.069, 112.301, 26.7227,-0.0455765
+   1.446,-14.1812,-9.76356,-20.3049, 139.165, 112.445, 26.6746,-0.0449533
+   1.447,-14.1909,-9.64237,-20.3442, 139.259, 112.586,  26.629,-0.0444798
+   1.448,-14.2005,-9.54808,-20.3218, 139.353, 112.724, 26.5847,-0.0442055
+   1.449,  -14.21,-9.49575,-20.2397, 139.446, 112.862, 26.5403,-0.0441473
+    1.45,-14.2194,-9.49371,-20.1051, 139.539, 113.001, 26.4944,-0.0442994
+   1.451, -14.229,-9.54226,-19.9295, 139.633, 113.142, 26.4465,-0.0446405
+   1.452,-14.2385,-9.63361,-19.7281, 139.727, 113.285, 26.3969,-0.0451313
+   1.453,-14.2482, -9.7531,-19.5181, 139.823, 113.431, 26.3463,-0.0457105
+   1.454, -14.258,-9.88161,-19.3175,  139.92, 113.578, 26.2955,-0.0462945
+   1.455, -14.268,-9.99858,-19.1435, 140.018, 113.726, 26.2451,-0.0467881
+   1.456, -14.278,-10.0853, -19.011, 140.117, 113.874, 26.1957,-0.0471045
+   1.457,-14.2882,-10.1279,-18.9313, 140.216, 114.022, 26.1475,-0.0471877
+   1.458,-14.2983,-10.1197,-18.9112, 140.316, 114.168, 26.1005,-0.0470268
+   1.459,-14.3084,-10.0619,-18.9521, 140.414, 114.313, 26.0546,-0.0466562
+    1.46,-14.3184,-9.96388,-19.0506, 140.512, 114.457, 26.0093,-0.046143
+   1.461,-14.3283, -9.8413, -19.198, 140.609, 114.599, 25.9639,-0.0455676
+   1.462,-14.3381, -9.7138,-19.3813, 140.704, 114.742, 25.9174,-0.0450083
+   1.463,-14.3477,-9.60178,-19.5847, 140.798, 114.885, 25.8689,-0.0445346
+   1.464,-14.3573,-9.52313,-19.7905, 140.892, 115.029, 25.8184,-0.0442076
+   1.465,-14.3668,-9.49042,-19.9809, 140.985, 115.174, 25.7665,-0.0440809
+   1.466,-14.3763,-9.50885,-20.1392, 141.078, 115.319, 25.7145,-0.0441941
+   1.467,-14.3858,-9.57543,-20.2519, 141.172, 115.463, 25.6641,-0.0445587
+   1.468,-14.3954,-9.67949,-20.3092, 141.267, 115.606, 25.6163,-0.045141
+   1.469,-14.4052,-9.80435,-20.3062, 141.363, 115.746, 25.5711,-0.0458535
+    1.47, -14.415,-9.93003,-20.2433, 141.461, 115.887, 25.5274,-0.046565
+   1.471, -14.425,-10.0364,-20.1261, 141.559, 116.028, 25.4834,-0.0471287
+   1.472,-14.4351,-10.1065, -19.965, 141.658, 116.173, 25.4375,-0.0474225
+   1.473,-14.4452,-10.1292,-19.7743, 141.758, 116.321, 25.3888,-0.0473848
+   1.474,-14.4554,-10.1007,-19.5706, 141.857, 116.472, 25.3376,-0.047031
+   1.475,-14.4654,-10.0258,-19.3719, 141.955, 116.623, 25.2852,-0.0464459
+   1.476,-14.4754,-9.91643,-19.1956, 142.052, 116.773, 25.2334,-0.0457551
+   1.477,-14.4853, -9.7901,-19.0573, 142.148,  116.92, 25.1836,-0.0450892
+   1.478, -14.495,-9.66704, -18.969, 142.243, 117.062, 25.1361,-0.044554
+   1.479,-14.5046,-9.56692,-18.9383, 142.337, 117.202, 25.0905,-0.0442168
+    1.48,-14.5141,-9.50576, -18.968,  142.43,  117.34, 25.0457,-0.0441074
+   1.481,-14.5236, -9.4933,-19.0552, 142.523, 117.479, 25.0004,-0.0442258
+   1.482,-14.5331, -9.5315,-19.1921, 142.617, 117.618, 24.9538,-0.0445499
+   1.483,-14.5427,-9.61422,-19.3664, 142.711,  117.76, 24.9057,-0.0450367
+   1.484,-14.5524, -9.7282,-19.5627, 142.807, 117.905, 24.8564,-0.0456208
+   1.485,-14.5621,-9.85519,-19.7635, 142.903, 118.051, 24.8062,-0.0462163
+   1.486,-14.5721,-9.97486,-19.9509, 143.001, 118.199, 24.7557,-0.046727
+   1.487,-14.5821,-10.0681,-20.1082,   143.1, 118.347, 24.7055,-0.0470654
+   1.488,-14.5922,  -10.12,-20.2216, 143.199, 118.496, 24.6561,-0.0471748
+   1.489,-14.6023,-10.1222,-20.2809, 143.298, 118.644, 24.6078,-0.0470424
+    1.49,-14.6124,-10.0746,-20.2811, 143.397,  118.79,  24.561,-0.0467011
+   1.491,-14.6225, -9.9846,-20.2222, 143.495, 118.934, 24.5155,-0.0462154
+   1.492,-14.6324,-9.86678,-20.1096, 143.592, 119.076, 24.4705,-0.0456629
+   1.493,-14.6422,-9.73995,-19.9535, 143.688, 119.217,  24.425,-0.0451179
+   1.494,-14.6519,-9.62441, -19.768, 143.782,  119.36, 24.3778,-0.0446447
+   1.495,-14.6615,-9.53863,-19.5698, 143.876, 119.503, 24.3283,-0.0442991
+   1.496, -14.671,-9.49632,-19.3767, 143.969, 119.648, 24.2769,-0.0441324
+   1.497,-14.6805, -9.5042,-19.2061, 144.062, 119.793, 24.2247,-0.0441873
+   1.498,  -14.69,-9.56099,-19.0733, 144.156, 119.938, 24.1733,-0.0444855
+   1.499,-14.6996,-9.65757,-18.9902, 144.251, 120.081, 24.1243,-0.0450087
+     1.5,-14.7093,-9.77847,-18.9641, 144.346, 120.223, 24.0781,-0.0456864
+   1.501,-14.7191,-9.90433,-18.9974, 144.444, 120.363, 24.0339,-0.0463986
+   1.502,-14.7291, -10.015,-19.0869, 144.542, 120.505, 23.9901,-0.0470008
+   1.503,-14.7392,-10.0928,-19.2243, 144.641, 120.648,  23.945,-0.047362
+   1.504,-14.7493,-10.1254,-19.3972,  144.74, 120.795, 23.8973,-0.0474031
+   1.505,-14.7594,-10.1074,-19.5897, 144.839, 120.945, 23.8469,-0.0471201
+   1.506,-14.7695,-10.0419,-19.7844, 144.938, 121.096,  23.795,-0.0465821
+   1.507,-14.7795,-9.93939,-19.9636, 145.035, 121.246,  23.743,-0.0459077
+   1.508,-14.7894,-9.81621, -20.111, 145.132, 121.394, 23.6926,-0.045229
+   1.509,-14.7991,-9.69212,-20.2132, 145.227, 121.538, 23.6444,-0.04466
+    1.51,-14.8088,-9.58697, -20.261, 145.321, 121.678, 23.5982,-0.0442779
+   1.511,-14.8183,-9.51756,-20.2501, 145.414, 121.817, 23.5531,-0.0441204
+   1.512,-14.8278,-9.49497,-20.1818, 145.507, 121.955, 23.5079,-0.0441932
+   1.513,-14.8373,-9.52278,-20.0623, 145.601, 122.095, 23.4616,-0.0444774
+   1.514,-14.8468,-9.59652,-19.9026, 145.695, 122.236, 23.4139,-0.0449332
+   1.515,-14.8565,-9.70435,-19.7176,  145.79,  122.38, 23.3648,-0.0454995
+   1.516,-14.8663,-9.82901,-19.5242, 145.886, 122.525, 23.3149,-0.0460943
+   1.517,-14.8761,-9.95055,-19.3401, 145.984, 122.673, 23.2645,-0.0466238
+   1.518,-14.8862,-10.0495,-19.1823, 146.083, 122.821, 23.2143,-0.0469991
+   1.519,-14.8962,-10.1101,-19.0653, 146.182,  122.97, 23.1648,-0.0471571
+    1.52,-14.9064,-10.1227,-18.9997, 146.281, 123.118, 23.1164,-0.0470759
+   1.521,-14.9165,-10.0852,-18.9914,  146.38, 123.264, 23.0693,-0.0467786
+   1.522,-14.9265,-10.0038,-19.0412, 146.478, 123.408, 23.0235,-0.0463225
+   1.523,-14.9365,-9.89136,-19.1443, 146.575, 123.551, 22.9784,-0.0457822
+   1.524,-14.9463,-9.76602, -19.291, 146.671, 123.693, 22.9328,-0.0452319
+   1.525, -14.956, -9.6478,-19.4678, 146.766, 123.835, 22.8857,-0.0447384
+   1.526,-14.9656, -9.5556,-19.6581, 146.859, 123.979, 22.8365,-0.0443604
+   1.527,-14.9751,-9.50416,-19.8443, 146.953, 124.123, 22.7854,-0.0441519
+   1.528,-14.9846,-9.50166,-20.0092, 147.046, 124.268, 22.7334,-0.04416
+   1.529,-14.9941,-9.54849,-20.1374,  147.14, 124.413, 22.6821,-0.0444121
+    1.53,-15.0037,-9.63711,-20.2171, 147.234, 124.556,  22.633,-0.044898
+   1.531,-15.0134,-9.75333,-20.2411,  147.33, 124.698, 22.5866,-0.0455554
+   1.532,-15.0232,-9.87854, -20.207, 147.427, 124.838, 22.5422,-0.0462704
+   1.533,-15.0332, -9.9927,-20.1184, 147.525, 124.979, 22.4983,-0.0468995
+   1.534,-15.0432,-10.0776,-19.9835, 147.624, 125.123, 22.4532,-0.0473063
+   1.535,-15.0533,-10.1196, -19.815, 147.723,  125.27, 22.4054,-0.0474016
+   1.536,-15.0635,-10.1121,-19.6288, 147.822,  125.42, 22.3551,-0.0471702
+   1.537,-15.0736,-10.0562,-19.4423, 147.921, 125.571,  22.303,-0.046672
+   1.538,-15.0836,-9.96103, -19.273, 148.018, 125.721, 22.2511,-0.0460211
+   1.539,-15.0935,-9.84175,-19.1368, 148.115, 125.869, 22.2008,-0.0453492
+    1.54,-15.1033,-9.71747,-19.0462,  148.21, 126.013, 22.1528,-0.0447723
+   1.541,-15.1129,-9.60808,-19.0099, 148.305, 126.153,  22.107,-0.0443692
+   1.542,-15.1225,-9.53104, -19.031, 148.398, 126.292, 22.0621,-0.0441786
+   1.543, -15.132,-9.49868,-19.1075, 148.491,  126.43,  22.017,-0.0442068
+   1.544,-15.1415,-9.51614,-19.2321, 148.585,  126.57, 21.9704,-0.044438
+   1.545, -15.151,-9.58058,-19.3929, 148.679, 126.712, 21.9222,-0.0448401
+   1.546,-15.1606,-9.68168,-19.5746, 148.774, 126.856, 21.8725,-0.0453634
+   1.547,-15.1704,-9.80324,-19.7601,  148.87, 127.002, 21.8221,-0.0459383
+   1.548,-15.1802, -9.9258,-19.9319, 148.967, 127.149, 21.7718,-0.0464795
+   1.549,-15.1902,-10.0298,-20.0736, 149.065, 127.297, 21.7221,-0.0468984
+    1.55,-15.2003,-10.0985,-20.1719, 149.165, 127.444, 21.6733,-0.0471229
+   1.551,-15.2104,-10.1211,-20.2176, 149.264, 127.591, 21.6256,-0.047115
+   1.552,-15.2205,-10.0938,-20.2065, 149.363, 127.737,  21.579,-0.0468797
+   1.553,-15.2306,-10.0212,-20.1397, 149.461, 127.882, 21.5331,-0.0464607
+   1.554,-15.2406,-9.91491,-20.0237, 149.558, 128.025, 21.4874,-0.0459267
+   1.555,-15.2504,-9.79186,-19.8696, 149.655, 128.168,  21.441,-0.0453552
+   1.556,-15.2602,-9.67179,-19.6922, 149.749, 128.311, 21.3931,-0.0448221
+   1.557,-15.2698, -9.5739,-19.5084, 149.843, 128.455, 21.3435,-0.0443973
+   1.558,-15.2793,-9.51385,-19.3358, 149.937,   128.6, 21.2924,-0.044144
+   1.559,-15.2888, -9.5012,-19.1908,  150.03, 128.745,  21.241,-0.0441147
+    1.56,-15.2983,-9.53795,-19.0872, 150.123, 128.888, 21.1906,-0.0443392
+   1.561,-15.3079,-9.61819,-19.0349, 150.218, 129.031, 21.1422,-0.0448078
+   1.562,-15.3176,-9.72906,-19.0388, 150.313, 129.171, 21.0963,-0.0454581
+   1.563,-15.3273,-9.85281,-19.0983,  150.41, 129.312,  21.052,-0.0461767
+   1.564,-15.3373,-9.96963,-19.2077, 150.508, 129.453, 21.0076,-0.0468197
+   1.565,-15.3473,-10.0608,-19.3564, 150.606, 129.597, 20.9617,-0.04725
+   1.566,-15.3574,-10.1119,  -19.53, 150.706, 129.745, 20.9131,-0.0473763
+   1.567,-15.3675,-10.1146,-19.7118, 150.805, 129.896,  20.862,-0.0471804
+   1.568,-15.3776,-10.0686,-19.8842, 150.904, 130.047, 20.8097,-0.0467192
+   1.569,-15.3876,-9.98125,-20.0307, 151.001, 130.197, 20.7581,-0.0461032
+    1.57,-15.3976,-9.86658,-20.1371, 151.098, 130.344, 20.7086,-0.04546
+   1.571,-15.4074,-9.74293,-20.1934, 151.194, 130.487, 20.6617,-0.0448998
+   1.572,-15.4171,-9.63009,-20.1942, 151.288, 130.627, 20.6168,-0.0444951
+   1.573,-15.4266, -9.5461,-20.1394, 151.382, 130.765, 20.5725,-0.0442789
+   1.574,-15.4361,-9.50437,-20.0346, 151.475, 130.904,  20.527,-0.0442559
+   1.575,-15.4456,-9.51155,-19.8899, 151.569, 131.045, 20.4796,-0.0444166
+   1.576,-15.4552,-9.56647,-19.7195, 151.662, 131.188,   20.43,-0.0447427
+   1.577,-15.4648, -9.6603,-19.5399, 151.757, 131.333, 20.3791,-0.0452039
+   1.578,-15.4745,-9.77802,-19.3685, 151.853, 131.479, 20.3281,-0.0457498
+   1.579,-15.4843,-9.90078,-19.2221,  151.95, 131.626, 20.2781,-0.0463062
+    1.58,-15.4943,-10.0089,-19.1148, 152.048, 131.772, 20.2295,-0.0467829
+   1.581,-15.5044,-10.0852,-19.0569, 152.147, 131.918, 20.1823,-0.0470925
+   1.582,-15.5145,-10.1174, -19.054, 152.247, 132.063,  20.136,-0.0471733
+   1.583,-15.5246,-10.1004,-19.1063, 152.346, 132.209,   20.09,-0.0470057
+   1.584,-15.5347, -10.037,-19.2085, 152.444, 132.354, 20.0437,-0.0466173
+   1.585,-15.5447, -9.9373,-19.3507, 152.542, 132.499, 19.9966,-0.0460738
+   1.586,-15.5545, -9.8173,-19.5187, 152.638, 132.644, 19.9485,-0.0454627
+   1.587,-15.5643,-9.69621,-19.6962, 152.733, 132.789, 19.8992,-0.0448775
+   1.588,-15.5739, -9.5934,-19.8658, 152.827, 132.934,  19.849,-0.0444054
+   1.589,-15.5835, -9.5253,-20.0108, 152.921, 133.078, 19.7985,-0.0441204
+    1.59, -15.593,-9.50277,-20.1171, 153.014, 133.221, 19.7485,-0.044076
+   1.591,-15.6025,-9.52941,-20.1744, 153.107, 133.363, 19.6998,-0.0442957
+   1.592, -15.612,-9.60091,-20.1771, 153.201, 133.504, 19.6528,-0.0447604
+   1.593,-15.6217, -9.7058, -20.125, 153.297, 133.644, 19.6074,-0.0454016
+   1.594,-15.6315, -9.8273,-20.0234, 153.393, 133.784, 19.5625,-0.0461056
+   1.595,-15.6413,-9.94596,-19.8824, 153.491, 133.927, 19.5169,-0.0467347
+   1.596,-15.6513,-10.0428,-19.7159, 153.589, 134.073, 19.4693,-0.0471609
+   1.597,-15.6614,-10.1023,-19.5405, 153.688, 134.222, 19.4193,-0.0473017
+   1.598,-15.6715,-10.1151,-19.3733, 153.787, 134.373, 19.3676,-0.0471423
+   1.599,-15.6817, -10.079,-19.2309, 153.886, 134.524, 19.3157,-0.0467362
+     1.6,-15.6917,-9.99994,-19.1274, 153.984, 134.673, 19.2653,-0.0461837
+   1.601,-15.7017,-9.89054,-19.0729, 154.081, 134.818, 19.2175,-0.0455973
+   1.602,-15.7115,-9.76833,-19.0726, 154.177,  134.96, 19.1722,-0.0450712
+   1.603,-15.7212,-9.65286,-19.1266, 154.272, 135.099, 19.1281,-0.044665
+   1.604,-15.7308,-9.56259,-19.2293, 154.366, 135.238, 19.0835,-0.0444068
+   1.605,-15.7403,-9.51196,-19.3705, 154.459, 135.378, 19.0368,-0.0443071
+   1.606,-15.7498,-9.50902,-19.5361, 154.552, 135.521, 18.9874,-0.0443727
+   1.607,-15.7593,-9.55423,-19.7096, 154.646, 135.665, 18.9361,-0.0446091
+   1.608,-15.7689,-9.64033,-19.8737, 154.741, 135.811, 18.8842,-0.0450109
+   1.609,-15.7786,-9.75351,-20.0121, 154.836, 135.957, 18.8335,-0.0455451
+    1.61,-15.7884,-9.87565,-20.1111, 154.933, 136.102, 18.7848,-0.0461413
+   1.611,-15.7984,-9.98722, -20.161, 155.031, 136.246, 18.7384,-0.0466974
+   1.612,-15.8084,-10.0704,-20.1567,  155.13,  136.39, 18.6932,-0.0471012
+   1.613,-15.8185,-10.1118,-20.0989, 155.229, 136.534, 18.6479,-0.0472623
+   1.614,-15.8286, -10.105,-19.9934, 155.328,  136.68, 18.6016,-0.0471392
+   1.615,-15.8387, -10.051,-19.8509, 155.427, 136.827, 18.5536,-0.046752
+   1.616,-15.8487,-9.95842,-19.6856, 155.525, 136.974, 18.5042,-0.0461752
+   1.617,-15.8586, -9.8422,-19.5142, 155.621, 137.122,  18.454,-0.0455169
+   1.618,-15.8684,-9.72091,-19.3539, 155.717, 137.268, 18.4037,-0.0448926
+   1.619,-15.8781,-9.61394,-19.2207, 155.811, 137.412, 18.3541,-0.0444038
+    1.62,-15.8876, -9.5384,-19.1279, 155.904, 137.555, 18.3055,-0.0441243
+   1.621,-15.8972,-9.50635,-19.0847, 155.998, 137.696, 18.2579,-0.0440949
+   1.622,-15.9067,-9.52288,-19.0954, 156.091, 137.836, 18.2112,-0.0443202
+   1.623,-15.9162,-9.58533,-19.1589, 156.185, 137.975, 18.1651,-0.0447667
+   1.624,-15.9258,-9.68368,-19.2686,  156.28, 138.116, 18.1189,-0.045364
+   1.625,-15.9356,-9.80217,-19.4134, 156.376, 138.258, 18.0721,-0.0460104
+   1.626,-15.9454,-9.92185,-19.5786, 156.474, 138.403,  18.024,-0.0465907
+   1.627,-15.9554,-10.0236,-19.7476, 156.572, 138.551, 17.9744,-0.0469999
+   1.628,-15.9655, -10.091,-19.9032, 156.671,   138.7, 17.9237,-0.0471692
+   1.629,-15.9756,-10.1135,-20.0299,  156.77,  138.85, 17.8728,-0.0470823
+    1.63,-15.9857,-10.0875,-20.1148, 156.869, 138.999,  17.823,-0.0467751
+   1.631,-15.9958, -10.017,-20.1494, 156.967, 139.146,  17.775,-0.0463202
+   1.632,-16.0057,-9.91352,-20.1304, 157.065,  139.29, 17.7291,-0.0458013
+   1.633,-16.0156,-9.79352,-20.0597, 157.161, 139.431, 17.6844,-0.0452921
+   1.634,-16.0253,-9.67623,-19.9446, 157.256, 139.571, 17.6395,-0.0448468
+   1.635,-16.0349, -9.5804,-19.7969,  157.35, 139.712, 17.5929,-0.0445041
+   1.636,-16.0445,-9.52136,-19.6316, 157.443, 139.855, 17.5438,-0.0442982
+   1.637, -16.054,-9.50853,-19.4656, 157.536,     140, 17.4925,-0.044265
+   1.638,-16.0635,-9.54392,-19.3157,  157.63, 140.145, 17.4405,-0.0444364
+   1.639,-16.0731,-9.62185,-19.1971, 157.724,  140.29, 17.3894,-0.0448218
+    1.64,-16.0828,-9.72983,-19.1219,  157.82, 140.434, 17.3407,-0.0453885
+   1.641,-16.0925,-9.85057,-19.0976, 157.916, 140.576, 17.2946,-0.0460511
+   1.642,-16.1025,-9.96474,-19.1266, 158.014, 140.717, 17.2502,-0.0466833
+   1.643,-16.1125,-10.0541,-19.2059, 158.113,  140.86, 17.2057,-0.047148
+   1.644,-16.1226,-10.1043,-19.3273, 158.212, 141.005, 17.1596,-0.0473382
+   1.645,-16.1327,-10.1075,-19.4782, 158.311, 141.153,  17.111,-0.04721
+   1.646,-16.1428, -10.063,-19.6433,  158.41, 141.303, 17.0603,-0.0467957
+   1.647,-16.1528,-9.97816,-19.8055, 158.508, 141.453, 17.0087,-0.0461911
+   1.648,-16.1627,-9.86642,-19.9484, 158.604, 141.601, 16.9578,-0.0455238
+   1.649,-16.1725,-9.74573,-20.0572,   158.7, 141.746, 16.9087,-0.0449184
+    1.65,-16.1822,-9.63539, -20.121, 158.795, 141.889, 16.8616,-0.0444684
+   1.651,-16.1918,-9.55304,-20.1332, 158.888, 142.028, 16.8159,-0.0442267
+   1.652,-16.2013,-9.51185,-20.0926, 158.982, 142.167, 16.7704,-0.0442079
+   1.653,-16.2108,-9.51837,-20.0037, 159.075, 142.306, 16.7242,-0.044399
+   1.654,-16.2204,-9.57154,-19.8755, 159.169, 142.447, 16.6767,-0.0447672
+   1.655,  -16.23,-9.66281,-19.7214, 159.264, 142.591, 16.6277,-0.0452625
+   1.656,-16.2397,-9.77757,-19.5572,  159.36, 142.736, 16.5779,-0.0458186
+   1.657,-16.2495,-9.89745,-19.3999, 159.457, 142.883, 16.5278,-0.0463554
+   1.658,-16.2595,-10.0033,-19.2657, 159.555,  143.03,  16.478,-0.0467892
+   1.659,-16.2695,-10.0781,-19.1684, 159.654, 143.178, 16.4291,-0.0470485
+    1.66,-16.2796,  -10.11,-19.1179, 159.753, 143.325, 16.3812,-0.0470905
+   1.661,-16.2898,-10.0939,-19.1194, 159.852, 143.471, 16.3343,-0.0469105
+   1.662,-16.2998,-10.0324,-19.1726,  159.95, 143.616,  16.288,-0.0465407
+   1.663,-16.3098,-9.93538, -19.272, 160.048,  143.76, 16.2419,-0.0460405
+   1.664,-16.3197,-9.81834,-19.4071, 160.144, 143.903, 16.1953,-0.0454826
+   1.665,-16.3295,-9.70004, -19.564, 160.239, 144.047, 16.1474,-0.0449429
+   1.666,-16.3391,-9.59939,-19.7262, 160.333, 144.191,  16.098,-0.0444948
+   1.667,-16.3487, -9.5325,-19.8771, 160.427, 144.335, 16.0474,-0.0442064
+   1.668,-16.3582,-9.51003,-20.0008,  160.52,  144.48, 15.9965,-0.044135
+   1.669,-16.3677,-9.53555,-20.0848, 160.614, 144.623, 15.9466,-0.0443149
+    1.67,-16.3772,-9.60496,-20.1202, 160.708, 144.765, 15.8985,-0.0447409
+   1.671,-16.3869,-9.70713,-20.1036, 160.803, 144.905, 15.8525,-0.0453557
+   1.672,-16.3967,-9.82568,-20.0366,   160.9, 145.046, 15.8077,-0.0460512
+   1.673,-16.4065,-9.94166,-19.9265, 160.997, 145.188, 15.7627,-0.0466881
+   1.674,-16.4165,-10.0365,-19.7847, 161.096, 145.332,  15.716,-0.047132
+   1.675,-16.4266,-10.0951,-19.6261, 161.195,  145.48, 15.6669,-0.0472915
+   1.676,-16.4367, -10.108,-19.4673, 161.294, 145.631, 15.6157,-0.0471449
+   1.677,-16.4468,-10.0733,-19.3248, 161.393, 145.782, 15.5638,-0.046743
+   1.678,-16.4569,-9.99642,-19.2134, 161.491, 145.932, 15.5129,-0.0461876
+   1.679,-16.4668,-9.88982,-19.1448, 161.588, 146.078, 15.4644,-0.0455965
+    1.68,-16.4767,-9.77051,-19.1261, 161.684,  146.22, 15.4183,-0.0450689
+   1.681,-16.4864,-9.65759,-19.1591, 161.778,  146.36, 15.3739,-0.0446678
+   1.682, -16.496,-9.56911,-19.2403, 161.872, 146.499, 15.3293,-0.0444203
+   1.683,-16.5055,-9.51922,-19.3611, 161.966, 146.638, 15.2829,-0.044333
+   1.684, -16.515,-9.51587,-19.5087, 162.059,  146.78, 15.2341,-0.0444069
+   1.685,-16.5245,-9.55957,-19.6676, 162.153, 146.925, 15.1832,-0.0446432
+   1.686,-16.5341, -9.6433,-19.8212, 162.247, 147.071, 15.1316,-0.0450348
+   1.687,-16.5438,-9.75364,-19.9532, 162.343, 147.217, 15.0809,-0.0455512
+   1.688,-16.5536,-9.87294,-20.0499,  162.44, 147.362, 15.0321,-0.0461273
+   1.689,-16.5636,-9.98209,-20.1011, 162.538, 147.506, 14.9854,-0.0466665
+    1.69,-16.5736,-10.0637,-20.1016, 162.636,  147.65, 14.9399,-0.0470609
+   1.691,-16.5837,-10.1046,-20.0514, 162.736, 147.794, 14.8945,-0.0472217
+   1.692,-16.5938,-10.0984,-19.9559, 162.835,  147.94,  14.848,-0.0471057
+   1.693,-16.6039,-10.0461,-19.8251, 162.933, 148.086,    14.8,-0.0467301
+   1.694,-16.6139,-9.95601,-19.6731, 163.031, 148.234, 14.7506,-0.0461664
+   1.695,-16.6238,-9.84265,-19.5158, 163.127, 148.381, 14.7005,-0.0455211
+   1.696,-16.6336,-9.72414,-19.3699, 163.223, 148.528, 14.6504,-0.0449093
+   1.697,-16.6432,-9.61942,-19.2508, 163.317, 148.672,  14.601,-0.0444324
+   1.698,-16.6528,-9.54526, -19.171, 163.411, 148.814, 14.5526,-0.0441632
+   1.699,-16.6623,-9.51348,-19.1389, 163.504, 148.955, 14.5053,-0.0441398
+     1.7,-16.6718,-9.52915,-19.1579, 163.598, 149.095, 14.4587,-0.0443634
+   1.701,-16.6814,-9.58974,-19.2257, 163.692, 149.235, 14.4124,-0.0447982
+   1.702, -16.691,-9.68552,-19.3352, 163.787, 149.376, 14.3658,-0.0453738
+   1.703,-16.7008,-9.80115,-19.4747, 163.883, 149.518, 14.3184,-0.0459928
+   1.704,-16.7106,-9.91814,-19.6292,  163.98, 149.664, 14.2699,-0.0465472
+   1.705,-16.7206,-10.0178,-19.7824, 164.078, 149.811, 14.2201,-0.0469405
+   1.706,-16.7307,-10.0841, -19.918, 164.177, 149.961, 14.1697,-0.0471098
+   1.707,-16.7408,-10.1065,-20.0215, 164.277,  150.11, 14.1195,-0.0470394
+   1.708,-16.7509,-10.0815,-20.0821, 164.375, 150.258, 14.0704,-0.0467604
+   1.709,-16.7609,-10.0131,-20.0934, 164.474, 150.404,  14.023,-0.0463356
+    1.71,-16.7709,-9.91226,-20.0542, 164.571, 150.548, 13.9772,-0.0458387
+   1.711,-16.7808, -9.7951,-19.9688, 164.667,  150.69, 13.9322,-0.0453365
+   1.712,-16.7905,-9.68039,-19.8464, 164.762, 150.831, 13.8864,-0.0448824
+   1.713,-16.8001,-9.58648,-19.7001, 164.856, 150.973, 13.8388,-0.0445208
+   1.714,-16.8097,-9.52838,-19.5457, 164.949, 151.116,  13.789,-0.0442955
+   1.715,-16.8192,-9.51535,-19.3995, 165.043, 151.261, 13.7376,-0.0442515
+   1.716,-16.8287,-9.54947,-19.2773, 165.137, 151.406, 13.6861,-0.0444255
+   1.717,-16.8383,-9.62524, -19.192, 165.231,  151.55, 13.6361,-0.0448249
+   1.718,-16.8479,-9.73052,-19.1527, 165.326, 151.692, 13.5886,-0.0454088
+   1.719,-16.8577,-9.84845,-19.1636, 165.423, 151.834, 13.5433,-0.0460814
+    1.72,-16.8676,-9.96016,-19.2233, 165.521, 151.975, 13.4989,-0.0467082
+   1.721,-16.8777,-10.0478,-19.3254, 165.619, 152.118, 13.4537,-0.0471503
+   1.722,-16.8877,-10.0973,-19.4589, 165.718, 152.265, 13.4063,-0.0473072
+   1.723,-16.8979,-10.1009,-19.6094, 165.817, 152.414, 13.3564,-0.0471478
+   1.724,-16.9079,-10.0579,-19.7606, 165.916, 152.564, 13.3049,-0.0467183
+   1.725, -16.918, -9.9753,-19.8964, 166.014, 152.714, 13.2533,-0.0461238
+   1.726,-16.9279, -9.8663,-20.0022, 166.111, 152.862, 13.2034,-0.0454926
+   1.727,-16.9377,-9.74836,-20.0666, 166.206, 153.006, 13.1557,-0.044939
+   1.728,-16.9474,-9.64035,-20.0827, 166.301, 153.146, 13.1101,-0.0445395
+   1.729, -16.957,-9.55953, -20.049, 166.395, 153.285, 13.0652,-0.0443284
+    1.73,-16.9665,-9.51883,-19.9691, 166.488, 153.424, 13.0196,-0.0443081
+   1.731, -16.976,-9.52472,-19.8518, 166.582, 153.565, 12.9722,-0.0444645
+   1.732,-16.9856,-9.57624,-19.7097, 166.675, 153.708, 12.9229,-0.0447763
+   1.733,-16.9952,-9.66512,-19.5583,  166.77, 153.853, 12.8724,-0.0452138
+   1.734,-17.0049,-9.77713,-19.4139, 166.866, 153.999, 12.8218,-0.0457314
+   1.735,-17.0147,-9.89432,-19.2921, 166.963, 154.145,  12.772,-0.0462627
+   1.736,-17.0247,-9.99797, -19.206, 167.061, 154.291, 12.7238,-0.0467247
+   1.737,-17.0347,-10.0715, -19.165,  167.16, 154.436, 12.6768,-0.0470333
+   1.738,-17.0448,-10.1031,-19.1732, 167.259, 154.582, 12.6306,-0.0471244
+   1.739,-17.0549,-10.0879,-19.2299, 167.358, 154.727, 12.5843,-0.0469726
+    1.74, -17.065,-10.0282,-19.3287, 167.457, 154.873, 12.5374,-0.0465989
+   1.741, -17.075,-9.93362,-19.4589, 167.554, 155.018, 12.4895,-0.0460654
+   1.742,-17.0849,-9.81934,-19.6062,  167.65, 155.164, 12.4407,-0.0454614
+   1.743,-17.0946,-9.70363,-19.7547, 167.746,  155.31, 12.3911,-0.0448851
+   1.744,-17.1043,-9.60501,-19.8882,  167.84, 155.454, 12.3412,-0.0444292
+   1.745,-17.1138,-9.53923,-19.9923, 167.933, 155.598, 12.2916,-0.0441686
+   1.746,-17.1233,-9.51679,-20.0557, 168.027,  155.74, 12.2429,-0.0441509
+   1.747,-17.1329,-9.54128,-20.0715,  168.12, 155.881, 12.1953,-0.0443881
+   1.748,-17.1424,-9.60873,-20.0381, 168.215, 156.021, 12.1488,-0.0448489
+   1.749,-17.1521,-9.70833,-19.9593,  168.31, 156.161,  12.103,-0.0454576
+    1.75,-17.1618,-9.82415,-19.8436, 168.406, 156.303, 12.0568,-0.0461038
+   1.751,-17.1717,-9.93763,-19.7039, 168.504, 156.448, 12.0094,-0.0466645
+   1.752,-17.1817,-10.0306,-19.5553, 168.602, 156.595, 11.9603,-0.0470338
+   1.753,-17.1918,-10.0883,-19.4141, 168.701, 156.744, 11.9098,-0.0471498
+   1.754,-17.2019,-10.1014,-19.2958,   168.8, 156.894, 11.8588,-0.0470096
+   1.755, -17.212,-10.0679,-19.2131, 168.899, 157.044, 11.8086,-0.0466633
+   1.756, -17.222,-9.99316,-19.1751, 168.997,  157.19, 11.7604,-0.0461925
+   1.757, -17.232,-9.88916,-19.1858, 169.094, 157.334, 11.7143,-0.0456828
+   1.758,-17.2418,-9.77257,-19.2441,  169.19, 157.475, 11.6694,-0.0452028
+   1.759,-17.2515,-9.66202,-19.3433, 169.285, 157.615, 11.6244,-0.0447979
+    1.76,-17.2611,-9.57521,-19.4727, 169.379, 157.756, 11.5776,-0.0444986
+   1.761,-17.2707,-9.52601,-19.6179, 169.472, 157.899, 11.5284,-0.0443338
+   1.762,-17.2802,-9.52225, -19.763, 169.565, 158.044, 11.4772,-0.0443371
+   1.763,-17.2897,-9.56453,-19.8921, 169.659, 158.189, 11.4255,-0.0445383
+   1.764,-17.2993,-9.64605, -19.991, 169.754, 158.334, 11.3749,-0.0449436
+   1.765, -17.309,-9.75374, -20.049,  169.85, 158.477, 11.3267,-0.0455147
+   1.766,-17.3188,-9.87037,-20.0597, 169.946, 158.619, 11.2809,-0.0461605
+   1.767,-17.3288,-9.97728, -20.022, 170.044, 158.761, 11.2364,-0.0467523
+   1.768,-17.3388,-10.0574,-19.9401, 170.143, 158.904, 11.1914,-0.0471571
+   1.769,-17.3489,-10.0979,-19.8232, 170.242,  159.05, 11.1445,-0.0472792
+    1.77, -17.359,-10.0923,-19.6842, 170.341, 159.199, 11.0951,-0.0470909
+   1.771,-17.3691,-10.0415,-19.5384,  170.44, 159.349, 11.0441,-0.0466404
+   1.772,-17.3791,-9.95379, -19.402, 170.537, 159.498, 10.9927,-0.0460333
+   1.773, -17.389, -9.8431,-19.2899, 170.634, 159.646, 10.9425,-0.0453986
+   1.774,-17.3987,-9.72717,-19.2145, 170.729,  159.79, 10.8944,-0.0448515
+   1.775,-17.4084,-9.62456, -19.184, 170.824, 159.931, 10.8482,-0.0444704
+   1.776, -17.418,-9.55168,-19.2017, 170.917,  160.07, 10.8029,-0.0442905
+   1.777,-17.4275,-9.52015,-19.2657, 171.011, 160.209, 10.7572,-0.044313
+   1.778, -17.437,  -9.535,-19.3687, 171.104,  160.35, 10.7101,-0.0445183
+   1.779,-17.4466,-9.59383,-19.4992, 171.198, 160.492, 10.6613,-0.0448754
+    1.78,-17.4562,-9.68721,-19.6429, 171.293, 160.637, 10.6113,-0.0453429
+   1.781, -17.466,-9.80017,-19.7837, 171.389, 160.783,  10.561,-0.0458657
+   1.782,-17.4758,-9.91465, -19.906, 171.487, 160.929, 10.5113,-0.0463736
+   1.783,-17.4858,-10.0123,-19.9964, 171.585, 161.076, 10.4626,-0.0467877
+   1.784,-17.4958,-10.0776,-20.0448, 171.684, 161.222, 10.4152,-0.0470356
+   1.785,-17.5059,   -10.1, -20.046, 171.783, 161.367, 10.3685,-0.047068
+   1.786, -17.516, -10.076,-19.9998, 171.882, 161.513, 10.3221,-0.0468731
+   1.787,-17.5261,-10.0095,-19.9116,  171.98, 161.658, 10.2753,-0.0464791
+   1.788,-17.5361, -9.9111,-19.7912, 172.077, 161.803, 10.2278,-0.0459485
+   1.789,-17.5459, -9.7966,-19.6519, 172.173, 161.949, 10.1794,-0.0453651
+    1.79,-17.5557, -9.6843,-19.5095, 172.268, 162.093,   10.13,-0.0448197
+   1.791,-17.5653,-9.59217,-19.3796, 172.362, 162.238, 10.0801,-0.0443989
+   1.792,-17.5748,-9.53494,-19.2768, 172.456, 162.381, 10.0303,-0.0441741
+   1.793,-17.5844,-9.52173,-19.2125, 172.549, 162.524, 9.98131,-0.0441917
+   1.794,-17.5939,-9.55465,-19.1937, 172.643, 162.665, 9.93353,-0.0444616
+   1.795,-17.6035,-9.62839,-19.2226, 172.738, 162.806, 9.88703,-0.0449485
+   1.796,-17.6131,-9.73114,-19.2957, 172.833, 162.946, 9.84125,-0.0455706
+   1.797,-17.6229,-9.84644,-19.4048,  172.93, 163.088,  9.7952,-0.0462117
+   1.798,-17.6328,-9.95586,-19.5377, 173.027, 163.233, 9.74789,-0.0467464
+   1.799,-17.6428,-10.0419,-19.6796, 173.126,  163.38, 9.69878,-0.0470723
+     1.8,-17.6529,-10.0908,-19.8145, 173.225, 163.529, 9.64817,-0.0471368
+   1.801, -17.663,-10.0947,-19.9273, 173.324,  163.68, 9.59714,-0.0469483
+   1.802,-17.6731,-10.0531,-20.0055, 173.422, 163.829, 9.54706,-0.0465675
+   1.803,-17.6831,-9.97265,-20.0404,  173.52, 163.975, 9.49897,-0.0460816
+   1.804,-17.6931,-9.86622,-20.0281, 173.617, 164.118, 9.45297,-0.0455762
+   1.805,-17.7029,-9.75085,-19.9701, 173.713, 164.259, 9.40814,-0.0451151
+   1.806,-17.7126,-9.64501,-19.8729, 173.807,   164.4, 9.36293,-0.0447383
+   1.807,-17.7222,-9.56562,-19.7476, 173.901, 164.541, 9.31589,-0.0444719
+   1.808,-17.7317,-9.52536,-19.6083, 173.995, 164.684, 9.26643,-0.0443429
+   1.809,-17.7412,-9.53065,-19.4706, 174.088, 164.829, 9.21516,-0.0443833
+    1.81,-17.7508,-9.58063,-19.3499, 174.182, 164.974, 9.16359,-0.04462
+   1.811,-17.7604,-9.66726,-19.2599, 174.277, 165.118,  9.1134,-0.0450534
+   1.812,-17.7701,-9.77668,-19.2105, 174.373, 165.262, 9.06559,-0.0456371
+   1.813,-17.7799,-9.89137,-19.2074,  174.47, 165.404, 9.02002,-0.0462736
+   1.814,-17.7899,-9.99298,-19.2506, 174.568, 165.546, 8.97541,-0.0468317
+   1.815,-17.7999,-10.0653,-19.3354, 174.667, 165.689, 8.93007,-0.0471837
+   1.816,  -17.81,-10.0967,-19.4521, 174.766, 165.836, 8.88267,-0.0472451
+   1.817,-17.8201,-10.0822,-19.5874, 174.865, 165.985, 8.83296,-0.0470028
+   1.818,-17.8302,-10.0242,-19.7261, 174.963, 166.135, 8.78177,-0.046518
+   1.819,-17.8401,-9.93199,-19.8525,  175.06, 166.284, 8.73063,-0.0459032
+    1.82,  -17.85, -9.8203,-19.9525, 175.157,  166.43, 8.68093,-0.0452864
+   1.821,-17.8598,-9.70702,-20.0147, 175.252, 166.574, 8.63332,-0.0447759
+   1.822,-17.8694,-9.61028,-20.0321, 175.346, 166.714, 8.58743,-0.0444396
+   1.823, -17.879,-9.54553, -20.003,  175.44, 166.853,  8.5421,-0.0443033
+   1.824,-17.8885,-9.52313,-19.9306, 175.533, 166.993, 8.49605,-0.0443616
+   1.825,-17.8981,-9.54662,-19.8232, 175.627, 167.134, 8.44843,-0.0445923
+   1.826,-17.9076,-9.61223, -19.693, 175.721, 167.277, 8.39918,-0.0449641
+   1.827,-17.9173,-9.70944,-19.5549, 175.816, 167.422, 8.34896,-0.0454363
+   1.828, -17.927,-9.82268,-19.4244, 175.913, 167.568, 8.29874,-0.0459539
+   1.829,-17.9369,-9.93383,-19.3164,  176.01, 167.714, 8.24938,-0.0464465
+    1.83,-17.9469,-10.0251, -19.243, 176.109,  167.86, 8.20126,-0.0468355
+   1.831, -17.957,-10.0819,-19.2126, 176.207, 168.006, 8.15424,-0.0470496
+   1.832,-17.9671,-10.0952,-19.2284, 176.307, 168.152, 8.10778,-0.0470431
+   1.833,-17.9772,-10.0629,-19.2887, 176.405, 168.297, 8.06124,-0.046809
+   1.834,-17.9872,-9.99012,-19.3865, 176.503, 168.443,  8.0141,-0.046382
+   1.835,-17.9971,-9.88858,-19.5106,   176.6, 168.588, 7.96605,-0.045831
+   1.836, -18.007,-9.77452,-19.6469, 176.696, 168.734,  7.9171,-0.0452456
+   1.837,-18.0167, -9.6662,-19.7798, 176.791, 168.879, 7.86751,-0.0447201
+   1.838,-18.0263,-9.58094,-19.8943, 176.885, 169.023, 7.81779,-0.0443404
+   1.839,-18.0359,-9.53237,-19.9773, 176.978, 169.166, 7.76849,-0.0441724
+    1.84,-18.0454,-9.52823,-20.0195, 177.072, 169.308, 7.72014,-0.0442517
+   1.841,-18.0549,-9.56916, -20.016, 177.166, 169.448, 7.67293,-0.0445743
+   1.842,-18.0645, -9.6486,-19.9674,  177.26, 169.589, 7.62664,-0.0450909
+   1.843,-18.0742,-9.75381,-19.8793, 177.356,  169.73, 7.58057,-0.0457113
+   1.844, -18.084,-9.86795,-19.7618, 177.453, 169.873, 7.53381,-0.0463191
+   1.845,-18.0939,-9.97276,-19.6283, 177.551, 170.018, 7.48565,-0.0467985
+   1.846, -18.104,-10.0515,-19.4942, 177.649, 170.166, 7.43594,-0.0470629
+   1.847,-18.1141,-10.0915,-19.3747, 177.748, 170.316, 7.38528,-0.0470767
+   1.848,-18.1242,-10.0865,-19.2835, 177.847, 170.466, 7.33481,-0.0468597
+   1.849,-18.1342,-10.0373, -19.231, 177.946, 170.614,  7.2857,-0.0464744
+    1.85,-18.1442,-9.95172,-19.2231, 178.043, 170.759, 7.23855,-0.046001
+   1.851,-18.1541,-9.84354,-19.2606,  178.14, 170.901, 7.19303,-0.0455132
+   1.852,-18.1639,-9.73004,-19.3392, 178.235, 171.042, 7.14797,-0.0450658
+   1.853,-18.1736, -9.6294,-19.4498,  178.33, 171.183, 7.10186,-0.0446962
+   1.854,-18.1832, -9.5577,-19.5797, 178.424, 171.326, 7.05365,-0.0444367
+   1.855,-18.1927, -9.5264,-19.7139, 178.517, 171.469,  7.0033,-0.0443239
+   1.856,-18.2022,-9.54047,-19.8371, 178.611, 171.614, 6.95183,-0.0443971
+   1.857,-18.2118,-9.59766,-19.9351, 178.705, 171.759, 6.90089,-0.0446813
+   1.858,-18.2214,-9.68877,-19.9967,   178.8, 171.903, 6.85189,-0.0451647
+   1.859,-18.2312,-9.79923, -20.015, 178.896, 172.045,  6.8053,-0.0457821
+    1.86, -18.241,-9.91135,-19.9878, 178.993, 172.186, 6.76038,-0.0464186
+   1.861, -18.251,-10.0072,-19.9184, 179.091, 172.329, 6.71556,-0.0469362
+   1.862, -18.261,-10.0715,-19.8148,  179.19, 172.474, 6.66922,-0.0472147
+   1.863,-18.2711,-10.0939,-19.6891, 179.289, 172.622, 6.62049,-0.0471905
+   1.864,-18.2812,-10.0708,-19.5556, 179.388, 172.771, 6.56971,-0.0468767
+   1.865,-18.2913,-10.0061,-19.4298, 179.486, 172.922, 6.51823,-0.0463555
+   1.866,-18.3012,-9.91004,-19.3262, 179.583,  173.07, 6.46769,-0.0457484
+   1.867,-18.3111,-9.79803,-19.2567,  179.68, 173.215, 6.41924,-0.0451764
+   1.868,-18.3208,-9.68799,-19.2292, 179.775, 173.357, 6.37294,-0.0447294
+   1.869,-18.3305,-9.59752,-19.2468, 179.869, 173.496, 6.32783,-0.0444536
+    1.87,  -18.34,-9.54109,-19.3074, 179.962, 173.636, 6.28242,-0.0443587
+   1.871,-18.3495,-9.52771, -19.404, 180.056, 173.776, 6.23545,-0.0444338
+   1.872,-18.3591,-9.55948,-19.5254,  180.15, 173.918, 6.18649,-0.0446623
+   1.873,-18.3687,-9.63131,-19.6574, 180.244, 174.063, 6.13608,-0.0450244
+   1.874,-18.3783,-9.73169,-19.7848,  180.34, 174.209, 6.08538,-0.0454902
+   1.875,-18.3881,-9.84453,-19.8929, 180.436, 174.355, 6.03558,-0.046009
+   1.876, -18.398,-9.95179,-19.9693, 180.534,   174.5, 5.98734,-0.0465066
+   1.877, -18.408,-10.0363, -20.005, 180.632, 174.645, 5.94055,-0.0468946
+   1.878,-18.4181,-10.0846,-19.9961, 180.731,  174.79,  5.8945,-0.0470918
+   1.879,-18.4282,-10.0889,-19.9437,  180.83, 174.935, 5.84824,-0.0470479
+    1.88,-18.4383,-10.0486,-19.8539, 180.929, 175.081, 5.80103,-0.0467602
+   1.881,-18.4483,-9.97018,-19.7371, 181.026, 175.228, 5.75262,-0.0462771
+   1.882,-18.4582,-9.86615, -19.607, 181.123, 175.374, 5.70327,-0.0456855
+   1.883, -18.468, -9.7532,-19.4787, 181.219,  175.52, 5.65352,-0.0450911
+   1.884,-18.4777,-9.64938, -19.367, 181.314, 175.665, 5.60401,-0.0445961
+   1.885,-18.4873,-9.57132, -19.285, 181.407, 175.808, 5.55521,-0.044282
+   1.886,-18.4969,-9.53147, -19.242, 181.501, 175.949, 5.50731,-0.0441983
+   1.887,-18.5064,-9.53618, -19.243, 181.595,  176.09, 5.46023,-0.0443569
+   1.888,-18.5159,-9.58469,-19.2878, 181.689,  176.23, 5.41362,-0.0447308
+   1.889,-18.5256,-9.66921,-19.3712, 181.783, 176.371, 5.36695,-0.0452565
+    1.89,-18.5353, -9.7762,-19.4833, 181.879, 176.514, 5.31966,-0.0458431
+   1.891,-18.5451,-9.88853,-19.6112, 181.976, 176.659, 5.27136,-0.0463882
+   1.892,-18.5551,-9.98822,-19.7398, 182.074, 176.806,   5.222,-0.0467983
+   1.893,-18.5651,-10.0594,-19.8542, 182.173, 176.954, 5.17199,-0.0470092
+   1.894,-18.5752,-10.0905, -19.941, 182.272, 177.103, 5.12212,-0.0469985
+   1.895,-18.5853,-10.0768,-19.9903, 182.371, 177.251, 5.07319,-0.0467857
+   1.896,-18.5953,-10.0204,-19.9963, 182.469, 177.397, 5.02572,-0.0464203
+   1.897,-18.6053,-9.93036,-19.9584, 182.567, 177.541, 4.97955,-0.0459644
+   1.898,-18.6152,-9.82108,-19.8811, 182.663, 177.684, 4.93388,-0.0454784
+   1.899, -18.625,-9.71006,-19.7735, 182.758, 177.826, 4.88755,-0.0450156
+     1.9,-18.6346,-9.61505,-19.6481, 182.852, 177.968, 4.83961,-0.0446256
+   1.901,-18.6442,-9.55124,-19.5197, 182.946, 178.112, 4.78984,-0.04436
+   1.902,-18.6537,-9.52881,-19.4033,  183.04, 178.256, 4.73892,-0.0442719
+   1.903,-18.6632,-9.55133,-19.3124, 183.133, 178.401,  4.6882,-0.0444038
+   1.904,-18.6728,-9.61516,-19.2578, 183.228, 178.544, 4.63898,-0.0447664
+   1.905,-18.6825,-9.71006,-19.2456, 183.323, 178.686, 4.59192,-0.04532
+   1.906,-18.6922,-9.82083,-19.2772, 183.419, 178.827, 4.54657,-0.0459697
+   1.907,-18.7021,-9.92973, -19.349, 183.517, 178.969, 4.50161,-0.0465826
+   1.908,-18.7121,-10.0193,-19.4523, 183.615, 179.113, 4.45546,-0.0470233
+   1.909,-18.7222,-10.0753,-19.5752, 183.714,  179.26, 4.40708,-0.0471954
+    1.91,-18.7322,-10.0887, -19.703, 183.813, 179.409, 4.35657,-0.0470714
+   1.911,-18.7423,-10.0573,-19.8208, 183.911,  179.56, 4.30509,-0.0466974
+   1.912,-18.7524,-9.98627,-19.9148, 184.009, 179.709, 4.25432,-0.0461728
+   1.913,-18.7623,-9.88689,-19.9741, 184.106, 179.855, 4.20559,-0.045613
+   1.914,-18.7721,-9.77505,-19.9916, 184.202, 179.998, 4.15922,-0.0451147
+   1.915,-18.7819,-9.66863,-19.9655, 184.297, 180.138,  4.1143,-0.0447361
+   1.916,-18.7915,-9.58461,-19.8988, 184.391, 180.277, 4.06924,-0.0444994
+   1.917, -18.801,-9.53638,-19.7995, 184.485, 180.418, 4.02252,-0.0444073
+   1.918,-18.8105, -9.5316,-19.6792, 184.578,  180.56, 3.97348,-0.0444608
+   1.919,-18.8201,-9.57096,-19.5522, 184.672, 180.705, 3.92265,-0.0446653
+    1.92,-18.8297,-9.64809,-19.4335, 184.767,  180.85, 3.87142,-0.0450217
+   1.921,-18.8394,-9.75057,-19.3369, 184.862, 180.996, 3.82131,-0.0455077
+   1.922,-18.8492,-9.86192,-19.2739, 184.959,  181.14, 3.77325,-0.0460631
+   1.923,-18.8591,-9.96426,-19.2518, 185.057, 181.283,  3.7271,-0.0465916
+   1.924,-18.8691,-10.0411,-19.2731, 185.155, 181.427, 3.68181,-0.0469809
+   1.925,-18.8792,-10.0801,-19.3353, 185.254, 181.571, 3.63598,-0.0471364
+   1.926,-18.8893, -10.075,-19.4309, 185.353, 181.718, 3.58857,-0.0470126
+   1.927,-18.8993,-10.0264,-19.5487, 185.452, 181.866, 3.53938,-0.0466295
+   1.928,-18.9093,-9.94194,-19.6747, 185.549, 182.014, 3.48904,-0.0460668
+   1.929,-18.9192,-9.83508,-19.7939, 185.646, 182.161, 3.43866,-0.0454397
+    1.93, -18.929,-9.72273,-19.8924, 185.741, 182.307, 3.38927,-0.044867
+   1.931,-18.9387,-9.62264,-19.9585, 185.835,  182.45, 3.34132,-0.0444433
+   1.932,-18.9482,-9.55061,-19.9845, 185.929,  182.59, 3.29459,-0.0442244
+   1.933,-18.9578, -9.5179,-19.9672, 186.022,  182.73, 3.24837,-0.0442262
+   1.934,-18.9673,-9.52943, -19.909, 186.116,  182.87, 3.20181,-0.0444314
+   1.935,-18.9768,-9.58304,-19.8166,  186.21, 183.011, 3.15432,-0.0447994
+   1.936,-18.9864,-9.66978,-19.7012, 186.305, 183.154, 3.10576,-0.0452725
+   1.937,-18.9962,-9.77537,-19.5763, 186.401, 183.298,  3.0564,-0.0457816
+   1.938, -19.006,-9.88248,-19.4569, 186.498, 183.445, 3.00677,-0.0462516
+   1.939,-19.0159, -9.9735, -19.357, 186.595, 183.591, 2.95744,-0.0466106
+    1.94,-19.0259,-10.0333,-19.2885, 186.694, 183.738, 2.90883,-0.0468008
+   1.941, -19.036,-10.0519,-19.2595, 186.792, 183.885,  2.8611,-0.0467896
+   1.942, -19.046,-10.0255,-19.2733, 186.891,  184.03, 2.81414,-0.0465754
+   1.943, -19.056,-9.95764,-19.3282, 186.988, 184.175, 2.76753,-0.0461865
+   1.944, -19.066,-9.85847,-19.4177, 187.085, 184.319, 2.72073,-0.0456757
+   1.945,-19.0758,-9.74292, -19.531, 187.181, 184.462, 2.67317,-0.045111
+   1.946,-19.0854, -9.6285,-19.6547, 187.275, 184.606, 2.62453,-0.0445685
+   1.947, -19.095,-9.53239, -19.774, 187.369,  184.75, 2.57493,-0.0441253
+   1.948,-19.1045,-9.46875,-19.8748, 187.462, 184.893, 2.52492,-0.0438519
+   1.949, -19.114,-9.44638,-19.9451, 187.554, 185.035, 2.47535,-0.0438002
+    1.95,-19.1234,-9.46737,-19.9765, 187.647, 185.176, 2.42696,-0.0439888
+   1.951,-19.1329,-9.52669,-19.9655, 187.741, 185.316, 2.38003,-0.0443907
+   1.952,-19.1425,-9.61302,-19.9133, 187.835, 185.456, 2.33413,-0.0449287
+   1.953,-19.1521,-9.71056,-19.8263,  187.93, 185.596, 2.28828,-0.0454878
+   1.954,-19.1619,-9.80151,-19.7149, 188.026, 185.739, 2.24135,-0.0459412
+   1.955,-19.1717,-9.86892,-19.5924, 188.123, 185.884, 2.19267,-0.0461843
+   1.956,-19.1816,-9.89938,-19.4734,  188.22, 186.032, 2.14241,-0.0461633
+   1.957,-19.1915,-9.88516,-19.3721, 188.317,  186.18, 2.09157,-0.0458862
+   1.958,-19.2014,-9.82537,-19.3006, 188.414, 186.327, 2.04153,-0.045413
+   1.959,-19.2112,-9.72613,-19.2674, 188.509, 186.471, 1.99336,-0.0448292
+    1.96,-19.2208,-9.59955,-19.2763, 188.603, 186.612, 1.94721,-0.0442169
+   1.961,-19.2304,-9.46174,-19.3263, 188.696,  186.75, 1.90224,-0.0436352
+   1.962,-19.2398,-9.33022,-19.4113, 188.788, 186.888, 1.85694,-0.0431192
+   1.963, -19.249,-9.22109,-19.5211, 188.878, 187.025, 1.80992,-0.0426922
+   1.964,-19.2582,-9.14642,-19.6425, 188.968, 187.165, 1.76067,-0.04238
+   1.965,-19.2673,-9.11228,-19.7609, 189.057, 187.305, 1.70982,-0.0422154
+   1.966,-19.2764,-9.11775,-19.8623, 189.147, 187.445, 1.65886,-0.0422269
+   1.967,-19.2856,-9.15501,-19.9345, 189.236, 187.585,  1.6094,-0.0424154
+   1.968,-19.2947,-9.21059,-19.9689, 189.327, 187.722,  1.5623,-0.0427335
+   1.969, -19.304,-9.26744,-19.9615, 189.418, 187.857, 1.51727,-0.0430817
+    1.97,-19.3133,-9.30767,-19.9131, 189.509, 187.993, 1.47299,-0.0433271
+   1.971,-19.3226,-9.31532,-19.8297,   189.6, 188.129,  1.4278,-0.0433422
+   1.972,-19.3319,-9.27886,-19.7212, 189.691, 188.268, 1.38059,-0.0430454
+   1.973,-19.3412,-9.19304,-19.6009, 189.782, 188.408, 1.33134,-0.0424282
+   1.974,-19.3503,-9.05961,-19.4831,  189.87, 188.548, 1.28113,-0.0415551
+   1.975,-19.3593,-8.88701,-19.3819, 189.958, 188.685,  1.2316,-0.0405381
+   1.976,-19.3681,-8.68895,-19.3095, 190.043, 188.819, 1.18406,-0.0394983
+   1.977,-19.3767,-8.48217,-19.2746, 190.126, 188.949, 1.13891,-0.0385314
+   1.978, -19.385, -8.2837,-19.2812, 190.207, 189.074, 1.09544,-0.0376897
+   1.979,-19.3932,-8.10805,-19.3285, 190.287, 189.198, 1.05231,-0.0369859
+    1.98,-19.4012,-7.96484,-19.4108, 190.365,  189.32, 1.00821,-0.0364085
+   1.981,-19.4092,-7.85721,-19.5181, 190.442, 189.444,0.962577,-0.0359391
+   1.982, -19.417,-7.78124,-19.6375, 190.518, 189.567,0.915838,-0.0355579
+   1.983,-19.4247,-7.72652,-19.7545, 190.594,  189.69,0.869141,-0.0352389
+   1.984,-19.4324,-7.67774,-19.8551,  190.67, 189.811,0.823786,-0.0349378
+   1.985,-19.4401,-7.61707,-19.9273, 190.744, 189.929,0.780614,-0.0345855
+   1.986,-19.4476,-7.52698,-19.9622, 190.818, 190.044,0.739686,-0.0340938
+   1.987,-19.4551,-7.39293,-19.9559, 190.891, 190.157,0.700374,-0.0333742
+   1.988,-19.4624,-7.20564, -19.909, 190.961, 190.267,0.661768,-0.0323638
+   1.989,-19.4695,-6.96252,-19.8274,  191.03, 190.375,0.623173,-0.0310453
+    1.99,-19.4764,-6.66799,-19.7209, 191.095, 190.481,0.584435,-0.0294552
+   1.991,-19.4829,-6.33273,-19.6025, 191.157, 190.583,0.545989,-0.0276743
+   1.992, -19.489,-5.97188,-19.4863, 191.216, 190.681, 0.50864,-0.0258073
+   1.993,-19.4948,-5.60259,-19.3866, 191.271, 190.774,0.473228,-0.0239582
+   1.994,-19.5002,-5.24119,-19.3152, 191.322,  190.86,0.440353,-0.0222097
+   1.995,-19.5053,-4.90052,-19.2808,  191.37, 190.939,0.410241,-0.0206108
+   1.996,  -19.51,-4.58789,-19.2874, 191.415, 191.013,0.382777,-0.0191723
+   1.997,-19.5145,-4.30379,-19.3343, 191.457, 191.082,0.357644,-0.0178678
+   1.998,-19.5186,-4.04184,-19.4156, 191.497, 191.146,0.334499,-0.0166396
+   1.999,-19.5226,-3.78978,-19.5215, 191.534, 191.206,0.313129,-0.0154069
+       2,-19.5262,-3.53137,-19.6392, 191.569, 191.261,0.293581,-0.0140795
diff --git a/test/test_model/test_model_solver/test_model_solver_dynamic_implicit.verified b/test/test_model/test_model_solver/test_model_solver_dynamic_implicit.verified
index 5f3cf45e8..daa6188c9 100644
--- a/test/test_model/test_model_solver/test_model_solver_dynamic_implicit.verified
+++ b/test/test_model/test_model_solver/test_model_solver_dynamic_implicit.verified
@@ -1,2001 +1,2002 @@
-    time,     disp,     velo,     reac,     wext,     epot,     ekin
-   0.001, 0.00160554,  3.21108, -4.63166e-124, 0.0315007, 0.000421884, 0.00745328
-   0.002, 0.00768365,  8.94514, 3.6274e-122, 0.119252, 0.00923947, 0.0582619
-   0.003, 0.0185743,  12.8361, -1.34272e-120, 0.245175, 0.0500032, 0.124335
-   0.004, 0.0321491,  14.3135, 3.11136e-119,  0.38559, 0.133399, 0.174109
-   0.005, 0.0460795,  13.5474, -5.0335e-118,  0.51849, 0.234717, 0.209449
-   0.006, 0.0585263,   11.346, 5.99258e-117, 0.629795, 0.314663, 0.251605
-   0.007, 0.0686193,  8.84008, -5.37549e-116, 0.716516, 0.357329, 0.307951
-   0.008, 0.0765765,  7.07424, 3.63579e-115, 0.785914, 0.378845, 0.364495
-   0.009, 0.0834428,  6.65839, -1.79972e-114, 0.851233,  0.40172, 0.408979
-    0.01, 0.0905724,  7.60083, 5.86967e-114, 0.925797, 0.432547, 0.448093
-   0.011, 0.0990598,  9.37405, -7.11294e-114,  1.01776, 0.468325, 0.495577
-   0.012, 0.109333,  11.1731, -4.0046e-113,  1.12737,  0.51311, 0.551576
-   0.013, 0.121048,  12.2569, 2.41002e-112,  1.24761, 0.575866, 0.603745
-   0.014, 0.133295,  12.2362, -3.99743e-112,  1.36764, 0.653347, 0.646402
-   0.015, 0.145014,  11.2016, -1.24726e-111,  1.47753, 0.726379, 0.688333
-   0.016, 0.155441,  9.65182, 7.09978e-111,  1.57222, 0.778231, 0.738766
-   0.017, 0.164398,  8.26361, -4.7108e-111,  1.65328, 0.811156, 0.793717
-   0.018, 0.172332,  7.60461, -5.27675e-110,  1.72788, 0.839967,  0.84274
-   0.019, 0.180089,  7.90767, 1.29433e-109,  1.80546, 0.873971, 0.884823
-    0.02,  0.18854,  8.99423, 2.35216e-109,  1.89369, 0.912349, 0.929349
-   0.021, 0.198222,    10.37, -1.30016e-108,  1.99542, 0.955119, 0.981561
-   0.022, 0.209129,  11.4454, -3.86934e-109,   2.1077,  1.00872,  1.03496
-   0.023, 0.220744,  11.7838, 9.79393e-108,   2.2233,  1.07604,  1.08158
-   0.024, 0.232274,  11.2763, -4.37506e-108,  2.33392,  1.14676,  1.12397
-   0.025, 0.242998,  10.1718, -6.46089e-107,  2.43371,  1.20504,   1.1709
-   0.026, 0.252563,  8.95862, 5.79402e-107,  2.52159,   1.2458,  1.22397
-   0.027, 0.261118,  8.15093, 4.01703e-106,  2.60155,  1.27819,   1.2755
-   0.028,  0.26923,  8.07318, -4.50952e-106,  2.68075,  1.31285,  1.32042
-   0.029, 0.277633,  8.73153, -2.44714e-105,   2.7664,  1.35192,  1.36378
-    0.03,  0.28691,  9.82286, 2.74261e-105,  2.86277,  1.39391,   1.4128
-   0.031, 0.297258,  10.8726, 1.47916e-104,  2.96943,  1.44229,  1.46593
-   0.032, 0.308413,  11.4394, -1.33837e-104,  3.08165,  1.50218,  1.51548
-   0.033, 0.319783,  11.2995, -8.79512e-104,  3.19249,  1.56979,  1.55941
-   0.034,   0.3307,  10.5338, 4.59906e-104,  3.29583,  1.63209,   1.6042
-   0.035, 0.340709,  9.48422, 5.03226e-103,  3.38887,  1.67962,  1.65485
-   0.036, 0.349752,  8.60241, -1.37042e-104,  3.47326,  1.71582,  1.70737
-   0.037, 0.358181,  8.25632, -2.68965e-102,  3.55426,  1.75083,  1.75506
-   0.038, 0.366598,  8.57758, -1.51455e-102,   3.6384,  1.78976,   1.7987
-   0.039, 0.375593,  9.41252, 1.29199e-101,  3.73074,  1.83153,  1.84517
-    0.04, 0.385497,  10.3946, 1.67395e-101,  3.83271,  1.87697,  1.89688
-   0.041, 0.396246,  11.1043, -5.2315e-101,  3.94164,  1.93103,  1.94827
-   0.042, 0.407423,  11.2481, -1.24553e-100,  4.05199,  1.99454,   1.9944
-   0.043, 0.418436,  10.7786, 1.50696e-100,  4.15773,  2.05858,   2.0384
-   0.044,  0.42878,  9.90922, 7.3403e-100,  4.25493,   2.1119,  2.08655
-   0.045, 0.438243,  9.01742, -3.78046e-101,   4.3434,  2.15258,  2.13871
-   0.046, 0.446993,  8.48169, -3.48984e-99,   4.4266,  2.18846,  2.18867
-   0.047, 0.455494,  8.52131, -3.32365e-99,   4.5102,  2.22684,  2.23368
-   0.048, 0.464308,  9.10711, 1.25884e-98,  4.59954,  2.26842,  2.27857
-   0.049, 0.473852,  9.97915, 2.86088e-98,  4.69743,  2.31239,  2.32822
-    0.05, 0.484222,  10.7616, -2.49741e-98,    4.803,  2.36212,  2.38022
-   0.051, 0.495165,  11.1243, -1.55653e-97,  4.91213,  2.42106,  2.42863
-   0.052, 0.506188,  10.9216, -7.16369e-98,  5.01927,  2.48474,  2.47309
-   0.053, 0.516774,  10.2506, 5.92819e-97,  5.11983,  2.54247,  2.51921
-   0.054, 0.526602,  9.40501, 1.03429e-96,  5.21209,  2.58809,     2.57
-   0.055, 0.535678,  8.74716, -1.24183e-96,   5.2979,  2.62581,  2.62131
-   0.056, 0.544328,  8.55297, -5.96421e-96,  5.38181,  2.66369,   2.6683
-   0.057, 0.553053,  8.89658, -2.54062e-96,  5.46908,  2.70482,  2.71275
-   0.058, 0.562312,  9.62248, 2.14463e-95,  5.56348,  2.74813,  2.76028
-   0.059, 0.572331,  10.4156, 3.93491e-95,  5.66566,  2.79497,  2.81172
-    0.06, 0.583008,  10.9378, -3.38442e-95,  5.77296,  2.84946,  2.86197
-   0.061, 0.593963,  10.9717, -2.06568e-94,  5.88059,   2.9111,   2.9078
-   0.062, 0.604704,  10.5109, -1.5513e-94,   5.9837,   2.9715,  2.95277
-   0.063, 0.614839,  9.75937, 6.02342e-94,  6.07944,  3.02203,  3.00166
-   0.064, 0.624239,  9.04132, 1.48669e-93,  6.16814,  3.06267,  3.05325
-   0.065, 0.633091,  8.66153, -1.84984e-94,  6.25311,  3.10053,  3.10221
-   0.066,  0.64181,  8.77627, -6.07104e-93,   6.3392,  3.14097,  3.14731
-   0.067, 0.650862,  9.32919, -8.40388e-93,  6.43072,  3.18389,  3.19319
-   0.068, 0.660566,  10.0785, 1.05626e-92,  6.52959,  3.22904,  3.24324
-   0.069, 0.670957,  10.7025, 4.82761e-92,  6.63458,  3.27975,  3.29446
-    0.07, 0.681777,  10.9376, 3.48409e-92,  6.74188,  3.33823,  3.34212
-   0.071,  0.69259,  10.6892, -1.27106e-91,  6.84674,  3.39947,  3.38697
-   0.072,  0.70297,  10.0701, -3.3112e-91,  6.94553,  3.45425,  3.43401
-   0.073, 0.712679,  9.34876, -5.60841e-92,  7.03724,  3.49865,  3.48486
-   0.074, 0.721771,  8.83373, 1.13138e-90,   7.1239,  3.53739,  3.53531
-   0.075, 0.730558,   8.7414, 2.0407e-90,  7.20965,  3.57708,  3.58182
-   0.076, 0.739481,  9.10542, -7.85047e-91,  7.29898,  3.61955,  3.62689
-   0.077, 0.748917,  9.76475, -8.6823e-90,  7.39477,  3.66382,  3.67517
-   0.078, 0.759016,  10.4348, -1.15871e-89,  7.49713,   3.7117,  3.72637
-   0.079, 0.769649,  10.8301, 1.16887e-89,  7.60338,  3.76661,  3.77577
-    0.08, 0.780457,  10.7858, 6.08899e-89,  7.70919,  3.82697,  3.82144
-   0.081, 0.791013,  10.3263, 6.18627e-89,  7.81049,  3.88481,  3.86715
-   0.082, 0.801002,  9.65253, -1.0858e-88,  7.90518,  3.93339,  3.91657
-   0.083, 0.810356,  9.05402, -4.0269e-88,    7.994,  3.97405,  3.96766
-   0.084, 0.819275,  8.78487, -3.17809e-88,  8.08018,  4.01332,  4.01589
-   0.085, 0.828145,   8.9558, 8.40766e-88,  8.16803,  4.05512,  4.06112
-   0.086, 0.837368,  9.48877, 2.56208e-87,  8.26112,  4.09892,  4.10778
-   0.087, 0.847188,  10.1525, 1.62284e-87,  8.36071,  4.14497,  4.15808
-   0.088, 0.857596,  10.6626, -5.8573e-87,  8.46531,  4.19649,  4.20865
-   0.089, 0.868329,  10.8034, -1.58934e-86,   8.5713,  4.25467,  4.25576
-    0.09,  0.87899,  10.5192, -8.61031e-87,  8.67449,  4.31404,  4.30098
-   0.091, 0.889218,  9.93585, 3.78662e-86,  8.77196,  4.36661,  4.34874
-   0.092, 0.898838,   9.3052, 9.69294e-86,  8.86324,  4.41017,  4.39956
-   0.093, 0.907939,  8.89663, 4.96045e-86,  8.95052,  4.44972,  4.44929
-   0.094, 0.916828,   8.8819, -2.30243e-85,  9.03765,  4.49072,  4.49549
-   0.095, 0.925901,  9.26307, -5.83404e-85,  9.12852,   4.5341,  4.54112
-   0.096, 0.935469,  9.87346, -3.15268e-85,  9.22538,   4.5791,  4.58997
-   0.097, 0.945631,  10.4504, 1.32154e-84,   9.3279,  4.62787,   4.6409
-   0.098,  0.95623,  10.7483, 3.4646e-84,  9.43334,  4.68315,   4.6896
-   0.099, 0.966926,   10.643, 2.15642e-84,  9.53775,  4.74246,  4.73521
-     0.1, 0.977339,  10.1835, -7.12871e-84,  9.63765,  4.79824,  4.78158
-   0.101, 0.987216,  9.56921, -2.02251e-83,  9.73152,  4.84535,  4.83136
-   0.102, 0.996532,  9.06376, -1.51933e-83,  9.82044,  4.88612,  4.88199
-   0.103,   1.0055,  8.88158, 3.56281e-83,  9.90757,   4.9265,  4.92963
-   0.104,  1.01449,  9.09722, 1.15301e-82,  9.99681,  4.96927,  4.97504
-   0.105,  1.02385,  9.61486, 1.06218e-82,  10.0911,  5.01373,  5.02237
-   0.106,  1.03376,  10.2108, -1.5972e-82,  10.1913,  5.06054,   5.0728
-   0.107,  1.04418,  10.6302, -6.36183e-82,  10.2956,  5.11279,  5.12278
-   0.108,  1.05485,  10.6957, -7.19553e-82,  10.4005,  5.17069,  5.16947
-   0.109,  1.06539,  10.3827, 5.91215e-82,  10.5024,  5.22847,  5.21508
-    0.11,  1.07549,  9.82818, 3.35773e-81,  10.5988,  5.27925,  5.26344
-   0.111,  1.08504,  9.27098, 4.65849e-81,  10.6897,  5.32222,  5.31415
-   0.112,  1.09415,  8.94881, -1.27343e-81,  10.7775,  5.36249,  5.36325
-   0.113,  1.10312,  8.99703, -1.66822e-80,  10.8658,  5.40451,  5.40925
-   0.114,  1.11232,  9.39175, -2.85655e-80,  10.9579,  5.44855,  5.45541
-   0.115,  1.12199,  9.96151, -5.16655e-81,  11.0556,  5.49418,  5.50471
-   0.116,  1.13221,  10.4617, 7.60896e-80,  11.1583,  5.54374,  5.55532
-   0.117,  1.14278,  10.6794, 1.64596e-79,   11.263,  5.59933,  5.60343
-   0.118,  1.15338,  10.5242, 9.53052e-80,  11.3663,  5.65769,  5.64908
-   0.119,  1.16367,  10.0654, -3.03688e-79,   11.465,  5.71171,  5.69605
-    0.12,  1.17346,  9.50155, -8.82604e-79,  11.5582,  5.75765,  5.74608
-   0.121,  1.18274,  9.07402, -8.45059e-79,  11.6472,  5.79861,  5.79623
-   0.122,  1.19176,  8.96418, 9.3237e-79,  11.7352,  5.83992,   5.8434
-   0.123,  1.20085,  9.21632, 4.33913e-78,  11.8256,  5.88344,  5.88906
-   0.124,  1.21032,  9.71984, 5.89976e-78,  11.9209,  5.92841,  5.93697
-   0.125,  1.22031,  10.2578, -9.22181e-79,  12.0216,  5.97594,  5.98743
-   0.126,  1.23074,  10.6003, -1.90356e-77,  12.1256,  6.02883,  6.03685
-   0.127,  1.24134,  10.6026, -3.54316e-77,  12.2296,  6.08643,  6.08325
-   0.128,  1.25178,  10.2666, -1.59614e-77,  12.3303,  6.14277,  6.12928
-   0.129,  1.26178,  9.73819, 7.0172e-77,  12.4258,  6.19205,  6.17812
-    0.13,  1.27127,  9.24456, 1.87197e-76,  12.5165,  6.23463,  6.22865
-   0.131,  1.28039,  8.99617, 1.76361e-76,  12.6048,  6.27557,  6.27718
-   0.132,  1.28944,  9.09717, -1.78754e-76,   12.694,   6.3184,  6.32309
-   0.133,  1.29874,  9.50179, -8.6437e-76,  12.7872,  6.36295,  6.36977
-   0.134,   1.3085,   10.035, -1.2447e-75,  12.8856,  6.40915,  6.41941
-   0.135,  1.31876,  10.4681, -7.97835e-77,  12.9883,  6.45946,  6.46966
-   0.136,   1.3293,   10.617, 3.35221e-75,  13.0925,  6.51527,  6.51728
-   0.137,  1.33982,  10.4202, 7.05442e-75,  13.1947,   6.5727,  6.56304
-   0.138,  1.35001,  9.96419, 4.98646e-75,  13.2925,  6.62516,  6.61055
-   0.139,  1.35971,  9.44566, -9.55045e-75,  13.3851,  6.67019,  6.66073
-    0.14,  1.36898,  9.08647, -3.34611e-74,  13.4743,  6.71141,  6.71041
-   0.141,  1.37804,  9.03885, -4.20176e-74,  13.5629,  6.75351,  6.75721
-   0.142,  1.38722,  9.32093, 6.57437e-75,  13.6544,  6.79762,  6.80316
-   0.143,  1.39679,  9.80992, 1.29744e-73,  13.7506,  6.84304,  6.85158
-   0.144,  1.40684,  10.2955, 2.48944e-73,  13.8516,  6.89125,  6.90198
-   0.145,  1.41727,  10.5704, 1.56268e-73,  13.9553,   6.9447,  6.95088
-   0.146,  1.42782,  10.5185, -3.60298e-73,  14.0585,  7.00193,  6.99709
-   0.147,  1.43816,  10.1644, -1.1721e-72,  14.1582,  7.05693,  7.04354
-   0.148,  1.44807,   9.6613, -1.44269e-72,   14.253,  7.10494,  7.09278
-   0.149,  1.45752,  9.22511, 1.99374e-73,  14.3435,  7.14729,  7.14307
-    0.15,  1.46665,   9.0417, 4.32776e-72,  14.4322,  7.18886,   7.1911
-   0.151,  1.47576,  9.18772, 8.44961e-72,  14.5223,  7.23236,  7.23701
-   0.152,  1.48516,  9.59861, 5.89235e-72,  14.6165,  7.27733,  7.28419
-   0.153,  1.49501,  10.0971, -1.04743e-71,  14.7155,  7.32407,  7.33405
-   0.154,  1.50529,  10.4697, -3.76499e-71,  14.8182,  7.37508,  7.38393
-   0.155,   1.5158,   10.558, -5.05193e-71,  14.9218,  7.43102,  7.43113
-   0.156,  1.52624,  10.3262, -4.9895e-72,  15.0231,  7.48751,  7.47707
-   0.157,  1.53635,  9.87533, 1.24133e-70,    15.12,  7.53858,  7.52509
-   0.158,  1.54598,  9.39942, 2.73127e-70,  15.2122,   7.5829,  7.57531
-   0.159,  1.55523,  9.10194, 2.43408e-70,  15.3015,  7.62444,  7.62452
-    0.16,  1.56434,  9.10886, -2.11394e-70,  15.3908,  7.66723,  7.67105
-   0.161,   1.5736,  9.41532, -1.08576e-69,  15.4832,   7.7118,  7.71735
-   0.162,  1.58325,   9.8885, -1.72622e-69,  15.5802,  7.75764,  7.76619
-   0.163,  1.59336,  10.3252, -7.83048e-70,  15.6815,  7.80652,  7.81646
-   0.164,  1.60379,  10.5391, 2.86931e-69,  15.7849,  7.86046,  7.86486
-   0.165,  1.61428,  10.4402, 8.09323e-69,  15.8873,  7.91724,  7.91098
-   0.166,  1.62454,  10.0725, 9.60204e-69,  15.9861,  7.97097,  7.95787
-   0.167,  1.63437,  9.59491, -7.53522e-70,  16.0802,   8.0179,  8.00741
-   0.168,  1.64377,  9.21208, -2.64859e-68,  16.1706,  8.06015,  8.05741
-   0.169,  1.65292,  9.08704, -5.40838e-68,  16.2598,  8.10232,    8.105
-    0.17,   1.6621,  9.27169, -4.6174e-68,  16.3507,  8.14637,    8.151
-   0.171,  1.67158,  9.68529, 4.13774e-68,  16.4457,   8.1917,  8.19865
-   0.172,   1.6815,  10.1498, 2.06347e-67,  16.5453,  8.23898,  8.24866
-   0.173,  1.69181,  10.4664, 3.31972e-67,   16.648,  8.29064,  8.29812
-   0.174,  1.70229,  10.5006, 1.77673e-67,   16.751,  8.34661,  8.34499
-   0.175,  1.71266,  10.2395, -4.69048e-67,  16.8514,  8.40214,  8.39119
-   0.176,  1.72268,  9.79634, -1.45013e-66,  16.9475,  8.45196,  8.43965
-   0.177,  1.73226,  9.36153, -1.89659e-66,  17.0394,  8.49574,  8.48983
-   0.178,   1.7415,  9.12085, -3.67202e-67,  17.1288,  8.53765,  8.53858
-   0.179,  1.75065,  9.17607, 4.01158e-66,  17.2189,  8.58104,  8.58494
-    0.18,  1.75999,  9.50192, 9.48648e-66,  17.3121,  8.62599,   8.6316
-   0.181,  1.76972,  9.95764, 1.01606e-65,  17.4098,  8.67225,   8.6808
-   0.182,  1.77987,  10.3477, -2.11283e-66,  17.5113,  8.72178,  8.73086
-   0.183,   1.7903,  10.5058, -2.99801e-65,  17.6143,  8.77611,  8.77882
-   0.184,  1.80073,  10.3657, -5.88666e-65,   17.716,  8.83238,  8.82493
-   0.185,  1.81091,  9.98874, -5.12347e-65,   17.814,  8.88488,  8.87226
-   0.186,  1.82067,  9.53745, 3.6802e-65,  17.9076,  8.93091,  8.92201
-   0.187,  1.83004,  9.20508, 2.06201e-64,  17.9979,  8.97318,  8.97167
-   0.188,  1.83921,  9.13307, 3.51101e-64,  18.0875,  9.01591,  9.01889
-   0.189,  1.84845,   9.3508, 2.4346e-64,  18.1792,  9.06041,  9.06505
-    0.19,  1.85801,  9.76367, -3.43998e-64,   18.275,  9.10607,  9.11315
-   0.191,  1.86799,  10.1942, -1.33918e-63,   18.375,  9.15391,  9.16321
-   0.192,  1.87832,  10.4582, -2.03385e-63,  18.4776,  9.20616,  9.21225
-   0.193,  1.88877,  10.4438, -1.08979e-63,    18.58,  9.26206,  9.25888
-   0.194,  1.89907,  10.1585, 2.63467e-63,  18.6797,  9.31662,  9.30537
-   0.195,  1.90901,  9.72567, 8.33848e-63,  18.7751,   9.3653,  9.35422
-   0.196,  1.91854,  9.33115, 1.15447e-62,  18.8666,  9.40871,  9.40429
-   0.197,  1.92778,  9.14336, 4.59661e-63,  18.9563,  9.45102,   9.4526
-   0.198,  1.93697,  9.24151, -1.81289e-62,   19.047,  9.49493,  9.49886
-   0.199,  1.94638,   9.5822, -5.02769e-62,   19.141,   9.5402,  9.54592
-     0.2,  1.95618,  10.0186, -6.47133e-62,  19.2393,  9.58687,  9.59539
-   0.201,  1.96637,  10.3636, -1.84087e-62,  19.3409,  9.63705,  9.64519
-   0.202,  1.97679,  10.4702, 1.16182e-61,  19.4437,  9.69167,  9.69276
-   0.203,  1.98717,   10.294, 2.95567e-61,  19.5446,  9.74734,  9.73894
-   0.204,  1.99727,   9.9118, 3.6061e-61,  19.6419,  9.79868,   9.7867
-   0.205,  2.00697,   9.4879, 7.23805e-62,   19.735,  9.84396,  9.83658
-   0.206,  2.01632,  9.20378, -7.05738e-61,  19.8252,  9.88635,  9.88587
-   0.207,  2.02551,  9.18023, -1.70199e-60,  19.9153,   9.9296,  9.93279
-   0.208,  2.03482,  9.42606, -2.00794e-60,  20.0078,  9.97448,  9.97918
-   0.209,  2.04445,  9.83487, -3.06901e-61,  20.1043,  10.0205,  10.0277
-    0.21,  2.05448,  10.2311, 4.10056e-60,  20.2046,  10.0689,  10.0777
-   0.211,  2.06482,  10.4454, 9.62759e-60,  20.3071,  10.1217,  10.1263
-   0.212,  2.07523,   10.387, 1.1208e-59,   20.409,  10.1774,  10.1728
-   0.213,  2.08547,  10.0821, 1.62034e-60,  20.5079,  10.2309,  10.2196
-   0.214,  2.09534,  9.66238, -2.28875e-59,  20.6027,  10.2786,  10.2688
-   0.215,  2.10482,   9.3077, -5.35689e-59,   20.694,  10.3218,  10.3187
-   0.216,  2.11406,  9.16945, -6.2772e-59,  20.7839,  10.3645,  10.3666
-   0.217,   2.1233,  9.30574, -1.10376e-59,  20.8752,  10.4089,  10.4128
-   0.218,  2.13278,  9.65703, 1.22812e-58,    20.97,  10.4544,  10.4603
-   0.219,  2.14265,  10.0721, 2.93166e-58,  21.0688,  10.5015,    10.51
-    0.22,  2.15287,  10.3732, 3.52277e-58,  21.1705,  10.5523,  10.5595
-   0.221,  2.16327,  10.4321, 8.54475e-59,  21.2729,  10.6071,  10.6067
-   0.222,   2.1736,  10.2247, -6.31937e-58,  21.3732,  10.6621,   10.653
-   0.223,  2.18363,   9.8409, -1.57591e-57,  21.4697,  10.7124,  10.7012
-   0.224,  2.19328,   9.4456, -1.97455e-57,  21.5624,  10.7571,  10.7511
-   0.225,   2.2026,  9.20789, -6.67073e-58,  21.6527,  10.7997,     10.8
-   0.226,  2.21182,  9.22872, 3.09804e-57,  21.7432,  10.8434,  10.8467
-   0.227,  2.22119,  9.49804, 8.29914e-57,  21.8364,  10.8886,  10.8934
-   0.228,  2.23088,  9.89959, 1.10032e-56,  21.9335,  10.9349,  10.9422
-   0.229,  2.24096,  10.2611, 4.99463e-57,  22.0342,  10.9839,  10.9921
-    0.23,  2.25131,  10.4281, -1.42885e-56,  22.1365,  11.0371,  11.0404
-   0.231,  2.26169,    10.33, -4.2651e-56,  22.2378,  11.0925,  11.0867
-   0.232,  2.27186,    10.01, -6.06346e-56,   22.336,  11.1451,  11.1339
-   0.233,  2.28167,  9.60584, -3.54131e-56,  22.4303,  11.1919,  11.1834
-   0.234,  2.29111,  9.29072, 6.04723e-56,  22.5214,   11.235,   11.233
-   0.235,  2.30036,  9.19904, 2.12751e-55,  22.6116,  11.2781,  11.2805
-   0.236,  2.30964,  9.36904, 3.28546e-55,  22.7036,  11.3229,  11.3269
-   0.237,  2.31919,  9.72691, 2.37711e-55,   22.799,  11.3687,  11.3747
-   0.238,  2.32911,  10.1188, -2.219e-55,  22.8982,  11.4162,  11.4245
-   0.239,  2.33936,   10.377, -1.02235e-54,       23,  11.4676,  11.4737
-    0.24,  2.34975,  10.3916, -1.74012e-54,   23.102,  11.5225,  11.5206
-   0.241,  2.36002,  10.1574, -1.51449e-54,  23.2016,  11.5768,  11.5672
-   0.242,  2.36999,  9.77558, 5.86863e-55,  23.2975,   11.626,  11.6157
-   0.243,  2.37958,  9.41007, 4.68126e-54,  23.3898,  11.6702,  11.6656
-   0.244,  2.38889,  9.21712, 8.95277e-54,  23.4803,  11.7131,  11.7141
-   0.245,  2.39814,  9.27854, 9.17922e-54,  23.5713,  11.7572,  11.7607
-   0.246,  2.40756,  9.56702, 1.69257e-55,  23.6651,  11.8027,  11.8076
-   0.247,  2.41733,  9.95826, -2.00706e-53,  23.7628,  11.8493,  11.8568
-   0.248,  2.42745,  10.2845, -4.44293e-53,  23.8637,  11.8989,  11.9065
-   0.249,  2.43779,  10.4065, -5.29828e-53,  23.9658,  11.9525,  11.9544
-    0.25,  2.44813,  10.2728, -1.78661e-53,  24.0666,  12.0076,  12.0007
-   0.251,  2.45824,  9.94175, 7.80075e-53,  24.1641,  12.0592,  12.0483
-   0.252,  2.46799,  9.55564, 2.10828e-52,  24.2578,  12.1052,  12.0979
-   0.253,  2.47741,  9.27987, 2.91119e-52,  24.3489,  12.1482,  12.1473
-   0.254,  2.48666,  9.23194, 1.75368e-52,  24.4394,  12.1918,  12.1945
-   0.255,  2.49599,  9.43146, -2.54766e-52,   24.532,  12.2369,   12.241
-   0.256,  2.50561,  9.79212, -9.45092e-52,   24.628,  12.2829,  12.2892
-   0.257,  2.51558,   10.159, -1.51937e-51,  24.7277,   12.331,   12.339
-   0.258,  2.52585,  10.3752, -1.27234e-51,  24.8295,  12.3829,  12.3878
-   0.259,  2.53621,  10.3488, 5.22379e-52,   24.931,  12.4378,  12.4346
-    0.26,  2.54643,   10.092, 3.92563e-51,    25.03,  12.4913,  12.4813
-   0.261,  2.55634,  9.71556, 7.49836e-51,  25.1253,  12.5396,  12.5302
-   0.262,  2.56588,  9.38098, 7.95866e-51,  25.2173,  12.5835,    12.58
-   0.263,  2.57519,   9.2312, 1.22594e-51,  25.3079,  12.6266,  12.6282
-   0.264,  2.58447,  9.32958, -1.45643e-50,  25.3994,  12.6711,  12.6746
-   0.265,  2.59395,   9.6331, -3.47164e-50,  25.4939,  12.7168,  12.7219
-   0.266,  2.60377,  10.0112, -4.49376e-50,  25.5921,  12.7638,  12.7713
-   0.267,  2.61393,  10.3017, -2.39871e-50,  25.6932,   12.814,  12.8208
-   0.268,  2.62427,  10.3809, 4.40645e-50,   25.795,  12.8679,  12.8683
-   0.269,  2.63457,  10.2155, 1.48695e-49,  25.8952,  12.9225,  12.9148
-    0.27,  2.64462,  9.87728, 2.32821e-49,  25.9921,  12.9731,  12.9627
-   0.271,  2.65431,  9.51153, 1.93741e-49,  26.0854,  13.0185,  13.0124
-   0.272,   2.6637,  9.27481, -7.2153e-50,  26.1764,  13.0616,  13.0615
-   0.273,  2.67297,  9.26792, -5.73652e-49,  26.2673,  13.1056,  13.1084
-   0.274,  2.68236,  9.49295, -1.11004e-48,  26.3605,  13.1509,  13.1551
-   0.275,  2.69203,   9.8528, -1.22243e-48,  26.4571,  13.1972,  13.2037
-   0.276,  2.70205,   10.193, -3.29208e-49,  26.5571,  13.2458,  13.2535
-   0.277,  2.71233,  10.3682, 1.8754e-48,  26.6588,  13.2982,  13.3019
-   0.278,  2.72267,  10.3039, 4.83431e-48,  26.7599,   13.353,  13.3485
-   0.279,  2.73283,  10.0285, 6.6805e-48,  26.8583,  13.4056,  13.3956
-    0.28,  2.74268,  9.66069, 4.48937e-48,  26.9531,  13.4531,  13.4447
-   0.281,  2.75219,  9.35803, -4.23283e-48,  27.0449,  13.4967,  13.4944
-   0.282,  2.76149,  9.24982, -1.88203e-47,  27.1356,  13.5402,  13.5422
-   0.283,  2.77081,  9.38164, -3.25837e-47,  27.2276,  13.5851,  13.5886
-   0.284,  2.78035,  9.69627, -3.22303e-47,  27.3228,   13.631,  13.6363
-   0.285,  2.79022,  10.0584, -2.55876e-48,  27.4214,  13.6784,  13.6858
-   0.286,  2.80041,  10.3131, 6.20613e-47,  27.5226,  13.7291,  13.7351
-   0.287,  2.81074,  10.3516, 1.42304e-46,  27.6242,  13.7832,  13.7823
-   0.288,    2.821,  10.1582, 1.84004e-46,  27.7238,  13.8372,  13.8289
-   0.289,  2.83098,  9.81658, 1.0837e-46,  27.8201,  13.8869,  13.8772
-    0.29,  2.84063,   9.4733, -1.45217e-46,   27.913,  13.9318,  13.9269
-   0.291,     2.85,  9.27527, -5.46573e-46,   28.004,  13.9751,  13.9756
-   0.292,  2.85929,  9.30669, -9.03879e-46,  28.0953,  14.0194,  14.0224
-   0.293,  2.86872,  9.55335, -8.58112e-46,   28.189,   14.065,  14.0693
-   0.294,  2.87846,  9.90898, -1.64746e-47,  28.2863,  14.1116,  14.1182
-   0.295,  2.88852,   10.221, 1.74387e-45,  28.3865,  14.1607,  14.1679
-   0.296,  2.89881,  10.3562, 3.88403e-45,  28.4881,  14.2135,   14.216
-   0.297,  2.90912,  10.2572, 4.96718e-45,  28.5887,   14.268,  14.2625
-   0.298,  2.91923,  9.96718, 2.94217e-45,  28.6865,  14.3198,  14.3099
-   0.299,  2.92902,   9.6109, -3.75248e-45,  28.7808,  14.3665,  14.3593
-     0.3,  2.93849,    9.341, -1.43481e-44,  28.8724,  14.4101,  14.4087
-   0.301,   2.9478,  9.27267, -2.39613e-44,  28.9634,  14.4539,  14.4562
-   0.302,  2.95715,  9.43448, -2.34279e-44,  29.0559,  14.4991,  14.5027
-   0.303,  2.96675,  9.75642, -2.56357e-45,  29.1517,  14.5452,  14.5507
-   0.304,  2.97668,  10.1002, 4.23519e-44,  29.2507,   14.593,  14.6003
-   0.305,  2.98689,  10.3187, 9.87784e-44,   29.352,  14.6442,  14.6493
-   0.306,  2.99721,  10.3188, 1.31588e-43,  29.4532,  14.6984,  14.6963
-   0.307,  3.00742,  10.1012, 8.89928e-44,  29.5523,  14.7518,  14.7431
-   0.308,  3.01735,   9.7597, -7.16911e-44,   29.648,  14.8006,  14.7917
-   0.309,  3.02695,  9.44082, -3.39511e-43,  29.7406,  14.8451,  14.8413
-    0.31,  3.03631,  9.28094, -6.04118e-43,  29.8317,  14.8886,  14.8897
-   0.311,  3.04562,  9.34795, -6.44983e-43,  29.9234,  14.9333,  14.9364
-   0.312,   3.0551,  9.61246, -1.99617e-43,  30.0177,  14.9791,  14.9836
-   0.313,  3.06489,  9.96064, 8.65228e-43,  30.1154,   15.026,  15.0327
-   0.314,  3.07499,  10.2433, 2.31482e-42,  30.2159,  15.0756,  15.0822
-   0.315,  3.08528,  10.3396, 3.36544e-42,  30.3173,  15.1288,    15.13
-   0.316,  3.09556,   10.209, 2.76434e-42,  30.4175,   15.183,  15.1765
-   0.317,  3.10561,  9.90808, -6.73739e-43,  30.5147,  15.2339,  15.2243
-   0.318,  3.11535,  9.56615, -7.04974e-42,  30.6085,    15.28,  15.2738
-   0.319,   3.1248,  9.32965, -1.42179e-41,     30.7,  15.3235,  15.3229
-    0.32,  3.13411,  9.29943, -1.72582e-41,  30.7913,  15.3676,  15.3701
-   0.321,  3.14351,  9.48778, -9.62593e-42,  30.8843,  15.4131,  15.4168
-   0.322,  3.15316,  9.81343, 1.32809e-41,  30.9806,  15.4595,  15.4652
-   0.323,  3.16313,  10.1366, 4.85761e-41,  31.0801,  15.5077,  15.5148
-   0.324,  3.17336,   10.319, 8.07785e-41,  31.1813,  15.5594,  15.5634
-   0.325,  3.18366,   10.283, 8.15645e-41,  31.2822,  15.6136,  15.6103
-   0.326,  3.19383,  10.0448, 1.92973e-41,  31.3807,  15.6663,  15.6573
-   0.327,   3.2037,  9.70675, -1.1959e-40,  31.4759,  15.7143,  15.7061
-   0.328,  3.21326,  9.41395, -3.02456e-40,  31.5683,  15.7585,  15.7557
-   0.329,  3.22261,  9.29153, -4.3076e-40,  31.6594,  15.8022,  15.8038
-    0.33,  3.23196,  9.39135, -3.52116e-40,  31.7516,  15.8472,  15.8504
-   0.331,  3.24149,  9.67002, 7.47056e-41,  31.8464,  15.8932,  15.8979
-   0.332,  3.25133,  10.0077, 8.60827e-40,  31.9446,  15.9404,  15.9472
-   0.333,  3.26146,  10.2598, 1.75355e-39,  32.0452,  15.9905,  15.9965
-   0.334,  3.27175,  10.3187, 2.17542e-39,  32.1465,   16.044,   16.044
-   0.335,  3.28199,  10.1596, 1.35145e-39,  32.2461,  16.0978,  16.0906
-   0.336,  3.29199,  9.85147, -1.29332e-39,  32.3428,  16.1479,  16.1387
-   0.337,  3.30168,  9.52646, -5.50973e-39,  32.4362,  16.1934,  16.1882
-   0.338,  3.31111,  9.32376, -9.62858e-39,  32.5277,   16.237,  16.2371
-   0.339,  3.32043,  9.32974, -1.04655e-38,  32.6192,  16.2815,  16.2841
-    0.34,  3.32987,  9.54123, -4.26712e-39,  32.7128,  16.3272,   16.331
-   0.341,  3.33957,  9.86712, 1.103e-38,  32.8096,  16.3737,  16.3796
-   0.342,  3.34959,  10.1676, 3.26777e-38,  32.9094,  16.4224,  16.4292
-   0.343,  3.35983,  10.3142, 5.06357e-38,  33.0105,  16.4746,  16.4775
-   0.344,  3.37011,  10.2446, 4.8154e-38,   33.111,  16.5287,  16.5243
-   0.345,  3.38023,  9.98916, 7.83036e-39,   33.209,  16.5806,  16.5715
-   0.346,  3.39005,  9.65784, -7.62356e-38,  33.3038,  16.6279,  16.6206
-   0.347,  3.39958,  9.39259, -1.83445e-37,  33.3959,  16.6719,  16.6701
-   0.348,  3.40893,  9.30674, -2.57159e-37,  33.4872,  16.7159,  16.7178
-   0.349,   3.4183,  9.43652, -2.12545e-37,  33.5798,  16.7612,  16.7644
-    0.35,  3.42788,  9.72576, 2.7962e-38,  33.6752,  16.8074,  16.8123
-   0.351,  3.43777,  10.0502, 4.71962e-37,  33.7738,  16.8549,  16.8617
-   0.352,  3.44793,   10.271, 9.87442e-37,  33.8746,  16.9056,  16.9107
-   0.353,  3.45821,  10.2938, 1.2698e-36,  33.9755,  16.9592,   16.958
-   0.354,  3.46841,  10.1095, 9.02293e-37,  34.0747,  17.0125,  17.0048
-   0.355,  3.47837,  9.79756, -4.4868e-37,  34.1708,  17.0618,  17.0531
-   0.356,  3.48801,  9.49182, -2.72084e-36,  34.2639,  17.1068,  17.1027
-   0.357,  3.49742,  9.32311, -5.1416e-36,  34.3554,  17.1505,  17.1512
-   0.358,  3.50676,  9.36325, -6.13252e-36,  34.4473,  17.1953,  17.1981
-   0.359,  3.51624,  9.59448, -3.6957e-36,  34.5414,  17.2412,  17.2452
-    0.36,    3.526,   9.9173, 3.5593e-36,  34.6387,   17.288,  17.2941
-   0.361,  3.53605,  10.1933, 1.48965e-35,  34.7387,  17.3372,  17.3436
-   0.362,   3.5463,  10.3045, 2.60657e-35,  34.8397,  17.3897,  17.3916
-   0.363,  3.55655,  10.2037, 2.91273e-35,  34.9398,  17.4436,  17.4383
-   0.364,  3.56662,  9.93474, 1.46817e-35,  35.0373,  17.4948,  17.4859
-   0.365,   3.5764,   9.6131, -2.29191e-35,  35.1316,  17.5414,  17.5351
-   0.366,  3.58589,  9.37661, -7.83509e-35,  35.2236,  17.5854,  17.5844
-   0.367,  3.59524,  9.32625, -1.29291e-34,  35.3151,  17.6296,  17.6318
-   0.368,  3.60465,  9.48307, -1.36757e-34,  35.4081,  17.6752,  17.6785
-   0.369,  3.61428,  9.77939, -5.71348e-35,   35.504,  17.7216,  17.7267
-    0.37,  3.62421,   10.088, 1.32133e-34,   35.603,  17.7695,  17.7762
-   0.371,   3.6344,  10.2768, 3.98797e-34,  35.7038,  17.8206,  17.8249
-   0.372,  3.64467,  10.2653, 6.29861e-34,  35.8045,  17.8743,   17.872
-   0.373,  3.65483,   10.059, 6.37723e-34,  35.9032,  17.9271,  17.9189
-   0.374,  3.66473,  9.74661, 2.21881e-34,  35.9988,  17.9756,  17.9676
-   0.375,  3.67434,  9.46223, -7.07482e-34,  36.0916,  18.0203,  18.0171
-   0.376,  3.68373,  9.32746, -1.97374e-33,  36.1832,  18.0642,  18.0654
-   0.377,  3.69309,  9.39958, -3.02233e-33,  36.2754,  18.1093,  18.1121
-   0.378,  3.70262,  9.64717, -2.9655e-33,    36.37,  18.1553,  18.1595
-   0.379,  3.71242,   9.9638, -8.86394e-34,  36.4677,  18.2024,  18.2086
-    0.38,  3.72251,  10.2138, 3.57861e-33,  36.5679,   18.252,  18.2579
-   0.381,  3.73276,  10.2903, 9.52801e-33,  36.6689,  18.3049,  18.3056
-   0.382,  3.74299,   10.161, 1.43128e-32,  36.7686,  18.3585,  18.3523
-   0.383,  3.75301,  9.88183, 1.37926e-32,  36.8655,   18.409,  18.4002
-   0.384,  3.76274,  9.57266, 3.78446e-33,  36.9594,   18.455,  18.4496
-   0.385,  3.77221,  9.36588, -1.72439e-32,  37.0513,  18.4989,  18.4986
-   0.386,  3.78157,  9.34973, -4.49443e-32,   37.143,  18.5435,  18.5458
-   0.387,  3.79101,  9.53063, -6.69706e-32,  37.2365,  18.5892,  18.5927
-   0.388,  3.80069,  9.83064, -6.42665e-32,  37.3329,  18.6358,  18.6411
-   0.389,  3.81066,   10.121, -1.77523e-32,  37.4322,  18.6841,  18.6906
-    0.39,  3.82086,  10.2776, 7.94217e-32,  37.5331,  18.7357,  18.7391
-   0.391,  3.83112,  10.2336, 2.07312e-31,  37.6335,  18.7894,   18.786
-   0.392,  3.84124,  10.0084, 3.09715e-31,  37.7316,  18.8415,  18.8332
-   0.393,  3.85109,  9.69884, 3.00014e-31,  37.8268,  18.8893,  18.8821
-   0.394,  3.86066,  9.43768, 9.1159e-32,  37.9194,  18.9337,  18.9315
-   0.395,  3.87005,  9.33655, -3.49489e-31,   38.011,  18.9779,  18.9794
-   0.396,  3.87943,  9.43833, -9.34851e-31,  38.1035,  19.0232,  19.0262
-   0.397,    3.889,  9.69894, -1.41498e-30,  38.1987,  19.0694,  19.0738
-   0.398,  3.89886,  10.0064, -1.40115e-30,  38.2969,  19.1168,  19.1231
-   0.399,  3.90897,  10.2291, -4.96419e-31,  38.3972,  19.1669,  19.1722
-     0.4,  3.91922,  10.2718, 1.46292e-30,   38.498,  19.2201,  19.2197
-   0.401,  3.92942,  10.1167, 4.11621e-30,  38.5972,  19.2733,  19.2664
-   0.402,  3.93939,  9.83075, 6.37855e-30,  38.6937,  19.3229,  19.3146
-   0.403,  3.94908,  9.53662, 6.52892e-30,  38.7872,  19.3685,  19.3641
-   0.404,  3.95852,  9.36024, 2.76189e-30,   38.879,  19.4125,  19.4128
-   0.405,  3.96789,  9.37682, -5.76761e-30,   38.971,  19.4573,  19.4598
-   0.406,  3.97737,  9.57877, -1.76562e-29,   39.065,  19.5033,  19.5069
-   0.407,   3.9871,  9.87921, -2.83168e-29,  39.1619,    19.55,  19.5555
-   0.408,  3.99711,  10.1493, -3.02449e-29,  39.2615,  19.5988,   19.605
-   0.409,  4.00732,  10.2735, -1.52739e-29,  39.3622,  19.6508,  19.6532
-    0.41,  4.01756,   10.199, 2.0989e-29,  39.4623,  19.7044,     19.7
-   0.411,  4.02764,  9.95813, 7.35183e-29,    39.56,  19.7558,  19.7474
-   0.412,  4.03745,  9.65449, 1.23481e-28,  39.6547,  19.8029,  19.7965
-   0.413,  4.04698,  9.41815, 1.38723e-28,  39.7471,  19.8472,  19.8458
-   0.414,  4.05637,  9.35012, 8.26367e-29,  39.8388,  19.8916,  19.8935
-   0.415,  4.06578,  9.47911, -6.73985e-29,  39.9318,  19.9372,  19.9402
-   0.416,   4.0754,  9.74943, -2.95585e-28,  40.0274,  19.9836,  19.9882
-   0.417,  4.08529,   10.045, -5.27215e-28,   40.126,  20.0313,  20.0375
-   0.418,  4.09543,  10.2393, -6.27306e-28,  40.2264,  20.0819,  20.0864
-   0.419,  4.10568,  10.2494, -4.33872e-28,   40.327,  20.1352,  20.1337
-    0.42,  4.11584,  10.0713, 1.67256e-28,  40.4258,  20.1879,  20.1806
-   0.421,  4.12577,  9.78182, 1.13834e-27,  40.5217,  20.2368,   20.229
-   0.422,  4.13541,  9.50508, 2.19518e-27,   40.615,   20.282,  20.2785
-   0.423,  4.14484,  9.35953, 2.78462e-27,  40.7068,  20.3261,  20.3269
-   0.424,  4.15422,  9.40715, 2.20204e-27,  40.7991,  20.3712,  20.3738
-   0.425,  4.16374,  9.62711, -1.13786e-28,  40.8935,  20.4173,  20.4211
-   0.426,  4.17352,  9.92484, -4.14563e-27,  40.9909,  20.4643,    20.47
-   0.427,  4.18357,  10.1727, -8.86893e-27,  41.0907,  20.5136,  20.5194
-   0.428,  4.19379,  10.2647, -1.20813e-26,  41.1914,  20.5659,  20.5673
-   0.429,    4.204,  10.1619, -1.07822e-26,  41.2911,  20.6193,  20.6141
-    0.43,  4.21403,  9.90863, -2.29513e-27,  41.3883,    20.67,  20.6618
-   0.431,   4.2238,  9.61375, 1.39553e-26,  41.4826,  20.7166,   20.711
-   0.432,   4.2333,  9.40357, 3.45419e-26,  41.5748,  20.7608,  20.7601
-   0.433,  4.24269,  9.36785, 5.09966e-26,  41.6667,  20.8054,  20.8075
-   0.434,  4.25213,   9.5215, 5.08651e-26,  41.7601,  20.8512,  20.8544
-   0.435,  4.26179,  9.79829, 2.17996e-26,  41.8563,  20.8978,  20.9026
-   0.436,  4.27173,  10.0795, -4.13872e-26,  41.9551,  20.9458,   20.952
-   0.437,   4.2819,  10.2446, -1.28507e-25,  42.0556,  20.9969,  21.0006
-   0.438,  4.29213,  10.2234, -2.0838e-25,  42.1559,  21.0502,  21.0477
-   0.439,  4.30225,  10.0252, -2.30868e-25,  42.2543,  21.1024,  21.0948
-    0.44,  4.31213,  9.73535, -1.4098e-25,  42.3498,  21.1507,  21.1435
-   0.441,  4.32174,  9.47812, 9.40478e-26,  42.4428,  21.1955,  21.1929
-   0.442,  4.33116,  9.36355, 4.50318e-25,  42.5346,  21.2398,   21.241
-   0.443,  4.34056,  9.44036, 8.19285e-25,  42.6272,  21.2852,  21.2879
-   0.444,  4.35012,  9.67524, 1.00629e-24,  42.7221,  21.3314,  21.3354
-   0.445,  4.35994,  9.96728, 7.75463e-25,  42.8199,  21.3787,  21.3845
-   0.446,  4.37002,  10.1913, -5.03845e-26,  42.9199,  21.4284,  21.4337
-   0.447,  4.38024,  10.2516, -1.45043e-24,  43.0205,   21.481,  21.4813
-   0.448,  4.39043,  10.1227, -3.075e-24,  43.1198,  21.5341,  21.5281
-   0.449,  4.40042,  9.86025, -4.2005e-24,  43.2165,  21.5841,  21.5761
-    0.45,  4.41014,  9.57684, -3.85563e-24,  43.3104,  21.6301,  21.6255
-   0.451,  4.41963,  9.39386, -1.17126e-24,  43.4026,  21.6744,  21.6743
-   0.452,  4.42902,  9.38945, 4.07715e-24,  43.4947,  21.7193,  21.7215
-   0.453,  4.43849,  9.56508, 1.08915e-23,  43.5885,  21.7652,  21.7685
-   0.454,   4.4482,  9.84517, 1.67236e-23,  43.6851,   21.812,   21.817
-   0.455,  4.45818,  10.1096, 1.77476e-23,  43.7843,  21.8604,  21.8664
-   0.456,  4.46835,  10.2452, 1.00082e-23,  43.8848,  21.9119,  21.9148
-   0.457,  4.47857,  10.1942, -8.56245e-24,  43.9848,  21.9652,  21.9617
-   0.458,  4.48866,  9.97879, -3.57241e-23,  44.0827,  22.0169,   22.009
-   0.459,   4.4985,  9.69163, -6.31115e-23,  44.1778,  22.0644,  22.0579
-    0.46,  4.50807,  9.45577, -7.63969e-23,  44.2705,  22.1091,  22.1072
-   0.461,  4.51748,  9.37208, -5.87092e-23,  44.3625,  22.1535,  22.1551
-   0.462,  4.52691,  9.47604, 2.25244e-24,  44.4554,  22.1991,  22.2019
-   0.463,  4.53651,  9.72275, 1.04612e-22,  44.5508,  22.2456,  22.2497
-   0.464,  4.54637,  10.0063, 2.23542e-22,   44.649,  22.2931,  22.2989
-   0.465,  4.55648,  10.2052, 3.08457e-22,  44.7491,  22.3432,  22.3479
-   0.466,   4.5667,  10.2345, 2.91702e-22,  44.8495,  22.3961,  22.3953
-   0.467,  4.57686,   10.082, 1.11999e-22,  44.9484,  22.4488,  22.4423
-   0.468,   4.5868,  9.81336, -2.49504e-22,  45.0447,  22.4981,  22.4905
-   0.469,  4.59648,   9.5439, -7.30695e-22,  45.1383,  22.5437,  22.5399
-    0.47,  4.60595,  9.38893, -1.16563e-21,  45.2304,   22.588,  22.5885
-   0.471,  4.61535,  9.41457, -1.2996e-21,  45.3228,  22.6332,  22.6355
-   0.472,  4.62486,  9.60944, -8.59683e-22,   45.417,  22.6793,  22.6827
-   0.473,  4.63461,  9.88976, 3.18158e-22,   45.514,  22.7262,  22.7314
-   0.474,  4.64462,  10.1353, 2.13262e-21,  45.6135,  22.7751,  22.7808
-   0.475,  4.65481,  10.2411, 4.09126e-21,  45.7139,   22.827,  22.8289
-   0.476,  4.66501,  10.1621, 5.29927e-21,  45.8136,  22.8802,  22.8758
-   0.477,  4.67506,   9.9325, 4.64398e-21,  45.9111,  22.9312,  22.9233
-   0.478,  4.68485,  9.65094, 1.21083e-21,  46.0057,  22.9781,  22.9724
-   0.479,   4.6944,  9.43806, -5.1264e-21,  46.0983,  23.0226,  23.0215
-    0.48,  4.70381,  9.38487, -1.3123e-20,  46.1904,  23.0673,  23.0692
-   0.481,  4.71326,  9.51379, -1.98842e-20,  46.2837,  23.1132,   23.116
-   0.482,   4.7229,  9.76927, -2.12265e-20,  46.3796,  23.1597,  23.1641
-   0.483,   4.7328,  10.0417, -1.29133e-20,  46.4781,  23.2076,  23.2134
-   0.484,  4.74293,  10.2143, 7.27999e-21,  46.5783,  23.2582,  23.2621
-   0.485,  4.75315,  10.2135, 3.71598e-20,  46.6785,  23.3111,  23.3094
-   0.486,  4.76327,  10.0399, 6.83323e-20,   46.777,  23.3634,  23.3564
-   0.487,  4.77318,   9.7683, 8.63229e-20,  46.8728,  23.4121,  23.4049
-   0.488,  4.78282,  9.51507, 7.37526e-20,  46.9661,  23.4573,  23.4543
-   0.489,  4.79227,  9.38864, 1.6967e-20,  47.0582,  23.5017,  23.5026
-    0.49,  4.80169,  9.44286, -8.49212e-20,  47.1509,  23.5471,  23.5496
-   0.491,  4.81124,  9.65416, -2.11444e-19,  47.2456,  23.5934,   23.597
-   0.492,  4.82103,  9.93175, -3.17096e-19,   47.343,  23.6405,  23.6459
-   0.493,  4.83107,  10.1567, -3.37437e-19,  47.4426,  23.6898,  23.6951
-   0.494,  4.84127,  10.2327, -2.0817e-19,   47.543,   23.742,  23.7429
-   0.495,  4.85145,  10.1276, 1.03845e-19,  47.6424,   23.795,  23.7898
-   0.496,  4.86145,  9.88674, 5.65064e-19,  47.7394,  23.8453,  23.8376
-   0.497,   4.8712,  9.61352, 1.04943e-18,  47.8337,  23.8918,  23.8869
-   0.498,  4.88072,  9.42497, 1.34057e-18,  47.9261,  23.9362,  23.9358
-   0.499,  4.89014,  9.40165, 1.17835e-18,  48.0184,  23.9812,  23.9832
-     0.5,  4.89961,  9.55321, 3.55056e-19,  48.1121,  24.0272,  24.0302
-   0.501,   4.9093,  9.81441, -1.15377e-18,  48.2084,  24.0739,  24.0785
-   0.502,  4.91924,  10.0732, -3.06433e-18,  48.3072,  24.1221,  24.1278
-   0.503,  4.92939,  10.2188, -4.72782e-18,  48.4074,  24.1731,  24.1763
-   0.504,  4.93959,  10.1891, -5.21043e-18,  48.5074,  24.2261,  24.2234
-   0.505,  4.94969,   9.9971, -3.55551e-18,  48.6054,  24.2779,  24.2706
-   0.506,  4.95955,  9.72541, 7.83741e-19,  48.7009,  24.3259,  24.3194
-   0.507,  4.96915,  9.49047, 7.43954e-18,   48.794,  24.3709,  24.3687
-   0.508,   4.9786,  9.39281, 1.4744e-17,  48.8861,  24.4154,  24.4167
-   0.509,  4.98803,  9.47395, 1.97129e-17,   48.979,  24.4611,  24.4636
-    0.51,  4.99762,  9.69882, 1.86281e-17,  49.0742,  24.5075,  24.5113
-   0.511,  5.00745,  9.97085, 8.30767e-18,   49.172,  24.5549,  24.5603
-   0.512,  5.01752,  10.1735, -1.211e-17,  49.2718,  24.6046,  24.6094
-   0.513,  5.02772,  10.2201, -3.93806e-17,  49.3721,  24.6571,   24.657
-   0.514,  5.03788,   10.091, -6.51821e-17,  49.4711,  24.7097,  24.7039
-   0.515,  5.04784,  9.84188, -7.68821e-17,  49.5676,  24.7594,   24.752
-   0.516,  5.05755,  9.57958, -6.07177e-17,  49.6616,  24.8054,  24.8013
-   0.517,  5.06705,  9.41644, -7.36434e-18,   49.754,  24.8499,    24.85
-   0.518,  5.07647,  9.42213, 8.12283e-17,  49.8464,  24.8951,  24.8972
-   0.519,  5.08598,  9.59387, 1.86077e-16,  49.9405,  24.9412,  24.9443
-    0.52,   5.0957,  9.85782, 2.69704e-16,  50.0372,  24.9881,  24.9929
-   0.521,  5.10568,  10.1008, 2.82115e-16,  50.1363,  25.0367,  25.0422
-   0.522,  5.11584,  10.2188, 1.75857e-16,  50.2365,  25.0881,  25.0905
-   0.523,  5.12603,  10.1615, -7.13424e-17,  50.3362,  25.1411,  25.1374
-   0.524,  5.13609,  9.95387, -4.32066e-16,  50.4339,  25.1923,  25.1849
-   0.525,  5.14591,    9.685, -8.12644e-16,  50.5289,  25.2397,  25.2338
-   0.526,  5.15549,  9.47017, -1.05641e-15,  50.6218,  25.2845,   25.283
-   0.527,  5.16492,  9.40125, -9.76623e-16,   50.714,  25.3292,  25.3308
-   0.528,  5.17438,  9.50748, -4.21418e-16,  50.8073,  25.3751,  25.3777
-   0.529,    5.184,  9.74303, 6.39649e-16,  50.9029,  25.4216,  25.4256
-    0.53,  5.19388,  10.0068, 2.03315e-15,   51.001,  25.4693,  25.4748
-   0.531,  5.20397,  10.1858, 3.34181e-15,  51.1009,  25.5195,  25.5237
-   0.532,  5.21417,  10.2036, 3.94815e-15,   51.201,  25.5721,   25.571
-   0.533,   5.2243,  10.0528, 3.18971e-15,  51.2997,  25.6244,  25.6181
-   0.534,  5.23422,  9.79832, 6.20507e-16,  51.3958,  25.6734,  25.6664
-   0.535,   5.2439,  9.54933, -3.67507e-15,  51.4895,   25.719,  25.7157
-   0.536,  5.25338,  9.41241, -8.82232e-15,  51.5818,  25.7636,  25.7642
-   0.537,  5.26281,  9.44599, -1.30918e-14,  51.6745,   25.809,  25.8113
-   0.538,  5.27235,  9.63537, -1.41656e-14,   51.769,  25.8553,  25.8586
-   0.539,  5.28211,  9.89916, -9.80158e-15,  51.8661,  25.9024,  25.9073
-    0.54,  5.29213,  10.1243, 1.16931e-15,  51.9654,  25.9513,  25.9566
-   0.541,   5.3023,  10.2144, 1.77569e-14,  52.0656,  26.0031,  26.0046
-   0.542,  5.31247,  10.1312, 3.6048e-14,   52.165,  26.0559,  26.0515
-   0.543,  5.32249,  9.91065, 4.92627e-14,  52.2622,  26.1066,  26.0992
-   0.544,  5.33227,  9.64737, 4.90513e-14,  52.3569,  26.1534,  26.1483
-   0.545,  5.34182,  9.45421, 2.81506e-14,  52.4496,  26.1981,  26.1973
-   0.546,  5.35125,  9.41375, -1.59837e-14,   52.542,  26.2431,  26.2449
-   0.547,  5.36073,  9.54303, -7.757e-14,  52.6356,  26.2891,  26.2918
-   0.548,   5.3704,  9.78639, -1.40436e-13,  52.7316,  26.3358,  26.3399
-   0.549,  5.38031,  10.0394, -1.79177e-13,  52.8301,  26.3837,  26.3892
-    0.55,  5.39043,  10.1937, -1.64758e-13,  52.9301,  26.4343,  26.4379
-   0.551,  5.40061,  10.1835, -7.45903e-14,    53.03,  26.4871,  26.4851
-   0.552,  5.41071,  10.0133, 9.47399e-14,  53.1282,   26.539,  26.5323
-   0.553,   5.4206,  9.75641, 3.1593e-13,  53.2239,  26.5874,  26.5808
-   0.554,  5.43024,   9.5229, 5.25978e-13,  53.3173,  26.6327,  26.6301
-   0.555,   5.4397,  9.41275, 6.33209e-13,  53.4097,  26.6773,  26.6783
-   0.556,  5.44915,   9.4729, 5.39665e-13,  53.5026,  26.7229,  26.7253
-   0.557,  5.45872,  9.67728, 1.77675e-13,  53.5975,  26.7694,  26.7728
-   0.558,  5.46853,  9.93812, -4.46956e-13,   53.695,  26.8167,  26.8218
-   0.559,  5.47857,  10.1436, -1.21924e-12,  53.7945,   26.866,  26.8709
-    0.56,  5.48875,  10.2059, -1.90503e-12,  53.8947,  26.9181,  26.9186
-   0.561,   5.4989,  10.0986, -2.18397e-12,  53.9937,  26.9707,  26.9656
-   0.562,  5.50888,  9.86784, -1.73385e-12,  54.0905,  27.0207,  27.0135
-   0.563,  5.51862,  9.61276, -3.58565e-13,  54.1848,  27.0671,  27.0627
-   0.564,  5.52815,  9.44259, 1.8694e-12,  54.2775,  27.1118,  27.1115
-   0.565,  5.53759,  9.43004, 4.50155e-12,    54.37,  27.1569,  27.1589
-   0.566,  5.54709,  9.58021, 6.70139e-12,   54.464,  27.2031,   27.206
-   0.567,   5.5568,  9.82852, 7.38e-12,  54.5604,  27.2499,  27.2543
-   0.568,  5.56674,  10.0685, 5.49924e-12,  54.6591,  27.2983,  27.3036
-   0.569,  5.57688,  10.1973, 5.05837e-13,  54.7592,  27.3493,   27.352
-    0.57,  5.58706,  10.1601, -7.20981e-12,  54.8588,   27.402,  27.3991
-   0.571,  5.59712,  9.97302, -1.59978e-11,  54.9567,  27.4534,  27.4465
-   0.572,  5.60697,  9.71648, -2.29697e-11,   55.052,  27.5012,  27.4952
-   0.573,  5.61658,  9.50044, -2.45125e-11,  55.1452,  27.5463,  27.5444
-   0.574,  5.62603,  9.41733, -1.73359e-11,  55.2376,  27.5911,  27.5924
-   0.575,  5.63549,   9.5025, 9.62395e-14,  55.3308,  27.6369,  27.6394
-   0.576,   5.6451,   9.7192, 2.61163e-11,  55.4262,  27.6835,  27.6871
-   0.577,  5.65495,   9.9744, 5.4939e-11,   55.524,   27.731,  27.7362
-   0.578,  5.66502,  10.1588, 7.68897e-11,  55.6237,  27.7808,  27.7852
-   0.579,  5.67519,  10.1935, 8.02336e-11,  55.7237,  27.8331,  27.8327
-    0.58,  5.68532,  10.0639, 5.46682e-11,  55.8224,  27.8854,  27.8797
-   0.581,  5.69527,  9.82584, -4.06724e-12,  55.9188,  27.9348,  27.9279
-   0.582,  5.70497,  9.58141, -8.96912e-11,  56.0128,  27.9808,  27.9771
-   0.583,  5.71448,  9.43528, -1.8275e-10,  56.1053,  28.0254,  28.0257
-   0.584,  5.72392,  9.44986, -2.5173e-10,   56.198,  28.0709,  28.0729
-   0.585,  5.73346,  9.61863, -2.59244e-10,  56.2924,  28.1172,  28.1202
-   0.586,   5.7432,  9.86905, -1.73315e-10,  56.3892,  28.1642,  28.1688
-   0.587,  5.75318,  10.0938, 1.81127e-11,  56.4882,  28.2128,   28.218
-   0.588,  5.76333,  10.1966, 2.9338e-10,  56.5883,  28.2642,  28.2662
-   0.589,  5.77349,  10.1337, 5.89525e-10,  56.6877,  28.3169,  28.3132
-    0.59,  5.78353,  9.93229, 8.06571e-10,  56.7851,  28.3678,  28.3607
-   0.591,  5.79333,  9.67887, 8.27508e-10,    56.88,   28.415,  28.4097
-   0.592,  5.80291,  9.48203, 5.53705e-10,  56.9731,  28.4599,  28.4588
-   0.593,  5.81237,  9.42596, -5.03451e-11,  57.0655,  28.5049,  28.5065
-   0.594,  5.82185,  9.53444, -9.15234e-10,  57.1591,  28.5509,  28.5535
-   0.595,  5.83149,  9.76073, -1.84448e-09,  57.2548,  28.5976,  28.6015
-   0.596,  5.84138,  10.0077, -2.52892e-09,   57.353,  28.6454,  28.6506
-   0.597,  5.85147,  10.1697, -2.60864e-09,  57.4528,  28.6956,  28.6994
-   0.598,  5.86164,  10.1773, -1.78099e-09,  57.5526,   28.748,  28.7468
-   0.599,  5.87174,  10.0276, 6.41677e-11,   57.651,     28.8,  28.7939
-     0.6,  5.88165,  9.78503, 2.71911e-09,   57.747,  28.8488,  28.8423
-   0.601,  5.89132,  9.55352, 5.5924e-09,  57.8407,  28.8944,  28.8915
-   0.602,  5.90081,  9.43222, 7.75218e-09,  57.9332,  28.9392,  28.9399
-   0.603,  5.91026,   9.4729, 8.11061e-09,  58.0261,  28.9848,   28.987
-   0.604,  5.91983,  9.65786, 5.74431e-09,  58.1209,  29.0312,  29.0344
-   0.605,  5.92961,  9.90766, 2.9495e-10,  58.2181,  29.0784,  29.0832
-   0.606,  5.93962,  10.1152, -7.65849e-09,  58.3173,  29.1275,  29.1323
-   0.607,  5.94978,  10.1918, -1.64001e-08,  58.4173,  29.1792,  29.1803
-   0.608,  5.95992,  10.1047, -2.31947e-08,  58.5164,  29.2317,  29.2273
-   0.609,  5.96992,  9.89155, -2.48146e-08,  58.6135,   29.282,  29.2751
-    0.61,  5.97969,  9.64386, -1.8464e-08,  58.7081,  29.3288,  29.3241
-   0.611,  5.98925,  9.46771, -2.94149e-09,  58.8009,  29.3736,   29.373
-   0.612,   5.9987,  9.43844, 2.02669e-08,  58.8935,  29.4188,  29.4206
-   0.613,   6.0082,  9.56832, 4.63745e-08,  58.9874,   29.465,  29.4676
-   0.614,  6.01789,  9.80148, 6.7574e-08,  59.0835,  29.5118,  29.5158
-   0.615,  6.02781,  10.0379, 7.44821e-08,   59.182,  29.5599,   29.565
-   0.616,  6.03791,  10.1764, 5.87257e-08,  59.2819,  29.6105,  29.6136
-   0.617,  6.04808,  10.1577, 1.62426e-08,  59.3815,   29.663,  29.6608
-   0.618,  6.05815,  9.99017, -4.95495e-08,  59.4795,  29.7145,  29.7081
-   0.619,  6.06802,  9.74576, -1.25861e-07,  59.5751,  29.7627,  29.7567
-    0.62,  6.07766,  9.52925, -1.91074e-07,  59.6686,  29.8081,  29.8059
-   0.621,  6.08714,  9.43332, -2.18524e-07,  59.7611,   29.853,   29.854
-   0.622,  6.09661,  9.49884, -1.83509e-07,  59.8543,  29.8988,  29.9011
-   0.623,  6.10621,  9.69751, -7.24406e-08,  59.9494,  29.9453,  29.9487
-   0.624,  6.11603,  9.94403, 1.08117e-07,   60.047,  29.9927,  29.9976
-   0.625,  6.12607,  10.1328, 3.25635e-07,  60.1464,  30.0422,  30.0466
-   0.626,  6.13622,   10.183, 5.22241e-07,  60.2463,  30.0941,  30.0944
-   0.627,  6.14635,  10.0734, 6.24086e-07,  60.3451,  30.1464,  30.1414
-   0.628,  6.15631,  9.85118, 5.59713e-07,  60.4418,  30.1962,  30.1894
-   0.629,  6.16604,   9.6117, 2.84768e-07,   60.536,  30.2425,  30.2385
-    0.63,  6.17558,  9.45752, -1.9275e-07,  60.6288,  30.2873,  30.2873
-   0.631,  6.18504,  9.45452, -7.94877e-07,  60.7216,  30.3327,  30.3346
-   0.632,  6.19456,  9.60376, -1.37246e-06,  60.8158,   30.379,  30.3818
-   0.633,  6.20429,  9.84108, -1.72691e-06,  60.9123,   30.426,  30.4302
-   0.634,  6.21424,  10.0647, -1.65653e-06,  61.0111,  30.4744,  30.4794
-   0.635,  6.22436,  10.1789, -1.02124e-06,  61.1109,  30.5254,  30.5277
-   0.636,  6.23452,   10.135, 1.88522e-07,  61.2103,  30.5779,  30.5749
-   0.637,  6.24456,  9.95191, 1.79961e-06,   61.308,   30.629,  30.6223
-   0.638,  6.25439,  9.70837, 3.44412e-06,  61.4032,  30.6766,  30.6711
-   0.639,    6.264,  9.50874, 4.60585e-06,  61.4965,  30.7218,  30.7202
-    0.64,  6.27347,  9.43843, 4.73185e-06,  61.5891,  30.7668,  30.7681
-   0.641,  6.28296,  9.52735, 3.39651e-06,  61.6825,  30.8128,  30.8152
-   0.642,  6.29259,  9.73718, 4.84512e-07,  61.7781,  30.8594,   30.863
-   0.643,  6.30245,  9.97786, -3.65946e-06,  61.8759,  30.9071,   30.912
-   0.644,  6.31251,  10.1463, -8.17401e-06,  61.9755,  30.9569,  30.9609
-   0.645,  6.32267,  10.1704, -1.17686e-05,  62.0753,  31.0091,  31.0084
-   0.646,  6.33277,  10.0402, -1.29783e-05,  62.1737,  31.0611,  31.0555
-   0.647,   6.3427,  9.81158, -1.05642e-05,    62.27,  31.1102,  31.1038
-   0.648,   6.3524,  9.58264, -3.98356e-06,   62.364,  31.1562,   31.153
-   0.649,  6.36191,  9.45142, 6.1955e-06,  62.4567,   31.201,  31.2015
-    0.65,  6.37138,  9.47396, 1.80822e-05,  62.5497,  31.2466,  31.2487
-   0.651,  6.38093,  9.64037, 2.85926e-05,  62.6442,  31.2931,   31.296
-   0.652,  6.39069,  9.87917, 3.3996e-05,  62.7412,  31.3402,  31.3446
-   0.653,  6.40068,   10.088, 3.08483e-05,  62.8401,   31.389,  31.3938
-   0.654,  6.41081,  10.1774, 1.71554e-05,    62.94,  31.4403,  31.4419
-   0.655,  6.42095,  10.1094, -6.51984e-06,  63.0391,  31.4927,  31.4889
-   0.656,  6.43096,  9.91324, -3.63655e-05,  63.1364,  31.5433,  31.5366
-   0.657,  6.44076,  9.67318, -6.53969e-05,  63.2313,  31.5904,  31.5855
-   0.658,  6.45034,  9.49208, -8.45299e-05,  63.3244,  31.6354,  31.6345
-   0.659,  6.45981,   9.4474, -8.46495e-05,  63.4171,  31.6806,  31.6822
-    0.66,  6.46931,  9.55807, -5.9367e-05,  63.5108,  31.7268,  31.7293
-   0.661,  6.47898,  9.77647, -7.847e-06,  63.6067,  31.7736,  31.7773
-   0.662,  6.48887,  10.0089, 6.31305e-05,  63.7049,  31.8215,  31.8265
-   0.663,  6.49895,  10.1558, 0.000138744,  63.8046,  31.8717,  31.8751
-   0.664,  6.50911,  10.1544, 0.000197988,  63.9042,   31.924,  31.9225
-   0.665,  6.51919,  10.0055, 0.000217976,  64.0023,  31.9757,  31.9697
-   0.666,  6.52908,  9.77311, 0.000180163,  64.0982,  32.0242,  32.0182
-   0.667,  6.53874,  9.55687, 7.72297e-05,   64.192,  32.0699,  32.0673
-   0.668,  6.54825,  9.44936, -8.12357e-05,  64.2846,  32.1148,  32.1156
-   0.669,  6.55772,  9.49646, -0.000266302,  64.3778,  32.1606,  32.1627
-    0.67,  6.56731,  9.67776, -0.000432233,  64.4727,  32.2072,  32.2102
-   0.671,   6.5771,  9.91542, -0.000524749,    64.57,  32.2545,   32.259
-   0.672,  6.58711,  10.1076, -0.000494302,  64.6692,  32.3036,  32.3081
-   0.673,  6.59725,   10.172, -0.000311963,   64.769,  32.3552,   32.356
-   0.674,  6.60738,  10.0813, 1.59681e-05,  64.8679,  32.4075,   32.403
-   0.675,  6.61736,  9.87456, 0.000439268,  64.9647,  32.4575,  32.4509
-   0.676,  6.62712,  9.64046, 0.000865282,  65.0593,  32.5042,     32.5
-   0.677,  6.63668,  9.47931, 0.00117313,  65.1523,  32.5491,  32.5488
-   0.678,  6.64615,  9.46002, 0.00124017,  65.2451,  32.5945,  32.5963
-   0.679,  6.65567,  9.59064, 0.000976587,  65.3392,  32.6408,  32.6434
-    0.68,  6.66537,  9.81501, 0.000360492,  65.4355,  32.6878,  32.6917
-   0.681,   6.6753,  10.0369, -0.000536483,  65.5339,   32.736,  32.7409
-   0.682,   6.6854,  10.1613, -0.00154298,  65.6336,  32.7866,  32.7893
-   0.683,  6.69555,  10.1351, -0.00240833,   65.733,  32.8389,  32.8365
-   0.684,   6.7056,  9.96966, -0.00285103,  65.8308,  32.8902,  32.8839
-   0.685,  6.71545,  9.73612, -0.00262931,  65.9263,  32.9382,  32.9326
-   0.686,  6.72509,  9.53456, -0.00161969,  66.0199,  32.9836,  32.9817
-   0.687,  6.73458,  9.45126, 0.000116334,  66.1126,  33.0286,  33.0297
-   0.688,  6.74407,  9.52171, 0.00229949,   66.206,  33.0746,  33.0768
-   0.689,  6.75369,  9.71552, 0.00445185,  66.3013,  33.1213,  33.1245
-    0.69,  6.76352,  9.94952, 0.00597625,  66.3989,  33.1688,  33.1735
-   0.691,  6.77356,  10.1234, 0.00628937,  66.4982,  33.2183,  33.2224
-   0.692,   6.7837,  10.1628, 0.0049856,  66.5979,  33.2701,  33.2701
-   0.693,  6.79381,  10.0511, 0.00199393,  66.6965,  33.3222,  33.3172
-   0.694,  6.80375,  9.83627, -0.00231696,   66.793,  33.3716,  33.3653
-   0.695,  6.81347,  9.61049, -0.00712737,  66.8873,  33.4179,  33.4144
-   0.696,  6.82301,  9.47048, -0.0112753,  66.9802,  33.4629,   33.463
-   0.697,  6.83249,  9.47608, -0.0134854,  67.0732,  33.5085,  33.5103
-   0.698,  6.84204,  9.62467, -0.0126838,  67.1676,  33.5549,  33.5576
-   0.699,  6.85178,  9.85243, -0.0083362,  67.2642,   33.602,  33.6061
-     0.7,  6.86173,  10.0617, -0.000720951,  67.3629,  33.6505,  33.6552
-   0.701,  6.87184,  10.1629, 0.00895057,  67.4626,  33.7014,  33.7035
-   0.702,  6.88198,  10.1128, 0.0186346,  67.5618,  33.7538,  33.7506
-   0.703,  6.89201,  9.93308, 0.0258011,  67.6593,  33.8045,  33.7982
-   0.704,  6.90182,  9.70094, 0.0279887,  67.7545,   33.852,   33.847
-   0.705,  6.91143,  9.51584, 0.0234675,  67.8478,  33.8973,   33.896
-   0.706,  6.92092,  9.45698, 0.0118596,  67.9406,  33.9425,  33.9438
-   0.707,  6.93042,  9.54939, -0.00545928,  68.0343,  33.9886,  33.9909
-   0.708,  6.94007,  9.75328, -0.0253284,  68.1299,  34.0354,  34.0389
-   0.709,  6.94994,  9.98118, -0.0432303,  68.2279,  34.0831,  34.0879
-    0.71,     6.96,  10.1354, -0.0541649,  68.3273,  34.1331,  34.1366
-   0.711,  6.97014,  10.1501, -0.0538351,  68.4269,  34.1851,  34.1841
-   0.712,  6.98022,  10.0191, -0.039899,  68.5251,  34.2368,  34.2313
-   0.713,  6.99013,  9.79872, -0.0129787,  68.6213,  34.2857,  34.2797
-   0.714,  6.99982,  9.58348, 0.0228867,  68.7153,  34.3315,  34.3289
-   0.715,  7.00935,  9.46556, 0.0605709,  68.8081,  34.3766,  34.3773
-   0.716,  7.01883,  9.49531, 0.0910455,  68.9013,  34.4225,  34.4244
-   0.717,  7.02841,   9.6598, 0.105281,  68.9961,  34.4691,  34.4717
-   0.718,  7.03818,  9.88838, 0.0965205,  69.0931,  34.5164,  34.5203
-   0.719,  7.04817,  10.0831, 0.0624078,   69.192,  34.5651,  34.5695
-    0.72,  7.05829,  10.1606, 0.0064176,  69.2916,  34.6161,  34.6178
-   0.721,  7.06841,  10.0878, -0.0619194,  69.3906,  34.6682,   34.665
-   0.722,   7.0784,  9.89615, -0.128262,  69.4877,  34.7187,  34.7126
-   0.723,  7.08819,  9.66788, -0.17613,  69.5825,   34.766,  34.7612
-   0.724,  7.09777,   9.5008, -0.19058,  69.6757,  34.8115,  34.8098
-   0.725,  7.10725,  9.46637, -0.162141,  69.7686,  34.8568,  34.8575
-   0.726,  7.11678,  9.57916, -0.0900819,  69.8626,  34.9026,  34.9052
-   0.727,  7.12646,  9.79065, 0.0159282,  69.9586,  34.9488,  34.9539
-   0.728,  7.13636,  10.0101, 0.136429,  70.0568,  34.9966,  35.0032
-   0.729,  7.14644,  10.1436,  0.24527,  70.1563,  35.0476,  35.0511
-    0.73,  7.15658,   10.134, 0.314836,  70.2557,  35.1008,  35.0973
-   0.731,  7.16664,  9.98567, 0.322447,  70.3537,  35.1529,   35.144
-   0.732,  7.17651,  9.76228, 0.256546,  70.4495,  35.2006,  35.1931
-   0.733,  7.18617,  9.55964, 0.121144,  70.5432,  35.2446,  35.2439
-   0.734,  7.19569,  9.46449, -0.0628291,  70.6361,  35.2882,  35.2936
-   0.735,  7.20518,  9.51745, -0.260015,  70.7295,  35.3344,  35.3405
-   0.736,  7.21478,  9.69563, -0.426917,  70.8246,  35.3831,   35.386
-   0.737,  7.22459,  9.92255, -0.520989,  70.9219,  35.4332,  35.4322
-   0.738,   7.2346,   10.101, -0.510713,   71.021,  35.4833,  35.4803
-   0.739,  7.24473,  10.1545, -0.384398,  71.1206,  35.5327,  35.5303
-    0.74,  7.25484,  10.0604, -0.155438,  71.2193,  35.5807,  35.5814
-   0.741,   7.2648,  9.85924,  0.13766,   71.316,  35.6278,   35.632
-   0.742,  7.27455,  9.63722, 0.437103,  71.4106,  35.6758,  35.6796
-   0.743,  7.28411,   9.4895, 0.676815,  71.5037,   35.726,  35.7232
-   0.744,  7.29359,  9.47924, 0.796592,  71.5967,  35.7767,  35.7656
-   0.745,  7.30314,  9.61066, 0.756468,  71.6909,  35.8236,  35.8123
-   0.746,  7.31286,  9.82727, 0.547923,  71.7873,  35.8653,   35.866
-   0.747,  7.32279,  10.0362, 0.199026,  71.8858,  35.9059,  35.9228
-   0.748,  7.33288,   10.148, -0.228282,  71.9854,  35.9527,   35.975
-   0.749,  7.34301,  10.1148, -0.648884,  72.0846,  36.0089,  36.0182
-    0.75,  7.35305,   9.9512, -0.971403,  72.1822,  36.0695,   36.056
-   0.751,  7.36289,   9.7273, -1.11798,  72.2776,  36.1252,  36.0969
-   0.752,  7.37252,  9.53912, -1.04264,  72.3712,  36.1699,  36.1466
-   0.753,  7.38202,   9.4672, -0.743861,  72.4641,  36.2055,  36.2043
-   0.754,  7.39153,   9.5422, -0.268182,  72.5577,    36.24,   36.263
-   0.755,  7.40116,  9.73179, 0.296749,  72.6532,  36.2825,   36.315
-   0.756,  7.41101,  9.95463, 0.838663,  72.7508,  36.3373,  36.3568
-   0.757,  7.42104,  10.1152,  1.24361,    72.85,  36.4003,  36.3922
-   0.758,  7.43117,  10.1449,  1.42049,  72.9496,  36.4615,  36.4304
-   0.759,  7.44126,  10.0311,  1.32178,   73.048,  36.5112,  36.4797
-    0.76,  7.45119,  9.82274, 0.955589,  73.1443,  36.5482,  36.5401
-   0.761,   7.4609,  9.60921, 0.385982,  73.2386,  36.5816,  36.6019
-   0.762,  7.47045,  9.48196, -0.278874,  73.3316,   36.623,  36.6542
-   0.763,  7.47994,  9.49538,  -0.9085,  73.4248,  36.6763,   36.694
-   0.764,  7.48951,  9.64352,  -1.3772,  73.5194,  36.7354,  36.7288
-   0.765,  7.49926,  9.86278, -1.59052,  73.6161,  36.7905,  36.7693
-   0.766,  7.50922,  10.0591, -1.50525,  73.7148,  36.8376,    36.82
-   0.767,  7.51932,  10.1485, -1.13833,  73.8144,  36.8802,  36.8765
-   0.768,  7.52945,  10.0928, -0.562873,  73.9134,  36.9242,  36.9318
-   0.769,  7.53945,  9.91606, 0.107896,  74.0106,  36.9718,  36.9823
-    0.77,  7.54925,  9.69409, 0.744958,  74.1057,  37.0214,  37.0289
-   0.771,  7.55886,  9.52206,  1.23055,  74.1992,  37.0707,  37.0739
-   0.772,  7.56836,  9.47357,  1.48181,  74.2921,   37.119,  37.1188
-   0.773,  7.57788,  9.56924,  1.46588,   74.386,  37.1672,  37.1639
-   0.774,  7.58755,   9.7679,  1.20341,  74.4818,  37.2163,  37.2097
-   0.775,  7.59743,  9.98433,  0.76031,  74.5797,  37.2659,   37.257
-   0.776,  7.60748,  10.1258, 0.230327,  74.6791,  37.3144,  37.3071
-   0.777,  7.61761,  10.1319, -0.286905,  74.7785,  37.3603,  37.3606
-   0.778,  7.62768,       10, -0.706915,  74.8766,  37.4039,  37.4158
-   0.779,  7.63757,    9.787, -0.975637,  74.9726,  37.4488,  37.4679
-    0.78,  7.64726,  9.58408, -1.07579,  75.0666,  37.4993,  37.5124
-   0.781,  7.65679,  9.47818, -1.02381,  75.1596,  37.5552,    37.55
-   0.782,  7.66628,  9.51453, -0.859212,  75.2529,  37.6106,  37.5878
-   0.783,  7.67588,  9.67739, -0.630132,  75.3478,  37.6584,  37.6341
-   0.784,  7.68567,  9.89684, -0.379539,  75.4449,  37.6981,  37.6904
-   0.785,  7.69565,  10.0788, -0.135899,  75.5438,  37.7365,    37.75
-   0.786,  7.70577,  10.1454, 0.0894231,  75.6433,  37.7816,  37.8041
-   0.787,  7.71587,  10.0683, 0.298064,  75.7421,  37.8347,  37.8502
-   0.788,  7.72585,  9.88063,  0.49596,   75.839,  37.8902,  37.8925
-   0.789,  7.73562,  9.66295, 0.683563,  75.9338,  37.9423,  37.9363
-    0.79,  7.74521,  9.50854, 0.848744,  76.0271,  37.9904,  37.9822
-   0.791,   7.7547,  9.48343, 0.965234,  76.1201,  38.0375,  38.0282
-   0.792,  7.76424,  9.59823, 0.997627,  76.2143,  38.0854,  38.0739
-   0.793,  7.77394,  9.80358, 0.911751,  76.3105,  38.1324,  38.1221
-   0.794,  7.78385,  10.0114, 0.687374,  76.4087,  38.1766,  38.1751
-   0.795,  7.79392,  10.1327,  0.32919,  76.5081,  38.2191,  38.2314
-   0.796,  7.80405,  10.1157, -0.127696,  76.6073,  38.2639,  38.2859
-   0.797,  7.81409,   9.9677, -0.620187,  76.7051,  38.3143,   38.334
-   0.798,  7.82395,  9.75237,  -1.0677,  76.8008,  38.3698,  38.3753
-   0.799,  7.83361,    9.562, -1.38854,  76.8946,  38.4264,  38.4134
-     0.8,  7.84313,  9.47808, -1.51823,  76.9876,  38.4787,  38.4544
-   0.801,  7.85263,  9.53644, -1.42492,  77.0811,  38.5241,  38.5024
-   0.802,  7.86226,  9.71188,  -1.1178,  77.1764,  38.5642,  38.5567
-   0.803,  7.87208,  9.92914, -0.646136,  77.2738,  38.6046,  38.6126
-   0.804,  7.88209,  10.0951, -0.0889257,  77.3728,    38.65,  38.6655
-   0.805,  7.89221,  10.1387, 0.462104,  77.4723,  38.7003,  38.7144
-   0.806,   7.9023,  10.0415, 0.921939,  77.5708,  38.7518,  38.7619
-   0.807,  7.91224,  9.84527,  1.22915,  77.6674,  38.8016,  38.8096
-   0.808,  7.92198,  9.63415,  1.35613,  77.7619,  38.8513,  38.8554
-   0.809,  7.93155,  9.49862,  1.31041,  77.8551,  38.9036,   38.897
-    0.81,  7.94104,  9.49661,  1.12753,  77.9482,  38.9571,  38.9366
-   0.811,  7.95061,  9.62884, 0.857933,  78.0427,  39.0066,   38.981
-   0.812,  7.96034,   9.8385, 0.552153,  78.1392,  39.0487,  39.0344
-   0.813,  7.97028,  10.0357, 0.248624,  78.2376,  39.0869,  39.0937
-   0.814,  7.98036,   10.136, -0.0325253,  78.3371,  39.1287,  39.1508
-   0.815,  7.99048,  10.0965, -0.288432,  78.4361,  39.1782,  39.2005
-   0.816,  8.00049,  9.93439, -0.526253,  78.5336,  39.2324,  39.2446
-   0.817,  8.01032,  9.71919, -0.752723,  78.6289,  39.2854,  39.2879
-   0.818,  8.01995,  9.54314, -0.96451,  78.7225,  39.3351,  39.3327
-   0.819,  8.02947,  9.48161,   -1.143,  78.8156,  39.3839,  39.3773
-    0.82,  8.03899,  9.56081, -1.25564,  78.9094,   39.434,  39.4206
-   0.821,  8.04864,  9.74664, -1.26388,   79.005,  39.4843,   39.465
-   0.822,  8.05849,  9.95938, -1.13526,  79.1027,  39.5317,  39.5143
-   0.823,  8.06853,  10.1079, -0.856073,  79.2018,  39.5748,  39.5696
-   0.824,  8.07865,  10.1286, -0.440224,  79.3012,  39.6162,  39.6274
-   0.825,  8.08872,  10.0129, 0.0686825,  79.3994,    39.66,  39.6824
-   0.826,  8.09863,  9.81035,  0.60339,  79.4957,  39.7084,  39.7312
-   0.827,  8.10834,  9.60794,  1.08589,  79.5899,  39.7606,  39.7743
-   0.828,  8.11789,  9.49231,  1.44389,   79.683,  39.8137,  39.8149
-   0.829,  8.12739,   9.5129,  1.62637,  79.7763,   39.865,  39.8568
-    0.83,  8.13698,  9.66071,  1.61411,  79.8711,  39.9142,  39.9016
-   0.831,  8.14674,  9.87229,  1.42217,   79.968,  39.9633,  39.9484
-   0.832,  8.15671,  10.0569,  1.09402,  80.0666,  40.0132,  39.9962
-   0.833,   8.1668,  10.1356, 0.689188,  80.1661,  40.0625,   40.046
-   0.834,  8.17691,  10.0747, 0.268101,  80.2649,  40.1077,  40.0999
-   0.835,   8.1869,   9.9005, -0.121367,   80.362,  40.1481,  40.1575
-   0.836,  8.19669,  9.68775, -0.451956,  80.4571,   40.188,  40.2136
-   0.837,   8.2063,  9.52762, -0.717763,  80.5505,  40.2332,  40.2627
-   0.838,  8.21581,  9.48863, -0.92808,  80.6436,  40.2852,  40.3039
-   0.839,  8.22534,  9.58733, -1.09695,  80.7377,  40.3399,  40.3428
-    0.84,  8.23503,  9.78129, -1.23232,  80.8336,  40.3927,   40.385
-   0.841,  8.24491,  9.98731, -1.32873,  80.9316,  40.4436,  40.4311
-   0.842,  8.25496,  10.1171, -1.36611,  81.0308,  40.4956,  40.4777
-   0.843,  8.26508,  10.1153, -1.31539,  81.1301,  40.5489,  40.5237
-   0.844,  8.27513,  9.98264, -1.14898,   81.228,  40.5987,  40.5725
-   0.845,  8.28501,  9.77623, -0.852768,  81.3239,  40.6405,  40.6276
-   0.846,  8.29469,  9.58452, -0.435554,  81.4179,  40.6762,  40.6868
-   0.847,  8.30423,  9.48962, 0.0675876,   81.511,  40.7133,  40.7433
-   0.848,  8.31374,  9.53205, 0.599404,  81.6045,  40.7577,  40.7922
-   0.849,  8.32335,  9.69349,  1.09131,  81.6996,  40.8093,  40.8349
-    0.85,  8.33315,  9.90464,  1.47803,  81.7968,  40.8638,  40.8765
-   0.851,  8.34314,   10.075,   1.7118,  81.8956,  40.9186,  40.9197
-   0.852,  8.35324,  10.1317,  1.77218,   81.995,  40.9741,  40.9633
-   0.853,  8.36333,  10.0505,  1.66856,  82.0936,  41.0303,  41.0061
-   0.854,  8.37329,  9.86639,  1.43492,  82.1904,  41.0844,  41.0497
-   0.855,  8.38305,  9.65836,  1.11869,  82.2851,  41.1321,  41.0978
-   0.856,  8.39264,  9.51553,  0.76725,  82.3785,  41.1719,   41.152
-   0.857,  8.40215,  9.49899, 0.416292,  82.4717,  41.2073,  41.2099
-   0.858,  8.41171,  9.61568, 0.0835414,   82.566,  41.2439,  41.2671
-   0.859,  8.42142,  9.81547, -0.230551,  82.6623,  41.2863,    41.32
-    0.86,  8.43134,  10.0127, -0.535817,  82.7605,  41.3352,  41.3683
-   0.861,   8.4414,  10.1229, -0.841853,  82.8598,  41.3888,  41.4135
-   0.862,  8.45151,  10.0989, -1.14787,  82.9589,   41.444,  41.4575
-   0.863,  8.46154,  9.95122, -1.43668,  83.0565,  41.4994,  41.5004
-   0.864,  8.47139,  9.74323, -1.67506,  83.1521,  41.5547,  41.5417
-   0.865,  8.48104,  9.56408, -1.82085,  83.2459,  41.6094,  41.5818
-   0.866,  8.49057,  9.49047, -1.83442,   83.339,  41.6606,   41.624
-   0.867,  8.50009,  9.55381, -1.69106,  83.4327,  41.7058,  41.6723
-   0.868,  8.50973,  9.72681, -1.39019,  83.5282,  41.7453,  41.7273
-   0.869,  8.51956,  9.93524, -0.958187,  83.6256,   41.784,   41.785
-    0.87,  8.52957,  10.0898, -0.443931,  83.7246,  41.8267,  41.8406
-   0.871,  8.53968,  10.1243, 0.0919024,  83.8239,  41.8737,  41.8927
-   0.872,  8.54976,  10.0242, 0.590503,  83.9223,  41.9213,   41.944
-   0.873,  8.55968,  9.83241,  1.00744,  84.0187,   41.967,  41.9956
-   0.874,  8.56942,  9.63127,  1.32036,  84.1132,  42.0134,  42.0447
-   0.875,  8.57898,  9.50691,  1.52966,  84.2065,  42.0648,  42.0871
-   0.876,  8.58849,  9.51251,  1.65241,  84.2998,  42.1215,  42.1238
-   0.877,  8.59807,  9.64553,  1.71178,  84.3944,  42.1785,  42.1608
-   0.878,  8.60782,  9.84885,  1.72584,   84.491,  42.2313,  42.2036
-   0.879,  8.61776,  10.0353,  1.69943,  84.5895,  42.2808,  42.2516
-    0.88,  8.62784,   10.125,  1.62212,  84.6888,  42.3305,  42.3008
-   0.881,  8.63794,  10.0797,  1.47264,  84.7877,  42.3807,  42.3497
-   0.882,  8.64794,  9.91894,   1.2285,   84.885,   42.427,  42.4014
-   0.883,  8.65776,  9.71168, 0.877097,  84.9803,  42.4661,  42.4586
-   0.884,  8.66739,  9.54677, 0.424753,  85.0739,  42.5005,  42.5187
-   0.885,  8.67691,  9.49479, -0.0998937,  85.1671,  42.5372,  42.5755
-   0.886,  8.68645,  9.57789, -0.649352,   85.261,  42.5808,  42.6253
-   0.887,  8.69611,  9.76031, -1.16682,  85.3568,  42.6307,  42.6703
-   0.888,  8.70598,  9.96381, -1.59892,  85.4545,  42.6836,  42.7142
-   0.889,  8.71601,  10.1012,  -1.9076,  85.5536,  42.7384,  42.7578
-    0.89,  8.72612,  10.1137, -2.07763,  85.6528,  42.7961,  42.7992
-   0.891,  8.73617,  9.99611,  -2.1173,  85.7509,  42.8563,  42.8377
-   0.892,  8.74607,  9.79893, -2.05241,   85.847,   42.915,   42.876
-   0.893,  8.75577,  9.60671, -1.91562,  85.9412,  42.9678,  42.9185
-   0.894,  8.76533,  9.50179, -1.73492,  86.0345,  43.0129,  42.9671
-   0.895,  8.77484,    9.529,   -1.525,  86.1279,   43.053,  43.0203
-   0.896,  8.78444,  9.67654, -1.28442,  86.2229,   43.092,  43.0755
-   0.897,  8.79422,  9.88109, -0.999353,  86.3198,  43.1325,  43.1309
-   0.898,  8.80419,   10.055, -0.65245,  86.4184,  43.1745,  43.1867
-   0.899,  8.81428,  10.1237, -0.233659,  86.5178,   43.217,  43.2433
-     0.9,  8.82437,   10.058, 0.250953,  86.6164,    43.26,  43.2992
-   0.901,  8.83434,  9.88616, 0.775542,  86.7134,  43.3052,  43.3519
-   0.902,  8.84413,  9.68187,  1.29749,  86.8084,  43.3543,  43.3987
-   0.903,  8.85373,   9.5327,  1.76628,  86.9019,  43.4074,  43.4399
-   0.904,  8.86325,  9.50246,  2.13538,  86.9951,   43.462,  43.4787
-   0.905,  8.87281,  9.60399,  2.37344,  87.0893,  43.5161,  43.5182
-   0.906,   8.8825,  9.79365,    2.471,  87.1854,  43.5705,   43.559
-   0.907,   8.8924,   9.9901,  2.44074,  87.2834,  43.6271,  43.5994
-   0.908,  8.90245,  10.1092,  2.31122,  87.3826,  43.6857,  43.6394
-   0.909,  8.91255,     10.1,  2.11631,  87.4817,  43.7417,  43.6825
-    0.91,  8.92258,  9.96659,  1.88401,  87.5794,  43.7902,  43.7325
-   0.911,  8.93245,  9.76626,   1.6283,  87.6752,  43.8305,  43.7889
-   0.912,  8.94213,  9.58489,  1.34684,  87.7693,  43.8673,  43.8471
-   0.913,  8.95167,  9.50013,  1.02508,  87.8625,  43.9047,  43.9033
-   0.914,  8.96119,   9.5482, 0.645299,  87.9561,  43.9427,  43.9587
-   0.915,  8.97082,  9.70835, 0.197194,  88.0514,  43.9799,   44.016
-   0.916,  8.98063,  9.91187, -0.313684,  88.1486,  44.0177,  44.0744
-   0.917,  8.99062,  10.0715, -0.862756,  88.2474,  44.0615,  44.1287
-   0.918,  9.00072,   10.119, -1.40975,  88.3467,  44.1142,   44.175
-   0.919,  9.01079,   10.034, -1.90756,  88.4451,  44.1726,  44.2154
-    0.92,  9.02074,  9.85323, -2.31372,  88.5418,  44.2303,  44.2552
-   0.921,  9.03049,  9.65409, -2.60069,  88.6365,  44.2849,  44.2963
-   0.922,  9.04008,  9.52195, -2.76159,  88.7299,  44.3393,   44.336
-   0.923,   9.0496,  9.51334,  -2.8095,  88.8232,  44.3966,  44.3721
-   0.924,  9.05917,   9.6318, -2.77061,  88.9177,  44.4552,  44.4074
-   0.925,   9.0689,  9.82647, -2.67384,  89.0141,  44.5105,  44.4475
-   0.926,  9.07882,  10.0139, -2.54024,  89.1123,  44.5604,   44.495
-   0.927,  9.08888,  10.1137, -2.37615,  89.2116,  44.6073,  44.5467
-   0.928,  9.09898,  10.0834, -2.17221,  89.3105,   44.654,  44.5992
-   0.929,  9.10899,  9.93598, -1.90851,  89.4079,  44.6987,  44.6526
-    0.93,  9.11883,  9.73476, -1.56412,  89.5034,  44.7378,    44.71
-   0.931,  9.12848,  9.56598,  -1.1275,  89.5973,  44.7706,  44.7719
-   0.932,  9.13801,   9.5019, -0.604043,  89.6905,  44.8014,  44.8346
-   0.933,  9.14755,  9.56987, -0.018132,  89.7844,  44.8358,  44.8937
-   0.934,   9.1572,  9.74062, 0.591158,  89.8799,  44.8762,  44.9481
-   0.935,  9.16704,  9.94091,  1.17933,  89.9775,  44.9212,  44.9996
-   0.936,  9.17706,  10.0849,  1.70758,  90.0764,  44.9695,  45.0496
-   0.937,  9.18715,   10.111,  2.15196,  90.1756,  45.0214,  45.0967
-   0.938,  9.19721,  10.0081,  2.50762,  90.2738,   45.078,  45.1388
-   0.939,  9.20713,   9.8205,  2.78664,  90.3701,  45.1384,  45.1757
-    0.94,  9.21685,  9.62858,  3.01039,  90.4645,  45.1997,  45.2098
-   0.941,  9.22642,  9.51457,  3.19921,  90.5579,  45.2592,  45.2441
-   0.942,  9.23594,  9.52723,   3.3629,  90.6513,  45.3166,  45.2801
-   0.943,  9.24554,    9.661,  3.49561,  90.7461,  45.3733,  45.3176
-   0.944,   9.2553,  9.85845,  3.57672,  90.8428,  45.4307,  45.3559
-   0.945,  9.26525,  10.0349,  3.57749,  90.9413,  45.4882,   45.396
-   0.946,  9.27532,  10.1149,  3.47111,  91.0405,  45.5426,  45.4404
-   0.947,  9.28541,  10.0642,  3.24259,  91.1392,   45.591,  45.4909
-   0.948,  9.29539,  9.90461,  2.89501,  91.2364,  45.6331,  45.5469
-   0.949,   9.3052,  9.70471,  2.44992,  91.3316,  45.6708,  45.6054
-    0.95,  9.31483,  9.55011,  1.94164,  91.4253,  45.7061,  45.6645
-   0.951,  9.32435,  9.50701,   1.4076,  91.5186,   45.739,  45.7251
-   0.952,  9.33391,  9.59373, 0.877833,  91.6127,  45.7689,  45.7889
-   0.953,  9.34359,    9.773, 0.367431,  91.7085,  45.7979,  45.8548
-   0.954,  9.35346,  9.96793, -0.125541,  91.8063,  45.8309,  45.9186
-   0.955,  9.36349,   10.095, -0.616024,  91.9054,  45.8709,  45.9771
-   0.956,  9.37359,  10.0999, -1.12333,  92.0044,   45.916,   46.031
-   0.957,  9.38363,  9.98056, -1.66099,  92.1023,  45.9621,  46.0834
-   0.958,  9.39351,  9.78832, -2.22878,  92.1984,  46.0079,  46.1346
-   0.959,  9.40321,  9.60556, -2.80975,  92.2926,  46.0566,   46.181
-    0.96,  9.41277,  9.51057, -3.37326,  92.3859,  46.1117,  46.2197
-   0.961,  9.42229,  9.54393, -3.88316,  92.4795,  46.1722,  46.2527
-   0.962,  9.43191,  9.69123, -4.30804,  92.5746,  46.2343,  46.2849
-   0.963,   9.4417,  9.88926, -4.63009,  92.6716,  46.2968,  46.3184
-   0.964,  9.45167,  10.0531, -4.84936,  92.7702,  46.3627,  46.3504
-   0.965,  9.46176,  10.1127, -4.98208,  92.8694,  46.4337,  46.3783
-   0.966,  9.47183,  10.0425, -5.05344,   92.968,  46.5062,  46.4046
-   0.967,  9.48179,  9.87283, -5.08773,  93.0648,  46.5735,   46.435
-   0.968,  9.49157,  9.67641, -5.09896,  93.1597,  46.6326,  46.4717
-   0.969,  9.50117,  9.53741, -5.08565,  93.2533,  46.6867,  46.5119
-    0.97,   9.5107,  9.51532, -5.03127,  93.3466,  46.7396,  46.5525
-   0.971,  9.52027,  9.61948, -4.91047,   93.441,  46.7908,  46.5951
-   0.972,  9.52998,  9.80514, -4.69852,  93.5372,  46.8367,  46.6445
-   0.973,  9.53988,  9.99269, -4.38083,  93.6352,  46.8762,  46.7021
-   0.974,  9.54993,  10.1018, -3.95902,  93.7343,  46.9123,  46.7646
-   0.975,  9.56002,  10.0858, -3.45136,  93.8333,   46.948,  46.8279
-   0.976,  9.57004,  9.95167, -2.88745,  93.9309,  46.9815,  46.8927
-   0.977,  9.57989,    9.757, -2.29903,  94.0266,  47.0088,  46.9621
-   0.978,  9.58956,  9.58523, -1.71017,  94.1206,  47.0288,   47.037
-   0.979,  9.59911,  9.50992, -1.13028,  94.2139,  47.0456,  47.1138
-    0.98,  9.60865,  9.56322, -0.552496,  94.3077,  47.0643,  47.1886
-   0.981,  9.61829,  9.72218, 0.0421727,  94.4031,  47.0865,  47.2611
-   0.982,  9.62811,  9.91859, 0.676277,  94.5004,  47.1105,  47.3334
-   0.983,   9.6381,  10.0683,   1.3662,  94.5992,  47.1355,  47.4064
-   0.984,  9.64819,  10.1072,  2.11467,  94.6983,  47.1635,  47.4774
-   0.985,  9.65826,  10.0188,  2.90826,  94.7966,  47.1965,  47.5431
-   0.986,  9.66819,  9.84098,  3.72069,  94.8932,  47.2342,  47.6028
-   0.987,  9.67793,  9.65012,  4.52085,  94.9878,  47.2743,  47.6583
-   0.988,  9.68752,  9.52794,   5.2826,  95.0813,  47.3161,  47.7106
-   0.989,  9.69705,   9.5267,  5.99278,  95.1748,  47.3615,  47.7587
-    0.99,  9.70663,  9.64682,  6.65469,  95.2694,  47.4141,  47.8001
-   0.991,  9.71638,  9.83671,  7.28575,  95.3659,  47.4757,  47.8341
-   0.992,   9.7263,   10.015,  7.91016,  95.4641,  47.5453,  47.8618
-   0.993,  9.73636,  10.1053,   8.5493,  95.5633,  47.6208,   47.885
-   0.994,  9.74645,   10.069,  9.21326,   95.662,  47.7009,  47.9039
-   0.995,  9.75644,  9.92179,  9.89654,  95.7594,  47.7857,  47.9172
-   0.996,  9.76627,  9.72687,  10.5796,  95.8548,  47.8757,  47.9235
-   0.997,  9.77592,  9.56776,  11.2353,  95.9487,  47.9704,  47.9234
-   0.998,  9.78546,  9.51257,  11.8385,   96.042,  48.0683,  47.9191
-   0.999,    9.795,  9.58484,  12.3748,   96.136,   48.169,  47.9121
-       1,  9.80467,  9.75349,  12.8451,  96.2317,  48.2744,  47.9016
-   1.001,  9.81452,  9.94618,  13.2656,  96.3293,   48.387,  47.8856
-   1.002,  9.82454,  10.0803,  13.6615,  96.4281,  48.5068,   47.864
-   1.003,  9.83463,  10.0986,  14.0578,  96.5272,  48.6306,  47.8392
-   1.004,  9.84467,  9.99316,  14.4705,  96.6252,  48.7547,  47.8136
-   1.005,  9.85457,   9.8094,  14.9008,  96.7215,  48.8786,  47.7869
-   1.006,  9.86429,  9.62609,   15.335,  96.8159,  49.0047,  47.7562
-   1.007,  9.87386,  9.52173,  15.7495,  96.9093,  49.1342,  47.7206
-   1.008,   9.8834,  9.54096,    16.12,  97.0029,  49.2655,  47.6828
-   1.009,    9.893,  9.67542,  16.4299,  97.0978,  49.3966,  47.6459
-    1.01,  9.90278,  9.86739,  16.6772,  97.1946,  49.5287,  47.6097
-   1.011,  9.91273,  10.0346,  16.8752,  97.2931,  49.6654,  47.5706
-   1.012,   9.9228,  10.1054,  17.0478,  97.3922,  49.8077,  47.5271
-   1.013,  9.93287,  10.0496,  17.2212,  97.4908,  49.9515,  47.4821
-   1.014,  9.94284,  9.89125,  17.4148,  97.5878,  50.0921,  47.4393
-   1.015,  9.95264,  9.69822,  17.6343,   97.683,  50.2293,  47.3982
-   1.016,  9.96227,  9.55326,  17.8704,  97.7767,  50.3672,  47.3548
-   1.017,   9.9718,  9.51843,   18.102,  97.8701,  50.5082,  47.3073
-   1.018,  9.98136,  9.60852,  18.3047,  97.9643,  50.6505,  47.2588
-   1.019,  9.99106,  9.78483,  18.4598,  98.0603,  50.7913,  47.2132
-    1.02,  10.0009,  9.97175,  18.5616,  98.1581,  50.9316,  47.1698
-   1.021,   10.011,  10.0892,  18.6193,  98.2571,  51.0753,  47.1244
-   1.022,  10.0211,  10.0869,  18.6544,  98.3561,  51.2235,  47.0752
-   1.023,  10.0311,  9.96604,  18.6928,  98.4538,  51.3719,  47.0252
-   1.024,   10.041,  9.77842,  18.7555,  98.5497,  51.5156,  46.9784
-   1.025,  10.0506,  9.60452,  18.8515,   98.644,  51.6551,  46.9339
-   1.026,  10.0602,   9.5188,  18.9747,  98.7373,  51.7952,  46.8876
-   1.027,  10.0697,  9.55791,  19.1063,  98.8311,  51.9386,  46.8377
-   1.028,  10.0794,  9.70496,   19.222,  98.9263,  52.0835,  46.7873
-   1.029,  10.0892,  9.89687,  19.3013,  99.0234,   52.227,    46.74
-    1.03,  10.0992,  10.0514,  19.3347,   99.122,  52.3699,  46.6949
-   1.031,  10.1092,  10.1023,  19.3279,  99.2211,  52.5155,  46.6482
-   1.032,  10.1193,   10.028,  19.2995,  99.3195,  52.6642,  46.5983
-   1.033,  10.1292,  9.86038,   19.274,  99.4162,  52.8121,  46.5479
-   1.034,   10.139,  9.67133,  19.2737,  99.5111,  52.9555,  46.5002
-   1.035,  10.1486,  9.54185,    19.31,  99.6047,  53.0953,  46.4547
-   1.036,  10.1581,  9.52737,  19.3797,  99.6982,  53.2358,  46.4078
-   1.037,  10.1677,  9.63397,  19.4663,  99.7927,  53.3795,  46.3581
-   1.038,  10.1775,  9.81587,  19.5461,   99.889,   53.525,  46.3079
-   1.039,  10.1874,  9.99508,  19.5972,   99.987,  53.6701,    46.26
-    1.04,  10.1974,  10.0948,  19.6075,  100.086,  53.8146,   46.214
-   1.041,  10.2075,  10.0725,  19.5792,  100.185,  53.9606,   46.167
-   1.042,  10.2175,  9.93771,  19.5281,  100.282,   54.108,  46.1177
-   1.043,  10.2273,  9.74836,  19.4776,  100.378,  54.2545,  46.0678
-   1.044,   10.237,  9.58559,  19.4503,  100.472,  54.3975,  46.0197
-   1.045,  10.2466,  9.51911,  19.4598,  100.565,  54.5377,  45.9731
-   1.046,  10.2561,   9.5773,  19.5056,  100.659,  54.6784,  45.9261
-   1.047,  10.2658,  9.73512,  19.5735,  100.755,  54.8219,  45.8773
-   1.048,  10.2756,  9.92486,  19.6408,  100.852,   54.968,  45.8277
-   1.049,  10.2856,  10.0652,   19.685,  100.951,  55.1145,  45.7792
-    1.05,  10.2957,  10.0961,  19.6917,   101.05,  55.2605,  45.7321
-   1.051,  10.3057,  10.0044,  19.6604,  101.148,   55.406,  45.6852
-   1.052,  10.3156,  9.82953,  19.6043,  101.245,  55.5515,   45.637
-   1.053,  10.3254,  9.64644,  19.5455,  101.339,  55.6964,  45.5876
-   1.054,   10.335,  9.53359,  19.5068,  101.433,  55.8395,  45.5386
-   1.055,  10.3445,  9.53925,  19.5035,  101.526,  55.9805,  45.4911
-   1.056,  10.3541,  9.66089,  19.5375,  101.621,  56.1214,  45.4444
-   1.057,  10.3639,  9.84628,  19.5968,  101.718,  56.2648,  45.3967
-   1.058,  10.3738,   10.016,  19.6601,  101.816,  56.4116,  45.3474
-   1.059,  10.3838,  10.0973,  19.7045,  101.915,  56.5597,  45.2979
-    1.06,  10.3939,  10.0554,  19.7141,  102.014,  56.7063,  45.2501
-   1.061,  10.4039,  9.90849,  19.6861,  102.111,  56.8507,  45.2036
-   1.062,  10.4137,  9.71951,  19.6313,  102.206,  56.9942,  45.1564
-   1.063,  10.4234,  9.56947,  19.5705,    102.3,  57.1381,  45.1071
-   1.064,  10.4329,  9.52261,  19.5265,  102.393,  57.2817,  45.0572
-   1.065,  10.4425,   9.5989,  19.5158,  102.488,  57.4235,  45.0091
-   1.066,  10.4521,  9.76555,  19.5425,  102.583,  57.5647,   44.963
-   1.067,   10.462,  9.95108,  19.5967,  102.681,  57.7082,  44.9161
-   1.068,   10.472,   10.076,  19.6582,   102.78,  57.8559,  44.8667
-   1.069,  10.4821,  10.0869,  19.7045,  102.879,  58.0051,  44.8164
-    1.07,  10.4921,  9.97911,  19.7184,  102.977,  58.1517,  44.7683
-   1.071,   10.502,  9.79902,  19.6951,  103.073,  58.2945,  44.7224
-   1.072,  10.5117,   9.6238,  19.6434,  103.167,  58.4364,  44.6758
-   1.073,  10.5213,   9.5285,  19.5829,  103.261,  58.5799,  44.6262
-   1.074,  10.5308,  9.55389,   19.536,  103.354,  58.7241,  44.5756
-   1.075,  10.5405,  9.68896,  19.5203,   103.45,  58.8666,  44.5275
-   1.076,  10.5503,  9.87575,  19.5415,  103.546,  59.0081,   44.482
-   1.077,  10.5602,  10.0342,  19.5915,  103.645,  59.1523,  44.4354
-   1.078,  10.5703,  10.0965,  19.6518,  103.744,  59.3009,  44.3856
-   1.079,  10.5803,   10.036,  19.6997,  103.842,  59.4504,  44.3348
-    1.08,  10.5903,  9.87871,  19.7176,  103.939,  59.5961,  44.2868
-   1.081,  10.6001,  9.69217,  19.6989,  104.034,  59.7374,  44.2415
-   1.082,  10.6097,  9.55628,  19.6507,  104.128,  59.8784,   44.195
-   1.083,  10.6192,   9.5292,  19.5912,  104.222,   60.022,  44.1449
-   1.084,  10.6288,  9.62243,  19.5427,  104.316,  60.1668,  44.0941
-   1.085,  10.6385,  9.79593,  19.5231,  104.412,  60.3098,  44.0463
-   1.086,  10.6484,  9.97529,  19.5398,   104.51,  60.4521,   44.001
-   1.087,  10.6584,  10.0837,  19.5863,  104.609,  60.5971,  43.9544
-   1.088,  10.6685,  10.0747,  19.6452,  104.708,  60.7462,  43.9042
-   1.089,  10.6785,  9.95239,  19.6943,  104.805,  60.8951,  43.8535
-    1.09,  10.6884,  9.76916,  19.7154,  104.901,  61.0395,  43.8058
-   1.091,  10.6981,  9.60359,  19.7007,  104.995,  61.1798,  43.7606
-   1.092,  10.7077,   9.5266,  19.6559,  105.089,  61.3205,  43.7137
-   1.093,  10.7172,  9.57108,  19.5978,  105.183,  61.4644,  43.6635
-   1.094,  10.7268,  9.71786,  19.5482,  105.278,  61.6095,   43.613
-   1.095,  10.7367,  9.90399,  19.5258,  105.375,  61.7533,  43.5654
-   1.096,  10.7466,  10.0497,  19.5387,  105.474,  61.8966,    43.52
-   1.097,  10.7567,  10.0926,  19.5821,  105.573,  62.0425,  43.4729
-   1.098,  10.7668,  10.0144,  19.6394,  105.671,  62.1913,  43.4228
-   1.099,  10.7767,  9.84869,  19.6892,  105.768,   62.339,  43.3725
-     1.1,  10.7864,   9.6666,  19.7128,  105.862,  62.4821,  43.3251
-   1.101,  10.7961,   9.5461,  19.7015,  105.956,  62.6221,  43.2794
-   1.102,  10.8056,  9.53876,  19.6596,   106.05,   62.763,   43.232
-   1.103,  10.8152,  9.64762,  19.6031,  106.144,   62.907,  43.1821
-   1.104,  10.8249,  9.82594,  19.5531,  106.241,  63.0525,  43.1322
-   1.105,  10.8348,  9.99727,  19.5285,  106.339,  63.1972,  43.0847
-   1.106,  10.8449,  10.0882,  19.5384,  106.438,  63.3418,  43.0386
-   1.107,   10.855,  10.0599,  19.5789,  106.536,  63.4881,  42.9912
-   1.108,  10.8649,  9.92457,  19.6347,  106.634,  63.6357,  42.9415
-   1.109,  10.8748,  9.74027,  19.6848,  106.729,  63.7819,  42.8918
-    1.11,  10.8844,    9.586,  19.7102,  106.823,  63.9243,  42.8442
-   1.111,   10.894,  9.52783,  19.7016,  106.917,  64.0645,  42.7978
-   1.112,  10.9036,  9.59059,  19.6623,  107.011,  64.2057,  42.7503
-   1.113,  10.9132,  9.74728,  19.6072,  107.107,  64.3499,   42.701
-   1.114,  10.9231,   9.9307,  19.5572,  107.204,  64.4958,  42.6516
-   1.115,  10.9331,  10.0622,  19.5311,  107.303,  64.6418,  42.6037
-   1.116,  10.9431,  10.0856,  19.5386,  107.402,  64.7874,  42.5569
-   1.117,  10.9532,   9.9909,  19.5767,    107.5,  64.9333,  42.5095
-   1.118,  10.9631,  9.81877,  19.6311,  107.596,  65.0793,  42.4606
-   1.119,  10.9728,  9.64304,   19.681,  107.691,  65.2241,  42.4113
-    1.12,  10.9824,  9.53899,  19.7077,  107.784,  65.3664,  42.3631
-   1.121,  10.9919,  9.55113,  19.7012,  107.878,  65.5071,   42.316
-   1.122,  11.0016,  9.67415,   19.664,  107.973,  65.6486,  42.2688
-   1.123,  11.0113,  9.85526,  19.6104,  108.069,   65.793,  42.2203
-   1.124,  11.0213,  10.0168,  19.5606,  108.168,  65.9398,  42.1709
-   1.125,  11.0313,  10.0896,  19.5335,  108.267,   66.087,  42.1223
-   1.126,  11.0414,  10.0426,  19.5392,  108.365,  66.2329,  42.0751
-   1.127,  11.0513,  9.89596,  19.5754,  108.462,  66.3777,  42.0282
-   1.128,  11.0612,  9.71263,  19.6284,  108.558,  66.5221,    41.98
-   1.129,  11.0708,  9.57117,  19.6779,  108.651,  66.6661,  41.9305
-    1.13,  11.0803,  9.53215,  19.7053,  108.745,  66.8088,  41.8816
-   1.131,  11.0899,  9.61219,  19.7003,  108.839,  66.9499,  41.8343
-   1.132,  11.0996,  9.77689,  19.6649,  108.935,  67.0917,  41.7877
-   1.133,  11.1095,  9.95564,  19.6127,  109.033,  67.2365,  41.7396
-   1.134,  11.1195,  10.0718,  19.5634,  109.132,  67.3844,    41.69
-   1.135,  11.1296,  10.0758,  19.5358,   109.23,  67.5325,  41.6407
-   1.136,  11.1396,  9.96584,  19.5402,  109.328,   67.678,  41.5935
-   1.137,  11.1495,  9.78925,  19.5749,  109.424,  67.8212,  41.5472
-   1.138,  11.1592,  9.62171,  19.6265,  109.519,  67.9643,  41.4993
-   1.139,  11.1688,  9.53497,  19.6755,  109.612,  68.1082,  41.4493
-    1.14,  11.1783,  9.56613,  19.7032,  109.706,  68.2514,  41.3999
-   1.141,  11.1879,  9.70173,  19.6992,  109.801,  68.3929,  41.3529
-   1.142,  11.1977,  9.88359,  19.6652,  109.898,   68.535,  41.3069
-   1.143,  11.2077,  10.0338,  19.6141,  109.997,  68.6807,  41.2589
-   1.144,  11.2177,   10.088,  19.5655,  110.096,  68.8296,  41.2086
-   1.145,  11.2278,   10.023,  19.5378,  110.194,  68.9778,  41.1591
-   1.146,  11.2377,  9.86689,  19.5414,  110.291,  69.1221,  41.1123
-   1.147,  11.2475,  9.68652,   19.575,  110.386,  69.2638,  41.0665
-   1.148,  11.2571,  9.55921,  19.6255,   110.48,  69.4064,  41.0184
-   1.149,  11.2667,  9.53944,  19.6737,  110.573,  69.5506,  40.9678
-    1.15,  11.2763,  9.63559,  19.7013,  110.668,  69.6942,  40.9183
-   1.151,   11.286,  9.80637,  19.6978,  110.764,   69.836,  40.8718
-   1.152,  11.2959,  9.97856,  19.6647,  110.862,  69.9787,  40.8261
-   1.153,  11.3059,  10.0784,  19.6147,  110.961,  70.1255,  40.7777
-   1.154,   11.316,  10.0632,  19.5669,  111.059,  70.2751,   40.727
-   1.155,   11.326,  9.93949,  19.5395,  111.157,  70.4225,  40.6776
-   1.156,  11.3358,  9.76046,  19.5429,  111.253,  70.5653,  40.6315
-   1.157,  11.3455,   9.6028,  19.5757,  111.347,   70.706,  40.5857
-   1.158,  11.3551,  9.53405,  19.6252,   111.44,  70.8486,   40.537
-   1.159,  11.3647,  9.58356,  19.6726,  111.534,  70.9932,  40.4862
-    1.16,  11.3743,  9.73004,  19.6997,   111.63,  71.1371,   40.437
-   1.161,  11.3841,  9.91065,  19.6963,  111.727,  71.2794,  40.3911
-   1.162,  11.3941,   10.048,  19.6638,  111.826,  71.4231,  40.3453
-   1.163,  11.4042,  10.0832,  19.6147,  111.924,  71.5709,  40.2962
-   1.164,  11.4142,  10.0014,  19.5678,  112.023,  71.7203,  40.2454
-   1.165,  11.4241,  9.83767,  19.5411,  112.119,  71.8664,  40.1966
-   1.166,  11.4339,  9.66221,  19.5446,  112.214,  72.0078,  40.1508
-   1.167,  11.4435,   9.5502,  19.5769,  112.308,  72.1482,  40.1047
-   1.168,   11.453,  9.54959,  19.6256,  112.401,  72.2911,  40.0554
-   1.169,  11.4627,  9.66053,  19.6719,  112.496,  72.4361,  40.0046
-    1.17,  11.4724,  9.83541,  19.6982,  112.592,  72.5802,  39.9562
-   1.171,  11.4823,  9.99926,  19.6945,  112.691,  72.7232,  39.9104
-   1.172,  11.4924,  10.0819,  19.6623,  112.789,  72.8681,   39.864
-   1.173,  11.5024,   10.048,   19.614,  112.888,  73.0164,  39.8145
-   1.174,  11.5124,  9.91214,  19.5682,  112.985,  73.1648,   39.764
-   1.175,  11.5222,  9.73267,  19.5424,  113.081,  73.3093,  39.7158
-   1.176,  11.5319,  9.58648,  19.5464,  113.175,  73.4499,    39.67
-   1.177,  11.5414,  9.53617,  19.5786,  113.268,  73.5905,  39.6233
-   1.178,   11.551,   9.6032,  19.6265,  113.363,  73.7339,  39.5737
-   1.179,  11.5607,  9.75877,  19.6718,  113.458,  73.8791,  39.5234
-    1.18,  11.5705,  9.93616,   19.697,  113.556,  74.0237,  39.4755
-   1.181,  11.5805,  10.0593,  19.6926,  113.654,  74.1677,  39.4295
-   1.182,  11.5906,  10.0756,  19.6604,  113.753,  74.3136,  39.3825
-   1.183,  11.6006,  9.97808,  19.6128,  113.851,  74.4615,  39.3329
-   1.184,  11.6105,  9.80863,  19.5681,  113.947,  74.6084,   39.283
-   1.185,  11.6203,   9.6399,  19.5436,  114.042,  74.7517,  39.2352
-   1.186,  11.6298,  9.54419,  19.5484,  114.136,   74.892,  39.1889
-   1.187,  11.6394,  9.56243,  19.5808,  114.229,   75.033,  39.1416
-   1.188,   11.649,  9.68671,  19.6281,  114.324,  75.1768,  39.0922
-   1.189,  11.6588,   9.8637,  19.6721,  114.421,  75.3224,  39.0426
-    1.19,  11.6687,  10.0175,  19.6959,  114.519,  75.4677,  38.9948
-   1.191,  11.6788,  10.0823,  19.6905,  114.618,  75.6128,  38.9482
-   1.192,  11.6888,  10.0304,   19.658,  114.717,  75.7589,  38.9008
-   1.193,  11.6988,  9.88411,   19.611,  114.814,  75.9058,  38.8516
-   1.194,  11.7086,  9.70618,  19.5676,  114.909,  76.0513,  38.8022
-   1.195,  11.7182,  9.57288,  19.5446,  115.003,  76.1937,  38.7543
-   1.196,  11.7278,  9.54126,  19.5506,  115.096,  76.3343,  38.7075
-   1.197,  11.7374,   9.6248,  19.5834,  115.191,  76.4758,    38.66
-   1.198,  11.7471,  9.78761,  19.6301,  115.287,    76.62,  38.6111
-   1.199,   11.757,  9.95987,  19.6727,  115.385,  76.7661,  38.5618
-     1.2,   11.767,  10.0678,  19.6949,  115.483,  76.9124,  38.5137
-   1.201,   11.777,  10.0652,  19.6882,  115.582,  77.0581,  38.4667
-   1.202,   11.787,  9.95325,  19.6552,   115.68,  77.2038,  38.4193
-   1.203,  11.7969,  9.78006,  19.6087,  115.776,  77.3493,  38.3706
-   1.204,  11.8066,  9.61983,  19.5668,   115.87,  77.4936,  38.3214
-   1.205,  11.8162,   9.5412,  19.5455,  115.964,  77.6359,  38.2731
-   1.206,  11.8258,  9.57779,  19.5531,  116.058,  77.7768,   38.226
-   1.207,  11.8354,  9.71383,  19.5864,  116.153,  77.9187,  38.1787
-   1.208,  11.8452,  9.89095,  19.6325,   116.25,  78.0634,  38.1302
-   1.209,  11.8552,  10.0332,  19.6737,  116.348,  78.2104,  38.0809
-    1.21,  11.8652,  10.0798,   19.694,  116.447,  78.3576,  38.0324
-   1.211,  11.8753,  10.0107,  19.6856,  116.545,  78.5033,  37.9852
-   1.212,  11.8852,  9.85571,   19.652,  116.642,  78.6478,  37.9382
-   1.213,   11.895,  9.68125,  19.6061,  116.737,   78.792,  37.8898
-   1.214,  11.9046,   9.5621,  19.5657,  116.831,  78.9358,  37.8403
-   1.215,  11.9141,  9.54924,  19.5465,  116.925,  79.0783,  37.7916
-   1.216,  11.9237,   9.6481,  19.5557,  117.019,  79.2195,  37.7445
-   1.217,  11.9335,  9.81624,  19.5898,  117.116,  79.3618,  37.6977
-   1.218,  11.9434,  9.98156,  19.6354,  117.213,  79.5073,  37.6493
-   1.219,  11.9534,  10.0733,  19.6749,  117.312,  79.6553,  37.5997
-    1.22,  11.9635,  10.0521,   19.693,  117.411,  79.8029,  37.5508
-   1.221,  11.9735,  9.92724,  19.6828,  117.508,  79.9478,  37.5039
-   1.222,  11.9833,  9.75226,  19.6484,  117.604,  80.0909,  37.4573
-   1.223,   11.993,  9.60216,  19.6031,  117.698,  80.2343,  37.4088
-   1.224,  12.0025,  9.54122,  19.5645,  117.792,  80.3782,  37.3589
-   1.225,  12.0121,  9.59547,  19.5475,  117.886,  80.5209,  37.3101
-   1.226,  12.0218,  9.74158,  19.5587,  117.981,  80.6624,  37.2634
-   1.227,  12.0316,  9.91689,  19.5936,  118.079,  80.8052,   37.217
-   1.228,  12.0416,  10.0463,  19.6386,  118.177,  80.9519,  37.1683
-   1.229,  12.0517,  10.0743,  19.6762,  118.276,  81.1007,  37.1181
-    1.23,  12.0617,  9.98911,   19.692,  118.374,  81.2479,  37.0693
-   1.231,  12.0716,  9.82725,  19.6797,  118.471,  81.3914,   37.023
-   1.232,  12.0813,  9.65813,  19.6444,  118.565,  81.5334,  36.9766
-   1.233,  12.0909,  9.55421,  19.5997,  118.659,  81.6767,  36.9276
-   1.234,  12.1005,  9.55995,  19.5631,  118.753,  81.8208,  36.8772
-   1.235,  12.1101,  9.67281,  19.5486,  118.848,  81.9636,  36.8287
-   1.236,  12.1199,  9.84435,  19.5619,  118.944,  82.1054,  36.7827
-   1.237,  12.1298,   10.001,  19.5977,  119.042,  82.2492,  36.7362
-   1.238,  12.1398,  10.0758,   19.642,  119.141,  82.3971,  36.6868
-   1.239,  12.1499,  10.0366,  19.6776,   119.24,  82.5462,  36.6363
-    1.24,  12.1599,  9.90035,  19.6908,  119.337,  82.6922,  36.5882
-   1.241,  12.1697,  9.72553,  19.6763,  119.432,  82.8342,  36.5424
-   1.242,  12.1793,  9.58705,  19.6401,  119.526,  82.9756,  36.4957
-   1.243,  12.1889,  9.54418,  19.5962,   119.62,  83.1192,   36.446
-   1.244,  12.1985,  9.61523,  19.5616,  119.714,  83.2636,  36.3955
-   1.245,  12.2082,  9.76966,  19.5499,   119.81,  83.4065,  36.3477
-   1.246,   12.218,  9.94125,  19.5655,  119.908,  83.5488,  36.3021
-   1.247,   12.228,  10.0565,  19.6022,  120.006,  83.6939,  36.2551
-   1.248,  12.2381,   10.066,  19.6457,  120.105,  83.8426,  36.2051
-   1.249,  12.2481,  9.96587,  19.6791,  120.203,  83.9912,  36.1547
-    1.25,   12.258,  9.79903,  19.6893,  120.299,  84.1355,  36.1074
-   1.251,  12.2677,  9.63703,  19.6726,  120.393,  84.2764,  36.0618
-   1.252,  12.2773,  9.54926,  19.6354,  120.487,  84.4179,  36.0144
-   1.253,  12.2869,  9.57325,  19.5924,  120.581,   84.562,  35.9641
-   1.254,  12.2965,  9.69866,  19.5602,  120.676,  84.7066,  35.9141
-   1.255,  12.3063,  9.87166,  19.5515,  120.773,  84.8496,  35.8671
-   1.256,  12.3162,  10.0181,  19.5694,  120.871,  84.9927,  35.8215
-   1.257,  12.3263,  10.0753,   19.607,   120.97,  85.1391,  35.7737
-   1.258,  12.3363,  10.0188,  19.6495,  121.068,  85.2881,  35.7232
-   1.259,  12.3463,  9.87286,  19.6804,  121.165,  85.4354,  35.6735
-    1.26,   12.356,  9.70014,  19.6876,   121.26,  85.5781,  35.6268
-   1.261,  12.3657,  9.57462,  19.6685,  121.354,  85.7184,  35.5811
-   1.262,  12.3752,  9.55003,  19.6305,  121.448,  85.8604,  35.5328
-   1.263,  12.3848,  9.63684,  19.5885,  121.543,   86.005,  35.4823
-   1.264,  12.3946,  9.79776,   19.559,  121.639,  86.1497,   35.433
-   1.265,  12.4044,  9.96379,  19.5533,  121.736,  86.2931,  35.3866
-   1.266,  12.4144,  10.0638,  19.5737,  121.835,  86.4373,  35.3405
-   1.267,  12.4245,   10.055,  19.6121,  121.934,  86.5846,  35.2919
-   1.268,  12.4345,  9.94126,  19.6534,  122.031,  86.7331,  35.2415
-   1.269,  12.4444,  9.77137,  19.6816,  122.127,  86.8787,  35.1926
-    1.27,  12.4541,  9.61815,  19.6856,  122.221,  87.0202,  35.1463
-   1.271,  12.4636,  9.54725,   19.664,  122.315,  87.1605,  35.0999
-   1.272,  12.4732,  9.58896,  19.6252,  122.409,  87.3032,   35.051
-   1.273,  12.4829,  9.72534,  19.5846,  122.505,  87.4482,  35.0008
-   1.274,  12.4927,  9.89788,  19.5579,  122.602,   87.593,  34.9523
-   1.275,  12.5026,  10.0326,  19.5556,    122.7,  87.7371,  34.9059
-   1.276,  12.5127,  10.0719,  19.5784,  122.799,  87.8824,  34.8592
-   1.277,  12.5227,  9.99895,  19.6175,  122.897,  88.0299,  34.8102
-   1.278,  12.5327,   9.8451,  19.6574,  122.994,  88.1772,  34.7602
-   1.279,  12.5424,  9.67634,  19.6825,  123.089,  88.3213,  34.7119
-    1.28,   12.552,  9.56497,  19.6831,  123.182,  88.4621,  34.6655
-   1.281,  12.5616,  9.55866,  19.6591,  123.276,  88.6029,  34.6185
-   1.282,  12.5712,  9.66003,  19.6198,  123.371,  88.7463,  34.5694
-   1.283,  12.5809,  9.82557,  19.5807,  123.467,  88.8916,  34.5196
-   1.284,  12.5909,  9.98431,  19.5572,  123.565,  89.0368,  34.4716
-   1.285,  12.6009,  10.0683,  19.5583,  123.664,  89.1818,   34.425
-   1.286,  12.6109,  10.0415,  19.5836,  123.763,  89.3277,  34.3777
-   1.287,  12.6209,  9.91558,   19.623,   123.86,  89.4747,  34.3286
-   1.288,  12.6307,  9.74453,  19.6612,  123.955,  89.6205,  34.2792
-   1.289,  12.6404,  9.60167,  19.6831,   124.05,  89.7634,  34.2312
-    1.29,    12.65,  9.54816,  19.6802,  124.143,  89.9042,  34.1844
-   1.291,  12.6596,  9.60687,  19.6537,  124.237,  90.0456,  34.1369
-   1.292,  12.6692,  9.75256,  19.6141,  124.333,  90.1895,  34.0879
-   1.293,  12.6791,  9.92274,  19.5769,   124.43,  90.3352,  34.0387
-   1.294,  12.6891,  10.0445,  19.5568,  124.529,  90.4812,  33.9907
-   1.295,  12.6991,  10.0657,  19.5614,  124.628,  90.6268,  33.9437
-   1.296,  12.7091,  9.97734,  19.5891,  124.726,  90.7727,  33.8962
-   1.297,   12.719,  9.81736,  19.6287,  124.822,  90.9186,  33.8474
-   1.298,  12.7288,  9.65435,  19.6649,  124.917,  91.0632,  33.7982
-   1.299,  12.7384,  9.55815,  19.6833,   125.01,  91.2055,  33.7502
-     1.3,  12.7479,  9.56992,  19.6768,  125.104,  91.3465,   33.703
-   1.301,  12.7576,  9.68453,   19.648,  125.199,  91.4884,  33.6555
-   1.302,  12.7673,   9.8528,  19.6084,  125.296,  91.6329,  33.6068
-   1.303,  12.7773,  10.0026,  19.5734,  125.394,  91.7794,  33.5577
-   1.304,  12.7873,  10.0698,  19.5568,  125.493,  91.9261,  33.5095
-   1.305,  12.7974,  10.0256,  19.5651,  125.591,  92.0719,  33.4623
-   1.306,  12.8073,  9.88911,  19.5949,  125.688,  92.2169,  33.4149
-   1.307,  12.8171,  9.71882,  19.6345,  125.784,  92.3617,  33.3663
-   1.308,  12.8268,  9.58772,  19.6683,  125.878,  92.5056,  33.3172
-   1.309,  12.8363,  9.55194,  19.6829,  125.971,  92.6478,  33.2689
-    1.31,  12.8459,  9.62675,  19.6728,  126.066,   92.789,  33.2217
-   1.311,  12.8556,  9.78001,   19.642,  126.162,  92.9315,  33.1744
-   1.312,  12.8655,    9.946,  19.6026,  126.259,  93.0768,  33.1258
-   1.313,  12.8755,  10.0536,  19.5702,  126.358,  93.2242,  33.0765
-   1.314,  12.8856,  10.0568,  19.5574,  126.457,  93.3712,  33.0281
-   1.315,  12.8956,   9.9542,  19.5694,  126.554,  93.5164,  32.9811
-   1.316,  12.9054,  9.78994,  19.6012,   126.65,  93.6604,  32.9339
-   1.317,  12.9151,  9.63441,  19.6403,  126.745,  93.8043,  32.8853
-   1.318,  12.9247,  9.55421,  19.6713,  126.839,  93.9479,  32.8358
-   1.319,  12.9343,  9.58366,   19.682,  126.933,  94.0902,  32.7874
-    1.32,   12.944,  9.71005,  19.6683,  127.028,  94.2317,  32.7406
-   1.321,  12.9537,  9.87917,  19.6356,  127.125,  94.3748,  32.6935
-   1.322,  12.9637,  10.0185,  19.5969,  127.223,  94.5213,  32.6447
-   1.323,  12.9737,  10.0684,  19.5674,  127.322,  94.6694,   32.595
-   1.324,  12.9838,  10.0076,  19.5587,   127.42,  94.8162,  32.5468
-   1.325,  12.9937,  9.86215,  19.5742,  127.517,  94.9603,  32.5002
-   1.326,  13.0035,  9.69447,  19.6077,  127.612,  95.1032,  32.4531
-   1.327,  13.0131,  9.57641,  19.6459,  127.706,  95.2468,   32.404
-   1.328,  13.0227,  9.55851,  19.6739,  127.799,  95.3905,  32.3542
-   1.329,  13.0323,  9.64837,  19.6805,  127.894,  95.5328,  32.3061
-    1.33,   13.042,   9.8074,  19.6632,   127.99,  95.6746,  32.2598
-   1.331,  13.0519,  9.96742,   19.629,  128.088,  95.8187,  32.2127
-   1.332,  13.0619,  10.0599,  19.5913,  128.187,  95.9663,  32.1633
-   1.333,   13.072,  10.0452,  19.5651,  128.285,  96.1148,  32.1134
-   1.334,   13.082,   9.9298,  19.5606,  128.383,  96.2606,  32.0656
-   1.335,  13.0918,  9.76314,  19.5795,  128.479,  96.4033,  32.0195
-   1.336,  13.1015,  9.61668,  19.6144,  128.573,  96.5457,  31.9722
-   1.337,  13.1111,  9.55315,  19.6514,  128.667,  96.6895,  31.9224
-   1.338,  13.1207,   9.5997,  19.6759,  128.761,  96.8332,  31.8726
-   1.339,  13.1303,  9.73631,  19.6782,  128.856,  96.9755,  31.8252
-    1.34,  13.1401,  9.90439,  19.6576,  128.953,  97.1178,  31.7792
-   1.341,  13.1501,  10.0319,  19.6222,  129.052,  97.2632,  31.7316
-   1.342,  13.1602,  10.0643,   19.586,  129.151,  97.4119,  31.6815
-   1.343,  13.1702,  9.98766,  19.5634,  129.249,  97.5599,  31.6318
-   1.344,  13.1801,    9.835,  19.5632,  129.345,  97.7041,  31.5848
-   1.345,  13.1899,  9.67175,  19.5854,   129.44,  97.8457,   31.539
-   1.346,  13.1995,  9.56785,  19.6213,  129.534,  97.9881,  31.4909
-   1.347,   13.209,  9.56776,  19.6565,  129.628,  98.1323,  31.4405
-   1.348,  13.2187,  9.67146,  19.6772,  129.723,  98.2761,  31.3911
-   1.349,  13.2284,  9.83443,  19.6752,  129.819,  98.4183,  31.3446
-    1.35,  13.2383,  9.98681,  19.6514,  129.917,  98.5615,  31.2986
-   1.351,  13.2484,  10.0633,  19.6152,  130.016,  98.7084,  31.2501
-   1.352,  13.2584,  10.0313,  19.5811,  130.114,  98.8575,  31.1996
-   1.353,  13.2684,  9.90443,  19.5624,  130.211,  99.0042,  31.1506
-   1.354,  13.2782,  9.73723,  19.5665,  130.307,  99.1468,  31.1044
-   1.355,  13.2879,  9.60133,  19.5918,  130.401,  99.2878,  31.0582
-   1.356,  13.2974,  9.55492,  19.6282,  130.495,  99.4308,  31.0092
-   1.357,   13.307,  9.61783,  19.6612,  130.589,  99.5754,  30.9586
-   1.358,  13.3167,  9.76302,  19.6778,  130.685,   99.719,  30.9101
-   1.359,  13.3266,  9.92824,  19.6715,  130.782,  99.8615,  30.8642
-    1.36,  13.3365,  10.0427,  19.6448,  130.881,  100.006,  30.8177
-   1.361,  13.3466,  10.0573,  19.6083,  130.979,  100.154,  30.7682
-   1.362,  13.3566,  9.96605,  19.5766,  131.077,  100.303,  30.7178
-   1.363,  13.3665,  9.80796,  19.5622,  131.173,  100.448,  30.6697
-   1.364,  13.3762,  9.65086,  19.5707,  131.268,  100.589,   30.624
-   1.365,  13.3858,  9.56205,  19.5987,  131.362,   100.73,  30.5771
-   1.366,  13.3954,  9.57952,  19.6351,  131.456,  100.874,  30.5273
-   1.367,   13.405,  9.69572,  19.6654,  131.551,  101.019,   30.477
-   1.368,  13.4148,  9.86079,  19.6776,  131.648,  101.162,  30.4295
-   1.369,  13.4247,   10.004,   19.667,  131.746,  101.305,  30.3837
-    1.37,  13.4348,   10.064,  19.6377,  131.845,  101.451,  30.3363
-   1.371,  13.4448,  10.0151,  19.6016,  131.943,    101.6,  30.2863
-   1.372,  13.4548,  9.87843,  19.5728,   132.04,  101.747,  30.2364
-   1.373,  13.4646,  9.71255,  19.5628,  132.135,   101.89,  30.1892
-   1.374,  13.4742,  9.58855,  19.5756,  132.229,  102.031,  30.1434
-   1.375,  13.4838,  9.55952,  19.6059,  132.323,  102.173,  30.0955
-   1.376,  13.4934,  9.63782,  19.6417,  132.417,  102.317,  30.0453
-   1.377,  13.5031,  9.78982,  19.6688,  132.513,  102.462,  29.9958
-   1.378,   13.513,  9.95033,  19.6765,  132.611,  102.605,   29.949
-   1.379,   13.523,  10.0506,  19.6617,   132.71,   102.75,  29.9029
-    1.38,   13.533,  10.0477,  19.6304,  132.808,  102.896,  29.8546
-   1.381,   13.543,  9.94291,  19.5951,  132.906,  103.045,  29.8044
-   1.382,  13.5529,  9.78128,  19.5697,  133.002,   103.19,  29.7554
-   1.383,  13.5626,  9.63209,  19.5644,  133.096,  103.332,  29.7088
-   1.384,  13.5722,  9.55926,  19.5812,   133.19,  103.473,  29.6624
-   1.385,  13.5818,  9.59395,  19.6134,  133.284,  103.615,  29.6137
-   1.386,  13.5914,  9.72123,  19.6481,  133.379,   103.76,  29.5636
-   1.387,  13.6012,  9.88651,  19.6715,  133.476,  103.905,   29.515
-   1.388,  13.6112,  10.0189,  19.6744,  133.575,  104.049,  29.4685
-   1.389,  13.6212,  10.0617,  19.6557,  133.673,  104.194,  29.4218
-    1.39,  13.6312,  9.99661,  19.6228,  133.771,  104.342,  29.3728
-   1.391,  13.6412,  9.85151,   19.589,  133.868,  104.489,  29.3229
-   1.392,  13.6509,  9.68862,  19.5675,  133.963,  104.633,  29.2746
-   1.393,  13.6606,  9.57773,   19.567,  134.057,  104.774,  29.2281
-   1.394,  13.6701,  9.56633,  19.5875,  134.151,  104.915,  29.1811
-   1.395,  13.6798,   9.6593,   19.621,  134.246,  105.059,   29.132
-   1.396,  13.6895,  9.81681,  19.6539,  134.342,  105.204,  29.0823
-   1.397,  13.6994,  9.97142,  19.6733,   134.44,  105.349,  29.0343
-   1.398,  13.7094,   10.057,  19.6714,  134.539,  105.494,  28.9877
-   1.399,  13.7194,  10.0369,  19.6491,  134.637,   105.64,  28.9403
-     1.4,  13.7294,  9.91986,  19.6152,  134.734,  105.787,  28.8911
-   1.401,  13.7393,  9.75598,  19.5834,   134.83,  105.933,  28.8418
-   1.402,  13.7489,  9.61537,  19.5662,  134.924,  106.075,  28.7939
-   1.403,  13.7585,  9.55808,  19.5705,  135.018,  106.216,  28.7472
-   1.404,  13.7681,  9.60842,  19.5945,  135.112,  106.358,  28.6996
-   1.405,  13.7778,  9.74463,  19.6285,  135.208,  106.502,  28.6504
-   1.406,  13.7876,  9.90827,  19.6591,  135.305,  106.647,  28.6013
-   1.407,  13.7976,  10.0293,   19.674,  135.404,  106.793,  28.5535
-   1.408,  13.8076,  10.0561,  19.6674,  135.502,  106.938,  28.5066
-   1.409,  13.8176,  9.97757,  19.6419,    135.6,  107.084,  28.4588
-    1.41,  13.8276,  9.82778,  19.6077,  135.696,  107.231,  28.4097
-   1.411,  13.8373,  9.67125,  19.5786,  135.791,  107.375,  28.3608
-   1.412,  13.8469,  9.57522,   19.566,  135.885,  107.517,   28.313
-   1.413,  13.8565,  9.58075,   19.575,  135.979,  107.658,   28.266
-   1.414,  13.8661,  9.68513,  19.6019,  136.074,  107.801,  28.2181
-   1.415,  13.8759,  9.84308,  19.6359,  136.171,  107.946,  28.1691
-   1.416,  13.8858,  9.98624,  19.6636,  136.269,  108.092,  28.1203
-   1.417,  13.8958,  10.0526,  19.6737,  136.367,  108.238,  28.0725
-   1.418,  13.9059,  10.0134,  19.6624,  136.466,  108.383,  28.0253
-   1.419,  13.9158,  9.88521,  19.6343,  136.563,  108.529,  27.9774
-    1.42,  13.9256,  9.72329,  19.6005,  136.658,  108.674,  27.9285
-   1.421,  13.9353,  9.59773,  19.5746,  136.752,  108.818,  27.8797
-   1.422,  13.9449,  9.56337,  19.5669,  136.846,  108.959,  27.8319
-   1.423,  13.9545,   9.6361,  19.5804,  136.941,  109.101,  27.7847
-   1.424,  13.9642,  9.78585,  19.6097,  137.037,  109.244,  27.7369
-   1.425,   13.974,  9.94914,   19.643,  137.134,  109.389,   27.688
-   1.426,   13.984,  10.0561,  19.6671,  137.233,  109.536,  27.6391
-   1.427,  13.9941,  10.0601,  19.6723,  137.331,  109.683,  27.5913
-   1.428,  14.0041,  9.95804,  19.6566,  137.429,  109.828,  27.5441
-   1.429,   14.014,   9.7915,  19.6263,  137.525,  109.973,  27.4963
-    1.43,  14.0237,   9.6296,  19.5936,   137.62,  110.117,  27.4474
-   1.431,  14.0333,  9.53981,  19.5716,  137.713,   110.26,  27.3985
-   1.432,  14.0428,  9.55958,  19.5689,  137.807,  110.402,  27.3507
-   1.433,  14.0524,  9.68078,  19.5866,  137.902,  110.543,  27.3036
-   1.434,  14.0622,  9.85332,  19.6177,  137.999,  110.687,  27.2558
-   1.435,  14.0721,  10.0065,  19.6496,  138.097,  110.833,  27.2068
-   1.436,  14.0822,  10.0788,  19.6695,  138.196,  110.981,  27.1578
-   1.437,  14.0922,  10.0432,  19.6697,  138.294,  111.127,  27.1101
-   1.438,  14.1022,  9.91803,    19.65,  138.392,  111.272,  27.0631
-   1.439,  14.1121,  9.75785,  19.6183,  138.487,  111.416,  27.0153
-    1.44,  14.1218,  9.62972,  19.5874,  138.582,  111.561,  26.9661
-   1.441,  14.1314,  9.58427,  19.5696,  138.676,  111.704,   26.917
-   1.442,   14.141,  9.63459,   19.572,   138.77,  111.846,  26.8695
-   1.443,  14.1507,  9.75183,  19.5936,  138.866,  111.987,  26.8227
-   1.444,  14.1605,  9.87921,  19.6257,  138.963,  112.132,  26.7747
-   1.445,  14.1704,  9.95803,  19.6554,  139.061,  112.278,  26.7253
-   1.446,  14.1804,  9.95425,  19.6709,  139.158,  112.425,  26.6763
-   1.447,  14.1903,  9.87381,  19.6659,  139.255,   112.57,   26.629
-   1.448,  14.2001,  9.75976,  19.6427,  139.351,  112.713,  26.5823
-   1.449,  14.2098,  9.67252,  19.6104,  139.446,  112.856,  26.5341
-    1.45,  14.2195,  9.66165,   19.582,   139.54,  113.001,  26.4845
-   1.451,  14.2292,  9.74186,  19.5689,  139.636,  113.145,  26.4357
-   1.452,   14.239,  9.88394,  19.5763,  139.733,  113.288,  26.3887
-   1.453,  14.2489,  10.0253,  19.6012,  139.831,  113.432,   26.342
-   1.454,   14.259,   10.096,  19.6335,   139.93,   113.58,  26.2934
-   1.455,  14.2691,  10.0498,  19.6604,  140.029,  113.728,  26.2435
-   1.456,   14.279,  9.88682,  19.6709,  140.126,  113.875,  26.1949
-   1.457,  14.2888,  9.65724,  19.6611,  140.221,  114.017,  26.1484
-   1.458,  14.2984,  9.44472,  19.6348,  140.313,  114.157,  26.1017
-   1.459,  14.3078,  9.33466,  19.6027,  140.405,  114.298,  26.0528
-    1.46,  14.3171,  9.38033,  19.5776,  140.497,   114.44,  26.0027
-   1.461,  14.3266,  9.58038,  19.5695,  140.591,  114.582,  25.9542
-   1.462,  14.3363,  9.87697,  19.5817,  140.688,  114.724,  25.9078
-   1.463,  14.3464,  10.1754,  19.6092,  140.788,  114.869,   25.861
-   1.464,  14.3566,   10.378,   19.641,  140.889,  115.019,   25.812
-   1.465,   14.367,  10.4181,  19.6643,  140.992,   115.17,  25.7623
-   1.466,  14.3774,  10.2832,  19.6697,  141.093,   115.32,  25.7142
-   1.467,  14.3875,  10.0165,  19.6552,  141.191,  115.466,  25.6677
-   1.468,  14.3974,  9.69934,  19.6267,  141.286,   115.61,    25.62
-   1.469,  14.4069,  9.42146,  19.5955,  141.378,  115.754,  25.5703
-    1.47,  14.4163,   9.2514,  19.5742,  141.469,  115.895,   25.521
-   1.471,  14.4255,  9.21822,  19.5714,   141.56,  116.032,  25.4743
-   1.472,  14.4348,  9.30996,   19.588,  141.651,  116.169,  25.4285
-   1.473,  14.4442,  9.48704,  19.6175,  141.744,  116.309,  25.3804
-   1.474,  14.4538,  9.70255,  19.6479,  141.839,  116.454,  25.3293
-   1.475,  14.4636,  9.91934,   19.667,  141.936,  116.601,   25.279
-   1.476,  14.4736,  10.1166,  19.6672,  142.036,  116.746,  25.2323
-   1.477,  14.4838,  10.2845,  19.6485,  142.137,  116.891,  25.1876
-   1.478,  14.4942,  10.4117,  19.6184,  142.239,  117.039,  25.1408
-   1.479,  14.5046,   10.475,   19.589,  142.341,  117.192,  25.0907
-    1.48,  14.5151,  10.4386,  19.5721,  142.444,  117.345,  25.0401
-   1.481,  14.5254,  10.2675,  19.5745,  142.545,  117.495,  24.9915
-   1.482,  14.5355,  9.94853,  19.5952,  142.642,  117.641,  24.9443
-   1.483,  14.5452,  9.51199,  19.6258,  142.735,  117.784,  24.8967
-   1.484,  14.5545,     9.04,  19.6539,  142.824,  117.923,   24.849
-   1.485,  14.5634,  8.65493,  19.6684,  142.909,  118.056,  24.8026
-   1.486,  14.5719,  8.48722,  19.6634,  142.992,  118.187,  24.7561
-   1.487,  14.5805,  8.63165,   19.641,  143.077,   118.32,  24.7066
-   1.488,  14.5894,  9.10726,  19.6102,  143.166,   118.46,  24.6537
-   1.489,  14.5988,  9.83689,  19.5834,  143.263,  118.605,  24.6022
-    1.49,  14.6091,  10.6567,  19.5714,  143.367,  118.751,  24.5568
-   1.491,  14.6201,  11.3556,   19.579,  143.479,  118.899,  24.5158
-   1.492,  14.6316,  11.7345,   19.603,  143.594,  119.056,  24.4721
-   1.493,  14.6433,  11.6662,  19.6338,  143.708,  119.222,  24.4209
-   1.494,  14.6547,  11.1365,   19.659,  143.818,   119.39,  24.3651
-   1.495,  14.6654,  10.2539,  19.6684,  143.918,  119.548,  24.3119
-   1.496,  14.6752,  9.22231,  19.6584,  144.009,   119.69,  24.2653
-   1.497,  14.6839,  8.28743,  19.6329,   144.09,  119.818,  24.2233
-   1.498,  14.6919,   7.6719,  19.6023,  144.165,  119.939,  24.1808
-   1.499,  14.6995,  7.51958,  19.5789,  144.239,  120.059,  24.1348
-     1.5,  14.7072,  7.86347,  19.5721,  144.316,  120.186,  24.0841
-   1.501,  14.7154,  8.62426,  19.5846,  144.401,  120.321,  24.0296
-   1.502,  14.7246,  9.63606,  19.6113,  144.495,  120.466,  23.9746
-   1.503,  14.7347,  10.6891,  19.6414,    144.6,  120.615,  23.9247
-   1.504,  14.7459,  11.5756,  19.6629,  144.714,  120.766,  23.8834
-   1.505,  14.7577,  12.1289,   19.667,  144.833,  120.919,  23.8464
-   1.506,  14.7699,  12.2481,  19.6522,  144.953,  121.081,  23.8039
-   1.507,   14.782,  11.9092,  19.6245,   145.07,  121.254,  23.7498
-   1.508,  14.7935,  11.1648,  19.5951,  145.179,  121.428,  23.6888
-   1.509,  14.8042,   10.136,  19.5757,  145.279,  121.589,  23.6324
-    1.51,  14.8137,  8.99745,  19.5742,  145.367,  121.727,  23.5877
-   1.511,  14.8222,  7.95537,  19.5912,  145.445,  121.847,  23.5509
-   1.512,  14.8298,  7.21667,  19.6197,  145.516,  121.961,  23.5119
-   1.513,  14.8369,  6.95075,  19.6483,  145.584,  122.078,  23.4644
-   1.514,   14.844,  7.24923,  19.6654,  145.655,  122.202,  23.4096
-   1.515,  14.8517,  8.09374,  19.6642,  145.734,  122.334,  23.3532
-   1.516,  14.8604,  9.34367,  19.6452,  145.826,  122.472,  23.3003
-   1.517,  14.8704,   10.753,  19.6161,  145.932,  122.618,  23.2531
-   1.518,  14.8818,   12.018,  19.5886,  146.049,  122.772,  23.2109
-   1.519,  14.8942,  12.8469,  19.5739,  146.175,  122.934,  23.1703
-    1.52,  14.9072,  13.0355,  19.5778,  146.303,  123.106,  23.1257
-   1.521,    14.92,  12.5247,  19.5987,  146.426,  123.282,  23.0744
-   1.522,  14.9319,  11.4234,  19.6281,  146.538,  123.455,  23.0192
-   1.523,  14.9426,  9.98507,  19.6542,  146.636,  123.613,  22.9663
-   1.524,  14.9519,  8.54486,  19.6664,   146.72,  123.751,  22.9191
-   1.525,  14.9599,  7.43192,  19.6599,  146.793,  123.874,  22.8749
-   1.526,  14.9671,  6.88452,  19.6373,  146.861,   123.99,  22.8292
-   1.527,   14.974,  6.99181,  19.6078,  146.929,  124.106,  22.7808
-   1.528,  14.9813,  7.67898,  19.5833,  147.004,  124.226,  22.7329
-   1.529,  14.9895,  8.73849,  19.5736,   147.09,  124.352,  22.6872
-    1.53,  14.9988,   9.8955,  19.5827,  147.187,   124.49,  22.6407
-   1.531,  15.0092,  10.8858,  19.6068,  147.294,  124.643,  22.5895
-   1.532,  15.0204,  11.5221,  19.6362,  147.407,  124.808,  22.5347
-   1.533,  15.0321,  11.7309,   19.659,  147.522,  124.975,  22.4822
-   1.534,  15.0437,  11.5516,   19.666,  147.635,  125.134,  22.4367
-   1.535,   15.055,  11.1053,  19.6544,  147.744,  125.285,  22.3967
-   1.536,  15.0659,  10.5453,   19.629,  147.848,  125.433,  22.3556
-   1.537,  15.0761,  10.0101,     19.6,  147.946,  125.581,  22.3082
-   1.538,  15.0859,  9.59033,  19.5792,   148.04,  125.731,  22.2545
-   1.539,  15.0954,  9.31913,  19.5748,  148.132,  125.879,  22.1987
-    1.54,  15.1046,  9.18167,  19.5888,  148.222,  126.023,  22.1457
-   1.541,  15.1138,  9.13688,  19.6153,  148.311,   126.16,  22.0981
-   1.542,  15.1229,  9.14034,  19.6436,  148.401,  126.293,  22.0556
-   1.543,  15.1321,  9.16038,  19.6624,  148.491,  126.423,  22.0146
-   1.544,  15.1413,  9.18416,   19.664,  148.581,  126.558,  21.9703
-   1.545,  15.1505,  9.21549,  19.6478,  148.671,  126.698,  21.9203
-   1.546,  15.1597,  9.26853,  19.6204,  148.762,  126.842,  21.8664
-   1.547,   15.169,  9.36146,   19.593,  148.854,  126.987,  21.8135
-   1.548,  15.1785,  9.51196,  19.5765,  148.947,  127.128,  21.7646
-   1.549,  15.1881,  9.73334,  19.5776,  149.043,  127.269,  21.7183
-    1.55,   15.198,  10.0295,  19.5959,  149.141,  127.413,  21.6716
-   1.551,  15.2082,  10.3872,  19.6238,  149.243,   127.56,   21.624
-   1.552,  15.2188,  10.7687,  19.6502,  149.349,   127.71,  21.5776
-   1.553,  15.2297,  11.1076,  19.6642,  149.458,  127.862,  21.5333
-   1.554,  15.2409,  11.3151,  19.6604,  149.569,  128.017,  21.4882
-   1.555,  15.2522,  11.2985,  19.6403,   149.68,  128.178,  21.4379
-   1.556,  15.2634,  10.9906,   19.612,  149.787,  128.343,  21.3824
-   1.557,   15.274,  10.3812,   19.587,  149.889,  128.503,  21.3273
-   1.558,   15.284,  9.53884,  19.5754,  149.983,   128.65,  21.2784
-   1.559,  15.2931,  8.61253,  19.5819,  150.067,   128.78,  21.2367
-    1.56,  15.3013,   7.8053,  19.6038,  150.144,  128.901,  21.1971
-   1.561,  15.3088,  7.32502,  19.6322,  150.216,  129.019,  21.1533
-   1.562,  15.3162,  7.32423,  19.6556,  150.288,  129.141,  21.1031
-   1.563,  15.3238,  7.84833,  19.6645,  150.365,  129.269,  21.0493
-   1.564,  15.3321,  8.81078,  19.6555,  150.451,  129.404,  20.9961
-   1.565,  15.3415,  10.0065,  19.6321,  150.549,  129.546,  20.9459
-   1.566,  15.3521,  11.1623,  19.6038,  150.659,  129.698,  20.8984
-   1.567,  15.3637,  12.0112,  19.5822,  150.777,  129.857,  20.8523
-   1.568,  15.3759,  12.3667,  19.5759,  150.898,  130.023,  20.8065
-   1.569,  15.3881,  12.1741,  19.5875,  151.017,  130.189,   20.761
-    1.57,     15.4,  11.5221,  19.6122,   151.13,   130.35,  20.7154
-   1.571,   15.411,  10.6105,    19.64,  151.234,  130.506,  20.6686
-   1.572,  15.4212,  9.68588,  19.6596,  151.329,  130.655,  20.6193
-   1.573,  15.4305,  8.96642,  19.6632,  151.417,  130.799,   20.567
-   1.574,  15.4393,  8.58094,  19.6492,  151.502,  130.938,  20.5132
-   1.575,  15.4479,   8.5413,  19.6235,  151.585,  131.074,  20.4613
-   1.576,  15.4565,  8.75502,  19.5964,  151.671,  131.206,  20.4146
-   1.577,  15.4654,  9.07085,  19.5789,   151.76,  131.335,  20.3731
-   1.578,  15.4746,  9.33937,  19.5781,  151.852,  131.466,  20.3326
-   1.579,   15.484,  9.46629,  19.5943,  151.945,  131.603,  20.2877
-    1.58,  15.4935,  9.44071,  19.6208,  152.037,  131.747,  20.2363
-   1.581,  15.5029,  9.33019,   19.647,  152.129,  131.894,  20.1815
-   1.582,  15.5121,  9.24741,  19.6621,   152.22,  132.038,  20.1285
-   1.583,  15.5214,  9.30227,  19.6602,  152.311,  132.177,  20.0799
-   1.584,  15.5309,  9.55775,   19.642,  152.405,  132.316,  20.0335
-   1.585,  15.5406,  10.0045,  19.6149,  152.503,  132.459,  19.9865
-   1.586,  15.5509,  10.5617,  19.5899,  152.606,  132.608,  19.9389
-   1.587,  15.5617,  11.1011,  19.5772,  152.715,   132.76,  19.8932
-   1.588,   15.573,  11.4859,  19.5819,  152.828,  132.914,  19.8501
-   1.589,  15.5846,  11.6085,   19.602,  152.942,  133.071,  19.8056
-    1.59,  15.5961,  11.4184,  19.6293,  153.054,  133.234,  19.7555
-   1.591,  15.6073,  10.9324,  19.6528,  153.161,    133.4,  19.6998
-   1.592,  15.6179,  10.2276,   19.663,  153.261,  133.559,  19.6441
-   1.593,  15.6277,  9.42273,  19.6557,  153.354,  133.706,  19.5941
-   1.594,  15.6367,  8.65332,  19.6339,  153.439,  133.838,  19.5503
-   1.595,  15.6451,   8.0479,  19.6066,  153.518,  133.962,  19.5086
-   1.596,   15.653,  7.70771,  19.5847,  153.593,  134.083,  19.4647
-   1.597,  15.6607,  7.69146,  19.5772,  153.669,  134.205,  19.4176
-   1.598,  15.6685,  8.00545,  19.5871,  153.747,  134.331,  19.3688
-   1.599,  15.6768,  8.59997,  19.6103,  153.832,  134.462,  19.3191
-     1.6,  15.6858,  9.37402,  19.6374,  153.924,  134.601,  19.2683
-   1.601,  15.6956,  10.1903,  19.6573,  154.024,  134.749,  19.2165
-   1.602,  15.7061,  10.9003,  19.6621,   154.13,  134.904,  19.1651
-   1.603,  15.7173,   11.377,  19.6498,  154.242,  135.063,  19.1159
-   1.604,  15.7287,  11.5452,  19.6254,  154.355,  135.221,  19.0696
-   1.605,  15.7402,  11.4035,  19.5989,  154.467,  135.377,   19.026
-   1.606,  15.7514,  11.0249,   19.581,  154.575,   135.53,  18.9837
-   1.607,  15.7622,  10.5368,   19.579,  154.679,  135.679,  18.9398
-   1.608,  15.7725,  10.0816,  19.5936,  154.778,  135.829,  18.8912
-   1.609,  15.7824,  9.77104,  19.6189,  154.873,   135.98,  18.8372
-    1.61,  15.7921,   9.6493,  19.6446,  154.968,  136.131,  18.7817
-   1.611,  15.8018,  9.67887,  19.6603,  155.063,  136.278,  18.7298
-   1.612,  15.8115,  9.75647,  19.6595,  155.159,   136.42,  18.6833
-   1.613,  15.8213,  9.75465,  19.6427,  155.254,   136.56,   18.639
-   1.614,  15.8309,  9.57544,  19.6167,  155.348,    136.7,  18.5931
-   1.615,  15.8403,   9.1963,  19.5921,  155.439,   136.84,  18.5458
-   1.616,  15.8493,  8.69005,  19.5789,  155.524,  136.973,  18.5002
-   1.617,  15.8577,  8.20923,  19.5824,  155.604,    137.1,  18.4567
-   1.618,  15.8658,  7.93812,  19.6012,  155.682,  137.225,  18.4107
-   1.619,  15.8738,  8.02779,  19.6275,  155.761,  137.356,   18.358
-    1.62,  15.8821,  8.53726,  19.6508,  155.845,  137.494,  18.3008
-   1.621,   15.891,  9.40244,  19.6615,  155.937,  137.637,  18.2463
-   1.622,  15.9009,  10.4456,  19.6553,   156.04,  137.781,  18.1992
-   1.623,  15.9119,  11.4238,  19.6348,  156.152,  137.931,  18.1571
-   1.624,  15.9236,  12.1013,  19.6083,   156.27,  138.089,  18.1141
-   1.625,  15.9359,  12.3206,  19.5867,  156.391,  138.255,  18.0678
-   1.626,   15.948,  12.0491,  19.5786,  156.509,  138.422,  18.0205
-   1.627,  15.9598,  11.3855,  19.5874,  156.621,  138.583,   17.974
-   1.628,  15.9707,  10.5238,  19.6094,  156.724,  138.738,  17.9268
-   1.629,  15.9808,  9.68917,  19.6357,  156.819,  138.888,  17.8758
-    1.63,  15.9902,  9.06733,  19.6555,  156.908,  139.034,  17.8215
-   1.631,  15.9991,  8.75242,  19.6609,  156.994,  139.175,  17.7679
-   1.632,  16.0078,  8.72899,  19.6496,   157.08,  139.311,  17.7182
-   1.633,  16.0167,  8.89251,  19.6263,  157.167,  139.443,  17.6728
-   1.634,  16.0257,  9.09814,  19.6005,  157.256,  139.574,  17.6296
-   1.635,  16.0348,  9.21888,  19.5827,  157.347,  139.707,  17.5868
-   1.636,   16.044,  9.19175,  19.5801,  157.437,  139.841,  17.5428
-   1.637,  16.0531,  9.03675,  19.5937,  157.526,  139.978,  17.4956
-   1.638,  16.0621,  8.84401,   19.618,  157.612,  140.116,  17.4446
-   1.639,  16.0709,  8.73598,  19.6431,  157.698,  140.256,  17.3916
-    1.64,  16.0796,  8.82002,  19.6587,  157.785,  140.394,  17.3397
-   1.641,  16.0886,  9.14832,  19.6585,  157.874,  140.532,  17.2899
-   1.642,   16.098,  9.69836,  19.6427,  157.969,  140.674,  17.2403
-   1.643,  16.1081,  10.3787,  19.6176,  158.071,  140.822,  17.1907
-   1.644,  16.1188,  11.0556,  19.5936,   158.18,  140.974,  17.1436
-   1.645,  16.1301,  11.5904,  19.5804,  158.293,  141.127,  17.1016
-   1.646,  16.1419,  11.8749,  19.5833,   158.41,  141.282,  17.0618
-   1.647,  16.1537,  11.8551,  19.6012,  158.526,  141.442,  17.0178
-   1.648,  16.1654,  11.5388,  19.6266,  158.639,  141.609,  16.9661
-   1.649,  16.1767,  10.9876,  19.6494,  158.747,  141.775,  16.9107
-    1.65,  16.1873,  10.2997,  19.6601,  158.848,  141.932,   16.858
-   1.651,  16.1973,  9.58798,  19.6545,  158.942,  142.078,  16.8095
-   1.652,  16.2065,  8.95882,  19.6348,   159.03,  142.217,  16.7611
-   1.653,  16.2153,  8.49561,  19.6092,  159.113,  142.354,  16.7103
-   1.654,  16.2236,  8.24685,   19.588,  159.194,  142.486,  16.6604
-   1.655,  16.2319,   8.2201,  19.5799,  159.275,  142.611,  16.6161
-   1.656,  16.2402,  8.38252,  19.5882,  159.357,  142.731,  16.5768
-   1.657,  16.2487,  8.66892,  19.6094,  159.442,  142.856,  16.5356
-   1.658,  16.2575,  8.99752,  19.6348,  159.531,  142.991,  16.4873
-   1.659,  16.2667,  9.29138,  19.6542,  159.622,  143.134,  16.4338
-    1.66,  16.2761,  9.50065,  19.6596,  159.715,   143.28,  16.3804
-   1.661,  16.2856,   9.6186,  19.6489,  159.809,  143.425,  16.3296
-   1.662,  16.2953,  9.68469,  19.6264,  159.904,  143.569,  16.2796
-   1.663,   16.305,  9.77103,  19.6013,      160,  143.715,  16.2288
-   1.664,  16.3149,  9.95438,  19.5839,  160.098,  143.862,  16.1791
-   1.665,   16.325,  10.2818,  19.5813,  160.199,  144.007,  16.1331
-   1.666,  16.3355,  10.7424,  19.5944,  160.304,  144.153,  16.0907
-   1.667,  16.3465,  11.2574,  19.6179,  160.414,  144.303,  16.0487
-   1.668,   16.358,  11.6945,  19.6423,  160.529,   144.46,  16.0042
-   1.669,  16.3698,  11.9064,  19.6575,  160.646,  144.623,  15.9567
-    1.67,  16.3816,  11.7802,  19.6573,  160.762,   144.79,  15.9063
-   1.671,  16.3932,  11.2823,   19.642,  160.872,  144.956,  15.8534
-   1.672,   16.404,  10.4806,  19.6177,  160.975,  145.116,  15.7994
-   1.673,   16.414,  9.53412,  19.5944,  161.069,  145.267,   15.747
-   1.674,  16.4231,  8.65039,  19.5816,  161.153,  145.405,  15.6981
-   1.675,  16.4315,  8.02353,  19.5845,  161.232,  145.533,  15.6518
-   1.676,  16.4394,  7.77405,  19.6018,  161.308,  145.657,  15.6057
-   1.677,  16.4472,   7.9115,  19.6265,  161.386,  145.779,    15.56
-   1.678,  16.4553,  8.33416,  19.6485,  161.468,  145.903,  15.5165
-   1.679,  16.4639,  8.86692,  19.6589,  161.555,  146.029,  15.4747
-    1.68,   16.473,  9.32429,  19.6533,  161.646,  146.162,  15.4303
-   1.681,  16.4825,   9.5764,  19.6342,   161.74,  146.306,  15.3793
-   1.682,  16.4921,  9.59371,  19.6093,  161.834,  146.456,  15.3235
-   1.683,  16.5016,  9.45413,  19.5888,  161.927,  146.604,  15.2687
-   1.684,   16.511,  9.30967,  19.5812,  162.018,  146.746,  15.2188
-   1.685,  16.5203,  9.32479,  19.5893,   162.11,  146.885,  15.1713
-   1.686,  16.5298,   9.6093,    19.61,  162.204,  147.027,  15.1224
-   1.687,  16.5397,  10.1707,  19.6347,  162.304,  147.173,  15.0728
-   1.688,  16.5502,   10.904,  19.6534,  162.411,  147.322,  15.0271
-   1.689,  16.5615,  11.6225,  19.6584,  162.525,  147.473,  14.9868
-    1.69,  16.5733,  12.1199,  19.6477,  162.644,  147.629,   14.947
-   1.691,  16.5855,  12.2394,  19.6257,  162.764,  147.795,  14.9013
-   1.692,  16.5976,  11.9271,  19.6015,  162.881,  147.965,  14.8491
-   1.693,  16.6092,    11.25,  19.5848,  162.991,  148.133,  14.7951
-   1.694,    16.62,  10.3724,  19.5826,  163.093,   148.29,  14.7437
-   1.695,  16.6299,  9.50212,  19.5956,  163.186,  148.438,  14.6938
-   1.696,  16.6391,  8.82368,  19.6186,  163.273,  148.579,  14.6424
-   1.697,  16.6477,  8.44429,  19.6421,  163.356,  148.716,    14.59
-   1.698,  16.6561,  8.36887,  19.6565,  163.438,  148.848,  14.5405
-   1.699,  16.6646,  8.51163,   19.656,  163.521,  148.975,  14.4966
-     1.7,  16.6732,  8.73717,  19.6408,  163.607,    149.1,  14.4559
-   1.701,   16.682,  8.91466,  19.6171,  163.694,  149.229,  14.4141
-   1.702,   16.691,  8.96504,  19.5947,  163.782,  149.362,  14.3688
-   1.703,  16.6999,  8.88534,  19.5826,  163.869,  149.497,  14.3207
-   1.704,  16.7087,  8.74338,  19.5859,  163.955,  149.634,  14.2709
-   1.705,  16.7174,  8.64747,   19.603,   164.04,   149.77,  14.2199
-   1.706,  16.7261,  8.70354,  19.6271,  164.125,  149.907,  14.1674
-   1.707,  16.7349,   8.9759,  19.6482,  164.213,  150.047,  14.1143
-   1.708,  16.7441,  9.46428,  19.6578,  164.306,   150.19,  14.0619
-   1.709,  16.7539,  10.1035,  19.6518,  164.405,  150.336,  14.0116
-    1.71,  16.7644,  10.7833,  19.6329,  164.511,  150.486,  13.9642
-   1.711,  16.7754,  11.3802,  19.6088,  164.623,  150.639,  13.9201
-   1.712,   16.787,  11.7897,  19.5893,  164.739,  150.794,  13.8784
-   1.713,  16.7989,  11.9499,  19.5823,  164.856,  150.953,  13.8367
-   1.714,  16.8108,  11.8513,  19.5908,  164.972,  151.114,  13.7919
-   1.715,  16.8225,  11.5324,  19.6112,  165.085,  151.277,  13.7435
-   1.716,  16.8338,  11.0654,  19.6352,  165.194,  151.438,  13.6935
-   1.717,  16.8446,  10.5371,  19.6529,  165.297,  151.594,  13.6433
-   1.718,  16.8549,  10.0295,  19.6571,  165.395,  151.746,  13.5922
-   1.719,  16.8647,  9.60496,  19.6461,   165.49,  151.896,  13.5384
-    1.72,  16.8741,  9.29608,  19.6245,  165.581,  152.044,  13.4833
-   1.721,  16.8833,  9.10262,  19.6011,   165.67,  152.186,  13.4314
-   1.722,  16.8924,  8.99488,  19.5855,  165.758,  152.321,  13.3856
-   1.723,  16.9013,  8.92405,   19.584,  165.846,  152.451,  13.3438
-   1.724,  16.9102,  8.83823,  19.5973,  165.933,   152.58,  13.3013
-   1.725,   16.919,  8.70119,  19.6198,  166.018,  152.711,   13.256
-   1.726,  16.9276,  8.50882,  19.6424,  166.101,  152.842,  13.2102
-   1.727,   16.936,  8.29737,  19.6558,  166.183,  152.969,  13.1657
-   1.728,  16.9442,  8.13871,  19.6545,  166.263,  153.094,  13.1208
-   1.729,  16.9523,  8.12132,  19.6391,  166.342,  153.223,  13.0713
-    1.73,  16.9606,  8.32101,  19.6159,  166.424,  153.359,  13.0161
-   1.731,  16.9691,  8.77012,  19.5945,   166.51,    153.5,  12.9594
-   1.732,  16.9782,  9.43638,  19.5835,  166.603,  153.642,  12.9063
-   1.733,   16.988,   10.221,  19.5875,  166.703,  153.787,  12.8576
-   1.734,  16.9986,  10.9799,  19.6048,  166.811,  153.938,  12.8104
-   1.735,  17.0099,  11.5631,  19.6283,  166.924,  154.097,  12.7626
-   1.736,  17.0216,  11.8605,  19.6483,   167.04,  154.259,  12.7158
-   1.737,  17.0335,  11.8386,  19.6567,  167.157,  154.418,  12.6726
-   1.738,  17.0452,  11.5525,  19.6501,   167.27,  154.573,  12.6324
-   1.739,  17.0565,  11.1284,  19.6312,  167.379,  154.726,  12.5908
-    1.74,  17.0674,  10.7203,  19.6077,  167.484,  154.879,  12.5444
-   1.741,   17.078,  10.4545,  19.5893,  167.587,  155.034,  12.4934
-   1.742,  17.0884,  10.3836,  19.5835,  167.689,  155.189,  12.4408
-   1.743,  17.0989,  10.4664,  19.5927,  167.791,  155.343,  12.3888
-   1.744,  17.1094,  10.5828,   19.613,  167.895,  155.498,  12.3369
-   1.745,    17.12,    10.58,  19.6362,  167.999,  155.655,  12.2839
-   1.746,  17.1304,  10.3336,  19.6526,    168.1,  155.811,  12.2307
-   1.747,  17.1405,  9.80136,  19.6557,  168.196,   155.96,  12.1801
-   1.748,  17.1499,  9.04816,  19.6441,  168.285,  156.099,  12.1339
-   1.749,  17.1586,  8.23227,  19.6227,  168.366,  156.226,  12.0915
-    1.75,  17.1665,  7.55585,  19.6002,   168.44,  156.345,  12.0501
-   1.751,  17.1738,  7.19701,  19.5859,  168.511,   156.46,  12.0073
-   1.752,  17.1811,  7.24817,  19.5855,  168.582,  156.576,  11.9626
-   1.753,  17.1885,   7.6833,  19.5993,  168.657,  156.695,  11.9166
-   1.754,  17.1966,  8.36676,  19.6216,  168.739,  156.821,  11.8693
-   1.755,  17.2053,  9.10082,  19.6431,  168.829,  156.956,  11.8198
-   1.756,  17.2147,  9.69476,  19.6551,  168.924,  157.101,  11.7674
-   1.757,  17.2245,  10.0303,  19.6528,  169.022,  157.253,  11.7124
-   1.758,  17.2346,  10.0992,   19.637,  169.121,  157.406,  11.6572
-   1.759,  17.2447,  9.99993,  19.6142,  169.219,  157.558,  11.6043
-    1.76,  17.2546,  9.89435,  19.5939,  169.316,  157.705,  11.5552
-   1.761,  17.2645,  9.94205,  19.5843,  169.414,  157.848,  11.5088
-   1.762,  17.2746,  10.2361,  19.5894,  169.514,  157.992,  11.4637
-   1.763,  17.2851,  10.7646,   19.607,   169.62,   158.14,  11.4193
-   1.764,  17.2962,  11.4121,  19.6299,  169.732,  158.292,  11.3761
-   1.765,  17.3079,  11.9991,  19.6487,  169.849,  158.448,  11.3344
-   1.766,  17.3201,  12.3457,  19.6557,  169.971,   158.61,  11.2925
-   1.767,  17.3324,  12.3342,   19.648,  170.092,  158.776,  11.2472
-   1.768,  17.3446,  11.9497,  19.6289,  170.209,  158.945,   11.197
-   1.769,  17.3562,  11.2833,  19.6062,  170.319,  159.113,  11.1435
-    1.77,  17.3671,  10.4984,  19.5891,  170.422,  159.273,    11.09
-   1.771,  17.3772,  9.77456,  19.5848,  170.518,  159.425,  11.0377
-   1.772,  17.3867,  9.24805,  19.5949,  170.609,   159.57,  10.9854
-   1.773,  17.3958,  8.97207,  19.6153,  170.697,  159.713,  10.9319
-   1.774,  17.4048,  8.90833,  19.6376,  170.784,  159.854,  10.8791
-   1.775,  17.4137,  8.95141,  19.6526,  170.872,   159.99,  10.8307
-   1.776,  17.4227,  8.97492,  19.6542,   170.96,  160.121,  10.7879
-   1.777,  17.4316,  8.88145,  19.6418,  171.047,  160.249,  10.7475
-   1.778,  17.4404,  8.63834,  19.6205,  171.132,  160.377,  10.7053
-   1.779,  17.4488,  8.28755,   19.599,  171.214,  160.504,  10.6605
-    1.78,  17.4569,  7.92829,  19.5862,  171.291,  160.629,  10.6156
-   1.781,  17.4647,  7.68044,  19.5873,  171.367,  160.749,  10.5718
-   1.782,  17.4724,  7.64309,  19.6018,  171.442,   160.87,  10.5265
-   1.783,  17.4801,  7.86257,  19.6237,  171.519,  160.996,  10.4759
-   1.784,  17.4882,  8.31987,  19.6441,    171.6,  161.132,    10.42
-   1.785,  17.4969,  8.93955,  19.6546,  171.688,  161.273,  10.3634
-   1.786,  17.5061,  9.61484,  19.6508,  171.782,  161.417,  10.3101
-   1.787,  17.5161,  10.2391,  19.6344,  171.883,  161.565,  10.2596
-   1.788,  17.5266,  10.7335,  19.6121,  171.988,  161.719,  10.2088
-   1.789,  17.5375,  11.0623,  19.5931,  172.097,  161.877,  10.1574
-    1.79,  17.5486,  11.2347,  19.5852,  172.207,  162.035,  10.1089
-   1.791,  17.5599,  11.2935,  19.5916,  172.318,  162.188,  10.0659
-   1.792,  17.5712,  11.2971,  19.6096,  172.428,  162.339,  10.0266
-   1.793,  17.5825,     11.3,  19.6319,  172.539,   162.49,   9.9862
-   1.794,  17.5938,  11.3368,  19.6492,  172.651,  162.645,  9.94233
-   1.795,  17.6052,  11.4136,  19.6546,  172.763,  162.802,  9.89656
-   1.796,  17.6166,  11.5064,  19.6457,  172.875,   162.96,  9.85093
-   1.797,  17.6281,  11.5678,  19.6263,  172.989,   163.12,   9.8044
-   1.798,  17.6397,  11.5393,  19.6043,  173.102,  163.283,  9.75415
-   1.799,  17.6512,  11.3678,  19.5889,  173.214,   163.45,  9.69951
-     1.8,  17.6623,  11.0227,  19.5862,  173.322,  163.617,  9.64312
-   1.801,  17.6731,  10.5093,  19.5975,  173.425,  163.777,  9.58817
-   1.802,  17.6833,  9.87445,  19.6179,  173.522,   163.93,  9.53557
-   1.803,  17.6928,  9.20027,  19.6392,  173.612,  164.074,  9.48448
-   1.804,  17.7017,  8.58689,  19.6526,  173.696,  164.211,   9.4347
-   1.805,  17.7101,  8.12647,  19.6525,  173.776,  164.341,  9.38721
-   1.806,  17.7181,  7.87637,  19.6391,  173.853,  164.464,  9.34278
-   1.807,   17.726,  7.84038,  19.6179,   173.93,  164.583,  9.30084
-   1.808,  17.7339,  7.96582,  19.5975,  174.008,  164.701,  9.26007
-   1.809,  17.7419,  8.15966,  19.5865,  174.088,  164.821,  9.21914
-    1.81,  17.7502,  8.32024,  19.5892,   174.17,  164.944,  9.17674
-   1.811,  17.7585,  8.37445,  19.6046,  174.252,  165.071,  9.13166
-   1.812,  17.7668,  8.30728,  19.6263,  174.334,  165.201,  9.08357
-   1.813,  17.7751,   8.1717,  19.6453,  174.414,  165.332,  9.03339
-   1.814,  17.7832,   8.0732,  19.6539,  174.493,  165.463,  8.98198
-   1.815,  17.7913,  8.13253,  19.6486,  174.573,  165.596,  8.92881
-   1.816,  17.7996,  8.43906,  19.6315,  174.655,  165.733,  8.87307
-   1.817,  17.8083,  9.01161,  19.6097,  174.744,  165.876,  8.81612
-   1.818,  17.8177,  9.78261,  19.5922,   174.84,  166.023,  8.76146
-   1.819,  17.8279,  10.6132,  19.5862,  174.944,  166.173,  8.71135
-    1.82,  17.8389,  11.3358,   19.594,  175.055,  166.327,  8.66434
-   1.821,  17.8505,  11.8103,  19.6126,  175.171,  166.488,  8.61756
-   1.822,  17.8624,  11.9724,  19.6342,  175.288,  166.651,  8.57102
-   1.823,  17.8743,  11.8566,  19.6498,  175.405,  166.811,  8.52773
-   1.824,   17.886,  11.5834,  19.6532,  175.518,  166.965,  8.48895
-   1.825,  17.8974,  11.3144,   19.643,  175.629,  167.115,  8.45101
-   1.826,  17.9087,  11.1907,  19.6233,  175.739,  167.268,  8.40884
-   1.827,  17.9199,  11.2783,  19.6022,   175.85,  167.425,  8.36175
-   1.828,  17.9313,  11.5403,  19.5886,  175.963,  167.585,  8.31357
-   1.829,   17.943,  11.8486,  19.5879,  176.079,  167.747,  8.26672
-    1.83,   17.955,  12.0312,  19.6004,  176.197,  167.912,  8.21832
-   1.831,   17.967,  11.9371,  19.6209,  176.314,  168.084,  8.16418
-   1.832,  17.9787,  11.4966,  19.6411,  176.427,  168.258,  8.10525
-   1.833,  17.9898,  10.7519,  19.6525,  176.533,  168.425,   8.0474
-   1.834,  18.0001,  9.84673,  19.6505,  176.629,  168.579,  7.99454
-   1.835,  18.0095,  8.97824,   19.636,  176.717,  168.721,  7.94448
-   1.836,  18.0182,  8.32869,  19.6149,  176.799,  168.857,  7.89312
-   1.837,  18.0263,  8.00194,   19.596,  176.878,  168.989,  7.84105
-   1.838,  18.0343,  7.98909,  19.5869,  176.956,  169.116,  7.79321
-   1.839,  18.0424,  8.17599,  19.5915,  177.036,  169.236,  7.75206
-    1.84,  18.0507,  8.38969,  19.6078,  177.118,  169.355,  7.71398
-   1.841,  18.0591,  8.46626,  19.6291,  177.201,  169.478,  7.67362
-   1.842,  18.0675,  8.31437,  19.6466,  177.283,  169.604,  7.63021
-   1.843,  18.0756,   7.9506,  19.6531,  177.361,  169.727,  7.58713
-   1.844,  18.0834,  7.49355,   19.646,  177.435,  169.844,  7.54585
-   1.845,  18.0907,  7.11918,  19.6282,  177.504,  169.959,  7.50306
-   1.846,  18.0977,  6.99475,   19.607,  177.573,  170.076,  7.45473
-   1.847,  18.1048,  7.21623,  19.5913,  177.644,  170.199,  7.40121
-   1.848,  18.1123,   7.7726,  19.5874,   177.72,  170.328,  7.34632
-   1.849,  18.1205,  8.54977,  19.5969,  177.804,  170.462,  7.29232
-    1.85,  18.1294,  9.37195,  19.6159,  177.896,  170.604,  7.23796
-   1.851,  18.1392,  10.0642,  19.6366,  177.995,  170.756,  7.18169
-   1.852,  18.1495,  10.5128,  19.6504,  178.098,  170.913,  7.12492
-   1.853,  18.1601,  10.7004,  19.6517,  178.203,  171.072,  7.07077
-   1.854,  18.1708,  10.7056,  19.6399,  178.308,  171.227,  7.02058
-   1.855,  18.1815,  10.6665,  19.6199,  178.412,  171.379,  6.97331
-   1.856,  18.1921,  10.7247,  19.6001,  178.518,  171.529,  6.92788
-   1.857,   18.203,  10.9703,  19.5884,  178.625,  171.679,  6.88457
-   1.858,  18.2142,  11.4086,  19.5898,  178.737,   171.83,  6.84364
-   1.859,  18.2259,  11.9587,  19.6037,  178.854,  171.984,  6.80401
-    1.86,  18.2381,  12.4851,  19.6242,  178.977,  172.144,  6.76422
-   1.861,  18.2508,  12.8464,   19.643,  179.103,  172.308,  6.72376
-   1.862,  18.2636,  12.9447,  19.6522,   179.23,  172.476,  6.68243
-   1.863,  18.2765,  12.7575,  19.6482,  179.355,  172.646,  6.63889
-   1.864,   18.289,  12.3406,  19.6326,  179.476,  172.816,  6.59147
-   1.865,  18.3011,  11.8049,  19.6118,  179.592,  172.986,  6.54037
-   1.866,  18.3127,  11.2752,  19.5944,  179.703,  173.152,  6.48767
-   1.867,  18.3237,  10.8481,  19.5876,  179.809,  173.313,  6.43447
-   1.868,  18.3344,  10.5633,  19.5942,  179.913,  173.473,   6.3794
-   1.869,  18.3449,   10.397,  19.6114,  180.015,  173.634,  6.32122
-    1.87,  18.3552,  10.2777,  19.6321,  180.115,  173.795,  6.26205
-   1.871,  18.3654,  10.1172,  19.6478,  180.215,  173.951,    6.206
-   1.872,  18.3754,  9.84369,   19.652,  180.311,  174.101,  6.15445
-   1.873,  18.3851,  9.42746,   19.643,  180.404,  174.245,  6.10472
-   1.874,  18.3942,  8.88939,  19.6246,  180.491,  174.385,  6.05443
-   1.875,  18.4028,  8.29292,  19.6043,  180.572,  174.518,  6.00564
-   1.876,  18.4108,  7.72327,  19.5905,  180.648,   174.64,  5.96234
-   1.877,  18.4183,  7.26197,  19.5889,  180.719,  174.751,  5.92452
-   1.878,  18.4254,  6.96495,  19.6001,  180.788,  174.858,  5.88728
-   1.879,  18.4323,  6.85011,  19.6195,  180.855,  174.967,  5.84671
-    1.88,  18.4392,  6.89648,  19.6391,  180.922,  175.076,   5.8045
-   1.881,  18.4462,  7.05385,  19.6507,  180.992,  175.185,  5.76458
-   1.882,  18.4533,  7.25901,  19.6497,  181.063,  175.293,  5.72641
-   1.883,  18.4607,  7.45383,  19.6364,  181.136,  175.407,  5.68461
-   1.884,  18.4682,  7.60091,  19.6164,  181.211,   175.53,  5.63562
-   1.885,  18.4759,  7.69317,  19.5979,  181.286,  175.658,  5.58228
-   1.886,  18.4836,   7.7553,  19.5885,  181.362,  175.787,  5.52966
-   1.887,  18.4914,  7.83667,  19.5922,  181.439,  175.914,  5.47817
-   1.888,  18.4993,  7.99681,  19.6073,  181.517,  176.047,  5.42346
-   1.889,  18.5074,  8.28669,  19.6276,  181.599,  176.187,  5.36331
-    1.89,   18.516,  8.73054,  19.6448,  181.684,  176.332,  5.30163
-   1.891,   18.525,  9.31376,  19.6517,  181.776,  176.478,  5.24401
-   1.892,  18.5346,  9.98163,  19.6455,  181.874,  176.626,  5.19106
-   1.893,  18.5449,  10.6509,  19.6288,  181.978,  176.779,  5.13881
-   1.894,  18.5559,  11.2322,  19.6085,  182.088,   176.94,  5.08522
-   1.895,  18.5673,  11.6574,   19.593,  182.203,  177.104,  5.03354
-   1.896,  18.5791,  11.9022,  19.5887,  182.319,  177.265,  4.98794
-   1.897,  18.5911,  11.9964,  19.5973,  182.437,  177.423,  4.94789
-   1.898,  18.6031,   12.015,  19.6152,  182.555,  177.579,  4.90898
-   1.899,  18.6151,  12.0532,  19.6351,  182.673,  177.738,  4.86868
-     1.9,  18.6272,  12.1911,  19.6487,  182.793,  177.896,  4.82879
-   1.901,  18.6395,  12.4611,  19.6505,  182.915,  178.054,  4.79171
-   1.902,  18.6522,   12.831,  19.6396,  183.041,  178.214,  4.75615
-   1.903,  18.6652,  13.2101,  19.6207,  183.171,   178.38,  4.71827
-   1.904,  18.6786,  13.4779,  19.6015,  183.303,  178.553,   4.6761
-   1.905,  18.6921,  13.5269,    19.59,  183.435,   178.73,    4.631
-   1.906,  18.7055,  13.3039,  19.5909,  183.566,  178.908,  4.58469
-   1.907,  18.7185,  12.8338,  19.6038,  183.692,  179.084,  4.53656
-   1.908,  18.7311,  12.2154,  19.6233,  183.812,  179.259,  4.48481
-   1.909,   18.743,  11.5894,  19.6415,  183.925,  179.432,  4.42912
-    1.91,  18.7543,  11.0887,  19.6508,  184.034,  179.601,  4.37104
-   1.911,  18.7652,  10.7894,  19.6473,   184.14,  179.767,  4.31206
-   1.912,   18.776,  10.6816,  19.6326,  184.245,  179.932,  4.25257
-   1.913,  18.7867,  10.6711,  19.6127,  184.349,  180.097,  4.19275
-   1.914,  18.7973,   10.615,  19.5959,  184.454,   180.26,  4.13344
-   1.915,  18.8078,  10.3759,   19.589,  184.555,  180.421,  4.07557
-   1.916,  18.8179,  9.87759,   19.595,  184.652,  180.576,  4.01952
-   1.917,  18.8274,  9.13853,  19.6113,  184.742,  180.724,  3.96565
-   1.918,  18.8361,   8.2704,  19.6311,  184.823,   180.86,    3.915
-   1.919,   18.844,  7.44078,  19.6464,  184.896,  180.983,  3.86835
-    1.92,  18.8511,  6.81322,  19.6507,  184.963,  181.097,  3.82497
-   1.921,  18.8578,  6.48711,  19.6423,  185.027,  181.204,   3.7833
-   1.922,  18.8642,  6.46048,  19.6247,   185.09,  181.307,   3.7431
-   1.923,  18.8708,  6.63061,  19.6053,  185.155,  181.409,  3.70568
-   1.924,  18.8775,  6.83303,  19.5919,  185.222,  181.509,  3.67145
-   1.925,  18.8844,  6.90468,  19.5902,   185.29,   181.61,  3.63811
-   1.926,  18.8912,  6.74729,  19.6008,  185.356,  181.712,  3.60268
-   1.927,  18.8978,  6.36662,  19.6193,  185.418,  181.814,  3.56485
-   1.928,  18.9039,  5.87209,  19.6381,  185.476,  181.913,  3.52673
-   1.929,  18.9095,  5.43659,  19.6494,  185.529,  182.006,  3.48903
-    1.93,  18.9149,  5.23127,  19.6485,  185.581,  182.098,  3.44896
-   1.931,  18.9202,  5.36038,  19.6359,  185.633,  182.196,  3.40328
-   1.932,  18.9258,  5.82098,  19.6167,   185.69,  182.301,  3.35249
-   1.933,  18.9319,  6.50325,  19.5989,  185.754,  182.414,  3.30008
-   1.934,  18.9388,  7.23126,  19.5899,  185.825,  182.534,  3.24763
-   1.935,  18.9463,  7.82873,  19.5933,  185.902,  182.663,  3.19261
-   1.936,  18.9543,  8.18465,  19.6078,  185.982,  182.802,  3.13214
-   1.937,  18.9626,  8.29364,  19.6272,  186.064,  182.947,  3.06766
-   1.938,  18.9708,  8.25577,  19.6437,  186.144,  183.092,  3.00375
-   1.939,  18.9791,  8.23625,  19.6503,  186.225,  183.234,  2.94258
-    1.94,  18.9874,  8.40062,  19.6444,  186.308,  183.377,  2.88174
-   1.941,   18.996,  8.85045,  19.6284,  186.395,  183.525,  2.81846
-   1.942,  19.0053,  9.58397,   19.609,  186.489,  183.679,  2.75444
-   1.943,  19.0153,  10.4964,  19.5941,  186.592,  183.838,  2.69435
-   1.944,  19.0263,  11.4192,    19.59,  186.704,  183.999,   2.6402
-   1.945,  19.0381,  12.1825,  19.5983,  186.823,  184.166,  2.58919
-   1.946,  19.0505,  12.6774,  19.6155,  186.947,  184.339,  2.53819
-   1.947,  19.0633,  12.8934,  19.6346,  187.074,  184.514,  2.48838
-   1.948,  19.0762,  12.9185,  19.6476,  187.201,  184.686,  2.44374
-   1.949,  19.0891,  12.9025,  19.6492,  187.327,   184.85,  2.40558
-    1.95,   19.102,  12.9973,  19.6387,  187.455,  185.012,  2.37066
-   1.951,  19.1152,  13.2997,  19.6205,  187.585,  185.177,   2.3354
-   1.952,  19.1287,  13.8152,  19.6021,  187.721,  185.345,  2.30029
-   1.953,  19.1429,  14.4582,  19.5912,  187.863,  185.515,  2.26843
-   1.954,  19.1576,  15.0857,  19.5922,  188.011,  185.688,  2.24056
-   1.955,   19.173,  15.5512,  19.6047,  188.163,  185.865,  2.21345
-   1.956,  19.1886,  15.7586,  19.6235,  188.318,  186.049,  2.18359
-   1.957,  19.2043,  15.6944,  19.6408,  188.472,  186.236,  2.15104
-   1.958,  19.2199,  15.4295,  19.6495,  188.623,  186.421,   2.1183
-   1.959,  19.2352,  15.0885,   19.646,  188.771,  186.603,  2.08611
-    1.96,  19.2501,  14.8021,  19.6317,  188.916,  186.784,  2.05186
-   1.961,  19.2648,  14.6592,  19.6126,   189.06,  186.968,  2.01268
-   1.962,  19.2795,   14.677,  19.5966,  189.204,  187.156,   1.9686
-   1.963,  19.2943,  14.7986,  19.5903,  189.349,  187.347,  1.92185
-   1.964,  19.3091,   14.918,  19.5963,  189.496,  187.541,  1.87351
-   1.965,   19.324,  14.9213,  19.6121,  189.642,  187.739,  1.82206
-   1.966,  19.3389,  14.7278,  19.6311,  189.786,  187.941,  1.76553
-   1.967,  19.3534,  14.3177,  19.6455,  189.927,  188.145,  1.70405
-   1.968,  19.3674,   13.735,  19.6493,  190.062,  188.347,  1.63964
-   1.969,  19.3808,  13.0692,   19.641,   190.19,  188.544,  1.57377
-    1.97,  19.3936,  12.4216,   19.624,  190.312,  188.737,  1.50604
-   1.971,  19.4057,  11.8703,  19.6053,  190.428,  188.927,  1.43528
-   1.972,  19.4174,  11.4462,  19.5928,   190.54,  189.115,  1.36158
-   1.973,  19.4286,  11.1266,  19.5915,   190.65,  189.301,  1.28656
-   1.974,  19.4396,   10.848,  19.6021,  190.756,  189.483,  1.21187
-   1.975,  19.4503,   10.531,    19.62,  190.859,  189.662,  1.13794
-   1.976,  19.4606,  10.1082,  19.6379,  190.958,  189.837,  1.06418
-   1.977,  19.4705,  9.54609,  19.6483,  191.052,  190.007,  0.99037
-   1.978,  19.4797,  8.85368,  19.6471,  191.139,   190.17, 0.917461
-   1.979,  19.4881,  8.07724,  19.6346,  191.218,  190.324, 0.847025
-    1.98,  19.4958,  7.28395,  19.6161,   191.29,  190.466, 0.780005
-   1.981,  19.5027,  6.54063,  19.5992,  191.354,  190.598, 0.716147
-   1.982,  19.5089,  5.89421,   19.591,  191.412,   190.72, 0.654755
-   1.983,  19.5146,  5.35954,  19.5948,  191.464,  190.834, 0.595971
-   1.984,  19.5197,  4.91703,   19.609,  191.512,  190.939,  0.54107
-   1.985,  19.5244,  4.52016,  19.6278,  191.557,  191.035, 0.491317
-   1.986,  19.5287,  4.11017,  19.6433,  191.597,  191.122, 0.446663
-   1.987,  19.5326,   3.6339,  19.6491,  191.633,  191.201,  0.40594
-   1.988,   19.536,  3.05991,  19.6429,  191.663,  191.271, 0.368479
-   1.989,  19.5387,  2.38873,  19.6272,  191.686,  191.331, 0.335183
-    1.99,  19.5407,  1.65413,  19.6086,  191.702,  191.379, 0.307551
-   1.991,   19.542, 0.914541,  19.5947,  191.711,  191.413, 0.285756
-   1.992,  19.5426, 0.236329,  19.5913,  191.714,  191.436, 0.268274
-   1.993,  19.5425, -0.326715,  19.5999,  191.711,   191.45, 0.253729
-   1.994,   19.542, -0.751643,  19.6167,  191.703,  191.456, 0.242665
-   1.995,  19.5411,  -1.0561,  19.6349,  191.693,  191.453, 0.236809
-   1.996,  19.5399, -1.29529,  19.6469,   191.68,  191.442, 0.236639
-   1.997,  19.5385, -1.54572,  19.6477,  191.665,  191.424, 0.240436
-   1.998,  19.5368, -1.87993,  19.6371,  191.646,  191.402, 0.246255
-   1.999,  19.5347, -2.34027,  19.6194,  191.623,  191.373, 0.254326
-       2,   19.532, -2.92114,   19.602,  191.595,  191.335, 0.266626
+    time,    disp,    velo,    reac,    wext,    epot,    ekin,   total
+       0,       0,       0,      -0,       0,       0,       0,       0
+   0.001,-0.00160554,-3.21108,4.63166e-124,0.0315007,0.000421884,0.00745328,-0.0236255
+   0.002,-0.00768365,-8.94514,-3.6274e-122,0.119252,0.00923947,0.0582619,-0.0517511
+   0.003,-0.0185743,-12.8361,1.34272e-120,0.245175,0.0500032,0.124335,-0.0708363
+   0.004,-0.0321491,-14.3135,-3.11136e-119, 0.38559,0.133399,0.174109,-0.0780829
+   0.005,-0.0460795,-13.5474,5.0335e-118, 0.51849,0.234717,0.209449,-0.0743251
+   0.006,-0.0585263, -11.346,-5.99258e-117,0.629795,0.314663,0.251605,-0.0635275
+   0.007,-0.0686193,-8.84008,5.37549e-116,0.716516,0.357329,0.307951,-0.0512358
+   0.008,-0.0765765,-7.07424,-3.63579e-115,0.785914,0.378845,0.364495,-0.0425743
+   0.009,-0.0834428,-6.65839,1.79972e-114,0.851233, 0.40172,0.408979,-0.0405345
+    0.01,-0.0905724,-7.60083,-5.86967e-114,0.925797,0.432547,0.448093,-0.0451572
+   0.011,-0.0990598,-9.37405,7.11294e-114, 1.01776,0.468325,0.495577,-0.0538549
+   0.012,-0.109333,-11.1731,4.0046e-113, 1.12737, 0.51311,0.551576,-0.0626794
+   0.013,-0.121048,-12.2569,-2.41002e-112, 1.24761,0.575866,0.603745,-0.0679954
+   0.014,-0.133295,-12.2362,3.99743e-112, 1.36764,0.653347,0.646402,-0.0678938
+   0.015,-0.145014,-11.2016,1.24726e-111, 1.47753,0.726379,0.688333,-0.062819
+   0.016,-0.155441,-9.65182,-7.09978e-111, 1.57222,0.778231,0.738766,-0.0552173
+   0.017,-0.164398,-8.26361,4.7108e-111, 1.65328,0.811156,0.793717,-0.0484082
+   0.018,-0.172332,-7.60461,5.27675e-110, 1.72788,0.839967, 0.84274,-0.0451758
+   0.019,-0.180089,-7.90767,-1.29433e-109, 1.80546,0.873971,0.884823,-0.0466623
+    0.02,-0.18854,-8.99423,-2.35216e-109, 1.89369,0.912349,0.929349,-0.0519919
+   0.021,-0.198222,  -10.37,1.30016e-108, 1.99542,0.955119,0.981561,-0.0587402
+   0.022,-0.209129,-11.4454,3.86934e-109,  2.1077, 1.00872, 1.03496,-0.0640147
+   0.023,-0.220744,-11.7838,-9.79393e-108,  2.2233, 1.07604, 1.08158,-0.0656749
+   0.024,-0.232274,-11.2763,4.37506e-108, 2.33392, 1.14676, 1.12397,-0.0631855
+   0.025,-0.242998,-10.1718,6.46089e-107, 2.43371, 1.20504,  1.1709,-0.057768
+   0.026,-0.252563,-8.95862,-5.79402e-107, 2.52159,  1.2458, 1.22397,-0.0518172
+   0.027,-0.261118,-8.15093,-4.01703e-106, 2.60155, 1.27819,  1.2755,-0.0478555
+   0.028,-0.26923,-8.07318,4.50952e-106, 2.68075, 1.31285, 1.32042,-0.0474741
+   0.029,-0.277633,-8.73153,2.44714e-105,  2.7664, 1.35192, 1.36378,-0.0507033
+    0.03,-0.28691,-9.82286,-2.74261e-105, 2.86277, 1.39391,  1.4128,-0.0560563
+   0.031,-0.297258,-10.8726,-1.47916e-104, 2.96943, 1.44229, 1.46593,-0.0612051
+   0.032,-0.308413,-11.4394,1.33837e-104, 3.08165, 1.50218, 1.51548,-0.0639853
+   0.033,-0.319783,-11.2995,8.79512e-104, 3.19249, 1.56979, 1.55941,-0.0632994
+   0.034, -0.3307,-10.5338,-4.59906e-104, 3.29583, 1.63209,  1.6042,-0.0595435
+   0.035,-0.340709,-9.48422,-5.03226e-103, 3.38887, 1.67962, 1.65485,-0.0543952
+   0.036,-0.349752,-8.60241,1.37042e-104, 3.47326, 1.71582, 1.70737,-0.05007
+   0.037,-0.358181,-8.25632,2.68965e-102, 3.55426, 1.75083, 1.75506,-0.0483724
+   0.038,-0.366598,-8.57758,1.51455e-102,  3.6384, 1.78976,  1.7987,-0.0499482
+   0.039,-0.375593,-9.41252,-1.29199e-101, 3.73074, 1.83153, 1.84517,-0.0540436
+    0.04,-0.385497,-10.3946,-1.67395e-101, 3.83271, 1.87697, 1.89688,-0.0588605
+   0.041,-0.396246,-11.1043,5.2315e-101, 3.94164, 1.93103, 1.94827,-0.0623419
+   0.042,-0.407423,-11.2481,1.24553e-100, 4.05199, 1.99454,  1.9944,-0.0630472
+   0.043,-0.418436,-10.7786,-1.50696e-100, 4.15773, 2.05858,  2.0384,-0.0607444
+   0.044,-0.42878,-9.90922,-7.3403e-100, 4.25493,  2.1119, 2.08655,-0.0564799
+   0.045,-0.438243,-9.01742,3.78046e-101,  4.3434, 2.15258, 2.13871,-0.0521056
+   0.046,-0.446993,-8.48169,3.48984e-99,  4.4266, 2.18846, 2.18867,-0.0494779
+   0.047,-0.455494,-8.52131,3.32365e-99,  4.5102, 2.22684, 2.23368,-0.0496722
+   0.048,-0.464308,-9.10711,-1.25884e-98, 4.59954, 2.26842, 2.27857,-0.0525456
+   0.049,-0.473852,-9.97915,-2.86088e-98, 4.69743, 2.31239, 2.32822,-0.0568229
+    0.05,-0.484222,-10.7616,2.49741e-98,   4.803, 2.36212, 2.38022,-0.0606608
+   0.051,-0.495165,-11.1243,1.55653e-97, 4.91213, 2.42106, 2.42863,-0.0624398
+   0.052,-0.506188,-10.9216,7.16369e-98, 5.01927, 2.48474, 2.47309,-0.0614457
+   0.053,-0.516774,-10.2506,-5.92819e-97, 5.11983, 2.54247, 2.51921,-0.0581543
+   0.054,-0.526602,-9.40501,-1.03429e-96, 5.21209, 2.58809,    2.57,-0.0540067
+   0.055,-0.535678,-8.74716,1.24183e-96,  5.2979, 2.62581, 2.62131,-0.05078
+   0.056,-0.544328,-8.55297,5.96421e-96, 5.38181, 2.66369,  2.6683,-0.0498275
+   0.057,-0.553053,-8.89658,2.54062e-96, 5.46908, 2.70482, 2.71275,-0.0515129
+   0.058,-0.562312,-9.62248,-2.14463e-95, 5.56348, 2.74813, 2.76028,-0.0550734
+   0.059,-0.572331,-10.4156,-3.93491e-95, 5.66566, 2.79497, 2.81172,-0.0589638
+    0.06,-0.583008,-10.9378,3.38442e-95, 5.77296, 2.84946, 2.86197,-0.0615251
+   0.061,-0.593963,-10.9717,2.06568e-94, 5.88059,  2.9111,  2.9078,-0.0616911
+   0.062,-0.604704,-10.5109,1.5513e-94,  5.9837,  2.9715, 2.95277,-0.059431
+   0.063,-0.614839,-9.75937,-6.02342e-94, 6.07944, 3.02203, 3.00166,-0.0557449
+   0.064,-0.624239,-9.04132,-1.48669e-93, 6.16814, 3.06267, 3.05325,-0.0522229
+   0.065,-0.633091,-8.66153,1.84984e-94, 6.25311, 3.10053, 3.10221,-0.05036
+   0.066,-0.64181,-8.77627,6.07104e-93,  6.3392, 3.14097, 3.14731,-0.0509228
+   0.067,-0.650862,-9.32919,8.40388e-93, 6.43072, 3.18389, 3.19319,-0.0536348
+   0.068,-0.660566,-10.0785,-1.05626e-92, 6.52959, 3.22904, 3.24324,-0.0573102
+   0.069,-0.670957,-10.7025,-4.82761e-92, 6.63458, 3.27975, 3.29446,-0.060371
+    0.07,-0.681777,-10.9376,-3.48409e-92, 6.74188, 3.33823, 3.34212,-0.0615239
+   0.071,-0.69259,-10.6892,1.27106e-91, 6.84674, 3.39947, 3.38697,-0.0603059
+   0.072,-0.70297,-10.0701,3.3112e-91, 6.94553, 3.45425, 3.43401,-0.0572689
+   0.073,-0.712679,-9.34876,5.60841e-92, 7.03724, 3.49865, 3.48486,-0.0537308
+   0.074,-0.721771,-8.83373,-1.13138e-90,  7.1239, 3.53739, 3.53531,-0.0512046
+   0.075,-0.730558, -8.7414,-2.0407e-90, 7.20965, 3.57708, 3.58182,-0.0507517
+   0.076,-0.739481,-9.10542,7.85047e-91, 7.29898, 3.61955, 3.62689,-0.0525373
+   0.077,-0.748917,-9.76475,8.6823e-90, 7.39477, 3.66382, 3.67517,-0.0557713
+   0.078,-0.759016,-10.4348,1.15871e-89, 7.49713,  3.7117, 3.72637,-0.0590579
+   0.079,-0.769649,-10.8301,-1.16887e-89, 7.60338, 3.76661, 3.77577,-0.0609968
+    0.08,-0.780457,-10.7858,-6.08899e-89, 7.70919, 3.82697, 3.82144,-0.0607796
+   0.081,-0.791013,-10.3263,-6.18627e-89, 7.81049, 3.88481, 3.86715,-0.0585259
+   0.082,-0.801002,-9.65253,1.0858e-88, 7.90518, 3.93339, 3.91657,-0.0552208
+   0.083,-0.810356,-9.05402,4.0269e-88,   7.994, 3.97405, 3.96766,-0.0522851
+   0.084,-0.819275,-8.78487,3.17809e-88, 8.08018, 4.01332, 4.01589,-0.050965
+   0.085,-0.828145, -8.9558,-8.40766e-88, 8.16803, 4.05512, 4.06112,-0.0518034
+   0.086,-0.837368,-9.48877,-2.56208e-87, 8.26112, 4.09892, 4.10778,-0.0544176
+   0.087,-0.847188,-10.1525,-1.62284e-87, 8.36071, 4.14497, 4.15808,-0.057673
+   0.088,-0.857596,-10.6626,5.8573e-87, 8.46531, 4.19649, 4.20865,-0.060175
+   0.089,-0.868329,-10.8034,1.58934e-86,  8.5713, 4.25467, 4.25576,-0.060866
+    0.09,-0.87899,-10.5192,8.61031e-87, 8.67449, 4.31404, 4.30098,-0.0594721
+   0.091,-0.889218,-9.93585,-3.78662e-86, 8.77196, 4.36661, 4.34874,-0.0566105
+   0.092,-0.898838, -9.3052,-9.69294e-86, 8.86324, 4.41017, 4.39956,-0.0535172
+   0.093,-0.907939,-8.89663,-4.96045e-86, 8.95052, 4.44972, 4.44929,-0.0515132
+   0.094,-0.916828, -8.8819,2.30243e-85, 9.03765, 4.49072, 4.49549,-0.0514409
+   0.095,-0.925901,-9.26307,5.83404e-85, 9.12852,  4.5341, 4.54112,-0.0533105
+   0.096,-0.935469,-9.87346,3.15268e-85, 9.22538,  4.5791, 4.58997,-0.0563045
+   0.097,-0.945631,-10.4504,-1.32154e-84,  9.3279, 4.62787,  4.6409,-0.0591345
+   0.098,-0.95623,-10.7483,-3.4646e-84, 9.43334, 4.68315,  4.6896,-0.0605957
+   0.099,-0.966926, -10.643,-2.15642e-84, 9.53775, 4.74246, 4.73521,-0.0600791
+     0.1,-0.977339,-10.1835,7.12871e-84, 9.63765, 4.79824, 4.78158,-0.057825
+   0.101,-0.987216,-9.56921,2.02251e-83, 9.73152, 4.84535, 4.83136,-0.0548122
+   0.102,-0.996532,-9.06376,1.51933e-83, 9.82044, 4.88612, 4.88199,-0.0523329
+   0.103, -1.0055,-8.88158,-3.56281e-83, 9.90757,  4.9265, 4.92963,-0.0514393
+   0.104,-1.01449,-9.09722,-1.15301e-82, 9.99681, 4.96927, 4.97504,-0.052497
+   0.105,-1.02385,-9.61486,-1.06218e-82, 10.0911, 5.01373, 5.02237,-0.0550361
+   0.106,-1.03376,-10.2108,1.5972e-82, 10.1913, 5.06054,  5.0728,-0.0579593
+   0.107,-1.04418,-10.6302,6.36183e-82, 10.2956, 5.11279, 5.12278,-0.0600161
+   0.108,-1.05485,-10.6957,7.19553e-82, 10.4005, 5.17069, 5.16947,-0.0603374
+   0.109,-1.06539,-10.3827,-5.91215e-82, 10.5024, 5.22847, 5.21508,-0.0588021
+    0.11,-1.07549,-9.82818,-3.35773e-81, 10.5988, 5.27925, 5.26344,-0.0560824
+   0.111,-1.08504,-9.27098,-4.65849e-81, 10.6897, 5.32222, 5.31415,-0.0533493
+   0.112,-1.09415,-8.94881,1.27343e-81, 10.7775, 5.36249, 5.36325,-0.0517691
+   0.113,-1.10312,-8.99703,1.66822e-80, 10.8658, 5.40451, 5.40925,-0.0520056
+   0.114,-1.11232,-9.39175,2.85655e-80, 10.9579, 5.44855, 5.45541,-0.0539417
+   0.115,-1.12199,-9.96151,5.16655e-81, 11.0556, 5.49418, 5.50471,-0.0567364
+   0.116,-1.13221,-10.4617,-7.60896e-80, 11.1583, 5.54374, 5.55532,-0.0591896
+   0.117,-1.14278,-10.6794,-1.64596e-79,  11.263, 5.59933, 5.60343,-0.0602574
+   0.118,-1.15338,-10.5242,-9.53052e-80, 11.3663, 5.65769, 5.64908,-0.0594962
+   0.119,-1.16367,-10.0654,3.03688e-79,  11.465, 5.71171, 5.69605,-0.0572462
+    0.12,-1.17346,-9.50155,8.82604e-79, 11.5582, 5.75765, 5.74608,-0.0544803
+   0.121,-1.18274,-9.07402,8.45059e-79, 11.6472, 5.79861, 5.79623,-0.0523832
+   0.122,-1.19176,-8.96418,-9.3237e-79, 11.7352, 5.83992,  5.8434,-0.0518445
+   0.123,-1.20085,-9.21632,-4.33913e-78, 11.8256, 5.88344, 5.88906,-0.0530812
+   0.124,-1.21032,-9.71984,-5.89976e-78, 11.9209, 5.92841, 5.93697,-0.055551
+   0.125,-1.22031,-10.2578,9.22181e-79, 12.0216, 5.97594, 5.98743,-0.0581897
+   0.126,-1.23074,-10.6003,1.90356e-77, 12.1256, 6.02883, 6.03685,-0.0598695
+   0.127,-1.24134,-10.6026,3.54316e-77, 12.2296, 6.08643, 6.08325,-0.0598811
+   0.128,-1.25178,-10.2666,1.59614e-77, 12.3303, 6.14277, 6.12928,-0.0582327
+   0.129,-1.26178,-9.73819,-7.0172e-77, 12.4258, 6.19205, 6.17812,-0.055641
+    0.13,-1.27127,-9.24456,-1.87197e-76, 12.5165, 6.23463, 6.22865,-0.0532198
+   0.131,-1.28039,-8.99617,-1.76361e-76, 12.6048, 6.27557, 6.27718,-0.0520014
+   0.132,-1.28944,-9.09717,1.78754e-76,  12.694,  6.3184, 6.32309,-0.0524968
+   0.133,-1.29874,-9.50179,8.6437e-76, 12.7872, 6.36295, 6.36977,-0.0544814
+   0.134, -1.3085, -10.035,1.2447e-75, 12.8856, 6.40915, 6.41941,-0.0570967
+   0.135,-1.31876,-10.4681,7.97835e-77, 12.9883, 6.45946, 6.46966,-0.0592213
+   0.136, -1.3293, -10.617,-3.35221e-75, 13.0925, 6.51527, 6.51728,-0.0599516
+   0.137,-1.33982,-10.4202,-7.05442e-75, 13.1947,  6.5727, 6.56304,-0.0589861
+   0.138,-1.35001,-9.96419,-4.98646e-75, 13.2925, 6.62516, 6.61055,-0.0567495
+   0.139,-1.35971,-9.44566,9.55045e-75, 13.3851, 6.67019, 6.66073,-0.0542061
+    0.14,-1.36898,-9.08647,3.34611e-74, 13.4743, 6.71141, 6.71041,-0.0524443
+   0.141,-1.37804,-9.03885,4.20176e-74, 13.5629, 6.75351, 6.75721,-0.0522107
+   0.142,-1.38722,-9.32093,-6.57437e-75, 13.6544, 6.79762, 6.80316,-0.0535943
+   0.143,-1.39679,-9.80992,-1.29744e-73, 13.7506, 6.84304, 6.85158,-0.0559928
+   0.144,-1.40684,-10.2955,-2.48944e-73, 13.8516, 6.89125, 6.90198,-0.0583747
+   0.145,-1.41727,-10.5704,-1.56268e-73, 13.9553,  6.9447, 6.95088,-0.0597228
+   0.146,-1.42782,-10.5185,3.60298e-73, 14.0585, 7.00193, 6.99709,-0.0594686
+   0.147,-1.43816,-10.1644,1.1721e-72, 14.1582, 7.05693, 7.04354,-0.0577316
+   0.148,-1.44807, -9.6613,1.44269e-72,  14.253, 7.10494, 7.09278,-0.0552639
+   0.149,-1.45752,-9.22511,-1.99374e-73, 14.3435, 7.14729, 7.14307,-0.0531243
+    0.15,-1.46665, -9.0417,-4.32776e-72, 14.4322, 7.18886,  7.1911,-0.0522247
+   0.151,-1.47576,-9.18772,-8.44961e-72, 14.5223, 7.23236, 7.23701,-0.0529409
+   0.152,-1.48516,-9.59861,-5.89235e-72, 14.6165, 7.27733, 7.28419,-0.0549563
+   0.153,-1.49501,-10.0971,1.04743e-71, 14.7155, 7.32407, 7.33405,-0.0574014
+   0.154,-1.50529,-10.4697,3.76499e-71, 14.8182, 7.37508, 7.38393,-0.059229
+   0.155, -1.5158, -10.558,5.05193e-71, 14.9218, 7.43102, 7.43113,-0.0596622
+   0.156,-1.52624,-10.3262,4.9895e-72, 15.0231, 7.48751, 7.47707,-0.0585252
+   0.157,-1.53635,-9.87533,-1.24133e-70,   15.12, 7.53858, 7.52509,-0.0563137
+   0.158,-1.54598,-9.39942,-2.73127e-70, 15.2122,  7.5829, 7.57531,-0.0539793
+   0.159,-1.55523,-9.10194,-2.43408e-70, 15.3015, 7.62444, 7.62452,-0.0525202
+    0.16,-1.56434,-9.10886,2.11394e-70, 15.3908, 7.66723, 7.67105,-0.0525541
+   0.161, -1.5736,-9.41532,1.08576e-69, 15.4832,  7.7118, 7.71735,-0.0540573
+   0.162,-1.58325, -9.8885,1.72622e-69, 15.5802, 7.75764, 7.76619,-0.0563783
+   0.163,-1.59336,-10.3252,7.83048e-70, 15.6815, 7.80652, 7.81646,-0.0585204
+   0.164,-1.60379,-10.5391,-2.86931e-69, 15.7849, 7.86046, 7.86486,-0.0595696
+   0.165,-1.61428,-10.4402,-8.09323e-69, 15.8873, 7.91724, 7.91098,-0.0590841
+   0.166,-1.62454,-10.0725,-9.60204e-69, 15.9861, 7.97097, 7.95787,-0.0572808
+   0.167,-1.63437,-9.59491,7.53522e-70, 16.0802,  8.0179, 8.00741,-0.0549382
+   0.168,-1.64377,-9.21208,2.64859e-68, 16.1706, 8.06015, 8.05741,-0.0530604
+   0.169,-1.65292,-9.08704,5.40838e-68, 16.2598, 8.10232,   8.105,-0.0524471
+    0.17, -1.6621,-9.27169,4.6174e-68, 16.3507, 8.14637,   8.151,-0.0533528
+   0.171,-1.67158,-9.68529,-4.13774e-68, 16.4457,  8.1917, 8.19865,-0.0553815
+   0.172, -1.6815,-10.1498,-2.06347e-67, 16.5453, 8.23898, 8.24866,-0.0576598
+   0.173,-1.69181,-10.4664,-3.31972e-67,  16.648, 8.29064, 8.29812,-0.0592126
+   0.174,-1.70229,-10.5006,-1.77673e-67,  16.751, 8.34661, 8.34499,-0.0593806
+   0.175,-1.71266,-10.2395,4.69048e-67, 16.8514, 8.40214, 8.39119,-0.0580999
+   0.176,-1.72268,-9.79634,1.45013e-66, 16.9475, 8.45196, 8.43965,-0.0559262
+   0.177,-1.73226,-9.36153,1.89659e-66, 17.0394, 8.49574, 8.48983,-0.0537935
+   0.178, -1.7415,-9.12085,3.67202e-67, 17.1288, 8.53765, 8.53858,-0.052613
+   0.179,-1.75065,-9.17607,-4.01158e-66, 17.2189, 8.58104, 8.58494,-0.0528838
+    0.18,-1.75999,-9.50192,-9.48648e-66, 17.3121, 8.62599,  8.6316,-0.0544821
+   0.181,-1.76972,-9.95764,-1.01606e-65, 17.4098, 8.67225,  8.6808,-0.0567174
+   0.182,-1.77987,-10.3477,2.11283e-66, 17.5113, 8.72178, 8.73086,-0.0586308
+   0.183, -1.7903,-10.5058,2.99801e-65, 17.6143, 8.77611, 8.77882,-0.0594064
+   0.184,-1.80073,-10.3657,5.88666e-65,  17.716, 8.83238, 8.82493,-0.0587188
+   0.185,-1.81091,-9.98874,5.12347e-65,  17.814, 8.88488, 8.87226,-0.0568699
+   0.186,-1.82067,-9.53745,-3.6802e-65, 17.9076, 8.93091, 8.92201,-0.0546563
+   0.187,-1.83004,-9.20508,-2.06201e-64, 17.9979, 8.97318, 8.97167,-0.0530261
+   0.188,-1.83921,-9.13307,-3.51101e-64, 18.0875, 9.01591, 9.01889,-0.0526729
+   0.189,-1.84845, -9.3508,-2.4346e-64, 18.1792, 9.06041, 9.06505,-0.0537408
+    0.19,-1.85801,-9.76367,3.43998e-64,  18.275, 9.10607, 9.11315,-0.055766
+   0.191,-1.86799,-10.1942,1.33918e-63,  18.375, 9.15391, 9.16321,-0.0578776
+   0.192,-1.87832,-10.4582,2.03385e-63, 18.4776, 9.20616, 9.21225,-0.0591726
+   0.193,-1.88877,-10.4438,1.08979e-63,   18.58, 9.26206, 9.25888,-0.0591018
+   0.194,-1.89907,-10.1585,-2.63467e-63, 18.6797, 9.31662, 9.30537,-0.0577024
+   0.195,-1.90901,-9.72567,-8.33848e-63, 18.7751,  9.3653, 9.35422,-0.0555796
+   0.196,-1.91854,-9.33115,-1.15447e-62, 18.8666, 9.40871, 9.40429,-0.0536445
+   0.197,-1.92778,-9.14336,-4.59661e-63, 18.9563, 9.45102,  9.4526,-0.0527233
+   0.198,-1.93697,-9.24151,1.81289e-62,  19.047, 9.49493, 9.49886,-0.0532048
+   0.199,-1.94638, -9.5822,5.02769e-62,  19.141,  9.5402, 9.54592,-0.0548759
+     0.2,-1.95618,-10.0186,6.47133e-62, 19.2393, 9.58687, 9.59539,-0.0570163
+   0.201,-1.96637,-10.3636,1.84087e-62, 19.3409, 9.63705, 9.64519,-0.0587086
+   0.202,-1.97679,-10.4702,-1.16182e-61, 19.4437, 9.69167, 9.69276,-0.0592316
+   0.203,-1.98717, -10.294,-2.95567e-61, 19.5446, 9.74734, 9.73894,-0.0583675
+   0.204,-1.99727, -9.9118,-3.6061e-61, 19.6419, 9.79868,  9.7867,-0.0564925
+   0.205,-2.00697, -9.4879,-7.23805e-62,  19.735, 9.84396, 9.83658,-0.0544133
+   0.206,-2.01632,-9.20378,7.05738e-61, 19.8252, 9.88635, 9.88587,-0.0530197
+   0.207,-2.02551,-9.18023,1.70199e-60, 19.9153,  9.9296, 9.93279,-0.0529042
+   0.208,-2.03482,-9.42606,2.00794e-60, 20.0078, 9.97448, 9.97918,-0.05411
+   0.209,-2.04445,-9.83487,3.06901e-61, 20.1043, 10.0205, 10.0277,-0.0561152
+    0.21,-2.05448,-10.2311,-4.10056e-60, 20.2046, 10.0689, 10.0777,-0.0580586
+   0.211,-2.06482,-10.4454,-9.62759e-60, 20.3071, 10.1217, 10.1263,-0.0591097
+   0.212,-2.07523, -10.387,-1.1208e-59,  20.409, 10.1774, 10.1728,-0.0588232
+   0.213,-2.08547,-10.0821,-1.62034e-60, 20.5079, 10.2309, 10.2196,-0.0573281
+   0.214,-2.09534,-9.66238,2.28875e-59, 20.6027, 10.2786, 10.2688,-0.0552691
+   0.215,-2.10482, -9.3077,5.35689e-59,  20.694, 10.3218, 10.3187,-0.0535294
+   0.216,-2.11406,-9.16945,6.2772e-59, 20.7839, 10.3645, 10.3666,-0.0528513
+   0.217, -2.1233,-9.30574,1.10376e-59, 20.8752, 10.4089, 10.4128,-0.0535198
+   0.218,-2.13278,-9.65703,-1.22812e-58,   20.97, 10.4544, 10.4603,-0.0552429
+   0.219,-2.14265,-10.0721,-2.93166e-58, 21.0688, 10.5015,   10.51,-0.0572789
+    0.22,-2.15287,-10.3732,-3.52277e-58, 21.1705, 10.5523, 10.5595,-0.0587558
+   0.221,-2.16327,-10.4321,-8.54475e-59, 21.2729, 10.6071, 10.6067,-0.0590447
+   0.222, -2.1736,-10.2247,6.31937e-58, 21.3732, 10.6621,  10.653,-0.0580274
+   0.223,-2.18363, -9.8409,1.57591e-57, 21.4697, 10.7124, 10.7012,-0.0561448
+   0.224,-2.19328, -9.4456,1.97455e-57, 21.5624, 10.7571, 10.7511,-0.0542058
+   0.225, -2.2026,-9.20789,6.67073e-58, 21.6527, 10.7997,    10.8,-0.0530399
+   0.226,-2.21182,-9.22872,-3.09804e-57, 21.7432, 10.8434, 10.8467,-0.053142
+   0.227,-2.22119,-9.49804,-8.29914e-57, 21.8364, 10.8886, 10.8934,-0.0544631
+   0.228,-2.23088,-9.89959,-1.10032e-56, 21.9335, 10.9349, 10.9422,-0.0564326
+   0.229,-2.24096,-10.2611,-4.99463e-57, 22.0342, 10.9839, 10.9921,-0.0582056
+    0.23,-2.25131,-10.4281,1.42885e-56, 22.1365, 11.0371, 11.0404,-0.0590248
+   0.231,-2.26169,  -10.33,4.2651e-56, 22.2378, 11.0925, 11.0867,-0.0585438
+   0.232,-2.27186,  -10.01,6.06346e-56,  22.336, 11.1451, 11.1339,-0.0569742
+   0.233,-2.28167,-9.60584,3.54131e-56, 22.4303, 11.1919, 11.1834,-0.0549918
+   0.234,-2.29111,-9.29072,-6.04723e-56, 22.5214,  11.235,  11.233,-0.0534462
+   0.235,-2.30036,-9.19904,-2.12751e-55, 22.6116, 11.2781, 11.2805,-0.0529965
+   0.236,-2.30964,-9.36904,-3.28546e-55, 22.7036, 11.3229, 11.3269,-0.0538303
+   0.237,-2.31919,-9.72691,-2.37711e-55,  22.799, 11.3687, 11.3747,-0.0555857
+   0.238,-2.32911,-10.1188,2.219e-55, 22.8982, 11.4162, 11.4245,-0.0575079
+   0.239,-2.33936, -10.377,1.02235e-54,      23, 11.4676, 11.4737,-0.0587743
+    0.24,-2.34975,-10.3916,1.74012e-54,  23.102, 11.5225, 11.5206,-0.0588459
+   0.241,-2.36002,-10.1574,1.51449e-54, 23.2016, 11.5768, 11.5672,-0.0576971
+   0.242,-2.36999,-9.77558,-5.86863e-55, 23.2975,  11.626, 11.6157,-0.0558244
+   0.243,-2.37958,-9.41007,-4.68126e-54, 23.3898, 11.6702, 11.6656,-0.0540316
+   0.244,-2.38889,-9.21712,-8.95277e-54, 23.4803, 11.7131, 11.7141,-0.0530851
+   0.245,-2.39814,-9.27854,-9.17922e-54, 23.5713, 11.7572, 11.7607,-0.0533864
+   0.246,-2.40756,-9.56702,-1.69257e-55, 23.6651, 11.8027, 11.8076,-0.0548014
+   0.247,-2.41733,-9.95826,2.00706e-53, 23.7628, 11.8493, 11.8568,-0.0567204
+   0.248,-2.42745,-10.2845,4.44293e-53, 23.8637, 11.8989, 11.9065,-0.0583206
+   0.249,-2.43779,-10.4065,5.29828e-53, 23.9658, 11.9525, 11.9544,-0.0589189
+    0.25,-2.44813,-10.2728,1.78661e-53, 24.0666, 12.0076, 12.0007,-0.0582633
+   0.251,-2.45824,-9.94175,-7.80075e-53, 24.1641, 12.0592, 12.0483,-0.0566394
+   0.252,-2.46799,-9.55564,-2.10828e-52, 24.2578, 12.1052, 12.0979,-0.0547456
+   0.253,-2.47741,-9.27987,-2.91119e-52, 24.3489, 12.1482, 12.1473,-0.0533929
+   0.254,-2.48666,-9.23194,-1.75368e-52, 24.4394, 12.1918, 12.1945,-0.0531578
+   0.255,-2.49599,-9.43146,2.54766e-52,  24.532, 12.2369,  12.241,-0.0541365
+   0.256,-2.50561,-9.79212,9.45092e-52,  24.628, 12.2829, 12.2892,-0.0559055
+   0.257,-2.51558, -10.159,1.51937e-51, 24.7277,  12.331,  12.339,-0.0577052
+   0.258,-2.52585,-10.3752,1.27234e-51, 24.8295, 12.3829, 12.3878,-0.0587655
+   0.259,-2.53621,-10.3488,-5.22379e-52,  24.931, 12.4378, 12.4346,-0.0586359
+    0.26,-2.54643, -10.092,-3.92563e-51,   25.03, 12.4913, 12.4813,-0.0573763
+   0.261,-2.55634,-9.71556,-7.49836e-51, 25.1253, 12.5396, 12.5302,-0.05553
+   0.262,-2.56588,-9.38098,-7.95866e-51, 25.2173, 12.5835,   12.58,-0.0538889
+   0.263,-2.57519, -9.2312,-1.22594e-51, 25.3079, 12.6266, 12.6282,-0.0531542
+   0.264,-2.58447,-9.32958,1.45643e-50, 25.3994, 12.6711, 12.6746,-0.0536368
+   0.265,-2.59395, -9.6331,3.47164e-50, 25.4939, 12.7168, 12.7219,-0.0551255
+   0.266,-2.60377,-10.0112,4.49376e-50, 25.5921, 12.7638, 12.7713,-0.0569799
+   0.267,-2.61393,-10.3017,2.39871e-50, 25.6932,  12.814, 12.8208,-0.0584052
+   0.268,-2.62427,-10.3809,-4.40645e-50,  25.795, 12.8679, 12.8683,-0.0587933
+   0.269,-2.63457,-10.2155,-1.48695e-49, 25.8952, 12.9225, 12.9148,-0.0579822
+    0.27,-2.64462,-9.87728,-2.32821e-49, 25.9921, 12.9731, 12.9627,-0.0563232
+   0.271,-2.65431,-9.51153,-1.93741e-49, 26.0854, 13.0185, 13.0124,-0.0545292
+   0.272, -2.6637,-9.27481,7.2153e-50, 26.1764, 13.0616, 13.0615,-0.0533681
+   0.273,-2.67297,-9.26792,5.73652e-49, 26.2673, 13.1056, 13.1084,-0.0533343
+   0.274,-2.68236,-9.49295,1.11004e-48, 26.3605, 13.1509, 13.1551,-0.0544381
+   0.275,-2.69203, -9.8528,1.22243e-48, 26.4571, 13.1972, 13.2037,-0.0562031
+   0.276,-2.70205, -10.193,3.29208e-49, 26.5571, 13.2458, 13.2535,-0.057872
+   0.277,-2.71233,-10.3682,-1.8754e-48, 26.6588, 13.2982, 13.3019,-0.058731
+   0.278,-2.72267,-10.3039,-4.83431e-48, 26.7599,  13.353, 13.3485,-0.0584157
+   0.279,-2.73283,-10.0285,-6.6805e-48, 26.8583, 13.4056, 13.3956,-0.0570651
+    0.28,-2.74268,-9.66069,-4.48937e-48, 26.9531, 13.4531, 13.4447,-0.0552608
+   0.281,-2.75219,-9.35803,4.23283e-48, 27.0449, 13.4967, 13.4944,-0.0537763
+   0.282,-2.76149,-9.24982,1.88203e-47, 27.1356, 13.5402, 13.5422,-0.0532455
+   0.283,-2.77081,-9.38164,3.25837e-47, 27.2276, 13.5851, 13.5886,-0.0538921
+   0.284,-2.78035,-9.69627,3.22303e-47, 27.3228,  13.631, 13.6363,-0.0554354
+   0.285,-2.79022,-10.0584,2.55876e-48, 27.4214, 13.6784, 13.6858,-0.0572118
+   0.286,-2.80041,-10.3131,-6.20613e-47, 27.5226, 13.7291, 13.7351,-0.0584607
+   0.287,-2.81074,-10.3516,-1.42304e-46, 27.6242, 13.7832, 13.7823,-0.0586495
+   0.288,  -2.821,-10.1582,-1.84004e-46, 27.7238, 13.8372, 13.8289,-0.0577012
+   0.289,-2.83098,-9.81658,-1.0837e-46, 27.8201, 13.8869, 13.8772,-0.0560255
+    0.29,-2.84063, -9.4733,1.45217e-46,  27.913, 13.9318, 13.9269,-0.0543417
+   0.291,   -2.85,-9.27527,5.46573e-46,  28.004, 13.9751, 13.9756,-0.0533703
+   0.292,-2.85929,-9.30669,9.03879e-46, 28.0953, 14.0194, 14.0224,-0.0535245
+   0.293,-2.86872,-9.55335,8.58112e-46,  28.189,  14.065, 14.0693,-0.0547344
+   0.294,-2.87846,-9.90898,1.64746e-47, 28.2863, 14.1116, 14.1182,-0.0564787
+   0.295,-2.88852, -10.221,-1.74387e-45, 28.3865, 14.1607, 14.1679,-0.0580094
+   0.296,-2.89881,-10.3562,-3.88403e-45, 28.4881, 14.2135,  14.216,-0.0586723
+   0.297,-2.90912,-10.2572,-4.96718e-45, 28.5887,  14.268, 14.2625,-0.0581866
+   0.298,-2.91923,-9.96718,-2.94217e-45, 28.6865, 14.3198, 14.3099,-0.0567642
+   0.299,-2.92902, -9.6109,3.75248e-45, 28.7808, 14.3665, 14.3593,-0.0550166
+     0.3,-2.93849,  -9.341,1.43481e-44, 28.8724, 14.4101, 14.4087,-0.0536928
+   0.301, -2.9478,-9.27267,2.39613e-44, 28.9634, 14.4539, 14.4562,-0.0533576
+   0.302,-2.95715,-9.43448,2.34279e-44, 29.0559, 14.4991, 14.5027,-0.0541513
+   0.303,-2.96675,-9.75642,2.56357e-45, 29.1517, 14.5452, 14.5507,-0.0557304
+   0.304,-2.97668,-10.1002,-4.23519e-44, 29.2507,  14.593, 14.6003,-0.0574168
+   0.305,-2.98689,-10.3187,-9.87784e-44,  29.352, 14.6442, 14.6493,-0.0584885
+   0.306,-2.99721,-10.3188,-1.31588e-43, 29.4532, 14.6984, 14.6963,-0.058489
+   0.307,-3.00742,-10.1012,-8.89928e-44, 29.5523, 14.7518, 14.7431,-0.0574216
+   0.308,-3.01735, -9.7597,7.16911e-44,  29.648, 14.8006, 14.7917,-0.0557465
+   0.309,-3.02695,-9.44082,3.39511e-43, 29.7406, 14.8451, 14.8413,-0.0541824
+    0.31,-3.03631,-9.28094,6.04118e-43, 29.8317, 14.8886, 14.8897,-0.0533982
+   0.311,-3.04562,-9.34795,6.44983e-43, 29.9234, 14.9333, 14.9364,-0.0537269
+   0.312, -3.0551,-9.61246,1.99617e-43, 30.0177, 14.9791, 14.9836,-0.0550243
+   0.313,-3.06489,-9.96064,-8.65228e-43, 30.1154,  15.026, 15.0327,-0.0567321
+   0.314,-3.07499,-10.2433,-2.31482e-42, 30.2159, 15.0756, 15.0822,-0.0581183
+   0.315,-3.08528,-10.3396,-3.36544e-42, 30.3173, 15.1288,   15.13,-0.0585908
+   0.316,-3.09556, -10.209,-2.76434e-42, 30.4175,  15.183, 15.1765,-0.0579503
+   0.317,-3.10561,-9.90808,6.73739e-43, 30.5147, 15.2339, 15.2243,-0.0564743
+   0.318,-3.11535,-9.56615,7.04974e-42, 30.6085,   15.28, 15.2738,-0.0547972
+   0.319, -3.1248,-9.32965,1.42179e-41,    30.7, 15.3235, 15.3229,-0.0536371
+    0.32,-3.13411,-9.29943,1.72582e-41, 30.7913, 15.3676, 15.3701,-0.0534888
+   0.321,-3.14351,-9.48778,9.62593e-42, 30.8843, 15.4131, 15.4168,-0.0544127
+   0.322,-3.15316,-9.81343,-1.32809e-41, 30.9806, 15.4595, 15.4652,-0.05601
+   0.323,-3.16313,-10.1366,-4.85761e-41, 31.0801, 15.5077, 15.5148,-0.0575952
+   0.324,-3.17336, -10.319,-8.07785e-41, 31.1813, 15.5594, 15.5634,-0.0584899
+   0.325,-3.18366, -10.283,-8.15645e-41, 31.2822, 15.6136, 15.6103,-0.0583135
+   0.326,-3.19383,-10.0448,-1.92973e-41, 31.3807, 15.6663, 15.6573,-0.0571447
+   0.327, -3.2037,-9.70675,1.1959e-40, 31.4759, 15.7143, 15.7061,-0.0554868
+   0.328,-3.21326,-9.41395,3.02456e-40, 31.5683, 15.7585, 15.7557,-0.0540506
+   0.329,-3.22261,-9.29153,4.3076e-40, 31.6594, 15.8022, 15.8038,-0.0534501
+    0.33,-3.23196,-9.39135,3.52116e-40, 31.7516, 15.8472, 15.8504,-0.0539397
+   0.331,-3.24149,-9.67002,-7.47056e-41, 31.8464, 15.8932, 15.8979,-0.0553066
+   0.332,-3.25133,-10.0077,-8.60827e-40, 31.9446, 15.9404, 15.9472,-0.0569632
+   0.333,-3.26146,-10.2598,-1.75355e-39, 32.0452, 15.9905, 15.9965,-0.0581997
+   0.334,-3.27175,-10.3187,-2.17542e-39, 32.1465,  16.044,  16.044,-0.0584882
+   0.335,-3.28199,-10.1596,-1.35145e-39, 32.2461, 16.0978, 16.0906,-0.0577082
+   0.336,-3.29199,-9.85147,1.29332e-39, 32.3428, 16.1479, 16.1387,-0.0561966
+   0.337,-3.30168,-9.52646,5.50973e-39, 32.4362, 16.1934, 16.1882,-0.0546025
+   0.338,-3.31111,-9.32376,9.62858e-39, 32.5277,  16.237, 16.2371,-0.0536082
+   0.339,-3.32043,-9.32974,1.04655e-38, 32.6192, 16.2815, 16.2841,-0.0536375
+    0.34,-3.32987,-9.54123,4.26712e-39, 32.7128, 16.3272,  16.331,-0.0546749
+   0.341,-3.33957,-9.86712,-1.103e-38, 32.8096, 16.3737, 16.3796,-0.0562734
+   0.342,-3.34959,-10.1676,-3.26777e-38, 32.9094, 16.4224, 16.4292,-0.0577473
+   0.343,-3.35983,-10.3142,-5.06357e-38, 33.0105, 16.4746, 16.4775,-0.0584662
+   0.344,-3.37011,-10.2446,-4.8154e-38,  33.111, 16.5287, 16.5243,-0.0581247
+   0.345,-3.38023,-9.98916,-7.83036e-39,  33.209, 16.5806, 16.5715,-0.056872
+   0.346,-3.39005,-9.65784,7.62356e-38, 33.3038, 16.6279, 16.6206,-0.0552469
+   0.347,-3.39958,-9.39259,1.83445e-37, 33.3959, 16.6719, 16.6701,-0.0539458
+   0.348,-3.40893,-9.30674,2.57159e-37, 33.4872, 16.7159, 16.7178,-0.0535247
+   0.349, -3.4183,-9.43652,2.12545e-37, 33.5798, 16.7612, 16.7644,-0.0541613
+    0.35,-3.42788,-9.72576,-2.7962e-38, 33.6752, 16.8074, 16.8123,-0.05558
+   0.351,-3.43777,-10.0502,-4.71962e-37, 33.7738, 16.8549, 16.8617,-0.0571715
+   0.352,-3.44793, -10.271,-9.87442e-37, 33.8746, 16.9056, 16.9107,-0.0582542
+   0.353,-3.45821,-10.2938,-1.2698e-36, 33.9755, 16.9592,  16.958,-0.0583662
+   0.354,-3.46841,-10.1095,-9.02293e-37, 34.0747, 17.0125, 17.0048,-0.0574623
+   0.355,-3.47837,-9.79756,4.4868e-37, 34.1708, 17.0618, 17.0531,-0.0559322
+   0.356,-3.48801,-9.49182,2.72084e-36, 34.2639, 17.1068, 17.1027,-0.0544325
+   0.357,-3.49742,-9.32311,5.1416e-36, 34.3554, 17.1505, 17.1512,-0.053605
+   0.358,-3.50676,-9.36325,6.13252e-36, 34.4473, 17.1953, 17.1981,-0.0538019
+   0.359,-3.51624,-9.59448,3.6957e-36, 34.5414, 17.2412, 17.2452,-0.0549361
+    0.36,  -3.526, -9.9173,-3.5593e-36, 34.6387,  17.288, 17.2941,-0.0565195
+   0.361,-3.53605,-10.1933,-1.48965e-35, 34.7387, 17.3372, 17.3436,-0.0578733
+   0.362, -3.5463,-10.3045,-2.60657e-35, 34.8397, 17.3897, 17.3916,-0.0584187
+   0.363,-3.55655,-10.2037,-2.91273e-35, 34.9398, 17.4436, 17.4383,-0.0579245
+   0.364,-3.56662,-9.93474,-1.46817e-35, 35.0373, 17.4948, 17.4859,-0.0566051
+   0.365, -3.5764, -9.6131,2.29191e-35, 35.1316, 17.5414, 17.5351,-0.0550274
+   0.366,-3.58589,-9.37661,7.83509e-35, 35.2236, 17.5854, 17.5844,-0.0538674
+   0.367,-3.59524,-9.32625,1.29291e-34, 35.3151, 17.6296, 17.6318,-0.0536204
+   0.368,-3.60465,-9.48307,1.36757e-34, 35.4081, 17.6752, 17.6785,-0.0543896
+   0.369,-3.61428,-9.77939,5.71348e-35,  35.504, 17.7216, 17.7267,-0.0558431
+    0.37,-3.62421, -10.088,-1.32133e-34,  35.603, 17.7695, 17.7762,-0.0573569
+   0.371, -3.6344,-10.2768,-3.98797e-34, 35.7038, 17.8206, 17.8249,-0.0582829
+   0.372,-3.64467,-10.2653,-6.29861e-34, 35.8045, 17.8743,  17.872,-0.0582264
+   0.373,-3.65483, -10.059,-6.37723e-34, 35.9032, 17.9271, 17.9189,-0.0572143
+   0.374,-3.66473,-9.74661,-2.21881e-34, 35.9988, 17.9756, 17.9676,-0.0556823
+   0.375,-3.67434,-9.46223,7.07482e-34, 36.0916, 18.0203, 18.0171,-0.0542874
+   0.376,-3.68373,-9.32746,1.97374e-33, 36.1832, 18.0642, 18.0654,-0.0536264
+   0.377,-3.69309,-9.39958,3.02233e-33, 36.2754, 18.1093, 18.1121,-0.0539801
+   0.378,-3.70262,-9.64717,2.9655e-33,   36.37, 18.1553, 18.1595,-0.0551945
+   0.379,-3.71242, -9.9638,8.86394e-34, 36.4677, 18.2024, 18.2086,-0.0567476
+    0.38,-3.72251,-10.2138,-3.57861e-33, 36.5679,  18.252, 18.2579,-0.0579737
+   0.381,-3.73276,-10.2903,-9.52801e-33, 36.6689, 18.3049, 18.3056,-0.0583489
+   0.382,-3.74299, -10.161,-1.43128e-32, 36.7686, 18.3585, 18.3523,-0.0577148
+   0.383,-3.75301,-9.88183,-1.37926e-32, 36.8655,  18.409, 18.4002,-0.0563455
+   0.384,-3.76274,-9.57266,-3.78446e-33, 36.9594,  18.455, 18.4496,-0.054829
+   0.385,-3.77221,-9.36588,1.72439e-32, 37.0513, 18.4989, 18.4986,-0.0538148
+   0.386,-3.78157,-9.34973,4.49443e-32,  37.143, 18.5435, 18.5458,-0.0537356
+   0.387,-3.79101,-9.53063,6.69706e-32, 37.2365, 18.5892, 18.5927,-0.0546229
+   0.388,-3.80069,-9.83064,6.42665e-32, 37.3329, 18.6358, 18.6411,-0.0560944
+   0.389,-3.81066, -10.121,1.77523e-32, 37.4322, 18.6841, 18.6906,-0.0575189
+    0.39,-3.82086,-10.2776,-7.94217e-32, 37.5331, 18.7357, 18.7391,-0.0582866
+   0.391,-3.83112,-10.2336,-2.07312e-31, 37.6335, 18.7894,  18.786,-0.0580708
+   0.392,-3.84124,-10.0084,-3.09715e-31, 37.7316, 18.8415, 18.8332,-0.0569662
+   0.393,-3.85109,-9.69884,-3.00014e-31, 37.8268, 18.8893, 18.8821,-0.055448
+   0.394,-3.86066,-9.43768,-9.1159e-32, 37.9194, 18.9337, 18.9315,-0.054167
+   0.395,-3.87005,-9.33655,3.49489e-31,  38.011, 18.9779, 18.9794,-0.053671
+   0.396,-3.87943,-9.43833,9.34851e-31, 38.1035, 19.0232, 19.0262,-0.0541702
+   0.397,  -3.889,-9.69894,1.41498e-30, 38.1987, 19.0694, 19.0738,-0.0554485
+   0.398,-3.89886,-10.0064,1.40115e-30, 38.2969, 19.1168, 19.1231,-0.0569567
+   0.399,-3.90897,-10.2291,4.96419e-31, 38.3972, 19.1669, 19.1722,-0.0580487
+     0.4,-3.91922,-10.2718,-1.46292e-30,  38.498, 19.2201, 19.2197,-0.0582582
+   0.401,-3.92942,-10.1167,-4.11621e-30, 38.5972, 19.2733, 19.2664,-0.0574976
+   0.402,-3.93939,-9.83075,-6.37855e-30, 38.6937, 19.3229, 19.3146,-0.056095
+   0.403,-3.94908,-9.53662,-6.52892e-30, 38.7872, 19.3685, 19.3641,-0.0546523
+   0.404,-3.95852,-9.36024,-2.76189e-30,  38.879, 19.4125, 19.4128,-0.0537871
+   0.405,-3.96789,-9.37682,5.76761e-30,  38.971, 19.4573, 19.4598,-0.0538684
+   0.406,-3.97737,-9.57877,1.76562e-29,  39.065, 19.5033, 19.5069,-0.0548591
+   0.407, -3.9871,-9.87921,2.83168e-29, 39.1619,   19.55, 19.5555,-0.0563327
+   0.408,-3.99711,-10.1493,3.02449e-29, 39.2615, 19.5988,  19.605,-0.0576574
+   0.409,-4.00732,-10.2735,1.52739e-29, 39.3622, 19.6508, 19.6532,-0.0582665
+    0.41,-4.01756, -10.199,-2.0989e-29, 39.4623, 19.7044,    19.7,-0.057901
+   0.411,-4.02764,-9.95813,-7.35183e-29,   39.56, 19.7558, 19.7474,-0.0567198
+   0.412,-4.03745,-9.65449,-1.23481e-28, 39.6547, 19.8029, 19.7965,-0.0552304
+   0.413,-4.04698,-9.41815,-1.38723e-28, 39.7471, 19.8472, 19.8458,-0.0540712
+   0.414,-4.05637,-9.35012,-8.26367e-29, 39.8388, 19.8916, 19.8935,-0.0537375
+   0.415,-4.06578,-9.47911,6.73985e-29, 39.9318, 19.9372, 19.9402,-0.0543702
+   0.416, -4.0754,-9.74943,2.95585e-28, 40.0274, 19.9836, 19.9882,-0.0556961
+   0.417,-4.08529, -10.045,5.27215e-28,  40.126, 20.0313, 20.0375,-0.057146
+   0.418,-4.09543,-10.2393,6.27306e-28, 40.2264, 20.0819, 20.0864,-0.058099
+   0.419,-4.10568,-10.2494,4.33872e-28,  40.327, 20.1352, 20.1337,-0.0581483
+    0.42,-4.11584,-10.0713,-1.67256e-28, 40.4258, 20.1879, 20.1806,-0.0572749
+   0.421,-4.12577,-9.78182,-1.13834e-27, 40.5217, 20.2368,  20.229,-0.055855
+   0.422,-4.13541,-9.50508,-2.19518e-27,  40.615,  20.282, 20.2785,-0.0544976
+   0.423,-4.14484,-9.35953,-2.78462e-27, 40.7068, 20.3261, 20.3269,-0.0537837
+   0.424,-4.15422,-9.40715,-2.20204e-27, 40.7991, 20.3712, 20.3738,-0.0540173
+   0.425,-4.16374,-9.62711,1.13786e-28, 40.8935, 20.4173, 20.4211,-0.0550961
+   0.426,-4.17352,-9.92484,4.14563e-27, 40.9909, 20.4643,   20.47,-0.0565565
+   0.427,-4.18357,-10.1727,8.86893e-27, 41.0907, 20.5136, 20.5194,-0.0577723
+   0.428,-4.19379,-10.2647,1.20813e-26, 41.1914, 20.5659, 20.5673,-0.0582237
+   0.429,  -4.204,-10.1619,1.07822e-26, 41.2911, 20.6193, 20.6141,-0.0577192
+    0.43,-4.21403,-9.90863,2.29513e-27, 41.3883,   20.67, 20.6618,-0.056477
+   0.431, -4.2238,-9.61375,-1.39553e-26, 41.4826, 20.7166,  20.711,-0.0550306
+   0.432, -4.2333,-9.40357,-3.45419e-26, 41.5748, 20.7608, 20.7601,-0.0539997
+   0.433,-4.24269,-9.36785,-5.09966e-26, 41.6667, 20.8054, 20.8075,-0.0538245
+   0.434,-4.25213, -9.5215,-5.08651e-26, 41.7601, 20.8512, 20.8544,-0.0545781
+   0.435,-4.26179,-9.79829,-2.17996e-26, 41.8563, 20.8978, 20.9026,-0.0559358
+   0.436,-4.27173,-10.0795,4.13872e-26, 41.9551, 20.9458,  20.952,-0.0573149
+   0.437, -4.2819,-10.2446,1.28507e-25, 42.0556, 20.9969, 21.0006,-0.0581251
+   0.438,-4.29213,-10.2234,2.0838e-25, 42.1559, 21.0502, 21.0477,-0.0580208
+   0.439,-4.30225,-10.0252,2.30868e-25, 42.2543, 21.1024, 21.0948,-0.0570487
+    0.44,-4.31213,-9.73535,1.4098e-25, 42.3498, 21.1507, 21.1435,-0.0556271
+   0.441,-4.32174,-9.47812,-9.40478e-26, 42.4428, 21.1955, 21.1929,-0.0543653
+   0.442,-4.33116,-9.36355,-4.50318e-25, 42.5346, 21.2398,  21.241,-0.0538034
+   0.443,-4.34056,-9.44036,-8.19285e-25, 42.6272, 21.2852, 21.2879,-0.0541801
+   0.444,-4.35012,-9.67524,-1.00629e-24, 42.7221, 21.3314, 21.3354,-0.0553322
+   0.445,-4.35994,-9.96728,-7.75463e-25, 42.8199, 21.3787, 21.3845,-0.0567647
+   0.446,-4.37002,-10.1913,5.03845e-26, 42.9199, 21.4284, 21.4337,-0.0578636
+   0.447,-4.38024,-10.2516,1.45043e-24, 43.0205,  21.481, 21.4813,-0.0581594
+   0.448,-4.39043,-10.1227,3.075e-24, 43.1198, 21.5341, 21.5281,-0.0575272
+   0.449,-4.40042,-9.86025,4.2005e-24, 43.2165, 21.5841, 21.5761,-0.0562397
+    0.45,-4.41014,-9.57684,3.85563e-24, 43.3104, 21.6301, 21.6255,-0.0548495
+   0.451,-4.41963,-9.39386,1.17126e-24, 43.4026, 21.6744, 21.6743,-0.0539521
+   0.452,-4.42902,-9.38945,-4.07715e-24, 43.4947, 21.7193, 21.7215,-0.0539304
+   0.453,-4.43849,-9.56508,-1.08915e-23, 43.5885, 21.7652, 21.7685,-0.0547919
+   0.454, -4.4482,-9.84517,-1.67236e-23, 43.6851,  21.812,  21.817,-0.0561657
+   0.455,-4.45818,-10.1096,-1.77476e-23, 43.7843, 21.8604, 21.8664,-0.0574627
+   0.456,-4.46835,-10.2452,-1.00082e-23, 43.8848, 21.9119, 21.9148,-0.0581278
+   0.457,-4.47857,-10.1942,8.56245e-24, 43.9848, 21.9652, 21.9617,-0.0578775
+   0.458,-4.48866,-9.97879,3.57241e-23, 44.0827, 22.0169,  22.009,-0.0568211
+   0.459, -4.4985,-9.69163,6.31115e-23, 44.1778, 22.0644, 22.0579,-0.0554126
+    0.46,-4.50807,-9.45577,7.63969e-23, 44.2705, 22.1091, 22.1072,-0.0542557
+   0.461,-4.51748,-9.37208,5.87092e-23, 44.3625, 22.1535, 22.1551,-0.0538452
+   0.462,-4.52691,-9.47604,-2.25244e-24, 44.4554, 22.1991, 22.2019,-0.0543551
+   0.463,-4.53651,-9.72275,-1.04612e-22, 44.5508, 22.2456, 22.2497,-0.0555653
+   0.464,-4.54637,-10.0063,-2.23542e-22,  44.649, 22.2931, 22.2989,-0.056956
+   0.465,-4.55648,-10.2052,-3.08457e-22, 44.7491, 22.3432, 22.3479,-0.0579315
+   0.466, -4.5667,-10.2345,-2.91702e-22, 44.8495, 22.3961, 22.3953,-0.0580752
+   0.467,-4.57686, -10.082,-1.11999e-22, 44.9484, 22.4488, 22.4423,-0.0573272
+   0.468, -4.5868,-9.81336,2.49504e-22, 45.0447, 22.4981, 22.4905,-0.0560097
+   0.469,-4.59648, -9.5439,7.30695e-22, 45.1383, 22.5437, 22.5399,-0.054688
+    0.47,-4.60595,-9.38893,1.16563e-21, 45.2304,  22.588, 22.5885,-0.0539279
+   0.471,-4.61535,-9.41457,1.2996e-21, 45.3228, 22.6332, 22.6355,-0.0540536
+   0.472,-4.62486,-9.60944,8.59683e-22,  45.417, 22.6793, 22.6827,-0.0550095
+   0.473,-4.63461,-9.88976,-3.18158e-22,  45.514, 22.7262, 22.7314,-0.0563845
+   0.474,-4.64462,-10.1353,-2.13262e-21, 45.6135, 22.7751, 22.7808,-0.057589
+   0.475,-4.65481,-10.2411,-4.09126e-21, 45.7139,  22.827, 22.8289,-0.0581079
+   0.476,-4.66501,-10.1621,-5.29927e-21, 45.8136, 22.8802, 22.8758,-0.0577203
+   0.477,-4.67506, -9.9325,-4.64398e-21, 45.9111, 22.9312, 22.9233,-0.0565941
+   0.478,-4.68485,-9.65094,-1.21083e-21, 46.0057, 22.9781, 22.9724,-0.055213
+   0.479, -4.6944,-9.43806,5.1264e-21, 46.0983, 23.0226, 23.0215,-0.0541689
+    0.48,-4.70381,-9.38487,1.3123e-20, 46.1904, 23.0673, 23.0692,-0.0539079
+   0.481,-4.71326,-9.51379,1.98842e-20, 46.2837, 23.1132,  23.116,-0.0545403
+   0.482, -4.7229,-9.76927,2.12265e-20, 46.3796, 23.1597, 23.1641,-0.0557934
+   0.483, -4.7328,-10.0417,1.29133e-20, 46.4781, 23.2076, 23.2134,-0.0571295
+   0.484,-4.74293,-10.2143,-7.27999e-21, 46.5783, 23.2582, 23.2621,-0.0579763
+   0.485,-4.75315,-10.2135,-3.71598e-20, 46.6785, 23.3111, 23.3094,-0.0579723
+   0.486,-4.76327,-10.0399,-6.83323e-20,  46.777, 23.3634, 23.3564,-0.0571211
+   0.487,-4.77318, -9.7683,-8.63229e-20, 46.8728, 23.4121, 23.4049,-0.0557887
+   0.488,-4.78282,-9.51507,-7.37526e-20, 46.9661, 23.4573, 23.4543,-0.0545466
+   0.489,-4.79227,-9.38864,-1.6967e-20, 47.0582, 23.5017, 23.5026,-0.0539264
+    0.49,-4.80169,-9.44286,8.49212e-20, 47.1509, 23.5471, 23.5496,-0.0541924
+   0.491,-4.81124,-9.65416,2.11444e-19, 47.2456, 23.5934,  23.597,-0.0552288
+   0.492,-4.82103,-9.93175,3.17096e-19,  47.343, 23.6405, 23.6459,-0.0565904
+   0.493,-4.83107,-10.1567,3.37437e-19, 47.4426, 23.6898, 23.6951,-0.0576935
+   0.494,-4.84127,-10.2327,2.0817e-19,  47.543,  23.742, 23.7429,-0.0580665
+   0.495,-4.85145,-10.1276,-1.03845e-19, 47.6424,  23.795, 23.7898,-0.057551
+   0.496,-4.86145,-9.88674,-5.65064e-19, 47.7394, 23.8453, 23.8376,-0.0563696
+   0.497, -4.8712,-9.61352,-1.04943e-18, 47.8337, 23.8918, 23.8869,-0.0550295
+   0.498,-4.88072,-9.42497,-1.34057e-18, 47.9261, 23.9362, 23.9358,-0.0541046
+   0.499,-4.89014,-9.40165,-1.17835e-18, 48.0184, 23.9812, 23.9832,-0.0539902
+     0.5,-4.89961,-9.55321,-3.55056e-19, 48.1121, 24.0272, 24.0302,-0.0547337
+   0.501, -4.9093,-9.81441,1.15377e-18, 48.2084, 24.0739, 24.0785,-0.0560148
+   0.502,-4.91924,-10.0732,3.06433e-18, 48.3072, 24.1221, 24.1278,-0.0572842
+   0.503,-4.92939,-10.2188,4.72782e-18, 48.4074, 24.1731, 24.1763,-0.0579983
+   0.504,-4.93959,-10.1891,5.21043e-18, 48.5074, 24.2261, 24.2234,-0.0578525
+   0.505,-4.94969, -9.9971,3.55551e-18, 48.6054, 24.2779, 24.2706,-0.0569109
+   0.506,-4.95955,-9.72541,-7.83741e-19, 48.7009, 24.3259, 24.3194,-0.0555783
+   0.507,-4.96915,-9.49047,-7.43954e-18,  48.794, 24.3709, 24.3687,-0.0544259
+   0.508, -4.9786,-9.39281,-1.4744e-17, 48.8861, 24.4154, 24.4167,-0.0539469
+   0.509,-4.98803,-9.47395,-1.97129e-17,  48.979, 24.4611, 24.4636,-0.0543449
+    0.51,-4.99762,-9.69882,-1.86281e-17, 49.0742, 24.5075, 24.5113,-0.0554479
+   0.511,-5.00745,-9.97085,-8.30767e-18,  49.172, 24.5549, 24.5603,-0.0567822
+   0.512,-5.01752,-10.1735,1.211e-17, 49.2718, 24.6046, 24.6094,-0.0577761
+   0.513,-5.02772,-10.2201,3.93806e-17, 49.3721, 24.6571,  24.657,-0.0580047
+   0.514,-5.03788, -10.091,6.51821e-17, 49.4711, 24.7097, 24.7039,-0.0573716
+   0.515,-5.04784,-9.84188,7.68821e-17, 49.5676, 24.7594,  24.752,-0.0561496
+   0.516,-5.05755,-9.57958,6.07177e-17, 49.6616, 24.8054, 24.8013,-0.054863
+   0.517,-5.06705,-9.41644,7.36434e-18,  49.754, 24.8499,   24.85,-0.0540628
+   0.518,-5.07647,-9.42213,-8.12283e-17, 49.8464, 24.8951, 24.8972,-0.0540907
+   0.519,-5.08598,-9.59387,-1.86077e-16, 49.9405, 24.9412, 24.9443,-0.0549331
+    0.52, -5.0957,-9.85782,-2.69704e-16, 50.0372, 24.9881, 24.9929,-0.0562278
+   0.521,-5.10568,-10.1008,-2.82115e-16, 50.1363, 25.0367, 25.0422,-0.0574195
+   0.522,-5.11584,-10.2188,-1.75857e-16, 50.2365, 25.0881, 25.0905,-0.0579983
+   0.523,-5.12603,-10.1615,7.13424e-17, 50.3362, 25.1411, 25.1374,-0.0577175
+   0.524,-5.13609,-9.95387,4.32066e-16, 50.4339, 25.1923, 25.1849,-0.0566989
+   0.525,-5.14591,  -9.685,8.12644e-16, 50.5289, 25.2397, 25.2338,-0.0553801
+   0.526,-5.15549,-9.47017,1.05641e-15, 50.6218, 25.2845,  25.283,-0.0543264
+   0.527,-5.16492,-9.40125,9.76623e-16,  50.714, 25.3292, 25.3308,-0.0539883
+   0.528,-5.17438,-9.50748,4.21418e-16, 50.8073, 25.3751, 25.3777,-0.0545093
+   0.529,  -5.184,-9.74303,-6.39649e-16, 50.9029, 25.4216, 25.4256,-0.0556647
+    0.53,-5.19388,-10.0068,-2.03315e-15,  51.001, 25.4693, 25.4748,-0.0569586
+   0.531,-5.20397,-10.1858,-3.34181e-15, 51.1009, 25.5195, 25.5237,-0.0578367
+   0.532,-5.21417,-10.2036,-3.94815e-15,  51.201, 25.5721,  25.571,-0.0579238
+   0.533, -5.2243,-10.0528,-3.18971e-15, 51.2997, 25.6244, 25.6181,-0.0571841
+   0.534,-5.23422,-9.79832,-6.20507e-16, 51.3958, 25.6734, 25.6664,-0.0559359
+   0.535, -5.2439,-9.54933,3.67507e-15, 51.4895,  25.719, 25.7157,-0.0547146
+   0.536,-5.25338,-9.41241,8.82232e-15, 51.5818, 25.7636, 25.7642,-0.054043
+   0.537,-5.26281,-9.44599,1.30918e-14, 51.6745,  25.809, 25.8113,-0.0542077
+   0.538,-5.27235,-9.63537,1.41656e-14,  51.769, 25.8553, 25.8586,-0.0551366
+   0.539,-5.28211,-9.89916,9.80158e-15, 51.8661, 25.9024, 25.9073,-0.0564306
+    0.54,-5.29213,-10.1243,-1.16931e-15, 51.9654, 25.9513, 25.9566,-0.0575348
+   0.541, -5.3023,-10.2144,-1.77569e-14, 52.0656, 26.0031, 26.0046,-0.057977
+   0.542,-5.31247,-10.1312,-3.6048e-14,  52.165, 26.0559, 26.0515,-0.0575689
+   0.543,-5.32249,-9.91065,-4.92627e-14, 52.2622, 26.1066, 26.0992,-0.0564869
+   0.544,-5.33227,-9.64737,-4.90513e-14, 52.3569, 26.1534, 26.1483,-0.0551955
+   0.545,-5.34182,-9.45421,-2.81506e-14, 52.4496, 26.1981, 26.1973,-0.054248
+   0.546,-5.35125,-9.41375,1.59837e-14,  52.542, 26.2431, 26.2449,-0.0540496
+   0.547,-5.36073,-9.54303,7.757e-14, 52.6356, 26.2891, 26.2918,-0.0546837
+   0.548, -5.3704,-9.78639,1.40436e-13, 52.7316, 26.3358, 26.3399,-0.0558774
+   0.549,-5.38031,-10.0394,1.79177e-13, 52.8301, 26.3837, 26.3892,-0.0571185
+    0.55,-5.39043,-10.1937,1.64758e-13, 52.9301, 26.4343, 26.4379,-0.0578755
+   0.551,-5.40061,-10.1835,7.45903e-14,   53.03, 26.4871, 26.4851,-0.0578252
+   0.552,-5.41071,-10.0133,-9.47399e-14, 53.1282,  26.539, 26.5323,-0.0569905
+   0.553, -5.4206,-9.75641,-3.1593e-13, 53.2239, 26.5874, 26.5808,-0.0557303
+   0.554,-5.43024, -9.5229,-5.25978e-13, 53.3173, 26.6327, 26.6301,-0.054585
+   0.555, -5.4397,-9.41275,-6.33209e-13, 53.4097, 26.6773, 26.6783,-0.0540447
+   0.556,-5.44915, -9.4729,-5.39665e-13, 53.5026, 26.7229, 26.7253,-0.0543397
+   0.557,-5.45872,-9.67728,-1.77675e-13, 53.5975, 26.7694, 26.7728,-0.0553422
+   0.558,-5.46853,-9.93812,4.46956e-13,  53.695, 26.8167, 26.8218,-0.0566216
+   0.559,-5.47857,-10.1436,1.21924e-12, 53.7945,  26.866, 26.8709,-0.0576297
+    0.56,-5.48875,-10.2059,1.90503e-12, 53.8947, 26.9181, 26.9186,-0.0579352
+   0.561, -5.4989,-10.0986,2.18397e-12, 53.9937, 26.9707, 26.9656,-0.0574086
+   0.562,-5.50888,-9.86784,1.73385e-12, 54.0905, 27.0207, 27.0135,-0.0562769
+   0.563,-5.51862,-9.61276,3.58565e-13, 54.1848, 27.0671, 27.0627,-0.0550257
+   0.564,-5.52815,-9.44259,-1.8694e-12, 54.2775, 27.1118, 27.1115,-0.054191
+   0.565,-5.53759,-9.43004,-4.50155e-12,   54.37, 27.1569, 27.1589,-0.0541295
+   0.566,-5.54709,-9.58021,-6.70139e-12,  54.464, 27.2031,  27.206,-0.0548661
+   0.567, -5.5568,-9.82852,-7.38e-12, 54.5604, 27.2499, 27.2543,-0.056084
+   0.568,-5.56674,-10.0685,-5.49924e-12, 54.6591, 27.2983, 27.3036,-0.0572609
+   0.569,-5.57688,-10.1973,-5.05837e-13, 54.7592, 27.3493,  27.352,-0.0578929
+    0.57,-5.58706,-10.1601,7.20981e-12, 54.8588,  27.402, 27.3991,-0.0577103
+   0.571,-5.59712,-9.97302,1.59978e-11, 54.9567, 27.4534, 27.4465,-0.0567928
+   0.572,-5.60697,-9.71648,2.29697e-11,  55.052, 27.5012, 27.4952,-0.0555345
+   0.573,-5.61658,-9.50044,2.45125e-11, 55.1452, 27.5463, 27.5444,-0.0544748
+   0.574,-5.62603,-9.41733,1.73359e-11, 55.2376, 27.5911, 27.5924,-0.0540672
+   0.575,-5.63549, -9.5025,-9.62395e-14, 55.3308, 27.6369, 27.6394,-0.0544849
+   0.576, -5.6451, -9.7192,-2.61163e-11, 55.4262, 27.6835, 27.6871,-0.0555478
+   0.577,-5.65495, -9.9744,-5.4939e-11,  55.524,  27.731, 27.7362,-0.0567996
+   0.578,-5.66502,-10.1588,-7.68897e-11, 55.6237, 27.7808, 27.7852,-0.0577039
+   0.579,-5.67519,-10.1935,-8.02336e-11, 55.7237, 27.8331, 27.8327,-0.0578741
+    0.58,-5.68532,-10.0639,-5.46682e-11, 55.8224, 27.8854, 27.8797,-0.0572386
+   0.581,-5.69527,-9.82584,4.06724e-12, 55.9188, 27.9348, 27.9279,-0.0560709
+   0.582,-5.70497,-9.58141,8.96912e-11, 56.0128, 27.9808, 27.9771,-0.054872
+   0.583,-5.71448,-9.43528,1.8275e-10, 56.1053, 28.0254, 28.0257,-0.0541552
+   0.584,-5.72392,-9.44986,2.5173e-10,  56.198, 28.0709, 28.0729,-0.0542267
+   0.585,-5.73346,-9.61863,2.59244e-10, 56.2924, 28.1172, 28.1202,-0.0550545
+   0.586, -5.7432,-9.86905,1.73315e-10, 56.3892, 28.1642, 28.1688,-0.0562829
+   0.587,-5.75318,-10.0938,-1.81127e-11, 56.4882, 28.2128,  28.218,-0.0573851
+   0.588,-5.76333,-10.1966,-2.9338e-10, 56.5883, 28.2642, 28.2662,-0.0578894
+   0.589,-5.77349,-10.1337,-5.89525e-10, 56.6877, 28.3169, 28.3132,-0.0575809
+    0.59,-5.78353,-9.93229,-8.06571e-10, 56.7851, 28.3678, 28.3607,-0.0565931
+   0.591,-5.79333,-9.67887,-8.27508e-10,   56.88,  28.415, 28.4097,-0.05535
+   0.592,-5.80291,-9.48203,-5.53705e-10, 56.9731, 28.4599, 28.4588,-0.0543845
+   0.593,-5.81237,-9.42596,5.03451e-11, 57.0655, 28.5049, 28.5065,-0.0541095
+   0.594,-5.82185,-9.53444,9.15234e-10, 57.1591, 28.5509, 28.5535,-0.0546416
+   0.595,-5.83149,-9.76073,1.84448e-09, 57.2548, 28.5976, 28.6015,-0.0557516
+   0.596,-5.84138,-10.0077,2.52892e-09,  57.353, 28.6454, 28.6506,-0.0569631
+   0.597,-5.85147,-10.1697,2.60864e-09, 57.4528, 28.6956, 28.6994,-0.0577574
+   0.598,-5.86164,-10.1773,1.78099e-09, 57.5526,  28.748, 28.7468,-0.0577948
+   0.599,-5.87174,-10.0276,-6.41677e-11,  57.651,    28.8, 28.7939,-0.0570607
+     0.6,-5.88165,-9.78503,-2.71911e-09,  57.747, 28.8488, 28.8423,-0.0558707
+   0.601,-5.89132,-9.55352,-5.5924e-09, 57.8407, 28.8944, 28.8915,-0.0547352
+   0.602,-5.90081,-9.43222,-7.75218e-09, 57.9332, 28.9392, 28.9399,-0.0541402
+   0.603,-5.91026, -9.4729,-8.11061e-09, 58.0261, 28.9848,  28.987,-0.0543397
+   0.604,-5.91983,-9.65786,-5.74431e-09, 58.1209, 29.0312, 29.0344,-0.055247
+   0.605,-5.92961,-9.90766,-2.9495e-10, 58.2181, 29.0784, 29.0832,-0.0564723
+   0.606,-5.93962,-10.1152,7.65849e-09, 58.3173, 29.1275, 29.1323,-0.0574904
+   0.607,-5.94978,-10.1918,1.64001e-08, 58.4173, 29.1792, 29.1803,-0.0578657
+   0.608,-5.95992,-10.1047,2.31947e-08, 58.5164, 29.2317, 29.2273,-0.0574386
+   0.609,-5.96992,-9.89155,2.48146e-08, 58.6135,  29.282, 29.2751,-0.0563932
+    0.61,-5.97969,-9.64386,1.8464e-08, 58.7081, 29.3288, 29.3241,-0.0551783
+   0.611,-5.98925,-9.46771,2.94149e-09, 58.8009, 29.3736,  29.373,-0.0543143
+   0.612, -5.9987,-9.43844,-2.02669e-08, 58.8935, 29.4188, 29.4206,-0.0541707
+   0.613, -6.0082,-9.56832,-4.63745e-08, 58.9874,  29.465, 29.4676,-0.0548078
+   0.614,-6.01789,-9.80148,-6.7574e-08, 59.0835, 29.5118, 29.5158,-0.0559514
+   0.615,-6.02781,-10.0379,-7.44821e-08,  59.182, 29.5599,  29.565,-0.0571111
+   0.616,-6.03791,-10.1764,-5.87257e-08, 59.2819, 29.6105, 29.6136,-0.0577902
+   0.617,-6.04808,-10.1577,-1.62426e-08, 59.3815,  29.663, 29.6608,-0.0576987
+   0.618,-6.05815,-9.99017,4.95495e-08, 59.4795, 29.7145, 29.7081,-0.056877
+   0.619,-6.06802,-9.74576,1.25861e-07, 59.5751, 29.7627, 29.7567,-0.0556781
+    0.62,-6.07766,-9.52925,1.91074e-07, 59.6686, 29.8081, 29.8059,-0.0546162
+   0.621,-6.08714,-9.43332,2.18524e-07, 59.7611,  29.853,  29.854,-0.0541456
+   0.622,-6.09661,-9.49884,1.83509e-07, 59.8543, 29.8988, 29.9011,-0.054467
+   0.623,-6.10621,-9.69751,7.24406e-08, 59.9494, 29.9453, 29.9487,-0.0554414
+   0.624,-6.11603,-9.94403,-1.08117e-07,  60.047, 29.9927, 29.9976,-0.0566506
+   0.625,-6.12607,-10.1328,-3.25635e-07, 60.1464, 30.0422, 30.0466,-0.0575763
+   0.626,-6.13622, -10.183,-5.22241e-07, 60.2463, 30.0941, 30.0944,-0.0578226
+   0.627,-6.14635,-10.0734,-6.24086e-07, 60.3451, 30.1464, 30.1414,-0.0572851
+   0.628,-6.15631,-9.85118,-5.59713e-07, 60.4418, 30.1962, 30.1894,-0.0561952
+   0.629,-6.16604, -9.6117,-2.84768e-07,  60.536, 30.2425, 30.2385,-0.0550206
+    0.63,-6.17558,-9.45752,1.9275e-07, 60.6288, 30.2873, 30.2873,-0.0542643
+   0.631,-6.18504,-9.45452,7.94877e-07, 60.7216, 30.3327, 30.3346,-0.0542496
+   0.632,-6.19456,-9.60376,1.37246e-06, 60.8158,  30.379, 30.3818,-0.0549816
+   0.633,-6.20429,-9.84108,1.72691e-06, 60.9123,  30.426, 30.4302,-0.0561457
+   0.634,-6.21424,-10.0647,1.65653e-06, 61.0111, 30.4744, 30.4794,-0.0572426
+   0.635,-6.22436,-10.1789,1.02124e-06, 61.1109, 30.5254, 30.5277,-0.0578028
+   0.636,-6.23452, -10.135,-1.88522e-07, 61.2103, 30.5779, 30.5749,-0.0575871
+   0.637,-6.24456,-9.95191,-1.79961e-06,  61.308,  30.629, 30.6223,-0.0566893
+   0.638,-6.25439,-9.70837,-3.44412e-06, 61.4032, 30.6766, 30.6711,-0.0554947
+   0.639,  -6.264,-9.50874,-4.60585e-06, 61.4965, 30.7218, 30.7202,-0.0545155
+    0.64,-6.27347,-9.43843,-4.73185e-06, 61.5891, 30.7668, 30.7681,-0.0541707
+   0.641,-6.28296,-9.52735,-3.39651e-06, 61.6825, 30.8128, 30.8152,-0.0546068
+   0.642,-6.29259,-9.73718,-4.84512e-07, 61.7781, 30.8594,  30.863,-0.055636
+   0.643,-6.30245,-9.97786,3.65946e-06, 61.8759, 30.9071,  30.912,-0.0568166
+   0.644,-6.31251,-10.1463,8.17401e-06, 61.9755, 30.9569, 30.9609,-0.0576427
+   0.645,-6.32267,-10.1704,1.17686e-05, 62.0753, 31.0091, 31.0084,-0.0577611
+   0.646,-6.33277,-10.0402,1.29783e-05, 62.1737, 31.0611, 31.0555,-0.0571223
+   0.647, -6.3427,-9.81158,1.05642e-05,   62.27, 31.1102, 31.1038,-0.056001
+   0.648, -6.3524,-9.58264,3.98356e-06,  62.364, 31.1562,  31.153,-0.054878
+   0.649,-6.36191,-9.45142,-6.1955e-06, 62.4567,  31.201, 31.2015,-0.0542344
+    0.65,-6.37138,-9.47396,-1.80822e-05, 62.5497, 31.2466, 31.2487,-0.0543449
+   0.651,-6.38093,-9.64037,-2.85926e-05, 62.6442, 31.2931,  31.296,-0.0551612
+   0.652,-6.39069,-9.87917,-3.3996e-05, 62.7412, 31.3402, 31.3446,-0.0563325
+   0.653,-6.40068, -10.088,-3.08483e-05, 62.8401,  31.389, 31.3938,-0.0573567
+   0.654,-6.41081,-10.1774,-1.71554e-05,   62.94, 31.4403, 31.4419,-0.0577955
+   0.655,-6.42095,-10.1094,6.51984e-06, 63.0391, 31.4927, 31.4889,-0.0574617
+   0.656,-6.43096,-9.91324,3.63655e-05, 63.1364, 31.5433, 31.5366,-0.0564996
+   0.657,-6.44076,-9.67318,6.53969e-05, 63.2313, 31.5904, 31.5855,-0.0553221
+   0.658,-6.45034,-9.49208,8.45299e-05, 63.3244, 31.6354, 31.6345,-0.0544338
+   0.659,-6.45981, -9.4474,8.46495e-05, 63.4171, 31.6806, 31.6822,-0.0542147
+    0.66,-6.46931,-9.55807,5.9367e-05, 63.5108, 31.7268, 31.7293,-0.0547575
+   0.661,-6.47898,-9.77647,7.847e-06, 63.6067, 31.7736, 31.7773,-0.0558287
+   0.662,-6.48887,-10.0089,-6.31305e-05, 63.7049, 31.8215, 31.8265,-0.0569688
+   0.663,-6.49895,-10.1558,-0.000138744, 63.8046, 31.8717, 31.8751,-0.0576893
+   0.664,-6.50911,-10.1544,-0.000197988, 63.9042,  31.924, 31.9225,-0.0576824
+   0.665,-6.51919,-10.0055,-0.000217976, 64.0023, 31.9757, 31.9697,-0.0569521
+   0.666,-6.52908,-9.77311,-0.000180163, 64.0982, 32.0242, 32.0182,-0.0558123
+   0.667,-6.53874,-9.55687,-7.72297e-05,  64.192, 32.0699, 32.0673,-0.0547516
+   0.668,-6.54825,-9.44936,8.12357e-05, 64.2846, 32.1148, 32.1156,-0.0542243
+   0.669,-6.55772,-9.49646,0.000266302, 64.3778, 32.1606, 32.1627,-0.0544553
+    0.67,-6.56731,-9.67776,0.000432233, 64.4727, 32.2072, 32.2102,-0.0553446
+   0.671, -6.5771,-9.91542,0.000524749,   64.57, 32.2545,  32.259,-0.0565103
+   0.672,-6.58711,-10.1076,0.000494302, 64.6692, 32.3036, 32.3081,-0.0574529
+   0.673,-6.59725, -10.172,0.000311963,  64.769, 32.3552,  32.356,-0.0577689
+   0.674,-6.60738,-10.0813,-1.59681e-05, 64.8679, 32.4075,  32.403,-0.057324
+   0.675,-6.61736,-9.87456,-0.000439268, 64.9647, 32.4575, 32.4509,-0.0563099
+   0.676,-6.62712,-9.64046,-0.000865282, 65.0593, 32.5042,    32.5,-0.0551616
+   0.677,-6.63668,-9.47931,-0.00117313, 65.1523, 32.5491, 32.5488,-0.0543712
+   0.678,-6.64615,-9.46002,-0.00124017, 65.2451, 32.5945, 32.5963,-0.0542766
+   0.679,-6.65567,-9.59064,-0.000976587, 65.3392, 32.6408, 32.6434,-0.0549172
+    0.68,-6.66537,-9.81501,-0.000360492, 65.4355, 32.6878, 32.6917,-0.0560178
+   0.681, -6.6753,-10.0369,0.000536483, 65.5339,  32.736, 32.7409,-0.0571062
+   0.682, -6.6854,-10.1613,0.00154298, 65.6336, 32.7866, 32.7893,-0.0577163
+   0.683,-6.69555,-10.1351,0.00240833,  65.733, 32.8389, 32.8365,-0.0575877
+   0.684, -6.7056,-9.96966,0.00285103, 65.8308, 32.8902, 32.8839,-0.0567763
+   0.685,-6.71545,-9.73612,0.00262931, 65.9263, 32.9382, 32.9326,-0.0556308
+   0.686,-6.72509,-9.53456,0.00161969, 66.0199, 32.9836, 32.9817,-0.0546422
+   0.687,-6.73458,-9.45126,-0.000116334, 66.1126, 33.0286, 33.0297,-0.0542336
+   0.688,-6.74407,-9.52171,-0.00229949,  66.206, 33.0746, 33.0768,-0.0545792
+   0.689,-6.75369,-9.71552,-0.00445185, 66.3013, 33.1213, 33.1245,-0.0555298
+    0.69,-6.76352,-9.94952,-0.00597625, 66.3989, 33.1688, 33.1735,-0.0566775
+   0.691,-6.77356,-10.1234,-0.00628937, 66.4982, 33.2183, 33.2224,-0.0575305
+   0.692, -6.7837,-10.1628,-0.0049856, 66.5979, 33.2701, 33.2701,-0.0577239
+   0.693,-6.79381,-10.0511,-0.00199393, 66.6965, 33.3222, 33.3172,-0.0571758
+   0.694,-6.80375,-9.83627,0.00231696,  66.793, 33.3716, 33.3653,-0.056122
+   0.695,-6.81347,-9.61049,0.00712737, 66.8873, 33.4179, 33.4144,-0.0550146
+   0.696,-6.82301,-9.47048,0.0112753, 66.9802, 33.4629,  33.463,-0.0543279
+   0.697,-6.83249,-9.47608,0.0134854, 67.0732, 33.5085, 33.5103,-0.0543553
+   0.698,-6.84204,-9.62467,0.0126838, 67.1676, 33.5549, 33.5576,-0.0550842
+   0.699,-6.85178,-9.85243,0.0083362, 67.2642,  33.602, 33.6061,-0.0562013
+     0.7,-6.86173,-10.0617,0.000720951, 67.3629, 33.6505, 33.6552,-0.0572277
+   0.701,-6.87184,-10.1629,-0.00895057, 67.4626, 33.7014, 33.7035,-0.057724
+   0.702,-6.88198,-10.1128,-0.0186346, 67.5618, 33.7538, 33.7506,-0.0574783
+   0.703,-6.89201,-9.93308,-0.0258011, 67.6593, 33.8045, 33.7982,-0.0565969
+   0.704,-6.90182,-9.70094,-0.0279887, 67.7545,  33.852,  33.847,-0.0554583
+   0.705,-6.91143,-9.51584,-0.0234675, 67.8478, 33.8973,  33.896,-0.0545504
+   0.706,-6.92092,-9.45698,-0.0118596, 67.9406, 33.9425, 33.9438,-0.0542616
+   0.707,-6.93042,-9.54939,0.00545928, 68.0343, 33.9886, 33.9909,-0.0547149
+   0.708,-6.94007,-9.75328,0.0253284, 68.1299, 34.0354, 34.0389,-0.055715
+   0.709,-6.94994,-9.98118,0.0432303, 68.2279, 34.0831, 34.0879,-0.0568328
+    0.71,   -6.96,-10.1354,0.0541649, 68.3273, 34.1331, 34.1366,-0.0575895
+   0.711,-6.97014,-10.1501,0.0538351, 68.4269, 34.1851, 34.1841,-0.0576614
+   0.712,-6.98022,-10.0191,0.039899, 68.5251, 34.2368, 34.2313,-0.0570188
+   0.713,-6.99013,-9.79872,0.0129787, 68.6213, 34.2857, 34.2797,-0.0559379
+   0.714,-6.99982,-9.58348,-0.0228867, 68.7153, 34.3315, 34.3289,-0.0548821
+   0.715,-7.00935,-9.46556,-0.0605709, 68.8081, 34.3766, 34.3773,-0.0543037
+   0.716,-7.01883,-9.49531,-0.0910455, 68.9013, 34.4225, 34.4244,-0.0544497
+   0.717,-7.02841, -9.6598,-0.105281, 68.9961, 34.4691, 34.4717,-0.0552565
+   0.718,-7.03818,-9.88838,-0.0965205, 69.0931, 34.5164, 34.5203,-0.0563777
+   0.719,-7.04817,-10.0831,-0.0624078,  69.192, 34.5651, 34.5695,-0.0573327
+    0.72,-7.05829,-10.1606,-0.0064176, 69.2916, 34.6161, 34.6178,-0.0577127
+   0.721,-7.06841,-10.0878,0.0619194, 69.3906, 34.6682,  34.665,-0.0573557
+   0.722, -7.0784,-9.89615,0.128262, 69.4877, 34.7187, 34.7126,-0.0564158
+   0.723,-7.08819,-9.66788, 0.17613, 69.5825,  34.766, 34.7612,-0.0552961
+   0.724,-7.09777, -9.5008, 0.19058, 69.6757, 34.8115, 34.8098,-0.0544766
+   0.725,-7.10725,-9.46637,0.162141, 69.7686, 34.8568, 34.8575,-0.0543077
+   0.726,-7.11678,-9.57916,0.0900819, 69.8626, 34.9026, 34.9052,-0.0548609
+   0.727,-7.12646,-9.79065,-0.0159282, 69.9586, 34.9488, 34.9539,-0.0558983
+   0.728,-7.13636,-10.0101,-0.136429, 70.0568, 34.9966, 35.0032,-0.0569749
+   0.729,-7.14644,-10.1436,-0.24527, 70.1563, 35.0476, 35.0511,-0.0576296
+    0.73,-7.15658, -10.134,-0.314836, 70.2557, 35.1008, 35.0973,-0.0575826
+   0.731,-7.16664,-9.98567,-0.322447, 70.3537, 35.1529,  35.144,-0.0568549
+   0.732,-7.17651,-9.76228,-0.256546, 70.4495, 35.2006, 35.1931,-0.0557592
+   0.733,-7.18617,-9.55964,-0.121144, 70.5432, 35.2446, 35.2439,-0.0547652
+   0.734,-7.19569,-9.46449,0.0628291, 70.6361, 35.2882, 35.2936,-0.0542985
+   0.735,-7.20518,-9.51745,0.260015, 70.7295, 35.3344, 35.3405,-0.0545583
+   0.736,-7.21478,-9.69563,0.426917, 70.8246, 35.3831,  35.386,-0.0554322
+   0.737,-7.22459,-9.92255,0.520989, 70.9219, 35.4332, 35.4322,-0.0565453
+   0.738, -7.2346, -10.101,0.510713,  71.021, 35.4833, 35.4803,-0.0574204
+   0.739,-7.24473,-10.1545,0.384398, 71.1206, 35.5327, 35.5303,-0.057683
+    0.74,-7.25484,-10.0604,0.155438, 71.2193, 35.5807, 35.5814,-0.0572216
+   0.741, -7.2648,-9.85924,-0.13766,  71.316, 35.6278,  35.632,-0.0562347
+   0.742,-7.27455,-9.63722,-0.437103, 71.4106, 35.6758, 35.6796,-0.0551457
+   0.743,-7.28411, -9.4895,-0.676815, 71.5037,  35.726, 35.7232,-0.0544212
+   0.744,-7.29359,-9.47924,-0.796592, 71.5967, 35.7767, 35.7656,-0.0543708
+   0.745,-7.30314,-9.61066,-0.756468, 71.6909, 35.8236, 35.8123,-0.0550154
+   0.746,-7.31286,-9.82727,-0.547923, 71.7873, 35.8653,  35.866,-0.0560779
+   0.747,-7.32279,-10.0362,-0.199026, 71.8858, 35.9059, 35.9228,-0.0571027
+   0.748,-7.33288, -10.148,0.228282, 71.9854, 35.9527,  35.975,-0.0576509
+   0.749,-7.34301,-10.1148,0.648884, 72.0846, 36.0089, 36.0182,-0.0574885
+    0.75,-7.35305, -9.9512,0.971403, 72.1822, 36.0695,  36.056,-0.0566858
+   0.751,-7.36289, -9.7273, 1.11798, 72.2776, 36.1252, 36.0969,-0.0555876
+   0.752,-7.37252,-9.53912, 1.04264, 72.3712, 36.1699, 36.1466,-0.0546646
+   0.753,-7.38202, -9.4672,0.743861, 72.4641, 36.2055, 36.2043,-0.0543118
+   0.754,-7.39153, -9.5422,0.268182, 72.5577,   36.24,  36.263,-0.0546796
+   0.755,-7.40116,-9.73179,-0.296749, 72.6532, 36.2825,  36.315,-0.0556096
+   0.756,-7.41101,-9.95463,-0.838663, 72.7508, 36.3373, 36.3568,-0.0567026
+   0.757,-7.42104,-10.1152,-1.24361,   72.85, 36.4003, 36.3922,-0.0574903
+   0.758,-7.43117,-10.1449,-1.42049, 72.9496, 36.4615, 36.4304,-0.0576358
+   0.759,-7.44126,-10.0311,-1.32178,  73.048, 36.5112, 36.4797,-0.0570776
+    0.76,-7.45119,-9.82274,-0.955589, 73.1443, 36.5482, 36.5401,-0.0560557
+   0.761, -7.4609,-9.60921,-0.385982, 73.2386, 36.5816, 36.6019,-0.0550084
+   0.762,-7.47045,-9.48196,0.278874, 73.3316,  36.623, 36.6542,-0.0543842
+   0.763,-7.47994,-9.49538,  0.9085, 73.4248, 36.6763,  36.694,-0.05445
+   0.764,-7.48951,-9.64352,  1.3772, 73.5194, 36.7354, 36.7288,-0.0551766
+   0.765,-7.49926,-9.86278, 1.59052, 73.6161, 36.7905, 36.7693,-0.0562521
+   0.766,-7.50922,-10.0591, 1.50525, 73.7148, 36.8376,   36.82,-0.0572152
+   0.767,-7.51932,-10.1485, 1.13833, 73.8144, 36.8802, 36.8765,-0.0576538
+   0.768,-7.52945,-10.0928,0.562873, 73.9134, 36.9242, 36.9318,-0.0573805
+   0.769,-7.53945,-9.91606,-0.107896, 74.0106, 36.9718, 36.9823,-0.0565134
+    0.77,-7.54925,-9.69409,-0.744958, 74.1057, 37.0214, 37.0289,-0.0554247
+   0.771,-7.55886,-9.52206,-1.23055, 74.1992, 37.0707, 37.0739,-0.0545809
+   0.772,-7.56836,-9.47357,-1.48181, 74.2921,  37.119, 37.1188,-0.054343
+   0.773,-7.57788,-9.56924,-1.46588,  74.386, 37.1672, 37.1639,-0.0548123
+   0.774,-7.58755, -9.7679,-1.20341, 74.4818, 37.2163, 37.2097,-0.0557867
+   0.775,-7.59743,-9.98433,-0.76031, 74.5797, 37.2659,  37.257,-0.0568483
+   0.776,-7.60748,-10.1258,-0.230327, 74.6791, 37.3144, 37.3071,-0.0575423
+   0.777,-7.61761,-10.1319,0.286905, 74.7785, 37.3603, 37.3606,-0.057572
+   0.778,-7.62768,     -10,0.706915, 74.8766, 37.4039, 37.4158,-0.0569254
+   0.779,-7.63757,  -9.787,0.975637, 74.9726, 37.4488, 37.4679,-0.0558804
+    0.78,-7.64726,-9.58408, 1.07579, 75.0666, 37.4993, 37.5124,-0.0548851
+   0.781,-7.65679,-9.47818, 1.02381, 75.1596, 37.5552,   37.55,-0.0543656
+   0.782,-7.66628,-9.51453,0.859212, 75.2529, 37.6106, 37.5878,-0.0545439
+   0.783,-7.67588,-9.67739,0.630132, 75.3478, 37.6584, 37.6341,-0.0553428
+   0.784,-7.68567,-9.89684,0.379539, 75.4449, 37.6981, 37.6904,-0.0564191
+   0.785,-7.69565,-10.0788,0.135899, 75.5438, 37.7365,   37.75,-0.0573117
+   0.786,-7.70577,-10.1454,-0.0894231, 75.6433, 37.7816, 37.8041,-0.0576385
+   0.787,-7.71587,-10.0683,-0.298064, 75.7421, 37.8347, 37.8502,-0.0572601
+   0.788,-7.72585,-9.88063,-0.49596,  75.839, 37.8902, 37.8925,-0.0563396
+   0.789,-7.73562,-9.66295,-0.683563, 75.9338, 37.9423, 37.9363,-0.0552719
+    0.79,-7.74521,-9.50854,-0.848744, 76.0271, 37.9904, 37.9822,-0.0545145
+   0.791, -7.7547,-9.48343,-0.965234, 76.1201, 38.0375, 38.0282,-0.0543914
+   0.792,-7.76424,-9.59823,-0.997627, 76.2143, 38.0854, 38.0739,-0.0549545
+   0.793,-7.77394,-9.80358,-0.911751, 76.3105, 38.1324, 38.1221,-0.0559617
+   0.794,-7.78385,-10.0114,-0.687374, 76.4087, 38.1766, 38.1751,-0.0569812
+   0.795,-7.79392,-10.1327,-0.32919, 76.5081, 38.2191, 38.2314,-0.0575762
+   0.796,-7.80405,-10.1157,0.127696, 76.6073, 38.2639, 38.2859,-0.0574925
+   0.797,-7.81409, -9.9677,0.620187, 76.7051, 38.3143,  38.334,-0.0567667
+   0.798,-7.82395,-9.75237,  1.0677, 76.8008, 38.3698, 38.3753,-0.0557105
+   0.799,-7.83361,  -9.562, 1.38854, 76.8946, 38.4264, 38.4134,-0.0547768
+     0.8,-7.84313,-9.47808, 1.51823, 76.9876, 38.4787, 38.4544,-0.0543652
+   0.801,-7.85263,-9.53644, 1.42492, 77.0811, 38.5241, 38.5024,-0.0546514
+   0.802,-7.86226,-9.71188,  1.1178, 77.1764, 38.5642, 38.5567,-0.055512
+   0.803,-7.87208,-9.92914,0.646136, 77.2738, 38.6046, 38.6126,-0.0565776
+   0.804,-7.88209,-10.0951,0.0889257, 77.3728,   38.65, 38.6655,-0.0573916
+   0.805,-7.89221,-10.1387,-0.462104, 77.4723, 38.7003, 38.7144,-0.0576057
+   0.806, -7.9023,-10.0415,-0.921939, 77.5708, 38.7518, 38.7619,-0.0571288
+   0.807,-7.91224,-9.84527,-1.22915, 77.6674, 38.8016, 38.8096,-0.0561662
+   0.808,-7.92198,-9.63415,-1.35613, 77.7619, 38.8513, 38.8554,-0.0551307
+   0.809,-7.93155,-9.49862,-1.31041, 77.8551, 38.9036,  38.897,-0.0544659
+    0.81,-7.94104,-9.49661,-1.12753, 77.9482, 38.9571, 38.9366,-0.0544561
+   0.811,-7.95061,-9.62884,-0.857933, 78.0427, 39.0066,  38.981,-0.0551046
+   0.812,-7.96034, -9.8385,-0.552153, 78.1392, 39.0487, 39.0344,-0.056133
+   0.813,-7.97028,-10.0357,-0.248624, 78.2376, 39.0869, 39.0937,-0.0571002
+   0.814,-7.98036, -10.136,0.0325253, 78.3371, 39.1287, 39.1508,-0.0575921
+   0.815,-7.99048,-10.0965,0.288432, 78.4361, 39.1782, 39.2005,-0.0573986
+   0.816,-8.00049,-9.93439,0.526253, 78.5336, 39.2324, 39.2446,-0.0566034
+   0.817,-8.01032,-9.71919,0.752723, 78.6289, 39.2854, 39.2879,-0.0555478
+   0.818,-8.01995,-9.54314, 0.96451, 78.7225, 39.3351, 39.3327,-0.0546843
+   0.819,-8.02947,-9.48161,   1.143, 78.8156, 39.3839, 39.3773,-0.0543825
+    0.82,-8.03899,-9.56081, 1.25564, 78.9094,  39.434, 39.4206,-0.0547709
+   0.821,-8.04864,-9.74664, 1.26388,  79.005, 39.4843,  39.465,-0.0556824
+   0.822,-8.05849,-9.95938, 1.13526, 79.1027, 39.5317, 39.5143,-0.0567259
+   0.823,-8.06853,-10.1079,0.856073, 79.2018, 39.5748, 39.5696,-0.0574544
+   0.824,-8.07865,-10.1286,0.440224, 79.3012, 39.6162, 39.6274,-0.0575561
+   0.825,-8.08872,-10.0129,-0.0686825, 79.3994,   39.66, 39.6824,-0.0569882
+   0.826,-8.09863,-9.81035,-0.60339, 79.4957, 39.7084, 39.7312,-0.0559949
+   0.827,-8.10834,-9.60794,-1.08589, 79.5899, 39.7606, 39.7743,-0.0550021
+   0.828,-8.11789,-9.49231,-1.44389,  79.683, 39.8137, 39.8149,-0.054435
+   0.829,-8.12739, -9.5129,-1.62637, 79.7763,  39.865, 39.8568,-0.0545359
+    0.83,-8.13698,-9.66071,-1.61411, 79.8711, 39.9142, 39.9016,-0.055261
+   0.831,-8.14674,-9.87229,-1.42217,  79.968, 39.9633, 39.9484,-0.0562987
+   0.832,-8.15671,-10.0569,-1.09402, 80.0666, 40.0132, 39.9962,-0.0572044
+   0.833, -8.1668,-10.1356,-0.689188, 80.1661, 40.0625,  40.046,-0.0575902
+   0.834,-8.17691,-10.0747,-0.268101, 80.2649, 40.1077, 40.0999,-0.0572915
+   0.835, -8.1869, -9.9005,0.121367,  80.362, 40.1481, 40.1575,-0.0564371
+   0.836,-8.19669,-9.68775,0.451956, 80.4571,  40.188, 40.2136,-0.0553936
+   0.837, -8.2063,-9.52762,0.717763, 80.5505, 40.2332, 40.2627,-0.0546081
+   0.838,-8.21581,-9.48863, 0.92808, 80.6436, 40.2852, 40.3039,-0.0544169
+   0.839,-8.22534,-9.58733, 1.09695, 80.7377, 40.3399, 40.3428,-0.054901
+    0.84,-8.23503,-9.78129, 1.23232, 80.8336, 40.3927,  40.385,-0.0558524
+   0.841,-8.24491,-9.98731, 1.32873, 80.9316, 40.4436, 40.4311,-0.0568629
+   0.842,-8.25496,-10.1171, 1.36611, 81.0308, 40.4956, 40.4777,-0.0574998
+   0.843,-8.26508,-10.1153, 1.31539, 81.1301, 40.5489, 40.5237,-0.0574906
+   0.844,-8.27513,-9.98264, 1.14898,  81.228, 40.5987, 40.5725,-0.05684
+   0.845,-8.28501,-9.77623,0.852768, 81.3239, 40.6405, 40.6276,-0.0558276
+   0.846,-8.29469,-9.58452,0.435554, 81.4179, 40.6762, 40.6868,-0.0548872
+   0.847,-8.30423,-9.48962,-0.0675876,  81.511, 40.7133, 40.7433,-0.0544217
+   0.848,-8.31374,-9.53205,-0.599404, 81.6045, 40.7577, 40.7922,-0.0546299
+   0.849,-8.32335,-9.69349,-1.09131, 81.6996, 40.8093, 40.8349,-0.0554217
+    0.85,-8.33315,-9.90464,-1.47803, 81.7968, 40.8638, 40.8765,-0.0564574
+   0.851,-8.34314, -10.075, -1.7118, 81.8956, 40.9186, 40.9197,-0.0572931
+   0.852,-8.35324,-10.1317,-1.77218,  81.995, 40.9741, 40.9633,-0.057571
+   0.853,-8.36333,-10.0505,-1.66856, 82.0936, 41.0303, 41.0061,-0.0571728
+   0.854,-8.37329,-9.86639,-1.43492, 82.1904, 41.0844, 41.0497,-0.0562698
+   0.855,-8.38305,-9.65836,-1.11869, 82.2851, 41.1321, 41.0978,-0.0552494
+   0.856,-8.39264,-9.51553,-0.76725, 82.3785, 41.1719,  41.152,-0.0545488
+   0.857,-8.40215,-9.49899,-0.416292, 82.4717, 41.2073, 41.2099,-0.0544677
+   0.858,-8.41171,-9.61568,-0.0835414,  82.566, 41.2439, 41.2671,-0.0550401
+   0.859,-8.42142,-9.81547,0.230551, 82.6623, 41.2863,   41.32,-0.0560201
+    0.86,-8.43134,-10.0127,0.535817, 82.7605, 41.3352, 41.3683,-0.0569874
+   0.861, -8.4414,-10.1229,0.841853, 82.8598, 41.3888, 41.4135,-0.0575278
+   0.862,-8.45151,-10.0989, 1.14787, 82.9589,  41.444, 41.4575,-0.0574102
+   0.863,-8.46154,-9.95122, 1.43668, 83.0565, 41.4994, 41.5004,-0.0566859
+   0.864,-8.47139,-9.74323, 1.67506, 83.1521, 41.5547, 41.5417,-0.0556657
+   0.865,-8.48104,-9.56408, 1.82085, 83.2459, 41.6094, 41.5818,-0.054787
+   0.866,-8.49057,-9.49047, 1.83442,  83.339, 41.6606,  41.624,-0.0544259
+   0.867,-8.50009,-9.55381, 1.69106, 83.4327, 41.7058, 41.6723,-0.0547366
+   0.868,-8.50973,-9.72681, 1.39019, 83.5282, 41.7453, 41.7273,-0.0555852
+   0.869,-8.51956,-9.93524,0.958187, 83.6256,  41.784,  41.785,-0.0566075
+    0.87,-8.52957,-10.0898,0.443931, 83.7246, 41.8267, 41.8406,-0.0573656
+   0.871,-8.53968,-10.1243,-0.0919024, 83.8239, 41.8737, 41.8927,-0.0575349
+   0.872,-8.54976,-10.0242,-0.590503, 83.9223, 41.9213,  41.944,-0.0570438
+   0.873,-8.55968,-9.83241,-1.00744, 84.0187,  41.967, 41.9956,-0.0561032
+   0.874,-8.56942,-9.63127,-1.32036, 84.1132, 42.0134, 42.0447,-0.0551165
+   0.875,-8.57898,-9.50691,-1.52966, 84.2065, 42.0648, 42.0871,-0.0545066
+   0.876,-8.58849,-9.51251,-1.65241, 84.2998, 42.1215, 42.1238,-0.054534
+   0.877,-8.59807,-9.64553,-1.71178, 84.3944, 42.1785, 42.1608,-0.0551865
+   0.878,-8.60782,-9.84885,-1.72584,  84.491, 42.2313, 42.2036,-0.0561838
+   0.879,-8.61776,-10.0353,-1.69943, 84.5895, 42.2808, 42.2516,-0.0570983
+    0.88,-8.62784, -10.125,-1.62212, 84.6888, 42.3305, 42.3008,-0.0575384
+   0.881,-8.63794,-10.0797,-1.47264, 84.7877, 42.3807, 42.3497,-0.0573162
+   0.882,-8.64794,-9.91894, -1.2285,  84.885,  42.427, 42.4014,-0.0565276
+   0.883,-8.65776,-9.71168,-0.877097, 84.9803, 42.4661, 42.4586,-0.0555109
+   0.884,-8.66739,-9.54677,-0.424753, 85.0739, 42.5005, 42.5187,-0.0547021
+   0.885,-8.67691,-9.49479,0.0998937, 85.1671, 42.5372, 42.5755,-0.0544471
+   0.886,-8.68645,-9.57789,0.649352,  85.261, 42.5808, 42.6253,-0.0548547
+   0.887,-8.69611,-9.76031, 1.16682, 85.3568, 42.6307, 42.6703,-0.0557495
+   0.888,-8.70598,-9.96381, 1.59892, 85.4545, 42.6836, 42.7142,-0.0567477
+   0.889,-8.71601,-10.1012,  1.9076, 85.5536, 42.7384, 42.7578,-0.0574216
+    0.89,-8.72612,-10.1137, 2.07763, 85.6528, 42.7961, 42.7992,-0.0574829
+   0.891,-8.73617,-9.99611,  2.1173, 85.7509, 42.8563, 42.8377,-0.0569061
+   0.892,-8.74607,-9.79893, 2.05241,  85.847,  42.915,  42.876,-0.0559389
+   0.893,-8.75577,-9.60671, 1.91562, 85.9412, 42.9678, 42.9185,-0.0549961
+   0.894,-8.76533,-9.50179, 1.73492, 86.0345, 43.0129, 42.9671,-0.0544814
+   0.895,-8.77484,  -9.529,   1.525, 86.1279,  43.053, 43.0203,-0.0546149
+   0.896,-8.78444,-9.67654, 1.28442, 86.2229,  43.092, 43.0755,-0.0553386
+   0.897,-8.79422,-9.88109,0.999353, 86.3198, 43.1325, 43.1309,-0.0563419
+   0.898,-8.80419, -10.055, 0.65245, 86.4184, 43.1745, 43.1867,-0.0571947
+   0.899,-8.81428,-10.1237,0.233659, 86.5178,  43.217, 43.2433,-0.0575319
+     0.9,-8.82437, -10.058,-0.250953, 86.6164,   43.26, 43.2992,-0.0572097
+   0.901,-8.83434,-9.88616,-0.775542, 86.7134, 43.3052, 43.3519,-0.0563668
+   0.902,-8.84413,-9.68187,-1.29749, 86.8084, 43.3543, 43.3987,-0.0553648
+   0.903,-8.85373, -9.5327,-1.76628, 86.9019, 43.4074, 43.4399,-0.054633
+   0.904,-8.86325,-9.50246,-2.13538, 86.9951,  43.462, 43.4787,-0.0544848
+   0.905,-8.87281,-9.60399,-2.37344, 87.0893, 43.5161, 43.5182,-0.0549828
+   0.906, -8.8825,-9.79365,  -2.471, 87.1854, 43.5705,  43.559,-0.055913
+   0.907, -8.8924, -9.9901,-2.44074, 87.2834, 43.6271, 43.5994,-0.0568766
+   0.908,-8.90245,-10.1092,-2.31122, 87.3826, 43.6857, 43.6394,-0.0574607
+   0.909,-8.91255,   -10.1,-2.11631, 87.4817, 43.7417, 43.6825,-0.0574156
+    0.91,-8.92258,-9.96659,-1.88401, 87.5794, 43.7902, 43.7325,-0.0567613
+   0.911,-8.93245,-9.76626, -1.6283, 87.6752, 43.8305, 43.7889,-0.0557787
+   0.912,-8.94213,-9.58489,-1.34684, 87.7693, 43.8673, 43.8471,-0.054889
+   0.913,-8.95167,-9.50013,-1.02508, 87.8625, 43.9047, 43.9033,-0.0544733
+   0.914,-8.96119, -9.5482,-0.645299, 87.9561, 43.9427, 43.9587,-0.0547091
+   0.915,-8.97082,-9.70835,-0.197194, 88.0514, 43.9799,  44.016,-0.0554946
+   0.916,-8.98063,-9.91187,0.313684, 88.1486, 44.0177, 44.0744,-0.0564929
+   0.917,-8.99062,-10.0715,0.862756, 88.2474, 44.0615, 44.1287,-0.057276
+   0.918,-9.00072, -10.119, 1.40975, 88.3467, 44.1142,  44.175,-0.0575088
+   0.919,-9.01079, -10.034, 1.90756, 88.4451, 44.1726, 44.2154,-0.0570922
+    0.92,-9.02074,-9.85323, 2.31372, 88.5418, 44.2303, 44.2552,-0.0562053
+   0.921,-9.03049,-9.65409, 2.60069, 88.6365, 44.2849, 44.2963,-0.0552285
+   0.922,-9.04008,-9.52195, 2.76159, 88.7299, 44.3393,  44.336,-0.0545803
+   0.923, -9.0496,-9.51334,  2.8095, 88.8232, 44.3966, 44.3721,-0.0545381
+   0.924,-9.05917, -9.6318, 2.77061, 88.9177, 44.4552, 44.4074,-0.0551192
+   0.925, -9.0689,-9.82647, 2.67384, 89.0141, 44.5105, 44.4475,-0.056074
+   0.926,-9.07882,-10.0139, 2.54024, 89.1123, 44.5604,  44.495,-0.0569932
+   0.927,-9.08888,-10.1137, 2.37615, 89.2116, 44.6073, 44.5467,-0.0574831
+   0.928,-9.09898,-10.0834, 2.17221, 89.3105,  44.654, 44.5992,-0.0573343
+   0.929,-9.10899,-9.93598, 1.90851, 89.4079, 44.6987, 44.6526,-0.0566112
+    0.93,-9.11883,-9.73476, 1.56412, 89.5034, 44.7378,   44.71,-0.0556241
+   0.931,-9.12848,-9.56598,  1.1275, 89.5973, 44.7706, 44.7719,-0.0547963
+   0.932,-9.13801, -9.5019,0.604043, 89.6905, 44.8014, 44.8346,-0.054482
+   0.933,-9.14755,-9.56987,0.018132, 89.7844, 44.8358, 44.8937,-0.0548154
+   0.934, -9.1572,-9.74062,-0.591158, 89.8799, 44.8762, 44.9481,-0.0556529
+   0.935,-9.16704,-9.94091,-1.17933, 89.9775, 44.9212, 44.9996,-0.0566353
+   0.936,-9.17706,-10.0849,-1.70758, 90.0764, 44.9695, 45.0496,-0.0573416
+   0.937,-9.18715, -10.111,-2.15196, 90.1756, 45.0214, 45.0967,-0.0574696
+   0.938,-9.19721,-10.0081,-2.50762, 90.2738,  45.078, 45.1388,-0.056965
+   0.939,-9.20713, -9.8205,-2.78664, 90.3701, 45.1384, 45.1757,-0.0560447
+    0.94,-9.21685,-9.62858,-3.01039, 90.4645, 45.1997, 45.2098,-0.0551033
+   0.941,-9.22642,-9.51457,-3.19921, 90.5579, 45.2592, 45.2441,-0.0545441
+   0.942,-9.23594,-9.52723, -3.3629, 90.6513, 45.3166, 45.2801,-0.0546062
+   0.943,-9.24554,  -9.661,-3.49561, 90.7461, 45.3733, 45.3176,-0.0552623
+   0.944, -9.2553,-9.85845,-3.57672, 90.8428, 45.4307, 45.3559,-0.0562309
+   0.945,-9.26525,-10.0349,-3.57749, 90.9413, 45.4882,  45.396,-0.0570965
+   0.946,-9.27532,-10.1149,-3.47111, 91.0405, 45.5426, 45.4404,-0.0574887
+   0.947,-9.28541,-10.0642,-3.24259, 91.1392,  45.591, 45.4909,-0.0572399
+   0.948,-9.29539,-9.90461,-2.89501, 91.2364, 45.6331, 45.5469,-0.0564573
+   0.949, -9.3052,-9.70471,-2.44992, 91.3316, 45.6708, 45.6054,-0.0554768
+    0.95,-9.31483,-9.55011,-1.94164, 91.4253, 45.7061, 45.6645,-0.0547185
+   0.951,-9.32435,-9.50701, -1.4076, 91.5186,  45.739, 45.7251,-0.054507
+   0.952,-9.33391,-9.59373,-0.877833, 91.6127, 45.7689, 45.7889,-0.0549324
+   0.953,-9.34359,  -9.773,-0.367431, 91.7085, 45.7979, 45.8548,-0.0558117
+   0.954,-9.35346,-9.96793,0.125541, 91.8063, 45.8309, 45.9186,-0.0567679
+   0.955,-9.36349, -10.095,0.616024, 91.9054, 45.8709, 45.9771,-0.0573912
+   0.956,-9.37359,-10.0999, 1.12333, 92.0044,  45.916,  46.031,-0.057415
+   0.957,-9.38363,-9.98056, 1.66099, 92.1023, 45.9621, 46.0834,-0.0568298
+   0.958,-9.39351,-9.78832, 2.22878, 92.1984, 46.0079, 46.1346,-0.0558869
+   0.959,-9.40321,-9.60556, 2.80975, 92.2926, 46.0566,  46.181,-0.0549904
+    0.96,-9.41277,-9.51057, 3.37326, 92.3859, 46.1117, 46.2197,-0.0545245
+   0.961,-9.42229,-9.54393, 3.88316, 92.4795, 46.1722, 46.2527,-0.0546882
+   0.962,-9.43191,-9.69123, 4.30804, 92.5746, 46.2343, 46.2849,-0.0554107
+   0.963, -9.4417,-9.88926, 4.63009, 92.6716, 46.2968, 46.3184,-0.056382
+   0.964,-9.45167,-10.0531, 4.84936, 92.7702, 46.3627, 46.3504,-0.0571857
+   0.965,-9.46176,-10.1127, 4.98208, 92.8694, 46.4337, 46.3783,-0.0574778
+   0.966,-9.47183,-10.0425, 5.05344,  92.968, 46.5062, 46.4046,-0.0571337
+   0.967,-9.48179,-9.87283, 5.08773, 93.0648, 46.5735,  46.435,-0.0563014
+   0.968,-9.49157,-9.67641, 5.09896, 93.1597, 46.6326, 46.4717,-0.0553379
+   0.969,-9.50117,-9.53741, 5.08565, 93.2533, 46.6867, 46.5119,-0.0546562
+    0.97, -9.5107,-9.51532, 5.03127, 93.3466, 46.7396, 46.5525,-0.0545478
+   0.971,-9.52027,-9.61948, 4.91047,  93.441, 46.7908, 46.5951,-0.0550587
+   0.972,-9.52998,-9.80514, 4.69852, 93.5372, 46.8367, 46.6445,-0.0559694
+   0.973,-9.53988,-9.99269, 4.38083, 93.6352, 46.8762, 46.7021,-0.0568893
+   0.974,-9.54993,-10.1018, 3.95902, 93.7343, 46.9123, 46.7646,-0.0574245
+   0.975,-9.56002,-10.0858, 3.45136, 93.8333,  46.948, 46.8279,-0.057346
+   0.976,-9.57004,-9.95167, 2.88745, 93.9309, 46.9815, 46.8927,-0.0566881
+   0.977,-9.57989,  -9.757, 2.29903, 94.0266, 47.0088, 46.9621,-0.0557333
+   0.978,-9.58956,-9.58523, 1.71017, 94.1206, 47.0288,  47.037,-0.0548907
+   0.979,-9.59911,-9.50992, 1.13028, 94.2139, 47.0456, 47.1138,-0.0545213
+    0.98,-9.60865,-9.56322,0.552496, 94.3077, 47.0643, 47.1886,-0.0547828
+   0.981,-9.61829,-9.72218,-0.0421727, 94.4031, 47.0865, 47.2611,-0.0555625
+   0.982,-9.62811,-9.91859,-0.676277, 94.5004, 47.1105, 47.3334,-0.0565259
+   0.983, -9.6381,-10.0683, -1.3662, 94.5992, 47.1355, 47.4064,-0.0572601
+   0.984,-9.64819,-10.1072,-2.11467, 94.6983, 47.1635, 47.4774,-0.057451
+   0.985,-9.65826,-10.0188,-2.90826, 94.7966, 47.1965, 47.5431,-0.0570172
+   0.986,-9.66819,-9.84098,-3.72069, 94.8932, 47.2342, 47.6028,-0.0561452
+   0.987,-9.67793,-9.65012,-4.52085, 94.9878, 47.2743, 47.6583,-0.055209
+   0.988,-9.68752,-9.52794, -5.2826, 95.0813, 47.3161, 47.7106,-0.0546097
+   0.989,-9.69705, -9.5267,-5.99278, 95.1748, 47.3615, 47.7587,-0.0546036
+    0.99,-9.70663,-9.64682,-6.65469, 95.2694, 47.4141, 47.8001,-0.0551928
+   0.991,-9.71638,-9.83671,-7.28575, 95.3659, 47.4757, 47.8341,-0.0561242
+   0.992, -9.7263, -10.015,-7.91016, 95.4641, 47.5453, 47.8618,-0.0569986
+   0.993,-9.73636,-10.1053, -8.5493, 95.5633, 47.6208,  47.885,-0.0574414
+   0.994,-9.74645, -10.069,-9.21326,  95.662, 47.7009, 47.9039,-0.0572635
+   0.995,-9.75644,-9.92179,-9.89654, 95.7594, 47.7857, 47.9172,-0.0565415
+   0.996,-9.76627,-9.72687,-10.5796, 95.8548, 47.8757, 47.9235,-0.0555855
+   0.997,-9.77592,-9.56776,-11.2353, 95.9487, 47.9704, 47.9234,-0.054805
+   0.998,-9.78546,-9.51257,-11.8385,  96.042, 48.0683, 47.9191,-0.0545343
+   0.999,  -9.795,-9.58484,-12.3748,  96.136,  48.169, 47.9121,-0.0548888
+       1,-9.80467,-9.75349,-12.8451, 96.2317, 48.2744, 47.9016,-0.055716
+   1.001,-9.81452,-9.94618,-13.2656, 96.3293,  48.387, 47.8856,-0.0566612
+   1.002,-9.82454,-10.0803,-13.6615, 96.4281, 48.5068,  47.864,-0.0573192
+   1.003,-9.83463,-10.0986,-14.0578, 96.5272, 48.6306, 47.8392,-0.0574086
+   1.004,-9.84467,-9.99316,-14.4705, 96.6252, 48.7547, 47.8136,-0.0568916
+   1.005,-9.85457, -9.8094,-14.9008, 96.7215, 48.8786, 47.7869,-0.0559903
+   1.006,-9.86429,-9.62609, -15.335, 96.8159, 49.0047, 47.7562,-0.0550911
+   1.007,-9.87386,-9.52173,-15.7495, 96.9093, 49.1342, 47.7206,-0.0545793
+   1.008, -9.8834,-9.54096,  -16.12, 97.0029, 49.2655, 47.6828,-0.0546736
+   1.009,  -9.893,-9.67542,-16.4299, 97.0978, 49.3966, 47.6459,-0.0553331
+    1.01,-9.90278,-9.86739,-16.6772, 97.1946, 49.5287, 47.6097,-0.0562747
+   1.011,-9.91273,-10.0346,-16.8752, 97.2931, 49.6654, 47.5706,-0.0570948
+   1.012, -9.9228,-10.1054,-17.0478, 97.3922, 49.8077, 47.5271,-0.0574422
+   1.013,-9.93287,-10.0496,-17.2212, 97.4908, 49.9515, 47.4821,-0.0571686
+   1.014,-9.94284,-9.89125,-17.4148, 97.5878, 50.0921, 47.4393,-0.0563917
+   1.015,-9.95264,-9.69822,-17.6343,  97.683, 50.2293, 47.3982,-0.0554449
+   1.016,-9.96227,-9.55326,-17.8704, 97.7767, 50.3672, 47.3548,-0.0547339
+   1.017, -9.9718,-9.51843, -18.102, 97.8701, 50.5082, 47.3073,-0.054563
+   1.018,-9.98136,-9.60852,-18.3047, 97.9643, 50.6505, 47.2588,-0.055005
+   1.019,-9.99106,-9.78483,-18.4598, 98.0603, 50.7913, 47.2132,-0.0558698
+    1.02,-10.0009,-9.97175,-18.5616, 98.1581, 50.9316, 47.1698,-0.0567866
+   1.021, -10.011,-10.0892,-18.6193, 98.2571, 51.0753, 47.1244,-0.0573627
+   1.022,-10.0211,-10.0869,-18.6544, 98.3561, 51.2235, 47.0752,-0.0573516
+   1.023,-10.0311,-9.96604,-18.6928, 98.4538, 51.3719, 47.0252,-0.0567586
+   1.024, -10.041,-9.77842,-18.7555, 98.5497, 51.5156, 46.9784,-0.0558383
+   1.025,-10.0506,-9.60452,-18.8515,  98.644, 51.6551, 46.9339,-0.0549853
+   1.026,-10.0602, -9.5188,-18.9747, 98.7373, 51.7952, 46.8876,-0.0545649
+   1.027,-10.0697,-9.55791,-19.1063, 98.8311, 51.9386, 46.8377,-0.0547567
+   1.028,-10.0794,-9.70496, -19.222, 98.9263, 52.0835, 46.7873,-0.055478
+   1.029,-10.0892,-9.89687,-19.3013, 99.0234,  52.227,   46.74,-0.0564193
+    1.03,-10.0992,-10.0514,-19.3347,  99.122, 52.3699, 46.6949,-0.0571772
+   1.031,-10.1092,-10.1023,-19.3279, 99.2211, 52.5155, 46.6482,-0.0574271
+   1.032,-10.1193, -10.028,-19.2995, 99.3195, 52.6642, 46.5983,-0.0570626
+   1.033,-10.1292,-9.86038, -19.274, 99.4162, 52.8121, 46.5479,-0.0562403
+   1.034, -10.139,-9.67133,-19.2737, 99.5111, 52.9555, 46.5002,-0.055313
+   1.035,-10.1486,-9.54185,  -19.31, 99.6047, 53.0953, 46.4547,-0.054678
+   1.036,-10.1581,-9.52737,-19.3797, 99.6982, 53.2358, 46.4078,-0.0546069
+   1.037,-10.1677,-9.63397,-19.4663, 99.7927, 53.3795, 46.3581,-0.0551298
+   1.038,-10.1775,-9.81587,-19.5461,  99.889,  53.525, 46.3079,-0.056022
+   1.039,-10.1874,-9.99508,-19.5972,  99.987, 53.6701,   46.26,-0.0569011
+    1.04,-10.1974,-10.0948,-19.6075, 100.086, 53.8146,  46.214,-0.0573904
+   1.041,-10.2075,-10.0725,-19.5792, 100.185, 53.9606,  46.167,-0.0572807
+   1.042,-10.2175,-9.93771,-19.5281, 100.282,  54.108, 46.1177,-0.0566196
+   1.043,-10.2273,-9.74836,-19.4776, 100.378, 54.2545, 46.0678,-0.0556909
+   1.044, -10.237,-9.58559,-19.4503, 100.472, 54.3975, 46.0197,-0.0548925
+   1.045,-10.2466,-9.51911,-19.4598, 100.565, 54.5377, 45.9731,-0.0545664
+   1.046,-10.2561, -9.5773,-19.5056, 100.659, 54.6784, 45.9261,-0.0548518
+   1.047,-10.2658,-9.73512,-19.5735, 100.755, 54.8219, 45.8773,-0.0556259
+   1.048,-10.2756,-9.92486,-19.6408, 100.852,  54.968, 45.8277,-0.0565566
+   1.049,-10.2856,-10.0652, -19.685, 100.951, 55.1145, 45.7792,-0.057245
+    1.05,-10.2957,-10.0961,-19.6917,  101.05, 55.2605, 45.7321,-0.0573966
+   1.051,-10.3057,-10.0044,-19.6604, 101.148,  55.406, 45.6852,-0.0569468
+   1.052,-10.3156,-9.82953,-19.6043, 101.245, 55.5515,  45.637,-0.056089
+   1.053,-10.3254,-9.64644,-19.5455, 101.339, 55.6964, 45.5876,-0.055191
+   1.054, -10.335,-9.53359,-19.5068, 101.433, 55.8395, 45.5386,-0.0546374
+   1.055,-10.3445,-9.53925,-19.5035, 101.526, 55.9805, 45.4911,-0.0546652
+   1.056,-10.3541,-9.66089,-19.5375, 101.621, 56.1214, 45.4444,-0.0552618
+   1.057,-10.3639,-9.84628,-19.5968, 101.718, 56.2648, 45.3967,-0.0561712
+   1.058,-10.3738, -10.016,-19.6601, 101.816, 56.4116, 45.3474,-0.0570035
+   1.059,-10.3838,-10.0973,-19.7045, 101.915, 56.5597, 45.2979,-0.0574022
+    1.06,-10.3939,-10.0554,-19.7141, 102.014, 56.7063, 45.2501,-0.057197
+   1.061,-10.4039,-9.90849,-19.6861, 102.111, 56.8507, 45.2036,-0.0564763
+   1.062,-10.4137,-9.71951,-19.6313, 102.206, 56.9942, 45.1564,-0.0555494
+   1.063,-10.4234,-9.56947,-19.5705,   102.3, 57.1381, 45.1071,-0.0548134
+   1.064,-10.4329,-9.52261,-19.5265, 102.393, 57.2817, 45.0572,-0.0545836
+   1.065,-10.4425, -9.5989,-19.5158, 102.488, 57.4235, 45.0091,-0.0549578
+   1.066,-10.4521,-9.76555,-19.5425, 102.583, 57.5647,  44.963,-0.0557752
+   1.067, -10.462,-9.95108,-19.5967, 102.681, 57.7082, 44.9161,-0.0566852
+   1.068, -10.472, -10.076,-19.6582,  102.78, 57.8559, 44.8667,-0.057298
+   1.069,-10.4821,-10.0869,-19.7045, 102.879, 58.0051, 44.8164,-0.0573512
+    1.07,-10.4921,-9.97911,-19.7184, 102.977, 58.1517, 44.7683,-0.0568227
+   1.071, -10.502,-9.79902,-19.6951, 103.073, 58.2945, 44.7224,-0.0559393
+   1.072,-10.5117, -9.6238,-19.6434, 103.167, 58.4364, 44.6758,-0.0550799
+   1.073,-10.5213, -9.5285,-19.5829, 103.261, 58.5799, 44.6262,-0.0546125
+   1.074,-10.5308,-9.55389, -19.536, 103.354, 58.7241, 44.5756,-0.054737
+   1.075,-10.5405,-9.68896,-19.5203,  103.45, 58.8666, 44.5275,-0.0553995
+   1.076,-10.5503,-9.87575,-19.5415, 103.546, 59.0081,  44.482,-0.0563157
+   1.077,-10.5602,-10.0342,-19.5915, 103.645, 59.1523, 44.4354,-0.057093
+   1.078,-10.5703,-10.0965,-19.6518, 103.744, 59.3009, 44.3856,-0.0573984
+   1.079,-10.5803, -10.036,-19.6997, 103.842, 59.4504, 44.3348,-0.0571016
+    1.08,-10.5903,-9.87871,-19.7176, 103.939, 59.5961, 44.2868,-0.0563302
+   1.081,-10.6001,-9.69217,-19.6989, 104.034, 59.7374, 44.2415,-0.0554153
+   1.082,-10.6097,-9.55628,-19.6507, 104.128, 59.8784,  44.195,-0.0547487
+   1.083,-10.6192, -9.5292,-19.5912, 104.222,  60.022, 44.1449,-0.0546159
+   1.084,-10.6288,-9.62243,-19.5427, 104.316, 60.1668, 44.0941,-0.0550732
+   1.085,-10.6385,-9.79593,-19.5231, 104.412, 60.3098, 44.0463,-0.0559242
+   1.086,-10.6484,-9.97529,-19.5398,  104.51, 60.4521,  44.001,-0.056804
+   1.087,-10.6584,-10.0837,-19.5863, 104.609, 60.5971, 43.9544,-0.0573356
+   1.088,-10.6685,-10.0747,-19.6452, 104.708, 60.7462, 43.9042,-0.0572917
+   1.089,-10.6785,-9.95239,-19.6943, 104.805, 60.8951, 43.8535,-0.0566916
+    1.09,-10.6884,-9.76916,-19.7154, 104.901, 61.0395, 43.8058,-0.0557929
+   1.091,-10.6981,-9.60359,-19.7007, 104.995, 61.1798, 43.7606,-0.0549808
+   1.092,-10.7077, -9.5266,-19.6559, 105.089, 61.3205, 43.7137,-0.0546031
+   1.093,-10.7172,-9.57108,-19.5978, 105.183, 61.4644, 43.6635,-0.0548213
+   1.094,-10.7268,-9.71786,-19.5482, 105.278, 61.6095,  43.613,-0.0555413
+   1.095,-10.7367,-9.90399,-19.5258, 105.375, 61.7533, 43.5654,-0.0564542
+   1.096,-10.7466,-10.0497,-19.5387, 105.474, 61.8966,   43.52,-0.0571688
+   1.097,-10.7567,-10.0926,-19.5821, 105.573, 62.0425, 43.4729,-0.0573792
+   1.098,-10.7668,-10.0144,-19.6394, 105.671, 62.1913, 43.4228,-0.0569956
+   1.099,-10.7767,-9.84869,-19.6892, 105.768,  62.339, 43.3725,-0.056183
+     1.1,-10.7864, -9.6666,-19.7128, 105.862, 62.4821, 43.3251,-0.0552898
+   1.101,-10.7961, -9.5461,-19.7015, 105.956, 62.6221, 43.2794,-0.0546988
+   1.102,-10.8056,-9.53876,-19.6596,  106.05,  62.763,  43.232,-0.0546628
+   1.103,-10.8152,-9.64762,-19.6031, 106.144,  62.907, 43.1821,-0.0551967
+   1.104,-10.8249,-9.82594,-19.5531, 106.241, 63.0525, 43.1322,-0.0560714
+   1.105,-10.8348,-9.99727,-19.5285, 106.339, 63.1972, 43.0847,-0.0569118
+   1.106,-10.8449,-10.0882,-19.5384, 106.438, 63.3418, 43.0386,-0.0573579
+   1.107, -10.855,-10.0599,-19.5789, 106.536, 63.4881, 42.9912,-0.057219
+   1.108,-10.8649,-9.92457,-19.6347, 106.634, 63.6357, 42.9415,-0.0565552
+   1.109,-10.8748,-9.74027,-19.6848, 106.729, 63.7819, 42.8918,-0.0556512
+    1.11,-10.8844,  -9.586,-19.7102, 106.823, 63.9243, 42.8442,-0.0548945
+   1.111, -10.894,-9.52783,-19.7016, 106.917, 64.0645, 42.7978,-0.0546092
+   1.112,-10.9036,-9.59059,-19.6623, 107.011, 64.2057, 42.7503,-0.054917
+   1.113,-10.9132,-9.74728,-19.6072, 107.107, 64.3499,  42.701,-0.0556856
+   1.114,-10.9231, -9.9307,-19.5572, 107.204, 64.4958, 42.6516,-0.0565853
+   1.115,-10.9331,-10.0622,-19.5311, 107.303, 64.6418, 42.6037,-0.0572305
+   1.116,-10.9431,-10.0856,-19.5386, 107.402, 64.7874, 42.5569,-0.0573451
+   1.117,-10.9532, -9.9909,-19.5767,   107.5, 64.9333, 42.5095,-0.0568805
+   1.118,-10.9631,-9.81877,-19.6311, 107.596, 65.0793, 42.4606,-0.0560362
+   1.119,-10.9728,-9.64304, -19.681, 107.691, 65.2241, 42.4113,-0.0551743
+    1.12,-10.9824,-9.53899,-19.7077, 107.784, 65.3664, 42.3631,-0.0546639
+   1.121,-10.9919,-9.55113,-19.7012, 107.878, 65.5071,  42.316,-0.0547234
+   1.122,-11.0016,-9.67415, -19.664, 107.973, 65.6486, 42.2688,-0.0553269
+   1.123,-11.0113,-9.85526,-19.6104, 108.069,  65.793, 42.2203,-0.0562152
+   1.124,-11.0213,-10.0168,-19.5606, 108.168, 65.9398, 42.1709,-0.0570077
+   1.125,-11.0313,-10.0896,-19.5335, 108.267,  66.087, 42.1223,-0.0573648
+   1.126,-11.0414,-10.0426,-19.5392, 108.365, 66.2329, 42.0751,-0.0571341
+   1.127,-11.0513,-9.89596,-19.5754, 108.462, 66.3777, 42.0282,-0.0564149
+   1.128,-11.0612,-9.71263,-19.6284, 108.558, 66.5221,   41.98,-0.0555156
+   1.129,-11.0708,-9.57117,-19.6779, 108.651, 66.6661, 41.9305,-0.0548218
+    1.13,-11.0803,-9.53215,-19.7053, 108.745, 66.8088, 41.8816,-0.0546303
+   1.131,-11.0899,-9.61219,-19.7003, 108.839, 66.9499, 41.8343,-0.0550229
+   1.132,-11.0996,-9.77689,-19.6649, 108.935, 67.0917, 41.7877,-0.0558308
+   1.133,-11.1095,-9.95564,-19.6127, 109.033, 67.2365, 41.7396,-0.0567076
+   1.134,-11.1195,-10.0718,-19.5634, 109.132, 67.3844,   41.69,-0.0572775
+   1.135,-11.1296,-10.0758,-19.5358,  109.23, 67.5325, 41.6407,-0.0572968
+   1.136,-11.1396,-9.96584,-19.5402, 109.328,  67.678, 41.5935,-0.0567576
+   1.137,-11.1495,-9.78925,-19.5749, 109.424, 67.8212, 41.5472,-0.0558915
+   1.138,-11.1592,-9.62171,-19.6265, 109.519, 67.9643, 41.4993,-0.0550697
+   1.139,-11.1688,-9.53497,-19.6755, 109.612, 68.1082, 41.4493,-0.0546442
+    1.14,-11.1783,-9.56613,-19.7032, 109.706, 68.2514, 41.3999,-0.054797
+   1.141,-11.1879,-9.70173,-19.6992, 109.801, 68.3929, 41.3529,-0.0554621
+   1.142,-11.1977,-9.88359,-19.6652, 109.898,  68.535, 41.3069,-0.0563542
+   1.143,-11.2077,-10.0338,-19.6141, 109.997, 68.6807, 41.2589,-0.0570908
+   1.144,-11.2177, -10.088,-19.5655, 110.096, 68.8296, 41.2086,-0.0573566
+   1.145,-11.2278, -10.023,-19.5378, 110.194, 68.9778, 41.1591,-0.0570381
+   1.146,-11.2377,-9.86689,-19.5414, 110.291, 69.1221, 41.1123,-0.0562723
+   1.147,-11.2475,-9.68652, -19.575, 110.386, 69.2638, 41.0665,-0.0553876
+   1.148,-11.2571,-9.55921,-19.6255,  110.48, 69.4064, 41.0184,-0.0547631
+   1.149,-11.2667,-9.53944,-19.6737, 110.573, 69.5506, 40.9678,-0.0546661
+    1.15,-11.2763,-9.63559,-19.7013, 110.668, 69.6942, 40.9183,-0.0551377
+   1.151, -11.286,-9.80637,-19.6978, 110.764,  69.836, 40.8718,-0.0559754
+   1.152,-11.2959,-9.97856,-19.6647, 110.862, 69.9787, 40.8261,-0.05682
+   1.153,-11.3059,-10.0784,-19.6147, 110.961, 70.1255, 40.7777,-0.0573097
+   1.154, -11.316,-10.0632,-19.5669, 111.059, 70.2751,  40.727,-0.0572349
+   1.155, -11.326,-9.93949,-19.5395, 111.157, 70.4225, 40.6776,-0.0566284
+   1.156,-11.3358,-9.76046,-19.5429, 111.253, 70.5653, 40.6315,-0.0557502
+   1.157,-11.3455, -9.6028,-19.5757, 111.347,  70.706, 40.5857,-0.0549769
+   1.158,-11.3551,-9.53405,-19.6252,  111.44, 70.8486,  40.537,-0.0546397
+   1.159,-11.3647,-9.58356,-19.6726, 111.534, 70.9932, 40.4862,-0.0548825
+    1.16,-11.3743,-9.73004,-19.6997,  111.63, 71.1371,  40.437,-0.055601
+   1.161,-11.3841,-9.91065,-19.6963, 111.727, 71.2794, 40.3911,-0.0564869
+   1.162,-11.3941, -10.048,-19.6638, 111.826, 71.4231, 40.3453,-0.0571605
+   1.163,-11.4042,-10.0832,-19.6147, 111.924, 71.5709, 40.2962,-0.0573335
+   1.164,-11.4142,-10.0014,-19.5678, 112.023, 71.7203, 40.2454,-0.0569322
+   1.165,-11.4241,-9.83767,-19.5411, 112.119, 71.8664, 40.1966,-0.056129
+   1.166,-11.4339,-9.66221,-19.5446, 112.214, 72.0078, 40.1508,-0.0552683
+   1.167,-11.4435, -9.5502,-19.5769, 112.308, 72.1482, 40.1047,-0.0547189
+   1.168, -11.453,-9.54959,-19.6256, 112.401, 72.2911, 40.0554,-0.0547159
+   1.169,-11.4627,-9.66053,-19.6719, 112.496, 72.4361, 40.0046,-0.0552601
+    1.17,-11.4724,-9.83541,-19.6982, 112.592, 72.5802, 39.9562,-0.0561179
+   1.171,-11.4823,-9.99926,-19.6945, 112.691, 72.7232, 39.9104,-0.0569215
+   1.172,-11.4924,-10.0819,-19.6623, 112.789, 72.8681,  39.864,-0.0573268
+   1.173,-11.5024, -10.048, -19.614, 112.888, 73.0164, 39.8145,-0.0571605
+   1.174,-11.5124,-9.91214,-19.5682, 112.985, 73.1648,  39.764,-0.0564942
+   1.175,-11.5222,-9.73267,-19.5424, 113.081, 73.3093, 39.7158,-0.0556139
+   1.176,-11.5319,-9.58648,-19.5464, 113.175, 73.4499,   39.67,-0.0548969
+   1.177,-11.5414,-9.53617,-19.5786, 113.268, 73.5905, 39.6233,-0.0546501
+   1.178, -11.551, -9.6032,-19.6265, 113.363, 73.7339, 39.5737,-0.0549789
+   1.179,-11.5607,-9.75877,-19.6718, 113.458, 73.8791, 39.5234,-0.0557419
+    1.18,-11.5705,-9.93616, -19.697, 113.556, 74.0237, 39.4755,-0.056612
+   1.181,-11.5805,-10.0593,-19.6926, 113.654, 74.1677, 39.4295,-0.0572162
+   1.182,-11.5906,-10.0756,-19.6604, 113.753, 74.3136, 39.3825,-0.057296
+   1.183,-11.6006,-9.97808,-19.6128, 113.851, 74.4615, 39.3329,-0.0568176
+   1.184,-11.6105,-9.80863,-19.5681, 113.947, 74.6084,  39.283,-0.0559865
+   1.185,-11.6203, -9.6399,-19.5436, 114.042, 74.7517, 39.2352,-0.0551589
+   1.186,-11.6298,-9.54419,-19.5484, 114.136,  74.892, 39.1889,-0.0546894
+   1.187,-11.6394,-9.56243,-19.5808, 114.229,  75.033, 39.1416,-0.0547789
+   1.188, -11.649,-9.68671,-19.6281, 114.324, 75.1768, 39.0922,-0.0553885
+   1.189,-11.6588, -9.8637,-19.6721, 114.421, 75.3224, 39.0426,-0.0562566
+    1.19,-11.6687,-10.0175,-19.6959, 114.519, 75.4677, 38.9948,-0.0570112
+   1.191,-11.6788,-10.0823,-19.6905, 114.618, 75.6128, 38.9482,-0.057329
+   1.192,-11.6888,-10.0304, -19.658, 114.717, 75.7589, 38.9008,-0.0570744
+   1.193,-11.6988,-9.88411, -19.611, 114.814, 75.9058, 38.8516,-0.0563567
+   1.194,-11.7086,-9.70618,-19.5676, 114.909, 76.0513, 38.8022,-0.055484
+   1.195,-11.7182,-9.57288,-19.5446, 115.003, 76.1937, 38.7543,-0.0548301
+   1.196,-11.7278,-9.54126,-19.5506, 115.096, 76.3343, 38.7075,-0.0546751
+   1.197,-11.7374, -9.6248,-19.5834, 115.191, 76.4758,   38.66,-0.0550848
+   1.198,-11.7471,-9.78761,-19.6301, 115.287,   76.62, 38.6111,-0.0558834
+   1.199, -11.757,-9.95987,-19.6727, 115.385, 76.7661, 38.5618,-0.0567283
+     1.2, -11.767,-10.0678,-19.6949, 115.483, 76.9124, 38.5137,-0.0572577
+   1.201, -11.777,-10.0652,-19.6882, 115.582, 77.0581, 38.4667,-0.0572449
+   1.202, -11.787,-9.95325,-19.6552,  115.68, 77.2038, 38.4193,-0.0566959
+   1.203,-11.7969,-9.78006,-19.6087, 115.776, 77.3493, 38.3706,-0.0558463
+   1.204,-11.8066,-9.61983,-19.5668,  115.87, 77.4936, 38.3214,-0.0550604
+   1.205,-11.8162, -9.5412,-19.5455, 115.964, 77.6359, 38.2731,-0.0546748
+   1.206,-11.8258,-9.57779,-19.5531, 116.058, 77.7768,  38.226,-0.0548542
+   1.207,-11.8354,-9.71383,-19.5864, 116.153, 77.9187, 38.1787,-0.0555215
+   1.208,-11.8452,-9.89095,-19.6325,  116.25, 78.0634, 38.1302,-0.0563903
+   1.209,-11.8552,-10.0332,-19.6737, 116.348, 78.2104, 38.0809,-0.0570882
+    1.21,-11.8652,-10.0798, -19.694, 116.447, 78.3576, 38.0324,-0.0573165
+   1.211,-11.8753,-10.0107,-19.6856, 116.545, 78.5033, 37.9852,-0.0569777
+   1.212,-11.8852,-9.85571, -19.652, 116.642, 78.6478, 37.9382,-0.0562174
+   1.213, -11.895,-9.68125,-19.6061, 116.737,  78.792, 37.8898,-0.0553617
+   1.214,-11.9046, -9.5621,-19.5657, 116.831, 78.9358, 37.8403,-0.0547772
+   1.215,-11.9141,-9.54924,-19.5465, 116.925, 79.0783, 37.7916,-0.0547142
+   1.216,-11.9237, -9.6481,-19.5557, 117.019, 79.2195, 37.7445,-0.0551991
+   1.217,-11.9335,-9.81624,-19.5898, 117.116, 79.3618, 37.6977,-0.0560238
+   1.218,-11.9434,-9.98156,-19.6354, 117.213, 79.5073, 37.6493,-0.0568347
+   1.219,-11.9534,-10.0733,-19.6749, 117.312, 79.6553, 37.5997,-0.0572845
+    1.22,-11.9635,-10.0521, -19.693, 117.411, 79.8029, 37.5508,-0.0571807
+   1.221,-11.9735,-9.92724,-19.6828, 117.508, 79.9478, 37.5039,-0.0565683
+   1.222,-11.9833,-9.75226,-19.6484, 117.604, 80.0909, 37.4573,-0.05571
+   1.223, -11.993,-9.60216,-19.6031, 117.698, 80.2343, 37.4088,-0.0549737
+   1.224,-12.0025,-9.54122,-19.5645, 117.792, 80.3782, 37.3589,-0.0546748
+   1.225,-12.0121,-9.59547,-19.5475, 117.886, 80.5209, 37.3101,-0.0549409
+   1.226,-12.0218,-9.74158,-19.5587, 117.981, 80.6624, 37.2634,-0.0556576
+   1.227,-12.0316,-9.91689,-19.5936, 118.079, 80.8052,  37.217,-0.0565175
+   1.228,-12.0416,-10.0463,-19.6386, 118.177, 80.9519, 37.1683,-0.0571521
+   1.229,-12.0517,-10.0743,-19.6762, 118.276, 81.1007, 37.1181,-0.0572897
+    1.23,-12.0617,-9.98911, -19.692, 118.374, 81.2479, 37.0693,-0.0568718
+   1.231,-12.0716,-9.82725,-19.6797, 118.471, 81.3914,  37.023,-0.0560778
+   1.232,-12.0813,-9.65813,-19.6444, 118.565, 81.5334, 36.9766,-0.0552483
+   1.233,-12.0909,-9.55421,-19.5997, 118.659, 81.6767, 36.9276,-0.0547386
+   1.234,-12.1005,-9.55995,-19.5631, 118.753, 81.8208, 36.8772,-0.0547667
+   1.235,-12.1101,-9.67281,-19.5486, 118.848, 81.9636, 36.8287,-0.0553203
+   1.236,-12.1199,-9.84435,-19.5619, 118.944, 82.1054, 36.7827,-0.0561617
+   1.237,-12.1298, -10.001,-19.5977, 119.042, 82.2492, 36.7362,-0.0569302
+   1.238,-12.1398,-10.0758, -19.642, 119.141, 82.3971, 36.6868,-0.0572967
+   1.239,-12.1499,-10.0366,-19.6776,  119.24, 82.5462, 36.6363,-0.0571045
+    1.24,-12.1599,-9.90035,-19.6908, 119.337, 82.6922, 36.5882,-0.0564364
+   1.241,-12.1697,-9.72553,-19.6763, 119.432, 82.8342, 36.5424,-0.0555789
+   1.242,-12.1793,-9.58705,-19.6401, 119.526, 82.9756, 36.4957,-0.0548996
+   1.243,-12.1889,-9.54418,-19.5962,  119.62, 83.1192,  36.446,-0.0546894
+   1.244,-12.1985,-9.61523,-19.5616, 119.714, 83.2636, 36.3955,-0.0550379
+   1.245,-12.2082,-9.76966,-19.5499,  119.81, 83.4065, 36.3477,-0.0557954
+   1.246, -12.218,-9.94125,-19.5655, 119.908, 83.5488, 36.3021,-0.056637
+   1.247, -12.228,-10.0565,-19.6022, 120.006, 83.6939, 36.2551,-0.0572021
+   1.248,-12.2381, -10.066,-19.6457, 120.105, 83.8426, 36.2051,-0.0572489
+   1.249,-12.2481,-9.96587,-19.6791, 120.203, 83.9912, 36.1547,-0.0567578
+    1.25, -12.258,-9.79903,-19.6893, 120.299, 84.1355, 36.1074,-0.0559394
+   1.251,-12.2677,-9.63703,-19.6726, 120.393, 84.2764, 36.0618,-0.0551448
+   1.252,-12.2773,-9.54926,-19.6354, 120.487, 84.4179, 36.0144,-0.0547143
+   1.253,-12.2869,-9.57325,-19.5924, 120.581,  84.562, 35.9641,-0.054832
+   1.254,-12.2965,-9.69866,-19.5602, 120.676, 84.7066, 35.9141,-0.0554471
+   1.255,-12.3063,-9.87166,-19.5515, 120.773, 84.8496, 35.8671,-0.0562956
+   1.256,-12.3162,-10.0181,-19.5694, 120.871, 84.9927, 35.8215,-0.057014
+   1.257,-12.3263,-10.0753, -19.607,  120.97, 85.1391, 35.7737,-0.0572944
+   1.258,-12.3363,-10.0188,-19.6495, 121.068, 85.2881, 35.7232,-0.0570172
+   1.259,-12.3463,-9.87286,-19.6804, 121.165, 85.4354, 35.6735,-0.0563016
+    1.26, -12.356,-9.70014,-19.6876,  121.26, 85.5781, 35.6268,-0.0554543
+   1.261,-12.3657,-9.57462,-19.6685, 121.354, 85.7184, 35.5811,-0.0548387
+   1.262,-12.3752,-9.55003,-19.6305, 121.448, 85.8604, 35.5328,-0.0547181
+   1.263,-12.3848,-9.63684,-19.5885, 121.543,  86.005, 35.4823,-0.0551439
+   1.264,-12.3946,-9.79776, -19.559, 121.639, 86.1497,  35.433,-0.0559332
+   1.265,-12.4044,-9.96379,-19.5533, 121.736, 86.2931, 35.3866,-0.0567476
+   1.266,-12.4144,-10.0638,-19.5737, 121.835, 86.4373, 35.3405,-0.0572382
+   1.267,-12.4245, -10.055,-19.6121, 121.934, 86.5846, 35.2919,-0.057195
+   1.268,-12.4345,-9.94126,-19.6534, 122.031, 86.7331, 35.2415,-0.0566371
+   1.269,-12.4444,-9.77137,-19.6816, 122.127, 86.8787, 35.1926,-0.0558037
+    1.27,-12.4541,-9.61815,-19.6856, 122.221, 87.0202, 35.1463,-0.0550522
+   1.271,-12.4636,-9.54725, -19.664, 122.315, 87.1605, 35.0999,-0.0547044
+   1.272,-12.4732,-9.58896,-19.6252, 122.409, 87.3032,  35.051,-0.054909
+   1.273,-12.4829,-9.72534,-19.5846, 122.505, 87.4482, 35.0008,-0.0555779
+   1.274,-12.4927,-9.89788,-19.5579, 122.602,  87.593, 34.9523,-0.0564242
+   1.275,-12.5026,-10.0326,-19.5556,   122.7, 87.7371, 34.9059,-0.0570852
+   1.276,-12.5127,-10.0719,-19.5784, 122.799, 87.8824, 34.8592,-0.0572779
+   1.277,-12.5227,-9.99895,-19.6175, 122.897, 88.0299, 34.8102,-0.05692
+   1.278,-12.5327, -9.8451,-19.6574, 122.994, 88.1772, 34.7602,-0.0561654
+   1.279,-12.5424,-9.67634,-19.6825, 123.089, 88.3213, 34.7119,-0.0553376
+    1.28, -12.552,-9.56497,-19.6831, 123.182, 88.4621, 34.6655,-0.0547913
+   1.281,-12.5616,-9.55866,-19.6591, 123.276, 88.6029, 34.6185,-0.0547604
+   1.282,-12.5712,-9.66003,-19.6198, 123.371, 88.7463, 34.5694,-0.0552576
+   1.283,-12.5809,-9.82557,-19.5807, 123.467, 88.8916, 34.5196,-0.0560696
+   1.284,-12.5909,-9.98431,-19.5572, 123.565, 89.0368, 34.4716,-0.0568482
+   1.285,-12.6009,-10.0683,-19.5583, 123.664, 89.1818,  34.425,-0.05726
+   1.286,-12.6109,-10.0415,-19.5836, 123.763, 89.3277, 34.3777,-0.0571287
+   1.287,-12.6209,-9.91558, -19.623,  123.86, 89.4747, 34.3286,-0.0565111
+   1.288,-12.6307,-9.74453,-19.6612, 123.955, 89.6205, 34.2792,-0.0556721
+   1.289,-12.6404,-9.60167,-19.6831,  124.05, 89.7634, 34.2312,-0.0549713
+    1.29,  -12.65,-9.54816,-19.6802, 124.143, 89.9042, 34.1844,-0.0547089
+   1.291,-12.6596,-9.60687,-19.6537, 124.237, 90.0456, 34.1369,-0.0549969
+   1.292,-12.6692,-9.75256,-19.6141, 124.333, 90.1895, 34.0879,-0.0557115
+   1.293,-12.6791,-9.92274,-19.5769,  124.43, 90.3352, 34.0387,-0.0565462
+   1.294,-12.6891,-10.0445,-19.5568, 124.529, 90.4812, 33.9907,-0.0571434
+   1.295,-12.6991,-10.0657,-19.5614, 124.628, 90.6268, 33.9437,-0.0572474
+   1.296,-12.7091,-9.97734,-19.5891, 124.726, 90.7727, 33.8962,-0.056814
+   1.297, -12.719,-9.81736,-19.6287, 124.822, 90.9186, 33.8474,-0.0560293
+   1.298,-12.7288,-9.65435,-19.6649, 124.917, 91.0632, 33.7982,-0.0552298
+   1.299,-12.7384,-9.55815,-19.6833,  125.01, 91.2055, 33.7502,-0.0547579
+     1.3,-12.7479,-9.56992,-19.6768, 125.104, 91.3465,  33.703,-0.0548156
+   1.301,-12.7576,-9.68453, -19.648, 125.199, 91.4884, 33.6555,-0.0553778
+   1.302,-12.7673, -9.8528,-19.6084, 125.296, 91.6329, 33.6068,-0.0562032
+   1.303,-12.7773,-10.0026,-19.5734, 125.394, 91.7794, 33.5577,-0.056938
+   1.304,-12.7873,-10.0698,-19.5568, 125.493, 91.9261, 33.5095,-0.0572675
+   1.305,-12.7974,-10.0256,-19.5651, 125.591, 92.0719, 33.4623,-0.0570508
+   1.306,-12.8073,-9.88911,-19.5949, 125.688, 92.2169, 33.4149,-0.0563813
+   1.307,-12.8171,-9.71882,-19.6345, 125.784, 92.3617, 33.3663,-0.055546
+   1.308,-12.8268,-9.58772,-19.6683, 125.878, 92.5056, 33.3172,-0.0549029
+   1.309,-12.8363,-9.55194,-19.6829, 125.971, 92.6478, 33.2689,-0.0547274
+    1.31,-12.8459,-9.62675,-19.6728, 126.066,  92.789, 33.2217,-0.0550944
+   1.311,-12.8556,-9.78001, -19.642, 126.162, 92.9315, 33.1744,-0.0558461
+   1.312,-12.8655,  -9.946,-19.6026, 126.259, 93.0768, 33.1258,-0.0566603
+   1.313,-12.8755,-10.0536,-19.5702, 126.358, 93.2242, 33.0765,-0.0571881
+   1.314,-12.8856,-10.0568,-19.5574, 126.457, 93.3712, 33.0281,-0.0572035
+   1.315,-12.8956, -9.9542,-19.5694, 126.554, 93.5164, 32.9811,-0.0567005
+   1.316,-12.9054,-9.78994,-19.6012,  126.65, 93.6604, 32.9339,-0.0558948
+   1.317,-12.9151,-9.63441,-19.6403, 126.745, 93.8043, 32.8853,-0.0551319
+   1.318,-12.9247,-9.55421,-19.6713, 126.839, 93.9479, 32.8358,-0.0547386
+   1.319,-12.9343,-9.58366, -19.682, 126.933, 94.0902, 32.7874,-0.054883
+    1.32, -12.944,-9.71005,-19.6683, 127.028, 94.2317, 32.7406,-0.055503
+   1.321,-12.9537,-9.87917,-19.6356, 127.125, 94.3748, 32.6935,-0.0563325
+   1.322,-12.9637,-10.0185,-19.5969, 127.223, 94.5213, 32.6447,-0.057016
+   1.323,-12.9737,-10.0684,-19.5674, 127.322, 94.6694,  32.595,-0.0572608
+   1.324,-12.9838,-10.0076,-19.5587,  127.42, 94.8162, 32.5468,-0.0569624
+   1.325,-12.9937,-9.86215,-19.5742, 127.517, 94.9603, 32.5002,-0.056249
+   1.326,-13.0035,-9.69447,-19.6077, 127.612, 95.1032, 32.4531,-0.0554266
+   1.327,-13.0131,-9.57641,-19.6459, 127.706, 95.2468,  32.404,-0.0548475
+   1.328,-13.0227,-9.55851,-19.6739, 127.799, 95.3905, 32.3542,-0.0547597
+   1.329,-13.0323,-9.64837,-19.6805, 127.894, 95.5328, 32.3061,-0.0552004
+    1.33, -13.042, -9.8074,-19.6632,  127.99, 95.6746, 32.2598,-0.0559805
+   1.331,-13.0519,-9.96742, -19.629, 128.088, 95.8187, 32.2127,-0.0567654
+   1.332,-13.0619,-10.0599,-19.5913, 128.187, 95.9663, 32.1633,-0.0572189
+   1.333, -13.072,-10.0452,-19.5651, 128.285, 96.1148, 32.1134,-0.057147
+   1.334, -13.082, -9.9298,-19.5606, 128.383, 96.2606, 32.0656,-0.0565809
+   1.335,-13.0918,-9.76314,-19.5795, 128.479, 96.4033, 32.0195,-0.0557634
+   1.336,-13.1015,-9.61668,-19.6144, 128.573, 96.5457, 31.9722,-0.055045
+   1.337,-13.1111,-9.55315,-19.6514, 128.667, 96.6895, 31.9224,-0.0547334
+   1.338,-13.1207, -9.5997,-19.6759, 128.761, 96.8332, 31.8726,-0.0549617
+   1.339,-13.1303,-9.73631,-19.6782, 128.856, 96.9755, 31.8252,-0.0556318
+    1.34,-13.1401,-9.90439,-19.6576, 128.953, 97.1178, 31.7792,-0.0564562
+   1.341,-13.1501,-10.0319,-19.6222, 129.052, 97.2632, 31.7316,-0.0570817
+   1.342,-13.1602,-10.0643, -19.586, 129.151, 97.4119, 31.6815,-0.0572403
+   1.343,-13.1702,-9.98766,-19.5634, 129.249, 97.5599, 31.6318,-0.0568646
+   1.344,-13.1801,  -9.835,-19.5632, 129.345, 97.7041, 31.5848,-0.0561159
+   1.345,-13.1899,-9.67175,-19.5854,  129.44, 97.8457,  31.539,-0.0553151
+   1.346,-13.1995,-9.56785,-19.6213, 129.534, 97.9881, 31.4909,-0.0548055
+   1.347, -13.209,-9.56776,-19.6565, 129.628, 98.1323, 31.4405,-0.054805
+   1.348,-13.2187,-9.67146,-19.6772, 129.723, 98.2761, 31.3911,-0.0553137
+   1.349,-13.2284,-9.83443,-19.6752, 129.819, 98.4183, 31.3446,-0.056113
+    1.35,-13.2383,-9.98681,-19.6514, 129.917, 98.5615, 31.2986,-0.0568605
+   1.351,-13.2484,-10.0633,-19.6152, 130.016, 98.7084, 31.2501,-0.0572358
+   1.352,-13.2584,-10.0313,-19.5811, 130.114, 98.8575, 31.1996,-0.0570785
+   1.353,-13.2684,-9.90443,-19.5624, 130.211, 99.0042, 31.1506,-0.0564564
+   1.354,-13.2782,-9.73723,-19.5665, 130.307, 99.1468, 31.1044,-0.0556363
+   1.355,-13.2879,-9.60133,-19.5918, 130.401, 99.2878, 31.0582,-0.0549697
+   1.356,-13.2974,-9.55492,-19.6282, 130.495, 99.4308, 31.0092,-0.0547421
+   1.357, -13.307,-9.61783,-19.6612, 130.589, 99.5754, 30.9586,-0.0550506
+   1.358,-13.3167,-9.76302,-19.6778, 130.685,  99.719, 30.9101,-0.0557628
+   1.359,-13.3266,-9.92824,-19.6715, 130.782, 99.8615, 30.8642,-0.0565732
+    1.36,-13.3365,-10.0427,-19.6448, 130.881, 100.006, 30.8177,-0.0571345
+   1.361,-13.3466,-10.0573,-19.6083, 130.979, 100.154, 30.7682,-0.0572065
+   1.362,-13.3566,-9.96605,-19.5766, 131.077, 100.303, 30.7178,-0.0567586
+   1.363,-13.3665,-9.80796,-19.5622, 131.173, 100.448, 30.6697,-0.0559832
+   1.364,-13.3762,-9.65086,-19.5707, 131.268, 100.589,  30.624,-0.0552126
+   1.365,-13.3858,-9.56205,-19.5987, 131.362,  100.73, 30.5771,-0.054777
+   1.366,-13.3954,-9.57952,-19.6351, 131.456, 100.874, 30.5273,-0.0548627
+   1.367, -13.405,-9.69572,-19.6654, 131.551, 101.019,  30.477,-0.0554327
+   1.368,-13.4148,-9.86079,-19.6776, 131.648, 101.162, 30.4295,-0.0562423
+   1.369,-13.4247, -10.004, -19.667, 131.746, 101.305, 30.3837,-0.0569447
+    1.37,-13.4348, -10.064,-19.6377, 131.845, 101.451, 30.3363,-0.0572389
+   1.371,-13.4448,-10.0151,-19.6016, 131.943,   101.6, 30.2863,-0.0569993
+   1.372,-13.4548,-9.87843,-19.5728,  132.04, 101.747, 30.2364,-0.0563289
+   1.373,-13.4646,-9.71255,-19.5628, 132.135,  101.89, 30.1892,-0.0555152
+   1.374,-13.4742,-9.58855,-19.5756, 132.229, 102.031, 30.1434,-0.054907
+   1.375,-13.4838,-9.55952,-19.6059, 132.323, 102.173, 30.0955,-0.0547646
+   1.376,-13.4934,-9.63782,-19.6417, 132.417, 102.317, 30.0453,-0.0551487
+   1.377,-13.5031,-9.78982,-19.6688, 132.513, 102.462, 29.9958,-0.0558942
+   1.378, -13.513,-9.95033,-19.6765, 132.611, 102.605,  29.949,-0.0566815
+   1.379, -13.523,-10.0506,-19.6617,  132.71,  102.75, 29.9029,-0.0571733
+    1.38, -13.533,-10.0477,-19.6304, 132.808, 102.896, 29.8546,-0.0571589
+   1.381, -13.543,-9.94291,-19.5951, 132.906, 103.045, 29.8044,-0.0566451
+   1.382,-13.5529,-9.78128,-19.5697, 133.002,  103.19, 29.7554,-0.0558524
+   1.383,-13.5626,-9.63209,-19.5644, 133.096, 103.332, 29.7088,-0.0551206
+   1.384,-13.5722,-9.55926,-19.5812,  133.19, 103.473, 29.6624,-0.0547633
+   1.385,-13.5818,-9.59395,-19.6134, 133.284, 103.615, 29.6137,-0.0549335
+   1.386,-13.5914,-9.72123,-19.6481, 133.379,  103.76, 29.5636,-0.0555578
+   1.387,-13.6012,-9.88651,-19.6715, 133.476, 103.905,  29.515,-0.0563685
+   1.388,-13.6112,-10.0189,-19.6744, 133.575, 104.049, 29.4685,-0.057018
+   1.389,-13.6212,-10.0617,-19.6557, 133.673, 104.194, 29.4218,-0.0572279
+    1.39,-13.6312,-9.99661,-19.6228, 133.771, 104.342, 29.3728,-0.0569086
+   1.391,-13.6412,-9.85151, -19.589, 133.868, 104.489, 29.3229,-0.0561968
+   1.392,-13.6509,-9.68862,-19.5675, 133.963, 104.633, 29.2746,-0.0553978
+   1.393,-13.6606,-9.57773, -19.567, 134.057, 104.774, 29.2281,-0.0548539
+   1.394,-13.6701,-9.56633,-19.5875, 134.151, 104.915, 29.1811,-0.054798
+   1.395,-13.6798, -9.6593, -19.621, 134.246, 105.059,  29.132,-0.055254
+   1.396,-13.6895,-9.81681,-19.6539, 134.342, 105.204, 29.0823,-0.0560266
+   1.397,-13.6994,-9.97142,-19.6733,  134.44, 105.349, 29.0343,-0.056785
+   1.398,-13.7094, -10.057,-19.6714, 134.539, 105.494, 28.9877,-0.0572046
+   1.399,-13.7194,-10.0369,-19.6491, 134.637,  105.64, 28.9403,-0.0571061
+     1.4,-13.7294,-9.91986,-19.6152, 134.734, 105.787, 28.8911,-0.0565321
+   1.401,-13.7393,-9.75598,-19.5834,  134.83, 105.933, 28.8418,-0.0557282
+   1.402,-13.7489,-9.61537,-19.5662, 134.924, 106.075, 28.7939,-0.0550385
+   1.403,-13.7585,-9.55808,-19.5705, 135.018, 106.216, 28.7472,-0.0547575
+   1.404,-13.7681,-9.60842,-19.5945, 135.112, 106.358, 28.6996,-0.0550045
+   1.405,-13.7778,-9.74463,-19.6285, 135.208, 106.502, 28.6504,-0.0556726
+   1.406,-13.7876,-9.90827,-19.6591, 135.305, 106.647, 28.6013,-0.0564752
+   1.407,-13.7976,-10.0293, -19.674, 135.404, 106.793, 28.5535,-0.0570688
+   1.408,-13.8076,-10.0561,-19.6674, 135.502, 106.938, 28.5066,-0.0572003
+   1.409,-13.8176,-9.97757,-19.6419,   135.6, 107.084, 28.4588,-0.0568151
+    1.41,-13.8276,-9.82778,-19.6077, 135.696, 107.231, 28.4097,-0.0560804
+   1.411,-13.8373,-9.67125,-19.5786, 135.791, 107.375, 28.3608,-0.0553126
+   1.412,-13.8469,-9.57522, -19.566, 135.885, 107.517,  28.313,-0.0548416
+   1.413,-13.8565,-9.58075, -19.575, 135.979, 107.658,  28.266,-0.0548688
+   1.414,-13.8661,-9.68513,-19.6019, 136.074, 107.801, 28.2181,-0.0553807
+   1.415,-13.8759,-9.84308,-19.6359, 136.171, 107.946, 28.1691,-0.0561555
+   1.416,-13.8858,-9.98624,-19.6636, 136.269, 108.092, 28.1203,-0.0568577
+   1.417,-13.8958,-10.0526,-19.6737, 136.367, 108.238, 28.0725,-0.0571834
+   1.418,-13.9059,-10.0134,-19.6624, 136.466, 108.383, 28.0253,-0.0569909
+   1.419,-13.9158,-9.88521,-19.6343, 136.563, 108.529, 27.9774,-0.0563621
+    1.42,-13.9256,-9.72329,-19.6005, 136.658, 108.674, 27.9285,-0.0555679
+   1.421,-13.9353,-9.59773,-19.5746, 136.752, 108.818, 27.8797,-0.054952
+   1.422,-13.9449,-9.56337,-19.5669, 136.846, 108.959, 27.8319,-0.0547835
+   1.423,-13.9545, -9.6361,-19.5804, 136.941, 109.101, 27.7847,-0.0551402
+   1.424,-13.9642,-9.78585,-19.6097, 137.037, 109.244, 27.7369,-0.0558747
+   1.425, -13.974,-9.94914, -19.643, 137.134, 109.389,  27.688,-0.0566757
+   1.426, -13.984,-10.0561,-19.6671, 137.233, 109.536, 27.6391,-0.0572002
+   1.427,-13.9941,-10.0601,-19.6723, 137.331, 109.683, 27.5913,-0.0572201
+   1.428,-14.0041,-9.95804,-19.6566, 137.429, 109.828, 27.5441,-0.0567193
+   1.429, -14.014, -9.7915,-19.6263, 137.525, 109.973, 27.4963,-0.0559025
+    1.43,-14.0237, -9.6296,-19.5936,  137.62, 110.117, 27.4474,-0.0551084
+   1.431,-14.0333,-9.53981,-19.5716, 137.713,  110.26, 27.3985,-0.0546679
+   1.432,-14.0428,-9.55958,-19.5689, 137.807, 110.402, 27.3507,-0.0547649
+   1.433,-14.0524,-9.68078,-19.5866, 137.902, 110.543, 27.3036,-0.0553594
+   1.434,-14.0622,-9.85332,-19.6177, 137.999, 110.687, 27.2558,-0.0562057
+   1.435,-14.0721,-10.0065,-19.6496, 138.097, 110.833, 27.2068,-0.0569572
+   1.436,-14.0822,-10.0788,-19.6695, 138.196, 110.981, 27.1578,-0.0573117
+   1.437,-14.0922,-10.0432,-19.6697, 138.294, 111.127, 27.1101,-0.0571372
+   1.438,-14.1022,-9.91803,  -19.65, 138.392, 111.272, 27.0631,-0.0565231
+   1.439,-14.1121,-9.75785,-19.6183, 138.487, 111.416, 27.0153,-0.0557374
+    1.44,-14.1218,-9.62972,-19.5874, 138.582, 111.561, 26.9661,-0.055109
+   1.441,-14.1314,-9.58427,-19.5696, 138.676, 111.704,  26.917,-0.054886
+   1.442, -14.141,-9.63459, -19.572,  138.77, 111.846, 26.8695,-0.0551328
+   1.443,-14.1507,-9.75183,-19.5936, 138.866, 111.987, 26.8227,-0.0557079
+   1.444,-14.1605,-9.87921,-19.6257, 138.963, 112.132, 26.7747,-0.0563327
+   1.445,-14.1704,-9.95803,-19.6554, 139.061, 112.278, 26.7253,-0.0567193
+   1.446,-14.1804,-9.95425,-19.6709, 139.158, 112.425, 26.6763,-0.0567008
+   1.447,-14.1903,-9.87381,-19.6659, 139.255,  112.57,  26.629,-0.0563062
+   1.448,-14.2001,-9.75976,-19.6427, 139.351, 112.713, 26.5823,-0.0557468
+   1.449,-14.2098,-9.67252,-19.6104, 139.446, 112.856, 26.5341,-0.0553189
+    1.45,-14.2195,-9.66165, -19.582,  139.54, 113.001, 26.4845,-0.0552655
+   1.451,-14.2292,-9.74186,-19.5689, 139.636, 113.145, 26.4357,-0.055659
+   1.452, -14.239,-9.88394,-19.5763, 139.733, 113.288, 26.3887,-0.0563559
+   1.453,-14.2489,-10.0253,-19.6012, 139.831, 113.432,  26.342,-0.0570491
+   1.454, -14.259, -10.096,-19.6335,  139.93,  113.58, 26.2934,-0.0573959
+   1.455,-14.2691,-10.0498,-19.6604, 140.029, 113.728, 26.2435,-0.0571695
+   1.456, -14.279,-9.88682,-19.6709, 140.126, 113.875, 26.1949,-0.05637
+   1.457,-14.2888,-9.65724,-19.6611, 140.221, 114.017, 26.1484,-0.0552439
+   1.458,-14.2984,-9.44472,-19.6348, 140.313, 114.157, 26.1017,-0.0542015
+   1.459,-14.3078,-9.33466,-19.6027, 140.405, 114.298, 26.0528,-0.0536617
+    1.46,-14.3171,-9.38033,-19.5776, 140.497,  114.44, 26.0027,-0.0538857
+   1.461,-14.3266,-9.58038,-19.5695, 140.591, 114.582, 25.9542,-0.0548669
+   1.462,-14.3363,-9.87697,-19.5817, 140.688, 114.724, 25.9078,-0.0563217
+   1.463,-14.3464,-10.1754,-19.6092, 140.788, 114.869,  25.861,-0.0577857
+   1.464,-14.3566, -10.378, -19.641, 140.889, 115.019,  25.812,-0.058779
+   1.465, -14.367,-10.4181,-19.6643, 140.992,  115.17, 25.7623,-0.058976
+   1.466,-14.3774,-10.2832,-19.6697, 141.093,  115.32, 25.7142,-0.0583143
+   1.467,-14.3875,-10.0165,-19.6552, 141.191, 115.466, 25.6677,-0.0570062
+   1.468,-14.3974,-9.69934,-19.6267, 141.286,  115.61,   25.62,-0.0554504
+   1.469,-14.4069,-9.42146,-19.5955, 141.378, 115.754, 25.5703,-0.0540874
+    1.47,-14.4163, -9.2514,-19.5742, 141.469, 115.895,  25.521,-0.0532533
+   1.471,-14.4255,-9.21822,-19.5714,  141.56, 116.032, 25.4743,-0.0530905
+   1.472,-14.4348,-9.30996, -19.588, 141.651, 116.169, 25.4285,-0.0535405
+   1.473,-14.4442,-9.48704,-19.6175, 141.744, 116.309, 25.3804,-0.0544091
+   1.474,-14.4538,-9.70255,-19.6479, 141.839, 116.454, 25.3293,-0.0554662
+   1.475,-14.4636,-9.91934, -19.667, 141.936, 116.601,  25.279,-0.0565295
+   1.476,-14.4736,-10.1166,-19.6672, 142.036, 116.746, 25.2323,-0.0574972
+   1.477,-14.4838,-10.2845,-19.6485, 142.137, 116.891, 25.1876,-0.0583208
+   1.478,-14.4942,-10.4117,-19.6184, 142.239, 117.039, 25.1408,-0.0589448
+   1.479,-14.5046, -10.475, -19.589, 142.341, 117.192, 25.0907,-0.0592549
+    1.48,-14.5151,-10.4386,-19.5721, 142.444, 117.345, 25.0401,-0.0590766
+   1.481,-14.5254,-10.2675,-19.5745, 142.545, 117.495, 24.9915,-0.0582372
+   1.482,-14.5355,-9.94853,-19.5952, 142.642, 117.641, 24.9443,-0.0566727
+   1.483,-14.5452,-9.51199,-19.6258, 142.735, 117.784, 24.8967,-0.0545315
+   1.484,-14.5545,   -9.04,-19.6539, 142.824, 117.923,  24.849,-0.0522163
+   1.485,-14.5634,-8.65493,-19.6684, 142.909, 118.056, 24.8026,-0.0503276
+   1.486,-14.5719,-8.48722,-19.6634, 142.992, 118.187, 24.7561,-0.049505
+   1.487,-14.5805,-8.63165, -19.641, 143.077,  118.32, 24.7066,-0.0502134
+   1.488,-14.5894,-9.10726,-19.6102, 143.166,  118.46, 24.6537,-0.0525463
+   1.489,-14.5988,-9.83689,-19.5834, 143.263, 118.605, 24.6022,-0.0561251
+    1.49,-14.6091,-10.6567,-19.5714, 143.367, 118.751, 24.5568,-0.0601462
+   1.491,-14.6201,-11.3556, -19.579, 143.479, 118.899, 24.5158,-0.0635744
+   1.492,-14.6316,-11.7345, -19.603, 143.594, 119.056, 24.4721,-0.0654331
+   1.493,-14.6433,-11.6662,-19.6338, 143.708, 119.222, 24.4209,-0.0650977
+   1.494,-14.6547,-11.1365, -19.659, 143.818,  119.39, 24.3651,-0.0624997
+   1.495,-14.6654,-10.2539,-19.6684, 143.918, 119.548, 24.3119,-0.0581705
+   1.496,-14.6752,-9.22231,-19.6584, 144.009,  119.69, 24.2653,-0.0531106
+   1.497,-14.6839,-8.28743,-19.6329,  144.09, 119.818, 24.2233,-0.048525
+   1.498,-14.6919, -7.6719,-19.6023, 144.165, 119.939, 24.1808,-0.0455058
+   1.499,-14.6995,-7.51958,-19.5789, 144.239, 120.059, 24.1348,-0.0447587
+     1.5,-14.7072,-7.86347,-19.5721, 144.316, 120.186, 24.0841,-0.0464455
+   1.501,-14.7154,-8.62426,-19.5846, 144.401, 120.321, 24.0296,-0.0501771
+   1.502,-14.7246,-9.63606,-19.6113, 144.495, 120.466, 23.9746,-0.05514
+   1.503,-14.7347,-10.6891,-19.6414,   144.6, 120.615, 23.9247,-0.060305
+   1.504,-14.7459,-11.5756,-19.6629, 144.714, 120.766, 23.8834,-0.0646535
+   1.505,-14.7577,-12.1289, -19.667, 144.833, 120.919, 23.8464,-0.0673675
+   1.506,-14.7699,-12.2481,-19.6522, 144.953, 121.081, 23.8039,-0.0679521
+   1.507, -14.782,-11.9092,-19.6245,  145.07, 121.254, 23.7498,-0.0662897
+   1.508,-14.7935,-11.1648,-19.5951, 145.179, 121.428, 23.6888,-0.0626385
+   1.509,-14.8042, -10.136,-19.5757, 145.279, 121.589, 23.6324,-0.0575922
+    1.51,-14.8137,-8.99745,-19.5742, 145.367, 121.727, 23.5877,-0.0520077
+   1.511,-14.8222,-7.95537,-19.5912, 145.445, 121.847, 23.5509,-0.0468962
+   1.512,-14.8298,-7.21667,-19.6197, 145.516, 121.961, 23.5119,-0.0432729
+   1.513,-14.8369,-6.95075,-19.6483, 145.584, 122.078, 23.4644,-0.0419686
+   1.514, -14.844,-7.24923,-19.6654, 145.655, 122.202, 23.4096,-0.0434326
+   1.515,-14.8517,-8.09374,-19.6642, 145.734, 122.334, 23.3532,-0.0475749
+   1.516,-14.8604,-9.34367,-19.6452, 145.826, 122.472, 23.3003,-0.0537059
+   1.517,-14.8704, -10.753,-19.6161, 145.932, 122.618, 23.2531,-0.0606187
+   1.518,-14.8818, -12.018,-19.5886, 146.049, 122.772, 23.2109,-0.0668233
+   1.519,-14.8942,-12.8469,-19.5739, 146.175, 122.934, 23.1703,-0.0708894
+    1.52,-14.9072,-13.0355,-19.5778, 146.303, 123.106, 23.1257,-0.0718144
+   1.521,  -14.92,-12.5247,-19.5987, 146.426, 123.282, 23.0744,-0.0693091
+   1.522,-14.9319,-11.4234,-19.6281, 146.538, 123.455, 23.0192,-0.0639068
+   1.523,-14.9426,-9.98507,-19.6542, 146.636, 123.613, 22.9663,-0.0568519
+   1.524,-14.9519,-8.54486,-19.6664,  146.72, 123.751, 22.9191,-0.0497877
+   1.525,-14.9599,-7.43192,-19.6599, 146.793, 123.874, 22.8749,-0.0443287
+   1.526,-14.9671,-6.88452,-19.6373, 146.861,  123.99, 22.8292,-0.0416437
+   1.527, -14.974,-6.99181,-19.6078, 146.929, 124.106, 22.7808,-0.04217
+   1.528,-14.9813,-7.67898,-19.5833, 147.004, 124.226, 22.7329,-0.0455406
+   1.529,-14.9895,-8.73849,-19.5736,  147.09, 124.352, 22.6872,-0.0507375
+    1.53,-14.9988, -9.8955,-19.5827, 147.187,  124.49, 22.6407,-0.0564126
+   1.531,-15.0092,-10.8858,-19.6068, 147.294, 124.643, 22.5895,-0.0612699
+   1.532,-15.0204,-11.5221,-19.6362, 147.407, 124.808, 22.5347,-0.0643912
+   1.533,-15.0321,-11.7309, -19.659, 147.522, 124.975, 22.4822,-0.0654151
+   1.534,-15.0437,-11.5516, -19.666, 147.635, 125.134, 22.4367,-0.0645358
+   1.535, -15.055,-11.1053,-19.6544, 147.744, 125.285, 22.3967,-0.0623464
+   1.536,-15.0659,-10.5453, -19.629, 147.848, 125.433, 22.3556,-0.0595998
+   1.537,-15.0761,-10.0101,   -19.6, 147.946, 125.581, 22.3082,-0.0569745
+   1.538,-15.0859,-9.59033,-19.5792,  148.04, 125.731, 22.2545,-0.0549157
+   1.539,-15.0954,-9.31913,-19.5748, 148.132, 125.879, 22.1987,-0.0535855
+    1.54,-15.1046,-9.18167,-19.5888, 148.222, 126.023, 22.1457,-0.0529113
+   1.541,-15.1138,-9.13688,-19.6153, 148.311,  126.16, 22.0981,-0.0526916
+   1.542,-15.1229,-9.14034,-19.6436, 148.401, 126.293, 22.0556,-0.0527086
+   1.543,-15.1321,-9.16038,-19.6624, 148.491, 126.423, 22.0146,-0.0528068
+   1.544,-15.1413,-9.18416, -19.664, 148.581, 126.558, 21.9703,-0.0529235
+   1.545,-15.1505,-9.21549,-19.6478, 148.671, 126.698, 21.9203,-0.0530772
+   1.546,-15.1597,-9.26853,-19.6204, 148.762, 126.842, 21.8664,-0.0533373
+   1.547, -15.169,-9.36146, -19.593, 148.854, 126.987, 21.8135,-0.0537931
+   1.548,-15.1785,-9.51196,-19.5765, 148.947, 127.128, 21.7646,-0.0545313
+   1.549,-15.1881,-9.73334,-19.5776, 149.043, 127.269, 21.7183,-0.0556172
+    1.55, -15.198,-10.0295,-19.5959, 149.141, 127.413, 21.6716,-0.0570696
+   1.551,-15.2082,-10.3872,-19.6238, 149.243,  127.56,  21.624,-0.0588244
+   1.552,-15.2188,-10.7687,-19.6502, 149.349,  127.71, 21.5776,-0.0606957
+   1.553,-15.2297,-11.1076,-19.6642, 149.458, 127.862, 21.5333,-0.062358
+   1.554,-15.2409,-11.3151,-19.6604, 149.569, 128.017, 21.4882,-0.0633757
+   1.555,-15.2522,-11.2985,-19.6403,  149.68, 128.178, 21.4379,-0.0632944
+   1.556,-15.2634,-10.9906, -19.612, 149.787, 128.343, 21.3824,-0.0617843
+   1.557, -15.274,-10.3812, -19.587, 149.889, 128.503, 21.3273,-0.0587948
+   1.558, -15.284,-9.53884,-19.5754, 149.983,  128.65, 21.2784,-0.0546632
+   1.559,-15.2931,-8.61253,-19.5819, 150.067,  128.78, 21.2367,-0.0501196
+    1.56,-15.3013, -7.8053,-19.6038, 150.144, 128.901, 21.1971,-0.0461602
+   1.561,-15.3088,-7.32502,-19.6322, 150.216, 129.019, 21.1533,-0.0438044
+   1.562,-15.3162,-7.32423,-19.6556, 150.288, 129.141, 21.1031,-0.0438005
+   1.563,-15.3238,-7.84833,-19.6645, 150.365, 129.269, 21.0493,-0.0463712
+   1.564,-15.3321,-8.81078,-19.6555, 150.451, 129.404, 20.9961,-0.051092
+   1.565,-15.3415,-10.0065,-19.6321, 150.549, 129.546, 20.9459,-0.0569569
+   1.566,-15.3521,-11.1623,-19.6038, 150.659, 129.698, 20.8984,-0.0626262
+   1.567,-15.3637,-12.0112,-19.5822, 150.777, 129.857, 20.8523,-0.0667902
+   1.568,-15.3759,-12.3667,-19.5759, 150.898, 130.023, 20.8065,-0.0685337
+   1.569,-15.3881,-12.1741,-19.5875, 151.017, 130.189,  20.761,-0.067589
+    1.57,   -15.4,-11.5221,-19.6122,  151.13,  130.35, 20.7154,-0.0643909
+   1.571, -15.411,-10.6105,  -19.64, 151.234, 130.506, 20.6686,-0.0599196
+   1.572,-15.4212,-9.68588,-19.6596, 151.329, 130.655, 20.6193,-0.0553844
+   1.573,-15.4305,-8.96642,-19.6632, 151.417, 130.799,  20.567,-0.0518555
+   1.574,-15.4393,-8.58094,-19.6492, 151.502, 130.938, 20.5132,-0.0499647
+   1.575,-15.4479, -8.5413,-19.6235, 151.585, 131.074, 20.4613,-0.0497703
+   1.576,-15.4565,-8.75502,-19.5964, 151.671, 131.206, 20.4146,-0.0508185
+   1.577,-15.4654,-9.07085,-19.5789,  151.76, 131.335, 20.3731,-0.0523677
+   1.578,-15.4746,-9.33937,-19.5781, 151.852, 131.466, 20.3326,-0.0536848
+   1.579, -15.484,-9.46629,-19.5943, 151.945, 131.603, 20.2877,-0.0543073
+    1.58,-15.4935,-9.44071,-19.6208, 152.037, 131.747, 20.2363,-0.0541818
+   1.581,-15.5029,-9.33019, -19.647, 152.129, 131.894, 20.1815,-0.0536397
+   1.582,-15.5121,-9.24741,-19.6621,  152.22, 132.038, 20.1285,-0.0532337
+   1.583,-15.5214,-9.30227,-19.6602, 152.311, 132.177, 20.0799,-0.0535028
+   1.584,-15.5309,-9.55775, -19.642, 152.405, 132.316, 20.0335,-0.0547559
+   1.585,-15.5406,-10.0045,-19.6149, 152.503, 132.459, 19.9865,-0.0569473
+   1.586,-15.5509,-10.5617,-19.5899, 152.606, 132.608, 19.9389,-0.0596801
+   1.587,-15.5617,-11.1011,-19.5772, 152.715,  132.76, 19.8932,-0.0623262
+   1.588, -15.573,-11.4859,-19.5819, 152.828, 132.914, 19.8501,-0.0642135
+   1.589,-15.5846,-11.6085, -19.602, 152.942, 133.071, 19.8056,-0.0648148
+    1.59,-15.5961,-11.4184,-19.6293, 153.054, 133.234, 19.7555,-0.0638823
+   1.591,-15.6073,-10.9324,-19.6528, 153.161,   133.4, 19.6998,-0.0614983
+   1.592,-15.6179,-10.2276, -19.663, 153.261, 133.559, 19.6441,-0.0580416
+   1.593,-15.6277,-9.42273,-19.6557, 153.354, 133.706, 19.5941,-0.0540937
+   1.594,-15.6367,-8.65332,-19.6339, 153.439, 133.838, 19.5503,-0.0503197
+   1.595,-15.6451, -8.0479,-19.6066, 153.518, 133.962, 19.5086,-0.0473501
+   1.596, -15.653,-7.70771,-19.5847, 153.593, 134.083, 19.4647,-0.0456815
+   1.597,-15.6607,-7.69146,-19.5772, 153.669, 134.205, 19.4176,-0.0456018
+   1.598,-15.6685,-8.00545,-19.5871, 153.747, 134.331, 19.3688,-0.0471419
+   1.599,-15.6768,-8.59997,-19.6103, 153.832, 134.462, 19.3191,-0.050058
+     1.6,-15.6858,-9.37402,-19.6374, 153.924, 134.601, 19.2683,-0.0538547
+   1.601,-15.6956,-10.1903,-19.6573, 154.024, 134.749, 19.2165,-0.0578584
+   1.602,-15.7061,-10.9003,-19.6621,  154.13, 134.904, 19.1651,-0.0613413
+   1.603,-15.7173, -11.377,-19.6498, 154.242, 135.063, 19.1159,-0.0636791
+   1.604,-15.7287,-11.5452,-19.6254, 154.355, 135.221, 19.0696,-0.0645046
+   1.605,-15.7402,-11.4035,-19.5989, 154.467, 135.377,  19.026,-0.0638092
+   1.606,-15.7514,-11.0249, -19.581, 154.575,  135.53, 18.9837,-0.0619521
+   1.607,-15.7622,-10.5368, -19.579, 154.679, 135.679, 18.9398,-0.0595579
+   1.608,-15.7725,-10.0816,-19.5936, 154.778, 135.829, 18.8912,-0.0573253
+   1.609,-15.7824,-9.77104,-19.6189, 154.873,  135.98, 18.8372,-0.0558021
+    1.61,-15.7921, -9.6493,-19.6446, 154.968, 136.131, 18.7817,-0.055205
+   1.611,-15.8018,-9.67887,-19.6603, 155.063, 136.278, 18.7298,-0.05535
+   1.612,-15.8115,-9.75647,-19.6595, 155.159,  136.42, 18.6833,-0.0557307
+   1.613,-15.8213,-9.75465,-19.6427, 155.254,  136.56,  18.639,-0.0557217
+   1.614,-15.8309,-9.57544,-19.6167, 155.348,   136.7, 18.5931,-0.0548427
+   1.615,-15.8403, -9.1963,-19.5921, 155.439,  136.84, 18.5458,-0.052983
+   1.616,-15.8493,-8.69005,-19.5789, 155.524, 136.973, 18.5002,-0.0504998
+   1.617,-15.8577,-8.20923,-19.5824, 155.604,   137.1, 18.4567,-0.0481414
+   1.618,-15.8658,-7.93812,-19.6012, 155.682, 137.225, 18.4107,-0.0468116
+   1.619,-15.8738,-8.02779,-19.6275, 155.761, 137.356,  18.358,-0.0472515
+    1.62,-15.8821,-8.53726,-19.6508, 155.845, 137.494, 18.3008,-0.0497504
+   1.621, -15.891,-9.40244,-19.6615, 155.937, 137.637, 18.2463,-0.0539941
+   1.622,-15.9009,-10.4456,-19.6553,  156.04, 137.781, 18.1992,-0.0591107
+   1.623,-15.9119,-11.4238,-19.6348, 156.152, 137.931, 18.1571,-0.0639091
+   1.624,-15.9236,-12.1013,-19.6083,  156.27, 138.089, 18.1141,-0.0672322
+   1.625,-15.9359,-12.3206,-19.5867, 156.391, 138.255, 18.0678,-0.0683076
+   1.626, -15.948,-12.0491,-19.5786, 156.509, 138.422, 18.0205,-0.066976
+   1.627,-15.9598,-11.3855,-19.5874, 156.621, 138.583,  17.974,-0.063721
+   1.628,-15.9707,-10.5238,-19.6094, 156.724, 138.738, 17.9268,-0.0594945
+   1.629,-15.9808,-9.68917,-19.6357, 156.819, 138.888, 17.8758,-0.0554006
+    1.63,-15.9902,-9.06733,-19.6555, 156.908, 139.034, 17.8215,-0.0523504
+   1.631,-15.9991,-8.75242,-19.6609, 156.994, 139.175, 17.7679,-0.0508058
+   1.632,-16.0078,-8.72899,-19.6496,  157.08, 139.311, 17.7182,-0.0506909
+   1.633,-16.0167,-8.89251,-19.6263, 157.167, 139.443, 17.6728,-0.0514929
+   1.634,-16.0257,-9.09814,-19.6005, 157.256, 139.574, 17.6296,-0.0525015
+   1.635,-16.0348,-9.21888,-19.5827, 157.347, 139.707, 17.5868,-0.0530938
+   1.636, -16.044,-9.19175,-19.5801, 157.437, 139.841, 17.5428,-0.0529607
+   1.637,-16.0531,-9.03675,-19.5937, 157.526, 139.978, 17.4956,-0.0522004
+   1.638,-16.0621,-8.84401, -19.618, 157.612, 140.116, 17.4446,-0.051255
+   1.639,-16.0709,-8.73598,-19.6431, 157.698, 140.256, 17.3916,-0.0507252
+    1.64,-16.0796,-8.82002,-19.6587, 157.785, 140.394, 17.3397,-0.0511374
+   1.641,-16.0886,-9.14832,-19.6585, 157.874, 140.532, 17.2899,-0.0527477
+   1.642, -16.098,-9.69836,-19.6427, 157.969, 140.674, 17.2403,-0.0554456
+   1.643,-16.1081,-10.3787,-19.6176, 158.071, 140.822, 17.1907,-0.0587826
+   1.644,-16.1188,-11.0556,-19.5936,  158.18, 140.974, 17.1436,-0.0621028
+   1.645,-16.1301,-11.5904,-19.5804, 158.293, 141.127, 17.1016,-0.064726
+   1.646,-16.1419,-11.8749,-19.5833,  158.41, 141.282, 17.0618,-0.0661216
+   1.647,-16.1537,-11.8551,-19.6012, 158.526, 141.442, 17.0178,-0.0660247
+   1.648,-16.1654,-11.5388,-19.6266, 158.639, 141.609, 16.9661,-0.0644728
+   1.649,-16.1767,-10.9876,-19.6494, 158.747, 141.775, 16.9107,-0.0617692
+    1.65,-16.1873,-10.2997,-19.6601, 158.848, 141.932,  16.858,-0.0583954
+   1.651,-16.1973,-9.58798,-19.6545, 158.942, 142.078, 16.8095,-0.0549042
+   1.652,-16.2065,-8.95882,-19.6348,  159.03, 142.217, 16.7611,-0.0518182
+   1.653,-16.2153,-8.49561,-19.6092, 159.113, 142.354, 16.7103,-0.0495461
+   1.654,-16.2236,-8.24685, -19.588, 159.194, 142.486, 16.6604,-0.048326
+   1.655,-16.2319, -8.2201,-19.5799, 159.275, 142.611, 16.6161,-0.0481947
+   1.656,-16.2402,-8.38252,-19.5882, 159.357, 142.731, 16.5768,-0.0489914
+   1.657,-16.2487,-8.66892,-19.6094, 159.442, 142.856, 16.5356,-0.0503962
+   1.658,-16.2575,-8.99752,-19.6348, 159.531, 142.991, 16.4873,-0.052008
+   1.659,-16.2667,-9.29138,-19.6542, 159.622, 143.134, 16.4338,-0.0534494
+    1.66,-16.2761,-9.50065,-19.6596, 159.715,  143.28, 16.3804,-0.0544759
+   1.661,-16.2856, -9.6186,-19.6489, 159.809, 143.425, 16.3296,-0.0550544
+   1.662,-16.2953,-9.68469,-19.6264, 159.904, 143.569, 16.2796,-0.0553786
+   1.663, -16.305,-9.77103,-19.6013,     160, 143.715, 16.2288,-0.0558021
+   1.664,-16.3149,-9.95438,-19.5839, 160.098, 143.862, 16.1791,-0.0567014
+   1.665, -16.325,-10.2818,-19.5813, 160.199, 144.007, 16.1331,-0.0583073
+   1.666,-16.3355,-10.7424,-19.5944, 160.304, 144.153, 16.0907,-0.0605667
+   1.667,-16.3465,-11.2574,-19.6179, 160.414, 144.303, 16.0487,-0.0630925
+   1.668, -16.358,-11.6945,-19.6423, 160.529,  144.46, 16.0042,-0.0652367
+   1.669,-16.3698,-11.9064,-19.6575, 160.646, 144.623, 15.9567,-0.066276
+    1.67,-16.3816,-11.7802,-19.6573, 160.762,  144.79, 15.9063,-0.065657
+   1.671,-16.3932,-11.2823, -19.642, 160.872, 144.956, 15.8534,-0.0632147
+   1.672, -16.404,-10.4806,-19.6177, 160.975, 145.116, 15.7994,-0.0592824
+   1.673, -16.414,-9.53412,-19.5944, 161.069, 145.267,  15.747,-0.05464
+   1.674,-16.4231,-8.65039,-19.5816, 161.153, 145.405, 15.6981,-0.0503053
+   1.675,-16.4315,-8.02353,-19.5845, 161.232, 145.533, 15.6518,-0.0472306
+   1.676,-16.4394,-7.77405,-19.6018, 161.308, 145.657, 15.6057,-0.0460069
+   1.677,-16.4472, -7.9115,-19.6265, 161.386, 145.779,   15.56,-0.0466811
+   1.678,-16.4553,-8.33416,-19.6485, 161.468, 145.903, 15.5165,-0.0487542
+   1.679,-16.4639,-8.86692,-19.6589, 161.555, 146.029, 15.4747,-0.0513674
+    1.68, -16.473,-9.32429,-19.6533, 161.646, 146.162, 15.4303,-0.0536108
+   1.681,-16.4825, -9.5764,-19.6342,  161.74, 146.306, 15.3793,-0.0548474
+   1.682,-16.4921,-9.59371,-19.6093, 161.834, 146.456, 15.3235,-0.0549323
+   1.683,-16.5016,-9.45413,-19.5888, 161.927, 146.604, 15.2687,-0.0542477
+   1.684, -16.511,-9.30967,-19.5812, 162.018, 146.746, 15.2188,-0.0535391
+   1.685,-16.5203,-9.32479,-19.5893,  162.11, 146.885, 15.1713,-0.0536133
+   1.686,-16.5298, -9.6093,  -19.61, 162.204, 147.027, 15.1224,-0.0550088
+   1.687,-16.5397,-10.1707,-19.6347, 162.304, 147.173, 15.0728,-0.0577626
+   1.688,-16.5502, -10.904,-19.6534, 162.411, 147.322, 15.0271,-0.0613591
+   1.689,-16.5615,-11.6225,-19.6584, 162.525, 147.473, 14.9868,-0.0648836
+    1.69,-16.5733,-12.1199,-19.6477, 162.644, 147.629,  14.947,-0.0673231
+   1.691,-16.5855,-12.2394,-19.6257, 162.764, 147.795, 14.9013,-0.0679092
+   1.692,-16.5976,-11.9271,-19.6015, 162.881, 147.965, 14.8491,-0.0663777
+   1.693,-16.6092,  -11.25,-19.5848, 162.991, 148.133, 14.7951,-0.0630564
+   1.694,  -16.62,-10.3724,-19.5826, 163.093,  148.29, 14.7437,-0.058752
+   1.695,-16.6299,-9.50212,-19.5956, 163.186, 148.438, 14.6938,-0.0544831
+   1.696,-16.6391,-8.82368,-19.6186, 163.273, 148.579, 14.6424,-0.0511553
+   1.697,-16.6477,-8.44429,-19.6421, 163.356, 148.716,   14.59,-0.0492944
+   1.698,-16.6561,-8.36887,-19.6565, 163.438, 148.848, 14.5405,-0.0489245
+   1.699,-16.6646,-8.51163, -19.656, 163.521, 148.975, 14.4966,-0.0496247
+     1.7,-16.6732,-8.73717,-19.6408, 163.607,   149.1, 14.4559,-0.050731
+   1.701, -16.682,-8.91466,-19.6171, 163.694, 149.229, 14.4141,-0.0516016
+   1.702, -16.691,-8.96504,-19.5947, 163.782, 149.362, 14.3688,-0.0518487
+   1.703,-16.6999,-8.88534,-19.5826, 163.869, 149.497, 14.3207,-0.0514578
+   1.704,-16.7087,-8.74338,-19.5859, 163.955, 149.634, 14.2709,-0.0507615
+   1.705,-16.7174,-8.64747, -19.603,  164.04,  149.77, 14.2199,-0.050291
+   1.706,-16.7261,-8.70354,-19.6271, 164.125, 149.907, 14.1674,-0.0505661
+   1.707,-16.7349, -8.9759,-19.6482, 164.213, 150.047, 14.1143,-0.051902
+   1.708,-16.7441,-9.46428,-19.6578, 164.306,  150.19, 14.0619,-0.0542975
+   1.709,-16.7539,-10.1035,-19.6518, 164.405, 150.336, 14.0116,-0.0574328
+    1.71,-16.7644,-10.7833,-19.6329, 164.511, 150.486, 13.9642,-0.0607674
+   1.711,-16.7754,-11.3802,-19.6088, 164.623, 150.639, 13.9201,-0.0636953
+   1.712, -16.787,-11.7897,-19.5893, 164.739, 150.794, 13.8784,-0.0657038
+   1.713,-16.7989,-11.9499,-19.5823, 164.856, 150.953, 13.8367,-0.0664895
+   1.714,-16.8108,-11.8513,-19.5908, 164.972, 151.114, 13.7919,-0.0660056
+   1.715,-16.8225,-11.5324,-19.6112, 165.085, 151.277, 13.7435,-0.0644414
+   1.716,-16.8338,-11.0654,-19.6352, 165.194, 151.438, 13.6935,-0.062151
+   1.717,-16.8446,-10.5371,-19.6529, 165.297, 151.594, 13.6433,-0.0595597
+   1.718,-16.8549,-10.0295,-19.6571, 165.395, 151.746, 13.5922,-0.05707
+   1.719,-16.8647,-9.60496,-19.6461,  165.49, 151.896, 13.5384,-0.0549875
+    1.72,-16.8741,-9.29608,-19.6245, 165.581, 152.044, 13.4833,-0.0534724
+   1.721,-16.8833,-9.10262,-19.6011,  165.67, 152.186, 13.4314,-0.0525235
+   1.722,-16.8924,-8.99488,-19.5855, 165.758, 152.321, 13.3856,-0.0519951
+   1.723,-16.9013,-8.92405, -19.584, 165.846, 152.451, 13.3438,-0.0516476
+   1.724,-16.9102,-8.83823,-19.5973, 165.933,  152.58, 13.3013,-0.0512267
+   1.725, -16.919,-8.70119,-19.6198, 166.018, 152.711,  13.256,-0.0505545
+   1.726,-16.9276,-8.50882,-19.6424, 166.101, 152.842, 13.2102,-0.0496109
+   1.727, -16.936,-8.29737,-19.6558, 166.183, 152.969, 13.1657,-0.0485738
+   1.728,-16.9442,-8.13871,-19.6545, 166.263, 153.094, 13.1208,-0.0477955
+   1.729,-16.9523,-8.12132,-19.6391, 166.342, 153.223, 13.0713,-0.0477102
+    1.73,-16.9606,-8.32101,-19.6159, 166.424, 153.359, 13.0161,-0.0486897
+   1.731,-16.9691,-8.77012,-19.5945,  166.51,   153.5, 12.9594,-0.0508926
+   1.732,-16.9782,-9.43638,-19.5835, 166.603, 153.642, 12.9063,-0.0541606
+   1.733, -16.988, -10.221,-19.5875, 166.703, 153.787, 12.8576,-0.0580094
+   1.734,-16.9986,-10.9799,-19.6048, 166.811, 153.938, 12.8104,-0.0617318
+   1.735,-17.0099,-11.5631,-19.6283, 166.924, 154.097, 12.7626,-0.0645921
+   1.736,-17.0216,-11.8605,-19.6483,  167.04, 154.259, 12.7158,-0.0660509
+   1.737,-17.0335,-11.8386,-19.6567, 167.157, 154.418, 12.6726,-0.0659433
+   1.738,-17.0452,-11.5525,-19.6501,  167.27, 154.573, 12.6324,-0.06454
+   1.739,-17.0565,-11.1284,-19.6312, 167.379, 154.726, 12.5908,-0.0624602
+    1.74,-17.0674,-10.7203,-19.6077, 167.484, 154.879, 12.5444,-0.0604583
+   1.741, -17.078,-10.4545,-19.5893, 167.587, 155.034, 12.4934,-0.0591544
+   1.742,-17.0884,-10.3836,-19.5835, 167.689, 155.189, 12.4408,-0.0588068
+   1.743,-17.0989,-10.4664,-19.5927, 167.791, 155.343, 12.3888,-0.0592131
+   1.744,-17.1094,-10.5828, -19.613, 167.895, 155.498, 12.3369,-0.059784
+   1.745,  -17.12,  -10.58,-19.6362, 167.999, 155.655, 12.2839,-0.0597701
+   1.746,-17.1304,-10.3336,-19.6526,   168.1, 155.811, 12.2307,-0.0585616
+   1.747,-17.1405,-9.80136,-19.6557, 168.196,  155.96, 12.1801,-0.0559509
+   1.748,-17.1499,-9.04816,-19.6441, 168.285, 156.099, 12.1339,-0.0522564
+   1.749,-17.1586,-8.23227,-19.6227, 168.366, 156.226, 12.0915,-0.0482545
+    1.75,-17.1665,-7.55585,-19.6002,  168.44, 156.345, 12.0501,-0.0449366
+   1.751,-17.1738,-7.19701,-19.5859, 168.511,  156.46, 12.0073,-0.0431765
+   1.752,-17.1811,-7.24817,-19.5855, 168.582, 156.576, 11.9626,-0.0434274
+   1.753,-17.1885, -7.6833,-19.5993, 168.657, 156.695, 11.9166,-0.0455618
+   1.754,-17.1966,-8.36676,-19.6216, 168.739, 156.821, 11.8693,-0.0489141
+   1.755,-17.2053,-9.10082,-19.6431, 168.829, 156.956, 11.8198,-0.0525147
+   1.756,-17.2147,-9.69476,-19.6551, 168.924, 157.101, 11.7674,-0.055428
+   1.757,-17.2245,-10.0303,-19.6528, 169.022, 157.253, 11.7124,-0.0570738
+   1.758,-17.2346,-10.0992, -19.637, 169.121, 157.406, 11.6572,-0.0574119
+   1.759,-17.2447,-9.99993,-19.6142, 169.219, 157.558, 11.6043,-0.0569248
+    1.76,-17.2546,-9.89435,-19.5939, 169.316, 157.705, 11.5552,-0.0564069
+   1.761,-17.2645,-9.94205,-19.5843, 169.414, 157.848, 11.5088,-0.0566409
+   1.762,-17.2746,-10.2361,-19.5894, 169.514, 157.992, 11.4637,-0.0580832
+   1.763,-17.2851,-10.7646, -19.607,  169.62,  158.14, 11.4193,-0.0606756
+   1.764,-17.2962,-11.4121,-19.6299, 169.732, 158.292, 11.3761,-0.0638516
+   1.765,-17.3079,-11.9991,-19.6487, 169.849, 158.448, 11.3344,-0.066731
+   1.766,-17.3201,-12.3457,-19.6557, 169.971,  158.61, 11.2925,-0.0684308
+   1.767,-17.3324,-12.3342, -19.648, 170.092, 158.776, 11.2472,-0.0683745
+   1.768,-17.3446,-11.9497,-19.6289, 170.209, 158.945,  11.197,-0.0664886
+   1.769,-17.3562,-11.2833,-19.6062, 170.319, 159.113, 11.1435,-0.0632197
+    1.77,-17.3671,-10.4984,-19.5891, 170.422, 159.273,   11.09,-0.0593699
+   1.771,-17.3772,-9.77456,-19.5848, 170.518, 159.425, 11.0377,-0.0558194
+   1.772,-17.3867,-9.24805,-19.5949, 170.609,  159.57, 10.9854,-0.0532368
+   1.773,-17.3958,-8.97207,-19.6153, 170.697, 159.713, 10.9319,-0.0518832
+   1.774,-17.4048,-8.90833,-19.6376, 170.784, 159.854, 10.8791,-0.0515705
+   1.775,-17.4137,-8.95141,-19.6526, 170.872,  159.99, 10.8307,-0.0517818
+   1.776,-17.4227,-8.97492,-19.6542,  170.96, 160.121, 10.7879,-0.0518971
+   1.777,-17.4316,-8.88145,-19.6418, 171.047, 160.249, 10.7475,-0.0514387
+   1.778,-17.4404,-8.63834,-19.6205, 171.132, 160.377, 10.7053,-0.0502462
+   1.779,-17.4488,-8.28755, -19.599, 171.214, 160.504, 10.6605,-0.0485256
+    1.78,-17.4569,-7.92829,-19.5862, 171.291, 160.629, 10.6156,-0.0467634
+   1.781,-17.4647,-7.68044,-19.5873, 171.367, 160.749, 10.5718,-0.0455477
+   1.782,-17.4724,-7.64309,-19.6018, 171.442,  160.87, 10.5265,-0.0453645
+   1.783,-17.4801,-7.86257,-19.6237, 171.519, 160.996, 10.4759,-0.0464411
+   1.784,-17.4882,-8.31987,-19.6441,   171.6, 161.132,   10.42,-0.0486841
+   1.785,-17.4969,-8.93955,-19.6546, 171.688, 161.273, 10.3634,-0.0517237
+   1.786,-17.5061,-9.61484,-19.6508, 171.782, 161.417, 10.3101,-0.0550359
+   1.787,-17.5161,-10.2391,-19.6344, 171.883, 161.565, 10.2596,-0.0580982
+   1.788,-17.5266,-10.7335,-19.6121, 171.988, 161.719, 10.2088,-0.0605231
+   1.789,-17.5375,-11.0623,-19.5931, 172.097, 161.877, 10.1574,-0.0621359
+    1.79,-17.5486,-11.2347,-19.5852, 172.207, 162.035, 10.1089,-0.0629814
+   1.791,-17.5599,-11.2935,-19.5916, 172.318, 162.188, 10.0659,-0.0632699
+   1.792,-17.5712,-11.2971,-19.6096, 172.428, 162.339, 10.0266,-0.0632876
+   1.793,-17.5825,   -11.3,-19.6319, 172.539,  162.49,  9.9862,-0.0633016
+   1.794,-17.5938,-11.3368,-19.6492, 172.651, 162.645, 9.94233,-0.0634823
+   1.795,-17.6052,-11.4136,-19.6546, 172.763, 162.802, 9.89656,-0.0638589
+   1.796,-17.6166,-11.5064,-19.6457, 172.875,  162.96, 9.85093,-0.0643142
+   1.797,-17.6281,-11.5678,-19.6263, 172.989,  163.12,  9.8044,-0.0646154
+   1.798,-17.6397,-11.5393,-19.6043, 173.102, 163.283, 9.75415,-0.0644754
+   1.799,-17.6512,-11.3678,-19.5889, 173.214,  163.45, 9.69951,-0.0636341
+     1.8,-17.6623,-11.0227,-19.5862, 173.322, 163.617, 9.64312,-0.0619414
+   1.801,-17.6731,-10.5093,-19.5975, 173.425, 163.777, 9.58817,-0.0594234
+   1.802,-17.6833,-9.87445,-19.6179, 173.522,  163.93, 9.53557,-0.0563093
+   1.803,-17.6928,-9.20027,-19.6392, 173.612, 164.074, 9.48448,-0.0530025
+   1.804,-17.7017,-8.58689,-19.6526, 173.696, 164.211,  9.4347,-0.0499938
+   1.805,-17.7101,-8.12647,-19.6525, 173.776, 164.341, 9.38721,-0.0477355
+   1.806,-17.7181,-7.87637,-19.6391, 173.853, 164.464, 9.34278,-0.0465088
+   1.807, -17.726,-7.84038,-19.6179,  173.93, 164.583, 9.30084,-0.0463323
+   1.808,-17.7339,-7.96582,-19.5975, 174.008, 164.701, 9.26007,-0.0469475
+   1.809,-17.7419,-8.15966,-19.5865, 174.088, 164.821, 9.21914,-0.0478983
+    1.81,-17.7502,-8.32024,-19.5892,  174.17, 164.944, 9.17674,-0.0486859
+   1.811,-17.7585,-8.37445,-19.6046, 174.252, 165.071, 9.13166,-0.0489518
+   1.812,-17.7668,-8.30728,-19.6263, 174.334, 165.201, 9.08357,-0.0486224
+   1.813,-17.7751, -8.1717,-19.6453, 174.414, 165.332, 9.03339,-0.0479574
+   1.814,-17.7832, -8.0732,-19.6539, 174.493, 165.463, 8.98198,-0.0474742
+   1.815,-17.7913,-8.13253,-19.6486, 174.573, 165.596, 8.92881,-0.0477652
+   1.816,-17.7996,-8.43906,-19.6315, 174.655, 165.733, 8.87307,-0.0492687
+   1.817,-17.8083,-9.01161,-19.6097, 174.744, 165.876, 8.81612,-0.0520771
+   1.818,-17.8177,-9.78261,-19.5922,  174.84, 166.023, 8.76146,-0.0558588
+   1.819,-17.8279,-10.6132,-19.5862, 174.944, 166.173, 8.71135,-0.0599328
+    1.82,-17.8389,-11.3358, -19.594, 175.055, 166.327, 8.66434,-0.0634774
+   1.821,-17.8505,-11.8103,-19.6126, 175.171, 166.488, 8.61756,-0.0658049
+   1.822,-17.8624,-11.9724,-19.6342, 175.288, 166.651, 8.57102,-0.0665999
+   1.823,-17.8743,-11.8566,-19.6498, 175.405, 166.811, 8.52773,-0.0660317
+   1.824, -17.886,-11.5834,-19.6532, 175.518, 166.965, 8.48895,-0.0646918
+   1.825,-17.8974,-11.3144, -19.643, 175.629, 167.115, 8.45101,-0.0633723
+   1.826,-17.9087,-11.1907,-19.6233, 175.739, 167.268, 8.40884,-0.0627658
+   1.827,-17.9199,-11.2783,-19.6022,  175.85, 167.425, 8.36175,-0.0631952
+   1.828,-17.9313,-11.5403,-19.5886, 175.963, 167.585, 8.31357,-0.0644802
+   1.829, -17.943,-11.8486,-19.5879, 176.079, 167.747, 8.26672,-0.0659926
+    1.83, -17.955,-12.0312,-19.6004, 176.197, 167.912, 8.21832,-0.066888
+   1.831, -17.967,-11.9371,-19.6209, 176.314, 168.084, 8.16418,-0.0664266
+   1.832,-17.9787,-11.4966,-19.6411, 176.427, 168.258, 8.10525,-0.0642662
+   1.833,-17.9898,-10.7519,-19.6525, 176.533, 168.425,  8.0474,-0.0606135
+   1.834,-18.0001,-9.84673,-19.6505, 176.629, 168.579, 7.99454,-0.0561734
+   1.835,-18.0095,-8.97824, -19.636, 176.717, 168.721, 7.94448,-0.0519134
+   1.836,-18.0182,-8.32869,-19.6149, 176.799, 168.857, 7.89312,-0.0487274
+   1.837,-18.0263,-8.00194, -19.596, 176.878, 168.989, 7.84105,-0.0471247
+   1.838,-18.0343,-7.98909,-19.5869, 176.956, 169.116, 7.79321,-0.0470617
+   1.839,-18.0424,-8.17599,-19.5915, 177.036, 169.236, 7.75206,-0.0479784
+    1.84,-18.0507,-8.38969,-19.6078, 177.118, 169.355, 7.71398,-0.0490266
+   1.841,-18.0591,-8.46626,-19.6291, 177.201, 169.478, 7.67362,-0.0494022
+   1.842,-18.0675,-8.31437,-19.6466, 177.283, 169.604, 7.63021,-0.0486571
+   1.843,-18.0756, -7.9506,-19.6531, 177.361, 169.727, 7.58713,-0.0468729
+   1.844,-18.0834,-7.49355, -19.646, 177.435, 169.844, 7.54585,-0.044631
+   1.845,-18.0907,-7.11918,-19.6282, 177.504, 169.959, 7.50306,-0.0427947
+   1.846,-18.0977,-6.99475, -19.607, 177.573, 170.076, 7.45473,-0.0421844
+   1.847,-18.1048,-7.21623,-19.5913, 177.644, 170.199, 7.40121,-0.0432708
+   1.848,-18.1123, -7.7726,-19.5874,  177.72, 170.328, 7.34632,-0.0459998
+   1.849,-18.1205,-8.54977,-19.5969, 177.804, 170.462, 7.29232,-0.0498118
+    1.85,-18.1294,-9.37195,-19.6159, 177.896, 170.604, 7.23796,-0.0538446
+   1.851,-18.1392,-10.0642,-19.6366, 177.995, 170.756, 7.18169,-0.0572403
+   1.852,-18.1495,-10.5128,-19.6504, 178.098, 170.913, 7.12492,-0.0594403
+   1.853,-18.1601,-10.7004,-19.6517, 178.203, 171.072, 7.07077,-0.0603606
+   1.854,-18.1708,-10.7056,-19.6399, 178.308, 171.227, 7.02058,-0.060386
+   1.855,-18.1815,-10.6665,-19.6199, 178.412, 171.379, 6.97331,-0.0601942
+   1.856,-18.1921,-10.7247,-19.6001, 178.518, 171.529, 6.92788,-0.0604798
+   1.857, -18.203,-10.9703,-19.5884, 178.625, 171.679, 6.88457,-0.0616847
+   1.858,-18.2142,-11.4086,-19.5898, 178.737,  171.83, 6.84364,-0.0638342
+   1.859,-18.2259,-11.9587,-19.6037, 178.854, 171.984, 6.80401,-0.0665327
+    1.86,-18.2381,-12.4851,-19.6242, 178.977, 172.144, 6.76422,-0.0691147
+   1.861,-18.2508,-12.8464, -19.643, 179.103, 172.308, 6.72376,-0.0708867
+   1.862,-18.2636,-12.9447,-19.6522,  179.23, 172.476, 6.68243,-0.0713691
+   1.863,-18.2765,-12.7575,-19.6482, 179.355, 172.646, 6.63889,-0.0704506
+   1.864, -18.289,-12.3406,-19.6326, 179.476, 172.816, 6.59147,-0.0684058
+   1.865,-18.3011,-11.8049,-19.6118, 179.592, 172.986, 6.54037,-0.0657782
+   1.866,-18.3127,-11.2752,-19.5944, 179.703, 173.152, 6.48767,-0.0631798
+   1.867,-18.3237,-10.8481,-19.5876, 179.809, 173.313, 6.43447,-0.0610849
+   1.868,-18.3344,-10.5633,-19.5942, 179.913, 173.473,  6.3794,-0.059688
+   1.869,-18.3449, -10.397,-19.6114, 180.015, 173.634, 6.32122,-0.0588724
+    1.87,-18.3552,-10.2777,-19.6321, 180.115, 173.795, 6.26205,-0.0582874
+   1.871,-18.3654,-10.1172,-19.6478, 180.215, 173.951,   6.206,-0.0574999
+   1.872,-18.3754,-9.84369, -19.652, 180.311, 174.101, 6.15445,-0.0561584
+   1.873,-18.3851,-9.42746, -19.643, 180.404, 174.245, 6.10472,-0.0541168
+   1.874,-18.3942,-8.88939,-19.6246, 180.491, 174.385, 6.05443,-0.0514776
+   1.875,-18.4028,-8.29292,-19.6043, 180.572, 174.518, 6.00564,-0.0485519
+   1.876,-18.4108,-7.72327,-19.5905, 180.648,  174.64, 5.96234,-0.0457578
+   1.877,-18.4183,-7.26197,-19.5889, 180.719, 174.751, 5.92452,-0.0434951
+   1.878,-18.4254,-6.96495,-19.6001, 180.788, 174.858, 5.88728,-0.0420383
+   1.879,-18.4323,-6.85011,-19.6195, 180.855, 174.967, 5.84671,-0.0414749
+    1.88,-18.4392,-6.89648,-19.6391, 180.922, 175.076,  5.8045,-0.0417024
+   1.881,-18.4462,-7.05385,-19.6507, 180.992, 175.185, 5.76458,-0.0424743
+   1.882,-18.4533,-7.25901,-19.6497, 181.063, 175.293, 5.72641,-0.0434806
+   1.883,-18.4607,-7.45383,-19.6364, 181.136, 175.407, 5.68461,-0.0444362
+   1.884,-18.4682,-7.60091,-19.6164, 181.211,  175.53, 5.63562,-0.0451576
+   1.885,-18.4759,-7.69317,-19.5979, 181.286, 175.658, 5.58228,-0.0456102
+   1.886,-18.4836, -7.7553,-19.5885, 181.362, 175.787, 5.52966,-0.0459149
+   1.887,-18.4914,-7.83667,-19.5922, 181.439, 175.914, 5.47817,-0.046314
+   1.888,-18.4993,-7.99681,-19.6073, 181.517, 176.047, 5.42346,-0.0470995
+   1.889,-18.5074,-8.28669,-19.6276, 181.599, 176.187, 5.36331,-0.0485214
+    1.89, -18.516,-8.73054,-19.6448, 181.684, 176.332, 5.30163,-0.0506985
+   1.891, -18.525,-9.31376,-19.6517, 181.776, 176.478, 5.24401,-0.0535592
+   1.892,-18.5346,-9.98163,-19.6455, 181.874, 176.626, 5.19106,-0.0568351
+   1.893,-18.5449,-10.6509,-19.6288, 181.978, 176.779, 5.13881,-0.0601178
+   1.894,-18.5559,-11.2322,-19.6085, 182.088,  176.94, 5.08522,-0.0629692
+   1.895,-18.5673,-11.6574, -19.593, 182.203, 177.104, 5.03354,-0.0650547
+   1.896,-18.5791,-11.9022,-19.5887, 182.319, 177.265, 4.98794,-0.0662556
+   1.897,-18.5911,-11.9964,-19.5973, 182.437, 177.423, 4.94789,-0.0667173
+   1.898,-18.6031, -12.015,-19.6152, 182.555, 177.579, 4.90898,-0.0668086
+   1.899,-18.6151,-12.0532,-19.6351, 182.673, 177.738, 4.86868,-0.0669962
+     1.9,-18.6272,-12.1911,-19.6487, 182.793, 177.896, 4.82879,-0.0676724
+   1.901,-18.6395,-12.4611,-19.6505, 182.915, 178.054, 4.79171,-0.0689967
+   1.902,-18.6522, -12.831,-19.6396, 183.041, 178.214, 4.75615,-0.0708114
+   1.903,-18.6652,-13.2101,-19.6207, 183.171,  178.38, 4.71827,-0.0726709
+   1.904,-18.6786,-13.4779,-19.6015, 183.303, 178.553,  4.6761,-0.0739843
+   1.905,-18.6921,-13.5269,  -19.59, 183.435,  178.73,   4.631,-0.0742245
+   1.906,-18.7055,-13.3039,-19.5909, 183.566, 178.908, 4.58469,-0.0731308
+   1.907,-18.7185,-12.8338,-19.6038, 183.692, 179.084, 4.53656,-0.070825
+   1.908,-18.7311,-12.2154,-19.6233, 183.812, 179.259, 4.48481,-0.0677918
+   1.909, -18.743,-11.5894,-19.6415, 183.925, 179.432, 4.42912,-0.0647213
+    1.91,-18.7543,-11.0887,-19.6508, 184.034, 179.601, 4.37104,-0.0622653
+   1.911,-18.7652,-10.7894,-19.6473,  184.14, 179.767, 4.31206,-0.0607974
+   1.912, -18.776,-10.6816,-19.6326, 184.245, 179.932, 4.25257,-0.0602683
+   1.913,-18.7867,-10.6711,-19.6127, 184.349, 180.097, 4.19275,-0.0602171
+   1.914,-18.7973, -10.615,-19.5959, 184.454,  180.26, 4.13344,-0.0599417
+   1.915,-18.8078,-10.3759, -19.589, 184.555, 180.421, 4.07557,-0.0587689
+   1.916,-18.8179,-9.87759, -19.595, 184.652, 180.576, 4.01952,-0.0563247
+   1.917,-18.8274,-9.13853,-19.6113, 184.742, 180.724, 3.96565,-0.0526997
+   1.918,-18.8361, -8.2704,-19.6311, 184.823,  180.86,   3.915,-0.0484415
+   1.919, -18.844,-7.44078,-19.6464, 184.896, 180.983, 3.86835,-0.0443722
+    1.92,-18.8511,-6.81322,-19.6507, 184.963, 181.097, 3.82497,-0.041294
+   1.921,-18.8578,-6.48711,-19.6423, 185.027, 181.204,  3.7833,-0.0396944
+   1.922,-18.8642,-6.46048,-19.6247,  185.09, 181.307,  3.7431,-0.0395638
+   1.923,-18.8708,-6.63061,-19.6053, 185.155, 181.409, 3.70568,-0.0403983
+   1.924,-18.8775,-6.83303,-19.5919, 185.222, 181.509, 3.67145,-0.0413912
+   1.925,-18.8844,-6.90468,-19.5902,  185.29,  181.61, 3.63811,-0.0417426
+   1.926,-18.8912,-6.74729,-19.6008, 185.356, 181.712, 3.60268,-0.0409706
+   1.927,-18.8978,-6.36662,-19.6193, 185.418, 181.814, 3.56485,-0.0391034
+   1.928,-18.9039,-5.87209,-19.6381, 185.476, 181.913, 3.52673,-0.0366778
+   1.929,-18.9095,-5.43659,-19.6494, 185.529, 182.006, 3.48903,-0.0345417
+    1.93,-18.9149,-5.23127,-19.6485, 185.581, 182.098, 3.44896,-0.0335346
+   1.931,-18.9202,-5.36038,-19.6359, 185.633, 182.196, 3.40328,-0.0341678
+   1.932,-18.9258,-5.82098,-19.6167,  185.69, 182.301, 3.35249,-0.0364271
+   1.933,-18.9319,-6.50325,-19.5989, 185.754, 182.414, 3.30008,-0.0397736
+   1.934,-18.9388,-7.23126,-19.5899, 185.825, 182.534, 3.24763,-0.0433445
+   1.935,-18.9463,-7.82873,-19.5933, 185.902, 182.663, 3.19261,-0.0462751
+   1.936,-18.9543,-8.18465,-19.6078, 185.982, 182.802, 3.13214,-0.0480209
+   1.937,-18.9626,-8.29364,-19.6272, 186.064, 182.947, 3.06766,-0.0485555
+   1.938,-18.9708,-8.25577,-19.6437, 186.144, 183.092, 3.00375,-0.0483697
+   1.939,-18.9791,-8.23625,-19.6503, 186.225, 183.234, 2.94258,-0.048274
+    1.94,-18.9874,-8.40062,-19.6444, 186.308, 183.377, 2.88174,-0.0490802
+   1.941, -18.996,-8.85045,-19.6284, 186.395, 183.525, 2.81846,-0.0512866
+   1.942,-19.0053,-9.58397, -19.609, 186.489, 183.679, 2.75444,-0.0548845
+   1.943,-19.0153,-10.4964,-19.5941, 186.592, 183.838, 2.69435,-0.05936
+   1.944,-19.0263,-11.4192,  -19.59, 186.704, 183.999,  2.6402,-0.0638861
+   1.945,-19.0381,-12.1825,-19.5983, 186.823, 184.166, 2.58919,-0.0676302
+   1.946,-19.0505,-12.6774,-19.6155, 186.947, 184.339, 2.53819,-0.0700576
+   1.947,-19.0633,-12.8934,-19.6346, 187.074, 184.514, 2.48838,-0.0711172
+   1.948,-19.0762,-12.9185,-19.6476, 187.201, 184.686, 2.44374,-0.0712407
+   1.949,-19.0891,-12.9025,-19.6492, 187.327,  184.85, 2.40558,-0.0711618
+    1.95, -19.102,-12.9973,-19.6387, 187.455, 185.012, 2.37066,-0.071627
+   1.951,-19.1152,-13.2997,-19.6205, 187.585, 185.177,  2.3354,-0.0731102
+   1.952,-19.1287,-13.8152,-19.6021, 187.721, 185.345, 2.30029,-0.0756389
+   1.953,-19.1429,-14.4582,-19.5912, 187.863, 185.515, 2.26843,-0.0787929
+   1.954,-19.1576,-15.0857,-19.5922, 188.011, 185.688, 2.24056,-0.0818705
+   1.955, -19.173,-15.5512,-19.6047, 188.163, 185.865, 2.21345,-0.0841538
+   1.956,-19.1886,-15.7586,-19.6235, 188.318, 186.049, 2.18359,-0.0851709
+   1.957,-19.2043,-15.6944,-19.6408, 188.472, 186.236, 2.15104,-0.0848564
+   1.958,-19.2199,-15.4295,-19.6495, 188.623, 186.421,  2.1183,-0.0835569
+   1.959,-19.2352,-15.0885, -19.646, 188.771, 186.603, 2.08611,-0.0818841
+    1.96,-19.2501,-14.8021,-19.6317, 188.916, 186.784, 2.05186,-0.0804792
+   1.961,-19.2648,-14.6592,-19.6126,  189.06, 186.968, 2.01268,-0.0797784
+   1.962,-19.2795, -14.677,-19.5966, 189.204, 187.156,  1.9686,-0.0798656
+   1.963,-19.2943,-14.7986,-19.5903, 189.349, 187.347, 1.92185,-0.0804621
+   1.964,-19.3091, -14.918,-19.5963, 189.496, 187.541, 1.87351,-0.0810479
+   1.965, -19.324,-14.9213,-19.6121, 189.642, 187.739, 1.82206,-0.0810639
+   1.966,-19.3389,-14.7278,-19.6311, 189.786, 187.941, 1.76553,-0.0801151
+   1.967,-19.3534,-14.3177,-19.6455, 189.927, 188.145, 1.70405,-0.0781032
+   1.968,-19.3674, -13.735,-19.6493, 190.062, 188.347, 1.63964,-0.0752451
+   1.969,-19.3808,-13.0692, -19.641,  190.19, 188.544, 1.57377,-0.0719795
+    1.97,-19.3936,-12.4216, -19.624, 190.312, 188.737, 1.50604,-0.0688031
+   1.971,-19.4057,-11.8703,-19.6053, 190.428, 188.927, 1.43528,-0.0660991
+   1.972,-19.4174,-11.4462,-19.5928,  190.54, 189.115, 1.36158,-0.0640187
+   1.973,-19.4286,-11.1266,-19.5915,  190.65, 189.301, 1.28656,-0.062451
+   1.974,-19.4396, -10.848,-19.6021, 190.756, 189.483, 1.21187,-0.0610845
+   1.975,-19.4503, -10.531,  -19.62, 190.859, 189.662, 1.13794,-0.0595295
+   1.976,-19.4606,-10.1082,-19.6379, 190.958, 189.837, 1.06418,-0.0574558
+   1.977,-19.4705,-9.54609,-19.6483, 191.052, 190.007, 0.99037,-0.0546987
+   1.978,-19.4797,-8.85368,-19.6471, 191.139,  190.17,0.917461,-0.0513024
+   1.979,-19.4881,-8.07724,-19.6346, 191.218, 190.324,0.847025,-0.047494
+    1.98,-19.4958,-7.28395,-19.6161,  191.29, 190.466,0.780005,-0.043603
+   1.981,-19.5027,-6.54063,-19.5992, 191.354, 190.598,0.716147,-0.039957
+   1.982,-19.5089,-5.89421, -19.591, 191.412,  190.72,0.654755,-0.0367863
+   1.983,-19.5146,-5.35954,-19.5948, 191.464, 190.834,0.595971,-0.0341637
+   1.984,-19.5197,-4.91703, -19.609, 191.512, 190.939, 0.54107,-0.0319932
+   1.985,-19.5244,-4.52016,-19.6278, 191.557, 191.035,0.491317,-0.0300465
+   1.986,-19.5287,-4.11017,-19.6433, 191.597, 191.122,0.446663,-0.0280355
+   1.987,-19.5326, -3.6339,-19.6491, 191.633, 191.201, 0.40594,-0.0256994
+   1.988, -19.536,-3.05991,-19.6429, 191.663, 191.271,0.368479,-0.022884
+   1.989,-19.5387,-2.38873,-19.6272, 191.686, 191.331,0.335183,-0.0195919
+    1.99,-19.5407,-1.65413,-19.6086, 191.702, 191.379,0.307551,-0.0159887
+   1.991, -19.542,-0.914541,-19.5947, 191.711, 191.413,0.285756,-0.012361
+   1.992,-19.5426,-0.236329,-19.5913, 191.714, 191.436,0.268274,-0.00903436
+   1.993,-19.5425,0.326715,-19.5999, 191.711,  191.45,0.253729,-0.00627263
+   1.994, -19.542,0.751643,-19.6167, 191.703, 191.456,0.242665,-0.00418836
+   1.995,-19.5411,  1.0561,-19.6349, 191.693, 191.453,0.236809,-0.00269499
+   1.996,-19.5399, 1.29529,-19.6469,  191.68, 191.442,0.236639,-0.00152176
+   1.997,-19.5385, 1.54572,-19.6477, 191.665, 191.424,0.240436,-0.000293403
+   1.998,-19.5368, 1.87993,-19.6371, 191.646, 191.402,0.246255,0.0013459
+   1.999,-19.5347, 2.34027,-19.6194, 191.623, 191.373,0.254326,0.00360385
+       2, -19.532, 2.92114, -19.602, 191.595, 191.335,0.266626,0.00645304
diff --git a/test/test_model/test_solid_mechanics_model/test_solid_mechanics_model_material_eigenstrain.cc b/test/test_model/test_solid_mechanics_model/test_solid_mechanics_model_material_eigenstrain.cc
index 350c03e7f..f08d6222b 100644
--- a/test/test_model/test_solid_mechanics_model/test_solid_mechanics_model_material_eigenstrain.cc
+++ b/test/test_model/test_solid_mechanics_model/test_solid_mechanics_model_material_eigenstrain.cc
@@ -1,217 +1,219 @@
 /**
  * @file   test_solid_mechanics_model_material_eigenstrain.cc
  *
  * @author Aurelia Isabel Cuba Ramos <aurelia.cubaramos@epfl.ch>
  * @author Nicolas Richart <nicolas.richart@epfl.ch>
  *
  * @date creation: Sat Apr 16 2011
  * @date last modification: Wed Aug 12 2015
  *
  * @brief  test the internal field prestrain
  *
  * @section LICENSE
  *
  * Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
  * Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
  * Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 
 #include "solid_mechanics_model.hh"
+#include "non_linear_solver.hh"
+
 
 using namespace akantu;
 
 Real alpha [3][4] = { { 0.01, 0.02, 0.03, 0.04 },
 		      { 0.05, 0.06, 0.07, 0.08 },
 		      { 0.09, 0.10, 0.11, 0.12 } };
 
 /* -------------------------------------------------------------------------- */
 template<ElementType type, bool is_plane_strain>
 static Matrix<Real> prescribed_strain() {
   UInt spatial_dimension = ElementClass<type>::getSpatialDimension();
   Matrix<Real> strain(spatial_dimension, spatial_dimension);
 
   for (UInt i = 0; i < spatial_dimension; ++i) {
     for (UInt j = 0; j < spatial_dimension; ++j) {
       strain(i, j) = alpha[i][j + 1];
     }
   }
   return strain;
 }
 
 template<ElementType type, bool is_plane_strain>
 static Matrix<Real> prescribed_stress(Matrix<Real> prescribed_eigengradu) {
   UInt spatial_dimension = ElementClass<type>::getSpatialDimension();
   Matrix<Real> stress(spatial_dimension, spatial_dimension);
 
   //plane strain in 2d
   Matrix<Real> strain(spatial_dimension, spatial_dimension);
   Matrix<Real> pstrain;
   pstrain = prescribed_strain<type, is_plane_strain>();
   Real nu = 0.3;
   Real E  = 2.1e11;
   Real trace = 0;
 
   /// symetric part of the strain tensor
   for (UInt i = 0; i < spatial_dimension; ++i)
     for (UInt j = 0; j < spatial_dimension; ++j)
       strain(i,j) = 0.5 * (pstrain(i, j) + pstrain(j, i));
 
   // elastic strain is equal to elastic strain minus the eigenstrain
   strain -= prescribed_eigengradu;
   for (UInt i = 0; i < spatial_dimension; ++i) trace += strain(i,i);
 
   Real lambda   = nu * E / ((1 + nu) * (1 - 2*nu));
   Real mu       = E / (2 * (1 + nu));
 
   if(!is_plane_strain) {
     std::cout << "toto" << std::endl;
     lambda = nu * E / (1 - nu*nu);
   }
 
   if(spatial_dimension == 1) {
     stress(0, 0) =  E * strain(0, 0);
   } else {
     for (UInt i = 0; i < spatial_dimension; ++i)
       for (UInt j = 0; j < spatial_dimension; ++j) {
 	stress(i, j) =  (i == j)*lambda*trace + 2*mu*strain(i, j);
       }
   }
 
   return stress;
 }
 
 /* -------------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------------- */
 int main(int argc, char *argv[])
 {
   initialize("material_elastic_plane_strain.dat", argc, argv);
 
   UInt dim = 3;
   const ElementType element_type = _tetrahedron_4;
   const bool plane_strain = true;
   Matrix<Real> prescribed_eigengradu(dim, dim);
   prescribed_eigengradu.clear();
   for (UInt i = 0; i < dim; ++i) {
     for (UInt j = 0; j < dim; ++j)
       prescribed_eigengradu(i,j) += 0.1;
   }
 
 
   /// load mesh
   Mesh my_mesh(dim);
 
   std::stringstream filename; filename << "cube_3d_tet_4.msh";
   my_mesh.read(filename.str());
 
   /// declaration of model
   SolidMechanicsModel  my_model(my_mesh);
   /// model initialization
 
   my_model.getNewSolver("static", _tsst_static, _nls_newton_raphson_modified);
   my_model.getNonLinearSolver("static").set("threshold", 2e-4);
   my_model.getNonLinearSolver("static").set("max_iterations", 2U);
   my_model.getNonLinearSolver("static").set("convergence_type", _scc_residual);
 
   // model.setDefaultIntegrationScheme("static");
   my_model.initFull();
 
   const Array<Real> & coordinates = my_mesh.getNodes();
   Array<Real> & displacement = my_model.getDisplacement();
   Array<bool> & boundary = my_model.getBlockedDOFs();
   MeshUtils::buildFacets(my_mesh);
 
   my_mesh.createBoundaryGroupFromGeometry();
 
   // Loop over (Sub)Boundar(ies)
   for(GroupManager::const_element_group_iterator it(my_mesh.element_group_begin());
       it != my_mesh.element_group_end(); ++it) {
     for(ElementGroup::const_node_iterator nodes_it(it->second->node_begin());
         nodes_it!= it->second->node_end(); ++nodes_it) {
       UInt n(*nodes_it);
       std::cout << "Node " << *nodes_it << std::endl;
       for (UInt i = 0; i < dim; ++i) {
         displacement(n, i) = alpha[i][0];
         for (UInt j = 0; j < dim; ++j) {
           displacement(n, i) += alpha[i][j + 1] * coordinates(n, j);
         }
         boundary(n, i) = true;
       }
     }
   }
 
   /* ------------------------------------------------------------------------ */
   /* Apply eigenstrain in each element                                          */
   /* ------------------------------------------------------------------------ */
 
 
   Array<Real> & eigengradu_vect = const_cast<Array<Real> &>(my_model.getMaterial(0).getInternal<Real>("eigen_grad_u")(element_type));
   Array<Real>::iterator< Matrix<Real> > eigengradu_it = eigengradu_vect.begin(dim, dim);
   Array<Real>::iterator< Matrix<Real> > eigengradu_end = eigengradu_vect.end(dim, dim);
 
   for (; eigengradu_it != eigengradu_end; ++eigengradu_it) {
     for (UInt i = 0; i < dim; ++i)
       for (UInt j = 0; j < dim; ++j)
         (*eigengradu_it)(i,j) += prescribed_eigengradu(i,j);
   }
   /* ------------------------------------------------------------------------ */
   /* Static solve                                                             */
   /* ------------------------------------------------------------------------ */
   my_model.solveStep();
 
   /* ------------------------------------------------------------------------ */
   /* Checks                                                                   */
   /* ------------------------------------------------------------------------ */
 
 
   Array<Real> & stress_vect = const_cast<Array<Real> &>(my_model.getMaterial(0).getStress(element_type));
 
   Array<Real>::iterator< Matrix<Real> > stress_it = stress_vect.begin(dim, dim);
   Array<Real>::iterator< Matrix<Real> > stress_end = stress_vect.end(dim, dim);
 
   Matrix<Real> presc_stress;
   presc_stress = prescribed_stress<element_type, plane_strain>(prescribed_eigengradu);
 
   Real stress_tolerance = 1e-13;
 
   for (; stress_it != stress_end; ++stress_it) {
     Matrix<Real> & stress = *stress_it;
     Matrix<Real> diff(dim, dim);
 
     diff  = stress;
     diff -= presc_stress;
     Real stress_error = diff.norm<L_inf>() / stress.norm<L_inf>();
 
     if(stress_error > stress_tolerance) {
       std::cerr << "stress error: " << stress_error << " > " << stress_tolerance << std::endl;
       std::cerr << "stress: " << stress << std::endl
                 << "prescribed stress: " << presc_stress << std::endl;
       return EXIT_FAILURE;
     } else {
       std::cerr << "stress error: " << stress_error << " < " << stress_tolerance << std::endl;
     }
 
 
   }
 
 
   finalize();
 
   return EXIT_SUCCESS;
 }
diff --git a/test/test_model/test_solid_mechanics_model/test_solid_mechanics_model_reassign_material.cc b/test/test_model/test_solid_mechanics_model/test_solid_mechanics_model_reassign_material.cc
index 92656fb56..8a0b26cae 100644
--- a/test/test_model/test_solid_mechanics_model/test_solid_mechanics_model_reassign_material.cc
+++ b/test/test_model/test_solid_mechanics_model/test_solid_mechanics_model_reassign_material.cc
@@ -1,222 +1,222 @@
 /**
  * @file   test_solid_mechanics_model_reassign_material.cc
  *
  * @author Aurelia Isabel Cuba Ramos <aurelia.cubaramos@epfl.ch>
  *
  * @date creation: Mon Feb 10 2014
  * @date last modification: Wed Feb 25 2015
  *
  * @brief  test the function reassign material
  *
  * @section LICENSE
  *
  * Copyright  (©)  2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de Lausanne)
  * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
  *
  * Akantu is free  software: you can redistribute it and/or  modify it under the
  * terms  of the  GNU Lesser  General Public  License as  published by  the Free
  * Software Foundation, either version 3 of the License, or (at your option) any
  * later version.
  *
  * Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
  * details.
  *
  * You should  have received  a copy  of the GNU  Lesser General  Public License
  * along with Akantu. If not, see <http://www.gnu.org/licenses/>.
  *
  */
 
 /* -------------------------------------------------------------------------- */
 #include "aka_grid_dynamic.hh"
 #include "material.hh"
 #include "solid_mechanics_model.hh"
 #include "static_communicator.hh"
 using namespace akantu;
 
 class StraightInterfaceMaterialSelector : public MaterialSelector {
 public:
   StraightInterfaceMaterialSelector(SolidMechanicsModel & model,
                                     const std::string & mat_1_material,
                                     const std::string & mat_2_material,
                                     bool & horizontal, Real & pos_interface)
       : model(model), mat_1_material(mat_1_material),
         mat_2_material(mat_2_material), horizontal(horizontal),
         pos_interface(pos_interface) {
     Mesh & mesh = model.getMesh();
     UInt spatial_dimension = mesh.getSpatialDimension();
 
     /// store barycenters of all elements
     mesh.initElementTypeMapArray(barycenters, spatial_dimension,
                                  spatial_dimension);
 
     for (ghost_type_t::iterator gt = ghost_type_t::begin();
          gt != ghost_type_t::end(); ++gt) {
       GhostType ghost_type = *gt;
       Element e;
       e.ghost_type = ghost_type;
 
       Mesh::type_iterator it = mesh.firstType(spatial_dimension, ghost_type);
       Mesh::type_iterator last_type =
           mesh.lastType(spatial_dimension, ghost_type);
       for (; it != last_type; ++it) {
         UInt nb_element = mesh.getNbElement(*it, ghost_type);
         e.type = *it;
         Array<Real> & barycenter = barycenters(*it, ghost_type);
         barycenter.resize(nb_element);
 
         Array<Real>::iterator<Vector<Real>> bary_it =
             barycenter.begin(spatial_dimension);
         for (UInt elem = 0; elem < nb_element; ++elem) {
           e.element = elem;
           mesh.getBarycenter(e, *bary_it);
           ++bary_it;
         }
       }
     }
   }
 
   UInt operator()(const Element & elem) {
     UInt spatial_dimension = model.getSpatialDimension();
     const Vector<Real> & bary = barycenters(elem.type, elem.ghost_type)
                                     .begin(spatial_dimension)[elem.element];
 
     /// check for a given element on which side of the material interface plane
     /// the bary center lies and assign corresponding material
     if (bary(!horizontal) < pos_interface) {
       return model.getMaterialIndex(mat_1_material);
       ;
     }
     return model.getMaterialIndex(mat_2_material);
     ;
   }
 
   bool isConditonVerified() {
 
     /// check if material has been (re)-assigned correctly
     Mesh & mesh = model.getMesh();
     UInt spatial_dimension = mesh.getSpatialDimension();
     GhostType ghost_type = _not_ghost;
 
     Mesh::type_iterator it = mesh.firstType(spatial_dimension, ghost_type);
     Mesh::type_iterator last_type =
         mesh.lastType(spatial_dimension, ghost_type);
     for (; it != last_type; ++it) {
       Array<UInt> & mat_indexes = model.getMaterialByElement(*it, ghost_type);
       UInt nb_element = mesh.getNbElement(*it, ghost_type);
       Array<Real>::iterator<Vector<Real>> bary =
           barycenters(*it, ghost_type).begin(spatial_dimension);
       for (UInt elem = 0; elem < nb_element; ++elem, ++bary) {
         /// compare element_index_by material to material index that should be
         /// assigned due to the geometry of the interface
         UInt mat_index;
         if ((*bary)(!horizontal) < pos_interface)
           mat_index = model.getMaterialIndex(mat_1_material);
         else
           mat_index = model.getMaterialIndex(mat_2_material);
 
         if (mat_indexes(elem) != mat_index)
           /// wrong material index, make test fail
           return false;
       }
     }
     return true;
   }
 
   void moveInterface(Real & pos_new, bool & horizontal_new) {
     /// update position and orientation of material interface plane
     pos_interface = pos_new;
     horizontal = horizontal_new;
     model.reassignMaterial();
   }
 
 protected:
   SolidMechanicsModel & model;
   ElementTypeMapArray<Real> barycenters;
   std::string mat_1_material;
   std::string mat_2_material;
   bool horizontal;
   Real pos_interface;
 };
 
 /* -------------------------------------------------------------------------- */
 /* Main                                                                       */
 /* -------------------------------------------------------------------------- */
 int main(int argc, char * argv[]) {
 
   bool test_passed;
 
   debug::setDebugLevel(dblWarning);
   initialize("two_materials.dat", argc, argv);
 
   /// specify position and orientation of material interface plane
   bool horizontal = true;
   Real pos_interface = 0.;
 
   UInt spatial_dimension = 3;
 
   akantu::StaticCommunicator & comm =
       akantu::StaticCommunicator::getStaticCommunicator();
   akantu::Int psize = comm.getNbProc();
   akantu::Int prank = comm.whoAmI();
 
   Mesh mesh(spatial_dimension);
 
   akantu::MeshPartition * partition = NULL;
   if (prank == 0) {
     /// creation mesh
     mesh.read("cube_two_materials.msh");
 
     partition = new akantu::MeshPartitionScotch(mesh, spatial_dimension);
     partition->partitionate(psize);
   }
 
   /// model creation
   SolidMechanicsModel model(mesh);
-  model.initParallel(partition);
-  delete partition;
+  //model.initParallel(partition);
+  //delete partition;
 
   /// assign the two different materials using the
   /// StraightInterfaceMaterialSelector
   StraightInterfaceMaterialSelector * mat_selector;
   mat_selector = new StraightInterfaceMaterialSelector(
       model, "mat_1", "mat_2", horizontal, pos_interface);
 
   model.setMaterialSelector(*mat_selector);
   model.initFull(SolidMechanicsModelOptions(_static));
   MeshUtils::buildFacets(mesh);
   // model.setBaseName("test_reassign_material");
   // model.addDumpField("element_index_by_material");
   // model.addDumpField("partitions");
   // model.dump();
 
   /// check if different materials have been assigned correctly
   test_passed = mat_selector->isConditonVerified();
   if (!test_passed) {
     AKANTU_DEBUG_ERROR("materials not correctly assigned");
     return EXIT_FAILURE;
   }
 
   /// change orientation of material interface plane
   horizontal = false;
   mat_selector->moveInterface(pos_interface, horizontal);
 
   // model.dump();
 
   /// test if material has been reassigned correctly
   test_passed = mat_selector->isConditonVerified();
   if (!test_passed) {
     AKANTU_DEBUG_ERROR("materials not correctly reassigned");
     return EXIT_FAILURE;
   }
 
   finalize();
 
   if (prank == 0)
     std::cout << "OK: test passed!" << std::endl;
 
   return EXIT_SUCCESS;
 }
 
 /* -------------------------------------------------------------------------- */